JP7251182B2 - 制御装置、処理装置の制御方法及びプログラム - Google Patents

制御装置、処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP7251182B2
JP7251182B2 JP2019019347A JP2019019347A JP7251182B2 JP 7251182 B2 JP7251182 B2 JP 7251182B2 JP 2019019347 A JP2019019347 A JP 2019019347A JP 2019019347 A JP2019019347 A JP 2019019347A JP 7251182 B2 JP7251182 B2 JP 7251182B2
Authority
JP
Japan
Prior art keywords
queue
processing
control
verification
processing device
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
JP2019019347A
Other languages
English (en)
Other versions
JP2020126508A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2019019347A priority Critical patent/JP7251182B2/ja
Publication of JP2020126508A publication Critical patent/JP2020126508A/ja
Application granted granted Critical
Publication of JP7251182B2 publication Critical patent/JP7251182B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、制御装置、処理装置の制御方法及びプログラムに関する。
特許文献1、2に、複数の処理装置に分散処理や並列処理を行わせるシステムが開示されている。この種のシステムでは、複数の処理装置を集中的に制御する制御装置が用いられる。この制御装置は、多数の処理装置を同時に制御する際に、通常は個々の処理装置に対する制御を並列処理する。
特許文献1の制御装置(情報処理装置10)は、複数の装置のうち、処理に要する時間が所定値より長い装置への処理要求が、他の装置よりも先に送信されるように、処理要求の送信順を決定する。そして、この制御装置(情報処理装置10)は、前記決定した送信順で、複数の装置それぞれに対して処理要求を送信し、複数の装置に並列に処理を実行させる。
特許文献2の制御装置(管理ノード)は、各処理ノードに依頼したテスト処理の処理結果に基づいて分散処理の対象とする処理ノードを選択する。
さらに、特許文献3には、システムの信頼性を向上させることができるという情報処理装置(待機系サーバ)が開示されている。この情報処理装置は、運用系サーバに障害が発生し処理が待機系サーバに移行された場合に、優先度にしたがいコネクション毎に送信間隔を空けてダミーパケットを送信するダミーパケット送信制御部を備える。さらに、この情報処理装置は、パケットの応答を基に各コネクションが使用可能か否かを判定するダミーパケット受信制御部を備える。さらに、この情報処理装置は、通信が使用可能と判定されたコネクションを用いて、運用系サーバが行っていたクライアントとの通信を継続する通信処理部を備える。
特開2014-199534号公報 特開2006-344068号公報 特開2018-28787号公報
以下の分析は、本発明によって与えられたものである。上記した制御装置が、複数の処理装置を制御する構成においては、並列数に上限を設けて運用がなされている。その理由は、制御装置の処理能力をすべて使用すると他の処理ができなくなるからである。
このような制御装置では、同時に制御する処理装置の数が前記所定の並列数を超えると、先行の処理装置の制御が完了するまで、後続の処理装置の制御は待たされることになる。このとき、制御装置から、先行の処理装置に接続できない状態では、後続の処理装置の制御開始がさらに遅延するという問題点がある。この問題は、コネクション型のプロトコルを使用する制御で顕著であり、コネクション確立待ちや応答のタイムアウト待ちが処理遅延時間の大部分を占める。
また、制御装置が先行の処理装置に接続できない状態は、制御装置と処理装置間のネットワーク障害や、処理装置の故障など、予期せぬ要因で発生する。この場合、障害が復旧するまでの時間を予測することは困難であり、接続復旧の見込みのない処理装置に対する処理(待機を含む)は、時間と処理リソースの無駄な消費である。このような非効率な動作は、利用者が制御装置への設定を行った際に、処理が全く進んでいないように見えるなど、利用者から制御装置の動作正常性を疑われるという問題にも繋がる。
本発明は、複数の処理装置を同時に制御する制御装置の制御性能の向上に貢献できる制御装置、処理装置の制御方法及びプログラムを提供することを目的とする。
第1の視点によれば、異なる優先度が設定されたキューを用いて複数の処理装置から制御要求を処理する制御処理部と、前記複数の処理装置に対し、検証パケットを送信する検証処理部と、前記検証パケットに対する応答に要した時間が所定の閾値以下である処理装置の制御要求を優先度の高い第1のキューに格納し、その他の処理装置の制御要求を前記第1のキューよりも優先度の低い第2のキューに格納するキュー管理部と、を備える制御装置が提供される。
第2の視点によれば、異なる優先度が設定されたキューを用いて複数の処理装置から制御要求を処理する制御処理部を備えた制御装置が、前記複数の処理装置に対し、検証パケットを送信し、前記検証パケットに対する応答に要した時間が所定の閾値以下である処理装置の制御要求を優先度の高い第1のキューに格納し、前記検証パケットに対する応答に要した時間が所定の閾値を超えている処理装置の制御要求を、前記第1のキューよりも優先度の低い第2のキューに格納する処理装置の制御方法が提供される。本方法は、複数の処理装置を制御する制御装置という、特定の機械に結びつけられている。
第3の視点によれば、異なる優先度が設定されたキューを用いて複数の処理装置から制御要求を処理する制御処理部を備えた制御装置に搭載されたコンピュータに、前記複数の処理装置に対し、検証パケットを送信する処理と、前記検証パケットに対する応答に要した時間が所定の閾値以下である処理装置の制御要求を優先度の高い第1のキューに格納する処理と、前記検証パケットに対する応答に要した時間が所定の閾値を超えている処理装置の制御要求を、前記第1のキューよりも優先度の低い第2のキューに格納する処理とを、実行させるプログラムが提供される。このプログラムは、コンピュータ装置に入力装置又は外部から通信インタフェースを介して入力され、記憶装置に記憶されて、プロセッサを所定のステップないし処理に従って駆動させる。また、このプログラムは、必要に応じ中間状態を含めその処理結果を段階毎に表示装置を介して表示することができ、あるいは通信インタフェースを介して、外部と交信することができる。そのためのコンピュータ装置は、一例として、典型的には互いにバスによって接続可能なプロセッサ、記憶装置、入力装置、通信インタフェース、及び必要に応じ表示装置を備える。
本発明によれば、複数の処理装置を同時に制御する制御装置の制御性能を飛躍的に向上させることが可能となる。
本発明の一実施形態の構成を示す図である。 本発明の一実施形態の動作を説明するための図である。 本発明の一実施形態の動作を説明するための図である。 本発明の一実施形態の動作を説明するための図である。 本発明の第1の実施形態の制御装置の構成を示す図である。 本発明の第1の実施形態の制御装置の検証データ記憶部に保持される接続検証結果の一例を示す図である。 本発明の第1の実施形態の制御装置の動作(接続検証)を表した流れ図である。 本発明の第1の実施形態の制御装置の動作(処理装置制御)を表した流れ図である。 本発明の第3の実施形態の制御装置の検証データ記憶部に保持される接続検証結果の一例を示す図である。 本発明の制御装置を構成するコンピュータの構成を示す図である。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インタフェース、及び必要に応じ表示装置を備える。このコンピュータ装置は、通信インタフェースを介して装置内又は外部の機器(コンピュータを含む)と、有線、無線を問わず、交信可能に構成される。また、図中の各ブロックの入出力の接続点には、ポート乃至インタフェースがあるが図示省略する。また、以下の説明において、「A及び/又はB」は、A及びBの少なくともいずれかという意味で用いる。
本発明は、その一実施形態において、図1に示すように、制御処理部13と、検証処理部12と、キュー管理部11と、を備える制御装置1にて実現できる。より具体的には、制御処理部13は、異なる優先度が設定されたキュー14B、14Cを用いて複数の処理装置2A、2Bの制御要求を処理する。ここで、キュー14Bはキュー14Cよりも高い優先度が設定されているものとする。
検証処理部12は、図2に示すように、前記複数の処理装置2A、2Bに対し、検証パケットを送信する。検証パケットの送信タイミングは、図2のように同時でなくてもよく、検証パケットに対する応答に要した時間を計測できれば良い。
ここでは、図3に示すように、制御装置1は、処理装置2Aから、前記検証パケットに対する応答パケットを受信したものとする。一方、制御装置1は、処理装置2Bから、前記検証パケットに対する応答パケットを受信できなかったものとする。この応答パケットの受信障害の原因としては、処理装置2Bが応答パケットを送信しなかった場合、処理装置2Bが応答パケットを送信したが制御装置1に届かなかった場合、処理装置2Bの応答が遅かった場合などが考えられる。
この場合、キュー管理部11は、図4に示すように、優先度の高い第1のキュー14Bに、前記検証パケットに対する応答に要した時間が所定の閾値以下である処理装置2Aの制御要求を格納する。一方、キュー管理部11は、前記第1のキューよりも優先度の低い第2のキュー14Cに、その他の処理装置2Bの制御要求を格納する。
制御処理部13は、キュー14Cよりも、優先度の高いキュー14Bから制御要求を取り出して処理する。これにより、検証パケットに対する応答に要した時間が所定の閾値以下である処理装置2Aの制御要求を優先し、処理装置2Bの制御要求を後回しにして処理する。
結果として、本実施形態によれば、接続不可等の処理装置2A、2Bのコネクション確立待ちや応答のタイムアウト待ちで無駄な時間を消費することなく、接続可の処理装置2A、2Bから順次制御処理を処理することが可能となる。また、上記に伴い、制御装置1は、動作正常性を疑われるような挙動を見せなくなり、利用者もその動作正常性を容易に確認することができるようになる。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図5は、本発明の第1の実施形態の制御装置の構成を示す図である。図5を参照すると、処理要求部110と、検証処理部120と、制御処理部130と、処理キュー140A~140Cと、受信キュー150と、検証データ記憶部160とを備えた制御装置100が示されている。また、図5の下段の処理装置200A~処理装置200Eは、制御装置100の制御対象の処理装置を示している。以下、処理装置200A~処理装置200Eを特に区別しない場合、「処理装置200」と記す。
処理要求部110は、定期的に、処理キュー140Aに対して、管理対象の処理装置200に対する接続検証要求を追加する。また、処理要求部110は、処理装置200への制御処理の実行時に、検証データ記憶部160から該当する処理装置200の接続検証結果を取得する。そして、処理要求部110は、該当する処理装置200の接続検証結果に応じて、処理キュー140Bまたは処理キュー140Cに制御要求を追加する。従って、処理要求部110が、上記したキュー管理部として機能することになる。
検証処理部120は、処理スレッド121を用いて、以下の処理を実施する。
(1)検証パケットの送信
まず、検証処理部120は、処理キュー140Aから接続検証要求を取り出し、接続検証要求に基づき、当該処理装置200へコネクションレス型のプロトコルで検証パケットを送信する。
接続検証にコネクション型のプロトコルを使用しない理由は、特定の処理装置200に接続できない場合に、コネクション確立待ちや応答のタイムアウト待ちの時間を無駄に消費することを回避するためである。これにより、単一の処理スレッド121でも多数の処理装置200への接続検証を処理できるようになる。なお、一般的な処理装置200ではSNMP(Simple Network Management Protocol)によるMIB(Management Information Base)情報取得をサポートしている。この場合、データ量が少なく不変な任意のMIBオブジェクト取得を検証パケットに用いることもできる。
(2)検証パケットに対する応答の監視
検証処理部120は、検証パケットの送信後、検証用のタイマを起動し、受信キューへの応答パケットの格納を監視する。
(3)接続検証結果の記録
所定のタイムアウト期間内に、受信キュー150に応答パケットが格納された場合、検証処理部120は、受信キュー150からの応答パケット取り出し時、検証データ記憶部160に、該当する処理装置200の接続検証結果として「接続可」を格納する。また、検証処理部120は、応答パケットの取り出し後、検証用のタイマを停止する。一方、所定のタイムアウト期間内に、受信キュー150に応答パケットが格納されず、前記検証用のタイマが満了した場合、検証処理部120は、該当する処理装置200の接続検証結果として「接続不可」を格納する。
(4)接続検証結果に基づいた制御要求の移動
また、検証処理部120は、接続検証結果の格納後、前回と今回の接続検証結果が異なるか否かを確認する。ここで、接続検証結果に変化が生じている場合、検証処理部120は、処理キュー140Bに格納されている制御要求又は処理キュー140Cに格納されている制御要求の移動を行う。例えば、接続検証結果が「接続可」であった処理装置200が、「接続不可」となった場合、検証処理部120は、処理キュー140Bに格納されている該当する処理装置200の制御要求を、処理キュー140Cに移動する。また例えば、接続検証結果が「接続不可」であった処理装置200が、「接続可」となった場合、検証処理部120は、処理キュー140Cに格納されている該当する処理装置200の制御要求を、処理キュー140Bに移動するようにしてもよい。ここで「制御要求を移動する」とは、移動元のキューから該当する制御要求を削除し、移動先のキューに該当する制御要求を格納することを意味する。
制御処理部130は、複数の処理スレッド131A、131Bを用いて、以下の処理を並列で処理する。なお、以下の説明において、処理スレッド131A、131Bを特に区別しない場合、「処理スレッド131」と記す。
(1)制御要求の処理
制御処理部130は、高優先の処理キュー140Bまたは低優先の処理キュー140Cから制御要求を取り出し、制御要求に基づき、当該処理装置200を制御する。なお、処理キュー140Cからの制御要求の取り出しは、処理キュー140Bに制御要求が存在しない場合に行われる。また、処理キュー140Cから取り出した制御要求の同時処理数が所定の上限値に達している場合、制御処理部130は、処理キュー140Cからの制御要求の取り出しを抑止する。
(2)接続検証結果に基づいた制御要求の移動
また、制御処理部130は、1つの制御要求を処理したタイミングで接続検証結果の格納後、前回と今回の接続検証結果が異なるか否かを確認する。ここで、接続検証結果に変化が生じている場合、制御処理部130は、検証処理部120と同様に、処理キュー140Bに格納されている制御要求又は処理キュー140Cに格納されている制御要求の移動を行う。例えば、接続検証結果が「接続可」であった処理装置200が、「接続不可」となった場合、制御処理部130は、処理キュー140Bに格納されている該当する処理装置200の制御要求を、処理キュー140Cに移動する。また例えば、接続検証結果が「接続不可」であった処理装置200が、「接続可」となった場合、制御処理部130は、処理キュー140Cに格納されている該当する処理装置200の制御要求を、処理キュー140Bに移動するようにしてもよい。
処理キュー140Aは、接続検証要求の追加と取り出しが可能なキューである。
処理キュー140Bと処理キュー140Cは、制御要求の追加と取り出しが可能なキューである。処理キュー140Bが高優先用、処理キュー140Cが低優先用であり、優先度に従って、制御処理部130は制御要求を取り出す。
受信キュー150は、応答パケットの追加と取り出しが可能なキューである。
検証データ記憶部160は、接続検証結果を蓄積する。図6は、制御装置100の検証データ記憶部160に保持される接続検証結果の一例を示す図である。図6の例では、処理装置毎に、接続検証結果を過去所定回数分、蓄積可能となっている。
処理装置200は、制御装置100からの検証パケットに対する応答パケットの送信や、制御装置100からの制御要求に基づく処理を実施する。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図7は、本発明の第1の実施形態の制御装置の動作(接続検証)を表した流れ図である。制御装置100で管理している処理装置200それぞれに対して、処理要求部110が定期的に接続検証を要求することで、接続検証処理が開始する。ここでは、処理装置200Bに対する接続検証を例に説明する。
処理要求部110は、処理キュー140Aに処理装置200Bの接続検証要求を追加する(ステップS101)。
検証処理部120は、処理キュー140Aの更新を検知すると、処理キュー140Aから接続検証要求を取り出す(ステップS102)。
接続検証要求に基づき、検証処理部120が処理装置200Bへコネクションレス型のプロトコル(例えば、UDPでのSNMP)で検証パケットを送信する(ステップS103)。
次に、検証処理部120は、検証用のタイマを起動し(ステップS104)、検証用のタイマ満了までに、応答パケットを受信したか否かを確認する(ステップS105)。
前記確認の結果、検証用のタイマ満了までに、処理装置200Bからの応答パケットを受信した場合(ステップS105のYES)、検証処理部120は、受信キュー150から応答パケットを取り出す(ステップS106)。次に、検証処理部120は、検証用のタイマを停止する(ステップS107)。さらに、検証処理部120は、検証データ記憶部160に、処理装置200Bの接続検証結果「接続可」を登録する(ステップS108)。
一方、前記確認の結果、検証用のタイマ満了までに、処理装置200Bからの応答パケットを受信できなかった場合(ステップS105のNO)、タイムアウトとなる。この場合、検証処理部120は検証データ記憶部160に、処理装置200Bの接続検証結果「接続不可」を登録する(ステップS109)。
次に、検証処理部120は、検証データ記憶部160を参照して、前回と今回の接続検証結果が異なるか否かを確認する(ステップS110)。前記確認の結果、前回と今回の接続検証結果が異なる場合(ステップS110のYES)、検証処理部120が処理キュー140Bと処理キュー140Cの制御要求の配置を調整する(ステップS111)。
ここで、検証処理部120による制御要求の配置の調整について説明する。前回と今回の接続検証結果が異なる場合としては、「接続可」から「接続不可」に変化した場合と、「接続不可」から「接続可」に変化した場合との2通りがある。例えば、上述の接続検証処理の結果、「接続可」の処理装置200が、「接続不可」となった場合、検証処理部120は、処理キュー140Bの当該処理装置200の制御要求を、処理キュー140Cに移動する。逆に、「接続不可」だった処理装置200が「接続可」となった場合、検証処理部120は、処理キュー140Cの当該処理装置200の制御要求を、処理キュー140Bに移動する。
なお、ステップS110において、前回と今回の接続検証結果が同じであった場合、検証処理部120は、一連の処理を終了する(ステップS110のNO)。
以上の接続検証処理の結果、検証データ記憶部160に保持された検証データを参照することで、処理装置200Bが接続可能な装置であるか否かを判断することが可能となる。
続いて、検証データ記憶部160に保持された検証データを用いた処理装置200の制御について説明する。図8は、本発明の第1の実施形態の制御装置の動作(処理装置制御)を表した流れ図である。図8の処理は、利用者から制御装置100に処理装置200の制御が要求されることで、開始される。なお、以下の説明では、各処理装置200において、図7に示した接続検証処理が少なくとも一回実施されていることを前提とする。接続検証が一度も実施されていない場合、制御装置100は、図7の接続検証の処理を先に行い、接続検証処理が完了するまで待機してから、図8の処理装置の制御を開始することになる。
以下の説明では、処理装置200Dまたは処理装置200Eに対する制御を行うものとして説明する。処理装置200D、処理装置200Eの接続検証の結果が、それぞれ図6に示すとおり、「接続可」、「接続不可」であるものとして説明する。
図8を参照すると、まず、処理要求部110が検証データ記憶部160から制御対象の処理装置200の接続検証結果を参照する(ステップS201)。
処理要求部110は、接続検証結果が接続可であるか否かを確認する(ステップS202)。処理装置200Dの場合、接続検証結果は「接続可」であるので(ステップS202のYES)、ステップS203へ処理を進めることになる。一方、処理装置200Eの場合、接続検証結果は「接続不可」であるので(ステップS202のNO)、ステップS204へ処理を進めることになる。
接続検証結果が「接続可」である場合、処理要求部110は、高優先の処理キュー140Bに処理装置200Dの制御要求を追加する(ステップS203)。
一方、接続検証結果が「接続不可」である場合、処理要求部110は、低優先の処理キュー140Cに処理装置200Eの制御要求を追加する(ステップS204)。
処理キュー140Bまたは処理キュー140Cの更新を検知した制御処理部130は、高優先である処理キュー140Bの制御要求を先に確認する(ステップS205)。
前記確認の結果、処理キュー140Bに制御要求が存在する場合(ステップS206のYES)、制御処理部130は、処理スレッド131Aで処理キュー140Bから処理装置200Dの制御要求を取り出す(ステップS207)。
一方、前記確認の結果、処理キュー140Bに制御要求が存在しない場合(ステップS206のNO)、制御処理部130は、低優先の制御要求の同時処理数の確認を行う。具体的には、制御処理部130は、処理スレッド131Bで低優先の制御要求を処理している処理スレッド131の数が、低優先の制御要求の同時処理数の上限に達しているか否かを確認する(ステップS208)。ここで、低優先の制御要求の同時処理数が上限に達している場合、制御処理部130は処理を終了する(ステップS208のYES)。
ここで、低優先の制御要求の同時処理数に上限を設けている理由について説明する。すべての処理スレッド131が処理キュー140Cから取り出した低優先の制御要求を処理している状態では、処理キュー140Bに高優先の新規制御要求が追加された際に、この高優先の制御要求の処理を開始できなくなるためである。例えば、N個の処理スレッド131を使用できる場合に、処理スレッド131は処理キュー140Bから取り出す高優先の制御要求を同時にN個まで処理できる。このとき、処理キュー140Cから取り出す低優先の制御要求の同時処理数の上限をN/2個とすることで、優先度に反して高優先の制御要求が待たされることを防ぐことができる。もちろん、上記低優先の制御要求の同時処理数(N/2)個は、あくまで一例であり、Nを超えない範囲で、制御装置100の性能や利用者から求められる要求性能に応じて変更することが可能である。
一方、低優先の制御要求の同時処理数が上限に達していない場合(ステップS208のNO)、制御処理部130は、処理スレッド131Bで処理キュー140Cから処理装置200Eの制御要求を取り出す(ステップS209)。
なお、上記ステップS207およびS209では、先行の制御要求で特定の処理装置200の制御処理中に、それと同一の処理装置200に対する制御要求をスキップすることが好ましい。その理由は、複数の処理スレッド131で同一の処理装置200を制御すると、制御内容の競合が発生する場合があるためである。よって、このスキップ処理により、同一の処理装置200に対して同時に一つの制御要求のみを処理することができるようになる。
上記ステップS207およびS209で制御要求を取り出した制御処理部130は、処理スレッド131で、制御要求に基づき、処理装置200に対する制御を実施する(ステップS210)。
なお、制御要求を複数の処理スレッド131で処理している理由は、複数の処理装置200を同時に制御できるようにするためである。処理スレッド131の数量は制御装置100の処理能力などにより調整するものとする。
一般に、処理装置の制御は、接続検証処理のように、処理装置200への制御を非同期とし、単一の処理スレッド131で処理できない。これは、処理装置200に対する複数の制御を順番通りに漏れなく実施する必要があるためである。順序制御や再送制御を個々に実装することは非現実的であり、順序制御や再送制御はコネクション型のプロトコル(例えば、TCPでのSSHやHTTP)に委ねることが最適であるためである。また、一般的な処理装置200のサポートしている制御用のプロトコルが、コネクション型に限定されることも理由の一つである(一般的に、SNMPなどのコネクションレス型のプロトコルは制御用ではなく参照用のみでサポートしている)。なお、TCPは、Transmission Control Protocol、SSHは、Secure Shell、HTTPは、Hypertext Transfer Protocolの略である。
例として、処理キュー140Bに処理装置200Dの制御要求、処理キュー140Cに処理装置200Eの制御要求が追加されている状態では、高優先である処理キュー140Bに追加された処理装置200Dの制御要求が優先して処理される。さらに、処理キュー140Bに多数の処理装置200の制御要求が追加されている状態では、低優先の処理キュー140Cに追加されている処理装置200Eの制御要求は、後回しにされることとなる。
本実施形態では、処理装置200に対する制御を実施する都度、制御処理部130が、接続検証結果の検証を行い、その結果に基づいた制御要求の再配置の判定を行う。
具体的には、制御処理部130は、接続検証結果(高優先の制御要求を処理している場合は接続可、低優先の制御要求を処理している場合は接続不可)と、実際の処理装置200への制御での接続結果が異なるか否かを確認する(ステップS211)。
接続検証結果と実際の接続結果が異なるケースとしては次のようなものが考えられる。
(1)高優先の制御処理時に、処理装置200へ接続できなくなるケース
この場合、接続不可が継続する状況では、次回の制御要求を高優先で処理するのは、無駄な時間の消費となるため、制御要求の再配置を行う必要がある。
(2)低優先の制御処理時に、処理装置200へ接続できるようになっているケース
この場合も、次回の制御要求を低優先で処理すると、接続可となったにもかかわらず制御要求の処理開始が遅れるため、この場合も制御要求の再配置を行う必要がある。
具体的には、制御処理部130は、前記接続検証結果と、実際の処理装置200への制御での接続結果が異なる場合、検証データ記憶部160に、接続検証結果として実際の接続結果を格納する(ステップS212)。この処理により、次回以降に処理要求部110が実際の接続結果に基づいて、処理キュー140Bまたは処理キュー140Cに制御要求を追加することになる。
そして、制御処理部130は、処理キュー140Bと処理キュー140Cの制御要求の配置を調整する(ステップS213)。例えば、処理要求部110が「接続可」の処理装置200の制御要求を処理キュー140Bに追加し、制御処理部130が同一の処理装置200の先行する制御要求を処理した段階で、該当処理装置200へ接続できなくなっていると、待ち状態が生じることになる。これを避けるため、制御処理部130は、処理キュー140Bの当該処理装置200の制御要求を、処理キュー140Cに移動する。逆に、接続不可だった処理装置200が接続できるようになった場合は、制御処理部130は、処理キュー140Cの当該処理装置200の制御要求を、処理キュー140Bに移動する。
なお、ステップS211の判定の結果、記接続検証結果と、実際の処理装置200への制御での接続結果が同一であった場合、制御処理部130は、一連の処理を終了する(ステップS211のNO)。
なお、上記ステップS213の処理は、図7で説明したステップS111の制御要求の配置の調整と同一の処理である。これにより、検証結果が変更されたことに連動して、処理キュー140Bまたは処理キュー140Cに追加された制御要求を正しい優先度で処理させることが可能となる。
これらの処理により、接続不可の処理装置200のコネクション確立待ちや応答のタイムアウト待ちで無駄な時間を消費することなく、接続可の処理装置200から順次制御処理が進捗する。これにより、利用者も制御装置100の動作正常性を確認できるようになる。
以上説明したように、本実施形態の制御装置100によれば、その制御性能の向上のほか、利用者のシステム運用負荷を軽減する効果がある。その理由は、利用者が制御装置100へ設定を実施した際に、接続可である処理装置200では優先的に制御が完了し、即時にサービスを開始可能となる構成を採用したことにある。また、本実施形態によれば、処理装置200の制御完了の進捗状況により、制御装置100の動作正常性を確認できる構成を採用しているため、この点でも利用者のシステム運用負荷を軽減するものとなっている。
[第2の実施形態]
続いて、本発明の第2の実施形態について図面を参照して説明する。第2の実施形態は、第1の実施形態と同様の構成にて実現できるので、以下、両者を対比しながら、その相違点を中心に説明する。
第1の実施形態では、接続不可の処理装置200でも接続状況が改善することを期待し、低優先の処理キュー140Cに制御要求を追加している。一方、第2の実施形態では、接続不可の処理装置200に対しては、処理キュー140Cに制御要求を追加せずに廃棄する。これにより、第2の実施形態では、接続不可の処理装置200での制御を待つ必要がなくなる。
この第2の実施形態では、利用者が制御装置100への設定を先に投入しており、処理装置200を後から順番に接続するなど、接続不可となる要因が判明している状況において、無駄な制御処理を実施しない方法として有用である。
[第3の実施形態]
続いて、本発明の第3の実施形態について図面を参照して説明する。第3の実施形態は、第2の実施形態と同様の構成にて実現できるので、以下、両者を対比しながら、その相違点を中心に説明する。
上記した第2の実施形態では、接続検証処理において、処理装置200から送信された応答パケットが、検証用のタイマ満了後に到達した場合については一律に、破棄するものとしていた。第3の実施形態では、検証用のタイマ満了後に到達した場合であっても、その遅延量が少ない場合には、処理キューCに登録する点で変更を加えている。
より具体的には、図9に示すように、検証パケットの送信時刻と応答パケットの受信時刻(受信キュー150から応答パケットを取り出した時刻)の時刻差分を検証データ記憶部160に格納しておく。そして、この時刻差分を、制御要求をキューに格納するか否かの判定に利用する。
例えば、図9の処理装置200Eの時刻差分XX秒が、所定の許容範囲内であった場合、第3の実施形態の処理要求部110は、低優先の処理キュー140Cに、処理装置200Eの制御要求を追加する。これにより、一部の処理装置200、例えば、処理装置200Eが物理的に遠距離に配置されていて、遅延が発生するような場合であっても、制御の対象に加えることが可能となる。一方、図9の処理装置200Fの時刻差分YY秒が、所定の許容範囲を超えている場合、第2の実施形態と同様に、処理装置200Fの制御要求を破棄する。これにより、処理装置200Fのコネクション確立待ちや応答のタイムアウト待ちで無駄な時間を消費することを回避することが可能となる。
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示した装置構成、各要素の構成、データの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
また、上記した第1~第3の実施形態に示した手順は、制御装置1、100として機能するコンピュータ(図10の9000)に、制御装置1、100としての機能を実現させるプログラムにより実現可能である。このようなコンピュータは、図10のCPU(Central Processing Unit)9010、通信インタフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。すなわち、図10のCPU9010にて、検証処理プログラムや処理要求(キュー管理)プログラムを実行し、その補助記憶装置9040等に保持された各計算パラメーターの更新処理を実施させればよい。
即ち、上記した第1~第3の実施形態に示した制御装置1、100の各部(処理手段、機能)は、これらの装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による制御装置参照)
[第2の形態]
上記した制御装置のキュー管理部は、第3のキューに、前記検証処理部に前記検証パケットの送信を要求する検証要求を格納し、
前記検証処理部は、前記第3のキューから前記検証要求を取り出して、前記検証パケットの送信を開始する構成を採ることができる。
[第3の形態]
上記した制御装置の前記検証処理部は、前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの変化を記録し、
前記キュー管理部は、前記検証データを参照して、前記処理装置の前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの状態に変更が生じたときに、前記第1のキューから前記第2のキューへの前記制御要求の移動、又は、前記第2のキューから前記第1のキューへの前記制御要求の移動を行う構成を採ることもできる。
[第4の形態]
上記した制御装置において、前記制御処理部における、前記第2のキューから取り出した制御要求の処理の同時処理数に上限が設けられていることが好ましい。
[第5の形態]
上記した制御装置の前記キュー管理部は、前記制御要求の処理の結果に応じて、前記第1のキューから前記第2のキューへの前記制御要求の移動、又は、前記第2のキューから前記第1のキューへの前記制御要求の移動を行う構成を採ることもできる。
[第6の形態]
上記した制御装置の前記キュー管理部は、前記検証パケットに対する応答がない処理装置の制御要求の、前記第2のキューへの登録を抑止する構成を採ることもできる。
[第7の形態]
上記した制御装置の前記キュー管理部は、前記処理装置の前記検証パケットに対する応答に要した時間が前記所定の閾値を超えていても、所定の範囲内である場合、前記第2のキューに前記処理装置の制御要求を格納する構成を採ることもできる。
[第8の形態]
上記した制御装置の前記検証処理部は、コネクションレス型のプロトコルを用いて、前記処理装置に対し、前記検証パケットを送信する構成を採ることができる。
[第9の形態]
(上記第2の視点による処理装置の制御方法参照)
[第10の形態]
(上記第3の視点によるプログラム参照)
なお、上記第9~第10の形態は、第1の形態と同様に、第2~第8の形態に展開することが可能である。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1、100 制御装置
11 キュー管理部
12、120 検証処理部
13、130 制御処理部
14B、14C キュー
2A、2B、200、200A~200E 処理装置
110 処理要求部
140A~140C 処理キュー
150 受信キュー
160 検証データ記憶部
121、131、131A、131B 処理スレッド
9000 コンピュータ
9010 CPU
9020 通信インタフェース
9030 メモリ
9040 補助記憶装置

Claims (9)

  1. 複数の処理装置の制御要求に対して異なる優先度が設定されたキューを用いて前記複数の処理装置の制御要求を処理する制御処理部と、
    前記複数の処理装置に対し、検証パケットを送信する検証処理部と、
    前記検証パケットに対する応答に要した時間が所定の閾値以下である処理装置の制御要求を優先度の高い第1のキューに格納し、その他の処理装置の制御要求を前記第1のキューよりも優先度の低い第2のキューに格納するキュー管理部と、
    を備え
    前記検証処理部は、前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの変化を検証データとして記録し、
    前記キュー管理部は、前記検証データを参照して、前記処理装置の前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの状態に変更が生じたときに、前記第1のキューから前記第2のキューへの前記制御要求の移動、又は、前記第2のキューから前記第1のキューへの前記制御要求の移動を行う、
    制御装置。
  2. 前記キュー管理部は、第3のキューに、前記検証処理部に前記検証パケットの送信を要求する検証要求を格納し、
    前記検証処理部は、前記第3のキューから前記検証要求を取り出して、前記検証パケットの送信を開始する請求項1の制御装置。
  3. 前記制御処理部における、前記第2のキューから取り出した制御要求の処理の同時処理数に上限が設けられている請求項1又は2の制御装置。
  4. 前記キュー管理部は、前記制御要求の処理の結果に応じて、前記第1のキューから前記第2のキューへの前記制御要求の移動、又は、前記第2のキューから前記第1のキューへの前記制御要求の移動を行う、
    請求項1からいずれか一の制御装置。
  5. 前記キュー管理部は、前記検証パケットに対する応答がない処理装置の制御要求の、前記第2のキューへの登録を抑止する請求項1からいずれか一の制御装置。
  6. 前記キュー管理部は、前記処理装置の前記検証パケットに対する応答に要した時間が前記所定の閾値を超えていても、所定の範囲内である場合、前記第2のキューに前記処理装置の制御要求を格納する請求項1からいずれか一の制御装置。
  7. 前記検証処理部は、コネクションレス型のプロトコルを用いて、前記処理装置に対し、前記検証パケットを送信する請求項1からいずれか一の制御装置。
  8. 複数の処理装置の制御要求に対して異なる優先度が設定されたキューを用いて前記複数の処理装置の制御要求を処理する制御処理部を備えた制御装置が、
    前記複数の処理装置に対し、検証パケットを送信し、
    前記検証パケットに対する応答に要した時間が所定の閾値以下である処理装置の制御要求を優先度の高い第1のキューに格納し、
    前記検証パケットに対する応答に要した時間が所定の閾値を超えている処理装置の制御要求を、前記第1のキューよりも優先度の低い第2のキューに格納し、
    前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの変化を検証データとして記録し、
    前記検証データを参照して、前記処理装置の前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの状態に変更が生じたときに、前記第1のキューから前記第2のキューへの前記制御要求の移動、又は、前記第2のキューから前記第1のキューへの前記制御要求の移動を行う、
    処理装置の制御方法。
  9. 複数の処理装置の制御要求に対して異なる優先度が設定されたキューを用いて前記複数の処理装置の制御要求を処理する制御処理部を備えた制御装置に搭載されたコンピュータに、
    前記複数の処理装置に対し、検証パケットを送信する処理と、
    前記検証パケットに対する応答に要した時間が所定の閾値以下である処理装置の制御要求を優先度の高い第1のキューに格納する処理と、
    前記検証パケットに対する応答に要した時間が所定の閾値を超えている処理装置の制御要求を、前記第1のキューよりも優先度の低い第2のキューに格納する処理と、
    前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの変化を検証データとして記録する処理と、
    前記検証データを参照して、前記処理装置の前記検証パケットに対する応答に要した時間が前記所定の閾値以下であるか否かの状態に変更が生じたときに、前記第1のキューから前記第2のキューへの前記制御要求の移動、又は、前記第2のキューから前記第1のキューへの前記制御要求の移動を行う処理と、
    を実行させるプログラム。
JP2019019347A 2019-02-06 2019-02-06 制御装置、処理装置の制御方法及びプログラム Active JP7251182B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019019347A JP7251182B2 (ja) 2019-02-06 2019-02-06 制御装置、処理装置の制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019019347A JP7251182B2 (ja) 2019-02-06 2019-02-06 制御装置、処理装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020126508A JP2020126508A (ja) 2020-08-20
JP7251182B2 true JP7251182B2 (ja) 2023-04-04

Family

ID=72084062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019019347A Active JP7251182B2 (ja) 2019-02-06 2019-02-06 制御装置、処理装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7251182B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006340081A (ja) 2005-06-02 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト通信フロー制御方法および装置
JP2008042757A (ja) 2006-08-09 2008-02-21 Ntt Docomo Inc 無線システム、無線通信装置及び通信方法
US20150236821A1 (en) 2012-12-27 2015-08-20 Microsoft Technology Licensing, Llc Message service downtime
JP2017090961A (ja) 2015-11-02 2017-05-25 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
US20170317944A1 (en) 2016-05-02 2017-11-02 Rhidian John System and method for latency-based queuing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006340081A (ja) 2005-06-02 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト通信フロー制御方法および装置
JP2008042757A (ja) 2006-08-09 2008-02-21 Ntt Docomo Inc 無線システム、無線通信装置及び通信方法
US20150236821A1 (en) 2012-12-27 2015-08-20 Microsoft Technology Licensing, Llc Message service downtime
JP2017090961A (ja) 2015-11-02 2017-05-25 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
US20170317944A1 (en) 2016-05-02 2017-11-02 Rhidian John System and method for latency-based queuing

Also Published As

Publication number Publication date
JP2020126508A (ja) 2020-08-20

Similar Documents

Publication Publication Date Title
US9537786B2 (en) Method, device, and system for information processing based on distributed buses
JP4747307B2 (ja) ネットワーク処理制御装置,プログラムおよび方法
JP6772007B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JPWO2009096029A1 (ja) パケット処理装置およびパケット処理プログラム
US20130145025A1 (en) Programmable controller
JP5477112B2 (ja) ネットワークシステムの試験方法
JP2007200055A (ja) iSCSI通信制御方法とそれを用いた記憶システム
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
JP7251182B2 (ja) 制御装置、処理装置の制御方法及びプログラム
US9558149B2 (en) Dual system
JP5408620B2 (ja) データ分散管理システム及びデータ分散管理方法
WO2014010189A1 (ja) プロキシ装置、通信システム、プログラム
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP2016042338A (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
US11360727B2 (en) Non-transitory computer-readable medium, terminal management apparatus and terminal management system configured to transmit a received instruction to a relay apparatus without being divided
JP4479564B2 (ja) ネットワークシステム初期化時のチャネル制御方法、プログラム、およびコンピュータシステム
JP6757653B2 (ja) 通信システム
US10263795B2 (en) System and method for reducing the energy consumption of an interconnection device
US20180034681A1 (en) Transmission control device, transmission control method, and transmission control program
WO2018150481A1 (ja) 分散処理システムのデータ制御方法及び分散処理システム
JP7381146B1 (ja) 管理システム、アダプタ装置、管理方法及びプログラム
JP2004260562A (ja) パケット送受信方法、及び装置
JP5476415B2 (ja) ネットワーク障害監視装置およびネットワーク障害監視方法
JP2008009852A (ja) 負荷分散制御システム、方法、およびサーバ装置
JP5652891B2 (ja) リモートデスクトップシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221122

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: 20230221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230306

R151 Written notification of patent or utility model registration

Ref document number: 7251182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151