PR

 インフォテリアの米国子会社である米Infoteria Corporation USA社が2007年1月26日,Web環境を利用したチャット・サービス「Lingr(リンガー)」のAPIを公開した。APIを通じて,チャット・サービスを自分のサイトに組み入れることができる。このほか,制御プログラムがチャット・ルームを監視していて,そこに利用者がコマンドを入力して遠隔地から監視カメラを制御するといった利用が可能になる。APIを利用した実例として,指定したWebサイトの更新をリアルタイムで通知するサービス「Lingr Radar」を併せて公開した。

 Lingrは,「Comet」と呼ばれる仕組みを採用することにより,プッシュ型のサービスとして実現している。一般にWebでは,クライアントにあたるWebブラウザがリクエストを発行し,そのリクエストに応じてサーバーが何らかの処理を実行して,処理結果を返す。いわゆる同期型の動作モデルである。このため,何か一つのアクションをWebブラウザで実行すると,そのたびに処理に対する待ち時間が発生していた。

 この課題を解消する方策として,非同期通信を採用したのがAjaxである。だがAjaxにしても,サーバーの動作状態が変化したかどうかを知るには,定期的に問い合わせ(ポーリング)しなければならなかった。例えばチャット・サービスの場合,誰かが発言したかどうかを知るために,そのサービスを利用するクライアントが定期的にリクエストを発行することになる。このため,サーバーの負荷が重くなる。

 そこでAjaxに似た仕組みとして,プッシュ型の配信サービスを実現する仕組みを米SitePen社のAlex Russell氏が考案し,「Comet」と名付けた。具体的には,まずブラウザ側がサーバーに対してリクエストを発行しておく。このときサーバーがすぐにレスポンスを返さず,何か状況が変わって通知したいときにレスポンスを返す。レスポンスを受け取ったクライアントが,再びリクエストを発行して応答待ちの状態へと戻るという仕組みである。Lingrはこの仕組みを用いることで,ブラウザだけで専用のチャット・ソフト並みに高速に動作するサービスを実現した。

 ただしCometを採用すると,既存のApacheやInternet Information Servicesのような同期型処理を前提としたWebサーバー・ソフトは利用できなくなる。これが多くの開発者にとってカベとなっていた。今回のAPI公開により,Cometを利用したサービスが広がることを同社では期待している。