用語集

アプリケーション

ユーザーが SkyWay を利用して提供するサービスです。SkyWay は1つのアプリケーションに対して1つのアプリケーション ID とシークレットキーを発行します。

Bot

Core ライブラリにおいて特殊な目的を持って Channel に Join する、SkyWay サービス側が提供する Member です。現在は多人数通話や映像配信を実現するための SFU Bot が存在し、SkyWay はこれを個別のプラグインパッケージとして提供しています。

Channel

Core ライブラリにおいて使用されるメディア通信を行うグループの単位です。Channel に含まれる Member は Channel 内にいる他の Member と映像/音声/データの送受信が出来ます。SFU Bot を用いることで大規模な双方向通信を行うことができます。

Channel は一意な識別子である ID と、オプショナルな値である Name を持ちます。ID は Channel 作成時に自動的に払い出される値であり、Name はユーザーが Channel を作成する際に指定できる任意の値です。アプリケーション内で重複した Name を指定することはできません。

Core ライブラリ

複数人で通信をするアプリケーションを作るためのライブラリです。 JavaScript SDK, Android SDK, iOS SDK それぞれに用意されています。Room ライブラリでカバーできないような、SkyWay によって提供される機能をより細かに制御し最大限に利用したいユースケースに向いています。

Forwarding

ある Member の Publication を SFU Bot が Subscribe して、その内容を改めて SFU Bot が Publish することで、複数の Member に対して配信を行う操作です。

Member

Channel/Room 内で他のクライアントとの通信を管理するエージェントです。映像や音声を送信したり、受信したりすることが出来ます。Member は一意な識別子である ID と、オプショナルな値である Name を持ちます。

ID は Member 作成時に自動的に払い出される値であり、Name はクライアントが Channel/Room に Join する際に指定できる任意の値です。Channel/Room 内で重複した Name を指定することはできません。

Core ライブラリにおいて、Member は Person と Bot の2種類に分類されます。

メタデータファイル

録音・録画において、保存した録音・録画ファイルと対応してメタデータを提供しています。メタデータファイルからは録音・録画ファイルの詳しい情報を知ることができます。

Person

Core ライブラリにおいてコミュニケーションを行うこと自体を目的とする Member です。通常のエンドユーザーが Member として Channel に Join する場合は Person に分類されます。

P2P

Peer-to-Peer の略で、クライアント同士がサーバーを介さずに直接通信を行う方式です。SkyWay において P2P 方式の通信を行うと SFU 方式と比較してより低遅延で実現できますが、3 人以上での通信において端末のエンコード負荷や上り帯域幅、通信量が多くなるデメリットがあります。複数人通話においてクライアント同士が繋がりあう網目上のネットワークを形成することから、メッシュ方式とも呼ばれます。

Publish

あるクライアントが映像、音声などの Stream を他の Member が受信可能にするために Channel/Room 内に公開する操作です。Stream を Publish すると Channel/Room 内に Publication というリソースが生成されます。また、Publish を行った Member のことを Publisher と呼びます。

Publication

Publish の操作によって Channel/Room 内に作られるリソースです。同一 Channel/Room 内の Member はこれを選んで Subscribe することで Stream の受信ができます。どの Member がどのような形式の Stream を Publish しているかの情報が含まれています。

RecordingSession

RecordingSessionは、どのような Publication をどのクラウドストレージに保存するのかの設定を保持するオブジェクトです。1つの Channel に対して複数作成できます。1つの RecordingSessionには、0個以上の Publication が含まれます。また、1つの RecordingSessionで設定可能なクラウドストレージは1つのみです。SkyWay では、録音・録画の処理の開始、終了を、RecordingSessionの作成・削除によって行います。

Room

Room ライブラリにおいて使用されるメディア通信を行うグループの単位です。Room に含まれる Member は Room 内にいる他の Member と映像/音声/データの送受信が出来ます。 通信方式を P2P と SFU の2種類から選択可能です。

Room は一意な識別子である ID と、オプショナルな値である Name を持ちます。ID は Room 作成時に自動的に払い出される値であり、Name はユーザーが Room を作成する際に指定できる任意の値です。アプリケーション内で重複した Name を指定することはできません。

Room ライブラリ

複数人で通信をするアプリケーションを作るためのライブラリです。JavaScript SDK, Android SDK, iOS SDK それぞれに用意されています。Core ライブラリと比較して、詳細な制御の部分は内包されて簡単に使用できるようになっています。

SFU

Selective Forwarding Unit の略で、サーバーを経由して通信を行う方式です。3 人以上で通信する際には上りの通信の数を節約でき端末のエンコード負荷と上り帯域幅や通信量を削減できるため、P2P 方式よりも多人数での通話や映像配信を実現できます。

SFU Bot

Member として Channel に Join し、各 Person から1本の上りトラフィックを受信し、他の Person に対して配信することで SFU 方式を実現する Bot です。

シグナリングサーバー

通信を開始する前に、IP アドレスやコーデックなど、通信に必要な情報を通信相手と交換するためのサーバーです。

Simulcast

映像を SFU Bot に Forwarding する際、配信側のクライアントが複数のエンコード設定を指定する機能です。受信側クライアントは自身の通信品質に合わせた画質やフレームレートなど、適したエンコード設定の映像を受け取ることができます。

SkyWay Auth Token

SkyWay Auth Token とは、利用するクライアントが正当であることを示し、クライアントに必要十分な権限を与えるための JWT(JSON Web Token)形式のトークンです。全てのクライアントは自身の権限に対応した SkyWay Auth Token を取得する必要があります。SkyWay Auth Token の発行にはアプリケーションのシークレットキーが必要となります。

SkyWay Channel API

SkyWay Channel API は、Channel の作成と取得を行うための API です。JSON-RPC API として提供され、サーバーサイドアプリケーションからリクエストを送ることができます。

SkyWay Recording API

SkyWay Recording API は、録音・録画の操作を行うための API です。REST API として提供され、SDK を介さずにリクエストを送ることができます。

Stream

連続して送受信される一連のデータのことです。音声を送信する Audio Stream、映像を送信する Video Stream, 任意のデータを送信する Data Stream があります。

STUN サーバー

Session Traversal Utilities for NAT の略で、NAT が存在する環境で P2P 通信を行う際に必要なグローバル IP およびポート番号を取得する操作を行うサーバーです。

Subscribe

ある Channel/Room で Publish されている Stream の受信を開始する操作です。Stream を Subscribe すると Channel/Room 内に Subscription というリソースが生成されます。また、Subscribe を行った Member のことを Subscriber と呼びます。

Subscription

Subscribe の操作によって Channel/Room 内に作られるリソースです。 どの Member がどの Publication を Subscribe しているかの情報が含まれています。

TURN サーバー

Traversal Using Relays around NAT の略で、データを中継することで企業ネットワークなど P2P 通信が利用できない特定のネットワーク環境での WebRTC 利用を可能にするサーバーです。

ユーザー

SkyWay を利用してサービスを提供する事業者です。これに対してアプリケーションを利用する人のことはエンドユーザーと呼びます。