CodeZine(コードジン)

特集ページ一覧

WebRTC(PeerJS)で遠隔作業支援システムを作る(基礎知識編)

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第16回(前編)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/09/25 14:00

目次

ICEを用いた通信経路探索

 ICEとはInteractive Connectivity Establishmentの略語で、IETFのMMUSICワーキンググループによって開発されているNATを越えて通信経路を確立するための技術を指します。

 ICEを用いて通信経路を探索し、ネットワーク的に最短の通信経路を選択する必要があります。

ICEを用いた通信経路探索
ICEを用いた通信経路探索
  • (1)まずクライアント同士の直接P2P接続を試みる
  • (2)直接経路が確立できなかった場合、次に外部のSTUN(注3)サーバを用いて外部からみたIPアドレスとポートによるP2P接続を試みる
  • (3)それでも接続できなかった場合、TURN(注4)サーバを経由した接続を試みる

注3

 STUN : Simple Traversal of UDP through NATs。

注4

 TURN : Traversal Using Relay NAT。

 多段NATの下にいるブラウザと通信する場合など、ネットワークの状況次第ではSTUNサーバを用いても直接接続する通信経路が取れない場合があります。この場合、外部のTURNサーバにパケットを中継させることでブラウザ間を接続することもできますが、TURNサーバに負荷が集中するためWebRTCのメリットが享受できません。TURNサーバを使用しても問題ないのか、あるいはネットワーク構成を見直すほうが良いのか、十分検討すべきでしょう。

WebRTCを活用して実現する遠隔作業支援システムの全体像

 これまで説明したように、WebRTCを活用すれば、これまで専用アプリケーションを構築しなければ扱えなかった映像や音声といったストリームデータを、ブラウザ上で簡単に扱うことができるようになります。

 それではWebRTCを活用したブラウザアプリの具体例として、遠隔作業支援システムを作ってみましょう。以下は実装する遠隔作業支援システムの全体像です。

遠隔作業支援システムの全体像
遠隔作業支援システムの全体像

作業準備

 最初に、スマートグラスに内蔵されたブラウザと監視端末のブラウザをWebRTCで接続しペアリングします。

通常作業

 通常作業時は、スマートグラスのカメラから得た作業者の視界を支援者の監視端末上に表示します。

トラブル発生

 トラブル発生時は、支援者は作業者との音声通話を開始し指示を出します。テキストメッセージを作業者のスマートグラスへ転送し、文字で指示を出すこともできます。必要であればスマートグラスから得た作業者の視界をキャプチャし、フリーハンドでキャプチャ画像に指示を書き込み(ココに注意!と赤丸と付けるなど)、作業者のスマートグラスへ転送することもできるようにしましょう。

作業終了

 作業が終了すると、スマートグラスと監視端末のWebRTC接続を切断し、ペアリングを解除します。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:近未来の技術トレンドを先取り! 「Tech-Sketch」出張所

もっと読む

著者プロフィール

  • 松井 暢之(TIS株式会社)(マツイ ノブユキ)

    TIS株式会社 コーポレート本部 戦略技術センターに所属。 アーキテクチャ設計やデータモデル策定、フレームワーク構築などバックエンド側のアーキテクトとしてプロジェクトに従事していたが、現部門への異動を契機に戦略技術の検証や新規サービスの事業企画に軸足を移す。 近頃はなぜか、インフラ・運用のパター...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5