OBEX

OBEX (OBject EXchange) は、IrOBEXとも呼ばれ、デバイス間のバイナリオブジェクトの交換を容易にする通信プロトコルである。

概要

OBEXはIrDAの規格の一つであるが、Bluetooth Special Interest Group(以下Bluetooth SIGと表記する)やOpen Mobile Alliance(以下OMAと表記する)のSyncML派にも支持されている。OBEXの最初のアプリケーションはPDAのPalm III。名刺、データ、アプリケーションを交換するために、このPDAや多くの後継機ではOBEXが利用されている。

クライアントがサーバに接続するときに信頼性の高い転送を行う点と、接続した後にオブジェクトの要求・提供を行う点において、OBEXはHTTPに似ている。しかし、いくつかの重要な点が異なっている。

  • 転送 - HTTPは通常、TCP/IPポートの上でレイヤが作られる。OBEXは通常、IrDAデバイス上のIrLAP/IrLMP/Tiny TPスタック上に実装される。Bluetoothの場合、Baseband/Link Manager/L2CAP/RFCOMMスタック上に実装される。また、他にもこのようなOBEXのバインディングが可能である。
  • セッションのサポート - HTTPのトランザクションは、もともと状態を保持しない。通常HTTPのクライアントが要求を行うときは、接続を開始し、単一の要求を行い、応答を受け取り、接続を終了する。OBEXの場合、1つのオブジェクトを転送する接続において、複数の関連するオペレーションを送受信することができる。実は、最近のOBEXの仕様追加によって、どのような状態であっても、突然トランザクションを中断し、その後再開することができるようになった。

Profile

OBEXは多くの上位レイヤにおける「Profile」の元となった。

IrDA

  • Point and Shoot profile
  • Infrared Financial Messaging (IrFM) profile

Bluetooth SIG

  • Generic Object Exchange Profile
  • Object Push Profile (phone to phone transfers)
  • File Transfer Profile (phone to PC transfers)
  • Synchronization Profile
  • Basic Imaging Profile
  • Basic Printing Profile

OMA

  • SyncML binding

サポートされたデバイス

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

関連項目

外部リンク

  • Infrared Data Association OBEXの最新の仕様書が有料で配布されている。
  • OpenOBEX OBEXのオープンソースの実装。