(57)【要約】【課題】プロセスを移行元サーバから移行先サーバに移行するための移行スケジュールを導出するための時間を短縮する。【解決手段】プロセスを稼働させる移行元サーバと、プロセスの移行先である移行先サーバとを有するシステムにおけるプロセスの移行順序を決定するプロセス処理装置において、プロセス間の通信関係に基づいて決定されたプロセスのグループの情報を格納するグループ管理テーブルと、前記グループ管理テーブルにおけるグループに基づいて、移行用グループを決定し、同じグループに属する複数の移行用グループが連続したタイミングで移行を完了するように、前記移行元サーバから前記移行先サーバへのプロセスの移行順序を決定する決定手段とを備える。【選択図】図２
2019128912.tif 000002
【特許請求の範囲】
【請求項１】
プロセスを稼働させる移行元サーバと、プロセスの移行先である移行先サーバとを有するシステムにおけるプロセスの移行順序を決定するプロセス処理装置であって、
プロセス間の通信関係に基づいて決定されたプロセスのグループの情報を格納するグループ管理テーブルと、
前記グループ管理テーブルにおけるグループに基づいて、移行用グループを決定し、同じグループに属する複数の移行用グループが連続したタイミングで移行を完了するように、前記移行元サーバから前記移行先サーバへのプロセスの移行順序を決定する決定手段と
を備えることを特徴とするプロセス処理装置。
【請求項２】
前記決定手段は、前記グループ管理テーブルにおける、移行対象のプロセスを含むグループ毎に、グループに含まれるプロセスのべき集合を計算し、当該べき集合の要素から前記移行用グループを決定する
ことを特徴とする請求項１に記載のプロセス処理装置。
【請求項３】
通信関係を有する複数プロセスの追加又は削除に基づいて、前記グループ管理テーブルを更新する更新手段
を更に備えることを特徴とする請求項１又は２に記載のプロセス処理装置。
【請求項４】
通信関係を有する複数プロセスの追加時において、前記更新手段は、当該複数プロセスにおける少なくとも１つのプロセスを含む各グループを１つのグループに統合する
ことを特徴とする請求項３に記載のプロセス処理装置。
【請求項５】
通信関係を有する複数プロセスの削除時において、前記更新手段は、当該複数プロセスを含むグループを、当該グループ内のプロセス間の通信関係に基づいて、通信関係を有しない複数のグループに分割する
ことを特徴とする請求項３又は４に記載のプロセス処理装置。
【請求項６】
請求項１ないし５のうちいずれか１項に記載のプロセス処理装置と、前記移行元サーバ、及び前記移行先サーバとを備えるプロセス処理システム。
【請求項７】
プロセスを稼働させる移行元サーバと、プロセスの移行先である移行先サーバとを有するシステムにおけるプロセスの移行順序を決定するプロセス処理装置が実行するプロセス移行順序決定方法であって、
前記プロセス処理装置は、プロセス間の通信関係に基づいて決定されたプロセスのグループの情報を格納するグループ管理テーブルを有し、
前記グループ管理テーブルにおけるグループに基づいて、移行用グループを決定し、同じグループに属する複数の移行用グループが連続したタイミングで移行を完了するように、前記移行元サーバから前記移行先サーバへのプロセスの移行順序を決定する決定ステップ
を備えることを特徴とするプロセス移行順序決定方法。
【請求項８】
コンピュータを、請求項１ないし５のうちいずれか１項に記載のプロセス処理装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある物理装置上で稼働するプロセスを別の物理装置上に移行して稼働させる際に利用する移行スケジュールの計算方法に関連するものである。
【背景技術】
【０００２】
仮想ネットワーク技術の成熟に伴い、ソフトウェアを用いたパケット処理が実用化されるようになった。このようなソフトウェアを仮想ネットワーク機能（ＶＮＦ：  Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）と呼ぶ。
【０００３】
また、トンネル終端やＮＡＰＴ、ＩＰＳｅｃゲートウェイ等の機能をＶＮＦに実装し、これらのＶＮＦ間をトンネル等で接続することで、決められた順序に沿ってパケットに処理を施す、サービスファンクションチェイニング（ＳＦＣ）が普及し始めている。
【０００４】
なお、ＳＦＣでは、ＶＮＦはサービスファンクション（ＳＦ）と呼ばれる。しかし、ＳＦはソフトウェア化したネットワーク機能だけでなく物理装置も含むため、パケット処理ソフトウェアを対象とすることを明確化するために、本明細書内では、物理装置であるサーバで稼働するパケット処理ソフトウェアの呼称としてＶＮＦを用いる。
【０００５】
ＳＦＣを構成する複数のＶＮＦを複数の異なるサーバで稼働させる場合、あるサーバのＶＮＦから別のサーバで稼働するＶＮＦにデータを転送するため、ネットワーク内にトラヒックが生じる。以降、このトラヒックをサーバ間トラヒックと呼ぶ。
【０００６】
ＶＮＦはデータセンタで稼働することが想定される。装置コストや電力コストを向上させるために、データセンタ内のトラヒックを削減したいという要望がある。これを実現するために、同一のＳＦＣに属するＶＮＦは同一サーバ上で稼働させることが望まれる。同一のＳＦＣに属するＶＮＦを同一サーバ上で稼働させることで、ＶＮＦ間のデータ転送がサーバ内のメモリ、ＣＰＵバス、コア間インターコネクトを介して行われるため、ネットワークにデータを転送する必要がなくなり、データセンタ内のトラヒックが削減されるためである。
【０００７】
ところで、ＳＦＣのサービスを行うにあたり、サーバの故障を回避してサービスを継続させることは、ＳＦＣサービス事業者にとって重要な課題となる。ＡＩ技術の普及により、サーバ故障の予兆検知の精度が向上したため、サーバ故障の予兆検知時に該当サーバ上で稼働するＶＮＦを別のサーバに移行する、という手法でサービスを継続させることが可能になった。また、サーバのメンテナンスを定期的に行って、異常を速く認識することで、突然のサービス断の発生を防ぐことが可能になった。
【０００８】
ＶＮＦを別のサーバに移行する手段として、ライブマイグレーション技術が存在する。ライブマイグレーション技術は、あるサーバで稼働しているＶＮＦを別のサーバに移行する際、ＶＮＦのデータを別のサーバに送信する技術である。
【０００９】
一般的にＶＮＦを移行する際、パケット処理を一時停止する必要がある。その時間を短縮するため、ライブマイグレーションではデータ移行が完了するまでパケット処理を継続する。完了時に一時停止し、移行先でパケット処理を再開する。
【００１０】
移行先でパケット処理を再開するにあたり、移行元で一時停止した時点でのデータが必要になる。また、データ移行完了までパケット処理を継続するため、その間データは更新され続ける。このため、ライブマイグレーションを行う間、更新されたデータを移行先のサーバに送信し続ける。
【００１１】
送信されるデータの量はＶＮＦとしてのアプリケーションがデータを更新する頻度に依存する。また、更新データの発生レートがネットワーク帯域を上回る場合、移行を完了させることができない。特に、複数のＶＮＦを同時並列で移行するとき、移行中のＶＮＦにより更新されたデータはすべて送信される。このため、複数のＶＮＦを移行元のサーバから別サーバに移行する際、ある時点で移行するＶＮＦによる更新データの発生レートがネットワーク帯域を上回らないよう制御する必要がある。非特許文献１には、この制御を行いながら、前述のサーバ間トラヒックの発生を抑制するための技術が開示されている。
【００１２】
また、非特許文献１では、お互いに通信を行っている仮想マシンを移行する間に発生するサーバ間トラヒックを削減するための移行スケジューリング方法が開示されている。
【００１３】
非特許文献１で開示されている方法では、更新データの発生レートがネットワーク帯域を上回らないよう移行対象のＶＮＦをグルーピングし、同一グループに属するＶＮＦの移行完了タイミングが同一になるようにＶＮＦを移行する。そして、グループに属するＶＮＦの組み合わせを変更することで、サーバ間トラヒックの発生量が最小になるＶＮＦの移行スケジュールを決定する。なお、非特許文献１で使用している移行スケジューリングのアルゴリズムは、非特許文献２で開示されたアルゴリズムに基づいている。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】V. Kherbache,"Scheduling Live Migration of Virtual Machines,"  IEEE Transactions on Cloud Computing, 2017
【非特許文献２】J. Zheng, "COMMA: Coordinating the Migration of Multi-tier Applications", in 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, 2014
【発明の概要】
【発明が解決しようとする課題】
【００１５】
非特許文献１、２に開示された移行スケジューリング方法を、ＳＦＣにおけるＶＮＦの移行スケジューリングに適用することが考えられる。しかし、非特許文献１，２に開示された移行スケジューリング方式には、下記の課題がある。
【００１６】
非特許文献１，２に開示された移行スケジューリング方法では、ＶＮＦを移行可能な単位にグルーピングする処理が存在し、移行スケジュールの最適解を導出するには、同一グループとし得るＶＮＦの組み合わせを全て計算する必要があった。この組み合わせは２のＶＮＦの数乗（ＶＮＦがグループに入っている／入っていないという２つの選択肢がＶＮＦの数だけ存在）個存在する。このため、移行スケジュールを導出するための時間が長期化するという問題が存在した。
【００１７】
本発明は上記の点に鑑みてなされたものであり、プロセスを移行元サーバから移行先サーバに移行するための移行スケジュールを導出するための時間を短縮することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１８】
開示の技術によれば、プロセスを稼働させる移行元サーバと、プロセスの移行先である移行先サーバとを有するシステムにおけるプロセスの移行順序を決定するプロセス処理装置であって、
プロセス間の通信関係に基づいて決定されたプロセスのグループの情報を格納するグループ管理テーブルと、
前記グループ管理テーブルにおけるグループに基づいて、移行用グループを決定し、同じグループに属する複数の移行用グループが連続したタイミングで移行を完了するように、前記移行元サーバから前記移行先サーバへのプロセスの移行順序を決定する決定手段と
を備えることを特徴とするプロセス処理装置が提供される。
【発明の効果】
【００１９】
開示の技術によれば、プロセスを移行元サーバから移行先サーバに移行するための移行スケジュールを導出するための時間を短縮することを可能とする技術が提供される。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態におけるシステムの構成例を示す図である。
【図２】プロセス処理装置１００の機能構成の一例を示す図である。
【図３】各テーブルを示す図である。
【図４】プロセス処理装置１００のハードウェア構成の一例を示す図である。
【図５】スケジュール計算用グループの算出方法を説明するための図である。
【図６】移行処理を説明するための図である。
【図７】グループ管理テーブルの更新手順（ＳＦＣ追加時）を説明するための図である。
【図８】ＶＮＦ間の通信関係を示す図である。
【図９】グループ管理テーブルの更新手順（ＳＦＣ削除時）を説明するための図である。
【図１０】ＶＮＦ間の通信関係を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、以下の説明では、移行対象のＶＮＦがＳＦＣを構成する場合の例を示しているが、本発明に係る技術は、ＳＦＣ以外でも、ＶＮＦ間に通信関係が規定される方式であれば適用可能である。
【００２２】
（システム構成）
図１に本発明の実施の形態におけるシステムの全体構成例を示す図である。図１には、ＳＦＣを提供するサーバの例としてサーバ１０、及びサーバ２０が示されている。なお、ここでは各サーバは物理装置であり、サーバ内のネットワーク機能は、ソフトウェアで実現される仮想ネットワーク機能である。
【００２３】
図１に示すように、プロセス処理装置１００が備えられる。プロセス処理装置１００は、各サーバとネットワークを介して通信可能である。プロセス処理装置１００は、ＳＦＣを構成するＶＮＦを移行元サーバから移行先サーバに移行させるための移行順序計算（移行スケジューリングと称してもよい）を行うとともに、移行の制御を行う装置である。ただし、本実施の形態では、プロセス処理装置１００に関し、主に、移行順序計算に着目して説明を行っている。移行順序が決定された後の移行の実行制御については、既存技術を使用することができる。
【００２４】
図１の例において、サーバ１０とサーバ２０との間はある帯域を有する回線で接続されている。サーバ１０において、仮想スイッチであるスイッチ１３、ＶＮＦ１１、及びＶＮＦ１２が稼働している。サーバ２０においては、仮想スイッチであるスイッチ２２、及びＶＮＦ２１が稼働している。なお、ＶＮＦを「プロセス」と称してもよい。
【００２５】
図１には、ＶＮＦ１１、ＶＮＦ１２、ＶＮＦ２１を利用するＳＦＣにおけるパケットの流れが示されている。図１に示すように、パケット（ラベルが付されている）がサーバ１０に入力されると、スイッチ１３は、パケットのラベルを参照することにより、当該パケットを適切なＶＮＦ（ここではＶＮＦ１１、ＶＮＦ１２）に転送する。サーバ２０でも同様である。
【００２６】
上記のように、本実施の形態に係るシステムには、プロセス間の通信手段として、低速で利用プロセス数が多い手段（サーバ１０とサーバ２０との間のネットワーク）と、高速で利用プロセス数が少ない手段（サーバ内のメモリ、ＣＰＵバス、コア間インターコネクト等）が存在する。また、本実施の形態に係るシステムには、データを一連のフローに沿って処理するために、例えば、送信元プロセス、受信先プロセス、及び、中間プロセスが存在し、それらの関係が予め定められている。
【００２７】
（プロセス処理装置１００の機能構成）
図２に、プロセス処理装置１００の機能構成の例を示す。図２に示すとおり、プロセス処理装置１００は、処理部１１０、記録媒体１２０、入出力インタフェース１３０を有する。
【００２８】
処理部１１０は、グループ管理部１１１と、プロセス移行順序計算部１１２を備え、これらにより、ＶＮＦ（プロセス）の移行順序を計算する。入出力インタフェース１３０は、ネットワーク１４０からのデータの入力（例：ＳＦＣの情報の入力）を行うとともに、ネットワーク１４０へのデータの出力（例：ＶＮＦの移行順序の出力）を行う。
【００２９】
記録媒体１２０には、例えば図３に示すようなグループ管理テーブルと、ＳＦＣ管理テーブルが格納されている。グループ管理テーブルは、関連する複数のＶＮＦからなる各グループを管理するテーブルである。図３（ａ）には、例えば、グループ１が、ａ、ｂの２つのＶＮＦから構成されていることが示されている。
【００３０】
ＳＦＣ管理テーブルは、ＳＦＣの構成情報を管理する。図３（ｂ）には、例えば、ＩＤ＝１のＳＦＣが、ａ、ｂの２つのＶＮＦから構成され、更に、当該ＳＦＣにおいて、パケットが、ａからｂへの処理順序で処理されることが示されている。つまり、ａとｂとの間に通信関係があることが示されている。
【００３１】
処理部１１０におけるグループ管理部１１１が、上記２つのテーブルを管理する。具体的には、グループ管理部１１１は、ＳＦＣ管理テーブルにおけるＳＦＣの追加／削除、ＳＦＣ管理テーブルに基づくグループ管理テーブルの作成／更新等を実行する。更に、グループ管理部１１１は、プロセス移行順序計算部１１２からの依頼に基づき、プロセス移行順序計算に使用するグループ（後述する移行用グループ）の計算を実行する。
【００３２】
処理部１１０におけるプロセス移行順序計算部１１２は、ＶＮＦの移行順序を決定する。また、プロセス移行順序計算部１１２は、移行順序計算時に、グループ管理部１１１に依頼して計算に使用するグループを要求し、取得する。
【００３３】
管理するＳＦＣの情報は入出力インタフェース１３０を介して外部装置から入力される。また、プロセス移行順序計算部１１２が計算したＶＮＦの移行順序は入出力インタフェース１３０を介して外部装置に通知される。
【００３４】
（ハードウェア構成例）
上述したプロセス処理装置１００は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。
【００３５】
すなわち、プロセス処理装置１００は、コンピュータに内蔵されるＣＰＵやメモリ等のハードウェア資源を用いて、プロセス処理装置１００で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００３６】
図４は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図４のコンピュータは、それぞれバスＢで相互に接続されているドライブ装置１５０、補助記憶装置１５２、メモリ装置１５３、ＣＰＵ１５４、インターフェース装置１５５、表示装置１５６、及び入力装置１５７等を有する。
【００３７】
当該コンピュータでの処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１５１によって提供される。プログラムを記憶した記録媒体１５１がドライブ装置１５０にセットされると、プログラムが記録媒体１５１からドライブ装置１５０を介して補助記憶装置１５２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１５１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１５２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３８】
メモリ装置１５３は、プログラムの起動指示があった場合に、補助記憶装置１５２からプログラムを読み出して格納する。ＣＰＵ１５４は、メモリ装置１５３に格納されたプログラムに従って、プロセス処理装置１００に係る機能を実現する。インタフェース装置１５５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１５６はプログラムによるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を表示する。入力装置１５７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【００３９】
（移行順序の計算について）
ある移行元サーバに存在する移行対象のＶＮＦの情報と、移行先サーバの情報がプロセス処理装置１００に与えられると、プロセス移行順序計算部１１２は、まず、グループ管理部１１１に、移行順序計算に使用するグループの計算を依頼し、当該グループの情報を取得する。そして、プロセス移行順序計算部１１２は、当該グループを用いてＶＮＦの移行順序を決定する。
【００４０】
以下、本実施の形態において、移行順序計算に使用するグループと、グループ管理テーブルに記載されるグループとの区別を分かり易くするために、移行順序計算に使用するグループを"移行用グループ"と称する。グループ管理テーブルに記載されるグループについては、そのまま"グループ"を用いる。
【００４１】
グループ管理部１１１が実行する移行用グループの計算例を図５を参照して説明する。図５に示すように、グループ管理テーブルに、グループ１に属するＶＮＦとしてａとｂが記載され、グループ２に属するＶＮＦとしてｃ、ｄ、ｅが記載されている。
【００４２】
ここでは、ａ、ｂ、ｃ、ｄ、ｅの５つのＶＮＦを移行対象とする移行要求を受けた場合を考える。
【００４３】
まず、グループ管理部１１１は、グループ管理テーブルに記載されたそれぞれのグループにおいて、そのべき集合（グループに属するＶＮＦを集合の要素と見立てたときのすべての部分集合）を計算する。べき集合に属する各部分集合が移行用グループである。具体的には、グループ１については、｛ａ｝、｛ｂ｝、｛ａ，ｂ｝の３つの移行用グループが計算される。グループ２については、｛ｃ｝、｛ｄ｝、｛ｅ｝、｛ｃ，ｄ｝、｛ｄ，ｅ｝、｛ｃ，ｅ｝、｛ｃ，ｄ，ｅ｝の７つの移行用グループが計算される。
【００４４】
図５に示すように、従来方式で仮に５つのＶＮＦを移行対象とする場合、２の５乗である３２通りの移行用グループを計算しなければならなかったところ、本実施の形態に係る技術では、１０通りの計算ですむ。移行対象のＶＮＦ数が増加するほど、この差は顕著になる。移行用グループの数が削減されることで、移行順序決定の際に考慮すべき移行用グループの数が削減される。従って、本実施の形態に係る技術では、従来方式に比べて移行順序の決定のための計算量を大幅に削減できるので、迅速にＶＮＦの移行順序を計算することができる。
【００４５】
続いて、プロセス移行順序計算部１１２は、ＶＮＦの移行順序の計算を行う。プロセス移行順序計算部１１２は、選択された同一の移行用グループに属するＶＮＦについては、まとめて扱う。つまり、同一の移行用グループに属するＶＮＦについては、同時に移行が行われる。ここでいう「同時」とは、例えば、同一の移行用グループに属するＶＮＦの移行完了タイミングが同一になるということである。
【００４６】
プロセス移行順序計算部１１２は、例えば、非特許文献１に記載のように、ＶＮＦの更新データの発生レートが、移行元サーバと移行先サーバとの間の回線の帯域を上回らず、サーバ間トラヒックの発生量が最小になるように、移行用グループを選択する。ただし、これは例であり、これ以外の方法で移行用グループを選択してもよい。
【００４７】
選択が完了すると、プロセス移行順序計算部１１２は、同じグループに属する移行用グループが連続したタイミングで移行を完了するように、選択された複数の移行用グループにおける移行順序を決定する。これは、同じグループに属するＶＮＦはできるだけ、移行完了が同じタイミングになることが望ましいためである。
【００４８】
図５に示す例において、一例として、プロセス移行順序計算部１１２が、グループ１から、移行に使用する移行用グループとして２つの移行用グループ｛ａ｝、｛ｂ｝を選択し、グループ２から２つの移行用グループ｛ｃ，ｄ｝、｛ｅ｝を選択したとする。この場合、グループ１に属する移行用グループ｛ａ｝、｛ｂ｝が連続して移行を完了するよう、｛ａ｝、｛ｂ｝は連続した順序として決定される。同様に、グループ２に属する移行用グループ｛ｃ，ｄ｝、｛ｅ｝が連続して移行を完了するよう、｛ｃ，ｄ｝と｛ｅ｝は連続した順序として決定される。
【００４９】
｛ｃ，ｄ｝と｛ｅ｝のうち（及び｛ａ｝と｛ｂ｝のうち）、どちらを先にするかについては、特に限定はないが、例えば、更新データの発生レートの大きい方（あるいは小さいほう）を先にする。また、ＶＮＦが提供するアプリケーションの特性等により、より迅速な処理を要するアプリケーションが含まれるグループを先にすることとしてもよい。また、グループ間（ここではグループ１とグループ２）での順序に関しても同様である。
【００５０】
図６は、移行順序が、｛ｃ，ｄ｝、｛ｅ｝、｛ａ｝、｛ｂ｝として決定された場合における移行の手順を示す。図６に示すように、Ｓ１０１でｃ，ｄの移行を行い、Ｓ１０２でｅの移行を行い、Ｓ１０３でａの移行を行い、Ｓ１０４でｂの移行を行う。
【００５１】
なお、移行対象のＶＮＦ数に比べて、帯域が大きい場合には、複数グループの移行用グループをまとめて移行するような順序が決定されてもよい。例えば、｛ｃ，ｄ｝、｛ｅ｝、｛ａ｝、｛ｂ｝を同時に移行するような順序が決定されてもよい。
【００５２】
（グループ管理テーブルの管理について）
次に、グループ管理部１１１が実行するグループ管理テーブルの管理の例として、ＳＦＣが追加あるいは削除される場合におけるグループ管理テーブルの更新処理を説明する。
【００５３】
＜ＳＦＣが追加される場合＞
最初に、ＳＦＣが追加される場合におけるグループ管理テーブルの更新処理について、図７を参照して説明する。
【００５４】
Ｓ２０１において、外部装置からの情報等に基づいて、グループ管理部１１１は、ＳＦＣ管理テーブルに新規追加ＳＦＣの情報を追加する。ここでは、図７に示すように、ＩＤ＝４のＳＦＣとして、ａ−＞ｅ−＞ｆが追加される。
【００５５】
Ｓ２０２において、グループ管理部１１１は、新規追加ＳＦＣに含まれるＶＮＦが、少なくとも１つ含まれるグループをグループ管理テーブルから検索する。図７に示す例において、グループ管理部１１１は、新規追加ＳＦＣに含まれるＶＮＦであるａ、ｅ、ｆのうち、ａがグループ１に含まれ、ｅがグループ２に含まれることを検知する。
【００５６】
Ｓ２０３では、グループ管理部１１１は、新規追加ＳＦＣに含まれるＶＮＦが含まれるグループが複数存在する場合において、当該複数のグループを１つのグループに統合する。複数のグループを１つのグループに統合するとは、複数のグループに含まれる全てのＶＮＦを１つのグループにすることである。図７の例では、グループ１のａ、ｂとグループ２のｃ、ｄ、ｅを統合し、新規追加ＳＦＣに含まれるＶＮＦを含むように、１つのグループ（ａ、ｂ、ｃ、ｄ、ｅ、ｆ）とする。
【００５７】
この１つのグループに含まれる各ＳＦＣの処理順序（Ｓ２０１に記載のＳＦＣ管理テーブル参照）に基づき、ａ、ｂ、ｃ、ｄ、ｅ、ｆの通信関係を図示すると図８に示すとおりになる。
【００５８】
図示するように、上述した手順で作成される１つのグループに含まれる複数のＶＮＦにおける各組のＶＮＦは、同一処理フロー上にある（例：ａとｆの組、ｃとｅの組等）、ある１つのＶＮＦが２つの処理フローを処理している（例：ｂとｆの組。ａは、ｂの処理フローとｆの処理フローを処理している）等、の関係にある。
【００５９】
これらの関係を含む複数のＶＮＦは関連しており、当該複数のＶＮＦは、できるだけ同時に移行を行うことが望ましい。そのため、このようなグループ化を行っている。
【００６０】
＜ＳＦＣが削除される場合＞
次に、ＳＦＣが削除される場合におけるグループ管理テーブルの更新処理について、図９を参照して説明する。
【００６１】
Ｓ３０１において、外部装置からの情報等に基づいて、グループ管理部１１１は、ＳＦＣ管理テーブルから削除対象ＳＦＣの情報を削除する。ここでは、図９に示すように、ＩＤ＝４のＳＦＣであるａ−＞ｅ−＞ｆが削除される。
【００６２】
Ｓ３０２において、グループ管理部１１１は、削除対象ＳＦＣに含まれる全てのＶＮＦが含まれるグループをグループ管理テーブルから検索する。図９に示す例において、グループ管理部１１１は、削除対象ＳＦＣに含まれるＶＮＦであるａ、ｅ、ｆがグループ１に含まれることを検知する。当該グループは、Ｓ３０３におけるグループ分割の対象になる。
【００６３】
Ｓ３０３では、グループ管理部１１１は、ＳＦＣ管理テーブルをもとにＶＮＦ間の通信関係を調べる。図１０は、ＳＦＣ削除前のＳＦＣ管理テーブルに基づく通信関係において、削除対象ＳＦＣを点線で囲んだものである。図１０に示すように、削除対象ＳＦＣを削除した場合、｛ａ，ｂ｝と｛ｃ，ｄ，ｅ｝との間に通信関係がないことがわかる。Ｓ３０３では、グループ管理部１１１は、このような通信関係の有無を調べる。
【００６４】
そして、グループ管理部１１１は、｛ａ，ｂ｝と｛ｃ，ｄ，ｅ｝とを別グループとして管理する。ここでは、図９に示すように、｛ａ，ｂ｝をグループ１とし、｛ｃ，ｄ，ｅ｝をグループ２とする。
【００６５】
（実施の形態のまとめ）
以上、説明したように、本実施の形態により、プロセスを稼働させる移行元サーバと、プロセスの移行先である移行先サーバとを有するシステムにおけるプロセスの移行順序を決定するプロセス処理装置であって、プロセス間の通信関係に基づいて決定されたプロセスのグループの情報を格納するグループ管理テーブルと、前記グループ管理テーブルにおけるグループに基づいて、移行用グループを決定し、同じグループに属する複数の移行用グループが連続したタイミングで移行を完了するように、前記移行元サーバから前記移行先サーバへのプロセスの移行順序を決定する決定手段とを備えることを特徴とするプロセス処理装置が提供される。
【００６６】
前記決定手段は、例えば、前記グループ管理テーブルにおける、移行対象のプロセスを含むグループ毎に、グループに含まれるプロセスのべき集合を計算し、当該べき集合の要素から前記移行用グループを決定する。
【００６７】
上記プロセス処理装置は、通信関係を有する複数プロセスの追加又は削除に基づいて、前記グループ管理テーブルを更新する更新手段を更に備えることとしてもよい。
【００６８】
通信関係を有する複数プロセスの追加時において、前記更新手段は、例えば、当該複数プロセスにおける少なくとも１つのプロセスを含む各グループを１つのグループに統合する。
【００６９】
通信関係を有する複数プロセスの削除時において、前記更新手段は、例えば、当該複数プロセスを含むグループを、当該グループ内のプロセス間の通信関係に基づいて、通信関係を有しない複数のグループに分割する。
【００７０】
また、本実施の形態によれば、前記プロセス処理装置と、前記移行元サーバ、及び前記移行先サーバとを備えるプロセス処理システムが提供される。
【００７１】
また、本実施の形態によれば、プロセスを稼働させる移行元サーバと、プロセスの移行先である移行先サーバとを有するシステムにおけるプロセスの移行順序を決定するプロセス処理装置が実行するプロセス移行順序決定方法であって、前記プロセス処理装置は、プロセス間の通信関係に基づいて決定されたプロセスのグループの情報を格納するグループ管理テーブルを有し、前記グループ管理テーブルにおけるグループに基づいて、移行用グループを決定し、同じグループに属する複数の移行用グループが連続したタイミングで移行を完了するように、前記移行元サーバから前記移行先サーバへのプロセスの移行順序を決定する決定ステップを備えることを特徴とするプロセス移行順序決定方法が提供される。
【００７２】
また、本実施の形態によれば、コンピュータを、前記プロセス処理装置における各手段として機能させるためのプログラムが提供される。
【００７３】
なお、本実施の形態で説明したグループ管理部１１１及びプロセス移行順序計算部１１２は、決定手段の例である。また、グループ管理部１１１は、更新手段の例である。
【００７４】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７５】
１０、２０  サーバ
１３、２２  スイッチ
１１、１２  ＶＮＦ
１００  プロセス処理装置
１１０  処理部
１２０  記録媒体
１３０  入出力インタフェース
１４０  ネットワーク
１１１  グループ管理部
１１２  プロセス移行順序計算部
１５０  ドライブ装置
１５１  記録媒体
１５２  補助記憶装置
１５３  メモリ装置
１５４  ＣＰＵ
１５５  インターフェース装置
１５６  表示装置
１５７  入力装置
【図１】
2019128912.tif 000003
【図２】
2019128912.tif 000004
【図３】
2019128912.tif 000005
【図４】
2019128912.tif 000006
【図５】
2019128912.tif 000007
【図６】
2019128912.tif 000008
【図７】
2019128912.tif 000009
【図８】
2019128912.tif 000010
【図９】
2019128912.tif 000011
【図１０】
2019128912.tif 000012