アクセサリ装置と、移動体コンピューティング装置上で実行されているアプリケーションとの間で通信するための、前記アクセサリ装置において動作する方法であって、アクセサリ通信プロトコルを使用して、少なくとも1つのアプリケーション通信プロトコルを指定する情報を前記移動体コンピューティング装置と通信する工程と、前記アクセサリ通信プロトコルを使用して、前記移動体コンピューティング装置上で実行されているアプリケーションと通信する工程とを備える方法。前記アクセサリ通信プロトコルを使用して、前記移動体コンピューティング装置において実行されているオペレーティングシステムと通信する工程を更に備えることを特徴とする請求項1記載の方法。前記移動体コンピューティング装置上で実行されているアプリケーションと通信する工程は、アクセサリ通信プロトコルパケット内のアプリケーション通信プロトコルパケットをトンネルする工程を含むことを特徴とする請求項1記載の方法。前記移動体コンピューティング装置上で実行されている前記アプリケーションからアプリケーション通信プロトコルコマンドを受信する工程と、該受信に応答して前記アクセサリ装置の状態を変更する工程とを更に備えることを特徴とする請求項1記載の方法。前記移動体コンピューティング装置上で実行されている前記アプリケーションからのコマンドに応答して、前記移動体コンピューティング装置上で実行されている前記アプリケーションにデータを送信する工程を更に備え、前記データは前記アプリケーション通信プロトコルを使用して送信され、前記コマンドは前記アクセサリ通信プロトコルを使用して受信されることを特徴とする請求項1記載の方法。少なくとも1つのアプリケーション通信プロトコルを指定する前記情報は、逆ドメイン名規則に従って提供されることを特徴とする請求項1記載の方法。前記アクセサリ通信プロトコルを使用して、前記アクセサリにより前記移動体コンピューティング装置の機能を制御する工程を更に備えることを特徴とする請求項1記載の方法。筺体と、少なくとも部分的に前記筺体内に配設され、移動体コンピューティング装置とコマンド及びデータを交換するように構成され、少なくとも1つのポートを有する通信インタフェースと、前記筺体内に配設され、前記通信インタフェースと通信可能に結合される制御ロジックであって、アクセサリ通信プロトコルを使用して、前記通信インタフェースを介して前記移動体コンピューティング装置上で実行されているオペレーティングシステムと通信し、アクセサリ通信プロトコルを使用して、前記通信インタフェースを介して前記移動体コンピューティング装置上で実行されているアプリケーションと通信するように構成された制御ロジックとを備えることを特徴とするアクセサリ装置。前記制御ロジックは、前記アクセサリ通信プロトコルを使用して、前記アプリケーション通信プロトコルを指定する情報を通信するように構成されていることを特徴とする請求項8記載のアクセサリ装置。前記制御ロジックは、前記アクセサリ通信プロトコル以外の標準通信プロトコルを使用して、前記アプリケーション通信プロトコルを指定する情報を通信するように構成されていることを特徴とする請求項8記載のアクセサリ装置。前記アプリケーション通信プロトコルを指定する情報は、逆ドメイン名規則を使用して前記移動体コンピューティング装置と通信されることを特徴とする請求項9記載のアクセサリ装置。前記通信インタフェースは、無線通信インタフェースを含むことを特徴とする請求項9記載のアクセサリ装置。アクセサリ装置と、移動体コンピューティング装置上で実行されているアプリケーションとの間で通信するための、前記アクセサリ装置において動作する方法であって、アクセサリ通信プロトコルを使用して、アプリケーションプロトコル文字列、前記アプリケーションプロトコル文字列に対応するアプリケーションプロトコルインデックス、好適なアプリケーション情報又はアクセサリ通信プロトコル情報のうち少なくとも1つを含むアクセサリ情報を前記移動体コンピューティング装置と通信する工程と、セッション識別子、アプリケーションプロトコル識別子又は接続開始コマンドのうちの少なくとも1つを移動体コンピューティング装置から受信する工程と、前記移動体コンピューティング装置と通信される前記アプリケーションプロトコル文字列と関連付けられるプロトコルであるアプリケーション通信プロトコルを使用して、前記移動体コンピューティング装置上で実行されている前記アプリケーションとその後に通信する工程とを備えることを特徴とする方法。前記好適なアプリケーション情報は、前記移動体コンピューティング装置と通信される前記アプリケーションプロトコル文字列と関連付けられたアプリケーション通信プロトコルを使用した通信をサポートする、アプリケーションを指定することを特徴とする請求項13記載の方法。前記通信する工程は、前記アクセサリにより前記移動体コンピューティング装置の機能を制御する工程を含むことを特徴とする請求項13記載の方法。前記アプリケーションプロトコル文字列は逆ドメイン名規則に従うことを特徴とする請求項13記載の方法。筺体と、少なくとも部分的に前記筺体内に配設され、移動体コンピューティング装置と通信可能に結合するように構成された通信インタフェースと、アクセサリハードウェアと、前記筺体内に配設され、前記通信インタフェース及び前記アクセサリ専用ハードウェアと通信可能に結合された制御ロジックであって、アクセサリ通信プロトコルを使用して、前記通信インタフェースを介して移動体コンピューティング装置とアプリケーション通信プロトコル情報を通信し、前記通信インタフェースを介して前記移動体コンピューティング装置上で実行されているアプリケーションとの通信セッションであって、前記アクセサリと前記移動体コンピューティング装置上で実行されている前記アプリケーションとの間の通信に前記アプリケーション通信プロトコルを使用する、通信セッションを確立し、前記アクセサリ通信プロトコルを使用して、前記移動体コンピューティング装置上で実行されている前記アプリケーションからデータを受信し、前記移動体コンピューティング装置上で実行されている前記アプリケーションから受信した前記データに応答して、前記アクセサリハードウェアの動作を制御するように構成された制御ロジックとを備えることを特徴とするアクセサリ装置。前記通信インタフェースは、無線通信インタフェースを含むことを特徴とする請求項17記載のアクセサリ装置。前記制御ロジックは、前記アクセサリハードウェアからハードウェアデータを受信し、前記アプリケーション通信プロトコルを使用して前記移動体コンピューティング装置上で実行されている前記アプリケーションに前記ハードウェアデータを送信する、ように更に構成されていることを特徴とする請求項17記載のアクセサリ装置。前記アクセサリハードウェアはセンサを含み、前記ハードウェアデータは前記センサを使用して収集されるデータを含むことを特徴とする請求項19記載のアクセサリ装置。前記アクセサリハードウェアは電気的装置に対するハードウェアインタフェースを含み、前記ハードウェアデータは前記ハードウェアインタフェースを介して前記電気的装置から受信されるデータを含む、ことを特徴とする請求項19記載のアクセサリ装置。前記アクセサリハードウェアは、電気的装置に対するハードウェアインタフェースを含み、前記移動体コンピューティング装置上で実行されている前記アプリケーションからの前記データは、前記ハードウェアインタフェースを使用して前記電気的装置を制御するためのデータを含むことを特徴とする請求項17記載のアクセサリ装置。前記アクセサリハードウェアはディスプレイを含み、前記移動体コンピューティング装置上で実行されている前記アプリケーションからの前記データは表示可能情報を含むことを特徴とする請求項17記載のアクセサリ装置。本明細書で開示される本発明の種々の実施形態は、アクセサリ装置と移動体コンピューティング装置との間の通信の種々の態様に関する。いくつかの実施形態において、アクセサリはアクセサリ通信プロトコルを使用して移動体コンピューティング装置と通信できる。アクセサリ通信プロトコルは、通信コマンド、トランスポートリンク、認証ルーチン、識別処理、lingo、パケット構造、データタイプ、あるいはアクセサリ装置と移動体コンピューティング装置との間で通信するために使用される任意の他の適切なコマンド又はデータを指定できる。移動体コンピューティング装置上で実行されているアプリケーションは、アプリケーション通信プロトコルを使用してアクセサリと通信できる。いくつかの実施形態において、アプリケーション通信プロトコルは、アプリケーションとアクセサリとの間で通信するために通信コマンド、パケット構造、データタイプ、lingo、メッセージ形式等を指定できる。いくつかの実施形態において、アプリケーション通信プロトコルにより指定される通信コマンド、パケット構造、データタイプ、lingo、メッセージ形式のうちの少なくとも一部は、アクセサリ通信プロトコルにより指定されるものと異なってもよい。他の実施形態において、アプリケーション通信プロトコルにより指定される通信コマンド、パケット構造、データタイプ、lingo、メッセージ形式のうちの少なくとも一部は、アクセサリ通信プロトコルにより指定されるものと同一であってもよい。いくつかの実施形態において、アプリケーションプロトコルは、アクセサリ通信プロトコルにより指定されるトランスポートリンクを使用できる。アプリケーション通信プロトコルは、例えばアプリケーション及び/又はアクセサリの開発者により開発される。いくつかの実施形態において、アプリケーション通信プロトコルは、アプリケーション及び/又はアクセサリ専用コマンド、データ構造等を含むことができる。更に、アプリケーション通信プロトコル及びアプリケーションプロトコルという用語は、同義で使用される。アクセサリ通信プロトコル、アクセサリプロトコル、一般的な通信プロトコル及び一般的なプロトコルという用語も同義で使用される。図1Aは、アクセサリ装置113に結合される移動体コンピューティング装置102を示す。ケーブル111は、移動体コンピューティング装置102をアクセサリ装置113に結合するために使用される。ケーブル111は、移動体コンピューティング装置102と接続するためのコネクタ108及びアクセサリ装置113と接続するためのコネクタ110を含むことができる。図1Bは、移動体コンピューティング装置102と無線結合されるアクセサリ装置113を示す。図1A及び図1Bに示す移動体コンピューティング装置は、限定されず、任意の種類の移動演算及び/又は通信装置であってもよい。例えば、iPodTouchO、iPhoneO、Android互換装置及び/又はBlackberry装置が使用される。更に移動体コンピューティング装置102は、メディアプレーヤ機能、ネットワーク化、ウェブブラウジング、電子メール、ワードプロセシング、データ記憶、アプリケーション実行、並びに/あるいは任意の他の演算又は通信機能を提供できる。アクセサリ113は、例えば外部スピーカシステム、外部ビデオ装置、マルチメディア装置、消費者電子装置、テスト機器、家電製品例えば、冷蔵庫又は食器洗い機、運動器具、セキュリティシステム、ホーム又はオフィス自動化システム、カメラ、ユーザ入力装置例えば、キーボード、マウス、ゲームコントローラ、測定装置、医療装置例えば、グルコースモニタ又はインスリンモニタ、POS装置、自動車、自動車のアクセサリ例えば、カーステレオシステム又はカーナビゲーションシステム、ラジオ例えば、FM、AM及び/又は衛星、飛行機、バス、電車又は他の大量輸送車における娯楽コンソール等の移動体コンピューティング装置102と通信できる任意の装置であってもよい。移動体コンピューティング装置と共に使用される任意の種類の装置がアクセサリ装置として使用可能である。図2は、一実施形態に従ってアクセサリ202例えば、図1A又は図1Bのアクセサリ113を実現すると結合される移動体コンピューティング装置200例えば、図1A又は図1Bの移動体コンピューティング装置102を実現するを示すブロック図である。移動体コンピューティング装置200は、プロセッサ230、記憶装置225、ユーザインタフェースUI235、ネットワークインタフェース236及びアクセサリ入出力I/Oインタフェース205を含むことができる。1つ以上の集積回路例えば、従来のマイクロプロセッサ又はマイクロコントローラを含むとして実現されるプロセッサ230は、移動体コンピューティング装置200の動作を制御できる。例えばユーザインタフェース235により提供されるユーザ入力信号に応答して、プロセッサ206は、記憶装置225に格納されてもよいメディア資産の選択及び再生、ネットワークインタフェース236を使用してデータを送出及び/又は検索するための種々のネットワーク例えば、移動電話網、インターネット又はローカルエリアネットワーク等へのアクセス、並びに記憶装置225に常駐する種々のアプリケーションプログラムApps226の実行等の種々のタスクを実行できる。更にプロセッサ230は、アクセサリI/Oインタフェース205を介してアクセサリとの通信を管理できる。ユーザインタフェース235は、サポート電子機器例えば、デジタル/アナログ又はアナログ/デジタル変換器、あるいは信号プロセッサ等と共に、タッチパッド、タッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、キーパッド、マイク等の入力制御、並びに表示画面、表示灯、スピーカ、ヘッドフォンジャック等の出力装置を含むことができる。ユーザは、ユーザインタフェース235の種々の入力制御を動作させて移動体コンピューティング装置200の機能性を呼び出すことができ、また、ユーザインタフェース235を介して移動体コンピューティング装置200からの出力を視聴できる。記憶装置225は、例えばディスク、フラッシュメモリ又は任意の他の不揮発性記憶媒体を使用して実現されてもよい。記憶装置225は、プロセッサ230により実行可能であるアプリケーションプログラム226、システムプログラム及び他のプログラムコード明示的には図示しない、並びに以下に説明するように種々のアクセサリとの通信を管理する際に使用されるプロトコルテーブル227等の種々のデータを格納できる。いくつかの実施形態において、記憶装置225は、メディア資産例えば、資産名、アーティスト、タイトル、ジャンル等及びプレイリスト順次又は無作為な順序で再生される資産のリスト等を記述するメタデータと共に、移動通信装置200により再生されるオーディオ、ビデオ又は静止画等のメディア資産を更に格納できる。記憶装置225は、ユーザの連絡先名前、住所、電話番号等、スケジュールされた約束及びイベント、注釈、並びに/あるいは他の個人情報に関する情報等の任意の他の種類の情報を更に格納できる。アプリケーションプログラム以下において、アプリケーション又はappsとも呼ばれる226は、プロセッサ230により実行可能な任意のプログラムを含むことができる。いくつかの実施形態において、特定のアプリケーションは製造業者により移動体コンピューティング装置200にインストールされ、その一方で、他のアプリケーションはユーザによりインストールされる。アプリケーションプログラムの例は、テレビゲームプログラム、個人情報管理プログラム、メディア資産の再生及び/又はメディア資産データベースのナビゲーションを行なうプログラム、並びに発呼及び/着呼するために電話インタフェースを制御するプログラム等を含むことができる。特定のアプリケーションプログラム226は、アクセサリ202との通信及び/又はアクセサリ202の制御を行なってもよく、特定のアプリケーションプログラム226は、アクセサリ202からの制御信号又は他の入力に応答してもよい。例を以下に説明する。ネットワークインタフェース236は、1つ以上の通信網に対するインタフェースを提供できる。例えばネットワークインタフェース236は、移動電話網等の移動通信網を介して通信するために高周波RFトランシーバ及び適切な構成要素を内蔵できる。更に又はその代わりに、ネットワークインタフェース236は、インターネット例えば、WiFiトランシーバ又は3Gトランシーバ等、パーソナルエリアネットワーク例えば、Bluetoothネットワーク又は任意の他のネットワークへの無線接続を内蔵できる。更に他の実施形態において、有線ネットワーク接続例えば、イーサネット登録商標が提供されてもよい。いくつかの実施形態において、同一のハードウェアは、複数のネットワークへの接続をサポートするために使用される。従って、ネットワークインタフェース236は、アナログ/デジタル及び/又はデジタル/アナログ回路網、ベースバンド処理構成要素例えば、コーデック及びチャネル推定器等、変調器、復調器、発振器、増幅器、送信機、受信機、トランシーバ、並びに内部及び/又は外部アンテナ等を含むことができる。いくつかの実施形態において、ネットワーク接続性と関連するいくつかの動作の全体又は一部はプロセッサ230上で実行されるプログラム例えば、符号化、復号化及び/又はデジタルドメインの他の処理として実現されるか、あるいは専用デジタル信号プロセッサが提供される。アクセサリI/Oインタフェース205は、移動体コンピューティング装置200とアクセサリ202との間の種々の信号を搬送するように構成される複数の信号パスを含むことができる。一実施形態において、アクセサリI/Oインタフェース205は、AppleIncにより製造及び販売されるiPodO及びiPhoneO製品で使用されるコネクタに対応する30ピンコネクタを含む。他のコネクタも使用可能である。あるいは又はそれに加えて、アクセサリI/Oインタフェース205は無線インタフェース例えば、Bluetooth等を含むことができる。いくつかの実施形態において、更に移動体コンピューティング装置200は、移動体コンピューティング装置例えば、iTunesO又はMicrosoftのアプリケーションストアに媒体及び/又はアプリケーションを提供できる資産管理プログラムを実行するホストコンピュータ不図示と通信するためにアクセサリI/Oインタフェース205を使用できる。資産管理プログラムにより、ユーザは移動体コンピューティング装置にメディア資産及び/又はアプリケーションを追加でき且つ/又は移動体コンピューティング装置200からメディア資産を除去できる。ユーザは、移動体コンピューティング装置200上のメディア資産と関連付けられるメタデータを更新できる。いくつかの実施形態において、更にユーザは、プレイリスト及び/又はアプリケーション、並びに他の文書を作成及び更新するために資産管理プログラムと対話できる。一実施形態において、ホストコンピュータは、メディア資産及び/又はアプリケーションのマスタデータベースを維持し、例えばインターネットを介して他のデータベース関連するメタデータ及びプレイリストを含むにアクセスでき、資産管理プログラムは、移動体コンピューティング装置200がホストコンピュータに接続する度に、マスタデータベースを移動体コンピューティング装置200の記憶装置225上に維持されるデータベースと自動的に同期させる。他の実施形態において、移動体コンピューティング装置200は、ネットワークインタフェース236を使用して、ホストコンピュータと通信し且つ/又は種々の他のサーバと直接通信し、アプリケーション、メディア資産及び/又は他のデータを取得できる。アクセサリ202は、コントローラ260、ユーザインタフェース255、移動体コンピューティング装置I/Oインタフェース250、メモリ265及びアクセサリ専用ハードウェア275を含むことができる。移動体コンピューティング装置I/Oインタフェース250は、アクセサリ202と移動体コンピューティング装置200との間で種々の信号を搬送するように構成される複数の信号パスを含むことができる。一実施形態において、移動体コンピューティング装置I/Oインタフェース250は、AppleIncにより製造及び販売されるiPodO及びiPhoneO製品で使用される30ピンコネクタと接続するように構成されるコネクタを含むことができる。他のコネクタも使用可能である。例えば、移動体コンピューティング装置I/Oインタフェース250は標準的なUSB又はFireWireコネクタ等を含むことができる。あるいは又はそれに加えて、移動体コンピューティング装置I/Oインタフェース250は無線インタフェース例えば、Bluetooth等を含むことができる。コントローラ260は、例えばデジタルオーディオ復号化、アナログ又はデジタルオーディオ及び/又はビデオ処理、ユーザ入力の処理、並びにアクセサリ機能性の制御等の種々の機能を実行するためのプログラムコードを実行するマイクロプロセッサ又はマイクロコントローラを含むことができる。更にコントローラ260は、移動体コンピューティング装置I/Oインタフェース250を介して移動体コンピューティング装置との通信を管理できる。ユーザインタフェース255は、サポート電子機器例えば、デジタル/アナログ又はアナログ/デジタル変換器、あるいは信号プロセッサ等と共に、タッチパッド、タッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、キーパッド、マイク、プローブ等の入力制御、並びにビデオ画面、表示灯、スピーカ又はヘッドフォンジャック等の出力装置を含むことができる。ユーザは、ユーザインタフェース255の種々の入力制御を動作させてアクセサリ202の機能性を呼び出すことができ、また、ユーザインタフェース255を介してアクセサリ202からの出力を閲覧し且つ/又は聞くことができる。更にいくつかの実施形態において、ユーザはアクセサリユーザインタフェース255を介して移動体コンピューティング装置200又は移動体コンピューティング装置200上で実行されているアプリケーションを動作させられる。メモリ265は、コントローラ260に対するプログラムコード及び/又はデータを格納できる任意の種類のメモリ、ディスク又は他の記憶媒体を使用して実現される。例えばメモリ265は、コントローラ260がアクセサリ専用ハードウェア275及び/又はユーザインタフェース255と対話するように命令できるアクセサリ専用ソフトウェア280を格納できる。いくつかの実施形態において、アクセサリ202は移動体コンピューティング装置200から情報例えば、ユーザ入力、メタデータ及び/又はアプリケーションデータを受信でき、更にそのような情報はメモリ265に格納される。アクセサリ専用ハードウェア275は、アクセサリ202の所望の機能性を有効にするのに必要な任意のハードウェアを表すことができる。例えばアクセサリ専用ハードウェア275は、任意の種類のセンサ又はメータ等の1つ以上のデータ収集装置を含むことができる。ある実施形態において、アクセサリ専用ハードウェア275は、電気特性抵抗又は電圧差等を表すデータを生成する電気メータ、光及び/又は光のパターンを検出する光センサ、動きセンサ、温度センサ、湿度センサ、圧力センサ及び選択された化学物質例えば、一酸化炭素等の潜在的有毒ガスが存在することに応答する化学センサ等を含むことができる。アクセサリ専用ハードウェア275は、グルコースメータ、呼吸メータ、心拍数及び/又は心機能モニタ、あるいは血圧モニタ等の1つ以上の医療装置を更に含むことができる。いくつかの実施形態において、データ収集装置を含むアクセサリ専用ハードウェア275は、物理データに対応するか又は物理データを表す1つ以上の電気信号例えば、電圧、抵抗及び/又は電流を提供できる。種々の形態のアナログ信号及び/又はデジタル信号が使用されてもよい。アクセサリ専用ハードウェア275は、コントローラ260に信号を送出する前にその信号を処理する信号処理構成要素を更に含むことができる。いくつかの実施形態において、アクセサリ専用ハードウェア275はコントローラ260に電気信号を直接送出でき、コントローラ260はその信号を処理できる。例えばアクセサリ専用ハードウェア275が熱電対を使用して実現される温度計を含む場合、熱電対からの抵抗データは、アクセサリ専用ハードウェア275により又はコントローラ260により、あるいはそれらの双方により温度データに変換される。更にアクセサリ専用ハードウェア275により収集されるデータを表す信号は、例えば以下に説明するようにアプリケーションプロトコルを使用して移動体コンピューティング装置200上で実行されているアプリケーションに送出されるコントローラ260により処理されるかされないかに関わらず。従って、移動体コンピューティング装置200上で実行されているアプリケーションは、アクセサリ専用ハードウェア275を使用して収集されるデータを更に処理できる。いくつかの実施形態において、アクセサリ専用ハードウェア275は、1つ以上のコンピュータ制御可能装置を含むことができる。コンピュータ制御可能装置の例には、モータ、アクチュエータ、照明、カメラ、弁、スピーカ、表示画面、プリンタ及び/又はコントローラ260により制御可能な任意の他の機器が含まれる。いくつかの実施形態において、移動体コンピューティング装置200上で実行されているアプリケーションは、アクセサリ202に制御信号を送出でき、コントローラ260は、制御信号に応答してアクセサリ専用ハードウェア275を動作させられる。いくつかの実施形態において、アクセサリ専用ハードウェア275はユーザインタフェース255の構成要素を含むことができる。従って、移動体コンピューティング装置200上で実行されているアプリケーションは、アクセサリ202からユーザ入力を受信でき、アクセサリ202を介してユーザに出力を提供でき且つ/あるいは実行可能な任意の動作アクセサリ202を制御できるか、アクセサリ202と対話できるか又はアクセサリ202に応答できる。いくつかの実施形態において、アクセサリ専用ハードウェア275は、ネットワーク及び/又は通信インタフェースを含むことができる。例えばアクセサリ専用ハードウェア275は、RF受信機例えば、FM、AM、衛星ラジオ及び/又は他の帯域に対する及び/又はRF送信機例えば、個人向けの狭域送信機を含むことができる。他の実施形態において、アクセサリ専用ハードウェア275は、Bluetoothトランシーバ又は他の狭域無線通信インタフェース等のパーソナルエリアネットワークに対する通信インタフェースを含むことができる。更に他の実施形態において、アクセサリ専用ハードウェア275は、電話インタフェース、GSM、CDMA、並びに/あるいは他の音声及び/又はデータネットワークインタフェースを含むことができる。従って、アクセサリ専用ハードウェア275は、移動演算及び/又は通信装置との相互運用性が望ましい任意のハードウェアコンポーネントを含むことができる。本明細書で説明されるシステム構成及び構成要素が例示であり、変形及び変更が可能であることは理解されるだろう。移動体コンピューティング装置及び/又はアクセサリは、特に本明細書で説明されない他の機能を有してもよい。アクセサリ202及び移動体コンピューティング装置200が特定のブロックを参照して本明細書において説明されるが、ブロックは説明の便宜上規定され、構成要素の特定の物理構成を示すことを意図しないことが理解される。更にブロックは、物理的に別個の構成要素に対応する必要はない。移動体コンピューティング装置200のアクセサリI/Oインタフェース205及びアクセサリ202の移動体コンピューティング装置I/Oインタフェース250により、移動体コンピューティング装置200はアクセサリ202に接続可能になり且つその後アクセサリ202から切断可能になる。本明細書で使用されるように、移動体コンピューティング装置200及びアクセサリ202は、アクセサリI/Oインタフェース205と移動体コンピューティング装置I/Oインタフェース250との間の通信チャネルが開かれる度に接続され、通信チャネルが閉じられる度に切断される。接続は、物理的接続例えば、移動体コンピューティング装置200及びアクセサリ202のそれぞれの接続するコネクタの間により、ケーブル等の間接的な接続により、あるいは無線通信チャネルを確立することにより達成される。同様に切断は、物理的切断により、ケーブルを切断することにより、アクセサリ202又は移動体コンピューティング装置200の電源を切ることにより、あるいは無線通信チャネルを閉じることにより達成される。従って、USBUniversalSerialBus、FireWireIEEE1394規格又は汎用非同期送受信機UART等の有線チャネル、あるいはBluetoothBluetoothSIGにより開発され且つ商標BluetoothOの下で使用が許可される狭域無線通信規格、WiFi任意のIEEE802.11規格群に準拠する、無線パーソナルエリアネットワーク又は赤外線等の無線チャネルを含む種々の通信チャネルが使用されてもよい。いくつかの実施形態において、通信は有線チャネル及び無線チャネルの双方を使用して行なわれる。いくつかの実施形態において、移動体コンピューティング装置とアクセサリとの間に複数の通信チャネルが同時に開かれるか、あるいは移動体コンピューティング装置は、各々が異なる通信チャネルを使用する複数のアクセサリに同時に接続される。特定の通信チャネルに関係なく、移動体コンピューティング装置200及びアクセサリ202が互いに接続されている限り、それらの装置はアクセサリ通信プロトコルにより指定されるようにコマンド及びデータを交換することにより通信できる。アクセサリ通信プロトコルは、移動体コンピューティング装置200とアクセサリ202との間でメッセージを送出するための形式を規定できる。例えばアクセサリ通信プロトコルは、各メッセージがヘッダ、ペイロード及び/又はテールを含むパケットで送出されることを指定してもよい。ヘッダは、開始標識、パケットの長さ及び受信者により処理されるコマンド等の基本情報を提供でき、ペイロードは、コマンドと関連付けられる任意のデータを提供する。関連するデータの量はコマンド毎に異なり、いくつかのコマンドは可変長ペイロードを提供してもよい。パケットは、例えば従来技術において周知のような誤り検出符号又は誤り訂正符号、並びに/あるいは所望の他の情報を提供してもよいテールを更に含む。種々の実施形態において、アクセサリ通信プロトコルは、受信者により行なわれる動作を指示し、タスクの完了、状態の変化又は誤りの発生を信号で伝送し、且つ/又は関連データの性質を識別するための特定のコマンドを規定できる。いくつかの実施形態において、任意の特定のコマンドが一方向にのみ有効になるように、コマンドが規定されてもよい。アクセサリ通信プロトコルは、装置間で信号を送信するのに有用な1つ以上の物理的トランスポートリンクを更に指定できる。例えばトランスポートリンクは、USBリンク、UARTリンク、FireWireリンク、Bluetoothリンク、WiFiリンク、パラレルリンク、シリアルリンク等であってもよい。このレベルで、アクセサリ通信プロトコルは、例えば開始バイト、同期バイト、終了バイト及び/又は他の補助信号を指定できる。いくつかの実施形態において、アクセサリ通信プロトコルは複数の別のトランスポートリンクを提供できる。従って、単一の移動体コンピューティング装置は、有線リンク及び/又は無線リンクを含む種々の物理リンクを介する通信をサポートできる。アクセサリ通信プロトコルは、多くのlingoを規定できる。一般にlingoは、種々のアクセサリによりサポートされる又はサポートされない関連するコマンドのグループを示す。一実施形態において、コマンドは、コマンドが属するlingoを識別する第1のバイト及びlingo内の特定のコマンドを識別する第2のバイトにより一意に識別される。他のコマンド構造が使用されてもよい。全てのアクセサリ又はアクセサリが接続される全ての移動体コンピューティング装置は、アクセサリ通信プロトコル内で規定される全てのlingo又は特定のlingoの全てのコマンドをサポートする必要はない例えば、種々の装置は所定のlingoの種々のバージョンを使用してもよい。いくつかの実施形態において、互いに相互運用されるように設計される全てのアクセサリ202及び全ての移動体コンピューティング装置200は、少なくともそのような装置の全てに共通のコマンドを含む一般的なlingoをサポートする。一般的なlingoは、移動体コンピューティング装置及びアクセサリが互いに対して自身を識別できるようにし且つ少なくとも各装置がサポートする他のlingo存在する場合のうちのいずれか及び各装置が接続されている間に使用しようとする他方の装置の機能を含む各機能のうちのいずれかに関する情報を提供できるようにするコマンドを含むことができる。一般的なlingoは、移動体コンピューティング装置がアクセサリの意図される一致及び機能を検証するために使用できる認証コマンドを更に含むことができあるいは、その逆も成り立つ、アクセサリ又は移動体コンピューティング装置は、認証が失敗した場合に特定のコマンド又はlingoを呼び出すことを阻止されてもよい。例えば移動体コンピューティング装置200内の認証マネージャ不図示は、アクセサリ202内の認証コントローラ不図示と通信でき、例えば公開鍵暗号法及び移動体コンピューティング装置200の認証マネージャ内に維持されるデジタル証明書の蓄積に基づいて認証手順を実行する。アクセサリ通信プロトコルの一般的なlingo又は別のlingoは、移動体コンピューティング装置200上で実行されているアプリケーション226とアクセサリ202との間の任意の情報の交換を可能にするトンネルコマンドを更に含むことができる。例えば、TunnelToAccコマンドは、移動体コンピューティング装置200からアクセサリ202に送出可能であるとして規定される。このコマンドのペイロードは、任意のデータ、制御信号又は移動体コンピューティング装置200上で実行されているアプリケーション226が生成でき且つアクセサリ202に送出できる他の情報であってもよい。同様に、TunnelToHostコマンドは、アクセサリ202から移動体コンピューティング装置200に送出可能であるとして規定される。このコマンドのペイロードは、任意のデータ、制御信号又はアクセサリ202が生成でき且つ移動体コンピューティング装置200上で実行されているアプリケーション226に送出できる他の情報であってもよい。これらのトンネルコマンドは、アクセサリ通信プロトコルがペイロードの内容に関して曖昧であるように規定される。特定のアプリケーションがデータ、制御信号又は他の情報を処理できるアクセサリにのみそれらのデータ、制御信号又は他の情報を送出する且つその逆が成り立つように通信を管理する技術の例について以下に説明する。いくつかの実施形態において、アクセサリは、アプリケーション通信プロトコルを使用して移動体コンピューティング装置において1つ以上のアプリケーションと関連付けられるAPIと通信できる。例えばそのような通信は、上述のトンネルコマンドを使用できる。いくつかの実施形態において、アクセサリは、アクセサリ通信プロトコルを使用して1つ以上のアプリケーションと関連付けられるAPIと通信できる。他の実施形態において、アクセサリは、アクセサリ通信プロトコル及び/又はアプリケーション通信プロトコルのいずれか又は双方を使用して移動体コンピューティング装置のオペレーティングシステムと更に通信できる。従って、本明細書で開示される実施形態は、アプリケーション通信プロトコル及び/又はアクセサリ通信プロトコルのいずれか又は双方を使用するアクセサリから移動体コンピューティング装置におけるアプリケーション、API及び/又はオペレーティングシステムへの通信を容易にするために使用される。移動体コンピューティング装置及びアクセサリにサポートされるアクセサリ通信プロトコルは、アクセサリが呼び出される移動体コンピューティング装置の機能を指示するコマンドを送出することを可能にする単純なリモートlingo、アクセサリにおいて移動体コンピューティング装置のユーザインタフェースの全て又は一部を複製することに関連付けられるコマンド及びデータを通信するために使用されるこれにより、より高度なリモート制御をサポートするリモートユーザインタフェースlingo、ユーザが移動体コンピューティング装置を動作することによりチューナアクセサリを制御することを可能にするチューナlingo及びアクセサリが移動体コンピューティング装置上にデータを格納することを可能にする格納lingo等の種々の他のlingoを含むことができる。任意のlingo又はlingoの組合せ又は他のコマンド又はコマンドのグループが本明細書で説明される実施形態と関連して使用可能である。本明細書で説明されるアクセサリ通信プロトコルが例示であり、変形及び変更が可能であることは理解されるだろう。本明細書で説明される特定のコマンドは、他のコマンド又はコマンドの組合せ、あるいは他の種類のメッセージ及び形式で置換可能である。更に、本明細書で説明される全てのコマンド及び動作が任意の特定の移動通信装置又はアクセサリによりサポートされる必要はない。上述したように、移動体コンピューティング装置200上で実行されているアプリケーション226及びアクセサリ202は任意のデータ、制御信号及び/又は他の情報本明細書においては、メッセージとも呼ばれるを交換できる。これらのメッセージは、広範な種々の状況に関連することができる。例えば、ユーザ入力事象、検出された外的状況、受信データ、あるいは移動体コンピューティング装置200で起こる可能性のある任意の他の事象又は状況に関連するメッセージは、アクセサリ202に通信される。逆に、ユーザ入力事象、検出された外的状況、受信データ、あるいはアクセサリ202で起こる可能性のある任意の他の事象又は状況に関連するメッセージは、移動体コンピューティング装置200に通信される。例えばいくつかの実施形態において、移動体コンピューティング装置200は、例えばタッチスクリーン事象、ボタン押下、スクロールホイール事象等のユーザインタフェース255を介するユーザからの入力事象を処理できる。移動体コンピューティング装置200は、移動体コンピューティング装置200上で実行されているアプリケーション、アクセサリ202又はその双方に入力事象を表すデータを提供できる。アクセサリ202は、例えばアクセサリ専用ハードウェア275を制御し且つ/又はコントローラ260で処理するためにそのようなデータを入力として解釈できる。例えばタッチスクリーンデータは、アプリケーション、アクセサリ202又はその双方により使用するために移動体コンピューティング装置200により収集される。いくつかの実施形態において、タッチスクリーンデータは、スワイプ、ピンチ、ドラッグ及び他のジェスチャ等の動き及び/又はタップを表すデータを含むことができる。いくつかの実施形態において、タッチスクリーンデータは、生データ形式例えば、指の動きに対応する圧力が検出される場所を表す一連の座標で送出される。他の実施形態において、タッチスクリーンデータは、アクセサリに送出される前にジェスチャ事象例えば、タップ、スワイプ又はある点から別の点へのドラッグ、ピンチ等の処理データに変換される。いくつかの実施形態において、生キーボードデータはアクセサリに送出され且つ/又は処理されたキーボードデータはアクセサリに送出される。いくつかの実施形態において、いくつかの種類又は全ての種類のユーザ入力データは、例えば以下に説明するようにアプリケーション及びアプリケーションプロトコルを使用してアクセサリ202に通信される。他の実施形態において、いくつかの種類又は全ての種類のユーザ入力データは、アクセサリ通信プロトコルが特定の種類のユーザ入力データの送出をサポートする範囲に関わらず、アクセサリ通信プロトコルを使用して通信される。更に移動体コンピューティング装置200は、ユーザ入力以外の情報をアクセサリ202に送出できる。例えばいくつかの実施形態において、移動体コンピューティング装置200は、ユーザ入力装置に加えて種々のセンサ及び/又はデータ収集装置を含むことができる。例としては、加速度計、ジャイロスコープ、コンパス、位置判定装置例えば、全地球測位システム受信機又は電話三角測量システム、光センサ、赤外線センサ、カメラ又はネットワークインタフェース例えば、電話、WiFi、Bluetooth等が含まれる。移動体コンピューティング装置200は、例えばアクセサリ202からの特定の要求に応答して任意又は全てのこのデータをアクセサリ202に提供できる。いくつかの実施形態において、このデータの一部又は全ては、例えば以下に説明するようにアプリケーション及びアプリケーションプロトコルを使用してアクセサリ202に通信される。他の実施形態において、このデータの一部又は全ては、アクセサリ通信プロトコルが特定の種類の情報の送信をサポートする範囲に関わらずアクセサリ通信プロトコルを使用して通信される。別の例において、アクセサリ202は、移動体コンピューティング装置200から入力事象を受信できる。そのような事象は、移動体コンピューティング装置200で検出されるユーザ入力及び/又は他のデータに対応する。そのデータは、上述の任意のデータタイプを含むがそれらに限定されない。いくつかの実施形態において、そのような入力事象は、アクセサリ専用ハードウェア275を制御するためにアクセサリ202においてコントローラ260により処理される。例えば移動体コンピューティング装置200におけるタッチスクリーン又は他のユーザ入力事象は、アクセサリ専用ハードウェア275の電源を投入し、ハードウェア275の状態を変更し、ハードウェア275からデータを受信し、ハードウェア275にデータを提供し、ハードウェア275の電源を切り且つ/又はハードウェア275に対する設定を設定するためにアクセサリ202に送出される。例えばタッチスクリーンデータは、生データ形式で又は解釈された事象例えば、押下、スワイプ、ピンチとして送出される。いくつかの実施形態において、アクセサリ専用ソフトウェア280は、生タッチスクリーンデータを受信及び/又は解釈する命令を含むことができる。いくつかの実施形態において、アクセサリ専用ソフトウェア280は、生タッチスクリーンデータをアクセサリ専用ハードウェア275に対するコマンド及び/又は制御に変換する命令を含むことができる。別の実施形態において、タッチスクリーンデータは、移動体コンピューティング装置200上で実行されているアプリケーションに生データ形式で提供される。移動体コンピューティング装置200は、データを解釈し、対応するコマンド及び/又は情報をアクセサリ202に送出できる。更に、アクセサリ202において移動体コンピューティング装置200から受信される入力事象は、コントローラ260がアクセサリ専用ソフトウェア280を実行することにより処理される。いくつかの実施形態において、アクセサリ専用ソフトウェア280は、移動体コンピューティング装置200から受信される入力事象に応答してアクセサリ専用ハードウェア275と対話できる。更にいくつかの実施形態において、アクセサリ専用ハードウェア275は、アクセサリ202との接続を介して移動体コンピューティング装置200により制御される。例えば移動体コンピューティング装置200上で実行されているアプリケーションは、プロセッサ230により実行された時にアクセサリ202においてアクセサリ専用ハードウェア275を制御でき、ハードウェア275とインタフェースでき、ハードウェア275と相互運用でき且つ/又はハードウェア275から信号を受信できるプログラムコードを含むことができる。いくつかの実施形態において、移動体コンピューティング装置200上で実行されているアプリケーションは、アクセサリ202のコントローラ260上で実行されている制御プログラムとメッセージを交換でき、それによりアクセサリ専用ハードウェア275と通信し且つ/又はハードウェア275の動作を制御するようにコントローラ260に命令する。そのようなメッセージは、例えば以下に説明するようにアプリケーションプロトコルを使用して交換される。いくつかの実施形態において、アクセサリ専用ハードウェア275は入力データをコントローラ260に提供できる。例えばアクセサリ専用ハードウェア275は、コントローラ260に送出され且つ/又はメモリ265に格納されるデータ又はデータを表す電子信号;これらの用語は同義で使用されるに物理特性を変換できる測定センサを含むことができる。コントローラ260はそのデータを処理できる例えば、校正補正の適用、雑音低減及び/又は他のデータ処理動作。処理データは、アクセサリ202から移動体コンピューティング装置200に送出される。移動体コンピューティング装置200において、アプリケーションは、データを更に処理でき且つ/又はそのデータをユーザインタフェースを介してユーザに提供できる。更にアプリケーションは、データに応答して任意の数の機能を実行できる。いくつかの実施形態において、アクセサリ及びアプリケーションは、任意の所望のメッセージを交換できる。ここで、メッセージという用語は、一般に任意の種類の制御信号、事象、データ、状態又は構成情報、あるいは送信者が入手可能な任意の他の種類の情報を示す。メッセージの交換を容易にするために、アクセサリ及びアプリケーションは、相互に合意済みのアプリケーションプロトコルを使用できる。アプリケーションプロトコルは、交換可能なメッセージの多くの受け入れ可能な形式を指定できる。特定のアプリケーションプロトコルに準拠する装置又はプログラムは、アプリケーションプロトコルの多くの受け入れ可能な形式に従って送出するメッセージを構造化でき、アプリケーションプロトコルの多くの受け入れ可能な形式に従って受信するメッセージを解釈できる。例えば、バイナリデジタル通信の場合、アプリケーションプロトコルは、メッセージを含むビットが受信者により解釈される方法を指定できる。従って、アクセサリ通信プロトコルのように、アプリケーションプロトコルは、1人の参加者により送出された特定のメッセージが受信者により正確に解釈されるように、パケット構造、コマンド、lingo、ペイロード形式、並びに/あるいは解釈の他の形式、データ構造、セマンティック又は規則を指定できる。実際には、いくつかの実施形態において、アクセサリ通信プロトコルの部分は、特定のアクセサリ及び/又はアプリケーションに対する全て又は一部のアプリケーションプロトコルとして直接採用される。本明細書で説明する特定の実施形態において、アクセサリプロトコルメッセージは、例えば上述のようなトンネルコマンドを使用してメッセージをアクセサリ通信プロトコルに準拠するパケット内にカプセル化することにより、ラップすることにより又はパッケージ化することにより装置間で送出される。従って、アクセサリ通信プロトコルにより指定されるトランスポートリンクが使用され、アプリケーションプロトコルは物理的トランスポートリンクを指定する必要がない。種々の異なるアプリケーションプロトコルを使用する無制限の範囲のアクセサリ及びアプリケーションは、特定の移動体コンピューティング装置又は移動体コンピューティング装置群と共に使用するために作成されることが考慮される。いくつかの実施形態において、移動体コンピューティング装置200は、接続された各アクセサリにより使用されるアプリケーションプロトコル及び実行し且つ/又はインストールされる各アプリケーションにより使用されるアプリケーションプロトコルを追跡することを含むアプリケーションプロトコル管理機能例えば、アプリケーションマネージャを使用してにより構成される。例えば、移動体コンピューティング装置200は、特定のアクセサリと共に使用される適切なアプリケーションの識別及び/又は特定のアプリーションが適切なアクセサリを利用可能であるかの識別を容易にするためのシステムサービスを提供できる。これらのサービスは、移動体コンピューティング装置200のシステムサービスが任意のアプリケーションプロトコルに従って実現又は通信することを必要とせずに提供される。図3は、本発明の一実施形態に係る移動体コンピューティング装置200内の種々のモジュール及び処理を示すブロック図である。図示する種々のモジュールは、図2のプロセッサ230上で実行されているプログラム、移動体コンピューティング装置200内の他のプロセッサ上で実行されているプログラム、特定用途向け集積回路又は他の実現例に対応可能である。いくつかの実施形態において、シングルチップ内の複数のプロセッサチップ又は複数のプロセッサコアは、本明細書で説明する種々のモジュール及び処理を実現するために使用される。プロセッサの一部又は全ては、ソフトウェア及び/又はファームウェアプログラムを実行するプログラマブル汎用プロセッサであってもよく、他のプロセッサは、デジタル信号プロセッサ、組込みの機能性を有する状態遷移機械又はそれらの任意の組合せであってもよい。ポート305~307は、それぞれアクセサリ300~302に通信チャネルを提供する。ポート305~307の各々は、特定の通信チャネルをサポートする物理ポート及び/又は論理ポートであってもよい。例えばポート305は、USB又はUART等の有線チャネルと関連付けられた物理ポートであってもよく、適切な制御ソフトウェアと共にハードウェア素子例えば、USB互換ドライバ回路及び/又はピンを組み込むことができる。ポート306は、Bluetooth等の無線チャネルと関連付けられる論理ポート例えば、仮想シリアルポートであってもよい。いくつかの実施形態において、各ポート305~307は、そのポートと関連付けられる特定の物理トランスポート又はチャネルに適用されるようなアクセサリ通信プロトコルに準拠するメッセージを送出及び受信できる。3つのポートが図示されるが、移動体コンピューティング装置は、任意の組合せで任意の数の物理ポート及び/又は論理ポートをサポートするように設計可能であることが理解される。更に以下に説明するように、いくつかの実施形態において、単一のアクセサリは複数のポートに接続可能である。例えばプロセッサ230により実行されるファームウェア又はソフトウェアモジュールであってもよいプロトコルマネージャ304は、ポート305~307から移動体コンピューティング装置-プロトコルメッセージコマンドとも呼ばれるを受信でき、メッセージを解釈する処理を開始できる。いくつかの実施形態において、プロトコルマネージャ304又はプロトコルマネージャ304と関連付けられる関連するプロトコルデーモン不図示は、ポート305~307を作成又は規定でき、それらのポートをコネクタピン及びドライバ回路、無線トランシーバ等の適切な通信ハードウェアに接続できる。一実施形態において、プロトコルマネージャ304又はその関連するプロトコルデーモンは、種々のポートで受信されるインバウンド移動体コンピューティング装置-プロトコルメッセージを抽出でき、抽出したメッセージを移動体コンピューティング装置200内のサポート層315又は他の構成要素に出力する。図3の高レベルな処理スタックは、特定のトランスポートリンクに依存しなくてもよい。別の実施形態において、プロトコルマネージャ304は、サポート層315から接続アクセサリ例えば、アクセサリ300~302のうちの任意のアクセサリ用のアウトバウンド情報例えば、メッセージを作成したアプリケーション404によりアプリケーションプロトコルに従って構造化されたメッセージを受信でき、アウトバウンドメッセージを移動体コンピューティング装置-プロトコルパケットにパッケージ化でき、且つ所望のアクセサリに接続されるポート305~307の1つにパケットを出力できる。いくつかの実施形態において、プロトコルマネージャ304又は関連するプロトコルデーモンは、ポートの開閉をサポート及び/又は制御できる。例えば仮想ポートの場合、プロトコルマネージャ304は、スタートアップ時に仮想ポートの集合を作成でき、接続が要求されるとポートを開くことができ且つ/又は終了されるとポートを閉じることができる。プロトコルマネージャ304は、特定のアプリケーションプロトコルを特定のポートと関連付ける動的ポートマップ325を維持できる。例えばアクセサリ300等のアクセサリがポート305等の特定のポートにおいて移動体コンピューティング装置200に対する接続を確立する場合、アクセサリ300は、例えばポート305を介してプロトコル名の文字列を提供することによりプロトコルマネージャ304に対してサポートするアプリケーションプロトコル例えば、アクセサリ300の場合はAP3を識別できる。プロトコルマネージャ304は、アプリケーションプロトコル名とポートとの間の関連をポートマップ325に格納できる。その後アクセサリが切断された場合、その関連はポートマップ325から除去される。従って、ポートマップ325は、アプリケーションが現在利用可能であるアプリケーションプロトコルのリストを提供できる。以下に説明するように、互換性のあるアクセサリが接続される場合、そのようなリストは、アクセサリとアプリケーションとの間の通信のルーティング、並びに互換性のあるアプリケーションの通知を容易にする。ソフトウェアサポート層315は、移動体コンピューティング装置200上で実行されるアプリケーション320~322とプロトコルマネージャ304及びオプションとして他の低レベル装置機能との間を仲介する役割を果たす。例えばソフトウェアサポート層315は、アプリケーションが装置の機能性を呼び出す際に介するアプリケーションプログラムインタフェースAPIを提供できる。ソフトウェアサポート層315は、追加のレベルの装置独立性をアプリケーション320~322に提供できる。しかし、図3に示す全ての層が必要とされるわけではないことが当業者には理解される。例えばいくつかの実施形態において、プロトコルマネージャ304はアプリケーション320~322と直接通信できる。図示する実施形態において、サポート層315はアクセサリ情報ルックアップテーブル330を提供できる。一実施形態において、アクセサリ情報テーブル330は、アクセサリの種類、アクセサリ識別子及び/又はアクセサリによりサポートされる1つ以上のアプリケーションプロトコルの名前等の各接続アクセサリに関する情報を含むことができる。アクセサリが接続し且つ切断すると、アクセサリ情報テーブル330は、プロトコルマネージャ304により提供される情報に応答してポピュレート及び更新される。アプリケーション320~322は、同時に又は順次にアプリケーションを実行でき、例えばプロセッサ230により実行可能なプログラムコードとして実現される。種々のアプリケーション320~322は、移動体コンピューティング装置200及び/又は接続アクセサリ300~302との種々の形態のユーザ対話を提供できる。例えばアプリケーションは、接続された測定プローブアクセサリにユーザインタフェースを提供できる。アプリケーションは、ユーザ入力に応答して、測定データの記録を開始し且つ測定データの記録を停止することを測定プローブに命令できる。アプリケーションは、測定データをユーザに提示できる。アプリケーションは、データを種々の形式に変換でき且つ/又はある期間にわたる測定値のレコードの閲覧及びデータに対する分析動作の実行例えば、平均化、傾向分析又は図形的分析等等の更なるユーザ対話を提供できる。実行するアプリケーション例えば、アプリケーション320~322のうちの任意のアプリケーションは、互換性のあるアクセサリすなわち、アプリケーションにより使用されるアプリケーションプロトコルをサポートするアクセサリが接続されるかを判定するために随時アクセサリ情報テーブル330をクエリできる。互換性のあるアクセサリが接続される場合、アプリケーションはアプリケーションプロトコルを使用してアクセサリと通信できる。例えば以下に説明するように、アプリケーションはアクセサリとの通信セッションを開始できる。本明細書で説明するモジュールが例示であり、変形及び変更が可能であることは理解されるだろう。移動体コンピューティング装置200は、任意の種類のアプリケーションをサポートでき、アプリケーションは、ユーザ又は別の処理の制御下で開始されるか又は終了される。サポート層315及びプロトコルマネージャ304等の特定のモジュールは、ソフトウェア及び/又はファームウェアで実現され、装置の電源投入時に自動的に開始され且つ電源が切られた時又は種々の異常状態が検出された時にのみ終了するように構成される。アプリケーション320~322は、ユーザ入力又は他の入力に応答して開始及び終了してもよい。いくつかの実施形態において、アプリケーションは、例えば以下に説明するように対応するアクセサリが接続された時に自動的に開始されてもよい。種々のモジュール又は処理は、未使用の時にはリソースの消費を最小限にするために非活動状態に入ってもよい。更に、本明細書で図示する層及びモジュールの全てが必須ではない。例えばいくつかの実施形態においては、アプリケーションはサポート層315を回避してプロトコルマネージャと直接通信してもよい。他の実施形態においては、図3で別個のものとして示されるモジュール又は層は組み合わされてもよく、あるいは移動体コンピューティング装置200の種々のシステムサービス例えば、オーディオ及び/又はビデオ再生及びネットワーク接続等と関連付けられるプロトコルデーモン及び/又はモジュール等の追加のモジュール又は層が提供されてもよい。アクセサリは、図3と類似するモジュール、層及び他の構成要素、あるいはそれらの任意の変形又は変更を実現できることが更に理解される。アクセサリがアクセサリ通信プロトコルに従って移動体コンピューティング装置と情報を交換できる限り、内部実現例は要求に応じて変更可能である。図3に示すように、いくつかの実施形態における移動体コンピューティング装置200は、同時に実行する複数のアプリケーション320~322及び/又は複数のアクセサリ305~307への同時接続を維持できる。アプリケーション及び/又はアクセサリは、種々の及び潜在的に互換性がないアプリケーションプロトコルをサポートでき、各アプリケーションプロトコルは、全ての他のアプリケーションプロトコルと区別できるように名前例えば、固有の文字列を割り当てられる。例えば図3の実施形態において、アプリケーション320及びアクセサリ301はアプリケーションプロトコルAP1をサポートし、アプリケーション321及びアクセサリ302はアプリケーションプロトコルAP2をサポートし、アプリケーション322及びアクセサリ300はアプリケーションプロトコルAP3をサポートする。第三者がアプリケーション及び/又はアクセサリを独自に開発できることが考慮される。2つのアクセサリ又はアプリケーションが同一のアクセサリプロトコル名を実際には互換性のないアプリケーションプロトコルと関連付ける場合、例えば双方のアクセサリが同一の移動体コンピューティング装置に同時に接続しようとすると、名前の衝突が起こる。そのような衝突を回避するために、アプリケーションプロトコル名に対して名前空間集中管理を提供するのが望ましいだろう。いくつかの実施形態において、中央名前空間管理者例えば、移動体コンピューティング装置の製造業者は、開発者からの要求があるとアプリケーションプロトコルに名前を割り当てることができる。別の実施形態において、中央名前空間管理者は、準拠する場合には名前の衝突を防止できる命名規則を単純に規定でき、アクセサリ及び/又はアプリケーションの開発者は、その規則に準拠することにより衝突を回避できる。一実施形態において、アプリケーションプロトコル名前空間を管理するために逆ドメイン名規則が採用される。従来のドメイン名は、左から右に、下位ドメインから最上位ドメインを提供する。例えばドメイン名helpexamplecomにおいて、comという用語は最上位ドメインであり、exampleという用語は下位ドメインであり、helpという用語は最下位ドメインである。別の例として、ドメイン名macapplecomは、左から右に最下位ドメインmac、中間ドメインapple及び最上位ドメインcomを指定する。一方、逆ドメイン名はcomapplemacを提供する。逆ドメイン名規則は、特定の企業により使用されるアプリケーションプロトコルを指定するために使用される。すなわち、逆ドメイン名comcompany1accessory1は、accessory1プロトコルが企業又は他の開発者company1と関連付けられることを指定する。従って、一般に企業は、逆ドメイン名規則を使用してプロトコルを実現できる。ここで、逆ドメイン名の第1の部分は企業comcompany1を参照し、企業又は他の開発者のインターネットドメイン名と関連付けられる。逆ドメイン名の第2の部分accessory1は、特定のプロトコルを指定する。アクセサリ及び/又はアプリケーションの異なる開発者が異なるインターネットドメイン名と関連付けられるため、逆ドメイン名規則により、開発者はインターネットドメイン名を逆にしたものに基づいてプロトコルを命名することによりアプリケーション及び/又はプロトコル及び/又はアクセサリを他のものと区別できる。この規則により、開発者は他の開発者の命名規則を考慮せずにプロトコルを独自に命名できる。更に、同一の名前を使用することにより2人の開発者間で衝突が起きた場合、対応するインターネットドメイン名を所有する開発者を単純にチェックすることにより、特定の逆ドメイン名に対する権利を有する開発者を判定すべきである。いくつかの実施形態において、逆ドメイン名は、ある種の装置の全ての装置に特有のグローバル識別子を含むように追記される。例えば全てのシリアルパススルー型装置は、逆ドメイン名に追記される識別子を含むことができる。例えばそのような逆ドメイン名は、形式comcompany1accessory1serialpass又はserialpasscomcompany1accessory1を有してもよい。そのような規則により、種々の企業はシリアルパススルー装置を製造でき、移動体コンピューティング装置は、製造業者が異なるにも関わらずそのような装置を認識できる。この逆ドメイン名規則は、アプリケーションプロトコルが識別される方法の一例にすぎない。任意の種類の規則が使用可能である。従って、アクセサリが移動体コンピューティング装置と接続される場合、アクセサリは、逆ドメイン名規則を使用してサポートされる各プロトコルに割り当てられた名前を供給することによりサポートされるアプリケーションプロトコルのリストを移動体コンピューティング装置に提供できる。アクセサリは、単一のアプリケーションプロトコル又は複数のアプリケーションプロトコルをサポートできる。図3の移動体コンピューティング装置200は、受信した情報に基づいてポートマップ325、アクセサリ情報テーブル330及び/又は他のルックアップテーブルにアクセサリの種類、アクセサリ識別子、アプリケーションプロトコル名及び/又は通信ポート識別子等の情報をポピュレートできる。以下に説明するように、アプリケーション320~322は、それらのルックアップテーブルを使用して、互換性のあるアクセサリが利用可能であるかを判定でき、サポート層315及び/又はプロトコルマネージャ304は、アプリケーションプロトコルを理解する必要なく、ルックアップテーブルを使用して通信をルーティングできる。例えば移動体コンピューティング装置200は、温度計と無線接続され、更にケーブルを使用してカメラと接続される。例えば、図3において、アクセサリ302が温度計であり、ポートZが無線ポートであってもよく、その一方で、アクセサリ300はカメラであり、ポートXは有線ポートであってもよい。接続時、温度計は逆ドメイン名comtemprusthermometer1を送出することによりサポートされるアプリケーションプロトコルを識別できる。この逆ドメイン名は、アクセサリ通信プロトコルを使用して移動体コンピューティング装置に送出される。移動体コンピューティング装置において、この逆ドメイン名は、ルックアップテーブル例えば、ポートマップ325及び/又はアクセサリ情報テーブル330にアプリケーションプロトコル名として格納される。いくつかの実施形態において、逆ドメイン名は、温度計及び/又は温度計にアクセス可能な無線ポートに対するアクセサリ識別子と共に格納される。同様に、接続時、カメラはここでもアクセサリ通信プロトコルを使用して逆ドメイン名comcamerasruscamera1を送出することによりサポートされるアプリケーションプロトコルを識別できる。この逆ドメイン名は、例えばカメラ及び/又はカメラにアクセス可能なポートに対するアクセサリ識別子と共にルックアップテーブル例えば、ポートマップ325及び/又はアクセサリ情報テーブル330に格納される。移動体コンピューティング装置200は、温度を読み取るためにアプリケーションプロトコルcomtemprusthermometer1を使用して温度計と通信する温度アプリケーション例えば、アプリケーション321を実行できる。実行中、温度アプリケーションはルックアップテーブルにアクセスでき、例えばプロトコル名comtemprusthermometer1を探索することにより互換性のあるアプリケーションプロトコルが存在するかを確認する。温度アプリケーションがcomtemprusthermometer1を見つけた場合、アプリケーションはマッチングするものを有し、comtemprusthermometer1アプリケーションプロトコルを使用して温度計との通信を開始できる。通信は、例えばアクセサリ通信プロトコルのトンネルコマンドを使用することにより、関連するポートを介してルーティングされる。アプリケーションプロトコルは、アクセサリ通信プロトコルで指定されるものとは異なるコマンド、パケット情報、データ等を指定できる。更にアプリケーション及び/又はアクセサリを提供する企業例えば、TempRUsは、アプリケーションとアクセサリとの間の通信のために任意の通信プロトコルを実現できる。図4は、本発明のいくつかの実施形態に係るアプリケーションとアクセサリとの間の通信を更に示す簡略化された図である。移動体コンピューティング装置400はアクセサリ402に接続可能であり、それにより、移動体コンピューティング装置400上で実行されているアプリケーション404は、アプリケーションプロトコルを使用してアクセサリ402と通信できる。図4に示す実施形態において、アプリケーション404は、アクセサリ402が互換性のあるアクセサリであることを既に判定し、サポート層408に対して適切な関数呼出しを呼び出すことによりセッション406を作成した。セッション406は、例えばサポート層408に対するAPI呼出しを使用してアプリケーション404により作成されたソフトウェアオブジェクトであってもよい。セッション406は、そのセッションを作成したアプリケーション404、並びにセッションを作成する時にアプリケーション404により指定される特定のアクセサリ及び/又はアプリケーションプロトコルと関連付けられる。セッション406は、特にコンテンツがアプリケーション404から受信される入力ストリーム及びコンテンツがアプリケーション404に出力される出力ストリームを提供できる。セッションの作成については以下に説明する。アプリケーションプロトコルを使用してメッセージ例えば、制御信号及び/又は他の情報をアクセサリ402に通信するために、アプリケーション404は、メッセージを生成し且つセッション406の出力ストリームにそのメッセージをデータとして書き込む。本実施形態において、アプリケーション404は、アプリケーションプロトコルに従ってメッセージをフォーマットする役割を単独で果たす。移動体コンピューティング装置400上の他の中間処理は、出力ストリームに書き込まれるデータを変更しない。セッション406は、データが出力ストリームに存在することを検出し、対応する送出SND命令をプロトコルマネージャ410に送出する。SND命令は、アクセサリ及びセッション406と関連付けられるアクセサリプロトコル識別子を提供し、出力ストリームからのデータを表すバンドルを提供する。いくつかの実施形態において、バンドルは全てのメッセージデータに対応する。しかし、バンドルは、メッセージの長さ及びアクセサリ通信プロトコルによりパケット長に課される制約に依存してメッセージデータの一部のみに対応してもよい。逆に、いくつかの実施形態において、単一のバンドルが複数のアプリケーションプロトコルメッセージを含んでもよい。プロトコルマネージャ410は、バンドルを送信するためのポートを選択するために、ポートマップ412と共にセッション406により提供されるアクセサリ及びアクセサリプロトコル識別子を使用できる。更にプロトコルマネージャ410は、上述したように例えばTunnelToAccコマンドであるアクセサリ通信プロトコルのコマンド内にバンドルをパッケージ化できる。アクセサリ通信プロトコルコマンドは、送信するためのポート414に送出される。図4ではポートが1つのみ示されるが、移動体コンピューティング装置400は複数のポートを有することができることは理解される。図5A~図5Cは、本発明のいくつかの実施形態に従ってアクセサリ通信プロトコルコマンド内にアプリケーションプロトコルメッセージをパッケージ化ラップする一例を示す。図5Aは、アクセサリプロトコルパケット500の一例を示す。図示するように、パケット500は、ヘッダ502及びペイロード504を含む。例えばアクセサリ通信プロトコルは、ヘッダのサイズ及びヘッダ502内に提供される情報を要求できる。いくつかの実施形態において、ヘッダ502は、ペイロードに含まれる内容及び/又はペイロードのデータにより行なわれることを示すことができるコマンド又はバイトコードを含むことができる。例えば図示する実施形態において、ヘッダ502はTunnelToAccコマンドに対するコマンドコードを含む。ヘッダ502は、ペイロード504のサイズを指定する情報等の他の情報を更に含むことができる。いくつかの実施形態において、オプションのテール506は、パケット500の最後に含まれてもよい。そのテールには、誤りを検出又は訂正するのに使用可能な情報例えば、チェックサム及び/又は要求に応じて他の情報が含まれる。アクセサリ通信プロトコルにおいて、種々のパケットタイプが使用可能であることが、当業者には理解されるだろう。図5Bは、アプリケーションプロトコルパケット510の一例を示す。この例において、アプリケーションプロトコルパケット510は、ヘッダ512AppHeader、ペイロード514AppPayload及びテール516を含む。アプリケーションプロトコルパケットにおいて、種々の他のパケットタイプ、スタイル、構成、ペイロード、情報領域等が使用可能である。実際には、アプリケーション及び/又はアクセサリは、制約なしでアプリケーション開発者により設計、開発及び/又は作成されるような任意のタイプ、サイズ、構成等のアプリケーションプロトコルパケットを使用できる。いくつかの実施形態において、一部又は全てのアプリケーションプロトコルパケットは、アクセサリ通信プロトコルパケットにモデル化されてもよい又はアクセサリ通信プロトコルパケットの内容により区別不可能であってもよい。いくつかの実施形態において、アプリケーションプロトコルパケットはヘッダを含んでも含まなくてもよい。いくつかの実施形態において、アプリケーションプロトコルパケットはテールを含んでも含まなくてもよい。いくつかの実施形態において、アプリケーションプロトコルパケットは固定サイズ又は可変サイズのペイロード514を含むことができる。いくつかの実施形態において、コマンド、データ及び/又は他のメッセージ要素は、ペイロード及び/又はヘッダ内に提供される。コマンド及び/又はデータ及び/又は他のメッセージ要素の特定の特徴は、アプリケーションプロトコルにより指定される。更にアプリケーションプロトコルは、メッセージに対してパケット構造を使用することを全く要求されない。アクセサリプロトコルメッセージは、受信者により正確に解釈可能である任意の形式及び/又は構造を有することができる。図5Cは、アクセサリプロトコルパケット520のペイロード504内にパッケージ化又はラップされるアプリケーションプロトコルパケット510の一例を示す。図示するように、パケット520は、アクセサリプロトコルパケットヘッダ502を含み、アプリケーションプロトコルパケット510がそれに後続する。いくつかの実施形態において、ヘッダ502は、ペイロードがアプリケーションプロトコルパケットであることを示すコマンド又はバイトコードを含むことができる。この例において、アプリケーションプロトコルパケットは、アプリケーションプロトコルパケットヘッダ512、アプリケーションプロトコルパケットペイロード514及びアプリケーションプロトコルパケットテール516を含む。アプリケーションプロトコルパケット510は、アクセサリプロトコルパケット520のペイロード504を完全に埋めても埋めなくてもよい。更に一般的には、TunnelToAccコマンドに対するアクセサリプロトコルパケットは、アクセサリに出力することを意図する任意のデータバンドルを含むことができ、単一のアクセサリプロトコルパケットを搬送することに限定されない。図4に戻ると、アクセサリ402は、例えばポート422において、アクセサリプロトコルTunnelToAccコマンドパケットを受信する。ポート422は、例えばアクセサリ402のコントローラ又は他のプロセッサ上で実行されているソフトウェア処理であってもよいプロトコルインタプリタ424にTunnelToAccコマンドパケットをルーティングできる。プロトコルインタプリタ424は、TunnelToAccコマンドを読み出し、そのコマンドに含まれるバンドルを抽出し、アクセサリ402のコントローラ又は他のプロセッサ上で実行されている別の処理426にバンドルを転送できる。処理426は、アプリケーションプロトコルに準拠する受信情報を処理できる任意の処理を含むことができる。例えば処理426は、受信情報から命令を抽出し且つアクセサリ専用ハードウェア例えば、図2のアクセサリ専用ハードウェア275に対して対応する制御信号を生成する処理を含むことができる。アクセサリ402から移動体コンピューティング装置400への通信もサポートされる。例えば処理426は、アプリケーションプロトコルでメッセージに対応するデータバンドルを生成でき、そのバンドルが移動体コンピューティング装置400に送出されるようにプロトコルインタプリタ424に提供できる。プロトコルインタプリタ424は、アクセサリ通信プロトコルのTunnelToHostコマンド内にバンドルをパッケージ化でき例えば、図5A~図5Cに示す例と同様に、移動体コンピューティング装置400に送出するためにポート422にコマンドを送出できる。移動体コンピューティング装置400において、ポート414は、TunnelToHostコマンドパケットを受信し、それをプロトコルマネージャ410に転送する。プロトコルマネージャ410は、TunnelToHostコマンドを認識し、それに応答してバンドルを抽出し且つバンドルと関連付けられるアクセサリ及びアプリケーションプロトコルのIDと共にそのバンドルをサポート層408に転送する。いくつかの実施形態において、プロトコルマネージャ410は、TunnelToHostコマンドを出力したポートに基づいてそれらの識別子を判定できる。従って、TunnelToHostコマンドは、アクセサリ又はアプリケーションプロトコルのIDを提供する必要はない。サポート層408は、アクセサリ及びアクセサリプロトコル識別子を使用して、バンドルをセッション406の入力ストリームに誘導する。アプリケーション404は、セッション406の入力ストリームから入力データを読み出し、アプリケーションプロトコルに従ってデータを解釈し、それに応じて応答できる。従って、例えば、アプリケーション404は温度計アプリケーションであってもよく、アクセサリ402は温度計を含むことができる。アプリケーション404は、適切なアプリケーションプロトコル例えば、comtemprusthermometer1という名前のプロトコルを使用してアクセサリ402から温度測定を要求できる。例えばアプリケーションプロトコルは、アクセサリから温度データを要求するためにアプリケーションにより送出されるGetTempコマンドを指定できる。アプリケーション404は、例えばGetTempコマンド及びコマンドと関連付けられる任意の基本設定又は変数を含むアプリケーションプロトコルパケットを作成できる例えば、温度データを華氏で返すか摂氏で返すかに関わらず。アプリケーション404は、アプリケーションプロトコルにより規定されるような適切なヘッダ及び/又はテールを含むパケットを作成できる。アプリケーション404は、アプリケーションプロトコルメッセージであるこのパケットをセッション406の出力ストリームに渡すことができる。セッション406は、プロトコルマネージャ410にアクセサリプロトコル-トンネルコマンドを送出するように指示し、アプリケーションプロトコルがcomtemprusthermometer1であることを指定する。プロトコルマネージャ410は、アクセサリ通信プロトコルのTunnelToAccコマンドパケット内にGetTempコマンドをパッケージ化でき、またアプリケーションプロトコル名をルックアップし、このアプリケーションプロトコルがポート414と関連付けられることを判定できる。プロトコルマネージャ410は、アクセサリ402に出力するためにTunnelToAccコマンドパケットをポート414にルーティングできる。アクセサリ402は、ポート422においてTunnelToAccコマンドを受信できる。プロトコルインタプリタ424はGetTempコマンドパケットを抽出し、それを処理426に出力でき、この例において、処理426は温度センサを制御し且つ温度センサからデータを受信する処理であってもよい。従って、処理426は、アプリケーション404に返される温度データを取得できる。処理426は、データを送出するために、例えばアプリケーションプロトコルに準拠するSendTempコマンドパケットを生成できる。このパケットは、要求される温度データを含むことができる例えば、GetTempコマンドで指定される温度目盛を使用する。処理426は、プロトコルインタプリタ424にSendTempコマンドパケットをバンドルとして提供でき、移動体コンピューティング装置400に送出されるべきであることが示される。プロトコルインタプリタ424は、アクセサリ通信プロトコルのTunnelToHostコマンド内にSendTempコマンドパケットをパッケージ化でき、ポート422は、移動体コンピューティング装置400のポート414にTunnelToHostコマンドを通信できる。ポート414は、入力TunnelToHostコマンドをプロトコルマネージャ410に出力でき、プロトコルマネージャ410は、バンドルこの場合、SendTempコマンドパケットを抽出し且つポートマップ412から判定されるようにバンドルがcomtemprusthermometer1と関連付けられるという情報と共にそのバンドルをサポート層408に提供できる。サポート層408は、セッション406に、特にセッション406の入力ストリームにバンドルを誘導できる。アプリケーション404は、入力ストリームからバンドルを読み出し、アプリケーションプロトコルに準拠するSendTempコマンドパケットとしてそのバンドルを認識し、温度データを抽出できる。いくつかの実施形態において、アクセサリは、アプリケーションプロトコル及びアクセサリ通信プロトコルのコマンドの双方を使用してアクセサリと通信できる。図6は、図4の実施形態におけるアクセサリ通信プロトコルのコマンドに対するパスを示す。アプリケーション404は、セッション406を介してアプリケーションプロトコルメッセージを送出することに加えて、サポート層406に対する適切なAPI呼出しを行なうことによりアクセサリ-プロトコルコマンドを呼び出せる。サポート層406は、ポート414を介してアクセサリ402にアクセサリ-プロトコルコマンド本明細書において、mobilecomputingdeviceProtCmdOutで表されるを送出するようにプロトコルマネージャ410に命令できる。同様に、アクセサリ402から受信されるアクセサリ-プロトコルコマンド本明細書において、mobilecomputingdeviceProtCmdInで表されるは、プロトコルマネージャ410により受信及び処理され、プロトコルマネージャはコマンドをサポート層406に通信できる。その結果、サポート層406はそれに従ってアプリケーション404に対して動作可能である。いくつかの実施形態において、アプリケーションプロトコルは、アクセサリ通信プロトコルにより指定されるlingo及び/又はコマンドを組み込むことができる。例えばアクセサリ通信プロトコルは、ユーザが移動体コンピューティング装置を介して高周波チューナアクセサリを制御することを可能にするチューナlingoであるRFTunerを規定できる。例えば、RFTunerlingoは、受信機をON及びOFFにするコマンド、局を変更するコマンド等を含むことができる。いくつかの実施形態において、ラジオチューナアプリケーションは、移動体コンピューティング装置において実行可能であり、移動体コンピューティング装置上で実行されているラジオチューナアプリケーション及びラジオチューナアクセサリは、ラジオチューナアクセサリがラジオチューナアプリケーションと通信することを可能にするラジオチューナアプリケーションプロトコルをサポートできる。RFTunerlingoの一部又は全てのコマンドは、ラジオチューナアプリケーションプロトコルと共に使用され、ラジオチューナアプリケーションプロトコルは、他のコマンド例えば、ユーザが好む事前設定された局のリストを制御するコマンドも含むことができる。従って、ラジオチューナアプリケーションは、例えば局を変更するためにラジオチューナアクセサリと通信するのにラジオチューナアプリケーションプロトコルの一部としてRFTunerlingoを使用でき、他の動作に対してラジオチューナアプリケーションプロトコルの他のコマンドを更に使用できる。移動体コンピューティング装置は、アプリケーションに依存しないラジオチューナアクセサリと通信するためにアクセサリ通信プロトコルの一部としてRFTunerlingoを使用できる。従って、ラジオチューナアクセサリは、2つのプロトコルのいずれかの単一のlingoを使用して移動体コンピューティング装置にコマンド及び/又はメッセージを送出できる。別の例として、RFTunerlingoは、ラジオチューナアクセサリの周波数をコマンドに含まれる周波数に同調させるために移動体コンピューティング装置例えば、移動体コンピューティング装置上で実行されているアプリケーションから送出されるRFSetFreqコマンドを含むことができる。ラジオチューナアプリケーションは、アプリケーションプロトコルにより規定されるような適切なヘッダ及び/又はテールを含むパケットを作成でき、RFSetFreqコマンド及び要求された周波数をパケットペイロードに含むことができる。パケットは、例えば上述したようなTunnelToAccコマンドであるアクセサリ通信プロトコルのコマンドによりパケットをアクセサリプロトコルパケットにバンドルできるプロトコルマネージャに送出される。アクセサリプロトコルパケットは、アクセサリに送出される。別の例として、RFSetFreqコマンドは、ラジオチューナアクセサリなしで且つトンネルされずに使用される。移動体コンピューティング装置は、RFSetFreqコマンド及び関連する周波数を使用するアクセサリ通信プロトコルを使用してパケットをスタンドアロンパケットとしてアクセサリに送出できる。更に別の例として、アクセサリは、アプリケーションプロトコル及び/又はアクセサリ通信プロトコルのいずれかを使用して移動体コンピューティング装置と通信するためにRFTunerlingoを使用できる。例えばアクセサリは、移動体コンピューティング装置において特定のアプリケーションと通信する時、TunnelToHostコマンドを使用してRFTunerコマンドを移動体コンピューティング装置にトンネルできる。別の例として、アクセサリは、移動体コンピューティング装置にトンネルせずにRFTunerコマンドを送出できる。別の実施形態において、スピーカドック等のアクセサリは、移動体コンピューティング装置上でのメディア再生のリモート制御を提供してもよい。リモート制御機能は、アクセサリ通信プロトコルのコマンドを使用して実現される。例えばアクセサリ通信プロトコルは、アクセサリがユーザにより呼び出される特定の機能例えば、再生、一時停止、次のトラック、前のトラック等を識別するために送出できるButtonStatusコマンドを含むことができる。移動体コンピューティング装置は、ButtonStatusコマンドを処理し且つそれに従って応答できる格納されたメディアに対する再生エンジンを有することができる。移動体コンピューティング装置上で実行されているアプリケーションは、例えばインターネットデータストリームから他のメディアソースの再生を提供できる。ユーザが格納されたメディアの再生を制御するのと同様にユーザがアクセサリを動作させることによりストリーミングコンテンツの再生をリモート制御できるのが望ましいだろう。従って、ストリームされたコンテンツの再生を制御するためのコマンド又は他の制御信号を含むストリーミング制御アプリケーションプロトコルが規定される。ユーザは、格納又はストリームされたメディアコンテンツの再生を制御するのと全く同様にアクセサリを動作させることができる。格納されたコンテンツが再生されている場合、アクセサリはアクセサリ通信プロトコル例えば、ButtonStatusコマンドを使用して再生エンジンにリモート制御情報を通信できる。ストリームされたコンテンツが再生されている場合、アクセサリは、ストリーミング制御アプリケーションプロトコルを使用してアプリケーションにリモート制御情報を通信できる。一実施形態において、アクセサリ通信プロトコルのButtonStatusコマンドは、ストリーミング制御アプリケーションプロトコルに組み込まれる。更に別の実施形態において、アクセサリは、移動体コンピューティング装置に場所情報を送出してもよい。場所情報は、アクセサリ及び/又は移動体コンピューティング装置の場所を表す任意の情報を含むことができ、全地球測位システムGPS受信機を使用したり且つ/又は近傍の移動電話網アクセスポイントに関する情報に基づいて場所を三角測量するなど、種々の方法で判定される。アクセサリ通信プロトコルは、移動体コンピューティング装置に場所情報を送信するためにアクセサリにより使用可能である場所lingoを提供してもよい。しかし、アプリケーションは、場所lingoに提供されていない場所情報を使用してもよい。そのような情報は、アクセサリ専用プロトコルを使用してアクセサリによりアプリケーションに送信される。従って、場所情報が使用される方法に依存して、同一のアクセサリは、アクセサリ通信プロトコルの場所lingoか又はアクセサリ専用プロトコルを使用して移動体コンピューティング装置に場所情報を送信できる。本明細書で説明する通信パスが例示であり、変形及び変更が可能であることは理解されるだろう。例えばパスは、アクセサリ側及び/又は移動体コンピューティング装置側に更に多くの層又は更に少ない層を含んでもよい。いくつかの実施形態において、パケットをトンネルする各移動体コンピューティング装置は1つのアクセサリプロトコルメッセージを含むが、これは必須ではない。例えば受信者状況に応じてアクセサリ又はアプリケーションが受信した複数のデータバンドルからメッセージを再構成できると仮定すると、単一のアクセサリプロトコルメッセージは、パケットをトンネルする複数の移動体コンピューティング装置を使用して送出されてもよい。同様に、受信者がバンドルを複数のメッセージに構文解析できると仮定すると、パケットをトンネルする単一の移動体コンピューティング装置は複数のアクセサリプロトコルメッセージを含んでもよい。図4の説明において、アプリケーション404が互換性のあるアクセサリ402とのセッション406を既に確立していることが仮定された。次に、アプリケーションが互換性のあるアクセサリを識別し又はその逆が可能であり且つセッションを確立することを可能にする技術の例を説明する。図7は、本発明の一実施形態に従ってアクセサリ及び互換性のあるアプリケーションを識別する処理700を示すフローチャートである。処理700は、ブロック702で開始できる。ブロック704において、移動体コンピューティング装置は、アクセサリが接続されているかを判定できる。例えば移動体コンピューティング装置は、例えば図1Aに示すようにアクセサリがコネクタと物理的に結合されているか又は例えば図1Bに示すようにアクセサリが移動体コンピューティング装置と無線結合されているかを検出できる。上述したように、アクセサリは、移動体コンピューティング装置とアクセサリとの間の有線又は無線通信チャネルが開かれている時は常に接続されていると考えられ、ブロック704は、そのようなチャネルが開いていることを検出することを含む。移動体コンピューティング装置上で実行されているアプリケーションマネージャは、移動体コンピューティング装置とアクセサリとの間の通信チャネルが開いているかを判定するためにハードウェア接続又は通信モジュールを監視できる。ブロック706において、移動体コンピューティング装置は、アクセサリからアプリケーションプロトコル情報を受信できる。いくつかの実施形態において、この情報は、アクセサリ通信プロトコルにより規定されるパケットを使用して通信される。他の実施形態において、アプリケーションプロトコル情報は、アクセサリ及び移動体コンピューティング装置のいずれか又は双方により理解される任意の方法で通信される。例えばアプリケーションプロトコル情報は、USBプロトコル、Bluetoothプロトコル又はWiFiプロトコル等の任意の業界標準の通信プロトコルを使用して通信される。例えばアクセサリ通信プロトコルは、アクセサリが自身に関する情報及び自身の機能に関する情報を提供するために移動体コンピューティング装置に送出できる1つ以上のコマンド及び関連するデータ形式を指定できる。いくつかの実施形態において、これらのコマンドは、アクセサリ通信プロトコルの一般的なlingoの一部であってもよい。アクセサリにより提供される情報は、アクセサリによりサポートされるアプリケーション通信プロトコルの名前のテキスト文字列を含むことができる。名前は、例えば上述したような逆ドメイン名規則又は任意の他の所望の命名規則を使用して指定される。アクセサリは、他の識別情報を更に送出できる。例えばアクセサリは、アクセサリの種類、製造業者、型名、シリアル番号、ハードウェア、ソフトウェア及び/又はファームウェアバージョン等を識別する情報を送出できる。アクセサリは、使用できるか又は使用することを意図する移動体コンピューティング装置の機能を示す情報を更に送出できる。例えばアクセサリは、使用してもよいアクセサリ通信プロトコルのlingo、オーディオ及び/又はビデオ信号を移動体コンピューティング装置から受信するのか又は移動体コンピューティング装置に提供するのか、並びに移動体コンピューティング装置の好適な初期動作状態例えば、オーディオ及び/又はビデオ信号交換が最初に有効にされるべきか又は無効にされるべきか、オーディオ及び/ビデオ信号伝送に対する好適な形式等を指定できる。他の実施形態において、アプリケーションプロトコルは、アプリケーションストアを参照することにより指定されるか又はインターネットを介してサーバから指定される。例えばアクセサリが移動体コンピューティング装置に結合される場合、移動体コンピューティング装置は、アプリケーションストアから及び/又はインターネットを介してサーバからアプリケーションプロトコル情報を要求できる。一実施形態において、移動体コンピューティング装置は、アクセサリ製造業者、型名及び/又はシリアル番号等のアクセサリ識別情報をアプリケーションストア又は他のサーバに送出でき、それに応答してアプリケーションプロトコル情報を受信できる。例えば、アクセサリから送出されたアプリケーションプロトコル情報は、アプリケーションプロトコル名、種々のアプリケーションプロトコルコマンド、メッセージ及び/又はパケット仕様を指定するファイル、アプリケーションプロトコルと互換性のあるアプリケーションの一覧、アプリケーション又はアプリケーション更新データがダウンロードされるネットワークの場所の指示等を含むことができる。アプリケーションプロトコル情報は、メタデータ形式で送出される。いくつかの実施形態において、種々のバージョンのアプリケーションプロトコルがアプリケーションストア又はインターネットを介して利用可能にされる。例えば種々のバージョンのアプリケーションプロトコルは、種々のレベルの機能性を可能にでき、種々の価格で移動体コンピューティング装置と共に使用するために提供される。例えばライトバージョン、フリーバージョン、フルバージョン、デモバージョン等が利用可能にされる。例えばフルバージョンが移動体コンピューティング装置及び/又はアクセサリにより使用可能なコマンドの集合を規定できる一方、ライトバージョンはフルバージョンにより規定されるコマンドの部分集合を規定する。いくつかの実施形態において、アプリケーションプロトコルは、移動体コンピューティング装置に通信される時に列挙される。アクセサリは、インデックス番号又は各アプリケーションに関連するある種の指示によりサポートされる各アプリケーションプロトコルを識別できる。例えばアクセサリは、インデックス1がアプリケーションプロトコル1であり、インデックス2がアプリケーションプロトコル2であり、インデックス3がアプリケーションプロトコル3であることを示すメッセージを送出できる。各アプリケーションプロトコルは、例えば逆ドメイン名規則を使用するなど、任意の種類の指示を使用して示される。その後、それらのプロトコルはそれらのインデックス番号を使用して参照される。そのような列挙法は、本開示において説明される実施形態で使用される。ブロック708において、移動体コンピューティング装置は、アクセサリ通信プロトコルに従って認証手順を使用してアクセサリを認証できる。これらの手順は、例えば移動体コンピューティング装置に格納される公開鍵証明書及び種々のアクセサリにより保持される秘密鍵に基づく認証技術、並びに/あるいは他の技術を含むことができる。いくつかの実施形態において、移動体コンピューティング装置は、接続及び識別時に全てのアクセサリを認証できる例えば、ブロック706の後。他の実施形態において、移動体コンピューティング装置は、ブロック706において識別の前又は識別中に全てのアクセサリを認証できる。更に他の実施形態において、認証は処理中に後で行なわれるか又は全く行なわれない。例えばいくつかの実施形態において、移動体コンピューティング装置は、アクセサリ通信プロトコルと関連付けられる特定の機能及び/又は動作が認証されたアクセサリによってのみアクセスされることを許可する。そのようなアクセスが制限される機能は、アクセサリプロトコルコマンドの通信に関連する機能を含むことができる例えば、上述のトンネルコマンドはアクセスが制限されるコマンドであってもよい。移動体コンピューティング装置は、アクセスが制限された機能をアクセサリが使用しようとするまでアクセサリを認証するのを待つことができるか、あるいは移動体コンピューティング装置は、アクセスが制限された機能をアクセサリが使用しようとするか又は使用しようとする可能性があることを示す情報を受信した後であればいつでもアクセサリを認証できる。ブロック710において、移動体コンピューティング装置は、ブロック706で供給されたアプリケーションプロトコル情報を使用して接続アプリケーションプロトコルリストを作成及び/又は更新できる。例えば図3を参照すると、ポートマップ325及び/又はアクセサリ情報テーブル330は、新しく接続されたアクセサリ及びそのアプリケーションプロトコルをポートと関連付けるように更新される。ブロック706で提供された任意のアクセサリ識別情報は、移動体コンピューティング装置により接続アプリケーションプロトコルリストに格納される。接続プロトコルリストの一例をテーブル820として図8に示す。テーブル820は、アクセサリが接続されるポートと関連して、現在接続されているアクセサリが識別した各アプリケーションプロトコルを一覧表示する。従って、テーブル820は図3のポートマップ325の一例であってもよい。テーブル820の形式及び情報コンテンツは、要求に応じて変更可能であることが理解される。図7に戻ると、ブロック712において、移動体コンピューティング装置は、アクセサリと関連付けられるアプリケーションプロトコルを使用する任意のアプリケーションが利用可能であるかそのようなアプリケーションは、本明細書において互換性のあるアプリケーションとも呼ばれるを判定できる。例えば移動体コンピューティング装置は、サポートされるアプリケーションプロトコルのテーブルを格納でき、各プロトコルは、そのプロトコルをサポートする1つのアプリケーション又は複数のアプリケーションと関連付けられる。サポートアプリケーションプロトコルテーブルの一例をテーブル810として図8に示す。テーブル810は、アプリケーションプロトコル名のリストを含み、各アプリケーションプロトコル名は1つ以上のアプリケーションの識別子と関連付けられる。いくつかの実施形態において、テーブル810は、アプリケーション識別子を返すためにアプリケーションプロトコルの名前を使用してアクセス可能であるルックアップテーブルとして実現可能である。更にテーブル810は、特定のアプリケーションと関連付けられるアプリケーションプロトコルのリストを返すためにアプリケーション識別子を使用してアクセス可能である。いくつかの実施形態において、テーブル810は、現在実行しているアプリケーションと関連するアプリケーションプロトコルのみを含む。例えばアプリケーションが開始すると、アプリケーションが要求し且つ/又は使用できるアプリケーションプロトコルのリストを移動体コンピューティング装置のシステム処理例えば、図3のサポート層315に提供できる。移動体コンピューティング装置のシステム処理は、それに応じてテーブル810を更新できる。他の実施形態において、テーブル810は、移動体コンピューティング装置にインストールされる全てのアプリケーションに対して維持される永続的なテーブルであってもよい。例えばアプリケーションをインストール又は更新することは、移動体コンピューティング装置のシステム処理例えば、サポート層315にアプリケーションが要求し且つ/又は使用できる任意のアプリケーションプロトコルを通知することを含むことができる。移動体コンピューティング装置は、それに応じてテーブル810を更新できる。いくつかの実施形態において、アクセサリが移動体コンピューティング装置と結合される場合、アクセサリは、例えばアクセサリ通信プロトコルと関連付けられるアクセサリIDlingoを使用してID情報を送出することにより自身を識別できる。ID情報は、例えばテーブル810を参照することにより適切なアプリケーション通信プロトコルを選択するために移動体コンピューティング装置により使用可能である。いくつかの実施形態において、移動体コンピューティング装置は、インターネットを介してサーバ及び/又はアプリケーションストアにアクセサリ識別情報を送出し、アクセサリと互換性のあるアプリケーション通信プロトコルを識別できる。いくつかの実施形態において、アプリケーションストア及び/又はサーバは、アクセサリと互換性のあるアプリケーションプロトコルを詳細に示すファイルを送出できる。いくつかの実施形態において、アクセサリは、移動体コンピューティング装置にアプリケーションプロトコル情報を送出しなくてもよく、アクセサリは、適切なアプリケーション通信プロトコルを選択するために移動体コンピューティング装置により使用されるアクセサリID情報を送出できる。図7のブロック712に戻ると、サポートアプリケーションプロトコルテーブル例えば、図8のテーブル810が提供される実施形態において、移動体コンピューティング装置は、新しく接続されたアクセサリのプロトコル名を使用してサポートプロトコルテーブルにアクセスすることにより、互換性のあるアプリケーションが利用可能であるかを判定できる。例えば図8に示すように、新しく接続されたアクセサリがアプリケーションプロトコル識別子としてprotocolStringcを提供した場合、処理700のブロック712は、サポートプロトコルテーブル810においてprotocolStringcをルックアップすることを含むことができ、それにより、アプリケーションApp8がこのアプリケーションプロトコルと関連付けられることを判定する。この場合、ブロック712の結果、アプリケーションが利用可能であることが判定される。図8に更に示すように、新しく接続されたアクセサリがアプリケーションプロトコルとしてprotocolStringxを提供した場合、テーブル810においてマッチングするものは見つけられず、処理700のブロック712の結果、互換性のあるアプリケーションが利用可能でないことが判定される。互換性のあるアプリケーションが利用可能でない場合、処理700は、ブロック714において互換性のあるアプリケーションの位置を特定し且つ取得することを容易にできる。例えば移動体コンピューティング装置は、アプリケーションを購入及び/又はダウンロードするためにアプリケーションストア例えば、AppleIncにより提供されるiTunesOストア又は他のリソースにユーザを誘導できる。種々の援助が提供される。例えばいくつかの実施形態において、ブロック706で移動体コンピューティング装置に提供されたアクセサリ情報は、アクセサリと共に使用するための好適なアプリケーションの識別子を含むことができる。この識別子は、URLユニフォームリソースロケータ、例えばワールドワイドウェブページアドレス又は特定のアプリケーションストアにおける好適なプリケーションの固有の製品識別子等であってもよい。移動体コンピューティング装置は、この情報を使用して好適なアプリケーションの位置を特定でき、アプリケーションを購入及び/又はダウンロードするようにユーザに指示できる。他の実施形態において、移動体コンピューティング装置は、例えばアプリケーションストア内で互換性のあるアプリケーションを探索するために、他のアクセサリ識別情報を含むアプリケーションプロトコル情報又は他のアクセサリ識別情報を含まないアプリケーションプロトコル情報を使用できる。例えば図9に示すように、移動体コンピューティング装置は、1つ以上の接続されたアプリケーションプロトコル及び/又はアクセサリにより提供される好適なアプリケーションの識別子appCode830として表されるを使用してクエリ825を定式化できる。移動体コンピューティング装置は、アプリケーションストア又は別の宛先における探索と関連するURL840にクエリ825を送出できる。図示する例において、クエリは、好適なアプリケーションのappCode830と共に全ての接続アプリケーションプロトコル論理和ORオペランドにより結合されるのリストを含む。複数のアプリケーションがクエリとマッチングした場合、好適なアプリケーション830は、好適なプリケーションこれは、マッチングするもののリスト上にあるを強調表示するためにアプリケーションストアにより使用される。従って、接続プロトコルリスト820の1つ以上のアプリケーションプロトコルをサポートする複数のアプリケーションが一覧表示されてもよいが、好適なアプリケーション830はデフォルトアプリケーションであってもよく、例えば結果リストの最上部になるように一覧表示され且つ/又は要求に応じてそのアプリケーションを識別する記号、単語又はロゴにより印がつけられてもよい。いくつかの実施形態において、2つ以上のバージョンの好適なアプリケーションに格付けが提供されてもよく、その結果、ユーザが層状のリストを提示されてもよい。例えば、好適なアプリケーションのプロバージョン、標準バージョン及び/又はフリーバージョン全てが提供可能である。クエリに応答して、アプリケーションストアは、1つ以上の互換性のあるアプリケーションのリストを返すことができ、移動体コンピューティング装置は、ダウンロードする互換性のあるアプリケーションを選択するようにユーザに指示できる。いくつかの実施形態において、アプリケーションは、ダウンロードされるとすぐにインストール可能である。他の実施形態において、ユーザは、アプリケーションをダウンロード及びその後インストールするように別個に指示されてもよい。更に他の実施形態において、ユーザは、アプリケーションを購入するように要求されてもよい。いくつかの実施形態において、クレジットを使用してアプリケーションストアを介して及び/又は先に開設された口座を介して購入される。更に他の実施形態において、互換性のあるアプリケーションは、アクセサリ自体に事前に格納されてもよく、アクセサリ通信プロトコルは、アクセサリが互換性のあるアプリケーションを格納していることを示すことを可能にするコマンドを含むことができる。そのような指示に応答して、移動体コンピューティング装置は、アクセサリから互換性のあるアプリケーションをアップロードし且つそれをインストールできる。いくつかの実施形態において、移動体コンピューティング装置は、アクセサリにより提供されるアプリケーションをアップロード及び/又はインストールする前に承認するようにユーザに指示してもよい。図7に戻ると、ブロック716において、互換性のあるアプリケーションが現在利用可能であり且つインストールされるかが判定される。例えば、互換性のあるアプリケーションの位置が特定されていない可能性があるか、あるいはユーザはアプリケーションを購入もダウンロードもしないことを選択した可能性がある。上記判定が否定である場合、処理700はブロック718で終了する。ブロック716で互換性のあるアプリケーションが利用可能である先にインストールされているか又はブロック714を介してインストールされたばかりである場合、ブロック720において、移動体コンピューティング装置は、互換性のあるアプリケーションが既に実行しているかを判定できる。実行していない場合、アプリケーションはブロック722で開始される。ブロック722は、実現例に依存して、アプリケーションが開始されるべきであると確定するようにユーザに指示することを含むことができる。ブロック724において、アプリケーションはアクセサリと通信できる。いくつかの実施形態において、ブロック724は、例えば上述したように、セッションを作成すること、並びにセッションを介してアプリケーションプロトコルコマンドを送出及び/又は受信することを含むことができる。ブロック724は、アクセサリ通信プロトコルを使用してコマンド及び他の情報を送出及び/又は受信することを更に含むことができる。従って、同一のアプリケーション及びアクセサリは、アクセサリ通信プロトコルによりサポートされる機能を使用でき、また、アクセサリ通信プロトコルによりサポートされる機能と重複してもしなくてもよいアプリケーションプロトコルを使用して他の情報、制御信号、データ等を交換できる。例えばアクセサリが移動体コンピューティング装置から切断され且つ/又はアプリケーションが終了するまで、通信は無期限に持続可能である。この時点で、処理700は終了するブロック718。処理700は、移動体コンピューティング装置において、ハードウェア、ソフトウェア及び/又はファームウェアを使用して実現可能である。例えばシステム処理及び/又はアプリケーションは実行し、上述の動作を実行するように移動体コンピューティング装置の機能性を制御してもよい。いくつかの実施形態において、移動体コンピューティング装置は、アクセサリが切断した後でも移動体コンピューティング装置に接続されていたアクセサリによりサポートされる全ての又は多くのアプリケーションプロトコルの永続リストを維持できる。移動体コンピューティング装置がアプリケーションストアと通信する場合、移動体コンピューティング装置は、アプリケーションストアに永続リスト上のプロトコルの一部又は全てを例えば、アプリケーションストアを管理するサーバに対する探索クエリとして提供でき、アプリケーションストアは、ユーザが興味のある可能性があるアプリケーションをリストに基づいて提案できる。例えばアプリケーションストアは、同一のアプリケーションプロトコルを使用する他のアプリケーションを識別できる。永続リストが各アプリケーションプロトコルと関連する特定のアクセサリを識別する情報を更に含む場合、アプリケーションストアにより提供される情報は、識別されたアプリケーションと互換性があるものとして特定のアクセサリを識別できる。これは、ユーザが購入及び/又はダウンロードするアプリケーションを選択するのを支援できる。図10は、本発明の一実施形態に従ってアクセサリとの通信を開始するためにアプリケーションにより実行される処理1000を示すフローチャートである。処理1000は、例えばアプリケーションが移動体コンピューティング装置において開始される時に開始するブロック1002。例えば、ユーザはアプリケーションを手動で開始できるか、あるいはアプリケーションはアクセサリの接続に応答して移動体コンピューティング装置により自動的に開始される例えば、図7を参照して上述したように。ブロック1004において、アプリケーションは、互換性のあるアクセサリが接続されるかを判定するためにチェックする。本明細書において使用されるように、アクセサリがアプリケーションにより要求され且つ/又は利用可能であるアプリケーションプロトコルをサポートする場合、アクセサリは特定のアプリケーションと互換性がある。例えば移動体コンピューティング装置が図8のテーブル820等の接続アクセサリテーブルを維持する実施形態において、アプリケーションは、所望のアプリケーションプロトコルの名前を使用してテーブルをクエリし、互換性のあるアクセサリが接続されるかを判定できる。このクエリは、例えばサポート層例えば、図3のサポート層315と通信するためにAPI機能呼出しを呼び出すことを含むことができる。ブロック1006で互換性のあるアクセサリが接続されていない場合、アプリケーションは、ブロック1008においてある特定の期間待機し、再試行できる。例えばタイムアウト期間が経過した場合、処理1000はブロック1020で終了する。いくつかの実施形態において、ブロック1008において待機中、アプリケーションは、互換性のあるアクセサリに接続するようにユーザに指示するメッセージをユーザに対して生成できる。いくつかの実施形態において、アプリケーションは、移動体コンピューティング装置システムサービスに登録され、繰り返しチェックするのではなく、互換性のあるアクセサリが利用可能になった時に通知を要求する。更に他の実施形態において、アプリケーションは、互換性のあるアクセサリが接続されていない場合に終了可能であり、互換性のあるアクセサリが接続されていない限り又はアプリケーションが縮小された機能性で実行可能でない限りアプリケーションが実行しないことをユーザに通知できる。互換性のあるアクセサリがブロック1010で検出される場合、アプリケーションはそのアクセサリとのセッションを開始できる。例えばアクセサリは、サポート層408図4を参照又はアプリケーションマネージャ図14を参照のAPI呼出しを呼び出し、特定のアクセサリ及びアプリケーションプロトコルと関連付けられるセッション例えば、図4のセッション406を作成できる。図10においてブロック1012により表されるセッションは、無期限に継続可能である。上述したように、セッション中、アプリケーションはセッションと関連付けられるアプリケーションプロトコルを使用してメッセージ例えば、制御信号、データ、状態及び/又は他の情報を送出及び/又は受信でき、更にアプリケーションは、所望の機能性がアクセサリ通信プロトコル内でサポートされるように、アクセサリ通信プロトコルを使用してメッセージを送出及び/又は受信できる。セッションは最終的に終了する。例えばブロック1014において、アプリケーションは、セッションが終了されるべきである例えば、アプリケーションの終了又はアクセサリがそれ以上使用されないという指示等のユーザ命令に応答してと判定でき、そのような判定に応答してブロック1016においてセッションを終了できる。別の例として、ブロック1018において、アプリケーションは、アクセサリが切断されたことを通知される。この結果、ブロック1016においてセッションが終了する。ブロック1016のセッションの終了は、例えばセッションオブジェクトを破棄するか又は閉じ且つ関連するリソースを解放するためにAPI呼出しを呼び出すことを含むことができる。例えばアクセサリ及びアプリケーションプロトコルの所定の組合せに対して1度に1つのセッションのみが許可される実施形態において、セッションの終了は、アクセサリ及びそのプロトコルが例えば異なるアプリケーションにより別のセッションにおいて自由に使用できることを示す信号を移動体コンピューティング装置に伝送できる。いくつかの実施形態において、セッションを終了した結果、アクセサリが切断される例えば、移動体コンピューティング装置はポートを閉じることができる。他の実施形態において、セッションが終了した後、アクセサリは接続されたままである。更に他の実施形態において、アプリケーションは、セッションが終了した時にアクセサリを切断するかに関して移動体コンピューティング装置システムサービスに命令できる。セッションが終了すると、処理1000は終了可能である。いくつかの実施形態において、セッション終了処理後にアプリケーションがまだ実行している場合、1000はブロック1004に戻り、互換性のあるアクセサリを探し、新しいセッションを開始する。本明細書において説明されるアクセサリ通信プロトコルが例示であり、変形及び変更が可能であることは理解されるだろう。順次動作として説明された動作は同時に実行されてもよく、動作の順序は変更されてもよく、且つ/あるいは動作が追加されてもよく、省略されてもよく又は組み合わされてもよい。いくつかの実施形態において、移動体コンピューティング装置は、複数のアクセサリに対する同時接続及び/又は複数のアプリケーションの同時実行をサポートできる。従って、単一のアプリケーションは複数のアクセサリと同時に対話可能であるか、あるいは単一のアクセサリは複数のアプリケーションと同時に対話可能である。例えば図11は、本発明のいくつかの実施形態に従ってアクセサリA1106及びアクセサリB1108と同時に対話する移動体コンピューティング装置1102上のアプリケーション1100を示す。アクセサリA1106及びアクセサリB1108は、異なる種類のアクセサリであってもよく、あるいは同様の又は同一のアクセサリであってもよい。この例において、各アクセサリは、異なるポートに接続される。従って、アクセサリA1106はポート1110に接続され、アクセサリB1106はポート1112に接続される。アプリケーション1100は、2つのセッション1114、1116を作成した。セッション1112がアクセサリ1104と関連付けられ且つアプリケーションプロトコルA1を使用する一方で、セッション1114はアクセサリA1106と関連付けられ且つアプリケーションプロトコルB1を使用する。セッション1112及び1114は、互いに依存しない。いずれのセッションも、他方のセッションに影響を及ぼさずに開始、使用及び/又は終了される。いくつかの実施形態において、セッションはプロトコル専用であってもよい。ポート1110は、アクセサリ通信プロトコルを使用して、移動体コンピューティング装置1102とアクセサリ1106との間を通過するようにプロトコルA1に準拠するメッセージに対するトンネルを提供でき、ポート1112は、同一のアクセサリ通信プロトコルを使用して、移動体コンピューティング装置1102とアクセサリ1108との間を通過するようにプロトコルB1に準拠するメッセージに対する別個のトンネルを提供できる。アプリケーションプロトコルA1及びB1は、要望に応じて異なるプロトコルであってもよく又は同一のプロトコルであってもよいことが理解される。更に、2つのアクセサリ及び2つのセッションが示されるが、十分なハードウェア及び/又はソフトウェアリソース例えば、ポート及び/又はセッションが移動体コンピューティング装置上で利用可能であるという条件の下でのみ、任意の数のアクセサリ及びセッションが本明細書で説明する方法で特定のアプリケーションに接続可能である。図12は、本発明のいくつかの実施形態に従って移動体コンピューティング装置1204上で実行し且つアクセサリA1206及びアクセサリB1208と同時に対話する2つのアプリケーション、アプリケーション11200及びアプリケーション21202を示す。アクセサリA1206及びアクセサリB1208は、異なる種類のアクセサリであってもよく、あるいは同様の又は同一のアクセサリであってもよい。この例において、各アクセサリは、異なるポートに接続される。従って、アクセサリA1206はポート1210に接続され、アクセサリB1208はポート1212に接続される。アプリケーション11200は、アクセサリA1206及びアプリケーションプロトコルA1と関連付けられるセッション1214を作成し、アプリケーション21202は、アクセサリB1208及びアプリケーションプロトコルB1と関連付けられるセッション1216を作成した。セッション1212及び1214は互いに依存しない。いずれのセッションも、他方のセッションに影響を及ぼさずに開始、使用及び/又は終了される。ポート1210は、アクセサリ通信プロトコルを使用して、移動体コンピューティング装置1204とアクセサリ1206との間を通過するようにアプリケーションプロトコルA1に準拠するメッセージに対するトンネルを提供でき、ポート1212は、同一のアクセサリ通信プロトコルを使用して、移動体コンピューティング装置1204とアクセサリ1208との間を通過するようにアプリケーションプロトコルB1に準拠するメッセージに対する別個のトンネルを提供できる。図11と同様に、アプリケーションプロトコルA1及びB1は、要望に応じて異なるプロトコルであってもよく又は同一のプロトコルであってもよいことが理解される。更に、2つのアクセサリ、2つのアプリケーション及び2つのセッションが示されるが、十分なハードウェア及び/又はソフトウェアリソース例えば、ポート及び/又はセッションが移動体コンピューティング装置上で利用可能であるという条件の下でのみ、任意の数のアクセサリ、セッション及び/又はアプリケーションが本明細書で説明する方法で同時にサポート可能である。図13は、本発明のいくつかの実施形態に従って移動体コンピューティング装置1304上で実行し且つアクセサリ1306と同時に対話する2つのアプリケーション、アプリケーション11300及びアプリケーション21302を示す。この例において、アクセサリ1306は2つの異なるアプリケーションプロトコルA1及びA2をサポートする。プロトコルA1及びA2は、名前のみが異なってもよく、あるいは潜在的に互換性のない2つの別個のプロトコルであってもよい。アクセサリ1306は、プロトコルA1と関連付けられるポート1310で移動体コンピューティング装置1304に接続され、プロトコルA2と関連付けられるポート1312で移動体コンピューティング装置1304に更に接続される。アプリケーション11300は、アクセサリ1306及びアプリケーションプロトコルA1と関連付けられるセッション1314を作成したため、ポート1310を介してアクセサリ1306と通信できる。同様に、アプリケーション21302は、アクセサリ1306及びアプリケーションプロトコルA2と関連付けられるセッション1316を作成したため、ポート1312を介してアクセサリ1306と通信できる。セッション1312及び1314は互いに依存しない。いずれのセッションも、他方のセッションに影響を及ぼさずに開始、使用及び/又は終了される。ポート1310は、アクセサリ通信プロトコルを使用して、移動体コンピューティング装置1304とアクセサリ1306との間を通過するようにアプリケーションプロトコルA1に準拠するメッセージに対するトンネルを提供でき、ポート1312は、同一のアクセサリ通信プロトコルを使用して、移動体コンピューティング装置1304とアクセサリ1306との間を通過するようにアプリケーションプロトコルA2に準拠するメッセージに対する別個のトンネルを提供できる。2つのアプリケーション及び2つのセッションが示されるが、十分なハードウェア及び/又はソフトウェアリソース例えば、ポート及び/又はセッションが移動体コンピューティング装置上で利用可能であるという条件の下でのみ、任意の数のアクセサリ、セッション及び/又はアプリケーションが本明細書で説明する方法で同一のアクセサリに同時に接続可能である。図11~図13のシステム構成が例示であり、変形及び変更が可能であることは理解されるだろう。例えば、任意の数のアプリケーション及び任意の数のアクセサリが任意の数のセッション及びポートを使用して接続可能である。上述したように、セッションは物理的接続例えば、ポート等の詳細からアプリケーションを隠すソフトウェアエンティティであってもよい。従って、アプリケーションは、通信するために、互換性のあるアクセサリが接続されるポートを認識する必要はない。また、通信パスは他の中間層例えば、上述したようなプロトコルマネージャ及び/又はプロトコルデーモン層を更に含むことができる。アプリケーションマネージャは、アプリケーションと通信ポートとの間の通信接続を抽出し、アプリケーションプログラムに対して透過的な通信プロトコルの詳細を示すために使用される。いくつかの実施形態において、通信接続が抽出された場合、アプリケーションプログラムは、通信しているアクセサリの任意の詳細を認識せずに、出力ストリームにデータを書き込み且つ入力ストリームからデータを読み出すことによりアクセサリと通信できる。これは、アプリケーションマネージャを使用して行なわれる。いくつかの実施形態において、アプリケーションマネージャは、図4に示すサポート層408又はプロトコルマネージャ410の部分を含むことができるか、あるいはサポート層408又はプロトコルマネージャ410により実現される。図14は、そのような抽象概念の一例を示す。図14は、本発明のいくつかの実施形態に従って移動体コンピューティング装置のアプリケーション層1402とアプリケーションマネージャ1404とハードウェアトランスポート層1406との間のデータフローを示す。アプリケーション層1402は、移動体コンピューティング装置で実行する任意の種類の処理であってもよい。ハードウェアトランスポート層1402は、移動体コンピューティング装置とアクセサリとの間の任意の種類のハードウェアインタフェース又はソフトウェアインタフェースを含むことができる。アプリケーションマネージャ1404は、ハードウェアトランスポート層1406を介し且つアプリケーション層1402を介してアクセサリ間の通信インタフェースを提供できる。それにより、アプリケーション1402が通信しているアクセサリの詳細又はアクセサリが結合されるポートの詳細を認識しないように、通信は抽出される。アプリケーションマネージャ1404は、移動体コンピューティング装置のオペレーティングシステムの一部であるバックグラウンド処理であってもよく又は移動体コンピューティング装置で実行する別のバックグラウンド処理であってもよい。アプリケーションマネージャ1404は、アクセサリと通信するために使用されるアプリケーションに入力ストリーム及び出力ストリームを提供できる。いくつかの実施形態において、アプリケーションマネージャ1404は、移動体コンピューティング装置と結合される接続アクセサリを管理でき、ハードウェアトランスポート層1406を介してアクセスされる。アプリケーションマネージャ1404は、移動体コンピューティング装置上で実行されているか又はインストールされるアプリケーションのアクセサリ通信機能を更に管理できる。双方の場合において、アプリケーションマネージャ1404はアクセサリ及び/又はアプリケーションと関連付けられるアプリケーションプロトコル情報を格納できる。図15~図18は、アプリケーションマネージャを使用してセッションを確立し且つアプリケーションとアクセサリとの間の通信を提供するために実現される種々の処理を示す。図15は、本発明のいくつかの実施形態に従ってセッションを確立及び管理するために移動体コンピューティング装置においてアプリケーションマネージャにより実行される処理1500を示すフローチャートである。処理1500はブロック1502で開始する。ブロック1504において、アプリケーションマネージャは、アクセサリが移動体コンピューティング装置と接続されているかすなわち、通信しているかを判定するために通信ポートを監視する。いくつかの実施形態において、アプリケーションマネージャは、アクセサリが移動体コンピューティング装置と結合されるかを判定するために物理コネクタのハードウェア状態を監視できる。いくつかの実施形態において、アプリケーションマネージャは、WiFi又はBluetoothモジュールから無線接続が確立されたことを示す指示を受信できる。ポートの種類に関係なく、アプリケーションマネージャは、通信チャネルがアクセサリに対して確立されたかを判定できる。ブロック1506において、処理1500は、アクセサリが移動体コンピューティング装置と結合されるかを監視し続ける。ブロック1506で判定されたように、通信チャネルが確立されると、処理1500はブロック1508において認証処理を実行できる。認証は、アクセサリプロトコルを使用して移動体コンピューティング装置とアクセサリとの間で種々のメッセージを送出することにより進む。アクセサリが認証され、移動体コンピューティング装置と通信する許可が与えられると、アクセサリ機能情報はブロック1510において受信される。機能情報は、アクセサリと互換性のある1つ以上のアプリケーションプロトコルを示す情報を含むことができる。アプリケーションプロトコルは、例えば上述したような逆ドメイン名規則又はアプリケーションプロトコルを示す任意の他の規則を使用して示される。ブロック1512において、一部又は全ての情報は、移動体コンピューティング装置においてメモリに格納される。特に、アプリケーションプロトコルは、アクセサリが結合される通信ポートとアプリケーションプロトコルとを関連付けるルックアップテーブル例えば、図8の接続アプリケーションプロトコルテーブル820に格納される。ブロック1514において、アプリケーションマネージャは、アクセサリによりサポートされるアプリケーションプロトコルを使用するアクセサリと移動体コンピューティング装置又は移動体コンピューティング装置上で実行されているアプリケーションとの間の通信を可能にするかを判定できる。いくつかの実施形態において、通信は、アプリケーション又は他の処理がアクセサリによりサポートされるアプリケーションプロトコルをサポートする移動体コンピューティング装置上で実行している場合に許可されてもよい。例えばアプリケーションマネージャは、移動体コンピューティング装置上で実行されているアプリケーションによりサポートされるアプリケーションプロトコルをルックアップテーブルに格納されるアプリケーションプロトコルと比較できる。アクセサリとアプリケーションとの間の通信は、アプリケーションプロトコルを使用して行なわれる。いくつかの実施形態において、アプリケーションプロトコルメッセージは、トンネルされるか又はアクセサリプロトコルメッセージ内に埋め込まれる例えば、アクセサリプロトコルメッセージ内にアプリケーションプロトコルメッセージをラップすることにより。ブロック1516においてアクセサリが移動体コンピューティング装置から分離されない限り且つ/又はブロック1518においてアプリケーションの実行が終了されない限り、通信は継続可能である。あるいは、いくつかの実施形態において、ルックアップテーブルに格納されるアプリケーションプロトコルはブロック1520で除去され、処理1500はブロック1522で終了可能である。図16は、本発明のいくつかの実施形態に従って移動体コンピューティング装置上で実行されているアプリケーションとアクセサリとの間の通信を調整するために移動体コンピューティング装置においてアプリケーションマネージャにより実行される処理を示す別のフローチャートである。処理1600は、ブロック1605で開始できる。ブロック1610において、アプリケーションマネージャは、移動体コンピューティング装置上で実行されているアプリケーションからアクセサリ情報の要求を受信できる。ブロック1615でアクセサリが接続されていない場合、メッセージはそのことを示すためにアプリケーションに送出され、処理1600はブロック1610に戻り、アクセサリがMCDと結合されるまで待機できるか、あるいはいくつかの実施形態において処理1600は終了してもよい。アクセサリが移動体コンピューティング装置と接続される場合、ブロック1620において、アプリケーションマネージャは、移動体コンピューティング装置と結合される全てのアクセサリによりサポートされる任意のアプリケーションプロトコルの指示を含むアクセサリ情報をアプリケーションに提供できる。アプリケーションマネージャは、例えば逆ドメイン名規則を使用してアクセサリによりサポートされるアプリケーションプロトコルをメタデータとして含む任意の又は全てのアプリケーションプロトコル情報を送出できる。各アプリケーションプロトコルは、アプリケーションプロトコル識別子と関連付けられる。いくつかの実施形態において、アプリケーションは、アクセサリ情報を要求するのではなく、アプリケーションプロトコルデータをアプリケーションマネージャに送出できる。アプリケーションマネージャは、存在する場合にはアプリケーションから送出されるアプリケーションプロトコルデータと互換性のあるルックアップテーブル例えば、接続アプリケーションプロトコルテーブル820からアプリケーションプロトコルを選択できる。ブロック1625において、アプリケーションは、例えばアプリケーションプロトコル識別子を使用して、アプリケーションプロトコルに対する通信セッションを開くことができ、アプリケーションマネージャに対してプロトコルを示すことができる。これを行なうことにより、アプリケーションはアクセサリ又はポートに関して何も指定せずに要求できる。通信セッションを開くことに応答して、アプリケーションマネージャは、ブロック1630においてセッションと関連付けられる出力ストリーム及び入力ストリームをアプリケーションに提供できる。いくつかの実施形態において、通信セッションは、特定のアクセサリと関連付けられる特定のプロトコルに対して開かれる。従って、複数のセッションが1つ以上のアクセサリとの通信のための複数のプロトコルを使用して作成される。ブロック1635において、アプリケーションマネージャは、通信セッションと関連付けられるアプリケーションプロトコルを使用してアプリケーションからアプリケーションプロトコルメッセージを受信できる。アプリケーションプロトコルメッセージは、ブロック1630で提供された出力ストリームを使用してアプリケーションマネージャにおいて受信される。ブロック1640において、アプリケーションマネージャは、アクセサリプロトコルラッパーによりアプリケーションプロトコルメッセージをラップできる。いくつかの実施形態において、このラップは、アプリケーションプロトコルメッセージをアクセサリプロトコルメッセージ例えば、図5A、図5B及び図5Cに示す内に埋め込むことを含むことができる。いくつかの実施形態において、このラップは、アクセサリプロトコルを使用してアプリケーションプロトコルメッセージをトンネルできる。ブロック1645において、ラップされたアプリケーションプロトコルメッセージはアクセサリに送出される。その後、処理1600はブロック1650に進む。ブロック1635に戻ると、アプリケーションマネージャがブロック1635でアプリケーションプロトコルメッセージを受信していない場合、処理1600はブロック1650に進める。ブロック1650において、アプリケーションマネージャは、アクセサリからアクセサリプロトコルメッセージを受信できる。アクセサリプロトコルメッセージは、アクセサリプロトコルメッセージ内にラップされるアプリケーションプロトコルメッセージを含むことができる。ブロック1655において、アクセサリプロトコルラッパーは、アプリケーションプロトコルメッセージから取り除かれる。ブロック1660において、アプリケーションプロトコルメッセージはアプリケーションに送出される。アクセサリが移動体コンピューティング装置から切断される1670か又はアプリケーションが移動体コンピューティング装置において実行するのを中止した1665場合、処理1600はブロック1675で終了する。あるいは、処理はブロック1635に戻る。移動体コンピューティング装置と結合されるアクセサリにおいて実行される処理を図17に示す。アクセサリが移動体コンピューティング装置と接続されると、処理1700はブロック1702で開始できる。ブロック1704において、アクセサリは、移動体コンピューティング装置にメッセージを送出して、アクセサリによりサポートされるアプリケーションプロトコルを示すことができる。このメッセージは、図15のブロック1510に関して説明されたアクセサリ機能の一部であってもよい。このメッセージは、アクセサリプロトコルに従って送出される。アクセサリは、逆ドメイン名規則を使用してアプリケーションプロトコルを示せる例えば、上述したように。通信セッションがアプリケーションマネージャにより確立された場合、ブロック1706において、移動体コンピューティング装置はアクセサリプロトコルを使用してメッセージをアクセサリに送出でき、通信セッションが作成されたことを示す。このメッセージ又は次のメッセージは、ブロック1708において示されるようにセッションを作成するために使用されるアプリケーションプロトコルを示せる。いくつかの実施形態において、ブロック1708において、セッションIDは、アプリケーションプロトコルの代わりに又はそれに加えて通信される。ブロック1710において、確認応答メッセージは、ブロック1712でアプリケーションプロトコルを使用して移動体コンピューティング装置と通信する前にアクセサリプロトコルを使用してアクセサリから移動体コンピューティング装置に送出される。処理1700はブロック1714で終了する。例えばアプリケーションがユーザ又はオペレーティングシステムにより閉じられた時、アプリケーション又はオペレーティングシステムがセッションを閉じた時、並びに/あるいはアクセサリが切断された時、処理1700は終了する。図18は、本発明のいくつかの実施形態に従ってアクセサリとの通信を開くために移動体コンピューティング装置においてアプリケーションにより実行される処理1800を示すフローチャートである。処理1800は、ブロック1805で開始する。ブロック1810において、アプリケーションは、アプリケーションマネージャから接続アクセサリに関する情報を要求できる。アプリケーションマネージャは、アプリケーションにアクセサリ情報を送出することにより応答でき、ブロック1815において、その応答はアプリケーションにより受信される。アクセサリ情報を含むアプリケーションマネージャからの応答は、ブロック1815において受信される。アクセサリ情報は、移動体コンピューティング装置と結合されるアクセサリ、アクセサリと互換性のあるアプリケーションプロトコル及び/又はアプリケーションプロトコルと関連付けられる識別子を示す情報を含むことができる。いくつかの実施形態において、アクセサリマネージャは、接続アプリケーションプロトコルの一覧又はテーブルの位置が特定される記憶場所にアプリケーションを誘導できる。ブロック1820において、アプリケーション又は移動体コンピューティング装置は、接続されたアクセサリと互換性のある任意のアプリケーションプロトコル又は単一のアプリケーションプロトコルがアプリケーションと互換性のあるアプリケーションプロトコルとマッチングするかを判定できる。マッチングするものが見つけられる場合、処理1800はブロック1835に進む。マッチングするものがない場合、ブロック1825において、アクセサリと関連付けられるアプリケーションプロトコルと互換性のあるアプリケーションは、インターネット上で例えば、オンラインアプリケーションストアにおいて又は移動体コンピューティング装置上で探索される。いくつかの実施形態において、アクセサリ情報は、アクセサリと共に使用するのに好適なアプリケーションを示す情報を含むことができる。いくつかの実施形態において、ブロック1830において、アプリケーションは移動体コンピューティング装置でダウンロードされ且つ実行され、処理1800はブロック1835に進む。いくつかの実施形態において、アプリケーションアドオン又はパッチは、アクセサリとも互換性のあるアプリケーションプロトコルとの互換性を提供するネットワーク位置例えば、オンラインアプリケーションストアからダウンロードされる。新しいアプリケーションがダウンロードされず且つ互換性のあるアプリケーションが見つけられない場合、処理1800はブロック1865で終了する。いくつかの実施形態において、ブロック1820において、互換性のあるアプリケーションが見つけられないか又は移動体コンピューティング装置において利用可能でない場合、3つのオプションのうちの1つが実行される。第1に、ユーザは、互換性のあるアプリケーションを探索し且つ/又はネットワーク位置又はアプリケーションストアからダウンロードしたいかを入力要求される。処理は、ユーザの選択に従って進むことができる。第2に、移動体コンピューティング装置は、ユーザに入力要求せずに互換性のあるアプリケーションを探索し且つ/又はダウンロードできる。第3に、移動体コンピューティング装置は互換性のあるアプリケーションに対してユーザに入力を要求しなくてもよく、且つ互換性のあるアプリケーションを探索しなくてもよい。いくつかの実施形態において、アクセサリは、上記3つのオプションのうち移動体コンピューティング装置が従うべきオプションを示すメッセージを送出できる。このメッセージは、ブロック1810又はブロック1815において又はその前に送出可能である。他の実施形態において、移動体コンピューティング装置におけるシステム設定はユーザにより設定され、上記オプションのうち全てのアクセサリが従うべきオプションを示す。ブロック1835において、アプリケーションは、互換性のあるアプリケーションプロトコルに結び付けられる通信セッションを開くことができる。セッションが作成されると、アプリケーションマネージャは、ブロック1840においてアプリケーションに入力ストリーム及び出力ストリームを提供できる。ブロック1845において、アプリケーションは、アプリケーションプロトコルに従ってフォーマットされたデータを出力ストリームに書き込み且つ入力ストリームからアプリケーションプロトコルデータを読み出すことによりアクセサリと通信できる。ブロック1850において判定されるようにアクセサリが移動体コンピューティング装置と結合され、ブロック1855においてセッションを終了しない限り、アプリケーションは、アプリケーションマネージャにより提供される入力ストリーム/出力ストリームを使用してアクセサリと通信できる。あるいは、セッションはブロック1860で終了され、処理1800はブロック1855で終了する。本発明のいくつかの実施形態において、アクセサリが移動体コンピューティング装置と接続する場合、アクセサリは、好適なアプリケーションを指定するメタデータを含むアクセサリ情報を送出できる。例えばこの情報は、識別段階、認証段階又は機能段階の間に送出される。いくつかの実施形態において、好適なアプリケーションがアプリケーションにおいて実行しておらず、移動体コンピューティング装置においてメモリに格納される場合、アプリケーションは自動的に開始される。いくつかの実施形態において、移動体コンピューティング装置は、ユーザが好適なアプリケーションを開始したいかをユーザに問い合わせる通知をユーザに提供でき、ユーザが肯定応答した場合にアプリケーションを開始できる。本発明のいくつかの実施形態において、任意の好適なアプリケーションすなわち、アクセサリが好むアプリケーションが移動体コンピューティング装置にロードされる場合、移動体コンピューティング装置は、ユーザインタフェースのホームスクリーン上に好適なアプリケーションの1つ又は各々に関連するアイコンを強調表示できる。ユーザは、アクセサリと共に使用する互換性のあるアプリケーションの位置を更に容易に特定できる。例えばアプリケーションアイコンを強調表示する時、移動体コンピューティング装置は、例えばアイコンの色又は陰影を変更でき、アイコンを小刻みに動かすか又は振動させることができ、アイコンを拡大でき、アイコンの形状を変更でき、アイコンのピクチャを変更できる。アイコンの任意の態様が変更可能である。本発明の他の実施形態において、好適なアプリケーションが移動体コンピューティング装置上に格納もロードもされていない場合、移動体コンピューティング装置は、好適なアプリケーションをダウンロードするためのアプリケーションストア等のネットワーク位置に誘導される。いくつかの実施形態において、メタデータが保存され、好適なアプリケーションは後でネットワーク位置からダウンロードされる。例えば、ユーザが、好適なアプリケーションがダウンロードされる指定されたネットワーク位置にウェブブラウザ又はアプリケーションストアを誘導する場合、アプリケーションはダウンロードされる。別の例として、ユーザが好適なアプリケーションをダウンロードするために適切なレベルの無線接続性を有する場合、アプリケーションはダウンロードされる。いくつかの実施形態において、移動体コンピューティング装置がホストコンピュータと結合される場合、好適なアプリケーションはロードされる。更にいくつかの実施形態において、アクセサリから移動体コンピューティング装置に送出されるメタデータは、好適なアプリケーションが移動体コンピューティング装置にロードされるアプリケーションとマッチングしない場合の挙動の仕方を指定する指示を更に含むことができる。この指示は、コマンド又はメッセージの一部であってもよい。例えばアクセサリは、好適なアプリケーションが移動体コンピューティング装置においてアプリケーションとマッチングする必要があること及び好適なアプリケーションがアクセサリと対話するためにダウンロードされる必要があることを指定できる。別の例として、アクセサリは好適なアプリケーションを指定できるが、互換性のあるアプリケーションプロトコルにより任意のアプリケーションと相互運用される。この場合、移動体コンピューティング装置は好適なアプリケーションをダウンロードできるが必須ではない。更に場合によっては、移動体コンピューティング装置は、好適なアプリケーションをダウンロードするか又は互換性のあるアプリケーションを使用するかに関してユーザからのフィードバックを要求できる。更に別の例として、アクセサリは、移動体コンピューティング装置がアプリケーションを探索しないか、あるいはネットワーク位置又はアプリケーションストアからアプリケーションをダウンロードしないことを指定できる。更に状況によっては、アクセサリは、ユーザがアプリケーションをダウンロードするかを問われることがないように指定できる。この例において、アクセサリは、移動体コンピューティング装置においてアプリケーションと対話せずに動作可能である。本発明の更に別の実施形態において、アクセサリは移動体コンピューティング装置と結合され、第1のアプリケーションは移動体コンピューティング装置において実行可能である。第1のアプリケーションは、アクセサリと互換性があってもなくてもよいアプリケーションプロトコルと関連付けられ、アプリケーションはアクセサリと通信していても通信していなくてもよい。アクセサリは、移動体コンピューティング装置にコマンドを送出でき、実行する第2のアプリケーションを指定する。これは、ユーザとの対話に応答して、例えばユーザがアクセサリにおいてボタンを押下することにより開始される。移動体コンピューティング装置は、コマンドの受信に応答して第2のアプリケーションを実行できる。いくつかの実施形態において、第1のアプリケーションは、第2のアプリケーションと同時に実行可能である。いくつかの実施形態において、第1のアプリケーションは閉じられ、第2のアプリケーションはロードされる。いくつかの実施形態において、コマンドはシリアル番号及び/名前によりアプリケーションを指示できる。いくつかの実施形態において、コマンドは、アプリケーションがダウンロードされ且つ実行されるネットワーク位置を更に指定できる。更にいくつかの実施形態において、アクセサリは、アプリケーションが移動体コンピューティング装置において実行していない場合又はオペレーティングシステムが移動体コンピューティング装置において実行している場合に第2のアプリケーションが実行することを要求できる。本発明は、特定の実施形態に関して説明されたが、多くの変形が可能であることが当業者には認識されるだろう。例えば本明細書で説明される特定の実施形態において、ポートは任意の所定の時間において最大1つのアプリケーションプロトコルと関連付けられる。他の実施形態において、種々のアプリケーションプロトコルを使用する通信は同一ポートにおいて多重化され、且つ/又は同一のアプリケーションプロトコルを使用する種々のアプリケーションとの通信は同一ポートにおいて多重化される。そのような実施形態において、アクセサリプロトコルメッセージをいずれかの方向にトンネルするために使用される移動体コンピューティング装置-プロトコルコマンドは、アクセサリプロトコルメッセージの適切な処理を容易にするためにセッション及び/又はアプリケーションプロトコル識別子を含むことができる。そのような一実施形態において、アプリケーションが特定のアクセサリ及びアプリケーションプロトコルと関連付けられるセッションを確立する場合、そのセッションの識別子は、アクセサリ通信プロトコルのコマンドを使用してアクセサリに提供される。そのセッションと関連付けられる次の移動体コンピューティング装置-プロトコルパケット例えば、トンネルコマンドパケットは、セッション識別子を含むことができる。従って、複数のセッションが同時に進行中である場合でも且つ複数のセッションに関連する通信が同一ポートにおいて多重化される場合でも、アクセサリは特定のセッションにより送出又は受信してもよい任意のアクセサリプロトコルメッセージを関連付けられる。複数のセッションに対する通信が単一ポートにおいて多重化される場合でも、アクセサリは、複数のセッションに対して別個の状態情報を維持できる。アプリケーションとアクセサリとの間の通信に対するアプリケーション通信プロトコルの使用方法の一例を提供する本発明の実施形態を説明した。多くの場合、移動体コンピューティング装置は、アプリケーション通信プロトコルに関して曖昧である。いくつかの実施形態は、アクセサリ及び/又はアプリケーションがアプリケーション通信プロトコルを指定する情報を通信する方式を説明する。アクセサリ及び/又はアプリケーションが使用するアプリケーションプロトコルを認識するために、種々の他の技術が使用可能である。例えば移動体コンピューティング装置は、全ての周知のアプリケーションプロトコルを含むテーブルを含むことができる。アクセサリ及び/又はアプリケーションは、テーブルエントリを指し示すことによりアプリケーションプロトコルを指定できる。別の例として、アプリケーションは、任意の数の通信プロトコルを使用してアクセサリからアプリケーションプロトコル情報を要求できる。別の例として、アプリケーションは、アプリケーションによりサポートされる任意のプロトコルをアクセサリに対して指定でき、アクセサリは使用するアプリケーションプロトコルを選択できる。更に別の例として、ビットマスクが使用可能であり、種々のアプリケーションプロトコルを表すために所定の異なるビットマスクが使用可能である。アプリケーションプロトコルを識別する種々の他の手段も使用可能である。種々の他の実施形態を更に開示する。例えば、アクセサリ装置と移動体コンピューティング装置上で実行されているアプリケーションとの間で通信する方法が開示される。その方法は、アクセサリ装置において動作する。方法は、アクセサリ通信プロトコルを使用して移動装置に対して少なくとも1つのアプリケーション通信プロトコルを指定する情報を通信すること及び/又はアクセサリ通信プロトコルを使用して移動装置上で実行されているアプリケーションと通信することを含むことができる。いくつかの実施形態において、方法は、アクセサリ通信プロトコルを使用して移動体コンピューティング装置上で実行されているオペレーティングシステムと通信することを更に含むことができる。いくつかの実施形態において、アプリケーション通信プロトコルパケットは、アクセサリ通信プロトコルパケット内をトンネルされる。いくつかの実施形態において、方法は、移動通信装置上で実行されているアプリケーションからアプリケーション通信プロトコルコマンドを受信することと、それに応答してアクセサリの状態を変更することとを更に含むことができる。いくつかの実施形態において、方法は、移動体コンピューティング装置上で実行されているアプリケーションからのコマンドに応答して移動体コンピューティング装置上で実行されているアプリケーションにデータを送出することを更に含むことができる。ここで、データはアプリケーション通信プロトコルを使用して送出され、コマンドはアクセサリ通信プロトコルを使用して受信される。いくつかの実施形態において、少なくとも1つのアプリケーション通信プロトコルを指定する情報は逆ドメイン名規則で提供される。いくつかの実施形態において、方法は、アクセサリ通信プロトコルを使用するアクセサリにより移動体コンピューティング装置の機能性を制御することを更に含むことができる。筺体、少なくとも部分的に筺体内に配設され且つ移動体コンピューティング装置とコマンド及びデータを交換するように構成され且つ少なくとも1つのポートを有する通信インタフェース、並びに/あるいは筺体内に配設され且つ通信インタフェースと通信可能に結合される制御ロジックを含むことができるアクセサリ装置が開示される。制御ロジックは、アクセサリ通信プロトコルを使用して通信インタフェースを介して移動体コンピューティング装置上で実行されているオペレーティングシステムと通信するように構成される。制御ロジックは、アクセサリ通信プロトコルを使用して通信インタフェースを介して移動体コンピューティング装置上で実行されているアプリケーションと通信するように構成される。いくつかの実施形態において、制御ロジックは、アクセサリ通信プロトコルを使用してアプリケーション通信プロトコルを指定する情報を通信するように更に構成される。いくつかの実施形態において、制御ロジックは、アクセサリ通信プロトコル以外の標準通信プロトコルを使用してアプリケーション通信プロトコルを指定する情報を通信するように更に構成される。いくつかの実施形態において、アプリケーション通信プロトコル情報は、逆ドメイン名規則を使用して移動体コンピューティング装置に通信される。いくつかの実施形態において、通信インタフェースは無線通信インタフェースを含むことができる。アクセサリ装置と移動体コンピューティング装置上で実行されているアプリケーションとの間で通信する方法。方法は、アクセサリ装置において動作する。方法は、アクセサリ通信プロトコルを使用して移動体コンピューティング装置にアクセサリ情報を通信すること、セッション識別子、アプリケーションプロトコル識別子又は接続開始コマンドのうちの少なくとも1つを移動体コンピューティング装置から受信すること、並びに/あるいはその後アプリケーション通信プロトコルを使用して移動体コンピューティング装置で実行するアプリケーションと通信することを含むことができる。いくつかの実施形態において、アプリケーション通信プロトコルは、移動体コンピューティング装置に通信されるアプリケーションプロトコル文字列と関連付けられるプロトコルであってもよい。いくつかの実施形態において、アクセサリ情報は、アプリケーションプロトコル文字列、アプリケーションプロトコル文字列に対応するアプリケーションプロトコルインデックス、好適なアプリケーション情報又はアクセサリ通信プロトコル情報のうちの少なくとも1つを含むことができる。いくつかの実施形態において、好適なアプリケーション情報は、移動体コンピューティング装置に通信されるアプリケーションプロトコル文字列と関連付けられるアプリケーション通信プロトコルを使用して通信をサポートするアプリケーションを指定する。いくつかの実施形態において、通信することは、アクセサリにより移動体コンピューティング装置の機能性を制御することを含むことができる。いくつかの実施形態において、アプリケーション通信プロトコル文字列は逆ドメイン名規則に従ってもよい。別のアクセサリ装置が開示される。アクセサリは、筺体、少なくとも部分的に筺体内に配設され且つ/又は移動体コンピューティング装置と通信可能に結合するように構成される通信インタフェース、アクセサリハードウェア、並びに/あるいは筺体内に配設され且つ通信インタフェース及びアクセサリ専用ハードウェアと通信可能に結合される制御ロジックを含むことができる。制御ロジックは、アクセサリ通信プロトコルを使用して通信インタフェースを介して移動体コンピューティング装置にアプリケーション通信プロトコル情報を通信するように構成される。制御ロジックは、通信インタフェースを介して移動体コンピューティング装置上で実行されているアプリケーションとの通信セッションを確立するように構成される。ここで、通信セッションはアプリケーション通信プロトコルを使用し、アクセサリと移動体コンピューティング装置上で実行されているアプリケーションとの間で通信する。制御ロジックは、アクセサリ通信プロトコルを使用して移動体コンピューティング装置上で実行されているアプリケーションからデータを受信するように構成される。制御ロジックは、移動体コンピューティング装置上で実行されているアプリケーションから受信されるデータに応答して、アクセサリハードウェアの動作を制御するように構成される。いくつかの実施形態において、通信インタフェースは、無線通信インタフェースを含むことができる。いくつかの実施形態において、制御ロジックは、アプリケーション通信プロトコルを使用してアクセサリハードウェアからハードウェアデータを受信し且つ/又は移動体コンピューティング装置上で実行されているアプリケーションにハードウェアデータを送出するように更に構成される。いくつかの実施形態において、アクセサリハードウェアは含むことができ、ハードウェアデータはセンサを使用して収集されたデータを含むことができる。いくつかの実施形態において、アクセサリハードウェアは電気的装置とのハードウェアインタフェースを含むことができ、ハードウェアデータはハードウェアインタフェースを介して電気的装置から受信されるデータを含むことができる。いくつかの実施形態において、アクセサリハードウェアは電気的装置とのハードウェアインタフェースを含むことができ、移動体コンピューティング装置上で実行されているアプリケーションからのデータはハードウェアインタフェースを使用して電気的装置を制御するためのデータを含む。いくつかの実施形態において、アクセサリハードウェアはディスプレイを含むことができ、移動体コンピューティング装置上で実行されているアプリケーションからのデータは表示可能な情報を含むことができる。アクセサリ装置と移動装置上で実行されているアプリケーションとの間で通信する別の方法が開示される。この方法は、移動装置上で動作可能である。方法は、アクセサリ通信プロトコルを使用してアクセサリ装置を識別すること、アクセサリ通信プロトコルを使用してアプリケーション通信プロトコルを指定するアクセサリ装置から情報を受信すること、移動体コンピューティング装置においてアプリケーションを実行すること及び/又はアプリケーション通信プロトコルを使用してアプリケーションからアクセサリ装置と通信することを含むことができる。いくつかの実施形態において、方法は、アプリケーションプロトコルが移動体コンピューティング装置においてプロトコルテーブルに一覧表示されるかを判定することを更に含むことができる。プロトコルテーブルは、移動体コンピューティング装置においてアプリケーションによりサポートされるプロトコルを含むことができる。いくつかの実施形態において、方法は、プロトコルテーブルがアプリケーションプロトコルを含まない場合にアプリケーションプロトコルをサポートするアプリケーションをダウンロードすることを更に含むことができる。いくつかの実施形態において、アプリケーション通信プロトコルを指定するアクセサリ装置からの情報は、逆ドメイン名規則を使用して1つのアプリケーション通信プロトコルを指定する。いくつかの実施形態において、アプリケーション通信プロトコルを指定するアクセサリ装置からの情報は、アプリケーション通信プロトコルと関連付けられる識別子を更に含むことができる。いくつかの実施形態において、アプリケーション通信プロトコルを使用してアクセサリ装置と通信することは、アプリケーション通信プロトコルパケットをアクセサリ通信プロトコルパケットにカプセル化することを更に含むことができる。いくつかの実施形態において、アプリケーション通信プロトコルは、アクセサリ通信プロトコル内に含まれるコマンドを含むことができる。筺体、少なくとも部分的に筺体内に配設され且つ/又はアクセサリとコマンド及びデータを交換するように構成され且つ少なくとも1つのポートを有する通信インタフェース、筺体内に配設されるメモリ、並びに/あるいは筺体内に配設され且つ/又はメモリ及び通信インタフェースと通信可能に結合される制御ロジックを含むことができる移動体コンピューティング装置が更に開示される。制御ロジックは、アクセサリ通信プロトコルを使用して通信インタフェースを介してアクセサリからアプリケーション通信プロトコルを指定する指示を受信するように構成される。制御ロジックは、メモリに格納されるアプリケーションを実行するように構成される。制御ロジックは、アプリケーション通信プロトコルを使用してアクセサリとアプリケーションとの間の通信を確立するように構成される。いくつかの実施形態において、少なくとも1つのポートは有線ポートであってもよく又は無線ポートであってもよい。いくつかの実施形態において、制御ロジックは、アプリケーションにより指定されたアプリケーション通信プロトコルがメモリに格納されたアプリケーション通信プロトコルと関連付けられるかを判定するように更に構成される。いくつかの実施形態において、制御ロジックは、アクセサリ通信プロトコルを使用してアプリケーション通信プロトコルデータをアクセサリにトンネルするように更に構成される。いくつかの実施形態において、制御ロジックは、アプリケーション通信プロトコルパケットをアクセサリ通信プロトコルパケットとカプセル化し且つアクセサリ通信プロトコルパケットをポートに提供するように更に構成される。筺体、少なくとも部分的に筺体内に配設され且つ/又はアクセサリとコマンド及びデータを交換するように構成される通信インタフェース、筺体内に配設されるメモリ、並びに/あるいは筺体内に配設され且つ/又はメモリ及び通信インタフェースと通信可能に結合される制御ロジックを含むことができる別の移動体コンピューティング装置が開示される。制御ロジックは、通信インタフェースを介してアクセサリ装置からアプリケーション通信プロトコル情報を受信するように構成される。アプリケーション通信プロトコル情報は、アクセサリによりサポートされるアプリケーション通信プロトコルのIDを含むことができ、且つ/又はアプリケーション通信プロトコル情報は、アクセサリ通信プロトコルを使用してアクセサリから受信される。制御ロジックは、アクセサリ通信プロトコルパケット内にアプリケーション通信プロトコルパケットをカプセル化することによりカプセル化パケットを作成するように構成される。制御ロジックは、通信インタフェースを介してアクセサリにカプセル化パケットを送出するように構成される。いくつかの実施形態において、通信インタフェースは無線通信インタフェースであってもよい。いくつかの実施形態において、移動体コンピューティング装置は、メモリに格納されたプロトコルテーブルを含むことができる。プロトコルテーブルは、移動体コンピューティング装置にインストールされたアプリケーションによりサポートされるアプリケーションプロトコルの一覧を含むことができる。移動体コンピューティング装置のプロセッサにより実行された場合にプロセッサに方法を実行させるプログラム命令を含むことができるコンピュータ可読媒体が開示される。この方法は、アクセサリ通信プロトコルを使用してアクセサリ装置からアプリケーション通信プロトコル情報を受信すること、アプリケーション通信プロトコルを使用してアクセサリからデータを受信すること及び/又はアクセサリから受信されたデータを操作することを含むことができる。いくつかの実施形態において、方法は、移動体コンピューティング装置のディスプレイにおいて操作したデータの少なくとも一部分を表示することを更に含むことができる。いくつかの実施形態において、方法は、アプリケーション通信プロトコルを使用してアクセサリにコマンドを送出することによりアクセサリの機能性を制御することを更に含むことができる。アクセサリ装置と移動装置にインストールされたアプリケーションとの間に通信セッションを確立する別の方法が提供される。方法は、移動装置上で動作可能であり、サポートされるアプリケーションプロトコルのリストを収集されたアプリケーションプロトコルのリストと比較すること、サポートアプリケーションプロトコルリストのアプリケーションプロトコルと収集アプリケーションプロトコルリストのアプリケーションプロトコルとの間でマッチングするものが見つけられた場合にマッチングしたアプリケーションプロトコルを指定する情報をアクセサリに通信すること、並びに/あるいはサポートアプリケーションプロトコルリストのアプリケーションプロトコルと収集アプリケーションプロトコルリストのアプリケーションプロトコルとの間でマッチングするものが見つけられなかった場合に収集アプリケーションプロトコルリスト内の少なくとも1つのアプリケーションプロトコルと関連付けられるアプリケーションがダウンロード可能であるアプリケーションストアに移動装置のユーザを誘導することを含むことができる。いくつかの実施形態において、サポートされるアプリケーションプロトコルのリストは、アプリケーションによりサポートされる1つ以上の通信プロトコルを含むことができ、且つ/又は収集されたアプリケーションプロトコルのリストは移動体コンピューティング装置と結合される1つ以上のアクセサリから受信される1つ以上の通信プロトコルを含むことができる。いくつかの実施形態において、サポートアプリケーションプロトコルリストのアプリケーションプロトコルと収集アプリケーションプロトコルリストのアプリケーションプロトコルとの間でマッチングするものが見つけられた場合、アクセサリとの通信セッションを要求する。いくつかの実施形態において、マッチングしたアプリケーションプロトコルを指定する通信情報はセッション識別子を含むことができる。いくつかの実施形態において、サポートアプリケーションプロトコルリストのアプリケーションプロトコルと収集アプリケーションプロトコルリストのアプリケーションプロトコルとの間でマッチングするものが見つけられた場合、マッチングしたアプリケーションプロトコルを使用してアクセサリと通信する。いくつかの実施形態において、アプリケーションストアは、インターネットを使用するアプリケーションストアであってもよい。移動体コンピューティング装置のプロセッサにより実行された場合にプロセッサに方法を実行させるプログラム命令を含むコンピュータ可読媒体が提供される。方法は、サポートプロトコルリストのサポートされるアプリケーションプロトコル識別子が収集プロトコルリストのアプリケーションプロトコル識別子とマッチングするかを判定すること、並びに/あるいはサポートされるアプリケーションプロトコルと収集されたアプリケーションプロトコルのリストのアプリケーションプロトコルとの間でマッチングするものを見つけることに応答してサブ方法を実行することを含むことができる。サブ方法は、移動体コンピューティング装置と移動体コンピューティング装置に結合されるアクセサリとの間の通信セッションを開始すること、サポートされるアプリケーションプロトコルを指定する情報をアクセサリに通信すること及び/又はサポートされるアプリケーションプロトコルを使用して移動体コンピューティング装置からアクセサリと通信することを含む。いくつかの実施形態において、収集プロトコルリストは、アクセサリと互換性のあるアプリケーションプロトコルを表す1つ以上の通信プロトコル識別子を含むことができ、且つ/又はサポートプロトコルリストは、移動体コンピューティング装置にインストールされたアプリケーションと互換性のあるアプリケーションプロトコルを表す1つ以上の通信プロトコル識別子を含むことができる。いくつかの実施形態において、サポートされるアプリケーションプロトコルは、アクセサリ通信プロトコルと異なってもよい。いくつかの実施形態において、更にプログラム命令は、サポートされるアプリケーションプロトコルと収集されたアプリケーションプロトコルのリストのアプリケーションプロトコルとの間でマッチングするものを見つけられないことに応答して収集プロトコルリストのアプリケーションプロトコルとマッチングするプロトコルをサポートするアプリケーションをプロセッサにダウンロードさせることができる。移動体コンピューティング装置において動作し且つアクセサリ装置からアプリケーションプロトコル識別子を受信すること、並びに/あるいは受信したアプリケーションプロトコル識別子が移動体コンピューティング装置においてメモリに格納されるプロトコルテーブル内に一覧表示されるアプリケーションプロトコル識別子にマッチングするかを判定し、その後アプリケーション通信プロトコルを使用してアクセサリと通信することを含むことができる別の方法が提供される。ここで、受信したアプリケーションプロトコル識別子は、逆ドメイン名形式のデータ文字列を含むことができ、アプリケーション通信プロトコルと関連付けられる。いくつかの実施形態において、プロトコルテーブルは、移動体コンピューティング装置において実行可能なアプリケーションと関連付けられる1つ以上のアプリケーションプロトコル識別子を含むことができる。いくつかの実施形態において、方法は、受信したアプリケーションプロトコル識別子がプロトコルテーブルのアプリケーションプロトコル識別子とマッチングする場合にプロトコルテーブルのアプリケーションプロトコル識別子と関連付けられるアプリケーションを実行することを更に含むことができる。いくつかの実施形態において、方法は、受信したアプリケーションプロトコル識別子とマッチングする関連するアプリケーションプロトコル識別子を有するアプリケーションをダウンロードすることを更に含むことができる。筺体、少なくとも部分的に筺体内に配設され且つ/又はアクセサリとコマンド及びデータを交換するように構成される通信インタフェース、筺体内に配設され且つサポートアプリケーションプロトコルリストを維持するように構成されるメモリ、並びに/あるいは筺体内に配設され且つ/又はメモリ及び通信インタフェースと通信可能に結合される制御ロジックを含む移動体コンピューティング装置が更に開示される。いくつかの実施形態において、制御ロジックは、アクセサリによりサポートされるアプリケーション通信プロトコルを識別する情報を通信インタフェースを介してアクセサリから受信するように構成される。いくつかの実施形態において、制御ロジックは、アクセサリによりサポートされるアプリケーション通信プロトコルがサポートされるアプリケーションプロトコルのリストで識別されるプロトコルと一致するかを判定するように構成される。サポートされるアプリケーションプロトコルのリストは、移動装置にインストールされたアプリケーションによりサポートされる1つ以上のプロトコルを含むことができる。いくつかの実施形態において、制御ロジックは、アクセサリによりサポートされるアプリケーションプロトコルとサポートされるアプリケーションプロトコルのリストで識別されるプロトコルとの間で相関性が判定される場合に移動体コンピューティング装置を使用してマッチングしたアプリケーションプロトコルを指定する情報をアクセサリに通信するように構成される。いくつかの実施形態において、制御ロジックはマッチングしたアプリケーションプロトコルを使用してアクセサリと通信するように構成される。移動体コンピューティング装置プロトコルを使用してアクセサリからアプリケーションプロトコル情報を受信することを含むことができる別の方法が更に提供される。アプリケーションプロトコル情報は、アクセサリと互換性のある少なくとも1つのアプリケーションプロトコルを識別する。方法は、アプリケーションプロトコルがサポートプロトコルリスト内に一覧表示されるプロトコルとマッチングするかを判定することを更に含むことができる。サポートプロトコルリストは、少なくとも移動装置にインストールされたアプリケーションによりサポートされる1つ以上の通信プロトコルを含むことができ、且つ/又はサポートプロトコルリスト内に一覧表示される各プロトコルは、アプリケーションと関連付けられる。アプリケーションプロトコルがサポートプロトコルリスト中のプロトコルとマッチングする場合、方法は、サポートリスト中のマッチングしたプロトコルと関連付けられるアプリケーションを実行することを更に含むことができる。いくつかの実施形態において、アプリケーションプロトコルがサポートプロトコルリスト中のプロトコルとマッチングしない場合、サポートプロトコルリスト中のプロトコルと関連付けられるアプリケーションをインターネットからダウンロードする。移動体コンピューティング装置においてアクセサリからアプリケーションプロトコルのIDを含むことができる情報を受信すること、移動体コンピューティング装置においてメモリに格納され且つアプリケーションと関連付けられる少なくとも1つのアプリケーションプロトコルを含むことができるサポートプロトコルテーブルに一覧表示されるプロトコルとアプリケーションプロトコルとを比較すること、並びに/あるいはアプリケーションプロトコルがサポートプロトコルテーブルに一覧表示されるプロトコルとマッチングする場合に移動体コンピューティング装置においてアプリケーションプロトコルと関連付けられるアプリケーションを実行することを含むことができる別の方法が提供される。いくつかの実施形態において、情報はアプリケーションプロトコルをサポートする好適なアプリケーションのIDを含むことができ、且つ/又はアプリケーションプロトコルがサポートプロトコルテーブルに一覧表示されるプロトコルとマッチングしない場合に好適なアプリケーションをダウンロードする。いくつかの実施形態において、アプリケーションプロトコルを識別する情報は、逆ドメイン名形式を使用してアプリケーションプロトコルを識別する。いくつかの実施形態において、方法はアプリケーションプロトコルを使用してアクセサリと通信することを更に含むことができる。いくつかの実施形態において、アプリケーションプロトコルを識別する情報は、移動体コンピューティング装置プロトコルに従ってフォーマットされる。筺体、少なくとも部分的に筺体内に配設され且つ/又はアクセサリとコマンド及びデータを交換するように構成される通信インタフェース、筺体内に配設され且つアプリケーションと互換性のあるプロトコルを一覧表示するサポートアプリケーションプロトコルリストを含むメモリであり、サポートアプリケーションプロトコルが移動体コンピューティング装置にインストールされたアプリケーションによりサポートされるアプリケーションプロトコルを含むことができるメモリ、並びに/あるいは筺体内に配設され且つ/又はメモリ及び通信インタフェースと通信可能に結合される制御ロジックを含む移動体コンピューティング装置が提供される。制御ロジックは、アクセサリによりサポートされるアプリケーションプロトコルを識別するアクセサリからメッセージを受信し、アプリケーションプロトコルがサポートアプリケーションプロトコルリスト内に格納されるサポートされるアプリケーションプロトコルとマッチングするかを判定し、且つ/又はマッチングするものが見つけられた場合にアプリケーションプロトコルとマッチングしたサポートされるアクセサリと関連付けられるアプリケーションを実行するように構成される。いくつかの実施形態において、アクセサリから受信されるメッセージは、アプリケーションプロトコルをサポートするアプリケーションが見つけられるインターネットアドレスを識別する。いくつかの実施形態において、方法はインターネットアドレスからアプリケーションをダウンロードすることを更に含むことができる。いくつかの実施形態において、方法は移動体コンピューティング装置においてアプリケーションをインストールすること及びアプリケーションを実行することを更に含むことができる。筺体、少なくとも部分的に筺体内に配設され且つ/又はアクセサリとコマンド及びデータを交換するように構成され且つ第1の通信ポート及び第2の通信ポートを有する通信インタフェース、筺体内に配設されるメモリ、並びに/あるいは筺体内に配設され且つメモリ及び通信インタフェースと通信可能に結合される制御ロジックを含む移動通信装置が開示される。制御ロジックは、第1のアプリケーション通信プロトコルを使用して第1の通信ポートを介して第1のアクセサリと通信し且つ/又は第2のアプリケーション通信プロトコルを使用して第2の通信ポートを介して第2のアクセサリと通信するように構成される。いくつかの実施形態において、第1の通信ポート又は第2の通信ポートの少なくとも一方は無線通信ポートを含むことができる。いくつかの実施形態において、第1のアプリケーション通信プロトコル及び第2のアプリケーション通信プロトコルは異なる。いくつかの実施形態において、制御ロジックは、アクセサリ通信プロトコルを使用して第1の通信ポートを介して第1のアクセサリと通信し且つ第2のアクセサリ通信ポートを介して第2のアクセサリと通信するように更に構成される。いくつかの実施形態において、制御ロジックは、第1のポートを介して第1のアクセサリと通信するために第1の通信セッションを確立するように更に構成される。いくつかの実施形態において、制御ロジックは、第1のポートを介して第2のアクセサリと通信するために第2の通信セッションを確立するように更に構成される。いくつかの実施形態において、通信インタフェースは第3の通信ポートを含むことができ、制御ロジックは第3のアプリケーション通信プロトコルを使用して第3の通信ポートを介して第3のアクセサリと通信するように更に構成される。移動体コンピューティング装置のプロセッサにより実行された時にプロセッサに方法を実行させるプログラム命令を含むコンピュータ可読媒体。この方法は、第1のアクセサリと通信するために第1の通信セッションを要求すること、第1の通信セッションのセッション識別子を受信すること、第1のアプリケーションプロトコルを使用して第1の通信セッションを介して第1のアクセサリと通信すること、第2のアクセサリと通信するために第2の通信セッションを要求すること、第2の通信セッションのセッション識別子を受信すること、並びに/あるいは第2のアプリケーションプロトコルを使用して第2の通信セッションを介して第2のアクセサリと通信することを含むことができる。いくつかの実施形態において、第1のアプリケーションプロトコル及び第2のアプリケーションプロトコルは異なる。いくつかの実施形態において、第1のアプリケーションプロトコル及び第2のアプリケーションプロトコルは同一である。いくつかの実施形態において、プログラム命令は、第1のアクセサリが移動体コンピューティング装置と通信可能に結合されるのか又は第2のアクセサリが移動体コンピューティング装置と通信可能に結合されるのかの判定をプロセッサに更に行なわせる。筺体、少なくとも部分的に筺体内に配設され且つ/又は第1のアクセサリ及び第2のアクセサリとコマンド及びデータを交換するように構成され且つ第1の通信ポート及び第2の通信ポートを有する通信インタフェース、筺体内に配設されるメモリ、並びに/あるいは筺体内に配設され且つ/又はメモリ及び通信インタフェースと通信可能に結合される制御ロジックを含む移動通信装置。制御ロジックは、制御ロジックにより実行する第1のアプリケーションと第1の通信ポートとの間に第1の通信セッションを確立し、第1のアプリケーションプロトコルを使用して第1の通信セッションを介して第1のアクセサリと通信し、制御ロジックにより実行する第2のアプリケーションと第2の通信ポートとの間に第2の通信セッションを確立し、且つ/又は第2のアプリケーションプロトコルを使用して第2の通信セッションを介して第2のアクセサリと通信するように構成される。いくつかの実施形態において、制御ロジックは、アクセサリ通信プロトコルを使用して第1のアプリケーション通信プロトコルメッセージに対するトンネルを提供するように更に構成される。いくつかの実施形態において、アクセサリ通信プロトコルは第1のアプリケーション通信プロトコルと異なってもよい。いくつかの実施形態において、制御ロジックは、アクセサリ通信プロトコルを使用して第2のアプリケーション通信プロトコルメッセージに対するトンネルを提供するように更に構成される。いくつかの実施形態において、アクセサリ通信プロトコルは第2のアプリケーション通信プロトコルと異なってもよい。移動体コンピューティング装置において実行する別の方法が提供される。方法は、アクセサリが通信ポートにおいて移動体コンピューティング装置と通信可能に結合されるという指示を受信すること、アクセサリがアクセサリプロトコル及びアプリケーションプロトコルの双方を使用する移動体コンピューティング装置との通信をサポートすることを判定すること、通信ポートを介する移動体コンピューティング装置上で実行されているアプリケーションと通信プロトコルを介するアクセサリとの通信セッションを確立すること、並びに/あるいは通信セッションを使用してアプリケーションプロトコルメッセージであるメッセージをアプリケーションからアクセサリに送出することを含むことができる。いくつかの実施形態において、アクセサリプロトコル及びアプリケーションプロトコルは異なる。いくつかの実施形態において、方法は、アクセサリがアプリケーションプロトコルをサポートするという指示をアクセサリから受信することを含むことができる。いくつかの実施形態において、方法は、アプリケーションプロトコルメッセージをアクセサリプロトコルメッセージ内にカプセル化することを更に含むことができる。移動体コンピューティング装置上で実行されているアプリケーションと移動体コンピューティング装置と通信しているアクセサリとの間に通信セッションを確立する方法が提供される。方法は、移動体コンピューティング装置において実行可能であり、アクセサリに関連する情報に対する要求をアプリケーションから受信すること、アクセサリと互換性のある少なくとも1つのアプリケーション通信プロトコルの識別子を含むことができるアクセサリ情報をアプリケーションに提供すること、アプリケーション通信プロトコルを使用して通信するためのアクセサリとアプリケーションとの間の通信セッションに対する要求を受信すること、アプリケーション通信プロトコルに従ってフォーマットされるメッセージをアプリケーションから受信すること、アクセサリ通信プロトコルラッパーによりメッセージをラップすること、並びに/あるいはアプリケーション通信プロトコルとは異なるアクセサリ通信プロトコルに従って通信されるメッセージをアクセサリに通信することを含むことができる。いくつかの実施形態において、アクセサリ通信プロトコルラッパーはトンネルコマンドを含むことができる。いくつかの実施形態において、少なくとも1つのアプリケーション通信プロトコルの識別子は逆ドメイン名フォーマットで提供される識別子を含むことができる。いくつかの実施形態において、方法は、アクセサリ通信プロトコルに従ってフォーマットされるメッセージをアクセサリから受信すること、アクセサリ通信プロトコルラッパーをメッセージから取り除くこと、並びに/あるいはアプリケーション通信プロトコルに従って通信されるメッセージをアプリケーションに送出することを更に含むことができる。いくつかの実施形態において、方法は、アクセサリ接続性に対する通信インタフェースを監視すること、並びに/あるいはアクセサリが通信インタフェースと通信可能に結合される場合にアクセサリ機能を含み且つアクセサリと互換性のある少なくとも1つのアプリケーション通信プロトコルの識別子を含むことができる機能メッセージを受信することを更に含むことができる。いくつかの実施形態において、機能メッセージはアクセサリ通信プロトコルに従ってフォーマットされる。移動体コンピューティング装置は、筺体、少なくとも部分的に筺体内に配設され且つ/又はアクセサリ通信プロトコルを使用してアクセサリとコマンド及びデータを交換するように構成される通信インタフェース、筺体内に配設されるメモリ、並びに/あるいは筺体内に配設され且つ/又はメモリ及び通信インタフェースと通信可能に結合され且つバックグラウンド処理であるアクセサリマネージャ及びアプリケーションを実行するように構成される制御ロジックを含むことができる。アクセサリマネージャとして実行する制御ロジックは、通信インタフェースと結合されるアクセサリに対する通信インタフェースを監視し、アクセサリが通信インタフェースと結合された場合にアクセサリ通信プロトコルを使用してアクセサリから互換性のあるアプリケーションプロトコルを含むアクセサリ機能情報を受信し、アクセサリ通信プロトコルラッパーによりラップされるアプリケーション通信プロトコルフォーマットメッセージをアクセサリから受信し、アクセサリ通信プロトコルラッパーをメッセージから除去し、且つ/又はアプリケーションにメッセージを通信するように構成される。いくつかの実施形態において、アクセサリ機能は、アクセサリ通信プロトコルを使用して受信される。いくつかの実施形態において、アクセサリマネージャとして実行する制御ロジックは、データが入力データストリームから読み出されるように入力データストリームを確立するように更に構成される。いくつかの実施形態において、アクセサリマネージャとして実行する制御ロジックは、入力データストリームを使用して、アクセサリから受信されたメッセージをアプリケーションに通信する。いくつかの実施形態において、アクセサリマネージャとして実行する制御ロジックは、アプリケーションからアプリケーション通信プロトコルフォーマットメッセージを受信し、アクセサリ通信プロトコルラッパーによりアクセサリ通信プロトコルメッセージをラップし且つ/又はアクセサリにメッセージを通信するように更に構成される。いくつかの実施形態において、アクセサリマネージャとして実行する制御ロジックは、データがアプリケーションにより出力データストリームに書き込まれ且つアクセサリに送出されるように出力データストリームを確立するように更に構成される。いくつかの実施形態において、アクセサリマネージャとして実行する制御ロジックは出力データストリームから受信されたメッセージをアクセサリに通信する。別の方法が提供される。この方法は、アクセサリがアクセサリインタフェースと通信可能に結合されているという指示に対して移動体コンピューティング装置のアクセサリインタフェースを監視すること、アクセサリがアクセサリインタフェースと通信可能に結合される場合にアクセサリ通信プロトコルを使用して受信可能であり且つ/又はアクセサリと互換性のある1つ以上のアプリケーション通信プロトコルを示す情報を含むことができる機能情報をアクセサリから受信すること、移動体コンピューティング装置上で実行されているアプリケーションに対して入力データストリームを確立することここで、アクセサリ通信プロトコルラッパーにおいてラップされるアクセサリから受信されたアプリケーションメッセージは、アクセサリ通信プロトコルラッパーから取り除かれ且つ入力データストリームを使用してアプリケーションに書き込まれる、並びに/あるいはアプリケーションに対して出力データストリームを確立することここで、アプリケーションからの出力データストリームに書き込まれたアプリケーションメッセージは、アクセサリ通信プロトコルラッパーにラップされ且つアクセサリインタフェースを介してアクセサリに送出されるを含むことができる。いくつかの実施形態において、アクセサリインタフェースは無線通信インタフェースを含むことができる。いくつかの実施形態において、1つ以上のアプリケーション通信プロトコルを示す情報は、逆ドメイン名フォーマットを使用して提供される。移動体コンピューティング装置上で実行する方法が更に提供される。方法は、アプリケーションプロトコルを使用して移動体コンピューティング装置上で実行されているアプリケーションから移動体コンピューティング装置と外部アクセサリとの間の通信セッションに対する要求を受信すること、アプリケーションプロトコルがアクセサリによりサポートされるかを判定すること、アプリケーションプロトコルがアクセサリによりサポートされる場合にアプリケーションプロトコルを使用してアクセサリと通信するために入力ストリーム及び出力ストリームをアプリケーションに提供すること、アプリケーションプロトコルに従ってフォーマットされるメッセージを出力ストリームを介してアプリケーションから受信すること、メッセージをアクセサリプロトコルメッセージ内にラップすること、並びに/あるいはメッセージをアクセサリに送出することを含むことができる。いくつかの実施形態において、判定することは、ルックアップテーブルにおいてアプリケーションプロトコルをルックアップすることを更に含むことができる。いくつかの実施形態において、方法は、アクセサリプロトコルメッセージ内にラップされるアプリケーションプロトコルメッセージであるメッセージをアクセサリから受信すること、アプリケーションプロトコルメッセージからアクセサリプロトコルラッパーをアンラップすること、並びに/あるいはアプリケーションプロトコルメッセージをアプリケーションの入力ストリームに書き込むことを含むことができる。移動体コンピューティング装置上で実行する別の方法が提供される。方法は、第1の通信プロトコルを使用する第1のアプリケーションと第1のアクセサリとの間の通信を提供する第1のアプリケーションと第1のアクセサリとの間の第1の通信セッションを開くこと、第1のアプリケーションから第1のメッセージを受信すること、アクセサリプロトコルラッパー内にラップされるアクセサリに第1のメッセージを送出すること、第2の通信プロトコルを使用して第1のアプリケーションと第1のアクセサリとの間の通信を提供する第2のアプリケーションと第1のアクセサリとの間の第2の通信セッションを開くこと、並びに/あるいは第2のアプリケーションから第2のメッセージを受信し且つアクセサリプロトコルラッパー内にラップされるアクセサリに第2のメッセージを送出することを含む。尚、第1のアプリケーションプロトコル及び第2のアプリケーションプロトコルは異なる。移動体コンピューティング装置のプロセッサにより実行された場合にプロセッサに方法を実行させるプログラム命令を含むコンピュータ可読媒体が提供される。方法は、移動体コンピューティング装置において実行するバックグラウンド処理であってもよく且つ移動体コンピューティング装置上で実行されているアプリケーションと移動体コンピューティング装置と通信可能に結合されるアクセサリとの間に通信接続性を提供するアクセサリマネージャからアクセサリ情報を要求すること、アクセサリが移動体コンピューティング装置と通信可能に結合される場合にアクセサリと互換性のある少なくとも1つのアプリケーション通信プロトコルを指定する1つ以上のプロトコル識別子及び1つのアクセサリ識別子をアクセサリマネージャから受信すること、アプリケーションが少なくとも1つのアプリケーションプロトコルと互換性があるかを判定すること、アプリケーションが互換性がある場合にアプリケーション通信プロトコルを使用してアクセサリマネージャを介してアクセサリと通信するためのセッションを開くこと、並びに/あるいはアプリケーション通信プロトコルを使用してアクセサリと通信することを含むことができる。いくつかの実施形態において、プロトコル識別子は逆ドメイン名規則を使用してフォーマットされる。いくつかの実施形態において、アクセサリと通信することは、アクセサリマネージャから出力ストリームを受信すること及び/又はアプリケーション通信プロトコルに従って入力ストリームにデータを書き込むことを含むことができる。いくつかの実施形態において、アクセサリと通信することは、アクセサリマネージャから入力ストリームを受信すること及び/又はアプリケーション通信プロトコルに従ってフォーマットされたデータを入力ストリームから受信することを含むことができる。アプリケーションがアプリケーションマネージャを使用してアクセサリとの通信を確立する方法。方法は、アクセサリと互換性のあるアプリケーションプロトコルを指定するアプリケーションマネージャから指示を受信すること、アプリケーションプロトコルを使用してアクセサリと通信するためにアプリケーションマネージャから入力ストリーム及び出力ストリームを受信すること、並びに/あるいはその後アクセサリに対するアプリケーションプロトコルメッセージを出力ストリームに書き込むことを含むことができる。いくつかの実施形態において、方法はアプリケーションによりサポートされるアプリケーションプロトコルの指示を含むことができるアプリケーションプロトコル情報をアプリケーションマネージャに送出することを含むことができる。いくつかの実施形態において、アクセサリと互換性のあるアプリケーションプロトコルは、アプリケーションにより送出されるアプリケーションプロトコル情報により示されるアプリケーションプロトコルであってもよい。いくつかの実施形態において、アプリケーションプロトコル情報により示されるアプリケーションプロトコルは、逆ドメイン名規則を使用してアプリケーションプロトコルを示す。移動体コンピューティング装置上で実行されているアプリケーションにより実行される方法が開示される。方法は、移動体コンピューティング装置と通信可能に結合されるアクセサリによりサポートされる1つ以上のアプリケーションプロトコルを示す情報を含むことができるアクセサリ情報をアプリケーションマネージャから要求すること、アクセサリによりサポートされるアプリケーションプロトコルがアプリケーションによりサポートされるアプリケーションプロトコルとマッチングするかを判定すること、アプリケーションプロトコルがマッチングした場合にアプリケーションプロトコルを使用してアクセサリと通信するために入力ストリーム及び出力ストリームを要求すること、入力ストリーム及び出力ストリームを受信すること、並びに/あるいはその後アクセサリに対するアプリケーションプロトコルメッセージを出力ストリームに書き込むことを含む。いくつかの実施形態において、方法は入力ストリームを使用してアクセサリからアプリケーションプロトコルメッセージを読み出すことを含むことができる。いくつかの実施形態において、アクセサリ情報は逆ドメイン名規則を使用してアプリケーションプロトコルを示す。いくつかの実施形態において、アクセサリ情報はテーブルに格納され、アクセサリ情報はアクセサリ情報と関連付けられるメタデータの記憶場所に対するポインタとなる。移動体コンピューティング装置上で実行されているアプリケーションにより実行される方法が提供される。方法は、移動体コンピューティング装置と結合されるアクセサリによりサポートされるアプリケーションプロトコルを示す情報を含むテーブルにアクセスすること、アプリケーションによりサポートされるアプリケーションプロトコルがテーブルのアプリケーションプロトコルとマッチングするかを判定すること、アプリケーションプロトコルがマッチングする場合にマッチングしたアプリケーションを使用してアクセサリと通信するための通信セッションを開くこと、入力ストリーム及び出力ストリームを受信すること、並びに/あるいはその後アクセサリに対するアプリケーションプロトコルメッセージを出力ストリームに書き込むことを含む。いくつかの実施形態において、テーブルはアクセサリと関連付けられる複数のアプリケーションプロトコルを含むことができ、且つ/又はアプリケーションは、アプリケーションによりサポートされるアプリケーションプロトコルがテーブルの任意のアプリケーションプロトコルとマッチングするかを判定する。いくつかの実施形態において、方法は入力ストリームを使用してアクセサリからアプリケーションプロトコルメッセージを読み出すことを更に含むことができる。いくつかの実施形態において、アクセサリ情報は、逆ドメイン名規則を使用してフォーマットされるアプリケーションプロトコルを示す。本明細書において、回路、論理モジュール、プロセッサ及び/又は他の構成要素については種々の動作を実行するように構成されるものとして説明できる。実現例に依存して、そのような構成が特定の構成要素の設計、セットアップ、相互接続及び/又はプログラミングを通して達成されること、並びに実現例に依存して、構成された構成要素が異なる動作を行なうように再構成可能であっても再構成可能でなくてもよいことは、当業者には理解されるだろう。例えばプログラマブルプロセッサは、適切な実行可能コードを提供することにより構成される。専用論理回路は、論理ゲート及び他の回路素子を適切に接続することにより構成される。上述の実施形態は、特定のハードウェア及びソフトウェアコンポーネントを参照したが、ハードウェア及び/又はソフトウェアコンポーネントの種々の組合せが使用されてもよいこと、並びにハードウェアで実現されるものとして説明した特定の動作がソフトウェアで実現されてもよいこと又はその逆も可能であることが当業者には理解されるだろう。本発明の種々の機能を組み込むコンピュータプログラムは、種々のコンピュータ可読記憶媒体上で符号化される。適切な媒体には、磁気ディスク、磁気テープ、コンパクトディスクCD又はDVDデジタル汎用ディスク等の光記憶媒体及びフラッシュメモリ等が含まれる。プログラムコードにより符号化されるコンピュータ可読記憶媒体は、互換性のある装置とパッケージ化されるか又は他の装置とは別個に提供される。更にプログラムコードは、符号化され且つ有線光学式及び/又はインターネットを含む種々のプロトコルに準拠する無線ネットワークを介して送信され、それにより例えばインターネットダウンロードを介する配信を可能にする。例及び/又は詳細が単一の実施形態に関連して本開示において説明されるが、そのような例又は詳細は、本明細書で説明される任意の実施形態と関連して使用可能である。従って、本発明が特定の実施形態に関して説明されたが、本発明は、以下の特許請求の範囲の範囲内の全ての変形及び等価物を範囲に含むことを意図する。