(57)【要約】【課題】処理を高速化することができる診断システム、診断方法、診断装置及び診断プログラムを提供することを提供すること。【解決手段】本実施の形態にかかる診断システムは、複数の被診断装置３００〜３０ｍと、複数の被診断装置３００〜３０ｍのうち、診断対象となる被診断装置を指定するための情報が設定される装置指定レジスタ１１２と、装置指定レジスタ１１２の情報が設定される場合に、設定される情報が写される装置指定レジスタ写し１０２と、装置指定レジスタ１１２に前報を設定して被診断装置への診断処理を行う診断装置１００を備えている。診断装置１００は、装置指定レジスタ写し１０２を参照して装置指定レジスタ１１２への設定を行うか否かを判定する第１の処理と、診断処理毎に装置指定レジスタ１１２への設定を行う第２の処理と、を切換える。【選択図】図１
2010186209.tif 000002
【特許請求の範囲】
【請求項１】
複数の被診断装置と、
前記複数の被診断装置のうち、診断対象となる前記被診断装置を指定するための情報が設定される装置指定部と、
前記装置指定部の情報が設定される場合に、前記設定される情報が写される装置指定写しと、
前記装置指定部に前記情報を設定して前記被診断装置への診断処理を行う診断装置であって、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定する第１の処理と、前記診断処理毎に前記装置指定部への設定を行う第２の処理と、を切換える診断装置と、を備える診断システム。
【請求項２】
前記第１の処理では、前記装置指定部への設定を行うか否かを判定するために、前記装置指定部に対して設定される情報と前記装置指定写しとを比較し、
前記装置指定部に設定される情報と前記装置指定写しの情報とが異なる場合は、前記装置指定部への設定を行い、
前記装置指定部に設定される情報と前記装置指定写しの情報が一致する場合は、前記装置指定部への設定を省略することを特徴とする請求項１に記載の診断システム。
【請求項３】
１以上の前記被診断装置に対する前記診断処理を含むシステム処理を記憶するテーブルをさらに備え、
前記テーブルには、前記システム処理に対して、前記第１の処理と前記第２の処理のいずれを行うかが設定されている請求項１、又は２に記載の診断システム。
【請求項４】
前記テーブルの設定を、前記システム処理の処理結果に応じて変更することを特徴とする請求項３に記載の診断システム。
【請求項５】
前記システム処理に含まれる診断処理毎に、前記装置指定部に設定される情報と前記装置指定写しの情報とが一致するか否かを判定し、
前記システム処理における、前記装置指定部に設定される情報と前記装置指定写しの情報とが一致した回数及び一致しなかった回数を算出し、
前記一致した回数、及び前記一致しなかった回数に応じて、前記テーブルの設定を変更する請求項４に記載の診断システム。
【請求項６】
複数の被診断装置の中から診断対象となる被診断装置を指定するための情報を装置指定部に設定して、診断処理を行う診断方法であって、
前記被診断装置に対して診断処理を行うための第１の処理及び第２の処理の一方を選択するステップと、
前記装置指定部の情報が設定される場合に、装置指定写しに前記設定される情報を写すステップと、
前記第１の処理が選択された場合、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定するステップと、
前記第２の処理が選択された場合、前記診断処理毎に前記装置指定部への設定を行うステップと、を備える診断方法。
【請求項７】
前記第１の処理では、前記装置指定部への設定を行うか否かを判定するために、前記装置指定部に対して設定される情報と前記装置指定写しとを比較し、
前記装置指定部に設定される情報と前記装置指定写しの情報とが異なる場合は、前記装置指定部への設定を行い、
前記装置指定部に設定される情報と前記装置指定写しの情報が一致する場合は、前記装置指定部への設定を省略することを特徴とする請求項６に記載の診断方法。
【請求項８】
１以上の前記被診断装置に対する前記診断処理を含むシステム処理を行うために、テーブルを参照し、
前記テーブルには、前記システム処理に対して、前記第１の処理と前記第２の処理のいずれを行うかが設定されている請求項６、又は７に記載の診断方法。
【請求項９】
前記テーブルの設定を、前記システム処理の処理結果に応じて変更することを特徴とする請求項８に記載の診断方法。
【請求項１０】
前記システム処理に含まれる診断処理毎に、前記装置指定部に設定される情報と前記装置指定写しの情報とが一致するか否かを判定し、
前記システム処理における、前記装置指定部に設定される情報と前記装置指定写しの情報とが一致した回数及び一致しなかった回数を算出し、
前記一致した回数、及び前記一致しなかった回数に応じて、前記テーブルの設定を変更する請求項９に記載の診断方法。
【請求項１１】
複数の被診断装置の中から診断対象となる被診断装置を指定して、診断処理を行う診断装置であって、
装置指定部に対して、前記被診断装置を指定するための情報を設定する設定処理部と、
前記設定指定部に設定される情報が写される装置指定写しと、備え、
前記設定処理部では、
前記被診断装置に対して診断処理を行うための第１の処理及び第２の処理の一方を選択し、
前記第１の処理が選択された場合、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定し、
前記第２の処理が選択された場合、前記診断処理毎に前記装置指定部への設定を行う診断装置。
【請求項１２】
前記第１の処理では、前記装置指定部への設定を行うか否かを判定するために、前記装置指定部に対して設定される情報と前記装置指定写しとを比較し、
前記装置指定部に設定される情報と前記装置指定写しの情報とが異なる場合は、前記装置指定部への設定を実行し、
前記装置指定部に設定される情報と前記装置指定写しの情報が一致する場合は、前記装置指定部への設定を省略することを特徴とする請求項１１に記載の診断装置。
【請求項１３】
１以上の前記被診断装置に対する前記診断処理を含むシステム処理を行うために、テーブルを参照し、
前記テーブルには、前記システム処理に対して、前記第１の処理と前記第２の処理のいずれを行うかが設定されている請求項１１、又は１２に記載の診断装置。
【請求項１４】
前記テーブルの設定を、前記システム処理の処理結果に応じて変更することを特徴とする請求項１３に記載の診断装置。
【請求項１５】
前記システム処理に含まれる診断処理毎に、前記装置指定部に設定される情報と前記装置指定写しの情報とが一致するか否かを判定し、
前記システム処理における、前記装置指定部に設定される情報と前記装置指定写しの情報とが一致した回数及び一致しなかった回数を算出し、
前記一致した回数、及び前記一致しなかった回数に応じて、前記テーブルの設定を変更する請求項１４に記載の診断装置。
【請求項１６】
複数の被診断装置の中から診断対象となる被診断装置を指定して、診断処理を行うための診断プログラムであって、
コンピュータに対して、
前記被診断装置に対して診断処理を行うための第１の処理及び第２の処理の一方を選択させるステップと、
前記装置指定部の情報が設定される場合に、装置指定写しに前記設定される情報を写させるステップと、
前記第１の処理が選択された場合、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定させるステップと、
前記第２の処理が選択された場合、前記診断処理毎に前記装置指定部への設定させるステップと、を備える診断プログラム。
【請求項１７】
前記第１の処理では、前記装置指定部への設定を行うか否かを判定するために、前記装置指定部に対して設定される情報と前記装置指定写しとを比較させ、
前記装置指定部に設定される情報と前記装置指定写しの情報とが異なる場合は、前記装置指定部への設定を実行させ、
前記装置指定部に設定される情報と前記装置指定写しの情報が一致する場合は、前記装置指定部への設定を省略させることを特徴とする請求項１６に記載の診断プログラム。
【請求項１８】
１以上の前記被診断装置に対する前記診断処理を含むシステム処理を行うために、テーブルを参照させるステップをさらに備え、
前記テーブルには、前記システム処理に対して、前記第１の処理と前記第２の処理のいずれを行うかが設定されている請求項１５、又は１６に記載の診断プログラム。
【請求項１９】
前記テーブルの設定を、前記システム処理の処理結果に応じて変更させることを特徴とする請求項１８に記載の診断プログラム。
【請求項２０】
前記システム処理に含まれる診断処理毎に、前記装置指定部に設定される情報と前記装置指定写しの情報とが一致するか否かを判定させ、
前記システム処理における、前記装置指定部に設定される情報と前記装置指定写しの情報との一致した回数及び一致しなかった回数を算出させ、
前記一致した回数、及び一致しなかった回数に応じて、前記テーブルの設定を変更させる請求項１９に記載の診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は診断システム、診断方法、診断装置及び診断プログラムに関し、特に詳しくは、複数の被診断装置の中から診断対象となる被診断装置を指定して、診断を行う診断装置、及び診断方法に関する。
【背景技術】
【０００２】
多数の被診断装置が存在するシステムでの診断処理を行う診断装置が開示されている（特許文献１）。診断装置による被診断装置への診断処理は、まず、診断する被診断装置を指定する為の番号を設定する。その後、診断装置が、指定された被診断装置に対する診断処理を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２００３４４号公報
【特許文献２】特開平６−１３１５６３号公報
【特許文献３】特開２００４−２２７３９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
また、特許文献２では、複数の専門店がＰＯＳターミナルを共用するための技術が開示されている。この文献では、Ｗ−店舗コードとＷ−コードとを比較して、それらが一致した場合、数量や金額の更新処理を行っている。さらに、特許文献３では、Ｉ／Ｏ情報を抽出して、ユーザにより選択されたＩ／Ｏ情報を用いて、テストパスを設定している。そして、多種多様なプログラムテストを実行している。
【０００５】
ところで、複数の被診断装置の中から、１つの被診断装置を指定して診断処理を行う場合、装置を指定するための装置指定レジスタが用いられることがある。この装置指定レジスタは、通常、診断処理を行う毎に、設定が行われる。すなわち、装置指定レジスタには、診断対象となる被診断装置を示す値が診断処理毎に書き込まれることになる。従って、例えば、同じ被診断装置に対する診断処理が連続して行われる場合でも、各処理毎に装置指定レジスタへの設定が行われることになる。よって、この設定時間が無駄になってしまい、処理を高速化することが困難であるという問題点がある。
【０００６】
本発明の目的は、このような問題点を解決するためになされたものであり、処理を高速化することができる診断システム、診断方法、診断装置及び診断プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかる診断システムは、複数の被診断装置と、前記複数の被診断装置のうち、診断対象となる前記被診断装置を指定するための情報が設定される装置指定部と、前記装置指定部の情報が設定される場合に、前記設定される情報が写される装置指定写しと、前記装置指定部に前記情報を設定して前記被診断装置への診断処理を行う診断装置であって、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定する第１の処理と、前記診断処理毎に前記装置指定部への設定を行う第２の処理と、を切換える診断装置と、を備えるものである。
【０００８】
本発明の第２の態様にかかる診断方法は、複数の被診断装置の中から診断対象となる被診断装置を指定するための情報を装置指定部に設定して、診断処理を行う診断方法であって、前記被診断装置に対して診断処理を行うための第１の処理及び第２の処理の一方を選択するステップと、前記装置指定部の情報が設定される場合に、装置指定写しに前記設定される情報を写すステップと、前記第１の処理が選択された場合、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定するステップと、前記第２の処理が選択された場合、前記診断処理毎に前記装置指定部への設定を行うステップと、を備えるものである。
【０００９】
本発明の第３の態様にかかる診断装置は、複数の被診断装置の中から診断対象となる被診断装置を指定して、診断処理を行う診断装置であって、装置指定部に対して、前記被診断装置を指定するための情報を設定する設定処理部と、前記設定指定部に設定される情報が写される装置指定写しと、備え、前記設定処理部では、前記被診断装置に対して診断処理を行うための第１の処理及び第２の処理の一方を選択し、前記第１の処理が選択された場合、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定し、前記第２の処理が選択された場合、前記診断処理毎に前記装置指定部への設定を行うものである。
【００１０】
本発明の第４の態様にかかる診断プログラムは、複数の被診断装置の中から診断対象となる被診断装置を指定して、診断処理を行うためのプログラムであって、コンピュータに対して、前記被診断装置に対して診断処理を行うための第１の処理及び第２の処理の一方を選択させるステップと、前記装置指定部の情報が設定される場合に、装置指定写しに前記設定される情報を写させるステップと、前記第１の処理が選択された場合、前記装置指定写しを参照して前記装置指定部への設定を行うか否かを判定させるステップと、前記第２の処理が選択された場合、前記診断処理毎に前記装置指定部への設定させるステップと、を備えるものである。
【発明の効果】
【００１１】
本発明により、処理を高速化することができる診断システム、診断方法、及び診断装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態にかかる診断システムの構成を示すブロック図である。
【図２】実施の形態にかかる診断システムを示すフローチャートである。
【図３】実施の形態にかかる診断システムを示すフローチャートである。
【図４】実施の形態にかかる診断システムを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００１４】
本実施の形態にかかる診断システムについて、図１を用いて説明する。図１は本発明の実施の形態にかかる診断システムの構成を示すブロック図である。診断システムには、診断処理を行う診断装置１００と、診断処理が行われる被診断装置３００〜３０ｍが設けられている。診断装置１００は、複数の被診断装置３００〜３０ｍに対して診断処理を行う。各被診断装置３００〜３０ｍは情報処理装置である。
【００１５】
さらに、診断システムには、装置指定手段１１０が設けられている。装置指定手段１１０は、診断対象となる被診断装置３００〜３０ｍを指定する装置指定レジスタ１１２を有している。この装置指定レジスタ１１２の値に応じて、診断対象となる被診断装置３００〜３０ｍが切換えられる。このため、装置指定レジスタ１１２の値は、診断される被診断装置３００〜３０ｍに応じて、異なる値になる。換言すると被診断装置を識別する番号が、装置指定レジスタ１１２に記憶される。もちろん、レジスタ以外の記憶手段によって装置指定レジスタ１１２を構成してもよい。例えば、被診断装置３０ｍが診断対象となる場合、診断装置１００が装置指定レジスタ１１２に被診断装置３０ｍを示す値を書き込む。これにより、診断対象が指定される。その後、診断装置１００が装置指定レジスタ１１２に書き込まれた値を参照して、被診断装置３０ｍに対する診断処理を行う。
【００１６】
診断装置１００と装置指定レジスタ１１２は、診断パス２００を介して接続されている。また、被診断装置３００〜３０ｍと装置指定レジスタ１１２は、診断パスを介して接続されている。従って、診断装置１００は、診断パス２００を介して、被診断装置３００〜３０ｍを診断する。
【００１７】
診断装置１００は、各種処理を行うためのファームウエア１０１が設けられている。ファームウエア１０１は、装置指定レジスタ写し１０２と診断処理指示テーブル１０３が設けられている。装置指定レジスタ写し１０２は、装置指定レジスタ１１２の写しである。従って、装置指定レジスタ１１２に記憶されている情報が、装置指定レジスタ写し１０２に写されている。また、装置指定レジスタ１１２が更新される毎に、装置指定レジスタ写し１０２も更新される。ファームウエア１０１は、装置指定レジスタ１１２に対して、診断対象となる被診断装置を指定するための設定を行う。すなわち、ファームウエア１０１は、装置指定レジスタ１１２への設定処理を行う設定処理部となる。
【００１８】
診断処理指示テーブル１０３は、処理毎に効率のよい診断処理を指示する。診断処理指示テーブル１０３は、診断装置１００のローカルメモリ上に設けられている。従って、診断処理指示テーブル１０３には、処理Ａ〜処理ｎ毎に、診断処理指示情報Ａ〜診断処理指示情報ｎが格納されている。すなわち、診断処理指示テーブル１０３には、処理Ａに対応する診断処理指示情報Ａから、処理ｎに対応する診断処理指示情報ｎが格納されている。ファームウエア１０１は、装置指定レジスタ写し１０２や診断処理指示テーブル１０３を適宜参照して、処理を行う。診断処理システムは、上記のような構成を有している。
【００１９】
ファームウエア１０１による被診断装置３００〜３０ｍへの診断処理は、大きくわけて二段階の処理によって構成されている。一つ目の処理は、診断対象となる被診断装置を指定する装置指定レジスタ１１２への設定処理である。二つ目の処理は、被診断装置側に対する診断処理である。さらに、診断処理は、写し参照診断処理と写し参照なし診断処理（写し非参照処理）の２つの方式に分けられる。図２を参照して、２つの診断方式である、写し参照診断処理と写し参照なし診断処理との概要を説明する。図２では、左側に写し参照診断処理が示され、右側に写し参照なし診断処理が示されている。
【００２０】
写し参照診断処理（図２の左側）では、まず、診断対象を指定する装置指定レジスタ１１２へ設定する値と装置指定レジスタ写し１０２を比較し、一致するか否かを判定する（ステップＳ１０１）。すなわち、装置指定レジスタ１１２への設定を行う前に、装置指定レジスタ１１２に書き込む値が、装置指定レジスタ写し１０２に格納されている値と比較される。これらの値が一致している場合、前回の診断対象と同じ被診断装置を診断することになる。換言すると、今回診断対象になる被診断装置と、前回診断対象となった被診断装置とが一致しているか否かを判定する。このように、同じ被診断装置への診断処理が続いているか否かが判定される。これらの値が一致している場合、前回診断された被診断装置が続けて診断されることになる。図２に示すように、これらの値が一致しているなら（ステップＳ１０１の一致）、装置指定レジスタ１１２への設定を行わず、被診断装置への診断処理を行う（ステップＳ１０４）。
【００２１】
これらの値が一致していないなら（ステップＳ１０１の不一致）、装置指定レジスタ写し１０２を更新する（ステップＳ１０２）。装置指定レジスタ写し１０２を更新した後、装置指定レジスタ１１２への設定を行う（ステップＳ１０３）。その後、被診断装置への診断処理を行う（ステップＳ１０４）。写し参照診断処理は、このようにして行われる診断方式である。具体的には、まず、装置指定レジスタ写し１０２を参照して、装置指定レジスタ写し１０２の値と、装置指定レジスタ１１２の値と比較する。そして、装置指定レジスタ写し１０２と装置指定レジスタ１１２の比較結果に応じて、装置指定レジスタ１１２を更新するか否かを決定する。その後に、被診断装置を診断する。従って、装置指定レジスタ写し１０２と装置指定レジスタ１１２が一致した場合、写しの更新（ステップＳ１０２）と装置指定レジスタ１１２への設定（ステップＳ１０３）が省略される。このように、装置指定レジスタ写し１０２と装置指定レジスタ１１２の比較結果に応じて、フローを変更する。すなわち、装置指定レジスタ１１２への設定を行う前に、装置指定レジスタ１１２への設定を行うか否かを判定するため、装置指定レジスタ１１２に対して設定される値と、装置指定レジスタ写し１０２とを比較する。
【００２２】
写し参照なし診断処理（図２の右側）では、装置指定レジスタ１１２へ設定する値と装置指定レジスタ写し１０２の比較をせずに、装置指定レジスタ写し１０２の更新及び装置指定レジスタ１１２への設定を行う。すなわち、写し参照なし診断処理は、写し参照診断処理において、ステップＳ１０１が省略されたフローとなる。写し参照なし診断処理における、写しを更新するステップＳ１１２は、写し参照診断処理におけるステップＳ１０２と同じになる。同様に、装置指定レジスタへの設定を行うステップＳ１１２は、ステップＳ１０３と同じになり、被診断装置を診断するステップＳ１１３は、ステップＳ１０４と同じになる。写し参照なし診断処理では、必ず、装置指定レジスタ写し１０２の更新（ステップＳ１１１）と、装置指定レジスタ１１２への設定（ステップＳ１１２）が実行されることになる。このように、写し参照なし診断処理では、同じ被診断装置への診断処理であるか否かにかかわらず、装置指定レジスタ１１２への設定が実行される。写し参照なし診断処理は、このようにして、被診断装置への診断処理を行う診断方式である。
【００２３】
装置指定レジスタ写し１０２を参照して、比較する処理（ステップＳ１０１）は、装置指定レジスタ１１２を設定する処理（ステップＳ１０３）に比べ処理時間は短い。この為、同一の被診断装置への診断処理が続く処理の場合は、写し参照診断処理を用いる。これにより、装置指定レジスタ１１２への設定処理を省略することができる。装置指定レジスタ１１２を設定する処理は、装置指定レジスタ写し１０２を参照して、比較する処理よりも、はるかに処理時間が長くなる。従って、装置指定レジスタ１１２への設定処理を省略することで、診断処理の効率化を図ることができる。一方、別の被診断装置に対する診断処理が続く場合は、写し参照なし診断処理を用いた方が、診断処理の効率化が図れる。すなわち、写しを参照して、比較する処理（ステップＳ１０１）を行わない分、処理時間が短くなる。このように、２つの診断方式を使い分けることで、診断処理の効率化を図ることができる。
【００２４】
次に、図１に示す診断処理指示テーブル１０３について説明する。同一の被診断装置への診断が続く処理が多いか、それとも別の被診断装置への診断が多いかは、初期化処理や障害処理など処理毎に異なる。そこで、診断処理指示テーブル１０３によって、各種処理毎に、写し参照診断処理または写し参照なし診断処理のどちらが最適な診断方式かを指示する。このとき、診断処理指示テーブル１０３には、最適な診断方式を指示するための診断処理情報が設けられている。診断処理指示情報を備えた診断処理指示テーブル１０３を設けることで、どちらの診断方式が用いられるかを処理毎に指定することができる。すなわち、診断処理指示テーブル１０３には、写し参照診断処理または写し参照なし診断処理のどちらの診断方式を採用するかを決定するための情報がテーブルとして記憶されている。
【００２５】
具体的には、処理Ａ〜処理ｎには、初期化処理や障害処理などの、システムに対する各種処理（以下、システム処理と称することもある）がそれぞれ設定されている。これらのシステム処理では、１つ又は２以上の被診断装置に対する診断処理が含まれている。すなわち、システム処理は１つ又は２以上の診断処理を含んでいる。そして、診断処理を行う被診断装置や診断する順番が格納されている。さらに、写し参照診断処理又は写し参照なし診断処理のいずれを採用するかが設定されている。これらの情報は、処理毎に診断処理指示情報として設定されている。
【００２６】
ファームウエア１０１の制御によって、被診断装置３００〜３０ｍへの処理を行う際に診断処理指示テーブル１０３内の診断処理指示情報を参照する。これにより、診断を行う被診断装置やその順番が特定される。さらに、診断処理指示情報の指示によって、写し参照診断処理、または写し参照なし診断処理のいずれか効率のよい診断処理を用いる。こうすることで、処理全体の効率化が図れる。
【００２７】
次に、図３、及び図４を用いて、診断方法のフローについて説明する。図３は、被診断装置３００〜３０ｍへの初期化処理や障害処理などの処理を行う際に、常に２つの診断方式から各処理に最適な診断処理を選択可能となる処理の動作を示している。図４は、図３の中で用いられる２つの診断関数の動作を詳細に示している
【００２８】
本実施形態では、処理を行いながら診断処理指示テーブル１０３を更新し、常に処理毎に最適な診断処理を選択することができる。このようにすることで処理全体の効率化を図ることができる。以下にこの動作について説明する。まず、概略動作を説明する。診断処理指示テーブル１０３を更新するため、診断処理において、装置指定レジスタ写し１０２と一致した割合をヒット率として求める。各処理毎に、このヒット率から最適な診断処理を求め、診断処理毎に設けた診断処理指示テーブル１０３に格納する。すなわち、システム処理毎に、写し参照診断処理と、写し参照なし診断処理のいずれを採用するかを設定する。
【００２９】
次に、各処理の初めに、診断処理指示テーブル１０３の情報を参照して効率のよい診断処理を選択する。そして、選択された診断処理を実行する。すなわち、システム処理を実行する時に、写し参照診断処理、または写し参照なし診断処理を選択して、システム処理に含まれている各診断処理を順番に実行する。そして、診断処理の最後でヒット率を算出する。そのヒット率と、予め求めていた閾値とを比較する。この比較結果に基づいて、写し参照診断関数、あるいは写し参照なし診断関数のどちらが効率の良い診断処理かを判断する。この判断結果に基づいて、テーブルを更新する。以上が概略動作である。
【００３０】
ここで、ファームウエア１０１による被診断装置３００〜３０ｍへの初期化処理や障害処理などのシステム処理の一例を処理Ａとして詳細に説明する。まず、診断関数の引数によって切り替えられる、写し参照診断関数（以後、ＣＡＳＨ＿ＯＮ関数とする）と写し参照なし診断関数（以後、ＣＡＳＨ＿ＯＦＦ関数とする）で、それぞれのヒット数とミスヒット数を更新するフローについて、図４を用いて説明する。診断関数の引数に応じて、ＣＡＳＨ＿ＯＮ関数、又はＣＡＳＨ＿ＯＦＦ関数のいずれを使うかが選択される。すなわち、ＣＡＳＨ＿ＯＮ関数とＣＡＳＨ＿ＯＦＦ関数は排他的に使用される。
【００３１】
ＣＡＳＨ＿ＯＮ関数は、ますはじめに装置指定レジスタ１１２へ設定する値と装置指定レジスタ写し１０２を比較して、一致しているか否かを判定する（ステップＳ３０１）。そして、これらの値が一致した場合（ステップＳ３０１の一致）、一致したことを示すヒット数Ｈを＋１する（ステップＳ３０３）。その後、指定された被診断装置への診断処理を行う（ステップＳ３０６）。不一致の場合（ステップＳ３０１の不一致）、不一致であることを示すミスヒット数Ｍを＋１する（ステップＳ３０２）。さらに、装置指定レジスタ写し１０２を更新する（ステップＳ３０４）。装置指定レジスタ写し１０２を更新した後、装置指定レジスタ１１２への設定を行う（ステップＳ３０５）。設定した後、被診断装置への診断処理を行う（ステップＳ３０６）。このように、装置指定レジスタ１１２と装置指定レジスタ写し１０２との比較結果に応じて、ヒット数、及びミスヒット数を更新していく。
【００３２】
ＣＡＳＨ＿ＯＦＦ関数は、ますはじめに、装置指定レジスタ１１２への設定を行う（ステップ（ステップＳ３１１）。この設定処理のリプライ待ちの間に、装置指定レジスタ１１２へ設定する値と装置指定レジスタ写し１０２を比較して、一致するか否かを判定する（ステップＳ３１２）。設定処理のリプライ待ちの間に、比較することで、処理時間が長くなるのを防ぐことができる。一致する場合（ステップＳ３１２の一致）、一致を示すヒット数Ｈを＋１する（ステップＳ３１４）。不一致の場合（ステップＳ３１２の不一致）、不一致を示すミスヒット数Ｍを＋１する（ステップＳ３１３）。そして、ヒット数Ｈ又はミスヒット数Ｍを１増加した後、装置指定レジスタ写し１０２を更新する（ステップＳ３１５）。これらの処理は、リプライ町の間に実施される。また、ステップＳ３１１の後、被診断装置への診断処理を行う（ステップＳ３１６）。
【００３３】
このように、ヒット数は、前回と同じ被診断装置に対して診断処理を行う回数を示し、ミスヒット数は、前回と異なる被診断装置に対して診断処理を行う回数を示す。このヒット数と、ミスヒット数を、システム処理を行う毎に算出していく。そして、以下に示すように一致した回数を示すヒット数と、不一致の回数を示すミスヒット数に応じて、テーブルの設定を変更する。
【００３４】
次に図３を用いて、処理Ａの動作について説明する。ファームウエア１０１は処理Ａ（システム処理）の最初に、ヒット数Ｈとミスヒット数Ｍをクリアする（ステップＳ２０１）。これにより、Ｈ＝０、Ｍ＝０となる。次に診断処理指示テーブル１０３上の処理Ａの診断処理指示情報Ａを参照する（ステップＳ２０２）。診断処理指示情報Ａの指示によりＣＡＳＨ＿ＯＮかＣＡＳＨ＿ＯＦＦか引数を設定する（ステップＳ２０３〜ステップＳ２０５）。すなわち、診断処理指示テーブル１０３の診断処理指示情報Ａに設定されている引数に基づいて、ＣＡＳＨ＿ＯＮ関数を使用するか（ステップＳ２０４）、あるいは、ＣＡＳＨ＿ＯＦＦ関数を使用するか（ステップＳ２０５）が決定される。
【００３５】
この後、ＧＳ関数（診断関数）をコールしながらメイン処理を実行する（ステップＳ２０６）。すなわち、診断関数をコールしながら処理Ａを進める。このとき、ＣＡＳＨ＿ＯＮならば、写し参照診断処理を行い、ＣＡＳＨ＿ＯＦＦならば写し参照無し診断処理を行う。さらに、このステップでは、図４に示したように、ヒット率、及びミスヒット率が増加していく。もちろん、１つの診断処理を実行する毎に、ヒット率あるいはミスヒット率が１づつ増加していく。
【００３６】
そして、メイン処理の最後に更新されたヒット数Ｈとミスヒット数Ｍからヒット率Ｘを算出する（ステップＳ２０７）。ここでは、ヒット率ＸをＸ＝Ｈ／（Ｈ＋Ｍ）としている。ここで導きだしたヒット率Ｘと閾値と比較する（ステップＳ２０８）。この比較結果に応じて、ＣＡＳＨ＿ＯＮ関数、あるいはＣＡＳＨ＿ＯＦＦ関数のいずれか効率の良い診断処理になるかを判断する。そして、診断処理指示テーブル１０３内の診断処理指示情報を更新する。すなわち、Ｘ＞閾値の場合、テーブルを変更する（ステップＳ２０９）。反対に、Ｘ＜閾値の場合、テーブルを変更しない（ステップＳ２０１）。例えば、写し参照診断処理で処理Ａを実行した場合において、テーブルを変更すると、次回の処理Ａでは、写し参照なし診断処理が採用される。これにより、処理を行いながら常に最適な診断処理を選択可能となり、処理全体の高速化が図れる。診断処理指示テーブル１０３の設定を変更することで、最適な診断処理方式を選択することができる。
【００３７】
以下にヒット率と処理時間の関係と閾値について示す。まず、以下のように、ヒット率、及び各アクセス時間を定義する。
・ヒット率（写しと一致した割合）              ：Ｘ＝Ｈ／（Ｈ＋Ｍ）
・装置指定レジスタ１１２へのアクセス時間      ：Ｔａ
・装置指定レジスタ写し１０２へのアクセス時間  ：Ｔｂ
・被診断装置アクセス時間                      ：Ｔｃ
【００３８】
診断アクセス時間（平均）をＴとすると、Ｔは以下のようになる。
・装置指定レジスタ参照時
Ｔ＝Ｔｂ＋Ｔａ（１−Ｘ）＋Ｔｃ
【００３９】
・装置指定レジスタ写し参照なし時
Ｔ＝Ｔａ＋Ｔｃ
【００４０】
写し参照診断処理が、写し参照なし診断処理を上回る時は、以下の式を満たす場合となる。
Ｔｂ＋Ｔａ（１−Ｘ）＋Ｔｃ＞Ｔａ＋Ｔｃ
【００４１】
これを満足するヒット率は、以下のようになる。
Ｘ＜Ｔｂ／Ｔａ
従って、ヒット率ＸがＴｂ／Ｔａよりも大きくなるか小さくなるかに応じて、写し参照診断処理と写し参照なし診断処理との切換を行う。
【００４２】
具体的な一例について以下に説明する。まず、各アクセス時間の具体例を以下のように定義する。
・ヒット率                          ：Ｘ
・装置指定レジスタアクセス時間      ：Ｔａ＝５０マイクロ秒
・装置指定レジスタ写しアクセス時間  ：Ｔｂ＝５マイクロ秒
・装置アクセス時間                  ：Ｔｃ＝５０マイクロ秒
【００４３】
このようにした場合、閾値は以下のようになる。
Ｔｂ／Ｔａ＝５マイクロ秒／５０マイクロ秒＝１／１０
【００４４】
本具体例の場合、ヒット率Ｘが１／１０を下回る時は、写し参照なし診断処理を用いる方か有利となる。反対にヒット率Ｘが１／１０を上回る時は、写し参照診断処理を用いる方か有利となる。
【００４５】
本実施形態では、処理にあった診断方式を用いている。これにより、被診断装置に対する処理時間を効率化できる。その理由は、診断処理方式を複数（写し参照診断処理と写し参照なし診断処理）用意して、システム処理毎にそのシステム処理にあった診断処理方式を選択して使用できるためである。さらに、この設定をテーブルに記憶しておくことで、簡便に最適な処理を選択することができる。
【００４６】
さらに、処理を行う度に常に最適な診断処理方式を選択可能とすることで処理の効率化ができることにある。その理由は、処理を行いながら常に処理毎に設けた診断処理指示テーブルを更新し使用できるためである。これにより、さらに高速な診断処理を実現することができる。
【００４７】
同じ被診断装置への診断処理が続く場合は、装置指定レジスタ１１２を更新する時間が無駄になる。よって、前回と同じ被診断装置への診断処理が多いシステム処理では写し参照診断処理を採用する。すなわち、診断処理毎に、装置指定レジスタ１１２を更新しないようにする。一方、対象となる被診断装置が切り換わる場合は、装置指定レジスタ写し１０２を参照する時間が無駄になる。対象となる被診断装置が切り換わることが多いシステム処理では、写し参照なし診断処理を採用する。すなわち、診断処理毎に写しを参照しないようにする。これにより、診断処理を高速化することができる。写し参照なし診断処理では、装置指定レジスタ写しの内容と装置指定レジスタの内容を比較する処理を省略することができ、診断処理性能が低下するのを防ぐことができる。診断プロセッサによる被診断装置診断を行う多数の被診断装置が存在する大規模なシステムについて利用されることが考えられる。
【００４８】
上記の診断処理システムは、例えば、パーソナルコンピュータに適用される。例えば、パーソナルコンピュータが診断処理システムであるとすと、被診断装置３００〜３０ｍが、例えば、メモリ、キャッシュ、ＣＰＵ、インターフェースなどの各デバイスとなる。そして、各種デバイスである被診断装置に対して、高速に診断処理を行う。
【００４９】
また、上記の診断処理はコンピュータプログラム（診断プログラム）によっても実行することができる。すなわち、診断プログラムが、診断コンピュータ（診断装置１００）に対して、被診断装置３００〜３０ｍに対して診断処理を行うための写し参照診断処理及び写し参照なし診断処理の一方を選択させるステップと、装置指定レジスタ１１２の情報が設定される場合に、装置指定レジスタ写し１０２に設定される情報を写させるステップと、写し参照診断処理が選択された場合、装置指定レジスタ写し１０２を参照して装置指定レジスタ１１２への設定を行うか否かを判定させるステップと、写し参照なし診断処理が選択された場合、診断処理毎に装置指定レジスタ１１２への設定させるステップと、を備えていればよい。このようなプログラムによって、複数の被診断装置の中から診断対象となる被診断装置を指定して、診断処理を行うことができる。
【００５０】
以上の説明は、本発明の実施の形態を説明するものであり、本発明が以上の実施の形態に限定されるものではない。また、当業者であれば、以上の実施の形態の各要素を本発明の範囲において容易に変更、追加、返還することが可能である。
【符号の説明】
【００５１】
１００  診断装置
１０１  ファームウエア
１０２  装置指定レジスタ写し
１０３  診断処理指示テーブル
１１０  装置指定手段
１１２  装置指定レジスタ
２００  診断パス
３００〜３００ｍ  被診断装置
【図１】
2010186209.tif 000003
【図２】
2010186209.tif 000004
【図３】
2010186209.tif 000005
【図４】
2010186209.tif 000006