Extensible Messaging and Presence Protocol
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/20 08:12 UTC 版)
短所
この節には独自研究が含まれているおそれがあります。 |
- プレゼンスデータのオーバーヘッド : 一般にサーバ間通信の70パーセントがプレゼンスデータで[16]、そのうちの60パーセント近くが冗長であるので[17]、現在 XMPP はプレゼンスデータを複数のレシピエントへ転送する際に大きなオーバーヘッドがある。この問題を緩和する新しいプロトコルが考えられている[要出典]。
- インバンドによるバイナリデータの転送は非効率 : XMPP は単一の長い XML ドキュメントとして符号化されるので、バイナリデータはインバンドで転送する前にまず Base64 でエンコードしなければならない。このため巨大なバイナリデータ(例えば、ファイル転送など)はアウトオブバンドで転送するのがもっとも良く、インバンドによる通信は制御用に用いる。最も良い例は XMPP の拡張プロトコルであるJingle(XEP-0166)である。
サーバの分散とアドレッシング
XMPP ネットワークはクライアントサーバアーキテクチャを採用している(クライアントは直接通信しない)が、中央サーバを持たない。権威ある中央サーバが存在しないように設計されており、これはAOL Instant Messenger や Windows Live メッセンジャーとは対照的である。jabber.org で動作している公共の XMPP サーバが存在しており、ここに多くのユーザが登録されているので、この点などでよく混乱されるが、誰でも自分のドメインで自分の XMPP サーバを立てることができる。XMPP の標準のTCP ポートは5222である。
ネットワーク上のすべてのユーザはユニークな Jabber ID(よく省略され JID と呼ばれる)を持つ。ID のリストを持つ中央サーバを不要にするため、JID はメールアドレスのような構造を持っている。ユーザ名と、ユーザの存在するサーバのあるドメイン名があり、アットマーク(@)で仕切られる。例えば、username@example.com のようになる。
ひとりのユーザは複数の場所からログインするかも知れないので、クライアントでは更に追加でストリングを指定する。例えば、home、work、mobile など。このリソースで、ユーザのどのクライアントなのかを特定する。そしてこのリソースは、JID のあとにスラッシュに続けてリソース名を指定することで JID に含めることができる。リソースには優先度という数値を指定しても良い。例えば、あるユーザのモバイルアカウントの完全な JID は、username@example.com/mobile である。単に username@example.com に対して送られたメッセージはもっとも優先度の高いクライアントへ行くが、username@example.com/mobile に対して送られたものはモバイルクライアントのみへ行く。
メッセージ転送の仕組み
juliet@capulet.com が romeo@montague.net へチャットをしたいとする。Juliet と Romeo はそれぞれ capulet.com と montague.net にアカウントを持っている。Juliet がタイプしてメッセージを送ると、一連のイベントが以下のように続く。
- Juliet のクライアントがメッセージを capulet.com のサーバへ送る。
- capulet.com で montague.net がブロックされていると、メッセージは破棄される。
- capulet.comの サーバは montague.net へ向けてコネクションを張る。
- montague.net で capulet.com がブロックされていると、メッセージは破棄される。
- このとき Romeo が接続していなかったら、メッセージは後で送るために保存される。
- montague.net のサーバは Romeo にメッセージを送る。
Juliet | → | capulet.com | → | montague.net | → | Romeo |
- ^ Jabber Inc. - About Us
- ^ Open Real Time Messaging System
- ^ "XMPP rises to face SIMPLE standard", Infoworld magazine, April 17, 2003 XMPP rises to face SIMPLE standard
- ^ "XMPP vs SIMPLE: The race for messaging standards", Infoworld magazine, May 23, 2003 Infoworld.com
- ^ Chatting Up the Chef Linux Journal March 1, 2003 by Marcel Gagné
- ^ “Jabber.org - XMPP Server Migration” (2009年8月12日). 2009年12月14日閲覧。
- ^ Burd, Gary (2006年1月17日). “XMPP Federation”. 2007年11月30日閲覧。
- ^ “Cisco Announces Definitive Agreement to Acquire Jabber”. 2010年1月2日閲覧。
- ^ “Facebook Chat Now Available Everywhere”. 2010年2月11日閲覧。
- ^ “Integrating with Facebook Chat”. 2010年2月21日閲覧。
- ^ Question FAQ #270
- ^ Ovi Contacts
- ^ "Lotus Sametime 7.5 Interoperates with AIM, Google Talk", eWeek, December 6, 2006 Eweek.com
- ^ "Lotus ships gateway to integrate IM with AOL, Yahoo, Google", Network World, December 6, 2006 Networkworld.com
- ^ "Unified Communications: Uniting Communication Across Different Networks", Microsoft Press Release, October 1, 2009 Microsoft.com
- ^ [Standards-JIG] Distribution of stanza types
- ^ [Standards-JIG] proto-JEP: Smart Presence Distribution
- Extensible Messaging and Presence Protocolのページへのリンク