(57)【要約】【課題】従来技術によるマルチプロセッサ装置の処理方式では、マルチプロセッサ装置を構成している制御カードのソフトウェアを更新する際、従来のソフトウェアで動作している制御カードと更新後のソフトウェアで動作している制御カードを同時に動作させることができず、全制御カードを同時に停止する必要があった。【解決手段】共有データを記憶する共有メモリに、従来のソフトウェアが用いる共有データの領域と更新後のソフトウェアが用いる領域の二つの領域を設け、各制御カードは、従来および更新後双方のソフトウェアが用いる共有データのアドレス情報を保持し、従来および更新後のソフトウェアが混在しても、互いに影響を及ぼすことなく正常に動作するようにし、マルチプロセッサ装置のソフトウェア更新時の制御カードの停止を最小限にとどめる。【選択図】    図１
2004206453.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御部と、各制御部がアクセス可能な共有メモリを有するマルチプロセッサ装置の共有データアクセス方式において、
該共有メモリには、該制御部で動作するソフトウェアである制御ソフトが共有してアクセスする共有データ格納部を備え、該共有データ格納部は、従来の制御ソフトが用いる共有データの格納領域である従来面と、更新後の制御ソフトが用いる共有データの格納領域である更新面を含み、該制御部は、該従来面および該更新面の双方にアクセスするためのアドレス情報を獲得し保持するためのアドレス情報獲得保持手段と、該制御ソフトを更新して起動するための制御ソフト更新起動手段とを有し、更新後の制御ソフトを実行中の制御部は、共有データの書き込みを該更新面および該従来面の双方に対して行い、共有データの読み込みは更新面からのみ行い、従来の制御ソフトを実行中の制御部は、共有データの書き込みを更新面および従来面の双方に対して行い、共有データの読み込みは従来面のみから行う、
ことを特徴とするマルチプロセッサ装置の共有データアクセス方式。
【請求項２】
請求項１に記載のマルチプロセッサ装置の共有データアクセス方式において、
前記アドレス情報獲得保持手段は、予め定められた方法で主制御モードとなる第一の制御部を特定し、第一の制御部は、第一の制御部以外の従来の制御ソフトで動作している制御部を一つ抽出して第二の制御部とし、第二の制御部に対して制御ソフトの更新を指示し、制御ソフトの更新を指示された第二の制御部は、前記制御ソフト更新起動手段により制御ソフトを更新して起動し、第二の制御部を除く全ての制御部に対して、更新後の制御ソフトが使用する共有データのアドレス情報を通知し、第一の制御部は第二の制御部へ、第一の制御部が保持している従来の共有データのアドレス情報を通知することにより、全制御部が従来および更新後の共有データのアドレス情報を保持し、さらに、第一の制御部は、上記第二の制御部の抽出を第一の制御部以外の全ての制御部の制御ソフトが更新されるまで繰り返し、最後に第一の制御部を前記制御ソフト更新起動手段により更新して起動する、
ことを特徴とするマルチプロセッサ装置の共有データアクセス方式。
【請求項３】
請求項１または請求項２のいずれかに記載のマルチプロセッサ装置の共有データアクセス方式において、
前記制御ソフトが使用する共有データを構成する各要素に要素名を付与し、前記制御部は、該要素名と、前記共有データ格納部内の従来面および更新面の該要素が格納される領域のアドレスとを対応付けるアドレス情報を保持し、前記制御ソフトは該要素名を用いて共有データの該要素にアクセスする、
ことを特徴とするマルチプロセッサ装置の共有データアクセス方式。
【請求項４】
請求項３に記載のマルチプロセッサ装置の共有データアクセス方式において、
前記制御部に、前記共有データの要素名と、前記共有データ格納部内の従来面および更新面双方の前記要素が格納される領域のアドレスとを、同時に対応付けるテーブルを設け、前記制御ソフトは前記共有データの要素名を指定することにより、従来面および更新面双方に格納される前記共有データの要素に同時にアクセスする、
ことを特徴とするマルチプロセッサ装置の共有データアクセス方式。
【請求項５】
請求項１ないし請求項４のいずれかに記載のマルチプロセッサ装置の共有データアクセス方式において、
前記制御ソフト更新起動手段は、前記制御ソフトを格納する制御ソフト格納部を前記共有メモリ内に設け、前記制御部は前記制御ソフトを格納する書き込み可能な内部メモリを有し、該制御ソフト格納部に格納されている前記制御ソフトを該内部メモリにロードして起動する、
ことを特徴とするマルチプロセッサ装置の共有データアクセス方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチプロセッサ装置の処理方式に係り、特に複数の制御部が共有メモリ内に格納されている共有データを介して連携するマルチプロセッサ装置の共有データアクセス方式に関する。
マルチプロセッサ装置が用いられるシステムでは、２４時間無停止運転する場合が多く、特に、マルチプロセッサ装置で動作するソフトウェアの更新時の機能停止を最小限にして、システム全体への影響を抑える手段が望まれている。
【０００２】
【従来の技術】
図13は、従来技術のマルチプロセッサ装置によるソフトウェア更新の方法である。
複数の制御カード10a、10b、10c、10dと、各制御カードが共有してアクセスできる共有メモリ20を備え、各制御カードの起動時に、共有メモリ20内の制御ソフト格納部21から自制御カード部の内部メモリに制御ソフトを読込んで起動する。
【０００３】
図13では、制御カード間で連携して処理するための共有データを、共有メモリ20内の共有データ格納部22に格納する構成としたが、制御カード間の連携データについては、他の伝送手段を用いる場合もあるが、下記のソフトウェア更新方法については同様である。
システム運用中に制御カード部の内部に読込まれている制御ソフトを更新しようとする場合は、予め共有メモリ20内の制御ソフト格納部21に記憶されている制御ソフトを更新したうえで、マルチプロセッサ装置に再起動の指示を与え、全制御カードを一旦停止した後、各制御カードの立ち上がり時に、共有メモリ20内の更新済みの制御ソフトを読み込んで更新し、全制御カードの制御ソフトが更新された後に、マルチプロセッサ装置全体が運用を再開する、というのが一般的なソフトウェア更新方法で、例えば次のような動作シーケンスとなる。
【０００４】
S1. マルチプロセッサ装置の制御カードで動作するソフトウェアが格納されている制御ソフト格納部21の内容を、新しいソフトウェアに更新する。
S2. 制御カード10a、10b、10c、10dを、順次または同時に停止し、全制御カードを停止状態とする。
S3. 制御カード10a、10b、10c、10dを、順次または同時に立ち上げ、制御ソフト格納部21から新しい制御ソフトを内部メモリにロードして起動する。
【０００５】
上記の動作シーケンスでは、シーケンスS2において、全制御カードの同時停止が必要となる。これは、現用の制御ソフトで動作する制御カードと、更新後の制御ソフトで動作する制御カードが混在して動作すると、各制御カード間で連携して処理する共有データが変更になるような制御ソフトの更新が行われた場合は、現用の制御ソフトと更新後の制御ソフトの共有データに対する処理が不整合となり、誤動作するためである。
【０００６】
従って、例えば常時稼動しなければならない交換機などのシステムにおいては、更新直前に行われていた処理が全て切断されてしまう為、好ましい手法であるとは言えない。これはシステム全体の規模が大きくなればなるほど、その影響は大きくなる。また、実際に制御ソフトの更新を行う場合には、システムの再起動を考慮しなければならない為、処理数の比較的少ない深夜帯などに作業を行うようになる等、制約事が多くなり、保守面においても効率的なシステムの更新ができないという問題もある。
【０００７】
上記を解決する為のマルチプロセッサ装置における装置全体の停止を伴わないソフトウェア更新手段として、例えば、次の公知例がある（特許文献１および特許文献２参照。）。
特許文献１の特開平9-146902号公報では、マルチプロセッサ装置において、外部メモリ上のソフトウェアが更新されたことを検出すると、外部メモリ上にある更新フラグ信号線により各制御カード部にソフトウェアが更新されたことを通知し、主となる一つの制御カード部を決定させる。主となる制御カード部は、ソフトウェアの更新を行わずに、更新される前のソフトウェアにて処理を継続する。主制御カード部以外の他の制御カード部は更新中の間、従属制御カード部として待機状態にて運用を停止する。この間、従属制御カード部は更新されたソフトウェアを読み込み、更新されたソフトウェアは実行せずに待機する。この処理を従属制御カード部毎順次行い、全従属制御カード部の更新終了後、更新終了フラグを主制御カード部に通知する。更新終了を受けた主制御カード部は処理を停止し、ソフトウェア更新を行うとともに、従属制御カード部は待機状態から運用状態へと遷移し、更新されたソフトウェアにて運用を開始する。
【０００８】
また、特許文献２の特開2001-67239号公報では、マルチプロセッサ装置において、通常運用時は制御カード部間でジョブの分散管理を行うが、ソフトウェア更新時においては、各制御カード部を互いに干渉しない二つ以上のグループ(クラスタ)に分類するクラスタ限定モードに移行させる。クラスタ限定モードにおいては、予め分類されたグループに属する制御カード部間でのみジョブの分散管理を行うよう処理を変更する。ソフトウェア更新時は、まず、更新するグループ(クラスタ)を決定し、該当グループに対して、新規ジョブの受付を停止する休止状態に変更する。全ての制御カード部が休止状態に遷移した場合、グループの状態を保守動作モードへと変更し、該当グループに属する全ての制御カード部のソフトウェアの更新を開始する。グループ内の全制御カード部がソフトウェアの更新を終了すると、更新されたソフトウェアで動作を開始する。この場合、システムがクラスタ限定モードであれば、グループ外制御カード部との干渉は行うことができない。
【０００９】
上記処理を全グループ毎で順次実行し、全グループの更新が終了すると、動作モードをクラスタ非限定モードへと戻すことにより、通常のジョブ分散管理を行うようする。
上記方法により、マルチプロセッサ装置の動作を停止させることなく、また、複数の制御カード部をグループに分け、グループ外との干渉を行わないことで、異なるバージョンのプログラムが干渉せずにソフトウェアを変更することが可能となる。
【００１０】
【特許文献１】
特開平９−１４６９０２号公報（第６〜７頁、第３図）
【００１１】
【特許文献２】
特開２００１−６７２３９号公報（補６〜７頁、第1図）
【００１２】
【発明が解決しようとする課題】
特許文献１の特開平9-146902号公報の方法によると、ソフトウェア更新中において従属制御カード部は稼動を停止させた待機状態となり、この間は主制御カード部しか稼動しない状態となる。即ち、1枚の制御カード部に対する処理負荷が増大してしまうという問題がある。また、主制御カード部以外の複数枚の制御カード部が待機状態となる為、交換機等においてはシステムとして同時処理可能な呼処理数を満たすことが不可能となり、呼損が発生しやすい状態となる。これは制御カード部の数が増えるほど、影響が大きくなってしまう。
【００１３】
また、特許文献１の特開平9-146902号公報、および、特許文献２の特開2001-67239号公報の何れの方法であっても、更新前のソフトウェアと更新後のソフトウェアが動作する制御カード間で連携する共有データ構造が変更になる場合は、更新の完了した制御カード部と更新の完了していない制御カード部を同時に実行させることができず、ソフトウェア更新時には、同時に複数の制御カードを停止する必要がある。
【００１４】
本発明は、マルチプロセッサ装置において、装置を構成する制御部の停止を最小限に抑えてソフトウェアの更新が行えるマルチプロセッサ装置の共有データアクセス方式を提供することを目的とする。
【００１５】
【課題を解決するための手段】
第一の発明では、複数の制御部と、各制御部がアクセス可能な共有メモリを有するマルチプロセッサ装置の共有データアクセス方式において、
該共有メモリには、該制御部で動作するソフトウェアである制御ソフトが共有してアクセスする共有データ格納部を備え、該共有データ格納部は、従来の制御ソフトが用いる共有データの格納領域である従来面と、更新後の制御ソフトが用いる共有データの格納領域である更新面を含み、該制御部は、該従来面および該更新面の双方にアクセスするためのアドレス情報を獲得し保持するためのアドレス情報獲得保持手段と、該制御ソフトを更新して起動するための制御ソフト更新起動手段とを有し、更新後の制御ソフトを実行中の制御部は、共有データの書き込みを該更新面および該従来面の双方に対して行い、共有データの読み込みは更新面からのみ行い、従来の制御ソフトを実行中の制御部は、共有データの書き込みを更新面および従来面の双方に対して行い、共有データの読み込みは従来面のみから行う、ように構成している。
【００１６】
第一の発明によれば、従来使用している旧版数の制御ソフトが動作している制御部と、更新後の新版数の制御ソフトが動作している制御部が、同一のマルチプロセッサ装置の中で混在していても、お互いに影響を与えることなく、同時に動作可能となり、制御ソフトの更新を、一個の制御部毎に順次実施して起動しておくことが可能となり、同時に全制御部を一時停止することなく、マルチプロセッサ装置の制御ソフトの更新が可能となる。
【００１７】
第二の発明は、第一の発明に記載のマルチプロセッサ装置の共有データアクセス方式において、前記アドレス情報獲得保持手段は、予め定められた方法で主制御モードとなる第一の制御部を特定し、第一の制御部は、第一の制御部以外の従来の制御ソフトで動作している制御部を一つ抽出して第二の制御部とし、第二の制御部に対して制御ソフトの更新を指示し、制御ソフトの更新を指示された第二の制御部は、前記制御ソフト更新起動手段により制御ソフトを更新して起動し、第二の制御部を除く全ての制御部に対して、更新後の制御ソフトが使用する共有データのアドレス情報を通知し、第一の制御部は第二の制御部へ、第一の制御部が保持している従来の共有データのアドレス情報を通知することにより、全制御部が従来および更新後の共有データのアドレス情報を保持し、さらに、第一の制御部は、上記第二の制御部の抽出を第一の制御部以外の全ての制御部の制御ソフトが更新されるまで繰り返し、最後に第一の制御部を前記制御ソフト更新起動手段により更新して起動する、ように構成している。
【００１８】
第二の発明によれば、予め定められた方法で主制御モードとなる制御部を決定し、該制御部にマルチプロセッサ装置全体の制御ソフトの更新を指示すれば、各制御部間で新旧の共有データのアドレス情報を共有しながら、各制御部間の処理を続行しながら、マルチプロセッサ装置全体の制御ソフトの更新手順を完了させることができる。
【００１９】
第三の発明は、前記第一の発明または第二の発明のいずれかに記載のマルチプロセッサ装置の共有データアクセス方式において、前記制御ソフトが使用する共有データを構成する各要素に要素名を付与し、前記制御部は、該要素名と、前記共有データ格納部内の従来面および更新面の該要素が格納される領域のアドレスとを対応付けるアドレス情報を保持し、前記制御ソフトは該要素名を用いて共有データの該要素にアクセスする、ように構成している。
【００２０】
第三の発明によれば、共有データが実際に格納される共有メモリ内のアドレスおよび共有データの従来面／更新面の区別を意識することなく、制御ソフトで要素名を指定することにより共有データにアクセスできるようになり、効率的な制御ソフトの開発が可能となる。
第四の発明は、前記第三の発明に記載のマルチプロセッサ装置の共有データアクセス方式において、前記制御部に、前記共有データの要素名と、前記共有データ格納部内の従来面および更新面双方の前記要素が格納される領域のアドレスとを、同時に対応付けるテーブルを設け、前記制御ソフトは前記共有データの要素名を指定することにより、従来面および更新面双方に格納される前記共有データの要素に同時にアクセスする、ように構成している。
【００２１】
第四の発明によれば、共有データが格納されている、従来面および更新面の双方に対して、一度のテーブル検索でアクセスできるようになり、共有データアクセスの高速化を図ることができる。
第五の発明は、前記第一の発明ないし第四の発明のいずれかに記載のマルチプロセッサ装置の共有データアクセス方式において、前記制御ソフト更新起動手段は、前記制御ソフトを格納する制御ソフト格納部を前記共有メモリ内に設け、前記制御部は前記制御ソフトを格納する書き込み可能な内部メモリを有し、該制御ソフト格納部に格納されている前記制御ソフトを該内部メモリにロードして起動する、ように構成している。
【００２２】
第五の発明によれば、各制御部の制御ソフトの更新を、共有メモリに格納されている制御ソフトをロードすることにより実施可能で、マルチプロセッサ装置を構成する全制御部の制御ソフトの更新を、人手を介さずに、効率的に完了させることが可能となる。
【００２３】
【発明の実施の形態】
図１は本発明のマルチプロセッサ装置による共有データアクセス方式である。
マルチプロセッサ装置は、制御部となる制御カード10a、10b、10c、10d、および、各制御カードからアクセスできる共有メモリ20で構成され、共有メモリ20は、各制御カードで動作するソフトウェアである制御ソフトが格納される制御ソフト格納部21、および、各制御カードが連携して処理するために使用する共有データの受け渡し領域となる共有データ格納部22を有する。
【００２４】
本発明によるマルチプロセッサ装置の共有データアクセス方式では、旧版の制御ソフトで動作している従来の制御カードと、新版の制御ソフトで動作している更新後の制御カードとが混在していても、お互いに影響を与えることなくマルチプロセッサ装置が動作できるように構成する。そのために、共有データ格納部22の内部を、従来運用中の旧版の制御ソフトが動作する際に使用する従来面22aと、これから入れ替えようとしている新版の制御ソフトが動作する際に使用する更新面22bとの二面構成とする。
【００２５】
制御カードの制御ソフトを更新する際は、マルチプロセッサ装置を構成している複数の制御カードの中から、制御ソフト更新の全体管理を行う制御カードに対して更新開始コマンドを送信し、該制御カードを主制御モードとし、以後該制御カードがマルチプロセッサ装置全体の制御カードの制御ソフト更新の手順を管理する。
【００２６】
図１の中で点線矢印で示された動作の手順について、シーケンス番号S1〜S8に沿って説明する。
S1. 外部共有メモリ20内の制御ソフト格納部21に、新しい制御ソフトを格納する。
S2. マルチプロセッサ装置を構成する複数の制御カードの中から、制御ソフト更新の全体管理を行う制御カード10aを予め定められた方法で決定して、制御ソフト更新の開始を指示する更新開始コマンドSUを、制御カード10aに送信する。
【００２７】
ここで、制御ソフト更新の全体管理を行う制御カード10aを選択する規則としては、固定式、回転式、処理余裕度順など任意に設定可能である。
S3. 更新開始コマンドSUを受付けた制御カード10aは、運用モードを主制御モードとし、まだ制御ソフトが更新されておらず旧版数の制御ソフトで動作している制御カードの中から、更新対象とする制御カード10dを選択し、制御カード10dに対して更新起動指示RSTを送信する。
【００２８】
S4. 更新起動指示RSTを受信した制御カード10dは、共有メモリ20内の制御ソフト格納部21に格納されている、新版数の制御ソフトを、自制御カード内の内部メモリにローディングして起動し、新制御ソフトが使用する共有データ格納部22内の更新面22bのアドレス情報である新アドレス情報を保持する。
S5. 制御カード10dは、該新アドレス情報を新アドレス情報通知NADとして、自制御カード以外の全ての制御カードへ送信し、各制御カードに新アドレス情報を保持させる。
【００２９】
S6.  新アドレス情報通知NADを受信した主制御モードの制御カード10aは、自制御カード内に受信した新アドレス情報を保持すると同時に、共有データ格納部22の従来面22aの共有データを更新面22b内の対応するアドレスの領域にコピーした後、従来の制御ソフトが使用する共有データのアドレス情報である旧アドレス情報を、旧アドレス情報通知OADとして、制御カード10dへ通知する。
【００３０】
S7. 旧アドレス情報通知OADを受信した制御カード10dは、通知された 旧アドレス情報を保持した後、運用を開始する。更新後の制御ソフトで動作する制御カード10dは、新旧の双方の制御ソフトで使用される共有データについては、共有データ格納部22の従来面22aおよび更新面22bの双方に書き込み、読み込みは更新面22bからのみ行う。このようにすることにより、従来面22aを使用して処理を行っている旧版数の制御ソフトが動作している制御カード、つまり、制御カード10a、10b、10cに対しても、必要な共有データを受け渡すことができる。
【００３１】
S8. 一方、上記シーケンスS5により、新アドレス情報を通知されて保持しているが、まだ、自制御カードの制御ソフトは旧版のままで動作中の、制御カード10a、10b、10cは、新旧の双方の制御ソフトで使用される共有データについては、書き込みについては共有データ格納部22の従来面22aおよび更新面22bの両方に行い、読み込みは従来面22aから行って処理を継続する。これにより、新版の制御ソフトで動作中である制御カード10dに対しても、必要な共有データを受け渡すことが可能となる。
【００３２】
主制御モードで動作中の制御カード10aは、上記のステップS3〜S8と同様な手順で、まだ旧版の制御ソフトで動作している制御カード10c、10bに対しても制御ソフトの更新と起動を完了させ、最後に自制御カード10aの制御ソフトを更新して起動する。
上記の方法により、一時点では、一個の制御カードの再起動に伴う一時停止のみで、マルチプロセッサ装置全体の制御ソフトの更新を完了することができる。
【００３３】
図２〜図４は、本発明の共有データアクセス方式による転送シーケンスで、各シーケンスに沿って説明する。
S01. 予め定められた方法により、更新開始コマンドSUを、主制御モードとなる制御カード10aに送信する。
S02. 更新開始コマンドSUを受信した制御カード10aは、共有メモリ20の共有データ格納部22内に設けられた更新中フラグを"ON"に設定し、同じく共有データ格納部22内に設けられた現在運用中の共有データ面を識別するための運用面情報に、二つある面の内から、従来運用中の面と異なるもう一つの面の識別番号を設定して、運用面を切替える。そして、更新起動指示RSTを制御カード10d宛てに送信して、制御カード10dの制御ソフトの更新を指示する。
【００３４】
S03. 制御ソフトの更新を主制御モードの制御カード10aから指示された制御カード10dは、自制御カードの初期設定を行ったのち、制御ソフト格納部21より、新制御ソフトをロードして起動する。
S04. シーケンスS03で起動された新制御ソフトは、新制御ソフトが使用する共有データのアドレス情報である新アドレス情報を生成して自制御カード内に設定した後、他の全ての制御カードに対して、新アドレス情報通知NADを送信して、該新アドレス情報を通知する。
【００３５】
S05.  新アドレス情報通知NADを受信した主制御モードの制御カード10aは、受信した新アドレス情報を保持したのち、共有メモリ20内の共有データ格納部22の従来面22aのデータを、更新面22bの対応するアドレスの領域にコピーし、旧制御ソフトが使用している従来面22aの内容を、新制御ソフトが使用する更新面22bに引き継ぐ。
【００３６】
そして、新制御ソフトが起動されて初期化されたために、共有データの旧アドレス情報がまだ設定されていない制御カード10dに対して、自制御カード10aが保持している旧アドレス情報を、旧アドレス情報通知OADとして通知する。
S06. 主制御モードの制御カード10aから旧アドレス情報通知OADを受信した制御カード10dは、受信した旧アドレス情報を自制御カード内に設定する。
【００３７】
S07. 一方、制御カード10dから新アドレス情報通知NADを受信した制御カード10bは、自制御カード内に受信した新アドレス情報を設定し、保持する。
S08. 上記シーケンスS07と同様に、制御カード10dから新アドレス情報通知NADを受信した制御カード10cは、自制御カード内に受信した新アドレス情報を設定し、保持する。
【００３８】
S09. 上記シーケンスS05に引き続いて、制御カード10aは、制御ソフトの更新がまだ完了していない制御カード10cを検出し、制御カード10cに対して更新起動指示RSTを送信する。
S10.  更新起動指示RSTを受信した制御カード10cは、新しい制御ソフトを制御ソフト格納部21からロードして起動する。
【００３９】
S11. シーケンスS10で起動された新制御ソフトは、共有データの新アドレス情報を生成して、自制御カード内に設定した後、他の全ての制御カードに対して、各制御カードが保持している共有データのアドレス情報を更新するための新アドレス情報通知NADを送信する。
S12.  新アドレス情報通知NADを受信した主制御モードの制御カード10aは、新制御ソフトが起動されているが、初期化されたために、旧アドレス情報を保持していない制御カード10cに対して、旧アドレス情報通知OADを送信する。
【００４０】
S13. 主制御モードの制御カード10aから旧アドレス情報通知OADを受信した制御カード10cは、受信した旧アドレス情報を自制御カード内に設定する。
S14. 一方、制御カード10cから新アドレス情報通知NADを受信した制御カード10bは、シーケンスS07で既に、自制御カード内に共有データの新アドレス情報を設定済みのため、処理を行わない。
【００４１】
S15. 上記シーケンスS14と同様に、制御カード10cから新アドレス情報通知NADを受信した制御カード10dは、シーケンスS04で既に、自制御カード内に新アドレス情報を設定済みのため、処理を行わない。
S16.  上記シーケンスS12に引き続いて、主制御モードの制御カード10aは、制御ソフトの更新がまだ完了していない制御カード10bを検出し、制御カード10bに対して更新起動指示RSTを送信する。
【００４２】
S17.  更新起動指示RSTを受信した制御カード10bは、新制御ソフトを制御ソフト格納部21からロードして起動する。
S18. シーケンスS17で起動された新制御ソフトは、共有データの新アドレス情報を生成して保持し、他の全ての制御カードに対して、新アドレス情報を設定してもらうために、新アドレス情報通知NADを送信する。
【００４３】
S19.  新アドレス情報通知NADを受信した主制御モードの制御カード10aは、新制御ソフトが起動されているが、共有データの旧アドレス情報が初期化されて保持されていない制御カード10bに対して、旧アドレス情報通知OADを送信する。
S20. 旧アドレス情報通知OADを受信した制御カード10bは、受信した旧アドレス情報を自制御カード内に設定する。
【００４４】
S21. 一方、制御カード10bから新アドレス情報通知NADを受信した制御カード10cは、シーケンスS08で既に、共有データの新アドレス情報を設定済みのため、処理を行わない。
S22. 制御カード10bから新アドレス情報通知NADを受信した制御カード10dは、ステップS04で既に、自制御カード内に共有データの新アドレス情報を設定済みのため、処理を行わない。
【００４５】
S23. 上記シーケンスS19に引き続いて、主制御モードの制御カード10aは、自制御カード以外の全ての制御カードの制御ソフトの更新が完了したので、共有データ格納部22内の更新中フラグを"OFF"とし、自制御カード以外の全ての制御カードに対して、更新終了通知EUを送信する。
そして、最後に、自制御カード10aの制御ソフトを更新するために、新制御ソフトを制御ソフト格納部21からロードして起動する。
【００４６】
S24. シーケンスS23で起動された制御カード10aの新制御ソフトは、自制御カードに共有データの新アドレス情報を設定した後、通常の運用を開始する。
S25. 一方、主制御モードの制御カード10aから更新終了通知EUを受信した制御カード10bは、自制御カードに保持している旧アドレス情報をクリアする。
S26. シーケンスS25と同様に、主制御モードの制御カード10aから更新終了通知EUを受信した制御カード10cは、自制御カードに保持している旧アドレス情報をクリアする。
【００４７】
S27. シーケンスS25と同様に、主制御モードの制御カード10aから更新終了通知EUを受信した制御カード10dは、自制御カードに保持している旧アドレス情報をクリアする。
上記のシーケンスにより、更新前の制御カードと更新後の制御カードが混在して動作することにより、一時点では一個の制御カードの一時停止のみで、マルチプロセッサ装置の全制御カードの制御ソフトの更新が完了する。
【００４８】
図５は、本発明のマルチプロセッサ装置の制御カードの構成である。
通信処理部11は、マルチプロセッサ装置を構成する他の制御カードと通信して、データの受け渡しを行う。
制御ソフト更新管理部12は、制御ソフトの更新開始コマンドSU、主制御モードの制御カードからの更新起動指示RST、新アドレス情報通知NAD、および、更新終了通知EUを受信した時に起動される。
【００４９】
更新開始コマンドSUを受信したときは、自制御カードを主制御モードに設定し、以後マルチプロセッサ装置を構成する他の全ての制御カードの制御ソフトの更新を順次行い、最後に自制御カードの制御ソフトの更新を行って、全ての制御カードの更新を完了させる。
主制御モードの制御カードからの更新起動指示RSTを受信した場合は、自制御カードの初期設定を行って共有メモリ20の制御ソフト格納部21に格納されている制御ソフトを、自制御カード内の内部メモリにロードした後、制御ソフト13として起動する。
【００５０】
新アドレス情報通知NADを受信したときは、自制御カード内の通知された新アドレス情報を設定する。
更新終了通知EUを受信したときは、自制御カードが保持する従来の制御ソフトが使用していた旧アドレス情報をクリアする。
制御ソフト13は、共有メモリ20の中の制御ソフト格納部21に格納されている制御ソフトがローディングされた後、制御ソフト更新管理部12により起動されるソフトウェアで、マルチプロセッサ装置の主となる機能を実現するものである。
【００５１】
共有データ管理部14は、共有データのアドレス情報をアドレス情報テーブル16に設定して、主制御モードの制御カードと同期をとりながら更新し、旧制御ソフトで動作する制御カードと新制御ソフトで動作する制御カードとが混在しても、マルチプロセッサ装置としての動作が行えるようにする。
共有データアクセス部15は、制御ソフト13から出される共有データ格納部22へのアクセス要求を、アクセス対象の共有データの要素名で受付け、アクセス情報テーブル17を参照して、アクセス要求のあったデータ要素名について、次の処理を行う。
【００５２】
制御ソフト13が、従来使用中の旧版数の場合は、書き込みについては共有データ格納部22の従来面および更新面の双方の要求のあった要素名に対応するアドレスの領域に書き込み、読み込みは従来面の要求のあった要素名に対応するアドレスのデータを読み込む。
一方、制御ソフト13が、更新後の新版数の場合は、書き込みについては共有データ格納部22の従来面および更新面の双方の要求のあった要素名に対応するアドレスの領域に書き込み、読み込みは更新面の要求のあった要素名に対応するアドレスのデータを読み込む。
【００５３】
これにより、従来から使用している旧版数の制御ソフトで動作する制御カードと、更新後の新版数の制御ソフトで動作する制御カードが、同一のマルチプロセッサ装置の中に混在して同時に動作できるようになる。
また、共有データ格納部22へのアクセス処理については、制御ソフト13に組み込まれたロジックではアドレスを意識することなく、アクセスしたいデータの要素名を指定するだけで実現できる。
【００５４】
アドレス情報テーブル16は、旧制御ソフト用および新制御ソフト用の共有データのアドレス情報を、制御ソフト13が共有データ格納部22をアクセスする時に指定する共有データの要素名に対応付けて記憶している。
アクセス情報テーブル17は、アドレス情報テーブル16に保持されているアドレス情報から生成されるもので、共有データ格納部22への制御ソフト13からのアクセスを効率的に行うため、制御ソフト13が使用する共有データの要素名から、旧制御ソフトおよび新制御ソフトに対応する該共有データのアドレスを同時に検索できるように構成されている。共有データ管理部14は、アドレス情報テーブル16よりアクセス情報テーブル17のデータを生成して共有データアクセス部15に引き渡し、共有データアクセス部15は引き渡されたデータをアクセス情報テーブル17に設定して保持する。
【００５５】
図６は、本発明の共有データ格納部22の構成である。
共有データ格納部22は、更新管理情報Aa、共有データ面A1および共有データ面A2により構成される。
更新管理情報Aaは、更新中フラグAa1と運用面情報Aa2から成る。
更新中フラグAa1は、主制御モードの制御カードにより、制御ソフトの更新手順を開始するときに"ON"に設定され、主制御モード以外の全制御カードの制御ソフトの更新が終わり、主制御モードの制御カードの制御ソフトの更新動作を開始するタイミングで"OFF"にリセットされる。
【００５６】
運用面情報Aa2は、現在運用に使用している共有データ面の識別情報で、通常の運用時は、例えば、共有データ面A1が使用されているときは"1"が、共有データ面A2が使用されているときは"2"が設定されるが、マルチプロセッサ装置が制御ソフトの更新手順を実施するときは、制御ソフトの更新手順の開始時に、主制御モードの制御カードにより、現在使用している現用の共有データ面とは異なる共有データ面の識別番号が新しく使用される更新用の共有データ面の識別情報として設定される。
【００５７】
マルチプロセッサ装置が制御ソフトの更新手順を実施中の間については、運用面情報Aa2が指す更新後の制御ソフトが使用する共有データ面を更新面と表現し、もう一つの従来の制御ソフトが使用する共有データ面を従来面と表記する。
共有データ面A1およびA2は、共有データの格納領域で、制御ソフトの更新手順の間は従来の制御ソフトで使用する共有データ面である従来面と、更新後の制御ソフトで使用する共有データ面である更新面の両方に並行してアクセスし、制御ソフトの更新手順が完了したときは、更新面のみを使用して運用を行う。そして、マルチプロセッサ装置の制御ソフト更新手順を開始の都度、更新面となる共有データ面を切替える。
【００５８】
図６では、共有データ面A1を代表にして、その内容を示しており、共有データ面は、予め分類された共有データの固まりであるデータブロックの領域が一個以上集まって構成される。
図７は、本発明による制御カードのアドレス情報テーブルの構成である。
アドレス情報テーブル16は、制御ソフトがアクセスする共有データの各要素に名称を付与し、制御ソフト13がアクセスしたい共有データのアドレスを意識することなく、要素名を指定することにより対応するアドレスのデータ要素にアクセスできるようにするために、共有データの要素名と上記共有データ格納部22の共有データ面内のアドレスとの対応付けを行うテーブルである。
【００５９】
制御ソフトの更新手順を実施中の間は、旧版となる従来の制御ソフトで動作する制御カードと新版となる更新後の制御ソフトで動作する制御カードとが混在して動作するため、従来の制御ソフトで使用する旧アドレス情報と、更新後の制御ソフトで使用する新アドレス情報の二つのアドレス情報から成る。
旧アドレス情報および新アドレス情報とも同じデータ構成で、図７では、代表して、旧アドレス情報の構成を記載している。
【００６０】
アドレス情報は、アクセスする共有データの要素の固まりであるデータブロックが一個以上集まって構成され、図７では、ｍ個のデータB11〜B1mで構成される。  また、各データブロックのアドレス情報は一個以上の要素が集まって構成され、データブロック２のアドレス情報B12を例にとると、データブロック名B12a、要素の数B12b、および、各要素のアドレス情報の列B121、B122〜B12nで構成される。  さらに、データブロックを構成する各要素のアドレス情報は、要素２のアドレス情報B122で示すように、要素名B122aとそれに対応する要素が格納されている領域のアドレスB122bから成る。このアドレスは、例えば、共有データ格納部22の共有データ面の中の相対ワードアドレスとすることができる。
【００６１】
図８は、本発明による制御カードのアクセス情報テーブルの構成である。
アクセス情報テーブル17は、アドレス情報テーブル16から生成されるもので、共有データの要素名に対応する共有データ格納部22内の従来面および更新面の双方の共有データ面の中のアドレスを、同時に検索できるように構成されている。
図８では、データブロック２のアクセス情報C2が、データブロック名C2a、要素の数C2b、および、データブロック２を構成する各要素１〜ｎのアクセス情報C21〜C2nで構成され、各要素のアクセス情報は、例えば、要素２のアクセス情報C22の場合は、要素名C22a、要素名C22aに対応する共有データ格納部22の従来面の中のアドレスを示す旧アドレスC22b、および、要素名C22aに対応する共有データ格納部22の更新面の中のアドレスを示す新アドレスC22cを含んでいる。
【００６２】
制御ソフト13は、アクセスしたい共有データのデータブロック名と要素名を指定して、共有データアクセス部15に依頼することにより、共有データアクセス部15がアクセス情報テーブル17を検索して、共有データ格納部22の従来面および更新面双方の共有データ面の中の、該要素名に対応するアドレスを同時に割り出して、該アドレスが示す領域にアクセスする。これにより、制御ソフト13は共有データのアドレスおよび従来面／更新面の区別を意識することなく、処理ロジックを組み込むことができる。
【００６３】
図９は、本発明による制御カードの制御ソフト更新管理部の動作フローチャートであり、処理ステップ毎に説明する。
S1201. 通信処理部11経由でデータを受信する。
S1202. 受信したデータの種別を判定し、種別に対応して下記の様に処理を振分けて実行する。
【００６４】
(1)更新開始コマンドSUの場合は、ステップS1203へ移行する。
(2)更新起動指示RSTの場合は、ステップS1209へ移行する。
(3)新アドレス情報通知NADの場合は、ステップS1211へ移行する。
(4)更新終了通知EUの場合は、ステップS1212へ移行する。
S1203. 自制御カードの動作モードを主制御モードに設定し、共有データ格納部22の更新管理情報内の更新中フラグをONにし、運用面情報を切替える。
【００６５】
S1204. 自制御カード内に保持している各制御カードの更新状況を参照し、制御ソフトの更新が未の制御カードがあるか否か判定し、あれば(YES)次のステップS1205に進み、無ければ(NO)ステップS1208へ移行する。
S1205. 上記ステップS1204で検出した更新未の制御カードに対して、制御ソフトの更新を行うための更新起動指示RSTを送信し、該制御カードが新制御ソフトに更新されて起動され、新アドレス情報通知NADが返送されてくるのを、待ち合わせる。
【００６６】
S1206. ステップS1205で新アドレス情報通知NADを受信したときは、該新アドレス情報通知NADを送信して来た制御カードの状態を更新完了として記憶する。
S1207.新アドレス情報通知NADを送信してきた制御カードは、制御ソフトが初期起動されたため、現用の旧アドレス情報を未だ保持していないため、共有データ管理部14へ依頼して、自制御カードが保持している旧アドレス情報を通知し設定させる。その後、更新未の制御カードが残っていれば、上記ステップS1205〜S1207と同様の処理を行うために、ステップS1204へ戻る。
【００６７】
S1208. 一方、ステップS1204の判定で、自制御カード以外の更新未の制御カードがマルチプロセッサ装置の中に残っていないときは、共有データ格納部22内の更新中フラグを"OFF"にし、自制御カードの現在の動作モードである主制御モードを解除し、ステップS1209へ移行する。
S1209. ステップS1202で判定した受信データの種別が更新起動指示RSTの場合、または、上記ステップS1208で主制御モードの制御カードが主制御モードを解除したときに、本ステップに移行するもので、自制御カードを再起動するための初期設定を行い、次のステップS1210へ進む。
【００６８】
S1210. 共有メモリ20内の制御ソフト格納部21から、更新された制御ソフトをロードした後、該制御ソフトを起動して、処理を終了する。
S1211.  ステップS1202で判定した受信データの種別が、新アドレス情報通知NADの場合に本ステップに移行するもので、共有データ管理部14に依頼して、新アドレス情報通知NADに含まれる新アドレス情報を、自制御カードが保持するアドレス情報テーブル16およびアクセス情報テーブル17へ設定して処理を終了する。
【００６９】
S1212.  ステップS1202で判定した受信データの種別が、更新終了通知EUの場合に本ステップに移行するもので、自制御カードが保持するアドレス情報テーブル16およびアクセス情報テーブル17内の旧アドレス情報をクリアして、処理を終了する。
図10は、本発明による制御ソフト13の動作フローチャートである。
【００７０】
制御ソフト13は、制御ソフト更新管理部12により、共有メモリ20内の制御ソフト格納部21よりロードされた後、起動されるもので、次の処理ステップで動作する。
S1301. 制御ソフト13が、共有データをアクセスするために必要な、共有データ格納部22の共有データ面に格納される共有データの要素毎に対応したアドレスを、予め定められたロジックで生成する。
【００７１】
S1302. ステップ1301で生成された共有データのアドレス情報を、共有データ管理部14に依頼して、自制御カードが保持するアドレス情報テーブル16およびアクセス情報テーブル17に設定すると同時に、制御ソフト更新の対象となる全制御カードに通知し、さらに、主制御モードの制御カードから通知される旧アドレス情報を自制御カードが保持するアドレス情報テーブル16およびアクセス情報テーブル17に設定して、現用の旧制御ソフトで動作する制御カードと混在して同時動作するために必要な共有データの新旧のアドレス情報の設定を完了する。
【００７２】
S1303. 通常の運用に必要な機能の処理を開始する。
自制御カードは更新後の新制御ソフトで動作しており、共有データについても、新アドレス情報だけでなく、現用の旧制御ソフトで動作する制御カードが使用する共有データの旧アドレス情報も保持しているため、後述する共有データアクセス部15を呼び出して共有データにアクセスすることにより、他の制御カードが現用の旧制御ソフトで動作していても、互いに影響を及ぼすことなく、正常に処理を続行することができる。
【００７３】
また、共有データのアクセスの際は、共有データを構成する個々の要素に要素名を付与し、該要素名と実際に共有データ格納部22の共有データ面のアドレス  との対応付けを、従来面と更新面の双方について、アクセス情報テーブル17に基いて管理しているため、制御ソフトは、共有データ面内のアドレス、および、従来面／更新面の区別を意識することなく、共有データの要素名を用いて、容易に共有データにアクセスすることができる。
【００７４】
図11は、本発明による共有データ管理部の動作フローチャートである。共有データ管理部14は、制御ソフト管理部12および制御ソフト13から呼び出されて、共有データのアドレス情報の設定を行うもので、設定対象となるアドレス情報の種別、設定対象となる制御カードの範囲の識別情報およびアドレス情報がパラメータとして引き渡される。具体的には、設定対象となるアドレス情報が現用の旧アドレス情報か更新後の新アドレス情報かの識別情報と、および、設定対象となる制御カードが自制御カードのみ、全制御カード、特定の制御カードのいずれかを識別する識別情報とがパラメータとして引き渡される。処理ステップ毎の動作は次の通り。
【００７５】
S1401.  引き渡されたパラメータより、設定対象のアドレス情報は新アドレス情報か否か判定し、新アドレス情報ならば(YES)、次のステップS1402へ移行し、旧アドレス情報ならば(NO)、ステップS1410へ移行する。
S1402. アドレス情報テーブル16に引き渡された新アドレス情報を設定する。
S1403. 設定されたアドレス情報テーブル16内のアドレス情報を、アクセス情報テーブル17の形式に変換し、共有データアクセス部15に依頼して、アクセス情報テーブル17に新アドレス情報を設定する。
【００７６】
S1404. 設定対象は自制御カードか全制御カードかを判定し、全制御カードが対象のときは(YES)、次のステップS1405に進み、自制御カードが対象のときは(NO)、ステップS1408へ移行する。
S1405. 共有データ格納部22内の更新中フラグが"ON"か否かを判定し、"ON"ならば(YES)、マルチプロセッサ装置が制御ソフトの更新手順を実施中のため、次のステップS1406に進んで制御ソフトの更新に必要な処理を行い、そうでなく更新中フラグが"OFF"のときは(NO)、通常の運用状態における再起動により共有データ管理部14が呼び出されたとみなして、そのまま処理を終了する。
【００７７】
S1406. 自制御カードが保持する新しい共有データのアドレス情報を通知するために、新アドレス情報通知NADを他の全制御カードへ送信する。そして、主制御モードの制御カードから、現用の旧アドレス情報を通知するための、旧アドレス情報通知OADが返送されてくるのを、待ち合わせる。
S1407. ステップS1406で、主制御モードの制御カードから旧アドレス情報通知OADを受信したら、該旧アドレス情報通知OADに含まれている旧アドレス情報を、自制御カードのアドレス情報テーブル16に設定し、さらに、共有データアクセス部15に依頼してアクセス情報テーブル17に設定後、処理を終了する。
【００７８】
S1408. ステップS1404の判定で自制御カードが設定対象のときに本ステップに移行するもので、自制御カードで保持しているアドレス情報テーブル16に、既に新アドレス情報が設定済みか否か、設定未のときは(YES)、次のステップS1409へ進み、設定済みのときは(NO）、処理を終了する。
S1409.  新アドレス情報を、アドレス情報テーブル16に設定し、さらに、共有データアクセス部15に依頼してアクセス情報テーブル17に設定して、処理を終了する。
【００７９】
S1410. ステップS1401のアドレス情報の種別の判定結果が、旧アドレス情報のときに本ステップに移行するもので、設定対象が自制御カードか否かを判定し、自制御カードが対象のときは(YES)、次のステップS1411に進み、そうでなく他の特定の制御カードが対象のときは(NO)、ステップS1416へ移行する。
S1411. 設定内容が、旧アドレス情報のクリアか否かを判定し、クリアのときは(YES)、次のステップS1412へ進み、そうでないときは(NO)、ステップS1414へ移行する。
【００８０】
S1412. アドレス情報テーブル16内の旧アドレス情報をクリアする。
S1413. 共有データアクセス部15に依頼して、アクセス情報テーブル17の旧アドレス情報をクリアして、処理を終了する。
S1414.  ステップS1411の判定で設定種別が旧アドレス情報のクリアではなく、設定のときに本ステップに移行するもので、マップ情報テーブル16にパラメータとして引き渡された旧アドレス情報を設定する。
【００８１】
S1415. 共有データアクセス部15に依頼して、上記ステップS1414で旧アドレス情報を設定したアドレス情報テーブル16を基に、アクセス情報テーブル17に旧アドレス情報設定し、処理を終了する。
S1416. ステップS1410の判定で、他制御カードに対する旧アドレス情報の設定の場合に、本ステップに移行してくるもので、旧アドレス情報通知OADを、パラメータで指定された制御カードへ送信し、処理を終了する。
【００８２】
図12は、本発明による共有データアクセス部15の動作フローチャートである。
共有データアクセス部15は、制御ソフト更新管理部12、共有データ管理部14および制御ソフト13から呼び出され、引き渡されたパラメータに応じて、アクセス情報テーブル17へのアドレス情報の設定および共有データ格納部22へのアクセスを行うもので、次のステップで処理を行う。
【００８３】
S1501. 要求を受け付ける。
S1502. パラメータとして引き渡された要求種別を判別し、処理を次のように振り分ける。
要求種別が、共有データ格納部22の共有データ面へのアクセス要求の場合は、ステップS1503に移行する。
【００８４】
要求種別が、共有データ格納部22の共有データ面コピーの場合は、ステップS1511へ移行する。
要求種別が、共有データ格納部22の更新管理情報へのアクセス要求のときは、ステップS1512へ移行する。
要求種別が、アドレス情報の設定要求のときは、ステップS1513へ移行する。
【００８５】
S1503. 共有データ格納部22内の更新中フラグを参照してマルチプロセッサ装置が制御ソフトの更新手順を実施中か否か判定し、更新中フラグが"ON"で更新中の場合は(YES)、次のステップS1504へ進み、更新中でないときは(NO)、ステップS1508へ移行する。
S1504. 自制御カードの制御ソフトが更新未か否か判定し、更新未の場合は(YES)、次のステップS1505に進み、更新済みの場合は(NO)、ステップS1508へ移行する。
【００８６】
S1505. 要求が共有データの読み込み要求か否かを判定し、読み込み要求の場合は(YES)、次のステップS1506へ進み、読み込み要求でない場合は(NO)、ステップS1507へ移行して書き込みの処理を行う。
S1506. 共有データ格納部22内の従来面、つまり、運用面情報が示す共有データ面と異なるもう一つの共有データ面から、パラメータで引き渡された共有データの要素名に対応するアドレスのデータを読み込み、呼び出し元に通知して、処理を終了する。
【００８７】
S1507. ステップS1505の判定で書き込みの場合に、本ステップに移行してくるもので、 共有データ格納部22内の更新面および従来面の双方に対して、パラメータで引き渡された共有データの要素名に対応するアドレスのデータを書き込み、処理を終了する。
S1508. ステップS1503の判定でマルチプロセッサ装置が制御ソフトの更新手順を実施中でない場合、またはステップS1504の判定で自制御カードの制御ソフトが未更新の場合、つまり、自制御カードは現用の状態のときに、本ステップへ移行してくるもので、要求が共有データの読み込み要求か否かを判定し、読み込み要求の場合は(YES)、次のステップS1509へ進み、読み込み要求でない場合は(NO)、ステップS1510へ移行する。
【００８８】
S1509.  共有データ格納部22内の更新面、つまり、更新管理情報内の運用面情報が指す共有データ面を参照して、パラメータで引き渡された共有データの要素名に対応するアドレスのデータを読み込み、呼び出し元に通知して、処理を終了する。
S1510.  ステップS1508の判定で読み込みでなく書き込みの場合に、本ステップに移行してくるもので、共有データ格納部22の従来面および更新面の双方について、パラメータで引き渡された共有データの要素名に対応するアドレスに対して、パラメータで引き渡されたデータを書き込み、処理を終了する。
【００８９】
S1511.  ステップS1502で判定した要求種別が共有データ面コピーの場合に、本ステップに移行してくるもので、旧制御ソフトおよび新制御ソフトの双方で使用している共有データの引継ぎを行うために、共有データ格納部22の従来面のデータを、更新面の対応するアドレスにコピーして、処理を終了する。
S1512.  ステップS1502で判定した要求種別が更新管理情報へのアクセスの場合に、本ステップに移行してくるもので、共有データ格納部22内の更新管理情報に対して、パラメータで引き渡された要求に従って読み込み、または、書き込みの処理を行い、処理を終了する。
【００９０】
S1513. ステップS1502で判定した要求種別がアドレス情報設定の場合に、本ステップに移行してくるもので、パラメータで引き渡されたアドレス情報を、アクセス情報テーブル17に設定して、処理を終了する。
以上の本発明の詳細説明においては、説明の便宜上制御カードの枚数を４枚としたが、制御カードの枚数に制限は必要でない。
【００９１】
図５の本発明のマルチプロセッサ装置の制御カードの構成において、制御カードの内部メモリへロードされるのは、制御ソフト13であるとして説明したが、図５に記載された他のソフトウェアである通信処理部11、制御ソフト更新管理部12、共有データ管理部14、共有データアクセス部15を含めた制御カードで動作するソフトウェア全体を、共有メモリ内20に格納しておき、制御カードの起動時に内部メモリにロードするように構成することもできる。
【００９２】
また、図５に示した制御カードで動作するソフトウェアの構成は、この構成に限定されるものではなく、様々なバリエーションが考えられるが、本発明は同様に適用できる。共有データ格納部22、アドレス情報テーブル16、アクセス情報テーブル17についても、上述した内容に限定されるものではなく、様々なバリエーションが考えられるが、本発明は同様に適用できる。
【００９３】
【発明の効果】
本発明は、マルチプロセッサ装置において、共有データを格納する共有メモリに、制御部で動作する従来の制御ソフトが用いる共有データの領域である従来面と更新後の制御ソフトが用いる領域である更新面の二つの領域を設け、各制御部は、従来および更新後双方の制御ソフトが用いる共有データのアドレス情報を保持し、従来および更新後の制御ソフトが混在しても、互いに影響を受けることなく正常に動作するように構成した。
【００９４】
これにより、マルチプロセッサ装置の制御ソフトの更新を、制御部となる制御カード毎に順次実施して起動しておくことが可能となり、同時に全制御カードを停止することなく、一時点では一個の制御カードのみの一時停止で、マルチプロセッサ装置全体の制御カードのソフトウェアの更新が可能となる。
また、本発明では、共有データの各要素に要素名を付与し、各制御部は、該要素名と共有データ格納部内の従来面および更新面にアクセスする際に用いる実際のアドレスとの対応付けを行うアドレス情報を保持し、制御ソフトは該要素名を用いて共有データにアクセスするようにした。
【００９５】
これにより、共有データが実際に格納される共有メモリ内のアドレスおよび共有データの従来面／更新面の区別を意識することなく、制御ソフトで要素名を指定するのみで容易に共有データにアクセスできるようになり、効率的な制御ソフトの開発が可能となる。
【図面の簡単な説明】
【図１】本発明のマルチプロセッサ装置による共有データアクセス方式
【図２】本発明の共有データアクセス方式による転送シーケンス(1/3)
【図３】本発明の共有データアクセス方式による転送シーケンス(2/3)
【図４】本発明の共有データアクセス方式による転送シーケンス(3/3)
【図５】本発明のマルチプロセッサ装置の制御カードの構成
【図６】本発明による制御カードの共有データ格納部の構成
【図７】本発明による制御カードのアドレス情報テーブルの構成
【図８】本発明による制御カードのアクセス情報テーブルの構成
【図９】本発明による制御カードの制御ソフト更新管理部の動作フローチャート
【図１０】本発明による制御カードの制御ソフトの動作フローチャート
【図１１】本発明による制御カードの共有データ管理部の動作フローチャート
【図１２】本発明による制御カードの共有データアクセス部の動作フローチャート
【図１３】従来技術のマルチプロセッサ装置によるソフトウェアの更新方法
【符号の説明】
10,10a,10b,10c,10d  制御カード
11  通信処理部
12  制御ソフト更新管理部
13  制御ソフト
14  共有データ管理部
15  共有データアクセス部
16  アドレス情報テーブル
17  アクセス情報テーブル
20  共有メモリ
21 制御ソフト格納部
22 共有データ格納部
SU 更新開始コマンド
NAD 新アドレス情報通知
OAD 旧アドレス情報通知
RST 更新起動指示
EU 更新終了通知
A1,A2 共有データ面
Aa1 更新中フラグ
Aa2 運用面情報
A11〜A1p データブロックの領域
B1 旧アドレス情報
B2 新アドレス情報
B11〜B1m データブロックのアドレス情報
B12a データブロック名
B12b 要素の数
B121〜B12n 要素のアドレス情報
B122a 要素名
B122b アドレス
C1〜Cm データブロックのアクセス情報
C2a データブロック名
C2b 要素の数
C21〜C2n 要素のアクセス情報
C22a 要素名
C22b 旧アドレス
C22c 新アドレス
【図１】
2004206453.tif 000003
【図２】
2004206453.tif 000004
【図３】
2004206453.tif 000005
【図４】
2004206453.tif 000006
【図５】
2004206453.tif 000007
【図６】
2004206453.tif 000008
【図７】
2004206453.tif 000009
【図８】
2004206453.tif 000010
【図９】
2004206453.tif 000011
【図１０】
2004206453.tif 000012
【図１１】
2004206453.tif 000013
【図１２】
2004206453.tif 000014
【図１３】
2004206453.tif 000015