JP2019040579A - メッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法 - Google Patents

メッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法 Download PDF

Info

Publication number
JP2019040579A
JP2019040579A JP2018029478A JP2018029478A JP2019040579A JP 2019040579 A JP2019040579 A JP 2019040579A JP 2018029478 A JP2018029478 A JP 2018029478A JP 2018029478 A JP2018029478 A JP 2018029478A JP 2019040579 A JP2019040579 A JP 2019040579A
Authority
JP
Japan
Prior art keywords
client device
server
network
message
message 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.)
Pending
Application number
JP2018029478A
Other languages
English (en)
Inventor
呈晞 魏
Cheng-Hsi Wei
呈晞 魏
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.)
Askey Technology Jiangsu Ltd
Askey Computer Corp
Original Assignee
Askey Technology Jiangsu Ltd
Askey Computer 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 Askey Technology Jiangsu Ltd, Askey Computer Corp filed Critical Askey Technology Jiangsu Ltd
Publication of JP2019040579A publication Critical patent/JP2019040579A/ja
Pending legal-status Critical Current

Links

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/50Network services
    • H04L67/55Push-based network services
    • 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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
    • 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/14Multichannel or multilink protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

【課題】軽量なメッセージ配信を行うメッセージプッシュシステム、クライアント装置及びメッセージプッシュ方法を提供する。【解決手段】クライアント装置300は、ローカルネットワークに存在し、ローカルネットワーク及び外部ネットワークを介してローカルサーバ400並びにリモートサーバ500に登録される。クライアント装置は、パブリッシュ/サブスクライブメカニズムに基づいて、ローカルネットワーク及びリモートネットワークのうちの少なくとも1つを介してメッセージをパブリッシュ又はサブスクライブする。ローカルネットワーク又は外部ネットワークを介して別のクライアント装置をいずれかのサーバに接続できれば、クライアント装置を外部ネットワークに接続できるかどうかにかかわらず、パブリッシュされるメッセージをクライアント装置に送信でき、クライアント装置からパブリッシュされる別のメッセージを正常に受信できる。【選択図】図4

Description

本開示は、メッセージ配信方法に関し、特にメッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法に関する。
技術の急速な発展に伴い、センサ、従来の家電製品、照明装置、スイッチ装置などの種々の電子装置がメッセージを送受信したり、他の装置から制御を受けたり、あるいは他の装置を通じて情報を収集したりすることができるように、これらの装置で徐々に、かつ幅広く通信機能の活用が進んでいる。
一部の電子装置のハードウェア仕様では、通信機能において高ネットワーク帯域幅、複雑な通信プロトコル、または高いハードウェア要件を実現できていないが、これらの電子装置では、パブリッシュ/サブスクライブ(PubSub)メカニズムを通じて、より低いネットワーク帯域幅とそれほど高度ではないハードウェアリソースとを使用することによってもメッセージ配信を実現できる。さらに、ユーザによる他の装置を通じたやりとりを容易にするために、一部のサービスプロバイダは物のインターネット(IoT)ベースのクラウドプラットフォームを立ち上げて、種々のネットワークサービスを提供している。図1Aおよび図1Bは、従来のパブリッシュ/サブスクライブメカニズムを示す概略図である。まず図1Aを参照すると、モバイルクライアント装置11がクラウドプラットフォーム12からトピックA(たとえば、電球の状態)をサブスクライブし、また固定クライアント装置13がクラウドプラットフォーム12からトピックB(たとえば、照明の点灯/消灯)をサブスクライブすることが想定される。モバイルクライアント装置11は、トピックBに関連する照明点灯のメッセージをクラウドプラットフォーム12にパブリッシュし(ステップS15)、クラウドプラットフォーム12は、トピックBのサブスクライバすべて(固定クライアント装置13を含む)にメッセージを送信する。固定クライアント装置13はZ−Wave技術によって電球14を点灯し、電球14が点灯したという状態を取得し、かつクラウドプラットフォーム12に当該状態をパブリッシュすることができ、これにより、トピックAのサブスクライバすべて(すなわち、モバイルクライアント装置11)に当該状態が送信される。
しかしながら、図1Bを参照すると、モバイルクライアント装置11をインターネットに接続できない場合には、上記の動作プロセスを正常に完了することができない。モバイルクライアント装置11と固定クライアント装置13とが同一のローカルエリアネットワークに存在していても、モバイルクライアント装置11は、クラウドプラットフォーム12への接続の失敗により、サービス動作を実行できない。したがって、現行のサービスアーキテクチャは依然として改善を要する。
したがって、本開示は、メッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法を提供し、これにより、ローカルエリアネットワークにも存在するサーバを追加することができ、その結果、クライアント装置が様々なサービスのためのインターネットへの接続ができないという問題を解決する。
本開示のメッセージプッシュシステムは、第1のサーバと、第2のサーバと、第1のク
ライアント装置とを備える。第1のサーバは第1のネットワークに存在する。第2のサーバは第2のネットワークに存在し、第2のネットワークは第1のネットワークとは異なる。第1のクライアント装置は第1のネットワークに存在し、第1のサーバおよび第2のサーバに登録し、かつパブリッシュ/サブスクライブメカニズムに基づいて、第1のサーバおよび第2のサーバのうちの少なくとも1つを介してメッセージを送受信する。
本開示の一実施形態では、第1のクライアント装置は第1のサーバおよび第2のサーバの両方にサブスクライブし、かつ第1のサーバおよび第2のサーバの両方にパブリッシュする。
本開示の一実施形態では、メッセージプッシュシステムは第2のクライアント装置をさらに備える。第2のクライアント装置は、第1のサーバまたは第2のサーバのどちらにサブスクライブするかを決定する。
本開示の一実施形態では、第2のクライアント装置は、第1のサーバおよび第2のサーバのうちの1つから、第1のクライアント装置によってパブリッシュされるトピックをサブスクライブする。
本開示の一実施形態では、第1のクライアント装置は、第1のサーバおよび第2のサーバの両方から、第2のクライアント装置によってパブリッシュされるトピックをサブスクライブする。
本開示の一実施形態では、第1のクライアント装置は第1のサーバの動作を実行する。
本開示のメッセージプッシュ方法は、第1のネットワークに存在するサーバを設置するステップと、第1のネットワークおよび第1のネットワークとは異なる第2のネットワークを介して登録メッセージを送信するステップと、パブリッシュ/サブスクライブメカニズムに基づいて、第1のサーバおよび第2のサーバのうちの少なくとも1つを介してメッセージを送受信するステップとを含む。
本開示の一実施形態では、パブリッシュ/サブスクライブメカニズムに基づいて、第1のサーバおよび第2のサーバのうちの少なくとも1つを介してメッセージを送受信するステップは、第1のネットワークおよび第2のネットワークの両方を介してサブスクライブすることと、第1のネットワークおよび第2のネットワークの両方を介してパブリッシュすることとを含む。
さらに、本開示のクライアント装置は第1のネットワークに存在し、かつ通信回路およびプロセッサを備える。通信回路はメッセージを送受信するように構成されている。プロセッサは通信回路に接続されており、通信回路を通じ、第1のネットワークおよび第2のネットワークを介して登録メッセージを送信し、かつパブリッシュ/サブスクライブメカニズムに基づいて、第1のネットワークおよび第1のネットワークとは異なる第2のネットワークのうちの1つを介してメッセージを送受信するように構成されている。
本開示の一実施形態では、プロセッサは通信回路を通じ、第1のネットワークおよび第2のネットワークの両方を介してサブスクライブし、かつ第1のネットワークおよび第2のネットワークの両方を介してパブリッシュする。
本開示の一実施形態では、パブリッシュ/サブスクライブメカニズムはメッセージ・キュー・テレメトリ・トランスポート(MQTT)プロトコルに準拠している。
上記に基づいて、クライアント装置は、異なるネットワークに存在するサーバに登録した後、2つのサーバのトピックをサブスクライブしたり、またはこれらにメッセージをパブリッシュしたりすることができる。別のクライアント装置が同一のトピックをサブスクライブしているか、またはこれをパブリッシュしている場合、第2のネットワークに存在する第2のサーバは切断状態にあるかどうかにかかわらず、依然として第1のネットワークを介して正常にメッセージをパブリッシュしたり、サブスクライブされるメッセージを受信したりすることができる。
本開示における上記および他の特徴ならびに利点をより理解可能にするために、図面を伴ういくつかの実施形態について、以下に詳細に説明する。
添付の図面は、本開示のさらなる理解をもたらすために含まれ、かつ本明細書に組み込まれると共に、本明細書の一部を構成している。図面は本開示の実施形態を示し、かつその記載と共に、本開示の原理を説明する役割を果たしている。
従来のパブリッシュ/サブスクライブメカニズムを示す概略図である。 従来のパブリッシュ/サブスクライブメカニズムを示す概略図である。
本開示の一実施形態によるメッセージプッシュシステムを示す概略図である。
本開示の一実施形態によるクライアント装置を示すブロック図である。
本開示の一実施形態による、リモートアクセスシナリオにおけるメッセージプッシュ方法を示すメッセージフローチャートである。
本開示の一実施形態による、ローカルアクセスシナリオにおけるメッセージプッシュ方法を示すメッセージフローチャートである。
クライアント装置をワイドエリアネットワークに接続することができ、また別のクライアント装置がローカルエリアネットワークに存在することを示す、第1のシナリオ例の概略図である。 クライアント装置をワイドエリアネットワークに接続することができ、また別のクライアント装置がローカルエリアネットワークに存在することを示す、第1のシナリオ例の概略図である。
クライアント装置をワイドエリアネットワークに接続できず、また別のクライアント装置がローカルエリアネットワークに存在することを示す、第2のシナリオ例の概略図である。
クライアント装置をワイドエリアネットワークに接続することができ、また別のクライアント装置がローカルエリアネットワークに存在することを示す、第3のシナリオ例の概略図である。 クライアント装置をワイドエリアネットワークに接続することができ、また別のクライアント装置がローカルエリアネットワークに存在することを示す、第3のシナリオ例の概略図である。
図2は、本開示の一実施形態によるメッセージプッシュシステム1を示す概略図である。メッセージプッシュシステム1は、1台以上の被制御装置210と、クライアント装置300と、ローカルサーバ400と、ネットワークアクセス装置230と、リモートサーバ500と、クライアント装置600とを備える。
被制御装置210は、Z−Wave、Bluetooth、Wi−Fi、ZigBee通信技術またはメッセージを送受信するための他の無線通信技術をサポートするスマート電球、インテリジェント・リモートコントロール・スイッチ、インテリジェント・ドアロックおよびインテリジェント・センサなどの電子装置であってもよい。
図3は、本開示の一実施形態によるクライアント装置を示すブロック図である。図3を参照すると、クライアント装置300は、ネットワーク接続回路310と、デバイス通信回路320と、プロセッサ330とを少なくとも含むが、これらに限定されない。ネットワーク接続回路310は、無線通信技術(たとえば、Wi−Fi、Bluetooth、第4世代(4G)移動通信(ロングタームエボリューション(LTE)通信)または有線通信技術(たとえば、イーサネット、光ファイバ通信)をサポートするネットワークインターフェースカード、プロセッサ、回路またはチップセットであってもよく、またネットワーク接続回路310は、メッセージ・キュー・テレメトリ・トランスポート(MQTT)プロトコルに準拠している。クライアント装置300が被制御装置210と通信できるように、デバイス通信回路320は、被制御装置210と同様または類似の無線通信技術をサポートするネットワークインターフェースカード、プロセッサ、回路またはチップセットであってもよい。プロセッサ330はネットワーク接続回路310およびデバイス通信回路320に接続されている。プロセッサ330は中央処理装置(CPU)、または他の任意のプログラマブル汎用マイクロプロセッサもしくは専用マイクロプロセッサ、デジタル信号プロセッサ(DSP)、プログラマブルコントローラ、特定用途向け集積回路(ASIC)、あるいは他の同様の構成要素もしくは上記の構成要素の組み合わせであってもよい。本実施形態では、プロセッサ330はクライアント装置300のすべての動作を実行するように構成されている。
なお、他の実施形態では、クライアント装置300はまた、MQTTプロトコルに準拠する、たとえばスマート電球、インテリジェント・リモートコントロール・スイッチ、インテリジェント・ドアロック、およびインテリジェント・センサなどの電子装置であってもよい。
ローカルサーバ400は、MQTTプロトコルをサポートするブローカとして使用され、クライアント装置300または600から特定のトピックに対するサブスクライブ要求を受信し、かつ/またはパブリッシュされるメッセージをサブスクライバ(たとえば、クライアント装置300または600)に送信しており、これはパブリッシュ/サブスクライブ(PubSub)メカニズムと呼ばれている。本実施形態では、相互から分離され、かつ相互に通信可能な2台のソフトウェアモジュールを介して、クライアント装置300およびローカルサーバ400それぞれの動作をクライアント装置300が実行できるように、クライアント装置300とローカルサーバ400とが1つに統合されている(すなわち、両者は同一の装置内にある)。さらに、クライアント装置300およびローカルサーバ400は、共にローカルエリアネットワーク(LAN)250(またはローカルネットワークと呼ばれる)に存在する。
他の実施形態では、クライアント装置300およびローカルサーバ400はまた、2つの独立した装置であってもよく、かつ無線/有線方式で相互に通信することができる。
LAN250に存在するクライアント装置300をワイドエリアネットワーク(WAN
)270(または外部ネットワークと呼ばれる)またはインターネットに接続できるように、ネットワークアクセス装置230は、LANインターフェースカード、プロセッサ、回路またはチップセット(たとえば、Wi−Fi、Bluetoothまたはイーサネット通信技術をサポートするインターフェース)およびWANインターフェースカード、プロセッサ、回路またはチップセット(たとえば、デジタル・サブスクライバ・ライン(DSL)をサポートする銅ケーブル、パッシブ光ネットワーク(PON)をサポートする光ファイバ、もしくは他の通信技術)を少なくとも有する。
リモートサーバ500はMQTTプロトコルに準拠したクラウドブローカであり、Amazon Webサービス(AWS)、GoogleクラウドIoTサービス、またはMicrosoft Azure IoTサービスなどの物のインターネット(IoT)クラウドソリューションを提供することができる。同様の、または類似の方法で、リモートサーバ500はクライアント装置300または600から特定のトピックに対するサブスクライブ要求を受信し、かつ/またはパブリッシュされるメッセージをサブスクライバ(たとえば、クライアント装置300または600)に送信することができる。また、リモートサーバ500はWAN270(または外部ネットワークと呼ばれる)に存在する。
クライアント装置600は、たとえばスマートフォン、タブレットコンピュータまたはノートパソコンなどのモバイル装置であってもよく、またこれをローカルサーバ400またはリモートサーバ500に接続することができる。クライアント装置600は、ユーザが被制御装置210または取得した関連情報を制御するために、リモートサーバ500によって提供されるサービスに適合するアプリケーションをさらにロードすることができる。
なお、他の実施形態では、ローカルサーバ400およびリモートサーバ500はまた、PubSubメカニズムに基づいて、簡易通知サービス(SNS)、ならびに拡張可能なメッセージングおよびプレゼンスプロトコル(XMPP)などの他のブローカをサポートしていてもよく、クライアント装置300または600は、同様の、または適合する通信プロトコルをサポートしている。また、ローカルサーバ400およびリモートサーバ500は、2つの異なるネットワークに存在する限り、本実施形態に適用可能である。
本実施形態では、クライアント装置600は、ネットワークアクセス装置230を介してローカルサーバ400に接続する。しかしながら、他の実施形態では、クライアント装置300をWAN270またはインターネットに直接接続できる場合(たとえば、4G通信またはネットワークケーブルを介して)にのみ、クライアント装置600はネットワークアクセス装置230を介さずに、Wi−Fi、Bluetooth、イーサネット技術を使用してローカルサーバ400と直接通信することもできる。
本実施形態の動作プロセスに対する理解を容易にするために、本開示のメッセージプッシュ方法を説明するいくつかの実施形態が以下に提供される。本実施形態の本方法は、図1に示すメッセージプッシュシステム1の各構成要素に適用可能である。以下、本実施形態の本方法について、クライアント装置300の各構成要素およびモジュールを基準に説明する。本方法の各フローは、実際の実装シナリオに従って調整することができ、また本開示はこれらに限定されない。
図4は、本開示の一実施形態による、リモートアクセスシナリオにおけるメッセージプッシュ方法を示すメッセージフローチャートである。本シナリオでは、クライアント装置600はWAN270に存在する。図4を参照すると、ローカルサーバ400およびリモートサーバ500に登録するように(ステップS410およびステップS420)、クライアント装置300のプロセッサ330はネットワーク接続回路310を通じ、LAN2
50およびWAN270それぞれを介して登録メッセージを送信する。登録メッセージは、MQTTプロトコルに準拠するCONNECTポケット、または別の通信プロトコルに基づく登録用メッセージであってもよい。クライアント装置300のプロセッサ330は、LAN250およびWAN270の両方を介して、ローカルサーバ400ならびにリモートサーバ500からトピック(ここではトピックBとする)をサブスクライブすることができる。クライアント装置600は、ローカルサーバ400またはリモートサーバ500のどちらに登録するかを決定するが、ローカルサーバ400に登録を試みると、クライアント装置600は、LAN250に存在しないことが原因となって、登録に失敗する(ステップS430)。次にクライアント装置600はリモートサーバ500に登録し(すなわち、登録が成功する)、クライアント装置300がパブリッシュを予定するトピック(ここではトピックAとする)をサブスクライブし、クライアント装置600はまた、クライアント装置300によってサブスクライブされるトピック(すなわち、トピックB)のパブリッシュを予定する(ステップS440)。
トピックAに関連するメッセージがパブリッシュされる直前となった場合、クライアント装置300は、LAN250およびWAN270を介してローカルサーバ400ならびにリモートサーバ500の両方にメッセージをパブリッシュする(ステップS450)。トピックAに関連するメッセージをクライアント装置600が受信するように、リモートサーバ500はトピックAのサブスクライバすべてにメッセージを送信する(ステップS460)。一方、トピックBに関連するメッセージがパブリッシュされる直前となった場合、クライアント装置600はリモートサーバ500にメッセージをパブリッシュし(ステップS470)、トピックBに関連するメッセージをクライアント装置300が受信するように、リモートサーバ500はトピックBのサブスクライバすべてにメッセージを送信する(ステップS480)。
図5は、本開示の一実施形態による、ローカルアクセスシナリオにおけるメッセージプッシュ方法を示すメッセージフローチャートである。本シナリオでは、クライアント装置600はLAN250に存在する。図5を参照すると、クライアント装置300のプロセッサ330は、ネットワーク接続回路310を介してローカルサーバ400およびリモートサーバ500に登録する(ステップS510およびステップS520)。本シナリオでは、クライアント装置600はローカルサーバ400に登録することができ、これにより、その後、リモートサーバ500には登録しない(ステップS530)。なお、クライアント装置600がローカルサーバ400およびリモートサーバ500に登録する順序は入れ替えることができる一方、いずれかのサーバに対する登録が完了していれば、クライアント装置600は別のサーバに登録する必要がなくなる。換言すれば、クライアント装置600は、登録に失敗した場合、または当該場合に限り、別のサーバに登録することを選択する。
クライアント装置300がパブリッシュを予定するトピック(ここではトピックAとする)をクライアント装置600がサブスクライブし、クライアント装置600がパブリッシュを予定するトピック(ここではトピックBとする)をクライアント装置300がサブスクライブすることが想定される。トピックAに関連するメッセージがパブリッシュされる直前となった場合、クライアント装置300は、LAN250およびWAN270を介してローカルサーバ400ならびにリモートサーバ500の両方にメッセージをパブリッシュする(ステップS540)。トピックAに関連するメッセージをクライアント装置600が受信するように、ローカルサーバ400はトピックAのサブスクライバすべてにメッセージを送信する(ステップS550)。一方、トピックBに関連するメッセージがパブリッシュされる直前となった場合、クライアント装置600はローカルサーバ400にメッセージをパブリッシュし(ステップS470)、トピックBに関連するメッセージをクライアント装置300が受信するように、ローカルサーバ400はトピックBのサブス
クライバすべてにメッセージを送信する(ステップS570)。
このように、ローカルサーバ400およびリモートサーバ500のうちの1つに接続可能であれば、LAN250に存在するかWAN270に存在するかにかかわらず、クライアント装置600はパブリッシュされるメッセージをサブスクライバに正常に送信したり、またはサブスクライブされるメッセージを正常に受信したりすることができ、これにより、既存のインターネットに切断シナリオが発生した場合に直面する、メッセージのパブリッシュおよび受信が失敗する問題を解決する。
本実施形態の実際の適用シナリオに対する理解を容易にすることを目的として、種々の適用シナリオを説明するために3つの例を以下に提供する。
図6Aおよび図6Bは、クライアント装置300をWAN270に接続することができ、またクライアント装置600がLAN250に存在することを示す、第1のシナリオ例の概略図である。まず図6Aを参照すると、クライアント装置300はローカルサーバ400およびリモートサーバ500からトピックB(たとえば、照明の点灯/消灯)をサブスクライブし、またクライアント装置600はローカルサーバ400からトピックA(たとえば、電球の状態)をサブスクライブする。図6Bを参照すると、クライアント装置600は照明を点灯する動作を受信し、次いでローカルサーバ400にトピックBに関連するメッセージ(すなわち、照明の点灯)をパブリッシュする(ステップS610)。ローカルサーバ400はクライアント装置300にメッセージを送信し(ステップS620)、クライアント装置300はメッセージに基づいて、Z−Wave技術によって被制御装置210(ここではスマート電球とする)を制御してこれを点灯し(ステップS630)、また被制御装置210は、クライアント装置300に電球が点灯したという状態を返信する(ステップS640)。クライアント装置300はローカルサーバ400およびリモートサーバ500に電球の状態をパブリッシュし(ステップS650)、クライアント装置600(トピックAのサブスクライバである)はローカルサーバ400を介して電球の状態を取得する(ステップS660)。
図7は、クライアント装置300のWAN270への接続が失敗し、またクライアント装置600がLAN250に存在することを示す、第2のシナリオ例の概略図である。図7を参照すると、図6Aおよび図6Bに示す第1のシナリオ例とは異なり、第2のシナリオ例におけるクライアント装置300は、リモートサーバ500に電球の状態をパブリッシュすることができない。しかしながら、電球の状態について、やはり最終的にはローカルサーバ400を介してクライアント装置600に送信することができる。
図8Aおよび図8Bは、クライアント装置300をWAN270に接続することができ、またクライアント装置600がWAN270に存在することを示す、第3のシナリオ例の概略図である。まず図8Aを参照すると、クライアント装置300はローカルサーバ400およびリモートサーバ500からトピックB(たとえば、照明の点灯/消灯)をサブスクライブし、またクライアント装置600はリモートサーバ500からトピックA(たとえば、電球の状態)をサブスクライブする。図8Bを参照すると、クライアント装置600は照明を点灯する動作を受信し、次いでリモートサーバ500にトピックBに関連するメッセージ(すなわち、照明の点灯)をパブリッシュする(ステップS810)。リモートサーバ500はクライアント装置300にメッセージを送信し(ステップS820)、クライアント装置300はメッセージに基づいて、被制御装置210を制御してこれを点灯し(ステップS830)、また被制御装置210は、クライアント装置300に電球が点灯したという状態を返信する(ステップS840)。クライアント装置300はローカルサーバ400およびリモートサーバ500に電球の状態をパブリッシュし(ステップS850)、またクライアント装置600(トピックAのサブスクライバである)はリモ
ートサーバ500を介して電球の状態を取得することができる(ステップS860)。
以上の点を踏まえて、第1のクライアント装置がローカルサーバおよびリモートサーバに登録し、かつこれらにメッセージをパブリッシュしたり、またはこれらからメッセージを受信したりすることができるように、本実施形態で第1のクライアント装置が存在するネットワークにローカルサーバが新たに追加される。ネットワークの任意の1つにおいてサーバ(たとえば、ローカルサーバまたはリモートサーバ)に接続可能であれば、第1のクライアント装置と同一のネットワークに存在するか、または第1のクライアント装置とは異なるネットワークに存在するかにかかわらず、第2のクライアント装置は第1のクライアント装置によってパブリッシュされるメッセージを正常に受信したり、またはパブリッシュされるメッセージを第1のクライアント装置に正常に送信したりすることができる。このように、ユーザは被制御装置と同一のネットワークに第1のクライアント装置とローカルサーバとを設置することができるので、ユーザは第1のクライアント装置が存在する環境にあっても、または他の環境にあっても、第2のクライアント装置を介した被制御装置の制御および/またはこれからの情報収集を行うことができる。
本開示について、上記の実施形態を参照して説明したが、記載された本実施形態に対して本開示の趣旨から逸脱することなく変更が行われてもよいことは、当業者には明らかである。したがって、本開示の範囲は、上記の詳細な説明によってではなく、添付の特許請求の範囲によって定義される。
本発明のメッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法は、通信装置ならびにその処理方法に適用することができる。
1 メッセージプッシュシステム
11 モバイルクライアント装置
12 クラウドプラットフォーム
13 固定クライアント装置
14 電球
210 被制御装置
230 ネットワークアクセス装置
250 ローカルエリアネットワーク
270 ワイドエリアネットワーク
300,600 クライアント装置
310 ネットワーク接続回路
320 デバイス通信回路
330 プロセッサ
400 ローカルサーバ
500 リモートサーバ
S410〜S480,S510〜S570,S610〜S660,S810〜S860
ステップ

Claims (13)

  1. 第1のネットワークに存在する第1のサーバと、
    前記第1のネットワークとは異なる第2のネットワークに存在する第2のサーバと、
    前記第1のネットワークに存在し、前記第1のサーバおよび前記第2のサーバに登録し、かつパブリッシュ/サブスクライブメカニズムに基づいて、前記第1のサーバおよび前記第2のサーバのうちの少なくとも1つを介してメッセージを送受信する第1のクライアント装置とを備える、メッセージプッシュシステム。
  2. 前記第1のクライアント装置は前記第1のサーバおよび前記第2のサーバの両方にサブスクライブし、かつ前記第1のサーバおよび前記第2のサーバの両方にパブリッシュする、請求項1に記載のメッセージプッシュシステム。
  3. 前記第1のサーバまたは前記第2のサーバのどちらにサブスクライブするかを決定する第2のクライアント装置をさらに備える、請求項1に記載のメッセージプッシュシステム。
  4. 前記第2のクライアント装置は、前記第1のサーバおよび前記第2のサーバのうちの1つから、前記第1のクライアント装置によってパブリッシュされるトピックをサブスクライブする、請求項3に記載のメッセージプッシュシステム。
  5. 前記第1のクライアント装置は、前記第1のサーバおよび前記第2のサーバの両方から、前記第2のクライアント装置によってパブリッシュされるトピックをサブスクライブする、請求項3に記載のメッセージプッシュシステム。
  6. 前記第1のクライアント装置は前記第1のサーバの動作を実行する、請求項1に記載のメッセージプッシュシステム。
  7. 前記パブリッシュ/サブスクライブメカニズムはメッセージ・キュー・テレメトリ・トランスポート(MQTT)プロトコルに準拠している、請求項1に記載のメッセージプッシュシステム。
  8. 第1のネットワークに存在するサーバを設置するステップと、
    前記第1のネットワークおよび前記第1のネットワークとは異なる第2のネットワークを介して登録メッセージを送信するステップと、
    パブリッシュ/サブスクライブメカニズムに基づいて、前記第1のサーバおよび前記第2のサーバのうちの少なくとも1つを介してメッセージを送受信するステップとを含む、サーバに適用可能なメッセージプッシュ方法。
  9. 前記パブリッシュ/サブスクライブメカニズムに基づいて、前記第1のサーバおよび前記第2のサーバのうちの少なくとも1つを介してメッセージを送受信する前記ステップは、
    前記第1のネットワークおよび前記第2のネットワークの両方を介してサブスクライブすることと、
    前記第1のネットワークおよび前記第2のネットワークの両方を介してパブリッシュすることとを含む、請求項8に記載のメッセージプッシュ方法。
  10. 前記パブリッシュ/サブスクライブメカニズムはMQTTプロトコルに準拠している、請求項8に記載のメッセージプッシュ方法。
  11. 第1のネットワークに存在するクライアント装置であって、
    メッセージを送受信する通信回路と、
    前記通信回路に接続されており、前記通信回路を通じ、前記第1のネットワークおよび第2のネットワークを介して登録メッセージを送信し、かつパブリッシュ/サブスクライブメカニズムに基づいて、前記第1のネットワークおよび前記第1のネットワークとは異なる前記第2のネットワークのうちの少なくとも1つを介して前記メッセージを送受信するプロセッサとを備える、クライアント装置。
  12. 前記プロセッサは前記通信回路を通じ、前記第1のネットワークおよび前記第2のネットワークの両方を介してサブスクライブし、かつ前記第1のネットワークおよび前記第2のネットワークの両方を介してパブリッシュする、請求項11に記載のクライアント装置。
  13. 前記パブリッシュ/サブスクライブメカニズムはMQTTプロトコルに準拠している、請求項11に記載のクライアント装置。
JP2018029478A 2017-08-28 2018-02-22 メッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法 Pending JP2019040579A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106129191A TWI674806B (zh) 2017-08-28 2017-08-28 訊息推送系統、客戶設備及其訊息推送方法
TW106129191 2017-08-28

Publications (1)

Publication Number Publication Date
JP2019040579A true JP2019040579A (ja) 2019-03-14

Family

ID=62492386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018029478A Pending JP2019040579A (ja) 2017-08-28 2018-02-22 メッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法

Country Status (4)

Country Link
US (1) US20190068737A1 (ja)
EP (1) EP3451717A1 (ja)
JP (1) JP2019040579A (ja)
TW (1) TWI674806B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131228A (zh) * 2019-12-21 2020-05-08 广州保仕盾智能科技有限公司 一种基于mqtt协议的网关的动态主题及稳定运行的处理方法
CN111262911B (zh) * 2020-01-09 2022-05-24 中国建设银行股份有限公司 一种投影仪控制方法、装置、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392555B2 (en) * 2009-06-01 2013-03-05 International Business Machines Corporation Push-back mechanism for pub/sub brokers
US10771532B2 (en) * 2011-10-04 2020-09-08 Electro Industries/Gauge Tech Intelligent electronic devices, systems and methods for communicating messages over a network
US9847961B2 (en) * 2013-02-25 2017-12-19 Qualcomm Incorporated Automatic IoT device social network expansion
KR101453372B1 (ko) * 2014-04-15 2014-10-22 주식회사 스마티랩 사물인터넷 환경에서 디바이스간 이질적 데이터 교환 방식의 중재 시스템
KR101877188B1 (ko) * 2014-07-21 2018-07-10 콘비다 와이어리스, 엘엘씨 Mqtt 프로토콜을 이용한 서비스 층 상호연동
US10007513B2 (en) * 2015-08-27 2018-06-26 FogHorn Systems, Inc. Edge intelligence platform, and internet of things sensor streams system
CN105915577A (zh) * 2015-12-18 2016-08-31 美的集团股份有限公司 一种物联网控制系统、终端、网关、远程控制终端和方法
US10412064B2 (en) * 2016-01-11 2019-09-10 Centurylink Intellectual Property Llc System and method for implementing secure communications for internet of things (IOT) devices
CN106169967A (zh) * 2016-07-14 2016-11-30 美的集团股份有限公司 一种用户客户端、家用电器及其控制方法
CN106713088A (zh) * 2017-01-06 2017-05-24 南京创维信息技术研究院有限公司 基于双mqtt服务器的智能家居设备控制方法及系统

Also Published As

Publication number Publication date
TW201914321A (zh) 2019-04-01
EP3451717A1 (en) 2019-03-06
TWI674806B (zh) 2019-10-11
US20190068737A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
US11381462B2 (en) Programmable distributed management system of interconnected things and applications
CN109889551B (zh) 一种智能硬件接入的物联网云平台的方法
US20230144444A1 (en) Virtual Gateway Control and Management
KR102046700B1 (ko) 메시지 버스 서비스 디렉토리
US8914449B2 (en) Push messaging platform with high scalability and high availability
US9503957B2 (en) Low cost mesh network capability
WO2012041683A1 (en) Server management using baseboard management controller to establish wireless network
EP4205420A1 (en) User plane entity and control plane entity for exchanging network access node information
US20190028414A1 (en) System And Method For Providing a Communications Layer to Enable Full Participation in a Distributed Computing Environment That Uses Multiple Message Types
EP2693691B1 (en) Method and apparatus for initializing gateway in device management system
US11044764B2 (en) Roaming of a device between stationary devices and mobile devices
JP2019040579A (ja) メッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法
CN108989157B (zh) 用于智能设备控制的方法、装置
US20190342119A1 (en) Virtual private wire service interworking
US20220244939A1 (en) Device Management Tool
US11652693B2 (en) Edge cloud anchoring
WO2022165157A1 (en) Method and apparatus for device management
CN113630298A (zh) 智能控制系统、方法和装置
EP3419250B1 (en) Methods and apparatus for distributing publish-subscribe messages
CN112162868B (zh) 应用于集群处理的数据通信方法、装置及存储介质
US9143386B1 (en) Remote keep-alive message management in a wireless communication network
TW201505463A (zh) 推送通知方法、系統以及無線通信裝置
KR101921636B1 (ko) 세션 제어 장치 및 방법과 기록 매체
CN114827362A (zh) 用于设备管理的方法和装置
KR102041134B1 (ko) 이종의 푸쉬 서비스들을 위한 게이트웨이 장치 및 푸쉬 메시지 전달 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200707