Google TalkのAPIとソースコードのリリース

Google Talkソフトウェアの心臓部であるlibjingleライブラリがBSDスタイルのライセンスの下にリリースされた。この動きがオープンソースのインスタント・メッセージング・クライアントにとって追い風となることは間違いない。


 先月、Jabber Software Foundation(JSF)は、Jabber(XMPP)プロトコルの2つのエクステンション、Jingle SignalingとJingle Audioのドキュメントをリリースした。同じ日、この2つのエクステンションの共同開発元であるGoogleは、libjingleというライブラリをBSDスタイルのライセンスの下にリリースした。エクステンションの実装であるlibjingleは、Google Talkソフトウェアの心臓部である。Google Talk本体で使用されるAPIがオープンにされたことと併せて、この2つの動きは、オープンソースのインスタント・メッセージング・クライアントにとっては追い風となり、おそらくSkypeのようなクローズシステムにとっては大きな逆風となるだろう。

separate-dots.png

 Jingle Signalingは、Jabber Extension Proposal 0166として提案中の技術であり、これをJabberに追加することによってXMPPクライアントからのピアツーピアセッションの開始や管理が可能になり、 SIPサービスやH.323サービスに対するインタフェースが提供される。Jingleは、従来のTransport for Initiating and Negotiating Sessions(TINS)プロトコルのセッション管理機能に代わるものであり(JEP-0111)、Network Address Translation(NAT)トラバーサル機能を備えている。

 JingleのNATトラバーサルモードの動作は、現在IETFのドラフト段階にあるInteractive Connectivity Establishment(ICE)プロトコルに厳密に準拠する。ICEでは、ピア間の最良の接続をネゴシエートするために、使用できるすべての組み合わせを試してどれが最高のパフォーマンスを示すか計測する。試行錯誤にしか聞こえないかもしれないが、この方法の効果は非常に大きい。また、Jingleでは、従来のSimple Traversal of User Datagram Protocol(UDP)Through NAT(STUN)プロトコル(RFC 3489)との接続についてもネゴシエートを試みる。

 Jingle Signalingプロトコルには、あらゆる種類のセッションとネゴシエートできる能力があり、そのリリースには音声チャットセッションフォーマットのJingle Audio(JEP 0167)が含まれる。Jingle Audioセッションは、本来はRTPトランスポートによる通信のために設計されたが(それが最も普及しているプロトコルだからだが)、あらゆる種類のオーディオ・エンコーディング・ストリームがサポートされている。

 事実、Jingle SignalingとJingle Audioの前身は、無料のGoogle Talkチャット・サービスのために設計されたGoogleの社内プロトコルである。JSFはTINSの代わりとなるプロトコルを開発していたが、その初期段階で、Google Talkが同じような機能を持つことに気づいたのである。Jingleは、両者の共同作業の成果だ。

Google化

 JSFからJingle仕様が公開されると同時に、GoogleからはJingle仕様に基づいたGoogle Talk APIがリリースされた。また、ほかのプロプライエタリ製品(Googleの所有するものも含む)のAPI公開は停止されたが、Google Talkの基盤APIのライブラリ実装はオープンソースライセンスの下にリリースされた。Libjingleパッケージには、libjingle(Jingle SignalingとJingle Audioの実装)と、低レベルのコンポーネント群(ピアツーピア接続、ソケットおよびスレッドの作成、XMPP、ストリーミングメディアなどの実装)が含まれる。

 JingleはXMPPを基盤とするので、ほかのXMPP対応アプリケーションでのサポートが期待される。Psiは、緊急の告知を出して、クライアントにJingleサポートを追加すると発表した。また、Gaimの開発者Sean Eganは、Googleの社員だ。libjingleの名前こそ挙げていないが、EganはGaimニュースページにメッセージを投稿し、次のリビジョンでGoogle Talk機能を(音声チャット機能を含め)サポートすることを明らかにした。ほかのIMプロジェクトから公式の発表はないが、推測は盛んに飛び交っている(特にXMPPを既にサポートしているアプリケーションの反応について)。

競争

 プロプライエタリIMクライアントでも、libjingleを利用できる。Berkeleyスタイルのライセンスでリリースされたライブラリだからだ。もちろん、XMPPやそのほかの標準と同様に、AOLやSkypeのような大規模ネットワークがこの新しいプロトコルを採用する見込みは少ない。だが、 Googleがコードを公開したことで、彼らに大きなプレッシャーがかかることは間違いない。

 Googleの方向転換は、SkypeのAPIプログラムとは対照的だ。libjingleの場合、開発者は Google Talkと相互に運用できる独自のソフトウェアを作成できるが、SkypeのAPIを使ってできるのはSkypeアプリケーションの機能を拡張することに限られる。Googleは、従来のXMPPメッセージングに関しては、ほかのXMPPクライアントがGoogle Talkネットワークに接続することを既に認めていた。こういったクライアントは、今後は音声チャットでもGoogle Talkネットワークに接続できるわけだ。

 マルチメディア・チャットやテキストベース・チャットのセットアップ、ネゴシエート、管理のインフラストラクチャは大同小異なので、1つのことはできるがそれ以外はできない、といったアプリケーションは急速に過去のものとなりつつある。

 既に、Google Talkは1つのプロプライエタリIMクライアントにXMPPへの道を開いた(AppleのiChatのことだ)。次は、Jingleが同じ影響を音声チャットに与える番である。

原文へのリンク

Copyright© 2010 ITmedia, Inc. All Rights Reserved.




キャリアアップ



エンタープライズ・ピックアップ

news004.jpg 世界で勝つ 強い日本企業のつくり方:利用契約の検討――グローバルクラウドで失敗しないために(前編)
2010年以降、クラウドサービスの利用がさらに加速する。サービスを利用する企業はプロバイダーのデータセンターに預けた自社情報を保護するために、法的な要素を理解しておかなければならない。企業が注意を払うべき法的な検討事項を整理する。

news001.jpg IT投資の新方程式:「Twitter使ってます」――現役MS社員が“社員力”を語る(前編)
マイクロソフトが掲げるプロモーションメッセージ「社員にチカラを。ITで企業力を。(以下、BIEB)」からは、ITで社員の生産性を向上することが業績の拡大につながる、といったニュアンスを感じる。そこで気になるのが「じゃあ、マイクロソフトの社員自身はどうなのよ?」ということ。3人の現役MS社員により実態が明らかになる……?

news010.jpg 産業構造を変えるか:「住宅クラウド」の衝撃
住宅都市工学研究所が進める「住宅クラウド」は、クラウドが企業のIT領域にとどまらず、ビジネスのやり方自体を変える可能性を示している。

news010.jpg オルタナティブな生き方 栗原進さん:ネットでリアルを楽しくしたい
SE出身の企業広報マンでありながら、趣味は落語で憧れの人はインディ・ジョーンズとアナログ全開の栗原さんに、ブログを書く理由やネットからはじまるコミュニケーションについて伺った。

news001.jpg 最強最速アルゴリズマー養成講座:トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。