(57)【特許請求の範囲】
【請求項１】
第１の端末及び第２の端末に対してルームサイトを提供するシグナリングサーバを用いた接続方法であって、
第１の端末、第２の端末及び前記シグナリングサーバと通信可能なクラウドサーバを更に有し、
第１の端末が、前記クラウドサーバへページ要求を送信し、前記クラウドサーバとの間で認証シーケンスを実行した後、ユーザに第２の端末を選択させる第１のステップと、
前記クラウドサーバが、シグナリング接続要求を、前記シグナリングサーバへ送信する第２のステップと、
前記シグナリングサーバが、ランダムな識別子を発行し、当該識別子に基づくルームサイトを作成すると共に、当該識別子に基づくシグナリング接続情報を前記クラウドサーバへ応答する第３のステップと、
前記クラウドサーバが、前記シグナリング接続情報を、第１の端末へ応答する第４のステップと、
前記クラウドサーバが、前記シグナリング接続情報を、他の装置を介して第２の端末へ通知する第５のステップと
を有し、第１の端末及び第２の端末をそれぞれ、前記シグナリング接続情報を用いて、前記シグナリングサーバのルームサイトを介して通信させることを特徴とする接続方法。
【請求項２】
前記シグナリングサーバは、ＷｅｂＲＴＣ(Web Real-Time Communication)に基づいて機能し、
第１の端末は、Ｗｅｂサーバとして機能する前記クラウドサーバに対してブラウザによって通信し、
前記識別子は、ルームサイト固有のルームＩＤ(IDentifier)であり、
前記シグナリング接続情報は、シグナリングＵＲＬ(Uniform Resource Locator)及びルームＩＤを含む
ことを特徴とする請求項１に記載の接続方法。
【請求項３】
トピックに基づくメッセージを交換するブローカを更に有し、
第２の端末は、前記ブローカに対して、デバイス接続情報を予め送信しており、
第１のステップについて、前記クラウドサーバは、第１の端末と通信すべき第２の端末を特定した後、前記ブローカに対して、第２の端末の前記デバイス接続情報を送信し、
第４のステップについて、前記クラウドサーバは、前記シグナリング接続情報と共に、前記デバイス接続情報を、第１の端末へ応答し、
第１の端末及び第２の端末をそれぞれ、更に前記デバイス接続情報を用いて、前記ブローカを介して通信させることを特徴とする請求項１又は２に記載の接続方法。
【請求項４】
前記ブローカは、ＭＱＴＴ(Message Queue Telemetry Transport)に基づいて機能し、
前記デバイス接続情報は、ブローカＵＲＬ及びトピックを含む
ことを特徴とする請求項３に記載の接続方法。
【請求項５】
第１のステップにおける認証機能について、
前記クラウドサーバは、第１の端末からページ要求を受信した際に、認証フォームを第１の端末へ送信し、ユーザに認証情報を入力させ、当該認証情報を第１の端末から受信し、認証成否を判定する第１１のステップと、
前記クラウドサーバは、認証成功後、接続可能な複数の第２の端末のリストを第１の端末へ送信し、ユーザに第２の端末を選択させ、選択された第２の端末の端末識別子を第１の端末から受信し、第１の端末と通信すべき第２の端末を特定する第１２のステップと
を有することを特徴とする請求項１から４のいずれか１項に記載の接続方法。
【請求項６】
請求項１から５のいずれか１項に記載の接続方法について、
第１の端末及び第２の端末は、ユーザ操作可能な端末であり、
ビデオ会議が開始される毎に、ランダムな識別子に基づくルームサイトが提供される
ことを特徴とするビデオ会議接続方法。
【請求項７】
請求項１から５のいずれか１項に記載の接続方法について、
第１の端末は、ユーザインタフェースとして、ユーザ操作可能なタッチパネルディスプレイ、又は、ディスプレイとユーザ操作デバイスとのセット、を有する端末であり、
第２の端末は、操作インタフェースとして、建機の操作部に取り付けられた操作制御装置を有し、視界インタフェースとして、建機の操縦席から見た映像を撮影するカメラを有する建機であり、
第１の端末から第２の端末に対する遠隔操作が開始される毎に、ランダムな識別子に基づくルームサイトが提供される
ことを特徴とする建機の遠隔操作方法。
【請求項８】
第１の端末は、操作情報を、前記ブローカを介して第２の端末へ送信し、
第２の端末は、状態情報を、前記ブローカを介して第１の端末へ送信すると共に、カメラによって撮影された映像を、前記シグナリングサーバを介して第１の端末へ送信する
ことを特徴とする請求項７に記載の建機の遠隔操作方法。
【請求項９】
第１の端末及び第２の端末と、ルームサイトを提供するシグナリングサーバと通信可能なクラウドサーバであって、
第１の端末から、ページ要求を受信して認証シーケンスを実行した後、ユーザに第２の端末を選択させるページ要求受信手段と、
第２の端末が選択された後、シグナリング接続要求を前記シグナリングサーバへ送信し、前記シグナリングサーバから、ランダムな識別子に基づいて作成されたルームサイトにおけるシグナリング接続情報を受信するシグナリング接続要求手段と、
前記シグナリング接続情報を、第１の端末へ応答する応答手段と、
前記シグナリング接続情報を、他の装置を介して第２の端末へ通知する接続情報通知手段と
を有し、第１の端末及び第２の端末をそれぞれ、前記シグナリング接続情報を用いて、前記シグナリングサーバのルームサイトを介して通信させることを特徴とするクラウドサーバ。
【請求項１０】
第１の端末及び第２の端末と、ルームサイトを提供するシグナリングサーバと通信可能なクラウドサーバに搭載されたコンピュータを機能させるプログラムであって、
第１の端末から、ページ要求を受信して認証シーケンスを実行した後、ユーザに第２の端末を選択させるページ要求受信手段と、
第２の端末が選択された後、シグナリング接続要求を前記シグナリングサーバへ送信し、前記シグナリングサーバから、ランダムな識別子に基づいて作成されたルームサイトにおけるシグナリング接続情報を受信するシグナリング接続要求手段と、
前記シグナリング接続情報を、第１の端末へ応答する応答手段と、
前記シグナリング接続情報を、他の装置を介して第２の端末へ通知する接続情報通知手段と
してコンピュータを機能させ、第１の端末及び第２の端末をそれぞれ、前記シグナリング接続情報を用いて、前記シグナリングサーバのルームサイトを介して通信させることを特徴とするクラウドサーバのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷｅｂＲＴＣ(Web Real-Time Communication)（登録商標）のようなシグナリングサーバのルームサイトを介して、端末間を接続する技術に関する。
【背景技術】
【０００２】
近年、建設業界では技術労働者の不足が懸念され、建設現場のテレワーク化のために、建機をリアルタイムに遠隔操作する技術が期待されてきている。このような技術は、建設現場に限られず、災害によって人が立ち入ることが困難な地域に対しても需要がある。
遠隔操作システムとしては、現場に配置された無人の「建機」と、オペレータが操作する「端末」とが、ネットワークを介して接続される。建機は、施工現場を撮影するカメラを搭載しており、その映像をリアルタイムに端末へ送信する。オペレータは、端末のディスプレイに表示される映像を視認しながら、端末を操作する。操作信号は、端末から建機へリアルタイムに送信され、その操作信号に応じて建機が駆動制御される。
一般的に、既存の遠隔操作システムによれば、建機及び端末のそれぞれが専用アプリケーションを起動し、専用サイトにログインする操作を必要とする。
【０００３】
映像のようなメディアデータを、端末間でインターネットを介してリアルタイムに送受信するために、ビデオチャットの技術がある。代表的にはＷｅｂＲＴＣがあり、端末にインストールされたブラウザを用いて、ＡＰＩ(Application Programming Interface)を呼び出すことによってコネクションを確立することができる。コネクションは、メディアデータに応じたＱｏＳ(Quality of Service)を保証するべく確立される。ＷｅｂＲＴＣの場合、例えば端末とシグナリングサーバとの間をＷｅｂソケットで接続し、シグナリングサーバを介して端末間で、メディアデータを送受信することができる。
【０００４】
図１は、従来技術におけるビデオ会議のシステム構成図である。
【０００５】
図１によれば、ユーザＡは、端末２Ａからシグナリングサーバ３へ、会議室のルームサイト（roomARAV）の作成を要求する。これに対し、シグナリングサーバ３は、ルームサイトの接続情報（シグナリングＵＲＬ(Uniform Resource Locator)及びルームＩＤ(IDentifier)）（例えばhttps://www.webrtc.com/roomARAV）を、端末２Ａへ応答する。
次に、ユーザＡは、作成されたルームサイトの接続情報を、例えばメールやメッセージを用いて、通話相手となるユーザＢの端末２Ｂへ送信する。
そして、ユーザＡは、端末２Ａのブラウザから、その接続情報を用いて、シグナリングサーバ３のルームサイトへ入室する。ユーザＢも、端末２Ｂのブラウザから、同一の接続情報を用いて、シグナリングサーバ３のルームサイトへ入室する。
これによって、端末２Ａと端末２Ｂとは、シグナリングサーバ３のルームサイトを介して、ＷｅｂＲＴＣのビデオ会議をすることができる。
【０００６】
従来、ユーザにとってできる限り簡易な操作で、端末同士のブラウザ間で、チャットのコネクションを確立する技術がある（例えば特許文献１参照）。この技術によれば、制御サーバは、宛先ユーザの宛先アドレスと、宛先ユーザを識別可能な識別ＵＲＬとを予め記憶する。
送信元ユーザの送信元端末は、宛先ユーザの識別ＵＲＬに向けて、制御サーバへページ要求を送信する。これに対し、制御サーバは、任意の接続ＵＲＬを設定し、送信元端末へ、接続ＵＲＬへアクセスすべきリダイレクト応答を返信すると共に、接続ＵＲＬを含むメッセージを、識別ＵＲＬで識別された宛先ユーザの宛先アドレスへ送信する。
これによって、送信元端末がシグナリングサーバの接続ＵＲＬへアクセスすると共に、宛先ユーザの宛先端末もシグナリングサーバの接続ＵＲＬへアクセスすることによって、コネクションが確立される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第６２７７４５８号公報
【非特許文献】
【０００８】
【非特許文献１】ImageFlux Live Streaming、さくらインターネット株式会社、[online]、［令和２年１２月２３日検索］、インターネット＜URL:https://www.sakura.ad.jp/services/imageflux/livestreaming/＞
【非特許文献２】WebRTC SFU Sora、株式会社時雨堂、[online]、［令和２年１２月２３日検索］、インターネット＜URL:https://sora.shiguredo.jp/＞
【非特許文献３】WebRTC Native Client Momo、株式会社時雨堂、[online]、［令和２年１２月２３日検索］、インターネット＜URL:https://momo.shiguredo.jp/＞
【非特許文献４】AWS IoT Core、アマゾンジャパン合同会社、[online]、［令和２年１２月２３日検索］、インターネット＜URL: https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/mqtt.html＞
【非特許文献５】AWS Cognito、アマゾンジャパン合同会社、[online]、［令和２年１２月２３日検索］、インターネット＜URL:https://aws.amazon.com/jp/cognito/＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
建機の遠隔操作システムにおける事例によれば、建機と端末との間を、ＷｅｂＲＴＣのようなシグナリングサーバによって接続することも想定できる。建機は、カメラによって撮影された映像をオペレータの端末へ送信し、端末に入力されたオペレータの操作信号を受信し、建機自体を駆動制御することができる。しかしながら、以下のような課題を生じる。
【００１０】
第１の課題として、端末から建機へ、シグナリングサーバにおけるルームの接続情報（シグナリングＵＲＬ及びルームＩＤ）を予め送信しても、建機側は無人である。既存のビデオ会議であれば、主催者から受信したメールやメッセージによって、参加者自ら接続情報を認識することができる。勿論、無人の建機に対して、接続情報を予め固定的に設定しておき、常に同一の接続情報で接続することもできる。
しかしながら、悪意の第三者の侵入が絶対に許されない建機の場合、固定的な接続情報を使い回しすることは、セキュリティの観点から許されない。
【００１１】
前述した特許文献１によれば、ユーザにとってできる限り簡易な操作で、端末同士のブラウザ間で、チャットのコネクションを確立することができる。そのために、送信元ユーザがアクセスすべきメッセージ通知サーバのＵＲＬが宛先ユーザと予め対応付けられている。そのために、ＷｅｂＲＴＣサーバへの接続情報をランダムに設定したとしても、メッセージ通知サーバのＵＲＬを知り得る第三者は誰でも、宛先ユーザの宛先端末とコネクションを確立することができる。結局、第１の課題を解決するものではない。
【００１２】
第２の課題として、無人の建機が、端末を操作するオペレータを、直接的に認証することも問題となる。認証情報が端末側で漏洩した場合、結果的に、建機に対して悪意の第三者の端末からの侵入を許すこととなってしまう。
【００１３】
第３の課題として、端末から建機へ送信される操作信号の遅延時間の問題もある。建機の遠隔操作の場合、映像の遅延時間と比較して、操作信号の遅延時間は極めて小さくなければならない。オペレータにとって、ネットワークを介した操作信号の遅延は、端末の操作に大きな影響を与える。特に、ＷｅｂＲＴＣのコネクションにおけるメディアデータの遅延時間では、操作信号の遅延時間を保証できない場合もある。
【００１４】
これに対し、本願の発明者は、第１の課題に対して、端末から建機へのコネクションが確立される毎に、異なる接続情報によって確立されるべきではないか、と考えた。
また、第２の課題に対して、建機と端末との間で直接的な認証シーケンスを実行すべきでないと考えた。また、シグナリングサーバのルームサイトの接続情報や、端末から建機への操作信号は、認証に基づくものでなければならない、と考えた。
更に、第３の課題に対して、端末から建機へ送信される操作信号については、極めて軽量なプロトコルに基づく送信が必要となる、とも考えた。
【００１５】
本願の発明者は、勿論、端末を操作するオペレータにとって、できる限り簡易に、建機との通信が開始されるべき、とも考えた。
また、これら課題を解決することは、建機の遠隔操作システムに限ることなく、ビデオ会議システムにも当然に有効ある、とも考えた。
【００１６】
そこで、本発明は、シグナリングサーバのルームサイトを介した端末間で、できる限り悪意の第三者が侵入しないような接続方法、クラウドサーバ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明によれば、第１の端末及び第２の端末に対してルームサイトを提供するシグナリングサーバを用いた接続方法であって、
第１の端末、第２の端末及びシグナリングサーバと通信可能なクラウドサーバを更に有し、
第１の端末が、クラウドサーバへページ要求を送信し、クラウドサーバとの間で認証シーケンスを実行した後、ユーザに第２の端末を選択させる第１のステップと、
クラウドサーバが、シグナリング接続要求を、シグナリングサーバへ送信する第２のステップと、
シグナリングサーバが、ランダムな識別子を発行し、当該識別子に基づくルームサイトを作成すると共に、当該識別子に基づくシグナリング接続情報をクラウドサーバへ応答する第３のステップと、
クラウドサーバが、シグナリング接続情報を、第１の端末へ応答する第４のステップと、
クラウドサーバが、シグナリング接続情報を、他の装置を介して第２の端末へ通知する第５のステップと
を有し、第１の端末及び第２の端末をそれぞれ、シグナリング接続情報を用いて、シグナリングサーバのルームサイトを介して通信させることを特徴とする。
【００１８】
本発明の接続方法における他の実施形態によれば、
シグナリングサーバは、ＷｅｂＲＴＣ(Web Real-Time Communication)に基づいて機能し、
第１の端末は、Ｗｅｂサーバとして機能するクラウドサーバに対してブラウザによって通信し、
識別子は、ルームサイト固有のルームＩＤ(IDentifier)であり、
シグナリング接続情報は、シグナリングＵＲＬ(Uniform Resource Locator)及びルームＩＤを含む
ことも好ましい。
【００１９】
本発明の接続方法における他の実施形態によれば、
トピックに基づくメッセージを交換するブローカを更に有し、
第２の端末は、ブローカに対して、デバイス接続情報を予め送信しており、
第１のステップについて、クラウドサーバは、第１の端末と通信すべき第２の端末を特定した後、ブローカに対して、第２の端末のデバイス接続情報を送信し、
第４のステップについて、クラウドサーバは、シグナリング接続情報と共に、デバイス接続情報を、第１の端末へ応答し、
第１の端末及び第２の端末をそれぞれ、更にデバイス接続情報を用いて、ブローカを介して通信させることも好ましい。
【００２０】
本発明の接続方法における他の実施形態によれば、
ブローカは、ＭＱＴＴ(Message Queue Telemetry Transport)に基づいて機能し、
デバイス接続情報は、ブローカＵＲＬ及びトピックを含む
ことも好ましい。
【００２２】
本発明の接続方法における他の実施形態によれば、
第１のステップにおける認証機能について、
クラウドサーバは、第１の端末からページ要求を受信した際に、認証フォームを第１の端末へ送信し、ユーザに認証情報を入力させ、当該認証情報を第１の端末から受信し、認証成否を判定する第１１のステップと、
クラウドサーバは、認証成功後、接続可能な複数の第２の端末のリストを第１の端末へ送信し、ユーザに第２の端末を選択させ、選択された第２の端末の端末識別子を第１の端末から受信し、第１の端末と通信すべき第２の端末を特定する第１２のステップと
を有することも好ましい。
【００２３】
本発明によれば、前述した接続方法を用いたビデオ会議接続方法であって、
第１の端末及び第２の端末は、ユーザ操作可能な端末であり、
ビデオ会議が開始される毎に、ランダムな識別子に基づくルームサイトが提供される
ことを特徴とする。
【００２４】
本発明によれば、前述した接続方法を用いた建機の遠隔操作方法について、
第１の端末は、ユーザインタフェースとして、ユーザ操作可能なタッチパネルディスプレイ、又は、ディスプレイとユーザ操作デバイスとのセット、を有する端末であり、
第２の端末は、操作インタフェースとして、建機の操作部に取り付けられた操作制御装置を有し、視界インタフェースとして、建機の操縦席から見た映像を撮影するカメラを有する建機であり、
第１の端末から第２の端末から建機に対する遠隔操作が開始される毎に、ランダムな識別子に基づくルームサイトが提供される
ことを特徴とする。
【００２５】
本発明の建機の遠隔操作方法における他の実施形態によれば、
第１の端末は、操作情報を、ブローカを介して第２の端末へ送信し、
第２の端末は、状態情報を、ブローカを介して第１の端末へ送信すると共に、カメラによって撮影された映像を、シグナリングサーバを介して第１の端末へ送信する
ことも好ましい。
【００２６】
本発明によれば、第１の端末及び第２の端末と、ルームサイトを提供するシグナリングサーバと通信可能なクラウドサーバであって、
第１の端末から、ページ要求を受信して認証シーケンスを実行した後、ユーザに第２の端末を選択させるページ要求受信手段と、
第２の端末が選択された後、シグナリング接続要求をシグナリングサーバへ送信し、シグナリングサーバから、ランダムな識別子に基づいて作成されたルームサイトにおけるシグナリング接続情報を受信するシグナリング接続要求手段と、
シグナリング接続情報を、第１の端末へ応答する応答手段と、
シグナリング接続情報を、他の装置を介して第２の端末へ通知する接続情報通知手段と
を有し、第１の端末及び第２の端末をそれぞれ、シグナリング接続情報を用いて、シグナリングサーバのルームサイトを介して通信させることを特徴とする。
【００２７】
本発明によれば、第１の端末及び第２の端末と、ルームサイトを提供するシグナリングサーバと通信可能なクラウドサーバに搭載されたコンピュータを機能させるプログラムであって、
第１の端末から、ページ要求を受信して認証シーケンスを実行した後、ユーザに第２の端末を選択させるページ要求受信手段と、
第２の端末が選択された後、シグナリング接続要求をシグナリングサーバへ送信し、シグナリングサーバから、ランダムな識別子に基づいて作成されたルームサイトにおけるシグナリング接続情報を受信するシグナリング接続要求手段と、
シグナリング接続情報を、第１の端末へ応答する応答手段と、
シグナリング接続情報を、他の装置を介して第２の端末へ通知する接続情報通知手段と
してコンピュータを機能させ、第１の端末及び第２の端末をそれぞれ、シグナリング接続情報を用いて、シグナリングサーバのルームサイトを介して通信させることを特徴とする。
【発明の効果】
【００２８】
本発明の接続方法、クラウドサーバ及びプログラムによれば、シグナリングサーバのルームサイトを介した端末間で、できる限り悪意の第三者が侵入しないようにすることができる。
【図面の簡単な説明】
【００２９】
【図１】従来技術におけるビデオ会議システムの構成図である。
【図２】ネットワークを介して通信する端末及び建機を表す説明図である。
【図３】本発明における建機の遠隔操作システムの構成図である。
【図４】本発明におけるシーケンス図である。
【図５】本発明におけるクラウドサーバの機能構成図である。
【図６】オペレータが操作する端末の認証シーケンスを表すシーケンス図である。
【図７】本発明におけるビデオ会議システムの構成図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３１】
図２は、ネットワークを介して通信する端末及び建機を表す説明図である。
【００３２】
図２によれば、端末２Ａは、オペレータとしてのユーザＡによって操作される。オペレータ側端末２Ａは、以下のいずれかのユーザインタフェースを有する。
（ａ）ユーザ操作可能なタッチパネルディスプレイ
（ｂ）ディスプレイとユーザ操作デバイスとのセット
【００３３】
タッチパネルディスプレイを搭載する端末としては、例えばスマートフォンやタブレットであってもよい。タッチパネルディスプレイには、建機の操縦席から見た「映像」と「操作インタフェース」とが表示される。操作インタフェースとしては、建機における例えばレバーやスイッチなどのアイコンが表示される。それらアイコンを指先で操作することによって、その操作に対応した操作信号が、オペレータ側端末２Ａから建機側端末２Ｂへ送信される。
【００３４】
ディスプレイとユーザ操作デバイスとに接続された端末としては、例えばパーソナルコンピュータであってもよい。ディスプレイには、建機の操縦席から見た「映像」が表示される。ユーザ操作デバイスとしては、例えばゲーム機についてユーザが把持するコントローラのようなものであってもよいし、パーソナルコンピュータに接続されたキーボードやスティック又はマウスのようなものであってもよい。ユーザ操作デバイスに対するオペレータの物理的な操作に対応した操作信号が、オペレータ側端末２Ａから建機側端末２Ｂへ送信される。
【００３５】
また、図２によれば、端末２Ｂは、無人の建機に搭載されたエッジコンピュータである。建機側端末２Ｂは、以下のようなインタフェースを有する。
（操作インタフェース）建機の操作部に取り付けられた操作制御装置
（視界インタフェース）建機の操縦席から見た映像を撮影するカメラ
操作制御装置は、建機の操縦席におけるレバーやスイッチなどに物理的に取り付けられ、端末２Ａから受信した操作信号に応じて、それらレバー等を駆動制御する。
カメラは、建機の操縦席に搭載されており、操縦席から俯瞰的な映像を撮影する。その映像は、オペレータ側端末２Ａへ送信される。
【００３６】
図２によれば、端末２Ａを操作するオペレータは、建機の操縦席から見える映像をディスプレイで視認しながら、端末２Ａの操作インタフェースを操作することができる。
【００３７】
尚、以下では、遠隔地に配置された無人の端末２Ｂは、「建機」であるとして説明するが、これに限られない。遠隔地で駆動制御される「ロボット」であってもよいし、空中で駆動制御される「ドローン」であってもよいし、水中で駆動制御される「水中ロボット」であってもよい。
【００３８】
図３は、本発明における建機の遠隔操作システムの構成図である。
【００３９】
図３によれば、遠隔操作システムとして、本発明の特徴となるクラウドサーバ１と、シグナリングサーバ３と、ブローカ４とが、インターネットを介して接続されている。オペレータ側端末２Ａ及び建機側端末２Ｂはそれぞれ、クラウドサーバ１、シグナリングサーバ３及びブローカ４と通信可能なものである。
尚、勿論、クラウドサーバ１、シグナリングサーバ３及びブローカ４の機能を一体的に構成した１つのサーバによって実装されるものであってもよい。
【００４０】
［シグナリングサーバ３］
シグナリングサーバ３は、ＷｅｂＲＴＣに基づいて機能する既存のサーバである。
シグナリングサーバ３としては、具体的にはImageFlux Live Streaming（登録商標）を用いることができる（例えば非特許文献１参照）。これは、ＡＰＩを呼び出すことによって高品質なライブ配信環境を提供するＷｅｂサービスである。ImageFluxのシグナリングサーバ３は、建機側端末２Ｂから受信した映像を、オペレータ側端末２Ａへ転送することができ、遅延時間としては0.2秒〜0.3秒に収まる。
尚、ImageFluxのシグナリングサーバ３は、ＷｅｂＲＴＣで１対多の通信を実現するＳＦＵ(Selective Forwarding Unit)として、具体的にはSoraを用いたものであってもよい（例えば非特許文献２参照）。遠隔地に配置された１台の建機側端末２Ｂを、複数台のオペレータ側端末２Ａそれぞれから、現場の映像を確認し且つ遠隔操作をすることもできる。
【００４１】
［ブローカ４］
ブローカ４は、ＭＱＴＴ(Message Queue Telemetry Transport)に基づいて機能する既存のサーバであり、トピック(topic)に応じてメッセージを交換する。
ブローカ４としては、具体的にはAWS IoT Core（登録商標）を用いることができる（例えば非特許文献４参照）。この技術によれば、デバイスや端末の間を簡単かつ安全に通信させるマネージド型クラウドサービスであって、膨大な数のデバイス及びメッセージをサポートしている。アプリケーションがインターネットに接続されていない場合でも、全てのデバイスや端末を常に追跡して通信することができる。断続的な接続を許容し、必要なネットワーク帯域幅を削減するべく、ＭＱＴＴのような軽量の通信プロトコルをサポートする。
【００４２】
ＭＱＴＴ(Message Queuing Telemetry Transport)とは、メッセージ指向ミドルウェアのアプリケーション層で使用される、TCP/IPによるPublish/Subscribe型データ配信モデルに基づく。ＣＰＵリソースが低いデバイスやネットワークが不安定な場所でも動作しやすいように、メッセージ通信電文が軽量に設計されている。
各端末は、受信したいメッセージのトピックを、ブローカ４へSubscribe（デバイス接続要求）しておく。これによって、ブローカ４は、受信したPublishメッセージをそのトピックに応じて、各端末へ配信する。
【００４３】
［クラウドサーバ１］
クラウドサーバ１は、シグナリングサーバ３及びブローカ４それぞれと通信することによって、オペレータ側端末２Ａから建機側端末２Ｂに対する遠隔操作が開始される毎に、ランダムな識別子に基づくルームサイトを提供するように機能する。
ランダムな識別子としては、例えば英数字列が乱数によって生成されたものであってもよい。このようなルームサイトを作成することによって、できる限り、接続情報（シグナリングＵＲＬ及びルームＩＤ）を特定できないようにする。
【００４４】
クラウドサーバ１は、具体的にはAWS Lambda（登録商標）と、Amazon S3（登録商標）と、AWS Cognito（登録商標）との機能を併せ持ったものであってもよい。特にブローカとしてAWS IoT Coreを用いる場合、インフラストラクチャの管理をすることなく、AWS上で相互に連携させることができる。
尚、例えば、本発明の特徴はAWS Lambdaによって実装され、オペレータ側端末２Ａに対する認証シーケンスはAWS Cognitoによって実装されたものであってもよい。
【００４５】
［オペレータ側端末２Ａ］
オペレータ側端末２Ａには、既存のブラウザが予めインストールされている。ブラウザとしては、具体的にはChrome（登録商標）、Firefox（登録商標）、Edge（登録商標）、Safari（登録商標）などがある。
【００４６】
［建機側端末２Ｂ］
建機側端末２Ｂには、具体的にはWebRTC Native Client Momoがインストールされたものであってもよい（例えば非特許文献３参照）。この技術によれば、カメラによって撮影された映像を、ＷｅｂＲＴＣによってImageFluxのシグナリングサーバ３へ送信することができる。
【００４７】
WebRTC Native Client Momoは、建機側端末２Ｂのように、ブラウザをインストールできない機器であっても、ＷｅｂＲＴＣによって映像や音声を配信できるネイティブクライアントである。これは、シグナリング機能、エンコーダ／デコーダ機能、デバイス認識機能を搭載しており、カメラからの映像を読み込み、変換し、配信することができる。例えばH.264のようなハードウェアエンコーダ（4K/30FPS）に対応するために、ＣＰＵリソースを使うことなく高画質な映像を配信することができる。更に、複数の画質を同時に配信可能にするサイマルキャストに対応しているために、オペレータ側端末２Ａは、建機側端末２Ｂに対して映像の画質を指定することもできる。
【００４８】
前述したように、図３によれば、クラウドサーバ１は、シグナリングサーバ３と、ブローカ４とそれぞれ通信するものとして説明した。
但し、少なくとも第１の課題を解決するためであれば、最小構成としてはシグナリングサーバ３のみと通信可能であればよい。第２の課題及び第３の課題も合わせて解決するためには、クラウドサーバ１は、シグナリングサーバ３及びブローカ４とそれぞれ通信することを要する。
【００４９】
図４は、本発明におけるシーケンス図である。
【００５０】
図４によれば、オペレータ側端末２Ａ（第１の端末）及び建機側端末２Ｂ（第２の端末）は、クラウドサーバ１と、シグナリングサーバ３と、ブローカ４と通信可能であって、相互に「映像」と「制御信号」とを送受信することができる。
【００５１】
建機側端末２Ｂは、例えば起動時に、ブローカ４へ「デバイス接続要求」を送信する。具体的には、ＭＱＴＴに基づく接続シーケンスが実行され、デバイス接続情報（ブローカＵＲＬ及びトピック）を指定する。建機側端末２Ｂは、ブローカ４を介して、そのデバイス接続情報に基づくメッセージを受信することができるようになる。
【００５２】
（Ｓ１）端末２Ａを操作するオペレータが、建機側端末２Ｂとの接続を開始しようとしたとする。 クラウドサーバ１は、オペレータ側端末２Ａに対してＷｅｂサイトとして機能する。クラウドサーバ１は、オペレータ側端末２ＡからアクセスされるＷｅｂサイトのＵＲＬを公開する。
【００５３】
最初に、オペレータ側端末２Ａは、オペレータ操作に応じてブラウザを起動し、クラウドサーバ１の公開サイトに基づくＵＲＬへ「ページ要求」を送信する。
クラウドサーバ１が公開するＷｅｂページは、例えばAWS Cognitoに接続されたページであってもよい。オペレータ側端末２Ａは、そのＷｅｂページにアクセスすることによって、AWS Cognitoとの間で認証シーケンスを実行する。具体的な認証シーケンスについては、図６で後述する。
【００５４】
クラウドサーバ１は、オペレータ側端末２Ａの認証成功後、接続先となる建機側端末２Ｂを特定する（後述する図６を参照）。
そして、クラウドサーバ１は、ブローカ４へ「デバイス接続要求」を送信する。建機側端末２Ｂと同様に、具体的にはＭＱＴＴに基づく接続シーケンスが実行され、デバイス接続情報（ブローカＵＲＬ及びトピック）を指定する。オペレータ側端末２Ａも、ブローカ４を介して、そのデバイス接続情報に基づくメッセージを受信することができるようになる。ここで、オペレータ側端末２Ａが指定するデバイス接続情報は、接続先となる建機側端末２Ｂのデバイス接続要求と一致するように指定する。
【００５５】
（Ｓ２）クラウドサーバ１は、会議室の作成を指示する「シグナリング接続要求」を、シグナリングサーバ３へ送信する。
【００５６】
（Ｓ３）シグナリングサーバ３は、ランダムな識別子を発行する。識別子は、ルームサイト固有のルームＩＤ(IDentifier)であって、乱数によって発生させる。そして、当該識別子に基づくルームサイトを作成する。
例）ルームＩＤ：j68mHO6to32N
その後、シグナリングサーバ３は、「シグナリング接続応答」を、クラウドサーバ１へ応答する。シグナリング接続応答には、当該識別子に基づく「シグナリング接続情報（シグナリングＵＲＬ及びルームＩＤ）」が含まれる。
【００５７】
（Ｓ４）この時点で、クラウドサーバ１は、オペレータ側端末２Ａと建機側端末２Ｂとを通信させるために、以下の２つの接続情報を持つ。
シグナリング接続情報「シグナリングＵＲＬ＋ルームＩＤ」
デバイス接続情報    「ブローカＵＲＬ＋トピック」
そして、クラウドサーバ１は、（例えばＳ１のＷｅｂサイトのJavaScript（登録商標）による）ＡＰＩの呼び出しに対するレスポンスとして、２つの接続情報を、オペレータ側端末２Ａへ応答する。
これによって、オペレータ側端末２Ａは、建機側端末２Ｂに対して、シグナリングサーバ３を介した通信経路と、ブローカ４を介した通信経路との両方を得る。
【００５８】
（Ｓ５）最後に、クラウドサーバ１は、ブローカ４を介して、シグナリング接続情報を含む「接続情報通知」を、建機側端末２Ｂへ通知する。
接続情報通知は、具体的にはＭＱＴＴのPublishメッセージとして、クラウドサーバ１からブローカ４へ送信される。ブローカ４は、そのPublishメッセージを、そのメッセージに含まれるトピックに応じて、建機側端末２Ｂへ配信する。
これによって、建機側端末２Ｂも、シグナリングサーバ３に作成された会議室へのシグナリング接続情報（シグナリングＵＲＬ及びルームＩＤ）を認識することができる。
【００５９】
（Ｓ６）シグナリングサーバ３は、オペレータ側端末２Ａと建機側端末２Ｂとの両方から、同一のシグナリングＵＲＬ及びルームＩＤによって、会議室（ルームサイト）へのアクセスを受け付ける。これによって、シグナリングサーバ３は、オペレータ側端末２Ａと建機側端末２Ｂとの間に、メディアデータのコネクションを確立する。
【００６０】
建機側端末２Ｂは、シグナリング接続情報を用いて、シグナリングサーバ３のルームサイトを介してオペレータ側端末２Ａへ、カメラで撮影された「映像」を送信する。オペレータ側端末２Ａは、受信した映像をディスプレイに表示し、オペレータに視認させる。
【００６１】
また、オペレータ側端末２Ａは、デバイス接続情報を用いて、ブローカ４を介して、「操作情報」を建機側端末２Ｂへ送信する。建機側端末２Ｂは、その操作情報に応じて操作制御機器を制御し、建機を駆動制御する。操作情報は、例えば建機のレバーやスイッチ等の個々の操作と、オペレータが操作する疑似のアイコン等の操作とが、１対１に対応付くように規定される。
一方で、建機側端末２Ｂは、デバイス接続情報を用いて、ブローカ４を介して、建機の「状態情報」を建機側端末２Ｂへ送信する。オペレータ側端末２Ａは、その状態情報をディスプレイに表示し、オペレータに視認させる。
更に、クラウドサーバ１は、デバイス接続情報を用いて、ブローカ４を介して、「管理情報」を建機側端末２Ｂへ送信し、「メトリック情報」を建機側端末２Ｂから受信する。
【００６２】
図５は、本発明におけるクラウドサーバの機能構成図である。
【００６３】
図５によれば、クラウドサーバ１は、ページ要求受信部１１と、デバイス接続要求部１２と、シグナリング接続要求部１３と、ＡＰＩ応答部１４と、接続情報通知部１５とを有する。これら機能構成部は、クラウドサーバ１に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、システムの接続方法としても理解できる。
【００６４】
ページ要求受信部１１は、Ｗｅｂサイトを公開し、オペレータ側端末２Ａから「ページ要求」を受信する。また、内部又は外部の認証機能を用いて、オペレータ側端末２Ａに対して認証シーケンスを実行する。
デバイス接続要求部１２は、ブローカ４に対してデバイス接続情報を指定し、建機側端末２Ｂ（オペレータ側端末２Ａも可能）からのメッセージを受信できるようにする。設定したデバイス接続情報は、ＡＰＩ応答部１４へ出力する。
シグナリング接続要求部１３は、ページ要求を受信した後、「シグナリング接続要求」をシグナリングサーバ３へ送信し、シグナリングサーバ３から、ランダムな識別子に基づいて作成されたルームサイトにおける「シグナリング接続情報」を受信する。受信したシグナリング接続情報は、ＡＰＩ応答部１４へ出力する。
ＡＰＩ応答部１４は、シグナリング接続情報（及びデバイス接続情報）を、オペレータ側端末２Ａへ応答する。
接続情報通知部１５は、シグナリング接続情報を、オペレータ側端末２Ａと通信すべき建機側端末２Ｂへ通知する。このシグナリング接続情報は、デバイス接続情報に基づくメッセージによって、ブローカ４を介して建機側端末２Ｂへ通知される。
【００６５】
クラウドサーバ１の制御によって、建機側端末２Ｂの「映像」がシグナリングサーバ３のルームサイトを介してオペレータ側端末２Ａへ転送されるようになる。また、オペレータ側端末２Ａ及び建機側端末２Ｂそれぞれ相互に、制御信号を交換できるようになる。
【００６６】
図６は、オペレータが操作する端末の認証シーケンスを表すシーケンス図である。
【００６７】
前述したように、Ｓ１では、クラウドサーバ１は、オペレータ側端末２Ａに対する認証機能を有する。認証機能は、内部又は外部のいずれにあってもよく、オペレータ側端末２Ａに対して認証シーケンスを実行する。
【００６８】
図６によれば、Ｓ１の認証機能について、以下のステップが実行される。
（Ｓ１１）クラウドサーバ１は、オペレータ側端末２Ａからページ要求を受信した際に、「認証フォーム」をオペレータ側端末２Ａへ送信する。認証フォームには、例えばオペレータ側端末２Ａを操作するユーザに、認証情報（ユーザＩＤ及びパスワード）を入力させるものであってもよい。クラウドサーバ１は、オペレータ側端末２Ａから、ユーザに入力された認証情報を受信し、認証成否を判定する。
（Ｓ１２）クラウドサーバ１は、認証成功後、接続可能な「複数の建機側端末のリスト」をオペレータ側端末２Ａへ送信する。オペレータ側端末２Ａのディスプレイに、ブラウザによって、複数の建機側端末が表示され、いずれの建機側端末に接続するかを、ユーザに選択させる。図６によれば、ユーザによって、例えば建機側端末２Ｂが選択されている。これによって、オペレータ側端末２Ａは、建機側端末２Ｂの識別子をクラウドサーバ１へ送信し、クラウドサーバ１は、建機側端末２Ｂが接続先として特定されたと認識する。
【００６９】
図７は、本発明におけるビデオ会議システムの構成図である。
【００７０】
図７によれば、図３と比較して、本発明をビデオ会議に適用したシステムであって、端末２Ｂも、ユーザ操作可能な端末となっている。これは、ビデオ会議が開始される毎に、ランダムな識別子に基づくルームサイトが提供される。
図１のように、従来技術としてのビデオ会議システムの場合、主催者は、会議室の接続情報をシグナリングサーバから予め取得し、その会議室の接続情報を参加者全員へメールやメッセージによって送信していた。本発明に基づく図７によれば、主催者のそのような操作を要することなく、会議室を作成する毎にランダムな接続情報が自動的に生成され、別途のメッセージ等を送信することなく、主催者及び参加者全員が、同一の会議室へ自動的に入室することができるようになる。
【００７１】
以上、詳細に説明したように、本発明の接続方法、クラウドサーバ及びプログラムによれば、シグナリングサーバのルームサイトを介した端末間で、できる限り悪意の第三者が侵入しないようにすることができる。
第１の課題に対しては、端末から建機へのコネクションが確立される毎に、異なる接続情報によって確立される。
また、第２の課題に対して、建機と端末との間で直接的な認証シーケンスを実行することなく、クラウドサーバによって端末を認証することができ、建機側で認証シーケンスを実行する必要がない。
更に、第３の課題に対して、端末から建機へ送信される操作信号については、極めて軽量なプロトコルに基づく送信を実現することができる。
【００７２】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００７３】
１  クラウドサーバ
１１  ページ要求受信部
１２  デバイス接続要求部
１３  シグナリング接続要求部
１４  ＡＰＩ応答部
１５  接続情報通知部
２Ａ  オペレータ側端末、第１の端末
２Ｂ  建機側端末、第２の端末
３  シグナリングサーバ
４  ブローカ
【要約】
【課題】複数の端末に対して識別子に基づくルームサイトを提供するシグナリングサーバを用いた接続方法、クラウドサーバ及びプログラムを提供する。
【解決手段】最初に、第１の端末が、クラウドサーバへ、ページ要求を送信する。次に、クラウドサーバが、シグナリング接続要求を、シグナリングサーバへ送信する。次に、シグナリングサーバが、ランダムな識別子を発行し、当該識別子に基づくルームサイトを作成すると共に、当該識別子に基づくシグナリング接続情報をクラウドサーバへ応答する。次に、クラウドサーバが、シグナリング接続情報を、第１の端末へ応答する。そして、クラウドサーバが、シグナリング接続情報を、第１の端末と通信すべき第２の端末へ通知する。これによって、第１の端末及び第２の端末をそれぞれ、シグナリング接続情報を用いて、シグナリングサーバのルームサイトを介して通信させることができる。
【選択図】図３【図１】
0006877727.tif 000002
【図２】
0006877727.tif 000003
【図３】
0006877727.tif 000004
【図４】
0006877727.tif 000005
【図５】
0006877727.tif 000006
【図６】
0006877727.tif 000007
【図７】
0006877727.tif 000008