JP2009519520A - 処理能力のリアル・タイム・ベンチマーキングに基づきソフトウェア製品の使用量を測定する方法、システムおよびコンピュータ・プログラム - Google Patents

処理能力のリアル・タイム・ベンチマーキングに基づきソフトウェア製品の使用量を測定する方法、システムおよびコンピュータ・プログラム Download PDF

Info

Publication number
JP2009519520A
JP2009519520A JP2008544910A JP2008544910A JP2009519520A JP 2009519520 A JP2009519520 A JP 2009519520A JP 2008544910 A JP2008544910 A JP 2008544910A JP 2008544910 A JP2008544910 A JP 2008544910A JP 2009519520 A JP2009519520 A JP 2009519520A
Authority
JP
Japan
Prior art keywords
execution
benchmark program
computer
time
program
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.)
Granted
Application number
JP2008544910A
Other languages
English (en)
Other versions
JP5284791B2 (ja
Inventor
マクレラン、スコット
ペローネ、アントニオ
ムラッティ、ロベルト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009519520A publication Critical patent/JP2009519520A/ja
Application granted granted Critical
Publication of JP5284791B2 publication Critical patent/JP5284791B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】データ処理システム上のソフトウェア製品の使用量を測定するソリューション(300)を提案する。
【解決手段】これに関連して、一般的なソフトウェア製品が実行される各コンピュータの処理能力を知る必要があることが多い(例えば、区別された課金単価に基づきライセンシング会計を行うために)。提案されるソリューションでは、コンピュータ上で直接、処理能力が動的に推定される。この目的のために、起動時にまたは定期的になど、低水準言語で書かれた(単一スレッドの)ベンチマーク・プログラムが実行される(308〜322)。このようにして、ベンチマーク・プログラムの測定された実行時間をその命令の既知数で割る(324)ことで、コンピュータの単一のマイクロプロセッサの実行率を判断することが可能である。この値に、利用可能なマイクロプロセッサの検出された(306;332)数を掛けると、コンピュータの処理能力の正確な推定がもたらされる。コンピュータの物理的詳細を認識することをまったく必要とせずに、所望の結果を得られる。これは、コンピュータが、物理ホスト・マシンに実装された論理ゲスト・マシンで構成されていると特に有利である。
【選択図】図4〜5

Description

本発明は、情報技術分野に関する。本発明は特に、データ処理システム上のソフトウェア製品の使用量を測定することに関する。
いくつかの管理アプリケーションでは、データ処理システムにおいてソフトウェア製品の使用量を測定することが最も重要である。典型的な例は、ライセンス管理インフラストラクチャから成る。これは、システム上での既知のソフトウェア製品の実行を制御するのに使用される。市販されている業務用のライセンス管理インフラストラクチャの一例は、IBM Corporation(IBMはIBM Corporationの商標)による「IBM Tivoli License Manager(ITLM)(TivoliはIBM Corporationの登録商標)」アプリケーションに基づく。
一般的に、このようにして得られた、ソフトウェア製品の使用量についての情報は、(対応する使用条件に従った)チャージバック会計(charge−back accounting)に利用される。これに関連して、ライセンシング戦略における最近の傾向は、例えば利用可能な(マイクロ)プロセッサの数とともに課金単価を上げるなど、ソフトウェア製品が実行されるシステムのハードウェア構成に従ってソフトウェア製品の課金単価を変化させるというものである。しかし、このモデルの制限は、価格付けの点から見るとすべてのマイクロプロセッサが同等であると想定されることである(その結果、ローエンドのシステムとハイエンドのシステムとでのソフトウェア製品の使用の間に差がなくなる)。この戦略は、ハイエンド・システムに関しては過少請求につながり、逆にローエンド・システム上(過剰請求と認識されると思われる)で同じソフトウェア製品が使用されるのを妨げる。
上述の問題を解決するために、マイクロプロセッサをそれらの処理能力に従って分類することが提案されている。このようにして、(対応する課金単価を、一般的には処理能力とともに上げて適用するために)異なるシステム上でのソフトウェア製品の使用量を区別することが可能になると思われる。
しかし、上記のメカニズムの実装は非常に難しい。実際には、まず第1に、(的確な課金単価を関連付けられるようにするために)マイクロプロセッサに重み付けをするための標準のベンチマークを確立する必要がある。さらに、既存のマイクロプロセッサの全タイプ(マイクロプロセッサの重みを伴う)のカタログが、ライセンシング・アプリケーションに利用可能でなければならない。これは、カタログを常に最新に保つという負担を与える。
いかなる場合でも、システムが実コンピュータで構成されていなければ必ず技術的な問題に直面する。例えば、システムは(物理)ホスト・マシンの論理パーティションによって実装されることもある。保持が非常に容易な(論理)ゲスト・マシンを(異なる実コンピュータを増設する必要なく)多数シミュレートできるようになるため、当該のソリューションはますますよく使われるようになっている。しかしこの状況では、システムはライセンシング・アプリケーションによって必要とされる構成情報(例えば、マイクロプロセッサの数およびタイプ)を集められないことが非常に多い。実際、設計上の意図的な選択、または環境固有の制限が原因で、この情報はゲスト・マシンに対して隠されていることもある。
本発明は独立請求項に記されているようにソリューションを提供する。本発明の有利な実施形態が従属請求項に記載されている。
原則として、本発明は、システムの処理能力を動的に測るという考えに基づく。
特に、本発明の態様は、データ処理システム上のソフトウェア製品の使用量を測定する方法を提案する。この方法は、システム上の一連の所定のソフトウェア製品それぞれの実行を示す実行インデックス(それらの実行期間など)を測るステップから開始する。続いて、対応する実行インデックスおよびシステムの処理能力に従って、各ソフトウェア製品の使用量が判断される。この目的のために、ベンチマーク・プログラムがシステム上で実行される。ベンチマーク・プログラムは所定数の命令を実行する。方法は、ベンチマーク・プログラムの実行時間の指標を判断することによって継続する。次に、実行時間および命令の数に従って処理能力を計算できる。
本発明の実施形態では、ベンチマーク・プログラム(割り込み不可)の開始時間および終了時間を記録し、次にそれらの差を計算することによってその実行時間が判断される。
別の実施形態では、対応するプロセスに対してシステムのプロセッサにより費やされた時間を読み出す(オペレーティング・システムからなど)ことによって同じ結果が得られる。
一般的に、ベンチマーク・プログラムは低水準言語(例えばアセンブラなど)で書かれている。
システムが起動されたときにベンチマーク・プログラムの実行を開始するという選択が推奨される。
提案されるソリューションがマイクロプロセッサ・システムに実装されると、ベンチマーク・プログラム(単一スレッド)によって判断された処理能力にプロセッサの数が乗じられる。
これに関連して、このソリューションをさらに改善する方法は、プロセッサの数の変化が検出されたときだけに処理能力を再計算することである。
提案されるソリューションは、複数の(論理)ゲスト・マシンを実装している(物理)ホスト・マシンに適用されると有利である(この場合、すべての動作は単一のゲスト・マシン上で行われる)。
本発明の別の態様は、方法を実行するコンピュータ・プログラムを提案する。
本発明のさらなる態様は、付随するシステムを提案する。
単に非制限的な指示の目的で与えられており添付の図面と併せて読まれる、以下の発明を実施するための最良の形態を参照すれば、発明そのもの、ならびにそのさらなる特徴および利点をよく理解できる。
特に図1を参照すると、分散型アーキテクチャを有するデータ処理システム100が表されている。システム100は、選択されたソフトウェア製品(アプリケーション・プログラムなど)の使用量を測定できるようにするライセンス管理インフラストラクチャ(例えば、上述のITLMに基づく)を実装している。システム100は、1つ以上の独立した機関を含み(図には1つだけ示されている)、これらは完全に分離し、互いに異なっている。機関内には、1つ以上の部門が定義されている。
各部門は、ランタイム・サーバ105によって形成されており、ランタイム・サーバ105は、対応する一連の実行サーバ(またはノード)110上の割り当て済みのソフトウェア製品の使用量を直接制御する。実行サーバ110は、物理ホスト・マシン115上に実装されている論理ゲスト・マシンで構成されていてもよい。各ホスト・マシン115(IBM Corporationによる「zSeries(IBM Corporationの商標)、「AS/400(IBM Corporationの商標)」または「Power5(IBM Corporationの商標)」タイプのものなど)は、1つ以上の実行サーバ110をサポートする(例えば、対応する論理パーティションを用いて)。ランタイム・サーバ105と、部門のすべての実行サーバ110とは、ネットワーク120(例えばLAN)を介して通信する。
異なるランタイム・サーバ105は、機関全体の在庫、調達および会計情報の中央管理点を実装する単一の管理サーバ125に報告を行う。ランタイム・サーバ105および管理サーバ125は、別のネットワーク130(例えば、インターネットに基づく仮想プライベート・ネットワーク、すなわちVPN(Virtual Private Network))に接続されている。
ここで図2について検討すると、上記のシステムの一般的なコンピュータ(ランタイム・サーバ、実行サーバのホスト・マシン、または管理サーバ)が150で示されている。コンピュータ150は、システム・バス153(システム内のコンピュータ150の実際の機能に従って適切に調整された構造を有する)に並列に接続されているいくつかのユニットによって形成されている。詳しくは、1つ以上の(マイクロ)プロセッサ(μP:microprocessor)156が、コンピュータ150の動作を制御する。RAM159は、マイクロプロセッサ156によってワーキング・メモリとして直接使用され、ROM162は、コンピュータ150のブートストラップのための基本コードを格納している。いくつかの周辺ユニットが、ローカル・バス165の周りに(それぞれのインターフェースを用いて)集められている。特に、大容量記憶装置は1つ以上のハード・ディスク168と、CD−ROM174を読み取るためのドライブ171とで構成されている。さらに、コンピュータ150は、入力ユニット177(例えばキーボードおよびマウス)および出力ユニット180(例えばモニタおよびプリンタ)を含む。コンピュータ150をシステムに接続するためにアダプタ183が使用されている。ブリッジ・ユニット186は、システム・バス153とローカル・バス165とを結びつけている。各マイクロプロセッサ156およびブリッジ・ユニット186は、情報伝送のためにシステム・バス153へのアクセスをリクエストするマスタ・エージェントとして動作することができる。アービタ189は、システム・バス153に対する相互排除でのアクセス承諾を管理する。
図3に移ると、上記のシステム上で実行されている主要ソフトウェア・コンポーネントが、参照200を用いてまとめて示されている。情報(プログラムおよびデータ)は一般的にハード・ディスク上に格納されており、プログラムの実行中、各コンピュータのワーキング・メモリに(少なくとも部分的に)ロードされる。プログラムは初めに、例えばCD−ROMからハード・ディスクにインストールされる。
一般的なホスト・マシン115について特に検討すると、マネジャ205は、そのハードウェア構成を制御する。この目的のために、ハードウェア・マネジャ205はユーザ・インターフェースを提供し、これは、ハードウェア・リソースの追加、削除、セットアップおよび同様のことなどの処理に利用可能なハードウェア・リソース(マイクロプロセッサ、ワーキング・メモリ、大容量記憶装置、周辺ユニットなど)を定義するのに使用される。一般的に、ホスト・マシン115のハードウェア構成における変更はいずれもマシンの再起動(コールド・チェンジ(cold change))を必要とする。なお、ホスト・マシン115はウォーム・チェンジ(warm change)もサポートすることもあり、その場合は、その動作を停止することなくハードウェア構成が更新される。これは、例えば、ホスト・マシン115がキャパシティ・オン・デマンド(CoD:Capacity on Demand)オプションで購入されている場合にあり得る。この場合は、ホスト・マシン115には、その標準的な使用に必要とされるよりも多くのハードウェア・リソース(および特にマイクロプロセッサ)が含まれる。マイクロプロセッサのサブセットは永続的に利用可能である一方、残る余分のマイクロプロセッサは、それらが実際に必要なときにのみオン・デマンドで有効化される(ワークロードのピークを受けて数時間など)。CoDオプションをサポートしている市販製品は、IBM Corporationによる、「zSeries」、「AS/400」および「Power5」コンピュータである。
仮想化レイヤ210は複数のゲスト・マシンをシミュレートし、これは、ホスト・マシン115上で実行される種々の実行サーバ110を実装する。具体的には、仮想化レイヤ210は、ホスト・マシン115を複数の論理パーティション(LPARs:Logical Partitions)に分ける。各論理パーティションは、ホスト・マシン115のハードウェア・リソースのサブセットで構成され、別々のコンピュータとして独立して動作する。一般的に、ホスト・マシン105がCoDオプションを実装すると、ハードウェア・マネジャ205は、各論理パーティションに対し、所定の最大数まで動的にマイクロプロセッサを割り当てる。例えば、ホスト・マシン115が8つのマイクロプロセッサおよび4つの論理パーティションを含めば、最大2つのマイクロプロセッサを各論理パーティションに割り当てることが可能である(言うまでもなく、総数の8に達するまで)。論理パーティション化をサポートする市販製品の例は、IBM Corporationによる「zSeries」および「AS/400」コンピュータである。
ここで、ホスト・マシン115上に定義されている一般的な実行サーバ110を参照すると、ゲスト・オペレーティング・システム215(IBM Corporationによる「zOS」、または「Linux(R)」など)が、そのソフトウェア・プラットフォームを定義しており、その上で他の任意のプログラムを実行できる。上で指摘したように、オペレーティング・システム215は実コンピュータにインストールされているかのように機能する(仮想化レイヤ210によってシミュレートされながら)。
1つ以上のソフトウェア製品220が実行サーバ110上にインストールされている。ライセンシング・エージェント225が、実行サーバ110上で実行されているソフトウェア製品220を検出する。この目的のために、ライセンシング・エージェント225は、ランタイム・サーバ105からダウンロードされるソフトウェア・カタログ230cのローカル・コピーにアクセスする(例えば、定期的に、またはその任意の変更時に)。ソフトウェア・カタログ230cは、機関内の測定対象の既知のソフトウェア製品をすべて特定している。各ソフトウェア製品は、1つ以上の実行可能モジュールにより定義される署名によって識別され、このモジュールは、実行中にソフトウェア製品の使用を示す。一般的に、各実行可能モジュールは、ソフトウェア・カタログ230c内で複数の属性(その名前、サイズおよびチェックサムなど)を用いて特定される。
ライセンシング・エージェント225は、実行サーバ110上で現在実行中のソフトウェア製品220のリスト(認識されていない未知のソフトウェア製品についての入手可能な情報を含む)をソフトウェア・モニタ235に供給する。ソフトウェア・モニタ235は、ランタイム表240にアクセスする。ランタイム表は、実行サーバ110上で使われているソフトウェア製品220のスナップショットを提供する。このようにして、ソフトウェア・モニタ235は、(動作の最後の反復以後に)開始または停止されたソフトウェア製品220を判断することができる。そのようにして得られた情報(対応するタイム・スタンプを伴う)はソフトウェア・ログ245に追加され、同時にそれに応じてランタイム表240が更新される。
本発明の実施形態によるソリューションでは、ベンチマーク・プログラム250が、実行サーバ110の処理能力を動的に測る。以下で詳しく説明されるとおり、この目的のために、ベンチマーク・プログラム250が実行されて、その実行時間が測られる。ベンチマーク・プログラム250は所定数の命令を実行する。例えば、この結果は、基本的な命令(例えば算術演算)を一定回数反復すること(ループを用いてなど)によって得られる。したがって、実行サーバ110の処理能力をその稼働率に従って推定することが可能であり、稼働率は、ベンチマーク・プログラム250の測定された実行時間を既知の命令の数で割って計算される。
提案されるソリューションは、実行サーバ110の処理能力の判断を大きくはかどらせる。具体的には、いかなるカタログを保持する必要もなく所望の結果がリアルタイムで得られる。さらに、必要な情報が動的に収集され、その結果、実行サーバ110の実際の処理能力の正確な状況が常に提供される。
いかなる場合でも、発明されたソリューションは、実行サーバ110の処理能力の測定をそれらの物理的詳細から切り離す。さらに具体的には、この技術は、実行サーバ110の実際の構造を認識することをまったく必要としない。したがって、実行サーバ110のハードウェア構成についての情報(それらのマイクロプロセッサのタイプなど)を読み出す必要はない。実行サーバ110が実コンピュータで構成されていなければ、それらのハードウェア構成についての情報を収集することは(不可能ではないにせよ)非常に困難である可能性があり、その場合にこの利点を明らかに、はっきりと理解できる。したがって、提案されるソリューションは、実行サーバ110の実装に関係なく普遍的に適用できる。
ベンチマーク・プログラム250は、低水準言語(アセンブラまたは機械語など)で書かれていることが好ましい。低水準言語は、コンピュータのマイクロプロセッサによって実行可能な動作に対応する基礎的な命令セットのみをサポートする。機械語では、命令は、マイクロプロセッサの動作を直接制御するのに使用可能なビット・パターン(機械コード)で構成される。一方、アセンブラ言語では、読み書きがさらに容易な簡略記号(アセンブラによって対応する機械コードに変換される)を用いて同じ命令が表される。低水準言語は、より豊富な命令セットを人間用のフォーマット(human format)でサポートする高水準言語とは異なる。それらの実行には、(例えば、コンパイラによって静的に、またはインタプリタによって動的に)当該の命令が対応する機械コードのストリームに変換されなければならない。コンパイラまたはインタプリタは、実コンピュータ、またはその実際の実装を隠している仮想マシンに対して機械コードを生成するとよい(Java(登録商標) Run Time Environmentによってサポートされているバイトコードなど)。低水準言語でベンチマーク・プログラム250を書くという選択によって、異種の実行サーバ110上で得られる結果が必ず優れた均一性を有することになるが、これは、コンパイラまたはインタプリタによりもたらされ得る差異が避けられるためである。
さらに、上記のマルチプロセッサ環境(実行サーバ110が2つ以上のマイクロプロセッサを含み得る)では、ベンチマーク・プログラム250は単一スレッドでなければならない。結果として、ベンチマーク・プログラム250は、その稼働率を正確に推定するために、常に単一のマイクロプロセッサ上で実行される。この場合、実行サーバ110の総処理能力は、その(等しい)マイクロプロセッサの数をそのようにして得られた結果に掛けることによって得られる。
この目的のために、ベンチマーク・プログラム250は、特定のアプリケーション・プログラム・インターフェース(API:Application Program Interface)を介してオペレーティング・システム215と連動する。ベンチマーク・プログラム250は、実行サーバ110の推定処理能力を(対応するタイム・スタンプと共に)ハードウェア・ログ255に追加する。
ライセンシング・エージェント225は、ソフトウェア・ログ245およびハードウェア・ログ255の両方にアクセスする。ライセンシング・エージェント225は、上記のソフトウェア実行情報をソフトウェア・ログ245(すなわち、任意のソフトウェア製品220の開始時間または停止時間あるいはその両方)から抽出し、上記のハードウェア容量情報をハードウェア・ログ255(すなわち、処理能力)から抽出する。この情報は次に、ランタイム・サーバ105へ(実行サーバ110の識別子と共に)伝送される。
ここでランタイム・サーバ105について検討すると、ライセンシング・マネジャ260は、部門内のすべての実行サーバ110のソフトウェア実行情報およびハードウェア容量情報を受信する。ライセンシング・マネジャ260は、情報の種々の断片を、(グローバル)部門ログ265に保存し、管理サーバ(図示せず)にアップロードする。さらに加えて、ライセンシング・マネジャ260は、ソフトウェア・カタログ(230mで示されている)の主要コピーを同じ管理サーバからダウンロードする(例えば、定期的に、またはその任意の変更時に)。
一般的に、管理サーバは受信された情報を利用レポートに集約する。利用レポートは、実行サーバ110上で所定期間中(最終日など)に実行されたソフトウェア製品を一覧表にする。利用レポートは、各ソフトウェア製品に関して、異なる処理能力を有する実行サーバ110上(すなわち、異なる実行サーバ110上、または経時的に異なるハードウェア構成を有する同じ実行サーバ110上、あるいはその両方)での、あらゆる実行期間の長さを特定する。例えば、利用レポートは特定のソフトウェア製品が或る実行サーバ110上でローエンドのマイクロプロセッサを1つ用いて2時間、或る実行サーバ110上でハイエンドのマイクロプロセッサを1つ用いて1時間、および同じ実行サーバ110上であるが今度はハイエンドのマイクロプロセッサを2つ用いて3時間実行していたことを示すこともある。一般的に、利用レポートはさらに、その機関の実行サーバ110上で起こったあらゆる特異なイベント(未知のソフトウェア製品の使用など)を指摘する。
この情報は、既知のソフトウェア製品のあらゆる利用に関して所定のライセンス料を(それらの使用要件によって特定されているとおり、異なる処理能力に対する所定の料金に従って)課金するために使用されるとよい。例えば、上述の状況では、実行サーバ110上でローエンドのマイクロプロセッサを1つ用いてソフトウェア製品を使用すると毎時間小額が課金されることになり、他の実行サーバ110上でハイエンドのマイクロプロセッサを1つ用いて使用すると毎時間より多くの額が課金されることになり、同じ実行サーバ100上でハイエンドのマイクロプロセッサを2つ用いて使用すると毎時間さらに多くの額が課金されることになる。図4〜5を参照すると、(所望のソフトウェア製品の使用量を測定する)上記のシステムに実装できる例示的なプロセスの論理フローが、方法300を用いて表されている。方法300は、一般的な実行サーバのスイム・レーン(swim−lane)内の、開始の黒丸302で始まる。プロセスは、実行サーバが作動するとすぐにブロック304に入る。この段階で、実行サーバの処理能力を推定するためにライセンシング・エージェントが呼び出される。この目的のために、ライセンシング・エージェントはブロック306で、(オペレーティング・システムの対応するAPIを用いて)実行サーバが利用可能なマイクロプロセッサの数を検出する。
次に、ライセンシング・エージェントはベンチマーク・プログラムを実行して、その実行時間を判断する。この結果は、2つの異なる方法で得られることが可能である。これらは、同期化バー(synchronization bar)308において二者択一のブランチに分岐するアクティビティのフローによって表されている。具体的には、或る実装はブロック310−316によって形成されたブランチの実行を伴う一方、別の実装は、ブロック318−320によって形成されたブランチの実行を伴う。2つのブランチは、さらなる同期化バー322においてつながっている。
ここでブロック310について検討すると、(オペレーティング・システムの対応するAPIを用いて)システム・クロックがサンプリングおよび記録される。次に、ベンチマーク・プログラムがブロック312で開始される。ベンチマーク・プログラムの実行が終了する(ブロック314)とすぐに、再度システム・クロックがサンプリングおよび記録される。ブロック316へ移動して、最初のシステム・クロック(その開始時間を示す)を2番目のシステム・クロック(その終了時間を示す)から引くことによって、ベンチマーク・プログラムの実行時間が計算される。ブランチは同期化バー322で終了する。この場合、ベンチマーク・プログラムは割り込み不可でなければならない。すなわち、(割り当てられている)マイクロプロセッサ上でのその実行を、違うリクエストにサービスを提供するために一時停止することはできない。結果として、ベンチマーク・プログラムは、他のどのソフトウェア・プログラムとも競合せずにマイクロプロセッサを独占的に使用する。さらに、ベンチマーク・プログラムは、比較的多数の命令(例えば少なくとも数百、好適には数千)を実行しなくてはならない。結果として、その開始時間および終了時間を記録するために費やされる時間は、ベンチマーク・プログラムの実行時間に対して無視できる(したがって、その判断の正確さに悪影響は及ぼさない)。上記の実装は非常に容易であり、普遍的に適用できる。
あるいは、従来どおり、ベンチマーク・プログラムがブロック318で起動される。この場合、ベンチマーク・プログラムは他のあらゆるソフトウェア・プログラムのように(実行サーバのマイクロプロセッサの使用に関してそれらと競合しながら)実行される。方法300は、ベンチマーク・プログラムの実行が終了するとすぐにブロック320へ続く。この段階で、ライセンシング・エージェントは、ベンチマーク・プログラムの実行に使用されたプロセスのプロセッサ時間(オペレーティング・システムによって記録されている)を読み出す。この結果は、例えば、オペレーティング・システムの対応するAPIを呼び出すことによって、または専用ログ(「z/OS」のSMFレコードなど)にアクセスすることによって得られる。なお、プロセッサ時間は、マイクロプロセッサが一様に他のプロセスにもサービスを提供していた間の相当する経過時間を除外して、そのプロセスに対して関連のマイクロプロセッサにより実際に費やされた時間を示す。このブランチも同じく同期化バー322で終了する。この場合、実行時間を非常に正確に計算できる。
いずれの場合も、プロセスはここでブロック324へ続く。この段階で、ベンチマーク・プログラムの測定された実行時間(一般的には秒で表される)が、その(既知の)命令の数で割られる。これは、実行サーバの一般的なマイクロプロセッサの(推定)稼働率をもたらす(命令/秒で表される)。ブロック326へ進み、そのようにして得られた稼働率にそのマイクロプロセッサの数を掛けることによって、実行サーバの総処理能力が計算される。ライセンシング・エージェントは、ブロック328で、この情報を(対応するタイム・スタンプと共に)ハードウェア・ログに追加する。
実行サーバの起動時にベンチマーク・プログラムを実行するという選択は、サーバ上で実際のビジネス・ワークロードがアクティブになる前にそれが必ず完了するようにする。これは、実行サーバのパフォーマンスに対するこの動作の影響を最小化する(特に、ベンチマーク・プログラムが割り込み不可であり、その結果マイクロプロセッサ全体を独占的に使用する場合)。
さらに、またはこの代わりに、所定のタイムアウトが終了するとすぐに(例えば10〜60分ごとに)、プロセスはブロック330からブロック332へ移る。この段階で、ライセンシング・エージェントは、実行サーバのマイクロプロセッサの数を再度検出する。ここで、ブロック334でテストが行われて、(動作の最後の反復以後に)マイクロプロセッサの数が変化したかどうかが判断される。変化していれば、(マイクロプロセッサの新たな数およびそれらの既知の稼働率に従って)実行サーバの処理能力を再計算するために、アクティビティのフローはブロック326へ続く。この特長によって、たとえ付随するハードウェア構成がその動作を停止することなく更新可能な場合でも、実行サーバの処理能力を追跡することが可能になる。なお、この動作を任意の変化が検出されるのに応答してのみ実行するという選択をすることで、実行サーバのパフォーマンスに対する影響を許容範囲に保つことになる。
いかなる場合でも、動作が終了すると、方法300はブロック328からブロック336へ移る。マイクロプロセッサの数が変化していないときも、ブロック334から直接同じ点に達する。別のタイムアウトが終了するとすぐに(例えば1〜10分ごとに)、ライセンシング・エージェントは、ブロック338で、(オペレーティング・システムの対応するAPIを用いて)実行サーバ上のアクティブなプロセスのリストを読み出す。次に、各プロセスのループが実行される(初めのものから開始して)。ループはブロック340で始まり、ここではライセンシング・エージェントが、対応する実行可能モジュール(オペレーティング・システムから返される名前によって識別される)にアクセスし、その結果、モジュールのさらなる属性(すなわち、問題の例ではサイズおよびチェックサム)が読み出される。ブロック342へと続いて、ライセンシング・エージェントは、実行可能モジュールのサイズおよびチェックサムと、その名前に関してソフトウェア・カタログ内で特定されているもの(もしあれば)とを比較する。実行可能モジュールの属性がソフトウェア・カタログ内のエントリと一致すれば(決定ブロック344)、対応するソフトウェア製品がブロック346で識別される。逆に、ブロック348では、ソフトウェア製品は未知と設定される(実行可能モジュールの名前など、あらゆる利用可能情報が保存される)。いずれの場合でも、このようにして得られた情報は、ブロック350で、実行サーバ上で現在実行中のソフトウェア製品のリストに追加される。次に、ブロック352でテストが行われ、すべてのプロセスが分析されたかどうかが判断される。されていなければ、方法はブロック340へ戻り、次のプロセスに対して同じ動作を繰り返す。逆に、ループが終了されるとブロック354に入る。この段階で、ソフトウェア・モニタは、(動作の最後の反復以後に)開始または停止されたソフトウェア製品を検出するために、(ライセンシング・エージェントから受信された)実行中のソフトウェア製品のリストと、ランタイム表の内容とを比較する。ブロック356へと続いて、このようにして得られた情報が(対応するタイム・スタンプと共に)ソフトウェア・ログに追加され、ランタイム表がそれに応じて更新される。
ブロック358で、別のタイムアウトが終了するとすぐに(例えば6〜24時間ごとに)、プロセスはブロック360に入る。この段階で、ライセンシング・マネジャは、(ソフトウェア・ログから)ソフトウェア実行情報を、(ハードウェア・ログから)ハードウェア容量情報を抽出する。続いてこの情報は、(実行サーバの識別子と共に)ランタイム・サーバへ伝送される。それに応答して、ランタイム・サーバはブロック362で、受信された情報を部門ログに保存する。
ブロック364で別のタイムアウトが終了するのに応答して(例えば毎日の終わりに)、ブロック366で、ライセンシング・マネジャは部門ログ内の利用可能な情報を管理サーバにアップロードする。管理サーバのスイム・レーンに移り、受信された情報を集約することによって、新たな利用レポートをブロック368で生成できる。このようにして得られた利用レポートは、次にブロック370で(例えば適切なライセンス料を課金するために)分析される。次に、方法は白/黒の停止の同心円372で終了する。
当然ながら、ローカルな特有の要件を満たすために、当業者は上述のソリューションに数多くの修正および変更を加えてもよい。特に、本発明は、その好適な実施形態(単数または複数)を参照してある程度詳細に説明されたが、当然のことながら、形態および細部における種々の省略、代用および変更、ならびに他の実施形態があり得る。さらに、本発明の開示されている任意の実施形態に関連して説明された特定の構成要素または方法ステップあるいはその両方は、全般的な設計上の選択の問題として、他の任意の実施形態に組み込まれてもよいことが明確に意図されている。
例えば、システムが異なるアーキテクチャを有するかまたは等価なユニットを含む場合も、同様の考慮事項が当てはまる。さらに、各コンピュータは、別の構造を有することも、または同様の構成要素(実行中の大容量メモリへのアクセスを減らすためにプログラムまたはその一部を一時的に格納するキャッシュ・メモリなど)を含むこともある。いずれの場合でも、コンピュータを任意のコード実行エンティティ(PDA、移動電話、および同様のものなど)と交換することが可能である。
本発明の実装が、いかなる特定のライセンシング・アプリケーションにも、または実行サーバ上で実行中のソフトウェア製品を識別する技術にも、あるいはその両方にも限定されないということは、容易に分かるはずである。例えば、任意の新たなソフトウェア製品(または、電子ブックなど、任意の等価なデジタル・コード化された製品)の呼び出しを、対応するプロセスの開始を傍受すること(例えば、カーネル・フッキング技術を使用して)によって検出することが可能である。同じく、ソフトウェア製品の呼び出しの数(対応する実行期間の長さの代わりに)、またはより一般的にはそれらの実行を示すその他任意のインデックスを測ることも可能である。さらに、利用可能な情報は、単に、適用される使用条件への準拠を確認するためにでも、またはより一般的にはどのような管理目的のためにでも使用され得る。
ベンチマーク・プログラムの実行時間(および続いて処理能力)を判断する提案されたアルゴリズムは、単なる例である。例えば、ベンチマーク・プログラムによるすべての動作の直接的な実装が妨げられることはない。代わりに、独立して処理能力を推定してそれをランタイム・サーバへ伝送する明確なエージェントを有することが可能である。
本発明の原理から逸脱せずに、ベンチマーク・プログラムが他の任意の命令を(たとえ異なる言語で書かれていても)実行することもできる。
あるいは、実行サーバの起動時のみにベンチマーク・プログラムを開始することが可能である(例えば、ウォーム・チェンジが不可能なとき)。反対に、実行サーバの起動時のベンチマーク・プログラムの開始は、そのハードウェア構成が継続的に監視されていれば無効にされてもよい。いかなる場合でも、ベンチマーク・プログラムの実行に関する種々のスケジューリング・ポリシーは本発明の範囲内にある(例えば、単に定期的になど)。
提案されたソリューションは、いくつかの論理パーティションに分けられたマルチプロセッサ・コンピュータ用に特に設計されているが、これは制限的に解釈されてはならない。例えば、単一のマイクロプロセッサを備えたコンピュータ上に同じソリューションを適用することが妨げられることはない。さらに、本発明によるソリューションは、仮想マシン上、またはより一般的に物理ホスト・マシン上に実装された他の任意の論理ゲスト・マシンで使用されるのに適している。いかなる場合でも、仮想化レイヤを備えていない実コンピュータ上に同じ技術を等しく適用できる。
プログラム(本発明の各実施形態を実装するのに使用されるとよいもの)が異なる方法で構築されたとしても、または追加のモジュールもしくは機能が提供されたとしても、同様の注意事項が当てはまる。同じく、メモリの構造は他のタイプであってもよく、または等価なエンティティと交換されてもよい(必ずしも物理記憶媒体で構成されていなくてもよい)。さらに、提案されているソリューションは、等価な方法(同様のステップまたは追加のステップを、たとえ異なる順序でも有する)を用いて実装されるのに適している。いかなる場合でも、プログラムは、外部もしくは常駐のソフトウェア、ファームウェアまたはマイクロコード(オブジェクト・コードかまたはソース・コードで)など、任意のデータ処理システムによってかまたはそれと関連して使用されるのに適した任意の形態であればよい。さらに、プログラムはコンピュータが使える任意の媒体上に提供されればよい。媒体は、プログラムを含むこと、格納すること、伝達すること、伝播させること、または転送することに適した任意の構成要素とすることができる。かかる媒体の例は、固定ディスク(この場合プログラムはプリインストール可能)、取り外し可能ディスク、テープ、カード、ワイヤ、ファイバ、無線接続、ネットワーク、放送波および同様のものなどである。例えば、媒体は、電子、磁気、光学、電磁気、赤外線または半導体のタイプであってもよい。
いかなる場合でも、本発明によるソリューションは、ハードウェア構造(例えば、半導体材料のチップに統合されている)を用いて、またはソフトウェアとハードウェアとの組み合わせを用いて行われるのに適している。
本発明の実施形態によるソリューションを適用できるデータ処理システムの概略ブロック図である。 システムの例示的なコンピュータの機能ブロックである。 本発明の実施形態によるソリューションを実践するのに使用できる主要ソフトウェア・コンポーネントを表している。 本発明の実施形態によるソリューションの実装に関するアクティビティのフローを表す図である。 本発明の実施形態によるソリューションの実装に関するアクティビティのフローを表す図である。

Claims (10)

  1. データ処理システム上のソフトウェア製品の使用量を測定する方法(300)であって、前記方法は、
    前記システム上の一連の所定ソフトウェア製品それぞれの実行を示す実行インデックスを測るステップ(336〜356)と、
    各ソフトウェア製品の使用量を、対応する実行インデックスと、前記システムの処理能力とに従って判断するステップ(358〜370)と、
    を含み、
    所定数の命令を実行するベンチマーク・プログラムを前記システム上で実行するステップ(312;318)と、
    前記ベンチマーク・プログラムの実行時間の指標を判断するステップ(310、314〜316;320)と、
    前記処理能力を、前記実行時間および命令の前記数に従って計算するステップ(324)と、
    を特徴とする、方法。
  2. 前記ベンチマーク・プログラムは割り込み不可であり、前記実行時間の前記指標を判断する前記ステップ(310、314〜316)は、
    前記ベンチマーク・プログラムの開始時間を記録すること(310)と、
    前記ベンチマーク・プログラムの終了時間を記録すること(314)と、
    前記終了時間と前記開始時間との間の差に従って前記実行時間を計算すること(316)と、
    を含む、請求項1に記載の方法(300)。
  3. 前記システム上で完了された各プロセスに対して前記システムのプロセッサにより費やされたプロセッサ時間が記録され、前記実行時間の前記指標を判断する前記ステップ(320)は、
    前記ベンチマーク・プログラムを実行するために使用されたベンチマーク・プロセスの前記プロセッサ時間に従って前記実行時間を決めること(320)
    を含む、請求項1に記載の方法(300)。
  4. 前記ベンチマーク・プログラムは低水準言語の一連の命令で構成されている、請求項1〜3いずれかに記載の方法(300)。
  5. 前記システムの起動に応答して前記ベンチマーク・プログラムの前記実行を開始するステップ(304)
    をさらに含む、請求項1〜4いずれかに記載の方法(300)。
  6. 前記システムは1よりも多い数のプロセッサを含み、前記ベンチマーク・プログラムは前記プロセッサのうちの1つで実行されるようになっており、前記方法は、
    プロセッサの前記数を判断するステップ(306;332)と、
    プロセッサの前記数に基づく倍数因子に従って前記処理能力を更新するステップ(326)と、
    をさらに含む、請求項1〜5いずれかに記載の方法(300)。
  7. プロセッサの前記数の変化を検出するステップ(330〜332)と、
    前記変化の前記検出に応答して、前記処理能力の前記更新を実行するステップ(334)と、
    をさらに含む、請求項6に記載の方法(300)。
  8. 前記システムは、複数の論理ゲスト・マシンを実装している物理ホスト・マシンで構成されており、前記ベンチマーク・プログラムを実行する前記ステップ(312;318)と、前記実行時間の前記指標を判断する前記ステップ(310、314〜316;320)と、前記処理能力を計算する前記ステップ(324)とは、前記ゲスト・マシンのうち選択されたマシンで行われる、請求項1〜7いずれかに記載の方法(300)。
  9. データ処理システム(100)上で実行されると請求項1〜8いずれかの方法(300)を実行するコンピュータ・プログラム(200)。
  10. 請求項1〜8いずれかに記載の方法(300)の前記ステップを実行する手段(200)を含むシステム(100)。
JP2008544910A 2005-12-16 2006-10-25 処理能力のリアル・タイム・ベンチマーキングに基づきソフトウェア製品の使用量を測定する方法、システムおよびコンピュータ・プログラム Active JP5284791B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05112286.9 2005-12-16
EP05112286 2005-12-16
PCT/EP2006/067744 WO2007068524A1 (en) 2005-12-16 2006-10-25 Method, system and computer program for metering usage of software products based on real-time benchmarking of processing power

Publications (2)

Publication Number Publication Date
JP2009519520A true JP2009519520A (ja) 2009-05-14
JP5284791B2 JP5284791B2 (ja) 2013-09-11

Family

ID=37531979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008544910A Active JP5284791B2 (ja) 2005-12-16 2006-10-25 処理能力のリアル・タイム・ベンチマーキングに基づきソフトウェア製品の使用量を測定する方法、システムおよびコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US8799870B2 (ja)
EP (1) EP1960886A1 (ja)
JP (1) JP5284791B2 (ja)
KR (1) KR100992209B1 (ja)
CN (1) CN101331460B (ja)
WO (1) WO2007068524A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014064913A1 (ja) 2012-10-23 2014-05-01 日本電気株式会社 運用管理装置、及び、運用管理方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008074527A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Method, system and computer program for identifying interpreted programs through class loading sequences
US20080320088A1 (en) * 2007-06-19 2008-12-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Helping valuable message content pass apparent message filtering
JP5182792B2 (ja) * 2007-10-07 2013-04-17 アルパイン株式会社 マルチコアプロセッサ制御方法及び装置
CN101978354B (zh) * 2008-03-20 2014-12-03 国际商业机器公司 检测软件在应用虚拟化环境中的安装和使用的方法和系统
US8769083B2 (en) * 2009-08-31 2014-07-01 Red Hat, Inc. Metering software infrastructure in a cloud computing environment
NL2003915C2 (en) 2009-12-07 2011-06-09 Yggdra Solutions Improved power usage management.
GB2507779A (en) * 2012-11-09 2014-05-14 Ibm Terminating a virtual machine in response to user inactivity in a cloud computing environment
US9654563B2 (en) 2012-12-14 2017-05-16 Biscotti Inc. Virtual remote functionality
US9310977B2 (en) 2012-12-14 2016-04-12 Biscotti Inc. Mobile presence detection
US9300910B2 (en) 2012-12-14 2016-03-29 Biscotti Inc. Video mail capture, processing and distribution
US9485459B2 (en) 2012-12-14 2016-11-01 Biscotti Inc. Virtual window
US10725509B2 (en) * 2014-07-29 2020-07-28 Hewlett-Packard Development Company, L.P. Processor monitoring of thermal degradation
US10437699B2 (en) 2015-01-21 2019-10-08 International Business Machines Corporation Measuring execution time of benchmark programs in a simulated environment
US9596654B2 (en) 2015-06-12 2017-03-14 International Business Machines Corporation Association of applications to clusters mapped to logical battery partitions
US9836293B2 (en) 2015-08-26 2017-12-05 International Business Machines Corporation Integrated log analyzer
CN107220165B (zh) * 2016-03-21 2020-08-04 阿里巴巴集团控股有限公司 一种模拟线上压力测试的方法和装置
US11782699B1 (en) * 2020-08-28 2023-10-10 Apple Inc. Systems and methods for non-interruptive update
CN117573386B (zh) * 2023-10-31 2024-07-30 华为技术有限公司 进程间通信方法及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01152545A (ja) * 1987-12-09 1989-06-15 Hitachi Ltd 仮想計算機の性能測定方式
JPH07160545A (ja) * 1993-12-13 1995-06-23 Fujitsu Ltd 情報処理装置の性能測定方法
JP2002157186A (ja) * 2000-11-20 2002-05-31 Mitsubishi Electric Corp ソフトウェア管理サーバ、ソフトウェア管理方法、その方法を実現するプログラムを記録した記録媒体、およびソフトウェアの実行を制御する方法を実現するプログラムを記録した記録媒体
JP2002244890A (ja) * 2001-02-20 2002-08-30 Canon Inc 記録装置
JP2002323984A (ja) * 2001-03-05 2002-11-08 Robert Bosch Gmbh 計算装置の利用度の算出方法,その算出装置,メモリ素子,コンピュータプログラム
JP2002351566A (ja) * 2001-05-25 2002-12-06 Cybozu Inc プログラム課金管理装置、プログラム課金管理方法、課金管理プログラム及び情報記憶媒体
JP2003030007A (ja) * 2001-07-13 2003-01-31 Mitsubishi Electric Corp プログラム開発支援システム及び、プログラム開発支援方法及び、プログラム開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体及び、プログラム開発支援プログラム
JP2003507812A (ja) * 1999-08-26 2003-02-25 パラボン コンピュテイション 系とネットワークされた働いていない計算型の処理パワーの英国国教会とユーティライゼーションの方法
US20030135474A1 (en) * 2002-01-15 2003-07-17 Edgar Circenis Software pay-per-use pricing
JP2004094978A (ja) * 2003-12-01 2004-03-25 Ns Solutions Corp 性能測定装置および性能測定方法
JP2005085164A (ja) * 2003-09-10 2005-03-31 Sharp Corp マルチプロセッサシステムの制御方法およびマルチプロセッサシステム
JP2005327261A (ja) * 2004-04-16 2005-11-24 Ns Solutions Corp 性能監視装置、性能監視方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463457B1 (en) * 1999-08-26 2002-10-08 Parabon Computation, Inc. System and method for the establishment and the utilization of networked idle computational processing power
US20020083003A1 (en) * 2000-09-26 2002-06-27 Halliday David C. Method and apparatus for the accurate metering of software application usage and the reporting of such usage to a remote site on a public network
US7111179B1 (en) * 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US20060179136A1 (en) * 2002-12-27 2006-08-10 Loboz Charles Z Accuracy of the estimation of computer resource usage
US7546598B2 (en) * 2003-09-03 2009-06-09 Sap Aktiengesellschaft Measuring software system performance using benchmarks
JP4360616B2 (ja) 2003-11-28 2009-11-11 京セラミタ株式会社 画像形成装置
US20050138422A1 (en) * 2003-12-23 2005-06-23 Hancock Peter J. System and method for metering the performance of a data processing system
US7353375B2 (en) * 2004-10-07 2008-04-01 Hewlett-Packard Development Company, L.P. Method and apparatus for managing processor availability using a microcode patch
JP2006127302A (ja) * 2004-10-29 2006-05-18 Internatl Business Mach Corp <Ibm> 情報処理装置、コンパイラ、及びコンパイラプログラム
US7908606B2 (en) * 2005-05-20 2011-03-15 Unisys Corporation Usage metering system
US20070043672A1 (en) * 2005-08-16 2007-02-22 Bea Systems, Inc. Per unit basis software licensing model
US7849449B2 (en) * 2005-12-05 2010-12-07 National Instruments Corporation Implementing a design flow for a programmable hardware element that includes a processor
US7739662B2 (en) * 2005-12-30 2010-06-15 Intel Corporation Methods and apparatus to analyze processor systems
US7769864B2 (en) * 2007-08-02 2010-08-03 Sap Ag Adaptation of clusters to virtualization technologies
US8332825B2 (en) * 2008-06-26 2012-12-11 Microsoft Corporation Dynamically monitoring application behavior

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01152545A (ja) * 1987-12-09 1989-06-15 Hitachi Ltd 仮想計算機の性能測定方式
JPH07160545A (ja) * 1993-12-13 1995-06-23 Fujitsu Ltd 情報処理装置の性能測定方法
JP2003507812A (ja) * 1999-08-26 2003-02-25 パラボン コンピュテイション 系とネットワークされた働いていない計算型の処理パワーの英国国教会とユーティライゼーションの方法
JP2002157186A (ja) * 2000-11-20 2002-05-31 Mitsubishi Electric Corp ソフトウェア管理サーバ、ソフトウェア管理方法、その方法を実現するプログラムを記録した記録媒体、およびソフトウェアの実行を制御する方法を実現するプログラムを記録した記録媒体
JP2002244890A (ja) * 2001-02-20 2002-08-30 Canon Inc 記録装置
JP2002323984A (ja) * 2001-03-05 2002-11-08 Robert Bosch Gmbh 計算装置の利用度の算出方法,その算出装置,メモリ素子,コンピュータプログラム
JP2002351566A (ja) * 2001-05-25 2002-12-06 Cybozu Inc プログラム課金管理装置、プログラム課金管理方法、課金管理プログラム及び情報記憶媒体
JP2003030007A (ja) * 2001-07-13 2003-01-31 Mitsubishi Electric Corp プログラム開発支援システム及び、プログラム開発支援方法及び、プログラム開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体及び、プログラム開発支援プログラム
US20030135474A1 (en) * 2002-01-15 2003-07-17 Edgar Circenis Software pay-per-use pricing
JP2005085164A (ja) * 2003-09-10 2005-03-31 Sharp Corp マルチプロセッサシステムの制御方法およびマルチプロセッサシステム
JP2004094978A (ja) * 2003-12-01 2004-03-25 Ns Solutions Corp 性能測定装置および性能測定方法
JP2005327261A (ja) * 2004-04-16 2005-11-24 Ns Solutions Corp 性能監視装置、性能監視方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200300269017; 首藤 一幸 Kazuyuki Shudo: '厳密な浮動小数点演算セマンティクスのJava実行時コンパイラの実装 Efficient Implementation of Stri' 情報処理学会研究報告 第2001巻, No.76 IPSJ SIG Notes, 20010727, 99-104, 社団法人情報処理学会 Information Processing Socie *
JPN6012003314; 首藤 一幸 Kazuyuki Shudo: '厳密な浮動小数点演算セマンティクスのJava実行時コンパイラの実装 Efficient Implementation of Stri' 情報処理学会研究報告 第2001巻, No.76 IPSJ SIG Notes, 20010727, 99-104, 社団法人情報処理学会 Information Processing Socie *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014064913A1 (ja) 2012-10-23 2014-05-01 日本電気株式会社 運用管理装置、及び、運用管理方法
US9645909B2 (en) 2012-10-23 2017-05-09 Nec Corporation Operation management apparatus and operation management method

Also Published As

Publication number Publication date
US20100218170A1 (en) 2010-08-26
CN101331460A (zh) 2008-12-24
WO2007068524A1 (en) 2007-06-21
CN101331460B (zh) 2012-10-03
EP1960886A1 (en) 2008-08-27
US8799870B2 (en) 2014-08-05
KR100992209B1 (ko) 2010-11-04
KR20080075870A (ko) 2008-08-19
JP5284791B2 (ja) 2013-09-11

Similar Documents

Publication Publication Date Title
JP5284791B2 (ja) 処理能力のリアル・タイム・ベンチマーキングに基づきソフトウェア製品の使用量を測定する方法、システムおよびコンピュータ・プログラム
US11036611B2 (en) Virtualization of a central processing unit measurement facility
US9921940B2 (en) Creating a software performance testing environment on a virtual machine system
US9170840B2 (en) Duration sensitive scheduling in a computing environment
JP4871174B2 (ja) 仮想計算機システム
EP3285166B1 (en) Optimizing a distribution of applications executing in a multiple platform system
JP2020166879A (ja) 部分的にオフロードされた仮想化マネージャにおけるメモリ割当て技術
JP4584315B2 (ja) 仮想マシン環境におけるタイマ・オフセット機構
JP5325230B2 (ja) 関連のネットワーク・トポロジを有する指定のトランザクション・サーバの動作をモニターするための方法、コンピュータ・プログラム、および装置(e‐ビジネス・システムのパフォーマンスおよび可用性をモニターするために動的にスケジュールされた合成トランザクションを使用するための方法)
US8392547B2 (en) Method, system and computer program for hardware inventory in virtualized environments
WO2008087080A1 (en) Controlling an operational mode for a logical partition on a computing system
US20230315511A1 (en) Managing execution of data processing jobs in a virtual computing environment
JP2015510630A (ja) プログラムによる警告追跡割り込みファシリティの使用
US20230109752A1 (en) Deterministic replay of a multi-threaded trace on a multi-threaded processor
JP2015507809A (ja) 1つのプログラムにより別のプログラムに警告追跡ファシリティへのアクセスを提供する
Anglano et al. Prometheus: A flexible toolkit for the experimentation with virtualized infrastructures
US20210344670A1 (en) Methods and apparatus to refresh a token
US10990434B2 (en) Increasing processing capacity of virtual machines for an abnormal event
KR102443894B1 (ko) 가상화 환경에서 가상머신의 i/o 성능을 높이기 위한 스케줄링 방법
US9292303B2 (en) Suspend profiles and hinted suspending
Rethinagiri et al. VPM: Virtual power meter tool for low-power many-core/heterogeneous data center prototypes
Helin A Study on Virtualization and Energy Efficiency Using Linux
Mainline System Management
Norton Modeling Virtualized Environments in Simalytic Models by Computing Missing Service Demand Parameters.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120424

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130305

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: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130530

R150 Certificate of patent or registration of utility model

Ref document number: 5284791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150