識(shí)該命令所屬的專門語言并且第二字節(jié)標(biāo)識(shí)該專門語言內(nèi)的特定命令。也可以使用其它命令結(jié)構(gòu)。不需要所有附件、附件可被連接到的所有移動(dòng)計(jì)算設(shè)備都支持附件通信協(xié)議內(nèi)所定義的每種專門語言或者特定專門語言的每個(gè)命令(例如,不同設(shè)備可能使用給定專門語言的不同版本)。
[0056]在一些實(shí)施例中,被設(shè)計(jì)為彼此互操作的每個(gè)附件202和每個(gè)移動(dòng)計(jì)算設(shè)備200至少支持包含有所有這些設(shè)備共用的命令的“通用”專門語言。通用專門語言可以包括這樣的命令,這些命令使得移動(dòng)計(jì)算設(shè)備和附件能夠向彼此標(biāo)識(shí)其自身并且至少提供關(guān)于其各自能力的一些信息,包括各自支持哪些其他專門語言(如果有的話)以及在相連接時(shí)各自希望使用另一設(shè)備的哪些能力。
[0057]通用專門語言還可以包括移動(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)證過程。
[0058]附件通信協(xié)議的通用專門語言或另外的專門語言還可以包括“隧道傳輸”命令,“隧道傳輸”命令允許在移動(dòng)計(jì)算設(shè)備200上所運(yùn)行的應(yīng)用226與附件202之間交換任意信息。例如,TunnelToAcc命令可被定義為可由移動(dòng)計(jì)算設(shè)備200發(fā)送給附件202。該命令的凈荷可以是任何數(shù)據(jù)、控制信號(hào)或者運(yùn)行在移動(dòng)計(jì)算設(shè)備200上的應(yīng)用226可以生成并發(fā)送給附件202的其它信息。類似地,TunnelToHost命令可被定義為可由附件202發(fā)送給移動(dòng)計(jì)算設(shè)備200。該命令的凈荷可以是任何數(shù)據(jù)、控制信號(hào)或者附件202可生成并發(fā)送給運(yùn)行在移動(dòng)計(jì)算設(shè)備200上的應(yīng)用226的其它信息。這些隧道傳輸命令可被定義為使得附件通信協(xié)議對(duì)于凈荷內(nèi)容是不可知的。下面描述用于管理通信以使得特定應(yīng)用僅將數(shù)據(jù)、控制信號(hào)或其它信息發(fā)送給能夠處理它的附件(反之亦然)的技術(shù)的示例。
[0059]在一些實(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)的通信。
[0060]移動(dòng)計(jì)算設(shè)備和附件支持的附件通信協(xié)議可以包括各種其它專門語言,例如,允許附件發(fā)送指示將被調(diào)用的移動(dòng)計(jì)算設(shè)備功能的命令的簡單遠(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í)施例被使用。
[0061]將理解,這里描述的附件通信協(xié)議是說明性的并且變更和修改是可以的。這里描述的具體命令可被其它命令或命令的組合、或者其它類型的消息和格式替代。另外,不要求任何特定的移動(dòng)通信設(shè)備或附件支持這里描述的所有命令和操作。
[0062]如上面提到的,在移動(dòng)計(jì)算設(shè)備200上運(yùn)行的應(yīng)用226與附件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。
[0063]例如,在一些實(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ù)。
[0064]移動(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ò)接口(例如,電話、WiF1、藍(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ù)。
[0065]在另一示例中,附件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。
[0066]此外,在附件202處從移動(dòng)計(jì)算設(shè)備200接收的輸入事件可由運(yùn)行附件特定軟件280的控制器260處理。在一些實(shí)施例中,附件特定軟件280可以響應(yīng)于從移動(dòng)計(jì)算設(shè)備200接收的輸入事件而與附件特定硬件275交互。
[0067]此外,在一些實(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é)議來交換。
[0068]在一些實(shí)施例中,附件特定硬件275可以將輸入數(shù)據(jù)提供給控制器260。例如,附件特定硬件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ù)目的功能。
[0069]在一些實(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é)議的全部或一部分。
[0070]在這里描述的某些實(shí)施例中,附件協(xié)議消息例如可以利用如上所述的隧道傳輸命令、通過將消息包封、包裝或封裝在遵守附件通信協(xié)議的分組內(nèi)而在設(shè)備之間被發(fā)送。因此,由附件通信協(xié)議指定的傳輸鏈路可被使用,并且應(yīng)用協(xié)議無需指定物理傳輸鏈路。
[0071]可構(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)或通信的情況下被提供。
[0072]圖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ī)或者它們的任意組合。
[0073]端口 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è)端口。
[0074]例如可以是由處理器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ú)立于特定傳輸鏈路。
[0075]在另一實(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è)端口。
[0076]在一些實(shí)施例中,協(xié)議管理器310 (或關(guān)聯(lián)協(xié)議后臺(tái)程序)還可以支持和/或控制端口的開閉。例如,在虛擬端口的情況中,協(xié)議管理器310可以在啟動(dòng)時(shí)創(chuàng)建一組虛擬端口并且當(dāng)連接被請(qǐng)求和/或被終止時(shí)打開和/或關(guān)閉端口。
[0077]協(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)用的通知。
[0078]軟件支持層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通信。
[0079]在所示實(shí)施例中,支持層315可以提供附件信息查找表330。在一個(gè)實(shí)施例中,附件信息表330可以包括關(guān)于每個(gè)所連接附件的信息,例如,附件類型、附件標(biāo)識(shí)符和/或附件所支持的一個(gè)或多個(gè)應(yīng)用協(xié)議的名稱。附件信息表330可以在附件連接和斷開連接時(shí)響應(yīng)于協(xié)議管理器310提供的信息而被填充和更新。
[0080]應(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ì)分析、圖形分析等)等。
[0081]正運(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ì)話。
[0082]將理解,這里描述的模塊是說明性的并且變更和修改是可以的。移動(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)程序和/或模塊。
[0083]還將明白,附件也可以實(shí)現(xiàn)與圖3所示的類似的模塊、層和其它組件,或者其變更或修改。只要附件能夠根據(jù)附件通信協(xié)議與移動(dòng)計(jì)算設(shè)備交換信息,內(nèi)部實(shí)現(xiàn)方式可以按需改變。
[0084]如圖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。
[0085]可構(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í)施例中,中央名稱空間管理器可以簡單地定義一命名協(xié)定,如果遵循它,則其應(yīng)當(dāng)防止名稱沖突,并且附件和/或應(yīng)用的開發(fā)者可以通過遵循該協(xié)定來避免沖突。
[0086]在一個(gè)實(shí)施例中,反向域名協(xié)定被用于管理應(yīng)用協(xié)議名稱空間。傳統(tǒng)的域名從左到右提供低層域到頂層域。例如,在域名“help, example, com”中,項(xiàng)“com”是頂層域,項(xiàng)“example”是較低層域,項(xiàng)“help”是最低層域。作為另一示例,域名“mac.apple, com”從左至IJ右指定了最低層域“mac”、中間域“apple”和頂層域“com”。另一方面,反向域名將提供“com.apple, mac,,。
[0087]反向域名協(xié)定可被用來指定由具體公司使用的應(yīng)用協(xié)議。S卩,反向域名“com.companyl.accessoryl (com.公司 1.附件 I) ” 指定了 “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)域名的簡單檢查將確定哪個(gè)開發(fā)者具有使用特定反向域名的權(quán)利。
[0088]在一些實(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é)定。
[0089]因此,當(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é)議。
[0090]例如,移動(dòng)計(jì)算設(shè)備200可以與溫度計(jì)無線連接