JP2023545971A - 性能報告の生成および更新 - Google Patents

性能報告の生成および更新 Download PDF

Info

Publication number
JP2023545971A
JP2023545971A JP2023520124A JP2023520124A JP2023545971A JP 2023545971 A JP2023545971 A JP 2023545971A JP 2023520124 A JP2023520124 A JP 2023520124A JP 2023520124 A JP2023520124 A JP 2023520124A JP 2023545971 A JP2023545971 A JP 2023545971A
Authority
JP
Japan
Prior art keywords
flows
performance
test
active
flow
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.)
Pending
Application number
JP2023520124A
Other languages
English (en)
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 JP2023545971A publication Critical patent/JP2023545971A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Saccharide Compounds (AREA)

Abstract

個別の稼働中のフローの性能データが類似する機能を有するフローと比較されることを可能にする、複数のフローを実行するように適応されたシステムに関する性能報告を生成および更新するためのコンピュータ実装方法。このコンピュータ実装方法は、稼働中のフローの各々を、フローの機能を表す、複数のテンプレートのうちの1つにリンクすることによって実現される。各テンプレートは、テンプレートにリンクされた稼働中のフローの性能データに基づいてテンプレートに関して生成された関連する性能概要を含んでよい。性能報告は、複数の性能概要から生成され得る。次に、性能報告は、テスト・フローからテスト性能データを取得しながら、システムの予備能力で複数のテスト・フローを実行することによって更新され得る。テスト性能データは、テンプレートにリンクされたシステム上の稼働中のフローの性能データと比較され得る。

Description

本開示は、システムの性能を報告することに関連しており、より詳細には、複数のフローを実行するように構成されたシステムに関する性能報告を生成することに関連している。
ますます顧客は、サード・パーティによって提供されたアプリケーションにアクセスするようになっている。サード・パーティは、前述のアプリケーションをホストし、通常、インターネットを介してそれらのアプリケーションを顧客に配信する。これは、SaaS(software as a service)、IaaS(infrastructure as a service)、またはPaaS(platform as a service)、あるいはその組み合わせの形態で発生する。多くのアプリケーションでは、顧客は、アプリケーションにアクセスできるようになるために、複数のライセンスまたは処理能力を購入する。
顧客によって必要とされるシステムの能力は、通常、能力計画プロセスによって決定される。一般に、能力計画プロセスは、顧客が必要とする処理の種類を考慮し、次に、サンプル性能データを使用して必要とされる能力を計算する。しかし、シナリオがテストのために手動で設定される(または、制限された自動化を使用して設定される)必要があるため、能力計画プロセスは、通常、非常に限られたシナリオのセットの性能をサンプリングすることのみを含む。実際には、フローの複雑さ、メッセージ・サイズ、および必要とされるバックエンド呼び出しの数などの、変化する可能性がある多くの側面が存在する。非常に多くの変形が存在するため、正確な能力要件の予測を得ることは、時間がかかり、困難である。したがって、必要とされる能力の予測は、予測の不正確さを考慮するために、多くの場合、100%のオーバーヘッドを含む。この場合、予測が正確であるということが判明した場合、顧客は、結局、能力の量の2倍の料金を支払うことになる可能性がある。
本開示の実施形態によれば、複数のフローを実行するように構成されたシステムに関する性能報告を生成するためのコンピュータ実装方法が提供されている。この方法は、システム上の複数の稼働中のフローの各々に関連付けられた性能データを取得することを含む。この方法は、複数のテンプレートを取得することも含み、各テンプレートはフローの機能を表す。この方法は、複数の稼働中のフローの各々を複数のテンプレートのうちの1つにリンクすることも含み、このテンプレートは、リンクされた稼働中のフローの機能を表す。この方法は、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することをさらに含む。この方法は、生成された1つまたは複数の性能概要に基づいて性能報告を生成することをさらに含む。
システム上で稼働しているフローを、フローの機能を表すテンプレートにリンクするという概念が提案されている。これによって、類似するフローのグループ化を可能にし、その後、フローの性能が測定され、比較され得る。その結果、性能報告が生成されてよく、性能報告では、類似するフローの性能が確認され、比較され得る。したがって、提案された実施形態は、他の方法では使用できないコンテキスト(例えば、類似するフローの平均性能または可能な性能の範囲)を性能データに提供してよい。そのようなコンテキスト情報は、性能を評価する場合、またはフローもしくはフローが実行されるシステムに対して行われる変更について情報を提供するため、あるいはその両方で、顧客にとって有用であることがある。
システム上で稼働しているフローをテンプレートにグループ化することによって、類似するフローの複数のセットを定義することが可能になってよい。次に、フローのすべてに関する性能データが収集され、比較されてよい。このようにして、性能が、共通の機能を有する他のフローと比較され得る。性能データから性能報告を生成することによって、顧客は、顧客のフローが他の類似するフローにどの程度匹敵するかを簡単に確認することができ、顧客の能力計画プロセスに情報を提供してよい。
したがって、一部の提案された実施形態は、システム上で稼働しているフローの各々に関して、コンテキスト化された性能データを含む性能報告を生成することに関連してよい。フローを、フローの機能を表すテンプレートにリンクすることによって、フローのリンクが実現されてよい。多くのフローが各テンプレートにリンクされてよく、フローごとに性能データが取得された場合、類似する機能を有するフローの性能データが比較されてよい。テンプレートごとに性能概要が生成されてよく、性能概要は、例えば、テンプレートにリンクされた各フローの平均性能、最良の性能、ならびにフローおよびそれらに関連する性能のすべてのリストを含んでよい。
したがって、一部の提案された実施形態は、システムの実際の性能特性を正確に反映する性能データを提供することができるという利点をもたらし得る。特に、正確なコンテキスト化された性能データが提供されてよく、これが、能力計画プロセスを大幅に改善し、さまざまな性能に関連する(例えば、不十分な能力の提供から生じる)問題を防ぐことに役立つことができる。そのような情報は、例えば、顧客がどれくらいの能力を必要とするかに関して理解することを可能にすることによって、特に、システムの使用を計画している新しい顧客にとって有用であることがある。さらなる例として、顧客は、フローの性能の数値を生成しないで実行するフローを持っていることがある。したがって、ユーザはフローを、他の顧客のテンプレートおよび対応する性能の数値と照合することを好むことがある。
また、多くの顧客からのデータおよびテンプレートを使用して生成された性能報告は、好ましくは、いずれかの特定の顧客からの情報の漏洩を防ぐ/最小限に抑えるべきである。そのような情報は、例えば、フロー設計、メッセージ・レートに関する詳細、または他のビジネス上の機密情報に関連する可能性がある。これに対処するために、実施形態は、報告を生成するために使用されるデータが2人以上の顧客(または場合によっては、定義された数を超える数の顧客)から来た場合にのみ、報告内に対応する性能の数値を含むテンプレートを使用するように構成されてよい。このようにして、性能報告から単一の顧客の使用状況を推論する能力が減らされるか、または防がれ得る。
一部の実施形態によれば、性能概要を生成することは、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が条件を満たすということの決定に応答して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することとをさらに含んでよい。
各テンプレートが、特定の数を超えるリンクされた稼働中のフローを含んでいるということを保証することによって、意味のある比較を提供するのに十分なデータが存在する場合にのみ性能概要が生成されることを保証する。このようにして、異常データの影響が軽減され得る。
一部の実施形態によれば、性能データを取得することは、複数の稼働中のフローの各々に関して、稼働中のフローのレイテンシ、稼働中のフローの1秒当たりのデータ・レート、稼働中のフローのコスト、および稼働中のフローがシステム上で実行された時間から成る群から選択された1つまたは複数を取得することを含んでよい。したがって、各稼働中のフローの性能の尺度を提供するために、レイテンシ、データ・レート、およびコストが使用されてよい。システム上でフローが実行されていた時間を記録することによって、性能概要は、特定の時刻に発生する稼働中のフローを比較し、ボトルネックに関する情報を提供し、能力計画プロセスにさらに情報を提供してよい。他の性能指標が使用されてよいということが理解されるであろう。
一部の実施形態によれば、性能概要は、テンプレートにリンクされた複数の稼働中のフローの性能データの平均値、テンプレートにリンクされた複数の稼働中のフローの性能データの範囲、およびテンプレートにリンクされた複数の稼働中のフローの性能データのうちの1つまたは複数のリストから成る群から選択された1つまたは複数を含んでよい。
テンプレートにリンクされた稼働中のフローのすべてのデータを処理することによって、さらなるコンテキストが個別の稼働中のフローの性能に与えられてよい。例えば、特定のフローの性能が、テンプレートにリンクされた稼働中のフローのすべての平均値の性能よりはるかに低い場合、これは、より大きい能力の必要性を示すことがある。
一部の実施形態によれば、複数の稼働中のフローの各々をリンクすることは、複数の稼働中のフローの各々に関して、複数のテンプレートのうちの、稼働中のフローの機能を最も厳密に表すテンプレートを決定することと、この決定に基づいて、複数の稼働中のフローの各々を複数のテンプレートのうちの1つにリンクすることとを含んでよい。
稼働中のフローが、フローの機能を最も良く表すテンプレートにリンクされることを保証することによって、稼働中のフローの各々からのデータが、類似する他の稼働中のフローと比較され得る。これによって、意味のあるコンテキストを提供し得る。
一部の実施形態によれば、複数の稼働中のフローの各々は、複数のユーザのうちの1人に関連付けられてよく、複数のユーザの各々は、複数の稼働中のフローのうちの1つまたは複数に関連付けられてよい。
稼働中のフローの各々は、複数のユーザまたは顧客に関連付けられてよく、各稼働中のフローのユーザは異なってよい。これによって、あるユーザの稼働中のフローの性能が、さまざまな他のユーザの類似する稼働中のフローと比較されることを可能にすることができ、他のユーザの各々は、システムの異なる能力にアクセスすることができてよい。
一部の実施形態によれば、性能報告を生成することは、複数のユーザのうちの1人のユーザから性能報告の問い合わせを受信することと、生成された1つまたは複数の性能概要に基づいて性能報告を生成することであって、1つまたは複数の性能概要の各々が複数の稼働中のフローのうちの1つまたは複数に関連付けられた性能データに基づき、複数の稼働中のフローのうちの1つまたは複数のうちの少なくとも1つがユーザに関連付けられる、生成することと、性能報告の問い合わせを受信することに応答して、性能報告をユーザに送信することとをさらに含んでよい。
ユーザは、性能報告を要求してよく、この性能報告は、前述のユーザに関連付けられた稼働中のフローの性能を表示するために生成されてよい。ユーザに関連付けられた稼働中のフローにリンクされない性能概要は、前述のユーザに無関係であるため、含められなくてよい。
一部の実施形態によれば、システムはマルチテナント統合クラウド・システム(multitenancy integration cloud system)であってよく、複数の稼働中のフローの各々に、システムの既定の処理能力が割り当てられてよい。
システム上で実行しているユーザの各々に、ユーザに関連する稼働中のフローを実行するためのシステムの特定の量の処理能力が割り当てられてよい。特定のユーザに割り当てられた処理能力が低い場合、特定のユーザに関連付けられた稼働中のフローの性能は、処理能力がより多く割り当てられた、類似する稼働中のフローを実行している別のユーザの場合より悪いことがある。これは、クラウドに基づくマルチテナント・システム内の稼働中のフローの性能における差異をもたらす。
本開示の一部の実施形態によれば、複数のフローを実行するように構成されたシステムに関する性能報告を更新するためのコンピュータ実装方法が提供されている。この方法は、性能報告を取得することを含み、性能報告は、複数のテンプレートのうちの1つまたは複数に関連付けられた1つまたは複数の性能概要に基づく。この方法は、複数のテスト・フローを取得することも含み、各テスト・フローは、複数のテンプレートのうちの1つに関連付けられる。この方法は、システム上で複数のテスト・フローのセットを実行することをさらに含む。この方法は、複数の実行されたテスト・フローのセットの各々に関連付けられたテスト性能データを取得することをさらに含む。この方法は、複数のテンプレートのうちの少なくとも1つに関して、テンプレートに関連付けられたテスト・フローの各々に関連付けられたテスト性能データに基づいてテスト性能概要を生成することをさらに含む。性能報告は、生成された1つまたは複数のテスト性能概要に基づいて更新される。
本開示の実施形態の別の態様は、テンプレートにリンクされたフローの性能データにさらなるコンテキストを提供するための、追加の性能データの生成である。これは、システム上でテスト・フローを実行することによって実現され、テスト・フローは、テンプレートに基づき、したがって、前述のテンプレートにリンクされたシステム上で稼働しているフローにリンクされる。このようにして、テスト性能データが生成されることが可能であり、テスト性能データは、例えば、理想的な能力レベルにアクセスして稼働しているフローの性能、およびしたがって、フローが現実的に達成し得る最良の性能を反映してよい。次に、このデータは、能力計画プロセスにさらに情報を提供するために、(例えば、1つまたは複数のフローが達成し得る性能に関する情報を提供することによって)ユーザに提供されてよい。
複数のテスト・フローを取得するために、複数のフローにリンクされたテンプレートをさらに利用することが提案される。次に、より多くの性能データをテスト性能データの形態で提供するため、およびしたがって、テスト・フローが基づいているテンプレートにリンクされた複数のフローにより多くのコンテキストを提供するために、これらのテスト・フローがシステム上で実行されてよい。テスト・フローの実行は、例えば、性能報告を更新するため、およびしたがって、ユーザ/顧客により多くの情報を提供し、ユーザ/顧客の能力計画プロセスに情報を提供するために、使用されてよい。
一部の実施形態によれば、テスト性能データを取得することは、複数のテスト・フローのセットの各々に関して、テスト・フローのレイテンシ、テスト・フローの1秒当たりのデータ・レート、テスト・フローのコスト、およびテスト・フローがシステム上で実行された時間から成る群から選択された1つまたは複数を取得することを含んでよい。
一部の実施形態によれば、複数のテスト・フローのセットの実行は、システムのアイドル処理能力に基づいて複数のテスト・フローのセットを決定することと、システム上で複数のテスト・フローのセットを実行することとを含んでよい。
これによって、システムの予備処理能力を考慮するテスト・フローの選択が得られ、すなわち、例えば、他のフローによって使用されるシステムの部分に影響を与えずに、テスト・フローによって利用されるシステムの予備能力が最大化され得る。実行されるテスト・フローは、例えば、どのテンプレートに基づいてテスト・フローがシステム上で直近に実行されたか、またはテスト・フローが基づくテンプレートにリンクされたフローの数によって、優先順位付けされてよい。
一部の実施形態によれば、複数のテスト・フローのセットの決定は、システムのアイドル処理能力を決定することと、システムのアイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を増やすことと、システムのアイドル処理能力が既定の能力しきい値を下回るということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を減らすこととをさらに含んでよい。
このようにして、システム上の実際の稼働中のフローによって使用されているシステムの処理能力の量に応じて、テスト・フローが増やされるか、または減らされてよい。稼働中のフローのための十分な処理能力を保証するために、予備能力のオーバーヘッドが維持されてよい。
一部の実施形態によれば、テスト・フローによって使用されるシステムの処理能力の量を増やすことは、1つまたは複数のテスト・フローを複数のテスト・フローのセットに追加することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを増やすこととから成る群から選択された少なくとも1つを含んでよい。一部の実施形態によれば、テスト・フローによって使用されるシステムの処理能力の量を減らすことは、1つまたは複数のテスト・フローを複数のテスト・フローのセットから除去することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを減らすこととのうちの少なくとも1つを含んでよい。
テスト・フローを追加することによって、より多くの稼働中のフローと比較するための性能データが取得されてよい。データ・スループットを増やすことによって、大きいデータ・スループットを有する稼働中のフローと比較するためのテスト・フローの性能データが測定され得る。テスト・フローの除去およびデータ・スループットの減少は、十分な処理能力のオーバーヘッドを保証するために実行されてよい。
本開示の実施形態は、一部の実施形態に従って、複数のフローを実行するように構成されたシステムに関する性能報告を生成するための方法も提供し、他の実施形態に従って、性能報告を更新することをさらに含む。
本開示の実施形態は、プロセッサと、プロセッサに通信可能に結合され、プログラム命令を格納しているコンピュータ可読ストレージ媒体とを備えているシステムも提供し、プログラム命令は、プロセッサによって実行された場合に、プロセッサに方法を実行させる。プロセッサによって実行される方法は、システム上の複数の稼働中のフローの各々に関連付けられた性能データを取得することを含む。この方法は、複数のテンプレートを取得することも含み、各テンプレートはフローの機能を表す。この方法は、複数の稼働中のフローの各々を複数のテンプレートのうちの1つにリンクすることも含み、このテンプレートは、リンクされた稼働中のフローの機能を表す。この方法は、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することをさらに含む。この方法は、生成された1つまたは複数の性能概要に基づいて性能報告を生成することをさらに含む。
一部の実施形態によれば、性能概要を生成することは、プロセッサによって、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が条件を満たすということの決定に応答して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することとをさらに含んでよい。
一部の実施形態によれば、性能データを取得することは、プロセッサによって、複数の稼働中のフローの各々に関して、稼働中のフローのレイテンシ、稼働中のフローの1秒当たりのデータ・レート、稼働中のフローのコスト、および稼働中のフローがシステム上で実行された時間から成る群から選択された1つまたは複数を取得することを含んでよい。
一部の実施形態によれば、性能概要は、テンプレートにリンクされた複数の稼働中のフローの性能データの平均値、テンプレートにリンクされた複数の稼働中のフローの性能データの範囲、およびテンプレートにリンクされた複数の稼働中のフローの性能データのうちの1つまたは複数のリストから成る群から選択された1つまたは複数を含んでよい。
一部の実施形態によれば、性能報告を生成することは、プロセッサによって、複数のユーザのうちの1人のユーザから性能報告の問い合わせを受信することと、生成された1つまたは複数の性能概要に基づいて性能報告を生成することであって、1つまたは複数の性能概要の各々が複数の稼働中のフローのうちの1つまたは複数に関連付けられた性能データに基づき、複数の稼働中のフローのうちの1つまたは複数のうちの少なくとも1つがユーザに関連付けられる、生成することと、性能報告の問い合わせを受信することに応答して、性能報告をユーザに送信することとをさらに含んでよい。
一部の実施形態によれば、システムはマルチテナント統合クラウド・システムであってよく、複数の稼働中のフローの各々に、システムの既定の処理能力が割り当てられてよい。
本開示の一部の実施形態によれば、プロセッサと、プロセッサに通信可能に結合され、プログラム命令を格納しているコンピュータ可読ストレージ媒体とを備えているシステムが提供されており、プログラム命令は、プロセッサによって実行された場合に、プロセッサに方法を実行させる。プロセッサによって実行される方法は、性能報告を取得することを含み、性能報告は、複数のテンプレートのうちの1つまたは複数に関連付けられた1つまたは複数の性能概要に基づく。この方法は、複数のテスト・フローを取得することも含み、各テスト・フローは、複数のテンプレートのうちの1つに関連付けられる。この方法は、システム上で複数のテスト・フローのセットを実行することをさらに含む。この方法は、複数の実行されたテスト・フローのセットの各々に関連付けられたテスト性能データを取得することをさらに含む。この方法は、複数のテンプレートのうちの少なくとも1つに関して、テンプレートに関連付けられたテスト・フローの各々に関連付けられたテスト性能データに基づいてテスト性能概要を生成することをさらに含む。性能報告は、生成された1つまたは複数のテスト性能概要に基づいて更新される。
一部の実施形態によれば、テスト性能データを取得することは、プロセッサによって、複数のテスト・フローのセットの各々に関して、テスト・フローのレイテンシ、テスト・フローの1秒当たりのデータ・レート、テスト・フローのコスト、およびテスト・フローがシステム上で実行された時間から成る群から選択された1つまたは複数を取得することを含んでよい。
一部の実施形態によれば、複数のテスト・フローのセットの実行は、プロセッサによって、システムのアイドル処理能力に基づいて複数のテスト・フローのセットを決定することと、システム上で複数のテスト・フローのセットを実行することとを含んでよい。
一部の実施形態によれば、複数のテスト・フローのセットの決定は、プロセッサによって、システムのアイドル処理能力を決定することと、システムのアイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を増やすことと、システムのアイドル処理能力が既定の能力しきい値を下回るということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を減らすこととをさらに含んでよい。
一部の実施形態によれば、テスト・フローによって使用されるシステムの処理能力の量を増やすことは、1つまたは複数のテスト・フローを複数のテスト・フローのセットに追加することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを増やすこととから成る群から選択された少なくとも1つを含んでよい。一部の実施形態によれば、テスト・フローによって使用されるシステムの処理能力の量を減らすことは、1つまたは複数のテスト・フローを複数のテスト・フローのセットから除去することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを減らすこととのうちの少なくとも1つを含んでよい。
本開示の一部の実施形態によれば、複数のフローを実行するように構成されたシステムに関する性能報告を生成するためのコンピュータ・プログラム製品が提供されている。コンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えており、プログラム命令は、プロセッサに方法を実行させるために、プロセッサによって実行可能である。この方法は、システム上で実行される複数の稼働中のフローの各々に関連付けられた性能データを取得することを含む。この方法は、複数のテンプレートを取得することも含み、各テンプレートはフローの機能を表す。この方法は、複数の稼働中のフローの各々を複数のテンプレートのうちの1つにリンクすることも含み、このテンプレートは、リンクされた稼働中のフローの機能を表す。この方法は、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することをさらに含む。この方法は、生成された1つまたは複数の性能概要に基づいて性能報告を生成することをさらに含む。
上記の概要は、本開示の各実施形態例もすべての実装も説明するよう意図されていない。本開示のこれらの態様および他の態様が、以下で説明される実施形態から明らかになり、それらの実施形態を参照して説明される。
本開示をよく理解するため、および本開示が実行され得る方法をさらに明瞭に示すために、ここで単に例として、添付の図面に対して参照が行われる。
本発明の実施形態に従ってクラウド・コンピューティング環境を示す図である。 本発明の実施形態に従って抽象モデル・レイヤを示す図である。 本開示の実施形態に従って、3つのテンプレートおよび各テンプレートに関連付けられた例示的なフローのセットを示すブロック図である。 本開示の実施形態に従って、3人のユーザおよび各ユーザに関連付けられた例示的なフローのセットを示すブロック図である。 本開示の実施形態に従って、性能報告を生成するための方法を示すフロー図である。 本開示の実施形態に従って、性能報告を更新するための方法を示すフロー図である。 本開示の実施形態に従って、性能報告を生成および更新するように構成された装置を示すブロック図である。 本開示の実施形態に従って、本明細書に記載された方法、ツール、およびモジュール、ならびに任意の関連する機能のうちの1つまたは複数を実装することにおいて使用されてよい例示的なコンピュータ・システムを示す上位のブロック図である。
各図を参照して本開示が説明される。
各図が単に概略図であり、一定の縮尺で描かれていないということが理解されるべきである。同じ部分または類似する部分を示すために、図全体を通じて同じ参照番号が使用されるということも理解されるべきである。
本開示の実施形態が方法を構成する本出願の文脈において、そのような方法が、コンピュータによって実行するためのプロセスであってよく、すなわち、コンピュータ実装方法であってよいということが理解されるべきである。したがって、方法のさまざまなステップは、コンピュータ・プログラムのさまざまな部分(例えば、1つまたは複数のアルゴリズムのさまざまな部分)を反映してよい。
アプリケーションとサービスの統合は、通常、(i)アプリケーション間のデータの流れおよびデータ入力およびデータ出力に対して実行される処理を表すフロー(そうでなければ、「アプリケーション・フロー」または「統合フロー」と呼ばれる)を構成すること、および次に、(ii)データを構文解析し、別のアプリケーションまたはサービスによって利用可能な形式に変換することを含む。そのようなフローは、通常、他のシステムと情報をやりとりするために、拡張マークアップ言語(xml:eXtensible Markup Language)、json(Java(R)Script Object Notation)、yaml(Ain't Markup Language)などの形式で格納され、特定のランタイムによって、命令のセット(各個別の命令のセットは、ノードと呼ばれる)として解釈され得る。フローは、一連のノードを一緒に接続することによって構成され、ノードの各々は、特定のタスク(例えば、変換、フィルタ、集約など)を実行するように適合される。次に、オンプレミスまたはオフプレミスのプラットフォームの統合製品が、フローによって指定されたとおりにデータを処理する。オンプレミスのプラットフォームは、安定しており、データが内部(例えば、内部のプライベート・ネットワーク内)に格納されて処理されるため、良好なレベルのセキュリティを提供すると考えられている。オフプレミスのプラットフォーム(クラウドの計算リソースなど)は、比較的最近であり、発展途上の概念である。通常、オフプレミスのリソースまたはプラットフォームへの参照は、インターネットを介してアクセス可能なネットワーク、アプリケーション、サーバ、ストレージ、機能などの構成可能なオフプレミスの(例えば、リモートに位置している)計算リソースの共有プールへの、インターネットを介した遍在する便利な要求に応じたアクセスを可能にするための概念のことを指すと見なされる。反対に、オンプレミスのリソースまたはプラットフォームへの参照は、ローカルまたは仮想境界の内側/背後(多くの場合、ファイアウォールの背後)に位置するネットワーク、サーバ、ストレージ・デバイス、アプリケーションなどのローカルまたはプライベートな計算リソースの概念のことを指すと見なされる。
提案された実施形態によれば、複数のフローを実行するように構成されたシステムに関する性能報告を生成するための方法または装置あるいはその両方が提供されている。そのような提案された方法/装置は、システム上で実行される複数の稼働中のフローの各々に関連付けられた性能データを取得する。複数のテンプレートも取得される(各テンプレートはフローの機能を表す)。次に、稼働中のフローの各々が、リンクされた稼働中のフローの機能を表すテンプレートにリンクされる。その後、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要が生成される。言い換えると、テンプレートごとに、テンプレートにリンクされたフローの確認された性能に基づいて性能概要が生成される。そのような概要は、特定の機能に関連付けられた性能を表してよい。次に、性能概要に基づいて性能報告が作成され得る。
フローの機能を表すテンプレートへのシステム上で稼働しているフローのリンクは、特定のテンプレートに従う(すなわち、テンプレートの機能に関連する)フローのグループ化を可能にする。性能を反映するシステム上で稼働しているフローごとに、性能データが取得され得る。その後、個別のフローに関して収集された性能データがコンテキスト化され得るように、特定のテンプレートに従うフローの性能データが比較され、対比され得る、性能概要を生成することができる。このコンテキストは、性能を評価する場合、およびフローまたはフローが実行されるシステムに対して行われる変更について情報を提供するために、顧客にとって有用であることができる。
能力計画プロセスの間に顧客が見落としている情報が、顧客のフローの性能に関連することがあるということ、およびこの性能が、能力が増やされる状況にどの程度匹敵するかが提案される。システム上で稼働しているフローをテンプレートにリンクすることによって、類似するフローの複数のセットを得ることができる。次に、前述のフローのすべてに関する性能データを収集し、性能を比較することができる。このようにして、性能が、共通の機能を有するが、例えば、システムの異なる処理能力にアクセスできることがある他のフローと比較され得る。その後、性能報告を生成することによって、フローの性能が他の類似するフローにどの程度匹敵するかが顧客によって簡単に確認されることが可能になり、これによって、前述の顧客の能力計画プロセスに情報を提供してよい。
一部の実施形態では、性能概要を生成することは、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が条件を満たすということの決定に応答して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することとをさらに含む。
例えば、この実施形態は、意味のある比較を保証し、異常データの影響が軽減されることを保証するために、性能概要にリンクされた十分な数の稼働中のフローが存在する場合にのみ性能概要が生成されることを保証する。その結果は、さまざまな条件で稼働している広範囲の類似するフローの性能を反映する性能データを提示する性能概要になる。
一部の実施形態によれば、性能データを取得することは、複数の稼働中のフローの各々に関して、稼働中のフローのレイテンシ、稼働中のフローの1秒当たりのデータ・レート、稼働中のフローのコスト、および稼働中のフローがシステム上で実行された時間のうちの1つまたは複数を取得することを含む。
複数のテスト・フローを取得するために、複数のフローにリンクされたテンプレートをさらに利用することができる。次に、より多くの性能データをテスト性能データの形態で提供するため、およびしたがって、テスト・フローが基づいているテンプレートにリンクされた複数のフローにより多くのコンテキストを提供するために、これらのテスト・フローがシステム上で実行され得る。テスト・フローの実行は、性能報告を更新するため、およびしたがって、ユーザ/顧客により多くの情報を提供し、ユーザ/顧客の能力計画プロセスに情報を提供するために、使用され得る。
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と組み合わせて実装され得る。
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できることがある。
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御することができ、場合によっては、選ばれたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
ここで図1を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。ノード10は、互いに通信してよい。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図1に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
ここで図2を参照すると、クラウド・コンピューティング環境50(図1)によって提供される機能的抽象レイヤのセットが示されている。図2に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供してよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書またはインボイスの送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。性能報告85は、本明細書において詳述された提案された概念に従って性能報告の生成を行う。
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、および期限付き仮想通貨処理96が挙げられる。
実施形態例は、さまざまな種類の分散処理環境において利用されてよい。実施形態例の要素および機能の説明の背景を提供するために、以下では、各図が、実施形態例の態様が実装されてよい例示的な環境として提供される。これらの図は単なる例であり、本発明の態様または実施形態が実装されてよい環境に関して、どのような制限も主張することも、意味することも意図されていないということが、理解されるべきである。本発明の思想および範囲から逸脱することなく、示された環境に対して多くの変更が行われてよい。さらに、提案された概念のうちの1つまたは複数を具現化する装置またはシステムは、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話または他の通信デバイス、パーソナル・デジタル・アシスタント(PDA:personal digital assistants)などを含む、複数の異なる処理デバイスのいずれかの形態を取ってよい。一部の例では、オフプレミスのデバイスおよびオンプレミスのデバイスは、例えばオペレーティング・システム・ファイルまたはユーザによって生成されたデータあるいはその両方を格納するために、不揮発性メモリを提供するようにフラッシュ・メモリを使用して構成された、ポータブル・コンピューティング・デバイスを含んでよい。したがってシステムは、基本的に、アーキテクチャの制限なしで、任意の既知の処理システムまたは今後開発される処理システムであってよい。
提案された概念は、複数のフローを実行しているシステムに関する性能報告を生成する装置または方法を提供することによって、システムを改良し得る。そのような提案は、能力計画または割り当て能力あるいはその両方を拡張するか、または改善することができる。
提案された概念の理解の助けとなるために、ここで、図3Aおよび3Bを参照して実施形態例が説明される。
図3Aは、本開示の実施形態に従って、3つのテンプレートおよび各テンプレートに関連付けられた例示的なフローのセット318を示すブロック図310を示している。
フローは、タスクを達成するために一緒に接続された動作のセットと考えられてよい。例えば、フローは、あるシステムまたはアプリケーションへの入力が別のシステムの呼び出しに接続される、統合であることができる。稼働中のフローは、複数のフローを実行するように構成されたシステム上で実行されているか、または実行されたフローであってよい。
テンプレートは、1つのフローのパターンを表すか、または2つ以上のフローのパターンを表してよい。フローは、テンプレートから作成されてよい。テンプレートが2つ以上のフローのパターンを表す事例では、テンプレートから2つ以上のフローが作成され得るように、テンプレートが表すパターンに可変性の要素が存在してよい。テンプレートのセットは、例えば、100個のフローが100個のテンプレートを生成するか、100個のフローが50個のテンプレートを生成するか、または100個のフローが10個のテンプレートを生成するように、フローのセットから生成されてよい。
図3Aに示されているように、テンプレート番号1 312は、フロー番号2、フロー番号5、フロー番号6、およびフロー番号8のパターンまたは機能を最も良く表してよい。テンプレート番号2 314は、フロー番号1、フロー番号3、およびフロー番号7のパターンまたは機能を最も良く表してよい。テンプレート番号3 316は、フロー番号4のパターンまたは機能を最も良く表してよい。既存のどのテンプレートによっても表され得ないパターンまたは機能を有するフローが存在する場合、前述のフローから新しいテンプレートが生成されてよい。既存のどのテンプレートによっても表され得ないパターンまたは機能を有するフローが存在する場合、前述のフローおよび1つまたは複数の他のフローから新しいテンプレートが生成されてよい。既存のどのテンプレートによっても表され得ないパターンまたは機能を有するフローが存在する場合、既存のテンプレートを一般化することによって新しいテンプレートが生成されてよい。
稼働中のフローは、稼働中のフローの機能またはパターンを表すテンプレートにリンクされてよい。稼働中のフローは、稼働中のフローの機能またはパターンを最も良く表すテンプレートにリンクされてよい。稼働中のフローの機能またはパターンを最も良く表すテンプレートは、テンプレートによって表されたフローのパターンにおける可変性の尺度、および稼働中のフローの実際のパターンによって決定されてよい。
図3Bは、本開示の実施形態に従って、3人のユーザおよび各ユーザに関連付けられた例示的なフローのセット328を示すブロック図320を示している。
システムは、複数の稼働中のフローを実行してよい。複数の稼働中のフローの各々は、ユーザに関連付けられていてよい。各ユーザは、複数の稼働中のフローを持っていてよい。図3Bに示されているように、ユーザ番号1 322は、稼働中のフロー番号5およびフロー番号6に関連付けられている。ユーザ番号2 324は、稼働中のフロー番号1、フロー番号2、フロー番号3、およびフロー番号4に関連付けられている。ユーザ番号3 326は、稼働中のフロー番号7およびフロー番号8に関連付けられている。フローが同じテンプレートにリンクされるように、あるユーザに関連付けられた稼働中のフローは、別のユーザに関連付けられた稼働中のフローとのある程度の類似性を有してよい。
図4は、本開示の実施形態に従って、性能報告を生成する方法を示すフロー図400を示している。
ステップ402で、複数の稼働中のフローから性能データが取得される。この取得は、稼働中のフローのレイテンシを測定すること、稼働中のフローのデータ・レートを測定すること、稼働中のフローのメモリに関してシステム・コストを測定すること、および稼働中のフローの処理に関してシステム・コストを測定することを含んでよいが、これらに限定されない。稼働中のフローがシステム上で稼働している時間が記録されてもよい。
ステップ404で、複数のテンプレートが取得される。これらのテンプレートは、テンプレート・データベースから取得されてよい。代替として、テンプレートは、複数の稼働中のフローから生成されてよい。テンプレートは、フローの機能を表してよく、複数の稼働中のフローのうちの1つまたは複数の機能を表してよい。
ステップ406で、複数の稼働中のフローの各々が、稼働中のフローの機能を表すテンプレートにリンクされる。稼働中のフローがリンクされるテンプレートは、稼働中のフローを表してよい。テンプレートによって表されたフローのパターンにおける可変性を最小化することによって、稼働中のフローのパターンとの最良適合が決定されてよい。代替として、稼働中のフローは、最も少ない数のフローの機能を表すが、それでも稼働中のフローの機能を表している(または最も厳密に表している)テンプレートにリンクされてよい。
稼働中のフローは、複数のテンプレートのうちの1つのみにリンクされてよい。これは、稼働中のフローの機能を最も良く表すテンプレートのみにリンクされるという利点をもたらす。代替として、稼働中のフローは、複数のテンプレートのうちの2つ以上にリンクされてよい。これは、比較のためのより多くの性能データ点が存在するように、広範囲のさまざまなフローと比較されるという利点をもたらす。
ステップ408で、複数のテンプレートのテンプレートごとに性能概要が生成される。テンプレートにリンクされた稼働中のフローの数が特定の数を下回る場合、テンプレートに関して性能概要が生成されなくてよい。例えば、1つの稼働中のフローのみがテンプレートにリンクされている場合、性能概要は生成されなくてよい。これによって、異常データが補正されるように、各生成された性能概要が稼働中のフローの十分な数の性能データを含むことを保証する。
特定のテンプレートに関する性能概要を生成することは、テンプレートにリンクされた稼働中のフローのすべての性能データの平均値を計算すること、テンプレートにリンクされた稼働中のフローのすべての性能データの範囲を計算すること、テンプレートにリンクされた稼働中のフローのすべての性能データのリストを順に並べること、またはテンプレートにリンクされた稼働中のフローのすべての性能データの最大値および最小値を計算すること、あるいはその組み合わせを含んでよいが、これらに限定されない。
例えば、性能概要が、午前、午後、日の特定の時間、または特定の曜日の間にシステム上で実行されたフローからの性能データに固有になるように、性能概要は、特定の時間での稼働中のフローからの性能データを使用して生成されてもよい。ボトルネックまたは余剰能力の時間を識別することにおいてユーザを支援するために、さまざまな時刻に稼働しているフローからの性能データが、性能概要において比較され、対比されてもよい。これは、能力計画プロセスに役立ち、特定のフローをシステム上でいつ実行するべきかに関する計画プロセスにも役立つ。
ステップ410で、性能報告が生成される。この生成は、ステップ408で生成された性能概要のうちの1つまたは複数に基づいてよい。
一部の実施形態では、ユーザから性能報告の問い合わせが受信される。ユーザは、複数のテンプレートにリンクされているシステム上の複数の稼働中のフローに関連付けられてよい。性能報告の問い合わせの受信時に、性能報告が生成される。この場合、1つまたは複数の性能概要に基づいて性能報告が生成されてよく、性能概要の各々は、前述のユーザに関連付けられた1つまたは複数の稼働中のフローにリンクされたテンプレートに関連付けられる。これは、ユーザに関連する性能概要のみが性能報告においてユーザに提示されるということを意味する。性能報告の生成時に、性能報告がユーザに送信される。
1つの例では、ユーザは、どの性能データを性能報告に含めるか、および性能報告が基づく性能概要の各々を生成するために性能データが処理される方法を選択してよい。別の例では、性能データ、および性能報告が基づく性能概要の各々を生成するために性能データが使用される方法は、自動的に決定される。
例えば、ユーザは、2つの稼働中のフローに関連付けられてよい。稼働中のフローの各々は、各テンプレートにリンクされてよい。稼働中のフローごとの性能データが取得され、その後、テンプレートにリンクされた他の稼働中のフローの性能データを含んでいる性能概要にまとめられる。次に、性能報告性を生成するために性能概要が使用される。その後、性能報告がユーザに送信される。性能報告は、ユーザに関連付けられた2つの稼働中のフローの性能データ、前述の2つの稼働中のフローに類似する他のフローの性能データの平均値、および前述の2つの稼働中のフローに類似する他のフローの最良の性能データを含んでよい。加えて、異なる時間での各稼働中のフローの性能データが、性能報告において提示されてよい。
言い換えると、性能報告の生成は、次のように述べられ得る。各ユーザの稼働中のフローが、稼働中のフローの機能を最も良く表すテンプレートと照合される。事実上、すべての稼働中のフローが、特定のテンプレートに従うフローのグループに分類される。次に、対応するテンプレートに対して稼働中のフローから収集された性能データが、性能概要の形態で格納される。この格納は、性能データを匿名化するために、特定の数の異なる稼働中のフローが同じテンプレートにリンクされている場合にのみ実行されてよい。次に、性能概要が収集され、自動的に生成された性能報告に追加されてよく、この性能報告は、テンプレートごとに平均性能指標を示す。
図5は、本開示の実施形態に従って、性能報告を更新する方法を示すフロー図500を示している。
ステップ502で、複数の稼働中のフローの性能に関連している性能報告が取得される。性能報告は、1つまたは複数の性能概要に基づいてよく、性能概要の各々は、テンプレートに関連していてよい。前述のテンプレートの各々は、複数の稼働中のフローにリンクされてよい。
ステップ504で、複数のテスト・フローが取得され、テスト・フローの各々はテンプレートに関連付けられる。性能報告内の各性能概要に関連付けられたテンプレートごとに、少なくとも1つのテスト・フローが存在してよい。各テスト・フローは、前述のテンプレートから生成されてよい。代替として、各テスト・フローは、テスト・フローのデータベースから取得されてよい。各テスト・フローは、複数の稼働中のフローのうちの1つまたは複数と共通の機能を共有してよい。
ステップ506で、複数のテスト・フローのセットが実行され、各テスト・フローのテスト性能データが取得される。
複数のテスト・フローのセットは、システムの予備能力に基づいて決定される。この能力は、例えば、処理能力またはストレージ容量であってよい。テスト・フローが使用する能力の量は、システムの予備能力によって決定される。
システムの予備能力が特定の量、または割合、しきい値を超える場合、システム上のテスト・フローの数が増やされてよい。代替として、システムの予備能力が特定の量、または割合、しきい値を超える場合、システム上ですでに稼働しているテスト・フローのデータ・スループットまたは駆動速度が増やされてよい。
システムの予備能力が特定の量、または割合、しきい値を下回る場合、システム上のテスト・フローの数が減らされてよい。代替として、システムの予備能力が特定の量、または割合、しきい値を下回る場合、システム上ですでに稼働しているテスト・フローのデータ・スループットまたは駆動速度が減らされてよい。
このようにして、稼働中のフローの負荷における変動を考慮するために、稼働中のフローに使用できるシステムの能力が許容できるレベルに保たれる。システムの使用可能な能力は、継続的に監視されてよく、システムの許容できる使用可能な能力を保証するために、テスト・フローのセットが継続的に再評価される。
システム上で実行されるために選択されたテスト・フローのセット内の複数のテスト・フローは、例えば、テスト・フローが最後に実行された時間、特定のテンプレートに関連付けられたテスト・フローが最後に実行された時間、またはテスト・フローが類似するパターンまたは機能を有する稼働中のフローの数、あるいはその組み合わせに基づいて選択されてよい。このようにして、多数の稼働中のフローに関連するテスト性能データが取得されるように、さまざまなテスト・フローが実行され得る。
テスト・フローの各々がシステム上で実行されている間に、各テスト・フローのテスト性能データが取得される。この取得は、テスト・フローのレイテンシを測定すること、テスト・フローのデータ・レートを測定すること、テスト・フローのメモリに関してシステム・コストを測定すること、およびテスト・フローの処理に関してシステム・コストを測定することを含んでよいが、これらに限定されない。テスト・フローがシステム上で稼働している時間が記録されてもよい。
ステップ508で、テスト性能概要が生成される。前のステップで取得されたテスト性能データに基づいて、テスト性能概要が生成される。各テスト性能概要は、性能報告に関連付けられた複数のテンプレートのうちの1つに関連している。
特定のテンプレートに関するテスト性能概要を生成することは、テンプレートにリンクされたテスト・フローのすべてのテスト性能データの平均値を計算すること、テンプレートにリンクされたテスト・フローのすべてのテスト性能データの範囲を計算すること、テンプレートにリンクされたテスト・フローのすべてのテスト性能データのリストを順に並べること、またはテンプレートにリンクされたテスト・フローのすべてのテスト性能データの最大値および最小値を計算すること、あるいはその組み合わせを含んでよいが、これらに限定されない。
例えば、テスト性能概要が、午前、午後、日の特定の時間、または特定の曜日の間にシステム上で実行されたフローからの性能データに固有になるように、テスト性能概要は、特定の時間でのテスト・フローからのテスト性能データを使用して生成されてもよい。ボトルネックまたは余剰能力の時間を識別することにおいてユーザを支援するために、さまざまな時刻に稼働しているテスト・フローからのテスト性能データが、テスト性能概要において比較され、対比されてもよい。これは、能力計画プロセスに役立ち、フローのバッチをシステム上でいつ実行するべきか、または性能が特定のレベルを超えるように、フローをいつ実行するべきかに関する計画プロセスにも役立つ。
ステップ510で、性能報告が更新される。テスト性能概要が性能報告に追加される。性能報告内の性能概要に関連付けられているテンプレートに関連付けられたテスト性能概要が追加される。このようにして、性能報告に含まれている稼働中のフローとの関連性があるテスト性能データが追加される。これによって、ユーザは、自分の稼働中のフローの性能を、元の性能報告からのシステム上の他の稼働中のフローの性能、およびテスト・フローの性能と比較することができるため、ユーザの稼働中のフローに関する可能性のあるコスト、レイテンシ、および最大スループットに関して、ユーザに手がかりを与えてよい。
言い換えると、性能報告の更新は、次のように述べられ得る。識別されたテンプレートごとに、フローが通常、テンプレートから作成される方法と同じ方法で、テスト・フローが手動で作成され得る。実際には、システム上で実行されるテストは、テンプレートのサブセットに基づいてよい。このサブセットは、各テンプレートに関連付けられた稼働中のフローの数に基づいて決定されることが可能であり、テンプレートが他のテンプレートとどの程度異なっているかに基づいて決定されることも可能である。次に、テスト・フローのサブセットが、システム上で、連続的サイクルで実行されてよく、システムの処理能力全体のある割合に達するまで、駆動速度が増やされる。しきい値を超えた後に、稼働中のフローに使用できる処理を許容できるレベルに保つために、テスト・フローが「徐々に戻る」。次に、テスト・フローからのテスト性能データが、性能報告内の稼働中のフローの性能データの数値と結合される。これによって、報告が、特定のテンプレートに関して、フローを実行している実際のユーザによって達成されるレートを示すこと、およびテスト・フローによって達成される可能性のある最大レートを示すことを可能にする。このことから、ユーザは、可能性のあるコスト、レイテンシ、および最大スループットを知ることができてよい。稼働中のフローからの性能データよりはるかに少ない、テスト・フローからのテスト性能データのデータ点が存在することが期待され得る。
性能報告は、前述の方法で定期的に更新されてよい。例えば、性能報告が生成されるたび、ユーザが性能報告の問い合わせを送信するたび、または性能概要が生成されるたびに、性能報告が更新されてよい。
図6は、本開示の実施形態に従って、性能報告を生成および更新するための装置を示すブロック図600を示している。
システム610は、複数の稼働中のフロー612および複数のテスト・フロー614を含む、複数のフローを実行するように構成される。システム610は、複数のユーザからの複数のフローを実行するように構成された、クラウドベースのマルチテナント・システムであってよく、各ユーザは、システムの特定の処理能力にアクセスすることができる。システム610は、クラウドベースのアプリケーション(その例は既知であり、広く利用可能である)などの、クラウドベースの統合製品であってよい。
マッピング・ユニット620は、テンプレートをテンプレート・ストア622に格納するように構成されてよい。マッピング・ユニット620は、稼働中のフローおよびテスト・フローとテンプレートの間のリンクをテンプレート-フロー間リンク・ストア(template-flow link store)624に格納するように構成されてよい。マッピング・ユニット620は、複数のテンプレートを取得し、稼働中のフローの各々を前述のテンプレートのうちの1つまたは複数にリンクするように構成される。マッピング・ユニット620は、稼働中のフローの機能またはパターンを最も良く表すテンプレートを決定するように構成されてよい。
指標ユニット630は、システム610上の複数の稼働中のフロー612の各々に関連付けられた性能データを取得するように構成される。指標ユニット630は、システム612上の複数の稼働中のフローの各々に関連付けられた性能データを性能データ・ストア632に格納するようにさらに構成されてよい。
指標ユニット630は、システム610上の複数のテスト・フロー614の各々に関連付けられたテスト性能データを取得するようにも構成される。指標ユニット630は、システム610上の複数のテスト・フロー614の各々に関連付けられたテスト性能データをテスト性能データ・ストア634に格納するようにさらに構成されてよい。
指標ユニット630は、システム610上で稼働しているフローの、レイテンシ、データ・レート、コスト、および実行時間を取得するように構成されてよい。
性能テスト・ドライバ(performance test driver)640は、複数のテスト・フローを取得することと、システム610の予備処理能力に基づいて、システム上で実行されるべきテスト・フローのセットを決定することと、システム610上の複数のテスト・フロー614のセットを駆動することとを実行するように構成される。性能テスト・ドライバ640は、テスト・フローをテスト・フロー・ストア642に格納するように構成されてよい。性能テスト・ドライバ640は、システム610のアイドル能力を決定することと、テスト・フロー614によって使用されるシステム610の能力を増やすか、または減らすこととを実行するようにさらに構成されてよい。性能ドライバ640は、テスト・フローをシステム610上のテスト・フロー614のセットに追加するか、またはテスト・フロー614のセットから除去することと、システム610上の複数のテスト・フロー614のセットのデータ・スループットを増やすか、または減らすこととを実行するようにさらに構成されてよい。
報告生成器650は、性能概要を生成し、性能概要を性能概要ストア652に格納するように構成される。報告生成器650は、テンプレートごとに、どの稼働中のフローがテンプレートに関連付けられているかをマッピング・ユニット620から取得し、次に、稼働中のフローに関連付けられた指標ユニット630からの性能データを性能概要にまとめるように構成されてよい。性能データをまとめることは、性能データの平均値を求めること、性能データの範囲を決定すること、または性能データの最大値および最小値を決定すること、あるいはその組み合わせを実行することを含んでよい。性能報告生成器650は、特定の数未満の稼働中のフローがテンプレートにリンクされている場合、そのテンプレートに関する性能概要を生成しなくてよい。
報告生成器650は、テスト性能概要を生成し、テスト性能概要をテスト性能概要ストア654に格納するようにさらに構成される。報告生成器650は、どのテスト・フローがテンプレートに関連付けられているかをマッピング・ユニット620から取得し、次に、テスト・フローに関連付けられた指標ユニット632からのテスト性能データをテスト性能概要にまとめるように構成されてよい。テスト性能データをまとめることは、テスト性能データの平均値を求めること、テスト性能データの範囲を決定すること、またはテスト性能データの最大値および最小値を決定すること、あるいはその組み合わせを含んでよい。
報告生成器650は、性能報告を生成および更新するようにさらに構成される。報告生成器650は、性能報告を性能報告ストア656に格納するように構成される。
報告生成器650は、性能概要の数に基づいて性能報告を生成してよい。報告生成器650は、性能報告の問い合わせをユーザから受信することと、性能概要が関連付けられているテンプレートにリンクされた稼働中のフローを介して、ユーザにリンクされている性能概要に基づいて性能報告を生成することと、性能報告をユーザに送信することとを実行するように構成されてよい。代替として、性能報告生成器650は、性能報告をユーザに送信する前に、テスト性能概要を使用して性能報告を更新するようにさらに構成されてよい。報告生成器650は、性能報告を格納し、性能報告を継続的に更新するように構成されてよい。代替として、報告生成器650は、性能報告を格納し、ユーザから性能報告の問い合わせを受信したときに性能報告を更新するように構成されてよい。
ここで図7を参照すると、本開示の実施形態に従って、(例えば、コンピュータの1つまたは複数のプロセッサ回路またはコンピュータ・プロセッサを使用して)本明細書に記載された方法、ツール、およびモジュール、ならびに任意の関連する機能のうちの1つまたは複数を実装することにおいて使用されてよい例示的なコンピュータ・システム1101の上位のブロック図が示されている。一部の実施形態では、コンピュータ・システム1101の主要なコンポーネントは、1つまたは複数のCPU1102、メモリ・サブシステム1104、端末インターフェイス1112、ストレージ・インターフェイス1116、I/O(Input/Output:入出力)デバイス・インターフェイス1114、およびネットワーク・インターフェイス1118を含んでよく、これらすべては、メモリ・バス1103、I/Oバス1108、およびI/Oバス・インターフェイス1110を介したコンポーネント間の通信のために、直接的または間接的に通信可能に結合されてよい。
コンピュータ・システム1101は、本明細書では総称的にCPU1102と呼ばれる、1つまたは複数のプログラム可能な汎用中央処理装置(CPU)1102A、1102B、1102C、および1102Dを含んでよい。一部の実施形態では、コンピュータ・システム1101は、比較的大きいシステムでは標準的な、複数のプロセッサを含んでよいが、他の実施形態では、コンピュータ・システム1101は、代替として単一CPUシステムであってよい。各CPU1102は、メモリ・サブシステム1104に格納された命令を実行してよく、1つまたは複数のレベルのオンボード・キャッシュを含んでよい。一部の実施形態では、プロセッサは、メモリ・コントローラまたはストレージ・コントローラあるいはその両方のうちの少なくとも1つまたは複数を含むことができる。一部の実施形態では、CPUは、本明細書に含まれているプロセス(例えば、プロセス400および500)を実行することができる。
システム・メモリ・サブシステム1104は、ランダム・アクセス・メモリ(RAM)1122またはキャッシュ・メモリ1124などの揮発性メモリの形態で、コンピュータ・システム可読媒体を含んでよい。コンピュータ・システム1101は、その他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・データ・ストレージ媒体をさらに含んでよい。単に例として、「ハード・ドライブ」などの、取り外し不可、不揮発性の磁気媒体に対する読み取りと書き込みを行うために、ストレージ・システム1126を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、あるいはCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りまたは書き込みを行うための光ディスク・ドライブを提供することができる。加えて、メモリ・サブシステム1104は、フラッシュ・メモリ(例えば、フラッシュ・メモリ・スティック・ドライブまたはフラッシュ・ドライブ)を含むことができる。メモリ・デバイスは、1つまたは複数のデータ媒体インターフェイスによってメモリ・バス1103に接続され得る。メモリ・サブシステム1104は、さまざまな実施形態の機能を実行するように構成された一連の(例えば、少なくとも1つの)プログラム・モジュールを備えている少なくとも1つのプログラム製品を含んでよい。
図7では、メモリ・バス1103が、CPU1102、メモリ・サブシステム1104、およびI/Oバス・インターフェイス1110の間の直接通信経路を提供する単一のバス構造として示されているが、メモリ・バス1103は、一部の実施形態では、複数の異なるバスまたは通信経路を含んでよく、それらのバスまたは通信経路は、階層的構成、星形構成、またはWeb構成でのポイントツーポイント・リンク、複数の階層的バス、冗長な並列経路、または任意のその他の適切な種類の構成などのさまざまな形態のいずれかで、配置されてよい。さらに、I/Oバス・インターフェイス1110およびI/Oバス1108が単一のユニットとして示されているが、コンピュータ・システム1101は、一部の実施形態では、複数のI/Oバス・インターフェイス1110、複数のI/Oバス1108、またはその両方を含んでよい。さらに、I/Oバス1108を、さまざまなI/Oデバイスに達するさまざまな通信経路から分離する複数のI/Oインターフェイス・ユニットが示されているが、他の実施形態では、I/Oデバイスの一部または全部が、1つまたは複数のシステムI/Oバスに直接接続されてよい。
一部の実施形態では、コンピュータ・システム1101は、複数ユーザのメインフレーム・コンピュータ・システム、単一ユーザのシステム、あるいはサーバ・コンピュータ、または直接的ユーザ・インターフェイスを少ししか持たないか、もしくは全く持たないが、他のコンピュータ・システム(クライアント)から要求を受信する同様のデバイスであってよい。さらに、一部の実施形態では、コンピュータ・システム1101は、デスクトップ・コンピュータ、ポータブル・コンピュータ、ラップトップ・コンピュータまたはノートブック・コンピュータ、タブレット・コンピュータ、ポケット・コンピュータ、電話、スマートフォン、ネットワーク・スイッチまたはルータ、あるいは任意のその他の適切な種類の電子デバイスとして実装されてよい。
図7が、例示的なコンピュータ・システム1101の主要な代表的コンポーネントを示すよう意図されていることに注意する。しかし、一部の実施形態では、個別のコンポーネントが、図7に表されているコンポーネントよりも大きい複雑さまたは小さい複雑さを有してよく、図7に示されているコンポーネント以外のコンポーネントまたは追加のコンポーネントが存在してよく、そのようなコンポーネントの数、種類、および構成が変化してよい。
プログラム・モジュール1130の少なくとも1つのセットをそれぞれ含んでいる1つまたは複数のプログラム/ユーティリティ1128が、メモリ・サブシステム1104に格納されてよい。プログラム/ユーティリティ1128は、ハイパーバイザ(仮想マシン・モニタとも呼ばれる)、1つまたは複数のオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データを含んでよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データ、またはこれらの組み合わせの各々は、ネットワーク環境の実装を含んでよい。プログラム/ユーティリティ1128またはプログラム・モジュール1130あるいはその両方は、通常、さまざまな実施形態の機能または方法を実行する。
上記の説明から、提案された実施形態が、エンド・ユーザが統合を実行する実際の本番システムを使用して性能報告を生成するための1つまたは複数の概念を提供し得るということが、理解されるであろう。実施形態例は、次の2つの主要な部分を含むとして説明され得る。
(i)フローを実行している実際の顧客からの性能結果の収集、および性能報告内の特定の統合の種類(すなわち、フローの機能)への結果の割り当て、ならびに
(ii)能力が特定のレベルに達した後の自動的な減少を伴う、本番システムにおける予備能力を使用して統合の種類ごとに性能テストを実行することによって繰り返されるサイクル。
テストからの結果がユーザ/顧客の数値と結合され、報告が、特定の機能に関して実際の顧客によって達成される速度を示すこと、または手動で作成されたテストに基づいて可能な最大値を示すこと、あるいはその両方を可能にする。そのような情報から、ユーザは、例えば、可能性のあるコスト、レイテンシ、および最大スループットを知り得る。これによって、ユーザが、計画された使用量を評価し、要件に従って調整、変更、またはフローの照合を始めることを可能にし得る。さらに、ある期間(例えば、24時間の期間)全体を通じて特定の種類のフローの性能がどのように変化するかに関する追加情報を顧客に提供するために、メッセージのサイズおよび時刻に基づいて結果が記録されてもよく、このようにして、改善された計画を可能にする。
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、1つのステップとして実行されるか、同時に実行されるか、時間的に部分的または完全に重複する方法で実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
本開示のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に制限されない。説明された実施形態の範囲および思想から逸脱しない多くの変更および変形が、当業者にとって明らかであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、さまざまな実施形態を制限することを意図していない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、文脈で特に明示的に示されない限り、複数形も含むよう意図されている。「含む」または「含んでいる」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示すが、1つまたは複数のその他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外していないということが、さらに理解されるであろう。さまざまな実施形態のうちの例示的な実施形態の前の詳細な説明では、本明細書の一部を形成する(類似する番号が類似する要素を表す)添付の図面への参照が行われ、特定の実施形態例が例として示されており、さまざまな実施形態が実践されてよい。これらの実施形態は、当業者が実施形態を実践できるようにするために十分詳細に説明されたが、他の実施形態が使用されてよく、さまざまな実施形態の範囲から逸脱することなく、論理的変更、機械的変更、電気的変更、およびその他の変更が行われてよい。前の説明では、さまざまな実施形態の完全な理解を可能にするために、多くの特定の詳細が示された。しかし、さまざまな実施形態は、それらの特定の詳細なしで実践されてよい。他の例では、実施形態を不明瞭にしないために、周知の回路、構造、および技術は詳細に示されていない。
本明細書において使用されるとき、「複数の」は、項目を参照して使用されるとき、1つまたは複数の項目を意味する。例えば、「複数の異なる種類のネットワーク」は、1つまたは複数の異なる種類のネットワークである。
異なる参照番号が共通の番号を含んでおり、その後に異なる文字が続くか(例えば、100a、100b、100c)、または区切り文字が続き、その後に異なる番号が続く場合(例えば、100-1、100-2、または100.1、100.2)、文字または後に続く番号を含まない参照文字(例えば、100)のみの使用は、要素のグループ全体、グループの任意のサブセット、またはグループの例示的な見本を参照することがある。
さらに、「~のうちの少なくとも1つ」という語句は、項目のリストと共に使用された場合、リストに示された項目のうちの1つまたは複数の異なる組み合わせが使用され得るということ、およびリスト内の各項目のうちの1つのみが必要であることがあるということを意味する。言い換えると、「~のうちの少なくとも1つ」は、リストからの項目の任意の組み合わせおよび任意の数の項目が使用されてよいが、リスト内の項目のすべてが必要とされるわけではないということを意味する。項目は、特定の物体、事物、またはカテゴリであることができる。
例えば、「項目A、項目B、または項目Cのうちの少なくとも1つ」は、項目A、項目Aおよび項目B、または項目Bを含んでよいが、これに限定されない。この例は、項目A、項目B、および項目C、または項目Bおよび項目Cを含んでもよい。当然ながら、これらの項目の任意の組み合わせが存在することができる。一部の例では、「~のうちの少なくとも1つ」は、例えば、2つの項目A、1つの項目B、および10個の項目C、4つの項目Bおよび7つの項目C、またはその他の適切な組み合わせであることがでるが、これに限定されない。
「実施形態」という用語の異なる事例は、本明細書内で使用されるとき、同じ実施形態を必ずしも参照しないが、同じ実施形態を参照することもある。本明細書において示されたか、または説明されたすべてのデータおよびデータ構造は単なる例であり、他の実施形態では、異なるデータの量、データの種類、フィールド、フィールドの数および種類、フィールド名、行の数および種類、レコード、エントリ、またはデータの編成が使用されてよい。加えて、分離したデータ構造が必要でなくてよいように、任意のデータが論理と組み合わせられてよい。したがって、前の詳細な説明は、限定する意味で受け取られるべきではない。
本開示のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に制限されない。説明された実施形態の範囲および思想から逸脱しない多くの変更および変形が、当業者にとって明らかであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
本発明は、特定の実施形態に関して説明されたが、実施形態の変更および修正が当業者にとって明らかになるということが予想される。したがって、以下の特許請求の範囲が、そのようなすべての変更および修正を、本発明の真の思想および範囲に含むように、対象にすると解釈されるということが意図される。
本開示の実施形態は、複数のフローを実行するように適応されたシステムに関する性能報告を生成するためのコンピュータ実装方法を提供し、このコンピュータ実装方法は、システム上で実行される複数の稼働中のフローの各々に関連付けられた性能データを取得することと、複数のテンプレートを取得することであって、各テンプレートがフローの機能を表す、取得することと、複数の稼働中のフローの各々を、リンクされた稼働中のフローの機能を表す複数のテンプレートのうちの1つにリンクすることと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することと、生成された1つまたは複数の性能概要に基づいて性能報告を生成することとを含む。
この方法は、性能概要を生成することが、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が条件を満たすということの決定に応答して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することとをさらに含む、ということをさらに含んでよい。
この方法は、性能データを取得することが、複数の稼働中のフローの各々に関して、稼働中のフローのレイテンシ、稼働中のフローの1秒当たりのデータ・レート、稼働中のフローのコスト、および稼働中のフローがシステム上で実行された時間のうちの1つまたは複数を取得することを含む、ということをさらに含んでよい。
この方法は、性能概要が、テンプレートにリンクされた複数の稼働中のフローの性能データの平均値、テンプレートにリンクされた複数の稼働中のフローの性能データの範囲、およびテンプレートにリンクされた複数の稼働中のフローの性能データのうちの1つまたは複数のリストを含む、ということをさらに含んでよい。
この方法は、複数の稼働中のフローの各々をリンクすることが、複数の稼働中のフローの各々に関して、複数のテンプレートのうちの、稼働中のフローの機能を最も厳密に表すテンプレートを決定することと、この決定に基づいて、複数の稼働中のフローの各々を複数のテンプレートのうちの1つにリンクすることとを含む、ということをさらに含んでよい。
この方法は、複数の稼働中のフローの各々が、複数のユーザのうちの1人に関連付けられ、複数のユーザの各々が、複数の稼働中のフローのうちの1つまたは複数に関連付けられる、ということをさらに含んでよい。一部の実施形態では、この方法は、性能報告を生成することが、複数のユーザのうちの1人のユーザから性能報告の問い合わせを受信することと、生成された1つまたは複数の性能概要に基づいて性能報告を生成することであって、1つまたは複数の性能概要の各々が複数の稼働中のフローのうちの1つまたは複数に関連付けられた性能データに基づき、複数の稼働中のフローのうちの1つまたは複数のうちの少なくとも1つがユーザに関連付けられる、生成することと、性能報告の問い合わせを受信することに応答して、性能報告をユーザに送信することとをさらに含む、ということをさらに含んでよい。
この方法は、システムがマルチテナント統合クラウド・システムであり、複数の稼働中のフローの各々に、システムの既定の処理能力が割り当てられる、ということをさらに含んでよい。
本開示の別の実施形態は、複数のフローを実行するように適応されたシステムに関する性能報告を更新するためのコンピュータ実装方法を提供し、このコンピュータ実装方法は、性能報告を取得することであって、性能報告が、複数のテンプレートのうちの1つまたは複数に関連付けられた1つまたは複数の性能概要に基づく、取得することと、複数のテスト・フローを取得することであって、各テスト・フローが複数のテンプレートのうちの1つに関連付けられる、取得することと、複数のテスト・フローのセットをシステム上で実行することと、複数のテスト・フローのセット内のテスト・フローの各々に関連付けられたテスト性能データを取得することと、複数のテンプレートのうちの少なくとも1つに関して、テンプレートに関連付けられたテスト・フローの各々に関連付けられた性能データに基づいてテスト性能概要を生成することと、生成された1つまたは複数のテスト性能概要に基づいて性能報告を更新することとを含む。
この方法は、テスト性能データを取得することが、複数のテスト・フローのセットの各々に関して、テスト・フローのレイテンシ、テスト・フローの1秒当たりのデータ・レート、テスト・フローのコスト、およびテスト・フローがシステム上で実行された時間のうちの1つまたは複数を取得することを含む、ということをさらに含んでよい。
この方法は、複数のテスト・フローのセットの実行が、システムのアイドル処理能力に基づいて複数のテスト・フローのセットを決定することと、システム上で複数のテスト・フローのセットを実行することとを含む、ということをさらに含んでよい。
この方法は、複数のテスト・フローのセットの決定が、システムの処理のアイドル能力を決定することと、システムのアイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を増やすことと、システムのアイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を減らすこととをさらに含む、ということをさらに含んでよい。
この方法は、テスト・フローによって使用されるシステムの処理能力の量を増やすことが、1つまたは複数のテスト・フローを複数のテスト・フローのセットに追加することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを増やすこととのうちの少なくとも1つを含み、テスト・フローによって使用されるシステムの処理能力の量を減らすことが、1つまたは複数のテスト・フローを複数のテスト・フローのセットから除去することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを減らすこととのうちの少なくとも1つを含む、ということをさらに含んでよい。
この方法は、性能報告を更新することをさらに含む、複数のフローを実行するように適応されたシステムに関する性能報告を生成することをさらに含んでよく、複数のテスト・フローのセットの実行が、システムのアイドル処理能力に基づいて複数のテスト・フローのセットを決定することと、システム上で複数のテスト・フローのセットを実行することとを含む。
本開示の別の実施形態は、複数のフローを実行するように適応されたシステムに関する性能報告を生成するための装置を提供し、この装置は、複数の稼働中のフローの各々に関連付けられた性能データを取得するように構成された指標ユニットと、各テンプレートがフローの機能を表す、複数のテンプレートを取得し、複数の稼働中のフローの各々を、リンクされた稼働中のフローの機能を表す複数のテンプレートのうちの1つにリンクするように構成されたマッピング・ユニットと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成し、生成された1つまたは複数の性能概要に基づいて性能報告を生成するように構成された報告生成器とを備える。
この装置は、報告生成器が、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が条件を満たすということの決定に応答して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することとを実行するようにさらに構成される、ということをさらに含んでよい。
この装置は、指標ユニットが、複数の稼働中のフローの各々に関して、稼働中のフローのレイテンシ、稼働中のフローの1秒当たりのデータ・レート、稼働中のフローのコスト、および稼働中のフローがシステム上で実行された時間のうちの1つまたは複数を取得するように構成される、ということをさらに含んでよい。
この装置は、報告生成器が、ユーザから性能報告の問い合わせを受信することと、生成された1つまたは複数の性能概要に基づいて性能報告を生成することであって、1つまたは複数の性能概要の各々が複数の稼働中のフローのうちの1つまたは複数に関連付けられた性能データに基づき、複数の稼働中のフローのうちの1つまたは複数のうちの1つがユーザに関連付けられる、生成することと、性能報告の問い合わせを受信することに応答して、性能報告をユーザに送信することとを実行するようにさらに構成される、ということをさらに含んでよい。
この装置は、システムがマルチテナント統合クラウド・システムであり、複数の稼働中のフローの各々に、システムの既定の処理能力制限が割り当てられる、ということをさらに含んでよい。
本開示の別の実施形態は、複数のフローを実行するように適応されたシステムに関する性能報告を更新するための装置を提供し、この装置は、性能報告を取得するように構成された報告生成器であって、性能報告が、複数のテンプレートのうちの1つまたは複数に関連付けられた1つまたは複数の性能概要に基づく、報告生成器と、各テスト・フローが複数のテンプレートのうちの1つに関連付けられる、複数のテスト・フローを取得し、システム上の複数のテスト・フローのセットの実行を駆動するように構成された性能テスト・ドライバと、複数の実行されるテスト・フローのセットの各々に関連付けられたテスト性能データを取得するように構成された指標ユニットとを備え、報告生成器が、複数のテンプレートのうちの少なくとも1つに関して、テンプレートに関連付けられたテスト・フローの各々に関連付けられた性能データに基づいてテスト性能概要を生成することと、生成された1つまたは複数のテスト性能概要に基づいて性能報告を更新することとを実行するようにさらに構成される。
この装置は、指標ユニットが、複数のテスト・フローの各々に関して、テスト・フローのレイテンシ、テスト・フローの1秒当たりのデータ・レート、テスト・フローのコスト、およびテスト・フローがシステム上で実行された時間のうちの1つまたは複数を取得するように構成される、ということをさらに含んでよい。
この装置は、性能テスト・ドライバが、システムのアイドル処理能力に基づいて複数のテスト・フローのセットを決定することと、システム上の複数のテスト・フローのセットの実行を駆動することとを実行するように構成される、ということをさらに含んでよい。
この装置は、性能テスト・ドライバが、システムの処理のアイドル能力を決定することと、システムのアイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を増やすことと、システムのアイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を減らすこととを実行するようにさらに構成される、ということをさらに含んでよい。
この装置は、性能テスト・ドライバが、1つまたは複数のテスト・フローを複数のテスト・フローのセットに追加することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを増やすことと、1つまたは複数のテスト・フローを複数のテスト・フローのセットから除去することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを減らすこととを実行するようにさらに構成される、ということをさらに含んでよい。
本開示の実施形態は、複数のフローを実行するように構成されたシステムに関する性能報告を生成するための装置も提供する。この装置は、複数の稼働中のフローの各々に関連付けられた性能データを取得するように構成された指標ユニットを備える。この装置は、各テンプレートがフローの機能を表す、複数のテンプレートを取得し、複数の稼働中のフローの各々を、リンクされた稼働中のフローの機能を表す複数のテンプレートのうちの1つにリンクするように構成されたマッピング・ユニットと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成し、生成された1つまたは複数の性能概要に基づいて性能報告を生成するように構成された報告生成器とも備える。
一部の実施形態によれば、報告生成器は、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、1つまたは複数のテンプレートの各々に関して、テンプレートにリンクされた稼働中のフローの数が条件を満たすということの決定に応答して、テンプレートにリンクされた複数の稼働中のフローの各々に関連付けられた性能データに基づいて性能概要を生成することとを実行するようにさらに構成されてよい。
一部の実施形態によれば、指標ユニットは、複数の稼働中のフローの各々に関して、稼働中のフローのレイテンシ、稼働中のフローの1秒当たりのデータ・レート、稼働中のフローのコスト、および稼働中のフローがシステム上で実行された時間のうちの1つまたは複数を取得するよう構成されてよい。
一部の実施形態によれば、報告生成器は、ユーザから性能報告の問い合わせを受信することと、生成された1つまたは複数の性能概要に基づいて性能報告を生成することであって、1つまたは複数の性能概要の各々が複数の稼働中のフローのうちの1つまたは複数に関連付けられた性能データに基づき、複数の稼働中のフローのうちの1つまたは複数のうちの1つがユーザに関連付けられる、生成することと、性能報告の問い合わせを受信することに応答して、性能報告をユーザに送信することとを実行するようにさらに構成されてよい。
一部の実施形態によれば、システムはマルチテナント統合クラウド・システムであってよく、複数の稼働中のフローの各々に、システムの既定の処理能力制限が割り当てられる。
本開示の一部の実施形態によれば、複数のフローを実行するように構成されたシステムに関する性能報告を更新するための装置が提供されている。この装置は、性能報告を取得するように構成された報告生成器を備え、性能報告は、複数のテンプレートのうちの1つまたは複数に関連付けられた1つまたは複数の性能概要に基づく。この装置は、各テスト・フローが複数のテンプレートのうちの1つに関連付けられる、複数のテスト・フローを取得し、システム上の複数のテスト・フローのセットの実行を駆動するように構成された性能テスト・ドライバと、複数の実行されたテスト・フローのセットの各々に関連付けられたテスト性能データを取得するように構成された指標ユニットとも備える。報告生成器は、複数のテンプレートのうちの少なくとも1つに関して、テンプレートに関連付けられたテスト・フローの各々に関連付けられたテスト性能データに基づいてテスト性能概要を生成することと、生成された1つまたは複数のテスト性能概要に基づいて性能報告を更新することとを実行するようにさらに構成される。
一部の実施形態によれば、指標ユニットは、複数のテスト・フローの各々に関して、テスト・フローのレイテンシ、テスト・フローの1秒当たりのデータ・レート、テスト・フローのコスト、およびテスト・フローがシステム上で実行された時間のうちの1つまたは複数を取得するよう構成されてよい。
一部の実施形態によれば、性能テスト・ドライバは、システムのアイドル処理能力に基づいて複数のテスト・フローのセットを決定することと、システム上の複数のテスト・フローのセットの実行を駆動することとを実行するように構成されてよい。
一部の実施形態によれば、性能テスト・ドライバは、システムの処理のアイドル能力を決定することと、システムのアイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を増やすことと、システムのアイドル処理能力が既定の能力しきい値を下回るということの決定に応答して、テスト・フローによって使用されるシステムの処理能力の量を減らすこととを実行するようにさらに構成されてよい。
一部の実施形態によれば、性能テスト・ドライバは、1つまたは複数のテスト・フローを複数のテスト・フローのセットに追加することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを増やすことと、1つまたは複数のテスト・フローを複数のテスト・フローのセットから除去することと、複数のテスト・フローのセット内のテスト・フローのうちの1つまたは複数のデータ・スループットを減らすこととを実行するようにさらに構成されてよい。

Claims (25)

  1. 複数のフローを実行するように構成されたシステムに関する性能報告を生成するためのコンピュータ実装方法であって、
    システム上の複数の稼働中のフローの各々に関連付けられた性能データを取得することと、
    複数のテンプレートを取得することであって、各テンプレートがフローの機能を表す、前記取得することと、
    前記複数の稼働中のフローの各々を前記複数のテンプレートのうちの1つにリンクすることであって、前記テンプレートが、前記リンクされた稼働中のフローの機能を表す、前記リンクすることと、
    1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた前記複数の稼働中のフローの各々に関連付けられた前記性能データに基づいて性能概要を生成することと、
    前記生成された1つまたは複数の性能概要に基づいて性能報告を生成することとを含む、コンピュータ実装方法。
  2. 前記性能概要を生成することが、
    前記1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、
    前記1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた前記稼働中のフローの数が前記条件を満たすということの決定に応答して、前記テンプレートにリンクされた前記複数の稼働中のフローの各々に関連付けられた前記性能データに基づいて前記性能概要を生成することとをさらに含む、請求項1に記載のコンピュータ実装方法。
  3. 性能データを取得することが、
    前記複数の稼働中のフローの各々に関して、
    前記稼働中のフローのレイテンシ、
    前記稼働中のフローの1秒当たりのデータ・レート、
    前記稼働中のフローのコスト、および
    前記稼働中のフローが前記システム上で実行された時間から成る群から選択された1つまたは複数を取得することを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記性能概要が、
    前記テンプレートにリンクされた前記複数の稼働中のフローの前記性能データの平均値、
    前記テンプレートにリンクされた前記複数の稼働中のフローの前記性能データの範囲、および
    前記テンプレートにリンクされた前記複数の稼働中のフローの前記性能データのうちの1つまたは複数のリストから成る群から選択された1つまたは複数を含む、請求項1に記載のコンピュータ実装方法。
  5. 前記複数の稼働中のフローの各々をリンクすることが、
    前記複数の稼働中のフローの各々に関して、前記複数のテンプレートのうちの、前記稼働中のフローの前記機能を最も厳密に表す前記テンプレートを決定することと、
    前記決定に基づいて、前記複数の稼働中のフローの各々を前記複数のテンプレートのうちの1つにリンクすることとを含む、請求項1に記載のコンピュータ実装方法。
  6. 前記複数の稼働中のフローの各々が、複数のユーザのうちの1人に関連付けられ、前記複数のユーザの各々が、前記複数の稼働中のフローのうちの1つまたは複数に関連付けられる、請求項1に記載のコンピュータ実装方法。
  7. 前記性能報告を生成することが、
    前記複数のユーザのうちの1人のユーザから性能報告の問い合わせを受信することと、
    前記生成された1つまたは複数の性能概要に基づいて前記性能報告を生成することであって、前記1つまたは複数の性能概要の各々が前記複数の稼働中のフローのうちの1つまたは複数に関連付けられた前記性能データに基づき、前記複数の稼働中のフローのうちの前記1つまたは複数のうちの少なくとも1つが前記ユーザに関連付けられる、前記生成することと、
    前記性能報告の問い合わせを受信することに応答して、前記性能報告を前記ユーザに送信することとをさらに含む、請求項6に記載のコンピュータ実装方法。
  8. 前記システムがマルチテナント統合クラウド・システムであり、前記複数の稼働中のフローの各々に、前記システムの既定の処理能力が割り当てられる、請求項1に記載のコンピュータ実装方法。
  9. 複数のフローを実行するように構成されたシステムに関する性能報告を更新するためのコンピュータ実装方法であって、
    性能報告を取得することであって、前記性能報告が、複数のテンプレートのうちの1つまたは複数に関連付けられた1つまたは複数の性能概要に基づく、前記取得することと、
    複数のテスト・フローを取得することであって、各テスト・フローが、前記複数のテンプレートのうちの1つに関連付けられる、前記取得することと、
    システム上で前記複数のテスト・フローのセットを実行することと、
    前記複数のテスト・フローの前記セット内の前記テスト・フローの各々に関連付けられたテスト性能データを取得することと、
    前記複数のテンプレートのうちの少なくとも1つに関して、前記テンプレートに関連付けられた前記テスト・フローの各々に関連付けられたテスト性能データに基づいてテスト性能概要を生成することと、
    前記生成された1つまたは複数のテスト性能概要に基づいて前記性能報告を更新することとを含む、コンピュータ実装方法。
  10. テスト性能データを取得することが、
    前記複数のテスト・フローの前記セットの各々に関して、
    前記テスト・フローのレイテンシ、
    前記テスト・フローの1秒当たりのデータ・レート、
    前記テスト・フローのコスト、および
    前記テスト・フローが前記システム上で実行された時間から成る群から選択された1つまたは複数を取得することを含む、請求項9に記載のコンピュータ実装方法。
  11. 前記複数のテスト・フローの前記セットを実行することが、
    前記システムのアイドル処理能力に基づいて前記複数のテスト・フローの前記セットを決定することと、
    前記システム上で前記複数のテスト・フローの前記セットを実行することとを含む、請求項9に記載のコンピュータ実装方法。
  12. 前記複数のテスト・フローの前記セットを決定することが、
    前記システムの前記アイドル処理能力を決定することと、
    前記アイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、前記テスト・フローによって使用される前記システムの前記処理能力の量を増やすことと、
    前記アイドル処理能力が既定の能力しきい値を下回るということの決定に応答して、前記テスト・フローによって使用される前記システムの前記処理能力の量を減らすこととをさらに含む、請求項11に記載のコンピュータ実装方法。
  13. 前記テスト・フローによって使用される前記システムの前記処理能力の前記量を増やすことが、
    1つまたは複数のテスト・フローを前記複数のテスト・フローの前記セットに追加することと、
    前記複数のテスト・フローの前記セット内の前記テスト・フローのうちの1つまたは複数のデータ・スループットを増やすこととから成る群から選択された少なくとも1つを含み、
    前記テスト・フローによって使用される前記システムの前記処理能力の前記量を減らすことが、
    1つまたは複数のテスト・フローを前記複数のテスト・フローの前記セットから除去することと、
    前記複数のテスト・フローの前記セット内の前記テスト・フローのうちの1つまたは複数の前記データ・スループットを減らすこととのうちの少なくとも1つを含む、請求項12に記載のコンピュータ実装方法。
  14. プロセッサと、
    前記プロセッサに通信可能に結合され、プログラム命令を格納しているコンピュータ可読ストレージ媒体とを備えているシステムであって、前記プログラム命令が、前記プロセッサによって実行された場合に、前記プロセッサに、
    システム上の複数の稼働中のフローの各々に関連付けられた性能データを取得することと、
    複数のテンプレートを取得することであって、各テンプレートがフローの機能を表す、前記取得することと、
    前記複数の稼働中のフローの各々を前記複数のテンプレートのうちの1つにリンクすることであって、前記テンプレートが、前記リンクされた稼働中のフローの機能を表す、前記リンクすることと、
    1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた前記複数の稼働中のフローの各々に関連付けられた前記性能データに基づいて性能概要を生成することと、
    前記生成された1つまたは複数の性能概要に基づいて性能報告を生成することとを含む方法を実行させる、システム。
  15. 前記性能概要を生成することが、
    前記1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、
    前記1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた前記稼働中のフローの数が前記条件を満たすということの決定に応答して、前記テンプレートにリンクされた前記複数の稼働中のフローの各々に関連付けられた前記性能データに基づいて前記性能概要を生成することとをさらに含む、請求項14に記載のシステム。
  16. 性能データを取得することが、
    前記複数の稼働中のフローの各々に関して、
    前記稼働中のフローのレイテンシ、
    前記稼働中のフローの1秒当たりのデータ・レート、
    前記稼働中のフローのコスト、および
    前記稼働中のフローが前記システム上で実行された時間から成る群から選択された1つまたは複数を取得することを含む、請求項14に記載のシステム。
  17. 前記性能報告を生成することが、
    前記複数のユーザのうちの1人のユーザから性能報告の問い合わせを受信することと、
    前記生成された1つまたは複数の性能概要に基づいて前記性能報告を生成することであって、前記1つまたは複数の性能概要の各々が前記複数の稼働中のフローのうちの1つまたは複数に関連付けられた前記性能データに基づき、前記複数の稼働中のフローのうちの前記1つまたは複数のうちの少なくとも1つが前記ユーザに関連付けられる、前記生成することと、
    前記性能報告の問い合わせを受信することに応答して、前記性能報告を前記ユーザに送信することとをさらに含む、請求項14に記載のシステム。
  18. 前記システムがマルチテナント統合クラウド・システムであり、前記複数の稼働中のフローの各々に、前記システムの既定の処理能力制限が割り当てられる、請求項14に記載のシステム。
  19. プロセッサと、
    前記プロセッサに通信可能に結合され、プログラム命令を格納しているコンピュータ可読ストレージ媒体とを備えているシステムであって、前記プログラム命令が、前記プロセッサによって実行された場合に、前記プロセッサに、
    性能報告を取得することであって、前記性能報告が、複数のテンプレートのうちの1つまたは複数に関連付けられた1つまたは複数の性能概要に基づく、前記取得することと、
    複数のテスト・フローを取得することであって、各テスト・フローが、前記複数のテンプレートのうちの1つに関連付けられる、前記取得することと、
    システム上で前記複数のテスト・フローのセットを実行することと、
    前記複数のテスト・フローの前記セット内の前記テスト・フローの各々に関連付けられたテスト性能データを取得することと、
    前記複数のテンプレートのうちの少なくとも1つに関して、前記テンプレートに関連付けられた前記テスト・フローの各々に関連付けられたテスト性能データに基づいてテスト性能概要を生成することと、
    前記生成された1つまたは複数のテスト性能概要に基づいて前記性能報告を更新することとを含む方法を実行させる、システム。
  20. テスト性能データを取得することが、
    前記複数のテスト・フローの前記セットの各々に関して、
    前記テスト・フローのレイテンシ、
    前記テスト・フローの1秒当たりのデータ・レート、
    前記テスト・フローのコスト、および
    前記テスト・フローが前記システム上で実行された時間から成る群から選択された1つまたは複数を取得することを含む、請求項19に記載のシステム。
  21. 前記複数のテスト・フローの前記セットを実行することが、
    前記システムのアイドル処理能力に基づいて前記複数のテスト・フローの前記セットを決定することと、
    前記システム上で前記複数のテスト・フローの前記セットを実行することとを含む、請求項19に記載のシステム。
  22. 前記複数のテスト・フローの前記セットを決定することが、
    前記システムの前記アイドル処理能力を決定することと、
    前記アイドル処理能力が既定の能力しきい値を超えるということの決定に応答して、前記テスト・フローによって使用される前記システムの前記処理能力の量を増やすことと、
    前記アイドル処理能力が既定の能力しきい値を下回るということの決定に応答して、前記テスト・フローによって使用される前記システムの前記処理能力の量を減らすこととをさらに含む、請求項21に記載のシステム。
  23. 前記テスト・フローによって使用される前記システムの前記処理能力の前記量を増やすことが、
    1つまたは複数のテスト・フローを前記複数のテスト・フローの前記セットに追加することと、
    前記複数のテスト・フローの前記セット内の前記テスト・フローのうちの1つまたは複数のデータ・スループットを増やすこととから成る群から選択された少なくとも1つを含み、
    前記テスト・フローによって使用される前記システムの前記処理能力の前記量を減らすことが、
    1つまたは複数のテスト・フローを前記複数のテスト・フローの前記セットから除去することと、
    前記複数のテスト・フローの前記セット内の前記テスト・フローのうちの1つまたは複数の前記データ・スループットを減らすこととのうちの少なくとも1つを含む、請求項22に記載のシステム。
  24. プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品であって、前記プログラム命令が、プロセッサによって実行可能であり、前記プロセッサに、
    システム上で実行される複数の稼働中のフローの各々に関連付けられた性能データを取得することと、
    複数のテンプレートを取得することであって、各テンプレートがフローの機能を表す、前記取得することと、
    前記複数の稼働中のフローの各々を前記複数のテンプレートのうちの1つにリンクすることであって、前記テンプレートが、前記リンクされた稼働中のフローの機能を表す、前記リンクすることと、
    1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた前記複数の稼働中のフローの各々に関連付けられた前記性能データに基づいて性能概要を生成することと、
    前記生成された1つまたは複数の性能概要に基づいて性能報告を生成することとを含む方法を実行させる、コンピュータ・プログラム製品。
  25. 前記性能概要を生成することが、
    前記1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた稼働中のフローの数が、既定の量に基づく条件を満たすかどうかを判定することと、
    前記1つまたは複数のテンプレートの各々に関して、前記テンプレートにリンクされた前記稼働中のフローの数が前記条件を満たすということの決定に応答して、前記テンプレートにリンクされた前記複数の稼働中のフローの各々に関連付けられた前記性能データに基づいて前記性能概要を生成することとをさらに含む、請求項24に記載のコンピュータ・プログラム製品。
JP2023520124A 2020-10-21 2021-10-08 性能報告の生成および更新 Pending JP2023545971A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/075,961 US11456933B2 (en) 2020-10-21 2020-10-21 Generating and updating a performance report
US17/075,961 2020-10-21
PCT/IB2021/059235 WO2022084789A1 (en) 2020-10-21 2021-10-08 Generating and updating a performance report

Publications (1)

Publication Number Publication Date
JP2023545971A true JP2023545971A (ja) 2023-11-01

Family

ID=81185302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023520124A Pending JP2023545971A (ja) 2020-10-21 2021-10-08 性能報告の生成および更新

Country Status (8)

Country Link
US (1) US11456933B2 (ja)
JP (1) JP2023545971A (ja)
KR (1) KR20230058498A (ja)
CN (1) CN116324734A (ja)
AU (1) AU2021363719B2 (ja)
DE (1) DE112021004734T5 (ja)
GB (1) GB2615261A (ja)
WO (1) WO2022084789A1 (ja)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005015404A2 (en) 2003-08-06 2005-02-17 Moshe Halevy Method and apparatus for unified performance modeling with monitoring and analysis of complex systems
WO2007021828A2 (en) * 2005-08-11 2007-02-22 Level 3 Communications, Inc. Systems and methods for flow signature formation and use
US20070133522A1 (en) * 2005-12-12 2007-06-14 Alex Morgan Method and System for Defining, Capturing, and Reporting Performance Data
US9569326B2 (en) * 2010-04-15 2017-02-14 Ca, Inc. Rule organization for efficient transaction pattern matching
US9348735B1 (en) * 2011-05-08 2016-05-24 Panaya Ltd. Selecting transactions based on similarity of profiles of users belonging to different organizations
US9003031B2 (en) * 2012-05-29 2015-04-07 Tata Consultancy Services Limited Method and system for network transaction monitoring using transaction flow signatures
US20140143276A1 (en) * 2012-11-21 2014-05-22 Counterpart Technologies Inc. Enterprise Data Mining in a Hosted Multi-Tenant Database
JP5884841B2 (ja) 2014-01-29 2016-03-15 日本電気株式会社 性能予測装置および性能モデル生成方法
AU2015101031A4 (en) 2015-07-31 2016-03-10 Performance Assurance Pty Ltd System and a method for modelling the performance of information systems
US10585680B2 (en) * 2016-03-02 2020-03-10 Cisco Technology, Inc. Dynamic dashboard with intelligent visualization
US20170262825A1 (en) 2016-03-11 2017-09-14 Microsoft Technology Licensing, Llc License recommendation service
US10417396B2 (en) 2016-04-14 2019-09-17 NetSuite Inc. System and methods for provisioning and monitoring licensing of applications or extensions to applications on a multi-tenant platform
CN106294706A (zh) * 2016-08-08 2017-01-04 苏州云杉世纪网络科技有限公司 基于dfi的云平台用户业务统计分析系统及方法
US10372600B2 (en) 2017-03-01 2019-08-06 Salesforce.Com, Inc. Systems and methods for automated web performance testing for cloud apps in use-case scenarios
US20180337840A1 (en) * 2017-05-18 2018-11-22 Satori Worldwide, Llc System and method for testing filters for data streams in publisher-subscriber networks
WO2020036590A1 (en) 2018-08-14 2020-02-20 Connect Financial LLC Evaluation and development of decision-making models
US11258827B2 (en) * 2018-10-19 2022-02-22 Oracle International Corporation Autonomous monitoring of applications in a cloud environment
US11151151B2 (en) 2018-12-06 2021-10-19 International Business Machines Corporation Integration template generation
US11238386B2 (en) * 2018-12-20 2022-02-01 Sap Se Task derivation for workflows

Also Published As

Publication number Publication date
WO2022084789A1 (en) 2022-04-28
US11456933B2 (en) 2022-09-27
AU2021363719A1 (en) 2023-04-20
AU2021363719B2 (en) 2024-05-02
DE112021004734T5 (de) 2023-07-27
GB202306514D0 (en) 2023-06-14
GB2615261A (en) 2023-08-02
US20220124014A1 (en) 2022-04-21
CN116324734A (zh) 2023-06-23
KR20230058498A (ko) 2023-05-03

Similar Documents

Publication Publication Date Title
US20210342193A1 (en) Multi-cluster container orchestration
US10756911B2 (en) Cost estimation on a cloud-computing platform
US20160275158A1 (en) Policy based data collection, processing, and negotiation for analytics
US11521082B2 (en) Prediction of a data protection activity time for a backup environment
US10360065B2 (en) Smart reduce task scheduler
US10977091B2 (en) Workload management with data access awareness using an ordered list of hosts in a computing cluster
US11379290B2 (en) Prioritizing and parallelizing the capture of data for debugging computer programs
US20190310893A1 (en) Workload management with data access awareness in a computing cluster
US20190268435A1 (en) Resource pre-caching and tenant workflow recognition using cloud audit records
JP7457435B2 (ja) 分散システムのデプロイメント
US11303712B1 (en) Service management in distributed system
US10567524B2 (en) Dynamic cognitive optimization of web applications
WO2022111112A1 (en) Automatically adjusting data access policies in data analytics
US11200138B1 (en) Policy-based request tracing using a computer
JP2023545971A (ja) 性能報告の生成および更新
US10680912B1 (en) Infrastructure resource provisioning using trace-based workload temporal analysis for high performance computing
JP2023538941A (ja) コンテナ化された環境のインテリジェントバックアップ及び復元
US11204923B2 (en) Performance for query execution
US11307958B2 (en) Data collection in transaction problem diagnostic
US20230409419A1 (en) Techniques for controlling log rate using policy
US11501199B2 (en) Probability index optimization for multi-shot simulation in quantum computing
US10761891B2 (en) Workload management with data access awareness by aggregating file locality information in a computing cluster
US20230394112A1 (en) Graph-based semi-supervised generation of files
US20240103903A1 (en) Dynamic pod priority inference utilizing service mesh telemetry data
US20220308978A1 (en) Task simulation using revised goals

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230721

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240307