(57)【要約】  ユーザが操作する操作端末と、前記操作端末によって遠隔制御される１台以上の被操作端末とを備える計算機システムであって、操作情報から制御命令を生成するための生成ルールを保持し、ユーザが前記ユーザインターフェースを操作することによって発生する操作情報を取得し、前記生成ルールに従って、前記取得された操作情報から制御命令を生成し、前記生成された制御命令を前記被操作端末に送信し、前記被操作端末は、受信した前記制御命令を実行し、前記制御命令の実行結果を前記操作端末に送信し、前記操作端末は、前記被操作端末から送信される実行結果によって制御命令の実行の成否を判定する。
2012114519.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作する操作端末と、前記操作端末によって遠隔制御される１台以上の被操作端末とを備える計算機システムであって、
前記操作端末は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、ユーザインターフェース、及び、通信インターフェースを有し、
前記被操作端末は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、及び、通信インターフェースを有し、
前記計算機システムは、
ユーザによる操作情報から制御命令を生成するための生成ルールを保持し、
ユーザが前記ユーザインターフェースを操作することによって発生する操作情報を取得する操作情報取得部と、
前記生成ルールに従って、前記取得された操作情報から制御命令を生成する命令生成部と、
前記生成された制御命令を前記被操作端末に送信する命令送信部と、を有し、
前記被操作端末は、受信した前記制御命令を実行する命令実行部と、前記受信した制御命令の実行結果を前記操作端末に送信する実行結果送信部と、を有し、
前記操作端末は、前記被操作端末から送信される実行結果を受信し、前記受信した実行結果によって制御命令の実行の成否を判定する実行結果受信部を有することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記操作端末は、前記操作情報取得部、前記命令生成部、及び、前記命令送信部を有し、
前記操作情報取得部は、ユーザが前記操作端末のユーザインターフェースを操作することによって発生する操作情報を取得し、
前記命令生成部は、前記取得された操作情報から制御命令を生成し、
前記命令送信部は、前記生成された制御命令を前記被操作端末に送信することを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記生成ルールは、前記操作情報と前記制御命令とを対応させたものであって、
前記命令生成部は、
前記操作情報が、画面上の操作のみで画面上の変化以外の結果を生じないものである場合、当該操作情報を削除し、
前記操作情報が、他の操作情報と共に一つの処理を実行するものである場合、複数の操作情報を一つの制御命令にまとめることを特徴とする計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記制御命令は、操作対象を識別する情報と、操作のパラメータと、操作の種類の情報とを含むことを特徴とする計算機システム。
【請求項５】
請求項１に記載の計算機システムであって、
前記被操作端末から送信される実行結果は、当該被操作端末での制御命令の実行の成否、エラー発生箇所及びエラー発生原因の情報を含むことを特徴とする計算機システム。
【請求項６】
請求項２に記載の計算機システムであって、
前記計算機システムは、複数の前記被操作端末を備え、
前記操作端末は、前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記命令送信部は、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定し、該特定された宛先に制御命令を送信することを特徴とする計算機システム。
【請求項７】
請求項６に記載の計算機システムであって、
前記操作端末は、前記制御命令の実行結果を処理する実行結果出力部を有し、
前記実行結果受信部は、前記制御命令の宛先となった被操作端末から、当該制御命令の実行の結果を受信し、前記被操作端末毎の制御命令の実行の結果を格納し、
前記実行結果出力部は、前記被操作端末毎の制御命令の実行の成否を判定することを特徴とする計算機システム。
【請求項８】
請求項６に記載の計算機システムであって、前記端末情報は、前記被操作端末の宛先の情報、及び、前記被操作端末での制御命令の実行結果を含むことを特徴とする計算機システム。
【請求項９】
請求項１に記載の計算機システムであって、
前記複数の被操作端末の１台を代表端末に設定し、
前記操作端末は、
ユーザが前記ユーザインターフェースを操作することによって発生する入力情報を取得する入力情報取得部と、
前記取得した入力情報を前記代表端末に送信する入力情報送信部と、を有し、
前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記代表端末は、前記操作情報取得部及び前記命令生成部を有し、
前記操作情報取得部は、前記操作端末から送信された入力情報から操作情報を取得し、
前記命令生成部は、前記取得された操作情報から制御命令を生成し、
前記代表端末は、前記命令生成部が生成した制御命令を前記操作端末に送信し、
前記操作端末の命令送信部は、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定し、前記代表端末によって生成された制御命令を前記特定された被操作端末に送信することを特徴とする計算機システム。
【請求項１０】
請求項１に記載の計算機システムであって、
前記複数の被操作端末の１台を代表端末に設定し、
前記操作端末は、
ユーザが前記ユーザインターフェースを操作することによって発生する入力情報を取得する入力情報取得部と、
前記取得した入力情報を前記代表端末に送信する入力情報送信部と、を有し、
前記代表端末は、
前記操作情報取得部、前記命令生成部、及び、前記命令送信部を有し、
前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記操作情報取得部は、前記操作端末から送信された入力情報から操作情報を取得し、
前記命令生成部は、前記取得された操作情報から制御命令を生成し、
前記命令送信部は、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定し、前記代表端末によって生成された制御命令を他の前記被操作端末に送信することを特徴とする計算機システム。
【請求項１１】
請求項１に記載の計算機システムであって、
前記計算機システムは、前記制御命令を複数の前記被操作端末に送信する配信サーバを備え、
前記配信サーバは、前記命令生成部によって生成された制御命令を前記被操作端末に送信する前記命令送信部を有することを特徴とする計算機システム。
【請求項１２】
ユーザが操作する操作端末と、前記操作端末によって遠隔制御される１台以上の被操作端末とを有する計算機システムにおける計算機の制御方法であって、
前記操作端末は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、ユーザインターフェース、及び、通信インターフェースを有し、
前記被操作端末は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、及び、通信インターフェースを有し、
前記計算機システムは、ユーザによる操作情報から制御命令を生成するためのルールを含む生成ルールを保持し、
前記制御方法は、
ユーザが前記ユーザインターフェースを操作することによって発生する操作情報を取得するステップと、
前記生成ルールに従って、前記取得された操作情報から制御命令を生成するステップと、
前記生成された制御命令を前記被操作端末に送信するステップと、
前記被操作端末が、受信した前記制御命令を実行し、前記受信した制御命令の実行結果を前記操作端末に送信するステップと、
前記操作端末は、前記被操作端末から送信される実行結果を受信し、前記受信した実行結果によって制御命令の実行の成否を判定するステップとを含むことを特徴とする計算機の制御方法。
【請求項１３】
請求項１２に記載の計算機の制御方法であって、
前記操作端末が、ユーザがユーザインターフェースを操作することによって発生する操作情報を取得し、
前記操作端末が、前記生成ルールに従って、前記取得された操作情報から制御命令を生成し、
前記操作端末が、前記生成された制御命令を前記被操作端末に送信することを特徴とする計算機の制御方法。
【請求項１４】
請求項１２に記載の計算機の制御方法であって、
前記生成ルールは、前記操作情報と前記制御命令とを対応させたものであって、
前記制御命令を生成するステップでは、
前記操作情報が、画面上の操作のみで画面上の変化以外の結果を生じないものである場合、当該操作情報を削除し、
前記操作情報が、他の操作情報と共に一つの処理を実行するものである場合、複数の操作情報を一つの制御命令にまとめることを特徴とする計算機の制御方法。
【請求項１５】
請求項１３に記載の計算機の制御方法であって、
前記計算機システムは、複数の前記被操作端末を有し、
前記操作端末は、前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記スクリプトを送信するステップでは、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定し、該特定された宛先に制御命令を送信することを特徴とする計算機の制御方法。
【請求項１６】
請求項１５に記載の計算機の制御方法であって、
前記操作端末が、前記制御命令の宛先となった被操作端末から、当該制御命令の実行の結果を受信し、前記被操作端末毎の制御命令の実行の結果を格納するステップと、
前記操作端末が、前記被操作端末毎の制御命令の実行の成否を判定するステップとを含むことを特徴とする計算機の制御方法。
【請求項１７】
請求項１２に記載の計算機の制御方法であって、
前記操作端末は、前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記制御方法は、
前記操作端末が、前記複数の被操作端末の１台を代表端末に設定するステップと、
前記操作端末が、ユーザが前記ユーザインターフェースを操作することによって発生する入力情報を取得するステップと、
前記操作端末が、前記取得した入力情報を前記代表端末に送信するステップと、
前記代表端末が、前記操作端末から送信された入力情報から操作情報を取得するステップと、
前記代表端末が、前記生成ルールに従って、前記取得した操作情報から制御命令を生成するステップと、
前記代表端末が、前記生成された制御命令を前記操作端末に送信するステップと、
前記操作端末が、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定するステップと、
前記操作端末が、前記代表端末によって生成された制御命令を前記特定された被操作端末に送信するステップとを含むことを特徴とする計算機の制御方法。
【請求項１８】
請求項１２に記載の計算機の制御方法であって、
前記複数の被操作端末の１台が設定される代表端末が、前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記制御方法は、
前記操作端末が、ユーザが前記ユーザインターフェースを操作することによって発生する入力情報を取得するステップと、
前記操作端末が、前記取得した入力情報を前記代表端末に送信するステップと、
前記代表端末が、ユーザが前記ユーザインターフェースを操作することによって発生する操作情報を取得するステップと、
前記代表端末が、前記生成ルールに従って、前記取得した操作情報から制御命令を生成するステップと、
前記代表端末が、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定するステップと、
前記代表端末が、前記代表端末によって生成された制御命令を他の前記被操作端末に送信するステップとを含むことを特徴とする計算機の制御方法。
前記代表端末が、前記端末情報を参照して前記スクリプトを送信すべき被操作端末の宛先を特定し、前記代表端末によって生成されたスクリプトを前記特定された被操作端末に送信するステップとを含むことを特徴とする計算機の制御方法。
【請求項１９】
請求項１２に記載の計算機の制御方法であって、
前記計算機システムは、前記制御命令を複数の前記被操作端末に送信する配信サーバを有し、
前記配信サーバは、前記生成されたスクリプトを前記被操作端末に送信することを特徴とする計算機の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが操作する操作端末と、リモートコントロールされる被操作端末とを有する計算機システムに関する。
【背景技術】
【０００２】
遠隔地から他の計算機（被操作端末）リモートコントロールする計算機システムは、被操作端末のディスプレイに表示される内容と同一の内容が、操作端末のディスプレイに表示され、ユーザが操作端末で行った操作が実際に被操作端末上で行われる。この従来のリモートコントロールによると、被操作端末のディスプレイの表示内容を遠隔地の操作端末のディスプレイに表示させるため、被操作端末から操作端末にディスプレイの画面情報が転送される。このため、大容量の画面の描画データを転送する必要がある。また、操作端末から被操作端末には、ユーザが操作端末の画面上でキーボード、マウスを用いて行った操作（操作入力情報）が転送される。【０００３】
このリモートコントロールの従来技術として、特開２００１−２２９１０８号公報には、任意に選択された被操作端末の画面で行なった操作を他の複数の被操作端末に送信する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この従来技術では、被操作端末の画面情報がなければ、リモートコントロール操作ができない。前述したように、画面情報はデータ量が大きいので、操作端末と被操作端末との間の回線容量が小さい場合、操作端末の画面が追従せず、操作端末でスムーズな操作ができない問題があった。また、多数の被操作端末を制御する場合も同様の問題がある。
【課題を解決するための手段】
【０００５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ユーザが操作する操作端末と、前記操作端末によって遠隔制御される１台以上の被操作端末とを備える計算機システムであって、前記操作端末は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、ユーザインターフェース、及び、通信インターフェースを有し、前記被操作端末は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、及び、通信インターフェースを有し、前記計算機システムは、ユーザによる操作情報から制御命令を生成するための生成ルールを保持し、ユーザが前記ユーザインターフェースを操作することによって発生する操作情報を取得する操作情報取得部と、前記生成ルールに従って、前記取得された操作情報から制御命令を生成する命令生成部と、前記生成された制御命令を前記被操作端末に送信する命令送信部と、を有し、前記被操作端末は、受信した前記制御命令を実行する命令実行部と、前記受信した制御命令の実行結果を前記操作端末に送信する実行結果送信部と、を有し、前記操作端末は、前記被操作端末から送信される実行結果を受信し、前記受信した実行結果によって制御命令の実行の成否を判定する実行結果受信部を有する。
【発明の効果】
【０００６】
本発明の代表的な実施の形態によれば、端末間で転送されるデータ量を少なくすることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施形態の計算機システムの構成の一例を示す図である。
【図２Ａ】本発明の第１の実施形態の操作端末の構成の一例を示すブロック図である。
【図２Ｂ】本発明の第１の実施形態の被操作端末の構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態の操作情報リストの一例を説明する図である。
【図４】本発明の第１の実施形態の生成ルールの一例を説明する図である。
【図５】本発明の第１の実施形態において生成されたスクリプトの一例を説明する図である。
【図６Ａ】本発明の第１の実施形態の操作端末によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【図６Ｂ】本発明の第１の実施形態の操作端末によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【図７】本発明の第１の実施形態の被操作端末によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【図８】本発明の第２の実施形態の計算機システムの操作端末を主とした構成の一例を示すブロック図である。
【図９】本発明の第２の実施形態の端末情報の一例を説明する図である。
【図１０】本発明の第２の実施形態のリモートコントロール操作処理の一例のフローチャートである。
【図１１Ａ】本発明の第３の実施形態の計算機システムの操作端末を主とした構成の一例を示すブロック図である。
【図１１Ｂ】本発明の第３の実施形態の計算機システムの代表端末を主とした構成の一例を示すブロック図である。
【図１２】本発明の第３の実施形態の端末情報の一例を説明する図である。
【図１３】本発明の第３の実施形態の操作端末によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【図１４】本発明の第３の実施形態の代表端末によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【図１５】本発明の第３の実施形態の操作端末のディスプレイに表示される画面の一例を説明する図である。
【図１６Ａ】本発明の第４の実施形態の計算機システムの操作端末を主とした構成の一例を示すブロック図である。
【図１６Ｂ】本発明の第４の実施形態の計算機システムの代表端末を主とした構成の一例を示すブロック図である。
【図１７】本発明の第４の実施形態の操作端末によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【図１８】本発明の第５の実施形態の計算機システムの配信サーバを主とした構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面を参照して説明する。まず最初に、ユーザが操作する操作端末とリモートコントロールされる被操作端末とが１対１で設けられている第１の実施形態を説明し、次に、操作端末と被操作端末が１対複数で設けられている第２から第４の実施形態を説明し、最後に、配信サーバが設けられた第５の実施形態を説明する。
【０００９】
＜実施形態１＞
本発明の第１の実施形態では、操作端末１０１と被操作端末１２１とが１対１で設けられている。
【００１０】
図１は、第１の実施形態の計算機システムの構成の一例を示す図である。
【００１１】
第１の実施形態の計算機システムは、ユーザが操作する操作端末１０１と、操作端末１０１によってリモートコントロールされる被操作端末１２１とを備える。操作端末１０１及び被操作端末１２１は、汎用的なパーソナルコンピュータでも、専用の端末でもよい。
【００１２】
操作端末１０１と被操作端末１２１とはネットワーク１１０を介して接続される。ネットワーク１１０は、ＬＡＮなどの私設のネットワークを使用することも、無線ＬＡＮ、携帯電話、ＰＨＳ(Personal Handyphone System) などの公衆無線通信網を使用することもできる。
【００１３】
操作端末１０１には、ディスプレイ１０２、キーボード１０３及びマウス１０４が接続され、ユーザインターフェースを構成する。ディスプレイ１０２は、操作端末１０１からの指示に従ってユーザへ通知する画面を表示する。キーボード１０３及びマウス１０４は、ユーザによって操作され、操作端末１０１に入力される指示を受け付ける。
【００１４】
被操作端末１２１にも、同様に、ディスプレイ１２２、キーボード１２３及びマウス１２４が接続される。なお、被操作端末１２１は、操作端末１０１によってリモートコントロールされるので、ディスプレイ１２２、キーボード１２３及びマウス１２４が接続されなくてもよい。
【００１５】
従来のリモートコントロールによると、操作端末１０１のディスプレイ１０２には、被操作端末１２１のディスプレイ１２２と同一の画面が表示され、操作端末１０１のキーボード１０３及びマウス１０４に入力された操作は被操作端末１２１で再現される。この従来のリモートコントロールでは、操作端末１０１から被操作端末１２１へ入力情報が送信され（１１１）、被操作端末１２１から操作端末１０１へ画面情報が送信される（１１２）。
【００１６】
本実施形態のリモートコントロールによると、操作端末１０１は、キーボード１０３とマウス１０４で行う操作によって発生する入力情報１０５から取得される操作情報１０６を、スクリプト情報１０８に変換し（１０７）、このスクリプト情報１０８を被操作端末１２１へ送信する（１１１）。被操作端末１２１は、操作端末１０１から送信されたスクリプト情報１２５を実行することによって（１２６）、操作端末１０１で行われた操作を再現し、スクリプトの実行結果情報１２７を操作端末１０１に返信する。
【００１７】
また、被操作端末１２１は、スクリプトの実行結果情報１２７から、スクリプトの処理結果をディスプレイ１２２に表示するための画面情報１２８を生成する。この画面情報１２８は、被操作端末１２１の動作を操作端末１０１で確認するために、操作端末１０１に送信される（１１２）。なお、本実施形態では、スクリプトの実行結果情報１２７から画面情報１２８を生成するので、画面情報１２８が操作端末１０１に送信されなくてもよい。
【００１８】
図２Ａは、第１の実施形態の操作端末１０１の構成の一例を示すブロック図である。
【００１９】
操作端末１０１は、プロセッサ（ＣＰＵ）２０１、メモリ２０２、バス２０３、不揮発記憶装置２０４、入力インターフェース２０５、出力インターフェース２０６及びネットワークインターフェース２０７を有する計算機である。
【００２０】
メモリ２０２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶装置である。メモリ２０２は、オペレーティングシステム（ＯＳ）２０８及びアプリケーションプログラム２０９を格納する。プロセッサ２０１が、オペレーティングシステム２０８を実行することによって、操作端末１０１の基本機能が実現され、アプリケーションプログラム２０９を実行することによって、操作端末１０１がユーザに提供する機能が実装される。
【００２１】
また、メモリ２０２は、操作情報取得部２１０、スクリプト生成部２１１、スクリプト送信部２１２、スクリプト実行結果受信部２１３、スクリプト実行結果出力部２１４、画面情報受信部２１５及び画面情報出力部２１６を構成するためのプログラムを格納する。すなわち、プロセッサ２０１が、これらのプログラムを実行することによって、前記各部が実装される。
【００２２】
操作情報取得部２１０は、ＯＳ２０８又はアプリケーションプログラム２０９によって作成されウィンドウへ送信されるウィンドウメッセージ、及び、ユーザの操作（キーボード１０３及びマウス１０４に入力される操作指示）によって発生するウィンドウメッセージを取得し、ウィンドウメッセージから操作の内容、操作の値及び操作対象の情報（ウィンドウの階層情報、ウィンドウのクラス名、ウィンドウのタイトルなど）を抽出し、抽出した操作情報１０６を所定の記憶領域に格納する。
【００２３】
スクリプト生成部２１１は、操作情報取得部２１０が抽出した操作情報を、生成ルール２４０に基づいてスクリプト１０８へ変換し、生成したスクリプト１０８を所定の記憶領域に格納する。スクリプト送信部２１２は、スクリプト生成部２１１が生成したスクリプトを被操作端末１２１に送信する。
【００２４】
スクリプト実行結果受信部２１３は、被操作端末１２１から送信された実行結果情報を受信する。スクリプト実行結果出力部２１４は、受信した実行結果情報をディスプレイ１０２に表示するためのデータを生成する。
【００２５】
被操作端末１２１から送信された実行結果情報は、被操作端末においてスクリプトが実行された結果であり、スクリプトの実行の成否、エラーの有無及びエラーの内容が含まれる。エラーの内容には、スクリプトの実行が失敗した箇所を特定する情報（例えば、「操作AAAの項目BBBが存在しません。」）が含まれる。
【００２６】
画面情報受信部２１５は、被操作端末１２１から送信された画面情報を受信する。画面情報出力部２１６は、受信した画面情報をディスプレイ１０２に表示するためのデータを生成する。
【００２７】
不揮発記憶装置２０４は、例えば、磁気記憶装置、フラッシュメモリ等の大容量かつ不揮発性の記憶装置であり、生成ルール２４０を格納する。生成ルール２４０は、操作情報４０２からスクリプト４０３を生成するために使用され、その構成は図４を用いて後述する。
【００２８】
図２Ｂは、第１の実施形態の被操作端末１２１の構成の一例を示すブロック図である。
【００２９】
被操作端末１２１は、プロセッサ（ＣＰＵ）２２１、メモリ２２２、バス２２３、不揮発記憶装置２２４、入力インターフェース２２５、出力インターフェース２２６及びネットワークインターフェース２２７を有する計算機である。
【００３０】
メモリ２２２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶装置であり、不揮発記憶装置２２４は、例えば、磁気記憶装置、フラッシュメモリ等の大容量かつ不揮発性の記憶装置である。
【００３１】
メモリ２２２は、オペレーティングシステム（ＯＳ）２２８及びアプリケーションプログラム２２９を格納する。プロセッサ２２１が、オペレーティングシステム２２８を実行することによって、操作端末１２１の基本機能が実現され、アプリケーションプログラム２０９を実行することによって、操作端末１２１がユーザに提供する機能が実装される。
【００３２】
また、メモリ２２２は、スクリプト受信部２３０、スクリプト実行部２３１、スクリプト実行結果送信部２３２、画面情報取得部２３３及び画面情報送信部２３４を構成するためのプログラムを格納する。すなわち、プロセッサ２２１が、これらのプログラムを実行することによって、前記各部が実装される。
【００３３】
スクリプト受信部２３０は、操作端末１０１から送信されたスクリプト１２５を受信し、受信したスクリプト１２５を所定の記憶領域に格納する。スクリプト実行部２３１は、スクリプト受信部２３０が受信したスクリプト１２５を処理し、スクリプト１２５の実行結果（成功／エラー（エラー内容を含む））１２７を所定の記憶領域に格納する。
【００３４】
スクリプト実行結果送信部２３２は、スクリプトの実行結果１２７を操作端末１０１に送信する。スクリプトの実行結果には、スクリプトの実行の成否の情報及びエラー内容を含む。ＯＳ２２８は、スクリプトの実行結果をディスプレイ１２２に表示するためのデータを生成する。
【００３５】
画面情報取得部２３３は、ディスプレイ１２２に表示されている画面情報１２８を取得し、取得した画面情報１２８を所定の記憶領域に格納する。画面情報送信部２３４は、画面情報取得部２３３が取得した画面情報１２８を操作端末１０１に送信する。
【００３６】
図３は、第１の実施形態の操作情報を記録した操作情報リストの一例を説明する図である。
【００３７】
図３には、ユーザによる一連の１６個の操作が各行に記録された１６行の操作情報を示す。例えば、１行目は、親ウィンドウ"ABC"の下の子ウィンドウ"SysListView32"に含まれる項目"abc"に対して"Activate"操作を実行したことを示す。１行目の Window("ABC").WinListView("SysListView32") は、操作対象ウィンドウの階層構造を示し、WindowとWinListViewとは、それぞれのウィンドウのクラス名であり、"ABC"と"SysListView32"は、それぞれのウィンドウのタイトルであり、"abc"は実行される操作の値であり、Activateは実行される操作である。
【００３８】
図４は、第１の実施形態の生成ルール２４０の一例を説明する図であり、図５は、図４に示す生成ルール２４０に基づいて、図３に示す操作情報から生成されたスクリプトの一例を説明する図である。
【００３９】
図４に示す生成ルール２４０は、操作情報４０２と、当該操作情報から生成されるスクリプト４０３との対応関係を格納する。なお、ルール番号４０１は、生成ルールに付与された一意の番号である。
【００４０】
図４のルール１、２、３は、操作情報４０２のパラメータが座標位置を示し、他のアクションが発生していない操作情報を削除するルールである。例えば、"Click XXX,XXX"、"Move XXX,XXX"、"Resize XXX,XXX"（XXXは、画面上の座標を示す数字）のように、画面がクリックされた、ウィンドウが移動された、ウインドウの大きさが変更された等の操作情報には、対応するスクリプトが定義されていない。すなわち、スクリプト欄が「−」である操作情報は、スクリプトに変換されることなく、スクリプトへの変換時に削除される。
【００４１】
これは、画面上の変化以外の結果を生じない操作情報は、被操作端末１２１で実行される必要がなく、また。操作端末１０１と被操作端末１２１との間で画面サイズが異なり、画面上の座標が異なる場合があり、操作端末１０１と同じ座標への操作が、被操作端末１２１において異なる操作になることを防止するためである。これらのルールに基づいて、図３の行２、４、５の操作情報が削除される。
【００４２】
また、一般に、ユーザのマウスによる操作はキーボードによっても操作することができる。このため、図４のルール４、５は、キーボードの操作で効率的かつ正確に実行できるマウスの操作の操作情報を、より簡単なキーボードの操作に変換するルールである。ルール４、５のように、ある項目を選択して、マウスの右ボタンをクリックすることにより表示させたメニューから「削除」処理を選択する操作は、同じ効果を得られるキーボードの操作"Type micDel"に変換される。同様に、メニューから「名前の変更」処理を選択する操作は、キーボード操作" Type micF2"に変換される。
【００４３】
これらのルールに基づいて、図３の行７及び８の操作情報が図５の行４のスクリプトに変換され、図３の行１４及び１５の操作情報が図５の行８のスクリプトに変換される。
【００４４】
図４のルール６は、実際には実行されない操作を削除するルールである。例えば、操作の実行確認において、直前の操作を取り消すことを選択した場合、その操作は実行されない。具体的には、ルール６のように、削除操作の確認ダイアログで「いいえ」をクリックすることによって、直前の削除操作を取り消した場合に、取消操作とその直前の削除操作が削除される。このルールに基づいて、図３の行１１及び１２の操作情報が削除される。
【００４５】
図４の生成ルール２４０に基づいて、図３の１６行の操作情報１０６から図５の９行のスクリプト１０８が生成される。操作情報１０６から生成されたスクリプト１０８を被操作端末１２１へ送信することによって、操作端末１０１から被操作端末１２１へ送信するデータ量を減少することができる。
【００４６】
なお、図４には生成ルール２４０の一例を示したが、生成ルールはこれに限らず、項目を追加又は削減してもよい。
【００４７】
図６Ａ及び図６Ｂは、第１の実施形態の操作端末１０１によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【００４８】
まず、キーボード１０３又はマウス１０４に、ユーザによる操作入力があったら（６０１）、操作情報取得部２１０は、操作入力からウィンドウメッセージを取得する（６０３）。なお、操作情報取得部２１０は、リモートコントロール操作処理の終了を検出した場合、このリモートコントロール操作処理を終了する（６０２）。リモートコントロール操作処理の終了には、例えば、「操作終了」ボタン（図１５参照）の操作、リモートコントロールウインドウを閉じる操作、所定時間操作がなかった場合のタイムアウトがある。
【００４９】
操作情報取得部２１０は、取得したウィンドウメッセージから操作情報１０６を抽出し（６０４）、抽出された操作情報１０６を操作情報リスト（図３）に記憶する（６０５）。ステップ６０５で生成される操作情報リストは、ウィンドウ毎のリストでもよいし、ウィンドウ毎に分けずに一つのリストを生成してもよい。
【００５０】
スクリプト生成部２１１は、生成ルール２４０を参照して、操作情報リストに記憶された操作情報１０６の変換要否及びリストに残すかを判定する（６０７、６０８）。この操作情報の変換要否は、リストに記憶された操作情報１０６が生成ルール２４０の操作情報４０２に定義されているかによって判定する。また、操作情報をリストに残すかは、リストに記憶された操作情報１０６が生成ルール２４０の操作情報４０２に定義されており、かつ、当該操作情報に対応するスクリプト４０３が定義されていないかによって判定する。
【００５１】
スクリプト生成部２１１は、変換が必要で、かつリストに残すと判定された操作情報１０６から、生成ルール２４０に従ってスクリプト１０８を生成する（６０９）。
【００５２】
スクリプト送信部２１２は、スクリプト生成部２１１が生成したスクリプト１０８を被操作端末１２１に送信し、スクリプト実行結果受信部２１３がタイムアウトを判定するためのタイマを起動する（６１０）。
【００５３】
スクリプト実行結果受信部２１３は、被操作端末１２１から返信されるスクリプトの実行結果を受信すると（６１１）、スクリプトの実行が成功したか失敗したかを判定する（６１３）。なお、タイマがタイムアウトするまで、スクリプトの実行結果を受信しなかった場合、被操作端末１２１の電源が遮断されている等によってスクリプトが実行されていない可能性があるので、タイムアウトした旨をログに記録する（６１５）。
【００５４】
スクリプトの実行が成功した場合、操作情報リストから次の操作情報を取得するために、ステップ６０１に戻る。一方、スクリプトの実行が失敗した場合、スクリプト実行結果出力部２１４は、エラーメッセージを表示し（６１４）、エラーをログに記録する（６１５）。なお、スクリプトの実行が成功した場合もログに記録してもよい。エラーが記録されたログによって、スクリプトの実行の失敗の原因を特定することができる。
【００５５】
図７は、第１の実施形態の被操作端末１２１によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【００５６】
スクリプト受信部２３０は、操作端末１０１からスクリプトを受信すると（７０１）、受信したスクリプトをリストに記憶する（７０２）。スクリプト実行部２３１は、リストに記憶されたスクリプトを実行する（７０３）。
【００５７】
そして、画面情報取得部２３３は、スクリプトの実行によって得られた画面情報１２８を取得し（７０４）、画面情報送信部２３４は、取得した画面情報１２８を操作端末１０１に送信する（７０６）。
【００５８】
また、スクリプト実行結果送信部２３２は、スクリプトの実行結果１２７を操作端末１０１に送信する（７０５）。スクリプト実行結果送信部２３２は、スクリプトの実行結果１２７を、スクリプトの行毎に送信してもよいし、全てのスクリプトの実行が終了した後にまとめて送信してもよい。
【００５９】
なお、ステップ７０４〜７０６の実行順序は図示した順序に限らず、プロセッサ２２１が、画面情報１２８の処理とスクリプト実行結果１２７の処理とを並行して実行してもよい。
【００６０】
操作端末１０１のスクリプト実行結果受信部２１３は、スクリプト実行のエラーを受信した場合、操作情報取得部２１０の動作を止めることによって、リモートコントロールを停止する。また、スクリプト実行部２３１が、実行が失敗したスクリプトを直ちに、又は、所定時間後に再実行してもよく、スクリプト実行部２３１の動作を停止してもよい。
【００６１】
さらに、実行エラーの検出時に以下の方法で、エラーをリカバリすることができる。
【００６２】
具体的には、まず、実行エラーの検出時に、スクリプト内のエラー発生行及びエラーの内容を取得する。その後、当該被操作端末１２１において当該スクリプトを開始する場合、当該エラーを検出した行からスクリプトを再開する。
【００６３】
エラー及びリカバリの手順を具体的に説明すると、図５に示すスクリプトの３行目の Window("def").WinListView("SysListView32"),"Test1", Select を実行した際、当該スクリプトが実行される当該被操作端末１２１で、操作対象の "Test1" 見つからなかった場合、被操作端末１２１は、当該スクリプトの実行結果として「操作対象が見つかりません」というエラーメッセージを発行する。
【００６４】
このとき、操作端末１０１のスクリプト実行結果受信部２１３は、該当被操作端末１２１から、スクリプト中でエラーが発生した行番号及び「操作対象が見つかりません」というエラーメッセージを受信し、受信したエラー内容をメモリの所定の領域に記憶する。そして、スクリプト実行部２３１は、当該被操作端末１２１に、当該行からスクリプトを再起動（再実行）するために、当該行からスクリプトを再送信する。
【００６５】
さらに、異なる具体例、すなわち、接続エラーをリカバリするための例について説明する。
【００６６】
まず、接続エラーの検出時に、エラーが発生した接続先の被操作端末１２１、及び、エラーが発生した被操作端末で実行していたスクリプト内のエラー発生行及びエラーの内容を取得し、取得したエラーの発生行及び内容を表示する。再接続する場合は、当該被操作端末１２１の再接続を試し、接続が成功したら当該エラーを検出したスクリプト行から再送信する。
【００６７】
エラー及びリカバリの手順を具体的に説明すると、図５に示すスクリプトの３行目の Window("def").WinListView("SysListView32"),"Test1", Select を送信する際、「リモコン機器１が見つかりません」というエラーが発生した場合、「被操作端末と接続できません」というエラーコードが発行される。
【００６８】
このとき、操作端末１０１のスクリプト実行結果受信部２１３は、スクリプト中で接続エラーが発生した行番号及び「被操作端末と接続できません」というエラーメッセージを受信し、受信したエラー内容をメモリの所定の領域に記憶する。そして、スクリプト実行部２３１は、当該被操作端末１２１との再接続を試み、再接続に成功した場合、当該行からスクリプトを再送信する。
【００６９】
以上に説明したように第１の実施形態によると、操作端末１０１に入力された操作から情報量を圧縮して生成されたスクリプトを送信するので、端末間で転送されるデータ量を減少させ、端末間のトラフィックを減少することができる。また、操作端末１０１に被操作端末１２１の画面情報を送信する必要がないので、端末間で転送されるデータ量を減少させ、端末間のトラフィックを減少することができる。
【００７０】
また、操作端末１０１上の操作が被操作端末１２１の画面上の座標に依存しないため、被操作端末の画面情報が転送されない場合や、複数の被操作端末の画面情報が異なる場合にも、リモートコントロールを行うことができる。
【００７１】
さらに、被操作端末１２１から操作端末１０１にスクリプトの実行結果を送信するので、スクリプトの実行が失敗した原因を提供でき、リモートコントロールの操作の効率を向上させることができる。
【００７２】
＜実施形態２＞
第２の実施形態では、複数の被操作端末が設けられている計算機システムにおいてリモートコントロール操作を行う例について説明する。
【００７３】
図８は、第２の実施形態の計算機システムの操作端末１０１を主とした構成の一例を示すブロック図である。なお、第２の実施形態において、前述した第１の実施形態と同じ機能を有する構成及び処理には同じ符号を付し、これらの説明は省略する。
【００７４】
第２の実施形態の計算機システムは、ユーザが操作する１台の操作端末８０１と、操作端末８０１によってリモートコントロールされる複数の被操作端末１２１（１）〜１２１（ｎ）とを備える。操作端末８０１と被操作端末１２１（１）〜１２１（ｎ）とはネットワーク１１０を介して接続される。
【００７５】
操作端末８０１は、プロセッサ（ＣＰＵ）２０１、メモリ２０２、バス２０３、不揮発記憶装置２０４、入力インターフェース２０５、出力インターフェース２０６及びネットワークインターフェース２０７を有する計算機であって、汎用的なパーソナルコンピュータでも、専用の端末でもよい。各被操作端末１２１（１）〜１２１（ｎ）は、第１の実施形態の被操作端末１２１と同じである。
【００７６】
操作端末８０１は、プロセッサ（ＣＰＵ）２０１、メモリ２０２、バス２０３、不揮発記憶装置２０４、入力インターフェース２０５、出力インターフェース２０６及びネットワークインターフェース２０７を有する計算機である。操作端末８０１には、ディスプレイ１０２、キーボード１０３及びマウス１０４が接続される。
【００７７】
メモリ２０２は、オペレーティングシステム（ＯＳ）２０８及びアプリケーションプログラム２０９を格納する。
【００７８】
また、メモリ２０２は、操作情報取得部２１０、スクリプト生成部２１１、スクリプト送信部８１２、スクリプト実行結果受信部８１３、スクリプト実行結果出力部８１４、画面情報受信部８１５及び画面情報出力部８１６を構成するためのプログラムを格納する。すなわち、プロセッサ２０１が、これらのプログラムを実行することによって、前記各部が実装される。
【００７９】
スクリプト送信部８１２は、端末情報８１７（図９）を参照し、スクリプト生成部２１１によって変換されたスクリプトを、複数の被操作端末１２１（１）〜１２１（ｎ）に送信する。
【００８０】
スクリプト実行結果受信部８１３は、複数の被操作端末１２１（１）〜１２１（ｎ）から送信された実行結果情報を受信する。スクリプト実行結果出力部８１４は、受信した実行結果情報をディスプレイ１０２に表示するためのデータを生成する。
【００８１】
画面情報受信部８１５は、複数の被操作端末１２１（１）〜１２１（ｎ）から送信された画面情報を受信する。画面情報出力部８１６は、受信した画面情報をディスプレイ１０２に表示するためのデータを生成する。
【００８２】
不揮発記憶装置２０４は、生成ルール２４０及び端末情報８１７を格納する。端末情報８１７は、通信先の被操作端末１２１（１）〜１２１（ｎ）の情報を保持し、その構成は図９を用いて後述する。
【００８３】
図９は、第２の実施形態の端末情報８１７の一例を説明する図である。
【００８４】
端末情報８１７は、被操作端末１２１（１）等との通信時に参照される情報であり、被操作端末の番号９０１、ＩＰアドレス９０２、実行結果９０３及びエラー情報９０４を含む。
【００８５】
被操作端末の番号９０１は、被操作端末の情報が格納されたエントリに付与された一意の番号である。ＩＰアドレス９０２は、被操作端末に割り当てられたネットワークアドレスであり、ネットワークの構成によっては、ＩＰアドレス以外のアドレスが格納されてもよい。
【００８６】
実行結果９０３は、被操作端末においてスクリプトが実行された結果であり、スクリプトの実行が成功した場合には"Success"が、スクリプトの実行が失敗した場合には"Error"が格納される。エラー情報９０４は、実行結果が"Error"である場合の、エラーの詳細な内容であり、スクリプトの実行が失敗した箇所を特定する情報（例えば、「操作AAAの項目BBBが存在しません。」）が含まれる。
【００８７】
本実施形態では、ネットワーク１１０で転送されるデータの量を減らすために、操作端末８０１と被操作端末１２１（１）等との間で端末情報８１７を転送しないが、操作端末と８０１被操作端末１２１（１）等の一つが作成した端末情報８１７を他方へ転送して、端末情報８１７を操作端末と８０１被操作端末１２１（１）等とで共有してもよい。
【００８８】
図１０は、第２の実施形態のリモートコントロール操作処理の一例のフローチャートである。図１０に示すリモートコントロール操作処理は、図６Ａのステップ６０９の後に実行される。なお、第１の実施形態のリモートコントロール操作処理（図６Ａ、図６Ｂ）と同じ処理には同じ符号を付し、それらの説明は省略する。
【００８９】
第２の実施形態のリモートコントロール操作処理では、ステップ６０９の後に、全ての被操作端末１２１（１）〜１２１（ｎ）に対して、スクリプトの送信と実行結果の受信などの一連の処理を実行する。
【００９０】
具体的には、スクリプト送信部８１２は、端末情報８１７を参照して、スクリプトを送信すべき被操作端末のＩＰアドレスを特定し、該特定されたアドレスにスクリプトを送信する（６１０）。なお、被操作端末のみがネットワークに接続されている場合、スクリプトをブロードキャストによって複数の被操作端末に同時に送信してもよい。
【００９１】
次に、端末情報８１７を参照して特定された全ての被操作端末に対して、実行結果の受信処理を実行する（１００１、６１１〜６１４、１００２〜１００４）。スクリプト実行結果出力部８１４は、ステップ６１１〜６１３の処理の結果、スクリプトの実行が失敗した場合、スクリプト実行結果出力部８１４は、エラーメッセージを表示し（６１４）、被操作端末から送信された実行結果（Error）及びエラーメッセージを端末情報（ログ）８１７に記録する（１００３）。一方、スクリプトの実行が成功した場合、スクリプト実行結果出力部８１４は、被操作端末から送信された実行結果（Success）を端末情報（ログ）８１７に記録する（１００２）。
【００９２】
なお、本実施形態では、スクリプトの実行結果（ログ）を端末情報８１７に記録したが、端末情報とは別に実行結果ログを設け、端末情報とは別の実行結果ログにスクリプトの実行結果を記録してもよい。
【００９３】
その後、全ての被操作端末１２１（１）〜１２１（ｎ）から成功の実行結果を受信した場合（１００５でＹＥＳ）、操作情報リストから次の操作情報を取得するために、ステップ６０１（図６Ａ）に戻る。一方、一部の被操作端末から失敗の実行結果を受信した場合（１００５でＮＯ）、リモートコントロールを中断する（１００６）。なお、全ての被操作端末の実行成功を要求しない設定をすることによって、スクリプトの実行が失敗した被操作端末だけのリモートコントロールを中断してもよい。
【００９４】
操作端末１０１のスクリプト実行結果受信部２１３は、スクリプト実行のエラーを受信した場合、前述した第１の実施形態と同様に、操作情報取得部２１０の動作を止めることによって、リモートコントロールを停止する。
【００９５】
なお、同じスクリプトの実行時にエラーが発生している場合、同じ原因でエラーが発生している可能性が高い。このため、操作端末１０１のスクリプト実行結果受信部２１３は、複数の被操作端末１２１から、同一行番号において発生した同一エラーメッセージを受信した場合、エラーが発生している被操作端末をグループ化し、グループ内の被操作端末に、エラーが発生した行からスクリプトを再送信することによって、グループ内の被操作端末に同じ対応を実施してもよい。
【００９６】
また、復数の被操作端末で描画性能などが違う場合があるため、操作対象が見つからないエラーが発生した場合には、自動的にスクリプトを再実行する機能を設けてもよい。
【００９７】
以上に説明したように第２の実施形態によると、前述した第１の実施形態の効果に加え、複数の被操作端末をスムーズにリモートコントロールすることができる。また、一部の被操作端末でスクリプトの実行が失敗しても、他の被操作端末でスクリプトを実行することができ、他の被操作端末のリモートコントロールを継続することができる。
【００９８】
＜実施形態３＞
第３の実施形態では、複数の被操作端末が設けられている計算機システムにおいて、一つの被操作端末を代表端末として、代表端末を従来のリモートコントロールによって操作し、代表端末以外の被操作端末（非代表端末）を本発明のリモートコントロールによって操作する例について説明する。なお、第３の実施形態において、前述した第１及び第２の実施形態と同じ機能を有する構成及び処理には同じ符号を付し、これらの説明は省略する。
【００９９】
図１１Ａは、第３の実施形態の計算機システムの操作端末１１０１を主とした構成の一例を示すブロック図である。
【０１００】
第３の実施形態の計算機システムは、ユーザが操作する１台の操作端末１１０１と、操作端末１１０１によってリモートコントロールされる１台の代表端末１１２１と、操作端末１１０１によってリモートコントロールされる複数の被操作端末１２１（１）〜１２１（ｎ）とを備える。操作端末１１０１、代表端末１１２１及び被操作端末１２１（１）等はネットワーク１１０を介して接続される。
【０１０１】
操作端末１１０１は、プロセッサ（ＣＰＵ）２０１、メモリ２０２、バス２０３、不揮発記憶装置２０４、入力インターフェース２０５、出力インターフェース２０６及びネットワークインターフェース２０７を有する計算機であり、汎用的なパーソナルコンピュータでも、専用の端末でもよい。操作端末１１０１には、ディスプレイ１０２、キーボード１０３及びマウス１０４が接続される。
【０１０２】
メモリ２０２は、オペレーティングシステム（ＯＳ）２０８を格納する。なお、第３の実施形態では、アプリケーションプログラム２０９が操作端末１１０１で実行されないので、操作端末１１０１にはアプリケーションプログラム２０９がインストールされなくてもよい。
【０１０３】
また、メモリ２０２は、入力情報取得部１１０２、入力情報送信部１１０３、スクリプト受信部２３０、スクリプト送信部８１２、スクリプト実行結果受信部８１３、スクリプト実行結果出力部８１４、画面情報受信部８１５及び画面情報出力部８１６を構成するためのプログラムを格納する。すなわち、プロセッサ２０１が、これらのプログラムを実行することによって、前記各部が実装される。
【０１０４】
入力情報取得部１１０２は、ユーザによるキーボード１０３及びマウス１０４の操作によって発生し、ＯＳ２０８へ入力される入力情報を捕捉する。なお、操作端末１１０１にのディスプレイ１０２には、代表端末１１２１のディスプレイ１２２と同一の画面が表示される。入力情報送信部１１０３は、入力情報取得部１１０２が捕捉した入力情報を代表端末１１２１に送信する。
【０１０５】
スクリプト受信部２３０は、代表端末１１２１から送信されたスクリプト１０８を受信し、受信したスクリプト１０８を所定の記憶領域に格納する。スクリプト送信部８１２は、端末情報１１１７（図１２）を参照し、スクリプト受信部２３０が受信したスクリプトを複数の被操作端末１２１（１）〜１２１（ｎ）に送信する。
【０１０６】
不揮発記憶装置２０４は、端末情報１１１７を格納する。端末情報１１１７は、通信先の被操作端末１２１（１）〜１２１（ｎ）の情報を保持し、その構成は図１２を用いて後述する。
【０１０７】
図１１Ｂは、第３の実施形態の計算機システムの代表端末１１２１を主とした構成の一例を示すブロック図である。
【０１０８】
代用端末１１２１は、プロセッサ（ＣＰＵ）２２１、メモリ２２２、バス２２３、不揮発記憶装置２２４、入力インターフェース２２５、出力インターフェース２２６及びネットワークインターフェース２２７を有する計算機であり、汎用的なパーソナルコンピュータでも、専用の端末でもよい。
【０１０９】
代表端末１１２１には、ディスプレイ１２２、キーボード１２３及びマウス１２４が接続される。なお、代表端末１１２１は、操作端末１０１によってリモートコントロールされるので、ディスプレイ１２２、キーボード１２３及びマウス１２４が接続されなくてもよい。
【０１１０】
メモリ２２２は、オペレーティングシステム（ＯＳ）２２８及びアプリケーションプログラム２２９を格納する。
【０１１１】
また、メモリ２２２は、入力情報受信部１１２２、入力情報処理部１１２３、操作情報取得部２１０、スクリプト生成部２１１、スクリプト送信部２１２、画面情報取得部２３３及び画面情報送信部２３４を構成するためのプログラムを格納する。すなわち、プロセッサ２２１が、これらのプログラムを実行することによって、前記各部が実装される。
【０１１２】
入力情報受信部１１２２は、操作端末から送信されたた入力情報を受信する。入力情報処理部１１２３は、入力情報受信部１１２２が受信した入力情報を処理する。すなわち、受信した入力情報に従って、ＯＳ２２８、アプリケーションプログラム２２９を実行する。その結果、ＯＳ２２８は入力情報に対応する描画命令を送信し、ディスプレイ１２２に画面を表示する。
【０１１３】
操作情報取得部２１０は、入力情報受信部１１２２が受信した入力情報からウィンドウメッセージを取得し、ウィンドウメッセージから操作の内容、操作の値と操作対象の情報を抽出し、抽出した操作情報１０６を所定の記憶領域に格納する。
【０１１４】
スクリプト生成部２１１は、生成ルール２４０に基づいて、操作情報取得部２１０が抽出した操作情報をスクリプトへ変換し、生成したスクリプト１０８を所定の記憶領域に格納する。スクリプト送信部２１２は、スクリプト生成部２１１が生成したスクリプトを操作端末１０１に送信する。
【０１１５】
不揮発記憶装置２２４は、生成ルール２４０（図４）を格納する。
【０１１６】
なお、第３の実施形態では、図１１Ｂに示すように、代表端末１１２１と被操作端末１２１（１）等とを異なる構成としたが、全ての被操作端末１２１（１）〜１２１（ｎ）に代表端末１１２１の機能を持たせてもよい。代表端末１１２１と被操作端末１２１（１）等の構成を同じにすると、ユーザからの指示に従って、任意の被操作端末を代表端末に設定することができる。
【０１１７】
図１２は、第３の実施形態の端末情報１１１７の一例を説明する図である。
【０１１８】
端末情報１１１７は、被操作端末１２１（１）等との通信時に参照される情報であり、被操作端末の番号９０１、ＩＰアドレス９０２、代表端末１２０１、実行結果９０３及びのエラー情報９０４を含む。被操作端末の番号９０１、ＩＰアドレス９０２、スクリプトの実行結果９０３及びエラー情報９０４は、前述した第２の実施形態の端末情報８１７（図９）と同じである。
【０１１９】
代表端末１２０１は、端末情報１１１７に記載された被操作端末が代表端末１１２１であるかを示すフラグである。
【０１２０】
図１３は、第３の実施形態の操作端末１１０１によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【０１２１】
第３の実施形態の計算機システムでは、リモートコントロールが開始すると、代表端末１１２１の画面情報取得部２３３が、ディスプレイ１２２に表示されている画面情報を取得し、取得した画面情報を画面情報送信部２３４が操作端末１１０１に送信する。操作端末１１０１の画面情報受信部８１５は、代表端末１１２１から送信された画面情報を受信し、画面情報出力部８１６は受信した画面情報（代表端末１１２１の表示画面）をディスプレイ１０２に表示する。
【０１２２】
まず、キーボード１０３又はマウス１０４に、ユーザによる操作入力があったら（６０１）、入力情報取得部１１０２は、操作入力から入力情報を捕捉し、入力情報送信部１１０３は、捕捉された入力情報を代表端末１１２１に送信する（１６０１）。なお、入力情報取得部１１０２は、リモートコントロール操作処理の終了を検出した場合、このリモートコントロール操作処理を終了する（６０２）。
【０１２３】
その後、スクリプト受信部２３０は、代表端末１１２１から送信されたスクリプト１０８を受信し、受信したスクリプト１０８を所定の記憶領域に格納する（１６０２）。
【０１２４】
その後、図１０のステップ６１０に進み、端末情報８１７を参照して、スクリプトを送信すべき被操作端末のＩＰアドレスを特定し、該特定されたアドレスにスクリプトを送信する。以後の処理は、前述した第２の実施形態と同じである。
【０１２５】
図１４は、第３の実施形態の代表端末１１２１によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【０１２６】
入力情報受信部１１２２は、操作端末１０１から入力情報を受信し、入力情報処理部１１２３は、受信した入力情報を実行する（１７０１）。なお、入力情報処理部１１２３は、リモートコントロール操作処理の終了を検出した場合、このリモートコントロール操作処理を終了する（１７０２）。
【０１２７】
操作情報取得部２１０は、操作入力からウィンドウメッセージを取得し（６０３）、取得したウィンドウメッセージから操作情報１０６を抽出し（６０４）、抽出された操作情報１０６を操作情報リスト（図３）に記憶する（６０５）。ステップ６０５で生成されるリストは、ウィンドウ毎のリストでもよいし、ウィンドウ毎に分けることなく一つのリストを生成してもよい。
【０１２８】
スクリプト生成部２１１は、生成ルール２４０を参照して、操作情報リストに記憶された操作情報１０６の変換要否及びリストに残すかを判定する（６０７、６０８）。この操作情報の変換要否は、リストに記憶された操作情報１０６が生成ルール２４０の操作情報４０２に定義されているかによって判定する。また、操作情報をリストに残すかは、リストに記憶された操作情報１０６が生成ルール２４０の操作情報４０２に定義されており、かつ、当該操作情報に対応するスクリプト４０３が定義されていないかによって判定する。
【０１２９】
スクリプト生成部２１１は、変換が必要でかつリストに残すと判定された操作情報１０６から、生成ルール２４０に従ってスクリプト１０８を生成する（６０９）。
【０１３０】
スクリプト送信部２１２は、スクリプト生成部２１１が生成したスクリプト１０８を操作端末１１０１に送信する（６１０）。
【０１３１】
画面情報取得部２３３は、スクリプトの実行によって得られた画面情報１２８を取得し（７０４）、画面情報送信部２３４は、取得した画面情報１２８を操作端末１１０１に送信する（７０６）。
【０１３２】
また、スクリプト実行結果送信部２３２は、スクリプトの実行結果１２７を操作端末１０１に送信する（７０５）。
このスクリプトの実行結果１２７は、スクリプトの行毎に送信されてもよいし、全てのスクリプトの実行が終了した後にまとめて送信されてもよい。
【０１３３】
なお、ステップ７０４〜７０６の実行順序は図示した順序に限らず、画面情報１２８の処理とスクリプト実行結果１２７の処理とは並行して実行されてもよい。
【０１３４】
図１５は、第３の実施形態の操作端末１０１のディスプレイ１０２に表示される画面の一例を説明する図である。
【０１３５】
操作端末１０１のディスプレイ１０２に表示される画面１３０１は、代表端末１１２１及び各被操作端末１２１（１）〜１２１（ｎ）の画面情報とスクリプト実行結果情報などを表示する。例えば、代表端末１１２１の画面が領域１３０３に大きく表示されており、代表端末１１２１以外の被操作端末１２１（１）〜１２１（ｎ）の画面が領域１３０４に小さく表示され、その被操作端末のＩＰアドレスなどの端末情報及び実行結果情報などを領域１３０５に表示する。
【０１３６】
また、画面１３００の上部には、操作設定メニュー表示欄１３０２が設けられており、操作設定メニュー表示欄１３０２内のボタンを操作することによって、被操作端末１２１（１）等をリモートコントロールすることができる。例えば、操作設定メニュー１３０２の「操作開始」ボタンを操作することによって、リモートコントロールの要求が選択された被操作端末に送信され、各被操作端末の動作状態を表すメッセージ１３０６が表示される。また、「操作終了」ボタンを操作することによって、リモートコントロールの終了が各被操作端末に送信される（図６Ａ、図１３のステップ６０２のＮＯ）。
【０１３７】
以上に説明したように第３の実施形態によると、前述した第１の実施形態の効果に加え、被操作端末１２１（１）等で行なうべき操作の対象（ファイル、アプリケーションプログラムなど）が、操作端末１０１で直接操作できない場合でも、代表端末１１２１で操作することによって、被操作端末１２１（１）等をリモートコントロールすることができる。また、操作端末１０１が従来のリモートコントロールを用いて代表端末１１２１を操作し、代表端末１１２１が本発明のリモートコントロールを用いて被操作端末１２１（１）〜１２１（ｎ）を操作するので、端末間で転送されるデータ量を減少することができる。
【０１３８】
＜実施形態４＞
第４の実施形態では、前述した第３の実施形態と同様に、複数の被操作端末が設けられている計算機システムにおいて、一つの被操作端末を代表端末として、代表端末を従来のリモートコントロールによって操作し、代表端末以外の被操作端末（非代表端末）を本発明のリモートコントロールによって操作する。しかし、第４の実施形態では、代表端末が生成したスクリプトを、代表端末から被操作端末に直接送信することが特徴である。なお、第３の実施形態において、前述した第１から第３の実施形態と同じ機能を有する構成及び処理には同じ符号を付し、これらの説明は省略する。
【０１３９】
図１６Ａは、第４の実施形態の計算機システムの操作端末１４０１を主とした構成の一例を示すブロック図である。
【０１４０】
第４の実施形態の計算機システムは、ユーザが操作する１台の操作端末１４０１と、操作端末１４０１によってリモートコントロールされる１台の代表端末１４２１と、操作端末１４０１によってリモートコントロールされる複数の被操作端末１２１（１）〜１２１（ｎ）とを備える。操作端末１４０１、代表端末１４２１及び被操作端末１２１（１）等とはネットワーク１１０を介して接続される。
【０１４１】
操作端末１４０１は、プロセッサ（ＣＰＵ）２０１、メモリ２０２、バス２０３、不揮発記憶装置２０４、入力インターフェース２０５、出力インターフェース２０６及びネットワークインターフェース２０７を有する計算機であり、汎用的なパーソナルコンピュータでも、専用の端末でもよい。操作端末１４０１には、ディスプレイ１０２、キーボード１０３及びマウス１０４が接続される。
【０１４２】
メモリ２０２は、オペレーティングシステム（ＯＳ）２０８を格納する。なお、第４の実施形態では、アプリケーションプログラム２０９が操作端末１４０１で実行されないので、操作端末１４０１にはアプリケーションプログラム２０９がインストールされなくてもよい。
【０１４３】
また、メモリ２０２は、入力情報取得部１１０２、入力情報送信部１１０３、スクリプト実行結果受信部８１３、スクリプト実行結果出力部８１４、画面情報受信部８１５及び画面情報出力部８１６を構成するためのプログラムを格納する。すなわち、プロセッサ２０１が、これらのプログラムを実行することによって、前記各部が実装される。
【０１４４】
入力情報取得部１１０２は、ユーザによるキーボード１０３及びマウス１０４の操作によって発生し、ＯＳ２０８へ入力される入力情報を捕捉する。なお、操作端末１１０１にのディスプレイ１０２には、代表端末１１２１のディスプレイ１２２と同一の画面が表示される。入力情報送信部１１０３は、入力情報取得部１１０２が捕捉した入力情報を代表端末１１２１に送信する。
【０１４５】
不揮発記憶装置２０４は、端末情報１１１７を格納する。端末情報１１１７は、通信先の被操作端末１２１（１）〜１２１（ｎ）の情報を保持する。
【０１４６】
図１６Ｂは、第４の実施形態の計算機システムの代表端末１４２１を主とした構成の一例を示すブロック図である。
【０１４７】
代用端末１４２１は、プロセッサ（ＣＰＵ）２２１、メモリ２２２、バス２２３、不揮発記憶装置２２４、入力インターフェース２２５、出力インターフェース２２６及びネットワークインターフェース２２７を有する計算機であり、汎用的なパーソナルコンピュータでも、専用の端末でもよい。
【０１４８】
代表端末１４２１には、ディスプレイ１２２、キーボード１２３及びマウス１２４が接続される。なお、代表端末１４２１は、操作端末１０１によってリモートコントロールされるので、ディスプレイ１２２、キーボード１２３及びマウス１２４が接続されなくてもよい。
【０１４９】
メモリ２２２は、オペレーティングシステム（ＯＳ）２２８及びアプリケーションプログラム２２９を格納する。
【０１５０】
また、メモリ２２２は、入力情報受信部１１２２、入力情報処理部１１２３、操作情報取得部２１０、スクリプト生成部２１１、スクリプト送信部２１２、画面情報取得部２３３及び画面情報送信部２３４を構成するためのプログラムを格納する。すなわち、プロセッサ２２１が、これらのプログラムを実行することによって、前記各部が実装される。
【０１５１】
スクリプト送信部２１２は、端末情報１１１７（図１２）を参照し、スクリプト生成部２１１が生成したスクリプトを複数の被操作端末１２１（１）〜１２１（ｎ）に送信する。
【０１５２】
不揮発記憶装置２２４は、生成ルール２４０（図４）及び端末情報１１１７を格納する。
【０１５３】
なお、第４の実施形態では、図１６Ｂ示すように、代表端末１４２１と被操作端末１２１（１）等とを異なる構成としたが、全ての被操作端末１２１（１）〜１２１（ｎ）に代表端末１４２１の機能を持たせてもよい。代表端末１４２１と被操作端末１２１（１）等の構成を同じにすると、ユーザからの指示に従って、任意の被操作端末を代表端末に設定することができる。
【０１５４】
図１７は、第４の実施形態の操作端末１４０１によって実行されるリモートコントロール操作処理の一例のフローチャートである。
【０１５５】
第４の実施形態の計算機システムでは、リモートコントロールが開始すると、代表端末１１２１の画面情報取得部２３３が、ディスプレイ１２２に表示されている画面情報を取得し、取得した画面情報を画面情報送信部２３４が操作端末１１０１に送信する。操作端末１１０１の画面情報受信部８１５は、代表端末１１２１から送信された画面情報を受信し、受信した画面情報（代表端末１１２１の表示画面）を画面情報出力部８１６がディスプレイ１０２に表示する。
【０１５６】
まず、キーボード１０３又はマウス１０４に、ユーザによる操作入力があったら（６０１）、入力情報取得部１１０２は、操作入力から入力情報を捕捉し、入力情報送信部１１０３は、捕捉された入力情報を代表端末１１２１に送信する（１６０１）。なお、入力情報取得部１１０２は、リモートコントロール操作処理の終了を検出した場合、このリモートコントロール操作処理を終了する（６０２）。
【０１５７】
その後、スクリプト実行結果出力部８１４は、端末情報１１１７を参照して、スクリプトの実行結果を受信すべき被操作端末のＩＰアドレスを特定し、該特定された全ての被操作端末に対して、実行結果の受信処理を実行する。この受信処理は、前述した第２の実施形態の受信処理のステップ１００１、６１１〜６１４、１００２〜１００４の処理と同じである。
【０１５８】
その後、全ての被操作端末から成功の実行結果を受信した場合（１００５でＹＥＳ）、操作情報リストから次の操作情報を取得するために、ステップ６０１に戻る。一方、一部の被操作端末から失敗の実行結果を受信した場合（１００５でＮＯ）、リモートコントロールを中断する（１００６）。
【０１５９】
第４の実施形態の代表端末１４２１によって実行される処理は、第３の実施形態の代表端末１４２１によって実行されるリモートコントロール操作処理（図１４）とほぼ同じであるので、図示は省略するが、ステップ６１０において、スクリプト送信部２１２は、端末情報１１１７を参照して、スクリプトを送信すべき被操作端末のＩＰアドレスを特定し、該特定されたアドレスにスクリプトを送信する。
【０１６０】
以上に説明したように第４の実施形態によると、前述した第３の実施形態の効果に加え、代表端末１１２１から被操作端末１２１（１）〜１２１（ｎ）へスクリプトを直接送信するので、端末間で転送されるデータ量を減少することができる。
【０１６１】
＜実施形態５＞
本実施形態では、複数の被操作端末が設けられている計算機システムに、スクリプトを被操作端末に送信する配信サーバ１５０１を設ける例について説明する。なお、第５の実施形態において、前述した第１から第４の実施形態と同じ機能を有する構成及び処理には同じ符号を付し、これらの説明は省略する。
【０１６２】
第５の実施形態では、前述した第２の実施形態の計算機システムに配信サーバ１５０１を追加して、操作端末１０１が生成したスクリプト１０８を配信サーバ１５０１が被操作端末１２１（１）等に送信する例について説明するが、第４の実施形態の計算機システムに配信サーバ１５０１を追加して、代表端末１４２１が生成したスクリプト１０８を配信サーバ１５０１が被操作端末１２１（１）等に送信することもできる。
【０１６３】
図１８は、第５の実施形態の計算機システムの配信サーバ１５０１を主とした構成の一例を示すブロック図である。なお、第５の実施形態において、前述した第２の実施形態と同じ機能を有する構成及び処理には同じ符号を付し、これらの説明は省略する。
【０１６４】
第５の実施形態の計算機システムは、ユーザが操作する１台の操作端末８０１と、操作端末８０１によってリモートコントロールされる複数の被操作端末１２１（１）〜１２１（ｎ）と、スクリプトを配信する配信サーバ１５０１とを備える。操作端末８０１、被操作端末１２１（１）〜１２１（ｎ）及び配信サーバ１５０１はネットワーク１１０を介して接続される。
【０１６５】
操作端末８０１及び被操作端末１２１（１）〜１２１（ｎ）の構成及び機能は、前述した第２の実施形態と同じなので、それらの説明は省略する。
【０１６６】
配信サーバ１５０１は、プロセッサ（ＣＰＵ）２０１、メモリ２０２、バス２０３、不揮発記憶装置２０４、入力インターフェース２０５、出力インターフェース２０６及びネットワークインターフェース２０７を有する計算機である。
【０１６７】
メモリ２０２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶装置であり、不揮発記憶装置２０４は、例えば、磁気記憶装置、フラッシュメモリ等の大容量かつ不揮発性の記憶装置である。
【０１６８】
メモリ２０２は、オペレーティングシステム（ＯＳ）２０８を格納する。プロセッサ２０１が、オペレーティングシステム２０８を実行することによって、配信サーバ１５０１の基本機能が実装される。
【０１６９】
また、メモリ２０２は、スクリプト受信部２３０及びスクリプト送信部８１２を構成するためのプログラムを格納する。すなわち、プロセッサ２０１が、これらのプログラムを実行することによって、前記各部が実装される。
【０１７０】
スクリプト受信部２３０は、操作端末８０１（又は、代表端末１４２１）から送信されたスクリプト１０８を受信し、受信したスクリプト１０８を所定の記憶領域に格納する。スクリプト送信部８１２は、端末情報８１７（図９）（又は、端末情報１１１７（図１２））を参照して、スクリプトを送信すべき被操作端末１２１（１）〜１２１（ｎ）のＩＰアドレスを特定し、該特定されたアドレスにスクリプトを送信する。
【０１７１】
以上に説明したように本発明の第５の実施形態によると、配信サーバ１５０１が各被操作端末１２１（１）〜１２１（ｎ）に生成されたスクリプトを送信するので、スクリプトの配信の負荷を分散することができ、操作端末１０１や代表端末１４０１の性能が高くない場合でも、被操作端末１２１（１）等をスムーズに操作することができる。
【０１７２】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【図１】
2012114519.tif 000003
【図２Ａ】
2012114519.tif 000004
【図２Ｂ】
2012114519.tif 000005
【図３】
2012114519.tif 000006
【図４】
2012114519.tif 000007
【図５】
2012114519.tif 000008
【図６Ａ】
2012114519.tif 000009
【図６Ｂ】
2012114519.tif 000010
【図７】
2012114519.tif 000011
【図８】
2012114519.tif 000012
【図９】
2012114519.tif 000013
【図１０】
2012114519.tif 000014
【図１１Ａ】
2012114519.tif 000015
【図１１Ｂ】
2012114519.tif 000016
【図１２】
2012114519.tif 000017
【図１３】
2012114519.tif 000018
【図１４】
2012114519.tif 000019
【図１５】
2012114519.tif 000020
【図１６Ａ】
2012114519.tif 000021
【図１６Ｂ】
2012114519.tif 000022
【図１７】
2012114519.tif 000023
【図１８】
2012114519.tif 000024
【手続補正書】
【提出日】平成25年12月27日(2013.12.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１５
【補正方法】変更
【補正の内容】
【請求項１５】
請求項１３に記載の計算機の制御方法であって、
前記計算機システムは、複数の前記被操作端末を有し、
前記操作端末は、前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記制御命令を送信するステップでは、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定し、該特定された宛先に制御命令を送信することを特徴とする計算機の制御方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１８
【補正方法】変更
【補正の内容】
【請求項１８】
請求項１２に記載の計算機の制御方法であって、
前記複数の被操作端末の１台が設定される代表端末が、前記制御命令の送信先となる被操作端末の宛先を含む端末情報を保持し、
前記制御方法は、
前記操作端末が、ユーザが前記ユーザインターフェースを操作することによって発生する入力情報を取得するステップと、
前記操作端末が、前記取得した入力情報を前記代表端末に送信するステップと、
前記代表端末が、ユーザが前記ユーザインターフェースを操作することによって発生する操作情報を取得するステップと、
前記代表端末が、前記生成ルールに従って、前記取得した操作情報から制御命令を生成するステップと、
前記代表端末が、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定するステップと、
前記代表端末が、前記代表端末によって生成された制御命令を他の前記被操作端末に送信するステップとを含むことを特徴とする計算機の制御方法。
前記代表端末が、前記端末情報を参照して前記制御命令を送信すべき被操作端末の宛先を特定し、前記代表端末によって生成された制御命令を前記特定された被操作端末に送信するステップとを含むことを特徴とする計算機の制御方法。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１９
【補正方法】変更
【補正の内容】
【請求項１９】
請求項１２に記載の計算機の制御方法であって、
前記計算機システムは、前記制御命令を複数の前記被操作端末に送信する配信サーバを有し、
前記配信サーバは、前記生成された制御命令を前記被操作端末に送信することを特徴とする計算機の制御方法。
【国際調査報告】
2012114519.tif 000025
2012114519.tif 000026
2012114519.tif 000027
2012114519.tif 000028