専用のパイプで操作コマンドを送受信
それは、大きく四種類あります。(1)ひかりTV受信用STB、(2)携帯端末のリモコン・アプリ、(3)携帯端末とSTB間の通信を仲介するWebサーバー、(4)会員であることを判別するための認証サーバーです。これらが、コンテンツ配信関連のサーバーと連携しながらスマートリモコンの機能を実現しています。
このうち、(1)のSTBについては、特に新しい機種を用意したわけではありません。現在、ひかりTVで提供中の機種のファームウエアを更新することでスマートリモコン・サービスに対応しました。
ハードウエアの性能面など技術的には、家庭にある多くの薄型テレビにも十分に実装できます。標準でひかりTVの受信機能を備えた薄型テレビが多く存在するからです。ただ、今のところ、対応機種はありません。
実際に運用しているシステムでは、STBはホーム・ゲートウエイを介してフレッツ光回線網(IPv6網)で(3)のWebサーバーにアクセスします。(2)のリモコン・アプリは、STBと同様の経路、または移動通信網(IPv4網)経由でWebサーバーに接続する構成です。
これらの端末(STBとリモコン・アプリ)の間をつなぐ通信プロトコルとしてWebSocketを用いています。
具体的には、STBは電源を入れた時、リモコン・アプリはログインした時にそれぞれ(4)の認証サーバーでユーザー認証処理を実施します。正規のユーザーであることを認証できた端末は、Webサーバーに接続するためのURLを認証サーバーから受け取り、端末ごとにWebサーバーにWebSocketを用いた通信セッションを張り続ける仕組みです。リモコン専用の通信セッション、つまり専用の伝送路を用意することで通信品質を確保し、伝送遅延を減らす考え方を用いました。
同じユーザー(同一契約)のSTBと携帯端末は、グループ化して管理します。これにより、各端末は通信相手を特定した形でWebSocketで張った専用のパイプ(通信セッション)の中でデータを送受信できるようにしました。
各端末は、WebSocketによる通信セッションとは別の通信プロトコルでメタデータ取得サーバーからコンテンツの情報を取得します。ユーザーがリモコン・アプリ上のコンテンツ情報を用いて映像コンテンツを選ぶと、Webサーバーを介してリモコン・アプリからSTBに操作コマンドが送信されます。このコマンドに基づいてSTBが映像配信サーバーにコンテンツを要求。この結果、要求した映像がSTBに届くわけです。