[go: up one dir, main page]

JP6749281B2 - IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム - Google Patents

IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム Download PDF

Info

Publication number
JP6749281B2
JP6749281B2 JP2017098501A JP2017098501A JP6749281B2 JP 6749281 B2 JP6749281 B2 JP 6749281B2 JP 2017098501 A JP2017098501 A JP 2017098501A JP 2017098501 A JP2017098501 A JP 2017098501A JP 6749281 B2 JP6749281 B2 JP 6749281B2
Authority
JP
Japan
Prior art keywords
message bus
connection
agent
message
signaling
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
JP2017098501A
Other languages
English (en)
Other versions
JP2018160879A (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.)
NTT DOCOMO BUSINESS, Inc.
NTT Communications Corp
Original Assignee
NTT DOCOMO BUSINESS, Inc.
NTT Communications 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 NTT DOCOMO BUSINESS, Inc., NTT Communications Corp filed Critical NTT DOCOMO BUSINESS, Inc.
Priority to PCT/JP2018/006936 priority Critical patent/WO2018173639A1/ja
Priority to US16/495,233 priority patent/US11146643B2/en
Publication of JP2018160879A publication Critical patent/JP2018160879A/ja
Application granted granted Critical
Publication of JP6749281B2 publication Critical patent/JP6749281B2/ja
Active 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
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • 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/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、IoTデバイスの遠隔制御技術に関連するものである。
近年のIoTなどコンピューティング技術の進化に伴い、エンタープライズユースケースにおいては拠点オフィスや工場・販売店など、コンシューマーユースケースにおいては宅内などのエッジ環境にIoTデバイスを設置し、センサデータの収集や、スマートフォンなどの端末を用いたモニタリングや操作などを行うことが一般的となってきている。
これを用いることで、例えば電力消費量の削減を実現できる。具体的には、例えば、
・IoT対応の照明デバイスを導入し、スマートフォンを検知することで人が近づいた時には点灯し、遠ざかった時には自動消灯する。
・照度センサを搭載したIoTデバイスと照明デバイスを連動し、外からの灯りに応じて、自動消灯や光量の制御を行う。
などを実現できる。
ここで、これらIoTデバイスの制御は、エッジ環境のみならす、リモート環境からの利用も想定される。例えば、
・リモートから宅内の照明デバイスにアクセスし、消し忘れていた場合に消灯する。また、防犯目的のため夜間に点灯する。
・各拠点オフィスの照明状況をクラウドのサーバ環境にて収集し、本社企画部門は収集したデータを分析し、オフィス利用状況の把握や有効活用のためのプランを策定する。
といった例が考えられる。
特開2014−241024号公報
IoTデバイスを遠隔に制御するための従来技術として、ユーザ端末が直接にIoTデバイスに接続する技術や、ユーザ端末がクラウド経由でIoTデバイスに接続する技術などがある。しかしながら、直接にIoTデバイスに接続する技術では、小規模システム以外では管理が複雑になり、また、クラウド経由でIoTデバイスに接続する技術では、クラウドとの接続NWの障害による影響が大きく、大規模システムには適用できないなどの課題がある。
本発明は上記の点に鑑みてなされたものであり、適用するシステムの規模に拠らずに、IoTデバイスの遠隔制御を適切に行うことを可能とする技術を提供することを目的とする。
開示の技術によれば、メッセージバス管理サーバ、シグナリングサーバ、IoTデバイスである第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおいて、前記第1のメッセージバスエージェント装置として使用されるIoTデバイスであって、
前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを、前記シグナリングサーバに送信するシグナリング手段と、
前記シグナリングサーバによるシグナリングメッセージの処理に基づいて、前記第2のメッセージバスエージェント装置との間のコネクションを、仮想メッセージバスとして形成する接続手段とを備え、
前記メッセージバス管理サーバにより、前記IoTデバイスと前記第2のメッセージバスエージェント装置との接続が許可されている場合に、前記接続手段は、前記第2のメッセージバスエージェント装置との間に前記仮想メッセージバスを形成し、
前記仮想メッセージバスは、アプリケーションからの接続要求に応じて、動的に形成され、アプリケーションの終了に伴い解放されるメッセージバスである
ことを特徴とするIoTデバイスが提供される。
開示の技術によれば、適用するシステムの規模に拠らずに、IoTデバイスの遠隔制御を適切に行うことを可能とする技術が提供される。
エッジのIoTデバイスに、リモートからアクセスするパターンを示す図である。 クラウドからの集中制御のアーキテクチャを示す図である。 ハイブリッドアーキテクチャを示す図である。 各方式の特徴をまとめた表である。 本発明の実施の形態におけるシステム構成図である。 WVMB管理サーバ500の構成図である。 シグナリングサーバ400の構成図である。 ユーザ端末100の構成図である。 エッジコンピューティング装置200の構成図である。 IoTデバイス300の構成図である。 クラウドコンピューティング装置600の構成図である。 各装置のハードウェア構成の例を示す図である。 シーケンス例を示す図である。 ステップ400のバリエーションを説明するための図である。 柔軟なアクセス制御を説明するための図である。 SD−WANコントローラを使用する例を説明するための図である。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(本実施の形態に係る技術の概要)
本実施の形態の技術を詳細に説明する前に、当該技術がどのような検討過程に基づき発明されたかについて説明する。
背景技術で説明した各ユースケースを実現するためには、該当のIoTデバイスに対し、エッジ及びリモートの双方からアクセスできる必要がある。その単純な実現手段としては、エッジのIoTデバイスに、エッジからだけではなく、リモートからも直接アクセスできるようにすることが考えられる。
リモートから直接アクセスできるようにすることを技術的にブレークダウンすると、例えば、図1に示すパターン1〜3がある。
パターン1では、エッジのIoTデバイス1にグローバルアドレスを付与し、インターネット2から直接アクセスできるようにする。
パターン2では、エッジのNAT機器3に、アドレス変換ルールを設定し、インターネット2からIoTデバイス1にアクセスできるようにする。
パターン3では、エッジにVPNアクセスできるようにし、リモートからVPN機器4を用いてVPN接続することで、IoTデバイス1にアクセスできるようにする。
ここで、パターン1については、IPv4アドレスが枯渇している現状において現実的とは言えない。IPv6を用いることでアドレス利用の課題は解決できるが、インターネットからデバイスに直接アクセスできることは第三者により容易にエッジの機器を制御できることを意味するため、セキュリティ観点より望ましくない。パターン2については、IPv4環境でも実現できるメリットはあるが、パターン1とほぼ同様の課題が存在する。また、NAT機器3のアドレス変換ルールの設定には、IP技術に対する知識が必要となるため、その設定コストがかかってしまうという問題もある。パターン3については、エンタープライズユースケースであれば適用も現実的ではあるが、コンシューマーユースケースで各家庭にVPN機器4を設置し、利用するのは現実的とは言えない。また、VPN接続してしまえば、誰でも各機器にアクセスできてしまうという問題もある。
パターン1〜3のいずれの場合も、エッジの拠点のデバイスに対するコントロールにおいては、社員の権限に応じたアクセス制御が要求されることが多い。例えば、一般社員は照明器具点灯状況のモニタリングのみ可能とし、特定部門の担当者のみ、照明オンオフのリモート操作を可能とするといったケースである。
また、拠点内に誤ってワームが侵入してしまった場合、容易に機器を操作されてしまうという問題もある。従って、単にVPN接続等を通してデバイスにアクセスできれば良いという問題ではなく、更にデバイスへのアクセスに際し、ユーザ認証を行うことが要求される。このため、LDAPやSNS認証などのIDM(ID Management)と連携したアクセス制御が必要となる。
しかしながら、このようなIDM機構を各デバイスに搭載し、設定することは管理の煩雑化を生む。また、それぞれのデバイスにアクセスするために、認証が必要となってしまうため、ユーザビリティの低下も生じてしまう。
これを解決する技術として、図2に示すクラウドからの集中制御の方式(アーキテクチャ)がある。このアーキテクチャでは、全てのデバイス1がクラウド10上のMQTTやKafkaなどメッセージバス11のみに接続し、ユーザ5の解析・制御システム等はこれを経由することで各デバイスのモニタリングや制御を可能としている。
このアーキテクチャを用いることで、先に挙げたユーザ権限に応じたIDM12によるアクセス制御も容易となる。このアーキテクチャではユーザ5からのデバイス1の制御は、全てクラウド10のサーバを経由するものとなる。従って、アクセス制御についても、このサーバで行えばよくなり、IDM12の管理コストを激減することができる。
しかしながら、このアーキテクチャにも欠点がある。このモデルでは、全てのデータがクラウド10を経由するため、そのデータ量が甚大となってしまい、その処理コストが問題となる。また、各エッジにおいても、拠点デバイスを制御するためには必ずクラウド10にアクセスしなければいけない。これは、アクセス集中時やネットワーク障害時などに操作性の欠如といった問題を引き起こす可能性がある。
これを解決するために、図3に示すような、クラウド10とエッジコンピューティングを共に活用するハイブリッドアーキテクチャが考えられる。これは、エッジ環境にもMQTTなどのメッセージバス6とそれに接続するユーザ5の処理サーバ等をセットアップし、クラウド10とエッジのコンピューティングを連携することでこれらの問題を解決しようとするアーキテクチャである。
照明制御を例にすると、照度センサや照明デバイス(IoTデバイス1の例)は全てエッジのメッセージバス6に接続される。ユーザ5のエッジコンピューティング環境は、このエッジメッセージバス6に接続し、そのセンサ値を常時監視する。閾値を超えた場合(例えば暗くなった場合)には、エッジより照明デバイスを操作し、照明のオンオフや光量の制御を行う。このように、処理は全てエッジのみで行われるため、クラウド10の負荷上昇や、レスポンス性の悪化といった課題が解決される。また、クラウド10へは例えば1分ごとの平均データのみや閾値を超えた場合のみのデータを送信することで、負荷上昇によるクラウドコストの抑制を実現できる。更に、ユーザ権限に応じたアクセス制御についても、クラウド10とエッジコンピューティング環境のみにIDM12との連携機能を入れれば良く、エッジの各デバイスにまで適用しなくてもよい。これによりアクセス制限の管理・制御コストを抑制することが可能となる。ただし、このようなハイブリッドアーキテクチャは、各デバイスを管理するのに比べればベターではあるが、図2に示したクラウド型に比べ、制御は複雑になる。
図4に示したように、各方式には一長一短があり、どの方式を用いるかはシステムの管理コストとスケーラビリティのトレードオフとなる。端的には、規模が小さければ直接接続型を使用し、規模の拡大に応じて、クラウド型やハイブリッド型を用いるのが典型的であると考えられる。従って、段階的に各方式を導入していくプランが現実的である。しかしながら、これら三方式は、共通したアーキテクチャとは言いがたく、その移行にあたっては移行策の策定を要する。また、利用者のシステムマニュアルの変更やその共有などの作業が必要となる。
このような問題が生じるのは、全てのリソースにアクセスするためには、そのデータを管理するサーバにアクセスしなければならないという前提に帰着する。近年のIT環境の構成は、フロントエンドの描画系、ユーザ−IoT間のデータを処理する制御ロジック系、データソース、及び、認証認可機構に分類される。端的には、フロントエンド描画系はダッシュボードサーバ、制御ロジック系は制御サーバ、データソースはMQTTやKafkaなどのデータバス、認証認可はIDMとなる。そして、直接的・間接的いずれにしろこれらのサーバに接続できないとサービスを提供することはできない。すなわち、何かしらの手段(FWでDMZを配置する、VPN接続するなど)でこれらそれぞれのサーバに対して常にIPリーチャブルである必要がある。
しかしながら、近年の端末環境の高性能化・低コスト化によりこの状況は変化してきている。すなわち、フロントエンド系や制御ロジック系はモバイルアプリなどに代表されるユーザアプリケーションとして提供できるため、必ずしもサーバにアクセスする必要はない。Webアプリケーションによるサービス提供にしても、Service Workerに代表されるオフライン化の進展によりこの状況は変わりつつある。しかしながら、データソースに対するサーバアクセスは回避できない。裏を返せば、これを解決し、常にリーチャブルなサーバ環境を経由せずともデータソースにアクセスできれば、これまでに挙げた各種問題を解決することができ、システムのスムーズな拡大・移行を行うことができる。
(システム構成、動作概要、特徴)
以下、本実施の形態に係るシステムの構成、動作概要、特徴を説明する。このシステムでは「WebRTC virtual message bus」(WebRTC仮想メッセージハブ)が用いられる。これを略してWVMBと呼ぶ。
WVMBに係る技術は、P2P技術に基づくWebRTCを用いることで、上記課題を解決し、小規模から大規模まで共通したアーキテクチャによりIoTソリューションを提供可能とするものである。なお、本実施の形態で使用するWebRTCはP2Pコネクションを確立するための技術の一例であり、これに限定されるわけではなく、本実施の形態において、WebRTC以外のP2Pコネクション技術を用いることも可能である。
WebRTCではICE(Interactive Connectivity Establishment)と呼ばれる技術を使用して、P2P通信に使用する2端末のアドレスを決定する。ICEでは、各端末が、利用可能なアドレスを収集し、端末間で、収集されたアドレスを交換して、通信可能なアドレスのうち優先度の高いアドレスを選択して通信を行う。WebRTC以外のP2Pコネクション技術として、例えば、ICEを使用するWebRTC以外の技術を使用してもよいし、ICE以外のアドレス決定方法を使用するP2Pコネクション技術を使用してもよい。
図5は、本実施の形態におけるシステム構成図である。図5に示すように、当該システムにおいて、クラウド10内にシグナリングサーバ400、WVMB管理サーバ500、クラウドコンピューティング装置600が備えられる。なお、クラウド10内にこれらの装置が備えられることは、例えば、これらの装置が仮想マシンにより構築されていることを意味する。ただし、仮想マシンを用いることは例であり、クライド10内であるかどうかに関わらずに、シグナリングサーバ400、WVMB管理サーバ500、クラウドコンピューティング装置600がそれぞれ物理サーバであってもよい。
エッジの拠点20(これをエッジ20と記載してもよい)内にIoTデバイス300、エッジコンピューティング装置200が備えられる。また、エッジコンピューティング装置200やクラウドコンピューティング装置600のサービスを利用するユーザ端末100が存在する。これらの装置はネットワーク(本実施の形態では例としてインターネット2)を介して他の装置と通信を行うことが可能である。
より詳細には、WebRTCによるP2Pコネクション形成処理により、ネットワーク2上に構築されるデータチャネル(P2Pコネクションと称してもよい)を介して装置間の通信がなされる。このデータチャネルをWebRTC virtual message bus(WebRTC仮想メッセージバス)(略してWVMB)30と称している。当該WVMB30を経由して、データ収集、モニタリング等が実施される。また、P2Pコネクション形成においてはシグナリングサーバ400による制御が行われる。シグナリングサーバ400が、IDMなどと連携することでセキュアかつ柔軟な接続制御を行うことが可能である。なお、上記のシグナリングサーバ400による制御とは、WebRTCによるP2Pコネクション確立のためのシグナリング制御(これ自体は既存技術)に加えて、後述するAgentIDに基づくWVMB管理サーバ500(IDMの例)と連携した接続制御等を行うことである。
各装置の機能構成及び動作については後に詳細に説明する。ここでは動作概要及び特徴について説明する。
WVMB30を実現するために、ユーザ端末100、エッジコンピューティング装置200、IoTデバイス300、クラウドコンピューティング装置600にWVMBエージェントをインストールし、接続要求に応じて、WebRTCのデータチャネルを構築し、互いの装置をP2P接続する。ここではWebRTCを用いるため、各装置は常時IPリーチャブルである必要がない点が特徴である。
WebRTCのシグナリングサーバ400がユーザ端末100からの接続要求時に、IDMと連携したアクセス制御を行い、許可されたユーザ端末100に対して、接続先との間に動的にデータ接続用のP2Pコネクションを形成する。このP2Pの接続が仮想的なメッセージバスとして機能し、ユーザ端末100がそれぞれのデータソースと通信するための機構となる。事前にDMZ上にサーバを設置したり、VPNコネクションを形成したりする必要はない。全てのP2Pコネクション(データパス)は、ユーザアプリケーションからの接続要求に応じて、動的に形成され、アプリケーションの終了に伴い解放される。唯一、シグナリングサーバ400への接続性は担保されている必要があるが、このシグナリングサーバ400との通信は、WebRTCによるP2Pコネクション形成開始・終了時などにのみ行われ、常時データ通信が行われるものではない。このため、エッジデバイスの増加に対してもスケーラビリティを保ちやすい。
また、システムの段階的な移行が容易である点も特徴である。WVMBでは、仮想的なメッセージバスを用いるため、具体的な装置がクラウドやエッジのどこにあっても構わず、WVMBへの接続は、シグナリングサーバ400によって要求に応じて柔軟に制御することができる。このため、例えば、システム導入の初期段階では、ユーザ端末100は、IoTデバイスそのもの、あるいは、複数IoTデバイスを集約したエッジのデータ管理部にWVMB接続すれば良い。また、クラウド型に移行する際には、ユーザ端末100は、クラウドのデータ管理部にWVMB接続すれば良い。ハイブリッド型を使用する際には、アクセスするクラウド/エッジの各データソースへの接続振り分けは、要求に応じてシグナリングサーバ400が担ってくれる。よって、接続先のIPアドレスを事前に各フロントエンドや制御系に設定する必要はない。これにより、システムの移行やエッジの追加・削除・変更といったマネージメントコストを飛躍的に下げることができる。
IPアドレスの変更に対しても柔軟である。特にエッジ環境ではデバイスへのIPアドレスはDHCPなどで与えられるケースが多く、デバイスの再起動によりIPアドレスが変更となることが多い。また近年ではクラウドコンピューティングとしてIaaSを利用することが多いが、これについてもVM(仮想マシン)の再構築を行うと、内部のIPアドレスは変更されてしまうケースが殆どである。
ここで、WVMBでは仮想メッセージバスの形成時にそれぞれのデバイスやクラウド側のサーバに固有で与えられるID(後述するAgent ID)を用いるため、仮想メッセージバスの形成はそれぞれの装置のIPアドレスには依存しない。このため、IPアドレスの変更が頻繁に発生するエッジ環境やIaaS環境においても問題なくシステムを稼働させることができる。
セキュリティの観点でも堅牢である。WVMBではそれぞれのデバイスやエッジ/クラウドコンピューティング環境で外部アクセスポートを開ける必要がない。外部との通信は、常にシグナリングサーバ400により形成されるP2Pコネクションによって行われる。このため、万が一エッジ環境などにマルウェアが侵入したとしても、それによるデバイスやコンピューティング環境への攻撃を困難にすることができる。更に、内部のデバイスやコンピューティング環境内にマルウェアが侵入した場合でも、シグナリングサーバ400側でそれを検知した場合、P2Pコネクションの接続要求を拒否するなどのオペレーションを行うだけで、当該デバイスやコンピューティング環境をシステムから切り離すことができる。これにより、複雑に分散されたハイブリッド環境においても、装置間の接続やセキュリティマネージメントを統合的かつシンプルに実現することができる。
以下、各装置の構成及び動作の例を詳細に説明する。
(装置構成)
各装置の機能構成を図6〜図11を参照して説明する。
図6は、WVMB管理サーバ500の構成図である。WVMB管理サーバ500は、各WVMBエージェントを管理するサーバであり、AgentID払い出し部510、AgentID確認部520、AgentID蓄積部530、シグナリングサーバ接続部540を有する。
AgentID払い出し部510は、各WVMBエージェントに、エージェント固有の一時的なIDを払い出す。払い出されたIDは後述のAgentID蓄積部530に蓄積される。AgentID確認部520は、エージェント−エージェント間を接続してよいか確認する。確認に際しては、後述のAgentID蓄積部530を参照する。
AgentID蓄積部530は、払い出されているAgent IDを蓄積するデータベースである。例えば、Agent ID1のエージェントとAgent ID2のエージェントを接続することを要求する接続要求に対する接続可否判断において、Agent ID1とAgent ID2が、払い出されているAgent IDとしてAgentID蓄積部530に蓄積されている場合に、接続可であると判断できる。なお、これは一例である。
シグナリングサーバ接続部540は、シグナリングサーバ400との接続処理及びデータ通信を行う機能部である。
図7は、シグナリングサーバ400の構成図である。シグナリングサーバ400は、WVMBエージェント間をWebRTCによりP2P接続するために、シグナリングメッセージを交換するサーバである。
図7に示すとおり、シグナリングサーバ400は、WVMBエージェント接続部410、エージェント間接続管理部420、シグナリングメッセージ処理部430、WVMB管理サーバ接続部440を有する。
WVMBエージェント接続部410は、各WVMBエージェントとの接続処理及びデータ通信を行う機能部である。エージェント間接続管理部420は、WVMB管理サーバ500に問い合わせを行い、エージェント間の接続可否の判定、インターネット経由接続可否の判定などを行う。エージェント間接続管理部420は、例えば、WVMB管理サーバ500に問い合わせを行うことなく、エージェント間の接続可否の判定を行う機能を備えてもよい。
シグナリングメッセージ処理部430は、エージェント間のシグナリングメッセージの中継処理を行う。シグナリングメッセージとして、例えば、オファーSDP(接続要求)、アンサーSDP、ICE candidate等がある。ICE candidateがSDPの中に含まれるシグナリングメッセージもある。
また、シグナリングメッセージ処理部430は、エージェント間接続管理部420からの指示に従い、メッセージの破棄や変更処理を行う。例えば、エージェント間接続不可の場合は当該エージェント間で送受信される全メッセージを破棄し、インターネット経由接続が不可の場合は、該当のICE candidateメッセージ(例:STUNやTURNで取得したアドレスを含むメッセージ)を破棄する。WVMB管理サーバ接続部440は、WVMB管理サーバ500との接続処理やデータ通信を行う。
なお、WVMB管理サーバ500とシグナリングサーバ400を1つの装置として構成してもよい。1つの装置として構成する場合、本実施の形態で説明されるWVMB管理サーバ500とシグナリングサーバ400との間のデータ送受信処理等は、当該1つの装置の内部の動作に相当する。
続いて、ユーザ端末100、IoTデバイス300、エッジコンピューティング装置200、クラウドコンピューティング装置600について説明する。これらの装置は、WVMBを用い、互いに接続する装置である。ユーザ端末100は、センサデータのモニタリング等を行う。IoTデバイス300(例:センサ機器)は、センサデータをエッジコンピューティング装置200に送信する等の処理を行う。エッジコンピューティング装置200は、センサデータの収集とユーザ端末100へのモニタリングデータの送信を行う。また、クラウドコンピューティング装置600も、センサデータの収集とユーザ端末100へのモニタリングデータの送信を行うことが可能である。
各装置はWVMBエージェントを内包しており、このエージェントを経由してWebRTCのデータチャネルにより装置間のデータ通信が行われる。ユーザ端末100、IoTデバイス300、エッジコンピューティング装置200、クラウドコンピューティング装置600をいずれもメッセージバスエージェント装置と称してもよい。
図8は、ユーザ端末100の構成図である。図8に示すように、ユーザ端末100は、WVMBエージェント110と、モニタリングを実行するモニタリングアプリケーション120を有する。
WVMBエージェント110は、WVMBの通信処理を行うエージェント部であり、アプリケーション接続部111、WVMB接続部112、シグナリングサーバ接続部113、AgentID登録部114を有する。
アプリケーション接続部111は、モニタリングアプリケーション120と接続し、モニタリングアプリケーション120から渡されたデータをWVMB接続部112に送信したり、WVMB接続部112から渡されたデータをモニタリングアプリケーション120に送信する。WVMB接続部112は、他のWVMBエージェントと接続し、エージェント間でWebRTCにより構築されたデータチャネルを用いたデータ送受信処理を行う。
シグナリングサーバ接続部113は、WVMBエージェント間のP2P接続処理を行うため、シグナリングサーバ400と接続し、シグナリングサーバ400とシグナリングメッセージの送受信を行う。AgentID登録部114は、WVMB管理サーバ500より払い出されたAgent IDを登録する。
図9は、エッジコンピューティング装置200の構成図である。図9に示すように、エッジコンピューティング装置200は、WVMBエージェント210と、エッジコンピューティングを実行するエッジコンピューティングアプリケーション220を有する。
図10は、IoTデバイス300の構成図である。当該IoTデバイス300は、センサ機器であることを想定している。図10に示すように、IoTデバイス300は、WVMBエージェント310と、センサ処理を実行するセンサアプリケーション320を有する。
図11は、クラウドコンピューティング装置600の構成図である。図11に示すように、クラウドコンピューティング装置600は、WVMBエージェント610と、クラウドコンピューティングを実行するクラウドコンピューティングアプリケーション620を有する。
図9〜図11に示すように、エッジコンピューティング装置200、IoTデバイス300、クラウドコンピューティング装置600それぞれのWVMBエージェントの構成は、図8に示したWVMBエージェント110の構成と同様であり、その機能も同様である。
上述したWVMB管理サーバ500、シグナリングサーバ400、ユーザ端末100、エッジコンピューティング装置200、IoTデバイス300、クラウドコンピューティング装置600はいずれも、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。図12は、各装置のハードウェア構成例を示す図である。図12の装置は、それぞれバスBで相互に接続されているドライブ装置700、補助記憶装置702、メモリ装置703、CPU704、インタフェース装置705、表示装置706、及び入力装置707等を有する。
当該装置(WVMB管理サーバ500、シグナリングサーバ400、ユーザ端末100、エッジコンピューティング装置200、IoTデバイス300、又は、クラウドコンピューティング装置600)での処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体701によって提供される。プログラムを記憶した記録媒体701がドライブ装置700にセットされると、プログラムが記録媒体701からドライブ装置700を介して補助記憶装置702にインストールされる。但し、プログラムのインストールは必ずしも記録媒体701より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置702は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置703は、プログラムの起動指示があった場合に、補助記憶装置702からプログラムを読み出して格納する。CPU704は、メモリ装置703に格納されたプログラムに従って当該装置に係る機能を実現する。インタフェース装置705は、ネットワークに接続するためのインタフェースとして用いられる。表示装置706はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置707はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。なお、ユーザ端末100以外の装置においては、表示装置706及び/又は入力装置707を備えないこととしてもよい。
(動作例)
次に、上記のように構成される各装置からなるシステムにおける動作例(シーケンス例)を図13のシーケンス図を参照して説明する。
なお、ここでは、一例として、エッジコンピューティングのケースについて説明する。具体的には、以下の処理内容を想定している。
(1)IoTデバイス300(ここでは温度センサ)からWVMBを用い、エッジコンピューティング装置200に毎秒データを送信し、エッジコンピューティング装置200内のDBに保存する。
(2)ユーザはWVMBを用い、(1)で保存されたデータにアクセスし、それをダッシュボードUI等のグラフで確認する。
<ステップS100:エッジコンピューティング環境の登録>
図13のステップS101において、エッジコンピューティング装置200の初期設置時に、WVMB管理サーバ500のAgentID払い出し部510よりエッジコンピューティング装置200固有で払い出されるWVMB agent ID(Agent ID)を、WVMBエージェント210におけるAgentID登録部214へ登録する。なお、払い出し手段は特定の手段に限られないが、例えば、メールによる払い出し、専用のWebコンソールによる払い出し、オペレーターを経由した口頭での払い出し、などがある。
Agent IDの登録が完了すると、ステップS102において、WVMBエージェント210は、シグナリングサーバ接続部213により、シグナリングサーバ400へ接続する。
<ステップS200:IoTデバイスの登録とコンピューティング環境への接続>
ステップS201において、IoTデバイス300の初期設置時に、WVMB管理サーバ500のAgentID払い出し部510よりIoTデバイス300固有で払い出されるAgent IDを、WVMBエージェント310におけるAgentID登録部314へ登録する。払い出し手段については前述したとおりである。
登録が完了すると、ステップS202において、WVMBエージェント310はシグナリングサーバ接続部313によりシグナリングサーバ400へ常時接続を開始する。接続を開始したら、ステップS203において、WVMBエージェント310は、シグナリングサーバ400に対して、ステップS100で設定したエッジコンピューティング装置200に対する接続要求(例:オファーSDP等のシグナリングメッセージ)の送信を、エッジコンピューティング装置200のAgent IDを指定することにより実行する。接続要求のシグナリングメッセージには接続元のAgent IDも含まれる。
ステップS204において、シグナリングサーバ400では、エージェント間接続管理部420が、接続元及び接続先のAgent IDをWVMB管理サーバ500に問い合わせることで、接続元と接続先間の接続が許可されているかどうかを確認する。シグナリングサーバ400は、接続が許可されていることを示す情報を受信した場合にのみ、シグナリングメッセージ処理部430により、シグナリングメッセージ(例:アンサーSDP)を対向のエッジコンピューティング装置200のWVMBエージェント210に送信する(ステップS205)。
その後、例えばIoTデバイス300とエッジコンピューティング装置200間で、シグナリングサーバ400を介したICE candidateメッセージの交換を経て、ステップS206において、IoTデバイス300のWVMBエージェント310におけるWVMB接続部312と、エッジコンピューティング装置200のWVMBエージェント210におけるWVMB接続部212とにより、IoTデバイス300とエッジコンピューティング装置200の間に、WebRTCによるデータチャネルのP2Pコネクションが形成され、双方向のデータ通信可能状態となる。
<ステップS300:センサデータの送信>
ステップS301において、IoTデバイス300におけるセンサアプリケーション320により毎秒取得したセンサデータをアプリケーション接続部311が受信すると、WVMB接続部312は、当該センサデータをエッジコンピューティング装置200に送信する。
ステップS302において、WVMB接続部212によりデータを受信したエッジコンピューティング装置200では、アプリケーション接続部211経由でエッジコンピューティングアプリケーション220にそのデータが渡され、それを内部のDBに保存する。
<ステップS400:ユーザによるセンサデータの確認>
ステップS401において、ユーザ端末100は、WVMB管理サーバ500に接続し、WVMB管理サーバ500よりエッジコンピューティング装置200のAgent IDを取得する。なお、この時、ユーザ端末100に対して一時的なAgent IDがWVMB管理サーバ500から付与される。
ステップS402において、ユーザ端末100は、シグナリングサーバ400に接続し、エッジコンピューティング装置200のAgent IDを指定することにより、エッジコンピューティング装置200への接続要求を開始する。接続要求にはユーザ端末100の一時的なAgent IDも含まれる。
ステップS403において、シグナリングサーバ400では、エージェント間接続管理部420が、接続元及び接続先のAgent IDをWVMB管理サーバ500に問い合わせることで、接続元と接続先間の接続が許可されているかどうかを確認する。シグナリングサーバ400は、接続が許可されていることを示す情報を受信した場合にのみ、シグナリングメッセージ処理部430により、シグナリングメッセージを対向のエッジコンピューティング装置200のWVMBエージェント210に送信する(ステップS404)。
ステップS405において、ユーザ端末100のWVMBエージェント110におけるWVMB接続部112と、エッジコンピューティング装置200のWVMBエージェント210におけるWVMB接続部212とにより、ユーザ端末100とエッジコンピューティング装置200との間に、WebRTCによるデータチャネルのP2Pコネクションが形成され、双方向のデータ通信可能状態となる。
ステップS406において、エッジコンピューティング装置200のアプリケーション220のDBに保存されたセンサデータは、WVMB接続部212により、ユーザ端末100のWVMB接続部112に送信され、当該センサデータをモニタリングアプリケーション120が取得する。モニタリングアプリケーション120により、ユーザ端末100上でセンサデータのグラフ表示がなされる。
(バリエーション、効果など)
上記のステップS400(ユーザによるセンサデータの確認)において、図14に示すように、ユーザ端末100はエッジの拠点20のローカルNWに存在してもよいし、リモート環境に存在してもよい。WebRTCでは、前述したICEと呼ばれるプロトコルにより、ローカル・リモートに関わらずP2Pコネクションを形成することができる。このため、ユーザが接続しているNW環境はどこでも良い。これにより、ユーザ端末100の場所に応じた接続先の変更やVPN接続などが不要となる。
また、図15に示すように、ユーザ端末100によるリモートからのエッジコンピューティング装置200等への接続を拒否したい場合には、シグナリングサーバ400のシグナリングメッセージ処理部430が、ICE candidateメッセージのうちリモート経由の経路候補情報を破棄すれば良い。これにより、ローカル環境からのみアクセス可能とすることも実現できる。リモート経由の経路候補情報は、例えば、NAT traversal接続を示す情報(STUNにより取得したグルーバルIPアドレス、及び/又は、TURNのグルーバルIPアドレスを含む情報)である。
また、上記制御を接続ユーザごとに行うことで、例えば管理者にはリモートからの接続を許可し、担当者はローカルNW接続時のみアクセスを許すといった柔軟なアクセス制御が可能となる。また、接続先についても、単にリモート経由の経路候補を落とすのではなく、そのグローバルIPアドレスをチェックすることで、特定のリモート拠点からのアクセスは可能とするといった制御も可能である。
なお、上述した例では、一例としてエッジコンピューティング装置200へのアクセスを取り上げているが、クラウドコンピューティング装置200へのアクセスについても同様のフローで実現できる。
ハイブリッド環境においては、エッジコンピューティング装置200及びクラウドコンピューティング装置600の双方にWVMBエージェントをインストールし、互いの接続設定を行えば良い。上記の例で言えば、例えば、エッジ環境には毎秒のデータを保存しておき、更に、エッジのWVMBエージェント210がクラウド10に対して、1分毎の平均データを送信する。ユーザは参照したいデータに応じて、接続するWVMBエージェントのAgent IDを選択するだけでよい。このようにして、設置場所に依存しないロケーションフリーなデータアクセスが可能となる。
また、上記フローでは、データの送受信元(WVMBエージェント)は、外部にポートを開放している必要がないことに留意されたい。既に説明したように、データコネクション(P2Pコネクション)は、随時シグナリングサーバ400の制御により動的に形成される。このため、常時サービスポートを開けていることによる外部からのクラッキングは困難となる。本例では、OutgoingのWebRTCに必要となるポート番号だけを開けていればよい。
更に、近年注目を集めているSD−WAN(Software Defined WAN)と連携することで更にセキュリティを高めることができる。例えば、図16に示すようにSD−WANコントローラ800を備える。WVMBへの接続時(P2Pコネクション形成時)に、シグナリングサーバ400がICEより接続UDPポート番号などを抽出しておく。そして、シグナリングサーバ400とSD−WANコントローラ800とが連携し、SD−WANコントローラ800によりクラウド及びエッジのFW(Firewall)設定を変更し、動的に接続可能とする。これにより、マルウェアなどが外部接続することを防ぐことができる。より具体的には、例えば、Outgoingのポートは常時は禁止しておき、シグナリングサーバ400からの要求に応じてSD−WANコントローラ800が、P2P接続形成時のみそのポートや接続先アドレスを開放するというものである。もちろん、P2P切断時には開けたポートは禁止するように制御する。このようにして、更にセキュリティレベルを高めることができる。
(実施の形態のまとめ)
以上、説明したように、本実施の形態によれば、メッセージバス管理サーバ、シグナリングサーバ、第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおいて、前記第1のメッセージバスエージェント装置として使用されるメッセージバスエージェント装置であって、前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを、前記シグナリングサーバに送信するシグナリング手段と、前記シグナリングサーバによるシグナリングメッセージの処理に基づいて、前記第2のメッセージバスエージェント装置との間のコネクションを、仮想メッセージバスとして形成する接続手段とを備えることを特徴とするメッセージバスエージェント装置が提供される。ユーザ端末100、エッジコンピューティング装置200、IoTデバイス300、クラウドコンピューティング装置600はいずれもメッセージバスエージェント装置の例である。
例えば、前記メッセージバス管理サーバにより、前記メッセージバスエージェント装置と前記第2のメッセージバスエージェント装置との接続が許可されている場合に、前記接続手段は、前記第2のメッセージバスエージェント装置との間のコネクションを形成する。
また、本実施の形態によれば、メッセージバス管理サーバ、シグナリングサーバ、第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおける前記シグナリングサーバであって、前記第1のメッセージバスエージェント装置から、前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを受信する受信手段と、前記メッセージバス管理サーバに、前記第1のメッセージバスエージェント装置と前記第2のメッセージバスエージェント装置との間の接続可否を問い合わせ、接続可である場合に、前記第2のメッセージバスエージェント装置にシグナリングメッセージを送信する送信手段とを備えることを特徴とするシグナリングサーバが提供される。シグナリングサーバ400は、上記シグナリングサーバの例である。
また、本実施の形態により、メッセージバス管理サーバ、シグナリングサーバ、第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおける前記メッセージバス管理サーバであって、各メッセージバスエージェント装置に対するエージェントIDを払い出す払い出し手段と、前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを前記第1のメッセージバスエージェント装置から受信した前記シグナリングサーバから、前記第1のメッセージバスエージェント装置と前記第2のメッセージバスエージェント装置との間の接続可否の問い合わせを受信し、接続可否の判断結果を前記シグナリングサーバに送信する送信手段とを備えることを特徴とするメッセージバス管理サーバが提供される。WVMB管理サーバ500は、メッセージバス管理サーバの例である。
(第1項)
メッセージバス管理サーバ、シグナリングサーバ、第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおいて、前記第1のメッセージバスエージェント装置として使用されるメッセージバスエージェント装置であって、
前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを、前記シグナリングサーバに送信するシグナリング手段と、
前記シグナリングサーバによるシグナリングメッセージの処理に基づいて、前記第2のメッセージバスエージェント装置との間のコネクションを、仮想メッセージバスとして形成する接続手段と
を備えることを特徴とするメッセージバスエージェント装置。
(第2項)
前記メッセージバス管理サーバにより、前記メッセージバスエージェント装置と前記第2のメッセージバスエージェント装置との接続が許可されている場合に、前記接続手段は、前記第2のメッセージバスエージェント装置との間のコネクションを形成する
ことを特徴とする第1項に記載のメッセージバスエージェント装置。
(第3項)
メッセージバス管理サーバ、シグナリングサーバ、第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおける前記シグナリングサーバであって、
前記第1のメッセージバスエージェント装置から、前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを受信する受信手段と、
前記メッセージバス管理サーバに、前記第1のメッセージバスエージェント装置と前記第2のメッセージバスエージェント装置との間の接続可否を問い合わせ、接続可である場合に、前記第2のメッセージバスエージェント装置にシグナリングメッセージを送信する送信手段と
を備えることを特徴とするシグナリングサーバ。
(第4項)
メッセージバス管理サーバ、シグナリングサーバ、第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおける前記メッセージバス管理サーバであって、
各メッセージバスエージェント装置に対するエージェントIDを払い出す払い出し手段と、
前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを前記第1のメッセージバスエージェント装置から受信した前記シグナリングサーバから、前記第1のメッセージバスエージェント装置と前記第2のメッセージバスエージェント装置との間の接続可否の問い合わせを受信し、接続可否の判断結果を前記シグナリングサーバに送信する送信手段と
を備えることを特徴とするメッセージバス管理サーバ。
(第5項)
メッセージバス管理サーバ、シグナリングサーバ、第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおいて、前記第1のメッセージバスエージェント装置として使用されるメッセージバスエージェント装置が実行するコネクション形成方法であって、
前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを、前記シグナリングサーバに送信するシグナリングステップと、
前記シグナリングサーバによるシグナリングメッセージの処理に基づいて、前記第2のメッセージバスエージェント装置との間のコネクションを、仮想メッセージバスとして形成する接続ステップと
を備えることを特徴とするコネクション形成方法。
(第6項)
コンピュータを、第1項又は第2項に記載のメッセージバスエージェント装置における各手段として機能させるためのプログラム。
(第7項)
コンピュータを、第3項に記載のシグナリングサーバにおける各手段として機能させるためのプログラム。
(第8項)
コンピュータを、第4項に記載のメッセージバス管理サーバにおける各手段として機能させるためのプログラム。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 ユーザ端末
110、210、310、610 WVMBエージェント
111、211、311、611 アプリケーション接続部
112、212、312、612 WVMB接続部
113、213、313、613 シグナリングサーバ接続部
114、214、314、614 AgentID登録部
120 モニタリングアプリケーション
200 エッジコンピューティング装置
220 エッジコンピューティングアプリケーション
300 IoTデバイス
320 センサアプリケーション
400 シグナリングサーバ
410 WVMBエージェント接続部
420 エージェント間接続管理部
430 シグナリングメッセージ処理部
440 WVMB管理サーバ接続部
500 WVMB管理サーバ
510 AgentID払い出し部
520 AgentID確認部
530 AgentID蓄積部
540 シグナリングサーバ接続部
600 クラウドコンピューティング装置
620 クラウドコンピューティングアプリケーション
700 ドライブ装置
701 記録媒体
702 補助記憶装置
703 メモリ装置
704 CPU
705 インタフェース装置
706 表示装置
707 入力装置

Claims (7)

  1. メッセージバス管理サーバ、シグナリングサーバ、IoTデバイスである第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおいて、前記第1のメッセージバスエージェント装置として使用されるIoTデバイスであって、
    前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを、前記シグナリングサーバに送信するシグナリング手段と、
    前記シグナリングサーバによるシグナリングメッセージの処理に基づいて、前記第2のメッセージバスエージェント装置との間のコネクションを、仮想メッセージバスとして形成する接続手段とを備え、
    前記メッセージバス管理サーバにより、前記IoTデバイスと前記第2のメッセージバスエージェント装置との接続が許可されている場合に、前記接続手段は、前記第2のメッセージバスエージェント装置との間に前記仮想メッセージバスを形成し、
    前記仮想メッセージバスは、アプリケーションからの接続要求に応じて、動的に形成され、アプリケーションの終了に伴い解放されるメッセージバスである
    ことを特徴とするIoTデバイス。
  2. メッセージバス管理サーバ、シグナリングサーバ、IoTデバイスである第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおける前記シグナリングサーバであって、
    前記IoTデバイスから、前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを受信するシグナリングメッセージ処理部と、
    前記メッセージバス管理サーバに、前記IoTデバイスと前記第2のメッセージバスエージェント装置との間の接続可否を問い合わせ、前記メッセージバス管理サーバにより、前記IoTデバイスと前記第2のメッセージバスエージェント装置との間が接続可であると判定された場合に、前記メッセージバス管理サーバから、接続可であることを示す情報を受信するエージェント間接続管理部と、を備え、
    前記シグナリングメッセージ処理部は、前記IoTデバイスと前記第2のメッセージバスエージェント装置との間が接続可である場合に、前記第2のメッセージバスエージェント装置にシグナリングメッセージを送信し、
    前記シグナリングメッセージに基づいて、前記IoTデバイスと前記第2のメッセージバスエージェント装置との間に仮想メッセージバスが形成され、
    前記仮想メッセージバスは、アプリケーションからの接続要求に応じて、動的に形成され、アプリケーションの終了に伴い解放されるメッセージバスである
    ことを特徴とするシグナリングサーバ。
  3. メッセージバス管理サーバ、シグナリングサーバ、IoTデバイスである第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおける前記メッセージバス管理サーバであって、
    各メッセージバスエージェント装置に対するエージェントIDを払い出すエージェントID払い出しと、
    払い出されているエージェントIDを蓄積するエージェントID蓄積部と、
    前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを前記IoTデバイスから受信した前記シグナリングサーバから、前記IoTデバイスと前記第2のメッセージバスエージェント装置との間の接続可否の問い合わせを受信するシグナリングサーバ接続部と
    前記IoTデバイスのエージェントIDと前記第2のメッセージバスエージェント装置のエージェントIDが前記エージェントID蓄積部に蓄積されているか否かを確認することにより、前記IoTデバイスと前記第2のメッセージバスエージェント装置との間の接続可否の判断を行うエージェントID確認部と、を備え、
    前記シグナリングサーバ接続部は、前記判断の結果を前記シグナリングサーバに送信し、
    前記IoTデバイスと前記第2のメッセージバスエージェント装置との間が接続可である場合に、前記IoTデバイスと前記第2のメッセージバスエージェント装置との間に仮想メッセージバスが形成され、
    前記仮想メッセージバスは、アプリケーションからの接続要求に応じて、動的に形成され、アプリケーションの終了に伴い解放されるメッセージバスである
    ことを特徴とするメッセージバス管理サーバ。
  4. メッセージバス管理サーバ、シグナリングサーバ、IoTデバイスである第1のメッセージバスエージェント装置、及び、第2のメッセージバスエージェント装置を含むシステムにおいて、前記第1のメッセージバスエージェント装置として使用されるIoTデバイスが実行するコネクション形成方法であって、
    前記メッセージバス管理サーバから払い出された前記第2のメッセージバスエージェント装置のエージェントIDを接続先として指定したシグナリングメッセージを、前記シグナリングサーバに送信するシグナリングステップと、
    前記シグナリングサーバによるシグナリングメッセージの処理に基づいて、前記第2のメッセージバスエージェント装置との間のコネクションを、仮想メッセージバスとして形成する接続ステップとを備え、
    前記メッセージバス管理サーバにより、前記IoTデバイスと前記第2のメッセージバスエージェント装置との接続が許可されている場合に、前記接続ステップにおいて、前記第2のメッセージバスエージェント装置との間に前記仮想メッセージバスを形成し、
    前記仮想メッセージバスは、アプリケーションからの接続要求に応じて、動的に形成され、アプリケーションの終了に伴い解放されるメッセージバスである
    ことを特徴とするコネクション形成方法。
  5. コンピュータを、請求項1に記載のIoTデバイスにおける各手段として機能させるためのプログラム。
  6. コンピュータを、請求項2に記載のシグナリングサーバにおける各として機能させるためのプログラム。
  7. コンピュータを、請求項3に記載のメッセージバス管理サーバにおける各として機能させるためのプログラム。
JP2017098501A 2017-03-23 2017-05-17 IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム Active JP6749281B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2018/006936 WO2018173639A1 (ja) 2017-03-23 2018-02-26 メッセージバスエージェント装置、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム
US16/495,233 US11146643B2 (en) 2017-03-23 2018-02-26 Message bus agent apparatus, signaling server, message bus management server, connection establishment method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762475286P 2017-03-23 2017-03-23
US62/475,286 2017-03-23

Publications (2)

Publication Number Publication Date
JP2018160879A JP2018160879A (ja) 2018-10-11
JP6749281B2 true JP6749281B2 (ja) 2020-09-02

Family

ID=63795797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017098501A Active JP6749281B2 (ja) 2017-03-23 2017-05-17 IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム

Country Status (2)

Country Link
US (1) US11146643B2 (ja)
JP (1) JP6749281B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6749281B2 (ja) * 2017-03-23 2020-09-02 エヌ・ティ・ティ・コミュニケーションズ株式会社 IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム
US20180324063A1 (en) * 2017-05-02 2018-11-08 Finderscopus, Inc. Cloud-based system for device monitoring and control
JP7316054B2 (ja) * 2019-01-31 2023-07-27 日本無線株式会社 同報配信システム
US10848567B1 (en) * 2019-11-29 2020-11-24 Cygnus, LLC Remote support for IoT devices
US11991150B2 (en) * 2020-09-25 2024-05-21 Electronics And Telecommunications Research Institute Apparatus and method for providing remote work environment
WO2022076995A1 (en) * 2020-10-09 2022-04-14 Schlumberger Technology Corporation Devices and systems that connect iiot edge devices and applications to a corporate data network
US12039382B2 (en) 2022-02-28 2024-07-16 Bank Of America Corporation Real time intelligent message bus management tool
JP2024085855A (ja) * 2022-12-15 2024-06-27 株式会社日立情報通信エンジニアリング 通信路確立システム及び方法

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003046A1 (en) * 2001-12-12 2004-01-01 3Com Corporation System and methods for providing instant services in an internet protocol network
US9668166B2 (en) * 2013-02-05 2017-05-30 Qualcomm Incorporated Quality of service for web client based sessions
US20140348044A1 (en) * 2013-05-21 2014-11-27 Ecrio, Inc. Real-Time Rich Communications Client Architecture
JP2014241024A (ja) 2013-06-11 2014-12-25 日本電信電話株式会社 センサネットワークシステム、サーバ装置およびセンサネットワーク制御プログラム
US9756452B2 (en) * 2013-09-16 2017-09-05 Qualcomm Incorporated Presence and on-device proxying
US9432794B2 (en) * 2014-02-24 2016-08-30 International Business Machines Corporation Techniques for mobility-aware dynamic service placement in mobile clouds
US10652504B2 (en) * 2014-03-28 2020-05-12 Aetonix Systems Simple video communication platform
US9648073B2 (en) * 2014-04-10 2017-05-09 Qualcomm Incorporated Streaming control for real-time transport protocol
US9648066B2 (en) * 2014-08-29 2017-05-09 The Boeing Company Peer to peer provisioning of data across networks
US20160119788A1 (en) * 2014-10-22 2016-04-28 Qualcomm Incorporated Authentication of browser-based services via operator network
US9917746B2 (en) * 2014-11-04 2018-03-13 Futurewei Technologies, Inc. Adaptive allocation of server resources
KR102309744B1 (ko) * 2014-11-21 2021-10-07 삼성전자 주식회사 세션 기반 웹 서비스를 제공하는 방법 및 장치
US20160149836A1 (en) * 2014-11-26 2016-05-26 Ecrio, Inc. Communication and Messaging Architecture for Affiliated Real-Time Rich Communications Client Devices
US20160171090A1 (en) * 2014-12-11 2016-06-16 University Of Connecticut Systems and Methods for Collaborative Project Analysis
US9769536B2 (en) * 2014-12-26 2017-09-19 System73, Inc. Method and system for adaptive virtual broadcasting of digital content
US9762556B2 (en) * 2015-01-09 2017-09-12 Verisign, Inc. Registering, managing, and communicating with IOT devices using domain name system processes
US9935950B2 (en) * 2015-01-12 2018-04-03 Verisign, Inc. Systems and methods for establishing ownership and delegation ownership of IOT devices using domain name system services
US20160205106A1 (en) * 2015-01-12 2016-07-14 Verisign, Inc. Systems and methods for providing iot services
JP6410631B2 (ja) * 2015-02-17 2018-10-24 日本電信電話株式会社 通信システム、通信方法およびプログラム
US9699237B2 (en) * 2015-03-30 2017-07-04 Oracle International Corporation Managed media relay selection for real-time communications
JP2016212596A (ja) * 2015-05-07 2016-12-15 Kddi株式会社 端末と周辺機器との間でピアツーピア通信を確立する方法及びシステム
US9838204B2 (en) * 2015-05-14 2017-12-05 Verizon Patent And Licensing Inc. IoT communication utilizing secure asynchronous P2P communication and data exchange
US10469464B2 (en) * 2015-06-09 2019-11-05 Intel Corporation Self-configuring key management system for an internet of things network
US20170060112A1 (en) * 2015-08-24 2017-03-02 Katrina Danielle PIRNER Control program for accessing browser data and for controlling appliance
US9871787B2 (en) * 2016-02-23 2018-01-16 Assured Information Security, Inc. Authentication processing for a plurality of self-encrypting storage devices
US10135791B2 (en) * 2015-08-25 2018-11-20 Anchorfree Inc. Secure communications with internet-enabled devices
WO2017035536A1 (en) * 2015-08-27 2017-03-02 FogHorn Systems, Inc. Edge intelligence platform, and internet of things sensor streams system
US10007513B2 (en) * 2015-08-27 2018-06-26 FogHorn Systems, Inc. Edge intelligence platform, and internet of things sensor streams system
US9584440B1 (en) * 2015-10-12 2017-02-28 Xirsys Llc Real-time distributed tree
US11388138B2 (en) * 2015-10-14 2022-07-12 Ntt Communications Corporation Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
US10432461B2 (en) * 2015-12-04 2019-10-01 T-Mobile Usa, Inc. Peer-to-peer distribution of radio protocol data for software defined radio (SDR) updates
US9923821B2 (en) * 2015-12-23 2018-03-20 Intel Corporation Managing communication congestion for internet of things devices
US10097379B2 (en) * 2015-12-23 2018-10-09 Intel Corporation Managing communication congestion for internet of things devices
US10057150B2 (en) * 2015-12-23 2018-08-21 Intel Corporation Managing communication congestion for internet of things devices
US9811387B2 (en) * 2016-02-11 2017-11-07 International Business Machines Corporation Distributed load processing using sampled clusters of location-based internet of things devices
US10264066B2 (en) * 2016-05-10 2019-04-16 Sap Portals Israel Ltd Peer-to-peer data sharing between internet-of-things platforms
US10375079B2 (en) * 2016-06-29 2019-08-06 Mcafee, Llc Distributed communication between internet of things devices
US9948738B2 (en) * 2016-07-11 2018-04-17 KAV Enterprise, Inc. Real-time data acquisition using peer-to-peer technologies
CN106211359B (zh) * 2016-07-18 2020-01-03 上海小蚁科技有限公司 使装置获得服务的方法以及装置
US10484545B2 (en) * 2016-08-04 2019-11-19 Telemessage Method for optimizing quality of experience in mixed managed and unmanaged network environments with governance and regulation constraints
US10447683B1 (en) * 2016-11-17 2019-10-15 Amazon Technologies, Inc. Zero-touch provisioning of IOT devices with multi-factor authentication
US10320832B2 (en) * 2016-12-09 2019-06-11 Sap Se Attack protection for WebRTC providers
WO2018126029A2 (en) * 2016-12-30 2018-07-05 Intel Corporation Blockchains for securing iot devices
US11405452B2 (en) * 2017-01-04 2022-08-02 Sap Portals Israel Ltd. Data routing in peer-to-peer networks
US10454977B2 (en) * 2017-02-14 2019-10-22 At&T Intellectual Property I, L.P. Systems and methods for allocating and managing resources in an internet of things environment using location based focus of attention
US10600083B2 (en) * 2017-03-03 2020-03-24 Adobe Inc. Simulation of messages from internet of things (IoT) devices for digital signage
JP6749281B2 (ja) * 2017-03-23 2020-09-02 エヌ・ティ・ティ・コミュニケーションズ株式会社 IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム
US10644928B2 (en) * 2017-05-02 2020-05-05 Hanwha Techwin Co., Ltd. Device, system, and method to perform real-time communication
US10735284B2 (en) * 2017-12-15 2020-08-04 International Business Machines Corporation System and method for managing a moving peer-to-peer network
GB2569804A (en) * 2017-12-22 2019-07-03 British Telecomm Device authentication
US10644961B2 (en) * 2018-01-12 2020-05-05 Intel Corporation Self-adjusting data processing system

Also Published As

Publication number Publication date
US11146643B2 (en) 2021-10-12
US20200021660A1 (en) 2020-01-16
JP2018160879A (ja) 2018-10-11

Similar Documents

Publication Publication Date Title
JP6749281B2 (ja) IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム
CN111736955B (zh) 一种数据存储方法、装置、设备及可读存储介质
US9007945B2 (en) Automated network service discovery and communication
EP2999194A1 (en) Method and apparatus for accessing network by device
US9794154B2 (en) Selective IP address allocation for probes that do not have assigned IP addresses
CN106790759B (zh) 基于SDN的IPv4/IPv6转换系统和方法
CN104683435B (zh) 网络系统、保持连接方法、电子设备、服务器
CN106936935B (zh) 一种远程控制方法及装置
CN114499935B (zh) 云平台的访问方法、装置、设备及存储介质
CN105429884A (zh) 通过终端来管理不同网络中路由器的方法和系统
JP7306480B2 (ja) 制御装置、制御方法、及びプログラム
CN106603257B (zh) 一种确定工位与交换机端口的关联关系的方法
JP2015153076A (ja) 通信装置、方法及びプログラム
WO2018173639A1 (ja) メッセージバスエージェント装置、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム
CN105516121B (zh) 无线局域网中ac与ap通信的方法及系统
JPWO2018037893A1 (ja) ポータルサーバを管理する方法、装置およびシステム
JP2013115777A (ja) 中継サーバ及び中継通信システム
JP4992944B2 (ja) 中継サーバ及び中継通信システム
CN106506238A (zh) 一种网元管理方法及系统
JP2012231265A (ja) 中継サーバ及び中継通信システム
JP6422345B2 (ja) 管理装置、管理システム、管理方法及びプログラム
JP5633749B2 (ja) 中継サーバ及び中継通信システム
JP5550764B1 (ja) オープンフローネットワークシステム
US10135695B1 (en) System and method for managing a remote device
JP5920563B2 (ja) 中継サーバ及び中継通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180227

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180227

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180604

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181203

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20181210

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20190111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200811

R150 Certificate of patent or registration of utility model

Ref document number: 6749281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350