JP2002328886A - 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体 - Google Patents

遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体

Info

Publication number
JP2002328886A
JP2002328886A JP2001132794A JP2001132794A JP2002328886A JP 2002328886 A JP2002328886 A JP 2002328886A JP 2001132794 A JP2001132794 A JP 2001132794A JP 2001132794 A JP2001132794 A JP 2001132794A JP 2002328886 A JP2002328886 A JP 2002328886A
Authority
JP
Japan
Prior art keywords
information
communication
response
program
operated device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001132794A
Other languages
English (en)
Inventor
Hisao Nakagawa
久雄 中川
Yoichi Kamei
洋一 亀井
Tadashi Yamakawa
正 山川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001132794A priority Critical patent/JP2002328886A/ja
Priority to US09/978,214 priority patent/US7003798B2/en
Publication of JP2002328886A publication Critical patent/JP2002328886A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)

Abstract

(57)【要約】 【課題】 ファイアウォールの内部に被操作装置を設置
しても、操作端末からファイアウォールを越えて操作で
きる遠隔操作システムを提供する。 【解決手段】 遠隔操作システムでは、被操作装置12
0の状態情報および操作端末130に入力された操作情
報を交換し、操作端末130から被操作装置120を操
作する際、被操作装置120は、操作端末130への通
信コネクションを発動し、被操作装置120の状態情報
を通知すると、操作端末130は、通知された状態情報
を表示するとともに、その受信応答を、即座に被操作装
置120に返す。また、被操作装置120は、操作端末
130への通信コネクションを発動し、操作情報を要求
すると、操作端末130は、所定時間だけ操作の入力を
待機し、操作が発生した場合、連続する操作を監視し、
複数の操作が発生した場合、複数の操作をまとめた操作
情報を被操作装置120に返す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、操作端末を用いて
遠隔から機器を操作する遠隔操作システム、遠隔操作方
法、被操作装置、操作端末、プログラムおよび記憶媒体
に関する。
【0002】
【従来の技術】従来、ネットワークを介して機器と操作
端末を結ぶ遠隔操作システムが知られている。このよう
な遠隔操作システムでは、LANやインターネットの普
及と共に、計算機やネットワーク機器だけでなく、種々
の機器をネットワークに接続し、ネットワークを介して
情報を取得したり、制御することが普及しつつある。例
えば、遠隔地の温度計を読み取ったり、ビデオカメラの
雲台を制御することが挙げられる。
【0003】このような遠隔操作システムは、操作対象
の機器と操作する機器との双方がネットワークに接続さ
れ、所定の通信プロトコルで通信することによって実現
される。
【0004】しかし、操作対象機器と操作用機器とが通
信できない場合がある。多くの組織が自組織のLANを
インターネットに接続する場合、ファイアウォールと称
される通信の制限手段をその接続点に設けることが行わ
れている。この制限手段は、LANをインターネット上
の悪意の利用者から守るためであるが、同時にLAN上
の正当な利用者のインターネット利用も妨げてしまう場
合もある。
【0005】例えば、ファイアウォールの実現手段の1
つとして、LANとインターネットとの間で特定の条
件、例えば、通信プロトコル、送信元、送信先を満たし
た通信パケットだけを通過させるように制限することが
広く行われている。
【0006】また、サーバ/クライアントモデルとスト
リーム型通信プロトコル(TCP/IP)の特性に基づ
き、LAN内のクライアントが通信要求を発し、インタ
ーネット上のサーバを利用できるようにしているが、逆
にLAN上のサーバに対してインターネットから通信要
求を伝えることができないようにすることが一般的であ
る。
【0007】したがって、LANの一般利用者は、イン
ターネットからの通信要求を受けるサーバをLAN内に
置くことは、通常できない。
【0008】さらに、ファイアウォールでは、LANと
インターネットとの間で通信パケットをOSレベルで
(通信プロトコルスタックで)中継しないように制限す
ることも行われる。この場合、安全性は高まるが、イン
ターネットからLAN方向だけでなく、LANからイン
ターネットへ出ていく通信パケットもファイアウォール
を通過できなくなる。
【0009】そこで、アプリケーションレベルのプログ
ラムで通信パケット全体ではなく通信すべきデータのみ
を中継するようにし、必要なデータの通信を実現するこ
とが行われている。代表的な中継プログラムとして、W
WW(World WideWeb)のデータを中継す
るプロキシサーバが知られており、多くのファイアウォ
ール上でサービスが提供されている。しかし、全てのア
プリケーションプロトコルに対して中継プログラムが用
意されているわけではない。したがって、LANの一般
利用者は全てのアプリケーションプロトコルを利用でき
るとは限らない。
【0010】このように、ファイアウォールが機器間に
存在する場合、操作対象機器と操作機器との間の通信
は、一般に制約されることが多い。機器のネットワーク
の接続先が制限されたり、遠隔操作用の通信プロトコル
がファイアウォールを通過できなかったりすることがあ
る。これに対し、ファイアウォールの設定を変えること
で制約を取り除くことは可能であるが、ファイアウォー
ルの安全性を弱めるので、一般的に認められないことが
多い。
【0011】また、ファイアウォール管理者への依頼事
務手続きが煩雑であったり、管理者が多忙で頻繁な変更
には応じられないという場合も多く、ファイアウォール
の設定を変えることは避けられている。
【0012】そこで、独自の通信プロトコルを使用する
のではなく、ファイアウォールを通過できるように設定
されていることの多い、WWWの通信プロトコルである
HTTP(Hyper Text Transfer
Protocol)を用いる方法が提案されている。即
ち、独自のプロトコルをHTTPのメソッドやデータに
変換したり、独自のプロトコルを埋め込んでHTTPと
してファイアウォールを通過させ、独自プロトコルのコ
マンドやデータに再構成する。これは、機器操作に限ら
ず、音声や動画等の連続データのファイアウォール通過
にも広く用いられている。
【0013】ところで、HTTPは、前述したストリー
ム型通信プロトコル(TCP/IP)上にサーバ/クラ
イアントモデルのアプリケーションプロトコルを構築し
たものであるが、クライアントからのリクエストとサー
バからのレスポンスの1往復の通信が基本となってい
る。
【0014】当初のプロトコルでは、この1往復の通信
を1つのストリーム型通信コネクションに割り当ててお
り、1つのリクエスト毎にストリーム型コネクションを
確立する必要があり、そのオーバヘッドが大きかった。
【0015】そこで、現在のプロトコルでは、持続的コ
ネクション(persistentconnectio
n)が規定され、1つの通信コネクションを複数往復分
のリクエスト・レスポンス交換に割り当てられるように
なっている。さらに、レスポンスが返る前に続けてリク
エストを送るパイプライン処理も規定されている。
【0016】
【発明が解決しようとする課題】このように、HTTP
の通信の枠組みを利用することで、ファイアウォール内
部のLANに接続された操作用機器からインターネット
上の操作対象機器への通信・制御は可能になる。
【0017】しかしながら、逆方向、つまりインターネ
ット上の操作用機器からLANに接続された操作対象機
器への通信・制御のための通信要求がファイアウォール
を通過できないという問題が依然として残っていた。
【0018】これに対し、内部の機器から外部の機器に
向けて、一定間隔で継続して接続要求を行い、外部の機
器は接続を行う時だけ、これに応答する、いわゆるポー
リング方式を利用することが考えられる。ポーリング方
式は、例えば、ファクシミリ情報サービスにFAXメッ
セージ受信を要求するといった場合に利用される。
【0019】しかし、遠隔操作のような場合、FAX受
信の場合と違い、即時応答性が重要となる。また、外部
からの操作は不定期であり、内部の機器側では、外部か
らの操作がいつ行われるかを予測できないことに加え、
複数の操作要求が行われることが予想されるので、頻繁
に接続要求を行う必要があった。
【0020】したがって、ポーリング方式を用い、遠隔
操作のような即時応答性を重要視した通信を行う際、常
に通信トラフィックが発生し、かつそのうちの殆どが無
駄なトラフィックとなり得るという問題を抱えていた。
【0021】さらに、この問題を解決する過程で、持続
的コネクションを用いて通信コネクション確立までの遅
延時間を減少させることが考えられるが、機器間のHT
TPデータを中継するプロキシサーバで設定される持続
的コネクションの切断タイムアウト時間が、利用者の機
器操作や機器の状態変化の間隔に比べて一般に短いの
で、操作や状態変化によって通信の必要が発生した時に
は、既に持続的コネクションが切断されており、持続的
コネクションの効果が得られない場合がある。
【0022】持続的コネクションの効果を最大限に活か
すためには、タイムアウトにより切断されないようにダ
ミーの通信を行えばよいが、利用者の機器操作や機器の
状態変化の間隔が長い場合、ダミーの通信量が増加する
という問題があった。
【0023】そこで、本発明は、ファイアウォールの内
部に操作対象機器(被操作装置)を設置しても、インタ
ーネットに接続された操作端末からファイアウォールを
越えて操作できる遠隔操作システム、遠隔操作方法、被
操作装置、操作端末、プログラムおよび記憶媒体を提供
することを目的とする。
【0024】
【課題を解決するための手段】上記目的を達成するため
に、本発明の遠隔操作システムは、ネットワークを介し
て被操作装置および操作端末が接続され、前記操作端末
で作成された操作情報を用いて前記被操作装置を操作す
る遠隔操作システムであって、前記被操作装置は、前記
操作端末への通信を発動し、前記操作情報を前記操作端
末に要求する操作情報要求手段を備え、前記操作端末
は、前記発動された通信に応じ、所定時間だけ操作の発
生を待機し、該操作が発生した場合、連続する操作を監
視した後、前記要求された操作情報を前記被操作装置に
返す操作情報応答手段を備えたことを特徴とする。
【0025】また、前記操作情報応答手段は、前記連続
する操作を監視した結果、複数の操作が発生した場合、
該複数の操作に相当する前記操作情報をまとめて返すこ
とを特徴とする。
【0026】さらに、前記操作情報応答手段は、前記発
生した操作の優先度が所定値より高い場合、前記連続す
る操作を監視することなく、前記操作情報を返すことを
特徴とする。
【0027】また、前記被操作装置は、前記操作情報の
要求とは別に、前記操作端末への通信を発動し、該被操
作装置の状態情報を前記操作端末に通知する状態情報通
知手段を備え、前記操作端末は、前記発動された通信に
応じ、待機することなく、前記通知された状態情報の応
答を前記被操作装置に返す状態情報通知応答手段を備え
たことを特徴とする。
【0028】さらに、前記操作情報要求手段は、前記操
作端末への通信を発動して前記被操作装置の状態情報を
通知するとともに、該通信を用いてその応答としての前
記操作情報を要求し、前記操作情報応答手段は、前記通
知された状態情報の応答として、前記通信を用いて前記
要求された操作情報を返すことを特徴とする。
【0029】本発明の遠隔操作方法は、操作端末で作成
された操作情報を用い、ネットワークを介して被操作装
置を操作する遠隔操作方法であって、前記被操作装置か
ら前記操作端末へ通信を発動し、前記操作情報を前記操
作端末に要求する操作情報要求工程と、前記発動された
通信に応じ、所定時間だけ操作の発生を待機し、該操作
が発生した場合、連続する操作を監視した後、前記操作
端末から前記要求された操作情報を前記被操作装置に返
す操作情報応答工程とを有することを特徴とする。
【0030】また、前記操作情報応答工程では、前記連
続する操作を監視した結果、複数の操作が発生した場
合、該複数の操作に相当する前記操作情報をまとめて返
すことを特徴とする。
【0031】さらに、前記操作情報応答手段は、前記発
生した操作の優先度が所定値より高い場合、前記連続す
る操作を監視することなく、前記操作情報を返すことを
特徴とする。
【0032】本発明の被操作装置は、ネットワークに接
続された操作端末から操作される被操作装置であって、
前記操作端末への通信を発動し、状態情報を通知する状
態情報通知手段と、前記操作端末への通信を発動し、操
作情報を要求する操作情報要求手段とを備え、前記操作
端末は、前記被操作装置からの通信の発動に応じ、前記
通知された状態情報の応答を待機することなく返す一
方、前記要求された操作情報を所定時間待機し、該操作
が発生した場合、連続する操作を監視した後、該監視の
結果、複数の操作が発生した場合、該複数の操作に相当
する前記操作情報をまとめて返すことを特徴とする。
【0033】本発明の操作端末は、ネットワークに接続
された被操作装置を操作する操作端末であって、前記被
操作装置からの通信の発動に応じ、前記被操作装置から
通知された状態情報の応答を待機することなく前記被操
作装置に返す状態情報通知応答手段と、前記被操作装置
からの通信コネクションの発動に応じ、前記被操作装置
から要求された操作情報を、所定時間待機し、該操作が
発生した場合、連続する操作を監視した後、該監視の結
果、複数の操作が発生した場合、該複数の操作に相当す
る前記操作情報をまとめて前記被操作装置に返す操作情
報応答手段とを備えたことを特徴とする。
【0034】
【発明の実施の形態】本発明の遠隔操作システム、遠隔
操作方法、被操作装置、操作端末、プログラムおよび記
憶媒体の実施の形態について図面を参照しながら説明す
る。
【0035】[第1の実施形態]図1は第1の実施形態
における遠隔操作システムの構成を示す図である。図に
おいて、100はインターネットである。インターネッ
ト100には、ファイアウォール111を介してLAN
110、および操作端末130が接続されている。ま
た、LAN110には、被操作装置120が接続されて
いる。ファイアウォール111には、プロキシサーバ1
12が導入されている。
【0036】被操作装置120は、CPU、メモリ(R
OM、RAM)およびネットワークインタフェースを有
するパーソナルコンピュータ、ワークステーションなど
のコンピュータと同等の機能を有する装置であり、後述
する状態通知プログラム141、操作データ収集プログ
ラム142および制御プログラム143を有する。ま
た、被操作装置120には、操作対象機器として、ON
/OFFが操作される照明122、および開閉位置が操
作されるブラインド123が接続されている。
【0037】コントローラ121は、制御プログラム1
43からの制御指令に応じて、照明122の点灯・消灯
を制御したり、ブラインド123の上げ下げを制御する
とともに、照明122の点灯状態やブラインド123の
開閉位置などの状態情報を状態通知プログラム141に
回答する。
【0038】操作端末130は、被操作装置120と同
様、CPU、メモリ(ROM、RAM)およびネットワ
ークインタフェースを有するパーソナルコンピュータ、
ワークステーションなどのコンピュータと同等の機能を
有する装置であり、後述するHTTPサーバプログラム
151、操作表示CGIプログラム152、操作CGI
プログラム153、操作表示GUIプログラム154を
有する。操作端末130には、表示装置131、および
マウスなどの操作入力装置132が接続されている。
【0039】操作端末130上で動作するHTTPサー
バプログラム151は、HTTPリクエストに対する応
答、CGI(Common Gateway Inte
rface)プログラムの実行など、一般的なWWWサ
ーバ機能を有するプログラムである。そして、操作端末
130は、いわゆるWWWサーバのように振る舞う。
【0040】一方、被操作装置120では、状態通知プ
ログラム141および操作データ収集プログラム142
がHTTPサーバプログラム151にアクセスすること
により、操作端末130に向けて状態通知および操作デ
ータ収集依頼が行われる。操作表示GUIプログラム1
54は、被操作装置120から送られた装置の状態を表
示装置131に表示し、利用者の操作対象機器に対する
操作を操作入力装置132から受け取り、被操作装置1
20に送るためのGUIを実現する。
【0041】上記構成を有する遠隔操作システムの動作
を示す。図2は遠隔操作システムの動作シーケンスを示
す図である。図においては、状態通知サイクル、操作伝
達サイクルの2本の通信コネクションを使用し、操作対
象機器の状態通知および操作端末130からの操作情報
の収集が行われる。
【0042】状態通知サイクルでは、被操作装置120
上の状態通知プログラム141が操作端末130上の操
作表示CGIプログラム152をアクセスすることで、
状態通知が行われる。例えば、被操作装置120が状態
情報S0、S1を操作端末130に通知すると、操作端
末130側では、送られた状態情報を基に操作画面の表
示が行われる。
【0043】一方、操作伝達サイクルでは、被操作装置
120上の操作データ収集プログラム142が操作端末
130上の操作CGIプログラム153をアクセスする
ことで、被操作装置120から操作端末130に操作伝
達要求が行われる。例えば、操作伝達E0、E1を収集
すると、被操作装置120側では、収集した操作伝達情
報を基に操作対象機器の操作が行われる。これらの状態
通知サイクルおよび操作伝達サイクルは並列に動作す
る。
【0044】図3は操作伝達サイクルの動作シーケンス
を示す図である。同図(A)に示すように、操作端末1
30側で操作E0が発生した時、操作伝達を行うと、直
後の操作E1の伝達に遅延が生じる。そこで、本実施形
態では、同図(B)に示すように、操作端末130側で
操作E0が発生した時、続く操作を少しの時間だけ待
ち、その間に操作E1が発生した場合、操作伝達E0+
1としてまとめて操作情報を送るようにする。
【0045】[状態通知プログラム141]つぎに、被
操作装置120における状態通知サイクルを示す。図4
は状態通知プログラム141の処理手順を示すフローチ
ャートである。この処理は、被操作装置120内のCP
U(図示せず)が同じく被操作装置120内のROM
(図示せず)に記憶された状態通知プログラム141を
実行することによって行われる。
【0046】まず、操作対象機器に状態変化があるまで
待つ(ステップS301)。この処理は、例えば、制御
プログラム143が、操作対象機器に状態変化があった
とき、共有メモリ上に確保された状態変化フラグ(図示
せず)をONにしておき、状態通知プログラム141
が、このフラグを監視し、状態変化を検知した場合、状
態変化フラグをOFFにする処理である。尚、共有メモ
リの代わりにファイルを共有してもよいし、通信ポート
を利用し、それぞれのプログラム間でプロセス間通信を
行うことで情報を共有してもよい。
【0047】ステップS301で状態変化があった場
合、照明122の点灯状態およびブラインド123の開
閉位置の状態情報を収集する(ステップS302)。こ
の処理は、コントローラ121の状態を入力する制御プ
ログラム143に対して情報入力要求を行うことによっ
て実現される。尚、制御プログラム143は、操作対象
機器に状態変化があった際、その状態情報を格納するバ
ッファを設け、状態通知プログラム141がこのバッフ
ァを監視することによって実現してもよい。
【0048】HTTPのPOSTコマンドを用いて、状
態情報に応じた送信情報を作成する(ステップS30
3)。例えば、照明122がOFFの状態であり、ブラ
インド123が70%の開閉位置であり、操作端末13
0における操作表示CGIプログラム152のURLが
HTTP://foo.bar.co.jp/cgi−
bin/newstatusである場合、以下のような
コマンドを作成する。 「POST HTTP://foo.bar.co.j
p/cgi−bin/newstatus HTTP/
1.0 Content−Length: 21 ¥r¥n light=OFF¥r¥n blind=70¥r¥n」 そして、通信回線を確保し(ステップS304)、作成
された情報を、操作端末130のHTTPサーバプログ
ラム151に向けて送信する(ステップS305)。こ
のように、ストリーム指向の接続で、ファイアウォール
で守られた内部のLANからインターネット上への機器
に接続要求を行う場合、ファイアウォールの通過を認め
るように設定されることが多いので、通信が可能にな
る。HTTPサーバプログラム151は、この情報を受
け取り、操作表示CGIプログラム152を呼び出す。
操作表示CGIプログラム152は、受け取った状態情
報を基に、操作対象機器の操作画面の更新を要求し、直
ちに応答を返す。この詳細については後述する。
【0049】状態通知プログラム141は、この応答が
受信されるまで所定時間待つ(ステップS306、S3
08)。所定時間待っても応答がない場合、エラーフラ
グをONにセットする(ステップS307)。エラーフ
ラグがONにセットされた場合、あるいは所定時間内に
操作表示CGIプログラム152からの応答が受信され
た場合、回線をクローズする(ステップS309)。
【0050】そして、エラーフラグがONにセットされ
たか否かを判別し(ステップS310)、エラーフラグ
がONにセットされている場合、このプログラムを終了
し、そうでない場合、ステップS301に戻って再び状
態変化を待つ。
【0051】[操作表示CGIプログラム152]つぎ
に、状態通知サイクルにおける操作端末130の処理を
示す。予め操作端末130上で動作しているHTTPサ
ーバプログラム151に対し、URLパスである「/c
gi−bin/newstatus」が要求された場
合、操作表示CGIプログラム152が実行されるよう
に設定しておく。このため、上記要求を被操作装置12
0から受け取ると、操作表示CGIプログラム152が
起動する。
【0052】図5は操作表示CGIプログラム152の
処理手順を示すフローチャートである。この処理は、操
作端末130内のCPU(図示せず)が同じく操作端末
130内のROM(図示せず)に格納された操作表示C
GIプログラム152を実行することによって行われ
る。
【0053】まず、被操作装置120から送られた状態
情報を読み込み、その情報を共有メモリ領域に確保した
情報交換テーブル401の中の状態欄に書き込む(ステ
ップS401)。図6は情報交換テーブル401を示す
図である。本実施形態では、照明がOFFであり、ブラ
インド開閉位置が70%であるので、状態欄のligh
t欄に「OFF」、状態欄のblind欄に「70」が
書き込まれる。
【0054】情報交換テーブル401は、操作表示GU
Iプログラム154から読み書き可能であり、この操作
表示GUIプログラム154に対し、操作表示更新要求
を行うことで操作画面が更新される。尚、共有メモリの
代わりにファイルを共有してもよいし、通信ポートを利
用し、それぞれのプログラム間でプロセス間通信を行
い、情報の共有を行ってもよい。また、操作表示GUI
プログラム154を利用する代わりに、操作表示CGI
プログラム152に操作画面の表示・更新機能を持たせ
てもよい。
【0055】そして、ACK応答情報を作成し、標準出
力に出力する(ステップS402)。HTTPサーバプ
ログラム151によって被操作装置120の状態通知プ
ログラム141に応答が返される。例えば、以下のよう
な応答情報を標準出力に出力する。 「Content−Type: applicatio
n/x−newstatus ¥r¥n ok¥r¥n」 この結果、HTTPサーバプログラム151によって必
要な他の情報が付加され、この例では、次のような応答
が返される。 「HTTP/1.0 200 OK Content−Type: application
/x−newstatus Content−Length: 4 ¥r¥n ok¥r¥n」 [操作データ収集プログラム142]つぎに、被操作装
置120における操作伝達サイクルの処理を示す。図7
は操作データ収集プログラム142の処理手順を示すフ
ローチャートである。この処理は、被操作装置120内
のCPU(図示せず)が同じく被操作装置120内のR
OM(図示せず)に記憶された操作データ収集プログラ
ム142を実行することによって行われる。
【0056】まず、回線を確保する(ステップS50
1)。操作端末130のHTTPサーバプログラム15
1に向けて操作伝達要求コマンドを送信する(ステップ
S502)。例えば、操作端末130における操作CG
Iプログラム153のURLがHTTP://foo.
bar.co.jp/cgi−bin/getoper
ationである場合、以下のようなコマンドを送信す
る。 「POST HTTP://foo.bar.co.j
p/cgi−bin/getoperation HT
TP/1.0 Content−Length: 6 ¥r¥n none¥r¥n」 HTTPサーバプログラム151は、この情報を受け取
り、操作CGIプログラム153を呼び出す。操作CG
Iプログラム153は、操作イベントを待ち、イベント
が発生した場合、操作情報を返送する。この詳細につい
ては後述する。
【0057】操作データ収集プログラム142は、この
応答が受信されるまで所定時間待つ(ステップS50
3、S505)。所定時間待っても応答がない場合、エ
ラーフラグをONにセットし(ステップS504)、ス
テップS508の処理に移行する。
【0058】一方、所定時間内に操作CGIプログラム
153からの応答が受信された場合、受信データをチェ
ックし、受信したデータが操作伝達であるか否かを判別
する(ステップS506)。受信したデータが操作伝達
である場合、操作情報を操作データキュー(図示せず)
に追加する(ステップS507)。例えば、照明122
をONにし、ブラインド123の開閉位置を80%にす
るように、操作端末側で指示された場合、以下のような
応答が受信される。 「HTTP/1.0 200 OK Content−Type: application
/x−getoperation Content−Length: 20 ¥r¥n light=ON¥r¥n blind=80¥r¥n」 被操作装置120では、制御プログラム143は、イベ
ントドリブンで動作し、操作データ収集プログラム14
2により、操作データキューの情報が書き換えられた場
合、操作要求イベントを発生する。操作要求イベントの
発生が通知されると、本実施形態では、制御プログラム
143は、照明122の点灯、およびブラインド123
の開閉位置を80%にする操作情報を、操作データキュ
ーから取り出し、コントローラ121を制御し、照明1
22およびブラインド123を要求通りの状態に変更す
る。
【0059】そして、操作データ収集プログラム142
は、回線をクローズする(ステップS508)。エラー
フラグがONにセットされているか否かを判別し(ステ
ップS509)、エラーフラグがONにセットされてい
る場合、このプログラムを終了し、そうでない場合、ス
テップS501に戻り、同様の処理を繰り返す。
【0060】[操作CGIプログラム153]つぎに、
操作伝達サイクルにおける操作端末130の処理を示
す。状態通知サイクルと同様、予め操作端末130上で
動作しているHTTPサーバプログラム151に対し、
URLパスである「/cgi−bin/getoper
ation」が要求された場合、操作CGIプログラム
153が実行されるように設定しておく。このため、こ
のような要求を被操作装置120から受け取ると、操作
CGIプログラム153が起動する。
【0061】図8は操作CGIプログラム153の処理
手順を示すフローチャートである。この処理は、操作端
末130内のCPU(図示せず)が同じく操作端末13
0内のROM(図示せず)に格納された操作CGIプロ
グラム153を実行することによって行われる。
【0062】操作表示CGIプログラム152では、被
操作装置120側に向けて直ちに応答を返したが、操作
CGIプログラム153では、状態通知サイクルがHT
TPリクエストのタイムアウトによる回線の切断が生じ
ないような最大時間まで操作イベントを待つようにす
る。
【0063】まず、所定時間が経過するか(ステップS
601)、あるいは操作が行われ、情報交換テーブル4
01の要求欄が更新されるまで待つ(ステップS60
2)。例えば、HTTPリクエストのタイムアウト時間
から往復のネットワーク遅延時間を差し引いた時間より
短い時間だけ操作イベントを待つようにする。
【0064】操作が検出された場合、更新された要求を
情報交換テーブル401の中の要求欄から読み取り、送
信データキュー(図示せず)に追加する(ステップS6
03)。そして、連続する操作を所定の待機時間だけ待
つ(ステップS604)。例えば、待機時間として、ネ
ットワーク遅延時間に相当する時間だけ待つようにす
る。待機時間が終了した場合、送信データキューから古
い順に操作要求情報を読み取り(ステップS605)、
操作要求が複数ある場合、これをまとめる。
【0065】例えば、最初に、照明122をONにし、
ブラインド123を70%にする操作が行われ、続い
て、ブラインド123を80%に変更するという操作が
行われた場合、読み込んだ操作情報を照明122をON
にし、ブラインド123を80%にするという情報にま
とめる。
【0066】読み込んだ操作要求情報に応じた応答情報
を作成し、標準出力に出力する(ステップS606)。
HTTPサーバプログラム151によって被操作装置1
20上の操作データ収集プログラム142に応答を返す
(ステップS607)。例えば、以下のような応答情報
を標準出力に出力する。 「Content−Type: applicatio
n/x−getoperation ¥r¥n light=ON¥r¥n blind=80¥r¥n」 HTTPサーバプログラム151によって必要な他の情
報が付加され、操作データ収集プログラム142の応答
情報で示したような情報が返される。
【0067】一方、ステップS601で所定時間経過し
た場合、つまりユーザの操作がなかった場合、内容をn
oneとして以下のような応答情報を標準出力に出力す
る。 「Content−Type: applicatio
n/x−getoperation ¥r¥n none¥r¥n」 このような構成を有することにより、第1の実施形態で
は、ファイアウォールの内部に被操作装置120を設置
しても、インターネットに操作端末130を接続し、そ
こから対象機器を操作することが可能となる。
【0068】また、状態通知の応答を直ぐに返し、次の
状態変化通知に備えると共に、操作伝達要求の場合、操
作イベントを待つようにすることで、操作があった場
合、直ぐに操作情報を通知することが可能となる。
【0069】また、操作イベントが短い時間に連続して
発生した場合でも、効率良く操作情報を通知することが
できる。尚、本実施形態では、全ての操作について、連
続したイベントの検出を行ったが、操作に優先度を設
け、直ぐに反映されるべき優先度の高い操作について
は、続く操作を待たずに即応し、そうでない場合には、
まとめて送るようにしてもよい。この場合、操作に設け
られた優先度が所定値より高い場合、優先度の高い操作
であると判定するようにしてもよい。
【0070】[第2の実施形態]前記第1の実施形態で
は、状態通知と操作伝達に専用の通信コネクションを設
けていたが、本発明はこれに限るわけではない。第2の
実施形態では、状態通知を行った同じ通信コネクション
上で操作イベントを待つ場合を示す。
【0071】第2の実施形態の遠隔操作システムは、前
記第1の実施形態のシステム構成(図1参照)におい
て、状態通知プログラム141および操作データ収集プ
ログラム142を、1つの操作情報交換プログラム74
1(図示せず)に置き換え、また操作表示CGIプログ
ラム152および操作CGIプログラム153を、1つ
の操作表示応答CGIプログラム752(図示せず)に
置き換えることにより実現される。尚、前記第1の実施
形態と同一の構成および処理については、同一の符号を
付すことにより、その説明を省略する。
【0072】図9は第2の実施形態における動作シーケ
ンスを示す図である。状態通知および操作伝達を共用す
る2本の通信コネクションを使用し、操作対象機器の状
態通知および操作端末130からの操作情報の収集が行
われる。
【0073】第2の実施形態では、1本の通信コネクシ
ョンでも状態通知および操作伝達を行うことができる点
が前記第1の実施形態と異なる。すなわち、前記第1の
実施形態と同様、被操作装置120で状態変化(例え
ば、S0)を検出すると、状態変化を待っている片側の
通信コネクションで操作端末130に向けて状態通知が
行われる。そして、操作端末130側で操作が行われる
のを待つ。操作イベントが検出されると、状態通知を行
った通信コネクションで操作情報が返送される。
【0074】操作端末130側で操作E0が発生した
時、操作伝達を行ってしまうと、直後の操作E1があっ
た場合、操作情報の伝達に遅延が生じる。そこで、前記
第1の実施形態と同様、操作端末130側で操作E0が
発生した時、続く操作を少しだけ待ち、その間に操作E
1が発生した場合、操作伝達E0+1として操作情報が
返送される。被操作装置120側では、操作情報を受け
取った後、どちらか一方のコネクションが状態変化待ち
である場合、今度は、状態変化がなくても、「状態変化
なし」という状態通知を行う。そして、収集した操作情
報を基に、操作対象機器の操作が行われる。
【0075】状態通知を行った通信コネクションが操作
を待っている間、被操作装置120で新たな状態変化
(例えば、S1)を検出すると、新たに通信コネクショ
ンが生成され、状態通知が行われる。操作端末130側
では、新たな状態通知が到着すると、先に操作待ちを行
っている通信コネクション側で「操作なし」という操作
情報を返送し、後の通信コネクション側で引き続き操作
を待つ。「操作なし」を受け取った通信コネクション側
では、もう一方が操作伝達あるいは操作なしを受信する
まで状態変化を待つ。
【0076】[操作情報交換プログラム741]つぎ
に、被操作装置120側の処理を示す。図10および図
11は操作情報交換プログラム741の処理手順を示す
フローチャートである。この処理は、被操作装置120
内のCPU(図示せず)が同じく被操作装置120内の
ROM(図示せず)に記憶された操作情報交換プログラ
ム741を実行することによって行われる。
【0077】操作情報交換プログラム741は、3つの
カウンタ(図示せず)を有する。図12はカウンタテー
ブルを示す図である。第1のカウンタは、操作情報交換
プログラム741がHTTPサーバプログラム151か
らの応答を待っているHTTPリクエスト要求数を数え
るものであり、その初期値は値0である。このカウンタ
を要求カウンタと呼ぶ。
【0078】第2のカウンタは、送信するHTTPリク
エストの順序を数えるものであり、リクエストデータ中
にその値が埋め込まれる。その初期値は値0である。こ
のカウンタを送信カウンタと呼ぶ。
【0079】第3のカウンタは、受信したHTTPレス
ポンスの処理順序を数えるものであり、レスポンスデー
タの中にその値が埋め込まれている。その初期値は値0
である。このカウンタを受信カウンタと呼ぶ。
【0080】本実施形態では、操作情報交換プログラム
741は、同時に2つのプロセスで実行され、並列動作
する。まず、共有メモリ領域に確保したカウンタテーブ
ル801から要求カウンタを読み込む(ステップS80
1)。カウンタテーブル801には、要求カウンタ以外
に、後述する送信カウンタおよび受信カウンタの値がセ
ットされている。カウンタテーブル801の要求欄に
は、現在、状態通知を行って操作伝達待ちである通信コ
ネクションの数が設定されている。つまり、要求カウン
タが値0である場合、2つの操作情報交換プログラム7
41は共に状態変化待ちの状態である。値1の場合、片
方が状態通知を行った後、操作待ち状態であることを示
す。尚、要求、送信、受信のそれぞれのカウンタを別々
に管理してもよく、また共有メモリの代わりにファイル
を共有してもよい。
【0081】要求カウンタのチェックを行い(ステップ
S802)、要求カウンタが値1である場合、状態変化
が発生するまで待つ(ステップS803)。一方、要求
カウンタが値0である場合、あるいはステップS803
で状態変化があった場合、前記第1の実施形態と同様、
照明122の点灯状態およびブラインド123の開閉位
置の状態情報を収集し(ステップS804)、カウンタ
テーブル801から送信カウンタを読み込む(ステップ
S805)。
【0082】そして、送信情報を作成する(ステップS
806)。カウンタテーブル801の送信欄には、状態
通知情報を送信した回数がセットされている。例えば、
送信カウンタの値が「1」である場合、以下のようなコ
マンドを作成する。 「POST HTTP://foo.bar.co.j
p/cgi−bin/newstatus HTTP/
1.0 Content−Length: 37 ¥r¥n send_counter=1¥r¥n light=OFF¥r¥n blind=70¥r¥n」 そして、送信カウンタの値を1つ増やす(ステップS8
07)。本実施形態では、カウンタテーブル801の送
信欄に値2を書き込む。通信回線を確保し(ステップS
808)、要求カウンタの値を1つ増やし(ステップS
809)、カウンタテーブルの要求欄に書き込む。
【0083】尚、本実施形態では、2つの操作情報交換
プログラム741が並列動作しているので、ステップS
804〜ステップS807の処理を行う場合、情報交換
テーブル401、カウンタテーブル801をロックする
などの排他制御を行うことで、2重の情報収集、カウン
タの抜け、だぶりなどが発生しないようにしておく。ま
た、後述する応答受信の場合も、同様の排他制御を行
う。
【0084】ステップS809の処理後、操作端末13
0のHTTPサーバプログラム151に向けてこの情報
を送信する(ステップS810)。尚、要求カウンタの
初期値を値0にしておくことで、操作情報交換プログラ
ム741が最初に起動されたとき、状態変化を待たず
に、操作対象機器の初期状態を操作端末103に通知し
ておくことができる。
【0085】HTTPサーバプログラム151は、この
情報を受け取り、操作表示応答CGIプログラム752
を呼び出す。操作表示応答CGIプログラム752は、
受け取った情報を基に対象機器の操作画面を更新する。
この詳細については後述する。
【0086】操作情報交換プログラム741は、操作表
示応答CGIプログラム752からの応答を受信するま
で所定時間待つ(ステップS811)。所定時間待って
も応答がない場合、エラーフラグをONにセットし(ス
テップS812)、ステップS819の処理に移行す
る。
【0087】一方、操作表示応答CGIプログラム75
2からの応答を受信した場合、カウンタテーブル801
から受信カウンタを読み込み(ステップS814)、受
信カウンタのチェックを行う(ステップS815)。カ
ウンタテーブル801の受信欄には、既に受信したデー
タのカウンタ値、つまり次に処理すべきデータ番号より
値1少ない値がセットされている。ここで、受け取った
データ内に記述されているカウンタ番号が受信カウンタ
の値より値2以上大きい場合、データに抜けがあること
が分かるので、もう一方の通信コネクションでデータ受
信を行い、受信カウンタが更新されるまで待つ。
【0088】一方、ステップS815でカウンタ番号の
値が正しい場合、受信データが操作要求情報であるか、
あるいは操作なし情報であるかを判別する(ステップS
816)。操作要求情報である場合、操作情報を操作デ
ータキュー(図示せず)に追加する(ステップS81
7)。例えば、以下のような応答が受信される。 「HTTP/1.0 200 OK Content−Type: application
/x−getoperation Content−Length: 39 ¥r¥n receive_counter=1¥r¥n light=ON¥r¥n blind=80¥r¥n」 そして、受信カウンタの値を1つ増やす(ステップS8
18)。本実施形態では、カウンタテーブル801の受
信欄に値1を書き込む。尚、ステップS816〜ステッ
プS818の処理を行う際、前述と同様、排他制御を行
うようにする。また、制御プログラム143の動作につ
いては、前記第1の実施形態と同様である。
【0089】この後、操作情報交換プログラム741
は、回線をクローズし(ステップS819)、再度、要
求カウンタを読み出し(ステップS820)、要求カウ
ンタの値を1つ減らし、カウンタテーブル801の要求
欄を更新する(ステップS821)。そして、エラーフ
ラグがONにセットされているか否かを判別し(ステッ
プS822)、エラーフラグがONにセットされている
場合、この処理を終了し、そうでない場合、ステップS
801に戻って同様の処理を繰り返す。
【0090】[操作表示応答CGIプログラム752]
つぎに、操作端末130側の処理を示す。前記第1の実
施形態と同様、予め操作端末130で動作しているHT
TPサーバプログラム151に対し、URLパスである
「/cgi−bin/newstatus」が要求され
た場合、操作表示応答CGIプログラム752が実行さ
れるように設定しておく。このため、上記要求を被操作
装置120から受け取ると、操作表示応答CGIプログ
ラム752が起動する。
【0091】本実施形態では、操作情報交換プログラム
741が並列動作するので、同時に2つの要求を受け取
る場合もある。このとき、操作表示応答プログラム75
2はそれぞれの要求毎に起動して並列動作する。
【0092】図13および図14は操作表示応答CGI
プログラム752の処理手順を示すフローチャートであ
る。操作表示応答CGIプログラム752は、3つのカ
ウンタ(図示せず)を有する。
【0093】第1のカウンタは、操作情報交換プログラ
ム741からのHTTPリクエストにより起動された操
作表示応答CGIプログラム752の実行プロセスを数
えるものであり、その初期値は値0である。このカウン
タを要求カウンタと呼ぶ。
【0094】第2のカウンタは、受信した状態情報の順
序を数えるものであり、操作情報交換プログラム741
の送信カウンタと対を成す。その初期値は値0であり、
リクエストデータ中にその値が埋め込まれる。このカウ
ンタを受信カウンタと呼ぶ。
【0095】第3のカウンタは、送信するHTTPレス
ポンスの処理順序を数えるものであり、操作情報交換プ
ログラム741の受信カウンタと対を成す。その初期値
は値0であり、レスポンスデータ中にその値が埋め込ま
れる。このカウンタを受信カウンタと呼ぶ。
【0096】まず、共有メモリ領域に確保した前述した
カウンタテーブル801と同等のカウンタテーブル(図
示せず)から要求カウンタを読み込む(ステップS90
1)。カウンタテーブルには、前述と同様、要求カウン
タ以外に、後述する送信カウンタおよび受信カウンタの
値がセットされている。カウンタテーブルの要求欄に
は、現在、実行中の操作表示応答CGIプログラム75
2の数が設定されている。そして、要求カウンタの値を
1つ増やす(ステップS902)。
【0097】受信カウンタを読み込み(ステップS90
3)、被操作装置120から送られた状態情報の中のカ
ウンタ番号と受信カウンタの番号とから処理すべき状態
情報であるか否かを判別する(ステップS904)。カ
ウンタ番号が正しい場合、受信カウンタの値を1つ増や
す(ステップS905)。
【0098】そして、前記第1の実施形態と同様、操作
表示GUIプログラム154に操作表示更新要求を行う
(ステップS906)。尚、ステップS905およびス
テップS906の処理を行う際、前述したような排他制
御を行い、これらの処理が終わるまで並列動作している
操作情報交換プログラムによる同じ処理ステップが行わ
れないようにする。また、操作表示GUIプログラムの
処理については、前記第1の実施形態と同様である。
【0099】この後、所定時間が経過したか否かを判別
し(ステップS907)、所定時間経過している場合、
ステップS917の処理に移行する。一方、所定時間が
経過していない場合、要求カウンタをチェックし(ステ
ップS908)、要求カウンタが値2である場合、ステ
ップS917の処理に移行する。一方、要求カウンタが
値1である場合、操作イベントが検出されたか否かを判
別する(ステップS909)。操作イベントが検出され
ない場合、ステップS907の処理に戻り、操作イベン
トが検出された場合、ステップS910の処理に移行す
る。
【0100】このように、所定時間が経過するまで要求
カウンタをチェックしながら、操作が行われ、前記第1
の実施形態と同様に情報交換テーブル(図示せず)の要
求欄が更新されるのを待つ。
【0101】ステップS909で操作イベントが検出さ
れると、更新された要求を、情報交換テーブルの中の要
求欄から読み取り、送信データキュー(図示せず)に追
加する(ステップS910)。尚、操作イベントがない
場合、「操作なし」として取り扱う。
【0102】そして、ステップS909と同様の操作検
出処理を行いながら、連続する操作を所定の待機時間だ
け待つ(ステップS912)。例えば、待機時間とし
て、ネットワーク遅延時間に相当する時間だけ待つよう
にする。待機時間が終了すると、送信データキューから
古い順に操作要求情報を読み取り(ステップS91
3)、操作要求が複数ある場合、これをまとめる。
【0103】送信カウンタを読み込み(ステップS91
4)、送信カウンタの値を1つ増やす(ステップS91
5)。尚、ステップS910〜ステップS915の処理
を行う際、前述した排他制御を行うようにする。
【0104】読み込んだ操作情報に応じて応答情報を作
成し、標準出力に出力する(ステップS916)。HT
TPサーバプログラム151によって被操作装置120
上の操作情報交換プログラム741に向けて応答を返す
(ステップS920)。例えば、以下のような応答情報
を標準出力に出力する。 「Content−Type: applicatio
n/x−getoperation ¥r¥n recieve_counter=1¥r¥n light=ON¥r¥n blind=80¥r¥n」 一方、ステップS907で所定時間が経過した場合、つ
まりユーザの操作がなかった場合、あるいは、ステップ
S908で複数の操作待ち状態が検出された場合、ステ
ップS914、S915と同様のカウンタ処理を行い
(ステップS917、S918)、内容をnoneとし
て以下のような応答情報(操作なし)を標準出力に出力
する(ステップS919)。 「Content−Type: applicatio
n/x−getoperation ¥r¥n recieve_counter=1¥r¥n none¥r¥n」 尚、ステップS917〜S919の処理を行う際、前述
した排他制御を行う。これにより、HTTPサーバプロ
グラム151によって必要な他の情報が付加され、操作
情報交換プログラム741の応答情報で示したような情
報が返される。この後、要求カウンタの値を1つ減らす
(ステップS921)。
【0105】尚、本実施形態では、通信コネクションが
2本である場合を示したが、3本以上の通信コネクショ
ンを用いてもよい。その場合、図10のステップS80
2の要求カウンタチェックルーチンにおいて、要求数が
値0である場合、状態変化が無くても状態通知を行い、
要求数が値1である場合、状態変化を待ち、要求数が値
2である場合、どちらかの通信コネクションが切断され
るのを待つという処理を行うようにすればよい。例え
ば、利用する通信コネクションがn本であり、操作イベ
ントをm個(m<n)のプロセスで待つ場合、要求数が
値0から値m−1(mマイナス1)の場合、状態変化が
無くても状態通知を行い、要求数がmからn−1(nマ
イナス1)の場合、状態変化を待ち、要求数がnの場
合、いずれかの通信コネクションが切断されるのを待つ
ようにする。
【0106】同様に、図13および図14のステップS
908の要求カウンタチェックルーチンにおいて、要求
数が値1である場合、操作イベントを待ち、要求数が値
2である場合、操作待ちループを抜けるという処理を、
要求数が値1から値m−1(mマイナス1)である場
合、操作イベントを待ち、要求数が値mである場合、操
作待ちループを抜けるようにする。
【0107】このような構成を有することにより、第2
の実施形態では、ファイアウォールの内部に被操作装置
120を設置しても、インターネットに操作端末130
を接続し、そこから対象機器を操作することが可能とな
る。
【0108】また、1本の通信コネクションだけでも、
状態通知および操作情報伝達を行うことができ、2本以
上の通信コネクションを利用する場合であっても、2本
目以降の通信コネクションは必要なときにしか使われな
いので、ネットワークの負荷を軽減することができる。
【0109】また、操作イベントが短い時間に連続して
発生した場合でも、効率良く操作情報を通知することが
可能である。尚、本実施形態では、全ての操作につい
て、連続したイベントの検出を行ったが、操作に優先度
を設け、直ぐに反映されるべき優先度の高い操作につい
ては、続く操作を待たずに即応し、そうでない場合に
は、まとめて送るようにしてもよい。
【0110】[第3の実施形態]前記第1の実施形態で
は、状態通知サイクルおよび操作伝達サイクルに、それ
ぞれ1本の通信コネクションを使用していたが、本発明
はこれに限るわけではない。第3の実施形態では、状態
通知サイクル、操作伝達サイクルのいずれか、または両
方に複数の通信コネクションを使用する場合を示す。こ
れにより、連続した状態変化または操作要求に迅速に対
応することが可能である。
【0111】第3の実施形態における遠隔操作システム
は、前記第1の実施形態のシステム構成において、状態
通知プログラム141を状態通知プログラム10141
(図示せず)に、操作データ収集プログラム142を操
作データ収集プログラム10142(図示せず)に、操
作表示CGIプログラム152を操作表示CGIプログ
ラム10152(図示せず)に、操作CGIプログラム
153を操作CGIプログラム10153(図示せず)
にそれぞれ変更することによって実現される。また、前
記第1の実施形態と同一の構成および処理については、
同一の符号を用いることにより、その説明を省略する。
【0112】[状態通知プログラム10141]被操作
装置120における状態通知サイクルの処理を示す。図
15は第3の実施形態における状態通知プログラム10
141の処理手順を示すフローチャートである。この処
理は、被操作装置120内のCPU(図示せず)が同じ
く被操作装置120内のROM(図示せず)に記憶され
た状態通知プログラム10141を実行することによっ
て行われる。
【0113】第3の実施形態では、状態通知プログラム
10141は、同時に2つ以上のプロセスで実行され、
並列動作する。状態通知プログラム10141は、前記
第2の実施形態におけるステップS805、ステップS
807とそれぞれ同様の送信カウンタ読込処理(ステッ
プS302A)、送信カウンタ加算処理(ステップS3
03A)が加わったことを除き、前記第1の実施形態に
おける状態通知プログラム141と同じである。また、
ステップS302〜ステップS303Aの処理を行う
際、前記第2の実施形態で示した排他制御を行うように
する。
【0114】この結果、複数の状態通知プログラム10
141が並列動作する場合においても、送信データにデ
ータ番号が付与されるので、操作端末130に到着した
際、順番が逆になっても、後述する操作表示CGIプロ
グラム10152によって正しい順に処理を行うことが
可能となる。
【0115】[操作表示CGIプログラム10152]
つぎに、状態通知サイクルにおける操作端末130の処
理を示す。前記第1の実施形態と同様、予め操作端末1
30上で動作しているHTTPサーバプログラム151
に対し、URLパスである「/cgi−bin/new
status」が要求された場合、操作表示CGIプロ
グラム10152が実行されるように設定しておく。こ
のため、上記要求を被操作装置120から受け取ると、
操作表示CGIプログラム10152が起動する。
【0116】図16は操作表示CGIプログラム101
52の処理手順を示すフローチャートである。この処理
は、操作端末130内のCPU(図示せず)が同じく操
作端末130内のROM(図示せず)に格納された操作
表示CGIプログラム10152を実行することによっ
て行われる。
【0117】本実施形態では、状態通知プログラム10
141が並列動作するので、同時に2つ以上の要求を受
け取る場合もある。この場合、操作表示CGIプログラ
ム10152がそれぞれの要求毎に起動し、並列動作す
る。
【0118】操作表示CGIプログラム10152は、
前記第2の実施形態におけるステップS903と同様の
受信カウンタ読込み処理(ステップS400A)、ステ
ップS904と同様の受信カウンタチェック処理(ステ
ップS400B)、ステップS905と同様の受信カウ
ンタ加算処理(ステップS400C)が加わったことを
除き、前記第1の実施形態における操作表示CGIプロ
グラム152と同じである。
【0119】尚、ステップS400CおよびステップS
401の処理を行う際、前述した排他制御を行い、これ
らの処理が終わるまで、並列動作している操作表示CG
Iプログラム10152による同じ処理ステップが行わ
れないようにする。
【0120】この結果、複数の操作表示CGIプログラ
ム10152が並列動作する場合でも、受信カウンタを
管理し、受信データに付与されたデータ番号を確認する
ことにより、正しい順に処理を行うことが可能となる。
【0121】[操作データ収集プログラム10142]
つぎに、操作伝達サイクルにおける被操作装置120の
処理を示す。図17は操作データ収集プログラム101
42の処理手順を示すフローチャートである。この処理
は、被操作装置120内のCPU(図示せず)が同じく
被操作装置120内のROM(図示せず)に記憶された
操作データ収集プログラム10142を実行することに
よって行われる。
【0122】第3の実施形態では、操作データ収集プロ
グラム10142は、同時に2つ以上のプロセスで実行
され、並列動作する。
【0123】操作データ収集プログラム10142は、
前記第2の実施形態におけるステップS814と同様の
受信カウンタ読込み処理(ステップS505A)、ステ
ップS815と同様の受信カウンタチェック処理(ステ
ップS505B)、ステップS818と同様の受信カウ
ンタ加算処理(ステップS507A)が加わったことを
除き、前記第1の実施形態における操作データ収集プロ
グラム142と同じである。尚、ステップS506〜ス
テップS507Aの処理を行う際、前記第2の実施形態
で示した排他制御を行うようにする。
【0124】この結果、複数の操作データ収集プログラ
ム10142が並列動作する場合でも、受信カウンタを
管理し、受信データに付与されたデータ番号を確認する
ことにより、正しい順に処理を行うことが可能となる。
【0125】[操作CGIプログラム10153]つぎ
に、操作端末130における操作伝達サイクルの処理を
示す。前記第1の実施形態と同様、予め操作端末130
上で動作しているHTTPサーバプログラム151に対
し、URLパスである「/cgi−bin/getop
eration」が要求された場合、操作CGIプログ
ラム10153が実行されるように設定しておく。この
ため、上記要求を被操作装置120から受け取ると、操
作CGIプログラム10153が起動する。
【0126】図18および図19は操作CGIプログラ
ム10153の処理手順を示すフローチャートである。
この処理は、操作端末130内のCPU(図示せず)が
同じく操作端末130内のROM(図示せず)に格納さ
れた操作CGIプログラム10153を実行することに
よって行われる。
【0127】本実施形態では、操作データ収集プログラ
ム10142が並列動作するので、同時に2つ以上の要
求を受け取る場合もある。この場合、操作CGIプログ
ラム10153がそれぞれの要求毎に起動し、並列動作
する。
【0128】操作CGIプログラム10153は、第2
の実施形態におけるステップS901と同様の要求カウ
ンタ読込み処理(ステップS600A)、ステップS9
02と同様の要求カウンタ加算処理(ステップS600
B)、ステップS908と同様の要求カウンタチェック
処理(ステップS601A)、ステップS911と同様
の操作イベント検出処理(ステップS603A)、ステ
ップS914と同様の送信カウンタ読込み処理(ステッ
プS605A、S601B)、ステップS915と同様
の送信カウンタ加算処理(ステップS605B、S60
1C)、ステップS919と同様の応答情報作成処理
(ステップS601D)、ステップS921と同様の要
求カウンタ減算処理(ステップS607A)が加わった
ことを除き、前記第1の実施形態における操作CGIプ
ログラム153と同じである。尚、この場合、ステップ
S603〜ステップS605B、およびステップS60
1B〜S601Dの処理を行う際、第2の実施形態で示
した排他制御を行うようにする。
【0129】この結果、複数の操作CGIプログラム1
0153が並列に動作する場合でも、送信データにデー
タ番号が付与されるので、被操作装置120に到着した
際に順番が逆になっていても、前述の操作データ収集プ
ログラム10142で正しい順に処理を行うことが可能
となる。
【0130】このような構成を有することにより、第3
の実施形態では、状態通知サイクル、操作伝達サイクル
のいずれか、または両方を複数の通信コネクションでも
利用することができ、これにより、状態変化や操作要求
が短い時間内に連続して発生するような場合でも、状態
通知や操作伝達が遅れないようにすることができる。
【0131】尚、本実施形態では、全ての操作につい
て、連続したイベントの検出を行ったが、操作に優先度
を設け、直ぐに反映されるべき優先度の高い操作につい
ては、続く操作を待たずに即応し、そうでない場合に
は、まとめて送るようにしてもよい。
【0132】[第4の実施形態]第4の実施形態は、前
記第2の実施形態と異なり、操作端末との通信を司る専
用のプログラムが被操作装置に置かれ、持続的通信コネ
クションを用いて処理を行うことを特徴する。
【0133】図20は第4の実施形態における遠隔操作
システムの構成を示す図である。図において、100〜
132、143、151、153の各部は前記第1の実
施形態と同一であるので、その説明を省略する。ここ
で、本実施形態のHTTPサーバプログラム151は、
持続的コネクションおよびパイプライン処理に対応し、
特にパイプライン処理では、HTTPの規定にしたがっ
てリクエストの到着順にレスポンスを返すことを保証す
る機能を有する。
【0134】また、操作情報交換プログラム201は、
本実施形態に特有のものであり、前記第2の実施形態に
おける操作情報交換プログラム741の代りに、被操作
装置120に置かれて動作する。通信制御プログラム2
02は、新たに被操作装置120に置かれて動作する。
【0135】一方、操作端末130側では、前記第2の
実施形態における操作表示応答CGIプログラム752
の代りに、本実施形態に特有の操作表示応答CGIプロ
グラム211が置かれて動作する。以下、操作情報交換
プログラム201、通信制御プログラム202および操
作表示応答CGIプログラム211を示す。
【0136】[通信制御プログラム202]通信制御プ
ログラム202は、操作情報交換プログラム201を子
プロセスとして起動・管理するとともに、操作端末13
0上のHTTPサーバプログラム151との間で持続的
コネクションを確立・維持し、持続的コネクションにお
ける状態情報および操作情報の通信制御を司る。また、
通信制御プログラム202は、2種類のタイマ、そのタ
イムアウト値、1つのカウンタ、および2つの状態フラ
グを有する。
【0137】第1のタイマは、持続的コネクションのタ
イムアウトを防ぐために用いられ、HTTPレスポンス
の受信から次のHTTPリクエストの発信までの時間を
計測する。そのタイムアウト値は、一般的なプロキシサ
ーバプログラムの持続的コネクションのタイムアウト時
間よりわずかに短く設定される。この第1のタイマは、
通信制御プログラム202に対して1つ割り当てられ
る。以下、このタイマを持続的コネクションタイムアウ
トタイマと呼ぶ。
【0138】第2のタイマは、HTTPサーバプログラ
ム151、プロキシサーバプログラム112、ネットワ
ークのいずれかに障害が発生した際、通信制御プログラ
ム202が無限の待ち状態に陥らないようにするための
ものであり、HTTPリクエストとして状態情報を送信
してからそのリクエストに対応するHTTPレスポンス
が返るまでの時間を計測する。そのタイムアウト値は、
一般のHTTPにおけるタイムアウト値と同等に設定さ
れており、固定である。HTTPリクエスト1つに対
し、1つのタイマが割り当てられ、リクエストの送信と
ともに計測がスタートし、レスポンスの受信とともに計
測を終了し、割り当てが解放される。以下、このタイマ
をHTTPタイムアウトタイマと呼ぶ。
【0139】カウンタは、通信制御プログラム202が
HTTPサーバプログラム151からの応答を待ってい
るHTTPリクエスト数を数えるものであり、その初期
値は値0である。以下、このカウンタを応答待ちカウン
タと呼ぶ。
【0140】2つの状態フラグは、プログラム間の共有
メモリ領域に確保されており、操作情報交換プログラム
201群との間でデータの送信要求および受信要求を伝
えるために使用される。初期値はともに値0である。以
下、それぞれ送信待ちフラグ、受信待ちフラグと呼ぶ。
【0141】図21および図22は通信制御プログラム
202の処理手順を示すフローチャートである。この処
理は、被操作装置120内のCPU(図示せず)が同じ
く被操作装置120内のROM(図示せず)に記憶され
た通信制御プログラム202を実行することによって行
われる。
【0142】通信制御プログラム202は、起動する
と、自身の子プロセスとして操作情報交換プログラム2
01を事前に設定された所定数起動する(ステップS1
500)。ここでは、通信制御プログラム202がn個
起動する場合を示す(nは2以上の整数)。そして、操
作情報交換プログラム201群と自身との間にプロセス
間の通信路を確立する(ステップS1510)。
【0143】つぎに、HTTPサーバプログラム151
との間に持続的コネクション(persistent
connection)を確立する(ステップS152
0)。ここでは、利用するHTTPのバージョンに応じ
た方法により、持続的コネクションを確立する。
【0144】尚、この持続的コネクションは、ファイア
ウォール111上のプロキシサーバプログラム112と
の間で確立され、プロキシサーバプログラム112とH
TTPサーバプログラム151との間では、これとは独
立した持続的コネクションがプロキシサーバプログラム
112によって確立される。
【0145】この後、持続的コネクションタイムアウト
タイマをクリアする(ステップS1530)。
【0146】上記処理により、通信制御プログラム20
2は初期設定を終え、これ以降、操作情報交換プログラ
ム201群とHTTPサーバ151との間でデータ交換
を行う。まず、操作情報交換プログラム201群からH
TTPサーバ151へのデータ送信要求が起こされてい
るか否かを調べる(ステップS1540)。このチェッ
クは、操作情報交換プログラム201の説明において詳
述するが、簡単に説明すると、送信待ちフラグの値を調
べ、この値が「0」でない場合、そのフラグの値が示す
プロセスIDを持つ子プロセスである操作情報交換プロ
グラム201が送信を要求していると判別する。
【0147】送信要求がなかった場合、持続的コネクシ
ョンタイムアウトタイマが所定タイムアウト時間に達し
ているか否かを判別する(ステップS1630)。所定
タイムアウト時間に達していた場合、持続的コネクショ
ンを維持するためにのみ、ダミーのHTTPリクエスト
を作成し、これをHTTPサーバ151に送信し(ステ
ップS1640)、そのレスポンスを受け取る(ステッ
プS1650)。そして、ステップS1540の処理に
戻る。
【0148】このリクエストは、操作端末130上のH
TTPサーバプログラム151が応答を返すものであれ
ば何でもよく、例えば、HEAD HTTP://fo
o.bar.co.jp/ HTTP/1.0のような
転送データ量が少ないものであることが望ましい。受け
取ったデータは不要であるので、破棄する。そして、レ
スポンスを受け取ると、ステップS1530の処理に戻
る。一方、ステップS1630で所定タイムアウト時間
に達していなかった場合、ステップS1540の処理に
戻る。
【0149】一方、ステップS1540で要求があった
場合、該当する子プロセスからプロセス間通信路を用い
て送信データを受け取り、これをHTTPサーバプログ
ラム151にHTTPリクエストとして持続的コネクシ
ョン上で転送する(ステップS1550)。応答待ちカ
ウンタをインクリメントする(ステップS1560)。
【0150】パイプライン処理機能を活かし、レスポン
スが返される前にデータ送信要求が起こされているか否
かを再度調べる(ステップS1570)。データ送信要
求があった場合、ステップS1550の処理に戻る。
【0151】一方、送信要求がなかった場合、HTTP
タイムアウトタイマのいずれかがタイムアウトしていな
いか否かを調べる(ステップS1580)。タイムアウ
トしていた場合、エラー処理を行い(ステップS166
0)、子プロセスである操作情報交換プログラム201
群を割り込み処理等で終了させ(ステップS167
0)、HTTPサーバプログラム151との間の持続的
コネクションをクローズし(ステップS1680)、こ
の通信制御プログラム202の処理を終了する。
【0152】一方、ステップS1580でタイムアウト
していない場合、応答データがHTTPサーバ151か
ら送られてきているか否かを調べる(ステップS159
0)。応答データを受信していた場合、データの読み出
しを待っているプロセスを調べ、そのプロセスにデータ
を転送する(ステップS1600)。この処理は、操作
情報交換プログラム201の説明の際に詳述するが、簡
単に説明すると、受信待ちフラグの値を調べ、このフラ
グの値が示すプロセスIDを持つ子プロセスである操作
情報交換プログラム201にデータを転送する。
【0153】応答待ちカウンタをデクリメントし(ステ
ップS1610)、カウンタの値が「0」になったか否
かを判別する(ステップS1620)。値0であった場
合、HTTPリクエストが残っていないので、ステップ
S1530の処理に戻り、パイプライン処理を一旦、終
了する。一方、ステップS1620で値0でない場合、
引き続きパイプライン処理を行うために、ステップS1
570の処理に戻る。また、ステップS1590で応答
データが到着していなかった場合、ステップS1570
の処理に戻る。
【0154】[操作情報交換プログラム201]操作情
報交換プログラム201の処理は、通信制御プログラム
202との関連部分を除き、前記第2の実施形態におけ
る操作情報交換プログラム741と基本的的に同一であ
るので、操作情報交換プログラム741と同一のステッ
プ処理については、その説明を省略する。
【0155】操作情報交換プログラム201は、プログ
ラム間の共有メモリ領域に2つのカウンタ、2つのキュ
ーおよび2つの状態フラグを有する。
【0156】第1のカウンタは、同時に動作する操作情
報交換プログラム201間で共有されるものであり、状
態通知・操作伝達要求を行い、現在応答を待っている数
をカウントする。初期値は「0」である。以下、このカ
ウンタを要求カウンタと呼ぶ。
【0157】第2のカウンタも同時に動作する操作情報
交換プログラム201間で共有されるものであり、これ
までに状態通知を送信した回数をカウントする。初期値
は、操作表示応答CGIプログラム211の受信カウン
タの初期値と同じである。以下、このカウンタを送信カ
ウンタと呼ぶ。
【0158】第1のキューも同時に動作する操作情報交
換プログラム201間で共有されるものであり、状態変
化待ちを行っているプログラムのプロセスIDを格納す
る。初期値は空である。以下、このキューを状態変化待
ちキューと呼ぶ。
【0159】第2のキューは、制御プログラム143と
の間で共有されるものであり、操作情報データの受け渡
しに用いられる。以下、このキューを操作データキュー
と呼ぶ。
【0160】2つの状態フラグは、通信制御プログラム
202で示した送信待ちフラグおよび受信待ちフラグで
ある。
【0161】図23および図24は操作情報交換プログ
ラム201の処理手順を示すフローチャートである。こ
の処理は、被操作装置120内のCPU(図示せず)が
同じく被操作装置120内のROM(図示せず)に記憶
された操作情報交換プログラム201を実行することに
よって行われる。
【0162】操作情報交換プログラム201は、通信制
御プログラム202によって所定数起動される。ここで
は、n個起動される場合を示す。起動すると、まず、要
求カウンタの値を読み込む(ステップS2000)。要
求カウンタの値iを判別する(ステップS2010)。
【0163】ここで、前記第2の実施形態で示したよう
に、操作イベントをm個のプログラムで待つ場合(ただ
し、mは1以上n未満の整数)、要求カウンタの値iが
「0」から「m−1」である場合、状態変化がなくとも
状態通知を行うために、ステップS2050の処理に移
行する。
【0164】一方、要求カウンタの値iが「n」である
場合、いずれかの要求が戻るまで待つために、ステップ
S2000の処理に戻る。また一方、要求カウンタの値
iが「m」から「n−1」である場合、状態変化を待つ
ために、自身のプロセスIDを状態変化待ちキューに入
れる(ステップS2020)。
【0165】そして、自身がキューの先頭に出るまで待
ち(ステップS2030)、先頭になった場合、状態変
化が起るまで待ち(ステップS2040)、状態変化が
起こった場合、状態変化待ちキューから自身のIDを抜
く(ステップS2045)。
【0166】排他制御を行うために、送信待ちフラグが
「0」になるのを待つ(ステップS2050)。操作情
報交換プログラム201は、自身のプロセスIDを送信
待ちフラグに入れて「0」以外の値とし、排他制御を実
現する(ステップS2060)。
【0167】排他制御に入った場合、前述したステップ
S804の処理と同様、状態情報を収集し(ステップS
2070)、前述したステップS805の処理と同様、
送信カウンタの値を読み込み(ステップS2080)、
前述したステップS806の処理と同様、送信情報を作
成する(ステップS2090)。
【0168】この後、要求カウンタおよび送信カウンタ
の値をそれぞれインクリメントし(ステップS210
0)、通信制御プログラム202に作成した送信情報を
渡してHTTPサーバプログラム151への送信を依頼
した後(ステップS2110)、送信待ちフラグを値0
に戻して排他制御を抜ける(ステップS2120)。
【0169】そして、HTTPサーバプログラム151
からの応答データの受信に際しても排他制御を行う。同
様に、受信待ちフラグの値が「0」になるのを待つ(ス
テップS2130)。操作情報交換プログラム201
は、自身のプロセスIDを受信待ちフラグに入れて
「0」以外の値とし、排他制御を実現する(ステップS
2140)。
【0170】排他制御セクションでは、HTTPサーバ
プログラム151からの応答データが通信制御プログラ
ム202から転送されてくるのを待つ(ステップS21
50)。尚、通信制御プログラム202が通信を行うコ
ネクションは1本だけであり、また、HTTPサーバプ
ログラム151がリクエストの到着順にレスポンスを返
すので、受信データの順序が入れ替わって到着すること
はない。したがって、前記第2の実施形態における受信
カウンタ処理は不要である。また、タイムアウト処理も
通信制御プログラム202で行われるので、ここでは不
要である。
【0171】データを受信すると、前述したステップS
816と同様、内容が操作情報を伝達するものであるか
否かを判別する(ステップS2160)。操作情報であ
った場合、前述したステップS817と同様、操作デー
タキューに追加する(ステップS2170)。要求カウ
ンタをデクリメントし(ステップS2180)、受信待
ちフラグを「0」に戻して排他制御セクションを抜け
(ステップS2190)、ステップS2000に戻り、
同様の処理を繰り返す。
【0172】尚、操作情報交換プログラム201は、親
プロセスである通信制御プログラム202からの割り込
み処理等により、任意の時点で後処理を行った後に終了
する。
【0173】[操作表示応答CGIプログラム211]
操作表示応答CGIプログラム211の処理は、前記第
2の実施形態における操作表示応答CGIプログラム7
52と基本的に同じである。ただし、複数のプログラム
が並列動作するので、前記第2の実施形態で示したよう
に、ステップS908では、要求カウンタの値がm未満
である場合、操作イベントを待ち、m以上である場合、
操作待ちループを抜けるようにする。さらに、ステップ
S909の操作イベント検出の前後では、操作情報交換
プログラム201の状態変化待ちキューと同様、順に操
作イベントを検出するようにする。
【0174】また、前述した通り、操作表示応答CGI
プログラム211からの応答の順序が保たれるので、送
信カウンタ処理が不要である。したがって、送信カウン
タ処理であるステップS913、S914の処理を削除
し、ステップS915において送信情報に送信カウンタ
情報を付加する部分を除く。
【0175】このように、第4の実施形態では、HTT
Pの持続的コネクションとパイプライン処理機能を活用
した、より少ない通信資源(通信コネクション)で(コ
ネクションを開く)遅延のない通信が実現され、遠隔操
作システムの通信性能が向上する。
【0176】また、通信を司るプログラムを分離独立さ
せることにより、操作情報交換プログラムや操作表示応
答CGIプログラムを容易に持続的コネクションやパイ
プライン処理に対応させることが可能になる。尚、通信
制御プログラムを独立させる形態は、前記第1の実施形
態に示す状態通知プログラムと操作データ収集プログラ
ムが分離された形態においても、容易に適用可能であ
る。
【0177】この場合、状態通知プログラムおよび操作
データ収集プログラムのそれぞれに対して通信制御プロ
グラムを用意し、それぞれの通信制御プログラムにおい
て通信を担わせる形態と、両プログラムに共通の通信制
御プログラムを1つ用意し、両プログラムの通信を担わ
せる形態のどちらも可能である。さらに後者の場合、共
通の通信制御プログラムが状態通知プログラムと操作デ
ータ収集プログラムのそれぞれに対して個別に通信コネ
クションを用意し、それぞれのデータを内部的に分離し
て通信することも可能である。このような各形態におい
て、通信制御プログラム内で持続的コネクションとパイ
プライン処理機能を利用できることは明らかである。
【0178】以上が本発明の実施の形態の説明である
が、本発明は、これら実施の形態の構成に限られるもの
ではなく、特許請求の範囲で示した機能、または実施の
形態の構成が持つ機能が達成できる構成であればどのよ
うなものであっても適用可能である。
【0179】例えば、上記各実施形態では、ファイアウ
ォールの形態として通過パケット制限および中継プログ
ラムによる形態を用いたが、本発明は、これに限らず、
適用可能である。例えば、LANに接続される機器に対
し、LAN内の専用のプライベートアドレスと呼ばれる
アドレスを付与し、これをインターネットで用いられる
グローバルなアドレスに変換するNAT(Networ
k AddressTranslation)機能をL
ANとインターネットの接続点に設け、LANから発せ
られた通信要求のみをアドレス変換して通信を可能に
し、インターネットから発せられた通信要求に対しては
アドレス変換をしないことで、ファイアウォール機能を
実現している場合にもそのまま適用可能である。
【0180】また、本発明は、前述した実施形態の機能
を実現するソフトウェアのプログラムコードを記憶した
記録媒体を用いて、システムあるいは装置にプログラム
を供給することによって達成される場合にも適用できる
ことはいうまでもない。この場合、記憶媒体から読み出
されたプログラムコード自体が本発明の新規な機能を実
現することになり、そのプログラム自体およびそのプロ
グラムを記憶した記憶媒体は本発明を構成することにな
る。
【0181】上記実施形態では、図4、図5、図7、図
8、図10、図11、図13、図14、図15、図1
6、図17、図18、図19、図21、図22、図2
3、図24のフローチャートに示すプログラムコードは
記憶媒体であるROMに格納されている。プログラムコ
ードを供給する記憶媒体としては、ROMに限らず、例
えばフロッピー(登録商標)ディスク、ハードディス
ク、CD−ROM、CD−R、DVD、不揮発性のメモ
リカードなどを用いることができる。
【0182】
【発明の効果】本発明によれば、ファイアウォールの内
部に被操作装置を設置しても、インターネットに接続さ
れた操作端末からファイアウォールを越えて操作でき
る。また、操作の発生があった場合、連続する操作の発
生に備えるようにすることで、全体としての遅延時間を
抑え、通信のパフォーマンスを向上できる。
【図面の簡単な説明】
【図1】第1の実施形態における遠隔操作システムの構
成を示す図である。
【図2】遠隔操作システムの動作シーケンスを示す図で
ある。
【図3】操作伝達サイクルの動作シーケンスを示す図で
ある。
【図4】状態通知プログラム141の処理手順を示すフ
ローチャートである。
【図5】操作表示CGIプログラム152の処理手順を
示すフローチャートである。
【図6】情報交換テーブル401を示す図である。
【図7】操作データ収集プログラム142の処理手順を
示すフローチャートである。
【図8】操作CGIプログラム153の処理手順を示す
フローチャートである。
【図9】第2の実施形態における動作シーケンスを示す
図である。
【図10】操作情報交換プログラム741の処理手順を
示すフローチャートである。
【図11】図10につづく操作情報交換プログラム74
1の処理手順を示すフローチャートである。
【図12】カウンタテーブルを示す図である。
【図13】操作表示応答CGIプログラム752の処理
手順を示すフローチャートである。
【図14】図13につづく操作表示応答CGIプログラ
ム752の処理手順を示すフローチャートである。
【図15】第3の実施形態における状態通知プログラム
10141の処理手順を示すフローチャートである。
【図16】操作表示CGIプログラム10152の処理
手順を示すフローチャートである。
【図17】操作データ収集プログラム10142の処理
手順を示すフローチャートである。
【図18】操作CGIプログラム10153の処理手順
を示すフローチャートである。
【図19】図18につづく操作CGIプログラム101
53の処理手順を示すフローチャートである。
【図20】第4の実施形態における遠隔操作システムの
構成を示す図である。
【図21】通信制御プログラム202の処理手順を示す
フローチャートである。
【図22】図21につづく通信制御プログラム202の
処理手順を示すフローチャートである。
【図23】操作情報交換プログラム201の処理手順を
示すフローチャートである。
【図24】図23につづく操作情報交換プログラム20
1の処理手順を示すフローチャートである。
【符号の説明】
100 インターネット 110 LAN 111 ファイアウォール 112 プロキシサーバ 120 被操作装置 121 コントローラ 122 照明 123 ブラインド 130 操作端末 141 状態通知プログラム 142 操作データ収集プログラム 143 制御プログラム 151 HTTPサーバプログラム 152 操作表示CGIプログラム 153 操作CGIプログラム 154 操作表示GUIプログラム 201 操作情報交換プログラム 211 操作表示応答CGIプログラム
フロントページの続き (72)発明者 山川 正 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 Fターム(参考) 5B085 AC01 BA06 BG07 5B089 HA06 HA10 HB05 JA35 JB22 KA07 KB11 KC29 KC39 5K048 AA06 BA07 DC07 EB02 EB03 EB13 FB15 FC01 HA01 HA02

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して被操作装置および
    操作端末が接続され、前記操作端末で作成された操作情
    報を用いて前記被操作装置を操作する遠隔操作システム
    であって、 前記被操作装置は、前記操作端末への通信を発動し、前
    記操作情報を前記操作端末に要求する操作情報要求手段
    を備え、 前記操作端末は、前記発動された通信に応じ、所定時間
    だけ操作の発生を待機し、該操作が発生した場合、連続
    する操作を監視した後、前記要求された操作情報を前記
    被操作装置に返す操作情報応答手段を備えたことを特徴
    とする遠隔操作システム。
  2. 【請求項2】 前記操作情報応答手段は、前記連続する
    操作を監視した結果、複数の操作が発生した場合、該複
    数の操作に相当する前記操作情報をまとめて返すことを
    特徴とする請求項1記載の遠隔操作システム。
  3. 【請求項3】 前記操作情報応答手段は、前記発生した
    操作の優先度が所定値より高い場合、前記連続する操作
    を監視することなく、前記操作情報を返すことを特徴と
    する請求項1記載の遠隔操作システム。
  4. 【請求項4】 前記被操作装置は、前記操作情報の要求
    とは別に、前記操作端末への通信を発動し、該被操作装
    置の状態情報を前記操作端末に通知する状態情報通知手
    段を備え、 前記操作端末は、前記発動された通信に応じ、待機する
    ことなく、前記通知された状態情報の応答を前記被操作
    装置に返す状態情報通知応答手段を備えたことを特徴と
    する請求項1乃至3のいずれかに記載の遠隔操作システ
    ム。
  5. 【請求項5】 前記操作情報要求手段は、前記操作端末
    への通信を発動して前記被操作装置の状態情報を通知す
    るとともに、該通信を用いてその応答としての前記操作
    情報を要求し、 前記操作情報応答手段は、前記通知された状態情報の応
    答として、前記通信を用いて前記要求された操作情報を
    返すことを特徴とする請求項1乃至3のいずれかに記載
    の遠隔操作システム。
  6. 【請求項6】 前記被操作装置は、前記操作端末との通
    信を制御する通信制御手段を独立に備え、 前記操作情報要求手段は、前記通信制御手段を用いて前
    記操作端末への通信を発動することを特徴とする請求項
    1または4記載の遠隔操作システム。
  7. 【請求項7】 前記被操作装置および前記操作端末間の
    通信プロトコルとして、HTTPプロトコルを使用する
    ことを特徴とする請求項1記載の遠隔操作システム。
  8. 【請求項8】 前記操作端末は、HTTPサーバプログ
    ラムを用いて、前記被操作装置からの情報を受信し、前
    記状態情報通知応答手段および前記操作情報応答手段
    を、前記HTTPサーバプログラムから起動されるCG
    Iプログラムによって実現することを特徴とする請求項
    7記載の遠隔操作システム。
  9. 【請求項9】 前記操作情報応答手段は、前記所定時間
    内に操作が発生しなかった場合、操作なしである旨の前
    記操作情報を作成することを特徴とする請求項1記載の
    遠隔操作システム。
  10. 【請求項10】 前記所定時間は、前記被操作装置およ
    び前記操作端末間のネットワークあるいは通信プロトコ
    ルによって規定される、データ送受信がない期間が持続
    した際のコネクション切断タイムアウト時間より短い時
    間に設定されることを特徴とする請求項9記載の遠隔操
    作システム。
  11. 【請求項11】 前記状態情報通知手段、前記操作情報
    要求手段、前記状態情報通知応答手段および前記操作情
    報応答手段は、複数の通信を用いて並列に動作すること
    を特徴とする請求項4記載の遠隔操作システム。
  12. 【請求項12】 前記操作情報要求手段または前記操作
    情報応答手段が並列に動作している場合、前記操作が発
    生するまで待機している前記操作情報応答手段の数を所
    定数に制限し、該所定数を越える分の前記操作情報応答
    手段は、前記操作なしである旨の前記操作情報を作成す
    ることを特徴とする請求項9記載の遠隔操作システム。
  13. 【請求項13】 前記被操作装置および前記操作端末間
    の通信コネクションとして、HTTP規定の持続的コネ
    クションを使用することを特徴とする請求項7記載の遠
    隔操作システム。
  14. 【請求項14】 HTTP規定のパイプライン処理を使
    用することを特徴とする請求項13記載の遠隔操作シス
    テム。
  15. 【請求項15】 データ送受信がない期間が所定時間以
    上継続した場合、データ送受信を行い、前記持続的コネ
    クションを継続させることを特徴とする請求項13また
    は14記載の遠隔操作システム。
  16. 【請求項16】 操作端末で作成された操作情報を用
    い、ネットワークを介して被操作装置を操作する遠隔操
    作方法であって、 前記被操作装置から前記操作端末へ通信を発動し、前記
    操作情報を前記操作端末に要求する操作情報要求工程
    と、 前記発動された通信に応じ、所定時間だけ操作の発生を
    待機し、該操作が発生した場合、連続する操作を監視し
    た後、前記操作端末から前記要求された操作情報を前記
    被操作装置に返す操作情報応答工程とを有することを特
    徴とする遠隔操作方法。
  17. 【請求項17】 前記操作情報応答工程では、前記連続
    する操作を監視した結果、複数の操作が発生した場合、
    該複数の操作に相当する前記操作情報をまとめて返すこ
    とを特徴とする請求項16記載の遠隔操作方法。
  18. 【請求項18】 前記操作情報応答手段は、前記発生し
    た操作の優先度が所定値より高い場合、前記連続する操
    作を監視することなく、前記操作情報を返すことを特徴
    とする請求項16記載の遠隔操作方法。
  19. 【請求項19】 前記操作情報の要求とは別に、前記操
    作端末への通信を発動し、前記被操作装置の状態情報を
    前記操作端末に通知する状態情報通知工程と、 前記発動された通信に応じ、待機することなく、前記通
    知された状態情報の応答を前記被操作装置に返す状態情
    報通知応答工程とを有することを特徴とする請求項16
    乃至18のいずれかに記載の遠隔操作方法。
  20. 【請求項20】 前記操作情報要求工程では、前記操作
    端末への通信を発動して前記被操作装置の状態情報を通
    知するとともに、該通信を用いてその応答としての前記
    操作情報を要求し、 前記操作情報応答工程では、前記通知された状態情報の
    応答として、前記通信を用いて前記要求された操作情報
    を返すことを特徴とする請求項16乃至18のいずれか
    に記載の遠隔操作方法。
  21. 【請求項21】 前記操作情報要求工程では、独立に備
    えられた通信制御手段を用いて前記操作端末への通信を
    発動することを特徴とする請求項16または19記載の
    遠隔操作方法。
  22. 【請求項22】 前記被操作装置および前記操作端末間
    の通信プロトコルとして、HTTPプロトコルを使用す
    ることを特徴とする請求項16記載の遠隔操作方法。
  23. 【請求項23】 前記操作端末は、HTTPサーバプロ
    グラムを用いて、前記被操作装置からの情報を受信し、
    前記状態情報通知応答工程および前記操作情報応答工程
    は、前記HTTPサーバプログラムから起動されるCG
    Iプログラムによって実現されることを特徴とする請求
    項22記載の遠隔操作方法。
  24. 【請求項24】 前記操作情報応答工程では、前記所定
    時間内に操作が発生しなかった場合、操作なしである旨
    の前記操作情報を作成することを特徴とする請求項16
    記載の遠隔操作方法。
  25. 【請求項25】 前記所定時間は、前記被操作装置およ
    び前記操作端末間のネットワークあるいは通信プロトコ
    ルによって規定される、データ送受信がない期間が持続
    した際のコネクション切断タイムアウト時間より短い時
    間に設定されることを特徴とする請求項24記載の遠隔
    操作方法。
  26. 【請求項26】 前記状態情報通知工程、前記操作情報
    要求工程、前記状態情報通知応答工程および前記操作情
    報応答工程は、複数の通信を用いて並列に行われること
    を特徴とする請求項19記載の遠隔操作方法。
  27. 【請求項27】 前記操作情報要求工程または前記操作
    情報応答工程が並列に行われる場合、前記操作が発生す
    るまで待機している前記操作情報応答工程の数を所定数
    に制限し、該所定数を越える分の前記操作情報応答工程
    では、前記操作なしである旨の前記操作情報を作成する
    ことを特徴とする請求項24記載の遠隔操作方法。
  28. 【請求項28】 前記被操作装置および前記操作端末間
    の通信コネクションとして、HTTP規定の持続的コネ
    クションを使用することを特徴とする請求項22記載の
    遠隔操作方法。
  29. 【請求項29】 HTTP規定のパイプライン処理を使
    用することを特徴とする請求項28記載の遠隔操作方
    法。
  30. 【請求項30】 データ送受信がない期間が所定時間以
    上継続した場合、データ送受信を行い、前記持続的コネ
    クションを継続させることを特徴とする請求項28また
    は29記載の遠隔操作方法。
  31. 【請求項31】 ネットワークに接続された操作端末か
    ら操作される被操作装置であって、 前記操作端末への通信を発動し、状態情報を通知する状
    態情報通知手段と、 前記操作端末への通信を発動し、操作情報を要求する操
    作情報要求手段とを備え、 前記操作端末は、前記被操作装置からの通信の発動に応
    じ、前記通知された状態情報の応答を待機することなく
    返す一方、前記要求された操作情報を所定時間待機し、
    該操作が発生した場合、連続する操作を監視した後、該
    監視の結果、複数の操作が発生した場合、該複数の操作
    に相当する前記操作情報をまとめて返すことを特徴とす
    る被操作装置。
  32. 【請求項32】 ネットワークに接続された被操作装置
    を操作する操作端末であって、 前記被操作装置からの通信の発動に応じ、前記被操作装
    置から通知された状態情報の応答を待機することなく前
    記被操作装置に返す状態情報通知応答手段と、 前記被操作装置からの通信コネクションの発動に応じ、
    前記被操作装置から要求された操作情報を、所定時間待
    機し、該操作が発生した場合、連続する操作を監視した
    後、該監視の結果、複数の操作が発生した場合、該複数
    の操作に相当する前記操作情報をまとめて前記被操作装
    置に返す操作情報応答手段とを備えたことを特徴とする
    操作端末。
  33. 【請求項33】 請求項16乃至30のいずれかに記載
    の遠隔操作方法を実現するためのプログラムコードを保
    持する記憶媒体。
  34. 【請求項34】 請求項16乃至30のいずれかに記載
    の遠隔操作方法を実現するためのプログラムコードを有
    するプログラム。
JP2001132794A 2000-10-20 2001-04-27 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体 Pending JP2002328886A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001132794A JP2002328886A (ja) 2001-04-27 2001-04-27 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体
US09/978,214 US7003798B2 (en) 2000-10-20 2001-10-17 System for operating device from remote location and apparatus for use in the system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001132794A JP2002328886A (ja) 2001-04-27 2001-04-27 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体

Publications (1)

Publication Number Publication Date
JP2002328886A true JP2002328886A (ja) 2002-11-15

Family

ID=18980755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001132794A Pending JP2002328886A (ja) 2000-10-20 2001-04-27 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体

Country Status (1)

Country Link
JP (1) JP2002328886A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008083800A (ja) * 2006-09-26 2008-04-10 Casio Comput Co Ltd サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム
JP2011164704A (ja) * 2010-02-04 2011-08-25 Internatl Business Mach Corp <Ibm> クライアントプログラム、端末、サーバ装置、システムおよび方法
US8174713B2 (en) 2004-11-05 2012-05-08 Brother Kogyo Kabushiki Kaisha Image processing system with an information transmitting system, image processing device and data processing program therefor
JP2012217167A (ja) * 2011-03-30 2012-11-08 Panasonic Corp 通信制御システム、照明制御システム
JP2014157585A (ja) * 2013-02-18 2014-08-28 Ntt Comware Corp データ通信システム、ノード機器、データ通信方法、要求処理方法およびプログラム
US9678814B2 (en) 2011-10-04 2017-06-13 International Business Machines Corporation Implementing a java method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8174713B2 (en) 2004-11-05 2012-05-08 Brother Kogyo Kabushiki Kaisha Image processing system with an information transmitting system, image processing device and data processing program therefor
JP2008083800A (ja) * 2006-09-26 2008-04-10 Casio Comput Co Ltd サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム
US8219685B2 (en) 2006-09-26 2012-07-10 Casio Computer Co., Ltd Thin client apparatus, a control method thereof, and a program storage medium for a thin client system for intergrating input information items and transmitting the intergrated information to a server
JP2011164704A (ja) * 2010-02-04 2011-08-25 Internatl Business Mach Corp <Ibm> クライアントプログラム、端末、サーバ装置、システムおよび方法
US9350790B2 (en) 2010-02-04 2016-05-24 International Business Machines Corporation Utilization of target browsers
US9473558B2 (en) 2010-02-04 2016-10-18 International Business Machines Corporation Utilization of target browsers
JP2012217167A (ja) * 2011-03-30 2012-11-08 Panasonic Corp 通信制御システム、照明制御システム
JP2016096146A (ja) * 2011-03-30 2016-05-26 パナソニックIpマネジメント株式会社 照明制御システム
US9678814B2 (en) 2011-10-04 2017-06-13 International Business Machines Corporation Implementing a java method
US9973563B2 (en) 2011-10-04 2018-05-15 International Business Machines Corporation Implementing a java method
JP2014157585A (ja) * 2013-02-18 2014-08-28 Ntt Comware Corp データ通信システム、ノード機器、データ通信方法、要求処理方法およびプログラム

Similar Documents

Publication Publication Date Title
US8219606B2 (en) Methods, systems, and computer program products for sharing information for detecting an idle TCP connection
EP2449465B1 (en) Network traffic processing pipeline for virtual machines in a network device
US11064058B1 (en) Methods, systems, and computer program products for sharing information for detecting at least one time period for a connection
JP2008236510A (ja) 通信中継装置、リソース解放方法および通信中継装置のプログラム
JP5757325B2 (ja) 仮想デスクトップシステム、ネットワーク処理装置、管理方法、及び管理プログラム
US20110213893A1 (en) Methods, systems, and computer program products for detecting an idle tcp connection
JP2008225644A (ja) ゲートウェイ装置、ゲートウェイ装置の負荷分散方法及びゲートウェイ装置の負荷分散プログラム
JP5564661B2 (ja) 中継ノード及び中継処理プログラム
US10075565B1 (en) Methods, systems, and computer program products for sharing information for detecting an idle TCP connection
EP2642701A1 (en) Relay server and relay communication system
JP2002328886A (ja) 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体
JP2002328887A (ja) 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体
JP5621639B2 (ja) 中継サーバ及び中継通信システム
JP2003018235A (ja) 通信システム、通信方法、及び制御プログラム
JP2003018181A (ja) 通信システム、通信方法、及び制御プログラム
JP5411992B2 (ja) シングルアソシエーションによるマルチユーザーのサポートの実現方法及び装置
JP2020030626A (ja) 処理システム、制御システム、中継装置及び通信方法
JP5719349B2 (ja) メッセージ交換
JP5125207B2 (ja) Ip電話通信システムおよびip電話通信方法
JP2006229600A (ja) Ip電話システム、ip電話交換装置およびプログラム
JP3632897B2 (ja) 無線通信システム、及び無線通信システムにおけるゲートウェイ切り替え方法
JP3775746B2 (ja) 無線通信システム、及び無線通信システムにおけるゲートウェイ切り替え方法
Reuther et al. An approach for an evolvable Future Internet architecture
JP2019068244A (ja) 通信装置、通信方法、及びプログラム
JP6536050B2 (ja) 通信システム、制御装置、通信方法、およびコンピュータプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060412

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626