(57)【要約】【課題】  従来のＣＰＵ内蔵のペリフェラルモジュールの引き抜き処理方法では、ペリフェラルモジュールに記憶されているデータの安全性が確保できず、システムボード上でのアプリケーションに悪影響を与えるという問題点があり、安全な活栓挿抜を実現できるペリフェラルモジュールの引き抜き処理方法を提供する。【解決手段】  ペリフェラルモジュール１０のＣＰＵ１２から引き抜き要求がシステムモジュール２０に通知されると、システムモジュール２０のＣＰＵ２２が当該ペリフェラルモジュール１０のドライバ情報等を削除して論理的にシステムから切断すると共に起動中のアプリケーションを停止して、ペリフェラルモジュール１０に通知し、ペリフェラルモジュール１０のＣＰＵ１２が、ＯＳのシャットダウンの処理を行って、シャットダウン完了後、電源管理手段によりＬＥＤ表示器１４を点灯させるペリフェラルモジュールの引き抜き処理方法である。【選択図】        図２
2007072929.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを起動する制御部を備えたシステムモジュールにバックプレーンを介して接続され、引き抜きを指示する信号を出力するスイッチと、引き抜き許可を点灯によって報知する表示部と、前記バックプレーンに対する挿抜に伴う処理を行う制御部とを備えたペリフェラルモジュールの引き抜き処理方法であって、
前記ペリフェラルモジュールの制御部が、前記スイッチから出力された引き抜きを指示する信号が入力された場合に、前記システムモジュールに引き抜き要求コマンドを出力し、
前記システムモジュールの制御部が、前記引き抜き要求コマンドが入力されると、起動中のアプリケーションを停止させ、前記ペリフェラルモジュールのドライバ情報を削除して、前記ペリフェラルモジュールに引き抜き準備完了通知コマンドを出力し、
前記ペリフェラルモジュールの制御部が、前記引き抜き準備完了通知コマンドが入力されると、オペレーティングシステムのシャットダウンを行い、前記シャットダウンの完了後に、前記表示部を点灯させることを特徴とするペリフェラルモジュールの引き抜き処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムモジュールに接続されるペリフェラルモジュールの挿入／抜き取りを行う活栓挿抜方法に係り、特にペリフェラルモジュールのデータの安全性を確保し、システムボード上で実行されているアプリケーションに影響を与えずに安全にＣＰＵ内蔵のペリフェラルモジュールの抜き取りを行うことができるペリフェラルモジュールの引き抜き処理方法に関する。
【背景技術】
【０００２】
コンパクトＰＣＩボードとしては、システムモジュールが搭載されたシステムボードと、ペリフェラルモジュールが搭載されたペリフェラルボードとがある。システムボードとペリフェラルボードとはＰＣＩバスによって接続され、ペリフェラルボードはシステムボードによって制御されるものである。
【０００３】
活栓挿抜は、ホットスワップとも呼ばれ、システムのオペレーションに悪影響（システムやボードの電気的な損傷）を与えることなく、システムの電源を入れたままボードを挿抜可能とする手順であり、これにより、メインシステムの電源を落とさずに、欠陥のあるボードや故障したボードの入れ替えやシステムの再構築が可能となるものである。
ホットスワップ機能を備えることにより、システムのダウンタイムをなくし、オペレータによる簡単な対話作業だけでシステムの再構築や障害復旧を行うことができるようになっている。
【０００４】
ここで、ホットスワップのアーキテクチャについて図１２を用いて説明する。図１２は、ホットスワップのアーキテクチャを示す説明図である。
図１２に示すように、最下位のレベルにあるホットスワップ・ボード（システム・ホスト以外のボード）には、ハードウェア接続層が含まれる。ハードウェア接続層は、Compact PCI バスへの物理的接続プロセスをサポートしている。また、プラットフォームの制御下で、ハードウェア接続プロセスを実行する。この層には、ソフトウェア接続プロセスを容易にするための特別なハードウェア・リソースを任意に含めることができる。
プラットフォームには、ホットスワップ用に拡張された必要条件を満たしたCompact PCIバスとハードウェア接続制御用の制御メカニズムが含まれる。
ホットスワップ・ソフトウェアは、PCI ホットプラグアーキテクチャを基に構築されており、図中のホットプラグ・サービスとホットプラグ・システム・ドライバとそのデバイス・ドライバはホットプラグ・アーキテクチャの共通要素である。また、デバイス・ドライバはホットプラグ可能でなければならない。
ホットプラグサービスは、リソースを追加したり、削除したりするようなシステムのダイナミックコンフィギュレーション用に提供されている。
【０００５】
従来のペリフェラルモジュールの挿抜方法について図１３を用いて説明する。図１３は、従来のペリフェラルモジュールの引き抜き処理を示す概略説明図である。
図１３では、ＣＰＵ内蔵のペリフェラルモジュールの通電中の様子を示している。図１３に示すように、ペリフェラルモジュール１０は、バックプレーンと接続するＩ／Ｆ１１と、モジュール全体の制御を行うＣＰＵ１２と、ペリフェラルモジュール１０の引き抜きの指示を入力するマイクロスイッチ１３と、引き抜き許可を通知するＬＥＤ表示器１４とを備えている。
【０００６】
また、システムモジュール２０は、バックプレーンと接続するＩ／Ｆ２１と、ＣＰＵ２２とを備えている。
更に、ペリフェラルモジュール１０は、システムモジュール２０に、バックプレーン３０を介して接続されている。バックプレーン３０には、各ボードに接続する外部接栓が設けられており、図１３ではペリフェラルモジュール１０は外部接栓３１を介して接続され、システムモジュール２０は、外部接栓３２を介して接続されている。
【０００７】
図１３において、ペリフェラルモジュール１０を抜き取る場合、マイクロスイッチ１３のレバーが引かれることにより、当該ペリフェラルモジュール１０の引き抜き要求が発生する。引き抜き要求は、Ｉ／Ｆ１１に入力され、外部接栓３１、バックプレーン３０、外部接栓３２を経由して、システムモジュール２０に通知される。
【０００８】
システムモジュール２０のＣＰＵ２２は、データベース２３から当該ペリフェラルモジュールのドライバ情報等を削除して、論理的にシステムから切断し、手続きが完了したことを切断情報として当該ペリフェラルモジュール１０に通知する。
【０００９】
そして、切断情報の通知は逆の経路を経由して、外部接栓３１からペリフェラルモジュール１０に入力される。ここで、入力された切断情報は、ＣＰＵ１２を経由せず、Ｉ／Ｆ１１からＬＥＤ表示器１４に引き抜き許可情報として出力され、ＬＥＤ表示器１４が点灯して、オペレータにペリフェラルモジュールの引き抜き許可を報知する。
このようにして、従来のペリフェラルモジュールの引き抜き処理方法が行われるようになっていた。
【００１０】
次に、上記従来のペリフェラルモジュールの引き抜き処理方法におけるシーケンスについて、図１４を用いて説明する。図１４は、第１の従来のペリフェラルモジュールの引き抜き処理方法の概略シーケンスを示すシーケンス説明図である。
図１４に示すように、ペリフェラルモジュール１０に故障発生等があった場合（Ｓ８１）、ペリフェラルモジュール１０においてオペレータによって引き抜き要求スイッチが押下されることにより引き抜き要求が出力され、バックプレーン３０において、モジュール引き抜き要求が発生し（Ｓ８２）、システムモジュール２０において、システムリソースリストから当該ペリフェラルモジュール１０を削除する（Ｓ８３）。
【００１１】
そして、システムモジュール２０からシステム側引き抜き準備完了情報が出力されると、ペリフェラルモジュール１０のＩ／Ｆ１１は、ＬＥＤ表示器１４を点灯し（Ｓ８４）、ペリフェラルモジュールの引き抜き許可を報知する。そして、バックプレーン３０が、モジュール引き抜きの通知を受けてコネクタ接点を断とし（Ｓ８５）、オペレータによってペリフェラルモジュール１０が引き抜かれるようになっている（Ｓ８６）。
【００１２】
また、別の従来のペリフェラルモジュールの引き抜き処理方法（第２の引き抜き処理方法）としては、ＣＰＵ１２においてシャットダウンを行うものもあった。しかし、完全にシャットダウンしてしまうと、システムモジュール２０とのやりとりができなくなるため、不完全なシャットダウン状態とするものであった。
上記第２の従来のペリフェラルモジュール１０の引き抜き処理方法におけるシーケンスについて、図１５を用いて説明する。図１５は、第２の従来のペリフェラルモジュールの引き抜き処理方法のシーケンスを示すシーケンス説明図である。
図１５に示すように、ペリフェラルモジュール１０においてオペレータによって引き抜き要求スイッチが押下されることにより引き抜き要求が出力され（Ｓ９１）、バックプレーン３０においてモジュール引き抜き要求が発生すると（Ｓ９２）、システムモジュール２０がペリフェラルモジュール１０側にシャットダウン要求を出力する（Ｓ９３）。
【００１３】
ペリフェラルモジュール１０のＣＰＵ１２は、通知用Ｉ／Ｆドライバを除いてシャットダウン処理を実行し（Ｓ９４）、シャットダウン完了報告を出力する。ここでは実際には不完全なシャットダウンが行われているものである。システムモジュール２０は、シャットダウン完了報告を受けて、システムリソースリストから当該ペリフェラルモジュールを削除し（Ｓ９５）、システム側引き抜き準備完了情報を出力する。
【００１４】
ペリフェラルモジュール１０のＩ／Ｆ１１は、システム側引き抜き準備完了情報を受信すると、ＬＥＤ表示器１４を点灯し（Ｓ９６）、バックプレーン３０でコネクタ接点を断にして（Ｓ９７）、オペレータがペリフェラルモジュール１０を抜き取る（Ｓ９８）。
一方、ペリフェラルモジュール１０のＣＰＵ１２は、シャットダウン処理を完全に実行する（Ｓ９９）が、終了の位置を確定できない。
【００１５】
尚、活栓挿抜に関する従来技術としては、平成８年１月１９日公開の特開平８−１６２８６号「活線挿抜装置並びに該装置の活線挿抜制御回路並びに二重系切替装置」（出願人：三菱電機株式会社、発明者：村木栄一）がある。
この従来技術は、システムバスにコネクタ接続された複数のモジュールを持つ電子装置において、各モジュールは、モジュール上の活栓挿抜制御回路とシステム監視モジュールからの命令または活栓挿抜スイッチにより、挿抜可能となる制御を行う。モジュールの使用者の機能選択の頻度に応じてメニュー選択順位を変更する無線選択呼出受信機であり、これにより、機能選択時の利便性の高い受信機を提供することができるものである。
【００１６】
【特許文献１】特開平８−１６２８６号公報（第６−８頁）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、従来の第１及び第２のペリフェラルモジュールの引き抜き処理方法では、いずれも、オペレーティングシステム（ＯＳ）の正常終了が確認できないままペリフェラルモジュールの抜き取りを行っており、ペリフェラルモジュールのＲＯＭ等に記憶されているデータの安全性が確保できず、また、ペリフェラルモジュールからシステムモジュールへの不安定なアクセスが発生する恐れがあるという問題点があった。
【００１８】
また、従来のペリフェラルモジュールの引き抜き処理方法では、システムモジュール上で行われているアプリケーションに悪影響を与える恐れがあるという問題点があった。
【００１９】
本発明は上記実状に鑑みて為されたもので、ペリフェラルモジュールのデータの安全性を確保し、システムモジュールへの不安定なアクセスをなくし、システムボード上で実行されているアプリケーションに影響を与えずに、ＣＰＵ内蔵のペリフェラルモジュールの安全な活栓挿抜を実現できるペリフェラルモジュールの引き抜き処理方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記従来例の問題点を解決するための本発明は、アプリケーションを起動する制御部を備えたシステムモジュールにバックプレーンを介して接続され、引き抜きを指示する信号を出力するスイッチと、引き抜き許可を点灯によって報知する表示部と、バックプレーンに対する挿抜に伴う処理を行う制御部とを備えたペリフェラルモジュールの引き抜き処理方法であって、ペリフェラルモジュールの制御部が、スイッチから出力された引き抜きを指示する信号が入力された場合に、システムモジュールに引き抜き要求コマンドを出力し、システムモジュールの制御部が、引き抜き要求コマンドが入力されると、起動中のアプリケーションを停止させ、ペリフェラルモジュールのドライバ情報を削除して、ペリフェラルモジュールに引き抜き準備完了通知コマンドを出力し、ペリフェラルモジュールの制御部が、引き抜き準備完了通知コマンドが入力されると、オペレーティングシステムのシャットダウンを行い、シャットダウンの完了後に、表示部を点灯させることを特徴とするペリフェラルモジュールの引き抜き処理方法としている。
【発明の効果】
【００２１】
本発明によれば、ペリフェラルモジュールの制御部が、スイッチから引き抜きを指示する信号が入力されると、システムモジュールに引き抜き要求コマンドを出力し、システムモジュールの制御部が、引き抜き要求コマンドが入力されると、起動中のアプリケーションを停止させ、ペリフェラルモジュールのドライバ情報を削除して、ペリフェラルモジュールに引き抜き準備完了通知コマンドを出力し、ペリフェラルモジュールの制御部が、引き抜き準備完了通知コマンドが入力されると、オペレーティングシステムのシャットダウンを行い、シャットダウンの完了後に、表示部を点灯させるペリフェラルモジュールの引き抜き処理方法としているので、システムモジュール上で起動中のアプリケーションが停止し、ペリフェラルモジュールのオペレーティングシステムが正常に終了してから表示器を点灯させて引き抜きを許可することができ、起動中のアプリケーションに影響を与えることなく、ＣＰＵを備えたペリフェラルモジュールの安全な活栓挿抜を可能とし、ペリフェラルモジュールのデータの安全性を確保し、システムモジュールへの不安定なアクセスをなくすことができる効果がある。
【発明を実施するための最良の形態】
【００２２】
本発明の実施の形態について図面を参照しながら説明する。
本発明の実施の形態に係るペリフェラルモジュールの引き抜き処理方法は、ペリフェラルモジュール側から引き抜き要求がシステムモジュールに通知されると、システムモジュールが当該ペリフェラルモジュールのドライバ情報等を削除してペリフェラルモジュールを論理的にシステムから切断し、手続が完了したことをペリフェラルモジュールに通知し、ペリフェラルモジュールのＣＰＵが、シャットダウンの処理を行って、シャットダウン処理が正常に終了してから電源管理機能によってＬＥＤを点灯させる方法であり、システムモジュール上で行われているアプリケーション及びペリフェラルモジュールのＯＳを正常に終了させてから引き抜きを許可することができ、活栓挿抜を安全に行うことができるものである。
【００２３】
図１は、本発明の実施の形態に係るペリフェラルモジュールの引き抜き処理方法を実現するペリフェラルモジュール及びシステムモジュールの概略構成ブロック図である。尚、図１３と同様の構成をとる部分については同一の符号を付して説明する。
本実施の形態のペリフェラルモジュールの構成は、図１３に示したペリフェラルモジュールの構成とほぼ同様であり、インタフェース（Ｉ／Ｆ）１１と、ＣＰＵ１２と、マイクロスイッチ１３と、ＬＥＤ表示器１４とを備えているが、引き抜き時のＩ／Ｆ１１及びＣＰＵ１２の処理が従来とは一部異なっている。
【００２４】
ペリフェラルモジュール１０は、外部接栓３１によってバックプレーン３０に接続され、更に外部接栓３２を介してシステムモジュール２０に接続されている。また、システムモジュール２０に接続されるペリフェラルモジュール１０は複数でもよく、それぞれ、バックプレーン３０を介してシステムモジュール２０に接続されるようになっている。
システムモジュール２０のＣＰＵ２２における、ペリフェラルモジュール１０の引き抜き時の動作は図１３に示した従来のものと一部異なっている。尚、請求項における「制御部」はＣＰＵ１２又はＣＰＵ２２に、「表示部」はＬＥＤ表示器１４にそれぞれ相当している。
【００２５】
次に、本発明の実施の形態に係るペリフェラルモジュールの引き抜き処理方法について図１及び図２を用いて説明する。図２は、本発明の実施の形態に係るペリフェラルモジュールの引き抜き処理方法の概略シーケンスを示すシーケンス説明図である。
図２に示すように、ペリフェラルモジュール１０で故障発生等によりボードの引き抜きが必要になり（Ｓ１１）、引き抜き要求スイッチ（マイクロスイッチ）１４が押下されると、バックプレーン３０において、モジュール引き抜き要求が発生し（Ｓ１２）、システムモジュール２０に通知される。システムモジュール２０は、システムリソースリストから当該ペリフェラルモジュール１０の情報を削除する（Ｓ１３）。
【００２６】
そして、システムモジュール２０からシステム側引き抜き準備完了情報が出力されると、ペリフェラルモジュール１０のＣＰＵ１２は、オペレーティングシステム（ＯＳ）のシャットダウン処理を行う（Ｓ１４）。シャットダウン処理が正常に終了した場合には、ＣＰＵ１２は、ＯＳが起動していなくても機能する電源管理機能により、ＬＥＤ表示器１４を点灯させて、オペレータに引き抜き許可を報知する（Ｓ１５）。尚、電源管理機能が点灯処理を行う代わりに、シャットダウン処理の最後にＬＥＤ表示器１４の点灯処理を加えるようにしてもよい。
【００２７】
そして、バックプレーン３０にモジュール引き抜きが通知されると、バックプレーン３０は、コネクタ接点を断とし（Ｓ１６）、オペレータによってペリフェラルモジュール１０が引き抜かれるようになっている。
【００２８】
つまり、本方法では、ペリフェラルモジュールのオペレーティングシステムのシャットダウンが正常に終了するまではＬＥＤ表示器１４が点灯せず、シャットダウンが終了してからオペレータに引き抜きを許可するので、安全な活栓挿抜を行うことができるものである。
【００２９】
次に、本発明の実施の形態に係るペリフェラルモジュールの引き抜き処理方法を実現するペリフェラルモジュール及びシステムモジュールのソフトウェア構成について図３を用いて説明する。図３は、本実施の形態に係るペリフェラルモジュール及びシステムモジュールのソフトウェア構成を示す説明図である。
図３では、図１に示したペリフェラルモジュール１０のＣＰＵ１２、システムモジュール２０のＣＰＵ２２に設けられている具体的なソフトウェア及びデータを示している。尚、図３の例では、電源管理手段ではなく、オペレーティングシステムの最後にＬＥＤ表示器１４を点灯させる方法を採っている。また、バス６（図では、「CompactPCI バス」）は、図１のバックプレーン３０に相当するものである。
【００３０】
図３に示すように、ペリフェラルモジュール１０のＣＰＵ（図示せず）には、ＩＮＩＴプロセス４１と、ホットスワップデーモン４２と、オペレーティングシステム（ＯＳ）４３とを備え、オペレーティングシステム４３の内部に、ＬＥＤドライバ４４とホットスワップドライバ４５とを備えている。また、図１と同様に、ペリフェラルモジュール４にはマイクロスイッチ１３とＬＥＤ表示器１４とが設けられている。
【００３１】
また、システムモジュール２０のＣＰＵ（図示せず）には、オペレーティングシステム（ＯＳ）５１と、ユーザアプリケーション５５と、ホットスワップデーモン５６とが設けられ、プロセスＩＤ登録データ（図では「プロセスＩＤ登録」）５４が記憶されている。そして、オペレーティングシステム５１の内部に、ホットスワップドライバ５２が設けられ、更に、ＰＣＩマッピングデータ（図では「ＰＣＩマッピング」）５３が記憶されている。
【００３２】
次に、ペリフェラルモジュール１０の各ソフトウェアの機能について具体的に説明する。
ＩＮＩＴプロセス４１は、起動時にホットスワップデーモン４２を起動すると共に、ホットスワップデーモン４２からシャットダウンコマンドが通知された場合に、オペレーティングシステムの終了処理を行い、終了処理の最後にＬＥＤドライバ４４にＬＥＤの点灯を指示するものである。また、起動処理の最後にＬＥＤドライバ４４に消灯を指示するものである。
【００３３】
ホットスワップデーモン４２は、ホットスワップドライバ４５を常時監視し、ホットスワップドライバ４５の状態管理及び制御を行うものである。
オペレーティングシステム４３は、ペリフェラルモジュール４上のソフトウェアの管理及び制御を行うものである。また、オペレーティングシステム４３は、起動の最後の処理として、ＬＥＤドライバを起動してＬＥＤを消灯し、シャットダウンの最後の処理として、ＬＥＤドライバを起動してＬＥＤを点灯するようにしてもよい。
【００３４】
ＬＥＤドライバ４４は、ＩＮＩＴプロセス４１からの指示を受けて、ＬＥＤ表示器１４の点灯／消灯を行うものである。
ホットスワップドライバ４５は、マイクロスイッチ１３からの割り込み信号を検出するものであり、また、システムモジュール２０のホットスワップドライバ５２と、コマンドのやりとりを行うものである。
【００３５】
また、ここでは図示は省略するが、ペリフェラルモジュールの電源のオン／オフを管理する電源管理機能に、ＬＥＤ表示器１４を点灯させる機能を付加し、オペレーティングシステムがシャットダウン完了後に電源管理機能が起動された場合には、ＬＥＤ表示器１４を点灯させる構成としてもよい。
【００３６】
次に、システムモジュール２０上のソフトウェア及びデータについて具体的に説明する。
オペレーティングシステム５１は、システムモジュール５上の全てのソフトウェアの管理及び制御を行うものである。
【００３７】
ＰＣＩマッピングデータ５３は、システムモジュールに接続されているペリフェラルモジュールのドライバ情報等を記憶しているものであり、図２のＳ１３に記載されたシステムリソースリストに相当するものである。ペリフェラルモジュールの挿入時には新たに当該ペリフェラルモジュールに対応した情報がＰＣＩマッピングデータ５３に書き込まれ、ペリフェラルモジュールの抜き取り時には、対応した情報がＰＣＩマッピングデータから削除される。
【００３８】
ホットスワップドライバ５２は、ペリフェラルモジュール１０のホットスワップドライバ４５からの割り込み信号の検出を行い、ペリフェラルモジュール１０のホットスワップドライバ４５とのコマンドのやりとりを行うものである。また、ホットスワップドライバ５２は、割り込み信号を検出した場合に、起動中のユーザアプリケーションを停止するようホットスワップデーモン５６に指示を出力するものである。また、ホットスワップドライバ５２は、ペリフェラルモジュール４の挿抜時に、ＰＣＩマッピングデータ５３の書き込み／削除を行うものである。
【００３９】
ユーザアプリケーション５５は、システムモジュール２０上又はペリフェラルモジュール１０とデータをやりとりして処理を行って種々のサービスを行うものであるが、オペレーティングシステム５１から起動される時に、ＯＳ５１によって当該ユーザアプリケーション５５に固有のＩＤであるプロセスＩＤ（ＰＩＤ）を割り当てられ、当該ＰＩＤをプロセスＩＤ登録データ５４に登録するものである。
【００４０】
プロセスＩＤ登録データ５４は、ユーザアプリケーション５５の起動時にユーザアプリケーション５５によって登録されたＰＩＤを記憶しているものであり、起動中のユーザアプリケーションを管理しているものである。
【００４１】
ホットスワップデーモン５６は、ホットスワップドライバ５２から停止指示が入力された場合に、プロセスＩＤ登録データ５４を参照して、起動中のユーザアプリケーション５５に対して停止を要求するシグナルを出力し、また、ユーザアプリケーション５５が停止したシグナルが入力された場合にその旨をホットスワップドライバ５２に通知するものである。
【００４２】
次に、本発明の実施の形態に係るペリフェラルモジュールの挿抜方法（本方法）の挿入処理について図４を用いて説明する。図４は、本方法の挿入処理を示す説明図である。
図４に示すように、ペリフェラルモジュール１０が挿入されると、まず、ＩＮＩＴプロセス４１がオペレーションシステム及びホットスワップデーモン４２及びオペレーティングシステムを起動する（１）。
【００４３】
次に、ホットスワップデーモン４２がホットスワップドライバ４５をコールする（２）。
そして、ホットスワップドライバ４５は、ペリフェラルモジュールが挿入されたことを示す挿入要求をシステムモジュール２０のホットスワップドライバ５２に通知する（３）。この時の挿入要求は、例えばＥＮＵＭ＃アサートのコマンドを用いて通知する。
【００４４】
システムモジュール２０側のホットスワップドライバ５２は、挿入要求を受信すると、ＰＣＩマッピングデータ５３に、通知のあったペリフェラルモジュール４のドライバ情報を書き込んで更新する（４）。
【００４５】
ペリフェラルモジュール１０のオペレーティングシステムの起動が完了すると、ＩＮＩＴプロセス４１からの指示により、ＬＥＤドライバ４４がＬＥＤ表示器１４を消灯する（５）。このようにしてペリフェラルモジュールの挿入時の動作が行われるものである。
【００４６】
次に、本実施の形態の挿抜方法に係る引き抜き時（抜去時）の処理について図５を用いて説明する。図５は、本方法の引き抜き処理を示す説明図である。
図５に示すように、ペリフェラルモジュール１０のマイクロスイッチ１３が押下されて信号が出力されると、ホットスワップドライバ４５が、当該割り込み信号を検出し（１）、システムモジュール２０のホットスワップドライバ５２に引き抜き要求を通知する（２）。引き抜き要求は、例えばＥＮＵＭ＃アサートのコマンドを用いて通知する。
【００４７】
システムモジュール２０のホットスワップドライバ５２は、引き抜き要求を受信すると、ホットスワップデーモン５６に起動中のユーザアプリケーションを停止するよう要求する停止通知を出力する（３）。
【００４８】
ホットスワップデーモン５６は、プロセスＩＤ登録データ５４を参照して、起動中のユーザアプリケーション５５に停止を要求するシグナルを発行する（４）。ユーザアプリケーション５５は、停止を完了するとホットスワップデーモン５６に完了を通知するシグナルを発行する（５）。
【００４９】
ホットスワップデーモン５６は、ホットスワップドライバ５２に、ユーザアプリケーションが停止したことを通知する停止完了通知を出力する（６）。この（３）〜（６）の一連の処理により、システムモジュール２０上で起動中のユーザアプリケーション煮え異境を与えることなく、ペリフェラルモジュール１０の活栓挿抜を行うことができるものである。
【００５０】
ホットスワップドライバ５２は、ＰＣＩマッピングデータ５３から、（２）で引き抜き要求を受けたペリフェラルモジュールのデバイス情報を削除して更新し（７）、ペリフェラルモジュール１０のホットスワップドライバ４２に、システム側停止完了通知を出力する。尚、「システム側停止完了通知」は、図２に示した「システム側引き抜き準備完了情報」と同等のものである。
【００５１】
ペリフェラルモジュール１０のホットスワップドライバ４５は、ホットスワップデーモン４２に停止要求通知を発行する（９）。ホットスワップデーモン４２は、ＩＮＩＴプロセス４１にシャットダウン指示を出力し（１０）、ＩＮＩＴプロセス４２は、オペレーティングシステム４３をシャットダウンする。そして、オペレーティングシステム４３は、シャットダウン処理の最後にＬＥＤドライバ４４を起動して、ＬＥＤ表示器１４を点灯し（１１）、シャットダウンを完了する。
【００５２】
又は、ＩＮＩＴプロセス４１は、（１０）でシャットダウン指示を受けると、オペレーティングシステム４３のシャットダウンを行い、オペレーティングシステム４３のシャットダウン完了後、電源管理機能（図示省略）を起動し、電源管理機能が、ＬＥＤドライバ４４を介さずにＬＥＤ表示器１４を点灯させてからコネクタ接点断とするようにしてもよい。
【００５３】
そして、ＬＥＤ表示器１４の点灯により、オペレータに引き抜き可能な状態になったことが報知され、オペレータはペリフェラルモジュール１０を引き抜く。このようにして本実施の形態のペリフェラルモジュールの引き抜き方法が行われるものである。
【００５４】
次に、システムモジュールのホットスワップデーモン５６の処理について図６を用いて具体的に説明する。図６は、システムモジュール２０のホットスワップデーモン５６の処理を示すフローチャート図である。
図６に示すように、システムモジュール２０のホットスワップデーモン５６は、起動されると、イニシャル処理として指定ディレクトリのファイル削除等を行い（１００）、イベント待ち状態になる（１０２）。
【００５５】
イベントとして、ホットスワップドライバ５２からの停止通知を受信する（１０４）と、ホットスワップデーモン５６は、プロセスＩＤ登録データ５４を参照して、起動中のユーザアプリケーションのＰＩＤを取得し（１０６）、当該起動中のユーザアプリケーション宛に停止を要求するシグナルを発行する（１０８）。
【００５６】
ホットスワップデーモン５６は、ユーザアプリケーションからシグナルが返信されるのを待ち（１１０）、返信されると、ホットスワップドライバ５２に「停止完了通知」を発行する。そして、処理１０２のイベント待ち状態に戻る。このようにして、システムモジュール２０のホットスワップデーモン５６における処理が行われるものである。
【００５７】
次に、システムモジュール２０のホットスワップドライバ５２の処理について図７（ａ）〜（ｄ）を用いて説明する。図７（ａ）〜（ｄ）は、システムモジュール２０のホットスワップドライバ５２の処理を示すフローチャート図である。
図７（ａ）に示すように、システムモジュール２０のホットスワップドライバ５２のイニシャル処理は、起動時に、ドライバイニシャル処理を行う（２００）。
また、図７（ｂ）に示すように、ホットスワップドライバ５２の割り込み処理では、ホットスワップドライバ５２は、ＥＮＵＭ＃アサートを待ち受け（２１０）、ＥＮＵＭ＃アサートで挿入要求を受信した場合には、ＰＣＩマッピングデータ５３に当該要求元の情報を追加して更新する（２１２）。
【００５８】
また、ＥＮＵＭ＃アサートとして引き抜き要求を受信した場合には、ホットスワップドライバ５２は、ホットスワップデーモン５６に停止通知を発行し（２１４）、更にＰＣＩマッピングデータ５３から当該要求元の情報を削除する（２１６）。そして、処理２１０に移行してＥＭＵＭ＃アサートの待ち受け状態になる。
【００５９】
また、図７（ｃ）に示すように、ホットスワップドライバ５２の書き込み処理では、システム側停止処理完了通知をＥＭＵＭ＃アサートで発行し（２２０）、ＰＣＩマッピングデータから所望のデータを削除する（２２２）。
また、図７（ｄ）に示すように、ホットスワップドライバ５２の終了処理では、ドライバ終了処理を行う（２３０）。
【００６０】
次に、ペリフェラルモジュール１０側のホットスワップデーモン４２の処理について図８を用いて説明する。図８は、ペリフェラルモジュール１０のホットスワップデーモン４２の処理を示すフローチャート図である。
図８に示すように、ペリフェラルモジュール１０のホットスワップデーモン４２は、起動されると、イニシャル処理を行って（３００）、起動通知として挿入要求をホットスワップドライバ５３に発行し（３０２）、イベント待ち受け状態になる（３０４）。
【００６１】
そして、ホットスワップドライバ５２から停止要求通知を受信すると（３０６）、ホットスワップデーモン４２は、ＩＮＩＴプロセスに、シャットダウン指示を出力し（３０８）、デーモン終了待ちとなってＯＳのシャットダウン処理の中でプログラムを停止する（３１０）。このようにして、ペリフェラルモジュール１０のホットスワップデーモン４２の処理が行われるものである。
【００６２】
次に、ペリフェラルモジュール１０のホットスワップドライバ４５の処理について図９を用いて説明する。図９（ａ）〜（ｄ）は、ペリフェラルモジュール１０の処理を示すフローチャート図である。
図９（ａ）に示すように、イニシャル処理では、ホットスワップドライバ４５は、ドライバイニシャル処理を行う（４００）。
また、図９（ｂ）に示すように、割り込み処理では、マイクロスイッチ割り込み又はシステム側停止完了通知の受信を待ち受ける（４１０）。
【００６３】
マイクロスイッチ割り込みがあると、ホットスワップドライバ４５は、システムモジュール２０のホットスワップドライバ５２に、引き抜き要求を発行する（４１２）。
また、処理４１０でＥＭＵＭ＃アサート（システム側停止完了通知）を受信すると、ホットスワップドライバ４５は、ホットスワップデーモン４２に停止要求通知を発行する（４１４）。
【００６４】
また、図９（ｃ）に示すように、書き込み処理では、ホットスワップドライバ４５は、挿入要求又は引き抜き要求をシステムモジュール２０に発行する（４２０）。
また、図９（ｄ）に示すように、終了処理では、ドライバ終了処理を行う（４３０）。このようにしてペリフェラルモジュールのホットスワップドライバ４５の処理が行われるものである。
【００６５】
次に、ペリフェラルモジュール１０のオペレーティングシステム４３の起動時の処理について図１０を用いて説明する。図１０は、ペリフェラルモジュール１０のオペレーティングシステム４３の起動時の処理を示すフローチャート図である。
オペレーションシステム４３は、起動されると（５００）、ホットスワップドライバ４５等のドライバをロードし（５０２）、更にホットスワップデーモンを起動する（５０４）。
【００６６】
そして、オペレーティングシステム４３は、ＬＥＤ点消灯アプリケーションを起動して（５０６）、起動完了する（５０８）。ＬＥＤ点消灯アプリケーションは、ＯＳ起動の最後に呼ばれるアプリケーションであり、ＬＥＤドライバ４４をコールするアプリケーションである。このようにして、ペリフェラルモジュール１０のオペレーティングシステム４３の起動時の処理が行われるものである。
【００６７】
次に、ペリフェラルモジュール１０のオペレーティングシステム４３の終了時の処理について図１１を用いて説明する。図１１は、ペリフェラルモジュール１０のオペレーティングシステム４３の終了時の処理（シャットダウン処理）を示すフローチャート図である。
図１１に示すように、シャットダウンの指示が入力されると、オペレーティングシステム４３は停止処理を開始し（６００）、デーモン及びドライバを停止し（６０２）、ＬＥＤドライバ４４を起動してＬＥＤ表示器１４を点灯させ（６０４）、オペレーティングシステムの停止を完了する（６０６）。このようにして、ペリフェラルモジュール１０側のオペレーティングシステムの終了時の処理が行われるものである。
【００６８】
または、図１１において、処理６０４を行わずに、処理６０６でオペレーティングシステムが停止した後、ＩＮＩＴプロセス４１が電源管理機能を起動し、電源管理機能がＬＥＤ表示器１４を点灯させてからコネクタ接点断とする処理としてもよい。
【００６９】
本発明の実施の形態のペリフェラルモジュールの引き抜き処理方法によれば、本発明の実施の形態のペリフェラルモジュールの活栓挿抜方法によれば、ＣＰＵ１２を備えたペリフェラルモジュール１０側から引き抜き要求がシステムモジュール２０に通知された場合に、システムモジュール２０が当該ペリフェラルモジュール１０のドライバ情報等を削除してペリフェラルモジュール１０を論理的にシステムから切断すると共に起動中のアプリケーションを停止して、ペリフェラルモジュール１０に通知し、ペリフェラルモジュール１０のＣＰＵ１２が、オペレーティングシステムのシャットダウンの処理を行って、シャットダウン処理が正常に終了すると、電源管理機能がＬＥＤ表示器１４を点灯させる方法であり、システムモジュール上のアプリケーションを停止させ、ペリフェラルモジュールのＯＳを正常に終了させてからＬＥＤ表示器１４を点灯させて引き抜きを許可することができ、システムモジュール上で起動中のアプリケーションに影響を与えることなくＣＰＵ内蔵のペリフェラルモジュールの活栓挿抜を安全に行うことができ、ペリフェラルモジュール１０のデータの安全性を確保し、システムモジュール２０への不安定なアクセスをなくすことができる効果がある。
【００７０】
また、ＣＰＵ１２を備えたペリフェラルモジュール１０側から引き抜き要求がシステムモジュール２０に通知された場合に、システムモジュール２０が当該ペリフェラルモジュール１０のドライバ情報等を削除してペリフェラルモジュール１０を論理的にシステムから切断すると共に起動中のアプリケーションを停止して、ペリフェラルモジュール１０に通知し、ペリフェラルモジュール１０のＣＰＵ１２が、オペレーティングシステムのシャットダウンの処理を行って、シャットダウン処理の最後に引き抜き許可を報知するＬＥＤ表示器１４を点灯させる方法であり、システムモジュール上のアプリケーションを停止させ、ペリフェラルモジュール１０のＯＳを正常に終了させてからＬＥＤ表示器１４を点灯させて引き抜きを許可することができ、システムモジュール上で起動中のアプリケーションに影響を与えることなくＣＰＵ内蔵のペリフェラルモジュールの活栓挿抜を安全に行って、ペリフェラルモジュール１０のデータの安全性を確保し、システムモジュール２０への不安定なアクセスをなくすことができる効果がある。
【産業上の利用可能性】
【００７１】
本発明は、ペリフェラルモジュールのデータの安全性を確保し、システムボード上で実行されているアプリケーションに影響を与えずに安全にＣＰＵ内蔵のペリフェラルモジュールの抜き取りを行うことができるペリフェラルモジュールの引き抜き処理方法に適している。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態に係るペリフェラルモジュールの引き抜き処理方法を実現するペリフェラルモジュール及びシステムモジュールの概略構成ブロック図である。
【図２】本発明の実施の形態に係るペリフェラルモジュールの引き抜き処理方法の概略シーケンスを示すシーケンス説明図である。
【図３】本実施の形態に係るペリフェラルモジュール及びシステムモジュールのソフトウェア構成を示す説明図である。
【図４】本方法の挿入処理を示す説明図である。
【図５】本方法の引き抜き処理を示す説明図である。
【図６】システムモジュール２０のホットスワップデーモン５６の処理を示すフローチャート図である。
【図７】（ａ）〜（ｄ）は、システムモジュール２０のホットスワップドライバ５２の処理を示すフローチャート図である。
【図８】ペリフェラルモジュール１０のホットスワップデーモン４２の処理を示すフローチャート図である。
【図９】（ａ）〜（ｄ）は、ペリフェラルモジュール１０の処理を示すフローチャート図である。
【図１０】ペリフェラルモジュール１０のオペレーティングシステム４３の起動時の処理を示すフローチャート図である。
【図１１】ペリフェラルモジュール１０のオペレーティングシステム４３の終了時の処理（シャットダウン処理）を示すフローチャート図である。
【図１２】ホットスワップのアーキテクチャを示す説明図である。
【図１３】従来のペリフェラルモジュールの引き抜きを示す概略説明図である。
【図１４】第１の従来のペリフェラルモジュールの引き抜き処理方法の概略シーケンスを示すシーケンス説明図である。
【図１５】第２の従来のペリフェラルモジュールの引き抜き処理方法のシーケンスを示すシーケンス説明図である。
【符号の説明】
【００７３】
１０…ペリフェラルモジュール、  １１…Ｉ／Ｆ、  １２…ＣＰＵ、  １３…マイクロスイッチ、  １４…ＬＥＤ表示器、  ２０…システムモジュール、  ２１…Ｉ／Ｆ、  ２２…ＣＰＵ、  ３０…バックプレーン、  ３１、３２…外部接栓、  ４１…ＩＮＩＴプロセス、  ４２…ホットスワップデーモン、  ４３…オペレーティングシステム、  ４４…ＬＥＤドライバ、  ４５…ホットスワップドライバ、  ５１…オペレーティングシステム、  ５２…ホットスワップドライバ、  ５３…ＰＣＩマッピングデータ、  ５４…プロセスＩＤ登録データ、  ５５…ユーザアプリケーション、  ５６…ホットスワップデーモン、６…CompactPCIバス
【図１】
2007072929.tif 000003
【図２】
2007072929.tif 000004
【図３】
2007072929.tif 000005
【図４】
2007072929.tif 000006
【図５】
2007072929.tif 000007
【図６】
2007072929.tif 000008
【図７】
2007072929.tif 000009
【図８】
2007072929.tif 000010
【図９】
2007072929.tif 000011
【図１０】
2007072929.tif 000012
【図１１】
2007072929.tif 000013
【図１２】
2007072929.tif 000014
【図１３】
2007072929.tif 000015
【図１４】
2007072929.tif 000016
【図１５】
2007072929.tif 000017