(第1の実施形態)
本発明の第1の実施形態について説明する。
まず、本発明の第1の実施形態の構成について説明する。図1は、本発明の第1の実施形態における、構成を示すブロック図である。
図1を参照すると、接続管理システム1000は、情報処理装置1と、デバイス2を備えている。
情報処理装置1は、接続部11と制御部12とを備える。
接続部11には、デバイス2が接続される。例えば、接続部11は、情報処理装置1とデバイス2とを接続するためのポートである。情報処理装置1の接続部11とデバイス2とをケーブルで繋ぐことによって、情報処理装置1にデバイス2が接続される。また、接続部11とデバイス2との接続は、有線に限られず無線通信などによる接続であってもよい。
デバイス2は、情報報処理装置1に接続される機器である。デバイス2は、少なくとも2つの入出力ポートを備える。入出力ポートには、情報処理装置1や他のデバイスが接続される。入出力ポートの初期状態は、少なくとも1つの入出力ポートは他のデバイスと接続できる接続可能状態であり、残りの入出力ポートは他のデバイスと接続できない接続不可状態となっている。
デバイス2は、例えばハードディスク(磁気ディスク)装置、光記憶装置、光磁気記憶装置、SSD(Solid State Drive)などの記憶装置や、記憶装置を複数内蔵可能な筐体を含む装置、キーボード、ディスプレイなどの入出力装置、プリンタ、カメラなどの周辺機器である。また、デバイスは上記に限られず、情報処理装置1に接続されるものであればよい。
制御部12は、新たに情報処理装置1に接続されたデバイス2が他のデバイスと接続可能と判断された場合、デバイス2を他のデバイスと接続できない接続不可状態から他のデバイスと接続できる接続可能状態に変更するように制御する。制御部12はマイクロプロセッサやハードウェアプロセッサなどによって構成される。
次に、本発明の第1の実施形態における動作について説明する。図2は、本発明の第1の実施形態における、動作を示すフローチャートである。
まず、デバイス2が備える入出力ポートの初期状態は、少なくとも1つの入出力ポートは他のデバイスと接続できる接続可能状態であり、残りの入出力ポートは他のデバイスと接続できない接続不可状態となっている。
情報処理装置1にデバイス2が新たに接続されると(ステップS1001:YES)、制御部12は、新たに接続されたデバイス2が他のデバイスと接続可能であるか否か判断する(ステップS1002)。
例えば、情報処理装置1に接続可能な上限接続数を判断の条件とする。制御部12は、現在接続されているデバイス2の接続数が上限接続数より少ない場合、他のデバイスと接続可能と判断する。
デバイス2が新たに接続されない場合(ステップS1001:NO)、デバイス2が接続されるまで待機する。
制御部12は、情報処理装置1に新たに接続されたデバイス2が他のデバイスと接続可能であると判断した場合(ステップS1002:YES)、制御部12は、デバイス2を他のデバイスと接続できない接続不可状態から他のデバイスと接続できる接続可能状態に変更する(ステップS1003)。すなわち、制御部12は、接続不可状態となっていた入出力ポートを接続可能状態に変更する。
制御部12は、新たに接続されたデバイス2が接続可能でないと判断した場合(ステップS1002:NO)、デバイス2の接続を許可することなく処理を終了する。デバイス2は初期状態から変更されないため、他のデバイスと接続できない接続不可状態が維持される。
本発明の第1の実施形態は、設定された条件で適切にデバイス2を管理できることにある。その理由は、制御部12が、情報処理装置1に新たに接続されたデバイス2が更に他のデバイスと接続可能と判断した場合、デバイス2を他のデバイスと接続できない接続不可状態から他のデバイスと接続できる接続可能状態に変更するためである。また、制御部12はデバイス2が他のデバイスと接続可能でないと判断した場合、当該デバイス2では新たなデバイス2と接続できない接続不可状態が維持される。これにより、デバイス2が情報処理装置1の接続数の上限を超えて接続されることがなくなり、誤作動の発生を防ぐことが可能となる。
また、本発明の第1の実施形態は、ケーブル等で複数台連結されたデバイス2が新たに接続されても、設定された条件を超えない範囲でデバイス2を接続することができる。その理由は、制御部12が、情報処理装置1に接続されたデバイス2が他のデバイスと接続可能でないと判断した場合、当該デバイス2 の初期状態である他のデバイスと接続できない接続不可状態が維持されるためである。
すなわち、情報処理装置1に複数台連結されているデバイス2が接続されても、制御部12が他のデバイスと接続可能と判断するまで、他のデバイスと接続可能な状態とならない。よって、ケーブル等で複数台連結されたデバイス2が情報処理装置1に接続されたとしても、接続管理システム1000として、デバイス2が複数台連結された状態で認識(接続)されない。
よって、設定された条件を超えることなくデバイス2が接続されるように情報処理装置1を適切に管理することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本実施形態では、デイジーチェーン接続によって、ディスクコントローラに複数のディスクエンクロージャが接続されたディスクアレイ装置を一例として説明する。なお、デイジーチェーン接続とは、デバイス2などの周辺機器を直列に接続する方法のことである。
まず、本発明の第2の実施形態の構成について説明する。図3は、本発明の第2の実施形態における、構成を示すブロック図である。
図3を参照すると、接続管理システム1000は、情報処理装置1、デバイス2(デバイス2a、2b、2c)を備えている。接続管理システム1000は、例えばディスクアレイ装置である。以下、それぞれのデバイス2a、2b、2cを区別する場合はデバイス2a、2b、2cと記し、区別しない場合はデバイス2と記載する。デバイス2が備える構成要素に関しても同様に記載する。
情報処理装置1は、接続部11、制御部12、情報記憶部13を備える。情報処理装置1は、例えばディスクエンクロージャを管理するディスクコントローラである。
接続部11は、情報処理装置1が他のデバイスと接続するために用いられるポートであり、デバイス2の入出力ポート21と接続される。
すなわち、情報処理装置1の接続部11とデバイス2の入出力ポート21をケーブルで繋ぐことによって、情報処理装置1にデバイス2が接続される。
情報記憶部13は、デバイスの接続に関する情報を記憶している。情報記憶部13は、デバイス情報131と、接続条件情報132を記憶している。
デバイス情報131は、情報処理装置1に接続されたデバイス2に関する情報である。図4は、本発明の第2の実施形態における、デバイス情報131の一例を示す図である。デバイス情報131は、接続管理番号1311、デバイス識別情報1312を含んで構成される。
接続管理番号1311は、情報処理装置1に接続されたデバイス2を管理するための情報である。接続管理番号1311は、情報処理装置1に接続されたデバイス2の接続数を示している。
デバイス識別情報1312は、情報処理装置1に接続されたデバイス2を識別するための情報である。図4では、デバイス識別情報1312の一例として、ディスクエンクロージャのSASエクスパンダに割り付けられるSASアドレスを示している。
すなわち、図4は、情報処理装置1にSASアドレスが5000xxxyyyzzza、5000xxxyyyzzzb、5000xxxyyyzzzcのデバイスが接続されており、合計3台のデバイスが接続されていることを示している。
なお、デバイス識別情報1312は、情報処理装置1に接続されるデバイス2が他のデバイスと識別可能な情報を持っていればよい。そのため、情報の種類は上記に限られず、ベンダIDやシリアルID、固有アドレス等、種類及び個体が識別できる情報であればよい。
接続条件情報132は、情報処理装置1が接続可能なデバイス2に関する情報である。図5は、本発明の第2実施形態における、接続条件情報132の一例を示す図である。接続条件情報132とは、情報処理装置1に接続可能なデバイス2の上限接続数1321を含んで構成される。
図5において、上限接続数1321は8となっており、情報処理装置1はデバイス2が8台まで接続可能であることを示している。
図5において、接続条件情報132は上限接続数1321の例を示したが、これに限られず、接続条件情報132はデバイス2の接続可能な数を示す所定の範囲であったり、接続可能なデバイス2の種類であったりしても構わない。情報処理装置1に接続可能なデバイス2の条件を設定するものであればよい。
制御部12は、情報処理装置1に新たなデバイス2が接続されると、デバイス情報131を更新する。具体的には、 制御部12は、現在の接続管理番号1311に1加算した値と、情報処理装置1に接続されたデバイス2の識別子を、新たに接続されたデバイス2の接続管理番号1311とデバイス識別情報1312として記憶する。以上により、制御部12は、デバイス情報131を更新する。
また、制御部12は、デバイス情報131、接続条件情報132に基づき、情報処理装置1に接続されたデバイス2が他のデバイスと接続可能か否かを判断する。
具体的には、制御部12は、接続管理番号1311を参照し、情報処理装置1に接続されたデバイス2の接続数と上限接続数1321を比較する。制御部12は、現在のデバイス2の接続数が、上限接続数1321より少ない場合、デバイス2が他のデバイスと接続可能と判断する。
そして、制御部12は、デバイス2が他のデバイスと接続可能と判断した場合、デバイス2に、接続可否を変更するように指示を出す。すなわち、制御部12は、デバイス2に接続可否を変更するように指示を出すことにより、デバイス2の入出力ポート24をディセーブル状態から、イネーブル状態に変更する。
デバイス2は、入出力ポート21、設定変更部22、デバイス情報記憶部23、入出力ポート24を備える。デバイス2は、例えば複数の記憶装置を格納するディスクエンクロージャである。その場合、ディスクエンクロージャは図示しない複数の記憶装置をさらに備える。
入出力ポート21及び入出力ポート24は、有線や無線によって情報処理装置1や他のデバイスと接続される。
入出力ポート21の初期状態は、他のデバイスと接続できる接続可能状態であり、入出力ポート24の初期状態は、他のデバイスと接続できない接続不可状態となっている。入出力ポート21は、情報処理装置1の接続部11や、制御部12が接続不可状態から接続可能状態に変更したデバイス2の入出力ポート24と接続される。
入出力ポート24は、制御部12が他のデバイスと接続可能と判断した場合、他のデバイスの入出力ポート21と接続される。
入出力ポート21と接続部11、入出力ポート21と入出力ポート24の接続方式は例えば、SCSI(Small Computer System Interface)規格やSAS(Serial Attached SCSI)規格、USB(Universal Serial Bus)規格やIEEE1394規格など、デバイスに対応する接続方式によって接続されればよく、特に制限されるものではない。
なお、入出力ポート21及び入出力ポート24の接続可否設定に関する情報は、設定情報231としてデバイス情報記憶部23に記憶されている。設定情報231は、デバイス2の入出力ポート21が他のデバイスと接続可能か否かを示す接続可否に関する情報と、入出力ポート24が他のデバイスとの接続可能か否かを示す接続可否に関する情報である。
設定変更部22は、入出力ポート21及び入出力ポート24の接続可否を変更する。すなわち、制御部12から接続可否を変更する指示を受けた場合、設定変更部22は、当該指示に基づき、設定情報231の入出力ポート24の接続可否に関する情報を接続不可状態から接続可能状態に接続可否を変更する。これにより、入出力ポート24は他のデバイスと接続可能なイネーブル状態になる。
デバイス情報記憶部23は、デバイス2に関する情報を記憶している。デバイス情報記憶部23は、上述したデバイス2の接続可否設定に関する設定情報231を記憶する。
図6は、本発明の第2実施形態における、設定情報231の一例を示す図である。設定情報231は、デバイス2におけるポートの情報であるデバイスポート情報2311と、デバイス2のポートの接続設定情報2312を含んで構成される。
図6において、デバイス2の入出力ポート21は他のデバイスと接続できる接続可能状態となっており、デバイス2の入出力ポート24は他のデバイスと接続できない接続不可状態になっていることを示している。
なお、初期状態として、入出力ポート21は接続可能状態、入出力ポート24は接続不可状態となっている。そのため、デバイス2と他のデバイスは初期状態では接続できない状態となっている。
ここで、デバイス情報131について補足する。図7は、本発明の第2の実施形態における、物理接続情報133の一例を示す図である。
情報記憶部13は、接続条件情報132に加え、図7に示すような物理接続情報133を記憶していてもよい。
物理接続情報133は、情報処理装置1の入出力ポート21や入出力ポート24に関する情報である。物理接続情報133は、ポート情報1331と接続先情報1332を含む情報から構成され、ポートと当該ポートがどこに接続されるかを示す情報である。
図8は、本発明の第2の実施形態における、情報処理装置1のハードウェア構成の一例を示すブロック図である。
情報処理装置1は、CPU(Central Processing Unit)61、メモリ62、補助記憶装置63、拡張ポート64含み、各構成要素は、互いにバス67によって接続される。
CPU61は、情報処理装置1を制御するプログラムを実行する中央演算処理装置である。CPU61は、補助記憶装置63に格納されたプログラムに基づいて所定の処理を実行して、情報処理装置1の動作を制御する。例えば、CPU61は、補助記憶装置63に格納されたプログラムに基づいて、制御部12の機能を実現する。
メモリ62は、プログラムが展開される主記憶装置である。
補助記憶装置63は、情報処理装置1の動作を制御するプログラムを格納する。
拡張ポート64は、各種デバイス2と接続する。
本実施形態では、CPU61は、補助記憶装置63に格納されたプログラムを読み出して実行するものとして説明したが、当該プログラムをCDROM(Compact Disc Read Only Memory)等の記憶媒体に格納してCPU61に提供することも可能である。
なお、本発明の第2の実施形態における、デバイス2のハードウェア構成については、情報処理装置1と同様に構成すればよいため、詳細な説明は省略する。設定変更部22の機能は、上述の制御部12と同様に、CPU61が補助記憶装置63に格納されたプログラムに基づいて所定の処理を実行することにより実現することができる。
次に、本発明の第2の実施形態における動作について説明する。図9は、本発明の第2実施形態における、動作を示すフローチャートである。
図9は、情報処理装置1にデバイス2を接続する動作を示すフローチャートである。
本動作開始前のデバイス2の設定情報231は、初期状態となっている。すなわち、デバイス2の入出力ポート21は接続可能状態であり、入出力ポート24は接続不可状態である。
情報処理装置1に新たにデバイス2が接続された場合(ステップS2001:YES)、ステップS2002にすすむ。
情報処理装置1に新たにデバイス2が接続されない場合(ステップS2001:NO)情報処理装置1にデバイス2が接続されるまで待機する。
情報処理装置1に新たにデバイス2が接続されると(ステップS2001:YES)、制御部12は、デバイス情報131を更新する(ステップS2002)。具体的には、制御部12は、現在の接続管理番号1311に1加算した値を接続管理番号1311として記憶する。また、情報処理装置1に接続されたデバイス2の識別子をデバイス識別情報1312として記憶する。以上により、制御部12は、デバイス情報131を更新する。
次に、制御部12は、情報処理装置1に接続されているデバイス2の接続数と上限接続数1321を比較する。なお、情報処理装置1に接続されているデバイス2の接続数は、デバイス情報131を参照して確認することができる。具体的には、情報処理装置1に接続されているデバイス2の接続数は、接続管理番号1311の最後の行にある値となる。例えば図4において、情報処理装置1に接続されているデバイス2の接続数は3台となる。
そして、現在の情報処理装置1に接続されているデバイス2の接続数が接続条件情報133に合致しているか判断する。すなわち、制御部12は、現在接続されているデバイス2の接続数が上限接続数1321より少ないか否かを判断する(ステップS2003)。
制御部12は、現在接続されているデバイス2の接続数が上限接続数1321より少ない場合(ステップS2003:YES)、制御部12は、情報処理装置1に接続されたデバイス2が他のデバイスと接続可能と判断する(ステップS2003:YES)。そして、ステップS2004へ進む。
制御部12は、現在接続されているデバイス2の接続数が上限接続数1321よりも多い場合、制御部12は、情報処理装置1に接続されたデバイス2が他のデバイスと接続不可と判断する(ステップS2003:NO)。そして本フローを終了する。すなわち、制御部12は、情報処理装置1に接続されたデバイス2が他のデバイスと接続不可と判断した場合、デバイスの入出力ポート24は初期状態である接続不可状態が維持される。よって、デバイス2は新たに他のデバイスと接続することができない。
制御部12は、情報処理装置1に接続されたデバイス2が他のデバイスと接続可能と判断した場合(ステップS2004:YES)、制御部12は他のデバイスと接続できない接続不可状態から、他のデバイスと接続できる接続できる接続可能状態に変更する。
すなわち、制御部12は、設定変更部22に接続設定情報2312を変更する指示を出す。そして、設定変更部22は、入出力ポート24の接続設定情報2312を接続不可状態から接続可能状態に変更する。設定変更部22は、設定情報231に基づいて入出力ポート24の設定を変更する。これによって、入出力ポート24はディセーブル状態からイネーブル状態に変更する。
以上により、第2の実施形態における、動作が完了する。
なお、新たに接続されたデバイス2は、ステップS2001の後において入出力ポート24の設定情報231を確認し、自装置を起動するか否かを判定する自己判定機能を備えてもよい。その場合、デバイス2は、自装置の入出力ポート24の設定情報231が接続不可状態であればデバイス2を起動するようにし、入出力ポート24の設定情報231が接続可能状態であれば起動せず、情報処理装置1にエラーを通知するように構成される。デバイス2が上記のような自己判定機能を備えることにより、より間違いの無い接続が可能となる。
本発明の第2の実施形態は、設定された条件で適切にデバイス2を管理できることにある。その理由は、制御部12が、情報処理装置1に新たに接続されたデバイス2が更に他のデバイスと接続可能と判断した場合、デバイス2を他のデバイスと接続できない接続不可状態から他のデバイスと接続できる接続可能状態に変更するためである。また、制御部12はデバイス2が他のデバイスと接続可能でないと判断した場合、当該デバイス2では新たなデバイス2と接続できない接続不可状態が維持される。これにより、デバイス2が情報処理装置1の接続数の上限を超えて接続されることがなくなり、誤作動の発生を防ぐことが可能となる。
本発明の第2の実施形態は、接続可能な上限を超えない範囲でデバイスを接続することができる。その理由は、制御部12が、情報処理装置1に接続されたデバイス2に関する情報であるデバイス情報131と、情報処理装置1が接続可能なデバイス2に関する情報である接続条件情報132に基づいて、情報処理装置1に接続されたデバイス2が情報処理装置1に接続可能か否かを判断するためである。
接続条件情報132は、接続可能なデバイス2の上限接続数1321を含んでいる。制御部12は、上限接続数1321を超えているか否かに基づき、デバイス2が接続可能か否かを判断しているため上限接続数1321を超えることがない。
本発明の第2の実施形態は、ケーブル等で複数台連結されたデバイス2が新たに接続されても、設定された条件を超えない範囲でデバイス2を接続することができる。その理由は、制御部12が、情報処理装置1に接続されたデバイス2が他のデバイスと接続可能でないと判断した場合、当該デバイス2の初期状態である他のデバイスと接続できない接続不可状態が維持されるためである。
すなわち、情報処理装置1に複数台連結されているデバイス2が接続されても、制御部12が他のデバイスと接続可能と判断するまで、他のデバイスと接続可能な状態とならない。ケーブル等で複数台連結されたデバイス2が情報処理装置1に接続されたとしても、接続管理システム1000として、デバイス2が複数台連結された状態で認識(接続)されない。よって、設定された上限接続数1321を超えることなくデバイス2が接続されるように情報処理装置1を適切に管理することができる。
なお、上限接続数1321は様々な要因で決定されるが、情報処理装置1上にあるデバイス管理回路の仕様や、情報処理装置1としてのキャッシュ容量等によって決定される場合が多い。よって、作業ミス等により、デバイス2の接続数が上限接続数1321を超える場合、デバイス管理回路の仕様数を超えたデバイス2が認識されてしまい、ハングアップしてしまったり、チップ内蔵メモリの不足等が発生したり、正常動作が不可能になってしまう問題があった。
しかし、本発明は上記のような制御部12が、情報処理装置1に接続されたデバイスが他のデバイスと接続可能と判断した場合、デバイスを他のデバイスと接続できない接続不可状態から他のデバイスと接続できる接続可能状態に変更する制御を行っている。そのため、物理的な構造追加無しに誤接続防止することができ、誤作動を生じることなく、デバイス2を情報処理装置1に接続することができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
図10は、本発明の第3の実施形態における、構成を示すブロック図である。本実施形態のデバイス2は、入出力ポート24を2つ備える点が第2の実施形態と相違する。デバイス2は、入出力ポート21と2つの入出力ポート24を備えるため、本実施形態ではツリー構造が可能である。なお、本実施形態では、入出力ポート24を2つ備える例を示すが、入出力ポート24が2つ以上の場合も同様に構成することができる。
図10を参照すると、接続管理システム1000は、情報処理装置1、デバイス2(デバイス2a、2b、2c)を備えている。
情報処理装置1は、接続部11、制御部12、情報記憶部13を備える。
接続部11は、デバイス2aの入出力ポート21aと接続する。接続部11は、情報処理装置1がデバイス2aと接続するために用いられるポートである。
情報記憶部13は、デバイスの接続に関する情報を記憶している。情報記憶部13は、デバイス情報131と、接続条件情報132を記憶している。
デバイス情報131は、情報処理装置1に接続されたデバイス2に関する情報である。
図11は、本発明の第3の実施形態における、デバイス情報131の一例を示す図である。図11は、図10の構成におけるデバイス情報131を示した図である。本実施形態におけるデバイス情報131は、第2の実施形態における接続管理番号1311とデバイス識別情報1312に加え、デバイス2が備える入出力ポート24の数を示す入出力ポート数1313、デバイス2が接続された段数を示す接続段数1314を含んで構成される。接続管理番号1311とデバイス識別情報1312は、第2の実施形態と同様に構成すればよいため説明を省略する。
入出力ポート数1313は、新たにデバイス2を接続するための入出力ポート24の数を示している。よって、入出力ポート24の数が、入出力ポート数1313となる。
接続段数1314は、デバイス2がいくつのデバイス2を介して情報処理装置1に接続されているかを示す情報である。例えば、図10において、情報処理装置1が1段目、情報処理装置1の接続部11に接続されているデバイス2aが2段目、デバイス2aに接続されているデバイス2b及びデバイス2cが3段目となる。
接続条件情報132は、情報処理装置1に接続可能なデバイス数を示す情報である。
制御部12は、デバイス情報131を参照し、情報処理装置1に新たに接続されたデバイス2の接続段数1314を取得する。制御部12は、接続条件情報132に基づき、新たに接続されたデバイス2の接続段数1314までのすべての入出力ポート24が、他のデバイスと接続可能か判断する。具体的には、新たに接続されたデバイス2の接続段数1314までのすべての入出力ポート24の総数が上限接続数1321より超えない場合、他のデバイスと接続可能と判断する。制御部12は、他のデバイスと接続できる接続可能と判断した場合、デバイス2を接続可能状態に変更する。
デバイス2は、入出力ポート21、設定変更部22、デバイス情報記憶部23、及び2つの入出力ポート24(入出力ポート24−1、24−2)を備える。
以下、入出力ポート24−1、24−2のそれぞれを区別する場合は入出力ポート24−1、24−2とし、入出力ポート24−1、入出力ポート24−1の総称として用いる場合は入出力ポート24と記載する。
入出力ポート21及び入出力ポート24は、有線や無線によって情報処理装置1や他のデバイスと接続する。入出力ポート21の初期状態は、他のデバイスと接続できる接続可能状態であり、入出力ポート24−1及び入出力ポート24―2の初期状態は、他のデバイスと接続できない接続不可状態となっている。
入出力ポート21は、情報処理装置1の接続部11や、制御部12が接続不可状態から接続可能状態に変更したデバイス2の入出力ポート24−1又は入出力ポート24―2と接続される。
入出力ポート24は、制御部12が他のデバイスと接続可能と判断した場合、他のデバイスの入出力ポート21と接続される。
すなわち、本実施形態におけるデバイス2は、入出力ポート24を2つ備えるため、ツリー構造が可能である。
また、入出力ポート21及び入出力ポート24の接続可否設定に関する情報は、設定情報231としてデバイス情報記憶部23に記憶されている。設定情報231における入出力ポート24の初期状態は、他のデバイスと接続できない接続不可状態となっている。 設定変更部22は、制御部12から接続可否を変更する指示を受けた場合、入出力ポート21や入出力ポート24の設定情報231を変更し、当該設定情報231に基づき接続状態を変更する。
デバイス情報記憶部23は、デバイス2に関する情報を記憶している。デバイス情報記憶部23は、上述したデバイス2の接続可否設定に関する設定情報231を記憶する。
なお、本発明の第3の実施形態における、情報処理装置1、デバイス2のハードウェア構成については、第2の実施形態と同様に構成すればよいため、説明は省略する。
次に、本発明の第3の実施形態における動作について説明する。図12は、本発明の第3実施形態における、動作を示すフローチャートである。
図12は、情報処理装置1にデバイス2を接続する動作を示すフローチャートである。本動作開始前のデバイス2の設定情報231は、初期状態となっている。すなわち、デバイス2の入出力ポート21は接続可能状態であり、入出力ポート24−1及び入出力ポート24−2は接続不可状態である。
情報処理装置1に新たにデバイス2が接続された場合(ステップS3001:YES)、ステップS3002にすすむ。情報処理装置1に新たにデバイス2が接続されない場合(ステップS3001:NO)、情報処理装置1にデバイス2が接続されるまで待機する。
情報処理装置1に新たにデバイス2が接続されると(ステップS3001:YES)、制御部12は、デバイス情報131を更新する(ステップS3002)。具体的には、制御部12は、現在の接続管理番号1311に1加算した値と、情報処理装置1に接続されたデバイス2の識別子を、新たに接続されたデバイス2の接続管理番号1311とデバイス識別情報1312として記憶する。また、デバイス2の入出力ポート24の数を取得し、入出力ポート数1313として記憶する。さらに、デバイス2が何段目に接続されたか検出し、接続段数1314を記憶する。以上により、制御部12は、デバイス情報131を更新する。
次に、制御部12は、接続条件情報132に基づき、新たに接続されたデバイス2の接続段数1314までのすべての入出力ポート24が、他のデバイスと接続可能か判断する。具体的には、制御部12は、新たに接続されたデバイス2の接続段数1314までの入出力ポート24の数を算出し、入出力ポート24の総数が上限接続数1321より超えないか否か判断する(ステップS3003)。
例えば、新たなデバイス2が3段目に接続されると、制御部12は、入出力ポート数1313と接続段数1314を参照し、2段目及び3段目に接続されたデバイス2の入出力ポート数1313の総数を算出する。そして、制御部12は接続条件情報132を参照し、2段目及び3段目のデバイス2の入出力ポート数1313の総数が上限接続数1321より超えないか否か判断する。
制御部12は、入出力ポート24の総数が上限接続数1321より超えないと判断した場合(ステップS3003:YES)、新たに接続されたデバイス2の接続段数1314までのすべての入出力ポート24は他のデバイスと接続可能と判断する。そして、制御部12は、当該接続段数1314のデバイス2の入出力ポート24全てを他のデバイスと接続できない接続不可状態から、他のデバイスと接続できる接続できる接続可能状態に変更する(ステップS3004)。
すなわち、制御部12は、設定変更部22に接続可否を変更する指示を出す。そして、設定変更部22は、制御部12からの指示に基づき、入出力ポート24の接続設定情報2312を接続不可状態から接続可能状態に変更し、設定情報231に基づいて入出力ポート24の接続状態を変更する。これによって、入出力ポート24はディセーブル状態からイネーブル状態に変更する。
そして設定変更部22は、制御部12からの指示に基づき、設定情報231を接続不可状態から接続可能状態に変更すると共に、デバイス2の入出力ポート24の状態を接続可能状態に変更する。
制御部12は、入出力ポート24の総数が上限接続数1321より超えると判断した場合(ステップS3003:NO)、新たに接続されたデバイス2の接続段数1314までのすべての入出力ポート24は他のデバイスと接続できないと判断する。よって、設定変更部22は、接続可否を変更せず、本フローを終了する。すなわち、制御部12が入出力ポート24の総数が上限接続数1321より少なくないと判断した場合、デバイスの入出力ポート24は初期状態である接続不可状態が維持される。よって、デバイス2は新たに他のデバイスと接続することができない。
以上により、第3の実施形態における、動作が完了する。
ステップS3004において、制御部12は、入出力ポート24の総数が上限接続数1321より多い場合、接続段数1314すべての入出力ポート24を接続可能状態に変更することができないため、フローを終了する例を示したが、その後、入出力ポート24ごとに個別に接続可能状態に変更してもよいか判断してもよい。
その場合、各入出力ポート24に対して優先度を設定し、優先度に応じて接続可否の判断を行えばよい。なお、このときの判断方法は第2の実施形態と同様に行えばよいため説明は省略する。
本発明の第3の実施形態は、デバイス2が複数の入出力ポート24を備える場合にも、条件内でデバイスを接続することができることにある。その理由は、新たに接続されたデバイス2の接続段数1314までのすべての入出力ポート24は他のデバイスと接続可能か判断するためである。具体的には、制御部12が入出力ポート24の総数が上限接続数1321を超えないと判断した場合、デバイスが他のデバイスと接続できない接続不可状態から他のデバイスと接続できる接続可能状態に変更されるためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。