(57)【特許請求の範囲】
【請求項１】
サーバ（８３）の複数の内部レジスタ（７４）にアクセスする方法であって、
前記サーバ（８３）の外部ユーザからのアクセスコマンドを前記サーバ（８３）のサービスプロセッサ（８２）に、前記サービスプロセッサ（８２）が直接的に理解可能な通信プロトコル（ＩＰＭＩ）を用いて送信することと、
前記内部レジスタ（７４）にアクセスするのに１つ以上のアクセスプロトコル（６１〜６３）を用いて、前記サービスプロセッサ（８２）によって前記内部レジスタ（７４）にアクセスすることと、
１つ以上のサービスモジュール（３０）によって、前記外部ユーザが発行したコマンドライン（１１）を前記通信プロトコル（ＩＰＭＩ）でのアクセスコマンドに自動変換することとを含み、
前記コマンドライン（１１）の言語（Ｐｙｔｈｏｎ）は前記通信プロトコル（ＩＰＭＩ）のものよりも高レベルのものであり、前記１つ以上のサービスモジュール（３０）は前記コマンドライン（１１）に含まれる前記内部レジスタ（７４）の名前を、少なくとも前記アクセスコマンドにおける前記内部レジスタ（７４）の対応するアドレスにマッピングし、
前記サービスプロセッサ（８２）から前記内部レジスタ（７４）への前記外部ユーザによって指令されるアクセスの際は、前記内部レジスタ（７４）のステータスのコピーを更新する目的での前記サービスプロセッサ（８２）の直接制御下での前記内部レジスタ（７４）への監視アクセスとの衝突のリスクの可能性を前記サービスプロセッサ（８２）が管理することを特徴とするサーバの複数の内部レジスタにアクセスする方法。
【請求項２】
前記１つ以上のサービスモジュール（３０）は、前記コマンドライン（１１）に含まれる前記内部レジスタ（７４）の名前と、さらに前記アクセスコマンドにおける前記内部レジスタ（７４）に対応するアドレス形式にも関連していることを特徴とする請求項１に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項３】
前記サービスモジュール（３０）の少なくとも１つが、名前、前記内部レジスタ（７４）の対応するアドレスに関連している前記内部レジスタ（７４）の前記名前のリストを含み、前記リストは好ましくは前記外部ユーザによってアクセスされ得る全ての前記内部レジスタ（７４）を備え、前記サーバ（８３）の構成毎に、前記リストが更新されることを特徴とする請求項１または請求項２に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項４】
前記リストは、また、前記名前及び前記アドレス、前記内部レジスタ（７４）の全てのビット（７５）の説明と関連していることを特徴とする請求項３に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項５】
前記衝突のリスクは、中断されることのない前記監視アクセスの進行の全ての段階中に前記外部ユーザによって制御される前記アクセスを保留させることで回避することを特徴とする請求項１〜４のいずれか１項に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項６】
前記監視アクセスの前記進行は、前記サービスプロセッサ（８２）と前記内部レジスタ（７４）との間に位置するマルチプレクサを再構成することと前記内部レジスタ（７４）の少なくとも１つを読み出すことのうちの１つの連続を少なくとも含むことを特徴とする請求項５に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項７】
前記コマンドライン（１１）は、１つ以上のスクリプト（１２）にグループ分けすることができることを特徴とする請求項１〜６のいずれか１項に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項８】
前記コマンドライン（１１）は、前記外部ユーザに、アクセスされる前記内部レジスタ（７４）の名前を、そのアドレス、そのアドレス形式、及びそのアクセスモードを除外して供給することのみを要求することを特徴とする請求項１〜７のいずれか１項に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項９】
前記外部ユーザからの前記コマンドライン（１１）の１つに反応して、前記内部レジスタ（７４）のビット（７５）の値がこれらのビット（７５）に対応するフィールド名と共に表示されることを特徴とする請求項１〜８のいずれか１項に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項１０】
前記コマンドライン（１１）の言語が、Ｐｙｔｈｏｎであることを特徴とする請求項１〜９のいずれか１項に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項１１】
前記通信プロトコルは、ＩＰＭＩプロトコルであることを特徴とする請求項１〜１０のいずれか１項に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項１２】
前記ＩＰＭＩプロトコルが、イーサネット（登録商標）バス上で実行されることを特徴とする請求項１１に記載のサーバの複数の内部レジスタにアクセスする方法。
【請求項１３】
前記内部レジスタ（７４）は、前記サーバの１つ以上のコンポーネント（７１〜７３）、前記コンポーネント（７１〜７３）の１つであり得る１つ以上のＣＰＵ、及び／または１つ以上のＡＳＩＣ、及び／または１つ以上のＦＰＧＡに属することを特徴とする請求項１〜１２のいずれか１項に記載のサーバの複数の内部レジスタにアクセスする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバの複数の内部レジスタにアクセスする方法に関する。
【背景技術】
【０００２】
従来、サーバの複数の内部レジスタにアクセスする方法としては、サーバの外部ユーザが、サービスプロセッサによって直接理解可能な通信プロトコルで、そのサーバの内部レジスタへのアクセスを処理するサービスプロセッサにアクセスコマンドを直接供給することが知られている。
【先行技術文献】
【特許文献】
【０００３】
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、従来のサーバの複数の内部レジスタにアクセスする方法では、外部ユーザは、内部レジスタの種類だけではなく、アドレスまたはさらにはそのコンテンツ若しくはアドレス指定形式を通信プロトコルと併せて習得する立場でいなければならない。これは、これらの内部レジスタへのアクセスを外部ユーザにとっていくらか難しくする。
さらに、平均的な外部ユーザは、この情報の全てを完全に制御することができないために、エラーのリスクは無視できない。
【０００５】
そこで、本発明の目的は、上述の欠点を少なくとも部分的に解消させることができるサーバの内部レジスタにアクセスする方法を提供することである。
【課題を解決するための手段】
【０００６】
具体的には、本発明は、第１に、外部ユーザがサービスプロセッサによって直接的に理解可能な通信プロトコルの具体的な知識を必要とせず、第２に、外部ユーザが上記内部レジスタの構造及びそれらのサーバにおける実施についての具体的な知識を必要としない、サーバの内部レジスタにアクセスする方法を提供することを目的とする。この外部ユーザによるこれらの内部レジスタへのアクセスをより人間工学的及びより安全にすること、言い換えると、内部レジスタへのそのアクセスは、より容易になり、排除されるか少なくとも大きく低下したエラーのリスクを提示する。
【０００７】
このため、本発明は、外部ユーザによる内部レジスタにアクセスする難しい性質、及び通信プロトコルまたは上記内部レジスタの構造及び実施の専門家でない外部ユーザに内部レジスタにアクセス可能とさせる特定の関心を強調した後に、システムのより高層または高層の複数の層に送られる上記内部レジスタの構造及び実施についての情報を同時に提供し、その高層またはそれらの複数の高層では、この通信プロトコルに比較的高レベル言語におけるコマンドを翻訳する手段を提供する。
【０００８】
この情報を高層または複数の高層に送ること、及び翻訳手段の実施は、本発明が外部ユーザに与える、一見すると重要であるが、サーバの内部レジスタへのアクセスの流動性及び容易性によって大きく有益となるシステム改変努力を表し、エラー、特に内部レジスタの間違ったアドレス指定に関するリスクの実質的な減少も言うまでもない。
【０００９】
この目的を得るべく、本発明は、サーバの複数の内部レジスタにアクセスする方法を提供し、前記サーバの外部ユーザからのアクセスコマンドを前記サーバのサービスプロセッサに、前記サービスプロセッサが直接的に理解可能な通信プロトコルを用いて送信することと、前記内部レジスタにアクセスするのに１つ以上のアクセスプロトコルを用いて、前記サービスプロセッサによって前記内部レジスタにアクセスすることと、１つ以上のサービスモジュールによって、前記外部ユーザが発行したコマンドラインを前記通信プロトコルでのアクセスコマンドに自動変換することとを含み、前記コマンドラインの言語は前記通信プロトコルのものよりも高レベルのものであり、前記１つ以上のサービスモジュールは前記コマンドラインに含まれる前記内部レジスタの名前を、少なくとも前記アクセスコマンドにおける前記内部レジスタの対応するアドレスにマッピングし、前記サービスプロセッサから前記内部レジスタへの外部ユーザによって指令されるアクセスの際は、前記内部レジスタのステータスのコピーを更新する目的での前記サービスプロセッサの直接制御下での前記内部レジスタへの監視アクセスとの衝突のリスクの可能性を前記サービスプロセッサが処理することを特徴とする。
【００１０】
サーバの内部レジスタへのアクセスは、読出しアクセスまたは書込みアクセスである。サーバの内部レジスタは、メモリから区別される、サーバの計算コンポーネントの内部レジスタであって、サーバは、計算コンポーネントとメモリとを備える。通信プロトコルの専用の性質及び内部レジスタに関連する情報の比較的隠されたまたは埋没された性質は、システムの最も高い層への移動を前もって仕掛けるわけではない。
【００１１】
外部ユーザによって指令される、サービスプロセッサによる内部レジスタへの前記アクセスの間、前記内部レジスタのステータスのコピーを更新するための前記サービスプロセッサによって直接的に指令される前記内部レジスタへの監視アクセスとの衝突のリスクの可能性は、サービスプロセッサによって処理される。よって、サービスプロセッサは、内部レジスタにアクセスするための、監視プロセスからの１つと同様に外部ユーザからの要求の両方の種類を直接的に受け取った後に、そのレベルにおいて、衝突のリスクを処理することができ、結果としてより容易に除去することができる。
【００１２】
この目的を得るべく、本発明は、また、サーバの複数の内部レジスタにアクセスするための、サーバの外部の外部ユーザからのアクセスコマンドをサーバのサービスプロセッサに送信するように適合される、前記サービスプロセッサから前記内部レジスタにアクセスするための前記サービスプロセッサによって直接的に理解可能な通信プロトコルを用いて、１つ以上のアクセスプロトコルを前記内部レジスタに用いるユーザインターフェースを提供し、前記外部ユーザによって発行されたコマンドラインを前記通信プロトコルにおける前記アクセスコマンドに自動変換するように適合される、前記コマンドラインの言語が前記通信プロトコルのものよりも高いレベルのものであり、前記コマンドラインに含まれる前記内部レジスタの名前、少なくとも前記アクセスコマンドにおける前記内部レジスタの対応するアドレスに関連付けるための１つ以上のサービスモジュールを備えることを特徴とする。
【００１３】
本発明の実施形態によれば、結果的には、外部ユーザに対してサーバの計算コンポーネントの内部レジスタに読み出すまたは書き込むための単純なアクセス方法を提供するようになっている。
【００１４】
本発明の好ましい実施形態によれば、結果的には、計算コンポーネントの内部レジスタを読み出す及び書き込めるように、並びに外部ユーザにＰｙｔｈｏｎモジュールを提供することでスクリプトを書き込む能力を与えるように、コマンドラインインターフェースを提供するようになっている。
【００１５】
本発明の実施形態によれば、これらのアクセスを機械に、機械が動作中であっても行うようになっている。
【００１６】
本発明の実施形態によれば、それらの名前、アドレス及びコンテンツの説明を含む全ての内部レジスタの完全なリストを生成して、外部ユーザから隠れる、言い換えれば、外部ユーザにとって全てまたは一部が透明となるようになっている以下を含む要素：これらレジスタへのアクセス方法、機械が動作中であるという事実によるこれらのレジスタへの同時アクセスの問題、レジスタのアドレス及びサーバの動力ステータスのモジュールを有するスクリプト言語、を提供する。
【００１７】
望ましい実施形態によれば、本発明は、別々に用いられるか部分的または完全にそれらの間で組み合わせて、特に上記の構成要素の１つと共に用いることができる以下の特徴の１つ以上を備える。
【００１８】
好ましくは、前記１つ以上のサービスモジュールは、前記コマンドラインに含まれる前記内部レジスタの名前、及び前記アクセスコマンドにおける前記内部レジスタに対応するアドレス形式に関連付けられる。よって、内部レジスタにサービスプロセッサをアクセスさせることを許可する全ての関連する情報がアクセスコマンドに組み込まれ、別の追加ステップに加えられる必要がない。
【００１９】
好ましくは、前記サービスモジュールの少なくとも１つは、前記名前に関連付けられる前記内部レジスタの名前、前記内部レジスタの対応するアドレスのリストを含み、前記リストは前記外部ユーザによってアクセスし得る全ての前記内部レジスタを好ましくは備え、各サーバ構成にて、このリストは更新される。各サーバ構成での内部レジスタのリストの更新は、いかなるときであれ関心を持たれ得る全ての内部レジスタに外部ユーザによるアクセスを保証するので特に有利であり、ある所定の時点であっても、内部レジスタの構成または実施は改変される。これに該当しない場合、このような改変の際は、この内部レジスタの改変のための更新動作が他で行われるまで内部レジスタにアクセスすることができなかった。
【００２０】
好ましくは、前記リストは、前記名前及び前記アドレス、前記内部レジスタの全ての部分の説明とも関連付けられる。結果として、外部ユーザに内部レジスタへのアクセスが保証されるだけではなく、特定のビットを変更するか分析するなどの細かい動作なども行うことが可能となる。
【００２１】
好ましくは、前記衝突のリスクは、前記外部ユーザによって指令される前記アクセスを、中断されない前記監視アクセス進行中の全ての段階中に静止させることで回避される。実際に、外部ユーザによって指令されるアクセスが少々遅延しても深刻な結果を招くことはないが、監視プロセスの途中に起きるよく制御されていない妨害はシステム動作を著しく劣化させる可能性がある。
【００２２】
好ましくは、前記監視アクセスの前記進行は、サービスプロセッサと前記内部レジスタとの間に位置するマルチプレクサの再構成と内部レジスタの少なくとも１つを読み出すステップとの連続を少なくとも含む。マルチプレクサの再構成と読み出しとの間に起こり得る監視プロセスの中断は、外部ユーザからの、監視プロセスによるアクセス要求のために予定された再構成を受け継ぐ別のアクセス要求であるために、著しくシステムの動作を妨害するであろう。
【００２３】
好ましくは、前記コマンドラインは、１つ以上のスクリプトにグループ分けすることができる。よって、外部ユーザによる前記内部レジスタの処理は、外部ユーザにとってより流動的となる。コマンドラインインターフェースは、外部ユーザとコンピュータとの間の通信がテキストモードで行われ、外部ユーザがテキストコマンドを打ち込んでテキスト応答を読む、人対機械のインターフェースである。スクリプトとは、コンパイルを必要とせず、単に翻訳を用いてタスクを実行することが可能なプログラムである。
【００２４】
好ましくは、コマンドラインは外部ユーザに、アクセスされる前記内部レジスタの名前を、そのアドレス、そのアドレスフォーマット、及びそのアクセスモードを除外して供給することのみを要求する。よって、外部ユーザによる前記内部レジスタの処理は、さらに外部ユーザにとって容易となる。
【００２５】
好ましくは、外部ユーザからのコマンドラインの１つに反応して、前記内部レジスタのビット値が、これらのビットと対応するフィールドの名前と一緒に表示される。よって、外部ユーザは、各内部レジスタについてビット毎に、そのコンテンツが探している情報と一致することを認証することができる。この追加されたセキュリティによって、外部ユーザは、以前に注意を引かなかったり外部ユーザの注意から漏れていたりした内部レジスタの構成の変更に直ちに気づくことができ、または、必要に応じて内部レジスタの細かい構成を行うことができる。
【００２６】
好ましくは、前記コマンドラインの言語は、Ｐｙｔｈｏｎ言語である。この言語は、外部ユーザにとって、サーバの内部レジスタの処理について特に単純及び流動的である。Ｐｙｔｈｏｎは、周知の高レベルプログラミング言語であり、コマンドラインについて構文が限られており、特にスクリプトコンテクストにおいて有効である。
【００２７】
好ましくは、前記通信プロトコルは、ＩＰＭＩプロトコルである。この通信プロトコルは、サーバの内部レジスタ上の予定された動作を行うのに特に有効である。ＩＰＭＩ（「Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ」を示す）は、情報システムの外部処理用の標準化インターフェースであり、本明細書では、サーバを、外部ユーザによって、外部ユーザのパソコンを介して処理することができる。
【００２８】
好ましくは、前記ＩＰＭＩ通信プロトコルは、イーサネット（登録商標）バス上で実行される。イーサネット（登録商標）バスは、外部ユーザのＰＣ型コンピュータとサーバのサービスプロセッサとの間でコマンドを、ＩＰＭＩプロトコルで送信する有効なゲートウェイである。
【００２９】
好ましくは、前記内部レジスタは、サーバの１つ以上のコンポーネント、前記コンポーネントに囲まれ得る１つ以上のＣＰＵ及び／または１つ以上のＡＳＩＣ及び／または１つ以上のＦＰＧＡに属する。その内部レジスタが外部ユーザによって処理されるであろう広範囲にわたるコンポーネントは、本発明によって提供される内部レジスタへのアクセス方法をなおいっそう便利にする。なぜなら、このアクセス方法は、簡易化され、より流動的にされているからである。
【発明の効果】
【００３０】
本発明は、外部ユーザによるサーバの内部レジスタへのアクセスを容易にすることができる。
【００３１】
本発明のその他の特徴及び利点は、添付の図面を参照して例示として与えられる、以下の本発明の好ましい実施形態の記載を読むことで明らかになろう。
【図面の簡単な説明】
【００３２】
【図１】図１は本発明の一実施形態に係るサーバの内部レジスタにアクセスする方法を実行する際に、サーバの内部レジスタに関連する情報のより高層への送出を実行するソフトウェアアーキテクチャの例を概略的に示す図である。
【図２】図２は本発明の一実施形態に係る、図１のソフトウェアアーキテクチャに対応する、Ｐｙｔｈｏｎ言語についての対象物分類の木構造の例を概略的に示す図である。
【図３】図３は本発明の一実施形態に係る、図１のソフトウェアアーキテクチャに対応する、Ｐｙｔｈｏｎ言語についてのコンポーネントの例示的な図を概略的に示す図である。
【図４】図４は本発明の一実施形態に係る、図１のソフトウェアアーキテクチャに対応する、外部ユーザコマンドラインに対する応答の例を概略的に示す図である。
【発明を実施するための形態】
【００３３】
本発明は、第１に、外部ユーザがサービスプロセッサによって直接的に理解可能な通信プロトコルの具体的な知識を必要とせず、第２に、外部ユーザが上記内部レジスタの構造及びそれらのサーバにおける実施についての具体的な知識を必要としないという目的を、外部ユーザからのアクセスコマンドを、１つ以上のアクセスプロトコルを用いて内部レジスタにアクセスするサービスプロセッサが直接的に理解可能な通信プロトコルを用いてサービスプロセッサに送信することと、外部ユーザによって発行されたコマンドラインを、通信プロトコルでのアクセスコマンドに、少なくとも内部レジスタの対応するアドレスと外部ユーザから供給される内部レジスタの名前とを関連付ける１つ以上のサービスモジュールを用いて自動変換することとを含んで実現するものである。
【実施例】
【００３４】
図１は、本発明の一実施形態に係るサーバの内部レジスタにアクセスする方法を実行する際に、サーバの内部レジスタに関連する情報のより高層への送出を実行するソフトウェアアーキテクチャの例を概略的に示す。
【００３５】
コンピュータシステムは、サーバ自体のコンポーネントに対応するより低い層から外部ユーザとのインターフェースに対応する最も高い層までのいくつかの重ねられた層を備える。層は重ねられているため、最も低いところから高いところまで順に、アクセスされるコンポーネント用の層７、アクセス方法用の層６、イーサネット（登録商標）バス用の層５、ＩＰＭＩツールボックス用の層４、サービスモジュール用の層３、プレゼンテーション層である層２、アプリケーション層である層１を有する。
【００３６】
アクセスされるコンポーネント層７は、それ自体が１つ以上の内部レジスタ７５を備えるいくつかの種類のコンポーネント７４を含む。これらの内部レジスタ７５が、外部ユーザがアクセスして処理及び可能であれば改変したいものである。アクセスされるコンポーネント層７は、例えば、ＣＰＵ（「中央処理コンポーネント」）型のコンポーネント７１、ＡＳＩＣ（「特定用途向け集積回路」）型コンポーネント７２、ＦＰＧＡ（「フィールドプログラマブルゲートアレイ」）型コンポーネント７３を含む。
【００３７】
層６は、アクセス方法に対応する。これは、アクセスプロトコル層６１〜６３と、アクセスプロトコル層６１〜６３の上に位置する、アクセス同時実行を処理する層６０とを含む。コンポーネント７１〜７３のそれぞれは、対応するアクセスプロトコル６１〜６３の手段によってアクセスされる。ＣＰＵ型のコンポーネント７１は、標準化された「ＰＥＣＩアクセス」（「プラットフォーム環境の制御インターフェース（Ｐｌａｔｆｏｒｍ  Ｅｎｖｉｒｏｎｍｅｎｔ  Ｃｏｎｔｒｏｌ  Ｉｎｔｅｒｆａｃｅ）」）プロトコル６１を介してアクセスされる。ＡＳＩＣ型コンポーネント７２は、「Ｉ２Ｃアクセス」（「Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ」）アクセスプロトコル６２を介してアクセスされる。ＦＰＧＡ型コンポーネント７３は、「ＸＢＵＳアクセス」（「ＸＢＵＳ」は「ＭＢＵＳ」の代わりとなる）アクセスプロトコル６３を介してアクセスされる。アクセスプロトコル６１〜６３は、それぞれアクセスコンポーネント７１〜７３に適合される。
【００３８】
アクセス同時実行処理用の層６０は、同一コンポーネントにアクセスするいくつかの同時要求がある場合に衝突リスクを処理し、それを回避する。同時実行アクセス処理層６０は、外部ユーザからのアクセス要求よりも高い優先順位を有するコンポーネントの内部レジスタのコピーを更新するために、アクセス要求の階層、監視アクセスのための要求を確立させる。アクセス方法用の層６は、サービスプロセッサ８２によって完全に処理される。
【００３９】
このようにして、これらのアクセスは、サービスプロセッサ８２上で実行される監視ソフトウェアに対して結果として干渉しない。これを得るべく、サービスプロセッサソフトウェア８２は、サーバ８３の計算コンポーネント７１〜７３への同時実行のアクセス要求を処理する。これらの同時実行アクセスは、サービスプロセッサからの内部レジスタアクセス要求と外部ユーザからの外部アクセス要求との間、または同一計算コンポーネントに外部アクセス要求を行う２人の外部ユーザ間で起こり得る。
【００４０】
アクセス同時実行処理を扱う層６０は、アクセス同時実行を処理するだけではなく、これらの動作がサーバ８３の動力ステータスにかかわらず行えることを確認する。実際に、サーバ８３へのアクセスは、電源が入っているかスタンバイであるかにかかわらず、動作中の機械において行うことができる。このため、これらのアクセスは、少なくともスタンバイモードにおいては永久的に動力を供給され、サーバ８３のＣＰＵ上にあるサービスプロセッサ８２（「処理コントローラ」）を介して行われる。
【００４１】
さらに、前記アクセスは、サーバ８３上で実行されるソフトウェアに対して干渉しない。これは、クライアントアプリケーションによって用いられるその他のプロセッサとは完全に独立してサービスプロセッサ８２を介して行われるこれらのアクセスのおかげである。アクセスプロトコル層６１〜６３は、さまざまな計算コンポーネント７１〜７３の内部レジスタ７４へのアクセスを外部ユーザからは見えない様態でサービスプロセッサ８２に処理させるようにすることができる。このため、サービスプロセッサ８２は、最初に各計算コンポーネント７１〜７３それぞれが必要なドライバを提供して、サービスプロセッサ８２を各計算コンポーネント７１〜７３のそれぞれ１つずつにリンクさせるプロトコルそれぞれの処理をも提供する。その後、サービスプロセッサ８２は、計算コンポーネント７１〜７３への同時アクセスを処理し、特に計算コンポーネント７１〜７３へのアクセスを許容する制御スイッチを処理する。次に、サービスプロセッサ８２は、サーバ処理において標準的である外部アプリケーションＩＰＭＩ型インターフェースを提供する。このインターフェースは、その入力で、計算コンポーネントの種類、そのアドレス、関連する内部レジスタのアドレス及びその内部レジスタ用の読出し及び書込みアクセスモードなどを含むいくつかの情報を取り込む。
【００４２】
イーサネット（登録商標）バスの層５は、第１に層１〜４を備える外部ユーザのパソコン８１の空間と、第２に外部ユーザがアクセスしたいと願い、層６及び７を備えるサーバ８３の空間との間の通信を可能にする。イーサネット（登録商標）バス上で行われる通信は、ＩＰＭＩプロトコルを用いる。
【００４３】
ＩＰＭＩツールキットの層４は、層５のイーサネット（登録商標）バス上に渡すように意図されるメッセージに、層３からのＩＰＭＩ言語でのコマンドを包含することを可能にする。ＩＰＭＩツールボックスの層４もまた、層６に由来し、層５のイーサネット（登録商標）バス上を通過したＩＰＭＩ言語反応の抽出を可能にする。
【００４４】
サービスモジュール３０用の層３は、外部ユーザからの高レベルのコマンドラインを、サービスプロセッサ８２によって直接的に理解される最も低いレベルのアクセスコマンドに変換することを可能にするタスクを行う。
【００４５】
したがって、いくつかのタスクが行われる。第１は、読出しまたは書込みのいずれについてかにもかかわらず、対象物分類及びそれらに関連するアクセス方法の定義付け。
【００４６】
次に、外部ユーザがアクセスしたい内部レジスタのリスト及び定義づけ。特に、それらのアドレス及びアドレス形式を有し、この位置に配列されるビットそれぞれの説明を有するサーバの内部レジスタのリスト、言い換えると、外部ユーザのパソコン空間８１におけるサービスモジュール３０の高層３にあるものが、第１に外部ユーザからの単純な構造を有する高レベルのコマンドラインを受けることを可能にし、第２にまだＩＰＭＩ言語でしか直接的にコマンドを含まないサービスプロセッサ８２をほんのわずかだけしか変更させない。最も高いレベルからのコマンドを受けられるようにするサービスプロセッサの構造の著しい変更は、外部ユーザのパソコン空間８１におけるサービスモジュール３０の、本発明によって提案される、外部ユーザの作業を例えばＰｙｔｈｏｎ言語といった高レベル言語での簡単なコマンドラインを単独で用いることでより、人間工学的及び簡単にすることにより大きく容易にするということの実施よりも、より複雑で高価となる。
【００４７】
この後に、外部ユーザからのアクセス要求を、層４にある「ＩＰＭＩツール」ツールボックスを用いてＩＰＭＩコマンドのコマンドライン形式に変換することが続く。
【００４８】
このため、サービスモジュール３０の層３は、サーバ８３の各再構成にて、計算コンポーネント７１〜７３の全ての内部レジスタ７４の全ての徹底的なリストを、各レジスタ７４について、レジスタの名前、そのアドレス、及びコンテンツの説明、すなわち、内部レジスタ７４の各ビット７５と共に生成し、更新する。
【００４９】
サーバ８３の開発のために用いられるデザインツールから自動的に生成されるこれらの情報の全ては、外部ユーザのために、内部レジスタ７４を処理するのに必要なデータの完全性、サーバ８３の各再構成にて更新することを可能とするその時間経過での実行可能性、これら同一内部レジスタ７４の処理に関与する全ての外部ユーザのための、彼らのニーズに沿って内部レジスタ７４の名前及びアドレスを探すためにさまざまな計算コンポーネントの仕様を与える書類を参照する必要がなくなった外部ユーザまたは外部ユーザのためのリアルタイム節約を含むこの情報の一貫性及び普遍性を確実にすることができる。好ましくは、さまざまな計算コンポーネント７１〜７３の内部レジスタ７４のリストは、外部ユーザに提供されるサービスモジュール３０に含まれる。このリストは、各内部レジスタ７４について、その内部レジスタ７４の名前、内部レジスタ７４のアドレス、及び内部レジスタ７４の各ビット７５の説明を含む。
【００５０】
プレゼンテーション層２は、内部レジスタ７４から上方向に送られた情報をフォーマットして、人間工学的及び外部ユーザにとって簡単に理解可能となるようにする層である。層２及び３は、ここで、例えば、Ｐｙｔｈｏｎ言語といった比較的高レベル言語で開発される。層２及び３並びにこれらの装飾物は、要素８０によって象徴化される。
【００５１】
アプリケーション層１は、パソコン８１の外部ユーザによって容易に使用可能な高レベル言語でのコマンドライン１１を含み、サーバ８３の内部レジスタ７４のビット７５を処理し、データを抽出し、さらに必要であれば変更する。サービスモジュール層３でのサービスモジュール３０の実施を通して、すなわちパソコン空間８１及びＩＰＭＩツールボックス４の上流にて、外部ユーザによる前記内部レジスタ７４の精密な処理が簡単なコマンドライン１１の使用を通して可能となる。有利に、これらのコマンドライン１１は、１つ以上のスクリプト１２にグループ分けすることができる。よって、スクリプト１２を実行させ始めることは、いくつかのコマンドラインを適切な時に自動的に実行させることができ、外部ユーザに対して内部レジスタ７４についてのさまざまな情報を直接表示させることができる。好ましくは、スクリプト１２に用いられる言語及びこれらのモジュール（「ライブラリ」）は、Ｐｙｔｈｏｎ言語であり、これによって対照指向性プログラミングも可能となる。この言語によって外部ユーザに「制御インターフェース」モードで動作するインターフェースを、また外部ユーザが書き込むことができて次の外部ユーザによっても再利用され得るスクリプト１２のライブラリをも容易に提供することができるようになる。
【００５２】
図２は、本発明の一実施形態に係る、図１のソフトウェアアーキテクチャに対応する、Ｐｙｔｈｏｎ言語についての対象物分類の木構造の例を概略的に示す。木の根２０から始まり、さまざまな計算コンポーネント２１のリストが開いていく。上から下で、最初の３つの計算コンポーネント２１は、ＡＳＩＣ型コンポーネントであり、続く３つのコンポーネント２１は、ＣＰＵ型計算コンポーネントであり、最後の計算コンポーネント２１は、ＦＰＧＡ型である。各コンポーネント２１、２２は、それぞれ複数のファイル２２、すなわち関連する計算コンポーネント２１の全ての内部レジスタ７４のリストを含む「ｒｅｇｌｉｓｔ」型のファイル２２が関連付けられており、「ｓｐｅｃ」型のファイル２２は、関連する計算コンポーネント２１のさまざまな内部レジスタ７４のコンテンツの説明を含む。外部ユーザからの高レベルのコマンドラインをサービスプロセッサによって直接理解されるＩＰＭＩ型のアクセスコマンドに変換するときに、これらのファイル２２がサービスモジュール３０によって用いられる。ファイル２２は、基本の入出力システム（ＢＩＯＳ「基本入出力システム」）の生成中に、基本入出力システムを構築するさらなる段階で生成される。
【００５３】
図３は、本発明の一実施形態に係る、図１のソフトウェアアーキテクチャに対応する、Ｐｙｔｈｏｎ言語についてのコンポーネントの例示的な図を概略的に示す。Ｐｙｔｈｏｎ言語３１で書かれる１つのコマンドライン３２について、計算コンポーネントのリストを含むファイル３３は、コマンドライン３２に一体化される欠落している情報を、この計算コンポーネントについて内部レジスタのコンテンツに関連するファイル３４に、そして特定の計算コンポーネントの内部レジスタの名前、アドレス及びアドレス指定形式を含むファイル３５に取り込むことができる。図３のファイル３４及び３５は、図２のファイル２２の詳細を示す。
【００５４】
図４は、本発明の一実施形態に係る、図１のソフトウェアアーキテクチャに対応する、外部ユーザのコマンドラインに対する応答の例を概略的に示す。第４０行は、上方向に送られる情報を示す。第４１行は、問題のサーバの種類を特定し、ここでは「Ｍｅｓｃａ２−ＥＶＴ２−ＢＣＳ４」である。第４２行は、関連する計算コンポーネントの種類を特定し、ここでは「ＦＰＧＡ  Ｎｏ．０」である。第４３行は、関連する処理動作の種類、ここでは「読出し」、及び関連する内部レジスタの種類、ここでは「ＣＩＸ＿Ｆｕｎｃｔｉｏｎａｌｉｔｙ＿Ｒｅｇｉｓｔｅｒ＿１」の両方を特定し、結果的に読み出されたものが前記内部レジスタ「ＣＩＸ＿Ｆｕｎｃｔｉｏｎａｌｉｔｙ＿Ｒｅｇｉｓｔｅｒ＿１」のコンテンツであることを特定する。第４４行は、最初に内部レジスタのアドレスを与え、ここでは「１２」であり、４ビットの内部レジスタと対応し、これらのビットは次に列挙される。内部レジスタの第１ビットに対応するフィールドの名前は、ここでは「ＥＭＥＲＧＥＮＣＹ＿ＰＷＲＯＦＦ」であり、その値は０である。第２の内部レジスタビットに対応するフィールドの名前は、ここでは「ＭＲＭ＿ＨＯＴ＿ＰＬＵＧ」であり、その値は０である。第３内部レジスタビットに対応するフィールド名は、ここでは「ＰＣＩＥ＿ＨＯＴ＿ＰＬＵＧ」であり、その値は１である。第４内部レジスタビットに対応するフィールドの名前は、ここでは「ＬＣＰ＿ＰＷＲＯＮ」であり、その値は１である。第１と第４ビットは、電力供給の状態に関連し、第２と第３ビットは、接続状態に関連する。オペレーティングシステム（ＯＳ）が後で取って代われるように、計算コンポーネントの内部レジスタの状態は、サーバの一次構成の説明を与える。
【００５５】
本発明は、明らかに、記載及び図示される実施例及び実施形態に限定されず、当業者がアクセス可能な数々の変更が可能である。
【産業上の利用可能性】
【００５６】
この発明に係るアクセス方法は、各種分野で用いることが可能である。
【符号の説明】
【００５７】
１１  コマンドライン
３０  サービスモジュール
６１〜６３  アクセスプロトコル
７４  内部レジスタ
８２  サービスプロセッサ
８３  サーバ
ＩＰＭＩ  通信プロトコル
【図１】
0006634225.tif 000002
【図２】
0006634225.tif 000003
【図３】
0006634225.tif 000004
【図４】
0006634225.tif 000005