專利名稱:動態(tài)基于總線的虛擬信道多路復(fù)用裝置驅(qū)動器架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本公開文件大體涉及虛擬信道多路復(fù)用。
背景技術(shù):
所有的計算機系統(tǒng)都包括多個裝置協(xié)同操作的匯集(collection )。中央處理器(CPU)負(fù)責(zé)大多數(shù)的計算功能。然而,為了使計算機系統(tǒng)對用戶有用,必須將數(shù)據(jù)傳到CPU以及將數(shù)據(jù)傳出CPU。鍵盤、顯示器、鼠標(biāo)等是計算機用戶與該系統(tǒng)進行交互所必需的所有外圍設(shè)備。最初,所有這些外圍設(shè)備通過專用接口附加至該計算機。例如,鍵盤通過鍵盤端口進行連接,鼠標(biāo)通過鼠標(biāo)端口進行連接,以及顯示裝置又通過另外的專用端口進行連接。隨著計算機系統(tǒng)已經(jīng)發(fā)展為提供更多的功能性,而引入了更多的外圍設(shè)備。添加了網(wǎng)絡(luò)連4妄以增強與其他計算才幾系統(tǒng)的互耳關(guān)性(interconnectivity )。添加了掃描接口以允許直4妄輸入圖像數(shù)據(jù)。打印機接口增加了制作所處理的數(shù)據(jù)的硬拷貝的能力。攝影機、圖形
8輸入板、外部存儲裝置等的所有裝置都造成了計算才幾系統(tǒng)中的復(fù)雜布線配置。
為了解決這個問題,已經(jīng)開發(fā)了接口總線系統(tǒng)。小型計算機系
統(tǒng)接口 (SCSI)就是一種這樣的并行總線。該總線系統(tǒng)允許多個裝
置高速連接至該計算機系統(tǒng)上的單個接口。然而,該標(biāo)準(zhǔn)不允許"熱插拔,,,因此每次改變外圍裝置附加配置時均需要該計算才幾系統(tǒng)斷
電。在近幾年,引入了更加普遍的通用串行總線(USB)架構(gòu)。在添加外圍裝置時,該總線允許"熱插拔"以及自動配置外圍裝置。通過USB架構(gòu)還解決了該系統(tǒng)的"即插即用",佳J尋在4企測到新的外圍裝置添加到該總線上時能夠運行適當(dāng)?shù)难b置驅(qū)動器。
圖1示出了示例性的總線驅(qū)動器架構(gòu)。計算機操作系統(tǒng)上的總線驅(qū)動器軟件和USB架構(gòu)一起"l務(wù)于總線114上的裝置(116、 118、120 )??偩€驅(qū)動器112最主要的任務(wù)是對其總線114上的裝置(116、118、 120)進行列舉,對即插即用(PnP)請求作出響應(yīng),對功率管理^清求作出響應(yīng),對總線114進行多^各復(fù)用"i方問,以及管理總線114上的裝置(116、 118、 120)。然后,建立功能驅(qū)動器(106、 108、110)作為用于裝置(116、 118、 120)的主驅(qū)動器。通常由該裝置的廠商寫入功能驅(qū)動器(106、 108、 110),功能驅(qū)動器是必不可少的。PnP管理器至多載入一個用于裝置(116、 118、 120)的功能驅(qū)動器(106、 108、 110)。同一功能驅(qū)動器(106、 108、 110)可以服務(wù)于一個或多個裝置(116、 118、 120)。功能驅(qū)動器(106、 108、110)為其裝置(116、 118、 120)提供#:作接口。典型地,功能驅(qū)動器(106、 108、 110)處理對裝置(116、 118、 120)進行的讀耳又和寫入并管理裝置電源iE支策(power policy )。
圖2示出了示例性的用于多功能裝置的總線驅(qū)動器架構(gòu)。在Windows操作系統(tǒng)上,通過將多功能裝置222定義為占用其總線214上的一個裝置位置來支持該多功能裝置,但是該多功能裝置包含不只一個功能單元(216、 218)。每個功能單元(216、 218)各自對應(yīng) 于一個驅(qū)動器(206、 208、 210)。多功能裝置的實例包括調(diào)制解調(diào) 器適配器/網(wǎng)絡(luò)適配器的組合、音頻端口/游戲端口的組合等。對于操 作系統(tǒng),這些裝置表現(xiàn)為多個單獨的裝置。例如,實現(xiàn)音頻能力和 游戲端口能力的附加聲卡表現(xiàn)為兩個獨立的裝置, 一個裝置由音頻 驅(qū)動器所服務(wù)而另 一裝置由游戲端口驅(qū)動器所服務(wù)。
4喿作系統(tǒng)在這些功能單元(216、 218、 220)上施加了限制。 即使每個功能單元(216、 218、 220)偶爾^皮服務(wù)于裝置(222、 220) 上的其他功能單元的同一驅(qū)動器(組)的實例所服務(wù),每個功能單 元也必須能夠作為單獨的裝置來運行。特別地,多功能裝置222上 的功能單元一定不能有啟動順序依賴性, 一定不能用一個功能單元 來表示另一個功能單元的資源要求, 一個功能單元的運行一定不能 影響或干擾多功能裝置222或作為整體的系統(tǒng)上的另一功能單元的 運行,必須列舉每個功能單元并將其資源要求傳達給操作系統(tǒng),從 而該系統(tǒng)可以載入必要的驅(qū)動器并按照4壬意順序?qū)①Y源分配給不同 單元。
在基于Windows的系統(tǒng)上的USB總線上附加裝置的上述能力 和限制在服務(wù)于大量的外圍裝置的過程中取得了成功。然而,隨著 計算系統(tǒng)發(fā)展得復(fù)雜化,外圍裝置在復(fù)雜性和功能性上也有所增加。 這些外圍裝置正變?yōu)樽灾魇接嬎阆到y(tǒng),其需要多條信道來與操作系 統(tǒng)進行交互??梢允褂眠@些信道中的每條信道來實現(xiàn)不同的功能。 例如,無線廣域網(wǎng)裝置需要與l乘作系統(tǒng)進4亍交互以傳送多個流,或 者同時與用于流的多個信道(例如,^旦不限于,主要的接收數(shù)據(jù)路
徑和發(fā)送數(shù)據(jù);洛徑、用于利用多個上下文或同一上下文上的多個單 獨的月良務(wù)質(zhì)量數(shù)據(jù)信道來進行無線網(wǎng)絡(luò)訪問的附加凄史據(jù)信道、控制 和狀態(tài)信道、_珍斷和維護信道、以及運行諸如國家海洋電子協(xié)會
(NMEA)協(xié)議的位置協(xié)議的位置服務(wù)(LBS)信道)進4亍交互。 這些信道中的每一條都需要獨立的數(shù)據(jù)傳送信道和獨立的驅(qū)動器處
10理。然而,由于這些信道可能具有啟動順序依賴性,因此不能i人為 它們在總線上是獨立的裝置。例如,可能需要在啟動任何其他信道 3各徑之前啟動控制和狀態(tài)凄t據(jù)3各徑信道,以在打開依賴于^妄下來所 確定的那些服務(wù)中的一個或多個服務(wù)的其他信道中的一條信道之 前,詢問正在與其進行通信的裝置和網(wǎng)絡(luò)來確定該網(wǎng)絡(luò)和裝置能夠 進行什么服務(wù)。
Windows驅(qū)動器設(shè)計者借助于用于多功能裝置的多功能驅(qū)動器 解決了像之前幾段中所描述的那些裝置的更加復(fù)雜裝置。多功能驅(qū) 動器是總線驅(qū)動器并因此具有多個優(yōu)點。多功能驅(qū)動器可以從單個 物理裝置在系統(tǒng)中為每個流或每條信道列舉虛擬裝置。因此,如果 多功能裝置支持多于一條的信道(例如,數(shù)據(jù)信道、控制和狀態(tài)信 道、診斷信道、以及用于復(fù)雜的調(diào)制解調(diào)器的位置服務(wù)信道(LBS )), 則該多功能驅(qū)動器能夠在系統(tǒng)中為多功能裝置的每條信道創(chuàng)建一個 虛擬裝置。除此之外,在系統(tǒng)中創(chuàng)建的用于該裝置的虛擬裝置組可 以由不同的裝置類型組(例如,調(diào)制解調(diào)器端口、 COM端口、網(wǎng)絡(luò) 適配器等)組成。
多功能驅(qū)動器的另 一個優(yōu)點是只要載入了該驅(qū)動器則其還允許 在^f壬意時刻在系統(tǒng)中動態(tài)載入和卸載虛擬裝置。然而,當(dāng)前的多功 能裝置驅(qū)動器包含靜態(tài)配置,其不允許這些驅(qū)動器利用這一特征, 這是由于用于指定要在該系統(tǒng)中呈現(xiàn)的虛擬裝置的硬件裝置所呈現(xiàn) 的配置在本質(zhì)上是靜態(tài)的。因此,只能在該系統(tǒng)中載入用于該裝置 的多功能驅(qū)動器的時候載入和卸載要在該系統(tǒng)中呈現(xiàn)的虛擬裝置 組。為了改變該虛擬裝置組,必須通過將該多功能裝置,人主4幾系統(tǒng) 中移走或?qū)ζ溥M行重新啟動或復(fù)位操作,利用新的或可替換的裝置 接口配置參數(shù)組,來對該多功能裝置進行重新列舉。這是多功能驅(qū) 動器架構(gòu)方法的一個缺點。這種由多功能裝置322所呈現(xiàn)的裝置配置的靜態(tài)本性在多功能 驅(qū)動器312的使用上產(chǎn)生了其他限制。不能基于運行時間的決定或 主機平臺或裝置中的非易失性存儲器的設(shè)置來動態(tài)添加或移走信 道。必須在主機系統(tǒng)中列舉裝置322時建立虛擬信道。為了改變虛 擬信道/裝置的配置,必須通過將該裝置從主機系統(tǒng)中移走或?qū)ζ溥M 行重新啟動或復(fù)位操作,利用新的或可替換的裝置4妄口配置參數(shù)組 來對該裝置進行重新列舉。另一個缺點是,新的虛擬信道和/或裝置 的定義要求新的裝置配置而不是固件、軟件、或非易失性存儲器的 升級。
由于通過裝置配置來驅(qū)動用于指定所要建立的信道和虛擬裝置 的方法,因此除了在裝置配置中所呈現(xiàn)給主才幾的信道組和虛擬裝置 組之外,主機系統(tǒng)沒有機會對所要支持的虛擬信道組/裝置組產(chǎn)生影 響。這可以被看作一種主-從關(guān)系并因此這成了另一個缺點,因為倘 若除了在裝置配置中所呈現(xiàn)給主機的信道組和虛擬裝置組之外還允 許主機系統(tǒng)影響或控制所要建立的信道組和虛擬裝置組將是有利 的。
多功能驅(qū)動器架構(gòu)的又一個缺點是所列出的虛擬裝置數(shù)目要服 從于與裝置類型相關(guān)聯(lián)的特定總線規(guī)格(即,USB或PCI-Express 裝置總線規(guī)格)所強加的配置限制。這些配置可能具有大小或入口 限制,其間接限制了裝置配置能夠指定給主機系統(tǒng)的信道數(shù)目或虛 擬裝置數(shù)目。
通過實施虛擬信道多路復(fù)用驅(qū)動器架構(gòu)來彌#卜之前幾段中所描 述的多功能驅(qū)動器架構(gòu)的多個缺點。圖3示出了示例性的基于非總 線的虛擬信道多路復(fù)用驅(qū)動器架構(gòu)。信道多路復(fù)用協(xié)議允許單個異 步接口上的多個同時的會話或信道。每個會話/信道均由傳送多種數(shù) 據(jù)的字節(jié)流組成。虛擬信道多路復(fù)用協(xié)議驅(qū)動器312可以允許對要建立在主才幾和 裝置322之間的虛擬會話組或信道組進行協(xié)商。由于主才幾和裝置322 都可以對所要建立的虛擬信道產(chǎn)生影響,因此信道的建立是對等關(guān) 系而非主/人關(guān)系。虛擬信道多i 各復(fù)用協(xié)議驅(qū)動器312在本質(zhì)上還可 以是動態(tài)的,這是由于其可以允許在任意時刻建立和終止虛擬信道。 此外,只要裝置配置覆蓋了用于在其上進行多路復(fù)用的全部虛擬信 道的單個信道的定義,則由于虛擬信道的定義在裝置配置的范圍之 外,添加新的虛擬信道不需要新的裝置配置。
盡管當(dāng)前的虛擬信道多路復(fù)用協(xié)議驅(qū)動器架構(gòu)為該多功能驅(qū)動 器架構(gòu)的特定限制和缺點提供了解決方案,但由于當(dāng)前的虛擬信道 多路復(fù)用驅(qū)動器架構(gòu)沒有采用總線架構(gòu),因此它們也有其自身的限 制。由于這些多路復(fù)用驅(qū)動器架構(gòu)未基于總線,因此其不允許由不 同的虛擬裝置組來代表虛擬信道(例如,所有的虛擬信道必須是具 有COM端口、調(diào)制解調(diào)器端口、以及網(wǎng)絡(luò)適配器等的組合的COM 端口 )。此外,這些虛擬信道多路復(fù)用驅(qū)動器架構(gòu)不允許在系統(tǒng)中動 態(tài)載入或卸載虛擬裝置。例如,當(dāng)需要時,可以由支持多功能裝置 322的總線驅(qū)動器在運行時間中載入網(wǎng)絡(luò)適配器。然而,由于基于 非總線的虛擬信道多路復(fù)用解決方案只支持一種裝置類型并且將其 自身僅作為一個裝置呈現(xiàn)給該系統(tǒng),因此其不允許載入或卸載裝置 322。
總之,到此存在著兩種不同的驅(qū)動器架構(gòu)來解決這些較復(fù)雜的 多功能裝置的需要。盡管這兩種驅(qū)動器架構(gòu)解決方案都提供了解決 這些復(fù)雜的多功能裝置的需要的明顯優(yōu)點,但它們還都有限制了利 用這些更復(fù)雜的裝置的靈活性和動態(tài)能力的顯著的缺點。
發(fā)明內(nèi)容
動態(tài)基于總線的虛擬信道多路復(fù)用可以通過以下步驟來實現(xiàn) 與多路復(fù)用裝置功能驅(qū)動器和連接到總線的多功能裝置建立一條或 多條虛擬信道,確定要在該裝置上觸發(fā)的一個或多個功能,以及針 對所觸發(fā)的每個功能運行第二層功能驅(qū)動器來處理所觸發(fā)的功能的 操作。該第二層功能驅(qū)動器具有功能驅(qū)動器類型。建立與多功能裝 置的一條或多條虛擬信道是利用多路復(fù)用協(xié)議來實現(xiàn)的,多路復(fù)用 裝置功能驅(qū)動器經(jīng)由總線驅(qū)動器連接到總線。
附圖結(jié)合于此并作為il明書的一部分,示出了實施例的一個或 多個實例,附圖與示例性實施例的描述結(jié)合在一起用于解釋實施例 的原理和實施方式。
附圖中
圖1示出了示例性的總線驅(qū)動器架構(gòu)。
圖2示出了示例性的用于多功能裝置的總線驅(qū)動器架構(gòu)。
圖3示出了示例性的基于非總線的虛擬信道多路復(fù)用驅(qū)動器架構(gòu)。
圖4示出了示例性的采用了多功能的基于總線的驅(qū)動器的虛擬 信道多路復(fù)用裝置功能驅(qū)動器。
圖5示出了示例性的具有^f亭用(deactived)功能的圖4的虛擬 信道多路復(fù)用裝置功能驅(qū)動器。圖6示出了示例性的用于動態(tài)基于總線的虛擬信道多路復(fù)用的 方法實例。
具體實施例方式
在本文中在計算機、服務(wù)器、以及軟件的系統(tǒng)的上下文中描述 了示例性實施例。本領(lǐng)域的技術(shù)人員將認(rèn)識到下面的描述僅是說明 性的,并不用于以任何方式進行限制。對于受益于本公開文件的那 些普通4支術(shù)人來"i兌,其他實施例將是顯而易見的。以下將詳細(xì)參考 附圖中所示的示例性實施例的實施方式。在所有的附圖和下面的描 述中,將使用同一參考標(biāo)號來指代同一項目或類似的項目。
為了簡明起見,并沒有示出和描述本文中所描述的實施方式的 所有常身見特4正。當(dāng)然,應(yīng)當(dāng)意識到,在開發(fā)4壬4可這種實際的實施方 式的過程中,必須估文出許多針對實施方式的決定以實現(xiàn)開發(fā)者的特 定目的,例如,遵照與應(yīng)用相關(guān)的限制和與商業(yè)相關(guān)的限制,并且 應(yīng)當(dāng)意識到,從一個實施方式到另 一個實施方式以及從一個開發(fā)者 到另一個開發(fā)者這些特定目的將有所不同。此外,應(yīng)當(dāng)意識到,這 種開發(fā)的努力可能是復(fù)雜且費時的,但對受益于本公開文件的本領(lǐng) 域的那些普通技術(shù)人員來說,仍將是工程的例行程序。
根據(jù)本公開文件,在本文中所描述的組件、處理步驟、和/或數(shù) 據(jù)結(jié)構(gòu)可以利用多種類型的操作系統(tǒng)、計算平臺、計算機程序、和/ 或通用才幾器來實現(xiàn)。此外,本領(lǐng)域的那些普通沖支術(shù)人員將i人識到, 在不背離在本文中所公開的發(fā)明思想的范圍和精神的情況下,還可 以使用諸如硬連線裝置、現(xiàn)場可編程門陣列(FPGA)、特定用途集 成電路(ASIC)等通用特性較少的裝置。其中,在通過計算機或機 器來實現(xiàn)包含一 系列處理步驟的方法并且可以將那些處理步驟作為 一系列機器可讀的指令來存儲的情況下,可以將它們存儲在諸如計 算才幾存儲裝置(例如,ROM (只讀存4諸器)、PROM (可編程只讀存儲器)、EEPROM (電可擦寫可編程只讀存儲器)、閃存、閃存驅(qū) 動器(Jump drive )等)、磁存儲介質(zhì)(例如,磁帶、磁盤驅(qū)動器等)、 光存4諸介質(zhì)(例如,CD-ROM、 DVD-ROM、紙卡、紙帶等))、以 及其他類型的程序存儲器的實體介質(zhì)上。
由本發(fā)明的示例性實施例所達到的 一 個目的是提供 一 種動態(tài) 的、靈活的驅(qū)動器架構(gòu),其支持具有不同功能性的多條虛擬信道, 這些虛擬信道能夠作為代表不同虛擬信道的不同裝置類型組而呈現(xiàn) 在主才幾系統(tǒng)中;其支持通過主4幾和裝置二者之一或者通過主才幾和裝 置一起來確定所要建立的虛擬信道組;其能夠支持在任意時刻在主 機系統(tǒng)中動態(tài)連接或移走與 一 條或多條虛擬信道相關(guān)聯(lián)的虛擬裝 置;以及能夠支持在該裝置保持連接狀態(tài)并且被主機系統(tǒng)使用期間 當(dāng)需要或不需要所支持的虛擬信道時,動態(tài)建立和終止所支持的任 一虛擬信道。
盡管由本發(fā)明所達到的上述目標(biāo)和目的是描述多個方面和實施 例的,但這些目標(biāo)和目的并不是用于限制在下面的發(fā)明描述中所闡 述的本發(fā)明的范圍。
根據(jù)本發(fā)明的一個實施例,裝置驅(qū)動器架構(gòu)利用虛擬信道多路 復(fù)用協(xié)議驅(qū)動器架構(gòu)同時還采用基于總線的多功能驅(qū)動器架構(gòu)來與 多功能裝置進行通信。通過將這兩種不同的方法結(jié)合到一個新的單 獨的驅(qū)動器架構(gòu)中,可以在一個單獨的組合驅(qū)動器架構(gòu)中實現(xiàn)用于 支持這些新的即將到來的復(fù)雜多功能裝置的兩種架構(gòu)的優(yōu)點。除了 由上述的多功能裝置和虛擬信道多路復(fù)用架構(gòu)所提供的優(yōu)點之外, 本發(fā)明的動態(tài)基于總線的虛擬信道多路復(fù)用裝置驅(qū)動器架構(gòu)由于其 不受到硬件裝置配置的靜態(tài)本質(zhì)的限制,因此只要載入了該驅(qū)動器, 就允許在任意時刻在系統(tǒng)中動態(tài)載入和卸載虛擬裝置(優(yōu)于利用具 有靜態(tài)配置的多功能裝置的多功能驅(qū)動器的限制)。再者,由于上面 所討論的之前的兩種驅(qū)動器架構(gòu)的許多缺點基本上彼此不相關(guān)(一
16種驅(qū)動器架構(gòu)為另一種驅(qū)動器架構(gòu)的一個缺點(多個缺點)提供解 決方案),因此將這兩種驅(qū)動器架構(gòu)結(jié)合到一個組合驅(qū)動器架構(gòu)中提 供了不具有之前所提到的這兩種單獨的驅(qū)動器架構(gòu)的任何缺點的組 合解決方案。此外,組合馬區(qū)動器架構(gòu)具有上述優(yōu)點和超出兩種單獨 的驅(qū)動器架構(gòu)中任一種的4壬意優(yōu)點的優(yōu)點。
在組合驅(qū)動器架構(gòu)中,仍然使用虛擬信道多路復(fù)用協(xié)議來封裝 以及拆封不同的通信協(xié)議包,每種協(xié)議類型都與裝置的多個功能單
元之一相關(guān)聯(lián)。然而,當(dāng)將此裝置附加到總線(諸如,Windows系 統(tǒng)上的USB)時,如圖4的參考標(biāo)號440所示的多^各復(fù)用裝置功能 驅(qū)動器(MDFD )作為用于多功能裝置434的功能驅(qū)動器而被關(guān)聯(lián)。 然后,此驅(qū)動器440與裝置434進行通信和協(xié)商(對等而非主-從) 以建立在裝置434上所要觸發(fā)的功能和虛擬信道。
在一個示例性實施例中,MDFD 440和多功能裝置434之間的 多路復(fù)用協(xié)議可以基于基于非總線的多路復(fù)用協(xié)議。作為實例, MDFD 440和多功能裝置434之間的多i 各復(fù)用協(xié)議可以基于3GPP 27.010終端設(shè)備到用戶設(shè)備(TE-UE)多路復(fù)用器協(xié)議。
在另 一示例性實施例中,在MDFD 440和多功能裝置434之間 的多^各復(fù)用協(xié)i義可以基于4十對總線定義的4妄口組件(bus specific defined interface component )。作為實例,可以采用單獨的通用串4亍 總線(USB)端點用于各條虛擬信道。對于所觸發(fā)的每個功能(與 所建立的一條或多條虛擬信道相關(guān)聯(lián)),MDFD 440運行第二層驅(qū)動 器(406、 408、 410)來處理該功能的才乘作。當(dāng)前由MDFD 440所 建立的第二層(second-tier)驅(qū)動器(406、 408、 410)可以由不同 的驅(qū)動器類型(即,COM端口、調(diào)制解調(diào)器端口、網(wǎng)絡(luò)適配器等) 組成,并且可以基于裝置434和MDFD 440之間的協(xié)商來確定。在 一個示例性實施例中,MDFD 440可使用固定表格查找使多功能裝 置和MDFD之間的各條信道(在該特定實施例中稱作數(shù)據(jù)鏈路連接(DLC))與合適的第二層功能驅(qū)動器(406、 408、 410)相關(guān)聯(lián)。 例如,DLC=0可以與控制信道功能相關(guān)聯(lián);DLC= 1可以與AT/PPP ^t據(jù)通信功能相關(guān)耳關(guān);DLC = 2可以與it斷才莫式功能相關(guān)聯(lián);DLC
=3可以與控制和狀態(tài)功能相關(guān)聯(lián);DLC = 4可以與地理位置功能相 關(guān)聯(lián)。才艮據(jù)另一示例性實施例,MDFD 440可利用初始配置查詢機 制來確定DLC到功能單元的映射。然后,可以^使用該信息來確保在 才企測到功能單元(416、 418、 422)時運4亍或掛起正確的第二層功能 馬區(qū)動器(406、 408、 410)。
多路復(fù)用協(xié)議使用多個唯一功能標(biāo)識符來區(qū)分用于裝置434的 各個功能單元(416、 418、 422)的協(xié)i義單元。才艮據(jù)一個示例性實施 例,唯一功能標(biāo)識符包括3GPP27.010協(xié)議中的DLC標(biāo)識符??梢?使用控制信息或新的協(xié)議識別4企測機制來使MDFD 440在任意時刻 運行相關(guān)聯(lián)的第二層驅(qū)動器(406、 408、 410)。
如果在裝置434上禁止了相關(guān)聯(lián)的功能,則用于多功能裝置 的MDFD 440還可以在任意時刻終止或掛起特定的第二層驅(qū)動器 (406、 408、 410)。對于要改變的所建立的虛擬信道組、功能、以 及相關(guān)聯(lián)的第二層驅(qū)動器(406、 408、 410),不一定要對裝置434 進行重新列舉。
因此,該驅(qū)動器系統(tǒng)可以處理多功能裝置434的變化的配置。 可以4吏用用于多功能裝置434的單個MDFD 440來解決多功能裝置 434的多個修訂和配置。再者,也可以利用同一MDFD 440來解決 為滿足不同用戶要求所必需的多功能裝置434的用戶化。這樣減小 了通過維護多個獨特用戶化裝置驅(qū)動器所引入的錯誤的可能性。利 用單個MDFD 440來解決相似的多功能裝置434的不同版本的能力 也降低了開發(fā)成本。圖5示出了同一 MDFD 540可以服務(wù)于多功能裝置534的情況, 其中,已經(jīng)4亭用或掛起功能2 (518)。在這種情況中,MDFD 540 能夠掛起相關(guān)聯(lián)的第二層裝置功能驅(qū)動器508和(如果希望的話) 相關(guān)耳關(guān)的虛擬信道。如果裝置534的用戶化版本未包括全部功能單 元,則也可以獲得這種靈活性。在這種情況中,MDFD 540將調(diào)整 至用戶化的配置并且僅運行所需要的虛擬信道和第二層功能驅(qū)動器 (506、 508、 510)。因此,應(yīng)用程序可以基于相關(guān)聯(lián)的API功能呼 叫是否存在來確定功能單元(516、 518、 522)存在或不存在。
圖6示出了示例性的用于動態(tài)基于總線的虛擬信道多路復(fù)用的 方法實例??梢栽谑④浖?、固件、或其組合中實現(xiàn)圖6所示的 處理。圖6示出了圖4的多路復(fù)用裝置功能驅(qū)動器440和圖5的多 ;洛復(fù)用裝置功能驅(qū)動器550的#:作。在600處,建立多^各復(fù)用裝置 功能驅(qū)動器和連接到總線的多功能裝置之間的 一 條或多條虛擬信 道。使用多路復(fù)用協(xié)議建立多功能裝置和多路復(fù)用裝置功能驅(qū)動器 的連接。在602處,做出關(guān)于要在裝置上觸發(fā)的一個或多個功能的 決定。在604處,針對參考編號602處所觸發(fā)的每個功能,運行第 二層功能驅(qū)動器來處理所觸發(fā)的功能的操作。每個第二層功能驅(qū)動 器都具有與其相關(guān)聯(lián)的功能驅(qū)動器類型。
盡管出于說明的目的前面的描述提到了 USB架構(gòu),但本領(lǐng)域的 那些普通技術(shù)人員將容易地意識到本文中所公開的發(fā)明并不必局限 于該USB架構(gòu)。例4口,還可以4吏用PCI-Express ( PCIe )總線以及 電氣和電子工禾呈師十辦會1394 (IEEE 1394)總線。
盡管已經(jīng)示出并描述了實施例和應(yīng)用,4旦對于受益于本7>開文 件的那些本領(lǐng)域技術(shù)人員來說顯而易見的是,在不背離本文所公開 的發(fā)明思想的情況下,除了上面所提到的實施方案之外還可能有多 種修改。因此,除了所附權(quán)利要求的精神之外,本發(fā)明不應(yīng)該被限制。
權(quán)利要求
1. 一種用于動態(tài)基于總線的虛擬信道多路復(fù)用的設(shè)備,包括總線;總線驅(qū)動器,連接到所述總線;多功能裝置,連接到所述總線;以及多路復(fù)用裝置功能驅(qū)動器MDFD,連接到所述總線驅(qū)動器,用于經(jīng)由所述總線驅(qū)動器利用多路復(fù)用協(xié)議在所述MDFD和所述裝置之間與所述裝置建立一條或多條虛擬信道;確定要在所述裝置上觸發(fā)的一個或多個功能;以及針對每個所觸發(fā)的功能,運行第二層功能驅(qū)動器來處理所述所觸發(fā)的功能的操作,所述第二層功能驅(qū)動器具有功能驅(qū)動器類型。
2. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述MDFD被配置為利 用固定表4各查^l來^f吏所述裝置和所述MDFD之間的所述一條 或多條虛擬信道中的每一條虛擬信道與多個所述第二層功能 驅(qū)動器之一相關(guān)聯(lián)。
3. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述MDFD被配置為利 用固定表格查找來使數(shù)據(jù)鏈路連接(DLC )與多個所述第二層 功能驅(qū)動器之一相關(guān)聯(lián)。
4. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述功能驅(qū)動器類型包括 控制信道功能、AT/PPP數(shù)據(jù)通信功能、診斷模式功能、控制 和狀態(tài)功能、以及地理位置功能中的一種或多種功能。
5. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述MDFD被配置為利 用固定表才各查找來4吏所述裝置和所述MDFD之間的所述一條 或多條虛擬信道中的每一條虛擬信道與多個所述第二層功能 驅(qū)動器之一相關(guān)聯(lián)。
6. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述MDFD被配置為利 用 一種或多種初始配置查詢機制來使數(shù)據(jù)鏈路連接(DLC )與 多個所述第二層功能驅(qū)動器之一相關(guān)聯(lián)。
7. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述裝置被配置為利用一 個或多個唯一功能標(biāo)識符來對用于所述裝置的每個功能單元 的協(xié)議單元進行區(qū)分。
8. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述一個或多個唯一功能 標(biāo)識符包括3GPP 27.010協(xié)i義中的凝:據(jù)鏈路連4妄(DLC )標(biāo)識 付°
9. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述總線包括通用串行總 線(USB )。
10. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述總線包括電氣和電子 工禾呈師妨、會1394 (IEEE 1394)總線。
11. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述總線包括PCI-Express(PCIe)總線。
12. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述多路復(fù)用協(xié)議包括基 于非總線的多路復(fù)用器協(xié)議。
13. 根據(jù)權(quán)利要求12所述的設(shè)備,其中,所述多路復(fù)用協(xié)議包括 3GPP 27.010終端設(shè)備到用戶設(shè)備(TE-UE )多路復(fù)用器協(xié)議。
14. 根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述多路復(fù)用協(xié)議基于一 個或多個針對總線定義的接口組件。
15. 根據(jù)權(quán)利要求14所述的設(shè)備,其中,所述一個或多個針對總 線定義的接口組件包括用于每條虛擬信道的一個或多個單獨 的通用串行總線(USB)端點。
16. —種用于動態(tài)基于總線的虛擬信道多路復(fù)用的方法,包括建立多路復(fù)用裝置功能驅(qū)動器和連接到總線的多功能裝 置之間的一條或多條虛擬信道,與所述裝置的所述建立利用多 路復(fù)用協(xié)議,以及所述多路復(fù)用裝置功能驅(qū)動器通過總線驅(qū)動 器連接到所述總線;確定要在所述裝置上觸發(fā)的一個或多個功能;以及針對每個所觸發(fā)的功能,運行第二層功能驅(qū)動器來處理所 述所觸發(fā)的功能的操作,所述第二層功能驅(qū)動器具有功能驅(qū)動 器類型。
17. 根據(jù)權(quán)利要求16所述的方法,進一步包括利用固定表格查 找來^f吏所述裝置和所述MDFD之間的所述一條或多條虛擬4言 道中的每一條虛擬信道與多個所述第二層功能驅(qū)動器之一相關(guān)聯(lián)。
18. 根據(jù)權(quán)利要求16所述的方法,進一步包括利用固定表格查 找來使數(shù)據(jù)鏈路連接(DLC )與多個所述第二層功能驅(qū)動器之 一相關(guān)聯(lián)。
19. 根據(jù)權(quán)利要求16所述的方法,其中,所述功能驅(qū)動器類型包 括控制信道功能、AT/PPP數(shù)據(jù)通信功能、診斷模式功能、控 制和狀態(tài)功能、以及地理位置功能中的 一 種或多種功能。
20. 根據(jù)權(quán)利要求16所述的方法,進一步包括利用固定表格查 找來使所述裝置和所述MDFD之間的所述一條或多條虛擬信 道中的每一條虛擬信道與多個所述第二層功能驅(qū)動器之一相關(guān)聯(lián)。
21. 才艮據(jù)片又利要求16所述的方法,進一步包4舌利用一種或多種 初始配置查詢機制使數(shù)據(jù)鏈路連接(DLC )與多個所述第二層 功能驅(qū)動器之一相關(guān)聯(lián)。
22. 4艮據(jù)權(quán)利要求16所述的方法,進一步包括利用一個或多個 唯一功能標(biāo)識符來對用于所述裝置的每個功能單元的協(xié)議單 元進行區(qū)分。
23. 才艮據(jù)斗又利要求16所述的方法,其中,所述一個或多個唯一功 能標(biāo)識符包括3GPP 27.010協(xié)議中的凄t據(jù)鏈^各連"t妄(DLC )標(biāo) 識符。
24. 根據(jù)權(quán)利要求16所述的方法,其中,所述總線包括通用串行 總線(USB)。
25. 根據(jù)權(quán)利要求16所述的方法,其中,所述總線包括電氣和電 子工程師協(xié)會1394 (IEEE 1394)總線。
26. 根據(jù)權(quán)利要求16所述的方法,其中,所述總線包括PCI-Express(PCIe)總線。
27. 根據(jù)權(quán)利要求16所述的方法,其中,所述多路復(fù)用協(xié)議包括 基于非總線的多路復(fù)用器協(xié)議。
28. 根據(jù)權(quán)利要求27所述的方法,其中,所述多路復(fù)用協(xié)議包括 3GPP 27.010終端設(shè)備到用戶設(shè)備(TE-UE )多路復(fù)用器協(xié)議。
29. 根據(jù)權(quán)利要求16所述的方法,其中,所述多3各復(fù)用協(xié)議基于 一個或多個針對總線定義的接口組件。
30. 4艮據(jù)4又利要求29所述的方法,其中,所述一個或多個針對總 線定義的4妄口組件包括用于每條虛擬信道的一個或多個單獨 的通用串行總線(USB)端點。
31. —種用于動態(tài)基于總線的虛擬信道多路復(fù)用的設(shè)備,包括總線;總線驅(qū)動器,連接到所述總線; 多功能裝置,連接到所述總線;以及 裝置,用于建立多路復(fù)用裝置功能驅(qū)動器和連接到總線的所述 裝置之間的一條或多條虛擬信道,與所述多功能裝置的 所述建立利用多路復(fù)用協(xié)議,以及所述多路復(fù)用裝置功 能驅(qū)動器通過總線驅(qū)動器連4妄到所述總線;確定要在所述多功能裝置上觸發(fā)的一個或多個功能; 以及針對每個所觸發(fā)的功能,運行第二層功能驅(qū)動器來處 理所述所觸發(fā)的功能的操作,所述第二層功能驅(qū)動器具 有功能驅(qū)動器類型。
32. —種用于動態(tài)基于總線的虛擬信道多路復(fù)用的設(shè)備,包括用于建立多路復(fù)用裝置功能驅(qū)動器和連接到總線的多功 能裝置之間的一條或多條虛擬信道的裝置,與所述多功能裝置 的所述建立利用多路復(fù)用協(xié)議,以及所述多路復(fù)用裝置功能驅(qū) 動器通過所述總線驅(qū)動器連接到所述總線;用于確定要在所述多功能裝置上觸發(fā)的一個或多個功能的裝置;以及用于針對每個所觸發(fā)的功能運^f于第二層功能驅(qū)動器來處 理所述所觸發(fā)的功能的操作的裝置,所述第二層功能驅(qū)動器具 有功能驅(qū)動器類型。
33. —種機器可讀的程序存儲裝置,包含可由所述機器執(zhí)行的用于 執(zhí)行動態(tài)基于總線的虛擬信道多路復(fù)用的方法的指令的程序, 所述方法包^":建立多路復(fù)用裝置功能驅(qū)動器和連接到總線的多功能裝 置之間的一條或多條虛擬信道,與所述多功能裝置的所述建立 利用多路復(fù)用協(xié)議,以及所述多路復(fù)用裝置功能驅(qū)動器通過總 線驅(qū)動器連接到所述總線;確定要在所述多功能裝置上觸發(fā)的一個或多個功能;以及 針對每個所觸發(fā)的功能,運行第二層功能驅(qū)動器來處理所述所觸發(fā)的功能的操作,所述第二層功能驅(qū)動器具有功能驅(qū)動器類型。
全文摘要
可以通過以下步驟來實現(xiàn)動態(tài)基于總線的虛擬信道多路復(fù)用與多路復(fù)用裝置功能驅(qū)動器(312)和連接到總線(314)的多功能裝置(322)建立一條或多條虛擬信道(300,3021,304),確定要在裝置上觸發(fā)的一個或多個功能,以及針對所觸發(fā)的每個功能運行第二層功能驅(qū)動器來處理所觸發(fā)的功能的操作。第二層功能驅(qū)動器具有功能驅(qū)動器類型。建立與多功能裝置(322)的一條或多條虛擬信道是通過利用多路復(fù)用協(xié)議來實現(xiàn)的,多路復(fù)用裝置功能驅(qū)動器(312)經(jīng)由總線驅(qū)動器連接到總線。
文檔編號G06F3/00GK101490637SQ200680041579
公開日2009年7月22日 申請日期2006年10月6日 優(yōu)先權(quán)日2005年10月6日
發(fā)明者理查德·托馬斯·卡瓦諾, 蒂拉克拉伊·羅伊喬杜里 申請人:施克萊無線公司