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

一種實(shí)現(xiàn)usb設(shè)備共享使用的方法及系統(tǒng)的制作方法

文檔序號(hào):7682124閱讀:429來源:國知局
專利名稱:一種實(shí)現(xiàn)usb設(shè)備共享使用的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)USB (Universal Serial Bus, 通用串行總線)設(shè)備共享使用的方法及系統(tǒng)。
背景技術(shù)
TCP ( Transmission Control Protocol,傳輸控制協(xié)議)是TCP/IP協(xié)議棧
中的傳輸層協(xié)議,它通過序列確認(rèn)以及包重發(fā)機(jī)制,提供可靠的數(shù)據(jù)流發(fā)送 和到應(yīng)用程序的虛擬連接服務(wù)。與IP協(xié)議相結(jié)合,組成了因特網(wǎng)協(xié)議的核 心。
TCP通過面向連接的、端到端的可靠數(shù)據(jù)報(bào)發(fā)送來保證可靠性。TCP在 字節(jié)上加上一個(gè)遞進(jìn)的確認(rèn)序列號(hào)來告訴接收者發(fā)送者期望收到的下一個(gè) 字節(jié)。如果在規(guī)定時(shí)間內(nèi),沒有收到關(guān)于這個(gè)包的確認(rèn)響應(yīng),發(fā)送端重新發(fā) 送此包。TCP的可靠機(jī)制允許設(shè)備處理丟失、延時(shí)、重復(fù)及讀錯(cuò)的包。超時(shí) 機(jī)制允許設(shè)備監(jiān)測(cè)丟失包并請(qǐng)求重發(fā)。
USB是主機(jī)和外圍設(shè)備之間的一種連接。USB最初是為了替代許多不同 的低速總線(包括并行、串行、和鍵盤連接)而設(shè)計(jì)的,它以單一類型的總線 連接各種不同類型的設(shè)備。USB的發(fā)展已經(jīng)超越了這些低速的連接方式,它現(xiàn) 在可以支持幾乎所有可以連接到PC上的設(shè)備。最新的USB規(guī)范修訂增加了理 論上高達(dá)480Mbps的高速連接。
USB在技術(shù)層面上是非常簡(jiǎn)單的,主機(jī)通過USB輪詢各種不同的外圍設(shè) 備。USB只擔(dān)當(dāng)設(shè)備和主控制器之間通信通道的角色,對(duì)它所發(fā)送的數(shù)據(jù)沒有 任何特殊的內(nèi)容和結(jié)構(gòu)上的要求。加上它設(shè)計(jì)上與生倶來的熱插拔能力,使得 USB成為一個(gè)便利和低成本的機(jī)制,它可以連接多個(gè)設(shè)備到計(jì)算機(jī),而不需要
5關(guān)閉系統(tǒng)、打開機(jī)箱、檸螺絲釘和插拔電線。
隨著個(gè)人計(jì)算機(jī)的使用越來越普及,相應(yīng)外圍設(shè)備的使用也隨之快速增 長(zhǎng)。然而,這些外圍設(shè)備通常只能連接在一臺(tái)計(jì)算機(jī)上使用。如何在不改變 現(xiàn)有系統(tǒng)環(huán)境前提下,實(shí)現(xiàn)外圍設(shè)備在兩臺(tái)及多臺(tái)計(jì)算機(jī)間的共享使用,成 為近來的研究重點(diǎn)。

發(fā)明內(nèi)容
本發(fā)明提供一種實(shí)現(xiàn)USB設(shè)備共享使用的方法及系統(tǒng),用以解決現(xiàn)有技 術(shù)中USB設(shè)備通常只能連接在一 臺(tái)計(jì)算機(jī)上使用,無法在多臺(tái)計(jì)算機(jī)間共享 使用的問題。
本發(fā)明所述技術(shù)方案包括
一種實(shí)現(xiàn)USB設(shè)備共享使用的方法,包括步驟
A、 連接有USB設(shè)備的服務(wù)器端主機(jī)與客戶端主機(jī)建立連接,客戶端主機(jī) 根據(jù)接收到的USB設(shè)備信息映射出相應(yīng)的USB設(shè)備,并加載相應(yīng)的USB設(shè) 備驅(qū)動(dòng);
B、 客戶端主機(jī)欲訪問所述USB設(shè)備時(shí),向所述連接有USB設(shè)備的服 務(wù)器端主機(jī)發(fā)送USB設(shè)備操作請(qǐng)求;
C、 服務(wù)器端主機(jī)收到所述USB設(shè)備操作請(qǐng)求后,從中解析出USB請(qǐng) 求塊,以此實(shí)現(xiàn)對(duì)USB設(shè)備的操作。
所述步驟A具體包括步驟
當(dāng)連接有USB設(shè)備的服務(wù)器端主機(jī)與客戶端主機(jī)建立連接時(shí),客戶端主 機(jī)的虛擬主機(jī)控制器接口驅(qū)動(dòng)將端口變化情況通知客戶端主機(jī)的USB核心 層驅(qū)動(dòng);
客戶端主機(jī)的USB核心層驅(qū)動(dòng)根據(jù)接收的USB設(shè)備信息在虛擬總線上 映射出相應(yīng)的USB設(shè)備,并加載對(duì)應(yīng)的USB設(shè)備驅(qū)動(dòng)。 所述步驟B具體包括步驟當(dāng)客戶端主機(jī)中的應(yīng)用程序欲訪問所述USB設(shè)備時(shí),向該USB設(shè)備的 驅(qū)動(dòng)發(fā)送I/0操作請(qǐng)求;
所述USB設(shè)備的驅(qū)動(dòng)程序?qū)/O操作請(qǐng)求轉(zhuǎn)換為USB命令,然后將USB 命令封裝成USB請(qǐng)求塊格式后發(fā)送給客戶端主機(jī)的USB核心層驅(qū)動(dòng);
客戶端主機(jī)的USB核心層驅(qū)動(dòng)將接收到的USB請(qǐng)求塊發(fā)送給客戶端主 機(jī)的虛擬主才幾控制器4妄口驅(qū)動(dòng);
客戶端主機(jī)的虛擬主機(jī)控制器接口驅(qū)動(dòng)將接收到的USB請(qǐng)求塊按網(wǎng)絡(luò) 數(shù)據(jù)格式進(jìn)行打包封裝后發(fā)送給遠(yuǎn)程的服務(wù)器端主機(jī)。
所述步驟C具體包括步驟
服務(wù)器端主機(jī)的虛擬設(shè)備驅(qū)動(dòng)接收客戶端主機(jī)發(fā)送的數(shù)據(jù)包,從此數(shù)據(jù) 包中解析出USB請(qǐng)求塊,將其發(fā)送給服務(wù)器端主機(jī)的USB核心層驅(qū)動(dòng);
服務(wù)器端主機(jī)的USB核心層驅(qū)動(dòng)將接收到的USB請(qǐng)求塊發(fā)送給服務(wù)器 端主^L的USB主^U空制器驅(qū)動(dòng);
USB主機(jī)控制器驅(qū)動(dòng)將所述USB請(qǐng)求塊轉(zhuǎn)換為傳輸描述符后發(fā)送給相 應(yīng)的USB設(shè)備,以此實(shí)現(xiàn)對(duì)該USB設(shè)備的I/O操作。
所述客戶端主機(jī)和服務(wù)器端主機(jī)之間采用TCP協(xié)議通過IP網(wǎng)絡(luò)傳輸U(kuò)SB 請(qǐng)求塊。
一種實(shí)現(xiàn)USB設(shè)備共享使用的系統(tǒng),包括客戶端主機(jī)和服務(wù)器端主機(jī), 其中,
客戶端主機(jī),與連接有USB設(shè)備的服務(wù)器端主機(jī)連接,用于根據(jù)接收到 的USB設(shè)備信息映射出相應(yīng)的USB設(shè)備,并加載相應(yīng)的USB設(shè)備驅(qū)動(dòng),以 及在欲訪問所述USB設(shè)備時(shí),向所述服務(wù)器端主機(jī)發(fā)送USB設(shè)備操作請(qǐng)求;
服務(wù)器端主機(jī),用于在收到所述USB設(shè)備操作請(qǐng)求后,從中解析出USB 請(qǐng)求塊,以此實(shí)現(xiàn)對(duì)USB設(shè)備的操作。
所述客戶端主機(jī)中包含USB設(shè)備驅(qū)動(dòng)模塊、USB核心層驅(qū)動(dòng)模塊和虛 擬主機(jī)控制器接口驅(qū)動(dòng)模塊,其中,USB設(shè)備驅(qū)動(dòng)才莫塊,用于接收客戶端主機(jī)中的應(yīng)用程序發(fā)出的USB設(shè) 備I/0操作請(qǐng)求,將該操作請(qǐng)求轉(zhuǎn)換為USB命令,然后將USB命令封裝成 USB請(qǐng)求塊格式后發(fā)送給客戶端主機(jī)上的USB核心層驅(qū)動(dòng)模塊;
USB核心層驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊發(fā)送給客戶端主機(jī) 上的虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊;
虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊按網(wǎng)絡(luò)數(shù) 據(jù)格式進(jìn)行打包封裝后發(fā)送給遠(yuǎn)程的服務(wù)器端主機(jī)。
所述服務(wù)器端主機(jī)中包含虛擬設(shè)備驅(qū)動(dòng)模塊、USB核心層驅(qū)動(dòng)模塊和 USB主機(jī)控制器驅(qū)動(dòng)模塊,其中,
虛擬設(shè)備驅(qū)動(dòng)模塊,用于接收客戶端主機(jī)發(fā)送的數(shù)據(jù)包,從此數(shù)據(jù)包中 解析出USB請(qǐng)求塊,將其發(fā)送給服務(wù)器端主機(jī)上的USB核心層驅(qū)動(dòng)模塊;
USB核心層驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊發(fā)送給服務(wù)器端主 機(jī)的USB主機(jī)控制器驅(qū)動(dòng)模塊;
USB主機(jī)控制器驅(qū)動(dòng)模塊,用于將所述USB請(qǐng)求塊轉(zhuǎn)換為傳輸描述符 后發(fā)送給相應(yīng)的USB設(shè)備,以此實(shí)現(xiàn)對(duì)該USB設(shè)備的1/0操作。
本發(fā)明有益效果如下
本發(fā)明所述技術(shù)方案通過直接在本地客戶端主機(jī)上實(shí)現(xiàn)對(duì)遠(yuǎn)程服務(wù)器連 接的USB設(shè)備的虛擬映射,將虛擬后的USB設(shè)備當(dāng)成本地實(shí)際的設(shè)備使用, 從而實(shí)現(xiàn)對(duì)遠(yuǎn)端服務(wù)器上連接的USB接口設(shè)備進(jìn)行共享使用。本發(fā)明打破了 常規(guī)網(wǎng)絡(luò)傳輸?shù)墓蚕砑?jí)別一直停留在文件級(jí)別的傳統(tǒng),解決了傳統(tǒng)設(shè)備共享方 法中不肯k對(duì)設(shè)備進(jìn)行高級(jí)訪問操作的缺點(diǎn),將網(wǎng)絡(luò)共享級(jí)別深入到設(shè)備級(jí)共 享,使終端用戶能夠像使用本地USB設(shè)備一樣的共享使用遠(yuǎn)端服務(wù)器上連接 的USB接口設(shè)備。


圖1為實(shí)現(xiàn)本發(fā)明的原理功能框圖;圖2為本發(fā)明的具體設(shè)計(jì)原理圖3為本發(fā)明所述實(shí)現(xiàn)USB設(shè)備共享使用的方法的流程圖; 圖4為本發(fā)明所述實(shí)現(xiàn)USB設(shè)備共享使用的系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施例方式
本發(fā)明的主要技術(shù)思想是,在客戶端主機(jī)上將對(duì)USB設(shè)備操作的具體 請(qǐng)求命令按網(wǎng)絡(luò)協(xié)議進(jìn)行打包封裝,包含有URB ( USB Request Block, USB 請(qǐng)求塊)命令的網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過以太網(wǎng)傳輸?shù)竭h(yuǎn)端接有USB設(shè)備的服務(wù)器端 主機(jī)上,服務(wù)器端主機(jī)首先接收網(wǎng)絡(luò)數(shù)據(jù),再把網(wǎng)絡(luò)數(shù)據(jù)中包含的URB命 令提取出來,將這些命令發(fā)送到具體的USB設(shè)備上,從而實(shí)現(xiàn)對(duì)USB設(shè)備 的具體操作。本發(fā)明解決了傳統(tǒng)設(shè)備共享方法中不能對(duì)設(shè)備進(jìn)行高級(jí)訪問操作 的缺點(diǎn),本發(fā)明打破常規(guī)網(wǎng)絡(luò)傳輸?shù)墓蚕砑?jí)別一直停留在文件級(jí)別的傳統(tǒng),將 網(wǎng)絡(luò)共享級(jí)別深入到設(shè)備級(jí)共享,使客戶端主機(jī)能夠像使用本地USB設(shè)備一 樣的對(duì)遠(yuǎn)端服務(wù)器端主機(jī)連接的USB設(shè)備進(jìn)行共享使用。
下面將結(jié)合各個(gè)附圖對(duì)本發(fā)明的具體實(shí)現(xiàn)過程做進(jìn)一步詳細(xì)的說明。
圖1為實(shí)現(xiàn)本發(fā)明的原理功能框圖,由圖l可見,傳統(tǒng)的設(shè)備接口驅(qū)動(dòng) 才莫式為用戶端應(yīng)用程序直接調(diào)用PDD (per-device driver,對(duì)應(yīng)設(shè)備驅(qū)動(dòng))實(shí) 現(xiàn)對(duì)相應(yīng)設(shè)備的訪問操作。這種方式存在著驅(qū)動(dòng)程序與設(shè)備間——對(duì)應(yīng),難 以擴(kuò)展的缺陷?,F(xiàn)有技術(shù)中設(shè)備接口驅(qū)動(dòng)模式發(fā)展為在驅(qū)動(dòng)與設(shè)備間擴(kuò)展出 一個(gè)總線驅(qū)動(dòng),設(shè)備掛載在這個(gè)總線上,從而遵守統(tǒng)一的總線驅(qū)動(dòng)。本發(fā)明 在總線驅(qū)動(dòng)位置擴(kuò)展出一個(gè)虛擬總線驅(qū)動(dòng),它不與具體的設(shè)備進(jìn)行交互,而 是把對(duì)設(shè)備的操作命令進(jìn)行網(wǎng)絡(luò)打包進(jìn)而通過網(wǎng)絡(luò)發(fā)送給遠(yuǎn)端的具體設(shè)備。
USB主機(jī)驅(qū)動(dòng)程序的體系層次包括USB PDDs (USB設(shè)備驅(qū)動(dòng))、USB Core Driver ( USB核心層驅(qū)動(dòng))和USB HCD ( Host Controller Deriver,主機(jī) 控制器驅(qū)動(dòng))。USB設(shè)備驅(qū)動(dòng)控制各個(gè)對(duì)應(yīng)的USB設(shè)備,負(fù)責(zé)接收應(yīng)用程序 對(duì)USB設(shè)備具體的I/O操作請(qǐng)求,并把這些請(qǐng)求轉(zhuǎn)換為URBs格式發(fā)送給USB核心驅(qū)動(dòng)層;USB核心層驅(qū)動(dòng)主要負(fù)責(zé)USB驅(qū)動(dòng)管理和協(xié)議處理,向 上為設(shè)備驅(qū)動(dòng)提供編程接口,向下為USB主機(jī)控制器驅(qū)動(dòng)提供編程接口 , 通過全局變量維護(hù)整個(gè)系統(tǒng)的USB設(shè)備信息、完成設(shè)備熱插拔控制、總線 數(shù)據(jù)傳輸控制等;USB主機(jī)控制器驅(qū)動(dòng)是各具體主控制器硬件的驅(qū)動(dòng)程序, 用于接收核心驅(qū)動(dòng)層發(fā)來的URBs,并4巴這些URBs分解成TDs (傳輸描述 符,Transfer Descriptors )與具體端口進(jìn)行操作,最后由具體的硬件完成I/O 請(qǐng)求。
圖2所示為本發(fā)明的具體設(shè)計(jì)原理圖,由圖2可見,為實(shí)現(xiàn)本發(fā)明的功 能,本發(fā)明在客戶端主機(jī)上設(shè)計(jì)一個(gè)VHCI Driver (虛擬主機(jī)控制器接口驅(qū) 動(dòng),Virtual Host Controller Interface Driver)驅(qū)動(dòng)來代替USB HCD的功能。 VHCI驅(qū)動(dòng)在這里可以效仿USB Root Hub ( USB根集線器)的功能,當(dāng)服務(wù) 器端主機(jī)的USB設(shè)備通過IP網(wǎng)絡(luò)被連接到客戶端主機(jī)上時(shí),VHCI驅(qū)動(dòng)就 能通知USB核心層驅(qū)動(dòng)端口狀態(tài)的變化,從而USB核心層驅(qū)動(dòng)能在客戶端 主機(jī)上虛擬出一個(gè)USB設(shè)備。該VHCI驅(qū)動(dòng)可以^皮看成是一個(gè)圖1中所示的 虛擬總線驅(qū)動(dòng),它負(fù)責(zé)處理USB核心層驅(qū)動(dòng)發(fā)來的URBs隊(duì)列,每一個(gè)URB 經(jīng)過VHCI驅(qū)動(dòng)轉(zhuǎn)換成IP網(wǎng)絡(luò)數(shù)據(jù)包后被傳送到遠(yuǎn)端機(jī)器上;在遠(yuǎn)程服務(wù)器 端主機(jī)上的VPD Driver (虛擬設(shè)備驅(qū)動(dòng),Virtual Per-Device Driver)模塊負(fù) 責(zé)接收這些數(shù)據(jù),虛擬設(shè)備驅(qū)動(dòng)在這里虛擬的是USB設(shè)備驅(qū)動(dòng)的功能,它 負(fù)責(zé)把接收到的IP網(wǎng)絡(luò)數(shù)據(jù)包中的URBs解析出來,再把每一條URB命令 發(fā)送到本地具體的USB設(shè)備上去,從而實(shí)現(xiàn)對(duì)設(shè)備的訪問。最后再把操作 結(jié)果通過網(wǎng)絡(luò)發(fā)送給客戶端主機(jī)。
圖3為本發(fā)明所述實(shí)現(xiàn)USB設(shè)備共享使用的方法的流程圖,具體包括如 下步驟
步驟10、當(dāng)遠(yuǎn)程連接有USB設(shè)備的服務(wù)器端主機(jī)通過網(wǎng)絡(luò)與客戶端主 機(jī)相連時(shí),客戶端主機(jī)中的虛擬主機(jī)控制器接口驅(qū)動(dòng)會(huì)通知客戶端主機(jī)中的 USB核心層驅(qū)動(dòng)相關(guān)端口的變化。
10步驟11、客戶端主機(jī)中的USB核心層驅(qū)動(dòng)根據(jù)接收到的USB設(shè)備信息 在虛擬總線上映射出一個(gè)相應(yīng)的USB設(shè)備,并加載對(duì)應(yīng)的USB設(shè)備驅(qū)動(dòng)。
步驟12、在客戶端主機(jī)中的應(yīng)用程序需要對(duì)USB設(shè)備進(jìn)行訪問操作時(shí), 首先調(diào)用該USB設(shè)備對(duì)應(yīng)的USB設(shè)備驅(qū)動(dòng)。
步驟13、 USB設(shè)備驅(qū)動(dòng)接收應(yīng)用程序發(fā)來的1/0操作請(qǐng)求,將這些I/0 請(qǐng)求轉(zhuǎn)換成一 系列具體的USB命令,再把這些USB命令封裝成URBs格式 后發(fā)送給USB核心層驅(qū)動(dòng)。
步驟14、 USB核心層驅(qū)動(dòng)將從USB設(shè)備驅(qū)動(dòng)接收到的URBs發(fā)送給虛 擬主機(jī)控制器接口驅(qū)動(dòng)。
步驟15、虛擬主機(jī)控制器接口驅(qū)動(dòng)負(fù)責(zé)處理從核心層驅(qū)動(dòng)接收到的 URBs隊(duì)列,把每一個(gè)URB封裝成IP網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到遠(yuǎn)程服務(wù)器端。
步驟16、服務(wù)器端主機(jī)上的虛擬設(shè)備驅(qū)動(dòng)接收從客戶端主機(jī)發(fā)送來的 IP網(wǎng)絡(luò)數(shù)據(jù)包,并從此數(shù)據(jù)包中解析出實(shí)際的URBs,再把這些URBs發(fā)送 給服務(wù)器端主機(jī)上的USB核心層驅(qū)動(dòng)。
步驟17、服務(wù)器端主機(jī)上的USB核心層驅(qū)動(dòng)將從虛擬設(shè)備驅(qū)動(dòng)接收到 的URBs發(fā)送給服務(wù)器端主機(jī)上的USB主機(jī)控制器驅(qū)動(dòng)。
步驟18、服務(wù)器端主機(jī)上的USB主機(jī)控制器驅(qū)動(dòng)是實(shí)際USB主機(jī)控制 器芯片的驅(qū)動(dòng)程序,實(shí)際的USB設(shè)備與USB主機(jī)控制器芯片上的Hub相連。 USB主機(jī)控制器驅(qū)動(dòng)主要負(fù)責(zé)將USB核心層驅(qū)動(dòng)發(fā)送來的URBs轉(zhuǎn)換成一 系列具體的傳輸描述符(TDs),這些傳輸描述符對(duì)應(yīng)于實(shí)際的USB處理幀, 最后由主機(jī)控制器芯片完成對(duì)實(shí)際USB設(shè)備的I/O操作。
相應(yīng)于本發(fā)明上述方法,本發(fā)明進(jìn)而提出了一種實(shí)現(xiàn)USB設(shè)備共享使 用的系統(tǒng),請(qǐng)參閱圖4,該圖為本發(fā)明所述實(shí)現(xiàn)USB設(shè)備共享使用的系統(tǒng)的 結(jié)構(gòu)框圖,其主要包括客戶端主機(jī)和服務(wù)器端主機(jī),其中,
客戶端主機(jī),與連接有USB設(shè)備的服務(wù)器端主機(jī)連接,用于根據(jù)接收到 的USB設(shè)備信息映射出相應(yīng)的USB設(shè)備,并加載相應(yīng)的USB設(shè)備驅(qū)動(dòng),以及在欲訪問所述USB設(shè)備時(shí),向所述服務(wù)器端主機(jī)發(fā)逸USB設(shè)備操作請(qǐng)求;
服務(wù)器端主機(jī),用于在收到所述USB設(shè)備操作請(qǐng)求后,從中解析出USB 請(qǐng)求塊,以此實(shí)現(xiàn)對(duì)USB設(shè)備的操作。
所述客戶端主機(jī)中具體包含USB設(shè)備驅(qū)動(dòng)模塊、USB核心層驅(qū)動(dòng)模塊和 虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊,其中,
USB設(shè)備驅(qū)動(dòng)才莫塊,用于接收客戶端主機(jī)中的應(yīng)用程序發(fā)出的USB設(shè) 備I/0操作請(qǐng)求,將該操作請(qǐng)求轉(zhuǎn)換為USB命令,然后將USB命令封裝成 USB請(qǐng)求塊格式后發(fā)送給客戶端主機(jī)上的USB核心層驅(qū)動(dòng)模塊;
USB核心層驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊發(fā)送給客戶端主機(jī) 上的虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊;
虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊按網(wǎng)絡(luò)數(shù) 據(jù)格式進(jìn)行打包封裝后發(fā)送給遠(yuǎn)程的服務(wù)器端主機(jī)。
所述服務(wù)器端主機(jī)中具體包含虛擬設(shè)備驅(qū)動(dòng)模塊、USB核心層驅(qū)動(dòng)模塊 和USB主機(jī)控制器驅(qū)動(dòng)模塊,其中,
虛擬設(shè)備驅(qū)動(dòng)模塊,用于接收客戶端主機(jī)發(fā)送的數(shù)據(jù)包,從此數(shù)據(jù)包中 解析出USB請(qǐng)求塊,將其發(fā)送給服務(wù)器端主機(jī)上的USB核心層驅(qū)動(dòng)模塊;
USB核心層驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊發(fā)送給服務(wù)器端主 機(jī)的USB主機(jī)控制器驅(qū)動(dòng)模塊;
USB主機(jī)控制器驅(qū)動(dòng)模塊,用于將所述USB請(qǐng)求塊轉(zhuǎn)換為傳輸描述符 后發(fā)送給相應(yīng)的USB設(shè)備,以此實(shí)現(xiàn)對(duì)該USB設(shè)備的I/O操作。
本發(fā)明中,在IP網(wǎng)絡(luò)中傳送URBs采用的是TCP協(xié)議而不是UDP( User Datagram Protocol ,用戶數(shù)據(jù)報(bào)協(xié)議)協(xié)議。這是因?yàn)門CP是面向連接的, 在傳送過程中要進(jìn)行三次握手、重傳確認(rèn)等手段來保證數(shù)據(jù)傳輸?shù)目煽啃裕?確保數(shù)據(jù)一定傳送到接收者。而UDP是一種無連接的傳輸層協(xié)議,提供面 向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù),不提供對(duì)IP協(xié)議的可靠機(jī)制、流控制 以及錯(cuò)誤恢復(fù)功能等。所以這里選擇TCP協(xié)議來傳輸U(kuò)RBs數(shù)據(jù),確保主機(jī)
12端接收數(shù)據(jù)的準(zhǔn)確性與完整性。
本發(fā)明可實(shí)施的典型應(yīng)用場(chǎng)合刀片服務(wù)器系統(tǒng)中,服務(wù)器刀片通過本 發(fā)明去共享同一個(gè)USB設(shè)備。刀片服務(wù)器系統(tǒng)內(nèi)部有多個(gè)服務(wù)器刀片,運(yùn) 用本發(fā)明,每個(gè)刀片可以通過網(wǎng)絡(luò)共享使用一個(gè)USB設(shè)備,而無需每個(gè)刀 片都連接USB設(shè)備才能使用。這樣實(shí)現(xiàn)了使用的方便和設(shè)備的節(jié)約。
明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
1權(quán)利要求
1、一種實(shí)現(xiàn)USB設(shè)備共享使用的方法,其特征在于,包括步驟A、連接有USB設(shè)備的服務(wù)器端主機(jī)與客戶端主機(jī)建立連接,客戶端主機(jī)根據(jù)接收到的USB設(shè)備信息映射出相應(yīng)的USB設(shè)備,并加載相應(yīng)的USB設(shè)備驅(qū)動(dòng);B、客戶端主機(jī)欲訪問所述USB設(shè)備時(shí),向所述連接有USB設(shè)備的服務(wù)器端主機(jī)發(fā)送USB設(shè)備操作請(qǐng)求;C、服務(wù)器端主機(jī)收到所述USB設(shè)備操作請(qǐng)求后,從中解析出USB請(qǐng)求塊,以此實(shí)現(xiàn)對(duì)USB設(shè)備的操作。
2、 如權(quán)利要求l所述的方法,其特征在于,所述步驟A具體包括步驟 當(dāng)連接有USB設(shè)備的服務(wù)器端主機(jī)與客戶端主機(jī)建立連接時(shí),客戶端主機(jī)的虛擬主機(jī)控制器接口驅(qū)動(dòng)將端口變化情況通知客戶端主機(jī)的USB核心 層驅(qū)動(dòng);客戶端主機(jī)的USB核心層驅(qū)動(dòng)根據(jù)接收的USB設(shè)備信息在虛擬總線上 映射出相應(yīng)的USB設(shè)備,并加載對(duì)應(yīng)的USB設(shè)備驅(qū)動(dòng)。
3、 如權(quán)利要求l所述的方法,其特征在于,所述步驟B具體包括步驟 當(dāng)客戶端主機(jī)中的應(yīng)用程序欲訪問所述USB設(shè)備時(shí),向該USB設(shè)備的驅(qū)動(dòng)發(fā)送I/0操作請(qǐng)求;所述USB設(shè)備的驅(qū)動(dòng)程序?qū)/O操作請(qǐng)求轉(zhuǎn)換為USB命令,然后將USB 命令封裝成USB請(qǐng)求塊格式后發(fā)送給客戶端主機(jī)的USB核心層驅(qū)動(dòng);客戶端主機(jī)的USB核心層驅(qū)動(dòng)將接收到的USB請(qǐng)求塊發(fā)送給客戶端主 機(jī)的虛擬主機(jī)控制器接口驅(qū)動(dòng);客戶端主機(jī)的虛擬主機(jī)控制器接口驅(qū)動(dòng)將接收到的USB請(qǐng)求塊按網(wǎng)絡(luò) 數(shù)據(jù)格式進(jìn)行打包封裝后發(fā)送給遠(yuǎn)程的服務(wù)器端主機(jī)。
4、 如權(quán)利要求l所述的方法,其特征在于,所述步驟C具體包括步驟包中解析出USB請(qǐng)求塊,將其發(fā)送給服務(wù)器端主機(jī)的USB核心層驅(qū)動(dòng); 服務(wù)器端主機(jī)的USB核心層驅(qū)動(dòng)將接收到的USB請(qǐng)求塊發(fā)送給服務(wù)器端主機(jī)的USB主機(jī)控制器驅(qū)動(dòng);USB主機(jī)控制器驅(qū)動(dòng)將所述USB請(qǐng)求塊轉(zhuǎn)換為傳輸描述符后發(fā)送給相應(yīng)的USB設(shè)備,以此實(shí)現(xiàn)對(duì)該USB設(shè)備的I/O操作。
5、 如權(quán)利要求3或4所述的方法,其特征在于,所述客戶端主機(jī)和服務(wù) 器端主機(jī)之間采用TCP協(xié)議通過IP網(wǎng)絡(luò)傳輸U(kuò)SB請(qǐng)求塊。
6、 一種實(shí)現(xiàn)USB設(shè)備共享使用的系統(tǒng),其特征在于,包括客戶端主機(jī) 和服務(wù)器端主機(jī),其中,客戶端主機(jī),與連接有USB設(shè)備的服務(wù)器端主機(jī)連接,用于根據(jù)接收到 的USB設(shè)備信息映射出相應(yīng)的USB設(shè)備,并加載相應(yīng)的USB設(shè)備驅(qū)動(dòng),以 及在欲訪問所述USB設(shè)備時(shí),向所述服務(wù)器端主機(jī)發(fā)送USB設(shè)備操作請(qǐng)求;服務(wù)器端主機(jī),用于在收到所述USB設(shè)備操作請(qǐng)求后,從中解析出USB 請(qǐng)求塊,以此實(shí)現(xiàn)對(duì)USB設(shè)備的搡作。
7、 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述客戶端主機(jī)中包含USB 設(shè)備驅(qū)動(dòng)模塊、USB核心層驅(qū)動(dòng)模塊和虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊,其中,USB設(shè)備驅(qū)動(dòng)模塊,用于接收客戶端主機(jī)中的應(yīng)用程序發(fā)出的USB設(shè) 備I/0操作請(qǐng)求,將該操作請(qǐng)求轉(zhuǎn)換為USB命令,然后將USB命令封裝成 USB請(qǐng)求塊格式后發(fā)送給客戶端主機(jī)上的USB核心層驅(qū)動(dòng)模塊;USB核心層驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊發(fā)送給客戶端主機(jī) 上的虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊;虛擬主機(jī)控制器接口驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊按網(wǎng)絡(luò)數(shù) 據(jù)格式進(jìn)行打包封裝后發(fā)送給遠(yuǎn)程的服務(wù)器端主機(jī)。
8、 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述服務(wù)器端主機(jī)中包含 虛擬設(shè)備驅(qū)動(dòng)模塊、USB核心層驅(qū)動(dòng)模塊和USB主機(jī)控制器驅(qū)動(dòng)模塊,其 中,虛擬設(shè)備驅(qū)動(dòng)模塊,用于接收客戶端主機(jī)發(fā)送的數(shù)據(jù)包,從此數(shù)據(jù)包中解析出USB請(qǐng)求塊,將其發(fā)送給服務(wù)器端主機(jī)上的USB核心層驅(qū)動(dòng)模塊; USB核心層驅(qū)動(dòng)模塊,用于將接收到的USB請(qǐng)求塊發(fā)送給服務(wù)器端主機(jī)的USB主機(jī)控制器驅(qū)動(dòng)模塊;USB主機(jī)控制器驅(qū)動(dòng)模塊,用于將所述USB請(qǐng)求塊轉(zhuǎn)換為傳輸描述符后發(fā)送給相應(yīng)的USB設(shè)備,以此實(shí)現(xiàn)對(duì)該USB設(shè)備的I/O操作。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)USB設(shè)備共享使用的方法及系統(tǒng),所述方法包括連接有USB設(shè)備的服務(wù)器端主機(jī)與客戶端主機(jī)建立連接,客戶端主機(jī)根據(jù)接收到的USB設(shè)備信息映射出相應(yīng)的USB設(shè)備,并加載相應(yīng)的USB設(shè)備驅(qū)動(dòng),客戶端主機(jī)欲訪問所述USB設(shè)備時(shí),向所述連接有USB設(shè)備的服務(wù)器端主機(jī)發(fā)送USB設(shè)備操作請(qǐng)求,服務(wù)器端主機(jī)收到所述USB設(shè)備操作請(qǐng)求后,從中解析出USB請(qǐng)求塊,以此實(shí)現(xiàn)對(duì)USB設(shè)備的操作;所述系統(tǒng)包括客戶端主機(jī)和服務(wù)器端主機(jī)。本發(fā)明將網(wǎng)絡(luò)共享級(jí)別深入到設(shè)備級(jí)共享,使終端用戶能夠像使用本地USB設(shè)備一樣的共享使用遠(yuǎn)端服務(wù)器上連接的USB接口設(shè)備。
文檔編號(hào)H04L29/02GK101488941SQ20081000052
公開日2009年7月22日 申請(qǐng)日期2008年1月18日 優(yōu)先權(quán)日2008年1月18日
發(fā)明者洋 周 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平定县| 邓州市| 灌南县| 东安县| 准格尔旗| 萝北县| 大冶市| 奈曼旗| 桂东县| 汉川市| 屯昌县| 西昌市| 六盘水市| 尼玛县| 兴和县| 嘉祥县| 平顶山市| 高阳县| 防城港市| 庆云县| 独山县| 新泰市| 刚察县| 佛冈县| 奎屯市| 邵东县| 邢台市| 诸暨市| 秦皇岛市| 临海市| 卢氏县| 米易县| 察隅县| 容城县| 汉寿县| 高邑县| 安塞县| 建平县| 西和县| 土默特左旗| 故城县|