OBEX

OBEX(OBject EXchange)とは



OBEX(OBject EXchange)は、IrOBEXとも呼ばれる通信プロトコルで、デバイス間でバイナリオブジェクトを交換する際に利用されます。主にIrDA規格の一部として知られていますが、Bluetooth SIGやOMAのSyncMLといった他の規格にも採用されています。このプロトコルの最初の応用例は、PDAのPalm IIIで、名刺やデータ、アプリケーションの交換に利用されていました。

OBEXの概要



OBEXは、クライアントがサーバーに接続する際に、信頼性の高いデータ転送を行うという点でHTTPに類似しています。接続後、オブジェクトの要求と提供を行うという点も共通しています。しかし、両者にはいくつかの重要な相違点があります。

1. 転送メカニズム:
HTTPは通常、TCP/IPポート上で動作しますが、OBEXはIrDAデバイス上ではIrLAP/IrLMP/Tiny TPスタックを利用します。Bluetooth環境では、Baseband/Link Manager/L2CAP/RFCOMMスタックを使用します。このように、OBEXは様々な環境に適応可能です。
2. バイナリデータ伝送:
HTTPが可読なテキストデータを使用するのに対し、OBEXはヘッダーと呼ばれるバイナリフォーマットを使用します。このヘッダーは、Type(型)、Length(データ長)、Value(値)の3つ組で構成されており、リソースの限られたデバイスでも効率的にデータを解析できます。
3. セッション管理:
HTTPトランザクションは基本的にステートレスですが、OBEXでは接続中に複数の関連操作を送受信できます。また、OBEXの最新仕様では、トランザクションを中断し、後で再開することも可能です。

OBEXのプロファイル



OBEXは、多くの上位レイヤーにおける「プロファイル」の基盤となっています。

IrDA関連
Point and Shoot profile
Infrared Financial Messaging (IrFM) profile

Bluetooth SIG関連
Generic Object Exchange Profile
Object Push Profile(携帯電話間のデータ転送用)
File Transfer Profile(携帯電話とPC間のデータ転送用)
Synchronization Profile
Basic Imaging Profile
Basic Printing Profile

OMA関連
SyncML binding

サポートされているデバイス



OBEXは、以下のような様々なデバイスでサポートされています。

ほとんどの携帯電話
Palm III以降のすべてのPalmシリーズ
2003年以降に発売されたほとんどのPDA

関連項目



IrDA
TransferJet

外部リンク



Infrared Data Association: OBEXの最新仕様書(有料)
* OpenOBEX: OBEXのオープンソース実装

OBEXは、デバイス間のデータ交換を効率的に行うための重要なプロトコルであり、その応用範囲は多岐にわたります。特に、リソースが限られた環境でのデータ交換において、その重要性が際立っています。

もう一度検索

【記事の利用について】

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

【リンクついて】

リンクフリーです。