基于云的應(yīng)用的單點(diǎn)故障消除的方法和裝置制造方法
【專利摘要】多種實(shí)施例提供了為基于云的應(yīng)用提供SPOF消除的方法和裝置,所述方法和裝置提供了支持快速縮放、基礎(chǔ)設(shè)施維護(hù)和預(yù)防性維護(hù)的規(guī)則,其中所述基礎(chǔ)設(shè)施維護(hù),例如為軟件/固件/硬件的升級(jí)、更新、改進(jìn)和增長(zhǎng);其中所述預(yù)防性維護(hù)諸如清掃風(fēng)扇過濾器和更替失效的硬件組件。特別地,由所述方法和裝置提供的所述SPOF消除除了基于虛擬機(jī)至主機(jī)實(shí)例映射之外,還基于網(wǎng)絡(luò)架構(gòu)和永久性存儲(chǔ)考慮。
【專利說明】基于云的應(yīng)用的單點(diǎn)故障消除的方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明一般地涉及為基于云的應(yīng)用提供單點(diǎn)故障消除的方法和裝置。
【背景技術(shù)】
[0002] 本節(jié)介紹的內(nèi)容可有助于更好的理解本發(fā)明。因此,本節(jié)中對(duì)相應(yīng)內(nèi)容所做的陳 述不應(yīng)被理解為承認(rèn)這些內(nèi)容屬于或不屬于現(xiàn)有技術(shù)。
[0003] 在一些現(xiàn)有的高可用性系統(tǒng)中,網(wǎng)絡(luò)架構(gòu)被明確地設(shè)計(jì)為包含充分的冗余以確 保在提供的網(wǎng)絡(luò)中不存在單點(diǎn)故障(SPOF)。在一些現(xiàn)有的基于z?的系統(tǒng)中,施加抗未和 (anti-affinity)規(guī)則來確保在應(yīng)用虛擬機(jī)(VM)實(shí)例與物理主機(jī)的映射之間不存在單點(diǎn)故 障。
【發(fā)明內(nèi)容】
[0004] 多種實(shí)施例提供了為基于云的應(yīng)用提供SPOF消除的方法和裝置,其提供了支持 快速伸縮(rapid elasticity)和基礎(chǔ)設(shè)施發(fā)展的規(guī)則。特別地,由所述方法和裝置提供的 SPOF除了基于VM到主機(jī)實(shí)例的映射之外還基于網(wǎng)絡(luò)架構(gòu)和永久存儲(chǔ)的考慮。
[0005] 在一個(gè)實(shí)施例中,提供了用于提供單點(diǎn)故障消除的裝置。所述裝置包括數(shù)據(jù)存儲(chǔ) 器和通信地連接至數(shù)據(jù)存儲(chǔ)器的處理器。所述處理器被編程為:確定一個(gè)或多個(gè)應(yīng)用資源 需求;確定資源池以及與資源池相關(guān)聯(lián)的網(wǎng)絡(luò)架構(gòu);確定一個(gè)或多個(gè)規(guī)則;基于所述一個(gè) 或多個(gè)應(yīng)用資源需求、所述資源池、所述網(wǎng)絡(luò)架構(gòu)以及所述一個(gè)或多個(gè)規(guī)則,確定一個(gè)或多 個(gè)組件實(shí)例的分布。
[0006] 在上述實(shí)施例的任意一個(gè)中,所述處理器被進(jìn)一步編程為確定一個(gè)或多個(gè)所述鏈 路和節(jié)點(diǎn)的網(wǎng)絡(luò)狀況,并且進(jìn)一步基于所述網(wǎng)絡(luò)狀況確定一個(gè)或多個(gè)組件實(shí)例的分布。
[0007] 在第二實(shí)施例中,提供了用于提供單點(diǎn)故障消除的系統(tǒng)。所述系統(tǒng)包括:一個(gè)或多 個(gè)數(shù)據(jù)中心,所述一個(gè)或多個(gè)數(shù)據(jù)中心包括資源池以及與通信地連接至所述多個(gè)數(shù)據(jù)中心 的云管理器。所述云管理器被編程為:確定一個(gè)或多個(gè)應(yīng)用資源需求;確定所述資源池和 與資源池相關(guān)聯(lián)的網(wǎng)絡(luò)架構(gòu);確定一個(gè)或多個(gè)規(guī)則;并且基于所述一個(gè)或多個(gè)應(yīng)用資源需 求、所述資源池、所述網(wǎng)絡(luò)架構(gòu)和所述一個(gè)或多個(gè)規(guī)則的確定一個(gè)或多個(gè)組件實(shí)例的分布。
[0008] 在第三實(shí)施例中,提供了用于提供單點(diǎn)故障消除的方法。所述方法包括:確定分布 觸發(fā)已經(jīng)發(fā)生;確定一個(gè)或多個(gè)應(yīng)用資源需求;確定資源池以及與該資源池相關(guān)聯(lián)的網(wǎng)絡(luò) 架構(gòu);確定一個(gè)或多個(gè)規(guī)則;并基于所述分布觸發(fā)、所述一個(gè)或多個(gè)應(yīng)用資源需求、所述資 源池、所述網(wǎng)絡(luò)架構(gòu)以及所述一個(gè)或多個(gè)規(guī)則,確定一個(gè)或多個(gè)組件實(shí)例的分布。
[0009] 在上述實(shí)施例中的任意一例中,所述分布觸發(fā)基于從所述資源池中的一個(gè)或多個(gè) 資源遷移至少部分所述組件實(shí)例。
[0010] 在上述實(shí)施例中的任意一例中,確定所述網(wǎng)絡(luò)架構(gòu)包括解析網(wǎng)絡(luò)架構(gòu)表達(dá)。
[0011] 在上述實(shí)施例中的任意一例中,所述一個(gè)或多個(gè)規(guī)則包括一個(gè)或多個(gè)抗親和規(guī) 貝1J,并且確定所述一個(gè)或多個(gè)抗親和規(guī)則包括分析抗親和規(guī)則表達(dá)。
[0012] 在上述實(shí)施例中的任意一例中,所述方法進(jìn)一步包括確定一個(gè)或多個(gè)鏈路或網(wǎng)絡(luò) 節(jié)點(diǎn)的網(wǎng)絡(luò)狀況,所述網(wǎng)絡(luò)架構(gòu)包含所述一個(gè)或多個(gè)鏈路或網(wǎng)絡(luò)節(jié)點(diǎn);并且對(duì)所述一個(gè)或 多個(gè)組件實(shí)例的分布進(jìn)行確定的步驟進(jìn)一步基于所述網(wǎng)絡(luò)狀況。
[0013] 在上述實(shí)施例中的任意一例中,所述網(wǎng)絡(luò)架構(gòu)包括第一網(wǎng)絡(luò)設(shè)備;并且對(duì)一個(gè)或 多個(gè)組件實(shí)例的分布進(jìn)行的確定包括基于確定所述第一網(wǎng)絡(luò)設(shè)備的故障將違反一條或多 條抗親和規(guī)則中的至少一條,確定所述一個(gè)或多個(gè)組件實(shí)例的第一組件實(shí)例可不與所述資 源池中的第一資源相關(guān)。
[0014] 在上述實(shí)施例中的任意一例中,對(duì)一個(gè)或多個(gè)組件實(shí)例的分布進(jìn)行確定的步驟包 括使用目標(biāo)函數(shù)。
[0015] 在上述實(shí)施例中的任意一例中,所述目標(biāo)函數(shù)最小化應(yīng)用的訪問延時(shí)。
[0016] 在上述實(shí)施例中的任意一例中,所述網(wǎng)絡(luò)架構(gòu)包括鏈路和網(wǎng)絡(luò)節(jié)點(diǎn)。
[0017] 在上述實(shí)施例中的任意一例中,所述一個(gè)或多個(gè)應(yīng)用資源需求包括一個(gè)或多個(gè)資 源的當(dāng)前分配,所述一個(gè)或多個(gè)資源為所述資源池的成員;以及一個(gè)或多個(gè)當(dāng)前應(yīng)用資源 需求,所述一個(gè)或多個(gè)當(dāng)前應(yīng)用資源需求與應(yīng)用相關(guān)。
[0018] 在上述實(shí)施例中的任意一例中,對(duì)所述一個(gè)或多個(gè)應(yīng)用資源需求的確定基于從所 述應(yīng)用接收到的應(yīng)用資源請(qǐng)求。
[0019] 在上述實(shí)施例中的任意一例中,對(duì)所述一個(gè)或多個(gè)應(yīng)用資源需求的確定包括編程 所述處理器以監(jiān)控所述應(yīng)用的資源使用。
[0020] 在上述實(shí)施例中的任意一例中,所述一個(gè)或多個(gè)規(guī)則包括一個(gè)或多個(gè)抗親和規(guī) 則。
[0021] 在上述實(shí)施例中的任意一例中,所述一個(gè)或多個(gè)規(guī)則進(jìn)一步包含一個(gè)或多個(gè)業(yè)務(wù) 規(guī)則。
[0022] 在上述實(shí)施例中的任意一例中,所述一個(gè)或多個(gè)業(yè)務(wù)規(guī)則包括為了維護(hù)作業(yè)而對(duì) 所述資源池中部分資源的預(yù)約。
[0023] 在上述實(shí)施例中的任意一例中,進(jìn)一步基于故障點(diǎn)的集合確定一個(gè)或多個(gè)組件實(shí) 例的分布。
【專利附圖】
【附圖說明】
[0024] 附圖中示出了多個(gè)實(shí)施例,其中:
[0025] 圖1示出了云網(wǎng)絡(luò),該云網(wǎng)絡(luò)包括用于基于云的應(yīng)用的單點(diǎn)故障消除系統(tǒng)100的 實(shí)施例;
[0026] 圖2示意性地示出了數(shù)據(jù)中心200A和部分網(wǎng)絡(luò)200B,其為圖1中數(shù)據(jù)中心150之 一以及網(wǎng)絡(luò)140中的一部分的實(shí)施例;
[0027] 圖3描繪的流程圖示出了為云管理器(例如,圖1中的云管理器130)在圖1的 SPOF消除系統(tǒng)100中分配組件實(shí)例的方法300的實(shí)施例;
[0028] 圖4描繪的流程圖示出了為云管理器(例如,圖1中的云管理器130)確定如圖3 步驟340中示出的規(guī)則的方法400的實(shí)施例;
[0029] 圖5A示出了需要組件實(shí)例Al - A2和BI - B4的示例性應(yīng)用的可靠性框圖;
[0030] 圖5B示出了組件實(shí)例Al - A2和BI - B3的組件實(shí)例的初始組件即時(shí)分配;
[0031] 圖5C示出了在圖5A中的組件實(shí)例500A的第一示例性分布中組件實(shí)例M的分 配;
[0032] 圖示出了在圖5A中的組件實(shí)例500A的第二示例性分布中的組件實(shí)例M的分 配;并且
[0033] 圖6示意性地示出了的多種裝置600--例如圖1中的云管理器130中的一 個(gè)--的實(shí)施例。
[0034] 為方便理解,使用同一參考數(shù)字標(biāo)注的元素具有實(shí)質(zhì)上相同或相似的結(jié)構(gòu)或?qū)嵸|(zhì) 上相同或相似的功能。
【具體實(shí)施方式】
[0035] 以上敘述和描繪僅僅示出了本發(fā)明的原理部分。因此需要指出本領(lǐng)域技術(shù)人員能 夠遵循本發(fā)明的原理設(shè)計(jì)出多種本文中沒有明確描述或展示的實(shí)施例以具現(xiàn)化本發(fā)明的 原理,并仍然包括在本發(fā)明的范圍之中。此外,所有在此列舉的例子主要為了教導(dǎo)和幫助讀 者理解本發(fā)明的原理以及發(fā)明人提出的概念以推動(dòng)本領(lǐng)域技術(shù)的發(fā)展,并且所舉示例還應(yīng) 被理解為不限于本文這些特別列舉的例子和條件。此外,此處使用的術(shù)語"或",除非有其他 的表示(例如,"否則"或"或替代方案"),意為非排他的或。并且,此處描述的多種實(shí)施例 不一定相互排斥,因?yàn)橐恍?shí)施例可與一個(gè)或多個(gè)其他實(shí)施例結(jié)合以形成新的實(shí)施例。
[0036] 多種實(shí)施例提供了為基于云的應(yīng)用提供SPOF消除的方法和裝置,其提供了支持 快速伸縮、基礎(chǔ)設(shè)施維護(hù)--例如軟件/固件/硬件的升級(jí)、更新、改進(jìn)和增長(zhǎng),以及預(yù)防性 維護(hù),例如,清洗風(fēng)扇過濾器和替換故障的硬件組件--的規(guī)則。特別地,由所述方法和裝 置提供的所述SPOF消除除了基于虛擬機(jī)至主機(jī)實(shí)例映射之外,還基于網(wǎng)絡(luò)架構(gòu)和永久性 存儲(chǔ)考慮。
[0037] 此處使用的術(shù)語"no SP0F"和"SP0F消除"意為沒有單部件故障引起的不可接受 的服務(wù)影響。例如,電話業(yè)務(wù)提供商可接受通話掉線,但不能接受長(zhǎng)時(shí)間的服務(wù)中斷,即不 能完成已掉線通話的重?fù)?,因?yàn)閱吸c(diǎn)故障事件不但影響了主要的/激活的服務(wù)部件,還影 響了次要的/冗余的服務(wù)部件,并且因此沒有可用的部件或足夠的能力來在預(yù)先確定的閾 值期限內(nèi)服務(wù)用戶請(qǐng)求。需指出自動(dòng)故障檢測(cè)機(jī)制或者自動(dòng)恢復(fù)機(jī)制的故障可能會(huì)妨礙業(yè) 務(wù)恢復(fù)機(jī)制的激活,并且導(dǎo)致長(zhǎng)時(shí)間的業(yè)務(wù)失敗并超出"no SP0F"需求的范圍。
[0038] 圖1不出的云網(wǎng)絡(luò)包括用于基于云的應(yīng)用的SPOF消除系統(tǒng)100的實(shí)施例。所述 SPOF消除系統(tǒng)100包括一個(gè)或多個(gè)客戶端120-1 - 120-n (統(tǒng)稱為客戶端120),所述客戶端 訪問通信路徑上的屬于位于一個(gè)或多個(gè)數(shù)據(jù)中心150-1 - 150-n(統(tǒng)稱為數(shù)據(jù)中心150)的 一個(gè)或多個(gè)被分配的應(yīng)用實(shí)例(為了清晰而沒有示出)。所述通信路徑包含客戶端通信通 道125-1 - 125-n (統(tǒng)稱為客戶端通信通道125)中的適當(dāng)?shù)囊粭l、網(wǎng)絡(luò)140和數(shù)據(jù)中心通信 通道155-1 - 155-n(統(tǒng)稱為數(shù)據(jù)中心通信通道155)中的一條。所述應(yīng)用實(shí)例被云管理器 130分配給數(shù)據(jù)中心150中的一個(gè)或多個(gè),所述云管理器通過云管理器通信通道135、網(wǎng)絡(luò) 140和數(shù)據(jù)中心通信通道155中適當(dāng)?shù)囊粭l與數(shù)據(jù)中心150通信。
[0039] 客戶端120可包括有能力通過一個(gè)或多個(gè)客戶端通信通道125,在網(wǎng)絡(luò)140上接收 或發(fā)送信息的任何類型的通信設(shè)備。例如,通信設(shè)備可為輕薄型客戶端、智能電話(例如, 客戶端120-n)、個(gè)人或手提電腦(例如,客戶端120-1)、服務(wù)器、網(wǎng)絡(luò)設(shè)備、平板電腦、電視 機(jī)頂盒、媒體播放器及類似物。通信設(shè)備可依靠示例系統(tǒng)內(nèi)的其他資源來執(zhí)行部分任務(wù),如 處理或存儲(chǔ),或可具有獨(dú)立執(zhí)行任務(wù)的能力。需指出雖然此處示出了兩個(gè)客戶端,系統(tǒng)100 可包括更少或更多的客戶端。并且,客戶端的數(shù)目在任何時(shí)候都可以是動(dòng)態(tài)的,即可以在操 作過程中的任何時(shí)間從所述系統(tǒng)中添加或減去客戶端。
[0040] 所述通信通道125、135和155支持在一個(gè)或多個(gè)通信通道上通信,比如:無線通信 (例如,1^£、6511、00嫩、藍(lán)牙);1^^通信(例如,11?1);分組網(wǎng)絡(luò)通信(例如,1?) ;寬帶通 信(例如,DOCSIS 和 DSL);存儲(chǔ)通信(storage communications)(例如光纖通道,iSCSI) 及類似物。需指出雖然被描述成單獨(dú)的連接,通信通道125U35和155可以為任意數(shù)目或 通信通道的結(jié)合。
[0041] 云管理器130可為向一個(gè)或多個(gè)應(yīng)用實(shí)例分配和解除分配數(shù)據(jù)中心150中的資源 的任意裝置。特別地,數(shù)據(jù)中心150中的部分資源是成池的并且通過組件實(shí)例被分配至應(yīng) 用實(shí)例。需指出,雖然此處僅示出了一個(gè)云管理器,系統(tǒng)1〇〇可包括多個(gè)云管理器。
[0042] 此處使用的術(shù)語"組件實(shí)例"指為來自特別的客戶端應(yīng)用的服務(wù)請(qǐng)求預(yù)留的一個(gè) 或多個(gè)被分配的物理資源的性能。例如,分配的物理資源可為處理/計(jì)算、存儲(chǔ)器、網(wǎng)絡(luò)、儲(chǔ) 存裝置及類似物。在一些實(shí)施例中,組件實(shí)例可為包括處理/計(jì)算、存儲(chǔ)器和網(wǎng)絡(luò)資源的虛 擬機(jī)。在一些實(shí)施例中,組件實(shí)例可以是虛擬存儲(chǔ)。
[0043] 網(wǎng)絡(luò)140包括任意數(shù)目的接入和邊緣節(jié)點(diǎn)和網(wǎng)絡(luò)設(shè)備以及任意數(shù)目和配置的鏈 路。此外,需指出網(wǎng)絡(luò)140可包括任意數(shù)目和任意結(jié)合的無線或有線網(wǎng)絡(luò),包括:LTE、GSM、 CDMA、局域網(wǎng)(LAN)、無線局域網(wǎng)(WLAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MN)等等。
[0044] 數(shù)據(jù)中心150可為地理上分散的,并且可包括任意類型或配置的資源。資源可為 應(yīng)用實(shí)例利用以服務(wù)來自客戶端120的應(yīng)用請(qǐng)求的任意適當(dāng)?shù)脑O(shè)備。例如,資源可為:服務(wù) 器、處理器內(nèi)核、存儲(chǔ)設(shè)備、儲(chǔ)存設(shè)備、網(wǎng)絡(luò)設(shè)備等等。
[0045] 在一些實(shí)施例中,云管理器130可以是分層布局的云管理器。
[0046] 圖2示意性闡明了數(shù)據(jù)中心200A和部分網(wǎng)絡(luò)200B,所述數(shù)據(jù)中心200A和網(wǎng)絡(luò) 200B為圖1中的數(shù)據(jù)中心150的實(shí)施例和網(wǎng)絡(luò)140的一部分。所述數(shù)據(jù)中心200A包括資 源220-1-1-1 - 220-y-z-5 (統(tǒng)稱為資源220)。資源220被配置在"y"行,其中每行包括多個(gè) (例如,示為"x"或"y")機(jī)架的資源(例如,機(jī)架205),所述資源可通過通信路徑被訪問。 所述通信路徑通過機(jī)架頂部交換機(jī)210-1-1 - 210-y-z (統(tǒng)稱為TOR交換機(jī)210)中的適當(dāng) 的一臺(tái)、行尾交換機(jī)240-1 - 240-n (統(tǒng)稱為EOR交換機(jī)240)中適當(dāng)?shù)囊慌_(tái)、層2聚合交換機(jī) 250-1 - 250-n (統(tǒng)稱為聚合交換機(jī)250)中適當(dāng)?shù)囊慌_(tái),以及適當(dāng)?shù)逆溌?30-1 - 230-2(統(tǒng) 稱為鏈路230)(為了清晰的目的,剩余的鏈路標(biāo)簽被省略),可通信地連接資源220與網(wǎng)絡(luò) 200B。數(shù)據(jù)中心200A與網(wǎng)絡(luò)200B之間的通信經(jīng)由聚合交換機(jī)250之一、路由器260-1 - 260-3(統(tǒng)稱為路由器260)中適當(dāng)?shù)闹唬约斑m當(dāng)?shù)逆溌?30。需指出數(shù)據(jù)中心以任何適 當(dāng)?shù)呐渲脴?gòu)架,并且所述數(shù)據(jù)中心200A僅為一種用于說明目的的示例性架構(gòu)。例如,所述 通信路徑可包括在資源220和網(wǎng)絡(luò)200B之間交換數(shù)據(jù)的任何適當(dāng)?shù)脑O(shè)備配置(例如,交換 機(jī)、路由器、集線器等等)。
[0047] TOR交換機(jī)210在位于相關(guān)機(jī)架中的資源與適當(dāng)?shù)腅OR交換機(jī)之間交換數(shù)據(jù)。例 如,TOR交換機(jī)210-1-1經(jīng)由適當(dāng)?shù)腅OR交換機(jī)(例如,EOR交換機(jī)240-1)從機(jī)架205中的 資源交換數(shù)據(jù)至網(wǎng)絡(luò)200B。
[0048] 資源220可為如此處描述的任何適當(dāng)?shù)脑O(shè)備。需指出雖然在每個(gè)機(jī)架(例如,機(jī) 架205)中示出了 5個(gè)資源,每個(gè)機(jī)架可包括更少或更多的資源,并且每個(gè)機(jī)架可包括不同 類型或數(shù)目的資源。
[0049] 如圖所不,每個(gè)資源220使用行-列-資源號(hào)(row-column-resource number)命 名法來標(biāo)識(shí)。例如,資源220-2-3-4是位于第二行第三列的機(jī)架中的第四個(gè)資源。
[0050] EOR交換機(jī)240在相關(guān)的TOR交換機(jī)與適當(dāng)?shù)木酆辖粨Q機(jī)之間交換數(shù)據(jù)。例如, EOR交換機(jī)240-1經(jīng)由適當(dāng)?shù)木酆辖粨Q機(jī)(例如,聚合交換機(jī)250-1或250-2)從TOR交換 機(jī)210-1-1 - 210-1-x交換數(shù)據(jù)至網(wǎng)絡(luò)200B。
[0051] 聚合交換機(jī)250在EOR交換機(jī)(例如,機(jī)架205)與適當(dāng)?shù)穆酚善髦g交換數(shù)據(jù)。 例如,TOR交換機(jī)210-1-1經(jīng)由適當(dāng)?shù)腅OR交換機(jī)(例如,EOR交換機(jī)240-1)和適當(dāng)?shù)木酆?交換機(jī)(例如,聚合交換機(jī)250-1或250-2),從機(jī)架205中的資源交換數(shù)據(jù)至網(wǎng)絡(luò)200B。
[0052] 路由器260經(jīng)由適當(dāng)?shù)木酆辖粨Q機(jī)在網(wǎng)絡(luò)200B與數(shù)據(jù)中心200A之間交換數(shù)據(jù)。 例如,路由器260-1經(jīng)由聚合交換機(jī)250-1從網(wǎng)絡(luò)200B交換數(shù)據(jù)至數(shù)據(jù)中心200A。
[0053] 在一些實(shí)施例中,TOR交換機(jī)220或EOR交換機(jī)240為以太網(wǎng)交換機(jī)。
[0054] 在一些實(shí)施例中,TOR交換機(jī)220或EOR交換機(jī)240可被安排為冗余的。例如,機(jī) 架205可由兩個(gè)或多個(gè)TOR交換機(jī)210提供服務(wù)。
[0055] 在一些實(shí)施例中,聚合交換機(jī)250為層2以太網(wǎng)交換機(jī)。
[0056] 圖3描繪的流程圖示出了用于云管理器(如圖1中的云管理器130)的方法300 的實(shí)施例,其用于在圖1中的SPOF消除系統(tǒng)100中分布(分配或解除分配)組件實(shí)例。所 述方法包括:一經(jīng)確定分配觸發(fā)已經(jīng)發(fā)生(步驟310),基于下述對(duì)是否應(yīng)修改組件實(shí)例的 分布進(jìn)行確定(步驟350) :(i)已確定的資源池和與所述資源池相關(guān)聯(lián)的網(wǎng)絡(luò)架構(gòu)(步驟 320) ;(ii)已確定的應(yīng)用資源需求(步驟330);和(iii)已確定的規(guī)則集合(步驟340)。 執(zhí)行所述方法的裝置隨后基于所述對(duì)是否應(yīng)修改組件實(shí)例的分布進(jìn)行的確定的結(jié)果,根據(jù) 分配或解除分配組件實(shí)例(步驟360)和資源確定組件實(shí)例的分布。
[0057] 在所述方法300中,步驟310包括確定分配觸發(fā)已經(jīng)發(fā)生?;谒鲇|發(fā)的確定, 所述方法或者繼續(xù)至步驟320、330及340或者返回(步驟395)。所述觸發(fā)可為任何適當(dāng)?shù)?事件信號(hào),表明組件實(shí)例的分布應(yīng)被修改。例如,所述觸發(fā)信號(hào)可為:(a)在閾值間隔時(shí)間 周期性地觸發(fā);(b)初始資源分配請(qǐng)求(例如,啟動(dòng)應(yīng)用);(c)用于添加資源以增長(zhǎng)應(yīng)用能 力的請(qǐng)求;(d)用于減少資源來降低應(yīng)用能力的請(qǐng)求;(e)當(dāng)在XaaS操作期間遷移或重新 配置云資源時(shí),例如當(dāng)在虛擬化的磁盤安排中合并/平衡虛擬機(jī)負(fù)載或存儲(chǔ)分配時(shí);(f)在 為服務(wù)器或基礎(chǔ)設(shè)施上的維護(hù)作業(yè)做準(zhǔn)備時(shí)(例如,在使服務(wù)器離線以升級(jí)固件、硬件或 操作系統(tǒng)之前);(g)用于例行操作,例如在低使用期(例如,深夜)將應(yīng)用合并到較小數(shù)目 的服務(wù)器上從而可關(guān)閉額外的能力以節(jié)省資金;(h)當(dāng)激活/喚醒VM快照時(shí);(i)當(dāng)在故障 后重啟/恢復(fù)/重新分配虛擬資源時(shí)(例如,虛擬機(jī)的存儲(chǔ)器)(例如,創(chuàng)建新的組件實(shí)例 來替換由于故障而死掉的組件實(shí)例);(j)或類似的情況。需指出在同一時(shí)間可發(fā)生多個(gè)觸 發(fā)事件。
[0058] 在方法300中,步驟320包括確定所述資源池和與所述資源池相關(guān)的網(wǎng)絡(luò)架構(gòu)。特 別地,確定資源池(例如,圖2中的資源200)和與所述池的相關(guān)網(wǎng)絡(luò)架構(gòu)(例如,圖2中的 TOR交換機(jī)210、鏈路230、EOR交換機(jī)240、聚合交換機(jī)250和路由器260)。
[0059] 在方法300中,步驟330包括確定應(yīng)用的資源需求。特別地,執(zhí)行所述方法的裝置 確定(i)用于應(yīng)用的當(dāng)前的資源分配;和(ii)所述應(yīng)用的當(dāng)前應(yīng)用資源需求。在一些實(shí)施 例中,對(duì)資源的當(dāng)前配置的確定可基于組件實(shí)例的當(dāng)前分布。
[0060] 在方法300中,步驟340包含確定規(guī)則。特別地,抗親和規(guī)則為所述組件實(shí)例的分 布提供約束需求以滿足"no SP0F"。
[0061] 有利地,通過施加抗親和規(guī)則至組件實(shí)例,執(zhí)行所述方法的裝置可施加"無SP0F" 需求至多種資源(例如,永久性存儲(chǔ)設(shè)備),即使是當(dāng)兩個(gè)應(yīng)用實(shí)例被安裝在獨(dú)立的硬件平 臺(tái)上時(shí)。
[0062] 在所述方法300中,步驟350包括確定是否應(yīng)修改組件實(shí)例的分布,并且如果為 是,確定組件實(shí)例的"no SP0F"兼容分布是否是可能的。特別地,所述確定基于:(i)在步 驟320中確定的所述資源池和該池的相關(guān)網(wǎng)絡(luò)架構(gòu),(ii)在步驟330中確定的所述應(yīng)用資 源需求,(iii)以及在步驟340中確定的規(guī)則。
[0063] 需指出,執(zhí)行所述方法的裝置可分析一個(gè)或多個(gè)資源上的分配或解除分配的組件 實(shí)例的多個(gè)分布,并且那些資源可位于本地或遠(yuǎn)程的任意數(shù)目的數(shù)據(jù)中心之中。
[0064] 在方法300中,步驟360包括確定在所述資源池中的資源之中的組件實(shí)例的分布。 所述分布可包括,例如,確定新建組件實(shí)例的布置或重新安排現(xiàn)存的組件實(shí)例。特別地,執(zhí) 行所述方法的裝置分配或解除分配資源池中的資源上的組件實(shí)例,基于:(i)已確定的資 源池和相關(guān)的網(wǎng)絡(luò)架構(gòu);(ii)已確定的應(yīng)用資源需求;和(iii)已確定的規(guī)則集。
[0065] 在步驟320中的一些實(shí)施例中,所述網(wǎng)絡(luò)架構(gòu)在機(jī)器可解析語法中被表示。有利 地,當(dāng)所述網(wǎng)絡(luò)架構(gòu)以機(jī)器可解析語法存儲(chǔ)時(shí),對(duì)網(wǎng)路架構(gòu)的修改可動(dòng)態(tài)地完成,允許網(wǎng)絡(luò) 架構(gòu)動(dòng)態(tài)增長(zhǎng)和縮減。在這些實(shí)施例中的一些中,所述機(jī)器可解析語法為一張圖表或邏輯 關(guān)系。
[0066] 在一些實(shí)施例中,步驟320進(jìn)一步包括確定網(wǎng)絡(luò)狀況。特別地,可確定網(wǎng)絡(luò)成分例 如鏈路、訪問節(jié)點(diǎn)、邊界節(jié)點(diǎn)、網(wǎng)絡(luò)設(shè)備等等的狀況或狀態(tài)。例如,執(zhí)行所述方法的裝置可確 定圖2中鏈路230的操作狀態(tài)和擁塞程度。
[0067] 在步驟330的一些實(shí)施例中,當(dāng)前應(yīng)用資源請(qǐng)求基于應(yīng)用請(qǐng)求。
[0068] 在步驟330的一些實(shí)施例中,當(dāng)前應(yīng)用資源需求基于使用的測(cè)量。在這些實(shí)施例 的一些中,執(zhí)行所述方法的裝置通過所述應(yīng)用監(jiān)控資源的使用。對(duì)于這樣的實(shí)施例,如過被 監(jiān)控的資源參數(shù)(例如,處理、帶寬、存儲(chǔ)或儲(chǔ)存參數(shù))的增長(zhǎng)或縮減超出了閾值,可發(fā)生觸 發(fā)事件,并且基于監(jiān)控到的資源使用確定新的應(yīng)用資源請(qǐng)求。例如,如果應(yīng)用當(dāng)前已被分配 了 IOG字節(jié)的存儲(chǔ),并且監(jiān)控到的使用情況增長(zhǎng)超過10%空閑容量閾值,那么所述裝置可 基于預(yù)先確定的分配準(zhǔn)則(例如,當(dāng)超出使用閾值時(shí),增加IG字節(jié)數(shù)量的存儲(chǔ))確定當(dāng)前 存儲(chǔ)應(yīng)用資源需求為IlG字節(jié)。
[0069] 在步驟340的一些實(shí)施例中,以實(shí)例限制來表示抗親和規(guī)則(例如,為"no SP0F" 的需求指定可用組件實(shí)例的最小數(shù)目)。在這些實(shí)施例中的一些中,實(shí)例限制可表示為 n+k,其中,"n"是為滿足"no SP0F"需求所需要的可用組件實(shí)例的數(shù)目,并且"k"是為滿足 "no SP0F"需求所必須容忍的故障點(diǎn)的數(shù)目。例如,假設(shè)類型為"A"的組件實(shí)例是為網(wǎng)絡(luò)服 務(wù)器的前端處理服務(wù)的虛擬機(jī),并且每個(gè)類型為"A"的組件實(shí)例每分鐘處理30個(gè)請(qǐng)求。如 果所述應(yīng)用每分鐘需處理300個(gè)請(qǐng)求,那么應(yīng)用可需要n = 10個(gè)可用的類型為"A"的組件 實(shí)例。此外,如果應(yīng)用必須容忍k = 2的故障,那么在兩個(gè)n = 10的組件實(shí)例受故障影響 的情況下,執(zhí)行所述方法的所述裝置需要分布至少兩個(gè)冗余的類型為"A"的組件實(shí)例來服 務(wù)前端處理請(qǐng)求。為了簡(jiǎn)單的目的,假設(shè)沒有類型"A"的組件實(shí)例受到同樣故障的影響。
[0070] 在步驟340的一些實(shí)施例中,以資源限制(例如,存儲(chǔ)的最小閾值、帶寬、內(nèi)存訪問 延時(shí)或處理周期)和為滿足"no SP0F"需求所需要的可容忍故障的數(shù)目表示抗親和規(guī)則。 例如,假設(shè)類型為"A"的組件實(shí)例是為網(wǎng)絡(luò)服務(wù)器的前端處理服務(wù)的虛擬機(jī),并且所述應(yīng)用 需要每分鐘處理300個(gè)請(qǐng)求。此外,假設(shè)所述應(yīng)用需要k = 2的故障容忍。需指出,所述應(yīng) 用可不指定容忍故障的數(shù)目,并可使用默認(rèn)的容忍(例如k= 1)。在此例中,類型為"A" 的組件實(shí)例的任何適當(dāng)?shù)呐渲枚伎杀皇褂?,其中在兩個(gè)故障之后有足夠的類型為"A"的可 用組件實(shí)例來服務(wù)至少300個(gè)前端處理請(qǐng)求。在第一示例中,可有10個(gè)類型為"A"的能夠 每分鐘處理30個(gè)請(qǐng)求的組件實(shí)例和4個(gè)類型為"A"的能夠每分鐘處理15個(gè)請(qǐng)求的組件實(shí) 例。在這樣的第一示例中,兩個(gè)類型為"A"的每分鐘服務(wù)30個(gè)請(qǐng)求的組件實(shí)例的故障,仍 能留下可用的類型為"A"的能夠每分鐘服務(wù)300個(gè)請(qǐng)求(即,8*30+4*15 = 300)的組件實(shí) 例。為了簡(jiǎn)單的目的,假設(shè)沒有類型為"A"的組件實(shí)例受到同一故障的影響。
[0071] 在步驟340的一些實(shí)施例中,應(yīng)用可定制抗親和規(guī)則以實(shí)現(xiàn)"noSPOF"。
[0072] 在步驟340的一些實(shí)施例中,所述抗親和規(guī)則以機(jī)器可解析語法表示。例如,可定 義用于指定虛擬機(jī)的抗親和規(guī)則(例如,處理+存儲(chǔ))和虛擬化存儲(chǔ)的語法。
[0073] 在步驟350的一些實(shí)施例中,基于故障點(diǎn)集和與其相關(guān)的受影響的組件實(shí)例確 定是否組件實(shí)例可被分配或解除分配。故障點(diǎn)為任意適當(dāng)?shù)奶摂M化的服務(wù)器、資源、網(wǎng)絡(luò) 元素、制冷或能源組件等等。例如,參照?qǐng)D2, TOR交換機(jī)210-1-1的故障將影響分配在資 源220-1-1-1 - 220-1-1-5中任意一個(gè)上的全部組件實(shí)例,以及被分配在例如虛擬化的服 務(wù)器(為了清晰而沒有顯示出)上的任意組件實(shí)例,所述虛擬化的服務(wù)器具有分配在資源 220-1-1-1 - 220-1-1-5中任意一個(gè)上的組件實(shí)例。
[0074] 在步驟350的一些實(shí)施例中,故障點(diǎn)可為冗余組件。例如,參照?qǐng)D2,如果聚合交換 機(jī)250-1發(fā)生故障,聚合交換機(jī)250-2可接管(take over)。然而,如果冗余組件(例如,聚 合交換機(jī)250-2)沒有足夠的能力來接管足夠的負(fù)載來滿足所述抗親和規(guī)則,則可能發(fā)生 "no SPOF"的違反。
[0075] 在一些實(shí)施例中,步驟350包括在初始化分配、動(dòng)態(tài)分配或解除分配、遷移、恢復(fù), 或其他業(yè)務(wù)管理行為時(shí)強(qiáng)制執(zhí)行至少部分已確定的規(guī)則(步驟340)。
[0076] 在步驟350的一些實(shí)施例中,當(dāng)執(zhí)行所述方法的裝置不能夠在不違反應(yīng)用的抗親 和規(guī)則的情況下分配組件實(shí)例時(shí)(例如由于應(yīng)用試圖水平增長(zhǎng)(horizontally grow),超 出了特定數(shù)據(jù)中心的"no SP0F"能力),則步驟350返回一個(gè)適當(dāng)?shù)腻e(cuò)誤,表明請(qǐng)求的水平 增長(zhǎng)被禁止,因此所述應(yīng)用必須向外增長(zhǎng)(out-grow)。需指出,不同的發(fā)展場(chǎng)景可能有不同 的"noSPOF"限制。例如,數(shù)據(jù)中心可能能夠在永久存儲(chǔ)能力方面增長(zhǎng)并且不違反"no SP0F" 限制,但不能夠增長(zhǎng)服務(wù)能力(即,分配新的虛擬機(jī)實(shí)例)而不違反限制。
[0077] 在步驟350或360的一些實(shí)施例中,一個(gè)或多個(gè)相同類型的組件實(shí)例具有不同的 資源參數(shù),例如不同的存儲(chǔ)、帶寬、訪問延時(shí)或處理周期參數(shù)。例如,虛擬化存儲(chǔ)類型的兩個(gè) 不同組件實(shí)例可指定不同的存儲(chǔ)大小或訪問延時(shí)。
[0078] 在步驟360的一些實(shí)施例中,對(duì)組件實(shí)例分布的確定基于至少部分組件實(shí)例的至 少一個(gè)資源參數(shù)。
[0079] 在步驟350或360的一些實(shí)施例中,對(duì)在步驟350中是否需要修改組件分布進(jìn)行 的確定或在步驟360中對(duì)組件實(shí)例的分布進(jìn)行的確定可進(jìn)一步基于在步驟320中確定的網(wǎng) 絡(luò)狀況。例如,執(zhí)行所述方法的裝置可在步驟320中確定圖2中的鏈路230的操作狀態(tài)或 擁塞程度。
[0080] 在該網(wǎng)絡(luò)狀況實(shí)施例的第一示例中,執(zhí)行所述方法的裝置可確定圖2中鏈路 230-1的擁塞程度可能不允許足夠的能力來為位于資源220-1-1-1 - 220-1-1-5上的 組件實(shí)例服務(wù)。在該實(shí)例中,步驟350或360中的所述確定的實(shí)施例可基于位于資源 220-1-1-1 - 220-1-1-5上的一個(gè)或多個(gè)組件實(shí)例的降低的資源能力,所述一個(gè)或多個(gè)組件 實(shí)例的降低的能力基于所述鏈路230-1中的擁塞。
[0081] 在該網(wǎng)絡(luò)狀況實(shí)施例的第二示例中,執(zhí)行所述方法的裝置可確定圖2中的鏈路 230-2是失效的。在該第二示例中,步驟350或360中的所述確定可基于不再由冗余的聚合 交換機(jī)250-2服務(wù)的EOR交換機(jī)240-1。同樣的,如果已確定聚合交換機(jī)250-1不能提供 足夠的能力來為所述組件實(shí)例服務(wù),那么所述確定可基于位于資源220-1-1-1 - 220-1-X-5 上的一個(gè)或多個(gè)組件實(shí)例的降低的資源能力。此外,因?yàn)榫酆辖粨Q機(jī)250-2的可用性已被 排除,所述確定可基于聚合交換機(jī)250-1為位于資源220-1-1-1 - 220-1-X-5上的組件實(shí)例 的單點(diǎn)故障。
[0082] 在步驟360的一些實(shí)施例中,一個(gè)或多個(gè)當(dāng)前組件實(shí)例可被刪除、修改或重新安 排至不同的資源(例如,為避免"no SP0F"條件)。在一些這樣的實(shí)施例中,基于對(duì)沒有足夠 的能力可用來為所述一個(gè)或多個(gè)組件實(shí)例進(jìn)行服務(wù)的確定(例如,如上所述在鏈路230-1 上的擁塞)來而降低(例如,修改)一個(gè)或多個(gè)組件實(shí)例的資源能力。
[0083] 在步驟360的一些實(shí)施例中,執(zhí)行所述方法的裝置創(chuàng)建兩個(gè)或多個(gè)組件實(shí)例來滿 足應(yīng)用資源需求。例如,分配3G字節(jié)存儲(chǔ)的需求可由一個(gè)提供3G字節(jié)存儲(chǔ)的組件實(shí)例或 者一個(gè)提供2G字節(jié)存儲(chǔ)的組件實(shí)例和一個(gè)提供IG字節(jié)存儲(chǔ)的組件實(shí)例來滿足。在一些這 樣的實(shí)施例中,對(duì)多于一個(gè)組件實(shí)例的分配基于抗親和規(guī)則。在一些這樣的實(shí)施例中,對(duì)多 于一個(gè)組件實(shí)例的分配基于系統(tǒng)中資源的能力或可用性。
[0084] 在步驟360的一些實(shí)施例中,所述組件實(shí)例可分布在新實(shí)例化的虛擬化服務(wù)器 上,不違反在步驟340中確定的一個(gè)或多個(gè)規(guī)則。
[0085] 在步驟360的一些實(shí)施例中,組件實(shí)例的解除分配可能需要重新安排一個(gè)或多個(gè) 當(dāng)前組件實(shí)例。例如,當(dāng)由降低的應(yīng)用資源需求(例如,基于應(yīng)用資源減低需求)導(dǎo)致的組 件實(shí)例被刪除時(shí),一個(gè)或多個(gè)剩余的組件實(shí)例可在不同的資源上分裂以滿足"no SP0F"需 求。
[0086] 在方法300的一些實(shí)施例中,步驟320、330或340可同時(shí)被確定或步驟320、330 或340中的一些可連續(xù)地被確定。例如,在步驟330中對(duì)空閑能力的確定可與在步驟320 中對(duì)已分配資源的確定同時(shí)進(jìn)行確定,并且步驟360的分布確定可與步驟350的分配或解 除分配確定同時(shí)地執(zhí)行。
[0087] 圖4描繪了的流程圖示出了用于云管理器(例如,圖1中云管理器130)確定如圖 3的步驟340中所示出的規(guī)則的方法400的實(shí)施例。所述方法包含確定抗親和規(guī)則(步驟 420)、確定組件分配規(guī)則(步驟440)、確定業(yè)務(wù)規(guī)則(步驟460)、確定操作策略(步驟480) 和確定規(guī)范性規(guī)則(步驟490)。
[0088] 在方法400中,步驟420包括確定抗親和規(guī)則。特別地,如上所述,抗親和規(guī)則描 述了為滿足"no SP0F"需求,應(yīng)用所需的可用的資源的最小數(shù)量。
[0089] 方法400可選地包括步驟440。步驟440包括確定組件分配規(guī)則。特別地,組件分 配規(guī)則描述了組件實(shí)例的資源參數(shù)。例如,組件實(shí)例所需的類型(例如,處理內(nèi)核、虛擬機(jī) 或虛擬化的存儲(chǔ))或設(shè)備能力(例如,訪問延時(shí)、處理周期或存儲(chǔ)需求)。
[0090] 方法400可選地包括步驟460。步驟460包括確定業(yè)務(wù)規(guī)則,所述規(guī)則可影響系統(tǒng) 中的組件實(shí)例的分布。特別地,業(yè)務(wù)規(guī)則描述了 "no SP0F"系統(tǒng)的資源約束。在一些這樣 的實(shí)施例中,業(yè)務(wù)規(guī)則可包括:(1)識(shí)別在當(dāng)前或未來維護(hù)作業(yè)中使用的資源;(2)預(yù)留將 來使用的資源;(3)為一個(gè)或多個(gè)被識(shí)別的客戶預(yù)留資源;和(4)類似的規(guī)則。
[0091] 方法400可選地包括步驟480。步驟480包括確定操作策略規(guī)則,所述規(guī)則影響組 件實(shí)例的分布。特別地,操作策略規(guī)則描述了應(yīng)用特定的分布需求。在一些這樣的實(shí)施例 中,操作策略規(guī)則可包含:(1)組件實(shí)例分配的限制(例如,特定類型的組件實(shí)例不能被分 配到不同的數(shù)據(jù)中心);(2)操作需求(例如,指定不同類型的組件實(shí)例之間的最大訪問延 時(shí));(3)軟件許可(或其他業(yè)務(wù)/資金)限制;或(4)類似的規(guī)則。
[0092] 所述方法400可選地包括步驟490。步驟490包含確定規(guī)范化規(guī)則,所述規(guī)則影響 組件實(shí)例的分布。特別地,規(guī)范化規(guī)則描述了"no SP0F"系統(tǒng)的規(guī)范性資源約束。在一些這 樣的實(shí)施例中,規(guī)范性規(guī)則可包括組件實(shí)例的地理位置上的限制。例如,隱私法律可限制在 地理邊界外的個(gè)人信息的存儲(chǔ)或者出口控制法規(guī)可限制在地理界線外的技術(shù)數(shù)據(jù)的存儲(chǔ)。
[0093] 在方法400的一些實(shí)施例中,步驟420、440、460、480或490可同時(shí)被確定或執(zhí)行。
[0094] 雖然主要以特別的序列中進(jìn)行的描繪和描述,需指出在方法300和400中展示的 步驟可以任何適當(dāng)?shù)男蛄袌?zhí)行。此外,以一個(gè)步驟來標(biāo)識(shí)的步驟也可以以一個(gè)或多個(gè)其他 的步驟順序執(zhí)行,或者多于一步的通用動(dòng)作可僅執(zhí)行一次。
[0095] 需指出上述方法的多個(gè)步驟可由被編程的計(jì)算機(jī)執(zhí)行。在此,一些實(shí)施例還旨在 覆蓋程序存儲(chǔ)設(shè)備如數(shù)字?jǐn)?shù)據(jù)存儲(chǔ)介質(zhì),其為可被機(jī)器或計(jì)算機(jī)讀取并且編碼機(jī)器可執(zhí)行 或計(jì)算機(jī)可執(zhí)行指令的程序,其中所述指令執(zhí)行所述上述方法的一些或全部步驟。所述程 序存儲(chǔ)設(shè)備可為如數(shù)字存儲(chǔ)器、磁存儲(chǔ)媒介如磁盤和磁帶、硬盤驅(qū)動(dòng)器、或光可讀數(shù)字?jǐn)?shù)據(jù) 存儲(chǔ)媒介。實(shí)施例還旨在覆蓋被編程以執(zhí)行上述方法的所述步驟的計(jì)算機(jī)。
[0096] 參見圖3和5A-5D,提供了由圖1中的云管理器130管理的圖1中的SPOF消除系 統(tǒng)中的應(yīng)用組件實(shí)例的分布的實(shí)例。
[0097] 圖5A示出了示例性兩層應(yīng)用的可靠性框圖,所述應(yīng)用需要類型為"A"和類型為 "B"的組件實(shí)例。組件實(shí)例A1-A2為組件類型'A' 500A-10,以及組件實(shí)例B1-B4為組件類 型'B' 500A-20 (統(tǒng)稱為組件實(shí)例500A)。特別地,經(jīng)由組件實(shí)例500A提供應(yīng)用處理輸入流 510A與應(yīng)用處理輸出流520A之間的處理路徑。為了滿足"no SP0F"需求,處理路徑需要基 于在圖3的步驟340中確定并在步驟350或360中應(yīng)用的規(guī)則將組件實(shí)例500A分布在資 源上。例如,如果抗親和規(guī)則需要在單個(gè)故障之后至少有一個(gè)類型為A的組件實(shí)例可用,則 組件實(shí)例A1和A2不能被同一個(gè)故障點(diǎn)影響。
[0098] 就在圖5B-5D中示出的例子而言,類型為"A"的組件實(shí)例為前端處理(front end processes)(例如,虛擬機(jī)),能夠每分鐘服務(wù)100個(gè)請(qǐng)求,并且類型為"B"的組件實(shí)例(例 如,虛擬機(jī))為后端處理,能夠每分鐘服務(wù)30個(gè)請(qǐng)求。
[0099] 參考圖5B,示出了虛擬化服務(wù)器S1-S5上組件實(shí)例A1 - A2和B1 - B3的初始化分配 (如步驟320中當(dāng)前分配的確定)。
[0100] 在該示例中,使用戶業(yè)務(wù)充分可用的已確定的規(guī)則(步驟340) (S卩,具有足夠的能 力來以可接受的服務(wù)質(zhì)量服務(wù)為負(fù)載提供服務(wù))為:
[0101] (1)系統(tǒng)需要可用的前端處理來在每分鐘處理60個(gè)請(qǐng)求;
[0102] (2)系統(tǒng)需要可用的后端處理來在每分鐘處理60個(gè)請(qǐng)求;并且
[0103] (3)對(duì)于單故障點(diǎn),系統(tǒng)應(yīng)滿足"no SP0F"。
[0104] 需指出,圖5B中的組件實(shí)例的初始化分布滿足已確定的規(guī)則。
[0105] 圖5C和圖示出了響應(yīng)于應(yīng)用增長(zhǎng)的請(qǐng)求,圖5A的組件實(shí)例500A的兩個(gè)示例 性分布中組件實(shí)例B4的分配。在這些示例中,使用戶服務(wù)充分可用的更新后的已確定規(guī)則 (例如,圖3中的步驟340)所基于的應(yīng)用增長(zhǎng)的請(qǐng)求為:
[0106] (1)系統(tǒng)需要可用的前端處理來在每分鐘處理90個(gè)請(qǐng)求;
[0107] (2)系統(tǒng)需要可用的后端處理來在每分鐘處理90個(gè)請(qǐng)求;并且
[0108] (3)對(duì)于單故障點(diǎn),系統(tǒng)應(yīng)滿足"no SP0F"。
[0109] 需指出,圖5B中的組件實(shí)例的初始化分布不滿足更新后的已確定規(guī)則,并且因此 組件實(shí)例的當(dāng)前分布不滿足"no SP0F"需求。例如,如果虛擬化的服務(wù)器S1-S3中的任何一 個(gè)出現(xiàn)故障,類型為"B"的可用的組件實(shí)例則僅具有每分鐘服務(wù)60個(gè)請(qǐng)求的能力,并且因 此所述需求:"(2)系統(tǒng)需要可用的后端處理來在每分鐘處理90個(gè)請(qǐng)求"不被滿足。
[0110] 參閱圖5C的分布示例,虛擬化的服務(wù)器S1-S5上的組件實(shí)例500A的分布滿足更 新后的已確定規(guī)則,并因此該分布滿足"no SP0F"需求。例如,如圖所示,如果虛擬化的服 務(wù)器S1-S5中的任意一臺(tái)出現(xiàn)故障,可用的類型為"A"的組件實(shí)例具有每分鐘服務(wù)至少90 個(gè)請(qǐng)求的能力(例如,或者說服務(wù)器每分鐘可服務(wù)100個(gè)請(qǐng)求)并且可用的類型為"B"的組 件實(shí)例具有每分鐘服務(wù)至少90個(gè)請(qǐng)求的能力(例如,在故障之后至少三個(gè)組件實(shí)例可用, 每分鐘可服務(wù)90個(gè)請(qǐng)求)。因此,所述方法可確定組件實(shí)例B4的分配可實(shí)現(xiàn)(步驟350), 并分配組件實(shí)例B4至虛擬化服務(wù)器S4 (步驟360)。
[0111] 相反,參閱圖中的分布示例,虛擬化服務(wù)器S1-S5上的組件實(shí)例500A的分布不 滿足更新后的已確定規(guī)則,因此該分布不滿足"no SP0F"需求。如圖所述,如果B2和B3的 主機(jī)均為(hosted on)虛擬服務(wù)器S3,那么虛擬化服務(wù)器S3的故障將違反需求:"(2)系統(tǒng) 需要可用的后端處理來在每分鐘處理90個(gè)請(qǐng)求",該需求將不被滿足。
[0112] 需指出,執(zhí)行方法300的裝置可選擇不違反系統(tǒng)"no SP0F"需求的另一分布(例 如,圖5C的分布)或者執(zhí)行所述方法的裝置可確定使用任何分布(步驟450)對(duì)組件實(shí)例 (例如,組件實(shí)例B4)進(jìn)行分配均無法達(dá)到(achieved)并返回(步驟495)。
[0113] 進(jìn)一步參閱所述示例,執(zhí)行方法300的裝置可確定該網(wǎng)絡(luò)的架構(gòu)(步驟320)。 例如,參閱圖2,圖5B-5D的虛擬化服務(wù)器S1-S4可分別位于資源220-1-1-1、220-2-1-1、 220-y-l-l和220-y-2-l上。在圖2的網(wǎng)絡(luò)架構(gòu)中,資源220-y-l-l和220-y-2-l共享共 同的EOR交換機(jī)(例如交換機(jī)240-y),因此,EOR交換機(jī)240-y的故障會(huì)影響位于虛擬服務(wù) 器S3和S4上的組件實(shí)例,因此,如果組件實(shí)例B4被放置于虛擬化服務(wù)器S4上,EOR交換機(jī) 240-y將會(huì)是違反了更新后的已確定規(guī)則的單點(diǎn)故障。事實(shí)上,將組件實(shí)例B4分布在資源 SI - S4中任何一個(gè)之上均違反抗親和規(guī)則,從而違反"noSPOF"需求。在一些實(shí)施例中,執(zhí) 行方法300的裝置可在不違反抗親和規(guī)則的資源上(例如,資源220-3-1-1)創(chuàng)建新的虛擬 化服務(wù)器(例如,S5),并且分布組件實(shí)例B4至該新創(chuàng)建的虛擬化服務(wù)器。需指出,與網(wǎng)絡(luò) 設(shè)備的故障相似,比如EOR交換機(jī)240-y、鏈路故障(例如,圖2的鏈路230)可影響一個(gè)或 多個(gè)資源(例如,鏈路230的故障影響資源220-1-1-1 - 220-1-1-5)。
[0114] 在一些實(shí)施例中,如果故障點(diǎn)為冗余組件,例如聚合交換機(jī)250-1,要求冗余組件 (例如聚合交換機(jī)250-2)的能力足夠滿足更新后的已確定規(guī)則。在一些這樣的實(shí)施例中, 圖3中步驟350或360中的確定基于此處描述的網(wǎng)絡(luò)帶寬的充分性。
[0115] 回顧圖3,在一些實(shí)施例中,步驟350或360包含使用傳統(tǒng)的經(jīng)典優(yōu)化技術(shù)來確定 是否以及可分布組件實(shí)例至何處。傳統(tǒng)的經(jīng)典優(yōu)化技術(shù)涉及確定最優(yōu)的達(dá)到期望的目標(biāo)或 目的行為。最優(yōu)的達(dá)到期望的目標(biāo)或目的的行為可通過最大化或最小化目的函數(shù)的值來確 定。在一些實(shí)施例中,所述目的函數(shù)的目標(biāo)或指標(biāo)(metric)可為最小化代價(jià)或最小化應(yīng)用 訪問時(shí)間。
[0116] 問題可以表述為:
[0117] 優(yōu)化:
[0118] [E. l]y = f (x1; X2, --?, xn)
[0119] 限制條件:
【權(quán)利要求】
1. 一種用于提供單點(diǎn)故障消除的裝置,所述裝置包括: 數(shù)據(jù)存儲(chǔ)器;和 通信地連接至所述數(shù)據(jù)存儲(chǔ)器的處理器,所述處理器被配置用于: 確定一個(gè)或多個(gè)應(yīng)用資源請(qǐng)求; 確定資源池和與所述資源池相關(guān)聯(lián)的網(wǎng)絡(luò)架構(gòu); 確定一個(gè)或多個(gè)規(guī)則;并且 基于所述一個(gè)或多個(gè)應(yīng)用資源請(qǐng)求、所述資源池、所述網(wǎng)絡(luò)架構(gòu)和所述一個(gè)或多個(gè)規(guī) 貝1J,確定一個(gè)或多個(gè)組件實(shí)例的分布。
2. 如權(quán)利要求1所述的裝置,其中所述網(wǎng)絡(luò)架構(gòu)包括鏈路和網(wǎng)絡(luò)節(jié)點(diǎn);并且 其中,所述處理器被進(jìn)一步配置以便: 確定一個(gè)或多個(gè)所述鏈路和節(jié)點(diǎn)的網(wǎng)絡(luò)狀況; 其中所述一個(gè)或多個(gè)組件實(shí)例的分布的確定進(jìn)一步基于所述網(wǎng)絡(luò)狀況。
3. 如權(quán)利要求1所述的裝置,其中所述一個(gè)或多個(gè)應(yīng)用資源請(qǐng)求包括一個(gè)或多個(gè)資源 的當(dāng)前分配,所述一個(gè)或多個(gè)資源為所述資源池的成員;以及一個(gè)或多個(gè)當(dāng)前應(yīng)用資源請(qǐng) 求,所述一個(gè)或多個(gè)當(dāng)前資源請(qǐng)求與應(yīng)用相關(guān)聯(lián)。
4. 如權(quán)利要求1所述的裝置,其中所述一個(gè)或多個(gè)規(guī)則包括一個(gè)或多個(gè)抗親和規(guī)則。
5. 如權(quán)利要求4所述的裝置,其中所述一個(gè)或多個(gè)規(guī)則進(jìn)一步包括一個(gè)或多個(gè)業(yè)務(wù)規(guī) 貝U ;并且 其中所述一個(gè)或多個(gè)業(yè)務(wù)規(guī)則包括用于維護(hù)作業(yè)的資源池中的部分資源的預(yù)留。
6. 如權(quán)利要求1所述的裝置,其中對(duì)一個(gè)或多個(gè)組件實(shí)例的分布的確定進(jìn)一步基于故 障點(diǎn)集。
7. -種用于提供單點(diǎn)故障消除的方法,所述方法包括: 在與數(shù)據(jù)存儲(chǔ)器通信地連接的處理器,確定分布觸發(fā)已經(jīng)發(fā)生; 由與所述數(shù)據(jù)存儲(chǔ)器協(xié)作的所述處理器確定一個(gè)或多個(gè)應(yīng)用資源請(qǐng)求; 由與所述數(shù)據(jù)存儲(chǔ)器協(xié)作的所述處理器確定資源池和與所述資源池相關(guān)聯(lián)的網(wǎng)絡(luò)架 構(gòu); 由與所述數(shù)據(jù)存儲(chǔ)器協(xié)作的所述處理器確定一個(gè)或多個(gè)規(guī)則;并且 由與所述數(shù)據(jù)存儲(chǔ)器協(xié)作的所述處理器,基于所述分布觸發(fā)、所述一個(gè)或多個(gè)應(yīng)用請(qǐng) 求、所述資源池、所述網(wǎng)絡(luò)架構(gòu)和所述一個(gè)或多個(gè)規(guī)則,確定一個(gè)或多個(gè)組件實(shí)例的分布。
8. 如權(quán)利要求7所述的方法,其中所述分布觸發(fā)基于從所述資源池中一個(gè)或多個(gè)資源 遷移至少部分所述組件實(shí)例。
9. 如權(quán)利要求7所述的方法,其中所述方法進(jìn)一步包括: 由與所述數(shù)據(jù)存儲(chǔ)器協(xié)作的所述處理器確定一個(gè)或多個(gè)鏈路或網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)狀 況; 其中所述網(wǎng)絡(luò)架構(gòu)包括所述一個(gè)或多個(gè)鏈路或網(wǎng)絡(luò)節(jié)點(diǎn);并且 其中確定所示一個(gè)或多個(gè)組件實(shí)例的分布的步驟進(jìn)一步基于所述網(wǎng)絡(luò)狀況。
10. 如權(quán)利要求7所述的方法,其中所述網(wǎng)絡(luò)架構(gòu)包括第一網(wǎng)絡(luò)設(shè)備;并且其中確定一 個(gè)或多個(gè)組件實(shí)例的分布的步驟包括: 基于對(duì)所述第一網(wǎng)絡(luò)設(shè)備的故障將違反所述一個(gè)或多個(gè)抗親和規(guī)則中的至少一個(gè)的 確定,確定所述一個(gè)或多個(gè)組件實(shí)例的第一組件實(shí)例可與所述資源池中的第一資源無關(guān)。
【文檔編號(hào)】G06F11/14GK104335182SQ201380029309
【公開日】2015年2月4日 申請(qǐng)日期:2013年5月15日 優(yōu)先權(quán)日:2012年6月4日
【發(fā)明者】E·J·鮑爾, R·S·亞當(dāng)斯, M·克勞格赫蒂 申請(qǐng)人:阿爾卡特朗訊公司