專利名稱:使用應(yīng)用通信協(xié)議的附件和移動(dòng)計(jì)算設(shè)備通信的制作方法
使用應(yīng)用通信協(xié)議的附件和移動(dòng)計(jì)算設(shè)備通信
背景技術(shù):
本公開一般涉及移動(dòng)計(jì)算設(shè)備與附件之間的通信,并且具體地涉及將特定于附件和/或應(yīng)用的協(xié)議用于這樣的通信。移動(dòng)計(jì)算設(shè)備已廣泛普及。舉幾個(gè)例子,各個(gè)公司已開發(fā)出如下移動(dòng)計(jì)算設(shè)備,例如,iPhone、iPod Touch、BlackBerry 設(shè)備、以及兼容 Google 的 Android 平臺(tái)的智能電話。移動(dòng)計(jì)算設(shè)備通常包括web瀏覽器、字處理器、電子郵件應(yīng)用、地圖、電話服務(wù)、游戲、音頻應(yīng)用、視頻應(yīng)用等。此外,還開發(fā)出了用于移動(dòng)計(jì)算設(shè)備的附件。這樣的附件可以利用一個(gè)或多個(gè)連接器和/或端口來與移動(dòng)計(jì)算設(shè)備通信。這些附件可被用來控制移動(dòng)計(jì)算設(shè)備的特征或者被移動(dòng)計(jì)算設(shè)備用來與用戶和/或環(huán)境交互。
發(fā)明內(nèi)容
根據(jù)各個(gè)實(shí)施例,附件可以利用特定于附件的通信協(xié)議和/或特定于應(yīng)用的通信協(xié)議來與運(yùn)行在移動(dòng)計(jì)算設(shè)備上的應(yīng)用通信。例如,當(dāng)附件與移動(dòng)計(jì)算設(shè)備相耦合時(shí),其可以利用移動(dòng)計(jì)算設(shè)備定義的附件協(xié)議來執(zhí)行初始化、標(biāo)識(shí)和/或認(rèn)證過程。附件還可以傳輸信息,該信息指示可由運(yùn)行在移動(dòng)計(jì)算設(shè)備上的應(yīng)用用來與附件通信的一個(gè)或多個(gè)應(yīng)用協(xié)議。在一些實(shí)施例中,應(yīng)用協(xié)議可以不同于附件協(xié)議,而在其它實(shí)施例中,應(yīng)用協(xié)議可以與附件協(xié)議相同。在一些實(shí)施例中,應(yīng)用協(xié)議分組可被嵌套在附件協(xié)議分組的多個(gè)部分內(nèi)。這里公開的各個(gè)實(shí)施例描述了用于在附件與應(yīng)用之間創(chuàng)建通信會(huì)話的方法。一些實(shí)施例描述了附件如何為移動(dòng)計(jì)算設(shè)備提供合適的信息以利用應(yīng)用協(xié)議舉行通信會(huì)話。其它實(shí)施例描述了移動(dòng)計(jì)算設(shè)備處的各種方案,用于選擇應(yīng)用協(xié)議、開通通信流、下載優(yōu)選應(yīng)用、與附件通信、將應(yīng)用協(xié)議分組嵌套在附件協(xié)議分組內(nèi)等等。在一些實(shí)施例中,運(yùn)行在移動(dòng)計(jì)算設(shè)備處的應(yīng)用管理器可被用來抽象化附件與應(yīng)用之間的通信。下面的詳細(xì)描述與附圖一起將提供對(duì)這里公開的實(shí)施例的性質(zhì)和優(yōu)點(diǎn)的更好理解。
圖IA示出了根據(jù)本發(fā)明一些實(shí)施例的與附件設(shè)備相耦合的移動(dòng)計(jì)算設(shè)備。圖IB示出了根據(jù)本發(fā)明一些實(shí)施例的無線地與移動(dòng)計(jì)算使設(shè)備相耦合的附件設(shè)備。圖2示出了根據(jù)一個(gè)實(shí)施例的與附件相耦合的移動(dòng)計(jì)算設(shè)備的框圖。圖3是示出根據(jù)本發(fā)明一些實(shí)施例的移動(dòng)計(jì)算設(shè)備內(nèi)的各個(gè)模塊和處理的框圖。圖4是根據(jù)本發(fā)明一些實(shí)施例的進(jìn)一步圖示出應(yīng)用與附件之間的通信的簡(jiǎn)化示圖。圖5A-5C圖示出了根據(jù)本發(fā)明一些實(shí)施例的將應(yīng)用協(xié)議消息封裝在附件通信協(xié)議命令內(nèi)的一個(gè)示例。圖6圖示出了根據(jù)本發(fā)明一些實(shí)施例的圖4的實(shí)施例中的附件通信協(xié)議的命令的路徑。圖7是根據(jù)本發(fā)明一些實(shí)施例的用于標(biāo)識(shí)附件和兼容應(yīng)用的處理的流程圖。圖8示出了根據(jù)本發(fā)明一些實(shí)施例的可用于將兼容應(yīng)用與附件相關(guān)聯(lián)的相連協(xié)議列表和所支持協(xié)議表。圖9圖示出根據(jù)本發(fā)明一些實(shí)施例的用于制定可用于定位用于附件的兼容應(yīng)用的查詢的技術(shù)。圖10是根據(jù)本發(fā)明一些實(shí)施例的可由應(yīng)用執(zhí)行來發(fā)起與附件的通信的處理的流程圖。圖11圖示出了根據(jù)本發(fā)明一些實(shí)施例的同時(shí)與兩個(gè)不同附件交互的移動(dòng)計(jì)算設(shè)備上的應(yīng)用。圖12圖示出了根據(jù)本發(fā)明一些實(shí)施例的同時(shí)與兩個(gè)不同附件交互的移動(dòng)計(jì)算設(shè)備上的兩個(gè)應(yīng)用。圖13圖示出了根據(jù)本發(fā)明一些實(shí)施例的同時(shí)與同一附件交互的移動(dòng)計(jì)算設(shè)備上的兩個(gè)應(yīng)用。圖14圖示出了根據(jù)本發(fā)明一些實(shí)施例的移動(dòng)計(jì)算設(shè)備的應(yīng)用、應(yīng)用管理器和硬件傳輸層之間的數(shù)據(jù)的流程。圖15是根據(jù)本發(fā)明一些實(shí)施例的可由移動(dòng)計(jì)算設(shè)備處的應(yīng)用管理器執(zhí)行的處理的流程圖。圖16是根據(jù)本發(fā)明一些實(shí)施例的可由移動(dòng)計(jì)算設(shè)備處的應(yīng)用管理器執(zhí)行的處理的另一流程圖。圖17是根據(jù)本發(fā)明一些實(shí)施例的可由與移動(dòng)計(jì)算設(shè)備相耦合的附件執(zhí)行來開展與附件的通信的處理的流程圖。圖18是根據(jù)本發(fā)明一些實(shí)施例的可由移動(dòng)計(jì)算設(shè)備處的應(yīng)用執(zhí)行來開展與附件的通信的處理的流程圖。
具體實(shí)施例方式這里公開的本發(fā)明的各個(gè)實(shí)施例涉及移動(dòng)計(jì)算設(shè)備與附件設(shè)備之間的通信的各個(gè)方面。在一些實(shí)施例中,附件可以利用附件通信協(xié)議與移動(dòng)計(jì)算設(shè)備通信。附件通信協(xié)議可以指定通信命令、傳輸鏈路、認(rèn)證例程、標(biāo)識(shí)處理、專門語言(lingo)、分組結(jié)構(gòu)、數(shù)據(jù)類型或者可用于移動(dòng)計(jì)算設(shè)備與附件設(shè)備之間的通信的任何其它合適的命令或數(shù)據(jù)。在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用還可以利用應(yīng)用通信協(xié)議來與附件通信。在一些實(shí)施例中,應(yīng)用通信協(xié)議可以指定用于該應(yīng)用與附件之間的通信的通信命令、分組結(jié)構(gòu)、數(shù)據(jù)類型、專門語言、消息格式等。在一些實(shí)施例中,由應(yīng)用通信協(xié)議指定的通信命令、分組結(jié)構(gòu)、數(shù)據(jù)類型、專門語言、消息格式中的至少一些可以不同于由附件通信協(xié)議指定的那些。 在其它實(shí)施例中,由應(yīng)用通信協(xié)議指定的通信命令、分組結(jié)構(gòu)、數(shù)據(jù)類型、專門語言、消息格式中的至少一些可以與由附件通信協(xié)議指定的那些相同。在一些實(shí)施例中,應(yīng)用協(xié)議可以使用由附件通信協(xié)議指定的傳輸鏈路。應(yīng)用通信協(xié)議例如可由應(yīng)用和/或附件的開發(fā)者來開發(fā)。在一些實(shí)施例中,應(yīng)用通信協(xié)議可以包括特定于應(yīng)用和/或附件的命令、數(shù)據(jù)結(jié)構(gòu)等。此外,術(shù)語“應(yīng)用通信協(xié)議”和“應(yīng)用協(xié)議”可互換使用。術(shù)語“附件通信協(xié)議”、“附件通信協(xié)議”、“一般通信協(xié)議”和“一般協(xié)議”也可互
換使用。圖IA示出了與附件設(shè)備113相耦合的移動(dòng)計(jì)算設(shè)備102。線纜111用來將移動(dòng)計(jì)算設(shè)備102與附件設(shè)備113相耦合。線纜111可以包括與移動(dòng)計(jì)算設(shè)備102相連的連接器 108以及與附件設(shè)備113相連的連接器110。圖IB示出了與移動(dòng)計(jì)算設(shè)備102無線地耦合的附件設(shè)備113。圖IA和IB所示的移動(dòng)計(jì)算設(shè)備可以為任何類型的移動(dòng)計(jì)算和/或通信設(shè)備而不受限制。例如,可以使用iPod Touch 、iPhone 、兼容Android的設(shè)備和/或Blackberry 設(shè)備。此外,移動(dòng)計(jì)算設(shè)備102可以提供媒體播放器能力、聯(lián)網(wǎng)、web瀏覽、電子郵件、字處理、數(shù)據(jù)存儲(chǔ)、應(yīng)用運(yùn)行和/或任何其它計(jì)算或通信功能。附件113可以是能夠與移動(dòng)計(jì)算設(shè)備102通信的任何設(shè)備,例如外部揚(yáng)聲器系統(tǒng); 外部視頻設(shè)備;多媒體設(shè)備;消費(fèi)電子設(shè)備;測(cè)試儀器;家用電器(例如電冰箱或洗碗機(jī)); 健身器材;安全系統(tǒng);家庭或辦公室自動(dòng)化系統(tǒng);相機(jī);用戶輸入設(shè)備(例如,鍵盤、鼠標(biāo)、 游戲控制器);測(cè)量設(shè)備;醫(yī)療設(shè)備(例如,葡萄糖監(jiān)視儀或胰島素監(jiān)視儀);銷售點(diǎn)設(shè)備; 汽車;汽車附件(例如,汽車立體聲音響系統(tǒng)或汽車導(dǎo)航系統(tǒng));無線電(例如,F(xiàn)M、AM和/ 或衛(wèi)星);飛機(jī)、巴士、火車或其它公共交通運(yùn)輸車輛上的娛樂控制臺(tái);等等??膳c移動(dòng)計(jì)算設(shè)備聯(lián)合使用的任何類型的設(shè)備可被用作附件設(shè)備。圖2示出了根據(jù)一個(gè)實(shí)施例的與附件202(例如,實(shí)現(xiàn)圖IA或IB的附件113)相耦合的移動(dòng)計(jì)算設(shè)備200(例如,實(shí)現(xiàn)圖IA或IB的移動(dòng)計(jì)算設(shè)備10 的框圖。移動(dòng)計(jì)算設(shè)備200可以包括處理器230、存儲(chǔ)設(shè)備225、用戶接口(UI) 235、網(wǎng)絡(luò)接口 236以及附件輸入/輸出(I/O)接口 205??蓪?shí)現(xiàn)為一個(gè)或多個(gè)集成電路(例如包括傳統(tǒng)的微處理器或微控制器)的處理器 230可以控制移動(dòng)計(jì)算設(shè)備200的操作。例如,響應(yīng)于通過用戶接口 235提供的用戶輸入信號(hào),處理器206可以執(zhí)行各種任務(wù),例如,選擇并播放可能存儲(chǔ)在存儲(chǔ)設(shè)備225中的媒體資產(chǎn);利用網(wǎng)絡(luò)接口 236訪問各種網(wǎng)絡(luò)(例如,移動(dòng)電話網(wǎng)絡(luò)、因特網(wǎng)、局域網(wǎng)等)以發(fā)送和/ 或檢索數(shù)據(jù);運(yùn)行駐留在存儲(chǔ)設(shè)備225上的各種應(yīng)用程序(Apps) 2 ;等等。處理器230還可以管理經(jīng)由附件I/O接口 205與附件的通信。用戶接口 235可以包括諸如觸摸板、觸摸屏、滾輪、點(diǎn)觸輪(click wheel)、撥號(hào)盤、按鈕、小鍵盤、麥克風(fēng)等的輸入控制裝置,諸如顯示屏、指示燈、揚(yáng)聲器、耳機(jī)插孔等的輸出設(shè)備,以及支持電子裝置(例如,數(shù)?;蚰?shù)轉(zhuǎn)換器、信號(hào)處理器等)。用戶可以操作用戶接口 235的各個(gè)輸入控制裝置來調(diào)用移動(dòng)計(jì)算設(shè)備200的功能,并且還可以經(jīng)由用戶接口 235來觀看和/或收聽來自移動(dòng)計(jì)算設(shè)備200的輸出。存儲(chǔ)設(shè)備225例如可以利用盤、閃存或任何其它非易失性存儲(chǔ)介質(zhì)來實(shí)現(xiàn)。存儲(chǔ)設(shè)備225可以存儲(chǔ)可由處理器230運(yùn)行的應(yīng)用程序226、系統(tǒng)程序和其它程序代碼(未明確示出),以及可用來管理與各種附件的通信的諸如協(xié)議表227之類的各種數(shù)據(jù)。在一些實(shí)施例中,存儲(chǔ)設(shè)備225還可以存儲(chǔ)可由移動(dòng)通信設(shè)備200播放的諸如音頻、視頻、靜止圖像等的媒體資產(chǎn),以及描述媒體資產(chǎn)的元數(shù)據(jù)(例如,資產(chǎn)名稱、藝術(shù)家、標(biāo)題、流派等)、播放列表(可順序地或按隨機(jī)順序播放的資產(chǎn)的列表)等等。存儲(chǔ)設(shè)備225還可以存儲(chǔ)任何其它類型的信息,例如有關(guān)用戶的聯(lián)系方式的信息(名字、地址、電話號(hào)碼等);所安排的約會(huì)和事件;備忘錄;和/或其它個(gè)人信息。應(yīng)用程序(在這里也稱為“應(yīng)用”或“apps”)2 可包括可由處理器230運(yùn)行的任何程序。在一些實(shí)施例中,某些應(yīng)用可由其制造商安裝在移動(dòng)計(jì)算設(shè)備200上,而其它應(yīng)用可由用戶安裝。應(yīng)用程序的示例可以包括視頻游戲應(yīng)用、個(gè)人信息管理程序、用于播放媒體資產(chǎn)和/或?qū)Ш矫襟w資產(chǎn)數(shù)據(jù)庫的程序、用于控制電話界面撥打和/或接收電話的程序,等等。某些應(yīng)用程序2 可以提供與附件202的通信和/或?qū)Ω郊?02的控制,并且某些應(yīng)用程序2 可以響應(yīng)于來自附件202的控制信號(hào)或其它輸入;下面描述示例。網(wǎng)絡(luò)接口 236可以提供到一個(gè)或多個(gè)通信網(wǎng)絡(luò)的接口。例如,網(wǎng)絡(luò)接口 236可以包括射頻(RF)收發(fā)機(jī)以及用于經(jīng)由諸如移動(dòng)電話網(wǎng)絡(luò)之類的移動(dòng)通信網(wǎng)絡(luò)通信的合適組件。另外或者替代地,網(wǎng)絡(luò)接口 236可以包含到因特網(wǎng)(例如,WiFi收發(fā)機(jī)、3G收發(fā)機(jī)等)、 到個(gè)人區(qū)域網(wǎng)絡(luò)(例如,藍(lán)牙網(wǎng)絡(luò))或任何其它網(wǎng)絡(luò)的無線連接。在其它實(shí)施例中,還可以提供有線網(wǎng)絡(luò)連接(例如,以太網(wǎng))。在一些實(shí)施例中,同一硬件可用來支持到多個(gè)網(wǎng)絡(luò)的連接;因此,網(wǎng)絡(luò)接口 236可以包括模數(shù)和/或數(shù)模電路、基帶處理組件(例如,編解碼器、 信道估計(jì)器等)、調(diào)制器、解調(diào)器、振蕩器、放大器、發(fā)送器、接收器、收發(fā)器、內(nèi)部和/或外部天線等等。在一些實(shí)施例中,與網(wǎng)絡(luò)連通性相關(guān)聯(lián)的一些操作可以全部或部分地被實(shí)現(xiàn)為在處理器230上運(yùn)行的程序(例如,數(shù)字域中的編碼、解碼和/或其它處理),或者專用數(shù)字信號(hào)處理器可被提供。附件I/O接口 205可以包括多條信號(hào)路徑,這多條信號(hào)路徑被配置為運(yùn)載移動(dòng)計(jì)算設(shè)備200與附件202之間的各種信號(hào)。在一個(gè)實(shí)施例中,附件I/O接口 205包括與蘋果公司制造并銷售的iPod 和iPhone 產(chǎn)品上所使用的連接器相對(duì)應(yīng)的30引腳連接器;也可以使用其它連接器。替代地或另外,附件I/O接口 205可以包括無線接口(例如,藍(lán)牙等)。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備200還可以利用附件I/O接口 205來與主機(jī)計(jì)算機(jī)(未示出)通信,該主機(jī)計(jì)算機(jī)運(yùn)行可以為移動(dòng)計(jì)算設(shè)備提供媒體和/或應(yīng)用的資產(chǎn)管理程序(例如,iTunes 或者M(jìn)icrosoft的應(yīng)用商店)。資產(chǎn)管理程序可以使用戶能夠向移動(dòng)計(jì)算設(shè)備200添加媒體資產(chǎn)和/或應(yīng)用,和/或從移動(dòng)計(jì)算設(shè)備200移除媒體資產(chǎn)。用戶可以更新與移動(dòng)計(jì)算設(shè)備200上的媒體資產(chǎn)相關(guān)聯(lián)的元數(shù)據(jù)。在一些實(shí)施例中,用戶還可以與資產(chǎn)管理程序交互來創(chuàng)建并更新播放列表和/或應(yīng)用以及其它文檔。在一個(gè)實(shí)施例中,主機(jī)計(jì)算機(jī)維護(hù)媒體資產(chǎn)和/或應(yīng)用的主數(shù)據(jù)庫(master database),并且可以例如通過因特網(wǎng)訪問其它數(shù)據(jù)庫(包括關(guān)聯(lián)數(shù)據(jù)庫和播放列表),并且只要移動(dòng)計(jì)算設(shè)備200連接到主機(jī)計(jì)算機(jī),資產(chǎn)管理程序就自動(dòng)地將主數(shù)據(jù)庫與在移動(dòng)計(jì)算設(shè)備200的存儲(chǔ)設(shè)備225 上維護(hù)的數(shù)據(jù)庫同步。在其它實(shí)施例中,移動(dòng)計(jì)算設(shè)備200可以使用網(wǎng)絡(luò)接口 236來與主機(jī)計(jì)算機(jī)通信和/或直接與各種其它服務(wù)器通信,以獲取應(yīng)用、媒體資產(chǎn)和/或其它數(shù)據(jù)。附件202可以包括控制器沈0、用戶接口 255、移動(dòng)計(jì)算設(shè)備I/O接口 250、存儲(chǔ)器 265和附件特定硬件275。移動(dòng)計(jì)算設(shè)備I/O接口 250可以包括被配置來運(yùn)載附件202與移動(dòng)計(jì)算設(shè)備200 之間的各種信號(hào)的多條信號(hào)路徑。在一個(gè)實(shí)施例中,移動(dòng)計(jì)算設(shè)備I/O接口 250可以包括適于與蘋果公司制造并銷售的iPod 和iPhone 產(chǎn)品上所使用的30引腳連接器相配的連接器。也可以使用其它連接器;例如,移動(dòng)計(jì)算設(shè)備1/0接口 250可以包括標(biāo)準(zhǔn)USB或Fire Wire連接器等。替代地或另外,移動(dòng)計(jì)算設(shè)備1/0接口 250可以包括無線接口(例如,藍(lán)牙等)。 控制器260例如可以包括運(yùn)行程序代碼以執(zhí)行各種功能的微處理器或微控制器, 這些功能例如是數(shù)字音頻解碼、模擬或數(shù)字音頻和/或視頻處理、用戶輸入的處理、附件功能的控制等??刂破?60還可以管理經(jīng)由移動(dòng)計(jì)算設(shè)備I/O接口 250與移動(dòng)計(jì)算設(shè)備的通用戶接口 255可以包括諸如觸摸板、觸摸屏、滾輪、點(diǎn)觸輪、撥號(hào)盤、按鈕、小鍵盤、 麥克風(fēng)、探針等的輸入控制裝置,諸如視頻屏幕、指示燈、揚(yáng)聲器、耳機(jī)插孔等的輸出設(shè)備, 以及支持電子裝置(例如,數(shù)模或模數(shù)轉(zhuǎn)換器、信號(hào)處理器等)。用戶可以操作用戶接口 255 的各個(gè)輸入控制裝置來調(diào)用附件202的功能,并且可以經(jīng)由用戶接口 255來觀看和/或收聽來自附件202的輸出。另外,在一些實(shí)施例中,用戶可以經(jīng)由附件用戶接口 255來操作移動(dòng)計(jì)算設(shè)備200 (或運(yùn)行在其上的應(yīng)用)。存儲(chǔ)器265可以利用任何類型的存儲(chǔ)器、盤、或可存儲(chǔ)用于控制器260的程序代碼和/或數(shù)據(jù)的任何其它存儲(chǔ)介質(zhì)來實(shí)現(xiàn)。例如,存儲(chǔ)設(shè)備265可以存儲(chǔ)附件特定軟件觀0, 該附件特定軟件280可以為控制器260提供與附件特定硬件275和/或用戶接口 255交互的指令。在一些實(shí)施例中,附件202可以接收來自移動(dòng)計(jì)算設(shè)備200的信息(例如,用戶輸入、元數(shù)據(jù)和/或應(yīng)用數(shù)據(jù)),并且這樣的信息也可被存儲(chǔ)在存儲(chǔ)器265中。附件特定硬件275可以表示使能附件202的渴望功能所需的任何硬件。例如,附件特定硬件275可以包括一個(gè)或多個(gè)數(shù)據(jù)搜集設(shè)備,例如任何類型的傳感器或儀表。在一些實(shí)施例中,附件特定硬件275可以包括生成表示電特性(電阻、電壓差等)的數(shù)據(jù)的電子儀表;檢測(cè)光和/或光的圖案的光傳感器;運(yùn)動(dòng)傳感器;溫度傳感器;濕度傳感器;壓力傳感器;對(duì)所選化學(xué)品(例如,可能地,諸如一氧化碳之類的有毒氣體)的存在作出響應(yīng)的化學(xué)傳感器;等等。附件特定硬件275還可以包括一個(gè)或多個(gè)醫(yī)療設(shè)備,例如葡萄糖計(jì)量?jī)x、 呼吸儀、心率和/或心功能監(jiān)視儀、血壓監(jiān)視儀等。在一些實(shí)施例中,包括有數(shù)據(jù)搜集設(shè)備的附件特定硬件275可以提供與物理數(shù)據(jù)相對(duì)應(yīng)的或者表示物理數(shù)據(jù)的一個(gè)或多個(gè)電信號(hào)(例如,電壓、電阻和/或電流)??梢允褂枚喾N格式的模擬和/或數(shù)字信號(hào)。附件特定硬件275還可以包括在將信號(hào)發(fā)送給控制器 260之前對(duì)信號(hào)進(jìn)行處理的信號(hào)處理組件;在一些實(shí)施例中,附件特定硬件275可以直接將電信號(hào)發(fā)送給可以處理該信號(hào)的控制器沈0。例如,如果附件特定硬件275包括利用熱電偶實(shí)現(xiàn)的溫度計(jì),則來自熱電偶的電阻數(shù)據(jù)可由附件特定硬件275、控制器260或它們兩者轉(zhuǎn)換為溫度數(shù)據(jù)。此外,例如可以利用如下所述的應(yīng)用協(xié)議來將表示附件特定硬件275所搜集的數(shù)據(jù)的信號(hào)(經(jīng)過或不經(jīng)過控制器260的處理)發(fā)送給在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用;因此,在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用也可以處理利用附件特定硬件275搜集的數(shù)據(jù)。在一些實(shí)施例中,附件特定硬件275可以包括一個(gè)或多個(gè)計(jì)算機(jī)可控設(shè)備。計(jì)算機(jī)可控設(shè)備的示例包括發(fā)動(dòng)機(jī)、致動(dòng)器、燈、相機(jī)、電子管、揚(yáng)聲器、顯示屏、打印機(jī)和/或可由控制器260控制的任何其它裝備。在一些實(shí)施例中,在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用可以向附件202發(fā)送控制信號(hào),并且控制器260可以響應(yīng)于控制信號(hào)來操作附件特定硬件 275。在一些實(shí)施例中,附件特定硬件275可以包括用戶接口 255的組件。因此,在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用可以接收來自附件202的用戶輸入,經(jīng)由附件202將輸出提供給用戶,和/或控制附件202能夠執(zhí)行的任何操作、與其交互或者對(duì)其作出響應(yīng)。在一些實(shí)施例中,附件特定硬件275可以包括網(wǎng)絡(luò)和/或通信接口。例如,附件特定硬件275可以包括RF接收機(jī)(例如,用于FM、AM、衛(wèi)星波和/或其它頻帶)和/或RF發(fā)射機(jī)(例如,個(gè)人用短距離發(fā)射機(jī))。在其它實(shí)施例中,附件特定硬件275可以包括到個(gè)人區(qū)域網(wǎng)的通信接口,例如藍(lán)牙接收機(jī)或其它短距離無線通信接口。在其它實(shí)施例中,附件特定硬件275可以包括電話接口、GSM、CDMA和/或其它語音和/或數(shù)據(jù)網(wǎng)絡(luò)接口。因此,附件特定硬件275可以包含想要與移動(dòng)計(jì)算和/或通信設(shè)備進(jìn)行互操作的任何硬件組件。將理解,這里描述的系統(tǒng)配置和組件是說明性的并且變更和修改是可以的。移動(dòng)計(jì)算設(shè)備和/或附件可以具有未在這里具體描述的其它能力。雖然在這里參考特定塊描述了附件202和移動(dòng)計(jì)算設(shè)備200,但是將明白,這些塊是為了描述方便而定義的并且不旨在暗示組件部分的任何物理布置。此外,這些塊不必對(duì)應(yīng)于物理上不同的組件。移動(dòng)計(jì)算設(shè)備200的附件I/O接口 205和附件202的移動(dòng)計(jì)算設(shè)備I/O接口 250 使得移動(dòng)計(jì)算設(shè)備200能夠連接到附件202并且然后從附件202斷開連接。如這里使用的,每當(dāng)附件I/O接口 205與移動(dòng)計(jì)算設(shè)備I/O接口 250之間的通信信道打開時(shí)移動(dòng)計(jì)算設(shè)備200與附件202就被“連接”起來,并且每當(dāng)該通信信道關(guān)閉時(shí)就“斷開連接”??梢酝ㄟ^物理附接(例如,在移動(dòng)計(jì)算設(shè)備200與附件202的各自的相配連接器之間)、通過諸如線纜之類的直接附接或者通過建立無線通信信道來實(shí)現(xiàn)連接。類似地,可以通過物理拆開、使線纜斷開連接、關(guān)斷附件202或移動(dòng)計(jì)算設(shè)備200的電源或者關(guān)閉無線通信信道來實(shí)現(xiàn)斷開連接。因此,可以使用多種通信信道,包括有線信道(通用串行總線(“USB”)、 Fire Wire (IEEE1394標(biāo)準(zhǔn))或通用異步接收器/發(fā)送器(“UART”))或無線信道(例如,Bluetooth(由藍(lán)牙SIG開發(fā)的并由Bluetooth 商標(biāo)許可的短距離無線通信標(biāo)準(zhǔn))、 WiFi (遵循IEEE 802. 11系列標(biāo)準(zhǔn)中的任一者)、無線個(gè)人區(qū)域網(wǎng)絡(luò)、紅外等)。在一些實(shí)施例中,可以利用有線和無線信道兩者來進(jìn)行通信。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備與附件之間的多個(gè)通信信道可以同時(shí)打開,或者移動(dòng)計(jì)算設(shè)備可以同時(shí)被連接到多個(gè)附件,其中每個(gè)附件使用不同的通信信道。無論特定的通信信道如何,只要移動(dòng)計(jì)算設(shè)備200與附件202彼此相連,這些設(shè)備就可以通過按附件通信協(xié)議所指定的那樣交換命令和數(shù)據(jù)來進(jìn)行通信。附件通信協(xié)議可以定義用于在移動(dòng)計(jì)算設(shè)備200與附件202之間發(fā)送消息的格式。例如,附件通信協(xié)議可以指定每個(gè)消息在具有頭部、凈荷和/或尾部的分組中被發(fā)送。頭部可以提供諸如起始指示符、 分組長(zhǎng)度和將由接收者處理的命令之類的基本信息,而凈荷提供與該命令相關(guān)聯(lián)的任何數(shù)據(jù);關(guān)聯(lián)數(shù)據(jù)的量對(duì)于不同命令可以不同,并且一些命令可以提供可變長(zhǎng)度凈荷。分組還可以包括尾部,尾部可以提供例如本領(lǐng)域已知的檢錯(cuò)或糾錯(cuò)碼和/或所需要的其它信息。在各個(gè)實(shí)施例中,附件通信協(xié)議可以定義用于指示將由接收者采取的動(dòng)作;用信號(hào)通知任務(wù)的完成、狀態(tài)的改變或錯(cuò)誤的發(fā)生;和/或標(biāo)識(shí)關(guān)聯(lián)數(shù)據(jù)的性質(zhì)的具體命令。在一些實(shí)施例中,命令可被定義為使得任何特定命令僅在一個(gè)方向上有效。附件通信協(xié)議還可以指定可用于在設(shè)備之間發(fā)送信號(hào)的一個(gè)或多個(gè)物理傳輸鏈路。例如,傳輸鏈路可以為USB鏈路、UART鏈路、Fire Wire鏈路、藍(lán)牙鏈路、WiFi鏈路、并行鏈路、串行鏈路等。在此層級(jí)上,附件通信協(xié)議可以指定例如起始字節(jié)、同步字節(jié)、停止字節(jié)和/或其它輔助信號(hào)。在一些實(shí)施例中,附件通信協(xié)議可以提供多個(gè)替代傳輸鏈路;因此單個(gè)移動(dòng)計(jì)算設(shè)備可以支持通過多種無線鏈路(包括有線和/或無線鏈路)的通信。附件通信協(xié)議可以定義多種“專門語言”,其中“專門語言”一般是指可由各種類別的附件支持(或不支持)的一組相關(guān)命令。在一個(gè)實(shí)施例中,命令可由第一字節(jié)和第二字節(jié)唯一地標(biāo)識(shí),該第一字節(jié)標(biāo)識(shí)該命令所屬的專門語言并且第二字節(jié)標(biāo)識(shí)該專門語言內(nèi)的特定命令。也可以使用其它命令結(jié)構(gòu)。不需要所有附件、附件可被連接到的所有移動(dòng)計(jì)算設(shè)備都支持附件通信協(xié)議內(nèi)所定義的每種專門語言或者特定專門語言的每個(gè)命令(例如, 不同設(shè)備可能使用給定專門語言的不同版本)。在一些實(shí)施例中,被設(shè)計(jì)為彼此互操作的每個(gè)附件202和每個(gè)移動(dòng)計(jì)算設(shè)備200 至少支持包含有所有這些設(shè)備共用的命令的“通用”專門語言。通用專門語言可以包括這樣的命令,這些命令使得移動(dòng)計(jì)算設(shè)備和附件能夠向彼此標(biāo)識(shí)其自身并且至少提供關(guān)于其各自能力的一些信息,包括各自支持哪些其他專門語言(如果有的話)以及在相連接時(shí)各自希望使用另一設(shè)備的哪些能力。通用專門語言還可以包括移動(dòng)計(jì)算設(shè)備可用來驗(yàn)證所聲稱的附件能力和身份 (或者反之,附件可用來驗(yàn)證所聲稱的移動(dòng)計(jì)算設(shè)備的能力和身份)的認(rèn)證命令,并且如果認(rèn)證不成功則附件(或移動(dòng)計(jì)算設(shè)備)可被阻止調(diào)用某些命令或?qū)iT語言。例如,移動(dòng)計(jì)算設(shè)備200內(nèi)的認(rèn)證管理器(未示出)可與附件202內(nèi)的認(rèn)證管理器(也未示出)通信, 以例如基于公鑰密碼系統(tǒng)和移動(dòng)計(jì)算設(shè)備200的認(rèn)證管理器內(nèi)所維護(hù)的數(shù)字證書的商店來執(zhí)行認(rèn)證過程。附件通信協(xié)議的通用專門語言或另外的專門語言還可以包括“隧道傳輸”命令, “隧道傳輸”命令允許在移動(dòng)計(jì)算設(shè)備200上所運(yùn)行的應(yīng)用2 與附件202之間交換任意信息。例如,TurmelToAcc命令可被定義為可由移動(dòng)計(jì)算設(shè)備200發(fā)送給附件202。該命令的凈荷可以是任何數(shù)據(jù)、控制信號(hào)或者運(yùn)行在移動(dòng)計(jì)算設(shè)備200上的應(yīng)用2 可以生成并發(fā)送給附件202的其它信息。類似地,TurmelToHost命令可被定義為可由附件202發(fā)送給移動(dòng)計(jì)算設(shè)備200。該命令的凈荷可以是任何數(shù)據(jù)、控制信號(hào)或者附件202可生成并發(fā)送給運(yùn)行在移動(dòng)計(jì)算設(shè)備200上的應(yīng)用2 的其它信息。這些隧道傳輸命令可被定義為使得附件通信協(xié)議對(duì)于凈荷內(nèi)容是不可知的。下面描述用于管理通信以使得特定應(yīng)用僅將數(shù)據(jù)、控制信號(hào)或其它信息發(fā)送給能夠處理它的附件(反之亦然)的技術(shù)的示例。在一些實(shí)施例中,附件可以利用應(yīng)用通信協(xié)議來與API通信,該API與移動(dòng)計(jì)算設(shè)備處的一個(gè)或多個(gè)應(yīng)用相關(guān)聯(lián)。例如,這樣的通信可以使用上面討論的“隧道傳輸”命令。 在一些實(shí)施例中,附件可以利用附件通信協(xié)議來與與一個(gè)或多個(gè)應(yīng)用相關(guān)聯(lián)的API通信。 在其它實(shí)施例中,附件還可以利用附件通信協(xié)議和/或應(yīng)用通信協(xié)議中的任一者或兩者來與移動(dòng)計(jì)算設(shè)備操作系統(tǒng)通信。因此,這里公開的實(shí)施例可用來利用應(yīng)用通信協(xié)議和/或附件通信協(xié)議中的任一者或兩者來輔助從附件到移動(dòng)計(jì)算設(shè)備處的應(yīng)用、API和/或操作系統(tǒng)的通信。移動(dòng)計(jì)算設(shè)備和附件支持的附件通信協(xié)議可以包括各種其它專門語言,例如,允許附件發(fā)送指示將被調(diào)用的移動(dòng)計(jì)算設(shè)備功能的命令的簡(jiǎn)單遠(yuǎn)程專門語言、可用來傳輸與在附件上復(fù)制移動(dòng)計(jì)算設(shè)備的用戶接口的全部或一部分有關(guān)的命令和數(shù)據(jù)的遠(yuǎn)程用戶接口專門語言(從而支持更高級(jí)的遠(yuǎn)程控制)、允許用戶通過操作移動(dòng)計(jì)算設(shè)備來控制調(diào)諧器附件的調(diào)諧器專門語言、允許附件在移動(dòng)計(jì)算設(shè)備上存儲(chǔ)數(shù)據(jù)的存儲(chǔ)專門語言,等等。任何專門語言或?qū)iT語言的組合,或者其它命令或命令組都可以結(jié)合這里描述的實(shí)施例被使用。將理解,這里描述的附件通信協(xié)議是說明性的并且變更和修改是可以的。這里描述的具體命令可被其它命令或命令的組合、或者其它類型的消息和格式替代。另外,不要求任何特定的移動(dòng)通信設(shè)備或附件支持這里描述的所有命令和操作。如上面提到的,在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用2 與附件202可以交換任意數(shù)據(jù)、控制信號(hào)和/或其它信息(在此也稱為“消息”)。這些消息可以與多種多樣的境況有關(guān)。例如,與用戶輸入事件、檢測(cè)到的外部狀況、接收到的數(shù)據(jù)或者可能在移動(dòng)計(jì)算設(shè)備200 處發(fā)生的任何其它事件或狀況有關(guān)的消息可被傳輸給附件202。反之,與用戶輸入事件、檢測(cè)到的外部狀況、接收到的數(shù)據(jù)或者可能在附件202處發(fā)生的其它事件或狀況有關(guān)的消息可被傳輸給移動(dòng)計(jì)算設(shè)備200。例如,在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備200可以處理例如通過用戶接口 255來自用戶的輸入事件,例如,觸摸屏事件、按鈕按壓、滾輪事件等。移動(dòng)計(jì)算設(shè)備200可以將表示輸入事件的數(shù)據(jù)提供給運(yùn)行在移動(dòng)計(jì)算設(shè)備200上的應(yīng)用、附件202或它們兩者。附件202可以將這樣的數(shù)據(jù)解釋為例如用于控制附件特定硬件275和/或用于控制器260處的處理的輸入。例如,觸摸屏數(shù)據(jù)可由移動(dòng)計(jì)算設(shè)備200收集來供應(yīng)用、附件202或它們兩者使用; 在一些實(shí)施例中,觸摸屏數(shù)據(jù)可以包括表示敲擊和/或移動(dòng)(例如掃過、擠壓、拖動(dòng)和其它手勢(shì))的數(shù)據(jù)。在一些實(shí)施例中,觸摸屏數(shù)據(jù)可以以原始數(shù)據(jù)格式(例如,表示檢測(cè)到與手指移動(dòng)相對(duì)應(yīng)的壓力的地點(diǎn)的坐標(biāo)序列)被發(fā)送。在其它實(shí)施例中,觸摸屏數(shù)據(jù)在被發(fā)送給附件之前可被轉(zhuǎn)換為經(jīng)處理數(shù)據(jù),例如手勢(shì)事件(例如,敲擊、從一點(diǎn)到另一點(diǎn)的掃過或拖動(dòng)、擠壓等)。在一些實(shí)施例中,原始鍵盤數(shù)據(jù)可被發(fā)送給附件和/或經(jīng)處理的鍵盤數(shù)據(jù)可被發(fā)送給附件。在一些實(shí)施例中,可以利用應(yīng)用和應(yīng)用協(xié)議將一些或所有類型的用戶輸入數(shù)據(jù)傳輸給附件202,例如,如下所述的;在其它實(shí)施例中,就附件通信協(xié)議支持特定類型的用戶輸入數(shù)據(jù)的發(fā)送而言,可以利用附件通信協(xié)議來傳輸一些或所有類型的用戶輸入數(shù)據(jù)。移動(dòng)計(jì)算設(shè)備200還可以將用戶輸入以外的信息發(fā)送給附件202。例如,在一些實(shí)施例中,除了用戶輸入設(shè)備以外,移動(dòng)計(jì)算設(shè)備200還可以包括各種傳感器和/或數(shù)據(jù)搜集設(shè)備;示例可以包括加速度計(jì)、陀螺儀、羅盤、位置確定設(shè)備(例如,全球定位系統(tǒng)接收機(jī)或電話三角系統(tǒng))、光傳感器、紅外傳感器、相機(jī)、網(wǎng)絡(luò)接口(例如,電話、WiFi、藍(lán)牙)等。移動(dòng)計(jì)算設(shè)備200可以例如響應(yīng)于來自附件202的具體請(qǐng)求來將任何或所有的這樣的數(shù)據(jù)提供給附件202。在一些實(shí)施例中,可以利用應(yīng)用和應(yīng)用協(xié)議來將一些或所有的這樣的數(shù)據(jù)傳輸給附件202,例如,如下所述的;在其它實(shí)施例中,就附件通信協(xié)議支持特定類型的信息的發(fā)送而言,可以利用附件通信協(xié)議來傳輸一些或所有的這樣的數(shù)據(jù)。在另一示例中,附件202可以接收來自移動(dòng)計(jì)算設(shè)備200的輸入事件。這樣的事件可以對(duì)應(yīng)于在移動(dòng)計(jì)算設(shè)備200處檢測(cè)到的用戶輸入和/或其它數(shù)據(jù),包括但不限于上面描述的數(shù)據(jù)類型中的任何數(shù)據(jù)類型。在一些實(shí)施例中,這樣的輸入事件可由附件202處的控制器260處理來控制附件特定硬件275。例如,移動(dòng)計(jì)算設(shè)備200處的觸摸屏或其它用戶輸入事件可被發(fā)送給附件202以打開附件特定硬件275、改變附件特定硬件275的狀態(tài)、 接收來自附件特定硬件275的數(shù)據(jù)、向附件特定硬件275提供數(shù)據(jù)、關(guān)斷附件特定硬件275、 和/或設(shè)定附件特定硬件275的設(shè)置。觸摸屏數(shù)據(jù)例如可以以原始數(shù)據(jù)格式被發(fā)送或者作為經(jīng)解釋事件(例如,按壓、掃過、擠壓)被發(fā)送。在一些實(shí)施例中,附件特定軟件280可以包括用于接收和/或解釋原始觸摸屏數(shù)據(jù)的指令。在一些實(shí)施例中,附件特定軟件280可以包括將原始觸摸屏數(shù)據(jù)轉(zhuǎn)譯為針對(duì)附件特定硬件275的命令和/或控制。在另一實(shí)施例中,觸摸屏數(shù)據(jù)可以以原始格式被提供給在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用,其可以解釋該數(shù)據(jù)并將對(duì)應(yīng)命令和/或信息發(fā)送給附件202。此外,在附件202處從移動(dòng)計(jì)算設(shè)備200接收的輸入事件可由運(yùn)行附件特定軟件 280的控制器260處理。在一些實(shí)施例中,附件特定軟件280可以響應(yīng)于從移動(dòng)計(jì)算設(shè)備 200接收的輸入事件而與附件特定硬件275交互。此外,在一些實(shí)施例中,附件特定硬件275還可以由移動(dòng)計(jì)算設(shè)備200經(jīng)由與附件 202的連接進(jìn)行控制。例如,在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用可以包括程序代碼,該程序代碼在被處理器230執(zhí)行時(shí),可以控制附件202處的附件特定硬件275、與之交互、與其互操作、和/或從其接收信號(hào)。在一些實(shí)施例中,在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用可以與在附件202的控制器260上運(yùn)行的控制程序交換消息,從而指示控制器260與附件特定硬件 275通信和/或控制附件特定硬件275的操作。這樣的消息例如可以利用如下所述的應(yīng)用協(xié)議來交換。在一些實(shí)施例中,附件特定硬件275可以將輸入數(shù)據(jù)提供給控制器沈0。例如,附件特定硬件275可以包括可將物理特性轉(zhuǎn)換為可被發(fā)送給控制器260和/或存儲(chǔ)在存儲(chǔ)器 265中的數(shù)據(jù)(或表示數(shù)據(jù)的電信號(hào);這些術(shù)語可互換使用)的測(cè)量傳感器??刂破?60可以測(cè)量該數(shù)據(jù)(例如,應(yīng)用校準(zhǔn)校正、降噪和/或其它數(shù)據(jù)處理操作)。經(jīng)處理數(shù)據(jù)可從附件202被發(fā)送給移動(dòng)計(jì)算設(shè)備200。在移動(dòng)計(jì)算設(shè)備200處,應(yīng)用還可以處理該數(shù)據(jù)和/或?qū)?shù)據(jù)通過用戶接口提供給用戶。此外,應(yīng)用可以響應(yīng)于該數(shù)據(jù)來執(zhí)行任意數(shù)目的功能。在一些實(shí)施例中,附件和應(yīng)用可以交換所需要的任何消息,其中術(shù)語“消息”一般是指任何類型的控制信號(hào)、事件、數(shù)據(jù)、狀態(tài)或配置信息,或者發(fā)送者可獲得的任何其它類型的信息。為了輔助消息的交換,附件和應(yīng)用可以使用相互議定的應(yīng)用協(xié)議。應(yīng)用協(xié)議可以為可被交換的消息指定所接受格式的總體。遵循特定應(yīng)用協(xié)議的設(shè)備或程序可以根據(jù)該應(yīng)用協(xié)議的所接受格式總體來構(gòu)建它們發(fā)送的消息,并且可以根據(jù)該應(yīng)用協(xié)議的所接受格式總體來解釋它們接收的消息。例如,在二進(jìn)制數(shù)字通信的情況中,應(yīng)用協(xié)議可以指定接收者將如何解釋包含消息的比特。因此,與附件通信協(xié)議相似,應(yīng)用協(xié)議可以指定分組結(jié)構(gòu); 命令;專用語言;凈荷格式;和/或其它格式、數(shù)據(jù)結(jié)構(gòu)、語義或解釋規(guī)則,以使得由一個(gè)參與者發(fā)送的特定消息將被接收者正確地解釋。實(shí)際上,在一些實(shí)施例中,附件通信協(xié)議的部分可以直接被用作用于特定附件和/或應(yīng)用的應(yīng)用協(xié)議的全部或一部分。在這里描述的某些實(shí)施例中,附件協(xié)議消息例如可以利用如上所述的隧道傳輸命令、通過將消息包封、包裝或封裝在遵守附件通信協(xié)議的分組內(nèi)而在設(shè)備之間被發(fā)送。因此,由附件通信協(xié)議指定的傳輸鏈路可被使用,并且應(yīng)用協(xié)議無需指定物理傳輸鏈路??蓸?gòu)想創(chuàng)建出使用多種不同應(yīng)用協(xié)議的無限范圍的附件和應(yīng)用來用于特定移動(dòng)計(jì)算設(shè)備(或移動(dòng)計(jì)算設(shè)備的線路)。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備200可被配置有應(yīng)用協(xié)議管理能力(例如,使用應(yīng)用管理器),該能力包括跟蹤由每個(gè)所連接附件使用的(一個(gè)或多個(gè))應(yīng)用協(xié)議以及由每個(gè)正運(yùn)行和/或被安裝的應(yīng)用使用的(一個(gè)或多個(gè))應(yīng)用協(xié)議。例如,移動(dòng)計(jì)算設(shè)備200可以提供系統(tǒng)服務(wù)來輔助標(biāo)識(shí)將用于特定附件的適當(dāng)應(yīng)用和 /或標(biāo)識(shí)一合適附件是否可被獲得用于特定應(yīng)用。這些服務(wù)可以在無需移動(dòng)計(jì)算設(shè)備200 的系統(tǒng)服務(wù)根據(jù)任何應(yīng)用協(xié)議來實(shí)現(xiàn)或通信的情況下被提供。圖3是示出根據(jù)本發(fā)明實(shí)施例的移動(dòng)計(jì)算設(shè)備200內(nèi)的各個(gè)模塊和處理的框圖。 所示出的各個(gè)模塊可以對(duì)應(yīng)于在圖2的處理器230上運(yùn)行的程序、在移動(dòng)計(jì)算設(shè)備200的其它處理器上運(yùn)行的程序、專用集成電路或其它實(shí)施方式。在一些實(shí)施例中,多個(gè)處理器芯片或者單個(gè)芯片內(nèi)的多個(gè)處理器核可用來實(shí)現(xiàn)這里描述的各個(gè)模塊和處理。一些或所有處理器可以是運(yùn)行軟件和/固件程序的可編程通用處理器;其它處理器可以是數(shù)字信號(hào)處理器、具有內(nèi)置功能的狀態(tài)機(jī)或者它們的任意組合。端口 305-307分別為附件300-302提供通信信道。端口 305-307的每個(gè)可以是支持具體通信信道的物理端口和/或邏輯端口。例如,端口 305可以是與諸如USB或UART之類的有線信道相關(guān)聯(lián)的物理端口,并且可以包括硬件元件(例如,兼容USB的驅(qū)動(dòng)器電路和 /或引腳)以及合適的控制軟件。端口 306可以是與諸如藍(lán)牙之類的無線信道相關(guān)聯(lián)的邏輯端口(例如,虛擬串行端口)。在一些實(shí)施例中,每個(gè)端口 305-307可以發(fā)送和接收遵守附件通信協(xié)議的消息,該附件通信協(xié)議適用于與該端口相關(guān)聯(lián)的特定物理傳輸或信道。雖然示出了三個(gè)端口,然而將明白,移動(dòng)計(jì)算設(shè)備可被設(shè)計(jì)為支持任意組合的任意數(shù)目的物理和/或邏輯端口。此外,如下所述,在一些實(shí)施例中,單個(gè)附件可被連接到多個(gè)端口。例如可以是由處理器230運(yùn)行的固件或軟件模塊的協(xié)議管理器310可以從端口 305-307接收移動(dòng)計(jì)算設(shè)備協(xié)議消息(也稱為命令)并且開始解釋消息的處理。在一些實(shí)施例中,協(xié)議管理器310或者與協(xié)議管理器310相關(guān)聯(lián)的關(guān)聯(lián)協(xié)議后臺(tái)程序(daemon)(未示出)也可以創(chuàng)建或定義端口 305-307,并將它們連接到合適的通信硬件,例如連接器引腳和驅(qū)動(dòng)器電路、無線收發(fā)機(jī)等。在一個(gè)實(shí)施例中,協(xié)議管理器310 (或其關(guān)聯(lián)協(xié)議后臺(tái)程序) 可以提取在各個(gè)端口上接收的進(jìn)入移動(dòng)計(jì)算設(shè)備協(xié)議消息并且將所提取消息遞送給支持層315或移動(dòng)計(jì)算設(shè)備200內(nèi)的其它組件。因此,圖3的處理?xiàng)V械妮^上層級(jí)可以獨(dú)立于特定傳輸鏈路。在另一實(shí)施例中,協(xié)議管理器310可以從支持層315接收打算去往所連接附件 (例如,附件300-302中的任一個(gè))的外出信息(例如,已由創(chuàng)建消息的應(yīng)用404根據(jù)應(yīng)用協(xié)議進(jìn)行了構(gòu)建的消息),將該外出消息封裝在移動(dòng)計(jì)算設(shè)備協(xié)議分組內(nèi),并且將該分組遞送給端口 305-307中連接到所希望附件的一個(gè)端口。在一些實(shí)施例中,協(xié)議管理器310 (或關(guān)聯(lián)協(xié)議后臺(tái)程序)還可以支持和/或控制端口的開閉。例如,在虛擬端口的情況中,協(xié)議管理器310可以在啟動(dòng)時(shí)創(chuàng)建一組虛擬端口并且當(dāng)連接被請(qǐng)求和/或被終止時(shí)打開和/或關(guān)閉端口。協(xié)議管理器310可以維持動(dòng)態(tài)端口映射325,其將具體應(yīng)用協(xié)議與具體端口相關(guān)聯(lián)。例如,當(dāng)諸如附件300之類的附件在諸如端口 305之類的特定端口上建立到移動(dòng)計(jì)算設(shè)備200的連接時(shí),附件300例如可以經(jīng)由端口 305提供協(xié)議名稱串來向協(xié)議管理器310 標(biāo)識(shí)其支持的(一個(gè)或多個(gè))應(yīng)用協(xié)議(例如,在附件300的情況中為AP3)。協(xié)議管理器 310可以將該應(yīng)用協(xié)議名稱與端口的關(guān)聯(lián)性存儲(chǔ)在端口映射325中。當(dāng)該附件隨后斷開連接時(shí),該關(guān)聯(lián)性可從端口映射325被移除。因此,端口映射325可以提供當(dāng)前可供應(yīng)用使用的應(yīng)用協(xié)議列表。如下所述,這樣的列表輔助附件與應(yīng)用之間的通信的路由以及在兼容附件被連接時(shí)對(duì)兼容應(yīng)用的通知。軟件支持層315可以充當(dāng)協(xié)議管理器310(以及可選地,其它低層設(shè)備功能)與可在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用320-322之間的中介。例如,軟件支持層315可以提供可由應(yīng)用用來調(diào)用設(shè)備功能的應(yīng)用程序接口(API)。軟件支持層315可以提供獨(dú)立于應(yīng)用 320-322的設(shè)備的額外層;然而,本領(lǐng)域技術(shù)人員將理解,并非圖3所示的所有層都是必要的。例如,在一些實(shí)施例中,協(xié)議管理器310可以直接與應(yīng)用320-322通信。在所示實(shí)施例中,支持層315可以提供附件信息查找表330。在一個(gè)實(shí)施例中,附件信息表330可以包括關(guān)于每個(gè)所連接附件的信息,例如,附件類型、附件標(biāo)識(shí)符和/或附件所支持的一個(gè)或多個(gè)應(yīng)用協(xié)議的名稱。附件信息表330可以在附件連接和斷開連接時(shí)響應(yīng)于協(xié)議管理器310提供的信息而被填充和更新。應(yīng)用320-322可以是同時(shí)或順序運(yùn)行的應(yīng)用并且可被實(shí)現(xiàn)為例如可由處理器230 運(yùn)行的程序代碼。各個(gè)應(yīng)用320-322可以提供與移動(dòng)計(jì)算設(shè)備200和/或相連附件300-302 的各種形式的用戶交互。例如,應(yīng)用可以向所連接的測(cè)量探針附件提供用戶接口。響應(yīng)于用戶輸入,應(yīng)用可以指示該測(cè)量探針開始記錄測(cè)量數(shù)據(jù)以及停止記錄測(cè)量數(shù)據(jù)。應(yīng)用還可以向用戶呈現(xiàn)測(cè)量數(shù)據(jù)。應(yīng)用可將數(shù)據(jù)轉(zhuǎn)換為各種形式和/或提供進(jìn)一步的用戶交互,例如觀看隨著時(shí)間的測(cè)量的記錄、對(duì)數(shù)據(jù)執(zhí)行分析操作(例如,平均、趨勢(shì)分析、圖形分析等)寸。正運(yùn)行應(yīng)用(例如,應(yīng)用320-322中的任一個(gè))可以在任何時(shí)間查詢附件信息表 330以判斷兼容附件(即,支持該應(yīng)用使用的應(yīng)用協(xié)議的附件)是否被連接。如果兼容附件被連接,則應(yīng)用可以利用該應(yīng)用協(xié)議與該附件通信。例如,如下所述,應(yīng)用可以發(fā)起與該附件的通信會(huì)話。將理解,這里描述的模塊是說明性的并且變更和修改是可以的。移動(dòng)計(jì)算設(shè)備200 可以支持任意類型的應(yīng)用,并且可在用戶或另一測(cè)量的控制下開啟或退出應(yīng)用。諸如支持層315和協(xié)議管理器310之類的某些模塊可以用軟件和/或固件來實(shí)現(xiàn)并且被配置為在設(shè)備加電時(shí)自動(dòng)地被啟動(dòng)并且僅在斷電或各種異常狀況被檢測(cè)到時(shí)終止;應(yīng)用320-322可以響應(yīng)于用戶輸入或其它輸入而開始和終止。在一些實(shí)施例中,例如,如下所述的,當(dāng)對(duì)應(yīng)附件被連接時(shí),應(yīng)用可以自動(dòng)被開啟。各種模塊或處理在未被使用時(shí)可以進(jìn)入非活動(dòng)狀態(tài)以最小化資源消耗。此外,并非這里示出的所有層和模塊都是必要的;例如,在一些實(shí)施例中, 應(yīng)用可能繞過支持層315直接與協(xié)議管理器通信。在其它實(shí)施例中,在圖3中獨(dú)立地示出的模塊或?qū)涌杀唤M合,或者可以提供附加模塊或?qū)樱缗c移動(dòng)計(jì)算設(shè)備200的各種系統(tǒng)服務(wù)(例如,音頻和/或視頻回放、網(wǎng)絡(luò)連接等)相關(guān)聯(lián)的協(xié)議后臺(tái)程序和/或模塊。還將明白,附件也可以實(shí)現(xiàn)與圖3所示的類似的模塊、層和其它組件,或者其變更或修改。只要附件能夠根據(jù)附件通信協(xié)議與移動(dòng)計(jì)算設(shè)備交換信息,內(nèi)部實(shí)現(xiàn)方式可以按需改變。如圖3所示,在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備200可以維護(hù)多個(gè)同時(shí)運(yùn)行的應(yīng)用 320-322和/或到多個(gè)附件305-307的同時(shí)連接。應(yīng)用和/或附件可以支持不同的(以及可能不兼容的)應(yīng)用協(xié)議,并且每個(gè)應(yīng)用協(xié)議可被指派一名稱(例如,唯一串)以將其與所有其它應(yīng)用協(xié)議區(qū)分開。例如,在圖3的實(shí)施例中,應(yīng)用320和附件301支持應(yīng)用協(xié)議APl ; 應(yīng)用321和附件302支持應(yīng)用協(xié)議AP2 ;并且應(yīng)用322和附件300支持應(yīng)用協(xié)議AP3??蓸?gòu)想第三方將能夠獨(dú)立地開發(fā)出應(yīng)用和/或附件。如果兩個(gè)附件(或應(yīng)用)將相同的附件協(xié)議名稱與實(shí)際上不兼容的應(yīng)用協(xié)議相關(guān)聯(lián),則例如如果這兩個(gè)附件試圖同時(shí)連接到同一移動(dòng)計(jì)算設(shè)備,則這可能導(dǎo)致名稱沖突。為了避免這樣的沖突,希望為應(yīng)用協(xié)議名稱提供集中化的名稱空間管理。在一些實(shí)施例中,中央名稱空間管理器(例如,移動(dòng)計(jì)算設(shè)備的制造商)可以在應(yīng)用協(xié)議的開發(fā)者請(qǐng)求時(shí)向應(yīng)用協(xié)議指派名稱。在另一實(shí)施例中, 中央名稱空間管理器可以簡(jiǎn)單地定義一命名協(xié)定,如果遵循它,則其應(yīng)當(dāng)防止名稱沖突,并且附件和/或應(yīng)用的開發(fā)者可以通過遵循該協(xié)定來避免沖突。在一個(gè)實(shí)施例中,反向域名協(xié)定被用于管理應(yīng)用協(xié)議名稱空間。傳統(tǒng)的域名從左到右提供低層域到頂層域。例如,在域名“help, example, com"中,項(xiàng)“com”是頂層域,項(xiàng) “example”是較低層域,項(xiàng)“help”是最低層域。作為另一示例,域名“mac. apple, com”從左到右指定了最低層域“mac”、中間域“apple”和頂層域“com”。另一方面,反向域名將提供 “com. apple, mac^0反向域名協(xié)定可被用來指定由具體公司使用的應(yīng)用協(xié)議。S卩,反向域名“com. companyl. accessoryl (com.公司 1.附件 1) ” 指定了 “accessoryl” 與公司(或其它開發(fā)者)“companyl”相關(guān)聯(lián)。因此,一般地,公司可以利用反向域名協(xié)定來實(shí)現(xiàn)協(xié)議,其中,反向域名的第一部分引用公司(“com. company”)并且與公司(或其它開發(fā)者)的因特網(wǎng)域名相關(guān)聯(lián)。反向域名的第二部分(“accessoryl”)指定具體協(xié)議。就附件和/或應(yīng)用的不同開發(fā)者與不同因特網(wǎng)域名相關(guān)聯(lián)而言,反向域名協(xié)定允許開發(fā)者通過基于其因特網(wǎng)域名的反向來命名其協(xié)議從而將應(yīng)用和/或協(xié)議和/或附件與其它的區(qū)分開。該協(xié)定允許開發(fā)者獨(dú)立的命名其協(xié)議而無需關(guān)注其它開發(fā)者的命名協(xié)定。此外,如果在使用相同名稱的兩個(gè)開發(fā)者之間存在沖突,則對(duì)誰擁有對(duì)應(yīng)因特網(wǎng)域名的簡(jiǎn)單檢查將確定哪個(gè)開發(fā)者具有使用特定反向域名的權(quán)利。在一些實(shí)施例中,反向域名可被附加為包括一類設(shè)備中的所有設(shè)備特有的全局標(biāo)識(shí)符。例如,所有順序通過類型(serial pass through)的設(shè)備可以包括附加于反向域名的標(biāo)識(shí)符。例如,這樣的反向域名可以具有如下格式“com. companyl. accessoryl. serialpass,,或"serialpass. com. companyl. accessoryl,,。利用這樣的協(xié)定,不同公司可以生產(chǎn)順序通過設(shè)備并且盡管制造商不同移動(dòng)計(jì)算設(shè)備也可以識(shí)別這些設(shè)備。該反向域名協(xié)定僅僅是可以如何標(biāo)識(shí)應(yīng)用協(xié)議的一個(gè)示例。還可以使用任何類型的協(xié)定。因此,當(dāng)附件與移動(dòng)計(jì)算設(shè)備相連時(shí),附件可以通過提供利用反向域名協(xié)定指派給每個(gè)所支持協(xié)議的名稱來向移動(dòng)計(jì)算設(shè)備提供其所支持的應(yīng)用協(xié)議的列表。附件可以支持單個(gè)應(yīng)用協(xié)議或多個(gè)應(yīng)用協(xié)議。基于接收到的信息,圖3的移動(dòng)計(jì)算設(shè)備200可以利用諸如附件類型、附件標(biāo)識(shí)符、應(yīng)用協(xié)議名稱和/或通信端口標(biāo)識(shí)符之類的其它查找表來填充端口映射325、附件信息表330和/或其它查找表。如下所述,應(yīng)用320-322可以使用這些查找表來判斷兼容的附件是否可用,并且支持層315和/或協(xié)議管理器310可以使用查找表來路由通信而不必明白任何應(yīng)用協(xié)議。例如,移動(dòng)計(jì)算設(shè)備200可以與溫度計(jì)無線連接并且還利用線纜與相機(jī)連接。 (例如,在圖3中,附件302可以是溫度計(jì)并且端口 Z為無線端口,而附件300可以是相機(jī)并且端口 X是有線端口。)當(dāng)連接上時(shí),溫度計(jì)可以通過發(fā)送反向域名“com. temprus. thermometer 1"來標(biāo)識(shí)其所支持的應(yīng)用協(xié)議。該反向域名可利用附件通信協(xié)議被發(fā)送給用移動(dòng)計(jì)算設(shè)備。在該移動(dòng)計(jì)算設(shè)備中,該反向域名可作為應(yīng)用協(xié)議名稱被存儲(chǔ)在查找表中 (例如,端口映射325和/或附件信息表330);在一些實(shí)施例中,反向域名可以結(jié)合溫度計(jì)的附件標(biāo)識(shí)符和/或溫度計(jì)可被訪問的無線端口被存儲(chǔ)。類似地,當(dāng)連接上時(shí),再次地,相機(jī)可以通過利用附件通信協(xié)議發(fā)送如下反向域名“com. camerasrus. cameral”來標(biāo)識(shí)其所支持的應(yīng)用協(xié)議。該反向域名例如也可以結(jié)合相機(jī)的附件標(biāo)識(shí)符和/或相機(jī)可被訪問的端口而被存儲(chǔ)在查找表中(例如,端口映射325和/或附件信息表330)。移動(dòng)計(jì)算設(shè)備200可以運(yùn)行利用應(yīng)用協(xié)議“com. temprus. thermometer 1"與溫度計(jì)通信的溫度應(yīng)用(例如,應(yīng)用321)來進(jìn)行溫度讀取。在運(yùn)行期間,溫度應(yīng)用例如通過搜索協(xié)議名“com. temprus. thermometerl”來訪問查找表以查看兼容的應(yīng)用協(xié)議是否存在。 當(dāng)溫度應(yīng)用找到“com. temprus. thermometerl"時(shí),則該應(yīng)用找到了匹配并且可以開始利用 com. temprus. thermometerl應(yīng)用協(xié)議與溫度計(jì)通信。例如通過利用附件通信協(xié)議的隧道傳輸命令來將通信路由通過相關(guān)聯(lián)端口。應(yīng)用協(xié)議可以指定可與附件通信協(xié)議中所指定的不同的命令、分組信息、數(shù)據(jù)等。此外,提供應(yīng)用和/或附件的公司(例如,TempRUs公司)可以實(shí)現(xiàn)用于應(yīng)用與附件之間的通信的任何通信協(xié)議。圖4是根據(jù)本發(fā)明一些實(shí)施例的進(jìn)一步圖示出應(yīng)用與附件之間的通信的簡(jiǎn)化示圖。移動(dòng)計(jì)算設(shè)備400可被連接到附件402,從而允許運(yùn)行在移動(dòng)計(jì)算設(shè)備400上的應(yīng)用 404利用應(yīng)用協(xié)議與附件402通信。在圖4所示的實(shí)施例中,應(yīng)用404已經(jīng)確定附件402是兼容附件并且已通過調(diào)用針對(duì)支持層408的適當(dāng)功能調(diào)用來創(chuàng)建會(huì)話406。會(huì)話406例如可以是由應(yīng)用404利用對(duì)支持層408的API調(diào)用所創(chuàng)建的軟件對(duì)象。會(huì)話406可被與創(chuàng)建它的應(yīng)用404以及在應(yīng)用 404創(chuàng)建該會(huì)話時(shí)所指定的特定附件和/或應(yīng)用協(xié)議相關(guān)聯(lián)。會(huì)話406可以提供輸入流和輸出流等,分別地,輸入流的內(nèi)容是從應(yīng)用404接收的并且輸出流的內(nèi)容是遞送給應(yīng)用404 的。(下面將描述會(huì)話的創(chuàng)建。)為了利用應(yīng)用協(xié)議將消息(例如,控制信號(hào)和/或其它信息)傳輸給附件402,應(yīng)用404生成消息并將其作為數(shù)據(jù)寫入會(huì)話406的輸出流中。在此實(shí)施例中,應(yīng)用404僅僅負(fù)責(zé)根據(jù)應(yīng)用協(xié)議來格式化該消息;移動(dòng)計(jì)算設(shè)備400上的其它中間處理不會(huì)更改被寫入輸出流的數(shù)據(jù)。會(huì)話406檢測(cè)到輸出流中數(shù)據(jù)的存在,并且將對(duì)應(yīng)發(fā)送(SND)指令發(fā)送給協(xié)議管理器410。SND指令提供與會(huì)話406相關(guān)聯(lián)的附件協(xié)議標(biāo)識(shí)符和附件以及表示來自輸出流的數(shù)據(jù)的“包(bundle)”。在一些實(shí)施例中,該包可以對(duì)應(yīng)于消息數(shù)據(jù)的全部;然而,取決于消息長(zhǎng)度和附件通信協(xié)議可能施加給分組長(zhǎng)度的約束,包也可以僅對(duì)應(yīng)于消息數(shù)據(jù)的一部分。反之,在一些實(shí)施例中,單個(gè)包可能包括多個(gè)應(yīng)用協(xié)議消息。協(xié)議管理器410可以使用由會(huì)話406提供的附件和附件協(xié)議標(biāo)識(shí)符以及端口映射 412來選擇用于發(fā)送該包的端口。協(xié)議管理器410還可以將該包封裝在附件通信協(xié)議的命令內(nèi),例如,如上所述的TurmelToAcc命令。附件通信協(xié)議命令被發(fā)送給端口 414以供發(fā)送。 (雖然在圖4中僅示出了一個(gè)端口,但是將明白,移動(dòng)計(jì)算設(shè)備400可以具有多個(gè)端口。)圖5A-5C圖示出根據(jù)本發(fā)明一些實(shí)施例的將應(yīng)用協(xié)議消息封裝(包裝)在附件通信協(xié)議命令內(nèi)的示例。圖5A示出了附件協(xié)議分組500的一個(gè)示例。如圖所示,分組500 包括頭部502和凈荷504。附件通信協(xié)議例如可以指示頭部的大小以及什么信息可被設(shè)置在頭部502中。在一些實(shí)施例中,頭部502可以包括命令或字節(jié)代碼,命令或字節(jié)代碼可以指示什么被包含在凈荷中和/或?qū)⒗脙艉芍械臄?shù)據(jù)做什么。例如,在所示實(shí)施例中,頭部 502包括TurmelToAcc命令的命令代碼。頭部502還可以包括其他信息,例如指定凈荷504 的大小的信息。在一些實(shí)施例中,可選尾部506可被包括在分組500的結(jié)尾處;尾部可以包括可用來檢錯(cuò)或糾錯(cuò)的信息(例如,校驗(yàn)和)和/或所需要的其它信息。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,各種分組類型可被用在附件通信協(xié)議中。圖5B示出了應(yīng)用協(xié)議分組510的示例。在此示例中,應(yīng)用協(xié)議分組510包括頭部 512(應(yīng)用頭部)、凈荷514(應(yīng)用凈荷)和尾部516。各種其它分組類型、風(fēng)格、配置、凈荷、 信息區(qū)域等可被用在應(yīng)用協(xié)議分組中。實(shí)際上,應(yīng)用和/或附件可以使用如應(yīng)用開發(fā)者所設(shè)計(jì)、開發(fā)和/或創(chuàng)建的任何類型、大小、配置等的應(yīng)用協(xié)議分組而沒有限制;在一些實(shí)施例中,一些或所有應(yīng)用協(xié)議分組可以模仿附件通信協(xié)議分組(或者甚至不能通過內(nèi)容與附件通信協(xié)議分組區(qū)分開)。在一些實(shí)施例中,應(yīng)用協(xié)議分組可以包括或者可以不包括頭部。 在一些實(shí)施例中,應(yīng)用協(xié)議分組可以包括或可以不包括尾部。在一些實(shí)施例中,應(yīng)用協(xié)議分組可以包括具有固定大小或可變大小的凈荷514。在一些實(shí)施例中,命令、數(shù)據(jù)和/或其它消息元素可被設(shè)置在凈荷和/或頭部?jī)?nèi)。命令和/或數(shù)據(jù)和/或其它消息元素的具體特性可由應(yīng)用協(xié)議來指定。此外,應(yīng)用協(xié)議根本不需要使用用于消息的分組結(jié)構(gòu);附件協(xié)議消息可以具有能夠被接收者正確解釋的任何格式和/或結(jié)構(gòu)。圖5C示出了被封裝(或包裝)在附件協(xié)議分組520的凈荷504內(nèi)的應(yīng)用協(xié)議分組510的示例。如圖所示,分組520可以包括附件協(xié)議分組頭部502,其后跟隨有應(yīng)用協(xié)議分組510。在一些實(shí)施例中,頭部502可以包括指示凈荷是應(yīng)用協(xié)議分組的命令或字節(jié)代碼。在此示例中,應(yīng)用協(xié)議分組包括應(yīng)用協(xié)議分組頭部512、應(yīng)用協(xié)議分組凈荷514和應(yīng)用協(xié)議分組尾部516。應(yīng)用協(xié)議分組510可以或者可以不完全填滿附件協(xié)議分組520的凈荷 504。更一般地,用于TurmelToAcc命令的附件協(xié)議分組可以包括打算遞送給附件的任何數(shù)據(jù)包并且不局限于運(yùn)載單個(gè)附件協(xié)議分組。再次參考圖4,附件402例如在端口 422處接收附件協(xié)議TurmelToAcc命令分組。 端口 422可以將該TurmelToAcc命令分組路由到協(xié)議解釋器424,協(xié)議解釋器4M例如可以是運(yùn)行在附件402的控制器或其它處理器上的軟件處理。協(xié)議解釋器似4可以讀取該 TunnelToAcc命令,提取包含在其中的包,并且將包轉(zhuǎn)發(fā)給運(yùn)行在附件402的控制器或其它處理器上的另一處理426。處理似6可以包括能夠處理遵守應(yīng)用協(xié)議的所接收信息的任何處理。例如,處理似6可以包括從所接收信息提取指令并生成用于附件特定硬件(例如,圖 2的附件特定硬件27 的對(duì)應(yīng)控制信號(hào)的處理。從附件402到移動(dòng)計(jì)算設(shè)備400的通信也被支持。例如,處理似6可以生成與應(yīng)用協(xié)議中的消息相對(duì)應(yīng)的數(shù)據(jù)包并且將該包提供給協(xié)議解釋器424以被發(fā)送給移動(dòng)計(jì)算設(shè)備400。協(xié)議解釋器4 可以將該包封裝在附件通信協(xié)議的TurmelToAcc命令內(nèi)部(例如,類似于圖5A-5C所示的示例)并且將命令發(fā)送給端口 422以用于發(fā)送給移動(dòng)計(jì)算設(shè)備 400。在移動(dòng)計(jì)算設(shè)備400處,端口 414接收該TurmelToAcc命令分組并將其轉(zhuǎn)發(fā)給協(xié)議管理器410。協(xié)議管理器410識(shí)別該TunnelToAcc命令,并且響應(yīng)于該TunnelToAcc命令提取包,并將該包以及與該包相關(guān)聯(lián)的應(yīng)用協(xié)議和附件的標(biāo)識(shí)轉(zhuǎn)發(fā)給支持層408。在一些實(shí)施例中,協(xié)議管理器410可以基于遞送該TurmelToAcc命令的端口來確定這些標(biāo)識(shí)符;因此,TunnelToAcc命令無需提供附件或應(yīng)用協(xié)議的標(biāo)識(shí)。支持層408使用附件和附件協(xié)議標(biāo)識(shí)符來將包弓I導(dǎo)至?xí)?06的輸入流。應(yīng)用404 隨后可以從會(huì)話406的輸入流讀取到來數(shù)據(jù),根據(jù)應(yīng)用協(xié)議解釋該數(shù)據(jù)并且相對(duì)應(yīng)地作出響應(yīng)。因此,例如,應(yīng)用404可以是溫度計(jì)應(yīng)用并且附件402可以包括溫度計(jì)。應(yīng)用404 可以利用適當(dāng)?shù)膽?yīng)用協(xié)議(例如,名為“com. temprus. thermometer 1 ”的協(xié)議)從附件402 請(qǐng)求溫度測(cè)量。該應(yīng)用協(xié)議例如可以指定Get Temp (獲取溫度)命令,該命令由應(yīng)用發(fā)送來從附件請(qǐng)求溫度數(shù)據(jù)。應(yīng)用404可以創(chuàng)建例如包括Get Temp命令以及與該命令相關(guān)聯(lián)的任何優(yōu)選項(xiàng)或變量(例如,是以華氏度還是以攝氏度返回溫度數(shù)據(jù))的應(yīng)用協(xié)議分組。應(yīng)用 404可以創(chuàng)建具有如應(yīng)用協(xié)議所定義的合適頭部和/或尾部的分組。應(yīng)用404隨后可以將該分組作為應(yīng)用協(xié)議消息傳遞到會(huì)話406的輸出流中。會(huì)話406可以指導(dǎo)協(xié)議管理器410 發(fā)送指定了應(yīng)用協(xié)議是“com. temprus. thermometer 1 ”的附件協(xié)議隧道傳輸命令。協(xié)議管理器410可以將Get Temp命令封裝在附件通信協(xié)議的TurmelToAcc命令分組內(nèi),并且還可以查找應(yīng)用協(xié)議名稱并確定該應(yīng)用協(xié)議與端口 414相關(guān)聯(lián)。協(xié)議管理器410隨后可以將該 TunnelToAcc命令分組路由到端口 414以用于遞送給附件402。附件402可以在端口 422處接收該TurmelToAcc命令。協(xié)議解釋器4 可以提取 Get Temp命令分組并將其遞送給處理426,在此示例中,處理似6可以是控制溫度傳感器并從其接收數(shù)據(jù)的處理。因此,處理似6可以獲取將被返回給應(yīng)用404的溫度數(shù)據(jù)。為了發(fā)送數(shù)據(jù),處理似6例如可以生成遵守應(yīng)用協(xié)議的%11(1 Temp (發(fā)送溫度)命令分組。該分組可以包括被請(qǐng)求的溫度數(shù)據(jù)(例如,利用在Get Temp命令中指定的溫標(biāo))。處理似6可以將knd Temp命令分組作為包提供給協(xié)議解釋器424,該knd Temp命令分組帶有其應(yīng)當(dāng)被發(fā)送給移動(dòng)計(jì)算設(shè)備400的指示。協(xié)議解釋器4M可以將knd Temp命令分組封裝在附件通信協(xié)議的TunnelToHost命令內(nèi),并且端口 422可以將TunnelToHost命令傳輸給移動(dòng)計(jì)算設(shè)備400的端口 414。端口 414可以將到來的TurmelToHost命令遞送給協(xié)議管理器 410,協(xié)議管理器410可以提取包(在此情況中,為knd Temp命令分組)并將該包以及從端口映射412確定的該包與“com. temprus. thermometer Γ ’協(xié)議相關(guān)聯(lián)的信息提供給支持層408。支持層408隨后可以將該包引導(dǎo)至?xí)?06,具體地引導(dǎo)至?xí)?06的輸入流。應(yīng)用404可以從輸入流讀取該包,將其識(shí)別為遵守應(yīng)用協(xié)議的knd Temp命令分組,并且提取溫度數(shù)據(jù)。在一些實(shí)施例中,附件可以使用應(yīng)用協(xié)議以及附件通信協(xié)議的命令兩者來與附件通信。圖6圖示出了圖4的實(shí)施例中的附件通信協(xié)議的命令的路徑。除了經(jīng)由會(huì)話406發(fā)送應(yīng)用協(xié)議消息以外,應(yīng)用404還可以通過向支持層406作出適當(dāng)?shù)腁PI調(diào)用來調(diào)用附件協(xié)議命令,其可以指示協(xié)議管理器410經(jīng)由端口 414向附件402發(fā)送附件協(xié)議命令(這里被表示為“移動(dòng)計(jì)算設(shè)備ftOtCmdOut” )。類似地,從附件402接收的附件協(xié)議命令(在這里被表示為“移動(dòng)計(jì)算設(shè)備ftOtCmdln” )可由協(xié)議管理器410接收并處理,并且協(xié)議管理器可以將該命令傳輸給支持層406。支持層406進(jìn)而可以相應(yīng)地遵照應(yīng)用404行事。
22
在一些實(shí)施例中,應(yīng)用協(xié)議可以包括由附件通信協(xié)議指定的專門語言和/或命令。例如,附件通信協(xié)議可以定義允許用戶通過移動(dòng)計(jì)算設(shè)備來控制射頻調(diào)諧器附件的調(diào)諧器專門語言RFTimer。例如,RFTimer專門語言可以包括用于打開和關(guān)閉接收機(jī)、改變臺(tái)站等的命令。在一些實(shí)施例中,無線電調(diào)諧器應(yīng)用可以在移動(dòng)計(jì)算設(shè)備處運(yùn)行,并且在移動(dòng)計(jì)算設(shè)備處運(yùn)行的無線電調(diào)諧器應(yīng)用和無線電調(diào)諧器附件可以支持無線電調(diào)諧器應(yīng)用協(xié)議,該應(yīng)用協(xié)議允許無線電調(diào)諧器附件與無線電調(diào)諧器應(yīng)用通信。RFTimer專門語言的一些或所有命令可被用于無線電調(diào)諧器應(yīng)用協(xié)議,并且無線電調(diào)諧器應(yīng)用協(xié)議也可以包括其他命令(例如,控制預(yù)設(shè)的用戶喜歡的臺(tái)站列表的命令)。因此,無線電調(diào)諧器應(yīng)用可以使用RFTimer專門語言作為無線電調(diào)諧器應(yīng)用協(xié)議的一部分來與無線電調(diào)諧器附件通信(例如,用于改變臺(tái)站),并且還可以將無線電調(diào)諧器應(yīng)用協(xié)議的其它命令用于其它操作。移動(dòng)計(jì)算設(shè)備還可以使用RFTimer專門語言作為附件通信協(xié)議的一部分,獨(dú)立于應(yīng)用來與無線電調(diào)諧器附件通信。因此,無線電調(diào)諧器附件可以利用這兩種協(xié)議的任一種內(nèi)的單個(gè)專門語言來向移動(dòng)計(jì)算設(shè)備發(fā)送命令和/或消息。作為另一示例,RFTuner專門語言可以包括RFktFreq命令,該RFktFreq命令從移動(dòng)計(jì)算設(shè)備(例如,在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用)被發(fā)送來將無線電調(diào)諧器附件調(diào)諧為該命令中包括的頻率。無線電調(diào)諧器應(yīng)用可以創(chuàng)建具有如應(yīng)用協(xié)議所定義的合適頭部和 /或尾部的分組,并且將RFktFreq命令和所需頻率包括在分組凈荷中。該分組隨后可被發(fā)送給協(xié)議管理器,協(xié)議管理器可以將該分組與附件通信協(xié)議的命令(例如,如上所述的 TurmelToAcc命令)捆包到附件協(xié)議分組中。附件協(xié)議分組隨后可被發(fā)送給附件。作為另一示例,RFktFreq命令可以在沒有無線電調(diào)諧器附件并且不被隧道傳輸?shù)那闆r下使用。移動(dòng)計(jì)算設(shè)備可以將使用附件通信協(xié)議、使用RFktFreq命令和關(guān)聯(lián)頻率的分組作為獨(dú)立分組發(fā)送給附件。作為又一示例,附件可以利用應(yīng)用協(xié)議和/或附件通信協(xié)議中的任一者,使用 RFTuner專門語言來與移動(dòng)計(jì)算設(shè)備通信。例如,當(dāng)與移動(dòng)計(jì)算設(shè)備處的具體應(yīng)用通信時(shí), 附件可以使用TurmelToHost命令來將RFTuner命令隧道傳輸?shù)揭苿?dòng)計(jì)算設(shè)備。作為另一示例,附件可以發(fā)送RFTimer命令而不隧道傳輸給移動(dòng)計(jì)算設(shè)備。在另一實(shí)施例中,諸如揚(yáng)聲器塢座之類的附件可以提供對(duì)移動(dòng)計(jì)算設(shè)備上的媒體回放的遠(yuǎn)程控制。遠(yuǎn)程控制功能可以利用附件通信協(xié)議的命令來實(shí)現(xiàn);例如,附件通信協(xié)議可以包括由附件發(fā)送來標(biāo)識(shí)用戶調(diào)用的特定功能(例如,播放、暫停、下一首、前一首等)的 Buttor^tatus (按鈕狀態(tài))命令。移動(dòng)計(jì)算設(shè)備可以具有用于所存儲(chǔ)媒體的回放引擎,該回放引擎可以處理Buttor^tatus命令并且相應(yīng)地作出響應(yīng)。在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用可以提供對(duì)例如來自因特網(wǎng)數(shù)據(jù)流的其它媒體源的回放。希望用戶能夠通過以用戶控制所存儲(chǔ)媒體的回放相同的方式來操作附件從而遠(yuǎn)程地控制流傳輸內(nèi)容的回放。因此,可以定義“流傳輸控制”應(yīng)用協(xié)議,其包括控制流傳輸內(nèi)容的回放的命令或其它控制信號(hào)。用戶完全可以以控制所存儲(chǔ)媒體內(nèi)容或流傳輸媒體內(nèi)容中的任一者的回放相同的方式來操作附件。如果所存儲(chǔ)內(nèi)容正被播放,則附件可以利用附件通信協(xié)議(例如,ButtonStatus命令) 將遠(yuǎn)程控制信息傳輸給回放引擎。如果流傳輸內(nèi)容正被播放,則附件可以利用流傳輸控制應(yīng)用協(xié)議來將遠(yuǎn)程控制信息傳輸給應(yīng)用。在一個(gè)實(shí)施例中,附件通信協(xié)議的Buttor^tatus 命令可被結(jié)合到流傳輸控制應(yīng)用協(xié)議中。
23
在又一實(shí)施例中,附件可以向移動(dòng)計(jì)算設(shè)備發(fā)送位置信息。位置信息可以包括表示附件和/或移動(dòng)計(jì)算設(shè)備的位置的任何信息并且可以利用各種方式來確定,例如利用全球定位系統(tǒng)(GPQ接收機(jī)和/或基于與附近移動(dòng)電話網(wǎng)絡(luò)接入點(diǎn)有關(guān)的信息對(duì)位置進(jìn)行三角測(cè)量。附件通信協(xié)議可以提供可由附件用來向移動(dòng)計(jì)算設(shè)備發(fā)送位置信息的“位置”專門語言。然而,應(yīng)用可使用不是以位置專門語言提供的位置信息。這樣的信息可由附件利用特定于附件的協(xié)議發(fā)送給該應(yīng)用。因此,取決于位置信息將如何被使用,同一附件可以利用附件通信協(xié)議的位置專門語言或特定于附件的協(xié)議來將位置信息發(fā)送給移動(dòng)計(jì)算設(shè)備。將理解,這里描述的通信路徑是說明性的,并且變更和修改是可以的。例如,路徑可以在附件和/或移動(dòng)計(jì)算設(shè)備側(cè)包括更多或更少的層。在一些實(shí)施例中,每個(gè)移動(dòng)計(jì)算設(shè)備隧道傳輸分組將包含一個(gè)附件協(xié)議消息,但這不是必須的。例如,如果接收者(根據(jù)情況可能為附件或應(yīng)用)能夠從多個(gè)所接收數(shù)據(jù)包重構(gòu)消息,則單個(gè)附件協(xié)議消息可以利用多個(gè)移動(dòng)計(jì)算設(shè)備隧道傳輸分組被發(fā)送。類似地,如果接收者能夠?qū)馕鰹槎鄠€(gè)消息,則單個(gè)移動(dòng)計(jì)算設(shè)備隧道傳輸分組可被允許包含多個(gè)附件協(xié)議消息。在描述圖4時(shí),假定了應(yīng)用404已經(jīng)與兼容附件402建立了會(huì)話406?,F(xiàn)在將描述使得應(yīng)用能夠標(biāo)識(shí)兼容附件(或反之)并建立會(huì)話的技術(shù)的示例。圖7是根據(jù)本發(fā)明實(shí)施例的用于標(biāo)識(shí)附件和兼容應(yīng)用的處理700的流程圖。處理 700可以開始于塊702。在塊704,移動(dòng)計(jì)算設(shè)備可以判斷附件是否已被連接。例如,移動(dòng)計(jì)算設(shè)備可以檢測(cè)附件是否物理地與連接器相耦合(例如,如圖IA所示)或者附件是否無線地與移動(dòng)計(jì)算設(shè)備相耦合(例如,如圖IB所示)。如上面提到的,可以認(rèn)為每當(dāng)移動(dòng)計(jì)算設(shè)備與附件之間的有線或無線通信信道開通時(shí)附件就被連接上,并且塊704可以包括檢測(cè)這樣的信道的開通。在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用管理器可以監(jiān)視硬件連接或通信模塊以判斷移動(dòng)計(jì)算設(shè)備與附件之間的通信信道是否開通。在塊706,移動(dòng)計(jì)算設(shè)備可以接收來自附件的應(yīng)用協(xié)議信息。在一些實(shí)施例中,該信息可以利用由附件通信協(xié)議定義的分組來傳輸。在其它實(shí)施例中,可以以附件和移動(dòng)計(jì)算使設(shè)備中的任一者或兩者理解的方式來傳輸應(yīng)用協(xié)議信息。例如,可以利用諸如USB協(xié)議、藍(lán)牙協(xié)議或WiFi協(xié)議之類的任何產(chǎn)業(yè)標(biāo)準(zhǔn)通信協(xié)議來傳輸應(yīng)用協(xié)議信息。例如,附件通信協(xié)議可以指定附件可發(fā)送給移動(dòng)計(jì)算設(shè)備以提供關(guān)于其自身及其能力的信息的一個(gè)或多個(gè)命令以及關(guān)聯(lián)數(shù)據(jù)格式;在一些實(shí)施例中,這些命令可以是附件通信協(xié)議的一般專門語言的一部分。由附件提供的信息可以包括附件所支持的(一個(gè)或多個(gè))應(yīng)用通信協(xié)議的(一個(gè)或多個(gè))名稱的文本串。例如可利用如上所述的反向域名協(xié)定或任何其它所希望的命名協(xié)定來指定名稱。附件還可以發(fā)送其它標(biāo)識(shí)信息。例如,附件可以發(fā)送標(biāo)識(shí)其類型; 制造商;型號(hào)名稱;序列號(hào);硬件、軟件和/或固件版本;等的信息。附件還可以發(fā)送指示其能夠使用或希望使用的移動(dòng)計(jì)算設(shè)備的能力的信息。例如,附件可以指定其可使用附件通信協(xié)議的哪種專門語言、其是從移動(dòng)計(jì)算設(shè)備接收音頻和/或視頻信號(hào)還是向移動(dòng)計(jì)算設(shè)備提供音頻和/或視頻信號(hào)、移動(dòng)計(jì)算設(shè)備的優(yōu)選初始操作狀態(tài)(例如,音頻和/或視頻信號(hào)交換最初是應(yīng)當(dāng)被使能還是被禁用、音頻和/或視頻信號(hào)的優(yōu)選格式)等等。在其它實(shí)施例中,可以通過查閱應(yīng)用商店或通過因特網(wǎng)從服務(wù)器指定應(yīng)用協(xié)議。 例如,當(dāng)附件與移動(dòng)計(jì)算設(shè)備相耦合時(shí),移動(dòng)計(jì)算設(shè)備可以從應(yīng)用商店和/或通過因特網(wǎng)從服務(wù)器請(qǐng)求應(yīng)用協(xié)議信息。在一個(gè)實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以將諸如附件制造商、型號(hào)名稱和/或序列號(hào)之類的附件標(biāo)識(shí)信息發(fā)送給應(yīng)用商店或其它服務(wù)器并且作為響應(yīng)接收應(yīng)用協(xié)議信息。從附件發(fā)送來的應(yīng)用協(xié)議信息例如可以包括應(yīng)用協(xié)議名稱;指定了各種應(yīng)用協(xié)議命令、消息和/或分組規(guī)范的文件;與應(yīng)用協(xié)議兼容的附件的列表;與應(yīng)用協(xié)議兼容的應(yīng)用的列表;可下載應(yīng)用或應(yīng)用更新的網(wǎng)絡(luò)位置的指示;等等。應(yīng)用協(xié)議信息可以以元數(shù)據(jù)格式被發(fā)送。在一些實(shí)施例中,可通過應(yīng)用商店或因特網(wǎng)來獲得應(yīng)用協(xié)議的各種版本。 例如,應(yīng)用協(xié)議的不同版本可允許各種功能水平并且可以不同價(jià)格被提供用于移動(dòng)計(jì)算設(shè)備。例如,可使得能夠獲得“簡(jiǎn)化”版、免費(fèi)版、完全版、展示版等。例如,完全版可以定義可由移動(dòng)計(jì)算設(shè)備和/或附件使用的命令集,而簡(jiǎn)化版定義完全版所定義的命令的子集。在一些實(shí)施例中,當(dāng)應(yīng)用協(xié)議被傳輸給移動(dòng)計(jì)算設(shè)備時(shí)可以被計(jì)數(shù)。附件可以利用與每個(gè)應(yīng)用有關(guān)的某種類型的指示或者索引號(hào)來標(biāo)識(shí)每個(gè)所支持應(yīng)用協(xié)議。例如,附件可以發(fā)送指示索引1是應(yīng)用協(xié)議1、索引2是應(yīng)用協(xié)議2以及索引3是應(yīng)用協(xié)議3的消息。 可以利用任何類型的指示,例如利用反向域名協(xié)定來指示每個(gè)應(yīng)用協(xié)議。以后可以利用它們的索引號(hào)來查閱這些協(xié)議。這樣的計(jì)數(shù)可被用在在整個(gè)本公開中描述的實(shí)施例中。在塊708,移動(dòng)計(jì)算設(shè)備可以根據(jù)附件通信協(xié)議利用認(rèn)證過程來認(rèn)證附件。這些過程例如可以包括基于存儲(chǔ)在移動(dòng)計(jì)算設(shè)備中的公鑰證書和由各個(gè)附件持有的私鑰的認(rèn)證技術(shù)和/或其它技術(shù)。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以在連接和標(biāo)識(shí)時(shí)(例如,在塊 706之后)來認(rèn)證每個(gè)附件。在其它實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以在塊706的認(rèn)證之前或期間來認(rèn)證每個(gè)附件,并且在其它實(shí)施例中,認(rèn)證可以在本處理的稍后時(shí)間發(fā)生或者根本不發(fā)生。例如,在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備準(zhǔn)許與附件通信協(xié)議相關(guān)聯(lián)的某些特征和/ 或操作僅由經(jīng)過認(rèn)證的附件訪問;這樣的“受約束訪問”特征可以包括與附件協(xié)議命令(例如,上述隧道傳輸命令可以是受約束訪問命令)的傳輸有關(guān)的特征。移動(dòng)計(jì)算設(shè)備可以等待直到附件試圖使用受約束訪問特征才對(duì)附件進(jìn)行認(rèn)證,或者移動(dòng)計(jì)算設(shè)備可以在接收到指示附件將要或可能試圖使用受約束訪問特征的信息之后的任何時(shí)間對(duì)附件進(jìn)行認(rèn)證。在塊710,移動(dòng)計(jì)算設(shè)備隨后可以利用在塊706處提供的應(yīng)用協(xié)議信息來創(chuàng)建和/ 或更新“相連”應(yīng)用協(xié)議列表。例如,參考圖3,端口映射325和/或附件信息表330可被更新為將新連接附件及其(一個(gè)或多個(gè))應(yīng)用協(xié)議與端口相關(guān)聯(lián)。在塊706處提供的任何附件標(biāo)識(shí)信息都可被移動(dòng)計(jì)算設(shè)備存儲(chǔ)在相連應(yīng)用協(xié)議列表中。相連協(xié)議列表的一個(gè)示例在圖8中被示為表820。表820列出了當(dāng)前相連附件與附件連接到的端口相關(guān)聯(lián)地被標(biāo)識(shí)的每個(gè)應(yīng)用協(xié)議。(因此,表820可以是圖3的端口映射325的示例)。將明白,表820的格式和信息內(nèi)容可以按需改變。再次參考圖7,在塊712,移動(dòng)計(jì)算設(shè)備可以判斷使用與附件相關(guān)聯(lián)的(一個(gè)或多個(gè))應(yīng)用協(xié)議的應(yīng)用是否可用(這樣的應(yīng)用在此被稱為“兼容的”應(yīng)用)。例如,移動(dòng)計(jì)算設(shè)備可以存儲(chǔ)所支持的應(yīng)用協(xié)議的表,其中每個(gè)協(xié)議被與支持它的一個(gè)應(yīng)用(或多個(gè)應(yīng)用) 相關(guān)聯(lián)。所支持應(yīng)用協(xié)議表的一個(gè)示例在圖8中被示為表810。表810包括應(yīng)用協(xié)議名稱的列表,并且每個(gè)應(yīng)用協(xié)議名稱被與一個(gè)或多個(gè)應(yīng)用的標(biāo)識(shí)符相關(guān)聯(lián)。在一些實(shí)施例中,表 810可被實(shí)現(xiàn)為查找表,該查找表可利用應(yīng)用協(xié)議的名稱被訪問以返回應(yīng)用標(biāo)識(shí)符;表810 還可以利用應(yīng)用標(biāo)識(shí)符來訪問以返回與特定應(yīng)用相關(guān)聯(lián)的應(yīng)用協(xié)議列表。在一些實(shí)施例中,表810僅包括與當(dāng)前運(yùn)行的應(yīng)用相關(guān)聯(lián)的應(yīng)用協(xié)議。例如,當(dāng)應(yīng)用啟動(dòng)時(shí),其可以利用其需要和/或可使用的任何應(yīng)用協(xié)議的列表來提供移動(dòng)計(jì)算設(shè)備(例如,圖3的支持層315)的系統(tǒng)處理。移動(dòng)計(jì)算設(shè)備系統(tǒng)處理因此可以更新表810。在其它實(shí)施例中,表810可以是針對(duì)安裝在移動(dòng)計(jì)算設(shè)備上的所有應(yīng)用被維護(hù)的永久表。例如,安裝(或更新)應(yīng)用可以包括向移動(dòng)計(jì)算設(shè)備(例如支持層315)的系統(tǒng)處理通知應(yīng)用需要和/或能夠使用的任何應(yīng)用協(xié)議;移動(dòng)計(jì)算設(shè)備因此可以更新表810。在一些實(shí)施例中,當(dāng)附件與移動(dòng)計(jì)算設(shè)備相耦合時(shí),附件例如可以通過利用與附件通信協(xié)議相關(guān)聯(lián)的附件標(biāo)識(shí)專門語言來發(fā)送標(biāo)識(shí)信息從而標(biāo)識(shí)其自身。標(biāo)識(shí)信息可由移動(dòng)計(jì)算設(shè)備用來例如通過查閱表810來選擇適當(dāng)?shù)膽?yīng)用通信協(xié)議。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以通過因特網(wǎng)將附件標(biāo)識(shí)信息發(fā)送給應(yīng)用商店和/或服務(wù)器以標(biāo)識(shí)與附件兼容的應(yīng)用通信協(xié)議。在一些實(shí)施例中,應(yīng)用商店和/或服務(wù)器可以發(fā)送詳述了與附件兼容的應(yīng)用通信協(xié)議的文件。在一些實(shí)施例中,附件可以不將應(yīng)用協(xié)議信息發(fā)送給移動(dòng)計(jì)算設(shè)備,而是附件可以發(fā)送隨后由移動(dòng)計(jì)算使設(shè)備使用來選擇合適的應(yīng)用通信協(xié)議的附件標(biāo)識(shí) fn息ο再次參考圖7的塊712,在所支持應(yīng)用協(xié)議表(例如,圖8的表810)被提供的實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以通過利用新連接附件的協(xié)議名稱訪問所支持協(xié)議表來判斷兼容應(yīng)用是否可用。例如,如圖8所示,如果新連接附件提供protocolMringlc}作為其應(yīng)用協(xié)議標(biāo)識(shí)符,則處理700的塊712可以包括在所支持協(xié)議表810中查找protocolStringlc}, 并且由此判定應(yīng)用“App8”與該應(yīng)用協(xié)議相關(guān)聯(lián)。在此情況中,塊712將得出應(yīng)用可用的判定。如圖8進(jìn)一步示出的,如果新連接附件提供protocolMringk}作為其應(yīng)用協(xié)議,則在表810中找不到匹配,并且處理700的塊712將得出沒有兼容應(yīng)用可用的判定。如果沒有兼容應(yīng)用可用,則處理700可以在塊714中輔助定位并獲得兼容應(yīng)用。例如,移動(dòng)計(jì)算設(shè)備可以將用戶指引向應(yīng)用商店(例如,由蘋果公司提供的iTunes 商店)或用于購買和/或下載應(yīng)用的其它資源。各種類型的輔助可被提供。例如,在一些實(shí)施例中, 在塊706中提供給移動(dòng)計(jì)算設(shè)備的附件信息可以包括用于附件的優(yōu)選應(yīng)用的標(biāo)識(shí)符。該標(biāo)識(shí)符可以是特定應(yīng)用商店中的優(yōu)選應(yīng)用的唯一產(chǎn)品標(biāo)識(shí)符、URL(統(tǒng)一資源定位符,例如萬維網(wǎng)地址)等等。移動(dòng)計(jì)算設(shè)備可以利用該信息來定位優(yōu)選應(yīng)用并且提示以后購買和/或下載該應(yīng)用。在其它實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以使用應(yīng)用協(xié)議信息并利用或不利用其它附件標(biāo)識(shí)信息,例如在應(yīng)用商店內(nèi)搜索兼容應(yīng)用。例如,如圖9所示,移動(dòng)計(jì)算設(shè)備可以利用相連應(yīng)用協(xié)議中的一個(gè)或多個(gè)和/或附件所提供的優(yōu)選應(yīng)用的標(biāo)識(shí)符(被表示為appCode 830)來制定查詢825。移動(dòng)計(jì)算設(shè)備可以將查詢825發(fā)送給與應(yīng)用商店或另一目的地處的搜索相關(guān)聯(lián)的URL 840。在所示示例中,該查詢包括所有相連應(yīng)用協(xié)議(通過邏輯“或”操作符相鏈接)的列表以及優(yōu)選應(yīng)用的appCode 830。在多個(gè)應(yīng)用與該查詢相匹配的情況中, 優(yōu)選應(yīng)用830可由應(yīng)用商店用來高亮該優(yōu)選應(yīng)用(假定其在匹配列表上)。因此,即使支持相連協(xié)議列表820中的一個(gè)或多個(gè)應(yīng)用協(xié)議的多個(gè)應(yīng)用可被列出,優(yōu)選應(yīng)用830也可以是默認(rèn)應(yīng)用并且例如可以如此被列出在結(jié)果列表的頂部和/或利用用于將其標(biāo)識(shí)為優(yōu)選的符號(hào)、詞語或標(biāo)志被標(biāo)記。在一些實(shí)施例中,可以向優(yōu)選應(yīng)用的多于一個(gè)版本提供排名,以使得可以向用戶呈現(xiàn)分級(jí)列表。例如,優(yōu)選應(yīng)用的專業(yè)版(pro version)、標(biāo)準(zhǔn)版和/或免費(fèi)版都可被提供。響應(yīng)于查詢,應(yīng)用商店可以返回一個(gè)或多個(gè)兼容應(yīng)用的列表,并且移動(dòng)計(jì)算設(shè)備可以提示用戶選擇兼容應(yīng)用進(jìn)行下載。在一些實(shí)施例中,應(yīng)用可以在下載后立即被安裝;在其它實(shí)施例中,可以分開地提示用戶下載并且然后安裝應(yīng)用。在其它實(shí)施例中,可能需要用戶購買該應(yīng)用。在一些實(shí)施例中,可以利用信用卡和/或經(jīng)由先前建立的賬戶來通過應(yīng)用商店進(jìn)行購買。在其它實(shí)施例中,兼容應(yīng)用可以預(yù)先存儲(chǔ)在附件本身上,并且附件通信協(xié)議可以包括允許附件指示其存儲(chǔ)有兼容應(yīng)用的命令;響應(yīng)于這樣的指示,移動(dòng)計(jì)算設(shè)備可以從附件上載該兼容應(yīng)用并安裝它。(在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以在上載和/或安裝附件提供的應(yīng)用之前提示用戶進(jìn)行批準(zhǔn)。再次參考圖7,在塊716,判斷兼容應(yīng)用現(xiàn)在是否可用并被安裝。(例如,兼容應(yīng)用可能尚未被定位到或者用戶可能選擇不購買或下載它。)如果為否定的,則處理700可以在塊718處結(jié)束。如果在塊716中兼容應(yīng)用可用(先前安裝的或者剛經(jīng)由塊714安裝的),則在塊 72處,移動(dòng)計(jì)算設(shè)備可以判斷該兼容應(yīng)用是否已經(jīng)運(yùn)行。如果尚未運(yùn)行,則可以在塊722處啟動(dòng)該應(yīng)用。取決于實(shí)施方式,塊722可以包括提示用戶確認(rèn)應(yīng)用應(yīng)當(dāng)被啟動(dòng)。在塊724,應(yīng)用可以與附件通信。在一些實(shí)施例中,塊7 可以包括創(chuàng)建會(huì)話并經(jīng)由該會(huì)話發(fā)送和/或接收應(yīng)用協(xié)議命令,例如如上所述的。塊7M還可以包括利用附件通信協(xié)議來發(fā)送和/或接收命令以及其它信息。因此,相同的應(yīng)用和附件可以使用該附件通信協(xié)議所支持的功能并且還可以利用可能與或可能不與附件通信協(xié)議所支持的功能相重疊的應(yīng)用協(xié)議來交換其它信息、控制信號(hào)、數(shù)據(jù)等。通信可以不限期地持續(xù),例如直到附件從移動(dòng)計(jì)算使設(shè)備斷開連接和/或應(yīng)用存在為止。此時(shí),處理700可以結(jié)束(塊718)。處理700可以利用移動(dòng)計(jì)算設(shè)備處的硬件、軟件和/或固件來實(shí)現(xiàn)。例如,系統(tǒng)處理和/或應(yīng)用可以運(yùn)行來控制移動(dòng)計(jì)算設(shè)備的功能以執(zhí)行上面描述的動(dòng)作。在一些實(shí)施例中,即使在附件斷開連接之后,移動(dòng)計(jì)算設(shè)備也可以維護(hù)曾經(jīng)連接到該移動(dòng)計(jì)算設(shè)備的任何附件所支持的所有或多個(gè)應(yīng)用協(xié)議的永久列表。當(dāng)移動(dòng)計(jì)算設(shè)備與應(yīng)用商店通信時(shí),移動(dòng)計(jì)算設(shè)備可以將該永久列表上的一些或所有協(xié)議提供給應(yīng)用商店 (例如,作為針對(duì)宿留該應(yīng)用商店的服務(wù)器的搜索查詢),并且應(yīng)用商店可以基于該列表來建議用戶可能感興趣的應(yīng)用。例如,應(yīng)用商店可以標(biāo)識(shí)出使用(一個(gè)或多個(gè))相同應(yīng)用協(xié)議的其它應(yīng)用。如果永久列表還包括標(biāo)識(shí)與每個(gè)應(yīng)用協(xié)議相關(guān)聯(lián)的特定附件的信息,則由應(yīng)用商店提供的信息可以將特定附件標(biāo)識(shí)為與所標(biāo)識(shí)應(yīng)用兼容。這可以輔助用戶選擇要購買和/或下載的應(yīng)用。圖10是根據(jù)本發(fā)明實(shí)施例的可由應(yīng)用運(yùn)行來開始與附件的通信的處理1000的流程圖。處理1000例如可以在移動(dòng)計(jì)算設(shè)備上的應(yīng)用被啟動(dòng)時(shí)開始(塊1002)。例如,用戶可以手動(dòng)地啟動(dòng)應(yīng)用或者可以由移動(dòng)計(jì)算設(shè)備響應(yīng)于附件連接自動(dòng)地啟動(dòng)應(yīng)用(例如,如上面參考圖7所述的)。在塊1004,應(yīng)用進(jìn)行檢查以判斷兼容附件是否被連接。(如這里使用的,如果附件支持特定應(yīng)用所需的和/或可使用的應(yīng)用協(xié)議,則該附件與該應(yīng)用“兼容”。)例如,在移動(dòng)計(jì)算設(shè)備維護(hù)諸如圖8的表820之類的相連附件表的實(shí)施例中,應(yīng)用可以利用所需應(yīng)用協(xié)議的名稱來查詢?cè)摫硪耘袛嗉嫒莞郊欠癖贿B接。該查詢例如可以包括調(diào)用API功能調(diào)用來與支持層(例如,圖3的支持層315)通信。
如果在塊1006處兼容附件未被連接,則應(yīng)用可以在塊1008處等待某個(gè)時(shí)間量并且然后再試。如果例如超時(shí)時(shí)段已到,則處理1000在塊1020處結(jié)束。在一些實(shí)施例中,當(dāng)在塊1008處等待時(shí),應(yīng)用可以向用戶生成用于提示用戶連接兼容附件的消息。在一些實(shí)施例中,應(yīng)用可以向移動(dòng)計(jì)算設(shè)備系統(tǒng)服務(wù)注冊(cè)并且請(qǐng)求在兼容附件變得可用時(shí)被通知,而不是重復(fù)檢查。在其它實(shí)施例中,如果兼容附件未被連接,則應(yīng)用可以退出并且還可向用戶通知除非兼容附件被連接否則應(yīng)用不會(huì)運(yùn)行,或者應(yīng)用可以以減少的功能來運(yùn)行。如果在塊1010處檢測(cè)到兼容附件,則應(yīng)用可以發(fā)起與該附件的會(huì)話。例如,附件可以調(diào)用支持層408的API調(diào)用(參見圖4)或應(yīng)用管理器(參見圖14)來創(chuàng)建與特定附件和應(yīng)用協(xié)議相關(guān)聯(lián)的會(huì)話(例如,圖4的會(huì)話406)。在圖10中由塊1012代表的會(huì)話可以無限期地持續(xù)。如上所述,在會(huì)話期間,應(yīng)用可以利用與該會(huì)話相關(guān)聯(lián)的應(yīng)用協(xié)議來發(fā)送和/或接收消息(例如,控制信號(hào)、數(shù)據(jù)、狀態(tài)和/或其它信息),并且就所需功能在附件通信協(xié)議內(nèi)得到支持而言,應(yīng)用還可以利用附件通信協(xié)議來發(fā)送和/或接收消息。會(huì)話最終可以結(jié)束。例如,在塊1014,應(yīng)用可以判定會(huì)話應(yīng)當(dāng)被結(jié)束(例如,響應(yīng)于退出應(yīng)用或指示不再使用該附件的用戶指令)并且可以響應(yīng)于這樣的判定在塊1016處終止會(huì)話。作為另一示例,在塊1018,應(yīng)用可被通知附件已斷開連接;這也可以導(dǎo)致塊1016 處的會(huì)話終止。塊1016處的會(huì)話終止例如可以包括調(diào)用API調(diào)用來解除或關(guān)閉會(huì)話對(duì)象并且釋放關(guān)聯(lián)資源。例如,在針對(duì)附件與應(yīng)用協(xié)議的給定組合僅準(zhǔn)許一次一個(gè)會(huì)話的實(shí)施例中,會(huì)話終止可以發(fā)信號(hào)向移動(dòng)計(jì)算設(shè)備通知附件及其協(xié)議現(xiàn)在可用在例如與不同應(yīng)用的另一會(huì)話中。在一些實(shí)施例中,終止會(huì)話可使附件斷開連接(例如,移動(dòng)計(jì)算設(shè)備可以關(guān)閉端口);在其它實(shí)施例中,附件可以在會(huì)話終止之后保持連接;并且在其它實(shí)施例中,應(yīng)用可以就在會(huì)話終止時(shí)是否使附件斷開連接向移動(dòng)計(jì)算設(shè)備系統(tǒng)服務(wù)做出指示。一旦會(huì)話終止,處理1000就可結(jié)束。在一些實(shí)施例中,如果在會(huì)話終止之后應(yīng)用仍然運(yùn)行,則處理1000可以返回塊1004以尋找兼容附件并開始新的會(huì)話。將理解,這里描述的附件通信協(xié)議是說明性的并且變更和修改是可以的。順序地被描述的動(dòng)作可以并行地被運(yùn)行,動(dòng)作的順序可被修改,和/或動(dòng)作可被添加、省略或組
I=I O在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以支持到多個(gè)附件的同時(shí)連接和/或多個(gè)應(yīng)用的同時(shí)運(yùn)行。因此,單個(gè)應(yīng)用可以同時(shí)與多個(gè)附件交互或者單個(gè)附件可以同時(shí)與多個(gè)應(yīng)用交互。例如,圖11圖示出了根據(jù)本發(fā)明一些實(shí)施例的同時(shí)與附件A 1106和附件B 1108 交互的移動(dòng)計(jì)算設(shè)備1102上的應(yīng)用1100。附件A 1106和附件B 1108可以是不同類型的附件,或者他們可以是類似的或者甚至相同的附件。在此示例中,每個(gè)附件連接到不同端口 ;因此,附件A 1106連接到端口 1110,并且附件B 1108連接到端口 1112。應(yīng)用1110已創(chuàng)建了兩個(gè)會(huì)話1114、1116。會(huì)話1112與附件1104相關(guān)聯(lián)并且使用應(yīng)用協(xié)議Al,而會(huì)話 1114與附件A 1106相關(guān)聯(lián)并且使用應(yīng)用協(xié)議Bi。會(huì)話1112和1114彼此獨(dú)立;任一者可在不影響另一者的情況下被發(fā)起、使用和/或終止。在一些實(shí)施例中,會(huì)話可以是特定于協(xié)議的。端口 1110可以使用附件通信協(xié)議來為遵守協(xié)議Al的消息提供“隧道”以在移動(dòng)計(jì)算設(shè)備1102與附件1106之間傳遞,并且端口 1112可以使用(相同)附件通信協(xié)議來為遵守協(xié)議Bl的消息提供分離的隧道以在移動(dòng)計(jì)算設(shè)備1102與附件1108之間傳遞。將明白,根據(jù)需要,應(yīng)用協(xié)議Al和Bl可以是不同協(xié)議或相同協(xié)議。此外,雖然示出了兩個(gè)附件和兩個(gè)會(huì)話,但是只要移動(dòng)計(jì)算設(shè)備上有足夠的硬件和/或軟件資源(例如,端口和/或會(huì)話) 可用,就可按這里描述的方式將任意數(shù)目的附件和會(huì)話與特定應(yīng)用相連。圖12圖示出根據(jù)本發(fā)明一些實(shí)施例的在移動(dòng)計(jì)算設(shè)備1204上運(yùn)行并且同時(shí)與附件A 1206和附件B 1208交互的兩個(gè)應(yīng)用,S卩,應(yīng)用11200和應(yīng)用21202。附件A 1206和附件B 1208可以是不同類型的附件,或者它們可以是類似的或者甚至相同的附件。在此示例中,每個(gè)附件被連接在不同端口上;因此,附件A 1206連接到端口 1210,并且附件B 1208 連接到端口 1212。應(yīng)用11200已創(chuàng)建了與附件A 1206和應(yīng)用協(xié)議Al相關(guān)聯(lián)的會(huì)話1214, 并且應(yīng)用21202已創(chuàng)建了與附件B 1208和應(yīng)用協(xié)議Bl相關(guān)聯(lián)的會(huì)話1216。會(huì)話1212和會(huì)話1214彼此獨(dú)立;任一者可在不影響另一者的情況下被發(fā)起、使用和/或終止。端口 1210 可以使用附件通信協(xié)議來為遵守應(yīng)用協(xié)議Al的消息提供“隧道”以在移動(dòng)計(jì)算設(shè)備1204與附件1106之間傳遞,并且端口 1212可以使用(相同)附件通信協(xié)議來為遵守應(yīng)用協(xié)議Bl 的消息提供分離的隧道以在移動(dòng)計(jì)算設(shè)備1204與附件1208之間傳遞。與如11 一樣,將明白,根據(jù)需要,應(yīng)用協(xié)議Al和Bl可以是不同協(xié)議或相同協(xié)議。此外,雖然示出了兩個(gè)附件、 兩個(gè)應(yīng)用和兩個(gè)會(huì)話,但是只要移動(dòng)計(jì)算設(shè)備上有足夠的硬件和/或軟件資源(例如,端口和/或會(huì)話)可用,就可按這里描述的方式同時(shí)支持任意數(shù)目的附件、會(huì)話和/或應(yīng)用。圖13圖示出根據(jù)本發(fā)明一些實(shí)施例的在移動(dòng)計(jì)算設(shè)備1304上運(yùn)行并且同時(shí)與附件1306交互的兩個(gè)應(yīng)用,S卩,應(yīng)用11300和應(yīng)用21302。在此示例中,附件1306支持兩個(gè)不同應(yīng)用協(xié)議(Al和A2)。協(xié)議Al和A2可以僅名稱不同,或者它們可以是兩個(gè)不同的、可能不兼容的協(xié)議。附件1306在與協(xié)議Al相關(guān)聯(lián)的端口 1310上被連接到移動(dòng)計(jì)算設(shè)備1304, 并且也在與協(xié)議A2相關(guān)聯(lián)的端口 1312上被連接到移動(dòng)計(jì)算設(shè)備1304。應(yīng)用11300已創(chuàng)建了與附件1306和應(yīng)用協(xié)議Al相關(guān)聯(lián)的會(huì)話1314,并且因此可以經(jīng)由端口 1310與附件 1306通信。類似地,應(yīng)用21302已創(chuàng)建了與附件1306和應(yīng)用協(xié)議A2相關(guān)聯(lián)的會(huì)話1316, 并且因此可以經(jīng)由端口 1312與附件1306通信。會(huì)話1312和會(huì)話1314彼此獨(dú)立;任一者可在不影響另一者的情況下被發(fā)起、使用和/或終止。端口 1310可以使用附件通信協(xié)議來為遵守應(yīng)用協(xié)議Al的消息提供隧道以在移動(dòng)計(jì)算設(shè)備1304與附件1306之間傳遞,并且端口 1312可以使用(相同)附件通信協(xié)議來為遵守應(yīng)用協(xié)議A2的消息提供分離的隧道以在移動(dòng)計(jì)算設(shè)備1304與附件1306之間傳遞。雖然示出了兩個(gè)應(yīng)用和兩個(gè)會(huì)話,但是只要移動(dòng)計(jì)算設(shè)備上有足夠的硬件和/或軟件資源(例如,端口和/或會(huì)話)可用,就可按這里描述的方式將任意數(shù)目的附件、會(huì)話和/或應(yīng)用同時(shí)連接到同一附件。將理解,圖11-13的系統(tǒng)配置是說明性的并且變更和修改是可以的。例如,可以利用任意數(shù)目的會(huì)話和端口來將任意數(shù)目的應(yīng)用和任意數(shù)目的附件相連接。如上所述,會(huì)議可以是軟件實(shí)體,其向應(yīng)用隱藏物理連接的細(xì)節(jié)(例如,端口等)。因此,應(yīng)用不必知道兼容附件為了與之通信而連接到的端口。此外,通信路徑還可以包括其他中間層(例如,如上所述的協(xié)議管理器和/或協(xié)議后臺(tái)程序?qū)?。應(yīng)用管理器可用來抽象化應(yīng)用與通信端口之間的通信連接,以使得通信協(xié)議的詳情對(duì)于應(yīng)用程序來說是透明的。在一些實(shí)施例中,當(dāng)通信連接被抽象化時(shí),應(yīng)用程序可以通過向輸出流寫入數(shù)據(jù)并從輸入流讀取數(shù)據(jù)來與附件通信,而無需知道其正與其通信的附件的細(xì)節(jié)。這可以利用應(yīng)用管理器來進(jìn)行。
在一些實(shí)施例中,應(yīng)用管理器可以包括圖4所示的支持層408或協(xié)議管理器410 的部分或者由其來實(shí)現(xiàn)。圖14圖示出了這樣的抽象化的示例。該圖示出了在根據(jù)本發(fā)明一些實(shí)施例的移動(dòng)計(jì)算設(shè)備的應(yīng)用層1402、應(yīng)用管理器1404和硬件傳輸層1406之間的數(shù)據(jù)流程。應(yīng)用層1402可以是運(yùn)行在移動(dòng)計(jì)算設(shè)備上的任何種類的處理。硬件傳輸層1402 可以包括移動(dòng)計(jì)算設(shè)備與附件之間的任何類型的硬件接口或軟件接口。應(yīng)用管理器1404可以經(jīng)由硬件傳輸層1406并經(jīng)由應(yīng)用層1402來提供附件之間的通信接口。為了實(shí)現(xiàn)此,通信可被抽象化以使得應(yīng)用1402不知道它正與之通信的附件的細(xì)節(jié)或者附件被耦合的端口的細(xì)節(jié)。應(yīng)用管理器1404可以是作為移動(dòng)計(jì)算設(shè)備的操作系統(tǒng)一部分的后臺(tái)處理或者在移動(dòng)計(jì)算設(shè)備處運(yùn)行的另一后臺(tái)處理。應(yīng)用管理器1404可以向應(yīng)用提供可用來與附件通信的輸入和輸出流。在一些實(shí)施例中,應(yīng)用管理器1404可以管理與移動(dòng)計(jì)算設(shè)備相耦合的相連附件并且可以通過硬件傳輸層1406被訪問。應(yīng)用管理器1404還可以管理在移動(dòng)計(jì)算設(shè)備上運(yùn)行的或安裝在移動(dòng)計(jì)算設(shè)備上的應(yīng)用的附件通信特征。在這兩種情況中,應(yīng)用管理器1404 可以存儲(chǔ)與附件和/或應(yīng)用相關(guān)聯(lián)的應(yīng)用協(xié)議信息。圖15-18示出了可被實(shí)現(xiàn)來利用應(yīng)用管理器建立會(huì)話并在應(yīng)用與附件之間提供通信的各種處理。圖15是根據(jù)本發(fā)明一些實(shí)施例的可由移動(dòng)計(jì)算設(shè)備處的應(yīng)用管理器運(yùn)行來建立并管理會(huì)話的處理1500的流程圖。處理1500可在塊1502處開始。在塊1504處,應(yīng)用管理器監(jiān)視通信端口以判斷附件是否已與移動(dòng)計(jì)算設(shè)備相連接(即,是否在通信中)。在一些實(shí)施例中,應(yīng)用管理器可以監(jiān)視物理連接器的硬件狀態(tài)來判斷附件是否與移動(dòng)計(jì)算設(shè)備相耦合。在一些實(shí)施例中,應(yīng)用管理器可以從WiFi或藍(lán)牙模塊接收指示無線連接已被建立的指示。不管端口的類型如何,應(yīng)用管理器都可以判斷是否已與附件建立了通信信道。在塊 1506,處理1500持續(xù)監(jiān)視附件是否與移動(dòng)計(jì)算設(shè)備相耦合。一旦在塊1506處判斷出通信信道已被建立,處理1500隨后可以在塊1508處執(zhí)行認(rèn)證處理。認(rèn)證可以通過利用附件協(xié)議在移動(dòng)計(jì)算設(shè)備與附件之間發(fā)送各種消息來進(jìn)行。 一旦附件通過認(rèn)證并被準(zhǔn)許與移動(dòng)計(jì)算設(shè)備通信,就可在塊1510處接收附件能力信息。能力信息可以包括指示與附件兼容的一個(gè)或多個(gè)應(yīng)用協(xié)議的信息。例如可以利用如上所述的反向域名協(xié)定或者指示應(yīng)用協(xié)議的任何其它協(xié)定來指示應(yīng)用協(xié)議。在塊1512處,該信息的一些或全部可被存儲(chǔ)在移動(dòng)計(jì)算設(shè)備的存儲(chǔ)器中。具體地,應(yīng)用協(xié)議可被存儲(chǔ)在將應(yīng)用協(xié)議與附件被耦合的通信端口相關(guān)聯(lián)的查找表中(例如,圖8的相連應(yīng)用協(xié)議表820)。在塊1514處,應(yīng)用管理器可以利用附件所支持的應(yīng)用協(xié)議來判斷是否允許附件與移動(dòng)計(jì)算設(shè)備或者在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用之間的通信。在一些實(shí)施例中,如果支持附件所支持的應(yīng)用協(xié)議的應(yīng)用(或其它處理)在移動(dòng)計(jì)算設(shè)備山運(yùn)行,則通信可被允許。 例如,應(yīng)用管理器可將在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用所支持的應(yīng)用協(xié)議與存儲(chǔ)在查找表中的應(yīng)用協(xié)議相比較。附件與應(yīng)用之間的通信可以利用應(yīng)用協(xié)議來進(jìn)行。在一些實(shí)施例中, 應(yīng)用協(xié)議消息可以在附件協(xié)議消息內(nèi)被隧道傳輸或者被嵌入在附件協(xié)議消息內(nèi)(例如,通過將應(yīng)用協(xié)議消息包裝在附件協(xié)議消息內(nèi))。只要在塊1516處附件未從移動(dòng)計(jì)算設(shè)備解除耦合和/或在塊1518處應(yīng)用的運(yùn)行未終止,通信就可繼續(xù)。否則,在一些實(shí)施例中,可在塊 1520處移除存儲(chǔ)在查找表中的應(yīng)用協(xié)議,并且處理1500可在塊1522處結(jié)束。圖16是根據(jù)本發(fā)明一些實(shí)施例的可由移動(dòng)計(jì)算設(shè)備處的應(yīng)用管理器運(yùn)行來協(xié)調(diào)附件與應(yīng)用之間的通信的處理的另一流程圖。處理1600可以開始于塊1605。在塊1610 處,應(yīng)用管理器可以接收來自在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用的對(duì)附件信息的請(qǐng)求。如果在塊1615處附件未被附接,則可將指示此的消息發(fā)送給該應(yīng)用,并且處理1600可以返回塊 1610并等待直到附件與MCD相耦合為止,或者在一些實(shí)施例中處理1600可以結(jié)束。如果附件與移動(dòng)計(jì)算設(shè)備相連,則在塊1620處,應(yīng)用管理器可以向應(yīng)用提供附件信息,該附件信息包括與移動(dòng)計(jì)算設(shè)備相耦合的每個(gè)附件所支持的任何應(yīng)用協(xié)議的指示。應(yīng)用管理器例如可以利用反向域名協(xié)定來將任何或所有應(yīng)用協(xié)議信息(包括附件支持的應(yīng)用協(xié)議)作為元數(shù)據(jù)發(fā)送。每個(gè)應(yīng)用協(xié)議可被與應(yīng)用協(xié)議標(biāo)識(shí)符相關(guān)聯(lián)。在一些實(shí)施例中,不是請(qǐng)求附件信息,應(yīng)用可以向應(yīng)用管理器發(fā)送應(yīng)用協(xié)議數(shù)據(jù)。 并且應(yīng)用管理器可以從查找表(例如,相連應(yīng)用協(xié)議表820)中選擇與從應(yīng)用發(fā)送來的應(yīng)用協(xié)議數(shù)據(jù)兼容的應(yīng)用協(xié)議(如果存在這樣的應(yīng)用協(xié)議的話)。在塊1625,應(yīng)用可以舉行針對(duì)應(yīng)用協(xié)議的通信會(huì)話并且例如可以利用應(yīng)用協(xié)議標(biāo)識(shí)符來向應(yīng)用管理器指示該協(xié)議。當(dāng)實(shí)現(xiàn)此時(shí),應(yīng)用可以在不指定與附件或端口有關(guān)的任何事物的情況下做出請(qǐng)求。響應(yīng)于通信會(huì)話的舉行,應(yīng)用管理器可以在塊1630處向應(yīng)用提供與會(huì)話相關(guān)聯(lián)的輸出流和輸入流。在一些實(shí)施例中,通信會(huì)話針對(duì)與特定附件相關(guān)聯(lián)的特定協(xié)議舉行。因此可利用多個(gè)協(xié)議來創(chuàng)建多個(gè)會(huì)話以用于與一個(gè)或多個(gè)附件通信。在塊1635處,應(yīng)用管理器可以從利用與通信會(huì)話相關(guān)聯(lián)的應(yīng)用協(xié)議的應(yīng)用接收應(yīng)用協(xié)議消息。應(yīng)用協(xié)議消息可以在應(yīng)用管理器處利用在塊1630中提供的輸出流來接收。 應(yīng)用管理器隨后可以在塊1640處將應(yīng)用協(xié)議消息與附件協(xié)議包裝材料包裝在一起。在一些實(shí)施例中,這種包裝可以包括將應(yīng)用協(xié)議消息嵌入在附件協(xié)議消息內(nèi)(例如,如圖5A、5B 和5C所示)。在一些實(shí)施例中,這種包裝可以利用附件協(xié)議來隧道傳輸應(yīng)用協(xié)議消息。在塊1645處,經(jīng)包裝的應(yīng)用協(xié)議消息可被發(fā)送給附件。處理1600隨后可以進(jìn)行到塊1650。 回到塊1635,如果應(yīng)用管理器在塊1635中未接收到應(yīng)用協(xié)議消息,則處理1600可以進(jìn)行到塊 1650。在塊1650中,應(yīng)用管理器可以從附件接收附件協(xié)議消息。附件協(xié)議消息可以包括包裝在附件協(xié)議消息內(nèi)的應(yīng)用協(xié)議消息。在塊1655中,可從應(yīng)用協(xié)議消息中剝除附件協(xié)議包裝材料;并且可在塊1660中將應(yīng)用協(xié)議消息發(fā)送給應(yīng)用。如果附件從移動(dòng)計(jì)算設(shè)備斷開連接1670或者應(yīng)用在移動(dòng)計(jì)算設(shè)備中停止運(yùn)行 1665,則處理600可在塊1675處結(jié)束。否則處理返回塊1635。可在與移動(dòng)計(jì)算設(shè)備相耦合的附件處執(zhí)行的處理在圖17中示出。處理1700可以在附件與移動(dòng)計(jì)算設(shè)備相連時(shí)開始于塊1702。在塊1704,附件可以將指示附件所支持的應(yīng)用協(xié)議的消息發(fā)送給移動(dòng)計(jì)算設(shè)備。該消息可以是針對(duì)圖15的塊1510描述的附件能力的一部分??梢愿鶕?jù)附件協(xié)議來發(fā)送該消息。附件可以利用反向域名協(xié)定(例如,如上所述的)來指示應(yīng)用協(xié)議。當(dāng)應(yīng)用管理器在塊1706中建立了通信會(huì)話時(shí),移動(dòng)計(jì)算設(shè)備可以利用附件協(xié)議向附件發(fā)送指示通信會(huì)話已被創(chuàng)建的消息。該消息或者后續(xù)消息可以指示用來創(chuàng)建該會(huì)話的應(yīng)用協(xié)議,如塊1708中所指示的。在一些實(shí)施例中,在塊1708中,除了應(yīng)用協(xié)議之外或者取代應(yīng)用協(xié)議,還可以傳輸會(huì)話ID。在塊1710中,可以在在塊1712中利用應(yīng)用協(xié)議與移動(dòng)計(jì)算設(shè)備通信之前,利用附件協(xié)議從附件向移動(dòng)計(jì)算設(shè)備發(fā)送確認(rèn)消息。處理1700可以在塊1714處結(jié)束。處理1700例如可以在用戶或操作系統(tǒng)關(guān)閉應(yīng)用時(shí)、在應(yīng)用或操作系統(tǒng)關(guān)閉會(huì)話時(shí)和/或在附件斷開連接時(shí)結(jié)束。圖18是根據(jù)本發(fā)明一些實(shí)施例的可由移動(dòng)計(jì)算設(shè)備的應(yīng)用運(yùn)行來進(jìn)行與附件的通信的處理1800的流程圖。處理1800可以開始于塊1805。在塊1810,應(yīng)用可從應(yīng)用管理器請(qǐng)求與相連附件有關(guān)的信息。應(yīng)用管理器可以通過向應(yīng)用發(fā)送附件信息來作出響應(yīng),該附件信息可由應(yīng)用在塊1815處接收??稍趬K1815處從應(yīng)用管理器被接收包括附件信息的響應(yīng)。附件信息可以包括指示與移動(dòng)計(jì)算設(shè)備相耦合的附件、與附件兼容的(一個(gè)或多個(gè)) 應(yīng)用協(xié)議和/或與這(一個(gè)或多個(gè))應(yīng)用協(xié)議相關(guān)聯(lián)的標(biāo)識(shí)符的信息。在一些實(shí)施例中, 附件管理器可以將應(yīng)用指引到相連應(yīng)用協(xié)議的列表或表可被定位到的存儲(chǔ)器位置。在塊1820,應(yīng)用(或移動(dòng)計(jì)算設(shè)備)可以判斷應(yīng)用協(xié)議中與所附接的附件兼容的任一個(gè)應(yīng)用協(xié)議或單個(gè)應(yīng)用協(xié)議是否與該應(yīng)用所兼容的應(yīng)用協(xié)議相匹配。如果匹配,則處理1800移到塊1835。如果不匹配,則在塊1825處,可以在因特網(wǎng)上(例如,在在線應(yīng)用商店中)或者在移動(dòng)計(jì)算設(shè)備上搜索兼容與附件相關(guān)聯(lián)的應(yīng)用協(xié)議的應(yīng)用。在一些實(shí)施例中,附件信息可以包括指示用于該附件的優(yōu)選應(yīng)用的信息。在一些實(shí)施例中,在塊1830中應(yīng)用可在移動(dòng)計(jì)算設(shè)備處被下載并被運(yùn)行,并且處理1800可以移動(dòng)到塊1835。在一些實(shí)施例中,可從網(wǎng)絡(luò)位置(例如,在線應(yīng)用商店)下載提供與應(yīng)用協(xié)議(其也與附件兼容)的兼容性的應(yīng)用附加物或補(bǔ)丁。如果未下載新應(yīng)用并且未找到兼容應(yīng)用,則處理1800可以在塊 1865處結(jié)束。在一些實(shí)施例中,在塊1820,當(dāng)在移動(dòng)計(jì)算設(shè)備處未找到兼容應(yīng)用或沒有兼容應(yīng)用可用時(shí),可以執(zhí)行三個(gè)選項(xiàng)中的一個(gè)。首先,提示用戶他們是否想要從網(wǎng)絡(luò)位置或應(yīng)用商店搜索和/或下載兼容應(yīng)用。處理可以根據(jù)用戶的選擇來進(jìn)行。其次,移動(dòng)計(jì)算設(shè)備可以在不提示用戶的情況下從網(wǎng)絡(luò)位置或應(yīng)用商店搜索和/或下載兼容應(yīng)用。再次,移動(dòng)計(jì)算設(shè)備可以既不提示用戶也不搜索兼容應(yīng)用。在一些實(shí)施例中,附件可以發(fā)送指示移動(dòng)計(jì)算設(shè)備應(yīng)當(dāng)采取以上三個(gè)選項(xiàng)中的哪一個(gè)的消息。可以在塊1810或塊1815中或之前發(fā)送該消息。在其它實(shí)施例中,可由用戶來設(shè)定移動(dòng)計(jì)算設(shè)備中的系統(tǒng)設(shè)置,該系統(tǒng)設(shè)置指示對(duì)于所有附件以上選項(xiàng)中的哪個(gè)應(yīng)當(dāng)被采取。在塊1835,應(yīng)用可以舉行與兼容應(yīng)用協(xié)議相聯(lián)系的通信會(huì)話。一旦會(huì)話被創(chuàng)建,在塊1840中,應(yīng)用管理器就可以為應(yīng)用提供輸入和輸出流。在塊1845中,應(yīng)用可以通過將根據(jù)應(yīng)用協(xié)議被格式化的數(shù)據(jù)寫入輸出流以及通過從輸入流讀取應(yīng)用協(xié)議數(shù)據(jù)來與附件通只要在塊1850中判定附件與移動(dòng)計(jì)算設(shè)備相耦合,并且在塊1855中應(yīng)用沒有結(jié)束該會(huì)話,應(yīng)用就可以利用由應(yīng)用管理器提供的輸入/輸出流來與附件通信。否則,可以在塊1860中終止會(huì)話并且可以在塊1855中結(jié)束處理1800。在本發(fā)明的一些實(shí)施例中,當(dāng)附件與移動(dòng)計(jì)算設(shè)備連接時(shí),附件可以發(fā)送包含有指定優(yōu)選應(yīng)用的元數(shù)據(jù)的附件信息。該信息例如可以在標(biāo)識(shí)階段、認(rèn)證階段或能力階段期間被發(fā)送。在一些實(shí)施例中,如果優(yōu)選應(yīng)用未在應(yīng)用上運(yùn)行并且被存儲(chǔ)在移動(dòng)計(jì)算設(shè)備處的存儲(chǔ)器中,則應(yīng)用可被自動(dòng)啟動(dòng)。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以向用戶提供詢問用戶他們是否想要啟動(dòng)優(yōu)選應(yīng)用的通知,并且如果用戶作出肯定響應(yīng)則啟動(dòng)該應(yīng)用。在本發(fā)明的一些實(shí)施例中,如果優(yōu)選應(yīng)用(即,附件優(yōu)選的應(yīng)用)中的任何一個(gè)被加載到移動(dòng)計(jì)算設(shè)備上,則移動(dòng)計(jì)算設(shè)備可以在用戶界面的主屏幕畫面上高亮與優(yōu)選應(yīng)用
32中的一個(gè)或每個(gè)優(yōu)選應(yīng)用有關(guān)的圖標(biāo)。因此,用戶可以更容易地定位用于附件的兼容應(yīng)用。 例如,當(dāng)高亮應(yīng)用圖標(biāo)時(shí),移動(dòng)計(jì)算設(shè)備可以改變圖標(biāo)的顏色或陰影、使圖標(biāo)擺動(dòng)或振動(dòng)、 放大圖標(biāo)、改變圖標(biāo)的形狀、改變圖標(biāo)上的圖片等。圖標(biāo)的任何方面都可被改變。在本發(fā)明的其它實(shí)施例中,如果優(yōu)選應(yīng)用未被存儲(chǔ)或加載到移動(dòng)計(jì)算設(shè)備上,則移動(dòng)計(jì)算設(shè)備可被引導(dǎo)至諸如應(yīng)用商店之類的網(wǎng)絡(luò)位置以下載優(yōu)選應(yīng)用。在一些實(shí)施例中,元數(shù)據(jù)可被保存,并且可以在稍后的時(shí)間從網(wǎng)絡(luò)位置下載優(yōu)選應(yīng)用。例如,可在用戶將 web瀏覽器或應(yīng)用商店引導(dǎo)至可下載優(yōu)選應(yīng)用的指定網(wǎng)絡(luò)位置時(shí)下載應(yīng)用。作為另一示例, 可在用戶具有用于下載優(yōu)選應(yīng)用的合適的無線連通性水平時(shí)下載應(yīng)用。在一些實(shí)施例中, 可在移動(dòng)計(jì)算設(shè)備與主機(jī)計(jì)算機(jī)相耦合時(shí)加載優(yōu)選應(yīng)用。此外,在一些實(shí)施例中,從附件發(fā)送給移動(dòng)計(jì)算設(shè)備的元數(shù)據(jù)還可以包括指定在優(yōu)選應(yīng)用未與加載到移動(dòng)計(jì)算設(shè)備上的應(yīng)用相匹配時(shí)如何做出反應(yīng)的信息。該指示可以是命令或消息的一部分。例如,附件可以指定優(yōu)選應(yīng)用必須與移動(dòng)計(jì)算設(shè)備處的應(yīng)用匹配并且該優(yōu)選應(yīng)用必須被下載來與附件交互。作為另一示例,附件可以指定優(yōu)選應(yīng)用,但是將利用兼容應(yīng)用協(xié)議來與任何應(yīng)用互操作。在此情況中,移動(dòng)計(jì)算設(shè)備可以下載優(yōu)選應(yīng)用,但不是必須的。此外,在一些情況中,移動(dòng)計(jì)算設(shè)備可以從用戶請(qǐng)求關(guān)于是否下載優(yōu)選應(yīng)用或使用兼容應(yīng)用的反饋。作為又一示例,附件可以指定移動(dòng)計(jì)算設(shè)備從不從網(wǎng)絡(luò)位置或應(yīng)用商店搜索或下載應(yīng)用。此外,在一些情形中,附件可以指定從不詢問用戶是否下載應(yīng)用。在此場(chǎng)合中,附件可以在不與移動(dòng)計(jì)算設(shè)備處的應(yīng)用交互的情況下操作。在本發(fā)明的又一實(shí)施例中,附件可與移動(dòng)計(jì)算設(shè)備相耦合并且第一應(yīng)用可以在移動(dòng)計(jì)算設(shè)備處運(yùn)行。第一應(yīng)用可與應(yīng)用協(xié)議相關(guān)聯(lián),該應(yīng)用協(xié)議可以與或可以不與附件兼容,并且該應(yīng)用可以與或可以不與附件通信。附件可以向移動(dòng)計(jì)算設(shè)備發(fā)送指定了要運(yùn)行的第二應(yīng)用的命令。者可以響應(yīng)于與用戶的交互被啟動(dòng);例如,根據(jù)來自用戶的對(duì)附件處的按鈕的按壓被啟動(dòng)。移動(dòng)計(jì)算設(shè)備隨后可以響應(yīng)于接收到該命令來運(yùn)行第二應(yīng)用。在一些實(shí)施例中,第一應(yīng)用可以與第二應(yīng)用并行地運(yùn)行。在一些實(shí)施例中,第一應(yīng)用可被關(guān)閉并且第二應(yīng)用被加載。在一些實(shí)施例中,命令可以通過序列號(hào)和/或名稱來指示應(yīng)用。在一些實(shí)施例中,命令還可以指定可下載應(yīng)用并且隨后被執(zhí)行的網(wǎng)絡(luò)位置。此外,在一些實(shí)施例中,當(dāng)沒有應(yīng)用在移動(dòng)計(jì)算設(shè)備上運(yùn)行或者當(dāng)操作系統(tǒng)在移動(dòng)計(jì)算設(shè)備上運(yùn)行時(shí)附件可以請(qǐng)求第二應(yīng)用運(yùn)行。雖然已相對(duì)于具體實(shí)施例描述了本發(fā)明,然而本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到可以有多種修改。例如,在這里描述的某些實(shí)施例中,在任何給定的時(shí)間端口最多與一個(gè)應(yīng)用協(xié)議相關(guān)聯(lián)。在其它實(shí)施例中,利用不同應(yīng)用協(xié)議的通信可被多路復(fù)用在同一端口上,和/或利用相同應(yīng)用協(xié)議與不同應(yīng)用的通信可被多路復(fù)用在同一端口上。在這些實(shí)施例中,用于隧道傳輸附件協(xié)議消息(在任一方向上)的移動(dòng)計(jì)算設(shè)備協(xié)議命令可以包括會(huì)話和/或應(yīng)用協(xié)議標(biāo)識(shí)符以輔助對(duì)附件協(xié)議消息進(jìn)行合適處理。在一個(gè)這樣的實(shí)施例中,當(dāng)應(yīng)用建立與特定附件和應(yīng)用協(xié)議相關(guān)聯(lián)的會(huì)話時(shí),可利用附件通信協(xié)議的命令將該會(huì)話的標(biāo)識(shí)符提供給附件。與該會(huì)話相關(guān)聯(lián)的后續(xù)移動(dòng)計(jì)算設(shè)備協(xié)議分組(例如,隧道傳輸命令分組)可以包括該會(huì)話標(biāo)識(shí)符。因此,即使多個(gè)會(huì)話同時(shí)進(jìn)行并且即使與多個(gè)會(huì)話有關(guān)的通信被多路復(fù)用到同一端口上,附件也可以將其可以發(fā)送或接收的任何附件協(xié)議消息與特定會(huì)話相關(guān)聯(lián)。即使針對(duì)多個(gè)會(huì)話的通信被多路復(fù)用到單個(gè)端口上,附件然后也可以為多個(gè)會(huì)話維護(hù)各自的狀態(tài)信息。已描述了提供應(yīng)用通信協(xié)議如何被用于應(yīng)用和附件之間的通信的示例的本發(fā)明的實(shí)施例。在許多情況中,移動(dòng)計(jì)算設(shè)備對(duì)于應(yīng)用通信協(xié)議是不知的。一些實(shí)施例描述了附件和/或應(yīng)用用來傳輸指定了應(yīng)用通信協(xié)議的信息的方案??梢允褂檬沟酶郊?或應(yīng)用知道使用哪個(gè)應(yīng)用協(xié)議的各種其它技術(shù)。例如,移動(dòng)計(jì)算設(shè)備可以包括具有所有的已知應(yīng)用協(xié)議的表。附件和/或應(yīng)用可以通過指向表的條目來指定應(yīng)用協(xié)議。作為另一示例, 應(yīng)用可以從使用任意數(shù)目的通信協(xié)議的附件請(qǐng)求應(yīng)用協(xié)議信息。作為另一示例,應(yīng)用可以向附件指定該應(yīng)用支持的任何協(xié)議并且附件可以選擇要使用的應(yīng)用協(xié)議。作為又一示例, 可以使用位掩碼,其中,預(yù)定的不同位掩碼可用來表示各種應(yīng)用協(xié)議。還可以使用用于標(biāo)識(shí)應(yīng)用協(xié)議的各種其它手段。還公開了各種其它實(shí)施例。例如,公開了一種在附件處操作的、附件設(shè)備與在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用之間的通信方法。該方法可以包括利用附件通信協(xié)議向所述移動(dòng)設(shè)備傳輸指定了至少一個(gè)應(yīng)用通信協(xié)議的信息;和/或利用所述附件通信協(xié)議與在所述移動(dòng)設(shè)備處運(yùn)行的應(yīng)用通信。在一些實(shí)施例中,該方法還可以包括利用附件通信協(xié)議與在移動(dòng)計(jì)算設(shè)備處運(yùn)行的操作系統(tǒng)通信。在一些實(shí)施例中,可在附件通信協(xié)議分組內(nèi)隧道傳輸應(yīng)用通信協(xié)議分組。在一些實(shí)施例中,該方法還可以包括從運(yùn)行在所述移動(dòng)通信設(shè)備上的應(yīng)用接收應(yīng)用通信協(xié)議命令并且響應(yīng)于其改變所述附件的狀態(tài)。在一些實(shí)施例中,該方法還可以包括響應(yīng)于來自運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用的命令向運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用發(fā)送數(shù)據(jù),其中所述數(shù)據(jù)可以利用所述應(yīng)用通信協(xié)議被發(fā)送并且所述命令可以利用所述附件通信協(xié)議被接收。在一些實(shí)施例中,指定了至少一個(gè)應(yīng)用通信協(xié)議的信息可以按反向域名協(xié)定被提供。 在一些實(shí)施例中,該方法還可以包括利用所述附件通信協(xié)議通過所述附件來控制所述移動(dòng)計(jì)算設(shè)備的功能。公開了一種附件設(shè)備,該附件設(shè)備可以包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi)并且被配置為與移動(dòng)計(jì)算設(shè)備交換命令和數(shù)據(jù),所述通信接口至少具有一個(gè)端口 ;和/或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且可通信地與所述通信接口相耦合。所述控制邏輯可被配置為利用附件通信協(xié)議通過所述通信接口與運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的操作系統(tǒng)通信。所述控制邏輯可被配置為利用附件通信協(xié)議通過所述通信接口與運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用通信。在一些實(shí)施例中,該控制邏輯還可被配置為利用附件通信協(xié)議傳輸指定了應(yīng)用通信協(xié)議的信息。在一些實(shí)施例中,該控制邏輯還可被配置為利用標(biāo)準(zhǔn)通信協(xié)議而非附件通信協(xié)議來傳輸指定了應(yīng)用通信協(xié)議的信息。在一些實(shí)施例中,可以利用反向域名協(xié)定來將應(yīng)用通信協(xié)議信息傳輸給移動(dòng)計(jì)算設(shè)備。在一些實(shí)施例中,通信接口可以包括無線通信接—種用于在附件設(shè)備與運(yùn)行在移動(dòng)計(jì)算設(shè)備上的應(yīng)用之間進(jìn)行通信的方法,該方法在附件設(shè)備處操作。該方法可以包括利用附件通信協(xié)議向移動(dòng)計(jì)算設(shè)備傳輸附件信息; 從移動(dòng)計(jì)算設(shè)備接收會(huì)話標(biāo)識(shí)符、應(yīng)用協(xié)議標(biāo)識(shí)符或舉行連接命令中的至少一者;和/或此后利用應(yīng)用通信協(xié)議與在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用通信。在一些實(shí)施例中,應(yīng)用通信協(xié)議可以是與被傳輸給移動(dòng)計(jì)算設(shè)備的應(yīng)用協(xié)議串相關(guān)聯(lián)的協(xié)議。在一些實(shí)施例中,附件信息可以包括應(yīng)用協(xié)議串、與應(yīng)用協(xié)議串相對(duì)應(yīng)的應(yīng)用協(xié)議索引、優(yōu)選應(yīng)用信息或附件通信協(xié)議信息中的至少一者。在一些實(shí)施例中,優(yōu)選應(yīng)用信息指定這樣的應(yīng)用,該應(yīng)用支持利用與被傳輸給移動(dòng)計(jì)算設(shè)備的應(yīng)用協(xié)議串相關(guān)聯(lián)的應(yīng)用通信協(xié)議的通信。在一些實(shí)施例中,該通信可以包括利用附件控制移動(dòng)計(jì)算設(shè)備的功能。在一些實(shí)施例中,應(yīng)用通信協(xié)議串可以為反向域名協(xié)定的方式。公開了另一種附件設(shè)備。該附件可以包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),和/或被配置為可通信地與移動(dòng)計(jì)算設(shè)備相耦合;附件硬件;和/ 或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且可通信地與所述通信接口和附件特定硬件相耦合。該控制邏輯可被配置為利用附件通信協(xié)議通過所述通信接口向移動(dòng)計(jì)算設(shè)備傳輸應(yīng)用通信協(xié)議信息??刂七壿嬁杀慌渲脼橥ㄟ^該通信接口與運(yùn)行在移動(dòng)計(jì)算設(shè)備處的應(yīng)用建立通信會(huì)話,其中該通信會(huì)話使用應(yīng)用通信協(xié)議來在附件和運(yùn)行在移動(dòng)計(jì)算設(shè)備處的應(yīng)用之間進(jìn)行通信??刂七壿嬁杀慌渲脼槔酶郊ㄐ艆f(xié)議從運(yùn)行在移動(dòng)計(jì)算設(shè)備上的應(yīng)用接收數(shù)據(jù)??刂七壿嬁杀慌渲脼轫憫?yīng)于從運(yùn)行在移動(dòng)計(jì)算設(shè)備上的應(yīng)用接收的數(shù)據(jù)來控制附件硬件的操作。在一些實(shí)施例中,通信接口可以包括無線通信接口。在一些實(shí)施例中,控制邏輯還可被配置為利用應(yīng)用通信協(xié)議從附件硬件接收硬件數(shù)據(jù),和/或向在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用發(fā)送硬件數(shù)據(jù)。在一些實(shí)施例中,附件硬件可以包括并且硬件數(shù)據(jù)可以包括利用傳感器收集的數(shù)據(jù)。在一些實(shí)施例中,附件硬件可以包括與電子設(shè)備的硬件接口并且硬件數(shù)據(jù)可以包括通過該硬件接口從電子設(shè)備接收的數(shù)據(jù)。在一些實(shí)施例中,附件硬件可以包括與電子設(shè)備的硬件接口,并且來自在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用的數(shù)據(jù)包括用于利用該硬件接口控制電子設(shè)備的數(shù)據(jù)。在一些實(shí)施例中,附件硬件可以包括顯示裝置,并且來自在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用的數(shù)據(jù)可以包括可顯示信息。公開了用于在附件設(shè)備與在移動(dòng)設(shè)備上運(yùn)行的應(yīng)用之間進(jìn)行通信的另一方法。該方法可以在移動(dòng)設(shè)備上操作。該方法可以包括標(biāo)識(shí)附件設(shè)備,其中該標(biāo)識(shí)使用附件通信協(xié)議;從附件設(shè)備接收指定了應(yīng)用通信協(xié)議的信息,其中該信息利用附件通信協(xié)議被接收; 在移動(dòng)計(jì)算設(shè)備處運(yùn)行應(yīng)用;和/或利用應(yīng)用通信協(xié)議從應(yīng)用與附件設(shè)備通信。在一些實(shí)施例中,該方法還可以包括判斷該應(yīng)用協(xié)議是否被列出在所述移動(dòng)計(jì)算設(shè)備處的協(xié)議表中,其中所述協(xié)議表可以包括所述移動(dòng)計(jì)算設(shè)備處的應(yīng)用所支持的協(xié)議。在一些實(shí)施例中,該方法還可以包括在所述協(xié)議表不包括該應(yīng)用協(xié)議的情況中, 下載支持該應(yīng)用協(xié)議的應(yīng)用。在一些實(shí)施例中,來自所述附件設(shè)備的指定了應(yīng)用通信協(xié)議的信息利用反向域名協(xié)定來指定一個(gè)應(yīng)用通信協(xié)議。在一些實(shí)施例中,來自所述附件設(shè)備的指定了應(yīng)用通信協(xié)議的信息還可以包括與該應(yīng)用通信協(xié)議相關(guān)聯(lián)的標(biāo)識(shí)符。在一些實(shí)施例中,利用應(yīng)用通信協(xié)議與附件設(shè)備通信還可以包括將應(yīng)用通信協(xié)議分組封裝在附件通信協(xié)議分組內(nèi)。在一些實(shí)施例中,應(yīng)用通信協(xié)議可以包括被包括在附件通信協(xié)議內(nèi)的命令。還公開了一種移動(dòng)計(jì)算設(shè)備,該移動(dòng)計(jì)算設(shè)備可以包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi)并且/或者被配置為與附件交換命令和數(shù)據(jù),該通信接口具有至少一個(gè)端口 ;存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);和/或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且/或者可通信地與所述存儲(chǔ)器和所述通信接口相耦合。該控制邏輯可被配置為利用附件通信協(xié)議通過通信接口接收來自附件的指定應(yīng)用通信協(xié)議的指示。該控制邏輯還可被配置為運(yùn)行存儲(chǔ)在存儲(chǔ)器中的應(yīng)用。該控制邏輯還可被配置為利用應(yīng)用通信協(xié)議建立附件與應(yīng)用之間的通信。在一些實(shí)施例中,該至少一個(gè)端口可以為有線端口或無線端口。在一些實(shí)施例中,控制邏輯還可被配置為判斷由應(yīng)用指定的應(yīng)用通信協(xié)議是否可與存儲(chǔ)在存儲(chǔ)器中的應(yīng)用通信協(xié)議相關(guān)聯(lián)。在一些實(shí)施例中,控制邏輯還可被配置為利用附件通信協(xié)議將應(yīng)用通信協(xié)議數(shù)據(jù)隧道傳輸給附件。在一些實(shí)施例中,控制邏輯還可被配置為將應(yīng)用通信協(xié)議分組與附件通信協(xié)議分組封裝在一起并且將附件通信協(xié)議分組提供給端口。公開了另一種移動(dòng)計(jì)算設(shè)備,該移動(dòng)計(jì)算設(shè)備可以包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并且/或者被配置為與附件交換命令和數(shù)據(jù);存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);和/或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且 /或者可通信地與所述存儲(chǔ)器和所述通信接口相耦合。所述控制邏輯可被配置為通過該通信接口從附件設(shè)備接收應(yīng)用通信協(xié)議信息,其中該應(yīng)用通信協(xié)議信息可以包括附件所支持的應(yīng)用通信協(xié)議的標(biāo)識(shí),和/或其中該應(yīng)用通信協(xié)議信息可利用附件通信協(xié)議從該附件被接收。該控制邏輯可被配置為通過將應(yīng)用通信協(xié)議分組封裝在附件通信協(xié)議分組內(nèi)來創(chuàng)建經(jīng)封裝分組。該控制邏輯可被配置為通經(jīng)由該通信接口將經(jīng)封裝分組發(fā)送給附件。在一些實(shí)施例中,該通信接口可以是無線通信接口。在一些實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以包括存儲(chǔ)在存儲(chǔ)器中的協(xié)議表,其中該協(xié)議表可以包括安裝在移動(dòng)計(jì)算設(shè)備上的應(yīng)用所支持的應(yīng)用協(xié)議的列表。公開了一種可包含程序指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)程序指令被移動(dòng)計(jì)算設(shè)備的處理器運(yùn)行時(shí)使得該處理器執(zhí)行方法。該方法可以包括利用附件通信協(xié)議從附件設(shè)備接收應(yīng)用通信協(xié)議信息,利用應(yīng)用通信協(xié)議從附件接收數(shù)據(jù),和/或操縱從附件接收的數(shù)據(jù)。在一些實(shí)施例中,該方法還可以包括在移動(dòng)計(jì)算設(shè)備的顯示裝置上顯示被操縱數(shù)據(jù)的至少一部分。在一些實(shí)施例中,該方法還可以包括通過利用應(yīng)用通信協(xié)議向附件發(fā)送命令來控制附件的功能。另一種方法被提供用于在附件設(shè)備與安裝在移動(dòng)設(shè)備上的應(yīng)用之間建立通信會(huì)話。該方法可以在移動(dòng)設(shè)備上操縱并且可以包括將所支持應(yīng)用協(xié)議的列表與所收集應(yīng)用協(xié)議的列表相比較;當(dāng)在所支持應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議與所收集應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議之間找到匹配時(shí),將指定了匹配應(yīng)用協(xié)議的信息傳輸給附件;和/或當(dāng)未在所支持應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議與所收集應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議之間找到匹配時(shí),將移動(dòng)設(shè)備的用戶引導(dǎo)至應(yīng)用商店,在該應(yīng)用商店中,與所收集應(yīng)用協(xié)議列表內(nèi)的至少一個(gè)應(yīng)用協(xié)議相關(guān)聯(lián)的應(yīng)用可用于被下載。在一些實(shí)施例中,所支持應(yīng)用協(xié)議的列表可以包括由應(yīng)用支持的一個(gè)或多個(gè)通信協(xié)議,并且/或者所收集應(yīng)用協(xié)議的列表可以包括從與移動(dòng)計(jì)算設(shè)備相耦合的一個(gè)或多個(gè)附件接收的一個(gè)或多個(gè)通信協(xié)議。在一些實(shí)施例中,當(dāng)在所支持應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議與所收集應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議之間找到匹配時(shí),請(qǐng)求與附件的通信會(huì)話。在一些實(shí)施例中,在通信時(shí),指定了匹配應(yīng)用協(xié)議的信息可以包括會(huì)話標(biāo)識(shí)符。在一些實(shí)施例中,當(dāng)在所支持應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議與所收集應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議之間找到匹配時(shí),利用該匹配應(yīng)用協(xié)議來與附件通信。在一些實(shí)施例中,應(yīng)用商店可以是基于因特網(wǎng)的應(yīng)用商店。提供了一種包含程序指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)程序指令被移動(dòng)計(jì)算設(shè)備的處理器運(yùn)行時(shí),使得該處理器執(zhí)行方法。該方法可以包括判斷所支持協(xié)議列表中的所支持應(yīng)用協(xié)議標(biāo)識(shí)符是否與所收集協(xié)議列表中的應(yīng)用協(xié)議標(biāo)識(shí)符相匹配;并且/或者響應(yīng)于在所支持應(yīng)用協(xié)議與所收集應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議之間找到匹配,執(zhí)行子方法。該子方法包括在移動(dòng)計(jì)算設(shè)備和與該移動(dòng)計(jì)算設(shè)備相耦合的附件之間發(fā)起通信會(huì)話;向附件傳輸指定了所支持應(yīng)用協(xié)議的信息;并且/或者利用所支持應(yīng)用協(xié)議從移動(dòng)計(jì)算設(shè)備與附件通信。在一些實(shí)施例中,所收集協(xié)議列表可以包括表示與附件兼容的應(yīng)用協(xié)議的一個(gè)或多個(gè)通信協(xié)議標(biāo)識(shí)符,和/或所支持協(xié)議列表可以包括表示與安裝在移動(dòng)計(jì)算設(shè)備處的應(yīng)用兼容的應(yīng)用協(xié)議的一個(gè)或多個(gè)通信協(xié)議標(biāo)識(shí)符。在一些實(shí)施例中,所支持應(yīng)用協(xié)議可以不同于附件通信協(xié)議。在一些實(shí)施例中,程序指令還可以使處理器響應(yīng)于未在所支持應(yīng)用協(xié)議與所收集應(yīng)用協(xié)議列表中的應(yīng)用協(xié)議之間找到匹配而下載支持與所收集協(xié)議列表中的應(yīng)用協(xié)議相匹配的協(xié)議的應(yīng)用。提供了一種在移動(dòng)計(jì)算設(shè)備處操作的另一方法,該方法可以包括從附件設(shè)備接收應(yīng)用協(xié)議標(biāo)識(shí)符,其中所接收的應(yīng)用協(xié)議標(biāo)識(shí)符可以包括反向域名格式的數(shù)據(jù)串并且可與應(yīng)用通信協(xié)議相關(guān)聯(lián);并且/或者判斷所接收的應(yīng)用協(xié)議標(biāo)識(shí)符是否與存儲(chǔ)在所述移動(dòng)計(jì)算設(shè)備處的存儲(chǔ)器中的協(xié)議表內(nèi)所列出的應(yīng)用協(xié)議標(biāo)識(shí)符相匹配,此后,利用所述應(yīng)用通信協(xié)議與所述附件通信。在一些實(shí)施例中,所述協(xié)議表可以包括與可在所述移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用相關(guān)聯(lián)的一個(gè)或多個(gè)應(yīng)用協(xié)議標(biāo)識(shí)符。在一些實(shí)施例中,該方法還可以包括當(dāng)所接收的應(yīng)用協(xié)議標(biāo)識(shí)符與所述協(xié)議表中的應(yīng)用協(xié)議標(biāo)識(shí)符相匹配時(shí),運(yùn)行與所述協(xié)議表中的應(yīng)用協(xié)議標(biāo)識(shí)符相關(guān)聯(lián)的應(yīng)用。在一些實(shí)施例中,該方法還可以包括利用與所接收的應(yīng)用協(xié)議標(biāo)識(shí)符相匹配的關(guān)聯(lián)應(yīng)用協(xié)議標(biāo)識(shí)符來下載應(yīng)用。還公開了一種移動(dòng)計(jì)算設(shè)備,該移動(dòng)計(jì)算設(shè)備包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并且/或者被配置為與附件交換命令和數(shù)據(jù);存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi),所述存儲(chǔ)器維護(hù)所支持應(yīng)用協(xié)議列表;和/或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且/或者可通信地與所述存儲(chǔ)器和所述通信接口相耦合。在一些實(shí)施例中,該控制邏輯被配置為通過通信接口從附件接收標(biāo)識(shí)出了所述附件所支持的應(yīng)用通信協(xié)議的信息。在一些實(shí)施例中,該控制邏輯可被配置為判斷該附件支持的應(yīng)用通信協(xié)議是否與在所支持應(yīng)用協(xié)議列表中標(biāo)識(shí)出的協(xié)議相對(duì)應(yīng),其中所支持應(yīng)用協(xié)議列表可以包括安裝在移動(dòng)計(jì)算設(shè)備上的應(yīng)用所支持的一個(gè)或多個(gè)協(xié)議。在一些實(shí)施例中,控制邏輯可被配置為當(dāng)判定附件支持的應(yīng)用協(xié)議與在所支持應(yīng)用協(xié)議列表中標(biāo)識(shí)出的協(xié)議之間相對(duì)應(yīng)時(shí),利用移動(dòng)計(jì)算設(shè)備協(xié)議向附件傳輸指定了匹配應(yīng)用協(xié)議的信息。在一些實(shí)施例中,控制邏輯可被配置為利用該匹配應(yīng)用協(xié)議與附件通信。還提供了另一方法,該方法可以包括利用移動(dòng)計(jì)算設(shè)備協(xié)議從附件接收應(yīng)用協(xié)議信息,其中該應(yīng)用協(xié)議信息標(biāo)識(shí)出與附件兼容的至少一個(gè)應(yīng)用協(xié)議。該方法還可以包括 判斷該應(yīng)用協(xié)議是否與在所支持協(xié)議列表中列出的協(xié)議相匹配,其中所支持協(xié)議列表可以包括至少由安裝在移動(dòng)設(shè)備上的應(yīng)用支持的一個(gè)或多個(gè)通信協(xié)議,和/或其中在所支持協(xié)議列表中列出的每個(gè)協(xié)議可以與應(yīng)用相關(guān)聯(lián)。并且當(dāng)一應(yīng)用協(xié)議與所支持協(xié)議列表中的協(xié)議相匹配時(shí),該方法還可以包括運(yùn)行與所支持列表中的匹配協(xié)議相關(guān)聯(lián)的應(yīng)用。在一些實(shí)施例中,當(dāng)沒有應(yīng)用協(xié)議與所支持協(xié)議列表中的協(xié)議相匹配時(shí),從因特網(wǎng)下載與所支持協(xié)議列表中的協(xié)議相關(guān)聯(lián)的應(yīng)用。
提供了另一種方法,該方法可以包括在移動(dòng)計(jì)算設(shè)備處從附件接收信息,其中該信息可以包括應(yīng)用協(xié)議的標(biāo)識(shí);將該應(yīng)用協(xié)議與存儲(chǔ)在移動(dòng)計(jì)算設(shè)備的存儲(chǔ)器中的所支持協(xié)議表中列出的協(xié)議相比較,其中所支持協(xié)議表可以包括與應(yīng)用相關(guān)聯(lián)的至少一個(gè)應(yīng)用協(xié)議;并且/或者當(dāng)該應(yīng)用協(xié)議與所支持協(xié)議表中列出的協(xié)議匹配時(shí),在移動(dòng)計(jì)算設(shè)備處運(yùn)行與該應(yīng)用協(xié)議相關(guān)聯(lián)的應(yīng)用。在一些實(shí)施例中,該信息可以包括支持該應(yīng)用協(xié)議的優(yōu)選應(yīng)用的標(biāo)識(shí),并且/或者當(dāng)該應(yīng)用協(xié)議不與所支持協(xié)議表中列出的協(xié)議相匹配時(shí),下載該優(yōu)選應(yīng)用。在一些實(shí)施例中,標(biāo)識(shí)應(yīng)用協(xié)議的信息里有反向域名格式來標(biāo)識(shí)該應(yīng)用協(xié)議。在一些實(shí)施例中,該方法還可以包括里有應(yīng)用協(xié)議與附件通信。在一些實(shí)施例中,標(biāo)識(shí)應(yīng)用協(xié)議的信息可以根據(jù)移動(dòng)計(jì)算設(shè)備協(xié)議被格式化。提供了一種移動(dòng)計(jì)算設(shè)備,該移動(dòng)計(jì)算設(shè)備包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并且/或者被配置為與附件交換命令和數(shù)據(jù);存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi),所述存儲(chǔ)器包括列出了與應(yīng)用兼容的協(xié)議的所支持應(yīng)用協(xié)議列表,其中所支持應(yīng)用協(xié)議包括安裝在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用所支持的應(yīng)用協(xié)議;和/ 或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且/或者可通信地與所述存儲(chǔ)器和所述通信接口相耦合。該控制邏輯被配置為從附件接收標(biāo)識(shí)出了所述附件所支持的應(yīng)用協(xié)議的消息;判斷該應(yīng)用協(xié)議是否與存儲(chǔ)在所支持應(yīng)用協(xié)議列表內(nèi)的所支持應(yīng)用協(xié)議相匹配;并且/或者當(dāng)發(fā)現(xiàn)相匹配時(shí),運(yùn)行與匹配該應(yīng)用協(xié)議的所支持附件相關(guān)聯(lián)的應(yīng)用。在一些實(shí)施例中,從附件接收的消息可以標(biāo)識(shí)出能夠從其找到支持該應(yīng)用協(xié)議的應(yīng)用的基于因特網(wǎng)的地址。在一些實(shí)施例中,該方法還可以包括從所述基于因特網(wǎng)的地址下載所述應(yīng)用。在一些實(shí)施例中,該方法還可以包括將該應(yīng)用安裝在所述移動(dòng)計(jì)算設(shè)備中并且運(yùn)行該應(yīng)用。公開了一種移動(dòng)通信設(shè)備,該設(shè)備包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并且/或者被配置為與附件交換命令和數(shù)據(jù),該通信接口具有第一通信端口和第二通信端口 ;存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);和/或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且可通信地與所述存儲(chǔ)器和所述通信接口相耦合。該控制邏輯可被配置為利用第一應(yīng)用通信協(xié)議通過所述第一通信端口與第一附件通信;以及/或者利用第二應(yīng)用通信協(xié)議通過所述第二通信端口與第二附件通信。在一些實(shí)施例中,所述第一通信端口或所述第二通信端口中的至少一者可以包括無線通信端口。在一些實(shí)施例中,所述第一應(yīng)用通信協(xié)議和所述第二應(yīng)用通信協(xié)議可以不同。在一些實(shí)施例中,所述控制邏輯還可被配置為利用附件通信協(xié)議通過所述第一通信端口與所述第一附件通信并且通過所述第二附件通信端口與所述第二附件通信。在一些實(shí)施例中,所述控制邏輯還可被配置為通過所述第一端口建立用于與所述第一附件通信的第一通信會(huì)話。在一些實(shí)施例中, 所述控制邏輯還可被配置為通過所述第一端口建立用于與所述第二附件通信的第二通信會(huì)話。在一些實(shí)施例中,所述通信接口可以包括第三通信端口,并且所述控制邏輯還可被配置為利用第三應(yīng)用通信協(xié)議通過所述第三通信端口與第三附件通信。一種包含程序指令的計(jì)算機(jī)可讀介質(zhì),所述程序指令在被移動(dòng)計(jì)算設(shè)備的處理器運(yùn)行時(shí)使得所述處理器執(zhí)行方法。該方法包括請(qǐng)求用于與第一附件通信的第一通信會(huì)話; 接收所述第一通信會(huì)話的會(huì)話標(biāo)識(shí)符;利用第一應(yīng)用協(xié)議通過所述第一通信會(huì)話與所述第一附件通信;請(qǐng)求用于與第二附件通信的第二通信會(huì)話;接收所述第二通信會(huì)話的會(huì)話標(biāo)識(shí)符;以及/或者利用第二應(yīng)用協(xié)議通過所述第二通信會(huì)話與所述第二附件通信。在一些實(shí)施例中,所述第一應(yīng)用協(xié)議和所述第二應(yīng)用協(xié)議不同。在一些實(shí)施例中,所述第一應(yīng)用協(xié)議和所述第二應(yīng)用協(xié)議相同。在一些實(shí)施例中,所述程序指令還使得所述處理器判斷所述第一附件或所述第二附件是否與所述移動(dòng)計(jì)算設(shè)備可通信地相耦合。一種移動(dòng)通信設(shè)備包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并且/或者被配置為與第一附件和第二附件交換命令和數(shù)據(jù),該通信接口具有第一通信端口和第二通信端口 ;存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);和/或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且/或者可通信地與所述存儲(chǔ)器和所述通信接口相耦合。 該控制邏輯被配置為在第一通信端口與由該控制邏輯運(yùn)行的第一應(yīng)用之間建立第一通信會(huì)話;利用第一應(yīng)用協(xié)議通過第一通信會(huì)話與第一附件通信;在第二通信端口與由控制邏輯運(yùn)行的第二應(yīng)用之間建立第二通信會(huì)話;以及/或者利用第二應(yīng)用協(xié)議通過第二通信會(huì)話與第二附件通信。在一些實(shí)施例中,控制邏輯還可被配置為利用附件通信協(xié)議為第一應(yīng)用通信協(xié)議消息提供隧道。在一些實(shí)施例中,附件通信協(xié)議可以不同于第一應(yīng)用通信協(xié)議。 在一些實(shí)施例中,控制邏輯還可被配置為利用附件通信協(xié)議為第二應(yīng)用通信協(xié)議消息提供隧道。在一些實(shí)施例中,附件通信協(xié)議可以不同于第二應(yīng)用通信協(xié)議。提供了在移動(dòng)計(jì)算設(shè)備處運(yùn)行的另一方法。該方法可以包括接收附件可以在通信端口處與移動(dòng)計(jì)算設(shè)備可通信地相耦合的指示;判斷附件支持利用附件協(xié)議和應(yīng)用協(xié)議兩者與移動(dòng)計(jì)算設(shè)備的通信;通過通信端口在附件與在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用之間建立通信會(huì)話;和/或利用該通信會(huì)話從應(yīng)用向附件發(fā)送消息,其中消息是應(yīng)用協(xié)議消息。在一些實(shí)施例中,附件協(xié)議和應(yīng)用協(xié)議不同。在一些實(shí)施例中,該方法可以包括從附件接收對(duì)附件支持該應(yīng)用協(xié)議的指示。在一些實(shí)施例中,該方法還可以包括將應(yīng)用協(xié)議消息封裝在附件協(xié)議消息內(nèi)。提供了一種用于在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用與附件之間建立通信會(huì)話的方法。 該方法可在移動(dòng)計(jì)算設(shè)備處運(yùn)行并且可以包括從應(yīng)用接收對(duì)與附件有關(guān)的信息的請(qǐng)求; 向應(yīng)用提供附件信息,其中附件信息可以包括可與附件兼容的至少一個(gè)應(yīng)用通信協(xié)議的標(biāo)識(shí)符;接收對(duì)在所述附件與所述應(yīng)用之間利用所述應(yīng)用通信協(xié)議進(jìn)行通信的通信會(huì)話的請(qǐng)求;從所述應(yīng)用接收消息,其中該消息可根據(jù)所述應(yīng)用通信協(xié)議被格式化;將該消息與附件通信協(xié)議包裝材料包裝在一起;和/或?qū)⑺鱿鬏斀o所述附件,其中所述消息可根據(jù)與所述應(yīng)用通信協(xié)議不同的附件通信協(xié)議被傳輸。在一些實(shí)施例中,所述附件通信協(xié)議包裝材料可包括隧道傳輸命令。在一些實(shí)施例中,至少一個(gè)應(yīng)用通信協(xié)議的標(biāo)識(shí)符可以包括以反向域名格式提供的標(biāo)識(shí)符。在一些實(shí)施例中,該方法還可以包括從所述附件接收消息,其中該消息可根據(jù)附件通信協(xié)議被格式化;從所述消息剝除所述附件通信協(xié)議包裝材料;以及/或者將所述消息發(fā)送給所述應(yīng)用,其中該消息可根據(jù)所述應(yīng)用通信協(xié)議被傳輸。 在一些實(shí)施例中,該方法還可以包括監(jiān)視通信接口處的附件連接;和/或當(dāng)附件與所述通信接口可通信地相耦合時(shí),接收包括附件能力的能力消息,其中所述消息包括與所述附件兼容的至少一個(gè)應(yīng)用通信協(xié)議的標(biāo)識(shí)符。再一些實(shí)施例中,所述能力消息可根據(jù)所述附件通信協(xié)議被格式化。一種移動(dòng)計(jì)算設(shè)備可包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并且/或者被配置為利用附件通信協(xié)議與附件交換命令和數(shù)據(jù);存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);和/或控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且/或者可通信地與所述存儲(chǔ)器和所述通信接口相耦合,所述控制邏輯被配置為運(yùn)行應(yīng)用以及作為后臺(tái)處理的附件管理器。作為附件管理器運(yùn)行的所述控制邏輯被配置為監(jiān)視所述通信接口處的與所述通信接口相耦合的附件;當(dāng)附件與通信接口相耦合時(shí),利用所述附件通信協(xié)議從所述附件接收包括兼容應(yīng)用協(xié)議的附件能力信息;從所述附件接收與附件通信協(xié)議包裝材料包裝在一起的按應(yīng)用通信協(xié)議格式化的消息;從所述消息剝除所述附件通信協(xié)議包裝材料;以及/或者將消息傳輸給所述應(yīng)用。在一些實(shí)施例中,所述附件能力是利用所述附件通信協(xié)議接收的。在一些實(shí)施例中,作為附件管理器運(yùn)行的所述控制邏輯還可被配置為建立輸入數(shù)據(jù)流以使得能從該輸入數(shù)據(jù)流讀取數(shù)據(jù)。在一些實(shí)施例中,作為附件管理器運(yùn)行的所述控制邏輯利用所述輸入數(shù)據(jù)流將從所述附件接收的消息傳輸給所述應(yīng)用。在一些實(shí)施例中,作為附件管理器運(yùn)行的所述控制邏輯還可被配置為從所述應(yīng)用接收按應(yīng)用通信協(xié)議格式化的消息;將所述附件通信協(xié)議消息與附件通信協(xié)議包裝材料包裝在一起;以及/ 或者將所述消息傳輸給所述附件。在一些實(shí)施例中,作為附件管理器運(yùn)行的所述控制邏輯還可被配置為建立輸出數(shù)據(jù)流以使得數(shù)據(jù)能由應(yīng)用寫入所述輸出數(shù)據(jù)流并發(fā)送給所述附件。在一些實(shí)施例中,作為附件管理器運(yùn)行的所述控制邏輯將從所述輸出數(shù)據(jù)流接收的消息傳輸給所述附件。提供了另一方法。該方法可以包括在移動(dòng)計(jì)算設(shè)備的附件接口出監(jiān)視對(duì)附件已與附件接口可通信地相耦合的指示;當(dāng)附件可與附件接口可通信地相耦合時(shí),從附件接收能力信息,其中該能力信息可以利用附件通信協(xié)議來接收,和/或能力信息可以包括指示與附件兼容的一個(gè)或多個(gè)應(yīng)用通信協(xié)議的信息;為在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用建立輸入數(shù)據(jù)流,其中從附件接收的被包裝在附件通信協(xié)議包裝材料中的應(yīng)用消息可以從附件通信協(xié)議包裝材料被剝離并且利用輸入數(shù)據(jù)流被寫入應(yīng)用;并且/或者為應(yīng)用建立輸出數(shù)據(jù)流,其中從應(yīng)用寫入輸出數(shù)據(jù)流的應(yīng)用消息可被包裝在附件通信協(xié)議包裝材料中并且通過附件接口被發(fā)送給附件。在一些實(shí)施例中,附件接口可以包括無線通信接口。在一些實(shí)施例中,指示一個(gè)或多個(gè)應(yīng)用通信協(xié)議的信息可以利用反向域名格式來提供。還提供了一種在移動(dòng)計(jì)算設(shè)備上運(yùn)行的方法。該方法可以包括從在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用接收對(duì)利用應(yīng)用協(xié)議在移動(dòng)計(jì)算設(shè)備與外部附件之間進(jìn)行通信會(huì)話的請(qǐng)求;判斷該應(yīng)用協(xié)議是否可被附件支持;當(dāng)該應(yīng)用協(xié)議可由附件支持時(shí),向應(yīng)用提供輸入流和輸出流以用于利用該應(yīng)用協(xié)議與附件通信;通過輸出流從應(yīng)用接收消息,其中該消息可以根據(jù)該應(yīng)用協(xié)議被格式化;將該消息包裝在附件協(xié)議消息內(nèi);并且/或者將該消息發(fā)送給附件。在一些實(shí)施例中,該判斷還包括在查找表中查找該應(yīng)用協(xié)議。在一些實(shí)施例中, 該方法可以包括從附件接收消息,其中該消息可以是被包裝在附件協(xié)議消息內(nèi)的應(yīng)用協(xié)議消息;從應(yīng)用協(xié)議消息解除附件協(xié)議包裝材料;并且/或者將應(yīng)用協(xié)議消息寫入應(yīng)用的輸入流。提供了在移動(dòng)計(jì)算設(shè)備上運(yùn)行的另一方法。該方法包括在第一應(yīng)用與第一附件之間舉行第一通信會(huì)話,其中該通信會(huì)話利用第一通信協(xié)議在第一應(yīng)用與第一附件之間提供通信;從第一應(yīng)用接收第一消息;將包裝在附件協(xié)議包裝材料內(nèi)的第一消息發(fā)送給附件;在第二應(yīng)用與第一附件之間舉行第二通信會(huì)話,其中該通信會(huì)話利用第二通信協(xié)議在第一應(yīng)用與第一附件之間提供通信,其中該第一和第二應(yīng)用協(xié)議不同;并且/或者從第二
40應(yīng)用接收第二消息并且將包裝在附件協(xié)議包裝材料內(nèi)的第二消息發(fā)送給附件。提供了一種包含程序指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)程序指令由移動(dòng)計(jì)算設(shè)備的處理器運(yùn)行時(shí)使得處理器執(zhí)行方法。該方法可以包括從附件管理器請(qǐng)求附件信息,其中該附件管理器可以是在移動(dòng)計(jì)算設(shè)備處運(yùn)行的后臺(tái)處理并且在運(yùn)行在移動(dòng)計(jì)算設(shè)備中的應(yīng)用和與移動(dòng)計(jì)算設(shè)備可通信地相耦合的附件之間提供通信連接;當(dāng)附件與所述移動(dòng)計(jì)算設(shè)備可通信地相耦合時(shí),從所述附件管理器接收附件標(biāo)識(shí)符以及指定了與所述附件兼容的至少一個(gè)應(yīng)用通信協(xié)議的一個(gè)或多個(gè)協(xié)議標(biāo)識(shí)符;判斷所述應(yīng)用與所述至少一個(gè)應(yīng)用協(xié)議是否可兼容;當(dāng)所述應(yīng)用可兼容時(shí),舉行會(huì)話以利用所述應(yīng)用通信協(xié)議通過所述附件管理器來與所述附件通信;以及/或者利用所述附件通信協(xié)議與所述附件通信。在一些實(shí)施例中,協(xié)議標(biāo)識(shí)符可利用反向域名協(xié)定被格式化。在一些實(shí)施例中,與所述附件的通信可包括從所述附件管理器接收輸出流;以及/或者根據(jù)所述應(yīng)用通信協(xié)議向輸入流寫入數(shù)據(jù)。在一些實(shí)施例中,與所述附件的通信可包括從所述附件管理器接收輸入流;以及/或者從所述輸入流接收根據(jù)所述應(yīng)用通信協(xié)議被格式化的數(shù)據(jù)。一種應(yīng)用利用應(yīng)用管理器與附件建立通信的方法。該方法可以包括從所述應(yīng)用管理器接收指定了與所述附件兼容的應(yīng)用協(xié)議的指示;從所述應(yīng)用管理器接收輸入流和輸出流以用于利用所述應(yīng)用協(xié)議與所述附件通信;以及/或者此后,將用于所述附件的應(yīng)用協(xié)議消息寫入所述輸出流。在一些實(shí)施例中,該方法還可以包括向所述應(yīng)用管理器發(fā)送應(yīng)用協(xié)議信息,其中所述應(yīng)用協(xié)議信息可以包括對(duì)所述應(yīng)用所支持的應(yīng)用協(xié)議的指示。在一些實(shí)施例中,與所述附件兼容的應(yīng)用協(xié)議可以是由所述應(yīng)用發(fā)送的所述應(yīng)用協(xié)議信息所指示的應(yīng)用協(xié)議。在一些實(shí)施例中,應(yīng)用協(xié)議信息所指示的應(yīng)用協(xié)議指示使用反向域名協(xié)定的應(yīng)用協(xié)議。公開了一種由在移動(dòng)計(jì)算設(shè)備上運(yùn)行的應(yīng)用執(zhí)行的方法。該方法包括從應(yīng)用管理器請(qǐng)求附件信息,其中附件信息可以包括指示與移動(dòng)計(jì)算設(shè)備可通信地相耦合的附件所支持的一個(gè)或多個(gè)應(yīng)用協(xié)議的信息;判斷附件支持的應(yīng)用協(xié)議是否與應(yīng)用支持的應(yīng)用協(xié)議相匹配;當(dāng)應(yīng)用協(xié)議相匹配時(shí),請(qǐng)求用于利用該應(yīng)用協(xié)議與附件通信的輸入流和輸出流; 接收輸入流和輸出流;并且/或者此后,將用于附件的應(yīng)用協(xié)議消息寫入輸出流。在一些實(shí)施例中,該方法可以包括利用輸入流讀取來自附件的應(yīng)用協(xié)議消息。在一些實(shí)施例中,附件信息指示使用反向域名協(xié)定的應(yīng)用協(xié)議。在一些實(shí)施例中,附件信息可被存儲(chǔ)在表中并且附件信息可以是去往與附件信息相關(guān)聯(lián)的元數(shù)據(jù)的存儲(chǔ)位置的指示符。提供了一種由運(yùn)行在移動(dòng)計(jì)算設(shè)備上的應(yīng)用執(zhí)行的方法。該方法包括訪問表,該表包含指示與移動(dòng)計(jì)算設(shè)備相耦合的附件所支持的應(yīng)用協(xié)議;判斷應(yīng)用所支持的應(yīng)用協(xié)議是否與該表中的應(yīng)用協(xié)議相匹配;當(dāng)應(yīng)用協(xié)議相匹配時(shí),舉行通信會(huì)話以利用該匹配應(yīng)用與附件通信;接收輸入流和輸出流;并且/或者此后,將用于附件的應(yīng)用協(xié)議消息寫入該輸出流。在一些實(shí)施例中,該表可以包括與附件相關(guān)聯(lián)的多個(gè)應(yīng)用協(xié)議,并且/或者該應(yīng)用判斷該應(yīng)用支持的應(yīng)用協(xié)議是否與該表中的任一應(yīng)用協(xié)議相匹配。在一些實(shí)施例中,該方法還可以包括利用輸入流來讀取來自附件的應(yīng)用協(xié)議消息。在一些實(shí)施例中,附件信息指示利用反向域名協(xié)定被格式化的應(yīng)用協(xié)議。電路、邏輯模塊、處理器和/或其它組件在這里可被描述為“被配置”為執(zhí)行各種操作。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,取決于實(shí)現(xiàn)方式,這樣的配置可通過對(duì)特定組件的設(shè)計(jì)、設(shè)置、互連和/或編程來實(shí)現(xiàn),并且再次地取決于實(shí)現(xiàn)方式,被配置組件可以或不可以被重新配置用于不同操作。例如,可編程處理器可以通過提供合適的可執(zhí)行代碼而被配置;專用邏輯電路可以通過合適地連接邏輯門和其它電路元件而被配置;等等。雖然上述實(shí)施例可涉及到具體硬件和軟件組件,然而本領(lǐng)域技術(shù)人員將理解,還可以使用硬件和/或軟件組件的不同組合并且被描述為用硬件實(shí)現(xiàn)的特定操作也可以用軟件來實(shí)現(xiàn),或者反之,被描述為用軟件實(shí)現(xiàn)的特定操作也可以用硬件來實(shí)現(xiàn)。包含有本發(fā)明的各個(gè)特征的計(jì)算機(jī)程序可被編碼在各種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上; 合適的介質(zhì)包括磁盤或磁帶、光存儲(chǔ)介質(zhì)(例如致密盤(CD)或DVD(數(shù)字通用盤))、閃存等。編碼有程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以與兼容設(shè)備封裝在一起或者與其它設(shè)備分開地被提供。另外,程序代碼可以被編碼并且經(jīng)由遵循多種協(xié)議的有線、光學(xué)和/或無線網(wǎng)絡(luò)(包括因特網(wǎng))被發(fā)送,從而允許例如經(jīng)由因特網(wǎng)下載而被分發(fā)。雖然在本公開中關(guān)于單個(gè)實(shí)施例描述了示例和/或細(xì)節(jié),然而這些示例或細(xì)節(jié)可結(jié)合這里描述的任何實(shí)施例被使用。因此,雖然相對(duì)于具體實(shí)施例描述了本發(fā)明,然而將理解,本發(fā)明意圖涵蓋落在所附權(quán)利要求范圍內(nèi)的所有修改和等同物。
權(quán)利要求
1.一種用于在附件設(shè)備和在移動(dòng)計(jì)算設(shè)備上執(zhí)行的應(yīng)用之間通信的方法,該方法在所述附件設(shè)備處操作,該方法包括利用附件通信協(xié)議向所述移動(dòng)設(shè)備傳輸指定了至少一個(gè)應(yīng)用通信協(xié)議的信息;以及利用所述附件通信協(xié)議與在所述移動(dòng)設(shè)備處運(yùn)行的應(yīng)用通信。
2.根據(jù)權(quán)利要求1所述的方法,其中,與在所述移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用通信包括 在附件通信協(xié)議分組內(nèi)隧道傳輸應(yīng)用通信協(xié)議分組。
3.根據(jù)權(quán)利要求1所述的方法,還包括從運(yùn)行在所述移動(dòng)通信設(shè)備上的應(yīng)用接收應(yīng)用通信協(xié)議命令,并且對(duì)其響應(yīng)來改變所述附件的狀態(tài)。
4.根據(jù)權(quán)利要求1所述的方法,還包括響應(yīng)于來自運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用的命令,向運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用發(fā)送數(shù)據(jù),其中所述數(shù)據(jù)利用所述應(yīng)用通信協(xié)議被發(fā)送,并且所述命令利用所述附件通信協(xié)議被接收。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述指定了至少一個(gè)應(yīng)用通信協(xié)議的信息按反向域名協(xié)定被提供。
6.根據(jù)權(quán)利要求1所述的方法,還包括使用所述附件通信協(xié)議利用所述附件來控制所述移動(dòng)計(jì)算設(shè)備的功能。
7.一種附件設(shè)備,包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并且被配置為與移動(dòng)計(jì)算設(shè)備交換命令和數(shù)據(jù),所述通信接口至少具有一個(gè)端口 ;以及控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi),并且可通信地與所述通信接口相耦合,所述控制邏輯被配置為利用附件通信協(xié)議通過所述通信接口與運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的操作系統(tǒng)通信;以及利用附件通信協(xié)議通過所述通信接口與運(yùn)行在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用通信。
8.根據(jù)權(quán)利要求7所述的附件設(shè)備,其中,所述通信接口包括無線通信接口。
9.一種用于在附件設(shè)備和在移動(dòng)設(shè)備上運(yùn)行的應(yīng)用之間通信的方法,該方法在所述移動(dòng)設(shè)備處操作,該方法包括識(shí)別附件設(shè)備,其中所述識(shí)別使用了附件通信協(xié)議;從所述附件設(shè)備接收指定了應(yīng)用通信協(xié)議的信息,其中所述信息是利用所述附件通信協(xié)議接收的;在所述移動(dòng)計(jì)算設(shè)備處運(yùn)行應(yīng)用;以及利用所述附件通信協(xié)議從所述應(yīng)用與所述附件設(shè)備通信。
10.根據(jù)權(quán)利要求9所述的方法,還包括判斷所述應(yīng)用協(xié)議是否被列出在所述移動(dòng)計(jì)算設(shè)備處的協(xié)議表中,其中,所述協(xié)議表包括所述移動(dòng)計(jì)算設(shè)備處的應(yīng)用所支持的協(xié)議。
11.根據(jù)權(quán)利要求10所述的方法,還包括在所述協(xié)議表不包括所述應(yīng)用協(xié)議的情況中,下載支持所述應(yīng)用協(xié)議的應(yīng)用。
12.根據(jù)權(quán)利要求9所述的方法,其中,來自所述附件設(shè)備的所述指定了應(yīng)用通信協(xié)議的信息利用反向域名協(xié)定來指定一個(gè)應(yīng)用通信協(xié)議。
13.—種移動(dòng)計(jì)算設(shè)備,包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并被配置為與附件交換命令和數(shù)據(jù);存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);以及控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi),并且可通信地與所述存儲(chǔ)器和所述通信接口相耦合,所述控制邏輯被配置為通過所述通信接口從附件設(shè)備接收應(yīng)用通信協(xié)議信息,其中所述應(yīng)用通信協(xié)議信息包括所述附件所支持的應(yīng)用通信協(xié)議的標(biāo)識(shí),并且其中所述應(yīng)用通信協(xié)議信息是利用附件通信協(xié)議從所述附件接收的;通過將應(yīng)用通信協(xié)議分組包封在附件通信協(xié)議分組內(nèi)來創(chuàng)建經(jīng)包封的分組;以及經(jīng)由所述通信接口將所述經(jīng)包封的分組發(fā)送給所述附件。
14.根據(jù)權(quán)利要求13所述的移動(dòng)計(jì)算設(shè)備,其中,所述通信接口是無線通信接口。
15.根據(jù)權(quán)利要求13所述的移動(dòng)計(jì)算設(shè)備,還包括存儲(chǔ)在所述存儲(chǔ)器中的協(xié)議表,其中所述協(xié)議表包括安裝在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用所支持的應(yīng)用協(xié)議的列表。
16.一種在移動(dòng)計(jì)算設(shè)備處操作的方法,該方法包括從附件設(shè)備接收應(yīng)用協(xié)議標(biāo)識(shí)符,其中所接收的應(yīng)用協(xié)議標(biāo)識(shí)符包括反向域名格式的數(shù)據(jù)串并且與應(yīng)用通信協(xié)議相關(guān)聯(lián);以及判斷所接收的應(yīng)用協(xié)議標(biāo)識(shí)符是否與在所述移動(dòng)計(jì)算設(shè)備處的存儲(chǔ)器中所存儲(chǔ)的協(xié)議表中所列出的應(yīng)用協(xié)議標(biāo)識(shí)符相匹配,然后,利用所述應(yīng)用通信協(xié)議與所述附件通信,其中所述協(xié)議表包括與可在所述移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用相關(guān)聯(lián)的一個(gè)或多個(gè)應(yīng)用協(xié)議標(biāo)識(shí)符。
17.根據(jù)權(quán)利要求16所述的方法,還包括在所接收的應(yīng)用協(xié)議標(biāo)識(shí)符與所述協(xié)議表中的應(yīng)用協(xié)議標(biāo)識(shí)符相匹配的情況中,運(yùn)行與所述協(xié)議表中的應(yīng)用協(xié)議標(biāo)識(shí)符相關(guān)聯(lián)的應(yīng)用。
18.根據(jù)權(quán)利要求16所述的方法,還包括利用與所接收的應(yīng)用協(xié)議標(biāo)識(shí)符相匹配的關(guān)聯(lián)應(yīng)用協(xié)議標(biāo)識(shí)符來下載應(yīng)用。
19.一種移動(dòng)計(jì)算設(shè)備,包括 殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并被配置為與附件交換命令和數(shù)據(jù);存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi),所述存儲(chǔ)器包括列出了與應(yīng)用兼容的協(xié)議的所支持應(yīng)用協(xié)議列表,其中所支持應(yīng)用協(xié)議包括安裝在所述移動(dòng)計(jì)算設(shè)備上的應(yīng)用所支持的應(yīng)用協(xié)議;以及控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi),并且與所述存儲(chǔ)器和所述通信接口可通信地耦合,所述控制邏輯被配置為從附件接收標(biāo)識(shí)所述附件所支持的應(yīng)用協(xié)議的消息;判斷所述應(yīng)用協(xié)議是否與存儲(chǔ)在所支持應(yīng)用協(xié)議列表中的所支持應(yīng)用協(xié)議相匹配;以及在發(fā)現(xiàn)相匹配的情況中,運(yùn)行與匹配該應(yīng)用協(xié)議的所支持附件相關(guān)聯(lián)的應(yīng)用。
20.根據(jù)權(quán)利要求19所述的方法,其中,從附件接收的消息標(biāo)識(shí)基于因特網(wǎng)的地址,在所述基于因特網(wǎng)的地址處可以找到支持該應(yīng)用協(xié)議的應(yīng)用。
21.根據(jù)權(quán)利要求20所述的方法,還包括從所述基于因特網(wǎng)的地址下載所述應(yīng)用。
22.根據(jù)權(quán)利要求21所述的方法,還包括將所述應(yīng)用安裝在所述移動(dòng)計(jì)算設(shè)備中,并運(yùn)行所述應(yīng)用。
23.—種移動(dòng)通信設(shè)備,包括殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并被配置為與附件交換命令和數(shù)據(jù),所述通信接口具有第一通信端口和第二通信端口 ;存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);以及控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且與所述存儲(chǔ)器和所述通信接口可通信地耦合,所述控制邏輯被配置為利用第一應(yīng)用通信協(xié)議通過所述第一通信端口與第一附件通信;以及利用第二應(yīng)用通信協(xié)議通過所述第二通信端口與第二附件通信。
24.根據(jù)權(quán)利要求23所述的移動(dòng)通信設(shè)備,其中,所述第一通信端口或所述第二通信端口中的至少一者包括無線通信端口。
25.根據(jù)權(quán)利要求23所述的移動(dòng)通信設(shè)備,其中,所述第一應(yīng)用通信協(xié)議和所述第二應(yīng)用通信協(xié)議不同。
26.根據(jù)權(quán)利要求23所述的移動(dòng)通信設(shè)備,其中,所述控制邏輯還被配置為利用附件通信協(xié)議通過所述第一通信端口與所述第一附件通信并且通過所述第二附件通信端口與所述第二附件通信。
27.根據(jù)權(quán)利要求23所述的移動(dòng)通信設(shè)備,其中,所述控制邏輯還被配置為通過所述第一端口建立用于與所述第一附件通信的第一通信會(huì)話。
28.根據(jù)權(quán)利要求23所述的移動(dòng)通信設(shè)備,其中,所述控制邏輯還被配置為通過所述第一端口建立用于與所述第二附件通信的第二通信會(huì)話。
29.根據(jù)權(quán)利要求23所述的移動(dòng)通信設(shè)備,其中,所述通信接口包括第三通信端口,并且所述控制邏輯還被配置為利用第三應(yīng)用通信協(xié)議通過所述第三通信端口與第三附件通
30.一種包含程序指令的計(jì)算機(jī)可讀介質(zhì),所述程序指令在被移動(dòng)計(jì)算設(shè)備的處理器運(yùn)行時(shí)使得所述處理器執(zhí)行方法,該方法包括請(qǐng)求用于與第一附件通信的第一通信會(huì)話;接收用于所述第一通信會(huì)話的會(huì)話標(biāo)識(shí)符;利用第一應(yīng)用協(xié)議通過所述第一通信會(huì)話與所述第一附件通信;請(qǐng)求用于與第二附件通信的第二通信會(huì)話;接收用于所述第二通信會(huì)話的會(huì)話標(biāo)識(shí)符;以及利用第二應(yīng)用協(xié)議通過所述第二通信會(huì)話與所述第二附件通信。
31.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),其中,所述第一應(yīng)用協(xié)議和所述第二應(yīng)用協(xié)議不同。
32.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),其中,所述第一應(yīng)用協(xié)議和所述第二應(yīng)用協(xié)議相同。
33.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),其中,所述程序指令還使得所述處理器判斷所述第一附件或所述第二附件是否與所述移動(dòng)計(jì)算設(shè)備可通信地耦合。
34.一種用于在運(yùn)行在移動(dòng)計(jì)算設(shè)備上的應(yīng)用和與所述移動(dòng)計(jì)算設(shè)備通信的附件之間建立通信會(huì)話的方法,該方法在所述移動(dòng)計(jì)算設(shè)備處執(zhí)行,該方法包括接收來自所述應(yīng)用的對(duì)與所述附件有關(guān)的信息的請(qǐng)求;向所述應(yīng)用提供附件信息,其中所述附件信息包括與所述附件兼容的至少一個(gè)應(yīng)用通信協(xié)議的標(biāo)識(shí)符;接收對(duì)在所述附件與所述應(yīng)用之間用于利用所述應(yīng)用通信協(xié)議進(jìn)行通信的通信會(huì)話的請(qǐng)求;從所述應(yīng)用接收消息,其中所述消息根據(jù)所述應(yīng)用通信協(xié)議被格式化; 將所述消息與附件通信協(xié)議包裝材料包裝在一起;以及將所述消息傳輸給所述附件,其中所述消息是根據(jù)與所述應(yīng)用通信協(xié)議不同的附件通信協(xié)議被傳輸?shù)摹?br>
35.根據(jù)權(quán)利要求34所述的方法,其中,所述附件通信協(xié)議包裝材料包括隧道傳輸命令。
36.根據(jù)權(quán)利要求34所述的方法,其中,所述至少一個(gè)應(yīng)用通信協(xié)議的標(biāo)識(shí)符包括以反向域名格式提供的標(biāo)識(shí)符。
37.根據(jù)權(quán)利要求34所述的方法,還包括從所述附件接收消息,其中所述消息根據(jù)附件通信協(xié)議被格式化; 從所述消息剝除所述附件通信協(xié)議包裝材料;以及將所述消息發(fā)送給所述應(yīng)用,其中所述消息是根據(jù)所述應(yīng)用通信協(xié)議被傳輸?shù)摹?br>
38.根據(jù)權(quán)利要求34所述的方法,還包括 監(jiān)視通信接口處的附件連接;在附件與所述通信接口可通信地耦合的情況下,接收包括附件能力的能力消息,其中所述消息包括與所述附件兼容的至少一個(gè)應(yīng)用通信協(xié)議的標(biāo)識(shí)符。
39.根據(jù)權(quán)利要求38所述的方法,其中,所述能力消息根據(jù)所述附件通信協(xié)議被格式化。
40.一種移動(dòng)計(jì)算設(shè)備,包括 殼體;通信接口,該通信接口至少部分地被設(shè)置在所述殼體內(nèi),并被配置為利用附件通信協(xié)議與附件交換命令和數(shù)據(jù);存儲(chǔ)器,該存儲(chǔ)器被設(shè)置在所述殼體內(nèi);以及控制邏輯,該控制邏輯被設(shè)置在所述殼體內(nèi)并且與所述存儲(chǔ)器和所述通信接口可通信地耦合,所述控制邏輯被配置為運(yùn)行應(yīng)用以及作為后臺(tái)處理的附件管理器,其中作為附件管理器運(yùn)行的所述控制邏輯被配置為針對(duì)附件與所述通信接口的耦合而監(jiān)視所述通信接口;在附件與通信接口相耦合的情況下,利用所述附件通信協(xié)議從所述附件接收包括兼容應(yīng)用協(xié)議的附件能力信息;從所述附件接收與附件通信協(xié)議包裝材料包裝在一起的按應(yīng)用通信協(xié)議格式化的消息;從所述消息剝除所述附件通信協(xié)議包裝材料;以及將消息傳輸給所述應(yīng)用。
41.根據(jù)權(quán)利要求40所述的移動(dòng)計(jì)算設(shè)備,其中,所述附件能力是利用所述附件通信協(xié)議接收的。
42.根據(jù)權(quán)利要求40所述的移動(dòng)計(jì)算設(shè)備,其中,作為附件管理器運(yùn)行的所述控制邏輯還被配置為建立輸入數(shù)據(jù)流使得能從該輸入數(shù)據(jù)流讀取數(shù)據(jù)。
43.根據(jù)權(quán)利要求42所述的移動(dòng)計(jì)算設(shè)備,其中,作為附件管理器運(yùn)行的所述控制邏輯利用所述輸入數(shù)據(jù)流將從所述附件接收的消息傳輸給所述應(yīng)用。
44.根據(jù)權(quán)利要求40所述的移動(dòng)計(jì)算設(shè)備,其中,作為附件管理器運(yùn)行的所述控制邏輯還被配置為從所述應(yīng)用接收按應(yīng)用通信協(xié)議格式化的消息;將所述附件通信協(xié)議消息與附件通信協(xié)議包裝材料包裝在一起;以及將所述消息傳輸給所述附件。
45.根據(jù)權(quán)利要求44所述的移動(dòng)計(jì)算設(shè)備,其中,作為附件管理器運(yùn)行的所述控制邏輯還被配置為建立輸出數(shù)據(jù)流使得數(shù)據(jù)能被應(yīng)用寫入所述輸出數(shù)據(jù)流并被發(fā)送給所述附件。
46.根據(jù)權(quán)利要求45所述的移動(dòng)計(jì)算設(shè)備,其中,作為附件管理器運(yùn)行的所述控制邏輯將從所述輸出數(shù)據(jù)流接收的消息傳輸給所述附件。
47.一種包含程序指令的計(jì)算機(jī)可讀介質(zhì),所述程序指令在被移動(dòng)計(jì)算設(shè)備的處理器運(yùn)行時(shí)使得所述處理器執(zhí)行方法,該方法包括從附件管理器請(qǐng)求附件信息,其中所述附件管理器是運(yùn)行在所述移動(dòng)計(jì)算設(shè)備處的后臺(tái)處理,并且所述附件管理器在運(yùn)行在所述移動(dòng)計(jì)算設(shè)備處的應(yīng)用和與所述移動(dòng)計(jì)算設(shè)備可通信地耦合的附件之間提供通信連接;在附件與所述移動(dòng)計(jì)算設(shè)備可通信地相耦合的情況下,從所述附件管理器接收附件標(biāo)識(shí)符以及指定了與所述附件兼容的至少一個(gè)應(yīng)用通信協(xié)議的一個(gè)或多個(gè)協(xié)議標(biāo)識(shí)符; 判斷所述應(yīng)用與所述至少一個(gè)應(yīng)用協(xié)議是否兼容;在所述應(yīng)用兼容的情況下,舉行會(huì)話以利用所述應(yīng)用通信協(xié)議通過所述附件管理器來與所述附件通信;以及利用所述附件通信協(xié)議與所述附件通信。
48.根據(jù)權(quán)利要求47所述的計(jì)算機(jī)可讀介質(zhì),其中,協(xié)議標(biāo)識(shí)符利用反向域名協(xié)定被格式化。
49.根據(jù)權(quán)利要求47所述的計(jì)算機(jī)可讀介質(zhì),其中,與所述附件的通信包括 從所述附件管理器接收輸出流;以及根據(jù)所述應(yīng)用通信協(xié)議向輸入流寫入數(shù)據(jù)。
50.根據(jù)權(quán)利要求47所述的計(jì)算機(jī)可讀介質(zhì),其中,與所述附件的通信包括 從所述附件管理器接收輸入流;以及從所述輸入流接收根據(jù)所述應(yīng)用通信協(xié)議被格式化的數(shù)據(jù)。
51.一種應(yīng)用利用應(yīng)用管理器與附件建立通信的方法,該方法包括 從所述應(yīng)用管理器接收指定了與所述附件兼容的應(yīng)用協(xié)議的指示;從所述應(yīng)用管理器接收輸入流和輸出流以用于利用所述應(yīng)用協(xié)議與所述附件通信;以及此后,將用于所述附件的應(yīng)用協(xié)議消息寫入所述輸出流。
52.根據(jù)權(quán)利要求51所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括向所述應(yīng)用管理器發(fā)送應(yīng)用協(xié)議信息,其中所述應(yīng)用協(xié)議信息包括對(duì)所述應(yīng)用所支持的應(yīng)用協(xié)議的指示。
53.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,與所述附件兼容的應(yīng)用協(xié)議是由所述應(yīng)用發(fā)送的所述應(yīng)用協(xié)議信息所指示的應(yīng)用協(xié)議。
全文摘要
本發(fā)明的實(shí)施例提供了用于移動(dòng)計(jì)算設(shè)備與附件之間的通信的各種通信技術(shù)。移動(dòng)計(jì)算設(shè)備通用的附件協(xié)議可被用于一些通信。在移動(dòng)計(jì)算設(shè)備處運(yùn)行的應(yīng)用可以利用應(yīng)用通信協(xié)議來與附件通信。在一些實(shí)施例中,該應(yīng)用通信協(xié)議可以與附件通信協(xié)議不同。在其它實(shí)施例中,該應(yīng)用協(xié)議可以僅被應(yīng)用和附件識(shí)別。在一些實(shí)施例中,可以通過將遵守應(yīng)用協(xié)議的消息封裝在遵守附件通信協(xié)議的消息內(nèi)來在應(yīng)用與附件之間傳輸消息。
文檔編號(hào)H04J3/16GK102428665SQ201080021428
公開日2012年4月25日 申請(qǐng)日期2010年3月11日 優(yōu)先權(quán)日2009年3月16日
發(fā)明者保羅·霍爾登, 勞倫斯·G·波爾頓, 尼汀·加納特拉, 彼得·T·蘭根費(fèi)爾德, 斯科特·克呂格爾, 米特切爾·安德勒爾, 約翰·M·阿南尼, 耶西·李·多羅古斯克爾, 艾米麗·克拉克·舒爾波特, 詩雅姆·S·特普拉尼 申請(qǐng)人:蘋果公司