專利名稱:遠(yuǎn)程usb環(huán)境中的混合或復(fù)合usb設(shè)備的劃分的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及用于促使被附著于第一計算機(jī)主機(jī)的通用串行總線(“USB”)外圍設(shè)備可訪問在遠(yuǎn)離第一個的第二計算機(jī)主機(jī)上運(yùn)行的資源的技術(shù)。
背景技術(shù):
存在使得本地計算機(jī)處的用戶能夠通過計算機(jī)網(wǎng)絡(luò)訪問并共享遠(yuǎn)程計算機(jī)(例如中央服務(wù)器)的桌面的協(xié)議。一個此類協(xié)議是由微軟公司提供的遠(yuǎn)程桌面協(xié)議(“RDP”),微軟公司通過網(wǎng)絡(luò)連接來提供遠(yuǎn)程顯示和輸入能力。能夠在本上下文中使用的另一協(xié)議是來自Hewlett I^ackard公司的遠(yuǎn)程圖形軟件(“RGS”)協(xié)議。RGS被設(shè)計為利用計算機(jī)和遠(yuǎn)程計算機(jī)的圖形資源來在本地計算機(jī)處遞送交互式遠(yuǎn)程訪問。通過網(wǎng)絡(luò)將遠(yuǎn)程計算機(jī)的桌面圖形數(shù)據(jù)傳送至本地計算機(jī),其在本機(jī)計算機(jī)處的窗口中本地地顯示桌面圖形數(shù)據(jù)。RGS捕捉本地計算機(jī)處的用戶鍵盤和鼠標(biāo)輸入,并將該鍵盤和鼠標(biāo)輸入發(fā)送至遠(yuǎn)程計算機(jī)以便由遠(yuǎn)程計算機(jī)的操作系統(tǒng)且由在遠(yuǎn)程計算機(jī)上運(yùn)行的應(yīng)用程序來處理。RGS還允許將諸如存儲設(shè)備的某些外圍設(shè)備的數(shù)據(jù)從本地計算機(jī)傳送至遠(yuǎn)程計算機(jī)。用于RDP、RGS或類似系統(tǒng)的現(xiàn)代附件是促使在物理上附著于本地計算機(jī)主機(jī)的 USB設(shè)備可訪問在遠(yuǎn)程計算機(jī)主機(jī)上運(yùn)行的資源的能力。后一布置在下文中將稱為“遠(yuǎn)程 USB環(huán)境”。
圖1是根據(jù)本發(fā)明的優(yōu)選實施例的舉例說明用于將遠(yuǎn)程USB環(huán)境中的混合或復(fù)合 USB設(shè)備劃分的系統(tǒng)的方框圖。圖2是根據(jù)本發(fā)明的優(yōu)選實施例的更詳細(xì)地舉例說明圖1的計算機(jī)主機(jī)的方框圖。圖3是根據(jù)本發(fā)明的優(yōu)選實施例的舉例說明用于將遠(yuǎn)程USB環(huán)境中的混合或復(fù)合 USB設(shè)備劃分的方法的流程圖。圖4是舉例說明示例性狀態(tài)的表格,根據(jù)本發(fā)明的優(yōu)選實施例,所述示例性狀態(tài)能夠指示混合或復(fù)合USB設(shè)備的功能應(yīng)被呈現(xiàn)給多個主機(jī)中的哪些。圖5是根據(jù)本發(fā)明的優(yōu)選實施例的舉例說明包含在圖1的混合和復(fù)合設(shè)備中的 USB功能的示例性劃分的方框圖。圖6是根據(jù)本發(fā)明的一個優(yōu)選實施例的舉例說明用于設(shè)置圖4的狀態(tài)的方法的流程圖。圖7是根據(jù)本發(fā)明的另一優(yōu)選實施例的舉例說明用于設(shè)置圖4的狀態(tài)的方法的流程圖。圖8是根據(jù)本發(fā)明的另一優(yōu)選實施例的舉例說明用于設(shè)置圖4的狀態(tài)的方法的流程圖。
具體實施例方式圖1舉例說明根據(jù)本發(fā)明的優(yōu)選實施例的用于將遠(yuǎn)程USB環(huán)境中的混合或復(fù)合 USB設(shè)備劃分的系統(tǒng)100。描繪了三個計算機(jī)主機(jī)102、104、106。在其它實施例中,可以使用更多計算機(jī)主機(jī)。計算機(jī)主機(jī)102裝配有USB遠(yuǎn)程邏輯100,并且計算機(jī)主機(jī)104、106裝配有USB遠(yuǎn)程邏輯109。下面將相對于圖2更詳細(xì)地描述USB遠(yuǎn)程邏輯108、109。在某些實施例中,主機(jī)102可以訪問配置文件110,諸如在處于主機(jī)102本地或可通過常規(guī)手段以別的方式可用于主機(jī)102的存儲設(shè)備或存儲器上。優(yōu)選地,主機(jī)102、104、106能夠經(jīng)由網(wǎng)絡(luò)114相互通信。網(wǎng)絡(luò)114可以采取任何常規(guī)形式,諸如,例如TCP/IP網(wǎng)絡(luò)或UDP/IP網(wǎng)絡(luò)。 除USB遠(yuǎn)程邏輯108/109的存在之外,主機(jī)102、104、106可以采取任何常規(guī)計算設(shè)備的形式,并且主機(jī)102、104、106不需要是相同的。例如,三個主機(jī)中的任何一個或全部可以采取臺式計算機(jī)、服務(wù)器計算機(jī)、嵌入式計算機(jī)或諸如膝上型或手持式計算機(jī)的便攜式計算設(shè)備的形式。因此,每個主機(jī)正常地將裝配有用于執(zhí)行代碼的至少一個中央處理單元和用于存儲代碼以及相關(guān)數(shù)據(jù)及其它信息的存儲器。主機(jī)102可以裝配有USB主機(jī)控制器116,以便可以將其連接至復(fù)合USB設(shè)備118 和/或混合USB設(shè)備120。(在實際實施例中,可以將任何數(shù)目、類型和混合的USB設(shè)備連接至主機(jī)102—甚至是單個設(shè)備;圖中所示的配置僅僅是出于說明性目的。)復(fù)合USB設(shè)備 118和混合USB設(shè)備120可以是常規(guī)的。每個包含多個USB功能。例如,復(fù)合設(shè)備118可以包含USB功能122、124和126,并且復(fù)合設(shè)備可以包含如所示的USB功能128,130和132。 在實際實施例中,復(fù)合設(shè)備118和混合設(shè)備120中的每一個可以包含比所示的那些更少或更多的USB功能。包含在設(shè)備中的USB功能可以是任何常規(guī)類型的。典型USB功能的示例是鍵盤、鼠標(biāo)、音頻設(shè)備、視頻設(shè)備、生物計量設(shè)備等。依照USB標(biāo)準(zhǔn),復(fù)合USB設(shè)備是具有單個設(shè)備地址但許多接口描述符的一個。另一方面,混合USB設(shè)備具有可經(jīng)由也具有地址的內(nèi)部集線器訪問的多個設(shè)備地址。圖2更詳細(xì)地舉例說明計算機(jī)主機(jī)102、104、106。主機(jī)102內(nèi)的USB遠(yuǎn)程邏輯108 可以包含虛擬內(nèi)插器邏輯200和發(fā)送/接收邏輯202。此外,虛擬內(nèi)插器邏輯200可以包含設(shè)備劃分邏輯204。同樣地,主機(jī)104、106內(nèi)的USB遠(yuǎn)程邏輯109可以包含虛擬內(nèi)插器邏輯 206、發(fā)送/接收邏輯208和(在某些實施例中)仲裁協(xié)議邏輯210。優(yōu)選地,每個主機(jī)被裝配為用某些手段(諸如用網(wǎng)絡(luò)接口卡(“NIC”)212)與網(wǎng)絡(luò)114對接。發(fā)送/接收邏輯202、 208被配置為經(jīng)由網(wǎng)絡(luò)114在相互之間傳送分組。該分組可以表示在主機(jī)104或106處的用戶層級應(yīng)用程序214與被連接到主機(jī)102的USB設(shè)備之間傳遞的命令和數(shù)據(jù)。該分組還可以表示在主機(jī)104、106內(nèi)的內(nèi)核空間實體(諸如內(nèi)核子系統(tǒng)/10管理器232和/或上USB 設(shè)備堆棧216)與被連接到主機(jī)102的USB設(shè)備之間傳遞的通知和配置命令和數(shù)據(jù)。(為了獲得關(guān)于通過網(wǎng)絡(luò)在主機(jī)之間發(fā)送USB設(shè)備信息的示例性實施方式的更多信息,讀者參考題為“Emulation of a Device Protocol ”的美國專利申請序號11/343,791,該申請被結(jié)合到本文中,如同其在這里完全闡述一樣。)虛擬內(nèi)插器邏輯206被配置為使發(fā)送/接收邏輯 208與主機(jī)104/106中的至少部分設(shè)備驅(qū)動程序堆棧(諸如上USB設(shè)備堆棧216)對接。虛擬內(nèi)插器邏輯200被配置為使發(fā)送/接收邏輯202與主機(jī)102中的至少部分設(shè)備驅(qū)動程序堆棧(諸如下USB設(shè)備堆棧218)對接。在某些實施例中,虛擬內(nèi)插器邏輯206還可以與驅(qū)動USB主機(jī)控制器222的下USB設(shè)備堆棧220對接。同樣在某些實施例中,虛擬內(nèi)插器邏輯200還可以與上USB設(shè)備堆棧2 對接,其經(jīng)由內(nèi)核子系統(tǒng)/10管理器2 和應(yīng)用程序設(shè)計員的界面(“API”)230與應(yīng)用程序2 對接。上USB設(shè)備堆棧216正常地將與內(nèi)核子系統(tǒng)/10管理器232對接,其又能夠經(jīng)由API 234與應(yīng)用程序214對接。主機(jī)102、104、106內(nèi)的操作環(huán)境不需要是相同的。例如,任一主機(jī)可以使用 Microsoft Windows操作系統(tǒng)、Unix或Linux操作系統(tǒng)或某個其它類型的操作系統(tǒng)。在 Microsoft Windows Driver Foundation的詞匯中,可以存在于上USB設(shè)備堆棧216中的對象的示例將是功能驅(qū)動程序?qū)ο?“FD0”)以及可能的一個或多個USB過濾器驅(qū)動程序??梢源嬖谟谙耈SB設(shè)備堆棧218中的對象的示例將是物理設(shè)備對象(“PD0”)以及可能的附加 USB過濾器驅(qū)動程序。在其它平臺上,可以使用不同的術(shù)語,并且在堆棧中可以存在不同的對象。圖2所示的配置的效果是可以使得被附著于主機(jī)102的USB設(shè)備可經(jīng)由網(wǎng)絡(luò)114訪問在主機(jī)104、106上運(yùn)行的資源,諸如內(nèi)核空間實體和/或諸如應(yīng)用程序214的應(yīng)用程序。現(xiàn)在將相對于圖3 5來描述用于圖1和2的系統(tǒng)的優(yōu)選行為。特別地,圖3描述根據(jù)本發(fā)明的優(yōu)選實施例的用于將諸如圖1和2的遠(yuǎn)程USB環(huán)境中的混合或復(fù)合USB設(shè)備劃分的方法300。在步驟302中,可以在主機(jī)102中設(shè)置狀態(tài)400以提供本地USB功能 122 132到遠(yuǎn)程主機(jī)104、106的映射。狀態(tài)400的目的是指示應(yīng)將USB功能122 132 中的至少某些呈現(xiàn)給哪個遠(yuǎn)程主機(jī),因此,狀態(tài)400的形式和內(nèi)容對于不同的實施例可以不同。在某些實施例中,狀態(tài)400可以使用諸如用設(shè)備地址和接口描述符來具體地識別實際上存在的USB功能的條目來將功能122 132的某些或所有映射到主機(jī)??梢杂萌魏纬R?guī)手段來識別主機(jī),諸如用IP地址。在其它實施例中,狀態(tài)400可以替代地用USB功能類型來提供功能到主機(jī)的更一般映射。例如,在此類實施例中,狀態(tài)400可以包括向主機(jī)104 呈現(xiàn)所有音頻USB功能(按種類識別的第一預(yù)定功能類別)并向主機(jī)106呈現(xiàn)所有生物計量USB功能(按種類識別的第二預(yù)定功能類別)的指令。不需要將每個功能或功能類別映射到主機(jī)。在圖4所示的狀態(tài)下,例如,不將視頻功能映射到任何主機(jī)。后一種技術(shù)可以用來防止使得存在于設(shè)備118、120中的某些USB功能可用于任何遠(yuǎn)程主機(jī)。并且,映射中的 USB功能的類別可以包括不止一個類型。在狀態(tài)400中,例如,提供“其它”類別,使得可以作為默認(rèn)將不落在具體地枚舉的種類內(nèi)的任何類型的功能映射到特定主機(jī)(在本示例中主機(jī)104)??梢杂萌魏纬R?guī)手段將狀態(tài)400存儲在主機(jī)102處,諸如在存儲器中。在某些實施例中,可以使步驟302、304的順序相反。在步驟304中,用戶將諸如設(shè)備118或設(shè)備120的多功能USB設(shè)備插入主機(jī)102。在常規(guī)主機(jī)中,此動作將調(diào)用本地主機(jī)的內(nèi)核子系統(tǒng)中的即插即用功能以加載用于處理新發(fā)現(xiàn)的設(shè)備的適當(dāng)?shù)囊粋€或多個驅(qū)動程序。但是在本發(fā)明的系統(tǒng)中,主機(jī)102中的USB遠(yuǎn)程邏輯108將替代地與主機(jī)104或106 中的遠(yuǎn)程邏輯109中的一個或多個通信以調(diào)用那些主機(jī)的內(nèi)核子系統(tǒng)中的即插即用功能。 結(jié)果將是適當(dāng)?shù)囊粋€或多個驅(qū)動程序?qū)⒈患虞d在主機(jī)104或106中而不是主機(jī)102中。更特別地,在步驟306中,設(shè)備劃分邏輯204變成活動的以便以特殊方式完成這一點。即,設(shè)備劃分邏輯204依照狀態(tài)400將存在于混合或復(fù)合設(shè)備中的該組USB功能劃分成兩個或更多適當(dāng)?shù)墓δ茏蛹?。在這樣做時,其產(chǎn)生對應(yīng)于劃分的該組USB功能的至少一部分的至少一個虛擬USB設(shè)備??梢詫⑷魏芜m當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)用于在內(nèi)部表示虛擬設(shè)備并用于虛擬設(shè)備與實際上包含正在虛擬設(shè)備中表示的功能的相關(guān)物理設(shè)備之間的轉(zhuǎn)換的目的。圖5舉例說明此類劃分的一個示例。在圖5的示例中,已將來自復(fù)合物理設(shè)備118的USB功能122和1 混合成虛擬USB設(shè)備500,同時已將來自復(fù)合物理設(shè)備118的USB功能124分離到另一虛擬USB設(shè)備502中。同樣地,已將來自混合物理設(shè)備120的USB功能 132分離到虛擬USB設(shè)備504中,同時已將USB功能1觀、130混合成不同的虛擬USB設(shè)備 506。因此,虛擬設(shè)備500、502每個對應(yīng)于該組USB功能122 126的劃分的不同部分。同樣地,虛擬設(shè)備504、506每個對應(yīng)于該組USB功能128 132的劃分的不同部分。在所示的示例中,包含在虛擬設(shè)備500、502中的USB功能是該組USB功能122 126的窮舉,并且包含在虛擬設(shè)備504、506中的USB功能的該組USB功能1 132的窮舉。但是在替換實施例中,包含在虛擬設(shè)備中的功能不需要是包含在底層物理設(shè)備中的該組功能的窮舉。(在例如狀態(tài)400的示例中,可以通過將其包含在虛擬設(shè)備中的任何一個中來抑制存在于設(shè)備118或129中的任何視頻功能)。為了示例假設(shè)剛剛插入的設(shè)備是復(fù)合設(shè)備110。然后在步驟308中,主機(jī)102可以向主機(jī)104發(fā)送指示已經(jīng)插入新的USB設(shè)備500的消息,并且在步驟312中,可以向主機(jī) 106發(fā)送指示已經(jīng)插入新的USB設(shè)備502的消息。另一方面,如果剛剛插入的設(shè)備是混合設(shè)備120,則主機(jī)102可以在步驟308中向主機(jī)104發(fā)送指示已經(jīng)插入新的USB設(shè)備504的消息,并且可以在步驟312中向主機(jī)106發(fā)送指示已經(jīng)插入新的USB設(shè)備506的消息。設(shè)備劃分邏輯204可以通過響應(yīng)于在狀態(tài)400中存儲的信息確定每個功能將被呈現(xiàn)給哪個遠(yuǎn)程主機(jī)來實現(xiàn)這一點。從該點向前,可以調(diào)用主機(jī)104、106中的常規(guī)即插即用功能以加載適合于新公告的設(shè)備500 506中的每一個的驅(qū)動程序。本發(fā)明的系統(tǒng)能夠保證被使得對于一個遠(yuǎn)程主機(jī)而言可見的虛擬設(shè)備500 506 中的任何一個未被使得對于另一遠(yuǎn)程主機(jī)而言可見。這可以在步驟310和314中實現(xiàn)。如果不期望主機(jī)106能夠看到設(shè)備500、504,則在步驟310和314中,簡單地不向主機(jī)106發(fā)送對應(yīng)于那些設(shè)備的公告消息。相對于與主機(jī)104相對的設(shè)備502、506,可以在步驟310、 314中實現(xiàn)類似的消息抑制。相對于在步驟302中設(shè)置狀態(tài)400,可以使用多種技術(shù)??梢允褂玫囊环N技術(shù)是將狀態(tài)400或能夠用來構(gòu)造狀態(tài)400的數(shù)據(jù)存儲在配置文件110中。然后,可以通過在正在對遠(yuǎn)程USB會話進(jìn)行初始化時或其后讀取配置文件110來設(shè)置狀態(tài)400??梢允褂玫牧硪患夹g(shù)是使用仲裁協(xié)議邏輯210來設(shè)置狀態(tài)400,用圖6中的方法 600來舉例說明其優(yōu)選行為。具體地,在步驟602中,在正在對遠(yuǎn)程USB會話進(jìn)行初始化的時間或其后期間,主機(jī)104和106(和任何其他遠(yuǎn)程主機(jī),如果系統(tǒng)100包括不止兩個遠(yuǎn)程主機(jī))可以經(jīng)由網(wǎng)絡(luò)114相互和/或向主機(jī)102發(fā)送消息以確定哪些遠(yuǎn)程主機(jī)將處理存在(或可能存在)于主機(jī)102上的哪些USB功能。可以以任何適當(dāng)方式來執(zhí)行仲裁。例如,可以向每個主機(jī)分配唯一優(yōu)先權(quán),使得如果兩個主機(jī)公告了處理生物計量功能的期望或能力,則專有地將具有較高優(yōu)先級的主機(jī)指定為處理該功能。已參考本公開的本領(lǐng)域的技術(shù)人員將認(rèn)識到可以設(shè)計用于執(zhí)行沖裁的各種方法,并且此類方法為正在實現(xiàn)的分布式應(yīng)用種類所特有。(例如,剛剛提到的按優(yōu)先級排列方案在其中將使用單個安全服務(wù)器106以生物計量方式來認(rèn)證用戶的分布式應(yīng)用中可能是適當(dāng)?shù)模⑶乙坏┙?jīng)過認(rèn)證,應(yīng)允許其訪問第二服務(wù)器104上的音頻和視頻資源。)一旦仲裁已經(jīng)完成,則可以將仲裁的結(jié)果傳送至主機(jī)102 以便實現(xiàn)。例如,在步驟604中,主機(jī)104可以向主機(jī)102發(fā)送消息以將其本身注冊為將處理一組USB功能的主機(jī);并且在步驟606中,主機(jī)106可以向主機(jī)102發(fā)送消息以將其本身注冊為將處理另一組USB功能的主機(jī)。步驟604和/或步驟606中的消息的結(jié)果可以是相應(yīng)地設(shè)置狀態(tài)400。用圖7中的方法700來舉例說明設(shè)置狀態(tài)400的另一方式。在步驟702中,主機(jī) 102將一個遠(yuǎn)程主機(jī)(諸如主機(jī)104或106)選擇為諸如功能122 132的一組可用USB功能的受要約者(offeree)。在步驟704中,主機(jī)102向所選遠(yuǎn)程主機(jī)發(fā)送提供用于分配的可用USB功能的消息。在步驟706中,遠(yuǎn)程主機(jī)向主機(jī)102發(fā)送響應(yīng)消息,選擇所提供的那些 USB功能的某個子集(所選子集可以是空的,其可以是提供的完整集合,或者其可以是所提供的功能的某些非空合適子集。)在步驟708中,主機(jī)102設(shè)置或更新狀態(tài)400以將所選的那些功能分配給所選遠(yuǎn)程主機(jī)。在步驟710中,主機(jī)102從可用于分配給其它遠(yuǎn)程主機(jī)的該組USB功能去除所分配的USB功能。在步驟712中,根據(jù)是否仍有用于到其它遠(yuǎn)程主機(jī)的可能分配的任何USB功能,該過程可以重復(fù)或終止。如果存有任何一個,則主機(jī)102可以選擇另一主機(jī)并繼續(xù)步驟702??梢愿鶕?jù)任何適當(dāng)標(biāo)準(zhǔn)來選擇遠(yuǎn)程主機(jī),諸如依照遠(yuǎn)程主機(jī)的某個預(yù)定或仲裁排序。在設(shè)備劃分邏輯204中和協(xié)議仲裁邏輯210中可以實現(xiàn)方法700 中所述的功能。用圖8中的方法800來舉例說明設(shè)置狀態(tài)400的另一方式。在步驟802中,主機(jī) 102使用任何適當(dāng)?shù)娘@示設(shè)備136來呈現(xiàn)用戶界面134。用戶界面134允許用戶選擇應(yīng)將可用USB功能122 132中的哪些映射到可用遠(yuǎn)程主機(jī)(諸如主機(jī)104、106)中的哪些。在步驟804中,主機(jī)102響應(yīng)于經(jīng)由用戶界面134指示的用戶的選擇來設(shè)置或更新狀態(tài)400 以相應(yīng)地分配可用USB功能。在設(shè)備劃分邏輯204中可以實現(xiàn)方法800中所述的功能。用于設(shè)置狀態(tài)400的其它技術(shù)也是可能的。在大多數(shù)實施例中,可以預(yù)期虛擬設(shè)備500將被作為具有兩個功能的復(fù)合設(shè)備呈現(xiàn)給主機(jī)104,而虛擬設(shè)備506將被作為具有兩個功能的混合設(shè)備呈現(xiàn)給主機(jī)106。然而, 用適當(dāng)?shù)霓D(zhuǎn)換邏輯,可以有其它變化。例如,可以將虛擬設(shè)備500呈現(xiàn)為混合體,或者可以將虛擬設(shè)備506呈現(xiàn)為復(fù)合體。應(yīng)注意的是不需要在如所示的獨立組件中實現(xiàn)上述邏輯。例如,可以以等效的效果整體地或單獨地實現(xiàn)虛擬內(nèi)插器200、設(shè)備劃分邏輯204和發(fā)送/接收邏輯202中的任何或全部。并且,可以用等效的效果整體地或單獨地實現(xiàn)虛擬內(nèi)插器206、仲裁協(xié)議邏輯210 和發(fā)送/接收邏輯208中的任何或全部。在此類實施例中,在權(quán)利要求、所寫的說明及其附圖中描述的任何獨立組件的活動及其之間的連接應(yīng)替代地歸于整體地或單獨地形成且等效的邏輯組件。可以在硬件、軟件、固件和/或其混合中實現(xiàn)上述邏輯的組件。例如,任何或所有邏輯可以采取存儲在計算機(jī)可讀存儲介質(zhì)上的指令的形式,其在被計算機(jī)執(zhí)行時促使計算機(jī)執(zhí)行該邏輯。此類計算機(jī)可讀存儲介質(zhì)可以采取現(xiàn)在已知或?qū)㈤_發(fā)的任何常規(guī)形式,包括例如光盤或磁盤、磁帶、固態(tài)靜態(tài)或動態(tài)隨機(jī)存取存儲器、固態(tài)只讀存儲器、閃速存儲器等。在所附權(quán)利要求中,將以開放的意義來理解詞語“包括”和“包含”以意指“包括以下元素但不排除其它的”。雖然已經(jīng)參考本發(fā)明的優(yōu)選實施例對其進(jìn)行了詳細(xì)描述,但所述實施例是以示例的方式且不是以限制的方式提出的。已參考本說明書的本領(lǐng)域的技術(shù)人員應(yīng)理解的是在不脫離如所附權(quán)利要求限定的本發(fā)明的精神和范圍的情況下可以對所述實施例的形式和細(xì)節(jié)進(jìn)行各種修改。
權(quán)利要求
1.一種系統(tǒng),包括第一計算機(jī)主機(jī),其具有USB遠(yuǎn)程邏輯和USB設(shè)備劃分邏輯,其中所述USB遠(yuǎn)程邏輯被配置為促使被附著于第一計算機(jī)主機(jī)的USB設(shè)備經(jīng)由網(wǎng)絡(luò)可訪問在第二或第三計算機(jī)主機(jī)上運(yùn)行的資源;以及當(dāng)將包含一組多個USB功能的混合或復(fù)合USB設(shè)備連接至第一計算機(jī)主機(jī)時,USB設(shè)備劃分邏輯被配置為向第二計算機(jī)主機(jī)呈現(xiàn)第一虛擬USB設(shè)備且向第三計算機(jī)主機(jī)呈現(xiàn)第二虛擬USB設(shè)備,第一和第二虛擬SUB設(shè)備每個包含該組USB功能的劃分的不同部分。
2.權(quán)利要求1的系統(tǒng),其中第一和第二虛擬USB設(shè)備是由USB設(shè)備劃分邏輯向至少第二和第三計算機(jī)主機(jī)呈現(xiàn)的多個虛擬USB設(shè)備的成員,所述多個的每個成員包含該組USB功能的劃分的不同部分;以及包含在所述多個中的功能共同地是該組的窮舉。
3.權(quán)利要求1的系統(tǒng),其中第一和第二虛擬USB設(shè)備是由USB設(shè)備劃分邏輯向至少第二和第三計算機(jī)主機(jī)呈現(xiàn)的多個虛擬USB設(shè)備的成員,所述多個的每個成員包含該組USB功能的劃分的不同部分;以及包含在所述多個中的功能共同地不是該組的窮舉。
4.權(quán)利要求1的系統(tǒng),其中所述USB設(shè)備劃分邏輯被配置為使得第一虛擬USB設(shè)備未被使得對于第三計算機(jī)主機(jī)而言是可見的,并且第二虛擬USB設(shè)備未被使得對于第二計算機(jī)主機(jī)而言是可見的。
5.權(quán)利要求1的系統(tǒng),還包括第一計算機(jī)主機(jī)中的狀態(tài),指示應(yīng)將多個USB功能中的至少某些呈現(xiàn)給第二和第三計算機(jī)主機(jī)中的哪一個。
6.權(quán)利要求5的系統(tǒng),還包括第二和第三計算機(jī)主機(jī)中的仲裁協(xié)議邏輯,被配置為通過在至少第二和第三計算機(jī)主機(jī)之間的通信來確定應(yīng)將所述多個USB功能中的至少某些呈現(xiàn)給第二和第三計算機(jī)主機(jī)中的哪一個,并相應(yīng)地設(shè)置第一計算機(jī)主機(jī)中的狀態(tài)。
7.權(quán)利要求5的系統(tǒng),其中所述狀態(tài)包括將落在第一預(yù)定類別內(nèi)的所有USB功能呈現(xiàn)給第二計算機(jī)主機(jī)且將落在第二預(yù)定類別內(nèi)的所有USB功能呈現(xiàn)給第三計算機(jī)主機(jī)的指令。
8.權(quán)利要求5的系統(tǒng),其中所述狀態(tài)對應(yīng)于從可由第一計算機(jī)主機(jī)訪問的配置文件讀取的信息。
9.權(quán)利要求5的系統(tǒng),其中所述USB設(shè)備劃分邏輯被配置為向至少第二計算機(jī)主機(jī)提供該組USB功能的成員并響應(yīng)于由第二計算機(jī)主機(jī)傳送的選擇將某些成員分配給第二計算機(jī)主機(jī),并且隨后將未選擇的成員提供給至少第三計算機(jī)主機(jī)。
10.權(quán)利要求5的系統(tǒng),其中USB設(shè)備劃分邏輯被配置為促使第一計算機(jī)主機(jī)呈現(xiàn)允許用戶選擇將使得該組USB功能的哪些成員可用于至少第一和第二計算機(jī)主機(jī)中的哪一個的用戶界面,并響應(yīng)于經(jīng)由該用戶界面指示的用戶選擇來設(shè)置狀態(tài)。
11.一種方法,包括將包含一組多個USB功能的混合或復(fù)合USB設(shè)備附著于第一計算機(jī)主機(jī);以及促使第一計算機(jī)主機(jī)向第二計算機(jī)主機(jī)呈現(xiàn)第一虛擬USB設(shè)備并向第三計算機(jī)主機(jī)呈現(xiàn)第二虛擬USB設(shè)備,第一和第二虛擬USB設(shè)備每個包含該組多個USB功能的劃分的不同部分。
12.權(quán)利要求11的方法,還包括促使第一虛擬USB設(shè)備對于第三計算機(jī)主機(jī)而言是不可見的;以及促使第二虛擬USB設(shè)備對于第二計算機(jī)主機(jī)而言是不可見的。
13.權(quán)利要求11的方法,還包括響應(yīng)于存儲在第一計算機(jī)主機(jī)上的狀態(tài)來確定應(yīng)將所述多個USB功能中的至少某些呈現(xiàn)給至少第二和第三計算機(jī)主機(jī)中的哪一個。
14.權(quán)利要求13的方法,還包括通過以下各項來設(shè)置第一計算機(jī)主機(jī)上的狀態(tài) 向至少第二計算機(jī)主機(jī)提供該組USB功能的成員并響應(yīng)于由第二計算機(jī)主機(jī)傳送的選擇將某些成員分配給第二計算機(jī)主機(jī);以及將未選擇的成員提供給至少第三計算機(jī)主機(jī)。
15.—種包含程序代碼的計算機(jī)可讀存儲介質(zhì),所述程序代碼在被第一計算機(jī)主機(jī)執(zhí)行時促使第一計算機(jī)主機(jī)實現(xiàn)USB遠(yuǎn)程邏輯和USB設(shè)備劃分邏輯,使得所述USB遠(yuǎn)程邏輯被配置為促使被附著于第一計算機(jī)主機(jī)的USB設(shè)備經(jīng)由網(wǎng)絡(luò)可訪問在第二或第三計算機(jī)主機(jī)上運(yùn)行的資源;以及當(dāng)將包含一組多個USB功能的混合或復(fù)合USB設(shè)備連接至第一計算機(jī)主機(jī)時,USB設(shè)備劃分邏輯被配置為向第二計算機(jī)主機(jī)呈現(xiàn)第一虛擬USB設(shè)備且向第三計算機(jī)主機(jī)呈現(xiàn)第二虛擬USB設(shè)備,第一和第二虛擬USB設(shè)備每個包含該組USB功能的劃分的不同部分。
全文摘要
提供了用于將遠(yuǎn)程USB環(huán)境中的混合或復(fù)合USB設(shè)備劃分的系統(tǒng)和方法。第一計算機(jī)主機(jī)具有USB遠(yuǎn)程邏輯和USB設(shè)備劃分邏輯。所述USB遠(yuǎn)程邏輯被配置為促使被附著于第一計算機(jī)主機(jī)的USB設(shè)備可訪問在第二或第三計算機(jī)主機(jī)上運(yùn)行的資源。當(dāng)混合或復(fù)合USB設(shè)備被連接至第一計算機(jī)主機(jī)時,USB設(shè)備劃分邏輯向第二計算機(jī)主機(jī)呈現(xiàn)第一虛擬USB設(shè)備并向第三計算機(jī)主機(jī)呈現(xiàn)第二虛擬USB設(shè)備。第一和第二虛擬USB設(shè)備每個包含來自存在于底層混合或復(fù)合USB設(shè)備中的該組USB功能的劃分的不同部分。
文檔編號H04L29/06GK102388376SQ200980158642
公開日2012年3月21日 申請日期2009年4月10日 優(yōu)先權(quán)日2009年4月10日
發(fā)明者M. 金 J., E. 奧利諾 R. 申請人:惠普開發(fā)有限公司