(57)【特許請求の範囲】
【請求項１】
少なくとも１つの仮想ネットワーク機能（ＶＮＦ）をホストする少なくとも１つの仮想リソース（ＶＲ）を提供するネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）のＮＦＶＩソフトウェア修正の協調を通して、ＶＮＦサービスおよびネットワークサービス利用可能性および連続性を維持するための、仮想化されたインフラストラクチャマネージャ（ＶＩＭ）によって実行される、方法であって、
−  前記ＶＮＦの観点から前記ＮＦＶＩソフトウェア修正についての条件を指定する、ＮＦＶＩソフトウェア修正制約または前記制約から導出されるポリシーを受信することと、
−  前記ＮＦＶＩソフトウェア修正の一部であり、前記少なくとも１つのＶＲに影響を及ぼす今度の変更が開始しようとしているという通知を送ることと、
−  前記ＮＦＶＩソフトウェア修正を適用することと、
−  前記ＮＦＶＩソフトウェア修正の完了に関する通知を送ることと
を含む、方法。
【請求項２】
前記少なくとも１つのＶＲが、少なくとも１つのＶＲグループを含む、請求項１に記載の方法。
【請求項３】
ＶＮＦレベルマネージャ（ＶＮＦＭ）から、前記制約または前記制約から導出される前記ポリシーを受信することをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記制約が、前記ＶＮＦとともに提供されるか、またはエレメントマネージャ（ＥＭ）によってランタイムにおいてセットされる、請求項１から３のいずれか一項に記載の方法。
【請求項５】
ＶＲのためにＮＦＶＩソフトウェア修正の協調が必要であるかどうかの指示を受信することをさらに含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記制約が、アンチアフィニティグループを含む情報を含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
影響を受けるＶＲおよびＶＲグループと、前記制約または前記制約から導出される前記ポリシーに基づいて前記ＮＦＶＩソフトウェア修正が実施され得る順序とを識別することをさらに含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
今度の変更が開始しようとしているという前記通知は、前記少なくとも１つのＶＲが仮想マシンであるとき、前記少なくとも１つのＶＲがライブ移行されるのかシャットダウンされるのかの指示をさらに含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
今度の変更が開始しようとしているという前記通知が送られるのと同時に、決定されたリードタイムをもつタイマーを開始することをさらに含み、前記リードタイムが、前記制約によって課される最大リードタイムとして決定される、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記ＮＦＶＩソフトウェア修正を進める前に前記リードタイムを待つことをさらに含む、請求項９に記載の方法。
【請求項１１】
前記ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、前記少なくとも１つのＶＲがＶＲグループであるとき、ＶＮＦ冗長を増加させるためにスケールアウトするか、またはアクティブな役割を、影響を受けるＶＮＦから、前記ＶＮＦに関連するジオ冗長ペアに切り替えることとをさらに含む、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
前記ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、影響を受けるＶＲ上にホストされるＶＮＦ構成要素（ＶＮＦＣ）インスタンスのアクティブな役割を切り替えるか、またはトラフィックの少なくとも一部を、少なくとも１つの冗長ＶＮＦ構成要素（ＶＮＦＣ）インスタンスにリダイレクトすることとをさらに含む、請求項１から１０のいずれか一項に記載の方法。
【請求項１３】
前記少なくとも１つのＶＲがＶＲグループであるとき、前記ＮＦＶＩソフトウェア修正を適用することは、前記ＶＲグループをサポートするすべてのＮＦＶＩリソースが修正されるまでの複数の反復を含み、アンチアフィニティグループについて、前記アンチアフィニティグループ中で同時に影響を受ける前記ＶＲが、前記アンチアフィニティグループのために指定された最大数を超えず、少なくとも最小数のＶＲが常に利用可能に保たれる、請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
前記ＮＦＶＩソフトウェア修正の前記完了に関する通知を送ることが、影響に備えて行われた設定変更を無効にすること、およびワークロードリバランシングをさらに含む、請求項１から１３のいずれか一項に記載の方法。
【請求項１５】
影響を受けるＶＭをシャットダウンするか、または影響を受けるＶＭを、利用可能な互換ホストに移行させることをさらに含む、請求項１から１４のいずれか一項に記載の方法。
【請求項１６】
少なくとも１つの仮想ネットワーク機能（ＶＮＦ）をホストする少なくとも１つの仮想リソース（ＶＲ）を提供するネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）のＮＦＶＩソフトウェア修正の協調を通して、ＶＮＦサービスおよびネットワークサービス利用可能性および連続性を維持するように動作可能な仮想化されたインフラストラクチャマネージャ（ＶＩＭ）であって、処理回路要素とメモリとを備え、前記メモリが、プロセッサによって実行可能な命令を含んでおり、それにより、前記ＶＩＭは、
−  前記ＶＮＦの観点から前記ＮＦＶＩソフトウェア修正についての条件を指定する、ＮＦＶＩソフトウェア修正制約または前記制約から導出されるポリシーを受信することと、
−  前記ＮＦＶＩソフトウェア修正の一部であり、前記少なくとも１つの仮想リソース（ＶＲ）に影響を及ぼす今度の変更が開始しようとしているという通知を送ることと、
−  前記ＮＦＶＩソフトウェア修正を適用することと、
−  前記ＮＦＶＩソフトウェア修正の完了に関する通知を送ることと
を行うように動作可能である、仮想化されたインフラストラクチャマネージャ（ＶＩＭ）。
【請求項１７】
請求項２から１５に記載の方法のいずれか１つを実行するようにさらに動作可能な、請求項１６に記載の仮想化されたインフラストラクチャマネージャ（ＶＩＭ）。
【請求項１８】
少なくとも１つの仮想ネットワーク機能（ＶＮＦ）をホストする少なくとも１つの仮想リソース（ＶＲ）を提供するネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）のＮＦＶＩソフトウェア修正の協調を通して、ＶＮＦサービスおよびネットワークサービス利用可能性および連続性を維持するように動作可能なクラウドベースシステムであって、処理回路要素とメモリとを備え、前記メモリが、プロセッサによって実行可能な命令を含んでおり、それにより、仮想化されたインフラストラクチャマネージャ（ＶＩＭ）は、
−  前記ＶＮＦの観点から前記ＮＦＶＩソフトウェア修正についての条件を指定する、ＮＦＶＩソフトウェア修正制約または前記制約から導出されるポリシーを受信することと、
−  前記ＮＦＶＩソフトウェア修正の一部であり、前記少なくとも１つのＶＲに影響を及ぼす今度の変更が開始しようとしているという通知を送ることと、
−  前記ＮＦＶＩソフトウェア修正を適用することと、
−  前記ＮＦＶＩソフトウェア修正の完了に関する通知を送ることと
を行うことを可能にされ、それらを行うように動作可能である、クラウドベースシステム。
【請求項１９】
請求項２から１５に記載の方法のいずれか１つを実行するようにさらに動作可能な、請求項１８に記載のクラウドベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第１１９条（Ｅ）および米国特許法施行規則第１．７８条に基づく優先権主張
本非仮特許出願は、ＴＯＥＲＯＥの名義で２０１７年６月９日に出願された、「ＭＥＴＨＯＤ  ＦＯＲ  ＣＯＯＲＤＩＮＡＴＩＮＧ  ＩＮＦＲＡＳＴＲＵＣＴＵＲＥ  ＵＰＧＲＡＤＥ  ＷＩＴＨ  ＨＯＳＴＥＤ  ＡＰＰＬＩＣＡＴＩＯＮＳ／ＶＮＦＳ」と題する先行米国仮特許出願、出願番号第６２／５１７，５９２号に基づく優先権を主張する。
【０００２】
本開示は、ネットワーク機能仮想化（ＮＦＶ：Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）に関する。
【背景技術】
【０００３】
クラウド、および図１に示されているネットワーク機能仮想化（ＮＦＶ）アーキテクチャ１００において、インフラストラクチャは、インフラストラクチャ１３０上で実行するアプリケーションまたは仮想ネットワーク機能（ＶＮＦ：Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）１２０から分離される。しかしながら、これらのアプリケーション／ＶＮＦは、高度に利用可能な様式で、および連続的に、それらのアプリケーション／ＶＮＦのサービス／機能を提供する必要があり得る。分離により、インフラストラクチャは、インフラストラクチャ上で実行するアプリケーション／ＶＮＦに気づいておらず、アプリケーション／ＶＮＦはインフラストラクチャレベルにおける動作に気づいていないので、クラウド／ＮＦＶインフラストラクチャのアップグレードが、このサービスの高い利用可能性および連続性要件を妨害することがある。
【発明の概要】
【０００４】
この問題を克服し、アプリケーション／ＶＮＦに、アップグレードについて知らせるために、算出リソース（すなわち物理ホストおよび／または物理ホストのインフラストラクチャレベル構成要素）がアップグレードされる前に、いくつかのクラウドソリューションが通知を提示し、したがって、算出リソース上にホストされるアプリケーション／ＶＮＦは、それらのアプリケーション／ＶＮＦのサービス／機能を保護する何らかのアクションを実施することができる。
【０００５】
現在、（１つまたは複数の）ある課題が存在する。算出リソースベース通知は役立つが、算出リソースベース通知は、インフラストラクチャアップグレードプロセスに対するアプリケーション／ＶＮＦレベル調節のための十分な観点を提供しない。そのようなアプリケーション／ＶＮＦレベル調節は、インフラストラクチャアップグレードの時間の間、アプリケーション／ＶＮＦの冗長を増加させていることがあるが、これのために、算出リソースベース通知は、あまりにきめの細かいものであり、算出リソースベース通知がアップグレードキャンペーンの始まりおよび終了に関する情報を提供しないので変動を生じ得る。
【０００６】
一方、通知が、インフラストラクチャアップグレードプロセス／キャンペーン全体の始まりにおいて与えられ得、その通知はあまりにも粗いものであり、すなわち、余分のリソースが、まったく影響を受けないアプリケーション／ＶＮＦのために使用されるか、または必要であるよりも長い時間の間使用され得る。
【０００７】
本開示のいくつかの態様および実施形態は、これらまたは他の課題のソリューションを提供し得る。１つのソリューションは、アップグレード通知プロセスの基礎として、仮想リソースのアンチアフィニティグルーピングを使用することである。したがって、インフラストラクチャは、アンチアフィニティグループの第１のメンバーが影響を受ける前に、そのグループのために登録されたアプリケーション／ＶＮＦのマネージャに通知を送り得、その結果、アプリケーション／ＶＮＦは、たとえば、再設定またはスケールアウトによって、一連の影響のために準備され得る。インフラストラクチャは、グループの最後のメンバーが影響を受けた後に、別の通知を送り得、それ以上の影響が予想されず、その時点で準備態勢（ｐｒｅｐａｒｅｄｎｅｓｓ）は切り上げられ、アプリケーション／ＶＮＦはスケールインされる。インフラストラクチャとアプリケーション／ＶＮＦレベルとの間の協調は、アンチアフィニティグループを使用し得る。
【０００８】
いくつかの実施形態は、今度のインフラストラクチャアップグレードに備えて、より効率的なアプリケーション／ＶＮＦレベルアクションを提供し得、算出リソースレベル通知の起こり得る変動の効果を回避し、インフラストラクチャとアプリケーション／ＶＮＦレベルの両方において知られているアップグレードターゲット（すなわちアンチアフィニティグループ）を使用して、キャンペーンレベル通知よりもきめの細かいソリューションを提供する。
【０００９】
いくつかの実施形態は、算出リソースベース通知の既存のソリューションと組み合わせて、またはその既存のソリューションの代替として使用され得る。代替として使用されるとき、それはまた、通知シグナリングを著しく低減することができる。
【００１０】
さらに、インフラストラクチャアップグレードの編成のためにアンチアフィニティグルーピングを使用することは、アプリケーション／ＶＮＦレベルサービス利用可能性および連続性を危うくすることなしに、インフラストラクチャアップグレードキャンペーンを最適化することができる。
【００１１】
少なくとも１つの仮想ネットワーク機能（ＶＮＦ）をホストする少なくとも１つの仮想リソース（ＶＲ）を提供するネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ：Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）のＮＦＶＩソフトウェア修正の協調のための、ＮＦＶＩソフトウェア修正マネージャによって実行される、方法が提供される。本方法は、ＮＦＶＩソフトウェア修正要求を受信することと、仮想ネットワーク機能（ＶＮＦ）レベルマネージャに、少なくとも１つのＶＲのソフトウェア修正プロシージャが開始しようとしているという通知を送ることであって、ＶＮＦレベルマネージャが、ＮＦＶＩによって提供される少なくとも１つのＶＲ上にホストされるＶＮＦを管理する、通知を送ることと、少なくとも１つのＶＲの少なくとも１つのリソースにソフトウェア修正を適用することと、ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することとを含む。
【００１２】
少なくとも１つのＶＲは、少なくとも１つのＶＲグループを含み得る。本方法は、ＶＮＦレベルマネージャから、ＶＲならびに適用可能な制約のためにＮＦＶＩソフトウェア修正の協調が必要であるかどうかの指示を含む情報を受信することをさらに含み得る。情報は、アンチアフィニティグループをさらに含み得る。情報を受信することは、サブスクリプションベースであるか、またはＶＲ作成プロセスの一部であり得る。本方法は、影響を受けるＶＲおよびＶＲグループと、影響を受けるＶＲおよびＶＲグループによって課される制約を考慮してＮＦＶＩリソースのソフトウェア修正が実施され得る順序とを識別することをさらに含み得る。ＶＮＦレベルマネージャへの通知は、少なくとも１つのＶＲが仮想マシンであるとき、少なくとも１つのＶＲがライブ移行されるのかシャットダウンされるのかの指示をさらに含み得る。本方法は、通知が送られるのと同時に、決定されたリードタイムをもつタイマーを開始することであって、リードタイムが、制約によって課される最大リードタイムとして決定される、タイマーを開始することをさらに含み得る。本方法は、ＮＦＶＩソフトウェア修正を進める前にリードタイム待つことをさらに含み得る。
【００１３】
本方法は、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、少なくとも１つのＶＲがＶＲグループであるとき、ＶＮＦ冗長を増加させるためにスケールアウトすることとをさらに含み得る。本方法は、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、少なくとも１つのＶＲがＶＲグループであるとき、アクティブな役割を、影響を受けるＶＮＦから、ＶＮＦに関連するジオ冗長ペアに切り替えることとをさらに含み得る。本方法は、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、影響を受けるＶＲ上にホストされるＶＮＦ構成要素（ＶＮＦＣ）インスタンスのアクティブな役割を切り替えることとをさらに含み得る。本方法は、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、トラフィックの少なくとも一部を、少なくとも１つの冗長ＶＮＦ構成要素（ＶＮＦＣ）インスタンスにリダイレクトすることとをさらに含み得る。本方法は、ＶＮＦレベルマネージャから準備完了（ｒｅａｄｉｎｅｓｓ）情報を受信することと、リードタイマーを取り消すこととをさらに含み得る。
【００１４】
少なくとも１つのＶＲがＶＲグループであるとき、ソフトウェア修正を適用することは、ＶＲグループをサポートするすべてのＮＦＶＩリソースが修正されるまでの複数の反復を含み得、アンチアフィニティグループについて、アンチアフィニティグループ中で同時に影響を受けるＶＲは、アンチアフィニティグループのために指定された最大数を超えず、少なくとも最小数のＶＲが常に利用可能に保たれる。ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することは、影響に備えて行われた設定変更を無効にすることをさらに含み得る。ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することは、ワークロードリバランシングをさらに含み得る。本方法は、ＶＮＦレベルマネージャに、ＮＦＶＩソフトウェア修正が少なくとも１つのＶＲ上にホストされるＶＮＦのために完了したという通知を送ることをさらに含み得る。
【００１５】
本方法は、算出ホストリソースがメンテナンスモードに置かれることを要求し、何らかの準備が、算出ホストリソースがサービス中止にされ得るように行われる必要があることを指示することをさらに含み得る。本方法は、影響を受けるＶＭをシャットダウンすることをさらに含み得る。本方法は、影響を受けるＶＭを、利用可能な互換ホストに移行させることをさらに含み得る。本方法は、算出ホストリソースがもはやＶＭをサーブせず、メンテナンスモードにあるという通知を受信することをさらに含み得る。本方法は、算出ホストリソースのアップグレードを始動することをさらに含み得る。本方法は、リソースアップグレードの完了に関する情報を受信することをさらに含み得る。本方法は、算出ホストリソースをサービス中に戻すように要求することをさらに含み得る。本方法は、算出ホストリソースをサービス中に戻すためのアクションを実施することをさらに含み得る。本方法は、算出ホストリソースが再びサービス中に戻ったという要求確認を受信することをさらに含み得る。
【００１６】
処理回路要素とメモリとを備えるネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）ソフトウェア修正マネージャノードが提供される。メモリは、プロセッサによって実行可能な命令を含んでおり、それにより、ＮＦＶＩソフトウェア修正マネージャは、ＮＦＶＩソフトウェア修正要求を受信することと、仮想ネットワーク機能（ＶＮＦ）レベルマネージャに、少なくとも１つの仮想リソース（ＶＲ）のソフトウェア修正プロシージャが開始しようとしているという通知を送ることであって、ＶＮＦレベルマネージャが、ＮＦＶＩによって提供される少なくとも１つのＶＲ上にホストされるＶＮＦを管理する、通知を送ることと、少なくとも１つのＶＲの少なくとも１つのリソースにソフトウェア修正を適用することと、ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することとを行うように動作可能である。
【００１７】
ＮＦＶＩソフトウェア修正マネージャは、上記で説明された方法、またはその方法の任意のステップを実行するようにさらに動作可能であり得る。
【００１８】
実行されたとき、ＮＦＶＩソフトウェア修正マネージャが、上記で説明された方法、またはその方法の任意のステップを実行することを可能にするコンピュータプログラムを記憶した、コンピュータ可読記憶媒体が提供される。
【００１９】
処理回路要素とメモリとを備えるクラウドベースシステムが提供される。メモリは、プロセッサによって実行可能な命令を含んでおり、それにより、ネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）ソフトウェア修正マネージャは、ＮＦＶＩソフトウェア修正要求を受信することと、仮想ネットワーク機能（ＶＮＦ）レベルマネージャに、少なくとも１つの仮想リソース（ＶＲ）のソフトウェア修正プロシージャが開始しようとしているという通知を送ることであって、ＶＮＦレベルマネージャが、ＮＦＶＩ上にホストされる少なくとも１つのＶＲ上にホストされる仮想ネットワーク機能を管理する、通知を送ることと、少なくとも１つのＶＲの少なくとも１つのリソースにソフトウェア修正を適用することと、ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することとを行うことを可能にされ、それらを行うように動作可能である。
【００２０】
本クラウドベースシステムは、上記で説明された方法、またはその方法の任意のステップを実行するようにさらに動作可能であり得る。
【図面の簡単な説明】
【００２１】
【図１】一実施形態による、ＮＦＶインフラストラクチャ（ＮＦＶＩ）とＶＮＦレベルとの分離を示すＮＦＶアーキテクチャの概略図である。
【図２】リソースのアップグレードを協調させるための方法を実装するのに好適な例示的な実施形態の概略図である。
【図３】一実施形態による、インフラストラクチャアップグレードの協調のためのメッセージの例示的な交換を示す流れ図である。
【図４】一実施形態による、インフラストラクチャアップグレードを協調させるためのステップを示すフローチャートである。
【図５】一実施形態による、ＮＦＶＩソフトウェア修正のための協調フローを示す流れ図である。
【図６】一実施形態による、ＮＦＶＩソフトウェア修正の協調のための方法のフローチャートである。
【図７】一実施形態による、ＮＦＶＩリソースソフトウェア修正をハンドリングするためのメッセージの例示的な交換を示す流れ図である。
【図８】一実施形態による、ＮＦＶＩリソースソフトウェア修正のための方法のフローチャートである。
【図９】一実施形態による、ネットワークノードの概略図である。
【図１０】一実施形態による、仮想化環境の概略図である。
【発明を実施するための形態】
【００２２】
概して、本明細書で使用されるすべての用語は、異なる意味が、明確に与えられ、および／またはそれが使用されるコンテキストから暗示されない限り、関連する技術分野における、それらの用語の通常の意味に従って解釈されるべきである。１つの（ａ／ａｎ）／その（ｔｈｅ）エレメント、装置、構成要素、手段、ステップなどへのすべての言及は、別段明示的に述べられていない限り、そのエレメント、装置、構成要素、手段、ステップなどの少なくとも１つの事例に言及しているものとしてオープンに解釈されるべきである。本明細書で開示されるいずれの方法のステップも、ステップが、別のステップに後続するかまたは先行するものとして明示的に説明されない限り、および／あるいはステップが別のステップに後続するかまたは先行しなければならないことが暗黙的である場合、開示される厳密な順序で実施される必要はない。本明細書で開示される実施形態のうちのいずれかの任意の特徴は、適切であればいかなる場合も、任意の他の実施形態に適用され得る。同じように、実施形態のうちのいずれかの任意の利点は、任意の他の実施形態に適用され得、その逆も同様である。同封の実施形態の他の目的、特徴、および利点は、以下の説明から明らかになる。
【００２３】
添付の図面を参照しながら、次に、本明細書で企図される実施形態のうちのいくつかがより十分に説明される。しかしながら、他の実施形態は、本明細書で開示される主題の範囲内に含まれ、開示される主題は、本明細書に記載される実施形態のみに限定されるものとして解されるべきではなく、むしろ、これらの実施形態は、当業者に主題の範囲を伝達するために、例として提供される。
【００２４】
アフィニティグループおよびアンチアフィニティグループは、ＮＦＶインフラストラクチャ（ＮＦＶＩ）など、クラウドベースシステムのコンテキストにおいて使用されて、仮想リソースがアプリケーション／ＶＮＦレベルにおいて使用されるやり方によって課される、これらのリソースの配置に対する制限を指示する。たとえば、アプリケーション／ＶＮＦの冗長エンティティをホストする仮想マシン（ＶＭ）は、ホスト障害の場合にこれらのＶＭが同時に影響を及ぼされないように、インフラストラクチャレベルにおいて、これらのＶＭが同じ算出リソース（すなわち物理ホスト）上に配置されないことを要求する、アンチアフィニティグループにグルーピングされる。その結果、このグルーピングは、インフラストラクチャレベルにおいて、ならびにアプリケーション／ＶＮＦレベルにおいて知られる。
【００２５】
インフラストラクチャがアップグレードされるとき、インフラストラクチャのハードウェアまたは仮想化リソースはサービス中止にされ、これは、これらのリソース上にホストされる仮想リソースに影響を及ぼす。アップグレードの速度を上げるために、できるだけ多くのインフラストラクチャリソースを並行してアップグレードすることが望ましいが、これは、アプリケーション／ＶＮＦレベルサービスにおける停止を生じる可能性を有する。
【００２６】
その上、連続的で高度に利用可能なサービスを提供するアプリケーション／ＶＮＦが、インフラストラクチャレベル停止に対して準備され、通知を得ることが望まれる。この準備態勢は、単に、単一の影響を受けるＶＭからのトラフィックを阻止または取り替える（ｓｗｉｔｃｈ  ｏｕｔ）ことから、インフラストラクチャアップグレードの時間／持続時間の間アプリケーション／ＶＮＦを再設定またはスケールアウトすることまで及び得る。
【００２７】
アンチアフィニティグループ概念は、インフラストラクチャレベルとアプリケーション／ＶＮＦレベルの両方に知られているので、アンチアフィニティグループ概念は、インフラストラクチャアップグレード中に、これらの対立する目的に対処するために、以下のように使用され得る。
【００２８】
インフラストラクチャマネージャは、アンチアフィニティグループに関連し得るアプリケーション／ＶＮＦレベルマネージャを知っていることも知らないこともある。インフラストラクチャマネージャは、それを、たとえば、（ＶＮＦのための）ＶＭを要求したＶＮＦマネージャ（ＶＮＦＭ）と、そのようなグループ中のＶＮＦＭの配置を知ることによって、知ることができる。代替的に、インフラストラクチャマネージャは登録インターフェースを公開し得、登録インターフェースを通して、マネージャエンティティ（たとえば、図１の（１つまたは複数の）ＶＮＦマネージャ１８５、および場合によっては、図１のＥＭ２  １０６およびＥＭ３  １０７などのエレメントマネージャ（ＥＭ）など）が、いくつかのアンチアフィニティグループに影響を及ぼすイベント（たとえば、今度のアップグレード）に関する通知のために登録することができる。マネージャエンティティは、マネージャエンティティがそのための通知を受信することを望むアンチアフィニティグループ／仮想リソース、および各グループ／リソースについて、マネージャエンティティが関心のあるイベントのタイプ（たとえば、アップグレードの始まり／終了）、ならびにマネージャエンティティがイベントタイプ通知のために必要とするリードタイム（たとえば、イベントのためにアプリケーション／ＶＮＦを準備するために必要とされる時間）を指示し得る。
【００２９】
インフラストラクチャアップグレードがリソースのリストのために始動されるとき、インフラストラクチャマネージャは、ホストされるアンチアフィニティグループに従ってリソースのアップグレードを編成し、すなわち、同じアンチアフィニティグループの仮想リソースをホストするリソースが、順次アップグレードされ、ステップのシリーズを形成し、ここで、各ステップにおいて、単一のリソースがアップグレードされる。異なるアンチアフィニティグループをホストするリソースが並行してアップグレードされることがあり、したがって、それらのリソースは、同じステップにおいてアップグレードされ得る。
【００３０】
計算された順序付けに基づいて、インフラストラクチャマネージャは、各アンチアフィニティグループ上にホストされるアプリケーション／ＶＮＦを担当するマネージャを識別する。
【００３１】
インフラストラクチャマネージャは、次のシリーズにおいてアップグレードされるべきアンチアフィニティグループに関心がある各マネージャに開始通知を送る。この通知は、アプリケーション／ＶＮＦマネージャがインフラストラクチャアップグレードの影響を緩和するのに必要な準備を行うことを可能にし、たとえば、それは、より多くの冗長があるようにアプリケーション／ＶＮＦをスケールアウトし得るか、または地理的冗長の場合、それは、アクティブな役割を、影響を受けないサイトに切り替え得る。
【００３２】
インフラストラクチャマネージャは、適切なリードタイムが満了するまで、またはインフラストラクチャマネージャが、インフラストラクチャマネージャが通知した各マネージャから準備終了（ｒｅａｄｙ）応答を受信するまで待ち、次いで、アンチアフィニティグループをサポートするリソースのアップグレードを、一度に１リソースずつ進める。
【００３３】
ホストされるアンチアフィニティグループをサポートする最後のリソースがアップグレードされると、インフラストラクチャマネージャは、開始通知が送られたマネージャに完了通知（ｃｏｍｐｌｅｔｉｏｎ  ｎｏｔｉｆｉｃａｔｉｏｎ）を送り、そのマネージャは、アプリケーション／ＶＮＦレベルにおけるアップグレード準備態勢を切り上げるために必要とされるアクションを実施すること、たとえばスケールインすることができる。
【００３４】
インフラストラクチャマネージャはまた、アップグレードシリーズ内で各ステップのためのアップグレード通知を個々に、各特定のステップにおいて影響を受ける仮想化されたリソースに送り得る。
【００３５】
図２は、アップグレードを実行するインフラストラクチャマネージャと、アップグレードされるべきリソース（Ｃｏｍｐ  Ｈｏｓｔ１〜Ｃｏｍｐ  Ｈｏｓｔ６）上にホストされる仮想リソース（ＶＭ１〜ＶＭ１３）のグループ上にホストされるアプリケーション／ＶＮＦ（ＶＮＦ１  １２４、ＶＮＦ２  １２５またはＶＮＦ３  １２６）を管理するマネージャ（ＥＭ１  １０５またはＥＭ２  １０６）との間でリソースのアップグレードを協調させるために、本明細書で教示される原理が使用される、例示的な実施形態を示している。アップグレードリソースのこの協調は、（図２上に示されているような）ＶＩＭとＥＭとの間の直接通信を通して、または（図１上に示されているような）ＶＮＦＭを通した、ＶＩＭとＥＭとの間接通信を通して実行され得る。図２によって示されている特定の例では、インフラストラクチャマネージャによって管理されるＮＦＶインフラストラクチャ（ＮＦＶＩ）１３０上にホストされる２つのＥＭ（ＥＭ１  １０５およびＥＭ２  １０６）によって管理される、３つのＶＮＦ（ＶＮＦ１  １２４〜ＶＮＦ３  １２６）がある。
【００３６】
マネージャ（ＥＭ）１０５、１０６が、ハードウェアリソースのグループ上で実行するおよび／またはハードウェアリソースのグループを使用しているアプリケーション／ＶＮＦ１２４〜１２６を管理していることを、理解されたい。アプリケーション／ＶＮＦは、（物理）リソースのグループ（ＣｏｍｐＨｏｓｔ）上にホストされる仮想リソース（ＶＭ）のグループを使用する。この（物理）リソースのグループは、マネージャ（ＥＭ）が図２の上部（ＶＮＦ）を管理している間、インフラストラクチャマネージャによってアップグレードされているグループである。
【００３７】
再び図１を参照すると、より一般的には、マネージャは、ＥＭ２  １０６、ＥＭ３  １０７、ＶＮＦマネージャ１８５、さらには動作サポートシステム／ビジネスサポートシステム（ＯＳＳ／ＢＳＳ１０１）のうちのいずれか１つであり得る。通知は、（１つまたは複数の）仮想化されたインフラストラクチャマネージャ（ＶＩＭ）１９０によって送られることがあり、アップグレードされるべきエンティティは、ＮＦＶＩ１３０ボックス中の任意のもの、すなわちｖＣｏｍｐｕｔｅ、仮想化レイヤ、仮想化レイヤ（ＶＩ）とハードウェア（ＨＡ）との間のインターフェース、または算出ハードウェアと記憶ハードウェアとネットワークハードウェアとのうちのいずれかであり得る。
【００３８】
図２に戻ると、ＶＮＦ２  １２５は、アンチアフィニティグループ２にリストされている複数のＶＭ｛ＶＭ２、ＶＭ４、ＶＭ９、ＶＭ１１｝上で実行する。ＶＮＦ３  １２６は、また、アンチアフィニティグループ３にリストされている複数のＶＭ｛ＶＭ７、ＶＭ８、ＶＭ１３｝上で実行する。
【００３９】
図３および図４に示されている方法によれば、ステップ３２０、４２０において、ＥＭ２  １０６は、（ＶＮＦ２  １２５のための）アンチアフィニティグループ２のためのアップグレード通知のために、および（ＶＮＦ３  １２６のための）アンチアフィニティグループ３のためのアップグレード通知のために、インフラストラクチャマネージャ２１０に登録する。この登録は、１回のみ起こることがあるが、数回起こることが可能である。登録は、アップグレードより前の任意の時間に起こり得、場合によっては、アップグレードよりずっと前に起こることがある。図示のように、（仮想リソースである）ＶＭは、（物理リソースである）算出ホスト上にホストされる。インフラストラクチャマネージャ２１０が、図７に示されているソフトウェア修正マネージャ（ＳＭＭ）７０５を伴って拡張されたＶＩＭ１９０に対応し得ることに留意されたい。
【００４０】
図２〜図４の例では、ステップ３２５、４２５において、システム管理者３０５は、算出ホスト｛ＣｏｍｐＨｏｓｔ４、ＣｏｍｐＨｏｓｔ５、ＣｏｍｐＨｏｓｔ６｝上で実行するハイパーバイザをアップグレードすることを希望する。これらの物理ホストは、アンチアフィニティグループ２とアンチアフィニティグループ３の両方のためのＶＭをホストする。ステップ３３０、４３０において、インフラストラクチャマネージャ２１０は、ホストがどの順序でアップグレードされることになるかを決める。これは、リソースのリストのためのアップグレード順序を計算するステップに対応する。物理ホストがアンチアフィニティグループをホストするので、インフラストラクチャマネージャ２１０は、それらのアンチアフィニティグループに関して、ホストごとにアップグレードを行う必要がある。インフラストラクチャマネージャがＣｏｍｐＨｏｓｔ６に対するアップグレードを開始することを決めた場合、インフラストラクチャマネージャは、ステップ３３５、４３５において、アンチアフィニティグループ３のための通知をＥＭ２  １０６に送り、ステップ３４５、３５０、４５０において、応答またはタイマーの満了を待つ。アンチアフィニティグループ２について、インフラストラクチャマネージャは、インフラストラクチャマネージャがステップ３５５、４５５において、ＣｏｍｐＨｏｓｔ４またはＣｏｍｐＨｏｓｔ５のいずれかのうちの第１のもののアップグレードを進める前に、ＥＭ２  １０６に通知を送る。次いで、ステップ３６０、４６０において、アップグレードが各リソースについて繰り返される。
【００４１】
インフラストラクチャマネージャが、上記で説明されたように、ＣｏｍｐＨｏｓｔ６ではなくＣｏｍｐＨｏｓｔ４に対するアップグレードから開始することを決めた場合、インフラストラクチャマネージャは、アップグレードを開始する前に、アンチアフィニティグループ２とアンチアフィニティグループ３の両方のための通知を、ＶＮＦ２  １２５およびＶＮＦ３  １２６を管理するＥＭ２に送ったであろう。
【００４２】
一般的な事例では、ホストの任意のサブセットが、そのホストが同じアンチアフィニティグループからの２つのＶＭをホストしない限り、アップグレードすべき第１のホストとして選択され得る。すなわち、図２の例の場合、一方または他方のアンチアフィニティグループの２つのＶＭに影響を及ぼさないであろう、アップグレードされるべき２つの物理ホストはない。したがって、アップグレードは一度に１ホストずつ進む必要があり、いずれか１つの物理的ホストが、アップグレードすべき第１のホストとして選択され得る。そのような場合、ホストがアップグレードされる実際の順序の選択は、当業者によって知られる任意の様式で行われ得る。
【００４３】
所与のアンチアフィニティグループのすべてのＶＭのためのホストがアップグレードされると、すなわち、アンチアフィニティグループ２について、ＣｏｍｐＨｏｓｔ４とＣｏｍｐＨｏｓｔ５の両方がアップグレードされた後、およびアンチアフィニティグループ３について、ＣｏｍｐＨｏｓｔ４とＣｏｍｐＨｏｓｔ６の両方がアップグレードされた後、ステップ３６５、４６５において、終了通知が、対応するＥＭに送られる。
【００４４】
図２の例では、ＥＭ１  １０５はアンチアフィニティグループ１のための通知を要求しなかったので、ＥＭ１  １０５はＣｏｍｐＨｏｓｔ５およびＣｏｍｐＨｏｓｔ６のアップグレードに気づいておらず、ＶＮＦ１が、そのアップグレードを、ＣｏｍｐＨｏｓｔ５およびＣｏｍｐＨｏｓｔ６の障害として知覚する。
【００４５】
一実施形態では、ネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）ソフトウェア修正マネージャにおいて実行される、複数の仮想リソース（ＶＲ）をホストするインフラストラクチャリソースをアップグレードするための方法であって、
−  インフラストラクチャリソースのリストについてのアップグレード要求を受信することと、
−  インフラストラクチャリソースのリストのためのアップグレードシーケンスを決定することと、
−  アップグレードのために選択されたインフラストラクチャリソース上にホストされるＶＲ上にホストされる仮想ネットワーク機能を管理する仮想ネットワーク機能（ＶＮＦ）レベルマネージャに、ソフトウェア修正プロシージャが開始しようとしているという通知を送ることと、
−  アップグレードのために選択されたインフラストラクチャリソースをアップグレードすることと、
−  ＶＮＦレベルマネージャにプロセスの完了について通知することと
を含む、方法が提供される。
【００４６】
インフラストラクチャリソースはハードウェアリソースであり得、インフラストラクチャリソースのリストについてのアップグレード要求は、システム管理者からまたはネットワークノードから受信され得、インフラストラクチャリソースのリストは、１つまたは複数のリソースを含み得る。アップグレードシーケンスを決定することは、影響を受けるＶＲおよびＶＲグループを識別することと、影響を受けるＶＲおよびＶＲグループによって課される制約を考慮してＮＦＶＩリソースのソフトウェア修正が実施され得る順序を決定することとを含み得る。本方法では、第１のインフラストラクチャリソースが、ＶＮＦに関係するアンチアフィニティグループ中のＶＲのグルーピングに基づいて選択され得、アンチアフィニティグループについて、アンチアフィニティグループ中で同時に影響を受けるＶＲは、アンチアフィニティグループのために指定された最大数を超えないことがあり、少なくとも最小数のＶＲが常に利用可能に保たれ得る。ソフトウェア修正プロシージャが開始しようとしているという通知は、単一のＶＲのための情報またはＶＲグループのための情報を含み得、ソフトウェア修正プロシージャが開始しようとしているという通知は、さらに、ＶＲがライブ移行されようとしているのかシャットダウンされようとしているのかと、リードタイムとを指定し得る。リードタイムは、インフラストラクチャリソースのアップグレードを開始する前に待つべき最大時間に対応し得る。ＮＦＶＩソフトウェア修正マネージャは、インフラストラクチャリソースのアップグレードを開始する前にリードタイムの間待ち得、リードタイムは、制約によって課される最大リードタイムとして決定され得る。ソフトウェア修正プロシージャが開始しようとしているという通知は、サブスクリプションに基づき、および／あるいは仮想化されたリソースの割り当てを要求するかまたはアンチアフィニティグループを作成するＭＡＮＯエンティティを介して送られ得る。ソフトウェア修正プロシージャが開始しようとしているという開始通知を送った後に、本方法は、ＶＮＦレベルマネージャから、ソフトウェア修正の準備終了メッセージを受信することをさらに含み得、インフラストラクチャリソースをアップグレードすることは、インフラストラクチャリソースのソフトウェア構成要素をアップグレードすることを含み得る。
【００４７】
本方法では、インフラストラクチャリソースをアップグレードすることは、
−  インフラストラクチャリソースのファームウェアを変更することと、
−  仮想マシンを含む、ホストＯＳおよび／またはハイパーバイザソフトウェアを変更することと、
−  仮想ネットワークを提供するソフトウェアを変更することと、
−  仮想記憶域を提供するソフトウェアを変更することと
のうちのいずれか１つを含み得る。
【００４８】
アップグレードのために選択されたインフラストラクチャリソースのアップグレードが完了したとき、インフラストラクチャリソースのリスト中のすべてのインフラストラクチャリソースがアップグレードされるまで、さらなるインフラストラクチャリソースがアップグレードのために選択され得、アップグレードされ得る。本方法は、初期ステップとして、ＶＮＦレベルマネージャから、ＶＲまたはＶＲグループならびに適用可能な制約のためにＮＦＶＩソフトウェア修正の協調が必要であるかどうかの情報を受信するステップをさらに含み得る。ＮＦＶＩソフトウェア修正の協調は、ＶＮＦレベルマネージャが、ＮＦＶＩソフトウェア修正マネージャから通知を受信するために登録していることを伴い得る。ＶＲグループは、アンチアフィニティグループであり得る。ＶＮＦレベルマネージャは、複数のアンチアフィニティグループのための通知を受信するために登録し得る。ＶＮＦレベルマネージャから情報を受信するステップは、
−  通知の最小リードタイムであって、（１つまたは複数の）潜在的中断のためにＶＮＦが準備する必要がある時間を反映する、最小リードタイムと、
−  利用可能であることを必要とされるアンチアフィニティグループメンバーの最小数および／または同時に影響を及ぼされ得るアンチアフィニティグループメンバーの最大数であって、最小数が、機能／サービスが提供されるために必要とされる仮想化されたリソースの最小数（たとえば、クラスタメンバーシップは定数（ｑｕｏｒｕｍ）を必要とする）を反映し、最大数が複製スキーマ／冗長を反映する、最小数および／または最大数と、
−  ＶＭ移行許容度であって、ＶＭがライブ移行を許容するか、オフライン移行を許容するか、またはまったく移行を許容しないことがある、ＶＭ移行許容度と
のうちのいずれか１つを受信することをさらに含み得る。
【００４９】
本方法は、インフラストラクチャリソースのリストについてのアップグレード要求が完了したという通知を送るステップをさらに含み得る。ＶＲは、仮想マシンと、コンテナと、ハイパーバイザと、仮想ローカルエリアネットワークと、仮想ディスク／記憶域とのうちのいずれか１つを備え得る。ＮＦＶＩソフトウェア修正マネージャは仮想インフラストラクチャマネージャ（ＶＩＭ）であり得、ＮＦＶＩソフトウェア修正マネージャは複数のＶＩＭから構成され得、ＶＮＦレベルマネージャは、ホストされる（１つまたは複数の）ＶＮＦならびに管理およびオーケストレーション（ＭＡＮＯ：Ｍａｎａｇｅｍｅｎｔ  ａｎｄ  Ｏｒｃｈｅｓｔｒａｔｉｏｎ）のために協調を担当する、ＶＮＦマネージャ、エレメントマネージャ（ＥＭ）、動作サポートシステム／ビジネスサポートシステム（ＯＳＳ／ＢＳＳ）または別の機能ブロックのうちのいずれか１つを備え得る。
【００５０】
一実施形態では、処理回路要素とメモリとを備えるＮＦＶＩソフトウェア修正マネージャであって、メモリが、プロセッサによって実行可能な命令を含んでおり、それにより、ＮＦＶＩソフトウェア修正マネージャが、本明細書で説明される方法のうちのいずれかを実行するように動作可能である、ＮＦＶＩソフトウェア修正マネージャが提供される。
【００５１】
一実施形態では、実行されたとき、ＮＦＶＩソフトウェア修正マネージャが、本明細書で説明される方法のうちのいずれかを実行することを可能にするコンピュータプログラムを記憶した、コンピュータ可読記憶媒体が提供される。
【００５２】
一実施形態では、アップグレードを実行するインフラストラクチャマネージャと、アップグレードされるべきリソース上にホストされる仮想リソースのグループ上にホストされるアプリケーション／ＶＮＦを管理するマネージャとの間でリソースのアップグレードを協調させるための方法であって、
−  リソースのリストについてのアップグレード要求を受信することと、
−  仮想リソースのホストされるグループの制約に従って、リソースのリストのためのアップグレード順序を算出することと、
−  アップグレードされるべきリソースのグループに関心があるマネージャに開始通知を送ることと、
−  リソースのグループのリソースをアップグレードすることと、
−  アップグレードされるべきリソースのグループに関心があるマネージャに完了通知（ｃｏｍｐｌｅｔｅｄ  ｎｏｔｉｆｉｃａｔｉｏｎ）を送ることと
を含む、方法が提供される。
【００５３】
本方法は、仮想リソースのグループ、またはそれらをホストするリソースのグループがアップグレードされることになるとき、仮想リソースのそのグループを使用するアプリケーション／ＶＮＦのマネージャから、仮想リソースのそのグループのための通知のために登録することについての要求を受信することをさらに含み得る。
【００５４】
本方法は、リソースのグループのリソースをアップグレードする前に、リソースのグループ上にホストされる仮想リソースのグループのために登録された１つまたは複数のマネージャに通知を送ることと、アップグレードされるべきリソースのグループに関心があるマネージャから確認応答が受信されるまで待つことであって、確認応答が開始通知に応答する、確認応答が受信されるまで待つこととをさらに含み得る。
【００５５】
ＮＦＶＩソフトウェアと題する、ＥＴＳＩ  ＮＦＶＩソフトウェア修正シナリオおよび要件のＲＥＬ００６のセクション６．３．３のコンテンツ、ならびに添付のアネックスＢ：ＮＦＶＩソフトウェア修正フローは、以下の残りの説明全体にわたってならびに図５および図７中で複写される。これらの抜粋は、一実施形態による、ＥＴＳＩ規格における導入のために提案された変更を含む。
【００５６】
６．３．３  ＮＦＶＩソフトウェア
６．３．３．１  導入
ＮＦＶＩ機能ブロックは、ＶＮＦが展開、管理、および実行される環境を確立する、すべてのハードウェア構成要素およびソフトウェア構成要素の全体である。ＮＦＶＩ機能ブロックは、算出、記憶およびネットワーキングのための物理ハードウェアリソースと、仮想化レイヤおよび仮想化されたリソース（たとえばハイパーバイザ、ＶＭ、ＶＬＡＮ、仮想ディスクなど）を提供するソフトウェアリソースとに分割され得る。
【００５７】
ＮＦＶＩおよびＮＦＶＩの成分構成要素は、ＮＦＶＩのインフラストラクチャ上にホストされるＶＮＦおよびＭＡＮＯのライフサイクルとは無関係のライフサイクルを有する。しかしながら、ソフトウェアの階層化性質は、ＮＦＶＩレイヤに対する変更がＶＮＦレイヤおよびＭＡＮＯレイヤに悪影響を及ぼす可能性が、この影響を回避するかまたは最小限に抑えるために（本節において説明されるように）配慮がなされなければ、あることを意味する。この潜在的影響は、ソフトウェア修正管理アクティビティに対する支配、優先順位および優先度に影響を及ぼす。
【００５８】
ＮＦＶＩソフトウェア修正プロシージャは、（本明細書で提供されない）節６．２において説明される初期ソフトウェアダウンロードプロシージャの正常な完了の後に始動され得る。
【００５９】
６．３．３．２  ソフトウェア修正優先順位
階層化アーキテクチャの性質は、プランニングおよび技術を通して、所与のレイヤの多くのソフトウェア修正が周囲のレイヤに対する影響なしに進むことができる、ということである。しかしながら、これは万能ではなく、ＮＦＶＩレイヤに対してソフトウェア修正を行う必要と、そのＮＦＶＩ上にホストされる１つまたは複数のワークロード（ＶＮＦおよび／またはＭＡＮＯ）に影響を及ぼす、ソフトウェア修正の可能性との間で衝突が発生するエッジケースがある。これらのケースでは、どのように衝突をハンドリングすべきかについてのルールが規定されなければならない。
【００６０】
ＮＦＶＩの目的はワークロードをサポートすることであるので、ＮＦＶＩに対するソフトウェア修正が進むことができるとき、それらのワークロードに指図させることが必須であるように見えることがある。しかしながら、この手法は、無制限な場合、ＮＦＶＩソフトウェア修正が進むのを無期限に阻止することがあり、潜在的に、安定性、安全性、または新しいサービス展開に対する著しい影響を伴う。
【００６１】
逆に、技術における制限と、ソフトウェア修正中の直接的なサービス中断または修正前ワークロード移行を通した間接的なサービス中断のいずれかを通した、サービスに対する影響とは、ワークロードのいくつかのクラスにとって容認できないと見なされ得る。
【００６２】
これらの両極間の釣合いは、ＮＦＶＩレイヤにおいて保留中のサービス中断／停止に応答するためのサービスのための限定された設備を提供し、障害状態下でとられるであろうアクションよりもグレースフルな（ｇｒａｃｅｆｕｌ）仕方で適切なアクションをとることである。これは、概して、保留中のソフトウェア修正の「通知期間」、およびそのようなＮＦＶＩソフトウェア修正に備えてサービスがサービス自体で応答すべき時間制限された機会の形態をとるであろう。これは、予測可能なＮＦＶＩサービス中断に対する、よりカスタマイズされた、きめの細かい応答を可能にする。
【００６３】
いかなる量の試験もＮＦＶＩソフトウェア修正の成功を保証し得ないことに留意されたい。したがって、通知期間は、破壊的影響の可能性を低減するために働くにすぎないことがある。ソフトウェア修正は異常な挙動をもたらし得、したがってソフトウェア修正管理プロセスの一部は、ソフトウェア修正に関連する危険をさらに低減するために、新たに変更されたインフラストラクチャ上への、ワークロードの、漸進的な、危険が制御された導入でなければならない。
【００６４】
６．３．３．３  ＮＦＶＩソフトウェア修正の協調
ソフトウェア修正は、しばしば、単一のＮＦＶＩ構成要素よりもはるかに多くのものに影響を及ぼし、一方では、リソースプール全体にわたって、ソフトウェア修正の制御された展開を必要とし得る。他方では、これらのＮＦＶＩ構成要素上に展開されるＶＮＦおよびＭＡＮＯは、潜在的影響を緩和するための異なるアクションをとる必要があり得る。あるものは、ＶＮＦおよびＭＡＮＯの設定を変更する、たとえば、ＶＮＦおよびＭＡＮＯの冗長を増加させるためにスケールアウトする必要があり得、他のものは、ソフトウェア修正の時間の間シャットダウンされる仮想化されたリソースを避難させるか、またはそのような影響を受ける仮想化されたリソースを対象とするトラフィックを阻止／低減する必要があり得る。
【００６５】
したがって、正常な協調の必須条件は、仮想化されたリソースおよび仮想化されたリソースのグループに関して、ホストされるＶＮＦおよびＭＡＮＯの制約をＮＦＶＩレイヤにおいて識別することが可能であることである。
【００６６】
ＮＦＶＩレイヤとＶＮＦ／ＭＡＮＯレイヤの両方に関連し、および知られている仮想化されたリソースのグルーピングは、アンチアフィニティグループである。アンチアフィニティグループは、一般に、単一障害点を防止し、したがって、上位レイヤにおいて使用される冗長を反映するために使用される。
【００６７】
制約は、仮想化されたリソースおよび仮想化されたリソースのグループが、たとえば今度のＮＦＶＩソフトウェア修正について通知される必要があるであろうマネージャエンティティとともに、ＮＦＶＩレイヤから要求されるかまたはＮＦＶＩレイヤのために規定されるときに、表され得る。代替的に、マネージャエンティティは、そのような通知をサブスクライブし得る。
【００６８】
制約は、特に、通知が、仮想化されたリソースまたは仮想化されたリソースのグループ（たとえば、アンチアフィニティグループ）が影響を及ぼされる前に要求されるかどうか、準備が時間を必要とし得るときの、通知のために要求されるリードタイム、および仮想リソース移行が実現可能であり、さもなければシャットダウンが好ましい上限時間などのオプション、あるいはアンチアフィニティグループについて、利用可能である必要がある仮想リソースの最小数、または同時に影響を及ぼされ得る仮想リソースの最大数を指示し得る。
【００６９】
ＮＦＶＩソフトウェア修正がＮＦＶＩソフトウェア修正マネージャに要求されたときはいつでも、ＮＦＶＩソフトウェア修正マネージャは、仮想化されたリソースおよびグループのこれらの制約を考慮することによって、ＮＦＶＩレイヤにおけるソフトウェア修正アクティビティを、ホストされるエンティティのマネージャと協調させる必要がある。ＮＦＶＩソフトウェア修正マネージャは、ＮＦＶＩソフトウェア修正プロシージャを管理することを担当する。しかしながら、この時点で、どのＮＦＶ機能ブロックがこの機能を実装するかは決められていないことに留意されたい。
【００７０】
ＮＦＶＩソフトウェア修正のための一般的な協調フローは、図５に示されている例のようなものであり得る。図５は、ＮＦＶＩソフトウェア修正マネージャ７０５機能５５０およびＶＮＦレベルマネージャエンティティ１８５を示しており、それらはたとえば、ホストされる（１つまたは複数の）ＶＮＦおよびＭＡＮＯのために協調を担当する、ＶＮＦＭ、ＥＭ、ＯＳＳ／ＢＳＳ、または場合によっては別の機能ブロックを表し得る。
【００７１】
図５によれば、例示的なフロー５００は以下の通りである。
１．  必須条件として、ＶＮＦレベルマネージャは、仮想化されたリソース（ＶＲ）または（アンチアフィニティグループなどの）ＶＲグループならびに適用可能な制約のためにＮＦＶＩソフトウェア修正の協調が必要であるかどうかを、ＮＦＶＩソフトウェア修正マネージャ５５０に知らせる。これは、サブスクリプションベースであるか、またはＶＲ／ＶＲグループ作成プロセスの一部であり得る。
２．  ＮＦＶＩソフトウェア修正が要求されたとき（２．ａ）、ＮＦＶＩソフトウェア修正マネージャ５５０は、影響を受けるＶＲおよびＶＲグループと、これらの、影響を受けるＶＲおよびＶＲグループによって課される制約を考慮してＮＦＶＩリソースのソフトウェア修正が実施され得る順序とを識別する（２．ｂ）。
３．  ＮＦＶＩソフトウェア修正マネージャは、ＶＮＦレベルマネージャに、ＮＦＶＩソフトウェア修正プロシージャが開始しようとしており、そのことが、ＮＦＶＩソフトウェア修正マネージャがそのためにプロセスを協調させるＶＲグループ（３．ａ）またはＶＲ（３．ｃ）に影響を及ぼし得ることを通知する。仮想マシンなどのＶＲについて、ＮＦＶＩソフトウェア修正マネージャは、さらに、ＶＲがライブ移行されるのかシャットダウンされるのかを指定し得る。通知が送られると同時に、ＮＦＶＩソフトウェア修正マネージャは、決定されたリードタイムをもつタイマーを開始する。リードタイムは、たとえば、制約によって課される最大リードタイムとして決定され得る。ＮＦＶＩソフトウェア修正マネージャは、ソフトウェア修正を進める前にリードタイム待つ。
４．  ＶＮＦレベルマネージャは、（１つまたは複数の）ＮＦＶＩソフトウェア修正によって引き起こされる（１つまたは複数の）潜在的中断のための必要な準備を始動する。ＶＲグループの場合（４．ａ）、これは、たとえば、ＶＮＦの冗長を増加させるためのスケールアウト、またはアクティブな役割を、影響を受けるＶＮＦからＶＮＦのジオ冗長ペアに切り替えることを意味し得る。ＶＲの場合（４．ｃ）、これは、影響を受けるＶＲ上にホストされるＶＮＦＣインスタンスのアクティブな役割の切替え、あるいはトラフィックの一部またはトラフィック全体を別の冗長ＶＮＦＣインスタンスにリダイレクトすることをも意味し得る。準備が完了すると、ＶＮＦレベルマネージャは、ＮＦＶＩソフトウェア修正マネージャにＶＮＦレベルマネージャの準備完了について知らせ得（４．ｂ、４．ｄ）、ただし、これは必要でない。そのような応答は、リードタイマーを取り消すために、ＮＦＶＩソフトウェア修正マネージャによって使用され得る。
５．  リードタイムが満了するか、またはすべての応答が受信されると、ＮＦＶＩソフトウェア修正マネージャは、適用可能なとき、複数のＮＦＶＩリソースのソフトウェア修正（５．ａ）または１つのリソースのソフトウェア修正（５．ｂ）を進める。ＶＲグループの場合（５．ａ）、これは、ＶＲグループをサポートするすべてのＮＦＶＩリソースが要求どおり修正されるまでの複数の反復を意味し得る。それを行い、ＮＦＶＩソフトウェア修正マネージャは、適用可能な制約を尊重する必要がある。アンチアフィニティグループについて、たとえば、グループ中で同時に影響を受けるＶＲは、アンチアフィニティグループのために指定された最大数を超え得ず、少なくとも最小数のＶＲが常に利用可能に保たれる必要があり得る。
６．  ＮＦＶＩソフトウェア修正プロシージャがすべての必要とされるリソースのために完了すると、ＮＦＶＩソフトウェア修正マネージャは、ＶＮＦレベルマネージャにプロセスの完了について通知し（６．ａ、６．ｃ）、ＶＮＦレベルマネージャは、影響またはワークロードリバランシングに備えて行われた設定変更を無効にすることなど、切上げアクションを始動することができる（６．ｂ、６．ｄ）。
７．  最後に、ＮＦＶＩソフトウェア修正マネージャは、要求されたＮＦＶＩソフトウェア修正プロシージャが完了したという通知を送る。
【００７２】
図６を参照すると、少なくとも１つの仮想ネットワーク機能（ＶＮＦ）をホストする少なくとも１つの仮想リソース（ＶＲ）を提供するネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）のＮＦＶＩソフトウェア修正の協調のための、ＮＦＶＩソフトウェア修正マネージャ５５０によって実行される、方法６００であって、
−  ステップ６０２において、ＮＦＶＩソフトウェア修正要求を受信することと、
−  ステップ６０４において、ＶＮＦレベルマネージャに、少なくとも１つのＶＲのソフトウェア修正プロシージャが開始しようとしているという通知を送ることであって、ＶＮＦレベルマネージャが、ＮＦＶＩによって提供される少なくとも１つのＶＲ上にホストされるＶＮＦを管理する、通知を送ることと、
−  ステップ６０９において、少なくとも１つのＶＲの少なくとも１つのリソースにソフトウェア修正を適用することと、
−  ステップ６１１において、ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することと
を含む、方法６００が提供される。
【００７３】
少なくとも１つのＶＲは、少なくとも１つのＶＲグループを含み得る。本方法は、ステップ６０１において、ＶＮＦレベルマネージャから、ＶＲならびに適用可能な制約のためにＮＦＶＩソフトウェア修正の協調が必要であるかどうかの指示を含む情報を受信することをさらに含み得る。情報は、アンチアフィニティグループをさらに含み得る。情報を受信することは、サブスクリプションベースであるか、またはＶＲ作成プロセスの一部であり得る。本方法は、ステップ６０３において、影響を受けるＶＲおよびＶＲグループと、影響を受けるＶＲおよびＶＲグループによって課される制約を考慮してＮＦＶＩリソースのソフトウェア修正が実施され得る順序とを識別することをさらに含み得る。ＶＮＦレベルマネージャへの通知は、少なくとも１つのＶＲが仮想マシンとしてのものであるとき、少なくとも１つのＶＲがライブ移行されようとしているのかシャットダウンされようとしているのかの指示をさらに含み得る。ステップ６０５において、通知が送られるのと同時に、決定されたリードタイムをもつタイマーが開始され得、リードタイムは、制約によって課される最大リードタイムとして決定される。本方法は、ステップ６０６において、ＮＦＶＩソフトウェア修正を進める前にリードタイム待つことをさらに含み得る。準備完了シグナリングがＶＮＦレベルマネージャによって使用され（すなわち、ＡＰＩが提供され）得るとき、待つことは多くともリードタイムである。このオプションが提供されないとき、待つことは少なくともリードタイムである。
【００７４】
本方法は、ステップ６０７において、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、少なくとも１つのＶＲがＶＲグループであるとき、ＶＮＦ冗長を増加させるためにスケールアウトすることとをさらに含み得る。あるいは、本方法は、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、少なくとも１つのＶＲがＶＲグループであるとき、アクティブな役割を、影響を受けるＶＮＦから、ＶＮＦに関連するジオ冗長ペアに切り替えることとをさらに含み得る。あるいは、本方法は、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、影響を受けるＶＲ上にホストされるＶＮＦ構成要素（ＶＮＦＣ）インスタンスのアクティブな役割を切り替えることとをさらに含み得る。あるいは、本方法は、ＮＦＶＩソフトウェア修正によって引き起こされる潜在的中断のための準備を始動することと、トラフィックの少なくとも一部を、少なくとも１つの冗長ＶＮＦ構成要素（ＶＮＦＣ）インスタンスにリダイレクトすることとをさらに含み得る。
【００７５】
本方法は、ステップ６０８において、ＶＮＦレベルマネージャから準備完了情報を受信することと、リードタイマーを取り消すこととをさらに含み得る。ステップ６１０において、少なくとも１つのＶＲがＶＲグループであるとき、ソフトウェア修正を適用することは、ＶＲグループをサポートするすべてのＮＦＶＩリソースが修正されるまでの複数の反復を含み得、アンチアフィニティグループについて、アンチアフィニティグループ中で同時に影響を受けるＶＲは、アンチアフィニティグループのために指定された最大数を超えず、少なくとも最小数のＶＲが常に利用可能に保たれる。ステップ６１２において、ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することは、影響またはワークロードリバランシングに備えて行われた設定変更を無効にすることをさらに含み得る。本方法は、ステップ６１３において、ＶＮＦレベルマネージャに、ＮＦＶＩソフトウェア修正が少なくとも１つのＶＲ上にホストされるＶＮＦのために完了したという通知を送ることをさらに含み得る。
【００７６】
６．３．３．４  ＮＦＶＩリソースソフトウェア修正
ＮＦＶＩのソフトウェア修正は以下を含み得る。
・  物理機器のファームウェアの変更
・  仮想マシンを含む、ホストＯＳおよび／またはハイパーバイザソフトウェアの変更
・  仮想ネットワークを提供するソフトウェアの変更
・  仮想記憶域を提供するソフトウェアの変更
【００７７】
同様の考慮が、物理算出機器、ネットワーキング機器および記憶機器の置換に適用され得ることに留意されたい。
【００７８】
図７のシーケンス図は、これらのＮＦＶＩリソースソフトウェア修正がどのようにハンドリングされ得るかの概観を提供する。そのシーケンス図は、ホストされるＶＲ、すなわちＶＭに影響を及ぼす、算出ホスト（ＣｏｍｐＨｏｓｔ）のアップグレードを例として使用する、例示的な協調フローの第５のステップの詳述である。これが、このプロセスのために行われ得る対話を示す例示的な例であることに留意されたい。
１．  ＮＦＶＩソフトウェア修正マネージャは、算出ホスト（たとえばＣｏｍｐＨｏｓｔ）がメンテナンスモードに置かれることを要求する。これは、何らかの準備が、リソースがサービス中止にされ得るように行われる必要があることを意味する。
２．  適用可能なポリシーに応じて、適切なアクションが、影響を受けるＶＭに対して実施され、すなわち、ＶＭはシャットダウンされ得るか、またはＶＭは移行され得る。移行は、互換ホストが、ＶＭをそこに移行させるために利用可能であることを必要とする。
３．  アクションが完了し、リソースがもはやＶＭをサーブしないと、リソースはメンテナンスモードにあり、ＮＦＶＩソフトウェア修正マネージャは知らせられる。
４．  ＮＦＶＩソフトウェア修正マネージャは、ＣｏｍｐＨｏｓｔリソースのアップグレードを始動する。アップグレード方法は、リソースがサービス中止であるので必須ではない。アップグレード方法の持続時間は、以下で説明されるように重要であり得る。
５．  ＮＦＶＩソフトウェア修正マネージャは、リソースアップグレードの完了について知らせられる。
６．  アップグレードが終了したので、ＮＦＶＩソフトウェア修正マネージャは、ＣｏｍｐＨｏｓｔリソースをサービス中に戻すことを要求する。
７．  リソースをサービス中に戻すのに必要なアクションが実施される。
８．  ＮＦＶＩソフトウェア修正マネージャ要求は、ＣｏｍｐＨｏｓｔリソースが再びサービス中に戻ったことを確認される。
【００７９】
図７の流れ図７００は個々のリソースのアップグレードに焦点を当てており、同じプロセスが、図５の例示的な協調フローのステップ５において示されたように、アップグレードされるべき、各ＮＦＶＩリソースまたはリソースのグループについて繰り返される必要がある。これらのうちのいくつかは並行して実施され得るが、他のものは順次行われる必要があり得る。
【００８０】
一般に、個々のリソースのソフトウェア修正は、それらがネットワークサービスに影響を及ぼさないようなやり方で、順序付けられる必要がある。特に、ＶＮＦレベルにおいて冗長スキーマに参加するＶＭはアンチアフィニティグループとして設定され、そのことは、考慮に入れられる必要がある。個々のリソースのソフトウェア修正プロセスは、一度に、アンチアフィニティグループの多くとも望ましい数のＶＭに影響を及ぼすべきである。その数は、アンチアフィニティグループ中で所与の時間に（たとえば定数を維持するために）利用可能である必要がある最小数の仮想化されたリソース、および／あるいはＶＮＦまたはＭＡＮＯレベルにおいて使用される複製スキーマに基づいて同時に影響を及ぼされ得る最大数の仮想化されたリソースによって制約され得る。
【００８１】
仮想化されたネットワークリソースに関して、仮想化されたリンクのアンチアフィニティグルーピングは、ＮＦＶＩが、その信頼性がアップグレード全体にわたって維持される必要がある信頼できる仮想化されたネットワークリソースを提供し得るとはいえ、同様の考慮を必要とする。同じ手法は、仮想化された記憶リソースに適用可能である。
【００８２】
大きいデータセンターにとって、１つずつリソースのソフトウェア修正を実施することは、これがかなりの時間を要するので、おそらく十分ではない。ＮＦＶＩソフトウェア修正の慎重な計画が、時間消費を最適化するために必要とされる。ソフトウェア修正を計画するエンティティは、たとえば、どれが同時にメンテナンスモードに置かれ得るリソースであるか、移行ステップを繰り返すことを回避するためにどこにリソースを移行させるべきか、および物理リソースが制限されるときにどのようにリソース再配置を最適化すべきかを考慮するべきである。
【００８３】
ＮＦＶＩソフトウェア修正中の潜在的ＮＳ要求およびＶＮＦ  ＬＣＭ要求を調整するための追加の考慮が、これらの要求動作はソフトウェア修正を妨害し得、ＳＬＡの対象となり得るので、必要とされ得る。たとえば、ＶＮＦスケールインは、たった今アップグレードされた仮想化されたリソースを削除することがあり、新しいバージョンではなく古いバージョンのスケールアウトは、ＮＦＶＩソフトウェア修正プロセスを延長する。また、ピーク利用時間においてソフトウェア修正のためにあまりに多くのリソースがリソースプールから取り出された場合、ソフトウェア修正プロセスはスケールアウト動作またはインスタンス化動作を妨げ得、これは、ＶＮＦサービスレベルおよびネットワークサービスレベルにおける性能劣化を引き起こし、または障害の後のＶＮＦ修復を妨げ得る。
【００８４】
図８を参照すると、ＶＲの少なくとも１つのリソースにソフトウェア修正を適用するための方法８００が提供され、方法８００は、ステップ８５１において、算出ホストリソースがメンテナンスモードに置かれることを要求し、何らかの準備が、算出ホストリソースがサービス中止にされ得るように行われる必要があることを指示することを含む。本方法は、ステップ８５２において、影響を受けるＶＭをシャットダウンすることをさらに含み得る。本方法は、ステップ８５３において、影響を受けるＶＭを、利用可能な互換ホストに移行させることをさらに含み得る。本方法は、ステップ８５４において、算出ホストリソースがもはやＶＭをサーブせず、メンテナンスモードにあるという通知を受信することをさらに含み得る。本方法は、ステップ８５５において、算出ホストリソースのアップグレードを始動することをさらに含み得る。本方法は、ステップ８５６において、リソースアップグレードの完了に関する情報を受信することをさらに含み得る。本方法は、ステップ８５７において、算出ホストリソースをサービス中に戻すように要求することをさらに含み得る。本方法は、ステップ８５８において、算出ホストリソースをサービス中に戻すためのアクションを実施することをさらに含み得る。本方法は、ステップ８５９において、算出ホストリソースが再びサービス中に戻ったという要求確認を受信することをさらに含み得る。
【００８５】
６．３．３．５  ＮＦＶＩソフトウェア修正要件
ＲＥＱ．ＮＦＶＩ．Ｍ．０１：ＶＮＦインスタンスまたはＶＮＦインスタンスのマネージャ（たとえばＥＭ／ＯＳＳ／ＢＳＳ／ＶＮＦＭ）は、ＮＦＶＩリソースまたはＮＦＶＩリソースのグループのソフトウェア修正について、ならびにそれぞれのソフトウェア修正の完了において、高度な通知を受信することが可能であるものとする。その通知の目的で、ＶＮＦに影響を及ぼすＮＦＶＩリソースのグループは、ＮＦＶＩリソースがサポートしているおよびＶＮＦが使用しているアンチアフィニティグループによって、またはテナントに割り振られたリソースグループによって識別され得る。
注：その通知は、サブスクリプションに基づき得、および／あるいは仮想化されたリソースの割り当てを要求するかまたはアンチアフィニティグループを作成するＭＡＮＯエンティティを介して送られ得る。
【００８６】
ＲＥＱ．ＮＦＶＩ．Ｍ．０２：ＶＮＦの仮想化された（１つまたは複数の）リソースおよび（１つまたは複数の）アンチアフィニティグループの各々に関して、ＶＮＦの影響許容度のパラメータを指定することが可能であるものとする。
ＮＦＶＩレイヤに向けて
・  高度な通知の最小リードタイム。
注：最小リードタイムは、（１つまたは複数の）潜在的中断のためにＶＮＦが準備する必要がある時間を反映する。
・  利用可能であることが必要とされるアンチアフィニティグループメンバーの最小数および／または同時に影響を及ぼされ得るアンチアフィニティグループメンバーの最大数。
注：最小数は、機能／サービスが提供されるために必要とされる仮想化されたリソースの最小数（たとえば、クラスタメンバーシップは定数を必要とする）を反映し、最大数は複製スキーマ／冗長を反映する。
・  ＶＭ移行許容度。
注：ＶＭは、ライブ移行を許容するか、オフライン移行を許容するか、またはまったく移行を許容しないことがある。ＶＮＦレベルでの異常検出機構を考慮すると、気づかれずに進むことができる最大中断時間が指定され得る。ＮＦＶＩがこの最大中断時間を保証することができない場合、ライブ移行はＶＮＦレベルにおいて障害として検出され、ハンドリングされ、したがって、オフライン移行が代わりに使用されるべきである。移行は、アフィニティ／アンチアフィニティグループおよび／またはロケーション制約によっても制約され得る。
随意にＭＡＮＯに向けて
・  今度のアップグレードのためにＶＮＦを準備するルール／ポリシー。
注：そのようなルールの例は、ＶＮＦＭまたはＮＦＶＯが、ＶＮＦＭまたはＮＦＶＯがアンチアフィニティグループのためのＮＦＶＩソフトウェア修正の通知を受信するときにＶＮＦに適用する、スケールアウトルールであろう。
【００８７】
ＲＥＱ．ＮＦＶＩ．Ｍ．０３：ＮＦＶＩソフトウェア修正プロセス中、仮想化されたリソースのアフィニティグループ／アンチアフィニティグループは、指定されたパラメータに従って維持されるものとする。ＮＦＶＩソフトウェア修正プロセスは、望ましい数よりも多い、アンチアフィニティグループの仮想化されたリソースに、同時に影響を及ぼさないものとする。
注：リソースの望ましい数は、現在利用可能な仮想化されたリソース、取り出され得る最大数およびアンチアフィニティグループ中で必要とされるメンバーの最小数に依存する。
【００８８】
ＲＥＱ．ＮＦＶＩ．Ｍ．０４：ＮＦＶＩソフトウェア修正プロセスは、提示された仮想化されたリソースの全体的信頼性およびパフォーマンスインジケータ（ＫＰＩ）に影響を及ぼさないものとする。ＮＦＶＩソフトウェア修正プロセスは、ＮＦＶＩソフトウェア修正プロセスの実行中の、潜在的ＮＳ動作およびＶＮＦ  ＬＣＭ動作を考慮するものとする。
注：仮想化されたリソースが、ＮＦＶＩソフトウェア修正中に、既存の予約の範囲内で要求されるとき、その要求は常に成功するべきである。
【００８９】
ＲＥＱ．ＮＦＶＩ．Ｍ．０５：ＮＦＶＩソフトウェア修正プロセス中、仮想化されたリソースと仮想化リソースとの間の互換性要件は満たされるものとする。
注：たとえば、仮想化レイヤのハイパーバイザまたはＯＳのアップグレードの場合、現在のＶＭイメージを使用する仮想化されたリソースは、互換性がなくなり得る。ＮＦＶＩソフトウェア修正は、ＶＭイメージ変換プロセスを組み込み、ＶＭが互換ホスト間で移行／障害迂回されることと、予約がアップグレード中に適切に調節されることとを保証する必要があり、これは、古いバージョンと新しいバージョンの両方が同時に使用されている場合、両方が予約済みリソースへのアクセスを十分に有する必要があることを意味する。
【００９０】
ネットワークノードの環境９００におけるネットワークノードを示す図９を参照すると、ネットワークノード９６０は、処理回路要素９７０と、デバイス可読媒体９８０と、インターフェース９９０と、補助機器９８４と、電源９８６と、電力回路要素９８７と、アンテナ９６２とを含む。図９の例示的な無線ネットワーク中に示されているネットワークノード９６０は、ハードウェア構成要素の示されている組合せを含むデバイスを表し得るが、他の実施形態は、構成要素の異なる組合せをもつネットワークノードを備え得る。ネットワークノードが、本明細書で開示されるタスク、特徴、機能および方法を実施するために必要とされるハードウェアおよび／またはソフトウェアの任意の好適な組合せを備えることを理解されたい。その上、ネットワークノード９６０の構成要素が、より大きいボックス内に位置する単一ボックスとして、または複数のボックス内で入れ子にされている単一ボックスとして図示されているが、実際には、ネットワークノードは、単一の示されている構成要素を組成する複数の異なる物理構成要素を備え得る（たとえば、デバイス可読媒体９８０は、複数の別個のハードドライブならびに複数のＲＡＭモジュールを備え得る）。
【００９１】
同様に、ネットワークノード９６０は、複数の物理的に別個の構成要素から構成され得、それらの構成要素は、各々、それら自体のそれぞれの構成要素を有し得る。ネットワークノード９６０が複数の別個の構成要素を備えるいくつかのシナリオでは、別個の構成要素のうちの１つまたは複数が、いくつかのネットワークノードの間で共有され得る。
【００９２】
処理回路要素９７０は、ネットワークノードによって提供されるものとして本明細書で説明される、任意の決定動作、計算動作、または同様の動作（たとえば、いくつかの取得動作）を実施するように設定される。処理回路要素９７０によって実施されるこれらの動作は、処理回路要素９７０によって取得された情報を、たとえば、取得された情報を他の情報に変換することによって、処理すること、取得された情報または変換された情報をネットワークノードに記憶された情報と比較すること、ならびに／あるいは、取得された情報または変換された情報に基づいて、および処理が決定を行ったことの結果として、１つまたは複数の動作を実施することを含み得る。
【００９３】
処理回路要素９７０は、単体で、またはデバイス可読媒体９８０などの他のネットワークノード９６０構成要素と併せてのいずれかで、ネットワークノード９６０機能性を提供するように動作可能な、マイクロプロセッサ、コントローラ、マイクロコントローラ、中央処理ユニット、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、または任意の他の好適なコンピューティングデバイス、リソースのうちの１つまたは複数の組合せ、あるいはハードウェア、ソフトウェアおよび／または符号化された論理の組合せを備え得る。たとえば、処理回路要素９７０は、デバイス可読媒体９８０に記憶された命令、または処理回路要素９７０内のメモリに記憶された命令を実行し得る。そのような機能性は、本明細書で説明される様々な無線特徴、機能、または利益のうちのいずれかを提供することを含み得る。いくつかの実施形態では、処理回路要素９７０は、システムオンチップ（ＳＯＣ）を含み得る。
【００９４】
いくつかの実施形態では、処理回路要素９７０は、無線周波数（ＲＦ）トランシーバ回路要素９７２とベースバンド処理回路要素９７４とのうちの１つまたは複数を含み得る。いくつかの実施形態では、無線周波数（ＲＦ）トランシーバ回路要素９７２とベースバンド処理回路要素９７４とは、別個のチップ（またはチップのセット）、ボード、または無線ユニットおよびデジタルユニットなどのユニット上にあり得る。代替実施形態では、ＲＦトランシーバ回路要素９７２とベースバンド処理回路要素９７４との一部または全部は、同じチップまたはチップのセット、ボード、あるいはユニット上にあり得る。
【００９５】
いくつかの実施形態では、ネットワークノードによって提供されるものとして本明細書で説明される機能性の一部または全部は、デバイス可読媒体９８０または処理回路要素９７０内のメモリに記憶された命令を実行する処理回路要素９７０によって実施され得る。代替実施形態では、機能性の一部または全部は、ハードワイヤード様式などで、別個のまたは個別のデバイス可読媒体に記憶された命令を実行することなしに、処理回路要素９７０によって提供され得る。それらの実施形態のいずれでも、デバイス可読記憶媒体に記憶された命令を実行するか否かにかかわらず、処理回路要素９７０は、説明される機能性を実施するように設定され得る。そのような機能性によって提供される利益は、処理回路要素９７０単独に、またはネットワークノード９６０の他の構成要素に限定されないが、全体としてネットワークノード９６０によって、ならびに／または概してエンドユーザおよび無線ネットワークによって、享受される。
【００９６】
デバイス可読媒体９８０は、限定はしないが、永続記憶域、固体メモリ、リモートマウントメモリ、磁気媒体、光媒体、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、大容量記憶媒体（たとえば、ハードディスク）、リムーバブル記憶媒体（たとえば、フラッシュドライブ、コンパクトディスク（ＣＤ）またはデジタルビデオディスク（ＤＶＤ））を含む、任意の形態の揮発性または不揮発性コンピュータ可読メモリ、ならびに／あるいは、処理回路要素９７０によって使用され得る情報、データ、および／または命令を記憶する、任意の他の揮発性または不揮発性、非一時的デバイス可読および／またはコンピュータ実行可能メモリデバイスを備え得る。デバイス可読媒体９８０は、コンピュータプログラム、ソフトウェア、論理、ルール、コード、テーブルなどのうちの１つまたは複数を含むアプリケーション、および／または処理回路要素９７０によって実行されることが可能であり、ネットワークノード９６０によって利用される、他の命令を含む、任意の好適な命令、データまたは情報を記憶し得る。デバイス可読媒体９８０は、処理回路要素９７０によって行われた計算および／またはインターフェース９９０を介して受信されたデータを記憶するために使用され得る。いくつかの実施形態では、処理回路要素９７０およびデバイス可読媒体９８０は、統合されていると見なされ得る。
【００９７】
インターフェース９９０は、ネットワークノード９６０とネットワーク９０６との間のシグナリングおよび／またはデータの有線または無線通信において使用される。図示のように、インターフェース９９０は、たとえば有線接続上でネットワーク９０６との間でデータを送るおよび受信するための（１つまたは複数の）ポート／（１つまたは複数の）端末９９４を備える。インターフェース９９０は、アンテナ９６２に結合されるか、またはいくつかの実施形態では、アンテナ９６２の一部であり得る、無線フロントエンド回路要素９９２をも含む。無線フロントエンド回路要素９９２は、フィルタ９９８と増幅器９９６とを備える。無線フロントエンド回路要素９９２は、アンテナ９６２および処理回路要素９７０に接続され得る。無線フロントエンド回路要素は、アンテナ９６２と処理回路要素９７０との間で通信される信号を調整するように設定され得る。無線フロントエンド回路要素９９２は、無線接続を介して他のネットワークノードまたはＷＤに送出されるべきであるデジタルデータを受信し得る。無線フロントエンド回路要素９９２は、デジタルデータを、フィルタ９９８および／または増幅器９９６の組合せを使用して適切なチャネルおよび帯域幅パラメータを有する無線信号に変換し得る。無線信号は、次いで、アンテナ９６２を介して送信され得る。同様に、データを受信するとき、アンテナ９６２は無線信号を収集し得、次いで、無線信号は無線フロントエンド回路要素９９２によってデジタルデータに変換される。デジタルデータは、処理回路要素９７０に受け渡され得る。他の実施形態において、インターフェースは、異なる構成要素および／または構成要素の異なる組合せを備え得る。
【００９８】
いくつかの代替実施形態では、ネットワークノード９６０は別個の無線フロントエンド回路要素９９２を含まないことがあり、代わりに、処理回路要素９７０は、無線フロントエンド回路要素を備え得、別個の無線フロントエンド回路要素９９２なしでアンテナ９６２に接続され得る。同様に、いくつかの実施形態では、ＲＦトランシーバ回路要素９７２の全部または一部が、インターフェース９９０の一部と見なされ得る。さらに他の実施形態では、インターフェース９９０は、無線ユニット（図示せず）の一部として、１つまたは複数のポートまたは端末９９４と、無線フロントエンド回路要素９９２と、ＲＦトランシーバ回路要素９７２とを含み得、インターフェース９９０は、デジタルユニット（図示せず）の一部であるベースバンド処理回路要素９７４と通信し得る。
【００９９】
アンテナ９６２は、無線信号９０７を送り、および／または受信するように設定された、１つまたは複数のアンテナまたはアンテナアレイを含み得る。アンテナ９６２は、無線フロントエンド回路要素９９２に結合され得、データおよび／または信号を無線で送信および受信することが可能な任意のタイプのアンテナであり得る。いくつかの実施形態では、アンテナ９６２は、たとえば２ＧＨｚと６６ＧＨｚとの間の無線信号を送信／受信するように動作可能な１つまたは複数の全方向、セクタまたはパネルアンテナを備え得る。全方向アンテナは、任意の方向に無線信号を送信／受信するために使用され得、セクタアンテナは、特定のエリア内のデバイスから無線信号を送信／受信するために使用され得、パネルアンテナは、比較的直線ラインで無線信号を送信／受信するために使用される見通し線アンテナであり得る。いくつかの事例では、２つ以上のアンテナの使用は、ＭＩＭＯと呼ばれることがある。いくつかの実施形態では、アンテナ９６２は、ネットワークノード９６０とは別個であり得、インターフェースまたはポートを通してネットワークノード９６０に接続可能であり得る。
【０１００】
アンテナ９６２、インターフェース９９０、および／または処理回路要素９７０は、ネットワークノードによって実施されるものとして本明細書で説明される任意の受信動作および／またはいくつかの取得動作を実施するように設定され得る。任意の情報、データおよび／または信号が、無線デバイス、別のネットワークノードおよび／または任意の他のネットワーク機器から受信され得る。同様に、アンテナ９６２、インターフェース９９０、および／または処理回路要素９７０は、ネットワークノードによって実施されるものとして本明細書で説明される任意の送信動作を実施するように設定され得る。任意の情報、データおよび／または信号が、無線デバイス、別のネットワークノードおよび／または任意の他のネットワーク機器に送信され得る。
【０１０１】
電力回路要素９８７は、電力管理回路要素を備えるか、または電力管理回路要素に結合され得、本明細書で説明される機能性を実施するための電力を、ネットワークノード９６０の構成要素に供給するように設定される。電力回路要素９８７は、電源９８６から電力を受信し得る。電源９８６および／または電力回路要素９８７は、それぞれの構成要素に好適な形態で（たとえば、各それぞれの構成要素のために必要とされる電圧および電流レベルにおいて）、ネットワークノード９６０の様々な構成要素に電力を提供するように設定され得る。電源９８６は、電力回路要素９８７および／またはネットワークノード９６０中に含まれるか、あるいは電力回路要素９８７および／またはネットワークノード９６０の外部にあるかのいずれかであり得る。たとえば、ネットワークノード９６０は、電気ケーブルなどの入力回路要素またはインターフェースを介して外部電源（たとえば、電気コンセント）に接続可能であり得、それにより、外部電源は電力回路要素９８７に電力を供給する。さらなる例として、電源９８６は、電力回路要素９８７に接続された、または電力回路要素９８７中で統合された、バッテリーまたはバッテリーパックの形態の電力源を備え得る。バッテリーは、外部電源が落ちた場合、バックアップ電力を提供し得る。光起電力デバイスなどの他のタイプの電源も使用され得る。
【０１０２】
ネットワークノード９６０の代替実施形態は、本明細書で説明される機能性、および／または本明細書で説明される主題をサポートするために必要な機能性のうちのいずれかを含む、ネットワークノードの機能性のいくつかの態様を提供することを担当し得る、図９に示されている構成要素以外の追加の構成要素を含み得る。たとえば、ネットワークノード９６０は、ネットワークノード９６０への情報の入力を可能にするための、およびネットワークノード９６０からの情報の出力を可能にするための、ユーザインターフェース機器を含み得る。これは、ユーザが、ネットワークノード９６０のための診断、メンテナンス、修復、および他の管理機能を実施することを可能にし得る。
【０１０３】
いくつかの実施形態では、本明細書で説明される方法の、一部または全部のステップが、ネットワークノード９６０において実行され得る。たとえば、ネットワークノードは、ネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）ソフトウェア修正マネージャ、またはネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）ソフトウェア修正マネージャの機能性の一部を実行し得、ネットワークノードは処理回路要素とメモリとを備え、メモリは、プロセッサによって実行可能な命令を含んでおり、それにより、ＮＦＶＩソフトウェア修正マネージャは、
−  ＮＦＶＩソフトウェア修正要求を受信することと、
−  仮想ネットワーク機能（ＶＮＦ）レベルマネージャに、少なくとも１つの仮想リソース（ＶＲ）のソフトウェア修正プロシージャが開始しようとしているという通知を送ることであって、ＶＮＦレベルマネージャが、ＮＦＶＩによって提供される少なくとも１つのＶＲ上にホストされるＶＮＦを管理する、通知を送ることと、
−  少なくとも１つのＶＲの少なくとも１つのリソースにソフトウェア修正を適用することと、
−  ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することと
を行うように動作可能である。
【０１０４】
ネットワークノード９６０において全部または一部を実行されるＮＦＶＩソフトウェア修正マネージャは、本明細書で開示される方法のいずれか１つを実行するようにさらに動作可能である。いくつかの実施形態では、実行されたとき、ＮＦＶＩソフトウェア修正マネージャが、本明細書で開示される方法のうちのいずれか１つを実行することを可能にするコンピュータプログラムを、コンピュータ可読記憶媒体が記憶している。
【０１０５】
図１０は、仮想化環境１０００を示す概略ブロック図である。
【０１０６】
本開示のコンテキストにおいて、コンテナは、それ自体の内部に他の構成要素を含んでいることがあるソフトウェア構成要素である。複数のコンテナが同じオペレーティングシステム（ＯＳ）インスタンスを共有することができ、各コンテナは、各コンテナに含まれている構成要素のための隔離された実行環境を提供する。ＶＭとは対照的に、コンテナとコンテナに含まれている構成要素とは、同じホストＯＳインスタンスを共有しており、したがって、より少ないオーバーヘッドを生じる。
【０１０７】
クラウド環境において、２つのタイプの配置制約、すなわち、アフィニティグループおよびアンチアフィニティグループがある。アンチアフィニティグループは、どのＶＭが同じホスト上に一緒に配置され得ないかを表す。したがって、アプリケーションレベルの冗長を考慮して、同じアンチアフィニティグループのＶＭは、それらのＶＭが冗長ペアを形成し得、すなわち、所与のアプリケーションサービスを提供し、保護するので、同時にアップグレードされ得ない。
【０１０８】
仮想化環境１０００は、１つまたは複数のプロセッサのセットまたは処理回路要素１０６０を備える、汎用または専用のネットワークハードウェアデバイス１０３０を備え、１つまたは複数のプロセッサのセットまたは処理回路要素１０６０は、商用オフザシェルフ（ＣＯＴＳ：ｃｏｍｍｅｒｃｉａｌ  ｏｆｆ−ｔｈｅ−ｓｈｅｌｆ）プロセッサ、専用の特定用途向け集積回路（ＡＳＩＣ）、あるいは、デジタルもしくはアナログハードウェア構成要素または専用プロセッサを含む任意の他のタイプの処理回路要素であり得る。各ハードウェアデバイスはメモリ１０９０−１を備え得、メモリ１０９０−１は、処理回路要素１０６０によって実行される命令１０９５またはソフトウェアを一時的に記憶するための非永続的メモリであり得る。各ハードウェアデバイスは、ネットワークインターフェースカードとしても知られる、１つまたは複数のネットワークインターフェースコントローラ（ＮＩＣ）１０７０を備え得、ネットワークインターフェースコントローラ（ＮＩＣ）１０７０は物理ネットワークインターフェース１０８０を含む。各ハードウェアデバイスは、処理回路要素１０６０によって実行可能なソフトウェア１０９５および／または命令を記憶した、非一時的、永続的、機械可読記憶媒体１０９０−２をも含み得る。ソフトウェア１０９５は、１つまたは複数の（ハイパーバイザとも呼ばれる）仮想化レイヤ１０５０をインスタンス化するためのソフトウェア、仮想マシン１０４０を実行するためのソフトウェア、ならびに、それが、本明細書で説明されるいくつかの実施形態との関係において説明される機能、特徴および／または利益を実行することを可能にする、ソフトウェアを含む、任意のタイプのソフトウェアを含み得る。
【０１０９】
仮想マシン１０４０は、仮想処理、仮想メモリ、仮想ネットワーキングまたはインターフェース、および仮想記憶域を備え、対応する仮想化レイヤ１０５０またはハイパーバイザによって実行され得る。仮想アプライアンス１０２０の事例の異なる実施形態が、仮想マシン１０４０のうちの１つまたは複数上で実装され得、実装は異なるやり方で行われ得る。
【０１１０】
動作中に、処理回路要素１０６０は、ソフトウェア１０９５を実行してハイパーバイザまたは仮想化レイヤ１０５０をインスタンス化し、ハイパーバイザまたは仮想化レイヤ１０５０は、時々、仮想マシンモニタ（ＶＭＭ）と呼ばれることがある。仮想化レイヤ１０５０は、仮想マシン１０４０に、ネットワーキングハードウェアのように見える仮想動作プラットフォームを提示し得る。
【０１１１】
図１０に示されているように、ハードウェア１０３０は、一般的なまたは特定の構成要素をもつスタンドアロンネットワークノードであり得る。ハードウェア１０３０は、アンテナ１０２２５を備え得、仮想化を介していくつかの機能を実装し得る。代替的に、ハードウェア１０３０は、多くのハードウェアノードが協働し、特に、アプリケーション１０２０のライフサイクル管理を監督する、管理およびオーケストレーション（ＭＡＮＯ）１７５を介して管理される、（たとえば、データセンターまたは顧客構内機器（ＣＰＥ：ｃｕｓｔｏｍｅｒ  ｐｒｅｍｉｓｅ  ｅｑｕｉｐｍｅｎｔ）の場合のような）ハードウェアのより大きいクラスタの一部であり得る。
【０１１２】
ハードウェアの仮想化は、いくつかのコンテキストにおいて、ネットワーク機能仮想化（ＮＦＶ）と呼ばれる。ＮＦＶは、多くのネットワーク機器タイプを、データセンターおよび顧客構内機器中に配置され得る、業界標準高ボリュームサーバハードウェア、物理スイッチ、および物理記憶域上にコンソリデートするために使用され得る。
【０１１３】
ＮＦＶのコンテキストにおいて、仮想マシン１０４０は、プログラムを、それらのプログラムが、物理的な仮想化されていないマシン上で実行しているかのように実行する、物理マシンのソフトウェア実装形態であり得る。仮想マシン１０４０の各々と、その仮想マシンに専用のハードウェアであろうと、および／またはその仮想マシンによって仮想マシン１０４０のうちの他の仮想マシンと共有されるハードウェアであろうと、その仮想マシンを実行するハードウェア１０３０のその一部とは、別個の仮想ネットワークエレメント（ＶＮＥ）を形成する。
【０１１４】
さらにＮＦＶのコンテキストにおいて、仮想ネットワーク機能（ＶＮＦ）は、ハードウェアネットワーキングインフラストラクチャ１０３０の上の１つまたは複数の仮想マシン１０４０において実行する特定のネットワーク機能をハンドリングすることを担当し、図１０中のアプリケーション１０２０に対応する。
【０１１５】
いくつかの実施形態では、各々、１つまたは複数の送信機１０２２０と１つまたは複数の受信機１０２１０とを含む、１つまたは複数の無線ユニット１０２００は、１つまたは複数のアンテナ１０２２５に結合され得る。無線ユニット１０２００は、１つまたは複数の適切なネットワークインターフェースを介してハードウェアノード１０３０と直接通信し得、無線アクセスノードまたは基地局など、無線能力をもつ仮想ノードを提供するために仮想構成要素と組み合わせて使用され得る。いくつかの実施形態では、何らかのシグナリングが、ハードウェアノード１０３０と無線ユニット１０２００との間の通信のために代替的に使用され得る制御システム１０２３０を使用して、実現され得る。
【０１１６】
いくつかの実施形態では、本明細書で説明される方法の、一部または全部のステップは、図１の仮想化環境１００において、または図１０の仮想化環境１０００において実行され得る。たとえば、仮想化環境１００、１０００は、ネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）ソフトウェア修正マネージャ、またはネットワーク機能仮想化インフラストラクチャ（ＮＦＶＩ）ソフトウェア修正マネージャの機能性の一部を実行し得、仮想化環境は処理回路要素とメモリとを備え、メモリは、プロセッサによって実行可能な命令を含んでおり、それにより、ＮＦＶＩソフトウェア修正マネージャは、
−  ＮＦＶＩソフトウェア修正要求を受信することと、
−  仮想ネットワーク機能（ＶＮＦ）レベルマネージャに、少なくとも１つの仮想リソース（ＶＲ）のソフトウェア修正プロシージャが開始しようとしているという通知を送ることであって、ＶＮＦレベルマネージャが、ＮＦＶＩ上にホストされる少なくとも１つのＶＲ上にホストされる仮想ネットワーク機能を管理する、通知を送ることと、
−  少なくとも１つのＶＲの少なくとも１つのリソースにソフトウェア修正を適用することと、
−  ＶＮＦレベルマネージャにソフトウェア修正の完了について通知することと
を行うように動作可能である。
【０１１７】
ＮＦＶＩソフトウェア修正マネージャは、本明細書で開示される方法のうちのいずれか１つを実行するようにさらに動作可能である。
【０１１８】
いくつかの実施形態では、実行されたとき、ＮＦＶＩソフトウェア修正マネージャが、本明細書で開示される方法のうちのいずれか１つを実行することを可能にするコンピュータプログラムを、コンピュータ可読記憶媒体が記憶している。
【０１１９】
いくつかの実施形態では、本明細書で説明される方法の、一部または全部のステップは、クラウドベースシステムにおいて実行され得、クラウドベースシステムは処理回路要素とメモリとを備え、メモリは、プロセッサによって実行可能な命令を含んでおり、それにより、ＮＦＶＩソフトウェア修正マネージャは、本明細書で説明される方法のうちのいずれか１つを実行することを可能にされ、本明細書で説明される方法のうちのいずれか１つを実行するように動作可能である。
【図１】
0006987158.tif 000002
【図２】
0006987158.tif 000003
【図３】
0006987158.tif 000004
【図４】
0006987158.tif 000005
【図５】
0006987158.tif 000006
【図６】
0006987158.tif 000007
【図７】
0006987158.tif 000008
【図８】
0006987158.tif 000009
【図９】
0006987158.tif 000010
【図１０】
0006987158.tif 000011