JP6806865B2 - 通信装置、通信装置の制御方法およびプログラム - Google Patents

通信装置、通信装置の制御方法およびプログラム Download PDF

Info

Publication number
JP6806865B2
JP6806865B2 JP2019160640A JP2019160640A JP6806865B2 JP 6806865 B2 JP6806865 B2 JP 6806865B2 JP 2019160640 A JP2019160640 A JP 2019160640A JP 2019160640 A JP2019160640 A JP 2019160640A JP 6806865 B2 JP6806865 B2 JP 6806865B2
Authority
JP
Japan
Prior art keywords
communication device
proxy
communication
processing
push
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.)
Active
Application number
JP2019160640A
Other languages
English (en)
Other versions
JP2019213219A (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.)
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 JP2019160640A priority Critical patent/JP6806865B2/ja
Publication of JP2019213219A publication Critical patent/JP2019213219A/ja
Application granted granted Critical
Publication of JP6806865B2 publication Critical patent/JP6806865B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Description

本発明は、通信装置通信装置の制御方法およびプログラムに関する。
近年、ウェブ技術の発展により、HTTP/1.1の高速化が求められている。IETF(Internet Engineering Task Force)では、HTTP/1.1の次期の規格であるHTTP/2が提案されている(非特許文献1)。このHTTPは、パーソナルコンピュータやブラウザ以外の通信装置(組込み機器)においても広く利用されている。
RFC7540
しかしながら、例えば通信装置がプッシュメッセージを受け付けるような場合、外部装置との間でTCPおよびHTTP/2のコネクションを維持する必要がある。例えば、通信装置がカメラなどの組込み機器の場合、コネクションを維持するために電力を消費するため、待ち受け時間が短くなることがある。
本発明は、上記の課題に鑑みてなされたものであり、通信装置の電力消費量を低減する技術を提供することを目的とする。
上記の目的を達成するために、本発明の一態様による通信装置は以下の構成を備える。
即ち、
通信装置であって、
所定の信号の送信または受信の少なくとも一方の代理処理を他の通信装置に依頼する信号を送信する送信手段と、
前記送信手段により送信された前記信号に対する応答を前記他の通信装置から受信する受信手段と、
前記他の通信装置が前記代理処理を実行可能である場合に前記他の通信装置から送信される前記応答を受信した場合、前記通信装置が通信を実行可能な期間に関する情報を前記他の通信装置と通信する通信手段と、
前記他の通信装置が前記代理処理を実行できない場合に前記他の通信装置から送信される前記応答を受信した場合、エラーを通知する通知手段と、
を有し、
前記送信手段は、前記他の通信装置が前記代理処理を実行可能である場合に、前記他の通信装置が通信を実行可能な期間であって、所定のタイミングで繰り返し到来する所定の期間において、前記他の通信装置に前記代理処理として通信してもらう前記所定の信号に含まれる情報を、前記他の通信装置に送信することを特徴とする。
本発明によれば、通信装置の電力消費量を低減することができる。
本発明の一実施形態に係る通信システムの構成例を示す図である。 本発明の一実施形態に係る通信装置の機能ブロック図である。 本発明の一実施形態に係るプロキシ装置の機能ブロック図である。 本発明の一実施形態に係る通信装置がプッシュメッセージのプロキシの依頼を送信する場合の処理手順を示すフローチャートである。 本発明の一実施形態に係るプロキシ装置がプッシュメッセージのプロキシの依頼を受信する場合の処理手順を示すフローチャートである。 本発明の一実施形態に係る通信システム全体の代理処理開始時のシーケンスを示す図である。 本発明の一実施形態に係る通信装置およびプロキシ装置の処理状態の一例を示す図である。 本発明の一実施形態に係るプロキシ装置が通信装置へ緊急のプッシュ通知を送信する場合の処理状態の一例を示す図である。 本発明の一実施形態に係る外部装置が処理を終了した時の通信システム全体のシーケンスを示す図である。 本発明の一実施形態に係る通信システム全体の代理処理終了時のシーケンスを示す図である。
以下、添付の図面を参照しながら、本発明の実施形態について詳述する。本発明の一実施形態では、通信装置がプロキシ装置に処理の一部を委譲することで電力消費を低減する。
(実施形態)
<通信システムの構成>
図1は、本発明の一実施形態に係る通信システムの構成例を示す図である。101は、プッシュメッセージの送受信を行う通信装置である。本実施形態では、通信装置101は例えばデジタルカメラである。102もまた通信装置であり、通信装置101のプッシュメッセージの送受信の処理の一部を代理するプロキシ装置である。本実施形態では、プロキシ装置102は例えばスマートフォンで実現するが、これに限らず、クラウドサービス、サーバ、モバイルルータ、ブラウザ、車両などで実現できる。103は、通信装置101およびプロキシ装置102とHTTP/2通信を行う外部装置である。外部装置103は、プロキシ装置102を通じて、通信装置101とプッシュメッセージの送受信を行う。
104は、通信装置101およびプロキシ装置102が接続するネットワークである。本実施形態では、ネットワーク104は無線アドホックネットワークを用いて実現するが、これに限らない。インターネット、WAN (Wide Area Network)、LAN (Local Area Network)、Bluetooth(登録商標)、Zigbee(登録商標)、USB、NFC (Near Field Communication)、その他有線方式および無線方式などの複合であっても実現できる。
105は、プロキシ装置102および外部装置103が接続するネットワークである。本実施形態では、ネットワーク104はインターネットを用いて実現するが、これに限らない。インターネット、WAN (Wide Area Network)、LAN (Local Area Network)、Bluetooth(登録商標)、Zigbee(登録商標)、USB、その他有線方式および無線方式などの複合であっても実現できる。
<通信装置101の構成>
図2は、本発明の一実施形態に係る通信装置101の機能ブロック図である。200は、各構成要素を接続するバスである。201は、プッシュメッセージ送受信処理を行う通信処理部である。本実施形態では、UDPを利用する例を説明するが、これに限らない。HTTP/2、WebSocket、MQTT(MQ Telemetry Transport)、CoAP(Constrained Application Protocol)など他のプロトコルを用いてもよい。
202は、アプリケーションの実行結果の表示やエラーの表示等を行う表示部である。不図示の表示制御部による制御下で動作する。203は、プロキシ装置102にプッシュメッセージ送受信の代理処理の依頼を送信する依頼部である。204は、TCP/IPの制御を行うTCP/IP処理部である。プロキシ装置102や外部装置103との通信は、TCP/IP処理部204を通じて処理される。205は、通信装置101とプロキシ装置102との間でプッシュメッセージ送受信を行う間隔を設定する時間設定部である。206は、時間設定部205によって設定された所定の間隔毎に通信処理部201による通信を実行する実行部である。
207は、プロキシ装置102を介して外部装置103へプッシュメッセージを送信するプッシュ通知送信部である。208は、外部装置103からプロキシ装置102を介してプッシュメッセージを受信するプッシュ通知受信部である。209は、現在時間を管理するためのタイマ部である。本実施形態のタイマ部209は、ある時点からの相対時間を管理しているが、これに限らず、絶対時間を管理してもよいし、NTP(Network Time Protocol)、GPSなどを用いて他機器から情報を取得してもよい。210は、通信装置101の機能の少なくとも一部をスリープさせるスリープ部である。本実施形態のスリープ部210は、機能のスリープを行うが、これに限らず、通信装置101に含まれるCPUのクロックを下げたり、動作箇所を限定したりしてもよい。
<プロキシ装置102の構成>
図3は、本発明の一実施形態に係るプロキシ装置102の機能ブロック図である。300は、各構成要素を接続するバスである。301は、プッシュメッセージ送受信処理を行う通信処理部である。本実施形態では、UDPを利用する例を説明するが、これに限らない。HTTP/2、WebSocket、MQTT(MQ Telemetry Transport)、CoAP(Constrained Application Protocol)など他のプロトコルを用いてもよい。
302は、アプリケーションの実行結果の表示やエラーの表示等を行う表示部である。303は、通信装置101からプッシュメッセージ送受信の代理処理の依頼を受信する依頼受信部である。304は、TCP/IPの制御を行うTCP/IP処理部である。通信装置101や外部装置103との通信は、TCP/IP処理部304を通じて処理される。305は、通信装置101とプロキシ装置102との間でプッシュメッセージ送受信を行う間隔を設定する時間設定部である。306は、時間設定部305によって設定された所定の間隔毎に通信処理部301による通信を実行する実行部である。
307は、プッシュメッセージを通信装置101および外部装置103に送信するプッシュ通知送信部である。308は、プッシュメッセージを通信装置101および外部装置103から受信するプッシュ通知受信部である。309は、現在時間を管理するためのタイマ部である。本実施形態のタイマ部309は、ある時点からの相対時間を管理しているが、これに限らず、絶対時間を管理してもよいし、NTP(Network Time Protocol)、GPSなどを用いて他機器から情報を取得してもよい。
310は、通信装置101にスリープ状態を解除するメッセージを送信するスリープ起動部である。本実施形態のスリープ起動部310は、機能のスリープ解除を行うが、これに限らず、通信装置101に含まれるCPUクロックを上げたり、動作箇所の限定を解除するためのメッセージを送信したりしてもよい。
311は、通信装置101とプロキシ装置102との間の通信経路、および、プロキシ装置102と外部装置103との間の通信経路を維持する経路維持部である。経路維持部311は、ネットワーク104およびネットワーク105に存在する中継装置の経路エントリが時間切れで切断される前に通信経路を維持するためのパケットを送信する。キープアライブのメッセージを送信してもよいし、プッシュ通知に含めてパケットを送信してもよいし、通信経路の登録パケットを送信してもよい。なお、本実施形態ではプロキシ装置102から送信する例を説明するが、これに限らず、通信装置101や外部装置103が経路維持を行ってもよい。312は、通信装置101と通信するためのプロトコルと、外部装置103と通信するためのプロトコルとの間でプロトコルの変換を行う変換部である。本実施形態では、通信装置101とプロキシ装置102の間はUDPでプッシュメッセージが通信され、プロキシ装置102と外部装置103の間はHTTP/2でプッシュメッセージが通信される場合の例を中心に説明する。なお、UDPは、通信のためにコネクションの維持が不要なプロトコルであり、HTTP/2は、通信のためにコネクションの維持が必要なプロトコルである。ただし、使用する通信プロトコルは、UDPとHTTP/2に限らない。
<通信装置101の処理>
図4は、本発明の一実施形態に係る通信装置101がプッシュメッセージのプロキシの依頼を送信する場合の処理手順を示すフローチャートである。まず、通信処理部201は、TCP/IP処理部204を介して、ネットワーク104上でSSDPを用いてプロキシ装置102をサーチする(S401)。プロキシ装置102が発見された場合、S402へ進む。一方、プロキシ装置102が発見されなかった場合、S408へ進む。
なお、本実施形態では、プロキシ装置のサーチ処理をSSDPで実現したが、これに限らず、mDNS、WS−Discoveryなど他のサーチプロトコルを用いても実現できる。本実施形態では、プロキシ装置102をサーチしたが、これに限らず、予め設定された値から取得してもよいし、ダイナミックDNSなどを用いて動的に取得してもよいし、デフォルトゲートウェイなどの経路情報から取得してもよい。
通信処理部201は、ユーザ、システム、アプリケーション等を通じて指定されたプッシュ通知の動作モードを設定する(S402)。ここでの動作モードとは、プッシュ通知の送信、受信、その両方を行うかを示すものである。また、プッシュ通知の送信や受信で複数のプロトコルを利用してもよいし、プロトコル内の設定や形式などを設定してもよい。
依頼部203は、S402で設定された動作モードに従った代理処理をプロキシ装置102に対して依頼する(S403)。依頼部203は、プロキシ装置102から代理処理できるか否かを示すメッセージを受信する。依頼部203は、受信したメッセージに基づいて、代理処理の可否を判定する。代理処理が可能であると判定された場合、S405へ進む。一方、代理処理が可能ではないと判定された場合、S408へ進む。
本実施形態において、代理処理ができないと依頼部203が判定する基準は、代理処理できないことを示すメッセージを受信した場合、または、プロキシ装置102から所定時間以内に返答がない場合である。
時間設定部205は、例えば、プロキシ装置102との間でプッシュメッセージの送受信を行うための所定時間の情報をプロキシ装置102から取得する(S405)。なお、所定時間としては、通信装置101に設定された値を用いてもよいし、通信装置101とプロキシ装置102との間でネゴシエーションを行って得られた結果の値を用いてもよい。
タイマ部209は、時刻同期を行うためのタイマ情報を取得する(S406)。同期のために利用する時間は、NTPやGPSから取得した絶対時間でもよいし、プロキシ装置102との間でネゴシエーションを行った時に調整した相対時間であってもよい。時刻同期の詳細については図7を用いて後述するが、本実施形態における時刻同期は、通信装置101の処理時間とプロキシ装置102の処理時間とを合わせるための処理である。ただし、通信装置101の処理時間とプロキシ装置102の処理時間とを必ずしも完全に一致させなくても良い。ネットワークの種類や通信プロトコル等に応じて揺らぎが発生するようにしても良い。
通信処理部201は、所定時間の情報と、タイマ情報取得処理により得られたタイマ情報とに基づいて、プロキシ装置102との間で時刻同期を開始し(S407)、処理を終了する。通信処理部201は、外部装置103に直接接続し、プッシュメッセージの送受信を行う(S408)。これに限らず、他のプロキシ装置を発見し、接続を行ってもよい。また、電池の残り残量が所定値以下であった場合や、所定の設定であった場合、外部装置103に接続せずにS409に進んでもよい。
表示部202は、プロキシ装置102と接続できなかったことを示すエラー情報を表示する(S409)。表示部202は、外部装置103に直接接続した場合や別の形態で接続した場合には、接続形態のエラーを表示してもよい。なお、本実施形態では、表示としたがこれに限らず、LED点滅、画像、音、振動、メッセージなどの方式でユーザやアプリケーションにエラーを通知してもよい。以上で図4の一連の処理が終了する。
<プロキシ装置102の処理>
図5は、本発明の一実施形態に係るプロキシ装置102がプッシュメッセージのプロキシの依頼を受信する場合の処理手順を示すフローチャートである。通信処理部301は、TCP/IP処理部304を介して、ネットワーク104上で通信装置101からのSSDPを用いたサーチを受信したか否かを判定する。サーチを受信したと判定された場合、S502へ進む。一方、サーチを受信していないと判定された場合、S511へ進み、所定時間待機してS501に戻る。
なお、本実施形態では、通信装置101がプロキシ装置102をサーチしているが、これに限らず、プロキシ装置102が通信装置101をサーチしてもよいし、相互にサーチしてもよい。ここでのサーチとは、通信装置101乃至プロキシ装置102が探索メッセージを送信し発見してもよいし、広告メッセージの送信であってもよい。また、サーチの際は、無線LAN、Bluetooth(登録商標)、Zigbee(登録商標)を利用してもよい。
依頼受信部303は、通信装置101から代理処理の依頼のメッセージを受信する(S502)。依頼受信部303は、依頼のメッセージの内容を確認し、動作モードに従った代理処理が可能か否かを判定する(S503)。代理処理が可能であると判定された場合、依頼受信部303は、通信処理部301を通じて、外部装置103とHTTP/2による接続を行い、動作モードに従ってメッセージプッシュの送受信処理を行い、S504へ進む。一方、代理処理が可能ではないと判定された場合、S509へ進む。
なお、本実施形態では、通信装置101が動作モードに従った代理処理の依頼をプロキシ装置102に送信していたが、これに限らない。プロキシ装置102が通信装置101に代理処理可能であることを示す動作モード情報を送ってもよいし、更に通信装置101とプロキシ装置102との間でネゴシエーションを行ってもよい。
通信処理部301は、代理処理ができることを示すメッセージを通信装置101へ送信する(S504)。時間設定部305は、通信装置101との間でプッシュメッセージの送受信を行うための所定時間の情報を取得して通信装置101に送信する(S505)。所定時間は、プロキシ装置102に設定された値でもよいし、ベンダーサイトから取得した値でもよいし、通信装置101とプロキシ装置102との間でネゴシエーションを行った結果の値であってもよい。
タイマ部309は、時刻同期を行うためのタイマ情報の取得を行う(S506)。同期のために利用する時間は、NTPやGPSから取得した絶対時間でもよいし、通信装置101との間でネゴシエーションを行った時に調整した相対時間であってもよい。通信処理部301は、通信装置101との間で時刻同期を開始する(S507)。経路維持部311は、通信装置101および外部装置103との間の通信経路の維持を開始する(S508)。
ネットワーク104およびネットワーク105がルータを含むようなネットワークの場合、ルータが所定時間で経路を切断することが知られている。この問題を解決するために、経路を維持するためのエントリの登録やキープアライブのパケットの送受信を行う。ネットワークおよびルータによって経路維持のためのエントリの登録間隔やキープアライブのパケット送受信の間隔が異なるため、経路維持部311はネットワーク104およびネットワーク105における経路維持のための間隔を取得する。経路維持部311は、例えば片端又は両端のIPアドレスから経路維持のための間隔を決定する。なお、本実施形態ではIPアドレスから決定する例を説明するが、これに限らず、動的に取得してもよい。例えば、所定時間の経路維持の間隔を徐々に増やしていくことで、経路維持ができない時間を測定することができる。
また、本実施形態では、プロキシ装置102が経路維持を行う例を説明するが、これに限らない。通信装置101および外部装置103が経路維持を行ってもよい。あるいは、通信装置101およびプロキシ装置102、乃至、プロキシ装置102および外部装置103が協調して経路維持を行ってもよい。また、通信装置101、プロキシ装置102、外部装置103が、経路維持の処理をルータなどの別の機器に依頼してもよい。
通信処理部301は、代理処理できないことを示すメッセージを通信装置101へ送信する(S509)。表示部302は、代理処理の依頼を受理できなかったことを示すエラーを表示する(S510)。なお、本実施形態では、表示する例を挙げたがこれに限らず、LED点滅、画像、音、振動、メッセージなどの方式でユーザやアプリケーションにエラーを通知してもよい。
<通信システム全体のシーケンス(開始時)>
図6は、本発明の一実施形態に係る通信システム全体の代理処理開始時のシーケンスを示す図である。通信装置101は、プロキシ装置102をサーチし、発見する(M601)。通信装置101は、プロキシ装置102に代理処理を依頼する(M602)。プロキシ装置102は代理処理の依頼を受信すると、HTTP/2で外部装置103に接続し、プッシュメッセージの送受信のためのPUSH_PROMISEを完了する(M603)。プロキシ装置102がプッシュメッセージを送信する場合、プロキシ装置102がPUSH_PROMISEを外部装置103に送信する。一方、プロキシ装置102がプッシュメッセージを受信する場合、プロキシ装置102はPUSH_PROMISEを外部装置103から受信する。
プロキシ装置102は、通信装置101に対して代理処理できること示すメッセージを送信する(M604)。通信装置101は、S405〜S407に相当する処理を実行する(M605〜M607)。プロキシ装置102は、S504〜S508に相当する処理を実行する(M608〜M611)。プロキシ装置102は、外部装置103からHTTP/2によるプッシュメッセージを受信する(M612)。プロキシ装置102は、所定時間が経過すると、UDPを用いてプッシュメッセージを通信装置101へ送信する(M613)。そして、通信装置101は、所定時間が経過すると、プロキシ装置102からのプッシュメッセージの受信を開始する(M613)。
通信装置101は、所定時間が経過すると、UDPを用いてプロキシ装置102にプッシュメッセージを送信する(M614)。そして、プロキシ装置102は、所定時間が経過すると、通信装置101からのプッシュメッセージの受信を開始する(M614)。そして、プロキシ装置102は、通信装置101から受信したプッシュメッセージのデータを変換し、HTTP/2で外部装置103へ送信する(M615)。
本実施形態では、通信装置101とプロキシ装置102との間はUDPを用いたバイナリ通信を行う。プロキシ装置102と外部装置103との間はHTTP/2を用いたJSON形式での通信を行う。このように、プロキシ装置102は、変換部312により、プロトコルの形式の変換、データフォーマットの変換、ネットワークの変換を行う。本実施形態では、バイナリやJSONを用いたがこれに限らず、XML、テキストなど他の形式であってもよい。
通信装置101およびプロキシ装置102が、M613およびM614でUDPを用いたプッシュメッセージを送信または受信する場合、さらに、プッシュメッセージが届いたことを示すACKメッセージを返信してもよい。ACKメッセージがなかった場合、通信装置101またはプロキシ装置102はUDPパケットがネットワークでロストしたと判定して再送する。後述する通信可能状態時の同じ期間内に再送してもよいし、次回以降の通信可能状態の期間に再送してもよい。
<通信装置およびプロキシ装置の処理状態(通常時)>
図7は、本発明の一実施形態に係る通信装置101およびプロキシ装置102の処理状態の一例を示す図である。横軸が時間、縦軸が処理状態である。
通信装置101の処理状態が701の時は処理可能な状態であり、701はプッシュメッセージ処理可能期間(スリープしていない期間)である。また、通信装置101の処理状態が702の時は処理可能ではない状態であり、702はプッシュメッセージ処理不可能期間(スリープしている期間)である。通信装置101側の706は所定時間であり、プロキシ装置102側の所定時間である707と同期している。ここでの所定時間や同期は、固定値だけでなく揺らぎや幅を持たせてもよい。
一方、プロキシ装置102の処理状態が703の時は処理可能な状態であり、703はプッシュメッセージ処理可能期間である。また、プロキシ装置102の処理状態が704の時は処理可能ではない状態であり、704はプッシュメッセージ処理不可能期間である。プロキシ装置102側の707は所定時間であり、通信装置101側の所定時間である706と同期している。ここで、プロキシ装置102は、例えば外部装置103からプッシュメッセージを受信すると、プッシュイベント708を発生させる。プロキシ装置102は、プッシュメッセージ処理可能期間にプッシュイベント708が発生したため、プッシュメッセージ705を通信装置101へ送信する。
別の例として、プロキシ装置102は、別のタイミングに外部装置103からプッシュメッセージを受信すると、プッシュイベント709を発生させる。一方、通信装置101は、例えば不審な人物がカメラに写り込んだことに応じて、プッシュイベント710を発生させる。プッシュメッセージ処理不可能期間にプッシュイベントが発生したため、プッシュメッセージ処理可能期間に移行するまで待機する。
プッシュメッセージ処理可能期間になると、通信装置101はプッシュイベント710に対応するプッシュメッセージをプロキシ装置102へ送信する。一方、プロキシ装置102はプッシュイベント709に対応するプッシュメッセージを通信装置101へ送信する(711)。プロキシ装置102は、プッシュイベント710に対応するプッシュメッセージを通信装置101から受信すると、外部装置103に合致した形式に変換を行った後、HTTP/2を用いてプッシュ通知を外部装置103へ送信する。
ここで、プロキシ装置102における通信装置101に接続するためのハードウェアと外部装置103に接続するためのハードウェアとが異なる場合、通信装置101と接続するためのハードウェアサブモジュールを低クロックまたはスリープ状態にしてもよい。これによりプロキシ装置102の消費電力量を低減できる。
さらに、プロキシ装置102と外部装置103との間でプッシュメッセージ送受信の時刻同期を行っている場合、プロキシ装置102と通信装置101との時刻同期と関連付けた周期で同期を行ってもよい。例えば、同じ周期や2回に1回の周期などである。これにより、プロキシ装置102と通信装置101との処理状態を同じにできるため、処理可能状態(プッシュメッセージ処理可能期間703に対応)と処理状可能でない状態(プッシュメッセージ処理不可能期間704に対応)と間の移行にかかる処理負荷を低減できる。
また、通信装置101、プロキシ装置102、外部装置103が無線LANを利用している場合、無線LANの周期とあわせることで更に処理負荷を低減できる。本実施形態では無線LANで説明したが、これに限らず、Bluetooth、Zigbee、NFCなど他の無線方式であっても同様である。
また、通信装置101がプロキシ装置102からプッシュメッセージを受信した場合、通信装置101の通信処理部201がプッシュメッセージの内容を解析し、表示部202が処理するアプリケーションに伝達することなく返信を行ってもよい。例えば、PINGのメッセージを受信した場合、アプリケーションの介在なく通信処理部201で処理してもよい。さらに、通信処理部201と表示部202とが別のCPUで動作する構成であった場合、表示部202の処理が不必要に実行されることがなくなり、処理負荷を軽減し、消費電力を低減できる。
同様に、プロキシ装置102が通信装置101からプッシュメッセージを受信した場合、プロキシ装置102の通信処理部301がプッシュメッセージの内容を解析し、表示部302が処理するアプリケーションに伝達することなく返信を行ってもよい。例えば、PINGのメッセージを受信した場合、アプリケーションの介在なく通信処理部301で処理してもよい。さらに、通信処理部301と表示部302とが別のCPUで動作する構成であった場合、表示部302の処理が不必要に実行されることがなくなり、処理負荷を軽減し、消費電力を低減できる。
また、プロキシ装置102に対して、多くの他の装置がプッシュメッセージの代理処理を依頼する可能性がある。この場合、他の装置毎にプッシュメッセージを送る周期が異なると結果的にプロキシ装置102の省電力化が図れない場合がある。そこで、新たな他の装置からプロキシ装置102に対してプッシュメッセージの代理処理が依頼された場合には、プロキシ装置102は、既に時刻同期を行っている周期と同一の周期を、当該新たな他の装置に対して割り当てて処理状態の期間を一致させてもよい。これにより、処理負荷の軽減を図ることができる。
また、通信装置101は、プッシュイベント710が発生したプッシュメッセージ処理不可能期間内に、別のプッシュイベントがさらに発生したような場合、プッシュメッセージ処理可能期間内に移行した後の711でまとめてプロキシ装置102へ送信するように構成してもよい。それぞれのプッシュイベントは、通信装置101内での解析後にプッシュイベントのボディを連結することで、プッシュイベントのメッセージのサイズを小さくすることができる。
また、通信装置101がプッシュメッセージ処理可能期間内に送信できない量のプッシュイベントがある場合、次のプッシュメッセージ処理可能期間と併せて分割して送信してもよい。この時、通信装置101は優先度の高いプッシュイベントに対応するプッシュメッセージから先に送信してもよい。また、通信装置101はプッシュイベントの量が所定値よりも多いと判定した場合、プロキシ装置102と通信して、プッシュメッセージ処理可能期間を延長してもよい。プロキシ装置102もまた、通信装置101と同様の処理を行ってもよい。
<通信装置およびプロキシ装置の処理状態(緊急時)>
図8は、プロキシ装置102が通信装置101に緊急のプッシュ通知を送信する場合の処理状態の一例を示す図である。以下、主に図7との差分について説明する。プロキシ装置102が、外部装置103から受信したプッシュイベント801が緊急イベントであると判断したとする。緊急イベントとは、例えば、通信装置101の近辺に不審者がいるため、すぐに録画を開始したい場合などのイベントである。外部装置103から受信したプッシュイベントを解析することで、緊急イベントであるか否かを判定してもよい。例えば、緊急イベントであることを示す情報が付加されているか否かに基づいて判定してもよい。プロキシ装置102は、WOL(WakeOnLan)を利用して外部から通信装置101を起動する(802)。
なお、これに限らず、Bluetooth、Zigbee、NFCであっても特殊なデータを送信することでスリープから解除する処理を行うことでも実現できる。その場合、受信装置である通信装置101の通信処理部201に、特殊なデータだけを受信するフィルタを設けることで、ホストCPU起動の介入頻度を低減させて、さらなる省電力化を図ってもよい。その後、プロキシ装置102は、プッシュイベント801に対応するプッシュメッセージを通信装置101へ送信する(803)。
なお、これに限らず、通信装置101が緊急のプッシュイベントを検知して、プロキシ装置102に緊急のプッシュイベントを送信してもよい。その時、既にプロキシ装置102が処理可能な状態(プッシュメッセージ処理可能期間)である場合にはWOLの処理を省略してもよい。通信装置101は、プッシュメッセージ処理不可能期間に生じたプッシュイベントが存在する場合、それらのプッシュイベントに対応するプッシュメッセージを803でまとめて送信してもよい。この時、通信装置101は優先度の高いプッシュイベントに対応するプッシュメッセージから先に送信してもよい。プロキシ装置102も通信装置101と同様の処理を行ってもよい。
<外部装置が処理を終了した時の通信システム全体のシーケンス>
図9は、本発明の一実施形態に係る外部装置103が処理を終了した時の通信システム全体のシーケンスを示す図である。外部装置103が処理を終了するか、または、ネットワークから離脱したとする(M901)。すると、プロキシ装置102は、外部装置103が処理を終了したこと、または、ネットワークから離脱したことを検知する(M902)。
プロキシ装置102は、外部装置103が処理を終了したこと、または、ネットワークから離脱したことを示すメッセージを通信装置101へ送信する(M903)。通信装置101は、プロキシ装置102から外部装置103が終了したこと、または、ネットワークから離脱したことを示すメッセージを受信した後、外部装置103との接続をリトライするか切断するかの指示をプロキシ装置102へ送信する(M904)。
切断する指示であった場合、通信装置101およびプロキシ装置102は、時間同期の処理を終了する(M905、M906)。通信装置101およびプロキシ装置102は、時刻同期時にキープアライブのメッセージ(ネットワーク上で、接続が有効であることを確認するために定期的に行われる通信。)を送信または受信してもよい。これにより、通信装置101およびプロキシ装置102がネットワークから離脱または処理を終了した場合、時刻同期処理を実行し続けることを防止できることから、処理負荷を低減できる。キープアライブのメッセージは時刻同期毎に送信してもよいし、何回かに一度の頻度で送信してもよい。
<通信システム全体のシーケンス(終了時)>
図10は、本発明の一実施形態に係る通信システム全体の代理処理終了時のシーケンスを示す図である。通信装置101は、代理処理の終了をプロキシ装置102へ依頼する(M1001)。プロキシ装置102は、外部装置103との接続に使用しているHTTP/2通信を終了し、プッシュメッセージの送受信を終了する(M1002)。プロキシ装置102は、外部装置103との接続が終了したことを示すメッセージを通信装置101へ送信する(M1003)。
その後、通信装置101は、プロキシ装置102との時刻同期を終了する(M1004)。同様に、プロキシ装置102は、通信装置101との時刻同期を終了する(M1005)。通信装置101は、プロキシ装置102による代理処理が終了し、外部装置103とのプッシュメッセージ送受信処理が終了したことを表示する(M1006)。同様に、プロキシ装置102は、通信装置101に依頼されて実施していた代理処理が終了し、外部装置103とのプッシュメッセージ送受信処理が終了したことを表示する(M1007)。
このようにして、通信装置101は、プロキシ装置102を介したプッシュメッセージの送受信を終了できる。一連の処理の終了後、通信装置101は外部装置103に直接接続してもよい。また、通信装置101とプロキシ装置102の間の通信リンクが切断された場合も、通信装置101が外部装置103に直接接続するよう通信処理部201を制御することで、プッシュメッセージの送受信を継続して実行可能にしてもよい。
また、M1001の処理をスキップし、プロキシ装置102が主導で通信装置101にプッシュメッセージの送受信を終了することを通知してもよい。なお、本実施形態では、通信装置101とプロキシ装置102との間で時間同期を行っていたが、所定の条件を満足する場合は、常に処理可能状態にしてもよく、または、処理可能状態の時間を延長してもよい。所定の条件を満足する場合として、例えば、通信装置101とプロキシ装置102とのどちらかをユーザが操作している時に、常に処理可能状態にしてもよく、または、処理可能状態の時間を延長してもよい。プッシュメッセージをより早い時間で送受信できればユーザビリティが向上するからである。また、所定の条件を満足する場合とは、通信装置101とプロキシ装置102との各電池残量が多い時や給電されている時であってもよい。あるいは、例えば通信装置101が不審人物を発見した時や、プロキシ装置102や他の通信装置から不審人物を監視するイベントを受信した時であってもよい。
また、本実施形態では、簡単化のために外部装置103が1つである例を説明したが、これに限らず、通信装置101は複数の外部装置と接続するための代理処理の依頼を行ってもよい。通信装置101が複数の外部装置103と接続する場合、プロキシ装置102が外部装置103へのメッセージを複製して、適する1つ以上の外部装置103に送信する。これにより、通信装置101は1つのプッシュメッセージで複数の外部装置へプッシュメッセージを送信できるようになり、通信装置101の処理負荷を低減することができる。
また、プロキシ装置102についても1つの装置を例に説明したが、これに限らず、通信装置101は複数のプロキシ装置と接続してもよい。以上、本発明の一実施形態を示した。
本実施形態によれば、通信装置がコネクションを維持するための処理負荷を低減し、電力消費量を低減することができる。カメラなどの組込み機器の場合、プッシュメッセージの待受け時間が長くなるという効果がある。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:通信装置、102:プロキシ装置、103:外部装置、104,105:ネットワーク、201:通信処理部、202:表示部、203:依頼部、204:IP処理部、205:時間設定部、206:実行部、207:プッシュ通知送信部、208:プッシュ通知受信部、209:タイマ部、210:スリープ部、301:通信処理部、302:表示部、303:依頼受信部、304:IP処理部、305:時間設定部、306:実行部、307:プッシュ通知送信部、308:プッシュ通知受信部、309:タイマ部、310:スリープ起動部、311:経路維持部、312:変換部

Claims (11)

  1. 通信装置であって、
    所定の信号の送信または受信の少なくとも一方の代理処理を他の通信装置に依頼する信号を送信する送信手段と、
    前記送信手段により送信された前記信号に対する応答を前記他の通信装置から受信する受信手段と、
    前記他の通信装置が前記代理処理を実行可能である場合に前記他の通信装置から送信される前記応答を受信した場合、前記通信装置が通信を実行可能な期間に関する情報を前記他の通信装置と通信する通信手段と、
    前記他の通信装置が前記代理処理を実行できない場合に前記他の通信装置から送信される前記応答を受信した場合、エラーを通知する通知手段と
    し、
    前記送信手段は、前記他の通信装置が前記代理処理を実行可能である場合に、前記他の通信装置が通信を実行可能な期間であって、所定のタイミングで繰り返し到来する所定の期間において、前記他の通信装置に前記代理処理として通信してもらう前記所定の信号に含まれる情報を、前記他の通信装置に送信することを特徴とする通信装置。
  2. 前記通知手段は、前記通信装置が備える表示部にエラー情報を表示することを特徴とする請求項1に記載の通信装置。
  3. 前記通信手段は、前記期間を示す情報を前記他の通信装置から受信することを特徴とする請求項1または2に記載の通信装置。
  4. 前記通信装置は、前記期間を決定するためのネゴシエーションを前記他の通信装置と行うことを特徴とする請求項1から3の何れか1項に記載の通信装置。
  5. 前記代理処理のモードとして、前記所定の信号の送信を行う第1のモードと、前記所定の信号の送信および受信の両方を行う第2のモードとを含む複数のモードの内、何れか一つを選択する選択手段を更に有し、
    前記送信手段は、前記選択手段によって選択されたモードによる前記代理処理を依頼する前記信号を送信することを特徴とする請求項1から4の何れか1項に記載の通信装置。
  6. 前記選択手段による選択は、ユーザ、またはシステム、またはアプリケーションによって行われることを特徴とする請求項5に記載の通信装置。
  7. 前記他の通信装置が前記代理処理を実行できない場合に前記他の通信装置から送信される前記応答を受信した場合、前記所定の信号の送信または受信の少なくとも一方を前記通信装置が実行するように制御する制御手段を更に有することを特徴とする請求項1からの何れか1項に記載の通信装置。
  8. 前記所定の信号は、プッシュメッセージであることを特徴とする請求項1から7の何れか1項に記載の通信装置。
  9. 前記送信手段は、前記他の通信装置が前記代理処理を実行可能である場合に、前記所定の期間において、前記他の通信装置に前記代理処理として送信してもらう前記所定の信号に含まれる前記情報を送信することを特徴とする請求項1から8の何れか1項に記載の通信装置。
  10. 通信装置の制御方法であって、
    所定の信号の送信または受信の少なくとも一方の代理処理を他の通信装置に依頼する信号を送信する送信工程と、
    前記送信工程において送信された前記信号に対する応答を前記他の通信装置から受信する受信工程と、
    前記他の通信装置が前記代理処理を実行可能である場合に前記他の通信装置から送信される前記応答を受信した場合、前記通信装置が通信を実行可能な期間に関する情報を前記他の通信装置と通信する通信工程と、
    前記他の通信装置が前記代理処理を実行できない場合に前記他の通信装置から送信される前記応答を受信した場合、エラーを通知する通知工程と、
    を有し、
    前記送信工程では、前記他の通信装置が前記代理処理を実行可能である場合に、前記他の通信装置が通信を実行可能な期間であって、所定のタイミングで繰り返し到来する所定の期間において、前記他の通信装置に前記代理処理として通信してもらう前記所定の信号に含まれる情報を、前記他の通信装置に送信することを特徴とする制御方法。
  11. 請求項1からの何れか1項に記載の通信装置としてコンピュータを動作させるためのプログラム。
JP2019160640A 2019-09-03 2019-09-03 通信装置、通信装置の制御方法およびプログラム Active JP6806865B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019160640A JP6806865B2 (ja) 2019-09-03 2019-09-03 通信装置、通信装置の制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019160640A JP6806865B2 (ja) 2019-09-03 2019-09-03 通信装置、通信装置の制御方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015133926A Division JP6584171B2 (ja) 2015-07-02 2015-07-02 通信装置、通信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019213219A JP2019213219A (ja) 2019-12-12
JP6806865B2 true JP6806865B2 (ja) 2021-01-06

Family

ID=68845638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019160640A Active JP6806865B2 (ja) 2019-09-03 2019-09-03 通信装置、通信装置の制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6806865B2 (ja)

Also Published As

Publication number Publication date
JP2019213219A (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
US9693252B1 (en) Detecting device presence for a layer 3 connection using layer 2 discovery information
CN108886747B (zh) 服务于休眠物联网装置的方法和代理装置
US8799459B2 (en) Event-driven detection of device presence for layer 3 services using layer 2 discovery information
US8732497B2 (en) Data processing apparatus, method for controlling data processing apparatus, and storage medium storing program
US10159041B2 (en) Communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
JP5768017B2 (ja) 通信端末、通信方法および通信プログラム
US11729289B2 (en) Push message communication apparatus
JP6552303B2 (ja) 通信装置および中継装置およびそれらの制御方法、プログラム
JP6576099B2 (ja) 通信装置、通信装置の制御方法、プログラム、および、通信システム
JP6806865B2 (ja) 通信装置、通信装置の制御方法およびプログラム
EP3821577A1 (en) Security information exchange between a client and a server
JP6271838B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP5670955B2 (ja) 通信システム、端末、中継装置、通信方法、および、コンピュータ・プログラム
KR102071974B1 (ko) CoAP 기반의 사물 인터넷 기술을 이용한 센서 관리 방법 및 이를 이용한 시스템
JP2017076866A (ja) 通信装置、その制御方法、及びプログラム
JP2015154227A (ja) データ転送方式
JP2016189617A (ja) デバイスおよびその制御方法、並びにプログラム
JP2019161552A (ja) 通信装置およびその制御方法
JP2009206648A (ja) シグナリングサーバ、データ通信システム、シグナリング処理代行方法およびプログラム
JP2015133737A (ja) 通信端末および通信方法
WO2012173609A1 (en) Print device proxy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200916

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: 20201106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201204

R151 Written notification of patent or utility model registration

Ref document number: 6806865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151