JP6739938B2 - クラスタ境界にわたるサービス移行 - Google Patents

クラスタ境界にわたるサービス移行 Download PDF

Info

Publication number
JP6739938B2
JP6739938B2 JP2015552731A JP2015552731A JP6739938B2 JP 6739938 B2 JP6739938 B2 JP 6739938B2 JP 2015552731 A JP2015552731 A JP 2015552731A JP 2015552731 A JP2015552731 A JP 2015552731A JP 6739938 B2 JP6739938 B2 JP 6739938B2
Authority
JP
Japan
Prior art keywords
service
cluster
instance
portions
activated state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015552731A
Other languages
English (en)
Other versions
JP2016508349A (ja
JP2016508349A5 (ja
Inventor
レワスカー,スシャント・プラモド
アザド,ムハマド・ウマル
サイド,サード
アルミダ,クリストファー・ポール
マニ,アジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2016508349A publication Critical patent/JP2016508349A/ja
Publication of JP2016508349A5 publication Critical patent/JP2016508349A5/ja
Application granted granted Critical
Publication of JP6739938B2 publication Critical patent/JP6739938B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network 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

Description

従来技術
大規模なデータセンタは、通例、ウェブ・サーバやデータベース・サーバ等のようなソフトウェア・パッケージの集合を起動させるハードウェア・マシンについて組織したクラスタを備える。故障耐性および管理上の理由により、データセンタ内のマシンは、通例、複数のクラスタに分割される。複数のクラスタは、ソフトウェア・アプリケーションのリソースを調整するフレームワークによって独立して監視および管理される。一実施形態では、フレームワークは、例えば、WindowsAzure(登録商標)のファブリック・コントローラとしてもよい。当該ファブリック・コントローラは、データセンタをメイクアップする仮想マシン(VM)および物理サーバを提供、サポート、監視および命令を行う。
既存のデータセンタでは、各テナントは、その全ライフサイクルの間、単一のクラスタに配備され、テナントの配備が単一のフレームワークによって管理されるのを可能にする。しなしながら、単一のクラスタ内ではマシンの拡張性が制限されるため、上記構成はテナントの増設を制限する可能性がある。テナントおよびクラスタ間の密接な結合は、そのクラスタに配備するテナントの潜在的な将来の要件を満たすレベルで、データセンタの運用業者がクラスタのキャパシティを維持することを要する。このことは、しばしば結果として、見込まれる将来のニーズの予測時に、現在の低い利用レートでクラスタを動作させることになる。過剰なキャパシティが維持される場合であっても、このことは、テナントの将来のニーズをサポートすることになるという可能性を向上させるに過ぎない。テナント・スケール要求が、予約したキャパシティに制限されることになるという保証はなく、それ故、必要とされるキャパシティをテナントが入手できない場合がある。
サービスを1つのクラスタに制限することにより、また、当該サービスの故障について単一ポイントが生成される。当該クラスタを制御するフレームワークが故障した場合は、全クラスタが故障することになり、また、クラスタ上でサポートされる全サービスが利用不可能ということになる。
本摘要は、以下の詳細な説明で更に説明する簡略化した形態での概念の選択を導入するために設けたものである。本摘要は、特許請求する主題のキーとなる特徴点または必須の特徴点を特定することを意図せず、また、特許請求する主題の範囲を限定するために用いることを意図するものでもない。
本発明の実施形態は、テナントのサービスが、休止時間(downtime)を有するか、または有しないかのいずれかによって複数のクラスタ間を移動することを可能にする。サービスは、クラスタ上の特定のIPアドレスと関連付けられる。ユーザは、ドメイン・ネーム・システム(DNS)または他のネットワーク位置サービスによってIPアドレスに変換されるドメイン名を用いて、サービスにアクセスする。サービスのIPアドレスは、サービスがクラスタ間で移動するときに、変更してもよいし、または変更しなくてもよい。
サービスは、新規のクラスタにおいてサービスの新規インスタンスをステージングし、新規のクラスタが準備されるのを待機し、次いで、元のインスタンスを停止し、そして、新規クラスタにサービスの新規の配備に対応するIPアドレスをサービスのDNS名にポイントさせることによって、休止時間と共に移行することができる。
代替として、サービスは、ダウンタイムと共に新規クラスタに移行して、元のIPアドレスを維持してもよい。このことは、DNSおよび関連する遅延についての再プログラミングする必要性を回避することになる一方、DNSのキャッシュが再配置される。
サービスを移行することの更なる代替として、サービスを1つ1つ移動することによって、休止時間なしで当該移行を実行する。その結果、サービスは、移行を通じてクラスタの一方または双方で常に起動している。
本発明の実施形態についての上記および他の利点および特徴点を更に明確にするために、本発明の実施形態についてより特定した説明を添付の図面を参照しながら行う。これらの図面は本発明の典型的な実施形態を描いたに過ぎず、従って本発明の範囲を限定するものとみなすべきではないことが認められる。本発明は、添付の図面を用いることにより、付加的な特性や詳細によって記載および説明されることになる。
図1は、異なるクラスタを横断してサービスを移すために用いるテナント移行器について示すブロック図である。 図2は、サービス休止時間を有し、DNS再プログラミングを必要とするサービス移行について示す。 図3は、サービス休止時間を有するものの、サービスのIPアドレスを維持するサービス移行について示す。 図4は、サービス休止時間を排除し、サービスのIPアドレスを維持するサービス移行について示す。 図5は、テナント移行のための適切なコンピューティング環境およびネットワーク環境の実施例について示す。
図1は、テナント移行器11を示すブロック図である。テナント移行器11は、異なるクラスタ12,13を横断してサービスを移すために使用される。テナント移行器11は、データセンタの全クラスタに接続する。例えば、利用をバランスするために、またはテナントの需要に応じるために、データセンタの運用業者がクラスタ間でサービスを移すと一旦判断すると、テナント移行器11は、当該サービスについて正しい宛先クラスタを識別する。宛先クラスタの選択は、潜在的な宛先クラスタの利用、サービスによって生じる現在の需要等のような要因に基づく。一旦宛先クラスタが識別されると、テナント移行器11は、元のクラスタおよび新規のクラスタ上のVM14,15上のインスタンスを生成/削除することによってサービスを移す。
テナント移行器11は、移行が、運用業者によって選択された休止時間を用いてまたはこれを用いずに実行するかについて制御する。テナント移行器11は、新規IPアドレスがサービスに割り当てられる場合、DNSレコードに更新を要求することができる。または、テナント移行器11は、サービスが同一のアドレスを維持する場合、IPアドレスを新規クラスタに移すことができる。サービスの存在は、移行の間は相互に排他的である。例えば、サービスが移行すると、テナント移行器は、サービスの2つのインスタンスが、顧客の視点から両方が起動しているということはないことを確実にする。
図2は、一実施形態により、サービス休止時間を有し、DNS再プログラムを要求するサービス移行について示す。テナント移行器21は、クラスタ23へ移されることになる、クラスタ22上で起動しているサービスを識別している。旧サービスには、クラスタ22上で旧IPアドレスが割り当てられている。ステップ201では、テナント移行器21は、クラスタ22からコード、ビット、証明書、モデル等のようなサービス・アーティファクトを識別し、またコピーする。これらアーティファクトを用いて、ステップ202では、新規サービスがクラスタ23上で生成されるものの、サービスは開始されない。
テナント移行器21は、ステップ203で、新規サービスをステージングするように新規クラスタ23に指示する。クラスタ23は、ステップ204で、適切なノードを選択し、サービスを起動するVMをセットアップする。クラスタ23上の新規IPアドレスは、新規サービスに割り当てられる。クラスタ23は、この時点ではサービスを開始しない。テナント移行器21は、ステップ206において、サービスが新規クラスタ上でステージングされることになるのを待機する。これは、ステップ205で例えば指し示される。
一旦新規サービスがステージングされると、テナント移行器21は、ステップ207で旧サービスを停止し、次いで、ステップ208で、新規サービスを開始する。旧サービスは、ステップ209で、クラスタ22から削除される。そして、拡張し、または追加されるために、当該クラスタ上で起動する他のサービスについてのルームをオープンする。
テナント移行器は次いで、ステップ210で、中央のDNSレコードを更新する。その結果、サービスのためのドメイン名は適切な新規IPアドレスにポイントすることができる。DNSレコードの更新は、ステップ207,208で同時に実行してもよい一方で、旧サービスが停止され、新規サービスが開始される。
ステップ207での旧サービスの停止とステップ208での新規サービスの開始の間には、サービスがユーザには利用可能とはならない期間がある。また、ユーザがドメイン名を用いてサービスにアクセスする場合は追加の遅延があり、その間で、DNSレコードが、サービスのドメイン名について旧IPアドレスから新規IPアドレスに更新される。DNSがインターネット全体に配布される多くのローカル・キャッシュをサポートするので、これらキャッシュの全てを更新するのに時間を要する。一旦、中央のDNSレコードが更新されると、ローカルDNSキャッシュはクリアされ、新規IPアドレスによって更新される。これら更新が発生するまで、ユーザは旧クラスタ22に向けられる。旧クラスタ22はもはやサービスを起動しておらず、それ故、サービスを使用する試行は失敗することになる。
図3は、一実施形態により、サービス休止時間を有するが、サービスのIPアドレスを維持するサービス移行について示す。テナント移行器31は、クラスタ33へ移されることになる、クラスタ32上で起動しているサービスを識別している。旧サービスには、クラスタ32上でIPアドレスが割り当てられている。ステップ301では、テナント移行器31は、クラスタ22からコード、ビット、証明書、モデル等のようなサービス・アーティファクトを識別し、またコピーする。これらアーティファクトを用いて、ステップ302では、新規サービスがクラスタ33上で生成されるものの、サービスは開始されない。
テナント移行器31は、ステップ303で、新規サービスをステージングするように新規クラスタ33に指示する。クラスタ33は、ステップ304で、適切なノードを選択し、サービスを起動するVMをセットアップする。クラスタ33は、この時点ではサービスを開始しない。テナント移行器31は、ステップ306において、サービスが新規クラスタ上でステージングされるのを待機する。これは、ステップ205で例えば指し示される。
一旦新規サービスがステージングされると、テナント移行器31は、ステップ307で旧サービスを停止する。ステップ308では、サービスのためのIPアドレスは、クラスタ32から削除される。
サービスのためのIPアドレスはス、テップ309でクラスタ33に追加される。そして、ステップ310で、クラスタ33上の新規サービスが開始される。
最後に、旧サービスは、ステップ311で、クラスタ32から削除される。そして、拡張し、または追加されるために、当該クラスタ上で起動する他のサービスについてのルームをオープンする。
サービスのIPアドレスは変更されないので、テナント移行器は、図2に示したプロセスで必要とされたDNSレコードを更新する必要はない。したがって、ステップ307で旧サービスを停止するのと、ステップ310で新規サービスが開始する間には、サービスがユーザに利用可能でない期間がある。しかしながら、一旦新規サービスが開始されると、ユーザは、如何なるDNSレコードの更新の遅延を待機することなく、ドメイン名を用いてサービスに尚もアクセスすることができる。ローカルDNSキャッシュは正確である。何故ならば、サービスのドメイン名は、サービスの同一IPアドレスに尚も関連付けられることになるからである。
図4は、一実施形態により、サービス休止時間を排除し、サービスのIPアドレスを維持するサービス移行について示す。テナント移行器41は、クラスタ43へ移されることになる、クラスタ42上で起動しているサービスを識別している。旧サービスには、クラスタ42上で旧IPアドレスが割り当てられている。ステップ401では、テナント移行器41は、クラスタ42からコード、ビット、証明書、モデル等のようなサービス・アーティファクトを識別し、またコピーする。これらアーティファクトを用いて、ステップ402では、新規サービスがクラスタ43上で生成されるものの、サービスは開始されない。
テナント移行器41は、ステップ403で、新規サービスをステージングするように新規クラスタ43に指示する。クラスタ43は、ステップ404で、適切なノードを選択し、サービスを起動するVMをセットアップする。同一のIPアドレスがサービスに対しクラスタ42およびクラスタ43の両方上で使用される。テナント移行器41は、ステップ406において、サービスが新規クラスタ上でステージングされるのを待機する。これは、ステップ405で例えば指し示される
一旦新規サービスがステージングされると、テナント移行器41は、ステップ407で旧サービスの一部を停止する。テナント移行器41は、次いで、ステップ408で、新規サービスの対応する一部を開始する。ネットワークは、ステップ408で、必要に応じて更新され、旧サービスおよび新規サービスの開始済みの部分を、負荷バランサおよび他のルーティング・コンポーネントと同様に接続して、それらがクラスタ42,43にわたり開始済みのサービスにポイントするのを許可する。図2および図3で示したプロセスとは異なり、サービスの一部のみ(例えば、選択された数のVMまたはインスタンス)が、ステップ407で停止され、次いで、ステップ408で開始される。テナント移行器は、ステップ409で、新規クラスタ上で開始された部分が使用のために準備されるのを待機する。
ステップ409で一旦新規部分の準備がされると、テナント移行器は、ステップ410でサービスの次の部分のためにステップ407から409を繰り返す。旧クラスタ42から新規クラスタ43まで断片的にサービスの全部が移されるまで、ステップ410でこれらステップを継続する。一実施形態では、サービスに足る(worth)1つの更新ドメインは、ループ410を通じてそれぞれ通される間に、一度に移される。テナントは、サービスへの更新の間、更新ドメインを失う用意があり、つまり、これらセグメントは、内部クラスタ移行のためにサービスを割り当てるのに使用することができる。
サービスの全ての部分がループ410に移された後に、ステップ411で、旧サービスはクラスタ42から削除される。
サービスのためのIPアドレスが変更されなかったので、テナント移行器は、図2に図示したプロセスにおいて行われたDNSレコードを更新する必要はない。サービスが両方のクラスタ上で停止される期間はない。したがって、サービスは、常に休止時間なしでユーザに利用可能となる。
図5は、図1から図4の実施例を実施することができる適切なコンピューティング環境およびネットワーク環境の例を示す。例えば、テナント移行器11および/またはVM14,15は、1つ以上のコンピュータ・システム500上にホストされることができる。コンピューティング・システム環境500は、適切なコンピューティング環境の1つの例にすぎず、本発明の使用または機能の範囲に関し、如何なる限定も意図するものではない。このような複数のコンピューティング・システム500は、例えばデータセンタ内でクラスタ11,12をサポートするようにグループ化してもよい。本発明は、多数の他の汎用目的または特定目的のコンピューティング・システム環境または構成と共に動作可能である。公知のコンピューティング・システム、環境、および/または本発明での使用に適切な構成の例は、これに限定されないが、以下のものを含む。即ち、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド若しくはラップトップ・デバイス、タブレット・デバイス、マイクロプロセッサ・システム、マイクロプロセッサ・ベース・システム、セット・トップ・ボックス、プログラム可能コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などである。
本発明は、コンピュータによって実行される、プログラム・モジュールのようなコンピュータ実行可能命令の一般的な文脈で説明することができる。一般的に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。そして、特定のタスクを実行するか、または特定の抽象データ型を実装する。本発明はまた、リモートの処理デバイスによってタスクが実行される分散コンピューティング環境で実施してもよい。リモートの処理デバイスは通信ネットワークを通じてリンクされる。分散コンピューティング環境では、プログラム・モジュールは、ローカルに配置され、および/またはメモリ・ストレージ・デバイスを含むリモート・コンピュータのストレージ媒体に配置してもよい。
図5を参照すると、本発明の様々な態様を実施するための例示のシステムがコンピュータ500の形態の汎用コンピュータを含むことができる。コンポーネントは、これに限定されないが、処理ユニット501のような様々なハードウェア・コンポーネント、システム・メモリのようなデータ・ストレージ502、およびシステム・バス503を含む。システム・バス503は、データ・ストレージ502を含む様々なシステム・コンポーネントを処理ユニット501に結合する。システム・バス503は、様々な種別のバス構造の何れのものとしてよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および様々な何れのバス・アーキテクチャを用いたローカル・バスを含む。例えば、これに限定されないが、このようなアーキテクチャは、IndustryStandard Architecture(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、EnhancedISA(EISA)バス、Video ElectronicsStandards Association(VESA)ローカル・バスおよびPeripheralComponent Interconnect(PCI)バス(別名Mezzanineバス)を含む。
コンピュータ500は通例、様々なコンピュータ可読媒体504を含む。コンピュータ可読媒体504は、コンピュータ500によってアクセスすることができる如何なる利用可能な媒体とすることができ、揮発性および不揮発性媒体、並びに着脱可能および着脱不能媒体の両方含むが、伝達された信号を除去する。例えば、これに限定されないが、コンピュータ可読媒体504は、コンピュータ・ストレージ媒体および通信媒体を備えてもよい。コンピュータ・ストレージ媒体は、如何なる方法でも実装される、または、コンピュータ可読命令、データ構造およびプログラム・モジュールなどのような、情報を記憶するための技術で実施される、揮発性および不揮発性な媒体または着脱可能および着脱不能な媒体を含む。コンピュータ・ストレージ媒体は、これに限定されないが、RAM、ROM、EEPROM、フラッシュメモリ、若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、若しくは他の光学的ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気ストレージ・デバイス、または所望の情報を格納するのに使用することができ、コンピュータ500によってアクセスすることができる如何なる他の媒体を含む。通信媒体は通例、コンピュータ可読命令、データ構造、プログラム・モジュール、または搬送波若しくは他の運搬機構のような変調データ信号内の他のデータを例示し、如何なる情報配信媒体をも含む。「変調データ信号」なる用語は、情報を信号にコード化する手法で設定または変更される信号特性の1つ以上を有する信号のことを意味する。例えば、これに限定されないが、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、および音響、RF、赤外線および他の無線媒体のような無線媒体を含む。上記の何れの組み合わせも、コンピュータ可読媒体の範囲内に含めてもよい。コンピュータ可読媒体は、コンピュータ・ストレージ媒体に格納されるソフトウェアのようなコンピュータ・プログラム製品として実施することができる。
データ・ストレージまたはシステム・メモリ502は、読出し専用メモリ(ROM)およびランダム・アクセス・メモリ(RAM)のような、揮発性および/または不揮発性メモリの形態のコンピュータ・ストレージ媒体を含む。基本入出力システム(BIOS)は、コンピュータ500内の構成要素間で、スタート・アップの間のように情報を転送するのを補助する基本ルーチンを収容し、通例はROM内に格納される。RAMは通例、データおよび/またはプログラム・モジュールを収容し、処理ユニット501に即時にアクセス可能であり、および/または処理ユニット501によって現在動作中である。例えば、これに限定されないが、データ・ストレージ502は、オペレーティング・システム、アプリケーション・プログラム、並びに他のプログラム・モジュールおよびプログラムデータを保持する。
データ・ストレージ502はまた、他の着脱可能/着脱不能、揮発性/不揮発性のコンピュータ・ストレージ媒体を含んでもよい。例示の目的のみでは、データ・ストレージ502は、着脱不能で不揮発性の磁気ディスクとの間で読み書きするハード・ディスク・ドライブ、着脱可能で不揮発性の磁気ディスクとの間で読み書きする磁気ディスク・ドライブ、CD−ROMまたは他の光学媒体のような着脱可能で不揮発性の光学ディスクとの間で読み書きする光学ディスク・ドライブとしてもよい。例示の動作環境で使用することができる他の着脱可能/着脱不能で、揮発性/不揮発性のコンピュータ・ストレージ媒体は、これに限定されないが、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、ソリッド・ステートRAM、およびソリッド・ステートROMなどを含む。先に説明し、図5に例示したドライブおよびそれらに付随するコンピュータ・ストレージ媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、および他のデータについての記憶をコンピュータ500に供する。
ユーザは、ユーザ・インタフェース505、或いは、タブレット・電子デジタイザ、マイクロホン、キーボード、および/または一般にマウス、トラックボール若しくはタッチパッド称されるポインティング・デバイスのような他の入力デバイスを通じて命令または情報を入力することができる。他の入力デバイスは、ジョイスティック、ゲーム・パッド、衛星アンテナ、スキャナ等を含んでもよい。加えて、音声入力、手若しくは指を用いたジェスチャ入力、または他のナチュラル・ユーザ・インタフェース(NUI)がまた、マイクロホン、カメラ、タブレット、タッチパッド、グローブ、若しくは他のセンサのような適切な入力デバイスと共に使用することができる。これらの、そして他の入力デバイスは、しばしば、システム・バス503に結合されるユーザ入力インタフェース505を通じて処理ユニット501に接続されるが、パラレル・ポート、ゲーム・ポートまたは汎用シリアル・バス(USB)のような他のインタフェースおよびバス構造によって接続されてもよい。モニタ506または他の種別の表示装置がまた、ビデオ・インタフェースのようなインタフェースを介して、システム・バス503に接続される。モニタ506はまた、タッチ・スクリーン・パネル等と統合されてもよい。なお、モニタおよび/またはタッチ・スクリーン・パネルは物理的にハウジングに結合することができ、コンピューティング・デバイス500はタブレット型のパーソナル・コンピュータに組み込まれる。加えて、コンピューティング・デバイス500のようなコンピュータは、スピーカおよびプリンタのような他の周辺機器出力デバイスも含んでよく、出力周辺機器インタフェース等を通じて接続してもよい。
コンピュータ500は、リモート・コンピュータのような1つ以上のリモート・デバイスへの論理接続507を用いて、ネットワーク化された環境、即ちクラウド・コンピューティング環境で動作してもよい。リモート・コンピュータは、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイス、または他の一般のネットワーク・ノードとしてもよく、通例は、コンピュータ500と関して先に説明した構成要素の多数または全てを含む。図5に説明した論理接続は、1つ以上のローカル・エリア・ネットワーク(LAN)および1つ以上のワイド・エリア・ネットワーク(WAN)を含むが、更に他のネットワークを含んでもよい。このようなネットワーク環境は、オフィス、エンタプライズ・ワイド・コンピュータ・ネットワーク、イントラネット、およびインターネットにおいてはよくある。
ネットワーク化された環境、即ちクラウド・コンピューティング環境において用いられる場合は、コンピュータ500は、ネットワーク・インターフェースまたはアダプタ507を通じてパブリック・ネットワークまたはプライベート・ネットワークに接続することができる。実施形態の中には、モデム、またはネットワークにわたり通信を確立のための他の手段とするものもある。モデムは、内蔵しても外付けでもよく、ネットワーク・インターフェース507または他の適切な機構を介してシステム・バス503に接続することができる。インタフェースおよびアンテナを備えるような無線ネットワーク・コンポーネントは、ネットワークへのアクセス・ポイントまたはピア・コンピュータのような適切なデバイスを通じて結合することができる。ネットワーク化された環境では、コンピュータ500またはその部分と関して記述されるプログラム・モジュールは、リモートのメモリ・ストレージ・デバイス内に格納することができる。示されるネットワーク接続は例示的な者で有り、コンピュータ間の通信リンクを確立する他の手段を用いてもよいことを認めることができる。
本主題について、構造上の特徴および/または方法論的な行為に特化した言語で記載してきたが、添付した請求の範囲において定める主題が先に説明した特定の特徴または行為に必ずしも限定されないことが理解されるべきである。寧ろ、先に説明した特定の特徴および行為は、請求項を実施する例示の形態として開示されるものである。

Claims (9)

  1. コンピュータ実装方法であって、
    ネットワーク上のコンピューティング環境において第1クラスタで起動しているサービスの第1インスタンスからアーティファクトをコピーするステップであって、
    前記第1クラスタが、前記サービスの第1インスタンスを起動するために第1グループの仮想マシンを含み、
    前記サービスの第1インスタンスを起動するための第1グループの仮想マシンが、起動状態にある複数の第1部分を含み、IPアドレスに関連付けられる、
    ステップと、
    前記サービスの第1インスタンスからコピーされた前記アーティファクトを用いて、前記ネットワーク上の前記コンピューティング環境の第2クラスタにおいて、前記サービスの第2インスタンスを、第2クラスタにおける1つ以上のノードを選択し、且つ前記サービスの第2インスタンスを起動するために第2グループの仮想マシンを構成することによって、生成するステップであって、
    前記サービスの第2インスタンスを起動するための第2グループの仮想マシンが、起動していない状態にある複数の第2部分を含み、
    該複数の第2部分のそれぞれが、前記複数の第1部分の内1つに対応して、前記IPアドレスにも関連付けられる、ステップと、
    前記第1クラスタにおける前記サービスの第1インスタンスに対し、前記複数の第1部分の内の1つの第1部分を停止するステップであって、その結果、該複数の第1部分の内の該1つの第1部分が前記起動していない状態となる、ステップと、
    前記第2クラスタにおける前記サービスの第2インスタンスに対し、前記複数の第2部分の内の対応する部分を開始するステップであって、その結果、該複数の第2部分の内の該対応する部分が前記起動状態となる、ステップと、
    前記起動状態にある前記複数の第1部分および前記複数の第2部分の内の前記部分のみへのアクセスを提供するために、前記ネットワークを更新するステップと、
    前記複数の第1部分の内の全ての部分が前記起動していない状態となるまで、且つ、前記複数の第2部分の内の全ての対応する部分が前記起動状態となるまで、前記停止するステップ、前記開始するステップ、および前記更新するステップを2回以上実行するステップと、
    前記第1クラスタにおいて前記サービスの第1インスタンスを削除するステップと、
    を含み、
    前記コピーしたアーティファクトが少なくとも証明書を含む、方法。
  2. 請求項1に記載の方法であって、更に、
    前記サービスの前記第1インスタンスおよび前記第2インスタンスにIPアドレスを割り当てるステップと、
    前記IPアドレスを使用して、前記第1クラスタおよび前記第2クラスタの両方において同時に前記サービスをサポートするステップと、
    を含む、方法。
  3. 請求項1または2に記載の方法であって、更に、
    前記第2クラスタにおいて前記サービスの第2インスタンスを生成した後に前記サービスの第2インスタンスをステージングするステップであって、その結果、前記サービスの第2インスタンスが前記第2クラスタにおいて前記起動状態になる準備ができているが、前記起動状態ではない、方法。
  4. 請求項1から3の何れか一項に記載の方法において、前記コピーしたアーティファクトが、更に、コードおよびモデルの内の1つ以上を含む、方法。
  5. 請求項1から4の何れか一項に記載の方法において、テナント移行器が、前記第1部分を停止し、前記対応する部分を開始するのを管理する、方法。
  6. 請求項1から5の何れか一項に記載の方法において、前記第1クラスタおよび前記第2クラスタがデータセンタに位置する、方法。
  7. プロセッサと該プロセッサ上に具体化されるコンピュータ実行可能命令を有するメモリとを含むシステムであって、前記プロセッサによって実行されると、ネットワークのデータセンタ内において第1クラスタから第2クラスタにサービスを移行する方法を実施し、当該システムが、
    サービスの第1インスタンスを起動するように構成される第1グループの仮想マシンを含む、データセンタの第1クラスタであって、前記サービスの第1クラスタを起動するための第1グループの仮想マシンが、起動状態にある複数の第1部分を含むように構成され、更にIPアドレスに関連付けるように構成される、第1クラスタと、
    複数の仮想マシンを備える、前記データセンタの第2クラスタと、
    テナント移行器であって、
    前記データセンタの第2クラスタに移すために、前記データセンタの第1クラスタにおける前記サービスの第1インスタンスを特定し、
    前記サービスに関連付けられるアーティファクトを、前記第1クラスタから前記第2クラスタへコピーし、
    前記第2クラスタにおける1つ以上のノードを選択することによって、前記第2クラスタにおいて前記サービスの第2インスタンスを生成し、
    前記サービスの第2インスタンスを起動するように構成される第2グループの仮想マシンを構成し、前記サービスの第2インスタンスを起動するための第2グループの仮想マシンが、起動していない状態にある複数の第2部分を含むように構成され、前記IPアドレスに関連付けられるように更に構成され、
    前記第1クラスタにおける前記サービスの第1インスタンスに対し、前記複数の第1部分の内の1つの第1部分を停止し、その結果、該複数の第1部分の内の該1つの第1部分が前記起動していない状態となり、
    前記第2クラスタにおける前記サービスの第2インスタンスに対し、前記複数の第2部分の内の対応する部分を開始し、その結果、該複数の第2部分の内の該対応する部分が前記起動状態となり、
    前記起動状態にある前記複数の第1部分および前記複数の第2部分の内の前記部分のみへのアクセスを提供するために、前記ネットワークを更新し、
    前記複数の第1部分の内の全ての部分が前記起動していない状態となるまで、且つ、前記複数の第2部分の内の全ての対応する部分が前記起動状態となるまで、前記停止および前記開始のステップを2回以上実施し、
    前記第1クラスタにおいて前記サービスの第1インスタンスを削除する、
    ように構成されるテナント移行器と、
    を備え
    前記サービスに関連付けられる前記アーティファクトが、少なくとも証明書を含む、システム。
  8. 請求項7記載のシステムにおいて、前記テナント移行器が、更に、
    前記サービスの第2インスタンスをステージングし、その結果、前記サービスの第2インスタンスが前記第2クラスタにおいて前記起動状態に変更されるように構成されるが、前記起動状態ではない、
    ように構成される、システム。
  9. 請求項7または8に記載のシステムにおいて、前記サービスに関連付けられる前記アーティファクトが、更に、コードおよびモデルの内1つ以上を含む、システム。
JP2015552731A 2013-01-09 2014-01-08 クラスタ境界にわたるサービス移行 Active JP6739938B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/737,745 US9338254B2 (en) 2013-01-09 2013-01-09 Service migration across cluster boundaries
US13/737,745 2013-01-09
PCT/US2014/010571 WO2014110062A1 (en) 2013-01-09 2014-01-08 Service migration across cluster boundaries

Publications (3)

Publication Number Publication Date
JP2016508349A JP2016508349A (ja) 2016-03-17
JP2016508349A5 JP2016508349A5 (ja) 2017-02-16
JP6739938B2 true JP6739938B2 (ja) 2020-08-12

Family

ID=50031563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015552731A Active JP6739938B2 (ja) 2013-01-09 2014-01-08 クラスタ境界にわたるサービス移行

Country Status (8)

Country Link
US (2) US9338254B2 (ja)
EP (1) EP2944070B1 (ja)
JP (1) JP6739938B2 (ja)
CN (1) CN105052111B (ja)
BR (1) BR112015016081B1 (ja)
RU (1) RU2653292C2 (ja)
TW (1) TW201434300A (ja)
WO (1) WO2014110062A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
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
JP7028323B2 (ja) * 2018-07-12 2022-03-02 日本電信電話株式会社 識別装置、識別方法及び識別プログラム
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)

* Cited by examiner, † Cited by third party
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
US8560895B2 (en) * 2010-05-26 2013-10-15 Tibco Software Inc. Distillation and reconstruction of provisioning components
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

Also Published As

Publication number Publication date
BR112015016081B1 (pt) 2023-03-28
EP2944070B1 (en) 2019-07-31
US20140195687A1 (en) 2014-07-10
BR112015016081A2 (pt) 2017-07-11
RU2653292C2 (ru) 2018-05-07
RU2015127526A (ru) 2017-01-13
JP2016508349A (ja) 2016-03-17
US20160294930A1 (en) 2016-10-06
TW201434300A (zh) 2014-09-01
WO2014110062A1 (en) 2014-07-17
US10116735B2 (en) 2018-10-30
CN105052111B (zh) 2019-08-16
US9338254B2 (en) 2016-05-10
CN105052111A (zh) 2015-11-11
EP2944070A1 (en) 2015-11-18
BR112015016081A8 (pt) 2019-10-22

Similar Documents

Publication Publication Date Title
JP6739938B2 (ja) クラスタ境界にわたるサービス移行
KR102628362B1 (ko) 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션
CN109196474B (zh) 计算系统中的分布式操作控制
US11146620B2 (en) Systems and methods for instantiating services on top of services
EP2815323B1 (en) Method for controlling access of clients to a service in a cluster environment
US10185549B2 (en) Updating live system with static changes
US10922123B2 (en) Container migration in computing systems
US11159367B2 (en) Apparatuses and methods for zero touch computing node initialization
US10860375B1 (en) Singleton coordination in an actor-based system
JP7180907B2 (ja) 接続されたアクセラレータベースの推論サービス
US10698719B2 (en) System and method for virtual machine restoration
US9485308B2 (en) Zero copy volume reconstruction
US11520492B1 (en) Method and system for migrating data clusters using heterogeneous data cluster infrastructures
US11507512B2 (en) Fault tolerant cluster data handling
CN115878269A (zh) 集群迁移方法、相关装置及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170110

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190507

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190527

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20190621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200722

R150 Certificate of patent or registration of utility model

Ref document number: 6739938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250