(57)【要約】【課題】  シリアルスイッチの接続先モジュールの切り替え中に、シリアルデバイス（コンソールＰＣまたはモジュール）がシリアルインタフェースに送信したデータは、受信先となるシリアルデバイスが切り替え中は存在しないため、受信されること無くシリアルスイッチ上で消失してしまうという課題がある。【解決手段】  本発明のシリアルスイッチは、シリアルインタフェースで定義されるフロー制御により、コンソールＰＣおよびモジュールのデータ送信の停止・開始を制御する機能を持つ。そして、スイッチ切り替え指示を受けると、まず、フロー制御によるコンソールＰＣおよびモジュールのデータ送信の停止を行い、次にシリアルスイッチの切り替えを行い、最後にコンソールＰＣおよびモジュールのデータ送信を再開する。【選択図】  図３
2013156968.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と複数のモジュールとがスイッチを介して接続される計算機システムの制御方法において、
前記スイッチは、
前記制御装置とデータを送受信するための第一の入出力部と、
前記モジュールとデータを送受信するための第二の入出力部と、
入力されたデータを前記第一の入出力部へ出力するＴｘスイッチと、
入力されたデータを前記第二の入出力部へ出力するＲｘスイッチと、
ハードウエアフロー制御部と、ソフトウエアフロー制御部と、前記スイッチの接続先となるモジュールを切り替えるスイッチ切り替え制御部とを有するスイッチ制御部を有し、
前記スイッチが、あるモジュールから他のモジュールへの接続先の切り替え指示を受信すると、
前記ハードウエアフロー制御部は、
前記制御装置から前記スイッチへのデータ送信を停止させ、
前記ソフトウエアフロー制御部は、
前記Ｒｘスイッチへの入力を、前記制御装置から前記第一の入出力部を介して入力されるデータから、前記ソフトウエアフロー制御部により制御される制御コードに切り替え、
前記あるモジュールから前記スイッチへのデータ送信を停止させる第一の制御コードを、前記Ｒｘスイッチに発行し、
前記Ｒｘスイッチは、
前記発行された第一の制御コードを、前記第二の入出力部を経由して前記あるモジュールへ出力し、
前記あるモジュールは、
前記第一の制御コードの入力により前記スイッチへのデータ送信が停止されている間に、前記あるモジュールで実行したコマンドの実行結果を、前記あるモジュール内に蓄積し、
前記スイッチ切り替え制御部は、
前記あるモジュールから前記スイッチへのデータ送信が停止されている間に、前記スイッチの接続先を、前記あるモジュールから前記他のモジュールに切り替えることを特徴とする計算機システムの制御方法。
【請求項２】
前記他のモジュールがコマンドの実行を終えると、
前記スイッチ切り替え制御部は、
前記スイッチの接続先を、前記他のモジュールから前記あるモジュールに切り替え、
前記ソフトウエアフロー制御部は、
前記あるモジュールから前記スイッチへのデータ送信を開始させる第二の制御コードを、前記Ｒｘスイッチに発行し、
前記Ｒｘスイッチは、
前記発行された第二の制御コードを、前記第二の出力部を経由して前記あるモジュールへ出力し、
前記あるモジュールは、
前記第二の制御コードの受信により、データ及び前記蓄積したコマンドの実行結果の前記スイッチへの送信を開始し、
前記ソフトウエアフロー制御部は、
前記Ｒｘスイッチへの入力を、前記ソフトウエアフロー制御部により制御される制御コードから、前記制御装置から前記第一の入力部を介して入力されるデータに切り替え、
前記ハードウエアフロー制御部は、
前記制御装置から前記スイッチへのデータ送信を開始させる
ことを特徴とする請求項１記載の計算機システムの制御方法。
【請求項３】
前記第一の制御コードを受信した前記あるモジュールは、前記Ｔｘスイッチへのデータ送信を停止し、
前記第二の制御コードを受信した前記あるモジュールは、前記Ｔｘスイッチへのデータ送信及び前記蓄積したコマンドの実行結果の送信を開始することを特徴とする請求項２記載の計算機システムの制御方法。
【請求項４】
前記制御装置がデータ送信を停止すると、前記Ｒｘスイッチ上のデータ送信が停止し、
前記あるモジュールがデータ送信を停止すると、前記Ｔｘスイッチ上のデータ送信が停止し、
前記あるモジュールがデータ送信を開始すると、前記Ｔｘスイッチ上のデータ送信が開始し、
前記制御装置がデータ送信を開始すると、前記Ｒｘスイッチ上のデータ送信が開始することを特徴とする請求項３記載の計算機システムの制御方法。
【請求項５】
前記スイッチは、前記ソフトウエアフロー制御部により制御される制御コード発行部を有し、
前記制御コード発行部は、前記ソフトウエアフロー制御部の制御により、前記第一の制御コード又は前記第二の制御コードを、前記Ｒｘスイッチに発行することを特徴とする請求項４記載の計算機システムの制御方法。
【請求項６】
前記ハードウエアフロー制御部は、前記制御装置から前記スイッチへのデータ送信を停止させる制御信号を生成する信号制御部を有し、
前記ソフトウエアフロー制御部は、前記Ｒｘスイッチへの入力を、前記制御コード発行部と前記制御装置とで切り替える入力制御部と、前記制御コードの発行を制御する制御コード発行制御部とを有することを特徴とする請求項４記載の計算機システムの制御方法。
【請求項７】
前記Ｒｘスイッチは、前記入力制御部により制御され、前記Ｒｘスイッチへの入力を前記制御コード発行部と前記制御装置とで切り替えるセレクタ回路を有することを特徴とする請求項４記載の計算機システムの制御方法。
【請求項８】
前記スイッチは、シリアルスイッチであり、
前記制御装置と前記複数のモジュールとは、前記スイッチを介して、シリアルインターフェースで接続されていることを特徴とする請求項５記載の計算機システムの制御方法。
【請求項９】
前記スイッチは、ＲＳ２３２ＣインタフェースのＲＴＳ信号を制御する機能を持ち、ＲＳ２３２Ｃインタフェースで規定されるＲＴＳ／ＣＴＳハードウェアフロー制御によりコンソールＰＣのデータ送信の停止および開始を行うことを特徴とする請求項８記載の計算機システムの制御方法。
【請求項１０】
前記スイッチは、ＲＳ２３２ＣインタフェースのＤＴＲ信号を制御する機能を持ち、ＲＳ２３２Ｃインタフェースで規定されるＤＴＲ／ＤＳＲハードウェアフロー制御によりコンソールＰＣのデータ送信の停止および開始を行うことを特徴とする請求項８記載の計算機システムの制御方法。
【請求項１１】
制御装置と、
複数のモジュールと、
前記制御装置とデータを送受信するための第一の入出力部、前記モジュールとデータを送受信するための第二の入出力部、入力されたデータを前記第二の入出力部を経由して前記モジュールへ出力するＲｘスイッチ、入力されたデータを前記第一の入出力部へ出力するＴｘスイッチ、及びスイッチ制御部を有するスイッチとを備え、
前記スイッチ制御部は、
前記スイッチが、あるモジュールから他のモジュールへの接続先の切り替え指示を受信すると、前記制御装置から前記スイッチへのデータ送信を停止させるハードウエアフロー制御部と、
前記Ｒｘスイッチへの入力を、前記制御装置から前記第一の入出力部を介して入力されるデータから、前記ソフトウエアフロー制御部により制御される制御コードに切り替え、あるモジュールから前記スイッチへのデータ送信を停止させる第一の制御コードを、前記Ｒｘスイッチに発行するソフトウエアフロー制御部と、
前記あるモジュールから前記スイッチへのデータ送信が停止されている間に、前記スイッチの接続先を、前記あるモジュールから前記他のモジュールに切り替えるスイッチ切り替え制御部とを有し、
前記あるモジュールは、
前記Ｒｘスイッチから出力された前記第一の制御コードの入力により前記スイッチへのデータ送信が停止されている間に、前記あるモジュールで実行したコマンドの実行結果を、前記あるモジュール内に蓄積することを特徴とする計算機システム。
【請求項１２】
前記他のモジュールがコマンドの実行を終えると、
前記スイッチ切り替え制御部は、
前記スイッチの接続先を、前記他のモジュールから前記あるモジュールに切り替え、
前記ソフトウエアフロー制御部は、
前記あるモジュールから前記スイッチへのデータ送信を開始させる第二の制御コードを、前記Ｒｘスイッチに発行し、
前記Ｒｘスイッチは、
前記発行された第二の制御コードを、前記第二の出力部を経由して前記あるモジュールへ出力し、
前記あるモジュールは、
前記第二の制御コードの受信により、データ及び前記蓄積したコマンドの実行結果の前記スイッチへの送信を開始し、
前記ソフトウエアフロー制御部は、
前記Ｒｘスイッチへの入力を、前記ソフトウエアフロー制御部により制御される制御コードから、前記制御装置から前記第一の入力部を介して入力されるデータに切り替え、
前記ハードウエアフロー制御部は、
前記制御装置から前記スイッチへのデータ送信を開始させる
ことを特徴とする請求項１１記載の計算機システム。
【請求項１３】
前記第一の制御コードを受信した前記あるモジュールは、前記Ｔｘスイッチへのデータ送信を停止し、
前記第二の制御コードを受信した前記あるモジュールは、前記Ｔｘスイッチへのデータ送信及び前記蓄積したコマンドの実行結果の送信を開始することを特徴とする請求項１２記載の計算機システム。
【請求項１４】
制御装置とデータを送受信するための第一の入出力部、モジュールとデータを送受信するための第二の入出力部、入力されたデータを前記第二の入出力部を経由して前記モジュールへ出力するＲｘスイッチ、入力されたデータを前記第一の入出力部へ出力するＴｘスイッチ、及びスイッチ制御部を有し、
前記スイッチ制御部は、
前記スイッチが、あるモジュールから他のモジュールへの接続先の切り替え指示を受信すると、前記制御装置から前記スイッチへのデータ送信を停止させるハードウエアフロー制御部と、
前記Ｒｘスイッチへの入力を、前記制御装置から前記第一の入出力部を介して入力されるデータから、前記ソフトウエアフロー制御部により制御される制御コードに切り替え、あるモジュールから前記スイッチへのデータ送信を停止させる第一の制御コードを、前記Ｒｘスイッチに発行するソフトウエアフロー制御部と、
前記あるモジュールから前記スイッチへのデータ送信が停止されている間に、前記スイッチの接続先を、前記あるモジュールから前記他のモジュールに切り替えるスイッチ切り替え制御部とを有することを特徴とするスイッチ。
【請求項１５】
前記他のモジュールがコマンドの実行を終えると、
前記スイッチ切り替え制御部は、
前記スイッチの接続先を、前記他のモジュールから前記あるモジュールに切り替え、
前記ソフトウエアフロー制御部は、
前記あるモジュールから前記スイッチへのデータ送信を開始させる第二の制御コードを、前記Ｒｘスイッチに発行し、
前記Ｒｘスイッチは、
前記発行された第二の制御コードを、前記第二の出力部を経由して前記あるモジュールへ出力し、
前記ソフトウエアフロー制御部は、
前記Ｒｘスイッチへの入力を、前記ソフトウエアフロー制御部により制御される制御コードから、前記制御装置から前記第一の入力部を介して入力されるデータに切り替え、
前記ハードウエアフロー制御部は、
前記制御装置から前記スイッチへのデータ送信を開始させることを特徴とする請求項１４記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムにおいて、ブレードサーバ装置とコンソールＰＣとの接続で使うスイッチに関するものである。
【背景技術】
【０００２】
従来、サーバ装置とコンソールＰＣの接続インタフェースとして、シリアルインタフェースが使用されている。近年では、高速伝送が可能なインタフェースとして広く普及しているイーサネット（登録商標）が、シリアルインタフェースの代わりに、使用されることが多くなっている。とはいえ、イーサネットが使用できないようなケースでは、シリアルインタフェースも依然として使われている。
【０００３】
イーサネットは、ＩＰアドレスなどをサーバに設定する必要があるのに対して、シリアルインタフェースは、サーバへの設定無しで使用することができるという利点がある。従来、サーバ装置とコンソールＰＣとは、シリアルインタフェースで１：１に接続されていた。一方、近年に普及してきたブレードサーバ装置には複数のモジュールが搭載されているので、コンソールＰＣと複数のモジュールとは、１：Ｎに接続される。コンソールＰＣと複数のモジュールとをシリアルインタフェースで接続する手段として、ブレードサーバ装置は、シリアルスイッチを持つ。
【０００４】
図２は、従来のシリアルスイッチ００５’を示す。入出力００８a〜００８fは、シリアルデバイスを接続するためのシリアルインタフェースの入出信号である。入出力００８fには、コンソールＰＣを接続する。入出力００８a〜００８eには、モジュールを接続する。入出力００８a〜００８fはそれぞれ、コンソールＰＣの送信データをモジュールに送信するためのＲｘ信号と、モジュールの送信データをコンソールＰＣに送信するためのＴｘ信号とを、備える。コンソールＰＣを接続するための入出力００８fでは、Ｒｘ信号が入力、Ｔｘ信号が出力となる。モジュールを接続するための入出力００８a〜００８eでは、Ｒｘ信号が出力、Ｔｘ信号が入力となる。
【０００５】
シリアルスイッチ００５’は、Ｒｘスイッチ００９とＴｘスイッチ０１１との２つのスイッチ及びスイッチ制御回路０１３を備える。Ｒｘスイッチ００９は、コンソールＰＣの送信データをモジュールに送信するためのスイッチで、入出力００８fのＲｘ信号がＲｘスイッチ００９の入力、入出力００８a〜００８eがＲｘスイッチ００９の出力となる。Ｔｘスイッチ０１１は、各モジュールの送信データをコンソールＰＣに送信するためのスイッチで、入出力００８a〜００８eのＴｘ信号がＴｘスイッチ０１１の入力、入出力００８fがＴｘスイッチ０１１の出力となる。
【０００６】
切替指示信号００７は、スイッチに対して接続先であるモジュールの切り替えを指示する信号である。スイッチ制御回路０１３は、切替指示信号００７を受けて、スイッチ接続制御信号０１４によりＲｘスイッチ００９およびＴｘスイッチ０１１の接続先モジュールの、切り替えを行う。Ｒｘスイッチ００９は、スイッチ接続制御信号０１４により出力信号(入出力００８a〜００８eのＲｘ信号)のいずれかを選択して、入力信号(入出力００８fのＲｘ信号)信号を選択した出力信号に出力する。上記の信号選択は、マルチプレクサ回路０１０により実現する。Ｔｘスイッチ０１１は、スイッチ接続制御信号０１４により入力信号(入出力００８a〜００８eのＴｘ信号)のいずれかを選択して、出力信号(入出力００８fのＴｘ信号)に出力する。上記の機能は、セレクタ回路０１２により実現する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−９５８８５号公報
【特許文献２】特開平９−１６５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
シリアルスイッチ００５’は、接続先であるモジュールを切り替える機能を有する。コンソールＰＣ００１は、シリアルスイッチ００５’を介してモジュール００４a〜００４eのいずれかに接続される。ただし、シリアルスイッチ００５’の切り替え中において、コンソールＰＣ００１は、モジュール００４a〜００４eのいずれにも接続していない状態となる。そのため、シリアルスイッチ００５’の切り替え中は、コンソールＰＣ００１とモジュール００４a〜００４eとのシリアルによる通信は切断され、シリアルスイッチ００５’の切り替え中にシリアルデバイス（コンソールＰＣ００１またはモジュール００４a〜００４e）がシリアルインタフェースに送信したデータは、受信されること無く消失してしまう。このため、スイッチの接続先であるモジュールの切り替え時には、シリアルインタフェース上でデータ送信が行われていないことを、保証する必要がある。
【０００９】
従来は、コンソールＰＣのオペレータが、コンソールＰＣがデータ送受信していないことを確認することによって、シリアルインタフェーススイッチ上でデータ送信が行われていないことを保証していた。つまり、シリアルインタフェーススイッチ上でデータ送信が行われていないという保証が、コンソールＰＣのオペレータ処理に依存するという課題がある。
【００１０】
また、コンソールＰＣのオペレータは、コンソールＰＣからモジュールへのデータ送信の場合、データ送信を直接止めるの制御が可能である。しかし、コンソールＰＣのオペレータは、モジュールからコンソールＰＣへのデータ送信の場合、モジュールを直接制御できないので、データ送信を直接止める制御はできない。
【００１１】
更に、従来のシリアルスイッチ００５’では、スイッチの接続先であるモジュールの切替え中以外においても、コンソールＰＣとシリアルスイッチ００５’を介して接続していないモジュールから送信されたデータは、受信先が無いため、消失してしまうという課題があった。
【課題を解決するための手段】
【００１２】
上述の課題を解決するために、本発明に係る計算機システムの制御方法、計算機システム、及びスイッチは、制御装置と複数のモジュールとがスイッチを介して接続される計算機システムに関し、スイッチは、制御装置とデータを送受信するための第一の入出力部と、モジュールとデータを送受信するための第二の入出力部と、入力されたデータを第一の入出力部へ出力するＴｘスイッチと、入力されたデータを第二の入出力部へ出力するＲｘスイッチと、ハードウエアフロー制御部と、ソフトウエアフロー制御部と、スイッチの接続先となるモジュールを切り替えるスイッチ切り替え制御部とを有するスイッチ制御部を有る。スイッチが、あるモジュールから他のモジュールへの接続先の切り替え指示を受信すると、ハードウエアフロー制御部は、制御装置からスイッチへのデータ送信を停止させ、ソフトウエアフロー制御部は、Ｒｘスイッチへの入力を、制御装置から第一の入出力部を介して入力されるデータから、ソフトウエアフロー制御部により制御される制御コードに切り替え、あるモジュールからスイッチへのデータ送信を停止させる第一の制御コードを、Ｒｘスイッチに発行し、Ｒｘスイッチは、発行された第一の制御コードを、第二の入出力部を経由してあるモジュールへ出力し、あるモジュールは、第一の制御コードの入力によりスイッチへのデータ送信が停止されている間に、あるモジュールで実行したコマンドの実行結果を、あるモジュール内に蓄積し、スイッチ切り替え制御部は、あるモジュールからスイッチへのデータ送信が停止されている間に、スイッチの接続先を、あるモジュールから前記他のモジュールに切り替えることを、特徴とする。
【発明の効果】
【００１３】
以上のように、本発明は、シリアルインタフェースで定義されるフロー制御により、コンソールＰＣ及びモジュールのデータ送信を停止するので、スイッチ上にデータが存在しないことを保証しながら、スイッチの接続先であるモジュールの切り替えを行い、スイッチの切り替え後にコンソールＰＣ及びモジュールのデータ送信を開始する。
【００１４】
本発明によれば、シリアルスイッチ自身がフロー制御を行うので、スイッチの接続先であるモジュールの切り替え時に、スイッチを介して接続されているコンソールＰＣとモジュールとの接続上（シリアルインターフェース上）で、データ送信が行われていないことが常に保証され、送信データの消失なしにスイッチの接続先であるモジュールの切り替えを行うことができる。
【図面の簡単な説明】
【００１５】
【図１】コンソールＰＣとブレードサーバとをシリアルインターフェースで接続した計算機システムの概要図
【図２】従来技術におけるシリアルスイッチの構成図
【図３】本発明を適用したシリアルスイッチの構成図
【図４】スイッチ制御回路のブロック図
【図５】スイッチの接続先であるモジュールの切り替え時のシーケンス制御図
【図６】シリアルインタフェースの状態遷移図
【図７】ＲＴＳ／ＣＴＳハードウェアフロー制御図
【図８】ソフトウェアフロー制御図
【図９】従来のシリアルスイッチを用いたブレードサーバ装置の操作例のフロー
【図１０】本発明のシリアルスイッチを用いたブレードサーバ装置の操作例のフロー
【発明を実施するための形態】
【００１６】
本発明を適用した計算機システムについて、図面を参照して詳細に説明する。
【００１７】
図１は、コンソールＰＣ００１と、本発明を適用したシリアルスイッチ００５を有するブレードサーバ装置００２との接続の一例である。コンソールＰＣ００１とブレードサーバ装置００２内の複数のモジュール００４とが、シリアルスイッチ００５を介して、ＲＳ２３２Ｃクロスケーブル００３により、シリアルインタフェースで接続されている。
【００１８】
ブレードサーバ装置００２には、シリアルインタフェースを備えたモジュール００４a〜００４eが搭載されている。
【００１９】
モジュール００４aは、ブレードサーバ装置００２のハードウェアの管理を行うためのモジュールである。モジュール００４aは、ＣＰＵおよびメモリを備える。モジュール００４aは、コンソールＰＣ００１からの命令により、ブレードサーバ装置００２のハードウェアを制御する他、ブレードサーバ装置００２のハードウェアの状態を監視して、その状態に応じてブレードサーバ装置００２のハードウェアの制御を行う。モジュール００４ａ〜４ｅは、アプリケーションを動作させるためのモジュールである。それぞれがＣＰＵとメモリを備え計算機としての機能を持っている。
【００２０】
コンソールＰＣ００１は、シリアルスイッチ００５の接続先であるモジュールの切り替えのための制御コード(切替コード)を、発行することができる。切替コード検出回路００６は、制御コードの検出を行い、切替コードを検出すると、接続先であるモジュールの切替指示信号００７によりシリアルスイッチ００５に通知する。シリアルスイッチ００５は、切替コード検出回路００６が検出した切替コードの種類に応じて、スイッチの接続先であるモジュールの切り替えを行う。
【００２１】
図３は、本発明を適用したシリアルスイッチ００５である。このシリアルスイッチ００５は、コンソールＰＣのハードウェアフロー制御機能およびモジュール００４のソフトウェアフロー制御機能を有している。
【００２２】
なお、ハードウェアフロー制御とは、データ通信のための信号線とは別に、フロー制御のために専用の信号線を用いる制御のことである。また、ソフトウエアフロー制御とは、制御コード（例えば後述するＸｏｎ／Ｘｏｆｆ制御コード）を用いたフロー制御のことである。
【００２３】
シリアルスイッチ００５は、入出力００８a〜００８f、Ｒｘスイッチ０１５、Ｔｘスイッチ０１１、スイッチ制御回路０１７、制御コード発行回路０１８を備える。ここで、入出力００８a〜００８f、Ｔｘスイッチ０１１、及びマルチプレクサ回路０１０は、図２に示す従来のシリアルスイッチが有するそれらのものと、同じである。
【００２４】
制御コード発行回路０１８は、Ｘｏｎ及びＸｏｆｆの２種の制御コードを発行する機能を持つ。制御コード発行回路０１８は、スイッチ制御回路０１７から送信される制御コード発行信号０１９によって、制御される。ここで、Ｘｏｎ／Ｘｏｆｆ制御コードは、ＡＳＣＩＩコードで定義されている文字コードで、シリアルインタフェースではフロー制御に用いられる。
【００２５】
Ｘｏｆｆ制御コードは、データ送信の停止を、シリアルデバイス（コンソールＰＣ００１またはモジュール００４a〜００４e）に指示するために用いる。一方、Ｘｏｎ制御コードは、送信の開始をシリアルデバイス（コンソールＰＣ００１またはモジュール００４a〜００４e）に指示するために用いる。
【００２６】
Ｘｏｆｆ制御コードで停止したデータ送信はＸｏｆｆ制御コードによって、停止したところの続きから送信を再開する。Ｘｏｎ制御コードを受信したシリアルデバイスは、Ｘｏｆｆでデータ送信を停止したところの続きから、データ送信を開始する。シリアルスイッチ００５では、モジュール００４のデータ送信停止・開始を制御するために、Ｘｏｎ／Ｘｏｆｆ制御コード用いる。
【００２７】
シリアルスイッチ００５には、Ｒｘスイッチ０１５に、制御コード発行回路０１８の出力信号及び入出力００８fのＲｘ信号、２つの信号が入力されている。入出力００８fは、シリアルスイッチ００５の外部でコンソールＰＣ００１の出力に接続されている。
【００２８】
Ｒｘスイッチ０１５は、セレクタ回路０１６により、入力信号(制御コード発行回路０１８の出力信号及び入出力００８fのＲｘ信号)の中から一方を選択し、マルチプレクサ回路０１０により出力信号(入出力００８a〜００８eのＲｘ信号)のいずれかに出力する。
【００２９】
スイッチ制御回路０１７は、Ｒｘスイッチ入力制御部０２８で生成されるＲｘスイッチ入力制御信号０２０を用いたセレクタ回路０１６の制御、スイッチ切替制御部０２５で生成されるスイッチ接続制御信号０１４を用いたマルチプレクサ回路０１０の制御、を行う。
【００３０】
本発明を適用したスイッチ制御回路０１７は、図２に示す従来のシリアルスイッチ００５のスイッチ制御回路０１３と比べると、Ｒｘスイッチのマルチプレクサ回路０１０及びＴｘスイッチのセレクタ回路０１２の制御機能に加えて、シリアルスイッチ００５の接続先であるモジュールの切り替えのためのシーケンス制御機能、制御コード発行回路０１８の制御機能、セレクタ回路０１６の制御機能、及びＲＴＳ制御信号０２１の制御機能を、更に有する。
【００３１】
なお、本実施例において、シーケンス制御機能は、シーケンス制御回路０２２により実現される。制御コード発行回路０１８の制御機能は、制御コード発行制御部０２９により実現される。セレクタ回路０１６の制御機能、Ｒｘスイッチ入力制御部０２８により実現される。ＲＴＳ制御信号０２１の制御機能は、ＲＴＳ信号制御部０２６により実現される。
【００３２】
図４に、スイッチ制御回路０１７を示す。スイッチ制御回路０１７は、シーケンス制御部０２２、ハードウェアフロー制御部０２３、ソフトウェアフロー制御部０２４、及びスイッチ切替制御部０２５を備える。
【００３３】
シーケンス制御部０２２は、シリアルスイッチ００５の接続先であるモジュールの切り替え時に、図５に示すシーケンス制御を行う。
【００３４】
図６は、図５のシーケンス制御を行ったときのシリアルスイッチ００５、コンソールＰＣ００１、モジュール００４の状態遷移図である。図６に示す状態遷移図は、スイッチの接続先であるモジュールの切り替え時のシリアルデバイス(コンソールＰＣ００１、モジュール００４)のデータ送信状態、Ｒｘスイッチ０１５及びＴｘスイッチ０１１の接続先、Ｒｘスイッチ０１５及びＴｘスイッチ０１１の通信状態を表している。
【００３５】
モジュールＡは、スイッチの接続先であるモジュールの切り替え前に、コンソールＰＣ００１と通信しているモジュールを表す。モジュールＢは、スイッチの接続先であるモジュールの切り替え後に、コンソールＰＣ００１と通信しているモジュールを表す。
【００３６】
ステップ１では、シリアルスイッチ００５は、切替コード検出回路００６の接続先であるモジュールの切替指示信号００７を受けて、シーケンス制御を開始する。シーケンス制御開始時は、コンソールＰＣ００１とモジュールＡとで、相互にデータの送受信が行われている。
【００３７】
ステップ２では、ハードウェアフロー制御によりコンソールＰＣ００１のデータ送信を停止する。具体的にはハードウエアフロー制御部０２３のＲＴＳ信号制御部０２６が、ＲＴＳ制御信号０２１をディスエーブル(無効)にしてコンソールＰＣ００１に送信し、コンソールＰＣ００１のデータ送信を停止させる。コンソールＰＣ００１がデータ送信を停止すると、コンソールＰＣ００１からデータが入力されるＲｘスイッチ０１５上のデータ通信も停止する。
【００３８】
ステップ３では、ソフトウェアフロー制御によりモジュールＡのデータ送信を停止する。具体的にはソフトウェアフロー制御０２４の制御コード発行制御部００２９が、制御コード発行制御信号０１９を生成して制御コード発行回路０１８に送信し、制御コード発行回路０１８は、制御コード発行制御信号０１９を受けてＸｏｆｆ制御コードを発行し、モジュールＡのデータ送信を停止させる。モジュールＡがデータ送信を停止すると、モジュールＡからデータが入力されるＴｘスイッチ０１１上のデータ通信も停止する。
【００３９】
ステップ４では、ステップ２のハードウエアフロー制御及びステップ３のソフトウエアフロー制御により、Ｒｘスイッチ０１５上とＴｘスイッチ０１１上とのデータ通信が停止した状態で、シリアルスイッチ００５の接続先を、モジュールＡからモジュールＢに切り替える。
【００４０】
ステップ５では、ソフトウェアフロー制御によりモジュールＢのデータ送信を開始する。具体的にはソフトウェアフロー制御０２４の制御コード発行制御部００２９が、制御コード発行制御信号０１９を生成して制御コード発行回路０１８に送信し、制御コード発行回路０１８は、制御コード発行制御信号０１９を受けてＸｏｎ制御コードを発行し、モジュールＢのデータ送信を開始させる。モジュールＢからデータが入力されるＴｘスイッチ０１１上のデータ通信も開始する。
【００４１】
ステップ６では、ハードウェアフロー制御によりコンソールＰＣ００１のデータ送信を開始する。具体的にはハードウエアフロー制御部０２３のＲＴＳ信号制御部０２６がＲＴＳ制御信号０２１をイネーブル(有効)にしてコンソールＰＣ００１に送信し、コンソールＰＣ００１のデータ送信を開始する。コンソールＰＣ００１がデータ送信を開始すると、コンソールＰＣ００１からデータが入力されるＲｘスイッチ０１５上のデータ通信も開始する。
【００４２】
ステップ５とステップ６のフロー制御により、コンソールＰＣ００１とモジュールＢとの間でデータ送受信を開始して、シーケンス制御を終了する。
【００４３】
ハードウェアフロー制御部０２３は、ＲＴＳ信号制御部０２６と、Ｒｘデータ停止完了通知部０２７とを備える。ＲＴＳ信号制御部０２６は、ＲＴＳ制御信号０２１により、ＲＳ２３２ＣインタフェースのＲＴＳ信号を制御する。
【００４４】
図７を用いて、ＲＳ２３２Ｃインタフェースで定義されているＲＴＳ／ＣＴＳハードウェアフロー制御を説明する。図７には、コンソールＰＣのＲＴＳ／ＣＴＳハードウェアフロー制御を行う際のＲＴＳ信号接続図と、フロー制御時のデータ送受信状態とが示される。
【００４５】
ここで、ＲＴＳ（Ｒｅｑｕｅｓｔ  Ｔｏ  Ｓｅｎｄ）信号とは、シリアル通信のデータ受信側のシリアルデバイスが送信側のシリアルデバイスに送信許可を通知するための信号である。ＣＴＳ（Ｃｌｅａｒ  Ｔｏ  Ｓｅｎｄ）信号とは、シリアル通信のデータ送信側のシリアルデバイスが送信側のシリアルデバイスの送信可否を検出するための信号である。
【００４６】
ブレードサーバ装置側のＲＴＳ信号は、ＲＳ２３２ＣクロスケーブルでコンソールＰＣ００１側のＣＴＳ信号に接続されており、コンソールＰＣ００１のＣＴＳ信号がイネーブル(有効)の時だけ、コンソールＰＣ００１はデータ送信を行う。
【００４７】
ＲＴＳ信号制御部０２６は、ステップ２でブレードサーバ装置側のＲＴＳ信号をディスエーブル(無効)にすることにより、コンソールＰＣ００１のデータ送信を停止する。また、ＲＴＳ信号制御部０２６は、ステップ６でブレードサーバ装置側のＲＴＳ信号をイネーブル(有効)にすることにより、コンソールＰＣ００１のデータ送信を開始する。
【００４８】
ＲＳ２３２Ｃインタフェースでは、ＲＴＳ／ＣＴＳハードウェアフロー制御の他に、ＤＴＲ／ＤＳＲハードウェアフロー制御が定義されている。したがって、ＲＴＳ／ＣＴＳ信号の代わりに、ＤＴＲ（Ｄａｔａ  Ｔｅｒｍｉｎａｌ  Ｒｅａｄｙ）／ＤＳＲ（Ｄａｔａ  Ｓｅｔ  Ｒｅａｄｙ）信号を用いても良い。なお、ＤＴＲ／ＤＳＲハードウェアフロー制御を行う場合は、ＲＳ２３２ＣインタフェースのＲＴＳ信号の代わりに、ＤＴＲ信号をＲＴＳ制御信号０２６で制御する。
【００４９】
Ｒｘデータ停止完了通知部０２７は、ステップ３でＲＴＳ信号制御部０２６がＲＴＳ信号をイネーブルにしたのち、入出力００８fのＲｘ信号上のデータ送信が停止していることを検出した後、または、タイマーによりコンソールＰＣ００１が送信データを停止するのに充分な時間が経過するのを待った後、シーケンス制御部０２２に対して、コンソールＰＣ００１からモジュール００８a〜００８eへのデータ送信の停止が完了したことを通知する。シーケンス制御部０２２は、Ｒｘデータ停止完了通知を受けてから、ステップ３を開始する。
【００５０】
ソフトウェアフロー制御部０２４は、Ｒｘスイッチ入力制御部０２８と、制御コード発行制御部０２９と、Ｔｘデータ停止完了通知部０３０とを備える。ステップ３でソフトウェアフロー制御を開始すると、まず、Ｒｘスイッチ入力制御部０２８は、Ｒｘスイッチ入力制御信号０２０を、Ｒｘスイッチ０１５のセレクタ回路０１６に送信する。Ｒｘスイッチ入力制御信号０２０を受信したセレクタ回路０１６は、Ｒｘスイッチ０１５の入力を、モジュール００８ｆを経由して接続されるコンソールＰＣ００１の出力から制御コード発行回路０１８の出力に、切り替える。
【００５１】
Ｒｘスイッチ０１５の入力を切り替える上で、Ｒｘスイッチ０１５上のデータ送信が止まっている必要がある。本発明を適用した計算機システムのシリアルスイッチ００５では、ステップ２においてコンソールＰＣ００１のデータ送信を止めているので、Ｒｘスイッチ０１５上においても、データ送信が止まっている。Ｒｘスイッチ０１５の入力切り替え後、制御コード発行制御部０２９は、制御コード発行制御信号０１９により制御コード発行回路０１８からＸｏｆｆ制御コードを発行して、モジュールのデータ送信を停止する。
【００５２】
Ｔｘデータ停止完了通知部０３０は、ステップ３において制御コード発行回路０１８がＸｏｆｆ制御コードを発行したのち、入出力００８fのＴｘ信号上のデータ送信が停止していることを検出する、またはタイマーによりモジュールが送信データを停止するのに充分な時間が経過するのを待つ。その後、Ｔｘデータ停止完了通知部０３０は、シーケンス制御部０２２に、モジュール００８a〜００８eのデータ送信の停止が完了したことを、通知する。
【００５３】
シーケンス制御部０２２は、Ｔｘデータ停止完了通知を受けてからステップ４を開始する。
【００５４】
次に、ステップ５でソフトウェアフロー制御を開始した時は、まず、制御コード発行制御部０２９が、制御コード発行制御信号０１９により制御コード発行回路０１８からＸｏｎ制御コードを発行して、モジュールのデータ送信を開始する。次に、Ｒｘスイッチ入力制御部０２８が、Ｒｘスイッチ入力制御信号０２０とセレクタ回路０１６により、Ｒｘスイッチ０１５の入力を、制御コード発行回路０１８の出力からコンソールＰＣ００１の出力に切り替える。
【００５５】
図８は、本発明を適用したシリアルスイッチ００５とモジュール００４a〜００４eのソフトウェアフロー制御時の動作を、説明する図である。
【００５６】
モジュール００４a〜００４eは、それぞれシリアルコントローラ０３２とマイコン０３５を持つシリアルデバイスである。シリアルコントローラ０３２は受信バッファ０３３と送信バッファ０３４を持つ。
【００５７】
受信バッファ０３３は、シリアルスイッチ００５の入出力００８a〜００８eのＲｘ信号が送信したデータを受信して、一時的に格納する機能を持つ。
【００５８】
送信バッファ０３４は、マイコン０３５がシリアルスイッチ００５の入出力００８a〜００８eのTｘ信号に対して送信しようとするデータを、一時的に格納する機能を持つ。
【００５９】
マイコン０３５は、受信バッファ０３３からデータをリードして、データ処理部０３７で受信したデータの処理を行う。マイコン０３５は、送信データがあると、送信用バッファ０３４に送信データを書き込む。
【００６０】
シリアルコントローラ０３２は、送信バッファ０３４のデータを、シリアルスイッチ００５の入出力００８a〜００８eのＴｘ信号に送信する。
【００６１】
ソフトウェアフロー制御によって、シリアルスイッチ００５がＸｏｎ／Ｘｏｆｆ制御コードをモジュールに送信すると、受信バッファ０３３に一旦格納され、これをマイコン０３５がリードする。マイコン０３５のソフトウェアフロー制御部０３６は、リードデータの中からＸｏｎ／Ｘｏｆｆ制御コードを検出すると、シリアルコントローラ０３２の送信制御を行い、送信バッファ０３４にあるデータの送信の開始・停止を行う。
【００６２】
スイッチ切替制御部０２５は、ステップ４でスイッチ接続制御信号０１４を制御することにより、シリアルスイッチ００５の接続先であるモジュールの切り替えを制御する。スイッチ接続制御信号０１４は、マルチプレクサ回路０１０により、Ｒｘスイッチ−１５の出力先を切り替え、同時にセレクタ回路０１２によりＴｘスイッチ０１１の入力を切替える。
【００６３】
図９および図１０は、ブレードサーバ装置００２のモジュールＡおよびモジュールＢでコマンドを実行する際の操作の一例である。ここでモジュールＡ、モジュールＢは、ブレードサーバ装置００２に搭載されるモジュール００４a〜００４eのうちの、任意の２つのモジュールを示す。
【００６４】
図９は、従来のシリアルスイッチを用いたときの操作を示す。図１０は、本発明を適用したシリアルスイッチを用いた操作を示す。なお、モジュールＡおよびモジュールＢで実行するコマンドは、図９と図１０で同じである。
【００６５】
モジュールＡおよびモジュールＢで実行するコマンドは、コンソールＰＣが発行し、シリアルスイッチを介してモジュールＡ，モジュールＢに送信される。またモジュールＡおよびモジュールＢはコマンドの実行が完了すると、シリアルスイッチを介してコマンドの実行結果をコンソールＰＣ００１に送信する。モジュールＡで実行するコマンドとモジュールＢで実行するコマンドは異なっていても良い。
【００６６】
図９および図１０の操作例を用いて、従来のシリアルスイッチ００５’を用いた時と、本発明を適用したシリアルスイッチ００５を用いた時との、ブレードサーバ装置００２のモジュールでのコマンド実行操作の違いを説明する。
【００６７】
＜図９  従来のシリアルスイッチ００５’を用いた場合＞
操作１では、コンソールＰＣ００１からスイッチ切替制御コードを発行し、シリアルスイッチの接続先をモジュールＡに切り替える。
【００６８】
操作２では、コンソールＰＣ００１からシリアルスイッチ００５’を介してモジュールＡに、コマンドを発行する。モジュールＡは、コンソールＰＣ００１からコマンドを受け取ると、そのコマンド処理を実行し、コマンドの実行が終了すると、コマンドの実行結果をシリアルスイッチ００５’に送信する。
【００６９】
操作３では、コンソールＰＣ００１は、上記のモジュールＡのコマンド実行結果をシリアルスイッチ００５’を介して取得する。
【００７０】
操作４では、シリアルスイッチの接続先をモジュールＡからモジュールＢに切り替える。
【００７１】
操作５では、コンソールＰＣ００１からシリアルスイッチ００５’を介してモジュールＢにコマンドを発行する。
【００７２】
操作６では、コンソールＰＣ００１は、シリアルスイッチ００５’を介してモジュールＢからコマンドの実行結果を取得する。
【００７３】
ところで、シリアルインタフェースは、シリアルデバイスとシリアルデバイスとを1：1で接続するためのインタフェースであり、シリアルデバイスは同時に２つの相手と接続することはできない。コンソールＰＣ００１とモジュールＢが接続している間、コンソールＰＣ００１は、モジュールＡが送信したデータを受け取ることができない。仮に、その間にモジュールＡがデータを送信すると、そのデータは、受け取り手がいないため、消失してしまう。
【００７４】
図９の操作２で、コンソールＰＣ００１は、モジュールＡにコマンドを送付した後、モジュールＡがコマンドの実行を終了してコマンド実行結果を送信してくるのを、待つ。モジュールＡがコマンドの実行結果を送信する前に、シリアルスイッチの接続先をモジュールＢに切替えてしまうと、モジュールＡの送信するコマンド実行結果は、受け取り手が無く消失してしまう。モジュールＡのコマンド実行結果のデータ消失を防ぐため、図９の操作例ではコンソールＰＣ００１がモジュールＡのコマンド実行結果を取得(操作３)してから、シリアルスイッチの接続先をモジュールＢに切り替え(操作４)、モジュールＢにコマンドを発行(操作５)する必要がある。
【００７５】
＜図１０  本発明を適用したシリアルスイッチ００５の場合＞
図１０における操作１および操作２は、図９における操作１および操作２と同じである。しかし、コンソールＰＣ００１がモジュールＡのコマンド実行結果を取得(操作７)する前に、操作３でシリアルスイッチ００５の接続先をモジュールＡからモジュールＢに切り替える点で、図１０は図９とは異なる。
【００７６】
シリアルスイッチ００５は、接続先のモジュールを切り替える際に、図５のシリアルスイッチ接続切替えシーケンスを実施する。この時、モジュールＡは、シリアルスイッチからＸｏｆｆ制御コードを受け取って、データ送信を停止する。モジュールＡは、データ送信を停止している間にコマンドを実行し、コマンドの実行を完了すると、コマンドの実行結果を図８の送信バッファ３４に蓄積して、コマンド実行結果送信待ちの状態になる。
【００７７】
操作４では、コンソールＰＣ００１からシリアルスイッチ００５を介してモジュールＢにコマンドを発行する。
【００７８】
操作５では、コンソールＰＣ００１は、シリアルスイッチ００５を介してモジュールＢからコマンドの実行結果を取得する。
【００７９】
操作６では、シリアルスイッチ００５の接続先をモジュールＢからモジュールＡに切り替える。本発明のシリアルスイッチ００５は接続先のモジュールを切り替える際に図５のシリアルスイッチ接続切替えシーケンスを実施する。この時、モジュールＡはシリアルスイッチからＸｏｎ制御コードを受け取って、送信バッファ３４に蓄積されたコマンドの実行結果の送信を行う。
【００８０】
操作７では、コンソールＰＣ００１が、シリアルスイッチ００５を介しモジュールＡから上記のコマンドの実行結果を取得する。
【００８１】
以上のように、本発明を適用したシリアルスイッチ００５を用いた図１０の操作では、
モジュールＡがコマンドの実行結果を送信する前に、シリアルスイッチの接続先をモジュールＢに切替えても、モジュールＡの送信するコマンド実行結果が消失してしまうことは無い。そのため、モジュールＡのコマンドが終了する前に、シリアルスイッチの接続先を切替えてモジュールＢにコマンドを発行して、モジュールＢでのコマンドの実行を開始することにより、操作の実施時間を短縮することが可能となる。
【００８２】
図１０で、本発明を適用したシリアルスイッチ００５は、コンソールＰＣ００１およびモジュール００４ａ〜eのフロー制御を行うことにより、シリアルスイッチに接続されていないモジュールがコマンドの実行結果を送信して、そのデータが消失してしまうことを防止する。
【００８３】
つまり、本発明を適用したシリアルスイッチ００５は、ハードウエアフロー制御部０２３によりコンソールＰＣ００１からモジュール００４ａ〜eへのデータ送信を制御し、ソフトウエアフロー制御部０２３によりモジュール００４ａ〜eからコンソールＰＣ００１へのデータ送信を制御し、スイッチ上を流れる双方向のデータ送信を制御するものである。そして、このシリアルスイッチ００５では、接続先モジュール００４ａ〜eの切り替え時に、コンソールＰＣ００１からの入力とスイッチ制御回路０１７による制御コードの入力とを切り替え、制御コードによりモジュール００４ａ〜eのデータ送信を制御している。このように、シリアルスイッチ００５自身が、コンソールＰＣ００１からのモジュール００４ａ〜eへのデータ送信及びモジュール００ａ〜e４からコンソールＰＣ００１へのデータ送信の両方を任意のタイミングで停止・再開できるので、上記切り替え時にシリアルスイッチ００５上にデータが存在しないことを保証可能となり、データを消失することなくモジュール００４ａ〜eの切り換えが実現できる。
【００８４】
さらにまた、本発明を適用したシリアルスイッチ００５は、コンソールＰＣ００１に接続したモジュールだけにデータ送信開始のフロー制御を行うため、コンソールＰＣ００１に接続していないモジュールがデータ送信を行って、そのデータが消失することも防止できる。
【００８５】
なお、本発明を適用したシリアルスイッチ００５の活用例として、自動で複数のモジュールに対してコマンドを発行する方法がある。この方法では、シリアルスイッチ００５の接続先を自動で切り替えながら複数のモジュールにコマンドを順次発行し、その後にシリアルスイッチ００５を自動で切替えながらコマンド実行結果を順番にコンソールＰＣ００１で取得していく。この時にコマンドの実行が完了しておらず実行結果を取得できなかった場合は、再度シリアルスイッチ００５を順次切替えて実行結果を取得する。この例では自動実行により複数のモジュールにコマンドを発行し、各モジュールの実行結果を消失することなく取得することができ、かつ複数のモジュールで並行してコマンド実行するので、コマンド実行時間の短縮が可能である。
【符号の説明】
【００８６】
００１  コンソールＰＣ
００２  ブレードサーバ装置
００３  ＲＳ２３２Ｃクロスケーブル
００４a〜００４e  シリアルインタフェースを備えたモジュール
００５  シリアルスイッチ
【図１】
2013156968.tif 000003
【図２】
2013156968.tif 000004
【図３】
2013156968.tif 000005
【図４】
2013156968.tif 000006
【図５】
2013156968.tif 000007
【図６】
2013156968.tif 000008
【図７】
2013156968.tif 000009
【図８】
2013156968.tif 000010
【図９】
2013156968.tif 000011
【図１０】
2013156968.tif 000012