一種基於網絡的usb設備重定向系統的製作方法
2023-09-18 12:43:15 1
一種基於網絡的usb設備重定向系統的製作方法
【專利摘要】本發明提供了一種基於網絡的USB設備重定向系統,包括客戶端、服務端和無線網絡,所述客戶端上設有客戶端設備、客戶端應用程式和客戶端驅動,所述客戶端設備通過所述客戶端驅動與所述客戶端應用程式連接,所述服務端上設有虛擬設備、服務端應用程式和服務端驅動,所述虛擬設備通過所述服務端驅動與所述服務端應用程式連接,所述客戶端應用程式通過所述無線網絡與所述服務端應用程式建立數據通訊連接。本發明的技術方案提供了更多的設備和控制信息,減輕了伺服器端的負擔,且具有更好的安全性;同時增強了通用性,提高了設備兼容性,加大了設備使用方式的靈活度。
【專利說明】—種基於網絡的USB設備重定向系統
【技術領域】
[0001]本發明屬於設備重定向領域,涉及一種USB設備重定向系統,尤其涉及一種基於網絡的桌面虛擬化以及應用虛擬化的USB設備重定向系統。
【背景技術】
[0002]桌面虛擬化或應用虛擬化都是將計算放置在伺服器端,通過遠程傳輸協議將顯示投射到客戶端,同時將客戶端的IO時間轉發到伺服器端。
[0003]現在技術的應用虛擬化技術以及桌面虛擬化技術都是基於一種計算和IO分離的技術原理,即計算在伺服器上運行,而應用程式的顯示結果投放到遠端的客戶端上,即計算和IO分離。當然,客戶端的外設比如印表機,掃描儀等IO設備都會映射到伺服器上,用戶使用起來就和使用本地的設備一樣。
[0004]USB設備的數量非常多,是各種外設中最重要的一種外設,它包含並不限於USB存儲設備、USB攝像頭、USB掃描儀、USB加密設備。
[0005]由於USB設備是一種高速設備,USB2.0的規範定義的速度480Mbps,而普通的IP網絡的速度為千兆網絡,那麼在區域網的範圍內,usb over network(基於網絡的USB共享)在理論上是可以實現的。
【發明內容】
[0006]有鑑於此,本發明的目的是提供一種利用無線網絡將USB設備從客戶端連接到服務端的系統。
[0007]為達到上述目的,具體技術方案如下:
[0008]一種基於網絡的USB設備重定向系統,包括客戶端、服務端和無線網絡,所述客戶端上設有客戶端設備、客戶端應用程式和客戶端驅動,所述客戶端上設有USB接口,所述客戶端設備通過所述USB接口與所述客戶端連接,所述客戶端設備通過所述客戶端驅動與所述客戶端應用程式連接,所述服務端上設有虛擬設備、服務端應用程式和服務端驅動,所述虛擬設備通過所述服務端驅動與所述服務端應用程式連接,所述客戶端應用程式通過所述無線網絡與所述服務端應用程式建立數據通訊連接。
[0009]優選的,所述客戶端應用程式通過TCP/IP網絡協議與所述服務端應用程式建立數據通訊連接。
[0010]優選的,所述客戶端和服務端基於windows作業系統。
[0011]優選的,所述服務端的虛擬設備是所述客戶端設備的映射。
[0012]優選的,所述客戶端應用程式上設有IP位址通知模塊,所述客戶端應用程式通過所述IP位址通知模塊自動連接到所述服務端應用程式的IP位址上。
[0013]優選的,所述客戶端應用程式上設有確定所述客戶端設備是否需要重定向的重定向選擇模塊。
[0014]優選的,所述客戶端驅動上設有客戶端虛擬總線驅動模塊,用於發送USB事件。[0015]優選的,所述客戶端驅動上設有虛擬UPnP管理模塊。
[0016]優選的,所述伺服器端驅動程序上設有服務端模擬總線驅動模塊,用於接受所述客戶端發過來的所述USB事件。
[0017]優選的,所述USB事件包括USB設備的插入,USB設備拔出,USB設備的電源reset,USB設備的休眠。
[0018]相對於現有技術,本發明的技術方案的優點有:
[0019]本發明的技術方案提供了一種基於網絡的USB共享技術,提供了更多的設備和控制信息,減輕了伺服器端的負擔,且具有更好的安全性;同時利用採用公有協議TCP/IP協議進行數據傳輸,增強了通用性,提高了設備兼容性,加大了設備使用方式的靈活度。
【專利附圖】
【附圖說明】
[0020]構成本發明的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
[0021]圖1是本發明的實施例的結構示意圖;
[0022]圖2是本發明的實施例的應用方法的流程示意圖;
[0023]圖3是本發明的實施例調度流程示意圖。
【具體實施方式】
[0024]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0025]需要說明的是,在不衝突的情況下,本發明中的實施例及實施例中的特徵可以相
互組合。
[0026]以下將結合附圖對本發明的實施例做具體闡釋。
[0027]如圖1所示的本發明的實施例的一種基於網絡的USB設備重定向系統。包括客戶端1、服務端2和無線網絡。
[0028]客戶端I上設有客戶端設備3、客戶端應用程式4和客戶端驅動5。客戶端I上設有USB接口,客戶端設備3通過USB接口與客戶端I連接。客戶端設備3通過客戶端驅動5與客戶端應用程式4連接。
[0029]服務端2上設有虛擬設備6、服務端應用程式7和服務端驅動8。虛擬設備6通過服務端驅動8與服務端應用程式7連接。客戶端應用程式4通過無線網絡與服務端應用程式7建立數據通訊連接。
[0030]本發明的實施例客戶端和服務端之間的通訊全部通過應用程式間進行,這樣可以避免內核態的TCP/IP通訊,降低複雜度以及提高可靠性。
[0031]本發明的實施例實現的範圍優選windows的客戶端對windows的服務端,優選不包含Iinux作業系統或者其他類型的作業系統。
[0032]如圖3總所示的本發明的實施例的調度流程示意圖,本發明的實施例的客戶端應用程式需要預留接口,以和別的協議如ICA、RDP、spice協議之間進行通訊,這樣在RDP協議啟動以後,就可以自動加載USB重定向功能。需要預留的功能模塊包括兩個內容:與服務端的IP位址通知模塊,客戶端就可以自動連接到服務端的IP位址上;重定向選擇模塊,決定某些類型的USB設備是否需要重定向。
[0033]客戶端的應用程式和驅動之間的通訊可以採用windows標準的ioctl的實現方式。客戶端應用程式與服務端應用程式之間的通訊採用TCP/IP連接方式,可以採用第三方的連接庫,也可以採用標準的winsocket。
[0034]在本發明的實施例中,客戶端驅動實現相對比較複雜,包含以下的內容:客戶端虛擬總線驅動模塊,總線驅動程序的實現很多,有很多開源的實現方式。還需要增加一個虛擬UPnP管理模塊能,即設備插入後,需要將設備通知UPnP管理模塊,該設備的UPnP管理功能一切正常。而以上實現全部都是通過模擬的方式實現,其虛擬總線驅動還需要包含的內容在設備被拔出時,清理所有的相關信息,以符合UPnP的管理規範。
[0035]還需要實現的內容是加載USB設備的FDO filter JDO filter。filter功能是微軟標準驅動的一個特色,通過filter功能,可以將驅動間傳遞的數據截獲並轉發。
[0036]在本發明的實施例中,服務端應用程式和客戶端應用程式比較類似,需要自動加載。和其驅動之間的通訊方式採用標準ioctl的方式。接受客戶端程序發過來的各種USB事件,並通知底層驅動處理;轉發底層驅動的各種請求;
[0037]服務端驅動設有服務端模擬總線驅動模塊,接受客戶端發過來的各種USB事件。如如圖2中所示的USB插入時,驅動程序做一個模擬USB設備的插入,然後進行枚舉,同時將枚舉的內容轉發到客戶端。
[0038]實現上述的四個功能模塊後,每個模塊的功能基本已做描述,對USB設備的幾種狀態做不同的實現,如USB設備的插入、USB設備拔出、USB設備的電源reset、USB設備的休眠。前面已對USB設備的插入已做描述,在此就不做贅述。
[0039]以上對本發明的具體實施例進行了詳細描述,但其只作為範例,本發明並不限制於以上描述的具體實施例。對於本領域技術人員而言,任何對該實用進行的等同修改和替代也都在本發明的範疇之中。因此,在不脫離本發明的精神和範圍下所作的均等變換和修改,都應涵蓋在本發明的範圍內。
【權利要求】
1.一種基於網絡的USB設備重定向系統,其特徵在於,包括客戶端、服務端和無線網絡,所述客戶端上設有客戶端設備、客戶端應用程式和客戶端驅動,所述客戶端上設有USB接口,所述客戶端設備通過所述USB接口與所述客戶端連接,所述客戶端設備通過所述客戶端驅動與所述客戶端應用程式連接,所述服務端上設有虛擬設備、服務端應用程式和服務端驅動,所述虛擬設備通過所述服務端驅動與所述服務端應用程式連接,所述客戶端應用程式通過所述無線網絡與所述服務端應用程式建立數據通訊連接。
2.如權利要求1所述的基於網絡的USB設備重定向系統,其特徵在於,所述客戶端應用程式通過TCP/IP網絡協議與所述服務端應用程式建立數據通訊連接。
3.如權利要求2所述的基於網絡的USB設備重定向系統,其特徵在於,所述客戶端和服務端基於windows作業系統。
4.如權利要求3所述的基於網絡的USB設備重定向系統,其特徵在於,所述服務端的虛擬設備是所述客戶端設備的映射。
5.如權利要求4所述的基於網絡的USB設備重定向系統,其特徵在於,所述客戶端應用程式上設有IP位址通知模塊,所述客戶端應用程式通過所述IP位址通知模塊自動連接到所述服務端應用程式的IP位址上。
6.如權利要求5所述的基於網絡的USB設備重定向系統,其特徵在於,所述客戶端應用程式上設有確定所述客戶端設備是否需要重定向的重定向選擇模塊。
7.如權利要求6所述的基於網絡的USB設備重定向系統,其特徵在於,所述客戶端驅動上設有客戶端虛擬總線驅動模塊,用於發送USB事件。
8.如權利要求7所述的基於網絡的USB設備重定向系統,其特徵在於,所述客戶端驅動上設有虛擬UPnP管理模塊。
9.如權利要求8所述的基於網絡的USB設備重定向系統,其特徵在於,所述伺服器端驅動程序上設有服務端模擬總線驅動模塊,用於接受所述客戶端發過來的所述USB事件。
10.如權利要求9所述的基於網絡的USB設備重定向系統,其特徵在於,所述USB事件包括USB設備的插入,USB設備拔出,USB設備的電源reset,USB設備的休眠。
【文檔編號】H04L29/08GK103714020SQ201310743350
【公開日】2014年4月9日 申請日期:2013年12月27日 優先權日:2013年12月27日
【發明者】張志高 申請人:普華基礎軟體股份有限公司