專利名稱::用于在一外圍裝置與一無線裝置之間建立通信的系統(tǒng)及方法
技術(shù)領(lǐng)域:
:本發(fā)明大體而言涉及具有無線通信能力的計(jì)算機(jī)裝置。更具體而言,本發(fā)明涉及一種用于在一外圍裝置與一無線計(jì)算機(jī)裝置的常駐計(jì)算機(jī)程序之間建立及控制數(shù)據(jù)通信的系統(tǒng)及方法。
背景技術(shù):
:將例如打印機(jī)、掃描儀、照相機(jī)等外圍裝置鏈接至個(gè)人計(jì)算機(jī)(PC)以使計(jì)算機(jī)可利用該外圍裝置已為人們所知。外圍裝置通常以并行或串行數(shù)據(jù)通信方式與PC的計(jì)算機(jī)平臺相連接。具體而言,PC中之串行輸入/輸出(I/O)(SIO)涉及到通過將外部裝置連接至PC的串行線連接點(diǎn)而與所述外部裝置進(jìn)行通信。該機(jī)構(gòu)使外部裝置能夠使用串行數(shù)據(jù)流與PC軟件進(jìn)行通信。PC的操作系統(tǒng)(例如Windows或Linux)可檢測自外圍裝置輸入的初始通信并確定適于操作所述外圍裝置的軟件或驅(qū)動(dòng)程序,或者以其他方式控制通信。一般而言,例如移動(dòng)電話及尋呼機(jī)等主要用于實(shí)施無線通信的計(jì)算機(jī)裝置不具有帶有復(fù)雜常駐OS的有效計(jì)算機(jī)平臺。移動(dòng)裝置制造商通常將所述裝置配置成以“數(shù)據(jù)“模式與任何其他計(jì)算機(jī)裝置進(jìn)行通信。換句話說,裝置處理器或邏輯僅接受數(shù)據(jù)命令且常常用作其他裝置的外圍裝置。例如,存在可為其他裝置提供無線通信能力的移動(dòng)裝置,例如膝上型計(jì)算機(jī)。在一種常用配置中,移動(dòng)電話的行為對于膝上型計(jì)算機(jī)而言僅如同一調(diào)制解調(diào)器,并響應(yīng)于電話協(xié)議撥號命令而發(fā)起數(shù)據(jù)服務(wù)連接。一旦建立起數(shù)據(jù)連接,發(fā)至及來自膝上型計(jì)算機(jī)的數(shù)據(jù)即不加修改地通過移動(dòng)電話傳遞,且移動(dòng)電話的處理器或邏輯大多被繞過。另一問題在于,對于具有更大計(jì)算機(jī)平臺的移動(dòng)裝置而言,裝置通常僅具有一非常小的OS且無法將大量的資源專用于外圍裝置通信。結(jié)果,即便常駐OS處理來自外圍裝置的輸入通信來建立正確的通信,移動(dòng)裝置OS也將不會(huì)有效地保持從事對正在進(jìn)行的通信的管理。在某些情形中,移動(dòng)裝置OS不具備與外圍裝置進(jìn)行相互作用以使所述移動(dòng)裝置可控制外圍裝置的功能的能力。相應(yīng)地,較佳應(yīng)提供一種能提供一可與一外圍計(jì)算機(jī)裝置實(shí)施復(fù)雜通信的無線計(jì)算機(jī)裝置的系統(tǒng)及方法。所述無線裝置應(yīng)能部分地至完全地控制所述移動(dòng)裝置與所述外圍裝置之間正在進(jìn)行的通信。進(jìn)一步,所述移動(dòng)裝置應(yīng)能夠或者部分地或者完全地在軟件中(例如以裝置的常駐OS)控制所述通信。因此,本發(fā)明主要涉及到提供此種系統(tǒng)、方法及移動(dòng)裝置。
發(fā)明內(nèi)容本發(fā)明包括一種用于在一外圍裝置與無線裝置的操作系統(tǒng)之間進(jìn)行通信的無線計(jì)算機(jī)裝置、系統(tǒng)、方法及計(jì)算機(jī)程序。所述無線裝置包括一具有至少一無線通信端口的計(jì)算機(jī)平臺,并可具有其他通信端口一有線的及無線的兩種、及一個(gè)或多個(gè)常駐計(jì)算機(jī)程序。所述計(jì)算機(jī)平臺還具有一操作系統(tǒng),所述操作系統(tǒng)管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置(包括外圍計(jì)算機(jī)裝置)的相互作用。一外圍裝置將通過一有線或無線連接選擇性地與所述無線裝置的計(jì)算機(jī)平臺進(jìn)行通信,且一旦所述外圍裝置與所述無線裝置的計(jì)算機(jī)平臺進(jìn)行通信,所述無線裝置的操作系統(tǒng)就將識別外圍裝置的類別或者正通信的特定裝置,并隨后將一個(gè)或多個(gè)常駐計(jì)算機(jī)程序與所述外圍裝置相鏈接。所述裝置的OS可對所述外圍裝置與所述無線裝置之間的通信保持部分的或完全的控制,或者可將對所述通信的控制轉(zhuǎn)交給一所鏈接的常駐程序。用于在一外圍裝置與一無線裝置的操作系統(tǒng)之間進(jìn)行通信的方法包括如下步驟在一外圍裝置與一具有一計(jì)算機(jī)平臺的無線裝置之間開始一通信,所述計(jì)算機(jī)平臺具有至少一通信端口,其中所述計(jì)算機(jī)平臺包括一用于管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置的相互作用的操作系統(tǒng)。所述方法然后包括如下步驟在所述無線裝置的操作系統(tǒng)處確定已與所述無線裝置開始通信的外圍裝置的身份,并隨后通過所述操作系統(tǒng)鏈接所述外圍裝置與一個(gè)或多個(gè)常駐程序。一種計(jì)算機(jī)程序可使一無線計(jì)算機(jī)裝置實(shí)施所述方法的各步驟。因此,所述無線通信裝置的一個(gè)目的是允許與外圍計(jì)算機(jī)裝置進(jìn)行復(fù)雜的通信,而未必僅將無線通信裝置用作調(diào)制解調(diào)器。所述無線計(jì)算機(jī)裝置可相應(yīng)地能部分地或完全地控制所述無線裝置的計(jì)算機(jī)平臺與所述外圍裝置之間正在進(jìn)行的通信,并可使用在初始通信時(shí)使用即插即用驅(qū)動(dòng)器及其他機(jī)構(gòu)來確證對所述外圍裝置的控制。所述通信可通過有線或無線數(shù)據(jù)鏈路或其組合、按串行或并行數(shù)據(jù)交換形式進(jìn)行。如作為所述無線裝置操作系統(tǒng)的軟件的一部分所實(shí)施,所述外圍裝置與一操作系統(tǒng)實(shí)體(例如動(dòng)態(tài)應(yīng)用程序或內(nèi)部對象)進(jìn)行通信。一旦在內(nèi)部應(yīng)用程序與所述外圍裝置之間建立起通信鏈路,所述操作系統(tǒng)就將確定用于利于其通信之協(xié)議,或者所述操作系統(tǒng)就將與所述外圍裝置相互作用并共同地配置最佳通信協(xié)定。所述操作系統(tǒng)可根據(jù)需要來控制對與所鏈接程序的通信或放棄所述控制。為在初始通信時(shí)得知所述外圍裝置,所述裝置的OS可調(diào)用一預(yù)規(guī)定的協(xié)議來發(fā)現(xiàn)關(guān)于所述外圍裝置的具體身份,或者至少所述外圍裝置所屬的類別,并然后,在一實(shí)施例中,可確定可服務(wù)于所述外圍裝置的無線裝置常駐應(yīng)用程序或者內(nèi)部對象實(shí)體。在審閱下文所述附圖簡要說明具體實(shí)施方式及權(quán)利要求書后,本發(fā)明的其它目標(biāo)、優(yōu)點(diǎn)及特征將顯而易見。圖1為一與一無線計(jì)算機(jī)裝置(在此處顯示為一移動(dòng)電話)進(jìn)行有線鏈接的外圍裝置(顯示為一照相機(jī))的代表圖。圖2為一與無線裝置的計(jì)算機(jī)平臺上的操作系統(tǒng)進(jìn)行通信的外圍裝置的計(jì)算機(jī)平臺的方塊圖。圖3為一具有具備外圍裝置支持能力的無線裝置的無線移動(dòng)網(wǎng)絡(luò)的代表圖。圖4為一流程圖,其例示在無線裝置計(jì)算機(jī)平臺上執(zhí)行的用于與外圍裝置進(jìn)行通信的方法的一實(shí)施例。具體實(shí)施例方式參照附圖,在各附圖中,相同編號自始至終代表相同元件,圖1顯示一系統(tǒng)10,其中一外圍裝置(即照相機(jī)14)通過串行線16與一無線裝置(在此處顯示為一移動(dòng)電話12)進(jìn)行有線通信。外圍裝置14可傳輸一特定命令以在所述連接上-或者為有線連接(如串行連接或USB,例如串行端口20及22)或者為無線連接(例如IRDA或RF)-呼叫無線裝置12的OS。一旦接收到所述呼叫命令,無線裝置12的OS就將建立所述連接使用一將在本文中進(jìn)一步解釋的預(yù)規(guī)定協(xié)定來與外圍裝置14進(jìn)行通信。然后,所述OS可將一適合的程序與所述外圍裝置相鏈接并部分地或完全地釋放對與所述程序的通信的控制。如在圖1中所示,插入移動(dòng)電話12內(nèi)的照相機(jī)14可與移動(dòng)電話12相互作用以在顯示器18上顯示照片,且在一實(shí)施例中,移動(dòng)電話12可啟動(dòng)照相機(jī)14的控制器件來檢索照片以供存儲(chǔ)在移動(dòng)電話12中及/或拍攝其他照片。無線裝置12可為移動(dòng)電話、雙向?qū)ず魴C(jī)、個(gè)人數(shù)字助理(PDA)、或其他具備無線通信能力的計(jì)算機(jī)裝置,而外圍裝置14可為照相機(jī)、閱讀器、打印機(jī)、掃描儀、監(jiān)視器、鍵盤、游戲控制桿、鼠標(biāo)、揚(yáng)聲器、或所屬
技術(shù)領(lǐng)域:
中所知的任何其他常用外圍裝置。如在圖2中更具體地顯示,在用于在外圍裝置14與一無線裝置12的操作系統(tǒng)之間進(jìn)行通信的系統(tǒng)10中,無線裝置12具有一計(jì)算機(jī)平臺30、及至少一通信端口或接口40,且計(jì)算機(jī)平臺30包括一用于管理無線裝置資源及無線裝置12與其他計(jì)算機(jī)裝置(例如外圍裝置14)之間的相互作用的操作系統(tǒng)。一個(gè)或多個(gè)外圍裝置可選擇性地與計(jì)算機(jī)平臺12進(jìn)行通信,以便一旦外圍裝置14與計(jì)算機(jī)平臺30進(jìn)行通信,無線裝置12的操作系統(tǒng)就將鏈接外圍裝置14與外圍裝置14中的一個(gè)或多個(gè)常駐計(jì)算機(jī)程序,例如一驅(qū)動(dòng)程序、控制程序等。更具體而言,無線裝置12具有一計(jì)算機(jī)平臺30,計(jì)算機(jī)平臺30可接收及處理自其他計(jì)算機(jī)電信裝置通過無線網(wǎng)絡(luò)或通過直接數(shù)據(jù)通信所發(fā)送的數(shù)據(jù)。計(jì)算機(jī)平臺30除其它組件外還包括一應(yīng)用專用集成電路(“ASIC”)36,或其它處理器、微處理器、邏輯電路、可編程門陣列、或其它數(shù)據(jù)處理裝置。ASIC36是在制造無線裝置時(shí)安裝且在正常情況下不能升級。ASIC36或其它處理器執(zhí)行一應(yīng)用程序編程接口(“API”)層34,該應(yīng)用程序編程接口層34包括常駐應(yīng)用程序環(huán)境,且可包括加載于ASIC36上的操作系統(tǒng)。該常駐應(yīng)用程序環(huán)境與所述無線裝置的存儲(chǔ)器32內(nèi)的任何常駐程序通過接口連接。一常駐應(yīng)用程序環(huán)境的實(shí)例是由Qualcomm針對無線裝置平臺所開發(fā)的“無線用二進(jìn)制運(yùn)行時(shí)間環(huán)境”(BREWTM)軟件。目前可在Qualcomm網(wǎng)站(www.qualcomm.com)上訪問BREW開發(fā)工具。如在此處所示,該無線裝置可為一具有圖形顯示器的蜂窩電話12,但也可為所屬
技術(shù)領(lǐng)域:
中所知的具有計(jì)算機(jī)平臺的任一種無線裝置,例如個(gè)人數(shù)字助理(PDA)、具有圖形顯示器的尋呼機(jī)、或甚至一具有無線通信端口的單獨(dú)計(jì)算機(jī)平臺,且可另外具有一接至一網(wǎng)絡(luò)或因特網(wǎng)的有線連接。進(jìn)一步,存儲(chǔ)器32可由只讀或隨機(jī)存取存儲(chǔ)器(RAM及ROM)、EPROM、EEPROM、閃存卡、或任一為計(jì)算機(jī)平臺所共用的存儲(chǔ)器構(gòu)成。計(jì)算機(jī)平臺30亦可包括一本地?cái)?shù)據(jù)庫38來存儲(chǔ)未在存儲(chǔ)器32中現(xiàn)用的軟件應(yīng)用程序、以及操作系統(tǒng)的計(jì)算機(jī)代碼。該本地?cái)?shù)據(jù)庫38通常由一個(gè)或多個(gè)快閃存儲(chǔ)器單元構(gòu)成,但也可為所屬
技術(shù)領(lǐng)域:
中所知的任何第二級及第三級存儲(chǔ)裝置,例如磁性媒體、EPROM、EEPROM、光學(xué)媒體、磁帶、或軟盤或硬盤。所述無線裝置,例如蜂窩電話12,具有經(jīng)由一通過無線網(wǎng)絡(luò)60選擇性地發(fā)送及接收數(shù)據(jù)的無線通信端口或通信接口24實(shí)施無線通信的能力。計(jì)算機(jī)平臺30常駐應(yīng)用程序環(huán)境可通過所述平臺、經(jīng)由所述端口(接口40)傳送數(shù)據(jù),并可與任何輸入通信流相互作用并對其進(jìn)行屏蔽以得到對其的一預(yù)定響應(yīng)。目前所制造的蜂窩電話及電信裝置,例如蜂窩電話10,具有日益增強(qiáng)的計(jì)算能力且正變得相當(dāng)于個(gè)人計(jì)算機(jī)及手持式個(gè)人數(shù)字助理(“PDA”)。這些“智能型”蜂窩電話允許軟件開發(fā)者創(chuàng)建可在無線裝置12的處理器(例如ASIC36)上下載及執(zhí)行的軟件應(yīng)用程序。無線裝置(例如移動(dòng)電話12)可下載并執(zhí)行許多類型的應(yīng)用程序,例如網(wǎng)頁、小應(yīng)用程序、MIDlet、游戲及股票監(jiān)控程序,或諸如新聞及有關(guān)體育的數(shù)據(jù)等簡單數(shù)據(jù)。所下載數(shù)據(jù)或可執(zhí)行的應(yīng)用程序可即刻顯示在無線裝置12的顯示器上或在不使用時(shí)存儲(chǔ)于本地?cái)?shù)據(jù)庫38內(nèi)??蓪⑺鲕浖?yīng)用程序視為一常駐于無線裝置12上的常規(guī)軟件應(yīng)用程序或計(jì)算機(jī)程序,且用戶可有選擇性地將所存儲(chǔ)的常駐應(yīng)用程序自本地?cái)?shù)據(jù)庫38下載至存儲(chǔ)器32以供在API34上執(zhí)行,即在常駐應(yīng)用程序環(huán)境內(nèi)執(zhí)行。相應(yīng)地,可在制造所述裝置時(shí)在計(jì)算機(jī)平臺30上加載一用于在輸入通信連接中進(jìn)行屏蔽的程序,或者可通過無線網(wǎng)絡(luò)25向計(jì)算機(jī)平臺30下載所述程序。例如照相機(jī)等外圍裝置14通常包括一計(jì)算機(jī)平臺50,計(jì)算機(jī)平臺50具有其自身的常駐通信接口52(其可為有線接口或無線接口)、及一常駐存儲(chǔ)器54及中央處理器56或其他邏輯。因此,照相機(jī)14或其他外圍裝置可與無線裝置12的任一常駐程序進(jìn)行雙工通信,或執(zhí)行其他高級功能。圖3為一更全面地例示無線裝置70及74在其中運(yùn)行的無線網(wǎng)絡(luò)60中各組件的方塊圖。無線網(wǎng)絡(luò)60僅為實(shí)例性且可包括任何使遠(yuǎn)程模組賴以在彼此之間及/或在無線網(wǎng)絡(luò)60的各組件之間進(jìn)行無線通信的系統(tǒng),包括但不限于無線網(wǎng)絡(luò)運(yùn)營商及/或服務(wù)器。運(yùn)營商網(wǎng)絡(luò)62控制發(fā)送至一消息接發(fā)服務(wù)控制器(“MSC”)64的消息(通常為數(shù)據(jù)包形式)。運(yùn)營商網(wǎng)絡(luò)62通過一網(wǎng)絡(luò)、因特網(wǎng)及/或POTS(“普通電話系統(tǒng)”)與MSC64通信。通常,運(yùn)營商網(wǎng)絡(luò)62與MSC64之間的網(wǎng)絡(luò)或因特網(wǎng)連接用來傳送數(shù)據(jù),而POTS用來傳送聲音信息。MSC64連接至多個(gè)基地臺(“BTS”)66。以與運(yùn)營商網(wǎng)絡(luò)類似的方式,MSC64通常既可通過網(wǎng)絡(luò)及/或因特網(wǎng)連接至BTS66來進(jìn)行數(shù)據(jù)傳輸也可通過POTS連接至BTS66來用于聲音信息傳輸。BTS66最終通過短信服務(wù)(“SMS”)或其它在所屬
技術(shù)領(lǐng)域:
中已知的無線傳輸方法將消息無線廣播至諸如蜂窩電話70及74等無線裝置。因此,在無線網(wǎng)絡(luò)60上,一個(gè)無線裝置70可嘗試向另一裝置(例如無線裝置74)傳送聲音或數(shù)據(jù)。此處將無線裝置70顯示成以有線方式連接有一打印機(jī)72,以使無線裝置70可在打印機(jī)72上打印數(shù)據(jù)。將無線裝置74顯示成與數(shù)據(jù)遠(yuǎn)程存儲(chǔ)器76進(jìn)行無線通信,從而使無線裝置74可在遠(yuǎn)程存儲(chǔ)器76中存儲(chǔ)及檢索數(shù)據(jù)。在每一種情形中,無線裝置70、74的操作系統(tǒng)均可處理與外圍裝置72、76的通信。在一實(shí)施例中,無線裝置70、74可通過彼此進(jìn)行通信,以便訪問與另一無線裝置進(jìn)行通信的外圍裝置。換句話說,無線裝置74可通過無線裝置70訪問打印機(jī)72,且無線裝置70可通過無線裝置74訪問遠(yuǎn)程存儲(chǔ)器76。在此種情形中,無線裝置的操作系統(tǒng)將處理適合于路過式通信的數(shù)據(jù)選路。在一使用BREW操作系統(tǒng)來控制外圍裝置通信的實(shí)施例中,當(dāng)例如照相機(jī)14等外圍裝置在開始通信時(shí),其將首先與AT命令處理器(ATCOP)進(jìn)行通信。通過發(fā)出一命令,所述外圍裝置通知ATCOP將對特定SIO連接的控制傳遞至BREWSIO命令處理器(BSCOP)。一旦外圍裝置14從所述操作系統(tǒng)得到一正響應(yīng),外圍裝置14即可向BREWSIO命令處理器發(fā)出命令。這些命令允許外圍裝置14或者發(fā)起與一個(gè)或多個(gè)特定BREW應(yīng)用程序的通信或者對無線裝置12執(zhí)行其他任務(wù)。在該實(shí)施例中,BREWSIO還依據(jù)在無線裝置12的串行端口上當(dāng)前現(xiàn)用的其他客戶端而允許一應(yīng)用程序單方面地掌握對所述串行端口的控制。ATCOP及BSCOP將通常讓步于一發(fā)出請求的應(yīng)用程序,但其他更高優(yōu)先權(quán)客戶端(例如服務(wù)編程)可拒絕釋放所述端口。將使一外圍裝置處理應(yīng)用程序不能獲得對所述端口的控制的具體情形將因具體的無線裝置制造及配置情況而異。由應(yīng)用程序發(fā)起的與外圍裝置14的通信是為支持與不介接BREW或常駐操作系統(tǒng)的外圍裝置進(jìn)行通信所必需的。在由應(yīng)用程序發(fā)起的通信中,常常需要使無線裝置12的用戶借助發(fā)起合適的應(yīng)用程序來協(xié)調(diào)對外圍裝置14的連接、或者使用戶幫助識別至少外圍裝置的類型。對于外圍裝置在與無線裝置12進(jìn)行通信時(shí)斷開的情形,在一由外圍裝置12發(fā)起的通信中,在檢測到裝置斷開時(shí),通信端口被移交給ATCOP。無線裝置12常駐應(yīng)用程序?qū)λ龆丝诘娜魏芜M(jìn)一步的讀取/寫入調(diào)用均將會(huì)造成錯(cuò)誤。無線裝置12的常駐應(yīng)用程序可通過調(diào)用合適的功能或?qū)ο?例如Writeable())來重新登記以便重新連接先前的端口。在由無線裝置12的常駐應(yīng)用程序發(fā)起的服務(wù)中,若外圍裝置14斷開,端口或接口40也仍將由所述常駐應(yīng)用程序控制。任何進(jìn)一步的讀取/寫入調(diào)用仍將會(huì)造成錯(cuò)誤,但無線裝置12的常駐應(yīng)用程序可將對所述端口的控制交回ATCOP或仍保持控制。當(dāng)在無線裝置12正與一外圍裝置14對話的同時(shí)退出一無線裝置12的常駐應(yīng)用程序時(shí),所述應(yīng)用程序?qū)㈥P(guān)閉所述端口或接口的控制功能或?qū)ο螅藢⑹顾龆丝?接口被移交給ATCOP。若重新進(jìn)入無線裝置12的常駐應(yīng)用程序,則會(huì)進(jìn)行用于獲得一端口或接口的標(biāo)準(zhǔn)協(xié)議。BREW接口也可在與外圍裝置14的通信中處理意外數(shù)據(jù)。以顯式方式打開并控制一端口或接口的無線裝置12常駐應(yīng)用程序會(huì)辨知BSCOP及ATCOP的正常功能,并在連接至預(yù)計(jì)將與ATCOP或BSCOP進(jìn)行對話的外圍裝置時(shí)作出正確反應(yīng)。一旦接收到錯(cuò)誤數(shù)據(jù),無線裝置12常駐應(yīng)用程序即通常會(huì)釋放所述端口/接口并讓BREW來決定下一步驟。在BREW中,DTR躍遷是UART用于檢測外圍裝置14斷開的方法,但在某些情形中,可能無法進(jìn)行可靠的檢測。例如,若一無線裝置12常駐應(yīng)用程序正與一特定外圍裝置14進(jìn)行對話,而所述特定外圍裝置14在通信過程中隨后發(fā)生變化。無線裝置12常駐應(yīng)用程序或一單獨(dú)的無線裝置12常駐錯(cuò)誤檢查應(yīng)用程序應(yīng)檢測到外圍裝置14的變化并交出對所述端口/接口的控制以使所述控制回到ATCOP。下文是對所連接裝置在BSCOP模式中可發(fā)出的命令的大體說明。每一命令均包含于一以一兩字節(jié)標(biāo)簽開頭并以一<CR>(ASCIIOxOD)字符結(jié)尾的數(shù)據(jù)包中。跟隨于一命令數(shù)據(jù)包之后的<LF>(ASCIIOxOA)字符被忽略。響應(yīng)數(shù)據(jù)包是以一兩字節(jié)標(biāo)簽開頭并以<CR><LF>(ASCIIOxODOxOA)結(jié)尾。BSCOP所支持的最大數(shù)據(jù)包大小為512個(gè)字節(jié)。隨命令所發(fā)送的標(biāo)簽應(yīng)由兩個(gè)字母數(shù)字ASCII字符組成。附加至一響應(yīng)中的標(biāo)簽與隨該對應(yīng)命令所發(fā)送的標(biāo)簽相同。此旨在由裝置用于消除響應(yīng)的模棱兩可性。通過隨每一命令發(fā)送一不同的標(biāo)簽,所述裝置即可確定響應(yīng)是起因于哪一命令。此可適用于當(dāng)建立連接或從數(shù)據(jù)錯(cuò)誤進(jìn)行恢復(fù)時(shí)將通信同步化。以下是一BSCOP命令序列的實(shí)例,其中以“D”開頭的行代表由外圍裝置14所發(fā)送的命令,而以“P”開頭的行則代表由無線裝置發(fā)送至外圍裝置14的命令。D01AT$BREWP01ATOKD02VERP02OK3.0.0.1D03DEVBREW.siotestP03ERROR0C01D04DEVBREW.siotestP04OKD99ENDP99OK在發(fā)送另一命令之前,外圍裝置14不需要等待響應(yīng)。例如,可出現(xiàn)該序列D02VERD03DEVkbP02OK3.0.0.1P03OK以下顯示一允許在外圍裝置14與無線裝置12之間進(jìn)行雙工通信的BREW接口的一個(gè)實(shí)例。該接口通過添加Write(寫入)及Writeable(可寫入)項(xiàng)來擴(kuò)展Isource接口AEEINTERFACE(IPort){INHERIT_ISource(IPort);Int(*GetLastError)(IPort*po);int32(*Write)(IPort*pme,char*pBuf,int32cbBuf);void(*Writeable)(IPort*pme,AEECallback*pcb);int(*IOCtl)(IPort*po,intnOption,uint32dwVal);int(*Close)(IPort*po);int(*Open)(IPort*po,constchar*szPort);};GetLastError()函數(shù)報(bào)告在Iport運(yùn)行過程中所發(fā)生的最后一個(gè)錯(cuò)誤。返回值是在AEEError.h中所規(guī)定的其中一個(gè)全局BREW錯(cuò)誤代碼。Open()函數(shù)允許所述應(yīng)用程序?qū)port結(jié)合至一實(shí)體端口。當(dāng)創(chuàng)建AEECLSBD_SERIAL的一實(shí)例時(shí),返回一不與任何實(shí)體端口相關(guān)聯(lián)的Iport。必須使用IPORT_Open()來指示所期望端口的名稱。Open()足一非阻塞調(diào)用,當(dāng)其不能立即得到滿足時(shí),其可能會(huì)返送回AEEPORT_WAIT。然后,當(dāng)調(diào)用程序應(yīng)再次試圖訪問所述端口時(shí),所述調(diào)用程序可使用IPORT_Writeable()來得到通知。當(dāng)調(diào)用Open()時(shí),調(diào)用程序可通過一包含其名稱的以0結(jié)尾的串來指示所期望的串行端口。BREW規(guī)定了通??晒┯糜谕鈬b置的端口類型的數(shù)個(gè)名稱。串行端口名稱是由短的ASCII序列組成,從而以一種可擴(kuò)展的方式允許不同的移動(dòng)裝置支持不同的端口。通常,電話底部的主要端口是UART。所有UARTS均使用AEE_PORT_SI01(″PORT1″)、AEE_PORT_SIO2(″PORT2″)等串來表示。USB端口是使用“USB1”、“USB2”等來表示。BREW也規(guī)定一專用名稱AEE_PORT_INCOMING(“inc”),所述專用名稱可用于與一正試圖發(fā)起與一特定無線裝置12常駐應(yīng)用程序的通信的外圍裝置14建立一通信鏈路。對于由外圍裝置14發(fā)起的與無線裝置12的通信-例如在BREW根據(jù)DEV(自外圍裝置14所發(fā)送的串)執(zhí)行一無線裝置12常駐應(yīng)用程序時(shí)所出現(xiàn),所述無線裝置常駐應(yīng)用程序通過自外圍裝置14接收命令的Iport與外圍裝置14進(jìn)行通信。當(dāng)一能夠使用SIO進(jìn)行通信的無線裝置12常駐應(yīng)用程序開始時(shí),所述應(yīng)用程序?qū)⑹褂肁EECLSID_SERIAL的CLSEID創(chuàng)建一IPort接口,并隨后使用AEE_PORT_INCOMING調(diào)用Open()。如果Open()返送回AEEPORT_WAIT,則所述應(yīng)用程序?qū)㈦S后通過注冊一使用Writeable()的回調(diào)而等待外圍裝置14發(fā)起的連接。當(dāng)一外圍裝置14得到連接時(shí),調(diào)用所述Writable回調(diào),從而促使無線裝置12常駐應(yīng)用程序重新嘗試Open()作業(yè)-該作業(yè)將會(huì)成功。如果無線裝置12的用戶開始一常駐應(yīng)用程序而不連接適當(dāng)?shù)耐鈬b置14,則無線裝置12常駐應(yīng)用程序仍遵循一類似于上文所述的過程并等待至連接外圍裝置14為止。通過此種方式,使一在相應(yīng)無線裝置12應(yīng)用程序起動(dòng)之后所連接的外圍裝置14仍可得到連接。在所述裝置得到連接之前,Open()將繼續(xù)返送回AEEPORT_WAIT,且Writeable()將不執(zhí)行。AEESIO_PORT_INCOMING僅適用于已請求正運(yùn)行的無線裝置12常駐應(yīng)用程序的外圍裝置。如果一個(gè)無線裝置常駐應(yīng)用程序請求AEESIO_PORT_INCOMING且隨后一請求一不同的無線裝置12常駐應(yīng)用程序的外圍裝置14得到連接,則第一個(gè)應(yīng)用程序的Open()將得不到滿足。而是,將起動(dòng)另一被請求的無線裝置常駐應(yīng)用程序且其打開AEESIOJPORTJNCOMING的嘗試將會(huì)成功。AEESIO_PORT_INCOMING可指任何串行端口或接口。一無線裝置12可具有多個(gè)UART或多個(gè)USB虛擬串行端口,每一個(gè)虛擬串行端口均可接納由外圍裝置14所發(fā)起的連接。對于由無線裝置12常駐應(yīng)用程序發(fā)起的通信,所述常駐應(yīng)用程序會(huì)使用Open()函數(shù)創(chuàng)建一IPort接口。端口串自變量決定打開哪一端口。BREW所支持的端口id在AEESio.h中給出。例如,為打開主串行端口,使用串AEESIO_PORT_SIO1。Open()可能會(huì)因例如以下等多種原因而失敗不可用性(例如正在進(jìn)行服務(wù)編程,無線裝置“忙”,未允許打開)、無該端口等。在此種情形中,所述Writeable回調(diào)得到調(diào)用且對GetLastErrorO的調(diào)用會(huì)報(bào)告錯(cuò)誤細(xì)節(jié)。當(dāng)一IPort被關(guān)閉時(shí),其與實(shí)體端口分離,且所述端口被交回至OS(ATCOP)。當(dāng)所有對端口對象的引用均被釋放時(shí),端口對象將也被隱式關(guān)閉,但提供Close()來允許進(jìn)行顯式關(guān)閉。當(dāng)無線裝置常駐應(yīng)用程序的不同層或模塊使用同一端口對象時(shí),對所述對象進(jìn)行顯式關(guān)閉較佳。此還允許重新使用一Ipport,這是因?yàn)橐坏┢涮幱陉P(guān)閉狀態(tài),即可重新調(diào)用Open()并重復(fù)打開過程。串行端口配置是根據(jù)用于使用在AEESio.h中所規(guī)定的AEESIOConfig數(shù)據(jù)結(jié)構(gòu)來設(shè)定及獲得配置的旗標(biāo)AEESIO_IOCTL_SCONFIG及AEESIO_IOCTL_GCONFIG來進(jìn)行。AEESIOConfig具有用于控制UART的信息,例如波特率、奇偶性、停止位等。倘若為虛擬串行端口,例如基于USB的虛擬串行端口,則可忽略某些或所有這些設(shè)定值。由于IPort的一實(shí)施方案可能并不支持AEESIOConfig的所有條目,因而返送值SUCCESS可能并不真正意味著所有選項(xiàng)均得到設(shè)定。在設(shè)定所述配置之后獲取所述配置會(huì)返送回當(dāng)前改變后的配置。例如,若不能設(shè)定一特定的波特率,則可設(shè)定所支持的最接近的波特率。通過將波特率設(shè)定為38500,可實(shí)際上將實(shí)際配置設(shè)定為所支持的最接近的波特率38400。IOCtl也支持用于調(diào)整內(nèi)部緩沖器大小的選項(xiàng)、為進(jìn)行有效讀取設(shè)定觸發(fā)值(例如在使?fàn)顟B(tài)可讀之前的最小字節(jié)數(shù)量)。無線裝置12常駐應(yīng)用程序在OS進(jìn)行登記來指明所述應(yīng)用程序所支持的特定外圍裝置、或外圍裝置的類別,以便一旦外圍裝置與無線裝置12進(jìn)行通信,常駐應(yīng)用程序即可得到通知。在BREW中,將登記信息存儲(chǔ)于可使用MIF編輯器來更新的無線裝置12常駐應(yīng)用程序MIF文件中(通常足以MIME類型的裝置id串形式)。一基本的外圍裝置類別將具有一預(yù)確定的處理程序類型,例如在AEESio.h中將SIO裝置的處理程序類型規(guī)定為AEECLSID_HTYPE_SERIALDEVICE(0x01011be6)。處理程序類別id將與無線裝置12常駐應(yīng)用程序的CLSID相同。為更全面地例示在無線裝置12計(jì)算機(jī)平臺30上執(zhí)行的用于與一外圍裝置14進(jìn)行通信的過程,圖4提供一例示其一實(shí)施例的流程圖。無線裝置12自外圍裝置14接收一輸入通信嘗試,如在步驟80中所示,然后判定是否可對外圍裝置14進(jìn)行歸類或以其他方式進(jìn)行識別,如在決策82中所示。該過程可在將一外圍裝置14插入無線裝置12內(nèi)時(shí)開始。另一選擇為,無線裝置12的用戶可在無線裝置12處請求開始通信,且所述無線裝置將發(fā)起通信,并可在下文所進(jìn)一步說明的步驟92中開始所述過程。所述識別或歸類可根據(jù)一由外圍裝置14在初始通信中所發(fā)送的標(biāo)識符來進(jìn)行,或者可由無線裝置12的OS例如通過探測命令、審查輸入數(shù)據(jù)流、或通過所屬
技術(shù)領(lǐng)域:
中已知的其他方法來探知所述信息。如果可在決策82處識別出外圍裝置14,則所述過程接著判定是否存在一用于與該類別的特定外圍裝置14進(jìn)行通信的已知協(xié)議,如在決策14中所示。反之,如果在決策82中不能識別出外圍裝置14,則判定用戶是否需要對外圍裝置14進(jìn)行歸類或以其他方式進(jìn)行識別,如在決策84中所示。換句話說,外圍裝置可能不能橋接與無線裝置84的任何通信,且決策84判定用戶干預(yù)是否可提供對所述類別或外圍裝置的識別以便可找到一通信協(xié)議。如果用戶不需要在決策84中識別外圍裝置14,則要求用戶對所述外圍裝置進(jìn)行識別或歸類,如在步驟86中所示,并隨后判定用戶是否已對外圍裝置14進(jìn)行了識別或歸類,如在決策88中所示。如果在決策88中用戶尚未對外圍裝置14進(jìn)行識別或歸類,或者可能已指示在一由外圍裝置14的可能類別的有限選項(xiàng)構(gòu)成的菜單情況下無法識別出外圍裝置14,則所述過程然后在實(shí)現(xiàn)與外圍裝置14的通信連接過程中向用戶輸出一錯(cuò)誤,如在步驟98中所示,且所述過程結(jié)束。反之,如果在決策88中用戶已對外圍裝置14進(jìn)行了識別或歸類,或者如果用戶不需要在決策84中對外圍裝置14進(jìn)行識別或歸類,或者如果在決策82中已對外圍裝置進(jìn)行歸類或識別,則然后判定是否存在一用于處理與外圍裝置14的通信的預(yù)規(guī)定協(xié)議,如在決策90中所示。如果在決策90中存在一用于處理與外圍裝置14的通信的預(yù)確定協(xié)議,則執(zhí)行所述預(yù)確定的通信協(xié)議以允許與外圍裝置14進(jìn)行通信,如在預(yù)確定過程96中所示,且隨后在無線裝置12與外圍裝置14之間的通信會(huì)話結(jié)束時(shí),所述過程終止。反之,如果在決策90中不存在預(yù)確定的協(xié)議,則請求外圍裝置14指示一通信協(xié)議,如在步驟92中所示。換句話說,無線裝置OS將促使外圍裝置14(通常通過一通用信號交換命令)返送回指示由外圍裝置14用于進(jìn)行通信的通信協(xié)議的數(shù)據(jù)。然后,在決策94中判定外圍裝置14是否已指明一已知的通信協(xié)議。如果在決策94中,外圍裝置尚未指明一已知協(xié)議或者已指明一未知協(xié)議,則在實(shí)現(xiàn)與外圍裝置14的連接過程中向用戶輸出一錯(cuò)誤,如在步驟98中所示,且隨后所述過程終止。反之,如果在決策94中,外圍裝置14已指明一已知通信協(xié)議,則執(zhí)行所述預(yù)確定的通信協(xié)議來與外圍裝置14進(jìn)行通信,如在預(yù)確定過程96中所示,且隨后在通信會(huì)話結(jié)束時(shí),所述過程終止。所述過程將在步驟80處對來自同一外圍裝置14或一新的外圍裝置14的另一通信請求進(jìn)行重復(fù)。因此,本發(fā)明提供一種用于在一外圍裝置14與一無線裝置12的計(jì)算機(jī)平臺30上的常駐計(jì)算機(jī)程序之間進(jìn)行通信的方法,其包括如下步驟在一外圍裝置12與無線裝置12的計(jì)算機(jī)平臺30之間開始一通信,所述計(jì)算機(jī)平臺30包括一管理無線裝置資源及無線裝置12與其他計(jì)算機(jī)裝置(例如外圍裝置14)之間的相互作用的操作系統(tǒng)、及一個(gè)或多個(gè)常駐計(jì)算機(jī)程序;及在所述無線裝置的操作系統(tǒng)中確定已開始與無線裝置12進(jìn)行通信的外圍裝置14的身份;及隨后通過所述操作系統(tǒng)來鏈接外圍裝置14與一個(gè)或多個(gè)所述常駐計(jì)算機(jī)程序。換句話說,一旦無線裝置12的OS與外圍裝置14建立起令人滿意的通信,裝置OS即可保持對所述通信的控制,或者可將控制讓給另一常駐程序。在一外圍裝置14與一無線裝置12之間開始一通信的步驟可通過一接至無線裝置12的計(jì)算機(jī)平臺30的有線或無線連接來進(jìn)行。進(jìn)一步,所述方法可包括如下步驟向無線裝置12的操作系統(tǒng)發(fā)送一裝置類別標(biāo)識符,并隨后在操作系統(tǒng)處根據(jù)所選類別來選擇適用于該外圍裝置14的處理程序。另一選擇為,所述方法可包括如下步驟在通信開始時(shí)向無線裝置12的操作系統(tǒng)發(fā)送一特定標(biāo)識符,并在所述操作系統(tǒng)處根據(jù)在通信開始時(shí)所給出的外圍裝置14的所述特定標(biāo)識符來識別進(jìn)行通信的特定外圍裝置14。所述在一外圍裝置14與一無線裝置12之間開始一通信的步驟也可通過計(jì)算機(jī)平臺30的通信端口或接口40來進(jìn)行。鑒于所述方法可在一無線計(jì)算機(jī)裝置的計(jì)算機(jī)平臺上執(zhí)行,本發(fā)明包括一種能夠使一計(jì)算機(jī)裝置執(zhí)行所述方法的各步驟的計(jì)算機(jī)可讀媒體。所述計(jì)算機(jī)可讀媒體可為計(jì)算機(jī)平臺30的存儲(chǔ)器32。在圖4所示背景中,本方法可例如由無線網(wǎng)絡(luò)60及/或任一計(jì)算機(jī)裝置(例如移動(dòng)電話70及74)的操作部分來執(zhí)行,以執(zhí)行一機(jī)器可讀指令序列。所述指令也可駐存于各種類型的可部分地或完全地載入至計(jì)算機(jī)平臺30上的第一級、第二級或第三級信號承載或數(shù)據(jù)存儲(chǔ)媒體上。所述媒體可包括(例如)可由無線網(wǎng)絡(luò)60的組件存取或駐存于其內(nèi)的RAM(未顯示)。無論是包含于RAM、磁盤、還足其它第二級存儲(chǔ)媒體內(nèi),所述指令均可存儲(chǔ)在各種各樣的機(jī)器可讀數(shù)據(jù)存儲(chǔ)媒體上,例如DASD存儲(chǔ)器(例如,傳統(tǒng)的“硬盤驅(qū)動(dòng)器”或RAID陣列)、磁帶、電子只讀存儲(chǔ)器(例如,ROM、EPROM、或EEPROM)、快閃存儲(chǔ)卡、光學(xué)存儲(chǔ)裝置(例如,CD-ROM、WORM、DVD、數(shù)字光帶)、紙“打孔”卡、或包括數(shù)字及模擬傳輸媒體在內(nèi)的其它適合的數(shù)據(jù)存儲(chǔ)媒體上。盡管上文揭示內(nèi)容顯示了本發(fā)明的若干例示性實(shí)施例,然而應(yīng)注意,可對其作出各種改變及修改,此并不背離由隨附權(quán)利要求書所界定的本發(fā)明的范疇。此外,盡管本文可能以單數(shù)來說明或請求本發(fā)明元件的權(quán)利,但本發(fā)明也涵蓋復(fù)數(shù),除非已明確地聲明限定為單數(shù)。權(quán)利要求1.一種用于在一外圍裝置與一無線裝置的操作系統(tǒng)之間進(jìn)行通信的系統(tǒng),其包括一無線裝置,其具有一計(jì)算機(jī)平臺、及至少一通信端口,所述計(jì)算機(jī)平臺包括一用于管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置之間的相互作用的操作系統(tǒng),所述計(jì)算機(jī)平臺包括一個(gè)或多個(gè)常駐程序;及至少一個(gè)外圍裝置,其選擇性地與所述無線裝置的所述計(jì)算機(jī)平臺進(jìn)行通信;其中一旦所述外圍裝置與所述無線裝置的所述計(jì)算機(jī)平臺進(jìn)行通信,所述無線裝置的所述操作系統(tǒng)即至少將一個(gè)或多個(gè)常駐程序與所述外圍裝置相鏈接。2.如權(quán)利要求1所述的系統(tǒng),其中外圍裝置通過一與所述無線裝置的所述計(jì)算機(jī)平臺的有線連接來進(jìn)行通信。3.如權(quán)利要求1所述的系統(tǒng),其中所述外圍裝置通過一與所述無線裝置的所述計(jì)算機(jī)平臺的無線連接來進(jìn)行通信。4.如權(quán)利要求1所述的系統(tǒng),其中所述外圍裝置向所述無線裝置的所述操作系統(tǒng)發(fā)送一類別標(biāo)識符且所述操作系統(tǒng)根據(jù)所述類別標(biāo)識符來確定與所述無線裝置進(jìn)行通信的外圍裝置的類型并選擇適合于所述外圍裝置的處理程序。5.如權(quán)利要求1所述的系統(tǒng),其中所述無線裝置的所述操作系統(tǒng)根據(jù)在通信開始時(shí)給定的所述外圍裝置的一特定標(biāo)識符來識別進(jìn)行通信的所述特定外圍裝置。6.如權(quán)利要求1所述的系統(tǒng),其中外圍裝置將所述無線裝置用作一通往因特網(wǎng)的通信端口。7.如權(quán)利要求1所述的系統(tǒng),其中所述外圍裝置將所述無線裝置用作一在一電話網(wǎng)絡(luò)上的通信端口。8.如權(quán)利要求1所述的系統(tǒng),其中所述外圍裝置通過所述計(jì)算機(jī)平臺的所述通信端口與所述無線裝置的所述計(jì)算機(jī)平臺進(jìn)行通信。9.一種用于在計(jì)算機(jī)裝置之間進(jìn)行通信的系統(tǒng),其包括一用于通過一無線網(wǎng)絡(luò)進(jìn)行通信的無線通信裝置,所述無線通信裝置包括一用于管理無線通信裝置資源及所述無線通信裝置與其他計(jì)算機(jī)裝置之間的相互作用的控制裝置;及至少一個(gè)外圍裝置,其選擇性地與所述無線通信裝置進(jìn)行通信;其中一旦所述外圍裝置與所述無線通信裝置進(jìn)行通信,所述無線通信裝置的所述控制裝置即在所述外圍裝置與所述無線通信裝置資源之間建立通信。10.一種用于在一外圍裝置與一個(gè)或多個(gè)常駐于一無線計(jì)算機(jī)裝置上的程序之間進(jìn)行通信的方法,其包括如下步驟在一外圍裝置與一無線裝置之間開始一通信,所述無線裝置具有一帶有至少一通信端口的計(jì)算機(jī)平臺,所述計(jì)算機(jī)平臺包括一用于管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置的相互作用的操作系統(tǒng),且所述計(jì)算機(jī)平臺進(jìn)一步包括一個(gè)或多個(gè)常駐程序;在所述無線裝置的所述操作系統(tǒng)處確定已開始與所述無線裝置進(jìn)行通信的外圍裝置的身份;及通過所述操作系統(tǒng)來鏈接所述外圍裝置與所述無線裝置的一個(gè)或多個(gè)常駐程序之間的所述通信。11.如權(quán)利要求10所述的方法,其中所述在一外圍裝置與一無線裝置之間開始一通信的步驟是通過一與所述無線裝置的所述計(jì)算機(jī)平臺的有線連接來進(jìn)行。12.如權(quán)利要求10所述的方法,其中所述在一外圍裝置與一無線裝置之間開始一通信的步驟是通過一與所述無線裝置的所述計(jì)算機(jī)平臺的無線連接來進(jìn)行。13.如權(quán)利要求10所述的方法,其進(jìn)一步包括如下步驟向所述無線裝置的所述操作系統(tǒng)發(fā)送一裝置類別標(biāo)識符;及根據(jù)所選類別在所述操作系統(tǒng)處選擇適合于該外圍裝置的處理程序。14.如權(quán)利要求10所述的方法,其進(jìn)一步包括如下步驟在通信開始時(shí)向所述無線裝置的所述操作系統(tǒng)發(fā)送一特定標(biāo)識符;及在所述操作系統(tǒng)處,根據(jù)在通信開始時(shí)所給定的所述外圍裝置的一特定標(biāo)識符來識別進(jìn)行通信的所述特定外圍裝置。15.如權(quán)利要求10所述的方法,其中所述在一外圍裝置與一無線裝置之間開始一通信的步驟是通過所述計(jì)算機(jī)平臺的所述通信端口來進(jìn)行。16.一種用于在一外圍裝置與一無線計(jì)算機(jī)裝置上的常駐計(jì)算機(jī)程序之間進(jìn)行通信的方法,其包括如下步驟一開始步驟,其用于在一外圍裝置與一無線裝置之間開始一通信,所述無線裝置具有一帶有至少一通信端口的計(jì)算機(jī)平臺,所述計(jì)算機(jī)平臺包括一用于管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置的相互作用的操作系統(tǒng);一確定步驟,其用于在所述無線裝置的所述操作系統(tǒng)處確定已開始與所述無線裝置進(jìn)行通信的外圍裝置的身份;及一鏈接步驟,其用于通過所述操作系統(tǒng)使所述外圍裝置與所述一個(gè)或多個(gè)常駐程序相鏈接。17.一種具有一計(jì)算機(jī)平臺及至少一無線通信端口的裝置,所述計(jì)算機(jī)平臺包括一用于管理裝置資源及所述無線裝置與一個(gè)或多個(gè)與所述裝置進(jìn)行通信的其他外圍裝置的相互作用的操作系統(tǒng),所述計(jì)算機(jī)平臺進(jìn)一步包括一個(gè)或多個(gè)常駐程序,且其中一旦一外圍裝置與所述無線裝置的所述計(jì)算機(jī)平臺進(jìn)行通信,所述無線裝置的所述操作系統(tǒng)即將至少一個(gè)或多個(gè)常駐程序與所述外圍裝置相鏈接。18.如權(quán)利要求17所述的裝置,其中所述裝置通過一來自所述無線裝置的所述計(jì)算機(jī)平臺的有線連接與一外圍裝置進(jìn)行通信。19.如權(quán)利要求17所述的裝置,其中所述無線裝置通過一來自所述無線裝置的所述計(jì)算機(jī)平臺的無線連接與一外圍裝置進(jìn)行通信。20.如權(quán)利要求17所述的裝置,其中所述無線裝置的所述操作系統(tǒng)根據(jù)一自所述外圍裝置發(fā)送的裝置標(biāo)識符來確定與所述無線裝置進(jìn)行通信的外圍裝置的類型并根據(jù)所述所選類別來選擇適用于該外圍裝置的處理程序。21.如權(quán)利要求17所述的裝置,其中所述無線裝置的所述操作系統(tǒng)根據(jù)在通信開始時(shí)所給定的所述外圍裝置的一特定標(biāo)識符來識別進(jìn)行通信的所述特定外圍裝置。22.如權(quán)利要求17所述的裝置,其中所述外圍裝置與所述計(jì)算機(jī)平臺的通信是通過所述通信端口來進(jìn)行。23.一種在一無線計(jì)算機(jī)裝置處用于管理與一外圍裝置的通信的方法,其包括如下步驟在所述無線裝置的一計(jì)算機(jī)平臺處自一外圍裝置接收一通信,所述計(jì)算機(jī)平臺具有至少一通信端口且包括一用于管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置的相互作用的操作系統(tǒng),所述計(jì)算機(jī)平臺包括一個(gè)或多個(gè)常駐程序;在所述無線裝置的所述操作系統(tǒng)處,確定已與所述無線裝置開始進(jìn)行通信的所述外圍裝置的身份;及通過所述操作系統(tǒng)來鏈接所述外圍裝置與所述無線裝置的一個(gè)或多個(gè)常駐程序。24.如權(quán)利要求23所述的方法,其中所述接收一通信的步驟是通過一與所述無線裝置的所述計(jì)算機(jī)平臺的有線連接來進(jìn)行。25.如權(quán)利要求23所述的方法,其中所述接收一通信的步驟是通過一與所述無線裝置的所述計(jì)算機(jī)平臺的無線連接來進(jìn)行。26.如權(quán)利要求23所述的方法,其進(jìn)一步包括如下步驟在所述無線裝置的所述操作系統(tǒng)處接收所述外圍裝置的一裝置類別標(biāo)識符;及根據(jù)所述類別標(biāo)識符在所述操作系統(tǒng)處選擇適合于該外圍裝置的處理程序。27.如權(quán)利要求23所述的方法,其進(jìn)一步包括在通信開始時(shí)在所述無線裝置的所述操作系統(tǒng)處接收一特定標(biāo)識符;及在所述操作系統(tǒng)處,根據(jù)在通信開始時(shí)所給定的所述外圍裝置的一特定標(biāo)識符來識別進(jìn)行通信的所述特定外圍裝置。28.如權(quán)利要求25所述的方法,其中所述自一外圍裝置接收一通信的步驟是通過所述計(jì)算機(jī)平臺的所述通信端口來進(jìn)行。29.一種處于一計(jì)算機(jī)可讀媒體中的程序,其在由一具有一帶有一個(gè)或多個(gè)常駐程序及至少一無線通信端口的計(jì)算機(jī)平臺并包括一用于管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置的相互作用的操作系統(tǒng)的計(jì)算機(jī)裝置執(zhí)行時(shí)會(huì)使所述計(jì)算機(jī)裝置執(zhí)行如下步驟在所述操作系統(tǒng)處確定一已開始與所述無線裝置進(jìn)行通信的外圍計(jì)算機(jī)裝置的身份;及通過所述操作系統(tǒng)將所述外圍計(jì)算機(jī)裝置與所述計(jì)算機(jī)裝置的所述計(jì)算機(jī)平臺上的一個(gè)或多個(gè)常駐程序相鏈接。30.如權(quán)利要求29所述的程序,其中所述程序使所述計(jì)算機(jī)裝置通過所述無線通信端口與所述外圍裝置進(jìn)行通信。31.如權(quán)利要求29所述的程序,其進(jìn)一步使所述計(jì)算機(jī)裝置執(zhí)行如下步驟在通信開始時(shí)檢索一裝置類別標(biāo)識符;及根據(jù)所述所選裝置類別來選擇適合于該外圍裝置的處理程序。32.如權(quán)利要求29所述的程序,其進(jìn)一步使所述計(jì)算機(jī)裝置執(zhí)行如下步驟在通信開始時(shí)檢索一特定外圍裝置標(biāo)識符;及根據(jù)所述特定外圍裝置標(biāo)識符來識別進(jìn)行通信的所述特定外圍裝置。全文摘要本發(fā)明揭示一種用于在一外圍裝置與常駐于一無線計(jì)算機(jī)裝置上的程序之間建立通信的系統(tǒng)、方法及計(jì)算機(jī)程序。所述裝置具有一個(gè)帶有一無線通信端口及一個(gè)或多個(gè)常駐程序的計(jì)算機(jī)平臺,且所述計(jì)算機(jī)平臺包括一管理無線裝置資源及所述無線裝置與其他計(jì)算機(jī)裝置的相互作用的操作系統(tǒng)。當(dāng)一外圍裝置通過一有線或無線通信選擇性地與所述無線裝置的計(jì)算機(jī)平臺進(jìn)行通信時(shí),所述無線裝置的操作系統(tǒng)識別至少外圍裝置的類型并將所述外圍裝置與一個(gè)或多個(gè)所述常駐計(jì)算機(jī)程序相鏈接。文檔編號H04L12/28GK1902609SQ200480037148公開日2007年1月24日申請日期2004年10月15日優(yōu)先權(quán)日2003年10月29日發(fā)明者布賴恩·哈羅德·凱利申請人:高通股份有限公司