説明

GUIシステム

【課題】複数マシンに対する同一のGUI操作の時間を短縮するとともに、一部のマシンに対する設定間違いをなくすようにすることを目的とする。
【解決手段】ユーザ操作マシン1と、リモートマシン2とを備えるGUIシステムにおいて、ユーザ操作マシン1は、ユーザの操作を入力するための入力手段11と、入力手段11によって入力された入力を検出する入力検出手段12と、入力手段11によって入力された内容である入力情報を検出する入力情報抽出手段13と、入力手段11によって入力された入力情報を実行する入力実行手段15と、入力情報をリモートマシン2に送信する入力情報送信手段14と、を有し、リモートマシン2は、入力情報送信手段14によって送信された入力情報を受信する入力情報受信手段21と、入力情報受信手段21が受信した入力情報を実行する入力実行手段22と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、GUIシステムに関し、特に、複数マシンに対して同一の操作を行うGUIシステムに関する。
【背景技術】
【0002】
従来、UNIX(登録商標)などのコマンドラインといったGUI(Graphical User Interface)を備えたシステムでは、複数台のマシンに同じ操作をする場合、rshを使用してすべてのマシンに同じコマンドを発行すればよかった。
【0003】
ただし、この方法では、rshを使用しているため、コマンドが入力を要求する場合に対応できないといったことや、GUIには適用できないといった問題があった。
【0004】
従来技術としては、以下にあげるものがある。
【0005】
特許文献1には、スクリプト解釈手段により現在実行中のテストスクリプトの内容、さらにテスト対象プログラムのテスト結果として画面の論理構造(例.画面の親子関係)を画面構造ファイルに記憶させ、この操作後、過去の画面構造ファイルとの比較をし、差異が発生した操作を画面構造ファイルより検索し、記憶しておいたテストスクリプトからその操作内容、画面構成要素の種類と差異の内容をテスト結果として得るGUIプログラムのテスト装置が開示されている。
【0006】
特許文献2には、被操作端末に、他の端末装置からのリモート操作メッセージを受信する通信制御部と、受信メッセージから抽出された操作入力情報をオペレーティングシステムに入力する基本制御部と、上記操作入力情報とこれに応答した特定の端末動作をリモート操作履歴として記録する操作記録/再生制御部とを設ける技術が開示されている。
【0007】
特許文献3には、1台のコンピュータ上での操作を入力する入力部、入力データをメタ構造に対する操作として解析し操作データとして定義する解析・定義部、定義データを複数台コンピュータへ送信する送信部、を有する単一コンピュータと、単一コンピュータからの操作指示を受け取り、受信したデータを解析する解析部と、解析されたデータより同一メタ構造を有するOS又は製品に対して同じ操作を実行する実行部を有する複数台コンピュータとを有する技術が開示されている。
【特許文献1】特開2001−306358号公報
【特許文献2】特開2002−091914号公報
【特許文献3】特開2004−078624号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
複数のマシンに対して同じGUI操作を行うには従来、以下の方法を用いていた。
【0009】
(1)すべてのマシンに個別にログインして設定する。
【0010】
(2)専用につくられたインターフェースから、複数マシン同時に操作する。
【0011】
(1)の方法では、個別に設定していかなければならないため、マシンの数に応じて作業時間が増していた。
【0012】
(2)の方法では、各操作用に専用インターフェースを作成しなければならないため、一部のGUI操作に限られてしまっていた。
【0013】
そこで、本発明は、複数マシンに対する同一のGUI操作の時間を短縮するとともに、一部のマシンに対する設定間違いをなくすようにすることを目的とする。
【課題を解決するための手段】
【0014】
本発明は、上記課題を解決するための手段として、ユーザが操作を行うマシンであるユーザ操作マシンと、該ユーザ操作マシンに対して行った操作と同じ動作を行うマシンであるリモートマシンとを備えるGUIシステムにおいて、前記ユーザ操作マシンは、前記ユーザの操作を入力するための入力手段と、該入力手段によって入力された入力を検出する入力検出手段と、該入力手段によって入力された内容である入力情報を検出する入力情報抽出手段と、前記入力手段によって入力された入力情報を実行する入力実行手段と、前記入力情報を前記リモートマシンに送信する入力情報送信手段と、を有し、前記リモートマシンは、前記入力情報送信手段によって送信された前記入力情報を受信する入力情報受信手段と、該入力情報受信手段が受信した前記入力情報を実行する入力実行手段と、を有することを特徴とする。
【0015】
また、本発明は、前記リモートマシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、該出力される内容である出力情報を抽出する出力情報抽出手段と、前記出力情報を実行する出力実行手段と、前記出力を表示する出力手段と、を有することを特徴とする。
【0016】
また、本発明は、前記ユーザ操作マシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、該出力される内容である出力情報を検出する出力情報抽出手段と、前記出力情報を実行する出力実行手段と、前記出力を表示する出力手段と、を有することを特徴とする。
【0017】
また、本発明は、前記ユーザ操作マシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、前記リモートマシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする。
【0018】
また、本発明は、前記リモートマシンは、前記出力情報受信手段が受信した前記出力情報と前記出力情報抽出手段が抽出した出力情報とを保存する出力情報保存手段を有することを特徴とする。
【0019】
また、本発明は、前記リモートマシンは、前記出力情報保存手段に保存される前記リモートマシンの出力情報と前記ユーザ操作マシンの出力情報とを比較する出力情報比較手段を有することを特徴とする。
【0020】
また、本発明は、前記リモートマシンは、前記出力情報比較手段によって比較された結果を送信する比較結果送信手段を有しており、前記ユーザ操作マシンは、前記比較結果送信手段が送信した比較結果を受信する比較結果受信手段と、該比較結果受信手段が受信した比較結果を出力する比較結果出力手段を有することを特徴とする。
【0021】
また、本発明は、前記リモートマシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、前記ユーザ操作マシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする。
【0022】
また、本発明は、前記ユーザ操作マシンは、前記出力情報送信手段が受信した出力情報を比較する出力情報比較手段を有することを特徴とする。
【0023】
また、本発明は、前記ユーザ操作マシンは、前記出力情報比較手段によって比較された比較結果が同じグループごとに出力情報から出力を復元する出力復元手段と、該出力復元手段によって復元された出力を実行する出力実行手段と、該出力実行手段が実行した出力を表示する出力手段と、を有することを特徴とする。
【0024】
また、本発明は、前記リモートマシンは、複数あることを特徴とする。
【発明の効果】
【0025】
本発明によれば、複数マシンに対する同一のGUI操作の時間を短縮できる。その理由は、従来マシンごとに個別に行っていたGUIの入出力を、ユーザ操作マシンに対する操作のみで行うからである。
【0026】
また、本発明によれば、複数マシンに対する同一のGUI操作をするときに、一部のマシンのみ別設定をしてしまうという設定間違いをなくすことができる。その理由は、複数マシンに対する操作を一回で行うため、一部のマシンのみ別設定になるということがないからである。
【発明を実施するための最良の形態】
【0027】
以下、添付図面を参照して本発明を実施するための最良の実施の形態を説明する。
【0028】
まず、本発明の原理について説明する。
【0029】
図1は、本発明の実施形態の概略構成を示すブロック図である。
【0030】
図1に示すように、ユーザがユーザ操作マシン1の入力手段11から入力すると、その入力は入力検出手段12で検出される。そこでどういう入力がされたかという入力情報が入力情報抽出手段13で抽出された後、入力実行手段15を用いて自マシンで実行する。
【0031】
また、入力情報抽出手段13で抽出された入力情報は、入力情報送信手段14によって他のすべてのリモートマシン2に送られる。
【0032】
リモートマシン2は、入力情報受信手段21によってユーザ操作マシン1から入力を受け取り、入力実行手段22を用いてその入力を実行する。
【0033】
入力に対して出力がある場合、ユーザ操作マシン1では、出力検出手段16によって出力が行われることを検出する。
【0034】
ここで入力に対して出力がない場合とは、PC画面上において何もないところをクリックした場合などがあげられる(PC画面上で何もないところをクリックした場合、クリックするという入力はあるが画面上では何も変化しないので、出力はない。)。
【0035】
出力は出力情報抽出手段17によって抽出され、出力情報送信手段18によって、他のすべてのリモートマシン2に送られる。
【0036】
各リモートマシン2でもユーザ操作マシン1と同様に出力がある場合は、出力検出手段23によって出力があることを検出する。
【0037】
出力検出手段23によって検出された出力の出力内容を示す出力情報は出力情報抽出手段24によって抽出され、抽出した出力情報を出力情報保存手段26で保存する。
【0038】
また、出力情報抽出手段24で抽出した出力情報は、出力実行手段29によって出力が行われ、出力手段2a上に表示される。
【0039】
各リモートマシン2は、出力情報受信手段25によってユーザ操作マシン1の出力情報を受け取る。この出力情報は出力情報保存手段26で保存される。
【0040】
リモートマシン2における自マシンの出力情報の保存と、ユーザ操作マシン1の出力情報の保存は順不同で行われる。
【0041】
出力情報保存手段26にユーザ操作マシン1の出力情報と、リモートマシン2の出力情報の2つが揃ったら、それらは出力情報比較手段27で比較され、その比較結果が比較結果送信手段28によってユーザ操作マシン1に送られる。
【0042】
ユーザ操作マシン1は、比較結果受信手段1aによって比較結果を受け取り、比較結果に異なるものがあった場合は、比較結果出力手段1bによって出力がおこなわれ、出力手段1c上に表示される。
【0043】
本発明の別の原理を説明する。
【0044】
図2は、本発明の別の実施形態の概略構成を示すブロック図である。
【0045】
図2に示すように、ユーザがユーザ操作マシン1の入力手段11から入力すると、その入力は入力検出手段12で検出される。そこでどういう入力がされたかという入力情報が入力情報抽出手段13で抽出された後、入力情報は、入力情報送信手段14によって他のすべてのリモートマシン2に送られる。
【0046】
リモートマシン2は、入力情報受信手段21によってユーザ操作マシン1から入力を受け取り、入力実行手段22を用いてその入力を実行する。
【0047】
入力に対して出力がある場合、出力検出手段23によって出力があることを検出する。
【0048】
出力検出手段23によって検出された出力の出力内容を示す出力情報は出力情報抽出手段24によって抽出され、抽出した出力情報を出力情報送信手段25によって、ユーザ操作マシン1に送信する。
【0049】
また、出力情報は出力実行手段26によって出力され、出力手段27に表示される。
【0050】
ユーザ操作マシン1は、出力情報受信手段15によってリモートマシン2の出力情報を受け取る。
【0051】
すべてのリモートマシン2から出力情報を受け取ったら、それらの出力情報は出力情報比較手段16によって比較される。
【0052】
比較結果が同じグループごとに出力復元手段17によって出力情報から出力が復元される。復元された出力は、出力実行手段18によって出力され、出力手段19に表示される。
【0053】
[第1の実施形態]
[構成の説明]
図1を参照すると、本実施形態はユーザが操作を行うマシンであるユーザ操作マシン1と、ユーザ操作マシン1に対して行った動作と同様の操作を行うマシンであるマシン2とを含む。リモートマシン2は、通常、同一の操作を行いたい台数分ある。
【0054】
ユーザ操作マシン1は、入力手段11と、入力検出手段12と、入力情報抽出手段13と、入力情報送信手段14と、入力実行手段15と、出力検出手段16と、出力情報抽出手段18と、出力実行手段19と、比較結果受信手段1aと、比較結果出力手段1bと、出力手段1cとを含む。
【0055】
入力手段11は、マウスやキーボードなどであり、ユーザは入力手段11を用いて、GUIから入力を行う。
【0056】
入力検出手段12は、入力手段11によって行われた入力をOS内部で検出する。
【0057】
入力情報抽出手段13は、入力検出手段12によって検出された入力がどのようなものかを抽出して、抽出した情報を入力情報とする。
【0058】
入力情報送信手段14は、入力情報抽出手段13によって抽出された入力情報をリモートマシンに2に送信する。
【0059】
入力実行手段15は、入力情報抽出手段13によって抽出された入力情報を実行する。
【0060】
出力検出手段16は、GUIに出力がある場合、OS内部で出力を検知する。
【0061】
出力情報抽出手段17は、出力検出手段16によって、検出された出力がどのようなものかを抽出して、抽出した情報を出力情報とする。
【0062】
出力情報送信手段18は、出力情報抽出手段17によって抽出された出力情報をリモートマシン2に送信する。
【0063】
出力実行手段19は、出力情報抽出手段17によって抽出された出力情報を実行する。
【0064】
比較結果受信手段1aは、リモートマシン2から送信された、出力情報の比較結果を受信する。
【0065】
比較結果出力手段1bは、比較結果受信手段1aによって受信した比較結果を必要に応じて出力する。
【0066】
出力手段1cは、コンソールなどであり、GUIの出力を表示する。
【0067】
リモートマシン2は、入力情報受信手段21と、入力実行手段22と、出力検出手段23と、出力情報抽出手段24と、出力情報受信手段25と、出力情報保存手段26と、出力情報比較手段27と、比較結果送信手段28と、出力実行手段29と、出力手段2aとを含む。
【0068】
入力情報受信手段21は、ユーザ操作マシン1から送信された入力情報を受信する。
【0069】
入力実行手段22は、入力情報受信手段21によって受信された入力情報を実行する。
【0070】
出力検出手段23は、GUIに出力がある場合、OS内部で出力を検知する。
【0071】
出力情報抽出手段24は、出力検出手段23によって、検出された出力がどのようなものかを抽出して、抽出した情報を出力情報とする。
【0072】
出力情報受信手段25は、ユーザ操作マシン1から送信された出力情報を受信する。
【0073】
出力情報保存手段26は、出力情報抽出手段24によって抽出されたリモートマシン2の出力情報と、出力情報受信手段25によって受信したユーザ操作マシン1の出力情報を保存する。
【0074】
出力情報比較手段27は、出力情報保存手段27によって保存したユーザ操作マシン1の出力情報と、リモートマシン2の出力情報を比較する。
【0075】
比較結果送信手段28は、出力情報比較手段27によって比較した結果をユーザ操作マシン1に送信する。
【0076】
出力実行手段29は、出力情報抽出手段24によって抽出された出力情報を実行する。
【0077】
出力手段2aは、コンソールなどであり、GUIの出力を表示する。
【0078】
[動作の説明]
図1、図3、図4を参照して本実施形態の動作について詳細に説明する。
【0079】
本実施形態では、図3に示すようなユーザ操作マシン1のアイコンAをマウス(入力手段11)でダブルクリックして、"Yes"又は"No"の入力を促すウインドウ(以後、YesNoダイアログ)を全マシン上で開くという動作を行う。
【0080】
ユーザ操作マシンのコンソール上のアイコンAをユーザがマウス(入力手段11)でダブルクリックする。
【0081】
マウスからの入力は割り込みでCPUに通知される。
【0082】
割り込みを受けたOSはデバイスから入力情報を読み込む。
【0083】
ここでは、動作「マウスのダブルクリック」と入力した座標「アイコンAの座標」が入力情報になる。
【0084】
入力は、ウインドウシステムを管理するプロセス(以下、ウインドウシステム管理プロセス)にシグナルで通知され、シグナルを受け取ったウインドウシステム管理プロセスは、システムコールを発行してOSから入力情報を受け取る(入力情報検出手段12、入力情報抽出手段13)。
【0085】
ここでは、動作「マウスのダブルクリック」と入力した座標「アイコンAの座標」が入力情報になる。
【0086】
ウインドウシステム管理プロセスは、入力情報の動作が「マウスのダブルクリック」であることから座標を確認する。
【0087】
座標はアイコンAの位置なので、ウインドウシステム管理プロセスは、動作である「マウスのダブルクリック」をウインドウのイベントに変換して、アイコンAを管理するプロセスに送る。
【0088】
イベントを受け取ったアイコンAを管理するプロセスは、ユーザプログラム中で各イベントに対して設定されている動作を行う(入力実行手段15)。
【0089】
ここではYesNoダイアログが開く。
【0090】
また、ユーザ操作マシンのウインドウシステム管理プロセスは、OSから読み取った入力情報を全リモートマシンのウインドウシステム管理プロセスに送信する(入力情報送信手段14)。
【0091】
なお、送信時に入力情報を送るリモートマシンを選択することで、特定のリモートマシンにのみ入力情報を送ることも可能である。
【0092】
入力情報を受け取ったリモートマシンのウインドウシステム管理プロセスは、入力を実行する(入力情報受信手段21、入力実行手段22)。
【0093】
入力は、まず入力情報の動作が「マウスのダブルクリック」であることから入力情報の座標を確認される。
【0094】
座標はアイコンAの位置なので、ウインドウシステム管理プロセスは、動作である「マウスのダブルクリック」をウインドウのイベントに変換して、アイコンAを管理するプロセスに送る。
【0095】
イベントを受け取ったアイコンAを管理するプロセスは、ユーザプログラム中で各イベントに対して設定されている動作を行う。
【0096】
ここではYesNoダイアログが開かれる。このようにして、ユーザ操作マシンとリモートマシンで同様のウインドウが開かれる。
【0097】
本実施形態では、ウインドウのデータ構造は図4のようにウインドウを構成する内部オブジェクトをリストで連結して管理している。
【0098】
各ウインドウにはウインドウを識別するために一意なIDが付与されている。このIDはユーザ操作マシンとリモートマシンで同じ動作をして開いたウインドウは同じIDになるようにシステム起動後に同期がとられている。
【0099】
ウインドウを構成するオブジェクトは、ウインドウ内でオブジェクトを識別するオブジェクトID、オブジェクト上に表示される文字列や画像などのオブジェクト値、親オブジェクトのID、オブジェクトを描画する座標、オブジェクトのサイズを情報として持っている。
【0100】
ユーザ操作マシンとリモートマシンでは、YesNoダイアログを描画する関数がコールされたら、リストの順番にしたがって、オブジェクトID1のシンプルウインドウ、オブジェクトID2のボタン(値は"Yes")、オブジェクトID3のボタン(値は"No")の順でオブジェクトを描画して一つのウインドウを描画する(出力検出手段16、出力情報抽出手段17、出力実行手段19、出力手段1c)。
【0101】
また、ユーザ操作マシンでは、YesNoダイアログを描画する関数がコールされたときに関数内で、YesNoダイアログの連結リストで管理されているデータをパックしてユーザ操作マシン出力情報として、全リモートマシンに送る(出力情報送信手段18)。
【0102】
リモートマシンでは、YesNoダイアログを描画する関数がコールされたときに、連結リストで管理されているYesNoダイアログの出力情報をパックしてリモートマシン出力情報としてウインドウシステム管理プロセス内で保存しておく(出力検出手段23、出力情報抽出手段24、出力情報保存手段26)。
【0103】
リモートマシンは、ユーザ操作マシン出力情報の受信と、自マシンでのリモートマシン出力情報の保存の両方が完了したら、両者を比較する(出力情報受信手段25、出力情報比較手段27)。
【0104】
YesNoダイアログの場合の手順は以下の通りである。
【0105】
まずウインドウIDを見て、同じウインドウIDの出力情報を比較する。
【0106】
その次に、リストの最初のオブジェクト(オブジェクトID:1)を比較する。
【0107】
ここでは、オブジェクトの種類、オブジェクト値を比較対象にする。
【0108】
したがって、オブジェクトの描画座標とサイズは比較対象にしていない。
【0109】
オブジェクトの種類はシンプルウインドウ、オブジェクト値はNULLである。
【0110】
リストのポインタを進めて、オブジェクトID:2のオブジェクトを比較する。
【0111】
オブジェクトの種類はボタン、オブジェクト値は"Yes"文字列である。
【0112】
リストのポインタを進めてオブジェクトID:3のオブジェクトを比較する。
【0113】
オブジェクトの種類はボタン、オブジェクト値は"No"文字列である。
【0114】
すべてのオブジェクトでオブジェクトの種類とオブジェクト値が同じである場合、それらの出力情報の比較結果は"equal"となる。
【0115】
本実施形態では、ユーザ操作マシンとリモートマシンで同じ入力がされているので、出力情報は同じであり、比較結果は"equal"である。
【0116】
リモートマシンは比較結果をユーザ操作マシンに送る(比較結果送信手段28)。
【0117】
ユーザ操作マシンは、すべてのリモートマシンから比較結果を受け取り、ウインドウシステム管理プロセスで処理される(比較結果受信手段1a、比較結果出力手段1b)。
【0118】
比較結果は、すべて"equal"であるので特になにもしない。
【0119】
ユーザ操作マシンで出力されたウインドウに対して、同様の手順で入力を実施することにより、本実施形態を続けて適用することが可能である。
【0120】
なお、ウインドウの入力情報と出力情報の抽出と比較、入力と出力の実行は、使用するOS及びウインドウシステムの仕様にしたがって行う。
【0121】
したがって、IDによりウインドウを一意に識別できるようなシステムでは、出力情報の抽出と比較の対象はIDのみでも可能であり、本発明を容易に実施できる。
【0122】
[第2の実施形態]
図5を参照すると、第1の実施形態とはユーザ操作マシンで入力した後にリモートマシン:3上で出力されるウインドウがエラー通知ウインドウとなり、なんらかの原因でユーザ操作マシンの出力と異なっているという点である。
【0123】
出力結果が異なったリモートマシンからは、比較結果として"Not equal"がユーザ操作マシンに送られる。
【0124】
すべてのリモートマシンから比較結果を受け取ったユーザ操作マシンは、図5のように比較結果が"Not equal"のマシンの情報を出力差異通知ウインドウでユーザに通知する。
【0125】
ユーザは比較結果が"Not equal"であるマシンに対して、原因解明の調査を行うことが可能になる。
【0126】
もし、リモートマシンにおいてエラーによりユーザ操作マシンへ比較結果を送信できない場合は、ユーザ操作マシンで最初に任意のリモートマシンから比較結果を受け取ったときからタイマーを設定しておいて、一定時間内にすべてのリモートマシンから比較結果を受信できない場合にタイムアウトを検出することで、比較結果が来ない場合に対応できる。
【0127】
また、出力結果が行った場合に、リモートマシンからユーザ操作マシンに比較結果を送るのではなく、出力結果が異なったリモートマシンのウインドウを、ウインドウシステムの仕組みを利用してユーザ操作マシンにそのまま表示することにより、より早く出力結果を知ることができる。
【0128】
[第3の実施形態]
[構成の説明]
図2を参照すると、本実施形態はユーザが操作を行うマシンであるユーザ操作マシン1と、ユーザ操作マシン1に対して行った動作と同様の操作を行うマシンであるマシン2とを含む。
【0129】
ユーザ操作マシン1は、入力手段11と、入力検出手段12と、入力情報抽出手段13と、入力情報送信手段14と、出力情報受信手段15と、出力情報比較手段16と、出力復元手段17と、出力実行手段18と、出力手段19とを含む。
【0130】
入力手段11は、マウスやキーボードなどであり、ユーザは入力手段11を用いて、GUIから入力を行う。
【0131】
入力検出手段12は、入力手段11によって行われた入力をOS内部で検出する。
【0132】
入力情報抽出手段13は、入力検出手段12によって検出された入力がどのようなものかを抽出して、抽出した情報を入力情報とする。
【0133】
入力情報送信手段14は、入力情報抽出手段13によって抽出された入力情報をリモートマシン2に送信する。
【0134】
出力情報受信手段15は、リモートマシン2から送信された出力情報を受信する。
【0135】
出力情報比較手段16は、すべてのリモートマシン2から送られてきた出力情報を比較して、同一出力情報ごとにグループに分ける。
【0136】
出力復元手段17は、出力情報比較手段16によって比較されグループに分けられた出力情報から出力を復元する。ユーザ操作マシンでは、入力が実際に実行されないので、出力されたウインドウに対して操作できるようにリモートマシンの出力を復元する必要がある。
【0137】
出力実行手段18は、出力実行手段18によって復元された出力を実行する。
【0138】
出力手段19は、コンソールなどであり、GUIの出力を表示する。
【0139】
リモートマシン2は、入力情報受信手段21と、入力実行手段22と、出力検出手段23と、出力情報抽出手段24と、出力情報送信手段25と、出力実行手段26と、出力手段27とを含む。
【0140】
入力情報受信手段21は、ユーザ操作マシン1から送信された入力情報を受信する。
【0141】
入力実行手段22は、入力情報受信手段21によって受信された入力情報を実行する。
【0142】
出力検出手段23は、GUIに出力がある場合、OS内部で出力を検知する。
【0143】
出力情報抽出手段24は、出力検出手段23によって、検出された出力がどのようなものかを抽出して、抽出した情報を出力情報とする。
【0144】
出力情報送信手段25は、出力情報抽出手段24によって抽出された出力情報をユーザ操作マシン1に送信する。
【0145】
出力実行手段26は、出力情報抽出手段24によって抽出された出力情報を実行する。
【0146】
出力手段27は、コンソールなどであり、GUIの出力を表示する。
【0147】
[動作の説明]
図2、図6、図7を参照して本実施形態の動作について詳細に説明する。
【0148】
第1の実施形態とは、ユーザ操作マシンとリモートマシンの出力情報の比較方法と、ユーザが操作マシンへのウインドウの出力の仕方が異なる。
【0149】
第1の実施形態ではユーザ操作マシンではリモートマシンと同様にユーザが行った入力が実際に実行されて出力が行われるが、本実施形態では、実際に入力が実行されるのはリモートマシンだけであり、ユーザ操作マシンはアプリケーションの出力を行うのみである。
【0150】
ユーザ操作マシンのコンソール上のアイコンAをユーザがマウス(入力手段11)でダブルクリックする。
【0151】
マウスからの入力は割り込みでCPUに通知される。
【0152】
割り込みを受けたOSはデバイスから入力情報を読み込む。入力は、ウインドウシステムを管理するプロセス(以下、ウインドウシステム管理プロセス)にシグナルで通知され、シグナルを受け取ったウインドウシステム管理プロセスは、システムコールを発行してOSから入力情報を受け取る(入力情報検出手段12、入力情報抽出手段13)。
【0153】
ここでは、動作「マウスのダブルクリック」と入力した座標「アイコンAの座標」が入力情報になる。
【0154】
ユーザ操作マシンのウインドウシステム管理プロセスは、OSから読み取った入力情報を全リモートマシンのウインドウシステム管理プロセスに送信する(入力情報送信手段14)。
【0155】
ユーザ操作マシンはすべてのリモートマシンからウインドウの出力情報を受け取るまで待ちに入る。
【0156】
リモートマシンで入力情報は、ウインドウシステム管理プロセスに渡され、入力を実行する(入力情報受信手段21、入力実行手段22)。
【0157】
入力は、まず入力情報の動作が「マウスのダブルクリック」であることから入力情報の座標を確認される。
【0158】
座標はアイコンAの位置なので、ウインドウシステム管理プロセスは、動作である「マウスのダブルクリック」をウインドウのイベントに変換して、アイコンAを管理するプロセスに送る。
【0159】
イベントを受け取ったアイコンAを管理するプロセスは、ユーザプログラム中で各イベントに対して設定されている動作を行う。
【0160】
ここではYesNoダイアログが開かれる(出力実行手段26、出力手段27)。
【0161】
また、リモートマシンでは、YesNoダイアログを描画する関数がコールされたときに関数内で、連結リストで管理されているYesNoダイアログの出力情報をパックしてリモートマシン出力情報として、ユーザ操作マシンに送る(出力検出手段23、出力情報抽出手段24、出力情報送信手段25)。
【0162】
全リモートマシンからリモートマシン出力情報を受け取ったユーザ操作マシンは、全リモートマシンの出力情報を比較する(出力情報受信手段15、出力情報比較手段16)。
【0163】
図6に示されるように本実施形態では、リモートマシン:3の出力がエラー通知ウインドウであり、リモートマシン:1とリモートマシン:2のYesNoダイアログが異なっている。
【0164】
比較結果に異なるものがある場合は、結果が同じもの同士を同一のグループとして扱い、グループごとに出力が表示される。
【0165】
本実施形態では、ユーザ操作マシンではアプリケーションの実行はされないので、出力情報から出力を復元して、コンソール上のグループ単位出力ウインドウに表示が行われる(出力復元手段17、出力実行手段18、出力手段19)。
【0166】
図7のようにグループごとの出力の表示は、タブを用いてグループごとに切り替えられるようにしている。
【0167】
[第4の実施形態]
本実施形態では、ユーザ操作マシンとリモートマシンで処理の速さが異なっている。
【0168】
第1の実施形態を適用した場合、なんらかの原因でリモートマシンの出力の切り替えより、ユーザ操作マシンの出力の切り替え方が速くなり、リモートマシンで任意のウインドウ表示の比較処理が終了する前に、ユーザ操作マシンから次のウインドウの出力情報が送られてきたり、ユーザ操作マシンよりリモートマシンの方が出力の切り替えが速くなり、任意のウインドウの比較処理のための出力情報がユーザ操作マシンから送られてくる前に、リモートウインドウで次のウインドウ出力が発生したりすることが予想される。
【0169】
本実施形態では、図8のようにリモートマシンの出力の切り替えよりユーザ操作マシンの出力の切り替えの方が速いため、リモートマシンでウインドウID:1の表示の比較処理が終了する前に、ユーザ操作マシンから次のウインドウID:2の出力情報が送られてきた場合は、ユーザ操作マシンから送られてきたウインドウID:2の出力情報を保存しておき、前の出力情報の比較と、リモートマシンのウインドウID:2の出力が終了した時点でウインドウID:2の出力を比較して結果をユーザ操作マシンに送信する。
【0170】
また、図9のように、ユーザ操作マシンの出力の切り替えよりリモートマシンの出力の切り替えの方が速いため、ユーザ操作マシンからウインドウID:1の出力情報が送られてくる前に、リモートウインドウでウインドウID:2の出力が発生した場合は、ウインドウID:1の比較処理の前に、ウインドウID:2の出力情報の保存と表示を行い、ユーザ操作マシンからウインドウID:1とウインドウID:2の出力情報が送られてきた時点で比較して結果をユーザ操作マシンに送信する。
【0171】
このようにすれば、ユーザ操作マシンとリモートマシンの処理の速さに差が生じたとしても問題ない。
【0172】
[第5の実施形態]
本実施形態は、出力されるウインドウが、作業がどれくらい進んでいるかを示すプログレスバーであり、ウインドウの切り替えが頻繁に発生する。
【0173】
ユーザ操作マシンで前回のウインドウの表示から一定時間内にウインドウの出力切り替えがあった場合は、ウインドウの出力切り替えが止まるまで、リモートマシンに出力情報を送信しない。
【0174】
図10を参照して詳細な動作を説明する。
【0175】
第1の実施形態の動作にしたがって、全マシン上でプログレスバーのウインドウが初期状態で出力される。
【0176】
ユーザ操作マシンのウインドウの出力は、その時点の時間も記録しておく。
【0177】
その後、ユーザ操作マシンでは処理が進むにつれてプログレスバーが進む。プログレスバーが更新されるタイミングで、OS内部で出力を検出したときに、ウインドウの出力情報を保存してウインドウを表示する。
【0178】
そのときに、前回出力を検出して出力情報を保存したときから一定時間内であれば、リモートマシンに出力情報は送信せず、ウインドウの出力を実行する。
【0179】
リモートマシンでもプログレスバーが進み、ウインドウの表示切り替えが発生して出力情報を保存するが、ユーザ操作マシンから出力情報が送られてこなければ、そのウインドウの比較処理を保留して次のウインドウの表示を行う。
【0180】
またユーザ操作マシンのOS内部では、ウインドウが出力されたときにタイマーを開始する。
【0181】
このタイマーはウインドウの出力のたびにリセットされる。タイマーが一定時間を超えた、すなわち一定時間以上出力の切り替えがなければ、それまでに蓄積されたウインドウの出力情報をリモートマシンに送信する。
【0182】
それらの出力情報を受け取ったリモートマシンは、保留されている比較処理をすべて行う。
【0183】
このようにしてウインドウの出力の切り替えが頻繁に起こる場合にユーザ操作マシンから、リモートマシンへの出力情報の送信回数を減らすことができる。
【0184】
また、図11のように比較処理する出力情報を、送信が保留されている出力情報の中で最初と最後のみにすれば、ユーザ操作マシン内でのデータ蓄積に必要なスペース、ユーザ操作マシンからリモートマシンに送るデータ量、比較処理の回数を軽減することができる。
【0185】
[第6の実施形態]
本実施形態では、入力がウインドウ内のテキストボックスへの文章の記述であり、入力を連続して行う。
【0186】
第1の実施形態を適用した場合、入力を連続して行うと、入力と入力に対する出力によってリモートマシンに対するデータの送信が大量に発生する可能性がある。
【0187】
本実施形態では、ユーザが指定した一定期間内の入力と出力の送信を後でまとめて行うことで、リモートマシンへの大量のデータ通信を軽減する。
【0188】
図12に示すように、テキストボックスにAとBをいう文字を入力する場合、リモートマシンへのAとBの入力と出力情報の送信をまとめて行うには、まずユーザが一括処理のスイッチをONにする。
【0189】
その次にユーザがユーザ操作マシン上でテキストボックスにAとBをいう文字を入力した場合、AとBの入力と、AとBが入力されたときの出力が保存される。
【0190】
その後、ユーザが一括処理のスイッチをOFFにしたときに、保存されていた入力と出力の情報はまとめてリモートマシンに送信される。
【0191】
リモートマシンでは、まとめて受け取ったテキストボックスへのAとBという入力を順次実行する。
【0192】
入力後、リモートマシン上でテキストボックスに表示されたAとBの出力と、受信したユーザ操作マシンの出力を比較して、結果をユーザ操作マシンに送信する。
【0193】
[第7の実施形態]
本実施形態では、任意の入力に対して表示されたウインドウが、ウインドウの種類は同じだが、ホスト名や、IPアドレスなどマシン固有の情報が含まれていてそれらの情報のみが異なっているという点で第1の実施形態と異なっている。
【0194】
図13のようにアイコンAをダブルクリックして表示されるウインドウにIPアドレスが含まれている場合、第1の実施形態の動作では、すべてのリモートマシンの比較結果が"Not equal"としてユーザに通知される。
【0195】
本実施形態では、あらかじめ同一とみなす情報をユーザがシステムに与えておく。
【0196】
本実施形態では、192.168.1.の次に続く文字列が異なっていても、その文字列は同じとみなす。
【0197】
ユーザ操作マシンとリモートマシンのウインドウの構成情報の差は、192.168.1.に続く数字だけなので、比較結果は"Equal"となる。
【0198】
この方法により、マシン固有の情報が表示されるウインドウの場合も、ユーザ操作マシンに対する操作のみで処理を行うことができる。
【産業上の利用可能性】
【0199】
本発明は、GUIシステムに利用可能であり、特に、複数台のマシンに同じ操作をする場合に利用可能である。
【図面の簡単な説明】
【0200】
【図1】本発明の実施形態の概略構成を示すブロック図である。
【図2】本発明の実施形態の概略構成を示すブロック図である。
【図3】本発明の第1の実施形態の動作を説明するための図である。
【図4】本発明の第1の実施形態の動作を説明するための図である。
【図5】本発明の第2の実施形態の動作を説明するための図である。
【図6】本発明の第3の実施形態の動作を説明するための図である。
【図7】本発明の第3の実施形態の動作を説明するための図である。
【図8】本発明の第4の実施形態を説明するための図である。
【図9】本発明の第4の実施形態を説明するための図である。
【図10】本発明の第5の実施形態の動作を説明するための図である。
【図11】本発明の第5の実施形態の動作を説明するための図である。
【図12】本発明の第6の実施形態を説明するための図である。
【図13】本発明の第7の実施形態を説明するための図である。
【符号の説明】
【0201】
1 ユーザ操作マシン
2 リモートマシン
11 入力手段
12 入力検出手段
13 入力情報抽出手段
14 入力情報送信手段
15 入力実行手段
16 出力検出手段
17 出力情報抽出手段
18 出力情報送信手段
19 出力実行手段
1a 比較結果受信手段
1b 比較結果出力手段
1c 出力手段
21 入力情報受信手段
22 入力実行手段
23 出力検出手段
24 出力情報抽出手段
25 出力情報受信手段
26 出力情報保存手段
27 出力情報比較手段
28 比較結果送信手段
29 出力実行手段
2a 出力手段

【特許請求の範囲】
【請求項1】
ユーザが操作を行うマシンであるユーザ操作マシンと、該ユーザ操作マシンに対して行った操作と同じ動作を行うマシンであるリモートマシンとを備えるGUIシステムにおいて、
前記ユーザ操作マシンは、前記ユーザの操作を入力するための入力手段と、
該入力手段によって入力された入力を検出する入力検出手段と、
該入力手段によって入力された内容である入力情報を検出する入力情報抽出手段と、
前記入力手段によって入力された入力情報を実行する入力実行手段と、
前記入力情報を前記リモートマシンに送信する入力情報送信手段と、を有し、
前記リモートマシンは、前記入力情報送信手段によって送信された前記入力情報を受信する入力情報受信手段と、
該入力情報受信手段が受信した前記入力情報を実行する入力実行手段と、を有することを特徴とするGUIシステム。
【請求項2】
前記リモートマシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、
該出力される内容である出力情報を抽出する出力情報抽出手段と、
前記出力情報を実行する出力実行手段と、
前記出力を表示する出力手段と、を有することを特徴とする請求項1記載のGUIシステム。
【請求項3】
前記ユーザ操作マシンは、前記入力に対して出力がある場合、該出力を検出する出力検出手段と、
該出力される内容である出力情報を検出する出力情報抽出手段と、
前記出力情報を実行する出力実行手段と、
前記出力を表示する出力手段と、を有することを特徴とする請求項1又は2記載のGUIシステム。
【請求項4】
前記ユーザ操作マシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、
前記リモートマシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする請求項3記載のGUIシステム。
【請求項5】
前記リモートマシンは、前記出力情報受信手段が受信した前記出力情報と前記出力情報抽出手段が抽出した出力情報とを保存する出力情報保存手段を有することを特徴とする請求項4記載のGUIシステム。
【請求項6】
前記リモートマシンは、前記出力情報保存手段に保存される前記リモートマシンの出力情報と前記ユーザ操作マシンの出力情報とを比較する出力情報比較手段を有することを特徴とする請求項5記載のGUIシステム。
【請求項7】
前記リモートマシンは、前記出力情報比較手段によって比較された結果を送信する比較結果送信手段を有しており、
前記ユーザ操作マシンは、前記比較結果送信手段が送信した比較結果を受信する比較結果受信手段と、
該比較結果受信手段が受信した比較結果を出力する比較結果出力手段を有することを特徴とする請求項6記載のGUIシステム。
【請求項8】
前記リモートマシンは、前記出力情報抽出手段が抽出した出力情報を送信する出力情報送信手段を有しており、
前記ユーザ操作マシンは、前記出力情報送信手段が送信した出力情報を受信する出力情報受信手段を有することを特徴とする請求項2記載のGUIシステム。
【請求項9】
前記ユーザ操作マシンは、前記出力情報送信手段が受信した出力情報を比較する出力情報比較手段を有することを特徴とする請求項8記載のGUIシステム。
【請求項10】
前記ユーザ操作マシンは、前記出力情報比較手段によって比較された比較結果が同じグループごとに出力情報から出力を復元する出力復元手段と、
該出力復元手段によって復元された出力を実行する出力実行手段と、
該出力実行手段が実行した出力を表示する出力手段と、を有することを特徴とする請求項9記載のGUIシステム。
【請求項11】
前記リモートマシンは、複数あることを特徴とする請求項1から10のいずれか1項記載のGUIシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−250778(P2008−250778A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−92465(P2007−92465)
【出願日】平成19年3月30日(2007.3.30)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】