(57)【要約】【課題】ネットワーク内にトラヒックが流入する時間を短くすることで、ネットワークリソースの消費量を抑制すること。【解決手段】インスタンス稼働装置１０は、トラヒックフローが通過するＶＮＦインスタンスと、該ＶＮＦインスタンスが通過するソフトウェアの順序とに応じて、移動するＶＮＦインスタンスの順序を決定し、決定された移動するソフトウェアの順序にしたがって、ＶＮＦインスタンスを別のインスタンス稼働装置１０へ移動するように制御する。【選択図】図１
2020028070.tif 000002
【特許請求の範囲】
【請求項１】
所定のサーバで稼働するソフトウェアであって、トラヒックフローが通過するソフトウェアと、該トラヒックフローが通過するソフトウェアの順序とに応じて、移動するソフトウェアの順序を決定する決定部と、
前記決定部によって決定された移動するソフトウェアの順序にしたがって、前記ソフトウェアを別のサーバへ移動するように制御する移動制御部と
を有することを特徴とする通信システム。
【請求項２】
前記決定部は、前記トラヒックフローが片方向フローである場合には、上流側から順にソフトウェアを移動するという順序に決定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記決定部は、前記トラヒックフローが両方向フローである場合には、最初にどちらか一端のソフトウェアを移動し、次に反対方向の一端のソフトウェアを移動するという順序に決定することを特徴とする請求項１に記載の通信システム。
【請求項４】
前記決定部は、前記トラヒックフローが複数ある場合には、予め設定された優先度が高いトラヒックフローが通過するソフトウェアを前記優先度が低いトラヒックフローが通過するソフトウェアよりも先に移動するという順序に決定することを特徴とする請求項１に記載の通信システム。
【請求項５】
通信システムによって実行される移動方法であって、
所定のサーバで稼働するソフトウェアであって、トラヒックフローが通過するソフトウェアと、該トラヒックフローが通過するソフトウェアの順序とに応じて、移動するソフトウェアの順序を決定する決定工程と、
前記決定工程によって決定された移動するソフトウェアの順序にしたがって、前記ソフトウェアを別のサーバへ移動するように制御する移動制御工程と
を含んだことを特徴とする移動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムおよび移動方法に関する。
【背景技術】
【０００２】
近年、トラヒックフローに対し、決まった順番でパケット処理を施すサービスファンクションチェイニングが普及しつつある。パケット処理はソフトウェア実装した仮想ネットワーク機能（ＶＮＦ（Virtual  Network  Function））インスタンスにより施される。トンネリング技術を用いてトラヒックフローをＶＮＦインスタンス間で転送する。ＶＮＦインスタンスとＶＮＦインスタンス間を結ぶ転送用トンネル経路のセットをサービスチェインと呼ぶ。
【０００３】
ネットワークリソースを最適化するため、ＶＮＦインスタンスの再配置を行う。このとき、ＶＮＦインスタンスを別のサーバに移動して稼働させるための技術にライブマイグレーションがある。ライブマイグレーションを行う際、ミリ秒単位の長さでＶＮＦインスタンスを停止させる必要がある。その間、パケットフローの転送が停止し、フロー断が発生する。
【０００４】
サービスチェインを構成する複数のＶＮＦインスタンスは、ＶＮＦインスタンス間のパケット転送を高速な共有メモリを介して行うため、同一サーバ内に配置される。これらのＶＮＦインスタンスの移動タイミングがずれてしまった場合、先に移動したＶＮＦインスタンスと移動中のＶＮＦインスタンスが別のサーバで稼働するため、その間で転送されるパケットフローがネットワークを経由することになる。このフローのため、ネットワーク内のリンクリソースを過剰に消費することになる。このため、あとに行うＶＮＦインスタンスの移動時間を短縮することが求められる。
【０００５】
同一サーバ内で稼働するＶＮＦインスタンスは出力リンクの帯域をシェアすることと、ＶＮＦインスタンスが生じる更新データの量は多いため、同時並列にすべてのＶＮＦインスタンスを移動することは難しい。このため、あるＶＮＦインスタンスを送信したあと、次のＶＮＦインスタンスを送信するという状況が生じる。
【０００６】
フロー断は、高い頻度で更新されるデータを送信するためにＶＮＦインスタンスを停止する時間内と、移動先でパケット処理を行うための準備を行う時間内、そしてデータネットワーク内の転送経路情報をトラヒックフローが移動先のサーバに届くように更新する時間内に発生する。後者２つの時間内では先に移動するＶＮＦインスタンスのデータ送信が完了しているので、次のＶＮＦインスタンスを移動させるための帯域を利用することが可能であるため、移動を開始する。このため、次のＶＮＦインスタンス移動を開始してから先のＶＮＦインスタンスがパケットを処理し出すまでフロー断が発生する。
【０００７】
ＶＮＦインスタンスの移動によるフロー断発生中、移動中のＶＮＦインスタンスの下流に位置するＶＮＦインスタンスにはパケットが到着しない。ＶＮＦインスタンスは、移動中パケット処理を行う。ＶＮＦインスタンスは、パケット処理中ローカル変数などのデータを更新する。ライブマイグレーションは、ＶＮＦインスタンス内のデータを移動先と移動元のサーバの間で完全に同期し、同期完了後にＶＮＦインスタンスの処理を移動先のサーバで再開する。このため、更新したデータを同期する。
【０００８】
フロー断により、到着パケットの量が減ることにより、発生する更新データの量も減少する。このため、下流側のＶＮＦインスタンスを移動する場合、ライブマイグレーションが同期するデータの量も減るため、ＶＮＦインスタンスの移動時間は短くなる。
【０００９】
移動中のＶＮＦインスタンスの上流側に位置するＶＮＦインスタンスには引き続きパケットが到着する。パケット処理を行うため、データ更新を行う。このため、このようなＶＮＦインスタンスを移動する場合、多くのデータを同期する必要がある。結果、ＶＮＦインスタンスの移動時間は長くなる。このようなＶＮＦインスタンスを移動させる方法が存在する（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Jie  Zheng  and  T.S.Eugene  Ng  and  Kunwadee  Sripanidkulchai  and  Zhaolei  Liu,  "COMMA:  Coordinating  the  Migration  of  Multi-tier  Applications",  Proc.  ACM  SIGPLAN/SIGOP  Int.  Conf.  on  Virtual  Execution  Environments  (VEE  2014),  mar.  2014,  pp.1-12
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来の技術では、ＶＮＦインスタンスの移動時間が長くなって、ネットワーク内にトラヒックが流入する時間が長くなり、ネットワークリソースの消費量が多くなる場合があるという課題があった。例えば、上記したＶＮＦインスタンスを移動させる方法では、ＶＮＦインスタンスの移動順序をとくに規定していない。このため、あるＶＮＦインスタンスを移動したあと、上流側のＶＮＦインスタンスを移動する場合が存在する。このとき、上流側がパケット処理を行うことにより、移動時間が長くなることで、ネットワーク内にトラヒックが流入する時間が長くなり、ネットワークリソースの消費量が多くなる。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明の通信システムは、所定のサーバで稼働するソフトウェアであって、トラヒックフローが通過するソフトウェアと、該トラヒックフローが通過するソフトウェアの順序とに応じて、移動するソフトウェアの順序を決定する決定部と、前記決定部によって決定された移動するソフトウェアの順序にしたがって、前記ソフトウェアを別のサーバへ移動するように制御する移動制御部とを有することを特徴とする。
【００１３】
また、本発明の移動方法は、通信システムによって実行される移動方法であって、所定のサーバで稼働するソフトウェアであって、トラヒックフローが通過するソフトウェアと、該トラヒックフローが通過するソフトウェアの順序とに応じて、移動するソフトウェアの順序を決定する決定工程と、前記決定工程によって決定された移動するソフトウェアの順序にしたがって、前記ソフトウェアを別のサーバへ移動するように制御する移動制御工程とを含んだことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ネットワーク内にトラヒックが流入する時間を短くすることで、ネットワークリソースの消費量を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、第一の実施の形態に係る通信システムの構成の一例を示す図である。
【図２】図２は、インスタンス稼働装置が有するフローテーブルの一例を示す図である。
【図３】図３は、片方向フローの場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する図である。
【図４】図４は、中間のＶＮＦインスタンスの移動が完了した場合における上流および下流のＶＮＦインスタンスの上書きデータ量について説明する図である。
【図５】図５は、両方向フローの場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する図である。
【図６】図６は、複数のトラヒックフローがある場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する図である。
【図７】図７は、第一の実施の形態に係るインスタンス稼働装置による処理の一例を説明するフローチャートである。
【図８】図８は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１６】
以下に、本願に係る通信システムおよび移動方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る通信システムおよび移動方法が限定されるものではない。
【００１７】
［第一の実施の形態］
以下の実施の形態では、第一の実施の形態に係る通信システムの構成、通信システムにおける処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【００１８】
［通信システムの構成］
まず、図１を用いて、第一の実施の形態に係る通信システムについて説明する。図１は、第一の実施の形態に係る通信システムの構成の一例を示す図である。第一の実施の形態に係る通信システムは、インスタンス稼働装置１０およびインスタンス管理装置２０を有する。なお、図１に示す構成は一例にすぎず、具体的な構成や各装置の数は特に限定されない。また、インスタンス稼働装置１０およびインスタンス管理装置２０が有する機能は、あくまで一例であり、例えば、インスタンス稼働装置１０が有する機能の一部または全てをインスタンス管理装置２０が有してもよい。
【００１９】
インスタンス稼働装置１０は、ＶＮＦインスタンス（ソフトウェア）を稼働する装置である。インスタンス稼働装置１０は、入出力インタフェース１１、サーバリソース１２、フローテーブル１３、決定部１４および移動制御部１５を有する。入出力インタフェース１１は、各種情報に関する通信を制御し、例えば、インスタンス管理装置２０との間でデータの送受信を行う。サーバリソース１２は、例えば、ＣＰＵやメモリ等の物理リソースであって、ＶＮＦインスタンスを稼働するためのリソースである。
【００２０】
フローテーブル１３は、トラヒックフローが通過するＶＮＦインスタンスを記憶するテーブルである。具体的には、フローテーブル１３は、インスタンス管理装置２０から受信した移動対象のＶＮＦインスタンスと、移動対象のＶＮＦインスタンスを通過するトラヒックフローとを記憶する。
【００２１】
例えば、フローテーブル１３は、図２に例示するように、トラヒックフローを一意に識別するための識別子を示す「フロー」と、トラヒックフローが通過するＶＮＦインスタンスを示す「インスタンス」と、トラヒックフローの優先度を示す「優先度」とを対応付けて記憶する。
【００２２】
図２の具体例を挙げて説明すると、例えば、トラヒックフロー「Ｆ１」は、片方向のフローであり、ＶＮＦインスタンス「Ｖ１」→「Ｖ２」→「Ｖ３」の順で通過し、優先度は「高」と設定されている。また、トラヒックフロー「Ｆ２」は、両方向のフローであり、ＶＮＦインスタンス「Ｖ４」→「Ｖ５」→「Ｖ６」の順と、ＶＮＦインスタンス「Ｖ６」→「Ｖ５」→「Ｖ４」の順とで通過し、優先度は「中」と設定されている。
【００２３】
決定部１４は、インスタンス稼働装置１０で稼働するＶＮＦインスタンスであって、トラヒックフローが通過するＶＮＦインスタンスと、該トラヒックフローが通過するＶＮＦインスタンスの順序とに応じて、移動するＶＮＦインスタンスの順序を決定する。
【００２４】
例えば、決定部１４は、トラヒックフローが片方向フローである場合には、上流側から順にＶＮＦインスタンスを移動するという順序の移動スケジュールを決定する。ここで、図３を用いて、片方向フローの場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する。図３は、片方向フローの場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する図である。図３に例示するように、フローＦ１が、片方向のフローであり、ＶＮＦインスタンス「Ｖ１」→「Ｖ２」→「Ｖ３」の順で通過する場合には、上流のＶＮＦインスタンス「Ｖ１」を１番目に移動し、次に、ＶＮＦインスタンス「Ｖ２」を２番目に移動し、最後に、ＶＮＦインスタンス「Ｖ３」を３番目に移動するように順序を決定する。
【００２５】
このように、決定部１４が、上流のＶＮＦインスタンスから移動するように決定することで、下流側のＶＮＦインスタンスにトラヒックフローが到着しないため、パケット処理に伴い発生する同期対象データの量が減少し、ＶＮＦインスタンスの移動時間を短縮することが可能になる。なお、図３の例では、下流側のＶＮＦインスタンスにトラヒックフローが到着しないため、パケット処理がストップして上書きデータの発生レートが低下したことを図示している。この移動時間短縮に伴い、ＶＮＦインスタンス間で転送されるトラヒックフローがネットワーク内を経由して転送される状況の発生時間を短縮することができ、トラヒックフローがネットワークリソースを消費する状況を改善することができる。
【００２６】
ここで、図４の例を用いて、仮に中間のＶＮＦインスタンスから移動した場合における上流および下流のＶＮＦインスタンスの上書きデータ量について説明する。図４は、中間のＶＮＦインスタンスの移動が完了した場合における上流および下流のＶＮＦインスタンスの上書きデータ量について説明する図である。
【００２７】
図４に例示するように、仮に上流のＶＮＦインスタンスから移動するのではなく、中間のＶＮＦインスタンスから移動した場合には、上流側のＶＮＦインスタンスにトラヒックフローが到着してパケット処理が継続することとなり、パケット処理に伴い発生する同期対象データの量（上書きデータ量）が多くなり、ＶＮＦインスタンスの移動時間を短縮できない。図４の例では、下流側のＶＮＦインスタンスにトラヒックフローが到着しないため、パケット処理がストップして上書きデータの発生レートが低下しているのに対して、上流側のＶＮＦインスタンスにトラヒックフローが到着する、パケット処理が継続して上書きデータの発生レートが変わらないことを図示している。
【００２８】
また、例えば、決定部１４は、トラヒックフローが両方向フローである場合には、最初にどちらか一端のＶＮＦインスタンスを移動し、次に反対方向の一端のＶＮＦインスタンスを移動するという順序に決定する。ここで、図５を用いて、両方向フローの場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する。図５は、両方向フローの場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する図である。
【００２９】
図５に例示するように、トラヒックフロー「Ｆ２」が、両方向のフローであり、ＶＮＦインスタンス「Ｖ４」→「Ｖ５」→「Ｖ６」の順でも通過し、ＶＮＦインスタンス「Ｖ６」→「Ｖ５」→「Ｖ４」の順でも通過する。なお、図５の例では、ＶＮＦインスタンス「Ｖ４」側を上流、ＶＮＦインスタンス「Ｖ６」側を下流としている。このような場合には、最上流のＶＮＦインスタンス「Ｖ４」を１番目に移動し、次に、最下流のＶＮＦインスタンス「Ｖ６」を２番目に移動し、最後に、中間のＶＮＦインスタンス「Ｖ５」を３番目に移動するように順序を決定する。
【００３０】
このように、決定部１４が、ＶＮＦインスタンスが双方向フローを処理する場合、互いの方向のフローの両端のＶＮＦインスタンス「Ｖ４」、「Ｖ６」を移動させたあと、両方向のフローともパケットがＶＮＦインスタンス「Ｖ４」、「Ｖ６」で廃棄される。このため、間に挟まれたＶＮＦインスタンス「Ｖ５」にパケットにパケットが到着しなくなり、このＶＮＦインスタンスのパケット処理量も低下する。結果、同期が必要なデータが発生しなくなり、間に挟まれたＶＮＦインスタンスの移動時間が短くなる。
【００３１】
また、例えば、決定部１４は、トラヒックフローが複数ある場合には、予め設定された優先度が高いトラヒックフローが通過するＶＮＦインスタンスを優先度が低いトラヒックフローが通過するＶＮＦインスタンスよりも先に移動するという順序に決定する。ここで、図６を用いて、複数のトラヒックフローがある場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する。図６は、複数のトラヒックフローがある場合におけるＶＮＦインスタンスの移動順序を決定する処理を説明する図である。
【００３２】
図６に示すように、ＶＮＦインスタンス「Ｖ１」→「Ｖ２」→「Ｖ３」の順で通過するトラヒックフロー「Ｆ１」と、ＶＮＦインスタンス「Ｖ７」→「Ｖ８」→「Ｖ３」の順で通過するトラヒックフロー「Ｆ３」とが存在し、両トラヒックフローともにＶＮＦインスタンス「Ｖ３」を通過する。また、トラヒックフロー「Ｆ１」は優先度が高く設定されている高優先度フローであり、トラヒックフロー「Ｆ３」は優先度が低く設定されている低優先度フローであるものとする。
【００３３】
このような場合には、決定部１４は、優先度の高いトラヒックフロー「Ｆ１」が通過するＶＮＦインスタンスのうち、上流側から、ＶＮＦインスタンス「Ｖ１」を１番目に移動し、次に、ＶＮＦインスタンス「Ｖ２」を２番目に移動し、最後に、ＶＮＦインスタンス「Ｖ３」を３番目に移動するように順序を決定する。そして、決定部１４は、優先度の低いトラヒックフロー「Ｆ２」が通過する残りのＶＮＦインスタンスのうち、ＶＮＦインスタンス「Ｖ７」を４番目に移動し、最後に、ＶＮＦインスタンス「Ｖ８」を５番目に移動するように順序を決定する。
【００３４】
図１の説明に戻って、移動制御部１５は、決定部１４によって決定された移動するＶＮＦインスタンスの順序にしたがって、ＶＮＦインスタンスを別のインスタンス稼働装置（図示せず）へ移動するように制御する。
【００３５】
インスタンス管理装置２０は、ネットワークリソースの最適化を行うためにＶＮＦインスタンスの移動を管理する。例えば、インスタンス管理装置２０は、インスタンス稼働装置１０が稼働させるＶＮＦインスタンスとそれを通過するトラヒックフローを管理し、トラヒックフローとインスタンスの関係を考慮しながら、移動対象のＶＮＦインスタンスと当該ＶＮＦインスタンスを通過するトラヒックフローを特定する。
【００３６】
インスタンス管理装置２０は、入出力インタフェース２１、サーバリソース２２、計算部２３および通知部２４を有する。計算部２３は、ＶＮＦインスタンスの移動が必要なときに所定の方法で移動するＶＮＦインスタンスとＶＮＦインスタンスを通過するトラヒックフローを計算する。
【００３７】
通知部２４は、計算部２３によって計算された結果をインスタンス稼働装置１０に通知する。例えば、通知部２４は、移動対象のＶＮＦインスタンスと、移動対象のＶＮＦインスタンスを通過するトラヒックフローを通知する。
【００３８】
［通信システムの処理の流れ］
次に、図７を用いて、第一の実施の形態に係るインスタンス稼働装置１０の処理の流れを説明する。図７は、第一の実施の形態に係るインスタンス稼働装置による処理の一例を説明するフローチャートである。
【００３９】
図７に例示するように、インスタンス稼働装置１０の決定部１４は、移動対象のＶＮＦインスタンスと、移動対象のＶＮＦインスタンスを通過するトラヒックフローをインスタンス管理装置２０から受信すると（ステップＳ１０１肯定）、ＶＮＦインスタンスの移動スケジュールを決定する（ステップＳ１０２）。
【００４０】
例えば、決定部１４は、トラヒックフローが片方向フローである場合には、上流側から順にＶＮＦインスタンスを移動するという順序の移動スケジュールを決定する。また、例えば、決定部１４は、トラヒックフローが両方向フローである場合には、最初にどちらか一端のＶＮＦインスタンスを移動し、次に反対方向の一端のＶＮＦインスタンスを移動するという順序に決定する。
【００４１】
そして、移動制御部１５は、決定部１４によって決定された移動スケジュールにしたがって、ＶＮＦインスタンスを別のインスタンス稼働装置へ移動するように制御する（ステップＳ１０３）。
【００４２】
［第一の実施の形態の効果］
このように、第一の実施の形態に係る通信システムのインスタンス稼働装置１０は、トラヒックフローが通過するＶＮＦインスタンスと、該ＶＮＦインスタンスが通過するＶＮＦインスタンスの順序とに応じて、移動するＶＮＦインスタンスの順序を決定し、決定された移動するＶＮＦインスタンスの順序にしたがって、ＶＮＦインスタンスを別のインスタンス稼働装置１０へ移動するように制御する。このため、第一の実施の形態に係るインスタンス稼働装置１０によれば、ＶＮＦインスタンスの移動時間を短くして、ネットワーク内にトラヒックが流入する時間を短くすることで、ネットワークリソースの消費量を抑制することが可能である。
【００４３】
例えば、インスタンス稼働装置１０は、上流のＶＮＦインスタンスから移動するように決定することで、下流側のＶＮＦインスタンスにトラヒックフローが到着しないため、パケット処理に伴い発生する同期対象データの量が減少し、ＶＮＦインスタンスの移動時間を短縮することが可能になる。
【００４４】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００４５】
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００４６】
［プログラム］
また、上記実施形態において説明した各装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る通信システムにおける各装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。以下に、プログラムを実行するコンピュータの一例を説明する。
【００４７】
図８は、プログラムを実行するコンピュータを示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００４８】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【００４９】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち各装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００５０】
また、上述した実施の形態の処理で用いられるデータは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００５１】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク、ＷＡＮを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００５２】
１０  インスタンス稼働装置
１１、２１  入出力インタフェース
１２、２２  サーバリソース
１３  フローテーブル
１４  決定部
１５  移動制御部
２０  インスタンス管理装置
２３  計算部
２４  通知部
【図１】
2020028070.tif 000003
【図２】
2020028070.tif 000004
【図３】
2020028070.tif 000005
【図４】
2020028070.tif 000006
【図５】
2020028070.tif 000007
【図６】
2020028070.tif 000008
【図７】
2020028070.tif 000009
【図８】
2020028070.tif 000010