(57)【要約】【課題】  情報処理装置に新たな装置を安全に組み込むための方法を提供することを目的とする。【解決手段】  情報処理装置の制御系統を複数の制御系統に分割し、複数の制御系統のうちの一の制御系統は前記新たな装置に直接アクセスし当該新たな装置を管理するための処理を実行し、他の制御系統は当該新たな装置に直接アクセスせず前記新たな装置に直接アクセスしその管理のための処理を実行する一の制御系統を管理する構成とした。【選択図】  図７
2010262671.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵを有し、互いに異なるプログラムによって制御され、互いに異なるＣＰＵが割り当てられる、互いに独立した複数の制御系統が設定される情報処理装置に新たな装置を組み込む方法であって、
前記新たな装置が前記情報処理装置に組み込まれた場合、
前記情報処理装置の制御系統のうち、第一の制御系統に割り当てられた複数のＣＰＵのうちいずれかのＣＰＵを、第二の制御系統に移動させ、
前記第一の制御系統に割り当てられたＣＰＵから、前記第二の制御系統に移動したＣＰＵに対して、前記新たな装置組み込みのための処理を実行する指示を発し、
前記指示を受けたＣＰＵが前記新たな装置をアクセスして、前記新たな装置組み込みのための処理を実行することを特徴とする、新たな装置を組み込む方法。
【請求項２】
前記第二の制御系統に割り当てられたＣＰＵによる、前記新たな装置組み込みのための処理が正常に終了した場合、前記第一の制御系統に割り当てられたＣＰＵが、前記第二の制御系統に割り当てられたＣＰＵに対して前記第一の制御系統に戻るよう指示を発することを特徴とする、請求項１に記載の新たな装置を組み込む方法。
【請求項３】
前記第一の制御系統は、前記情報処理装置のオペレーティングシステムによって制御され、
前記第二の制御系統は、前記オペレーティングシステムとは異なるプログラムによって制御されることを特徴とする、請求項１に記載の新たな装置を組み込む方法。
【請求項４】
前記新たな装置組み込みのための処理は、前記新たに組み込む装置の診断、前記新たに組み込む装置の初期化、あるいは前記新たに組み込む装置のデバイス構成情報の構築の少なくとも一つを含むことを特徴とする、請求項１に記載の新たな装置を組み込む方法。
【請求項５】
前記新たな装置組み込みのための処理は、前記第一の制御系統を制御する情報処理装置のオペレーティングシステムの監視下で、前記第二の制御系統を制御するファームウェアにより制御されることを特徴とする、請求項１に記載の新たな装置を組み込む方法。
【請求項６】
第一のＣＰＵと、
第二のＣＰＵと、
少なくとも前記第一のＣＰＵを制御する第一の制御手段と、
前記第一のＣＰＵ及び前記第二のＣＰＵのうちの少なくとも一方を制御する第二の制御手段と、
前記第一のＣＰＵを、前記第二の制御手段の制御下から前記第一の制御手段の制御下に切り替える切替手段と、を備え、
前記情報処理装置にハードウェアが追加されるときに、
前記切替手段は、前記第一のＣＰＵを前記第二の制御手段の制御下から前記第一の制御手段の制御下に切り替え、
前記第二のＣＰＵは、前記第一のＣＰＵに対して前記追加されるハードウェアを組み込む処理を実行する指示を行い、
前記第一のＣＰＵは、前記指示に応じて前記追加されるハードウェアにアクセスし、当該ハードウェア組み込みのための処理を実行する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に新たな装置を組み込む方法、及びその方法を実施する機能を有する情報処理装置に関する。
【背景技術】
【０００２】
近年、高品質、高性能が要求されるサーバ等の情報処理装置において、システムを停止せずにハードウェア資源を追加することが要求されている。
【０００３】
例えば、オンラインバンキング、ネットショッピングなどの業務に適用されるサーバにおいては、以下の如くの要求が課せられる。
【０００４】
１）２４時間システムの停止が許されない。
【０００５】
２）業務の負荷に応じてハードウェア資源をシステムを停止せずに追加し得る。
【０００６】
３）限られたハードウェア資源を負荷の高い業務に動的に割当て得る。
【０００７】
４）ハードウェア資源コスト削減が要求される。
【０００８】
これらの要求を満たすためには、ＯＳ（オペレーティングシステム、以下同様）にて運用中のシステムにおいて、ＯＳによる動作を停止することなく必要最小限のハードウェア資源を安全に追加することが要求される。
【０００９】
このような場合、従来はＣＰＵ、メモリ及びＩＯ（入出力部、以下同様）を含めワンセットとされたボードを一単位として既存のシステムに組込んでいた。このようにＣＰＵを必ず追加すべき一単位に含めることにより、事前にこのＣＰＵがファームウェアによる制御の下で追加ハードウェアに搭載されたメモリなどの各種デバイスの診断、初期化、デバイス構成情報の構築を行う。その結果、追加ハードウェアを安全に既存のシステムに組み込むことが可能であった。
【００１０】
しかしながら、コスト削減の観点からは、ＣＰＵ未実装のハードウェア資源を既存のシステムに組み込む形態の方が望ましい。
【００１１】
ＣＰＵ、メモリ及びＩＯを各々個別に既存のシステムに組込む場合、以下の如くの問題点が考えられる。追加のハードウェアの組込み時、既存のシステムにおいてＯＳ動作中のＣＰＵが、診断、初期化及びデバイス構成情報の構築がなされていない状態の追加ハードウェア資源に直接アクセスすることになる。そのため、当該ハードウェアへのアクセスエラーが発生した場合、既存のシステムがシステムダウンする危険性がある。
【００１２】
そこで、ＣＰＵ未実装のハードウェア資源を、既存のシステムにおいて動作中のＯＳ管理下に安全に組込むための構成が望まれる。
【００１３】
以下、上記問題点につき、更に詳細に説明する。
【００１４】
まず次のようなコンピュータシステムを想定する。
【００１５】
このシステムは複数のシステムボードから構成され、各システムボード上にはＣＰＵ、ＩＯ、メモリが実装される。
【００１６】
このシステムはその起動時、ファームウェアがメモリに展開され、このファームウェアがシステムのデバイス構成情報をメモリ上に作成し、ＯＳを起動する。
【００１７】
ＯＳはファームウェアが作成したデバイス構成情報を使ってシステム上のデバイスを管理する。
【００１８】
ここで「ＯＳがファームウェアが作成したデバイス構成情報を使ってシステム上のデバイスを管理する」とは、以下の内容を意味する。
【００１９】
すなわちＯＳがソフトウェアＳの処理を行う際、そのソフトウェアＳの処理にデバイスＤを割当てることが可能である。
【００２０】
またデバイスＤで何らかの異常が発生した際、ＯＳはソフトウェアＳの処理においてその異常処理を行なうことが可能である。
【００２１】
このようなシステムの一例を図１に示す。
【００２２】
図１中、ＳＹＳ（Ｘ）１００はＯＳ１３２により運用中のシステムであり、ＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０はＳＹＳ（Ｘ）１００上で動作中のＣＰＵである。また、ＭＥＭ（Ｘ）１３０はＳＹＳ（Ｘ）１００に搭載されるメモリであり、ファームウェア（ＦＩＲＭ１３３）およびファームウェア１３３によって作成されたＳＹＳ（Ｘ）１００のデバイス構成情報（Ｄｅｖｉｎｆｏ（Ｘ）１３５）を格納する。
【００２３】
また、ＳＢ（Ｙ）２００は既存のシステムＳＹＳ（Ｘ）に新たに組込まれるシステムボードである。また、ＭＥＭ（Ｙ）２３０はＳＢ（Ｙ）２００上のメモリであり、ＩＯ（Ｙ）２４０はＳＢ（Ｙ）２００上のＩＯである。
【００２４】
図１に図示されたデバイス、ファームウェア１３３、ＯＳ１３２は以下の状態にあるものとする。
【００２５】
ＳＹＳ（Ｘ）１００上のメモリＭＥＭ（Ｘ）１３０上でＯＳ１３２とファームウェア１３３とが動作している。
【００２６】
ＳＹＳ（Ｘ）１００のデバイス構成情報Ｄｅｖｉｎｆｏ（Ｘ）１３５は、ファームウェア１３３によって構築され、ＭＥＭ（Ｘ）に格納されている。
【００２７】
ＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０はＯＳ１３２の管理下にある。ＯＳ１３２による制御系統は図１においてＣ１として示される。
【００２８】
ＳＢ（Ｙ）２００はＯＳ１３２運用中のシステムＳＹＳ（Ｘ）１００にハードウェア的に接続されており、ＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０からアクセス可能な状態にある。
【００２９】
ＳＢ（Ｙ）２００にはメモリＭＥＭ（Ｙ）２３０とＩＯ（Ｙ）２４０とが実装されているが、それらのデバイス構成情報は構築されておらず、既存のシステムＳＹＳ（Ｘ）１００のＯＳ１３２管理下にはないものとする。
【００３０】
なお、図１図示のシステムにおいて、新たに組み込もうとするシステムボードＳＢ（Ｙ）２００にはＣＰＵが実装されていない。このため、既存のシステムに接続されたＳＢ（Ｙ）２００上のデバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）を既存のシステムＳＹＳ（Ｘ）１００のＯＳ１３２の管理下に置くため、既存のシステムＳＹＳ（Ｘ）１００上のＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０によるシステムボードＳＢ（Ｙ）２００上のデバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）に対する診断、初期化及びそのデバイス構成情報の作成が必要である。
【００３１】
そのため、従来は図２のステップＳ１、Ｓ２に示す如く、ＯＳ１３２の管理下にあるＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０が、新たに組み込むべきハードウェア資源（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）に直接アクセスして診断、初期化及びそのデバイス構成情報の作成と言った処理を行っていた。
【先行技術文献】
【特許文献】
【００３２】
【特許文献１】特開２００２−１３２７４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００３３】
このように新たなハードウェアを既存のシステムに組み込む際、既存のシステムのＯＳ１３２で動作中の一のＣＰＵ（Ｂ）１２０が新たに組み込まれたシステムボードＳＢ（Ｙ）２００上のデバイスに直接アクセスした場合、動作エラーが発生することがある。そしてこれがシステムにとって致命的なエラーであった場合、既存のシステム全体のシステムダウンに至る可能性がある。
【００３４】
以下この問題につき、図３乃至５と共に具体的に説明する。
【００３５】
図４のステップＳ２１にて新たなハードウェアとしてのシステムボードＳＢ（Ｙ）２００をシステムＳＹＳ（Ｘ）に追加する際、既存のシステムＳＹＳ（Ｘ）１００のＯＳ１３２で動作中の一のＣＰＵであるＣＰＵ（Ｂ）１２０が、システムボードＳＢ（Ｙ）２００に直接アクセスする（図３中、ステップＳ１１）。そしてシステムボードＳＢ（Ｙ）２００上のデバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）の診断、初期化及びそのデバイス構成情報の構築を行う（図４中、ステップＳ２２及び図５中、ステップＳ３１）。その間、何らかの要因で致命的なエラーが発生した場合（図３中のステップＳ１２）、既存のシステムＳＹＳ（Ｘ）１００はシステムダウンに陥る（図４中、ステップＳ２３）。図５の例（ステップＳ３２）では、メモリに障害が発生した例が図示されている。
【００３６】
他方、図４のステップＳ２２の処理が正常に終了できた場合、あるいはエラーが発生しても修復可能なエラーであった場合には、ステップＳ２４にてシステムボードＳＢ（Ｙ）２００のＯＳ１３２の管理下への組み込みが完了する。
【００３７】
このように、従来の構成では図５に示す如く、システムボードＳＢ（Ｙ）２００を組み込む際に既存のシステムＳＹＳ（Ｘ）１００を制御しているＯＳ１３２で動作しているＣＰＵ（Ｂ）１２０がシステムボードＳＢ（Ｙ）２００に直接アクセスして、システムボードＳＢ（Ｙ）２００上のデバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）０の診断、初期化及びそのデバイス構成情報の構築を行う。
【００３８】
すなわち、既存のシステムＳＹＳ（Ｘ）１００全体を管理するＣＰＵ（Ａ）１１０と、診断、初期化及びそのデバイス構成情報の構築がなされていない状態のシステムボードＳＢ（Ｙ）２００に直接アクセスするＣＰＵ（Ｂ）１２０とが、ＯＳ１３２による制御に係る制御系統Ｃ１で動作している状況下で、上記組み込みのための処理（診断、初期化、そのデバイス構成情報の構築）がなされる。そのため、ＣＰＵ（Ｂ）１２０による上記アクセス中に何らかの致命的なエラーが発生した場合、そのエラーが制御系統Ｃ１全体に及び、制御系統Ｃ１に含まれるＣＰＵ（Ａ）１１０も動作不能に陥ることになる。その結果、システム全体が動作不能状態に陥る。
【００３９】
例えば２４時間停止が許されないシステムではこのようなシステムダウンの発生は許されない。その結果システム運用中にＣＰＵ以外の必要最小限のハードウェア資源を追加するということが困難となってしまう。
【００４０】
本発明はこのような問題点に鑑み、既存のシステムのＯＳに新たなハードウェアを組み込む際、システムダウンのリスクを回避して安全な組み込みを可能にする構成を提供することを目的とする。
【課題を解決するための手段】
【００４１】
本発明では情報処理装置に新たに装置を組み込む際、当該情報処理装置の制御系統を複数の制御系統に分割し、当該分割された複数の制御系統のうちの一の制御系統は前記新たな装置に直接アクセスし当該新たな装置を管理するための処理を実行し、前記分割された複数の制御系統のうちの他の制御系統は、前記新たな装置に直接アクセスしその管理のための処理を実行する一の制御系統を管理する構成とした。
【発明の効果】
【００４２】
このように情報処理装置の制御系統を分割し、その一の制御系統によって新たな装置に直接アクセスするようにすることにより、アクセス中に何らかの原因で致命的なエラーが発生した場合であっても、当該エラーが前記一の制御系統を越え他の制御系統まで波及することがない。したがって、前記分割に係る他の制御系統は正常に動作継続可能となり、既存の情報処理装置全体のシステムダウンの発生を効果的に防止し得る。
【図面の簡単な説明】
【００４３】
【図１】従来の問題点を説明するための図（その１）である。
【図２】従来の問題点を説明するための図（その２）である。
【図３】従来の問題点を説明するための図（その３）である。
【図４】従来の問題点を説明するための図（その４）である。
【図５】従来の問題点を説明するための図（その５）である。
【図６】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法の概要を説明するための動作フローチャートである。
【図７】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法の概要を説明するための装置ブロック図である。
【図８】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を適用し得る情報処理装置の一例のシステムボード用スロット構成を示すための図である。
【図９】図８に示すシステムボード上のスロット構成の一例を示すための図である。
【図１０】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を説明するための装置ブロック図（その１）である。
【図１１】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を詳細に説明するための動作フローチャートである。
【図１２】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を説明するための装置ブロック図（その２）である。
【図１３】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を説明するための装置ブロック図（その３）である。
【図１４】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を説明するための装置ブロック図（その４）である。
【図１５】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を説明するための装置ブロック図（その５）である。
【図１６】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を説明するための装置ブロック図（その６）である。
【図１７】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を実施するための処理手順を示す図（その１）である。
【図１８】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を実施するための処理手順を示す図（その２）である。
【図１９】本発明の一実施例による情報処理装置に新たに装置を組み込むための方法を適用可能な情報処理装置のブロック図である。
【発明を実施するための形態】
【００４４】
図６は、本発明の一実施形態によるハードウェア追加処理の手順を示した図面である。また、図７は本発明の一実施形態が適用されるシステムの構成を示す図面である。
【００４５】
図７において、ＳＹＳ（Ｘ）はＯＳにより制御されるシステムを示す。ＳＹＳ（Ｘ）には、複数のＣＰＵが搭載される。図７の例では、ＣＰＵ（Ａ）およびＣＰＵ（Ｂ）の二つのＣＰＵが搭載されている。また、ＳＹＳ（Ｘ）にはメモリＭＥＭ（Ｘ）が搭載される。
【００４６】
ＭＥＭ（Ｘ）にはＯＳ、ファームウェアおよびデバイス構成情報Ｄｅｖｉｎｆｏ（Ｘ）が格納される。
【００４７】
また、ＳＢ（Ｙ）はシステムボードであり、ＳＹＳ（Ｘ）に追加されるハードウェア資源である。ＳＢ（Ｙ）にはメモリＭＥＭ（Ｙ）およびＩＯ（Ｙ）が搭載されているが、図７に図示されるＳＢ（Ｙ）にはＣＰＵは搭載されていない。
【００４８】
図示のＣ１及びＣ２は制御系統を模式的に示している。制御系統は、ＣＰＵがどの部位の制御により動作しているかを示す。図７の例では、Ｃ１はＯＳによって制御される系統を示しており、ＣＰＵ（Ａ）が制御系統Ｃ１に含まれる。一方、Ｃ２はファームウェアにより制御される系統を示しており、ＣＰＵ（Ｂ）が制御系統Ｃ２に含まれる。制御系統Ｃ１および制御系統Ｃ２は互いに独立している。また、ＣＰＵをどの制御系統に配置するかは動的に変更可能であり、ＣＰＵの割り当ては図７に図示されたものに限定されるわけではない。
【００４９】
本発明の実施の形態によれば、図６、７に示す如くＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０の動作を制御するＯＳ１３２に対して新たにＣＰＵ未実装のシステムボードＳＢ（Ｙ）を組込む際、当該ＯＳ１３２による制御系統Ｃ１に置かれたＣＰＵうちの一のＣＰＵ（Ｂ）１２０の制御を、ＯＳ１３２による制御系統Ｃ１から外してファームウェア１３３による制御系統Ｃ２に移す（図６中、ステップＳ４１）。その結果、図７に示す如く当該システムＳＹＳ（Ｘ）１００においては二つの制御系統Ｃ１、Ｃ２が互いに独立して存在することになる。
【００５０】
そして、ファームウェアによる制御系統Ｃ２に置かれたＣＰＵ（Ｂ）１２０に対し、ＯＳ１３２による制御系統Ｃ１に置かれたＣＰＵ（Ａ）１１０がＣＰＵ間通信（ステップＳ４２、Ｓ４３）によって指示を送る（図７中、ステップＳ５１）。指示を受けたＣＰＵ（Ｂ）１２０は、デバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）の診断、初期化、構成情報の作成（図６中ステップＳ４４、図７中ステップＳ５２）を行う。
【００５１】
ここでは、ＣＰＵ未実装のハードウェアとしてのシステムボードＳＢ（Ｙ）２００を既存のシステムＳＹＳ（Ｘ）１００のＯＳ１３２に組込む際、デバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）の診断、初期化、その構成情報の作成をファームウェア１３３による制御系統Ｃ２のＣＰＵ（Ｂ）１２０に実行させる。このためデバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）へのアクセス中に致命的なエラーが発生した場合（図６中ステップＳ４５及び図７中ステップＳ５３）であっても、その影響は制御系統Ｃ２内に閉じ、ＯＳによる制御系統Ｃ１に及ぶことがない。
【００５２】
すなわち、両ＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０は異なる制御系統Ｃ１、Ｃ２にあって、両ＣＰＵの間はＣＰＵ間通信が行われるにとどまる。このため、一方の制御系統における致命的なエラーが、他方の制御系統の根幹に及ぶことが防止される
その結果、ＯＳ１３２のダウンによるシステム全体の機能停止発生の危険性を効果的に回避した上で、ハードウェアの追加作業を行うことが可能となる。
【実施例１】
【００５３】
以下本発明の一実施例につき、図と共に詳細に説明する。
【００５４】
本発明の一実施例が適用可能な構成としてハードウェアとプログラム(ファームウェアとＯＳ)とが協調してシステムを提供する構成を想定する。
【００５５】
ここでは、動的に組込み・切離しが可能なハードウェアと、このように動的にハードウェア資源が追加・削除される状況に対応可能なプログラムとを有する構成が前提である。
【００５６】
図8は本発明の一実施例が適用可能な情報処理装置のスロットを説明する図面である。図８は、情報処理装置のフレームを示しており、図示されないバックプレーンが設けられ、各種ボードが接続されるコネクタを有する。
【００５７】
このシステムにおいては、ひとつのＯＳが複数のシステムボード(以下ＳＢと称する)資源を使って動作可能とされる。
【００５８】
また、このシステムでは当該システム内に複数のドメインを同時に動作させることが可能である。尚ドメインとは一つのＯＳが動作する環境を言う。
【００５９】
またこのシステムはＯＳの動作中に装置の空きスロットにＳＢ（システムボード）を挿入可能な構成とされ、挿入されたＳＢ上のデバイスにＯＳ動作中のデバイスからアクセス可能な構成とされる。
【００６０】
また、本実施例ではＯＳが二つ以上のＣＰＵで動作するシステムが想定されている。
【００６１】
このように複数のＳＢで構成されるドメインをシステム内に複数構築可能とすることにより以下の例のような利点が得られる。
【００６２】
すなわちシステム内に待機系と運用系との二つのドメインを構築することが可能である。
【００６３】
また負荷の高いドメインに対し負荷の低いドメインの資源をＳＢ単位で割当てることが可能となる。
【００６４】
更に負荷の高いドメインに対しＳＢ単位でハードウェア資源を追加することが可能となる。
【００６５】
また各ＳＢ上にＣＰＵ、ＩＯ、メモリを適宜実装可能である（図９参照）。
【００６６】
更にこのシステムにおいてファームウェア、ＯＳは任意の複数のＳＢ資源を使って動作可能である。
【００６７】
またこのシステムは起動時にファームウェアをメモリに展開し、ファームウェアがシステムのデバイス構成情報をメモリ上に作成しＯＳを起動する。
【００６８】
ＯＳは、ファームウェアが作成したデバイス構成情報を使って、システム上の各デバイスを管理する。
【００６９】
以下、図と共に本発明の一実施例による情報処理装置としての上記システムに新たに装置を組み込むための方法につき詳細に説明する。
【００７０】
ここでは図８に示す如く、２枚のシステムボードＳＢ＃０、ＳＢ＃１がスロットに装着されたシステムに対し、ＣＰＵ未実装の新たなシステムボードＳＢ＃２を追加する例について以下に説明する。
【００７１】
図１０は本発明の一実施形態が適用されるシステムの構成を示す図面である。
【００７２】
図１０においてＳＹＳ（Ｘ）はＯＳにより制御されるシステムを示し、ＣＰＵ（Ａ）およびＣＰＵ（Ｂ）の二つのＣＰＵが搭載されている。また、ＳＹＳ（Ｘ）にはメモリＭＥＭ（Ｘ）が搭載される。
【００７３】
ＭＥＭ（Ｘ）にはＯＳ、ファームウェアおよびデバイス構成情報Ｄｅｖｉｎｆｏ（Ｘ）が格納される。
【００７４】
また、ＳＢ（Ｙ）はシステムボードであり、ＳＹＳ（Ｘ）に追加されるハードウェア資源である。ＳＢ（Ｙ）にはメモリＭＥＭ（Ｙ）およびＩＯ（Ｙ）が搭載されているが、図１０に図示されるＳＢ（Ｙ）にはＣＰＵは搭載されていない。
【００７５】
またＳＹＳ（Ｘ）において、ＣＰＵ（Ａ）及びＣＰＵ（Ｂ）が制御系統Ｃ１に含まれる。
【００７６】
すなわちシステムＳＹＳ（Ｘ）１００は図１０に示す如く、ＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０がＯＳ１３２により制御されて動作する。また、図１０に図示されたシステムＳＹＳ（Ｘ）は、ＳＢ＃０、ＳＢ＃１から構成されているものとする。
【００７７】
ＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０はシステムＳＹＳ（Ｘ）上で動作中のＣＰＵであり、ＭＥＭ（Ｘ）１３０はＳＹＳ（Ｘ）上で動作中のメモリである。
【００７８】
またＦＩＲＭ１３３は当該システムＳＹＳ（Ｘ）１００が有するファームウェアであり、Ｄｅｖｉｎｆｏ（Ｘ）１３５はファームウェア１３３によって作成されＭＥＭ（Ｘ）に格納された、システムＳＹＳ（Ｘ）１００に含まれるデバイス（ＭＥＭ（Ｘ）１３０、ＩＯ（Ｘ）１４０）に係るデバイス構成情報である。
【００７９】
システムＳＹＳ（Ｘ）１００の起動時にファームウェア１３３がメモリ１３０に展開され、ファームウェア１３３がシステムＳＹＳ（Ｘ）１００のデバイス構成情報１３５をメモリ１３０上に作成し、ＯＳ１３２を起動する。そして、ＯＳ１３２はファームウェア１３３が作成したデバイス構成情報１３５を使って、システムＳＹＳ（Ｘ）１００上のデバイス（ＭＥＭ（Ｘ）１３０、ＩＯ（Ｘ）１４０）を管理する。
【００８０】
また、ＳＢ（Ｙ）は図８に図示のＳＢ＃２に該当し、システムＳＹＳ（Ｘ）１００に追加される新規なハードウェアであり、ＣＰＵは実装されていない。したがって、自らが事前に搭載されているデバイスの診断、初期化、デバイス構成情報の構築を行うことはできない。そのため、システムボードＳＢ（Ｙ）をＯＳ１３２管理下に組み込むためには、既存のシステムＳＹＳ（Ｘ）１００のＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０によってデバイス診断、初期化、デバイス構成情報構築などの作業がなされる。
【００８１】
ＭＥＭ（Ｙ）２３０はシステムボードＳＢ（Ｙ）２００上のデバイスとしてのメモリであり、ＩＯ（Ｙ）２４０も同じくシステムボードＳＢ（Ｙ）上のデバイスとしてのＩＯである。
【００８２】
またＳＢ（Ｙ）２００を追加する際、デバイス（ＭＥＭ（Ｘ）１３０、ＩＯ（Ｘ）１４０、ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）、ファームウェア１３３、ＯＳ１３２は以下の状態にあるものとする。
【００８３】
既存のシステムＳＹＳ（Ｘ）１００上のメモリＭＥＭ（Ｘ）１３０上でＯＳ１３２とファームウェア１３３とが動作している。
【００８４】
システムＳＹＳ（Ｘ）１００に搭載された既存のデバイスに係るデバイス構成情報Ｄｅｖｉｎｆｏ（Ｘ）１３５は、ファームウェア１３３によって構築され、ＭＥＭ（Ｘ）に格納されている。
【００８５】
上記の如く、システムＳＹＳ（Ｘ）１００のＣＰＵであるＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０はＯＳ１３２による制御系統Ｃ１に置かれている。
【００８６】
ＳＢ（Ｙ）２００には、メモリＭＥＭ（Ｙ）２３０とＩＯ（Y）２４０とが実装されているが、これらデバイスのデバイス構成情報は構築されておらず、またＯＳ１３２の管理下にはない。
【００８７】
上記図１０のシステムＳＹＳ（Ｘ）１００にＣＰＵが未実装の新規なハードウェアＳＢ＃２を追加する手順につき、以下に説明する。
【００８８】
図１１はこの手順を示すフローチャートである。
【００８９】
まずステップＳ６１にて、ユーザがＳＢ（Ｙ）２００を、システムＳＹＳ（Ｘ）を構成する情報処理装置１００のスロット＃２に挿入する。
【００９０】
その結果、ＳＢ（Ｙ）２００はＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０からアクセス可能な状態となる。
【００９１】
ステップS６２にて、当該システムＳＹＳ（Ｘ）１００のユーザは、ＯＳ１３２に対しＳＢ（Ｙ）２００をＳＹＳ（Ｘ）１００に組込むよう指示するための入力操作を行う。
【００９２】
ステップＳ６３にて、ＯＳ１３２はＣＰＵ（Ｂ）１２０に対し、ＣＰＵ（Ｂ）１２０の制御をファームウェア１３３による制御系統Ｃ２に移行するための処理を実行させる（図１２中、ステップＳ８１)。
【００９３】
その結果、ＣＰＵ（Ｂ）１２０の制御がファームウェア１３３による制御系統Ｃ２に移る（図１２中、ステップＳ８２)。
【００９４】
ステップＳ６４にて、ＯＳ１３２により制御されるＣＰＵ（Ａ）１１０は、ＣＰＵ間通信によってファームウェア１３３により制御されるＣＰＵ（Ｂ）１２０に対し、ファームウェア１３３にしたがってＳＢ（Ｙ）に搭載されたデバイスの診断、初期化、構成情報作成処理を実行するよう指示を出す（図１３中、ステップＳ８３）。
【００９５】
その後、ＯＳ１３２による制御系統Ｃ１に置かれたＣＰＵ（Ａ）１１０は、ファームウェア１３３による制御系統Ｃ２に置かれたＣＰＵ（Ｂ）１２０による上記処理が完了するのを監視する。
【００９６】
ステップＳ６５にて、ＣＰＵ（Ｂ）１２０はファームウェア１３３によるＳＢ（Ｙ）に搭載されたデバイスに直接アクセスし、診断、初期化、構成情報作成処理を実行する(図１３中、ステップＳ８４、Ｓ８５)。
【００９７】
ステップＳ６５の処理が正常終了すると、該当するデバイス構成情報Ｄｅｖｉｎｆｏ（Ｙ）１３５が得られる(ステップＳ６９、図１４)。得られたデバイス構成情報Ｄｅｖｉｎｇｏ（Ｙ）は、ＭＥＭ（Ｘ）に格納される。
【００９８】
ステップＳ７０で、ＯＳ１３２上のＣＰＵ（Ａ）１１０はＣＰＵ間通信によってファームウェア上のＣＰＵ（Ｂ）１２０に対し、ＯＳ１３２による制御系統Ｃ１に戻るよう指示を出す（図１４中、ステップＳ８６、Ｓ８７）。
【００９９】
ステップＳ７１にて、ＯＳ１３２はファームウェア１３３が上記の如く作成したデバイス構成情報Ｄｅｖｉｎｆｏ（Ｙ）によって認識可能になった新規なハードウェアとしてのデバイスＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０を、ＯＳ１３２の管理下に置く（図１４中、ステップＳ８８、Ｓ８９、図１５）。
【０１００】
次に、ＳＢ（Ｙ）２００上のデバイス（ＭＥＭ（Ｙ）２３０、ＩＯ（Ｙ）２４０）へのアクセス時に異常が発生した場合について以下に説明する。
【０１０１】
例えば、メモリＭＥＭ（Ｙ）が故障のため、ステップＳ６５の処理中に致命的なエラーが発生した場合、ファームウェア１３３の動作による通常の処理の継続が不可能となる(ステップＳ６６、図１６中ステップＳ９１)。
【０１０２】
ＣＰＵ（Ｂ）による処理が行われている間、ＯＳ１３２はファームウェア１３３上のＣＰＵ（Ｂ）の処理を監視している。ここで、ＣＰＵ（Ｂ）による処理継続が不可能となると、ＯＳはＣＰＵ（Ｂ）１２０のタイムアウトを検出する(図１６中、ステップＳ９２)。すなわち、規定の時間以内に所定の処理が完了しない際にそれを検出し、異常発生と判定する。
【０１０３】
ステップＳ６８にて、ＯＳ１３２はＳＢ（Ｙ）の組込みを断念し、ＣＰＵ（Ａ）１１０のみでシステムＳＹＳ（Ｘ）１００の動作を継続する。
【０１０４】
このように、本発明の実施例では新規なハードウェアとしてのシステムボードＳＢ（Ｙ）２００に直接アクセスするＣＰＵ（Ｂ）１２０を一旦システムの制御を担うＯＳ１３２による制御系統Ｃ１から切り離し、これとは独立なファームウェア１３３による制御系統Ｃ２に移行させる。そして、制御系統の移行後、ＯＳ１３２上のＣＰＵ（Ａ）１１０はファームウェア１３３上のＣＰＵ（Ｂ）１２０に対し、ＣＰＵ間通信により必要な指示を出しその動作を監視する。
【０１０５】
したがって、ファームウェア１３３上のＣＰＵ（Ｂ）１２０がシステムボードＳＢ（Ｙ）２００にアクセス中致命的なエラーが発生し動作不能な状態に陥ったとしても、ＯＳ１３２上のＣＰＵ（Ａ）１１０の動作が直接その影響を受けることがないようにプログラム設計することが可能である。したがって既存のシステムＳＹＳ（Ｘ）１００のシステムダウンの発生を防止可能である。
【０１０６】
以下、図１７及び図１８と共に、上述の本発明の一実施例による情報処理装置に新たにハードウェア資源を組み込むための方法を実施するための処理手順につき説明する。図１７はＣＰＵ（Ａ）で実行される処理を、図１８はＣＰＵ（Ｂ）で実行される処理をそれぞれ示している。
【０１０７】
ステップＳ１０１にて、ＯＳ上で動作中のＣＰＵ（Ａ）はユーザによる指示入力に基づき、上記新たにハードウェア資源を組み込むため動作としての、システムボードＳＢ（Ｙ）２００の追加動作を開始する。
【０１０８】
ステップＳ１０２にて、ＣＰＵ（Ａ）は同上ボードの追加動作に関連する情報をＣＰＵ間通信にてやりとりするための情報領域（フラグ）を設定する。
【０１０９】
ステップＳ１０３にて、ＣＰＵ（Ａ）はＯＳ上で動作中のＣＰＵ（Ｂ）に対し、その制御をファームウェア１３３上に移すようＣＰＵ間通信にて指示を出す。
【０１１０】
これを受けたＣＰＵ（Ｂ）はステップＳ１１１にてファームウェア１３３上へ自己の制御を移すための動作を開始する。
【０１１１】
更にＣＰＵ（Ｂ）はステップＳ１１２にてファームウェア１３３上への自己の制御を遷移を完了し、ステップＳ１１３にてその事実をＣＰＵ間通信にてＣＰＵ（Ａ）に通知する。
【０１１２】
この間ＣＰＵ（Ａ）はステップＳ１０４にてＣＰＵ（Ｂ）からの上記通知を待ち、ステップＳ１０５にてＣＰＵ（Ｂ）から該当するステップＳ１１３の通知を受けると、ＣＰＵ（Ｂ）に対しＣＰＵ間通信にてシステムボードＳＢ（Ｙ）の追加動作を指示する。
【０１１３】
その間ＣＰＵ（Ｂ）ではステップＳ１１３にてＣＰＵ（Ａ）からの指示を待ち、ステップＳ１１５にてＣＰＵ（Ａ）からのステップＳ１０５の指示を受けて上記ボードの追加動作を開始する。
【０１１４】
そしてＣＰＵ（Ｂ）はステップＳ１１６にてまずＳＢ（Ｙ）内のＩＯ（Ｙ）２４０をＯＳの管理下に置くための処理、すなわち診断、初期化及び構成情報の作成を行うとともに、ステップＳ１１７にて現在ＩＯ２４０に対する処理を実行中である旨をフラグに書き込む。
【０１１５】
同様にＣＰＵ（Ｂ）はステップＳ１１８にてＳＢ（Ｙ）内のＭＥＭ（Ｙ）２３０をＯＳの管理下に置くための処理、すなわち診断、初期化及び構成情報の作成を行うとともに、ステップＳ１１９にて現在ＭＥＭ（Ｙ）２３０に対する処理を実行中である旨を同じフラグに書き込む。
【０１１６】
その間ＣＰＵ（Ａ）はステップＳ１０６にてＣＰＵ（Ｂ）の動作の監視を実行する。この場合タイマーを設定し、一定時間以内に後述するステップＳ１２１の処理の正常終了の通知が無かった場合（ステップＳ１０８）、後述するステップＳ１０９以降の動作を実行する。
【０１１７】
ＣＰＵ（Ｂ）にて上記ＩＯ２４０、ＭＥＭ（Ｙ）２３０に関する処理、すなわち診断、初期化及び構成情報の作成が正常に終了した場合（ステップＳ１２０）、ステップＳ１２１にてその旨をＣＰＵ間通信にてＣＰＵ（Ａ）に通知する。
【０１１８】
これを受けたＣＰＵ（Ａ）ではステップＳ１０７にて当該ボードの追加動作を正常終了する。
【０１１９】
他方上記ＩＯ（Ｙ）２４０、ＭＥＭ（Ｙ）２３０に関する処理、すなわち診断、初期化及び構成情報の作成の動作中に何らかの要因でエラーが発生した場合（ステップＳ１２２）、ＣＰＵ（Ｂ）はファームウェア１３３上でエラー時動作を実行する（ステップＳ１２３）。
【０１２０】
すなわちステップＳ１２４にてエラー原因調査の目的等のためにＣＰＵ（Ｂ）のレジスタログを記録し、ステップＳ１２５にてＯＳの動作に影響を与えない態様にて無限ループ動作を行う。
【０１２１】
上記ステップＳ１０９にてＣＰＵ（Ａ）は上記ステップＳ１１９にてＣＰＵ（Ｂ）によってフラグに書き込まれた情報、すなわち上記エラー発生前にＣＰＵ（Ｂ）が行っていた動作を参照し、同参照情報に応じたエラーメッセージを発行する。そしてステップＳ１１０にて上記ボードの追加動作を異常終了する。
【０１２２】
上記エラーメッセージを見たユーザは追加しようとしたシステムボードＳＢ（Ｙ）の部品交換等の作業を適宜実施可能となる。
【０１２３】
図１９は上述のシステムＳＹＳ（Ｘ）１００としての情報処理装置のハードウェア構成例を示す。
【０１２４】
図示の如く、システムＳＹＳ（Ｘ）を構成する情報処理装置１００はＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０、メモリ１３０、ユーザが操作することにより各種指示等を入力するための操作部１６１、ユーザに対し種々の情報を表示する表示部１６２、プログラム、データ等を格納するためのハードディスク装置１６３、可搬記録媒体としてのＣＤ−ＲＯＭ１６６を介し外部からプログラム等を導入するためのＣＤ−ＲＯＭドライブ１６４及び通信網５００を介し外部との通信を可能にするモデム１６５を有する。
【０１２５】
図１９に図示されるシステムでは、上述の本発明の実施例による情報処理装置に新たにハードウェア資源を組み込むための方法を実施するためのプログラムをＣＤ−ＲＯＭ１６６に格納している。そして、ＣＤ−ＲＯＭドライブ１６４によりＣＤ−ＲＯＭ１６６に格納されたプログラムを読み出してＣＰＵ（Ａ）１１０、ＣＰＵ（Ｂ）１２０により実行することにより、上記本発明の実施例による情報処理装置に新たにハードウェア資源を組み込むための方法が実施され得る。
【０１２６】
また、図２０に図示したようにＣＤ−ＲＯＭ１６６等の可搬記録媒体を使用する代わりに、通信網５００を介し外部サーバからプログラムを導入することで、同様に上記本発明の実施例による情報処理装置に新たに装置を組み込むための方法を実施することも可能である。
【０１２７】
本発明は以下の付記の各々に記載の構成をとり得る。
（付記１）
情報処理装置に新たに装置を組み込むための方法であって、
当該情報処理装置の制御系統を複数の制御系統に分割し、
当該分割された複数の制御系統のうちの一の制御系統は前記新たな装置に直接アクセスし当該新たな装置を管理するための処理を実行し、
前記分割された複数の制御系統のうちの他の制御系統は、前記新たな装置に直接アクセスしその管理のための処理を実行する一の制御系統を管理する各段階よりなる方法。
（付記２）
前記分割された複数の制御系統の各々には別個のＣＰＵが割り当てられ、
前記一の制御系統に割り当てられた一のＣＰＵは前記新たな装置にアクセスし当該新たな装置を管理するための処理を実行し、
前記分割された複数の制御系統のうちの他の制御系統に割り当てられた他のＣＰＵは、前記新たな装置に直接アクセスしその管理のための処理を実行する前記一のＣＰＵを管理する構成とされてなる付記１に記載の方法。
（付記３）
前記他の制御系統はＯＳによって制御され、前記一の制御系統はＯＳによる制御から外される構成とされてなる付記１または２に記載の方法。
（付記４）
前記新たな装置を管理するための処理は、当該新たな装置の診断、初期化及びその構成情報の作成よりなる付記１乃至３のうちのいずれかに記載の方法。
（付記５）
前記新たな装置を管理するための処理は、ＯＳの機能による監視の下でファームウェアの機能により実行されてなる付記１乃至４のうちのいずれかに記載の方法。
（付記６）
前記他のＣＰＵはＯＳによる制御の下で前記一のＣＰＵに対し前記新たな装置を管理するための処理の実行を指示し、
前記一のＣＰＵは前記他のＣＰＵの指示に従い、前記ファームウェアによる制御の下で前記新たな装置に直接アクセスして前記新たな装置を管理するための処理を行う構成とされてなる付記５に記載の方法。
（付記７）
前記新たな装置は自らＣＰＵを持たない構成とされてなる付記１乃至６のうちのいずれかに記載の方法。
（付記８）
第一の処理手段と第二の処理手段とを備える情報処理装置において、
前記第一の処理手段及び前記第二の処理手段の少なくとも一方を制御する第一の制御手段と、
前記第一の処理手段及び前記第二の処理手段の少なくとも一方を制御する第二の制御手段と、
前記第一の処理手段および前記第二の処理手段を、前記第一の制御手段の制御下あるいは前記第二の制御手段の制御下のいずれかに切り替える切替手段と、を備え、
前記情報処理装置にハードウェアが追加されるときに、前記第一の制御手段による制御下に前記第一の処理手段を、前記第二の制御手段による制御下に前記第二の処理手段をおくように切り替えることを特徴とする、情報処理装置。
（付記９）
前記第１の処理手段及び第２の処理手段はそれぞれ別個のＣＰＵよりなり、
前記第１の制御手段による制御下におかれた前記第１の処理手段は、前記追加するハードウェアにアクセスし当該ハードウェアを管理するための処理を実行し、
前記第２の制御手段による制御下におかれた前記第２の処理手段は、前記追加するハードウェアに直接アクセスしその管理のための処理を実行する前記第１の処理手段を管理する構成とされてなる付記８に記載の情報処理装置。
（付記１０）
前記第２の制御手段はＯＳよりなり、前記第１の制御手段はファームウェアよりなる付記８または９に記載の情報処理装置。
（付記１１）
前記追加するハードウェアを管理するための処理は、当該ハードウェアの診断、初期化及びその構成情報の作成の各処理よりなる付記８乃至１０のうちのいずれかに記載の情報処理装置。
（付記１２）
前記追加するハードウェアを管理するための処理は、ＯＳの機能による監視下でファームウェアの機能により実行されてなる付記８乃至１１のうちのいずれかに記載の情報処理装置。
（付記１３）
前記第２の処理手段はＯＳによる制御の下で前記第１の処理手段に対し前記追加するハードウェアを管理するための処理の実行を指示し、
前記第１の処理手段は前記第２の処理手段の指示に従い、前記ファームウェアによる制御の下で前記追加するハードウェアに直接アクセスして当該ハードウェアを管理するための処理を行う構成とされてなる付記１２に記載の情報処理装置。
（付記１４）
前記追加するハードウェアは自らＣＰＵを持たない構成とされてなる付記８乃至１３のうちのいずれかに記載の情報処理装置。
（付記１５）
情報処理装置に新たに装置を組み込む処理をコンピュータに実行させるための命令よりなるプログラムであって、
当該情報処理装置の制御系統を複数の制御系統に分割し、
当該分割された複数の制御系統のうちの一の制御系統に前記新たな装置に直接アクセスさせ当該新たな装置を管理するための処理を実行させ、
前記分割された複数の制御系統のうちの他の制御系統に、前記新たな装置に直接アクセスしその管理のための処理を実行する一の制御系統を管理させる各段階をコンピュータに実行させるための命令よりなるプログラム。
（付記１６）
前記分割された複数の制御系統の各々には別個のＣＰＵを割り当て、
前記一の制御系統に割り当てられた一のＣＰＵに前記新たな装置にアクセスさせ当該新たな装置を管理するための処理を実行させ、
前記分割された複数の制御系統のうちの他の制御系統に割り当てられた他のＣＰＵに、前記新たな装置に直接アクセスしその管理のための処理を実行する前記一のＣＰＵを管理させるための命令よりなる付記１５に記載のプログラム。
（付記１７）
前記他の制御系統をＯＳによる制御下に置き、前記一の制御系統をＯＳによる制御から外すための命令よりなる付記１５または１６に記載のプログラム。
（付記１８）
前記新たな装置を管理するための処理は、ＯＳの機能による監視下でファームウェアの機能により実行されてなる付記１５乃至１７のうちのいずれかに記載のプログラム。
（付記１９）
前記他のＣＰＵをＯＳによる制御下に置き前記一のＣＰＵに対し前記新たな装置を管理するための処理の実行を指示させ、
前記一のＣＰＵを前記他のＣＰＵの指示に従わせ、前記ファームウェアによる制御下で前記新たな装置に直接アクセスさせて前記新たな装置を管理するための処理を行わせるための命令よりなる付記１８に記載のプルグラム。
（付記２０）
付記１５乃至１９のうちのいずれかに記載のプログラムを格納したコンピュータ読取可能記録媒体。
【符号の説明】
【０１２８】
１００  情報処理装置、システム
１１０  ＣＰＵ（Ａ）
１２０  ＣＰＵ（Ｂ）
１３０、２３０  メモリ
１４０、２４０  入出力部
１３２  ＯＳ
１３３  ファームウェア
１３５  デバイス構成情報
２００  システムボード
【図１】
2010262671.tif 000003
【図２】
2010262671.tif 000004
【図３】
2010262671.tif 000005
【図４】
2010262671.tif 000006
【図５】
2010262671.tif 000007
【図６】
2010262671.tif 000008
【図７】
2010262671.tif 000009
【図８】
2010262671.tif 000010
【図９】
2010262671.tif 000011
【図１０】
2010262671.tif 000012
【図１１】
2010262671.tif 000013
【図１２】
2010262671.tif 000014
【図１３】
2010262671.tif 000015
【図１４】
2010262671.tif 000016
【図１５】
2010262671.tif 000017
【図１６】
2010262671.tif 000018
【図１７】
2010262671.tif 000019
【図１８】
2010262671.tif 000020
【図１９】
2010262671.tif 000021