JP6562085B2 - 通信装置、通信システム、通信方法、および、通信プログラム - Google Patents

通信装置、通信システム、通信方法、および、通信プログラム Download PDF

Info

Publication number
JP6562085B2
JP6562085B2 JP2017552639A JP2017552639A JP6562085B2 JP 6562085 B2 JP6562085 B2 JP 6562085B2 JP 2017552639 A JP2017552639 A JP 2017552639A JP 2017552639 A JP2017552639 A JP 2017552639A JP 6562085 B2 JP6562085 B2 JP 6562085B2
Authority
JP
Japan
Prior art keywords
communication
protocol
session
control message
data
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.)
Expired - Fee Related
Application number
JP2017552639A
Other languages
English (en)
Other versions
JPWO2017090185A1 (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2017090185A1 publication Critical patent/JPWO2017090185A1/ja
Application granted granted Critical
Publication of JP6562085B2 publication Critical patent/JP6562085B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1063Application servers providing network services
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、通信装置とその通信装置を用いた通信システム、通信方法に関する。
通信機器の普及により、様々なデバイスをネットワークに接続して通信するIoT(Internet of Things)が注目されており、様々なサービスを実現するシステムが考案されている。例えば、ネットワークに接続された様々なデバイスとアプリケーションサーバを通信させることにより、遠隔監視システムなどが実現されることもある。遠隔監視システムでは、例えば、監視対象を撮像可能な位置に設置されたカメラを含む通信装置等は、撮像により得られたデータを、適宜、アプリケーションサーバにアップロードする。すると、アプリケーションサーバは、撮像結果が得られていることを、ユーザが使用している電話端末、タブレット、コンピュータなどの通信機器に通知する。ユーザは、アプリケーションサーバからの通知があると、適宜、アプリケーションサーバにアクセスして、撮像結果を確認する。なお、アプリケーションサーバ等にアップロードされるデータは、撮像結果以外の任意のデータであり得る。また、IoTを用いたシステムは、遠隔監視システム以外の任意のシステムであっても良い。
IoTを用いたシステムで注目されている通信プロトコルとして、MQTT(Message Queue Telemetry Transport)がある。MQTTは、ヘッダ長が短いため、ペイロード中のデータ量が少ない場合に行われる処理による機器への負担が軽く、大量の機器間での通信への適用に適している。
関連する技術として、サービスプロバイダネットワークとユーザデバイスとの間で送受信されるデータを中継するパブリッシュ/サブスクライブブローカを含むシステムが提案されている(例えば、特許文献1など)。また、低解像度のライブビュー画像データをUDP(User Datagram Protocol)で端末に送信し、静止画像の撮影指示を取得すると、指示に応じて撮影した高解像度の静止画像データを端末に送信するカメラも考案されている(例えば、特許文献2など)。高解像度の静止画像データの送信には、TCP(Transmission Control Protocol)が使用される。さらに、SIP(Session Initiation Protocol)を使用するファクシミリ装置が識別フレーズを作成し、画像データの送信側と受信側で識別フレーズを交換することで認証を行うデータ送信方法も提案されている(例えば、特許文献3など)。
特表2015−500520号公報 特開2015−095799号公報 特開2008−263440号公報
パブリッシュ/サブスクライブ型ではないプロトコルでサーバ側からデバイスへの制御メッセージを送信する場合、デバイスがサーバに接続されていないと、通信エラーが発生してしまう。しかし、デバイスとサーバの間で、データ通信に適した転送速度が得られる通信路を常時確保すると、データ通信が行われていないときには無駄に通信路が確保されることになり、効率が悪い。この問題は、ネットワークに接続されるデバイスの数が増えるとさらに深刻になる。一方、パブリッシュ/サブスクライブ型プロトコルは、容量の大きなデータの送信には向いていない。このため、パブリッシュ/サブスクライブ型プロトコルをデータ通信に用いると、かえって効率が悪くなってしまうこともある。また、関連する技術のいずれを適用しても、同様の問題により通信の効率化は困難である。
本発明は、1つの側面として、通信を効率化することを目的とする。
ある1つの態様にかかる通信装置は、受信部、制御部、通信部を備える。受信部は、第1のプロトコルを用いた第1のセッションの接続先から制御メッセージを受信する。制御部は、前記制御メッセージで指定された処理を行うと共に、前記処理に伴う通信処理を前記第1のプロトコルよりもヘッダ長の長い第2のプロトコルを用いて行う場合、前記第2のプロトコルを用いた通信の通信先との間で第2のセッションを確立する。通信部は、前記第1および第2のセッションを用いて通信する。前記制御部は、前記第2のプロトコルを用いた通信が終了すると、前記第2のセッションを終了する。前記通信部は、前記第1のセッションを介して、前記制御メッセージで指定された処理の結果を、前記通信先に通知する。
通信が効率化される。
実施形態にかかる通信の例を説明する図である。 通信装置の構成の例を説明する図である。 通信装置のハードウェア構成の例を説明する図である。 アプリケーションサーバの構成の例を説明する図である。 実施形態にかかる通信が適用されるシステムの例を説明する図である 登録情報テーブルの例を説明する図である。 管理情報テーブルの例を説明する図である。 データがサーバにアップロードされる場合の処理の例を説明するシーケンス図である。 制御メッセージを送信する際のサーバの処理の例を説明するフローチャートである。 MQTTサーバでの処理の例を説明するフローチャートである。 通信装置での処理の例を説明するフローチャートである。 応答メッセージを受信した際のサーバの処理の例を説明するフローチャートである。 データがサーバからダウンロードされる場合の処理の例を説明するシーケンス図である。 通信装置でのダウンロード処理の例を説明するフローチャートである。
図1は、実施形態にかかる通信の例を説明する図である。図1に示す例では、ネットワークには、サーバ5a、通信装置10a、通信装置20が含まれているとする。
ケースC1は、シーケンスSE1の開始時点での接続状況を示している。ケースC1では、サーバ5aと通信装置10aの間に通信セッションA2が生成され、通信装置10aと通信装置20の間に通信セッションA1が生成されている。通信セッションA1およびA2では、第1のプロトコル(プロトコルA)を用いた通信が行われるものとする。プロトコルAは、ヘッダ長が比較的短く、ペイロード長が短い場合の処理負荷が比較的軽いプロトコルであるとする。また、通信セッションA1、A2は、サーバ5aと通信装置20との間での制御情報の送受信に使用される制御メッセージを、プロトコルAによって送受信する際に使用される。なお、プロトコルAがパブリッシュ/サブスクライブ型のプロトコルである場合、通信装置10aは、ブローカとして動作しても良い。シーケンスSE1では、通信装置10aはブローカとして動作する。
シーケンスSE1は、サーバ5aと通信装置20の間の通信の例を示している。サーバ5aは、通信装置20宛てにプロトコルAで生成した制御メッセージを、通信セッションA2を用いて通信装置10aに送信する(ステップS1)。通信装置10aは、受信した制御メッセージを、通信セッションA1を用いて通信装置20に転送する(ステップS2)。
通信装置20は、制御メッセージを受信すると、制御メッセージで要求されている処理を行う。ここで、制御メッセージで要求された処理は、プロトコルBによる通信を伴う処理であるとする。例えば、プロトコルBは、プロトコルAよりもヘッダ長の長いプロトコルで、容量の大きなデータの転送に適したプロトコルであるとする。すると、通信装置20は、制御メッセージで要求された処理を行うと共に、処理に起因して発生する通信に使用するために、プロトコルBを用いる通信セッション(セッションB)をサーバ5aとの間で確立する(ステップS3)。
ケースC2は、ステップS3の処理によってセッションBが確立されたときの接続状況の例である。セッションBが確立されている間も、セッションA1、A2はプロトコルAによる制御メッセージの送受信のために維持されている。なお、セッションBは、サーバ5aと通信装置20の間のデータ通信に使用されるので、セッションBの通信に使用される経路はデータ通信が適切に行われる程度の転送速度が得られる経路である。
セッションBを確立すると、通信装置20は、サーバ5aとの間で、プロトコルBを用いたデータの送受信を行う(ステップS4)。図1の例では、プロトコルBを用いたデータの送受信は正常終了したとする。通信装置20は、制御メッセージで要求された処理に起因したプロトコルBによる通信が終了すると、サーバ5aとの間のセッションBを終了する。このため、制御メッセージで要求された処理に起因したプロトコルBによる通信が終了すると、サーバ5aと通信装置20との間は、ケースC1に示すように、プロトコルAでの通信に使用されるセッションのみが確立された状況に戻る。
通信装置20は、処理の成功をサーバ5aに通知するための処理成功通知を、セッションA1を介して、通信装置10aに送信する(ステップS5)。通信装置10aは、受信した処理成功通知を、セッションA2を介して、サーバ5aに転送する(ステップS6)。ここで、ステップS5、S6で送受信される処理成功通知も制御メッセージの一種であるので、処理成功通知の送受信はプロトコルAによって行われる。
図1を参照しながら説明したように、実施形態にかかる方法では、サーバ5aと通信装置20との間の制御メッセージの送受信にはセッションA1、A2が使用される。ここで、制御メッセージ中のペイロード量はデータパケットに比べて少ない上、制御メッセージの送受信にはプロトコルAが用いられる。このため、サーバ5aと通信装置20との間で制御メッセージの送受信のために常時接続を行っていても通信量が少ない。従って、セッションA1、A2の通信に使用される通信経路を確保しても、ネットワークへの負荷は、データ通信用のセッションが常時接続される場合に比べて小さい。また、セッションA1、A2を介して取得した制御メッセージによって、比較的大きなデータの送受信が要求されたなどの理由により、プロトコルBを用いる通信処理が発生すると、プロトコルBを用いた通信の間だけプロトコルB用のセッションBが確立される。従って、実施形態にかかる方法を用いると、サーバと通信装置の間にデータ送受信用の経路を常時確保する場合に比べて、ネットワーク中の転送処理に使用されるネットワークリソースが効率的に使用される。また、プロトコルBは、データ転送に適したプロトコルであるため、データ通信の効率が落ちることも防止できる。
なお、図1の例のように、サーバ5aと通信装置20の間のセッションA1、A2を用いた制御メッセージの送受信を、ブローカとして動作する通信装置10aが中継すると、サーバ5aと通信装置20の間が常時接続されていなくても通信エラーが発生しない。このため、さらにシステムが効率化される。
<装置構成>
以下、実施形態にかかる通信方法が適用されるシステムが遠隔監視システムであり、通信装置20が静止画像や動画像を撮像可能な装置である場合を例として説明する。なお、システムの種類や通信装置20が行う処理の例は一例である。実施形態にかかるシステムは、遠隔監視システム以外のシステムにも適用されることがある。また、通信装置20は、システム中のサーバからの要求により、撮像処理以外の処理を行うこともある。
図2は、通信装置20の構成の例を説明する図である。通信装置20は、通信部21、制御部30、記憶部40、カメラ50を備える。通信部21は、受信部22と送信部23を有する。制御部30は、判定部31、接続制御部32、アプリケーション処理部33を有する。
受信部22は、他の装置からパケットを受信する。送信部23は、他の装置にパケットを送信する。受信部22と送信部23は、第1のプロトコルと第2のプロトコルのいずれが用いられたパケットも処理可能である。制御メッセージは第1のプロトコルで送受信されるものとする。また、第2のプロトコルは、第1のプロトコルと比較して、容量の大きなデータの通信に適したプロトコルであるとする。
判定部31は、受信部22を介して取得した制御メッセージを解析することにより、制御メッセージで要求された処理に伴って、第2のプロトコルを用いた通信処理が発生するかを判定する。判定部31は、予め、第2のプロトコルを用いた通信処理が発生する処理の種類を記憶していても良い。この場合、判定部31は、制御メッセージで要求された処理の種類と、記憶している情報を用いて判定処理を行う。また、判定部31は、制御メッセージによって特定の情報要素が含められている場合に、制御メッセージで要求された処理により第2のプロトコルを用いた通信処理が発生すると判定しても良い。
接続制御部32は、第2のプロトコルを用いた通信処理が発生する場合に、第2のプロトコルを用いた通信での通信先との間の接続処理を行う。さらに、第2のプロトコルを用いた通信処理が終了すると、第2のプロトコルを用いて通信先と通信するためのセッションやコネクションを終了する。アプリケーション処理部33は、制御メッセージで要求された処理を行う。カメラ50は、アプリケーション処理部33によって制御され、通信装置20での監視対象となっている監視対象や監視領域についての画像データを生成する。記憶部40は、適宜、制御部30での処理に使用されるデータを記憶する。
図3は、通信装置20のハードウェア構成の例を説明する図である。通信装置20は、プロセッサ101、メモリ102、バス105、撮像装置107、ネットワークインタフェース109を備える。通信装置20は、さらに、入力装置103、出力装置104、記憶装置106の1つ以上を有していても良い。プロセッサ101は、Central Processing Unit(CPU)を含む任意の処理回路であり、メモリ102や記憶装置106に記憶されたプログラムを実行することができる。プロセッサ101は制御部30を実現する。メモリ102と記憶装置106は、記憶部40として動作する。また、通信部21は、ネットワークインタフェース109とプロセッサ101により実現される。バス105は、プロセッサ101、メモリ102、入力装置103、出力装置104、記憶装置106、撮像装置107、ネットワークインタフェース109を、相互にデータの出力や入力が可能になるように接続する。入力装置103は、キーボードやマウスなど、情報の入力に使用される任意の装置であり、出力装置104は、ディスプレイを含む表示デバイスなど、データの出力に使用される任意の装置である。撮像装置107は、カメラ50として動作する。
図4は、アプリケーションサーバ5の構成の例を説明する図である。図1のサーバ5aは、アプリケーションサーバ5の例である。アプリケーションサーバ5は、通信部61、制御部62、記憶部65を備える。通信部61は、通信装置20などの他の装置との間での通信を行う。制御部62は、アプリケーションサーバ5が提供するアプリケーションの処理を行う他、適宜、セッションの生成等の制御処理も行う。記憶部65は、登録情報テーブル66と管理情報テーブル67を備える。登録情報テーブル66には、アプリケーションサーバ5が提供するアプリケーションを使用するユーザの情報が登録される。管理情報テーブル67には、ユーザから要求された処理を通信装置20に要求する際や、処理結果をユーザの端末15に通知する際に使用される管理情報が記録される。登録情報テーブル66と管理情報テーブル67の例は後述する。
アプリケーションサーバ5のハードウェア構成は、図3に示した通信装置20のハードウェア構成と同様であるが、アプリケーションサーバ5は、撮像装置107を備えなくてもよい。すなわち、アプリケーションサーバ5は、プロセッサ101、メモリ102、バス105、ネットワークインタフェース109を備えており、オプションとして、入力装置103、出力装置104、記憶装置106の1つ以上を有していても良い。また、アプリケーションサーバ5にも撮像装置107が含まれていてもよい。
アプリケーションサーバ5において、プロセッサ101は制御部62として動作し、メモリ102や記憶装置106は記憶部65として動作する。さらに、通信部61は、ネットワークインタフェース109とプロセッサ101によって実現される。
<実施形態>
以下の例では、第1のプロトコルがMQTTであり、第2のプロトコルがHTTP(Hypertext Transfer Protocol)である場合を例として説明する。さらに、サーバ5aは、遠隔監視システムのアプリケーションサーバ5であり、通信装置10aはMQTTサーバ10であるとする。なお、通信で使用されるプロトコルは一例であり、実装に応じて使用されるプロトコルは変更され得る。すなわち、第1のプロトコルはMQTTに限定されず、また、第2のプロトコルもHTTPに限定されないものとする。例えば、第2のプロトコルとして、FTP(File Transfer Protocol)が使用されても良い。また、遠隔監視システムで監視される監視対象も任意である。例えば、監視対象は、ユーザが世話をしているペット、高齢者などであってもよく、また、ユーザが状況を確認しようとする生産ラインの機械などであってもよい。
図5は、実施形態にかかる通信が適用されるシステムの例を説明する図である。なお、図5は、システムの一例であり、例えば、通信装置20や端末15の数は実装に応じて任意に変更され得る。
アプリケーションサーバ5とMQTTサーバ10は、インターネット3に含まれている。また、インターネット3は3G−LTE(3 Generation - Long Term Evolution)網7と接続されている。ユーザが使用する端末15(15a〜15c)は、3G−LTE網7を介してインターネット3中のアプリケーションサーバ5と通信できる。なお、図5はシステムの一例であり、通信装置20は、3G−LTE網7を介さずにインターネット3だけを介してアプリケーションサーバ5と通信しても良い。図5の例では、端末15aはコンピュータ、端末15bはタブレット、端末15cは携帯電話端末であるが、端末15はユーザがアプリケーションサーバ5にアクセスする際に使用可能な任意の装置である。通信装置20(20a〜20c)は、MQTTサーバ10に接続されており、各々の監視対象の近傍に設置されている。
以下、実施形態を、通信装置20がデータをアップロードする場合の処理の例と、通信装置20がデータをダウンロードする場合の処理の例に分けて説明する。
(1)通信装置20がデータをアップロードする場合の処理の例
遠隔監視システムのユーザは、予め、遠隔監視システムの利用者としてのユーザ登録をするとともに、監視対象の近傍に通信装置20を設置する。また、各ユーザによって監視対象の近傍に設置される通信装置20には、各通信装置20を一意に識別するための通信装置IDが割り当てられている。一方、アプリケーションサーバ5は、遠隔監視システムを利用するユーザの情報を登録情報テーブル66に登録している。
図6は、登録情報テーブル66の例を説明する図である。登録情報テーブル66では、各ユーザを識別するユーザIDに、通信装置IDと端末IDが対応付けて記録されている。通信装置IDは、ユーザIDで識別されるユーザの監視対象の監視のために設置されている通信装置20を識別する情報である。端末IDは、ユーザIDで識別されるユーザがアプリケーションサーバ5にアクセスする際に使用する端末15に割り当てられている識別子である。端末IDは、ユーザの端末を一意に識別できる任意の情報が使用され得るので、例えば、端末15が電話端末である場合は、電話番号が端末IDとして使用されてもよい。図6の例では、ユーザID=ユーザ1で識別されるユーザは、通信装置ID=st1の通信装置20を監視対象の近傍に設置している。また、ユーザ1が使用している端末15がアプリケーションサーバ5と通信する際には、端末のIDとして、phon1がアプリケーションサーバ5に通知される。同様に、ユーザID=ユーザ2のユーザが使用する通信装置20の通信装置IDはst2であり、ユーザID=ユーザ2のユーザが使用する端末15の端末IDはsumaho2である。
ユーザは、遠隔監視システムを用いて監視対象の情報を確認しようとする場合に、予め遠隔監視システムに登録している端末15を用いて、アプリケーションサーバ5に処理要求を送信する。処理要求には、ユーザが要求する処理を特定する際に使用される情報の他、ユーザIDと端末IDが含まれる。処理要求は、例えば、ユーザが端末15中で動作している遠隔監視システムのアプリケーションで表示されているボタンを押下することによって自動生成されて、アプリケーションサーバ5に送信されてもよい。
アプリケーションサーバ5の通信部61は、処理要求を受信する。制御部62は、処理要求に含まれているユーザIDと端末IDの組み合わせが登録情報テーブル66に登録されているかを判定する。ユーザIDと端末IDの組み合わせが登録情報テーブル66に含まれている場合、制御部62は、正規ユーザから制御が要求されていると判定し、管理情報テーブル67を更新する。
図7は、管理情報テーブル67の例を説明する図である。管理情報テーブル67は、アプリケーションサーバ5から通信装置20に送信する命令と、命令による処理結果の通知先を対応付ける。制御部62は、正規ユーザから要求されている処理を通信装置20に行わせるための命令を生成し、生成した命令に命令IDを割り当てる。命令IDは個々の命令を一意に識別する情報である。図7に示す管理情報テーブル67は、通信装置20への命令の各々について、命令ID、時刻、通信装置ID、アクセス先URL(Uniform Resource Locator)、ユーザID、端末ID、ファイル名、命令種別を対応付けている。時刻は命令IDで識別される命令をアプリケーションサーバ5が取得した時刻である。通信装置IDは、命令の要求先となる通信装置20のIDであり、登録情報テーブル66を用いて特定した通信装置20に割り当てられている通信装置IDである。アクセス先URLは、通信装置20に要求する命令によって通信装置20に通信させるときのアクセス先である。アクセス先URLは、通信装置20にアップロードを要求する場合のアップロード先のURLでもよく、また、通信装置20にダウンロードさせるファイルやデータの格納先であっても良い。ユーザIDは、命令送信の契機となった処理要求を送信した端末15のユーザを識別するIDであり、端末IDは、命令送信の契機となった処理要求を送信した端末15を識別する情報である。ファイル名は、通信装置20に処理を要求するファイルの名前である。通信装置20にアップロードを要求する場合、通信装置20で得られた処理結果のファイルのファイル名に使用される。一方、通信装置20にダウンロードが要求される場合、ダウンロードされるファイルの名称が、管理情報テーブル67でファイル名として記録されている。命令種別は、その命令の種類である。
なお、図7は管理情報テーブル67の一例であり、実装に応じて管理情報テーブル67中の情報要素や情報は変更され得る。例えば、命令IDが命令の種別を表す情報と、同じ種類の命令の通し番号を合わせた文字列として決定される場合のように、命令の種別も命令IDから特定できる場合、管理情報テーブル67には命令種別が含まれていなくても良い。
図8は、データがサーバにアップロードされる場合の処理の例を説明するシーケンス図である。以下、ユーザID=ユーザ1のユーザが端末15を用いて、監視対象の写真の撮像を要求した場合を例として説明する。なお、図8は処理の一例であり、例えば、ステップS16、S17の順序が変更されるなど、実装に応じて処理の手順は変更され得る。
ステップS11において、ユーザは端末15からアプリケーションサーバ5に撮影命令を送る。撮影命令には、要求する処理の種別が撮影であることを示す情報、端末15の端末ID、ユーザIDが含まれている。ここでは、ユーザID=ユーザ1、端末ID=phon1を含む撮影命令が送信されたとする。アプリケーションサーバ5の通信部61は撮影命令を受信する。制御部62は、撮影命令に含まれているユーザIDと端末IDの組み合わせが登録情報テーブル66に登録されているかを判定するとともに、命令の送信先の通信装置20を特定する(ステップS12)。登録情報テーブル66(図6)には、ユーザID=ユーザ1と端末ID=phon1の組み合わせが含まれているので、制御部62は、正規ユーザから制御が要求されていると判定する。さらに、登録情報テーブル66には、ユーザID=ユーザ1と端末ID=phon1の組み合わせには、通信装置ID=st1が対応付けられている。
そこで、制御部62は、通信装置ID=st1が割り当てられた通信装置20に送信する命令の命令IDを生成するとともに、管理情報テーブル67を更新する(ステップS13)。以下の説明では、制御部62は、命令ID=1001−001という命令IDを生成したとする。また、撮影によって得られた画像ファイルを20151023aというファイル名でURL1というURLで指定される領域に格納することを決定したとする。すると、制御部62は、管理情報テーブル67に、図7の1列目のエントリを記録する。
次に、制御部62は、通信装置ID=st1が割り当てられた通信装置20に通知する制御メッセージを、MQTTプロトコルを用いて生成する。制御メッセージには、処理命令、処理の実行の際に使用される情報、命令IDなどの情報が含まれる。ここでは、制御部62は、以下の情報を含む制御メッセージを生成したとする。
命令の要求先:st1
命令ID :1001−001
格納先URL:URL1
ファイル名 :20151023a
命令種別 :撮影
通信部61は、制御メッセージの通知先の通信装置20に対してMQTTメッセージを送信するMQTTサーバ10に、制御メッセージを送信する(ステップS14)。
MQTTサーバ10は、撮影命令を受信すると、MQTTプロトコルに従って、通信装置20に制御メッセージを転送する(ステップS15)。図8の例では、MQTTサーバ10と通信装置20の間には、MQTTを用いたセッションが常時確立されているとする。また、MQTTサーバ10は、通信装置20との間でセッションを確立すると、セッションIDと通信装置20に設定された通信装置IDを対応付けて記憶する。このため、MQTTサーバ10は、制御メッセージ中の命令の要求先として指定された通信装置IDに対応付けられたセッションIDで識別されるセッションに制御メッセージを転送する。
通信装置20の受信部22は、制御メッセージをMQTTサーバ10から受信すると、制御メッセージを判定部31に出力する。判定部31は、入力された制御メッセージを解析することにより、撮影が要求されていると判定し、アプリケーション処理部33に撮影処理を要求するとともに、制御メッセージ中の情報もアプリケーション処理部33に出力する。アプリケーション処理部33は、判定部31の要求に応じて、カメラ50を用いた撮影処理を行って、アプリケーションサーバ5にアップロードするためのデータを生成する(ステップS16)。このとき、アプリケーション処理部33は、アップロードの対象となるファイルのファイル名を、制御メッセージで通知されたファイル名にする。このため、アプリケーション処理部33の処理により、20151023aというファイル名の画像ファイルが生成される。
判定部31は、制御メッセージで要求された処理に伴って、HTTPプロトコルによる通信が発生するかを判定する。なお、判定部31は、予め、HTTPプロトコルによる通信が発生する処理の種類を記憶していてもよく、制御メッセージ中にURLの情報が含まれている場合に、HTTPプロトコルによる通信が発生すると判定してもよい。図8の例では、判定部31は、撮影命令によって撮影された画像データのアップロードに使用するプロトコルをHTTPプロトコルに決定したとする(ステップS17)。
判定部31は、接続制御部32に対して、HTTPプロトコルを用いた通信を行うために、HTTPセッションの生成を要求する。このとき、判定部31は、データのアップロード先のURLなどの情報を接続制御部32に通知する。接続制御部32は、判定部31からの要求に応じて、アプリケーションサーバ5との間でHTTPセッションを確立するための処理を行う(ステップS18)。なお、HTTPセッションの確立のための処理は、通常のHTTPプロトコルによる通信の開始の際の処理と同様である。
通信装置20とアプリケーションサーバ5の間にHTTPセッションが確立されると、送信部23は、ステップS16で生成された画像データを、HTTPセッションを介して、アプリケーションサーバ5にアップロードする(ステップS19)。アプリケーションサーバ5は、通信装置20から受信したデータを、アップロード先として通信装置20に通知したURL(URL1)で指定される領域に格納する。
送信部23は、アップロードが終了すると、送信の終了を接続制御部32とアプリケーション処理部33に通知する。すると、接続制御部32は、通信装置20とアプリケーションサーバ5の間のHTTPセッションを終了する(ステップS20)。
一方、アプリケーション処理部33は、処理結果を通知するための応答メッセージを生成する。ここで、アプリケーション処理部33は、MQTTプロトコルを用いて、応答メッセージを生成する。また、図8の例では、応答メッセージにより、アップロードの成功が通知されるものとする。また、メッセージの最終宛先がアプリケーションサーバ5であることを特定するための情報も、応答メッセージに含まれているとする。送信部23は、生成された応答メッセージを、MQTTプロトコルでの通信に使用するセッションを介して、MQTTサーバ10に送信する(ステップS21)。MQTTサーバ10は、応答メッセージを受信すると、MQTTプロトコルに従って、アプリケーションサーバ5に応答メッセージを転送する(ステップS22)。なお、MQTTサーバ10は、アプリケーションサーバ5との間でセッションを確立すると、アプリケーションサーバ5の識別情報とセッションIDを対応付けて記憶しているとする。このため、MQTTサーバ10は、応答メッセージ中の通知先として指定されたアプリケーションサーバ5の識別情報に対応付けられたセッションIDで識別されるセッションに応答メッセージを転送する。
アプリケーションサーバ5の制御部62は、通信部61を介して応答メッセージを取得すると、管理情報テーブル67を参照することにより、処理結果の通知先を特定する。制御部62は、処理結果を撮影命令の送信元の端末15に通知するためのメッセージを生成する。ここでは、制御部62は、管理情報テーブル67の1列目のエントリを用いて、端末ID=phon1で識別される端末15に対して、データ取得に成功したことを通知するデータ取得通知を生成する。通信部61は、データ取得通知を端末15に送信する(ステップS23)。なお、データ取得通知には、撮像結果がURL1に格納されていることを通知する情報も含まれている。
端末15にデータ取得通知が届くと、端末15中で動作しているアプリケーションにより、撮像結果が得られたことをユーザに通知するための処理が行われる。この処理では、URL1に撮像結果のファイルがアップロードされていることを通知するメッセージが、端末15の画面に表示されてもよく、また、ポップ音などでユーザにデータ取得の完了が通知されても良い。ユーザは、データ取得の完了が通知されると、適宜、撮像結果を取得するための処理を、アプリケーションを用いて行う。
図9は、制御メッセージを送信する際のアプリケーションサーバ5の処理の例を説明するフローチャートである。通信部61は、ユーザの端末からの命令を受信する(ステップS31)。制御部62は、登録情報テーブル66を参照して正規のユーザからの命令を受信したことを確認すると、命令IDを生成する(ステップS32)。さらに、制御部62は、管理情報テーブル67を更新する(ステップS33)。制御部62は、命令の送信先の通信装置20に宛てて、命令IDを含む制御メッセージを生成する。通信部61は、制御部62で生成された制御メッセージをMQTTサーバ10に送信する(ステップS34)。
図10は、MQTTサーバ10での処理の例を説明するフローチャートである。MQTTサーバ10は、アプリケーションサーバ5から制御メッセージを受信する(ステップS41)。MQTTサーバ10は、制御メッセージの最終宛先の通信装置20がMQTTサーバ10に接続しているかを判定する(ステップS42)。制御メッセージの最終宛先の通信装置20がMQTTサーバ10に接続していない場合、MQTTサーバ10は、再度、宛先の通信装置20がMQTTサーバ10に接続したかの判定に戻る(ステップS42でNo)。制御メッセージの最終宛先の通信装置20がMQTTサーバ10に接続している場合、MQTTサーバ10は、制御メッセージを、最終宛先の通信装置20に転送する(ステップS42でYes、ステップS43)。
なお、MQTTサーバ10が通信装置20から応答メッセージを受信した場合でも、MQTTサーバ10で行われる処理は、制御メッセージの受信の際と同様である。すなわち、応答メッセージの最終宛先であるアプリケーションサーバ5とMQTTサーバ10が接続している場合、受信した応答メッセージをアプリケーションサーバ5に送信する。アプリケーションサーバ5とMQTTサーバ10が接続していない場合、MQTTサーバ10は、アプリケーションサーバ5との接続が確立すると、応答メッセージを送信する。
図11は、通信装置20での処理の例を説明するフローチャートである。図11では、定数Nと変数nを用いる。定数Nは、HTTPセッションでの通信に失敗したときに行われるリトライの回数の上限値である。変数nは、通信装置20が行ったリトライ回数である。
通信装置20の受信部22は、MQTTサーバ10から制御メッセージを受信するとともに、リトライ回数nを0に設定する(ステップS51)。判定部31は、制御メッセージで命令された処理により、HTTP通信が発生するかを判定する(ステップS52)。制御メッセージで命令された処理により、HTTP通信が発生しない場合、アプリケーション処理部33は、要求された命令を特定するとともに、要求された処理を行う(ステップS52でNo、ステップS53、S54)。ステップS54において、HTTP通信を伴わない処理を行う場合、アプリケーション処理部33は、処理結果を通知するための応答メッセージを、MQTTプロトコルを用いて生成する。応答メッセージには、MQTTプロトコルで送信されるデータが含まれていてもよい。例えば、通信装置20の動作状況やファームウェアのバージョン情報の送信が要求された場合、アプリケーション処理部33は、これらの情報を含む応答メッセージを、MQTTプロトコルを用いて生成できる。送信部23は、生成された応答メッセージを、MQTTプロトコルでの通信用のセッションを介して送信する(ステップS68)。このため、応答メッセージは、MQTTサーバ10を介してアプリケーションサーバ5に送信されることになる。
一方、制御メッセージで命令された処理により、HTTP通信が発生する場合、判定部31は、処理によって発生するHTTP通信はアップロード(UL)とダウンロード(DL)のいずれであるかを判定する(ステップS52でYES、ステップS55)。処理によって発生するHTTP通信はアップロードである場合、アプリケーション処理部33は、命令の種類を特定するとともに、格納先の情報を取得する(ステップS55でUL、ステップS56)。ここで、格納先の情報の取得は、制御メッセージ中の情報から格納先の情報を抽出することによって行われる。さらに、ファイル名がアプリケーションサーバ5で決定されるシステムの場合、制御メッセージによってファイル名が通知されるので、アプリケーション処理部33は、制御メッセージからファイル名を抽出する。アプリケーション処理部33は、命令された処理を実行する(ステップS57)。さらに、アプリケーション処理部33は、命令された処理の実行によって得られたアップロードデータのファイル名を設定する(ステップS58)。例えば、制御メッセージからファイル名を取得している場合、アプリケーション処理部33は、取得済みのファイル名を使用する。接続制御部32は、HTTPセッションを生成する(ステップS59)。送信部23は、生成されたHTTPセッションを介して、データのアップロードを行う(ステップS60)。接続制御部32は、アップロードが正常終了したかを判定する(ステップS61)。アップロードが正常終了した場合、接続制御部32は、HTTPセッションを終了する(ステップS61でYes、ステップS62)。その後、アプリケーション処理部33は、処理結果を通知するための応答メッセージを、MQTTプロトコルを用いて生成する。送信部23は、生成された応答メッセージを、MQTTプロトコルでの通信用のセッションを介して送信する(ステップS68)。
ステップS61において、アップロードが正常終了していないと判定した場合、接続制御部32は、リトライ回数nが定数Nを超えたかを判定する(ステップS61でNo、ステップS63)。リトライ回数nが定数Nを超えていない場合、接続制御部32はHTTPセッションを終了する(ステップS63でNo、ステップS64)。接続制御部32は、一定時間待機し、リトライ回数nを1つインクリメントしてからステップS59に戻って、HTTPセッションを再度確立する(ステップS65、S66)。
一方、リトライ回数nが定数Nを超えている場合、接続制御部32はHTTPセッションを終了する(ステップS63でYes、ステップS67)。すると、アプリケーション処理部33は、処理結果を通知するための応答メッセージを、MQTTプロトコルを用いて生成する。このときの応答メッセージには、アップロードの失敗を通知する情報が含められる。送信部23は、生成された応答メッセージを、MQTTプロトコルでの通信用のセッションを介して送信する(ステップS68)。
ステップS55において、HTTP通信はダウンロードであると判定された場合、ダウンロード処理が行われる(ステップS69)。ダウンロード処理については、図13、図14を参照しながら詳しく説明する。
図12は、応答メッセージを受信した際のサーバの処理の例を説明するフローチャートである。図12は、アプリケーションサーバ5から端末15へはpush用サーバを介してアクセスするシステムの場合の処理の例であるが、システム中にpush用サーバが含まれていなくてもよい。システム中にpush用サーバが含まれない場合、図8などを参照しながら説明したように、アプリケーションサーバ5は、端末15に直接、通知情報を通知する。
アプリケーションサーバ5の通信部61は、MQTTサーバ10から応答メッセージを受信する(ステップS81)。制御部62は、応答メッセージ中の命令IDと処理の結果を取得する(ステップS82)。制御部62は、管理情報テーブル67を参照することにより、応答メッセージにより通知された処理結果をアプリケーションサーバ5に要求したユーザのユーザIDと、端末IDを取得する(ステップS83)。制御部62は、処理結果を通知する通知情報を生成する。通信部61は、push用サーバに端末宛ての通知情報を端末IDに対応付けて出力する(ステップS84)。
(2)通信装置20がデータをダウンロードする場合の処理の例
以下、アプリケーションサーバ5から通信装置20に対して、アプリケーションサーバ5が格納しているデータのダウンロードを要求する場合を例として、データがダウンロードされる場合の処理の例を説明する。以下、ユーザからの指示によらず、アプリケーションサーバ5が通信装置20にデータのダウンロードを要求する場合を例として説明するが、ユーザからの要求によりダウンロードが行われてもよい。なお、通信装置20へのデータのダウンロードの要求は、通信装置20で使用されるファームウェアのアップデートが発生した場合などに行われる。
図13は、データがサーバからダウンロードされる場合の処理の例を説明するシーケンス図である。アプリケーションサーバ5の制御部62は、ダウンロード命令の送信先となる通信装置20を特定する(ステップS91)。例えば、制御部62は通信装置ID=st2が割り当てられた通信装置20にダウンロードを要求することを決めたとする。すると、制御部62は、送信する命令の命令IDを生成するとともに、管理情報テーブル67を更新する(ステップS92)。制御部62は、命令ID=1002−002という命令IDを生成したとする。また、ダウンロードの対象となるファイルは20151023bというファイル名でURL2というURLで指定される領域に格納されているとする。制御部62は、命令IDやダウンロードを要求するファイル名などの情報を管理情報テーブル67に格納する。
次に、制御部62は、通信装置ID=st2が割り当てられた通信装置20に通知する制御メッセージを、MQTTプロトコルを用いて生成する。例えば、制御部62は、以下の情報を含む制御メッセージを生成したとする。
命令の要求先:st2
命令ID :1002−002
格納先URL:URL2
ファイル名 :20151023b
命令種別 :更新要求(ダウンロード命令)
通信部61は、MQTTサーバ10に、通信装置20宛ての制御メッセージを送信する(ステップS93)。MQTTサーバ10は、制御メッセージを受信すると、通信装置20に制御メッセージを転送する(ステップS94)。
通信装置20の受信部22は、制御メッセージをMQTTサーバ10から受信すると、制御メッセージを判定部31に出力する。判定部31は、入力された制御メッセージを解析することにより、ファームウェアの更新が要求されていると判定し、ダウンロードに使用するプロトコルをHTTPに決定する(ステップS95)。
判定部31は、判定結果を接続制御部32とアプリケーション処理部33に通知するとともに、制御メッセージ中の情報を通知する。接続制御部32は、データのダウンロード先のURLなどの情報を用いて、アプリケーションサーバ5との間でHTTPセッションを確立するための処理を行う(ステップS96)。なお、HTTPセッションの確立のための処理は、通常のHTTPプロトコルによる通信の開始の際の処理と同様である。
通信装置20とアプリケーションサーバ5の間にHTTPセッションが確立されると、アプリケーション処理部33は、制御メッセージで指定されたファイル名のファイルを、HTTPセッションを介して、ダウンロードするための処理を行う(ステップS97)。アプリケーション処理部33は、ダウンロードが終了すると、ダウンロードの終了を接続制御部32に通知する。すると、接続制御部32は、通信装置20とアプリケーションサーバ5の間のHTTPセッションを終了する(ステップS98)。
一方、アプリケーション処理部33は、処理結果を通知するための応答メッセージを生成する。ここで、アプリケーション処理部33は、MQTTプロトコルを用いて、アプリケーションサーバ5宛ての応答メッセージを生成する。図13の例では、応答メッセージにより、ダウンロードの成功が通知されるものとする。送信部23は、生成された応答メッセージを、MQTTプロトコルでの通信に使用するセッションを介して、MQTTサーバ10に送信する(ステップS99)。MQTTサーバ10は、応答メッセージを受信すると、MQTTプロトコルに従って、アプリケーションサーバ5に応答メッセージを転送する(ステップS100)。
図14は、通信装置でのダウンロード処理の例を説明するフローチャートである。図14は、図11のステップS69で行われる処理を詳しく記載したフローチャートである。図14においても、変数nはHTTP通信のリトライ回数であり、定数Nはリトライ回数の上限値である。
まず、通信装置20の判定部31において、HTTPプロトコルを用いたデータのダウンロードを要求する制御メッセージを受信したと判定されたとする(ステップS111)。接続制御部32は、HTTPセッションを生成する(ステップS112)。アプリケーション処理部33は、受信部22を用い、生成されたHTTPセッションを介して、制御メッセージで指定されたデータのダウンロードを行う(ステップS113)。アプリケーション処理部33は、ダウンロードが正常終了したかを判定する(ステップS114)。ダウンロードが正常終了した場合、接続制御部32は、HTTPセッションを終了する(ステップS114でYes、ステップS115)。その後、アプリケーション処理部33は、処理結果を通知するための応答メッセージを、MQTTプロトコルを用いて生成する。送信部23は、生成された応答メッセージを、MQTTプロトコルでの通信用のセッションを介して送信する(ステップS121)。
ステップS114において、ダウンロードが正常終了していないと判定された場合に行われるステップS116〜S120の処理は、図11のステップS63〜S67の処理と同様である。ステップS120の処理後、MQTTプロトコルを用いて、処理結果を通知するための応答メッセージがアプリケーションサーバ5に送信される(ステップS121)。
以上で説明したように、アプリケーションサーバ5の要求に応じた処理により通信装置20がデータを送受信する場合、処理の要求や処理結果などの制御情報は第1のプロトコル(MQTT)で送受信される。一方、データは、データ通信に適した第2のプロトコル(HTTP)で送受信されるが、第2のプロトコルを用いた通信用のセッションは常時接続されておらず、データの送受信に使用される間だけ形成される。このため、無駄な通信路の確保が防止され、システムが効率化される。なお、アプリケーションサーバ5と通信装置20の間で第1のプロトコルを用いた通信セッションの常時接続が行われていたとしても、第1のプロトコルは、ヘッダ長が短い上、制御情報などの少量のデータの送受信に使用される。このため、第1のプロトコルを用いた通信セッションの維持のために通信経路が維持されても、第2のプロトコルを用いたセッションが常時接続されている場合に比べて、通信システムが効率化される。
また、第1のプロトコルでは、ヘッダ長が短く、データ長の短いパケットが送受信されることから、第1のプロトコルでの通信セッションの維持がアプリケーションサーバ5等に及ぼす負荷は、第2のプロトコルの通信セッションの維持による負荷よりも小さい。このため、実施形態にかかるシステムでは、1つのアプリケーションサーバ5に多数の通信装置20が接続される場合であっても、アプリケーションサーバ5にかかる負荷が小さいといえる。さらに、通信装置20側からの処理結果の通知が第1のプロトコルで行われるので、アプリケーションサーバ5は、データのアップロードやダウンロードに対する処理の進行状況や完了時期のタイミングを特定するための処理を行わなくても良い。従って、実施形態にかかるシステムでは、アプリケーションサーバ5に対する負荷が軽減される。
さらに、第1のプロトコルがパブリッシュ/サブスクライブ型のプロトコルである場合、アプリケーションサーバ5と通信装置20の間の通信の確立に失敗しても、通信装置20宛のメッセージがMQTTサーバ10で確保され、通信エラーが発生しない。このため、一時的に通信装置20がネットワークに接続していないなどの理由から通信エラーが頻発することも防ぐことができる。
一方、第1のプロトコルを用いて、アプリケーションサーバ5と通信装置20の間にMQTTサーバ10を介した通信路が形成されている場合には、通信装置20宛の制御メッセージは通信装置20に到達するので、リアルタイムでの撮像処理などが可能である。換言すると、実施形態にかかるシステムでは、データの送受信に使用する第2のプロトコルでのセッションを生成する時間を限定してシステムを効率化しつつ、リアルタイムにデータを取得することができる。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
アプリケーションサーバ5中に格納されたファイルなどのダウンロードの要求が、端末15からの要求に起因して行われる場合も、制御メッセージの送信時のアプリケーションサーバ5の処理は図9を参照しながら説明した処理と同様である。また、アプリケーションサーバ5に応答メッセージが通知された場合にアプリケーションサーバ5が行う処理も図12を参照しながら説明した処理と同様である。
例えば、以上の例では、MQTTサーバ10が転送先を特定する際に、制御メッセージ中の通信装置IDやアプリケーションサーバ5を示す情報を用いると説明したが、MQTTサーバ10からの転送には他の方法が用いられても良い。すなわち、制御メッセージの最終宛先をMQTTサーバ10で特定できる任意の情報が制御メッセージに含められても良く、MQTTサーバ10は適宜、制御メッセージ中の情報を用いて転送先を決定する。
以上の説明で図示したテーブルは一例であり、実装に応じて変更され得る。例えば、各テーブルに含まれている情報要素は、実装に応じて変更され得る。
さらに、以上の説明では、画像データが通信装置20からアプリケーションサーバ5にアップロードされる場合を例として説明したが、アップロードされるデータは、画像データに限られず、動画、音声などを含む任意のデータである。また同様に、通信装置20にダウンロードされるデータも、ファームウェアの更新情報に限られず、任意のデータがダウンロードの対象となり得る。
3 インターネット
5 アプリケーションサーバ
7 3G−LTE網
10 MQTTサーバ
15 端末
20 通信装置
21、61 通信部
22 受信部
23 送信部
30、62 制御部
31 判定部
32 接続制御部
33 アプリケーション処理部
40、65 記憶部
50 カメラ
66 登録情報テーブル
67 管理情報テーブル
101 プロセッサ
102 メモリ
103 入力装置
104 出力装置
105 バス
106 記憶装置
107 撮像装置
109 ネットワークインタフェース

Claims (9)

  1. 第1のプロトコルを用いた第1のセッションの接続先から制御メッセージを受信する受信部と、
    前記制御メッセージで指定された処理を行うと共に、前記処理に伴う通信処理を前記第1のプロトコルよりもヘッダ長の長い第2のプロトコルを用いて行う場合、前記第2のプロトコルを用いた通信の通信先との間で第2のセッションを確立する制御部と、
    前記第1および第2のセッションを用いて通信する通信部
    を備え、
    前記制御部は、前記第2のプロトコルを用いた通信が終了すると、前記第2のセッションを終了し、
    前記通信部は、前記第1のセッションを介して、前記制御メッセージで指定された処理の結果を、前記通信先に通知する
    ことを特徴とする通信装置。
  2. 前記制御部は、前記制御メッセージにより前記通信先へのデータのアップロードが要求されている場合、
    前記データのアップロードに前記第2のプロトコルを使用することを決定し、
    前記制御メッセージから前記データのアップロード先の情報を取得し、
    前記通信部は、
    前記第2のセッションを介して、前記アップロード先に前記データを送信し、
    前記第1のセッションを介して、前記データのアップロードが成功したかを前記通信先に通知する情報を、前記接続先に送信する
    ことを特徴とする請求項1に記載の通信装置。
  3. 監視対象を撮像する撮像装置をさらに備え、
    前記制御部は、前記制御メッセージにより前記監視対象を撮像した撮像データのアップロードが要求されると、前記撮像データを前記撮像装置から取得すると共に、前記撮像データを前記通信先に送信する際に前記第2のプロトコルを使用することを決定し、
    前記通信部は、
    前記第2のセッションを介して、前記アップロード先に前記撮像データを送信し、
    前記撮像データのアップロードが成功したかを前記通信先に通知する情報を、前記接続先に送信する
    ことを特徴とする請求項2に記載の通信装置。
  4. 前記制御部は、前記制御メッセージにより前記通信先からのデータのダウンロードが要求されている場合、前記ダウンロードに前記第2のプロトコルを使用することを決定し、
    前記通信部は、
    前記通信先から、前記第2のセッションを介して、前記ダウンロードの対象のデータを受信し、
    前記第1のセッションを介して、前記ダウンロードが成功したかを前記通信先に通知する情報を、前記接続先に送信する
    ことを特徴とする請求項1〜3のいずれか1項に記載の通信装置。
  5. 第1のプロトコルを用いた第1のセッションの接続先から制御メッセージを受信する通信装置と、
    前記通信装置に前記制御メッセージを送信するサーバ装置
    を備え、
    前記通信装置は、
    前記制御メッセージで指定された処理を行うと共に、前記処理に伴って前記サーバ装置との間で前記第1のプロトコルよりもヘッダ長の長い第2のプロトコルを用いた通信を行う場合、前記サーバ装置との間で第2のセッションを確立し、
    前記第2のプロトコルを用いた通信が終了すると、前記第2のセッションを終了し、
    前記第1のセッションを介して、前記制御メッセージで指定された処理の結果を、前記サーバ装置に通知する
    ことを特徴とする通信システム。
  6. 前記サーバ装置にアクセスする端末をさらに備え、
    前記サーバ装置は、
    前記通信装置からのデータの取得を前記端末から要求されると、前記データの前記サーバ装置へのアップロードを要求する制御メッセージを生成し、
    前記制御メッセージを前記第1のプロトコルを用いて前記通信装置に向けて送信し、
    前記通信装置は、
    前記データのアップロードに前記第2のプロトコルを使用することを決定すると共に、前記第2のセッションを介して、前記サーバ装置に前記データを送信し、
    前記第1のセッションを介して、前記データのアップロードが成功したかを前記サーバ装置に通知する通知情報を、前記接続先に送信し、
    前記サーバ装置は、前記接続先を介して前記通知情報を取得すると、前記端末に前記データの取得結果を通知する
    ことを特徴とする請求項5に記載の通信システム。
  7. 前記サーバ装置は、前記通信装置に前記サーバ装置からのデータのダウンロードを要求する他の制御メッセージを生成すると共に、前記他の制御メッセージを前記第1のプロトコルを用いて前記通信装置に向けて送信し、
    前記通信装置は、
    前記第2のセッションを介して、前記ダウンロードの対象のデータを受信し、
    前記第1のセッションを介して、前記ダウンロードが成功したかを前記サーバ装置に通知する情報を、前記接続先に送信し、
    前記サーバ装置は、前記接続先を介して前記ダウンロードが成功したかを通知する情報を取得する
    ことを特徴とする請求項5または6に記載の通信システム。
  8. 第1のプロトコルを用いた第1のセッションの接続先から制御メッセージを受信し、
    前記制御メッセージで指定された処理を行い、
    前記処理に伴う通信処理を前記第1のプロトコルよりもヘッダ長の長い第2のプロトコルを用いて行う場合、前記第2のプロトコルを用いた通信の通信先との間で第2のセッションを確立し、
    前記第2のセッションを介して前記第2のプロトコルを用いた通信を行い、
    前記第2のプロトコルを用いた通信が終了すると、前記第2のセッションを終了し、
    前記第1のセッションを介して、前記制御メッセージで指定された処理の結果を、前記通信先に通知する
    処理を通信装置が行うことを特徴とする通信方法。
  9. 第1のプロトコルを用いた第1のセッションの接続先から制御メッセージを受信し、
    前記制御メッセージで指定された処理を行い、
    前記処理に伴う通信処理を前記第1のプロトコルよりもヘッダ長の長い第2のプロトコルを用いて行う場合、前記第2のプロトコルを用いた通信の通信先との間で第2のセッションを確立し、
    前記第2のセッションを介して前記第2のプロトコルを用いた通信を行い、
    前記第2のプロトコルを用いた通信が終了すると、前記第2のセッションを終了し、
    前記第1のセッションを介して、前記制御メッセージで指定された処理の結果を、前記通信先に通知する
    処理を通信装置に行わせることを特徴とする通信プログラム。
JP2017552639A 2015-11-27 2015-11-27 通信装置、通信システム、通信方法、および、通信プログラム Expired - Fee Related JP6562085B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/083406 WO2017090185A1 (ja) 2015-11-27 2015-11-27 通信装置、通信システム、通信方法、および、通信プログラム

Publications (2)

Publication Number Publication Date
JPWO2017090185A1 JPWO2017090185A1 (ja) 2018-09-13
JP6562085B2 true JP6562085B2 (ja) 2019-08-21

Family

ID=58764222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017552639A Expired - Fee Related JP6562085B2 (ja) 2015-11-27 2015-11-27 通信装置、通信システム、通信方法、および、通信プログラム

Country Status (4)

Country Link
US (1) US20180278692A1 (ja)
EP (1) EP3382563B1 (ja)
JP (1) JP6562085B2 (ja)
WO (1) WO2017090185A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017119379A1 (de) * 2017-08-24 2019-02-28 Fujitsu Technology Solutions Intellectual Property Gmbh Systemboard für ein Computersystem, Computersystem mit einem solchen Systemboard sowie Verfahren zur Out-of-Band-Überwachung eines Computersystems
TWI699104B (zh) * 2017-08-30 2020-07-11 威摩科技股份有限公司 連網裝置及其控制系統與方法
CN110493116B (zh) * 2018-05-14 2022-05-13 广州小鹏汽车科技有限公司 一种车联网数据传输方法及装置
JP7190837B2 (ja) * 2018-07-31 2022-12-16 キヤノン株式会社 中継装置、制御方法、及び、プログラム
CN110989514B (zh) * 2019-11-21 2021-01-01 深圳市华星光电半导体显示技术有限公司 生产控制系统
CN111786953B (zh) * 2020-06-01 2022-11-01 杭州迪普科技股份有限公司 一种安全防护方法、装置和安全管理设备
CN111901333B (zh) * 2020-07-27 2022-08-02 广州卓远虚拟现实科技有限公司 一种基于mqtt协议的vr人机交互方法及可读存储介质
CN114125010B (zh) * 2021-11-03 2024-02-20 中科智城(广州)信息科技有限公司 一种基于mqtt协议的集中控制器控制方法、系统及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021319A (ja) * 2002-06-12 2004-01-22 Canon Inc データ提供装置、データ生成装置、データ提供方法、プログラム、及び記録媒体
GB0524742D0 (en) * 2005-12-03 2006-01-11 Ibm Methods and apparatus for remote monitoring
US8782150B2 (en) * 2010-11-09 2014-07-15 Sony Corporation Method and apparatus for enabling device communication and control using XMPP

Also Published As

Publication number Publication date
EP3382563A1 (en) 2018-10-03
EP3382563B1 (en) 2019-10-09
EP3382563A4 (en) 2018-10-03
JPWO2017090185A1 (ja) 2018-09-13
WO2017090185A1 (ja) 2017-06-01
US20180278692A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
JP6562085B2 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
US9986276B2 (en) Authentication system and method of operating the same
US10298882B1 (en) Device, system and method for embedded video chat
JP5847440B2 (ja) 情報処理装置およびその制御方法、並びに制御プログラム
CN108737476B (zh) 云存储系统、媒体数据存储方法及系统
JP6056795B2 (ja) 画像処理システム、ゲートウェイ装置、ゲートウェイ装置の制御方法、ゲートウェイ装置の制御プログラム
KR101473660B1 (ko) 웹 기반 실시간 데이터 푸싱 방법 및 그 시스템
US9215292B2 (en) Information processing apparatus, data distribution system, method of controlling information processing apparatus, and storage medium
WO2014179950A1 (zh) 一种文件上传方法、客户端和服务端
JP2016212596A (ja) 端末と周辺機器との間でピアツーピア通信を確立する方法及びシステム
JP6429559B2 (ja) 通信装置、通信システム、情報処理方法及びプログラム
US20120050805A1 (en) Server apparatus, network system, job processing method, and storage medium
US20070130312A1 (en) Web service provision apparatus and method and web service request apparatus and method
CN113285920B (zh) 业务访问方法、装置、设备及存储介质
JP2020087178A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP6672428B2 (ja) 通信装置、通信システム、通信方法及びプログラム
US20140079067A1 (en) Information centric network (icn) node based on switch and network process using the node
US9106608B2 (en) Communication device, communication method, and non-transitory computer-readable recording medium
KR101744533B1 (ko) N 스크린 기반 재해 및 리스크 정보 확산 시스템
CN110769065A (zh) 一种远程管理方法、系统、终端设备及服务器
JP6942609B2 (ja) 通信装置、通信方法、及びプログラム
JP2013005274A (ja) 制御装置、制御方法、及びプログラム
US11196831B2 (en) Communication apparatus, communication method, and storage medium
JP6044882B2 (ja) 情報処理システム、管理端末装置、情報処理装置、情報処理方法、及びプログラム
JP6998746B2 (ja) 通信装置、通知装置、中継装置、通信システム、各装置の制御方法、および、プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190708

R150 Certificate of patent or registration of utility model

Ref document number: 6562085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees