JPWO2014076842A1 - 情報処理装置、プログラムおよびログ出力方法 - Google Patents
情報処理装置、プログラムおよびログ出力方法 Download PDFInfo
- Publication number
- JPWO2014076842A1 JPWO2014076842A1 JP2014546829A JP2014546829A JPWO2014076842A1 JP WO2014076842 A1 JPWO2014076842 A1 JP WO2014076842A1 JP 2014546829 A JP2014546829 A JP 2014546829A JP 2014546829 A JP2014546829 A JP 2014546829A JP WO2014076842 A1 JPWO2014076842 A1 JP WO2014076842A1
- Authority
- JP
- Japan
- Prior art keywords
- pci
- information
- peripheral device
- peripheral
- devices
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
- G06F1/181—Enclosures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Power Engineering (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
周辺装置の位置を適切に提供すること。記憶部(2a)は、装置(3,4)と周辺装置(5,6,7,8)との対応関係を示す情報および周辺装置(5,6,7,8)に対して装置(3,4)により付与された識別情報と周辺装置(5,6,7,8)の位置(A,B,C,D)との対応関係を示す情報を含む管理情報を記憶する。演算部(2b)は、何れかの周辺装置の識別情報が変更された旨の通知を当該装置(3,4)から受け付けると、変更の内容に応じて管理情報を更新する。演算部(2b)は、装置(3,4)の何れかが、周辺装置に関するログを出力する際に当該装置から、対象の周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。
Description
本発明は情報処理装置、プログラムおよびログ出力方法に関する。
現在、コンピュータなどの情報処理装置が利用されている。情報処理装置には、周辺装置を追加することで機能の拡張を図れるものがある。例えば、周辺装置は演算処理を行う演算装置によって動作が制御される。周辺装置は、情報処理装置の内部や外部に追加され得る。例えば、情報処理装置に設けられた所定のインタフェース(拡張スロットと呼ぶことがある)に周辺装置を取り付けたり、取り外したりできる。当該インタフェースとして、例えばPCI(Peripheral Component Interconnect)、PCI−XおよびPCIe(PCI Express、登録商標)などがある。
情報処理装置では、周辺装置の保守を支援する方法が考えられている。例えば、複数のI/O(Input / Output)カードを搭載可能なI/Oカード拡張装置を計算機に接続して用いる場合に、I/Oカード拡張装置内の故障したI/Oカードのスロット位置の光源を発光させることで、当該スロット位置を保守員に通知する提案がある。
なお、コンピュータ内の複数のプリント配線板の接続を管理するために、各プリント配線板が上位の接続位置のプリント配線板へ実装位置の情報を順次送信し、最上位の接続位置のプリント配線板から複数のプリント配線板の実装位置の情報を取得する提案もある。
1つの情報処理装置に周辺装置を利用する複数の装置(例えば、演算装置)を設けることがある。この場合、1つの情報処理装置内に演算装置と当該演算装置が利用する周辺装置とのグループを複数実現できる。また、演算装置と周辺装置との組み合わせを適宜変更することもできる。このような情報処理装置では、周辺装置で障害が発生した場合に、情報処理装置内における当該周辺装置の搭載位置の把握が容易でないという問題がある。
例えば、障害の発生した周辺装置の位置を、保守員が容易に把握できるのが好ましい。そこで、周辺装置を利用する装置により出力されるログに、周辺装置の位置情報を含めたいことがある。そのために、例えば周辺装置の識別情報と搭載位置との対応関係をハードコーディングにより情報処理装置に登録しておき、位置提供に用いることが考えられる。
ところが、周辺装置に付与される識別情報は、周辺装置とそれを用いる装置との組み合わせに応じて変わり得る。例えば、PCIでは、同じ周辺装置でも上位に接続する装置が変われば、上位の装置で動作するオペレーティングシステムなどにより当該識別情報が変更され得る。このため、周辺装置に当初付与されていた識別情報が別の時点では異なっていることもある。すなわち、周辺装置の識別情報と位置情報との対応関係を予め登録しておいたとしても、当該対応関係が終始成立しているとは限らない。
一側面によれば、本発明は、周辺装置の位置を適切に提供できる情報処理装置、プログラムおよびログ出力方法を提供することを目的とする。
一実施態様によれば、複数の装置と複数の装置により利用可能な複数の周辺装置とを備え、複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置が提供される。この情報処理装置は記憶部と演算部とを有する。記憶部は、複数の装置と複数の周辺装置との対応関係を示す情報および何れかの装置により用いられる周辺装置に対して当該装置により付与された識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を記憶する。演算部は、周辺装置の識別情報が変更された旨の通知を当該周辺装置を用いる装置から受け付けると、変更の内容に応じて管理情報を更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。
また、一実施態様によれば、複数の装置と複数の装置により利用可能な複数の周辺装置とを備え、複数の装置それぞれにより用いられる周辺装置を変更可能なコンピュータによって実行されるプログラムが提供される。このプログラムは、コンピュータに、何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、複数の装置と複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する、処理を実行させる。
また、一実施態様によれば、複数の装置と複数の装置により利用可能な複数の周辺装置とを備え、複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置によって実行されるログ出力方法が提供される。このログ出力方法では、情報処理装置が、何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、複数の装置と複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。
一実施態様によれば、周辺装置の位置を適切に提供できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、管理装置2、装置3,4および周辺装置5,6,7,8を有する。管理装置2は、装置3,4および周辺装置5,6,7,8の動作を管理する。装置3,4は、周辺装置5,6,7,8を利用可能である。装置3,4は、何れの周辺装置を利用するかを適宜変更できる。装置3,4の停止中に変更できてもよいし、装置3,4の稼働中に変更できてもよい。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、管理装置2、装置3,4および周辺装置5,6,7,8を有する。管理装置2は、装置3,4および周辺装置5,6,7,8の動作を管理する。装置3,4は、周辺装置5,6,7,8を利用可能である。装置3,4は、何れの周辺装置を利用するかを適宜変更できる。装置3,4の停止中に変更できてもよいし、装置3,4の稼働中に変更できてもよい。
周辺装置5,6,7,8は、情報処理装置1に対する機能拡張用の装置である。周辺装置5は位置Aに設けられている。周辺装置6は位置Bに設けられている。周辺装置7は位置Cに設けられている。周辺装置8は位置Dに設けられている。位置A,B,C,Dは、情報処理装置1の内部の位置でもよいし、外部の位置でもよい。内部の位置とは、例えば、情報処理装置1に内蔵された拡張スロットの位置である。外部の位置とは、例えば、情報処理装置1に外付けで接続された外付け装置における拡張スロットの位置である。
管理装置2、装置3,4および周辺装置5,6,7,8は情報処理装置1内のバスを介して接続されている。例えば、情報処理装置1は装置3,4と周辺装置5,6,7,8との間のバスを介した論理的な接続関係を変更することで、装置3,4により用いられる周辺装置5,6,7,8を変更してもよい。管理装置2が当該論理的な接続関係の切り替えを制御してもよい。
管理装置2は、記憶部2aおよび演算部2bを有する。記憶部2aはRAM(Random Access Memory)などのメモリでもよい。演算部2bはCPU(Central Processing Unit)などのプロセッサでもよい。第1の実施の形態の情報処理は、記憶部2aに記憶されたプログラムを演算部2bが実行することで実現されてもよい。
記憶部2aは、管理情報を記憶する。管理情報は、装置3,4と周辺装置5,6,7,8との対応関係を示す情報を含む。例えば、装置3に対して周辺装置5,6が対応付けられている。装置4に対して周辺装置7,8が対応付けられている。すなわち、装置3は周辺装置5,6を利用する。装置4は周辺装置7,8を利用する。
管理情報は、装置3により用いられる周辺装置5,6に対して当該装置3により付与された識別情報と周辺装置5,6の位置を示す情報との対応関係を示す情報を含む。また、管理情報は、装置4により用いられる周辺装置7,8に対して当該装置4により付与された識別情報と周辺装置7,8の位置を示す情報との対応関係を示す情報を含む。当該識別情報は、装置3,4で動作するBIOS(Basic Input / Output System)やOS(Operating System)によって付与されるものでもよい。例えば、周辺装置5,6,7,8がPCIのデバイスであれば、BIOSやOSは各周辺装置に対してバス番号やデバイス番号などを組み合わせた識別情報を付与し得る。当該対応関係は、本例でいえば次の(1)〜(4)の対応付けを含む。
(1)装置3により付与された周辺装置5の識別情報#1と位置Aを示す情報との対応付け。(2)装置3により付与された周辺装置6の識別情報#2と位置Bを示す情報との対応付け。(3)装置4により付与された周辺装置7の識別情報#1と位置Cを示す情報との対応付け。(4)装置4により付与された周辺装置8の識別情報#2と位置Dを示す情報との対応付け。
演算部2bは、周辺装置の識別情報が変更された旨の通知を、当該周辺装置を用いる装置から受け付けると、変更の内容に応じて記憶部2aに記憶された管理情報を更新する。例えば、装置3により用いられる周辺装置6が、装置3との論理的な接続を解除されたとする。すなわち、装置3から周辺装置6を利用できなくなったとする。すると、例えば装置3は周辺装置6に対する識別情報の削除を管理装置2に通知する。演算部2bは、当該通知に応じて、装置3と周辺装置6との対応関係を管理情報から削除する。また、上記(2)の対応付けを示す情報を管理情報から削除する。
また、例えば、装置4と周辺装置6との論理的な接続が追加されたとする。すなわち、装置4により周辺装置6が利用できるようになったとする。すると、例えば装置4は周辺装置6に対する識別情報の追加を管理装置2に通知する。当該通知には、装置4が周辺装置6に付与した識別情報が含まれる。装置4が周辺装置6,7,8の識別情報を振り直した場合は、周辺装置6,7,8に付与した識別情報が含まれる。例えば、振り直しの結果、周辺装置6の識別情報は#1となる。周辺装置7の識別情報は#2となる。周辺装置8の識別情報は#3となる。
演算部2bは、当該通知に応じて装置4と周辺装置6との対応関係を管理情報に追加する。また、演算部2bは、(5)装置4により付与された周辺装置6の識別情報#1と位置Bを示す情報との対応付け、を管理情報に追加する。
更に、演算部2bは管理情報における上記(3)、(4)の対応付けを、それぞれ次の(6)、(7)のように書き換える。(6)装置4により付与された周辺装置7の識別情報#2と位置Cを示す情報との対応付け。(7)装置4により付与された周辺装置8の識別情報#3と位置Dを示す情報との対応付け。
演算部2bは、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。例えば、演算部2bは、装置4が周辺装置6に関するログを出力する際に装置4から識別情報#1を取得すると、管理情報の上記(5)の対応付けに基づいて位置Bを示す情報を装置4に提供する。
装置4は、位置Bを示す情報を含む、周辺装置6に関するログを出力し得る。当該ログは、例えば、装置4により出力される所定のログファイルに登録されるメッセージでもよいし、情報処理装置1に接続された表示装置(図1では図示を省略)に表示されるメッセージでもよい。または、管理者や保守員が利用する端末装置や管理者や保守員のメールアドレスなどに対して送信されるメッセージなどでもよい。
情報処理装置1によれば、演算部2bにより、周辺装置の識別情報が変更された旨の通知が当該周辺装置を用いる装置から受け付けられると、変更の内容に応じて管理情報が更新される。演算部2bにより、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報が取得されると、管理情報が参照されて当該周辺装置の位置を示す情報が当該装置に提供される。
これにより、周辺装置の位置を適切に提供できる。具体的には次の通りである。装置3,4と周辺装置5,6,7,8との論理的な接続関係は変更され得る。接続関係の変更に際して、周辺装置5,6,7,8の識別情報は装置3,4により変更され得る。すなわち、周辺装置5,6,7,8に対して装置3,4が付与する識別情報は絶対的なものではない。例えば、周辺装置5,6,7,8がPCIeなどのデバイスであれば、装置3,4で動作するBIOSやOSが、周辺装置5,6,7,8に対するバス番号を振り直すことで、識別情報が変更されることがある。
ここで、例えば、論理的な接続関係が上述のように装置4が周辺装置6,7,8を利用可能な関係に変更されたとする。その場合に、管理情報において上記(1)〜(4)の対応付けが仮に維持されると、管理装置2は装置4により周辺装置6に対して付与された識別情報#1を取得した際に、位置Cを示す情報を応答することになる。これは、周辺装置7の位置を示す情報であり、適切な位置ではない(正しくは、位置Bである)。
一方、情報処理装置1は、装置3,4と周辺装置5,6,7,8との間の対応関係の変更に追随して、管理情報を更新する。これにより、周辺装置5,6,7,8の適切な位置を装置3,4に提供することができる。装置3,4は、当該位置を示す情報をログに含めて出力し得る。保守員は、装置3,4が出力するログを参照することで、障害などの発生した周辺装置の情報処理装置1における位置を容易に把握できる。このため、保守員は、当該周辺装置の保守作業を迅速に開始できる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、サーバ100およびPCIボックス200,200aを含む。サーバ100は、ネットワーク10に接続されている。ネットワーク10はLAN(Local Area Network)、WAN(Wide Area Network)およびインターネットなどでもよい。
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、サーバ100およびPCIボックス200,200aを含む。サーバ100は、ネットワーク10に接続されている。ネットワーク10はLAN(Local Area Network)、WAN(Wide Area Network)およびインターネットなどでもよい。
サーバ100は、所定の業務処理を実行するサーバコンピュータである。サーバ100は、前面パネル101、システムボード(SB:System Board)110,110a、ディスクドライブ120およびHDD(Hard Disk Drive)ユニット130,130aを有する。前面パネル101は、サーバ100の前面を覆うカバーである。前面パネル101は開閉可能である。前面パネル101の裏側にSB110,110aが収納されている。
SB110,110aは、CPUやRAMを搭載した演算装置である。ディスクドライブ120は、可搬型の記録媒体に記録されたプログラムやデータを読み取る駆動装置である。HDDユニット130,130aは、HDD搭載用のユニットである。HDDユニット130,130aは、複数の磁気ディスクやSSD(Solid State Drive)などを収納できる。PCIボックス200,200aは、PCIeの拡張スロット(PCIスロットということがある)を複数備える外付け装置である。PCIボックス200,200aは、所定のインタフェースを介してサーバ100と接続されている。
図3は、第2の実施の形態のサーバの背面を示す図である。サーバ100は、図2で説明した各ユニットに加えて、IO(Input Output)ユニット140,140a、IF(InterFace)ボード150,150a、マネジメントボード(MMB:ManageMent Board)160、PSU(Power Supply Unit)170,170aおよびファン180,180a,180b,180c,180d,180e,180f,180gを有する。
IOユニット140,140aは、サーバ100の入出力を制御するユニットである。IOユニット140,140aは、HDDユニット130,130aに対するデータの入出力を制御する。IOユニット140,140aは、IFボード150,150aに対するデータの入出力を制御する。また、IOユニット140,140aは、PCIボックス200,200aに対するデータの入出力を制御する。
IOユニット140,140aは、複数のPCIスロット(例えば、8スロット)を備えている。1つのPCIスロットには、1つのPCIカードを搭載できる。例えば、IOユニット140の1つのPCIスロットにはPCIカード300を搭載できる。IOユニット140aの1つのPCIスロットにはPCIカード300aを搭載できる。PCIカード300,300aはSB110,110aに対する周辺装置である。IOユニット140,140aは、PCIカード300,300aに対するデータの入出力を制御する。IOユニット140,140aをSB110,110aに対する周辺装置と呼ぶこともできる。
IOユニット140,140aは、キーボード、ディスプレイおよびマウス(KVM:Keyboard, Video and Mouse)用の外部接続インタフェース(例えば、USB(Universal Serial Bus)ポートやVGA(Video Graphics Array)ポートなど)を備えてもよい。これらのインタフェースは、PCIカード300,300aによって提供されてもよい。
IFボード150,150aは、ネットワークへアクセスするためのインタフェース(例えば、PCIe)を有する。また、IFボード150,150aは、PCIボックス200,200aへアクセスするためのインタフェースを有する。IFボード150は、ケーブル11を介してPCIボックス200と接続されている。IFボード150は、ケーブル12を介してPCIボックス200aと接続されている。IFボード150aは、ケーブル13を介してPCIボックス200aと接続されている。IFボード150aは、ケーブル14を介してPCIボックス200と接続されている。ケーブル11,12,13,14は、例えばPCIeの外部ケーブルである。
MMB160は、サーバ100の監視やSB110,110aと周辺装置との接続関係を管理するための制御ユニットである。
PSU170,170aは、商用電源と接続される電源装置である。PSU170,170aは、サーバ100を駆動させるための電力をサーバ100全体へ供給する電源装置である。
PSU170,170aは、商用電源と接続される電源装置である。PSU170,170aは、サーバ100を駆動させるための電力をサーバ100全体へ供給する電源装置である。
ファン180,180a,180b,180c,180d,180e,180f,180gは、サーバ100を冷却するための冷却装置である。
PCIボックス200,200aは、複数のPCIスロットを備えている(例えば、12スロット)。1つのPCIスロットには、1つのPCIカードを搭載できる。例えば、PCIボックス200の1つのPCIスロットにはPCIカード300bを搭載できる。PCIボックス200aの1つのPCIスロットにはPCIカード300cを搭載できる。PCIカード300b,300cはSB110,110aに対する周辺装置である。PCIボックス200,200aは、PCIカード300b,300cに対するデータの入出力を制御する。PCIボックス200,200aをSB110,110aに対する周辺装置と呼ぶこともできる。
PCIボックス200,200aは、複数のPCIスロットを備えている(例えば、12スロット)。1つのPCIスロットには、1つのPCIカードを搭載できる。例えば、PCIボックス200の1つのPCIスロットにはPCIカード300bを搭載できる。PCIボックス200aの1つのPCIスロットにはPCIカード300cを搭載できる。PCIカード300b,300cはSB110,110aに対する周辺装置である。PCIボックス200,200aは、PCIカード300b,300cに対するデータの入出力を制御する。PCIボックス200,200aをSB110,110aに対する周辺装置と呼ぶこともできる。
PCIカード300,300a,300b,300cは、PCIeに対応した周辺装置である。PCIカード300,300a,300b,300cは、例えば、ファイバチャネル、LAN、CNA(Converged Network Adapter)、SAS(Serial Attached Small Computer System Interface)などのポートを拡張するためのものでもよい。PCIカード300,300a,300b,300cは、画像処理機能や音声処理機能などを備えたものでもよい。PCIカード300,300a,300b,300cは、それ以外の機能を拡張するものでもよい。PCIカード300,300a,300b,300cは、PCIカセットやPCIカードカセットなどと呼ばれるものでもよい。
なお、以降の説明において、300台の符号(301,302,・・・)を用いて、IOユニット140に搭載されるPCIカードを示す。300a台の符号(301a,302a,・・・)を用いて、IOユニット140aに搭載されるPCIカードを示す。300b台の符号(301b,302b,・・・)を用いて、PCIボックス200に搭載されるPCIカードを示す。300c台の符号(301c,302c,・・・)を用いて、PCIボックス200aに搭載されるPCIカードを示す。
図4は、第2の実施の形態のハードウェア例を示す図である。サーバ100は、SB110,110a、ディスクドライブ120、HDDユニット130,130a、IOユニット140,140a、IFボード150,150a、MMB160およびMP(Middle Plane)190を有する。図2,3で示したその他のユニットは図示を省略している。SB110,110a、ディスクドライブ120、HDDユニット130,130a、IOユニット140,140a、IFボード150,150aおよびMMB160は、図2,3で説明した各ユニットと同一である。
例えば、ディスクドライブ120はレーザ光などを利用して、光ディスク15に記録されたプログラムやデータを読み取れる。光ディスク15として、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などを使用できる。ディスクドライブ120は、例えば、SB110,110aからの命令に従って、光ディスク15から読み取ったプログラムやデータをHDDユニット130,130aのHDDや所定のメモリに格納する。
また、HDDユニット130,130aには、SB110,110aに実行させるOSやアプリケーションのプログラムや、SB110,110aの処理に用いられる各種のデータが格納される。IFボード150,150aは所定のケーブルを介してネットワーク10に接続されている。なお、図4では、IFボード150,150aとPCIボックス200,200aとの間の一部の接続について図示を省略している。
MP190は、SB110,110a、ディスクドライブ120、HDDユニット130,130a、IOユニット140,140a、IFボード150,150aおよびMMB160を接続し、結線するコネクタユニットである。例えば、サーバ100の前面からSB110,110a、ディスクドライブ120およびHDDユニット130,130aが結合可能である。また、サーバ100の背面からIOユニット140,140a、IFボード150,150aおよびMMB160が結合可能である。
図5は、第2の実施の形態のサーバのハードウェア例を示す図である。SB110は、プロセッサ111、RAM112およびPCIスイッチ113,114を有する。SB110aもSB110と同様のデバイスを有する。
プロセッサ111は、SB110の情報処理を制御する。プロセッサ111は、マルチプロセッサであってもよい。プロセッサ111は、例えばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)などである。プロセッサ111は、CPU、MPU、DSP、ASIC、FPGA、PLDなどのうちの2以上の要素の組み合わせであってもよい。
RAM112は、プロセッサ111に実行させるBIOS、OSおよびアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、RAM112はプロセッサ111による処理に用いる各種データを記憶する。
PCIスイッチ113,114は、内部バス接続用のPCIeインタフェースを提供するスイッチデバイスである。PCIスイッチ113,114はMP190と接続されている。PCIスイッチ113,114は、プロセッサ111とIOユニット140,140a、IFボード150,150a、MMB160およびPCIボックス200,200aとの間の通信を中継する。
IOユニット140は、IOコントローラ141、ROM(Read Only Memory)142、SVP(SerVice Processor)143、メモリ144、PCIスロット145,145a,・・・、ビデオコントローラ146およびHDDコントローラ147を有する。IOユニット140aもIOユニット140と同様のデバイスを有する。
IOコントローラ141は、PCIeのインタフェースやレガシーインタフェース(例えば、ROM142と接続するためのインタフェースやSVP143と接続するためのインタフェース)などを集約したスイッチデバイスである。IOコントローラ141はPCIスイッチの機能も有する。IOコントローラ141は、VGAポートやUSBポートを備えて、KVMの入出力機能を担ってもよい。IOコントローラ141は、MP190と接続されている。IOコントローラ141は、SB110,110aと、PCIスロット145,145a、ビデオコントローラ146およびHDDコントローラ147との間の通信を中継する。
ROM142は、BIOSのプログラムやファームウェアのプログラムを記憶するメモリである。SB110,110aは、ROM142に記憶されたプログラムを読み出して実行することができる。
SVP143は、IOユニット140の各デバイスの情報を収集して、MMB160に提供する管理用のプロセッサである。SVP143とMMB160との間で直接通信するための専用のインタフェースを設けてもよい。
メモリ144は、SVP143に実行させるファームウェアのプログラムを記憶するメモリである。
PCIスロット145,145a,・・・は、PCIカードを挿設可能なスロットである。例えば、PCIスロット145にはPCIカード301が挿設されている。PCIスロット145aにはPCIカード302が挿設されている。なお、IOユニット140aの各PCIスロットには、PCIカード301a,302a,・・・が挿設されている。
PCIスロット145,145a,・・・は、PCIカードを挿設可能なスロットである。例えば、PCIスロット145にはPCIカード301が挿設されている。PCIスロット145aにはPCIカード302が挿設されている。なお、IOユニット140aの各PCIスロットには、PCIカード301a,302a,・・・が挿設されている。
ビデオコントローラ146は、SB110,110aからの命令に従って、サーバ100に接続されたディスプレイ(図示を省略)に画像を出力する。ビデオコントローラ146は、PCIeに対応したデバイスで実現されてもよい。
HDDコントローラ147は、SB110,110aからの命令に従って、HDDユニット130,130aに搭載されたHDDやSSDに対するデータの書き込みや読み出しを行う。HDDコントローラ147は、PCIeに対応したデバイスで実現されてもよい。
IFボード150は、PCIスイッチ151、通信IF152およびPCIボックスIF153,154を有する。IFボード150aもIFボード150と同様のデバイスを有する。
PCIスイッチ151は、内部バス接続用のPCIeインタフェースを提供するスイッチデバイスである。PCIスイッチ151はMP190と接続されている。PCIスイッチ151は、SB110,110aと通信IF152、PCIボックスIF153,154との間の通信を中継する。
通信IF152は、ネットワーク10と接続するためのインタフェースである。通信IF152は、有線インタフェースでもよいし、無線インタフェースでもよい。
PCIボックスIF153,154は、PCIボックス200,200aと接続するためのインタフェースである。PCIボックスIF153,154は、PCIeに対応したインタフェースでもよい。
PCIボックスIF153,154は、PCIボックス200,200aと接続するためのインタフェースである。PCIボックスIF153,154は、PCIeに対応したインタフェースでもよい。
MMB160は、プロセッサ161、ROM162、RAM163および通信部164を有する。
プロセッサ161は、MMB160の情報処理を制御する。プロセッサ161は、マルチプロセッサであってもよい。プロセッサ161は、例えばCPU、MPU、DSP、ASIC、FPGAまたはPLDなどである。プロセッサ161はCPU、MPU、DSP、ASIC、FPGA、PLDなどのうちの2以上の要素の組み合わせであってもよい。
プロセッサ161は、MMB160の情報処理を制御する。プロセッサ161は、マルチプロセッサであってもよい。プロセッサ161は、例えばCPU、MPU、DSP、ASIC、FPGAまたはPLDなどである。プロセッサ161はCPU、MPU、DSP、ASIC、FPGA、PLDなどのうちの2以上の要素の組み合わせであってもよい。
ROM162は、プロセッサ161に実行させるファームウェアのプログラムを記憶するメモリである。また、ROM162は、プロセッサ161による処理に用いる各種データを記憶する。
RAM163は、プロセッサ161に実行させるファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、RAM163は、プロセッサ161による処理に用いる各種データを記憶する。
通信部164は、内部バス接続用のインタフェースを提供するデバイスである。通信部164は、MP190に接続されている。通信部164は、プロセッサ161とSB110,110a、IOユニット140,140aおよびIFボード150,150aとの通信を中継する。
ここで、以下の説明では、SB110,110a、IOユニット140,140a、IFボード150,150aおよびPCIボックス200,200aを総称して“PCIユニット”と呼ぶことがある。また、各PCIユニットに搭載されるPCIスイッチ113やPCIカード301などのデバイスを総称して“PCIデバイス”と呼ぶことがある。PCIユニットおよびPCIデバイスは、何れも周辺装置の一例である。
図6は、第2の実施の形態のPCIボックスのハードウェア例を示す図である。PCIボックス200は、PCIスイッチ201およびPCIスロット202,202a,・・・を有する。PCIボックス200aもPCIボックス200と同様のPCIデバイスを有する。
PCIスイッチ201は、サーバ100と接続するためのPCIインタフェースを提供するPCIデバイスである。PCIスイッチ201は、サーバ100とPCIスロット202,202a,・・・との間の通信を中継する。
PCIスロット202,202a,・・・は、PCIカードを挿設可能な拡張スロットである。例えば、PCIスロット202にはPCIカード301bが挿設されている。PCIスロット202aにはPCIカード302bが挿設されている。なお、PCIボックス200aの各PCIスロットには、PCIカード301c,302c,・・・が挿設されている。
図7は、第2の実施の形態のPCIデバイスの接続例を示す図である。図7ではSB110を最上位としたPCIデバイスの論理的な接続(PCIデバイスツリー)を例示している。ルートコンプレックスはプロセッサ111に組み込まれている。例えば、SB110の配下にIOユニット140が接続される。また、SB110の配下にIFボード150が接続される。更に、IFボード150の配下にPCIボックス200が接続される。すなわち、SB110、IOユニット140、IFボード150およびPCIボックス200を要素に含む1つのグループが実現されている。
ここで、PCIeでは、バス番号およびデバイス番号を用いて、各PCIデバイスを識別し得る。デバイス番号は、バス番号に対して一意である。すなわち、バス番号およびデバイス番号の組み合わせ(例えば、“バス番号:デバイス番号”のように表記する)が各PCIデバイスの識別情報となる。図7では、例えば各PCIデバイスの識別情報は次のようになる。
SB110内のプロセッサ111直下のバスはバス番号“0”(図7ではBUS#0と表記。以下、同様)である。PCIスイッチ113はデバイス番号“0”(図7ではdev#0と表記。以下、同様)である。PCIスイッチ114はデバイス番号“1”である。よって、PCIスイッチ113の識別情報は“0:0”である。PCIスイッチ114の識別情報は“0:1”である。
PCIスイッチ113直下のバスはバス番号“1”である。PCIスイッチ113の配下にはIOユニット140のIOコントローラ141が接続されている。IOコントローラ141はデバイス番号“0”である。よって、IOコントローラ141の識別情報は“1:0”である。
IOコントローラ141内のバスはバス番号“2”である。IOコントローラ141には、PCIスロット145,145a,・・・、ビデオコントローラ146およびHDDコントローラ147が接続されている。PCIスロット145に挿設されたPCIカード301はデバイス番号“1”である。PCIスロット145aに挿設されたPCIカード302はデバイス番号“2”である。よって、PCIカード301の識別情報は“2:1”である。PCIカード302の識別情報は“2:2”である。同様にして、他のPCIカードの識別情報も付与される。
また、ビデオコントローラ146はデバイス番号“9”である。よって、ビデオコントローラ146の識別情報は“2:9”である。HDDコントローラはデバイス番号“10”である。よって、HDDコントローラの識別情報は“2:10”である。
ここで、PCIスロット145,145a,・・・、ビデオコントローラ146およびHDDコントローラ147は、IOユニット140の所定の位置に搭載されている。この位置を示す情報をスロット番号と呼ぶ。IOユニット140のスロット番号が分かれば、その位置に搭載されたPCIデバイス(例えば、PCIスロット145であればPCIカード301)を特定できることになる。PCIスロット145のスロット番号は“0”(図7ではslot#0と表記。以下、同様)である。PCIスロット145aのスロット番号は“1”である。他のPCIスロットのスロット番号も同様に振られる。ビデオコントローラ146のスロット番号は“8”である。HDDコントローラ147のスロット番号は“9”である。
PCIスイッチ114直下のバスはバス番号“3”である。PCIスイッチ114の配下にはIFボード150のPCIスイッチ151が接続されている。PCIスイッチ151はデバイス番号“0”である。よって、PCIスイッチ151の識別情報は“3:0”である。
PCIスイッチ151内のバスはバス番号“4”である。PCIスイッチ151には、通信IF152およびPCIボックスIF153,154が接続されている。通信IF152はデバイス番号“1”である。PCIボックスIF153はデバイス番号“2”である。PCIボックスIF154はデバイス番号“3”である。よって、通信IF152の識別情報は“4:1”である。PCIボックスIF153の識別情報は“4:2”である。PCIボックスIF154の識別情報は“4:3”である。
PCIボックスIF153直下のバスはバス番号“5”である。PCIボックスIF153の配下にはPCIボックス200のPCIスイッチ201が接続されている。PCIスイッチ201はデバイス番号“0”である。よって、PCIスイッチ201の識別情報は“5:0”である。
ここで、通信IF152およびPCIボックスIF153,154の搭載位置にもスロット番号が振られている。通信IF152のスロット番号は“0”である。PCIボックスIF153のスロット番号は“1”である。PCIボックスIF154のスロット番号は“2”である。
PCIスイッチ201内のバスはバス番号“6”である。PCIスイッチ201には、PCIスロット202,202a,・・・が接続されている。PCIスロット202(あるいは、PCIスロット202に挿設されたPCIカード301b)はデバイス番号“1”である。PCIスロット202a(あるいは、PCIスロット202aに挿設されたPCIカード302b)はデバイス番号“2”である。よって、PCIカード301bの識別情報は“6:1”である。PCIカード302bの識別情報は“6:2”である。同様にして、他のPCIカードの識別情報も付与される。
ここで、PCIスロット202,202a,・・・の搭載位置にもスロット番号が振られている。PCIスロット202のスロット番号は“0”である。PCIスロット202aのスロット番号は“1”である。他のPCIスロットのスロット番号も同様に振られる。
なお、デバイスの識別情報をバス番号とデバイス番号との組み合わせとした。ただし、1つのデバイスにおいて複数のファンクションを利用可能であれば、複数のファンクションそれぞれを示すファンクション番号を更に組み合わせた識別情報を用いて、当該デバイスをファンクション単位で管理してもよい。その場合、当該デバイスは、仮想的に複数のデバイスとして扱われることになる(ただし、対応するスロット番号は1つ)。例えば、ビデオコントローラ146が動画処理機能および音声処理機能を有していれば、画像処理機能および音声処理機能それぞれに異なる識別情報(バス番号、デバイス番号までは同じだが、ファンクション番号が異なる識別情報)を付与して管理してもよい。
図8は、第2の実施の形態のソフトウェア例を示す図である。図8に示すSB110の機能は、RAM112に記憶されたプログラムをプロセッサ111が実行することで実現されてもよい。図8に示すMMB160の機能は、RAM163に記憶されたプログラムをプロセッサ161が実行することで実現されてもよい。なお、SB110aもSB110と同様の機能を有する。SB110は、BIOS115、OS116および通知部117を有する。
BIOS115は、SB110が用いる周辺装置を制御する。BIOS115は、周辺装置を利用するための所定の準備処理を行う。BIOS115は、SB110により利用できるPCIバスを探索する。BIOS115は、探索結果に基づいて図7で示したPCIデバイスツリーを示す情報(以下、単にPCIデバイスツリー情報という)を生成する。PCIデバイスツリー情報は、例えば上位ノードと下位ノードとをポインタで結合した連結リストである。BIOS115はMMB160と通信可能である。また、BIOS115は周辺装置に関するログを出力する。
OS116は、業務アプリケーションなどの他のソフトウェアに対して、各種ハードウェアとのインタフェースを提供する基本ソフトウェアである。OS116は、起動時やPCIデバイスの取り付け、取り外しなどが行われた場合に、PCIデバイスの初期化を行う。その際に、OS116は、自身の処理を最適に行えるようにBIOSが生成したPCIデバイスツリー情報を変更することがある。BIOS115により生成された情報は、OS116の処理にとって必ずしも都合よく生成されているとは限らないからである。また、OS116は周辺装置に関するログを出力する。
通知部117は、OS116とMMB160との間の通信を仲介する。通知部117は、OS116により取得された情報をMMB160に提供する。また、通知部117は、MMB160から取得した情報をOS116に提供する。
MMB160は、記憶部165および管理部166を有する。記憶部165は、管理部166の処理に用いられる情報を記憶する。当該情報は、PCIユニット間の論理的な接続設定を示す情報や、各PCIユニットが備えるスロットの物理的な位置を管理するための情報などを含む。
管理部166は、BIOS115やOS116による周辺装置の設定内容を取得して記憶部165に格納する。管理部166は、記憶部165に記憶された情報に基づいて、各PCIデバイスが搭載された位置を管理する。管理部166は、BIOS115やOS116から、何れかのPCIデバイスの位置の問い合わせを受け付けると、記憶部165に記憶された情報を参照して、当該PCIデバイスの位置を示す情報を提供する。
図9は、第2の実施の形態の接続設定テーブルの例を示す図である。接続設定テーブル165aは、SB110,110a、IOユニット140,140a、IFボード150,150aおよびPCIボックス200,200aの論理的な接続設定を定義した情報である。PCIユニットの接続関係を定義した情報ということもできる。接続設定テーブル165aは記憶部165に格納される。接続設定テーブル165aは、SBおよび接続ユニットの項目を含む。
SBの項目には、SBの識別情報が登録される。接続ユニットの項目には、当該SBにより用いられるIOユニット、IFボードおよびPCIボックスを示す情報が登録される。ここで、これらの各PCIユニットの識別情報は例えば次の通りである。
SB110は“SB#0”である。SB110aは“SB#1”である。IOユニット140は“IOU#0”である。IOユニット140aは“IOU#1”である。IFボード150は“IFB#0”である。IFボード150aは“IFB#1”である。PCIボックス200は“PCIB#0”である。PCIボックス200aは“PCIB#1”である。
例えば、接続設定テーブル165aには、SBが“SB#0”、接続ユニットが“IOU#0”、“IFB#0”、“PCIB#0”という情報が登録されている。これは、SB110とIOユニット140、IFボード150およびPCIボックス200とを論理的に接続して、1つのグループ(パーティションということもある)とすることを示している。
また、例えば、接続設定テーブル165aには、SBが“SB#1”、接続ユニットが“IOU#1”、“IFB#1”という情報が登録されている。これは、SB110aとIOユニット140aおよびIFボード150aとを論理的に接続して1つのグループとすることを示している。
なお、接続設定テーブル165aには、PCIボックス200aの識別情報は登録されていない。これは、PCIボックス200aが、何れのグループにも属さず、フリーの状態であることを意味する。
図10は、第2の実施の形態の装置構成テーブルの例を示す図である。装置構成テーブル165bは、サーバ100における各PCIユニットのスロット位置とデバイス番号とを対応付けた情報である。装置構成テーブル165bは記憶部165に格納される。装置構成テーブル165bは、ユニット、物理位置およびデバイス番号の項目を含む。
ユニットの項目は、各PCIユニットの識別情報が登録される。物理位置の項目には、当該PCIユニットが備えるスロットの位置やPCIデバイスの位置を示す情報が登録される。デバイス番号の項目には、当該物理位置に対応するデバイス番号が登録される。
例えば、装置構成テーブル165bには、ユニットが“SB#0”、物理位置が“SB#0−PCISW#0”、デバイス番号が“0”という情報が登録される。これは、SB110aのPCIスイッチ113の物理位置を示す情報として“SB#0−PCISW#0”が付与されており、当該PCスイッチ113にデバイス番号“0”が付与されていることを示す。
このように、装置構成テーブル165bにおいて、各PCIユニットと当該PCIユニットが備えるスロットの位置やPCIデバイスの位置を示す情報とデバイス番号とが予め対応付けられる。
図11は、第2の実施の形態の物理位置管理テーブルの例を示す図である。物理位置管理テーブル165cは、管理部166により生成され記憶部165に格納される。物理位置管理テーブル165cは、SB、バス番号、デバイス番号、上位バス番号および物理位置の項目を含む。
SBの項目には、SBの識別情報が登録される。バス番号の項目には、バス番号が登録される。デバイス番号の項目には、デバイス番号が登録される。上位バス番号の項目には、上位のバスのバス番号が登録される。物理位置の項目には、スロットの位置やPCIデバイスの位置を示す情報が登録される。
例えば、物理位置管理テーブル165cには、バス番号が“0”、デバイス番号が“0”、上位バス番号が“−”(設定なし)、物理位置が“SB#0−PCISW#0”という情報が登録されている。これは、SB110によって用いられる、識別情報(バス番号:デバイス番号)“0:0”であるPCIスイッチ113の物理的な位置を示す情報が“SB#0−PCISW#0”であることを示している。
また、例えば、物理位置管理テーブル165cには、バス番号が“2”、デバイス番号が“1”、上位バス番号が“1”、物理位置が“IOU#0−slot#0”という情報が登録されている。これは、SB110によって用いられる、識別情報“2:1”であるPCIカード301の物理的な位置を示す情報が“IOU#0−slot#0”であることを示している。
次に、管理部166が提供するGUI(Graphical User Interface)の例を説明する。
図12は、第2の実施の形態の接続設定用のGUIの例を示す図である。図12(A)はグループ選択ウィンドウ500を例示している。図12(B)はユニット選択ウィンドウ510を例示している。
図12は、第2の実施の形態の接続設定用のGUIの例を示す図である。図12(A)はグループ選択ウィンドウ500を例示している。図12(B)はユニット選択ウィンドウ510を例示している。
管理部166は、グループ選択ウィンドウ500およびユニット選択ウィンドウ510の情報を生成して、サーバ100に接続されたディスプレイに表示させることができる。あるいは、管理部166は、ネットワーク10(または、MMB160と直接接続された他のネットワーク)を介してサーバ100と通信するコンピュータ上のブラウザに、グループ選択ウィンドウ500およびユニット選択ウィンドウ510を表示させてもよい。
管理部166は、グループ選択ウィンドウ500およびユニット選択ウィンドウ510に入力された情報に基づいて、記憶部165に記憶された接続設定テーブル165aを更新する。例えば、システム管理者はサーバ100に接続されたマウスやキーボードなどの入力デバイスを用いて、グループ選択ウィンドウ500およびユニット選択ウィンドウ510に情報を入力できる。
グループ選択ウィンドウ500は、複数のグループのうちから、PCIユニットを追加したいグループを選択するためのGUIである。例えば、グループ選択ウィンドウ500にはグループ一覧表示領域501および決定ボタン502が設けられている。
グループ一覧表示領域501は、グループの一覧を表示するための領域である。1つの行が1つのグループに相当する。グループ一覧表示領域501は、選択、項番、グループ名、電源状態、SB、IOUおよびPCIBの項目を含む。
選択の項目には、行を選択するためのフォーム(例えば、ラジオボタン)が表示される。項番の項目には、行番号が表示される。グループ名の項目には、グループを識別するための名称(グループ一覧表示領域501の例では、業務名“業務X”“業務Y”など)が表示される。電源状態の項目には、各グループの電源状態(“ON”または“OFF”)が表示される。SBの項目には、グループに属するSBを示す情報が表示される。具体的には、当該グループに属するSBの識別情報に対して“1”が登録される。他方、当該グループに属さないSBの識別情報に対して“0”が登録される。IOUの項目には、グループに属するIOユニットを示す情報が表示される。PCIBの項目には、グループに属するPCIボックスを示す情報が登録される。
例えば、グループ一覧表示領域501には、項番が“0”、グループ名が“業務X”、電源状態が“ON”、SB#0が“1”、SB#1が“0”、IOU#0が“1”、IOU#1が“0”、PCIB#0が“1”、PCIB#1が“0”という情報が表示されている。
これは、項番“0”に対応するグループが、SB110、IOユニット140およびPCIボックス200を含むものであり、そのグループ名が“業務X”、電源状態が“ON”であることを示す。なお、IFボード150はSB110と同一のグループに属するものとする。
例えば、グループ一覧表示領域501では選択の項目において項番“0”の行が選択されている。決定ボタン502は当該選択を決定するためのボタンである。例えば、ポインタP1により決定ボタン502が押下操作されると、当該選択が決定される。すると、管理部166は、ユニット選択ウィンドウ510の情報を生成する。
ユニット選択ウィンドウ510は、グループに対して追加したいPCIユニットの選択を受け付けるためのGUIである。例えば、ユニット選択ウィンドウ510には、ユニット一覧表示領域511および決定ボタン512が設けられている。
ユニット一覧表示領域511は、追加可能なPCIユニットの一覧を表示するための領域である。ユニット一覧表示領域511は、選択、追加可能ユニット、状態および説明の項目を含む。
選択の項目には、行を選択するためのフォーム(例えば、ラジオボタン)が表示される。追加可能ユニットの項目には、フリーであるPCIユニット(追加可能なPCIユニット)の識別情報が表示される。状態の項目には、当該PCIユニットの状態が表示される。説明の項目には、当該PCIユニットのスペックなどの説明が表示される。
例えば、ユニット一覧表示領域511には、追加可能ユニットが“PCIB#1”、状態が“OK”、説明が“PCIスロット12個”という情報が表示されている。これは、PCIボックス200aが現在フリーであり、当該PCIユニットの状態が正常(“OK”)であること、また、PCIボックス200aがPCIスロットを12個もつものであることを示している。
例えば、ユニット一覧表示領域511ではPCIボックス200aが選択されている。決定ボタン512は当該選択を決定するためのボタンである。例えば、ポインタP1により決定ボタン512が押下操作されると、当該選択が決定される。すると、管理部166は、上記項番“0”のグループに対して、PCIボックス200aを追加する。これにより、接続設定テーブル165aも更新されることになる。接続設定テーブル165aには、グループ一覧表示領域501に表示するための他の情報(例えば、グループ名など)が登録されてもよい。
なお、図12の例では、グループに対するPCIユニットの追加を行う場合の操作を例示したが、グループに対するPCIユニットの削除を行うこともできる。例えば、グループ選択ウィンドウ500において、削除用のGUIを表示させるためのボタンを設ける。例えば、削除用のGUIでは、グループ選択ウィンドウ500で選択されたグループに含まれるPCIユニットの一覧から、削除したいPCIユニットを選択するためのフォームと、当該選択を確定するためのボタンを表示させる。そうすれば、当該削除用のGUIで選択されたPCIユニットを、選択されたグループから削除して、フリーの状態とすることができる。フリーの状態となったPCIユニットは、同じグループまたは別のグループに対して追加し直すことができる。
このように、サーバ100では、PCIユニット単位にSBとの論理的な接続関係を適宜変更することができる。このような変更が行われると、例えば、SBに対するPCIデバイスが変更される。このため、SBで動作するOSはPCIデバイスに対するバス番号を振り直すことになる。また、サーバ100ではPCIデバイス単位の交換も行われる。
図13は、第2の実施の形態のPCIカードの交換作業の例を示す図である。図13では、PCIカード307をIOユニット140のPCIスロット(スロット番号“6”)から抜き取って、交換する様子を例示している。例えば、保守作業などによって、PCIカードがIOユニット140,140aおよびPCIボックス200,200aから抜き取られたり、新たに挿設されたりする。このように、PCIカード単位での交換などが発生した場合にも、SBに対するPCIデバイスの変更が生ずる。特に、このようなPCIカードの交換は、サーバ100の稼働中に行うこともできるし(活性保守)、サーバ100の停止中に行うこともできる。サーバ100の稼働中に行われれば、SBで動作するOSはPCIデバイスに対するバス番号を振り直すことになる。
管理部166は、PCIデバイスに対するバス番号が振り直されたとしても、各PCIデバイスの更新後の識別情報と物理位置を示す情報との対応関係を作り直す。次に、第2の実施の形態の処理手順を説明する。以下の説明では、SB110に関連する処理について説明するが、SB110aに関連する処理についても同様の手順である。
図14は、第2の実施の形態の処理を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS11)管理部166は、記憶部165に記憶された接続設定テーブル165aを参照して、PCIユニット間の論理的な接続設定を行う。
(ステップS11)管理部166は、記憶部165に記憶された接続設定テーブル165aを参照して、PCIユニット間の論理的な接続設定を行う。
(ステップS12)管理部166は、各PCIユニットの電源をオンにする。
(ステップS13)プロセッサ111は、ROM142に格納されたBIOS115のプログラムをRAM112にロードし、BIOS115の機能を発揮する(BIOS115の起動処理)。
(ステップS13)プロセッサ111は、ROM142に格納されたBIOS115のプログラムをRAM112にロードし、BIOS115の機能を発揮する(BIOS115の起動処理)。
(ステップS14)BIOS115は、PCIデバイスの初期化を行う。具体的には、BIOS115は各PCIデバイスにバス番号を付与し、PCIデバイスツリー情報を生成する。BIOS115は、PCIデバイスの初期化が完了した旨を管理部166に通知する。管理部166は、当該通知を受け付ける。
(ステップS15)管理部166は、PCIデバイスの情報をBIOS115から収集する。BIOS115から収集される情報には、PCIデバイスツリー情報が含まれる。
(ステップS16)管理部166は、BIOS115から収集された情報、記憶部165に記憶された接続設定テーブル165aおよび装置構成テーブル165bに基づいて、物理位置管理テーブル165cを生成する。例えば、管理部166は、接続設定テーブル165aによりPCIユニットのツリー構造を把握できる。接続設定テーブル165aの例でいえば、IOユニット140(IOU#0)およびIFボード150(IF#0)はサーバ100に内蔵できるPCIユニットであり、SB110(SB#0)の直下に接続されることになる。また、PCIボックス200(PCIB#0)はサーバ100に外付けするPCIユニットであり、IFボード150の配下に接続されることになる。また、装置構成テーブル165bには、各PCIデバイスのデバイス番号が登録されている。接続設定テーブル165aおよび装置構成テーブル165bから、PCIユニットのツリー構造とデバイス番号とを把握できるので、これとBIOS115から取得されたPCIデバイスツリー情報に基づいて、各PCIデバイスのバス番号を把握できる。管理部166は、このようにして把握された各PCIデバイスのバス番号を物理位置管理テーブル165cに登録する。
(ステップS16)管理部166は、BIOS115から収集された情報、記憶部165に記憶された接続設定テーブル165aおよび装置構成テーブル165bに基づいて、物理位置管理テーブル165cを生成する。例えば、管理部166は、接続設定テーブル165aによりPCIユニットのツリー構造を把握できる。接続設定テーブル165aの例でいえば、IOユニット140(IOU#0)およびIFボード150(IF#0)はサーバ100に内蔵できるPCIユニットであり、SB110(SB#0)の直下に接続されることになる。また、PCIボックス200(PCIB#0)はサーバ100に外付けするPCIユニットであり、IFボード150の配下に接続されることになる。また、装置構成テーブル165bには、各PCIデバイスのデバイス番号が登録されている。接続設定テーブル165aおよび装置構成テーブル165bから、PCIユニットのツリー構造とデバイス番号とを把握できるので、これとBIOS115から取得されたPCIデバイスツリー情報に基づいて、各PCIデバイスのバス番号を把握できる。管理部166は、このようにして把握された各PCIデバイスのバス番号を物理位置管理テーブル165cに登録する。
(ステップS17)プロセッサ111は、HDDユニット130に格納されたOS116のプログラムをRAM112にロードし、OS116の機能を発揮する(OS116の起動処理)。
(ステップS18)OS116は、PCIデバイスやデバイスドライバの初期化を行う。具体的な処理内容は、ステップS14と同様である。当該初期化において、OS116はBIOS115により付与された各PCIデバイスのバス番号を変更することもある。OS116によるPCIデバイスの初期化が完了すると、通知部117は、その旨を管理部166に通知する。管理部166は、当該通知を受け付ける。
(ステップS19)管理部166は、通知部117を介してPCIデバイスの情報をOS116から収集する。OS116から収集される情報には、PCIデバイスツリー情報が含まれる。管理部166は、ステップS18の処理により、各PCIデバイスのバス番号の設定に変更があるか否かを判定する。変更がある場合、処理をステップS20に進める。変更がない場合、処理を終了する。
(ステップS20)管理部166は、OS116によるバス番号の変更に応じて、物理位置管理テーブル165cを更新する。
このようにして、管理部166は、起動時にBIOS115およびOS116によって各PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を管理する。特に、BIOS115(第1のソフトウェア)によって付与された識別情報がOS116(第2のソフトウェア)によって変更されることもあるので、当該変更に応じて、当該対応関係を示す情報も更新する。次に、上記ステップS16,S20における処理を具体的に説明する。
このようにして、管理部166は、起動時にBIOS115およびOS116によって各PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を管理する。特に、BIOS115(第1のソフトウェア)によって付与された識別情報がOS116(第2のソフトウェア)によって変更されることもあるので、当該変更に応じて、当該対応関係を示す情報も更新する。次に、上記ステップS16,S20における処理を具体的に説明する。
図15は、第2の実施の形態のバス番号の設定例を示す図である。図15では、図7の接続例に対応するPCIユニットのツリー構造を示す情報を例示している。ただし、バス番号は未設定の状態である。このため、各ノードにおけるバス番号を“−”(ハイフン)と表記している。前述のように、管理部166は記憶部165に記憶された接続設定テーブル165aおよび装置構成テーブル165bに基づいて当該ツリー構造を把握できる。
ここで、ノード600はルートコンプレックスである。ノード700はPCIスイッチ113に相当する情報である。ノード701はIOコントローラ141に相当する情報である。ノード710はPCIカード301に相当する情報である。ノード720はPCIカード302に相当する情報である。ノード800はPCIスイッチ114に相当する情報である。ノード801はPCIスイッチ151に相当する情報である。ノード810はPCIボックスIF153に相当する情報である。ノード811はPCIスイッチ201に相当する情報である。ノード811aはPCIカード301bに相当する情報である。なお、通信IF152およびPCIボックスIF154を含む他のPCIデバイスに対応するノードの図示を省略している(以下、同様)。
管理部166は、BIOS115またはOS116から取得するPCIデバイスツリー情報を、図15に示すPCIユニットのツリー構造に当てはめることで、各ノードのバス番号を設定し得る。
図16は、第2の実施の形態のバス番号の設定例を示す図(続き)である。図16では、各ノードにおいてバス番号が設定された状態を示している。管理部166は、BIOS115またはOS116からは、図7の接続例に対応するPCIデバイスツリー情報を取得している。この場合、各ノードのバス番号が次のように設定されることになる。
ノード700のバス番号は“0”である。ノード701のバス番号は“1”である。ノード710のバス番号は“2”である。ノード720のバス番号は“2”である。ノード800のバス番号は“0”である。ノード801のバス番号は“3”である。ノード810のバス番号は“4”である。ノード811のバス番号は“5”である。ノード811aのバス番号は“6”である。
このようにして、物理位置との対応関係も含めたPCIデバイスツリー情報が完成する。管理部166は、図16に示す物理位置との対応関係も含めたPCIデバイスツリーを、物理位置管理テーブル165cを用いて管理する。図16に示すPCIデバイスツリー情報を更新したい場合、管理部166は、古いバス番号を新しいバス番号で上書きすればよい。
ところで、各PCIデバイスに付与された識別情報は、PCIデバイスが追加/削除されたタイミングでも変更され得る。また、当該識別情報は、PCIユニットが追加/削除されたタイミングでも変更され得る。PCIユニットは、PCIデバイスを搭載するものであり、当該PCIユニットの追加/削除はPCIデバイスの追加/削除を伴うからである。次に、PCIデバイス(または、PCIユニット)が追加/削除された際の処理手順を説明する。
図17は、第2の実施の形態のPCIデバイス追加例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(ステップS21)OS116は、追加のPCIデバイスを検出する。“追加する”とは、例えば、SBとの論理的な接続の確立である。PCIデバイスを追加することで、当該SBから当該PCIデバイスを利用可能になる。SB110に対してPCIデバイスが追加される場合とは、次のような場合が考えられる。(1)SB110に対して、グループ選択ウィンドウ500およびユニット選択ウィンドウ510を用いて新たなPCIユニット(例えば、PCIボックス200a)が追加される場合。(2)IOユニット140やPCIボックス200の何れかの空きPCIスロットに対して、PCIカードが新たに挿設される場合。
(ステップS21)OS116は、追加のPCIデバイスを検出する。“追加する”とは、例えば、SBとの論理的な接続の確立である。PCIデバイスを追加することで、当該SBから当該PCIデバイスを利用可能になる。SB110に対してPCIデバイスが追加される場合とは、次のような場合が考えられる。(1)SB110に対して、グループ選択ウィンドウ500およびユニット選択ウィンドウ510を用いて新たなPCIユニット(例えば、PCIボックス200a)が追加される場合。(2)IOユニット140やPCIボックス200の何れかの空きPCIスロットに対して、PCIカードが新たに挿設される場合。
(ステップS22)OS116は、PCIデバイスやデバイスドライバの初期化を行う。具体的な処理内容は、図14のステップS14と同様である。当該初期化において、OS116は、PCIデバイスツリー情報における各PCIデバイスのバス番号を変更する。OS116によるPCIデバイスの初期化が完了すると、通知部117は、その旨を管理部166に通知する。管理部166は、当該通知を受け付ける。当該通知は、PCIデバイスツリーの変更を通知するものといえる。
(ステップS23)管理部166は、通知部117を介して周辺装置の情報をOS116から収集する。OS116から収集される情報には、更新後のPCIデバイスツリー情報が含まれる。
(ステップS24)管理部166は、OS116によるバス番号の変更に応じて、物理位置管理テーブル165cを更新する。
このようにして、管理部166は、PCIデバイス(または、PCIユニット)が追加された際に、OS116から更新後のPCIデバイスの情報を取得して、PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を更新する。また、各PCIデバイスに付与された識別情報は、PCIデバイス(または、PCIユニット)が削除(論理的な接続が解除)されたタイミングでも変更され得る。次に、PCIデバイス(または、PCIユニット)が削除された際の処理手順を説明する。
このようにして、管理部166は、PCIデバイス(または、PCIユニット)が追加された際に、OS116から更新後のPCIデバイスの情報を取得して、PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を更新する。また、各PCIデバイスに付与された識別情報は、PCIデバイス(または、PCIユニット)が削除(論理的な接続が解除)されたタイミングでも変更され得る。次に、PCIデバイス(または、PCIユニット)が削除された際の処理手順を説明する。
図18は、第2の実施の形態のPCIデバイス削除例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
(ステップS31)OS116は、PCIデバイスを削除する旨の指示を受け付ける。例えば、当該指示はOS116に対して管理者が入力デバイスを用いて入力してもよいし、管理部166がOS116に入力してもよい。すると、OS116は、当該PCIデバイスの削除処理およびデバイスドライバの削除処理を実行する。OS116は、当該削除処理において、PCIデバイスツリー情報を更新する。
(ステップS31)OS116は、PCIデバイスを削除する旨の指示を受け付ける。例えば、当該指示はOS116に対して管理者が入力デバイスを用いて入力してもよいし、管理部166がOS116に入力してもよい。すると、OS116は、当該PCIデバイスの削除処理およびデバイスドライバの削除処理を実行する。OS116は、当該削除処理において、PCIデバイスツリー情報を更新する。
(ステップS32)OS116は、当該PCIデバイスの電源をオフにする。
(ステップS33)通知部117は、OS116によるPCIデバイスの削除処理が完了したことを確認すると、その旨を管理部166に通知する。管理部166は、当該通知を受け付ける。当該通知は、PCIデバイスツリーの変更を通知するものといえる。
(ステップS33)通知部117は、OS116によるPCIデバイスの削除処理が完了したことを確認すると、その旨を管理部166に通知する。管理部166は、当該通知を受け付ける。当該通知は、PCIデバイスツリーの変更を通知するものといえる。
(ステップS34)管理部166は、通知部117を介してPCIデバイスの情報をOS116から収集する。OS116から収集される情報には、更新後のPCIデバイスツリー情報が含まれる。
(ステップS35)管理部166は、OS116によるバス番号の変更に応じて、物理位置管理テーブル165cを更新する。
このようにして、管理部166は、PCIデバイス(または、PCIユニット)が削除された際に、OS116から更新後のPCIデバイスの情報を取得して、PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を更新する。
このようにして、管理部166は、PCIデバイス(または、PCIユニット)が削除された際に、OS116から更新後のPCIデバイスの情報を取得して、PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を更新する。
以上のようにして、管理部166は、BIOS115やOS116によりPCIデバイスツリー情報が更新され得る各タイミングで、BIOS115およびOS116から当該情報を取得し、物理位置管理テーブル165cを更新する。このため、管理部166は、物理位置管理テーブル165cを参照することで、各SBからのPCIデバイスの搭載位置の問い合わせに適切に応答することができる。次に、その手順を説明する。なお、以下では、OS116がPCIデバイスの搭載位置を問い合わせる場合を例示するが、BIOS115がPCIデバイスの搭載位置を問い合わせる場合も同様の手順となる。
図19は、第2の実施の形態の位置応答の処理例を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
(ステップS41)OS116は、何れかのPCIデバイスでエラーが発生したことを検出する。OS116は、エラーが発生したPCIデバイスのバス番号とデバイス番号とを特定し、通知部117に出力する。例えば、PCIカード301のエラーであれば、バス番号:デバイス番号は“2:1”である。あるいは、PCIスイッチ201のエラーであれば、バス番号:デバイス番号は“5:0”である。
(ステップS41)OS116は、何れかのPCIデバイスでエラーが発生したことを検出する。OS116は、エラーが発生したPCIデバイスのバス番号とデバイス番号とを特定し、通知部117に出力する。例えば、PCIカード301のエラーであれば、バス番号:デバイス番号は“2:1”である。あるいは、PCIスイッチ201のエラーであれば、バス番号:デバイス番号は“5:0”である。
(ステップS42)通知部117は、エラーが発生したPCIデバイスの物理位置を管理部166に問い合わせる。この問い合わせには、OS116から取得されたバス番号とデバイス番号とが含まれる。管理部166は、当該問い合わせを受け付ける。
(ステップS43)管理部166は、通知部117から取得されたバス番号およびデバイス番号の組(識別情報)を、記憶部165に記憶された物理位置管理テーブル165cから検索する。管理部166は、検索されたレコードに含まれる物理位置の情報を抽出する。例えば、バス番号:デバイス番号が“2:1”であれば、物理位置“IOU#0−slot#0”を抽出する。あるいは、バス番号:デバイス番号が“5:0”であれば、物理位置“PCIB#0−PCISW#0”である。
(ステップS44)管理部166は、ステップS43で抽出した物理位置の情報を通知部117に応答する。通知部117は、物理位置の情報を受け付ける。通知部117は、当該物理位置の情報をOS116に出力する。
(ステップS45)OS116は、エラーが発生したPCIデバイスに関するログを生成する。当該ログには、通知部117を介して取得された当該PCIデバイスの物理位置を示す情報が含まれる。
(ステップS46)OS116は、生成されたログを出力する。OS116は、当該ログを所定のログファイルに出力してもよい。OS116は、サーバ100に接続されたディスプレイに当該ログの内容を表示させてもよい。
このようにして、管理部166は、BIOS115やOS116からの問い合わせに対して、PCIデバイスの位置を応答する。管理部166は、BIOS115やOS116がPCIデバイスツリーの設定を変更する各タイミングにおいて、管理部166自身が管理する物理位置管理テーブル165cを適宜更新する。このため、BIOS115やOS116からの問い合わせに対して、適切に応答できる。
なお、図7の説明において、PCIデバイスの識別情報にファンクション番号を含めてもよいものとした。その場合、管理部166は、BIOS115やOS116からファンクション番号を含む識別情報を含んだPCIデバイスツリー情報を収集できる。よって、管理部166は、当該識別情報と搭載位置との対応関係を管理し得る。通知部117は、ファンクション番号を含む識別情報を用いて、管理部166に位置の問い合わせを行えばよい。そうすれば、管理部166は、当該識別情報に対応する搭載位置を応答できる。
図20は、第2の実施の形態のログ出力例を示す図である。OS116は、ログウィンドウ900にエラーのログを出力することが考えられる。その場合、例えば、エラーの内容に加えて、位置情報901も当該ログに含めることができる。例えば、位置情報901は、“IOU#0−slot#0”という文字列である。
サーバ100の保守員は、位置情報901を参照して、エラーが発生したPCIデバイスが搭載されたサーバ100上の位置を把握できる。例えば、当該位置情報として出力される文字列を、PCIスロット145,145a,・・・やPCIスロット202,202a,・・・などの外側から視認可能な位置に表記しておく。
より具体的には、“slot#0”という文字列をスロット145の外側から視認可能な位置に表記しておく。すると、位置情報901の文字列を参照した保守員は、当該文字列のうち“IOU#0”の部分により、IOユニット140を特定できる。IOユニット140は、図3で示したようにIOユニット140aよりも上側に搭載されている。更に、保守員は、位置情報901の文字列の“slot#0”の部分と、スロット145の外側に表記された“slot#0”の文字列を照合することでPCIカード301を特定できる。
あるいは、サーバ100のマニュアルなどに、位置情報の文字列が示す、サーバ100上の位置を記載しておいてもよい。そうすれば、保守員は、出力されたログの内容とマニュアルとを参照して、保守作業を行うべきPCIデバイスを特定できる。
図21は、第2の実施の形態のバス番号の変更例を示す図である。図21では、各PCIユニットにおける一部のPCIデバイスのみを図示し、他のPCIデバイスの図示を省略している。また、各PCIデバイスの名称に代えて、デバイス番号を表記している。
SB110に関するPCIデバイスツリー情報は、BIOS115により各PCIデバイスに対するバス番号が設定されることで生成される。しかし、上述したように、PCIデバイスツリー情報は、その後も変更され得る。例えば、OS116が周辺装置の初期化を行うタイミングである。また、例えば、SB110に対してPCIデバイス(または、PCIユニット)が追加/削除されたタイミングである。このため、当初のPCIデバイスツリー情報が、終始維持されるとは限らない。
例えば、図7で示したPCIデバイスツリーに対して、PCIボックス200aが追加されることで、バス番号が更新され得る。その場合、新たにバス番号が振り直され、バス番号“7”、“8”が追加され得る。
また、PCIボックス200aが追加された状態から、PCIボックス200が削除されることも考えられる。その場合も新たにバス番号が振り直される。その場合、例えば、IFボード150やPCIボックス200aに上記とは異なるバス番号が付与される可能性もある。例えば、PCIボックス200との接続が解除されるとすると、バス番号“5”、“6”が空きとなる。したがって、PCIボックスIF154配下のバスがバス番号“7”からバス番号“5”に、PCIボックス200a内のPCIスイッチのバスがバス番号“8”からバス番号“6”に変更されることが考えられる。すると、PCIボックス200aの各PCIデバイスの識別情報も変わることになる。
管理部166は、このようなPCIデバイスツリーの更新に追随して、物理位置管理テーブル165cを更新する。このため、BIOS115やOS116からPCIデバイスの搭載位置の問い合わせを受けた場合に、当該PCIデバイスの搭載位置を示す適切な情報を応答できる。このため、BIOS115やOS116は、PCIデバイスの搭載位置を示す適切な情報をログに含めて出力できる。
なお、第2の実施の形態の情報処理は、MMB160が備える管理部166により実現されるものとしたが、他のハードウェアが管理部166の機能を有してもよい。例えば、SVP143が管理部166に相当する機能を担うことも考えられる。
図22は、第2の実施の形態の他のソフトウェア例(その1)を示す図である。SVP143は、管理部143aを有する。管理部143aの機能は、SVP143がメモリ144に格納されたプログラムを実行することで実現されてもよい。管理部143aは、管理部166の代わりに、管理部166と同じ処理を行う。
管理部143aは、記憶部165に格納される接続設定テーブル165a、装置構成テーブル165bおよび物理位置管理テーブル165cに相当する情報をメモリ144に格納してもよい。あるいは、管理部143aは、接続設定テーブル165aおよび装置構成テーブル165bをMMB160から取得し、物理位置管理テーブル165cに相当する情報のみをメモリ144に格納して管理してもよい。
このように、SVP143に管理部143aを設けて、BIOS115やOS116に対するPCIデバイスの搭載位置を示す情報の提供を行うようにしてもよい。このようにすると、SVPはIOユニットごとに搭載されるため、複数のSVPにより第2の実施の形態の処理を分散して実行できる。例えば、SB110とIOユニット140とが論理的に接続される場合には、管理部143aがBIOS115やOS116によって設定されたPCIデバイスツリーとデバイス位置との対応関係を管理する。また、例えば、SB110aとIOユニット140aとが論理的に接続される場合には、IOユニット140aのSVPで動作する管理部が、SB110aで動作するBIOSやOSによって設定されたPCIデバイスツリーとデバイス位置との対応関係を管理する。このように処理を分散すれば、MMB160の負荷が軽減される。
また、SVPに管理部を設ければ、MMB160に管理部166を設けなくてもよい。あるいは、サーバ100にMMB160を設けなくても、第2の実施の形態の情報処理を実現できる。
なお、第2の実施の形態では、通知部117がOS116と管理部166との間の通信を仲介するものとしたが、ACPI(Advanced Configuration and Power Interface)ドライバがOS116と管理部166との間の通信を仲介してもよい。ここで、ACPIドライバは電源管理用のソフトウェアである。
図23は、第2の実施の形態の他のソフトウェア例(その2)を示す図である。SB110は、通知部117の機能をACPIドライバ118により実現してもよい。例えば、ACPIドライバ118のプログラムは、ROM142などに予め格納されてもよい。プロセッサ111は、ROM142に格納された当該プログラムをRAM112にロードして実行することで、ACPIドライバ118の機能を発揮してもよい。
ACPIドライバ118は、OS116によるPCIデバイスの初期化完了の通知や、PCIデバイスの搭載位置の問い合わせなどを、管理部166に対して行う。具体的には、図14,17,18,19における通知部117の処理を、ACPIドライバ118の処理として読み替えればよい。管理部166は、通知部117の代わりにACPIドライバ118を介して、OS116と通信する。この場合、通知部117をSB110に設けなくてもよい。
なお、第2の実施の形態では機能拡張用のインタフェースとしてPCIeを例示して説明したが、他の種類のインタフェースを用いる場合にも第2の実施の形態の情報処理を適用し得る。
また、前述のように、第1の実施の形態の情報処理は、演算部2bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ111,161およびSVP143にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、光ディスク15など)に記録できる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 情報処理装置
2 管理装置
3,4 装置
5,6,7,8 周辺装置
A,B,C,D 位置
2 管理装置
3,4 装置
5,6,7,8 周辺装置
A,B,C,D 位置
例えば、障害の発生した周辺装置の位置を、保守員が容易に把握できるのが好ましい。そこで、周辺装置を利用する装置により出力されるログに、周辺装置の位置情報を含めたいことがある。そのために、例えば周辺装置の識別情報と搭載位置との対応関係をハードコーディングにより情報処理装置に登録しておき、位置情報提供に用いることが考えられる。
例えば、装置構成テーブル165bには、ユニットが“SB#0”、物理位置が“SB#0−PCISW#0”、デバイス番号が“0”という情報が登録される。これは、SB110aのPCIスイッチ113の物理位置を示す情報として“SB#0−PCISW#0”が付与されており、当該PCIスイッチ113にデバイス番号“0”が付与されていることを示す。
ここで、PCIスロット145,145a,・・・、ビデオコントローラ146およびHDDコントローラ147は、IOユニット140の所定の位置に搭載されている。この位置を示す情報をスロット番号と呼ぶ。PCIスロット145のスロット番号は“0”(図7ではslot#0と表記。以下、同様)である。PCIスロット145aのスロット番号は“1”である。他のPCIスロットのスロット番号も同様に振られる。ビデオコントローラ146のスロット番号は“8”である。HDDコントローラ147のスロット番号は“9”である。
Claims (8)
- 複数の装置と前記複数の装置により利用可能な複数の周辺装置とを備え、前記複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置であって、
前記複数の装置と前記複数の周辺装置との対応関係を示す情報および何れかの装置により用いられる周辺装置に対して当該装置により付与された識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を記憶する記憶部と、
周辺装置の識別情報が変更された旨の通知を当該周辺装置を用いる装置から受け付けると、変更の内容に応じて前記管理情報を更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、前記管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する演算部と、
を有する情報処理装置。 - 前記管理情報は、何れかの装置で動作する第1のソフトウェアにより周辺装置に付与された識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含み、
前記演算部は、当該装置で動作する第2のソフトウェアにより当該周辺装置の識別情報が変更された旨の通知を当該装置から受け付けると、変更後の識別情報と当該周辺装置の位置を示す情報とを対応付けることで前記管理情報を更新する、
請求の範囲第1項記載の情報処理装置。 - 前記演算部は、何れかの装置に対して周辺装置が追加された際に周辺装置の識別情報が変更された旨の通知を受け付け、当該装置と当該周辺装置との対応関係を示す情報および当該装置により付与された当該周辺装置の識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を前記管理情報に追加する、請求の範囲第1項または第2項記載の情報処理装置。
- 前記演算部は、何れかの装置と周辺装置との接続が解除された際に周辺装置の識別情報が変更された旨の通知を受け付け、当該装置と当該周辺装置との対応関係を示す情報および当該装置により付与された当該周辺装置の識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を前記管理情報から削除する、請求の範囲第1項乃至第3項の何れか1項に記載の情報処理装置。
- 前記演算部は、何れかの装置に対して第1の周辺装置が追加された際に、または、当該装置と第1の周辺装置との接続が解除された際に、周辺装置の識別情報が変更された旨の通知を受け付け、当該装置により用いられる第2の周辺装置の識別情報が変更されたことを検出すると、前記第2の周辺装置の変更後の識別情報と前記第2の周辺装置の位置を示す情報とを対応付けることで前記管理情報を更新する、請求の範囲第1項乃至第4項の何れか1項に記載の情報処理装置。
- 前記複数の装置と前記複数の周辺装置との対応関係は、前記複数の装置および前記複数の周辺装置の稼働中に変更可能である、請求の範囲第1項乃至第5項の何れか1項に記載の情報処理装置。
- 複数の装置と前記複数の装置により利用可能な複数の周辺装置とを備え、前記複数の装置それぞれにより用いられる周辺装置を変更可能なコンピュータに、
何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、前記複数の装置と前記複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、
何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、前記管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する、
処理を実行させるプログラム。 - 複数の装置と前記複数の装置により利用可能な複数の周辺装置とを備え、前記複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置によって実行されるログ出力方法であって、
何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、前記複数の装置と前記複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、
何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、前記管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する、
ログ出力方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/079953 WO2014076842A1 (ja) | 2012-11-19 | 2012-11-19 | 情報処理装置、プログラムおよびログ出力方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014076842A1 true JPWO2014076842A1 (ja) | 2017-01-05 |
JP6070718B2 JP6070718B2 (ja) | 2017-02-01 |
Family
ID=50730782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014546829A Active JP6070718B2 (ja) | 2012-11-19 | 2012-11-19 | 情報処理装置、プログラムおよびログ出力方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9785599B2 (ja) |
JP (1) | JP6070718B2 (ja) |
WO (1) | WO2014076842A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106774706A (zh) * | 2016-12-07 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种服务器 |
JP6745405B2 (ja) * | 2017-05-22 | 2020-08-26 | 株式会社日立製作所 | ストレージシステム及びマッピング方法 |
JP7205110B2 (ja) * | 2018-08-24 | 2023-01-17 | 富士通株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
WO2022250706A1 (en) * | 2021-05-28 | 2022-12-01 | Hewlett-Packard Development Company, L.P. | Port notifications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007281839A (ja) * | 2006-04-06 | 2007-10-25 | Nec Electronics Corp | ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム |
WO2009040920A1 (ja) * | 2007-09-27 | 2009-04-02 | Fujitsu Limited | 入出力装置、情報処理システム、制御方法および制御プログラム |
JP2011197845A (ja) * | 2010-03-18 | 2011-10-06 | Hitachi Ltd | 計算機システム及び障害特定方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110461A (ja) | 2007-11-01 | 2009-05-21 | Nec Fielding Ltd | プリント配線板の情報採取方法、プリント配線板の構成管理方法、構成管理システム並びにそれに用いる電子機器及びプリント配線板 |
JP5266590B2 (ja) * | 2009-09-18 | 2013-08-21 | 株式会社日立製作所 | 計算機システムの管理方法、計算機システム及びプログラム |
JP5422490B2 (ja) | 2010-06-02 | 2014-02-19 | 株式会社日立製作所 | 計算機システム及びi/o故障カード特定方法 |
-
2012
- 2012-11-19 WO PCT/JP2012/079953 patent/WO2014076842A1/ja active Application Filing
- 2012-11-19 JP JP2014546829A patent/JP6070718B2/ja active Active
-
2015
- 2015-05-18 US US14/714,384 patent/US9785599B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007281839A (ja) * | 2006-04-06 | 2007-10-25 | Nec Electronics Corp | ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム |
WO2009040920A1 (ja) * | 2007-09-27 | 2009-04-02 | Fujitsu Limited | 入出力装置、情報処理システム、制御方法および制御プログラム |
JP2011197845A (ja) * | 2010-03-18 | 2011-10-06 | Hitachi Ltd | 計算機システム及び障害特定方法 |
Also Published As
Publication number | Publication date |
---|---|
US9785599B2 (en) | 2017-10-10 |
JP6070718B2 (ja) | 2017-02-01 |
US20150248369A1 (en) | 2015-09-03 |
WO2014076842A1 (ja) | 2014-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140115B2 (en) | Applying update to snapshots of virtual machine | |
US9043777B2 (en) | Transferring files to a baseboard management controller (‘bmc’) in a computing system | |
US7698545B1 (en) | Computer configuration chronology generator | |
US8448167B2 (en) | Storage system, and remote copy control method therefor | |
JP6099458B2 (ja) | 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード | |
CN105052111A (zh) | 跨群集边界的服务迁移 | |
JP6070718B2 (ja) | 情報処理装置、プログラムおよびログ出力方法 | |
US20140244822A1 (en) | Management apparatus and method of managing server node | |
CN106325563B (zh) | 用于标识电子设备的数据存储设备及相应的方法 | |
US10922300B2 (en) | Updating schema of a database | |
JP2008009861A (ja) | システム構成管理方式 | |
US10025521B2 (en) | Obtaining additional data storage from another data storage system | |
US20170185444A1 (en) | System for batch processing of workflows for virtualized infrastructure | |
US10795687B2 (en) | Information processing system for setting hardware, method for setting hardware and non-transitory computer-readable storage medium recording program for setting hardware | |
US11086874B2 (en) | Management of a virtual infrastructure via an object query language | |
JP2017033079A (ja) | ソフトウェア導入支援プログラム、ソフトウェア導入支援装置およびソフトウェア導入支援方法 | |
JP2015153266A (ja) | ファームウェア管理システム、方法、及び、プログラム | |
US20150324127A1 (en) | Storage control apparatus and storage control method | |
US9916148B2 (en) | System for managing software package configuration | |
JP6589341B2 (ja) | 情報処理装置、情報更新プログラム、およびストレージシステム | |
JP2011171951A (ja) | 情報処理システムおよび計算機への物理位置情報割り当て方法 | |
US11126964B2 (en) | Method and system for dynamic auto-generation of up-to-date deployment and operations guidance for solutions | |
US10318155B1 (en) | Mechanism for non-disruptive virtual tape drives removal and reconfiguration | |
TW202414229A (zh) | 用於致動一毀損記憶碟之視覺指示器的系統及方法 | |
JP2012208539A (ja) | 仮想マシン管理装置及び仮想マシン管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20161206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6070718 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |