(57)【特許請求の範囲】
【請求項１】
外部からの接続に対してファイアウォールにより守られたネットワーク内の操作対象装置をハイパーテキストトランスファープロトコル通信を用いて遠隔操作する遠隔操作装置であって、
操作対象装置からハイパーテキストトランスファープロトコル通信により定期的に送信されてくる前記操作対象装置のデバイス状態情報が含まれるコマンドを受信する受信手段と、
前記受信手段により受信したコマンドに含まれる前記操作対象装置のデバイス状態情報に基づく前記操作対象装置の状態の表示と、遠隔操作装置から前記操作対象装置への応答としての操作対象装置の状態を遠隔操作により変更するための操作指示情報を入力するための表示とを画面に表示可能な表示手段と、
入力された前記操作指示情報を記憶する記憶手段と、
前記ネットワーク内の操作対象装置からの遠隔操作装置へのコマンドの送信により外部からの前記ファイアウォールの通過が認められると、前記受信手段で受信した定期的に送信されてくるコマンドに対して、前記記憶手段に記憶された操作指示情報に基づく応答をハイパーテキストトランスファープロトコル通信を用いて行う応答手段と、
を有することを特徴とする遠隔操作装置。
【請求項２】
ブラウザを介したユーザの指示に応じて、コマンドに対する応答である操作指示情報を作成する作成手段を有し、前記記憶手段は前記作成手段により作成された操作指示情報を記憶することを特徴とする請求項１に記載の遠隔操作装置。
【請求項３】
前記応答手段は、前記コマンドに、前記記憶手段に記憶された操作指示情報を付加し、応答を行うことを特徴とする請求項１又は２に記載の遠隔操作装置。
【請求項４】
外部からの接続に対してファイアウォールにより守られたネットワーク内の操作対象装置をハイパーテキストトランスファープロトコル通信を用いて遠隔操作する遠隔操作方法であって、
操作対象装置からハイパーテキストトランスファープロトコル通信により定期的に送信されてくる前記操作対象装置のデバイス状態情報が含まれるコマンドを受信する受信ステップと、
受信した前記コマンドに含まれる前記操作対象装置のデバイス状態情報に基づく前記操作対象装置の状態の表示と、遠隔操作装置から前記操作対象装置への応答要求としての操作対象装置を遠隔操作するための操作指示情報を入力するための表示とを同時に画面に表示する表示ステップと、
入力された前記操作指示情報を記憶する記憶ステップと、
前記ネットワーク内の操作対象装置からの遠隔操作装置へのコマンドの送信により外部からの前記ファイアウォールの通過が認められると、前記受信ステップで受信した定期的に送信されてくるコマンドに対して、前記記憶ステップで記憶された操作指示情報に基づく応答をハイパーテキストトランスファープロトコル通信を用いて行う応答ステップと、
を有することを特徴とする遠隔操作方法。
【請求項５】
ブラウザを介したユーザの指示に応じて、コマンドに対する応答である操作指示情報を作成する作成ステップを有し、前記記憶ステップは前記作成ステップで作成された操作指示情報を記憶することを特徴とする請求項４に記載の遠隔操作方法。
【請求項６】
前記応答ステップは、前記コマンドに、前記記憶ステップで記憶された操作指示情報を付加し、応答を行うことを特徴とする請求項４又は５に記載の遠隔操作方法。
【請求項７】
請求項４乃至６のいずれか１項に記載の遠隔操作方法における各ステップをコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、操作対象装置を遠隔で操作する遠隔操作装置及び方法、並びに記憶媒体に関し、特に、ネットワークを介して操作対象装置と接続される遠隔操作装置及び方法、並びに記憶媒体に関する。
【０００２】
【従来の技術】
テレビ、エアコン、ビデオ録画装置をはじめ、様々な機器が無線通信を用いたいわゆるリモコンで遠隔操作できるようになっている。また、インターネット上にカメラサーバを置き、ＷＷＷブラウザを用いて、パン・チルト・ズームなどのカメラ操作を遠隔地で操作してライプ映像を見るシステムも実現されている（例えば、商品名「WebView Livescope」）。
【０００３】
このように、インターネッ卜の標準プロトコルＴＣＰ／ＩＰを用いて、遠隔地の機器と操作端末とが遠隔操作により情報交換するシステムは、インターネットを介して世界中から遠隔操作することを可能とする。とりわけ、ＷＷＷシステムで標準として用いられている通信プロトコルであるハイパーテキストランスファープロトコル(プロトコルＴＣＰ／ＩＰ上のプロトコル)（以下「ＨＴＴＰ」という）を採用すると、ファイアウォールで守られているローカルネットワークの内部からでも、ＷＷＷブラウザによるＷＷＷのブラウジングが可能になっていれば、遠隔操作が可能となる。
【０００４】
ＷＷＷプロキシサーバをファイアウォール上に設置することで、ＷＷＷブラウザからＷＷＷプロキンサーバを介して、インターネット上にあるＷＷＷサーバに接続を行ない、ＷＷＷのブラウジングが出来るようになる。これは、ファイアウォールに守られた内部のネットワークからインターネットに向けたＨＴＴＰプロトコルに関して、ＷＷＷプロキシサーバが中継を行なうようになっているからである。すなわち、ＨＴＴＰを通信プロトコルとして採用すると、内部のネットワークからインターネット上に設置された機器への通信が可能になる。
【０００５】
【発明が解決しようとする課題】
しかしながら、遠隔操作対象機器がファイアウォールの内部にある場合、たとえＨＴＴＰを通信プロトコルとして採用したシステムであっても、これをインターネットを介して遠隔操作することはできない。
【０００６】
これは、通常のファイアウォールの設定は、ファイアウォールの内部の機器から外部の機器に向けてストリーム指向の接続（ＴＣＰ接続）を要求したときのみ、ファイアウォールの通過を認めるようにしており、外部の機器から内部の機器に対しての接続要求は拒絶するようになっているからである。ストリーム指向の接続では、接続要求側から対象機器への方向の通信と対象機器からの折り返しの通信を一組として取り扱うため、内部の確かな機器からの接続要求があったときのみ、外部の対象機器からファイアウォール内に向けての通信を許すことになる。このように限定を加えることにより、外部からの攻撃を受け難くしている。
【０００７】
したがって、内部ネットワークへの攻撃を防御するために設置されているファイアウォールの一般的な設定では、ＷＷＷのブラウジングが内部よりできるようになっているが、遠隔操作システムがＨＴＴＰを採用していたとしても、遠隔操作対象機器を内部に置き、これをインターネット上から操作することができないという問題を抱えていた。
【０００８】
本発明は、操作対象装置がファイアウォール内部に設置されているときでも、操作対象装置との間で通信路を確保することができる遠隔操作装置及び方法、並びに記憶媒体を提供することを目的にしている。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本願の請求項１記載の遠隔操作装置は、外部からの接続に対してファイアウォールにより守られたネットワーク内の操作対象装置をハイパーテキストトランスファープロトコル通信を用いて遠隔操作する遠隔操作装置であって、操作対象装置からハイパーテキストトランスファープロトコル通信により定期的に送信されてくる前記操作対象装置のデバイス状態情報が含まれるコマンドを受信する受信手段と、前記受信手段により受信したコマンドに含まれる前記操作対象装置のデバイス状態情報に基づく前記操作対象装置の状態の表示と、遠隔操作装置から前記操作対象装置への応答としての操作対象装置の状態を遠隔操作により変更するための操作指示情報を入力するための表示とを画面に表示可能な表示手段と、入力された前記操作指示情報を記憶する記憶手段と、前記ネットワーク内の操作対象装置からの遠隔操作装置へのコマンドの送信により外部からの前記ファイアウォールの通過が認められると、前記受信手段で受信した定期的に送信されてくるコマンドに対して、前記記憶手段に記憶された操作指示情報に基づく応答をハイパーテキストトランスファープロトコル通信を用いて行う応答手段と、を有することを特徴とする。
【００１０】
請求項２に記載の遠隔操作装置は、請求項１に記載の遠隔操作装置において、ブラウザを介したユーザの指示に応じて、コマンドに対する応答である操作指示情報を作成する作成手段を有し、前記記憶手段は前記作成手段により作成された操作指示情報を記憶することを特徴とする。
【００１２】
請求項３に記載の遠隔操作装置は、請求項１又は２に記載の遠隔操作装置において、前記応答手段は、前記コマンドに、前記記憶手段に記憶された操作指示情報を付加し、応答を行うことを特徴とする。
【００１５】
上記目的を達成するために、本願の請求項４に記載の遠隔操作方法は、外部からの接続に対してファイアウォールにより守られたネットワーク内の操作対象装置をハイパーテキストトランスファープロトコル通信を用いて遠隔操作する遠隔操作方法であって、操作対象装置からハイパーテキストトランスファープロトコル通信により定期的に送信されてくる前記操作対象装置のデバイス状態情報が含まれるコマンドを受信する受信ステップと、受信した前記コマンドに含まれる前記操作対象装置のデバイス状態情報に基づく前記操作対象装置の状態の表示と、遠隔操作装置から前記操作対象装置への応答要求としての操作対象装置を遠隔操作するための操作指示情報を入力するための表示とを同時に画面に表示する表示ステップと、入力された前記操作指示情報を記憶する記憶ステップと、前記ネットワーク内の操作対象装置からの遠隔操作装置へのコマンドの送信により外部からの前記ファイアウォールの通過が認められると、前記受信ステップで受信した定期的に送信されてくるコマンドに対して、前記記憶ステップで記憶された操作指示情報に基づく応答をハイパーテキストトランスファープロトコル通信を用いて行う応答ステップと、を有することを特徴とする。
【００１６】
請求項５に記載の遠隔操作方法は、請求項４に記載の遠隔操作方法において、ブラウザを介したユーザの指示に応じて、コマンドに対する応答である操作指示情報を作成する作成ステップを有し、前記記憶ステップは前記作成ステップで作成された操作指示情報を記憶することを特徴とする。
【００１８】
請求項６に記載の遠隔操作方法は、請求項４又は５に記載の遠隔操作方法において、前記応答ステップは、前記コマンドに、前記記憶ステップで記憶された操作指示情報を付加し、応答を行うことを特徴とする。
【００２１】
上記目的を達成するために、本願の請求項７に記載のコンピュータで読み取り可能な記憶媒体は、請求項４乃至６のいずれか１項に記載の遠隔操作方法における各ステップをコンピュータに実行させるためのプログラムを格納したことを特徴とする。
【００３２】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態に係る遠隔操作システムについて説明する。
【００３３】
図１は、本発明の第１の実施の形態に係る遠隔操作システムのシステム構成図である。
【００３４】
図１において、遠隔操作システム１は、インターネット１００と、ファイアウォール（ＦＷ）１１１と、ＬＡＮ１１０と、遠隔被操作装置１２０（操作対象装置）と、遠隔操作端末１３０（操作対象装置）とを備える。
【００３５】
インターネット１００には直接遠隔操作端末１３０が接続され、またファイアウォール１１１を介してＬＡＮ１１０と接続され、ＬＡＮ１１０には、遠隔被操作装置１２０が接続されている。
【００３６】
遠隔被操作装置１２０は、ＣＰＵ、メモリ、及びネットワークインタフェースを有するパーソナルコンピュータやワークステーションなどのコンピュータと同等の構成を有する装置で、後述する操作情報交換発動プログラム１５１及び機器操作データ収集プログラム１５２を有し、コントローラ１２１と接続する。
【００３７】
コントローラ１２１は、照明１２２の点灯及び消灯を制御と、ブラインド１２３の上げ下げの制御とを遠隔被操作装置１２０からの制御指令に応じて行うともに、照明１２２の点灯状態や、ブラインド１２３の開閉位置などの状態の情報を遠隔被操作装置１２０に回答する。
【００３８】
遠隔操作端末１３０は、ＣＰＵ、メモリ、及びネットワークインタフェースを有するパーソナルコンピュータやワークステーションなどのコンピュータと同等の構成を有する装置で、後述するＷＷＷサーバプログラム１６１、操作表示ＣＧＩプログラム１６２、及び操作表示ＧＵＩプログラム１６３を有しており、表示装置１３１とマウスなどの操作入力装置１３２と接続する。
【００３９】
なお、ファイアウォール１１１には、ＷＷＷプロキシサーバ１４１が導入されている。
【００４０】
本実施の形態において、遠隔操作端末１３０上のＷＷＷサーバプログラム１６１が動作しているため、遠隔操作端末１３０はいわゆるＷＷＷサーバのように振る舞う。一方、遠隔被操作装置１２０上の操作情報交換発動プログラム１５１が動作しているため、遠隔被操作装置１２０は定期的に遠隔操作端末１３０に向けて操作情報収集依頼が行う。
【００４１】
図２は、遠隔操作端末１３０による操作情報収集処理のフローチャートである。この処理は、遠隔被操作装置１２０上の各種プログラムにより行われる。
【００４２】
先ず、コントローラ１２１の状態を入力する機器操作・データ収集プログラム１５２により、照明１２２の点灯状態とブラインド１２３の開閉位置の状態情報を収集した後（ステップＳ２０１）、状態情報に応じた送信情報をＨＴＴＰ（ハイパーテキストトランスファープロトコル）のＰＯＳＴコマンド（ポストコマンド）を用いて作成する（ステップＳ２０２）。
【００４３】
例えば、照明１２２がＯＦＦの状態で、ブラインド１２３が７０%の開閉位置であり、遠隔操作端末１３０における遠隔操作用のＵＲＬがHTTP://foo.com/cgi-bin/operatedの場合、以下のようなコマンドを作成する。
POST HTTP://foo.com/cgi-bin/operated HTTP/1.0
Content−Length: 21
1ight=OFF
blind=70
次いで、操作交換情報発動プログラムにより、ステップＳ２０２でＰＯＳＴコマンドを用いて作成された情報に記されている受け取り先、すなわち遠隔操作端末１３０に、ＷＷＷプロキシサーバ１４１を中継して前記ＰＯＳＴコマンドを送信する（ステップＳ２０３）。
【００４４】
上述したように通常のファイアウォール１１１の設定では、ストリーム指向の接続を行う際にファイアウォール１１１で守られた内部のＬＡＮ１１０に接続されている装置である遠隔被操作装置１２０から、ＷＷＷプロキシサーバ１４１を介してインターネット１００に直接接続している外部の装置である遠隔操作端末１３０に接続要求する場合は、ファイアウォール１１１の通過を認めていることが多いので、通信が可能になる。
【００４５】
この後、ステップＳ２０３において送信されたデータを受信した遠隔操作端末１３０は、送信されたデータの状態情報を、後述する表１に示す情報交換テーブルに書き込み、さらに図３を参照して後述する方法で情報交換テーブルに書き込まれた操作情報を遠隔被操作装置１２０へ応答する。例えば、遠隔操作端末１３０が照明１２２をＯＮにして、ブラインド１２３の開閉位置を８０%にするようユーザから操作指示があった場合、遠隔被操作装置１２０への応答は以下のようになる。
HTTP/1.0 200 OK
Content-Type: application/x-remote-operated
Content-Length:20
light=ON
blind=80
上述の遠隔被操作装置１２０からの応答を受信をすると（ステップＳ２０４でＹＥＳ）、操作交換情報発動プログラムにより、その応答の中のユーザからの操作指示内容を機器操作データ収集プログラム１５２に操作要求し(ステップＳ２０５)、本処理を終了する。
【００４６】
図２の処理によれば、遠隔操作端末１３０は遠隔被操作装置１２０からＰＯＳＴコマンドを受信すると、照明１２２とブラインド１２３の状態情報を情報交換テーブルに書き込み、それと共に、受信したＰＯＳＴコマンドに対する応答として表１の情報交換テーブルに書き込まれてある照明１２２とブラインド１２３の操作指示情報を遠隔被操作装置１２０に送信し、遠隔被操作装置１２０は遠隔操作端末１３０から操作指示情報を受信すると（ステップＳ２０４でＹＥＳ）、その情報に基づいて照明１２２とブラインド１２３を操作するので、遠隔被操作装置１２０がファイアウォール１１１内部に設置されていたとしても、ユーザは遠隔操作端末１３０で照明１２２とブラインド１２３の状態の確認及び遠隔操作を行うことができる。
【００４７】
図３は、遠隔操作端末１３０による応答処理のフローチャートである。この処理は、遠隔操作端末１３０上の各種プログラムで行われる。
【００４８】
先ず、ステップＳ２０３において送信された送信情報を受信すると、ＷＷＷサーバプログラム１６１により操作表示ＣＧＩプログラム１６２に状態変更イベントを通知し、状態更新要求を行う（ステップＳ３０１）。
【００４９】
状態更新要求を受けた操作表示ＣＧＩプログラム１６２は、以下の処理を行う。先ず図４を参照して後述する方法で前記送信された情報を遠隔操作端末１３０内の共有メモリ領域中に確保された表１に示す情報交換テーブルの状態欄に書き込む。
【００５０】
【表１】
0004065479.tif 000002
【００５１】
遠隔被操作装置１２０から受信したＰＯＳＴコマンドには、照明がＯＦＦ、ブラインド１２３の開閉位置が７０%であるという状態情報が含まれているので、状態欄のｌｉｇｈｔ欄にＯＦＦ、状態欄のｂｌｉｎｄ欄に７０と書き込まれる。また、この情報交換テーブルは操作表示ＧＵＩプログラム１６３からも読み書きできるようにすることで、図６を参照して後述する情報交換等も可能となる。さらに、情報交換テーブルが確保されている場所は、共有メモリでなく共有ファイルであってもいいし、また情報交換テーブルという形で所定の場所に確保されているのではなく、通信ポートを利用して夫々のプログラム間でプロセス間通信を行うことで共有された情報であってもよい。
【００５２】
次に、操作表示ＧＵＩプログラム１６３により図５を参照して後述する方法でユーザから操作要求された内容が書き込まれる情報である情報交換プログラム３０１の要求欄の情報を読み込む操作要求読込を行う（ステップＳ３０２）。
【００５３】
例えば、情報交換テーブルの要求欄の情報がｌｉｇｈｔ欄にＯＮ、ｂｌｉｎｄ欄に８０と更新された場合、照明１２２をＯＮにし、ブラインド１２３の開閉位置を８０%にするという操作指示を読み込む。
【００５４】
ステップＳ３０２で読み込んだ操作要求の内容を示す情報をＷＷＷサーバプログラム１６１へ標準出力で出力する。例えば、以下のような出力がこの時に行われる。
Content−Type: application/x−remote−operated
light=ＯN
blind=80
ＷＷＷサーバプログラム１６１によりこの出力された応答情報に必要な他の情報が付加することにより、ステップＳ２０４で前述した遠隔操作端末１３０が遠隔被操作装置１２０に応答する情報を作成し（ステップＳ３０３）、この情報を操作情報交換発動プログラム１５１への応答として送信し、本処理を終了する。
【００５５】
図３の処理によれば、遠隔操作端末１３０は、遠隔被操作装置１２０からＰＯＳＴコマンドを受信すると、ＷＷＷサーバプログラム１６１から通知された状態変更イベントにより操作表示ＣＧＩプログラム１６２は情報交換テーブルの状態欄の情報を送信情報に更新した後、情報交換テーブルの要求欄の情報を読み込むと（ステップＳ３０２）その情報をＷＷＷサーバプログラム１６１へ出力し、ＷＷＷサーバプログラム１６１はこの出力された情報を遠隔被操作装置１２０に応答する形式にするので（ステップＳ３０３）、ファイアウォール内部に設置された遠隔被操作装置とインターネット上に接続された遠隔操作端末の間で、ストリーム指向の通信を行うことができる。
【００５６】
一方、操作表示ＧＵＩプログラム１６３は、イベントドリブンで動作し、以下に説明する図４の状態変更イベント処理と図５の入力イベント処理を行う。
【００５７】
図４は、操作表示ＧＵＩプログラム１６３による状態変更イベント処理のフローチャートである。
【００５８】
図３で前述した操作表示ＣＧＩ１６２により情報交換テーブルの中の状態情報が書き換えられるときに発生する状態変更イベントが通知されたときに、本処理を開始する。
【００５９】
先ず、現状の表示装置１３１に表示されている照明１２２とブラインド１２３の状態と情報交換テーブルの状態欄に書き込まれた照明１２２とブラインド１２３の状態とを比較する。比較した結果、照明１２２とブラインド１２３の状態が異なっていたときは、表示装置１３１に描画されている状態表示を描画要求し直すことにより状態表示を更新し（ステップＳ４０１）、本処理を終了する。
【００６０】
図５は、操作表示ＧＵＩプログラム１６３による入力イベント処理のフローチャートである。
【００６１】
ユーザによるマウスカーソル等の操作入力装置１３２の操作によりＧＵＩ表示が変更されると、それとともに本処理が開始する。このユーザの操作としては、例えば、マウスカーソルをＯＮボタンの上に移動してからマウスボタンを押すボタン操作や、スライダーノブの上に移動してマウスボタンを押すスライダ操作などがある。
【００６２】
先ず、ユーザの行った操作がボタン操作であるか否かを判別する(ステップＳ５０１)。ボタン操作であるときは、ステップＳ５０２へ進み、一方、ボタン操作でないときは、ステップＳ５０２をスキップしてステップＳ５０３へ進む。
【００６３】
ステップＳ５０２において、ユーザがＯＮ、ＯＦＦのいずれのボタンの上にマウスカーソルを置いてマウスボタンを押したか判断して後、押されたボタンと判断した方を凹、他方を凸と表示すると同時に、情報交換テーブル中の要求欄のｌｉｇｈｔ欄をボタンが押された方の操作指示内容に更新する。
【００６４】
ステップＳ５０３において、ユーザが行った操作がスライダ操作であるか否かを判別する(ステップＳ５０３)。スライダ操作であるときは、ステップＳ５０４へ進み、一方、スライダ操作でないときはそのまま本処理を終了する。
【００６５】
ステップＳ５０４において、ユーザがマウスボタンを押しながらマウスカーソルを移動して変更したスライダのノブ表示位置が、全体に対してどの位置にあるかを％で換算し、情報交換テーブル中の要求欄のｂｌｉｎｄ欄を換算された数値に更新して、本処理を終了する。
【００６６】
図４及び図５の処理によれば、操作表示ＧＵＩプログラム１６３は、イベントドリブンで動作して、操作表示ＣＧＩ１６２により情報交換テーブルの状態欄が更新されると同時に、表示装置１３１に表示している内容を更新し（ステップＳ４０１）、ユーザが操作入力装置１３２を操作して変更した操作指示内容に情報交換テーブルの要求欄の内容を変更する（ステップＳ５０１，Ｓ５０２）ので、ユーザは現状の照明１２２とブラインド１２３の状態を知ることができると同時に、自身が入力操作装置１３２を操作したことにより変更した内容に照明１２２とブラインド１２３の状態を変更することができる。
【００６７】
図６は、本発明の第２の実施の形態に係る遠隔操作システムのシステム構成図である。
【００６８】
尚、第１の実施の形態と同じものには同一の符号が付してある。
【００６９】
図６において、遠隔操作システム６は、遠隔操作システム１と基本的に同じであるが、第１の実施の形態に係る遠隔操作端末１３０は、遠隔被操作装置１２０との通信をＷＷＷサーバプログラムで受けた時に起動されるＣＧＩプログラムとの間で情報交換を行なう形態であったのに対し、本実施の形態に係る遠隔操作端末６３０は、ＧＵＩを独自に実現するため、遠隔被操作装置１２０との通信をＷＷＷサーバプログラム１６１で受けた時に起動されるＣＧＩプログラムが、遠隔操作端末の基本ＧＵＩをＷＷＷブラウザ６６５をベースにして情報交換を行う形態を取る。
【００７０】
そのため、遠隔操作端末６３０は、第１の実施の形態における操作表示ＣＧＩプログラム１６２及び操作表示ＧＵＩプログラム１６３の代わりに、被操作装置応対ＣＧＩプログラム６６２、操作端末応対ＣＧＩプログラム６６３、操作表示ＧＵＩアプレット６６４、及びＷＷＷブラウザ６６５を有する。
【００７１】
第１の実施の形態における情報収集処理である図２のステップＳ２０３の処理と同様に、機器操作・データ収集プログラム１５２が遠隔被操作装置１２０から、遠隔操作端末６３０にＰＯＳＴコマンドを送信する。
【００７２】
遠隔操作端末６３０が受信したコマンドでＵＲＬパスである「/cgi−bin/operated」が要求されたとき、被操作装置応対ＣＧＩプログラム６６２を実行する、すなわち、前記ＵＲＬパスを含むコマンドである前記ＰＯＳＴコマンドを遠隔操作端末６３０が受信したときに、被操作装置応対ＣＧＩプログラム６６２が起動するように設定し、また、ＵＲＬパスである「/terminal.html」には、操作表示ＧＵＩアプレット６６４を含むＷＷＷページを格納する。
【００７３】
遠隔操作端末６３０で、遠隔操作を行なう場合は、まずＷＷＷブラウザ６６５を立上げ、ＷＷＷブラウザ６６５に自身（「localhost」）に向けて、「/terminal.html」のページ、すなわち、ＵＲＬが「HTTP://localhost/terminal.html」のページの表示を要求する。
【００７４】
前記ページの内容がＷＷＷブラウザ６６５により読み込まれると、操作ＧＵＩが表示されて操作表示ＧＵＩアプレット６６４の処理が開始される。これは、基本的に第１の実施の形態に係る操作表示ＧＵＩプログラム１６３がイベントドリブンで処理が開始する前述した図５の入力イベント処理と同じであるが、ＧＵＩの部品に対するユーザの操作アクションがあったとき、その表示を変更すると共に、ＵＲＬを「HTTP://localhost/cgi-bin/operation」とした送信情報を作成し、自分自身に送る点で異なる。
【００７５】
初期設定時、又は操作指令がない時は、以下のようなコマンドを送信する。また、一定時間ユーザの操作がなかったときも、同コマンドを送信する。
POST /cgi-bin/operation HTTP/1.0
Content-Length: 7
NONE
また、ユーザが照明１２２をＯＮ、ブラインド１２３の開閉位置を８０%に設定した場合は、以下のようなコマンドを送信する。
POST /cgi-bin/operation HTTP/1.0
Content-Length: 20
light=ON
blind=80
このコマンドをＷＷＷサーバプログラム１６１が受信すると、操作端末応対ＣＧＩプログラム６６３が起動される。起動された操作端末応対ＣＧＩプログラム６６３は、操作表示ＧＵＩアプレット６６４から送信されたコマンド内容を端末操作情報共有領域に書き込み、対象機器状態情報共有領域から被操作装置応対ＣＧＩプログラム６６２で書き込まれた内容を読み出し、これを標準出力に書き込む。
【００７６】
例えば、ＧＵＩの部品に対するユーザの操作アクションが、照明１２２をＯＦＦに、ブラインド１２３が７０%の開閉位置にするよう操作指示であった場合、以下のように端末操作情報共有領域に書き込む。
Content−Type: application/x-remote-terminal
light=OFF
blind=70
尚、操作機能が複数あり、操作要求のあった機能の情報のみが記述された場合は、その情報のみ更新してもよい。この場合、操作表示ＧＵＩアプレット６６４は、ユーザ操作の夫々に対してコマンドを送れば良くなる。
【００７７】
ＷＷＷサーバプログラム１６１は、この出力された応答情報に必要な他の情報を付加すると、この付加された情報を操作表示ＧＵＩアプレット６６４への応答として返信し、操作表示ＧＵＩアプレット６６４はこの返信された応答を受信次第ＷＷＷブラウザ６６５の表示内容を変更する。
【００７８】
一方、被操作装置応対ＣＧＩプログラム６６２が起動されると、遠隔被操作装置１２０から送られたコマンド内容を対象機器状態情報共有領域に書き込み、端末操作情報共有領域に操作端末応対ＣＧＩプログラム６６３により書き込まれたコマンド内容を読み出し、これを標準出力に書き込む。
【００７９】
例えば、操作端末応対ＣＧＩプログラム６６３により端末操作情報共有領域に書き込まれたコマンド内容が、照明１２２をＯＮにし、ブラインド１２３を８０%の開閉位置にする要求であった場合、以下のように出力する。
Content-Type: application/x-remote-operated
light=ＯN
blind=80
ＷＷＷサーバプログラム１６１は、この出力された応答情報に必要な他の情報を付加することにより、ステップＳ２０４で前述した遠隔操作端末１３０が遠隔被操作装置１２０に応答する情報を作成し、この操作情報を操作情報交換発動プログラム１５１への応答として送信する。
【００８０】
以上のように、遠隔操作端末６３０はＷＷＷブラウザ６６５をベースにすることにより、端末の汎用性が高まり、遠隔操作に限らず、一般のＷＷＷブラウジングにも利用できるようになる。また、操作画面に他の機能を付加するのも容易にできるようになる。
【００８１】
図７は、本発明の第３の実施の形態に係る遠隔操作システムのシステム構成図である。
【００８２】
尚、第２の実施の形態と同じものには同一の符号が付してある。
【００８３】
図７において、遠隔操作システム７は、遠隔操作システム６と基本的に同じであるが、遠隔操作端末６３０の代わりに遠隔操作中継装置７７０がインターネット１００と直接接続され、またＷＷＷプロキシサーバ７４１が導入されているファイアウォール（ＦＷ）７１１を介してＬＡＮ７１０がインターネット１００に接続され、さらにこのＬＡＮ７１０には遠隔被操作端末７３０が接続されている点で異なる。
【００８４】
さらに、本実施の形態において、操作表示ＧＵＩアプレット６６４は、遠隔操作端末７３０のWWWブラウザ６６５を用いて、遠隔操作中継装置７７０から操作表示用のWWWページを取出し表示させたとき、ダウンロードされ遠隔操作端末７３０上で実行される。
【００８５】
遠隔操作中継装置７７０は、ＣＰＵやメモリやネットワークインタフェースを有するパーソナルコンピュータやワークステーションなどのコンピュータと同等の構成を有する装置であり、前述のＷＷＷサーバプログラム１６１、遠隔被操作装置対応ＣＧＩプログラム６６２、及び操作端末対応ＣＧＩプログラム６６３を有する。
【００８６】
遠隔被操作端末７３０も同じく、ＣＰＵ、メモリ、及びネットワークインタフェースを有するパーソナルコンピュータやワークステーションなどのコンピュータと同等の構成を有する装置で、前述のＷＷＷブラウザ６６５を有し、表示装置１３１とマウスなどの操作入力装置１３２と接続する。
【００８７】
また本実施の形態に係る遠隔操作中継装置７３０の名前を「bar.com」とした場合、遠隔被操作装置１２０から遠隔操作中継装置７３０へ送信されるＵＲＬは、第１の実施の形態に係る遠隔被操作装置１２０から遠隔操作端末１３０へ送信されるＵＲＬである「HTTP://foo.con/cgi-bin/operated」の代わりに、「HTTP://bar.con/cgi-bin/operated」を用いる。
【００８８】
また、遠隔操作端末７３０でＷＷＷブラウザ６６５を立上げ、自分自身に向けて「/terminal.html」のページを表示させるＵＲＬは、第２の実施の形態でのＵＲＬである「HTTP://localhost/terminal.html」でなく、「HTTP://bar.com/terminal.html」となる。
【００８９】
さらに、遠隔操作端末７３０において、ＧＵＩの部品に対するユーザの操作アクションがあったとき、その表示を変更すると共に、操作要求情報を送信情報として作成して自分自身に送るＵＲＬは、第２の実施の形態でのＵＲＬである「HTTP://localhost/cgi-bin/operation」でなく、「HTTP://bar.com/cgi-bin/operation」となる。
【００９０】
また、本実施の形態では、遠隔操作端末７３０は、直接遠隔操作中継装置７７０に通信接続を試みるのではなく、ファイアウォール７１１上に実装されているＷＷＷプロキンサーバ７４１に向けて通信接続を要求し、ＷＷＷプロキシサーバ７４１を介して、遠隔操作中継装置７７０に転送及び応答が行われる。
【００９１】
尚、ＬＡＮ７１０、ファイアウォール７１１、及びＷＷＷプロキシサーバ７４１は、それぞれＬＡＮ１１０、ファイアウォール１１１、ＷＷＷプロキシサーバ１４１と同様のものでもかまわない。
【００９２】
他は、前述した第２の実施の形態に係る処理と同様の処理が行なわれる。すなわち、遠隔操作中継装置７７０をインターネット上に設置することにより、ファイアウォールの有無に関わらず、遠隔操作対象機器を遠隔操作端末から操作可能になる。
【００９３】
尚、上述した第１〜第３の実施の形態では、遠隔操作端末もしくは遠隔操作中継装置の名称やアドレスは固定で予めわかっているとしたが、遠隔操作端末もしくは遠隔中継装置から、それらの名称やアドレスを利用するときに電子メール等によって、遠隔被操作端末に送り、送られた名称やアドレスに応じて遠隔被操作端末が接続先を確定してもよい。これにより、ダイアルアップ接続の時のように遠隔操作端末もしくは遠隔操作中継装置が接続毎に自動的にアドレスが臨時に割り振られる場合でも、利用可能になる。
【００９４】
また、上述した第１〜第３の実施の形態では、遠隔被操作装置１２０が定期的に接続を行なうとしたが、遠隔操作端末などから、定期的もしくは必要時に遠隔被操作装置１２０に接続要求通知を行ない、これに応じて遠隔被操作装置が接続を行なうようにしてもよい。
【００９５】
また、上記説明では、ＨＴＴＰプロトコルを用いたが、これに制限されるわけではなく、プロキシサーバなどを活用し、所定の設定条件でファイアウォールを通過可能なプロトコルであれば利用可能である。
【００９６】
また、上記説明では、ＷＷＷサーバプログラムを用いた実施の形態を説明したが、ＷＷＷの要求に対応したプログラムを起動してそのプログラムからの出力をＷＷＷ応答として返送するなど、上記に述べた機能を実現するプログラムであれば、代わりに用いることができる。
【００９７】
さらに、セキュリティの面を強化するならば、ＳＳＬなどのセキュアなプロトコル上でＨＴＴＰプロトコルを用いてもよい。この場合、遠隔被操作装置からは、まず、ＳＳＬでの通信開始要求が発動される。
【００９８】
また、本発明は、前述した実施の形態の機能を実現する各種プログラムを記憶した記憶媒体により、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、記憶媒体から読み出されたプログラムモジュール自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【００９９】
上記実施形態では、プログラムは遠隔被操作装置１２０等に格納されているが、プログラムモジュールを供給する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【０１００】
【発明の効果】
以上詳細に説明したように、本発明によれば、操作対象装置がファイアウォール内部に設置されているときでも、操作側から柔軟に操作対象装置を操作することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る遠隔操作システムのシステム構成図である。
【図２】遠隔操作端末１３０による操作情報収集処理のフローチャートである。
【図３】遠隔操作端末１３０による応答処理のフローチャートである。
【図４】操作表示ＧＵＩプログラム１６３による状態変更イベント処理のフローチャートである。
【図５】操作表示ＧＵＩプログラム１６３による入力イベント処理のフローチャートである。
【図６】本発明の第２の実施の形態に係る遠隔操作システムのシステム構成図である。
【図７】本発明の第３の実施の形態に係る遠隔操作システムのシステム構成図である。
【符号の説明】
１００  インターネット
１１０  ＬＡＮ
１１１  ファイアウォール
１４１  ＷＷＷプロキシサーバ
１２０  遠隔被操作装置
１５１  操作情報交換発動プログラム
１５２  機器操作・データ収集プログラム
１３０  遠隔操作端末
１６１  ＷＷＷサーバプログラム
１６２  操作表示ＣＧＩプログラム
１６３  操作表示ＧＵＩプログラム
６３０  遠隔操作端末
６６２  被操作装置応対ＣＧＩプログラム
６６３  操作端末応対ＣＧＩプログラム
６６４  操作表示ＧＵＩアプレット
６６５  ＷＷＷブラウザ
７１１  ファイアウォール
７４１  ＷＷＷプロキシサーバ
７３０  遠隔操作端末
７７０  遠隔操作中継装置
【図１】
0004065479.tif 000003
【図２】
0004065479.tif 000004
【図３】
0004065479.tif 000005
【図４】
0004065479.tif 000006
【図５】
0004065479.tif 000007
【図６】
0004065479.tif 000008
【図７】
0004065479.tif 000009