IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧

特許7400587通信処理装置、プログラム、及び通信処理方法
<>
  • 特許-通信処理装置、プログラム、及び通信処理方法 図1
  • 特許-通信処理装置、プログラム、及び通信処理方法 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】通信処理装置、プログラム、及び通信処理方法
(51)【国際特許分類】
   H04L 41/40 20220101AFI20231212BHJP
   H04L 65/1066 20220101ALI20231212BHJP
【FI】
H04L41/40
H04L65/1066
【請求項の数】 6
(21)【出願番号】P 2020061242
(22)【出願日】2020-03-30
(65)【公開番号】P2021164004
(43)【公開日】2021-10-11
【審査請求日】2022-10-13
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100188307
【弁理士】
【氏名又は名称】太田 昌宏
(74)【代理人】
【識別番号】100205833
【弁理士】
【氏名又は名称】宮谷 昂佑
(72)【発明者】
【氏名】土屋 雅信
(72)【発明者】
【氏名】吉田 善貴
【審査官】和平 悠希
(56)【参考文献】
【文献】特開2014-225302(JP,A)
【文献】特開2015-153298(JP,A)
【文献】特表2014-526083(JP,A)
【文献】特開2015-197874(JP,A)
【文献】特開2014-106587(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
仮想マシンの動作環境を提供する仮想化部を備える通信処理装置であって、
前記仮想化部は処理部を備え、前記仮想マシンは仮想NICを備え、
前記処理部は
記仮想マシン一時停止が検知されたことを受けて、一時停止した前記仮想マシンの前記仮想NICをリンクダウンさせ
前記仮想マシンの再開が検知されたことを受けて、再開した前記仮想マシンの前記仮想NICをリンクアップさせる、
信処理装置。
【請求項2】
前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクダウンを行う、請求項1に記載の通信処理装置。
【請求項3】
前記処理部は、
前記仮想マシンの一時停止が検知されたことを受けて、当該仮想マシンが一時停止してから第1時間だけ待機した後に、当該仮想マシンの前記仮想NICをリンクダウンさせ、
前記仮想マシンの再開が検知されたことを受けて、当該仮想マシンが再開してから第2時間だけ待機した後に、当該仮想マシンの前記仮想NICをリンクアップさせる、
求項1又は2に記載の通信処理装置。
【請求項4】
前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクアップを行う、請求項1乃至3のいずれか一項に記載の通信処理装置。
【請求項5】
コンピュータを、
請求項1乃至のいずれか一項に記載の通信処理装置として機能させるためのプログラム。
【請求項6】
仮想マシンが動作する通信処理装置を用いた通信処理方法であって、
前記仮想マシン一時停止が検知されたことを受けて、一時停止した前記仮想マシンの仮想NICをリンクダウンさせるステップと、
前記仮想マシンの再開が検知されたことを受けて、再開した前記仮想マシンの前記仮想
NICをリンクアップさせるステップと、
含む、通信処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信処理装置、プログラム、及び通信処理方法に関する。
【背景技術】
【0002】
近年、プロセス制御システムでは、仮想化技術を用いた制御通信を行うことが増えている。
【0003】
仮想化技術として、特許文献1には、仮想マシンがウイルスに感染した場合に、外部へ不正な通信フレームを送信しないよう、仮想NIC(Network Interface Card)をリンクダウンさせる技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特許6337498号
【発明の概要】
【発明が解決しようとする課題】
【0005】
仮想マシンは、オンラインでのバックアップの取得があった場合に、又はシステム管理者の操作ミス等があった場合に、一時停止することがある。また、仮想化部は、コンピュータ又は自身の異常を検知した場合に、仮想マシン内部の処理及びデータを保護するために仮想マシンを一時停止させることがある。異常としては、例えばコンピュータのストレージ又は物理NIC等のハードウェアが故障した場合、他のコンピュータからのアクセスの集中等によって仮想化部の処理負荷が高くなる場合等である。仮想マシンが一時停止すると、仮想マシン内部の全ての機能が一時停止してしまい、次の問題が生じる。
【0006】
仮想マシンは、一時停止から再開すると、一時停止前に送信処理中であった通信フレームの送信を再開する。しかし、一時停止から再開までの時間が長いと、一時停止前に送信処理中であった通信フレームは、過去のものとなり、送信すべきではないものとなっている場合がある。制御通信では、制御機器とコンピュータとの通信を遅滞なく行うリアルタイム性が求められるので、過去のものとなった古い通信フレームが送信されると、古い機器情報による誤った判断又は古い操作指示による誤った操作につながるという問題がある。
【0007】
この対策として、仮想マシンが一時停止した場合に、例えば特許文献1のように仮想NICのリンクダウン機能を用いることが可能となれば、古い不正な通信フレーム及び仮想マシンの一時停止前に送信処理中であった通信フレームは破棄される。しかし、特許文献1の技術では、仮想マシン内部が仮想マシンの一時停止をそもそも認識することができない。そのため、仮想マシンが一時停止した場合には、仮想NICのリンクダウン機能を用いることができず、上述した問題を解決することができない。
【0008】
そこで、本開示は、仮想NICのリンクダウン機能を用いることによって、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることを防止することができる通信処理装置、プログラム、及び通信処理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
幾つかの実施形態に係る通信処理装置は、仮想マシンの動作環境を提供する仮想化部を備える通信処理装置であって、前記仮想化部は処理部を備え、前記仮想マシンは仮想NICを備え、前記処理部は、前記仮想マシンが一時停止した場合に、一時停止した前記仮想マシンの前記仮想NICをリンクダウンさせる。
【0010】
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクダウンされているため、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることが防止される。
【0011】
一実施形態において、前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクダウンを行ってもよい。
【0012】
このように、制御通信を担う仮想NICに対してリンクダウンが行われるので、制御通信以外の汎用通信では、論理的な通信路が切断されず、通信が継続する。
【0013】
一実施形態において、前記処理部は、前記仮想マシンが再開した場合に、再開した前記仮想マシンの前記仮想NICをリンクアップさせてもよい。
【0014】
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクアップされるため、仮想マシンの通信設定が初期化され、IPアドレスの重複等によって制御通信が阻害されることが防止される。
【0015】
一実施形態において、前記処理部は、前記仮想マシンが再開してから所定の時間だけ待機した後に、前記リンクアップを行ってもよい。
【0016】
このように、仮想マシンが一時停止から再開してもリンクアップがすぐに行われないので、通信設定の初期化及び制御通信の再確立の準備に必要な時間を十分確保することができる。
【0017】
一実施形態において、前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクアップを行ってもよい。
【0018】
このように、制御通信を担う仮想NICに対してのみリンクアップが行われるので、制御通信以外の汎用通信では、論理的な通信路が切断されず、通信が継続する。
【0019】
幾つかの実施形態に係るプログラムは、コンピュータを前記通信処理装置として機能させる。
【0020】
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクダウンされているため、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることが防止される。
【0021】
幾つかの実施形態に係る通信処理方法は、仮想マシンが動作する通信処理装置を用いた通信処理方法であって、前記仮想マシンが一時停止した場合に、一時停止した前記仮想マシンの仮想NICをリンクダウンさせるステップを含む。
【0022】
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクダウンされているため、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることが防止される。
【0023】
一実施形態において、前記仮想マシンが再開した場合に、再開した前記仮想マシンの仮想NICをリンクアップさせるステップをさらに含んでもよい。
【0024】
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクアップされるため、仮想マシンの通信設定が初期化され、IPアドレスの重複等によって制御通信が阻害されることが防止される。
【発明の効果】
【0025】
本開示によれば、仮想NICのリンクダウン機能を用いることによって、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることを防止することができる通信処理装置、プログラム、及び通信処理方法を提供することができる。
【図面の簡単な説明】
【0026】
図1】本開示の一実施形態に係る通信処理装置を説明する図である。
図2】本開示の一実施形態に係る通信処理方法を説明する図である。
【発明を実施するための形態】
【0027】
以下、本開示を実施するための形態について、図面を参照しながら説明する。各図において、同一符号は、同一又は同等の構成要素を示す。
【0028】
(通信処理装置)
図1を参照して、一実施形態に係る通信処理装置100の構成を説明する。
【0029】
通信処理装置100は、任意の仮想化技術を用いて実現される、1つ以上の仮想マシン20-1、20-2の動作環境を提供する仮想化部10を少なくとも備える。
【0030】
通信処理装置100は、任意の通信インタフェース機能を有する物理NIC30-1、30-2を備える。通信処理装置100は、物理NIC30-1を介して、制御機器50-1、50-2が接続された制御ネットワーク40に接続される。また、通信処理装置100は、物理NIC30-2を介して、制御通信以外の通信を担う汎用ネットワーク60に接続される。任意の外部コンピュータ70は、制御ネットワーク40と汎用ネットワーク60に接続される。外部コンピュータ70では、例えば、制御機器50-1、50-2を制御するための任意のアプリケーション、通信処理装置100への指示及び監視を行う任意のアプリケーション、又は汎用通信のための任意のアプリケーション等が動作する。制御機器50-1、50-2には、1つ以上のフィールド機器が接続されており、フィールド機器を制御することによってプラントの制御を行う。フィールド機器は、例えば、流量計、温度計、湿度計、若しくは圧力計等のセンサ、又はバルブ、ポンプ、若しくはアクチュエータ等の機器である。なお、通信処理装置100、制御機器50-1、50-2、及び外部コンピュータ70の数は任意である。
【0031】
通信処理装置100の各種動作は、コンピュータに含まれる任意の物理メモリに記憶されたプログラムを、コンピュータに含まれる任意の物理プロセッサで実行することによって実現される。
【0032】
仮想マシン20-1、20-2は、任意の仮想化技術を用いて実現される仮想NIC24-1、24-2-1、24-2-2を備える。仮想マシン20-1、20-2上で任意のゲストOS(Operating System)21-1、21-2が動作する。ゲストOS21-1、21-2上で、アプリケーション部22-1、22-2-1、22-2-2及び制御通信部23-1、23-2が動作する。ゲストOS21-1、21-2としては、例えばWindows(登録商標)又はLinux(登録商標)等の汎用OSが挙げられる。なお、アプリケーション部22-1、22-2-1、22-2-2の数は任意である。
【0033】
アプリケーション部22-1、22-2-1は、例えばプラント及び制御機器50-1、50-2を制御するための任意のアプリケーションに関するソフトウェアを動作させる。例えば、ソフトウェアとして、プラントの測定データの表示及びプラントに対する操作を行うHMI(Human Machine Interface)、制御機器50-1、50-2の制御プログラムを作成するためのENG(Engineering Server)、ゲートウェイ、並びに制御機器50-1、50-2等のアプリケーションに関するソフトウェアが挙げられる。一方で、アプリケーション部22-2-2は、汎用通信のための任意のアプリケーションに関するソフトウェアを動作させる。
【0034】
制御通信部23-1、23-2は、アプリケーション部22-1、22-2-1からの通信要求に基づいて、Vnet/IP通信等の制御通信を行う。具体的には、制御通信部23-1、23-2は、仮想NIC24-1、24-2-1、仮想L2SW13-1、物理NIC30-1、及び制御ネットワーク40を経由して、アプリケーション部22-1、22-2-1からの通信要求を、制御機器50-1、50-2又は外部コンピュータ70等に通知する。なお、制御通信は、プロセス制御システムで用いられ、各種通信を遅滞なく行うリアルタイム性が要求される。「リアルタイム性」とは、制御通信部23-1、23-2によって制御機器50-1、50-2又は外部コンピュータ70に対して行われた通信要求が、所定の時間内に完結すること、又は所定の時間内に通信要求が完了しない場合であっても、制御通信部23-1、23-2にエラー通知等のレスポンスが所定の時間内に戻ることを意味する。制御通信部23-1、23-2は、例えば、通信路確立部231-1、231-2と、リンク状態検知部232-1、232-2と、フレーム送信部233-1、233-2とを備える。
【0035】
リンク状態検知部232-1、232-2は、仮想NIC24-1、24-2-1のリンク状態を監視する。リンク状態検知部232-1、232-2は、リンク状態の変更を検知すると、通信路確立部231-1、232-2及びフレーム送信部233-1、233-2に対して仮想NIC24-1、24-2-1のリンク状態を通知する。リンク状態検知部232-1、232-2は、仮想NIC24-1、24-2-1のリンクアップ状態又はリンクダウン状態が一定の時間継続すると、通信路確立部231-1、231-2及びフレーム送信部233-1、233-2に対して、仮想NIC24-1、24-2-2のリンク状態を通知する。
【0036】
通信路確立部231-1、231-2は、リンク状態検知部232-1、232-2からの通知によって仮想NIC24-1、24-2-1のリンクアップを検知すると、制御ネットワーク40に接続された制御機器50-1、50-2及び外部コンピュータ70等との論理的な通信路(例えば、TCP(Transmission Control Protocol)コネクションやUDP(User Datagram Protocol)ポートのオープンとUDPを用いた上位プロトコルのネゴシエーション等)の確立を行う。なお、通信路確立部231-1、231-2は、通信路を確立するにあたって、IP(Internet Protocol)アドレスの割り当て及びルーティングの設定等を行う。通信路確立部231-1、231-2は、IPアドレスの割り当てにあたって、同じIPアドレスの機器が制御ネットワーク40上で重複しないように、IPアドレスの二重アドレス診断を行う。なお、IPアドレスの割り当て、ルーティングの設定、及び二重アドレス診断等の一部又は全部の処理を、ゲストOS21-1、21-2が担ってもよい。一方で、通信路確立部231-1、231-2は、リンク状態検知部232-1、232-2からの通知によって仮想NIC24-1、24-2-1のリンクダウンを検知すると、IPアドレスの解放、及びルーティングの設定等を行って、制御ネットワーク40に接続された制御機器50-1、50-2及び外部コンピュータ70等との論理的な通信路の切断を行う。
【0037】
フレーム送信部233-1、233-2は、アプリケーション部22-1、22-2-1から送信要求された制御データを通信フレーム化して、仮想NIC24-1、24-2-1に送信する。フレーム送信部233-1、233-2は、リンク状態検知部232-1、232-2からの通知によって仮想NIC24-1、24-2-1のリンクアップを検知すると、新たな通信フレームを一時的にバッファリングするための各種準備を行う。フレーム送信部233-1、233-2は、リンク状態検知部232-1、232-2からの通知によって仮想NIC24-1、24-2-1のリンクダウンを検知すると、一時的にバッファリングしていた通信フレームを破棄して、アプリケーション部22-1、22-2-1から送信要求される新たな通信フレームを受け付けない。加えて、仮想NIC24-1、24-2-1は、仮想L2SW13-1に送信予定の通信フレームを破棄する。なお、これはNICの一般的な動作である。
【0038】
仮想化部10は、例えば、VM構成管理部111と、VM状態管理部112と、VM状態検知部113と、要遮断確認部114と、制御通信遮断制御部115と、設定格納部12と、仮想L2SW13-1、13-2とを含む、処理部11を備える。ただし、これに限定されない。なお、処理部11は、任意の仮想化技術を用いることによって、通信処理装置100が備える1つ以上の物理CPU(Central Processing Unit)と1対1に対応付けられる1つ以上の仮想CPUを含むことができ、仮想マシン20-1、20-2の処理に仮想CPUを割り当てることができる。
【0039】
VM構成管理部111は、通信処理装置100の内部又は外部に設けられたVM状態操作部から受けた仮想ハードウェアの構成を変更する旨の指示を、仮想マシン20-1、20-2に対して行う。内部としては、例えば、処理部11の図示しない機能、又は仮想マシン20-1、20-2等が挙げられる。外部としては、例えば、外部コンピュータ70等が挙げられる。仮想ハードウェアの構成変更とは、仮想NIC24と仮想L2SW13との間のリンク状態の変更等である。詳細は後述するが、VM構成管理部111は、制御通信遮断制御部115からの指示に基づいて、仮想NIC24-1、24-2-1のリンクアップ又はリンクダウンを行う。
【0040】
VM状態管理部112は、通信処理装置100の内部又は外部に設けられたVM状態操作部から受けた仮想マシン20-1、20-2の状態を変更する旨の指示を、仮想マシン20-1、20-2に対して行う。「状態」とは、電源オフ、実行中、又は一時停止等である。「変更する旨の指示」とは、起動、一時停止、再開、又はシャットダウン等である。
【0041】
VM状態検知部113は、仮想マシン20-1、20-2の状態をVM状態管理部112に問い合わせて、検知した仮想マシン20-1、20-2の状態を要遮断管理部114に通知する。なお、VM状態管理部112への問い合わせは、例えば1秒周期等で定期的に行われる。
【0042】
要遮断確認部114は、VM状態検知部113から通知された仮想マシン20-1、20-2の状態に基づいて、仮想マシン20-1、20-2がこの状態を継続している時間を算出する。要遮断確認部114は、制御通信遮断制御部115に対して、算出した時間と設定格納部12に格納された設定時間との比較に基づいた通知を行う。
【0043】
例えば、仮想マシン20-1が一時停止している場合には、要遮断確認部114は、仮想マシン20-1が一時停止してからの時間(以下、「停止継続時間」)T1を算出する。要遮断確認部114は、停止継続時間T1が設定時間T1_THを超えている場合には、制御通信遮断制御部115に対して制御通信遮断通知を行う。要遮断確認部114は、停止継続時間T1が設定時間T1_THを超えていない場合には、所定の時間だけWAITする。なお、「T1_TH」は、制御通信部23-1が仮想マシン20-1の一時停止を許容することができる時間の閾値(例えば20秒等)であり、制御通信の仕様に応じて適宜設定される。例えば、制御通信が20秒より遅延すると、通信異常が発生しているとみなされる場合には、このような通信フレームを送信しないようにT1_THが設定される。T1_THに「-1秒」を設定した場合、本機能をオフとしてもよい。
【0044】
一方で、仮想マシン20-1が一時停止から再開して稼働中である場合には、要遮断確認部114は、仮想マシン20-1が再開してからの時間(以下、「稼働継続時間」)T2を算出する。要遮断確認部114は、稼働継続時間T2が設定時間T2_THを超えている場合には、制御通信遮断制御部115に対して制御通信遮断解除通知を行う。要遮断確認部114は、稼働継続時間T2が設定時間T2_THを超えていない場合には、所定の時間だけWAITする。なお、「T2_TH」は、制御通信部23-1、23-2が制御通信のセッションを再確立する動作に移行するのに必要な時間の閾値(例えば10秒等)であり、ゲストOS21-1及び制御通信部23-1のリンクダウン時の処理時間に応じて適宜設定される。例えば、リンクダウンの発生からゲストOS21-1及び制御通信部23-1がリンクダウンを検知して、古い通信フレームを破棄して、通信路の再確立の準備が完了するまでに必要な時間(例えば10秒等)に基づいて、T2_THが設定される。T2_THに「-1秒」を設定した場合、本機能をオフとしてもよい。
【0045】
制御通信遮断制御部115は、VM構成管理部111に対して、要遮断確認部114からの通知に基づいた指示を行う。例えば、仮想マシン20-1が一時停止した場合には、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断通知を受けると、VM構成管理部111に対して、一時停止した仮想マシン20-1の仮想NIC24-1をリンクダウンさせることを指示する。一方で、仮想マシン20-1が一時停止から再開した場合には、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断解除通知を受けると、VM構成管理部111に対して、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせることを指示する。
【0046】
設定格納部12は、設定時間T1_TH及びT2_THを格納する。なお、設定格納部12は、任意の仮想化技術を用いて、通信処理装置100が備える1つ以上の物理メモリと1対1に対応付けられる1つ以上の仮想メモリを含むことができる。
【0047】
換言すると、処理部11は、仮想マシン20-1が一時停止した場合に、一時停止した仮想マシン20-1の仮想NIC24-1をリンクダウンさせる。また、処理部11は、仮想マシン20-1が再開した場合に、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせる。なお、処理部11は、仮想マシン20-1が再開してから所定の時間だけ待機した後に、リンクアップを行うことが好ましい。
【0048】
(通信処理方法)
図2を参照して、一実施形態に係る通信処理装置100の処理例を説明する。本処理例は、本開示による通信処理方法の一実施形態に相当する。
【0049】
本処理例は、例えば仮想マシン20-1が一時停止した時点から開始する。
【0050】
ステップS100において、VM状態検知部113は、VM状態管理部112への問い合わせによって仮想マシン20-1の一時停止を検知すると、要遮断確認部114に対して一時停止通知を行う。
【0051】
ステップS102において、要遮断確認部114は、VM状態検知部113から一時停止通知を受けると、仮想マシン20-1が一時停止してからの停止継続時間T1を算出する。また、要遮断確認部114は、設定格納部12から設定時間T1_THを取得する。続いて、要遮断確認部114は、停止継続時間T1と設定時間T1_THとを比較する。停止継続時間T1が設定時間T1_THを超えている場合には、要遮断確認部114は、制御通信遮断制御部115に対して制御通信遮断通知を行う。停止継続時間T1が設定時間T1_THを超えていない場合には、要遮断確認部114は、所定の時間だけWAITしてから、ステップS102を繰り返す。
【0052】
ステップS104において、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断通知を受けると、VM構成管理部111に対して仮想NIC24-1をリンクダウンさせることを指示する。VM構成管理部111は、制御通信遮断制御部115から指示を受けると、一時停止した仮想マシン20-1の仮想NIC24-1をリンクダウンさせる。
【0053】
以下、本処理例では、一時停止していた仮想マシン20-1が再開したとする。本処理例によれば、ステップS104の処理によって仮想NIC24-1がリンクダウンされているので、仮想マシン20-1が再開しても、仮想マシン20-1が一時停止する前に送信処理中であった通信フレームが誤って送信されることがない。したがって、制御システムへの誤った判断及び誤った操作を防止することができる。
【0054】
ステップS106において、ゲストOS21-1は、Windows(登録商標)又はLinux(登録商標)等の汎用OSの一般的な動作によって、仮想NIC24-1がリンクダウンされたことを検知する。ゲストOS21-1は、リンクダウンされた仮想NIC24-1を用いている論理的な通信路を切断することによって、ゲストOS21-1のバッファに残っている通信フレームを破棄する。なお、仮想マシン20-1が再開してからステップS106の処理が行われるまでの時間は、設定時間T2_THよりも短い。
【0055】
ステップS108において、制御通信部23-1のリンク状態検知部232-1は、仮想NIC24-1がリンクダウンされたことを検知する。制御通信部23-1は、通信路確立部231-1及びフレーム送信部233-1に対して、仮想NIC24-1がリンクダウンされたことを通知する。通信路確立部231-1は、IPアドレスの解放、及びルーティングの設定等を行って、制御ネットワーク40に接続された制御機器50-1、50-2及び外部コンピュータ70等との論理的な通信路の切断を行う。一方で、フレーム送信部233-1は、一時的にバッファリングしていた通信フレームを破棄する。なお、仮想マシン20-1が再開してからステップS108の処理が行われるまでの時間は、設定時間T2_THよりも短い。
【0056】
ステップS109において、仮想NIC24-1は、VM構成管理部111によってリンクダウンされると、仮想L2SW13-1に送信予定の通信フレームを破棄する。なお、仮想マシン20-1が再開してからステップS109の処理が行われるまでの時間は、設定時間T2_THよりも短い。
【0057】
ステップS110において、VM状態検知部113は、VM状態管理部112への問い合わせによって仮想マシン20-1が再開したことを検知すると、要遮断確認部114に対して再開通知を行う。なお、仮想マシン20-1の再開は、仮想マシン20-1の状態が一時停止から稼働中に遷移することで判断される。
【0058】
ステップS112において、要遮断確認部114は、VM状態検知部113から再開通知を受けると、仮想マシン20-1が再開してからの稼働継続時間T2を算出する。また、要遮断確認部114は、設定格納部12から設定時間T2_THを取得する。続いて、要遮断確認部114は、稼働継続時間T2と設定時間T2_THとを比較する。稼働継続時間T2が設定時間T2_THを超えている場合には、要遮断確認部114は、制御通信遮断制御部115に対して制御通信遮断解除通知を行う。稼働継続時間T2が設定時間T2_THを超えていない場合には、要遮断確認部114は、所定の時間だけWAITしてから、ステップS112を繰り返す。
【0059】
ステップS114において、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断解除通知を受けると、VM構成管理部111に対して、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせることを指示する。VM構成管理部111は、制御通信遮断制御部115から指示を受けると、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせる。
【0060】
ステップS116において、ゲストOS21-1は、仮想NIC24-1のリンクアップを検知すると、二重アドレス診断等、ネットワークプロトコルスタックのリセットを行う。
【0061】
ステップS118において、制御通信部23-1のリンク状態検知部232-1は、仮想NIC24-1のリンクアップを検知すると、通信路確立部231-1及びフレーム送信部233-1に対して、仮想NIC24-1のリンクアップを通知する。通信路確立部231-1は、IPアドレスの二重アドレス診断、IPアドレスの割り当て、及びルーティングの設定等を行って、制御ネットワーク40に接続された制御機器50-1、50-2及び外部コンピュータ70等との論理的な通信路の確立を行う。フレーム送信部233-1は、アプリケーション部22-1から新たに受信した通信フレームを、一時的にバッファリングするための各種準備を行う。
【0062】
本実施形態によれば、仮想マシン20-1が一時停止及び再開した場合であっても、仮想マシン20-1上で動作するゲストOS21-1及び制御通信部23-1は、仮想NIC24-1のリンクダウン機能及びリンクアップ機能を用いることによって、仮想マシン20-1が一時停止及び再開したことを間接的に検知することができる。これによって、仮想マシン20-1が一時停止から再開した場合であっても、仮想マシン20-1が一時停止する前に送信処理中であった古い通信フレームが破棄されるので、制御システムへの誤った判断及び誤った操作を防止することができる。また、仮想マシン20-1が一時停止してから再開するまでの間に、IPアドレスが重複する機器が新たに追加された場合があっても、二重アドレス診断が行われるので、制御通信が阻害されることを防止することができる。また、本実施形態は、仮想マシン20-1上で動作するゲストOS21-1等に公開されている仮想ハードウェアが互換性の観点から最小限のものになっており、仮想マシン20-1内部を改良することが望まれていない近年において、有用である。
【0063】
なお、汎用の通信処理装置を、本実施形態に係る通信処理装置100として機能させることも可能である。具体的には、本実施形態に係る通信処理装置100の各機能を実現する処理内容を記述したプログラムを汎用の通信処理装置のメモリに格納し、汎用の通信処理装置のプロセッサによって当該プログラムを読み出して実行させることも可能である。
【0064】
以上、本開示を諸図面及び実施形態に基づき説明したが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。したがって、これらの変形又は修正は、本開示の範囲に含まれることに留意されたい。例えば、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数のステップ等を1つに組み合わせたり、あるいは分割したりすることが可能である。
【0065】
例えば、図1を参照して、制御通信を担っておらず、汎用通信を担っている仮想NIC24-2-2については、仮想マシン20-2が一時停止した場合であっても、リンクダウンさせる必要がない。一方で、制御通信を担っている仮想NIC24-2-1については、仮想マシン20-2が一時停止した場合には、リンクダウンさせる必要がある。そこで、要遮断確認部114は、仮想マシン20-2が一時停止した場合には、例えば設定格納部12に格納された、一時停止した仮想マシン20-2がリンクダウンの必要性のある仮想NIC24-2-1を備えるか否かに関する情報を参照することによって、仮想NIC24-2-1、24-2-2をリンクダウンさせる必要があるか否かを判断してもよい。要遮断確認部114が仮想NIC24-2-1をリンクダウンさせる必要があると判断した場合、以降の処理については記述の説明を援用する。換言すると、処理部11は、制御通信を担う仮想NIC24-2-1に対して、リンクダウン及びリンクアップを行う。なお、上記情報は、通信制御システムの管理者によって適宜設定されてもよく、追加的に又は代替的に、仮想マシン20-2が制御通信を担っている仮想L2SW13-1に接続されている仮想NIC24-2-1を備えるか否かに基づいて自動生成されてもよい。
【0066】
また、図1を参照して、制御通信を担っている仮想NIC24-2-1に対しては、リンクアップからリンクダウンへの遷移の閾値、又はリンクダウンからリンクアップへの遷移の閾値が、汎用通信を担っている仮想NIC24-2-2よりも小さく設定されてもよい。例えば、仮想NIC24-2-1についての設定時間T1_THの閾値が、仮想NIC24-2-2についての設定時間T1_THの閾値よりも小さく設定されていてもよい。この場合、要遮断確認部114は、この閾値に基づいて、仮想NIC24-2-1、24-2-2をリンクダウン及び/又はリンクアップさせるか否かを判断する。
【0067】
また、図1を参照して、複数の仮想マシン20-1、20-2が同時に通信処理を行うと、物理NIC30-1、30-2に送信処理が集中して、仮想化部10の処理負荷が高くなることがある。この場合、仮想化部10は、自身の処理負荷が所定の閾値を超えた場合に、仮想マシン20-1、20-2をT1_TH未満の時間だけ一時停止させてから再開させてもよい。これにより、物理NIC30-1、30-2に送信処理が集中することが抑制される。また、仮想マシン20-1、20-2が一時停止する時間はT1_TH未満であるので、制御通信に悪影響を及ぼす通信フレームが送信されることもない。ただし、仮想化部10の処理負荷が、依然として、所定の閾値を超えている場合には、仮想化部10は、自身の処理負荷が低くなるまで、仮想マシン20-1、20-2を一時停止させてもよい。なお、仮想マシン20-1、20-2の一時停止時間がT1_TH以上となった場合には、上述した処理例と同様に制御通信を担っている仮想NIC24-2-1をリンクダウンさせることによって、古い通信フレームが送信されるのを防止してもよい。なお、処理負荷及び閾値としては、例えばCPU(Central Processing Unit)負荷及び20%等が挙げられる。
【産業上の利用可能性】
【0068】
本開示によれば、仮想NICのリンクダウン機能を用いることによって、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることを防止することができる通信処理装置、プログラム、及び通信処理方法を提供することができる。
【符号の説明】
【0069】
100 通信処理装置
10 仮想化部
11 処理部
111 VM構成管理部
112 VM状態管理部
113 VM状態検知部
114 要遮断確認部
115 制御通信遮断制御部
12 設定格納部
13-1、13-2 仮想L2SW
20-1、20-2 仮想マシン
21-1、21-2 ゲストOS
22-1、22-2-1、22-2-2 アプリケーション部
23-1、23-2 制御通信部
231-1、231-2 通信路確立部
232-1、232-2 リンク状態検知部
233-1、233-2 フレーム通信部
24-1、24-2-1、24-2-2 仮想NIC
30-1、30-2 物理NIC
40 制御ネットワーク
50-1、50-2 制御機器
60 汎用ネットワーク
70 外部コンピュータ
図1
図2