相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2015年1月6日提交的美國(guó)臨時(shí)申請(qǐng)第62/100,121號(hào)的權(quán)益。上述申請(qǐng)的全部?jī)?nèi)容通過引用并入本文。
本公開涉及一種在通用串行總線(usb)設(shè)備和具有操作系統(tǒng)的目標(biāo)設(shè)備之間通信的系統(tǒng)和方法,并且更具體地,涉及一種用于使得usb設(shè)備能夠被安裝在其中usb設(shè)備不被操作系統(tǒng)直接支持的目標(biāo)設(shè)備的操作系統(tǒng)上的系統(tǒng)和方法,而無需因特網(wǎng)連接,并且也不需要將具有所需設(shè)備驅(qū)動(dòng)器的單獨(dú)介質(zhì)部件插入到目標(biāo)設(shè)備中。
背景技術(shù):
本部分的陳述僅提供與本公開有關(guān)的背景信息并且可能不構(gòu)成現(xiàn)有技術(shù)。
對(duì)于能夠與目標(biāo)設(shè)備(例如目標(biāo)計(jì)算機(jī))的操作系統(tǒng)通信的usb設(shè)備,目標(biāo)計(jì)算機(jī)需要知道使用哪個(gè)驅(qū)動(dòng)器來支持該設(shè)備。例如,如果目標(biāo)計(jì)算機(jī)運(yùn)行microsoft
當(dāng)使用不受支持的usb來試圖與運(yùn)行
另一選擇是在被插入到目標(biāo)計(jì)算機(jī)的usb端口中的便攜介質(zhì)設(shè)備(例如usb閃存驅(qū)動(dòng)器)上簡(jiǎn)單地包括所需要的驅(qū)動(dòng)器安裝文件。然而,這需要便攜式介質(zhì)設(shè)備在物理上插入到可能需要與usb設(shè)備通信的每個(gè)計(jì)算機(jī)。在一些應(yīng)用中,尤其是在kvm(鍵盤/視頻/鼠標(biāo))應(yīng)用中,這可能是不切實(shí)際的,因?yàn)閡sb設(shè)備可能需要與多個(gè)不同的目標(biāo)計(jì)算機(jī)通信。此外,對(duì)目標(biāo)計(jì)算機(jī)的物理訪問也可能受限,例如當(dāng)目標(biāo)計(jì)算機(jī)在具有控制訪問的數(shù)據(jù)中心的房間中時(shí)。
因此,面臨的挑戰(zhàn)仍然是如何容易而有效地使不受支持的usb設(shè)備與目標(biāo)計(jì)算機(jī)的操作系統(tǒng)進(jìn)行通信,而無需使用諸如因特網(wǎng)等的廣域網(wǎng),并且不需要將其上具有設(shè)備安裝文件的單獨(dú)介質(zhì)設(shè)備物理耦接至需要與usb設(shè)備通信的每個(gè)目標(biāo)計(jì)算機(jī)的usb端口。
技術(shù)實(shí)現(xiàn)要素:
在一個(gè)方面中,本公開涉及一種使得能夠在與通用串行總線(usb)設(shè)備通信的計(jì)算機(jī)上實(shí)現(xiàn)usb設(shè)備的次級(jí)功能的系統(tǒng),其中,計(jì)算機(jī)的操作系統(tǒng)不具有需要被映射到usb設(shè)備以使得能夠在計(jì)算機(jī)上實(shí)現(xiàn)usb設(shè)備的次級(jí)功能的至少一個(gè)不受支持的特征所需的驅(qū)動(dòng)器。系統(tǒng)可以包括與計(jì)算機(jī)和用戶的電子設(shè)備通信的usb設(shè)備。usb設(shè)備可以具有主功能以及次級(jí)功能,并且包括被容納在usb設(shè)備中的usb大容量存儲(chǔ)設(shè)備以用于實(shí)現(xiàn)主功能或次級(jí)功能。文件被存儲(chǔ)在usb大容量存儲(chǔ)設(shè)備上以實(shí)現(xiàn)次級(jí)功能。文件可由用戶選擇,并且包括當(dāng)計(jì)算機(jī)訪問時(shí)啟用usb設(shè)備的次級(jí)功能的不受支持特征所需的文件(.inf和/或驅(qū)動(dòng)器文件)??丶试S用戶啟用次級(jí)功能并且訪問可以從usb設(shè)備傳送至計(jì)算機(jī)的usb大容量存儲(chǔ)設(shè)備上的.inf和/或驅(qū)動(dòng)器文件。
本公開的另一方面涉及一種使得能夠在與通用串行總線(usb)設(shè)備通信的計(jì)算機(jī)上實(shí)現(xiàn)所述usb設(shè)備的主功能和次級(jí)功能二者的系統(tǒng),其中,與計(jì)算機(jī)相關(guān)聯(lián)的操作系統(tǒng)不具有需要被映射到usb設(shè)備以啟用次級(jí)功能的一個(gè)或多個(gè)不受支持的特征所需的.inf文件和/或驅(qū)動(dòng)器。系統(tǒng)可以包括與用戶的電子設(shè)備和計(jì)算機(jī)通信的usb設(shè)備。usb設(shè)備包括容納在usb設(shè)備中的usb大容量存儲(chǔ)設(shè)備和用于在主功能和次級(jí)功能之間進(jìn)行選擇的控件。至少一個(gè)文件被存儲(chǔ)在usb大容量存儲(chǔ)設(shè)備上以實(shí)現(xiàn)次級(jí)功能。至少一個(gè)文件包括使得計(jì)算機(jī)能夠?qū)崿F(xiàn)次級(jí)功能的不受支持的特征所需的.inf和/或驅(qū)動(dòng)器。該至少一個(gè)文件從由用戶使用的外部電子設(shè)備提供,并且當(dāng)驅(qū)動(dòng)控件以實(shí)現(xiàn)次級(jí)功能時(shí),在用戶選擇之后將該至少一個(gè)文件傳送至目標(biāo)計(jì)算機(jī)。次級(jí)功能,當(dāng)被實(shí)現(xiàn)時(shí)使得用戶能夠使用usb設(shè)備來加載另外的文件以啟用要被使用usb設(shè)備實(shí)現(xiàn)的不受支持的三級(jí)功能。
本公開的另一方面涉及一種使得能夠在與通用串行總線(usb)設(shè)備通信的計(jì)算機(jī)上實(shí)現(xiàn)usb設(shè)備的次級(jí)功能的一個(gè)或多個(gè)不受支持的特征的方法,其中,計(jì)算機(jī)的操作系統(tǒng)不具有需要被映射到usb設(shè)備以使得能夠?qū)崿F(xiàn)所述usb設(shè)備的次級(jí)功能的不受支持的特征所需的驅(qū)動(dòng)器和/或.inf文件。方法可以包括提供與計(jì)算機(jī)和用戶的電子設(shè)備通信的usb設(shè)備。方法還包括向usb設(shè)備提供主功能和次級(jí)功能,并且將所需的驅(qū)動(dòng)器和/或.inf存儲(chǔ)在usb設(shè)備上的文件中。方法還包括使用控件以使得用戶能夠選擇次級(jí)功能,并且當(dāng)次級(jí)功能被選擇時(shí),將所需的驅(qū)動(dòng)器從usb設(shè)備傳送至計(jì)算機(jī)。這使得計(jì)算機(jī)能夠?qū)⑺栩?qū)動(dòng)器映射至usb設(shè)備從而在計(jì)算機(jī)上實(shí)現(xiàn)次級(jí)功能。
根據(jù)本文提供的描述,其他應(yīng)用領(lǐng)域?qū)⒆兊妹黠@。該發(fā)明內(nèi)容中的描述和具體示例僅旨在用于說明的目的并且不旨在限制本公開的范圍。
附圖說明
本文描述的附圖僅用于說明的目的,并且不旨在以任何方式限制本公開的范圍。
圖1是示出了可以如何將不受支持的usb設(shè)備的.inf文件呈現(xiàn)給目標(biāo)計(jì)算機(jī)的操作系統(tǒng)而無需廣域網(wǎng)(例如因特網(wǎng))連接并且無需將單獨(dú)介質(zhì)上的.inf文件直接提供給目標(biāo)計(jì)算機(jī)的高級(jí)框圖;
圖2是示出了可以使用圖1所示的部件執(zhí)行以將設(shè)備驅(qū)動(dòng)器從不受支持的usb設(shè)備加載到目標(biāo)計(jì)算機(jī)的操作系統(tǒng)上的多個(gè)操作的流程圖;以及
圖3是示出了本公開的用于將串行控制臺(tái)功能實(shí)現(xiàn)為usb設(shè)備的次級(jí)功能的一個(gè)具體實(shí)現(xiàn)方式的流程圖。
具體實(shí)施方式
下面的描述本質(zhì)上僅僅是示例性的,并且不旨在限制本公開、應(yīng)用或用途。應(yīng)理解,在整個(gè)附圖中,相應(yīng)的附圖標(biāo)記指示相同或相應(yīng)的部件和特征。
參照?qǐng)D1,其示出了與目標(biāo)設(shè)備(在本示例中,目標(biāo)計(jì)算機(jī)12)的usb端口12b通信的usb設(shè)備10的高級(jí)圖。目標(biāo)計(jì)算機(jī)12具有操作系統(tǒng)12a,操作系統(tǒng)12a包括與各種usb設(shè)備進(jìn)行通信所需要的各種usb驅(qū)動(dòng)器,但在這個(gè)例子中usb裝置10是“不受支持”的。在該示例中將操作系統(tǒng)假定成來自微軟公司的
為了說明usb設(shè)備10的上述支持和不受支持功能,圖1將usb設(shè)備示出為具有主功能14a和次級(jí)功能14b二者。主功能14a在該示例中可以由三個(gè)受支持的usb特征14a1、14a2和14a3(例如,分別為hid、大容量存儲(chǔ)設(shè)備和智能卡)來實(shí)現(xiàn)。次級(jí)功能14b具有usb大容量存儲(chǔ)設(shè)備14b1,并且至少具有一個(gè)不受支持的usb功能14b2。
次級(jí)功能14b可以經(jīng)由開關(guān)10a或經(jīng)由軟件命令10c來選擇。例如,在使用運(yùn)行在用戶正在使用的遠(yuǎn)程計(jì)算機(jī)/終端24上的軟件(例如dsview管理軟件或經(jīng)由遠(yuǎn)程調(diào)試應(yīng)用程序)時(shí),軟件命令可能由用戶潛在地發(fā)送。
usb設(shè)備10還包括“重置”開關(guān)10b。開關(guān)10a和開關(guān)10b可以是按鈕開關(guān),但是應(yīng)理解,可以使用其它類型的開關(guān)。對(duì)于該示例,usb設(shè)備10的主功能14a可以被認(rèn)為是在usb設(shè)備被耦接至目標(biāo)計(jì)算機(jī)12并由從usb端口12b接收到的電力而通電時(shí)usb設(shè)備進(jìn)入的默認(rèn)模式。因此,當(dāng)usb設(shè)備最初耦接至目標(biāo)計(jì)算機(jī)12的usb端口12b并且首次通電時(shí),不需要驅(qū)動(dòng)開關(guān)10a或開關(guān)10b中的任一個(gè)以使得usb設(shè)備10開始執(zhí)行其主功能14a。
在其次級(jí)功能14b中,usb設(shè)備10提供不受支持的特征以執(zhí)行不同的功能。換句話說,次級(jí)功能14b不完全被支持;可以被部分支持,這意味著
需要驅(qū)動(dòng)開關(guān)10a(或經(jīng)由軟件命令10c驅(qū)動(dòng))以啟動(dòng)usb設(shè)備10的次級(jí)功能14b。按壓“重置”按鈕10b執(zhí)行usb設(shè)備10的硬件重置(即硬重置)。這將重置usb設(shè)備10以執(zhí)行其主要能14a。此外,可以重置usb設(shè)備10以經(jīng)由軟件重置來執(zhí)行其主功能14a。例如,可以通過從與usb設(shè)備10通信的網(wǎng)絡(luò)交換機(jī)、計(jì)算機(jī)或終端24提供軟件重置信號(hào)來重置usb設(shè)備10。
該示例中的usb設(shè)備10包括:usb描述符15a,其詳細(xì)說明哪些功能由主功能14a來支持;以及第二usb描述符15b,其詳細(xì)說明哪些功能由次級(jí)功能14b來支持。當(dāng)使用針對(duì)主功能15a的usb描述符通過usb20將主功能14a枚舉至
參照?qǐng)D2,流程圖100示出了本公開的usb設(shè)備10的軟件的操作的一個(gè)示例。在操作102處,usb設(shè)備10耦接至目標(biāo)計(jì)算機(jī)12的usb端口12b以開始啟用usb設(shè)備的主功能14a操作的處理。在操作104處,usb設(shè)備10將包括設(shè)備的供應(yīng)商/產(chǎn)品id和支持的usb特征的其存儲(chǔ)的usb描述15a發(fā)送至目標(biāo)計(jì)算機(jī)12以實(shí)現(xiàn)主功能14a的操作。在操作106處,目標(biāo)計(jì)算機(jī)12接收由usb設(shè)備10提供的針對(duì)主功能操作的usb描述符15a。在操作108處,
在操作112處,檢查usb設(shè)備10上的次級(jí)功能按鈕或開關(guān)10a是否被驅(qū)動(dòng)(或者假定不使用次級(jí)功能按鈕或開關(guān)10a,檢查是否接收到軟件命令10c)。如果沒有檢測(cè)到對(duì)次級(jí)功能按鈕10a的驅(qū)動(dòng)(或軟件命令10c),則重復(fù)操作110。如果次級(jí)功能按鈕10a被檢測(cè)為已經(jīng)被驅(qū)動(dòng)(或已經(jīng)檢測(cè)到軟件命令10c),則在操作114處,usb設(shè)備10執(zhí)行熱插拔操作(即,其執(zhí)行軟件usb斷開,然后再連接到usb總線)。在操作116處,usb設(shè)備10經(jīng)由.inf文件16(或腳本文件)來提供針對(duì)次級(jí)功能15b的usb描述符,其包含usb大容量存儲(chǔ)設(shè)備14a1和支持次級(jí)功能所需的文件。在操作118處,usb大容量存儲(chǔ)設(shè)備14a1在目標(biāo)計(jì)算機(jī)12上顯示有.inf文件16(即,驅(qū)動(dòng)器安裝文件)和/或支持usb設(shè)備10的usb次級(jí)功能14b的操作所需的任何其他文件。
在操作120處,當(dāng)
在操作124處,檢查以確定是否檢測(cè)到軟件或硬件重置。硬件重置將經(jīng)由用戶對(duì)重置開關(guān)10b的驅(qū)動(dòng)進(jìn)行。如果檢測(cè)到任何類型的重置,則重新執(zhí)行操作102至110。如果沒有檢測(cè)到重置,則usb設(shè)備10下的操作被配置成如操作122所指示的那樣繼續(xù)執(zhí)行次級(jí)功能14b。
雖然,usb設(shè)備10被描述為具有主功能14a和可以被選擇啟動(dòng)的次級(jí)功能14b,但還可以使用本公開的教導(dǎo)在一個(gè)usb設(shè)備上包括三個(gè)或更多個(gè)功能。例如,如果通過開關(guān)10a或通過軟件命令10c選擇了次級(jí)功能14b以實(shí)現(xiàn)本來不受支持的串行控制臺(tái)功能,則串行控制臺(tái)功能可以由用戶使用以配置第三不受支持的功能。在該示例中,用戶可以使用串行控制臺(tái)功能以向目標(biāo)計(jì)算機(jī)12提供一個(gè)或更多個(gè)另外的.inf文件或驅(qū)動(dòng)器,以使得能夠在目標(biāo)計(jì)算機(jī)12上實(shí)現(xiàn)第三或“第三級(jí)”不受支持的功能。替選地,多于一個(gè)次級(jí)功能有可能由開關(guān)(或有一個(gè)或更多個(gè)軟件命令)的一些組合被啟用,通過所述開關(guān)的組合用戶能夠選擇性地啟動(dòng)兩個(gè)或更多個(gè)不同的不受支持的功能中的一個(gè)不受支持的功能。在該情況下,usb大容量存儲(chǔ)設(shè)備14b1會(huì)加載有與每個(gè)不受支持的功能相對(duì)應(yīng)的適當(dāng).inf文件。
usb設(shè)備10及其操作方法因此形成了單個(gè)usb設(shè)備可以提供有兩個(gè)或兩個(gè)以上功能的手段,這些功能中的一個(gè)或更多個(gè)不被
usb設(shè)備10的另一優(yōu)點(diǎn)在于:它可以被提供有軟件更新和/或其次級(jí)功能可以經(jīng)由軟件更新來改變,而不需要對(duì)usb設(shè)備10的任何硬件修改。以該方式,可以通過軟件來更新現(xiàn)有的usb設(shè)備10以根據(jù)用戶的需求變化來執(zhí)行不同的次級(jí)功能。
將進(jìn)一步參照?qǐng)D1和圖3,描述usb設(shè)備10的一個(gè)具體實(shí)現(xiàn),其中,usb設(shè)備操作為kvm(鍵盤/視頻/鼠標(biāo))設(shè)備,并且更具體地操作為數(shù)字機(jī)架接口盒(“drip”),其提供kvm設(shè)備功能,以實(shí)現(xiàn)遠(yuǎn)程計(jì)算機(jī)/終端24和計(jì)算機(jī)12之間的kvm會(huì)話。因此,在本示例中應(yīng)理解,用作kvm設(shè)備的usb裝置10,將來自遠(yuǎn)程計(jì)算機(jī)/終端24的鍵盤和鼠標(biāo)信號(hào)傳送至計(jì)算機(jī)12(例如作為網(wǎng)絡(luò)上的以太網(wǎng)數(shù)據(jù)包),并且將來自計(jì)算機(jī)12的視頻作為模擬信號(hào)傳送回遠(yuǎn)程計(jì)算機(jī)/終端24。
然而,當(dāng)用作kvm設(shè)備時(shí),由于usb設(shè)備10不具有專用串行端口(例如rs-232端口),因此usb設(shè)備10通常不能夠提供串行控制臺(tái)能力。在kvm應(yīng)用中,通常需要串行控制臺(tái)以使得用戶能夠執(zhí)行初始調(diào)試(例如設(shè)置ip地址、升級(jí)等)以及發(fā)出kvm設(shè)備的出廠默認(rèn)恢復(fù)。因此,如果出現(xiàn)用戶無法訪問usb設(shè)備10的情況,則用戶通常會(huì)需要串行控制臺(tái)以提供執(zhí)行重置usb設(shè)備10以及重新建立kvm會(huì)話所需的各種操作的必要命令。本公開通過使usb裝置10能夠被配置有作為次級(jí)功能14b的串行控制臺(tái)功能來克服顯著的限制。
具體參照?qǐng)D3,流程圖200示出了可以被執(zhí)行以提供usb設(shè)備10的串行端口功能的各個(gè)操作。應(yīng)當(dāng)理解的是,如操作202處所指示的,在該示例中usb設(shè)備10操作為具有串行控制臺(tái)能力的獨(dú)立drip(即,“sdrip”),并且被插入運(yùn)行microsoft
在操作204處,用戶驅(qū)動(dòng)次級(jí)功能開關(guān)10a(或替選地發(fā)送軟件命令),這在該示例中可以被標(biāo)記或理解為提供“串行控制臺(tái)”功能。如果使用物理開關(guān),則用戶優(yōu)選驅(qū)動(dòng)開關(guān)10a(或推動(dòng)或滑動(dòng)或切換,這取決于所采用的具體開關(guān))至少約1秒但優(yōu)選小于約5秒。驅(qū)動(dòng)開關(guān)10a持續(xù)該間隔,通知被命令的usb設(shè)備10進(jìn)入操作的串行控制臺(tái)模式。作為響應(yīng),在操作205處,usb大容量存儲(chǔ)設(shè)備14a1被枚舉和安裝。在操作206處,向用戶呈現(xiàn)usb大容量存儲(chǔ)設(shè)備14a1,usb大容量存儲(chǔ)設(shè)備14a1包含sdrip.inf和readme.txt文件.在操作207處,usb虛擬串行端口設(shè)備被枚舉,然后
在操作212,用戶現(xiàn)在可以通過使用運(yùn)行作為usb虛擬串行端口的usb裝置10連同適當(dāng)?shù)膯为?dú)串行控制臺(tái)軟件(例如開源putty終端模擬器)打開串行控制臺(tái)。
如果檢查在操作208處確定用戶訪問控制被限制,則在操作214處初始安裝失敗。在該情況下,
雖然描述了各種實(shí)施方式,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到可以在不背離本公開的情況下作出修改或變型。本示例示出了各種實(shí)施方式,并且不旨在限制本公開。因此,說明書和權(quán)利要求應(yīng)該進(jìn)行寬泛的理解,只存在鑒于相關(guān)現(xiàn)有技術(shù)而必要的那些限制。