專(zhuān)利名稱(chēng):結(jié)合附件的應(yīng)用啟動(dòng)的制作方法
技術(shù)領(lǐng)域:
本公開(kāi)總體上涉及附件與移動(dòng)計(jì)算設(shè)備之間的通信,尤其涉及在移動(dòng)計(jì)算設(shè)備上啟動(dòng)應(yīng)用的附件請(qǐng)求。
背景技術(shù):
移動(dòng)計(jì)算設(shè)備已經(jīng)變得無(wú)處不在。各個(gè)公司都造出了移動(dòng)計(jì)算設(shè)備,例如iPhone 、iPod Touch 、iPad 、各種BlackBdTy0'設(shè)備及與 Google Android 平臺(tái)兼容
的智能電話(huà),這些僅是舉了幾個(gè)例子。移動(dòng)計(jì)算設(shè)備常常包括網(wǎng)絡(luò)瀏覽器、文字處理器、電子郵件應(yīng)用、地圖、電話(huà)服務(wù)、游戲、音頻應(yīng)用、視頻應(yīng)用等。而且,還創(chuàng)建了供移動(dòng)計(jì)算設(shè)備使用的附件。有些附件可以創(chuàng)建成與移動(dòng)計(jì)算設(shè)備上執(zhí)行的一個(gè)具體應(yīng)用或者一組應(yīng)用互相操作。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了用于在與附件通信耦合的移動(dòng)計(jì)算設(shè)備上啟動(dòng)應(yīng)用的技術(shù)。在一組實(shí)施例中,附件可以把命令發(fā)送到移動(dòng)計(jì)算設(shè)備,用于在移動(dòng)計(jì)算設(shè)備上啟動(dòng)應(yīng)用。作為響應(yīng),移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送確認(rèn)消息,指示該應(yīng)用可以被啟動(dòng)。然后可以打開(kāi)一個(gè)通信會(huì)話(huà),以方便附件與移動(dòng)計(jì)算設(shè)備之間的通信。以下具體描述連同附圖一起將提供對(duì)本發(fā)明的本質(zhì)與優(yōu)點(diǎn)的更好理解。
圖1示出了根據(jù)本發(fā)明一些實(shí)施例、利用有線(xiàn)和無(wú)線(xiàn)通信信道與兩個(gè)附件耦合的移動(dòng)計(jì)算設(shè)備。圖2示出了根據(jù)本發(fā)明一種實(shí)施例耦合到一起的移動(dòng)計(jì)算設(shè)備和附件的框圖。圖3是根據(jù)本發(fā)明一些實(shí)施例、在移動(dòng)計(jì)算設(shè)備上發(fā)生的用于啟動(dòng)應(yīng)用的過(guò)程流程圖。圖4是根據(jù)本發(fā)明一些實(shí)施例的附件請(qǐng)求在移動(dòng)計(jì)算設(shè)備啟動(dòng)應(yīng)用的過(guò)程流程圖。圖5是根據(jù)本發(fā)明一些實(shí)施例的在移動(dòng)計(jì)算設(shè)備上發(fā)生的用于啟動(dòng)應(yīng)用的過(guò)程的另一個(gè)流程圖。圖6是根據(jù)本發(fā)明一些實(shí)施例的附件請(qǐng)求在移動(dòng)計(jì)算設(shè)備啟動(dòng)應(yīng)用的過(guò)程的另一個(gè)流程圖。圖7是根據(jù)本發(fā)明一些實(shí)施例的在移動(dòng)計(jì)算設(shè)備上發(fā)生的用于啟動(dòng)應(yīng)用的過(guò)程的另一個(gè)流程圖。圖8是根據(jù)本發(fā)明一些實(shí)施例的附件請(qǐng)求在移動(dòng)計(jì)算設(shè)備啟動(dòng)應(yīng)用的過(guò)程的另一個(gè)流程圖。
具體實(shí)施例方式本發(fā)明的各種實(shí)施例針對(duì)可以被附件用于請(qǐng)求移動(dòng)計(jì)算設(shè)備執(zhí)行或啟動(dòng)應(yīng)用的過(guò)程與系統(tǒng)。例如,附件可以開(kāi)發(fā)成與移動(dòng)計(jì)算設(shè)備執(zhí)行的具體應(yīng)用一起工作。不等待用戶(hù)在移動(dòng)計(jì)算設(shè)備上打開(kāi)和/或執(zhí)行該應(yīng)用,而是附件可以向移動(dòng)計(jì)算設(shè)備發(fā)送請(qǐng)求移動(dòng)計(jì)算設(shè)備執(zhí)行該應(yīng)用的命令。有些情況下,移動(dòng)計(jì)算設(shè)備可以控制是否啟動(dòng)該應(yīng)用、確定移動(dòng)計(jì)算設(shè)備是否處于可以允許新應(yīng)用啟動(dòng)的狀態(tài),等等。因而,在有些實(shí)施例中,附件可以請(qǐng)求啟動(dòng)應(yīng)用,而且該請(qǐng)求會(huì)被移動(dòng)計(jì)算設(shè)備拒絕或批準(zhǔn)。移動(dòng)計(jì)算設(shè)備可以控制何時(shí)及怎樣處理該請(qǐng)求。在有些實(shí)施例中,發(fā)送到移動(dòng)計(jì)算設(shè)備的啟動(dòng)命令可以包括指示具體應(yīng)用或應(yīng)用類(lèi)型的信息。然后,基于這個(gè)信息,移動(dòng)計(jì)算設(shè)備可以確定啟動(dòng)哪些應(yīng)用。在一組實(shí)施例中,響應(yīng)該請(qǐng)求,附件可以等待通信信道的打開(kāi)。一旦通信信道開(kāi)通,應(yīng)用和附件就可以互操作。在有些實(shí)施例中,附件可以從移動(dòng)計(jì)算設(shè)備請(qǐng)求應(yīng)用信息。例如,這可以在初始化階段中進(jìn)行,其中可以交換設(shè)備能力。作為響應(yīng),移動(dòng)計(jì)算設(shè)備可以發(fā)送可用應(yīng)用的列表。利用這個(gè)列表,附件可以發(fā)送包括位掩碼的啟動(dòng)請(qǐng)求,這個(gè)位掩碼對(duì)應(yīng)于可用應(yīng)用中的每一個(gè)??梢月暶魉鑫谎诖a中的一位,以指不應(yīng)用列表中被啟動(dòng)的對(duì)應(yīng)應(yīng)用。啟動(dòng)命令可以包括多個(gè)數(shù)據(jù)元素-例如,具體應(yīng)用的名稱(chēng);應(yīng)用的類(lèi)型(type);應(yīng)用的類(lèi)屬(genus);附件的名稱(chēng),可以用于在查找表中查找應(yīng)用的類(lèi)型;位掩碼,指示要啟動(dòng)的一類(lèi)應(yīng)用或者一個(gè)具體應(yīng)用;將用于通信的通信協(xié)議;或者發(fā)出請(qǐng)求的附件的標(biāo)識(shí)符;對(duì)應(yīng)于應(yīng)用類(lèi)型的代碼;或者可以識(shí)別應(yīng)用或應(yīng)用類(lèi)型的任何其它信息。因?yàn)橐苿?dòng)計(jì)算設(shè)備控制啟動(dòng)哪些應(yīng)用和不啟動(dòng)哪些應(yīng)用,所以移動(dòng)計(jì)算設(shè)備的附件控制可以得到調(diào)節(jié)。但是,雖然有這種控制,附件仍然可以請(qǐng)求移動(dòng)計(jì)算設(shè)備啟動(dòng)應(yīng)用。因而,本發(fā)明的實(shí)施例在應(yīng)用啟動(dòng)的總體控制與在移動(dòng)計(jì)算設(shè)備啟動(dòng)應(yīng)用的附件靈活性之間調(diào)和折中。移動(dòng)計(jì)算設(shè)備與附件圖1示出與附件121和附件124耦合的移動(dòng)計(jì)算設(shè)備102。電纜111用于把移動(dòng)計(jì)算設(shè)備102與附件124耦合。電纜111可以包括與移動(dòng)計(jì)算設(shè)備102連接的連接器108和與附件124連接的連接器110。附件121與移動(dòng)計(jì)算設(shè)備102無(wú)線(xiàn)耦合。移動(dòng)計(jì)算設(shè)備可以是任何類(lèi)型的移動(dòng)計(jì)算和/或通信設(shè)備,沒(méi)有任何限制。例如,iPod Touch 、iPhone 、iPad 、Android 兼容的設(shè)備和 / 或 Blackberry 設(shè)備都可以使用。而且,移動(dòng)計(jì)算設(shè)備102可以提供媒體播放器能力、聯(lián)網(wǎng)、網(wǎng)絡(luò)瀏覽、電子郵件、文字處理、數(shù)據(jù)存儲(chǔ)、應(yīng)用執(zhí)行和/或任何其它計(jì)算或通信功能。附件113可以是能夠與移動(dòng)計(jì)算設(shè)備102通信的任何設(shè)備,例如像外部揚(yáng)聲器系統(tǒng);外部視頻設(shè)備;多媒體設(shè)備;消費(fèi)者電子設(shè)備;測(cè)試儀器;家用電器(例如,冰箱、咖啡機(jī)、環(huán)境控制系統(tǒng)或者洗碗機(jī));健身器材;安全系統(tǒng);家庭或辦公室自動(dòng)化系統(tǒng);照相機(jī);用戶(hù)輸入設(shè)備(例如,鍵盤(pán)、鼠標(biāo)、游戲控制器);測(cè)試設(shè)備;醫(yī)療設(shè)備(例如,葡萄糖監(jiān)視器或者胰島素監(jiān)視器);銷(xiāo)售點(diǎn)設(shè)備;汽車(chē);汽車(chē)附件(例如,汽車(chē)音響系統(tǒng)或者汽車(chē)導(dǎo)航系統(tǒng));無(wú)線(xiàn)電(例如,F(xiàn)M、AM和/或衛(wèi)星);飛機(jī)、公共汽車(chē)、火車(chē)或者其它大型交通工具上的娛樂(lè)控制臺(tái);等等。可以與移動(dòng)計(jì)算設(shè)備結(jié)合使用的任何類(lèi)型的設(shè)備都可以用作附件設(shè)備。圖2示出了根據(jù)一種實(shí)施例與附件202 (例如,實(shí)現(xiàn)附件121或者附件124)耦合的移動(dòng)計(jì)算設(shè)備200 (例如,實(shí)現(xiàn)圖1的移動(dòng)計(jì)算設(shè)備102)的框圖。移動(dòng)計(jì)算設(shè)備200可以包括處理器230、存儲(chǔ)設(shè)備225、用戶(hù)接口(UI) 235、網(wǎng)絡(luò)接口 236和附件輸入/輸出(I/O)接口 205。處理器230可以控制移動(dòng)計(jì)算設(shè)備200的操作,其中處理器230可以實(shí)現(xiàn)為一個(gè)或多個(gè)集成電路(包括例如常規(guī)的微處理器或微控制器)。例如,響應(yīng)由用戶(hù)接口 235提供的用戶(hù)輸入信號(hào),處理器230可以執(zhí)行各種任務(wù),例如選擇并播放可以存儲(chǔ)在存儲(chǔ)設(shè)備225中的媒體資產(chǎn);利用網(wǎng)絡(luò)接口 236訪(fǎng)問(wèn)各種網(wǎng)絡(luò)(例如,移動(dòng)電話(huà)網(wǎng)絡(luò)、互聯(lián)網(wǎng)、局域網(wǎng)等),以便發(fā)送和/或檢索數(shù)據(jù);執(zhí)行駐留在存儲(chǔ)設(shè)備225上的各種應(yīng)用程序(App)226等等。處理器230還可以管理經(jīng)附件I/O接口 205與附件的通信。用戶(hù)接口 235可以包括例如觸控板、觸摸屏、滾輪、點(diǎn)擊輪、撥號(hào)盤(pán)、按鈕、鍵區(qū)、麥克風(fēng)等的輸入控制及例如顯示屏、指示燈、揚(yáng)聲器、耳機(jī)插孔等的輸出設(shè)備,還有配套的電子產(chǎn)品(例如,數(shù)?;蚰?shù)轉(zhuǎn)換器、信號(hào)處理器等)。用戶(hù)可以操作用戶(hù)接口 235的各種輸入控制,來(lái)調(diào)用移動(dòng)計(jì)算設(shè)備200的功能,而且還可以經(jīng)用戶(hù)接口 235看和/或聽(tīng)來(lái)自移動(dòng)計(jì)算設(shè)備200的輸出。存儲(chǔ)設(shè)備225可以例如利用磁盤(pán)、閃存存儲(chǔ)器或者任何其它非易失性存儲(chǔ)介質(zhì)來(lái)實(shí)現(xiàn)。存儲(chǔ)設(shè)備225可以存儲(chǔ)可以由處理器230執(zhí)行的應(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)名稱(chēng)、藝術(shù)家、標(biāo)題、流派等)、播放列表(可以順序或者以隨機(jī)次序播放的資產(chǎn)列表)等一起。存儲(chǔ)設(shè)備225還可以存儲(chǔ)任何其它類(lèi)型的信息,例如關(guān)于用戶(hù)的聯(lián)系人的信息(名字、地址、電話(huà)號(hào)碼等);計(jì)劃的約會(huì)和活動(dòng);筆記;和/或其它個(gè)人信息。應(yīng)用程序(本文中也稱(chēng)為“應(yīng)用”或“App”)226可以包括可以由處理器230執(zhí)行的任何程序。例如,在一組實(shí)施例中,應(yīng)用可以是包括可以與用戶(hù)交互的用戶(hù)接口的程序。在其它實(shí)施例中,應(yīng)用可以是在后臺(tái)運(yùn)行的過(guò)程,例如守護(hù)進(jìn)程。在有些實(shí)施例中,某些應(yīng)用可以由其制造商安裝在移動(dòng)計(jì)算設(shè)備200上,而其它應(yīng)用可以由用戶(hù)安裝。應(yīng)用程序的例子可以包括視頻游戲程序、個(gè)人信息管理程序、用于播放媒體資產(chǎn)和/或?qū)Ш矫襟w資產(chǎn)數(shù)據(jù)庫(kù)的程序、用于控制發(fā)出和/或接收呼叫的電話(huà)接口的程序,等等。某些應(yīng)用程序226可以提供與附件202的通信和/或?qū)ζ涞目刂?,某些?yīng)用程序226可以對(duì)來(lái)自附件202的控制信號(hào)或其它輸入作出響應(yīng);以下對(duì)例子進(jìn)行描述。網(wǎng)絡(luò)接口 236可以提供到一個(gè)或多個(gè)通信網(wǎng)絡(luò)的接口。例如,網(wǎng)絡(luò)接口 236可以結(jié)合射頻(FM)收發(fā)器及用于經(jīng)例如移動(dòng)電話(huà)網(wǎng)絡(luò)的移動(dòng)通信網(wǎng)絡(luò)通信的合適部件。附加地或者作為代替,網(wǎng)絡(luò)接口 236可以結(jié)合到互聯(lián)網(wǎng)的無(wú)線(xiàn)連接(例如,WiFi收發(fā)器、3G收發(fā)器等)、到個(gè)人區(qū)域網(wǎng)絡(luò)的無(wú)線(xiàn)連接(例如,藍(lán)牙網(wǎng)絡(luò))或者到任何其它網(wǎng)絡(luò)的無(wú)線(xiàn)連接。在其它實(shí)施例中,可以提供有線(xiàn)網(wǎng)絡(luò)連接(例如,以太網(wǎng))。在有些實(shí)施例中,相同的硬件可以用于支持到多個(gè)網(wǎng)絡(luò)的連接;因而,網(wǎng)絡(luò)接口 236可以包括模數(shù)和/或數(shù)模電路系統(tǒng)、基帶處理部件(例如,編解碼器、信道估計(jì)器等)、調(diào)制器、解調(diào)器、振蕩器、放大器、發(fā)送器、接收器、收發(fā)器、內(nèi)部和/或外部天線(xiàn),等等。在有些實(shí)施例中,與網(wǎng)絡(luò)連接關(guān)聯(lián)的有些操作可以完全地或者部分地作為在處理器230上執(zhí)行的程序(例如,編碼、解碼和/或數(shù)字域中的其它處理)實(shí)現(xiàn),或者可以提供專(zhuān)用的數(shù)字信號(hào)處理器。附件I/O接口 205可以包括配置成在移動(dòng)計(jì)算設(shè)備200與附件202之間攜帶各種信號(hào)的多條信號(hào)路徑。在一種實(shí)施例中,附件I/o接口 205包括30引腳的連接器,這對(duì)應(yīng)于在由Apple公司制造并銷(xiāo)售的丨卩0(1@和iPhone 產(chǎn)品使用的連接器;其它連接器也可以使用??蛇x地或者附加地,附件I/O接口 205可以包括無(wú)線(xiàn)接口(例如,藍(lán)牙等)。在有些實(shí)施例中,移動(dòng)計(jì)算設(shè)備200還可以使用附件I/O接口 205與執(zhí)行資產(chǎn)管理程序的主機(jī)(未示出)通信,該資產(chǎn)管理程序可以為移動(dòng)計(jì)算設(shè)備提供媒體和/或應(yīng)用(例如,iTunes_ '或微軟的應(yīng)用商店)。資產(chǎn)管理程序可以使用戶(hù)能夠把媒體資產(chǎn)和/或應(yīng)用添加到移動(dòng)計(jì)算設(shè)備和/或從移動(dòng)計(jì)算設(shè)備200移除媒體資產(chǎn)。用戶(hù)可以更新與移動(dòng)計(jì)算設(shè)備200上的媒體資產(chǎn)關(guān)聯(lián)的元數(shù)據(jù)。在有些實(shí)施例中,用戶(hù)還可以與資產(chǎn)管理程序交互,來(lái)創(chuàng)建和更新播放列表和/或應(yīng)用及其它文檔。在一種實(shí)施例中,主機(jī)維護(hù)媒體資產(chǎn)和/或應(yīng)用的主數(shù)據(jù)庫(kù)并且可以例如通過(guò)互聯(lián)網(wǎng)訪(fǎng)問(wèn)其它數(shù)據(jù)庫(kù)(包括關(guān)聯(lián)的元數(shù)據(jù)和播放列表),而且,只要移動(dòng)計(jì)算設(shè)備200連接到主機(jī),資產(chǎn)管理程序就自動(dòng)地同步主數(shù)據(jù)庫(kù)與在移動(dòng)計(jì)算設(shè)備200的存儲(chǔ)設(shè)備225所維護(hù)的數(shù)據(jù)庫(kù)。在其它實(shí)施例中,移動(dòng)計(jì)算設(shè)備200可以使用網(wǎng)絡(luò)接口 236與主機(jī)通信和/或直接與各種其它服務(wù)器通信,以便獲取應(yīng)用、媒體資產(chǎn)和/或其它數(shù)據(jù)。附件202可以包括控制器260、用戶(hù)接口 255、移動(dòng)計(jì)算設(shè)備I/O接口 250、存儲(chǔ)器265和附件專(zhuān)用硬件275。移動(dòng)計(jì)算設(shè)備I/O接口 250可以包括配置成在附件202與移動(dòng)計(jì)算設(shè)備200之間攜帶各種信號(hào)的多條信號(hào)路徑。在一種實(shí)施例中,移動(dòng)計(jì)算設(shè)備I/o接口 250可以包括適于與Apple公司制造并銷(xiāo)售的iPadTM、iP0CT和iPhone 產(chǎn)品上使用的連接器(例如,30引腳的連接器)配對(duì)的連接器。其它連接器也可以使用;例如,移動(dòng)計(jì)算設(shè)備I/O接口 250可以包括標(biāo)準(zhǔn)的USB或火線(xiàn)(FireWire)連接器等??蛇x地或者附加地,移動(dòng)計(jì)算設(shè)備I/O接口 250可以包括無(wú)線(xiàn)接口(例如藍(lán)牙等)。控制器260可以包括例如執(zhí)行程序代碼的微處理器或微控制器,以便執(zhí)行各種功能,例如數(shù)字音頻解碼、模擬或數(shù)字音頻和/或視頻處理、用戶(hù)輸入的處理、附件功能性的控制等??刂破?60還可以管理經(jīng)移動(dòng)計(jì)算設(shè)備I/O接口 250與移動(dòng)計(jì)算設(shè)備的通信。用戶(hù)接口 255可以包括例如觸控板、觸摸屏、滾輪、點(diǎn)擊輪、撥號(hào)盤(pán)、按鈕、鍵區(qū)、麥克風(fēng)、探針等的輸入控制,以及例如顯示屏、指示燈、揚(yáng)聲器、耳機(jī)插孔等的輸出設(shè)備,還有配套的電子產(chǎn)品(例如,數(shù)模或模數(shù)轉(zhuǎn)換器、信號(hào)處理器等)。用戶(hù)可以操作用戶(hù)接口 255的各種輸入控制來(lái)調(diào)用附件202的功能,而且還可以經(jīng)用戶(hù)接口 255看和/或聽(tīng)來(lái)自附件202的輸出。此外,在有些實(shí)施例中,用戶(hù)可以經(jīng)附件用戶(hù)接口 255操作移動(dòng)計(jì)算設(shè)備200 (或者在其上執(zhí)行的應(yīng)用)。存儲(chǔ)設(shè)備265可以利用可以存儲(chǔ)用于控制器260的程序代碼和/或數(shù)據(jù)的任何類(lèi)型的存儲(chǔ)器、磁盤(pán)或者其它存儲(chǔ)介質(zhì)來(lái)實(shí)現(xiàn)。例如,存儲(chǔ)器265可以存儲(chǔ)附件專(zhuān)用軟件280,其可以提供讓控制器260與附件專(zhuān)用硬件275和/或用戶(hù)接口 255交互的指令。在有些實(shí)施例中,附件202可以從移動(dòng)計(jì)算設(shè)備200接收信息(例如,用戶(hù)輸入、元數(shù)據(jù)和/或應(yīng)用數(shù)據(jù)),這種信息也可以存儲(chǔ)在存儲(chǔ)器265中。附件專(zhuān)用硬件275可以代表啟用附件202的期望功能所需的任何硬件。例如,附件專(zhuān)用硬件275可以包括一個(gè)或多個(gè)數(shù)據(jù)收集設(shè)備,例如任何類(lèi)型的傳感器或者儀表。在有些實(shí)施例中,附件專(zhuān)用硬件275可以包括產(chǎn)生代表電特性(例如,電阻、電壓差等)的數(shù)據(jù)的電氣儀表;檢測(cè)光和/或光圖案的光傳感器;運(yùn)動(dòng)傳感器;溫度傳感器;濕度傳感器;壓力傳感器;響應(yīng)于選定化學(xué)物質(zhì)(例如,像一氧化碳的可能有毒氣體)的存在的化學(xué)傳感器;等等。附件專(zhuān)用硬件275還可以包括一種或多種醫(yī)療設(shè)備,例如葡萄糖儀、呼吸計(jì)、心率和/或心臟功能監(jiān)視器、血壓監(jiān)視器,等等。在有些實(shí)施例中,包括數(shù)據(jù)收集設(shè)備的附件專(zhuān)用硬件275可以提供一個(gè)或多個(gè)電信號(hào)(例如,電壓、電阻和/或電流),其對(duì)應(yīng)于或者代表物理數(shù)據(jù)??梢允褂枚喾N形式的模擬和/或數(shù)字信號(hào)。附件專(zhuān)用硬件275還可以包括信號(hào)處理部件,其在把信號(hào)發(fā)送到控制器260之前處理該信號(hào);在有些實(shí)施例中,附件專(zhuān)用硬件275可以把電信號(hào)直接發(fā)送到控制器260,控制器260可以處理該信號(hào)。另外,例如,利用以下所述的應(yīng)用協(xié)議,代表由附件專(zhuān)用硬件275收集的數(shù)據(jù)的信號(hào)可以(經(jīng)過(guò)或者沒(méi)有經(jīng)過(guò)控制器260的處理)發(fā)送到在移動(dòng)計(jì)算設(shè)備200執(zhí)行的應(yīng)用;因而,在移動(dòng)計(jì)算設(shè)備200上執(zhí)行的應(yīng)用也可以處理利用附件專(zhuān)用硬件275收集的數(shù)據(jù)。在有些實(shí)施例中,附件專(zhuān)用硬件275可以包括一個(gè)或多個(gè)計(jì)算機(jī)可控的設(shè)備。計(jì)算機(jī)可控的設(shè)備的例子包括電動(dòng)機(jī)、致動(dòng)器、燈、照相機(jī)、閥門(mén)、揚(yáng)聲器、顯示屏、打印機(jī)和/或可以由控制器260控制的任何其它裝備。在有些實(shí)施例中,在移動(dòng)計(jì)算設(shè)備200上執(zhí)行的應(yīng)用可以把控制信號(hào)發(fā)送到附件202,控制器260可以響應(yīng)該控制信號(hào)而操作附件專(zhuān)用硬件275。在有些實(shí)施例中,附件專(zhuān)用硬件275可以包括用戶(hù)接口 255的部件。在有些實(shí)施例中,附件專(zhuān)用硬件275可以包括網(wǎng)絡(luò)和/或通信接口。在其它實(shí)施例中,附件專(zhuān)用硬件275可以包括到個(gè)人區(qū)域網(wǎng)絡(luò)的通信接口。還有其它實(shí)施例中,附件專(zhuān)用硬件275可以包括電話(huà)接口、GSM、CDMA和/或其它語(yǔ)音和/或數(shù)據(jù)網(wǎng)絡(luò)接口。附件專(zhuān)用硬件275可以包含任何硬件部件,對(duì)其期望與移動(dòng)計(jì)算和/或通信設(shè)備的互操作性。在此所述的系統(tǒng)配置與部件是說(shuō)明性的而且各種變化與修改都是可能的。移動(dòng)計(jì)算設(shè)備和/或附件可能具有未在此具體描述的其它能力。盡管附件202和移動(dòng)計(jì)算設(shè)備200在這里是參考特定的塊來(lái)描述的,但是應(yīng)當(dāng)理解,這些塊是為了方便描述而定義的,而不是要暗示部件部分的特定物理布置。另外,這些塊不需要對(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斷開(kāi)。如在此所使用的,每當(dāng)附件1/0205與移動(dòng)計(jì)算設(shè)備I/O接口 250之間的通信信道開(kāi)通時(shí),移動(dòng)計(jì)算設(shè)備200和附件202就“連接”,每當(dāng)該通信信道關(guān)閉時(shí)就“斷開(kāi)”。連接可以通過(guò)物理附連(例如,在移動(dòng)計(jì)算設(shè)備200與附件202各自的配對(duì)連接器之間)、通過(guò)例如電纜的間接附連或者通過(guò)建立無(wú)線(xiàn)通信信道來(lái)實(shí)現(xiàn)。類(lèi)似地,斷開(kāi)可以通過(guò)物理分離、斷開(kāi)電纜、給附件202或移動(dòng)計(jì)算設(shè)備200斷電或者關(guān)閉無(wú)線(xiàn)通信信道來(lái)實(shí)現(xiàn)。因而,可以使用多種通信信道,包括例如通用串行總線(xiàn)(“USB”)、火線(xiàn)(IEEE1394標(biāo)準(zhǔn))或通用異步接收器/發(fā)送器(“UART”)的有線(xiàn)
信道,或者例如藍(lán)牙(藍(lán)牙SIG開(kāi)發(fā)并且以商標(biāo)B丨Uetoothiw許可的一種短程無(wú)線(xiàn)通信標(biāo)準(zhǔn))、WiFi (遵守IEEE802.11系列標(biāo)準(zhǔn)中的任意一個(gè))、無(wú)線(xiàn)個(gè)人區(qū)域網(wǎng)絡(luò)、紅外線(xiàn)等的無(wú)線(xiàn)信道。在有些實(shí)施例中,通信可以同時(shí)利用有線(xiàn)和無(wú)線(xiàn)信道發(fā)生。在有些實(shí)施例中,移動(dòng)計(jì)算設(shè)備與附件之間的多個(gè)通信信道可以同時(shí)打開(kāi),或者一個(gè)移動(dòng)計(jì)算設(shè)備可以同時(shí)連接到多個(gè)附件,每個(gè)附件使用不同的通信信道。不考慮特定的通信信道,只要移動(dòng)計(jì)算設(shè)備200和附件202彼此連接,設(shè)備就可以通過(guò)交換命令與數(shù)據(jù)來(lái)通信,如由附件通信協(xié)議所指定的。附件通信協(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ò)誤檢測(cè)或者錯(cuò)誤糾正碼,和/或期望的其它信息。在各種實(shí)施例中,附件通信協(xié)議可以定義具體命令,以指示要由接收方采取的動(dòng)作;發(fā)信號(hào)通知任務(wù)的完成、狀態(tài)的改變或者錯(cuò)誤的發(fā)生;和/或識(shí)別所關(guān)聯(lián)的數(shù)據(jù)的本質(zhì)。在有些實(shí)施例中,命令可以定義成使得任何特定命令都只在一個(gè)方向有效。附件通信協(xié)議還可以指定可用于在設(shè)備之間發(fā)送信號(hào)的一條或多條物理傳輸鏈路。例如,傳輸鏈路可以是USB鏈路、UART鏈路、火線(xiàn)鏈路、藍(lán)牙鏈路、WiFi鏈路、并行鏈路、串行鏈路等。在這個(gè)層次,附件通信協(xié)議可以指定例如起始字節(jié)、同步字節(jié)、停止字節(jié)和/或其它輔助信號(hào)。在有些實(shí)施例中,附件通信協(xié)議可以提供多條可選的傳輸鏈路;從而,單個(gè)移動(dòng)計(jì)算設(shè)備可以支持經(jīng)包括有線(xiàn)和/或無(wú)線(xiàn)鏈路的多種物理鏈路的通信。附件通信協(xié)議可以定義多個(gè)“隱語(yǔ)(Iingos) ”,其中“隱語(yǔ)”通常是指一組可以被各類(lèi)附件支持(或者不支持)的相關(guān)命令。在一種實(shí)施例中,命令可以唯一地由識(shí)別命令所屬的隱語(yǔ)的第一字節(jié)和識(shí)別該隱語(yǔ)中特定命令的第二字節(jié)來(lái)識(shí)別。其它的命令結(jié)構(gòu)也可以使用。不要求所有的附件(或者附件可以連接到的所有移動(dòng)計(jì)算設(shè)備)都支持附件通信協(xié)議中所定義的每個(gè)隱語(yǔ)或者一個(gè)特定隱語(yǔ)的每個(gè)命令(例如,不同的設(shè)備可能使用給定隱語(yǔ)的不同版本或者它們可能只使用那個(gè)隱語(yǔ)的一些特征)。在有些實(shí)施例中,設(shè)計(jì)成彼此互操作的每個(gè)附件202和每個(gè)移動(dòng)計(jì)算設(shè)備200都支持至少一個(gè)“通用”隱語(yǔ),其包括所有這些設(shè)備共用的命令。該通用隱語(yǔ)可以包括使得移動(dòng)計(jì)算設(shè)備與附件彼此能夠向?qū)Ψ阶R(shí)別它們自己并且提供關(guān)于它們各自能力的至少一些信息的命令,包括各自還支持哪些其它隱語(yǔ)(如果有的話(huà))及在連接的時(shí)候各自期望使用另一方設(shè)備的哪些能力。通用隱語(yǔ)還可以包括認(rèn)證命令,移動(dòng)計(jì)算設(shè)備可以用于驗(yàn)證附件所聲稱(chēng)身份及能力(或者反之亦然),而且,如果認(rèn)證不成功的話(huà),可以阻止附件(或者移動(dòng)計(jì)算設(shè)備)調(diào)用某些命令或隱語(yǔ)。例如,基于公鑰密碼術(shù)和在移動(dòng)計(jì)算設(shè)備200的認(rèn)證管理器中維護(hù)的數(shù)字證書(shū)的儲(chǔ)存,移動(dòng)計(jì)算設(shè)備200中的認(rèn)證管理器(未示出)可以與附件202中的認(rèn)證控制器(也未示出)通信,以便執(zhí)行認(rèn)證過(guò)程。附件通信協(xié)議的通用隱語(yǔ)或另一個(gè)隱語(yǔ)還可以包括“隧道”命令,其允許在移動(dòng)計(jì)算設(shè)備200上執(zhí)行的應(yīng)用226與附件202之間交換任意信息。例如,TunnelToAcc命令可以定義為可以由移動(dòng)計(jì)算設(shè)備200發(fā)送到附件202。這個(gè)命令的有效載荷可以是在移動(dòng)計(jì)算設(shè)備200上執(zhí)行的應(yīng)用226可以生成并發(fā)送到附件202的任何數(shù)據(jù)、控制信號(hào)或者其它信息。類(lèi)似地,TunnelToHost命令可以定義為可以從附件202發(fā)送到移動(dòng)計(jì)算設(shè)備200。這個(gè)命令的有效載荷可以是附件202可以生成并且發(fā)送到在移動(dòng)計(jì)算設(shè)備200上執(zhí)行的應(yīng)用226的任何數(shù)據(jù)、控制信號(hào)或者其它信息。這些隧道命令可以定義成使得附件通信協(xié)議關(guān)于有效載荷內(nèi)容是不可知的。以下描述用于管理通信的技術(shù)的例子,使得特定應(yīng)用把數(shù)據(jù)、控制信號(hào)或者其它信息只發(fā)送到能夠處理它的附件(反之亦然)。在有些實(shí)施例中,附件可以利用應(yīng)用通信協(xié)議與和位于移動(dòng)計(jì)算設(shè)備的一個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的API通信。例如,這種通信可以使用以上所討論的“隧道”命令。在有些實(shí)施例中,附件可以利用附件通信協(xié)議與和一個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的API通信。在其它實(shí)施例中,附件還可以利用附件通信協(xié)議和/或應(yīng)用通信協(xié)議之一或者二者與移動(dòng)計(jì)算設(shè)備操作系統(tǒng)通信。因而,在此所公開(kāi)的實(shí)施例可以用于方便附件與移動(dòng)計(jì)算設(shè)備上的應(yīng)用、API和/或操作系統(tǒng)之間利用應(yīng)用通信協(xié)議和/或附件通信協(xié)議之一或者二者的通信。移動(dòng)計(jì)算設(shè)備和附件所支持的附件通信協(xié)議可以包括各種其它隱語(yǔ),例如,允許附件發(fā)送指示要調(diào)用的移動(dòng)計(jì)算設(shè)備功能的命令的簡(jiǎn)單遠(yuǎn)程隱語(yǔ),用于傳送關(guān)于在附件上復(fù)制移動(dòng)計(jì)算設(shè)備的用戶(hù)接口的全部或部分的命令和數(shù)據(jù)的遠(yuǎn)程用戶(hù)接口隱語(yǔ)(由此支持更先進(jìn)的遠(yuǎn)程控制),允許用戶(hù)通過(guò)操作移動(dòng)計(jì)算設(shè)備來(lái)控制調(diào)節(jié)器附件(tuneraccessory)的調(diào)節(jié)器隱語(yǔ),允許附件在移動(dòng)計(jì)算設(shè)備上存儲(chǔ)數(shù)據(jù)的存儲(chǔ)隱語(yǔ),等等。任何隱語(yǔ)或者隱語(yǔ)的組合或者其它命令或者命令的組都可以聯(lián)系在此所述的實(shí)施例使用。 將認(rèn)識(shí)到,在此所述的附件通信協(xié)議是說(shuō)明性的而且變化與修改是可能的。在此所述的具體命令可以用其它命令或命令組合或者其它類(lèi)型的消息與格式來(lái)代替。此外,不要求任何特定的移動(dòng)通信設(shè)備或附件都支持在此所述的全部命令與操作。移動(dòng)計(jì)算設(shè)備200上執(zhí)行的應(yīng)用226和附件202可以交換任意數(shù)據(jù)、控制信號(hào)和/或其它信息(在此也稱(chēng)為“消息”)。這些消息可以關(guān)于廣泛變化的場(chǎng)合。例如,關(guān)于用戶(hù)輸入事件、所檢測(cè)到的外部條件、所接收到的數(shù)據(jù)或者可能在移動(dòng)計(jì)算設(shè)備200發(fā)生的任何其它事件或條件的消息都可以傳送到附件202。相反,關(guān)于用戶(hù)輸入事件、所檢測(cè)到的外部條件、所接收到的數(shù)據(jù)、或者可能在附件202發(fā)生的其它事件或條件的消息都可以傳送到移動(dòng)計(jì)算設(shè)備200。例如,在有些實(shí)施例中,移動(dòng)計(jì)算設(shè)備200可以處理例如通過(guò)用戶(hù)接口 255來(lái)自用戶(hù)的輸入事件,例如觸摸屏事件、按鈕按下、滾輪事件等。移動(dòng)計(jì)算設(shè)備200可以向運(yùn)行在移動(dòng)計(jì)算設(shè)備200上的應(yīng)用、向附件202或者向二者都提供代表輸入事件的數(shù)據(jù)。附件202可以把這種數(shù)據(jù)解釋為用于控制例如附件專(zhuān)用硬件275和/或用于在控制器260進(jìn)行處理的輸入。例如,觸摸屏數(shù)據(jù)可以由移動(dòng)計(jì)算設(shè)備200收集,被應(yīng)用、附件202或者二者使用;在有些實(shí)施例中,觸摸屏數(shù)據(jù)可以包括代表輕擊(tap)和/或運(yùn)動(dòng)的數(shù)據(jù),運(yùn)動(dòng)例如是重?fù)?swipe)、捏(pinch)、拖拽和其它手勢(shì)。在有些實(shí)施例中,觸摸屏數(shù)據(jù)可以原始數(shù)據(jù)格式(例如,代表檢測(cè)到對(duì)應(yīng)于手指運(yùn)動(dòng)的壓力的位置的坐標(biāo)序列)發(fā)送。在其它實(shí)施例中,觸摸屏數(shù)據(jù)可以在被發(fā)送到附件之前轉(zhuǎn)換成處理過(guò)的數(shù)據(jù),例如手勢(shì)事件(例如,輕擊、重?fù)艋蛘邚囊粋€(gè)點(diǎn)到另一個(gè)點(diǎn)的拖拽、捏,等等)。在有些實(shí)施例中,原始的鍵盤(pán)數(shù)據(jù)可以發(fā)送到附件和/或處理后的鍵盤(pán)數(shù)據(jù)可以發(fā)送到附件。在有些實(shí)施例中,一些或者全部類(lèi)型的用戶(hù)輸入數(shù)據(jù)可以利用應(yīng)用和應(yīng)用協(xié)議傳送到附件202,例如以下所述的;在其它實(shí)施例中,不論附件通信協(xié)議支持發(fā)送特定類(lèi)型的用戶(hù)輸入數(shù)據(jù)到什么程度,一些或者全部類(lèi)型的用戶(hù)輸入數(shù)據(jù)可以利用附件通信協(xié)議傳送。移動(dòng)計(jì)算設(shè)備200還可以把除用戶(hù)輸入之外的信息發(fā)送到附件202。例如,在有些實(shí)施例中,移動(dòng)計(jì)算設(shè)備200可以包括除用戶(hù)輸入設(shè)備之外的各種傳感器和/或數(shù)據(jù)收集設(shè)備;例子可以包括加速計(jì)、機(jī)械陀螺、指南針、位置確定設(shè)備(例如,全球定位系統(tǒng)接收器或者電話(huà)三角測(cè)量系統(tǒng))、光傳感器、紅外線(xiàn)傳感器、照相機(jī)、網(wǎng)絡(luò)接口(例如,電話(huà)、WiF1、藍(lán)牙)等等。例如,響應(yīng)來(lái)自附件202的具體請(qǐng)求,移動(dòng)計(jì)算設(shè)備200可以把這種數(shù)據(jù)中的任何一個(gè)或者全部提供給附件202。在有些實(shí)施例中,這種數(shù)據(jù)中的一些或全部可以利用應(yīng)用和應(yīng)用協(xié)議傳送到附件202,如以下所述的;在其它實(shí)施例中,不論附件通信協(xié)議支持發(fā)送特定類(lèi)型的用戶(hù)輸入數(shù)據(jù)到什么程度,這種數(shù)據(jù)的一些或全部可以利用附件通信協(xié)議傳送。為了方便消息的交換,附件和應(yīng)用可以使用相互商定的應(yīng)用協(xié)議。應(yīng)用協(xié)議可以為可被交換的消息指定所有被接受的消息格式。遵守特定應(yīng)用協(xié)議的設(shè)備或程序可以根據(jù)應(yīng)用協(xié)議的所有被接受格式來(lái)構(gòu)造它們要發(fā)送的消息,并且可以根據(jù)應(yīng)用協(xié)議的所有被接受格式來(lái)解釋它們接收到的消息。例如,在二進(jìn)制數(shù)字通信的情況下,應(yīng)用協(xié)議可以指定包括消息的位(bit)要如何被接收方解釋。事實(shí)上,在有些實(shí)施例中,附件通信協(xié)議的部分可以作為特定附件和/或應(yīng)用的應(yīng)用協(xié)議的全部或者部分而被直接采用。應(yīng)用通信協(xié)議可以由例如應(yīng)用和/或附件的開(kāi)發(fā)商來(lái)開(kāi)發(fā)。在有些實(shí)施例中,應(yīng)用通信協(xié)議可以包括應(yīng)用和/或附件專(zhuān)用命令、數(shù)據(jù)結(jié)構(gòu)等。此外,術(shù)語(yǔ)“應(yīng)用通信協(xié)議”和“應(yīng)用協(xié)議”可以互換使用。術(shù)語(yǔ)“附件通信協(xié)議”、“通用通信協(xié)議”和“通用協(xié)議”也可以互換使用。這里所述的某些實(shí)施例中,例如,利用如上所述的隧道命令,通過(guò)在遵循附件通信協(xié)議的包中封裝、包裹或者包裝消息,應(yīng)用協(xié)議消息可以在設(shè)備之間發(fā)送。因而,可以使用附件通信協(xié)議指定的傳輸鏈路,而且應(yīng)用協(xié)議沒(méi)必要指定物理傳輸鏈路。啟動(dòng)過(guò)程在本發(fā)明的有些實(shí)施例中,附件可以請(qǐng)求移動(dòng)計(jì)算設(shè)備啟動(dòng)具體的應(yīng)用。在此描述做出這種請(qǐng)求的各種技術(shù)。圖3根據(jù)一些實(shí)施例示出了當(dāng)附件請(qǐng)求啟動(dòng)一個(gè)應(yīng)用時(shí)可以由移動(dòng)計(jì)算設(shè)備(在圖中由MCD指示)執(zhí)行的過(guò)程300的流程圖。過(guò)程300在塊310開(kāi)始。在塊315,移動(dòng)計(jì)算設(shè)備可以接收啟動(dòng)命令,其指示附件愿意與移動(dòng)計(jì)算設(shè)備互操作的具體應(yīng)用。在有些實(shí)施例中,啟動(dòng)命令可以是上述通用隱語(yǔ)的一部分或者是具體隱語(yǔ)的一部分。啟動(dòng)命令可以指定具體的應(yīng)用;例如,可以使用Launch命令,該命令可以包括該具體應(yīng)用的名字、指示具體應(yīng)用的位掩碼、對(duì)應(yīng)于該具體應(yīng)用的代碼、與該具體應(yīng)用關(guān)聯(lián)的反向域名、或者可以識(shí)別該具體應(yīng)用的任何其它信息。命令可以通過(guò)有線(xiàn)或無(wú)線(xiàn)信道從附件發(fā)送到移動(dòng)計(jì)算設(shè)備。
在塊320,過(guò)程300可以確定移動(dòng)計(jì)算設(shè)備是否處于啟動(dòng)應(yīng)用的狀態(tài)。在塊320,移動(dòng)計(jì)算設(shè)備的各種狀態(tài)可以限制所述具體應(yīng)用的執(zhí)行。以下例子是說(shuō)明性的。作為第一個(gè)例子,如果一個(gè)應(yīng)用當(dāng)前在移動(dòng)計(jì)算設(shè)備上執(zhí)行,那么移動(dòng)計(jì)算設(shè)備可能不處于允許一個(gè)應(yīng)用啟動(dòng)的狀態(tài)。有些情況下,移動(dòng)計(jì)算設(shè)備的操作系統(tǒng)可以在另一個(gè)應(yīng)用在前臺(tái)執(zhí)行的同時(shí)允許后臺(tái)應(yīng)用執(zhí)行。在有些實(shí)施例中,可以通過(guò)用戶(hù)接口來(lái)詢(xún)問(wèn)用戶(hù),選擇是否允許所述應(yīng)用啟動(dòng)。這種情況下,如果用戶(hù)選擇允許,那么移動(dòng)計(jì)算設(shè)備就可以允許該具體應(yīng)用的啟動(dòng)。作為另一個(gè)例子,如果另一個(gè)附件請(qǐng)求另一個(gè)應(yīng)用的啟動(dòng)而且那個(gè)應(yīng)用正在執(zhí)行,那么移動(dòng)計(jì)算設(shè)備可能不允許被請(qǐng)求應(yīng)用的啟動(dòng)。作為另一個(gè)例子,在塊320,可以詢(xún)問(wèn)用戶(hù)是否允許所述具體應(yīng)用被啟動(dòng)。這種詢(xún)問(wèn)可以通過(guò)例如圖2的用戶(hù)接口 235出現(xiàn)。移動(dòng)計(jì)算設(shè)備可以出于各種其它原因限定或拒絕應(yīng)用的啟動(dòng),沒(méi)有任何限制。如果移動(dòng)計(jì)算設(shè)備不處于允許應(yīng)用執(zhí)行的狀態(tài),過(guò)程300就前進(jìn)到塊325。否則,過(guò)程300前進(jìn)到塊330。在塊330,過(guò)程300可以確定具體應(yīng)用是否可用于在移動(dòng)計(jì)算設(shè)備執(zhí)行。例如,在存儲(chǔ)器(例如,存儲(chǔ)設(shè)備225)中可以維護(hù)一個(gè)查找表,該查找表包括所有可用于在移動(dòng)計(jì)算設(shè)備執(zhí)行的應(yīng)用。例如,這個(gè)查找表可以根據(jù)應(yīng)用名稱(chēng)、標(biāo)識(shí)符、ID號(hào)、應(yīng)用協(xié)議標(biāo)識(shí)符或者反向域名約定來(lái)列出各個(gè)應(yīng)用。例如,過(guò)程300可以比較應(yīng)用識(shí)別信息(例如,具體應(yīng)用的名稱(chēng))與查找表中的應(yīng)用信息。如果存在匹配,那么該應(yīng)用就是可用的,而且過(guò)程300可以前進(jìn)到塊335。如果不存在匹配,過(guò)程300就前進(jìn)到塊325。有些實(shí)施例中,就像所有的塊一樣,塊320和330可以互換、在單個(gè)塊中組合和/或擴(kuò)展成多個(gè)塊。如果移動(dòng)計(jì)算設(shè)備沒(méi)有準(zhǔn)備好啟動(dòng)所請(qǐng)求的應(yīng)用、或者如果所請(qǐng)求的應(yīng)用并不可用,那么,在塊325,移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送啟動(dòng)拒絕消息。這種消息可以是響應(yīng)啟動(dòng)命令而發(fā)送的否定確認(rèn)(NACK)消息或者LaunchDenied命令。NACK消息可以是商定好的否定確認(rèn)消息和/或是通用隱語(yǔ)的一部分。例如,LaunchDenied命令可以是帶有或者不帶有效載荷或數(shù)據(jù)的命令。不管怎樣,應(yīng)用不能被移動(dòng)計(jì)算設(shè)備啟動(dòng)的消息都可以傳送到附件。有些實(shí)施例中,消息可以指定應(yīng)用為什么不能被啟動(dòng)的原因。在塊325之后,過(guò)程300在塊355結(jié)束。如果移動(dòng)計(jì)算設(shè)備準(zhǔn)備好啟動(dòng)所請(qǐng)求的應(yīng)用而且該應(yīng)用在移動(dòng)計(jì)算設(shè)備可用,在塊335中,移動(dòng)計(jì)算設(shè)備可以肯定地確認(rèn)該啟動(dòng)命令-例如,通過(guò)向附件發(fā)送確認(rèn)(ACK)消息或者LaunchPermitted消息。應(yīng)用可以被移動(dòng)計(jì)算設(shè)備啟動(dòng)的消息可以傳送到附件。有些實(shí)施例中,可以發(fā)送消息說(shuō)明雖然應(yīng)用可以被移動(dòng)計(jì)算設(shè)備啟動(dòng)但是不一定響應(yīng)請(qǐng)求而啟動(dòng)。這種實(shí)施例中,在塊340,應(yīng)用可以?xún)H僅根據(jù)移動(dòng)計(jì)算設(shè)備的判斷而啟動(dòng)。然后,在塊345,移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送命令,在應(yīng)用與附件之間建立會(huì)話(huà)。該通信會(huì)話(huà)可以由移動(dòng)計(jì)算設(shè)備創(chuàng)建并且可以提供各種功能和/或設(shè)置。這些功能和/或設(shè)置可以由移動(dòng)計(jì)算設(shè)備和附件中的任意一方或者二者用來(lái)建立通信會(huì)話(huà)。命令可以包括通信會(huì)話(huà)ID和/或通信協(xié)議信息。例如,命令可以識(shí)別要使用的應(yīng)用協(xié)議和/或指示可以利用上述附件協(xié)議的隧道命令交換的消息。在塊350,附件可以利用通信會(huì)話(huà)與應(yīng)用互操作。例如,消息、數(shù)據(jù)、命令等可以在應(yīng)用與附件之間發(fā)送。有些實(shí)施例中,來(lái)自附件的數(shù)據(jù)可以發(fā)送到應(yīng)用,通過(guò)用戶(hù)接口向用戶(hù)呈現(xiàn)。有些實(shí)施例中,用戶(hù)輸入、配置和/或控制信息可以從應(yīng)用發(fā)送到附件。各種其它數(shù)據(jù)、消息和/或命令也可以發(fā)送。在塊355,過(guò)程300可以結(jié)束。例如,當(dāng)附件從移動(dòng)計(jì)算設(shè)備斷開(kāi)時(shí)、當(dāng)移動(dòng)計(jì)算設(shè)備設(shè)為飛行模式時(shí)、當(dāng)用戶(hù)通過(guò)應(yīng)用接口指示結(jié)束通信的指示時(shí)、和/或當(dāng)應(yīng)用關(guān)閉時(shí),過(guò)程300可以結(jié)束。圖3從移動(dòng)計(jì)算設(shè)備的角度描述了啟動(dòng)過(guò)程。圖4從附件的角度示出了啟動(dòng)過(guò)程。即,該圖根據(jù)本發(fā)明的一些實(shí)施例示出了附件(例如,附件202)請(qǐng)求在移動(dòng)計(jì)算設(shè)備(例如,移動(dòng)計(jì)算設(shè)備200)啟動(dòng)應(yīng)用的過(guò)程400。過(guò)程400在塊410開(kāi)始。在塊415,附件向移動(dòng)計(jì)算設(shè)備發(fā)送啟動(dòng)命令。這個(gè)命令可以是以上關(guān)于圖3所述的Launch命令。這種實(shí)施例中,啟動(dòng)命令可以指定具體應(yīng)用。然后,附件可以等待來(lái)自移動(dòng)計(jì)算設(shè)備的響應(yīng)。有些實(shí)施例中,在超時(shí)之前,附件可以等待預(yù)定的時(shí)間段,并且,如果沒(méi)有接收到響應(yīng)的話(huà)就結(jié)束。在有些實(shí)施例中,在附件與移動(dòng)計(jì)算設(shè)備連接之后不久附件就可以向移動(dòng)計(jì)算設(shè)備發(fā)送Launch命令。在有些實(shí)施例中,附件可以在識(shí)別、握手、認(rèn)證、能力識(shí)別和/或初始化過(guò)程發(fā)生之后發(fā)送Launch命令。在其它實(shí)施例中,Launch命令可以作為能力識(shí)別過(guò)程的一部分發(fā)送。在有些實(shí)施例中,Launch命令可以響應(yīng)與位于附件的用戶(hù)的交互而從附件發(fā)送到移動(dòng)計(jì)算設(shè)備。而且,有些附件可以響應(yīng)與用戶(hù)的一次交互而請(qǐng)求一個(gè)應(yīng)用的啟動(dòng)、并且響應(yīng)與用戶(hù)的不同交互而啟動(dòng)另一個(gè)應(yīng)用。因而,附件可以在不同條件下,例如附件與用戶(hù)的交互、環(huán)境交互、網(wǎng)絡(luò)交互、環(huán)境條件等,請(qǐng)求不同應(yīng)用的啟動(dòng)。在塊420,接收到響應(yīng)。這個(gè)響應(yīng)可以是肯定的確認(rèn)(例如,ACK)或者否定的確認(rèn)(例如,NACK)。如果接收到否定的確認(rèn),過(guò)程400就在塊440結(jié)束。如果接收到肯定的確認(rèn),過(guò)程400就前進(jìn)到塊425。盡管接收到了肯定的確認(rèn),但這種確認(rèn)不一定指示應(yīng)用已經(jīng)啟動(dòng)。而且,在有些實(shí)施例中,在接收到肯定的確認(rèn)之后,附件不一定開(kāi)始與移動(dòng)計(jì)算設(shè)備通信。在塊425,附件可以確定它是否接收到在移動(dòng)計(jì)算設(shè)備執(zhí)行的具體應(yīng)用與該附件之間建立通信會(huì)話(huà)的命令。這個(gè)命令部分地可以指示所述具體應(yīng)用已準(zhǔn)備好與附件通信。通信會(huì)話(huà)可以為附件提供與移動(dòng)計(jì)算設(shè)備通信所需的各種通信功能和/或必要信息。除其它信息之外,該命令可以包括通信會(huì)話(huà)ID和/或通信協(xié)議信息。一旦接收到開(kāi)通通信命令,附件就可以開(kāi)通與移動(dòng)計(jì)算設(shè)備的通信會(huì)話(huà)。如果附件還沒(méi)有接收到開(kāi)通通信會(huì)話(huà)命令,過(guò)程400可以移動(dòng)到塊430。在從附件接收到肯定確認(rèn)之后經(jīng)過(guò)預(yù)定時(shí)間段之后,過(guò)程400可以超時(shí)并且在塊440結(jié)束。否則,過(guò)程400返回塊425并且塊430和425重復(fù),直到接收到響應(yīng)或者直到預(yù)定時(shí)間段過(guò)去。如果在塊425接收到了開(kāi)通通信會(huì)話(huà),過(guò)程400就前進(jìn)到塊435。通信會(huì)話(huà)可以根據(jù)從移動(dòng)計(jì)算設(shè)備接收到的參數(shù)建立,而且在塊435,兩個(gè)設(shè)備可以互操作。在塊440,過(guò)程400可以結(jié)束。例如,當(dāng)附件從移動(dòng)計(jì)算設(shè)備斷開(kāi)時(shí)、當(dāng)移動(dòng)計(jì)算設(shè)備設(shè)為飛行模式時(shí)、當(dāng)用戶(hù)通過(guò)應(yīng)用接口指示結(jié)束通信的指示時(shí)和/或當(dāng)應(yīng)用關(guān)閉時(shí),過(guò)程400可以結(jié)束。圖3和圖4所述的過(guò)程從移動(dòng)計(jì)算設(shè)備和附件的角度描述了具體應(yīng)用的啟動(dòng)。圖5和圖6描述了類(lèi)似過(guò)程,其中附件請(qǐng)求一種應(yīng)用類(lèi)型(或類(lèi)屬)的啟動(dòng)。例如,一個(gè)應(yīng)用可以具有該應(yīng)用的免費(fèi)版、試用版、專(zhuān)用版和/或完整版。不請(qǐng)求這些具體應(yīng)用中的一個(gè),而是附件可以指定應(yīng)用類(lèi)型來(lái)允許移動(dòng)計(jì)算設(shè)備啟動(dòng)這些應(yīng)用中的一個(gè);例如,可用的最高優(yōu)先級(jí)版本。作為另一個(gè)例子,附件可以關(guān)于應(yīng)用的創(chuàng)建者、應(yīng)用狀態(tài)或者應(yīng)用級(jí)別是平等對(duì)待的。例如,附件可以請(qǐng)求具有具體特性的應(yīng)用,例如地圖、日歷、音頻輸出、視頻輸出等。作為代替,附件可能能夠與多個(gè)不同應(yīng)用中的任何一個(gè)交互。首先轉(zhuǎn)向圖5,這個(gè)圖示出了根據(jù)本發(fā)明的一些實(shí)施例可以響應(yīng)來(lái)自附件的請(qǐng)求而在移動(dòng)計(jì)算設(shè)備上啟動(dòng)應(yīng)用的過(guò)程500的流程圖。過(guò)程500在塊510開(kāi)始。在塊515,移動(dòng)計(jì)算設(shè)備可以接收一種應(yīng)用類(lèi)型的啟動(dòng)命令。啟動(dòng)命令可以是上述通用隱語(yǔ)的一部分或者是具體隱語(yǔ)的一部分。應(yīng)用類(lèi)型可以包括可以由移動(dòng)計(jì)算設(shè)備啟動(dòng)并且與附件互操作的一組應(yīng)用。例如,Launch命令可以包括應(yīng)用類(lèi)型的名稱(chēng);應(yīng)用的類(lèi)屬;附件的名稱(chēng),這可以用來(lái)在查找表中查找應(yīng)用類(lèi)型;與附件使用的可用協(xié)議對(duì)應(yīng)的通信協(xié)議;指示附件或應(yīng)用類(lèi)型的位掩碼;對(duì)應(yīng)于應(yīng)用類(lèi)型的代碼;或者可以識(shí)別應(yīng)用類(lèi)型的任何其它信息。這里所述的任何一種實(shí)施例中,反向域名約定都可以用于指示具體應(yīng)用或應(yīng)用類(lèi)型中的任何一個(gè)。以下描述這種命名約定的例子。在塊520,過(guò)程500可以確定移動(dòng)計(jì)算設(shè)備是否處于啟動(dòng)應(yīng)用的狀態(tài)。如果移動(dòng)計(jì)算設(shè)備不是處于允許應(yīng)用執(zhí)行的狀態(tài),過(guò)程500就前進(jìn)到塊525。否則,過(guò)程500前進(jìn)到塊530。塊520可以與塊320類(lèi)似。在塊530,過(guò)程500可以確定與該應(yīng)用類(lèi)型關(guān)聯(lián)的應(yīng)用是否可用于在移動(dòng)計(jì)算設(shè)備執(zhí)行。如果與該應(yīng)用類(lèi)型關(guān)聯(lián)的應(yīng)用可用,過(guò)程500就前進(jìn)到塊535。如果不可用,過(guò)程500就前進(jìn)到塊525。例如,可以在存儲(chǔ)器(例如,存儲(chǔ)設(shè)備225)中維護(hù)一個(gè)查找表,這個(gè)查找表包括可用于在移動(dòng)計(jì)算設(shè)備執(zhí)行的所有應(yīng)用及每個(gè)應(yīng)用的應(yīng)用類(lèi)型的列表。例如,這個(gè)查找表可以通過(guò)應(yīng)用名稱(chēng)、標(biāo)識(shí)符、ID號(hào)、應(yīng)用類(lèi)型或者反向域名約定或應(yīng)用協(xié)議名稱(chēng)來(lái)列出各個(gè)應(yīng)用。例如,過(guò)程500可以比較在啟動(dòng)命令中接收到的應(yīng)用類(lèi)型信息與查找表中列出的應(yīng)用類(lèi)型。如果存在匹配,應(yīng)用就是可用的,而且過(guò)程500可以前進(jìn)到塊535。如果不存在匹配,過(guò)程500就前進(jìn)到塊525。在有些實(shí)施例中,塊520和530可以互換、在單個(gè)塊中組合和/或擴(kuò)展成多個(gè)塊。在有些實(shí)施例中,可以找到與啟動(dòng)命令中所包括的應(yīng)用類(lèi)型對(duì)應(yīng)的多個(gè)應(yīng)用。在有些實(shí)施例中,這些應(yīng)用可以?xún)?yōu)先級(jí)化(例如,在查找表中),并且可以考慮啟動(dòng)最高優(yōu)先級(jí)的應(yīng)用。在有些實(shí)施例中,如果找到具有相同應(yīng)用類(lèi)型的多個(gè)應(yīng)用,可以提示用戶(hù)選擇其中一個(gè)應(yīng)用。在塊525,移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送啟動(dòng)拒絕消息。這種消息可以是響應(yīng)啟動(dòng)命令的否定確認(rèn)(NACK)消息或者LaunchDenied命令。NACK消息可以是商定的否定確認(rèn)消息或者是通用隱語(yǔ)的一部分。例如,LaunchDenied命令可以是帶有或者不帶有效載荷或數(shù)據(jù)的命令。不管怎樣,應(yīng)用不能被移動(dòng)計(jì)算設(shè)備啟動(dòng)的消息都可以傳送到附件。在有些實(shí)施例中,消息都可以指定應(yīng)用為什么不能啟動(dòng)的原因。在塊525之后,過(guò)程500在塊555結(jié)束。在塊535,移動(dòng)計(jì)算設(shè)備可以肯定地確認(rèn)啟動(dòng)命令;例如,通過(guò)向附件發(fā)送確認(rèn)(ACK)消息或者LaunchPermitted消息。應(yīng)用可以被移動(dòng)計(jì)算設(shè)備啟動(dòng)的消息可以傳送到附件。在有些實(shí)施例中,可以傳送消息來(lái)說(shuō)明雖然應(yīng)用可以被移動(dòng)計(jì)算設(shè)備啟動(dòng)但是不一定響應(yīng)請(qǐng)求而啟動(dòng)。在這種實(shí)施例中,在塊540,應(yīng)用可以?xún)H僅根據(jù)移動(dòng)計(jì)算設(shè)備自己的裁量來(lái)啟動(dòng)。然后,在塊545,移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送命令,在應(yīng)用與附件之間建立通信會(huì)話(huà)。通信會(huì)話(huà)可以由移動(dòng)計(jì)算設(shè)備創(chuàng)建并且為移動(dòng)計(jì)算設(shè)備提供與附件通信的各種通信功能。命令可以包括通信會(huì)話(huà)ID、通信協(xié)議信息和/或已經(jīng)響應(yīng)啟動(dòng)命令而啟動(dòng)的具體應(yīng)用的標(biāo)識(shí)(例如,利用以下所述的反向域名約定)。在塊550,附件可以利用通信會(huì)話(huà)與應(yīng)用互操作。在塊555,過(guò)程500可以結(jié)束。例如,當(dāng)附件從移動(dòng)計(jì)算設(shè)備斷開(kāi)時(shí)、當(dāng)移動(dòng)計(jì)算設(shè)備設(shè)為飛行模式時(shí)、當(dāng)用戶(hù)通過(guò)應(yīng)用接口指示結(jié)束通信的指示時(shí)和/或當(dāng)應(yīng)用關(guān)閉時(shí),過(guò)程500可以結(jié)束。圖5從移動(dòng)計(jì)算設(shè)備的角度描述了啟動(dòng)過(guò)程,而圖6從附件的角度示出了啟動(dòng)過(guò)程。即,該圖根據(jù)本發(fā)明的一些實(shí)施例示出了附件(例如,附件202)請(qǐng)求在移動(dòng)計(jì)算設(shè)備(例如,移動(dòng)計(jì)算設(shè)備200)啟動(dòng)一種應(yīng)用類(lèi)型的過(guò)程600。過(guò)程600與圖4所示的過(guò)程400相似并且在塊610開(kāi)始。在塊615,附件向移動(dòng)計(jì)算設(shè)備發(fā)送啟動(dòng)命令。這個(gè)命令可以是以上關(guān)于圖3、圖4或圖5描述的Launch命令。這種實(shí)施例中,啟動(dòng)命令可以指定應(yīng)用類(lèi)型。然后,附件可以等待來(lái)自移動(dòng)計(jì)算設(shè)備的響應(yīng)。有些實(shí)施例中,在超時(shí)之前附件可以等待預(yù)定時(shí)間段,并且在沒(méi)有接收到響應(yīng)的時(shí)候結(jié)束。在塊620,可以接收響應(yīng)。這種響應(yīng)可以是肯定確認(rèn)(例如,ACK)或者否定確認(rèn)(例如,NACK)。如果接收到否定確認(rèn),過(guò)程600可以在塊640結(jié)束。如果接收到肯定確認(rèn),過(guò)程600就前進(jìn)到塊625。盡管接收到肯定確認(rèn),但是這種確認(rèn)也不一定指示已經(jīng)啟動(dòng)了應(yīng)用。在塊625,附件可以確定它是否接收到在移動(dòng)計(jì)算設(shè)備執(zhí)行的應(yīng)用與附件之間建立通信會(huì)話(huà)的命令。這個(gè)命令可以指示與移動(dòng)計(jì)算設(shè)備啟動(dòng)的應(yīng)用類(lèi)型關(guān)聯(lián)的應(yīng)用準(zhǔn)備好與附件通信。通信會(huì)話(huà)可以提供附件與移動(dòng)計(jì)算設(shè)備通信所必需的各種通信功能和/或信息。除其它信息之外,命令可以包括通信會(huì)話(huà)ID和/或通信協(xié)議信息。如果附件還沒(méi)有接收到開(kāi)通通信會(huì)話(huà)命令,過(guò)程600可以移動(dòng)到塊630。如果從附件接收到肯定確認(rèn)開(kāi)始經(jīng)過(guò)了預(yù)定時(shí)間段,則過(guò)程600可以超時(shí)并且在塊640結(jié)束。否則,過(guò)程600可以返回塊625。如果在塊625接收到開(kāi)通通信會(huì)話(huà)命令,過(guò)程600就前進(jìn)到塊635。通信會(huì)話(huà)可以根據(jù)從移動(dòng)計(jì)算設(shè)備接收到的參數(shù)建立,而且兩個(gè)設(shè)備可以在塊635互操作。在塊640,過(guò)程600可以結(jié)束。例如,當(dāng)附件從移動(dòng)計(jì)算設(shè)備斷開(kāi)時(shí)、當(dāng)移動(dòng)計(jì)算設(shè)備設(shè)為飛行模式時(shí)、當(dāng)用戶(hù)通過(guò)應(yīng)用接口指示結(jié)束通信的指示時(shí)和/或當(dāng)應(yīng)用關(guān)閉時(shí),過(guò)程可以結(jié)束。圖7示出了過(guò)程700,當(dāng)附件請(qǐng)求應(yīng)用的啟動(dòng)時(shí),該過(guò)程可以在移動(dòng)計(jì)算設(shè)備執(zhí)行。過(guò)程700在有些方面與圖3所示的過(guò)程300和圖5所示的過(guò)程500相似。過(guò)程700在塊705開(kāi)始并且在塊710可以發(fā)送應(yīng)用通知請(qǐng)求。這個(gè)請(qǐng)求可以指示,當(dāng)新應(yīng)用被啟動(dòng)或終止時(shí),附件愿意從移動(dòng)計(jì)算設(shè)備接收通知。這個(gè)請(qǐng)求可以是作為通用隱語(yǔ)一部分或者具體隱語(yǔ)一部分的命令。響應(yīng)該命令,移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送肯定或否定確認(rèn),指示它將遵照該請(qǐng)求或者不遵照該請(qǐng)求。在有些實(shí)施例中,應(yīng)用通知請(qǐng)求可以被用于指示哪個(gè)應(yīng)用當(dāng)前正在執(zhí)行。在有些實(shí)施例中,當(dāng)一個(gè)應(yīng)用被新啟動(dòng)時(shí)、當(dāng)一個(gè)應(yīng)用從前臺(tái)處理移到后臺(tái)處理時(shí)、和/或當(dāng)一個(gè)應(yīng)用從后臺(tái)處理移到前臺(tái)處理時(shí),移動(dòng)計(jì)算設(shè)備可以通知附件。在塊710之后,過(guò)程700可以沿著與過(guò)程300或者過(guò)程500相似的路徑,直到塊745。S卩,塊715可以與塊315或515相似。塊720可以對(duì)應(yīng)于塊320或520。塊725可以與塊325或525相似。塊730可以對(duì)應(yīng)于塊330或530。塊735可以與塊335或535相似。塊740可以對(duì)應(yīng)于塊340或540。在塊745,移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送應(yīng)用通知。這種應(yīng)用通知可以響應(yīng)在移動(dòng)計(jì)算設(shè)備啟動(dòng)的具體應(yīng)用而被發(fā)送,而且可以指定所啟動(dòng)的應(yīng)用。應(yīng)用可以利用應(yīng)用名稱(chēng)或者應(yīng)用標(biāo)識(shí)符(例如,利用反向域名約定)來(lái)指定。作為響應(yīng),移動(dòng)計(jì)算設(shè)備可以從附件接收通信會(huì)話(huà)請(qǐng)求。這個(gè)請(qǐng)求可以向移動(dòng)計(jì)算設(shè)備指示附件愿意開(kāi)通與該應(yīng)用的通信會(huì)話(huà)。響應(yīng)于該請(qǐng)求,移動(dòng)計(jì)算設(shè)備可以為附件和應(yīng)用打開(kāi)一個(gè)通信會(huì)話(huà)。其它實(shí)施例中,塊745可以與塊345或塊545相似,其中可以在應(yīng)用與附件之間打開(kāi)應(yīng)用會(huì)話(huà)。在塊750,應(yīng)用與附件可以利用通信會(huì)話(huà)互操作。在塊755,過(guò)程700可以結(jié)束。例如,當(dāng)附件從移動(dòng)計(jì)算設(shè)備斷開(kāi)時(shí)、當(dāng)移動(dòng)計(jì)算設(shè)備設(shè)為飛行模式時(shí)、當(dāng)用戶(hù)通過(guò)應(yīng)用接口指示結(jié)束通信的指示時(shí)和/或當(dāng)應(yīng)用關(guān)閉時(shí),過(guò)程700可以結(jié)束。盡管在塊710接收到的通知請(qǐng)求在以上被描述為“應(yīng)用啟動(dòng)”通知請(qǐng)求,但是,某些實(shí)施例中,這種通知請(qǐng)求可以是在不同于應(yīng)用啟動(dòng)環(huán)境的其它環(huán)境下使用的請(qǐng)求類(lèi)型。例如,通知請(qǐng)求可以是當(dāng)應(yīng)用開(kāi)始音樂(lè)重放時(shí)、或者當(dāng)應(yīng)用進(jìn)行某種其它狀態(tài)變化或事件時(shí),附件被通知的請(qǐng)求。在“音樂(lè)重放”例子中,應(yīng)用可以在啟動(dòng)之后開(kāi)始音樂(lè)重放并且向附件發(fā)送指示它現(xiàn)在正在播放音樂(lè)的通知。當(dāng)接收到該通知時(shí),附件可以確定應(yīng)用已經(jīng)啟動(dòng)而且可以采取適當(dāng)?shù)膭?dòng)作與應(yīng)用互操作(例如,發(fā)送通信會(huì)話(huà)請(qǐng)求等)。圖8示出了當(dāng)附件請(qǐng)求應(yīng)用啟動(dòng)時(shí)可以由附件執(zhí)行的過(guò)程800。過(guò)程800在有些方面與圖4所示的過(guò)程400和圖6所示的過(guò)程600相似。過(guò)程800在塊810開(kāi)始。在塊815,附件可以發(fā)送應(yīng)用通知請(qǐng)求。這個(gè)應(yīng)用通知請(qǐng)求可以是在圖7的塊710由移動(dòng)計(jì)算設(shè)備接收的應(yīng)用通知請(qǐng)求。塊820可以對(duì)應(yīng)于塊420或者620,塊825可以對(duì)應(yīng)于塊425或者625。在塊830,附件可以接收指示了應(yīng)用已經(jīng)啟動(dòng)的應(yīng)用通知。對(duì)其作出響應(yīng),移動(dòng)計(jì)算設(shè)備與附件可以開(kāi)通通信會(huì)話(huà)并且在塊835開(kāi)始互操作。在塊840,過(guò)程800可以結(jié)束。例如,當(dāng)附件從移動(dòng)計(jì)算設(shè)備斷開(kāi)時(shí)、當(dāng)移動(dòng)計(jì)算設(shè)備設(shè)為飛行模式時(shí)、當(dāng)用戶(hù)通過(guò)應(yīng)用接口指示結(jié)束通信的指示時(shí)和/或當(dāng)應(yīng)用關(guān)閉時(shí),過(guò)程800可以結(jié)束。在有些實(shí)施例中,過(guò)程300、500和/或700可以由圖2所示的移動(dòng)計(jì)算設(shè)備200的處理器230執(zhí)行。附件與移動(dòng)計(jì)算設(shè)備之間的通信可以利用附件1/0205發(fā)生。此外,過(guò)程400、600和/或800可以由附件202的控制器260執(zhí)行。而且,附件與移動(dòng)計(jì)算設(shè)備之間的通信可以利用移動(dòng)計(jì)算設(shè)備1/0250發(fā)生。在進(jìn)一步的實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以確定一個(gè)具體應(yīng)用或者某一類(lèi)型應(yīng)用是否在移動(dòng)計(jì)算設(shè)備可用于執(zhí)行(例如,塊330、530和730)。如果所述具體應(yīng)用或者對(duì)應(yīng)于所述應(yīng)用類(lèi)型的應(yīng)用在移動(dòng)計(jì)算設(shè)備不可用,移動(dòng)計(jì)算設(shè)備可以從網(wǎng)絡(luò)位置下載該應(yīng)用。例如,應(yīng)用識(shí)別信息或者應(yīng)用類(lèi)型識(shí)別信息可以發(fā)送到應(yīng)用商店,在那里可以下載這種應(yīng)用。有些實(shí)施例中,應(yīng)用可以自動(dòng)下載。在其它實(shí)施例中,可以詢(xún)問(wèn)用戶(hù)他或她是否愿意下載該應(yīng)用。如果用戶(hù)批準(zhǔn),應(yīng)用就可以被下載并且在移動(dòng)計(jì)算設(shè)備執(zhí)行。在進(jìn)一步的實(shí)施例中,在發(fā)送啟動(dòng)命令之前,附件可以請(qǐng)求關(guān)于可以在移動(dòng)計(jì)算設(shè)備上執(zhí)行的可用應(yīng)用的信息。例如,Avai IableApplicationRequest命令可以從附件發(fā)送到移動(dòng)計(jì)算設(shè)備。作為響應(yīng),移動(dòng)計(jì)算設(shè)備可以向附件發(fā)送AvailableApplication消息。這個(gè)消息可以包括有效載荷,其列出移動(dòng)計(jì)算設(shè)備上可以被附件訪(fǎng)問(wèn)的所有可用應(yīng)用。有效載荷還可以包括與可用應(yīng)用關(guān)聯(lián)的其它信息,例如應(yīng)用圖標(biāo)等。這個(gè)列表可以按與移動(dòng)計(jì)算設(shè)備的查找表中應(yīng)用次序一致的方式排序。有些實(shí)施例中,這個(gè)列表可能不是所有應(yīng)用的完整列表,因?yàn)橛行?yīng)用對(duì)于附件不可用或者與附件的通信不兼容。利用這個(gè)列表,如果知道一個(gè)應(yīng)用存在并且對(duì)于移動(dòng)計(jì)算設(shè)備是可用的,那么附件可以請(qǐng)求該應(yīng)用的啟動(dòng)。這種情況下,啟動(dòng)請(qǐng)求可以包括位掩碼,該位掩碼包括聲明位,與應(yīng)用列表中的應(yīng)用對(duì)應(yīng)。移動(dòng)計(jì)算設(shè)備可以相對(duì)于應(yīng)用列表指出聲明位的位置,來(lái)簡(jiǎn)單地識(shí)別應(yīng)用。在進(jìn)一步的實(shí)施例中,在建立與附件的連接時(shí),移動(dòng)計(jì)算設(shè)備可以自動(dòng)啟動(dòng)應(yīng)用,無(wú)需從附件接收明確的啟動(dòng)命令。例如,當(dāng)連接到附件時(shí),移動(dòng)計(jì)算設(shè)備可以訪(fǎng)問(wèn)查找表,確定與附件兼容的一個(gè)或多個(gè)應(yīng)用。然后,移動(dòng)計(jì)算設(shè)備可以自動(dòng)啟動(dòng)其中一個(gè)兼容應(yīng)用。在多個(gè)應(yīng)用被認(rèn)為與附件兼容的情況下,移動(dòng)計(jì)算設(shè)備可以基于優(yōu)先級(jí)等級(jí)選擇一個(gè)應(yīng)用來(lái)啟動(dòng),或者可以請(qǐng)求用戶(hù)從這組兼容應(yīng)用中選擇特定的應(yīng)用。在進(jìn)一步的實(shí)施例中,從附件發(fā)送到移動(dòng)計(jì)算設(shè)備的啟動(dòng)命令可以包括指示應(yīng)用是否要專(zhuān)門(mén)在前臺(tái)或者專(zhuān)門(mén)在后臺(tái)啟動(dòng)的信息。例如,附件可以設(shè)置成低功耗模式,其中它只想與應(yīng)用在后臺(tái)通信。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到其它的變化、修改或可選方案。反向域名約定(reverse domain name convention)有些實(shí)施例中,反向域名約定可以用于管理應(yīng)用命名空間。常規(guī)的域名從左往右提供較低等級(jí)的域到頂級(jí)域。例如,在域名“help, example, com”中,項(xiàng)“com”是頂級(jí)域而項(xiàng)“example”是較低級(jí)域,而項(xiàng)“help”是最低級(jí)域。作為另一個(gè)例子,域名“mac.apple,com”從左往右指定了最低級(jí)域“mac”、中間域“apple”和頂級(jí)域“com”。相反,反向域名將提供“ com.apple, mac,,。反向域名約定可以指定具體公司所使用的應(yīng)用。S卩,反向域名“com.company 1.applicationl”指定與公司(或者其它開(kāi)發(fā)商)“companyl”關(guān)聯(lián)的“applicationl”應(yīng)用。因而,總的來(lái)說(shuō),公司可以利用反向域名約定實(shí)現(xiàn)應(yīng)用,其中反向域名的第一部分定位公司(“com.companyl”)并且與公司的(或者其它開(kāi)發(fā)商的)互聯(lián)網(wǎng)域名關(guān)聯(lián)。反向域名的第二部分(“applicationl”)指的是具體應(yīng)用。就附件和/或應(yīng)用的不同開(kāi)發(fā)商與不同的互聯(lián)網(wǎng)域名關(guān)聯(lián)而言,反向域名約定允許開(kāi)發(fā)商通過(guò)基于其互聯(lián)網(wǎng)域名的反轉(zhuǎn)來(lái)命名它們的協(xié)議,以與其它開(kāi)發(fā)商區(qū)分應(yīng)用和/或附件。而且,如果在使用相同名字的兩個(gè)開(kāi)發(fā)商之間存在沖突,簡(jiǎn)單檢查誰(shuí)擁有對(duì)應(yīng)互聯(lián)網(wǎng)域名,確定哪個(gè)開(kāi)發(fā)商具有對(duì)一個(gè)特定反向域名的權(quán)利。 有些實(shí)施例中,反向域名可以附加成包括特定于一類(lèi)設(shè)備中所有設(shè)備或者特定于一類(lèi)應(yīng)用中所有應(yīng)用的全局標(biāo)識(shí)符。例如,所有的揚(yáng)聲器附件都可以包括附加到反向域名的標(biāo)識(shí)符。例如,這種反向域名可以具有以下格式“com.companyl.accessoryl.speaker”或者“speaker, com.companyl.accessoryl”。利用這種約定,不同的公司可以生產(chǎn)揚(yáng)聲器,而且,雖然制造商不同,但移動(dòng)計(jì)算設(shè)備仍可以把這種設(shè)備識(shí)別為揚(yáng)聲器。作為另一個(gè)例子,反向域名可以具有以下格式:“com.companyl.accessoryl.applicationl”。這個(gè)反向域名指定了 一個(gè)具體應(yīng)用,這個(gè)應(yīng)用可以由附件用于請(qǐng)求該具體應(yīng)用的自動(dòng)啟動(dòng)(見(jiàn)圖3和圖4)。作為另一個(gè)例子,反向域名可以具有以下格式:“com.companyl.accessoryl”。這個(gè)反向域名指定了一個(gè)具體附件,這個(gè)附件可以與一組應(yīng)用或者單個(gè)應(yīng)用一起使用。而且,它可以由附件用于請(qǐng)求與附件I關(guān)聯(lián)的具體應(yīng)用的啟動(dòng)(見(jiàn)圖3和圖4)或者與accessoryl關(guān)聯(lián)的任何應(yīng)用類(lèi)型的啟動(dòng)(見(jiàn)圖5和圖6)。作為另一個(gè)例子,反向域名可以具有以下格式“com.companyl.applicationtypel”。這個(gè)反向域名指定了具體的應(yīng)用類(lèi)型,這個(gè)應(yīng)用類(lèi)型可以指可以與附件互操作的應(yīng)用的類(lèi)屬(見(jiàn)圖5和圖6)。然后,移動(dòng)計(jì)算設(shè)備可以啟動(dòng)與這種應(yīng)用類(lèi)型關(guān)聯(lián)的任何應(yīng)用。這些例子的各種其它組合和變化都可以使用。反向域名約定僅僅是可以如何識(shí)別應(yīng)用協(xié)議的一個(gè)例子。任何類(lèi)型的約定都可以使用。本發(fā)明的實(shí)施例可以利用專(zhuān)用部件和/或可編程處理器和/或其它可編程設(shè)備的任意組合實(shí)現(xiàn)。在此所述的各種過(guò)程可以在相同處理器上或者不同處理器上以任意組合實(shí)現(xiàn)。相應(yīng)地,當(dāng)部件被描述為配置成執(zhí)行某些操作時(shí),這種配置可以例如通過(guò)把電子電路設(shè)計(jì)成執(zhí)行所述操作、通過(guò)編程可編程電子電路(例如微處理器)以便執(zhí)行所述操作或者其任意組合來(lái)實(shí)現(xiàn)。過(guò)程可以利用多種技術(shù)傳送,包括但不限于,用于互操作通信的常規(guī)技術(shù),而且不同的過(guò)程對(duì)可以使用不同技術(shù),或者相同的過(guò)程對(duì)可以在不同的時(shí)間使用不同的技術(shù)。另外,盡管上述實(shí)施例可以參考具體的硬件和軟件部件,但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)至IJ,硬件和/或軟件部件的不同組合也可以使用,而且描述為在硬件中實(shí)現(xiàn)的特定操作也可能在軟件中實(shí)現(xiàn),反之亦然。結(jié)合了本發(fā)明各種特征的計(jì)算機(jī)程序可以在各種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上編碼;合適的介質(zhì)包括磁盤(pán)或磁帶、例如光盤(pán)(CD)或DVD (數(shù)字多樣化盤(pán))的光學(xué)存儲(chǔ)介質(zhì)、閃存存儲(chǔ)器等。編碼了程序代碼的計(jì)算機(jī)可讀介質(zhì)可以與兼容的電子設(shè)備打包,或者程序代碼可以與電子設(shè)備分離地提供(例如,經(jīng)互聯(lián)網(wǎng)下載)。因而,盡管本發(fā)明已經(jīng)參考具體實(shí)施例進(jìn)行了描述,但是將認(rèn)識(shí)到,本發(fā)明是要覆蓋以下權(quán)利要求范圍內(nèi)的所有修改與等價(jià)物。
權(quán)利要求
1.一種方法,包括: 從附件向移動(dòng)計(jì)算設(shè)備發(fā)送啟動(dòng)命令,其中該啟動(dòng)命令包括與要由移動(dòng)計(jì)算設(shè)備執(zhí)行的一個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的信息; 由附件接收來(lái)自移動(dòng)計(jì)算設(shè)備的確認(rèn)消息,該確認(rèn)消息指示與啟動(dòng)命令中所包括的信息關(guān)聯(lián)的應(yīng)用可用于在移動(dòng)計(jì)算設(shè)備執(zhí)行;及 由附件接收來(lái)自移動(dòng)計(jì)算設(shè)備的、與確認(rèn)消息分離的打開(kāi)會(huì)話(huà)消息,該打開(kāi)會(huì)話(huà)消息指示已經(jīng)為附件與移動(dòng)計(jì)算設(shè)備之間的通信打開(kāi)了通信會(huì)話(huà)。
2.如權(quán)利要求1所述的方法,還包括由附件與移動(dòng)計(jì)算設(shè)備通信。
3.如權(quán)利要求2所述的方法,其中啟動(dòng)命令中所包括的信息指定了具體應(yīng)用,其中確認(rèn)消息指示所述具體應(yīng)用可用于在移動(dòng)計(jì)算設(shè)備執(zhí)行,其中打開(kāi)會(huì)話(huà)消息指示已經(jīng)為與移動(dòng)計(jì)算設(shè)備執(zhí)行的所述具體應(yīng)用通信而打開(kāi)了通信會(huì)話(huà),其中與移動(dòng)計(jì)算設(shè)備的通信包括與在該移動(dòng)計(jì)算設(shè)備執(zhí)行的所述具體應(yīng)用的通信。
4.如權(quán)利要求1所述的方法,其中在附件接收到否定的確認(rèn)命令的情況下,其后停止與移動(dòng)計(jì)算設(shè)備的通信。
5.如權(quán)利要求2所述的方法,其中啟動(dòng)命令中所包括的信息指定了通信協(xié)議,其中確認(rèn)消息指示了應(yīng)用可用于在與該通信協(xié)議兼容的移動(dòng)計(jì)算設(shè)備中執(zhí)行,其中打開(kāi)會(huì)話(huà)消息指示了已經(jīng)為利用所述通信協(xié)議與在移動(dòng)計(jì)算設(shè)備執(zhí)行的具體應(yīng)用通信而打開(kāi)了通信會(huì)話(huà),其中與移動(dòng)計(jì)算設(shè)備的通信包括利用所述通信協(xié)議與在移動(dòng)計(jì)算設(shè)備執(zhí)行的所述具體應(yīng)用通信。
6.如權(quán)利要求2所述的方法,其中啟動(dòng)命令中所包括的信息指定了應(yīng)用類(lèi)型,其中確認(rèn)消息指示了與該應(yīng)用類(lèi)型一致的應(yīng)用可用于在移動(dòng)計(jì)算設(shè)備中執(zhí)行,其中打開(kāi)會(huì)話(huà)消息指示了已經(jīng)為與在移動(dòng)計(jì) 算設(shè)備執(zhí)行的具體應(yīng)用通信而打開(kāi)了通信會(huì)話(huà),其中與移動(dòng)計(jì)算設(shè)備的通信包括與在移動(dòng)計(jì)算設(shè)備執(zhí)行的所述具體應(yīng)用通信。
7.一種供移動(dòng)計(jì)算設(shè)備使用的附件,該附件包括: 輸入/輸出接口,配置成與移動(dòng)計(jì)算設(shè)備交換命令與數(shù)據(jù) '及 控制器,與輸入/輸出接口耦合,該控制器配置成: 檢測(cè)移動(dòng)計(jì)算設(shè)備與輸入/輸出接口的連接; 通過(guò)輸入/輸出接口向移動(dòng)計(jì)算設(shè)備發(fā)送啟動(dòng)命令,該啟動(dòng)命令包括與要在移動(dòng)計(jì)算設(shè)備啟動(dòng)的應(yīng)用關(guān)聯(lián)的指示; 通過(guò)輸入/輸出接口從移動(dòng)計(jì)算設(shè)備接收開(kāi)通通信消息,該開(kāi)通通信消息指示已經(jīng)為與具體應(yīng)用通信而打開(kāi)了通信會(huì)話(huà)。
8.如權(quán)利要求7所述的附件,其中控制器還配置成與在移動(dòng)計(jì)算設(shè)備執(zhí)行的所述具體應(yīng)用相互操作。
9.如權(quán)利要求7所述的附件,其中控制器還配置成從移動(dòng)計(jì)算設(shè)備接收確認(rèn),該確認(rèn)指示了移動(dòng)計(jì)算設(shè)備可以啟動(dòng)由所述啟動(dòng)命令指示的所述應(yīng)用。
10.如權(quán)利要求7所述的附件,其中與應(yīng)用關(guān)聯(lián)的所述指示包括與一個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的一種或多種通信協(xié)議的指示。
11.如權(quán)利要求7所述的附件,其中與應(yīng)用關(guān)聯(lián)的所述指示包括應(yīng)用類(lèi)型的指示,所述具體應(yīng)用是與該應(yīng)用類(lèi)型關(guān)聯(lián)的應(yīng)用。
12.如權(quán)利要求7所述的附件,其中與應(yīng)用關(guān)聯(lián)的所述指示包括具體應(yīng)用的指示。
13.如權(quán)利要求7所述的附件,其中所述開(kāi)通通信消息包括與所述具體應(yīng)用兼容的通信協(xié)議的指示。
14.一種在移動(dòng)計(jì)算設(shè)備中使用的方法,該方法包括: 從與移動(dòng)計(jì)算設(shè)備耦合的附件接收啟動(dòng)命令,其中該啟動(dòng)命令包括與一個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的應(yīng)用信息; 確定與該應(yīng)用信息關(guān)聯(lián)的應(yīng)用是否在移動(dòng)計(jì)算設(shè)備中可用; 在與該應(yīng)用信息關(guān)聯(lián)的應(yīng)用在移動(dòng)計(jì)算設(shè)備不可用的情況下,向附件發(fā)送拒絕所述啟動(dòng)命令的消息;及 在與該應(yīng)用信息關(guān)聯(lián)的應(yīng)用在移動(dòng)計(jì)算設(shè)備可用的情況下,其后: 發(fā)送與該應(yīng)用信息關(guān)聯(lián)的應(yīng)用可用的確認(rèn); 啟動(dòng)與該應(yīng)用信息關(guān)聯(lián)的應(yīng)用; 開(kāi)通所述應(yīng)用與附件之間的通信信道;及 向附件發(fā)送指示通信信道已經(jīng)開(kāi)通的消息。`
15.如權(quán)利要求14所述的方法,其中發(fā)送到附件的、指示通信信道已經(jīng)開(kāi)通的消息包括通信協(xié)議的指示。
16.如權(quán)利要求14所述的方法,其中該應(yīng)用信息包括以下一個(gè)或多個(gè):具體應(yīng)用、應(yīng)用類(lèi)型、通信協(xié)議及應(yīng)用創(chuàng)建者的指示。
17.如權(quán)利要求14所述的方法,還包括確定移動(dòng)計(jì)算設(shè)備是否可以啟動(dòng)與該應(yīng)用信息關(guān)聯(lián)的附件。
18.一種其上存儲(chǔ)指令的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì),當(dāng)所述指令被移動(dòng)計(jì)算設(shè)備的處理器執(zhí)行時(shí),使處理器執(zhí)行操作,包括: 從附件接收啟動(dòng)應(yīng)用的指示; 確定移動(dòng)計(jì)算設(shè)備是否處于啟動(dòng)所述應(yīng)用的狀態(tài); 在移動(dòng)計(jì)算設(shè)備不處于啟動(dòng)所述應(yīng)用的狀態(tài)的情況下,向附件發(fā)送指示不可能啟動(dòng)所述應(yīng)用的消息 '及 在移動(dòng)計(jì)算設(shè)備處于啟動(dòng)所述應(yīng)用的狀態(tài)的情況下: 執(zhí)行所述應(yīng)用; 在所述應(yīng)用與附件之間開(kāi)通通信信道;及 向所述附件發(fā)送通信信道已經(jīng)開(kāi)通的指示的消息。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中操作還包括在移動(dòng)計(jì)算設(shè)備處于啟動(dòng)所述應(yīng)用的狀態(tài)的情況下向附件發(fā)送確認(rèn)。
20.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中確定移動(dòng)計(jì)算設(shè)備是否處于啟動(dòng)所述應(yīng)用的狀態(tài)包括確定該應(yīng)用是否在移動(dòng)計(jì)算設(shè)備中可用于執(zhí)行。
21.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中確定移動(dòng)計(jì)算設(shè)備是否處于啟動(dòng)所述應(yīng)用的狀態(tài)包括確定移動(dòng)計(jì)算設(shè)備當(dāng)前是否正在執(zhí)行不兼容的應(yīng)用。
22.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中確定移動(dòng)計(jì)算設(shè)備是否處于啟動(dòng)所述應(yīng)用的狀態(tài)包括確定移動(dòng)計(jì)算設(shè)備是否處于啟動(dòng)所述應(yīng)用作為后臺(tái)過(guò)程的狀態(tài)。
全文摘要
本發(fā)明的實(shí)施例提供了響應(yīng)來(lái)自附件的啟動(dòng)請(qǐng)求而啟動(dòng)應(yīng)用的系統(tǒng)與方法。有些實(shí)施例中,移動(dòng)計(jì)算設(shè)備可以確定它是否處于允許應(yīng)用啟動(dòng)的狀態(tài)和/或可以確定啟動(dòng)命令中所請(qǐng)求的應(yīng)用或應(yīng)用類(lèi)型是否可用于啟動(dòng)。響應(yīng)該請(qǐng)求,如果移動(dòng)計(jì)算設(shè)備能夠做到的話(huà),移動(dòng)計(jì)算設(shè)備可以啟動(dòng)該應(yīng)用。移動(dòng)計(jì)算設(shè)備還可以向附件發(fā)送指示應(yīng)用可以被啟動(dòng)的肯定確認(rèn)消息。開(kāi)通通信會(huì)話(huà)消息也可以發(fā)送到附件。響應(yīng)該消息,附件可以開(kāi)通通信會(huì)話(huà)并且與應(yīng)用互操作。
文檔編號(hào)G06F9/445GK103189841SQ201180052414
公開(kāi)日2013年7月3日 申請(qǐng)日期2011年9月22日 優(yōu)先權(quán)日2010年9月30日
發(fā)明者S·圖普拉尼, P·霍爾登, E·C·舒爾波特, T·阿爾西娜, S·福斯塔 申請(qǐng)人:蘋(píng)果公司