(58)【調査した分野】(Int.Cl.,DB名)
前記デバイスは、ペリフェラル・コンポーネント・インターコネクトデバイスであって、前記構成情報は、前記デバイスの製造ベンダを特定するベンダ識別子と、前記デバイスの種類を特定するデバイス識別子と、を更に含み、
前記デバイスデータベースは、前記ベンダ識別子と、前記デバイス識別子と、前記物理アドレスと、を対応付けて記憶し、
前記管理用データベースは、前記読み出し識別子と、前記搭載位置と、前記物理アドレスと、前記レジスタ値と、を対応付けて記憶する
請求項1記載の情報処理システム。
情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与し、
前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出し、
前記読み出し識別子と前記レジスタ値との組を管理用データベースに記録する
デバイス情報取得方法。
情報処理システムに搭載されるデバイスが含むレジスタの物理アドレスを少なくとも記憶するデバイスデータベースに含まれる前記物理アドレスと、前記情報処理システムに搭載されたデバイスから取得可能なレジスタの物理アドレスを少なくとも含む構成情報と、に基づいて、前記情報処理システムに搭載されている前記デバイスの搭載位置と前記物理アドレスとの組み合わせのそれぞれに、前記情報処理システムにおいて排他的な読み出し識別子を付与する処理と、
前記読み出し識別子のそれぞれに対応する前記デバイスのレジスタ値のそれぞれを読み出す処理と、
前記読み出し識別子と前記レジスタ値との組を管理用データベースに記録する処理と、をコンピュータに実行させる
プログラム。
【発明を実施するための形態】
【0017】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
【0018】
<<<第1の実施形態>>>
図1は、本発明の第1の実施形態に係る情報処理装置(情報処理システムとも呼ばれる)700の構成を示すブロック図である。
図1に示すように、本実施形態に係る情報処理装置700は、PCIデバイス1、BIOS2、BMC(Baseboard Management Controller)3、BIOSメモリ4及びBMCメモリ5を含む。
【0019】
===PCIデバイス1===
PCIデバイス1は、PCI−Express規格に準拠したデバイス、例えばネットワークカードやファイバーチャネルカード等である。情報処理装置700により、搭載されるPCIデバイス1は異なってよい。また、情報処理装置700は、複数の異なるPCIデバイス1を搭載可能であってよい。
【0020】
===BIOS2===
BIOS2は、情報処理装置700の基本入出力システムであり、PCIデバイス1からPCI Configuration情報(構成情報とも呼ばれる)を読み取る情報取得部20を含む。BIOS2は、例えば、情報処理装置700のプロセッサ上で動作するファームウェアである。
【0021】
===BMC3===
BMC3は、情報処理装置700のシステム管理用コントローラであり、情報管理部30、情報監視部31、制御部32を含む。BMC3は、情報処理装置700におけるPower Offモード300、OS Bootモード301、情報取得モード302、ランニングモード303の切り替え制御を行う。
【0022】
===BIOSメモリ4===
BIOSメモリ4は、PCIデバイス1の情報を保持するデバイスDB(DataBase(データベース))40を格納する。
【0023】
===BMCメモリ5===
BMCメモリ5は、情報管理部30により作成されるPCIデバイス1の管理用DB50を格納する。
【0024】
次に、本実施形態におけるモードについて説明する。
図2は、本実施形態における各モードの相関図である。
【0025】
Power Offモード300は、情報処理装置700がPower Off状態にあることを示すモードである。情報処理装置700は、Power Onされることにより、OS Bootモード301に移行する。
【0026】
OS Bootモード301は、情報処理装置700がPower Off状態からOS起動までの状態にあることを示すモードである。情報処理装置700は、PCIデバイス1の初期化を完了すると、取得モード302に移行する。また、情報処理装置700は、OS起動が完了した場合、ランニングモード303に移行する。
【0027】
取得モード302は、情報処理装置700がPCIデバイス1を特定する状態にあることを示す。情報処理装置700は、取得モード302において、管理用DB50に情報(特定したPCIデバイス1に関する情報)が登録された後、OS Bootモード301に戻る。
【0028】
ランニングモード303は、情報処理装置700がOS稼働状態にあることを示す。情報処理装置700は、外部からPower Offを指示されると、Power Offモード300に移行する。
【0029】
以上が、
図2を用いたモードの説明である。次に、
図1に示す各構成要素と
図2に示すモードとの関係を説明する。
【0030】
===情報取得部20===
情報取得部20は、取得モード302において動作する。情報取得部20は、PCIデバイス1からPCI Configuration情報を取得する。そして、情報取得部20は、取得したPCI Configuration情報に基づいて、BIOSメモリ4が格納しているデバイスDB40を参照することで搭載されているPCIデバイス1の種類を特定する。また、情報取得部20は、搭載位置を特定する情報(例えば、Bus番号、Device番号、Function番号、Slot番号など)からPCIデバイス1の搭載位置を特定する。そして、情報取得部20は、搭載されているPCIデバイス1の種類と搭載位置との情報を、BMC3の情報管理部30に送信する。
【0031】
===情報管理部30===
情報管理部30は、取得モード302において動作する。情報管理部30は、情報取得部20から受信した搭載されているPCIデバイス1と搭載位置との情報を、BMCメモリ5が備える管理用DB50へ記録する。同時に、情報管理部30は、PCIデバイス1のステータスレジスタのそれぞれに、機能毎に読み出しID(IDentifier)(読み出し識別子とも呼ばれる)を割り振る。尚、読み出しIDはユニークな番号であり同じ番号があってはならない。即ち、読み出しIDは、情報処理装置700に搭載された全てのPCIデバイス1に含まれる、ステータスレジスタのそれぞれを個別に識別する識別子である。
【0032】
===情報監視部31===
情報監視部31は、ランニングモード303において動作する。情報処理装置700がOS稼働中状態にある場合、情報監視部31は、PCIデバイス1のステータスレジスタにアクセスし最新のレジスタ値を読み出す。そして、情報監視部31は、そのレジスタ値をBMCメモリ5が備える管理用DB50に記録する。
【0033】
===制御部32===
制御部32は、情報処理装置700の電源状態及びOS稼働状態を監視し、BMC3全体の制御及び、BIOS2の起動指示を行う。
【0034】
以上が、
図1に示す各構成要素と
図2に示すモードとの関係の説明である。
【0035】
次に、デバイスDB40について説明する。デバイスDB40は、PCIデバイス1として搭載されうる全てのPCI−Expressデバイスの、レジスタに関する情報を保持するDBである。
【0036】
図3は、デバイスDB40の構造の一例を示す図である。
図3に示すように、デバイスDB40は、例えば、ベンダID(ベンダ識別子とも呼ばれる)400、デバイスID(デバイス識別子とも呼ばれる)401,レジスタ名402、機能名403及びアドレス(物理アドレスとも呼ばれる)404を含む。以後、このベンダID400、デバイスID401,レジスタ名402、機能名403及びアドレス404の組をレジスタマップ41とも呼ぶ。
【0037】
ベンダID400は、PCI−Expressデバイスの製造ベンダを特定する情報である。ベンダIDは、製造ベンダのそれぞれに対してユニークに決められている値である。
【0038】
デバイスID401は、PCI−Expressデバイスの種類を特定できる情報である。デバイスIDは、PCI−Expressデバイスのそれぞれに対して、製造ベンダによって予め決定された識別子である。
【0039】
レジスタ名402は、PCI−Expressデバイスが備えている各機能のレジスタの名称である。レジスタ名402は、そのレジスタ名402で示される特定のレジスタを、情報取得部20と情報管理部30とが共通に認識可能とする、任意の識別子であってよい。
【0040】
機能名403は、PCI−Expressデバイスが備えている各機能の名称である。機能名403は、その機能名403で示される特定の機能を、情報取得部20と情報管理部30とが共通に認識可能とする、任意の識別子であってよい。
【0041】
アドレス404は、PCI−Expressデバイスが備えている各機能のレジスタ(即ち、機能名403で特定される機能を設定するレジスタ名402で特定される特定されるレジスタ)の物理アドレスである。アドレス404は、レジスタのそれぞれに対して、製造ベンダによって予め決定されたアドレスである。
【0042】
ここでは、上述したレジスタマップ41が事前にデバイスDB40に登録されているものとする。
【0043】
以上が、デバイスDB40の説明である。
【0044】
次に、管理用DB50について説明する。管理用DB50は、BMC3が備える情報管理部30によりデバイスDB40を基に作成され、また、情報監視部31により更新されるPCIデバイス1のレジスタ値を管理するためのデータベースである。
【0045】
図4は、管理用DB50の構造の一例を示す図である。
図4に示すように、管理用DB50は、例えば、読み出しID500、搭載スロット501、アドレス502、機能名503及びレジスタ値504を含む。
【0046】
読み出しID500は、前述の通り、情報処理装置700に搭載された全てのPCIデバイス1に含まれる、ステータスレジスタのそれぞれを個別に識別する識別子である。読み出しID500は、例えば、機能名503毎に割り当てられるユニークな番号であり、値504の検索時及び更新時のキーとして用いられる。
【0047】
搭載スロット501は、情報取得部20で取得されるPCIデバイス1の搭載位置情報(Slot情報)である。
【0048】
アドレス502は、
図3に示すデバイスDB40のアドレス404と同一である。
【0049】
機能名503は、
図3に示すデバイスDB40の機能名403と同一である。
【0050】
レジスタ値504は、情報監視部31がPCIデバイス1から読み出したステータスレジスタの内容である。例えば、情報監視部31は、OS稼働状態(ランニングモード303)において、一定間隔にて、管理用DB50からPCIデバイス1の読み出しID500をキーとしてPCIデバイス1のステータスレジスタを読み出す。即ち、情報監視部31は、読み出しID500に関連づけられている搭載スロット501及びアドレス502を使用してPCIデバイス1のステータスレジスタを読み出す。そして、情報監視部31は、その読み出したステータスレジスタの値で、管理用DB50のその読み出しID500に関連づけられているレジスタ値504を書き換える。
【0051】
外部から、デバイスの情報の読み出し要求があった場合、読み出しID500に対応するレジスタ値504が読み出される。
【0052】
次に本実施形態の動作について、図面を参照して詳細に説明する。
【0053】
図5は、本実施形態における情報処理装置700の全体的な動作を示すフローチャートである。
【0054】
前述したように、情報処理装置700は、Power Offモード300においてPower On(主電源オン)されたことを契機に、
図5に示すフローチャートの動作を開始する。
【0055】
制御部32は、PCIデバイス1のPower Onを指示し、情報処理装置700をOS Bootモード301へ移行させる(ステップS100)。
【0056】
次に、BIOS2は、PCIデバイス1の初期化を実行する(ステップS110)。
【0057】
次に、PCIデバイス1の初期化が完了し、デバイス1内のステータスレジスタにアクセス可能な状態となったところで、制御部32は、情報処理装置700を取得モード302に移行させる(ステップS120)。取得モード302における動作の詳細は、後述する。
【0058】
次に、取得モード302の動作が完了すると、制御部32は、情報処理装置700をOS Bootモード301に復帰しOS Boot処理を継続する(ステップS130)。
【0059】
次に、制御部32は、OSの起動が完了したか否かを判定する(ステップS140)。
【0060】
OSの起動が完了した場合(ステップS140でYES)、制御部32は、情報処理装置700をランニングモード303に移行させる(ステップS150)。ランニングモード303における動作の詳細は、後述する。
【0061】
以上が、本実施形態における情報処理装置700の全体的な動作の説明である。
【0062】
次に、本実施形態における情報処理装置700の取得モード302における動作について説明する。
図6は、本実施形態における取得モード302の動作を示すフローチャートである。
【0063】
情報取得部20は、PCIデバイス1 のPCI Configuration情報とそのPCIデバイス1の搭載位置を特定できる情報とを取得する(ステップS121)。例えば、情報取得部20は、そのPCI Configuration情報として、PCI−Expressデバイスの製造ベンダが特定できるベンダIDと、ベンダ毎にデバイスを特定するデバイスIDとを読み出す。また、情報取得部20は、その搭載位置を特定できる情報として、例えば、搭載Slotの情報を採取する。
【0064】
次に、情報取得部20は、取得したPCIデバイス1のPCI Configuration情報(ベンダID及びデバイスID)に基づいて、デバイスDB40から該当するPCIデバイス1のレジスタマップ41を検索する(ステップS122)。
【0065】
S123:次に、情報取得部20は、検索した結果(搭載されているデバイスのレジスタマップ41)と搭載Slotの情報とを結合する(ステップS123)。具体的には、情報取得部20は、デバイスDB40の機能名403及びアドレス404と、搭載Slotの情報とを結合する。
【0066】
次に、情報取得部20は、ステップS123で結合したデータを、BMC3が備える情報管理部30へ送信する(ステップS124)。
【0067】
次に、情報管理部30は、情報取得部20から受信したデータに読み出しID500を付与し、管理用DB50に記録する(ステップS125)。具体的には、情報管理部30は、情報取得部20からその受信したデータの搭載Slotの情報を搭載スロット501とし、機能名403を機能名503とし、アドレス404をアドレス502とした組を管理用DB50に記録する。
【0068】
更に、情報管理部30は、その搭載スロット501と機能名503とアドレス502の組毎に、即ち、PCIデバイス1が持つステータスレジスタの機能毎に読み出しIDを付与し、読み出しID500を管理用DB50に追加する。
【0069】
以上が、本実施形態の取得モード302における動作の説明である。
【0070】
次に、本実施形態のランニングモード303における動作について説明する。
図7は、本実施形態におけるランニングモード303の動作を示すフローチャートである。
【0071】
情報処理装置700は、予め定められたタイミング(例えば、一定時間毎に、
図7に示すフローチャートの動作を開始する。また、情報処理システム装置は、外部からBMC3を介して、ステータスレジスタを読み出す要求を受信したことを契機に、
図7に示すフローチャートの動作を開始してもよい。
【0072】
情報監視部31は、読み出しID500をキーとして、PCIデバイス1のステータスレジスタを読み出す為の搭載スロット501とアドレス502を入手する(ステップS151)。
【0073】
次に、情報監視部31は、ステップS151で入手した搭載スロット501とアドレス502に基づいてPCIデバイス1にアクセスし、そのPCIデバイス1のステータスレジスタを読み出す(ステップS152)。
【0074】
次に、情報監視部31は、読み出したそのPCIデバイス1のステータスレジスタの内容を、その読み出しID500に対応するレジスタ値504として、管理用DB50に記録する(ステップS153)。
【0075】
ランニングモード303において、情報監視部31は、以上のステップS151〜ステップS153の動作を繰り返す。情報処理装置700は、Power Offを指示された場合、情報監視部31がステップS153を実行(読み出した値を管理用DB50に記録)した後のタイミングで、ランニングモード303からPower Offモード300へ移行する。
【0076】
以上が、本実施形態のランニングモード303における動作の説明である。
【0077】
以上の動作により、PCIデバイス1のステータスレジスタの状態を任意に取得することが可能となる。
【0078】
具体的には、一般的なPCIデバイスに備えられているLEDの点灯状態は目視でなければ確認することができない。従って、遠隔地に存在するシステム管理者が情報処理装置の運用情報を確認したい場合も、現地にある情報処理装置のLED点灯状態を確認するしか手段がなかった。
【0079】
例えば、遠隔地からのPCIデバイスの状態(一例としてPCIデバイスのLED状態)の確認は、カメラ等を使用してその状態を撮影し、通信によってその撮影した情報を伝達するしかなかった。例えば、PCIデバイス1のLEDの状態を示すレジスタをステータスレジスタにすることで、そのPCIデバイス1のLED情報を取得することが可能となる。そのようなステータスレジスタの情報を、ネットワーク通信によりBMC保持情報としてシステム管理者に提供することにより、遠隔地からのタイムリーな運用情報確認が行える。
【0080】
また、本実施形態においては、PCIデバイスのレジスタマップ41を使用してレジスタ情報読み出しを行うため、特許文献2に開示される技術のように取得可能な情報が電源制御関連レジスタに限定されない。
【0081】
上述した本実施形態における効果は、システムの管理や保守などに供するデバイスの情報をより好適に取得することが可能になることを可能にする点である。
【0082】
その理由は、以下のような構成を含むからである。即ち、第1に情報取得部20が、情報処理装置700に搭載されているPCIデバイス1のレジスタマップ41を取得する。第2に、情報管理部30がそのレジスタマップ41毎に、情報処理装置700において排他的な読み出しID500を付与する。第3に、情報監視部31がその読み出しID500に基づいて、PCIデバイス1のステータスレジスタを読み出す。
【0083】
<<<第2の実施形態>>>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【0084】
第2の実施形態の構成は、
図1に示す第1の実施形態の構成と同一である。
【0085】
図8は、第2の実施形態における各モードの相関図である。
図8に示すように、本実施形態の取得モード312は、ランニングモード313から移行され、その後、ランニングモード313へ戻る場合がある点が、
図2に示す取得モード302と異なる。また、
図8に示すように、本実施形態のランニングモード313は、取得モード312に移行しその後、ランニングモード313へ戻る場合がある点が、
図2に示すランニングモード303と異なる。
【0086】
本実施形態の制御部32は、情報処理装置702にPCIデバイス1が新たに装着されたことを検出する。そして、制御部32は、PCIデバイス1が新たに装着されたことを検出した場合、情報処理装置702をランニングモード313から取得モード312へ移行させる。
【0087】
図9は、本実施形態における情報処理装置702の新規のPCIデバイス1が、ランニングモード313中(OS稼働中)に装着された場合の動作を示すフローチャートである。
【0088】
制御部32は、新規のPCIデバイス1が装着されたことを、即ち、搭載されているPCIデバイス1新たに、検出する(ステップS210)。
【0089】
次に、制御部32は、その新規のPCIデバイス1のPower On処理を実行する(ステップS220)。
【0090】
BIOS2が、その新規のPCIデバイス1の初期化を実行する(ステップS230)。
【0091】
次に、PCIデバイス1の初期化が完了し、新規のPCIデバイス1内のステータスレジスタにアクセス可能な状態となったところで、制御部32は、情報処理装置702を取得モード312に移行させる(ステップS240)。取得モード312における動作の詳細は、
図6に示すステップS121〜ステップS126と同様である。
【0092】
次に、取得モード303の動作が完了すると、制御部32は、情報処理装置702をランニングモード313に移行する(ステップS250)。ランニングモード303における動作の詳細は、
図7に示すステップS151〜ステップS153と同様である。
【0093】
以上が、本実施形態における情報処理装置702の全体的な動作の説明である。
【0094】
以上の動作により、主電源が入っていない装置で、PCIデバイスを装置に組み込む前にハードウェア正常性確認としてリンクチェック等に使用される情報を取得することができる。
【0095】
上述した本実施形態における効果は、第1の実施形態の効果に加えて、Hot Add(オンライン組込み)されたPCIデバイス1についても、システムの管理や保守などに供するデバイスの情報をより好適に取得することを可能にする点である。
【0096】
その理由は、制御部32が、情報処理装置702にPCIデバイス1が新たに装着されたことを検出し、情報処理装置702を取得モード312へ移行させるからである。
【0097】
<<<第3の実施形態>>>
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【0098】
図10は、本発明の第3の実施形態に係る情報処理装置703の構成を示すブロック図である。
【0099】
図10に示すように、本実施形態における情報処理装置703は、デバイスDB40、管理用DB50、取得手段60及び更新手段80を含む。
【0100】
===デバイスDB40===
デバイスDB40は、情報処理装置703に搭載されるPCIデバイス1が含むレジスタの物理アドレスを少なくとも記憶する。
【0101】
===管理用DB50===
管理用DB50は、少なくとも
図4に示すような読み出しID500とレジスタ値504との組を記憶する。
【0102】
===取得手段60===
取得手段60は、デバイスDB40に含まれるPCIデバイス1が含むレジスタの物理アドレスと、構成情報と、に基づいて、搭載位置とその物理アドレスとの組み合わせのそれぞれに、読み出しID500を付与する。その構成情報は、情報処理装置703に搭載されたPCIデバイス1から取得可能な構成情報であり、そのPCIデバイス1に含まれるレジスタの物理アドレスを少なくとも含む。その搭載位置は、情報処理装置703に搭載されているそのPCIデバイス1の搭載位置(例えば、搭載Slotの情報)である。尚、読み出しID500は、その情報処理装置703において排他的な識別子である。即ち、その情報処理装置703に搭載されているPCIデバイス1の搭載位置とその物理アドレスとの組み合わせのそれぞれに付与される読み出しID500は、その情報処理装置703内において、重複しない。
【0103】
===更新手段80===
更新手段80は、読み出しID500のそれぞれに対応する、PCIデバイス1のレジスタ値のそれぞれを読み出し、管理用DB50に記録する。
【0104】
図10に示す各構成要素は、ハードウェア単位の回路でも、マイクロチップに含まれるモジュールでも、コンピュータ装置の機能単位に分割された構成要素でもよい。
【0105】
例えば、
図6及び
図7に示すような動作をコンピュータに実行させるプログラムのコードを記録した記録媒体が、情報処理装置703に供給される。このような場合、情報処理装置703に搭載されたプロセッサ(不図示)は、その記録媒体に格納されたそのプログラムのコードを読み出して実行してよい。或いは、そのプロセッサは、その記録媒体に格納されたそのプログラムのコードを、図示しない情報処理装置703の記憶部、記憶装置またはその両方に格納してもよい。すなわち、本実施形態は、情報処理装置703が実行するそのプログラム(ソフトウェア)を、一時的にまたは非一時的に、記憶する記録媒体の実施形態を含む。尚、情報を非一時的に記憶する記録媒体は、不揮発性記録媒体とも呼ばれる。
【0106】
上述した本実施形態における効果は、第1の実施形態の効果と同じく、システムの管理や保守などに供するデバイスの情報をより好適に取得することが可能になることを可能にする点である。
【0107】
その理由は、以下のような構成を含むからである。即ち、第1に取得手段60が、デバイスDB40とPCIデバイス1の構成情報とに基づいて、そのPCIデバイス1の搭載位置とその物理アドレスとの組み合わせのそれぞれに、読み出しID500を付与する。第2に、更新手段80が、読み出しID500のそれぞれに対応する、PCIデバイス1のレジスタ値のそれぞれを読み出し、管理用DB50に記録する。
【0108】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、複数個の任意のその構成要素が1個のモジュールとして実現されてよい。また、その構成要素の内の任意のひとつが複数のモジュールで実現されてもよい。また、その構成要素の内の任意のひとつがその構成要素の内の任意の他のひとつであってよい。また、その構成要素の内の任意のひとつの一部と、その構成要素の内の任意の他のひとつの一部とが重複してもよい。
【0109】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【0110】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、コンピュータが読み取り可能な非一時的記録媒体に記録され、コンピュータに提供される。そして、そのプログラムは、コンピュータの立ち上げ時などに、非一時的記録媒体からコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【0111】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、変更することができる。
【0112】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、ある動作の実行中に他の動作が発生してよい。また、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複してもよい。
【0113】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で変更されてよい。
【0114】
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。