PCI Expressは、I/Oシリアル転送インターフェースである。また、PCI Expressスイッチは、PCI Express ポートを増やすためのデバイスである。特許文献1には、通信ネットワークを介したPCI Expressスイッチを介して、複数のCPU(Central Processing Unit)と周辺装置を接続したシステムが記載されている。
ExpEtherは、PCIe(PCI Express)のTLP(Transaction Layer Packet)をカプセル化することによってEthernet(登録商標)フレームを作成し、作成されたEthernetフレームをレイヤ2ネットワーク経由で送受信する技術である。ExpEtherの技術を用いた場合、ユーザは、例えば、PCIe規格のリソースとサーバをレイヤ2ネットワーク経由で接続できる。
ExpEtherネットワークは、サーバ側に配置されるExpEtherカードと、I/Oデバイス側に配置されるExpEtherカードと、管理サーバとを接続するためのレイヤ2ネットワークである。
以下、ExpEtherカードを説明する。ExpEtherカードは、データフレームと制御フレームをレイヤ2ネットワーク経由で送受信するEthernetカードである。データフレームは、TLPがカプセル化されて作成されたEthernetフレームである。
ExpEtherカードは、送信するフレームに、自身に割り当てられたグループIDを設定する。また、ExpEtherカードは、自身に割り当てられたグループIDと異なるグループIDが設定されたフレームを受信した場合、受信したフレームを廃棄する。
ExpEtherカードの種別には、EESVカード(以下、EESVという。)とEEIOカード(以下、EEIOという。)の2種類が存在する。
EESVは、サーバ側に配置されるExpEtherカードである。EESVは、PCIeスイッチのUpstream Portとして動作する。EESVは、PCIeのRoot complex機能を有するチップセットと接続する。
EEIOは、I/Oデバイス側に配置されるExpEtherカードである。EEIOは、PCIeスイッチのDownstream Portとして動作する。EEIOは、ストレージやネットワークインタフェースカードなどのI/Oデバイスと接続する。
EESVは、自身に割り当てられたグループIDと同一のグループIDが設定されている、EEIOが送信した制御フレームの受信を契機に、制御フレームを送信したEEIOとの接続を確立する。送信される制御フレームは、例えば、DEVINFOフレームである。
なお、EEIOは、レイヤ2ネットワークを介してEESVに接続する。新たにEESVに接続する場合、EEIOには、DEVINFOフレームをブロードキャストすることが求められる。
また、サーバは、起動直後にBIOS(Basic Input/Output System)経由で通信先のI/Oデバイスを認識するために、例えば、起動後100ms以内にEEIOからのブロードキャスト情報を受信しなくてはならない。サーバにI/Oデバイスを認識させるために、EEIOには、短い間隔でDEVINFOフレームを送信することが求められる。
EESVに未接続のEEIOは、EESVとの接続を確立するために、DEVINFOフレームを短い間隔でブロードキャストする。DEVINFOフレームが送信される間隔は、例えば、10ms間隔である。
EESVとの接続が確立されたEEIO、およびEESVは、キープアライブとして、DEVINFOフレームを所定の間隔でブロードキャストする。所定の間隔は、例えば、500ms間隔である。
ExpEtherの技術が適用された、ExpEtherカードを含む通信システムの構成例を図11に示す。図11は、ExpEtherの技術が適用された通信システムの構成例を示すブロック図である。図11に示す通信システムは、管理サーバ900と、サーバ201〜20Kと、EEIO301〜30Lと、EEIO501〜50Mと、I/Oデバイス401〜40Lと、I/Oデバイス601〜60Mと、レイヤ2ネットワーク700とを含む。
管理サーバ900は、管理ソフトウェア901と、Ethernetカード902とを含む。サーバ201は、チップセット211と、CPU221と、メモリ231と、EESV241とを含む。他のサーバの構成も、サーバ201の構成と同様である。
管理サーバ900、サーバ201〜20K、EEIO301〜30L、およびEEIO501〜50Mは、レイヤ2ネットワーク700に接続されている。また、I/Oデバイス401〜40Lは、EEIO301〜30Lにそれぞれ接続されている。また、I/Oデバイス601〜60Mは、EEIO501〜50Mにそれぞれ接続されている。
管理ソフトウェア901は、ExpEtherカードを一括管理するアプリケーションソフトウェアである。管理ソフトウェア901は、レイヤ2ネットワーク700に接続されたExpEtherカードとの間で制御フレームを送受信することによって、ExpEtherカードを管理する。
管理ソフトウェア901の主な機能として、以下に示す機能がある。管理ソフトウェア901は、ExpEtherカードに対して制御フレームを送信することによって、グループIDを割り当てる機能を有する。送信される制御フレームは、例えば、VLANSETフレームである。
VLANSETフレームは、ExpEtherカードのグループIDの更新に用いられる制御フレームである。VLANSETフレームを受信したExpEtherカードは、自身のグループIDを、VLANSETフレームに含まれているグループIDに更新する。
なお、管理ソフトウェア901は、システム管理者用のユーザインタフェースを提供してもよい。提供されたユーザインタフェースを介して、システム管理者は、例えばExpEtherカードに割り当てるグループIDを設定できる。
また、ExpEtherカードがブロードキャストしたDEVINFOフレームが受信された場合、管理ソフトウェア901は、受信されたDEVINFOフレームに含まれるデバイス情報を抽出し、データベースまたはメモリに保存する機能を有する。なお、管理ソフトウェア901がシステム管理者用のユーザインタフェースを提供する場合、システム管理者は、提供されたユーザインタフェースを介して保存されたデバイス情報を参照できる。
また、管理ソフトウェア901は、管理対象の各ExpEtherカードの生存の有無を確認する機能を有する。管理ソフトウェア901は、各ExpEtherカードが送信した各DEVINFOフレームが受信された間隔が所定時間以内であるか否かを確認することによって、各ExpEtherカードの生存の有無を確認する。管理ソフトウェア901は、ExpEtherカードから所定時間以内にDEVINFOフレームが受信されているか否かを、保存するデバイス情報にDEVINFO受信状態情報として含める。
図11に示すように、EESV241およびEEIO301〜30Lには、同一のグループID(GID=x)が割り当てられている。また、EESV24KおよびEEIO501〜50Mには、同一のグループID(GID=y)が割り当てられている。上記のように、管理サーバ900の管理ソフトウェア901が、対象の各ExpEtherカードに対して、同一のグループIDを割り当てる。
同一のグループIDが割り当てられることによって、EESV241およびEEIO301〜30L、EESV24KおよびEEIO501〜50Mは、それぞれ仮想的なPCIeスイッチを構成する。図11に示す点線の枠内が、構成された仮想的なPCIeスイッチに相当する。
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による管理装置の実施形態の構成例を示すブロック図である。図1に示す管理サーバ100は、管理ソフトウェア101と、Ethernetカード102と、管理EESV801〜80Nとを含む。Ethernetカード102および管理EESV801〜80Nは、レイヤ2ネットワークに接続されている。
管理サーバ100は、図11に示す通信システムにおいて、管理サーバ900の代わりに使用される管理サーバである。なお、図1に示す管理サーバ100の構成は、管理EESVが管理サーバ100に配置された場合の構成である。管理サーバ100は、管理EESVを含まなくてもよい。
管理サーバ100には、PCIeスイッチとして未使用のEEIOが接続される管理EESVが配置されている。管理EESVには、EESVに未接続のEEIOが接続される。管理EESVにEEIOが接続されることによって、EEIOがEESVと接続を確立するためにブロードキャストするDEVINFOフレームが抑止される。
なお、管理サーバ100は、管理EESVに接続されているEEIOに対して、レイヤ2ネットワーク上のサーバに配置されているEESVに割り当てられているグループIDと同じグループIDを割り当てることもできる。すなわち、管理サーバ100は、EEIOとEESVの接続を確立させるという、通常のExpEtherカードの管理装置としての機能も有する。
管理ソフトウェア101は、ユーザインタフェース部111と、制御フレーム送信部112と、制御フレーム受信部113と、デバイス制御部114と、デバイス情報記憶部115と、管理EESV制御部116と、管理EESV情報記憶部117と、管理対象I/Oデバイス情報記憶部118とを含む。なお、図1に示す実線の矢印は、例えばデータの入出力処理を示す。また、図1に示す点線の矢印は、例えばデータの参照処理や、データの更新処理を示す。
ユーザインタフェース部111は、システム管理者用のユーザインタフェースを提供する機能を有する。ユーザインタフェース部111が提供するユーザインタフェースを介して、システム管理者は、管理EESV情報の参照および更新、管理対象I/Oデバイス情報の参照および更新、デバイス情報の参照、グループIDの設定および初期化を実行できる。
制御フレーム送信部112は、Ethernetカード102を介してExpEtherカードに制御フレームを送信する機能を有する。制御フレーム送信部112は、例えば、システム管理者がグループIDを設定した際、パラメータとして指定されたMAC(Media Access Control)アドレスを有するExpEtherカードに、設定されたグループIDを含むVLANSETフレームを送信する。
本実施形態におけるVLANSETフレームの構成例を図2に示す。図2は、制御フレーム送信部112が送信するVLANSETフレームの構成例を示す説明図である。
図2に示すVLANSETフレームは、「宛先MACアドレス」、「送信元MACアドレス」、「グループID」、「フレーム種別」、「更新後グループID」の各フィールドで構成される。なお、図2に示すVLANSETフレームには、本実施形態に関係するフィールドのみが含まれている。以下、図2に示すVLANSETフレームの各フィールドを説明する。
「宛先MACアドレス」は、VLANSETフレームの送信先ExpEtherカードのMACアドレスが指定されるフィールドである。
「送信元MACアドレス」は、VLANSETフレームの送信元である、管理ソフトウェア101が使用するEthernetカード102のMACアドレスが指定されるフィールドである。
「グループID」は、VLANSETフレームの送信先ExpEtherカードに割り当てられているグループIDが指定されるフィールドである。「グループID」には、送信先ExpEtherカードの更新前のグループIDが指定される。
「フレーム種別」は、送信されるフレームがVLANSETフレームであることを示す値が指定されるフィールドである。
「更新後グループID」は、VLANSETフレームの送信先ExpEtherカードに割り当てられるグループIDが指定されるフィールドである。「更新後グループID」には、送信先ExpEtherカードの更新後のグループIDが指定される。
制御フレーム受信部113は、Ethernetカード102を介してExpEtherカードから制御フレームを受信する機能を有する。制御フレーム受信部113は、例えば、ExpEtherカードからブロードキャストされたDEVINFOフレームを受信する。
制御フレーム受信部113は、受信されたDEVINFOフレームから、フィールドに指定された値を抽出する。デバイス制御部114は、制御フレーム受信部113により抽出された値をデバイス情報記憶部115に保存する。
本実施形態におけるDEVINFOフレームの構成例を図3に示す。図3は、制御フレーム受信部113が受信するDEVINFOフレームの構成例を示す説明図である。
図3に示すDEVINFOフレームは、「宛先MACアドレス」、「送信元MACアドレス」、「グループID」、「フレーム種別」、「カード種別」、「EEIO接続数」、「接続状態」、「Device ID」、「Vendor ID」、「Class Code」の各フィールドで構成される。なお、図3に示すDEVINFOフレームには、本実施形態に関係するフィールドのみが含まれている。以下、図3に示すDEVINFOフレームの各フィールドを説明する。
「宛先MACアドレス」は、ブロードキャストアドレスが指定されるフィールドである。
「送信元MACアドレス」は、DEVINFOフレームの送信元ExpEtherカードのMACアドレスが指定されるフィールドである。
「グループID」は、DEVINFOフレームの送信元ExpEtherカードに割り当てられているグループIDが指定されるフィールドである。
「フレーム種別」は、送信されるフレームがDEVINFOフレームであることを示す値が指定されるフィールドである。
「カード種別」は、DEVINFOフレームの送信元ExpEtherカードの種別が指定されるフィールドである。「カード種別」フィールドには、「EESV」と「EEIO」のいずれかのカードの種別を示す値が指定される。
「EEIO接続数」は、DEVINFOフレームの送信元EESVに接続されたEEIOの数が指定されるフィールドである。なお、「カード種別」フィールドに指定される値がEESVである場合のみ、「EEIO接続数」フィールドに値が指定される。
PCIe 3.0の仕様では、1個のEESVに対して、最大32個のEEIOが接続される。すなわち、DEVINFOフレームの送信元EESVがPCIe 3.0の仕様に従う場合、「EEIO接続数」フィールドには、0〜32のいずれかの値が指定される。
「接続状態」は、DEVINFOフレームの送信元EEIOの、EESVとの接続状態が指定されるフィールドである。「接続状態」フィールドには、「接続済み」と「未接続」のいずれかの接続状態を示す値が指定される。なお、「カード種別」フィールドに指定される値がEEIOである場合のみ、「接続状態」フィールドに値が指定される。
「Device ID」、「Vendor ID」および「Class Code」は、DEVINFOフレームの送信元EEIOに接続されているI/OデバイスのDevice ID、Vendor ID、およびClass Codeがそれぞれ指定されるフィールドである。なお、「カード種別」フィールドに指定される値がEEIOである場合のみ、「Device ID」フィールド、「Vendor ID」フィールドおよび「Class Code」フィールドに値が指定される。
デバイス情報管理部114は、デバイス情報記憶部115に記憶されているデバイス情報を参照および更新する機能を有する。デバイス情報管理部114は、例えば、制御フレーム受信部113による処理を契機に、デバイス情報記憶部115に記憶されているデバイス情報を参照および更新する。
デバイス情報記憶部115は、DEVINFOフレームから抽出されたデバイス情報を記憶および管理する機能を有する。デバイス情報記憶部115に記憶されるデバイス情報の例を図4に示す。図4は、デバイス情報記憶部115に記憶されるデバイス情報の例を示す説明図である。
図4に示すように、デバイス情報は、「MACアドレス」と、「グループID」と、「カード種別」と、「EEIO接続数」と、「接続状態」と、「Device ID」と、「Vendor ID」と、「Class Code」とで構成される。
「MACアドレス」は、ExpEtherカードのMACアドレスを示す。「MACアドレス」には、DEVINFOフレームの「送信元MACアドレス」フィールドに指定された値が設定される。
「グループID」は、ExpEtherカードに割り当てられているグループIDを示す。「グループID」には、DEVINFOフレームの「グループID」フィールドに指定された値が設定される。
「カード種別」は、ExpEtherカードの種別を示す。「カード種別」には、DEVINFOフレームの「カード種別」フィールドに指定された値が設定される。
「EEIO接続数」は、EESVに接続されたEEIOの数を示す。「EEIO接続数」には、DEVINFOフレームの「EEIO接続数」フィールドに指定された値が設定される。なお、「カード種別」に設定された値がEESVである場合のみ、「EEIO接続数」に値が設定される。
「接続状態」は、EEIOのEESVとの接続状態を示す。「接続状態」には、DEVINFOフレームの「接続状態」フィールドに指定された値が設定される。なお、「カード種別」に設定された値がEEIOである場合のみ、「接続状態」に値が設定される。
「Device ID」、「Vendor ID」および「Class Code」は、EEIOに接続されたI/Oデバイスの情報をそれぞれ示す。「Device ID」、「Vendor ID」および「Class Code」には、DEVINFOフレームの「Device ID」フィールド、「Vendor ID」フィールドおよび「Class Code」フィールドに指定された値がそれぞれ設定される。なお、「カード種別」に設定された値がEEIOである場合のみ、「Device ID」、「Vendor ID」、「Class Code」にそれぞれ値が設定される。
管理EESV制御部116は、管理EESV情報記憶部117に記憶されている管理EESV情報を参照および更新する機能を有する。また、管理EESV制御部116は、管理対象I/Oデバイス情報記憶部118に記憶されている管理対象I/Oデバイス情報を参照および更新する機能を有する。
管理EESV制御部116は、例えば、ユーザからの指示の入力を契機に、管理EESV情報記憶部117に記憶されている管理EESV情報を参照および更新する。また、管理EESV制御部116は、例えば、ユーザからの指示の入力を契機に、管理対象I/Oデバイス情報記憶部118に記憶されている管理対象I/Oデバイス情報を参照および更新する。
管理EESV情報記憶部117は、管理EESV801〜80Nに対応する管理EESV情報を記憶および管理する機能を有する。管理EESV情報記憶部117に記憶される管理EESV情報の例を図5に示す。図5は、管理EESV情報記憶部117に記憶される管理EESV情報の例を示す説明図である。図5に示すように、管理EESV情報は、「MACアドレス」を含む。
「MACアドレス」は、管理EESVのMACアドレスを示す。システム管理者は、例えば、ユーザインタフェース部111が提供するユーザインタフェースを介して、管理EESVに設定するEESVのMACアドレスを入力する。管理EESV制御部116は、入力されたEESVのMACアドレスを管理EESV情報記憶部117に保存する。
管理対象I/Oデバイス情報記憶部118は、管理EESV801〜80Nが管理対象にするI/Oデバイスの管理対象I/Oデバイス情報を記憶および管理する機能を有する。
なお、管理ソフトウェア101は、管理対象I/Oデバイス情報記憶部118を含まなくてもよい。管理ソフトウェア101が管理対象I/Oデバイス情報記憶部118を含まない場合、レイヤ2ネットワーク上の全てのI/Oデバイスが、管理EESVの管理対象になる。
管理対象I/Oデバイス情報記憶部118に記憶される管理対象I/Oデバイス情報の例を図6に示す。図6は、管理対象I/Oデバイス情報記憶部118に記憶される管理対象I/Oデバイス情報の例を示す説明図である。図6に示すように、管理対象I/Oデバイス情報は、「Device ID」、「Vendor ID」、「Class Code」を含む。
「Device ID」、「Vendor ID」および「Class Code」は、管理EESV801〜80Nが管理対象にするI/OデバイスのDevice ID、Vendor IDおよびClass Codeをそれぞれ示す。システム管理者は、例えば、ユーザインタフェース部111が提供するユーザインタフェースを介して、管理対象にするI/OデバイスのDevice ID、Vendor IDおよびClass Codeをそれぞれ入力する。管理EESV制御部116は、入力されたDevice ID、Vendor IDおよびClass Codeを管理対象I/Oデバイス情報記憶部118に保存する。
Ethernetカード102は、管理ソフトウェア101がVLANSETフレームを送信する際に使用されるEthernetカードである。VLANSETフレームの「送信元MACアドレス」フィールドには、Ethernetカード102のMACアドレスが指定される。また、Ethernetカード102は、管理ソフトウェア101がDEVINFOフレームを受信する際に使用されるEthernetカードである。
管理EESV801〜80Nは、PCIeスイッチとして未使用のEEIO、および未使用のEEIOに接続されているI/Oデバイスを管理するために使用されるEESVである。管理EESVがPCIe 3.0の仕様に従う場合、1個の管理EESVに対して、最大32個のPCIeスイッチとして未使用のEEIOが接続される。
すなわち、管理EESVがPCIe 3.0の仕様に従う場合、管理EESV801〜80Nに対して、最大で(32×N)個の未使用のEEIOが接続される。なお、(32×N)個を超える数の未使用のEEIOを管理する場合、管理者には、管理サーバ100に管理EESVを増設することが求められる。
なお、管理EESV801〜80Nは、管理サーバ100に配置される代わりに、管理サーバ100とは別の専用サーバに配置されてもよい。また、レイヤ2ネットワークに接続されたPCIeスイッチとして未使用のEESVが、管理EESVとして使用されてもよい。
なお、本実施形態の管理サーバ100は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPUによって実現される。すなわち、ユーザインタフェース部111、制御フレーム送信部112、制御フレーム受信部113、デバイス制御部114および管理EESV制御部116は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
また、管理サーバ100における各部は、ハードウェア回路によって実現されてもよい。
また、デバイス情報記憶部115、管理EESV情報記憶部117および管理対象I/Oデバイス情報記憶部118は、例えば、RAM(Random Access Memory)で実現される。また、デバイス情報記憶部115、管理EESV情報記憶部117および管理対象I/Oデバイス情報記憶部118は、データベースソフトウェアで実現されてもよい。
[動作の説明]
以下、本実施形態の管理ソフトウェア101の動作を図7〜図9を参照して説明する。
最初に、本実施形態の管理ソフトウェア101がレイヤ2ネットワークからDEVINFOフレームを受信した時の動作を、図7を参照して説明する。図7は、管理ソフトウェア101によるDEVINFOフレームの受信処理の動作を示すフローチャートである。
管理ソフトウェア101は、DEVINFOフレームを受信した際、DEVINFOフレームの「カード種別」フィールドの値に応じて、以下に説明するように管理EESV、またはEESVに未接続のEEIOにグループIDを割り当てる。
制御フレーム受信部113は、Ethernetカード102を介してDEVINFOフレームを受信する。制御フレーム受信部113は、受信したDEVINFOフレームからデバイス情報を抽出する。デバイス制御部114は、制御フレーム受信部113により抽出されたデバイス情報を、デバイス情報記憶部115に保存する(ステップS101)。
次いで、デバイス制御部114は、制御フレーム受信部113により抽出されたデバイス情報の「カード種別」の値を参照して、「カード種別」の値がEESVか、EEIOかを確認する(ステップS102)。
「カード種別」の値がEESVである場合(ステップS103におけるEESV)、管理EESV制御部116は、抽出されたデバイス情報の「MACアドレス」の値、すなわち送信元MACアドレスを取得する。次いで、管理EESV制御部116は、管理EESV情報記憶部117を参照して、取得した送信元MACアドレスを含む管理EESV情報が存在するか否かを確認する。すなわち、管理EESV制御部116は、DEVINFOフレームに含まれる送信元MACアドレスが管理EESV801〜80NのいずれかのMACアドレスか否かを確認する(ステップS104)。
取得した送信元MACアドレスが管理EESV801〜80NのMACアドレス以外の場合(ステップS105におけるNo)、管理ソフトウェア101は、DEVINFOフレームの受信処理を終了する。
取得した送信元MACアドレスが管理EESV801〜80NのいずれかのMACアドレスである場合(ステップS105におけるYes)、管理EESV制御部116は、デバイス情報記憶部115から、取得した送信元MACアドレスを含むデバイス情報を取得する。
送信元MACアドレスを含むデバイス情報が取得された後、管理EESV制御部116は、取得されたデバイス情報の「グループID」を参照して、対象の管理EESVにグループIDが未設定か否かを確認する(ステップS106)。すなわち、管理EESV制御部116は、DEVINFOフレームに含まれるグループIDが初期値であるか否かを確認する。
対象の管理EESVにグループIDが設定済みの場合(ステップS107におけるNo)、管理ソフトウェア101は、DEVINFOフレームの受信処理を終了する。
対象の管理EESVにグループIDが未設定の場合(ステップS107におけるYes)、管理EESV制御部116は、デバイス情報記憶部115に記憶されているデバイス情報を参照して、未使用のグループIDを採番する(ステップS108)。
制御フレーム送信部112は、DEVINFOフレームを送信した管理EESVに、採番されたグループIDを含むVLANSETフレームを、Ethernetカード102を介して送信する。VLANSETフレームを受信した管理EESVは、VLANSETフレームに含まれる採番されたグループIDを自身のグループIDとして設定する(ステップS109)。管理EESVがグループIDを設定した後、管理ソフトウェア101は、DEVINFOフレームの受信処理を終了する。
「カード種別」の値がEESV以外である場合、すなわちEEIOである場合(ステップS103におけるEEIO)、管理EESV制御部116は、抽出されたデバイス情報の「接続状態」を参照する。参照することによって、管理EESV制御部116は、DEVINFOフレームを送信したEEIOが、EESVに未接続であるか否かを確認する(ステップS110)。すなわち、管理EESV制御部116は、DEVINFOフレームに含まれる、EESVとの接続状態を示す「接続状態」フィールドの値が未接続であるか否かを確認する。
DEVINFOフレームを送信したEEIOがEESVに未接続である場合(ステップS111におけるYes)、管理ソフトウェア101は、後述する「EEIOのグループIDの初期化処理」を実行する。
なお、DEVINFOフレームに含まれるI/Oデバイス情報を示す「Device ID」フィールド、「Vendor ID」フィールド、および「Class Code」フィールドの各値が、システム管理者が設定した管理対象I/Oデバイス情報に含まれる場合、EEIOに管理EESVと同じグループIDが割り当てられる。「EEIOのグループIDの初期化処理」を実行した後、管理ソフトウェア101は、DEVINFOフレームの受信処理を終了する。
また、DEVINFOフレームを送信したEEIOがEESVに接続済みである場合(ステップS111におけるNo)、管理ソフトウェア101は、DEVINFOフレームの受信処理を終了する。
次に、本実施形態の管理ソフトウェア101がEESVに接続されているEEIOの、EESVとの接続を解除する時の動作を、図8を参照して説明する。図8は、管理ソフトウェア101によるEEIOの接続解除処理の動作を示すフローチャートである。システム管理者は、EEIOに割り当てられているグループIDを初期化することによって、EESVに接続されたEEIOの、EESVとの接続を解除できる。
管理ソフトウェア101のユーザインタフェース部111は、システム管理者に対して、EEIOのグループIDの初期化に用いられるユーザインタフェースを提供する。システム管理者は、ユーザインタフェース部111が提供するユーザインタフェースを介して、EESVとの接続を解除するEEIOのグループIDを初期化する指示を入力する。ユーザインタフェースを介して初期化する指示を入力する際、システム管理者は、EESVとの接続を解除するEEIOのMACアドレスを、パラメータとして指定する。
次いで、管理EESV制御部116は、デバイス情報記憶部115から、EESVとの接続を解除するEEIOのデバイス情報を取得する(ステップS201)。管理EESV制御部116は、システム管理者によりパラメータとして指定されたMACアドレスを含むデバイス情報を検索することによって、EESVとの接続を解除するEEIOのデバイス情報を取得する。
デバイス情報を取得した後、管理ソフトウェア101は、後述する「EEIOのグループIDの初期化処理」を実行する。「EEIOのグループIDの初期化処理」を実行した後、管理ソフトウェア101は、EEIOの接続解除処理を終了する。
次に、本実施形態の管理ソフトウェア101がEEIOに割り当てられているグループIDを初期化する時の動作を、図9を参照して説明する。図9は、管理ソフトウェア101によるEEIOのグループIDの初期化処理の動作を示すフローチャートである。
管理EESV制御部116は、管理対象I/Oデバイス情報記憶部118から、ステップS110またはステップS201においてグループIDが初期化される対象にされたEEIOに接続するI/Oデバイスのデバイス情報を含む管理対象I/Oデバイス情報を検索する。
具体的には、管理EESV制御部116は、指定されたMACアドレスを有するEEIOに接続するI/OデバイスのDevice ID、Vendor ID、Class Codeと同じ値を含む管理対象I/Oデバイス情報が、管理対象I/Oデバイス情報記憶部118に存在するか否かを確認する。すなわち、管理EESV制御部116は、対象のEEIOに接続するI/Oデバイスが、管理EESVの管理対象であるか否かを確認する(ステップS301)。
対象のEEIOに接続するI/Oデバイスが管理EESVの管理対象である場合、すなわちI/Oデバイスの値を含む管理対象I/Oデバイス情報が存在する場合(ステップS302におけるYes)、管理EESV制御部116は、デバイス情報記憶部115に記憶されているデバイス情報を参照する。
管理EESV制御部116は、「EEIO接続数」が32未満で、かつ「グループID」が設定済みの、管理EESV801〜80Nのデバイス情報がデバイス情報記憶部115に存在するか否かを確認する。すなわち、管理EESV制御部116は、対象のEEIOが管理EESV801〜80Nにまだ接続可能であるか否かを確認する(ステップS303)。
対象のEEIOが管理EESV801〜80Nにまだ接続可能である場合(ステップS304におけるYes)、制御フレーム送信部112は、対象のEEIOに、EEIOがまだ接続可能である管理EESVに割り当てられているグループIDを含むVLANSETフレームを送信する。
VLANSETフレームを受信することによって、対象のEEIOは、VLANSETフレームに含まれる管理EESVに割り当てられているグループIDを、自身のグループIDに設定する(ステップS305)。対象のEEIOがグループIDを設定した後、管理ソフトウェア101は、EEIOのグループIDの初期化処理を終了する。
対象のEEIOに接続するI/Oデバイスが管理EESVの管理対象外である場合、すなわちI/Oデバイスの値を含む管理対象I/Oデバイス情報が存在しない場合(ステップS302におけるNo)、制御フレーム送信部112は、対象のEEIOに、グループIDの初期値を含むVLANSETフレームを送信する。
VLANSETフレームを受信することによって、対象のEEIOは、VLANSETフレームに含まれるグループIDの初期値を、自身のグループIDに設定する(ステップS306)。対象のEEIOがグループIDを設定した後、管理ソフトウェア101は、EEIOのグループIDの初期化処理を終了する。
対象のEEIOが管理EESV801〜80Nに接続不可能である場合(ステップS304におけるNo)、制御フレーム送信部112は、対象のEEIOに、グループIDの初期値を含むVLANSETフレームを送信する。
VLANSETフレームを受信することによって、対象のEEIOは、VLANSETフレームに含まれるグループIDの初期値を、自身のグループIDに設定する(ステップS306)。対象のEEIOがグループIDを設定した後、管理ソフトウェア101は、EEIOのグループIDの初期化処理を終了する。
以上のように、EESVに未接続のEEIOに対して、管理EESVに割り当てられているグループIDと同じグループIDが割り当てられる。同じグループIDが割り当てられることによって、EESVに未接続のEEIOが、管理EESVに接続する。
本実施形態の管理サーバは、EESVに未接続のEEIOを管理するための管理EESVを内部に配置し、制御フレーム送信部は、EESVに未接続のEEIOを管理EESVに強制的に接続させる。EEIOが管理EESVに接続することによって、EEIOがEESVと接続を確立するために短い間隔でブロードキャストする制御フレーム(DEVINFOフレーム)が抑止される。よって、本実施形態の管理サーバを使用した場合、システム管理者は、EEIOによるブロードキャストが他のEEIO-EESV間の通信に及ぼす影響を低減できる。
次に、本発明の概要を説明する。図10は、本発明による管理装置の概要を示すブロック図である。本発明による管理装置10は、レイヤ2ネットワークに接続するEthernetカード11(例えば、Ethernetカード102)と、Ethernetカード11を介して、所定の条件を満たすEEIOカードからEEIOカードがEESVカードに未接続であることを示す情報を含むフレームを受信する受信部12(例えば、制御フレーム受信部113)と、レイヤ2ネットワークに接続されておりPCIeスイッチの構成要素として使用されていないEESVカードである管理EESVカードの中で、グループIDが設定済みであり、新たにEEIOカードと接続可能な管理EESVカードを決定する決定部14(例えば、デバイス制御部114や管理EESV制御部116)と、EEIOカードに、決定された管理EESVカードのグループIDをEEIOカードのグループIDに設定させるフレームを、Ethernetカード11を介してEEIOカードに送信する送信部13(例えば、制御フレーム送信部112)とを備える。
そのような構成により、管理装置は、EESVカードに未接続のEEIOカードによるブロードキャストの影響を防止できる。
また、受信部12は、Ethernetカード11を介して、所定の条件を満たさないEEIOカードからEEIOカードがEESVカードに未接続であることを示す情報を含むフレームを受信し、送信部13は、EEIOカードに、グループIDの初期値をEEIOカードのグループIDに設定させるフレームを、Ethernetカード11を介してEEIOカードに送信してもよい。
そのような構成により、管理装置は、管理対象外のEEIOカードを誤って管理EESVに接続することを防止できる。
また、管理装置10は、所定の条件を満たすEEIOカードとEESVカードとの接続を解除する指示が入力される入力部(例えば、ユーザインタフェース部111)を備え、決定部14は、管理EESVカードの中で、グループIDが設定済みであり、新たにEEIOカードと接続可能な管理EESVカードを決定し、送信部13は、EEIOカードに、決定された管理EESVカードのグループIDをEEIOカードのグループIDに設定させるフレームを、Ethernetカード11を介してEEIOカードに送信してもよい。
そのような構成により、管理装置は、EESVカードとの接続が解消される管理対象のEEIOカードを管理EESVに接続させておくことができる。
また、入力部に、所定の条件を満たさないEEIOカードとEESVカードとの接続を解除する指示が入力され、送信部13は、EEIOカードに、グループIDの初期値をEEIOカードのグループIDに設定させるフレームを、Ethernetカード11を介してEEIOカードに送信してもよい。
そのような構成により、管理装置は、管理対象外のEEIOカードとEESVカードとの接続を解消できる。
また、管理装置10は、EEIOカードに接続されているI/Oデバイスの情報を記憶する記憶部(例えば、管理対象I/Oデバイス情報記憶部118)を備え、所定の条件は、EEIOカードに接続されているI/Oデバイスの情報が記憶部に記憶されていることでもよい。
そのような構成により、管理装置は、EEIOカードに接続されているI/Oデバイスの情報を用いて、管理対象のEEIOカードを識別できる。
また、受信部12は、Ethernetカード11を介して、管理EESVカードからグループIDを含まないフレームを受信し、送信部13は、管理EESVカードに、未割当のグループIDを管理EESVカードのグループIDに設定させるフレームを、Ethernetカード11を介して管理EESVカードに送信してもよい。
そのような構成により、管理装置は、グループIDが設定されていない管理EESVカードに対して、グループIDを割り当てることができる。