新四季網

使用按需分階段的快速應用流傳輸的製作方法

2023-04-27 09:28:41

專利名稱:使用按需分階段的快速應用流傳輸的製作方法
技術領域:
本發明涉及使用按需分階段的快速應用流傳輸。
背景技術:
計算機已變得高度集成於工作、家庭、行動裝置以及許多其他地方中。計算機可快速且有效地處理大量信息。被設計成在計算機系統上運行的軟體應用允許用戶執行包括商業應用、學校作業、娛樂等等在內的各種各樣的功能。軟體應用通常被設計成執行特定的任務,諸如用於草擬文檔的文字處理器應用或者用於發送、接收和組織電子郵件的電子郵件程序。在某些情況下,軟體應用可通過應用伺服器提供。這些應用可被提供給瘦客戶機計算機系統或其他聯網的計算機系統。這些應用可在應用伺服器上運行,並且僅經由用戶的計算機系統上的用戶界面呈現給用戶。同樣地,這些類型的應用被稱為虛擬應用。應用伺服器可主控大量的這些虛擬應用,每個應用由不同的用戶訪問。虛擬應用在用戶的計算機系統上被分階段(staged),計算機系統將虛擬應用的大部分加載(至少暫時地)到用戶的本地硬驅動器或其他數據存儲上。

發明內容
本文中所描述的實施例涉及使用按需文件分階段來快速啟動虛擬軟體應用、使用按需註冊表分階段來快速啟動虛擬軟體應用,以及使用按需分階段來快速發布虛擬軟體應用。在一個實施例中,計算機系統創建高級文件列表,該高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表。計算機系統接收來自應用用戶的將訪問虛擬應用的指示,並基於接收到的指示為將被訪問的那些數據文件動態地創建稀疏數據文件。稀疏文件包括這些將被訪問的數據文件的文件名稱和文件大小。對應於稀疏數據文件的數據被存儲在遠程數據存儲中。然後,一旦確定虛擬應用試圖訪問稀疏數據文件,計算機系統按需動態地流傳輸(stream)來自遠程數據存儲的對應於稀疏數據文件的數據。在另一實施例中,計算機系統創建高級註冊表文件列表,該高級註冊表文件列表包括將被虛擬軟體應用使用的指定的高級註冊表文件的列表。計算機系統接收來自應用用戶的即將訪問虛擬應用的指示,並基於接收到的指示動態地創建將被訪問的高級列表中所列出的那些註冊表文件。通過這種方式,所創建的註冊表文件被寫入客戶機計算機系統註冊表中。然後,一旦確定應用試圖訪問附加的註冊表文件,計算機系統按需在客戶機計算機系統註冊表中動態地創建附加註冊表文件。在又一實施例中,管理計算機系統接收來自計算機管理員的輸入,該輸入指示在管理員的控制下多個虛擬軟體應用將在客戶機計算機系統上被發布。然後,響應於接收到的輸入,管理計算機系統向多個不同客戶機計算機系統發布虛擬軟體應用。發布包括在客戶機計算機系統中的至少一個上創建高級文件列表,該高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表,以及還按需為虛擬軟體應用所請求的那些數據文件創建稀疏數據文件。提供本發明內容以便以簡化形式介紹將在以下具體實施方式
中進一步描述的一些概念。本發明內容並非旨在標識所要求保護的主題的關鍵特徵或必要特徵,也不旨在用於幫助確定所要求保護的主題的範圍。附加的特徵和優點將在以下的描述中被闡述,並且部分地可通過該描述而對本領域技術人員顯而易見,或者可通過對本文中的教示的實踐來習得。本發明的實施例的特徵和優點可以通過在所附權利要求中特別指出的手段和組合來被實現並獲得。本發明的實施例的特徵將從以下描述和所附權利要求書中變得完全顯而易見,或者可通過如下所述對本發明的實踐而習得。


為了進一步闡明本發明的各實施例的以上和其他優點和特徵,將參考附圖來呈現本發明的各實施例的更具體的描述。可以理解,這些附圖只描繪本發明的典型實施例,因此將不被認為是對其範圍的限制。本發明的實施例將通過使用附圖用附加特徵和細節來描述和說明,附圖中圖1示出本發明的實施例可在其中運行的計算機體系結構,實施例包括使用按需文件分階段來快速啟動虛擬軟體應用。圖2示出用於使用按需文件分階段來快速啟動虛擬軟體應用的示例方法的流程圖。圖3示出用於使用按需註冊表分階段來快速啟動虛擬軟體應用的示例方法的流程圖。圖4示出了用於使用按需分階段來快速發布虛擬軟體應用的示例方法的流程圖。圖5示出了其中使用按需註冊表分階段來快速啟動虛擬軟體應用的計算機體系結構。
具體實施例方式本文中所描述的實施例涉及使用按需文件分階段來快速啟動虛擬軟體應用、使用按需註冊表分階段來快速啟動虛擬軟體應用,以及使用按需分階段來快速發布虛擬軟體應用。在一個實施例中,計算機系統創建高級文件列表,該高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表。計算機系統接收來自應用用戶的即將訪問虛擬應用的指示,並基於接收到的指示為那些即將被訪問的數據文件動態地創建稀疏數據文件。稀疏文件包括這些將被訪問的數據文件的文件名稱和文件大小。對應於稀疏數據文件的數據被存儲遠程數據存儲中。然後,一旦確定虛擬應用試圖訪問稀疏數據文件,計算機系統就按需動態地流傳輸來自遠程數據存儲的對應於稀疏數據文件的數據。在另一實施例中,計算機系統創建高級註冊表文件列表,該高級註冊表文件列表包括將被虛擬軟體應用使用的指定的高級註冊表文件的列表。計算機系統接收來自應用用戶的即將訪問虛擬應用的指示,並基於接收到的指示動態地創建將被訪問的高級列表中列出的那些註冊表文件。通過這種方式,所創建的註冊表文件被寫入客戶機計算機系統註冊表。然後,一旦確定該應用試圖訪問附加的註冊表文件,計算機系統按需在客戶機計算機系統註冊表中動態地創建附加註冊表文件。在又一實施例中,管理計算機系統接收來自計算機管理員的輸入,該輸入指示在管理員的控制下多個虛擬軟體應用將在客戶機計算機系統上被發布。然後,響應於接收到的輸入,管理計算機系統向多個不同客戶機計算機系統發布虛擬軟體應用。發布包括在客戶機計算機系統中的至少一個上創建高級文件列表,該高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表,以及還按需為虛擬軟體應用所請求的那些數據文件創建稀疏數據文件。以下討論現涉及可以執行的多種方法以及方法動作。應當注意,雖然這些方法動作可能是按一定次序討論的,或者是在流程圖中被描繪為是按照特定順序進行的,然而並非必然需要特定的次序,除非特別聲明,或者是在一個動作被執行之前因為該動作依賴於另一動作的完成而需要的情況。本發明的各實施例可包括或利用專用或通用計算機,該專用或通用計算機包括諸如例如一個或多個處理器和系統存儲器等計算機硬體,如以下更詳細討論的。本發明範圍內的各實施例還包括用於承載或存儲計算機可執行指令和/或數據結構的物理和其他計算機可讀介質。這樣的計算機可讀介質可以是可由通用或專用計算機系統訪問的任何可用介質。以數據形式存儲有計算機可執行指令的計算機可讀介質是計算機存儲介質。承載計算機可執行指令的計算機可讀介質是傳輸介質。由此,作為示例而非限制,本發明的各實施例可包括至少兩種顯著不同的計算機可讀介質計算機存儲介質和傳輸介質。計算機存儲介質包括RAM、ROM、EEPROM、CD-ROM、基於RAM、快閃記憶體、相變存儲器(PCM)、或其它類型的存儲器的固態驅動器(SSD)、或者其他光碟存儲、磁碟存儲或其他磁存儲設備、或可用於以計算機可執行指令、數據或數據結構形式存儲所期望的程序代碼裝置且可被通用或專用計算機訪問的任何其他介質。「網絡」被定義成允許在計算機系統和/或模塊和/或其他電子設備之間傳輸電子數據的一個或多個數據鏈路和/或數據交換機。當信息通過網絡(硬連線、無線、或者硬連線或無線的組合)被傳輸或提供給計算機時,該計算機將該連接適當地視為傳輸介質。傳輸介質可以包括如下的網絡所述網絡可以用於運送計算機可執行指令形式或數據結構形式的數據或所期望的程序代碼裝置,並且可以被通用或專用計算機訪問。上述的組合也應被包括在計算機可讀介質的範圍內。此外,在到達各種計算機系統組件之後,計算機可執行指令或數據結構形式的程序代碼裝置可從傳輸介質自動傳輸到計算機存儲介質(或反之亦然)。例如,通過網絡或數據鏈路接收到的計算機可執行指令或數據結構可被緩衝在網絡接口模塊(例如,網絡接口卡或「NIC」)內的RAM中,然後最終被傳輸給計算機系統RAM和/或計算機系統處的較不易失性的計算機存儲介質。因而,應當理解,計算機存儲介質可被包括在還利用(或甚至主要利用)傳輸介質的計算機系統組件中。計算機可執行(或計算機可說明)指令例如包括致使通用計算機、專用計算機、或專用處理設備執行某個功能或某組功能的指令。計算機可執行指令可以是例如二進位代碼、諸如彙編語言之類的中間格式指令、或甚至原始碼。儘管用結構特徵和/或方法動作專用的語言描述了本主題,但可以理解,所附權利要求書中定義的主題不必限於上述特徵或動作。相反,上述特徵和動作是作為實現權利要求的示例形式而公開的。
本領域的技術人員將理解,本發明可以在具有許多類型的計算機系統配置的網絡計算環境中實踐,這些計算機系統配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設備、多處理器系統、基於微處理器的或可編程消費電子設備、網絡PC、小型計算機、大型計算機、行動電話、PDA、尋呼機、路由器、交換機等等。本發明還可在分布式系統環境中實踐,在該環境中本地和遠程計算機系統通過網絡(經由硬連線數據鏈路、無線數據鏈路、或者經由硬連線和無線數據鏈路的組合)連結起來,每個計算機系統都執行任務(例如,雲計算、雲服務等)。在分布式系統環境中,程序模塊可以位於本地和遠程存儲器存儲設備~■者中。圖1示出了可在其中採用本發明的原理的計算機體系結構100。計算機體系結構100包括客戶機計算機系統101。客戶機計算機系統101可以是任何類型的本地或分布式計算機系統,包括雲計算機系統。客戶機計算機系統包括用於執行特定任務的多個模塊和其他元件。例如,稀疏文件創建模塊115可創建稀疏文件,將如以下進一步所說明的。客戶機計算機系統包括一個或多個虛擬應用110。每個虛擬應用可從應用伺服器運行或從遠程數據存儲運行。應用可看起來是本地安裝的應用,即使應用不是本地安裝的。可按需流傳輸來自遠程數據存儲130的應用的文件131。最開始,當已向客戶機計算機系統(例如,101)發布虛擬應用時,虛擬應用包含文件列表111。文件列表包括高級數據文件和目錄的列表112。因此,在文件列表中列出該應用的對應文件的一些但不是全部。實際文件不存儲在本地數據存儲120(例如,硬碟)上;而是存儲文件列表。當虛擬應用請求文件時,為每個所請求的文件創建稀疏文件。本文中所使用的術語「稀疏文件」指 包括文件的名稱122和大小123的佔位符。因此,因為存在稀疏文件,本地文件系統調用該文件將返回肯定(positive),表明文件存在於本地盤上。然而,文件的實際數據不存儲在盤上。文件的實際數據131存儲在遠程數據存儲130上,直到被虛擬應用請求。當數據被請求,數據被流傳輸到本地數據存儲,並且至少在某些實施例中被存儲以供後續使用。當應用需要新文件時(例如,用戶訪問應用的新特徵),稀疏文件創建模塊115將為每個所請求的文件創建稀疏文件。這些稀疏文件可按照樹/目錄結構來創建。最後,(如果已訪問該應用的所有特徵)所有應用的文件和目錄將被存儲在本地數據存儲120上。應當注意,不在盤上(本地)創建從未被訪問的文件和目錄,因此不佔用磁碟空間資源。在某些情況下,管理員(例如,管理用戶145)可越過上述按需分階段並選擇將所有文件預加載到磁碟上。在此情況下,應用的數據文件被窮盡地流傳輸並被存儲在本地。以下將描述各個實施例,包括如下1)快速發布,其中發布操作基本上立即完成。後續數據請求導致生成稀疏文件和目錄。2)快速啟動虛擬應用。在應用被啟動之前,虛擬應用的文件不需要存在於本地。按需創建稀疏文件並按需填充數據(流傳輸)。3)第一次訪問損失僅是一旦數據文件被創建並被流傳輸,數據文件不再稀疏並且不需要進一步更新或訪問。低級流式過濾器不再攔截和處理文件系統訪問。後續使用可包括數據文件系統混合,因為虛擬化軟體堆棧的其餘部分將虛擬應用的命名空間與本地文件系統的命名空間混合。4)僅在需要時佔用磁碟空間資源。如果文件或目錄未被訪問,則不在盤上(即使稀疏地)創建數據文件。如果通過枚舉訪問數據文件但未讀取任何內容,則文件僅稀疏地存在(即,沒有佔用盤空間資源)。僅當讀取文件內容時,才佔用任何有效的盤空間。
類似於數據文件,可使用稀疏文件和數據流傳輸動態地填充作業系統的註冊表。應用的註冊表內容的輕量列表被下載至客戶機計算機系統。列表一被下載,應用發布操作就完成。客戶機計算機系統上的後臺程序將註冊表內容加載至系統的註冊表中。注意,註冊表和文件之間存在差異。儘管文件和目錄是按需創建的,但它們的內容不被流傳輸到目標機器,除非被訪問(或除非管理員越過分階段,並預加載包內容)。註冊表可被預加載到客戶機計算機系統上,但按照相對於發布操作異步的方式。當在目標機器上發布應用包時,多個註冊表文件在其第一次被訪問時在本地被複製。註冊表文件是格式良好的標準格式的註冊表單元文件。由於註冊表文件是文件,因此首先使用上述按需分階段方法來創建註冊表文件。一旦被創建,註冊表文件被裝載(並因此其內容被流傳輸)到客戶機計算機系統的本機註冊表中,以便其內容可被讀取並且被複製到客戶機計算機系統101的預定義的位置。應用虛擬化軟體可被用於使作業系統的本機註冊表與虛擬應用的註冊表混合,以使它對於虛擬應用110看起來統一。在第一次訪問時,創建用於初始化虛擬應用的多個註冊表密鑰。最終,包註冊表內容將被加載到目標機器的註冊表中(但按照與發布操作和虛擬應用使用異步的方式)。本文中所描述的實施例包含以下元素中的一個或多個1)繼承客戶機計算機系統的安全性。例如,一個計算機系統可具有與另一註冊表項不同的註冊表密鑰。使用每個計算機系統的本地密鑰,而不是採用單個應用包越過所有客戶機計算機系統密鑰。2)對客戶機計算機系統的註冊表的訪問權如常。存在任何現有的註冊表保護,每個現有的註冊表保護具有每臺機器的粒度。3)快速發布操作。發布操作立刻完成,甚至不等待在磁碟上創建稀疏註冊表單元文件。4)快速註冊表內容的可用性。在虛擬應用第一次啟動時,裝載註冊表文件。由於這是第一次訪問,註冊表文件在磁碟上被稀疏地創建並在此時被流傳輸。5)快速第一次啟動虛擬應用。僅涉及的同步操作是到磁碟的流傳輸和應用包註冊表單元文件的加載。隨後監測註冊表訪問。對還未複製到目標機器的註冊表中的目的地的內容的任何訪問的優先級提升。6) —旦每個註冊表文件被複製到它的目標目的地(在客戶機計算機系統的註冊表中),附加的複製是不必要的。一旦已經複製應用包註冊表單元文件,就通過虛擬化軟體來混合需要混合的命名空間。以下將分別參照圖2、3和4的方法200、300和400來進一步描述這些方面。鑑於上述系統和體系結構,參照圖2、3和4的流程圖將更好地理解可根據所公開的主題實現的方法。為了說明簡明起見,這些方法被示出和描述為一系列框。然而,應該理解和了解,所要求保護的主題不受框的次序的限制,因為一些框可按不同的次序進行和/或與此處所描繪和描述的其他框同時進行。此外,並非全部所示的框都是實現下面所述的方法所必需的。圖2示出了用於使用按需文件分階段來快速啟動虛擬軟體應用的方法200的流程圖。現在將頻繁參考環境100的組件和數據來描述方法200。方法200包括在客戶機計算機系統上創建高級文件列表的動作(動作210),該高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表。例如,可在計算機系統101上創建文件列表111。該文件列表包括屬於給定虛擬應用110的部分的高級數據文件和目錄的列表。列表112中的文件可包括屬於應用的用戶界面(UI)的部分的列表文件、屬於應用的啟動過程的一部分、主要功能的部分或應用的任何其他部分的文件的列表。因此,根據應用或根據管理員設置,高級數據文件和目錄的列表112的範圍可從很短的列表到很長的列表。每個應用可具有屬於那個包的一組文件。同樣,文件列表111可簡單地包括那個應用包的文件或包的文件的子集。方法200還包括接收來自應用用戶的將訪問虛擬應用的指示的動作(動作220)。例如,客戶機計算機系統101可接收來自用戶105的指示將訪問虛擬應用110的指示106。在一些情況下,可在應用已經在運行時接收該指示。在其他情況下,該指示可指示將啟動應用,或更具體地指示將啟動應用的用戶界面。在此類情況下,為那些將被用於初始化虛擬應用的文件動態地創建稀疏文件。如上所述,稀疏文件是僅包括對應文件的文件名稱122和文件大小123的佔位符。稀疏文件創建模塊115可基於接收到的指示(不論是用於初始化程序還是用於在程序已經在運行時訪問程序的特徵)為那些將被訪問的數據文件創建稀疏數據文件121。響應於用戶的指示106,為每個將被訪問的數據文件動態地生成稀疏文件。在客戶機計算機系統上在本地數據存儲120中本地地創建稀疏文件(動作230)。每個稀疏文件具有對應的本地存儲的或在遠程數據存儲130上的數據文件。在某些實施例中,當第一次訪問文件時,在本地數據存儲上創建那個文件的稀疏文件。然後,通過文件系統的任何初始請求將讀取稀疏文件並認為文件是在本地存儲的。當在文件系統處接收數據讀請求以實際讀取該文件的數據時,請求被發送至遠程數據存儲(例如,雲),適當的應用文件131被檢索並被流傳輸到客戶機計算機系統的本地數據存儲。然後,針對該請求和任何後續數據請求,文件系統讀取來自本地數據存儲的數據。在某些情況下,客戶機計算機系統可確定來自用戶1-5的指示將訪問特定的目錄的指示106。在此類情況下,稀疏文件創建模塊115可動態地創建指定目錄及其當前內容的稀疏文件。同樣,稀疏文件將包括指定目錄中的任何數據文件以及任何子文件夾的名稱。然而,將不為指定目錄的子文件夾下的數據文件或子文件夾創建稀疏文件。以此方式,僅為已被訪問的(或已請求訪問的)數據文件創建稀疏文件。如果用戶請求將被訪問的指定文件並且該文件位於子目錄中,則稀疏文件創建模塊可為指定數據文件的根目錄和每個插入子目錄動態地創建稀疏文件。然後,如上所述,當客戶機計算機系統的文件系統確定虛擬應用110試圖訪問稀疏文件121中的一個或多個時,客戶機計算機系統請求對應於被訪問稀疏文件的數據文件按需從遠程數據存儲動態地流傳輸(動作240)。可單獨地或多個地、串行或並行地流傳輸這些數據文件。文件可被本地存儲或訪問,或可直接流傳輸至虛擬應用。在文件存儲在本地數據存儲上的情況下,可通過本地訪問數據文件來滿足任何後續訪問請求。還可以類似的方式創建虛擬應用註冊表文件。可為那些由虛擬應用訪問的註冊表文件動態地創建稀疏註冊表文件。這將參照圖3在下文中更詳細地說明。應當注意,管理用戶145可指示為一個或多個指定數據文件或虛擬應用越過按需分階段。例如,如果應用非常小,管理員可指定將越過按需分階段並且將指定數據文件在本地預加載到本地數據存儲上。管理員已越過按需分階段的這些文件或應用可被文件系統正常地訪問,就如同該應用是在本地安裝的。此外,當虛擬應用文件被存儲在本地數據存儲上(或者在被流傳輸後或由於越過),本地文件系統命名空間可與虛擬應用使用的那些文件系統命名空間混合以供虛擬應用直接使用。 圖3示出了用於使用按需註冊表分階段來快速啟動虛擬軟體應用的方法300的流程圖。現在將頻繁參照圖4的環境400的組件和數據來描述方法300。方法300包括在客戶機計算機系統上創建高級註冊表文件列表的動作(動作310),該高級註冊表文件列表包括將被虛擬軟體應用使用的指定的高級註冊表文件的列表。例如,可在客戶機計算機系統450上創建註冊表文件列表461。該文件列表包括將被虛擬應用460使用的高級註冊表文件462的列表。與文件列表111 一樣,註冊表文件列表可包括那些將被虛擬應用使用的註冊表文件中的所有或一部分。客戶機計算機系統可接收來自應用用戶455的將訪問虛擬應用的指示456 (動作320)。當接收到該指示時,應用可能還沒有運行,在此情況下,該指示請求啟動應用。如果接到指示時虛擬應用已在運行,則該指示可請求由該應用所提供的還未被使用的功能。響應於接收到的指示456,註冊表文件創建模塊465可基於接收到的指示動態地創建那些在將被訪問的高級列表462中列出的註冊表文件(動作330)。通過這種方式,動態創建的註冊表文件被寫入客戶機計算機系統註冊表470中。因此,針對將被訪問的每個註冊表文件471,可創建對應的稀疏文件。然後,由於將要訪問來自註冊表文件476的數據、值或密鑰,所以從遠程數據存儲475流傳輸數據、值或密鑰。至少在某些情況下,可結合用於多個不同虛擬軟體應用的註冊表分階段。同樣,多個虛擬應用的註冊表文件可同時從遠程數據存儲動態地流傳輸。還應當注意,註冊表文件的動態創建可作為客戶機計算機系統上的後臺程序被執行。響應於確定應用460試圖訪問附加的註冊表文件,註冊表文件創建模塊可按需在客戶機計算機系統註冊表470中動態地創建附加註冊表文件(動作340)。在應用第一次被啟動的情況下,為那些將用於初始化應用的文件動態地創建註冊表文件。在應用已在運行的情況下,動態地創建註冊表文件471以用於新訪問的特徵。如果動態創建的註冊表文件不再可訪問(無論出於什麼原因),包含應用程式請求的密鑰所需數據的註冊表文件被按需流傳輸至客戶機計算機系統。此外,來自虛擬應用的任何請求可在註冊表密鑰層次被攔截。然後,可利用來自動態創建的註冊表文件的數據為每個數據請求按需創建註冊表密鑰。隨著時間推移,用於應用的每個註冊表文件將被動態地創建並存儲在本地系統註冊表470中。這些註冊表文件中的每一個可按照異步方式動態地被創建(或在一些情況下被預加載,如果管理員如此指定的話)。圖4示出了用於使用按需分階段來快速發布虛擬軟體應用的方法400的流程圖。現在將頻繁參考環境100的組件和數據來描述方法400。方法400包括接收來自計算機管理員的輸入的動作(動作410),該輸入指示將在一個或多個客戶機計算機系統上發布一個或多個虛擬軟體應用。例如,管理計算機系統140可接收來自管理用戶145的輸入146。該輸入可指示將在客戶機計算機系統101 (和任何數量的其他客戶機計算機系統)上發布多個指定的虛擬應用110。響應於接收到的輸入,虛擬應用發布模塊141可向客戶機計算機系統發布該虛擬軟體應用(動作420)。發布包括在至少客戶機計算機系統101上創建高級文件列表111的動作(動作420A),該高級文件列表111包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表112。發布還包括稀疏文件創建模塊115為虛擬軟體應用110所請求的那些數據文件131按需創建一個或多個稀疏數據文件121的動作(動作420B)。以此方式,管理用戶可向多個不同的計算機系統發布應用。管理用戶僅需要發送指示,從而應用的圖標可出現在應用被發布到的每個計算機系統上。一旦用戶點擊圖標來啟動應用,則如上所述開始按需分階段。用於初始化應用的每個文件具有對應的所創建的稀疏文件。當實際數據被請求時,數據將從遠程數據存儲被流傳輸並在本地被存儲或直接流傳輸至虛擬應用。然後,一旦應用在運行,被訪問的任何後續虛擬應用文件將具有對應的所創建的稀疏文件並將從遠程數據存儲被流傳輸。此外,當應用第一次被發布時,可創建高級註冊表文件列表,該高級註冊表文件列表包括將在應用初始化時被使用的指定的高級註冊表文件的列表。然後,在高級列表中列出的將被訪問以用於初始化程序或用於訪問應用的新部分的那些註冊表文件被動態地創建並被寫入客戶機計算機系統註冊表。以此方式,應用可基本上被即時地發布,並且對應用的更新可在管理用戶的指示下動態地發布。因此,提供了使用按需文件分階段來快速啟動虛擬軟體應用的方法、系統和電腦程式產品。而且,提供了使用按需註冊表分階段來快速啟動應用和使用按需分階段來快速發布虛擬軟體應用的方法、系統和電腦程式產品。本發明可具體化為其它具體形式而不背離其精神或本質特徵。所描述的實施例在所有方面都應被認為僅是說明性而非限制性的。因此,本發明的範圍由所附權利要求書而非前述描述指示。落入權利要求書的等效方案的含義和範圍內的所有改變被權利要求書的範圍所涵蓋。
權利要求
1.在包括至少一個處理器和存儲器的客戶機計算機系統處,在包括多個計算系統的計算機聯網環境中,一種用於使用按需文件分階段來快速啟動虛擬軟體應用的計算機實現的方法,所述方法包括 在客戶機計算機系統上創建高級文件列表的動作,所述高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表; 接收來自應用用戶的將訪問虛擬應用的指示的動作; 基於接收到的指示為那些將被訪問的數據文件動態地創建稀疏數據文件的動作,所述稀疏文件包括那些將被訪問的數據文件的文件名稱和文件大小,對應於所述稀疏數據文件的數據被存儲在遠程數據存儲中;以及 一旦確定所述虛擬應用試圖訪問一個或多個稀疏數據文件,按需動態地流傳輸來自遠程數據存儲的對應於所述稀疏數據文件的數據的動作。
2.如權利要求1所述的方法,其特徵在於,來自用戶的指示指示將初始化所述虛擬應用。
3.如權利要求2所述的方法,其特徵在於,為那些將被用於初始化所述虛擬應用的文件動態地創建稀疏文件。
4.如權利要求1所述的方法,其特徵在於,還包括 確定來自用戶的指示指出將訪問指定的目錄的動作;以及 為指定的目錄及其當前內容動態地創建稀疏文件的動作。
5.如權利要求1所述的方法,其特徵在於,還包括 確定來自用戶的指示指出將訪問指定的文件的動作,其中指定的文件位於子目錄中;以及 為指定的數據文件的根目錄和每個插入子目錄動態地創建稀疏文件的動作。
6.如權利要求1所述的方法,其特徵在於,管理用戶指示為一個或多個指定的數據文件越過按需分階段,以使得指定的數據文件被預加載到盤上。
7.如權利要求1所述的方法,其特徵在於,那些被流傳輸至計算機系統的數據文件被存儲在本地數據存儲上。
8.如權利要求7所述的方法,其特徵在於,對以前流傳輸的數據文件的後續應用請求被攔截並被發送至本地數據存儲以供履行。
9.在包括至少一個處理器和存儲器的客戶機計算機系統處,在包括多個計算系統的計算機聯網環境中,一種用於使用按需註冊表分階段來快速啟動虛擬軟體應用的計算機實現的方法,所述方法包括 在客戶機計算機系統上創建高級註冊表文件列表的動作,所述高級註冊表文件列表包括將被虛擬軟體應用使用的指定的高級註冊表文件的列表; 接收來自應用用戶的將訪問虛擬應用的指示的動作; 基於接收到的指示動態地創建那些在高級列表中列出的將被訪問的註冊表文件的動作,使得所創建的註冊表文件被寫入客戶機計算機系統註冊表;以及 一旦確定所述應用試圖訪問一個或多個附加的註冊表文件,在客戶機計算機系統註冊表中按需動態地創建所述附加的註冊表文件的動作。
10.如權利要求9所述的方法,其特徵在於,還包括在註冊表密鑰層次攔截來自所述虛擬軟體應用的數據請求;以及 使用來自所述動態創建的註冊表文件的數據為每個數據請求按需創建註冊表密鑰。
11.如權利要求10所述的方法,其特徵在於,如果動態創建的註冊表文件不再可訪問,則包含應用程式請求的密鑰所需數據的註冊表文件被按需流傳輸至客戶機計算機系統。
12.如權利要求9所述的方法,其特徵在於,為那些將被用於初始化所述虛擬軟體應用的文件動態地創建註冊表文件。
13.如權利要求9所述的方法,其特徵在於,註冊表以異步的方式被預加載到客戶機計算機系統中。
14.在包括至少一個處理器和存儲器的管理計算機系統處,在包括多個客戶機計算系統的計算機聯網環境中,一種用於使用按需分階段來快速發布虛擬軟體應用的計算機實現的方法,所述方法包括 接收來自計算機管理員的輸入的動作,所述輸入指示將在一個或多個客戶機計算機系統上發布一個或多個虛擬軟體應用; 響應於接收到的輸入,向一個或多個客戶機計算機系統發布虛擬軟體應用的動作,其中發布包括 在多個客戶機計算機系統中的至少一個上創建高級文件列表的動作,所述高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表;以及 為所述虛擬軟體應用所請求的那些數據文件按需創建一個或多個稀疏數據文件的動作。
15.如權利要求14所述的方法,其特徵在於,向一個或多個客戶機計算機系統發布虛擬軟體應用進一步包括 在客戶機計算機系統上創建高級註冊表文件列表的動作,所述高級註冊表文件列表包括在所述虛擬軟體應用初始化時將被使用的指定的高級註冊表文件的列表;以及 基於接收到的指示動態地創建那些在所述高級列表中所列出的將被訪問的註冊表文件的動作,以使得所創建的註冊表文件被寫入客戶機計算機系統註冊表中。
全文摘要
本發明涉及使用按需分階段的快速應用流傳輸。實施例涉及使用按需文件分階段來快速啟動虛擬軟體應用、使用按需註冊表分階段來快速啟動虛擬軟體應用以及涉及使用按需分階段來快速發布虛擬軟體應用。在一個場景中,計算機系統創建高級文件列表,該高級文件列表包括屬於虛擬應用包的部分的指定的高級數據文件和目錄的列表。計算機系統接收來自應用用戶的將訪問虛擬應用的指示,並基於接收到的指示為將被訪問的那些數據文件創建稀疏數據文件。然後,一旦確定虛擬應用試圖訪問稀疏數據文件,計算機系統按需從遠程數據存儲動態地流傳輸對應於稀疏數據文件的數據。
文檔編號G06F9/455GK103064703SQ20121054461
公開日2013年4月24日 申請日期2012年12月14日 優先權日2011年12月15日
發明者M·R·揚德克, G·S·布拉爾, H·李 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀