專利名稱:用于跨數(shù)據中心的資源定位和遷移的技術的制作方法
用于跨數(shù)據中心的資源定位和遷移的技術背景大規(guī)模數(shù)據中心是相對新的人類產物,且隨著它們所提供的商業(yè)機會已經擴展, 它們的組織和結構已經快速進化。典型的現(xiàn)代數(shù)據中心是由高速網絡、路由器和防火墻互 連的運行諸如web服務器、數(shù)據庫服務器等標準軟件包的集合的硬件群集的有組織集合。 典型的數(shù)據中心響應于各請求而操作,其中各請求被路由到數(shù)據中心中的諸如文件、模塊 等資源。這些資源中的一些可以是可遷移,即,它們可以經由網絡從一個數(shù)據中心遷移到另 一個。受數(shù)據中心支持的Web服務(例如,作為服務“SaaS”的軟件)也在快速進化(例 如,一公司可以首先提供搜索服務,且接著提供電子郵件服務,且在隨后提供地圖服務等 等)。當服務達到某種大小時,往往做出地理主存(geo-host)該服務的判決,即,將在多個 地理上迥然不同的數(shù)據中心處主控該服務。進一步,隨著新的數(shù)據中心上線,服務運營者 可以決定將其服務擴展到一個或多個新的數(shù)據中心,同時維持或放棄對在其他數(shù)據中心處 的該服務進行主存。關于成本和性能(即,價值)的競爭也可以是定位服務以及相關聯(lián)資 源的因素。給定此環(huán)境,大的地理主存服務傾向于存在于次最優(yōu)狀態(tài),在次最優(yōu)狀態(tài)中,許 多用戶以及他們所請求的資源沒有地理學對應或者有很少的地理學對應性。例如,在加利 福尼亞州舊金山的用戶可以使得她的電子郵件服務的郵箱被主存在弗吉尼亞州藍山(Blue Ridge)。當時這樣的場景被放置在上下文中時,可以得出結論,成千上萬的用戶可以地理上 遠離他們的資源,這可以極大地縮減用戶體驗并且增加服務的操作成本。在此描述的各種示例性技術涉及可以判決是否將資源從一個數(shù)據中心遷移到另 一數(shù)據中心的技術,這樣的遷移又可以增強“云”(例如,因特網和相關聯(lián)數(shù)據中心)的用戶 體驗和性能。概述示例性系統(tǒng)包括前端組件,其用于接收對數(shù)據中心中的資源的請求且被配置成將 每一請求與唯一請求信息關聯(lián)起來、為每一請求定位一個或多個資源、以及在日志文件中 存儲該請求信息和關于一個或多個資源的位置的信息;一個或多個分布式計算和存儲組 件,其用于獲取日志文件信息且被配置成分析日志信息,以便判決與一個或多個請求相關 聯(lián)的一個或多個資源是否應該被遷移到不同的地理位置處的數(shù)據中心;以及定位服務組 件,其用于接收由一個或多個分布式計算和存儲組件做出的判決且被配置成在判決引起一 個或多個資源被遷移到不同的地理位置處的數(shù)據中心時告知前端組件,以便由此允許前端 組件將對一個或多個所遷移的資源的未來的請求重定向到該不同的位置處的數(shù)據中心。還 描述各種其他設備、系統(tǒng)和方法。
參考下列各圖描述非限制性的且非詳盡的示例圖1是可以判決一個或多個可遷移資源是否應該被遷移到另一數(shù)據中心的示例 性數(shù)據中心的框圖2是從客戶端到數(shù)據中心中的數(shù)據的請求流的框圖,其中該請求流基于發(fā)出請 求的客戶端設備的各方面而不同;圖3是用于判決是否將圖2的用戶的資源(例如,郵箱)遷移到不同的數(shù)據中心 的示例性方法的框圖;圖4是至少部分基于用戶的地理位置(例如,作為近似,根據IP地址)決定是否 為多個用戶遷移資源的示例性方法的框圖;圖5是用于判決是否在數(shù)據中心之間遷移資源的示例性優(yōu)化技術的框圖;圖6是其中可以做出將組資源(group resource)從一個數(shù)據中心遷移到另一個 的判決的示例性場景的框圖;圖7是其中可以做出將由多個應用程序使用的資源從一個數(shù)據中心遷移到另一 數(shù)據中心的決定的示例性場景的框圖;圖8是用于控制被配置成做出遷移判決的各組件的示例性控制模塊或控制器的 框圖;以及圖9是示例性計算設備的框圖。詳細描述在此描述的各種示例性方法、設備、系統(tǒng)等等涉及基于響應于對遠程用戶數(shù)據的 用戶請求所生成的日志信息來跨地理上迥然不同的數(shù)據存儲定位和遷移遠程用戶數(shù)據。將 遠程用戶數(shù)據從一個數(shù)據存儲遷移到在另一地理位置的另一數(shù)據存儲可以增加性能和可 用性。這樣的遷移可以減少訪問時間和增強用戶體驗。圖1示出帶有暴露給負載平衡器組件105處的公共接口的服務器群集(例如,服 務器112-1、112-2和112-3)的示例性數(shù)據中心100的邏輯視圖。如在此所描述,系統(tǒng)100 包括允許定位數(shù)據并將數(shù)據遷移到在不同的地理位置處的另一數(shù)據中心的各種組件。各種 示例性技術識別地理布局和等待時間之間存在的關系,其中資源的請求者和資源之間的地 理距離越大,等待時間就越長(例如,由于網絡纜線的長度、路由器跳躍的次數(shù)等等)。然 而,各種示例性技術還可以識別在判決是否遷移資源時可以計及其他因素。例如,如果數(shù)據 中心是接近的,然而流量被阻塞(例如,由于用戶的數(shù)量和帶寬限制),那么,地理接近性可 能不提供最小等待時間。在數(shù)據中心100中,負載平衡器組件105和前端組件120允許對服務器112_1、 112-2和112-3的外部訪問,這些服務器可以由正在提交請求或從數(shù)據中心100檢索請求 結果的應用程序服務器或用戶訪問。例如,考慮請求101是由訪問被存儲在數(shù)據中心100 的電子郵件文件夾的用戶或者從先前提交給數(shù)據中心100的批處理作業(yè)檢索結果的用戶 生成的。盡管負載平衡器105和前端組件120被示出為分離的組件,但這些組件可以被聚 集在一個或多個機器(例如,計算機、網絡設備等等)中。進一步,盡管圖1的示例示出三 個服務器,但在實踐中,數(shù)據中心中的服務器的數(shù)量通常是更大的數(shù)量級;因此,數(shù)據中心 100可以具有100個服務器或更多個服務器。在數(shù)據中心100中,所謂的“中間件”可以被安裝在負載平衡器組件105和/或前 端組件120上,以提供用于資源管理、作業(yè)調度和節(jié)點狀態(tài)監(jiān)視等等的工具。進一步,群集 中的每一服務器112-1、112-2和112-3可以訪問被存儲在相關聯(lián)數(shù)據中心存儲設備中(例 如,在公共文件系統(tǒng)下)的信息,且可以對傳入和/或檢索到的信息進行操作(例如,數(shù)字搗弄(number crunching)、渲染、編譯、文件處理等等)。在圖1的示例中,盡管未示出各數(shù) 據存儲,但服務器112-1、112-2和112-3中的每一個都被配置成訪問數(shù)據存儲(例如,經由 數(shù)據中心網絡基礎設施)。參見圖1的時間線和相關聯(lián)箭頭,負載平衡器組件105可以接收請求101( "K") 并將請求ID指派給請求101 ( “B”)。請求101進一步包括源信息,例如可以用來標識請求 101的源的IP地址。然后,負載平衡器組件105將請求101及其請求ID以及源信息發(fā)送給 前端組件120。前端組件120包括關于數(shù)據中心100中的資源(例如,計算資源、數(shù)據等等) 的位置的信息,且可以將請求101定向到這樣資源(“C”)。例如,如所示出的,請求101被 分成子請求Rl和R2,其中Rl被定向到服務器112-1而請求R2被定向到服務器112-3。前 端組件120在日志124中存儲將此定向信息以及請求ID和源信息。進一步,服務器112-1 具有相關聯(lián)日志114-1,而服務器112-3具有相關聯(lián)日志114-3。日志114-1和114-3連同 至少的請求ID分別存儲關于子請求Rl和R2的信息。因此,在系統(tǒng)100中,請求101的請 求ID可以被用來標識與請求101相關聯(lián)的所有日志信息。系統(tǒng)100包括一個或多個分布式計算存儲(DCS)組件130-1和130_2。在圖1的 示例中,DCS組件130-1和130-2可以彼此通信,如由連接線所指示的,且可以與各種日志 (例如,124,114-1和114-2)通信。因此,DCS組件130-1和130-2可以收集關于諸如請求 101等請求的日志信息(“D”)。與分析過程140相關聯(lián)的環(huán)形箭頭分析所收集的日志信息(“E”)。分析140可 以依賴于模型、優(yōu)化技術以及一種或多種其他類型的信息來關于數(shù)據中心100中的資源的 定位和遷移做出判決??梢杂蒁CS組件以分布式方式執(zhí)行分析140,這最終生成可以被傳達 給定位服務組件150的判決,例如,用與請求101(或其他請求)相關聯(lián)的資源的新的經優(yōu) 化位置信息來更新定位服務150( “F”)。定位服務150又可以任選地調用對數(shù)據中心的資 源到另一數(shù)據中心的遷移。取決于其他數(shù)據中心對這樣的遷移調用的接受,然后,定位服務 150可以執(zhí)行將數(shù)據、對象、代碼等等的一個或多個片段(piece)遷移到其他數(shù)據中心的遷 移過程。如所提到的,這樣的過程可以幫助增加數(shù)據中心性能并減少對所遷移的資源的訪 問時間,并且增強做出涉及所遷移的資源或多個資源的請求的一個或多個用戶的體驗。遷移或定位判決可以考慮各種因素中的任何因素。例如,各因素諸如在用戶與一 個或多個數(shù)據中心之間的等待時間、一個或多個數(shù)據中心中的可用容量(例如,可用CPU、 可用存儲器、可用盤存儲空間、數(shù)據中心網絡內的可用帶寬、數(shù)據中心與一個或多個外部位 置之間的可用帶寬)、跨數(shù)據中心外部的多個實體(例如,數(shù)據中心容納的應用程序)共享 的狀態(tài)、商業(yè)因素、法律約束(例如,加拿大的銀行數(shù)據必須存儲在加拿大),等等。而且,用 于硬狀態(tài)的遷移判決可以不同于用于軟狀態(tài)的遷移判決。例如,對于硬狀態(tài),僅硬狀態(tài)的最 頻繁使用的部分可以被遷移,或者它可以被復制而不是被移動,或者僅主復制品可以被移 動。因此,關于何時在各數(shù)據中心之間遷移狀態(tài)的片段以及遷往何處的判決可以取決于多 個因素。一般地,判決可以取決于可靈活且可測試地獲得效率的因素(例如,更好的配置), 同時遵守不應違反的不靈活且不可測試的約束。如下面參照圖3和圖5更詳細地解釋的,相對于可遷移資源,數(shù)據中心可以被認為 處于“配置”(例如,遷移前的配置)中,其中一個或多個遷移(例如,進和/或出)引起數(shù) 據中心達成不同的配置(例如,遷移后的配置)。
如在此所描述,示例性系統(tǒng)可以包括前端組件(例如,前端組件120),其用于接收 對數(shù)據中心中的資源的請求且被配置成將每一請求與標識信息關聯(lián)起來、為每一請求定位 一個或多個資源并在日志文件中存儲標識信息以及關于一個或多個資源的位置的信息;一 個或多個分布式計算存儲組件(例如,DCS組件130-1、130-2),其用于獲取日志文件信息且 被配置成分析日志信息,以便判決與一個或多個請求相關聯(lián)的一個或多個資源是否應該被 遷移到在不同的地理位置的數(shù)據中心;以及定位服務組件(例如,定位服務組件150),其用 于接收由一個或多個分布式計算存儲組件做出的判決且被配置成在判決引起一個或多個 資源被遷移到在不同的地理位置的數(shù)據中心時告知前端組件,以便由此允許前端組件將對 一個或多個被遷移資源的未來的請求重定向到該不同的地理位置的數(shù)據中心。如在此所描述,在這樣的系統(tǒng)中,一個或多個資源是能夠被經由網絡(例如,因特 網或其他一個網絡或多個網絡)從一個數(shù)據中心遷移到另一數(shù)據中心的可遷移資源。在這 樣的系統(tǒng)中,日志信息可以包括地理上定位請求的發(fā)出者的IP地址和/或地理上定位對至 少一個公共資源的請求的發(fā)出者的IP地址。取決于資源的類型和請求的方式(例如,標 識過程、驗證過程等等),其他類型的信息可用于在地理上定位請求的發(fā)出者。如下面更詳 細地描述,一個或多個分布式計算和存儲組件可以關于允許幫助避免局部最小值配置(例 如,以便尋求全局最小值)的遷移判決的模型分析日志信息。盡管各種示例描述特定類型 的日志信息,但遷移判決可以全部地或部分地基于各種信息中的任何信息(例如,用戶請 求的頻率、服務器可用性、服務器能力、網絡路徑質量、應用程序性能要求等等)。如所提到的,判決過程可以依賴于各種信息中的任何信息。在各種示例中,可以從 日志文件或多個日志文件(例如,日志信息)獲取這樣的信息。更一般地,判決過程可以依 賴于其中通信本身是信息或其中通信包括信息的通信。通信可以是與配置以及通過遷移 一個或多個資源更好的配置是否成為可能相關或有關的間接通信、直接通信或其他類型的 通信。例如,判決過程可以依賴于與優(yōu)化系統(tǒng)的組件的直接實時通信。通信是僅僅充當信 號還是實際上提供信息“有效載荷”可以取決于優(yōu)化算法的特異性,尤其取決于要達到的目 標(例如,優(yōu)化數(shù)據中心、優(yōu)化用戶體驗、優(yōu)化當前工作量問題、優(yōu)化未來的工作量問題等相對于標識信息,圖1的示例提及“請求ID”,請求ID可以由數(shù)據中心的組件來指 派。然而,如在此所描述,替代地或另外,可以使用一種或多種其他類型的信息。例如,請求 者的時間戳和IP地址可能足以用于優(yōu)化數(shù)據中心配置或多個數(shù)據中心配置的目的。一般 地,出于數(shù)據收集和分析的目的,可以關聯(lián)各種信息片段中的任何信息片段以充分地標識 請求。出于判決是否遷移資源的目的,在此描述的各種示例性技術可以依賴于請求的唯一 標識符(例如,唯一請求ID)和/或依賴于足以標識請求的信息。還存在其中可以收集和 分析來自不同的地理位置的數(shù)據訪問的模式以便判決是否將一個或多個資源從一個數(shù)據 中心遷移到另一個(或其他)的更一般的場景。如下面所描述,資源遷移改變一個或多個 數(shù)據中心的配置。在一些實例中,資源的地理主存可以是最優(yōu)的,而在其他實例中,由特定 位置中的單個數(shù)據中心來主存可以是最優(yōu)的。圖2示出從客戶端到目標數(shù)據200的請求流的示圖。在此示例中,用戶A具有臺 式計算機210和移動計算機220,其中計算機210和計算機220兩者均執(zhí)行電子郵件應用程 序215。電子郵件應用程序215可以被認為是其中電子郵件被存儲在遠離用戶計算機210和220的數(shù)據中心中的服務。如所示出的,在當前的狀態(tài)中,用戶A的郵箱217被存儲在位 于舊金山的數(shù)據中心230。由于用戶A生活在鄰近社區(qū),帕洛阿爾托(Palo Alto),因此當 用戶A請求位于郵箱217的電子郵件時,請求被經由因特網路由到舊金山數(shù)據中心230。示 例性系統(tǒng)可以假設用戶A的臺式計算機210和相關聯(lián)IP地址到舊金山數(shù)據中心230的接 近鄰近性向用戶A提供好的用戶體驗(S卩,在臺式計算機210的應用程序215請求電子郵 件和接收電子郵件之間的很少的等待時間)。然而,在圖2的示例中,當用戶A使用她的移動計算機220來訪問她的郵箱時,對 用戶A來說,出現(xiàn)了次最優(yōu)情況(例如,配置)。例如,由于公司策略,建立了將經由位于西 雅圖(kattle)的公司總部205路由對電子郵件的所有請求的VPN網絡(“A”)。在西雅 圖HQ(總部)205處的系統(tǒng)又將該請求路由到在雷蒙德的鄰近數(shù)據中心“B”)。這種 方法是有道理的,因為位于西雅圖HQ 205的人們想要對電子郵件進行的低等待時間訪問。 然而,當用戶A的請求到達雷蒙德數(shù)據中心MO的前端組件M2時,它確定所請求的資源 (即,用戶A的郵箱217)位于舊金山數(shù)據中心230。從而,雷蒙德數(shù)據中心240負擔此確定 以及將請求發(fā)送給舊金山數(shù)據中心230的任務(“C”)。如果在某段時間期間用戶A主要 使用她的移動計算機來訪問她的郵箱,則使用她的移動計算機來訪問她的郵箱的性能可以 被視為比使用她的臺式計算機來訪問她的郵箱更為重要。圖3示出示例性方法300以及與圖2的舊金山數(shù)據中心配置和雷蒙德數(shù)據中心配 置相關聯(lián)的信息(例如,所生成的日志信息,所信令的信息或其他所獲得的信息)。如所示 出的,在舊金山數(shù)據中心230和雷蒙德數(shù)據中心240處的信息包括日時(time of day)、請 求的數(shù)量和對其中用戶A的郵箱217位于舊金山數(shù)據中心230的移動前的配置301的每一 請求的IP地址。這樣的信息可以是由數(shù)據中心響應于請求而生成的典型日志信息。如在 此所描述,日志可以包括各種信息中的任何信息(例如,請求ID、數(shù)據的大小、對象的大小、 請求的時間、在請求的發(fā)送時間和接收時間之間的等待時間、始發(fā)IP地址、(諸)中間IP地 址、應用程序/服務類型等等)。一般地,日志可以包括在數(shù)據中心處生成的信息、對數(shù)據中 心信令的信息或以另外方式被數(shù)據中心獲取的信息。日志可以是常規(guī)數(shù)據中心日志或包括 可以輔助判決分析的信息的定制日志。根據方法300,在獲取階段312中,DCS組件330_1從舊金山數(shù)據中心230獲取信 息,且DCS組件330-2從雷蒙德數(shù)據中心240獲取信息。在此示例以及其他示例中,獲取可 以是經由其中日志文件被推(push)到一個或多個DCS組件中(例如,周期性地、響應于事 件、在填充緩沖器時等等)的推模型(push model)。DCS組件330-1和330-2協(xié)調動作,且 在分析階段314中根據分析模塊340分析所獲取的信息。如所指出的,分析階段314做出 將郵箱217從舊金山數(shù)據中心移動到雷蒙德數(shù)據中心MO的判決。在遷移階段316中,定 位服務350根據分析階段314的判決遷移郵箱217,以便生成移動后的配置303。在遷移之后,舊金山數(shù)據中心230上的總體負擔得以減少。進一步,用戶A在從她 的移動計算機220訪問她的郵箱217時應該體驗到等待時間的減少。換句話說,出于減少 在數(shù)據中心230處的負載和/或增強用戶A在從她的移動計算機220訪問她的郵箱217時 的用戶體驗的目標,移動后的配置303比移動前的配置更為最優(yōu)。在圖2和圖3的示例中,分析模塊340可以基于各種因素中的任何因素做出遷移 判決,這些因素例如請求的IP地址、多個負擔(即,單個請求使兩個數(shù)據中心負重擔),請求的日時、請求的數(shù)量等等。在此示例中,這些因素中的任何因素單獨可以導致遷移用戶A的 郵箱217的判決。當組合這樣的因素時,那么,移動到更高效的配置的置信度增加了。如在 此所描述的,遷移判決可以依賴于多個因素來增加判決置信度,或者換句話說,遷移判決的 概率將產生更為最優(yōu)的配置。盡管圖2和圖3的示例提及資源被請求的次數(shù)以及與每一請求相關聯(lián)的位置, 但其他信息可用于做出判決。例如,主存允許廣告的應用程序的數(shù)據中心常常展示各種 統(tǒng)計數(shù)據以便幫助廣告客戶定標(target)廣告。這樣的統(tǒng)計數(shù)據——有時被稱為目標 (target),可以包括年齡、代理、客戶端、連接速度、性別、職業(yè)、州/省、時區(qū)、國家、區(qū)域和 用戶語 曰ο主存稱為HOTMAIL (華盛頓州雷蒙德的微軟公司)的電子郵件服務的特定數(shù)據 中心為多于200個國家和地區(qū)的用戶提供電子郵件服務。WINDOWS LIVE HOTMAIL 服 務提供消費者和廣告功能部件,以便到達美國的超過兩千萬唯一用戶的電子郵件受眾(具 有數(shù)十億次頁面瀏覽量的受眾)。如在此所描述,遷移和廣告可以以協(xié)同方式操作,例如,通 過針對相同的底層信息做出判決。一種示例性方法可以基于各種統(tǒng)計數(shù)據中的任何統(tǒng)計數(shù) 據為可遷移資源做出遷移判決和廣告判決。圖4示出其中示例性方法400可以做出引起數(shù)據中心遷移多個用戶的數(shù)據的多個 遷移判決的場景。例如,這樣的方法可以被具體地應用到諸如電子郵件服務等特定分布式 服務中,在分布式服務中,現(xiàn)有配置跨多個地理上迥然不同的數(shù)據中心存儲用戶數(shù)據。圖4的示例示出電子郵件服務,且數(shù)據存儲在加利福尼亞州舊金山的數(shù)據中心 430、華盛頓州塔奇拉(Tukwila)的數(shù)據中心440和弗吉尼亞州藍山的數(shù)據中心450。用戶 A具有帶有從塔奇拉IP地址發(fā)送請求的電子郵件應用程序415的計算機410,且用戶B具 有帶有從藍山IP地址發(fā)送請求的電子郵件應用程序425的計算機420。由于各種原因中 的任何原因,當前的狀態(tài)將用戶A的郵箱417和用戶B的郵箱427定位在舊金山數(shù)據中心 430。這樣的情況可以歸因于用戶A和用戶B的先前住處(例如,在舊金山的大學時簽約了 電子郵件服務)。根據方法400,獲取框472獲取與分別來自用戶A和用戶B的對郵箱417和郵箱 427的請求相關聯(lián)的數(shù)據(例如,信息)。分析框474分析所獲取的數(shù)據。判決框475判決 對于一個郵箱或兩個郵箱是否應該發(fā)生遷移。分析框474可以考慮與用戶A和用戶B的郵 箱417和427相關聯(lián)的因素。例如,如果電子郵件賬戶與公司雇主的雇員賬戶有關且一定 百分比(數(shù)量、大小等等)的電子郵件起源于具有大量雇員的公司園區(qū)(例如,公司總部), 那么,分析框474可以考慮到此事實并判決不遷移這樣的郵箱。在另一示例中,不考慮雇主 或關聯(lián),如果用戶A和用戶B具有一定百分比的交叉郵件(例如,彼此通郵件),那么,一種 算法可以在判決不遷移郵箱417和郵箱427兩者時依賴于此事實。如所示出的,如果判決框475判決遷移一個郵箱或兩個郵箱,那么,方法400進入 調用郵箱遷移的遷移框476。實際的遷移可以自動地發(fā)生,或者可以需要管理員(例如,數(shù) 據中心管理員或多個數(shù)據中心管理員)監(jiān)督或接受。圖5示出用于優(yōu)化一個或多個數(shù)據中心配置的示例性分析技術500。云示出用于 包括用于各種用戶的可遷移資源的數(shù)據中心510-1、510-2、…、510-n的配置A。如所提到 的,可遷移資源可以是可以從一個數(shù)據中心遷移到另一數(shù)據中心的數(shù)據、對象、代碼等等。
9配置A是“高能量”配置,因為地理上分布的用戶不接近他們在地理上分布的數(shù)據中心中請 求的資源。可以以各種方式來優(yōu)化配置A。例如,當配置A中的用戶做出對地理主存的服 務(即,被主存在多個地理上迥然不同的數(shù)據中心處)的請求時,那么,可以將與每一用戶 和服務相關聯(lián)的資源遷移到地理上接近的數(shù)據中心且由此可能取得較低能量配置。在圖5的示例中,示例性技術500依賴于模擬退火(SA)的各方面。退火是常常 應用于金屬的物理過程,該物理過程“重構”分子(例如,鍵、相、位置)以便引起延展性、 減輕內部應力、精化結構以及改善冷加工性質。通過模擬此物理過程,SA算法的每次迭代 用隨機的“附近”配置來代替當前的配置,該隨機的“附近”配置是用取決于對應函數(shù)值之 間的差異并取決于在該過程期間逐漸下降的全局參數(shù)“T”(被稱為溫度)的概率來選擇 的。該依存性使得當T是大的時當前的配置幾乎隨機地改變,但當T趨向0時逐漸“向下 (downhill)”(S卩,到較低能量的配置)。對“向上(uphill)”移動(即,到更高能量的配 置)的允許幫助避免局部最小值。一種優(yōu)化技術可以包括類似于布朗運動的各方面,其中平均動能與受控的或 調度的“溫度”參數(shù)成正比。在布朗運動技術中,可以類似地計及“介質粘度(medium viscosity)”和“粒子大小”。例如,介質粘度可以由環(huán)繞數(shù)據中心的網絡帶寬來建模,其中 高度網絡化的高流量區(qū)域中的數(shù)據中心具有較高的粘度,這要求更高的“資源”動能以供資 源遷移到或離開該數(shù)據中心。進一步,對于移動到數(shù)據中心,粘度可以較少,且對于移動離 開數(shù)據中心,粘度可以較高,或反之亦然。相對于粒子大小,諸如文件、對象、文件夾等等的 大小等因素可以被用來判斷粒子大小參數(shù)。如在此所描述,粘度和大小參數(shù)可以類似于用 于粒子移動性(particle mobility) (B)的布朗運動參數(shù),粒子移動性與介質的粘度和粒子 的大小成反比(即,較高的粘度和較大的大小使得粒子較少移動)。其他類比可以被吸引到 擴散,其中分析模塊計及資源“密度”和擴散系數(shù),這兩者可以因資源、數(shù)據中心、地理學等 等的類型而不同。前述的技術都是溫度依存的,且允許偶爾的“壞”遷移(不是局部最優(yōu)的 遷移),以便避免局部最小值。如在此所描述,無論是否是溫度依存的,一種示例性方法可以 允許次最優(yōu)遷移判決以便避免局部最小值狀態(tài),次最優(yōu)遷移判決又促進向最優(yōu)全局最小值 狀態(tài)遷移。再次參見圖5的示例性技術500,定義框510定義搜索空間,而另一定義框520定 義能量函數(shù)(E)。在溫度類型的方法中,優(yōu)化框530通過改變狀態(tài)并確定能量來執(zhí)行優(yōu)化, 直到溫度T達到某個值(例如,T = O)。盡管此示例提到T趨向0且由此推斷優(yōu)化結束,但 在實踐中,可以重復該過程且可以循環(huán)溫度(例如,周期性地或連續(xù)地)。換句話說,優(yōu)化 可以按需發(fā)生、響應于某個事件發(fā)生、周期性地發(fā)生、連續(xù)地發(fā)生等等。另外,可以預期系統(tǒng) (即,“云”)由于服務、新用戶等等的改變而具有自然擾動。因此,最優(yōu)狀態(tài)很可能僅在某個 時間段保持最優(yōu)。圖6示出其中用戶A和用戶B做出依賴于存儲在數(shù)據中心630中的組對象(group object)或多個組對象617的請求的示例性場景600。在圖6的示例中,用戶A經由執(zhí)行應 用程序615的計算機610做出對(諸)組對象617的請求,且用戶B經由執(zhí)行應用程序625 的計算機做出對(諸)組對象617的請求。在此示例中,數(shù)據中心640和數(shù)據中心650可 用來主存(諸)組對象617。如在此所描述,組對象可以是家庭郵箱(在家庭的所有成員之 間共享的郵箱)、組郵箱、視頻或照片(例如,Y0UTUBE視頻)等等。如在此所描述,諸如郵箱等資源可以被認為是用于一個或多個用戶的通信信息。對于資源,通信信息通常包括可 以經由網絡(例如,經由電子郵件應用程序、即時消息收發(fā)應用程序、社交網絡網站等等) 來發(fā)送、接收、張貼或訪問的文本、照片、音頻或視頻中的一種或多種。如示例性方法300所指出的,在獲取階段312中,DCS組件130_1至130_n獲取諸 如用戶A和用戶B的日志數(shù)據之類的數(shù)據,以及任選地獲取諸如其他用戶的日志數(shù)據之類 的數(shù)據(其他用戶也可以做出對(諸)組對象617的請求)。在分析階段314中,分析模 塊140 (例如,結合DCS組件以分布方式操作)分析所獲取的數(shù)據,任選地通過諸如關于數(shù) 據中心的地理信息、關于數(shù)據中心和/或網絡基礎設施的負載信息等等的其他信息。分析 階段314做出一個或多個判決,然后,在遷移階段316中,這些判決可以被定向到定位服務 150。如所提到的,定位服務可以向各種數(shù)據中心向告知各位置,且還可以請求和執(zhí)行數(shù)據 中心之間的遷移。圖7示出其中用戶A做出與依賴于被存儲在數(shù)據中心730中的對象或多個對象 717的應用程序715 (App 1 (應用程序1))和另一應用程序716 (App 2(應用程序2))相關 聯(lián)的請求的示例性場景700;注意,應用程序716 (App 2)還依賴于被存儲在不同的數(shù)據中 心740中的對象或多個對象718。另外,數(shù)據中心740存儲(諸)對象718的一個備份副本 或多個備份副本(例如,一個復制品或多個復制品)719。如示例性方法300所指出的,在獲取階段312中,DCS組件130-1至130_n獲取諸 如與應用程序715(App 1)和應用程序716 (App 2)相關聯(lián)的用戶A的日志數(shù)據之類的數(shù) 據。在分析階段314中,分析模塊140(例如,結合各DCS組件以分布式方式操作)分析所 獲取的數(shù)據,任選地通過諸如關于數(shù)據中心的地理信息、關于數(shù)據中心和/或網絡基礎設 施的負載信息等等的其他信息。分析階段314做出一個或多個判決,然后,在遷移階段316 中,這些判決可以被定向到定位服務150。如所提到的,定位服務可以向各個數(shù)據中心告知 數(shù)據對象的位置,且還可以請求和執(zhí)行數(shù)據對象在數(shù)據中心之間的遷移。如在此所描述,一示例性方法(例如,至少部分地由計算設備實現(xiàn))可以包括從數(shù) 據中心的前端組件和從該數(shù)據中心中的一個或多個服務器獲取日志信息,其中日志信息包 括與對該數(shù)據中心中的資源的請求相關聯(lián)的信息(例如,請求ID等等);關于一模型分析 該日志信息,以便確定該數(shù)據中心中的該資源是否應該被遷移到在不同的地理位置的數(shù)據 中心;并且,如果該分析判決該資源應該被遷移,那么,調用該資源至不同的地理位置處的 數(shù)據中心的遷移。這樣的方法可以進一步包括將該資源遷移到在不同的地理位置的數(shù)據中 心??梢灾辽俨糠值匾园ㄓ糜趫?zhí)行各種功能的計算機可執(zhí)行指令的一個或多個計算機可 讀介質的形式來實現(xiàn)這樣的方法。如所提到的,模型可以允許幫助避免局部最小值配置(參見例如模擬退火和溫 度)的遷移判決。在前述的示例性方法中,日志信息可以包括與請求的發(fā)出者相關聯(lián)的IP 地址、與發(fā)出請求或由數(shù)據中心接收請求相關聯(lián)的時間和/或與發(fā)出請求相關聯(lián)的時間以 及與由數(shù)據中心接收請求相關聯(lián)的時間。如所提到的,日志信息可以包括對數(shù)據中心中的 組資源(被多個用戶或客戶端訪問的資源)的多個請求的日志信息,該多個請求由多個發(fā) 出者發(fā)出。另外或替代地,日志信息可以包括關于對數(shù)據中心中的資源的多個請求的日志 信息,該多個請求與公共IP地址相關聯(lián)。日志信息可以包括可以允許標識用戶、定位用戶 或以其他方式將用戶與一個或多個資源關聯(lián)起來的各種其他信息中的任何信息。例如,日志信息可以是應用程序專用的信息(例如,用戶ID、用戶簡檔、地理位置、電子郵件地址等
等) ο相對于資源,資源可以是與請求的發(fā)出者相關聯(lián)的電子郵件應用程序郵箱、與請求的發(fā)出者相關聯(lián)的文件、組資源等等。在各種示例中,資源可以是諸如被存儲在存儲器中 的硬狀態(tài)或軟狀態(tài)之類的持久狀態(tài)。如所提到的,一般地,資源可以被經由網絡從一個數(shù)據 中心遷移到另一個。圖8示出用于控制一種或多種方法300至300-n的示例性控制模塊800,示例性控 制模塊800可以對帶有多個地理上迥然不同的數(shù)據中心的系統(tǒng)(例如,“云”)中的資源做出 遷移判決。如所示出的,模塊800包括數(shù)據中心信息模塊802、地理/IP地址信息模塊804、 成本信息模塊806、模型信息模塊808 (例如,與優(yōu)化模型有關)、廣告客戶信息模塊810、網 絡負載信息模塊812、警報模塊814以及一個或多個應用程序編程接口 816。數(shù)據中心信息模塊802可以獲取諸如所主存的服務的類型、計算能力、存儲容量、 帶寬、操作成本等等關于數(shù)據中心操作的信息。地理/IP地址模塊804可以包括用于將IP 地址與地理位置以及位置之間的網絡路由(例如,因特網地圖等等)關聯(lián)起來的表。成本 信息模塊806可以計及數(shù)據中心的成本以及與一個或多個資源從一個數(shù)據中心至另一數(shù) 據中心的遷移相關聯(lián)的成本。模型信息模塊808可以允許模型更新以及對參數(shù)的改變,這 些參數(shù)諸如前述的溫度、狀態(tài)空間、粘度等等參數(shù)。廣告客戶信息模塊810可以跟蹤廣告收 入、廣告投放和其他廣告相關信息,尤其是在遷移判決可以影響(積極地或消極地)廣告機 會的場合。例如,某些遷移判決可以降低將廣告分發(fā)到用戶的成本。網絡負載信息模塊812 可以耦合到全局流量監(jiān)視器,以由此尤其關于時間和地理布局計及流量模式。警報模塊814 可以被配置成接收來自緊急服務(例如,地震、停電、網絡故障等等)的警報并由此影響如 何執(zhí)行遷移判決。例如,警報可以引起分析的停止和緊急計劃的實現(xiàn)。以這樣的方式,模型 可以從緊急行動緩沖,緊急行動可以以其他方式污染(taint)模型(例如,影響其參數(shù))。 (諸)API816可以允許數(shù)據中心運營者對控制模塊800進行調用。這樣的調用可以起到更 新數(shù)據中心信息802和/或改變一個或多個模型參數(shù)的作用。例如,如果特定的數(shù)據中心 正經歷阻塞,則可以對控制模塊作出API調用以改變其粘度參數(shù)(例如,使得更容易將資源 遷移離開數(shù)據中心或者引起針對此數(shù)據中心的所有遷移停止的改變)。此外,如果數(shù)據中 心正在對服務執(zhí)行更新(或已調度升級),則數(shù)據中心可以經由(諸)API模塊816而使用 API調用來告知控制模塊800。如在此描述,示例性控制器包括數(shù)據中心信息模塊,用于從主存公共服務的資源 的地理上迥然不同的數(shù)據中心獲取信息;地理和IP地址信息模塊,用于將服務請求的IP地 址與地理位置關聯(lián)起來;以及模型信息模塊,用于維持一模型,以便至少部分地基于對所主 存的資源中的一個或多個的服務請求的地理位置來做出公共服務的所主存的資源中的一 個或多個是否應該經由因特網從地理上迥然不同的數(shù)據中心中的一個被遷移到另一個的 判決。圖9闡釋示例性計算設備900,計算設備900可以用來實現(xiàn)各種示例性組件并形成 示例性系統(tǒng)。例如,圖1的數(shù)據中心100的計算設備可以包括設備900的各種特征。在一種非?;镜呐渲弥校嬎阍O備900通常包括至少一個處理單元902和系統(tǒng) 存儲器904。取決于計算設備的確切的配置和類型,系統(tǒng)存儲器904可以是易失性的(例如RAM)、非易失性的(例如ROM、閃速存儲器等等)或兩種的某種組合。系統(tǒng)存儲器904通常包 括操作系統(tǒng)905、一個或多個程序模塊906且可以包括程序數(shù)據907。操作系統(tǒng)905包括基 于組件的框架920,基于組件的框架920支持組件(包括性質和事件)、對象、繼承、多態(tài)性、 反射(reflection),并提供基于面向對象組件的應用程序編程接口(API),例如由華盛頓 州雷蒙德的微軟公司制造的.NET 框架的基于面向對象組件的應用程序編程接口(API)。 設備900具有由虛線908劃定的非常基本的配置。再次地,終端可以具有較少組件,但是將 與可以具有這樣的基本配置的計算設備交互。計算設備900可以具有附加特征或功能性。例如,計算設備900還可以包括附加數(shù) 據存儲設備(可移動的和/或不可移動的),諸如例如,磁盤、光學盤或磁帶。在圖9中,這 樣的附加存儲由可移動存儲909和不可移動存儲910來闡釋。計算機存儲介質可以包括以 用于存儲諸如計算機可讀指令、數(shù)據結構、程序模塊或其他數(shù)據等信息的任何方法或技術 來實現(xiàn)的易失性介質和非易失性介質、可移動介質和不可移動介質。系統(tǒng)存儲器904、可移 動存儲909和不可移動存儲910都是計算機存儲介質的示例。計算機存儲介質包括但不限 于RAM、R0M、EEPR0M、閃速存儲器或其他存儲器技術、CD-ROM、數(shù)字多用盤(DVD)或其他光存 儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設備、或可以用來存儲所期望的信息且可以由計 算設備900訪問的任何其他介質。任何這樣的計算機存儲介質可以是設備900的一部分。 計算設備900還可以具有諸如鍵盤、鼠標、筆、語音輸入設備、觸摸輸入設備等等的(諸)輸 入設備912。還可以包括諸如顯示器、揚聲器、打印機等等的(諸)輸出設備914。這些設 備是本領域眾所周知的且不需要在這里詳細討論。計算設備900還可以含有允許設備例如通過網絡與其他計算設備918通信的通信 連接916。通信連接916是通信介質的一個示例。通信介質通常可以通過計算機可讀指令、 數(shù)據結構、程序模塊等等來實現(xiàn),通信可以經由有線(例如,有線網絡、直接有線連接等等) 或無線地(例如,聲學、RF、紅外和其他無線傳輸)而發(fā)生。盡管已經用對結構特征和/或方法論動作來說專用的語言描述了本主題,但應理 解,在所附權利要求中界定的本主題并不必限于以上所描述的具體的特征或動作。相反,以 上所描述的具體的特征和動作是作為實現(xiàn)權利要求的示例形式而公開的。
權利要求
1.一種至少部分地由計算設備實現(xiàn)的方法,所述方法包括從數(shù)據中心(100)的前端組件(120)以及從所述數(shù)據中心(120)中的一個或多個服務 器(11 獲取(47 信息,其中所述信息包括與對所述數(shù)據中心中的資源的請求相關聯(lián)的 fn息;關于一模型分析(474)所述信息,以便確定所述數(shù)據中心中的所述資源是否應該被遷 移到在不同的地理位置的數(shù)據中心;以及如果所述分析判決所述資源應該被遷移,則調用所述資源至所述不同的地理位置的所 述數(shù)據中心的遷移076)。
2.如權利要求1所述的方法,其特征在于,進一步包括將所述資源遷移到在所述不同 的地理位置的所述數(shù)據中心。
3.如權利要求1所述的方法,其特征在于,所述模型允許避免局部最小值狀態(tài)的次最 優(yōu)遷移判決,所述次最優(yōu)遷移判決又促進向最優(yōu)全局最小值狀態(tài)遷移。
4.如權利要求1所述的方法,其特征在于,所述模型包括類似溫度的參數(shù)。
5.如權利要求1所述的方法,其特征在于,所述模型包括模擬退火模型。
6.如權利要求1所述的方法,其特征在于,所述信息包括與發(fā)出所述請求或由所述數(shù) 據中心接收所述請求相關聯(lián)的時間。
7.如權利要求1所述的方法,其特征在于,所述資源包括與所述請求的發(fā)出者相關聯(lián) 的通信信息。
8.如權利要求1所述的方法,其特征在于,所述資源包括與所述請求的發(fā)出者相關聯(lián) 的文件或其他持久狀態(tài)。
9.如權利要求1所述的方法,其特征在于,所述資源包括組資源。
10.如權利要求9所述的方法,其特征在于,所述信息包括關于對所述數(shù)據中心中的所 述組資源的多個請求的信息,所述多個請求是由多個發(fā)出者發(fā)出的。
11.如權利要求1所述的方法,其特征在于,所述信息包括關于對所述數(shù)據中心中的所 述資源的多個請求的信息,所述多個請求與公共IP地址相關聯(lián)。
12.—種系統(tǒng),包括前端組件(120),所述前端組件用于接收對數(shù)據中心(100)中的資源的請求且被配 置成將每一請求與標識信息關聯(lián)起來、為每一請求定位一個或多個資源、以及在日志文件 (124)中存儲所述標識信息和關于所述一個或多個資源的所述位置的信息;一個或多個分布式計算和存儲組件(130),所述分布式計算和存儲組件用于獲取日志 文件信息且被配置成分析日志信息以判決與一個或多個請求相關聯(lián)的一個或多個資源是 否應該被遷移到不同的地理位置處的數(shù)據中心;以及定位服務組件(150),所述定位服務組件用于接收由所述一個或多個分布式計算和存 儲組件(130)做出的判決且被配置成在判決引起一個或多個資源被遷移到在不同的地理 位置的數(shù)據中心時告知所述前端組件(120),以便由此允許所述前端組件將對所述一個或 多個所遷移的資源的未來的請求重定向到所述不同的地理位置處的所述數(shù)據中心。
13.如權利要求12所述的系統(tǒng),其特征在于,所述日志信息包括在地理上定位請求的 發(fā)出者的IP地址。
14.如權利要求12所述的系統(tǒng),其特征在于,所述日志信息包括在地理上定位對至少一個公共資源的請求的發(fā)出者的IP地址。
15. 一個控制器,包括數(shù)據中心信息模塊(802),用于從主存公共服務的資源的地理上迥然不同的數(shù)據中心獲取信息;地理和IP地址信息模塊(804),用于將服務請求的IP地址與地理位置進行關聯(lián);以及 模型信息模塊(808),用于維護一模型,以便至少部分地基于對所主存的資源中的一個 或多個的服務請求的地理位置關于所述公共服務的所述所主存的資源中的所述一個或多 個是否應該經由因特網從所述地理上迥然不同的數(shù)據中心中的一個被遷移到另一個做出 判決。
全文摘要
一個示例性系統(tǒng)包括前端組件、一個或多個分布式計算和存儲(DCS)組件、以及定位服務組件。前端組件被配置成接收對數(shù)據中心中的資源的請求、將每一請求與標識信息關聯(lián)起來、為每一請求定位資源、并在日志文件中存儲標識信息。DCS組件被配置成獲取和分析日志文件信息,以便判決與請求相關聯(lián)的資源是否應該被遷移到不同的地理位置處的數(shù)據中心。定位服務組件被配置成接收由DCS組件做出的判決并向前端組件告知將資源遷移到不同地理位置處的數(shù)據中心的判決,由此允許前端組件將對所遷移的資源的未來的請求重定向到該不同地理位置處的數(shù)據中心。
文檔編號G06F15/16GK102150150SQ200980135951
公開日2011年8月10日 申請日期2009年8月20日 優(yōu)先權日2008年9月11日
發(fā)明者A·沃爾曼, J·D·杜南甘, J·R·漢米爾頓, M·J·馬諾斯, M·張, S·阿加瓦爾 申請人:微軟公司