以下に添付図面を参照して、情報処理システム、情報処理装置及び情報処理プログラムの実施形態を詳細に説明する。
図1は、実施形態に係る情報処理システム1の構成の一例を示す図である。図1に示すように、情報処理システム1は、メインボード10、中継装置30及び複数のサブボード50-1~50-nを有する。メインボード10は、通信部11、セットアップ部13及び記憶部15としての機能を有する。また、複数のサブボード50-1~50-nは、通信部51-1~51-n、実行部53-1~53-n及び記憶部55-1~55-nとしての機能を有する。
なお、以下の説明では、複数のサブボード50-1~50-nの各々を区別する必要がなく、複数のサブボード50-1~50-nのうちの任意のサブボード50-1~50-nを示す場合には、サブボード50と記載する。同様に、通信部51-1~51-nの各々を区別する必要がなく、通信部51-1~51-nのうちの任意の通信部51-1~51-nを示す場合には、通信部51と記載する。同様に、実行部53-1~53-nの各々を区別する必要がなく、実行部53-1~53-nのうちの任意の実行部53-1~53-nを示す場合には、実行部53と記載する。同様に、記憶部55-1~55-nの各々を区別する必要がなく、記憶部55-1~55-nのうちの任意の記憶部55-1~55-nを示す場合には、記憶部55と記載する。
メインボード10及びサブボード50は、中継装置30を介して互いに通信可能に接続されている。メインボード10及びサブボード50の各々は、例えば、中継装置30が設けられたボード上の複数のスロットにそれぞれ挿入される。中継装置30は、複数のスロットに挿入されたメインボード10及びサブボード50の各々の間での通信を中継する。なお、メインボード10及び中継装置30の間、あるいはサブボード50及び中継装置30の間は、例えばPCIe(Peripheral Component Interconnect Express)等の通信規格により通信可能に接続されるが、PCIeの他の通信規格により接続されていてもよい。ここで、メインボード10及び複数のサブボード50-1~50-nは、複数の情報処理装置の一例である。また、複数のスロットは、複数の接続部の一例である。
メインボード10は、サブボード50を管理して、サブボード50に各種処理を実行させる主たる情報処理装置(メインのプラットフォーム)である。ここで、メインボード10は、第2の情報処理装置の一例である。
サブボード50は、情報処理システム1の実現可能な機能を拡張するための拡張ボードである。サブボード50は、それぞれメインボード10の要求に基づいて、例えばAI(Artificial Intelligence)推論処理や画像処理等を実行する従たる情報処理装置(サブのプラットフォーム)である。ここで、複数のサブボード50-1~50-nは、サブボード50は、1又は複数の第1の情報処理装置の一例である。
なお、実施形態は、複数のサブボード50-1~50-nを例示するが、これに限らない。実施形態に係る情報処理システム1は、複数のサブボード50-1~50-nのうちの少なくとも1つサブボードを有する構成とすることができる。
なお、中継装置30の複数のスロットのうち、何れかのスロットは、メインボード10及び複数のサブボード50-1~50-nの各々が挿入されていない空き状態であってもよい。
なお、少なくとも2つのサブボード50が同一の機能を有していてもよいし、サブボード50それぞれが異なる機能を有していてもよい。
通信部11は、中継装置30を介した、サブボード50の通信部51との間の通信を実行する。
セットアップ部13は、保守用ソフトウェアのセットアップ機能において、中継装置30のスロットに新たに挿入(接続)されたサブボード50に、スクリプト及び第2の定義ファイルを供給する。また、セットアップ部13は、サブボード50から出力されたサブボード50の個体識別情報を取得する。取得された情報は、少なくともサブボード50の個体識別情報を含む。セットアップ部13は、取得された情報に基づいて、メインボード10及びサブボード50の間の鍵認証設定や通信設定、時刻同期設定などの各種設定を行う。ここで、セットアップ部13は、取得部の一例である。
記憶部15は、保守用ソフトウェア(情報処理プログラム)を記憶する。また、記憶部15は、保守用ソフトウェアのセットアップ機能において、メインボード10から新たに接続されたサブボード50に供給される、スクリプト及び第2の定義ファイルを記憶する。スクリプト及び第2の定義ファイルについては後述する。ここで、記憶部15は、第2の記憶部の一例である。
通信部51は、中継装置30を介した、メインボード10の通信部11や他のサブボード50の通信部51との間の通信を実行する。
実行部53は、メインボード10から送り込まれたスクリプトを実行する。具体的には、実行部53は、メインボード10からのスクリプトに従って定義ファイルを参照することにより、自装置(サブボード50)の個体識別情報をメインボード10に出力するためのコマンドを決定し、決定されたコマンドを実行する。定義ファイルの参照先については、後述する。
記憶部55は、第1の記憶領域及び第2の記憶領域を有する。ここで、記憶部55は、第1の記憶部の一例である。
記憶部55の第1の記憶領域とは、例えばサブボード50のマスクROMにより実現される記憶領域である。つまり、第1の記憶領域とは、書き込まれたデータを書き換えることができない領域である。記憶部55の第1の記憶領域は、書込装置70により書き込まれたマスタの情報を記憶する。書込装置70により書き込まれるマスタの情報には、サブボード50を動作するためのOSやソフトウェア、ドライバ類、自装置の個体識別情報、第1の定義ファイルなどが含まれる。第1の定義ファイルについては後述する。
記憶部55の第2の記憶領域は、例えばサブボード50のRAMやフラッシュメモリなどの記憶回路により実現される記憶領域である。記憶部55の第1の記憶領域は、メインボード10から送り込まれたスクリプトや第2の定義ファイル、処理中のデータなどを記憶する。
なお、本実施形態に係る保守用ソフトウェアのセットアップ機能におけるスクリプトとは、新たに接続されたサブボード50の情報をメインボード10が取得するためのスクリプトである。具体的には、このスクリプトは、スクリプト内で実行されるコマンドを、定義ファイルの参照により、サブボード50で実行可能なコマンドに変更するように構成されている。
より具体的には、当該スクリプトは、送り込まれたサブボード50において、記憶部55の第1の記憶領域を参照し、第1の記憶領域に第1の定義ファイルが記憶されていないとき、記憶部55の第2の記憶領域を参照するように構成されている。したがって、実行部53は、第1の記憶領域に第1の定義ファイルが記憶されているとき、第1の定義ファイルにより定義されるコマンドを、そのスクリプト内で実行する。また、実行部53は、第1の記憶領域に第1の定義ファイルが記憶されていないとき、第2の記憶領域の第2の定義ファイルにより定義されるコマンドを、そのスクリプト内で実行する。
なお、実施形態に係る定義ファイルとは、サブボード50で実行可能なコマンドと、そのコマンドに対応する引数とを含む情報であり、スクリプト内で実行されるコマンドを定義する情報である。
第1の定義ファイルは、サブボード50の個体識別情報をメインボード10に出力するためのコマンドであって、書き込まれているサブボード50で実行可能な形式のコマンドを定義する定義ファイルである。第1の定義ファイルは、サブボード50がメインボード10に接続されるより前の時点で、書込装置70によるマスタ書き込みにおいて第1の記憶領域に格納される。一例として、サブボード50の第1の記憶領域には、そのサブボード50の個体識別情報をメインボード10に出力するための、そのサブボード50で実行可能な形式のコマンドを定義する第1の定義ファイルが格納されている。
第2の定義ファイルは、サブボード50の個体識別情報をメインボード10に出力するためのコマンドであって、各サブボード50で実行可能な形式のコマンドを、サブボード50の種別ごとに定義する定義ファイルである。なお、サブボード50の種別とは、例えばサブボード50を動作するためのOSやソフトウェア、ドライバ類、サブボード50のプロセッサ、サブボード50のメモリなどに応じて規定される。一例として、メインボード10の記憶部15には、各サブボード50の個体識別情報をメインボード10に出力するための、各サブボード50で実行可能な形式のコマンドをサブボード50の種別ごとに定義する第2の定義ファイルが格納されている。また、第2の定義ファイルは、サブボード50がメインボード10に接続された後の時点で、メインボード10から例えばスクリプトとともに転送されて、各サブボード50の記憶部55の第2の記憶領域に格納される。
なお、記憶部15に格納されているスクリプト及び第2の定義ファイルは、例えば保守用ソフトウェアのアップデートにより更新することができる。
なお、図1は、実施形態に係る書込システム3をさらに例示する。実施形態に係る書込システム3は、サブボード50(図1ではサブボード50-nを例示している。)及び書込装置70を有する。
書込装置70は、例えば製造時や工場出荷時に、サブボード50の記憶部55の第1の記憶領域にマスタを書き込むPC(パーソナルコンピュータ)などの装置である。つまり、書込装置70によるサブボード50の第1の記憶領域へのマスタ書き込みは、サブボード50が中継装置30のスロットに挿入される前、すなわち中継装置30を介してメインボード10へ接続される前の時点である。マスタに含まれる情報については、後述する。
書込装置70は、通信部71、書込部73及び記憶部75としての機能を有する。通信部71は、サブボード50の通信部51との間の通信を実行する。書込部73は、記憶部75に格納されたマスタをサブボード50の第1の記憶領域へ書き込む。記憶部75は、サブボード50の第1の記憶領域へ書き込まれるマスタを記憶する。
なお、情報処理システム1及び書込システム3は、上述したように異なるシステムとして構成されてもよいし、1つの情報処理システム5として構成されても構わない。
(第1の記憶領域に第1の定義ファイルが格納されない場合)
図2は、実施形態に係る情報処理システム1とは異なり、接続前にサブボード50への第1の定義ファイルF1の格納が行われない情報処理システム1´について説明するための図である。なお、図2においては、中継装置30の記載を省略している。また、図2は、サブボード50-1が交換又は追加される場合を例示する。
情報処理システム1´では、実施形態に係る情報処理システム1とは異なり、接続前にサブボード50への第1の定義ファイルF1(図4、図6及び図7参照)の格納が行われない。このため、図2に示すように、書込装置70によりサブボード50の記憶部55の第1の記憶領域R1に書き込まれるマスタM1の情報には、サブボード50を動作するためのOSやソフトウェア、ドライバ類、自装置の個体識別情報などが含まれる。
また、情報処理システム1´の保守用ソフトウェアP1のセットアップ機能におけるスクリプトS1は、新たに接続されたサブボード50の情報をメインボード10が取得するためのスクリプトである点は、実施形態に係るスクリプトS2(図4、図6及び図7参照)と同様である。一方で、情報処理システム1´のスクリプトS1は、第1の定義ファイルF1が第1の記憶領域R1に書き込まれないことに伴い、スクリプトS1とともに送り込まれて第2の記憶領域R2に格納された第2の定義ファイルF2を参照してコマンドを決定するように構成される。
図3は、実施形態に係る情報処理とは異なり、セットアップ処理においてサブボード50に予め格納された第1の定義ファイルF1を参照しない情報処理の一例を示すシーケンス図である。
まず、例えば製造時や工場出荷時に、書込システム3は、S101及びS102の処理を行う。
書込装置70は、マスタ作成(S101)において、マスタM1を作成する。なお、図2に示すように、情報処理システム1´では、マスタM1は、OS/ソフトウェアと、ドライバ類とを含む一方で、第1の定義ファイルF1は含まない。また、書込装置70は、マスタ書き込み(S102)において、サブボード50の記憶部55の第1の記憶領域R1に、作成されたマスタM1の書き込みを行う。したがって、図2に示すように、サブボード50の記憶部55は、第1の記憶領域R1にマスタM1のOS/ソフトウェアと、ドライバ類とを記憶している状態になる。
そして、中継装置30を介して、第1の記憶領域R1にマスタM1が書き込まれたサブボード50がメインボード10に接続された後、情報処理システム1´は、S103~S111の処理を行う。
メインボード10は、保守用ソフトウェアのセットアップ実行(S103)において、保守用ソフトウェアP1のセットアップ機能により新たに接続されたサブボード50に関するセットアップを行う。このとき、メインボード10は、記憶部15に格納されているスクリプトS1及び第2の定義ファイルF2をサブボード50に転送する。
サブボード50は、スクリプト格納(S104)において、メインボード10から転送されたスクリプトS1を記憶部55の第2の記憶領域R2に格納する。また、サブボード50は、第2の定義ファイル格納(S105)において、メインボード10から転送された第2の定義ファイルF2を記憶部55の第2の記憶領域R2に格納する。
サブボード50は、スクリプト実行(S106)において、第2の記憶領域R2に格納されたスクリプトS1を実行する。また、サブボード50は、第2の定義ファイル参照(S107)において、スクリプトS1に従い、第2の記憶領域R2に格納された第2の定義ファイルF2を参照することにより、スクリプトS1内で実行するコマンドを決定する。
ここでは、第2の定義ファイルF2は、サブボード50において実行可能なコマンドを定義できているものとして、以下の説明を続ける。
サブボード50は、参照したコマンド実行(S108)において、第2の定義ファイルF2を参照して決定されたコマンドを実行する。これにより、サブボード50は、情報取得(S109)において、自装置の個体識別情報を取得し、情報をメインボードに戻す(S110)において、取得された自装置の個体識別情報をメインボード10に転送する。
また、メインボード10は、ファイルに格納(S111)において、サブボード50から出力された個体識別情報を取得し、記憶部15に格納する。その後、図3の処理は終了する。
このように、第2の定義ファイルF2によりサブボード50で実行可能なコマンドを定義できる場合がある。この場合、第1の記憶領域R1に第1の定義ファイルF1が格納されない場合であっても、メインボード10は、スクリプトS1内で実行するコマンドを、交換又は増設されたサブボード50の種別に応じて変更することができる。つまり、メインボード10は、交換又は増設されたサブボード50からの情報取得を行うことができる。
しかしながら、第2の定義ファイルF2がメインボード10に格納された後に、第2の定義ファイルF2に種別が登録されていないサブボード50が情報処理システム1において利用可能になる場合がある。この場合、第2の定義ファイルF2には、接続されたサブボード50で実行可能なコマンドに関する情報が記述されていない。このため、第2の定義ファイルF2を参照してもスクリプトS1内で実行するコマンドを接続されたサブボード50において実行可能に変更することができなかった。したがって、新たに追加されたサブボード50に対応したコマンドを決定できず、スクリプトS1に応じた処理に失敗する場合があった。
なお、メインボード10の保守用ソフトウェアP1のアップデータにより、第2の定義ファイルF2を更新し、新たな種別のサブボード50に対応させることは可能である。しかしながら、新たな種別のサブボード50が利用可能になるたびに第2の定義ファイルF2を更新することには、手間がかかる。
これらのことから、情報処理システム1においては、スクリプトS1内で実行するコマンドを接続されたサブボード50において実行可能に変更することが要求される。換言すれば、情報処理システム1においては、スクリプトS1内で実行するコマンドを、接続されたサブボード50に応じて適切に変更することが要求される。
そこで、実施形態に係る情報処理システム1は、交換又は増設されたサブボード50の設定を行うセットアップ作業において、サブボード50で実行されるコマンドを定義する第1の定義ファイルF1を予めサブボード50内に格納した構成を有する。
また、図2及び図3のサブボード50のように、第1の記憶領域R1に第1の定義ファイルF1が格納されていないサブボード50が情報処理システム1に接続される場合もあり得る。このため、実施形態に係る情報処理システム1において、保守用ソフトウェアP2は、予め定められた順序でサブボード50に格納された定義ファイルを参照するように構成されたスクリプトS2を、該サブボード50に送り込むように構成されている。
したがって、実施形態に係る情報処理システム1は、以下に説明する制御シーケンスを実行することにより、接続されたサブボード50に応じてスクリプトS2内で実行するコマンドを適切に変更することができる。
なお、以下の説明では、図2及び図3を参照して説明した情報処理システム1´との相違点を主に説明する。
図4は、それぞれ実施形態に係る情報処理システム1の概要を説明するための図である。なお、図4においては、中継装置30の記載を省略している。また、図4は、サブボード50-1が交換又は追加される場合を例示する。
実施形態に係る情報処理システム1では、情報処理システム1´とは異なり、接続前にサブボード50への第1の定義ファイルF1の格納が行われる。このため、図4に示すように、書込装置70により第1の記憶領域R1に書き込まれるマスタM2の情報には、サブボード50を動作するためのOSやソフトウェア、ドライバ類、自装置の個体識別情報などに加えて、第1の定義ファイルF1が含まれる。
また、情報処理システム1の保守用ソフトウェアP2のセットアップ機能におけるスクリプトS2は、第1の定義ファイルF1が第1の記憶領域R1に書き込まれることに伴い、予め定められた順序で定義ファイルを参照する。具体的には、スクリプトS2は、送り込まれたサブボード50において、第1の記憶領域R1を参照し、第1の記憶領域R1に第1の定義ファイルF1が格納されていないとき、第2の記憶領域R2の第2の定義ファイルF2を参照するように構成されている。つまり、スクリプトS2は、第1の定義ファイルF1が第1の記憶領域R1に格納されているサブボード50が接続された場合には、第1の定義ファイルF1を参照してスクリプトS2内のコマンドを変更することができる。
図5は、実施形態に係る情報処理の一例を示すシーケンス図である。ここでは、主に図2の情報処理システム1´及び図3の情報処理との相違点について説明し、重複する説明は適宜省略する。
まず、書込システム3は、例えば製造時や工場出荷時に、S201~S203の処理を行う。
書込装置70は、第1の定義ファイル作成(S201)において、第1の定義ファイルF1を作成し、マスタ作成(S202)において、第1の定義ファイルF1を含むマスタM2を作成する。そして、書込装置70は、マスタ書き込み(S203)において、作成されたマスタM2をサブボード50の第1の記憶領域R1に書き込む。また、サブボード50は、第1の定義ファイル格納(S204)において、図4に示すように、サブボード50の第1の記憶領域R1に、書込装置70から転送された第1の定義ファイルF1を格納する。
なお、書込装置70は、例えばサブボード50を動作するためのOSやソフトウェア、ドライバ類、サブボード50のプロセッサ、サブボード50のメモリなどに応じて第1の定義ファイルF1を作成する。
メインボード10は、保守用ソフトウェアのアップデート(S205)において、すなわちS206~S215の処理に先立って、スクリプトS1を実行する保守用ソフトウェアP1を、実施形態に係るスクリプトS2を実行する保守用ソフトウェアP2にアップデートする。
なお、S205の処理は、例えばS201の処理に先立って実行されても構わない。このアップデートは、第1の定義ファイルF1が第1の記憶領域R1に書き込まれることに伴い行われるものであり、以降の処理(図6及び図7参照)においては不要である。つまり、以降の処理では、実行可能なコマンドが第2の定義ファイルF2により定義できないサブボード50の存在に起因したアップデート、すなわち第2の定義ファイルF2の更新を目的とするアップデートは不要である。
そして、中継装置30を介して、第1の記憶領域R1に第1の定義ファイルF1を含むマスタM2が書き込まれたサブボード50がメインボード10に接続された後、情報処理システム1は、S206~S209の処理を行う。なお、S206~S209の処理は、それぞれ、図3のS103~S106の処理と同様にして行われる。
つまり、メインボード10は、保守用ソフトウェアのセットアップ実行(S206)において、保守用ソフトウェアP2を用いてセットアップ処理を実行し、スクリプトS2及び第2の定義ファイルF2をサブボード50に送り込む。また、サブボード50は、スクリプト格納(S207)及び第2の定義ファイル格納(S208)において、送り込まれたスクリプトS2及び第2の定義ファイルF2を第2の記憶領域R2に格納し、スクリプト実行(S209)において、スクリプトS2を実行する。
その後、サブボード50は、第1の定義ファイル参照(S210)において、第1の記憶領域R1の第1の定義ファイルF1を参照し、第1の定義ファイルF1が無い場合には、第2の定義ファイル参照(S211)において、第2の記憶領域R2の第2の定義ファイルF2を参照する。
例えば図4の構成では、第1の記憶領域R1に格納されている第1の定義ファイルF1が参照(S210)されるので、S211の処理は行われず、S212の処理へ進む。
図6は、実施形態に係る情報処理システム1の概要を説明するための図である。なお、図6の構成は、図4のメインボード10を有する情報処理システム1において、図2と同様の構成を有するサブボード50が接続される場合を例示する。この場合、図6に示すように、メインボード10の保守用ソフトウェアP2は、接続されたサブボード50にスクリプトS2を転送する。ここで、サブボード50では、図6に示すように、第1の定義ファイルF1が第1の記憶領域R1に格納されていない。このような場合、サブボード50は、スクリプトS2に従い第2の定義ファイルF2を参照(S211)することにより、スクリプトS2内のコマンドをサブボード50に応じて適切に変更することができる。
図7は、実施形態に係る情報処理システム1の概要を説明するための図である。なお、図7の構成は、図4のメインボード10を有する情報処理システム1において、図4と同様にして、さらに新しいマスタM2aの第1の定義ファイルF1aが、第1の記憶領域R1に格納(S201~S204)される場合を例示する。この場合、保守用ソフトウェアP2(スクリプトS2,第2の定義ファイルF2)を更新することなく、図7に示すように、スクリプトS2に従い第1の定義ファイルF1を参照(S210)することにより、スクリプトS2内のコマンドをサブボード50に応じて適切に変更することができる。
そして、サブボード50は、参照したコマンド実行(S212)において、S210の処理で参照された第1の定義ファイルF1と、S211の処理で参照された第2の定義ファイルF2とのいずれかに応じたコマンドを実行する。
その後、情報処理システム1は、S213~S215の処理を行う。なお、S213~S215の処理は、それぞれ、図3のS109~S111の処理と同様にして行われる。
つまり、サブボード50は、情報取得(S213)において、自装置の個体識別情報を取得し、情報をメインボードに戻す(S214)において、取得された自装置の個体識別情報をメインボード10に転送する。
また、メインボード10は、ファイルに格納(S215)において、サブボード50から出力された個体識別情報を取得し、記憶部15に格納する。その後、図5の処理は終了する。
このように、実施形態に係る情報処理システム1においては、第1の定義ファイルF1を予めサブボード50の第1の記憶領域R1に格納する。また、保守用ソフトウェアP2のスクリプトS2は、サブボード50の第1の記憶領域R1及び第2の記憶領域R2の少なくとも一方に格納された定義ファイルを、予め定められた順序で参照するように構成される。これにより、情報処理システム1においては、メインボード10の保持する第2の定義ファイルF2がサブボード50に対応するか否かに依らず、また、サブボード50に第1の定義ファイルF1が予め格納しているか否かに依らず、接続されたサブボード50に応じてスクリプトS2内で実行するコマンドを適切に変更することができる。
図8は、実施形態に係る情報処理システム1の各情報処理装置90(メインボード10、中継装置30、サブボード50及び書込装置70)のハードウェア構成の一例を示す図である。各情報処理装置90は、例えば図8に示すように、それぞれ通常のコンピュータと同様のハードウェア構成を有している。
図8に示すように、情報処理装置90は、プロセッサ91、メモリ93、通信インタフェース95及び入出力インタフェース97を有する。プロセッサ91、メモリ93、通信インタフェース95及び入出力インタフェース97は、例えばバス99を介して互いに通信可能に接続されている。
プロセッサ91は、情報処理装置90の全体を制御する回路である。プロセッサ91は、一例として、メモリ93のROM(Read Only Memory)やHDD(Hard Disc Drive)、SSD(Solid State Drive)などに格納されている各種のプログラム(ソフトウェア)をメモリ93の例えばRAM(Random Access Memory)にロードし、ロードされたプログラムを実行することにより、各情報処理装置90の有する機能を実現する。
なお、プロセッサ91としては、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、Mux(Multiplex)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などの各種のプロセッサが適宜利用可能である。また、プロセッサ91は、CPU、GPU、Mux、MPU、DSP,ASIC,PLD,FPGAのうちの2種類以上の回路要素の組み合わせであってもよい。
メモリ93は、CPUなどのプロセッサ91が実行する各プログラムや各プログラムのパラメータが格納されるROMやHDD、SSDなどの不揮発性メモリと、ワーキングメモリとして利用され、プロセッサ91が演算処理を実行する際にデータが一時的に格納されるRAMなどの揮発性メモリとを有する。
通信インタフェース95は、情報処理装置90と他の装置との間の無線又は有線の通信を実行するための回路である。通信インタフェース95としては、各種の通信規格に対応する通信回路が適宜利用可能である。なお、メインボード10及び中継装置30の間や中継装置30及びサブボード50の間において、通信インタフェース95は、例えばPCIeなどの通信規格に対応した通信回路である。
入出力インタフェース97は、キーボードやタッチパネル、マウスなどの各種の入力装置を介したデータの入力(操作の受け付け)と、ディスプレイやスピーカなどの各種の出力装置を介したデータの出力とを制御する装置である。なお、入出力インタフェース97は、例えば中継装置30やサブボード50において設けられていなくてもよい。
なお、上記の各種ソフトウェアプログラムは、必ずしもメモリ93に記憶されている必要はない。例えば、媒体読取装置等が読み取り可能な記憶媒体に記憶されたプログラムを、情報処理装置90が読み出して実行するようにしてもよい。情報処理装置90が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、HDD等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの情報処理プログラムを記憶させておき、情報処理装置90がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
以上説明したように、実施形態に係る情報処理システム1は、複数の情報処理装置と、複数の情報処理装置が接続される複数の接続部(複数のスロット)を有する中継装置30とを備える。複数の情報処理装置は、1又は複数のサブボード50と、メインボード10とを含む。
情報処理システム1においてサブボード50は、記憶部55と、実行部53とを有する。記憶部55は、第1の記憶領域R1及び第2の記憶領域R2を含む。記憶部55は、第1の記憶領域R1に自装置の個体識別情報を記憶し、第1の記憶領域R1及び第2の記憶領域R2の少なくとも一方に定義ファイル(第1の定義ファイルF1,第2の定義ファイルF2)を記憶する。実行部53は、メインボード10からのスクリプトS2に従い第1の記憶領域R1及び第2の記憶領域R2のいずれか一方に記憶された定義ファイル(第1の定義ファイルF1,第2の定義ファイルF2)を参照することにより決定された、個体識別情報をメインボード10に出力するためのコマンドを実行する。
情報処理システム1においてスクリプトS2は、第1の記憶領域R1に自装置で実行可能なコマンドを定義する第1の定義ファイルF1が記憶されているとき、第1の定義ファイルF1を参照することを指示する。スクリプトS2は、第1の記憶領域R1に第1の定義ファイルF1が記憶されていないとき、メインボード10から供給されて第2の記憶領域R2に記憶されている、サブボード50の種別ごとに実行可能なコマンドを定義する第2の定義ファイルF2を参照することを指示する。
情報処理システム1においてメインボード10は、記憶部15と、セットアップ部13とを有する。記憶部15は、スクリプトS2及び第2の定義ファイルF2を記憶する。セットアップ部13は、中継装置30に新たに接続されたサブボード50にスクリプトS2及び第2の定義ファイルF2を供給し、該サブボード50から出力された個体識別情報を取得する。
また、情報処理システム1において第1の記憶領域R1は、書き込まれたデータを書き換えることができない領域である。また、第2の記憶領域R2は、メインボード10からデータを書き換えることができる領域である。
また、情報処理システム1において記憶部55は、サブボード50が中継装置30に接続される前の時点で、個体識別情報とともに第1の定義ファイルF1を第1の記憶領域R1に記憶する。また、実行部53は、第1の定義ファイルF1を参照することにより決定されたコマンドを実行する。
この構成によれば、情報処理システム1において、接続されたサブボード50に応じてスクリプトS2内で実行するコマンドを適切に変更することができる。つまり、情報処理システム1において、スクリプトS2内で実行するコマンドを接続されたサブボード50において実行可能に変更することができる。
ここで、情報処理システム1は、メインボード10の保持する第2の定義ファイルF2がサブボード50に対応するか否かに依らず、接続されたサブボード50に応じてスクリプトS2内で実行するコマンドを適切に変更することができる。つまり、新たな種別のサブボード50、すなわち実行可能なコマンドを第2の定義ファイルF2により定義できないサブボード50が存在する場合であっても対応可能である。このため、メインボード10において、保守用ソフトウェアP2の第2の定義ファイルF2の更新頻度を低減することができる。
さらに、情報処理システム1は、サブボード50に第1の定義ファイルF1が予め格納しているか否かに依らず、接続されたサブボード50に応じてスクリプトS2内で実行するコマンドを適切に変更することができる。つまり、メインボード10において、保守用ソフトウェアP2のスクリプトS2は、第1の定義ファイルF1が格納されたサブボード50に限らず、第1の定義ファイルF1が格納されていないサブボード50に関しても、スクリプトS2内のコマンドを該サブボード50において実行可能に変更することができる。
また、実施形態に係るサブボード50は、記憶部55と、実行部53とを備える。記憶部55は、第1の記憶領域R1と、第2の記憶領域R2とを含む。第1の記憶領域R1は、書き込まれたデータを書き換えることができない領域である。第1の記憶領域R1は、自装置の個体識別情報と、中継装置30を介して接続されたメインボード10に個体識別情報を出力するための自装置で実行可能なコマンドを定義する第1の定義ファイルF1とを記憶する。第2の記憶領域R2は、書き込まれたデータをメインボード10から書き換えることができる領域である。第2の記憶領域R2は、メインボード10から取得される、自装置の種別ごとに実行可能なコマンドを定義する第2の定義ファイルF2を記憶する。実行部53は、第1の記憶領域R1に第1の定義ファイルF1が記憶されていないときに、第2の記憶領域R2に記憶されている第2の定義ファイルF2を参照することを指示するメインボード10からのスクリプトS2に従い、第1の記憶領域R1に記憶された第1の定義ファイルF1を参照することにより決定されたコマンドを実行する。
この構成によれば、サブボード50は、メインボード10から転送されたスクリプトS2内で実行するコマンドを、第1の記憶領域R1に格納された第1の定義ファイルF1を参照することにより、自装置で実行可能な形式に適切に変更することができる。したがって、サブボード50は、メインボード10の保持する第2の定義ファイルF2が自装置に対応するか否かに依らず、スクリプトS2内で実行するコマンドを接続されたサブボード50、すなわち自装置において実行可能に変更することができる。
また、実施形態に係る保守用ソフトウェアP2(情報処理プログラム)は、メインボード10(コンピュータ)に、スクリプトS2と、第2の定義ファイルF2とを、1又は複数のサブボード50のうちの中継装置30を介して新たに接続されたサブボード50に供給することと、スクリプトS2及び第2の定義ファイルF2を供給したサブボード50から出力された個体識別情報を取得することとを実行させる。
保守用ソフトウェアP2においてスクリプトS2は、サブボード50の第1の記憶領域R1にサブボード50で実行可能なコマンドを定義する第1の定義ファイルF1が記憶されているとき、第1の定義ファイルF1を参照することを指示する。スクリプトS2は、サブボード50の第1の記憶領域R1に第1の定義ファイルF1が記憶されていないとき、メインボード10から供給されて第2の記憶領域R2に記憶されている、サブボード50の種別ごとに実行可能なコマンドを定義する第2の定義ファイルF2を参照することを指示する。
この構成によれば、メインボード10は、スクリプトS2内で実行するコマンドを接続されたサブボード50に応じて適切に、すなわち該サブボード50において実行可能に変更することができる。
ここで、メインボード10は、自装置の保持する第2の定義ファイルF2がサブボード50に対応するか否かに依らず、接続されたサブボード50において実行されるコマンドを適切に変更することができる。つまり、新たな種別のサブボード50、すなわち実行可能なコマンドを第2の定義ファイルF2により定義できないサブボード50が存在する場合であっても対応可能である。このため、メインボード10において、保守用ソフトウェアP2の第2の定義ファイルF2の更新頻度を低減することができる。
さらに、メインボード10は、サブボード50に第1の定義ファイルF1が予め格納しているか否かに依らず、接続されたサブボード50において実行されるコマンドを適切に変更することができる。つまり、メインボード10において、保守用ソフトウェアP2のスクリプトS2は、第1の定義ファイルF1が格納されたサブボード50に限らず、第1の定義ファイルF1が格納されていないサブボード50に関しても、スクリプトS2内のコマンドを該サブボード50において実行可能に変更することができる。
本発明の実施形態及び変形例を説明したが、この実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。