(57)【要約】【課題】低コストで実現され、同じレベルにある系間通信においてコマンド実行数に偏りの発生しにくい通信制御装置及び通信制御方法を提供する。【解決手段】二重化されたモジュール間の通信を行う通信制御装置において、互いにＲＳ２３２Ｃを介して接続されてコマンドの送受信を行う２つの制御部、を具備し、前記２つの制御部の夫々は、コマンド送信時に優先順位を示す情報を付与してコマンドを送信し、コマンド衝突が発生した際に、受信したコマンドの優先順位に基いて、受信したコマンドを実行するか否かを決定する。【選択図】図１
2007265169.tif 000002
【特許請求の範囲】
【請求項１】
二重化されたモジュール間の通信を行う通信制御装置であって、
互いに１系統の通信路を介して接続されてコマンドの送受信を行う２つの制御部、
を具備し、
前記２つの制御部の夫々は、
コマンド送信時に優先順位を示す情報を付与してコマンドを送信し、
コマンド衝突が発生した際に、受信したコマンドの優先順位に基いて、受信したコマンドを実行するか否かを決定する
通信制御装置。
【請求項２】
請求項１に記載された通信制御装置であって、
前記各制御部は、記憶部を有し、
前記各制御部は、
コマンド衝突の発生回数と、コマンド衝突の際にコマンドを実行した実行回数と、前記記憶部に格納し、
前記発生回数と前記実行回数とに基いて、新たに送信するコマンドに付与する優先順位を決定する
通信制御装置。
【請求項３】
互いに１系統の通信路を介して接続されてコマンドの送受信を行う２つの制御部を具備し、二重化されたモジュール間の通信を行う通信制御装置における通信制御方法であって、
前記２つの制御部の少なくとも１つが、優先順位を示す情報を付与したコマンドを生成して前記他の制御部へ送信するステップと、
前記１つの制御部が、コマンド衝突が発生しているか否かを判断するステップと、
コマンド衝突が発生していると判断した場合に、受信したコマンドの優先順位に基いて、受信したコマンドを実行するか否かを決定するステップと、
を具備する
通信制御方法。
【請求項４】
請求項３に記載された通信制御方法であって、
更に、
コマンド衝突が発生した回数と、コマンド衝突の際にコマンドを実行した実行回数と、をカウントするステップと、
前記発生回数と前記実行回数とに基いて、新たに送信するコマンドに付与する優先順位を決定するステップと、
を具備する
通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置及び通信制御方法に関する。特に、二重化されたモジュール間の通信を行う通信制御装置及び通信制御方法に関する。
【背景技術】
【０００２】
二重化されたモジュール間において通信を行う方法としては、Ｅｔｈｅｒｎｅｔ（登録商標）や二系統のＦｉｂｒｅ  Ｃｈａｎｎｅｌ等の方式が知られている。これらの方式では、専用のドライバが必要なことから、ファームウェアがアセンブラや独自ＯＳであった場合には容易に実装することができなかった。また、低コストの要求される小規模なシステムに適用する場合には、コスト面から不利であった。
【０００３】
使い易く安価な通信方法としては、ＲＳ２３２Ｃを用いる方式が知られている。しかしながら、同じレベルにある系間通信に１系統の通信路を用いた場合、夫々の系から同時にコマンドが送信されてコマンド衝突が発生する場合がある。このような場合には、各系において固定の待ち合わせ時間を設定し、待ち合わせ時間が経過した後にコマンドを再送することでコマンド衝突が回避される。この時、各系において設定される待ち合わせ時間によって、２つの系の間で実行されるコマンド数に偏りが生じる場合があった。
【０００４】
よって、２系統の通信路を使用することが考えられる。このようなものとしては、特許文献１に記載された二重化計算機システム、や特許文献２に記載された監視制御システムの子局、が挙げられる。しかしながら、通信路を２系統用いた場合は、当然ながら１系統の場合よりもコスト面で不利となる。
【０００５】
即ち、低コストで実現され、同じレベルにある系間通信においてコマンド実行数に偏りの発生しにくい通信制御装置、及び通信制御方法の提供が望まれる。
【０００６】
上記と関連して、特許文献３、４には、ＲＳ２３２Ｃを用いた技術が記載されている。特許文献３には、定期券発行システムにおいて、外部インターフェースが、ＲＳ２３２Ｃの規格に対応し、通信回線を介して他の定期券発行機などの外部機器とデータの送受信を行うことが記載されている。また、特許文献４には、ＣＰＵと周辺ＬＳＩが１系統のＲＳ２３２Ｃで通信を行うことが記載されている。
【０００７】
また、系間通信においてコマンドの送受信を行う技術として、特許文献５には、シリアルインターフェースで接続されたマスタとスレーブ間の伝送速度を設定する方法に関する技術が記載されている。特許文献２には、スレーブが所定のコマンドを、そのコマンドに対する応答メッセージをマスタから受信するまで、伝送速度を変更しながらシリアルインターフェースを介してマスタに送信し、マスタは、その所定のコマンドをシリアルインターフェースから正しく受信できた場合には、スレーブに応答メッセージを送信し、スレーブは、応答メッセージを受信したとき、その応答メッセージを受信する直前に送信したその所定のコマンドの伝送速度を、シリアルインターフェースにおける伝送速度とすることが記載されている。
【０００８】
また、特許文献６には、複数の中央処理装置と端末装置がノードプロセッサを介して一つの伝送バスで結合され、各ノードプロセッサがコンテンション方式でメッセージを送信するネットワークシステムのバス優先制御方式において、ノードプロセッサ内に他ノードプロセッサとの衝突を検出し、その送信メッセージが何回衝突したかをカウントする手段と、その送信メッセージの優先順位とその衝突回数により異なる予め定められた最長・最短再送待ち時間を決める手段と、その最長・最短再送待ち時間内の適当な再送待ち時間を乱数により決定する待ち時間決定手段とを具備し、その衝突を検出するとその待ち時間決定手段による時間だけ待った後、そのメッセージの再送を行うことが記載されている。
【０００９】
また、特許文献７は、第１のプロセッサ装置に動作電力を供給する第１の電源装置と、第２のプロセッサ装置に動作電力を供給する第２の電源装置と、第１、第２の各プロセッサ装置にそれぞれ接続される二重化構成の第１、第２の各プロセッサ装置に夫々接続される二重化構成の第１、第２のシステムバスと、第１のシステムバスに接続されるとともに、第１の電源装置から動作電力が供給される２重化構成の一方を構成する第１の入力装置と、第２のシステムバスに接続されるとともに、第２の電源装置から動作電力が供給される二重化構成の他方を構成する第２の入出力装置と、第１又は第２のシステムバスのいずれかに接続されるとともに、第１、第２の電源装置の両方から動作電力が供給されて動作できるようにした共通の入出力装置とで構成される、２重化プロセッサ装置、を開示している。
【００１０】
また、上記と関連して、特許文献８は、自装置が対向装置との通信状態の異常の原因を判断する保守用プロトコルを通常の通信プロトコルとともに備えて対向装置との間で通信を行う通常用通信プロトコルと保守用プロトコルを用いた通信方法において、対向する装置との間で通常の通信プロトコルによる通信を行い、その通常の通信プロトコルによる通信にて異常が発生した時だけ原因を究明する為保守用プロトコルによる通信を行うことを特徴とする通常用通信プロトコルと保守用プロトコルを用いた通信方法、を開示している。
【特許文献１】特開平６−１７５８６９号  公報
【特許文献２】特開平１１−３５３０１８号  公報
【特許文献３】特開２００１−２０９８２９号  公報
【特許文献４】特開平８−３０５７４号  公報
【特許文献５】特開２００３−２０３２６７号  公報
【特許文献６】特開昭５９−９１５２７号  公報
【特許文献７】特開平６−２４２８５９号  公報
【特許文献８】特開平８−２５６１９４号  広報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、低コストで実現され、同じレベルにある系間通信においてコマンド実行数に偏りの発生しにくい通信制御装置及び通信制御方法、を提供することにある。
【課題を解決するための手段】
【００１２】
その課題を解決するための手段が、下記のように表現される。その表現中に現れる技術的事項には、括弧（）つきで、番号、記号等が添記されている。その番号、記号等は、本発明の実施の複数の形態又は複数の実施例のうちの少なくとも１つの実施の形態又は複数の実施例を構成する技術的事項、特に、その実施の形態又は実施例に対応する図面に表現されている技術的事項に付せられている参照番号、参照記号等に一致している。このような参照番号、参照記号は、請求項記載の技術的事項と実施の形態又は実施例の技術的事項との対応・橋渡しを明確にしている。このような対応・橋渡しは、請求項記載の技術的事項が実施の形態又は実施例の技術的事項に限定されて解釈されることを意味しない。
【００１３】
本発明に係る通信制御装置（１）は、二重化されたモジュール間の通信を行う通信制御装置である。互いに１系統の通信路（１０）を介して接続されてコマンドの送受信を行う２つの制御部（２、３）を具備する。２つの制御部（２、３）の夫々は、コマンド送信時に優先順位を示す情報を付与してコマンドを送信する。コマンド衝突が発生した際に、受信したコマンドの優先順位に基いて、受信したコマンドを実行するか否かを決定する。
このようにして、コマンド衝突が発生した際に、コマンドの優先順位に基いてコマンド実行の有無を決定すれば、２つの制御部のうちの一方から送信されたコマンドは確実に実行される。よって、２つの制御部の両方から衝突したコマンドを再送する必要は無い。これにより、待ち合わせに要する時間を短縮することができる。また、コマンドに付与される優先順位は、各制御部で偏りが無くなるように設定できるので、コマンド実行数の偏りを少なくすることができる。
また、１系統の通信路を用いているので安価である。
【００１４】
上記の通信制御装置（１）において、前記各制御部（２、３）は、記憶部（２３、３３）を有する。各制御部（２、３）は、コマンド衝突の発生回数と、コマンド衝突の際にコマンドを実行した実行回数と、記憶部（２３、３３）に格納する。その発生回数とその実行回数とに基いて、新たに送信するコマンドに付与する優先順位を決定する。
コマンド衝突回数とコマンド実行回数との関係から、２つの制御部間でのコマンド実行回数の偏りを把握することができる。この関係に基いて偏りが無くなるように優先順位を決定することができる。２つの制御部間で実行されるコマンド数の偏りを、更に少なくすることができる。
【００１５】
本発明に係る通信制御装置（１）は、二重化されたモジュール間の通信を行う通信制御装置である。互いに通信路（１０）を介して接続されてコマンドの送受信を行う２つの制御部（２、３）、を具備する。２つの制御部（２、３）の夫々は、コマンド衝突が発生した際に、受信したコマンドを、別タスクにて実行する。
受信したコマンドを、別タスクにて実行すれば、各制御部においてコマンドの実行時における論理的な衝突を回避することができる。コマンドを再送するにあたり、待ち合わせ時間を設定する必要が無く、コマンド実行を高速で行うことができる。
【００１６】
本発明に係る通信制御方法は、互いに通信路（１０）を介して接続されてコマンドの送受信を行う２つの制御部（２、３）を具備し、二重化されたモジュール間の通信を行う通信制御装置（１）における通信制御方法である。その通信制御方法は、２つの制御部（２、３）の少なくとも１つ（２）が、優先順位を示す情報を付与したコマンドを生成して他の制御部（３、２）へ送信するステップ（ステップＳ１０）と、１つの制御部（２）が、コマンド衝突が発生しているか否かを判断するステップ（ステップＳ１５）と、コマンド衝突が発生していると判断した場合に、受信したコマンドの優先順位に基いて、受信したコマンドを実行するか否かを決定するステップ（ステップＳ１８）と、を具備する。
【００１７】
上記の通信制御方法において、更に、コマンド衝突が発生した回数と、コマンド衝突の際にコマンドを実行した実行回数と、をカウントするステップ（ステップＳ１５−１、２０−１）と、この発生回数と実行回数とに基いて、新たに送信するコマンドに付与する優先順位を決定するステップ（ステップＳ２４）と、を具備する。
【００１８】
本発明に係る通信制御方法は、互いに１系統の通信路（１０）を介して接続されてコマンドの送受信を行う２つの制御部（２、３）を具備し、二重化されたモジュール間の通信を行う通信制御装置（１）における通信制御方法である。２つの制御部（２、３）のうちの少なくとも一つが、コマンドを他の制御部（３、２）へ送信するステップ（ステップＳ１０）と、一の制御部（２）が、コマンド衝突が発生しているか否かを判断するステップ（ステップＳ１５）と、コマンド衝突が発生していると判断した場合に、受信したコマンドを別タスクで実行するステップ（ステップＳ１６）と、を具備する。
【発明の効果】
【００１９】
本発明に依れば、低コストで実現され、同じレベルにある系間通信においてコマンド実行数に偏りの発生しにくい通信制御装置及び通信制御方法、が提供される。
【発明を実施するための最良の形態】
【００２０】
（第１の実施の形態）
図面を参照して、本発明の第１の実施の形態に係る通信制御装置について説明する。本実施の形態では、ディスクアレイ制御サブシステムのサービスプロセッサ２、３間の通信を行うための通信制御装置を例として説明する。
【００２１】
図３は、本実施の形態に係る通信制御装置１の全体の構成を示す概略図である。通信制御装置１は、２つのサービスプロセッサ（２、３）、２つのディスクアレイコントローラ（１０１、１０２）、共有メモリ１０３、複数のハードディスク（１１１〜１１５）を有している。複数のハードディスク１１１〜１１５は直列に接続されている。接続の端部に位置する２つのハードディスク１１１、１１５は、夫々ディスクアレイコントローラ１０１、１０２に接続されている。２つのディスクアレイコントローラ１０１、１０２は、何れも共有メモリ１０３にアクセス可能となっている。２つのディスクアレイコントローラ１０１、１０２は、夫々、サービスプロセッサ２、３と通信を行うように構成されている。このようにして、ディスクアレイが形成されており、ディスクアレイの動作はディスクアレイコントローラ１０１、１０２によって制御される。
【００２２】
サービスプロセッサ２、３は、ディスクアレイコントローラ１０１、１０２とは別の動作をしている。サービスプロセッサ２、３間は、ＲＳ２３２Ｃ１０で接続されている。サービスプロセッサ２、３は、通信機構（１０４、１０５、１０６、１０７）を介して、各リソースの障害監視や、ＵＰＳ（Ｕｎｉｎｔｅｒｒｕｐｔｉｂｌｅ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ、図示せず）などの電源制御、監視サーバ（図示せず）との通信を司どっている。一のサービスプロセッサは、他のサービスプロセッサと定期的に情報を交換して監視情報に矛盾が無いかの確認を行う。また、リソース障害発生時には不定期に他のサービスプロセッサと通信し、必要であれば通信機構（１０８、１０９）を介して監視サーバへの通報を行う。このようにして、サービスプロセッサ２、３は二重化されている。
【００２３】
図１は、２つのサービスプロセッサ２、３部分の構成を詳細に示す図である。サービスプロセッサ２、３（以下の説明では、制御部２、３と記載する）では、ＣＰＵやＲＡＭなどのハードウェア資源とこれらにインストールされたプログラムとが協同してその機能を実現する。２つの制御部２、３の間はＲＳ２３２Ｃ１０で接続されている。
【００２４】
ＲＳ２３２Ｃ１０は１系統である。ＲＳ２３２Ｃ１０は、ケーブルであっても、筐体のバックボードの配線であってもよい。
【００２５】
続いて、制御部２、３の機能構成について説明する。制御部２、３は、それぞれ、コマンド送信部２１、３１コマンド実行部２２、２３、記憶部２３、２４、優先順位生成部２４、３４、及びコマンド衝突判断部２５、３５を有している。尚、以下では、一の制御部２の構成を主体として説明を行うが、他の制御部３における機能構成も同じである。
【００２６】
コマンド送信部２１は、コマンドを生成して、他の制御部３にＲＳ２３２Ｃ１０を介して送信する機能を実現する。尚、コマンドを生成するあたって、優先順位を示す情報がコマンドに付与される。
【００２７】
コマンド実行部２２は、制御部２が受信したコマンドを実行する機能を実現する。
【００２８】
記憶部２３は、コマンド衝突が発生した回数（発生回数）と、コマンド衝突が発生した際に取得したコマンドを実行した回数（実行回数）と、が記憶されている。
【００２９】
優先順位生成部２４は、コマンド送信部２１においてコマンドを生成する際に付与する優先順位を決定する機能を実現する。優先順位生成部２４は、コマンド衝突が発生する度に、以降に送信するコマンドの優先順位を変更する。即ち、自制御部２のコマンドが他制御部３のそれよりも優先順位が高い状態でコマンド衝突が発生すると、以降の自制御部２のコマンドに付与される優先順位を、他制御部３のそれよりも低くなるように決定する。
【００３０】
ここで、制御部２、３間で、起動後の１回目のコマンド衝突が起こるまでの優先順位は同一の優先順位が付与される。この場合のコマンド衝突時において矛盾無く処理する方法は、動作フローを説明する欄にて後述する。
【００３１】
尚、本実施の形態では、最初のコマンド衝突が起こるまでの優先順位は、同一のものが付与される場合について説明するが、最初のコマンド衝突が起こるまでの優先順位は、以下のようにして決定しておいてもよい。（Ａ）制御部２、３が同時に起動された場合は、予め設定された制御部２、３間の優先順位にしたがって、制御部２、３のいずれかのコマンドの優先順位が高くなるように設定される。（Ｂ）一方の制御部は既に起動されており、他方の制御部が新たに起動された直後は、時間的に後に起動された制御部２が送信するコマンドの優先順位が高くなるように設定される。このようにして、最初のコマンド衝突が発生するまでに送信されるコマンドの優先順位を付与しておくことでも、最初のコマンド衝突が発生した際に矛盾無く処理を行うことができる。
【００３２】
コマンド衝突判断部２５は、コマンド衝突が発生しているかどうかを判断する機能を実現する。通常、制御部２、３はどちらの系に属しているかを認識しており、定期的に発行するコマンドに関しては送信する時間を意図的にずらすので、コマンドが衝突することはない。しかしながら、障害発生などで略同時に情報取得したいタイミングが存在した場合、コマンド衝突が発生する可能性がある。コマンド衝突判断部２５は、コマンド発行後の受信データの内容からコマンド衝突の発生を判断する。
【００３３】
上述のように構成された通信制御装置１は、以下のような動作を行って通信の制御を行う。図２は、本実施の形態に係る通信制御方法の動作フローを示す図である。
【００３４】
ステップＳ１０、Ｓ１１；コマンドの送信
自制御部２において、他の制御部３へコマンドを送信する必要が生じると、コマンド送信部２１が優先順位の付与されたコマンドを生成して、ＲＳ２３２Ｃを介して制御部３へ送信する（Ｓ１０）。コマンド送信部２１は、コマンドが正常に送信できたか否かを判断し（Ｓ１１）、正常に送信できた場合には制御部２を受信データ待ちの状態とする（Ｓ１２）。一方、正常に送信できなかった場合は、再びＳ１０に戻り、コマンドを再送信する。
【００３５】
ステップＳ１３、１４、１５、２３；受信データの解析
Ｓ１２で受信データ待ちの状態において、データを受信すると、コマンド衝突判断部２５が受信データの解析を行う（Ｓ１３）。コマンド衝突判断部２５は、受信したデータが、Ｓ１０の動作で送信したコマンドに対するレスポンスであるかどうかを判断する（Ｓ１４）。
レスポンスであると判断した場合には、コマンド衝突が発生していないと判断して、処理を終了する（Ｓ２３）。一方、レスポンスではないと判断すると、制御部３から送信されたコマンドであるかどうかを判断する（Ｓ１５）。制御部３から送信されたコマンドではないと判断すると、Ｓ１０へ戻り、再度コマンドの送信を行う。Ｓ１５において、制御部３から送信されたコマンドであると判断すると、コマンド衝突が発生していると判断して、記憶部２３に格納されたコマンド衝突の発生回数をカウントアップするとともに（Ｓ１５−１）、次ぎのステップＳ１６の処理へ進む。
【００３６】
ステップＳ１６；優先順位の確認
コマンド衝突が発生した場合、コマンド実行部２２が、受信したコマンドに付与された優先順位と、Ｓ１０で送信したコマンドに付与した優先順位と、が同じであるか異なっているかを判断する。優先順位が同じであった場合には、次ぎのステップＳ１７の処理を行い、優先順位が異なる場合はステップＳ１８の処理を行う。
【００３７】
ステップＳ１７；同一優先順位時の処理
受信したコマンドと、送信したコマンドとの優先順位が同一となるのは、制御部２又は３が起動してから最初に発生したコマンド衝突である場合が考えられる。このような場合としては、（Ａ）制御部２と３の双方が同時に起動された後の最初のコマンド衝突、（Ｂ）一方の制御部は以前から起動されており、他方の制御部が後から起動されて両制御部間で最初のコマンド衝突が発生した場合、の２つのケースが考えられる。コマンド実行部２２は、（Ａ）制御部２、３の双方が同時に起動された最初の衝突であるかどうかを判断する。制御部２、３が同時に起動された後の最初の衝突である場合、予め決められた制御部２、３間の優先順位に基いて、何れの制御部２が送信したコマンドを優先させるかを決定する。一方、（Ｂ）制御部２、３のうちの片方が起動された後の最初の衝突である場合は、時間的に後に起動された制御部が送信したコマンドの実行を優先させるように決定する。何れのコマンドを優先させるかを決定した後、ステップＳ１８の処理を行う。これらの制御部間での優先順位は、コマンド送信時に制御部間での優先順位を示す情報をも含ませることで判断することができる。
【００３８】
ステップＳ１８；コマンド優先の認識
コマンド実行部が、自制御部２が送信したコマンドの実行が優先されるべきか、他制御部３が送信したコマンド（自制御部２が受信したコマンド）の実行が優先されるべきか、を認識する。ステップＳ１６において、コマンドに付与された優先順位が異なっていた場合には、優先順位の高い方のコマンドが優先となる。一方、Ｓ１６にて優先順位が同じであった場合には、Ｓ１７の処理に従ってコマンドの優先、非優先が決定される。自制御部２が送信したコマンドが優先されると判断すると、次ぎのステップＳ２２へ進む。一方、自制御部２が受信したコマンドが優先される場合には、ステップＳ１９へ進む。
【００３９】
ステップＳ１９〜２１；他制御部３が送信したコマンドが優先の場合
優先順位生成部において、次ぎに送信するコマンドに付与される優先順位が、他制御部３からのコマンドよりも高くなるように設定される。そして、コマンド実行部２２が他制御部３から受信したコマンドを実行する（Ｓ２０）。コマンド実行部２２は、コマンドの実行が完了すると、コマンド送信部２１が他制御部３に対してレスポンスを送信する（Ｓ２１）。また、記憶部２３にアクセスして、コマンド衝突時に自制御部２がコマンドを実行した回数（実行回数）をカウントアップする（Ｓ２０−１）。そして、Ｓ１０の処理に戻り、自制御部２が送信したコマンドを再送する。
【００４０】
ステップＳ２２；自制御部２が送信したコマンドが優先の場合
ステップＳ１８において、自制御部２が送信したコマンドの実行が優先されると判断された場合、自制御部２は受信したコマンド（他制御部３が送信したコマンド）の実行を行わない。優先順位生成部２４において、以降に送信するコマンドには、他制御部３が送信したコマンドよりも低い優先順位が付与されるように設定される（Ｓ２２）。そして、制御部２としては、Ｓ１２に戻って受信データ待ちの状態となる。他制御部３側では、自制御部２の送信したコマンドが実行されてレスポンスが発行されるので、自制御部２側でこのレスポンスを待って処理を終了する（Ｓ１３、１４、２３）。
【００４１】
以上説明した一連の動作により、コマンド衝突が発生した際においても、自制御部２と他制御部３のうちのいずれか一方のコマンドは実行される。即ち、制御部２、３の両方からコマンドを再送する必要は無く、一方のコマンドのみを再送すればよい。また、コマンドを再送するにあたり、一方の処理が終了すればすぐに再送を行うことができる。待ち合わせ時間を要する必要が無いので、処理時間が短縮される。
【００４２】
また、一度コマンド衝突が発生すると、コマンド衝突後では自制御部２と他制御部３から送信されるコマンド間の優先順位が逆転する。これにより、制御部間でのコマンド実行数の偏りを解消することができる。
【００４３】
尚、ステップＳ１７の処理において、例えば自制御部２と他制御部３が同時に起動される場合が連続するなどした場合、２つの制御部間でコマンド衝突時におけるコマンド実行回数に偏りが生じることがあるが、これは以下に説明するような技術により解消することができる。
【００４４】
図４は、優先順位生成部２４がコマンドに付与する優先順位を更新する際の動作フローである。
【００４５】
ステップＳ２３；優先順位を更新の判断
まず、優先順位生成部２４が、コマンドに付与する優先順位を更新する必要があるかどうかを判断する。この判断は、例えば一定時間毎に優先順位を更新するように設定しておき、その一定時間が経過する毎に更新する必要があると判断することで行うことができる。
【００４６】
ステップＳ２４；記憶部の参照
優先順位の更新の必要があると判断した場合に、優先順位生成部２４は記憶部２３にアクセスして、コマンド衝突回数とコマンド衝突自におけるコマンド実行回数との関係を参照する。そして、２つの制御部２、３間におけるコマンド実行回数に偏りがあるかどうかを判断する。即ち、コマンド衝突回数に対して、自制御部２で実行されたコマンド実行回数が半分よりも多ければ、自制御部２の方が他制御部２よりもコマンド実行回数が多い傾向にあると判断する。
【００４７】
ステップＳ２５；優先順位の調整
Ｓ２４において、コマンド実行数に偏りがある場合は、優先順位生成部において、以降に発行するコマンドに対して付与される優先順位の調整が行われる。即ち、自制御部２でのコマンド実行数が過多であった場合（他制御部３から送信されたコマンド実行が過多であった場合）には、以降に自制御部２が送信するコマンドの優先順位を高くする。逆に、自制御部２でのコマンド実行数が少なかった場合には、以降に自制御部２が送信するコマンドの優先順位を他制御部３からのものよりも低く設定する。
【００４８】
Ｓ２３〜２５の処理により、例えＳ１７での起動時における制御部２、３間でのコマンド実行の優先順位の偏りが発生したとしても、これを解消することができる。
【図面の簡単な説明】
【００４９】
【図１】第１の実施の形態の通信制御装置の機能構成を示す図である。
【図２】第１の実施の形態の通信制御方法の動作フローである。
【図３】本発明に係る通信制御装置の全体構成例を示す図である。
【図４】優先順位を更新する際の動作フローである。
【符号の説明】
【００５０】
１      通信制御装置
２    （自）制御部（サービスプロセッサ）
２１  コマンド送信部
２２  コマンド実行部
２３  記憶部
２４  優先順位生成部
２５  コマンド衝突判断部
３    （他）制御部（サービスプロセッサ）
３１  コマンド送信部
３２  コマンド実行部
３３  記憶部
３４  優先順位生成部
３５  コマンド衝突判断部
１０  通信路（ＲＳ２３２Ｃ）
１０１、１０２  ディスクアレイコントローラ
１０３  共有メモリ
１１１〜１１５  ハードディスク
【図１】
2007265169.tif 000003
【図２】
2007265169.tif 000004
【図３】
2007265169.tif 000005
【図４】
2007265169.tif 000006