Telepathy

Telepathy(テレパシー)は、インスタントメッセージング(IM)、Voice over IP(VoIP)、ビデオ会議といったリアルタイムコミュニケーション機能を持つソフトウェアを開発するためのアプリケーションフレームワークです。このフレームワークの主な目的は、異なるアプリケーションとネットワークプロトコル間の境界を明確にし、コミュニケーションソフトウェアの開発を容易にすること、そしてオープンソース開発者によるコードの再利用を促進することです。

Telepathyは、D-Busプロセス間通信メカニズムを利用して、コンポーネントベースのコミュニケーションソフトウェアを構築します。これにより、開発者は特定のプロトコルや実装の詳細に捉われることなく、高レベルの機能に集中できます。Telepathyのアーキテクチャでは、各ネットワークプロトコルを独立したプラグインとして扱うことが可能で、柔軟で拡張性の高いシステムが構築できます。

Telepathyのプロトコル実装例

Telepathyのインターフェースを提供する様々なプロトコルが、自由ソフトウェアとして実装されています。以下はその例です。

Gabble: XMPP(Extensible Messaging and Presence Protocol)のオープンソース実装で、インスタントメッセージングサーバーとして利用されます。JingleというXMPPの拡張機能もサポートしています。
Butterfly: かつて広く利用されていたMSN Messengerプロトコルに対応しています。
Idle: Internet Relay Chat(IRC)プロトコルに対応し、チャット機能を提供します。
Salut: リンクローカルなXMPPプロトコルに対応しています。
Haze: Pidginで使用されるlibpurpleライブラリを介して様々なプロトコルにアクセスするためのインターフェースを提供します。このプロジェクトは、2007年Google Summer of Codeの一環として開発されました。
Telepathy-SofiaSIP: NokiaのオープンソースライブラリであるSofia-SIPを利用して、セッション確立プロトコルをサポートします。

ミッション・コントロール

Telepathyでは、接続マネージャなどの低レベルコンポーネントの詳細をアプリケーションに提示するためのコンポーネントとして、ミッション・コントロールがあります。これにより、アプリケーションはネットワーク接続やプロトコルの詳細を抽象化し、より使いやすいインターフェースを提供できます。

Telepathyの活用例

Telepathyを利用した基本的なインスタントメッセンジャーとビデオ通話ソフトウェアは、Nokia 770、N800、N810などのNokia製携帯電話に搭載されています。また、MaemoやOpenMokoといったスマートフォンプラットフォームの一部としても採用されています。

プロトコルの実装と接続

Telepathyでは、各プロトコルは「接続マネージャ」と呼ばれるD-Busサービスとして実装されます。Telepathyクライアントは、この実装されたプロトコルを使用してサービスに接続し、その後のコミュニケーションは、接続によって要求される「チャンネル」と呼ばれるオブジェクトを介して行われます。チャンネルには、テキストメッセージの送受信、コンタクトリストの表示、IP電話などが含まれます。

関連アプリケーション

Telepathyフレームワークを利用したアプリケーションには、以下のようなものがあります。

Landell
Tapioca
Empathy
Decibel

外部リンク

Telepathyプロジェクトのウェブサイト
Telepathyの開発代表者Robert McQueenによるスピーチ



脚注

これらの情報を参考に、Telepathyの理解を深めていただければ幸いです。Telepathyは、コミュニケーションソフトウェア開発を容易にする強力なツールであり、今後も多くのプロジェクトで活用されることが期待されます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。