連接虛擬化的制作方法
【專利說明】連接虛擬化
[0001] 相關(guān)申請的交叉引用
[0002] 本申請根據(jù)35U.S.C.§119(e)而要求2014年1月10日遞交的美國臨時專利申請61/ 926,198的優(yōu)先權(quán),其通過引用而被包含于此。
【背景技術(shù)】
[0003] 隨著計(jì)算機(jī)和客戶端裝置變得更加高級,計(jì)算機(jī)和客戶端裝置所使用并訪問的數(shù) 據(jù)的類型不同且不同類型的數(shù)據(jù)的大小也不同。另外,隨著各種類型的數(shù)據(jù)的大小增大,網(wǎng) 絡(luò)得W發(fā)展并且變得更加能夠處理大小較大的數(shù)據(jù)的傳送。具體地,可W將整個應(yīng)用程序 或操作系統(tǒng)經(jīng)由網(wǎng)絡(luò)傳送至計(jì)算機(jī)或客戶端裝置。
[0004] 盡管網(wǎng)絡(luò)已變得更加能夠處理大小較大的數(shù)據(jù)的傳送,但在經(jīng)由網(wǎng)絡(luò)將數(shù)據(jù)高效 地傳送至計(jì)算機(jī)和客戶端裝置時,仍存在問題。另外,在傳送數(shù)據(jù)時經(jīng)由被拆除或終止且隨 后斷開的有狀態(tài)連接(state化1 connection)來傳送數(shù)據(jù)的情況下,存在問題。具體地,在 一個示例中,連接被拆除并且重新建立作為連接,并且計(jì)算或數(shù)據(jù)服務(wù)任務(wù)在服務(wù)器群之 間、或者服務(wù)器群內(nèi)的服務(wù)器之間移動。
[0005] 本領(lǐng)域技術(shù)人員在閱讀本說明書并研究附圖時,將明白相關(guān)技術(shù)的其它限制。
【發(fā)明內(nèi)容】
[0006] 結(jié)合意圖是示例性和說明性而未必對范圍進(jìn)行限制的系統(tǒng)、工具和方法來描述和 說明W下的實(shí)現(xiàn)及其方面。在各種實(shí)現(xiàn)中,已經(jīng)解決了上述問題中的一個或多個,而其它實(shí) 現(xiàn)設(shè)及其它改進(jìn)。
[0007] 各種實(shí)現(xiàn)設(shè)及使利用連接虛擬化系統(tǒng)在客戶端裝置和數(shù)據(jù)提供方系統(tǒng)之間所創(chuàng) 建的有狀態(tài)連接虛擬化。經(jīng)由有狀態(tài)連接所發(fā)送來的應(yīng)答和請求被攔截并存儲在本地?cái)?shù)據(jù) 存儲器中。連接檢測引擎判斷有狀態(tài)連接在客戶端裝置和數(shù)據(jù)提供方系統(tǒng)之間是否保持完 好?;谟袪顟B(tài)連接是否完好來生成部署指示,并且基于運(yùn)些部署指示來將本地存儲的所 攔截的請求和應(yīng)答發(fā)送至適當(dāng)?shù)慕邮辗健?br>[000引根據(jù)本發(fā)明的一方面,一種方法,包括W下步驟:利用連接虛擬化系統(tǒng)來建立客戶 端裝置和數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接;對經(jīng)由利用所述連接虛擬化系統(tǒng)的所述客戶 端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接所發(fā)送來的請求、應(yīng)答或者請求和應(yīng)答的 組合進(jìn)行攔截;對所攔截的請求、應(yīng)答或者請求和應(yīng)答的組合進(jìn)行本地存儲;判斷所述客戶 端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接是否完好;基于是否判斷為所述客戶端裝 置和所述數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接完好,來生成用W部署本地存儲的所攔截的請 求、應(yīng)答或者請求和應(yīng)答的組合的部署指示;W及根據(jù)所述部署指示,來部署本地存儲的所 攔截的請求、應(yīng)答或者請求和應(yīng)答的組合。
[0009]根據(jù)本發(fā)明的另一方面,一種系統(tǒng),包括:請求攔截引擎,用于對經(jīng)由利用連接虛 擬化系統(tǒng)在客戶端裝置和數(shù)據(jù)提供方系統(tǒng)之間建立的有狀態(tài)連接所發(fā)送來的請求進(jìn)行攔 截,并且將所攔截的請求存儲在本地?cái)?shù)據(jù)存儲器中;應(yīng)答攔截引擎,用于對經(jīng)由利用所述連 接虛擬化系統(tǒng)在所述客戶端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間建立的有狀態(tài)連接所發(fā)送來 的應(yīng)答進(jìn)行攔截,并且將所攔截的應(yīng)答存儲在本地?cái)?shù)據(jù)存儲器中;連接檢測引擎,用于判斷 所述客戶端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接是否完好;部署指示生成引擎, 用于基于所述連接檢測引擎是否判斷為所述客戶端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間的有 狀態(tài)連接完好,來生成用W部署本地存儲的所攔截的請求、應(yīng)答或者請求和應(yīng)答的組合的 部署指示;W及緩沖器管理系統(tǒng),用于根據(jù)所述部署指示,來部署本地存儲的所攔截的請 求、應(yīng)答或者請求和應(yīng)答的組合。
[0010] 根據(jù)本發(fā)明的又一方面,一種系統(tǒng),包括:用于利用連接虛擬化系統(tǒng)來建立客戶端 裝置和數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接的部件;用于對經(jīng)由利用所述連接虛擬化系統(tǒng)的 所述客戶端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接所發(fā)送來的請求、應(yīng)答或者請求 和應(yīng)答的組合進(jìn)行攔截的部件;用于對所攔截的請求、應(yīng)答或者請求和應(yīng)答的組合進(jìn)行本 地存儲的部件;用于判斷所述客戶端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接是否完 好的部件;用于基于是否判斷為所述客戶端裝置和所述數(shù)據(jù)提供方系統(tǒng)之間的有狀態(tài)連接 完好來生成用W部署本地存儲的所攔截的請求、應(yīng)答或者請求和應(yīng)答的組合的部署指示的 部件;W及用于根據(jù)所述部署指示來部署本地存儲的所攔截的請求、應(yīng)答或者請求和應(yīng)答 的組合的部件。
[0011] 本領(lǐng)域技術(shù)人員在閱讀W下說明并研究附圖的幾個示例時,將明白運(yùn)些W及其它 優(yōu)點(diǎn)。
【附圖說明】
[0012] 圖1示出用于創(chuàng)建虛擬化連接的系統(tǒng)的示例的圖。
[0013] 圖2示出用于創(chuàng)建虛擬化連接的系統(tǒng)的另一示例的圖。
[0014] 圖3示出用于生成部署指示、并且基于運(yùn)些部署指示來部署本地存儲的所攔截的 請求和應(yīng)答的系統(tǒng)的示例的圖。
[0015] 圖4示出重新建立創(chuàng)建了虛擬化連接的連接的系統(tǒng)的示例的圖。
[0016] 圖5示出用于使用連接虛擬化系統(tǒng)來建立連接的方法的示例的流程圖,其中該連 接虛擬化系統(tǒng)在建立連接時被實(shí)現(xiàn)為中間節(jié)點(diǎn)。
[0017] 圖6示出用于創(chuàng)建虛擬化連接的方法的示例的流程圖。
[0018] 圖7示出用于使用連接虛擬化系統(tǒng)來重新建立連接的方法的示例的流程圖。
【具體實(shí)施方式】
[0019] 圖1示出用于創(chuàng)建虛擬化連接的系統(tǒng)的示例的圖100。圖1所示的示例系統(tǒng)包括計(jì) 算機(jī)可讀介質(zhì)102、客戶端裝置104、數(shù)據(jù)提供方系統(tǒng)106和連接虛擬化系統(tǒng)108。
[0020] 客戶端裝置104、數(shù)據(jù)提供方系統(tǒng)106和連接虛擬化系統(tǒng)108經(jīng)由計(jì)算機(jī)可讀介質(zhì) 102彼此連接。如本文中所使用的,"計(jì)算機(jī)可讀介質(zhì)"意圖包括法定的(例如,在美國為根據(jù) 3抓.S.C. 101的)所有介質(zhì),并且具體為排除從性質(zhì)而言非法定的所有介質(zhì),W達(dá)到針對包 括有效的計(jì)算機(jī)可讀介質(zhì)的權(quán)利要求需要進(jìn)行該排除的程度。已知的法定計(jì)算機(jī)可讀介質(zhì) 包括硬件(例如,寄存器、隨機(jī)存取存儲器(RAM)、非易失性(NV)存儲器(僅舉幾個例子)),但 可W局限于硬件或可W不限于硬件。
[0021] 計(jì)算機(jī)可讀介質(zhì)102意圖表示各種潛在可應(yīng)用的技術(shù)。例如,計(jì)算機(jī)可讀介質(zhì)102 可用于形成網(wǎng)絡(luò)或網(wǎng)絡(luò)的一部分。在兩個組件共同位于裝置上的情況下,計(jì)算機(jī)可讀介質(zhì) 102可W包括總線或其它數(shù)據(jù)管道或?qū)用?。在第一組件共同位于一個裝置并且第二組件位 于不同裝置上的情況下,計(jì)算機(jī)可讀介質(zhì)102可W包括無線或有線的后端網(wǎng)絡(luò)或LAN。計(jì)算 機(jī)可讀介質(zhì)102在適用的情況下,還可W包含WAN或其它網(wǎng)絡(luò)的相關(guān)部分。
[0022] 本文所述的計(jì)算機(jī)可讀介質(zhì)102、客戶端裝置104、數(shù)據(jù)提供方系統(tǒng)106、連接虛擬 化系統(tǒng)108和其它系統(tǒng)或裝置可被實(shí)現(xiàn)為計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)系統(tǒng)的一部分或多個計(jì)算機(jī) 系統(tǒng)。如本文所使用的,計(jì)算機(jī)系統(tǒng)意圖從廣義上進(jìn)行構(gòu)造,并且可W包括或被實(shí)現(xiàn)為用于 執(zhí)行本文所述的功能的專用計(jì)算機(jī)系統(tǒng)。通常,計(jì)算機(jī)系統(tǒng)將包括處理器、存儲器、非易失 性存儲器和接口。典型的計(jì)算機(jī)系統(tǒng)通常將至少包括處理器、存儲器和使存儲器連接至處 理器的裝置(例如,總線)。處理器例如可W是諸如微處理器等的通用型中央處理單元 (CPU)、或者諸如微控制器等的專用處理器。
[002引存儲器可W通過示例而非限制性的方式包括諸如動態(tài)RAM(DRAM)和靜態(tài)RAM (SRAM)等的隨機(jī)存取存儲器(RAM)。存儲器可W為本地的、遠(yuǎn)程的或分布式的??偩€還可W 使處理器連接至非易失性存儲器。非易失性存儲器經(jīng)常是磁性軟盤或硬盤、磁光盤、光盤、 只讀存儲器(ROM)(諸如CD-R0M、EPR0M或邸PROM等)、磁性或光學(xué)卡、或者針對大量數(shù)據(jù)的其 它形式的存儲器。在計(jì)算機(jī)系統(tǒng)上執(zhí)行軟件期間,該數(shù)據(jù)中的一些數(shù)據(jù)經(jīng)常通過直接存儲 器訪問處理而被寫入存儲器。非易失性存儲器可W是本地的、遠(yuǎn)程的或分布式的。由于可W 利用存儲器中可利用的所有適用數(shù)據(jù)來創(chuàng)建系統(tǒng),因此非易失性存儲器是可選的。
[0024] 通常將軟件存儲在非易失性存儲器中。實(shí)際上,對于大型程序,可能甚至無法將整 個程序存儲在存儲器中。然而,應(yīng)當(dāng)理解,為了運(yùn)行軟件,在需要的情況下,將該軟件移動至 適合處理的計(jì)算機(jī)可讀位置,并且為了例示目的,在本文中將該位置稱為存儲器。即使在將 軟件移動至存儲器W供執(zhí)行的情況下,處理器通常也將利用用W存儲與該軟件相關(guān)聯(lián)的值 的硬件寄存器、W及理想上用于加速執(zhí)行的本地高速緩沖存儲器。如運(yùn)里所使用的,在將軟 件程序稱為計(jì)算機(jī)可讀存儲介質(zhì)來實(shí)現(xiàn)"的情況下,假定將該軟件程序存儲在適用的已 知或方便的位置(從非易失性存儲器到硬件寄存器)。在將與程序相關(guān)聯(lián)的至少一個值存儲 在處理器可讀取的寄存器中的情況下,該處理器被視為"被配置為執(zhí)行該程序"。
[0025] 在操作的一個示例中,可W利用作為包括諸如盤操作系統(tǒng)等的文件管理系統(tǒng)的軟 件程序的操作系統(tǒng)軟件來控制計(jì)算機(jī)系統(tǒng)。具有關(guān)聯(lián)的文件管理系統(tǒng)軟件的操作系統(tǒng)軟件 的一個示例是已知為位于華盛頓州雷德蒙德市的Microsoft Corporation的'Windows敏 的操作系統(tǒng)家族及其關(guān)聯(lián)的文件管理系統(tǒng)。具有關(guān)聯(lián)的文件管理系統(tǒng)軟件的操作系統(tǒng)軟件 的另一示例是Linux操作系統(tǒng)家族及其關(guān)聯(lián)的文件管理系統(tǒng)。文件管理系統(tǒng)通常被存儲在 非易失性存儲器中,并且使處理器執(zhí)行操作系統(tǒng)所要求的用W輸入和輸出數(shù)據(jù)并將數(shù)據(jù)存 儲在存儲器中(包括將文件存儲在非易失性存儲器上)的各種動作。
[00%]總線還可W使處理器連接至接口。接口可W包括一個或多個輸入和/或輸出(1/0) 裝置。1/0裝置可W通過示例而非限制性的方式包括鍵盤、鼠標(biāo)或其它指示裝置、盤驅(qū)動器、 打印機(jī)、掃描器W及包括顯示裝置的其它1/0裝置。顯示裝置可W通過示例而非限制性的方 式包括陰極射線管(CRT)、液晶顯示器化CD)或其它適用的已知或方便的顯示裝置。接口可 W包括調(diào)制解調(diào)器或網(wǎng)絡(luò)接口中的一個或多個。應(yīng)當(dāng)理解,調(diào)制解調(diào)器或網(wǎng)絡(luò)接口可被視 為計(jì)算機(jī)系統(tǒng)的一部分。接口可W包括模擬調(diào)制解調(diào)器、isdn調(diào)制解調(diào)器、線纜調(diào)制解調(diào) 器、令牌環(huán)接口、衛(wèi)星傳輸接口(例如,"直播PC")、或者用于使計(jì)算機(jī)系統(tǒng)連接至其它計(jì)算 機(jī)系統(tǒng)的其它接口。接口使得計(jì)算機(jī)系統(tǒng)和其它裝置能夠在網(wǎng)絡(luò)內(nèi)連接到一起。
[0027] 計(jì)算機(jī)系統(tǒng)可W與基于云的計(jì)算系統(tǒng)兼容、或者被實(shí)現(xiàn)為基于云的計(jì)算系統(tǒng)的一 部分或經(jīng)由基于云的計(jì)算系統(tǒng)來實(shí)現(xiàn)。如本文所使用的,基于云的計(jì)算系統(tǒng)是將虛擬化的 計(jì)算資源、軟件和/或信息提供至客戶端裝置的系統(tǒng)??蒞通過維持邊界裝置經(jīng)由諸如網(wǎng)絡(luò) 等的通信接口可訪問的集中服務(wù)和資源來使運(yùn)些計(jì)算資源、軟件和/或信息虛擬化。"云"可 W是營銷術(shù)語,并且針對本文的目的,可W包括運(yùn)里所述的任何網(wǎng)絡(luò)?;谠频挠?jì)算系統(tǒng)可 W設(shè)及針對服務(wù)的訂閱或者使用效用定價模型。用戶可W經(jīng)由位于他們的客戶端裝置上的 web瀏覽器或其它容器應(yīng)用程序來訪問基于云的計(jì)算系統(tǒng)的協(xié)議。
[0028] 計(jì)算機(jī)系統(tǒng)可被實(shí)現(xiàn)為引擎、引擎的一部分或經(jīng)由多個引擎來實(shí)現(xiàn)。如本文所使 用的,引擎包括如下的至少兩個組件:1)專用或共用處理器;W及2)處理器所執(zhí)行的硬件、 固件和/或軟件模塊。根據(jù)特定實(shí)現(xiàn)、特定結(jié)構(gòu)或其它考慮,引擎可W為集中式或者其功能 可W為分布式。引擎可W是包括W計(jì)算機(jī)可讀介質(zhì)來體現(xiàn)W供處理器執(zhí)行的專用硬件、固 件或軟件的專用引擎。處理器使用諸如本文中參考附圖所述等的所實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)和方 法,來將數(shù)據(jù)變換成新數(shù)據(jù)。
[0029] 本文所述的引擎、或者可W實(shí)現(xiàn)本文所述的系統(tǒng)和裝置所經(jīng)由的引擎可W是基于 云的引擎。如本文所使用的,基于云的引擎是可W使用基于云的計(jì)算系統(tǒng)來運(yùn)行應(yīng)用程序 和/或功能的引擎。運(yùn)些應(yīng)用程序和/或引擎的全部或一部分可W分布在多個計(jì)算裝置之 間,并且不必局限于僅一個計(jì)算裝置。在一些實(shí)施例中,基于云的引擎可W在不必具有本地 安裝在最終用戶的計(jì)算裝置上的功能和/或模塊的情況下,執(zhí)行最終用戶經(jīng)由web瀏覽器或 容器應(yīng)用程序進(jìn)行訪問的功能和/或模塊。
[0030] 如本文所使用的,數(shù)據(jù)存儲器意圖包括具有任何適用的數(shù)據(jù)組織的儲存庫,其中 該適用的數(shù)據(jù)組織包括表、逗號分隔值(CSV)文件、傳統(tǒng)數(shù)據(jù)庫(例如,S化)或其它適用的已 知或方便的組織格式。數(shù)據(jù)庫例如可被實(shí)現(xiàn)為采用通用或?qū)S脵C(jī)器上的物理計(jì)算機(jī)可讀介 質(zhì)、固件、硬件、它們的組合或者適用的已知或方便的裝置或系統(tǒng)的形式來體現(xiàn)的軟件。盡 管數(shù)據(jù)存儲器關(guān)聯(lián)組件的物理位置和其它特性對于本文所述的技術(shù)的理解而言并非關(guān)鍵, 但諸如數(shù)據(jù)庫接口等的數(shù)據(jù)存儲器關(guān)聯(lián)組件可被視為數(shù)據(jù)存儲器"的一部