Introduction

This page has not been translated yet.

概要

SkyWay はアプリケーションに音声・ビデオ通話をはじめとしたリアルタイム・コミュニーケーション機能を容易に組み込むことを可能とするプラットフォームです。

Web アプリケーションやモバイルアプリケーションなど、さまざまな場面で利用できるよう、JavaScript SDK、iOS/Android SDK などの各種クライアントライブラリを取り揃えています。

ここでは各クライアントアプリに共通する SkyWay の基本となる概念について説明します。

Pub/Sub

SkyWay では、英会話事業や Web 会議、ゲームなどのさまざまなユースケースをサポートするために、Pub/Sub 方式(出版・購読方式)を中心概念に据えています。

次の図は、伝統的な通話によるコミュニケーションとパネルディスカッション形式のコミュニケーションを例にとり、それぞれのトポロジーを示しています。

pubsub_communication_topology

通話によるコミュニケーションでは、2人の通話者がそれぞれ、双方向に音声 Stream をやりとりしています。

また、パネルディスカッション形式のコミュニケーションでは、一人の司会者と二人のパネリストは互いに双方向のコミュニーケーションを行い、聴講者は Stream を発信せず各パネリストの Stream の受信のみを行っています。

Pub/Sub 方式を用いることで、さまざまな通信トポロジーの表現が可能になります。

基本概念

SkyWay の PubSub 方式の基本となる概念は次の通りです。

  • Channel:リアルタイム・コミュニケーションを相互に行う Member の集まりを表すエンティティ
  • Member:ある Channel に属し、Pub/Sub を介して Stream を相互にやりとりし、他の Member とリアルタイム・コミュニケーションを行う主体を表すエンティティ
  • Publication:他の Member が受信可能な Stream を発信することを示すエンティティ
  • Subscription:ある Publication に紐付く Stream を受信することを示すエンティティ
  • Stream:連続した音声や映像、データを表すエンティティ。
    • PC や携帯電話のマイクやカメラデバイスから取得され、SkyWay を通じてネットワークを超えてやり取りされる。

次の図は、Alice と Bob がそれぞれの PC に付属のマイクを用いて音声通話をしているケースを例にとって、各基本概念の関係を例示しています。

pubsub_key_concepts

上図の左側は Alice、右側は Bob、そして中央は両者が参加する Channel を表しています。 まず、Alice は自身の PC 内臓のマイクを利用するデバイスに選び、ここから LocalStream を取り出します。

LocalStream とは、ネットワークを経ずに直接取得可能な Stream のことを指します。一方で、SkyWay などを介し、ネットワークを経て得られる Stream を RemoteStream といいます。

Alice は、自身の LocalStream を紐付けて Publication 1をその Channel に Publish しています。

そして、Bob はその Publication 1を Subscribe し Subscription 1を作ることで Alice の Local Stream に対応する Remote Stream を得ています。

例えば、Web アプリケーションであれば、得られた Remote Stream は、Audio タグで表される HTMLAudioElement に紐付けることで再生されます。

Bob もまた、Alice と同様に LocalStream を Publish し、Alice がそれを Subscribe することで Bob の LocalStream に対応する Remote Stream を得ています。

SDK

SkyWay をアプリケーションに組み込むには以下の SkyWay SDK を利用します。

開発したいアプリケーションのプラットフォームに合わせてどの SDK を利用するか選択してくだい。

  • SkyWay JavaScript SDK
    • 主に Web アプリケーションから SkyWay を利用するために用いる SDK です。
      • モバイル端末の Web Browser や Mobile アプリケーション内の Web View からの利用も含みます。
  • SkyWay iOS SDK
    • iOS アプリケーションから SkyWay を利用するために用いる SDK です。
  • SkyWay Android SDK
    • Android アプリケーションから SkyWay を利用するために用いる SDK です。
This website uses cookies to improve website performance and for other purposes.
By clicking "Accept Cookies," you agree to the use of cookies. For more information, click here.