TW201434300A - 跨越叢集邊界的服務遷移 - Google Patents
跨越叢集邊界的服務遷移 Download PDFInfo
- Publication number
- TW201434300A TW201434300A TW102149336A TW102149336A TW201434300A TW 201434300 A TW201434300 A TW 201434300A TW 102149336 A TW102149336 A TW 102149336A TW 102149336 A TW102149336 A TW 102149336A TW 201434300 A TW201434300 A TW 201434300A
- Authority
- TW
- Taiwan
- Prior art keywords
- cluster
- service
- address
- steps
- tenant
- Prior art date
Links
- 230000005012 migration Effects 0.000 title abstract description 18
- 238000013508 migration Methods 0.000 title abstract description 18
- 238000000034 method Methods 0.000 claims description 55
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003362 replicative effect Effects 0.000 claims 2
- 230000001934 delay Effects 0.000 abstract description 4
- 230000008672 reprogramming Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5076—Update or notification mechanisms, e.g. DynDNS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
實施例提供跨越不同的叢集的服務的遷移以平衡利用和滿足客戶需求。可伴隨著或不伴隨著停止時間來執行不同的服務遷移選項。服務的工件被移動至新的目標叢集。服務被建立在新的目標叢集上和被安排(staged),以使得服務近乎準備要開始。在一實施例中,在舊的叢集上停止服務和在新的叢集上開始服務。在停止服務之後,DNS被更新以指向在新的叢集上的服務。在另一實施例中,停止在舊的叢集上的服務和開始在具有相同的IP位址的新的叢集上的服務,以避免DNS重新編程和相關聯的延遲。在另外的實施例中,藉由一部分接著一部分地將服務從一叢集移動至另一叢集來執行遷移,而不伴隨著停止時間(downtime)。
Description
此發明係關於跨越叢集邊界的服務遷移。
大型資料中心典型地包含:執行數個集合的標準軟體套件的有組織的叢集的硬體機器,例如web伺服器、資料庫伺服器,及類似者。由於可容錯性(fault tolerance)和管理的緣故,在資料中心中的機器典型地被分為多個叢集,該等叢集被一架構獨立地監控和管理,該架構協調用於軟體應用程式的資源。在一實施例中,該架構可為:例如為提供、支援、監控構成資料中心的虛擬機器(VM)和實體伺服器,及對於虛擬機器(VM)和實體伺服器下達指令的Windows AzureTM Fabric Controller。
在現有的資料中心中,每一租戶被部署至用於該租戶的整個生命週期的單一的叢集,前述者允許租戶的部署由單一的架構進行管理。然而,因為擴展被限制於單一的叢集內的機器,此組態可限制租戶的成長。連結在租戶和叢集之間的緊密性要求資料中心維運者將用於一叢集的容量維持在將滿足針對於部署在此叢集上的租戶的潛在性的未來的要求
的程度。經常地,此者導致該等叢集預期到可能的未來的需求而操作在低的目前利用率。即使當維持超額的容量時,此者僅改善租戶的未來的需求將被支援的可能性。並不保證:租戶規模的請求將被限制為保留的容量,因而有時候租戶不能獲得所要求的容量。
將服務限制於一個叢集中亦產生:針對於此服務的單一個點的故障。若控制此叢集的架構故障,則整個叢集將會故障,及在該叢集上支援的所有的服務將為不可獲得使用的。
提供此【發明內容】以利用簡化的形式作出選擇性觀念的介紹,該等觀念進一步地被描述在後文的【實施方式】中。此【發明內容】無意於識別:所請求的申請標的之關鍵特徵或必要特徵,及無意於被使用以限制:所請求的申請標的之範疇。
本發明的實施例允許租戶的服務伴隨著停止時間地或不伴隨著停止時間地在多個叢集之間移動。服務與在一叢集上的特定的IP位址相關聯。使用者使用一網域名稱來存取服務,該網域名稱藉由網域名稱系統(DNS)或其他的網路位置服務而被轉譯為IP位址。當服務在叢集間被移動時,可改變服務的IP位址、或可不改變服務的IP位址。
可藉由在新的叢集中安排新的服務的實例(instance)、等待進行準備的新的實例,然後停止原始的實例,及將服務的DNS名稱指向對應於在新的叢集上的新的服務的
部署的IP位址來遷移服務,其中伴隨著停止時間。
可替代性地,服務可伴隨著停止時間被遷移至新的叢集和可保持原始的IP位址。當DNS快取被重新寫入(repopulated)時,此者會避免對於重新編程DNS的需求和相關聯的延遲。
用於遷移服務的另外的替代方案係用以藉由一部分接著一部分地移動服務來執行遷移,而不伴隨著停止時間,以使得在整個遷移的過程中,服務總是在叢集的一者或二者中執行。
11‧‧‧租戶遷移者
302‧‧‧方法/步驟
12‧‧‧叢集
303‧‧‧方法/步驟
13‧‧‧叢集
304‧‧‧方法/步驟
14‧‧‧虛擬機器(VM)
305‧‧‧方法/步驟
15‧‧‧虛擬機器(VM)
306‧‧‧方法/步驟
21‧‧‧租戶遷移者
307‧‧‧方法/步驟
22‧‧‧叢集
308‧‧‧方法/步驟
23‧‧‧叢集
309‧‧‧方法/步驟
201‧‧‧方法/步驟
310‧‧‧方法/步驟
202‧‧‧方法/步驟
311‧‧‧方法/步驟
203‧‧‧方法/步驟
41‧‧‧租戶遷移者
204‧‧‧方法/步驟
42‧‧‧叢集
205‧‧‧方法/步驟
43‧‧‧叢集
206‧‧‧方法/步驟
401‧‧‧方法/步驟
207‧‧‧方法/步驟
402‧‧‧方法/步驟
208‧‧‧方法/步驟
403‧‧‧方法/步驟
209‧‧‧方法/步驟
404‧‧‧方法/步驟
210‧‧‧方法/步驟
405‧‧‧方法/步驟
31‧‧‧租戶遷移者
406‧‧‧方法/步驟
32‧‧‧叢集
407‧‧‧方法/步驟
33‧‧‧叢集
408‧‧‧方法/步驟
301‧‧‧方法/步驟
409‧‧‧方法/步驟
410‧‧‧方法/步驟
411‧‧‧方法/步驟
500‧‧‧計算系統
501‧‧‧處理單元
502‧‧‧資料儲存
503‧‧‧系統匯流排
504‧‧‧電腦可讀取媒體
505‧‧‧使用者介面
506‧‧‧顯示器
507‧‧‧網路介面
為了要進一步地闡明前述者和本發明的實施例的其他的優點和特徵,本發明的實施例的更為特定的描述將藉由參照附加的圖式來呈現。理解到:此些圖式僅描繪本發明的典型的實施例,及因而並不被視為本發明的範疇之限制。將經由隨附圖式的使用且利用額外的特定性和細節來描述和解釋本發明,其中在該等圖式中:
第1圖係一方塊圖,該方塊圖示例說明一租戶遷移者(tenant migrator),該租戶遷移者被使用以跨越不同的叢集來移動服務。
第2圖示例說明:具有服務停止時間和要求DNS重新編程的服務遷移。
第3圖示例說明:具有服務停止時間(但保留服務的IP位址)的服務遷移。
第4圖示例說明:消除服務停止時間和保留服務的
IP位址的服務遷移。
第5圖示例說明:用於租戶遷移的適當的計算和網路環境的示例。
第1圖係示例說明一租戶遷移者11的方塊圖,該租戶遷移者被使用以跨越不同的叢集12、13來移動服務。租戶遷移者11連接至在資料中心中的所有的叢集。一旦資料中心維運者決定在叢集之間移動服務以(例如)平衡利用或滿足租戶需求,租戶遷移者11識別:用於服務的正確的目標叢集。目標叢集的選擇可基於數個因素(例如潛在性的目標叢集的利用、由服務所提出的目前的需求等等)。一旦目標叢集被識別出,租戶遷移者11藉由建立/刪除在原始的叢集和新的叢集上且在VM 14、15上的實例來移動服務。
租戶遷移者11對下列者進行控制:伴隨著停止時間來執行遷移、或是不伴隨著停止時間來執行遷移(如同由維運者所作出的選擇)。若新的IP位址被指定給服務,租戶遷移者11可請求對於DNS記錄的更新,或若服務維持相同的位址,該租戶遷移者可移動IP位址至新的叢集。在進行遷移期間,服務存在性相互之間為互斥的。舉例而言,當服務被遷移時,租戶遷移者11確保:從客戶的觀點,服務的二個實例從不二者一同地執行。
第2圖根據一實施例來示例說明一服務遷移,該服務遷移具有服務停止時間和要求DNS重新編程。租戶遷移者21已識別出:在叢集22上執行且要被移動至叢集23的服務。
舊的服務在叢集22上被指定一舊的IP位址。在步驟201中,租戶遷移者21識別和複製來自叢集22的服務工件(service artifact),例如代碼、位元、憑證、模型(model)等等。在步驟202中,使用此些工件,在叢集23上建立新的服務,但服務並未開始。
在步驟203中,租戶遷移者21導引新的叢集23以安排新的服務。在步驟204中,叢集23選擇適當的節點和建立VM以執行服務。在叢集23上的新的IP位址被指定給新的服務。叢集23在此時並未開始服務。租戶遷移者21在步驟206中等待服務被安排在新的叢集上,前述者例如在步驟205中被指示。
一旦已經安排了新的服務,租戶遷移者21在步驟207中停止舊的服務,然後在步驟208中開始新的服務。在步驟209中,從叢集22中刪除舊的服務,前述者開放出空間以供給在此叢集上執行而要進行擴展或要被新增的其他的服務。
租戶遷移者然後在步驟210中更新中央的DNS記錄,以使得用於服務的網域名稱指向在叢集23上的適當的新的IP位址。當停止舊的服務和開始新的服務時,可同時地利用步驟207和208來執行DNS記錄更新。
在步驟207中停止舊的服務與當服務對於使用者而言將不為可獲得使用的時候在步驟208中開始新的服務之間具有時間區間。此外,若使用者使用網域名稱來存取服務,則當DNS記錄從舊的IP位址被更新至用於服務的網域名稱的
新的IP位址,可具有額外的延遲。因為DNS支援跨越網際網路而分散的許多的本地端的快取,需要時間以更新此些快取中的所有者。一旦中央的DNS記錄被更新,則清除本地端的DNS快取,以及利用新的IP位址來更新本地端的DNS快取。直到此些更新發生,使用者將被導引至不再執行該服務的舊的叢集22,因而對於使用該服務的嘗試將會失敗。
第3圖根據一實施例來示例說明:具有服務停止時間(但保留服務的IP位址)的服務遷移。租戶遷移者31已識別出:在叢集32上執行且要被移動至叢集33的服務。舊的服務在叢集32上被指定一IP位址。在步驟301中,租戶遷移者31識別和複製來自叢集32的服務工件(例如代碼、位元、憑證、模型等等)。在步驟302中,使用此些工件,在叢集33上建立新的服務,但服務並未開始。
在步驟303中,租戶遷移者31導引新的叢集33以安排新的服務。在步驟304中,叢集33選擇適當的節點和建立VM以執行服務。叢集33在此時並未開始該服務。租戶遷移者31在步驟306中等待服務被安排在新的叢集上,前述者例如在步驟305中被指示。
一旦已經安排了新的服務,在步驟307中,租戶遷移者31停止舊的服務。在步驟308中,從叢集32中移除用於服務的IP位址。
在步驟309中,新增用於服務的IP位址至叢集33,及在步驟310中,開始在叢集33上的新的服務。
最後,在步驟311中,從叢集32中刪除舊的服務,
前述者開放出空間以供給在此叢集上執行而要進行擴展或要被新增的其他的服務。
因為用於服務的IP位址並未被改變,租戶遷移者並不需要更新DNS記錄(如同在第2圖示例說明的程序中所要求者)。從而,在步驟307中停止舊的服務與當服務對於使用者而言將不為可獲得使用的時候在步驟310中開始新的服務之間具有時間區間。然而,一旦新的服務開始,使用者依然可使用網域名稱來存取服務,而不需要等待任何的DNS記錄更新延遲。因為用於服務的網域名稱將依然與用於服務的相同的IP位址相關聯,本地端的DNS快取將為準確的。
第4圖根據一實施例來示例說明一服務遷移,該服務遷移消除服務停止時間和保留服務的IP位址。租戶遷移者41已識別出:在叢集42上執行且要被移動至叢集43的服務。舊的服務在叢集42上被指定一舊的IP位址。在步驟401中,租戶遷移者41識別和複製來自叢集42的服務工件(例如代碼、位元、憑證,模型等等)。在步驟402中,使用此些工件,在叢集43上建立新的服務,但服務並未開始。
在步驟403中,租戶遷移者41導引新的叢集43以安排新的服務。在步驟404中,叢集43選擇適當的節點和建立VM以執行服務。相同的IP位址被使用在用於該服務的叢集42和叢集43二者上。租戶遷移者41在步驟406中等待服務被安排在新的叢集上,前述者例如在步驟405中被指示。
一旦已經安排了新的服務,在步驟407中,租戶遷移者41停止舊的服務的部分。租戶遷移者41然後在步驟408
中開始新的服務的相對應的部分。該網路亦在步驟408中如所需要地被更新以將舊的服務和新的服務的開始的部分與負載平衡器和其他的路由元件相連接以允許該等負載平衡器和其他的路由元件指向跨越叢集42、43的開始的服務。並不像是在第2圖和第3圖中示例說明的程序,在步驟407中,僅有服務的一部分(例如一選擇的數目的VM或實例)停止,然後在步驟408中開始。租戶遷移者在步驟409中等待在新的叢集上開始的部分準備好要用以使用。
在步驟409中,一旦新的部分準備好,則租戶遷移者針對於服務的下一個部分重複(410)步驟407-409。此些步驟在迴圈410中繼續進行,直到所有的服務已經零碎地(piecemeal)從舊的叢集42被移動至新的叢集43為止。在一實施例中,在經過迴圈410的每一個循環(pass)期間,在一次中移動相當於(worth of)服務的一個更新域。在對於服務進行升級期間,租戶準備要失去升級域(upgrade domain),所以彼些區段(segment)可被使用以分配該服務以用於在叢集之間的遷移。
已經在迴圈410中移動服務的所有的部分之後,在步驟411中,從叢集42中刪除舊的服務。
因為用於服務的IP位址並未被改變,租戶遷移者並不需要更新DNS記錄(如同在示例說明於第2圖中的程序所完成者)。並無任何在叢集二者上停止服務的時間區間。從而,服務將總是對於使用者而言為可獲得使用的,而不伴隨著停止時間。
第5圖示例說明適當的計算和網路環境的示例,其中第1圖至第4圖的示例可被實施在該計算和網路環境上。舉例而言,可在一或更多個計算系統500上主控租戶遷移者11及/或VM 14、15。計算系統環境500僅為適當的計算環境的一示例,及無意於顯示:關於本發明的使用或功能的範疇的任何限制。舉例而言,可對於複數個此類的計算系統500進行分群以支援在資料中心中的叢集11、12。本發明與許多其他的一般性目的或特殊性目的計算系統環境或組態共同地操作。適合用於與本發明共同地使用的習知的計算系統、環境,及/或組態的示例包含(但不限於):個人電腦、伺服器電腦、手持裝置或膝上型裝置、平板裝置、多處理器系統、基於微處理器的系統、機上盒、可編程的消費性電子、網路PC、小型電腦、大型電腦、包含前述系統或裝置的任何者的分散式的計算環境,及類似者。
可利用電腦可執行指令(例如由電腦執行的程式模組)的一般性的上下文來描述本發明。一般而言,程式模組包含:執行特定的任務或實施特定的抽象資料型別的常式、程式、物件、元件、資料結構等等。本發明亦可被實施在分散式的計算環境中,其中在該分散式的計算環境中任務係由遠端處理裝置來執行,該等遠端處理裝置經由通訊網路來鏈結。在分散式的計算環境中,程式模組可位於包含記憶體儲存裝置的本地端及/或遠端電腦儲存媒體中。
參照第5圖,用於實施本發明的各種態樣的示例性系統可包含:具有電腦500的形式的一般性目的計算裝置。
元件可包含(但不限於):各種硬體元件(例如處理單元501)、資料儲存502(例如系統記憶體),及系統匯流排503,該系統匯流排將包含資料儲存502的各種系統元件耦接至處理單元501。系統匯流排503可為:數個類型的匯流排結構之任何者,該等匯流排結構包含:記憶體匯流排或記憶體控制器、周邊匯流排,及使用各種匯流排架構的任何者的本地端匯流排。藉由示例的方式,而非限制,此些架構包含:工業標準架構(Industry Standard Architecture,ISA)匯流排、微通道架構(Micro Channel Architecture,MCA)匯流排、增進的ISA(Enhanced ISA,EISA)匯流排、視訊電子標準協會(Video Electronics Standards Association,VESA)本地端匯流排,及周邊元件互連(PCI)匯流排(亦被習知為Mezzanine匯流排)。
電腦500典型地包含:各種電腦可讀取媒體504。電腦可讀取媒體504可為可由電腦500存取的任何的可獲得使用的媒體,及包含揮發性媒體和非揮發性媒體二者,及可移除媒體和不可移除媒體二者(但排除傳送的訊號)。藉由示例的方式,而非限制,電腦可讀取媒體504可包含:電腦儲存媒體和通訊媒體。電腦儲存媒體包含:利用用於資訊(例如電腦可讀取指令、資料結構、程式模組或其他的資料)的儲存的任何的方法或技術來實施的揮發性媒體和非揮發性媒體、可移除的媒體和不可移除的媒體。電腦儲存媒體包含(但不限於):RAM、ROM、EEPROM、快閃記憶體或其他的記憶體技術、CD-ROM、數位影音光碟(DVD)或其他的光碟儲存、磁性卡匣、磁帶、磁碟儲存或其他的磁性儲存裝置,或可被使用
以儲存所欲的資訊和可由電腦500存取的任何的其他的媒體。通訊媒體典型地體現電腦可讀取指令、資料結構、程式模組或在調變的資料訊號(例如載波或其他的傳送機制)中的其他的資料,及包含任何的資訊傳遞媒體。詞彙「調變的資料訊號(modulated data signal)」意指:具有一或更多個特性集的信號或以此方式改變以將資訊編碼在該訊號中。藉由示例的方式,而非限制,通訊媒體包含:有線媒體(例如有線網路、或直接-線路的連接),及無線媒體(例如聲音、RF、紅外線,及其他的無線媒體)。前述者中的任何者之組合亦可被包含在電腦可讀取媒體的範疇內。電腦可讀取媒體可被體現為電腦程式產品,例如儲存在電腦儲存媒體上的軟體。
資料儲存或系統記憶體502包含:具有揮發性記憶體及/或非揮發性記憶體(例如唯讀記憶體(ROM)和隨機存取記憶體(RAM))的形式的電腦儲存媒體。基本輸入/輸出系統(BIOS)(包含協助以在電腦500內的元件之間傳送資訊(例如在開機期間)的基本常式)典型地被儲存在ROM中。RAM典型地包含:可由處理單元501立即地存取及/或目前由處理單元501進行操作的資料及/或程式模組。藉由示例的方式,而非限制,資料儲存502保持有作業系統、應用程式,及其他的程式模組和程式資料。
資料儲存502亦可包含:其他的可移除的/不可移除的、揮發性/非揮發性電腦儲存媒體。僅藉由示例的方式,資料儲存502可為:從不可移除的、非揮發性的磁性媒體中讀取或寫入至不可移除的、非揮發性的磁性媒體的硬碟機、從
可移除的、非揮發性的磁碟中讀取或寫入至可移除的、非揮發性的磁碟的磁碟機,及從可移除的、非揮發性的光碟(例如CD ROM或其他的光學媒體)中讀取或寫入至可移除的、非揮發性的光碟的光碟機。可被使用在示例性作業環境中的其他的可移除的/不可移除的、揮發性/非揮發性的電腦儲存媒體包含(但不限於):磁帶卡匣、快閃記憶體卡、數位影音光碟、數位視訊磁帶、固態RAM、固態ROM,及類似者。前文所描述的和在第5圖中示例說明的驅動器和其相關聯的電腦儲存媒體提供:電腦可讀取指令、資料結構、程式模組和用於電腦500的其他的資料的儲存。
使用者可經由使用者介面505或其他的輸入裝置(例如平版電腦、電子數位轉換器、麥克風、鍵盤,及/或指向裝置(常被稱為滑鼠、軌跡球或觸控板)輸入指令和資訊。其他的輸入裝置可包含:搖桿、遊戲手把、衛星碟(satellite dish)、掃描器,或類似者。此外,聲音輸入、使用手或手指的手勢輸入,或其他的自然使用者介面(NUI)亦可與適當的輸入裝置(例如麥克風、攝像機、平板電腦、觸控板、手套,或其他的感測器)共同地使用。此些和其他的輸入裝置經常經由耦接至系統匯流排503的使用者輸入介面505連接至處理單元501,但可藉由其他的介面和匯流排結構(例如並列埠、遊戲埠或通用串列匯流排(USB))來連接。顯示器506或其他類型的顯示裝置亦藉由介面(例如視訊介面)連接至系統匯流排503。顯示器506亦可與觸控螢幕面板或類似者相整合。注意到:顯示器及/或觸控螢幕面板可實體地耦接至一外殼,計算裝置500
併入在該外殼中(例如在平板-類型的個人電腦中)。此外,電腦(例如計算裝置500)亦可包含:其他的周邊的輸出裝置(例如揚聲器和印表機),該等周邊的輸出裝置可經由輸出周邊介面或類似者來連接。
電腦500可操作於使用連結至一或更多個遠端裝置(例如遠端電腦)的邏輯連接507的網路環境或雲端-計算環境。遠端電腦可為個人電腦、伺服器、路由器、網路PC、同級裝置或其他的常見的網路節點,及典型地包含:於前文中相關於電腦500所描述的元件中的許多者或所有者。描繪在第5圖中的邏輯連接包含:一或更多個區域網路(LAN)和一或更多個廣域網路(WAN),但亦可包含:其他的網路。此些網路環境在辦公室、企業級(enterprise-wide)電腦網路、內部網路(intranet),及網際網路中為常見的。
當被使用在網路環境或雲端-計算環境中時,電腦500可經由網路介面或適配器507連接至公眾網路或私有網路。在一些實施例中,例如為數據機或用於透過網路建立通訊的其他的方式。數據機(該數據機可為內部的或外部的)可藉由網路介面507或其他的適當的機制連接至系統匯流排503。無線網路元件(例如包含介面和天線)可經由適當的裝置(例如存取點或同級電腦)耦接至網路。在網路環境中,相關於電腦500或其數個部分所描繪的程式模組可被儲存在遠端記憶體儲存裝置中。可理解到:所顯示的網路連接係示例性的和在電腦之間建立通訊鏈接的其他的方式可被使用。
雖然已利用特定於結構化特徵及/或方法步驟的語
言來描述申請標的,理解到:界定在附加的申請專利範圍中的申請標的並不必然地被限制為:前文所描述的特定的特徵或步驟。而是,前文所描述的特定的特徵和步驟被揭示以作為實施申請專利範圍的示例形式。
11‧‧‧租戶遷移者
12‧‧‧叢集
13‧‧‧叢集
14‧‧‧虛擬機器(VM)
15‧‧‧虛擬機器(VM)
Claims (20)
- 在資源係分散的一計算環境中,一種在該計算環境中於資源之間遷移服務的方法,該方法包含以下步驟:複製用於在該計算環境中於一第一叢集上執行的一服務的工件,該第一叢集包含:一第一群組的虛擬機器;使用該等工件,在該計算環境中於一第二叢集上建立該服務,該第二叢集包含:一第二群組的虛擬機器;停止在該第一叢集上的該服務;開始在該第二叢集上的該服務;及刪除在該第一叢集上的該服務。
- 如請求項1所述之方法,進一步包含以下步驟:指定一IP位址給在該第二叢集上的該服務;及更新一網路位置服務以將該服務與在該第二叢集上的該IP位址相關聯。
- 如請求項2所述之方法,其中該網路位置服務係一網域名稱系統(DNS)。
- 如請求項1所述之方法,進一步包含以下步驟:在停止在該第一叢集上的該服務之後,從該第一叢集移除與該服務相關聯的一IP位址;及指定該IP位址給在該第二叢集上的該服務。
- 如請求項1所述之方法,進一步包含以下步驟:在該第二叢集上安排該服務,以使得該服務準備要執行,但並未開始。
- 如請求項1所述之方法,其中該等複製的工件包含:代碼、憑證,及模型中的一或更多個。
- 如請求項1所述之方法,其中該第一叢集和該第二叢集位於一資料中心之內。
- 如請求項1所述之方法,其中一租戶遷移者執行該複製步驟、該建立步驟、該停止步驟、該開始步驟,及該刪除步驟。
- 一種電腦實施方法,包含以下步驟:複製用於在一計算環境中於一第一叢集上執行的一服務的工件,該第一叢集包含:一第一群組的虛擬機器;使用該等工件,在該計算環境中於一第二叢集上建立該服務,該第二叢集包含:一第二群組的虛擬機器;停止在該第一叢集上的該服務的一選擇的部分;開始在該第二叢集上的該服務的一相對應的選擇的部分; 執行該停止步驟和該開始步驟二次或更多次,直到該選擇的服務的所有的部分已經在該第一叢集上停止和該服務的所有的相對應的部分已經在該第二叢集上開始;及刪除在該第一叢集上的該服務。
- 如請求項9所述之方法,進一步包含以下步驟:指定一IP位址給該服務;及同時地在使用該IP位址的該第一叢集和該第二叢集二者上支援該服務。
- 如請求項9所述之方法,進一步包含以下步驟:在該第二叢集上建立該服務之後,安排該服務以使得該服務準備要在該第二叢集上執行,但並未開始。
- 如請求項9所述之方法,其中該等複製工件包含:代碼、憑證,及模型中的一或更多個。
- 如請求項9所述之方法,其中一租戶遷移者對下列者進行管理:停止該選擇的部分和開始該相對應的選擇的部分。
- 如請求項9所述之方法,其中該第一叢集和該第二叢集位於一資料中心之內。
- 一種用以實施用於在一資料中心內從一第一叢集遷移服務至一第二叢集的一方法的電腦程式產品,該電腦程式產品包含:一或更多個電腦可讀取儲存媒體,該等電腦可讀取儲存媒體具有儲存於其上的電腦可執行指令,該等電腦可執行指令當由一計算系統的一或更多個處理器執行時,使得該計算系統執行該方法,該方法包含以下步驟:複製用於在該第一叢集上執行的一服務的工件;在該第二叢集上建立該服務;停止在該第一叢集上的該服務的一選擇的部分;開始在該第二叢集上的該服務的一相對應的選擇的部分;及刪除在該第一叢集上的該服務。
- 如請求項15所述之電腦程式產品,進一步包含:執行該停止步驟和該開始步驟二次或更多次,直到該選擇的服務的所有的部分已經在該第一叢集上停止和該服務的所有的相對應的部分已經在該第二叢集上開始為止。
- 如請求項15所述之電腦程式產品,其中該選擇的部分和該相對應的選擇的部分對應於該整個服務,以使得該整個服務在該第一叢集上停止和該整個服務在該第二叢集上開始。
- 如請求項17所述之電腦程式產品,進一步包含:指定一IP位址給在該第二叢集上的該服務;及 更新一網域名稱系統(DNS)以將該服務與在該第二叢集上的該IP位址相關聯。
- 如請求項17所述之電腦程式產品,進一步包含:在停止在該第一叢集上的該服務之後,從該第一叢集移除與該服務相關聯的一IP位址;及指定該IP位址給在該第二叢集上的該服務。
- 如請求項15所述之電腦程式產品,進一步包含:指定一IP位址給該服務;及同時地在使用該IP位址的該第一叢集和該第二叢集二者上支援該服務。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/737,745 US9338254B2 (en) | 2013-01-09 | 2013-01-09 | Service migration across cluster boundaries |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201434300A true TW201434300A (zh) | 2014-09-01 |
Family
ID=50031563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102149336A TW201434300A (zh) | 2013-01-09 | 2013-12-31 | 跨越叢集邊界的服務遷移 |
Country Status (8)
Country | Link |
---|---|
US (2) | US9338254B2 (zh) |
EP (1) | EP2944070B1 (zh) |
JP (1) | JP6739938B2 (zh) |
CN (1) | CN105052111B (zh) |
BR (1) | BR112015016081B1 (zh) |
RU (1) | RU2653292C2 (zh) |
TW (1) | TW201434300A (zh) |
WO (1) | WO2014110062A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9769032B1 (en) * | 2015-03-20 | 2017-09-19 | Databricks Inc. | Cluster instance management system |
JP2017004120A (ja) * | 2015-06-05 | 2017-01-05 | キヤノン株式会社 | システム、サーバーシステム、方法、およびプログラム |
CN107133087A (zh) | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 一种资源调度方法与设备 |
US10182033B1 (en) * | 2016-09-19 | 2019-01-15 | Amazon Technologies, Inc. | Integration of service scaling and service discovery systems |
US10135916B1 (en) | 2016-09-19 | 2018-11-20 | Amazon Technologies, Inc. | Integration of service scaling and external health checking systems |
US11405355B2 (en) * | 2018-07-12 | 2022-08-02 | Nippon Telegraph And Telephone Corporation | Identification device, identification method, and identification program |
US10733029B2 (en) * | 2018-07-31 | 2020-08-04 | Hewlett Packard Enterprise Development Lp | Movement of services across clusters |
CN111130820B (zh) * | 2018-10-30 | 2023-05-30 | 阿里巴巴集团控股有限公司 | 集群管理方法、装置及计算机系统 |
US11456967B2 (en) * | 2019-03-04 | 2022-09-27 | Arris Enterprises Llc | System and method for increasing flexibility and high availability in remote network devices |
US11281551B2 (en) | 2019-04-05 | 2022-03-22 | Hewlett Packard Enterprise Development Lp | Enhanced configuration management of data processing clusters |
US11184794B2 (en) * | 2019-05-22 | 2021-11-23 | Microsoft Technology Licensing, Llc | Systems and methods for distribution of application logic in digital networks |
CN110333986B (zh) * | 2019-06-19 | 2023-12-29 | 上海二三四五网络科技有限公司 | 一种保障redis集群可用性的方法 |
US11347562B2 (en) * | 2019-07-09 | 2022-05-31 | Hewlett Packard Enterprise Development Lp | Management of dependencies between clusters in a computing environment |
CN112689015B (zh) * | 2020-12-24 | 2023-06-06 | 北京顺达同行科技有限公司 | 跨集群服务发现实现集群迁移的方法、系统及计算机设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155462B1 (en) * | 2002-02-01 | 2006-12-26 | Microsoft Corporation | Method and apparatus enabling migration of clients to a specific version of a server-hosted application, where multiple software versions of the server-hosted application are installed on a network |
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US7788665B2 (en) * | 2006-02-28 | 2010-08-31 | Microsoft Corporation | Migrating a virtual machine that owns a resource such as a hardware device |
US7954138B2 (en) * | 2007-08-16 | 2011-05-31 | International Business Machines Corporation | Method and system for multiplexing multiple level security server applications on the same internet address and port |
US8117495B2 (en) | 2007-11-26 | 2012-02-14 | Stratus Technologies Bermuda Ltd | Systems and methods of high availability cluster environment failover protection |
US9208188B2 (en) | 2009-02-17 | 2015-12-08 | Microsoft Technology Licensing, Llc | Tenant management of a hosted multi-tenant application |
US8751627B2 (en) * | 2009-05-05 | 2014-06-10 | Accenture Global Services Limited | Method and system for application migration in a cloud |
US8924534B2 (en) | 2009-10-27 | 2014-12-30 | Vmware, Inc. | Resource optimization and monitoring in virtualized infrastructure |
US20120054624A1 (en) | 2010-08-27 | 2012-03-01 | Owens Jr Kenneth Robert | Systems and methods for a multi-tenant system providing virtual data centers in a cloud configuration |
CN103026337B (zh) * | 2010-05-26 | 2016-02-10 | 泰必高软件公司 | 配给组件的提取和重构 |
US8380667B2 (en) | 2010-08-11 | 2013-02-19 | Sap Ag | Selectively upgrading clients in a multi-tenant computing system |
US9069620B2 (en) * | 2010-10-20 | 2015-06-30 | Microsoft Technology Licensing, Llc | Creating and deploying service-ready virtual hard disks |
US8719627B2 (en) * | 2011-05-20 | 2014-05-06 | Microsoft Corporation | Cross-cloud computing for capacity management and disaster recovery |
IL214312A (en) | 2011-07-27 | 2016-06-30 | Verint Systems Ltd | A system and method for managing information lifecycle in investigation files |
-
2013
- 2013-01-09 US US13/737,745 patent/US9338254B2/en active Active
- 2013-12-31 TW TW102149336A patent/TW201434300A/zh unknown
-
2014
- 2014-01-08 EP EP14702344.4A patent/EP2944070B1/en active Active
- 2014-01-08 WO PCT/US2014/010571 patent/WO2014110062A1/en active Application Filing
- 2014-01-08 JP JP2015552731A patent/JP6739938B2/ja active Active
- 2014-01-08 CN CN201480004300.5A patent/CN105052111B/zh active Active
- 2014-01-08 RU RU2015127526A patent/RU2653292C2/ru active
- 2014-01-08 BR BR112015016081-6A patent/BR112015016081B1/pt active IP Right Grant
-
2016
- 2016-04-08 US US15/094,519 patent/US10116735B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140195687A1 (en) | 2014-07-10 |
EP2944070B1 (en) | 2019-07-31 |
EP2944070A1 (en) | 2015-11-18 |
BR112015016081A2 (pt) | 2017-07-11 |
RU2653292C2 (ru) | 2018-05-07 |
BR112015016081A8 (pt) | 2019-10-22 |
BR112015016081B1 (pt) | 2023-03-28 |
RU2015127526A (ru) | 2017-01-13 |
US20160294930A1 (en) | 2016-10-06 |
WO2014110062A1 (en) | 2014-07-17 |
CN105052111B (zh) | 2019-08-16 |
JP6739938B2 (ja) | 2020-08-12 |
US9338254B2 (en) | 2016-05-10 |
JP2016508349A (ja) | 2016-03-17 |
US10116735B2 (en) | 2018-10-30 |
CN105052111A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201434300A (zh) | 跨越叢集邊界的服務遷移 | |
KR102628362B1 (ko) | 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션 | |
CN107580083B (zh) | 一种容器ip地址分配的方法和系统 | |
US9760395B2 (en) | Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates | |
US9940210B2 (en) | Healing cloud services during upgrades | |
US10185549B2 (en) | Updating live system with static changes | |
CN113196237A (zh) | 计算系统中的容器迁移 | |
US9405579B2 (en) | Seamless extension of local computing power | |
US20140007092A1 (en) | Automatic transfer of workload configuration | |
US20140172954A1 (en) | System and method for private cloud introduction and implementation | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
Marshall | Mastering VMware VSphere 6 | |
US20130212281A1 (en) | Virtual Machine Splitting Method and System | |
WO2020131480A1 (en) | Methods, apparatuses and systems for configuring a network environment for a server | |
US9485308B2 (en) | Zero copy volume reconstruction | |
US9459896B2 (en) | Virtual machine merging method and system | |
CN115485677A (zh) | 在分布式数据存储环境中的安全数据复制 | |
US20200125383A1 (en) | Enhanced data storage and versioning of virtual nodes in a data processing environment | |
JP5432963B2 (ja) | 計算機設備管理装置、ネットワーク接続情報管理装置、管理方法およびプログラム | |
Aziz et al. | Using Cloud Infrastructure as a Code IaC to Set Up Web Applications. | |
CN114816725A (zh) | 使用操作数据来管理组合系统的系统和方法 | |
Kaufman et al. | Implementing High Availability |