JPWO2007039942A1 - 端末装置及びサーバ装置及び指令装置 - Google Patents

端末装置及びサーバ装置及び指令装置 Download PDF

Info

Publication number
JPWO2007039942A1
JPWO2007039942A1 JP2007538631A JP2007538631A JPWO2007039942A1 JP WO2007039942 A1 JPWO2007039942 A1 JP WO2007039942A1 JP 2007538631 A JP2007538631 A JP 2007538631A JP 2007538631 A JP2007538631 A JP 2007538631A JP WO2007039942 A1 JPWO2007039942 A1 JP WO2007039942A1
Authority
JP
Japan
Prior art keywords
command
execution
unit
terminal device
server
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
JP2007538631A
Other languages
English (en)
Inventor
釜坂 等
等 釜坂
北上 眞二
眞二 北上
篤 村田
篤 村田
隆夫 新堂
隆夫 新堂
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2007039942A1 publication Critical patent/JPWO2007039942A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)

Abstract

ファイアウォール等の設定を変更することなく、安全かつ確実に、サーバ装置から端末装置へのアクセスを可能にする。端末装置100は、サーバ装置200に対し、端末装置100が実行すべきコマンド(実行指令)があるか否かを問い合わせる指令問い合わせ711,712を、HTTPリクエストの形式で送信する(S12)。サーバ装置200は、端末装置100に対し、端末装置100が実行すべきコマンドがある場合にはそのコマンドを含むリプライデータ721,722(指令回答)を、HTTPリクエストに対するHTTPレスポンスの形式で送信する(S26、S29)。端末装置100は、リプライデータ721,722にコマンドが含まれている場合に、そのコマンドを実行する。

Description

本発明は、ゲートウェイ装置を介してインターネットに接続したLAN(Local Area Network)に接続した装置(端末装置)に対して、インターネットに接続した装置(サーバ装置)からアクセスする技術に関する。
ゲートウェイ装置を介して、インターネットに接続したLANに接続した装置(端末装置)に対して、インターネットに接続した装置(サーバ装置)からアクセスをするには様々な制限がある。
例えば、端末装置がグローバルIP(Internet Protocol)アドレスを持たず、ローカルIPアドレスしか持たない場合、ゲートウェイ装置(ルータ)が、NAT(Network Address Translation)機能やNAPT(Network Address Port Translation)機能を用いて、IPアドレスやポート番号の変換を行う技術がある。
NAT機能やNAPT機能により、端末装置のIPアドレスやポート番号の変換を行う場合、端末装置からのリクエストによって、サーバ装置は、端末装置のIPアドレスやポート番号を知る。したがって、サーバ装置側から、能動的に端末装置にアクセスすることは困難である。
この課題を解決するための技術として、例えば、特許文献1がある。
また、セキュリティ上の観点から、ゲートウェイ装置が、サーバ装置から端末装置へのアクセスを制限する技術(いわゆるファイアウォール)がある。
ファイアウォール技術には、様々なものがあるが、端末装置からサーバ装置へのアクセス及びそれに対するサーバ装置からの応答は許可し、それ以外のサーバ装置から端末装置へのアクセスは制限するという方式が、広く行われている。
特開2004−120547号公報
特許文献1に記載の技術は、サーバ装置から端末装置へのアクセスにUDP(User
Datagram Protocol)を用いている。
しかし、UDPには、通信開始等の手続がないので、端末装置とサーバ装置とのどちらから通信を始めたのか判別することは難しい。
したがって、ファイアウォール技術において、UDPによる通信を一律に制限する場合があり、特許文献1の技術を利用するには、ファイアウォールの設定を直す必要があるという課題がある。また設定変更の結果、セキュリティが低下する場合があるという課題がある。
本発明は、例えば、上記のような課題を解決するためになされたものであり、ファイアウォールの設定を変更するなどの複雑な手続をせず、したがって、セキュリティを低下させずに、サーバ装置から端末装置へのアクセスを可能とすることを目的とする。
本発明に係る端末装置は、
ネットワークを介してサーバ装置と通信する通信装置と、実行指令を実行する実行装置とを有する端末装置において、
上記実行指令の有無を問い合わせる指令問い合わせを、HTTP(Hypertext
Transfer Protocol)リクエストの形式で、上記通信装置を用いて上記サーバ装置に対して送信する問い合わせ送信部と、
上記問い合わせ送信部が送信した指令問い合わせに対する回答を、指令回答として、上記指令問い合わせであるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記サーバ装置から受信する回答受信部と、
上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、上記実行装置を用いて実行指令を実行する指令実行部と、
を有することを特徴とする。
上記端末装置は、更に、
上記指令実行部が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記サーバ装置に対して送信する結果送信部を有し、
上記回答受信部は、更に、
上記実行装置が実行すべき他の実行指令の有無を、指令回答として、上記結果送信部が送信した実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記サーバ装置から受信する
ことを特徴とする。
上記指令実行部は、
上記回答受信部が受信した指令回答に実行指令が含まれる場合に、上記指令回答に含まれる実行指令を、上記実行装置を用いて実行する
ことを特徴とする。
上記通信装置は、更に、ネットワークを介して指令装置と通信し、
上記端末装置は、更に、
上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、実行指令の送信を要求する指令送信要求を、HTTPリクエストの形式で、上記通信装置を用いて上記指令装置に対して送信する要求送信部と、
上記要求送信部が送信した指令送信要求に対する回答として、上記実行指令を、上記指令送信要求であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記指令装置から受信する指令受信部と、
を有し、
上記指令実行部は、上記指令受信部が受信した実行指令を、上記実行装置を用いて実行する
ことを特徴とする。
上記端末装置は、更に、
上記指令実行部が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記指令装置に対して送信する結果送信部を有し、
上記指令受信部は、更に、
上記実行装置が実行すべき他の実行指令を、上記結果送信部が送信した実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記指令装置から受信する
ことを特徴とする。
上記問い合わせ送信部は、更に、
上記回答受信部が受信した指令回答が、実行指令なしを示す内容である場合に、上記指令問い合わせを、上記通信装置を用いて上記サーバ装置に対して送信する
ことを特徴とする。
本発明に係るサーバ装置は、
ネットワークを介して端末装置と通信する通信装置を有するサーバ装置において、
上記端末装置に実行させる実行指令の有無を問い合わせる指令問い合わせを、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する問い合わせ受信部と、
上記問い合わせ受信部が受信した指令問い合わせに対する回答を、指令回答として、上記指令問い合わせであるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する回答送信部と、
を有することを特徴とする。
上記サーバ装置は、更に、
上記端末装置が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、
上記回答送信部は、更に、
上記端末装置に実行させる他の実行指令の有無を、指令回答として、上記実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する
ことを特徴とする。
上記回答送信部は、
上記端末装置に実行させる実行指令がある場合に、上記実行指令を含む指令回答を、上記通信装置を用いて上記端末装置に対して送信する
ことを特徴とする。
上記サーバ装置は、更に、
上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を受信する通知受信部を有し、
上記回答送信部は、
上記通知受信部が実行指令を通知装置から受信した場合に、実行指令ありを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信し、
所定の時間待っても、上記通知受信部が実行指令を通知装置から受信しなかった場合に、実行指令なしを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信する
ことを特徴とする。
上記サーバ装置は、更に、
上記端末装置に実行させる実行指令があることを通知する指令装置から、上記実行指令があることの通知を取得する存在取得部を有し、
上記回答送信部は、
上記存在取得部が、実行指令があることの通知を指令装置から取得した場合に、実行指令ありを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信し、
所定の時間待っても、上記存在取得部が、実行指令があることの通知を指令装置から受信しなかった場合に、実行指令なしを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信する
ことを特徴とする。
本発明にかかる指令装置は、
ネットワークを介して端末装置と通信する通信装置を有する指令装置において、
上記端末装置に実行させる実行指令の送信を要求する指令送信要求を、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する要求受信部と、
上記要求受信部が受信した指令送信要求に対する回答として、上記実行指令を、上記指令送信要求であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する指令送信部と、
を有することを特徴とする。
上記指令装置は、更に、
上記端末装置が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、
上記指令送信部は、更に、
上記端末装置に実行させる他の実行指令を、上記実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する
ことを特徴とする。
上記指令装置は、更に、
上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を受信する通知受信部と、
上記通知受信部が実行指令を受信した場合に、実行指令の有無を上記端末装置に知らせるサーバ装置に対して、実行指令があることを通知する存在通知部と、
を有することを特徴とする。
本発明によれば、例えば、端末装置からサーバ装置に対するHTTPリクエストに対するHTTPレスポンスという形式で、サーバ装置から端末装置に対するアクセスが送信されるので、途中に介在するファイアウォール等の設定を変更することなく、サーバ装置から端末装置へのアクセスが可能になるという効果を奏する。
実施の形態1.
実施の形態1を、図1〜図8を用いて説明する。
図1は、この実施の形態における遠隔操作システム600の全体構成の一例を示すシステム構成図である。
遠隔操作システム600は、端末装置100、ルータ装置500(ゲートウェイ装置)、サーバ装置200、アプリケーション装置300(通知装置の一例)を有する。
ルータ装置500、サーバ装置200、アプリケーション装置300は、インターネット400に接続しており、相互に通信することができる。
端末装置100は、LAN450を介してルータ装置500に接続しており、ルータ装置500を経由することにより、インターネット400に接続し、インターネットに接続した装置(例えば、サーバ装置200)と通信することができる。
ルータ装置500は、ファイアウォール機能を有している。
ルータ装置500は、端末装置100からインターネット側の装置(例えば、サーバ装置200)に対する通信を許可する。また、それに対する応答として、インターネット側の装置から端末装置100への通信も許可する。しかし、端末装置100からの通信に対する応答でない通信は、禁止する。
したがって、端末装置100からサーバ装置200へのアクセスは可能であるが、サーバ装置200から端末装置100へのアクセスは許可しない。
また、ルータ装置500は、NAPT機能を有している。
ルータ装置500は、LAN450内でのみ有効な端末装置100のローカルIPアドレスを、NAPT機能によって変換し、インターネット側の装置と接続する。
アプリケーション装置300は、端末装置100に実行させたい指令(実行指令)を入力する。アプリケーション装置300は、インターネット400を介してサーバ装置200にアクセスし、入力した実行指令を送信する。
サーバ装置200は、ルータ装置500を経由して端末装置100にアクセスし、アプリケーション装置300から受信した実行指令を、端末装置100に送信する。
端末装置100は、実行指令を実行し、ルータ装置500を経由してインターネット400を介し、サーバ装置200に、実行結果を送信する。
サーバ装置200は、端末装置100から実行結果を受信する。
アプリケーション装置300は、インターネット400を介してサーバ装置200にアクセスし、サーバ装置200が受信した実行結果を取得する。
図2は、この実施の形態における端末装置100のハードウェア構成の一例を示すハードウェア構成図である。
図3は、この実施の形態におけるサーバ装置200、アプリケーション装置300のハードウェア構成の一例を示すハードウェア構成図である。
図4は、この実施の形態におけるルータ装置500のハードウェア構成の一例を示すハードウェア構成図である。
端末装置100、サーバ装置200、アプリケーション装置300、ルータ装置500は、CPU901(Central Processing Unit:中央処理装置)、表示装置902(例えば、CRT(Cathod Ray Tube)装置やLCD(Liquid Cristal Display)装置など)、入力装置903(例えば、キーボードなど)、記憶装置904(例えば、ROM(Read Only Memory)、RAM(Random Access Memory)などの内部記憶装置や、HDD(Hard Disk Drive)装置、SD(Secured Digital)メモリなどの外部記憶装置)、ネットワークインターフェース装置905,906を有する。
CPU901は、記憶装置904が記憶したプログラムを実行することにより、以下説明する各機能ブロックを実現する。
表示装置902は、CPU901が実行したプログラムの実行結果等を表示する。
入力装置903は、CPU901に対する指令を入力する。
記憶装置904は、CPU901が実行するプログラムのほか、実行結果のデータなどを記憶する。
ネットワークインターフェース装置905は、インターネット400に接続し、インターネット400に接続した他の装置との間の通信を行う。
ネットワークインターフェース装置906は、LAN450に接続し、LAN450に接続した他の装置との間の通信を行う。
端末装置100は、更に、実行装置910を有する。
実行装置910は、アプリケーション装置300からの実行指令に基づいて、様々な機能を実際に実行する装置である。
なお、端末装置100は、物理的に1つの装置である必要はない。例えば、実行装置910と、その他の装置とがLAN450や赤外線通信などの独自のネットワークを介して接続していてもよい。その場合、LAN450などを介して接続した実行装置910を含めたシステム全体が、以下説明する端末装置100として機能するものであれば、ここにいう「端末装置」に含まれる。
図5は、この実施の形態における端末装置100、サーバ装置200、アプリケーション装置300の機能ブロックの構成の一例を示すブロック構成図である。
なお、図5では、ルータ装置500、LAN450、インターネット400は省略されている。
端末装置100は、サーバアクセス部110、端末制御部120(問い合わせ送信部兼結果送信部の一例)、リプライデータ解析部130(回答受信部の一例)、コマンド実行部140(指令実行部の一例)を有する。
サーバアクセス部110は、ネットワークインターフェース装置906を用いて、サーバ装置200と通信する。通信のプロトコルには、HTTPを用いる。
なお、この実施の形態では、HTTPを用いることとしているが、通信のプロトコルは、HTTPに限らず、HTTPS(Hyper Text Transfer Protocol over Secure Sockets Layer)など通常のゲートウェイ装置、ファイアウォールやプロキシで通過が許可されているプロトコルであれば、他のプロトコルを用いてもよい。
以下の説明において、「HTTPリクエスト」という用語を使った場合には、HTTP以外のプロトコルを用いた場合において、HTTPプロトコルにおけるHTTPリクエストに相当するメッセージを含むものとする。また、「HTTPレスポンス」という用語を使った場合には、HTTP以外のプロトコルを用いた場合において、HTTPプロトコルにおけるHTTPレスポンスに相当するメッセージを含むものとする。
端末制御部120は、サーバ装置200に、端末装置100に対する実行指令があるか否かを問い合わせる指令問い合わせを生成し、サーバ装置200に対して、サーバアクセス部110に送信させる。また、コマンド実行部140が実行指令を実行した結果を取得し、コマンド実行結果として、サーバ装置200に対して、サーバアクセス部110に送信させる。
リプライデータ解析部130は、サーバアクセス部110がサーバ装置200から受信したデータ(リプライデータ)を解析する。リプライデータ解析部130は、リプライデータに実行指令が含まれているか否かを判断し、含まれている場合は、コマンド実行部140に実行指令を通知する。含まれていない場合は、その旨、端末制御部120に通知する。
コマンド実行部140は、リプライデータ解析部130から通知を受けた実行指令を、実行装置910を用いて、実行する。
サーバ装置200は、端末アクセス受信部210、サーバ制御部220(回答送信部の一例)、アクセスデータ解析部230(問い合わせ受信部兼結果受信部の一例)、アプリケーションアクセス受信部240(通知受信部の一例)を有する。
端末アクセス部210は、ネットワークインターフェース装置905を用いて、端末装置100と通信する。通信のプロトコルには、HTTP(またはHTTPSなど)を用いる。
サーバ制御部220は、端末装置100からの指令問い合わせに対する回答(指令回答)を生成し、端末装置100に対して、端末アクセス受信部210に送信させる。また、端末装置100が実行指令を実行した結果(実行結果)を、アクセスデータ解析部230から取得し、アプリケーション装置300に対して、アプリケーションアクセス受信部240に送信させる。
アクセスデータ解析部230は、端末アクセス受信部210が端末装置100から受信したデータ(端末アクセスデータ)や、アプリケーションアクセス受信部240がアプリケーション装置300から受信したデータ(アプリケーションアクセスデータ)を解析し、解析結果をサーバ制御部220に通知する。
アプリケーションアクセス受信部240は、ネットワークインターフェース装置905を用いて、アプリケーション装置300と通信する。アプリケーション装置300からコマンド(指令通知)を受信し、アプリケーション装置300に対して、コマンド実行結果(実行結果)を送信する。
アプリケーション装置300は、アプリケーションシステム310、指令入力部320、結果表示部330を有する。
アプリケーションシステム310は、ネットワークインターフェース装置905を用いて、サーバ装置200と通信する。
指令入力部320は、入力装置903を用いて、端末装置100に対する実行指令を入力する。入力した実行指令は、アプリケーションシステム310が、サーバ装置200に対して送信する。
結果表示部330は、表示装置902を用いて、端末装置100が実行指令を実行した結果を表示する。表示する実行結果は、アプリケーションシステム310がサーバ装置200から受信する。
次に、端末装置100の動作について説明する。
図6は、この実施の形態における端末装置100の処理の流れの一例を示すフローチャート図である。
S11において、端末制御部120は、指令問い合わせを生成する。指令問い合わせは、サーバ装置200に、端末装置100に対する実行指令があるか否かを問い合わせるものである。
S12において、サーバアクセス部110は、端末制御部120が生成した指令問い合わせをサーバ装置200に対して送信する。
このとき、通信プロトコルにはHTTP(またはHTTPSなど)を用いる。例えば、端末装置100に対する指令回答を格納したファイル名を指定した「GET」メソッドの形式で、指令問い合わせを送信する。
S13において、サーバアクセス部110は、S12で送信した指令問い合わせに対する回答(リプライデータ)を受信する。
このときの通信プロトコルも、HTTP(またはHTTPSなど)である。例えば、S12で送信した「GET」メソッドに対するHTTPレスポンスとして、指令回答を格納したファイルの内容を転送するという形式で、リプライデータを受信する。
S14において、リプライデータ解析部130は、リプライデータ(指令回答)にコマンド(実行指令)があるかどうかを解析する。すなわち、リプライデータを解析し、コマンドが含まれているかどうかを判断する。
S15において、リプライデータ解析部130の解析結果に基づいて、処理を分岐する。リプライデータにコマンドが含まれていない場合には、端末制御部120によりS11へ戻る。リプライデータにコマンドが含まれている場合には、S16へ進む。
S16において、リプライデータ解析部130が、リプライデータに含まれているコマンドを、コマンド実行部140に渡す。コマンド実行部140は、渡されたコマンドを、実行装置910を用いて実行する。
S17において、コマンド実行部140がコマンドを実行した結果を、端末制御部120が取得し、コマンド実行結果とする。コマンド実行結果は、サーバアクセス部110に渡す。
S18において、サーバアクセス部110は、端末制御部120が取得したコマンド実行結果を受け取り、そのデータを付加してサーバ装置200に送信する。
このときの通信プロトコルも、HTTP(またはHTTPSなど)を用いる。例えば、コマンド実行結果を「GET」メソッドのパラメータとして送信する。あるいは、「POST」メソッドを用いてもよい。
その後、S13へ進み、サーバアクセス部110が、S18で送信したコマンド実行結果である「GET」メソッドに対するHTTPレスポンスとして、リプライデータを受信し、以上の処理を繰り返す。
このように、コマンド実行結果に対するレスポンスも、指令問い合わせに対するレスポンスと同等に扱う。これにより、指令問い合わせの送信を1回省略することができ、通信のトラフィックを削減できるという効果を奏する。
なお、S13において、通信障害などにより、リプライデータを受信できなかった場合には、S11に戻り、指令問い合わせを再送するものとする。
次に、サーバ装置200の動作について説明する。
図7は、この実施の形態におけるサーバ装置200の処理の流れの一例を示すフローチャート図である。
S21において、端末アクセス受信部210は、端末装置100からの指令問い合わせ(HTTPリクエスト)を受信する。
S22において、アプリケーションアクセス受信部240は、アプリケーション装置300から指令通知を受信したかどうかを判断する。受信した場合には、S27へ進む。受信していない場合には、S23へ進む。
S23において、サーバ制御部220は、端末装置100からのHTTPリクエスト(指令問い合わせ)を端末アクセス受信部210が受信してからの経過時間を測定し、所定の時間が経過したかを判断する。
S24において、サーバ制御部220の判断結果に基づいて、処理を分岐する。所定の時間が経過する前である場合には、S22へ戻り、アプリケーション装置300からのアクセスを受けるのを待つ。所定の時間が経過した場合には、S25へ進む。
S25において、所定の時間が経過しても、アプリケーション装置300からのアクセスがない場合には、端末装置100に実行させるべき実行指令がないと、サーバ制御部220が判断する。サーバ制御部220は、実行指令を含まないリプライデータ(指令回答)を生成する。この実施の形態では、リプライデータに実行指令が含まれない場合には、端末装置100が実行すべき実行指令がないことを意味する。
S26において、端末アクセス受信部210は、サーバ制御部220が生成したリプライデータを、端末装置100に対して送信する。このとき、リプライデータは、端末装置100からのHTTPリクエスト(指令問い合わせ)に対する応答(HTTPレスポンス)として、送信する。
以上の処理が終わったら、S21に戻り、端末装置100からの次のアクセスを待つ。
S27において、アクセスデータ解析部230は、アプリケーションアクセス受信部240が受信したアプリケーションアクセス(指令通知)を解析し、そのなかに含まれる実行指令を取得する。アクセスデータ解析部230は、取得した実行指令を、サーバ制御部220に渡す。
S28において、サーバ制御部220は、アクセスデータ解析部230から受け取った実行指令を含むリプライデータを生成する。
S29において、端末アクセス受信部210は、サーバ制御部220が生成したリプライデータを、HTTPリクエスト(指令問い合わせ)に対するHTTPレスポンスとして、端末装置100に送信する。
S30において、端末アクセス受信部210は、端末装置100からのコマンド実行結果(HTTPリクエスト)を受信する。
S31において、アクセスデータ解析部230は、端末アクセス受信部210が受信したコマンド実行結果を取得し、アプリケーションアクセス受信部240が、アプリケーション装置300に対して送信する。
以上の処理が終わったら、S22に戻り、アプリケーション装置300からのアクセスを待つ。
次に、遠隔操作システム600の全体の動作について説明する。
図8は、この実施の形態において、端末装置100、サーバ装置200、アプリケーション装置300の間でやり取りされるメッセージの一例を示すシーケンス図である。
端末装置100とサーバ装置200との間でやり取りされるメッセージは、ルータ装置500を通過する。ルータ装置500はファイアウォール機能を有しており、許可されたメッセージしか通さない。
端末装置100は、指令問い合わせ711をHTTPリクエストとして、サーバ装置200に送信する(S12)。
端末装置100のサーバアクセス部110は、指令問い合わせ711の送信にあたり、サーバ装置200との間のTCP(Transmission Control Protocol)セッションを開始する。
ルータ装置500は、このTCPセッションを開始したのが端末装置100であることを判別する。ルータ装置500は、このTCPセッションにおける通信は、端末装置100からのアクセス及びそれに対する応答であると判断し、通信を許可する。
ルータ装置500は、指令問い合わせ711を受信し、サーバ装置200に転送する。サーバ装置200は、指令問い合わせ711を受信する(S21)。
サーバ装置200は、所定の時間待ってもアプリケーション装置300からのアクセスがないので、端末装置100に対して、コマンド(実行指令)を含まないリプライデータ721(指令回答)を送信する(S26)。
リプライデータ721は、端末装置100が開始したTCPセッションにおけるHTTPレスポンスとして送信される。
なお、サーバ装置200が指令問い合わせ711を受信してからリプライデータ721を送信するまでの待ち時間は、ルータ装置500等が無通信状態と判断し、TCPセッションを終了してしまうことを防ぐため、無通信状態と判断する時間よりも短い時間となるように設定する。
ルータ装置500は、リプライデータ721を受信し、このTCPセッションを開始したのが端末装置100であるから、リプライデータ721を端末装置100に転送する。
なお、この例では、ルータ装置500のファイアウォール機能は、TCPセッションを開始した装置に基づいて、通信を転送するか否かを判断しているが、ルータ装置500が更に通信の内容を調べて、転送するか否かを判断するファイアウォールもある。
その場合であっても、サーバ装置200から端末装置100へのリプライデータ721は、端末装置100が送信したHTTPリクエストに対するHTTPレスポンスの形式を取っているので、通常のホームページに対するアクセスにおける通信とまったく同じである。通常の設定であれば、ホームページの閲覧は許可する設定となっているはずであるから、ルータ装置500は、リプライデータ721の送信を禁止せず、端末装置100に対して転送する。
端末装置100は、リプライデータ721を受信する(S13)。リプライデータ721はコマンドを含んでいないので、端末装置100は、すぐに、次の指令問い合わせ712をHTTPリクエストとして、サーバ装置200に対して送信する(S12)。
このとき、指令問い合わせ711送信時に開始したTCPセッションを維持しておき、同じセッションで、指令問い合わせ712を送信する。
ルータ装置500は、指令問い合わせ712を受信し、この通信を許可して、サーバ装置200に転送する。
サーバ装置200は、指令問い合わせ712を受信する(S21)。
一方、アプリケーション装置300は、指令入力部320がコマンド(実行指令)を入力装置903を用いて入力する。入力したコマンドを、アプリケーションシステム310が、アプリケーションアクセス731(指令通知)として、サーバ装置200に対して送信する。
サーバ装置200は、アプリケーションアクセス731を受信する(S22)。この受信は、指令問い合わせ712の受信から所定時間の経過前なので、サーバ装置200は、すぐに、リプライデータ722(コマンドあり)を、端末装置100に対して、HTTPレスポンスとして送信する(S29)。
なお、所定時間経過後に、サーバ装置200がアプリケーションアクセスを受信した場合には、次の指令問い合わせを端末装置100から受信するのを待ち、すぐに、それに対するリプライデータを送信するものとする。
リプライデータ722は、アプリケーションアクセス731に含まれていたコマンドを含んでいる。
ルータ装置500は、リプライデータ722を受信し、この通信を許可して、端末装置100に転送する。
端末装置100は、リプライデータ722を受信する(S13)。リプライデータ722は、コマンドを含んでいるので、端末装置100は、そのコマンドを実行する(S16)。
端末装置100は、コマンド実行の結果を、サーバ装置200に対して、コマンド実行結果793として、HTTPリクエストの形式で送信する(S18)。
なお、コマンドの実行に時間がかかる場合には、TCPセッションの終了を防ぐため、コマンド実行が終わるのを待たず、指令問い合わせを送信することとしてもよい。
ルータ装置500は、コマンド実行結果793を受信し、この通信を許可して、サーバ装置200に転送する。
サーバ装置200は、コマンド実行結果793を受信する(S30)。サーバ装置200は、受信したコマンド実行結果を、アプリケーションリプライ741として、アプリケーション装置300に対して送信する(S31)。
アプリケーション装置300は、アプリケーションリプライ741を受信する。アプリケーション装置300の結果表示部330は、アプリケーションリプライ741に含まれるコマンド実行結果を、表示装置902を用いて表示する。
サーバ装置200は、コマンド実行結果793受信から所定時間経過するまで待ち、アプリケーション装置300からのアクセスがないので、コマンドを含まないリプライデータ723を、端末装置100に対して、HTTPレスポンスとして送信する。
このように、端末装置100とサーバ装置200との間の通信はすべて、端末装置100からサーバ装置200へのHTTP(あるいはHTTPSなど)アクセス(リクエスト)およびそのリプライ(レスポンス)で実現する。
これにより、端末装置100とサーバ装置200との間に介在する装置(例えば、ルータ装置500)の設定(例えば、ファイアウォールや、NAPT、Web(ウェブ)プロキシなど)に関わらず、通信が可能であるという効果を奏する。
したがって、この通信をするために、ファイアウォール等の設定を変更する必要がなく、面倒な作業が必要ないだけでなく、セキュリティを高く保つことができるという効果を奏する。
この通信により、サーバ装置200から端末装置100に対して、制御コマンドを渡すことができるので、サーバ装置200から端末装置100を制御することが可能となる。
また、端末装置100が、指令回答を受信してから、次の指令問い合わせを送信するまでの時間が十分短ければ、サーバ装置200と常時接続しているのとほぼ同じである。したがって、端末装置100に対する制御の時間遅延はほとんどなく、即時の制御が可能である。
このように、端末装置100からサーバ装置200に対してHTTPあるいはHTTPSアクセスし、一定期間の間接続した状態にしておき、一旦リプライを返す。その後、すぐに端末装置100からサーバ装置200に対して再びアクセスする。これにより、常時接続しているのと同じ効果をもたらしている。本当に常時接続した場合には、途中のルータ装置500等が無通信状態と判断して自動的にTCPセッションを切断する場合があるが、この実施の形態では、そのような事態は発生しない。また、無通信状態による自動的セッション切断を防ぐために、定期的な通信(KeepAlive:キープアライブ)を行う必要もない。
また、端末装置100とサーバ装置200との間の通信を、TCPにより行うので、UDPを用いる場合と比較して、安全、確実となり、信頼性が高まるという効果を奏する。
UDPを用いる場合と異なり、通信エラー処理などの複雑な処理をする必要がないので、アプリケーションレベルでの処理が簡略化できる。
TCPセッション確立には、ネゴシエーションが必要なので、UDPによる通信よりも、負荷が高く、リソースを消費する。
しかし、この実施の形態では、TCPセッションの確立動作は、最初に一度だけ行えばよく、その後の通信は、最初に確立したTCPセッションにより行う。したがって、TCPを用いることにより生じるリソースの消費を最小限に抑えることができるという効果を奏する。
実施の形態2.
実施の形態2を、図9〜図12を用いて説明する。
この実施の形態における遠隔操作システム600の全体構成、端末装置100、サーバ装置200、アプリケーション装置300(通知装置の一例)、ルータ装置500のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
図9は、この実施の形態における端末装置100、サーバ装置200、アプリケーション装置300の機能ブロックの構成の一例を示すブロック構成図である。
端末装置100は、サーバアクセス事前部115、端末制御部120(問い合わせ送信部の一例)、要求データ解析部135(回答受信部の一例)、サーバ通信部116(要求送信部兼指令受信部兼結果送信部の一例)、コマンド実行部140(指令実行部の一例)を有する。
このうち、コマンド実行部140は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
サーバアクセス事前部115は、ネットワークインターフェース装置906を用いて、サーバ装置200の端末アクセス事前部215と通信する。通信のプロトコルには、HTTP(またはHTTPSなど)を用いる。
端末制御部120は、サーバ装置200に、端末装置100に対する実行指令があるか否かを問い合わせる指令問い合わせを生成し、サーバ装置200の端末アクセス事前部215に対して、サーバアクセス事前部115に送信させる。
要求データ解析部135は、サーバアクセス事前部115がサーバ装置200の端末アクセス事前部215から受信したデータ(要求データ)を解析する。要求データ解析部135は、要求データに、接続要求が含まれているか否かを判断し、含まれている場合には、サーバ通信部116に接続要求を通知する。含まれていない場合は、その旨、端末制御部120に通知する。
サーバ通信部116は、ネットワークインターフェース装置906を用いて、サーバ装置200の端末通信部216と通信する。通信のプロトコルには、HTTP(またはHTTPSなど)を用いる。
サーバ通信部116は、要求データ解析部135から接続要求の通知を受けた場合に、サーバ装置200の端末通信部216に対して、指令送信要求を送信する。
サーバ通信部116は、更に、サーバ装置200の端末通信部216が、指令送信要求に対する応答として送信したコマンド(実行指令)を受信する。
サーバ通信部116は、受信したコマンドをコマンド実行部140に通知する。
サーバ通信部116は、コマンド実行部140が、通知したコマンドを実行した結果を取得し、コマンド実行結果(実行結果)として、サーバ装置200の端末通信部216に対して送信する。
サーバ装置200は、端末アクセス事前部215(問い合わせ受信部の一例)、サーバ制御部220(存在取得部兼回答送信部の一例)、端末通信部216(要求受信部兼指令送信部兼結果受信部の一例)、アプリケーションアクセス受信部240(通知受信部兼存在通知部の一例)を有する。
端末アクセス事前部215は、ネットワークインターフェース装置905を用いて、端末装置100のサーバアクセス事前部115と通信する。通信のプロトコルには、HTTP(またはHTTPSなど)を用いる。
サーバ制御部220は、端末装置100からの指令問い合わせに対する回答(指令回答)を生成し、端末装置100のサーバアクセス事前部115に対して、端末アクセス事前部215に送信させる。
端末通信部216は、ネットワークインターフェース装置905を用いて、端末装置100のサーバ通信部116と通信する。通信のプロトコルには、HTTP(またはHTTPSなど)を用いる。
端末通信部216は、端末装置100のサーバ通信部116が送信した指令送信要求を受信する。
端末通信部216は、指令送信要求を受信した場合に、端末装置100のサーバ通信部116に対して、コマンド(実行指令)を送信する。
端末通信部216は、端末装置100がコマンドを実行した結果を、コマンド実行結果(実行結果)として、端末装置100のサーバ通信部116から受信する。
アプリケーションアクセス受信部240は、ネットワークインターフェース装置905を用いて、アプリケーション装置300と通信する。アプリケーション装置300からコマンド(指令通知)を受信し、アプリケーション装置300に対して、コマンド実行結果(実行結果)を送信する。
アプリケーション装置300は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
次に、端末装置100の動作について説明する。
図10は、この実施の形態における端末装置100の処理の流れの一例を示すフローチャート図である。
S41において、端末制御部120は、指令問い合わせを生成する。
S42において、サーバアクセス事前部115は、端末制御部120が生成した指令問い合わせをサーバ装置200の端末アクセス事前部215に対して送信する。このとき、通信プロトコルはHTTP(またはHTTPSなど)を用い、HTTPリクエスト(例えば、「GET」メソッド)として送信する。
S43において、サーバアクセス事前部115は、S42で送信した指令問い合わせに対する回答(要求データ)を受信する。このときの通信プロトコルもHTTPであり、例えば、S12で送信した「GET」メソッドに対するHTTPレスポンスとして、要求データを受信する。
S44において、要求データ解析部135が、要求データ(指令回答)に接続要求があるかどうかを解析する。接続要求がある場合には、端末装置100が実行すべきコマンド(実行指令)が、サーバ装置200にあることを意味している。
S45において、要求データ解析部135の解析結果に基づいて、処理を分岐する。
要求データに接続要求が含まれていない場合には、S41に戻り、次の指令問い合わせを送信する。
要求データに接続要求が含まれている場合には、S46へ進む。
S46において、サーバ通信部116は、要求データ解析部135からの通知を受けて、サーバ装置200にあるコマンドの送信を要求する指令送信要求を生成し、サーバ装置200の端末通信部216に対して、HTTPリクエスト(例えば、「GET」メソッド)として送信する。
S47において、サーバ通信部116は、S46で送信した指令送信要求に対する回答として、コマンド(実行指令)を受信する。例えば、S46で送信した「GET」メソッドに対するHTTPレスポンスとして、受信する。
S48において、コマンド実行部140は、サーバ通信部116からコマンドを受け取り、受け取ったコマンドを実行する。
S49において、コマンド実行部140がコマンドを実行した結果を、サーバ通信部116が取得し、コマンド実行結果とする。サーバ通信部116は、取得したコマンド実行結果を、サーバ装置200の端末通信部216に対して、HTTPリクエストとして送信する。
S50において、サーバ通信部116が、S49で送信したHTTPリクエストに対するHTTPレスポンスを、所定時間内に受信したかを判断する。
所定時間内にHTTPレスポンスを受信した場合には、そのなかに次のコマンドが含まれているので、S47に戻り、次のコマンドを処理する。
所定時間内にHTTPレスポンスを受信しなかった場合には、続けて実行すべきコマンドはないので、S41に戻る。
なお、所定時間経過前に、コマンド終了を意味するHTTPレスポンスを受信し、サーバ通信部116がそのことを判別して、S41に戻ることとしてもよい。
次に、サーバ装置200の動作について説明する。
図11は、この実施の形態におけるサーバ装置200(端末アクセス事前部215・サーバ制御部220)の処理の流れの一例を示すフローチャート図である。
S61において、端末アクセス事前部215は、端末装置100からの指令問い合わせ(HTTPリクエスト)を受信する。
S62において、サーバ制御部220は、アプリケーションアクセス受信部240から、端末装置100に実行させるべきコマンドがあるという通知(存在通知)を受けたか否かを判断する。存在通知を受けた場合には、S67へ進む。存在通知を受けていない場合には、S63へ進む。
S67において、サーバ制御部220は、端末装置100に対して、端末通信部216へのアクセスを要求する接続要求を含む要求データを生成する。その後、S66へ進む。
S63において、サーバ制御部220は、端末装置100からのHTTPリクエスト(指令問い合わせ)を端末アクセス事前部215が受信してからの経過時間を測定し、所定の時間が経過したかを判断する。
S64において、サーバ制御部220の判断結果に基づいて、処理を分岐する。所定の時間が経過する前である場合には、S62へ戻り、アプリケーションアクセス受信部240からの通知を受けるのを待つ。所定の時間が経過した場合には、S65へ進む。
S65において、サーバ制御部220は、端末装置100に対して、端末通信部216へのアクセスを要求する接続要求を含まない(すなわち、アクセスを要求しない)要求データを生成する。
S66において、端末アクセス事前部215は、S65またはS67でサーバ制御部220が生成した要求データを、端末装置100のサーバアクセス事前部115に対して、HTTPレスポンスとして送信する。以上の処理が終わったら、S61へ戻り、次の指令問い合わせを待つ。
図12は、この実施の形態におけるサーバ装置200(端末通信部216・アプリケーションアクセス受信部240)の処理の流れの一例を示すフローチャート図である。
S71において、アプリケーションアクセス受信部240は、アプリケーション装置300から、端末装置100が実行すべきコマンド(実行指令)を含む指令通知を受信する。
S72において、アプリケーションアクセス受信部240は、端末装置100が実行すべきコマンドがあることを、サーバ制御部220に通知する(存在通知)。
S73において、端末通信部216は、端末装置100のサーバ通信部116からの指令送信要求(HTTPリクエスト)を受信する。
S74において、アプリケーションアクセス受信部240は、受信した指令通知に含まれるコマンドを取得する。
S75において、端末通信部216は、アプリケーションアクセス受信部240が取得したコマンドを、端末装置100のサーバ通信部116に対して、HTTPレスポンスとして送信する。
S76において、端末通信部216は、送信したコマンドを端末装置100が実行した結果を、コマンド実行結果として、端末装置100のサーバ通信部116から受信する。
S77において、アプリケーションアクセス受信部240は、端末通信部216が受信したコマンド実行結果を、アプリケーション装置300に対して送信する。
S78において、アプリケーションアクセス受信部240は、アプリケーション装置300からの指令通知を受信したか否かを判断する。受信した場合には、S74へ進み、受信したコマンドを端末装置100に送信する。受信しなかった場合には、S79へ進む。
S79において、アプリケーションアクセス受信部240は、端末通信部216がHTTPリクエスト(コマンド実行結果)を受信してからの経過時間を測定し、所定の時間が経過したかを判断する。
S80において、アプリケーションアクセス受信部240の判断結果に基づいて、処理を分岐する。所定の時間が経過する前である場合には、S78へ戻り、アプリケーション装置300からのアクセスを受けるのを待つ。所定の時間が経過した場合には、S71に戻り、アプリケーション装置300からのアクセスを受けるのを待つ。
端末装置100とサーバ装置200との間の通信は、サーバアクセス事前部115と端末アクセス事前部215との間の通信と、サーバ通信部116と端末通信部216との間の通信との2種類がある。2種類の通信は、どちらもHTTPプロトコル(またはHTTPSなど)を用いる。
サーバアクセス事前部115と端末アクセス事前部215との間の通信は、通信開始時にTCPセッションを確立し、その後、定期的に指令問い合わせ・指令回答をやり取りすることにより、セッションを維持する。
一方、サーバ通信部116と端末通信部216との間の通信は、頻度が低いので、TCPセッション確立後、タイムアウトによって切断した場合には、必要となったときに、再接続する。あるいは、コマンド終了時に、明示的に切断してもよい。また、TCPセッション切断を指令するコマンドにより、切断することとしてもよい。
このように、端末装置100とサーバ装置200との間の通信を、サーバアクセス事前部115と端末アクセス事前部215との間の通信と、サーバ通信部116と端末通信部216との間の通信とに分けて行う。例えば、端末アクセス事前部215が使用するポート番号と端末通信部216が使用するポート番号とを異なるポート番号とすることにより、両者の通信を区別する。あるいは、2つのIPアドレスを使い分けることにより、両者の通信を区別してもよい。
端末アクセス事前部215は、指令問い合わせ・指令応答を担当する。指令問い合わせ・指令応答は、端末装置100が実行すべきコマンドがない場合でも、定常的にやり取りされるものなので、1回あたりの処理は軽いが、数が多い。特に、1つのサーバ装置200が受け持つ端末装置100が多数ある場合には、指令問い合わせ・指令応答の数は、膨大となる。
一方、端末通信部216は、指令送信要求・実行指令・実行結果を担当する。指令送信要求・実行指令・実行結果は、端末装置100が実行すべき実行指令がある場合にのみ、やり取りされるものなので、数は少ないが、1回あたりの処理が重い。
この2種類の通信を区別することにより、サーバ装置200が受信するメッセージの大多数を占める指令問い合わせを受信した際に、それが指令問い合わせであることを判別する処理を省くことができる。これにより削減できる負荷はわずかであるが、指令問い合わせの数が膨大なので、全体として大幅な負荷の削減ができるという効果を奏する。
実施の形態3.
実施の形態3を、図13〜図15を用いて説明する。
図13は、この実施の形態における遠隔操作システム600の全体構成の一例を示すシステム構成図である。
遠隔操作システム600は、端末装置100、ルータ装置500、サーバ装置200、指令装置250、アプリケーション装置300(通知装置の一例)を有する。
端末装置100、ルータ装置500、サーバ装置200、アプリケーション装置300のハードウェア構成は、実施の形態1で説明したものと同様であるので、ここでは説明を省略する。
指令装置250のハードウェア構成は、サーバ装置200と同様である。
図14は、この実施の形態における端末装置100、サーバ装置200、指令装置250、アプリケーション装置300の機能ブロックの構成の一例を示すブロック構成図である。
端末装置100、アプリケーション装置300は、実施の形態2で説明したものと同様であるので、ここでは説明を省略する。
サーバ装置200は、端末アクセス事前部215、サーバ制御部220を有する。
指令装置250は、端末通信部216、アプリケーションアクセス受信部240を有する。
端末アクセス事前部215、サーバ制御部220、端末通信部216、アプリケーションアクセス受信部240は、実施の形態2で説明したサーバ装置200の機能ブロックと同様なので、ここでは説明を省略する。
この実施の形態は、実施の形態2のサーバ装置200を、2つの装置(サーバ装置200、指令装置250)に分けたものである。
図15は、この実施の形態において、端末装置100、サーバ装置200、指令装置250、アプリケーション装置300の間でやり取りするメッセージの一例を示すシーケンス図である。
端末装置100は、指令問い合わせ711を、サーバ装置200に送信する(S42)。
サーバ装置200は、指令問い合わせ711を受信する(S61)。
一方、アプリケーション装置300は、指令入力部320がコマンド(実行指令)を入力装置903を用いて入力する。入力したコマンドを、アプリケーションシステム310が、アプリケーションアクセス731(指令通知)として、指令装置250に対して送信する。
指令装置250は、アプリケーションアクセス731を受信する(S71)。
指令装置250は、端末装置100が実行すべきコマンドがあることを知らせる存在通知771を、サーバ装置200に対して送信する(S72)。
サーバ装置200は、存在通知771を受信する(S62)。指令問い合わせ711受信から所定時間経過前に受信したので、サーバ装置200は、要求データ751(コマンドあり)を、端末装置100に対して送信する(S66)。
なお、指令装置250が複数ある場合には、要求データ751に、端末装置100が実行すべきコマンドを有する指令装置250を示す情報(例えば、IPアドレス)を含めることにより、端末装置100がどの指令装置250にアクセスすべきかを指定することとしてもよい。
端末装置100は、要求データ751(指令回答)を受信する(S43)。
端末装置100は、要求データ751を解析し、コマンドありなので、指令送信要求761を、指令装置250に対して送信する(S46)。
指令装置250は、指令送信要求761を受信する(S73)。
指令装置250は、コマンド781(実行指令)を、端末装置100に対して送信する(S75)。
端末装置100は、コマンド781を受信する(S47)。
端末装置100は、コマンド781を実行する(S48)。
端末装置100は、コマンド781を実行した結果を、コマンド実行結果792(実行結果)として、指令装置250に対して送信する(S50)。
指令装置250は、コマンド実行結果792を受信する(S76)。
指令装置250は、受信したコマンド実行結果792を、アプリケーションリプライ741として、アプリケーション装置300に対して送信する。
アプリケーション装置300は、アプリケーションリプライ741を受信する。受信したアプリケーションリプライ741からコマンド実行結果を取得し、結果表示部330が、表示装置902を用いて表示する。
ここで、アプリケーション装置300では、実行結果を見た利用者が、次のコマンドを入力したものとする。
指令入力部320がコマンドを入力し、アプリケーションシステム310が、アプリケーションアクセス732(指令通知)として、指令装置250に対して送信する。
指令装置250は、アプリケーションアクセス732を受信する(S78)。コマンド実行結果792受信から所定時間経過前に受信したので、指令装置250は、コマンド実行結果792(HTTPリクエスト)に対するHTTPレスポンスとして、コマンド782を、端末装置100に対して送信する(S75)。
端末装置100とサーバ装置200との間の通信、あるいは、端末装置100と指令装置250との間の通信は、すべて端末装置100からのHTTPリクエストから始まるHTTPプロトコルによって行われる。したがって、途中に介在するルータ装置500等のファイアウォール、NAPT、Webプロキシなどにかかわらず、通信が可能である。
この実施の形態では、サーバ装置200は、端末装置100が実行すべき実行指令があるか否かを回答する動作に特化する。指令問い合わせ・指令回答は、端末装置100が実行すべき実行指令がない場合でも、定常的にやり取りされるものなので、1回あたりの処理は軽いが、数が多い。特に、1つのサーバ装置200が受け持つ端末装置100が多数ある場合には、指令問い合わせ・指令応答の数は、膨大となる。
しかし、単位時間あたりの指令問い合わせ・指令応答の数は、指令問い合わせを受信してから指令応答を送信するまでの待ち時間と、サーバ装置200が受け持つ端末装置100の数とによって定まる一定数である。したがって、指令問い合わせ・指令応答の処理に必要な処理能力は、一定の定常負荷である。
したがって、サーバ装置200の処理能力に、トラフィックの輻輳を考慮した余力を持たせる必要がない。これにより、遠隔操作システム600全体の運用コストを削減できるという効果を奏する。
一方、指令装置250は、指令送信要求・実行指令・実行結果の送受信に特化する。これらの通信は、端末装置100が実行すべき実行指令がある場合にのみ発生するので、数としては少ない。
しかし、アプリケーション装置から指令装置を経由して端末装置に実際に接続してコマンド送付などを実施するので、コマンド送付処理の負荷等により、1回あたりの処理は非常に重い。
また、いつ発生するか予測できないので、トラフィックの輻輳を考慮して、処理能力に余力を持たせる必要がある。
サーバ装置200と指令装置250とを分けることにより、負荷が分散するだけでなく、トラフィックの輻輳により、指令装置250が過負荷となった場合でも、サーバ装置200には影響が出ないので、実行すべき実行指令がない端末装置100の動作には影響しないという効果を奏する。
また、サーバ装置200が端末装置100に送信する指令回答が、指令装置250を示す情報(IPアドレスなど)を含む接続要求となっているので、複数の指令装置250を用意しておけば、端末装置100が接続する先を、負荷が軽い指令装置250に振り分けることができる(なお、その場合は、アプリケーション装置300側も、リダイレクション等の処理が必要となる)。
これにより、負荷を分散し、特定の指令装置250へ負荷が集中することを防ぐことができるので、指令装置250に持たせる処理能力の余力は、少なくてすむ。したがって、遠隔操作システム600全体の運用コストを削減できるという効果を奏する。
このように、接続要求の処理を行うサーバ装置200と、実際のデータ通信を行う指令装置250とを分けることにより、サーバ装置200は、端末装置100のサポート台数に応じた負荷設計をすればよい。また、指令装置250は、同時に操作する端末装置100の台数に応じた負荷設計が可能である。一般的にサポート台数に比べ、操作台数は極めて少ないため、実施の形態1におけるサーバ装置200の処理能力よりも、この実施の形態のサーバ装置200の処理能力と指令装置250の処理能力の合計のほうが、より少ない処理能力で、同レベルのサービスが可能な遠隔操作システム600を構築することができる。
端末装置100とアプリケーション装置300との間の通信セッションの確立を準備するプロセスでは、端末装置100からサーバ装置200へのHTTPポーリングを実施する。
端末装置100とアプリケーション装置300との間の通信セッションを維持管理するプロセスでは、アプリケーション装置300から、サーバ装置を経由して、端末装置へのHTTPリクエストの送受信を処理する。このとき、セッション維持管理プロセスは、一種のプロキシの働きをする。
このように、セッション確立準備プロセスと、セッション維持管理プロセスとを、1:Nで処理することにより、多数の通信セッションを維持管理した場合であっても、少ないリソースで処理ができる。
以上説明した端末装置、サーバ装置、指令装置、遠隔操作システムは、以下の特徴をもつ。
端末装置は、
(a)サーバに対して、端末制御部より得た0個以上のデータを付加してHTTPあるいはHTTPSアクセスし、そのリプライを受信し、そのデータをリプライデータ解析部に渡すサーバアクセス部、
(b)サーバアクセス部から渡されたリプライのデータを解析し、データ内容がコマンドであればコマンド実行部にわたし、コマンドがなければ、なにも処理せずに、端末制御部に制御を渡すリプライデータ解析部、
(c)リプライデータ解析部から受けたコマンドを実行し、そのコマンド実行結果を端末制御部に渡すコマンド実行部、
(d)コマンド実行部から渡されたコマンド実行結果データがあれば、そのデータをサーバアクセス部の付加データとして渡し、リプライデータ解析部から制御を受ければ、サーバアクセス部へは付加データを渡さずに制御を渡すことを繰り返し実行する端末制御部、を有することを特徴とする。
サーバ装置は、
(a)端末装置から0個以上のデータが付加されたHTTPあるいはHTTPSアクセスを受けてアクセスデータ解析部に渡し、また、そのリプライとして、サーバ制御部から得たデータを返す端末アクセス受信部、
(b)他のアプリケーションシステムから、端末装置を操作するコマンドデータが付加されたアクセスを受け、その受けた情報をアクセスデータ解析部に渡し、また、サーバ制御部から受けたデータを前述のリプライとしてアプリケーションシステムに返すアプリケーションアクセス受信部、
(c)端末アクセス受信部からアクセスを受けた後、一定時間以内にアプリケーション受信部からのアクセスがある場合は、そのアクセスで得た情報をサーバ制御部に渡し、一定時間以内にアプリケーション受信部からのアクセスがない場合には、何も処理せずに制御をサーバ制御部に渡すアクセスデータ解析部、
(d)アクセスデータ解析部から0個以上のコマンドデータを受けて端末アクセス受信部にデータを渡し、アクセスデータ解析部から得たコマンド実行結果をアプリケーションシステムに返すことを繰り返すサーバ制御部、
を有することを特徴とする。
セッション管理装置(遠隔操作システム)は、上記端末装置と上記サーバ装置とを備えることを特徴とする。
端末装置は、
(a)端末制御部による指示に従い、サーバに対して、HTTPあるいはHTTPSアクセスし、そのリプライを受信し、そのデータをリプライデータ解析手段に渡すサーバアクセス事前部、
(b)サーバアクセス事前部から渡されたリプライのデータを解析し、データ内容が接続要求の場合、サーバ通信部に通知し、接続要求でなければ、端末制御部にその旨を通知する、要求データ解析部、
(c)要求データ解析部からの通知を受けて、サーバにアクセスして、コマンドを受け、その受けたコマンドをコマンド実行部に渡し、また、その受けたコマンドの実行結果を、サーバにアクセスして渡すサーバ通信部、
(d)サーバ通信部から受けたコマンドを実行し、そのコマンド実行結果をサーバ通信部に渡すコマンド実行部、
(e)要求データ解析部から、接続要求が無い旨の情報を得て、サーバアクセス事前部の実行を繰り返し実行する端末制御部、
を有することを特徴とする。
サーバ装置は、
(a)端末装置からHTTPあるいはHTTPSアクセスを受け、サーバ制御部からの接続要求があればそのリプライとして接続要求のデータをのせ、なければ、なにもデータを載せずにリプライとして返す端末アクセス事前部、
(b)他のアプリケーションシステムから、端末装置を操作するコマンドデータが付加されたアクセスを受け、それを接続情報としてサーバ制御部にわたし、またその受けた情報を端末通信部に渡し、また、端末通信部から受けたデータを前述のリプライとしてアプリケーションシステムに返すアプリケーションアクセス受信部、
(c)端末からアクセスを受け、そのアクセスにデータがあれば、それをアプリケーションアクセス受信部に渡し、また、そのリプライにアプリケーションアクセス受信部から得たデータを渡す端末通信部、
(d)アプリケーションアクセス受信部からの接続要求を受け、端末アクセス事前部に渡すサーバ制御部、
を有することを特徴とする。
セッション管理装置(遠隔操作システム)は、上記端末装置と上記サーバ装置とを備えることを特徴とする。
サーバ装置は、
(a)端末装置からHTTPあるいはHTTPSアクセスを受け、サーバ制御部からの接続要求があればそのリプライとして接続要求のデータをのせ、なければ、なにもデータを載せずにリプライとして返す端末アクセス事前部、
(b)他のアプリケーションシステムから、端末装置を操作するコマンドデータが付加されたアクセスを受け、それを接続情報としてサーバ制御部にわたし、またその受けた情報を端末通信部に渡し、また、端末通信部から受けたデータを前述のリプライとしてアプリケーションシステムに返すアプリケーションアクセス受信部、
を有することを特徴とする。
上記サーバ装置と異なるサーバ装置(指令装置)は、
(c)端末からアクセスを受け、そのアクセスにデータがあれば、それをアプリケーションアクセス受信部に渡し、また、そのリプライにアプリケーションアクセス受信部から得たデータを渡す端末通信部、
(d)アプリケーションアクセス受信部からの接続要求を受け、端末アクセス事前部に渡すサーバ制御部、
を有することを特徴とする。
セッション管理装置(遠隔操作システム)は、上記端末装置と、上記サーバ装置と、上記サーバ装置と異なるサーバ装置(指令装置)とを備えることを特徴とする。
端末装置は、
ネットワーク障害などで端末装置とサーバ装置との間の接続が切れた場合にも、再度サーバアクセス部により、再接続を行うことを特徴とする。
これにより、Webアクセスが可能な環境であれば、既に設定されているセキュリティを保持し、ルータの設定などの変更も不要でインターネット側のサーバ装置からLAN側の端末装置への即時のアクセスが可能となる。
なお、実行装置は、端末装置に内在している必要はなく、端末装置からLANや独自のネットワーク等で接続した形式でもよい。
例えば、冷熱機器システムにおいては、実行装置としての冷熱機器(例えば、エアコンの室内機や室外機)と、それらを統合的に管理制御する冷熱機器コントローラ(端末制御装置)とが、別々の装置として存在する場合がある。
この場合、冷熱機器コントローラ(端末制御装置)は独自のネットワークで各冷熱機器(実行装置)と接続し、冷熱機器コントローラ(端末制御装置)は、LAN等にてルータ装置を経由してインターネット上のサーバ装置に接続する。
この例において、冷熱機器(実行装置)と冷熱機器コントローラ(端末制御装置)とを含めた冷熱機器システム全体が、この明細書における「端末装置」に該当する。
また、実行装置を内在しない1つの端末制御装置に複数の実行装置が接続した形態の端末装置であってもよい。
同様に、給湯器システム、床暖房システム、照明システム、エレベータシステム、オール電化システム、セキュリティシステム、監視カメラシステムあるいはFAシステムなどの各機器(実行装置)と各制御コントローラ(端末制御装置)も同様の関係であれば、システム全体として、この明細書における「端末装置」に該当する。
実施の形態1における遠隔操作システム600の全体構成の一例を示すシステム構成図。 実施の形態1における端末装置100のハードウェア構成の一例を示すハードウェア構成図。 実施の形態1におけるサーバ装置200、アプリケーション装置300のハードウェア構成の一例を示すハードウェア構成図。 実施の形態1におけるルータ装置500のハードウェア構成の一例を示すハードウェア構成図。 実施の形態1における端末装置100、サーバ装置200、アプリケーション装置300の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における端末装置100の処理の流れの一例を示すフローチャート図。 実施の形態1におけるサーバ装置200の処理の流れの一例を示すフローチャート図。 実施の形態1において、端末装置100、サーバ装置200、アプリケーション装置300の間でやり取りされるメッセージの一例を示すシーケンス図。 実施の形態2における端末装置100、サーバ装置200、アプリケーション装置300の機能ブロックの構成の一例を示すブロック構成図。 実施の形態2における端末装置100の処理の流れの一例を示すフローチャート図。 実施の形態2におけるサーバ装置200(端末アクセス事前部215・サーバ制御部220)の処理の流れの一例を示すフローチャート図。 実施の形態2におけるサーバ装置200(端末通信部216・アプリケーションアクセス受信部240)の処理の流れの一例を示すフローチャート図。 実施の形態3における遠隔操作システム600の全体構成の一例を示すシステム構成図。 実施の形態3における端末装置100、サーバ装置200、指令装置250、アプリケーション装置300の機能ブロックの構成の一例を示すブロック構成図。 実施の形態3において、端末装置100、サーバ装置200、指令装置250、アプリケーション装置300の間でやり取りするメッセージの一例を示すシーケンス図。
符号の説明
100 端末装置、110 サーバアクセス部、115 サーバアクセス事前部、116 サーバ通信部、120 端末制御部、130 リプライデータ解析部、140 コマンド実行部、200 サーバ装置、210 端末アクセス受信部、215 端末アクセス事前部、216 端末通信部、220 サーバ制御部、230 アクセスデータ解析部、240 アプリケーションアクセス受信部、300 アプリケーション装置、310 アプリケーションシステム、320 指令入力部、330 結果表示部、400 インターネット、500 ルータ装置、711〜712 指令問い合わせ、721〜723 リプライデータ、731〜732 アプリケーションアクセス、741 アプリケーションリプライ、751 要求データ、761 指令送信要求、771 存在通知、781〜782 コマンド、792〜793 コマンド実行結果、901 CPU、902 表示装置、903 入力装置、904 記憶装置、905,906 ネットワークインターフェース装置、910 実行装置。

Claims (14)

  1. ネットワークを介してサーバ装置と通信する通信装置と、実行指令を実行する実行装置とを有する端末装置において、
    上記実行指令の有無を問い合わせる指令問い合わせを、HTTP(Hypertext
    Transfer Protocol)リクエストの形式で、上記通信装置を用いて上記サーバ装置に対して送信する問い合わせ送信部と、
    上記問い合わせ送信部が送信した指令問い合わせに対する回答を、指令回答として、上記指令問い合わせであるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記サーバ装置から受信する回答受信部と、
    上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、上記実行装置を用いて実行指令を実行する指令実行部と、
    を有することを特徴とする端末装置。
  2. 上記端末装置は、更に、
    上記指令実行部が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記サーバ装置に対して送信する結果送信部を有し、
    上記回答受信部は、更に、
    上記実行装置が実行すべき他の実行指令の有無を、指令回答として、上記結果送信部が送信した実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記サーバ装置から受信する
    ことを特徴とする請求項1に記載の端末装置。
  3. 上記指令実行部は、
    上記回答受信部が受信した指令回答に実行指令が含まれる場合に、上記指令回答に含まれる実行指令を、上記実行装置を用いて実行する
    ことを特徴とする請求項1に記載の端末装置。
  4. 上記通信装置は、更に、ネットワークを介して指令装置と通信し、
    上記端末装置は、更に、
    上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、実行指令の送信を要求する指令送信要求を、HTTPリクエストの形式で、上記通信装置を用いて上記指令装置に対して送信する要求送信部と、
    上記要求送信部が送信した指令送信要求に対する回答として、上記実行指令を、上記指令送信要求であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記指令装置から受信する指令受信部と、
    を有し、
    上記指令実行部は、上記指令受信部が受信した実行指令を、上記実行装置を用いて実行する
    ことを特徴とする請求項1に記載の端末装置。
  5. 上記端末装置は、更に、
    上記指令実行部が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記指令装置に対して送信する結果送信部を有し、
    上記指令受信部は、更に、
    上記実行装置が実行すべき他の実行指令を、上記結果送信部が送信した実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記指令装置から受信する
    ことを特徴とする請求項4に記載の端末装置。
  6. 上記問い合わせ送信部は、更に、
    上記回答受信部が受信した指令回答が、実行指令なしを示す内容である場合に、上記指令問い合わせを、上記通信装置を用いて上記サーバ装置に対して送信する
    ことを特徴とする請求項1に記載の端末装置。
  7. ネットワークを介して端末装置と通信する通信装置を有するサーバ装置において、
    上記端末装置に実行させる実行指令の有無を問い合わせる指令問い合わせを、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する問い合わせ受信部と、
    上記問い合わせ受信部が受信した指令問い合わせに対する回答を、指令回答として、上記指令問い合わせであるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する回答送信部と、
    を有することを特徴とするサーバ装置。
  8. 上記サーバ装置は、更に、
    上記端末装置が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、
    上記回答送信部は、更に、
    上記端末装置に実行させる他の実行指令の有無を、指令回答として、上記実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する
    ことを特徴とする請求項7に記載のサーバ装置。
  9. 上記回答送信部は、
    上記端末装置に実行させる実行指令がある場合に、上記実行指令を含む指令回答を、上記通信装置を用いて上記端末装置に対して送信する
    ことを特徴とする請求項7に記載のサーバ装置。
  10. 上記サーバ装置は、更に、
    上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を受信する通知受信部を有し、
    上記回答送信部は、
    上記通知受信部が実行指令を通知装置から受信した場合に、実行指令ありを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信し、
    所定の時間待っても、上記通知受信部が実行指令を通知装置から受信しなかった場合に、実行指令なしを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信する
    ことを特徴とする請求項7に記載のサーバ装置。
  11. 上記サーバ装置は、更に、
    上記端末装置に実行させる実行指令があることを通知する指令装置から、上記実行指令があることの通知を取得する存在取得部を有し、
    上記回答送信部は、
    上記存在取得部が、実行指令があることの通知を指令装置から取得した場合に、実行指令ありを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信し、
    所定の時間待っても、上記存在取得部が、実行指令があることの通知を指令装置から受信しなかった場合に、実行指令なしを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信する
    ことを特徴とする請求項7に記載のサーバ装置。
  12. ネットワークを介して端末装置と通信する通信装置を有する指令装置において、
    上記端末装置に実行させる実行指令の送信を要求する指令送信要求を、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する要求受信部と、
    上記要求受信部が受信した指令送信要求に対する回答として、上記実行指令を、上記指令送信要求であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する指令送信部と、
    を有することを特徴とする指令装置。
  13. 上記指令装置は、更に、
    上記端末装置が実行指令を実行した結果を、実行結果として、HTTPリクエストの形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、
    上記指令送信部は、更に、
    上記端末装置に実行させる他の実行指令を、上記実行結果であるHTTPリクエストに対するHTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して送信する
    ことを特徴とする請求項12に記載の指令装置。
  14. 上記指令装置は、更に、
    上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を受信する通知受信部と、
    上記通知受信部が実行指令を受信した場合に、実行指令の有無を上記端末装置に知らせるサーバ装置に対して、実行指令があることを通知する存在通知部と、
    を有することを特徴とする請求項12に記載の指令装置。
JP2007538631A 2005-10-06 2006-03-16 端末装置及びサーバ装置及び指令装置 Pending JPWO2007039942A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005293401 2005-10-06
JP2005293401 2005-10-06
PCT/JP2006/305250 WO2007039942A1 (ja) 2005-10-06 2006-03-16 端末装置及びサーバ装置及び指令装置

Publications (1)

Publication Number Publication Date
JPWO2007039942A1 true JPWO2007039942A1 (ja) 2009-04-16

Family

ID=37905988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007538631A Pending JPWO2007039942A1 (ja) 2005-10-06 2006-03-16 端末装置及びサーバ装置及び指令装置

Country Status (5)

Country Link
US (1) US8103717B2 (ja)
EP (1) EP1936510A4 (ja)
JP (1) JPWO2007039942A1 (ja)
CN (1) CN101273337B (ja)
WO (1) WO2007039942A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011109678A1 (de) * 2011-08-08 2013-02-14 Rwe Effizienz Gmbh Kommunikationssystem
JPWO2013042412A1 (ja) * 2011-09-22 2015-03-26 Necソリューションイノベータ株式会社 通信システム、通信方法、及びプログラム
TWI477117B (zh) 2011-10-06 2015-03-11 Av Tech Corp 網路連線狀態檢測系統及其方法
JP6107261B2 (ja) * 2013-03-15 2017-04-05 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP6191259B2 (ja) * 2013-06-11 2017-09-06 富士通株式会社 ネットワーク分離方法及びネットワーク分離装置
FR3041198B1 (fr) 2015-09-16 2018-08-17 Overkiz Procede de configuration et procede de controle d’une installation domotique
JP6643575B2 (ja) * 2016-03-28 2020-02-12 パナソニックIpマネジメント株式会社 指示情報通知システムと端末装置
JP6265257B2 (ja) * 2016-12-20 2018-01-24 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP6750706B2 (ja) * 2019-05-22 2020-09-02 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP7272293B2 (ja) * 2020-01-29 2023-05-12 トヨタ自動車株式会社 エージェント装置、エージェントシステム及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002223483A (ja) * 2000-11-09 2002-08-09 Yamatake Corp 遠隔管理システム
JP2003108449A (ja) * 2001-10-02 2003-04-11 Seiko Epson Corp ネットワークに接続された仲介装置
JP2003256303A (ja) * 2001-12-27 2003-09-12 Fuji Xerox Co Ltd ネットワークシステム、情報管理サーバ、及び情報管理方法
JP2004227121A (ja) * 2003-01-21 2004-08-12 Toshiba Corp サーバ装置、通信制御システム、通信方法及びサーバプログラム
JP2004246822A (ja) * 2003-02-17 2004-09-02 Hitachi Information Systems Ltd 更新情報表示システム
JP2005259105A (ja) * 2004-02-09 2005-09-22 Ricoh Co Ltd 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716674B1 (en) * 2000-10-06 2010-05-11 Apple Inc. Streaming server administration protocol
US20020194289A1 (en) * 2001-06-18 2002-12-19 Engel Glenn R. Configuring devices using server responses
US20030070094A1 (en) * 2001-10-06 2003-04-10 Gomes John Isaac Chandan Data transfer across firewalls
JP3610341B2 (ja) 2002-02-19 2005-01-12 キヤノン株式会社 ネットワーク機器及び遠隔制御中継サーバ
EP1418732B1 (en) * 2002-09-19 2016-01-06 Ricoh Company, Ltd. Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses
JP3445986B1 (ja) 2002-09-27 2003-09-16 松下電器産業株式会社 インターネットに接続するサーバ、機器および通信システム
US20040098483A1 (en) * 2002-11-14 2004-05-20 Engel Glenn R. Triggering communication from devices that self-initiate communication
JP3880513B2 (ja) * 2002-12-16 2007-02-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 中継処理装置、制御方法、プログラム、記録媒体、及び端末制御サーバ
US7627651B2 (en) * 2003-10-27 2009-12-01 American Power Conversion Corporation System and method for network device communication
NO323215B1 (no) * 2005-02-04 2007-01-29 Tandberg Telecom As Fremgangsmate for monitorering og konfigurering av brannmur/NAT-beskyttet nettverk

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002223483A (ja) * 2000-11-09 2002-08-09 Yamatake Corp 遠隔管理システム
JP2003108449A (ja) * 2001-10-02 2003-04-11 Seiko Epson Corp ネットワークに接続された仲介装置
JP2003256303A (ja) * 2001-12-27 2003-09-12 Fuji Xerox Co Ltd ネットワークシステム、情報管理サーバ、及び情報管理方法
JP2004227121A (ja) * 2003-01-21 2004-08-12 Toshiba Corp サーバ装置、通信制御システム、通信方法及びサーバプログラム
JP2004246822A (ja) * 2003-02-17 2004-09-02 Hitachi Information Systems Ltd 更新情報表示システム
JP2005259105A (ja) * 2004-02-09 2005-09-22 Ricoh Co Ltd 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
EP1936510A4 (en) 2013-06-05
US20100223319A1 (en) 2010-09-02
US8103717B2 (en) 2012-01-24
WO2007039942A1 (ja) 2007-04-12
CN101273337A (zh) 2008-09-24
CN101273337B (zh) 2010-10-06
EP1936510A1 (en) 2008-06-25

Similar Documents

Publication Publication Date Title
JPWO2007039942A1 (ja) 端末装置及びサーバ装置及び指令装置
US8499083B2 (en) Relay device and communication system
EP1892887B1 (en) Communication method between communication devices and communication apparatus
RU2595752C2 (ru) Многоканальные соединения в сеансах файловой системы
EP2645636B1 (en) Home gateway, cloud server, and method for communication therebetween
US20060031518A1 (en) Method and apparatus for transparent negotiations
US10084862B2 (en) Session control method and computer-readable storage medium storing computer program
KR101898492B1 (ko) 전자 장치 및 전자 장치의 제어 방법
CN112104744B (zh) 流量代理方法、服务器及存储介质
US20140149603A1 (en) Apparatus and method of enabling to transceive data using a plurality of heterogeneous networks selectively through a fixed host address
US9929942B2 (en) Remote access to a residential multipath entity
US20180198870A1 (en) Information processing apparatus, method for controlling the same, non-transitory computer-readable storage medium, and information processing system
US9560141B2 (en) Method and apparatus of performing peer-to-peer communication establishment
WO2023040380A1 (zh) WebRTC通信方法及系统
JP5219903B2 (ja) Urlフィルタリング装置およびurlフィルタリング方法
WO2014015503A1 (zh) 一种数据传输方法、移动终端和代理服务器
KR20050050954A (ko) 사설네트워크 상에 존재하는 네트워크 장치를 제어하는장치 및 그 방법
CN110771117B (zh) 一种采用面向id的网络的会话层通信
CN101547134B (zh) 一种udp连接和tcp连接相互转化的方法、系统及中转服务器
JP2007514212A (ja) インターネットメッセンジャーを用いてファイルを格納、伝達するシステム及び方法
KR101058275B1 (ko) 통신 단말기 및 그 제어방법과, p2p 서버 시스템 및 그 제어방법
JP2015118478A (ja) 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム
US20050204049A1 (en) Connectivity confirmation method for network storage device and host computer
CN112788144A (zh) 一种通信方式的实现方法、服务器以及客户端
JP5723808B2 (ja) 通信装置、通信方法、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100708

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110208