特許第6675490号(P6675490)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アファームド ネットワークス,インク.の特許一覧

特許6675490通信ネットワークにおけるデータベースに基づく冗長化
<>
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000002
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000003
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000004
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000005
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000006
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000007
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000008
  • 特許6675490-通信ネットワークにおけるデータベースに基づく冗長化 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6675490
(24)【登録日】2020年3月12日
(45)【発行日】2020年4月1日
(54)【発明の名称】通信ネットワークにおけるデータベースに基づく冗長化
(51)【国際特許分類】
   G06F 16/11 20190101AFI20200323BHJP
   G06F 11/20 20060101ALI20200323BHJP
   G06F 11/14 20060101ALI20200323BHJP
【FI】
   G06F16/11
   G06F11/20 669
   G06F11/14 664
【請求項の数】16
【全頁数】19
(21)【出願番号】特願2018-534121(P2018-534121)
(86)(22)【出願日】2017年1月13日
(65)【公表番号】特表2019-507413(P2019-507413A)
(43)【公表日】2019年3月14日
(86)【国際出願番号】US2017013303
(87)【国際公開番号】WO2017123845
(87)【国際公開日】20170720
【審査請求日】2019年8月29日
(31)【優先権主張番号】62/279,240
(32)【優先日】2016年1月15日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】513101009
【氏名又は名称】アファームド ネットワークス,インク.
(74)【代理人】
【識別番号】110000659
【氏名又は名称】特許業務法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】パーカー,ロナルド,エム.
(72)【発明者】
【氏名】ローガン,ジェームス,ジェー
【審査官】 早川 学
(56)【参考文献】
【文献】 特開2006−079161(JP,A)
【文献】 特開2000−047894(JP,A)
【文献】 特開2003−131900(JP,A)
【文献】 特開2015−103092(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
G06F 11/14
G06F 11/20
(57)【特許請求の範囲】
【請求項1】
通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータで実行される方法であって、前記コンピュータで実行される方法は、
計算装置によって、ネットワーク要素データを第1の計算インスタンスから受信するステップであって、前記第1の計算インスタンスが、第1のネットワーク要素インスタンスの少なくとも一部分をホストし、前記ネットワーク要素データが、前記第1のネットワーク要素インスタンスに関連付けられた識別情報および状態情報を含むステップと、
前記計算装置によって、前記ネットワーク要素データに基づく複合キーを作成するステップであって、前記複合キーが、
前記識別情報に関連付けられたネットワーク要素識別子(ID)と、
前記状態情報の分類に関連付けられたテーブルIDとを含む、ステップと、
前記計算装置によって、前記複合キーおよび関連状態情報を前記計算装置に関連付けられたデータベース内のレコードとして記憶するステップと、
前記計算装置によって、前記第1の計算インスタンスに関連付けられた障害を決定するステップと、
前記計算装置によって、前記第1のネットワーク要素インスタンスに関連付けられた前記ネットワーク要素IDに関連付けられた分散キーを決定するステップと、
前記計算装置によって、アクティブ化データを第2の計算インスタンスに送信するステップであって、前記アクティブ化データが、状態情報を含む前記ネットワーク要素IDに関連付けられた前記分散キーに関連付けられたレコードを前記データベースから検索して、前記第1のネットワーク要素インスタンスを前記第2の計算インスタンス上で再作成する命令に関連付けられている、ステップと
を含む、コンピュータで実行される方法。
【請求項2】
前記計算装置によって、書き込み要求データを前記第1の計算インスタンスに送信するステップをさらに含み、前記書き込み要求データは、前記ネットワーク要素データをデータベースに書き込む命令に関連付けられている、請求項1に記載のコンピュータで実行される方法。
【請求項3】
前記複合キーが、
前記テーブルIDおよび前記ネットワーク要素IDに対応する前記状態情報に関連付けられたテーブル行キー、および
前記第1のネットワーク要素インスタンスをホストする計算インスタンスに関連付けられた計算インスタンスIDのうちの少なくとも1つをさらに含む、請求項1に記載のコンピュータで実行される方法。
【請求項4】
前記分散キーが、仮想マシンIDおよびテーブルIDのうちの少なくとも1つをさらに含む、請求項3に記載のコンピュータで実行される方法。
【請求項5】
前記計算装置および前記第1の計算インスタンスが、第1のデータセンターに配置される、請求項1に記載のコンピュータで実行される方法。
【請求項6】
前記計算装置が第1のデータセンターに配置され、前記第1の計算インスタンスが第2のデータセンターに配置され、前記第1のデータセンターが前記第2のデータセンターとは異なる、請求項1に記載のコンピュータで実行される方法。
【請求項7】
前記第1の計算インスタンスが、仮想マシン、コンテナおよびベアメタルサーバのうちの少なくとも1つである、請求項1に記載のコンピュータで実行される方法。
【請求項8】
前記計算装置によって、前記ネットワーク要素データを前記データベースに記憶するステップをさらに含む、請求項1に記載のコンピュータで実行される方法。
【請求項9】
通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータシステムであって、前記システムは、
前記コンピュータシステム内のプロセッサと、
前記プロセッサと通信するメモリとを含み、
前記メモリは、前記プロセッサに、
第1のネットワーク要素インスタンスに関連付けられた識別情報および状態情報を含むネットワーク要素データを、前記第1のネットワーク要素インスタンスの少なくとも一部分をホストする第1の計算インスタンスから受信させ、
前記識別情報に関連付けられたネットワーク要素識別子(ID)と、前記状態情報の分類に関連付けられたテーブルIDとを含む、前記ネットワーク要素データに基づく複合キーを作成させ、
前記複合キーおよび関連状態情報をデータベース内のレコードとして記憶させ、
前記第1の計算インスタンスに関連付けられた障害を決定し、
前記第1のネットワーク要素インスタンスに関連付けられた前記ネットワーク要素IDに関連付けられた分散キーを決定させ、
状態情報を含む前記ネットワーク要素IDに関連付けられた前記分散キーに関連付けられたレコードを前記データベースから検索して、前記第1のネットワーク要素インスタンスを前記第2の計算インスタンス上で再作成する命令に関連付けられたアクティブ化データを、第2の計算インスタンスに送信させるように構成された命令を含む、システム。
【請求項10】
前記メモリが、前記プロセッサに、書き込み要求データを前記第1の計算インスタンスに送信させるように構成された命令をさらに含み、前記書き込み要求データは、前記ネットワーク要素データをデータベースに書き込む命令に関連付けられている、請求項9に記載のシステム。
【請求項11】
前記複合キーが、
前記テーブルIDおよび前記ネットワーク要素IDに対応する前記状態情報に関連付けられたテーブル行キー、および
前記第1のネットワーク要素インスタンスをホストする計算インスタンスに関連付けられた計算インスタンスIDのうちの少なくとも1つをさらに含む、請求項9に記載のシステム。
【請求項12】
前記分散キーが、仮想マシンIDおよびテーブルIDのうちの少なくとも1つをさらに含む、請求項11に記載のシステム。
【請求項13】
前記コンピュータシステムおよび前記第1の計算インスタンスが、第1のデータセンターに配置される、請求項9に記載のシステム。
【請求項14】
前記コンピュータシステムが前記第1のデータセンターに配置され、前記第1の計算インスタンスが第2のデータセンターに配置され、前記第1のデータセンターが前記第2のデータセンターとは異なる、請求項9に記載のシステム。
【請求項15】
前記第1の計算インスタンスが、仮想マシン、コンテナおよびベアメタルサーバのうちの少なくとも1つである、請求項9に記載のシステム。
【請求項16】
前記コンピュータシステムによって、前記ネットワーク要素データを前記データベースに記憶することをさらに含む、請求項9に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2016年1月15日に出願された米国仮出願第62/279,240号「Database Based Redundancy in a Telecommunications Network」の優先権を主張するものであり、その内容は参照により本明細書に組み込まれる。
【0002】
本開示は電気通信の分野に関連し、より具体的には通信ネットワークにおける冗長化のためにデータベースを使用する技術に関する。
【背景技術】
【0003】
高可用性の冗長通信アプリケーションを実現するための従来の手法では、第1の計算インスタンスから第2の計算インスタンスへの状態の同期を可能にするために、計算要素(例えば仮想マシン(VM)やホスト)の数は少なくともN+1であり、場合によっては2Nである。全ての重要な状態が2番目の場所のメモリに複製される必要があるため、必要なメモリは合計で2Nである。この解決策を実現するために、第1の計算インスタンスから状態をプッシュして第2の計算インスタンスにインストールするコードを記述してテストする必要がある。このプロセスではCPUサイクルが消費されるため、さもなければシステムがトランザクションを処理することができる最大速度が低下する。最終的には、冗長性を追加しようとする努力が原因で、より低速であまり利用することができないシステムとなる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の一態様では、通信ネットワークにおいてデータベースに基づく冗長性を提供する方法およびシステムが提供される。
【課題を解決するための手段】
【0005】
本発明の別の態様では、通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータで実行される方法は、計算装置によって、第1の計算インスタンスからネットワーク要素データを計算し受信するステップを含む。第1の計算インスタンスは、ネットワーク要素インスタンスの少なくとも一部分をホストする。ネットワーク要素データは、ネットワーク要素インスタンスに関連付けられた識別情報および状態情報を含む。この方法はまた、計算装置によって、ネットワーク要素データに基づく複合キーを作成するステップを含む。複合キーは、ネットワーク要素識別子(ID)と、状態情報の分類に関連付けられたテーブルIDとを含む。ネットワーク要素IDは、識別情報に関連付けられている。この方法はまた、計算装置によって、複合キーおよび関連状態情報を計算装置に関連付けられたデータベース内のレコードとして記憶するステップと、計算装置によって、第1の計算インスタンスに関連付けられた障害を決定するステップとを含む。この方法は、計算装置によって、ネットワーク要素インスタンスに関連付けられたネットワーク要素IDに関連付けられた分散キーを決定するステップと、計算装置によって、アクティブ化データを第2の計算インスタンスに送信するステップとをさらに含む。アクティブ化データ(活性化データ)は、状態情報を含む第1のネットワークIDに関連付けられた分散キーに関連付けられたレコードをデータベースから検索して、第1のネットワーク要素インスタンスを第2の計算インスタンス上で再作成する命令に関連付けられている。
【0006】
本発明の一実施形態では、この方法は、計算装置によって、書き込み要求データを計算インスタンスに送信するステップをさらに含む。書き込み要求データは、ネットワーク要素データをデータベースに書き込む命令に関連付けられている。
【0007】
本発明の一実施形態では、複合キーは、テーブル行キーおよび/または計算インスタンスIDをさらに含む。テーブル行キーは、テーブルIDおよびネットワーク要素IDに対応する状態情報に関連付けられている。計算インスタンスIDは、ネットワーク要素インスタンスをホストしている計算インスタンスに関連付けられている。
【0008】
本発明の一実施形態では、分散キーは、仮想マシンIDおよびテーブルIDのうちの少なくとも1つをさらに含む。
【0009】
本発明の一実施形態では、計算装置および計算インスタンスは、第1のデータセンター(中央施設)に配置される。
【0010】
本発明の一実施形態では、計算装置は第1のデータセンター(施設)に配置され、計算インスタンスは第2のデータセンターに配置される。第1のデータセンターは第2のデータセンターとは異なる。
【0011】
本発明の一実施形態では、計算インスタンスは、仮想マシン、コンテナおよびベアメタル(bare metal:地金)サーバのうちの少なくとも1つである。
【0012】
本発明の一実施形態の下では、この方法は、計算装置によって、ネットワーク要素データをデータベースに記憶するステップをさらに含む。
【0013】
本発明の別の態様では、通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータシステムは、コンピュータシステム内のプロセッサと、プロセッサと通信するメモリとを含み、メモリは、プロセッサに、または上述した任意の動作および/または全ての動作を実行させるように構成された命令を含む。
【0014】
上記の態様および実施形態のいずれも、本明細書に記載の他の態様および実施形態と組み合わせることができ、本発明の範囲内にとどまる。
【0015】
開示の主題におけるこれらの機能および他の機能は、以下の図面、詳細な説明および請求項を検討することによって十分に理解されるであろう。本明細書で使用される表現および用語は、説明を目的としており、限定的であるとみなされるべきではないことを理解されたい。
【0016】
開示の主題の様々な目的、特徴および利点は、同様の参照番号が同様の要素を示す以下の図面に関連して考慮する場合に、開示の主題における以下の詳細な説明を参照することにより、より十分に理解することができる。
【図面の簡単な説明】
【0017】
図1】本開示のいくつかの実施形態による、ネットワーク化されたシステムを示す系統図である。
図2】通信ネットワーク全体に分散された仮想マシン間のネットワーク要素における冗長性を実現する従来の方法を示す系統図である。
図3】通信ネットワーク全体に分散された仮想マシン間のネットワーク要素における冗長性を実現する従来の方法を示す系統図である。
図4】本開示のいくつかの実施形態に記載の、単一のデータセンターにおけるデータベースに基づく冗長化システムを示す系統図である。
図5】本開示のいくつかの実施形態に記載の、複数のデータセンターにわたるクラスタに使用されるデータベースに基づく冗長化システムを示す系統図である。
図6】本開示のいくつかの実施形態による、データベースに提示される複合キーを示す図である。
図7】本開示のいくつかの実施形態による、ネットワーク要素のデータベースに基づく冗長性を示すフローチャートである。
図8】本開示のいくつかの実施形態による、オーケストレータおよびネットワーク機能仮想化インフラストラクチャを示すシステム図である。
【発明を実施するための形態】
【0018】
現在、ゲートウェイGPRSサポートノード(GGSN)、サービングゲートウェイ(SGW)、パケットデータネットワークゲートウェイ(PGW)、信頼WLANアクセスゲートウェイ/信頼WLANアクセスプロキシ(TWAG/TWAP)、進化型パケットデータゲートウェイ(ePDG)などの通信事業者アプリケーションは、内部のステートフルな冗長機構で構築されている。これらの機構は、例えば2つの計算インスタンス(例えば仮想マシン(VM)、2つのコンテナ、2つのベアメタルサーバなど)に対する2つのプロセスなど、分散システム内の少なくとも2つの場所に記憶された加入者またはデータフローの処理中に、3GPP、IETF、ETSI、または他の機構によって定義された特定のプロトコルにおける現在の状態に関連する一般的に重要な動的情報をもたらす。本明細書で使用されるように、仮想マシンを説明する実施形態をコンテナおよびベアメタルサーバにも等しく適用することができる。このような動的状態には、モビリティの位置などの呼状態と、課金状態(例えば使用カウンタ)とが含まれる。動的状態は非常に急速に変化する可能性がある。例えば課金状態は、加入者に代わって処理される各パケットに更新することができる。従来のメモリ間冗長化手法であっても、この頻度で内部状態の更新をめったに実行せず、より一般的には、スナップショット更新の期間が複製データの不正確さに対する許容度に基づく時間ベースのスナップショット手法を用いる。いくつかの実施形態では、遅延による不完全な情報のために不正確さが生じる。
【0019】
従来のメモリ間冗長機構は、一般的にアプリケーション開発者によって手作業でコーディングされており、したがって、冗長スキームを組み込む複雑性が増加するために全体的な障害発生率が上昇すると言えるほどにエラーが発生しやすい。
【0020】
ネットワーク機能仮想化(NFV)の到来により、システムの作成および展開がより迅速になり、運用がより簡単になることが期待されている。仮想化インフラストラクチャ(ホスト、スイッチ、ストレージ)の適応性により、さらなる冗長性が追加され、それによって通信事業者アプリケーションの手法を簡略化する可能性がもたらされる。
【0021】
従来のSQLデータベースおよびその他のnon−SQLデータベースは、比較的高いトランザクション速度および高い可用性を提供する。さらに、データベース複製による地理的冗長性が一般的に裏付けられている。特定のデータ損失(例えば課金関連カウンタの定期的な更新)に対する若干の許容度を含むこれらの特性を利用することにより、通信事業者アプリケーションの冗長性の複雑性が大幅に低減され、計算およびメモリの要件が減少する。
【0022】
いくつかの実施形態では、メモリ間の同期を排除することは、データベース(例えばSQLデータベースまたはnon−SQLデータベース)を利用して冗長データを記憶することによって達成することができる。データベースは、イベント駆動(例えば呼設定またはハンドオーバ)ベースで更新することができ、または時間駆動ベースでそれほど重要ではない状態(例えばいくつかの増分の使用を表す課金状態)で更新することができる。特に、データセンターに既に大規模データベースが導入されている場合、この目的でデータベースを使用する増分コストは最小限に抑えられる。障害が発生した場合、システム内のエージェントは、オブジェクト所有権の責任をシステムクラスタの残存メンバに再割り当てし、これにより、残されたオブジェクトをデータベースから取得してサービスに戻すことができる。
【0023】
データベースの段階で地理的冗長性を使用することにより、本明細書で説明する技術をマルチサイト冗長化に使用することもできる。例えば、3つのアクティブ状態(起動状態)のサイトと、3つのサイト全てに利益をもたらすように動作する1つのスタンバイ状態のサイトとが存在する場合、VMの3つの個別セットを前段階に置く必要はない。実際に、障害が認識されるまでは、全て予めインスタンス化することはできない。障害が認識されると、VMのクラスタが構築されるか、または予め構築されたクラスタがアクティブ化(活性化)され、障害が発生したサイトに代わって動作する責任が割り当てられる。完了すると、新規クラスタは適切な状態をデータベースから検索し、進行中のデューティを開始する。
【0024】
いくつかの実施形態では、本明細書に記載の技術の重要な態様は、冗長状態がデータベースから読み取られる速度である。データベースは、高速の同時読み取りアクセスにおいて非常に優れているが、読み取るデータの正確なサブセットを識別するために広範囲に及ぶリレーショナル検索が必要とされる場合には、大幅に速度が落ちる可能性がある。いくつかの実施形態では、冗長状態をデータベースからより速く読み出す速度を維持するために、構造化スキーマ設計を含むデータベースが使用される。
【0025】
いくつかの実施形態では、本明細書に記載の技術は、スキーマ設計に関する。本明細書で説明するように、スキーマ設計は、SQLデータベースと同様にno−SQLデータベースの実装に適している。No−SQLデータベースは高速書き込みと大量の読み出しのために最適化されている。典型的なno−SQLデータベース(例えばCassandra、Apache Geode)は、単一の均一分散キーのみを利用するクラスタ化された手段である。No−SQLデータベースには、インメモリデータベース(例えばApache Geode)およびディスクベースのデータベースまたは永続的データベース(例えばCassandra)が含まれる。同じ分散キーを含む全てのレコードは同じサーバに書き込まれる。例えば、本明細書で説明する技術は、3タプル(ソースVM−ID、IMSI、作成時間)によって各レコードを一意的に識別することができる携帯電話通信セッションレコードのデータベーステーブルを使用することを含む。複合キーの最も重要な部分のみがクラスタ分散の目的で使用されるので、クラスタ化ネットワーク要素内の同じVMによって管理される全てのセッションおよび関連データを、同じサーバ(例えばCassandraサーバ、Apacheサーバ)に記憶することができる。VMに障害が発生して再作成された場合、このVMの新規インスタンスは、先行するVMインスタンスによって保存された全ての状態データを迅速に検索することができる。
【0026】
図1は、本開示のいくつかの実施形態による、ネットワーク化されたシステム100を示す系統図である。システム100は、ユーザ機器102と、サーバ104と、ネットワーク106とを含む。システム100は、ユーザ機器(UE)102、進化型ノードB(eNodeB)104、マルチメディアメッセージングサービス(MME)106、サービングゲートウェイ(SGW)モジュール108、パケットデータネットワークゲートウェイ(PGW)/ゲートウェイGPRSサポートノード(GGSN)110、ポリシーおよび課金ルール機能(PCRF)112、ギガビット無線(Gi)ネットワーク114、認証、許可および課金(AAA)116、オンライン課金システム(OCS)118、外部サーバ/サイト120、ネットワーク要素グループ130を含む。
【0027】
UE102は、eNodeB104を介してネットワーク化されたシステム100に接続する。UE102は、モバイルデータネットワーク(例えば携帯電話、タブレット、ラップトップ)に接続するように構成された計算装置を含む。eNodeB104は、セルサイトの無線部分である。単一のeNodeB104は、いくつかの無線式の送信機、受信機、制御部および電源を含んでもよい。eNodeB104は、MME106およびSGW108にバックホールされてもよい。バックホールは、パケットまたは通信信号を、処理のために比較的長距離にわたって別の場所に転送するプロセスである。SGW108は、ユーザデータパケットをルーティングして転送する一方で、eNodeB間のハンドオーバ中にユーザプレーンのモビリティアンカとしても機能する。MME106は、ネットワーク化されたシステム100における制御ノードである。MME106は、LTE無線ネットワークに接続するUE102の移動性および安全性機能も含むLTE関連制御プレーンシグナリングを処理する。MME106はまた、トラッキングエリア管理およびページング手順のサポートを含む、休止モードにあるUEを処理する。
【0028】
PGW/GGSN110は、モバイルネットワークと外部IPネットワークとの間の相互接続点であり、ポリシー施行、IPアドレス割当ておよび課金機能を処理する。PGWおよびGGSNは同様の機能を果たし、3Gネットワーク、4GネットワークおよびLTEネットワークのために、本開示では交換可能に使用される。PCRF112(ポリシーおよび課金ルール機能)はPGWとインタフェースをとって、各加入者に対して施行する適切なポリシーをPGWに提供する。Giネットワーク114は、PGWをパケットデータネットワークまたはインターネットに接続するインターネットプロトコル(IP)ベースのネットワークである。Giネットワーク114は、外部のサーバまたはサイト120に接続する。AAA116は、認証、許可および課金サーバであり、PGWに対する許可、ポリシー施行および課金/課金サービスを提供する。OCS118は、サービスプロバイダが顧客のモバイルサービスの実時間使用に基づいて顧客に課金することを可能にするオンライン課金システムである。
【0029】
図1に示すように、ネットワーク要素グループ130は、サービングゲートウェイ(SGW)モジュール108およびパケットデータネットワークゲートウェイ(PGW)/ゲートウェイGPRSサポートノード(GGSN)110を含む。ネットワーク要素グループ130は、オペレータ(本明細書ではクラスタとも呼ぶ)によって決定されたネットワーク要素またはサービスグループのいずれかまたは組合せとすることができる。いくつかの実施形態では、ネットワーク要素グループ130は、地理的グループ(例えば、地理的に同じ場所に配置されたネットワークノードおよび/または機能のセット)である。サービスグループは、SGW、PGW、GGSN、および/またはePDGを含むことができる。サービスはまた、Webプロキシ、ビデオ/イメージトランスコーディング、パケット検査(DPI)、課金、QoS、VoLTEを含むこともできる。SGW/PGWはまた、音声およびデータのためのセッションサービスと見なすこともできる。ネットワーク要素グループ130はまた、例えばループバックIP、UE IPサブプール、Gxインタフェース、Gyインタフェース、Gzインタフェース、AAAインタフェース、GTPインタフェースなどのサービスに関連するサービス構築オブジェクトを含むことができる。以下でより詳細に説明するように、仮想マシン(VM)を、個々のサービスまたはサービスの一部またはサービスの集合に関連付けることができる。
【0030】
本明細書で説明するように、データベースに基づく冗長性を使用する本明細書に記載の技術は、(本明細書では仮想化ネットワーク機能(VNF)とも呼ばれる)クラスタ化仮想ネットワーク要素または仮想ノードおよび非クラスタ化仮想ネットワーク要素または仮想ノードの両方に適用することができる。クラスタはネットワーク要素またはVMのグループを含み、これにより、要素メンバ間の内部調整が行われる。クラスタを使用すると、一般的に要素の内部動作または内部トポロジが非表示になる傾向がある。つまり、外部からは、クラスタは単一のネットワーク要素とみなされる。本明細書で使用されるように、クラスタ化は密結合クラスタ化とも呼ばれる。非クラスタ化VNFは、要素間のトポロジまたは内部接続が非表示になるようなネットワーク要素またはVMを含む。
【0031】
図2は、通信ネットワーク全体に分散された仮想マシン間のネットワーク要素の冗長性を実現する従来の方法を示す系統図である。図2は、VM1 210およびVM2 220を示している。VM1は、第1のバンドル1 211と第2のバンドル2´212とを含む。VM2は、第2のバンドル1´221と第1のバンドル2 222とを含む。図2に示すように、各仮想マシンは、第1のバンドルおよび第2のバンドルの両方を有することができる。いくつかの実施形態では、第1のVMを第1のバンドルにのみ関連付けることができ、第2のVMを対応する第2のバンドルにのみ関連付けることができる。
【0032】
VM1 210およびVM2 220の各々は、第1のバンドルおよび第2のバンドルを含む(第2のバンドルは(´)で示される)。本明細書で参照されるように、バンドルは、ネットワーク要素(通信セッションに関連するデータ)に関連付けられた状態の集合を指す。VM1 210に障害が発生すると、VM2 220はバンドル1に冗長性を提供し、バンドル1をホストする責任をVM1 210から引き継ぐ。
【0033】
図3は、通信ネットワーク全体に分散された仮想マシン間のネットワーク要素をバックアップする従来の方法を示す系統図である。図3は、VM1 310、VM2 320およびVM3 330を示している。VM1は、バンドル1 311、バンドル2 312、バンドル3 313、バンドル4´314、バンドル7´317およびバンドル9´319を含む。VM2は、バンドル4 324、バンドル5 325、バンドル6 326、バンドル1´321、バンドル2´322およびバンドル8´328を含む。VM3 330は、バンドル7 337、バンドル8 338、バンドル9 339、バンドル3 ´333、バンドル5´335、およびバンドル6´336を含む。
【0034】
VM1 310、VM2 320およびVM3 330の各々は、第1のバンドルおよび第2のバンドルを含む(第2のバンドルは(´)で示される)。上述したように、バンドルは、ネットワーク要素に関連付けられた状態の集合を参照することができる。例えば、VM1 310は、バンドル1 311、バンドル2 312およびバンドル3 313の第1のインスタンスと、バンドル4´314、バンドル7´317およびバンドル9´319の第2のインスタンスとを含む。いくつかの実施形態では、各バンドルはロールとランタイム状態とを有する。ロールは第1のロールまたは第2のロールとすることができ、ランタイムはアクティブ状態またはスタンバイ状態とすることができる。好ましい実施形態では、第1のバンドルはアクティブ状態に関連付けられ、第2のバンドルはスタンバイ状態に関連付けられる。第2のバンドルが常にアクティブであるとは限らないが、第1のバンドルから第2のバンドルに操作が転送された場合は、第2のバンドルのVMに領域が割り当てられる。図3に示すように、バンドルを互いに関連付けて、VM上にクラスタを形成することができる。例えば、VM1 310上のバンドル1 311、バンドル2 312、バンドル3 313、バンドル4´314、バンドル7´317、およびバンドル9´319は、クラスタを形成することができる。
【0035】
図3に示すように、第1のバンドルの各々は、異なる仮想マシン上に配置された第2のバンドルに関連付けられている。VM内における第1のバンドルの各セットはまた、2つ以上の他のVMにバックアップされる。例えば、VM1 310上のバンドル1 311およびバンドル2 312は、VM2 320上のバンドル1´321およびバンドル2´322にそれぞれ関連付けられる一方で、VM1 310上のバンドル3 313はVM3 330上のバンドル3´333に関連付けられる。VM1 310、VM2 320およびVM3 330の各々を、同じ場所または異なる地理的場所に配置することができる。VM1 310、VM2 320およびVM3 330が異なる地理的場所に配置される場合、異なるVMにわたってバンドルをバックアップすることは、地理的冗長化と呼ばれる。
【0036】
図4は、本開示のいくつかの実施形態に記載の、単一のデータセンターにおけるデータベースに基づく冗長化システムを示す系統図である。図4は、VM1 410、VM2 420、VM3 430、(再作成された)VM2 440およびデータベース450を含むデータセンター400を示している。VM1 410はバンドル1 411に関連付けられている。VM2 420は関連付けられたバンドル2 421である。VM3 430はバンドル3 431に関連付けられている。(再作成された)VM2 440は、バンドル2 441に関連付けられている。
【0037】
図4に示すバンドルおよびVMは、図2および図3で説明したバンドルおよびVMと同様である。上述したように、データベース450は、構造化スキーマを使用する任意の型の非リレーショナルデータベースとすることができる。いくつかの実施形態では、データベース450を、no−SQLデータベースまたはSQLデータベースとして実装することができる。通常、no−SQLデータベースは高速書き込みと大量の読み出しのために最適化されている。典型的なno−SQLデータベース(例えばCassandra、Apache Geode)は、単一の均一分散キーのみを利用する水平方向に拡張可能な手段である。No−SQLデータベースには、インメモリデータベース(例えばApache Geode)およびディスクベースのデータベースまたは永続的データベース(例えばCassandra)が含まれる。以下でより詳細に説明するように、いくつかの実施形態では、データベース450は、セッションをセッションデータに関連付けられた(本明細書では複合キーとも呼ばれる)nタプルの文字列として記憶し、ここで、nは1より大きい。簡潔には、いくつかの実施形態では、文字列の最上位ビットに関連付けられた文字列の部分は、ソースVMまたは第1のVMの識別子情報を提供する一方で、残りの文字列は、状態情報または構成情報を提供する。例えば、バンドルID、VM IDまたはノードIDを、文字列の最上位ビットとして記憶することができる。いくつかの実施形態では、データベース450は、全てのバンドルを同じサーバにマッピングする。いくつかの実施形態では、VMは状態の1つ以上の「バンドル」を所有することができる。
【0038】
いくつかの実施形態では、第1のバンドルからの書き込みは、データベース450にストリーミングされる。書き込みは、制御プレーンイベント(例えばPDN接続、モビリティ、ページングなど)および状態(例えば60秒ごとの課金状態)を含むことができ、周期的で詳細な状態情報とすることができる。いくつかの実施形態では、書き込みは、呼および/またはデータの接続を障害が発生する前の状態に再構成するために使用されるカウンタおよび課金のイベントなどの任意の他のイベントまたは情報を含むことができる。
【0039】
データセンター400は、任意のサーバまたはコンピュータ処理装置とすることができる。いくつかの実施形態では、データセンター400は、データベース450と仮想マシン410、420、430および440との間の通信を容易にするオーケストレータを含むことができる。図8に付随する本文でより詳細に説明するように、オーケストレータは、ライフサイクル管理の責任を負うことができ、本明細書に記載の障害検出および回復プロセスの責任を負うことができる。
【0040】
図4は、本明細書で説明する技術を使用して、新規VM、VM内の新規バンドルまたはアクティブVMへのバンドルの転送をインスタンス化することを示している。本明細書に記載のデータベース冗長化技術は、クラスタ化サービスおよび非クラスタ化のサービスにも等しく適用可能である。バンドル1 411、バンドル2 421およびバンドル3 431の各々は、関連する制御プレーンのイベントおよび状態、または、呼セッションまたはデータセッションを障害が発生する前の状態に再構成するために使用されるカウンタおよび課金のイベントなどの任意の他のイベントまたは情報を、データベース450に書き込む。書き込まれたイベントおよび状態の各々には、書き込まれた情報に関連付けられたソースバンドルまたはVMを示す識別情報も関連付けられている。VM2 420に障害が発生すると、バンドル2 421を含むVM2 420に関連付けられたデータベース450からの情報を使用して、VM2 440のバージョンを再度作成することができる。すなわち、VM2 420に障害が発生してVM2 420が再作成された場合、VM440の新規インスタンスは、先行するVMインスタンス420によって保存された全ての状態情報およびデータをデータベース450から迅速に検索することができる。データベース450からの読み取りは(障害が比較的頻度の低い性質であるために)頻度が低い傾向にあるが高速である。障害が発生すると、VMが再作成され、障害が発生したVMの状態に対する責任が割り当てられる。ハートビート機構または任意の他の障害検出技術を使用して、仮想化ネットワーク機能(VNF)によって障害を検出することができる。さらに、その仮想化層で使用されるハートビート機構または任意の他の障害検出技術を使用して、仮想化層によって障害を検出することができる。障害が検出されると、仮想化層はオーケストレーション層と通信して、回復動作を実行し、同じデータセンターにおいてVMを再作成するステップができる。いくつかの実施形態では、単純なスキーマ手法により、データベース450からの迅速な読み取りが可能になる。
【0041】
図5は、本開示のいくつかの実施形態に記載の、複数のデータセンターにわたるクラスタに使用されるデータベースに基づく冗長化システムを示す系統図である。図5は、モバイルコンテンツクラウド(MCC)クラスタ1 510を含むデータセンター1 501、データベース450を含むデータセンター2 502、および(再作成された)MCCクラスタ1 530およびMCCクラスタ2 520を含むデータセンター3を示している。
【0042】
いくつかの実施形態では、データセンター1 501、データセンター2,502およびデータセンター3 503を、異なる地理的場所に配置することができる。いくつかの実施形態では、データセンター1 501、データセンター2,502およびデータセンター3 503は、同じ場所に配置される。図4に付随する本文でより詳細に説明したように、データセンター1 501、データセンター2,502およびデータセンター3 503を、サーバまたは任意の他のコンピュータ処理装置とすることができる。MCCクラスタは、仮想マシンの集合(例えば、(データベース450を除く)図4の全ての仮想マシン)を指す。MCCは、複数のネットワーク要素機能(例えばPGW、SGWなど)を含むことができる仮想化ネットワーク要素であるモバイルコンテンツクラウドを指す。MCCクラスタ1 510およびMCCクラスタ2 520は、関連する制御プレーンイベントおよび状態をデータベース450に書き込む。書き込まれた制御プレーンイベントおよび状態の各々には、書き込まれた情報に関連付けられたソースクラスタを示す識別情報もまた関連付けられている。データセンター1 501においてMCCクラスタ1 510に障害が発生すると、データベース450からの情報は、データセンター3 503においてMCCクラスタ530を再作成する。以下でより詳細に説明するように、データベース450をホストするデータセンター2は、MCCクラスタ1 510の障害を検出するオーケストレーション層を含むことができ、かつ、障害が発生したMCCクラスタに関連付けられたデータを複製する別のデータセンターを識別することができる。いくつかの実施形態では、データベース450を、既知のデータベース冗長化技術を使用してバックアップすることもでき、このデータベースのバックアップを、同じ場所に配置するかまたは地理的に別の場所に配置することもできる。
【0043】
図6は、本開示のいくつかの実施形態による、データベースに提示され、かつレコードとして記憶される複合キーおよび関連データを示す図である。図6は、第1の複合キーおよびデータ600と、第2の複合キーおよびデータ610とを示している。第1の複合キーおよびデータ600は、ネットワーク要素(NE)ID602、VM ID604、テーブルID606およびテーブル行キー608を含み、データ609に関連付けられる(例えば、状態データおよび情報は進行中の呼セッションおよび/またはデータセッションを維持する必要がある)。第2の複合キーは、NE ID602、テーブルID604およびテーブル行キー606を含み、かつデータ609に関連付けられている。
【0044】
第1の複合キーおよびデータ600は、いくつかの実施形態によるクラスタ化ネットワーク要素の複合キーを表している。複合キーの左側最上位の部分は、ネットワーク要素ID602を含む。ネットワーク要素ID602は、図1に記載された任意のネットワーク要素(例えばマルチメディアメッセージングサービス(MME)106、サービングゲートウェイ(SGW)モジュール108、パケットデータネットワークゲートウェイ(PGW)/ゲートウェイGPRSサポートノード(GGSN)110、ポリシーおよび課金ルール機能(PCRF)112、認証、許可および課金(AAA)116、およびオンライン課金システム(OCS)118)などの特定のネットワーク要素に関連付けられたビット数を含むことができる。VM ID604は、特定のネットワーク要素をホストする特定のVMに関連付けられたネットワーク要素ID602に関連付けられたビットの数の次のビット数を含むことができる。例えば、1つの仮想マシンは複数のネットワーク要素をホストすることができる。ネットワーク要素は、複数の仮想マシン、または仮想マシンのクラスタをホストとすることもできる。ネットワーク内には、例えば図5に示すように複数のクラスタノードが存在してもよい。いくつかの実施形態では、クラスタID604はVMを識別する。VM ID604のビットの次の最上位ビット数は、テーブルID606に関連付けられる。テーブルID606は、イベント情報を保持するテーブルのIDを参照する。各テーブルIDは、異なる種類のイベント情報を保持することができる。例えば、テーブルID 1は、種類Aのイベントから生じた種類Aの状態を保持することができる一方で、テーブルID 2は、種類Bのイベントから生じた種類Bの状態を保持することができる。例えば、イベントはUEからのネットワーク接続要求とすることができる。システムがイベントを処理するとき、システムは、イベントに関連付けられた状態情報(すなわち、データ609)を生成することができる。例えばネットワーク接続のための処理の一部は、UEの許可、IPアドレスの割り当て、およびトラフィックに適用するためのポリシー設定識別子における検索などの状態データを含むことができる。これらの状態データ値の各々は、テーブルの1つの行に記憶することもでき、複数のテーブルにおける複数の行に記憶することもできる。テーブルID606の次の最上位ビット数は、テーブル行キー608に関連付けられている。テーブル行キー608は、(クラスタ化されている場合の)ネットワーク要素およびVMが所有する型の、任意の所与の行に対する固有の識別子である。例えば上述したように、テーブルID606によって表される各テーブルは、複数の行を含むことができる。テーブル行キー608は、テーブル内の行を識別するインデックスを提供することができる。例えば、各行は異なる加入者に対応することができ、テーブル行キー608は加入者を識別することができる。いくつかの実施形態では、行を複数のテーブル行キー608に関連付けることができる。いくつかの実施形態では、行は固有のテーブル行キー608に関連付けられる。例えば、テーブル行キー608をIMSIに関連付けることができ、ユーザを固有のIMSIまたは複数のIMSIのいずれかに関連付けることができる。別の例として、テーブル行キー608をIPアドレスに関連付けることができ、ユーザを一意のIPアドレスまたは複数のIPアドレスのいずれかに関連付けることができる。
【0045】
610の第2の複合キー部分は、いくつかの実施形態による非クラスタ化ネットワーク要素の複合キーを表している。非クラスタ化ネットワーク要素は、例えば1つのネットワーク要素をホストする仮想マシンとすることができる。610における第2の複合キー部分のビットの配置は、610の第2の複合キー部分がVM ID604に関連するビット数を含まない点を除いて、600の第1の複合キー部分と同様である。
【0046】
第1の複合キーおよび第2の複合キーを、分散キー622、632、642および652と、残りのキー624、634、644、654とにさらに分割することができ、各レコードはデータ部分609を含む。分散キー622、632、642および652は、複合キー内の最上位フィールド(すなわち、左側のフィールド)のサブセットを含む。分散キー622、632、642または652は、データベース内の内部平衡のために使用することができる。例えば同じ分散キーを共有する全ての行を、データベースを構成するサーバのクラスタ内の同じストレージノード(すなわち、サーバ)に記憶することができる。分散キーを選択することにより、通信システムの冗長化のために使用される場合に、データベースにおいて観察されたアクセスパターンを最大限に利用するようにすることができる。このようなデータベースでは、一定の一般的に高速の書き込み(すなわち作成、更新、削除)を観察することができ、障害が発生しない限り読み取りは行われない。VMに障害が発生すると、代替VMが構築され、次いで、先行VMが所有していた全ての行を検索するように指示される。検索された行に関連付けられたデータ609は、障害が発生したインスタンスを新規または既存の代替インスタンス上に構築するために使用される。以下でより詳細に説明するように、オーケストレーション層および仮想化層(本明細書では計算装置とも呼ばれる)は、仮想マシンおよびデータベースと通信することができ、仮想マシンの障害を検出することができ、障害が発生した仮想マシンの状態情報を引き継ぐように別の仮想マシンに命令を送信することができる。物理ドライブを使用してデータベースを操作する場合、この一連の読み取りは、データベースを構成するサーバ全体に行が分散されていない場合(例えば、それによってディスクのシーク時間と通信オーバーヘッドを回避する場合)よりもむしろ、分散データベース内の単一のサーバがレコードの全てを提供する場合に最速であることが示されている。分散キー622および642はこのような設計を示している。しかし、いくつかのデータベースでは、分散キー622の変形がより効果的であると考えられている。この変形例(例えば分散キー632および652)では、所与のテーブル形式における全てのレコードが単一のサーバから読み取られる一方で、他のテーブル形式が他のサーバから並行して読み取られる。このような設計は、データベース記憶装置が物理ドライブ(例えば、メモリ、固体記憶装置などに保持された記録)を使用しない場合に最もよく用いられる。
【0047】
テーブルID606およびテーブル行キー608のレコード内に含まれるデータ609の一例は、呼の現在の状態である。この呼状態情報が、障害が発生した第1の仮想マシンに関連付けられている場合、呼状態情報を、呼を遮断することなく第2の仮想マシンに直ちに転送することができる。第1の仮想マシンがアクティブ(起動状態)である場合、ネットワークを管理する通信アプリケーションは状態情報データをデータベースに書き込む。状態情報データは、ネットワーク要素ID(および該当する場合はVM ID)に関連付けられる。第1の仮想マシンに障害が発生すると、状態情報データは、以下に詳細に説明するように、ネットワーク要素ID(および該当する場合はVM ID)に関連付けられたデータベース内の全てのデータを転送することによって、データベースから第2の仮想マシンへ、オーケストレーション層および仮想化層によって転送される。いくつかの実施形態では、データを第2の仮想マシンに転送するかまたは書き込みすることにより、第1の仮想マシンのVM ID604を含む第1の仮想マシンの同一の識別が第2の仮想マシンに有効に割り当ててられる。
【0048】
図7は、本開示のいくつかの実施形態による、ネットワーク要素のデータベースに基づくバックアップを示すフローチャートである。
【0049】
ステップ702を参照して、ネットワーク要素データは、複数の計算インスタンスから受信される。計算インスタンスは、仮想マシン、コンテナまたはベアメタルサーバを含むことができる。いくつかの実施形態では、ベアメタルサーバは物理サーバを指している。より詳細に上述したように、計算インスタンスの各々は、ネットワーク要素インスタンスまたはネットワーク要素インスタンスの一部分をホストすることができる。ネットワーク要素データは、ネットワーク要素識別情報およびネットワーク要素に関連付けられた状態情報を含むことができる。
【0050】
ステップ704を参照して、ネットワーク要素データに基づいて複数の複合キーが作成される。いくつかの実施形態では、計算インスタンスから受信されたネットワーク要素データはデータベース(または別のデータ構造)に記憶され、複合キーは、記憶されたネットワーク要素データに基づいて作成される。各計算インスタンスを、ネットワーク要素識別情報および1つ以上のネットワーク要素の状態情報データに関連付けることができる。いくつかの実施形態では、ネットワーク要素識別情報および1つ以上のネットワーク要素の状態情報データに基づいて、複合キーを作成することができる。複合キーは、ネットワーク要素識別情報に基づくネットワーク要素識別子(ID)を含むことができる。例えば、ネットワーク要素PGW、SGW、GGSNおよび/またはPCRFの各々を、異なる計算インスタンス上で、または複数の計算インスタンスにわたって別個のインスタンスとしてホストすることができ、同一のネットワーク要素の各々は、異なるネットワーク要素IDに関連付けられてもよい。いくつかの実施形態では、ネットワーク要素の各々をテーブルIDと関連付けることもできる。上述したように、テーブルIDをネットワーク要素IDと関連付けることができる。テーブルIDは、ネットワーク要素インスタンスに関連付けられた状態情報の分類を示すことができる。いくつかの実施形態では、状態情報データの分類は、例えば接続されたユーザセッション、接続されたユーザセッションに関連付けられたアクセスベアラ、および無線アクセスベアラに関連付けられた5タプルのアクティブフローを含むことができる。いくつかの実施形態では、複合キーはまた、テーブル行キーおよびクラスタノードIDを含むことができる。
【0051】
ステップ706を参照して、作成された複合キーおよび関連データは、レコード(例えば、複数の行)としてデータベースに記憶される。いくつかの実施形態では、各複合キーおよび関連データは、別個の行として記憶される。より詳細に上述したように、データセンターは、1つ以上の計算インスタンスおよびデータベースをホストすることができる。いくつかの実施形態では、データベースは計算インスタンスとは別にホストされる。いくつかの実施形態では、データセンターはデータベースおよび計算インスタンスの両方を含む。
【0052】
ステップ708を参照して、計算インスタンスのうちの1つに関連付けられた障害が決定される。いくつかの実施形態では、障害が発生した計算インスタンスは、ネットワーク要素インスタンスの少なくとも一部分を含む。より詳細に上述したように、ハートビート機構または任意の他の障害検出技術を使用して、第1の計算インスタンスの障害を検出することができる。いくつかの実施形態では、データセンターまたは具体的にはオーケストレータ、およびデータセンター内のネットワーク機能仮想化インフラストラクチャは、計算インスタンスの障害を検出することができる。
【0053】
ステップ710を参照して、少なくとも1つの分散キーは、障害が発生した計算インスタンスに基づいて決定される。上述したように、分散キーは、複合キー内の最上位フィールド(すなわち、左側のフィールド)のサブセットを含むことができる。いくつかの実施形態では、分散キーの各々は、障害が発生した計算インスタンスに関連付けられたネットワーク要素インスタンスに関連付けられたネットワーク要素IDを含む。
【0054】
ステップ712を参照して、命令(例えば、活性化命令)は、別の計算インスタンスに送信されて、別の計算インスタンス上でネットワークインスタンスを再作成する。いくつかの実施形態では、ネットワークインスタンスが再作成される計算インスタンスは、ネットワーク内に既に存在する。いくつかの実施形態では、ネットワークインスタンスが再作成される計算インスタンスは、ネットワークインスタンスをホストするように作成される。いくつかの実施形態では、命令は、障害が発生した計算インスタンスに関連付けられた全てのテーブルにおける行の完全セットをデータベースから検索するように他の計算インスタンスに命令する、別の計算インスタンスに送信される。いくつかの実施形態では、行を分散キーによって識別することができる。より詳細に上述したように、第2の計算インスタンスは、第1の計算インスタンスによって保存された全ての状態データをデータベースから迅速に検索することができる。
【0055】
図8は、本開示のいくつかの実施形態による、オーケストレータおよびネットワーク機能仮想化インフラストラクチャを示すシステム図である。図8は、オーケストレータ802と、ネットワーク機能仮想化インフラストラクチャ(NFVI)と、単一のVM812をホストとするネットワーク要素1と、単一のVM814をホストとするネットワーク要素2と、クラスタ820内の複数のVM822、824、826をホストとするネットワーク要素3とを示している。
【0056】
NFVI804と連動するオーケストレータ802は、仮想マシンに関連付けられた障害を検出し、回復動作を行い、かつ、障害が発生したVMを環境内の別のVM上で再度作成することができる。オーケストレータ802およびNFVI804は、単一のVM(例えば812)を別の単一のVM(例えば814)に複製するか、またはVMクラスタ(例えば820)を複製することができる。より詳細に上述したように、VMは、障害が発生したVMに関連付けられた関連情報をデータベース450から取り出すことによって複製することができる。オーケストレータ802およびNFVI804は、サーバ、ストレージ、ネットワークスイッチおよびルータ上で動作するソフトウェア、および/またはこれらの組み合わせで動作するソフトウェアとして実装することができる。サーバ、ストレージおよびネットワーク要素から構成される非仮想化環境については、オーケストレーション機能(すなわち、障害を検出して反応する機能)の実施形態は、要素管理システム(EMS)、ネットワーク管理システム(NMS)、運用サポートシステム(OSS)またはネットワーク要素の監視に関連する他のソフトウェアシステムに含まれてもよい。
【0057】
本明細書に記載の技術の利点は、アプリケーションの複雑さの低減、データセンターの複雑性の低減、設置面積の削減、マルチサイト冗長性および地理的冗長性を含む。アプリケーションは状態が少ない性質のため、アプリケーションの複雑性を軽減することができる。対照的に、従来の方法を使用する状態バックアップ方式では、広範なコード開発が必要となりかねず、バグが発生する可能性がある。VMの再起動はコールドリスタートであるため、データセンターの複雑性もまた軽減される。つまり、仮想化インフラストラクチャ(VIM)層の高可用性(VIM層HA)要件はなく、ストレージエリアネットワーク(SAN)の厳しい要件もない。VMは必要に応じて交換することができるため、設置面積もまた削減される。マルチサイト同期のため、または必要に応じてクラスタ全体を新しいデータセンターにおいて再作成するために、データベースの冗長性を活用することができるので、マルチサイト冗長性および地理的冗長性もまた使用可能である。
【0058】
本明細書に記載の主題は、本明細書に開示の構造的手段およびその構造的等価物、またはそれらの組み合わせを含むデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて実装することができる。本明細書に記載の主題は、(例えば、機械可読記憶装置内の)情報媒体において有形に実施されるか、または伝搬信号において実施される1つ以上のコンピュータプログラムなど、1つ以上のコンピュータプログラム製品として、データ処理装置(例えば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ)が実行するために、またはこのデータ処理装置の動作を制御するために実装することができる。(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)コンピュータプログラムを、コンパイラ型言語またはインタプリタ型言語を含む任意の形式のプログラミング言語で書き込むことができ、スタンドアロン・プログラムとして、またはコンピューティング環境での使用に適したモジュール、構成要素、サブルーチン、または他のユニットとして展開することができる。コンピュータプログラムは必ずしもファイルに対応しているとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分に、当該プログラム専用の単一のファイルに、または複数の調整されたファイル(例えば1つ以上のモジュール、サブプログラム、またはコードの一部分を記憶するファイル)に記憶することができる。コンピュータプログラムを、1つのコンピュータまたは1つのサイトにおいて実行するか、または複数のサイトに分散されて通信ネットワークによって相互接続されるように展開することができる。
【0059】
本明細書に記載の主題の方法ステップを含む、本明細書に記載のプロセスおよび論理フローは、入力データに対して動作して出力を生成することによって1つ以上のコンピュータプログラムを実行して本明細書に記載の主題の機能を実行する1つ以上のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実行することができ、本明細書に記載の主題の装置は、この専用論理回路として実装することができる。
【0060】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用および専用両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、読出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサ、および、命令およびデータを記憶するための1つ以上のメモリ装置である。一般的にコンピュータはまた、例えば磁気ディスク、光磁気ディスク、または光ディスクなどのデータを保存するための1つ以上の大容量記憶装置を含むかまたは動作可能に結合されて、この大容量記憶装置との間でデータを受信するかまたは転送するか、またはその両方を行う。コンピュータプログラム命令およびデータを具体化するのに適した情報媒体としては、一例として、半導体メモリ装置(例えば、EPROM、EEPROMおよびフラッシュメモリ装置)、磁気ディスク(例えば内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスクおよび光ディスク(例えばCDおよびDVDディスク)を含む、全ての形式の不揮発性メモリが挙げられる。プロセッサおよびメモリは、専用論理回路によって補完されるかまたはこの専用論理回路に組み込まれてもよい。
【0061】
ユーザとの対話を行うために、本明細書に記載の主題は、ユーザに情報を表示するための例えばCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタなどの表示装置と、ユーザがコンピュータに入力を提供することができるようなキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)とを有するコンピュータ上で実施することができる。他の種類の装置を使用して、ユーザとの対話を行うこともできる。例えばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響、音声または触覚の入力を含む任意の形態で受け取ることができる。
【0062】
本明細書に記載の主題は、バックエンド構成要素(例えばデータサーバ)、ミドルウェア構成要素(例えばアプリケーションサーバ)、またはフロントエンド構成要素(例えば、ユーザが本明細書に記載の主題の実施形態と対話することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)、または、このようなバックエンド構成要素、ミドルウェア構成要素およびフロントエンド構成要素の任意の組み合わせを含む計算装置において実施することができる。システムの構成要素は、例えば通信ネットワークなどの任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、および例えばインターネットなどのワイドエリアネットワーク(「WAN」)が挙げられる。
【0063】
開示の主題は、その適用において、構成の詳細および以下の説明に記載されるかまたは図面に示される構成要素の構成に限定されないことが理解されるべきである。開示の主題は、他の実施形態が可能であり、様々な方法で実施および実行することが可能である。また、本明細書で使用される表現および用語は、説明を目的としており、限定的であるとみなされるべきではないことを理解されたい。
【0064】
このように、当業者であれば、本開示の基礎となる概念は、開示の主題のいくつかの目的を実行するための他の構造、方法およびシステムの設計の基礎として容易に利用することができることを理解するであろう。したがって、特許請求の範囲は、開示の主題の精神および範囲から逸脱しない限り、同等の構成を含むものとみなされることが重要である。
【0065】
開示の主題について上述の例示的な実施形態で説明しかつ図示したが、本開示は単に一例としてなされたものであり、開示の主題の実装における多くの変更は、開示の主題の精神および範囲から逸脱することなく実施することができることを理解されたい。
図1
図2
図3
図4
図5
図6
図7
図8