控制存儲系統(tǒng)中區(qū)域存儲中心間的數(shù)據(jù)存儲的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種用于控制通過全球存儲系統(tǒng)中的網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心中的數(shù)據(jù)存儲的方法。所述方法包括以下步驟:定義至少一個規(guī)則集用于確定所述至少一個數(shù)據(jù)集的存儲位置;通過在全球存儲系統(tǒng)運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于所述至少一個數(shù)據(jù)集的需求的信息;并且根據(jù)所述規(guī)則集,確定關(guān)于在擁有可利用資源的區(qū)域存儲中心中所述數(shù)據(jù)集的存儲位置的信息,所述可利用資源減少所述數(shù)據(jù)集在服務(wù)至少一個指定的數(shù)據(jù)請求實體時穿越的總距離,和/或減少所述數(shù)據(jù)集傳遞到所述指定的一個數(shù)據(jù)請求實體的延遲。
【專利說明】控制存儲系統(tǒng)中區(qū)域存儲中心間的數(shù)據(jù)存儲的方法和裝置
【背景技術(shù)】
[0001]本發(fā)明大體上涉及電氣、電子和計算機領(lǐng)域,更具體地,涉及數(shù)據(jù)存儲和分布。
[0002]隨著網(wǎng)絡(luò)連接和云計算的廣泛使用,數(shù)據(jù)或其它內(nèi)容不再局限于駐留于本地存儲設(shè)備上。相反,一個新的趨勢(尤其是對于在多個用戶之間共享的數(shù)據(jù))是利用服務(wù)器的大型分布系統(tǒng),通常被稱為內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN),所述內(nèi)容分發(fā)網(wǎng)絡(luò)通過互聯(lián)網(wǎng)部署于全球多個數(shù)據(jù)中心,用于有效地把內(nèi)容提供給終端用戶。CDN供應(yīng)目前可以利用的互聯(lián)網(wǎng)內(nèi)容的很大一部分,包括網(wǎng)絡(luò)對象(例如文本、圖形、網(wǎng)址和腳本)、可下載的對象(例如媒體文件、軟件、文檔)、應(yīng)用程序(例如電子商務(wù)、門戶網(wǎng)站)、流媒體直播、流媒體點播、社交網(wǎng)絡(luò)等等。為了使這些提供的內(nèi)容具有高可用性和高性能,物理數(shù)據(jù)通常需要在網(wǎng)絡(luò)內(nèi)被復(fù)制。
[0003]目前,為有效分配而復(fù)制的一些數(shù)據(jù)由嵌入在互聯(lián)網(wǎng)中的代理緩存處理。代理緩存將分配例如視頻內(nèi)容到所選區(qū)域。在這種情況下,同樣一份只讀數(shù)據(jù)(例如視頻數(shù)據(jù))的多個副本位于分散在世界各地的代理緩存中。每一個代理緩存分配請求的數(shù)據(jù)到它的區(qū)域客戶,從而減少網(wǎng)絡(luò)流量擁塞、延遲和功耗。然而,盡管只讀數(shù)據(jù)的副本一般能夠通過世界各地不同的代理緩存直接傳播,但是讀出/寫入數(shù)據(jù)卻不是這樣的。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實施例提供了一種能有益地減少網(wǎng)絡(luò)流量擁塞、功耗和/或在云計算環(huán)境下的數(shù)據(jù)存儲、管理和傳輸?shù)某杀镜脑O(shè)備。
[0005]根據(jù)本發(fā)明的一個實施例,提供了一種用于控制在通過全球存儲系統(tǒng)中的網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的方法。該方法包括以下步驟:定義至少一個數(shù)據(jù)集,該數(shù)據(jù)集包括存儲在全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集;定義用于確定將至少一個數(shù)據(jù)集存儲在什么位置的至少一個規(guī)則集;通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對至少一個數(shù)據(jù)集的需求的信息;以及根據(jù)至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲至少一個數(shù)據(jù)集的位置的信息,該位置減少至少一個數(shù)據(jù)集在服務(wù)一個或多個數(shù)據(jù)請求實體中的至少一個時穿越的總距離,和/或減少至少一個數(shù)據(jù)集傳遞到一個或多個數(shù)據(jù)請求實體中的至少一個的延遲。
[0006]根據(jù)本發(fā)明的一個實施例,提供了一種用于控制在全球存儲系統(tǒng)中通過網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的方法,該方法包括以下步驟:接收對包括存儲于全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集的至少一個數(shù)據(jù)集的請求;接收用于確定將至少一個數(shù)據(jù)集存儲在什么位置的至少一個規(guī)則集;通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對至少一個數(shù)據(jù)集的需求的信息;以及根據(jù)至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲至少一個數(shù)據(jù)集的位置的信息,該位置減少以下至少一個:至少一個數(shù)據(jù)集在服務(wù)一個或多個數(shù)據(jù)請求實體中的至少一個時穿越的總距離,以及至少一個數(shù)據(jù)集傳遞到一個或多個數(shù)據(jù)請求實體中的至少一個的延遲。[0007]根據(jù)本發(fā)明的一個實施例,提供了一種用于控制在全球存儲系統(tǒng)中通過網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的裝置,該裝置包括:配置為定義至少一個數(shù)據(jù)集的模塊,該數(shù)據(jù)集包括存儲在全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集;配置為定義至少一個規(guī)則集的模塊,該規(guī)則集用于確定將至少一個數(shù)據(jù)集存儲在什么位置;配置為通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對至少一個數(shù)據(jù)集的需求的信息的模塊;和配置為,根據(jù)至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲至少一個數(shù)據(jù)集的位置的信息的模塊,其中該位置減少以下至少一個:(i)至少一個數(shù)據(jù)集在服務(wù)一個或多個數(shù)據(jù)請求實體中的至少一個時所穿越的總距離,以及(ii )至少一個數(shù)據(jù)集傳遞到一個或多個數(shù)據(jù)請求實體中的至少一個的延遲。
[0008]根據(jù)本發(fā)明的一個實施例,提供了一種用于控制在全球存儲系統(tǒng)中通過網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的裝置,該裝置包括:配置為接收對包括存儲于全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集的至少一個數(shù)據(jù)集的請求的模塊;配置為接收用于確定將至少一個數(shù)據(jù)集存儲在什么位置的至少一個規(guī)則集的模塊;配置為通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對至少一個數(shù)據(jù)集的需求的信息的模塊;和配置為根據(jù)至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲至少一個數(shù)據(jù)集的位置的信息的模塊,該位置減少以下至少一個:至少一個數(shù)據(jù)集在服務(wù)一個或多個數(shù)據(jù)請求實體中的至少一個時穿越的總距離,以及至少一個數(shù)據(jù)集傳遞到一個或多個數(shù)據(jù)請求實體中的至少一個的延遲。
[0009]通過以下對本發(fā)明解說性實施例的具體介紹并結(jié)合附圖,可以清楚本發(fā)明的這些和其它特征和優(yōu)勢。
【專利附圖】
【附圖說明】
[0010]以下附圖僅以示例的形式描述了本發(fā)明,且不受此局限,其中在這些示例中相同附圖標(biāo)記(若有使用)在所以圖中指代相同部件,其中
[0011]圖1表示根據(jù)本發(fā)明一實施例的云計算節(jié)點;
[0012]圖2表示根據(jù)本發(fā)明一實施例的云計算環(huán)境;
[0013]圖3表示根據(jù)本發(fā)明一實施例的抽象模型層;
[0014]圖4表不根據(jù)本發(fā)明一實施例的概念視圖,描述一個不例性全球存儲系統(tǒng)(即,云)的至少一部分,說明了第一個數(shù)據(jù)集遷移場景;
[0015]圖5表示根據(jù)本發(fā)明一實施例的流程圖,描述管理數(shù)據(jù)遷移的示例性方法的至少一部分;
[0016]圖6表示根據(jù)本發(fā)明一實施例的概念視圖,描述一個示例全球存儲系統(tǒng)的至少一部分,說明了第二個數(shù)據(jù)集遷移場景;
[0017]圖7表示根據(jù)本發(fā)明一實施例的流程圖,描述管理數(shù)據(jù)集遷移的示例性方法的至少一部分,所述方法評估用戶(例如實體或個人)的物理移動;
[0018]圖8表示根據(jù)本發(fā)明一實施例的方框圖,描述對全球存儲系統(tǒng)適用的示例性區(qū)域存儲中心的至少一部分;
[0019]圖9表不根據(jù)本發(fā)明一實施例的方框圖,描述不例全球存儲系統(tǒng)的至少一部分;
[0020]圖10表示根據(jù)本發(fā)明一實施例的概念視圖,描述根據(jù)數(shù)據(jù)類型的示例性先驗數(shù)據(jù)集的遷移決定;
[0021]圖11表示根據(jù)本發(fā)明一實施例,概念性地描述了利用在圖10中定義的示例性數(shù)據(jù)類型形成示例性數(shù)據(jù)遷移政策;
[0022]圖12表示根據(jù)本發(fā)明一實施例,概念性地描述了一些示例屬性,這些屬性被用于數(shù)據(jù)集遷移確定;
[0023]圖13和圖14表示根據(jù)本發(fā)明的替代實施例的概念視圖,描述示例全球存儲系統(tǒng)的至少一部分,說明了帶有數(shù)據(jù)鏡像的示例性數(shù)據(jù)集遷移場景;
[0024]圖15和圖16表示根據(jù)本發(fā)明的替代實施例的概念視圖,描述示例性全球存儲系統(tǒng)的至少一部分,說明了多用戶示例性數(shù)據(jù)集遷移場景;
[0025]圖17是方框圖,描述其中實施了本發(fā)明的實施例的示例性數(shù)據(jù)處理系統(tǒng)的至少一部分。
[0026]應(yīng)該理解為,為了簡單清晰,附圖中的部件被闡明了出來。在一個商業(yè)上可行的實施例中有用或者必要的普通但是易理解一些部件并未描述出來,以為了更好地理解這些示例性實施例。
【具體實施方式】
[0027]本發(fā)明的各個方面將在一個示例機制的語境中來說明,以便于讀出/寫入數(shù)據(jù)在內(nèi)容存儲、管理和傳輸網(wǎng)絡(luò)中跨多個數(shù)據(jù)存儲中心的管理和/或分布。然而,應(yīng)該理解為,本發(fā)明并不局限于本文中的示例性的展示和描述的具體裝置和/或方法。本發(fā)明也不局限于能夠從本發(fā)明的實施例中得到好處的應(yīng)用類型。相反,本發(fā)明的實施例針對更廣泛的技術(shù),用于減少網(wǎng)絡(luò)流量擁塞、功耗和/或在云計算環(huán)境下的數(shù)據(jù)存儲、管理和傳輸?shù)某杀?。此外,在不偏離所說明的實施例的范圍的情況下,對于本【技術(shù)領(lǐng)域】的技術(shù)人員來說,對實施例的很多修改將是顯而易見的。也就是說,關(guān)于這里描述的具體實施例,不應(yīng)該設(shè)定或推測任何限制。
[0028]首先,這里將提供說明書中所使用的一些術(shù)語的定義。具體地,這里使用的術(shù)語“數(shù)據(jù)集”一般廣泛地指數(shù)據(jù)的集合,所述集合在其生命周期作為一個單元被管理,并且可以作為一個單元從一個存儲中心遷移到另外一個存儲中心。多個文件、對象和/或其它技術(shù)存儲單元可以被納入一個數(shù)據(jù)集。類似地,單個文件也可以分布在多個數(shù)據(jù)集。數(shù)據(jù)集的例子包括但不局限于單個文件、文件集合、單個或多個文件的一部分、數(shù)據(jù)庫、一個或多個邏輯卷、一個或多個卷組、虛擬機等等。本文所用的術(shù)語“距離”一般廣泛地指網(wǎng)絡(luò)距離,而不是地理距離。
[0029]兩個位置之間的網(wǎng)絡(luò)距離例如可以理解為下面所述的一個或多個:兩個地點之間以公里為單位計算的最短物理網(wǎng)絡(luò)線路距離;兩個位置之間最大網(wǎng)絡(luò)帶寬的倒數(shù)(即,如果沒有其它流量存在的話),或者給定類型(即,額定的或被觀察的)的其它數(shù)據(jù)流量的平均帶寬的倒數(shù);數(shù)據(jù)包在兩個位置之間轉(zhuǎn)移的周轉(zhuǎn)時間,即,數(shù)據(jù)包從一個位置傳送,經(jīng)過其到達(dá)另一個位置,直到在前一個位置收到數(shù)據(jù)包的到達(dá)收條所用的時間(同樣,在最好的情況下,即沒有其它流量存在,或平均值);兩個位置之間的網(wǎng)絡(luò)成本(例如,每兆字節(jié)(MB)的成本);延遲(者兩個地點之間單程網(wǎng)絡(luò)流量在最好的情況下或平均用時);兩個位置之間例如發(fā)送每兆字節(jié)的網(wǎng)絡(luò)能耗;或者在其它定義中,以上所述的一個或多個結(jié)合(可以加權(quán))。在這些網(wǎng)絡(luò)距離的概念中,通常存儲提供商可能不知道網(wǎng)絡(luò)所用的電力,然而成本卻可以代替使用,因為網(wǎng)絡(luò)供應(yīng)商通常計算電力花費。因此,在數(shù)據(jù)存儲系統(tǒng)的語境下減少(例如最小化)網(wǎng)絡(luò)距離的概念通常廣泛地指優(yōu)化存儲系統(tǒng)的一個或多個與網(wǎng)絡(luò)相關(guān)的特性,而不僅僅是使兩點之間的地理距離最小化。
[0030]本發(fā)明的實施例可以很好地應(yīng)用于云計算架構(gòu)中,云計算是一種服務(wù)交付模式,用于對共享的可配置計算資源池進(jìn)行方便、按需的網(wǎng)絡(luò)訪問??膳渲糜嬎阗Y源是能夠以最小的管理成本或與服務(wù)提供者進(jìn)行最少的交互就能快速部署和釋放的資源,例如可以是網(wǎng)絡(luò)、網(wǎng)絡(luò)帶寬、服務(wù)器、處理、內(nèi)存、存儲、應(yīng)用、虛擬機和服務(wù)。這種云模式可以包括至少五個特征、至少三個服務(wù)模型和至少四個部署模型。
[0031]云模式的特征包括:
[0032]按需自助式服務(wù):云的消費者在無需與服務(wù)提供者進(jìn)行人為交互的情況下能夠單方面自動地按需部署諸如服務(wù)器時間和網(wǎng)絡(luò)存儲等的計算能力。
[0033]廣泛的網(wǎng)絡(luò)接入:計算能力可以通過標(biāo)準(zhǔn)機制在網(wǎng)絡(luò)上獲取,這種標(biāo)準(zhǔn)機制促進(jìn)了通過不同種類的瘦客戶機平臺或厚客戶機平臺(例如移動電話、膝上型電腦、個人數(shù)字助理PDA)對云的使用。
[0034]資源池:提供者的計算資源被歸入資源池并通過多租戶(mult1-tenant)模式服務(wù)于多重消費者,其中按需將不同的實體資源和虛擬資源動態(tài)地分配和再分配。一般情況下,消費者不能控制或甚至并不知曉所提供的資源的確切位置,但可以在較高抽象程度上指定位置(例如國家、州或數(shù)據(jù)中心),因此具有位置無關(guān)性。
[0035]迅速彈性:能夠迅速、有彈性地(有時是自動地)部署計算能力,以實現(xiàn)快速擴展,并且能迅速釋放來快速縮小。在消費者看來,用于部署的可用計算能力往往顯得是無限的,并能在任意時候都能獲取任意數(shù)量的計算能力。
[0036]可測量的服務(wù):云系統(tǒng)通過利用適于服務(wù)類型(例如存儲、處理、帶寬和活躍用戶帳號)的某種抽象程度的計量能力,自動地控制和優(yōu)化資源效用??梢员O(jiān)測、控制和報告資源使用情況,為服務(wù)提供者和消費者雙方提供透明度。
[0037]服務(wù)模型如下:
[0038]軟件即服務(wù)(SaaS):向消費者提供的能力是使用提供者在云基礎(chǔ)架構(gòu)上運行的應(yīng)用??梢酝ㄟ^諸如網(wǎng)絡(luò)瀏覽器的瘦客戶機接口(例如基于網(wǎng)絡(luò)的電子郵件)從各種客戶機設(shè)備訪問應(yīng)用。除了有限的特定于用戶的應(yīng)用配置設(shè)置外,消費者既不管理也不控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲、乃至單個應(yīng)用能力等的底層云基礎(chǔ)架構(gòu)。
[0039]平臺即服務(wù)(PaaS):向消費者提供的能力是在云基礎(chǔ)架構(gòu)上部署消費者創(chuàng)建或獲得的應(yīng)用,這些應(yīng)用利用提供者支持的程序設(shè)計語言和工具創(chuàng)建。消費者既不管理也不控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲的底層云基礎(chǔ)架構(gòu),但對其部署的應(yīng)用具有控制權(quán),對應(yīng)用托管環(huán)境配置可能也具有控制權(quán)。
[0040]基礎(chǔ)架構(gòu)即服務(wù)(IaaS):向消費者提供的能力是消費者能夠在其中部署并運行包括操作系統(tǒng)和應(yīng)用的任意軟件的處理、存儲、網(wǎng)絡(luò)和其他基礎(chǔ)計算資源。消費者既不管理也不控制底層的云基礎(chǔ)架構(gòu),但是對操作系統(tǒng)、存儲和其部署的應(yīng)用具有控制權(quán),對選擇的網(wǎng)絡(luò)模塊(例如主機防火墻)可能具有有限的控制權(quán)。
[0041]部署模型如下:[0042]私有云:云基礎(chǔ)架構(gòu)單獨為某個組織運行。云基礎(chǔ)架構(gòu)可以由該組織或第三方管理并且可以存在于該組織內(nèi)部或外部。
[0043]共同體云:云基礎(chǔ)架構(gòu)被若干組織共享并支持有共同利害關(guān)系(例如任務(wù)使命、安全要求、政策和合規(guī)考慮)的特定共同體。共同體云可以由共同體內(nèi)的多個組織或第三方管理并且可以存在于該共同體內(nèi)部或外部。
[0044]公共云:云基礎(chǔ)架構(gòu)向公眾或大型產(chǎn)業(yè)群提供并由出售云服務(wù)的組織擁有。
[0045]混合云:云基礎(chǔ)架構(gòu)由兩個或更多部署模型的云(私有云、共同體云或公共云)組成,這些云依然是獨特的實體,但是通過使數(shù)據(jù)和應(yīng)用能夠移植的標(biāo)準(zhǔn)化技術(shù)或私有技術(shù)(例如用于云之間的負(fù)載平衡的云突發(fā)流量分擔(dān)技術(shù))綁定在一起。
[0046]云計算環(huán)境是面向服務(wù)的,特點集中在無狀態(tài)性、低耦合性、模塊性和語意的互操作性。云計算的核心是包括互連節(jié)點網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。
[0047]現(xiàn)在參考圖1,其中顯示了云計算節(jié)點的一個例子。圖1顯示的云計算節(jié)點10僅僅是適合的云計算節(jié)點的一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制??傊?,云計算節(jié)點10能夠被用來實現(xiàn)和/或執(zhí)行以上所述的任何功能。
[0048]云計算節(jié)點10具有計算機系統(tǒng)/服務(wù)器12,其可與眾多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置一起操作。眾所周知,適于與計算機系統(tǒng)/服務(wù)器12 —起操作的計算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于:個人計算機系統(tǒng)、服務(wù)器計算機系統(tǒng)、瘦客戶機、厚客戶機、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子產(chǎn)品、網(wǎng)絡(luò)個人電腦、小型計算機系統(tǒng)、大型計算機系統(tǒng)和包括上述任意系統(tǒng)的分布式云計算技術(shù)環(huán)境,等
坐寸ο
[0049]計算機系統(tǒng)/服務(wù)器12可以在由計算機系統(tǒng)執(zhí)行的計算機系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括執(zhí)行特定的任務(wù)或者實現(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、目標(biāo)程序、模塊、邏輯、數(shù)據(jù)結(jié)構(gòu)等。計算機系統(tǒng)/服務(wù)器12可以在通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式云計算環(huán)境中實施。在分布式云計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備的本地或遠(yuǎn)程計算系統(tǒng)存儲介質(zhì)上。
[0050]如圖1所示,云計算節(jié)點10中的計算機系統(tǒng)/服務(wù)器12以通用計算設(shè)備的形式表現(xiàn)。計算機系統(tǒng)/服務(wù)器12的模塊可以包括但不限于:一個或者多個處理器或者處理單元16,系統(tǒng)存儲器28,連接不同系統(tǒng)模塊(包括系統(tǒng)存儲器28和處理單元16)的總線18。
[0051]總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC)總線,增強型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局域總線以及外圍模塊互連(PCI)總線。
[0052]計算機系統(tǒng)/服務(wù)器12典型地包括多種計算機系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是能夠被計算機系統(tǒng)/服務(wù)器12訪問的任意可獲得的介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。
[0053]系統(tǒng)存儲器28可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質(zhì),例如隨機存取存儲器(RAM)30和/或高速緩存存儲器32。計算機系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其它可移動/不可移動的、易失性/非易失性計算機系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)34可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖1未顯示,通常稱為“硬盤驅(qū)動器”)。盡管圖I中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動非易失性光盤(例如⑶-ROM、DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動器。在這些情況下,每個驅(qū)動器可以通過一個或者多個數(shù)據(jù)介質(zhì)接口與總線18相連。存儲器28可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。
[0054]具有一組(至少一個)程序模塊42的程序/實用工具40,可以存儲在存儲器28中,這樣的程序模塊42包括但不限于操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。
[0055]計算機系統(tǒng)/服務(wù)器12也可以與一個或多個外部設(shè)備14 (例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使得該計算機系統(tǒng)/服務(wù)器12能與一個或多個其它計算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/O)接口 22進(jìn)行。并且,計算機系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與計算機系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,其它硬件和/或軟件模塊可以與計算機系統(tǒng)/服務(wù)器12—起操作,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、RAID系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)
坐寸ο
[0056]現(xiàn)在參考圖2,其中顯示了示例性的云計算環(huán)境50。如圖所示,云計算環(huán)境50包括云計算消費者使用的本地計算設(shè)備可以與其相通信的一個或者多個云計算節(jié)點10,本地計算設(shè)備例如可以是個人數(shù)字助理(PDA)或移動電話54A,臺式電腦54B、筆記本電腦54C和/或汽車計算機系統(tǒng)54N。云計算節(jié)點10之間可以相互通信??梢栽诎ǖ幌抻谌缟纤龅乃接性?、共同體云、公共云或混合云或者它們的組合的一個或者多個網(wǎng)絡(luò)中將云計算節(jié)點10進(jìn)行物理或虛擬分組(圖中未顯示)。這樣,云的消費者無需在本地計算設(shè)備上維護(hù)資源就能請求云計算環(huán)境50提供的基礎(chǔ)架構(gòu)即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)和/或軟件即服務(wù)(SaaS)。應(yīng)當(dāng)理解,圖2顯示的各類計算設(shè)備54A-N僅僅是示意性的,云計算節(jié)點10以及云計算環(huán)境50可以與任意類型網(wǎng)絡(luò)上和/或網(wǎng)絡(luò)可尋址連接的任意類型的計算設(shè)備(例如使用網(wǎng)絡(luò)瀏覽器)通信。
[0057]現(xiàn)在參考圖3,其中顯示了云計算環(huán)境50 (圖2)提供的一組功能抽象層。首先應(yīng)當(dāng)理解,圖3所示的模塊、層以及功能都僅僅是示意性的,本發(fā)明的實施例不限于此。如圖3所示,提供下列層和對應(yīng)功能:
[0058]硬件和軟件層60包括硬件和軟件模塊。硬件模塊的例子包括:主機,例如IBM ?zSeries?系統(tǒng);基于RISC(精簡指令集計算機)體系結(jié)構(gòu)的服務(wù)器,例如IBM pSeries?系統(tǒng);IBM xSeriesI?系統(tǒng);IBMBladeCenter.?系統(tǒng);存儲設(shè)備;網(wǎng)絡(luò)和網(wǎng)絡(luò)模塊。軟件模塊的例子包括:網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件,例如IBM WebSphere:?.應(yīng)用服務(wù)器軟件;數(shù)據(jù)庫軟件,例如 IBM DB2 ?數(shù)據(jù)庫軟件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere以及DB2是國際商業(yè)機器公司在全世界各地的注冊商標(biāo))。[0059]虛擬層62提供一個抽象層,該層可以提供下列虛擬實體的例子:虛擬服務(wù)器、虛擬存儲、虛擬網(wǎng)絡(luò)(包括虛擬私有網(wǎng)絡(luò))、虛擬應(yīng)用和操作系統(tǒng),以及虛擬客戶端。
[0060]在一個示例中,管理層64可以提供下述功能:資源供應(yīng)功能:提供用于在云計算環(huán)境中執(zhí)行任務(wù)的計算資源和其它資源的動態(tài)獲??;計量和定價功能:在云計算環(huán)境內(nèi)對資源的使用進(jìn)行成本跟蹤,并為此提供帳單和發(fā)票。在一個例子中,該資源可以包括應(yīng)用軟件許可。安全功能:為云的消費者和任務(wù)提供身份認(rèn)證,為數(shù)據(jù)和其它資源提供保護(hù)。用戶門戶功能:為消費者和系統(tǒng)管理員提供對云計算環(huán)境的訪問。服務(wù)水平管理功能:提供云計算資源的分配和管理,以滿足必需的服務(wù)水平。服務(wù)水平協(xié)議(SLA)計劃和履行功能:為根據(jù)SLA預(yù)測的對云計算資源未來需求提供預(yù)先安排和供應(yīng)。
[0061]工作負(fù)載層66提供云計算環(huán)境可能實現(xiàn)的功能的示例。在該層中,可提供的工作負(fù)載或功能的示例包括:地圖繪制與導(dǎo)航;軟件開發(fā)及生命周期管理;虛擬教室的教學(xué)提供;數(shù)據(jù)分析處理;交易處理;以及移動平臺。為了減少計算機系統(tǒng)的網(wǎng)絡(luò)流量,期望將不同的(例如區(qū)域的)存儲中心聚集到全球存儲云(或系統(tǒng)),所述全球存儲云(或系統(tǒng))可以是在一個企業(yè)的內(nèi)部,也可以是在由一個公共云提供商提供的所有云部件的內(nèi)部,或者是在多供應(yīng)商組織的內(nèi)部??梢酝ㄟ^將選擇的數(shù)據(jù)隨時間從這樣一個全球存儲系統(tǒng)中的一個存儲中心遷移到另外一個存儲中心來降低數(shù)據(jù)存儲、管理和傳輸?shù)某杀尽8鶕?jù)本發(fā)明的實施例,可以控制不同區(qū)域存儲中心之間的數(shù)據(jù)存儲、傳輸和管理的方法,以有利地優(yōu)化全球存儲系統(tǒng)的一個或多個特性(例如減少網(wǎng)絡(luò)流量、成本、延遲、功耗等等)。
[0062]例如:當(dāng)(i)新的或舊的商業(yè)使得它們的企業(yè)增長并將這些企業(yè)傳播到全球各地時,以及當(dāng)(ii)受歡迎的女主角或文化偶像席卷區(qū)域人口時,對數(shù)據(jù)集的需求將會跨區(qū)域波動。為了把情況(ii)闡述的更加清楚,僅通過例子的方式考慮下列情況:首先,費城人民開始經(jīng)常光顧當(dāng)?shù)氐囊粋€搖滾樂隊,數(shù)月后,倫敦人民聽到這種新的音樂風(fēng)格,并且被這種音樂強烈吸引,并且最終隨著該樂隊吸引更多的國際關(guān)注,布拉格的人民為這支新樂隊舉辦了一場音樂會,與此同時,該樂隊引起了國際轟動。隨著該樂隊的流行度擴散,對該樂隊的信息需求也在擴散。在這些情況下·,其中,每一個數(shù)據(jù)集都應(yīng)該隨著時間的步驟,在理想情況下遷移到例如消費者需求重心的位置(在每一個時間間隔處)。因此,本文中所用的術(shù)語“重心”連同指定的數(shù)據(jù)集的數(shù)據(jù)存儲、管理和傳輸,通常指在全球存儲系統(tǒng)的存儲中心的位置,該位置能夠最大限度的減少該數(shù)據(jù)集在服務(wù)其預(yù)期的一個或多個終端用戶時所穿越的總距離。
[0063]更詳細(xì)地,給出為任意兩個地點^和I2定義一個特定的網(wǎng)路距離函數(shù)概念(Kl1, I2)的具體選擇。進(jìn)一步,給出在地點L的數(shù)據(jù)集S、時間段T以及數(shù)據(jù)集S在時間段T的預(yù)期或真正使用模式。例如,可以以列表或矩陣((La1), (l2,a2),...,(ln,an))的形式描述這樣的使用模式,其中I1,...,In指距使用完成位置的位置,并且&1,an指各自數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量(如,以兆字節(jié)(MB)為單位)。那么在時間段T內(nèi)數(shù)據(jù)集S穿越的總距離的初步定義可以被確定為=D=S1 ^dd1, L)+...+an *d(ln, L)。當(dāng)我們還沒有固定數(shù)據(jù)集S的位置L時,通過在時間段T內(nèi)的數(shù)據(jù)集S的重心,給出該使用模式,我們定義了對其值D是最小值的位置L。通常,位置L是獨一無二的,但理論上可以有不止一個重心。位置L可能局限于在該處整個存儲系統(tǒng)(如,云)有存儲中心的這些位置。因此,重心可以被定義為位置ΙΛ這樣,對于每個其他可能的位置 1,有S1 ^dd1, L*) +...+Cin *d(ln, L*) ( B1 ^dd1, L)+...+? *d(ln,L)。
[0064]網(wǎng)絡(luò)距離所用的特定定義通常會影響到要優(yōu)化的網(wǎng)絡(luò)特性。例如:如果把網(wǎng)絡(luò)距離定義為純距離或者成本,那么上述重心的定義就是以上限定的字面上的意義。在這種情況下,目標(biāo)被最小化或者在其他情況下減少數(shù)據(jù)傳送包括潛在遷移的距離的總距離或成本。換句話說,如果在給定的或估計的使用模式的時間段T之前,數(shù)據(jù)集D就位于位置L,,那么對于該時間段,遷移數(shù)據(jù)集D到其重心L*就不一定是最優(yōu)的。可能需要考慮到數(shù)據(jù)集的自身遷移。如果數(shù)據(jù)集的大小以兆字節(jié)(MB)為單位是b,并且數(shù)據(jù)集存儲于位置L'(如:遷移之前存儲中心的位置),那么我們所尋找的位置L~對于每個其他可能的位置L (正如前面定義的)就有 Ia1 ^dd1, L")+...+an *d(ln, L")+b ?d(L/ ,L^a1.(!(I1, L) +...+? *d(ln, L)+b*d(L/,L)。在某些情況下,可以用于數(shù)據(jù)集自身遷移的網(wǎng)絡(luò)距離的不同測量結(jié)果可以用不同的方式計算,或者完全沒有;例如,周轉(zhuǎn)時間或延時對遷移而言就被認(rèn)為不重要。
[0065]假設(shè)一個或多個不同的需求場景,這種數(shù)據(jù)傳送的計算可能包括緩存的評估。在這種情況下,在考慮緩存時,重心可能被相反的定義為將生成的流量或成本最小化。因此,根據(jù)一個實施例,代替將數(shù)據(jù)集的位置L到網(wǎng)絡(luò)距離的加權(quán)和最小化,位置L到所有用戶的最小生成樹的大小被優(yōu)選地計算,其中,生成樹選自的圖中的節(jié)點是可能的緩存、用戶位置以及數(shù)據(jù)集位置,而且,給出使用模式,用它們的網(wǎng)絡(luò)距離與流過它們的數(shù)據(jù)量的乘積來對圖的邊緣進(jìn)行加權(quán)。生成樹分析是眾所周知的技術(shù),并且因此本文將不就其具體細(xì)節(jié)進(jìn)行展示。 [0066]如果把網(wǎng)絡(luò)距離定義為周轉(zhuǎn)時間,那么目標(biāo)可以是最小化所有用戶的最大周轉(zhuǎn)時間,而不是增加周轉(zhuǎn)次數(shù)。因此,對于這種情況,重心的另一種定義是位置L*使得對于每個其他可能的位置L,有max Ca1.d (I1, L*),...,an *d(ln, L*)) ^ max {ax.d (I1, L),...,an *d(ln,L))。在此定義中,可能還省略了加權(quán)因子a” an(他們代表以MB為單位的數(shù)據(jù)量),或者用不同的數(shù)據(jù)傳輸編號C1,...,Cn代替這些加權(quán)因子,這取決于如何評估用戶的等待次數(shù)。
[0067]如果把網(wǎng)絡(luò)距離定義為帶寬的倒數(shù)(對于含有大型項目的數(shù)據(jù)集這可能是合適的),重心的基本定義再一次成為首選。如果關(guān)鍵目標(biāo)是最小化用戶的等待時間直到數(shù)據(jù)傳送完成,那么甚至可以選擇遷移到重心,而不用考慮遷移距離。例如:如果用戶U1,…,Un在時間段T內(nèi)從該數(shù)據(jù)集取得ai,…,an兆字節(jié)數(shù)據(jù),而且如果用戶可以利用的帶寬分別是B1,…,Bn兆字節(jié)/秒,那么每一個用戶Ui將會有^Bi秒的等待時間,而且,最小化所有用戶的這些等待時間的總和是合理的,對于把網(wǎng)絡(luò)距離定義為Ι/Bi的定義,等待時間也確實是重心的定義。
[0068]確定在數(shù)據(jù)集重心定義中假設(shè)的使用模式的第一個方法是評估數(shù)據(jù)集最近在不同地區(qū)出現(xiàn)的需求(如由消費者或人們引發(fā))。確定使用模式的第二種方法是評估居住在與該數(shù)據(jù)集有聯(lián)系的存儲云基礎(chǔ)設(shè)施之外的人員和實體的移動。本發(fā)明的實施例也同樣考慮了其它確定數(shù)據(jù)集重心的方法,在這里的教導(dǎo)的啟示下,對于本領(lǐng)域的技術(shù)人員來說這是顯而易見的。
[0069]關(guān)于確定使用模式的第二種方法,如果某些類型的數(shù)據(jù)集屬于用戶或者實體,而且主要是由它們的一個或多個擁有者使用,那么如果由區(qū)域數(shù)據(jù)中心服務(wù)的用戶或?qū)嶓w更永久性地移動到了一個新的地理區(qū)域,那么在那一時間段,把他們的數(shù)據(jù)集和他們一起移動到離他們新的位置最近的區(qū)域存儲中心是有益的。在其他益處中,本地訪問數(shù)據(jù)有減少網(wǎng)絡(luò)延遲、擁塞和功耗等益處。然而,如果用戶或?qū)嶓w的移動只是暫時的(如度假或短期商務(wù)旅行),那么相反的情況可能為真。
[0070]正如將在下面詳細(xì)介紹的一樣,本發(fā)明的實施例提供了一種方法,該方法用于管理數(shù)據(jù)的大部分自動化復(fù)制和遷移,以提高全球系統(tǒng)的其他系統(tǒng)特性中的整體效率和彈性??紤]到數(shù)據(jù)的生成、使用和退役在時間和空間上橫跨構(gòu)成這樣的系統(tǒng)的區(qū)域存儲中心而改變,這是尤為重要的。
[0071]圖4是表示根據(jù)本發(fā)明一實施例的概念視圖,描述了示例性全球存儲系統(tǒng)(例如云)100的至少一部分。存儲系統(tǒng)100進(jìn)行操作以管理多個存儲中心之間數(shù)據(jù)集的遷移和/或復(fù)制,這些多個存儲中心服務(wù)于不同地理區(qū)域,然而仍然一同作為單個全球存儲云服務(wù)發(fā)揮作用。應(yīng)該強調(diào)的是,參照確定使用模式的第二種方法描述的人和實體都在存儲系統(tǒng)100之外。他們可能觸發(fā)在存儲系統(tǒng)內(nèi)部的動作,但是他們不是所述存儲系統(tǒng)定義的正式部分。
[0072]一般而言,在其他因素中,數(shù)據(jù)集的遷移和/或復(fù)制可能由以下幾個引起:(i )跨越地域和它們的生命周期的對數(shù)據(jù)集的需求的增長和萎縮;(ii)用戶或?qū)嶓w移進(jìn)或移出給定地理區(qū)域;(iii)網(wǎng)絡(luò)距離的變化;和/或(iv)區(qū)域數(shù)據(jù)中心容量的增加或減少。全球存儲系統(tǒng)100包括本地卿,區(qū)域)存儲中心、網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))以及多個數(shù)據(jù)請求實體。
[0073]參考圖4,全球存儲系統(tǒng)100包括多個存儲中心102、104和106,存儲中心102、104和106中的每一個都能夠通過網(wǎng)絡(luò)108或另一替代通信方式彼此溝通。存儲中心可以存在于全球各地的不同的地理位置L。結(jié)合術(shù)語“重心”的討論,L先前被定義為“對于每個其它位置L”。在本語境中,L是代表系統(tǒng)100中的每一個存儲位置的位置的變量。
[0074]在此實施例中,網(wǎng)絡(luò)108從概念上示出為通過相應(yīng)的固定(有線)連接(例如,光學(xué)的、銅、電纜等),與各個存儲中心102、104和106耦合,盡管本發(fā)明的實施例類似地考慮了以常規(guī)方式利用無線通信方式(例如,微波、紅外、射頻(RF)等)建立一個或多個連接。更準(zhǔn)確地說,連接是抽象網(wǎng)絡(luò)的一部分;例如,連接可以是互聯(lián)網(wǎng),或者包括在區(qū)域存儲中心中的公共網(wǎng)絡(luò)和本地內(nèi)部互聯(lián)網(wǎng)。網(wǎng)絡(luò)108可能包括一個或多個軟件或硬件操作監(jiān)視器109,其可進(jìn)行操作以監(jiān)視網(wǎng)絡(luò)的一個或多個特性。例如,操作監(jiān)視器109可以配置為廣播網(wǎng)絡(luò)的狀態(tài)、寬帶容量、當(dāng)前平均帶寬、周轉(zhuǎn)次數(shù)、和/或其它數(shù)據(jù),這些數(shù)據(jù)對確定網(wǎng)絡(luò)距離很重要,因此對于確定數(shù)據(jù)集的最終重心和遷移策略也很重要。
[0075]存儲中心102、104和106各包括有存儲器和控制器。更具體地,存儲中心102包括持久(即,非易失性)存儲器110和能和存儲器110可操作地耦合的控制器112。存儲中心104包括持久存儲器114和能和存儲器114可操作地耦合的控制器116。同樣,存儲中心106包括持久存儲器118和能和存儲器118可操作地耦合的控制器120。注意,存儲器可以物理上分布于多個存儲設(shè)備,而這些存儲設(shè)備也可以擁有各自的低等級控制器。這就是大規(guī)模存儲系統(tǒng)和數(shù)據(jù)中心的現(xiàn)有技術(shù)狀態(tài),并且沒在圖中詳細(xì)表述。每個存儲中心的控制器優(yōu)選地包括自動遷移系統(tǒng)邏輯,其可操作地控制存儲于相應(yīng)存儲器中的一個或多個數(shù)據(jù)集的遷移。
[0076]存儲于一個存儲中心102的存儲器110中的數(shù)據(jù)集121A可以隨著時間遷移,使得該數(shù)據(jù)集移到不同的區(qū)域存儲中心104,并且在該處保持在存儲器114中。數(shù)據(jù)集的適時位置由用于數(shù)據(jù)集的符號121A和121B來表示。在遷移之前,數(shù)據(jù)集是121A ;遷移之后,同一個數(shù)據(jù)集則表示為121B。
[0077]系統(tǒng)100包括位于不同的地理位置的多個用戶和/或其它實體,本文中一般廣泛地將它們稱作數(shù)據(jù)請求實體(DRE)122、124、126、128、130、132、134和136。每DRE經(jīng)由網(wǎng)絡(luò)108通過建立在它們之間的相應(yīng)連接(例如123、125、129、131和133)通信。尤其,DRE能通過網(wǎng)絡(luò)108與存儲中心102、104和106中的一個或多個通信。
[0078]用于確定地理數(shù)據(jù)遷移的系統(tǒng)100的各方面可以通過考慮兩個示例性情況以及每一個情況如何需要一組特定的構(gòu)造元素來支持遷移決定來理解,其中在這兩個示例性情況中,遷移可以被保證。僅作舉例但不受此局限地,圖4中描述的第一種遷移情況(情況I)通過發(fā)起對于數(shù)據(jù)集的請求并連接到網(wǎng)絡(luò)108 (如互聯(lián)網(wǎng))的確定裝置(DRE)的地址(如互聯(lián)網(wǎng)協(xié)議(IP)地址)來評估每一個數(shù)據(jù)集的區(qū)域需求。在裝置(如移動裝置、手機等)發(fā)生移動的場景中,該裝置的位置仍然可以例如根據(jù)呼叫或是數(shù)據(jù)集請求從其起源的蜂窩電話服務(wù)提供商或互聯(lián)網(wǎng)服務(wù)提供商(ISP)來確定,該場景可視為屬于情況I。
[0079]如前所述,情況I強調(diào)了圖4示出的全球存儲系統(tǒng)100的構(gòu)造方面,這些構(gòu)造方面能夠例如通過記錄數(shù)據(jù)集每一個數(shù)據(jù)請求實體的地址(如:IP地址)來衡量對數(shù)據(jù)集的需求,由此一起衡量對該數(shù)據(jù)集的需求。在這個例子中DRE是物理地連接到網(wǎng)絡(luò)108的“固定”設(shè)備,,盡管DRE并不局限于是固定的(如在移動用戶或?qū)嶓w的情況下)。相反或除了使用IP地址外,可以使用更高等級的地址,例如,如果對于使用數(shù)據(jù)集的驗證需要用戶的ID,則可以使用用戶的ID。在每種情況下,從地址到位置優(yōu)選地有映射,因此網(wǎng)絡(luò)距離可以根據(jù)最初為地址收集的用戶模式計算出來。對IP地址而言,根據(jù)互聯(lián)網(wǎng)服務(wù)提供商(ISP)的位置以及大型企業(yè)網(wǎng)絡(luò)的位置,這樣的映射在互聯(lián)網(wǎng)上極為可用。對于更高等級的地址而言,到位置的映射可以由用戶向全球存儲系統(tǒng)的注冊來給出(例如,如果用戶需要輸入他們的家庭地址)。
[0080]如果屬于某個小的集合rι,..., rN的用戶位置是抽象的(即,我們沒有把每一個用戶和他們的確切物理位置Ii相關(guān)聯(lián),而是僅僅把^,...,rN的集合中一個極為接近用戶的位置和該用戶相關(guān)聯(lián)),那么我們就可以討論“區(qū)域” 了——和位置h相關(guān)聯(lián)的所有用戶和實體被認(rèn)為屬于區(qū)域Rr例如,如果用IP地址來確定位置并且該位置僅能夠被了解到用戶的互聯(lián)網(wǎng)服務(wù)提供商位置為止,這就可以得到實現(xiàn)一那么所述位置可以被選為互聯(lián)網(wǎng)服務(wù)提供商的位置,并且由一個互聯(lián)網(wǎng)服務(wù)提供商服務(wù)的所有用戶屬于同一個區(qū)域。區(qū)域的概念會在下文中進(jìn)一步使用(如在與圖4類似的后面的圖(如圖6)中得到明確添加),以讓物理地理變得更加清晰。不應(yīng)該認(rèn)為這種區(qū)域標(biāo)志僅局限于本發(fā)明的實施例中。
[0081]在用較高水平地址的情況下,全球存儲系統(tǒng)100也可以界定用戶等級的不同重要性(如根據(jù)服務(wù)水平協(xié)議(SLA)或者不同優(yōu)先級的定價),并且利用對不同水平需求的加權(quán)模式。換句話說,如果根據(jù)所述方案,處于位置Ii的用戶Ui的權(quán)重為Wi,并且如果不使用重心的基本定義,那么代替的位置L*對于每個其他可能的位置L有:Wja1Cl (I1, L*) +...+wnand (ln, L*) Wja1Cl (I1, L) +...+wnand (ln, L)。
[0082]圖5表示根據(jù)本發(fā)明一實施例流程圖,描述管理數(shù)據(jù)遷移的示例方法200的至少一部分。根據(jù)本發(fā)明的實施例,方法200使用區(qū)域需求來判斷是否遷移數(shù)據(jù)集,盡管其他的或額外的因素也可以 用在這種判斷中。方法200包括定義一個或更多規(guī)則集202(如:選擇距離概念等),以及定義數(shù)據(jù)集204,所述兩個步驟都在該方法操作前執(zhí)行。這里使用的術(shù)語“規(guī)則集”通常指任何標(biāo)準(zhǔn)(如規(guī)則、指令、政策等等),這些標(biāo)準(zhǔn)可以用來判斷是否執(zhí)行和/或如何執(zhí)行規(guī)定的一個或多個行動。規(guī)則集可能包括一個或多個規(guī)則。定義一個或多個規(guī)則集202可能包括例如定義用來確定將數(shù)據(jù)集存儲在什么位置的優(yōu)化特征。在操作期間,方法200進(jìn)行操作以收集關(guān)于步驟206中數(shù)據(jù)集的需求信息,而且,根據(jù)需求信息,在步驟208中確定請求數(shù)據(jù)集的重心。在步驟210中,基于至少部分收集到的信息以及重心,判斷數(shù)據(jù)遷移是否值得。如果判斷為數(shù)據(jù)遷移是不值得的,方法200在步驟206中繼續(xù)以收集需求信息。或者,如果在步驟210中判斷為數(shù)據(jù)遷移是值得的,方法200繼續(xù)在步驟212中遷移數(shù)據(jù)集,然后該方法在步驟206中得以繼續(xù)。
[0083]圖6表示根據(jù)本發(fā)明另一實施例的概念視圖,描述一個示例性全球存儲系統(tǒng)(如云)300的至少一部分。在圖6中,可以把由全球存儲系統(tǒng)服務(wù)的地理區(qū)域劃分為多個區(qū)域,從I到N,其中N是整數(shù)。不應(yīng)認(rèn)為這種詳細(xì)的劃分是局限性的。區(qū)域可以是不重疊的地理位置(即區(qū)域):分別為區(qū)域1、區(qū)域2、區(qū)域3,直到區(qū)域N,其中N是整數(shù)。然而,在其他實施例中,一個區(qū)域的至少一部分可能與一個或多個區(qū)域的至少一部分相重疊。區(qū)域可以被用來指具體的地理位置,也可以被用來暗示更多各種用于捆綁(bundling)的機會。
[0084]如前所說明的,術(shù)語區(qū)域可以用來指許多人聚集到可以識別的IP地址中:例如,如果利用IP地址來識別位置,并且這些位置僅僅能夠被了解到用戶的互聯(lián)網(wǎng)服務(wù)提供商的位置為止,這就可以得到實現(xiàn),一那么所述位置可以被選為互聯(lián)網(wǎng)服務(wù)提供商(ISP)的位置,并且由一個互聯(lián)網(wǎng)服務(wù)提供商服務(wù)的所有用戶屬于同一個區(qū)域。術(shù)語區(qū)域也可以描述IP地址、DNS名稱或獨立的DRE地址的更高等級的聚合體。這樣的聚合體能夠?qū)е律倭康膮^(qū)域(RP被分配在全球存儲系統(tǒng)100或300內(nèi)。隨著區(qū)域(RP減少,更少的關(guān)聯(lián)位置(rp必須得到保留以描述時間段T內(nèi)對數(shù)據(jù)集需求。隨之,與特定數(shù)據(jù)集的存儲元數(shù)據(jù)相關(guān)聯(lián)的存儲器大小/成本可以因此減少。由此,應(yīng)該理解的是,本發(fā)明的實施例并不受限于示出的特定區(qū)域數(shù)目或結(jié)構(gòu)。也應(yīng)該理解,根據(jù)本發(fā)明的實施例,本質(zhì)上能夠想到全球存儲系統(tǒng)100或300的任一數(shù)目或區(qū)域結(jié)構(gòu)。
[0085]更詳細(xì)地,圖6闡述了第二種數(shù)據(jù)遷移情況(情況2),該情況把一個或多個實體(如公司或一群人人)或人們的更加永久的物理遷移分別與他/她或他們的數(shù)據(jù)集相關(guān)聯(lián)。與情況I形成對照,在情況2中,考慮到了數(shù)據(jù)集的所有權(quán)概念,數(shù)據(jù)集的所有權(quán)必須讓全球存儲系統(tǒng)300知曉,所以“他/她或他們的數(shù)據(jù)集”的概念得到了明確的定義。而且,在該方法中,假設(shè)一個或多個數(shù)據(jù)集的所有者是所述數(shù)據(jù)集的一個或多個關(guān)鍵用戶,因此需要考慮一個或多個所有者的位置,以確定數(shù)據(jù)集的最佳位置。在一些情況下,數(shù)據(jù)集的所有權(quán)關(guān)系可能是固定的,但是在其它情況下可能是變化的,例如公司員工的角色變化。
[0086]應(yīng)該理解的是,可以使得情況I和情況2 二者具有區(qū)域和不具有區(qū)域。因此,盡管圖4描述了不具有區(qū)域的情況1,圖6描述了具有區(qū)域的情況2,本發(fā)明的實施例并不局限于這些說明性的場景,如對于本領(lǐng)域的技術(shù)人員而言在此教導(dǎo)下顯而易見的。例如,本發(fā)明的實施例仔細(xì)考慮了其中情況I具有區(qū)域的場景,或者其中情況2不具有區(qū)域的另外一個場景這些其它場景類似地在本發(fā)明的實施例的范圍內(nèi)。
[0087]就像在圖4中示出的全球存儲系統(tǒng)100 —樣,全球存儲系統(tǒng)300包括通過網(wǎng)絡(luò)108通信的多個區(qū)域存儲中心102、104和106,以及多個位置監(jiān)測裝置(如手機信號發(fā)射塔)302、304、306、308、310、312、314、316、和318。系統(tǒng)300還包括一個或多個位置顯示裝置320,該裝置可以是例如與移動用戶或?qū)嶓w連接的手機。在該裝置是手機的情況下,位置顯示裝置320可能不僅僅顯示用戶322的位置,還可以用作移動數(shù)據(jù)請求實體(移動DRE)。該移動數(shù)據(jù)請求實體通過蜂窩塔(cell tower)與潛在的硬連接網(wǎng)絡(luò)連接(正如位置監(jiān)測裝置所示)。
[0088]更準(zhǔn)確地,根據(jù)本發(fā)明一示例性實施例,位置顯示裝置320也有擁有者,所以該裝置的當(dāng)前位置被假定與其擁有者的當(dāng)前的位置相同。如果用戶希望利用所述方法,裝置320設(shè)置為允許轉(zhuǎn)發(fā)其位置。一個或多個位置監(jiān)測裝置302、304、306、308、310、312、314、316和/或318可以追蹤位置顯示裝置320的位置,并且在全球存儲系統(tǒng)中報告其位置。位置顯示裝置也可以配置為服務(wù)多個和/或變化的用戶。而在另一個極端,位置顯示裝置可以是用戶或?qū)嶓w322的他/她/它本身,正如圖6中附圖標(biāo)注“我已經(jīng)移動到……”所示的那樣。如前所解釋的,可以把由全球存儲系統(tǒng)300服務(wù)的地理區(qū)域劃分為多個區(qū)域,從I到N,N是整數(shù)。再一次,此處使用區(qū)域而不是準(zhǔn)確位置的動機與情況I中的動機一樣;即,有可能無法獲得精確位置信息(如作為位置監(jiān)測裝置的蜂窩電話塔可能只轉(zhuǎn)發(fā)它自己的位置,所以它定義了一個區(qū)域),或者,處理(區(qū)域的)若干位置而不是數(shù)量眾多的所有可能位置會更加容易,至少更容易計算。
[0089]在圖6所示的例子中,區(qū)域I包括區(qū)域存儲中心102以及DRE 302,304和306,區(qū)域2包括區(qū)域存儲中心104以及位置監(jiān)測裝置308和310,并且區(qū)域N包括區(qū)域存儲中心106和位置檢測裝置312。區(qū)域3包括一個或多個位置監(jiān)測裝置314,然而,在該例子中,區(qū)域3不包括區(qū)域存儲中心。而且,如位置檢測裝置316的情況一樣,系統(tǒng)300的一些位置監(jiān)測裝置不由任何定義區(qū)域包括,盡管每個這些監(jiān)測裝置都仍能夠通過已建立的連接與網(wǎng)絡(luò)108通信。如先前所描述的那樣,圖6中所示的位置顯示裝置320與移動實體(如人322)相關(guān)聯(lián)。在此需要強調(diào)的是,位置顯示裝置320也可以作為移動DRE,與蜂窩電話塔(如位置監(jiān)測裝置如318、316所示)交換數(shù)據(jù)。相比之下,在一定程度上,圖4示出的DRE的地理位置較為固定(如多個服務(wù)器)。然而,也可以考慮(具有多個用戶或位置所有權(quán)的)示例性情況1,在此情況中,移動DRE充當(dāng)位置顯示裝置,或者由位置監(jiān)測裝置確定位置的位置顯示裝置。應(yīng)該理解的是,本發(fā)明的·實施例并不局限于示出的特定數(shù)目或區(qū)域結(jié)構(gòu)。也應(yīng)該理解,根據(jù)本發(fā)明的實施例,全球存儲系統(tǒng)300的任一數(shù)目或區(qū)域結(jié)構(gòu)都是可以想到的。
[0090]很容易將圖6描述的第二個情況(情況2)中的運動可視化。具體地,箭頭325指用戶(個人A) 322從第一個區(qū)域(即區(qū)域I)以及相應(yīng)的包括該他/她的一個或多個數(shù)據(jù)集324的區(qū)域存儲中心102移動到第二個區(qū)域(即區(qū)域2)??紤]到全球存儲系統(tǒng)300可以含有使其能夠預(yù)測用戶322已經(jīng)從區(qū)域I更加永久的移動到了區(qū)域2的啟發(fā)法(將在下文進(jìn)一步詳細(xì)解釋),可能期望將該用戶的一個或多個數(shù)據(jù)集324遷移到與區(qū)域2相關(guān)聯(lián)的區(qū)域存儲中心104,如箭頭327所示。
[0091 ] 總結(jié)性地說,情況2說明了用戶或?qū)嶓w相對于他的/她的、它的或他們的一個或多個數(shù)據(jù)集的物理運動。如果只考慮一個所有者,那么優(yōu)化公式優(yōu)選地是情況使用的那些公式的簡單版本,其中僅出現(xiàn)了一個用戶。例如,用重心的基本定義確定遷移的公式基本包括尋找位置L~,使得對于所有其它可能位置L',有a MarHbMa',LXa.d(l,L)+b.d(L',L),其中I是數(shù)據(jù)集D的所有者的位置,數(shù)據(jù)集D的大小為b百兆字節(jié),并且在時間段T之前處于位置L',而且預(yù)計數(shù)據(jù)集所有者將在時間段T內(nèi)轉(zhuǎn)移a兆字節(jié)到數(shù)據(jù)集D或從數(shù)據(jù)集D中轉(zhuǎn)移出a兆字節(jié)。如果考慮到一個或多個所有者,可以用權(quán)重(Wi)的概念來管理所有者的至少一個子集中的每一個對重心計算的數(shù)據(jù)集產(chǎn)生的影響,權(quán)重的概念首先相對于在圖4中示出的全球存儲系統(tǒng)100的更高等級地址引入。
[0092]現(xiàn)在參考圖7,根據(jù)本發(fā)明的實施例,該流程圖描述了管理數(shù)據(jù)集遷移的示例方法400的至少一部分,示例方法400評估用戶(例如,實體或人物)的物理運動。如圖7中明顯示出的,方法400中的某些步驟在該方法操作前執(zhí)行,或者在該方法的一個操作前或操作中執(zhí)行,或者在該方法操作期間執(zhí)行。具體地,在方法400的操作前,步驟402就定義了規(guī)則集(如建立本地化方案并確定移動的持久性標(biāo)準(zhǔn)),步驟404定義了數(shù)據(jù)集。在可以在方法400的一個操作前或操作中執(zhí)行的步驟406中,建立將移動實體/用戶與他們對應(yīng)的數(shù)據(jù)集相關(guān)聯(lián)的各個鏈接。若步驟406預(yù)先完成,那么該步驟406可以包括例如根據(jù)用戶身份數(shù)據(jù)集的明確注冊。如果沒有可利用的注冊,那么全球存儲系統(tǒng)可以如情況I 一樣在較高等級地址下執(zhí)行使用監(jiān)測,或者在長時間觀察一個用戶時假設(shè)數(shù)據(jù)集可以像情況2中的數(shù)據(jù)集一樣對待。
[0093]在操作中,方法400進(jìn)行操作以分析步驟408中各個實體/用戶的位置變化(即移動)。如果在步驟410中判斷為所發(fā)現(xiàn)的變化不是永久性的移動,那么方法400繼續(xù)回到步驟408,以監(jiān)測實體/用戶位置變化。或者,如果在步驟410中判斷為移動是永久性的,那么方法400在步驟412中判斷是否應(yīng)該執(zhí)行與該實體/用戶相聯(lián)的一個或多個數(shù)據(jù)集的遷移。如果判斷為數(shù)據(jù)集遷移不應(yīng)該執(zhí)行,那么方法400繼續(xù)回到步驟408,在步驟408中繼續(xù)監(jiān)測實體/用戶位置的變化?;蛘?,如果在步驟412中判斷為數(shù)據(jù)集遷移應(yīng)該被執(zhí)行,那么方法400在步驟412中執(zhí)行數(shù)據(jù)遷移,在此之后,方法400在步驟408中繼續(xù)監(jiān)測該實體/用戶位置的變化。
[0094]圖8表不根據(jù)本發(fā)明一實施例的方框圖,描述適合在全球存儲系統(tǒng)(如圖4和圖5分別示出的系統(tǒng)100或系統(tǒng)300)中使用的示例區(qū)域存儲中心500的至少一部分O。區(qū)域存儲中心500包括元數(shù)據(jù)數(shù)據(jù)庫502的邏輯視圖,或者可替代的存儲器,其進(jìn)行操作以存儲其他項目中關(guān)于數(shù)據(jù)集503的信息。元數(shù)據(jù)數(shù)據(jù)庫502、數(shù)據(jù)集503本身和所有其它數(shù)據(jù)505中的信息或數(shù)據(jù)可以分別存儲于圖4所示的區(qū)域存儲中心102、104和106中的存儲器110、114和118內(nèi)。冠以“所有其它”的數(shù)據(jù)505可以包括,但并不局限于,用于支持遷移邏輯處理的實際代碼,如框508、502、512、514、516、518、520和522中的一個或多個所示。元數(shù)據(jù)數(shù)據(jù)庫502可以描述狀態(tài)、所有權(quán)鏈接(如到用戶或移動實體)、以及存儲于存儲器110、114和118 (見圖4)內(nèi)的數(shù)據(jù)集的使用。下文將更詳細(xì)描述元數(shù)據(jù)數(shù)據(jù)庫502的內(nèi)容;尤其是關(guān)于表1、圖10和圖11。而且,數(shù)據(jù)庫502可以包括關(guān)于移動用戶或?qū)嶓w的其它數(shù)據(jù),以判斷移動用戶和實體的移動在本質(zhì)上是暫時性的還是更永久性的,如將會參考圖12討論的一樣。
[0095]存儲中心500包括兩個主饋送源的至少一個,以向數(shù)據(jù)庫502提供關(guān)于數(shù)據(jù)集遷移和重新定位的數(shù)據(jù)。具體地,第一模塊504進(jìn)行操作以為數(shù)據(jù)集收集DRE需求,第二模塊506進(jìn)行操作以追蹤移動實體。第一和第二模塊504、506中的任意一個都在之前結(jié)合圖4至圖7討論過。更詳細(xì)地講,如參照圖4和圖5所描述的,模塊504根據(jù)情況I提供了用于收集DRE需求的機制,并且如參照圖6和圖7所描述的,模塊506根據(jù)情況2提供了用于追蹤移動實體的機制。[0096]繼續(xù)參考圖8,第一模塊504包括以模塊508統(tǒng)表不并與一個或多個輸入處理器510耦合的一個或多個收集器。收集器508中的每一個都進(jìn)行操作以接收全球存儲系統(tǒng)中DRE和關(guān)聯(lián)數(shù)據(jù)集請求的至少一個IP地址或者完全限定域名(FQDN),并且進(jìn)行操作生成表明DRE位置的元數(shù)據(jù)標(biāo)簽,收集器508通過評估DRE的地址來請求該數(shù)據(jù)集。更詳細(xì)地,收集器508連同來自于存儲事物的關(guān)聯(lián)元數(shù)據(jù)一起復(fù)制數(shù)據(jù)集請求發(fā)起者(如DRE)的地址,然后為收集到的數(shù)據(jù)排隊,以供一個或多個輸入處理器510做進(jìn)一步處理。這種可選擇的排隊步驟有利于減少核心處理器的實時需求。
[0097]一個或多個輸入處理器510進(jìn)行操作以映射IP地址/FDQN以及從收集器508中接收到的關(guān)聯(lián)數(shù)據(jù)集請求,并且生成到被請求的數(shù)據(jù)集的鏈接。一個或多個輸入處理器510孤立該數(shù)據(jù)集,標(biāo)記它,并執(zhí)行一些初步分析(包括,將映射發(fā)起者地址(即,IP地址,或完全限定域名,簡稱為FQDN)映射到區(qū)域),并且為即將到來的存儲事物流內(nèi)的每一個數(shù)據(jù)集在一個或多個元數(shù)據(jù)數(shù)據(jù)庫502中最終加載位置或者增加一個與該數(shù)據(jù)集相關(guān)聯(lián)的區(qū)域。數(shù)據(jù)集自身的位置由將它存儲在什么位置來明確表示或揭露:在此例中,為存儲中心I (標(biāo)號102)。在該實施例中,數(shù)據(jù)集的大小也被保留為元數(shù)據(jù)。因此,用于計算(數(shù)據(jù)集在時間段T內(nèi)的)總網(wǎng)絡(luò)距離和用于表明數(shù)據(jù)集大小的相關(guān)信息也被保留在元數(shù)據(jù)數(shù)據(jù)庫502中。
[0098]第二個模塊506包括一個或多個移動更新處理器512,該移動更新處理器進(jìn)行操作以接收全球存儲系統(tǒng)中的用于移動用戶和/或?qū)嶓w的位置更新。更詳細(xì)地,移動更新處理器512的至少一個子集能夠首先進(jìn)行操作以從全球住宅位置分發(fā)器513接收用戶和/或?qū)嶓w(如:人群、移動機器人/無人機等)的地理地址的變化。全球住宅位置分發(fā)器513進(jìn)行操作以分配鏈接到位于全球存儲系統(tǒng)中的特定數(shù)據(jù)集的用戶和/或?qū)嶓w各自的住宅(即地理)地址。元數(shù)據(jù)數(shù)據(jù)庫502通過一個或多個移動更新處理器512搜索與該用戶/實體鏈接的數(shù)據(jù)集記錄。對于每一個與一個或多個用戶/實體鏈接的數(shù)據(jù)集,該一個或多個移動更新處理器512更新每個所有者用戶和/或?qū)嶓w的地理地址(即位置)。
[0099]區(qū)域存儲中心500還包括規(guī)則管理模塊514、分?jǐn)?shù)計算模塊516、數(shù)據(jù)庫同步工具模塊518和數(shù)據(jù)遷移引擎520,它們操作地與元數(shù)據(jù)庫520耦合。區(qū)域存儲中心500內(nèi)遷移邏輯可以有利地實施為模塊化系統(tǒng)。由于模塊514、516、518以及模塊512 (還未介紹)的任一個都可以直接和其它構(gòu)成模塊直接通信,所以把這些模塊的集體視為遷移決定和執(zhí)行模塊507是有用的。該決定和執(zhí)行模塊507被配置為實現(xiàn)參考圖6和圖7描述的高等級決定邏輯。
[0100]更詳細(xì)地講,規(guī)則管理模塊514含有由分?jǐn)?shù)計算模塊516使用的規(guī)則。讓規(guī)則與實際計算分開,使得該系統(tǒng)從開發(fā)的角度而言更容易維護(hù),因此是優(yōu)選的,盡管本發(fā)明的實施例并不受這樣的限制。規(guī)則具體包括:(i)網(wǎng)絡(luò)距離測量的選擇;(ii)列成使用表格的時間段T的長度(在一些實施例中,也是分?jǐn)?shù)計算模塊516對每一個數(shù)據(jù)集操作的頻率);以及(iii)是否可以考慮除了重心以外的遷移努力(當(dāng)選擇數(shù)據(jù)集的下一個位置時)。數(shù)據(jù)庫同步工具模塊518允許位于不同地理區(qū)域中的不同存儲中心(如524、526,在這里也指數(shù)據(jù)中心)的元數(shù)據(jù)數(shù)據(jù)庫分享和同步它們的元數(shù)據(jù)(即關(guān)于數(shù)據(jù)集的數(shù)據(jù))。數(shù)據(jù)遷移引擎520被用于把數(shù)據(jù)集從一個地區(qū)遷移到另一個地區(qū)。分?jǐn)?shù)計算模塊516進(jìn)行操作以利用規(guī)則分析數(shù)據(jù)庫502的記錄,以確定并將用于數(shù)據(jù)集的自動遷移優(yōu)先。因此,如前所述,分?jǐn)?shù)計算模塊516是實際計算重心和優(yōu)化公式的模塊。除了為每個數(shù)據(jù)集計算最優(yōu)配置外,分?jǐn)?shù)計算模塊516還考慮交叉數(shù)據(jù)集標(biāo)準(zhǔn)(如,在任何時候有多少數(shù)據(jù)可以得到遷移,或者關(guān)于一些數(shù)據(jù)集到達(dá)存儲基線并因此不再是遷移考慮的可能位置的消息)。
[0101]在全球存儲系統(tǒng)中,數(shù)據(jù)遷移引擎520與實際數(shù)據(jù)集存儲503、與元數(shù)據(jù)庫502以及與一個或多個其它區(qū)域存儲中心524至526耦合。數(shù)據(jù)遷移引擎520也和全球地址更新分發(fā)器528耦合,全球地址分發(fā)其528進(jìn)行操作以發(fā)送地址更新到一個或多個存儲地址重定向控制器。正如參照圖9更詳細(xì)地討論的,一個或多個全球地址更新分發(fā)器可以將關(guān)于數(shù)據(jù)集被存儲在什么位置——存儲中心500、524和526的最新信息傳播到嵌入在網(wǎng)絡(luò)108中或者在存儲中心的初始網(wǎng)絡(luò)關(guān)聯(lián)元件之中(如,反向代理服務(wù)器或Web服務(wù)器)的本地地址虛擬化系統(tǒng)(指圖9中的“存儲地址重新定向模塊”),以將從來自于DRE (消費者)的請求引導(dǎo)到包括所感興趣的數(shù)據(jù)集的存儲中心500、524和526。此外,如參照圖9討論的,全球住宅位置分發(fā)器513可以被用來向存儲中心500、524和526提供終端消費者現(xiàn)在的位置以及將來可能的位置,這些終端消費者作為它們所有者而與一些數(shù)據(jù)集相鏈接。
[0102]在分?jǐn)?shù)計算模塊516或數(shù)據(jù)遷移引擎520中,自動遷移決定邏輯或替代控制機構(gòu)進(jìn)行操作以:(i)利用關(guān)于所關(guān)聯(lián)的服務(wù)水平協(xié)議(SLA)的信息;(ii)考慮管理一個或多個數(shù)據(jù)集和網(wǎng)絡(luò)108的一般可用性問題;以及(iii)確定數(shù)據(jù)集遷移的恰當(dāng)時間(如非高峰時間,以將網(wǎng)絡(luò)擁塞最小化)。例如、SLA可以描述數(shù)據(jù)集已經(jīng)并應(yīng)當(dāng)繼續(xù)分別在遷移的源存儲中心和目標(biāo)存儲中心。邏輯存儲卷、虛擬機、平面文件數(shù)據(jù)和數(shù)據(jù)庫等應(yīng)該被考慮。
[0103]區(qū)域存儲中心500還可以包括硬件操作模塊522,與數(shù)據(jù)遷移引擎520或者區(qū)域存儲中心的一個或多個模塊耦合。硬件操作監(jiān)測器522 (標(biāo)記為“操作? ”)能夠有效地監(jiān)測表示數(shù)據(jù)遷移引擎520的一個或多個操作特征的狀態(tài)。例如,硬件操作監(jiān)測器522可以執(zhí)行下列中的至少一個:(i)評估相應(yīng)存儲中心500的操作狀態(tài)(如運行、沒有運行、部分運行傳播相應(yīng)區(qū)域存儲中心的操作狀態(tài)到與其它區(qū)域存儲中心相關(guān)聯(lián)的的所有其它硬件操作監(jiān)測器(如:通過區(qū)域存儲中心524到526) ; (iii)通過網(wǎng)絡(luò)取回其它所有存儲中心的操作狀態(tài);以及(iv)通知在其區(qū)域存儲中心500上得到支持的相應(yīng)數(shù)據(jù)遷移引擎520中的自動遷移決定邏輯。
[0104]因此,圖8主要描述了在存儲中心1、2和3 (分別為102、104和106)中使能的自動遷移邏輯112、116和120的示例性邏輯和互動。自動遷移邏輯的主要部件可能包括例如元數(shù)據(jù)數(shù)據(jù)庫502、第一模塊504 (對于情況I——進(jìn)行操作以收集對數(shù)據(jù)集的DRE需求)、第二模塊506 (對于情況2—進(jìn)行操作以追蹤移動實體),以及遷移決定和執(zhí)行模塊507。根據(jù)本發(fā)明的實施例,單獨的系統(tǒng)通過選擇第一模塊504和第二模塊506中的一個來被使能。包括模塊504和507的組合的系統(tǒng)需要數(shù)學(xué)不等式,該數(shù)學(xué)不等式結(jié)合(i)參照情況I(圖4和圖5)描述的,根據(jù)在時間段T內(nèi)收集到的網(wǎng)絡(luò)流量對最優(yōu)存儲位置L的重新評估,以及(ii)參照情況2 (圖6和圖7)描述的,基于與該數(shù)據(jù)集相關(guān)聯(lián)的實際消費者(一個或多個人或移動實體)的當(dāng)前住宅位置對最優(yōu)存儲位置L的選擇進(jìn)行加權(quán)。
[0105]對虛擬存儲的支持也是需要的,并且將會結(jié)合圖9做進(jìn)一步詳細(xì)解釋。具體地,圖9是是根據(jù)本發(fā)明的一實施例的方框圖,描述了示例全球存儲系統(tǒng)600的至少一部分。全球存儲系統(tǒng)600包括通過網(wǎng)絡(luò)108相互通信的多個區(qū)域存儲中心102、104和106。全球存儲系統(tǒng)600服務(wù)的地理區(qū)域被劃分為多個地區(qū),從I到N,N是整數(shù)。用這種方式,全球存儲系統(tǒng)600與在圖4和圖6中分別示出的示例性全球存存儲系統(tǒng)100和300類似。[0106]全球存儲系統(tǒng)600還包括一個全球住宅位置分發(fā)器513和一個全球地址更新分發(fā)器528,它們可以以與圖8示出的全球住宅位置分發(fā)器513和全球地址更新分發(fā)器528 —致的方式實現(xiàn),盡管本發(fā)明的實施例并不局限于這些模塊的任何具體實現(xiàn)方式。如前所述,全球住宅位置分發(fā)器513進(jìn)行操作以分配與位于全球存儲系統(tǒng)600中的特定數(shù)據(jù)集相鏈接的用戶/實體的各自的住宅(即地理)地址。一個或多個因素可以表明住宅地址的改變,這將在下文進(jìn)行進(jìn)一步的詳細(xì)討論。全球地址更新分發(fā)器528可以操作以向一個或多個存儲地址重定向控制器發(fā)送地址更新。
[0107]全球存儲系統(tǒng)600中的每一個地理區(qū)域都可以包括相應(yīng)的存儲地址重新定向模塊或者類似的控制機構(gòu)。更詳細(xì)的講,區(qū)域I包括地址重新定向模塊602,區(qū)域2包括地址重新定向模塊604,區(qū)域3包括地址重新定向模塊606,區(qū)域N包括地址重新定向模塊608。總的來說,地址重新定向模塊602、604、606和608共同形成了全球存儲系統(tǒng)600的存儲地址重定向系統(tǒng)。
[0108]根據(jù)本發(fā)明的實施例,利用全球存儲系統(tǒng)的數(shù)據(jù)集的應(yīng)用可以從最近的存儲地址重新定向模塊獲取任何所需數(shù)據(jù)集的物理地址(或者通過間接訪問數(shù)據(jù)集,而不用知道其物理地址)。同樣,如果數(shù)據(jù)集是由全球存儲系統(tǒng)定義的虛擬實體但是包括許多用戶定義的文件等,則如果該用戶希望訪問單個文件等,這也仍然成立。通過該地址系統(tǒng),對數(shù)據(jù)集的請求可以通過例如統(tǒng)一資源定位器(URL)重新定向、卷重新定向等重新定向到全球存儲系統(tǒng)內(nèi)的N個區(qū)域中的一個。對于所存儲的數(shù)據(jù)元素,諸如該用戶在某種情況下需要讀取或?qū)懭氲奈募蚓W(wǎng)頁,用戶將會有永久性的身份標(biāo)識。例如,這可以是在通過固定的身份標(biāo)識或特定的存儲中心登陸到存儲系統(tǒng)后使用的、針對全球存儲系統(tǒng)的URL或身份標(biāo)識文件名。因為所需存儲元素的實際位置可能由于遷移而改變,所以每個地址重新定向模塊優(yōu)選地能夠?qū)⒄埱筠D(zhuǎn)換并路由到數(shù)據(jù)元素當(dāng)前位于的存儲中心。
[0109]一個固定的或移動的DRE自身可以包括存儲地址重新定向模塊的邏輯和存儲器。在這種情況下,代表著數(shù)據(jù)集的新的物理地址的更新可以由全球地址更新分發(fā)器528傳播至IJDRE。如果數(shù)據(jù)集具有使用它們的一個或很少的所有者(如情況2),這會很管用。便利地,這種地址重新定向的實施不會顯著影響互聯(lián)網(wǎng)的現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)。然而,先前提到的大多數(shù)地址重定向的實施不會影響到互聯(lián)網(wǎng)的現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)以及那些僅通過已有機構(gòu)使用的網(wǎng)絡(luò)結(jié)構(gòu),如,DNS更新。
[0110]根據(jù)本發(fā)明一實施例,當(dāng)數(shù)據(jù)集從一個存儲中心到另一個存儲中心的遷移已經(jīng)完成時,進(jìn)行數(shù)據(jù)集的物理地址的更新。一旦數(shù)據(jù)集遷移完成,數(shù)據(jù)遷移引擎520以及圖8示出的其它邏輯通知全局地址更新分發(fā)器528,全局地址更新分發(fā)器528與所有存儲地址重新定向模塊602、604、606和608同步更新該數(shù)據(jù)集的物理地址。實際異步更新可能涉及到位于每一個區(qū)域存儲中心的控制邏輯。
[0111]數(shù)據(jù)集從全球存儲系統(tǒng)中的源區(qū)域存儲中心遷移到目標(biāo)區(qū)域存儲中心可能涉及一系列廣泛的方法,包括但不局限于聚集、時間交織以及遷移的離峰執(zhí)行。例如,通過對數(shù)據(jù)集遷移利用聚集的方法,數(shù)據(jù)集聚集、打包在一起,并且以一個單獨的數(shù)據(jù)包的形式遷移。聚集方法允許評估從一個區(qū)域存儲中心遷移到另一個區(qū)域存儲中心的數(shù)據(jù)集,并且把這些數(shù)據(jù)集打包成一個批量文件傳輸。批量文件傳輸?shù)牟糠衷u估是數(shù)據(jù)集自身。如果該數(shù)據(jù)集是需要被移動的一組文件,那么執(zhí)行批量文件傳輸可能比傳輸單個文件更有效率地執(zhí)行。打包的數(shù)據(jù)集可以根據(jù)優(yōu)先級移動。較高優(yōu)先級的數(shù)據(jù)集可以不打包,而是自行移動。較低優(yōu)先級的數(shù)據(jù)集可以打包,并在特定時間移動(如在離峰/非高峰時間期間)。
[0112]通過對于數(shù)據(jù)集遷移使用時間交織方法,數(shù)據(jù)集的遷移被時間交織和/或可以定期的穿越區(qū)域存儲中心。例如,遷移一個特定的數(shù)據(jù)集的決定可能一個月發(fā)生一次,盡管本發(fā)明的實施例并不限制于數(shù)據(jù)集遷移的任何特定時間安排。可以制定用于數(shù)據(jù)集遷移判斷的方程式或其它表達(dá)式,其對在做數(shù)據(jù)集遷移決定的時可用的屬性進(jìn)行加權(quán)。
[0113]通過利用數(shù)據(jù)集遷移的離峰執(zhí)行,可以跨一個或多個時間窗口來表征或者以其他方式簡述數(shù)據(jù)集的使用,以確定數(shù)據(jù)集最不經(jīng)常使用的時間。在離峰時間,數(shù)據(jù)集可以有利地遷移。根據(jù)本發(fā)明的一實施例,動態(tài)使用特性的一種代替是提前表征預(yù)期的數(shù)據(jù)集使用并且向管理數(shù)據(jù)集遷移決定的元數(shù)據(jù)字段提供這些信息。用于遷移時機的屬性將會在下文進(jìn)一步描述。
[0114]遷移決定可以受到除了將一群“等價”消費者和分配器(區(qū)域存儲中心)之間的網(wǎng)絡(luò)距離最小化外的其它因素影響。例如,除了網(wǎng)絡(luò)距離外,可以用來影響數(shù)據(jù)集遷移決定的一個標(biāo)準(zhǔn)是以向地區(qū)、用戶和/或數(shù)據(jù)集分配優(yōu)先級并且創(chuàng)建約束關(guān)系的方式對它們進(jìn)行評分。每個地區(qū)可能只支持到其它各類地區(qū)的某一水平的吞吐量。一個地區(qū)可以有分配給它的一個優(yōu)先級,該優(yōu)先級讓重新定位到該區(qū)域的數(shù)據(jù)集具有更高優(yōu)先級或給這些數(shù)據(jù)集更高的帶寬/吞吐量?;蛘?,基于正在遷移的數(shù)據(jù)集的優(yōu)先級,可能存在對于遷移的數(shù)據(jù)有可用帶寬的節(jié)流。節(jié)流也可以根據(jù)每天內(nèi)遷移的時間實現(xiàn)。例如,在離峰時間,更多的帶寬可以分配被給數(shù)據(jù)集遷移工作,并且在在高峰使用時間,較少的帶寬能分配給數(shù)據(jù)集遷移。可以給數(shù)據(jù)和/或用戶分配向這一個數(shù)據(jù)/用戶類型提供比另一個數(shù)據(jù)/用戶類型更高的優(yōu)先級或帶寬的優(yōu)先級。地區(qū)優(yōu)先級和/或數(shù)據(jù)/用戶優(yōu)先級都被給與了具體權(quán)重,這將之后被用來生成用于數(shù)據(jù)集遷移優(yōu)先級的分?jǐn)?shù)或其它特征。
[0115]根據(jù)其它實施例,數(shù)據(jù)集可能有與該數(shù)據(jù)集相關(guān)的服務(wù)質(zhì)量標(biāo)簽(QoS)。該QoS標(biāo)簽可以以直接(如命名區(qū)域或地理區(qū)域,如國家)或者根據(jù)規(guī)定的質(zhì)量水平(如可用性保證、采用的安全措施、改變控制政策、遵守一定的規(guī)則等)的方式用來限制數(shù)據(jù)集向哪一區(qū)域移動。數(shù)據(jù)集這樣的QoS標(biāo)簽可以在與該數(shù)據(jù)集關(guān)聯(lián)的元數(shù)據(jù)中指定。一般認(rèn)為不被允許移動的數(shù)據(jù)集是被“釘住”的。認(rèn)為被限制只能移動到一定指定區(qū)域存儲中心的數(shù)據(jù)集是“受限制的”。認(rèn)為能夠自由移動到任何區(qū)域存儲中心位置的數(shù)據(jù)集被認(rèn)為是“漫游的”。每一個區(qū)域存儲中心都應(yīng)該有與其相關(guān)聯(lián)的QoS,并且根據(jù)該QoS,數(shù)據(jù)集可能可以或者不可以移動到該區(qū)域存儲中心。QoS標(biāo)簽方法利用了對于數(shù)據(jù)集遷移來說最近的并不總是更好的觀測方法。根據(jù)前面所描述的優(yōu)化的初始表達(dá)式,QoS標(biāo)簽限制要考慮的可能的位置L的
口 O
[0116]根據(jù)本發(fā)明的實施例,全球存儲系統(tǒng)的另外一個好處是能夠把數(shù)據(jù)集從幾乎充滿的區(qū)域存儲中心遷移到有額外存儲容量的一個或多個其它區(qū)域存儲中心。如先前所述,硬件操作監(jiān)測器進(jìn)行操作以通知數(shù)據(jù)遷移引擎關(guān)于本地(即區(qū)域)存儲中心和全球存儲中心的狀態(tài)。如果本地存儲中心的存儲已接近其容量,數(shù)據(jù)遷移引擎(如圖8中的520)能夠識別相鄰的數(shù)據(jù)存儲中心,以卸載這些數(shù)據(jù)集,或者在其他數(shù)據(jù)集遷移選擇中,可以選擇在安排的時間表相對于它們應(yīng)當(dāng)被遷移之前主動遷移??紤]后一個選擇,根據(jù)本發(fā)明的實施例,可以設(shè)計容量和遷移加速的函數(shù)關(guān)系。根據(jù)先前描述的優(yōu)化的初始表達(dá)式,考慮數(shù)據(jù)存儲中心的容量局限再次限制了要考慮的可能的位置L的集合。
[0117]表一僅僅以示例的形式然而并不失一般性的闡述了用于數(shù)據(jù)集的示例性元數(shù)據(jù)表,其包括可以用來做出遷移決定的屬性。這些屬性包括但并不局限于元數(shù)據(jù),如具體的誰、為什么、做什么、什么時間、什么地點以及怎樣做出數(shù)據(jù)集遷移的確定細(xì)節(jié)。
[0118]表1
【權(quán)利要求】
1.一種用于控制在全球存儲系統(tǒng)中通過網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的方法,所述方法包括以下步驟: 定義至少一個數(shù)據(jù)集,該數(shù)據(jù)集包括存儲在全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集; 定義用于確定將所述至少一個數(shù)據(jù)集存儲在什么位置的至少一個規(guī)則集; 通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息;以及 根據(jù)所述至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲所述至少一個數(shù)據(jù)集的位置的信息,該位置減少以下至少一個:(i)所述至少一個數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的至少一個時穿越的總距離,以及(ii)所述至少一個數(shù)據(jù)集傳遞到所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的延遲。
2.如權(quán)利要求1所述的方法,其中確定關(guān)于用于存儲所述至少一個數(shù)據(jù)集的位置的信息的步驟包括判斷遷移所述至少一個數(shù)據(jù)集是否值得,以及當(dāng)判斷為遷移不值得時,繼續(xù)獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息的步驟。
3.如權(quán)利要求2所述的方法,其中,當(dāng)判斷為遷移值得時,所述方法還包括將所述至少一個數(shù)據(jù)集遷移到以下位置,該位置被確定以減少在擁有可利用資源的多個區(qū)域存儲中心之間,所述數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個時所穿越的總距離。
4.如權(quán)利要求3所述的方法,其中遷移步驟包括確定所述至少一個數(shù)據(jù)集的傳遞時間表和傳遞過程中的至少一個。
5.如權(quán)利要求2所述的方法,其中,當(dāng)判斷為遷移值得時,所述方法還包括將所述至少一個數(shù)據(jù)集遷移到以下位置 ,該位置被確定以減少所述至少一個數(shù)據(jù)集傳遞到所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的延遲。
6.如權(quán)利要求2所述的方法,其中判斷遷移所述至少一個數(shù)據(jù)集是否值得的步驟根據(jù)以下至少一個來執(zhí)行:(i)關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息;(ii)關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲所述至少一個數(shù)據(jù)集的位置的信息;以及(iii)關(guān)于所述至少一個數(shù)據(jù)集的大小的信息,由此所述判斷遷移所述至少一個數(shù)據(jù)集否值得減少了在擁有可利用資源的多個區(qū)域存儲中心之間,所述至少一個數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個時所穿越的總距離。
7.如權(quán)利要求2所述的方法,其中判斷遷移所述至少一個數(shù)據(jù)集是否值得的步驟包括在所述擁有可利用資源的多個區(qū)域存儲中心之間為所述數(shù)據(jù)集確定新的位置L~,對于所述多個區(qū)域存儲中心中每個其他可能的位置L,該位置L~滿足以下公式:a1.(!(I1, L~)+...+an *d(ln, L")+b ?d(L/ , L") ^a1.(!(I1, L) +...+? *d(ln, L)+b ?d(L/ , L),其中 d(lj, lk)是表示任意兩個位置Ij和Ik之間的距離的網(wǎng)絡(luò)距離函數(shù),知anR表各個數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量,I1,...,In代表所述至少一個數(shù)據(jù)集的使用所發(fā)生的位置,b代表所述至少一個數(shù)據(jù)集的大小,L'代表所述多個區(qū)域存儲中心中的所述至少一個數(shù)據(jù)集在所述數(shù)據(jù)集遷移前所在的給定存儲中心的位置。
8.如權(quán)利要求2所述的方法,其中判斷遷移是否值得的步驟包括判斷所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的物理位置是否是永久性的。
9.如權(quán)利要求8所述的方法,其中判斷所述至少一個或多個數(shù)據(jù)請求實體中的所述至少一個的物理位置是否是永久性的步驟根據(jù)一個或多個啟發(fā)法來執(zhí)行,這些啟發(fā)法包括以下幾者中的至少一個:位置變化的持續(xù)時間、與所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相關(guān)聯(lián)的年齡、出行習(xí)慣類別、財富和個人屬性,以及所述一個或多個數(shù)據(jù)請求實體的所述至少一個的當(dāng)前位置屬性。
10.如權(quán)利要求2所述的方法,其中判斷遷移所述至少一個數(shù)據(jù)集是否值得的步驟包括評估所述多個區(qū)域存儲中心的至少一個子集的存儲容量。
11.如權(quán)利要求1所述的方法,還包括將所述至少一個數(shù)據(jù)集遷移到以下位置,該位置被確定以減少在擁有可利用資源的多個區(qū)域存儲中心之間,所述數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個時所穿越的總距離。
12.如權(quán)利要求1所述的方法,其中所述至少一個數(shù)據(jù)集穿越的總距離根據(jù)以下至少一者:兩個位置之間沿著最短物理網(wǎng)絡(luò)連接的距離、所述兩個位置之間最大網(wǎng)絡(luò)帶寬的倒數(shù)、給定觀測數(shù)據(jù)流量的平均帶寬的倒數(shù)、所述兩個位置之間傳輸?shù)臄?shù)據(jù)包的周轉(zhuǎn)時間、所述兩個位置之間的網(wǎng)絡(luò)成本、延遲、以及所述兩個位置之間網(wǎng)絡(luò)的功耗。
13.如權(quán)利要求1所述的方法,其中所述至少一個規(guī)則集包括用于確定將所述至少一個數(shù)據(jù)集存儲在什么位置的一個或多個優(yōu)化參數(shù)。
14.如權(quán)利要求1所述的方法,其中所述一個或多個數(shù)據(jù)請求實體的至少一個子集包括移動實體和移動用戶中的至少一個。
15.如權(quán)利要求1所述的方法,其中關(guān)于用于存儲所述至少一個數(shù)據(jù)集的位置的信息是根據(jù)以下至少一個獲取的:所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的互聯(lián)網(wǎng)協(xié)議地址、從與所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相關(guān)聯(lián)的位置監(jiān)測裝置獲取的信息、以及從與所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相關(guān)聯(lián)的位置顯示裝置所獲得的信息。
16.如權(quán)利要求1所述的方法,`還包括在所述至少一個數(shù)據(jù)集和所述一個或多個數(shù)據(jù)請求實體中的所述至少一個之間建立關(guān)聯(lián)。
17.如權(quán)利要求1所述的方法,其中獲得關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息的步驟包括關(guān)于所述一個或多個數(shù)據(jù)請求實體中的至少第二個數(shù)據(jù)請求實體,對所述至少一個或多個數(shù)據(jù)請求實體中第一個數(shù)據(jù)請求實體的重要性進(jìn)行加權(quán)。
18.如權(quán)利要求1所述的方法,還包括: 創(chuàng)建所述至少一個數(shù)據(jù)集的至少一個副本,所述至少一個數(shù)據(jù)集的所述副本被存儲在與所述至少一個數(shù)據(jù)集不同的存儲中心;以及 根據(jù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相對于所述至少一個數(shù)據(jù)集和所述至少一個數(shù)據(jù)集的副本位置的位置,判斷以下一者:是否使用所述至少一個數(shù)據(jù)集、是否使用所述至少一個數(shù)據(jù)集的副本、以及是否移動所述至少一個數(shù)據(jù)集和所述至少一個數(shù)據(jù)集的副本中的至少一個。
19.如權(quán)利要求1所述的方法,還包括對所述至少一個數(shù)據(jù)集分配服務(wù)質(zhì)量標(biāo)簽。
20.如權(quán)利要求19所述的方法,還包括根據(jù)分配給所述至少一個數(shù)據(jù)集的服務(wù)質(zhì)量標(biāo)簽來限制所述至少一個數(shù)據(jù)集遷移到的位置。
21.一種用于控制在全球存儲系統(tǒng)中通過網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的方法,該方法包括以下步驟:接收對包括存儲于全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集的至少一個數(shù)據(jù)集的請求; 接收用于確定將所述至少一個數(shù)據(jù)集存儲在什么位置的至少一個規(guī)則集; 通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息;以及 根據(jù)所述至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲所述至少一個數(shù)據(jù)集的位置的信息,該位置減少以下至少一個:所述至少一個數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的至少一個時穿越的總距離,以及所述至少一個數(shù)據(jù)集傳遞到所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的延遲。
22.如權(quán)利要求21所述的方法,還包括:判斷遷移所述至少一個數(shù)據(jù)集是否值得,并且當(dāng)判斷為遷移不值得時,繼續(xù)獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息。
23.如權(quán)利要求22所述的方法,還包括:當(dāng)判斷為遷移值得時,將所述至少一個數(shù)據(jù)集遷移到以下位置,該位置被確定以減少在擁有可利用資源的多個區(qū)域存儲中心之間,所述數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的至少一個時所穿越的總距離。
24.如權(quán)利要求21所述的方法,還包括:將對所述至少一個數(shù)據(jù)集的請求轉(zhuǎn)換并路由到所述多個區(qū)域存儲中心中的、其中存儲有所述至少一個數(shù)據(jù)集和所述至少一個數(shù)據(jù)集的副本中的至少一個的相應(yīng)的一個存儲中心。
25.一種用于控制在全球存儲系統(tǒng)中通過網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的裝置,所述裝置包括: 配置為定義至少一個數(shù)據(jù)集`的模塊,該數(shù)據(jù)集包括存儲在全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集; 配置為定義至少一個規(guī)則集的模塊,該規(guī)則集用于確定將所述至少一個數(shù)據(jù)集存儲在什么位置; 配置為通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息的模塊;和 配置為,根據(jù)所述至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲所述至少一個數(shù)據(jù)集的位置的信息的模塊,其中該位置減少以下至少一個:(i )所述至少一個數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的至少一個時所穿越的總距離,以及(i i )所述至少一個數(shù)據(jù)集傳遞到所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的延遲。
26.如權(quán)利要求25所述的裝置,其中所述配置為確定關(guān)于用于存儲所述至少一個數(shù)據(jù)集的位置的信息的模塊包括配置為判斷遷移所述至少一個數(shù)據(jù)集是否值得的模塊,并且當(dāng)判斷為遷移不值得時,繼續(xù)獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息的步驟。
27.如權(quán)利要求26所述的裝置,其中,當(dāng)判斷為遷移值得時,所述裝置還包括配置為將所述至少一個數(shù)據(jù)集遷移到以下位置的模塊,該位置被確定以減少在擁有可利用資源的多個區(qū)域存儲中心之間,所述數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個時所穿越的總距離。
28.如權(quán)利要求27所述的裝置,其中所述遷移模塊包括配置為確定所述至少一個數(shù)據(jù)集的傳遞時間表和傳遞過程中的至少一個的模塊。
29.如權(quán)利要求26所述的裝置,其中,當(dāng)判斷為遷移值得時,所述裝置還包括配置為將所述至少一個數(shù)據(jù)集遷移到以下位置的模塊,該位置被確定以減少所述至少一個數(shù)據(jù)集傳遞到所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的延遲。
30.如權(quán)利要求26所述的裝置,其中所述配置為判斷遷移所述至少一個數(shù)據(jù)集是否值得的模塊根據(jù)以下至少一個被執(zhí)行:(i)關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息;(ii)關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲所述至少一個數(shù)據(jù)集的位置的信息jP(iii)關(guān)于所述至少一個數(shù)據(jù)集的大小的信息,由此判斷遷移所述至少一個數(shù)據(jù)集是否值得減少了在擁有可利用資源的多個區(qū)域存儲中心之間,所述至少一個數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個時所穿越的總距離。
31.如權(quán)利要求26所述的裝置,其中所述配置為判斷遷移所述至少一個數(shù)據(jù)集是否值得的模塊包括配置為在擁有可利用資源的多個區(qū)域存儲中心之間為所述數(shù)據(jù)集確定新的位置L~的模塊, 對于所述多個區(qū)域存儲中心的每個其他可能的位置L,該位置L~滿足以下公式:--cKlpL')+...+? *d(ln, L') +b.d(L' , L') Sa1 *d(I1, L) +...+an.d(ln, L) +b.d(L',L),其中,ddj,lk)是表示任意兩個位置Ij和Ik之間的距離的網(wǎng)絡(luò)距離函數(shù),知anR表各個數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量,I1,...,In代表所述至少一個數(shù)據(jù)集的使用所發(fā)生的位置,b代表所述至少一個數(shù)據(jù)集的大小,L'代表所述多個區(qū)域存儲中心中的所述至少一個數(shù)據(jù)集在所述數(shù)據(jù)集遷移前所在的給定存儲中心的位置。
32.如權(quán)利要求26所述的裝置,其中所述配置為判斷遷移是否值得的模塊包括配置為判斷所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的物理位置是否是永久性的模塊。
33.如權(quán)利要求32所述的裝置,其中所述配置為判斷所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的物理位置是否是永久性的模塊被根據(jù)一個或多個啟發(fā)法來執(zhí)行,這些啟發(fā)法包括以下幾者中的至少一個:位置變化的持續(xù)時間、與所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相關(guān)聯(lián)的年齡、出行習(xí)慣類別、財富和個人屬性,以及所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的當(dāng)前位置屬`性。
34.如權(quán)利要求26所述的裝置,其中所述配置為判斷遷移所述至少一個數(shù)據(jù)集是否值得的模塊包括配置為評估所述多個區(qū)域存儲中心的至少一個子集的存儲容量的模塊。
35.如權(quán)利要求25所述的裝置,還包括配置為將所述至少一個數(shù)據(jù)集遷移到以下位置的模塊,該位置被確定以減少在擁有可利用資源的多個區(qū)域存儲中心之間,所述至少一個數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個時所穿越的總距離。
36.如權(quán)利要求25所述的裝置,其中所述至少一個數(shù)據(jù)集穿越的總距離根據(jù)以下至少一者:兩個位置之間沿著最短物理網(wǎng)絡(luò)連接的距離、所述兩個位置之間最大網(wǎng)絡(luò)帶寬的倒數(shù)、給定觀測數(shù)據(jù)流量的平均帶寬的倒數(shù)、所述兩個位置之間傳輸?shù)臄?shù)據(jù)包的周轉(zhuǎn)時間、所述兩個位置之間的網(wǎng)絡(luò)成本、延遲、以及所述兩個位置之間網(wǎng)絡(luò)功耗。
37.如權(quán)利要求25所述的裝置,其中所述至少一個規(guī)則集包括用于確定將所述至少一個數(shù)據(jù)集存儲在什么位置的一個或多個優(yōu)化參數(shù)。
38.如權(quán)利要求25所述的裝置,其中所述一個或多個數(shù)據(jù)請求實體的至少一個子集包括移動實體和移動用戶中的至少一個。
39.如權(quán)利要求25所述的裝置,其中關(guān)于用于存儲所述至少一個數(shù)據(jù)集的位置的信息是根據(jù)以下至少一個獲取的:所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的互聯(lián)網(wǎng)協(xié)議地址、從與所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相關(guān)聯(lián)的位置監(jiān)測裝置獲取的信息、以及從與所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相關(guān)聯(lián)的位置顯示裝置所獲得的信息。
40.如權(quán)利要求25所述的裝置,還包括配置為在所述至少一個數(shù)據(jù)集和所述一個或多個數(shù)據(jù)請求實體中的所述至少一個之間建立關(guān)聯(lián)的模塊。
41.如權(quán)利要求25所述的裝置,其中所述配置為獲得關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息的模塊包括配置為關(guān)于所述一個或多個數(shù)據(jù)請求實體中的至少第二個數(shù)據(jù)請求實體,對所述至少一個或多個數(shù)據(jù)請求實體中第一個數(shù)據(jù)請求實體的重要性進(jìn)行加權(quán)的模塊。
42.如權(quán)利要求25所述的裝置,還包括: 配置為創(chuàng)建所述至少一個數(shù)據(jù)集的至少一個副本的模塊,所述至少一個數(shù)據(jù)集的所述副本被存儲在與所述至少一個數(shù)據(jù)集不同的存儲中心;以及 配置為根據(jù)所述一個或多個數(shù)據(jù)請求實體中的所述至少一個相對于所述至少一個數(shù)據(jù)集和所述至少一個數(shù)據(jù)集的副本位置的位置,判斷以下一者的模塊:是否使用所述至少一個數(shù)據(jù)集、是否使用所述至少一個數(shù)據(jù)集的副本、以及是否移動所述至少一個數(shù)據(jù)集和所述至少一個數(shù)據(jù)集的副本中的至少一個。
43.如權(quán)利要求25所述的裝置,還包括配置為對所述至少一個數(shù)據(jù)集分配服務(wù)質(zhì)量標(biāo)簽的模塊。
44.如權(quán)利要求43所述的裝置,還包括配置為根據(jù)分配給所述至少一個數(shù)據(jù)集的服務(wù)質(zhì)量標(biāo)簽來限制所述至少一個數(shù)據(jù)集遷移到的位置的模塊。
45.一種用于控制 在全球存儲系統(tǒng)中通過網(wǎng)絡(luò)可操作地耦合的多個區(qū)域存儲中心之間的數(shù)據(jù)存儲的裝置,所述裝置包括: 配置為接收對包括存儲于全球存儲系統(tǒng)中的數(shù)據(jù)的至少一個子集的至少一個數(shù)據(jù)集的請求的模塊; 配置為接收用于確定將所述至少一個數(shù)據(jù)集存儲在什么位置的至少一個規(guī)則集的模塊; 配置為通過在全球存儲系統(tǒng)中運行的一個或多個數(shù)據(jù)請求實體獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息的模塊;和 配置為根據(jù)所述至少一個規(guī)則集,確定關(guān)于在擁有可利用資源的多個區(qū)域存儲中心之間用于存儲所述至少一個數(shù)據(jù)集的位置的信息的模塊,該位置減少以下至少一個:所述至少一個數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的至少一個時穿越的總距離,以及所述至少一個數(shù)據(jù)集傳遞到所述一個或多個數(shù)據(jù)請求實體中的所述至少一個的延遲。
46.如權(quán)利要求45所述的裝置,還包括:配置為判斷遷移所述至少一個數(shù)據(jù)集是否值得的模塊,并且當(dāng)其判斷為遷移不值得時,繼續(xù)獲取關(guān)于對所述至少一個數(shù)據(jù)集的需求的信息的模塊。
47.如權(quán)利要求46所述的裝置,還包括:當(dāng)判斷為遷移值得時,將所述至少一個數(shù)據(jù)集遷移到以下位置,該位置被確定以減少在擁有可利用資源的多個區(qū)域存儲中心之間,所述數(shù)據(jù)集在服務(wù)所述一個或多個數(shù)據(jù)請求實體中的至少一個時所穿越的總距離。
48.如權(quán)利要求45所述的裝置,還包括至少一個地址重新定向模塊,所述地址重新定向模塊可操作以將對所述至少一個數(shù)據(jù)集的請求轉(zhuǎn)換和/或路由到所述多個區(qū)域存儲中心中的、其中存儲有所述至少一個數(shù)據(jù)集和所述至少一個數(shù)據(jù)集的副本中的至少一個的相應(yīng)的存儲中心。`
【文檔編號】G06F17/30GK103873546SQ201310627374
【公開日】2014年6月18日 申請日期:2013年11月29日 優(yōu)先權(quán)日:2012年12月17日
【發(fā)明者】W·R·雷赫爾, B·M·普費茨曼, K·M·金斯布里, L·A·理查德森, P·尤巴奈茨, W·B·尤埃斯 申請人:國際商業(yè)機器公司