欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于多功能設(shè)備枚舉的系統(tǒng)和方法

文檔序號:6348703閱讀:222來源:國知局
專利名稱:用于多功能設(shè)備枚舉的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)系統(tǒng)領(lǐng)域,更具體地,涉及在主機(jī)系統(tǒng)上枚舉多功能外圍或嵌入式設(shè)備中的各種功能單元的系統(tǒng)和方法。
背景技術(shù)
由于設(shè)備制造商期望通過向外圍設(shè)備添加各種功能單元以增加其產(chǎn)品的價值和附加性能,因此多功能外圍和嵌入式設(shè)備變得日益流行。許多這種多功能設(shè)備通過單個物理接口來展露它們的各種功能單位,其中該單個物理接口支持在設(shè)備枚舉期間由主機(jī)將描述符或配置表讀出設(shè)備的性能。具有這些能力的設(shè)備接口的一些實例包括USB和Fire ffire(IEEE1394)。外圍設(shè)備的描述符或配置表通常包含對于主機(jī)要確定必須加載哪個驅(qū)動程序以枚舉、展露和控制外圍設(shè)備的每個功能單元所必需的信息。通常,設(shè)備的非類屬功能單元需要特有的一組銷售商專有和/或主操作系統(tǒng)(OS)本機(jī)驅(qū)動程序(driver)、與同父多功能設(shè)備的一個或多個其它功能共享驅(qū)動程序,或是這兩者的組合。當(dāng)這些多功能設(shè)備在主機(jī)中被枚舉時,它們通常被配置為同時枚舉設(shè)備的每個功能單元。然而,有時也可能期望只向主機(jī)展露設(shè)備中一個或多個功能單元而不是全部功能單元。因此,存在著對于以下機(jī)制的需求該機(jī)制對多功能設(shè)備的功能單元展露至主機(jī)并在主機(jī)上被枚舉的順序進(jìn)行控制。

發(fā)明內(nèi)容
公開了對于多功能外圍設(shè)備在主機(jī)上的枚舉進(jìn)行控制的系統(tǒng)和方法。在一個示意性實施方式中,多功能外圍設(shè)備可以包括連接到主機(jī)接口的類屬以及非類屬功能單元。設(shè)備可以在其非易失性存儲器中存儲用于非類屬功能單元的一個或多個驅(qū)動程序。外圍設(shè)備可以進(jìn)一步包括控制器,用于控制類屬以及非類屬功能單元展露至主機(jī)并在其上枚舉的順序。該控制器可以包括可操作地接通和切斷類屬以及非類屬功能單元的開關(guān),從而控制這些單元展露和枚舉的順序。該開關(guān)可以包括自動開關(guān)或手動操作開關(guān)。在一個示意性實施方式中,用于將具有類屬功能單元和非類屬功能單元的多功能外圍設(shè)備在主機(jī)上枚舉的方法包括將外圍設(shè)備連接到主機(jī)系統(tǒng)。該方法進(jìn)一步包括將外圍設(shè)備的類屬功能單元展露至主機(jī)并在其上進(jìn)行枚舉。然后,定位(locate,查找出)用于外圍設(shè)備的非類屬功能單元的驅(qū)動程序。該方法進(jìn)一步包括將非類屬功能單元展露至主機(jī)并在其上枚舉。在一個示意性實施方式中,展露類屬功能單元包括切斷外圍設(shè)備的非類屬功能單元。在另一示意性實施方式中,展露非類屬功能單元包括切斷外圍設(shè)備的類屬功能單元。在另一示意性實施方式中,用于將具有類屬功能單元和非類屬功能單元的多功能外圍設(shè)備在主機(jī)上枚舉的方法包括切斷外圍設(shè)備的非類屬功能單元以及接通外圍設(shè)備的類屬功能單元。該方法進(jìn)一步包括在主機(jī)上枚舉類屬功能單元,并且在主機(jī)上加載用于非
5類屬功能單元的驅(qū)動程序。該方法進(jìn)一步包括接通外圍設(shè)備的非類屬功能單元并在主機(jī)系統(tǒng)上枚舉非類屬功能單元。在一個示意性實施方式中,枚舉非類屬功能單元包括重置以及重新枚舉外圍設(shè)備的類屬功能單元。在另一示意性實施方式中,用于將具有類屬功能單元和非類屬功能單元的多功能外圍設(shè)備在主機(jī)上枚舉的方法包括將外圍設(shè)備的類屬功能單元向主機(jī)展露并將其在主機(jī)上枚舉。該方法進(jìn)一步包括向主機(jī)系統(tǒng)提供可操作地在主機(jī)系統(tǒng)上定位并加載用于外圍設(shè)備的非類屬功能單元的設(shè)備驅(qū)動程序的瘦驅(qū)動程序(thin driver) 0該方法進(jìn)一步包括將非類屬功能單元向主機(jī)系統(tǒng)展露并將其枚舉在主機(jī)系統(tǒng)上。該方法進(jìn)一步包括安裝用于非類屬功能單元的驅(qū)動程序。此外,在另一示意性實施方式中,用于將具有類屬功能單元和非類屬功能單元的多功能外圍設(shè)備在主機(jī)上枚舉的方法包括檢測連接的外圍設(shè)備的、經(jīng)展露的類屬功能單元并枚舉檢測到的類屬功能單元。該方法進(jìn)一步包括加載可操作地在主機(jī)系統(tǒng)上定位并加載用于外圍設(shè)備的非類屬功能單元的設(shè)備驅(qū)動程序的瘦驅(qū)動程序。該方法進(jìn)一步包括 檢測連接的設(shè)備的、經(jīng)展露的非類屬功能單元并將該經(jīng)展露的非類屬功能單元枚舉在主機(jī)上。該方法進(jìn)一步包括安裝用于被枚舉的非類屬功能單元的設(shè)備驅(qū)動程序。所公開的系統(tǒng)和方法使多功能外圍設(shè)備在初始的設(shè)備枚舉處理期間、在設(shè)備確定是否展露非類屬功能單元之前,能夠確定所有所需設(shè)備驅(qū)動程序是否存在于主機(jī)的系統(tǒng)存儲器中,因此縮短了在外圍設(shè)備連接到主機(jī)之后初始化外圍設(shè)備所需的時間,從而增強(qiáng)了整體設(shè)備枚舉的用戶體驗。根據(jù)附圖和以下示意性實施方式的詳細(xì)描述,本發(fā)明的其他優(yōu)勢對于本領(lǐng)域技術(shù)人員而言是顯而易見的。


通過參考以下描述以及用于闡明本發(fā)明實施方式的附圖可以充分地理解本發(fā)明。附圖中圖1是主機(jī)系統(tǒng)的一個示意性實施方式的示圖。圖2是外圍設(shè)備的一個示意性實施方式的示圖。圖3A至圖3C是切換機(jī)制的示意性實施方式的示圖。圖4至圖6是枚舉處理的示意性實施方式的流程圖。
具體實施例方式圖1所示的計算機(jī)系統(tǒng)100的一個示意性實施方式包括主機(jī)105以及多個多功能外圍或嵌入式設(shè)備110A、110B、110C。主機(jī)105可以包括,但不限于臺式計算機(jī)、服務(wù)器計算機(jī)、移動計算機(jī)、個人數(shù)字助理(PDA)、蜂窩電話、網(wǎng)絡(luò)路由器、無線接入點、游戲機(jī)或其它類型的數(shù)據(jù)處理設(shè)備。設(shè)備110A、110B、110C中的一個或多個可以包括,但不限于內(nèi)部或外部調(diào)制解調(diào)器、打印機(jī)、諸如磁盤和閃存驅(qū)動的存儲設(shè)備、掃描儀、麥克風(fēng)、揚聲器、照相機(jī)、PCI擴(kuò)展卡以及擴(kuò)展主機(jī)105功能的其它類型設(shè)備。在一個示意性實施方式中,主機(jī)105可以包括處理設(shè)備115、系統(tǒng)存儲器120以及將處理設(shè)備115與系統(tǒng)存儲器120互連的系統(tǒng)總線125。系統(tǒng)總線125可以包括,但不限于16位、32位、64位或其它類型的平行連接器。主機(jī)105可以進(jìn)一步包括將主機(jī)105與
6其外圍設(shè)備11(^、11( 、110(互連的一個或多個輸入/輸出總線130A、130B、130C。I/O總線可以包括但不限于PCI、PCI擴(kuò)展、USB、ISA、AGP、串行ΑΤΑ、以太網(wǎng)、ΙΕΕΕ1394以及其它類型的通信接口。計算機(jī)105的處理設(shè)備115被配置為解釋各種計算機(jī)程序、運行應(yīng)用程序、以及將數(shù)據(jù)和指令導(dǎo)入諸如系統(tǒng)存儲器120和外圍/嵌入式設(shè)備110Α、110B、1 IOC的其它設(shè)備或從這些其它設(shè)備中導(dǎo)出數(shù)據(jù)和指令。在一個示意性實施方式中,處理設(shè)備115可以包括通用處理器,諸如英特爾雙核(Intel Dual-Core )或奔騰(Pentium )處理器、AMD炫龍 (Turion ) 64位處理器或其它類型的微處理器。在另一示意性實施方式中,處理設(shè)備115可以包括特定用途集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯器件(PLD)和其它類型的客戶定制電路。系統(tǒng)存儲器120可以包括,但不限于隨機(jī)存儲器(RAM)、只讀存儲器(ROM)、可編輯ROM(PROM)、可擦除PROM(EPROM)、FLASH-EPR0M以及其它類型的動態(tài)、易失和非易失信息存儲介質(zhì)。在一個示意性實施方式中,系統(tǒng)存儲器120可以存儲操作系統(tǒng)(OS) 135,諸如 Windows Vista > Unix、Linux或其它類型OS。系統(tǒng)存儲器120還可以存儲一個或多個設(shè)備驅(qū)動程序145,它包括允許主機(jī)105與外圍或嵌入式設(shè)備110A、110B、110C或者可以連接到主機(jī)105的其它設(shè)備的一個或多個功能單元進(jìn)行通信的程序子例程。圖2描述了多功能外圍設(shè)備210的一個示意性實施方式。本文所使用的術(shù)語“外圍設(shè)備”還包括嵌入主機(jī)系統(tǒng)的設(shè)備。設(shè)備210可以包括1/0通信接口 215,諸如PCI、PCI 擴(kuò)展、USB、ISA、AGP、串行ATA、以太網(wǎng)、IEEE1394或用于與主機(jī)205的對應(yīng)1/0總線進(jìn)行通信的其它類型的有線或無線接口。多功能設(shè)備210可以包括數(shù)個功能單元,諸如類屬功能單元220和非類屬功能單元230。類屬功能單元220通常是由主機(jī)205的OS本機(jī)支持的功能單元。這種類屬功能單元可以包括大容量存儲、輸入/輸出、音頻/視頻和其它功能。非類屬功能單元230提供不由主機(jī)205的OS本機(jī)支持的銷售商專有功能,諸如光學(xué)掃描、游戲功能、TV調(diào)諧和其它功能。在一個示意性實施方式中,多功能外圍設(shè)備可以包括存儲器240,諸如RAM、ROM、 PR0M、EPR0M、FLASH_EPR0M和其它類型的動態(tài)、易失性和非易失性信息存儲介質(zhì)。在一個示意性實施方式中,存儲器240可由功能單元220和230共享??商鎿Q地,每個功能單元可以具有其自己的存儲器240專用部分。在一個示意性實施方式中,存儲器240可以用來存儲設(shè)備驅(qū)動程序M5A和M5B、安裝器應(yīng)用程序255以及其他事項。設(shè)備驅(qū)動程序M5A、245B 包括允許主機(jī)205與設(shè)備210的一個或多個功能單元通信的程序子例程。安裝器應(yīng)用程序 255實現(xiàn)設(shè)備驅(qū)動程序M5A、245B在主機(jī)系統(tǒng)上的安裝。在一個示意性實施方式中,設(shè)備驅(qū)動程序M5A可以與類屬功能單元220關(guān)聯(lián),設(shè)備驅(qū)動程序M5B可以與非類屬功能單元230關(guān)聯(lián)。例如,實現(xiàn)音頻和游戲端口性能的附加聲卡可能作為兩個對于主機(jī)205獨立的設(shè)備出現(xiàn)。在一個示意性實施方式中,由功能單元 220提供的類屬音頻功能可以由音頻驅(qū)動程序M5A支持??商鎿Q地,類屬音頻功能可能由主機(jī)205利用存儲在主機(jī)存儲器120中的本機(jī)驅(qū)動程序145來本機(jī)支持。由功能單元230 提供的非類屬游戲功能可以由游戲端口驅(qū)動程序M5B支持。在另一示意性實施方式中,驅(qū)動程序M5A、245B可以與非類屬功能單元230關(guān)聯(lián)。 例如,非類屬功能單元230可能需要數(shù)個OS專用驅(qū)動程序,從而允許設(shè)備210與運行不同
7操作系統(tǒng)的主機(jī)205通信。例如,驅(qū)動程序M5A可以提供允許非類屬功能單元230與運行微軟Windows 操作系統(tǒng)的主機(jī)205進(jìn)行操作的程序子例程,以及驅(qū)動程序M5B可以提供允許非類屬功能單元230與運行Mac OS、Unix或其它操作系統(tǒng)的主機(jī)205進(jìn)行操作的程序子例程。本領(lǐng)域技術(shù)人員會認(rèn)識到存在著功能單元可能需要數(shù)個不同驅(qū)動程序的其它情況。首先,在多功能外圍或嵌入式設(shè)備210連接到主機(jī)205時,主機(jī)205的操作系統(tǒng)通常試圖枚舉連接的設(shè)備中所有獨立功能單元。在枚舉處理期間,OS 135可以識別連接的設(shè)備中一個或多個功能單元,載入相應(yīng)的設(shè)備驅(qū)動程序、分配所需系統(tǒng)資源以及執(zhí)行其它設(shè)備初始化服務(wù)。對于類屬功能單元220,OS 135可以載入通常存儲在主機(jī)205的系統(tǒng)存儲器120中的本機(jī)驅(qū)動程序145。對于非類屬功能單元230來說,OS 135可以載入銷售商專有驅(qū)動程序M5A、245B,該驅(qū)動程序可以由非類屬功能單元230提供、可以從安裝CD中獲得或經(jīng)由互聯(lián)網(wǎng)從設(shè)備制造商的服務(wù)器下載。在將驅(qū)動程序安裝在主機(jī)205期間,類屬功能單元220有時可以自動安裝用于一個或多個非類屬功能單元230的銷售商專有或非OS本機(jī)驅(qū)動程序。一個實例為,當(dāng)在主機(jī) 205上執(zhí)行時,類屬USB大容量存儲功能單元(其通常展露安裝器應(yīng)用程序25 可以預(yù)加載用于一些非類屬功能單元230的所需驅(qū)動程序。然而,在一些實例中,在安裝類屬功能單元期間,當(dāng)展露一個或多個非類屬功能單元230時,設(shè)備210可能不具有支持這些單元的能力。這可能引起致命的異常、性能問題和/或不期望的用戶體驗。在這種情況下,期望抑制一些非類屬功能單元的枚舉,但仍枚舉多功能設(shè)備210的其它功能。為此,在一個示意性實施方式中,多功能設(shè)備210可以包括控制各種功能單元操作的功能單元控制器225。更具體地,控制器225可以控制功能單元220和230在主機(jī)205 上的枚舉。例如,控制器225可以控制在設(shè)備枚舉處理期間,設(shè)備接口描述符或配置表向主機(jī)205展露的順序。在一個示意性實施方式中,控制器225可以包括,但不限于通用處理器、特定用途集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯器件(PLD)和其它類型的軟件實現(xiàn)控制邏輯或硬件實現(xiàn)控制邏輯。在一個示意性實施方式中,控制器225可以包括功能單元切換機(jī)制,它可以實現(xiàn)為2-路、3-路或N-路開關(guān),其中N取決于設(shè)備210的功能單元的數(shù)量以及可以操作這些單元的組合。在一個示意性實施方式中,切換機(jī)制可操作地選擇一個或多個預(yù)定義的設(shè)備接口描述符或配置表以在設(shè)備枚舉處理期間向主機(jī)205展露。在另一示意性實施方式中,切換機(jī)制可操作地選擇被展露的功能單元的、通過設(shè)備接口描述符或配置表報告給主機(jī)205 的一個或多個屬性。切換機(jī)制可以由幾種不同方式實現(xiàn)。在一個示意性實施方式中,切換機(jī)制可以實現(xiàn)為用戶可用的物理開關(guān),從而用戶能撥動開關(guān)以選擇通過單個設(shè)備接口 215要在主機(jī) 205上枚舉的功能單元。在另一示意性實施方式中,切換機(jī)制能夠以作為設(shè)備安裝程序一部分的軟件來實現(xiàn),這樣用戶能夠通過GUI選擇在設(shè)備安裝期間要被枚舉在主機(jī)205上的一個或多個功能單元。然而,在另一示意性實施方式中,切換機(jī)制可以由主機(jī)205驅(qū)動,正如將在本文描述的。本領(lǐng)域技術(shù)人員可以認(rèn)識到存在實現(xiàn)用于多功能設(shè)備210的切換機(jī)制的其它方式。圖3A、圖;3B和圖3C描繪了使用上述切換機(jī)制的設(shè)備枚舉處理的數(shù)個示意性實施
8方式。切換機(jī)制可以實現(xiàn)為物理(或基于軟件的)3-路開關(guān)235。該開關(guān)可以暴露于設(shè)備 210外部,并且其適于用戶通過物理或基于軟件的圖形用戶界面進(jìn)行撥動。開關(guān)235的當(dāng)前撥動狀態(tài)是通過諸如通用I/0(GPI0)信號(未示出)的接口輸入多功能設(shè)備210。每個可能的開關(guān)設(shè)置選項均可以觸發(fā)設(shè)備210在設(shè)備枚舉處理期間向主機(jī)205展露不同的描述符或配置表。在圖3A中,用戶可以撥動開關(guān)235以觸發(fā)控制器225只向主機(jī)205展露類屬功能單元220 (諸如,大容量存儲功能單元)。作為響應(yīng),控制器225可以在主機(jī)205上運行安裝程序255,該程序使用來自系統(tǒng)存儲器120的設(shè)備驅(qū)動程序145安裝類屬功能單元220。在設(shè)備安裝期間,類屬功能單元220被枚舉在主機(jī)205上。另外,安裝程序255可以從設(shè)備存儲器240中檢索用于非類屬功能單元230的各種驅(qū)動程序包M5A和/或M5B并且將它們預(yù)加載到系統(tǒng)存儲器120中。如果所需驅(qū)動程序不能在設(shè)備210上獲得,則安裝程序可以提示用戶指定可以加載驅(qū)動程序的另一位置(諸如,安裝⑶或設(shè)備制造商的網(wǎng)站)。然后, 僅有設(shè)備210的類屬功能對主機(jī)205可用,如總線250所表示的,象征性信息在主機(jī)205與設(shè)備210之間的交換。接下來,用戶可以撥動開關(guān)235以觸發(fā)多功能設(shè)備210向主機(jī)205展露不同的設(shè)備配置。例如,可以撥動開關(guān)以展露類屬功能單元220和非類屬功能單元230這兩者,如圖 3B所示。設(shè)備210可能需要與主機(jī)205進(jìn)行重新枚舉,從而使主機(jī)讀取新的設(shè)備配置。這可以在檢測到開關(guān)位置變化時由用戶手動完成或由設(shè)備通過內(nèi)部重置操作自動完成。主機(jī) 205從設(shè)備210讀取新的配置之后,主機(jī)枚舉非類屬功能單元230并且安裝在類屬功能單元 220的枚舉期間預(yù)加載的所需驅(qū)動程序。然后,設(shè)備210的兩種功能均對主機(jī)205可用,如總線250和260所表示,象征性信息在主機(jī)205和設(shè)備210之間交換。在另一示例性實施方式中,用戶可以撥動開關(guān)235以觸發(fā)多功能設(shè)備210從而只展露一個或多個非類屬功能單元230,而隱藏類屬功能單元220,如圖3C所示。可以預(yù)期的是,例如,如果以這種方式實現(xiàn)主機(jī)205、設(shè)備210、和/或與類屬功能單元220關(guān)聯(lián)的驅(qū)動程序,當(dāng)枚舉類屬功能單元220時,會對主機(jī)205的整體功耗產(chǎn)生不利影響。如果用戶意識到這點并且當(dāng)前沒有對于類屬功能單元220的需求,則用戶可以撥動開關(guān)235從而隱藏類屬單元。當(dāng)然,如本領(lǐng)域技術(shù)人員所知,對于在主機(jī)205枚舉期間或之后切斷設(shè)備210的一個或多個功能單元220還存在其它原因。例如,當(dāng)用于非類屬功能單元的設(shè)備驅(qū)動程序在設(shè)備210的存儲器中可獲得并且在初始的設(shè)備安裝期間可以由主機(jī)205的OS直接加載和安裝時,可以使用該開關(guān)配置。然后,僅有設(shè)備210的非類屬功能對主機(jī)205可用,如總線 260所表示,象征性信息在主機(jī)205和設(shè)備210之間交換。圖4描繪了使用上述切換機(jī)制的多功能外圍(或嵌入式)設(shè)備的枚舉處理的一個示意性實施方式。處理400開始于步驟402,其中設(shè)備被連接到主機(jī)。在步驟404中,主機(jī) OS檢測新的多功能設(shè)備并確定設(shè)備ID。在步驟406中,OS確定所需設(shè)備驅(qū)動程序是否存在于主機(jī)的系統(tǒng)存儲器中。如果設(shè)備之前未枚舉類屬功能單元和/或非類屬功能單元被切斷(如圖3A所示),則非類屬功能單元驅(qū)動程序未存在于主機(jī)上進(jìn)而OS向設(shè)備報告需要專用的設(shè)備驅(qū)動程序(步驟410)。如果所需設(shè)備驅(qū)動程序存在于設(shè)備或主機(jī)上(步驟412 或步驟420),非類屬功能單元可以向主機(jī)枚舉(步驟430)。所需設(shè)備驅(qū)動程序加載并安裝在主機(jī)上(步驟43幻。然后,多功能設(shè)備的非類屬功能單元準(zhǔn)備好被使用(步驟434)。
9
然而,如果在設(shè)備中未找到非類屬設(shè)備驅(qū)動程序(步驟412),則設(shè)備可以使用其類屬功能單元(諸如大容量存儲單元)、使用存儲在主機(jī)系統(tǒng)存儲器中的本機(jī)設(shè)備驅(qū)動程序來枚舉(步驟414)。一旦枚舉了類屬功能單元,該類屬功能單元就可以在主機(jī)上運行安裝器應(yīng)用程序從而枚舉設(shè)備的非類屬功能單元(步驟416)。具體地,安裝器應(yīng)用程序可以定位或提示用戶定位所需的非類屬設(shè)備驅(qū)動程序。一旦定位了非類屬設(shè)備驅(qū)動程序并將其載入主機(jī)系統(tǒng)存儲器中,安裝器應(yīng)用程序就可以向設(shè)備發(fā)布請求從而顯示其非類屬功能單元(步驟418)。然后,枚舉非類屬功能單元(步驟430),安裝所需驅(qū)動程序(步驟432)并且設(shè)備的所有非類屬功能單元準(zhǔn)備好被使用(步驟434)。在一個示意性實施方式中,多功能外圍(或嵌入式)設(shè)備可以采用“瘦”驅(qū)動程序使主機(jī)能夠控制初始的設(shè)備枚舉。更具體地,瘦驅(qū)動程序可以使主機(jī)的操作系統(tǒng)能夠間接地與設(shè)備通信,從而控制類屬和非類屬功能單元的枚舉。該瘦驅(qū)動程序可以經(jīng)由I/O總線標(biāo)準(zhǔn)化消息、I/O總線銷售商專用消息,經(jīng)由銷售商專用擴(kuò)展、I/O總線標(biāo)準(zhǔn)化消息的數(shù)據(jù)載荷中封裝的消息、或本領(lǐng)域技術(shù)人員所熟知的其它方法與多功能設(shè)備通信。在一個示意性實施方式中,瘦驅(qū)動程序可實現(xiàn)為用于微軟Windows 操作系統(tǒng)的本機(jī)大容量儲存驅(qū)動程序堆棧中一個驅(qū)動程序的上層級或下層級過濾驅(qū)動程序,或用于被配置為代替或取代用于標(biāo)準(zhǔn)大容量儲存裝置類別中特定裝置組的本機(jī)大容量儲存裝置驅(qū)動程序的獨立大容量儲存裝置驅(qū)動程序。本領(lǐng)域技術(shù)人員可以認(rèn)識到在其它實施方式中可以不同地實現(xiàn)瘦驅(qū)動程序。圖5描繪了具有瘦驅(qū)動程序的多功能外圍(或嵌入式)設(shè)備枚舉處理的另一示意性實施方式。枚舉處理500開始于步驟510,首先,設(shè)備連接到主機(jī),其中非類屬功能單元被切斷(如圖3A所示)。在步驟512中,主機(jī)的OS檢測新的多功能設(shè)備并確定設(shè)備ID。由于所有的非類屬功能單元被切斷,因此設(shè)備僅枚舉其類屬功能單元(步驟514)。在枚舉期間,設(shè)備可以在主機(jī)上加載瘦驅(qū)動程序(步驟516)。首先,瘦驅(qū)動程序可以確定非類屬設(shè)備驅(qū)動程序和/或應(yīng)用程序組件是否存在于主機(jī)的系統(tǒng)存儲器中(步驟518)。如果主機(jī)中不存在所需驅(qū)動程序(步驟520),瘦驅(qū)動程序可以檢查這種驅(qū)動程序是否存在于設(shè)備上 (步驟530)。如果在主機(jī)或設(shè)備上找到了所需驅(qū)動程序,則瘦驅(qū)動程序可以向設(shè)備發(fā)布請求從而展露其非類屬功能單元(步驟550)。然后,設(shè)備在主機(jī)上枚舉非類屬功能單元(步驟55幻。所需設(shè)備驅(qū)動程序加載和安裝在主機(jī)上(步驟554)。然后,多功能設(shè)備的非類屬功能單元準(zhǔn)備好被使用(步驟556)。然而,如果未找到非類屬設(shè)備驅(qū)動程序(步驟520以及530),則設(shè)備可以使用其類屬功能單元(諸如,大容量存儲單元)、使用存儲在主機(jī)系統(tǒng)存儲器中的本機(jī)設(shè)備驅(qū)動程序來枚舉(步驟M0)。一旦枚舉了類屬功能單元,該類屬功能單元可以在主機(jī)上運行安裝器應(yīng)用程序從而枚舉設(shè)備的非類屬功能單元(步驟討幻。具體地,安裝器應(yīng)用程序可以定位或提示用戶定位所需的非類屬設(shè)備驅(qū)動程序。一旦定位了非類屬設(shè)備驅(qū)動程序并將其載入主機(jī)系統(tǒng)存儲器中,安裝器應(yīng)用程序就可以向設(shè)備發(fā)布請求從而展露其非類屬功能單元 (步驟M4)。然后,枚舉非類屬功能單元(步驟55 ,安裝所需驅(qū)動程序(步驟554),以及準(zhǔn)備使用設(shè)備的所有非類屬功能單元(步驟陽6)。圖6描繪了使用上述切換機(jī)制和瘦驅(qū)動程序的多功能外圍(或嵌入式)設(shè)備的枚舉處理的另一示意性實施方式。當(dāng)接通多功能設(shè)備的所有功能單元(如圖3B所示)時,可
10以在初始的設(shè)備枚舉期間使用處理600。如果主機(jī)操作系統(tǒng)不支持存在于類屬功能單元存儲器中的安裝器包,也可以應(yīng)用處理600。瘦驅(qū)動程序能通過阻止設(shè)備僅枚舉會對這種操作系統(tǒng)沒有用處的類屬功能單元來服務(wù)于操作系統(tǒng)和主機(jī),并且還因此阻止設(shè)備展露將通過其他傳統(tǒng)或非傳統(tǒng)方式將驅(qū)動程序和應(yīng)用程序部件載入主機(jī)的非類屬功能單元。正如所描繪的,在步驟605中,首先,設(shè)備連接到主機(jī),其中所有類屬功能單元接通。在步驟610中,主機(jī)的OS檢測新的多功能設(shè)備并確定設(shè)備ID。由于所有非類屬功能單元被接通,因此設(shè)備從枚舉類屬功能單元開始枚舉所有功能單元(步驟615)。在枚舉期間,設(shè)備可以將瘦驅(qū)動程序載入到主機(jī)上的本機(jī)類屬設(shè)備驅(qū)動程序(步驟620)。該瘦驅(qū)動程序可以向設(shè)備發(fā)布請求從而展露其非類屬功能單元(步驟62幻。然后,設(shè)備在主機(jī)上枚舉非類屬功能單元(步驟630)。從安裝CD或互聯(lián)網(wǎng)中獲得所需設(shè)備驅(qū)動程序,并將其加載和安裝到主機(jī)上(步驟63幻。然后,多功能設(shè)備的非類屬功能單元準(zhǔn)備好被使用(步驟 640)。在一個示意性實施方式中,可以由存在于外圍設(shè)備的類屬存儲器存貯功能單元的存儲器中的安裝器包來安裝用于特定操作系統(tǒng)的瘦驅(qū)動程序。該安裝器包可以包含或不包含非類屬功能單元所需的、用于相同操作系統(tǒng)的所需驅(qū)動程序和應(yīng)用程序部件。如果該安裝器包包含所需驅(qū)動程序,則瘦驅(qū)動程序可用來輔助設(shè)備確定如何初始枚舉(如處理500 中所示)。如果該安裝器包沒有所需驅(qū)動程序,則一旦加載和安裝瘦驅(qū)動程序,則該瘦驅(qū)動程序就可用于請求設(shè)備以連接非類屬功能單元(如處理600所示)。在另一示意性實施方式中,用于特定操作系統(tǒng)的瘦驅(qū)動程序可以是該操作系統(tǒng)的一部分,因此可能不是獨立地需要將該瘦驅(qū)動程序加載到主機(jī)系統(tǒng)存儲器。在又一示意性實施方式中,可以通過更傳統(tǒng)的方法(諸如安裝CD或互聯(lián)網(wǎng))安裝瘦驅(qū)動程序。本領(lǐng)域普通技術(shù)人員應(yīng)該理解,存在加載和安裝瘦驅(qū)動程序的其他方式。本領(lǐng)域普通技術(shù)人員應(yīng)該理解,所公開的系統(tǒng)和方法的示意性實施方式為主機(jī)提供了一種有效方式,從而在借助于或沒有用戶幫助的情況下確定是否以及何時枚舉多功能設(shè)備的各種功能單元,縮短了向穩(wěn)定且可用的功能連接組枚舉設(shè)備所需的時間,改善了整體自身部件安裝的用戶體驗、降低了對于在短時間內(nèi)枚舉不同組功能單元的外圍或嵌入式設(shè)備的操作系統(tǒng)中特殊情況處理失敗的風(fēng)險。此外應(yīng)理解,所公開的系統(tǒng)和方法允許外圍設(shè)備借助于主機(jī)或用戶、基于主機(jī)系統(tǒng)是否已經(jīng)具有用于設(shè)備的非類屬功能的所需設(shè)備驅(qū)動程序以及該設(shè)備是否已在設(shè)備的類屬存儲器存儲功能的存儲器中包括了用于主機(jī)當(dāng)前操作系統(tǒng)的驅(qū)動安裝包來確定它是應(yīng)該初始枚舉僅作為類屬(本機(jī))設(shè)備(例如,大容量存儲設(shè)備)還是也應(yīng)當(dāng)允許枚舉其非類屬(專有的)功能單元。這個性能可以在已安裝用于設(shè)備的驅(qū)動程序后減少程序步驟以及設(shè)備后續(xù)枚舉所需的時間,從而改善了設(shè)備枚舉的用戶體驗。該性能還可以防止設(shè)備在運行操作系統(tǒng)(其中,該設(shè)備中沒有用于該操作系統(tǒng)的安裝器包)的主機(jī)系統(tǒng)上僅枚舉作為存儲器貯存設(shè)備,從而減輕了用戶對于這類操作系統(tǒng)的挫敗感。在一個示意性實施方式中,在主機(jī)的系統(tǒng)存儲器中定位設(shè)備驅(qū)動程序的能力可以擴(kuò)展為檢查與外圍設(shè)備相關(guān)聯(lián)的應(yīng)用程序部件(其還可能在設(shè)備的類屬存儲器存儲功能單元的非易失存儲器中得到)。在另一示意性實施方式中,檢查驅(qū)動程序和應(yīng)用程序部件的能力可以擴(kuò)展為在主機(jī)的系統(tǒng)存儲器中存在的一個或多個部件已經(jīng)過時并且需要在主機(jī)
11能夠利用設(shè)備的非類屬功能單元之前進(jìn)行更新的情況下檢查這些部件的特定最低版本存儲。為了表述清晰,未示出和描述外圍設(shè)備枚舉機(jī)制的實現(xiàn)方式的全部特征。當(dāng)然,應(yīng)該理解的是,在設(shè)備枚舉處理的任何這種實際實現(xiàn)方式的開發(fā)過程中,必須做出多種特定實現(xiàn)方式的決定,以實現(xiàn)開發(fā)者的特定目標(biāo)(諸如,符合與應(yīng)用、系統(tǒng)、設(shè)備以及商業(yè)相關(guān)的約束),并且這些特定目標(biāo)視實現(xiàn)和開發(fā)者變化而變化。再者,應(yīng)該理解的是,開發(fā)努力可能是復(fù)雜并且耗時的,但是對于從本公開發(fā)明中受益的計算機(jī)系統(tǒng)領(lǐng)域的普通技術(shù)人員來說不過是常規(guī)工程程序。根據(jù)本公開發(fā)明,本文描述的部件、處理步驟、和/或數(shù)據(jù)結(jié)構(gòu)可以利用各種類型的操作系統(tǒng)、計算平臺、外圍或嵌入式設(shè)備、計算機(jī)程序、和/或通用機(jī)器來實現(xiàn)。此外,本領(lǐng)域普通技術(shù)人員將認(rèn)識到,在不背離本文公布的發(fā)明概念的范圍和精神的前提下還可以使用通用性較低的設(shè)備,諸如硬連線設(shè)備、現(xiàn)場可編輯門陣列(FPGA)、特定用途集成電路 (ASIC)或類似設(shè)備。其中,包括一系列處理步驟的方法可以由計算機(jī)或機(jī)器實現(xiàn),并且這些處理步驟可以作為一系列機(jī)器可讀指令存儲在有形介質(zhì)中。另外,應(yīng)該注意的是,本文描述的系統(tǒng)和模塊可以包括軟件、固件、硬件、或任何適用本文所描述目的的軟件、固件、硬件的組合。軟件和其它模塊可以駐留在服務(wù)器、工作站、 個人電腦、平板電腦、PDA和適用于此本文所描述目的的其它設(shè)備上。軟件和其它模塊可以經(jīng)由本地存儲器、經(jīng)由網(wǎng)絡(luò)、經(jīng)由瀏覽器或ASP語境中的其它應(yīng)用程序、或適用于本文所描述目的的其它方式存取。本領(lǐng)域普通技術(shù)人員應(yīng)該認(rèn)識到,用于多功能設(shè)備枚舉的系統(tǒng)和方法的描述僅用作說明并不旨在以任何方式進(jìn)行限制。其它實施方式將容易地將其自身向從本公開發(fā)明中受益的普通技術(shù)人員進(jìn)行暗示。另外,從本公開發(fā)明中受益的本領(lǐng)域技術(shù)人員應(yīng)該顯而易見的是,在不背離本文公開的發(fā)明概念的情況下可能做出比上述更多的修改。因此,除了所附權(quán)利要求的精神外,不應(yīng)限制本發(fā)明。
1權(quán)利要求
1.一種用于在主機(jī)系統(tǒng)上枚舉多功能外圍設(shè)備的方法,該多功能外圍設(shè)備具有類屬功能單元和非類屬功能單元,所述方法包括將所述外圍設(shè)備連接至所述主機(jī)系統(tǒng);向所述主機(jī)系統(tǒng)展露所述外圍設(shè)備的所述類屬功能單元;在所述主機(jī)系統(tǒng)上枚舉經(jīng)展露的所述類屬功能單元;定位用于所述外圍設(shè)備的所述非類屬功能單元的驅(qū)動程序;向所述主機(jī)系統(tǒng)展露非類屬功能單元;以及在所述主機(jī)系統(tǒng)上枚舉經(jīng)展露的所述非類屬功能單元。
2.根據(jù)權(quán)利要求1所述的方法,其中,展露所述類屬功能單元包括切斷所述外圍設(shè)備的所述非類屬功能單元。
3.根據(jù)權(quán)利要求2所述的方法,其中,展露所述非類屬功能單元包括切斷所述外圍設(shè)備的所述類屬功能單元。
4.根據(jù)權(quán)利要求2所述的方法,其中,展露所述非類屬功能單元包括接通所述類屬功能單元并且接通所述非類屬功能單元。
5.根據(jù)權(quán)利要求3所述的方法,其中,枚舉所述類屬功能單元包括向所述主機(jī)系統(tǒng)上傳瘦驅(qū)動程序,該瘦驅(qū)動程序被配置為定位用于所述外圍設(shè)備的所述非類屬功能單元的驅(qū)動程序。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述驅(qū)動程序的位置包括以下各項之一所述主機(jī)系統(tǒng)的存儲器、所述外圍設(shè)備的存儲器、安裝CD以及網(wǎng)絡(luò)服務(wù)器。
7.根據(jù)權(quán)利要求6所述的方法,進(jìn)一步包括在所述主機(jī)系統(tǒng)上安裝用于所述非類屬功能單元的驅(qū)動程序。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述類屬功能單元和所述非類屬功能單元通過單個接口連接至所述主機(jī)系統(tǒng)。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述接口包括有線接口和無線接口之一。
10.一種用于在主機(jī)系統(tǒng)上枚舉多功能外圍設(shè)備的方法,該多功能外圍設(shè)備具有類屬功能單元和非類屬功能單元,所述方法包括切斷所述外圍設(shè)備的所述非類屬功能單元;接通所述外圍設(shè)備的所述類屬功能單元;在所述主機(jī)系統(tǒng)上枚舉所述類屬功能單元;在所述主機(jī)系統(tǒng)上加載用于所述非類屬功能單元的驅(qū)動程序;接通所述外圍設(shè)備的所述非類屬功能單元;以及在所述主機(jī)系統(tǒng)上枚舉所述非類屬功能單元。
11.根據(jù)權(quán)利要求10所述的方法,其中,枚舉所述非類屬功能單元包括重置和重新枚舉所述外圍設(shè)備的所述類屬功能單元。
12.根據(jù)權(quán)利要求11所述的方法,其中,枚舉所述類屬功能單元包括向所述主機(jī)系統(tǒng)上傳瘦驅(qū)動程序,該瘦驅(qū)動程序可操作地定位用于所述外圍設(shè)備的所述非類屬功能單元的驅(qū)動程序。
13.根據(jù)權(quán)利要求12所述的方法,其中,所述驅(qū)動程序的位置包括以下各項之一所述主機(jī)系統(tǒng)的存儲器、所述外圍設(shè)備的存儲器、安裝CD以及網(wǎng)絡(luò)服務(wù)器。
14.根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括在所述主機(jī)系統(tǒng)上安裝用于所述非類屬功能單元的驅(qū)動程序。
15.根據(jù)權(quán)利要求10所述的方法,其中,所述類屬功能單元和所述非類屬功能單元通過單個接口連接至所述主機(jī)系統(tǒng)。
16.根據(jù)權(quán)利要求15所述的方法,其中,所述接口包括有線接口和無線接口之一。
17.一種用于在主機(jī)系統(tǒng)上枚舉多功能外圍設(shè)備的方法,該多功能外圍設(shè)備具有類屬功能單元和非類屬功能單元,所述方法包括向所述主機(jī)系統(tǒng)展露所述外圍設(shè)備的所述類屬功能單元; 在所述主機(jī)系統(tǒng)上枚舉經(jīng)展露的所述類屬功能單元;向所述主機(jī)系統(tǒng)提供瘦驅(qū)動程序,該瘦驅(qū)動程序可操作地定位并在所述主機(jī)系統(tǒng)上加載用于所述外圍設(shè)備的所述非類屬功能單元的設(shè)備驅(qū)動程序; 向所述主機(jī)系統(tǒng)展露非類屬功能單元; 在所述主機(jī)系統(tǒng)上枚舉經(jīng)展露的所述非類屬功能單元;以及在所述主機(jī)系統(tǒng)上安裝用于所述非類屬功能單元的驅(qū)動程序。
18.根據(jù)權(quán)利要求17所述的方法,其中,展露所述類屬功能單元包括切斷所述外圍設(shè)備的所述非類屬功能單元。
19.根據(jù)權(quán)利要求18所述的方法,其中,展露所述非類屬功能單元包括切斷所述外圍設(shè)備的所述類屬功能單元。
20.根據(jù)權(quán)利要求17所述的方法,其中,展露所述非類屬功能單元包括接通所述類屬功能單元以及所述非類屬功能單元。
21.根據(jù)權(quán)利要求17所述的方法,其中,所述驅(qū)動程序的位置包括以下各項之一所述主機(jī)系統(tǒng)的存儲器、所述外圍設(shè)備的存儲器、安裝CD以及網(wǎng)絡(luò)服務(wù)器。
22.根據(jù)權(quán)利要求17所述的方法,其中,所述類屬功能單元和所述非類屬功能單元通過單個接口連接至所述主機(jī)系統(tǒng)。
23.根據(jù)權(quán)利要求22所述的方法,其中,所述接口包括有線接口和無線接口之一。
24.一種用于在主機(jī)系統(tǒng)上枚舉多功能外圍設(shè)備的方法,該多功能外圍設(shè)備具有類屬功能單元和非類屬功能單元,所述方法包括檢測所連接的所述外圍設(shè)備的、經(jīng)展露的所述類屬功能單元; 枚舉所述外圍設(shè)備的、檢測到的所述類屬功能單元;加載瘦驅(qū)動程序,該瘦驅(qū)動程序可操作地定位并在所述主機(jī)系統(tǒng)上加載用于所述外圍設(shè)備的所述非類屬功能單元的設(shè)備驅(qū)動程序;檢測所連接的所述設(shè)備的、經(jīng)展露的所述非類屬功能單元;以及枚舉所述外圍設(shè)備的、檢測到的所述非類屬功能單元。
25.根據(jù)權(quán)利要求M所述的方法,進(jìn)一步包括安裝用于所述非類屬功能單元的設(shè)備驅(qū)動程序。
26.根據(jù)權(quán)利要求25所述的方法,其中,所述設(shè)備驅(qū)動程序的位置包括以下各項之一 所述主機(jī)系統(tǒng)的存儲器、所述外圍設(shè)備的存儲器、安裝CD以及網(wǎng)絡(luò)服務(wù)器。
27.根據(jù)權(quán)利要求沈所述的方法,其中,所述類屬功能單元和所述非類屬功能單元通過單個接口連接至所述主機(jī)系統(tǒng)。
28.根據(jù)權(quán)利要求27所述的方法,其中,所述接口包括有線接口和無線接口之一。
29.—種多功能外圍設(shè)備,包括主機(jī)接口,用于與主機(jī)系統(tǒng)通信;第一功能單元,連接至所述主機(jī)接口 ;第二功能單元,連接至所述主機(jī)接口 ;非易失性存儲器,用于存儲用于所述第一功能單元和所述第二功能單元中至少一個的一個或多個設(shè)備驅(qū)動程序;以及控制器,用于控制所述第一功能單元和所述第二功能單元展露至所述主機(jī)系統(tǒng)及其在所述主機(jī)系統(tǒng)上被枚舉的順序。
30.根據(jù)權(quán)利要求四所述的設(shè)備,其中,所述控制器包括開關(guān),該開關(guān)可操作地接通和切斷所述設(shè)備的所述第一和第二功能單元,從而控制所述功能單元展露至所述主機(jī)系統(tǒng)及其在所述主機(jī)系統(tǒng)上被枚舉的順序。
31.根據(jù)權(quán)利要求30所述的設(shè)備,其中,所述開關(guān)包括自動開關(guān)和用戶操作的手動開關(guān)之一。
32.根據(jù)權(quán)利要求四所述的設(shè)備,其中,所述第一功能單元是類屬功能單元,所述第二功能單元是非類屬功能單元。
33.根據(jù)權(quán)利要求32所述的設(shè)備,其中,所述類屬功能單元包括大容量存儲單元。
34.根據(jù)權(quán)利要求33所述的設(shè)備,其中,所述大容量存儲單元包括安裝器應(yīng)用程序,該安裝器應(yīng)用程序可操作地在所述主機(jī)系統(tǒng)上安裝用于所述外圍設(shè)備的所述非類屬功能單元的設(shè)備驅(qū)動程序。
35.根據(jù)權(quán)利要求四所述的設(shè)備,其中,所述存儲器進(jìn)一步包括瘦驅(qū)動程序,該瘦驅(qū)動程序可操作地定位用于所述第一和第二功能單元之一的設(shè)備驅(qū)動程序。
36.根據(jù)權(quán)利要求35所述的設(shè)備,其中,所述設(shè)備驅(qū)動程序的位置包括以下各項之一 所述主機(jī)系統(tǒng)的存儲器、所述外圍設(shè)備的存儲器、安裝CD以及網(wǎng)絡(luò)服務(wù)器。
37.根據(jù)權(quán)利要求四所述的設(shè)備,其中,所述主機(jī)接口包括有線接口和無線接口之一。
38.根據(jù)權(quán)利要求四所述的設(shè)備,其中,所述多功能外圍設(shè)備嵌入所述主機(jī)系統(tǒng)。
全文摘要
本發(fā)明公開了對于多功能外圍設(shè)備在主機(jī)上的枚舉進(jìn)行控制的系統(tǒng)和方法。該多功能外圍設(shè)備可以包括連接到主機(jī)接口的類屬和非類屬功能單元。該設(shè)備可以在其非易失存儲器中存儲用于非類屬功能單元的一個或多個驅(qū)動程序。該外圍設(shè)備可以進(jìn)一步包括控制器,其控制類屬和非類屬功能單元展露至主機(jī)系統(tǒng)和在主機(jī)系統(tǒng)上枚舉的順序。該控制器可以包括開關(guān),該開關(guān)可操作地接通和切斷類屬和非類屬功能單元,從而控制這些單元展露至主機(jī)系統(tǒng)并在主機(jī)系統(tǒng)上枚舉的順序。
文檔編號G06F3/00GK102362241SQ201080013484
公開日2012年2月22日 申請日期2010年1月29日 優(yōu)先權(quán)日2009年2月2日
發(fā)明者理查德·托馬斯·卡瓦諾 申請人:施克萊無線公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
丰顺县| 盐池县| 临清市| 前郭尔| 汝城县| 海宁市| 安义县| 汾阳市| 自贡市| 阿荣旗| 津市市| 武山县| 安图县| 杨浦区| 夏津县| 邯郸县| 同心县| 宁陵县| 兴国县| 大厂| 九寨沟县| 中江县| 额敏县| 新干县| 西峡县| 吉安县| 乐平市| 玉山县| 德安县| 蒙城县| 大田县| 葫芦岛市| 莲花县| 司法| 兴义市| 上思县| 枞阳县| 共和县| 仙居县| 锡林郭勒盟| 阿拉善盟|