JP2010515121A - Method and system for identifying storage resources of an application system - Google Patents

Method and system for identifying storage resources of an application system Download PDF

Info

Publication number
JP2010515121A
JP2010515121A JP2009543215A JP2009543215A JP2010515121A JP 2010515121 A JP2010515121 A JP 2010515121A JP 2009543215 A JP2009543215 A JP 2009543215A JP 2009543215 A JP2009543215 A JP 2009543215A JP 2010515121 A JP2010515121 A JP 2010515121A
Authority
JP
Japan
Prior art keywords
application
operable
arg
storage
applications
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
JP2009543215A
Other languages
Japanese (ja)
Inventor
ストロング,ウィリアム
ストレッチャイ,ロバート
フォークナー,ケビン
コーリー,リチャード
ケラ,デイビッド
Original Assignee
アコリ ネットワークス,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/773,825 external-priority patent/US20080027948A1/en
Application filed by アコリ ネットワークス,インコーポレイテッド filed Critical アコリ ネットワークス,インコーポレイテッド
Publication of JP2010515121A publication Critical patent/JP2010515121A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本発明は、デジタル処理環境内、より詳細には、デジタルストレージ環境内で、アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素へのマッピングを可能にするとともに、デジタルストレージ環境内の任意のストレージ要素に負荷を生じさせているアプリケーションセット(他のソフトウェアプログラム)の階層イメージを提供するように動作可能な方法、装置、システム、およびコンピュータプログラムコード(ソフトウェア)製品を提供する。  The present invention enables mapping from application sets to storage elements used within a digital storage environment within a digital processing environment, and more particularly within a digital storage environment, and any storage within the digital storage environment. Methods, apparatus, systems, and computer program code (software) products are provided that are operable to provide a hierarchical image of an application set (other software programs) that is loading an element.

Description

関連出願の相互参照
本特許出願は、2006年12月21日に出願され「Methods and Systems for Identifying Application System Storage Resources(アプリケーションシステムストレージリソースを識別する方法およびシステム)」という名称の米国仮特許出願第60/871444号(代理人整理番号:AKR−114−PR)の優先権の利益を主張するものであり、この仮特許出願を、その全体が記載されているかのように参照により本明細書に援用する。
CROSS REFERENCE TO RELATED APPLICATIONS This patent application is filed on Dec. 21, 2006, and is a US provisional patent application entitled “Methods and Systems for Identifying Application System Storage Resources”. No. 60/871444 (Attorney Docket Number: AKR-114-PR), which claims the benefit of priority, the provisional patent application is hereby incorporated by reference as if set forth in its entirety. Incorporate.

本特許出願は、2007年7月5日に出願され「Managing Application System Load(アプリケーションシステムの負荷管理)」という名称の米国特許出願第11/773825号(代理人整理番号:AKR−110−US)の一部継続出願(CIP)でもあり、この特許出願も参照により本明細書に援用され、その詳細な説明および図面が本明細書において記載される。そして、米国特許出願第11/773825号(AKR−110−US)は、2006年7月6日に出願された米国仮特許出願第60/806,699号(AKR−110−PR)の優先権の利益を主張するものであり、この仮特許出願を、その全体が記載されているかのように参照により本明細書に援用する。   This patent application is filed on Jul. 5, 2007, US patent application Ser. No. 11 / 773,825 (Attorney Docket No. AKR-110-US) entitled “Managing Application System Load”. , A continuation-in-part application (CIP), which is also incorporated herein by reference, and whose detailed description and drawings are described herein. US patent application Ser. No. 11 / 773,825 (AKR-110-US) is the priority of US Provisional Patent Application No. 60 / 806,699 (AKR-110-PR) filed on July 6, 2006. This provisional patent application is hereby incorporated by reference as if set forth in its entirety.

発明の分野
本発明は、一般には、デジタル処理システム、装置、およびネットワークに関し、より詳細には、アプリケーション性能および自己管理システムの分野に関する。さらにより詳細には、本発明は、システムリソースで生じた性能問題を、性能制約システムリソースに対して負荷を生み出しているアプリケーションサーバ、アプリケーション、およびアプリケーションタスクに再びマッピングする方法、システム、および装置に関する。
The present invention relates generally to digital processing systems, devices, and networks, and more particularly to the field of application performance and self-management systems. Even more particularly, the present invention relates to a method, system, and apparatus for re-mapping performance problems caused by system resources to application servers, applications, and application tasks that are creating a load on performance-constrained system resources. .

発明の背景
多くのストレージプラットフォームでは、ストレージ管理者がストレージリソースを異なるハードウェアサーバに割り振りそして割り当てることができる。単一のハードウェアサーバは複数のアプリケーションを並行に実行することができる。単一のアプリケーションはいくつかの並行タスクを具現することができる。単一のアプリケーションは、通常、いくつかのシステムリソースを利用する。アプリケーション性能は、アプリケーションのシステムリソースへのアクセスを最適化できる場合、潜在的に加速することができる。
Background of the Invention Many storage platforms allow storage administrators to allocate and allocate storage resources to different hardware servers. A single hardware server can execute multiple applications in parallel. A single application can embody several concurrent tasks. A single application typically uses several system resources. Application performance can potentially be accelerated if the application's access to system resources can be optimized.

不都合なことに、従来のストレージプラットフォームでは、ユーザまたはシステム管理者は、個々のアプリケーションがシステムリソースセットをどのように利用するかについて殆ど指針を有さない。同じハードウェアサーバで並行に実行されている2つのアプリケーションが、共通のシステムリソースに対する競合により、ストールする場合があり得る。システムリース競合は識別することができるが、アプリケーションからそのアプリケーションを使用しているシステムリソースへのマッピング、およびこの逆のマッピングを識別できない場合を除き、問題の原因を完全には知ることなく、性能ボトルネックを修復しようと試みることができる。   Unfortunately, with conventional storage platforms, the user or system administrator has little guidance on how individual applications use the system resource set. Two applications running in parallel on the same hardware server may stall due to contention for common system resources. System lease contention can be identified, but without fully knowing the cause of the problem, unless the mapping from the application to the system resources using the application and vice versa cannot be identified You can try to repair the bottleneck.

より詳細には、アプリケーションは、多くの場合、ストレージエリアネットワーク(SAN)を通して共通のストレージシステムを共有するサーバにホストされる。アプリケーションの要求と中央ストレージの能力との不均衡は、中央ストレージリソースを共有しているアプリケーションの全体性能を不良にし得る。この不均衡は、サーバ(CPUおよびメモリ)、バスアダプタ、スイッチ、ディスクコントローラ、およびディスクアレイを含むいくつかの任意の異なるシステム要素のアプリケーションによる使用に影響を及ぼし得る。   More specifically, applications are often hosted on servers that share a common storage system through a storage area network (SAN). An imbalance between application demands and central storage capabilities can degrade the overall performance of applications sharing central storage resources. This imbalance can affect the use by applications of several different system elements including servers (CPU and memory), bus adapters, switches, disk controllers, and disk arrays.

個々のアプリケーションは、サーバとサポートしているストレージサブシステムとの間のパス内の任意の特定のシステム要素に対して大きすぎる負荷をかけている場合、性能の影響を受け得る。さらに、同じまたは独立したサーバで実行されている複数のアプリケーションは、ネットワークおよびストレージがアプリケーションおよびサーバで共有されている場合、互いの性能に影響を及ぼし得、多くの場合、SANが共有リソースとして導入される。   Individual applications can be affected by performance if they place too much load on any particular system element in the path between the server and the supporting storage subsystem. In addition, multiple applications running on the same or independent servers can affect each other's performance when the network and storage are shared between the application and server, often deployed as a shared resource by the SAN Is done.

任意のアプリケーションの性能は、アプリケーションが単一の装置に対して大きすぎる負荷を生成する場合、または複数のアプリケーションが多くの要求でシステムを溢れさせる場合に低下し得、それにより、ストレージシステムが集合負荷にサービス提供することができなくなる。   The performance of any application can be reduced if the application generates too much load for a single device, or if multiple applications flood the system with many requests, thereby consolidating storage systems Unable to service the load.

ストレージシステムにアクセスする際にあるアプリケーションが別のアプリケーションに対して生じさせる干渉は、性能の大きなばらつきに繋がり得る。より予測可能なアプリケーション性能を提供しようという試みは、多くの場合、システムリソース(例えば、CPU、メモリ、ネットワーク、ディスク)のオーバープロビジョニングに繋がる。   Interference caused by one application to another application when accessing the storage system can lead to large variations in performance. Attempts to provide more predictable application performance often lead to over-provisioning of system resources (eg, CPU, memory, network, disk).

ストレージプラットフォームのリソースに関連する問題のうちのいくつかに対処する既知の一方法は、ストレージリソース管理(SRM)であり、通常、SRMは、割り振られたリソースセットのトポロジを発見し、その性能の健康状態を評価する計測機能を提供する。システム性能の健康状態は、応答時間およびストレージ帯域幅に関して測定することができる。SRMは、性能が制約されたストレージリソースを検出し、これをストレージ管理者に報告することができる。   One known way of addressing some of the problems associated with storage platform resources is Storage Resource Management (SRM), which typically discovers the topology of an allocated resource set and determines its performance. Provides a measurement function to evaluate health status. System performance health can be measured in terms of response time and storage bandwidth. The SRM can detect storage resources with limited performance and report this to the storage administrator.

ネットワーク化された特定のストレージリソースセットを使用するアプリケーションセットの識別を可能にするには、ストレージシステムとアプリケーションとの間の完全なマッピングが要求される。マッピングは、(1)アプリケーションによって使用されているすべてのシステムリソース(例えば、個々のディスク、ディスクコントローラ、バスアダプタ)についての情報および(2)ストレージシステムからアプリケーションサーバへのパス(ボリュームLUNマッピングおよびネットワークスイッチを含む)の両方を含まなければならない。   To enable identification of application sets that use a particular networked storage resource set, a complete mapping between storage systems and applications is required. Mapping includes (1) information about all system resources used by the application (eg, individual disks, disk controllers, bus adapters) and (2) paths from the storage system to the application server (volume LUN mapping and network). Must include both).

例として、米国特許第7,058,545号(「’545号特許」)は、参照により本明細書に援用され、ストレージ装置とアプリケーションとの間の論理データパスおよび物理データパスを識別するが、パスを構成するすべてのシステムリソースを識別する能力を有さない方法を記載している。’545号特許は、データパスを管理して、データパスの性能、信頼性、またはセキュリティを増大させることを対象とし、複数のアプリケーション間の競合に対処しない。
米国特許第7,058,545号
As an example, US Pat. No. 7,058,545 (“the '545 patent”), which is incorporated herein by reference, identifies logical and physical data paths between storage devices and applications. Describes a method that does not have the ability to identify all system resources that make up a path. The '545 patent is directed to managing data paths to increase data path performance, reliability, or security, and does not address contention between multiple applications.
US Pat. No. 7,058,545

したがって、特に、複数のアプリケーションが実行されている現実世界環境において、システムリソースをアプリケーションに効率的にマッピングするように動作可能な方法およびシステムを提供することが有用である。   Accordingly, it is useful to provide a method and system operable to efficiently map system resources to applications, particularly in a real world environment where multiple applications are running.

このような方法およびシステムを利用する改良されたストレージプラットフォームおよびアーキテクチャを提供することも有用である。   It would also be useful to provide improved storage platforms and architectures that utilize such methods and systems.

これらのニーズを満たし、他の技術的利点および特徴を提供する本発明について、次に、添付の図面に関連して詳細に説明する。   The present invention that meets these needs and provides other technical advantages and features will now be described in detail with reference to the accompanying drawings.

発明の概要
本発明は、デジタル処理環境内、より詳細にはデジタルストレージ環境内で動作可能であり、アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素との間のマッピングを可能にするとともに、デジタルストレージ環境内の任意のストレージ要素に対して負荷を発生させているアプリケーション(他のソフトウェアプログラム)セットの階層イメージを提供する方法、装置、システム、およびコンピュータプログラムコード(ソフトウェア)製品を提供する。
SUMMARY OF THE INVENTION The present invention is operable within a digital processing environment, and more particularly within a digital storage environment, and enables mapping between application sets to storage elements used within the digital storage environment, and Methods, apparatus, systems, and computer program code (software) products are provided that provide a hierarchical image of a set of applications (other software programs) that are creating a load on any storage element in a digital storage environment.

例として、本発明の一態様は、(A)集合的にデジタルストレージ環境内のストレージ要素である、少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイと、(B)少なくとも2つのアプリケーションとを備えるデジタルストレージ環境内で動作可能なこのような方法、装置、システム、およびコンピュータプログラムコード(ソフトウェア)製品を提供するが、この少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイは集合的に、デジタルストレージ環境内のストレージ要素である。本発明のこの態様は、(A)アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供するように動作可能なアプリケーションリソースグループ(ARG)を提供することと、
(B)単一のストレージ要素とアプリケーションとの関係の粒度を改善するように動作可能なサブグループを定義することと、
ARGはARG抽象を含み、ARG抽象は、
サーバに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションサーバグループ(ASerG)、
バスアダプタに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションアダプタグループ(AAG)、
ネットワークスイッチに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションスイッチグループ(ASwG)、
ディスクコントローラに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションコントローラグループ(ACG)、および
ディスクアレイに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションストレージグループ(ASG)
のうちの少なくとも1つを含み、
各ARG抽象は少なくとも1つのサブグループを含み、
ARGおよびサブグループは集合的に、アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供し、デジタルストレージ環境内の任意のストレージ要素に負荷を発生させているアプリケーションセットの階層イメージを提供するように動作可能である。
By way of example, one aspect of the invention provides: (A) at least one application server, bus adapter, network switch, disk controller, and disk array that are collectively storage elements in a digital storage environment; and (B) at least Provided is such a method, apparatus, system, and computer program code (software) product operable in a digital storage environment comprising two applications, the at least one application server, bus adapter, network switch, disk Collectively, controllers and disk arrays are storage elements within a digital storage environment. This aspect of the invention provides (A) an application resource group (ARG) operable to provide a mapping from an application set to storage elements used in a digital storage environment;
(B) defining subgroups operable to improve the granularity of the relationship between a single storage element and an application;
ARG includes ARG abstraction, which is
An application server group (ASerG) operable to identify applications that are loading the server,
An application adapter group (AAG) operable to identify applications that are loading the bus adapter,
An application switch group (ASwG) operable to identify applications that are loading the network switch;
An application controller group (ACG) operable to identify applications that are loading the disk controller, and an application storage group (ASG) operable to identify applications that are loading the disk array
Including at least one of
Each ARG abstraction contains at least one subgroup,
ARG and subgroups collectively provide a mapping from application sets to storage elements used within a digital storage environment, and a hierarchical image of the application set that is loading any storage element within the digital storage environment Is operable to provide

本発明の別の態様では、ARGおよびサブグループは集合的に、アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素への略完全なマッピングを提供するように動作可能である。   In another aspect of the invention, ARGs and subgroups are collectively operable to provide a substantially complete mapping from application sets to storage elements used within a digital storage environment.

本発明の別の態様では、ARGおよびサブグループは集合的に、複数のアプリケーションが単一のストレージ要素に関して競合し、ボトルネックを生み出している場合、ARGが、ボトルネックの原因であり得るアプリケーションセットを識別できるように動作可能である。   In another aspect of the invention, the ARG and subgroup collectively collect the application set where multiple applications are competing for a single storage element and creating a bottleneck, where the ARG can be the cause of the bottleneck. Is operable to identify.

本発明のさらに別の態様では、ASG抽象が、単一のサブグループを単一のASG抽象内でのみ提示できるように構成される。   In yet another aspect of the invention, the ASG abstraction is configured such that a single subgroup can be presented only within a single ASG abstraction.

さらなる詳細、例、および実施形態を、添付図面と併せて読まれるべき以下の詳細な説明において説明する。   Further details, examples, and embodiments are described in the following detailed description that should be read in conjunction with the accompanying drawings.

上述したように、本発明は、2007年7月5日に出願された「Managing Application System Load(アプリケーションシステムの負荷管理)」という名称の米国特許出願第11/773825号(代理人整理番号:AKR−110−US)の一部継続出願(CIP)であるため、以下の詳細な説明ではまず、米国特許出願第11/773825号(AKR−110−US)の発明を記載し(以下のセクションA〜D)、それから、本発明の説明に続く(以下のセクションEおよびF)。当業者は、米国特許出願第11/773825号(AKR−110−US)内で記載されているデジタル処理、計算、またはストレージ環境が、本発明を実施することができる処理環境の例のうちのいくつかにすぎないことを理解するとともに、本発明を米国特許出願第11/773825号(AKR−110−US)で記載される環境以外で実施可能なことも理解するであろう。   As noted above, the present invention is based on US patent application Ser. No. 11 / 773,825 (“Attorney Docket Number: AKR”) filed July 5, 2007, entitled “Managing Application System Load”. -110-US), the following detailed description first describes the invention of US patent application Ser. No. 11 / 773,825 (AKR-110-US) (Section A below). ~ D) and then follows the description of the invention (sections E and F below). Those skilled in the art will recognize that the digital processing, computing, or storage environment described in US patent application Ser. No. 11 / 773,825 (AKR-110-US) is among the examples of processing environments in which the present invention can be implemented. It will be understood that there are only a few and that the present invention may be practiced outside of the environment described in US patent application Ser. No. 11 / 773,825 (AKR-110-US).

当業者は、添付図面に関連して行われる以下の詳細な説明に基づく本発明を容易に理解するであろう。   Those skilled in the art will readily understand the present invention based on the following detailed description taken in conjunction with the accompanying drawings.

本発明を実施することができるか、または本発明を実施することができるネットワーク化されたデジタル計算システムの一部分を形成し得る従来のワークステーションまたはPC(パーソナルコンピュータ)デジタル計算システムの概略図である(先行技術)。1 is a schematic diagram of a conventional workstation or PC (personal computer) digital computing system that can implement the invention or form part of a networked digital computing system that can implement the invention. (Prior art). 本発明を実施することができるネットワーク化されたデジタル計算システムの概略図である(先行技術)。1 is a schematic diagram of a networked digital computing system in which the present invention can be implemented (prior art). 図1に示すような従来のワークステーション環境またはPC環境の構成要素の概略図である(先行技術)。FIG. 2 is a schematic diagram of components of a conventional workstation environment or PC environment as shown in FIG. 1 (prior art). 本発明の一実施形態の概略図である。1 is a schematic diagram of one embodiment of the present invention. 本発明を実施することができるデジタル計算システムの概略図である。1 is a schematic diagram of a digital computing system in which the present invention can be implemented. 調整可能なアプリケーションパラメータを有するアプリケーションプログラムを示す概略図である。FIG. 3 is a schematic diagram illustrating an application program having adjustable application parameters. デジタル計算システムで実行されており、システム負荷を発生させているアプリケーションの概略図である。FIG. 2 is a schematic diagram of an application running on a digital computing system and generating a system load. 本発明により構築された計算システムおよび情報リソースマネージャ(IRM)を示す概略図である。1 is a schematic diagram illustrating a computing system and information resource manager (IRM) constructed in accordance with the present invention. FIG. 計算システムで実行されているアプリケーションの性能統計、構成データ、およびアプリケーションパラメータのデータベースを示す概略図である。FIG. 2 is a schematic diagram illustrating a database of performance statistics, configuration data, and application parameters for applications running on a computing system. 本発明により性能情報を計算システムからどのように得ることができるかを示す概略図である。FIG. 6 is a schematic diagram illustrating how performance information can be obtained from a computing system according to the present invention. 本発明により構成情報を計算システムの各要素からどのように得ることができるかを示す概略図である。FIG. 3 is a schematic diagram illustrating how configuration information can be obtained from each element of a computing system according to the present invention. 本発明の一実施形態によるIRMの解析モデルの態様を示す概略図である。It is the schematic which shows the aspect of the analysis model of IRM by one Embodiment of this invention. 本発明により、構成データ、CPU統計、ネットワーク統計、およびSAN統計を使用して、解析モデルをどのように構築することができるかを示す概略図である。FIG. 6 is a schematic diagram illustrating how an analysis model can be constructed using configuration data, CPU statistics, network statistics, and SAN statistics in accordance with the present invention. 本発明の一実施により、解析モデルが更新アプリケーションパラメータセットをどのように生成するかを示す概略図である。FIG. 6 is a schematic diagram illustrating how an analysis model generates an updated application parameter set according to one implementation of the present invention. 本発明の一実施形態により、更新アプリケーションパラメータを使用して、アプリケーションによって使用されているアプリケーションパラメータセットがどのように更新されるかを示す概略図である。FIG. 6 is a schematic diagram illustrating how an application parameter set used by an application is updated using an updated application parameter according to an embodiment of the present invention. 情報リソースマネージャ(IRM)がいくつかのCPU統計、ネットワーク統計、およびSAN統計をどのように維持することができるかを示す概略図である。FIG. 6 is a schematic diagram illustrating how an Information Resource Manager (IRM) can maintain some CPU statistics, network statistics, and SAN statistics. 本発明により、複数の更新統計セットを解析モデルにどのように適用することができるかを示す概略図であり、次に、解析モデルは、計算システムで実行されているアプリケーションデータを更新する。FIG. 6 is a schematic diagram illustrating how multiple update statistics sets can be applied to an analysis model according to the present invention, where the analysis model then updates application data running on the computing system. 本発明の一実施形態によるELMアーキテクチャの主要構成要素の概略ブロック図である。FIG. 2 is a schematic block diagram of the main components of an ELM architecture according to an embodiment of the present invention. ELMアーキテクチャの統計収集のタイミングを示す図である。It is a figure which shows the timing of the statistics collection of ELM architecture. ELM統計の収集および計算の頻度のサマリを提供する表である。FIG. 5 is a table that provides a summary of the frequency of collection and calculation of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. ELM統計のサマリを提供する表である。Fig. 6 is a table providing a summary of ELM statistics. 本発明の一実施によるEDaCサービスに含まれる各種コネクタを示す概略図である。It is the schematic which shows the various connectors contained in the EDaC service by one implementation of this invention. デジタル計算システムで実行されている複数のアプリケーションの実行を最適化する本発明による方法を示すフローチャートである。2 is a flowchart illustrating a method according to the present invention for optimizing the execution of multiple applications running on a digital computing system. デジタル計算システムで実行されている複数のアプリケーションの実行を最適化する本発明による方法を示すフローチャートである。2 is a flowchart illustrating a method according to the present invention for optimizing the execution of multiple applications running on a digital computing system. デジタル計算システムで実行されている複数のアプリケーションの実行を最適化する本発明による方法を示すフローチャートである。2 is a flowchart illustrating a method according to the present invention for optimizing the execution of multiple applications running on a digital computing system. アプリケーションシステムストレージリソースのマルチレベルマッピングを提供する本発明のさらなる態様によるレベル、グループ、およびインフラストラクチャ要素が列に列挙される表である。FIG. 5 is a table in which levels, groups, and infrastructure elements according to further aspects of the present invention that provide multi-level mapping of application system storage resources are listed in columns. アプリケーションシステムストレージリソースをマルチレベルマッピングする、説明されるシステムおよび技法の実施に適した例示的なコンピュータインフラストラクチャアーキテクチャの図である。FIG. 3 is an illustration of an example computer infrastructure architecture suitable for implementing the described systems and techniques for multi-level mapping application system storage resources. 図32のアーキテクチャに記される要素のサブセットから形成されるグループを示す図である。FIG. 33 is a diagram showing groups formed from a subset of elements described in the architecture of FIG. 32; 図32のアーキテクチャに記される要素のサブセットから形成されるグループを示す図である。FIG. 33 is a diagram showing groups formed from a subset of elements described in the architecture of FIG. 32; 図32のアーキテクチャに記される要素のサブセットから形成されるグループを示す図である。FIG. 33 is a diagram showing groups formed from a subset of elements described in the architecture of FIG. 32; 図32のアーキテクチャに記される要素のサブセットから形成されるグループを示す図である。FIG. 33 is a diagram showing groups formed from a subset of elements described in the architecture of FIG. 32; 図32のアーキテクチャに記される要素のサブセットから形成されるグループを示す図である。FIG. 33 is a diagram showing groups formed from a subset of elements described in the architecture of FIG. 32; 代替の例示的なコンピュータインフラストラクチャアーキテクチャの図である。FIG. 4 is an alternative exemplary computer infrastructure architecture. 図38のアーキテクチャに記される要素のサブセットから形成されるサブグループを示す図である。It is a figure which shows the subgroup formed from the subset of the element described in the architecture of FIG. 図38のアーキテクチャに記される要素のサブセットから形成されるサブグループを示す図である。It is a figure which shows the subgroup formed from the subset of the element described in the architecture of FIG. アプリケーションシステムストレージリソースをマルチレベルマッピングする本発明のさらなる態様による全般的な技法のフローチャートである。FIG. 5 is a flowchart of a general technique according to a further aspect of the invention for multi-level mapping application system storage resources.

発明の詳細な説明
以下の記載には、本発明の理解を提供するために多くの特定の詳細が記される。しかし、本発明をこういった特定の詳細なしで実施可能なことを当業者は理解するであろう。場合によっては、周知の方法、手続き、構成要素、プロトコル、アルゴリズム、および回路については、本発明を曖昧にしないように詳細に記載されていない。以下の考察には、アプリケーションパラメータを適宜調整することによってストレージリソースに対する負荷への対処に関連する態様ならびにCPU、ネットワーク、およびSANリソースの平衡化に関連する態様を含む本発明の各種態様が記載される。
DETAILED DESCRIPTION OF THE INVENTION In the following description, numerous specific details are set forth in order to provide an understanding of the present invention. However, one skilled in the art will understand that the invention may be practiced without these specific details. In some instances, well known methods, procedures, components, protocols, algorithms, and circuits have not been described in detail so as not to obscure the present invention. The following discussion describes various aspects of the present invention, including aspects related to addressing the load on storage resources by appropriately adjusting application parameters and aspects related to balancing CPU, network, and SAN resources. The

上述したように、本発明は、2007年7月5日に出願された「Managing Application System Load(アプリケーションシステムの負荷管理)」という名称の米国特許出願第11/773825号(代理人整理:AKR−110−US)の一部継続出願(CIP)であるため、以下の詳細な説明ではまず、米国特許出願第11/773825号(AKR−110−US)の発明を記載し(以下のセクションA〜D)、それから、本発明の説明に続く(以下のセクションEおよびF)。当業者は、米国特許出願第11/773825号(AKR−110−US)内で記載されているデジタル処理、計算、またはストレージ環境が、本発明を実施することができる処理環境の例のうちのいくつかにすぎないことを理解するとともに、本発明を米国特許出願第11/773825号(AKR−110−US)で記載される環境以外で実施可能なことも理解するであろう。   As noted above, the present invention is based on US patent application Ser. No. 11 / 773,825, filed Jul. 5, 2007, entitled “Managing Application System Load”. 110-US), the following detailed description first describes the invention of US patent application Ser. No. 11 / 773,825 (AKR-110-US) (see Sections A- D) and then the description of the invention (sections E and F below). Those skilled in the art will recognize that the digital processing, computing, or storage environment described in US patent application Ser. No. 11 / 773,825 (AKR-110-US) is among the examples of processing environments in which the present invention can be implemented. It will be understood that there are only a few and that the present invention may be practiced outside of the environment described in US patent application Ser. No. 11 / 773,825 (AKR-110-US).

この詳細な説明は以下のセクションで編成される。
A.本発明を実施することができるデジタル処理環境
B.アプリケーションシステム負荷の管理
C.アプリケーションシステム負荷の管理−実施のさらなる詳細/例
C1.システムアーキテクチャ
C2.外部発見サブシステム
C3.発見エンジン
D.アプリケーションシステム負荷の管理−一般的な方法
E.アプリケーションシステムストレージリソースのマルチレベルマッピング
F.マルチレベルマッピングの実施形態
G.結び
This detailed description is organized in the following sections.
A. A digital processing environment in which the present invention can be implemented. Application system load management Application System Load Management-Further Details / Examples of Implementation C1. System architecture C2. External discovery subsystem C3. Discovery engine Application System Load Management-General Method E. Multi-level mapping of application system storage resources Multi-level mapping embodiment Knot

A.本発明を実施することができるデジタル処理環境
本発明の特定の例および実施形態を記載する前に、以下は、本発明を実施し、実行することができる基盤をなすデジタル処理構造および環境の、図1、図2A、および図2Bと併せて読まれるべき考察である。
A. Prior to describing specific examples and embodiments of the present invention, the following is a description of the underlying digital processing structure and environment in which the present invention may be implemented and implemented. This should be read in conjunction with FIGS. 1, 2A, and 2B.

本発明は、コンピュータサーバクラスシステムで一般に見られるアプリケーションでのより効率的なアプリケーション実行を可能にする方法、システム、装置、およびコンピュータプログラム製品を提供することが当業者には理解されるであろう。これらのアプリケーションは、データベースアプリケーション、ウェブサーバアプリケーション、および電子メールサーバアプリケーションを含む。これらのアプリケーションは、一般に、大きなグループのコンピュータユーザに対して媒体を同時にサポートするために使用される。これらのアプリケーションは、複数のユーザによる一貫し組織されたアクセスおよび共有を共有データセットに提供する。アプリケーションは、デジタル計算システムの複数または単一の共有セットでホストすることができる。各アプリケーションで実行されるタスクセットは、デジタル計算システムで生成されるパターンおよび負荷を指示し、パターンおよび負荷は構成可能なアプリケーションパラメータセットを通して管理することができる。   One skilled in the art will appreciate that the present invention provides methods, systems, apparatus, and computer program products that allow more efficient application execution with applications commonly found in computer server class systems. . These applications include database applications, web server applications, and email server applications. These applications are typically used to support media simultaneously for a large group of computer users. These applications provide consistent and organized access and sharing by multiple users to a shared dataset. Applications can be hosted on multiple or a single shared set of digital computing systems. The task set executed in each application indicates the patterns and loads generated by the digital computing system, and the patterns and loads can be managed through configurable application parameter sets.

したがって、本発明は、別個のソフトウェアアプリケーション、システムソフトウェアを含むコンピュータシステムの部分、またはデジタル計算システムの部分を形成するコンピュータの専用コンピュータハードウェアとして実施することができる。本発明は、別個のスタンドアロンのソフトウェアベースまたはハードウェアベースのシステムとして実施してもよい。実施態様は、キーボードおよび/またはマウス等のユーザインタフェース要素、メモリ、ストレージ、および他の従来のユーザインタフェース構成要素を含み得る。このような種類の従来の構成要素は、当業者に周知であるため、本明細書においてさらに詳細に記載する必要はなく、以下の概観には、本発明をデジタルコンピュータシステム内のこのような構成要素と併せてどのように実施できるかを示す。   Thus, the present invention can be implemented as a separate software application, part of a computer system containing system software, or dedicated computer hardware of a computer that forms part of a digital computing system. The present invention may be implemented as a separate stand-alone software-based or hardware-based system. Implementations may include user interface elements such as a keyboard and / or mouse, memory, storage, and other conventional user interface components. Conventional components of this type are well known to those skilled in the art and need not be described in further detail herein, and the following overview describes the present invention within such a digital computer system. Show how it can be implemented in conjunction with the element.

特に、本発明をデジタルコンピュータシステム性能のプロファイリングおよび解析ならびにアプリケーション調整に利用できることを当業者は理解するであろう。本明細書において記載する技法は、デジタルコンピュータシステムの部分として実施することができ、性能データが定期的に収集され、適応的に解析される。データは、さらに、現在のシステムを変更することの影響を見積もるために使用できる解析モデルへの入力として使用することができる。この場合、デジタルコンピュータシステムで実行されているアプリケーションを再構成して、性能を向上させることができる。   In particular, those skilled in the art will appreciate that the present invention can be used for profiling and analysis of digital computer system performance and application tuning. The techniques described herein can be implemented as part of a digital computer system, and performance data is collected periodically and analyzed adaptively. The data can further be used as an input to an analytical model that can be used to estimate the impact of changing the current system. In this case, performance can be improved by reconfiguring the application running on the digital computer system.

以下の詳細な説明は、こういった技法による方法、構造、システム、コンピュータソフトウェア製品の例を示す。記載される方法およびシステムが、独立構成もしくはネットワークを介するMicrosoft Windows(登録商標)、Linux、またはUnix(登録商標)等の従来のオペレーティングシステムに従って動作する(または従来のオペレーティングシステムをエミュレートする)パーソナルコンピュータ(PC)または等価の装置等の従来のコンピュータ装置を使用してソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせで実施できることが当業者には理解されるであろう。したがって、本明細書において記載する各種処理態様および手段は、適宜構成されたデジタル処理装置または装置のネットワークのソフトウェア要素および/またはハードウェア要素で実施することができる。処理は逐次または並列に実行してよく、専用ハードウェアまたは再構成可能ハードウェアを使用して実施してもよい。   The following detailed description provides examples of methods, structures, systems, and computer software products according to these techniques. The described methods and systems operate according to (or emulate) a conventional operating system, such as Microsoft Windows®, Linux, or Unix®, either independently or over a network. Those skilled in the art will appreciate that conventional computer devices such as computers (PCs) or equivalent devices can be used to implement software, hardware, or a combination of software and hardware. Accordingly, the various processing aspects and means described herein can be implemented by software elements and / or hardware elements of an appropriately configured digital processing device or network of devices. Processing may be performed serially or in parallel and may be performed using dedicated hardware or reconfigurable hardware.

一例として、本明細書に添付される図1は、データベースおよびメールサーバ等のサーバクラスアプリケーションを実行できる例示的なコンピュータシステム10を示す。図1を参照すると、一実施形態において、コンピュータシステム10は、プロセッサモジュール11と、キーボード12Aおよび/またはマウス12B(またはデジタイジングタブレットまたは他のアナログ要素、包括的にオペレータ入力要素12として識別される)等のオペレータ入力構成要素およびビデオ表示装置13等のオペレータ出力要素を含むオペレータインタフェース要素とを含む。例示的なコンピュータシステム10は、従来の内蔵プログラムコンピュータアーキテクチャのものであることができる。プロセッサモジュール11は、例えば、1つまたは複数のプロセッサ、メモリ、ならびにディスクおよび/またはテープ記憶要素(別個に示さず)等の大容量記憶装置を含むことができ、提供されるデジタルデータと併せて処理動作および記憶動作を実行する。オペレータ入力要素12は、オペレータが、処理する情報を入力できるようにするために提供することができる。ビデオ表示装置13は、オペレータが処理のために入力することができるデータ、オペレータが処理制御のために入力できる情報、ならびに処理中に生成される情報を含め、プロセッサモジュール11によって生成された情報をオペレータに対して画面14上に表示するために提供することができる。プロセッサモジュール11は、いわゆる「グラフィカルユーザインタフェース」(「GUI」)を使用してビデオ表示装置13によって表示される情報を生成することができ、ビデオ表示装置13には、各種アプリケーションプログラムについての情報が各種「ウィンドウ」を使用して表示される。   As an example, FIG. 1 attached to this specification shows an exemplary computer system 10 capable of executing server class applications such as databases and mail servers. Referring to FIG. 1, in one embodiment, a computer system 10 is identified as a processor module 11 and a keyboard 12A and / or mouse 12B (or a digitizing tablet or other analog element, generically an operator input element 12). ) And operator interface elements including operator output elements such as video display 13. The exemplary computer system 10 can be of a conventional built-in program computer architecture. The processor module 11 can include, for example, one or more processors, memory, and mass storage devices such as disk and / or tape storage elements (not shown separately), in conjunction with the provided digital data. Perform processing and storage operations. An operator input element 12 can be provided to allow an operator to enter information to be processed. The video display device 13 receives information generated by the processor module 11 including data that can be input by the operator for processing, information that can be input by the operator for processing control, and information generated during processing. It can be provided for display on the screen 14 to the operator. The processor module 11 can generate information to be displayed by the video display device 13 using a so-called “graphical user interface” (“GUI”), and the video display device 13 has information about various application programs. It is displayed using various “windows”.

用語「メモリ」、「ストレージ」、および「ディスクストレージ装置」は、コンピュータハードディスク、コンピュータフロッピー(登録商標)ディスク、コンピュータ可読フラッシュドライブ、コンピュータ可読RAM要素、コンピュータ可読ROM要素、またはデジタル情報を符号化する任意の他の既知の手段等の任意のコンピュータ可読媒体を包含することができる。用語「アプリケーションプログラム」、「アプリケーション」、「プログラム」、「コンピュータプログラム製品」、または「コンピュータソフトウェア製品」は、コンピュータ可読媒体が固定式、リムーバブル式、永久的、または消去可能であるか等にかかわりなく、コンピュータ可読媒体に符号化され、かつ/または記憶されたコンピュータ可読プログラム命令からなる任意のコンピュータプログラム製品を包含することができる。上述したように、例えば、図2Bの概略ブロック図のブロック122において、アプリケーションおよびデータは、当該技術分野において周知の実施および技法に従ってディスク、RAM、ROM、他のリムーバブルストレージ、固定ストレージに、これらが内部にあるか外部にあるかにかかわりなく、記憶することができ、ダウンロードまたはアップロードすることができる。本書において述べるように、本発明は、コンピュータ可読媒体に記憶されたソフトウェアまたはコンピュータプログラム製品の形態をとってもよく、アップロードされてもよく、ダウンロードされてもよく、FPGA、ROM、もしくは他の電子構造に固定されてもよいコンピュータプログラムコードの形態であってもよく、または方法もしくはこのような方法を実行するシステムの形態をとってもよい。コンピュータシステム10は、入力情報をオペレータから受け取るためのキーボード12Aおよびマウス12B、ならびに出力情報をオペレータに表示するためのビデオ表示装置13等の特定の構成要素を備えて示されるが、コンピュータシステム10が、図1に示される構成要素に加えて、または図1に示される構成要素に代えて、様々な構成要素を含んでよいことが理解されるであろう。   The terms “memory”, “storage”, and “disk storage device” encode a computer hard disk, a computer floppy disk, a computer readable flash drive, a computer readable RAM element, a computer readable ROM element, or digital information. Any computer readable medium may be included such as any other known means. The terms “application program”, “application”, “program”, “computer program product”, or “computer software product” refer to whether a computer readable medium is fixed, removable, permanent, or erasable, etc. Rather, any computer program product consisting of computer readable program instructions encoded and / or stored on a computer readable medium may be included. As described above, for example, in block 122 of the schematic block diagram of FIG. 2B, applications and data are stored on disk, RAM, ROM, other removable storage, fixed storage according to implementations and techniques well known in the art. Regardless of whether they are internal or external, they can be stored and downloaded or uploaded. As described herein, the present invention may take the form of software or a computer program product stored on a computer-readable medium, which may be uploaded, downloaded, in an FPGA, ROM, or other electronic structure. It may be in the form of computer program code that may be fixed, or it may take the form of a method or a system that performs such a method. The computer system 10 is shown with certain components, such as a keyboard 12A and mouse 12B for receiving input information from an operator, and a video display 13 for displaying output information to the operator. It will be understood that various components may be included in addition to or in place of the components shown in FIG.

さらに、プロセッサモジュール11は、包括的に参照番号14で識別される1つまたは複数のネットワークポートを含むことができ、ネットワークポートは、コンピュータシステム10をコンピュータネットワークに接続する通信リンクに接続される。ネットワークポートは、コンピュータシステム10が、ネットワーク内の他のコンピュータシステムおよび他の装置に対して情報を送信するとともに、情報を受信できるようにする。例えば、クライアント−サーバパラダイムに従って組織された典型的なネットワークでは、ネットワーク内の特定のコンピュータシステムがサーバとして示され、他のクライアントコンピュータシステムによって処理されるデータおよびプログラム(包括的に「情報」)を記憶し、それにより、クライアントコンピュータシステムが情報を都合良く共有できるようにする。特定のサーバによって保持されている情報にアクセスする必要があるクライアントコンピュータシステムは、サーバがネットワークを介して情報をダウンロードできるようにする。データを処理した後、クライアントコンピュータシステムは、処理されたデータをサーバに返して、そこに記憶することもできる。コンピュータシステム(上述したサーバおよびクライアントを含む)に加えて、ネットワークは、例えば、プリンタおよびファクシミリ装置、デジタルオーディオまたはデジタルビデオの記憶・配信装置等を含み得、これらをネットワークに接続された各種コンピュータシステムで共有することができる。ネットワーク内のコンピュータシステムを相互接続する通信リンクは、従来のように、ワイヤ、光ファイバ、または信号をコンピュータシステム間で搬送する他の媒体を含めた任意の都合の良い情報搬送媒体を含み得る。コンピュータシステムは、通信リンク上で転送されるメッセージによってネットワーク上で情報を転送し、各メッセージは、情報およびメッセージを受信する装置を識別する識別子を含む。   In addition, the processor module 11 can include one or more network ports, identified generally by reference numeral 14, that are connected to a communication link that connects the computer system 10 to the computer network. The network port allows the computer system 10 to send information to and receive information from other computer systems and other devices in the network. For example, in a typical network organized according to a client-server paradigm, a particular computer system in the network is shown as a server and data and programs (generally “information”) that are processed by other client computer systems. Store so that client computer systems can conveniently share information. Client computer systems that need to access information held by a particular server allow the server to download information over the network. After processing the data, the client computer system can also return the processed data to the server for storage there. In addition to the computer system (including the server and client described above), the network may include, for example, a printer and a facsimile apparatus, a digital audio or digital video storage / distribution apparatus, and the like, and these are connected to the network. Can be shared on Communication links interconnecting computer systems in a network may include any convenient information carrying medium, including wires, optical fibers, or other media that carry signals between computer systems, as is conventional. The computer system transfers information over the network by messages transferred over the communication link, each message including an identifier identifying the information and the device receiving the message.

図面に示されるコンピュータシステム10に加えて、本発明による方法、装置、またはソフトウェア製品は、従来のPC102、ラップトップ104、ハンドヘルドもしくはモバイルコンピュータ106、またはインターネットもしくは他のネットワーク108を介するものを含め、スタンドアロンか、ネットワーク化されているか、可搬であるか、それとも固定されるかにかかわりなく、サーバ110およびストレージ112を含み得る、図2Aおよび図2Bに例として示されるもの(例えば、ネットワークシステム100)等の任意の広範囲の従来の計算装置およびシステムで動作することができる。   In addition to the computer system 10 shown in the drawings, the method, apparatus, or software product according to the present invention includes a conventional PC 102, laptop 104, handheld or mobile computer 106, or over the Internet or other network 108, As shown by way of example in FIGS. 2A and 2B, which may include a server 110 and storage 112, whether stand-alone, networked, portable, or fixed (eg, network system 100 ) And any other wide range of conventional computing devices and systems.

従来のコンピュータソフトウェアおよびハードウェアでの実施と並んで、本発明により構成されたソフトウェアアプリケーションは、例えば、図1、図2A、および図2Bに示されるようなPC102内で動作することもでき、この場合、プログラム命令は、ROM、CD−ROM116(図2B)、磁気ディスク、または他のストレージ120から読み出して、RAM114にロードしてCPU118によって実行することができる。データは、従来のキーボード、スキャナ、マウス、デジタイジングタブレット、または他の要素103を含めた任意の既知の装置または手段を介してシステムに入力することができる。図2Bに示すように、図示のストレージ120はリムーバブルストレージを含む。図2Bにさらに示すように、アプリケーションおよびデータ122を、固定ストレージ、リムーバブルストレージ、またはROMのうちのいくつかまたはすべてに配置してもよく、またはダウンロードしてもよい。   Alongside implementations in conventional computer software and hardware, a software application constructed in accordance with the present invention can also run in a PC 102 as shown, for example, in FIGS. 1, 2A, and 2B. If so, the program instructions can be read from ROM, CD-ROM 116 (FIG. 2B), magnetic disk, or other storage 120, loaded into RAM 114, and executed by CPU 118. Data can be entered into the system via any known device or means including a conventional keyboard, scanner, mouse, digitizing tablet, or other element 103. As shown in FIG. 2B, the illustrated storage 120 includes removable storage. As further shown in FIG. 2B, applications and data 122 may be located in some or all of fixed storage, removable storage, or ROM, or downloaded.

本明細書において記載する本発明の方法態様が、ASIC製造業者にとって既知のASIC構築技法を使用して、本明細書において記載される処理を実行するように特に構築されたフィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)等のハードウェア要素で実行可能なことを当業者は理解するであろう。本発明の実行に使用できる従来のASIC、等価の集積回路、または他の従来のハードウェア要素の実際の半導体素子は、本発明の部分ではなく、本明細書において詳細に考察しない。   The method aspects of the invention described herein are field programmable gate arrays (FPGAs) specifically constructed to perform the processes described herein using ASIC construction techniques known to ASIC manufacturers. Or a hardware element such as an application specific integrated circuit (ASIC). The actual semiconductor elements of a conventional ASIC, equivalent integrated circuit, or other conventional hardware element that can be used in the practice of the present invention are not part of the present invention and are not discussed in detail herein.

さらに詳細に本明細書において記載する本発明の教示を使用して、さらに詳細に後述する、例えば図3以下に示される本発明の方法を実行するように、ASICまたは他の従来の集積回路または半導体素子を実装可能なことも当業者は理解するであろう。   Using the teachings of the present invention described in more detail herein, an ASIC or other conventional integrated circuit, or the like, to perform the method of the present invention described below in further detail, eg, shown in FIG. Those skilled in the art will also understand that semiconductor devices can be implemented.

本発明の方法態様が、ワークステーションまたはパーソナルコンピュータ(PC)のオペレーティングシステムおよび本発明により構成されたコンピュータプログラム製品の下で動作する、ワークステーションおよびPC等の市販のデジタル処理システム内で実行可能なことも当業者は理解するであろう。用語「コンピュータプログラム製品」は、コンピュータ可読媒体に符号化されたコンピュータ可読プログラム命令の任意のセットを包含することができる。コンピュータ可読媒体は、ワークステーション、PC、または他のデジタル処理装置もしくはシステムからローカルであれ、またはリモートであれ、コンピュータハードディスク、コンピュータフロッピー(登録商標)ディスク、コンピュータ可読フラッシュドライブ、コンピュータ可読RAM要素、コンピュータ可読ROM要素、またはデジタル情報の符号化、記憶、または提供を行う任意の他の既知の手段を含むが、これらに制限されない任意の形態のコンピュータ可読要素を包括することができる。各種形態のコンピュータ可読要素および媒体が、コンピューティング分野において周知であり、その選択は実施者に任せられる。   The method aspects of the present invention can be carried out in commercially available digital processing systems such as workstations and PCs operating under a workstation or personal computer (PC) operating system and a computer program product constructed in accordance with the present invention. Those skilled in the art will also understand. The term “computer program product” can encompass any set of computer readable program instructions encoded on a computer readable medium. The computer readable medium may be local or remote from a workstation, PC, or other digital processing device or system, computer hard disk, computer floppy disk, computer readable flash drive, computer readable RAM element, computer. It can include any form of computer readable elements including, but not limited to, readable ROM elements or any other known means of encoding, storing or providing digital information. Various forms of computer readable elements and media are well known in the computing arts and the choice is left to the implementer.

B.アプリケーションシステム負荷の管理
次に、米国特許出願第11/773825号(AKR−110−US)に記載される本発明の各種態様によるアプリケーションシステム負荷を管理するシステムおよび技法の例および実施形態について記載する。本願は、米国特許出願第11/773825号の一部継続出願(CIP)である。
B. Application System Load Management Next, examples and embodiments of systems and techniques for managing application system load according to various aspects of the present invention described in US patent application Ser. No. 11 / 773,825 (AKR-110-US) will be described. . This application is a continuation-in-part (CIP) of US patent application Ser. No. 11 / 773,825.

アプリケーションは、一般に、ストレージエリアネットワーク(SAN)を通して共通ネットワークおよびストレージシステムを共有するサーバでホストされる。アプリケーションの要求とCPU、ネットワーク、およびSANの能力との不均衡は、中央リソースを共有しているアプリケーションの全体性能の低下に繋がる。しかし、個々のアプリケーションは、サブシステム内の任意の単一の要素、特にSANに大きすぎる負荷を課す場合、性能の影響を受け得る。さらに、CPU、ネットワーク、およびストレージアレイは、多くの場合、共有リソースとして利用される。独立したサーバで実行されている複数のアプリケーションは、サブシステム要素がアプリケーション間で共有されている場合、互いの性能に影響を及ぼし得る。   Applications are typically hosted on servers that share a common network and storage system through a storage area network (SAN). The imbalance between application demands and CPU, network, and SAN capabilities leads to a decrease in the overall performance of applications sharing central resources. However, an individual application can be affected by performance if it imposes too much load on any single element in the subsystem, especially the SAN. Furthermore, the CPU, network, and storage array are often used as shared resources. Multiple applications running on independent servers can affect each other's performance when subsystem elements are shared between applications.

多くのアプリケーションは内部パラメータを有し、内部パラメータはユーザまたはシステム管理者によって設定することができ、アプリケーションの性能およびスループットに劇的な影響を及ぼし得る。ユーザは、通常、アプリケーションが実行のために初期化されているとき、計算システム構成で維持可能な帯域幅または存在する並列性を考慮しない。システム負荷の設定には、デフォルト値セットが一般に使用される。これらのデフォルト値は、例えば、スレッド数、個々のアプリケーションの優先度、記憶領域、およびログバッファ構成を含み得る。これらの値は、実行時中に調整することも可能である。これらの値はユーザ、アプリケーションプログラマ、またはシステム管理者によって調整可能であるが、基盤をなす計算システムリソースの特性によりよく合うように、アプリケーション負荷を調整するための指針は提供されない。   Many applications have internal parameters, which can be set by a user or system administrator and can dramatically affect the performance and throughput of the application. Users typically do not consider the bandwidth that can be maintained in a computing system configuration or the existing parallelism when an application is initialized for execution. A default value set is generally used to set the system load. These default values may include, for example, the number of threads, individual application priority, storage space, and log buffer configuration. These values can also be adjusted during runtime. These values can be adjusted by the user, application programmer, or system administrator, but no guidance is provided to adjust the application load to better match the characteristics of the underlying computing system resources.

任意のアプリケーションの性能は、アプリケーションが単一の装置に対して大きすぎるトラフィックを生成する場合、または複数のアプリケーションが、システムが集合負荷にサービス提供できないような多くの要求でシステムを溢れさせる場合に低下し得る。システム内の任意の要素に過負荷がかかる際に、あるアプリケーションが別のアプリケーションに対して生み出す干渉は、性能の大きなばらつきを生じさせ得る。より予測可能なアプリケーション性能を提供しようという試みは、多くの場合、サブシステム内の特定の要素のキャパシティのオーバープロビジョニングに繋がる。   The performance of any application is when the application generates too much traffic for a single device, or when multiple applications flood the system with many requests that the system cannot service the collective load. Can be reduced. When any element in the system is overloaded, the interference that one application creates with respect to another application can cause large variations in performance. Attempts to provide more predictable application performance often lead to over-provisioning of the capacity of specific elements within the subsystem.

これらの課題を解決するか、又はこれらの課題を少なくとも最小にしようとして、システム管理者は、各アプリケーションが固定の優先度を有することを要求することができる。優先度の設定は、システムリソースに対するアプリケーションの要求を「抑制する」ために使用される。不都合なことに、固定の優先度の割り当てはリソースを無駄にする恐れがあるとともに、アプリケーションスタベーションに繋がる恐れもある。抑制に対する代替は、各アプリケーションが受けているサービス品質(「QoS」)を管理することができる。ストレージリソースの割り振りは、様々な基準、例えばストレージアクセスの帯域幅に基づくことができる。米国特許出願公開第2005/0089054号には、QoSに基づいたリソースの割り振りを提供する装置が記載されており、参照によりその全体が本明細書に援用される。   In an attempt to solve or at least minimize these issues, the system administrator can require that each application have a fixed priority. The priority setting is used to “suppress” application requests for system resources. Unfortunately, fixed priority assignments can waste resources and can lead to application starvation. An alternative to throttling can manage the quality of service (“QoS”) that each application is experiencing. The allocation of storage resources can be based on various criteria, such as storage access bandwidth. US Patent Application Publication No. 2005/0089054 describes an apparatus that provides resource allocation based on QoS, which is incorporated herein by reference in its entirety.

上記懸案事項に対する従来の解決策は、通常、それ自体の性能制約及び懸案事項を提示してきた。したがって、1つまたは複数のアプリケーションによって生成されるシステム負荷をより効率的かつ柔軟に管理する改良された方法、装置、ソフトウェア、およびシステムを提供することが望ましい。   Conventional solutions to the above concerns have typically presented their own performance constraints and concerns. Accordingly, it would be desirable to provide improved methods, apparatus, software, and systems that more efficiently and flexibly manage system loads generated by one or more applications.

ディスクまたは帯域幅を個々のサーバまたはアプリケーションに割り振るのではなく、本明細書に記載するシステムおよび技法は、アプリケーションによって提供される内部調整機能(internal tuning facility)を利用し、提供されたストレージサブシステムの特性に基づいて調整されたパラメータセットに到達する。さらに、本発明は、ネットワーク化されたデジタル計算システム等の完全デジタルコンピュータシステムのリソースも考慮する。記載のシステムおよび技法は、Microsoft Windows(登録商標)、Linux、およびUnix(登録商標)等の市販のオペレーティングシステムで開発された既存の性能監視システムおよび技法を利用する。実行時パラメータセットを通してアプリケーションを適応的に調整できるようにする記載のシステムおよび技法は、既存のインタフェースを利用して、データベースおよび電子メールアプリケーションを調整する。本発明はさらに、利用可能なシステムリソースの入念なプロビジョニングを通してQoS保証を提供して、複数のアプリケーションを並行に管理することができる。   Rather than allocating disk or bandwidth to individual servers or applications, the systems and techniques described herein take advantage of the internal tuning facility provided by the application and the storage subsystem provided. A parameter set adjusted based on the characteristics of Furthermore, the present invention also considers the resources of a fully digital computer system, such as a networked digital computing system. The described systems and techniques utilize existing performance monitoring systems and techniques developed in commercial operating systems such as Microsoft Windows®, Linux, and Unix®. The described systems and techniques that allow applications to be adaptively tuned through runtime parameter sets utilize existing interfaces to tune database and email applications. The present invention further provides QoS guarantees through careful provisioning of available system resources to manage multiple applications in parallel.

システム性能を決定する、アプリケーションパラメータの構成に使用されている従来の方法は、いくつかの著しい欠点を有する。すなわち、(1)今日まで使用されてきた調整方法は、試行錯誤反復調整に基づいておらず、(2)ユーザは、調整の選択をガイドするために基盤をなすCPU、ネットワーク、およびストレージサブシステムについて殆ど情報を有さず、(3)共有デジタル計算システムを利用する複数のアプリケーションまたは複数のサーバを並行に管理することが殆ど考慮されておらず、かつ(4)現在、デジタル計算システムの特性を個々のアプリケーションパラメータの変更に変換する一般に認められた方法がない。   Conventional methods used to configure application parameters to determine system performance have several significant drawbacks. That is, (1) the adjustment methods that have been used to date are not based on trial and error iterative adjustments, and (2) the user has the underlying CPU, network, and storage subsystem to guide the selection of adjustments (3) Little consideration is given to managing multiple applications or multiple servers using a shared digital computing system in parallel, and (4) the characteristics of the digital computing system now There is no generally accepted way to convert the to individual application parameter changes.

アプリケーションによっては、ストレージアクセス動作の待ち時間の影響を受けやすいものもあれば、そうでないものもある。データベースおよびメールサーバアプリケーションは、非逐次モードでデータにアクセスすることが多く、時によっては、別のコマンドを発行する前に、1つのアクセスまたは一連のアクセスの完了を待たなければならないことがあるため、ストレージアクセス動作に関連する待ち時間の影響を特に受けやすい。   Some applications are sensitive to the latency of storage access operations, while others are not. Database and mail server applications often access data in non-sequential mode, and sometimes it may be necessary to wait for an access or series of accesses to complete before issuing another command It is particularly susceptible to latency related to storage access operations.

データベースシステム、メールサーバ等の多くの待ち時間の影響を受けやすいアプリケーションは、自己調整を実行する能力を有する。例えば、Oracle10gは、最近のクエリの挙動に基づいて将来のクエリの性能を加速化できるクエリオプティマイザを提供する。Oracle10gは、データベース性能に影響し得る250を超える調整可能パラメータも有する。これらのパラメータは、メモリリソース、例えばキャッシュおよびバッファの利用に影響するとともに、並行アクセス可能量、例えばスレッディングを定義することができる。   Many latency sensitive applications such as database systems, mail servers, etc. have the ability to perform self-tuning. For example, Oracle 10g provides a query optimizer that can accelerate the performance of future queries based on recent query behavior. Oracle 10g also has over 250 tunable parameters that can affect database performance. These parameters affect the utilization of memory resources, such as caches and buffers, and can define parallel accessible amounts, such as threading.

記載のシステムおよび技法は、基盤をなすCPUサブシステム、ネットワークサブシステム、およびストレージサブシステムについての情報を利用することによるこれらの内部パラメータの適正な設定を目標とする。本明細書において記載するように、CPUサブシステム情報は、使用中のプロセッサの種別および個数ならびに関連するメモリ階層の両方を含み、ネットワークサブシステム情報は、使用されているネットワークスイッチの速度および構成ならびにスイッチに接続されたアダプタの速度を含み、ストレージサブシステム情報は、物理ディスク装置の特性、RAIDグループへのこれらの装置のグループ化、論理アドレスからRAIDグループへのマッピング、およびこのシステムを通る個々のパスのスループットを含む。本発明のさらなる一態様は、システムの実行時特性を捕捉することによってストレージサブシステム情報を得る能力を提供する。この情報は、カスタマイズされたエクササイザを実行するか、またはシステムの通常の実行を観察することによって得ることができる。   The described systems and techniques target the proper setting of these internal parameters by utilizing information about the underlying CPU subsystem, network subsystem, and storage subsystem. As described herein, the CPU subsystem information includes both the type and number of processors in use and the associated memory hierarchy, and the network subsystem information includes the speed and configuration of the network switch being used and Including the speed of the adapters connected to the switch, the storage subsystem information includes the characteristics of the physical disk devices, the grouping of these devices into RAID groups, the mapping of logical addresses to RAID groups, and the individual passing through this system Includes path throughput. A further aspect of the invention provides the ability to obtain storage subsystem information by capturing the runtime characteristics of the system. This information can be obtained by running a customized exerciser or observing the normal execution of the system.

アプリケーションパラメータの調整は、アプリケーションの初期化時または動的に行うことができる。基盤をなすサブシステム性能の異なる特性を捕捉するために使用される方法は、静的、すなわち予め決まった方法であり、ストレージシステムと共に出荷してもよく、またはプロファイリングを通して動的に取得されてもよい。現在記載している本発明は、この情報を静的に指定する方法およびプロファイリングを通してこの情報を取得する方法の両方を含む。本発明のさらなる態様によれば、この情報は、フィードバックとしてアプリケーションに提供されて、システムパラメータを自動的に、またはシステム/アプリケーション管理者によって調整できるようにする。   Adjustment of application parameters can be done at application initialization or dynamically. The method used to capture the different characteristics of the underlying subsystem performance is static, i.e. a predetermined method, which may be shipped with the storage system or acquired dynamically through profiling. Good. The presently described invention includes both a method for statically specifying this information and a method for obtaining this information through profiling. According to a further aspect of the invention, this information is provided as feedback to the application so that system parameters can be adjusted automatically or by a system / application administrator.

上記考察では、デジタル計算リソースを最も良く利用するために、性能の影響を受けやすいアプリケーションのパラメータを適宜調整する必要性について述べた。このようなパラメータを調整する装置およびシステムの一実施形態を図3に示す。   In the above discussion, we have discussed the need to adjust the parameters of applications that are sensitive to performance to make the best use of digital computing resources. One embodiment of an apparatus and system for adjusting such parameters is shown in FIG.

図3に示すように、アプリケーションサーバ290は、サーバ260に直接接続されるものもあれば、スイッチファブリック250を使用してストレージエリアネットワーク270を介してサーバに接続されるものもある、様々な記憶要素にアクセスする。これは、サーバおよびストレージシステムの可能な編成の1つにすぎない。本発明は特定の編成を必要としない。   As shown in FIG. 3, the application server 290 may be connected directly to the server 260 or may be connected to the server via the storage area network 270 using the switch fabric 250. Access an element. This is just one possible organization of servers and storage systems. The present invention does not require a specific organization.

したがって、本発明の現在記載している態様には、サーバおよびストレージシステムの両方に通信できる要素が導入される。この要素は、本明細書では、ストレージシステムアウェアアプリケーション調整システム(SSAATS)280と呼ばれる。この要素ならびに同様の構造および機能についても記載され、以下では情報リソース管理(IRM)システムと呼ばれる。後述するように、本発明のさらなる態様は、SSAATS要素の機能のうちのいくつかまたはすべてを実行する他の名称の要素を提供する。   Accordingly, the presently described aspects of the present invention introduce elements that can communicate to both servers and storage systems. This element is referred to herein as Storage System Aware Application Coordination System (SSAATS) 280. This element and similar structures and functions are also described, and are referred to below as information resource management (IRM) systems. As described below, further aspects of the invention provide other named elements that perform some or all of the functions of the SSAATS element.

図3に示すSSAATSの実施形態は3つの下位要素を含む。すなわち、
(1)ストレージネットワークプロファイリングシステム210、
(2)解析モデル220、および
(3)アプリケーションパラメータ決定サブシステム230
である。
The SSAATS embodiment shown in FIG. 3 includes three sub-elements. That is,
(1) Storage network profiling system 210,
(2) analysis model 220, and (3) application parameter determination subsystem 230
It is.

SSAATS要素280は、スタンドアロンサブシステムとして実施してもよく、またはサーバサブシステム290もしくはネットワークファブリックサブシステム240の部分として統合されてもよい。   The SSAATS element 280 may be implemented as a stand-alone subsystem or may be integrated as part of the server subsystem 290 or the network fabric subsystem 240.

プロファイリングサブシステム要素100は、ストレージネットワーク内の並列度を決定する能力を有し、上述したように基盤をなすストレージシステム260および270の帯域幅値および待ち時間値を推定することができる。プロファイリングサブシステム要素210は、存在するネットワークファブリック要素250の帯域幅値および待ち時間値を決定することもできる。   Profiling subsystem element 100 has the ability to determine the degree of parallelism in the storage network and can estimate the bandwidth and latency values of the underlying storage systems 260 and 270 as described above. The profiling subsystem element 210 can also determine the bandwidth value and latency value of the existing network fabric element 250.

プロファイリングサブシステム要素210は、ストレージシステム製造業者から常に入手可能であるとは限らない性能関連情報を取得する。ストレージシステムが設置される際、利用可能なストレージは多くの異なる編成で構成され得る。そのため、いくらかの性能関連情報が製造業者によって提供される場合であっても、必要な情報の大半は、ストレージシステムが設置され構成された後でのみ的を得たものである。   The profiling subsystem element 210 obtains performance related information that is not always available from the storage system manufacturer. When a storage system is installed, the available storage can be organized in many different organizations. As such, even if some performance-related information is provided by the manufacturer, most of the required information is only relevant after the storage system is installed and configured.

必要な性能関連情報としては、例えば、
(1)CPU、ネットワーク、およびSAN内で利用可能な並列度、
(2)各種装置の速度、
(3)アプリケーションサーバ、ネットワーク、および個々のストレージ装置の間のパスの帯域幅、および
(4)サーバから見たストレージ装置の構成
が含まれるが、これらに制限されない。
As necessary performance-related information, for example,
(1) CPU, network, and parallelism available within the SAN,
(2) Speed of various devices,
(3) The bandwidth of the path between the application server, the network, and each storage device, and (4) the configuration of the storage device viewed from the server, but is not limited thereto.

必要な性能関連情報を取得するために、一連の入/出力コマンドをストレージサブシステムに発行することができる。特定のコマンドシーケンスの応答時間およびスループットに基づいて、必要な性能関連情報を取得することができる。次に、この情報は解析モデル要素220に供給される。   A series of input / output commands can be issued to the storage subsystem in order to obtain the necessary performance related information. Necessary performance-related information can be obtained based on the response time and throughput of a particular command sequence. This information is then provided to the analytical model element 220.

解析モデル要素220は、プロファイル情報をプロファイリングストレージネットワーク210から取得する。プロファイリングデータは解析性能モデル220によって使用され、解析性能モデル220は、アプリケーションサーバ290のCPUサブシステム、ネットワークサブシステム250、ならびにストレージサブシステム260および270が維持できる適正負荷を確立するために使用される。解析モデル要素220の出力は、パラメータ値230を決定する要素に供給され、次に、この要素は、これらの値をアプリケーションサーバ290に通信し、アプリケーションサーバ290は、次に、アプリケーションの内部パラメータを設定する。   The analysis model element 220 acquires profile information from the profiling storage network 210. Profiling data is used by the analytical performance model 220, which is used to establish the proper load that the application server 290 CPU subsystem, network subsystem 250, and storage subsystems 260 and 270 can sustain. . The output of the analysis model element 220 is fed to an element that determines the parameter value 230, which then communicates these values to the application server 290, which in turn passes the internal parameters of the application. Set.

オプションの一実施形態では、プロファイリングシステムがプロファイリングネットワーク210を通してストレージシステムの性能を引き続きプロファイリングし、動的プロファイルを解析性能モデル220に供給し、新しいアプリケーションパラメータセットをパラメータ決定システム230からアプリケーションサーバ290に通信することができる。このオプションの実施形態の主要特徴としては、(a)プロファイリングシステムが、パラメータ変更を通して得られる恩益を低減する恐れのある著しいオーバーヘッドをデジタル計算システムに導入し得ないこと、かつ(b)システムが連続して性能遷移に適応しないようにパラメータ変更の頻度を抑制するために、適切な制御が提供されていることをシステムが保証しなければならないことが含まれる。   In one optional embodiment, the profiling system continues to profile the performance of the storage system through the profiling network 210, provides a dynamic profile to the analytical performance model 220, and communicates a new set of application parameters from the parameter determination system 230 to the application server 290. can do. The key features of this optional embodiment include: (a) the profiling system cannot introduce significant overhead into the digital computing system that could reduce the benefits gained through parameter changes; and (b) the system It includes that the system must ensure that adequate control is provided to reduce the frequency of parameter changes so that they do not continuously adapt to performance transitions.

オプションの一実施形態では、プロファイリングシステム210が、利用可能なシステム構成の使用をさらに改良するために、ネットワークインタフェースを通してストレージリソース260および270と直接通信することができ、これは、本明細書では「発見(Discovery)」と呼ばれる。   In one optional embodiment, the profiling system 210 can communicate directly with the storage resources 260 and 270 through the network interface to further improve the use of available system configurations, which is referred to herein as “ It is called “Discovery”.

本明細書において記載する解析モデル220は、標準キューイング理論技法を利用し、ストレージサブシステムが維持できる負荷量を確立する。特に、解析モデル220は、既知のキューイング理論式、アルゴリズム、および技法を適用して、サポート可能なストレージ負荷を決定することができる。このような式、アルゴリズム、および技法は、例として、Kleinrock, L., Queueing Systems: Volume I - Theory (Wiley Interscience, New York, 1975)、Kleinrock, L., Queueing Systems: Volume II - Computer Applications (Wiley Interscience, New York, 1976)に記載されており、これらを両方とも、その全体が記載されているかのように参照により本明細書に援用される。次に、パラメータ決定要素は、これらの負荷値をターゲットアプリケーションの具体的なパラメータ値に変換する。本発明のさらなる態様によれば、SSAATS280は、1つのアプリケーションソフトウェアにつき1つずつ、複数のパラメータ決定要素230を含む。   The analytical model 220 described herein uses standard queuing theory techniques to establish the amount of load that the storage subsystem can sustain. In particular, analytic model 220 can apply known queuing theory equations, algorithms, and techniques to determine the storage load that can be supported. Such equations, algorithms, and techniques are, for example, Kleinrock, L., Queueing Systems: Volume I-Theory (Wiley Interscience, New York, 1975), Kleinrock, L., Queueing Systems: Volume II-Computer Applications ( Wiley Interscience, New York, 1976), both of which are incorporated herein by reference as if set forth in their entirety. The parameter determination element then converts these load values into specific parameter values for the target application. According to a further aspect of the invention, SSAATS 280 includes a plurality of parameter determination elements 230, one for each application software.

アプリケーションパラメータユニット230の決定は、いくつかのアプリケーション固有パラメータを考慮する。1つの特定のパラメータセットは、例えば、Oracle 10gの内部に提供されるコストベース最適化(CBO)パラメータを含む。こういったパラメータは、Oracle内でインデックス付与および走査がどのように実行されるか、ならびにアプリケーションによって想定される並列度を制御することができる。例えば、マルチブロックリードカウントは、アクセスサイズを調整するために設定することができ、または並列テーブル走査を実行するために並列自動調整を設定することができる。   The determination of the application parameter unit 230 takes into account several application specific parameters. One particular parameter set includes, for example, cost-based optimization (CBO) parameters provided within Oracle 10g. These parameters can control how indexing and scanning are performed within Oracle and the degree of parallelism expected by the application. For example, the multi-block read count can be set to adjust the access size, or parallel auto-adjustment can be set to perform a parallel table scan.

多くの状況において、ストレージ管理者が待ち時間の影響の受けやすさによってアプリケーションを区別することが有益であり得る。現在記載しているメカニズムは、個々のアプリケーションのシステムリソース要求の抑制を目標とするが、ネットワークおよびストレージは一般に異なるアプリケーションによって共有されるため、同じシステムを使用して複数のアプリケーションを管理することができる。   In many situations, it may be beneficial for the storage administrator to distinguish applications by latency sensitivity. While the currently described mechanism aims to reduce system resource requirements for individual applications, the network and storage are generally shared by different applications, so multiple applications can be managed using the same system. it can.

ネットワークおよびストレージが異なるアプリケーションによって共有される場合、解析モデル220は、競合するアプリケーション作業負荷の影響を捕捉するように調整することができる。2つの典型的な作業負荷は、オンライントランザクション処理作業負荷と、これと競合するストレージバックアップ作業負荷である。バックアップアプリケーションがクリティカルな動作を実行している間、オンライアントランザクション処理アプリケーショの実行が優先されるべきである。   If the network and storage are shared by different applications, the analysis model 220 can be adjusted to capture the impact of competing application workloads. Two typical workloads are an online transaction processing workload and a competing storage backup workload. While the backup application is performing critical operations, execution of online transaction processing applications should be prioritized.

複数のアプリケーションが同じIOストレージリソース260おび270のセットを共有している場合、アプリケーションパラメータユニット230の決定は、共有に役立つように複数のパラメータ値セットを調整する必要がある。   If multiple applications are sharing the same set of IO storage resources 260 and 270, the determination of the application parameter unit 230 will need to adjust multiple parameter value sets to aid in sharing.

複数のアプリケーションが同じIOストレージリソース260おび270のセットを共有し、システム管理者であるユーザが各アプリケーションのスループットに優先度を付けたい場合、アプリケーションパラメータユニット230の決定は、一方のアプリケーションのIO要求を他方のアプリケーションのIO要求よりも優先するようにパラメータ値をさらに調整することができる。   If multiple applications share the same set of IO storage resources 260 and 270, and the system administrator user wants to prioritize the throughput of each application, the application parameter unit 230 determines the IO request of one application. Can be further adjusted to prioritize the IO request of the other application.

これより、本発明によるシステムのさらなる一実施形態について記載し、上述した要素および他についてさらに詳細に記載する。   A further embodiment of the system according to the invention will now be described, and the above-described elements and others will be described in further detail.

図4は、中央演算処理装置(CPU)301、302、303と、ネットワーク要素310と、ストレージアレイネットワーク320とを含む例示的な計算システム300の要素を示す図である。図示の構成は、現在利用可能な多くのサーバクラス計算システムの典型的な構成である。本明細書において記載するように、本発明の態様は、システム300の解析モデルを構築することによってシステム300の性能を向上させるシステムおよび技法を対象とする。解析モデルは、まず、システム構成情報および異なる要素の実行時性能統計を取得することによって構築される。解析モデルには、システム300で実行されている特定のアプリケーションセットについての知識が提供される。解析モデルの出力は、性能数ならびに計算システム300で実行されているアプリケーションに関連するアプリケーションパラメータの調整の仕方についての推奨を含む。次に、解析モデルの出力を使用して、アプリケーションの将来の性能を向上させることができる。   FIG. 4 is a diagram illustrating elements of an exemplary computing system 300 that includes a central processing unit (CPU) 301, 302, 303, a network element 310, and a storage array network 320. The configuration shown is typical of many server class computing systems currently available. As described herein, aspects of the present invention are directed to systems and techniques that improve the performance of the system 300 by building an analytical model of the system 300. The analysis model is first constructed by acquiring system configuration information and runtime performance statistics for different elements. The analysis model is provided with knowledge about a particular application set running on the system 300. The output of the analysis model includes recommendations on how to adjust the performance parameters as well as application parameters related to the application running on the computing system 300. The output of the analysis model can then be used to improve the future performance of the application.

図5は、アプリケーション350が計算システム300でどのように実行されるかを構成するために使用されるプログラムコード360とアプリケーションパラメータセット370とを含むアプリケーション350の図を示す。   FIG. 5 shows a diagram of an application 350 that includes program code 360 and an application parameter set 370 that are used to configure how the application 350 is executed in the computing system 300.

図6は、CPU1 301で実行されるアプリケーション350の図を示し、アプリケーション350にはアプリケーションパラメータセット370が供給され、システムに負荷を生じさせる。   FIG. 6 shows a diagram of an application 350 running on the CPU1 301, which is supplied with an application parameter set 370 and creates a load on the system.

図7は、計算システム300および情報リソースマネージャ400を示す図を示す。情報リソースマネージャ400は、解析モデル410を含み、CPU統計440、ネットワーク統計450、およびSAN統計460を含むいくつかの計算システム性能統計430と、計算システム構成データ470と、計算システム370で実行されているアプリケーションセットのアプリケーションパラメータセット370とのデータベース420を保持する。   FIG. 7 shows a diagram illustrating a computing system 300 and an information resource manager 400. The information resource manager 400 includes an analysis model 410 and is executed on a number of computing system performance statistics 430, including CPU statistics 440, network statistics 450, and SAN statistics 460, computing system configuration data 470, and computing system 370. It maintains a database 420 with application parameter sets 370 for the application sets that are present.

図8は、CPU統計440と、ネットワーク統計450と、SAN統計460と、構成データ470と、計算システム300で実行されているアプリケーションのアプリケーションパラメータ370とのデータベース420を示す。   FIG. 8 shows a database 420 of CPU statistics 440, network statistics 450, SAN statistics 460, configuration data 470, and application parameters 370 for applications running on the computing system 300.

図9は、性能統計を計算システム300からどのように取得できるかの一例を示す図を示す。CPU統計440は、iostat 510およびperfmon 520等の標準ソフトウェアユーティリティを使用してCPU1 301から取得することができる。ネットワーク統計450は、大半のネットワークスイッチ装置に提供されているSNMPインタフェース530を使用して取得することができる。SAN統計460は、多くのSANシステム120に提供されているSMIS540を介して取得することができる。図9に示すインタフェースは、異なる要素から性能統計を取得する1つの特定のインタフェースセットを示すが、情報リソース管理ユニット400が、利用可能な計算システムの追加のインタフェースにアクセスすることを除外しない。   FIG. 9 shows a diagram illustrating an example of how performance statistics can be obtained from the computing system 300. CPU statistics 440 can be obtained from CPU1 301 using standard software utilities such as iostat 510 and perfmon 520. Network statistics 450 can be obtained using the SNMP interface 530 provided in most network switch devices. The SAN statistics 460 can be obtained via the SMIS 540 provided for many SAN systems 120. The interface shown in FIG. 9 represents one particular set of interfaces that obtain performance statistics from different elements, but does not exclude that the information resource management unit 400 has access to additional interfaces of the available computing system.

図10は、構成データ410が計算システム100の各要素からどのように得られるかを示す。異なる計算システム要素100の各ベンダーは、一般に、この情報を報告するインタフェースを提供する。   FIG. 10 shows how the configuration data 410 is obtained from each element of the computing system 100. Each vendor of a different computing system element 100 typically provides an interface for reporting this information.

図11は、情報リソース管理ユニット400の部分である解析モデル410の図を示す。解析モデル410の目的は、性能インジケータを生成すること、および計算システム300で実行されているアプリケーションの性能を向上させるために、更新アプリケーションパラメータセット372(図13および図14)を生成することの両方である。   FIG. 11 shows a diagram of an analysis model 410 that is part of the information resource management unit 400. The purpose of the analytical model 410 is both to generate a performance indicator and to generate an updated application parameter set 372 (FIGS. 13 and 14) to improve the performance of applications running on the computing system 300. It is.

図12は、構成データ470ならびにCPU統計430、ネットワーク統計430、およびSAN統計440がどのように使用されて、解析モデル410が構築されるかを示す。解析モデルは、CPU411、ネットワーク412、およびSAN413のモデルを含み、追加の計算システム要素を含んでもよい。   FIG. 12 shows how the configuration data 470 and CPU statistics 430, network statistics 430, and SAN statistics 440 are used to build the analysis model 410. FIG. The analysis model includes models of CPU 411, network 412, and SAN 413, and may include additional computing system elements.

図13は、解析モデル410がどのように更新アプリケーションパラメータセット372を生成するかを示す。この新しいパラメータセットは計算システムに供給されて、システムで実行されているアプリケーション350が計算システムの要素をどのように使用するかを再構成する。目標は、システムの性能を向上させることである。   FIG. 13 shows how the analysis model 410 generates the updated application parameter set 372. This new parameter set is supplied to the computing system to reconfigure how the application 350 running on the system uses the elements of the computing system. The goal is to improve system performance.

図14は、更新アプリケーションパラメータ372がどのように使用されて、アプリケーション350によって使用されるアプリケーションパラメータセット370が更新されるかを示す。図14には、アプリケーションがCPU1 301で実行されて示されるが、アプリケーションは、システム302、303の任意のCPUまたはシステムネットワーク310もしくはSAN320内の任意の他の要素で実行されてもよい。   FIG. 14 shows how the update application parameters 372 are used to update the application parameter set 370 used by the application 350. Although FIG. 14 shows an application running on CPU 1 301, the application may run on any CPU in systems 302, 303 or any other element in system network 310 or SAN 320.

図15は、情報リソース管理ユニットが、いくつかのCPU統計442、ネットワーク統計452、およびSAN統計462を保持できることを示す。これらの記録は、通常、時間順に並べられ、システムのより長期の挙動を提供する。この記録セットは、計算システムで実行されている複数のアプリケーションについて生成される性能統計を表すこともできる。このより豊富な統計セットに再び解析モデル410を適用し、解析モデル410は次に、計算システムで実行されているアプリケーションデータ372を更新する。この技法を図16にさらに示す。   FIG. 15 illustrates that the information resource management unit can maintain several CPU statistics 442, network statistics 452, and SAN statistics 462. These records are usually arranged in chronological order, providing a longer term behavior of the system. This record set may also represent performance statistics generated for multiple applications running on the computing system. The analytical model 410 is again applied to this richer set of statistics, and the analytical model 410 then updates the application data 372 running on the computing system. This technique is further illustrated in FIG.

C.アプリケーションシステム負荷の管理−実施のさらなる詳細/例
以下の考察は、本発明の各種態様による実施態様の1つまたは複数の例に関するさらなる詳細を提供する。以下があくまでも例として提示され、本発明を、後述する特定の構造を必ずしも必要とせずに、異なる構成および実施形態で実行し実施することが可能なことが当業者には理解されるであろう。以下の考察は、以下のサブセクションに編成される。
C1.システムアーキテクチャ
C2.外部発見サブシステム
C3.発見エンジン
C. Application System Load Management-Further Details / Examples The following discussion provides further details regarding one or more examples of implementations according to various aspects of the invention. The following is presented by way of example only, and it will be understood by those skilled in the art that the present invention can be implemented and implemented in different configurations and embodiments without necessarily requiring the specific structure described below. . The following discussion is organized into the following subsections.
C1. System architecture C2. External discovery subsystem C3. Discovery engine

C1.システムアーキテクチャ
現在記載しているアーキテクチャは、包括的に、本明細書ではイベントレベルモニタ(ELM)と呼ばれる。ELMアーキテクチャは、以下のELM製品特徴をサポートする。すなわち、(1)データセンタ可視性、(2)ホットスポット検出、および(3)解析である。
C1. System Architecture The currently described architecture is generically referred to herein as an event level monitor (ELM). The ELM architecture supports the following ELM product features: That is, (1) data center visibility, (2) hot spot detection, and (3) analysis.

これらの機能をサポートするために、ELMアーキテクチャは以下の特徴を提供する。すなわち、構成/トポロジ発見、統計収集、統計計算、アプリケーション固有ストレージトポロジおよび統計、解析、ならびにアラーム・イベント生成である。   To support these functions, the ELM architecture provides the following features: Configuration / topology discovery, statistics collection, statistics calculation, application specific storage topology and statistics, analysis, and alarm event generation.

図17は、ELMアーキテクチャ600の例示的な実施形態の主要構成要素のブロック図を示す。図示の各構成要素についてこれより順に記載する。   FIG. 17 shows a block diagram of the major components of an exemplary embodiment of ELM architecture 600. Each illustrated component will be described in turn.

プラットフォーム610:プラットフォーム610は、IRM400が実行される土台および基本環境を提供する。   Platform 610: Platform 610 provides the foundation and basic environment in which IRM 400 is executed.

Linux 620:Linux OS620は低レベル機能をプラットフォームに提供する。   Linux 620: Linux OS 620 provides low level functionality to the platform.

構成要素タスクフレームワーク(CTF)630:構成要素タスクフレームワーク630は、共通のプリミティブおよびサービスの有用なセット、メッセージング、イベント、メモリ管理、ロギングおよびトレース、デバッグシェル、タイマ、同期、データ操作を提供し、ハッシュテーブル、リスト等を含む。   Component Task Framework (CTF) 630: Component Task Framework 630 provides a useful set of common primitives and services, messaging, events, memory management, logging and tracing, debug shells, timers, synchronization, and data manipulation Including a hash table, a list, and the like.

MySQL640:システムデータのリポジトリであるデータストア(DS)650が、MySQL640の一番上に構築される中央データベースに記憶される。   MySQL 640: A data store (DS) 650, which is a repository of system data, is stored in a central database built on top of MySQL 640.

データストア(DS)650:DS650は、発見された要素、その関係またはトポロジ、およびその統計を含む。   Data Store (DS) 650: The DS 650 includes discovered elements, their relationships or topology, and their statistics.

情報リソースマネージャ(IRM)400:情報リソースマネージャ(IRM)400は、上述したように、データセンタについての情報、トポロジ、および統計すべての収集を担う。   Information Resource Manager (IRM) 400: The information resource manager (IRM) 400 is responsible for collecting all information, topology, and statistics about the data center, as described above.

外部発見・収集(EDaC)700:外部発見・収集(EDaC)700は、さらに後述するように、データセンタの、サーバおよびストレージアレイ等の要素への接続をシステムに提供する構成要素である。特定の各種要素、例えばCLARiiONストレージアレイに対する通信の仕方を知っており、その特定の要素のトポロジを発見し、またはその特定の要素から統計を収集する。したがって、特定のアレイまたはサーバに対して別個のモジュールまたはコレクタを有する。各種の要素に対して、XMLで定義され、あらゆるコレクタが準拠する標準APIがある。   External Discovery and Collection (EDaC) 700: External Discovery and Collection (EDaC) 700 is a component that provides the system with connections to elements such as servers and storage arrays in the data center, as further described below. Know how to communicate with a particular element, eg CLARiiON storage array, discover the topology of that particular element, or collect statistics from that particular element. Thus, having a separate module or collector for a particular array or server. For various elements, there is a standard API that is defined in XML and that every collector conforms to.

発見エンジン660:発見エンジン660は、データセンタ要素、特にサーバおよびストレージアレイのトポロジの発見を行う。ユーザは、発見したいサーバまたはストレージアレイを入力する。発見エンジン660は、データストア650にアクセスして、ユーザが入力したサーバ、ネットワーク、およびストレージアレイのリストを得る。それぞれ1つごとに、発見エンジン660は、EDaC700にトポロジの取得を要求する。EDaC700は要素に問い合わせ、発見されたすべての情報、例えば、ストレージアレイのディスクを返す。次に、発見エンジン660は、この情報をデータストア650内に配置し、これらの関係を接続する。サーバの初回発見時、発見エンジン660は、統計マネージャ670にもそのサーバからの統計の収集を開始するように通知する。さらに、発見エンジン660は、デジタル計算システム300の要素を定期的に起こし、「再発見」もする。これにより、任意のトポロジ変更を発見することができる。   Discovery engine 660: Discovery engine 660 performs topology discovery of data center elements, particularly servers and storage arrays. The user enters the server or storage array that he wants to discover. The discovery engine 660 accesses the data store 650 to obtain a list of servers, networks, and storage arrays entered by the user. For each one, the discovery engine 660 requests the EDaC 700 to obtain a topology. The EDaC 700 queries the element and returns all found information, eg, storage array disks. The discovery engine 660 then places this information in the data store 650 and connects these relationships. At the first discovery of a server, discovery engine 660 also notifies statistics manager 670 to start collecting statistics from that server. In addition, the discovery engine 660 periodically wakes up and “rediscovers” elements of the digital computing system 300. Thereby, an arbitrary topology change can be found.

統計マネージャ670:統計マネージャ670は、コンピュータシステム要素、特にサーバからの統計の収集を行う。現在の製品では、統計はサーバからのみ収集されるが、これらの統計を使用して、他のデータセンタ要素についての統計も同様に導出される。統計マネージャ670には、発見エンジン660により、新しいサーバが発見されたときに通知される。統計マネージャ670は、次に、そのサーバを収集リストに追加する。統計マネージャ670は、定期的に起きて、収集リストに目を通す。収集リスト内の各サーバにつき、統計マネージャ670は、統計を集めるようにEDaC700に要求する。EDaC700は、サーバの統計を収集すると、これらの統計を統計マネージャ670に送信する。統計マネージャ670は、これらの統計を処理し、データストア650に挿入する。統計によっては、データストア650に変更なしで追加されるものもあれば、平均化等の何等かの単純な処理の後に追加されるものもあれば、完全に新しい統計を導出するより高度なアルゴリズムで処理されるものもある。   Statistics manager 670: Statistics manager 670 collects statistics from computer system elements, particularly servers. In current products, statistics are collected only from the server, but using these statistics, statistics for other data center elements are derived as well. The statistics manager 670 is notified by the discovery engine 660 when a new server is discovered. The statistics manager 670 then adds the server to the collection list. The statistics manager 670 periodically wakes up and looks through the collection list. For each server in the collection list, statistics manager 670 requests EDaC 700 to collect statistics. When the EDaC 700 collects server statistics, it sends these statistics to the statistics manager 670. The statistics manager 670 processes these statistics and inserts them into the data store 650. Some statistics are added to the data store 650 without change, others are added after some simple processing such as averaging, and more sophisticated algorithms that derive completely new statistics Some are processed by.

統計モニタ680:新しい統計が常に収集され計算される。これは、ユーザが時間を遡ってシステムで何か発生していたかを調べることができることを意味する。すべての統計はデータストア(DS)650に記憶される。記憶される統計としては、計算された統計ならびに収集された統計が含まれる。これにより、常に統計を表示に即座に利用できるようになる。   Statistics monitor 680: New statistics are always collected and calculated. This means that the user can go back in time to see what was happening in the system. All statistics are stored in a data store (DS) 650. Stored statistics include calculated statistics as well as collected statistics. This makes it possible to always use the statistics immediately for display.

統計モニタ680は、統計マネージャ670によって統計がデータストア650に入力されると、その配置された統計を監視し管理する。統計モニタ680内には、定期的に起きて、データストア650内の統計に対して異なるタスクを実行するいくつかのデーモンがある。こういったタスクとしては、サマリ統計の作成、例えば、収集された統計の時間統計への集計、ある統計の移動平均の計算、ある統計の閾値との比較およびイベントの生成、そして最終的に、閾値を超えた場合にはアラームの生成が含まれる。   The statistics monitor 680 monitors and manages the deployed statistics as the statistics are entered into the data store 650 by the statistics manager 670. Within statistics monitor 680 are a number of daemons that wake up periodically and perform different tasks on the statistics in data store 650. These tasks include the creation of summary statistics, for example, the aggregation of collected statistics into time statistics, the calculation of a moving average of a statistic, the comparison with a statistic threshold and the generation of an event, and finally Alarm generation is included when the threshold is exceeded.

計算され解析される異なる種類の統計がある。これらのうちのいくつかは以下を含む。   There are different types of statistics that are calculated and analyzed. Some of these include:

計算された統計:計算された統計は、収集された統計または他の計算された統計に対して計算を実行することによって作成される。計算は、加算のように単純であってもよく、または非線形曲線当てはめの実行のように複雑であってもよい。計算された統計は、収集された統計と同じ方法および同じ形式でDS650に記憶される。   Calculated statistics: Calculated statistics are created by performing calculations on collected statistics or other calculated statistics. The calculation may be as simple as an addition or as complex as performing a non-linear curve fit. The calculated statistics are stored in the DS 650 in the same manner and format as the collected statistics.

計算されたストレージ統計:すべてのストレージ統計がサーバLUNから収集される統計から導出されることに留意することが重要である。次に、発見されたサーバおよびストレージアレイのトポロジを使用して、他のストレージオブジェクト:サーバボリューム、ストレージアレイLUN、ASG、およびサブグループの統計が導出される。   Calculated storage statistics: It is important to note that all storage statistics are derived from statistics collected from the server LUN. The discovered server and storage array topology is then used to derive statistics for other storage objects: server volumes, storage array LUNs, ASGs, and subgroups.

収集および計算の頻度:統計収集は、システムが統計的に安定しているときの使用率を計算することができるように行われる。統計的な安定は、統計が変化しないことを意味するのではなく、むしろ、システムが同じ種類の作業または作業セットを期間にわたって行っていることを意味する。使用率の計算は一連のサンプルを必要とする。したがって、統計的に安定した期間での使用率を計算するには、一連のサンプルを短期間に収集しなければならない。しかし、著しい数のサーバの統計を高頻度で連続して収集することは、システムに大きすぎる負担をかける。上記要件/制約は、図18に示すように、バーストで統計を収集することによって満たされる。   Collection and calculation frequency: Statistics collection is performed so that the utilization can be calculated when the system is statistically stable. Statistical stability does not mean that the statistics do not change, but rather that the system is performing the same type of work or set of work over time. Utilization calculations require a series of samples. Therefore, a series of samples must be collected in a short period of time to calculate utilization over a statistically stable period. However, collecting statistics on a significant number of servers frequently and continuously places too much strain on the system. The above requirements / constraints are met by collecting statistics in bursts as shown in FIG.

パラメータは以下の意味を有する。
メジャー期間(Major Period) サンプルバースト間の時間。範囲は5〜60分である。
マイナー期間(Minor Period) バーストの各サンプル間の時間。範囲は1〜10秒である。
バースト マイナー期間レートで各メジャー期間でとられるサンプル数。範囲は1〜50サンプルである。
これらのパラメータはサーバ毎に可変である。したがって、1つのサーバについての統計をメジャー期間30分、マイナー期間10秒、およびバーストサイズ10で収集し、別のサーバについての統計を、メジャー期間15分、マイナー期間1秒、およびバーストサイズ25で収集することが可能である。使用率の計算に使用されない統計は、メジャー期間毎に1度の頻度で収集される。バーストで収集される統計は、使用率の計算にすぐに使用される。使用率計算の結果はDSに保存され、未処理のデータは破棄される。したがって、統計は、サーバ毎のメジャー期間毎に1度、DSに挿入される。
The parameters have the following meanings:
Major Period Time between sample bursts. The range is 5-60 minutes.
Minor Period Time between each sample in the burst. The range is 1-10 seconds.
The number of samples taken in each major period at the burst minor period rate. The range is 1-50 samples.
These parameters are variable for each server. Therefore, statistics for one server are collected with a major period of 30 minutes, a minor period of 10 seconds, and a burst size of 10, and statistics for another server are collected with a major period of 15 minutes, a minor period of 1 second, and a burst size of 25. It is possible to collect. Statistics that are not used to calculate utilization are collected at a frequency of once every major period. The statistics collected in bursts are used immediately in the utilization calculation. The result of the usage rate calculation is stored in the DS, and unprocessed data is discarded. Therefore, the statistics are inserted into the DS once every major period for each server.

サーバ統計計算頻度:サーバについてのすべての統計:CPU、メモリ、LUN、およびボリュームが同時に収集され計算される。これは、サーバのメジャーサンプルレートで行われる。   Server statistics calculation frequency: All statistics for the server: CPU, memory, LUN, and volume are collected and calculated simultaneously. This is done at the server's major sample rate.

アプリケーションストレージグループ/ストレージグループ統計計算頻度:特定の問題は、アプリケーションストレージグループ(ASG)およびストレージグループ(SG)の計算期間である。ASGおよびSGの統計は、異なるサーバから送信されたものであり得るサーバLUN統計から計算される。大概、これらのサーバLUN統計は異なる時間に、かつ潜在的に異なるレートで収集される。これは、ASG/SG統計をメジャーサンプル期間で計算できないことを意味する。各サーバLUNからの複数のサンプルを使用することができるように、ASG/SG統計をそれよりも低いあるレートで計算しなければならない。   Application storage group / storage group statistics calculation frequency: A particular problem is the calculation period of the application storage group (ASG) and storage group (SG). ASG and SG statistics are calculated from server LUN statistics that may have been sent from different servers. In general, these server LUN statistics are collected at different times and potentially at different rates. This means that ASG / SG statistics cannot be calculated in major sample periods. ASG / SG statistics must be calculated at a rate lower than that so that multiple samples from each server LUN can be used.

現在状態更新頻度:多くのオブジェクトは現在状態、履歴状態、および傾向状態を保持する。現在状態は比較的頻繁に計算されるが、メジャーサンプルレートよりも低い。   Current state update frequency: Many objects have a current state, a history state, and a trend state. The current state is calculated relatively frequently but is lower than the major sample rate.

履歴状態および傾向更新頻度:履歴状態および傾向はより長期のインジケータであり、より低い頻度で計算される。   History state and trend update frequency: History state and trend are longer term indicators and are calculated less frequently.

サマリ計算頻度:サマリは、データベース内の空間を節約するメカニズムである。サマリは、古いデータほど価値が低く、新しいデータと同じ粒度で見る必要がないという理論の下で動作する。   Summary calculation frequency: Summary is a mechanism that saves space in the database. The summary operates on the theory that older data is less valuable and does not need to be viewed at the same granularity as newer data.

発見頻度:発見は、環境についての比較的静的なデータを収集する。そのため、あまり頻繁に実行する必要はない。しかし、これは、任意の変更を素早く明らかしたいという要望とバランスをとる必要がある。   Discovery frequency: Discovery collects relatively static data about the environment. Therefore, it is not necessary to execute it very frequently. However, this needs to be balanced with the desire to quickly reveal any changes.

収集および計算の頻度のサマリ:図19に示す表は、収集および計算の頻度のサマリを提供する。すべての収集パラメータおよび計算パラメータが、変更可能なようにパラメータ化されるべきであることに留意する。   Collection and Calculation Frequency Summary: The table shown in FIG. 19 provides a summary of collection and calculation frequency. Note that all acquisition and calculation parameters should be parameterized so that they can be changed.

統計サマリ:図20〜図27に示す表は、本明細書において記載するELMシステムの統計のサマリを提供する。
図20−収集されたサーバ統計 サーバ統計はサーバから収集される。これらは、メジャーサンプル期間レートで頻繁に収集される動的統計である。
図21−収集されたサーバ属性 サーバ属性はサーバから収集される。これらは、発見レートであまり頻繁には収集されない比較的静的なパラメータである。
図22−記憶されたサーバ属性 サーバ属性はサーバから収集される。これらは、発見レートであまり頻繁には収集されない比較的静的なパラメータである。
図23−記憶されたサーバ現在統計 サーバ統計は収集されたサーバ統計から生成され、データベースに記憶される。これらのうちの1つは、サーバ毎のメジャーサンプル期間毎に生成されるべきである。
図24−サーバサマリ統計 サマリサーバ統計は、より短い期間からより長い期間までのサーバ統計の集計である。例えば、メジャー期間統計を日毎または週毎の統計にまとめることができる。
図25−記憶されたストレージ統計 様々なストレージオブジェクトの統計の記憶に使用される共通のストレージ統計がある。ストレージ統計が生成される頻度は、統計が生成されているオブジェクトに依存する。サーバボリューム−メジャーサンプル期間毎に1回、サーバLUN−メジャーサンプル期間毎に1回、アプリケーションストレージグループ−アプリケーションストレージグループ/ストレージグループ計算期間毎に1回、サブグループ−アプリケーションストレージグループ/ストレージグループ計算期間毎に1回。
図26−記憶されたストレージ統計 あらゆる統計があらゆるオブジェクトに対して有効であるわけではない。図26の表は、どの統計がどのオブジェクトに対して有効であるかを示す。
図27−記憶されたサマリストレージ統計 サマリストレージ統計は、より短い期間からより長い期間までのストレージ統計のまとめである。例えば、メジャー期間統計を日毎または週毎の統計にまとめることができる。
Statistical Summary: The tables shown in FIGS. 20-27 provide a statistical summary of the ELM system described herein.
Figure 20-Collected Server Statistics Server statistics are collected from the server. These are dynamic statistics that are frequently collected at major sample period rates.
Figure 21-Collected Server Attributes Server attributes are collected from the server. These are relatively static parameters that are not collected very often at the discovery rate.
FIG. 22-Stored Server Attributes Server attributes are collected from the server. These are relatively static parameters that are not collected very often at the discovery rate.
FIG. 23-Stored Server Current Statistics Server statistics are generated from the collected server statistics and stored in the database. One of these should be generated every major sample period per server.
FIG. 24-Server Summary Statistics Summary server statistics are a summary of server statistics from a shorter period to a longer period. For example, major period statistics can be combined into daily or weekly statistics.
FIG. 25-Stored Storage Statistics There is a common storage statistic that is used to store various storage object statistics. The frequency with which storage statistics are generated depends on the object for which the statistics are being generated. Server volume-once every major sample period, server LUN-once every major sample period, once per application storage group-application storage group / storage group calculation period, subgroup-application storage group / storage group calculation period Once every time.
Figure 26-Stored Storage Statistics Not all statistics are valid for every object. The table in FIG. 26 shows which statistics are valid for which objects.
FIG. 27-Stored Summary Storage Statistics Summary storage statistics are a summary of storage statistics from shorter to longer periods. For example, major period statistics can be combined into daily or weekly statistics.

解析:解析は、データストアに記憶されているデータ、主にトポロジおよび統計を使用して、システムに何が起こっているのかについてユーザに通知するか、またはシステムについての推奨を行う。解析は、データストア内のデータに対してルールエンジンによって実行されるルールセットとして、またはアプリケーションパラメータの調整に使用される解析モデルとして実施することができる。実行可能ないくつかの異なる種類の解析がある。これらは以下を含む。
アプリケーションポイントインタイム解析 ある時点でアプリケーションの性能はどうなっているか、およびリソースの使用を解析する。
アプリケーションデルタ時間解析 2つの時点間でアプリケーションの性能の何が変更されたか、およびリソースの使用を解析する。
アプリケーションストレージグループ解析 ある時点でのアプリケーションとストレージとの間のパスを解析して、そのパスがホットスポットであるか否か、およびそのパスに対してアプリケーション競合があるか否かを判断する。
ストレージプロビジョニング推奨 アプリケーションに対してより多くの物理ストレージをどこでプロビジョニングすべきかについて推奨を行う。
アプリケーション推奨 アプリケーションパラメータに対する変更を行う
Analysis: Analysis uses data stored in the data store, primarily topology and statistics, to inform the user about what is happening in the system or make recommendations about the system. The analysis can be implemented as a ruleset that is executed by the rules engine on the data in the data store or as an analysis model used to adjust application parameters. There are several different types of analysis that can be performed. These include:
Application point-in-time analysis Analyzes how an application is performing at a point in time and resource usage.
Application Delta Time Analysis Analyzes what has changed in application performance between two time points and resource usage.
Application Storage Group Analysis Analyzes a path between an application and storage at a certain point in time to determine whether the path is a hot spot and whether there is an application conflict with the path.
Storage provisioning recommendations Make recommendations on where to provision more physical storage for applications.
Application recommendation Make changes to application parameters

上記に加えて、既知のAPI実施に従って構築された各種API(アプリケーションプログラミングインタフェース)を様々なポイントおよびレイヤに提供して、システム設計者、管理者、または他が望むようにインタフェースを供給してよいことを当業者は理解するであろう。   In addition to the above, various APIs (application programming interfaces) built according to known API implementations may be provided to various points and layers to provide the interface as desired by the system designer, administrator, or others. Those skilled in the art will understand that.

C2.外部発見・収集サービス
これより、機器外部のリソースについてのすべての構成および統計へのアクセスを提供する上述した外部発見・収集(EDaC)サービスについてさらに詳細に記載する。EDaCサービスは、任意の外部リソースに要求をディスパッチすることを担う。図28は、EDaCサービス700の例示的な一実施形態に含まれる様々なコネクタを示す図である。各コネクタ730は、特定のリソースへのアクセスを提供する。
C2. External Discovery and Collection Service The above described external discovery and collection (EDaC) service that provides access to all configuration and statistics for resources external to the device will now be described in further detail. The EDaC service is responsible for dispatching requests to any external resource. FIG. 28 is a diagram illustrating various connectors included in an exemplary embodiment of an EDaC service 700. Each connector 730 provides access to specific resources.

担当リストは以下を含む。すなわち、(1)統計要求イベントをリッスンし、適切なコネクタに転送し、(2)発見要求イベントをリッスンし、適切なコネクタに転送し、かつ(3)発見要求を何等かのスケジュールですべてのコネクタに対して実行し、発見イベントを生成する。本発明のさらなる態様によれば、項目(3)の機能は情報リソースマネージャ(IRM)に移してもよい。   The charge list includes: (1) listen for and forward statistics request events to the appropriate connector; (2) listen for discovery request events and forward to the appropriate connector; and (3) send discovery requests on any schedule Run on the connector to generate a discovery event. According to a further aspect of the invention, the function of item (3) may be transferred to an information resource manager (IRM).

発見処理には2つの部分がある。すなわち、(1)装置を「見つけ」、(2)その装置の最も静的な構成を把握する。発見アルゴリズムは、何千もの装置を処理するのに十分な堅牢性を有さなければならない。完全な発見処理は数時間かかり得る。構成に関しては、以下のデータが、オブジェクトモデルにおいて発見および収集を達成するために必要である。
サーバ:IPアドレス、ログイン/パスワード、SSH/telnet、Solarisの場合、ポーリング間隔、および永続的接続
ストレージアレイ:管理サーバ、ログイン/パスワード、CLIへのパス、ポーリング間隔、永続的接続
アプリケーション:IPアドレス、ログイン/パスワード、サービス名、ポート、ポーリング間隔、永続的接続
There are two parts to the discovery process. That is, (1) “find” a device, and (2) grasp the most static configuration of the device. The discovery algorithm must be robust enough to handle thousands of devices. The complete discovery process can take several hours. Regarding configuration, the following data is needed to achieve discovery and collection in the object model.
Server: IP address, login / password, SSH / telnet, Solaris, polling interval and persistent connection Storage array: Management server, login / password, path to CLI, polling interval, persistent connection Application: IP address, Login / password, service name, port, polling interval, persistent connection

様々な周知のデータアクセスツールを本発明のこの態様と併せて利用することができ、構成可能アクセス方法を含む複数のアクセス方法を利用することができる。これらとしては、サーバへのtelnetアクセス、ODBC(DataDirect Technologies (Bedford, MA)市販のODBCライブラリを利用できる)を介するデータベースデータアクセス、SSH技法、および他の従来の技法が含まれ得る。   Various well-known data access tools can be utilized in conjunction with this aspect of the present invention, and multiple access methods can be utilized, including configurable access methods. These may include telnet access to the server, database data access via ODBC (available from the DataDirect Technologies (Bedford, MA) commercial OBBC library), SSH techniques, and other conventional techniques.

シーケンスイベントブローカ710が、EDaCコア720へのインタフェースを提供し、記載したコネクタ730を含む。   A sequence event broker 710 provides an interface to the EDaC core 720 and includes the connector 730 described.

Oracleデータベースコネクタ730aは、データベース構成およびデータベース統計の収集を担う。Oracleデータベースコネクタ730aはODBCライブラリ740を使用する。   The Oracle database connector 730a is responsible for database configuration and database statistics collection. The Oracle database connector 730a uses the ODBC library 740.

Windows(登録商標)サーバコネクタ730bおよびSolarisサーバコネクタ730cは、メモリの利用ならびにボリューム/LUNのマッピングおよび統計等のOSレベルデータの収集を担う。ボリューム/LUNマッピングを計算するために、設置されているボリュームマネージャならびにマルチパス製品の両方を把握する必要があり得る。それぞれの詳細、すなわちストライピング特性またはパス情報を把握する必要がない場合であっても、どのLUNがボリュームに関連するかを計算するためだけに、各製品から情報が必要になる可能性が高い。ELMをターゲットとする特定の製品を選ぶことができる。Solarisサーバコネクタ730cはSSHを使用する。SolarisのボリュームマネージャはVeritasおよびネイティブのものである。Windows(登録商標)サーバコネクタ730bはWMIライブラリ750を使用する。Windows(登録商標)のボリュームマネージャはネイティブのものであり、これはVeritasである。   The Windows (registered trademark) server connector 730b and the Solaris server connector 730c are responsible for memory usage and collection of OS level data such as volume / LUN mapping and statistics. In order to calculate volume / LUN mapping, it may be necessary to keep track of both the installed volume manager as well as the multipath product. Even if it is not necessary to know the details, ie striping characteristics or path information, it is likely that information will be needed from each product just to calculate which LUN is associated with the volume. A specific product targeting the ELM can be selected. The Solaris server connector 730c uses SSH. The Solaris volume manager is Veritas and native. The Windows (registered trademark) server connector 730 b uses the WMI library 750. The Windows® volume manager is native and is Veritas.

ストレージコネクタ730d、730e、および730fは、LUNの利用、性能、およびRAIDセット/ディスクへのマッピングの収集およびボックス760で包括的に表される他のデータの収集を担う。アレイ性能統計はELMには必要ない。   Storage connectors 730d, 730e, and 730f are responsible for collecting LUN utilization, performance, and mapping to RAID sets / disks and other data that is comprehensively represented in box 760. Array performance statistics are not required for ELM.

CLARiiONストレージコネクタ730dに関しては、NaviCLIがCLARiiONへのリッチCLIインタフェースである。これは、データをxmlで返すことができる。性能統計はCLARiiONに対してイネーブルし、CLIを通して検索することができる。CLIをASCにインストールすることも可能である。CLIに顧客サーバのうちの1つからSSH780を通してアクセスする可能性が高い。いくらかのデータは、telnetによってCLARiiONに直接提供されもする。   For CLARiiON storage connector 730d, Navi CLI is a rich CLI interface to CLARiiON. This can return the data in xml. Performance statistics are enabled for CLARiiON and can be retrieved through the CLI. It is also possible to install CLI on ASC. It is likely that the CLI will be accessed through SSH 780 from one of the customer servers. Some data is also provided directly to CLARiiON by telnet.

Dothillストレージコネクタ730eに関しては、DothillはホストベースCLIも有する。データをxmlで返すことができる。Dothillは性能統計へアクセスを提供しない。アクセス問題は、CLARiiON CLIの場合と同じである。いくらかのデータは、telnetによってDothillに直接提供されもする。   For Dothill storage connector 730e, Dothill also has a host-based CLI. Data can be returned in xml. Dothill does not provide access to performance statistics. The access problem is the same as in CLARiiON CLI. Some data is also provided directly to Dothill by telnet.

適したHPストレージコネクタ730fも提供される。   A suitable HP storage connector 730f is also provided.

ボックス730gで表されるように、現在記載しているシステムは、以下の要素、すなわち、CIM/WBEM/SMI−Sアクセス、SNMPアクセス、ファブリックコネクタ、外部SRMコネクタ、リモートプロクシ/エージェント、構成を変更するイベントを含めるように変更し拡張することができる。さらに、1つのWindows(登録商標)エージェントが、「Windows(登録商標)ワールド」へのゲートウェイとして機能することができ、WMIおよびODBCとよりシームレスに統合する。こういった将来のアクセスツールはボックス770によって表される。   As represented by box 730g, the currently described system changes the following elements: CIM / WBEM / SMI-S access, SNMP access, fabric connector, external SRM connector, remote proxy / agent, configuration Can be modified and expanded to include events. In addition, a single Windows agent can act as a gateway to the “Windows world” and integrates more seamlessly with WMI and ODBC. These future access tools are represented by box 770.

C3.発見エンジン
上で触れた発見エンジンについて、さらに詳細にこれより記載する。発見エンジン(DE)は、情報リソースマネージャ(IRM)に常駐する。発見エンジンは、ユーザによってデータストア(DS)に入れられたサーバおよびストレージアレイの定期的なトポロジ発見の開始を担う。これは、上述した外部発見・収集(EDaC)モジュールと併せてこれを行う。
C3. Discovery Engine The discovery engine mentioned above is described in more detail below. The discovery engine (DE) resides in an information resource manager (IRM). The discovery engine is responsible for initiating periodic topology discovery of servers and storage arrays entered into the data store (DS) by the user. This is done in conjunction with the external discovery and collection (EDaC) module described above.

DEは、メッセージキューからのメッセージを処理する主ループの周囲に構築される。これらのメッセージとしては以下が含まれる。
発見タイマイベント このイベントは完全な発見処理を開始する。
発見完了イベント これらは、DEによってEDaCに元々送信され、今では、EDaCがサーバまたはストレージアレイのすべての発見イベントを生成した後、EDaCによって返されているストレージアレイトポロジ発見イベントおよびサーバトポロジ発見イベントである。これらのイベントは、トポロジ発見がサーバまたはストレージアレイに対して完了したことを示す。
オブジェクト発見イベント EDaCは、サーバまたはストレージアレイのトポロジを決定する処理において発見した各オブジェクトの発見イベントを生成する。例えば、EDaCは、サーバのトポロジの決定を要求された場合、サーバ、サーバFCポート、サーバボリューム、およびサーバLUNの各発見イベントを生成する。
The DE is built around the main loop that processes messages from the message queue. These messages include the following:
Discovery timer event This event initiates a complete discovery process.
Discovery Complete Events These were originally sent by EDaC to DEaC and are now storage array topology discovery events and server topology discovery events returned by EDaC after EDaC has generated all discovery events for the server or storage array. is there. These events indicate that topology discovery is complete for the server or storage array.
Object Discovery Event EDaC generates a discovery event for each object found in the process of determining the server or storage array topology. For example, when EDaC is requested to determine the topology of a server, it generates discovery events for a server, a server FC port, a server volume, and a server LUN.

主ループは単純に、メッセージキュー上で処理する次のメッセージを待つことができる。   The main loop can simply wait for the next message to process on the message queue.

発見タイマイベント:DEは構成要素タスクフレームワーク(CTF)を使用して、発見間隔タイマを設定する。タイマが切れた場合、CTFはメッセージを生成し、DEのメッセージキューに送出する。これは、DEに、発見処理を開始する時間であることを通知する。   Discovery timer event: The DE uses the component task framework (CTF) to set the discovery interval timer. If the timer expires, the CTF generates a message and sends it to the DE message queue. This notifies the DE that it is time to start the discovery process.

発見タイマイベントは、DEにN個の初期発見サーバトポロジイベントまたは発見ストレージアレイトポロジイベントを並列に開始させる。Nは任意の数である。トポロジを発見するサーバまたはストレージアレイがなくなるまで、常にN個の未処理の発見トポロジイベントがあることになる。   The discovery timer event causes the DE to initiate N initial discovery server topology events or discovery storage array topology events in parallel. N is an arbitrary number. There will always be N outstanding discovery topology events until there are no servers or storage arrays to discover the topology.

サーバまたはストレージアレイ発見完了イベント:サーバまたはサーバアレイ発見完了イベントは、実際には、EDaCがそのオブジェクトに対する発見を完了した後、DEに返されたサーバトポロジ発見イベントまたはストレージアレイトポロジ発見イベントである。   Server or storage array discovery completion event: A server or server array discovery completion event is actually a server topology discovery event or storage array topology discovery event returned to the DE after EDAC has completed discovery for that object.

発見完了イベント処理:この処理ステップは以下の通りである。
1.DEがDSに、オブジェクトトポロジ発見中に発見されなかった既存の任意の記録、例えばサーバLUNか否かを見つけるように問い合わせる。DSは、発見タイムスタンプが現在の記録のものと同じではないすべての記録にクエリを作成することによってこれを行う。
2.タイムスタンプが一致しない各記録について、失われたイベント、例えば、サーバボリュームロストイベントが生成され送信される。
3.発見すべきサーバまたはストレージアレイがまだある場合、次のものがDSから検索され、それに対するトポロジ発見イベントがEDaCに送信される。
4.発見すべきサーバまたはストレージアレイがもうない場合、発見は完了し、発見間隔タイマが再開される。
Discovery completion event processing: This processing step is as follows.
1. The DE queries the DS to find out if there is any existing record that was not found during the object topology discovery, eg, server LUN. The DS does this by creating a query for all records where the discovery timestamp is not the same as that of the current record.
2. For each record that does not match the time stamp, a lost event, eg, a server volume lost event, is generated and transmitted.
3. If there are more servers or storage arrays to discover, the next one is retrieved from the DS and a topology discovery event for it is sent to EDaC.
4). If there are no more servers or storage arrays to discover, discovery is complete and the discovery interval timer is restarted.

オブジェクト発見イベント:トポロジ発見イベントを受信すると、EDaCは、トポロジについてサーバまたはストレージアレイに問い合わせる。トポロジは記録セットからなる。EDaCは、現在のイベントに対する発見イベントセットを生成する。発見イベントが特定の順序で行われることが重要である。   Object Discovery Event: Upon receiving a topology discovery event, EDaC queries the server or storage array for topology. The topology consists of a record set. EDaC generates a discovery event set for the current event. It is important that discovery events occur in a specific order.

サーバトポロジ発見イベント:サーバ発見イベント、サーバFCポート発見イベント、サーバボリューム発見イベント、サーバLUN発見イベント。   Server topology discovery event: Server discovery event, server FC port discovery event, server volume discovery event, server LUN discovery event.

ストレージアレイトポロジ発見イベント:ストレージアレイ発見イベント、ストレージアレイFCポート発見イベント、ストレージアレイディスク発見イベント、ストレージアレイLUN発見イベント。   Storage array topology discovery event: storage array discovery event, storage array FC port discovery event, storage array disk discovery event, storage array LUN discovery event.

各発見イベントには、その発見のタイムスタンプが含まれる。タイムスタンプはEDaCによって挿入される。特定のストレージアレイまたはサーバについての各発見イベントは同じタイムスタンプ値を有する。   Each discovery event includes a time stamp of the discovery. The time stamp is inserted by EDaC. Each discovery event for a particular storage array or server has the same timestamp value.

発見処理:この処理ステップは以下の通りである。
1.DEがデータストアに問い合わせて、記録がすでに存在するか否かを判断する。
2.記録がすでに存在する場合、記録関係が検証され、発見タイムスタンプが更新される。
3.記録がDS内に存在しない場合、他の記録に対する関係と共に記録が作成される。したがって、このステップでの処理は特に、発見中の記録に対するものである。
4.「記録発見」イベントが作成され、ログに記憶される。
Discovery process: This process step is as follows.
1. The DE queries the data store to determine whether a record already exists.
2. If the record already exists, the record relationship is verified and the discovery timestamp is updated.
3. If a record does not exist in the DS, a record is created with a relationship to other records. Therefore, the processing at this step is especially for the record under discovery.
4). A “record found” event is created and stored in the log.

D.アプリケーションシステム負荷の管理−一般的な方法
図29Aは、デジタル計算システムで実行されている複数のアプリケーションの実行を最適化する一般的な方法800のフローチャートである。この方法は、有利なことに、少なくとも1つの中央演算処理装置(CPU)と、CPUがデジタル計算システムの他の要素と通信可能にするように動作可能なネットワークと、少なくとも1つのストレージ装置を含み、少なくとも1つのCPUと通信するように動作可能なストレージエリアネットワーク(SAN)とを含むネットワーク化されたデジタル計算システムで実施することができる。計算システムは、少なくとも1つのアプリケーションプログラムを実行するように動作可能であり、少なくとも1つのアプリケーションプログラムは、アプリケーションプログラムの実行を制御するように調整可能なアプリケーションパラメータを有する。
D. Application System Load Management—General Method FIG. 29A is a flowchart of a general method 800 for optimizing the execution of multiple applications running on a digital computing system. The method advantageously includes at least one central processing unit (CPU), a network operable to allow the CPU to communicate with other elements of the digital computing system, and at least one storage device. Can be implemented in a networked digital computing system including a storage area network (SAN) operable to communicate with at least one CPU. The computing system is operable to execute at least one application program, the at least one application program having application parameters that are adjustable to control execution of the application program.

本発明による例示的な方法をボックス801〜803に示す。   An exemplary method according to the present invention is shown in boxes 801-803.

ボックス801:デジタル計算システムの要素と通信するように動作可能な情報リソースマネージャ(IRM)を利用して、計算システムの動作および計算システム内で利用可能なリソースに関する性能情報を取得し、少なくとも1つのCPU、ネットワーク、およびSANと通信して、そこから性能情報および構成情報を取得する。本書の他のどこかに記したように、性能情報および構成情報は、デジタル計算システム内の任意のCPU、ネットワーク、またはストレージ装置からのものであってよい。情報は、I/Oまたは他のコマンドをデジタル計算システムの少なくとも1つの要素に発行することによって取得することができる。IRMは、デジタル計算システム内の離散モジュールであってもよく、または計算システムサブシステムもしくはSAN内のストレージネットワークファブリックサブシステム内のモジュールとして実施されてもよい。   Box 801: Utilizing an Information Resource Manager (IRM) operable to communicate with elements of a digital computing system, obtain performance information regarding the operation of the computing system and resources available within the computing system, and at least one Communicate with the CPU, network, and SAN to obtain performance information and configuration information therefrom. As noted elsewhere in this document, the performance information and configuration information may be from any CPU, network, or storage device in the digital computing system. Information can be obtained by issuing I / O or other commands to at least one element of the digital computing system. The IRM may be a discrete module in a digital computing system or may be implemented as a module in a computing system subsystem or a storage network fabric subsystem in a SAN.

ボックス802:性能情報および構成情報を利用して、解析モデル出力を生成し、解析モデル出力は性能統計および更新アプリケーションパラメータのうちの任意のものを含む。本書の他のどこかに記したように、本発明は、キューイング理論を利用して、ストレージシステムまたはサブシステムがサポートできる負荷の程度を決定することができる。   Box 802: Utilizing performance information and configuration information to generate an analysis model output, where the analysis model output includes any of performance statistics and updated application parameters. As noted elsewhere in this document, the present invention can utilize queuing theory to determine the degree of load that a storage system or subsystem can support.

ボックス803:解析モデル出力を利用して、更新アプリケーションパラメータ値を決定し、更新アプリケーションパラメータ値を、デジタル計算システムで実行されている少なくとも1つのアプリケーションに送信し、アプリケーションは更新アプリケーションパラメータ値を使用してアプリケーションパラメータを設定し、それにより、更新実行時パラメータを使用して、デジタル計算システムで実行されている複数のアプリケーションの実行を最適化する。本書の他のどこかに記したように、この方法は負荷値、例えば、キューイング理論を使用して決定された負荷値を利用して、所与のアプリケーションのパラメータ値を決定することができる。この方法は、更新アプリケーションパラメータ値を決定する際に、いくつかのアプリケーション固有パラメータ、例えば、コストベース最適化(CBO)パラメータを考慮することを含むこともできる。   Box 803: Utilizing the analysis model output to determine an updated application parameter value and sending the updated application parameter value to at least one application running on the digital computing system, where the application uses the updated application parameter value. Application parameters, thereby using update runtime parameters to optimize the execution of multiple applications running on the digital computing system. As noted elsewhere in this document, this method can use load values, eg, load values determined using queuing theory, to determine parameter values for a given application. . The method may also include taking into account a number of application specific parameters, such as cost based optimization (CBO) parameters, in determining the updated application parameter value.

図29Bは、図29Aの方法800を繰り返して、または他の様式でどのように続けて実行することができるかを示し、動作中にストレージシステムの性能を引き続きプロファイリングし、それにより、一連の時間ベースのサンプルを収集すること(804)、時間ベースのサンプルに応答して更新プロファイルを生成すること(805)、および更新プロファイルに応答して、所与のアプリケーションが実行される際に、更新アプリケーションパラメータセットを送信すること(806)によって含む。本書の他の部分に記したように、この方法は、システムが連続して性能状態の性能遷移に適応しないように、アプリケーションパラメータ更新の頻度を抑制制御する、選択された程度を提供することを含むことができる。この方法は、発見インタフェースを介してデジタル計算システムの個々の要素と直接通信することを含むこともできる(図29Bと図29Aとの例示的な対応性が各図の点「A」と「B」を介して示される)。   FIG. 29B shows how the method 800 of FIG. 29A can be repeated or otherwise performed in a continuous manner to continue profiling storage system performance during operation, thereby providing a sequence of time Collecting a sample of a base (804), generating an update profile in response to a time-based sample (805), and an update application when a given application is executed in response to the update profile Including by sending (806) the parameter set. As noted elsewhere in this document, this method provides a selected degree of control over the frequency of application parameter updates so that the system does not continuously adapt to performance transitions in performance states. Can be included. The method may also include communicating directly with the individual elements of the digital computing system via the discovery interface (the exemplary correspondence between FIG. 29B and FIG. 29A is the points “A” and “B” in each figure. ”).

図30は、本書の他の部分の考察により、本発明による方法810を、複数のアプリケーションがネットワーク、ストレージ、または他のリソースを共有している環境内でどのようにさらに実施できるかを示し、競合するアプリケーション作業負荷の影響を決定し、それを考慮に入れるように解析モデルを調整すること(811)、改良されたリソース共有に役立つように複数のパラメータ値セットを調整すること(812)、および必要に応じて、あるアプリケーション、そのI/O要求、または他の側面を別のアプリケーション、そのI/O要求、または他の側面よりも優先するように、パラメータ値を調整することによって含む。   FIG. 30 illustrates how, in consideration of other parts of this document, the method 810 according to the present invention can be further implemented in an environment where multiple applications share a network, storage, or other resource; Determining the impact of competing application workloads and adjusting the analysis model to take them into account (811), adjusting multiple parameter value sets to help improve resource sharing (812), And optionally by adjusting parameter values to prioritize one application, its I / O requests, or other aspects over another application, its I / O requests, or other aspects.

E.アプリケーションシステムストレージリソースのマルチレベルマッピング
米国特許出願第11/773825号(AKR−110−US)において考察されたものと同様の1つまたは複数のデジタルストレージ環境について上述したが、次に、本発明の態様、実施形態、および例についてのさらに詳細な説明に進む。本願は、米国特許出願第11/773825号の一部継続出願(CIP)である。米国特許出願第11/773825号(AKR−110−US)において記載されているデジタル処理、計算、またはストレージ環境が、本発明を実施することができる処理環境の例のうちのいくつかにすぎないことを当業者は理解するとともに、本発明を上述した、かつ米国特許出願第11/773825号(AKR−110−US)において記載される環境以外の環境で実施してもよいことも理解するであろう。
E. Multi-level mapping of application system storage resources While one or more digital storage environments similar to those discussed in US patent application Ser. No. 11 / 773,825 (AKR-110-US) have been described above, the present invention will now be described. Proceed to a more detailed description of the aspects, embodiments, and examples. This application is a continuation-in-part (CIP) of US patent application Ser. No. 11 / 773,825. The digital processing, computing, or storage environment described in US patent application Ser. No. 11 / 773,825 (AKR-110-US) is only some of the examples of processing environments in which the present invention can be implemented. Those skilled in the art will appreciate that the present invention may be practiced in environments other than those described above and described in US patent application Ser. No. 11 / 773,825 (AKR-110-US). I will.

特に、本発明の態様は、アプリケーションにシステムリソースを効率的にマッピングするように動作可能な方法、システム、装置、およびコンピュータプログラムコード(ソフトウェア)製品、ならびに係る方法およびシステムを利用する改良されたストレージプラットフォームおよびアーキテクチャを提供する。このマッピングの基礎は、アプリケーションリソースグループ(ARG)の定義であり、ARGは、アプリケーションに関連するサーバ、バスアダプタ、ボリューム、論理ユニット番号(LUN)、ネットワークスイッチ、ディスクコントローラ、およびディスクについての完全な情報を提供する。   In particular, aspects of the present invention provide methods, systems, apparatus, and computer program code (software) products operable to efficiently map system resources to applications, and improved storage utilizing such methods and systems. Provide platform and architecture. The basis for this mapping is the definition of an application resource group (ARG), which is a complete set of applications, servers, bus adapters, volumes, logical unit numbers (LUNs), network switches, disk controllers, and disks. Provide information.

本発明の現在記載している態様について、ストレージエリアネットワーク(SAN)インフラストラクチャアーキテクチャに関して記載する。しかし、記載されるシステムおよび技法の態様を他の計算環境で実施してもよいことが理解されるであろう。   The presently described aspects of the present invention will be described with respect to a storage area network (SAN) infrastructure architecture. However, it will be appreciated that aspects of the described systems and techniques may be implemented in other computing environments.

ストレージエリアネットワーク(SAN)は、ディスクドライブアレイ等のリモートコンピュータストレージ装置を、オペレーティングシステムにとって装置がローカルに取り付けられているように見えるようにホストサーバに取り付けられるようにするアーキテクチャである。   A storage area network (SAN) is an architecture that allows a remote computer storage device, such as a disk drive array, to be attached to a host server so that the operating system appears to be attached locally.

図31は、いくつかの異なるレベルでのSANインフラストラクチャの例示的なマッピングを示す表1000である。表の1列目1001には以下の定義レベルが列挙される。
1001a−サーバレベル
1001b−バスアダプタレベル
1001c−ネットワークスイッチレベル
1001d−ディスクコントローラレベル
1001e−ディスクレベル
FIG. 31 is a table 1000 illustrating an example mapping of a SAN infrastructure at several different levels. The following definition levels are listed in the first column 1001 of the table.
1001a-server level 1001b-bus adapter level 1001c-network switch level 1001d-disk controller level 1001e-disk level

表の2列目1002には、各定義レベルに対応する以下の定義グループが列挙される。
1002a−サーバレベルに対応するアプリケーションサーバグループ(ASerG)
1002b−バスアダプタレベルに対応するアプリケーションアダプタグループ(AAG)
1002c−ネットワークスイッチレベルに対応するアプリケーションスイッチグループ(ASwG)
1002d−ディスクコントローラレベルに対応するアプリケーションコントローラグループ(ACG)
1002e−ディスクレベルに対応するアプリケーションストレージグループ(ASG)
The second column 1002 of the table lists the following definition groups corresponding to each definition level.
1002a—Application server group (ASerG) corresponding to server level
1002b-Application adapter group (AAG) corresponding to the bus adapter level
1002c—Application switch group (ASwG) corresponding to network switch level
1002d-Application Controller Group (ACG) corresponding to disk controller level
1002e—Application Storage Group (ASG) corresponding to disk level

表の列1003に示すように、各レベル1001a−eおよびグループ1002a−eは、例示的なインフラストラクチャアーキテクチャの各要素の1つまたは複数のサブセットに対応する。
1003a−アプリケーション(APP)
1003b−サーバ(SERV)
1003c−バスアダプタ(BA)
1003d−ボリューム(VOL)
1003e−論理ユニット番号(LUN)
1003f−スイッチ(SW)
1003g−コントローラ(CTLR)
1003h−ディスクアレイ(DISK)
As shown in table column 1003, each level 1001a-e and group 1002a-e correspond to one or more subsets of each element of the exemplary infrastructure architecture.
1003a-Application (APP)
1003b-Server (SERV)
1003c-Bus adapter (BA)
1003d-Volume (VOL)
1003e-Logical unit number (LUN)
1003f-switch (SW)
1003g-Controller (CTLR)
1003h-Disk array (DISK)

一般的に言えば、各グループ1002a−eはその名称が付けられた要素と、アプリケーション1003aまでのすべての「上流」要素とを含む。したがって、例えば、アプリケーションスイッチグループ(ASwG)は、スイッチ(SW)と、スイッチの上流にある要素、すなわち、論理ユニット番号(LUN)、ボリューム(VOL)、バスアダプタ(BA)、サーバ(SERV)、およびアプリケーション(APP)とを含む。後述する各グループの特定のインフラストラクチャ要素の選択を図32〜図37に示す。   Generally speaking, each group 1002a-e includes its named element and all “upstream” elements up to the application 1003a. Thus, for example, the application switch group (ASwG) includes a switch (SW) and elements upstream of the switch, that is, a logical unit number (LUN), a volume (VOL), a bus adapter (BA), a server (SERV), And application (APP). The selection of specific infrastructure elements for each group described below is shown in FIGS.

さらに、本発明の現在記載している態様は、サブグループ1002fの定義をさらに提供する。表1000では、例示的なサブグループ1002が、アプリケーションストレージグループ(ASG)内の個々のLUNについてのより詳細な情報を提供するものとして定義され、LUNと、SANスイッチ1003f、コントローラ1003g、およびディスクアレイ1003hを含む「下流」要素とを含む。後述するサブグループの特定のインフラストラクチャ要素の選択を図38、図39A、および図39Bに示す。   Furthermore, the presently described aspects of the invention further provide a definition of subgroup 1002f. In table 1000, an exemplary subgroup 1002 is defined as providing more detailed information about individual LUNs in an application storage group (ASG), including LUNs, SAN switches 1003f, controllers 1003g, and disk arrays. And “downstream” elements including 1003h. The selection of specific infrastructure elements for the subgroups described below is shown in FIGS. 38, 39A, and 39B.

このアプリケーション−ストレージシステムのマッピングのより完全な知識に基づいて、アプリケーションに関連するシステムリソースをより制約の小さいシステムリソースにリマッピングまたは再構成して、システム内の性能ボトルネックを除去することができる。これらの特徴および要素のそれぞれについてさらに詳細に後述する。   Based on this more complete knowledge of application-storage system mapping, system resources associated with the application can be remapped or reconfigured to less constrained system resources to eliminate performance bottlenecks in the system. . Each of these features and elements is described in further detail below.

本発明は、ストレージシステム内に記憶されているデータにアクセスする際に、アプリケーションの性能に影響を及ぼし得る他のリソース(すなわち、サーバ、ネットワークスイッチ、ディスクコントローラ、ディスク)を識別するために、データパスを発見する能力を利用する。本発明は、複数のアプリケーションがストレージシステム内の要素を共有しているときをユーザが明確に識別できるようにする。   The present invention uses data to identify other resources (ie, servers, network switches, disk controllers, disks) that can affect the performance of an application when accessing data stored in a storage system. Take advantage of the ability to find paths. The present invention allows a user to clearly identify when multiple applications share elements in the storage system.

本発明は、エージェントレスの方法の組み合わせを利用して、ARGトポロジを発見する。これらの方法は、既存のAPIおよびオペレーティングシステムユーティリティを利用して、サーバ、スイッチ、アダプタ、およびディスクインタフェースにおいてトポロジマッピング情報を捕捉することを含む。   The present invention uses a combination of agentless methods to discover the ARG topology. These methods include capturing topology mapping information at server, switch, adapter, and disk interfaces utilizing existing APIs and operating system utilities.

これとは対照的に、初期の一技法は、トポロジを発見できるようにアプリケーションに接続することに依存するエージェントベースの手法を使用する。この技法は、著しいオーバーヘッドをシステムにもたらし、潜在的に、実行中のアプリケーションの挙動に影響を及ぼし得る。   In contrast, one early technique uses an agent-based approach that relies on connecting to an application so that the topology can be discovered. This technique introduces significant overhead to the system and can potentially affect the behavior of running applications.

本発明はこれらの問題を実質的に回避する。本発明は、アプリケーションとストレージシステムとのストレージシステムマッピングおよびデータパスの両方の完全な知識を利用することによってアプリケーションの信頼性またはセキュリティを向上させるように容易に拡張することも可能である。   The present invention substantially avoids these problems. The present invention can also be easily extended to improve application reliability or security by taking full knowledge of both storage system mapping and data paths between applications and storage systems.

ストレージシステム性能の管理に使用される従来の方法は、アプリケーションまたはストレージシステムのいずれかのみに焦点を合わせ、これらの2つの関係を考慮しない。システムの制限されたビューを利用することに伴ういくつかの問題としては、
(1)問題が往々にして誤診断されることがあるとともに、アプリケーションボトルネック、例えばサーバメモリ使用率、またはストレージシステムボトルネック、例えば、ディスクコントローラ接続のいずれかまたは両方に起因し得ること、
(2)共有されるアプリケーションサーバ、ネットワークスイッチ、またはストレージサブシステムを利用する複数のアプリケーションまたは複数のサーバを同時に管理することが殆ど考慮されていないこと、および
(3)ストレージ、ネットワーク、およびサーバの仮想化技法が、アプリケーションとシステムリソースとの間にさらなるレベルの抽象を追加し得、性能の帰属をさらに難しくすること
が挙げられる。
Conventional methods used to manage storage system performance focus only on either the application or the storage system and do not consider these two relationships. Some issues with using a limited view of the system include:
(1) problems can often be misdiagnosed and can be due to either or both of application bottlenecks, such as server memory usage, or storage system bottlenecks, such as disk controller connections,
(2) Little consideration is given to managing multiple applications or servers using shared application servers, network switches, or storage subsystems simultaneously; and (3) Storage, network, and server It can be mentioned that virtualization techniques can add a further level of abstraction between applications and system resources, making performance attribution more difficult.

本発明は、すべてのシステムリソースおよびパスを個々のアプリケーションに結び付けるモデルを定義する。本発明はストレージ装置(すなわち、個々のディスクスピンドル)の観点から元の個々のアプリケーションへのマッピングを定義する。本発明の主要要素は、ストレージシステム内の任意の競合ポイントに関連するアプリケーションセットを容易に識別可能なことである。   The present invention defines a model that links all system resources and paths to individual applications. The present invention defines a mapping to the original individual application from the perspective of the storage device (ie, individual disk spindle). A key element of the present invention is the ability to easily identify the application set associated with any contention point in the storage system.

本発明は、アプリケーションとサポートしているストレージシステムとの動的に変更するマッピングを捕捉することにより、ストレージサブシステム情報を取得する能力を含む。この情報は、ストレージシステムおよびアプリケーションを定期的にプロービングして、マッピングへのあらゆる変更を追跡することによって取得することができる。   The present invention includes the ability to obtain storage subsystem information by capturing dynamically changing mappings between applications and supporting storage systems. This information can be obtained by periodically probing the storage system and application to track any changes to the mapping.

F.マルチレベルマッピングの実施形態
以下の考察には、本発明の開示の理解を提供し、本発明の開示を可能にする多くの特定の詳細を記す。本発明をこれらの特定の詳細なしで実施してもよいことを当業者は理解するであろう。場合によっては、周知の方法、手続き、構成要素、プロトコル、アルゴリズム、および回路については、本発明を曖昧にしないように詳細に記載されていない。
F. Multi-level Mapping Embodiments The following discussion provides a number of specific details that provide an understanding of the present disclosure and enable the present disclosure. Those skilled in the art will appreciate that the invention may be practiced without these specific details. In some instances, well known methods, procedures, components, protocols, algorithms, and circuits have not been described in detail so as not to obscure the present invention.

上記考察には、ストレージリソースをこれらのリソースを利用するアプリケーションにマッピングする必要性について記載した。以下の考察には、添付の図面と併せて、システムリソースをアプリケーションに効率的にマッピングするように動作可能な本発明の実施態様について記載する。   The above discussion described the need to map storage resources to applications that use these resources. The following discussion describes embodiments of the present invention that are operable to efficiently map system resources to applications in conjunction with the accompanying drawings.

これより図32を参照すると、図32には、以下の要素を含むコンピュータシステムインフラストラクチャ1010の一例が示される。すなわち、
2つのアプリケーションサーバ1011および1012、
3つのアプリケーション1100、1110、および1120、
2つのバスアダプタ1200および1210、
4つのストレージボリューム1300、1310、1320、および1330、
5つのサーバLUN1301、1311、1321、1322、および1331、
1つのネットワークスイッチ1400、
3つのディスクコントローラ1500、1510、および1520、ならびに
3つのディスクグループ1501、1511、および1521
である。
Referring now to FIG. 32, FIG. 32 illustrates an example computer system infrastructure 1010 that includes the following elements. That is,
Two application servers 1011 and 1012,
Three applications 1100, 1110, and 1120,
Two bus adapters 1200 and 1210,
Four storage volumes 1300, 1310, 1320 and 1330,
Five server LUNs 1301, 1311, 1321, 1322, and 1331,
One network switch 1400,
Three disk controllers 1500, 1510 and 1520, and three disk groups 1501, 1511 and 1521
It is.

図示のシステムの基盤をなすハードウェア要素(例えば、基盤をなすサーバ、バスアダプタ、ストレージボリューム、サーバLUN、ネットワークスイッチ、ディスクコントローラ、およびディスクグループ)ならびにアプリケーションは、一般に従来の性質のものであってよく、市販の製品を使用して当業者によって実施することができる。   The hardware elements (eg, underlying server, bus adapter, storage volume, server LUN, network switch, disk controller, and disk group) and applications that form the basis of the illustrated system are generally of a conventional nature. Well, it can be performed by one skilled in the art using commercially available products.

図32が例示的なものであり、本記載のために提供されることに留意されたい。例えば、上述したように、実際のSANには、何百もの、さらには何千ものLUNがあり得る。特定のネットワークを別様に構成してもよく、または特定のネットワークが異なる要素を含んでもよい。現在記載しているシステムおよび技法の態様も同様にそれらの文脈の中で適用してもよいことが理解されるであろう。   Note that FIG. 32 is exemplary and is provided for the purposes of this description. For example, as described above, an actual SAN can have hundreds or even thousands of LUNs. A particular network may be configured differently, or a particular network may include different elements. It will be appreciated that aspects of the presently described systems and techniques may be applied within those contexts as well.

例えば、図32に示すようなデジタル計算環境またはプラットフォームで実施される本発明によれば、アプリケーションリソースグループ(ARG)が定義される。ARGは、共通のシステムリソースセットを包含し、アプリケーションセットからシステム内で使用されるシステム要素(例えば、サーバ、ホストアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスク)への完全または略完全なマッピングとして定義される。   For example, according to the present invention implemented in a digital computing environment or platform as shown in FIG. 32, an application resource group (ARG) is defined. ARG includes a common set of system resources and is defined as a complete or near-complete mapping from application sets to system elements (eg, servers, host adapters, network switches, disk controllers, and disks) used in the system. Is done.

さらに、本発明によれば、ARGは、アプリケーションサーバグループ(ASerG)、アプリケーションアダプタグループ(AAG)、アプリケーションスイッチグループ(ASwG)、アプリケーションコントローラグループ(ACG)、およびアプリケーションストレージグループ(ASG)の定義を含む。ARGは、アプリケーションとストレージシステムとの間のパス内の任意のポイントでの完全なマッピングを提供する。   Furthermore, according to the present invention, the ARG includes definitions of an application server group (ASerG), an application adapter group (AAG), an application switch group (ASwG), an application controller group (ACG), and an application storage group (ASG). . ARG provides a complete mapping at any point in the path between the application and the storage system.

ARGは、ストレージシステム内の任意の要素に対して負荷を発生させているアプリケーションセットの階層図を提供する。複数のアプリケーションが単一のストレージ要素に関して競合しており、かつ性能ボトルネックが生じている場合、ARGは、ボトルネックの原因であり得るアプリケーションセットを識別することができる。   ARG provides a hierarchical diagram of application sets that are creating a load on any element in the storage system. If multiple applications are competing for a single storage element and a performance bottleneck is occurring, the ARG can identify an application set that may be the cause of the bottleneck.

図33は、本発明によるサーバ1011のアプリケーションサーバグループ(ASerG)を示す。ASerGは、アプリケーション1100および1110をサーバ1011に負荷をかけているアプリケーションとして識別する。   FIG. 33 shows an application server group (ASerG) of the server 1011 according to the present invention. The AserG identifies the applications 1100 and 1110 as applications that are loading the server 1011.

図34は、本発明によるバスアダプタ1210のアプリケーションアダプタグループ(AAG)を示す。AAGは、アプリケーション1120をバスアダプタ1210に負荷をかけているアプリケーションとして識別する。AAGは、バスアダプタ1210がサーバ1012に接続されていることも識別する。   FIG. 34 shows an application adapter group (AAG) of the bus adapter 1210 according to the present invention. The AAG identifies the application 1120 as an application that is loading the bus adapter 1210. The AAG also identifies that the bus adapter 1210 is connected to the server 1012.

図35は、本発明によるネットワークスイッチ400のアプリケーションスイッチグループ(ASwG)を示す。ASwGは、アプリケーション1100、1110、および1120をネットワークスイッチ400に負荷をかけているアプリケーションとして識別する。ASwGは、スイッチ1400がLUN1301、1311、1321、1322、1331に接続され、LUN1301、1311、1321、1322、1331は、ボリューム1300、1310、1320、および1330のマッピングに使用され、ボリューム1300、1310、1320、および1330はバスアダプタ1200および1210に接続され、バスアダプタ1200および1210はサーバ1011および1012に接続されていることも識別する。   FIG. 35 shows an application switch group (ASwG) of the network switch 400 according to the present invention. ASwG identifies applications 1100, 1110, and 1120 as applications that are loading network switch 400. In the ASwG, the switch 1400 is connected to the LUNs 1301, 1311, 1321, 1322, 1331, and the LUNs 1301, 1311, 1321, 1322, 1331 are used for mapping the volumes 1300, 1310, 1320, and 1330, and the volumes 1300, 1310, 1320 and 1330 are also connected to bus adapters 1200 and 1210, which also identifies that bus adapters 1200 and 1210 are connected to servers 1011 and 1012.

図36は、本発明によるディスクコントローラ1510のアプリケーションコントローラグループ(ACG)を示す。ACGは、アプリケーション1120をディスクコントローラ1510に負荷をかけているアプリケーションとして識別する。ACGは、コントローラ1510がネットワークスイッチ400に接続され、ネットワークスイッチ400がLUN1321および1322に接続され、LUN1321および1322がボリューム1320のマッピングに使用され、ボリューム1320がバスアダプタ1210に接続され、バスアダプタ1210がサーバ1012に接続されていることも識別する。   FIG. 36 shows an application controller group (ACG) of the disk controller 1510 according to the present invention. The ACG identifies the application 1120 as an application that is loading the disk controller 1510. In the ACG, the controller 1510 is connected to the network switch 400, the network switch 400 is connected to the LUNs 1321 and 1322, the LUNs 1321 and 1322 are used for mapping the volume 1320, the volume 1320 is connected to the bus adapter 1210, and the bus adapter 1210 It is also identified that it is connected to the server 1012.

図37は、本発明によるディスクアレイ1501のアプリケーションストレージグループ(ASG)を示す。ASGは、アプリケーション1100および1110をディスクアレイ1501に負荷をかけているアプリケーションとして識別する。ASGは、アレイ1501がディスクコントローラ1500によって接続され、ディスクコントローラ1500がネットワークスイッチ400に接続され、ネットワークスイッチ400がLUN1301および1311に接続され、LUN1301および1311がボリューム1300および1310のマッピングに使用され、ボリューム1300および1310がバスアダプタ1200に接続され、バスアダプタ1200がサーバ1300に接続されることを識別する。   FIG. 37 shows an application storage group (ASG) of the disk array 1501 according to the present invention. The ASG identifies applications 1100 and 1110 as applications that are loading the disk array 1501. In the ASG, an array 1501 is connected by a disk controller 1500, a disk controller 1500 is connected to a network switch 400, a network switch 400 is connected to LUNs 1301 and 1311, and LUNs 1301 and 1311 are used for mapping volumes 1300 and 1310. 1300 and 1310 are connected to the bus adapter 1200, and the bus adapter 1200 is connected to the server 1300.

本発明では、任意のARG抽象を単一のアプリケーションに関連するLUNまでさらに分解するサブグループも定義される。各ARG抽象(ASerG、ASwG、ASerG、ACG、およびASG)は、少なくとも1つの、恐らくは複数のサブグループを含むことになる。単一のサブグループは、単一のASG抽象内でのみ提示することができる。サブグループは、単一のストレージ要素とアプリケーションとの関係の粒度をさらに改善する。   The present invention also defines subgroups that further decompose any ARG abstraction into LUNs associated with a single application. Each ARG abstraction (ASerG, ASwG, AserG, ACG, and ASG) will contain at least one, and possibly multiple subgroups. A single subgroup can only be presented within a single ASG abstraction. Subgroups further improve the granularity of the relationship between a single storage element and an application.

図38、図39A、図39Bは、本発明によるサブグループの詳細図を提供する。サブグループは、ストレージ要素に負荷を発生させている原因であるアプリケーションに関連するLUNのより詳細な図を提供する。   38, 39A and 39B provide detailed views of subgroups according to the present invention. The subgroup provides a more detailed view of the LUN associated with the application that is causing the load on the storage element.

図38は、単一のバスアダプタ1230を使用する単一のアプリケーション1130を実行しているホストサーバ1013を含む代替のインフラストラクチャアーキテクチャを示す。単一のアプリケーション1130は複数のボリューム1350および1360にマッピングされ、これらの各ボリュームは複数のLUNにマッピングされ得る。ボリューム1350はLUN1351および1352にマッピングされ、ボリューム1360はLUNにマッピングされる。各LUNは異なるRAIDグループにマッピングすることができる。LUN1351はディスクアレイ1531にマッピングされ、LUN1352および1361はディスクアレイ1541にマッピングされる。   FIG. 38 illustrates an alternative infrastructure architecture that includes a host server 1013 running a single application 1130 that uses a single bus adapter 1230. A single application 1130 may be mapped to multiple volumes 1350 and 1360, and each of these volumes may be mapped to multiple LUNs. Volume 1350 is mapped to LUNs 1351 and 1352, and volume 1360 is mapped to LUN. Each LUN can be mapped to a different RAID group. The LUN 1351 is mapped to the disk array 1531, and the LUNs 1352 and 1361 are mapped to the disk array 1541.

図39Aは、LUN1351、スイッチ1410、コントローラ1530、およびディスクアレイ1531を含む第1のサブグループA1600を示す。図39Bは、LUN1352および1361、スイッチ1410、コントローラ1540、ならびにディスクアレイ1541を含む第2のサブグループBを示す。   FIG. 39A shows a first subgroup A1600 that includes a LUN 1351, a switch 1410, a controller 1530, and a disk array 1531. FIG. 39B shows a second subgroup B that includes LUNs 1352 and 1361, switch 1410, controller 1540, and disk array 1541.

サブグループは、ストレージ要素内で性能問題の原因であり得る単一のアプリケーションに関連するLUNの識別を助けることができる。例えば、図39Aに示すように、サブグループA1600を使用して、アプリケーション1130内の特定のどのプロセスがディスクアレイ1531で受けている負荷の原因であるかを識別することが可能である。   Subgroups can help identify LUNs associated with a single application that can cause performance problems within the storage element. For example, as shown in FIG. 39A, subgroup A 1600 can be used to identify which particular process within application 1130 is responsible for the load being experienced by disk array 1531.

アプリケーションのARGマッピングを完全に記述するために必要な情報は、いくつかの方法を通して取得することができる。この情報は、既存のオペレーティングシステムインタフェース(例えば、Windows(登録商標)の場合、WMI)を通して、またはオペレーティングシステムユーティリティおよびボリュームマネージャ)(例えば、Solarisの場合、Solarisボリュームマネージャ)を使用して発見することができる。スイッチレベル発見は、スイッチ製造業者によって規定される簡易ネットワーク管理プロトコル(SNMP)APIを使用する。ディスクアレイレベル発見は、Storage Network Industry Associationによって規定されるストレージ管理イニシアティブ仕様(SMI−S)APIならびにコマンドラインインタフェース(CLI)を使用する。ローカル−物理LUNマッピングは、ネットワークによって定義され、Unix(登録商標)上のオペレーティングシステムユーティリティまたはWindows(登録商標)上のWindows(登録商標)レジストリを使用して得られるワールドワイドネーム(WWNまたはWWID)を使用して得られる。   The information needed to fully describe the application's ARG mapping can be obtained through several methods. Discover this information through existing operating system interfaces (eg, WMI for Windows®) or using operating system utilities and volume managers (eg, Solaris Volume Manager for Solaris) Can do. Switch level discovery uses the Simple Network Management Protocol (SNMP) API defined by the switch manufacturer. Disk array level discovery uses the Storage Management Initiative Specification (SMI-S) API as well as the Command Line Interface (CLI) defined by the Storage Network Industry Association. Local-to-physical LUN mapping is defined by the network and can be obtained using an operating system utility on Unix® or a Windows® registry on Windows® (WWN or WWID). Is obtained using

本発明の一実施では、ARGトポロジは、サーバまたはストレージシステムのいずれかで実行されている仮想化技術によって曖昧になり得る。システムの発見要素は、仮想化技術によって提供される利用可能なAPIを利用することができる(例えば、VMWareのESXコレクタが仮想化されたホストツールと協働する)。次に、仮想化システム要素または存在する実際の物理要素のいずれかを示すARGトポロジをユーザに提示することができる。   In one implementation of the invention, the ARG topology can be obscured by the virtualization technology running on either the server or the storage system. The discovery elements of the system can make use of available APIs provided by virtualization technologies (eg, VMWare's ESX collector works with virtualized host tools). The user can then be presented with an ARG topology that shows either the virtualized system elements or the actual physical elements present.

上述したオペレーティングシステムインタフェースの例(WMI、Solarisボリュームマネージャ)、APIの例(SMI−S、CLI等)、およびVMWareのESXコレクタ等の仮想化の例が、市販の製品またはサービスを指し、それらと相互動作可能なように本発明を実施可能なことを当業者は理解するであろう。   Examples of operating system interfaces (WMI, Solaris Volume Manager), API examples (SMI-S, CLI, etc.), and VMWare ESX collectors, etc. refer to commercially available products or services. Those skilled in the art will appreciate that the present invention can be implemented to be interoperable.

図40は、本発明の方法およびシステムの一実施2000を示すフローチャートを提供し、以下を含む。
ボックス2001−サーバ、ネットワーク、およびストレージサービスに問い掛けることによってトポロジを最初に発見する
ボックス2002−仮想化が使用されている場合、存在する任意の仮想−物理マッピングを発見する
ボックス2003−ASerG、AAG、ASwG、ACG、およびASGの各グループならびにサブグループを識別する
ボックス2004−トポロジ内のすべてのポイントで実行統計を収集し、統計リポジトリに記憶する
ボックス2005−トポロジの特定のグループビューに基づいて収集された実行統計を照会する
ボックス2006−性能情報をシステムユーザに報告する
FIG. 40 provides a flowchart illustrating one implementation 2000 of the method and system of the present invention, including:
Box 2001—Discover topology first by querying server, network and storage services Box 2002—Discover any virtual-physical mappings present if virtualization is used Box 2003-ASerG, AAG, Identify ASwG, ACG, and ASG groups and subgroups Box 2004-Collect execution statistics at all points in topology and store in statistics repository Box 2005-Collected based on specific group view of topology Box 2006-report performance information to system users

G.結び
上記記載は当業者が本発明を実施できるようにする詳細を含むが、この記載は例示的な性質のものであり、その多くの変更および変形が本教示の恩恵を有する当業者には明らかであり、そういった変更および変形が本発明の主旨および範囲内にあることを認められたい。したがって、本明細書における本発明は添付の特許請求の範囲によってのみ規定され、特許請求の範囲は先行技術によって許される限り広義に解釈されることが意図される。
G. CONCLUSION While the above description includes details that enable those skilled in the art to practice the invention, the description is of an exemplary nature and many variations and modifications will become apparent to those skilled in the art having the benefit of this teaching. It should be appreciated that such changes and modifications are within the spirit and scope of the present invention. Accordingly, the invention herein is defined only by the appended claims, which are intended to be construed as broadly as permitted by the prior art.

Claims (17)

(A)少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイと、(B)少なくとも2つのアプリケーションとを備えるデジタルストレージ環境において、前記少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイは集合的に、前記デジタルストレージ環境内のストレージ要素であり、改良が、
(A)アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供するように動作可能なアプリケーションリソースグループ(ARG)を提供することと、
(B)単一のストレージ要素とアプリケーションとの関係の粒度を改善するように動作可能なサブグループを定義することとを含み、
前記ARGはARG抽象を含み、前記ARG抽象は、
サーバに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションサーバグループ(ASerG)、
バスアダプタに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションアダプタグループ(AAG)、
ネットワークスイッチに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションスイッチグループ(ASwG)、
ディスクコントローラに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションコントローラグループ(ACG)、および
ディスクアレイに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションストレージグループ(ASG)
のうちの少なくとも1つを含み、
各ARG抽象は少なくとも1つのサブグループを含み、
前記ARGおよび前記サブグループは集合的に、アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供し、前記デジタルストレージ環境内の任意のストレージ要素に負荷を発生させているアプリケーションセットの階層イメージを提供するように動作可能である、改良。
In a digital storage environment comprising (A) at least one application server, bus adapter, network switch, disk controller, and disk array, and (B) at least two applications, said at least one application server, bus adapter, network switch , Disk controllers, and disk arrays are collectively storage elements within the digital storage environment,
(A) providing an application resource group (ARG) operable to provide a mapping from application sets to storage elements used in the digital storage environment;
(B) defining subgroups operable to improve the granularity of the relationship between a single storage element and an application,
The ARG includes an ARG abstraction, and the ARG abstraction is
An application server group (ASerG) operable to identify applications that are loading the server,
An application adapter group (AAG) operable to identify applications that are loading the bus adapter,
An application switch group (ASwG) operable to identify applications that are loading the network switch;
An application controller group (ACG) operable to identify applications that are loading the disk controller, and an application storage group (ASG) operable to identify applications that are loading the disk array
Including at least one of
Each ARG abstraction contains at least one subgroup,
The ARG and the subgroup collectively provide a mapping from an application set to a storage element used in a digital storage environment, causing the load on any storage element in the digital storage environment An improvement that is operable to provide a hierarchical image.
さらに、前記ARGおよび前記サブグループは集合的に、アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素への略完全なマッピングを提供するように動作可能である、請求項1に記載の改良。   The improvement of claim 1, further wherein the ARG and the subgroup are collectively operable to provide a substantially complete mapping from an application set to storage elements used in the digital storage environment. . 前記ARGおよび前記サブグループは集合的に、複数のアプリケーションが単一のストレージ要素に関して競合し、ボトルネックを生み出している場合、前記ARGが、前記ボトルネックの原因であり得るアプリケーションセットを識別できるように動作可能である、請求項1に記載の改良。   The ARG and the subgroup collectively allow the ARG to identify a set of applications that can cause the bottleneck when multiple applications compete for a single storage element and create a bottleneck. The improvement of claim 1, wherein the improvement is operable. さらに、ASG抽象が、単一のサブグループを単一のASG抽象内でのみ提示できるように構成される、請求項1に記載の改良。   The improvement of claim 1, further wherein the ASG abstraction is configured to allow a single subgroup to be presented only within a single ASG abstraction. (A)少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイと、(B)少なくとも2つのアプリケーションとを備えるデジタルストレージ環境において、前記少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイは集合的に、前記デジタルストレージ環境内のストレージ要素であり、改良が、
(A)アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供するように動作可能なアプリケーションリソースグループ(ARG)を提供する手段と、
(B)単一のストレージ要素とアプリケーションとの関係の粒度を改善するように動作可能なサブグループを定義する手段であって、各ARG抽象は少なくとも1つのサブグループを含み、
前記ARGはARG抽象を含み、前記ARG抽象は、
サーバに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションサーバグループ(ASerG)、
バスアダプタに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションアダプタグループ(AAG)、
ネットワークスイッチに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションスイッチグループ(ASwG)、
ディスクコントローラに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションコントローラグループ(ACG)、および
ディスクアレイに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションストレージグループ(ASG)
のうちの少なくとも1つを含み、
前記ARGおよび前記サブグループは集合的に、アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供し、前記デジタルストレージ環境内の任意のストレージ要素に負荷を発生させているアプリケーションセットの階層イメージを提供するように動作可能である、改良。
In a digital storage environment comprising (A) at least one application server, bus adapter, network switch, disk controller, and disk array, and (B) at least two applications, said at least one application server, bus adapter, network switch , Disk controllers, and disk arrays are collectively storage elements within the digital storage environment,
(A) means for providing an application resource group (ARG) operable to provide a mapping from an application set to storage elements used within the digital storage environment;
(B) means for defining subgroups operable to improve the granularity of a single storage element and application relationship, wherein each ARG abstraction includes at least one subgroup;
The ARG includes an ARG abstraction, and the ARG abstraction is
An application server group (ASerG) operable to identify applications that are loading the server,
An application adapter group (AAG) operable to identify applications that are loading the bus adapter,
An application switch group (ASwG) operable to identify applications that are loading the network switch;
An application controller group (ACG) operable to identify applications that are loading the disk controller, and an application storage group (ASG) operable to identify applications that are loading the disk array
Including at least one of
The ARG and the subgroup collectively provide a mapping from an application set to storage elements used in the digital storage environment, causing an application to load any storage element in the digital storage environment An improvement that is operable to provide a hierarchical image of a set.
前記ARGおよび前記サブグループは集合的に、アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素への略完全なマッピングを提供するように動作可能である、請求項5に記載の改良。   6. The improvement of claim 5, wherein the ARG and the subgroup are collectively operable to provide a substantially complete mapping from application sets to storage elements used within the digital storage environment. 前記ARGおよび前記サブグループは集合的に、複数のアプリケーションが単一のストレージ要素に関して競合し、ボトルネックを生み出している場合、前記ARGが、前記ボトルネックの原因であり得るアプリケーションセットを識別できるように動作可能である、請求項5に記載の改良。   The ARG and the subgroup collectively allow the ARG to identify a set of applications that can cause the bottleneck when multiple applications compete for a single storage element and create a bottleneck. 6. The improvement of claim 5, wherein the improvement is operable. ASG抽象が、単一のサブグループを単一のASG抽象内でのみ提示できるように構成される、請求項5に記載の改良。   6. The improvement of claim 5, wherein the ASG abstraction is configured such that a single subgroup can be presented only within a single ASG abstraction. コンピュータ可読媒体に記憶され、(A)少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイと、(B)少なくとも2つのアプリケーションとを備えるデジタルストレージ環境において動作可能なコンピュータプログラム製品であって、前記少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイは集合的に、前記デジタルストレージ環境内のストレージ要素であり、前記コンピュータプログラム製品は、
(A)アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供するように動作可能なアプリケーションリソースグループ(ARG)を提供する、前記デジタルストレージ環境内で実行可能なコンピュータプログラムコード手段と、
(B)単一のストレージ要素とアプリケーションとの関係の粒度を改善するように動作可能なサブグループを定義するコンピュータプログラムコード手段とを含み、、
前記ARGはARG抽象を含み、前記ARG抽象は、
サーバに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションサーバグループ(ASerG)、
バスアダプタに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションアダプタグループ(AAG)、
ネットワークスイッチに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションスイッチグループ(ASwG)、
ディスクコントローラに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションコントローラグループ(ACG)、および
ディスクアレイに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションストレージグループ(ASG)
のうちの少なくとも1つを含み、
各ARG抽象は少なくとも1つのサブグループを含み、
前記ARGおよび前記サブグループは集合的に、アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供し、前記デジタルストレージ環境内の任意のストレージ要素に負荷を発生させているアプリケーションセットの階層イメージを提供するように動作可能である、コンピュータプログラム製品。
A computer program product stored in a computer readable medium and operable in a digital storage environment comprising (A) at least one application server, bus adapter, network switch, disk controller, and disk array; and (B) at least two applications. The at least one application server, bus adapter, network switch, disk controller, and disk array are collectively storage elements in the digital storage environment, the computer program product comprising:
(A) Computer program code executable in the digital storage environment that provides an application resource group (ARG) operable to provide a mapping from application sets to storage elements used in the digital storage environment. Means,
(B) computer program code means defining subgroups operable to improve the granularity of the relationship between a single storage element and an application;
The ARG includes an ARG abstraction, and the ARG abstraction is
An application server group (ASerG) operable to identify applications that are loading the server,
An application adapter group (AAG) operable to identify applications that are loading the bus adapter,
An application switch group (ASwG) operable to identify applications that are loading the network switch;
An application controller group (ACG) operable to identify applications that are loading the disk controller, and an application storage group (ASG) operable to identify applications that are loading the disk array
Including at least one of
Each ARG abstraction contains at least one subgroup,
The ARG and the subgroup collectively provide a mapping from an application set to storage elements used in the digital storage environment, causing an application to load any storage element in the digital storage environment A computer program product that is operable to provide a hierarchical image of a set.
前記ARGおよび前記サブグループは集合的に、アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素への略完全なマッピングを提供するように動作可能である、請求項9に記載のコンピュータプログラム製品。   The computer program product of claim 9, wherein the ARG and the subgroup are collectively operable to provide a substantially complete mapping from an application set to storage elements used in a digital storage environment. 前記ARGおよび前記サブグループは集合的に、複数のアプリケーションが単一のストレージ要素に関して競合し、ボトルネックを生み出している場合、前記ARGが、前記ボトルネックの原因であり得るアプリケーションセットを識別できるように動作可能である、請求項9に記載のコンピュータプログラム製品。   The ARG and the subgroup collectively allow the ARG to identify a set of applications that can cause the bottleneck when multiple applications compete for a single storage element and create a bottleneck. The computer program product of claim 9, wherein the computer program product is operable. ASG抽象が、単一のサブグループを単一のASG抽象内でのみ提示できるように構成される、請求項9に記載のコンピュータプログラム製品。   The computer program product of claim 9, wherein the ASG abstraction is configured to allow a single subgroup to be presented only within a single ASG abstraction. アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素へのマッピングを可能にする方法であって、(A)少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイと、(B)少なくとも2つのアプリケーションとを備える前記デジタルストレージ環境内で実行可能であり、前記少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイは集合的に、前記デジタルストレージ環境内のストレージ要素であり、前記方法は、
(A)アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供するように動作可能なアプリケーションリソースグループ(ARG)を提供することと、
(B)単一のストレージ要素とアプリケーションとの関係の粒度を改善するように動作可能なサブグループを定義することとを含み、
前記ARGはARG抽象を含み、前記ARG抽象は、
サーバに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションサーバグループ(ASerG)、
バスアダプタに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションアダプタグループ(AAG)、
ネットワークスイッチに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションスイッチグループ(ASwG)、
ディスクコントローラに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションコントローラグループ(ACG)、および
ディスクアレイに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションストレージグループ(ASG)
のうちの少なくとも1つを含み、
各ARG抽象は少なくとも1つのサブグループを含み、
前記ARGおよび前記サブグループは集合的に、アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供し、前記デジタルストレージ環境内の任意のストレージ要素に負荷を発生させているアプリケーションセットの階層イメージを提供するように動作可能である、方法。
A method that enables mapping from application sets to storage elements used in a digital storage environment, comprising: (A) at least one application server, bus adapter, network switch, disk controller, and disk array; ) Executable in the digital storage environment comprising at least two applications, wherein the at least one application server, bus adapter, network switch, disk controller, and disk array are collectively storage in the digital storage environment Element, the method comprising:
(A) providing an application resource group (ARG) operable to provide a mapping from application sets to storage elements used in the digital storage environment;
(B) defining subgroups operable to improve the granularity of the relationship between a single storage element and an application,
The ARG includes an ARG abstraction, and the ARG abstraction is
An application server group (ASerG) operable to identify applications that are loading the server,
An application adapter group (AAG) operable to identify applications that are loading the bus adapter,
An application switch group (ASwG) operable to identify applications that are loading the network switch;
An application controller group (ACG) operable to identify applications that are loading the disk controller, and an application storage group (ASG) operable to identify applications that are loading the disk array
Including at least one of
Each ARG abstraction contains at least one subgroup,
The ARG and the subgroup collectively provide a mapping from an application set to a storage element used in a digital storage environment, causing the load on any storage element in the digital storage environment A method operable to provide a hierarchical image.
さらに、前記ARGおよび前記サブグループは集合的に、アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素への略完全なマッピングを提供するように動作可能である、請求項1に記載の方法。   The method of claim 1, further wherein the ARG and the subgroup are collectively operable to provide a substantially complete mapping from application sets to storage elements used in the digital storage environment. . 前記ARGおよび前記サブグループは集合的に、複数のアプリケーションが単一のストレージ要素に関して競合し、ボトルネックを生み出している場合、前記ARGが、前記ボトルネックの原因であり得るアプリケーションセットを識別できるように動作可能である、請求項1に記載の方法。   The ARG and the subgroup collectively allow the ARG to identify a set of applications that can cause the bottleneck when multiple applications compete for a single storage element and create a bottleneck. The method of claim 1, wherein the method is operable. さらに、ASG抽象が、単一のサブグループを単一のASG抽象内でのみ提示できるように構成される、請求項1に記載の方法。   The method of claim 1, further wherein the ASG abstraction is configured such that a single subgroup can only be presented within a single ASG abstraction. アプリケーションセットからデジタルストレージ環境内で使用されるストレージ要素へのマッピングを可能にするシステムであって、(A)少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイと、(B)少なくとも2つのアプリケーションとを備える前記デジタルストレージ環境において実施可能であり、前記少なくとも1つのアプリケーションサーバ、バスアダプタ、ネットワークスイッチ、ディスクコントローラ、およびディスクアレイは集合的に、前記デジタルストレージ環境内のストレージ要素であり、前記システムは、
(A)アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供するように動作可能なアプリケーションリソースグループ(ARG)を提供する手段と、
(B)単一のストレージ要素とアプリケーションとの関係の粒度を改善するように動作可能なサブグループを定義する手段とを含み、
前記ARGはARG抽象を含み、前記ARG抽象は、
サーバに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションサーバグループ(ASerG)、
バスアダプタに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションアダプタグループ(AAG)、
ネットワークスイッチに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションスイッチグループ(ASwG)、
ディスクコントローラに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションコントローラグループ(ACG)、および
ディスクアレイに負荷をかけているアプリケーションを識別するように動作可能なアプリケーションストレージグループ(ASG)
のうちの少なくとも1つを含み、
各ARG抽象は少なくとも1つのサブグループを含み、
前記ARGおよび前記サブグループは集合的に、アプリケーションセットから前記デジタルストレージ環境内で使用されるストレージ要素へのマッピングを提供し、前記デジタルストレージ環境内の任意のストレージ要素に負荷を発生させているアプリケーションセットの階層イメージを提供するように動作可能である、システム。
A system that enables mapping from an application set to storage elements used in a digital storage environment, comprising: (A) at least one application server, bus adapter, network switch, disk controller, and disk array; A storage element within the digital storage environment, wherein the at least one application server, bus adapter, network switch, disk controller, and disk array are collectively And the system is
(A) means for providing an application resource group (ARG) operable to provide a mapping from an application set to storage elements used within the digital storage environment;
(B) means for defining subgroups operable to improve the granularity of a single storage element and application relationship;
The ARG includes an ARG abstraction, and the ARG abstraction is
An application server group (ASerG) operable to identify applications that are loading the server,
An application adapter group (AAG) operable to identify applications that are loading the bus adapter,
An application switch group (ASwG) operable to identify applications that are loading the network switch;
An application controller group (ACG) operable to identify applications that are loading the disk controller, and an application storage group (ASG) operable to identify applications that are loading the disk array
Including at least one of
Each ARG abstraction contains at least one subgroup,
The ARG and the subgroup collectively provide a mapping from an application set to storage elements used in the digital storage environment, causing an application to load any storage element in the digital storage environment A system that is operable to provide a hierarchical image of a set.
JP2009543215A 2006-12-21 2007-12-20 Method and system for identifying storage resources of an application system Pending JP2010515121A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US87144406P 2006-12-21 2006-12-21
US11/773,825 US20080027948A1 (en) 2006-07-06 2007-07-05 Managing Application System Load
PCT/US2007/088339 WO2008079955A2 (en) 2006-12-21 2007-12-20 Methods and systems for identifying application system storage resources

Publications (1)

Publication Number Publication Date
JP2010515121A true JP2010515121A (en) 2010-05-06

Family

ID=41153253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543215A Pending JP2010515121A (en) 2006-12-21 2007-12-20 Method and system for identifying storage resources of an application system

Country Status (3)

Country Link
EP (1) EP2115636A4 (en)
JP (1) JP2010515121A (en)
WO (1) WO2008079955A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2444888A1 (en) * 2010-10-21 2012-04-25 Alcatel Lucent Method of managing data storage devices
GB2519294A (en) 2013-10-15 2015-04-22 Ibm Storage controller quality of service
US9418088B1 (en) 2015-12-02 2016-08-16 International Business Machines Corporation Identification of storage system elements causing performance degradation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309748A (en) * 2004-04-21 2005-11-04 Hitachi Ltd Storage system and failure canceling method for the same
JP2006107126A (en) * 2004-10-05 2006-04-20 Hitachi Ltd Method for collecting/preserving storage network performance information, computer system, and program
US7058545B2 (en) * 2002-09-16 2006-06-06 Hewlett-Packard Development Company, L.P. Software application domain and storage domain characterization process and method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088693A (en) * 1996-12-06 2000-07-11 International Business Machines Corporation Data management system for file and database management
US7305451B2 (en) * 1998-08-24 2007-12-04 Microsoft Corporation System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network
FR2813681B1 (en) * 2000-09-01 2002-11-29 Thomson Marconi Sonar Sas GRAPHIC INPUT METHOD FOR PLACING SIGNAL PROCESSING APPLICATIONS
US7007047B2 (en) * 2002-03-29 2006-02-28 Panasas, Inc. Internally consistent file system image in distributed object-based data storage
US7328156B2 (en) * 2003-07-17 2008-02-05 International Business Machines Corporation Computational linguistic statements for providing an autonomic computing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058545B2 (en) * 2002-09-16 2006-06-06 Hewlett-Packard Development Company, L.P. Software application domain and storage domain characterization process and method
JP2005309748A (en) * 2004-04-21 2005-11-04 Hitachi Ltd Storage system and failure canceling method for the same
JP2006107126A (en) * 2004-10-05 2006-04-20 Hitachi Ltd Method for collecting/preserving storage network performance information, computer system, and program

Also Published As

Publication number Publication date
EP2115636A2 (en) 2009-11-11
EP2115636A4 (en) 2012-03-07
WO2008079955A2 (en) 2008-07-03
WO2008079955A3 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
US11550630B2 (en) Monitoring and automatic scaling of data volumes
US20080027948A1 (en) Managing Application System Load
US8595364B2 (en) System and method for automatic storage load balancing in virtual server environments
US9152532B2 (en) System and method for configuring a cloud computing system with a synthetic test workload
US20080163234A1 (en) Methods and systems for identifying application system storage resources
US9658895B2 (en) System and method for configuring boot-time parameters of nodes of a cloud computing system
US8887056B2 (en) System and method for configuring cloud computing systems
AU2010276368B2 (en) Techniques for power analysis
US7979857B2 (en) Method and apparatus for dynamic memory resource management
US20140047095A1 (en) System and method for tuning a cloud computing system
US20140047342A1 (en) System and method for allocating a cluster of nodes for a cloud computing system based on hardware characteristics
US20140047079A1 (en) System and method for emulating a desired network configuration in a cloud computing system
US20140047084A1 (en) System and method for modifying a hardware configuration of a cloud computing system
US20050262504A1 (en) Method and apparatus for dynamic CPU resource management
WO2014025584A1 (en) System and method for tuning a cloud computing system
JP2008527555A (en) Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a virtualized storage subsystem
WO2003062983A2 (en) Method, system, and program for determining a modification of a system resource configuration
US7860919B1 (en) Methods and apparatus assigning operations to agents based on versions
JP2010515121A (en) Method and system for identifying storage resources of an application system
US20140358479A1 (en) Storage unit performance adjustment
Agarwala et al. Configuration discovery and monitoring middleware for enterprise datacenters
Kuhn et al. Chapter 8: Analyzing Server Performance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130218