JP6634225B2 - サーバの複数の内部レジスタにアクセスする方法 - Google Patents

サーバの複数の内部レジスタにアクセスする方法 Download PDF

Info

Publication number
JP6634225B2
JP6634225B2 JP2015122722A JP2015122722A JP6634225B2 JP 6634225 B2 JP6634225 B2 JP 6634225B2 JP 2015122722 A JP2015122722 A JP 2015122722A JP 2015122722 A JP2015122722 A JP 2015122722A JP 6634225 B2 JP6634225 B2 JP 6634225B2
Authority
JP
Japan
Prior art keywords
access
server
internal registers
internal
internal register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015122722A
Other languages
English (en)
Other versions
JP2016004587A (ja
Inventor
ブラサック クラウド
ブラサック クラウド
Original Assignee
ブル サス
ブル サス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ブル サス, ブル サス filed Critical ブル サス
Publication of JP2016004587A publication Critical patent/JP2016004587A/ja
Application granted granted Critical
Publication of JP6634225B2 publication Critical patent/JP6634225B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、サーバの複数の内部レジスタにアクセスする方法に関する。
従来、サーバの複数の内部レジスタにアクセスする方法としては、サーバの外部ユーザが、サービスプロセッサによって直接理解可能な通信プロトコルで、そのサーバの内部レジスタへのアクセスを処理するサービスプロセッサにアクセスコマンドを直接供給することが知られている。
ところが、従来のサーバの複数の内部レジスタにアクセスする方法では、外部ユーザは、内部レジスタの種類だけではなく、アドレスまたはさらにはそのコンテンツ若しくはアドレス指定形式を通信プロトコルと併せて習得する立場でいなければならない。これは、これらの内部レジスタへのアクセスを外部ユーザにとっていくらか難しくする。
さらに、平均的な外部ユーザは、この情報の全てを完全に制御することができないために、エラーのリスクは無視できない。
そこで、本発明の目的は、上述の欠点を少なくとも部分的に解消させることができるサーバの内部レジスタにアクセスする方法を提供することである。
具体的には、本発明は、第1に、外部ユーザがサービスプロセッサによって直接的に理解可能な通信プロトコルの具体的な知識を必要とせず、第2に、外部ユーザが上記内部レジスタの構造及びそれらのサーバにおける実施についての具体的な知識を必要としない、サーバの内部レジスタにアクセスする方法を提供することを目的とする。この外部ユーザによるこれらの内部レジスタへのアクセスをより人間工学的及びより安全にすること、言い換えると、内部レジスタへのそのアクセスは、より容易になり、排除されるか少なくとも大きく低下したエラーのリスクを提示する。
このため、本発明は、外部ユーザによる内部レジスタにアクセスする難しい性質、及び通信プロトコルまたは上記内部レジスタの構造及び実施の専門家でない外部ユーザに内部レジスタにアクセス可能とさせる特定の関心を強調した後に、システムのより高層または高層の複数の層に送られる上記内部レジスタの構造及び実施についての情報を同時に提供し、その高層またはそれらの複数の高層では、この通信プロトコルに比較的高レベル言語におけるコマンドを翻訳する手段を提供する。
この情報を高層または複数の高層に送ること、及び翻訳手段の実施は、本発明が外部ユーザに与える、一見すると重要であるが、サーバの内部レジスタへのアクセスの流動性及び容易性によって大きく有益となるシステム改変努力を表し、エラー、特に内部レジスタの間違ったアドレス指定に関するリスクの実質的な減少も言うまでもない。
この目的を得るべく、本発明は、サーバの複数の内部レジスタにアクセスする方法を提供し、前記サーバの外部ユーザからのアクセスコマンドを前記サーバのサービスプロセッサに、前記サービスプロセッサが直接的に理解可能な通信プロトコルを用いて送信することと、前記内部レジスタにアクセスするのに1つ以上のアクセスプロトコルを用いて、前記サービスプロセッサによって前記内部レジスタにアクセスすることと、1つ以上のサービスモジュールによって、前記外部ユーザが発行したコマンドラインを前記通信プロトコルでのアクセスコマンドに自動変換することとを含み、前記コマンドラインの言語は前記通信プロトコルのものよりも高レベルのものであり、前記1つ以上のサービスモジュールは前記コマンドラインに含まれる前記内部レジスタの名前を、少なくとも前記アクセスコマンドにおける前記内部レジスタの対応するアドレスにマッピングし、前記サービスプロセッサから前記内部レジスタへの外部ユーザによって指令されるアクセスの際は、前記内部レジスタのステータスのコピーを更新する目的での前記サービスプロセッサの直接制御下での前記内部レジスタへの監視アクセスとの衝突のリスクの可能性を前記サービスプロセッサが処理することを特徴とする。
サーバの内部レジスタへのアクセスは、読出しアクセスまたは書込みアクセスである。サーバの内部レジスタは、メモリから区別される、サーバの計算コンポーネントの内部レジスタであって、サーバは、計算コンポーネントとメモリとを備える。通信プロトコルの専用の性質及び内部レジスタに関連する情報の比較的隠されたまたは埋没された性質は、システムの最も高い層への移動を前もって仕掛けるわけではない。
外部ユーザによって指令される、サービスプロセッサによる内部レジスタへの前記アクセスの間、前記内部レジスタのステータスのコピーを更新するための前記サービスプロセッサによって直接的に指令される前記内部レジスタへの監視アクセスとの衝突のリスクの可能性は、サービスプロセッサによって処理される。よって、サービスプロセッサは、内部レジスタにアクセスするための、監視プロセスからの1つと同様に外部ユーザからの要求の両方の種類を直接的に受け取った後に、そのレベルにおいて、衝突のリスクを処理することができ、結果としてより容易に除去することができる。
この目的を得るべく、本発明は、また、サーバの複数の内部レジスタにアクセスするための、サーバの外部の外部ユーザからのアクセスコマンドをサーバのサービスプロセッサに送信するように適合される、前記サービスプロセッサから前記内部レジスタにアクセスするための前記サービスプロセッサによって直接的に理解可能な通信プロトコルを用いて、1つ以上のアクセスプロトコルを前記内部レジスタに用いるユーザインターフェースを提供し、前記外部ユーザによって発行されたコマンドラインを前記通信プロトコルにおける前記アクセスコマンドに自動変換するように適合される、前記コマンドラインの言語が前記通信プロトコルのものよりも高いレベルのものであり、前記コマンドラインに含まれる前記内部レジスタの名前、少なくとも前記アクセスコマンドにおける前記内部レジスタの対応するアドレスに関連付けるための1つ以上のサービスモジュールを備えることを特徴とする。
本発明の実施形態によれば、結果的には、外部ユーザに対してサーバの計算コンポーネントの内部レジスタに読み出すまたは書き込むための単純なアクセス方法を提供するようになっている。
本発明の好ましい実施形態によれば、結果的には、計算コンポーネントの内部レジスタを読み出す及び書き込めるように、並びに外部ユーザにPythonモジュールを提供することでスクリプトを書き込む能力を与えるように、コマンドラインインターフェースを提供するようになっている。
本発明の実施形態によれば、これらのアクセスを機械に、機械が動作中であっても行うようになっている。
本発明の実施形態によれば、それらの名前、アドレス及びコンテンツの説明を含む全ての内部レジスタの完全なリストを生成して、外部ユーザから隠れる、言い換えれば、外部ユーザにとって全てまたは一部が透明となるようになっている以下を含む要素:これらレジスタへのアクセス方法、機械が動作中であるという事実によるこれらのレジスタへの同時アクセスの問題、レジスタのアドレス及びサーバの動力ステータスのモジュールを有するスクリプト言語、を提供する。
望ましい実施形態によれば、本発明は、別々に用いられるか部分的または完全にそれらの間で組み合わせて、特に上記の構成要素の1つと共に用いることができる以下の特徴の1つ以上を備える。
好ましくは、前記1つ以上のサービスモジュールは、前記コマンドラインに含まれる前記内部レジスタの名前、及び前記アクセスコマンドにおける前記内部レジスタに対応するアドレス形式に関連付けられる。よって、内部レジスタにサービスプロセッサをアクセスさせることを許可する全ての関連する情報がアクセスコマンドに組み込まれ、別の追加ステップに加えられる必要がない。
好ましくは、前記サービスモジュールの少なくとも1つは、前記名前に関連付けられる前記内部レジスタの名前、前記内部レジスタの対応するアドレスのリストを含み、前記リストは前記外部ユーザによってアクセスし得る全ての前記内部レジスタを好ましくは備え、各サーバ構成にて、このリストは更新される。各サーバ構成での内部レジスタのリストの更新は、いかなるときであれ関心を持たれ得る全ての内部レジスタに外部ユーザによるアクセスを保証するので特に有利であり、ある所定の時点であっても、内部レジスタの構成または実施は改変される。これに該当しない場合、このような改変の際は、この内部レジスタの改変のための更新動作が他で行われるまで内部レジスタにアクセスすることができなかった。
好ましくは、前記リストは、前記名前及び前記アドレス、前記内部レジスタの全ての部分の説明とも関連付けられる。結果として、外部ユーザに内部レジスタへのアクセスが保証されるだけではなく、特定のビットを変更するか分析するなどの細かい動作なども行うことが可能となる。
好ましくは、前記衝突のリスクは、前記外部ユーザによって指令される前記アクセスを、中断されない前記監視アクセス進行中の全ての段階中に静止させることで回避される。実際に、外部ユーザによって指令されるアクセスが少々遅延しても深刻な結果を招くことはないが、監視プロセスの途中に起きるよく制御されていない妨害はシステム動作を著しく劣化させる可能性がある。
好ましくは、前記監視アクセスの前記進行は、サービスプロセッサと前記内部レジスタとの間に位置するマルチプレクサの再構成と内部レジスタの少なくとも1つを読み出すステップとの連続を少なくとも含む。マルチプレクサの再構成と読み出しとの間に起こり得る監視プロセスの中断は、外部ユーザからの、監視プロセスによるアクセス要求のために予定された再構成を受け継ぐ別のアクセス要求であるために、著しくシステムの動作を妨害するであろう。
好ましくは、前記コマンドラインは、1つ以上のスクリプトにグループ分けすることができる。よって、外部ユーザによる前記内部レジスタの処理は、外部ユーザにとってより流動的となる。コマンドラインインターフェースは、外部ユーザとコンピュータとの間の通信がテキストモードで行われ、外部ユーザがテキストコマンドを打ち込んでテキスト応答を読む、人対機械のインターフェースである。スクリプトとは、コンパイルを必要とせず、単に翻訳を用いてタスクを実行することが可能なプログラムである。
好ましくは、コマンドラインは外部ユーザに、アクセスされる前記内部レジスタの名前を、そのアドレス、そのアドレスフォーマット、及びそのアクセスモードを除外して供給することのみを要求する。よって、外部ユーザによる前記内部レジスタの処理は、さらに外部ユーザにとって容易となる。
好ましくは、外部ユーザからのコマンドラインの1つに反応して、前記内部レジスタのビット値が、これらのビットと対応するフィールドの名前と一緒に表示される。よって、外部ユーザは、各内部レジスタについてビット毎に、そのコンテンツが探している情報と一致することを認証することができる。この追加されたセキュリティによって、外部ユーザは、以前に注意を引かなかったり外部ユーザの注意から漏れていたりした内部レジスタの構成の変更に直ちに気づくことができ、または、必要に応じて内部レジスタの細かい構成を行うことができる。
好ましくは、前記コマンドラインの言語は、Python言語である。この言語は、外部ユーザにとって、サーバの内部レジスタの処理について特に単純及び流動的である。Pythonは、周知の高レベルプログラミング言語であり、コマンドラインについて構文が限られており、特にスクリプトコンテクストにおいて有効である。
好ましくは、前記通信プロトコルは、IPMIプロトコルである。この通信プロトコルは、サーバの内部レジスタ上の予定された動作を行うのに特に有効である。IPMI(「Intelligent Platform Management Interface」を示す)は、情報システムの外部処理用の標準化インターフェースであり、本明細書では、サーバを、外部ユーザによって、外部ユーザのパソコンを介して処理することができる。
好ましくは、前記IPMI通信プロトコルは、イーサネット(登録商標)バス上で実行される。イーサネット(登録商標)バスは、外部ユーザのPC型コンピュータとサーバのサービスプロセッサとの間でコマンドを、IPMIプロトコルで送信する有効なゲートウェイである。
好ましくは、前記内部レジスタは、サーバの1つ以上のコンポーネント、前記コンポーネントに囲まれ得る1つ以上のCPU及び/または1つ以上のASIC及び/または1つ以上のFPGAに属する。その内部レジスタが外部ユーザによって処理されるであろう広範囲にわたるコンポーネントは、本発明によって提供される内部レジスタへのアクセス方法をなおいっそう便利にする。なぜなら、このアクセス方法は、簡易化され、より流動的にされているからである。
本発明は、外部ユーザによるサーバの内部レジスタへのアクセスを容易にすることができる。
本発明のその他の特徴及び利点は、添付の図面を参照して例示として与えられる、以下の本発明の好ましい実施形態の記載を読むことで明らかになろう。
図1は本発明の一実施形態に係るサーバの内部レジスタにアクセスする方法を実行する際に、サーバの内部レジスタに関連する情報のより高層への送出を実行するソフトウェアアーキテクチャの例を概略的に示す図である。 図2は本発明の一実施形態に係る、図1のソフトウェアアーキテクチャに対応する、Python言語についての対象物分類の木構造の例を概略的に示す図である。 図3は本発明の一実施形態に係る、図1のソフトウェアアーキテクチャに対応する、Python言語についてのコンポーネントの例示的な図を概略的に示す図である。 図4は本発明の一実施形態に係る、図1のソフトウェアアーキテクチャに対応する、外部ユーザコマンドラインに対する応答の例を概略的に示す図である。
本発明は、第1に、外部ユーザがサービスプロセッサによって直接的に理解可能な通信プロトコルの具体的な知識を必要とせず、第2に、外部ユーザが上記内部レジスタの構造及びそれらのサーバにおける実施についての具体的な知識を必要としないという目的を、外部ユーザからのアクセスコマンドを、1つ以上のアクセスプロトコルを用いて内部レジスタにアクセスするサービスプロセッサが直接的に理解可能な通信プロトコルを用いてサービスプロセッサに送信することと、外部ユーザによって発行されたコマンドラインを、通信プロトコルでのアクセスコマンドに、少なくとも内部レジスタの対応するアドレスと外部ユーザから供給される内部レジスタの名前とを関連付ける1つ以上のサービスモジュールを用いて自動変換することとを含んで実現するものである。
図1は、本発明の一実施形態に係るサーバの内部レジスタにアクセスする方法を実行する際に、サーバの内部レジスタに関連する情報のより高層への送出を実行するソフトウェアアーキテクチャの例を概略的に示す。
コンピュータシステムは、サーバ自体のコンポーネントに対応するより低い層から外部ユーザとのインターフェースに対応する最も高い層までのいくつかの重ねられた層を備える。層は重ねられているため、最も低いところから高いところまで順に、アクセスされるコンポーネント用の層7、アクセス方法用の層6、イーサネット(登録商標)バス用の層5、IPMIツールボックス用の層4、サービスモジュール用の層3、プレゼンテーション層である層2、アプリケーション層である層1を有する。
アクセスされるコンポーネント層7は、それ自体が1つ以上の内部レジスタ75を備えるいくつかの種類のコンポーネント74を含む。これらの内部レジスタ75が、外部ユーザがアクセスして処理及び可能であれば改変したいものである。アクセスされるコンポーネント層7は、例えば、CPU(「中央処理コンポーネント」)型のコンポーネント71、ASIC(「特定用途向け集積回路」)型コンポーネント72、FPGA(「フィールドプログラマブルゲートアレイ」)型コンポーネント73を含む。
層6は、アクセス方法に対応する。これは、アクセスプロトコル層61〜63と、アクセスプロトコル層61〜63の上に位置する、アクセス同時実行を処理する層60とを含む。コンポーネント71〜73のそれぞれは、対応するアクセスプロトコル61〜63の手段によってアクセスされる。CPU型のコンポーネント71は、標準化された「PECIアクセス」(「プラットフォーム環境の制御インターフェース(Platform Environment Control Interface)」)プロトコル61を介してアクセスされる。ASIC型コンポーネント72は、「I2Cアクセス」(「Inter Integrated Circuit」)アクセスプロトコル62を介してアクセスされる。FPGA型コンポーネント73は、「XBUSアクセス」(「XBUS」は「MBUS」の代わりとなる)アクセスプロトコル63を介してアクセスされる。アクセスプロトコル61〜63は、それぞれアクセスコンポーネント71〜73に適合される。
アクセス同時実行処理用の層60は、同一コンポーネントにアクセスするいくつかの同時要求がある場合に衝突リスクを処理し、それを回避する。同時実行アクセス処理層60は、外部ユーザからのアクセス要求よりも高い優先順位を有するコンポーネントの内部レジスタのコピーを更新するために、アクセス要求の階層、監視アクセスのための要求を確立させる。アクセス方法用の層6は、サービスプロセッサ82によって完全に処理される。
このようにして、これらのアクセスは、サービスプロセッサ82上で実行される監視ソフトウェアに対して結果として干渉しない。これを得るべく、サービスプロセッサソフトウェア82は、サーバ83の計算コンポーネント71〜73への同時実行のアクセス要求を処理する。これらの同時実行アクセスは、サービスプロセッサからの内部レジスタアクセス要求と外部ユーザからの外部アクセス要求との間、または同一計算コンポーネントに外部アクセス要求を行う2人の外部ユーザ間で起こり得る。
アクセス同時実行処理を扱う層60は、アクセス同時実行を処理するだけではなく、これらの動作がサーバ83の動力ステータスにかかわらず行えることを確認する。実際に、サーバ83へのアクセスは、電源が入っているかスタンバイであるかにかかわらず、動作中の機械において行うことができる。このため、これらのアクセスは、少なくともスタンバイモードにおいては永久的に動力を供給され、サーバ83のCPU上にあるサービスプロセッサ82(「処理コントローラ」)を介して行われる。
さらに、前記アクセスは、サーバ83上で実行されるソフトウェアに対して干渉しない。これは、クライアントアプリケーションによって用いられるその他のプロセッサとは完全に独立してサービスプロセッサ82を介して行われるこれらのアクセスのおかげである。アクセスプロトコル層61〜63は、さまざまな計算コンポーネント71〜73の内部レジスタ74へのアクセスを外部ユーザからは見えない様態でサービスプロセッサ82に処理させるようにすることができる。このため、サービスプロセッサ82は、最初に各計算コンポーネント71〜73それぞれが必要なドライバを提供して、サービスプロセッサ82を各計算コンポーネント71〜73のそれぞれ1つずつにリンクさせるプロトコルそれぞれの処理をも提供する。その後、サービスプロセッサ82は、計算コンポーネント71〜73への同時アクセスを処理し、特に計算コンポーネント71〜73へのアクセスを許容する制御スイッチを処理する。次に、サービスプロセッサ82は、サーバ処理において標準的である外部アプリケーションIPMI型インターフェースを提供する。このインターフェースは、その入力で、計算コンポーネントの種類、そのアドレス、関連する内部レジスタのアドレス及びその内部レジスタ用の読出し及び書込みアクセスモードなどを含むいくつかの情報を取り込む。
イーサネット(登録商標)バスの層5は、第1に層1〜4を備える外部ユーザのパソコン81の空間と、第2に外部ユーザがアクセスしたいと願い、層6及び7を備えるサーバ83の空間との間の通信を可能にする。イーサネット(登録商標)バス上で行われる通信は、IPMIプロトコルを用いる。
IPMIツールキットの層4は、層5のイーサネット(登録商標)バス上に渡すように意図されるメッセージに、層3からのIPMI言語でのコマンドを包含することを可能にする。IPMIツールボックスの層4もまた、層6に由来し、層5のイーサネット(登録商標)バス上を通過したIPMI言語反応の抽出を可能にする。
サービスモジュール30用の層3は、外部ユーザからの高レベルのコマンドラインを、サービスプロセッサ82によって直接的に理解される最も低いレベルのアクセスコマンドに変換することを可能にするタスクを行う。
したがって、いくつかのタスクが行われる。第1は、読出しまたは書込みのいずれについてかにもかかわらず、対象物分類及びそれらに関連するアクセス方法の定義付け。
次に、外部ユーザがアクセスしたい内部レジスタのリスト及び定義づけ。特に、それらのアドレス及びアドレス形式を有し、この位置に配列されるビットそれぞれの説明を有するサーバの内部レジスタのリスト、言い換えると、外部ユーザのパソコン空間81におけるサービスモジュール30の高層3にあるものが、第1に外部ユーザからの単純な構造を有する高レベルのコマンドラインを受けることを可能にし、第2にまだIPMI言語でしか直接的にコマンドを含まないサービスプロセッサ82をほんのわずかだけしか変更させない。最も高いレベルからのコマンドを受けられるようにするサービスプロセッサの構造の著しい変更は、外部ユーザのパソコン空間81におけるサービスモジュール30の、本発明によって提案される、外部ユーザの作業を例えばPython言語といった高レベル言語での簡単なコマンドラインを単独で用いることでより、人間工学的及び簡単にすることにより大きく容易にするということの実施よりも、より複雑で高価となる。
この後に、外部ユーザからのアクセス要求を、層4にある「IPMIツール」ツールボックスを用いてIPMIコマンドのコマンドライン形式に変換することが続く。
このため、サービスモジュール30の層3は、サーバ83の各再構成にて、計算コンポーネント71〜73の全ての内部レジスタ74の全ての徹底的なリストを、各レジスタ74について、レジスタの名前、そのアドレス、及びコンテンツの説明、すなわち、内部レジスタ74の各ビット75と共に生成し、更新する。
サーバ83の開発のために用いられるデザインツールから自動的に生成されるこれらの情報の全ては、外部ユーザのために、内部レジスタ74を処理するのに必要なデータの完全性、サーバ83の各再構成にて更新することを可能とするその時間経過での実行可能性、これら同一内部レジスタ74の処理に関与する全ての外部ユーザのための、彼らのニーズに沿って内部レジスタ74の名前及びアドレスを探すためにさまざまな計算コンポーネントの仕様を与える書類を参照する必要がなくなった外部ユーザまたは外部ユーザのためのリアルタイム節約を含むこの情報の一貫性及び普遍性を確実にすることができる。好ましくは、さまざまな計算コンポーネント71〜73の内部レジスタ74のリストは、外部ユーザに提供されるサービスモジュール30に含まれる。このリストは、各内部レジスタ74について、その内部レジスタ74の名前、内部レジスタ74のアドレス、及び内部レジスタ74の各ビット75の説明を含む。
プレゼンテーション層2は、内部レジスタ74から上方向に送られた情報をフォーマットして、人間工学的及び外部ユーザにとって簡単に理解可能となるようにする層である。層2及び3は、ここで、例えば、Python言語といった比較的高レベル言語で開発される。層2及び3並びにこれらの装飾物は、要素80によって象徴化される。
アプリケーション層1は、パソコン81の外部ユーザによって容易に使用可能な高レベル言語でのコマンドライン11を含み、サーバ83の内部レジスタ74のビット75を処理し、データを抽出し、さらに必要であれば変更する。サービスモジュール層3でのサービスモジュール30の実施を通して、すなわちパソコン空間81及びIPMIツールボックス4の上流にて、外部ユーザによる前記内部レジスタ74の精密な処理が簡単なコマンドライン11の使用を通して可能となる。有利に、これらのコマンドライン11は、1つ以上のスクリプト12にグループ分けすることができる。よって、スクリプト12を実行させ始めることは、いくつかのコマンドラインを適切な時に自動的に実行させることができ、外部ユーザに対して内部レジスタ74についてのさまざまな情報を直接表示させることができる。好ましくは、スクリプト12に用いられる言語及びこれらのモジュール(「ライブラリ」)は、Python言語であり、これによって対照指向性プログラミングも可能となる。この言語によって外部ユーザに「制御インターフェース」モードで動作するインターフェースを、また外部ユーザが書き込むことができて次の外部ユーザによっても再利用され得るスクリプト12のライブラリをも容易に提供することができるようになる。
図2は、本発明の一実施形態に係る、図1のソフトウェアアーキテクチャに対応する、Python言語についての対象物分類の木構造の例を概略的に示す。木の根20から始まり、さまざまな計算コンポーネント21のリストが開いていく。上から下で、最初の3つの計算コンポーネント21は、ASIC型コンポーネントであり、続く3つのコンポーネント21は、CPU型計算コンポーネントであり、最後の計算コンポーネント21は、FPGA型である。各コンポーネント21、22は、それぞれ複数のファイル22、すなわち関連する計算コンポーネント21の全ての内部レジスタ74のリストを含む「reglist」型のファイル22が関連付けられており、「spec」型のファイル22は、関連する計算コンポーネント21のさまざまな内部レジスタ74のコンテンツの説明を含む。外部ユーザからの高レベルのコマンドラインをサービスプロセッサによって直接理解されるIPMI型のアクセスコマンドに変換するときに、これらのファイル22がサービスモジュール30によって用いられる。ファイル22は、基本の入出力システム(BIOS「基本入出力システム」)の生成中に、基本入出力システムを構築するさらなる段階で生成される。
図3は、本発明の一実施形態に係る、図1のソフトウェアアーキテクチャに対応する、Python言語についてのコンポーネントの例示的な図を概略的に示す。Python言語31で書かれる1つのコマンドライン32について、計算コンポーネントのリストを含むファイル33は、コマンドライン32に一体化される欠落している情報を、この計算コンポーネントについて内部レジスタのコンテンツに関連するファイル34に、そして特定の計算コンポーネントの内部レジスタの名前、アドレス及びアドレス指定形式を含むファイル35に取り込むことができる。図3のファイル34及び35は、図2のファイル22の詳細を示す。
図4は、本発明の一実施形態に係る、図1のソフトウェアアーキテクチャに対応する、外部ユーザのコマンドラインに対する応答の例を概略的に示す。第40行は、上方向に送られる情報を示す。第41行は、問題のサーバの種類を特定し、ここでは「Mesca2−EVT2−BCS4」である。第42行は、関連する計算コンポーネントの種類を特定し、ここでは「FPGA No.0」である。第43行は、関連する処理動作の種類、ここでは「読出し」、及び関連する内部レジスタの種類、ここでは「CIX_Functionality_Register_1」の両方を特定し、結果的に読み出されたものが前記内部レジスタ「CIX_Functionality_Register_1」のコンテンツであることを特定する。第44行は、最初に内部レジスタのアドレスを与え、ここでは「12」であり、4ビットの内部レジスタと対応し、これらのビットは次に列挙される。内部レジスタの第1ビットに対応するフィールドの名前は、ここでは「EMERGENCY_PWROFF」であり、その値は0である。第2の内部レジスタビットに対応するフィールドの名前は、ここでは「MRM_HOT_PLUG」であり、その値は0である。第3内部レジスタビットに対応するフィールド名は、ここでは「PCIE_HOT_PLUG」であり、その値は1である。第4内部レジスタビットに対応するフィールドの名前は、ここでは「LCP_PWRON」であり、その値は1である。第1と第4ビットは、電力供給の状態に関連し、第2と第3ビットは、接続状態に関連する。オペレーティングシステム(OS)が後で取って代われるように、計算コンポーネントの内部レジスタの状態は、サーバの一次構成の説明を与える。
本発明は、明らかに、記載及び図示される実施例及び実施形態に限定されず、当業者がアクセス可能な数々の変更が可能である。
この発明に係るアクセス方法は、各種分野で用いることが可能である。
11 コマンドライン
30 サービスモジュール
61〜63 アクセスプロトコル
74 内部レジスタ
82 サービスプロセッサ
83 サーバ
IPMI 通信プロトコル

Claims (13)

  1. サーバ(83)の複数の内部レジスタ(74)にアクセスする方法であって、
    前記サーバ(83)の外部ユーザからのアクセスコマンドを前記サーバ(83)のサービスプロセッサ(82)に、前記サービスプロセッサ(82)が直接的に理解可能な通信プロトコル(IPMI)を用いて送信することと、
    前記内部レジスタ(74)にアクセスするのに1つ以上のアクセスプロトコル(61〜63)を用いて、前記サービスプロセッサ(82)によって前記内部レジスタ(74)にアクセスすることと、
    1つ以上のサービスモジュール(30)によって、前記外部ユーザが発行したコマンドライン(11)を前記通信プロトコル(IPMI)でのアクセスコマンドに自動変換することとを含み、
    前記コマンドライン(11)の言語(Python)は前記通信プロトコル(IPMI)のものよりも高レベルのものであり、前記1つ以上のサービスモジュール(30)は前記コマンドライン(11)に含まれる前記内部レジスタ(74)の名前を、少なくとも前記アクセスコマンドにおける前記内部レジスタ(74)の対応するアドレスにマッピングし、
    前記サービスプロセッサ(82)から前記内部レジスタ(74)への前記外部ユーザによって指令されるアクセスの際は、前記内部レジスタ(74)のステータスのコピーを更新する目的での前記サービスプロセッサ(82)の直接制御下での前記内部レジスタ(74)への監視アクセスとの衝突のリスクの可能性を前記サービスプロセッサ(82)が理することを特徴とするサーバの複数の内部レジスタにアクセスする方法。
  2. 前記1つ以上のサービスモジュール(30)は、前記コマンドライン(11)に含まれる前記内部レジスタ(74)の名前と、さらに前記アクセスコマンドにおける前記内部レジスタ(74)に対応するアドレス形式にも関連していることを特徴とする請求項1に記載のサーバの複数の内部レジスタにアクセスする方法。
  3. 前記サービスモジュール(30)の少なくとも1つが、名前、前記内部レジスタ(74)の対応するアドレスに関連している前記内部レジスタ(74)の前記名前のリストを含み、前記リストは好ましくは前記外部ユーザによってアクセスされ得る全ての前記内部レジスタ(74)を備え、前記サーバ(83)の構成毎に、前記リストが更新されることを特徴とする請求項1または請求項2に記載のサーバの複数の内部レジスタにアクセスする方法。
  4. 前記リストは、また、前記名前及び前記アドレス、前記内部レジスタ(74)の全てのビット(75)の説明と関連していることを特徴とする請求項3に記載のサーバの複数の内部レジスタにアクセスする方法。
  5. 前記衝突のリスクは、中断されることのない前記監視アクセスの進行の全ての段階中に前記外部ユーザによって制御される前記アクセスを保留させることで回避することを特徴とする請求項1〜4のいずれか1項に記載のサーバの複数の内部レジスタにアクセスする方法。
  6. 前記監視アクセスの前記進行は、前記サービスプロセッサ(82)と前記内部レジスタ(74)との間に位置するマルチプレクサを再構成することと前記内部レジスタ(74)の少なくとも1つを読み出すことのうちの1つの連続を少なくとも含むことを特徴とする請求項5に記載のサーバの複数の内部レジスタにアクセスする方法。
  7. 前記コマンドライン(11)は、1つ以上のスクリプト(12)にグループ分けすることができることを特徴とする請求項1〜6のいずれか1項に記載のサーバの複数の内部レジスタにアクセスする方法。
  8. 前記コマンドライン(11)は、前記外部ユーザに、アクセスされる前記内部レジスタ(74)の名前を、そのアドレス、そのアドレス形式、及びそのアクセスモードを除外して供給することのみを要求することを特徴とする請求項1〜7のいずれか1項に記載のサーバの複数の内部レジスタにアクセスする方法。
  9. 前記外部ユーザからの前記コマンドライン(11)の1つに反応して、前記内部レジスタ(74)のビット(75)の値がこれらのビット(75)に対応するフィールド名と共に表示されることを特徴とする請求項1〜8のいずれか1項に記載のサーバの複数の内部レジスタにアクセスする方法。
  10. 前記コマンドライン(11)の言語が、Pythonであることを特徴とする請求項1〜9のいずれか1項に記載のサーバの複数の内部レジスタにアクセスする方法。
  11. 前記通信プロトコルは、IPMIプロトコルであることを特徴とする請求項1〜10のいずれか1項に記載のサーバの複数の内部レジスタにアクセスする方法。
  12. 前記IPMIプロトコルが、イーサネット(登録商標)バス上で実行されることを特徴とする請求項11に記載のサーバの複数の内部レジスタにアクセスする方法。
  13. 前記内部レジスタ(74)は、前記サーバの1つ以上のコンポーネント(71〜73)、前記コンポーネント(71〜73)の1つであり得る1つ以上のCPU、及び/または1つ以上のASIC、及び/または1つ以上のFPGAに属することを特徴とする請求項1〜12のいずれか1項に記載のサーバの複数の内部レジスタにアクセスする方法。
JP2015122722A 2014-06-18 2015-06-18 サーバの複数の内部レジスタにアクセスする方法 Expired - Fee Related JP6634225B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1455594A FR3022650B1 (fr) 2014-06-18 2014-06-18 Procede d'acces a plusieurs registres internes d'un serveur
FR1455594 2014-06-18

Publications (2)

Publication Number Publication Date
JP2016004587A JP2016004587A (ja) 2016-01-12
JP6634225B2 true JP6634225B2 (ja) 2020-01-22

Family

ID=51225833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015122722A Expired - Fee Related JP6634225B2 (ja) 2014-06-18 2015-06-18 サーバの複数の内部レジスタにアクセスする方法

Country Status (5)

Country Link
US (1) US10120699B2 (ja)
EP (1) EP2975532B1 (ja)
JP (1) JP6634225B2 (ja)
BR (1) BR102015014439A2 (ja)
FR (1) FR3022650B1 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0785219B2 (ja) 1990-11-15 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム及びデータ制御方法
US6665731B1 (en) * 2000-05-16 2003-12-16 Intel Corporation Method for remotely accessing component management information
US6874049B1 (en) 2001-02-02 2005-03-29 Cradle Technologies, Inc. Semaphores with interrupt mechanism
TWI271981B (en) * 2004-05-24 2007-01-21 Aten Int Co Ltd An IPMI validating system and method
US7590737B1 (en) * 2004-07-16 2009-09-15 Symantec Operating Corporation System and method for customized I/O fencing for preventing data corruption in computer system clusters
US20060101372A1 (en) * 2004-11-10 2006-05-11 Dell Products L.P. Method, system, and software for determining platform management functionality
US8892700B2 (en) * 2009-02-26 2014-11-18 Red Hat, Inc. Collecting and altering firmware configurations of target machines in a software provisioning environment
US9268619B2 (en) * 2011-12-02 2016-02-23 Abbott Informatics Corporation System for communicating between a plurality of remote analytical instruments
EP2608487A1 (en) * 2011-12-22 2013-06-26 Thibaud Arnault Method, system and computer program product for providing composite web application
US8875154B2 (en) * 2013-01-25 2014-10-28 American Megatrends, Inc. Interface specific and parallel IPMI message handling at baseboard management controller

Also Published As

Publication number Publication date
FR3022650B1 (fr) 2017-10-20
EP2975532A2 (fr) 2016-01-20
FR3022650A1 (fr) 2015-12-25
EP2975532A3 (fr) 2016-04-06
US20150370578A1 (en) 2015-12-24
BR102015014439A2 (pt) 2016-08-09
US10120699B2 (en) 2018-11-06
EP2975532B1 (fr) 2024-03-27
JP2016004587A (ja) 2016-01-12

Similar Documents

Publication Publication Date Title
EP3030969B1 (en) Automated application test system
US8464242B2 (en) Virtualization of configuration settings
JP5679989B2 (ja) デバッグパイプライン
US9134971B2 (en) Extensible device object model
US9659012B2 (en) Debugging framework for distributed ETL process with multi-language support
CN103336705B (zh) 脚本处理和工作流系统间的自动转码和语义自适应
US20100162230A1 (en) Distributed computing system for large-scale data handling
US20130282725A1 (en) Automation-assisted curation of technical support information
US10289785B1 (en) Platform architecture creation for a system-on-chip
JPWO2013191275A1 (ja) 制御装置
JP2006244415A (ja) データ制御装置
US20160140261A1 (en) Lean product modeling systems and methods
Achermann et al. Formalizing memory accesses and interrupts
US10891114B2 (en) Interpreter for interpreting a data model algorithm and creating a data schema
CN110717268A (zh) 一种基于face架构的可移植组件单元封装方法
US11700241B2 (en) Isolated data processing modules
US10929573B2 (en) Systems and methods for designing and modeling products in a cloud environment
RU2606877C1 (ru) Система и способ обработки данных в исполняемой на компьютере системе
JP6634225B2 (ja) サーバの複数の内部レジスタにアクセスする方法
US20190356725A1 (en) Generating client applications from service model descriptions
CN113010161A (zh) 视图转换方法、视图转换装置和存储介质
JP5963313B2 (ja) 情報処理装置、方法、及び、プログラム
RU2814437C1 (ru) Способ и устройство для генерации удаленных вызовов
EP4345609A1 (en) System and method for decomposing monolith applications into software services
JP6950310B2 (ja) 情報処理装置および管理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150827

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20171117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20171117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180815

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191216

R150 Certificate of patent or registration of utility model

Ref document number: 6634225

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees