(57)【要約】【課題】パケット処理に関するソフトウェアを他のコンピュータに移行する場合における通信不正の発生を回避すること。【解決手段】情報処理装置は、パケットの処理を行うソフトウェアについて他のコンピュータへの移行又は他のコンピュータからの移行を制御する制御部と、移行元又は移行先の前記ソフトウェアから出力されるパケットに対して、移行先又は移行元とは異なる送信元アドレスを添付する添付部と、を有する。【選択図】図３
2019205079.tif 000002
【特許請求の範囲】
【請求項１】
パケットの処理を行うソフトウェアについて他のコンピュータへの移行又は他のコンピュータからの移行を制御する制御部と、
移行元又は移行先の前記ソフトウェアから出力されるパケットに対して、移行先又は移行元とは異なる送信元アドレスを添付する添付部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記添付部は、他のコンピュータから通知されるアドレスを前記送信元アドレスとする、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
請求項１又は２記載の情報処理装置に対して前記移行の指示を行う制御装置であって、
前記ソフトウェアから出力されるパケットを処理する装置に対し、前記移行元及び前記移行先のアドレスを通知する通知部、
を有することを特徴とする制御装置。
【請求項４】
パケットの処理を行うソフトウェアについて他のコンピュータへの移行又は他のコンピュータからの移行を制御する制御手順と、
移行元又は移行先の前記ソフトウェアから出力されるパケットに対して、移行先又は移行元とは異なる送信元アドレスを添付する添付手順と、
をコンピュータが実行することを特徴とする移行方法。
【請求項５】
請求項１又は２記載の情報処理装置に対して前記移行の指示を行う制御装置が、
前記ソフトウェアから出力されるパケットを処理する装置に対し、前記移行元及び前記移行先のアドレスを通知する通知手順、
を実行することを特徴とする移行方法。
【請求項６】
パケットの処理を行うソフトウェアについて他のコンピュータへの移行又は他のコンピュータからの移行を制御する制御手順と、
移行元又は移行先の前記ソフトウェアから出力されるパケットに対して、移行先又は移行元とは異なる送信元アドレスを添付する添付手順と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項７】
請求項１又は２記載の情報処理装置に対して前記移行の指示を行う制御装置に、
前記ソフトウェアから出力されるパケットを処理する装置に対し、前記移行元及び前記移行先のアドレスを通知する通知手順、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御装置、移行方法及びプログラムに関する。
【背景技術】
【０００２】
従来、物理サーバを用いて実現していたアプリケーションの稼働環境をソフトウェアで実現する仮想マシン技術が発達している。仮想マシンはソフトウェアであり、仮想マシンを稼働させる環境を有する物理プラットフォーム上で稼働する。稼働環境を持つサーバが複数存在する場合、仮想マシンを稼働させた状態で、別のサーバ上に当該仮想マシンを移動させ、引き続き稼働させることができる。この動作はライブマイグレーションと呼ばれ、サーバの故障時やメンテナンス時にサービスを継続させる手段として用いられる。
【０００３】
仮想マシン技術が成熟するとともに、仮想マシンを用いてパケット処理を行う、ネットワーク機能仮想化（ＮＦＶ（Network Functions Virtualization））技術に注目が集まっている。ＮＦＶ技術では、パケット処理をソフトウェアで行う。パケット処理を行うソフトウェアは仮想ネットワーク機能（ＶＮＦ（Virtualized Network Function））と呼ばれる。
【０００４】
ＶＮＦはパケット処理で使用する、多くのデータを更新する。したがって、ＶＮＦをマイグレーションする際、これらのデータを移行元及び移行先において同期する必要がある。同期するデータの量は、仮想マシンを他の用途に使用した場合に比べて大きい。このため、トラヒック量が多い場合、マイグレーション中に移行元のＶＮＦにおいて同期対象のデータに更新が発生し、更新部分についても同期を行うためにマイグレーションに要する時間が長期化して、なかなかマイグレーションが完了しない場合が有る。
【０００５】
この問題を解決するため、ＶＮＦを別のサーバに移行する際、移行元のサーバと移行先のサーバ上でＶＮＦを同期し、同期完了後のしばらくの間、両方のサーバ上で同じＶＮＦを稼働させることによりパケット処理を継続する方法が提案されている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】杉園 他,"仮想ネットワーク機能に適したライブマイグレーション手法の提案", 電子情報通信学会ソサエティ大会2017年秋
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１の方式は、ＶＮＦの同期が完了した後、レイヤ２スイッチの経路情報を更新する。ＶＮＦが処理するデータパケットの転送先を移行前のサーバから移行先のサーバへと変更するためである。
【０００８】
経路情報の更新手順は次のとおりである。
（１）まず、移行先のＶＮＦは、自身のレイヤ２アドレスを送信元アドレス欄に添付したブロードキャストパケットを送信する。
（２）ネットワーク内のレイヤ２スイッチは到着したブロードキャストパケットの送信元アドレス欄とパケット到着ポートとを照合し、移行先ＶＮＦ宛のパケットの出力先を設定する。
（３）移行先ＶＮＦ宛のパケットの出力先の設定後、レイヤ２スイッチは、移行先のサーバで稼働するＶＮＦへとデータパケットを転送する。
【０００９】
Ｅｔｈｅｒｎｅｔ（登録商標）における経路情報更新メカニズムには、全スイッチが経路情報を更新し、正しくパケットを出力するまで時間がかかるという課題が有る。非特許文献１の方式では、同期完了後も移行元のサーバでＶＮＦが稼働し、当該ＶＮＦが移行元のサーバに到着したデータパケットを処理する。移行元のＶＮＦが処理したデータパケットの送信元アドレスには当該ＶＮＦのアドレスが添付される。このとき、移行先のＶＮＦが送信したブロードキャストパケットと、移行元のＶＮＦが送信したデータパケットに添付されたパケットの送信元を示すアドレスが同じになる（すなわち、移行元と移行先とでアドレスが重複してしまう。）。
【００１０】
移行元のＶＮＦが送信したデータパケットもレイヤ２スイッチの経路更新処理を引き起こすトリガーとなるため、移行先ＶＮＦが送信したブロードキャストパケットにより更新された経路情報は、移行元ＶＮＦが送信したデータパケットにより再更新される。その結果、データパケットは再び移行元に届き、移行先にデータパケットが届かなくなってしまう。
【００１１】
本発明は、上記の点に鑑みてなされたものであって、パケット処理に関するソフトウェアを他のコンピュータに移行する場合における通信不正の発生を回避することを目的とする。
【課題を解決するための手段】
【００１２】
そこで上記課題を解決するため、情報処理装置は、パケットの処理を行うソフトウェアについて他のコンピュータへの移行又は他のコンピュータからの移行を制御する制御部と、移行元又は移行先の前記ソフトウェアから出力されるパケットに対して、移行先又は移行元とは異なる送信元アドレスを添付する添付部と、を有する。
【発明の効果】
【００１３】
パケット処理に関するソフトウェアを他のコンピュータに移行する場合における通信不正の発生を回避することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態におけるデータ転送システム１の構成例を示す図である。
【図２】第１の実施の形態におけるサーバ１０のハードウェア構成例を示す図である。
【図３】第１の実施の形態におけるサーバ１０及びコントローラ２０の機能構成例を示す図である。
【図４】第１の実施の形態におけるＶＮＦのマイグレーションに関する処理手順の一例を説明するためのシーケンス図である。
【図５】第２の実施の形態におけるＶＮＦのマイグレーションに関する処理手順の一例を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第１の実施の形態におけるデータ転送システム１の構成例を示す図である。図１に示されるデータ転送システム１において、サーバ１０ａ及びサーバ１０ｂ等の複数のサーバ１０と、コントローラ２０と、１以上のパケット処理装置３０とは、ネットワークＮ１を介して接続されている。ネットワークＮ１は、１以上のスイッチ４０を含むレイヤ２のネットワーク（すなわち、ＬＡＮ（Local Area Network）である。
【００１６】
サーバ１０は、仮想マシンが稼働するコンピュータである。本実施の形態では、仮想マシン上でＶＮＦ（Virtualized Network Function）機能を実現するソフトウェア（以下、単に「ＶＮＦプロセス」という。）のプロセスがサーバ１０において稼働する。
【００１７】
コントローラ２０は、ＶＮＦのマイグレーション（ライブマイグレーション）をサーバ１０に指示したり、マイグレーションに伴う各種の通知をパケット処理装置３０等に対して行ったりするコンピュータである。コントローラ２０には、ＶＮＦと、当該ＶＮＦに関するパケット処理を行うパケット処理装置３０との対応情報等が記憶されている。
【００１８】
パケット処理装置３０は、パケットのヘッダからアドレスなどの情報を入手し、当該アドレスに基づいて当該パケットに対する処理を行う。例えば、ＮＡＰＴ（Network Address and Port Translation）を行う装置、ファイヤーウォールとして機能する装置、又はＳＤＮ（Software Defined Network）スイッチ等がパケット処理装置３０であってもよい。なお、本実施の形態において、「パケット」とは、特段の断りが無い限りレイヤ２のパケット（フレーム）を意味する。また、アドレスとは、特段の断りが無い限りレイヤ２のアドレス（ＭＡＣアドレス）を意味する。
【００１９】
図２は、第１の実施の形態におけるサーバ１０のハードウェア構成例を示す図である。図２のサーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００２０】
サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってサーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２２】
なお、コントローラ２０、パケット処理装置３０及びスイッチ４０等も、図２に示されるハードウェアを有してもよい。
【００２３】
図３は、第１の実施の形態におけるサーバ１０及びコントローラ２０の機能構成例を示す図である。図３において、サーバ１０は、マイグレーション制御部１１及びアドレス添付部１２等を有する。これら各部は、サーバ１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。
【００２４】
マイグレーション制御部１１は、当該サーバ１０において稼働するＶＮＦの移行先へのマイグレーション（移行）、又は他のサーバ１０において稼働するＶＮＦの移行元（当該他のサーバ１０）からのマイグレーションを制御する。
【００２５】
アドレス添付部１２は、当該サーバ１０において稼働するＶＮＦから出力されるパケットの送信元アドレス欄に対して、当該ＶＮＦに割り当てられたアドレスを添付（付与）する。
【００２６】
一方、コントローラ２０は、マイグレーション指示部２１及びアドレス通知部２２等を有する。これら各部は、コントローラ２０にインストールされた１以上のプログラムが、コントローラ２０のＣＰＵに実行させる処理により実現される。
【００２７】
マイグレーション指示部２１は、移行元のサーバ１０に対し、ＶＮＦのマイグレーションの指示を行う。
【００２８】
アドレス通知部２２は、移行元及び移行先のサーバ１０における各ＶＮＦから出力されるパケットが、各パケット処理装置３０によって同様に扱われるようにするために、当該各ＶＮＦのアドレスを各パケット処理装置３０に通知する。
【００２９】
以下、データ転送システム１において実行される処理手順について説明する。図４は、第１の実施の形態におけるＶＮＦのマイグレーションに関する処理手順の一例を説明するためのシーケンス図である。図４では、サーバ１０ａにおいて稼働するＶＮＦがサーバ１０ｂへマイグレーション（移行）される例について説明する。すなわち、当該マイグレーションにおいて、サーバ１０ａが移行元であり、サーバ１０ｂが移行先である。図４の説明において、図３に示した機能構成について、サーバ１０ａに関する各部の符号の末尾には「ａ」が付与され、サーバ１０ｂに関する各部の符号の末尾には「ｂ」が付与される。
【００３０】
例えば、コントローラ２０のマイグレーション指示部２１が、自動的な判断又はユーザによる指示等に応じ、サーバ１０ａのマイグレーション制御部１１ａに対して、サーバ１０ａで稼働するＶＮＦ（以下、「移行元ＶＮＦ」という。）のマイグレーションの指示を送信する（Ｓ１１０）。当該指示では、移行先のサーバ１０が指定される。ここでは、サーバ１０ｂが移行先であることが指定される。また、当該指示には、移行元ＶＮＦに対する新たなアドレスとして「アドレスｂ」が含まれる。アドレスｂは、コントローラ２０のマイグレーション指示部２１が、マイグレーションに際して、予め指定された方法により割り当てる（生成する）アドレスである。当該方法としては、ネットワークＮ１において使用されている他のアドレスと重複せず、移行元ＶＮＦの現時点の（移行前の）アドレスとも重複しないアドレスを割り当て可能な方法であれば、いかなる方法が採用されてもよい。なお、移行元ＶＮＦの現時点のアドレスは、「アドレスａ」であるとする。
【００３１】
ステップＳ１１０に続いて、又はステップＳ１１０と並行して、コントローラ２０のアドレス通知部２２は、パケットのアドレスを用いてフィルタリングなどのパケット制御を行うパケット処理装置３０が存在する場合、当該パケット処理装置３０に対して、アドレスａ及びアドレスｂが、同じＶＮＦにより使用されていることを通知する（すなわち、アドレスａ及びアドレスｂを通知する）（Ｓ１２０）。アドレスｂが送信元アドレス欄に添付されているパケットに対し、アドレスａが送信元アドレス欄に添付されているパケットと同じ処理が適用されるようにするためである。
【００３２】
一方、マイグレーションの指示を受けたサーバ１０ａにおけるアドレス添付部１２ａは、移行元ＶＮＦから出力されるパケット送信元アドレス欄に対して、アドレスａではなくアドレスｂの付与を開始する（Ｓ１３０）。したがって、各スイッチ４０は、移行元ＶＮＦから出力されるパケットを受信すると、アドレスｂに対する経路を再計算して、経路情報を更新する。但し、ステップＳ１２０の効果により、パケット処理装置３０による当該パケットに対する処理は、送信元アドレス欄に対してアドレスａが添付されているパケットと同様となる。
【００３３】
続いて、マイグレーション制御部１１ａは、マイグレーションの指示に応じ、移行先のサーバ１０ｂのマイグレーション制御部１１ｂに対して、マイグレーションの開始を通知する（Ｓ１４０）。
【００３４】
続いて、マイグレーション制御部１１ａ及びマイグレーション制御部１１ｂの間で、移行元ＶＮＦのマイグレーションのためのデータの同期が行われる（Ｓ１５０）。すなわち、サーバ１０ａに記憶されている移行元ＶＮＦに関するデータが、サーバ１０ｂへ転送される。同期中に移行元ＶＮＦに関するデータに更新が発生した場合、更新部分もサーバ１０ｂへ転送される。なお、データの同期中においても、移行元ＶＮＦによるパケット処理は継続される。この間において、アドレス添付部１２ａは、移行元ＶＮＦから出力されるパケットの送信元アドレス欄に対してアドレスｂを付与する。
【００３５】
データの同期が完了し、マイグレーション制御部１１ｂが、サーバ１０ｂにおいて移行先ＶＮＦを起動すると（Ｓ１６０）、移行先ＶＮＦは、ブロードキャストパケットを送信する（Ｓ１７０）。この際、アドレス添付部１２ｂは、当該ブロードキャストパケットの送信元アドレス欄に対して、移行元ＶＮＦから引き継がれたアドレスａを添付する。したがって、当該ブロードキャストパケットを受信した各スイッチ４０は、アドレスａ宛てのパケットがサーバ１０ｂに届くように、経路情報を更新する（Ｓ１８０）。
【００３６】
なお、アドレス添付部１２ａが、移行元ＶＮＦから出力されるパケットの送信元アドレス欄に対してアドレスｂの付与を開始するのは、移行先ＶＮＦがブロードキャストパケットを送信する直前でもよい。すなわち、移行元ＶＮＦと移行先とＶＮＦとの間でアドレスが重複することが避けられれば、アドレス添付部１２ａが移行元ＶＮＦから出力されるパケットの送信元アドレス欄に対してアドレスｂの付与を開始するタイミングは、特定のタイミングに限定されない。
【００３７】
その後、マイグレーション制御部１１ａは、移行元ＶＮＦへのパケットの到達の有無を監視する。移行元ＶＮＦに対してパケットが到達しない状況が所定時間以上継続すると、マイグレーション制御部１１ａは、各スイッチ４０による経路情報の更新が終了したと判断し、移行元ＶＮＦを停止する（Ｓ１９０）。
【００３８】
上述したように、第１の実施の形態によれば、移行元ＶＮＦと移行先ＶＮＦとの間でアドレスが重複する事態の発生を回避することができる。したがって、移行先ＶＮＦが送信したブロードキャストパケットによる経路更新をスイッチ４０が行う際、当該データパケットに基づく経路情報の再更新の発生を防止することが可能になる。その結果、アドレスａ宛てのパケットが移行先ＶＮＦに届けられるようにすることができる。すなわち、パケット処理に関するソフトウェアを他のコンピュータに移行する場合における通信不正の発生を回避することができる。
【００３９】
また、変更前のアドレス（アドレスａ）及び変更後のアドレス（アドレスｂ）が、パケット処理装置３０等に通知されることで、各アドレスを送信元とするパケット（すなわち、実質的に同一のＶＮＦから出力されるパケット）に対して同様の処理が適用されるようにすることができる。
【００４０】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。第２の実施の形態において特に言及されない点については、第１の実施の形態と同様でもよい。
【００４１】
図５は、第２の実施の形態におけるＶＮＦのマイグレーションに関する処理手順の一例を説明するためのシーケンス図である。図５中、図４と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００４２】
図５では、ステップＳ１１０の代わりにＳ１１０ａが実行される。ステップＳ１１０ａにおけるマイグレーションの指示には、アドレスｂは指定されない。したがって、第２の実施の形態において、図４のステップＳ１３０は実行されない。すなわち、移行元ＶＮＦから出力されるパケットの送信元アドレスは変更されない（アドレスａのままである）。
【００４３】
ステップＳ１１０ａに続いて、又はステップＳ１１０ａと並行して、コントローラ２０のマイグレーション指示部２１は、アドレスｂを予め指定された方法により割り当て（生成し）、アドレスｂを、移行先ＶＮＦに割り当てるアドレスとして、サーバ１０ｂのマイグレーション制御部１１ｂへ通知する。すなわち、第２の実施の形態では、移行元ＶＮＦのアドレスではなく、移行先ＶＮＦのアドレスが変更されることにより、両者でのアドレスの重複が回避される。
【００４４】
マイグレーション制御部１１ｂは、サーバ１０ｂにおいて移行先ＶＮＦを起動すると（Ｓ１６０）、コントローラ２０に対して移行先ＶＮＦの起動を通知する（Ｓ１６１）。コントローラ２０のアドレス通知部２２は、当該通知に応じて、パケット処理装置３０等、ＩＰアドレスとＭＡＣアドレスとの対応を管理している装置に対して、ＡＲＰ（Address Resolution Protocol）の実行指示を送信する（Ｓ１６２）。当該実行指示には、移行先ＶＮＦのＩＰアドレスとＭＡＣアドレス（アドレスｂ）とが含まれる。当該実行指示を受信したパケット処理装置３０等は、当該ＩＰアドレスに対するＡＲＰを実行する（Ｓ１６３）。具体的には、当該ＩＰアドレスに対応付けるＭＡＣアドレスをアドレスｂへ変更する。
【００４５】
また、図５では、ステップＳ１７０の代わりにステップＳ１７０ａが実行される。ステップＳ１７０ａにおいて、移行先ＶＮＦは、ブロードキャストパケットを送信する（Ｓ１７０。この際、アドレス添付部１２ｂは、当該ブロードキャストパケットの送信元アドレス欄に対して、ステップＳ１１１において通知されたアドレスｂを添付する。したがって、当該ブロードキャストパケットを受信した各スイッチ４０は、アドレスｂ宛てのパケットがサーバ１０ｂに届くように、経路情報を更新する（Ｓ１８０）。
【００４６】
上述したように、第２の実施の形態によっても第１の実施の形態と同様の効果を得ることができる。
【００４７】
なお、上記各実施の形態において、ＶＮＦのマイグレーションの手順は一例に過ぎない。また、本実施の形態は、パケットの処理を行うソフトウェアであれば、ＶＮＦ以外のソフトウェアの移行に関して適用されてもよい。
【００４８】
なお、上記各実施の形態において、マイグレーション制御部１１は、制御部の一例である。アドレス添付部１２は、添付部の一例である。サーバ１０は、情報処理装置の一例である。コントローラ２０は、制御装置及び通知部の一例である。アドレス通知部２２は、通知部の一例である。
【００４９】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５０】
１０          サーバ
１１          マイグレーション制御部
１２          アドレス添付部
２０          コントローラ
２１          マイグレーション指示部
２２          アドレス通知部
３０          パケット処理装置
４０          スイッチ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
【図１】
2019205079.tif 000003
【図２】
2019205079.tif 000004
【図３】
2019205079.tif 000005
【図４】
2019205079.tif 000006
【図５】
2019205079.tif 000007