(57)【要約】【課題】複数マシンに対する同一のＧＵＩ操作の時間を短縮するとともに、一部のマシンに対する設定間違いをなくすようにすることを目的とする。【解決手段】ユーザ操作マシン１と、リモートマシン２とを備えるＧＵＩシステムにおいて、ユーザ操作マシン１は、ユーザの操作を入力するための入力手段１１と、入力手段１１によって入力された入力を検出する入力検出手段１２と、入力手段１１によって入力された内容である入力情報を検出する入力情報抽出手段１３と、入力手段１１によって入力された入力情報を実行する入力実行手段１５と、入力情報をリモートマシン２に送信する入力情報送信手段１４と、を有し、リモートマシン２は、入力情報送信手段１４によって送信された入力情報を受信する入力情報受信手段２１と、入力情報受信手段２１が受信した入力情報を実行する入力実行手段２２と、を有する。【選択図】図１
2008250778.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作を行うマシンであるユーザ操作マシンと、該ユーザ操作マシンに対して行った操作と同じ動作を行うマシンであるリモートマシンとを備えるＧＵＩシステムにおいて、
前記ユーザ操作マシンは、前記ユーザの操作を入力するための入力手段と、
該入力手段によって入力された入力を検出する入力検出手段と、
該入力手段によって入力された内容である入力情報を検出する入力情報抽出手段と、
前記入力手段によって入力された入力情報を実行する入力実行手段と、
前記入力情報を前記リモートマシンに送信する入力情報送信手段と、を有し、
前記リモートマシンは、前記入力情報送信手段によって送信された前記入力情報を受信する入力情報受信手段と、
該入力情報受信手段が受信した前記入力情報を実行する入力実行手段と、を有することを特徴とするＧＵＩシステム。
【請求項２】
前記リモートマシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、
該出力される内容である出力情報を抽出する出力情報抽出手段と、
前記出力情報を実行する出力実行手段と、
前記出力を表示する出力手段と、を有することを特徴とする請求項１記載のＧＵＩシステム。
【請求項３】
前記ユーザ操作マシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、
該出力される内容である出力情報を検出する出力情報抽出手段と、
前記出力情報を実行する出力実行手段と、
前記出力を表示する出力手段と、を有することを特徴とする請求項１又は２記載のＧＵＩシステム。
【請求項４】
前記ユーザ操作マシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、
前記リモートマシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする請求項３記載のＧＵＩシステム。
【請求項５】
前記リモートマシンは、前記出力情報受信手段が受信した前記出力情報と前記出力情報抽出手段が抽出した出力情報とを保存する出力情報保存手段を有することを特徴とする請求項４記載のＧＵＩシステム。
【請求項６】
前記リモートマシンは、前記出力情報保存手段に保存される前記リモートマシンの出力情報と前記ユーザ操作マシンの出力情報とを比較する出力情報比較手段を有することを特徴とする請求項５記載のＧＵＩシステム。
【請求項７】
前記リモートマシンは、前記出力情報比較手段によって比較された結果を送信する比較結果送信手段を有しており、
前記ユーザ操作マシンは、前記比較結果送信手段が送信した比較結果を受信する比較結果受信手段と、
該比較結果受信手段が受信した比較結果を出力する比較結果出力手段を有することを特徴とする請求項６記載のＧＵＩシステム。
【請求項８】
前記リモートマシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、
前記ユーザ操作マシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする請求項２記載のＧＵＩシステム。
【請求項９】
前記ユーザ操作マシンは、前記出力情報送信手段が受信した出力情報を比較する出力情報比較手段を有することを特徴とする請求項８記載のＧＵＩシステム。
【請求項１０】
前記ユーザ操作マシンは、前記出力情報比較手段によって比較された比較結果が同じグループごとに出力情報から出力を復元する出力復元手段と、
該出力復元手段によって復元された出力を実行する出力実行手段と、
該出力実行手段が実行した出力を表示する出力手段と、を有することを特徴とする請求項９記載のＧＵＩシステム。
【請求項１１】
前記リモートマシンは、複数あることを特徴とする請求項１から１０のいずれか１項記載のＧＵＩシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩシステムに関し、特に、複数マシンに対して同一の操作を行うＧＵＩシステムに関する。
【背景技術】
【０００２】
従来、ＵＮＩＸ（登録商標）などのコマンドラインといったＧＵＩ（Graphical User Interface）を備えたシステムでは、複数台のマシンに同じ操作をする場合、ｒｓｈを使用してすべてのマシンに同じコマンドを発行すればよかった。
【０００３】
ただし、この方法では、ｒｓｈを使用しているため、コマンドが入力を要求する場合に対応できないといったことや、ＧＵＩには適用できないといった問題があった。
【０００４】
従来技術としては、以下にあげるものがある。
【０００５】
特許文献１には、スクリプト解釈手段により現在実行中のテストスクリプトの内容、さらにテスト対象プログラムのテスト結果として画面の論理構造（例．画面の親子関係）を画面構造ファイルに記憶させ、この操作後、過去の画面構造ファイルとの比較をし、差異が発生した操作を画面構造ファイルより検索し、記憶しておいたテストスクリプトからその操作内容、画面構成要素の種類と差異の内容をテスト結果として得るＧＵＩプログラムのテスト装置が開示されている。
【０００６】
特許文献２には、被操作端末に、他の端末装置からのリモート操作メッセージを受信する通信制御部と、受信メッセージから抽出された操作入力情報をオペレーティングシステムに入力する基本制御部と、上記操作入力情報とこれに応答した特定の端末動作をリモート操作履歴として記録する操作記録／再生制御部とを設ける技術が開示されている。
【０００７】
特許文献３には、１台のコンピュータ上での操作を入力する入力部、入力データをメタ構造に対する操作として解析し操作データとして定義する解析・定義部、定義データを複数台コンピュータへ送信する送信部、を有する単一コンピュータと、単一コンピュータからの操作指示を受け取り、受信したデータを解析する解析部と、解析されたデータより同一メタ構造を有するＯＳ又は製品に対して同じ操作を実行する実行部を有する複数台コンピュータとを有する技術が開示されている。
【特許文献１】特開２００１−３０６３５８号公報
【特許文献２】特開２００２−０９１９１４号公報
【特許文献３】特開２００４−０７８６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
複数のマシンに対して同じＧＵＩ操作を行うには従来、以下の方法を用いていた。
【０００９】
（１）すべてのマシンに個別にログインして設定する。
【００１０】
（２）専用につくられたインターフェースから、複数マシン同時に操作する。
【００１１】
（１）の方法では、個別に設定していかなければならないため、マシンの数に応じて作業時間が増していた。
【００１２】
（２）の方法では、各操作用に専用インターフェースを作成しなければならないため、一部のＧＵＩ操作に限られてしまっていた。
【００１３】
そこで、本発明は、複数マシンに対する同一のＧＵＩ操作の時間を短縮するとともに、一部のマシンに対する設定間違いをなくすようにすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を解決するための手段として、ユーザが操作を行うマシンであるユーザ操作マシンと、該ユーザ操作マシンに対して行った操作と同じ動作を行うマシンであるリモートマシンとを備えるＧＵＩシステムにおいて、前記ユーザ操作マシンは、前記ユーザの操作を入力するための入力手段と、該入力手段によって入力された入力を検出する入力検出手段と、該入力手段によって入力された内容である入力情報を検出する入力情報抽出手段と、前記入力手段によって入力された入力情報を実行する入力実行手段と、前記入力情報を前記リモートマシンに送信する入力情報送信手段と、を有し、前記リモートマシンは、前記入力情報送信手段によって送信された前記入力情報を受信する入力情報受信手段と、該入力情報受信手段が受信した前記入力情報を実行する入力実行手段と、を有することを特徴とする。
【００１５】
また、本発明は、前記リモートマシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、該出力される内容である出力情報を抽出する出力情報抽出手段と、前記出力情報を実行する出力実行手段と、前記出力を表示する出力手段と、を有することを特徴とする。
【００１６】
また、本発明は、前記ユーザ操作マシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、該出力される内容である出力情報を検出する出力情報抽出手段と、前記出力情報を実行する出力実行手段と、前記出力を表示する出力手段と、を有することを特徴とする。
【００１７】
また、本発明は、前記ユーザ操作マシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、前記リモートマシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする。
【００１８】
また、本発明は、前記リモートマシンは、前記出力情報受信手段が受信した前記出力情報と前記出力情報抽出手段が抽出した出力情報とを保存する出力情報保存手段を有することを特徴とする。
【００１９】
また、本発明は、前記リモートマシンは、前記出力情報保存手段に保存される前記リモートマシンの出力情報と前記ユーザ操作マシンの出力情報とを比較する出力情報比較手段を有することを特徴とする。
【００２０】
また、本発明は、前記リモートマシンは、前記出力情報比較手段によって比較された結果を送信する比較結果送信手段を有しており、前記ユーザ操作マシンは、前記比較結果送信手段が送信した比較結果を受信する比較結果受信手段と、該比較結果受信手段が受信した比較結果を出力する比較結果出力手段を有することを特徴とする。
【００２１】
また、本発明は、前記リモートマシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、前記ユーザ操作マシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする。
【００２２】
また、本発明は、前記ユーザ操作マシンは、前記出力情報送信手段が受信した出力情報を比較する出力情報比較手段を有することを特徴とする。
【００２３】
また、本発明は、前記ユーザ操作マシンは、前記出力情報比較手段によって比較された比較結果が同じグループごとに出力情報から出力を復元する出力復元手段と、該出力復元手段によって復元された出力を実行する出力実行手段と、該出力実行手段が実行した出力を表示する出力手段と、を有することを特徴とする。
【００２４】
また、本発明は、前記リモートマシンは、複数あることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、複数マシンに対する同一のＧＵＩ操作の時間を短縮できる。その理由は、従来マシンごとに個別に行っていたＧＵＩの入出力を、ユーザ操作マシンに対する操作のみで行うからである。
【００２６】
また、本発明によれば、複数マシンに対する同一のＧＵＩ操作をするときに、一部のマシンのみ別設定をしてしまうという設定間違いをなくすことができる。その理由は、複数マシンに対する操作を一回で行うため、一部のマシンのみ別設定になるということがないからである。
【発明を実施するための最良の形態】
【００２７】
以下、添付図面を参照して本発明を実施するための最良の実施の形態を説明する。
【００２８】
まず、本発明の原理について説明する。
【００２９】
図１は、本発明の実施形態の概略構成を示すブロック図である。
【００３０】
図１に示すように、ユーザがユーザ操作マシン１の入力手段１１から入力すると、その入力は入力検出手段１２で検出される。そこでどういう入力がされたかという入力情報が入力情報抽出手段１３で抽出された後、入力実行手段１５を用いて自マシンで実行する。
【００３１】
また、入力情報抽出手段１３で抽出された入力情報は、入力情報送信手段１４によって他のすべてのリモートマシン２に送られる。
【００３２】
リモートマシン２は、入力情報受信手段２１によってユーザ操作マシン１から入力を受け取り、入力実行手段２２を用いてその入力を実行する。
【００３３】
入力に対して出力がある場合、ユーザ操作マシン１では、出力検出手段１６によって出力が行われることを検出する。
【００３４】
ここで入力に対して出力がない場合とは、ＰＣ画面上において何もないところをクリックした場合などがあげられる（ＰＣ画面上で何もないところをクリックした場合、クリックするという入力はあるが画面上では何も変化しないので、出力はない。）。
【００３５】
出力は出力情報抽出手段１７によって抽出され、出力情報送信手段１８によって、他のすべてのリモートマシン２に送られる。
【００３６】
各リモートマシン２でもユーザ操作マシン１と同様に出力がある場合は、出力検出手段２３によって出力があることを検出する。
【００３７】
出力検出手段２３によって検出された出力の出力内容を示す出力情報は出力情報抽出手段２４によって抽出され、抽出した出力情報を出力情報保存手段２６で保存する。
【００３８】
また、出力情報抽出手段２４で抽出した出力情報は、出力実行手段２９によって出力が行われ、出力手段２ａ上に表示される。
【００３９】
各リモートマシン２は、出力情報受信手段２５によってユーザ操作マシン１の出力情報を受け取る。この出力情報は出力情報保存手段２６で保存される。
【００４０】
リモートマシン２における自マシンの出力情報の保存と、ユーザ操作マシン１の出力情報の保存は順不同で行われる。
【００４１】
出力情報保存手段２６にユーザ操作マシン１の出力情報と、リモートマシン２の出力情報の２つが揃ったら、それらは出力情報比較手段２７で比較され、その比較結果が比較結果送信手段２８によってユーザ操作マシン１に送られる。
【００４２】
ユーザ操作マシン１は、比較結果受信手段１ａによって比較結果を受け取り、比較結果に異なるものがあった場合は、比較結果出力手段１ｂによって出力がおこなわれ、出力手段１ｃ上に表示される。
【００４３】
本発明の別の原理を説明する。
【００４４】
図２は、本発明の別の実施形態の概略構成を示すブロック図である。
【００４５】
図２に示すように、ユーザがユーザ操作マシン１の入力手段１１から入力すると、その入力は入力検出手段１２で検出される。そこでどういう入力がされたかという入力情報が入力情報抽出手段１３で抽出された後、入力情報は、入力情報送信手段１４によって他のすべてのリモートマシン２に送られる。
【００４６】
リモートマシン２は、入力情報受信手段２１によってユーザ操作マシン１から入力を受け取り、入力実行手段２２を用いてその入力を実行する。
【００４７】
入力に対して出力がある場合、出力検出手段２３によって出力があることを検出する。
【００４８】
出力検出手段２３によって検出された出力の出力内容を示す出力情報は出力情報抽出手段２４によって抽出され、抽出した出力情報を出力情報送信手段２５によって、ユーザ操作マシン１に送信する。
【００４９】
また、出力情報は出力実行手段２６によって出力され、出力手段２７に表示される。
【００５０】
ユーザ操作マシン１は、出力情報受信手段１５によってリモートマシン２の出力情報を受け取る。
【００５１】
すべてのリモートマシン２から出力情報を受け取ったら、それらの出力情報は出力情報比較手段１６によって比較される。
【００５２】
比較結果が同じグループごとに出力復元手段１７によって出力情報から出力が復元される。復元された出力は、出力実行手段１８によって出力され、出力手段１９に表示される。
【００５３】
［第１の実施形態］
［構成の説明］
図１を参照すると、本実施形態はユーザが操作を行うマシンであるユーザ操作マシン１と、ユーザ操作マシン１に対して行った動作と同様の操作を行うマシンであるマシン２とを含む。リモートマシン２は、通常、同一の操作を行いたい台数分ある。
【００５４】
ユーザ操作マシン１は、入力手段１１と、入力検出手段１２と、入力情報抽出手段１３と、入力情報送信手段１４と、入力実行手段１５と、出力検出手段１６と、出力情報抽出手段１８と、出力実行手段１９と、比較結果受信手段１ａと、比較結果出力手段１ｂと、出力手段１ｃとを含む。
【００５５】
入力手段１１は、マウスやキーボードなどであり、ユーザは入力手段１１を用いて、ＧＵＩから入力を行う。
【００５６】
入力検出手段１２は、入力手段１１によって行われた入力をＯＳ内部で検出する。
【００５７】
入力情報抽出手段１３は、入力検出手段１２によって検出された入力がどのようなものかを抽出して、抽出した情報を入力情報とする。
【００５８】
入力情報送信手段１４は、入力情報抽出手段１３によって抽出された入力情報をリモートマシンに２に送信する。
【００５９】
入力実行手段１５は、入力情報抽出手段１３によって抽出された入力情報を実行する。
【００６０】
出力検出手段１６は、ＧＵＩに出力がある場合、ＯＳ内部で出力を検知する。
【００６１】
出力情報抽出手段１７は、出力検出手段１６によって、検出された出力がどのようなものかを抽出して、抽出した情報を出力情報とする。
【００６２】
出力情報送信手段１８は、出力情報抽出手段１７によって抽出された出力情報をリモートマシン２に送信する。
【００６３】
出力実行手段１９は、出力情報抽出手段１７によって抽出された出力情報を実行する。
【００６４】
比較結果受信手段１ａは、リモートマシン２から送信された、出力情報の比較結果を受信する。
【００６５】
比較結果出力手段１ｂは、比較結果受信手段１ａによって受信した比較結果を必要に応じて出力する。
【００６６】
出力手段１ｃは、コンソールなどであり、ＧＵＩの出力を表示する。
【００６７】
リモートマシン２は、入力情報受信手段２１と、入力実行手段２２と、出力検出手段２３と、出力情報抽出手段２４と、出力情報受信手段２５と、出力情報保存手段２６と、出力情報比較手段２７と、比較結果送信手段２８と、出力実行手段２９と、出力手段２ａとを含む。
【００６８】
入力情報受信手段２１は、ユーザ操作マシン１から送信された入力情報を受信する。
【００６９】
入力実行手段２２は、入力情報受信手段２１によって受信された入力情報を実行する。
【００７０】
出力検出手段２３は、ＧＵＩに出力がある場合、ＯＳ内部で出力を検知する。
【００７１】
出力情報抽出手段２４は、出力検出手段２３によって、検出された出力がどのようなものかを抽出して、抽出した情報を出力情報とする。
【００７２】
出力情報受信手段２５は、ユーザ操作マシン１から送信された出力情報を受信する。
【００７３】
出力情報保存手段２６は、出力情報抽出手段２４によって抽出されたリモートマシン２の出力情報と、出力情報受信手段２５によって受信したユーザ操作マシン１の出力情報を保存する。
【００７４】
出力情報比較手段２７は、出力情報保存手段２７によって保存したユーザ操作マシン１の出力情報と、リモートマシン２の出力情報を比較する。
【００７５】
比較結果送信手段２８は、出力情報比較手段２７によって比較した結果をユーザ操作マシン１に送信する。
【００７６】
出力実行手段２９は、出力情報抽出手段２４によって抽出された出力情報を実行する。
【００７７】
出力手段２ａは、コンソールなどであり、ＧＵＩの出力を表示する。
【００７８】
［動作の説明］
図１、図３、図４を参照して本実施形態の動作について詳細に説明する。
【００７９】
本実施形態では、図３に示すようなユーザ操作マシン１のアイコンＡをマウス（入力手段１１）でダブルクリックして、"Ｙｅｓ"又は"Ｎｏ"の入力を促すウインドウ（以後、ＹｅｓＮｏダイアログ）を全マシン上で開くという動作を行う。
【００８０】
ユーザ操作マシンのコンソール上のアイコンＡをユーザがマウス（入力手段１１）でダブルクリックする。
【００８１】
マウスからの入力は割り込みでＣＰＵに通知される。
【００８２】
割り込みを受けたＯＳはデバイスから入力情報を読み込む。
【００８３】
ここでは、動作「マウスのダブルクリック」と入力した座標「アイコンＡの座標」が入力情報になる。
【００８４】
入力は、ウインドウシステムを管理するプロセス（以下、ウインドウシステム管理プロセス）にシグナルで通知され、シグナルを受け取ったウインドウシステム管理プロセスは、システムコールを発行してＯＳから入力情報を受け取る（入力情報検出手段１２、入力情報抽出手段１３）。
【００８５】
ここでは、動作「マウスのダブルクリック」と入力した座標「アイコンＡの座標」が入力情報になる。
【００８６】
ウインドウシステム管理プロセスは、入力情報の動作が「マウスのダブルクリック」であることから座標を確認する。
【００８７】
座標はアイコンＡの位置なので、ウインドウシステム管理プロセスは、動作である「マウスのダブルクリック」をウインドウのイベントに変換して、アイコンＡを管理するプロセスに送る。
【００８８】
イベントを受け取ったアイコンＡを管理するプロセスは、ユーザプログラム中で各イベントに対して設定されている動作を行う（入力実行手段１５）。
【００８９】
ここではＹｅｓＮｏダイアログが開く。
【００９０】
また、ユーザ操作マシンのウインドウシステム管理プロセスは、ＯＳから読み取った入力情報を全リモートマシンのウインドウシステム管理プロセスに送信する（入力情報送信手段１４）。
【００９１】
なお、送信時に入力情報を送るリモートマシンを選択することで、特定のリモートマシンにのみ入力情報を送ることも可能である。
【００９２】
入力情報を受け取ったリモートマシンのウインドウシステム管理プロセスは、入力を実行する（入力情報受信手段２１、入力実行手段２２）。
【００９３】
入力は、まず入力情報の動作が「マウスのダブルクリック」であることから入力情報の座標を確認される。
【００９４】
座標はアイコンＡの位置なので、ウインドウシステム管理プロセスは、動作である「マウスのダブルクリック」をウインドウのイベントに変換して、アイコンＡを管理するプロセスに送る。
【００９５】
イベントを受け取ったアイコンＡを管理するプロセスは、ユーザプログラム中で各イベントに対して設定されている動作を行う。
【００９６】
ここではＹｅｓＮｏダイアログが開かれる。このようにして、ユーザ操作マシンとリモートマシンで同様のウインドウが開かれる。
【００９７】
本実施形態では、ウインドウのデータ構造は図４のようにウインドウを構成する内部オブジェクトをリストで連結して管理している。
【００９８】
各ウインドウにはウインドウを識別するために一意なＩＤが付与されている。このＩＤはユーザ操作マシンとリモートマシンで同じ動作をして開いたウインドウは同じＩＤになるようにシステム起動後に同期がとられている。
【００９９】
ウインドウを構成するオブジェクトは、ウインドウ内でオブジェクトを識別するオブジェクトＩＤ、オブジェクト上に表示される文字列や画像などのオブジェクト値、親オブジェクトのＩＤ、オブジェクトを描画する座標、オブジェクトのサイズを情報として持っている。
【０１００】
ユーザ操作マシンとリモートマシンでは、ＹｅｓＮｏダイアログを描画する関数がコールされたら、リストの順番にしたがって、オブジェクトＩＤ１のシンプルウインドウ、オブジェクトＩＤ２のボタン（値は"Ｙｅｓ"）、オブジェクトＩＤ３のボタン（値は"Ｎｏ"）の順でオブジェクトを描画して一つのウインドウを描画する（出力検出手段１６、出力情報抽出手段１７、出力実行手段１９、出力手段１ｃ）。
【０１０１】
また、ユーザ操作マシンでは、ＹｅｓＮｏダイアログを描画する関数がコールされたときに関数内で、ＹｅｓＮｏダイアログの連結リストで管理されているデータをパックしてユーザ操作マシン出力情報として、全リモートマシンに送る（出力情報送信手段１８）。
【０１０２】
リモートマシンでは、ＹｅｓＮｏダイアログを描画する関数がコールされたときに、連結リストで管理されているＹｅｓＮｏダイアログの出力情報をパックしてリモートマシン出力情報としてウインドウシステム管理プロセス内で保存しておく（出力検出手段２３、出力情報抽出手段２４、出力情報保存手段２６）。
【０１０３】
リモートマシンは、ユーザ操作マシン出力情報の受信と、自マシンでのリモートマシン出力情報の保存の両方が完了したら、両者を比較する（出力情報受信手段２５、出力情報比較手段２７）。
【０１０４】
ＹｅｓＮｏダイアログの場合の手順は以下の通りである。
【０１０５】
まずウインドウＩＤを見て、同じウインドウＩＤの出力情報を比較する。
【０１０６】
その次に、リストの最初のオブジェクト（オブジェクトＩＤ：１）を比較する。
【０１０７】
ここでは、オブジェクトの種類、オブジェクト値を比較対象にする。
【０１０８】
したがって、オブジェクトの描画座標とサイズは比較対象にしていない。
【０１０９】
オブジェクトの種類はシンプルウインドウ、オブジェクト値はＮＵＬＬである。
【０１１０】
リストのポインタを進めて、オブジェクトＩＤ：２のオブジェクトを比較する。
【０１１１】
オブジェクトの種類はボタン、オブジェクト値は"Ｙｅｓ"文字列である。
【０１１２】
リストのポインタを進めてオブジェクトＩＤ：３のオブジェクトを比較する。
【０１１３】
オブジェクトの種類はボタン、オブジェクト値は"Ｎｏ"文字列である。
【０１１４】
すべてのオブジェクトでオブジェクトの種類とオブジェクト値が同じである場合、それらの出力情報の比較結果は"ｅｑｕａｌ"となる。
【０１１５】
本実施形態では、ユーザ操作マシンとリモートマシンで同じ入力がされているので、出力情報は同じであり、比較結果は"ｅｑｕａｌ"である。
【０１１６】
リモートマシンは比較結果をユーザ操作マシンに送る（比較結果送信手段２８）。
【０１１７】
ユーザ操作マシンは、すべてのリモートマシンから比較結果を受け取り、ウインドウシステム管理プロセスで処理される（比較結果受信手段１ａ、比較結果出力手段１ｂ）。
【０１１８】
比較結果は、すべて"ｅｑｕａｌ"であるので特になにもしない。
【０１１９】
ユーザ操作マシンで出力されたウインドウに対して、同様の手順で入力を実施することにより、本実施形態を続けて適用することが可能である。
【０１２０】
なお、ウインドウの入力情報と出力情報の抽出と比較、入力と出力の実行は、使用するＯＳ及びウインドウシステムの仕様にしたがって行う。
【０１２１】
したがって、ＩＤによりウインドウを一意に識別できるようなシステムでは、出力情報の抽出と比較の対象はＩＤのみでも可能であり、本発明を容易に実施できる。
【０１２２】
［第２の実施形態］
図５を参照すると、第１の実施形態とはユーザ操作マシンで入力した後にリモートマシン：３上で出力されるウインドウがエラー通知ウインドウとなり、なんらかの原因でユーザ操作マシンの出力と異なっているという点である。
【０１２３】
出力結果が異なったリモートマシンからは、比較結果として"Ｎｏｔ  ｅｑｕａｌ"がユーザ操作マシンに送られる。
【０１２４】
すべてのリモートマシンから比較結果を受け取ったユーザ操作マシンは、図５のように比較結果が"Ｎｏｔ  ｅｑｕａｌ"のマシンの情報を出力差異通知ウインドウでユーザに通知する。
【０１２５】
ユーザは比較結果が"Ｎｏｔ  ｅｑｕａｌ"であるマシンに対して、原因解明の調査を行うことが可能になる。
【０１２６】
もし、リモートマシンにおいてエラーによりユーザ操作マシンへ比較結果を送信できない場合は、ユーザ操作マシンで最初に任意のリモートマシンから比較結果を受け取ったときからタイマーを設定しておいて、一定時間内にすべてのリモートマシンから比較結果を受信できない場合にタイムアウトを検出することで、比較結果が来ない場合に対応できる。
【０１２７】
また、出力結果が行った場合に、リモートマシンからユーザ操作マシンに比較結果を送るのではなく、出力結果が異なったリモートマシンのウインドウを、ウインドウシステムの仕組みを利用してユーザ操作マシンにそのまま表示することにより、より早く出力結果を知ることができる。
【０１２８】
［第３の実施形態］
［構成の説明］
図２を参照すると、本実施形態はユーザが操作を行うマシンであるユーザ操作マシン１と、ユーザ操作マシン１に対して行った動作と同様の操作を行うマシンであるマシン２とを含む。
【０１２９】
ユーザ操作マシン１は、入力手段１１と、入力検出手段１２と、入力情報抽出手段１３と、入力情報送信手段１４と、出力情報受信手段１５と、出力情報比較手段１６と、出力復元手段１７と、出力実行手段１８と、出力手段１９とを含む。
【０１３０】
入力手段１１は、マウスやキーボードなどであり、ユーザは入力手段１１を用いて、ＧＵＩから入力を行う。
【０１３１】
入力検出手段１２は、入力手段１１によって行われた入力をＯＳ内部で検出する。
【０１３２】
入力情報抽出手段１３は、入力検出手段１２によって検出された入力がどのようなものかを抽出して、抽出した情報を入力情報とする。
【０１３３】
入力情報送信手段１４は、入力情報抽出手段１３によって抽出された入力情報をリモートマシン２に送信する。
【０１３４】
出力情報受信手段１５は、リモートマシン２から送信された出力情報を受信する。
【０１３５】
出力情報比較手段１６は、すべてのリモートマシン２から送られてきた出力情報を比較して、同一出力情報ごとにグループに分ける。
【０１３６】
出力復元手段１７は、出力情報比較手段１６によって比較されグループに分けられた出力情報から出力を復元する。ユーザ操作マシンでは、入力が実際に実行されないので、出力されたウインドウに対して操作できるようにリモートマシンの出力を復元する必要がある。
【０１３７】
出力実行手段１８は、出力実行手段１８によって復元された出力を実行する。
【０１３８】
出力手段１９は、コンソールなどであり、ＧＵＩの出力を表示する。
【０１３９】
リモートマシン２は、入力情報受信手段２１と、入力実行手段２２と、出力検出手段２３と、出力情報抽出手段２４と、出力情報送信手段２５と、出力実行手段２６と、出力手段２７とを含む。
【０１４０】
入力情報受信手段２１は、ユーザ操作マシン１から送信された入力情報を受信する。
【０１４１】
入力実行手段２２は、入力情報受信手段２１によって受信された入力情報を実行する。
【０１４２】
出力検出手段２３は、ＧＵＩに出力がある場合、ＯＳ内部で出力を検知する。
【０１４３】
出力情報抽出手段２４は、出力検出手段２３によって、検出された出力がどのようなものかを抽出して、抽出した情報を出力情報とする。
【０１４４】
出力情報送信手段２５は、出力情報抽出手段２４によって抽出された出力情報をユーザ操作マシン１に送信する。
【０１４５】
出力実行手段２６は、出力情報抽出手段２４によって抽出された出力情報を実行する。
【０１４６】
出力手段２７は、コンソールなどであり、ＧＵＩの出力を表示する。
【０１４７】
［動作の説明］
図２、図６、図７を参照して本実施形態の動作について詳細に説明する。
【０１４８】
第１の実施形態とは、ユーザ操作マシンとリモートマシンの出力情報の比較方法と、ユーザが操作マシンへのウインドウの出力の仕方が異なる。
【０１４９】
第１の実施形態ではユーザ操作マシンではリモートマシンと同様にユーザが行った入力が実際に実行されて出力が行われるが、本実施形態では、実際に入力が実行されるのはリモートマシンだけであり、ユーザ操作マシンはアプリケーションの出力を行うのみである。
【０１５０】
ユーザ操作マシンのコンソール上のアイコンＡをユーザがマウス（入力手段１１）でダブルクリックする。
【０１５１】
マウスからの入力は割り込みでＣＰＵに通知される。
【０１５２】
割り込みを受けたＯＳはデバイスから入力情報を読み込む。入力は、ウインドウシステムを管理するプロセス（以下、ウインドウシステム管理プロセス）にシグナルで通知され、シグナルを受け取ったウインドウシステム管理プロセスは、システムコールを発行してＯＳから入力情報を受け取る（入力情報検出手段１２、入力情報抽出手段１３）。
【０１５３】
ここでは、動作「マウスのダブルクリック」と入力した座標「アイコンＡの座標」が入力情報になる。
【０１５４】
ユーザ操作マシンのウインドウシステム管理プロセスは、ＯＳから読み取った入力情報を全リモートマシンのウインドウシステム管理プロセスに送信する（入力情報送信手段１４）。
【０１５５】
ユーザ操作マシンはすべてのリモートマシンからウインドウの出力情報を受け取るまで待ちに入る。
【０１５６】
リモートマシンで入力情報は、ウインドウシステム管理プロセスに渡され、入力を実行する（入力情報受信手段２１、入力実行手段２２）。
【０１５７】
入力は、まず入力情報の動作が「マウスのダブルクリック」であることから入力情報の座標を確認される。
【０１５８】
座標はアイコンＡの位置なので、ウインドウシステム管理プロセスは、動作である「マウスのダブルクリック」をウインドウのイベントに変換して、アイコンＡを管理するプロセスに送る。
【０１５９】
イベントを受け取ったアイコンＡを管理するプロセスは、ユーザプログラム中で各イベントに対して設定されている動作を行う。
【０１６０】
ここではＹｅｓＮｏダイアログが開かれる（出力実行手段２６、出力手段２７）。
【０１６１】
また、リモートマシンでは、ＹｅｓＮｏダイアログを描画する関数がコールされたときに関数内で、連結リストで管理されているＹｅｓＮｏダイアログの出力情報をパックしてリモートマシン出力情報として、ユーザ操作マシンに送る（出力検出手段２３、出力情報抽出手段２４、出力情報送信手段２５）。
【０１６２】
全リモートマシンからリモートマシン出力情報を受け取ったユーザ操作マシンは、全リモートマシンの出力情報を比較する（出力情報受信手段１５、出力情報比較手段１６）。
【０１６３】
図６に示されるように本実施形態では、リモートマシン：３の出力がエラー通知ウインドウであり、リモートマシン：１とリモートマシン：２のＹｅｓＮｏダイアログが異なっている。
【０１６４】
比較結果に異なるものがある場合は、結果が同じもの同士を同一のグループとして扱い、グループごとに出力が表示される。
【０１６５】
本実施形態では、ユーザ操作マシンではアプリケーションの実行はされないので、出力情報から出力を復元して、コンソール上のグループ単位出力ウインドウに表示が行われる（出力復元手段１７、出力実行手段１８、出力手段１９）。
【０１６６】
図７のようにグループごとの出力の表示は、タブを用いてグループごとに切り替えられるようにしている。
【０１６７】
［第４の実施形態］
本実施形態では、ユーザ操作マシンとリモートマシンで処理の速さが異なっている。
【０１６８】
第１の実施形態を適用した場合、なんらかの原因でリモートマシンの出力の切り替えより、ユーザ操作マシンの出力の切り替え方が速くなり、リモートマシンで任意のウインドウ表示の比較処理が終了する前に、ユーザ操作マシンから次のウインドウの出力情報が送られてきたり、ユーザ操作マシンよりリモートマシンの方が出力の切り替えが速くなり、任意のウインドウの比較処理のための出力情報がユーザ操作マシンから送られてくる前に、リモートウインドウで次のウインドウ出力が発生したりすることが予想される。
【０１６９】
本実施形態では、図８のようにリモートマシンの出力の切り替えよりユーザ操作マシンの出力の切り替えの方が速いため、リモートマシンでウインドウＩＤ：１の表示の比較処理が終了する前に、ユーザ操作マシンから次のウインドウＩＤ：２の出力情報が送られてきた場合は、ユーザ操作マシンから送られてきたウインドウＩＤ：２の出力情報を保存しておき、前の出力情報の比較と、リモートマシンのウインドウＩＤ：２の出力が終了した時点でウインドウＩＤ：２の出力を比較して結果をユーザ操作マシンに送信する。
【０１７０】
また、図９のように、ユーザ操作マシンの出力の切り替えよりリモートマシンの出力の切り替えの方が速いため、ユーザ操作マシンからウインドウＩＤ：１の出力情報が送られてくる前に、リモートウインドウでウインドウＩＤ：２の出力が発生した場合は、ウインドウＩＤ：１の比較処理の前に、ウインドウＩＤ：２の出力情報の保存と表示を行い、ユーザ操作マシンからウインドウＩＤ：１とウインドウＩＤ：２の出力情報が送られてきた時点で比較して結果をユーザ操作マシンに送信する。
【０１７１】
このようにすれば、ユーザ操作マシンとリモートマシンの処理の速さに差が生じたとしても問題ない。
【０１７２】
［第５の実施形態］
本実施形態は、出力されるウインドウが、作業がどれくらい進んでいるかを示すプログレスバーであり、ウインドウの切り替えが頻繁に発生する。
【０１７３】
ユーザ操作マシンで前回のウインドウの表示から一定時間内にウインドウの出力切り替えがあった場合は、ウインドウの出力切り替えが止まるまで、リモートマシンに出力情報を送信しない。
【０１７４】
図１０を参照して詳細な動作を説明する。
【０１７５】
第１の実施形態の動作にしたがって、全マシン上でプログレスバーのウインドウが初期状態で出力される。
【０１７６】
ユーザ操作マシンのウインドウの出力は、その時点の時間も記録しておく。
【０１７７】
その後、ユーザ操作マシンでは処理が進むにつれてプログレスバーが進む。プログレスバーが更新されるタイミングで、ＯＳ内部で出力を検出したときに、ウインドウの出力情報を保存してウインドウを表示する。
【０１７８】
そのときに、前回出力を検出して出力情報を保存したときから一定時間内であれば、リモートマシンに出力情報は送信せず、ウインドウの出力を実行する。
【０１７９】
リモートマシンでもプログレスバーが進み、ウインドウの表示切り替えが発生して出力情報を保存するが、ユーザ操作マシンから出力情報が送られてこなければ、そのウインドウの比較処理を保留して次のウインドウの表示を行う。
【０１８０】
またユーザ操作マシンのＯＳ内部では、ウインドウが出力されたときにタイマーを開始する。
【０１８１】
このタイマーはウインドウの出力のたびにリセットされる。タイマーが一定時間を超えた、すなわち一定時間以上出力の切り替えがなければ、それまでに蓄積されたウインドウの出力情報をリモートマシンに送信する。
【０１８２】
それらの出力情報を受け取ったリモートマシンは、保留されている比較処理をすべて行う。
【０１８３】
このようにしてウインドウの出力の切り替えが頻繁に起こる場合にユーザ操作マシンから、リモートマシンへの出力情報の送信回数を減らすことができる。
【０１８４】
また、図１１のように比較処理する出力情報を、送信が保留されている出力情報の中で最初と最後のみにすれば、ユーザ操作マシン内でのデータ蓄積に必要なスペース、ユーザ操作マシンからリモートマシンに送るデータ量、比較処理の回数を軽減することができる。
【０１８５】
［第６の実施形態］
本実施形態では、入力がウインドウ内のテキストボックスへの文章の記述であり、入力を連続して行う。
【０１８６】
第１の実施形態を適用した場合、入力を連続して行うと、入力と入力に対する出力によってリモートマシンに対するデータの送信が大量に発生する可能性がある。
【０１８７】
本実施形態では、ユーザが指定した一定期間内の入力と出力の送信を後でまとめて行うことで、リモートマシンへの大量のデータ通信を軽減する。
【０１８８】
図１２に示すように、テキストボックスにＡとＢをいう文字を入力する場合、リモートマシンへのＡとＢの入力と出力情報の送信をまとめて行うには、まずユーザが一括処理のスイッチをＯＮにする。
【０１８９】
その次にユーザがユーザ操作マシン上でテキストボックスにＡとＢをいう文字を入力した場合、ＡとＢの入力と、ＡとＢが入力されたときの出力が保存される。
【０１９０】
その後、ユーザが一括処理のスイッチをＯＦＦにしたときに、保存されていた入力と出力の情報はまとめてリモートマシンに送信される。
【０１９１】
リモートマシンでは、まとめて受け取ったテキストボックスへのＡとＢという入力を順次実行する。
【０１９２】
入力後、リモートマシン上でテキストボックスに表示されたＡとＢの出力と、受信したユーザ操作マシンの出力を比較して、結果をユーザ操作マシンに送信する。
【０１９３】
［第７の実施形態］
本実施形態では、任意の入力に対して表示されたウインドウが、ウインドウの種類は同じだが、ホスト名や、ＩＰアドレスなどマシン固有の情報が含まれていてそれらの情報のみが異なっているという点で第１の実施形態と異なっている。
【０１９４】
図１３のようにアイコンＡをダブルクリックして表示されるウインドウにＩＰアドレスが含まれている場合、第１の実施形態の動作では、すべてのリモートマシンの比較結果が"Ｎｏｔ  ｅｑｕａｌ"としてユーザに通知される。
【０１９５】
本実施形態では、あらかじめ同一とみなす情報をユーザがシステムに与えておく。
【０１９６】
本実施形態では、１９２.１６８.１.の次に続く文字列が異なっていても、その文字列は同じとみなす。
【０１９７】
ユーザ操作マシンとリモートマシンのウインドウの構成情報の差は、１９２.１６８．１．に続く数字だけなので、比較結果は"Ｅｑｕａｌ"となる。
【０１９８】
この方法により、マシン固有の情報が表示されるウインドウの場合も、ユーザ操作マシンに対する操作のみで処理を行うことができる。
【産業上の利用可能性】
【０１９９】
本発明は、ＧＵＩシステムに利用可能であり、特に、複数台のマシンに同じ操作をする場合に利用可能である。
【図面の簡単な説明】
【０２００】
【図１】本発明の実施形態の概略構成を示すブロック図である。
【図２】本発明の実施形態の概略構成を示すブロック図である。
【図３】本発明の第１の実施形態の動作を説明するための図である。
【図４】本発明の第１の実施形態の動作を説明するための図である。
【図５】本発明の第２の実施形態の動作を説明するための図である。
【図６】本発明の第３の実施形態の動作を説明するための図である。
【図７】本発明の第３の実施形態の動作を説明するための図である。
【図８】本発明の第４の実施形態を説明するための図である。
【図９】本発明の第４の実施形態を説明するための図である。
【図１０】本発明の第５の実施形態の動作を説明するための図である。
【図１１】本発明の第５の実施形態の動作を説明するための図である。
【図１２】本発明の第６の実施形態を説明するための図である。
【図１３】本発明の第７の実施形態を説明するための図である。
【符号の説明】
【０２０１】
１  ユーザ操作マシン
２  リモートマシン
１１  入力手段
１２  入力検出手段
１３  入力情報抽出手段
１４  入力情報送信手段
１５  入力実行手段
１６  出力検出手段
１７  出力情報抽出手段
１８  出力情報送信手段
１９  出力実行手段
１ａ  比較結果受信手段
１ｂ  比較結果出力手段
１ｃ  出力手段
２１  入力情報受信手段
２２  入力実行手段
２３  出力検出手段
２４  出力情報抽出手段
２５  出力情報受信手段
２６  出力情報保存手段
２７  出力情報比較手段
２８  比較結果送信手段
２９  出力実行手段
２ａ  出力手段
【図１】
2008250778.tif 000003
【図２】
2008250778.tif 000004
【図３】
2008250778.tif 000005
【図４】
2008250778.tif 000006
【図５】
2008250778.tif 000007
【図６】
2008250778.tif 000008
【図７】
2008250778.tif 000009
【図８】
2008250778.tif 000010
【図９】
2008250778.tif 000011
【図１０】
2008250778.tif 000012
【図１１】
2008250778.tif 000013
【図１２】
2008250778.tif 000014
【図１３】
2008250778.tif 000015