JP7400587B2 - 通信処理装置、プログラム、及び通信処理方法 - Google Patents

通信処理装置、プログラム、及び通信処理方法 Download PDF

Info

Publication number
JP7400587B2
JP7400587B2 JP2020061242A JP2020061242A JP7400587B2 JP 7400587 B2 JP7400587 B2 JP 7400587B2 JP 2020061242 A JP2020061242 A JP 2020061242A JP 2020061242 A JP2020061242 A JP 2020061242A JP 7400587 B2 JP7400587 B2 JP 7400587B2
Authority
JP
Japan
Prior art keywords
virtual machine
communication
virtual
unit
nic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020061242A
Other languages
English (en)
Other versions
JP2021164004A (ja
Inventor
雅信 土屋
善貴 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2020061242A priority Critical patent/JP7400587B2/ja
Priority to US17/204,048 priority patent/US20210303329A1/en
Priority to CN202110296945.2A priority patent/CN113472836A/zh
Publication of JP2021164004A publication Critical patent/JP2021164004A/ja
Application granted granted Critical
Publication of JP7400587B2 publication Critical patent/JP7400587B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Description

本開示は、通信処理装置、プログラム、及び通信処理方法に関する。
近年、プロセス制御システムでは、仮想化技術を用いた制御通信を行うことが増えている。
仮想化技術として、特許文献1には、仮想マシンがウイルスに感染した場合に、外部へ不正な通信フレームを送信しないよう、仮想NIC(Network Interface Card)をリンクダウンさせる技術が開示されている。
特許6337498号
仮想マシンは、オンラインでのバックアップの取得があった場合に、又はシステム管理者の操作ミス等があった場合に、一時停止することがある。また、仮想化部は、コンピュータ又は自身の異常を検知した場合に、仮想マシン内部の処理及びデータを保護するために仮想マシンを一時停止させることがある。異常としては、例えばコンピュータのストレージ又は物理NIC等のハードウェアが故障した場合、他のコンピュータからのアクセスの集中等によって仮想化部の処理負荷が高くなる場合等である。仮想マシンが一時停止すると、仮想マシン内部の全ての機能が一時停止してしまい、次の問題が生じる。
仮想マシンは、一時停止から再開すると、一時停止前に送信処理中であった通信フレームの送信を再開する。しかし、一時停止から再開までの時間が長いと、一時停止前に送信処理中であった通信フレームは、過去のものとなり、送信すべきではないものとなっている場合がある。制御通信では、制御機器とコンピュータとの通信を遅滞なく行うリアルタイム性が求められるので、過去のものとなった古い通信フレームが送信されると、古い機器情報による誤った判断又は古い操作指示による誤った操作につながるという問題がある。
この対策として、仮想マシンが一時停止した場合に、例えば特許文献1のように仮想NICのリンクダウン機能を用いることが可能となれば、古い不正な通信フレーム及び仮想マシンの一時停止前に送信処理中であった通信フレームは破棄される。しかし、特許文献1の技術では、仮想マシン内部が仮想マシンの一時停止をそもそも認識することができない。そのため、仮想マシンが一時停止した場合には、仮想NICのリンクダウン機能を用いることができず、上述した問題を解決することができない。
そこで、本開示は、仮想NICのリンクダウン機能を用いることによって、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることを防止することができる通信処理装置、プログラム、及び通信処理方法を提供することを目的とする。
幾つかの実施形態に係る通信処理装置は、仮想マシンの動作環境を提供する仮想化部を備える通信処理装置であって、前記仮想化部は処理部を備え、前記仮想マシンは仮想NICを備え、前記処理部は、前記仮想マシンが一時停止した場合に、一時停止した前記仮想マシンの前記仮想NICをリンクダウンさせる。
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクダウンされているため、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることが防止される。
一実施形態において、前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクダウンを行ってもよい。
このように、制御通信を担う仮想NICに対してリンクダウンが行われるので、制御通信以外の汎用通信では、論理的な通信路が切断されず、通信が継続する。
一実施形態において、前記処理部は、前記仮想マシンが再開した場合に、再開した前記仮想マシンの前記仮想NICをリンクアップさせてもよい。
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクアップされるため、仮想マシンの通信設定が初期化され、IPアドレスの重複等によって制御通信が阻害されることが防止される。
一実施形態において、前記処理部は、前記仮想マシンが再開してから所定の時間だけ待機した後に、前記リンクアップを行ってもよい。
このように、仮想マシンが一時停止から再開してもリンクアップがすぐに行われないので、通信設定の初期化及び制御通信の再確立の準備に必要な時間を十分確保することができる。
一実施形態において、前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクアップを行ってもよい。
このように、制御通信を担う仮想NICに対してのみリンクアップが行われるので、制御通信以外の汎用通信では、論理的な通信路が切断されず、通信が継続する。
幾つかの実施形態に係るプログラムは、コンピュータを前記通信処理装置として機能させる。
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクダウンされているため、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることが防止される。
幾つかの実施形態に係る通信処理方法は、仮想マシンが動作する通信処理装置を用いた通信処理方法であって、前記仮想マシンが一時停止した場合に、一時停止した前記仮想マシンの仮想NICをリンクダウンさせるステップを含む。
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクダウンされているため、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることが防止される。
一実施形態において、前記仮想マシンが再開した場合に、再開した前記仮想マシンの仮想NICをリンクアップさせるステップをさらに含んでもよい。
このように、仮想マシンが一時停止から再開しても、仮想NICがリンクアップされるため、仮想マシンの通信設定が初期化され、IPアドレスの重複等によって制御通信が阻害されることが防止される。
本開示によれば、仮想NICのリンクダウン機能を用いることによって、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることを防止することができる通信処理装置、プログラム、及び通信処理方法を提供することができる。
本開示の一実施形態に係る通信処理装置を説明する図である。 本開示の一実施形態に係る通信処理方法を説明する図である。
以下、本開示を実施するための形態について、図面を参照しながら説明する。各図において、同一符号は、同一又は同等の構成要素を示す。
(通信処理装置)
図1を参照して、一実施形態に係る通信処理装置100の構成を説明する。
通信処理装置100は、任意の仮想化技術を用いて実現される、1つ以上の仮想マシン20-1、20-2の動作環境を提供する仮想化部10を少なくとも備える。
通信処理装置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の数は任意である。
通信処理装置100の各種動作は、コンピュータに含まれる任意の物理メモリに記憶されたプログラムを、コンピュータに含まれる任意の物理プロセッサで実行することによって実現される。
仮想マシン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の数は任意である。
アプリケーション部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は、汎用通信のための任意のアプリケーションに関するソフトウェアを動作させる。
制御通信部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とを備える。
リンク状態検知部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のリンク状態を通知する。
通信路確立部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等との論理的な通信路の切断を行う。
フレーム送信部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の一般的な動作である。
仮想化部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を割り当てることができる。
VM構成管理部111は、通信処理装置100の内部又は外部に設けられたVM状態操作部から受けた仮想ハードウェアの構成を変更する旨の指示を、仮想マシン20-1、20-2に対して行う。内部としては、例えば、処理部11の図示しない機能、又は仮想マシン20-1、20-2等が挙げられる。外部としては、例えば、外部コンピュータ70等が挙げられる。仮想ハードウェアの構成変更とは、仮想NIC24と仮想L2SW13との間のリンク状態の変更等である。詳細は後述するが、VM構成管理部111は、制御通信遮断制御部115からの指示に基づいて、仮想NIC24-1、24-2-1のリンクアップ又はリンクダウンを行う。
VM状態管理部112は、通信処理装置100の内部又は外部に設けられたVM状態操作部から受けた仮想マシン20-1、20-2の状態を変更する旨の指示を、仮想マシン20-1、20-2に対して行う。「状態」とは、電源オフ、実行中、又は一時停止等である。「変更する旨の指示」とは、起動、一時停止、再開、又はシャットダウン等である。
VM状態検知部113は、仮想マシン20-1、20-2の状態をVM状態管理部112に問い合わせて、検知した仮想マシン20-1、20-2の状態を要遮断管理部114に通知する。なお、VM状態管理部112への問い合わせは、例えば1秒周期等で定期的に行われる。
要遮断確認部114は、VM状態検知部113から通知された仮想マシン20-1、20-2の状態に基づいて、仮想マシン20-1、20-2がこの状態を継続している時間を算出する。要遮断確認部114は、制御通信遮断制御部115に対して、算出した時間と設定格納部12に格納された設定時間との比較に基づいた通知を行う。
例えば、仮想マシン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秒」を設定した場合、本機能をオフとしてもよい。
一方で、仮想マシン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秒」を設定した場合、本機能をオフとしてもよい。
制御通信遮断制御部115は、VM構成管理部111に対して、要遮断確認部114からの通知に基づいた指示を行う。例えば、仮想マシン20-1が一時停止した場合には、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断通知を受けると、VM構成管理部111に対して、一時停止した仮想マシン20-1の仮想NIC24-1をリンクダウンさせることを指示する。一方で、仮想マシン20-1が一時停止から再開した場合には、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断解除通知を受けると、VM構成管理部111に対して、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせることを指示する。
設定格納部12は、設定時間T1_TH及びT2_THを格納する。なお、設定格納部12は、任意の仮想化技術を用いて、通信処理装置100が備える1つ以上の物理メモリと1対1に対応付けられる1つ以上の仮想メモリを含むことができる。
換言すると、処理部11は、仮想マシン20-1が一時停止した場合に、一時停止した仮想マシン20-1の仮想NIC24-1をリンクダウンさせる。また、処理部11は、仮想マシン20-1が再開した場合に、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせる。なお、処理部11は、仮想マシン20-1が再開してから所定の時間だけ待機した後に、リンクアップを行うことが好ましい。
(通信処理方法)
図2を参照して、一実施形態に係る通信処理装置100の処理例を説明する。本処理例は、本開示による通信処理方法の一実施形態に相当する。
本処理例は、例えば仮想マシン20-1が一時停止した時点から開始する。
ステップS100において、VM状態検知部113は、VM状態管理部112への問い合わせによって仮想マシン20-1の一時停止を検知すると、要遮断確認部114に対して一時停止通知を行う。
ステップ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を繰り返す。
ステップS104において、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断通知を受けると、VM構成管理部111に対して仮想NIC24-1をリンクダウンさせることを指示する。VM構成管理部111は、制御通信遮断制御部115から指示を受けると、一時停止した仮想マシン20-1の仮想NIC24-1をリンクダウンさせる。
以下、本処理例では、一時停止していた仮想マシン20-1が再開したとする。本処理例によれば、ステップS104の処理によって仮想NIC24-1がリンクダウンされているので、仮想マシン20-1が再開しても、仮想マシン20-1が一時停止する前に送信処理中であった通信フレームが誤って送信されることがない。したがって、制御システムへの誤った判断及び誤った操作を防止することができる。
ステップS106において、ゲストOS21-1は、Windows(登録商標)又はLinux(登録商標)等の汎用OSの一般的な動作によって、仮想NIC24-1がリンクダウンされたことを検知する。ゲストOS21-1は、リンクダウンされた仮想NIC24-1を用いている論理的な通信路を切断することによって、ゲストOS21-1のバッファに残っている通信フレームを破棄する。なお、仮想マシン20-1が再開してからステップS106の処理が行われるまでの時間は、設定時間T2_THよりも短い。
ステップ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よりも短い。
ステップS109において、仮想NIC24-1は、VM構成管理部111によってリンクダウンされると、仮想L2SW13-1に送信予定の通信フレームを破棄する。なお、仮想マシン20-1が再開してからステップS109の処理が行われるまでの時間は、設定時間T2_THよりも短い。
ステップS110において、VM状態検知部113は、VM状態管理部112への問い合わせによって仮想マシン20-1が再開したことを検知すると、要遮断確認部114に対して再開通知を行う。なお、仮想マシン20-1の再開は、仮想マシン20-1の状態が一時停止から稼働中に遷移することで判断される。
ステップ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を繰り返す。
ステップS114において、制御通信遮断制御部115は、要遮断確認部114から制御通信遮断解除通知を受けると、VM構成管理部111に対して、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせることを指示する。VM構成管理部111は、制御通信遮断制御部115から指示を受けると、再開した仮想マシン20-1の仮想NIC24-1をリンクアップさせる。
ステップS116において、ゲストOS21-1は、仮想NIC24-1のリンクアップを検知すると、二重アドレス診断等、ネットワークプロトコルスタックのリセットを行う。
ステップ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から新たに受信した通信フレームを、一時的にバッファリングするための各種準備を行う。
本実施形態によれば、仮想マシン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内部を改良することが望まれていない近年において、有用である。
なお、汎用の通信処理装置を、本実施形態に係る通信処理装置100として機能させることも可能である。具体的には、本実施形態に係る通信処理装置100の各機能を実現する処理内容を記述したプログラムを汎用の通信処理装置のメモリに格納し、汎用の通信処理装置のプロセッサによって当該プログラムを読み出して実行させることも可能である。
以上、本開示を諸図面及び実施形態に基づき説明したが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。したがって、これらの変形又は修正は、本開示の範囲に含まれることに留意されたい。例えば、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数のステップ等を1つに組み合わせたり、あるいは分割したりすることが可能である。
例えば、図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を備えるか否かに基づいて自動生成されてもよい。
また、図1を参照して、制御通信を担っている仮想NIC24-2-1に対しては、リンクアップからリンクダウンへの遷移の閾値、又はリンクダウンからリンクアップへの遷移の閾値が、汎用通信を担っている仮想NIC24-2-2よりも小さく設定されてもよい。例えば、仮想NIC24-2-1についての設定時間T1_THの閾値が、仮想NIC24-2-2についての設定時間T1_THの閾値よりも小さく設定されていてもよい。この場合、要遮断確認部114は、この閾値に基づいて、仮想NIC24-2-1、24-2-2をリンクダウン及び/又はリンクアップさせるか否かを判断する。
また、図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%等が挙げられる。
本開示によれば、仮想NICのリンクダウン機能を用いることによって、仮想マシンの一時停止前に送信処理中であった通信フレームが送信されることを防止することができる通信処理装置、プログラム、及び通信処理方法を提供することができる。
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 外部コンピュータ

Claims (6)

  1. 仮想マシンの動作環境を提供する仮想化部を備える通信処理装置であって、
    前記仮想化部は処理部を備え、前記仮想マシンは仮想NICを備え、
    前記処理部は
    記仮想マシン一時停止が検知されたことを受けて、一時停止した前記仮想マシンの前記仮想NICをリンクダウンさせ
    前記仮想マシンの再開が検知されたことを受けて、再開した前記仮想マシンの前記仮想NICをリンクアップさせる、
    信処理装置。
  2. 前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクダウンを行う、請求項1に記載の通信処理装置。
  3. 前記処理部は、
    前記仮想マシンの一時停止が検知されたことを受けて、当該仮想マシンが一時停止してから第1時間だけ待機した後に、当該仮想マシンの前記仮想NICをリンクダウンさせ、
    前記仮想マシンの再開が検知されたことを受けて、当該仮想マシンが再開してから第2時間だけ待機した後に、当該仮想マシンの前記仮想NICをリンクアップさせる、
    求項1又は2に記載の通信処理装置。
  4. 前記処理部は、制御通信を担う前記仮想NICに対して、前記リンクアップを行う、請求項1乃至3のいずれか一項に記載の通信処理装置。
  5. コンピュータを、
    請求項1乃至のいずれか一項に記載の通信処理装置として機能させるためのプログラム。
  6. 仮想マシンが動作する通信処理装置を用いた通信処理方法であって、
    前記仮想マシン一時停止が検知されたことを受けて、一時停止した前記仮想マシンの仮想NICをリンクダウンさせるステップと、
    前記仮想マシンの再開が検知されたことを受けて、再開した前記仮想マシンの前記仮想
    NICをリンクアップさせるステップと、
    含む、通信処理方法。
JP2020061242A 2020-03-30 2020-03-30 通信処理装置、プログラム、及び通信処理方法 Active JP7400587B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020061242A JP7400587B2 (ja) 2020-03-30 2020-03-30 通信処理装置、プログラム、及び通信処理方法
US17/204,048 US20210303329A1 (en) 2020-03-30 2021-03-17 Communication processing device, program and communication processing method
CN202110296945.2A CN113472836A (zh) 2020-03-30 2021-03-19 通信处理装置、存储介质和通信处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020061242A JP7400587B2 (ja) 2020-03-30 2020-03-30 通信処理装置、プログラム、及び通信処理方法

Publications (2)

Publication Number Publication Date
JP2021164004A JP2021164004A (ja) 2021-10-11
JP7400587B2 true JP7400587B2 (ja) 2023-12-19

Family

ID=77854596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020061242A Active JP7400587B2 (ja) 2020-03-30 2020-03-30 通信処理装置、プログラム、及び通信処理方法

Country Status (3)

Country Link
US (1) US20210303329A1 (ja)
JP (1) JP7400587B2 (ja)
CN (1) CN113472836A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106587A (ja) 2012-11-26 2014-06-09 Hitachi Ltd I/oデバイスの制御方法及び仮想計算機システム
JP2014526083A (ja) 2011-06-29 2014-10-02 マイクロソフト コーポレーション ネットワーク利用の制御
JP2014225302A (ja) 2014-09-08 2014-12-04 富士通株式会社 ウイルス検出プログラム、ウイルス検出方法、及びコンピュータ
JP2015153298A (ja) 2014-02-18 2015-08-24 日本電気株式会社 復元装置、復元システム、復元方法、および、プログラム
JP2015197874A (ja) 2014-04-03 2015-11-09 日本電信電話株式会社 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195774B2 (en) * 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US9329947B2 (en) * 2010-06-22 2016-05-03 Red Hat Israel, Ltd. Resuming a paused virtual machine without restarting the virtual machine
JP5681465B2 (ja) * 2010-12-02 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理システム、情報処理装置、準備方法、プログラムおよび記録媒体
JP5761524B2 (ja) * 2012-01-13 2015-08-12 株式会社リコー 定着装置及び画像形成装置
US9971616B2 (en) * 2013-02-26 2018-05-15 Red Hat Israel, Ltd. Virtual machine suspension

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014526083A (ja) 2011-06-29 2014-10-02 マイクロソフト コーポレーション ネットワーク利用の制御
JP2014106587A (ja) 2012-11-26 2014-06-09 Hitachi Ltd I/oデバイスの制御方法及び仮想計算機システム
JP2015153298A (ja) 2014-02-18 2015-08-24 日本電気株式会社 復元装置、復元システム、復元方法、および、プログラム
JP2015197874A (ja) 2014-04-03 2015-11-09 日本電信電話株式会社 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム
JP2014225302A (ja) 2014-09-08 2014-12-04 富士通株式会社 ウイルス検出プログラム、ウイルス検出方法、及びコンピュータ

Also Published As

Publication number Publication date
CN113472836A (zh) 2021-10-01
JP2021164004A (ja) 2021-10-11
US20210303329A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
US10728179B2 (en) Distributed virtual switch configuration and state management
US9430266B2 (en) Activating a subphysical driver on failure of hypervisor for operating an I/O device shared by hypervisor and guest OS and virtual computer system
JP5222651B2 (ja) 仮想計算機システムおよび仮想計算機システムの制御方法
US9489230B1 (en) Handling of virtual machine migration while performing clustering operations
WO2018054081A1 (zh) 故障处理方法、虚拟架构管理系统和业务管理系统
US8819228B2 (en) Detecting the health of an operating system in virtualized and non-virtualized environments
US20070162631A1 (en) Method for selectable software-hardware internet SCSI
US10097462B2 (en) Throughput resilience during link failover
US20150205280A1 (en) Process controller and updating method thereof
US20170155717A1 (en) Direct memory access for endpoint devices
KR20100136527A (ko) 데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법
TWI584131B (zh) 伺服器備份方法及其備份系統
US8107360B2 (en) Dynamic addition of redundant network in distributed system communications
US20190379576A1 (en) Providing dynamic serviceability for software-defined data centers
WO2008092765A1 (en) Network interface card transmission control protocol acceleration offload failure detection and recovery mechanism
US9100443B2 (en) Communication protocol for virtual input/output server (VIOS) cluster communication
JP2014138407A (ja) ノード装置、通信システム及び仮想スイッチの切替方法
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
US10783093B2 (en) Driver-to-driver communication
JP7400587B2 (ja) 通信処理装置、プログラム、及び通信処理方法
WO2021047619A1 (zh) 虚拟网卡链路状态设置方法、装置及存储介质
US11349702B2 (en) Communication apparatus, system, rollback method, and non-transitory medium
WO2012132101A1 (ja) 情報処理装置、および障害対応プログラム
JP7120199B2 (ja) 通信処理装置、通信処理方法、およびプログラム
CN115827148A (zh) 一种资源管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231120

R150 Certificate of patent or registration of utility model

Ref document number: 7400587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150