<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

設備遠程訪問的方法、瘦客戶端和虛擬的制造方法

文檔序號:7776469閱讀:314來源:國知局
設備遠程訪問的方法、瘦客戶端和虛擬的制造方法
【專利摘要】本發明公開了一種設備遠程訪問的方法、瘦客戶端和虛擬機。所述方法包括:瘦客戶TC端的總線過濾驅動器接收虛擬機VM端對TC端的物理設備的遠程訪問請求;總線過濾驅動器將遠程訪問請求轉換為物理設備驅動器能夠讀取的遠程操作指令;總線過濾驅動器向物理設備驅動器發送遠程操作指令,遠程操作指令用于指示物理設備驅動器驅動物理設備執行讀寫操作并返回攜帶有讀寫操作的執行結果的遠程響應數據。本發明的設備遠程訪問的方法、瘦客戶端和虛擬機,能夠實現VM端對TC端的物理設備的遠程訪問,并且由于未修改設備驅動程序,因此TC端能夠繼續正常訪問該物理設備。
【專利說明】設備遠程訪問的方法、瘦客戶端和虛擬機
【技術領域】
[0001]本發明涉及通信【技術領域】,尤其涉及一種設備遠程訪問的方法、瘦客戶端和虛擬機。
【背景技術】
[0002]在桌面云系統的應用場景下,用戶可以在遠端數據中心的虛擬機(VirtualMachine, VM端),通過網絡,實現對本地瘦客戶端(Thin Client, TC)所連接的物理設備的遠程訪問,例如TC端通過通用串行總線(Universal Serial Bus, USB)接口連接的智能卡等物理設備。
[0003]通常,VM端可以通過重定向技術,實現上述遠程訪問。也就是將TC端的物理設備驅動器中設備驅動程序修改為重定向驅動程序,使該重定向驅動程序能夠讀取攜帶有VM端請求訪問TC端的物理設備的遠程操作指令,從而使VM端能夠實現對該物理設備的遠程訪問。
[0004]但是,由于修改后的重定向驅動程序無法讀取TC端的操作指令,因此TC端無法繼續正常訪問該物理設備。

【發明內容】

[0005]摶術問是頁
[0006]有鑒于此,本發明要解決的技術問題是,如何在不修改TC端的設備驅動程序的情況下,實現VM端對TC端的物理設備的遠程訪問。
[0007]解決方案
[0008]為了解決上述問題,在第一方面,本發明提供了一種設備遠程訪問的方法,用于桌面云系統,包括:TC端的總線過濾驅動器接收VM端對所述TC端的物理設備的遠程訪問請求;所述總線過濾驅動器將所述遠程訪問請求轉換為所述物理設備驅動器能夠讀取的遠程操作指令;所述總線過濾驅動器向所述物理設備驅動器發送所述遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0009]結合第一方面,在第一種可能的實現方式中,在所述總線過濾驅動器向所述物理設備驅動器發送所述遠程操作指令之后,還包括:所述總線過濾驅動器接收所述物理設備經由所述物理設備驅動器返回的所述遠程響應數據;所述總線過濾驅動器向所述VM端發送所述遠程響應數據。
[0010]結合第一方面或其上述可能的實現方式,在第二種可能的實現方式中,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
[0011]結合第一方面的第二種可能的實現方式,在第三種可能的實現方式中,所述總線過濾驅動器為通用串行總線過濾驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述遠程操作指令和本地操作指令為本地通用串行總線請求消息,所述遠程響應數據和本地響應數據為本地通用串行總線應答消息。
[0012]為了解決上述問題,在第二方面,本發明提供了一種設備遠程訪問的方法,用于桌面云系統,包括:VM端的虛擬總線驅動器接收所述VM端的應用程序對所述VM端的虛擬設備驅動器的虛擬操作指令;所述虛擬總線驅動器將所述虛擬操作指令轉換為所述TC端的總線過濾驅動器能夠讀取的遠程訪問請求;所述虛擬總線驅動器向所述TC端發送所述遠程訪問請求,所述遠程訪問請求用于指示所述總線過濾驅動器將所述遠程訪問請求轉換為所述TC端的物理設備驅動器能夠讀取的遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0013]結合第二方面,在第一種可能的實現方式中,在所述虛擬總線驅動器向所述TC端發送所述遠程訪問請求之后,包括:所述虛擬總線驅動器接收所述TC端發送的遠程響應數據;所述虛擬總線驅動器經由所述虛擬設備驅動器向所述應用程序發送所述遠程響應數據。
[0014]結合第二方面或其上述可能的實現方式,在第二種可能的實現方式中,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
[0015]結合第二方面的第二種可能的實現方式,在第三種可能的實現方式中,所述虛擬總線驅動器為虛擬通用串行總線驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述虛擬操作指令為本地通用串行總線請求消息,所述遠程響應數據為本地通用串行總線應答消息。
[0016]為了解決上述問題,在第三方面,本發明提供了一種TC端,包括總線過濾驅動器和物理設備驅動器,所述總線過濾驅動器用于,接收VM端對所述TC端的物理設備的遠程訪問請求;將所述遠程訪問請求轉換為所述物理設備驅動器能夠讀取的遠程操作指令;向所述物理設備驅動器發送所述遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0017]結合第三方面,在第一種可能的實現方式中,所述物理設備驅動器還用于,接收所述物理設備的所述遠程響應數據并轉發給所述總線過濾驅動器;所述總線過濾驅動器還用于,接收所述物理設備驅動器的所述遠程響應數據并轉發給所述VM端。
[0018]結合第三方面或其上述可能的實現方式,在第二種可能的實現方式中,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
[0019]結合第三方面的第二種可能的實現方式,在第三種可能的實現方式中,所述總線過濾驅動器為通用串行總線過濾驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述遠程操作指令和本地操作指令為本地通用串行總線請求消息,所述遠程響應數據本地響應數據為本地通用串行總線應答消息。
[0020]為了解決上述問題,在第四方面,本發明提供了一種VM端,包括虛擬總線驅動器和虛擬設備驅動器,所述虛擬總線驅動器用于,接收所述VM端的應用程序對所述VM端的虛擬設備驅動器的虛擬操作指令;將所述虛擬操作指令轉換為所述TC端的總線過濾驅動器能夠讀取的遠程訪問請求;向所述TC端發送所述遠程訪問請求,所述遠程訪問請求用于指示所述總線過濾驅動器將所述遠程訪問請求轉換為所述TC端的物理設備驅動器能夠讀取的遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0021]結合第四方面或其上述可能的實現方式,在第二種可能的實現方式中,所述虛擬總線驅動器還用于,接收所述VM端的所述遠程響應數據并轉發給所述虛擬設備驅動器;所述虛擬設備驅動器還用于,接收所述虛擬總線驅動器的所述遠程響應數據并轉發給所述應用程序。
[0022]結合第四方面或其上述可能的實現方式,在第三種可能的實現方式中,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
[0023]結合第四方面的第三種可能的實現方式,在第四種可能的實現方式中,所述虛擬總線驅動器為虛擬通用串行總線驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述虛擬操作指令為本地通用串行總線請求消息,所述遠程響應數據為本地通用串行總線應答消息。
[0024]有益.效果
[0025]通過TC端的總線過濾驅動器接收VM端對TC端的物理設備的遠程訪問請求,并將其轉換為TC端的物理設備驅動器能夠讀取的操作指令,根據本發明實施例的設備遠程訪問的方法、瘦客戶端和虛擬機,能夠實現VM端對TC端的物理設備的遠程訪問,并且由于未修改設備驅動程序,因此TC端能夠繼續正常訪問該物理設備。
[0026]根據下面參考附圖對示例性實施例的詳細說明,本發明的其它特征及方面將變得清楚。
【專利附圖】

【附圖說明】
[0027]包含在說明書中并且構成說明書的一部分的附圖與說明書一起示出了本發明的示例性實施例、特征和方面,并且用于解釋本發明的原理。
[0028]圖1示出根據本發明實施例1的設備遠程訪問的方法的流程圖;
[0029]圖2示出根據本發明實施例2的設備遠程訪問的方法的流程圖;
[0030]圖3示出根據本發明實施例3的設備遠程訪問的方法的流程圖;
[0031]圖4示出根據本發明實施例4的設備遠程訪問的方法的流程圖;
[0032]圖5示出根據本發明實施例5的TC端的框圖;
[0033]圖6示出根據本發明實施例6的TC端的框圖;
[0034]圖7示出根據本發明實施例7的VM端的框圖;
[0035]圖8示出根據本發明實施例8的VM端的框圖;
[0036]圖9示出根據本發明實施例9的TC端的框圖;
[0037]圖10示出根據本發明實施例10的VM端的框圖。
【具體實施方式】
[0038]以下將參考附圖詳細說明本發明的各種示例性實施例、特征和方面。附圖中相同的附圖標記表示功能相同或相似的元件。盡管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
[0039]在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優于或好于其它實施例。
[0040]另外,為了更好的說明本發明,在下文的【具體實施方式】中給出了眾多的具體細節。本領域技術人員應當理解,沒有某些具體細節,本發明同樣可以實施。在一些實例中,對于本領域技術人員熟知的方法、手段、元件和電路未作詳細描述,以便于凸顯本發明的主旨。
[0041]實施例1
[0042]圖1示出根據本發明一實施例的設備遠程訪問的方法的流程圖。如圖1所示,該設備遠程訪問的方法主要包括:
[0043]步驟SI 10、TC端的總線過濾驅動器接收VM端對所述TC端的物理設備的遠程訪問請求。
[0044]具體地,在桌面云的應用場景下,本地TC端和遠程VM端通過網絡連接。TC端連接有一個或多個物理設備。TC端設置有總線過濾驅動器。若VM端的應用程序要訪問TC端所連接的物理設備,則TC端可以從VM端接收對TC端的物理設備的遠程訪問請求。其中,遠程訪問請求攜帶有VM端的應用程序請求訪問TC端的物理設備的信息。其中,物理設備可以通過各種總線接口,例如USB接口,連接到TC端。根據物理設備的類型,可以相應地設置總線過濾驅動器的類型。例如:若智能卡通過USB接口連接到TC端,則總線過濾驅動器為USB總線過濾驅動器。物理設備可以為智能卡或其他設備。
[0045]此外,遠程訪問請求還可以攜帶有物理設備的標識信息,TC端可以根據該標識信息,確定VM端所要訪問的具體物理設備;和/或可以攜帶有VM端的標識信息,TC端可以根據該標識信息,確定該遠程訪問請求來自具體哪個VM端和/或VM端的具體哪個應用程序。
[0046]步驟S120、所述總線過濾驅動器將所述遠程訪問請求轉換為所述物理設備驅動器能夠讀取的遠程操作指令。
[0047]具體地,TC端的總線過濾驅動器首先判斷所接收到的指令是否為VM端的遠程訪問請求。總線過濾驅動器僅處理所接收到的VM端的遠程訪問請求,而對其他指令不進行處理。若是,則總線過濾驅動器根據該遠程訪問請求,生成對TC端對應的物理設備驅動器的遠程操作指令,也就是將該遠程訪問請求轉換為TC端對應的物理設備驅動器能讀取的遠程操作指令。
[0048]步驟S130、所述總線過濾驅動器向所述物理設備驅動器發送所述遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0049]舉例而言,總線過濾驅動器向物理設備驅動器發送遠程操作指令。物理設備驅動器根據該遠程操作指令,生成物理設備能夠讀取的遠程驅動指令,并將該遠程驅動指令發送至物理設備。物理設備根據該遠程驅動指令,執行相應的讀寫操作,根據讀寫操作的執行結果,生成遠程響應數據,并將遠程響應數據返回至物理設備驅動器。其中,物理設備執行的讀寫操作可以包括:讀取物理設備中已有的數據,如VM端用于鑒權的用戶身份信息;或者將數據寫入到物理設備。其中,遠程響應數據中可以包括VM端的標識信息,TC端可以根據該標識信息,確定向具體哪個VM端發送遠程響應數據;還可以攜帶有TC端的標識信息,VM端可以根據該標識信息,確定該響應數據來自具體哪個TC端。
[0050]此外,由于未修改設備驅動程序,因此物理設備驅動器仍然能夠響應于TC端的應用程序發來的本地訪問請求,從而保證TC端的應用程序可以繼續訪問物理設備,而不受VM端的遠程訪問請求的影響。
[0051]在一種可能的實現方式中,所述物理設備驅動器可以接收所述TC端的應用程序對所述物理設備的本地操作指令;所述物理設備驅動器根據所述本地操作指令,驅動所述物理設備執行讀寫操作并返回攜帶有所述讀寫操作的執行結果的本地響應數據。
[0052]具體地,若物理設備驅動器接收到本地TC端的應用程序發來的本地操作指令,則據此生成物理設備能夠讀取的本地驅動指令,并將該本地驅動指令發送至物理設備。物理設備根據該本地驅動指令,執行相應的讀寫操作,例如讀取物理設備中已有的數據(如VM端用于鑒權的用戶身份信息)或者將數據寫入到物理設備。物理設備根據讀寫操作的執行結果,生成本地響應數據,并將該本地響應數據返回至物理設備驅動器。物理設備驅動器據此向TC端的該應用程序轉發該本地響應數據。
[0053]舉例而言,用戶可以在TC端請求遠程登錄到遠端數據中心即VM端的桌面云系統。桌面云系統讀取連接到TC端的智能卡中的數據進行鑒權操作,在鑒權成功后,用戶可以在TC端遠程登錄到VM端。若用戶還需要登錄本地TC端的應用程序,則用戶可以繼續讀取本地TC端的智能卡中的數據,針對本地TC端的應用程序進行鑒權操作。
[0054]需要說明的是,可以根據各指令到達物理設備驅動器的先后順序,依次處理本地操作指令和遠程操作指令,從而依次響應于TC端的本地訪問請求和VM端的遠程訪問請求。
[0055]這樣,通過TC端的總線過濾驅動器接收VM端對TC端的物理設備的遠程訪問請求,并將其轉換為TC端的物理設備驅動器能夠讀取的操作指令,能夠實現VM端對TC端的物理設備的遠程訪問,并且由于未修改設備驅動程序,因此TC端能夠繼續正常訪問該物理設備。
[0056]此外,由于該總線過濾驅動器無需對本地已有的USB指令做任何修改,因此相比于現有技術中USB重定向的方法,本實施例的方法適用于TC端已有的各種應用程序和各種物理設備,并且不會影響物理設備遠程訪問的速度。由于未使用PC/SC協議,因此相比于現有技術中PC/SC協議重定向的方法,本實施例的方法無需物理設備支持PC/SC協議,從而具有很好的兼容性。
[0057]實施例2
[0058]圖2示出根據本發明實施例2的一設備遠程訪問的方法的流程圖。圖2中標號與圖1中相同的組件具有相同的功能,為簡明起見,省略對這些組件的詳細說明。
[0059]如圖2所示,圖2所示的方法與圖1所示的方法的主要區別在于:步驟S130之后,總線過濾驅動器還可以接收物理設備經由物理設備驅動器返回的遠程響應數據,并向VM端發送遠程響應數據。
[0060]在一種可能的實現方式中,步驟SllO可以具體包括以下步驟:
[0061]步驟S210、TC端的設備服務器接收VM端發送的對物理設備的遠程訪問請求;
[0062]步驟S220、總線過濾驅動器接收TC端的設備服務器發送的對物理設備的遠程訪問請求。
[0063]具體地,TC端設置有設備服務器。設備服務器可以通過網絡,接收VM端基于TC端與VM端之間的網絡傳輸協議發來的數據,例如VM端對TC端的物理設備的遠程訪問請求,則設備服務器將該遠程訪問請求轉發給總線過濾驅動器,以使總線過濾驅動器處理該遠程訪問請求。其中,TC端的設備服務器還可以首先基于TC端與VM端之間的網絡傳輸協議,解析所接收到的數據以得到遠程訪問請求后,再發送給總線過濾驅動器。
[0064]舉例而言,如果物理設備驅動器接收到總線過濾驅動器發來的遠程操作指令,則據此生成遠程響應數據的流程,具體可以包括以下步驟:
[0065]步驟S230、物理設備驅動器根據所接收到的總線過濾驅動器的遠程操作指令,生成物理設備能夠讀取的遠程驅動指令;
[0066]步驟S240、物理設備驅動器將該遠程驅動指令發送至物理設備;
[0067]步驟S250、物理設備根據所接收到的該遠程驅動指令,執行相應的讀寫操作,并根據讀寫操作的執行結果,生成遠程響應數據;
[0068]步驟S260、物理設備將該遠程響應數據發送至物理設備驅動器。
[0069]在一種可能的實現方式中,步驟S130之后,還可以具體包括以下步驟:
[0070]步驟S270、物理設備驅動器將所接收到的遠程響應數據轉發至總線過濾驅動器;
[0071]步驟S280、總線過濾驅動器將所接收到的遠程響應數據轉發至TC端的設備服務器;
[0072]步驟S290、設備服務器將所接收到的遠程響應數據轉發至VM端。
[0073]具體地,設備服務器可以接收總線過濾驅動器發來的數據,例如TC端的物理設備的遠程響應數據,則設備服務器可以通過TC端與VM端之間連接的網絡,將該遠程響應數據轉發給VM端,以使VM端處理該遠程響應數據。其中,為了滿足網絡傳輸的需要,TC端的設備服務器還可以先將遠程響應數據轉換為支持TC端和VM端的網絡傳輸協議的數據后,再發送給VM端。
[0074]在一種可能的實現方式中,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
[0075]在一種可能的實現方式中,所述總線過濾驅動器為通用串行總線過濾驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述遠程操作指令和本地操作指令為本地通用串行總線請求消息,所述遠程響應數據和本地響應數據為本地通用串行總線應答消
肩、O
[0076]舉例而言,若物理設備是通過USB接口連接到TC端的智能卡,則TC端相應地設置有USB總線過濾驅動器。USB總線過濾驅動器可以接收VM端的遠程通用串行總線請求消息(USB Request Block, URB),該遠程URB請求消息攜帶有對該智能卡的遠程訪問請求的信息;據此生成本地URB請求消息(USB Request Block,URB),并向智能卡驅動器發送該本地URB請求消息,該本地請求URB消息攜帶有對該智能卡的遠程操作指令的信息。本地TC端的應用程序也可以向智能卡驅動器發送本地URB請求消息。智能卡執行對應的讀寫操作,生成本地URB應答消息,并向智能卡驅動器返回該本地URB應答消息,該本地URB應答消息攜帶有遠程響應數據或本地響應數據的信息。智能卡驅動器根據本地URB應答消息的內容,向USB總線過濾驅動器返回該遠程響應數據,或向本地TC端的應用程序返回該本地響應數據。
[0077]此外,TC端的設備服務器還可以檢測用戶是否將物理設備插入TC端。若檢測到有物理設備插入TC端,則TC端的設備服務器向VM端發送對應于該物理設備的插入通知,以使VM端據此加載與該物理設備對應的虛擬設備。TC端的設備服務器還可以接收VM端發來的對該物理設備的查詢請求或者主動查詢設備信息,并根據所查詢該物理設備的設備信息,向VM端發送該設備信息,以使VM端加載與該物理設備對應的虛擬設備。其中,設備信息可以包括該物理設備的設備類型和設備標識等設備信息。另外,TC端的設備服務器還可以檢測是否有物理設備自TC端拔出。若檢測到有物理設備自TC端拔出,則TC端的設備服務器向VM端發送對應于該物理設備的拔出通知,以使VM端卸載與該物理設備對應的虛擬設備,以使VM端的虛擬設備與TC端的物理設備實現同步加載與同步卸載。其中,拔出通知也可以攜帶有該物理設備的設備信息,以使VM端確定所要卸載的具體虛擬設備。
[0078]實施例3
[0079]圖3示出根據本發明實施例3的一設備遠程訪問的方法的流程圖。如圖3所示,該設備遠程訪問的方法主要包括:
[0080]步驟S310、VM端的虛擬總線驅動器接收所述VM端的應用程序對所述VM端的虛擬設備驅動器的虛擬操作指令。
[0081]具體地,VM端設置有虛擬總線驅動器和虛擬設備驅動器。VM端根據對TC端的物理設備進行遠程訪問的需要,通過在VM端設置虛擬總線驅動器和虛擬設備驅動器的方式,使VM端加載一個與TC端的該物理設備對應的虛擬設備。若VM端的應用程序要訪問TC端的該物理設備,則VM端的虛擬總線驅動器可以接收到所述VM端的應用程序對所述VM端的虛擬設備驅動器的虛擬操作指令。其中,物理設備可以通過各種總線接口,例如通用串行總線(Universal Serial Bus,USB)接口,連接到TC端。根據物理設備的類型,可以相應地設置VM端的虛擬總線驅動器的類型。例如:若智能卡通過USB接口連接到TC端,則VM端的虛擬總線驅動器可以設置為虛擬USB總線驅動器。此外,物理設備可以為智能卡或其他設備。
[0082]步驟S320、所述虛擬總線驅動器將所述虛擬操作指令轉換為所述TC端的總線過濾驅動器能夠讀取的遠程訪問請求。
[0083]具體地,虛擬總線驅動器根據該虛擬操作指令,生成對TC端對應的物理設備的遠程訪問請求,也就是將該虛擬操作指令轉換為TC端對應的總線過濾驅動器能讀取的遠程訪問請求。其中,遠程訪問請求攜帶有VM端的應用程序請求訪問TC端對應的物理設備的信息;還可以攜帶有物理設備的標識信息,以使TC端可以根據該標識信息,確定VM端所要訪問的具體物理設備;和/或可以攜帶有VM端的標識信息,以使TC端可以根據該標識信息,確定該遠程訪問請求來自具體哪個VM端和/或VM端的具體哪個應用程序。
[0084]步驟S330、所述虛擬總線驅動器向所述TC端發送所述遠程訪問請求。
[0085]具體地,遠程訪問請求,用于指示總線過濾驅動器將遠程訪問請求轉換為TC端的物理設備驅動器能夠讀取的遠程操作指令。該遠程操作指令,用于指示物理設備驅動器驅動對應的物理設備執行讀寫操作,并返回攜帶有讀寫操作的執行結果的遠程響應數據。
[0086]這樣,通過VM端的虛擬總線驅動器接收到VM端的應用程序對TC端的物理設備的虛擬操作指令,并將其轉換為TC端的總線過濾驅動器能夠讀取的遠程訪問請求,能夠實現VM端的應用程序對TC端的物理設備的遠程訪問。
[0087]實施例4
[0088]圖4示出根據本發明實施例4的一設備遠程訪問的方法的流程圖。圖4中標號與圖3中相同的組件具有相同的功能,為簡明起見,省略對這些組件的詳細說明。
[0089]如圖4所示,圖4所示的方法與圖3所示的方法的主要區別在于:VM端的虛擬總線驅動器經由VM端的設備服務器,向TC端發送遠程訪問請求,和/或接收TC端的遠程響應數據。
[0090]在一種可能的實現方式中,步驟S330可以具體包括以下步驟:
[0091]步驟S430、虛擬總線驅動器向VM端的設備服務器發送遠程訪問請求;
[0092]步驟S440、設備服務器將所接收到的遠程訪問請求轉發至TC端。
[0093]具體地,VM端的設備服務器可以接收虛擬總線驅動器發來的數據,例如TC端的物理設備的遠程響應數據,則設備服務器可以通過TC端與VM端之間連接的網絡,將該遠程訪問請求轉發給TC端,以使TC端處理該遠程訪問請求。其中,為了滿足網絡傳輸的需要,設備服務器還可以先將遠程響應數據轉換為支持TC端和VM端的網絡傳輸協議的數據后,再發送給VM端。
[0094]在一種可能的實現方式中,步驟S330之后,還可以包括以下步驟:
[0095]步驟S450、VM端的設備服務器接收TC端發來的遠程響應數據;
[0096]步驟S460、設備服務器將所接收到的遠程響應數據轉發至虛擬總線驅動器;
[0097]步驟S470、虛擬總線驅動器將所接收到的遠程響應數據轉發至虛擬設備驅動器;
[0098]步驟S480、虛擬設備驅動器將所接收到的遠程響應數據轉發至TC端的應用程序。
[0099]具體地,設備服務器可以通過網絡,接收VM端基于TC端與VM端之間的網絡傳輸協議發來的數據,例如TC的物理設備的遠程響應數據,則設備服務器將該遠程響應數據轉發給虛擬總線驅動器,以使虛擬總線驅動器處理該遠程響應數據求。其中,TC端的設備服務器還可以首先基于TC端與VM端之間的網絡傳輸協議,解析所接收到的數據以得到遠程響應數據后,再發送給虛擬總線驅動器。
[0100]在一種可能的實現方式中,步驟S310可以具體包括以下步驟:
[0101]步驟S410、虛擬設備驅動器接收VM端的應用程序發來的虛擬操作指令;
[0102]步驟S420、虛擬設備驅動器將所接收到的虛擬操作指令轉發至虛擬總線驅動器。
[0103]具體地,若VM端的虛擬設備驅動器可以接收到所述VM端的應用程序對VM端的虛擬操作指令,也就是該應用程序需要訪問TC端對應的物理設備,則虛擬總線驅動器將該虛擬操作指令轉發給虛擬總線驅動器,以使虛擬總線驅動器處理該虛擬操作指令。
[0104]在一種可能的實現方式中,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
[0105]在一種可能的實現方式中,所述虛擬總線驅動器為虛擬通用串行總線驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述虛擬操作指令為本地通用串行總線請求消息,所述遠程響應數據為本地通用串行總線應答消息。
[0106]舉例而言,若VM端的設備服務器接收到TC端發來的插入通知,則可以據此加載與TC端的物理設備對應的虛擬設備。若VM端之前未安裝過該虛擬設備,則初始化該虛擬設備,以加載該虛擬設備。若VM端之前已經安裝過該虛擬設備,則根據該虛擬設備的安裝信息,直接加載該虛擬設備的驅動程序,以加載該虛擬設備。VM端加載該虛擬設備之后,即在VM端上設置了與該虛擬設備對應的虛擬設備驅動器。此外,VM端加載該虛擬設備之后,可以通過系統消息,提示VM端有新的虛擬設備加載,以使VM端的應用程序可以正常訪問該虛擬設備。其中,VM端的設備服務器可以接收到TC端主動發來的設備信息,例如該物理設備的設備類型和設備標識等信息;也可以主動查詢設備信息,并接收TC端據此返回的設備信息。此外,若設備服務器接收到TC端發來的物理設備的拔出通知,則可以據此卸載對應的虛擬設備,以使VM端的虛擬設備與TC端的物理設備實現同步加載與同步卸載。其中,拔出通知也可以攜帶有該物理設備的設備信息,以使VM端確定所要卸載的具體是哪個虛擬設備。
[0107]實施例5
[0108]圖5示出根據本發明實施例5的一 TC端的框圖。如圖5所示,該TC端主要包括:總線過濾驅動器510和物理設備驅動器520。其中,總線過濾驅動器510用于,接收VM端對所述TC端的物理設備530的遠程訪問請求;將所述遠程訪問請求轉換為所述物理設備驅動器520能夠讀取的遠程操作指令;向所述物理設備驅動器520發送所述遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器520驅動所述物理設備530執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0109]在一種可能的實現方式中,所述物理設備驅動器520用于,接收所述TC端的應用程序對所述物理設備的本地操作指令;根據所述本地操作指令,驅動所述物理設備執行讀寫操作并返回攜帶有所述讀寫操作的執行結果的本地響應數據。
[0110]其中,該TC端用于實現設備遠程訪問的具體機制和有益效果,可以參考圖1及其相關描述。
[0111]實施例6
[0112]圖6不出根據本發明實施例6的一 TC端的框圖。圖6中標號與圖5中相同的組件具有相同的功能,為簡明起見,省略對這些組件的詳細說明。
[0113]如圖6所示,圖6所示的TC端與圖5所示的TC端的主要區別在于:還包括設備服務器610。
[0114]具言之,所述設備服務器610,用于接收所述VM端的遠程訪問請求并轉發給所述總線過濾驅動器510。所述總線過濾驅動器510,還用于接收所述設備服務器610的所述遠程訪問請求。
[0115]在一種可能的實現方式中,所述物理設備驅動器520還用于,接收所述物理設備530的所述遠程響應數據并轉發給所述總線過濾驅動器510。所述總線過濾驅動器510還用于,接收所述物理設備驅動器520的所述遠程響應數據并轉發給所述設備服務器610。所述設備服務器610還用于,接收所述總線過濾驅動器510的所述遠程響應數據并轉發給所述VM端。
[0116]在一種可能的實現方式中,所述物理設備530為通過通用串行總線連接到所述TC端的智能卡。
[0117]在一種可能的實現方式中,所述總線過濾驅動器510為通用串行總線過濾驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述遠程操作指令和本地操作指令為本地通用串行總線請求消息,所述遠程響應數據本地響應數據為本地通用串行總線應答消息。
[0118]其中,該TC端用于實現設備遠程訪問的具體機制和有益效果,可以參考圖2及其相關描述。
[0119]實施例7
[0120]圖7示出根據本發明實施例7的一 VM端的框圖。如圖7所示,該VM端主要包括:虛擬總線驅動器710和虛擬設備驅動器720。其中,所述虛擬總線驅動器710用于,接收所述VM端的應用程序對所述VM端的虛擬設備驅動器720的虛擬操作指令;將所述虛擬操作指令轉換為所述TC端的總線過濾驅動器能夠讀取的遠程訪問請求;向所述TC端發送所述遠程訪問請求,所述遠程訪問請求用于指示所述總線過濾驅動器將所述遠程訪問請求轉換為所述TC端的物理設備驅動器能夠讀取的遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0121]其中,該VM端用于實現設備遠程訪問的具體機制和有益效果,可以參考圖3及其相關描述。
[0122]實施例8
[0123]圖8示出根據本發明實施例8的一 VM端的框圖。圖8中標號與圖7中相同的組件具有相同的功能,為簡明起見,省略對這些組件的詳細說明。
[0124]如圖8所示,圖8所示的VM端與圖7所示的VM端的主要區別在于:還包括設備服務器810。
[0125]具言之,所述設備服務器810,用于接收所述虛擬總線驅動器710的所述遠程訪問請求并轉發給所述VM端。
[0126]在一種可能的實現方式中,所述設備服務器810還用于,接收所述VM端的所述遠程響應數據并轉發給所述虛擬總線驅動器。所述虛擬總線驅動器710還用于,接收所述設備服務器810的所述遠程響應數據并轉發給所述虛擬設備驅動器720。所述虛擬設備驅動器720還用于,接收所述虛擬總線驅動器710的所述遠程響應數據并轉發給所述應用程序。
[0127]在一種可能的實現方式中,所述虛擬設備驅動器720還用于,接收所述應用程序的所述虛擬操作指令并轉發給所述虛擬總線驅動器710。所述虛擬總線驅動器710還用于,接收所述虛擬設備驅動器720的所述虛擬操作指令。
[0128]在一種可能的實現方式中,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
[0129]在一種可能的實現方式中,所述虛擬總線驅動器710為虛擬通用串行總線驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述虛擬操作指令為本地通用串行總線請求消息,所述遠程響應數據為本地通用串行總線應答消息。
[0130]其中,該VM端用于實現設備遠程訪問的具體機制和有益效果,可以參考圖4及其相關描述。
[0131]實施例9
[0132]圖9示出了本發明的實施例9的一 TC端的結構框圖。所述TC端1100可以是具備計算能力的主機服務器、個人計算機PC、或者可攜帶的便攜式計算機或終端等。本發明具體實施例并不對計算節點的具體實現做限定。
[0133]所述TC 端 1100 包括處理器(processor) 1110、通信接口(CommunicationsInterface) 1120、存儲器(memory array) 1130 和總線 1140。其中,處理器 1110、通信接口1120、以及存儲器1130通過總線1140完成相互間的通信。
[0134]通信接口 1120用于與網絡設備通信,其中網絡設備包括例如虛擬機管理中心、共
享存儲等。[0135]處理器1110用于執行程序。處理器1110可能是一個中央處理器CPU,或者是專用集成電路ASIC (Application Specific Integrated Circuit),或者是被配置成實施本發明實施例的一個或多個集成電路。
[0136]存儲器1130用于存放文件。存儲器1130可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1130也可以是存儲器陣列。存儲器1130還可能被分塊,并且所述塊可按一定的規則組合成虛擬卷。
[0137]在一種可能的實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于:使瘦客戶TC端的總線過濾驅動器接收虛擬機VM端對所述TC端的物理設備的遠程訪問請求;使所述總線過濾驅動器將所述遠程訪問請求轉換為所述物理設備驅動器能夠讀取的遠程操作指令;使所述總線過濾驅動器向所述物理設備驅動器發送所述遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0138]在一種可能的實施方式中,該程序還可用于:使所述物理設備驅動器接收所述TC端的應用程序對所述物理設備的本地操作指令;使所述物理設備驅動器根據所述本地操作指令,驅動所述物理設備執行讀寫操作并返回攜帶有所述讀寫操作的執行結果的本地響應數據。
[0139]在一種可能的實施方式中,該程序還可用于:使所述總線過濾驅動器接收所述VM端經由所述TC端的設備服務器發送的對所述物理設備的遠程訪問請求。
[0140]在一種可能的實施方式中,該程序還可用于:在所述總線過濾驅動器向所述物理設備驅動器發送所述遠程操作指令之后,使所述總線過濾驅動器接收所述物理設備經由所述物理設備驅動器返回的所述遠程響應數據;所述總線過濾驅動器經由所述設備服務器,向所述VM端發送所述遠程響應數據。
[0141]實施例10
[0142]圖10示出了本發明的實施例10的一 VM端的結構框圖。所述VM端1200可以是具備計算能力的主機服務器、個人計算機PC、或者可攜帶的便攜式計算機或終端等。本發明具體實施例并不對計算節點的具體實現做限定。
[0143]所述VM 端 1200 包括處理器(processor) 1210、通信接口(CommunicationsInterface) 1220、存儲器(memory array) 1230 和總線 1240。其中,處理器 1110、通信接口1220、以及存儲器1230通過總線1240完成相互間的通信。
[0144]通信接口 1220用于與網絡設備通信,其中網絡設備包括例如虛擬機管理中心、共
享存儲等。
[0145]處理器1210用于執行程序。處理器1210可能是一個中央處理器CPU,或者是專用集成電路ASIC (Application Specific Integrated Circuit),或者是被配置成實施本發明實施例的一個或多個集成電路。
[0146]存儲器1230用于存放文件。存儲器1230可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1230也可以是存儲器陣列。存儲器1230還可能被分塊,并且所述塊可按一定的規則組合成虛擬卷。
[0147]在一種可能的實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于:使VM端的虛擬總線驅動器接收所述VM端的應用程序對所述VM端的虛擬設備驅動器的虛擬操作指令;使所述虛擬總線驅動器將所述虛擬操作指令轉換為所述TC端的總線過濾驅動器能夠讀取的遠程訪問請求;使所述虛擬總線驅動器向所述TC端發送所述遠程訪問請求,所述遠程訪問請求用于指示所述總線過濾驅動器將所述遠程訪問請求轉換為所述TC端的物理設備驅動器能夠讀取的遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
[0148]在一種可能的實施方式中,該程序還可用于:使所述虛擬總線驅動器接收所述應用程序經由所述虛擬設備驅動器發送的對所述虛擬設備的虛擬操作指令。
[0149]在一種可能的實施方式中,該程序還可用于:使所述虛擬總線驅動器經由所述VM端的設備服務器向所述TC端發送所述遠程訪問請求。
[0150]在一種可能的實施方式中,該程序還可用于:在所述虛擬總線驅動器向所述TC端發送所述遠程訪問請求之后,使所述虛擬總線驅動器接收所述TC端經由所述VM端的設備服務器發送的遠程響應數據;所述虛擬總線驅動器經由所述虛擬設備驅動器向所述應用程序發送所述遠程響應數據。
[0151]本領域普通技術人員可以意識到,本文所描述的實施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件形式來實現,取決于技術方案的特定應用和設計約束條件。專業技術人員可以針對特定的應用選擇不同的方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
[0152]如果以計算機軟件的形式來實現所述功能并作為獨立的產品銷售或使用時,則在一定程度上可認為本發明的技術方案的全部或部分(例如對現有技術做出貢獻的部分)是以計算機軟件產品的形式體現的。該計算機軟件產品通常存儲在計算機可讀取的存儲介質中,包括若干指令用以使得計算機設備(可以是個人計算機、服務器、或者網絡設備等)執行本發明各實施例方法的全部或部分步驟。而前述的存儲介質包括U盤、移動硬盤、只讀存儲器(ROM, Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0153]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。
【權利要求】
1.一種設備遠程訪問的方法,用于桌面云系統,其特征在于,包括: 瘦客戶TC端的總線過濾驅動器接收虛擬機VM端對所述TC端的物理設備的遠程訪問請求; 所述總線過濾驅動器將所述遠程訪問請求轉換為所述物理設備驅動器能夠讀取的遠程操作指令; 所述總線過濾驅動器向所述物理設備驅動器發送所述遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
2.根據權利要求1所述的方法,其特征在于,所述總線過濾驅動器向所述物理設備驅動器發送所述遠程操作指令之后,還包括: 所述總線過濾驅動器接收所述物理設備經由所述物理設備驅動器返回的所述遠程響應數據; 所述總線過濾驅動器向所述VM端發送所述遠程響應數據。
3.根據權利要求1或2所述的方法,其特征在于,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
4.根據權利要求3所述的方法,其特征在于,所述總線過濾驅動器為通用串行總線過濾驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述遠程操作指令和本地操作指令為本地通用串行總線請求消息,所述遠程響應數據和本地響應數據為本地通用串行總線應答消息。
5.—種設備遠程訪問的 方法,用于桌面云系統,其特征在于,包括: VM端的虛擬總線驅動器接收所述VM端的應用程序對所述VM端的虛擬設備驅動器的虛擬操作指令; 所述虛擬總線驅動器將所述虛擬操作指令轉換為所述TC端的總線過濾驅動器能夠讀取的遠程訪問請求; 所述虛擬總線驅動器向所述TC端發送所述遠程訪問請求,所述遠程訪問請求用于指示所述總線過濾驅動器將所述遠程訪問請求轉換為所述TC端的物理設備驅動器能夠讀取的遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
6.根據權利要求5所述的方法,其特征在于,在所述虛擬總線驅動器向所述TC端發送所述遠程訪問請求之后,包括: 所述虛擬總線驅動器接收所述TC端發送的遠程響應數據; 所述虛擬總線驅動器經由所述虛擬設備驅動器向所述應用程序發送所述遠程響應數據。
7.根據權利要求5或6所述的方法,其特征在于,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
8.根據權利要求7所述的方法,其特征在于,所述虛擬總線驅動器為虛擬通用串行總線驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述虛擬操作指令為本地通用串行總線請求消息,所述遠程響應數據為本地通用串行總線應答消息。
9.一種TC端,其特征在于,包括總線過濾驅動器和物理設備驅動器,所述總線過濾驅動器用于,接收VM端對所述TC端的物理設備的遠程訪問請求;將所述遠程訪問請求轉換為所述物理設備驅動器能夠讀取的遠程操作指令;向所述物理設備驅動器發送所述遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
10.根據權利要求9所述的TC端,其特征在于,所述物理設備驅動器還用于,接收所述物理設備的所述遠程響應數據并轉發給所述總線過濾驅動器;所述總線過濾驅動器還用于,接收所述物理設備驅動器的所述遠程響應數據并轉發給所述VM端。
11.根據權利要求9或10所述的TC端,其特征在于,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
12.根據權利要求11所述的TC端,其特征在于,所述總線過濾驅動器為通用串行總線過濾驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述遠程操作指令和本地操作指令為本地通用串行總線請求消息,所述遠程響應數據本地響應數據為本地通用串行總線應答消息。
13.一種VM端,其特征在于,包括虛擬總線驅動器和虛擬設備驅動器,所述虛擬總線驅動器用于,接收所述VM端的應用程序對所述·VM端的虛擬設備驅動器的虛擬操作指令;將所述虛擬操作指令轉換為所述TC端的總線過濾驅動器能夠讀取的遠程訪問請求;向所述TC端發送所述遠程訪問請求,所述遠程訪問請求用于指示所述總線過濾驅動器將所述遠程訪問請求轉換為所述TC端的物理設備驅動器能夠讀取的遠程操作指令,所述遠程操作指令用于指示所述物理設備驅動器驅動所述物理設備執行讀寫操作,并返回攜帶有所述讀寫操作的執行結果的遠程響應數據。
14.根據權利要求13所述的VM端,其特征在于,所述虛擬總線驅動器還用于,接收所述VM端的所述遠程響應數據并轉發給所述虛擬設備驅動器;所述虛擬設備驅動器還用于,接收所述虛擬總線驅動器的所述遠程響應數據并轉發給所述應用程序。
15.根據權利要求13或14所述的VM端,其特征在于,所述物理設備為通過通用串行總線連接到所述TC端的智能卡。
16.根據權利要求15所述的VM端,其特征在于,所述虛擬總線驅動器為虛擬通用串行總線驅動器,所述遠程訪問請求為遠程通用串行總線請求消息,所述虛擬操作指令為本地通用串行總線請求消息,所述遠程響應數據為本地通用串行總線應答消息。
【文檔編號】H04L29/08GK103595790SQ201310567832
【公開日】2014年2月19日 申請日期:2013年11月14日 優先權日:2013年11月14日
【發明者】陳震 申請人:華為技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影