(57)【要約】【課題】端末装置にて表示する画面を更新する際に送信又は受信されるデータを低減するとともに、削減されたデータを補うために必要となる処理を効率化することを目的とする。【解決手段】機器１１０の更新データ送信部１２２は、ＨＭＩ画面内でサーバ画面更新部１２１により更新された領域の表示内容を示す更新データを送信する。遠隔端末１３０の端末画面更新部１３７は、更新データ受信部１３６により更新データが受信される度に、任意の順番で描画レイヤオブジェクト１３５を１つ選択し、当該更新データが示す表示内容を、選択した描画レイヤオブジェクト１３５内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させる。そして、選択した描画レイヤオブジェクト１３５が最前面にくるように複数の描画レイヤオブジェクト１３５を重ね合わせて端末画面を更新し、表示装置に出力する。【選択図】図１
2010165152.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置において、
前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データを受信する更新データ受信部と、
前記更新データ受信部により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを１つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新部とを備えることを特徴とする端末装置。
【請求項２】
前記更新データ受信部は、画像を表示可能なサーバ画面を更新し前記サーバ画面内で更新した領域の表示内容を示す更新データを送信するサーバ装置から更新データを受信し、更新データを複数回受信するうちの少なくとも１回、更新データとして、前記サーバ画面全体の表示内容を示す全画面データを受信することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記更新データ受信部は、前記端末画面更新部によるレイヤの選択が一巡する前に少なくとも１回、更新データとして全画面データを受信することを特徴とする請求項２に記載の端末装置。
【請求項４】
画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置と、画像を表示可能なサーバ画面を更新するサーバ装置とを備える画面伝送システムにおいて、
前記サーバ装置は、
前記サーバ画面を更新するサーバ画面更新部と、
前記サーバ画面内で前記サーバ画面更新部により更新された領域の表示内容を示す更新データを生成し、前記端末装置へ、生成した更新データを送信する更新データ送信部とを備え、
前記端末装置は、
前記サーバ装置から、前記更新データ送信部により送信された更新データを受信する更新データ受信部と、
前記更新データ受信部により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを１つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新部とを備えることを特徴とする画面伝送システム。
【請求項５】
前記更新データ受信部は、前記サーバ装置へ、更新データの送信を要求する要求データを送信し、
前記更新データ送信部は、前記端末装置から、前記更新データ受信部により送信された要求データを受信し、要求データを受信する度に、前記端末装置へ更新データを送信し、
前記更新データ送信部は、さらに、前記サーバ画面更新部により前記サーバ画面が更新される度に、前記サーバ画面内で更新された領域の大きさに基づいて、当該領域の表示内容を示す更新データの送信にかかる時間を送信所要時間として計算し、計算した送信所要時間に基づいて、前記端末装置に対し、当該更新データを受信した後で次の要求データを送信するタイミングを指示することを特徴とする請求項４に記載の画面伝送システム。
【請求項６】
前記更新データ送信部は、所定の条件に基づいて、前記端末装置へ、更新データの代わりに、前記サーバ画面内で前記サーバ画面更新部により更新された領域の表示内容に対し所定のサンプリングを行ったサンプリングデータを送信することを特徴とする請求項４又は５に記載の画面伝送システム。
【請求項７】
画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末プログラムにおいて、
前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データを受信する更新データ受信処理と、
前記更新データ受信処理により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを１つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新処理とをコンピュータに実行させることを特徴とする端末プログラム。
【請求項８】
画像を表示可能なサーバ画面を更新するサーバ装置が、前記サーバ画面内で更新した領域の表示内容を示す更新データを送信し、
画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置が、前記サーバ装置から、送信された更新データを受信し、
前記端末装置が、更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを１つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力することを特徴とする画面伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置及び画面伝送システム及び端末プログラム及び画面伝送方法に関するものである。本発明は、特に、ＨＭＩ（Ｈｕｍａｎ・Ｍａｃｈｉｎｅ・Ｉｎｔｅｒｆａｃｅ）画面を持つ機器と、そのＨＭＩ画面を遠隔地からリアルタイムにモニタ、操作するための遠隔端末、及びそれらの２者間のシステムに関するものである。また、本発明は、特に、遠隔端末への変更領域画面伝送方法及び表示方法に関するものである。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ・Ａｕｔｏｍａｔｉｏｎ）やＰＡ（Ｐｒｏｃｅｓｓ・Ａｕｔｏｍａｔｉｏｎ）で使用される機器は一般的に設定項目が多く、エンドユーザが製品を導入した直後から当該製品の機能を使いこなせることは少ない。このためメーカ側のサポートの一貫として、海外等の遠隔地のエンドユーザに使用方法をレクチャーすることが多い。また保守サービスとして、遠隔地の端末からエンドユーザの機器の状態を診断したり障害発生状況を確認したりするケースも多い。このため、機器のＨＭＩ画面を遠隔端末からモニタ、操作したいといった要求がある。
【０００３】
遠隔端末から機器のＨＭＩ画面をモニタ、操作する方法として、従来では遠隔端末であるＰＣ（パーソナルコンピュータ）等に、遠隔モニタ、操作を行うための専用アプリケーションをインストールする必要があり、機器開発メーカ側としては、この専用アプリケーションの開発コストが高くつき、ユーザ側としては無料又は有料で専用アプリケーションのインストールを実施する等の手間がかかっている。さらに伝送データ削減のための新方式やセキュリティ向上等のため、メーカ側の都合により、機器と遠隔端末間のＨＭＩ画面の伝送方式を変更したい場合は、全ての専用アプリケーションのバージョンアップをユーザに強いる必要があり、不便であった。
【０００４】
しかし、現在は様々なプラットフォーム上で動作する汎用表示ツールとして、Ｗｅｂブラウザが普及している。Ｗｅｂブラウザ上での表示処理は、Ｗｅｂサーバが動作する機器に格納されたＪａｖａＳｃｒｉｐｔ（登録商標）やＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ・Ｍａｒｋｕｐ・Ｌａｎｇｕａｇｅ）文書のみによって実現されるため、機器開発メーカ側の都合で、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ・Ｔｒａｎｓｆｅｒ・Ｐｒｏｔｏｃｏｌ）で規定された範囲内において、ＨＭＩ画面の伝送方式の変更が自由であるという利点もある。
【０００５】
また画像データはデータ量が膨大なものとなるため、サイズを低減し、送受信にかかる時間を減らして、トラフィックに影響を与えないようにする方法が考案されている。特にＷｅｂブラウザを用いてＨＴＴＰでの遠隔診断を実施する場合には、Ｗｅｂサーバが動作する機器から送信される画像データのデータ量を削減することによる「伝送路トラフィックの低減」と、Ｗｅｂブラウザからのリクエストタイミングを最適化することによる「伝送路の効率的な使用」の２つの施策によって、Ｗｅｂブラウザ上での表示性能が向上する。
【０００６】
「伝送路トラフィックの低減」に関しては、送信画像データを低減させて、ＨＭＩ画面情報を遠隔端末へ送信する方法として、例えば特許文献１に開示されている方法がある。特許文献１では、第一電子装置がフルスクリーンフレームを第二電子装置へ送信し、後には、フルスクリーンフレームに変更が生じた領域を示す変更矩形を含む少なくとも１つの矩形データを第二電子装置に送信することで、伝送するスクリーンフレームのデータ量を効率的に低減させるとしている。
【０００７】
Ｗｅｂブラウザ上で複数の画像を合成して表示させる方法としては、例えば、特許文献２に開示されている方法がある。特許文献２では、Ｗｅｂブラウザ上にて異なる周期で更新される複数の情報を、１つの表示領域に表示する情報合成手段が提示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３１８４５１号公報
【特許文献２】特開２００１−１２５６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＷＷＷ（Ｗｏｒｌｄ・Ｗｉｄｅ・Ｗｅｂ）において使用されるＨＴＴＰは、Ｗｅｂブラウザが要求を送信してＷｅｂサーバが応答を返す、リクエスト−レスポンス形式の仕組みで動作している。この場合、Ｗｅｂブラウザから送信されるリクエストの時間間隔が、伝送するスクリーンフレームのデータ量と対応していないとあまり意味がない。つまり、特許文献１で開示されている技術では、データ量を低減しても伝送路のトラフィックを低減させて、他の通信に対する影響を削減させるだけであり、対象システム自体の性能を向上させるわけではない。また、遠隔端末のＷｅｂブラウザで、Ｗｅｂサーバが動作する機器のＨＭＩ画面と同じ内容を表示するためには、送信された変更部分の領域画像データを連続的に重ね合わせて表示させていく必要がある。
【００１０】
特許文献２は、ＷｅｂサーバからＨＴＭＬもしくはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ・Ｍａｒｋｕｐ・Ｌａｎｇｕａｇｅ）ドキュメントとして送信された情報に対して、Ｗｅｂブラウザ内でＡｃｔｉｖｅＸ（登録商標）等を利用して情報を加工して、Ｗｅｂブラウザ上に表示すべき画像データを作成し、１つの表示領域に表示する方法であり、本発明の実施の形態として後述するような、Ｗｅｂサーバから送信された画像データそのものを連続して重畳表示する方法としては適さない。また、Ｗｅｂブラウザへ送信される画像データの表示位置と大きさが毎回異なり、なおかつ過去に要求し応答として送信された画像データの手前に半永久的に重畳表示させていく方法については開示されていない。
【００１１】
本発明は、例えば、端末装置にて表示する画面を更新する際に送信又は受信されるデータを削減するとともに、削減されたデータを補うために必要となる処理を効率化することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一の態様に係る端末装置は、
画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置において、
前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データを受信する更新データ受信部と、
前記更新データ受信部により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを１つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新部とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明の一の態様によれば、複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置において、端末画面更新部が、前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを１つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新することにより、前記端末画面を更新する際に送信又は受信されるデータを削減するとともに、削減されたデータを補うために必要となる処理（更新前のデータと更新後のデータとを合成する処理）を効率化することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１における画面伝送システムの構成を示すブロック図である。
【図２】実施の形態１における機器、遠隔端末のハードウェア構成の一例を示す図である。
【図３】実施の形態１における描画領域履歴から更新領域を計算する方法を示した図である。
【図４】実施の形態１におけるＷｅｂブラウザ上で更新領域を連続重畳表示させる方法を示した図である。
【図５】実施の形態１における画面更新リクエストの間隔を一定にした場合のフロー図（１リクエスト）である。
【図６】実施の形態１における画面更新リクエストの間隔を可変にした場合のフロー図（１リクエスト）である。
【図７】実施の形態１における画面更新リクエストの間隔を一定にした場合のフロー図（２リクエスト）である。
【図８】実施の形態１における画面更新リクエストの間隔を可変にした場合のフロー図（２リクエスト）である。
【図９】実施の形態１における画面更新リクエスト間隔時間の決定方法を示したフロー図（１リクエスト）である。
【図１０】実施の形態１における画面更新リクエスト間隔時間の決定方法を示したフロー図（２リクエスト）である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図を用いて説明する。
【００１６】
実施の形態１．
図１は、本実施の形態に係る画面伝送システム１００の構成を示すブロック図である。
【００１７】
図１において、画面伝送システム１００は、遠隔監視の対象となるＨＭＩ画面を持つ機器１１０と、機器１１０のＨＭＩ画面を監視する遠隔端末１３０（端末装置の一例）とを備える。
【００１８】
機器１１０は、画像を表示可能なサーバ画面（ＨＭＩ画面）を更新するサーバ装置の一例であり、サーバ画面更新部１２１と更新データ送信部１２２とを備える。
【００１９】
機器１１０のサーバ画面更新部１２１は、機器１１０本体の主制御部１１４と、機器１１０に付属するキーやタッチパネル等の入力装置からの入力情報を処理する入力コマンド処理部１１３と、そのコマンドを待ち行列として保持しておく入力コマンドイベントキュー１１１と、機器１１０のＨＭＩ表示を行うＨＭＩ画面描画部１１５と、機器１１０が具備するＶＲＡＭ（Ｖｉｄｅｏ・Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）に格納されるＨＭＩ画面データ１１６とを有している。また、機器１１０のサーバ画面更新部１２１は、ＨＭＩ画面描画部１１５により描画が行われた領域を記録しておく描画領域履歴データ１１２を持っている。
【００２０】
機器１１０のサーバ画面更新部１２１は、上記の各部を利用して、ＨＭＩ画面を更新する。
【００２１】
機器１１０の更新データ送信部１２２は、ＨＭＩ画面をキャプチャするための画面キャプチャ処理部１１８を有している。また、機器１１０の更新データ送信部１２２には通信機能として、ＨＴＴＰサーバ機能部１１９が搭載されており、遠隔端末１３０であるＨＴＴＰクライアントからのリクエストを処理するＣＧＩ（Ｃｏｍｍｏｎ・Ｇａｔｅｗａｙ・Ｉｎｔｅｒｆａｃｅ）プログラム１１７が動作している。ＨＴＴＰサーバ機能部１１９やＣＧＩプログラム１１７は、具体的には機器１１０で動作するＷｅｂサーバに実装されるものである。また、機器１１０の更新データ送信部１２２は、クライアントからアクセスされたタイミングで遠隔端末１３０のＷｅｂブラウザへ送信されるＨＴＭＬドキュメントや遠隔表示処理のためのＪａｖａＳｃｒｉｐｔであって、機器１１０が具備する記憶装置に格納されるＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント１２０を有している。
【００２２】
機器１１０の更新データ送信部１２２は、上記の各部を利用して、更新データを生成し、遠隔端末１３０へ、生成した更新データを送信する。ここで、更新データとは、ＨＭＩ画面内でサーバ画面更新部１２１により更新された領域の表示内容を示すデータであり、例えば、ＨＭＩ画面内における当該領域の位置を示す座標データや当該領域内の画素データ群を含むものである。
【００２３】
一方、遠隔端末１３０は、画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面（ブラウザ画面）を出力する端末装置の一例であり、更新データ受信部１３６と端末画面更新部１３７とを備える。
【００２４】
遠隔端末１３０の更新データ受信部１３６には、ＨＴＴＰクライアント機能部１３１が搭載されている。ＨＴＴＰクライアント機能部１３１は、具体的には遠隔端末１３０で動作するＷｅｂブラウザに実装されるものである。
【００２５】
遠隔端末１３０の更新データ受信部１３６は、上記のＨＴＴＰクライアント機能部１３１を利用して、機器１１０から、更新データ送信部１２２により送信された更新データを受信する。
【００２６】
遠隔端末１３０の端末画面更新部１３７は、Ｗｅｂサーバから取得したＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント１２０を一時的に格納しておくＨＴＭＬキャッシュ１３４と、ＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント１２０を解析・処理するＨＴＭＬ／ＪａｖａＳｃｒｉｐｔ解析部１３２と、複数の描画レイヤオブジェクト１３５（複数のレイヤの一例）を使用してブラウザ上に画像オブジェクト等を表示するブラウザ表示処理部１３３を有している。ＨＴＭＬ／ＪａｖａＳｃｒｉｐｔ解析部１３２やブラウザ表示処理部１３３も、遠隔端末１３０で動作するＷｅｂブラウザに実装されるものである。
【００２７】
遠隔端末１３０の端末画面更新部１３７は、更新データ受信部１３６により更新データが受信される度に、まず、複数の描画レイヤオブジェクト１３５から任意の順番で描画レイヤオブジェクト１３５を１つ選択する。次に、端末画面更新部１３７は、選択した描画レイヤオブジェクト１３５内で、更新データ受信部１３６により受信された更新データが表示内容を示す領域に対応する領域を特定する。例えば、端末画面更新部１３７は、更新データに含まれる座標データを参照して、選択した描画レイヤオブジェクト１３５内で同じ位置にある領域を特定する。次に、端末画面更新部１３７は、更新データ受信部１３６により受信された更新データが示す表示内容を、特定した描画レイヤオブジェクト１３５内の領域に表示させる。例えば、端末画面更新部１３７は、更新データに含まれる全ての画素データを、特定した領域に表示させる。次に、端末画面更新部１３７は、選択した描画レイヤオブジェクト１３５が前回選択された描画レイヤオブジェクト１３５より前面にくるように上記複数の描画レイヤオブジェクト１３５を重ね合わせてブラウザ画面を更新する。このとき、端末画面更新部１３７は、後述するように、選択した描画レイヤオブジェクト１３５を単に最前面に移動することにしてもよい。最後に、端末画面更新部１３７は、更新したブラウザ画面を表示装置に出力する。
【００２８】
遠隔端末１３０のＨＴＴＰクライアント機能部１３１から機器１１０のＨＴＴＰサーバ機能部１１９に対してはＨＴＴＰリクエスト１４１が送信され、それに対する応答としてＨＴＴＰレスポンス１４２が返信される。
【００２９】
遠隔端末１３０の更新データ受信部１３６は、機器１１０へ、更新データの送信を要求する要求データをＨＴＴＰリクエスト１４１の１つとして送信する。機器１１０の更新データ送信部１２２は、遠隔端末１３０から、更新データ受信部１３６により送信された要求データを受信し、この要求データに応じて、遠隔端末１３０へ更新データをＨＴＴＰレスポンス１４２として送信する。更新データ送信部１２２は、要求データを受信する度に、遠隔端末１３０へ更新データを送信する。
【００３０】
本実施の形態では、機器１１０の更新データ送信部１２２は、更新データを複数回送信するうちの少なくとも１回、更新データとして全画面データを送信する。そのため、遠隔端末１３０の更新データ受信部１３６は、機器１１０から更新データを複数回受信するうちの少なくとも１回、更新データとして全画面データを受信することになる。ここで、全画面データとは、ＨＭＩ画面全体の表示内容を示すデータであり、例えば、ＨＭＩ画面内の全画素データ群を含むものである。
【００３１】
遠隔端末１３０の更新データ受信部１３６は、描画レイヤオブジェクト１３５の数と等しい回数更新データを受信するうちの少なくとも１回、更新データとして全画面データを受信することが望ましい。つまり、更新データ受信部１３６は、端末画面更新部１３７による描画レイヤオブジェクト１３５の選択が一巡する前に少なくとも１回、更新データとして全画面データを受信することが望ましい。例えば、更新データ受信部１３６は、最初に全画面データを受信し、その後、端末画面更新部１３７による描画レイヤオブジェクト１３５の選択が一巡したら、再度全画面データを受信するようにすればよい。
【００３２】
また、本実施の形態では、機器１１０の更新データ送信部１２２は、さらに、サーバ画面更新部１２１によりＨＭＩ画面が更新される度に、ＨＭＩ画面内で更新された領域の大きさに基づいて、当該領域の表示内容を示す更新データの送信にかかる時間を送信所要時間として計算する。後述するように、更新データ送信部１２２は、計算した送信所要時間に基づいて、遠隔端末１３０に対し、当該更新データを受信した後で次の要求データを送信するタイミングを指示してもよい。この場合、更新データ送信部１２２は、更新データを含むＨＴＴＰレスポンス１４２を送信する際に、そのＨＴＴＰレスポンス１４２に次の要求データを送信すべき時刻等を遠隔端末１３０に指示するデータを付加する。
または機器１１０からは更新データサイズのみを送信し、遠隔端末１３０側で更新データサイズから次の更新データ要求タイミングを計算してもよい。
【００３３】
また、本実施の形態では、機器１１０の更新データ送信部１２２は、後述する所定の条件に基づいて、遠隔端末１３０へ、更新データの代わりに、ＨＭＩ画面内でサーバ画面更新部１２１により更新された領域の表示内容に対し所定のサンプリングを行ったサンプリングデータを送信してもよい。
【００３４】
なお、本実施の形態は、遠隔端末１３０の更新データ受信部１３６が機器１１０以外から更新データを受信する場合にも適用可能である。
【００３５】
図２は、遠隔端末１３０のハードウェア構成の一例を示す図である。
【００３６】
図２において、遠隔端末１３０は、それぞれコンピュータであり、ＬＣＤ９０１（Ｌｉｑｕｉｄ・Ｃｒｙｓｔａｌ・Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ９０６といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。ＬＣＤ９０１の代わりに、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）、あるいは、その他の表示装置が用いられてもよい。マウス９０３の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
【００３７】
遠隔端末１３０は、それぞれプログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、処理装置の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、ＬＣＤ９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ９０６、ＨＤＤ９２０（Ｈａｒｄ・Ｄｉｓｋ・Ｄｒｉｖｅ）と接続され、これらのハードウェアデバイスを制御する。ＨＤＤ９２０の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。
【００３８】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、ＨＤＤ９２０は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５は、入力装置の一例である。また、通信ボード９１５、ＬＣＤ９０１、プリンタ９０６は、出力装置の一例である。
【００３９】
通信ボード９１５は、ＬＡＮ（Ｌｏｃａｌ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）等に接続されている。通信ボード９１５は、ＬＡＮに限らず、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークといったＷＡＮ（Ｗｉｄｅ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）、あるいは、インターネットに接続されていても構わない。ＬＡＮ、ＷＡＮ、インターネットは、ネットワークの一例である。
【００４０】
ＨＤＤ９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、ＣＰＵ９１１により読み出され実行される。ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ＲＡＭ９１４やＨＤＤ９２０等の記憶媒体に記憶される。ＲＡＭ９１４やＨＤＤ９２０等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理（動作）に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００４１】
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、ＲＡＭ９１４等のメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、ＨＤＤ９２０の磁気ディスク、光ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）、あるいは、その他の記録媒体に記録される。また、データや信号は、バス９１２、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
【００４２】
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００４３】
図３は、「伝送路トラフィックの低減」のために、送信画像データを低減させてＨＭＩ画面情報を遠隔端末１３０へ送信する方法を表した図である。
【００４４】
図３では、遠隔端末１３０上のＷｅｂブラウザ２１０と、ＨＭＩ画面２４０を持つ機器１１０側の各処理である、キャプチャ処理２２０（画面キャプチャ処理部１１８によって実行される）と、描画処理２３０（ＨＭＩ画面描画部１１５によって実行される）と、それによって描画されるＨＭＩ画面２４０の様子を時系列で示している。Ｗｅｂブラウザ２１０からキャプチャ処理２２０に対して画面キャプチャ要求Ａ２１１、Ａ２１２、Ａ２１３、Ａ２１４（いずれもＨＴＴＰリクエスト１４１）が送信されている。一方描画処理２３０ではこれと非同期に、ＨＭＩ画面２４０に対して描画コマンドＣ２３１、Ｃ２３２、Ｃ２３３、Ｃ２３４が実施されている。図３の例では、Ｃ２３１は矩形描画、Ｃ２３２は円描画、Ｃ２３３は三角形描画、Ｃ２３４は矩形消去である。ＨＭＩ画面２４０は、初期状態はＤ２４１であり、以後描画コマンドＣ２３１、Ｃ２３２、Ｃ２３３、Ｃ２３４によってそれぞれＤ２４２、Ｄ２４３、Ｄ２４４、Ｄ２４５の画面に変更されている。
【００４５】
図３において、Ａ２１１、Ａ２１２、Ａ２１３、Ａ２１４は、要求データの例である。Ｂ２２１は、全画面データによって示される、ＨＭＩ画面２４０全体の表示内容の例である。Ｂ２２２、Ｂ２２３、Ｂ２２４は、更新データによって示される、ＨＭＩ画面２４０内でサーバ画面更新部１２１により更新された領域の表示内容の例である。
【００４６】
以下に画面キャプチャ要求から、画像データ送信までのフローについて説明する。ここでは、画面キャプチャ要求Ａ２１３が送信される場合について説明する。
【００４７】
まず、Ｗｅｂブラウザ２１０より画面キャプチャ要求Ａ２１３が機器１１０のキャプチャ処理２２０にＨＴＴＰリクエスト１４１として送信される。キャプチャ処理２２０は、前回の画面キャプチャ処理要求Ａ２１２の受信から今回の要求Ａ２１３受信時点までの期間にわたり、描画処理２３０によってＨＭＩ画面２４０に描かれた描画領域を取得する。この例の場合では、この期間中に描画コマンドＣ２３２の円の描画によってＨＭＩ画面２４０がＤ２４３の状態になり、引き続いて描画コマンドＣ２３３の三角形の描画によってＨＭＩ画面２４０がＤ２４４の状態となっている。
【００４８】
次にキャプチャ処理２２０は、これらＣ２３２とＣ２３３の２つの描画コマンドによって描画された描画領域を含む最小の矩形領域Ｂ２２３を座標計算によって決定し、この領域を対象にＨＭＩ画面２４０のキャプチャを行う。キャプチャ結果の画像データはＨＴＴＰレスポンス１４２としてＷｅｂブラウザ２１０へ送信される。なお、このとき、Ｃ２３２とＣ２３３の２つの描画コマンドによって描画された領域を別々にキャプチャしてＷｅｂブラウザ２１０へ送信してもよい。この場合は、画像キャプチャ要求とは別に、予めＷｅｂブラウザ２１０から画面変更領域取得リクエストを送信し、これへのレスポンスとして複数の領域に対してキャプチャを行うようにキャプチャ処理２２０へ促す。
【００４９】
キャプチャ処理２２０はＨＭＩ画面２４０の全てのピクセル（画素）をキャプチャする通常の方法のほかに、対象となる領域のピクセル数が予め設定された閾値以上の場合（所定の条件の一例）、又は機器１１０と遠隔端末１３０との通信状態と画面キャプチャ要求を行ったＷｅｂブラウザ２１０の表示性能を鑑みて、これらの性能（例えば通信速度や表示速度）が予め設定された閾値以下の場合（所定の条件の一例）には、ＨＭＩ画面２４０の縦Ｍピクセル（Ｍは２以上の整数）、横Ｎピクセル（Ｎは２以上の整数）の領域で１ピクセルの割合で、間引いてキャプチャを行う（例えば、２×２ピクセルにつき対角線上の２ピクセルしかキャプチャしない）方法もある。
【００５０】
なお、遠隔端末１３０上のＷｅｂブラウザ２１０で正しい位置への表示を行うためには、送信した画像データのＨＭＩ画面２４０内での表示位置（ＸＹ座標）もＷｅｂブラウザ２１０へ送信する必要があるが、これは、画面キャプチャ要求とは別に、予めＷｅｂブラウザ２１０から画面変更領域取得リクエストを送信し、これへのレスポンス（座標データの一例）としてＷｅｂブラウザ２１０へ通知しておいてもよいし、画像データ送信時のＨＴＴＰヘッダ内にＣｏｏｋｉｅ情報等として座標情報（座標データの他の一例）を入れて画像データ送信と同時に通知してもよい。ここで前者を２リクエスト方式、後者を１リクエスト方式と呼ぶ。
【００５１】
また、前回の画面キャプチャ要求受信から今回の画面キャプチャ要求受信までの期間に描画が行われていない場合は、ＨＭＩ画面２４０に更新がないため、空のＨＴＴＰレスポンス１４２がＷｅｂブラウザ２１０へ返される。
【００５２】
また図３において定期的に、Ｗｅｂブラウザ２１０より全画面キャプチャ要求Ａ２１１が機器１１０のキャプチャ処理２２０にＨＴＴＰリクエスト１４１として送信される。この場合は、前回キャプチャ要求からの描画処理如何に関わらず、全画面キャプチャ要求受信時点のＨＭＩ画面２４０の全画面キャプチャを行い、結果の画像データＢ２２１をＷｅｂブラウザ２１０へ送信する。
【００５３】
次に、遠隔端末１３０にて、送信された領域画像データを表示する方法について説明する。
【００５４】
図４は、Ｗｅｂブラウザ２１０上で複数の画像を重ね合わせて表示させる方法を表した図である。
【００５５】
Ｗｅｂブラウザ２１０では有限数（図４では説明のため４枚としている）の描画レイヤオブジェクト１３５を重ね合わせて表示させることができる。図４では最背面に描画レイヤオブジェクト１３５であるＥ２０１が全画面で表示され、その前面のＥ２０２で白い矩形、Ｅ２０３で白い円と三角形、Ｅ２０４で矩形の消去（背景と同じ色の矩形を描画することに相当する）の順で描画レイヤオブジェクト１３５が重畳表示されている。この結果、図４の時点ではＷｅｂブラウザ２１０上には色付きの背景に白い円と三角形が描画されているように見える。これは図３におけるＨＭＩ画面２４０のＤ２４５と同じ状態である。
【００５６】
以下にＷｅｂブラウザ２１０での画像データの重畳表示方法について説明する。
【００５７】
図３で示したようにＷｅｂブラウザ２１０からの画面キャプチャ要求Ａ２１１、Ａ２１２、Ａ２１３、Ａ２１４に対して、キャプチャ処理２２０から画像データＢ２２１、Ｂ２２２、Ｂ２２３、Ｂ２２４を順に受信しているケースを考える。
【００５８】
まず、キャプチャ処理２２０からの最初の画像データＢ２２１の受信が完了すると、この画像データがＷｅｂブラウザ２１０の最背面に表示されている描画レイヤオブジェクト１３５であるＥ２０１に読み込まれ、最前面へ移動されると同時に表示される（Ｆ２１１）。同様に、次の画像データＢ２２２の受信が完了すると、描画レイヤオブジェクト１３５であるＥ２０２に読み込まれて、最前面へ移動、表示される（Ｆ２１２）。このようにして、送信された画像データは毎回最背面にある描画レイヤオブジェクト１３５に割り当てられ、画像データの受信が完了したタイミングで、最前面に移動して表示されていくことで、受信した画像データが常に最前面に表示されて、かつ受信した画像データに含まれていない（遠隔地の機器１１０のＨＭＩ画面２４０で更新されていない）領域は過去の画像データが見えたままになっているため、Ｗｅｂブラウザ２１０（ブラウザ画面）を見るユーザに対して、常に最新のＨＭＩ画面２４０を遠隔表示できることになる。
【００５９】
図４の例では描画レイヤオブジェクト１３５が４枚しかないため、Ｅ２０４の描画レイヤオブジェクト１３５が最前面に移動、表示された後は、最背面にある描画レイヤオブジェクト１３５であるＥ２０１を再使用する必要が生じる。この際、Ｅ２０４の移動・表示と同様に、機器１１０のＨＭＩ画面２４０側で変更があった領域のみを画像データとして受信し、描画レイヤオブジェクト１３５であるＥ２０１に割り当てて移動・表示を行うと（Ｆ２１５）、過去表示されていた全画面の背景の情報が消え、近々の４回分の更新領域のみが表示され、残りは空白の重畳表示になってしまう。
【００６０】
このため、前述したように、描画レイヤオブジェクト数に１度は、必ず全画面の画像データを受信する必要がある。この方法としては、上記の例に示したように、描画レイヤオブジェクト数ごとに必ず１度の全画面更新要求をＷｅｂブラウザ２１０からリクエストする方法や、毎回の画面キャプチャ要求に対するレスポンスで返ってくる画像データの大きさをＷｅｂブラウザ２１０側で確認しておき、最後の全画面データが送られてから、描画レイヤオブジェクト数ごとに全画面キャプチャ要求を送出する方法をとる。
【００６１】
次に「伝送路の効率的な使用」のための画面更新リクエスト間隔時間の決定方法とその効果について、１リクエスト方式と２リクエスト方式それぞれに分けて述べる。
【００６２】
図５は、１リクエスト方式における、Ｗｅｂブラウザ３１０からの画面更新リクエスト送信（Ａ３１１、Ａ３１２、Ａ３１３、Ａ３１４、Ａ３１５）とＷｅｂサーバ３２０からの画像データ送信（Ｂ３２１、Ｂ３２２、Ｂ３２３、Ｂ３２４、Ｂ３２５）の例を時系列に表した図である。この図ではＷｅｂブラウザ３１０からのリクエストは等時間間隔で送信されている。
【００６３】
図５は、まずＡ３１１のリクエストにより画面全体の画像（Ｂ３２１）が送信され、以後のＡ３１２、Ａ３１３、Ａ３１４、Ａ３１５のリクエストに対しては、画面内の一部のみの更新であるため、送信データ量（Ｂ３２２、Ｂ３２３、Ｂ３２４、Ｂ３２５）が少なくなっていることを表現している。この例では、Ｂ３２２、Ｂ３２３、Ｂ３２４、Ｂ３２５の各レスポンスの間はＷｅｂブラウザ３１０とＷｅｂサーバ３２０間の伝送路上の送信データ量が少なく効率が悪い。これはＷｅｂブラウザ３１０からの画面更新リクエストが定期的に送信されているためである。
【００６４】
図６は図５と同一条件の下で、Ｗｅｂブラウザ４１０からの画面更新要求タイミングを動的に決定、変更している場合の例を示した図である。
【００６５】
Ｗｅｂサーバ４２０からのレスポンスＢ４２１、Ｂ４２２、Ｂ４２３、Ｂ４２４の一点破線部分においてＷｅｂサーバ４２０では、送信すべき画像データのサイズが判明している。このため、このデータサイズから、Ｗｅｂブラウザ４１０による次のリクエスト送信までの時間間隔を計算し、Ｗｅｂブラウザ４１０側へ指定することで、Ｗｅｂブラウザ４１０での画面更新間隔を短くし、伝送路の使用効率も向上できる。
【００６６】
図７は、２リクエスト方式における、Ｗｅｂブラウザ５１０からの画面更新リクエスト送信（Ａ５１１、Ａ５１２、Ａ５１３、Ａ５１４、Ａ５１５）とＷｅｂサーバ５２０からの画像データ送信（Ｂ５２１、Ｂ５２２、Ｂ５２３、Ｂ５２４、Ｂ５２５）の例を時系列に表した図である。この図ではＷｅｂブラウザ５１０からのリクエストは等時間間隔で送信されている。
【００６７】
図７では、まずＡ５１１の画面更新領域要求（ＨＴＴＰリクエスト１４１）により、Ｗｅｂサーバ５２０にて更新されている領域の位置と大きさが算出されて、その領域の座標と大きさがレスポンスＣ５２６（ＨＴＴＰレスポンス１４２）によってＷｅｂブラウザ５１０に返される。Ｗｅｂブラウザ５１０ではこれを基に画像データ要求Ｄ５２７（ＨＴＴＰリクエスト１４１）を送信する。Ｗｅｂサーバ５２０ではＤ５２７（ＨＴＴＰリクエスト１４１）で指定された領域の範囲をキャプチャしてレスポンスＢ５２１（ＨＴＴＰレスポンス１４２）にて画像データを送信する。Ａ５１２、Ａ５１３、Ａ５１４、Ａ５１５も同様である。この例の場合も図５の例と同じく、Ｗｅｂブラウザ５１０とＷｅｂサーバ５２０間の伝送路上の負荷が低く効率が悪い。
【００６８】
図８は、図７と同一条件の下で、Ｗｅｂブラウザ６１０からの画面更新要求タイミングを動的に決定、変更している場合の例を示した図である。
【００６９】
２リクエスト方式の最初の画面更新領域要求に対するＷｅｂサーバ６２０からのレスポンスＣ６２６、その後のレスポンスＣ６２７、Ｃ６２８、Ｃ６２９、Ｃ６３０（一点破線部分）においてＷｅｂサーバ６２０では、Ｂ６２１、Ｂ６２２、Ｂ６２３、Ｂ６２４、Ｂ６２５で送信すべき画像データのサイズが判明している。このため、このデータサイズから、Ｗｅｂブラウザ６１０による次のリクエスト送信までの時間間隔を計算し、Ｗｅｂブラウザ６１０側へ指定することで、Ｗｅｂブラウザ６１０での画面更新間隔を短くし、伝送路の使用効率も向上できる。
【００７０】
以降に、図１に示した画面伝送システム１００の動作について順を追って説明する。
【００７１】
まず遠隔端末１３０の利用者が、Ｗｅｂブラウザから遠隔診断対象となる機器１１０で動作しているＨＴＴＰサーバ機能部１１９のアドレスにアクセスする。そうするとサーバ内のＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント１２０が遠隔端末１３０のＨＴＭＬキャッシュ１３４へ格納される。次にこのＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント１２０はＨＴＭＬ／ＪａｖａＳｃｒｉｐｔ解析部１３２で解析されてスクリプトが実行される。
【００７２】
ＪａｖａＳｃｒｉｐｔには、Ａｊａｘ（Ａｓｙｎｃｈｒｏｎｏｕｓ・ＪａｖａＳｃｒｉｐｔ・ａｎｄ・ＸＭＬ）技術を使用して、サーバ側の処理とは非同期に、ある時間間隔Ｔをおいてサーバに対して画面更新リクエストを発生させている。このときのＴの値は、後述する図９あるいは図１０に示されているように、サーバから遠隔端末１３０へ送信されるデータ量によって動的に変更させることができる。また画面更新リクエストには全画面更新と描画領域のみの更新であるかを、リクエストのパラメータとして指定できる。
【００７３】
一方、機器１１０では通常（特に機器１１０が制御する駆動系システムのモニタ時等）は、主制御部１１４からの指令により、ＨＭＩ画面描画部１１５は常にＨＭＩ画面データ１１６に対して描画を行っている。この描画コマンドとその描画対象領域の情報は逐次描画領域履歴データ１１２に格納されている。
【００７４】
以降、１リクエスト方式の場合と２リクエスト方式の場合について分けて記載する。
【００７５】
１リクエスト方式の場合、遠隔端末１３０のＷｅｂブラウザからの画面データ要求を受け付けた、機器１１０のＨＴＴＰサーバ機能部１１９は、リクエストハンドラであるＣＧＩプログラム１１７をコールする。対応するＣＧＩプログラム１１７は、その画面データ要求が全画面対象であるか、描画領域のみの対象であるかをＣＧＩコールのパラメータで判断する。全画面であれば、画面キャプチャ処理部１１８に対してキャプチャを依頼する。
【００７６】
描画領域のみが対象である場合は、画面キャプチャ処理部１１８はＨＭＩ画面描画部１１５が保持する描画領域履歴データ１１２を参照し、前回のリクエスト時からの累積された描画領域を含む、最小の領域の座標を算出する。次に算出された領域部分のキャプチャを行う。
【００７７】
なお、このキャプチャ領域の矩形情報から、後の送信画像データ量が分かり、データ量から、Ｗｅｂブラウザから送信する次回のキャプチャタイミングを計算できる。
【００７８】
図９は、「伝送路の効率的な使用」のための、１リクエスト方式の場合における、画面データ要求間隔時間の決定方法を示した図である。
【００７９】
前述したように、Ｗｅｂブラウザ７１０は遠隔端末１３０で動作し、Ｗｅｂサーバ７２０は機器１１０で動作するものである。Ａ７１１とＡ７１２を画面データ要求、Ｂ７２１とＢ７２５を画面更新領域確定処理、Ｃ７２２とＣ７２６を画面キャプチャ処理、Ｄ７２３とＤ７２７を次回リクエストまでの時間間隔指定レスポンス、Ｅ７２４とＥ７２８を画面データ送信処理とする。
【００８０】
この図の例におけるＷｅｂブラウザ７１０とＷｅｂサーバ７２０間の伝送遅延時間をαとする。また画面更新領域確定処理Ｂ７２１及びＢ７２５にかかる時間をΔａとする。また画面キャプチャ処理Ｃ７２２及びＣ７２６にかかる時間をそれぞれΔｂ１、Δｂ２とする。さらに画面データ送信Ｅ７２４にかかる時間をｄとする。
【００８１】
図９での１回目の画面データ要求Ａ７１１と２回目の画面データ要求Ａ７１２との間隔は、画面データ送信Ｅ７２４の完了直後に次の画面データ送信Ｅ７２８が開始されるように指定されることで、伝送路の効率が最大となる。以下でこのときのＷｅｂブラウザ７１０でのレスポンスＤ７２３受信とリクエストＡ７１２送信の間隔の定式化を行う。
【００８２】
画面データ要求の時間間隔は、Ｗｅｂサーバ７２０からのレスポンスであるＤ７２３によってＷｅｂブラウザ７１０へ指定される。このとき指定される値は、レスポンスＤ７２３がＷｅｂブラウザ７１０によって解釈されるタイミングからの時間である必要があるため、図９のＦ７２９の範囲の時間が分かればよいことになる。
【００８３】
以上の条件から次の式（１）が成り立つ。
式（１）：Ｆ７２９＋Ａ７１２＋Ｂ７２５＋Ｃ７２６＝Ｅ７２４−Ｄ７２３
【００８４】
Ｆ７２９の時間をｘと置いて変数を割り当てると、次の式（２）となる。
式（２）：ｘ＋α＋Δａ＋Δｂ２＝ｄ−α
【００８５】
よって、次の式（３）となる。
式（３）：ｘ＝ｄ−２α−Δａ−Δｂ２
【００８６】
ここで、この計算式を処理するＷｅｂサーバ７２０はＢ７２１の時点ではΔｂ２の値は予測不可能であるため、Δｂ２＝Δｂ１と考え、さらに、画面更新領域確定処理（Ｂ７２１とＢ７２５）は無視できる程の時間で完了するため、Δａ＝０と考えると、次の式（４）となる。
式（４）：ｘ＝ｄ−２α−Δｂ１
【００８７】
また、画面データ送信時間ｄの値（送信所要時間の一例）は送信データ量に比例し、送信データ量は原則的に画面更新領域確定処理（Ｂ７２１とＢ７２５）で判明する更新領域の面積に比例するため、予め過去の送信状況からこの比例係数を求めておくことができる。
【００８８】
したがって、Ｗｅｂサーバ７２０では、Ｂ７２１の処理中にｄ−２α−Δｂ１の値を計算してレスポンスＤ７２３にてＷｅｂブラウザ７１０へ送信し、このレスポンスがＷｅｂブラウザ７１０で解釈されてからｄ−２α−Δｂ１後に次の画面データ要求Ａ７１２が送信されることで、伝送路を効率的に使用した画面データの送受信が可能となる。
【００８９】
図１の画面キャプチャ処理部１１８では、以上の方法で計算された次の画面データ要求までの時間間隔情報と、キャプチャ結果による画像データがＷｅｂブラウザ側へレスポンスとして返される。この際、前者の時間間隔情報は画像データのＨＴＴＰヘッダあるいはＣｏｏｋｉｅとして渡される。
【００９０】
遠隔端末１３０のＷｅｂブラウザでは、ＨＴＭＬキャッシュ１３４内のＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント１２０が解析されて実行されることで、ブラウザ表示処理部１３３は、渡された画像データを描画レイヤオブジェクト１３５の最背面のオブジェクトに割り当て、最前面に移動してから表示する。さらにＨＴＴＰヘッダ等で渡された時間間隔を基に、次の画像データ要求の送信タイミングをＨＴＭＬキャッシュ１３４内のＨＴＭＬドキュメントを変更することで動的に変更している。
【００９１】
以上のフローによって、機器１１０と遠隔端末１３０間で画像データの送受信と表示が実現できる。
【００９２】
一方２リクエスト方式の場合、遠隔端末１３０のＷｅｂブラウザからの画面更新リクエストを受け付けた、機器１１０のＨＴＴＰサーバ機能部１１９は、リクエストハンドラであるＣＧＩプログラム１１７をコールする。対応するＣＧＩプログラム１１７は、その画面更新リクエストが全画面更新であるか、描画領域のみの更新であるかをＣＧＩコールのパラメータで判断する。全画面更新であれば、キャプチャすべき範囲は全画面固定であるため、領域計算は行わない。描画領域のみが対象である場合は、画面キャプチャ処理部１１８はＨＭＩ画面描画部１１５が保持する描画領域履歴データ１１２を参照し、前回のリクエスト時からの累積された描画領域を含む、最小の領域の座標を算出する。
【００９３】
なお、この領域の矩形情報から、後の送信画像データ量が分かり、データ量から、Ｗｅｂブラウザから送信する次回のキャプチャタイミングを計算できる。
【００９４】
図１０は、「伝送路の効率的な使用」のための、２リクエスト方式の場合における、画面更新リクエスト間隔時間の決定方法を示した図である。
【００９５】
前述したように、Ｗｅｂブラウザ８１０は遠隔端末１３０で動作し、Ｗｅｂサーバ８２０は機器１１０で動作するものである。また、Ａ８１１とＡ８１３を画面更新領域要求、Ｂ８２１とＢ８２５を画面更新領域確定処理、Ｃ８２２とＣ８２６を画面更新領域通知及び次回リクエストまでの時間間隔指定、Ｄ８１２とＤ８１４を画面データ要求、Ｅ８２３とＥ８２７を画面キャプチャ処理、Ｆ８２４とＦ８２８を画面データ送信処理とする。
【００９６】
今、この図の例におけるＷｅｂブラウザ８１０とＷｅｂサーバ８２０間の伝送遅延時間をαとする。また画面更新領域確定処理Ｂ８２１及びＢ８２５にかかる時間をΔａとする。また画面キャプチャ処理Ｅ８２３及びＥ８２７にかかる時間をそれぞれΔｂ１、Δｂ２とする。さらに画面データ送信Ｆ８２４にかかる時間をｄとする。
【００９７】
図１０での１回目の画面更新領域要求Ａ８１１と２回目の画面更新領域要求Ａ８１３との間隔は、画面データ送信Ｆ８２４の完了直後に次の画面データ送信Ｆ８２８が開始されるように指定されることで、伝送路の効率が最大となる。以下でこのときのＷｅｂブラウザ８１０でのレスポンスＣ８２２受信とリクエストＡ８１３送信の間隔の定式化を行う。
【００９８】
画面更新領域要求の時間間隔は、Ｗｅｂサーバ８２０からの最初のレスポンスであるＣ８２２によってＷｅｂブラウザ８１０へ指定される。このとき指定される値は、レスポンスＣ８２２がＷｅｂブラウザ８１０によって解釈されるタイミングからの時間である必要があるため、図１０のＧ８２９の範囲の時間が分かればよいことになる。
【００９９】
以上の条件から次の式（１）が成り立つ。
式（１）：Ｇ８２９＋Ａ８１３＋Ｂ８２５＋Ｃ８２６＋Ｄ８１４＋Ｅ８２７＝Ｄ８１２＋Ｅ８２３＋Ｆ８２４
【０１００】
Ｇ８２９の時間をｘと置いて変数を割り当てると、次の式（２）となる。
式（２）：ｘ＋α＋Δａ＋α＋α＋Δｂ２＝α＋Δｂ１＋ｄ
【０１０１】
よって、次の式（３）となる。
式（３）：ｘ＝ｄ−２α−Δａ＋Δｂ１−Δｂ２
【０１０２】
ここで、この計算式を処理するＷｅｂサーバ８２０は、Ｂ８２１の時点ではΔｂ２の値は予測不可能であるため、仮にΔｂ２＝Δｂ１と考え、さらに、画面更新領域確定処理（Ｂ８２１とＢ８２５）は無視できる程の時間で完了するため、Δａ＝０と考えると、次の式（４）となる。
式（４）：ｘ＝ｄ−２α
【０１０３】
また、画面データ送信時間ｄの値（送信所要時間の一例）は送信データ量に比例し、送信データ量は原則的に画面更新領域確定処理（Ｂ８２１とＢ８２５）で判明する更新領域の面積に比例するため、過去の送信状況からこの比例係数を求めることができる。
【０１０４】
したがって、Ｗｅｂサーバ８２０では、Ｂ８２１の処理中にｄ−２αの値を計算してレスポンスＣ８２２にてＷｅｂブラウザ８１０へ送信し、このレスポンスがＷｅｂブラウザ８１０で解釈されてからｄ−２α後に次の画面更新要求Ａ８１３が送信されることで、伝送路を効率的に使用した画面データの送受信が可能となる。
【０１０５】
図１の画面キャプチャ処理部１１８及びＣＧＩプログラム１１７では、次に遠隔端末１３０のＨＴＭＬキャッシュ１３４内のスクリプトを動的に変更するためのＪａｖａＳｃｒｉｐｔを、画面更新リクエストに対するレスポンスとして返す。
【０１０６】
レスポンスとしてＷｅｂブラウザに返されるＪａｖａＳｃｒｉｐｔテキストでは、画面キャプチャ要求を送信させ、また次回の画面更新要求送信までの時間間隔値の書換えを行っている。
【０１０７】
この結果、直後にＷｅｂブラウザから画面キャプチャ要求が送信されるため、ＣＧＩプログラム１１７は画面キャプチャ処理部１１８に対して対象領域を指定してキャプチャを依頼する。キャプチャ結果による画像データがＷｅｂブラウザ側へのレスポンスとして返される。
【０１０８】
遠隔端末１３０のＷｅｂブラウザでは、ＨＴＭＬキャッシュ１３４内のＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント１２０が解析されて実行することで、ブラウザ表示処理部１３３は、渡された画像データを描画レイヤオブジェクト１３５の最背面のオブジェクトに割り当て、最前面に移動してから表示する。また先に変更されている、画面更新要求の送信タイミングに従って次の画面更新要求が送信される。
【０１０９】
以上のフローによって、機器１１０と遠隔端末１３０間で画像データの送受信と表示が実現できる。
【０１１０】
以上説明したように、本実施の形態に係る遠隔端末１３０への変更領域画面伝送方法及び表示方法は、ＨＭＩ画面を持つ機器１１０がキャプチャ要求を受け付けた際に、送信データ量を低減させながら、高速に画面キャプチャ処理を実施して、画像データを遠隔端末１３０へ送信することを特徴とする。さらに、画像データ送信サイズを監視して、画像データ送信時の最大の伝送効率を持つように、次回の遠隔端末１３０からのキャプチャ要求時刻を得ることを可能とすることを特徴とする。また、このようにして機器１１０から送信された画像データを、遠隔端末１３０にてＷｅｂブラウザのみを使用して表示することを特徴とする。
【０１１１】
以上、次の（１）〜（５）の方法を採用した、ＨＭＩ画面を持つ機器１１０と遠隔端末１３０間の遠隔モニタ方法について説明した。
（１）機器１１０側でＨＭＩ画面に対する描画処理を記録しておき、遠隔端末１３０からのキャプチャ要求受信時に、前回のキャプチャ要求から行われてきた描画処理について、描画対象となった領域を抽出して、これらの領域をすべて含む最小の１つの領域を決定するキャプチャ対象領域決定方法と、指定領域のみをキャプチャするキャプチャ方法
（２）機器１１０側から遠隔端末１３０側へ送信される更新領域の大きさから、画像データ送信にかかる所要時間を計算し、次回の遠隔端末１３０からのキャプチャ要求までの時間を決定するキャプチャ要求時間間隔決定方法
（３）指定領域のキャプチャ方法として、キャプチャ対象領域サイズが閾値以上である場合に、画素ごとのフルキャプチャを行わずに複数画素に１度のサンプリングキャプチャを行うキャプチャ方法
（４）指定領域のキャプチャ方法として、遠隔端末１３０側との通信性能及びブラウザ表示速度性能が予め設定された閾値以下である場合に、画素ごとのフルキャプチャを行わずに複数画素に１画素のサンプリングキャプチャを行うキャプチャ方法
（５）画面の一部領域の画像データがクライアント側に送信された際、クライアント側ブラウザにて、複数の描画オブジェクトを用意し、このうち最背面にあり、隠れてユーザには見えない描画オブジェクトに受信したキャプチャ画像を貼り付け、最前面に移動することを繰返して、連続して重畳表示させるブラウザでの連続画像表示方法
【符号の説明】
【０１１２】
１００  画面伝送システム、１１０  機器、１１１  入力コマンドイベントキュー、１１２  描画領域履歴データ、１１３  入力コマンド処理部、１１４  主制御部、１１５  ＨＭＩ画面描画部、１１６  ＨＭＩ画面データ、１１７  ＣＧＩプログラム、１１８  画面キャプチャ処理部、１１９  ＨＴＴＰサーバ機能部、１２０  ＨＴＭＬ／ＪａｖａＳｃｒｉｐｔドキュメント、１２１  サーバ画面更新部、１２２  更新データ送信部、１３０  遠隔端末、１３１  ＨＴＴＰクライアント機能部、１３２  ＨＴＭＬ／ＪａｖａＳｃｒｉｐｔ解析部、１３３  ブラウザ表示処理部、１３４  ＨＴＭＬキャッシュ、１３５  描画レイヤオブジェクト、１３６  更新データ受信部、１３７  端末画面更新部、１４１  ＨＴＴＰリクエスト、１４２  ＨＴＴＰレスポンス、９０１  ＬＣＤ、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  ＨＤＤ、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2010165152.tif 000003
【図２】
2010165152.tif 000004
【図３】
2010165152.tif 000005
【図４】
2010165152.tif 000006
【図５】
2010165152.tif 000007
【図６】
2010165152.tif 000008
【図７】
2010165152.tif 000009
【図８】
2010165152.tif 000010
【図９】
2010165152.tif 000011
【図１０】
2010165152.tif 000012