以下、本発明の一実施形態について図面に基づき詳細に説明する。
図1及び図2は、本発明の一実施形態に係る通信システム1の一例を示す図である。図1は、通信システム1に含まれるデータセンタ群のロケーションに着目した図となっている。図2は、通信システム1に含まれるデータセンタ群で実装されている各種のコンピュータシステムに着目した図となっている。
図1に示すように、通信システム1に含まれるデータセンタ群は、セントラルデータセンタ10、リージョナルデータセンタ12、エッジデータセンタ14に分類される。
セントラルデータセンタ10は、例えば、通信システム1がカバーするエリア内(例えば、日本国内)に分散して数個配置されている。
リージョナルデータセンタ12は、例えば、通信システム1がカバーするエリア内に分散して数十個配置されている。例えば、通信システム1がカバーするエリアが日本国内全域である場合に、リージョナルデータセンタ12が、各都道府県に1から2個ずつ配置されてもよい。
エッジデータセンタ14は、例えば、通信システム1がカバーするエリア内に分散して数千個配置される。また、エッジデータセンタ14のそれぞれは、アンテナ16を備えた通信設備18と通信可能となっている。ここで図1に示すように、1つのエッジデータセンタ14が数個の通信設備18と通信可能になっていてもよい。通信設備18は、サーバコンピュータなどのコンピュータを含んでいてもよい。本実施形態に係る通信設備18は、アンテナ16を介してUE(User Equipment)20との間で無線通信を行う。アンテナ16を備えた通信設備18には、例えば、後述のRU(Radio Unit)が設けられている。
本実施形態に係るセントラルデータセンタ10、リージョナルデータセンタ12、エッジデータセンタ14には、それぞれ、複数のサーバが配置されている。
本実施形態では例えば、セントラルデータセンタ10、リージョナルデータセンタ12、エッジデータセンタ14は、互いに通信可能となっている。また、セントラルデータセンタ10同士、リージョナルデータセンタ12同士、エッジデータセンタ14同士も互いに通信可能になっている。
図2に示すように、本実施形態に係る通信システム1には、プラットフォームシステム30、複数の無線アクセスネットワーク(RAN)32、複数のコアネットワークシステム34、複数のUE20が含まれている。コアネットワークシステム34、RAN32、UE20は、互いに連携して、移動通信ネットワークを実現する。
RAN32は、第4世代移動通信システム(以下、4Gと呼ぶ。)におけるeNB(eNodeB)や、第5世代移動通信システム(以下、5Gと呼ぶ。)におけるgNB(NR基地局)に相当する、アンテナ16を備えたコンピュータシステムである。本実施形態に係るRAN32は、主に、エッジデータセンタ14に配置されているサーバ群及び通信設備18によって実装される。なお、RAN32の一部(例えば、DU(Distributed Unit)、CU(Central Unit)、vDU(virtual Distributed Unit)、vCU(virtual Central Unit))は、エッジデータセンタ14ではなく、セントラルデータセンタ10やリージョナルデータセンタ12で実装されてもよい。
コアネットワークシステム34は、4GにおけるEPC(Evolved Packet Core)や、5Gにおける5Gコア(5GC)に相当するシステムである。本実施形態に係るコアネットワークシステム34は、主に、セントラルデータセンタ10やリージョナルデータセンタ12に配置されているサーバ群によって実装される。
本実施形態に係るプラットフォームシステム30は、例えば、クラウド基盤上に構成されており、図2に示すように、プロセッサ30a、記憶部30b、通信部30c、が含まれる。プロセッサ30aは、プラットフォームシステム30にインストールされるプログラムに従って動作するマイクロプロセッサ等のプログラム制御デバイスである。記憶部30bは、例えばROMやRAM等の記憶素子や、ソリッドステートドライブ(SSD)、ハードディスクドライブ(HDD)などである。記憶部30bには、プロセッサ30aによって実行されるプログラムなどが記憶される。通信部30cは、例えば、NIC(Network Interface Controller)や無線LAN(Local Area Network)モジュールなどといった通信インタフェースである。なお、通信部30cにおいて、SDN(Software-Defined Networking)が実装されていてもよい。通信部30cは、RAN32、コアネットワークシステム34、との間でデータを授受する。
本実施形態では、プラットフォームシステム30は、セントラルデータセンタ10に配置されているサーバ群によって実装されている。なお、プラットフォームシステム30が、リージョナルデータセンタ12に配置されているサーバ群によって実装されていてもよい。
本実施形態では例えば、購入者によるネットワークサービス(NS)の購入要求に応じて、購入要求がされたネットワークサービスがRAN32やコアネットワークシステム34に構築される。そして、構築されたネットワークサービスが購入者に提供される。
例えば、MVNO(Mobile Virtual Network Operator)である購入者に、音声通信サービスやデータ通信サービス等のネットワークサービスが提供される。本実施形態によって提供される音声通信サービスやデータ通信サービスは、図1及び図2に示すUE20を利用する、購入者(上述の例ではMVNO)にとっての顧客(エンドユーザ)に対して最終的に提供されることとなる。当該エンドユーザは、RAN32やコアネットワークシステム34を介して他のユーザとの間で音声通信やデータ通信を行うことが可能である。また、当該エンドユーザのUE20は、RAN32やコアネットワークシステム34を介してインターネット等のデータネットワークにアクセスできるようになっている。
また、本実施形態において、ロボットアームやコネクテッドカーなどを利用するエンドユーザに対して、IoT(Internet of Things)サービスが提供されても構わない。そして、この場合において、例えば、ロボットアームやコネクテッドカーなどを利用するエンドユーザが本実施形態に係るネットワークサービスの購入者となっても構わない。
本実施形態では、セントラルデータセンタ10、リージョナルデータセンタ12、及び、エッジデータセンタ14に配置されているサーバには、ドッカー(Docker(登録商標))などのコンテナ型の仮想化アプリケーション実行環境がインストールされており、これらのサーバにコンテナをデプロイして稼働させることができるようになっている。これらのサーバにおいて、このような仮想化技術によって生成される1以上のコンテナから構成されるクラスタが構築されてもよい。例えば、クバネテス(Kubernetes(登録商標))等のコンテナ管理ツールによって管理されるクバネテスクラスタが構築されていてもよい。そして、構築されたクラスタ上のプロセッサがコンテナ型のアプリケーションを実行してもよい。
そして本実施形態において購入者に提供されるネットワークサービスは、1又は複数の機能ユニット(例えば、ネットワークファンクション(NF))から構成される。本実施形態では、当該機能ユニットは、仮想化技術によって実現されたNFで実装される。仮想化技術によって実現されたNFは、VNF(Virtualized Network Function)と称される。なお、どのような仮想化技術によって仮想化されたかは問わない。例えば、コンテナ型の仮想化技術によって実現されたCNF(Containerized Network Function)も、本説明においてVNFに含まれる。本実施形態では、ネットワークサービスが1又は複数のCNFによって実装されるものとして説明する。また、本実施形態に係る機能ユニットは、ネットワークノードに相当するものであってもよい。
図3は、稼働中のネットワークサービスの一例を模式的に示す図である。図3に示すネットワークサービスには、複数のRU40、複数のDU42、複数のCU44(CU-CP(Central Unit - Control Plane)44a、及び、CU-UP(Central Unit - User Plane)44b)、複数のAMF(Access and Mobility Management Function)46、複数のSMF(Session Management Function)48、及び、複数のUPF(User Plane Function)50などのNFがソフトウェア要素として含まれている。
図3の例では、RU40、DU42、CU-CP44a、AMF46、及び、SMF48が、コントロールプレーン(C-Plane)の要素に相当し、RU40、DU42、CU-UP44b、及び、UPF50が、ユーザプレーン(U-Plane)の要素に相当する。
なお、当該ネットワークサービスに、他の種類のNFがソフトウェア要素として含まれていても構わない。また、ネットワークサービスは、複数のサーバ等のコンピュータリソース(ハードウェア要素)上に実装されている。
そして、本実施形態では例えば、図3に示すネットワークサービスによって、あるエリアにおける通信サービスが提供される。
そして、本実施形態では、図3に示す複数のRU40、複数のDU42、複数のCU-UP44b、及び、複数のUPF50が、1つのエンド・ツー・エンドのネットワークスライスに所属していることとする。
図4は、本実施形態において通信システム1に構築される要素間の関連付けの一例を模式的に示す図である。なお、図4に示された記号M及びNは1以上の任意の整数を表し、リンクで接続された要素同士の個数の関係を示す。リンクの両端がMとNの組み合わせの場合は、当該リンクで接続された要素同士は多対多の関係であり、リンクの両端が1とNの組み合わせ又は1とMの組み合わせの場合は、当該リンクで接続された要素同士は1対多の関係である。
図4に示すように、ネットワークサービス(NS)、ネットワークファンクション(NF)、CNFC(Containerized Network Function Component)、pod、及び、コンテナは、階層構成となっている。
NSは、例えば、複数のNFから構成されるネットワークサービスに相当する。ここで、NSが、例えば、5GC、EPC、5GのRAN(gNB)、4GのRAN(eNB)、などの粒度の要素に相当するものであってもよい。
NFは、5Gでは、例えば、RU、DU、CU-CP、CU-UP、AMF、SMF、UPFなどの粒度の要素に相当する。また、NFは、4Gでは、例えば、MME(Mobility Management Entity)、HSS(Home Subscriber Server)、S-GW(Serving Gateway)、vDU、vCUなどの粒度の要素に相当する。本実施形態では例えば、1つのNSには、1又は複数のNFが含まれる。すなわち、1又は複数のNFが、1つのNSの配下にあることとなる。
CNFCは、例えば、DU mgmtやDU Processingなどの粒度の要素に相当する。CNFCは、1つ以上のコンテナとしてサーバにデプロイされるマイクロサービスであってもよい。例えば、あるCNFCは、DU、CU-CP、CU-UP等の機能のうち一部の機能を提供するマイクロサービスであってもよい。また、あるCNFCは、UPF、AMF、SMF等の機能のうちの一部の機能を提供するマイクロサービスであってもよい。本実施形態では例えば、1つのNFには、1又は複数のCNFCが含まれる。すなわち、1又は複数のCNFCが、1つのNFの配下にあることとなる。
podは、例えば、クバネテスでドッカーコンテナを管理するための最小単位を指す。本実施形態では例えば、1つのCNFCには、1又は複数のpodが含まれる。すなわち、1又は複数のpodが、1つのCNFCの配下にあることとなる。
そして、本実施形態では例えば、1つのpodには、1又は複数のコンテナが含まれる。すなわち、1又は複数のコンテナが、1つのpodの配下にあることとなる。
また、図4に示すように、ネットワークスライス(NSI)とネットワークスライスサブネットインスタンス(NSSI)とは階層構成となっている。
NSIは、複数ドメイン(例えばRAN32からコアネットワークシステム34)に跨るエンド・ツー・エンドの仮想回線とも言える。NSIは、高速大容量通信用のスライス(例えば、eMBB:enhanced Mobile Broadband用)、高信頼度かつ低遅延通信用のスライス(例えば、URLLC:Ultra-Reliable and Low Latency Communications用)、又は、大量端末の接続用のスライス(例えば、mMTC:massive Machine Type Communication用)であってもよい。NSSIは、NSIを分割した単一ドメインの仮想回線とも言える。NSSIは、RANドメインのスライス、MBH(Mobile Back Haul)ドメイン等のトランスポートドメインのスライス、又は、コアネットワークドメインのスライスであってもよい。
本実施形態では例えば、1つのNSIには、1又は複数のNSSIが含まれる。すなわち、1又は複数のNSSIが、1つのNSIの配下にあることとなる。なお、本実施形態において、複数のNSIが同じNSSIを共有してもよい。
また、図4に示すように、NSSIとNSとは、一般的には、多対多の関係となる。
また、本実施形態では例えば、1つのNFは、1又は複数のネットワークスライスに所属できるようになっている。具体的には例えば、1つのNFには、1又は複数のS-NSSAI(Sub Network Slice Selection Assist Information)を含むNSSAI(Network Slice Selection Assistance Information)を設定できるようになっている。ここで、S-NSSAIは、ネットワークスライスに対応付けられる情報である。なお、NFが、ネットワークスライスに所属していなくてもよい。
図5は、本実施形態に係るプラットフォームシステム30で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るプラットフォームシステム30で、図5に示す機能のすべてが実装される必要はなく、また、図5に示す機能以外の機能が実装されていても構わない。
図5に示すように、本実施形態に係るプラットフォームシステム30には、機能的には例えば、オペレーションサポートシステム(OSS)部60、オーケストレーション(E2EO:End-to-End-Orchestration)部62、サービスカタログ記憶部64、ビッグデータプラットフォーム部66、データバス部68、AI(Artificial Intelligence)部70、監視機能部72、SDNコントローラ74、構成管理部76、コンテナ管理部78、リポジトリ部80、ベアメタル管理部96、が含まれている。そして、OSS部60には、インベントリデータベース82、チケット管理部84、障害管理部86、性能管理部88、が含まれている。そして、E2EO部62には、ポリシーマネージャ部90、スライスマネージャ部92、ライフサイクル管理部94、が含まれている。これらの要素は、プロセッサ30a、記憶部30b、及び、通信部30cを主として実装される。
図5に示す機能は、1又は複数のコンピュータであるプラットフォームシステム30にインストールされ、当該機能に対応する指令を含むプログラムをプロセッサ30aが実行することにより、実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してプラットフォームシステム30に供給されてもよい。また、図5に示す機能が、回路ブロック、メモリ、その他のLSIで実装されてもよい。また、図5に示す機能が、ハードウェアのみ、ソフトウェアのみ、又はそれらの組合せといった様々な形態で実現できることは、当業者には理解されるところである。
コンテナ管理部78は、コンテナのライフサイクル管理を実行する。例えば、コンテナのデプロイや設定などといったコンテナの構築に関する処理が当該ライフサイクル管理に含まれる。
ここで、本実施形態に係るプラットフォームシステム30に、複数のコンテナ管理部78が含まれていてもよい。そして、複数のコンテナ管理部78のそれぞれには、クバネテス等のコンテナ管理ツール、及び、ヘルム(Helm)等のパッケージマネージャがインストールされていてもよい。そして、複数のコンテナ管理部78は、それぞれ、当該コンテナ管理部78に対応付けられるサーバ群(例えばクバネテスクラスタ)に対して、コンテナのデプロイ等のコンテナの構築を実行してもよい。
なお、コンテナ管理部78は、プラットフォームシステム30に含まれている必要はない。コンテナ管理部78は、例えば、当該コンテナ管理部78によって管理されるサーバ(すなわち、RAN32やコアネットワークシステム34)に設けられていてもよいし、あるいは、当該コンテナ管理部78によって管理されるサーバに併設されている他のサーバに設けられていてもよい。
リポジトリ部80は、本実施形態では例えば、ネットワークサービスを実現する機能ユニット群(例えば、NF群)に含まれるコンテナのコンテナイメージを記憶する。
インベントリデータベース82は、インベントリ情報が格納されたデータベースである。当該インベントリ情報には、例えば、RAN32やコアネットワークシステム34に配置され、プラットフォームシステム30で管理されているサーバについての情報が含まれる。
また本実施形態では、インベントリデータベース82には、インベントリデータが記憶されている。インベントリデータには、通信システム1に含まれる要素群の構成や要素間の関連付けの現況が示されている。また、インベントリデータには、プラットフォームシステム30で管理されているリソースの状況(例えば、リソースの使用状況)が示されている。当該インベントリデータは、物理インベントリデータでもよいし、論理インベントリデータでもよい。物理インベントリデータ及び論理インベントリデータについては後述する。
図6は、物理インベントリデータのデータ構造の一例を示す図である。図6に示す物理インベントリデータは、1つのサーバに対応付けられる。図6に示す物理インベントリデータには、例えば、サーバID、ロケーションデータ、建物データ、階数データ、ラックデータ、スペックデータ、ネットワークデータ、稼働コンテナIDリスト、クラスタID、などが含まれる。
物理インベントリデータに含まれるサーバIDは、例えば、当該物理インベントリデータに対応付けられるサーバの識別子である。
物理インベントリデータに含まれるロケーションデータは、例えば、当該物理インベントリデータに対応付けられるサーバのロケーション(例えばロケーションの住所)を示すデータである。
物理インベントリデータに含まれる建物データは、例えば、当該物理インベントリデータに対応付けられるサーバが配置されている建物(例えば建物名)を示すデータである。
物理インベントリデータに含まれる階数データは、例えば、当該物理インベントリデータに対応付けられるサーバが配置されている階数を示すデータである。
物理インベントリデータに含まれるラックデータは、例えば、当該物理インベントリデータに対応付けられるサーバが配置されているラックの識別子である。
物理インベントリデータに含まれるスペックデータは、例えば、当該物理インベントリデータに対応付けられるサーバのスペックを示すデータであり、スペックデータには、例えば、コア数、メモリ容量、ハードディスク容量などといったものが示される。
物理インベントリデータに含まれるネットワークデータは、例えば、当該物理インベントリデータに対応付けられるサーバのネットワークに関する情報を示すデータであり、ネットワークデータには、例えば、当該サーバが備えるNIC、当該NICが備えるポートの数、当該ポートのポートIDなどが示される。
物理インベントリデータに含まれる稼働コンテナIDリストは、例えば、当該物理インベントリデータに対応付けられるサーバで稼働する1又は複数のコンテナに関する情報を示すデータであり、稼働コンテナIDリストには、例えば、当該コンテナのインスタンスの識別子(コンテナID)のリストが示される。
物理インベントリデータに含まれるクラスタIDは、例えば、当該物理インベントリデータに対応付けられるサーバが所属するクラスタ(例えば、クバネテスクラスタ)の識別子である。
論理インベントリデータには、通信システム1に含まれる複数の要素についての、図4に示されているような要素間の関連付けの現況を示すトポロジーデータが含まれている。例えば、論理インベントリデータには、あるNSの識別子と当該NSの配下にある1又は複数のNFの識別子とを含むトポロジーデータが含まれる。また、例えば、論理インベントリデータには、あるネットワークスライスの識別子と当該ネットワークスライスに所属する1又は複数のNFの識別子とを含むトポロジーデータが含まれる。
また、インベントリデータに、通信システム1に含まれる要素間の地理的な関係やトポロジー的な関係などの現況が示すデータが含まれていてもよい。上述の通り、インベントリデータには、通信システム1に含まれる要素が稼働しているロケーション、すなわち、通信システム1に含まれる要素の現在のロケーションを示すロケーションデータが含まれている。このことから、インベントリデータには、要素間の地理的な関係(例えば、要素間の地理的な近さ)の現況が示されていると言える。
また、論理インベントリデータに、ネットワークスライスに関する情報を示すNSIデータが含まれていてもよい。NSIデータは、例えば、ネットワークスライスのインスタンスの識別子や、ネットワークスライスの種類等の属性を示す。また、論理インベントリデータに、ネットワークスライスサブネットに関する情報を示すNSSIデータが含まれていてもよい。NSSIデータは、例えば、ネットワークスライスサブネットのインスタンスの識別子や、ネットワークスライスサブネットの種類等の属性を示す。
また、論理インベントリデータに、NSに関する情報を示すNSデータが含まれていてもよい。NSデータは、例えば、NSのインスタンスの識別子や、NSの種類等の属性を示す。また、論理インベントリデータに、NFに関する情報を示すNFデータが含まれていてもよい。NFデータは、例えば、NFのインスタンスの識別子や、NFの種類等の属性を示す。また、論理インベントリデータに、CNFCに関する情報を示すCNFCデータが含まれていてもよい。CNFCデータは、例えば、インスタンスの識別子や、CNFCの種類等の属性を示す。また、論理インベントリデータに、CNFCに含まれるpodに関する情報を示すpodデータが含まれていてもよい。podデータは、例えば、podのインスタンスの識別子や、podの種類等の属性を示す。また、論理インベントリデータに、podに含まれるコンテナに関する情報を示すコンテナデータが含まれていてもよい。コンテナデータは、例えば、コンテナのインスタンスのコンテナIDや、コンテナの種類等の属性を示す。
論理インベントリデータに含まれるコンテナデータのコンテナIDと、物理インベントリデータに含まれる稼働コンテナIDリストに含まれるコンテナIDと、によって、コンテナのインスタンスと、当該コンテナのインスタンスが稼働しているサーバとが関連付けられることとなる。
また、ホスト名やIPアドレスなどの各種の属性を示すデータが論理インベントリデータに含まれる上述のデータに含まれていても構わない。例えば、コンテナデータに、当該コンテナデータに対応するコンテナのIPアドレスを示すデータが含まれていてもよい。また、例えば、NFデータに、当該NFデータが示すNFのIPアドレス及びホスト名を示すデータが含まれていてもよい。
また、論理インベントリデータに、各NFに設定されている、1又は複数のS-NSSAIを含むNSSAIを示すデータが含まれていてもよい。
また、インベントリデータベース82は、コンテナ管理部78と連携して、リソースの状況を適宜把握できるようになっている。そして、インベントリデータベース82は、リソースの最新の状況に基づいて、インベントリデータベース82に記憶されているインベントリデータを適宜更新する。
また、例えば、通信システム1に含まれる新規要素の構築、通信システム1に含まれる要素の構成変更、通信システム1に含まれる要素のスケーリング、通信システム1に含まれる要素のリプレース、などのアクションが実行されることに応じて、インベントリデータベース82は、インベントリデータベース82に記憶されているインベントリデータを更新する。
サービスカタログ記憶部64は、サービスカタログデータを記憶する。サービスカタログデータには、例えば、ライフサイクル管理部94によって利用されるロジックなどを示すサービステンプレートデータが含まれていてもよい。このサービステンプレートデータには、ネットワークサービスを構築するために必要な情報が含まれる。例えば、サービステンプレートデータは、NS、NF及びCNFCを定義する情報と、NS-NF-CNFCの対応関係を示す情報を含む。また、例えば、サービステンプレートデータは、ネットワークサービスを構築するためのワークフローのスクリプトを含む。
サービステンプレートデータの一例として、NSD(NS Descriptor)が挙げられる。NSDは、ネットワークサービスに対応付けられるものであり、当該ネットワークサービスに含まれる複数の機能ユニット(例えば複数のCNF)の種類などが示されている。なお、NSDに、CNF等の機能ユニットの種類ごとについての、当該ネットワークサービスに含まれる数が示されていてもよい。また、NSDに、当該ネットワークサービスに含まれるCNFに係る、後述するCNFDのファイル名が示されていてもよい。
また、サービステンプレートデータの一例として、CNFD(CNF Descriptor)が挙げられる。CNFDに、当該CNFが必要とするコンピュータリソース(例えば、CPU、メモリ、ハードディスクなど)が示されていてもよい。例えば、CNFDに、当該CNFに含まれる複数のコンテナのそれぞれについての、当該コンテナが必要とするコンピュータリソース(CPU、メモリ、ハードディスクなど)が示されていてもよい。
また、サービスカタログデータに、ポリシーマネージャ部90によって利用される、算出された性能指標値と比較する閾値(例えば異常検出用閾値)に関する情報が含まれていてもよい。性能指標値については後述する。
また、サービスカタログデータに、例えば、スライステンプレートデータが含まれていてもよい。スライステンプレートデータには、ネットワークスライスのインスタンス化を実行するために必要な情報が含まれ、例えば、スライスマネージャ部92によって利用されるロジックが含まれる。
スライステンプレートデータは、GSMA(GSM Association)(「GSM」は登録商標)が定める「Generic Network Slice Template」の情報を含む。具体的には、スライステンプレートデータは、ネットワークスライスのテンプレートデータ(NST)、ネットワークスライスサブネットのテンプレートデータ(NSST)、ネットワークサービスのテンプレートデータを含む。また、スライステンプレートデータは、図4に示したような、これらの要素の階層構成を示す情報を含む。
ライフサイクル管理部94は、本実施形態では例えば、購入者によるNSの購入要求に応じて、購入要求がされた新たなネットワークサービスを構築する。
ライフサイクル管理部94は、例えば、購入要求に応じて、購入されるネットワークサービスに対応付けられるワークフローのスクリプトを実行してもよい。そして、このワークフローのスクリプトを実行することで、ライフサイクル管理部94は、コンテナ管理部78に、購入される新たなネットワークサービスに含まれるコンテナのデプロイを指示してもよい。そして、コンテナ管理部78は、当該コンテナのコンテナイメージをリポジトリ部80から取得して、当該コンテナイメージに対応するコンテナを、サーバにデプロイしてもよい。
また、ライフサイクル管理部94は、本実施形態では例えば、通信システム1に含まれる要素のスケーリングやリプレースを実行する。ここで、ライフサイクル管理部94は、コンテナのデプロイ指示や削除指示をコンテナ管理部78に出力してもよい。そして、コンテナ管理部78が、当該指示に従い、コンテナのデプロイやコンテナの削除等の処理を実行してもよい。本実施形態ではライフサイクル管理部94によって、コンテナ管理部78のクバネテスのようなツールでは対応できないようなスケーリングやリプレースを実行できるようになっている。
また、ライフサイクル管理部94は、SDNコントローラ74に、通信経路の作成指示を出力してもよい。例えば、ライフサイクル管理部94は、作成させる通信経路の両端の2つのIPアドレスをSDNコントローラ74に提示し、SDNコントローラ74は、これら2つのIPアドレスを結ぶ通信経路を作成する。作成された通信経路は、これら2つのIPアドレスに関連付けられて管理されてもよい。
また、ライフサイクル管理部94は、SDNコントローラ74に、2つのIPアドレスに関連付けられた、これら2つのIPアドレス間の通信経路の作成指示を出力してもよい。
スライスマネージャ部92は、本実施形態では例えば、ネットワークスライスのインスタンス化を実行する。スライスマネージャ部92は、本実施形態では例えば、サービスカタログ記憶部64に記憶されているスライステンプレートが示すロジックを実行することで、ネットワークスライスのインスタンス化を実行する。
スライスマネージャ部92は、例えば、3GPP(登録商標)(Third Generation Partnership Project)の仕様書「TS28 533」に記載される、NSMF(Network Slice Management Function)と、NSSMF(Network Slice Sub-network Management Function)の機能を含んで構成される。NSMFは、ネットワークスライスを生成して管理する機能であり、NSIのマネジメントサービスを提供する。NSSMFは、ネットワークスライスの一部を構成するネットワークスライスサブネットを生成し管理する機能であり、NSSIのマネジメントサービスを提供する。
ここで、スライスマネージャ部92が、ネットワークスライスのインスタンス化に関係する構成管理指示を構成管理部76に出力してもよい。そして、構成管理部76が、当該構成管理指示に従った設定等の構成管理を実行してもよい。
また、スライスマネージャ部92は、SDNコントローラ74に、2つのIPアドレスを提示し、これら2つのIPアドレス間の通信経路の作成指示を出力してもよい。
構成管理部76は、本実施形態では例えば、ライフサイクル管理部94やスライスマネージャ部92から受け付ける構成管理指示に従って、NF等の要素群の設定等の構成管理を実行する。
SDNコントローラ74は、本実施形態では例えば、ライフサイクル管理部94又はスライスマネージャ部92から受け付ける通信経路の作成指示に従って、当該作成指示に関連付けられている2つのIPアドレス間の通信経路を作成する。SDNコントローラ74は、例えば、フレックスアルゴ(Flex Algo)などの公知のパス計算手法を用いて、2つのIPアドレス間の通信経路を作成してもよい。
ここで例えば、SDNコントローラ74は、セグメントルーティング技術(例えばSRv6(セグメントルーティングIPv6))を用いて、通信経路間に存在するアグリゲーションルータや、サーバなどに対して、NSIやNSSIを構築してもよい。また、SDNコントローラ74は、複数の設定対象のNFに対して、共通のVLAN(Virtual Local Area Network)を設定するコマンド、及び、当該VLANに設定情報が示す帯域幅や優先度を割り当てるコマンドを発行することにより、それら複数の設定対象のNFにわたるNSI及びNSSIを生成してもよい。
なお、SDNコントローラ74は、ネットワークスライスを構築することなく、2つのIPアドレス間の通信で利用可能な帯域幅の最大値の変更などを実行してもよい。
本実施形態に係るプラットフォームシステム30に、複数のSDNコントローラ74が含まれていてもよい。そして、複数のSDNコントローラ74は、それぞれ、当該SDNコントローラ74に対応付けられるAG等のネットワーク機器群に対して通信経路の作成等の処理を実行してもよい。
監視機能部72は、本実施形態では例えば、通信システム1に含まれる要素群を、所与の管理ポリシーに従って監視する。ここで、監視機能部72は、例えば、ネットワークサービスの購入の際に購入者によって指定される監視ポリシーに従って、要素群を監視してもよい。
監視機能部72は、本実施形態では例えば、スライスのレベル、NSのレベル、NFのレベル、CNFCのレベル、サーバ等のハードウェアのレベル、などといった、様々なレベルでの監視を実行する。
監視機能部72は、例えば、上述の様々なレベルでの監視が行えるよう、メトリックデータを出力するモジュールをサーバ等のハードウェアや通信システム1に含まれるソフトウェア要素に設定してもよい。ここで例えば、NFが、当該NFにおいて測定可能(特定可能)なメトリックを示すメトリックデータを監視機能部72に出力するようにしてもよい。また、サーバが、当該サーバにおいて測定可能(特定可能)なハードウェアに関するメトリックを示すメトリックデータを監視機能部72に出力するようにしてもよい。
また、例えば、監視機能部72は、サーバに、複数のコンテナから出力されたメトリックを示すメトリックデータをCNFC(マイクロサービス)単位に集計するサイドカーコンテナをデプロイしてもよい。このサイドカーコンテナは、エクスポーターと呼ばれるエージェントを含んでもよい。監視機能部72は、クバネテス等のコンテナ管理ツールを監視可能なプロメテウス(Prometheus)などのモニタリングツールの仕組みを利用して、マイクロサービス単位に集計されたメトリックデータをサイドカーコンテナから取得する処理を、所与の監視間隔で繰り返し実行してもよい。
監視機能部72は、例えば、「TS 28.552, Management and orchestration; 5G performance measurements」又は「TS 28.554, Management and orchestration; 5G end to end Key Performance Indicators (KPI)」に記載された性能指標についての性能指標値を監視してもよい。そして、監視機能部72は、監視される性能指標値を示すメトリックデータを取得してもよい。
そして、監視機能部72は、本実施形態では、例えば、所定の集計単位で、メトリックデータを集計する処理(エンリッチメント)を実行することで、当該集計単位における、通信システム1に含まれる要素の性能指標値を示す性能指標値データを生成する。
例えば、1つのgNBについて、当該gNBの配下にある要素(例えば、DU42やCU44などのネットワークノード)のメトリックを示すメトリックデータを集計することで、当該gNBの性能指標値データを生成する。このようにして、当該gNBがカバーするエリアにおける通信性能を示す性能指標値データが生成される。ここで、例えば、各gNBにおいて、トラフィック量(スループット)やレイテンシなどといった複数種類の通信性能を示す性能指標値データが生成されてもよい。なお、性能指標値データが示す通信性能は、トラフィック量やレイテンシには限定されない。
そして、監視機能部72は、上述のエンリッチメントによって生成される性能指標値データを、データバス部68に出力する。
データバス部68は、本実施形態では例えば、監視機能部72から出力される性能指標値データを受け付ける。そして、データバス部68は、受け付ける1又は複数の性能指標値データに基づいて、当該1又は複数の性能指標値データを含む性能指標値ファイルを生成する。そして、データバス部68は、生成される性能指標値ファイルをビッグデータプラットフォーム部66に出力する。
また、通信システム1に含まれるネットワークスライス、NS、NF、CNFC等の要素や、サーバ等のハードウェアは、監視機能部72に、各種のアラートの通知(例えば、障害の発生をトリガとしたアラートの通知)を行う。
そして、監視機能部72は、例えば、上述のアラートの通知を受け付けると、当該通知を示すアラートメッセージデータをデータバス部68に出力する。そして、データバス部68は、1又は複数の通知を示すアラートメッセージデータを1つのファイルにまとめたアラートファイルを生成して、当該アラートファイルをビッグデータプラットフォーム部66に出力する。
ビッグデータプラットフォーム部66は、本実施形態では例えば、データバス部68から出力される性能指標値ファイルやアラートファイルを蓄積する。
AI部70には、本実施形態では例えば、学習済の機械学習モデルが予め複数記憶されている。AI部70は、AI部70に記憶されている各種の機械学習モデルを用いて、通信システム1の利用状況やサービス品質の将来予測処理などの推定処理を実行する。AI部70は、推定処理の結果を示す推定結果データを生成してもよい。
AI部70は、ビッグデータプラットフォーム部66に蓄積されるファイルと、上述の機械学習モデルと、に基づいて、推定処理を実行してもよい。この推定処理は、長期的なトレンドの予測を低頻度で行う場合に好適である。
また、AI部70は、データバス部68に格納されている性能指標値データを取得可能になっている。AI部70は、データバス部68に格納されている性能指標値データと、上述の機械学習モデルと、に基づいて、推定処理を実行してもよい。この推定処理は、短期的な予測を高頻度で行う場合に好適である。
性能管理部88は、本実施形態では例えば、複数のメトリックデータに基づいて、これらのメトリックデータが示すメトリックに基づく性能指標値(例えば、KPI)を算出する。性能管理部88は、単一のメトリックデータからは算出できない、複数の種類のメトリックの総合評価である性能指標値(例えば、エンド・ツー・エンドのネットワークスライスに係る性能指標値)を算出してもよい。性能管理部88は、総合評価である性能指標値を示す総合性能指標値データを生成してもよい。
なお、性能管理部88は、ビッグデータプラットフォーム部66から上述の性能指標値ファイルを取得してもよい。また、性能管理部88は、AI部70から推定結果データを取得してもよい。そして、性能指標値ファイル又は推定結果データのうちの少なくとも一方に基づいて、KPI等の性能指標値を算出してもよい。なお、性能管理部88が、監視機能部72からメトリックデータを直接取得してもよい。そして、当該メトリックデータに基づいて、KPI等の性能指標値を算出してもよい。
障害管理部86は、本実施形態では例えば、上述のメトリックデータ、上述のアラートの通知、上述の推定結果データ、上述の総合性能指標値データのうちの少なくともいずれかに基づいて、通信システム1における障害の発生を検出する。障害管理部86は、例えば、所定のロジックに基づいて、単一のメトリックデータや単一のアラートの通知からでは検出できないような障害の発生を検出してもよい。障害管理部86は、検出された障害を示す検出障害データを生成してもよい。
なお、障害管理部86は、メトリックデータやアラートの通知を、監視機能部72から直接取得してもよい。また、障害管理部86は、ビッグデータプラットフォーム部66から性能指標値ファイルやアラートファイルを取得してもよい。また、障害管理部86は、データバス部68から、アラートメッセージデータを取得してもよい。
ポリシーマネージャ部90は、本実施形態では例えば、上述のメトリックデータ、上述の性能指標値データ、上述のアラートメッセージデータ、上述の性能指標値ファイル、上述のアラートファイル、上述の推定結果データ、上述の総合性能指標値データ、上述の検出障害データ、のうちの少なくともいずれかに基づいて、所定の判定処理を実行する。
そして、ポリシーマネージャ部90は、判定処理の結果に応じたアクションを実行してもよい。例えば、ポリシーマネージャ部90は、スライスマネージャ部92にネットワークスライスの構築指示を出力してもよい。また、ポリシーマネージャ部90は、判定処理の結果に応じて、要素のスケーリングやリプレースの指示をライフサイクル管理部94に出力してもよい。
本実施形態に係るポリシーマネージャ部90は、データバス部68に格納されている性能指標値データを取得可能になっている。そして、ポリシーマネージャ部90は、データバス部68から取得される性能指標値データに基づいて、所定の判定処理を実行してもよい。また、ポリシーマネージャ部90は、データバス部68に格納されているアラートメッセージデータに基づいて、所定の判定処理を実行してもよい。
チケット管理部84は、本実施形態では例えば、通信システム1の管理者に通知すべき内容が示されたチケットを生成する。チケット管理部84は、発生障害データの内容を示すチケットを生成してもよい。また、チケット管理部84は、性能指標値データやメトリックデータの値を示すチケットを生成してもよい。また、チケット管理部84は、ポリシーマネージャ部90による判定結果を示すチケットを生成してもよい。
そして、チケット管理部84は、生成されたチケットを、通信システム1の管理者に通知する。チケット管理部84は、例えば、生成されたチケットが添付された電子メールを、通信システム1の管理者の電子メールアドレスに宛てて送信してもよい。
ベアメタル管理部96は、本実施形態では例えば、BIOS(Basic Input Output System)の設定、シングルルートI/O仮想化(SR-IOV)の設定、システムソフトウェアのインストールや入替、などのセットアップを実行する。
また、本実施形態において、構成管理部76が、ハードウェアリソースに対して、クラスタID、IPアドレス、ホスト名、又は、ラベルの設定などといった、ハードウェア若しくはソフトウェアの設定(コンフィギュレーション)を実行してもよい。
また、ベアメタル管理部96が、所定の種類のアプリケーションに応じたセットアップを、ハードウェアリソースに対して実行してもよい。
例えば、構成管理部76又はベアメタル管理部96に所定の種類のアプリケーションについてのセットアップを行うためのスクリプト(例えば、Ansibleスクリプト)が記憶されていてもよい。当該スクリプトには、例えば、特定種類あるいは特定バージョンである、コンテナ実行環境の基盤であるホストOSのインストール手順が記述されていてもよい。また、当該スクリプトには、例えば、ホストOSのカーネルの設定手順、BIOSの設定手順、SR-IOVの設定手順などが記述されていてもよい。
そして、ベアメタル管理部96が、当該スクリプトを実行することにより、ハードウェアリソースで稼働するアプリケーションの種類に応じたセットアップを、当該ハードウェアリソースに対して実行してもよい。例えば、ベアメタル管理部96が、コンテナ実行環境のホストOSやBIOSのセットアップを、ハードウェアリソースに対して実行してもよい。
また、ベアメタル管理部96は、ハードウェアリソースにインストールされているOS等のシステムソフトウェアの入替を実行してもよい。すなわち、ベアメタル管理部96は、ハードウェアリソースにインストールされているシステムソフトウェアのアンインストール、及び、当該ハードウェアリソースに対する別のシステムソフトウェアのインストールを実行してもよい。
以下、本実施形態に係る通信システム1に含まれるハードウェアリソースの管理について、さらに説明する。
図7は、本実施形態に係る通信システム1に含まれるハードウェアリソースの割り当ての一例を模式的に示す図である。
ここでは例えば、2人の購入者(購入者A、及び、購入者B)がネットワークサービスを購入したとする。そして、図7には、購入者Aが購入したネットワークサービスに含まれるUPF50が稼働する第1ハードウェアリソース群100a、及び、第2ハードウェアリソース群100bが示されている。このように、本実施形態において、1人の購入者によって購入されたネットワークサービスに含まれる1種類のNFが複数のハードウェアリソース群100に配置されても構わない。ここで、ハードウェアリソース群100には、サーバ群が含まれていてもよい。
また、図7には、購入者Aが購入したネットワークサービスに含まれるAMF46が稼働する第3ハードウェアリソース群100cが示されている。
また、図7には、購入者Bが購入したネットワークサービスに含まれるUPF50が稼働する第4ハードウェアリソース群100d、及び、購入者Bが購入したネットワークサービスに含まれるAMF46が稼働する第5ハードウェアリソース群100eが示されている。
なお、購入者A、又は、購入者Bが購入したネットワークサービスには、図7に示されていないNF(例えば、DU42、CU44、SMF48等)も含まれているが、これらのNFについては省略されている。
図7に示すように、本実施形態に係る通信システム1に含まれるハードウェアリソースは、複数のハードウェアリソース群100に分けて管理されている。例えば、通信システム1に含まれる複数のサーバが、複数のサーバ群に分けて管理されている。
また、図7に示すように、複数のハードウェアリソース群100のそれぞれは、当該ハードウェアリソース群100で稼働するアプリケーションの種類が予め定められていてもよい。図7の例では、第1ハードウェアリソース群100a、第2ハードウェアリソース群100b、及び、第4ハードウェアリソース群100dでは、UPF50が稼働することが予め定められている。また、第3ハードウェアリソース群100c、及び、第5ハードウェアリソース群100eでは、AMF46が稼働することが予め定められている。
また、図7に示すように、複数のハードウェアリソース群100のうちのいずれかで稼働しているアプリケーションの購入者とは異なる購入者によって購入されたアプリケーションが別のハードウェアリソース群100で稼働していてもよい。図7の例では、第1ハードウェアリソース群100a、第2ハードウェアリソース群100b、及び、第3ハードウェアリソース群100cで、購入者Aによって購入されたアプリケーションが稼働する。そして、第4ハードウェアリソース群100d、及び、第5ハードウェアリソース群100eで、購入者Bによって購入されたアプリケーションが稼働する。
なお、上述のハードウェアリソースは、サーバには限定されない。また、図7に示されているハードウェアリソースの所在は特に問わない。以下の説明では、図7に示されているハードウェアリソースは、セントラルデータセンタ10に配置されているものであることとするが、当該ハードウェアリソースが、リージョナルデータセンタ12やエッジデータセンタ14に配置されていてもよい。
そして、以下の説明では、1つのハードウェアリソース群100(例えばサーバ群)は、コンテナ管理ツールによって管理される1つのクラスタ(例えば、1つのクバネテスクラスタ)に相当することとする。なお、1つのハードウェアリソース群100が、コンテナ管理ツールによって管理される1つのクラスタに相当する必要はない。例えば、コンテナ管理ツールによって管理される1つのクラスタに複数のハードウェアリソース群100が含まれていてもよい。この場合に、例えば、1つのハードウェアリソース群100が、1つの名前空間(ネームスペース)に相当するものであってもよい。
本実施形態では例えば、監視機能部72が、通信システム1に含まれる複数のハードウェアリソース群100のそれぞれの使用状況を監視する。ここで例えば、監視機能部72が、通信システム1に含まれる複数のサーバ群のそれぞれの使用状況を監視してもよい。
ここでハードウェアリソース群100の使用状況とは、例えば、CPU使用率、メモリ使用量、ストレージ使用量、ネットワーク使用量等を指す。また、ハードウェアリソース群について監視されるこれらの指標のうちの一部又は全部に基づいて算出される総合評価値が、当該ハードウェアリソース群100の使用状況を示す値として監視されてもよい。
そして、本実施形態では例えば、上述のように、トラフィック量やレイテンシ等の性能指標値に基づいて、NF等のアプリケーションのスケーリング(スケールアウトやスケールイン)が実行される。そのためスケーリングに伴い、1つのハードウェアリソース群100で稼働しているアプリケーションの数は適宜変動する。
また、本実施形態では例えば、1つのハードウェアリソース群100で稼働しているアプリケーションの数に基づいて、当該ハードウェアリソース群100における、アプリケーションの稼働のための使用が想定される最大ハードウェアリソース量が特定可能になっている。例えば、アプリケーションの種類ごとの、当該アプリケーション1つあたりの最大ハードウェアリソース量を示すデータが構成管理部76に記憶されていてもよい。そして、構成管理部76が、当該データに基づいて、複数のハードウェアリソース群100(例えば、複数のサーバ群)のそれぞれについて、アプリケーションの稼働のための使用が想定される最大ハードウェアリソース量を特定してもよい。このように、アプリケーションの稼働のための使用が想定される最大ハードウェアリソース量が、ハードウェアリソース群100で稼働しているアプリケーションの数に比例してもよい。
図7では、それぞれのハードウェアリソース群100に割り当てられているハードウェアリソース量が模式的に示されている。また、図7には、ハードウェアリソース群100に割り当てられているハードウェアリソース量のそれぞれ一部である、実際使用リソース量102、想定最大使用リソース量104、及び、スタンバイリソース量106が示されている。
ここで、実際使用リソース量102は、ハードウェアリソース群100で稼働しているアプリケーションによって実際に使用されているハードウェアリソース量に相当する。
また、想定最大使用リソース量104は、上述した、アプリケーションの稼働のための使用が想定される最大ハードウェアリソース量に相当する。本実施形態では、ハードウェアリソース群100で稼働しているアプリケーションの数が変化していない状況でも、ハードウェアリソースの実際の使用量は適宜変動する。そのため、図7に示すように、実際使用リソース量102は、想定最大使用リソース量104よりも少ない。
また、スタンバイリソース量106は、ハードウェアリソース群100に割り当てられているハードウェアリソース量から想定最大使用リソース量104を引いたハードウェアリソース量に相当する。
本実施形態では、ハードウェアリソース群100で稼働しているアプリケーションのスケールアウトが実行されると、想定最大使用リソース量104が増加し、想定最大使用リソース量104の増加量だけスタンバイリソース量106が減少することとなる。
ハードウェアリソース群100に割り当てられているハードウェアリソース量(すなわち、想定最大使用リソース量104とスタンバイリソース量106の合計)は、例えば、購入者がネットワークサービスの購入時に指定することができてもよい。例えば、購入者によるネットワークサービスの購入額が高額になるほど、より多くのハードウェアリソースがハードウェアリソース群100に割り当てられるようにしてもよい。また、本実施形態において、購入者が、ハードウェアリソース群100に割り当てられているハードウェアリソースを適宜追加したり削除したりできてもよい。
また、本実施形態に係る通信システム1では、いずれの上述のハードウェアリソース群100とも異なる共通予備リソース群108(例えば、共通サーバ群)が管理されている。すなわち、本実施形態では、上述の複数のハードウェアリソース群100(例えば、第1ハードウェアリソース群100aから第5ハードウェアリソース群100e)とは別のハードウェアリソース群が、共通予備リソース群108として管理されている。
図7に示すように、共通予備リソース群108には、複数の予備リソース110(110a,110b,110c,・・・)が含まれている。1つの予備リソース110は、例えば、1又は複数のサーバに相当する。
また、図7に示すように、共通予備リソース群108には、汎用予備リソース群112と、1又は複数の特殊予備リソース群(図7の例ではUPF用予備リソース群114)と、が含まれる。すなわち、汎用予備リソース群112は、共通予備リソース群108の一部である。また、特殊予備リソース群は、共通予備リソース群108の一部である。
本実施形態に係る特殊予備リソース群は、アプリケーションの種類に対応付けられる。例えば、UPF用予備リソース群114は、UPF50に対応付けられる。
そして、特殊予備リソース群に含まれているハードウェアリソースは、当該特殊予備リソース群に対応付けられるアプリケーションの種類に応じたセットアップが実行されたハードウェアリソースである。例えば、UPF用予備リソース群114に含まれているハードウェアリソースは、UPF50に応じたセットアップが実行されたハードウェアリソースである。
アプリケーションの種類によっては、汎用的なハードウェアリソース(例えば、汎用サーバ)では当該アプリケーションを稼働させることができず、当該種類に応じたセットアップを実行する必要があるものがある。特殊予備リソース群に含まれているハードウェアリソースは、そのようなセットアップがされたものであると言える。
一方、汎用予備リソース群112に含まれているハードウェアリソースは、特殊予備リソース群に対応付けられる種類のアプリケーションとは異なるアプリケーションを稼働させるためには、当該アプリケーションの種類に応じたセットアップを追加で実行する必要がないハードウェアリソースである。汎用予備リソース群112に含まれるハードウェアリソースは、例えば、汎用的なサーバである。
そして、本実施形態では例えば、図7に示すように、初期状態では、汎用予備リソース群112には予備リソース110が含まれているが、UPF用予備リソース群114には予備リソース110が含まれておらず、空であることとする。
そして、構成管理部76が、本実施形態では例えば、いずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられる第1の条件(以下、リソース追加条件と呼ぶ。)を満たしたことに応じて、共通予備リソース群108に含まれるハードウェアリソースの所属を共通予備リソース群108から当該ハードウェアリソース群100に変更する。このようにして、当該ハードウェアリソース群100にハードウェアリソースが追加され、当該ハードウェアリソース群100に割り当てられているハードウェアリソース量は増加する。
ここで、構成管理部76が、いずれかのサーバ群の使用状況が当該サーバ群に対応付けられる条件を満たしたことに応じて、いずれのサーバ群とも異なる共通予備サーバ群に含まれるサーバの所属を共通予備サーバ群から当該サーバ群に変更してもよい。
ここで、構成管理部76は、リソース追加条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が所定の種類であるか否かを判定してもよい。例えば、構成管理部76が、リソース追加条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が、特殊予備リソース群に対応付けられる種類(例えば、UPF50)であるか否かを判定してもよい。
そして、リソース追加条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が所定の種類である場合は、構成管理部76は、当該種類に対応付けられる特殊予備リソース群に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たすか否かを判定する。
ここで、ハードウェアリソースの余裕度は、例えば、特殊予備リソース群に含まれるハードウェアリソース量、あるいは、特殊予備リソース群にハードウェアリソースが含まれているか否か、などに相当する。そして、余裕条件は、例えば、特殊予備リソース群に含まれるハードウェアリソース量が所定量以上である、あるいは、特殊予備リソース群に含まれるハードウェアリソースが存在する、などの条件に相当する。
そして、余裕条件を満たす場合は、構成管理部76は、当該特殊予備リソース群に含まれるハードウェアリソースの所属を当該特殊予備リソース群から当該ハードウェアリソース群100に変更してもよい。
一方、余裕条件を満たさない場合は、ベアメタル管理部96が、汎用予備リソース群112に含まれるハードウェアリソースに対して当該アプリケーションの種類に応じたセットアップを実行してもよい。そして、構成管理部76が、当該セットアップが実行されたハードウェアリソースの所属を汎用予備リソース群112から当該ハードウェアリソース群100に変更してもよい。
上記の場合において、ベアメタル管理部96は、いずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、共通予備リソース群108に含まれるハードウェアリソース(例えば、上述の選択ハードウェアリソース)に対して、当該ハードウェアリソース群100で稼働しているアプリケーションの種類に応じたセットアップを実行してもよい。
例えば、UPF用予備リソース群114に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たす場合に、UPF50が稼働するいずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、構成管理部76は、UPF用予備リソース群114に含まれるハードウェアリソースの所属をUPF用予備リソース群114から当該ハードウェアリソース群100に変更してもよい。
また、例えば、UPF用予備リソース群114に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たさない場合に、UPF50が稼働するいずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、ベアメタル管理部96が、汎用予備リソース群112に含まれるハードウェアリソースに対してUPF50に応じたセットアップを実行してもよい。そして、構成管理部76が、当該セットアップが実行されたハードウェアリソースの所属を汎用予備リソース群112から当該ハードウェアリソース群100に変更してもよい。
一方、リソース追加条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が上述の所定の種類以外の種類である場合は、構成管理部76は、汎用予備リソース群112に含まれるハードウェアリソースの所属を汎用予備リソース群112から当該ハードウェアリソース群100に変更してもよい。
例えば、AMF46が稼働するいずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、構成管理部76は、汎用予備リソース群112に含まれるハードウェアリソースの所属を汎用予備リソース群112から当該ハードウェアリソース群100に変更してもよい。
また、構成管理部76が、本実施形態では例えば、いずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられる第2の条件(以下、リソース削除条件と呼ぶ。)を満たしたことに応じて、当該ハードウェアリソース群100の一部であるハードウェアリソースの所属を当該ハードウェアリソース群100から共通予備リソース群108に変更する。このようにして、当該ハードウェアリソース群100からハードウェアリソースが削除され、当該ハードウェアリソース群100に割り当てられているハードウェアリソース量は減少する。
なお、本実施形態において、ハードウェアリソース群100に割り当てられているハードウェアリソースに予備リソース110が含まれていない場合は、当該ハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース削除条件を満たしても、当該ハードウェアリソース群100からハードウェアリソースが削除されないようにしてもよい。
本実施形態では例えば、構成管理部76が、クラスタID、IPアドレス、ホスト名、又は、ラベルの設定を実行することで、ハードウェアリソースの所属を変更する。
ここで、構成管理部76は、リソース削除条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられる予備リソース群を特定してもよい。そして、構成管理部76は、当該ハードウェアリソース群100の一部であるハードウェアリソースの所属を、当該ハードウェアリソース群100から、特定される予備リソース群に変更してもよい。
例えば、リソース削除条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が上述の所定の種類である場合は、構成管理部76は、当該ハードウェアリソース群100の一部であるハードウェアリソースの所属を当該ハードウェアリソース群100から当該種類に対応付けられる特殊予備リソース群に変更してもよい。
例えば、リソース削除条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類がUPF50である場合は、構成管理部76は、当該ハードウェアリソース群100の一部であるハードウェアリソースの所属を当該ハードウェアリソース群100からUPF用予備リソース群114に変更してもよい。
また、リソース削除条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が上述の所定の種類以外の種類である場合は、構成管理部76は、当該ハードウェアリソース群100の一部であるハードウェアリソースの所属を当該ハードウェアリソース群100から汎用予備リソース群112に変更してもよい。
例えば、リソース削除条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類がAMF46である場合は、構成管理部76は、当該ハードウェアリソース群100の一部であるハードウェアリソースの所属を当該ハードウェアリソース群100から汎用予備リソース群112に変更してもよい。
例えば、図8に示すように、第1ハードウェアリソース群100aに割り当てられているハードウェアリソース量に対する実際使用リソース量102の割合が所定割合p1を超えたとする。
ここで、第1ハードウェアリソース群100aで稼働しているアプリケーションの種類は、UPF50である。
そのため、構成管理部76は、UPF用予備リソース群114に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たすか否かを判定する。
ここで、例えば、余裕条件が、特殊予備リソース群に含まれるハードウェアリソースが存在する、との条件であるとする。この場合、UPF用予備リソース群114は空であるので、余裕条件を満たさないこととなる。
そのため、ベアメタル管理部96が、例えば、汎用予備リソース群112のうちから選択される1つの予備リソース110(以下、選択ハードウェアリソースと呼ぶ。)に対してUPF50に応じたセットアップを実行する。ここでは例えば、予備リソース110aが選択ハードウェアリソースに相当する。そして、構成管理部76が、例えば、当該セットアップが実行された選択ハードウェアリソースの所属を汎用予備リソース群112から第1ハードウェアリソース群100aに変更する。
そして、図9に示すように、第1ハードウェアリソース群100aに割り当てられているハードウェアリソース量に対する実際使用リソース量102の割合が所定割合p2を下回ったとする。ここで、p2の値は、p1よりも小さな値であってもよい。
ここで、第1ハードウェアリソース群100aで稼働しているアプリケーションの種類は、UPF50である。
そのため、構成管理部76は、例えば、上述の選択ハードウェアリソースの所属を第1ハードウェアリソース群100aからUPF用予備リソース群114に変更する。
そして、その後、図10に示すように、第4ハードウェアリソース群100dに割り当てられているハードウェアリソース量に対する実際使用リソース量102の割合が所定割合p3を超えたとする。ここで、p3の値は、p1の値と、同じであってもよいし、異なっていてもよい。
ここで、第4ハードウェアリソース群100dで稼働しているアプリケーションの種類は、UPF50である。
そのため、構成管理部76は、UPF用予備リソース群114に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たすか否かを判定する。
図9に示す状況では、UPF用予備リソース群114は空ではないので、余裕条件を満たすこととなる。
そのため、ベアメタル管理部96が、例えば、UPF用予備リソース群114のうちから選択される1つの予備リソース110(上述の選択ハードウェアリソースであってもよい。)の所属をUPF用予備リソース群114から第4ハードウェアリソース群100dに変更する。
このように、構成管理部76は、第1ハードウェアリソース群100aから共通予備リソース群108に所属が変更されたハードウェアリソースの所属を、第4ハードウェアリソース群100dの使用状況が第4ハードウェアリソース群100dに対応付けられるリソース追加条件を満たしたことに応じて、共通予備リソース群108から第4ハードウェアリソース群100dに変更してもよい。
このようにすれば、あるハードウェアリソース群100で使用された予備リソース110が、他のハードウェアリソース群100で使用されることとなる。
また、上述のように、構成管理部76は、第1ハードウェアリソース群100aの使用状況が第1ハードウェアリソース群100aに対応付けられるリソース追加条件を満たしたことに応じて、共通予備リソース群108のうちから選択される選択ハードウェアリソースの所属を共通予備リソース群108から第1ハードウェアリソース群100aに変更してもよい。
そして、構成管理部76は、第1ハードウェアリソース群100aの使用状況が第1ハードウェアリソース群100aに対応付けられるリソース削除条件を満たしたことに応じて、当該選択ハードウェアリソースの所属を第1ハードウェアリソース群100aから共通予備リソース群108に変更してもよい。
そして、構成管理部76は、第1ハードウェアリソース群100aから共通予備リソース群108に所属が変更された当該選択ハードウェアリソースの所属を、第4ハードウェアリソース群100dの使用状況が第4ハードウェアリソース群100dに対応付けられるリソース追加条件を満たしたことに応じて、共通予備リソース群108から第4ハードウェアリソース群100dに変更してもよい。
このようにすれば、特定の予備リソース110(選択ハードウェアリソース)が、複数のハードウェアリソース群100において転々と使用されることとなる。
また、リソース追加条件やリソース削除条件は、ハードウェアリソースの実際の使用量、又は、ハードウェアリソースの実際の使用率に係る条件であってもよい。例えば、リソース追加条件やリソース削除条件が、実際使用リソース量102に係る閾値であってもよい。
また、リソース追加条件やリソース削除条件は、ハードウェアリソースの実際の余裕量、又は、ハードウェアリソースの実際の余裕率、に係る条件であってもよい。ここで、ハードウェアリソースの実際の余裕量とは、例えば、ハードウェアリソース群100に割り当てられているハードウェアリソース量から実際使用リソース量102を引いたハードウェアリソース量に相当する。また、ハードウェアリソースの実際の余裕率は、例えば、ハードウェアリソース群100に割り当てられているハードウェアリソース量に対する、ハードウェアリソース群100に割り当てられているハードウェアリソース量から実際使用リソース量102を引いたハードウェアリソース量の割合に相当する。なお、余裕量及び余裕率の算出にあたり、重みづけを行ってもよいし、算出された値にさらに重みをかけるなどの追加の計算を行ってもよい。また、例えば、リソース追加条件やリソース削除条件が、ハードウェアリソース群100に割り当てられているハードウェアリソース量から実際使用リソース量102を引いた値に係る条件であってもよい。
また、リソース追加条件やリソース削除条件は、ハードウェアリソース群100でのアプリケーションの稼働のための使用が想定される最大ハードウェアリソース量、又は、ハードウェアリソース群100でのアプリケーションの稼働のための使用が想定される最大ハードウェアリソース率に係る条件であってもよい。すなわち、リソース追加条件やリソース削除条件が、想定最大使用リソース量104に係る条件であってもよい。例えば、想定最大使用リソース量104が所定の閾値を超えたことに応じて、共通予備リソース群108に含まれるハードウェアリソースの所属が共通予備リソース群108から当該ハードウェアリソース群100に変更されてもよい。
また、リソース追加条件やリソース削除条件は、ハードウェアリソース群100で稼働しているアプリケーションの数に対応付けられる条件であってもよい。例えば、スケールアウトによって、ハードウェアリソース群100で稼働しているアプリケーションの数が3になったことに応じて、共通予備リソース群108に含まれるハードウェアリソースの所属が共通予備リソース群108から当該ハードウェアリソース群100に変更されてもよい。また、スケールインによって、ハードウェアリソース群100で稼働しているアプリケーションの数が1になったことに応じて、当該ハードウェアリソース群100に含まれるハードウェアリソースの所属が当該ハードウェアリソース群100から共通予備リソース群108に変更されてもよい。
通信システム1に含まれるハードウェアリソースを複数のハードウェアリソース群100に分けて管理する場合に、アプリケーションのスケールアウトが実行されることを見越して、複数のハードウェアリソース群100のそれぞれで多くのハードウェアリソースを予め確保してしまうと、ハードウェアリソースの無駄が発生してしまう。
本実施形態では、以上で説明したように、ハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられる条件を満たしたことに応じて、共通予備リソース群108に含まれるハードウェアリソースの所属が共通予備リソース群108から当該ハードウェアリソース群100に変更される。
このようにして、本実施形態によれば、通信システム1に含まれるハードウェアリソースを効率的に使用できることとなる。
また、スケールアウトに伴いハードウェアリソース群100に既に割り当てられているハードウェアリソースにアプリケーションをデプロイするのに要する時間よりも、スケールアウトに伴い予備リソース110の所属を共通予備リソース群108から当該ハードウェアリソース群100に変更した上で、当該予備リソース110にアプリケーションをデプロイするのに要する時間の方が長い。そのため、スケールアウトがスムーズに行われるようにするためには、ハードウェアリソース群100にできるだけ多くのハードウェアリソースが常時確保されていることが望ましい。
しかし、ハードウェアリソース群100に割り当てられているハードウェアリソース量が多いほど購入者が支払う費用が多くなるような状況においては、ハードウェアリソース群100に常時確保されるハードウェアリソース量はできるだけ少ない方が望ましい。
一方で、不測の事態により負荷が突発的に高くなった場合や、多くの人が集まるイベントが開催されることが予定されている場合に、ハードウェアリソース群100に確保されているハードウェアリソースだけでは充分なサービスが提供できないことがある。
本実施形態では、以上で説明したように、ハードウェアリソース群100への予備リソース110の一時的な追加により、当該ハードウェアリソース群100に確保されるハードウェアリソースを柔軟に調整することができるので、上述の場合などにおいても充分なサービスを提供できることとなる。
なお、ハードウェアリソース群100がコンテナ管理ツールによって管理されるクラスタに相当する場合、本実施形態によれば、コンテナ管理ツールでは行えないような、クラスタをまたぐような予備リソース110の所属の変更が可能となる。
また、本実施形態では、上述のように、特殊予備リソース群に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たす場合に、当該特殊予備リソース群に対応付けられる種類のアプリケーションが稼働するいずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、構成管理部76が、当該特殊予備リソース群に含まれるハードウェアリソースの所属を当該特殊予備リソース群から当該ハードウェアリソース群100に変更してもよい。
そして、特殊予備リソース群に含まれているハードウェアリソースの余裕度が上述の余裕条件を満たさない場合に、当該特殊予備リソース群に対応付けられる種類のアプリケーションが稼働するいずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、ベアメタル管理部96が、汎用予備リソース群112に含まれるハードウェアリソースに対して当該種類に応じたセットアップを実行し、構成管理部76が、当該セットアップが実行されたハードウェアリソースの所属を汎用予備リソース群112から当該ハードウェアリソース群100に変更してもよい。
このようにすることで、上述の所定の種類のアプリケーションが稼働しているハードウェアリソース群100の使用状況がリソース追加条件を満たした場合に、当該種類に応じたセットアップが実行されたハードウェアリソースに余裕があれば、当該セットアップが実行されていないハードウェアリソースに対して当該セットアップを実行することなく、当該ハードウェアリソース群100に予備リソース110をスムーズに追加することが可能となる。
また、初期状態において、上述の所定のアプリケーションの種類に応じたセットアップを予備リソース110に対して事前に実行していなくても、当該種類のアプリ―ションが稼働するハードウェアリソース群100に予備リソース110を追加することが可能となる。
また、上述のように、構成管理部76は、特殊予備リソース群に含まれているハードウェアリソースの余裕度が余裕条件を満たさない場合に、当該特殊予備リソース群に対応付けられる種類のアプリケーションが稼働するいずれかのハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、ベアメタル管理部96が、汎用予備リソース群112のうちから選択される選択ハードウェアリソースに対して当該種類に応じたセットアップを実行し、構成管理部76が、当該セットアップが実行された選択ハードウェアリソースの所属を汎用予備リソース群112から当該ハードウェアリソース群100に変更してもよい。
そして、構成管理部76が、当該ハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース削除条件を満たしたことに応じて、上述のセットアップが実行された選択ハードウェアリソースの所属を当該ハードウェアリソース群100から当該特殊サブ予備リソース群に変更してもよい。
このように、汎用予備リソース群112から当該ハードウェアリソース群100に所属が変更された、上述のセットアップが実行されたハードウェアリソースを、当該セットアップの実行前の状態に戻すことなく、当該ハードウェアリソースの所属を、汎用予備リソース群112ではなく、特殊予備リソース群に変更するようにすることで、ストレージの読み書き回数を抑制できるなどの理由で、ハードウェアリソースの耐久性を向上させることが可能となる。
また、本発明は、コアネットワークシステム34に含まれる他のアプリケーション(SMF48等)が稼働するハードウェアリソース群100についても適用可能である。
また、本発明は、RAN32に含まれるアプリケーション(DU42、CU-CP44a、CU-UP44b等)が稼働するハードウェアリソース群100にも適用可能である。
また、リソース追加条件やリソース削除条件は、ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられる条件であってもよい。例えば、リソース追加条件が、ハードウェアリソース群100に割り当てられているハードウェアリソース量に対する実際使用リソース量102の割合に係る閾値である場合に、スケールアウトにより増加する想定最大使用リソース量104が多いアプリケーションであるほど、当該閾値が小さくなるようにリソース追加条件が設定されてもよい。
そして、構成管理部76は、ハードウェアリソース群100の使用状況が当該ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられるリソース追加条件を満たしたことに応じて、共通予備リソース群108に含まれるハードウェアリソースの所属を共通予備リソース群108から当該ハードウェアリソース群100に変更してもよい。
また、構成管理部76は、ハードウェアリソース群100の使用状況が当該ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられるリソース削除条件を満たしたことに応じて、当該ハードウェアリソース群100に含まれるハードウェアリソースの所属を当該ハードウェアリソース群100から共通予備リソース群108に変更してもよい。
例えば、UPF50が稼働している、第1ハードウェアリソース群100a、第2ハードウェアリソース群100b、及び、第4ハードウェアリソース群100dについては、リソース追加条件、又は、リソース削除条件のうちの少なくとも一方が同じであってもよい。そして、AMF46が稼働している、第3ハードウェアリソース群100c、及び、第5ハードウェアリソース群100eについては、リソース追加条件、又は、リソース削除条件のうちの少なくとも一方が同じであってもよい。
このようにリソース追加条件やリソース削除条件をアプリケーションの種類に対応付けられるものとすることで、複数のアプリケーションの種類のそれぞれについて、当該種類に適したタイミングでのハードウェアリソースの追加や削除を行うことが可能となる。
また、アプリケーションの購入者が、リソース追加条件やリソース削除条件を、設定できるようにしてもよい。
また例えば、リソース追加条件やリソース削除条件が、ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられる範囲内から当該アプリケーションの購入者によって選択される条件、又は、ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられる複数の選択肢のうちから当該アプリケーションの購入者によって選択される条件であってもよい。このようにすれば、アプリケーションの購入者が、リソース追加条件やリソース削除条件を設定できるようにしつつ、その設定について、アプリケーションの種類に対応付けられる制限を設けることが可能となる。
また、本実施形態において、共通予備リソース群108からハードウェアリソース群100に所属が変更される予備リソース110のハードウェアリソース量が、当該ハードウェアリソース群100に割り当てられているハードウェアリソース量に応じたものになっていてもよい。例えば、ハードウェアリソース群100に割り当てられているハードウェアリソース量が多いほど、多くの予備リソース110の所属が変更されるようにしてもよい。
また、ハードウェアリソース群100に対して、予備リソース110の追加(共通予備リソース群108から当該ハードウェアリソース群100への所属の変更)が複数回実行されてもよい。すなわち、ハードウェアリソース群100に1つの予備リソース110が追加された後で、さらに、当該ハードウェアリソース群100の使用状況がリソース追加条件を満たしたことに応じて、当該ハードウェアリソース群100にさらに1つの予備リソース110が追加されるようにしてもよい。この場合、リソース追加条件は、ハードウェアリソース群100に追加された予備リソース110の数に応じた条件であってもよい。
また、本実施形態において、共通予備リソース群108は、複数の特殊予備リソース群を含んでいてもよい。そして、これら複数の特殊予備リソース群のそれぞれは、アプリケーションの種類に対応付けられていてもよい。そして、これら複数の特殊予備リソース群のそれぞれは、含まれているハードウェアリソースが、当該特殊予備リソース群に対応付けられるアプリケーションの種類に応じたセットアップが実行されたハードウェアリソースであってもよい。
そして、いずれかの特殊予備リソース群に含まれているハードウェアリソースの余裕度が当該特殊予備リソース群に対応付けられる余裕条件を満たす場合に、当該特殊予備リソース群に対応付けられるアプリケーションが稼働しているハードウェアリソース群100の使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、構成管理部76が、当該特殊予備リソース群に含まれるハードウェアリソースの所属を当該特殊予備リソース群から当該ハードウェアリソース群100に変更してもよい。
以下、共通予備リソース群108に複数の特殊予備リソース群が含まれる状況について、図11から図17を参照しながら説明する。
以下の説明では、図11に示すように、第6ハードウェアリソース群100fで、購入者Cが購入したUPF50が稼働し、第7ハードウェアリソース群100gで、購入者Cが購入したAMF46が稼働し、第8ハードウェアリソース群100hで、購入者Cが購入したDU42が稼働していることとする。
なお、購入者Cが購入したネットワークサービスには、図11に示されていないNF(例えば、CU44、SMF48等)も含まれているが、これらのNFについては省略されている。
そして、共通予備リソース群108には、汎用予備リソース群112と、2つの特殊予備リソース群(UPF用予備リソース群114、及び、DU用予備リソース群116)が含まれていることとする。
UPF用予備リソース群114に含まれているハードウェアリソースは、UPF50に応じたセットアップが実行されたハードウェアリソースであることとする。
また、DU用予備リソース群116に含まれているハードウェアリソースは、DU42に応じたセットアップが実行されたハードウェアリソースであることとする。
また、上述のように、汎用予備リソース群112に含まれているハードウェアリソースは、特殊予備リソース群に対応付けられる種類のアプリケーションとは異なるアプリケーションを稼働させるためには、当該アプリケーションの種類に応じたセットアップを追加で実行する必要がないハードウェアリソースであることとする。汎用予備リソース群112に含まれるハードウェアリソースは、例えば、汎用的なサーバである。
そして、図11に示すように、初期状態では、汎用予備リソース群112には予備リソース110(110a,110b,110c,・・・)が含まれているが、UPF用予備リソース群114、及び、DU用予備リソース群116には予備リソース110が含まれておらず、空であることとする。
図11に示す状況において、例えば、図12に示すように、AMF46が稼働している、第7ハードウェアリソース群100gの使用状況が、リソース追加条件を満たしたとする。
この場合は、汎用予備リソース群112のうちから選択される予備リソース110である選択ハードウェアリソースに対して特段のセットアップが実行されることなく、構成管理部76は、当該選択ハードウェアリソースの所属を共通予備リソース群108から第7ハードウェアリソース群100gに変更してもよい。ここでは例えば、予備リソース110aが選択ハードウェアリソースに相当する。
そして、例えば、図12に示す状況において、例えば、図13に示すように、AMF46が稼働している第7ハードウェアリソース群100gの使用状況が、リソース削除条件を満たしたとする。
この場合、構成管理部76が、選択ハードウェアリソースの所属を第7ハードウェアリソース群100gから汎用予備リソース群112に変更してもよい。
また、図11に示す状況において、例えば、図14に示すように、UPF50が稼働している、第6ハードウェアリソース群100fの使用状況が、リソース追加条件を満たしたとする。
この場合、ベアメタル管理部96が、汎用予備リソース群112から第6ハードウェアリソース群100fに所属が変更される予備リソース110である選択ハードウェアリソースに対して、UPF50に応じたセットアップを実行してもよい。ここでは例えば、予備リソース110aが選択ハードウェアリソースに相当する。そして、構成管理部76が、当該セットアップが実行された選択ハードウェアリソースの所属を共通予備リソース群108から第6ハードウェアリソース群100fに変更してもよい。
また、上記の場合において、ベアメタル管理部96は、第6ハードウェアリソース群100fの使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、共通予備リソース群108に含まれるハードウェアリソース(例えば、上述の選択ハードウェアリソース)に対して、第6ハードウェアリソース群100fで稼働しているアプリケーションの種類に応じたセットアップを実行してもよい。
そして、例えば、図14に示す状況において、例えば、図15に示すように、UPF50が稼働している第6ハードウェアリソース群100fの使用状況が、リソース削除条件を満たしたとする。
この場合、構成管理部76が、選択ハードウェアリソースの所属を第6ハードウェアリソース群100fからUPF用予備リソース群114に変更してもよい。当該選択ハードウェアリソースは、その後、UPF50が稼働しているハードウェアリソース群100の使用状況がリソース追加条件を満たした場合に、当該ハードウェアリソース群100に所属が変更されてもよい。
そして、図15に示す状況において、その後、例えば、図16に示すように、DU42が稼働している第8ハードウェアリソース群100hの使用状況が、リソース追加条件を満たしたとする。
この場合、ベアメタル管理部96が、汎用予備リソース群112から第8ハードウェアリソース群100hに所属が変更される選択ハードウェアリソースに対して、DU42に応じたセットアップを実行してもよい。ここでは例えば、予備リソース110bが選択ハードウェアリソースに相当する。そして、構成管理部76が、当該セットアップが実行された選択ハードウェアリソースの所属を共通予備リソース群108から第8ハードウェアリソース群100hに変更してもよい。
また、上記の場合において、ベアメタル管理部96は、第8ハードウェアリソース群100hの使用状況が当該ハードウェアリソース群100に対応付けられるリソース追加条件を満たしたことに応じて、汎用予備リソース群112に含まれるハードウェアリソース(例えば、選択ハードウェアリソース)に対して、第8ハードウェアリソース群100hで稼働しているアプリケーションの種類に応じたセットアップを実行してもよい。
そして、図16に示す状況において、例えば、図17に示すように、DU42が稼働している第8ハードウェアリソース群100hの使用状況が、リソース削除条件を満たしたとする。
この場合、構成管理部76が、選択ハードウェアリソースの所属を第8ハードウェアリソース群100hからDU用予備リソース群116に変更してもよい。当該選択ハードウェアリソースは、その後、DU42が稼働しているハードウェアリソース群100の使用状況がリソース追加条件を満たした場合に、当該ハードウェアリソース群100に所属が変更されてもよい。
以上のようにすることで、上述の所定の種類が複数ある場合に、それぞれの種類について、当該種類のアプリケーションが稼働しているハードウェアリソース群100の使用状況がリソース追加条件を満たした場合に、当該種類に応じたセットアップが実行されたハードウェアリソースに余裕があれば、当該セットアップが実行されていないハードウェアリソースに対して当該セットアップを実行することなく、当該ハードウェアリソース群100に予備リソース110をスムーズに追加することが可能となる。
また、以上のようにすることで、初期状態において、所定のアプリケーションの種類が複数である場合に、それぞれのアプリケーションの種類に応じたセットアップを予備リソース110に対して事前に実行していなくても、当該種類のアプリ―ションが稼働するハードウェアリソース群100に予備リソース110を追加することが可能となる。
また、以上の場合についても、ストレージの読み書き回数を抑制できるなどの理由で、ハードウェアリソースの耐久性を向上させることが可能となる。
また、本実施形態において、初期状態で、特殊予備リソース群に、当該特殊予備リソース群に対応付けられるアプリケーションの種類に応じたセットアップが実行された予備リソース110が含まれるようにしてもよい。
また、本実施形態において、構成管理部76が、特殊予備リソース群に含まれるハードウェアリソース量と、汎用予備リソース群112に含まれるハードウェアリソース量と、の比率が、所定の比率条件を満たしていない場合に、当該比率条件を満たすよう、当該特殊予備リソース群又は汎用予備リソース群112のうちの一方に含まれるハードウェアリソースの所属を、当該一方から他方に変更してもよい。
ここで、所属が汎用予備リソース群112から特殊予備リソース群に変更されるハードウェアリソースに対して、ベアメタル管理部96は、当該特殊予備リソース群に対応付けられるアプリケーションの種類に応じたセットアップを実行してもよい。
また、所属が特殊予備リソース群から汎用予備リソース群112に変更されるハードウェアリソースに対して、ベアメタル管理部96は、セットアップが実行されたハードウェアリソースを当該セットアップの実行前の状態に戻してもよい。以下、上述のセットアップが実行されたハードウェアリソースを当該セットアップの実行前の状態に戻す処理を、アンセットアップと呼ぶこととする。
ここで、例えば、構成管理部76が、ハードウェアリソースの使用実績に基づいて上述の比率を決定してもよい。例えば、過去の所定期間における、所定の種類のアプリケーションが稼働するハードウェアリソース群100におけるハードウェアリソースの実際の使用率と、当該所定の種類以外のアプリケーションが稼働するハードウェアリソース群100におけるハードウェアリソースの実際の使用率と、の比率に基づいて、特殊予備リソース群に含まれる予備リソース110の量と、汎用予備リソース群112に含まれる予備リソース110の量と、の比率が決定されてもよい。
また、期間種別ごとに、上述の比率条件が決定されてもよい。例えば、平日と休日のそれぞれについての比率条件が決定されてもよい。また、昼間及び夜間のそれぞれについての比率条件が決定されてもよい。そして、現在時刻が属する期間種別について決定された比率条件に基づいて、特殊予備リソース群又は汎用予備リソース群112のうちの一方に含まれるハードウェアリソースの所属が、当該一方から他方に変更されてもよい。
以上のようにすれば、セットアップが実行されたハードウェアリソースを共通予備リソース群108に確保することが可能となる。
また、本実施形態において、構成管理部76が、特殊予備リソース群に含まれているハードウェアリソースの余裕度が所定の補充条件を満たす場合に、汎用予備リソース群112に含まれるハードウェアリソースの所属を、汎用予備リソース群112から当該特殊予備リソース群に変更してもよい。この補充条件は、上述の余裕条件と同じであってもよいし異なっていてもよい。
例えば、特殊予備リソース群に予備リソース110が含まれておらず、空である場合に、構成管理部76が、汎用予備リソース群112に含まれるハードウェアリソースの所属を、汎用予備リソース群112から当該特殊予備リソース群に変更してもよい。
ここで、ベアメタル管理部96が、所属が汎用予備リソース群112から特殊予備リソース群に変更されるハードウェアリソースに対して、当該特殊予備リソース群に対応付けられるアプリケーションの種類に応じたセットアップを実行してもよい。
なお、以上の処理は、例えば、夜間や休日にバッチ処理で実行されてもよい。
この場合も、セットアップが実行されたハードウェアリソースを共通予備リソース群108に確保することが可能となる。
また、本実施形態において、ネットワークサービスの購入者の要求に応じて、予備リソース110の所属が、共通予備リソース群108から、当該購入者が購入したアプリケーションが稼働するハードウェアリソース群100に変更されるようにしてもよい。
また、ネットワークサービスの購入者が、上述のように予め設定されたリソース追加条件を満たした場合に予備リソース110の所属が変更されるようにするか否かを設定できてもよい。
また、ハードウェアリソース群100の使用状況がリソース追加条件を満たしたことに応じて、ネットワークサービスの購入者にハードウェアリソースの追加要否の問い合わせが通知されるようにしてもよい。そして、当該購入者によってリソースの追加が承認されたことに応じて、予備リソース110の所属が共通予備リソース群108から当該購入者が購入したアプリケーションが稼働するハードウェアリソース群100に変更されるようにしてもよい。
同様に、ハードウェアリソース群100の使用状況がリソース削除条件を満たしたことに応じて、ネットワークサービスの購入者にハードウェアリソースの削除要否の問い合わせが通知されるようにしてもよい。そして、当該購入者によってリソースの削除が承認されたことに応じて、予備リソース110の所属が、当該購入者が購入したアプリケーションが稼働するハードウェアリソース群100から共通予備リソース群108に変更されるようにしてもよい。
また、リソース追加条件やリソース削除条件が、アプリケーションが稼働しているサーバ数、又は、空きサーバ数に係る条件であってもよい。例えば、ハードウェアリソース群100に含まれる空きサーバ数が所定数以下になったことに応じて、共通予備リソース群108に含まれるハードウェアリソースの所属が共通予備リソース群108から当該ハードウェアリソース群100に変更されてもよい。
また、リソース追加条件やリソース削除条件が、アプリケーションが稼働している仮想マシン(VM)数、又は、空きVM数に係る条件であってもよい。例えば、ハードウェアリソース群100に含まれる空きVM数が所定数以下になったことに応じて、共通予備リソース群108に含まれるハードウェアリソースの所属が共通予備リソース群108から当該ハードウェアリソース群100に変更されてもよい。
ここで、本実施形態に係るプラットフォームシステム30で行われる、ハードウェアリソース群100へのハードウェアリソースの追加に関する処理の流れの一例を、図18に例示するフロー図を参照しながら説明する。
図18に例示する処理は、通信システム1に含まれる、上述の所定の種類(例えば、UPF50、又は、DU42)のアプリケーションが稼働している、すべてのハードウェアリソース群100において実行される。
本処理例では、ポリシーマネージャ部90が、当該ハードウェアリソース群100の使用状況がリソース追加条件を満たしているか否かを監視している(S101)。
ここで、ポリシーマネージャ部90が、当該ハードウェアリソース群100の使用状況がリソース追加条件を満たしたと判定すると(S101:Y)、構成管理部76が、当該ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられる特殊予備リソース群に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たすか否かを判定する(S102)。
余裕条件を満たす場合は(S102:Y)、構成管理部76は、当該特殊予備リソース群に含まれる選択ハードウェアリソースの所属を当該特殊予備リソース群から当該ハードウェアリソース群100に変更して(S103)、S101に示す処理に戻る。
余裕条件を満たさない場合は(S102:N)、ベアメタル管理部96が、汎用予備リソース群112に含まれる選択ハードウェアリソースに対して、当該ハードウェアリソース群100で稼働しているアプリケーションの種類に応じたセットアップを実行する(S104)。
そして、構成管理部76が、S104に示す処理でセットアップが実行された選択ハードウェアリソースの所属を、汎用予備リソース群112から当該ハードウェアリソース群100に変更して(S105)、S101に示す処理に戻る。
上述の所定の種類のアプリケーション(例えば、UPF50、又は、DU42)以外のアプリケーションが稼働している、すべてのハードウェアリソース群100においては、S102からS105に示す処理が実行されない。その代わりに、ポリシーマネージャ部90が、当該ハードウェアリソース群100の使用状況がリソース追加条件を満たしたと判定すると(S101:Y)、構成管理部76が、汎用予備リソース群112に含まれる選択ハードウェアリソースの所属を汎用予備リソース群112から当該ハードウェアリソース群100に変更して、S101に示す処理に戻る。
次に、本実施形態に係るプラットフォームシステム30で行われる、ハードウェアリソース群100からのハードウェアリソースの削除に関する処理の流れの一例を、図19に例示するフロー図を参照しながら説明する。
図19に例示する処理は、通信システム1に含まれるすべてのハードウェアリソース群100において実行される。
本処理例では、ポリシーマネージャ部90が、当該ハードウェアリソース群100の使用状況がリソース削除条件を満たしているか否かを監視している(S201)。
ここで、ポリシーマネージャ部90が、当該ハードウェアリソース群100の使用状況がリソース削除条件を満たしたと判定すると(S201:Y)、構成管理部76が、選択ハードウェアリソースの所属を、当該ハードウェアリソース群100から当該ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられる予備リソース群に変更して(S202)、S201に示す処理に戻る。
S202に示す処理では、例えば、リソース削除条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が上述の所定の種類である場合は、選択ハードウェアリソースの所属が、当該ハードウェアリソース群100から当該ハードウェアリソース群100で稼働しているアプリケーションの種類に対応付けられる特殊予備リソース群に変更される。
また、S203に示す処理では、例えば、リソース削除条件を満たしたハードウェアリソース群100で稼働しているアプリケーションの種類が上述の所定の種類以外の種類である場合は、選択ハードウェアリソースの所属が、当該ハードウェアリソース群100から汎用予備リソース群112に変更される。
なお、本発明は上述の実施形態に限定されるものではない。
例えば、以上の説明においてベアメタル管理部96によって実行される諸例が、例えば、構成管理部76によって実行されてもよい。逆に、以上の説明において構成管理部76によって実行される処理を、例えば、ベアメタル管理部96によって実行されてもよい。
また、本実施形態に係る機能ユニットは図3に示したものには限定されない。
また、本実施形態に係る機能ユニットは、5GにおけるNFである必要はない。例えば、本実施形態に係る機能ユニットが、eNodeB、vDU、vCU、P-GW(Packet Data Network Gateway)、S-GW(Serving Gateway)、MME(Mobility Management Entity)、HSS(Home Subscriber Server)などといった、4Gにおけるネットワークノードであっても構わない。
また、本実施形態に係る機能ユニットが、コンテナ型の仮想化技術でなく、ハイパーバイザ型やホスト型の仮想化技術を用いて実現されてもよい。また、本実施形態に係る機能ユニットがソフトウェアによって実装されている必要はなく、電子回路等のハードウェアによって実装されていてもよい。また、本実施形態に係る機能ユニットが、電子回路とソフトウェアとの組合せによって実装されていてもよい。
本開示に記載の技術は以下のように表現することもできる。
[1]
通信システムに含まれる複数のハードウェアリソース群のそれぞれの使用状況を監視する使用状況監視手段と、
いずれかの前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられるリソース追加条件を満たしたことに応じて、いずれの前記ハードウェアリソース群とも異なる共通予備リソース群に含まれるハードウェアリソースの所属を、前記共通予備リソース群から当該ハードウェアリソース群に変更するリソース追加手段と、
所定のアプリケーションの種類に応じたセットアップを実行するセットアップ実行手段と、を含み、
前記共通予備リソース群の一部であり、含まれているハードウェアリソースが、前記種類に応じたセットアップが実行されたハードウェアリソースである特殊予備リソース群に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たす場合に、前記種類のアプリケーションが稼働するいずれかの前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられる前記リソース追加条件を満たしたことに応じて、前記リソース追加手段が、当該特殊予備リソース群に含まれるハードウェアリソースの所属を当該特殊予備リソース群から当該ハードウェアリソース群に変更し、
前記特殊予備リソース群に含まれているハードウェアリソースの余裕度が前記余裕条件を満たさない場合に、前記種類のアプリケーションが稼働するいずれかの前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられる前記リソース追加条件を満たしたことに応じて、前記セットアップ実行手段が、前記共通予備リソース群の一部であり、含まれているハードウェアリソースが、前記セットアップが実行されていないハードウェアリソースである汎用予備リソース群に含まれるハードウェアリソースに対して前記アプリケーションの種類に応じたセットアップを実行し、前記リソース追加手段が、前記セットアップが実行されたハードウェアリソースの所属を当該汎用予備リソース群から当該ハードウェアリソース群に変更する、
ことを特徴とするリソース管理システム。
[2]
前記共通予備リソース群は、アプリケーションの種類にそれぞれ対応付けられる、含まれているハードウェアリソースが、当該種類に応じたセットアップが実行されたハードウェアリソースである複数の前記特殊予備リソース群を含み、
いずれかの前記特殊予備リソース群に含まれているハードウェアリソースの余裕度が当該特殊予備リソース群に対応付けられる前記余裕条件を満たす場合に、当該特殊予備リソース群に対応付けられるアプリケーションが稼働している前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられる前記リソース追加条件を満たしたことに応じて、前記リソース追加手段が、当該特殊予備リソース群に含まれるハードウェアリソースの所属を当該特殊予備リソース群から当該ハードウェアリソース群に変更する、
ことを特徴とする[1]に記載のリソース管理システム。
[3]
前記特殊予備リソース群に含まれているハードウェアリソースの余裕度が前記余裕条件を満たさない場合に、前記種類のアプリケーションが稼働するいずれかの前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられる前記リソース追加条件を満たしたことに応じて、前記セットアップ実行手段が、前記汎用予備リソース群のうちから選択される選択ハードウェアリソースに対して前記アプリケーションの種類に応じたセットアップを実行し、前記リソース追加手段が、前記セットアップが実行された前記選択ハードウェアリソースの所属を当該汎用予備リソース群から当該ハードウェアリソース群に変更し、
前記いずれかの前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられるリソース削除条件を満たしたことに応じて、前記セットアップが実行された前記選択ハードウェアリソースの所属を当該ハードウェアリソース群から当該特殊予備リソース群に変更するリソース削除手段、をさらに含む、
ことを特徴とする[1]又は[2]に記載のリソース管理システム。
[4]
前記特殊予備リソース群に含まれるハードウェアリソース量と、前記汎用予備リソース群に含まれるハードウェアリソース量と、の比率が、所定の比率条件を満たしていない場合に、当該比率条件を満たすよう、前記特殊予備リソース群又は前記汎用予備リソース群のうちの一方に含まれるハードウェアリソースの所属を、当該一方から他方に変更するリソース調整手段、をさらに含み、
所属が前記汎用予備リソース群から前記特殊予備リソース群に変更されるハードウェアリソースに対して、前記セットアップ実行手段は、前記アプリケーションの種類に応じたセットアップを実行し、
所属が前記特殊予備リソース群から前記汎用予備リソース群に変更されるハードウェアリソースに対して、前記セットアップが実行されたハードウェアリソースを当該セットアップの実行前の状態に戻すアンセットアップ実行手段、をさらに含む、
ことを特徴とする[1]から[3]のいずれか一項に記載のリソース管理システム。
[5]
前記ハードウェアリソースの使用実績に基づいて前記比率を決定する比率決定手段、をさらに含む、
ことを特徴とする[4]に記載のリソース管理システム。
[6]
前記特殊予備リソース群に含まれているハードウェアリソースの余裕度が所定の補充条件を満たす場合に、前記汎用予備リソース群に含まれるハードウェアリソースの所属を、当該汎用予備リソース群から前記特殊予備リソース群に変更するリソース調整手段、をさらに含み、
所属が前記汎用予備リソース群から前記特殊予備リソース群に変更されるハードウェアリソースに対して、前記セットアップ実行手段は、前記アプリケーションの種類に応じたセットアップを実行する、
ことを特徴とする[1]から[3]のいずれか一項に記載のリソース管理システム。
[7]
前記リソース追加条件は、ハードウェアリソースの実際の使用量、ハードウェアリソースの実際の使用率、ハードウェアリソースの実際の余裕量、又は、ハードウェアリソースの実際の余裕率、に係る条件である、
ことを特徴とする[1]から[6]のいずれか一項に記載のリソース管理システム。
[8]
前記リソース追加条件は、前記ハードウェアリソース群でのアプリケーションの稼働のための使用が想定される最大ハードウェアリソース量、又は、前記ハードウェアリソース群でのアプリケーションの稼働のための使用が想定される最大ハードウェアリソース率に係る条件である、
ことを特徴とする[1]から[6]のいずれか一項に記載のリソース管理システム。
[9]
前記リソース追加条件は、前記ハードウェアリソース群で稼働しているアプリケーションの数に対応付けられる条件である、
ことを特徴とする[1]から[8]のいずれか一項に記載のリソース管理システム。
[10]
前記リソース追加条件は、前記ハードウェアリソース群で稼働しているアプリケーションの種類に対応付けられる範囲内から当該アプリケーションの購入者によって選択される条件、又は、前記ハードウェアリソース群で稼働しているアプリケーションの種類に対応付けられる複数の選択肢のうちから当該アプリケーションの購入者によって選択される条件である、
ことを特徴とする[1]から[9]のいずれか一項に記載のリソース管理システム。
[11]
前記複数のハードウェアリソース群のうちのいずれかで稼働しているアプリケーションの購入者とは異なる購入者によって購入されたアプリケーションが別の前記ハードウェアリソース群で稼働している、
ことを特徴とする[1]から[10]のいずれか一項に記載のリソース管理システム。
[12]
前記使用状況監視手段は、前記通信システムに含まれる複数のサーバ群のそれぞれの使用状況を監視し、
前記リソース追加手段は、いずれかの前記サーバ群の使用状況が当該サーバ群に対応付けられるサーバ追加条件を満たしたことに応じて、いずれの前記サーバ群とも異なる共通予備サーバ群に含まれるサーバの所属を、前記共通予備サーバ群から当該サーバ群に変更する、
ことを特徴とする[1]から[11]のいずれか一項に記載のリソース管理システム。
[13]
前記ハードウェアリソース群は、コンテナ管理ツールによって管理されるクラスタに相当する、
ことを特徴とする[1]から[12]のいずれか一項に記載のリソース管理システム。
[14]
通信システムに含まれる複数のハードウェアリソース群のそれぞれの使用状況を監視することと、
いずれの前記ハードウェアリソース群とも異なる共通予備リソース群の一部であり、含まれているハードウェアリソースが、所定のアプリケーションの種類に応じたセットアップが実行されたハードウェアリソースである特殊予備リソース群に含まれているハードウェアリソースの余裕度が所定の余裕条件を満たす場合に、前記種類のアプリケーションが稼働するいずれかの前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられるリソース追加条件を満たしたことに応じて、当該特殊予備リソース群に含まれるハードウェアリソースの所属を当該特殊予備リソース群から当該ハードウェアリソース群に変更することと、
前記特殊予備リソース群に含まれているハードウェアリソースの余裕度が前記余裕条件を満たさない場合に、前記種類のアプリケーションが稼働するいずれかの前記ハードウェアリソース群の使用状況が当該ハードウェアリソース群に対応付けられる前記リソース追加条件を満たしたことに応じて、前記共通予備リソース群の一部であり、含まれているハードウェアリソースが、前記セットアップが実行されていないハードウェアリソースである汎用予備リソース群に含まれるハードウェアリソースに対して前記アプリケーションの種類に応じたセットアップを実行し、前記セットアップが実行されたハードウェアリソースの所属を当該汎用予備リソース群から当該ハードウェアリソース群に変更することと、
を含むことを特徴とするリソース管理方法。