JP2018518762A - 自動異常検出および解決システム - Google Patents

自動異常検出および解決システム Download PDF

Info

Publication number
JP2018518762A
JP2018518762A JP2017561705A JP2017561705A JP2018518762A JP 2018518762 A JP2018518762 A JP 2018518762A JP 2017561705 A JP2017561705 A JP 2017561705A JP 2017561705 A JP2017561705 A JP 2017561705A JP 2018518762 A JP2018518762 A JP 2018518762A
Authority
JP
Japan
Prior art keywords
container
anomaly
metric
adrc
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017561705A
Other languages
English (en)
Other versions
JP6731424B2 (ja
JP2018518762A5 (ja
Inventor
アハド,ラフィウル
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2018518762A publication Critical patent/JP2018518762A/ja
Publication of JP2018518762A5 publication Critical patent/JP2018518762A5/ja
Application granted granted Critical
Publication of JP6731424B2 publication Critical patent/JP6731424B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3048Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

コンピューティング環境において異常を検出して解決するための異常検出および解決システム(ADRS)が開示されている。ADRSは、さまざまなタイプの異常(たとえば、定義済みの異常および未定義の異常)を定義する異常分類システムを使用して実現され得る。定義済みの異常は、監視すべき任意のメトリックの(固定されたまたは周期的な)範囲に基づき得る。異常検出および解決コンポーネント(ADRC)は、コンピューティングシステムでサービスを定義する各コンポーネントにおいて実現され得る。ADRCは、局所的に異常を検出して解決しようと試みるように構成され得る。コンポーネントにおいて異常の異常イベントを解決できる場合、ADRCは、存在する場合には親コンポーネントのADRCに異常イベントを通信し得る。コンポーネント内の各ADRCは、特定のタイプの異常に局所的に対処して、異常を解決するための通信時間およびリソース使用を減少させるように構成され得る。

Description

関連出願の相互参照
本願は、「自動異常検出および解決システム(AUTOMATIC ANOMALY DETECTION AND RESOLUTION SYSTEM)」と題される、2016年5月26日に出願された米国非仮特許出願番号第15/165,298号の利益および優先権を主張し、米国非仮特許出願番号第15/165,298号は、以下の出願の利益および優先権を主張する:
1)「自動異常検出および解決(Automatic Anomaly Detection and Resolution)」と題される、2015年5月28日に出願された米国仮出願番号第62/167,851号
2)「自動異常検出および解決(Automatic Anomaly Detection and Resolution)」と題される、2015年7月31日に出願された米国仮出願番号第62/199,895号、および
3)「自動異常検出および解決(Automatic Anomaly Detection and Resolution)」と題される、2015年10月23日に出願された米国仮出願番号第62/245,706号。
上記の特許出願の各々の内容全体は、全ての目的で引用によって本明細書に援用される。
背景
クラウドコンピューティングは、構成可能な計算リソース(たとえば、ネットワーク、サーバ、ストレージ、アプリケーションおよびサービス)の共有プールへの便利なオンデマンドのネットワークアクセスを可能にするためのモデルである。ネットワークを介してなど、クラウドコンピューティングを介して提供またはアクセスされるサービスは、クラウドサービスと称することができる。契約している顧客がクラウドサービスを利用できるようにするためにクラウドサービスプロバイダが実行する必要がある処理は多数ある。その複雑さのために、この処理の多くは依然として手動でなされている。たとえば、このようなクラウドサービスを提供するためのプロビジョニングリソースは、非常に労働集約型のプロセスである可能性がある。
クラウドコンピューティングシステムをサポートするデータセンタは、サイズが非常に大きくなりがちであり、何千もの計算およびストレージサーバと何百ものネットワークおよび他のデバイスとを備える。たとえば、最近の統計が示唆しているところによると、80,000以上の仮想マシンが存在し、オラクル社によって世界全体に提供されているクラウドコンピューティングシステムでは540PB以上のストレージが利用されている。少なくとも19層の4つのデータセンタがあり、6200万人以上のアクティブユーザがいるため、日々のトランザクションは300億以上になる。クラウドデータセンタの手動管理は、MCollectiveまたはChefなどのコマンドツールおよびGraphiteなどの監視ツールを使用したとしても、クラウドサービスのコストを増大させるおそれがあり、サービス品質を低下させるおそれがある。このようなツールは、サービスレベル合意(service level agreement:SLA)およびセキュリティ違反に影響を及ぼす異常などのシステム挙動における起こり得る異常にタイムリーに反応して修正することができない。
いくつかのクラウドコンピューティングシステムプロバイダは、それらのクラウドコンピューティングシステムにおいて検出された問題を診断して修正するようにシステムを実現してきたが、このようなシステムがどのように問題を検出するように構成されるかについての詳細は、クラウドコンピューティングシステム全体では定義されてこなかった。中には、ログファイルおよび/または開発されたトレーニングデータを評価して何が正常なシステム挙動であるかを確立するように機械学習アルゴリズムを実現してきたものもいる。ログファイルおよび/またはデータは正常なパターンと比較され得て、いかなる相当な逸脱も異常として報告される。多変量解析技術(たとえば、MSET)は、複数のログファイルを同時に比較することができる。教師なし機械学習技術によってログファイルのみから正常な挙動を推測することは、エラーを起こしやすい可能性がある。システムトポロジ、処理フローまたはログ関係に関係なくもっぱらログファイルで確認される計算問題は、多数のノイズを持ち込むおそれがある。なぜなら、問題の診断に悪影響を及ぼし得るログファイルの無関係の組み合わせが分析される可能性があるからである。このようなシステムによって検出されて報告される起こり得るエラーは、非常に広範であるのでプログラム修正アクションに適さない。人間が関与して問題に対処する必要があるかもしれない。
クラウドコンピューティングシステムまたはエンタープライズコンピューティングシステムにおける異常は、負荷スパイク、コンポーネント障害および/またはシステムの悪意ある使用を含む多くの要因によって引き起こされる可能性があり、それらの異常は、リソース使用の増加、重要業績指標(key performance indicator:KPI)の悪化、および1つ以上のコンテナでのエラーのスパイクという形で顕在化する。上記の課題の結果、サービスレベル合意(SLA)のサービス品質(quality of service:QoS)保証をしばしば満たすことができない。クラウドコンピューティングシステムおよびエンタープライズコンピューティングシステムでは、任意の所与の時点で、何百万ものハードウェアおよびソフトウェアコンポーネントが機能しなくなる可能性がある。ユーザもオペレータも同様に、異常を引き起こすヒューマンエラーおよび不測の負荷の一因となり得る。悪意のあるユーザは、何百万人ものユーザに影響を及ぼす停止を生じさせる可能性がある。これらの状況は、不満足なQoSにつながって、クラウドコンピューティング環境でSLAの違反を生じさせるおそれがある。
異常に対処するために、中には、リアルタイムに近い態様で異常を監視しようと試みてきたものもいる。これらのアプローチは、集中型ストレージにおいて環境の状態(メトリック、ログなど)を収集して、異常があるかどうかプログラム的に状態を分析することを含む。環境の状態の収集は、このようなデータの通信および集約のために待ち時間を生じさせる可能性がある。分析はさらなる時間を必要とし、ガイドラインおよびスクリプトに従った異常の手動修正のために結果をオペレーションスタッフに通信しなければならない。このような修正アクションは、異常が発生したときと修正アクションを講じるときとの間に長い待ち時間を生じさせる可能性がある。全てのログエントリおよびメトリックを収集して分析することは、リソースの非効率的な使用である。なぜなら、ログファイル内の大半のデータは正常な状態に対応するからである。異常は特定すべき信号であるので、データは低い信号対雑音比を提供し得る。さらに、異常はクラッシュ、デッドロック、長い応答時間などのまれに起こるケースに関連するので、状態が正常であるかどうかのデータの分析は最小値を提供し得る。前兆事象を特定してまず第一にSLAの違反を生じさせる状況を回避するために、異常のきめ細かい検出が求められる。
発明の簡単な概要
特定の実施例において、コンピューティング環境(たとえば、クラウドコンピューティングシステムおよびエンタープライズコンピューティングシステム)において異常を自動的に検出して解決するための異常検出および解決システム(anomaly detection and resolution system:ADRS)の技術が開示されている。これらの技術は、異常の自動検出および解決が、コンピューティングシステムにおいて提供されるサービスのサービスレベル合意(SLA)違反を回避とまではいかなくても最小限にすることを可能にする。異常検出および解決は、可能な限り低いコストでSLA準拠期間を最大化することに関係している。本明細書に開示されている技術は、大規模コンピューティングシステム(たとえば、クラウドシステム)のサイズおよび複雑さに対処することへの人間の関与を排除とまではいかなくても減少させることができ、そのため、自律型コンピューティングシステムをもたらすことができる。
ADRSは、応答時間異常、負荷異常、リソース使用異常、コンポーネント障害および停止などの異常を自動的に検出して修正することができ、当該異常は全て、コンピューティングシステムでのオペレーションのサービス品質(QoS)に影響を及ぼし得る。ADRSは、定義済みの異常および未定義の異常などのさまざまなカテゴリ(サブタイプ)の異常によって定義される異常分類システムを使用して実現され得る。定義済みの異常は、ユーザ定義の異常およびシステム推測の異常などの2つのサブカテゴリによって定義され得る。定義済みの異常は、監視する必要がある任意のメトリックの範囲に基づき得て、当該範囲は、固定されているかまたは周期的(seasonal)である。固定された範囲は、SLAに関連付けられるQoS保証を監視して実施するための不変量である。一般に、アプリケーション管理者またはシステム管理者は、ユーザ定義の異常について固定された範囲を定義するであろう。また、システム管理者は、リソース使用、負荷スパイク、悪意ある使用およびコンポーネント障害を監視してSLA違反を回避するためにさらなるメトリックを定義し得るが、それらの範囲は、周期的なものであり、ユーザ定義の異常に関連付けられるメトリックの傾向と組み合わせた履歴データから計算される。このタイプの異常は、システム推測の異常と呼ばれ、その範囲は通常周期的である。未定義の異常は、機械学習および他の統計的方法によって発見される異常(通常、外れ値)である。
ADRSは、異常についてポリシーで定義される1つ以上のルールに基づいて修正アクションを講じることができる。ADRSは、1つ以上の異常検出および解決コンポーネント(anomaly detection and resolution component:ADRC)で実現され得る。各ADRCは、モジュールまたはサブシステムであってもよい。ADRCは、コンピューティングシステムによって実行されるサービスまたはオペレーションを定義するコンポーネントの各コンポーネントにおいて実現され得る。各ADRCは、コンポーネントにおいて局所的に異常を検出して解決しようと試みるように構成され得る。たとえば、サービスが実行されているコンテナなどのコンポーネントにおいて異常(たとえば、定義済みの異常)を検出すると、ADRCは、異常を解決できるか否かを判断し得る。各ADRCは、コンポーネントで検出された異常を管理するためのコンポーネントに特有の解決ポリシーで実現され得る。コンポーネントで定義される異常解決ポリシーによって異常の異常イベントを解決できる場合、ADRCは、当該ポリシーに基づいて異常イベントを解決しようと試みることができる。ポリシーが定義されていないか、またはポリシーに基づいて異常イベントを解決できなかったといういずれかの理由で、ADRCが異常イベントを解決できないと判断すると、コンポーネントは、存在する場合には当該コンポーネントの親コンポーネントに異常イベントを通信し得る。親コンポーネントが異常イベントを解決できるまで、異常イベントは、存在する場合には現在のコンポーネントの各々の次に続く親コンポーネントに至るまで通信され得る。コンポーネントが親コンポーネントを持たない(たとえば、物理マシンが親を持たない)と判断すると、異常イベントは、コンピューティングシステムの環境レベルにおけるADRCのためのメッセージングシステムに対して発行されて、異常イベントに対処する。いくつかの実施例では、異常イベントは、ユーザに対する警告として通信され得る。異常解決のためのこの階層型アプローチは、集中型異常管理と比較して素早く、リソース使用の点で効率的である。具体的には、コンポーネント内の各ADRCは、特定のタイプの異常に局所的に対処するように構成され得て、その結果、異常を解決できるコンポーネント内のリソースを利用することによって通信時間およびリソース使用を減少させることができる。
いくつかの実施例では、異常検出および解決のためのコンピュータシステムが実現され得る。コンピュータシステムは、異常検出および解決システムの一部であってもよい。コンピュータシステムは、クラウドコンピュータシステム(たとえば、クラウドインフラストラクチャシステム)またはエンタープライズコンピュータシステムにおいて実現され得る。コンピュータシステムは、本明細書に記載されている方法および動作を実現するように構成され得る。コンピュータシステムは、1つ以上のプロセッサと、1つ以上のプロセッサにアクセス可能なメモリとを含み得て、メモリは、命令を格納し、当該命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに本明細書に記載されている1つ以上の方法または動作を実行させる。さらに他の実施例は、本明細書に記載されている方法および動作のための命令を利用または格納するシステムおよびマシン読取可能な有形の記憶媒体に関する。
少なくとも1つの実施例では、方法は、クラウドコンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めるステップを含む。上記サービスは、上記クラウドコンピュータシステム内のコンポーネントによって確立され得る。上記コンポーネントは、クラウドコンピュータ環境で実行される第1のコンテナおよび第2のコンテナを含み得る。上記第1のコンテナは、上記第2のコンテナにおける子コンテナであり得る。上記方法は、異常検出および解決コンポーネント(ADRC)を含むように上記第1のコンテナを構成するステップを含み得る。上記方法は、上記ADRCによって、上記クラウドコンピュータシステム内での上記サービスのオペレーションに関連する異常の異常イベントを上記第1のコンテナにおいて検出するステップを含み得る。上記異常イベントは、上記メトリックの値が上記メトリックの上記異常範囲を満たさないことに基づいて検出され得る。上記方法は、上記第1のコンテナにおいて上記異常を解決するためのポリシーを特定するステップを含み得る。上記方法は、上記ポリシーにおけるルールが上記異常によって満たされることを判断するステップを含み得る。上記方法は、上記異常を解決するための修正アクションを起動するステップを含み得る。上記修正アクションは、上記ルールが満たされたことに基づいて上記ポリシーで特定され得る。
いくつかの実施例では、上記異常範囲は、ユーザ定義の異常について定義される固定された範囲である。上記一組の値は、ポーリング間隔値、上記メトリックの最小値尺度、上記メトリックのソフト限界、上記メトリックの最大値、および上記異常の最小発生回数を定義する最小連続読取値を含み得る。上記異常イベントを検出するステップは、上記メトリックの上記値が上記異常範囲を満たすか否かを判断するステップを含み得る。上記メトリックの上記値は、上記値が上記最小値尺度未満である場合および上記ソフト限界以上である場合には、上記異常範囲を満たし得ない。上記異常イベントは、上記最小連続読取値が満たされたことに基づいて検出され得る。
いくつかの実施例では、上記異常範囲は、ユーザ定義の異常について定義される周期的範囲である。上記一組の値は、ポーリング間隔値、上記メトリックの最小値尺度、上記メトリックのソフト限界、上記メトリックの最大値、上記異常の連続発生期間、上記周期的範囲が有効である開始時刻、および上記周期的範囲が有効である終了時刻を含み得る。上記異常イベントを検出するステップは、上記メトリックの上記値が上記異常範囲を満たすか否かを判断するステップを含み得る。上記メトリックの上記値は、上記値が上記最小値尺度未満である場合および上記ソフト限界以上である場合、上記異常イベントが上記期間中に検出され、上記開始時刻後であって上記終了時刻前に検出される場合には、上記異常範囲を満たし得ない。
少なくとも1つの実施例では、上記一組の値を求めるステップは、ログファイルの時系列データを分析して上記異常範囲について上記一組の値を計算するステップを含む。
いくつかの実施例では、上記方法は、上記第1のコンテナにおいて上記異常を解決するためのポリシーを特定できないと判断すると、上記第1のコンテナにおいて上記異常を解決できないことを上記第2のコンテナに通知するステップを含み得る。上記方法は、上記第2のコンテナにおいて上記異常を解決するためのポリシーを特定するステップを含み得る。上記方法は、上記第2のコンテナにおいて上記異常を解決するための上記ポリシーにおけるルールが上記異常によって満たされることを判断するステップを含み得る。上記方法は、上記ルールが満たされたことに基づいて、上記第2のコンテナにおいて上記異常を解決するための、上記ポリシーで特定される修正アクションを起動するステップを含み得る。
少なくとも1つの実施例では、上記サービスに関連する上記メトリックは、上記サービスを提供するためのサービス品質(QoS)について監視される複数のメトリックのうちの1つである。
少なくとも1つの実施例では、方法は、クラウドコンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めるステップを含み得る。上記サービスは、上記クラウドコンピュータシステム内のコンポーネントによって確立され得る。上記コンポーネントは、クラウドコンピュータ環境で実行される第1のコンテナおよび第2のコンテナを含み得る。上記第1のコンテナは、上記第2のコンテナにおける子コンテナであり得る。上記方法は、第1の異常検出および解決コンポーネント(ADRC)を含むように上記第1のコンテナを構成するステップを含み得る。上記方法は、第2のADRCを含むように上記第2のコンテナを構成するステップを含み得る。上記方法は、上記第1のADRCによって、上記クラウドコンピュータシステム内での上記サービスのオペレーションに関連する異常の異常イベントを上記第1のコンテナにおいて検出するステップを含み得る。上記異常イベントは、上記メトリックの値が上記メトリックの上記異常範囲を満たさないことに基づいて検出される。上記方法は、上記第1のADRCが上記第1のコンテナにおいて上記異常を解決するためのポリシーを有するか否かを判断するステップを含み得る。上記方法は、上記第1のADRCが上記第1のコンテナにおいて上記異常を解決するためのポリシーを持たないと判断したことに基づいて、上記第1のコンテナにおいて上記異常を解決できないことを上記第2のコンテナに通知するステップを含み得る。上記方法は、上記第2のADRCによって、上記第2のコンテナにおいて上記異常を解決するためのポリシーを上記ADRCのために特定するステップを含み得る。上記方法は、上記第2のコンテナにおいて上記異常を解決するための上記ポリシーにおけるルールが上記異常によって満たされることを判断するステップを含み得る。上記方法は、上記ルールが満たされたことに基づいて、上記第2のコンテナにおいて上記異常を解決するための、上記ポリシーで特定される修正アクションを起動するステップを含み得る。
いくつかの実施例では、上記方法は、上記第2のADRCが上記第2のコンテナにおいて上記異常を解決するためのポリシーを持たないと上記第2のADRCによって判断したことに基づいて、上記異常を解決できなかったという警告を通信システムを用いて送信するステップを含み得る。
いくつかの実施例では、上記方法は、上記第2のADRCが上記第2のコンテナにおいて上記異常を解決するためのポリシーを持たないと上記第2のADRCによって判断したことに基づいて、上記異常を解決できないことを第3のコンテナに通知するステップを含み得て、上記第3のコンテナは、上記コンポーネントのうちの1つである。上記第3のコンテナは、上記第2のコンテナを含み得る。上記方法は、上記第3のコンテナ内に構成される第3のADRCによって、上記第3のコンテナにおいて上記異常を解決するためのポリシーを特定するステップを含み得る。上記方法は、上記第3のコンテナにおいて上記異常を解決するための、上記ポリシーで特定される修正アクションを起動するステップを含み得る。
上記および下記の技術は、いくつかの方法およびいくつかの文脈で実現することができる。以下でより詳細に説明するように、以下の図面を参照して、いくつかの例示的な実現例および文脈を提供する。1つの特定の例示的な実現例は、非常に詳細に説明する自律型システムである。しかし、以下の実現例および文脈は、多くのうちの一部に過ぎない。
実施例に係るクラウドインフラストラクチャシステムの論理図である。 実施例に係るクラウドインフラストラクチャシステムの簡略ブロック図である。 いくつかの実施例に係るコンピューティングシステムにおいて異常を管理するための自律型システムの大まかな概要を示す。 いくつかの実施例に係るコンピューティングシステムのコンポーネントモデルを示す。 いくつかの実施例に係るコンポーネントモデルの要素間の関係を示す。 いくつかの実施例に係る異常検出および解決システム(ADRS)の異常検出および解決コンポーネント(ADRC)のブロック図を示す。 いくつかの実施例に係る異常検出および解決システム(ADRS)の異常検出および解決コンポーネント(ADRC)のブロック図を示す。 いくつかの実施例に係る階層型ADRSで実現される自律型クラウドコンピューティングシステムの一例を示す。 いくつかの実施例に係る階層型異常分類構造を示す。 いくつかの実施例に係る定義済みの異常の範囲を示すブロック図である。 いくつかの実施例に係る自律型クラウドインフラストラクチャシステムにおいて実行されるオペレーションのブロック図を示す。 いくつかの実施例に係るログファイルフローの大まかな図を示す。 いくつかの実施例に係る異常検出および解決のためのプロセスのフローチャートを示す。 いくつかの実施例に係る異常検出および解決のためのプロセスのフローチャートを示す。 実施例を実現するための分散型システムの簡略図を示す。 本開示の実施例に係る、サービスがクラウドサービスとして提供され得るシステム環境の1つ以上のコンポーネントの簡略ブロック図を示す。 本発明の実施例を実現するために使用され得る例示的なコンピュータシステムを示す。 本発明の実施例を実現するために使用され得るADRSを示す。
発明の詳細な説明
以下の説明では、本発明の実施例が十分に理解されるようにするために、説明の目的で具体的詳細を記載する。しかし、これらの具体的詳細がなくてもさまざまな実施例を実施できることは明らかであろう。図面および説明は、限定的であるよう意図されるものではない。
特定の実施例では、クラウドインフラストラクチャシステムなどのコンピューティングシステムにおいて異常を自動的に検出して解決するための技術(たとえば、方法、システム、1つ以上のプロセッサによって実行可能なコードまたは命令を格納する非一時的なコンピュータ読取可能な媒体)を提供する。
I.クラウドインフラストラクチャシステム
図1は、一実施例に係るクラウドインフラストラクチャシステムの論理図である。クラウドインフラストラクチャシステムは、セルフサービスの、サブスクリプションベースの、弾性的にスケーラブルな、信頼性のある、高可用性の、安全な態様で顧客に与えられる一連のアプリケーション、ミドルウェアおよびデータベースサービス提供品へのアクセスを提供し得る。クラウドインフラストラクチャシステムは、オラクル(登録商標)社によって提供されるオラクルパブリッククラウドなどのパブリッククラウドのために実現され得る。
クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムにおいてサービスおよびリソースについての顧客のサブスクリプションをプロビジョニング、管理および追跡する機能、クラウドインフラストラクチャシステムにおいてサービスを利用する顧客に予測可能な作業費用を提供する機能、クラウドインフラストラクチャシステムにおいて顧客のデータのロバストなアイデンティティドメインの分離および保護を提供する機能、クラウドインフラストラクチャシステムの設計の透過的なアーキテクチャおよび制御を顧客に提供する機能、データ保護の保証とデータプライバシ基準および規制の順守とを顧客に提供する機能、クラウドインフラストラクチャシステムにおいてサービスを構築およびデプロイするための統合された開発経験を顧客に提供する機能、ならびにクラウドインフラストラクチャシステムにおいてビジネスソフトウェア、ミドルウェア、データベースおよびインフラストラクチャサービスの間のシームレスな統合を顧客に提供する機能を含むがこれらに限定されない多くの機能を提供することができる。
特定の実施例では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブベースの電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスなどの、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用可能な多数のサービスを含み得る。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすように動的にスケーリング可能である。クラウドインフラストラクチャシステムによって提供されるサービスの具体的なインスタンス化は、本明細書ではサービスインスタンスと称される。一般に、クラウドサービスプロバイダのシステムからインターネットなどの通信ネットワークを介してユーザが利用可能なサービスはいずれも、クラウドサービスと称される。一般に、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスサーバおよびシステムとは異なっている。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションをホストし得て、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドで当該アプリケーションをオーダーし、使用し得る。
コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、クラウドベンダによってユーザに提供されるかまたはそうでなければ当該技術分野において公知のストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーションまたは他のサービスへの保護されたコンピュータネットワークアクセスを含む。たとえば、サービスは、インターネットを介したクラウド上のリモートストレージへの、パスワードによって保護されたアクセスを含んでいてもよい。別の例として、サービスは、ネットワーク化された開発者による私的使用のためのウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含んでいてもよい。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされる電子メールソフトウェアアプリケーションへのアクセスを含んでいてもよい。
図1では、クラウドインフラストラクチャシステム100は、クラウドまたはネットワーク化された環境を介してさまざまなサービスを提供し得る。これらのサービスは、ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)カテゴリ、プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)カテゴリ、インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)カテゴリ、またはハイブリッドサービスを含むサービスの他のカテゴリの下で提供される1つ以上のサービスを含んでいてもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスをオーダーし得る。次いで、クラウドインフラストラクチャシステム100は、顧客のサブスクリプションオーダーにおけるサービスを提供するために処理を実行する。
クラウドインフラストラクチャシステム100は、さまざまなデプロイメントモデルを介してクラウドサービスを提供し得る。たとえば、サービスは、クラウドインフラストラクチャシステム100が(たとえばオラクル(登録商標)社によって所有される)クラウドサービスを販売する組織によって所有され、サービスが一般的な公営企業またはさまざまな産業企業が利用可能であるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム100が単一の組織のために単独で運営され、当該組織内の1つ以上のエンティティにサービスを提供することができるプライベートクラウドモデルの下で提供されてもよい。また、クラウドサービスは、クラウドインフラストラクチャシステム100およびシステム100によって提供されるサービスが関連のコミュニティの中のいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。
図1に示されるように、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100によって提供されるサービスのプロビジョニングを可能にする、連携して動作する複数のコンポーネントを備えていてもよい。図1に示される実施例では、クラウドインフラストラクチャシステム100は、SaaSプラットフォーム102と、PaaSプラットフォーム104と、IaaSプラットフォーム110と、インフラストラクチャリソース106と、クラウド管理機能108とを含む。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。
SaaSプラットフォーム102は、SaaSカテゴリに入るクラウドサービスを提供するように構成される。たとえば、SaaSプラットフォーム102は、統合された開発およびデプロイメントプラットフォーム上で一連のオンデマンドのアプリケーションを構築および供給するための機能を提供し得る。SaaSプラットフォーム102は、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。SaaSプラットフォーム102によって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム100上で実行されるアプリケーションを利用することができる。顧客は、顧客が別個のライセンスおよびサポートを購入する必要なくアプリケーションサービスを取得することができる。
さまざまな異なるSaaSサービスが提供され得る。例としては、大きな組織に販売実績管理、企業統合およびビジネスの柔軟性などのためのソリューションを提供するサービスが挙げられるが、これに限定されるものではない。一実施例では、SaaSサービスは、顧客関係管理(Customer Relationship Management:CRM)サービス110(たとえばオラクルクラウドによって提供されるフュージョンCRMサービス)、人材管理(Human Capital Management:HCM)/才能管理サービス112などを含んでいてもよい。CRMサービス110は、顧客への販売活動サイクルの報告および管理に向けられるサービスなどを含んでいてもよい。HCM/才能サービス112は、顧客へのグローバルな労働力ライフサイクル管理および才能管理サービスの提供に向けられるサービスを含んでいてもよい。
標準化された、共有の、弾性的にスケーラブルなアプリケーション開発およびデプロイメントプラットフォームにおけるPaaSプラットフォーム104によって、さまざまな異なるPaaSサービスが提供され得る。PaaSサービスの例としては、共有される共通のアーキテクチャ上で既存のアプリケーションを(オラクルなどの)組織が集約することを可能にするサービス、および、プラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能が挙げられ得るが、これらに限定されるものではない。PaaSプラットフォーム104は、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。顧客は、顧客が別個のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステム100によって提供されるPaaSサービスを取得することができる。PaaSサービスの例としては、オラクルJava(登録商標)クラウドサービス(Java Cloud Service:JCS)、オラクルデータベースクラウドサービス(Oracle Database Cloud Service:DBCS)などが挙げられるが、これらに限定されるものではない。
PaaSプラットフォーム104によって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム100によってサポートされるプログラミング言語およびツールを利用することができ、デプロイされたサービスを制御することもできる。いくつかの実施例では、クラウドインフラストラクチャシステム100によって提供されるPaaSサービスは、データベースクラウドサービス114と、ミドルウェアクラウドサービス(たとえばオラクルフュージョンミドルウェアサービス)116と、Javaクラウドサービス117とを含んでいてもよい。一実施例では、データベースクラウドサービス114は、組織がデータベースリソースをプールし、データベースクラウドの形態でデータベース・アズ・ア・サービスを顧客に提供することを可能にする共有のサービスデプロイメントモデルをサポートし得て、ミドルウェアクラウドサービス116は、さまざまなビジネスアプリケーションを開発およびデプロイするために顧客にプラットフォームを提供し、Javaクラウドサービス117は、クラウドインフラストラクチャシステム100においてJavaアプリケーションをデプロイするために顧客にプラットフォームを提供する。図1に示されるSaaSプラットフォーム102およびPaaSプラットフォーム104におけるコンポーネントは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例では、SaaSプラットフォーム102およびPaaSプラットフォーム104は、クラウドインフラストラクチャシステム100の顧客に追加のサービスを提供するための追加のコンポーネントを含んでいてもよい。
IaaSプラットフォーム110によってさまざまな異なるIaaSサービスが提供され得る。IaaSサービスは、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のために、ストレージ、ネットワークおよび他の基礎的な計算リソースなどの基本的な計算リソースの管理および制御を容易にする。
特定の実施例では、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100の顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース106を含む。一実施例では、インフラストラクチャリソース106は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するために、サーバ、ストレージおよびネットワーキングリソースなどのハードウェアの予め統合された、最適化された組み合わせを含む。
特定の実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100においてクラウドサービス(たとえばSaaS、PaaS、IaaSサービス)の包括的な管理を提供する。一実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100によって受取られた顧客のサブスクリプションをプロビジョニング、管理および追跡するための機能などを含む。
図2は、実施例に係るクラウドインフラストラクチャシステム100の簡略ブロック図である。図2に示される実現例は、図2に示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図2に示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム100は、図2に示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。特定の実施例では、最適な性能を提供する垂直統合を提供するようにハードウェアおよびソフトウェアコンポーネントが積層される。
さまざまなタイプのユーザがクラウドインフラストラクチャシステム100と対話し得る。これらのユーザは、たとえば、デスクトップ、モバイル機器、タブレットなどのさまざまなクライアント装置を使用してクラウドインフラストラクチャシステム100と対話し得るエンドユーザ150を含んでいてもよい。また、ユーザは、さまざまな統合された開発環境(integrated development environment:IDE)を介して、および他のアプリケーションを介して、コマンドラインインターフェース(command line interface:CLI)、アプリケーションプログラミングインターフェース(application programming interface:API)を使用してクラウドインフラストラクチャシステム100と対話し得る開発者/プログラマ152を含んでいてもよい。また、ユーザは、オペレーションスタッフ154を含んでいてもよい。これらは、クラウドサービスプロバイダのスタッフまたは他のユーザのスタッフを含んでいてもよい。
アプリケーションサービス層156は、クラウドインフラストラクチャシステム100によって提供され得るさまざまなクラウドサービスを特定する。これらのサービスは、サービス統合および連結層158を介してそれぞれのソフトウェアコンポーネント160(たとえばJavaサービスを提供するためのオラクルウェブロジックサーバ、データベースサービスを提供するためのオラクルデータベースなど)にマッピングされるか、または関連付けられ得る。
特定の実施例では、クラウドインフラストラクチャシステム100のさまざまなコンポーネントまたはモジュールおよびクラウドインフラストラクチャシステム100によって提供されるサービスによって共有されるいくつかの内部サービス162が提供され得る。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、エンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよび回復サービス、IDEにおいてクラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを含み得るが、これらに限定されるものではない。
ランタイムインフラストラクチャ層164は、さまざまな他の層およびコンポーネントが構築されるハードウェア層を表わす。特定の実施例では、ランタイムインフラストラクチャ層164は、ストレージ、処理およびネットワーキングリソースを提供するための1つのオラクルのExadataマシンを備えていてもよい。Exadataマシンは、さまざまなデータベースサーバ、ストレージサーバ、ネットワーキングリソース、およびクラウドサービス関連のソフトウェア層をホストするための他のコンポーネントから構成され得る。特定の実施例では、Exadataマシンは、ストレージ、計算、ネットワークおよびソフトウェアリソースの集合体を提供するエンジニアド・システムであるOracle Exalogicと連携するように設計され得る。ExadataおよびExalogicの組み合わせは、クラウドサービスを提供するための高性能で、高可用性で、スケーラブルで、安全な、管理されたプラットフォームを与える完全なハードウェアおよびソフトウェアエンジニアドソリューションを提供する。
II.異常検出および解決システムの大まかな概要
図3は、クラウドインフラストラクチャシステム300などのコンピューティングシステムにおいて異常を管理するための自律型システム300の大まかな概要を示す。下記の技術のうちの1つ以上は、1つ以上のコンピュータシステムにおいて実現されてもよく、または1つ以上のコンピュータシステムを含んでいてもよい。
システム300は、クライアントシステム302,クライアントシステム304...クライアントシステム308(総称して「クライアントシステム」または「クライアント」310)と、自律型システムコンポーネント(autonomic system component:ASC)318と、図1および図2のクラウドインフラストラクチャシステム100と、異常検出および解決システム(ADRS)320とを含み得る。ASC318は、クラウドインフラストラクチャシステム100のクラウド管理機能108に含まれ得る。クライアントシステム310は、クラウドインフラストラクチャシステム100によって提供されるサービスにアクセスするために1人以上のユーザによって操作され得る。クライアントシステム310およびクラウドインフラストラクチャシステム100は、1つ以上の通信ネットワーク330を介して通信可能に接続され得る。通信ネットワークの例としては、インターネット、広域ネットワーク(wide area network:WAN)、ローカルエリアネットワーク(local area network:LAN)、イーサネット(登録商標)ネットワーク、パブリックまたはプライベートネットワーク、有線ネットワーク、無線ネットワークなど、およびそれらの組み合わせが挙げられるが、これらに限定されるものではない。さまざまな通信プロトコルを使用して、IEEE 802.XXのプロトコル一式、TCP/IP、IPX、SAN、AppleTalk、ブルートゥース(登録商標)および他のプロトコルなどの有線プロトコルも無線プロトコルも含む通信を容易にすることができる。
いくつかの実施例では、クラウドインフラストラクチャシステム100などのコンピューティングシステムは、システムを動作させるための1つ以上のコンポーネント、多くの場合多くのコンポーネント、で実現され得る。コンポーネントのうちの全てまたはいくつかは関係付けられ得る。コンポーネントは、図4および図5を参照して説明するコンポーネントモデルなどのコンポーネントモデルに基づいて定義され得る。以下でさらに説明するように、コンポーネントは、物理的コンポーネント(たとえば、物理マシン、ネットワークスイッチおよびストレージデバイス)、仮想コンポーネント(たとえば、計算仮想マシン、Java仮想マシン(Java Virtual Machine:JVM)および仮想ネットワークインターフェイスコントローラ(network interface controller:NIC))、およびソフトウェアコンポーネント(たとえば、オペレーティングシステムおよびアプリケーション)を含み得る。
図3の例では、クラウドインフラストラクチャシステム100は、1つ以上のコンポーネントを含む。たとえば、クラウドインフラストラクチャシステム100は、1つ以上のコンテナを含む。コンテナ(たとえば、サービスコンテナ)は、特別なタイプのコンポーネントである。コンテナは、そこで実行されるコンポーネントにリソースを提供することができ、またはコンテナは、コンポーネントに含まれていてもよい。コンテナは、実行されるコンポーネントに名前空間およびリソースプール(resource pool:RP)を提供することができる。コンテナは、リソースプールを有し、当該コンテナで実行される他のコンポーネントのための環境を提供するコンポーネントであり得る。クラウドインフラストラクチャシステム100は、コンテナ名前空間を提供するコンテナ350などのコンポーネントを含む。コンテナ350は、コンテナ360(「コンテナ名前空間」)、コンテナ370(「コンテナ名前空間」)および1つ以上の異常検出および解決コンポーネント(ADRC)(たとえば、ADRC354)などの、コンテナ350内に埋め込まれた複数のコンポーネントを含み得る。ADRC354は、環境レベルのADRCであってもよい。ADRCについては以下でさらに説明する。たとえば、JVMは、コンテナであるVM内で実行されている埋め込みコンテナであってもよい。コンポーネントは、1つのコンポーネントが複数の埋め込みコンポーネントを有することができ、当該複数の埋め込みコンポーネントが複数のコンポーネントをさらに有することができるような階層型の態様で実現され得る。コンポーネントは、複数レベルの階層で定義され得て、各レベルは、当該階層の別のレベルに複数のコンポーネントを有する1つのコンポーネントに対応する。
コンテナ350は、コンテナ350に埋め込まれたコンテナにリソースを提供するためにリソースプール(RP)352を含み得る。一般に、本開示では、リソースは、ハードウェアリソース、ソフトウェアリソース、ファームウェアリソース、またはそれらの組み合わせを含み得る。たとえば、RPは、CPU、メモリ、ストレージ、IO帯域幅、ネットワーク帯域幅などの一組のリソースを含んでいてもよい。RPは、RUがそこからリソースを入手してそこにリソースを戻すことを可能にし得る。いくつかの実施例では、RPは、実行時にリソースを増加または減少させることができるようにダイナミックリソースプール(dynamic resource pool:DRP)であってもよい。DRPは、実行中に個別にリソースを提供するように動的であってもよく、または実行中にコンテナと共有されてもよい。RPは、1つ以上のリソースプロバイダを含んでいてもよく、または1つ以上のリソースプロバイダによってサポートされてもよい。いくつかの実施例では、コンテナは、リソースを提供するリソースプロバイダを含み得る。
コンテナ350などのコンポーネントは、少なくとも1人のリソースユーザ(resource user:RU)を含み得る。RUは、コンテナを動作させるスレッドまたはプロセスを含み得る。別のコンポーネント(たとえば、コンテナ)内のコンポーネントがRUと考えられてもよい。システム300における例では、コンテナ350は、各々がRUであるコンテナ360および370などの1つ以上のコンポーネントを含み得る。たとえば、コンテナ360およびコンテナ370は、物理マシンであるコンテナ350のための仮想マシンであってもよい。RP352は、コンテナ350内のコンテナ360,370にリソースを提供し得る。コンポーネントは、別のコンポーネント内のリソースプロバイダであってもよい。たとえば、Java仮想マシン(JVM)は、オペレーティングシステムリソースのユーザであり、そこで実行されるJavaアプリケーションに対するリソースのプロバイダである。したがって、JVMは、別のコンテナ内に組み込まれたコンテナであってもよい。コンテナが利用できるリソースは、当該コンテナが特定の量のリソースを保証されるが過剰なリソースを使用することになってしまわないように制約される(制限される)可能性がある。各々の組み込まれたコンテナ360およびコンテナ370は、リソースプール362およびリソースプール372をそれぞれ含み得る。
ADRS320は、クラウドインフラストラクチャシステム100において実行される処理の中で異常を監視して、異常を解決するためのアクションを講じ得る。特に、ADRSは、クライアントシステム310に提供されるサービスにおける異常を検出して解決し得る。ADRS320は、ASC318のコンポーネントであってもよい。ASC318はクラウドインフラストラクチャシステム100とは別個であるものとして示されているが、ADRS320は、図1のクラウド管理機能108などのクラウドインフラストラクチャシステム100に含まれてもよく、またはクラウドインフラストラクチャシステム100と一体化されてもよい。ASC318は、クラウドインフラストラクチャシステム100の外側にあってもよく、ネットワーク330を介してクラウドインフラストラクチャシステム100に通信可能に結合されてもよい。ASC318は、本明細書に開示されているオペレーションを、異常の管理、検出および解決のために実行されるものとして実行し得る。
ADRS320は、1つ以上のコンピュータおよび/またはサーバを備え得るコンピュータシステムを使用して実現されてもよく、当該1つ以上のコンピュータおよび/またはサーバは、汎用コンピュータ、(一例として、PCサーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント型サーバなどを含む)専用のサーバコンピュータ、サーバファーム、サーバクラスタ、分散型サーバ、またはそれらのその他の適切な配置および/もしくは組み合わせであってもよい。たとえば、ADRS320は、本開示の実施例に従って本明細書に記載されている処理を実行するためのコンピュータシステムに対応し得る。ADRS320を構成するコンピューティングシステムは、HTTPサーバ、FTPサーバ、CGIサーバ、Javaサーバ、データベースサーバなどを含む、任意の数のオペレーティングシステムまたはさまざまなさらなるサーバアプリケーションおよび/もしくは中間層アプリケーションを実行し得る。例示的なデータベースサーバは、マイクロソフト社から市場で入手可能なものなどを含むが、それらの限定されるものではない。一例では、ADRS320は、オラクル(登録商標)社によって提供されるオラクルパブリッククラウドなどの、クラウドインフラストラクチャシステム100によって提供されるサービスに含まれてもよく、または当該サービスとして実現されてもよい。さまざまな実施例では、ADRS320は、上記の開示に記載されている1つ以上のサービスまたはソフトウェアアプリケーションを実行するように構成され得る。
いくつかの実施例では、ASC318は、上記のものを含み得る1つ以上のコンピュータおよび/またはサーバを備えたエンタープライズコンピューティングシステムまたはクラウドコンピューティングシステムとして実現されてもよい。ASC318は、いくつかのサブシステムおよび/またはモジュールを含み得て、いくつかは図示されていないかもしれない。たとえば、ASC318は、ADRS320と、サービス作成およびデプロイメント管理システム(service creation and deployment management system:SCDMS)322と、構造および構成管理システム(composition and configuration management system:CCMS)324と、ログリザーバおよび分析システム(log reservoir and analytics system:LRAS)328とを含み得る。ADRS320は、SCDMS320、CCMS324およびLRAS326とともに使用され得る。ASC318は、1つ以上のADRCで実現されてもよく、または1つ以上のADRCを使用して動作してもよい。さらに以下で説明するように、ASC318は、クラウドインフラストラクチャシステム100における(たとえば、組み込まれる)1つ以上のサブシステムおよび/またはモジュールを含んでいてもよく、または当該1つ以上のサブシステムおよび/またはモジュールで実現されてもよい。ADRCは、クラウドインフラストラクチャシステム100におけるサブシステムおよび/またはモジュールであってもよい。ADRCは、1つ以上のサブシステムおよび/またはモジュールを有するコンピューティングシステムであってもよい。ASC318は、図に示されているよりも多くのサブシステムおよび/またはモジュールを有していてもよく、または図に示されているよりも少ないサブシステムおよび/またはモジュールを有していてもよく、2つ以上のサブシステムおよび/またはモジュールを組み合わせてもよく、またはサブシステムおよび/またはモジュールの異なる構成または配置を有していてもよい。ASC318のサブシステムおよびモジュールは、ソフトウェア(たとえば、プロセッサによって実行可能なプログラムコード、命令)、ファームウェア、ハードウェア、またはそれらの組み合わせで実現されてもよい。いくつかの実施例では、ソフトウェアは、メモリ(たとえば、非一時的なコンピュータ読取可能な媒体)内、メモリデバイス上、または何らかの他の物理メモリ上に格納されてもよく、1つ以上の処理ユニット(たとえば、1つ以上のプロセッサ、1つ以上のプロセッサコア、1つ以上のGPUなど)によって実行されてもよい。
特定の実施例では、ASC318は、他のサービスも提供し得て、または、ソフトウェアアプリケーションは、非仮想環境および仮想環境を含み得る。いくつかの実施例では、これらのサービスは、ウェブベースのサービスもしくはクラウドサービスとして、またはソフトウェア・アズ・ア・サービス(SaaS)モデルの下で、クライアントシステム310のユーザに提供され得る。たとえば、ASC318のADRS320は、クラウドインフラストラクチャシステム100において異常を検出して解決し得る。ASC318によって提供されるサービスは、アプリケーションサービスを含み得る。アプリケーションサービスは、SaaSプラットフォームを介してASC318によって提供され得る。SaaSプラットフォームは、SaaSカテゴリに該当するサービスを提供するように構成され得る。SaaSプラットフォームは、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理して制御し得る。SaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムとして実現され得る、ASC318で実行されるアプリケーションを利用することができる。ユーザは、別個のライセンスおよびサポートを購入する必要なくアプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスが提供されてもよい。そして、クライアントシステム310を操作するユーザは、1つ以上のアプリケーションを利用して、ASC318と対話して、ASC318のサブシステムおよび/またはモジュールによって提供されるサービスを利用し得る。
ASC318は、少なくとも1つのメモリと、1つ以上の処理ユニット(またはプロセッサ)と、ストレージとを含み得る。処理ユニットは、適宜、ハードウェア、コンピュータによって実行可能な命令、ファームウェア、またはそれらの組み合わせで実現されてもよい。処理ユニットのコンピュータによって実行可能な命令またはファームウェアの実現例は、本明細書に記載されているさまざまなオペレーション、機能、方法および/またはプロセスを実行するように任意の好適なプログラミング言語で書き込まれるコンピュータによって実行可能なまたはマシンによって実行可能な命令を含み得る。ASC318におけるメモリは、処理ユニットでロード可能および実行可能なプログラム命令と、これらのプログラムの実行中に生成されるデータとを格納し得る。メモリは、揮発性(ランダムアクセスメモリ(random access memory:RAM)など)であってもよく、および/または、不揮発性(リードオンリメモリ(read-only memory:ROM)、フラッシュメモリなど)であってもよい。メモリは、コンピュータ読取可能な記憶媒体などのいずれかのタイプの永久的ストレージデバイスを使用して実現されてもよい。いくつかの実施例では、コンピュータ読取可能な記憶媒体は、悪質なコードを含む電子通信からコンピュータを保護するように構成され得る。コンピュータ読取可能な記憶媒体は、プロセッサで実行されたときに本明細書に記載されているオペレーションを実行する命令を格納し得る。
ASC318は、ストレージも含んでいてもよく、またはストレージに結合されていてもよく、当該ストレージは、メモリストレージデバイスまたは他の非一時的なコンピュータ読取可能な記憶媒体などのいずれかのタイプの永久的ストレージデバイスを使用して実現されてもよい。いくつかの実施例では、ローカルストレージは、1つ以上のデータベース(たとえば、ドキュメントデータベース、リレーショナルデータベースまたは他のタイプのデータベース)、1つ以上のファイルストア、1つ以上のファイルシステム、またはそれらの組み合わせを含み得る、または実現し得る。たとえば、ASC318は、1つ以上のデータストアに結合されてもよく、または1つ以上のデータストアを含んでいてもよい。メモリおよびさらなるストレージは全て、コンピュータ読取可能な記憶媒体の例である。たとえば、コンピュータ読取可能な記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報の格納のためのいずれかの方法または技術で実現される揮発性または不揮発性のリムーバブルまたは非リムーバブルメディアを含み得る。データストアは、ネットワーク330を介してアクセス可能であり得る。本明細書に開示されている技術に従ってデータを格納するためにより多くのデータストアが実現されてもよく、またはより少ないデータストアが実現されてもよい。
ASC318は、エンタープライズコンピューティングシステムまたはクラウドシステム(たとえば、クラウドインフラストラクチャシステム100)などのコンピューティングシステムのために実現されて、コンピューティングシステムが自律的に動作することを可能にし得る。例示の目的で、ASC318は、クラウドインフラストラクチャシステム100での実現の一例として示されている。このような実現例は、コンピューティングシステムのオペレーションに対するメリットおよび改善点を示すように図示されている。しかし、クラウドシステムに関して図に示されている実施例は、クラウドシステムに限定されるよう意図されるものではなく、多くの異なるタイプのコンピューティングシステムで実現されてもよい。ASC318は、コンピューティングシステムの性能における異常を自動的に検出して、軽減とまではいかなくても解決するためのアクションを講じることができる。異常の例としては、応答時間異常、負荷異常、リソース使用異常、コンポーネント障害異常、および停止異常を挙げることができる。さまざまなタイプの異常については、図9および図10を参照してさらに説明する。
クラウドインフラストラクチャシステム100で発生する多くの異常は、負荷スパイク、コンポーネント障害および/またはシステムの悪意ある使用を含む要因によって引き起こされる可能性があり、それらの異常は、リソース使用の増加、重要業績指標(KPI)の悪化、および1つ以上のコンテナでのエラーのスパイクという形で顕在化する。クラウドインフラストラクチャシステム100にサービスをデプロイする開発チーム、製品マネージャ、ビジネス開発マネージャおよびシステム管理者は、一組のイベント−条件−アクション(event-condition-action::ECA)ルールを思い付き、時間をかけてそれらを改良して、異常をプログラム的に解決できるように各サービスについてのこれらの一時的な異常に対処することができる。異常が長期間にわたって持続する場合、それは新たな常態であると考えなければならないかもしれず、サービスについてのリソース割り当てポリシーを再評価しなければならないかもしれない。異常に対する修正アクションは、いくつか例を挙げると、より多くのサーバをスピンアップすること、サービス要求到着率を抑制すること、いくつかのスレッドまたはプロセスを中止すること、および、リソースを使用していないサービスから臨時にそれらを必要とするサービスにリソースを動的に再割り当てすることを含む。
ADRS320は、異常の分類システム(「異常分類システム」)ならびに階層型のルールベースの異常検出および解決技術に基づいて異常を検出して解決することができる。ADRS異常分類については、図9および図10を参照してさらに説明する。異常は、定義済みの異常および未定義の異常などの1つ以上のカテゴリに分類され得る。異常は、クラウドインフラストラクチャシステム100の性能基準を維持するようにADRS320によって監視され解決され得る。性能基準は、1つ以上のシステムメトリックに基づいて定義することができる。たとえば、性能基準は、クラウドインフラストラクチャシステム100によって提供されるサービスについての1つ以上のサービス品質(QoS)属性に基づいて定義されてもよい。QoS属性は、サービスレベル合意(SLA)などのサービスについての合意によってまたは当該合意のために定義され得る。異常は、クラウドインフラストラクチャシステム100などの、監視されているシステムの管理者によって定義され得る。異常は、管理者によって定義され得る1つ以上のユーザ定義のシステムメトリックに基づいて定義され得る。ユーザ定義のシステムメトリックは、リソース使用、負荷スパイク、悪意ある使用およびコンポーネント障害を含み得る。
1つ以上のADRCは、クラウドインフラストラクチャシステムの外側で実現されてもよく、クラウドインフラストラクチャシステム100内で実現されてもよく、またはそれらの組み合わせで実現されてもよい。ADRCは、ADRS320のために実現され得る。異常を検出して、問題を軽減するためのアクションを直ちに講じるために、1つ以上のADRCは、クラウドインフラストラクチャシステム100内の1つ以上のコンポーネントに挿入され得る。たとえば、ADRCは、各々の組み込まれたコンテナを含むコンテナ350,360,370の各々などのクラウドインフラストラクチャシステム100の各コンポーネントにおいて実現されてもよい。コンテナ360,370における各コンポーネントは、専用のADRCを含み得る。ADRCは、クラウド環境レベルでクラウドインフラストラクチャシステム100において実現され得る。たとえば、ADRCは、クラウドインフラストラクチャシステム100における各コンポーネントに加えて、クラウドインフラストラクチャシステム100全体(たとえば、クラウド環境レベル)のために実現されてもよい。ASC318は、ADRCを含み得て、またはクラウドインフラストラクチャシステム100のためのクラウド環境レベルでのADRCとして動作し得る。クラウドインフラストラクチャシステム100におけるADRCはいずれも、それ自体で、ADRS320からの制御によって、またはそれらの組み合わせで実行されるように実現され得る。図5〜図7でさらに説明するように、ADRCは、異常の検出および解決をコンポーネントレベルで支援するために複数のコンポーネントを含み得る。
コンポーネント内のADRCは、実行されているプロセス中に発生するイベントの異常を検出することができる。当該プロセスは、クライアントシステムに提供されているサービスの一部であってもよい。ADRCは、異常検出器を利用して、ADRS320について定義される異常を検出し得る。ADRC(たとえば、ADRC354)は、ADRCを含むコンポーネントについて異常解決ポリシーが定義されるか否かを判断し得る。ポリシーが定義される場合、ADRCは、ポリシーエンジンを利用して、ポリシーに基づいて異常を解決しようと試みることになる。異常を解決できない場合、または異常について定義されるポリシーがない場合には、ADRCは、イベントの異常についての情報を親コンポーネント(たとえば、コンテナ350)に通信して解決し得る。親コンポーネントは、どのように異常を解決するかおよび親コンポーネントにおいてそのようなポリシーが定義されるか否かを判断することができるADRC(たとえば、ADRC354)を含み得る。
親コンポーネントが異常を解決できない場合、イベントの異常についての情報は、クラウドインフラストラクチャシステムにおけるコンポーネントの階層内に定義される親コンポーネントのより高いレベルの親コンポーネントに通信され得る。イベントの異常についての情報は、クラウドインフラストラクチャシステム100に定義されるコンポーネントの階層内の関連する各々の後続の親コンポーネントに通信され得る。コンポーネントが親コンポーネントを持たないと判断すると、イベントの異常についての情報は、ADRSのためのメッセージングシステムに発行され、クラウド環境レベルで異常に対処する、または警告を発行する。
異常解決に対するこの階層型アプローチは、集中型異常管理と比較して素早く、リソース使用の点で効率的である。コンポーネントレベルまで異常検出および解決を分離することによって、異常の発生に限局されるコンポーネントまたは親コンポーネントにおいて異常が対処されるので、異常の解決に消費される計算リソースを少なくすることができる。集中型システムへの異常の通信を減少させることによって、クラウドインフラストラクチャシステム100は、異常の解決のための応答時間を減少させることができ、場合によっては、異常が局所コンポーネントにおいて解決されるので、さらなる問題または異常が発生することを防止することができる。異常検出および管理に対する局所的アプローチは、クラウドシステムなどの大規模コンピューティングシステムにおいて何千もの異常に対処することへの人間の関与を減少させることができる。異常検出および解決をコンポーネントレベルに限局することによって、クラウドインフラストラクチャシステムは、人間の関与がほとんどない状態で、さらに自律的に動作することができる。
ADRS320は、ADRCによってコンポーネントレベルで対処される異常の検出および解決を連係させ管理し得る。ADRCは、2つのサブシステム、すなわち異常検出および通知システム(Anomaly Detection and Notification System:ADNS)および異常解決サブシステム(Anomaly Resolution Subsystem:ARS)で構成される。ADNSサブシステムは、異常について監視するためにどのメトリックが必要であるか、イベントを発行する前に、異常が検出された場合にどの条件をテストするか、イベントデータに何を含めるかをシステム管理者が指定することを可能にする。ADNSは、異常についての関連するメトリックを監視し、異常が検出されると条件を評価し、条件が事実である場合には、ADRCが実現されるコンポーネントに対してローカルなデータストアに、異常に対応するイベントをイベントデータとともに格納する。異常を検出するための条件の一例は、イベントが生成される前に異常であるメトリックの連続読取値の数である。異常検出のためのメトリックおよび範囲は、サービスが作成されたときにASC318のSCDMS322から得られる。負荷およびリソース消費などのメトリックは、システム管理者によって定義され、ASC318のLRAS326によって提供され得る。
いくつかの実施例では、ADNSは、イベントを発行するように通信システムを実現し得る。通信システムは、通知サービスを実現し得る。通知サービスは、クラウドインフラストラクチャシステム300内のコンポーネントおよび/またはASC318との通信を容易にし得る。通信は、ネットワーク330を介して容易にされ得る。イベントおよび異常についての情報は、通信のためのプルおよび/またはプッシュ機構、たとえばプッシュまたはプル通知サービスを使用して、通信システムを介して通信され得る。プッシュおよび/またはプル機構は、ADRSおよびADRCのためにサブスクリプションベースで構成され得る。
CCMS324は、図4のコンポーネントモデルを利用して、システム(たとえば、クラウドインフラストラクチャシステム100)のハードウェアおよびサービス(ソフトウェア)コンポーネント、ならびにそれらの間の関係、ならびにそれらが生成するログおよびメトリックストリームを記述する。CCMS324は、構成リポジトリなどのデータストアを管理し得て、当該データストアは、とりわけサービスのセルフサービスデプロイメント、仮想マシン(VM)のライブマイグレーション、容量スケールアウトおよびフェイルオーバに起因して構成の動的な性質を示す時間データベースである。構成リポジトリは、図4のコンポーネントモデルに基づいて定義され得る。CCMS324は、オラクル(登録商標)社によるオラクルエンタープライズマネージャリポジトリなどの他の構成リポジトリ、および、Nimbulaまたはオープンスタック構成データベースなどの基本的なクラウドオペレーティングシステム(IaaS)によって維持される構成リポジトリ内の情報を活用し得る。
いくつかの実施例では、SCDMS322は、オーケストレータと呼ばれるサブシステムを使用または実現し得て、当該サブシステムは、異なるインフラストラクチャ・アズ・ア・サービス(IaaS)に加えて抽象化層を提供して、コンテナを作成および構成する。作成された全てのサブシステムは、新たにデプロイされるコンポーネントのアイデンティティを生成し、割り当てを行い、デプロイされているコンポーネントについてのデータおよび他のサービスへのそれらの依存性で構成リポジトリを更新する。個々のコンポーネントは、ホームディレクトリならびに関連付けられるログおよびメトリックストリームで構成リポジトリを更新する。作成されたこれらのサブシステムには、アセンブリのプログラム的デプロイメントのための、表現可能な状態の転送(representation state transfer:REST)アプリケーションプログラミングインターフェイス(application programing interface:API)およびコマンドラインインターフェイス(command line interface:CLI)を介してアクセスすることができる。
SCDMS322は、ユーザ(たとえば、アプリケーション開発者および管理者)がサービスを実現するようにコンポーネントを定義することを可能にし得る。図4および図5で説明するように、サービスを定義するコンポーネントは、1つ以上のアセンブリにおいて定義され得る。アセンブリを使用して、クラウドにおいて仮想環境をプロビジョニングしてサービスをデプロイする高度に自動化されたプロセスを提供し得る。
少なくとも1つの実施例では、SCDMS322は、ユーザが異常の属性を定義することを可能にするために、1つ以上のインターフェイスを生成してクライアントシステムに提供し得る。インターフェイスは、物理インターフェイス、グラフィカルインターフェイス(たとえば、グラフィカルユーザインターフェイス)、またはそれらの組み合わせを含み得る。グラフィカルインターフェイスは、SCDMS322によって生成され、クライアントシステム310に提供され得る。インターフェイスは、サービス(たとえば、クラウドサービス)またはアプリケーションの一部として、ネットワーク330を介して、SCDMS322の一部として提供され得る。異常の属性は、宣言型の態様で定義され得る。たとえば、ユーザは、正常なシステム挙動を定義するキーメトリックについて範囲を指定することによって異常を定義してもよく、当該キーメトリックは、サービスの応答時間、サービスの可用性、サービスに割り当てられるべきリソース、システム負荷、許容エラー率、および他のメトリックに対する期待値を含む。ユーザは、サービスのSLAに関連付けられるQoSを顧客のために実施するためにメトリックについて範囲を指定し得る。メトリックの範囲は、図9および図10を参照して説明する異常データ構造に従って定義され得る。また、SCDMS322は、新たにデプロイされるコンポーネントのアイデンティティを生成し、コンポーネント情報、ならびに、ログおよびメトリックストリームとのそれらの関係および他のコンポーネントとのそれらの関係で構成リポジトリを更新する。
オーケストレータは、クラウドインフラストラクチャシステム100へのアセンブリの作成およびデプロイメントのためのサービスアプリケーションであってもよく、アセンブリは、1つ以上のVMと、ストレージと、ソフトウェアと、ネットワーク接続とで構成され、システムがアセンブリ定義通りに動作することを可能にするシステムの一種である。オーケストレータは、インターフェイスを介してセルフサービス層を提供し、当該セルフサービス層から、ユーザはソフトウェアシステム全体の迅速なデプロイメントのためにコンポーネントおよびアセンブリのカタログを容易に利用することができ、DNSセットアップ、ソフトウェアブートストラップ、デプロイメント後のサイズ変更機能:VMサイズ決め(垂直スケーリング)、およびアセンブリスケーリング(水平スケーリング)をさらに提供する。オーケストレータカタログは、単純なバージョニング、発行および宣言型構成特徴も提供する。開発者は、オーケストレータのコンポーネントフレームワークを使用して、全ての種類のシステム(たとえば、組織または機能標準化OS画像、テストのためのソフトウェアアプリケーションの新バージョンおよび旧バージョン、公表されたラベルなど)を定義するいくつものアセンブリを実現し得る。オーケストレータによって提供されるインターフェイスは、以下の通りプロビジョニングを可能にし得る。すなわち、(1)オーケストレータによって提供されるユーザインターフェイスに対して、SSOを介して認証し、(2)オーケストレータのカタログからアセンブリを選択し、(3)アセンブリインスタンスに対して名前およびサイズ決め情報を提供し、(4)割り当ておよび計測が不利に働くプロジェクト名を提供し、(5)クラウド環境にデプロイされるアセンブリインスタンスを設定し、(6)任意に、アセンブリインスタンスを停止/開始/アンデプロイし、アセンブリインスタンスのVMをサイズ変更する、またはアセンブリインスタンスをスケーリングする。オーケストレータは、オーケストレータ管理者が、デプロイメントを監視し、オーケストレータのそのインスタンスのために全てのユーザ、デプロイメントおよびカタログに対して「スーパーユーザ」アクションをログ記録して実行することを可能にするための管理者インターフェイスを含む。
LRAS328は、クラウドインフラストラクチャシステム100内の全てのコンポーネントからログおよびメトリックストリームを収集し、統計を計算し、時系列分析を適用してメトリックの周期的範囲を判断し得る。LRAS328は、ユーザ定義の範囲が一定割合の時間以上にわたって満たされる正常なシステムオペレーションについて、各期間にわたって(たとえば、週に1回)、各間隔で(たとえば、1時間ごとに)、各メトリックについて、メトリックおよび各コンポーネントのリソース使用の傾向および周期的変動を計算する。これらの周期的範囲は、異常についてリソース使用を含むメトリックを監視できるように適切なコンポーネントに押し出される。このシステムは、教師なし機械学習技術を使用して将来の障害も予測する。
III.コンポーネントモデル
図4および図5は、クラウドインフラストラクチャシステム100を実現するためのコンポーネントモデルを示す。図4および図5における要素は、1つ以上のデータ構造を使用して実現されてもよい。データ構造は、コンポーネントモデルを利用するASC318またはADRCにアクセス可能なストレージ(たとえば、データストア)において管理することができる。示されている要素の各々は、どのようにデータが格納されるか、どのデータが格納されるか、および/または、どこにデータが格納されるかに応じてさまざまな方法で編成される1つ以上のデータ構造を使用して実現されてもよい。データ構造の各々は特定のデータを含むものとして示されているが、データを格納するためにより多くのデータ構造が実現されてもよく、またはより少ないデータ構造が実現されてもよい。データ構造は、他のデータ構造への参照を含み得る。さまざまなセキュリティアーチファクトの格納を管理するために、データ構造の各々のインスタンスが作成され得る。データ構造は、1つ以上のタイプのデータ構造を使用して実現されてもよく、当該1つ以上のタイプのデータ構造は、連結リスト、アレイ、キュー、ハッシュテーブル、マップ、レコード、グラフ、または他のタイプのデータ構造を含むが、それらに限定されるものではない。データ構造の各々は、ASC318への入力に基づいて、宣言型の態様で定義され得る。
図4は、クラウドインフラストラクチャシステム100などのコンピューティングシステムのコンポーネントモデル400を示す。図3におけるコンポーネント(たとえば、コンテナ350,360,370)は、コンポーネントモデル400に基づく。コンポーネントモデル400は、異なるメトリックおよびログストリームの相関付けに使用され得る。任意のサービスデプロイメントシステムは、1つ以上のコンポーネント402を含み得て、当該1つ以上のコンポーネント402のうちのいくつかまたは全ては関係付けられ得る。各コンポーネントは、デプロイメント410によって、1つ以上の異なるコンポーネントタイプ406のうちの1つのインスタンスとして作成される。コンポーネント同士は、さまざまな種類の関係によって関係付けることができ、当該関係は、親−子関係、たとえば物理NICが、それがインストールされるベアメタルサーバの子である関係、および、アイデンティティプロバイダを使用してそのユーザを認証する補償アプリケーションなどの対等の関係を含む。いくつかのコンポーネントは、他のコンポーネントにリソースを提供するコンテナである。コンポーネントは、1つ以上のログストリームおよび1つ以上のメトリックストリームを生成し得る。
コンポーネント402は、コンポーネントタイプ406のインスタンスとして作成され、アセンブリ408に基づいてデプロイメント410のために作成され得る。アセンブリ408は、コンポーネントとコンテナとの関係、サービスタイプのインスタンスを作成するのに必要な相互接続、およびサービスを構成するためのコードなどの他の情報の中で1つ以上のコンポーネントタイプを記述するテンプレートであり得る。アセンブリにおいて指定されるコンポーネントタイプは、コンポーネントにデプロイされるべきコンポーネントを特定するためのものである。デプロイメント410は、アセンブリ408によって示されるコンポーネントタイプに基づき得る。いくつかの実施例では、アセンブリは、サービスを提供するためのコンポーネント、各コンポーネントに必要なリソース、ネットワークおよびストレージ構成、各コンポーネントに構成されるべきソフトウェア、ならびに、サービスを監視するためのメトリックおよび応答時間の範囲を定義する。たとえば、アセンブリは、複数のCPUおよびメモリ量を有し、ソフトウェアコンポーネントがデプロイされる1つ以上のVMと、それらが使用するストレージおよび他のサービスと、ネットワーク接続とで構成され得て、システムがアセンブリ開発者の設計通りに動作することを可能にする。アセンブリを使用して、IaaSサービス、PaaSサービスまたはSaaSサービスなどの任意の複雑さの単一または複数VMベースのシステムを構築することができる。アセンブリは、VMサイズ決め情報(vCPUカウント、メモリ量)、割り当てられるべきディスクストレージ、インストールされるべきコンポーネントのリスト、ネットワーク通信情報(送信元、出力先、ポート)、およびアセンブリデプロイメント中に値が提供され得るコンポーネントによって必要とされる変数を含み得る。
各コンポーネントは、汎用一意識別子(universally unique identifier:UUID)である固有の識別子(intrinsic identifier:IID)などの識別子を有し得る。IIDは、不変であり、グローバルにおよび時間的に固有であり得て、常に同一のコンポーネントを参照する。すなわち、過去に存在したコンポーネントまたは将来出現するであろうコンポーネントを考えても、2つのコンポーネントが同一のIIDを有することはない。コンポーネントは、複数の外来的な識別子(extrinsic identifier:EID)を有し得る。これらは、コンポーネントに与えられる同様の主キーまたは他の識別子である。たとえば、物理マシンに与えられるIPアドレスがEIDである。EIDは、永久的なものであることはなく、コンポーネントの存続期間中に変化する可能性がある。2つのコンポーネントが親−子関係、すなわちあるコンポーネントが別のコンポーネント内に組み込まれる関係によって関係付けられる場合、子コンポーネントはそれ自体のIIDを有する必要はない。なお、子(または組み込まれた)コンポーネントは、親を1つだけ有し得る。
コンポーネント402は、多くの異なるコンポーネントタイプのうちの1つとして定義され得て、ネットワークデバイス414、サービスインスタンス416、コンテナ418、ストレージインスタンス420またはデータベースインスタンス422を含むが、それらに限定されるものではない。たとえば、コンポーネントは、オペレーティングシステム、データベース、ミドルウェアシステム、アプリケーション、プログラムまたはスクリプトを含んでいてもよい。図4の例では、コンテナは、物理マシン424、仮想マシン426、オペレーティングシステム(OS)コンテナ428、Java仮想マシン430およびクラスタ432を含み得るが、それらに限定されるものではない。OSコンテナは、リナックス(登録商標)(LXC)コンテナ434、ドッカーコンテナ436またはソラリスゾーン438を含み得るが、それらに限定されるものではない。別の例では、コンポーネントは、オーケストレータを実行させるためのプラグインモジュールを含んでいてもよい。オーケストレータは、仮想マシンのブートストラップ中に呼び出されるプログラムレシピとしてデータおよびブートストラップロジックを含み得る。コンポーネントは、アセンブリのコンポーネントによって使用される一組の変数の宣言を含み得る。
コンポーネントタイプ406は、いくつかある特性の中で特に、1つ以上のログストリーム412および1つ以上のメトリックストリーム404を定義することができる。コンポーネントタイプ406のインスタンスとして作成されるコンポーネント402は、コンポーネントタイプ406によって定義されるメトリックストリーム404およびログストリーム412を生成し得る。メトリックストリーム404もログストリーム412も、時系列データのストリームであってもよい。メトリックストリーム404もログストリーム412も、1つ以上のファイル、データベースに書き込まれてもよく、またはメッセージングシステムの1つ以上のトピックまたはキューに直接発行されてもよい。ストリームは、親−子関係の中で、それらを生成するコンポーネントに関連付けられる。エントリは、サービスの同一の制御フローを形成するさまざまなコンポーネントへのエントリを関係付けるために、(ODLログにおけるECIDおよびRIDなどの)いくつかのコンテキスト識別子を含み得る。
図5は、図4におけるコンポーネントモデル400の要素間の関係を示すサービスモデル500を示す。具体的には、サービスモデル500がクラウドインフラストラクチャシステム100によって利用されて、サービス510などのサービス(たとえば、サービスインスタンス)がクライアントシステム310に提供される。サービス510またはサービスインスタンスは、サービステンプレート502のインスタンスとして作成され得る。サービスは、クラウドインフラストラクチャシステム100に対する要求/応答通信を介して作成され得る。このような通信は、HTTP(S)または直接TCP/IP(たとえば、IMAP)プロトコルを使用して円滑化することができる。サービステンプレートは、それに関連付けられる1つ以上のアセンブリテンプレート(たとえば、アセンブリテンプレート504)に基づいて定義され得る。
アセンブリテンプレートは、アセンブリ(たとえば、アセンブリ512)を定義する。アセンブリは、アセンブリテンプレートのインスタンスとして作成され得る。アセンブリテンプレートは、共有ファイルシステム、ネットワーク、アセンブリにおいて定義されるコンテナが利用できるストレージ、およびクラウド環境にアセンブリをデプロイするように実行されるワークフローなどの環境レベルのリソースを定義し得る。たとえば、クラウド環境がオラクルHTTPサービス(Oracle HTTP Service:OHS)などのHTTPリスニングサービスを提供し、各サービスがOHS内に仮想ホストを作成する場合、OHSサービスを実行している既存のシステムコンテナ内に仮想ホストを作成するために、ワークフローがサービスのアセンブリテンプレートに含まれてもよい。各々のアセンブリテンプレートは、QoS特性および価格付けを定義し得る。たとえば、サービステンプレートは、2つのアセンブリテンプレート、すなわち機能をテストするための一方のアセンブリテンプレートおよびスケーラブルな生成デプロイメントのための他方のアセンブリテンプレートによって定義されてもよい。
サービスは、それに関連付けられるいくつかのエントリURIを有し得る。サービスのリスナは、クラスタであり得る専用のまたは共有のコンテナにデプロイされる。サービスは、これらのURIとの一連の要求−応答対話によって提供される。アセンブリの作成者は、サービス品質監視コンポーネントを含み得て、当該サービス品質監視コンポーネントは、アセンブリによってサポートされるエントリURIおよびサポートされる一組のサービスを表わす一組の変数を指定し、各サービスは、エントリURIのリストである。エラー特性の変数は、特定のタイプの許容エラー率を定義する。
アセンブリのデプロイメント中、ユーザは、ADRSに対して入力を提供して、SCDMSが、応答時間に関する固定された範囲または周期的範囲と、各サービスの可用性と、サービスを確立するために作成されるサービスインスタンスによって対処すべき負荷とを定義することによって、所望のサービス品質を決定することを可能にし得る。多くのサービスは、QoS特性が恐らく異なっている異なるアセンブリテンプレートを各々が使用して、単一のサービステンプレートから作成することができる。サービスは、サービスの全てのコンポーネントについて定義される全てのメトリックが、サービスおよびサービスが実行されているコンテナについて指定される範囲の範囲内であるように作成され得る。当該範囲の範囲外であると認められるいかなるメトリック値も異常であると考えられ、異常は、指定の期間にわたって持続すると、ADRS320によってリアルタイムで対処されることになる。
アセンブリテンプレートは、コンテナテンプレート506などの1つ以上のコンテナテンプレートを参照し得る。コンテナテンプレートは、コンテナタイプ、割り当てられるべきリソース、デプロイされるべきコンポーネント、コンテナに特有のメトリック、およびコンテナに特有の異常検出および解決ポリシーを定義し得る。たとえば、1つ以上のコンテナ(たとえば、コンテナ514)は、それ自体の専用のコンテナにデプロイされてもよく、または共有のコンテナにデプロイされてもよい。専用のコンテナは、さらなるコンポーネントがそこにデプロイされることを認めないが、既存のコンポーネントに対する更新は依然として実行することができる。コンテナは、2つの状態のうちの1つ、すなわち開放状態または閉鎖状態であり得る。コンポーネントは、閉鎖したコンテナにデプロイ可能であることはない。
コンポーネントテンプレート508などの非コンテナコンポーネントテンプレートは、構成仕様、(インストルメンテーションを含む)サービスに特有のメトリック、およびコンポーネント(たとえば、コンポーネント516)に特有の異常検出および解決ポリシーを定義し得る。コンポーネントは、コンテナ内で実行され得る。コンテナは、コンポーネントを使用し得る。コンテナテンプレートは、コンテナテンプレートに基づいて作成されるコンテナ内で実行されるようにコンポーネントのためのコンポーネントテンプレートを参照し得る。コンポーネントは、コンポーネントテンプレートのインスタンスとして作成され得る。コンポーネントテンプレートは、コンポーネントテンプレートに依存し得る。コンポーネントテンプレートは、キーURIの応答時間などのメトリックを宣言し得る。アセンブリがデプロイされると、所与のソフトウェア/ハードウェア環境にデプロイされるサービスを作成するために、アセンブリにおいて定義される各メトリック(たとえば、アプリケーションコンポーネントの応答時間、コンテナのためのCPU、RAMなどの数)について範囲が設けられなければならない。
IV.異常検出および解決コンポーネント(ADRC)の詳細な概要
図6および図7は、いくつかの実施例に係るADRSのADRC600のブロック図を示す。ADRCは、図3のADRS320の一部として実現されてもよい。ADRCは、クラウドインフラストラクチャシステム100内の各コンポーネントについて作成され得る。たとえば、ADRC354,364,374の各々は、ADRC600のインスタンスであってもよい。上記のように、ADRCは、クラウドインフラストラクチャシステム100のコンテナなどのコンポーネントにデプロイすることができる。ADRCは、異常を検出して解決するように実現され得る。ADRCは、Java(登録商標)などのさまざまなプログラミング言語を使用して実現され得る。
いくつかの実施例では、ADRC600は、1つ以上のサブシステムおよび/またはモジュールを含み得る。ADRC600は、異常検出および通知システム(ADNS)630と、異常解決サブシステム(ARS)620とを含み得て、ADNS630およびARS620の各々は、1つ以上のサブシステムおよび/またはモジュールを含む。ADNS630は、1つ以上の異常検出器(AD)608と、データストア612とを含み得る。ARS620は、ポリスエンジン(police engine:PE)602と、通信エージェント(communication agent:CA)604と、アクションライブラリ(action library:AL)606と、イベントディスパッチャ(event dispatcher:ED)610と、ログハーベスタ(log harvester:LH)614と、ポリシーストア616とを含み得る。
また、ADRC600は、メモリストレージデバイスまたは他の非一時的なコンピュータ読取可能な記憶媒体などのいずれかのタイプの永続的ストレージデバイスを使用して実現され得るストレージを含むか、または当該ストレージに結合される。いくつかの実施例では、ローカルストレージは、1つ以上のデータベース(たとえば、ドキュメントデータベース、リレーショナルデータベースまたは他のタイプのデータベース)、1つ以上のファイルストア、1つ以上のファイルシステム、またはそれらの組み合わせを含み得る、または実現し得る。たとえば、ADRC600は、1つ以上のデータストアに結合されてもよく、または1つ以上のデータストアを含んでいてもよい。メモリおよびさらなるストレージは全て、コンピュータ読取可能な記憶媒体の例である。たとえば、コンピュータ読取可能な記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報の格納のためのいずれかの方法または技術で実現される揮発性または不揮発性のリムーバブルまたは非リムーバブルメディアを含み得る。本明細書に開示されている技術に従ってデータを格納するためにより多くのデータストアが実現されてもよく、またはより少ないデータストアが実現されてもよい。
少なくとも1つの実施例では、ADRC600は、データストア612と、ポリシーストア616と、AL606とを含み得る。データストア612は、ラウンドロビンデータベース(round-robin database:RRD)または巡回待ち行列として実現されてもよい。RRDは、巡回待ち行列(たとえば、先入れ先出し巡回待ち行列)を使用して実現されてもよい。たとえば、図7では、ADRC600は、RRD704、RRD706、RRD708、RRD710およびRRD712などの複数のRRDを含み、各々のRRDは、異常検出器によって検出される異なるタイプの異常に対応する異なるイベントデータに特有である。イベントデータは、ADRC600が実現されるコンポーネントにおける異常イベントのソース、異常イベントの原因、異常イベントがいつ検出されたかについての情報、および異常イベントについてのその他の情報を含み得る。RRD704は、RAMで検出される異常のイベントデータを格納し得る。RRD706は、CPUで検出される異常のイベントデータを格納し得る。RRD708は、ストレージで検出される異常のイベントデータを格納し得る。RRD710は、ネットワークベースの異常のイベントデータを格納し得る。RRD712は、コンポーネントに特有の異常のイベントデータを格納し得る。
ADNS630は、クラウドインフラストラクチャシステム100において1つ以上のメトリックを監視し得る。ADNS630は、ネットワークリソースを異常の監視に使用することを最小限にするように設計される。特に、ADNS630は、ADRC600が実現されるコンポーネントにおいてメトリックを監視し得る。1つ以上の異常検出器608を利用してメトリックを監視し得て、当該メトリックは、ポーリングによってまたはイベントをリッスンすることによって、何らかのメトリックストリームにおいて直接入手可能であるかまたは何らかのログストリームから計算される。いくつかの実施例では、コンポーネントは、複数のAD、すなわちコンポーネントにおける各リソースについて1つのADを有し得る。ADは、監視すべき各々個別のメトリックについて実現されてもよい。ADは、各々のログタイプについて実現されてもよい。
メトリックは、図9を参照して説明する異常分類システムを使用して監視され得る。異常は、異常の定義に基づいてメトリックについて監視され得る。ADは、リソース使用に対応するメトリックについて定義され得る。リソースは、エラー率ターゲットに関して監視され得る。異常は、固定された範囲または周期的範囲によって定義され得る。閾値が満たされた場合にイベントを発行するようにADが構成されるように、閾値がメトリックについて定義され得る。メトリックを監視するために、ADは、さまざまな技術によって1つ以上の重要業績指標(KPI)、リソース使用およびエラーを監視し得る。メトリックは、ADRCが実現されるコンポーネントのシステムにおけるイベントへのサブスクリプションまたはポーリングメトリックによって監視され得る。たとえば、ADは、オペレーティングシステムにおいてポーリングオペレーティングシステムメトリックまたはMBean(管理されたJavaオブジェクト)属性によってリソース使用を監視してもよい。ADは、関連するログファイルを定期的にスキャンして、syslogなどのオペレーティングシステムログをリッスンし得る。
ADは、コンポーネントに特有のものであってもよく、そのため、ADは、ADを含むADRCが実現されるコンポーネントのタイプに特有の特徴を使用してメトリックを監視する。たとえば、JVMタイプのコンテナであるコンポーネントでは、ADは、異常を検出するためにJVMにデプロイされたMXBeanからのJava管理拡張機能(Java management extensions:JMX)通知をリッスンしてもよい。別の例では、LXCコンテナのADは、異常を検出するためにHekaなどのストリーム処理ソフトウェアを使用してもよい。ストリーム処理ソフトウェアは、ADNSがログおよびメトリックストリームを監視してそれらの値にフィルタを適用することを可能にし得る。当該フィルタは、範囲外の値を検出するように設計される。ADは、ADが実現されるコンポーネントのタイプに特有の言語を使用して実現され得る。たとえば、JVMコンテナタイプのADは、Java式言語(Java expression language:JEXL)を使用して実現されてもよい。いくつかの実施例では、ADNSは、監視すべきメトリックのために異常分類システムに基づいて初期化される砂箱スタイルのフィルタを使用して実現されてもよい。当該フィルタは、値をテストして、範囲外の連続読取値の数を記憶する。異常についての閾値に達すると、異常が検出され得る。
図7では、ADRC600は、RAM AD720、CPU AD722、ストレージAD724、ネットワークAD726およびコンポーネントAD728などの複数の異常検出器を有するものとして示されている。RAM AD720、CPU AD722、ストレージAD724、ネットワークAD726およびコンポーネントAD728の各々は、ADRC600が実現されるコンポーネントにおいて個別のタイプの異常を検出するように実現され得る。RAM AD720は、RAM使用に関連する異常を検出し得る。CPU AD722は、CPU使用に関連する異常を検出し得る。ストレージAD724は、ストレージ使用に関連する異常を検出し得る。ネットワークAD726は、ネットワークアクティビティに関連する異常を検出し得る。コンポーネントAD728は、コンポーネントに特有の異常を検出し得る。RAM AD720、CPU AD722、ストレージAD724、ネットワークAD726およびコンポーネントAD728の各々は、RRD704、RRD706、RRD708、RRD710およびRRD712などの個別のデータストアをそれぞれ有し得る。ADのための個別のデータストアは、ADのために検出される異常のイベントデータの格納に利用され得る。Ad720〜728の各々は、個別の異常を検出するように定義され得る。上記のように、およびさらに以下で説明するように、異常は、メトリックの特定の範囲によって定義され得る。たとえば、AD720〜726の各々は、周期的範囲に従った異常について定義されてもよく、AD728は、固定された範囲に従った異常について定義されてもよい。
ADは、異常分類システムを使用して、メトリックの値が、異常について定義された閾値を満たす場合にイベント(「異常イベント」)を検出し得る。ADは、当該イベントについてイベントデータを定義し、当該イベントデータをデータストア612に格納し得る。たとえば、異常イベントのイベントデータは、Unixデータグラムを使用してデータストア612に挿入されてもよい。イベントデータは、さらなるメトリックを含み得て、当該さらなるメトリックは、リアルタイムで収集され、次いで異常イベントについてのデータとともに格納される。ADは、定義済みの異常の範囲(たとえば、固定された範囲または周期的範囲)を監視し得る。メトリックの値が定義済みの異常の範囲の範囲内でなく、そのため、当該値が最小値尺度を下回るまたはソフト限界を上回ることを検出すると、ADは、異常が発生していることを検出し得て、当該異常を引き起こすイベントについての情報をログ記録し得る。ADは、データストア612へのログエントリを書き込んで、異常と、メトリックの値がminを下回る(たとえば、低である)またはソフト限界を上回る(たとえば、高である)か否かとを表示し得る。
ARS620は、ADNS630によって検出されるイベントに基づいて動作する。イベントディスパッチャ610は、ADRC600が実現されるコンポーネントで実行され得る。イベントディスパッチャ610は、ADNS630によって特定されるイベントをリッスンし得る。いくつかの実施例では、イベントディスパッチャ610は、ADによって検出されたイベントを通知され得る。イベントディスパッチャ610は、ADNS630におけるADによって挿入されたイベントデータによって特定される異常イベントがあるかどうかデータストア612を検査し得る。たとえば、AD720〜728の各々が、検出される異常イベントについてイベントディスパッチャ610に通知してもよい。イベントディスパッチャ610は、AD720〜728の各々を定期的にチェックして、異常イベントについての情報が記録されたか否かを判断する。いくつかの実施例では、イベントディスパッチャ610は、メッセージキュー702に基づいて異常イベントを検出し得る。AD720〜728の各々は、メッセージキュー702にメッセージを載せることによってイベントディスパッチャ610に異常イベントを通知し得る。イベントディスパッチャ610は、通知およびRRDの検査に基づいて異常イベントを処理し得る。
イベントディスパッチャ610は、ポリシーストア616をサーチして、異常イベントについて定義される各々のポリシー(たとえば、ディスパッチポリシー)を特定し得る。ポリシーストア616は、どのように異常イベントに対処するかを判断するためにディスパッチポリシーを格納し得る。たとえば、ポリシーは、異常イベントのタイプについて定義されるように、異常に特有のものであってもよい。ポリシーは、ADRC600が実現されるコンポーネントのタイプに特有の言語で実現(たとえば、定義)され得る。たとえば、JVMでは、ポリシーは、JEXLを使用して定義されてもよい。ADRC600は、ポリシーの1つ以上のルールの変更に対してポリシーストア616を更新することができる。
ポリシーは、異常イベントに対処するために実行すべきアクションを定義し得る。ポリシーで定義されるアクションは、AL606において特定される予め定義されたアクションであってもよい。ポリシーは、1つ以上のタイプの異常イベントについての1つ以上の基準(たとえば、ルールまたは条件)を含み得る。各ルールは、修正アクションペアとして少なくとも1つの修正アクションに関連付けられ得る。ポリシーの各々は、異常イベントについて登録され得る。ポリシーにおけるルールは、異常を解決してQoS違反を回避するためのイベント−条件−アクション(ECA)ルールとして定義され得る。各ポリシーは、1つ以上のイベントに関連付けられ得る。コンポーネント間の関係、特に制御フローにおけるコンポーネントの直接先行するコンポーネントおよび後続のコンポーネントで発生する異常は、ユーザ定義のルールおよびシステム定義のルールにおいて考慮される。プログラム的アクションを講じることができる場合には、それはルールのアクション部分として符号化される。ルールは、1つ以上のパラメータで定義され得る。いくつかの実施例では、5つのパラメータを有するルール(たとえば、5つの要素からなるルール)が定義され得る。5つのパラメータは、(1)異常(l)のリストと、(2)異常の最小数(l(m))と、(3)m個の異常が発生した期間または間隔と、(4)m個の異常を解決するために講じるべきアクション(a)と、(5)ルールが二度と考慮されない、アクションが起動された後の期間(q)(たとえば、クワイエットピリオド)とを含み得る。アクションは、オペレーティングシステムまたはシェルコマンド、ならびに、Puppet、Chefおよびウェブロジック・スクリプティング・ツールのようなツールを含むさまざまな技術を使用して符号化され得る。
ルールは、宣言型であってもよく、または手続き型であってもよい。宣言型ルールは、ポリシーストア616に格納され得る。宣言型ルールは、オラクル社によって提供されるオラクルビジネスルールエンジンなどのルールエンジンによって実行され得る。宣言型ルールシステムは、オラクル社によって提供されるウェブロジック診断フレームワークウォッチルールシステムなどのコンテナに特有のルールシステムによってサポートされ得る。手続き型ルールは、手続きおよびポリシーエンジン602によって使用されるパラメータ(たとえば、パラメータのタプル)のベクトルとして定義することができる。手続き型ルールの一例は、オラクル社によって提供されるオラクルウェブロジックサーバの2層適応ヒープ管理システムである。手続き型ルールを有するポリシーは、管理されたbeanを使用して実現されてもよく、その挙動は、手続き型ルールを使用して一組のパラメータによって制御され得る。
イベントディスパッチャ610は、ポリシーストア616をサーチして、異常イベントを解決するための1つ以上のポリシーを特定し得る。イベントディスパッチャ610は、異常についてポリシーが定義されるか否かに基づいて、異常イベントをどのように処理するかを判断し得る。異常イベントについて少なくとも1つのポリシーが定義されると判断すると、イベントディスパッチャ610は、異常イベントについて定義されたポリシーをポリシーストア616から検索し得る(730)。イベントディスパッチャ610は、ポリシーエンジン602を呼び出して、異常イベントについて判断されたポリシーに基づいて異常に対処し得る。いくつかの実施例では、イベントディスパッチャ610は、異常イベントを解決するための複数のポリシーを特定し得る。イベントディスパッチャ610は、ポリシーにおけるルールによって定義される異常のリストの中で、異常の最大適合を備えたルールを有するポリシーを選択し得る。ポリシーエンジン602は、異常イベントを管理するためのポリシーにおけるルールが満たされると当該異常イベントに対処するように要求され得る。少なくとも1つの実施例では、5つの要素からなるルールを定義するポリシーの場合、イベントディスパッチャ610は、ある期間中に最小数の異常が満たされるなど、ポリシーの5つの要素からなるルールのパラメータが満たされると判断すると、異常に対処するようにポリシーエンジン602に要求し得る。イベントディスパッチャ610は、ルールについて定義される異常のリストの中で、異常の最大適合を備えたポリシーのルールを選択し得る。異常イベントについてのルールが満たされるポリシーを特定すると、イベントディスパッチャ610は、異常イベントの異常を解決するようにポリシーエンジン602に要求を送信し得る(740)。当該要求は、特定されたポリシーおよび異常イベントについてのイベントデータを含み得る。いくつかの実施例では、一組の異常を解決するためにポリシーエンジン602が呼び出され得て、ポリシーのルールは、当該ルールを満たす複数の異常イベントの発生に基づいて満たされる。イベントディスパッチャ610は、異常イベントに対応するイベントデータを送信するようにポリシーエンジン602に要求し得る。
いくつかの実施例では、異常イベントについてポリシーが定義されないと判断すると、イベントディスパッチャ610は、異常イベントについて親コンポーネント(たとえば、親コンテナ)に知らせ得る(750)。通信エージェント604は、ADRC600を含むコンポーネントならびにADRC600を含むコンポーネントの親および子コンポーネント内で通信するように構成され得る。このように、ADRS320のADRC600は、ルールベースの階層型異常検出および解決システムであると考えることができる。親コンポーネントは、ADRC600が実現されるコンポーネントの親であるコンポーネントであってもよい。たとえば、図3のADRC364が異常イベントについて定義されたポリシーをコンテナ360内で見つけられない場合、ADRC364におけるイベントディスパッチャは、コンテナ360の親であるコンテナ350のADRC354に異常イベントを通信し得る(750)。親コンポーネントが異常イベントを解決できない(たとえば、異常イベントについてポリシーが特定されない)と判断すると、親コンポーネントは、異常イベントの解決のために、存在する場合にはその親コンポーネントに異常イベントのイベントデータを通信し得る。異常イベントを解決できない最高レベルの親コンポーネント(たとえば、最上位のコンテナ)に到達すると、最高レベルの親コンポーネントは、異常イベントについての情報を一斉送信し得る。いくつかの実施例では、ADRC600を含むコンポーネントが最高レベルのコンポーネントであってもよい。最高レベルのコンポーネントは、異常イベントについての情報を、1人以上のユーザまたはクラウドインフラストラクチャシステム100によって契約されるトピックに発行し得る。いくつかの実施例では、最高レベルのコンポーネント内のADRCまたはADRS320は、解決ルールに基づいて異常イベントを解決しようと試み得て、および/または、影響を受けたコンポーネント(たとえば、コンテナ)を含む異常イベントの詳細な説明を用いてオペレータに知らせる。最高レベルのコンポーネントのADRCのポリシーエンジン602は、ダイナミックリソースマネージャのように作用して異常イベントを解決しようと試み得る。たとえば、ポリシーエンジン602は、異常イベントを解決するために、サービスに割り当てられるリソースを調整してもよい(たとえば、クラスタのより多くのコンテナをスピンアップ/ダウンしてもよい)。
イベントディスパッチャ610は、さまざまな方法で異常イベントを親コンポーネントに通信し得る。イベントディスパッチャ610は、異常イベントについての通知を親コンポーネントのADRCに送信し得る。親コンポーネントのADRCは、ADRC600から通知を受け取るように契約し得る。したがって、イベントディスパッチャ610が異常についての通知を送信する(たとえば、押し出す)と、親コンポーネントのADRCは、サブスクリプションの一部として通知を受け取ることができる。いくつかの実施例では、イベントディスパッチャ610は、異常イベントについてのイベントデータを親コンポーネントのキューまたはRRDなどのデータストアに入れ得る。親コンポーネントのADRCは、イベントデータがあるかどうかデータストアをチェックするイベントディスパッチャを含み得て、当該イベントデータは、イベントディスパッチャ610がイベントデータをデータストアに入れると特定される。いくつかの実施例では、イベントディスパッチャ610は、1人以上の受け手(たとえば、オペレータまたは管理者)に異常イベントを通知するために1人以上の受け手に警告760を送信し得る。警告760は、親コンポーネントに通知を送信することまたはポリシーに基づいて異常イベントを解決することの代替案として、またはそれに加えて、送信され得る。たとえば、警告760は、Samzaなどの分散型ストリーム処理フレームワークを使用してKaftaトピックとして送信されてもよい。
ステップ714において、ポリシーエンジン602は、イベントディスパッチャ610によって特定された異常イベントに関して1つ以上のオペレーションを実行し得る。オペレーションは、異常イベントのソースまたは原因を解決とまではいかなくても軽減するための修正アクションを実行することを含み得る。ポリシーエンジン602は、イベントディスパッチャ610によって特定されたポリシーにおける各ルールについて条件を評価し得る。各ルールは、それが満たされるか否かを判断するように評価され得て、満たされる場合には、ルールに関連付けられる修正アクションがポリシーエンジン602によって起動され得る。ポリシーのルールについて定義される修正アクションは、サービスをイネーブルにするためのリソースを提供することに関連し得る。修正アクションの例としては、未使用のリソースを現在のコンポーネントに戻すこと、より多くのリソースをコンポーネントから要求すること、サービス要求を抑制/停止すること、スレッドまたはプロセスを中止すること、異常イベントに関連するリソース使用スパイクについてコンポーネントのADRS320に知らせること、VMプロセスへのリソース割り当てを増加させること、VMへのリソース割り当てを増加させること、クラスタにおけるサーバの数を増加させること、製品の電源を入れること、クラスタ内のサーバを減少させること、製品内のVMを減少させること、負荷を抑制すること、および製品の電源を切ることを挙げることができる。
図6では、LH614は、異常イベントの分析のためにログファイルを収集するように実現され得る。LH614は、ADRC600を含むコンポーネントについてログストリームおよびメトリックストリームからデータを収集し得る。LH614は、各々のストリームを、当該ストリームを生成したコンポーネントのアイデンティティと関連付け得る。LH614は、回転されるログファイルを定期的に、またはライブログでは一定の間隔で(たとえば、1時間ごとに)収集し、それらに対して関連するメタデータを添付して、それらをログアーカイブに送信するように、スクリプトとして実現されてもよい。ログファイルは、異常イベントを検出するためにADによって分析され得る。ログ収集については、図13〜図15を参照してさらに説明する。LH614は、中央管理のためにログファイルをADRS320のLRAS326に送信し得る。
V.ADRSの階層型実現の例
図8は、いくつかの実施例に係る階層型ADRSで実現される自律型クラウドコンピューティングシステム800の一例を示す。図3のASC318および1つ以上のADRCがクラウドコンピューティングシステム800において実現されて階層型ADRSを提供することができる。図8における例は、図3〜図7に示されるADRSの特徴をさらに詳しく説明している。
クラウドコンピューティングシステム800は、クラウドコンピューティングシステム800のクラウド環境レベルでADRC802を含み得る。ADRC802は、クラウドコンピューティングシステム800内の物理ホストコンピューティングシステム820および物理ホストコンピューティングシステム840などの複数のコンポーネントのための環境コントローラとして動作し得る。ホストシステム820およびホストシステム840の各々は、それ自体のADRC822およびADRC842をそれぞれ含む。
ホストシステム820は、VMであるサブコンテナ824を含む。コンテナ824は、JavaVM(JVM)であるサブコンテナ828を含む。コンテナ824およびコンテナ828の各々は、それ自体のそれぞれのADRC826およびADRC830を含む。同様に、ホストシステム840は、VMであるサブコンテナ844を含む。コンテナ844は、JavaVM(JVM)であるサブコンテナ848を含む。コンテナ844およびコンテナ848の各々は、それ自体のそれぞれのADRC846およびADRC850を含む。クラウドコンピューティングシステム800に示されているADRCの各々は、階層型ADRSの一部であってもよい。階層型ADRSでは、コンポーネント内の各ADRCは、異常イベントを特定するためのアクティビティを監視する。ADRC600を参照して説明したように、ADRCは、ADRCにおいて検出される異常イベントについてポリシーが定義されるか否かを判断し得る。異常イベントに対処するためのポリシーが定義されないと判断すると、ADRCは、存在する場合には親コンポーネントに異常イベントを通信し得る。親コンポーネントのADRCが異常イベントに対処するためのポリシーを特定できるまで、異常イベントは、親コンポーネントのADRC、さらには親コンポーネントに至るまで伝搬され得る。異常イベントのイベントデータは、クラウドコンピューティングシステム800における最高レベルのコンポーネントのADRC802に伝搬され得る。最高レベルのコンポーネントは、クラウドコンピューティングシステム800のクラウド環境レベルにあってもよい。たとえば、ADRC830においてポリシーが判断されない場合、ADRC830において検出された異常イベントは、コンポーネント828の親であるコンポーネント824のADRC826に通信されてもよい。ADRC826においてポリシーが判断されない場合、ADRC826は、コンポーネント824の親コンポーネントであるコンポーネント820のADRC822に異常イベントを通信してもよい。ADRC822において異常イベントについてのポリシーが判断されない場合、コンポーネント820は、クラウドコンピューティングシステム800のクラウドコンピューティング環境レベルのADRC802に異常イベントを通信してもよい。
クラウドコンピューティングシステム800内のADRCの各々は、それぞれのコンポーネントの各々において異常イベントのアクティビティを監視し得る。ADRSのLRASを使用して、各々のADRCは、異常イベントを含むアクティビティについての情報を得て、またはログ記録し、当該情報は、データストア、たとえば周期的傾向DB804に報告される。以下で説明するように、周期的傾向DB804は、周期的な定義済みの異常に基づいて異常イベントを評価するのに利用され得る。
データストア804は、メモリストレージデバイスまたは他の非一時的なコンピュータ読取可能な記憶媒体などのいずれかのタイプの永続的ストレージデバイスを使用して実現され得る。いくつかの実施例では、ローカルストレージは、1つ以上のデータベース(たとえば、ドキュメントデータベース、リレーショナルデータベースまたは他のタイプのデータベース)、1つ以上のファイルストア、1つ以上のファイルシステム、またはそれらの組み合わせを含み得る、または実現し得る。メモリおよびさらなるストレージは全て、コンピュータ読取可能な記憶媒体の例である。たとえば、コンピュータ読取可能な記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報の格納のためのいずれかの方法または技術で実現される揮発性または不揮発性のリムーバブルまたは非リムーバブルメディアを含み得る。本明細書に開示されている技術に従ってデータを格納するためにより多くのデータストアが実現されてもよく、またはより少ないデータストアが実現されてもよい。
VI.異常の分類
図9は、いくつかの実施例に係る階層型異常分類構造900を示す。異常分類構造900は、どのようにデータが格納されるか、どのデータが格納されるか、および/または、どこにデータが格納されるかに応じてさまざまな方法で編成される1つ以上のデータ構造を使用して実現されてもよい。データ構造の各々は特定のデータを含むものとして示されているが、データを格納するためにより多くのデータ構造が実現されてもよく、またはより少ないデータ構造が実現されてもよい。データ構造は、他のデータ構造への参照を含み得る。さまざまなセキュリティアーチファクトの格納を管理するために、データ構造の各々のインスタンスが作成され得る。データ構造は、1つ以上のタイプのデータ構造を使用して実現されてもよく、当該1つ以上のタイプのデータ構造は、連結リスト、アレイ、キュー、ハッシュテーブル、マップ、レコード、グラフ、または他のタイプのデータ構造を含むが、それらに限定されるものではない。データ構造の各々は、ADRS320への入力に基づいて、宣言型の態様で定義され得る。
性能、スケーラビリティ、可用性、リソース消費およびエラー特性が各々恐らく異なっている多くのサービスインスタンスは、サービスタイプから作成することができる。サービスを定義する各メトリック(または変数)の値は、最小値(min)尺度と最大値(max)尺度とmaxソフト限界(SL)尺度とを含む尺度を使用して定義することができる。管理者は、正常なシステム挙動を定義する各々のキーメトリックについてmin、maxおよびmax SLを指定し得て、当該キーメトリックは、サービスの応答時間、サービスの可用性、サービスに割り当てられるべきリソース、システム負荷、および他のメトリックに対する期待値を含む。管理者は、これらのメトリックに関する範囲を指定して、サービスのサービスレベル合意(SLA)を実施し得る。全てのメトリックが、サービスインスタンスおよびサービスインスタンスが実行されているコンテナについて指定されたminおよびmax SLの範囲内である場合、サービスインスタンスは正常であると考えられる。メトリックのうちのいずれかがminを下回るかまたはmax SLを上回る場合、サービスは異常状態であると考えることができ、リアルタイムの異常解決が起動されることになる。エラー特性の変数は、特定のタイプの許容エラー率を定義する。
異常は、構造900を使用してさまざまなタイプとして定義することができる。異常902は、定義済みの異常904または未定義の異常906のうちのいずれか1つとして定義することができる。各々の異常は、範囲(「異常範囲」)によって定義することができ、当該範囲に基づいて異常イベントが検出される。未定義の異常906は、定義されておらず、機械学習または統計的方法などの技術によって発見され得る異常である。LRAS326は、メトリックおよびログストリームをオフラインで分析して未定義の異常を発見するように構成され得る。未定義の異常は、重要業績指標またはログ統計に関する範囲によって定義されない異常を含み得る。
定義済みの異常904は、2つのカテゴリ、すなわちユーザ定義の異常908またはシステム定義のもしくはシステム推測の異常910、に分類することができる。定義済みの異常904は、監視すべき任意のメトリックに関する範囲に基づいて定義され、固定された範囲または周期的範囲のいずれかである範囲によって定義され得る。アプリケーション管理者は、SCDMS322を使用して、ユーザ定義の異常について固定された範囲または周期的範囲を定義して、サービスレベル合意(SLA)のサービス品質、リソース使用および他の制約を監視および実施し得る。また、システム管理者は、とりわけリソース使用、負荷スパイク、悪意ある使用およびコンポーネント障害を監視するために、たとえばさらなるメトリックを定義し得る。
定義済みの異常904は、QoS(たとえば、サービスの応答時間)を実施するようにユーザ(たとえば、管理者)によって定義され得る。ユーザ定義の異常を構成するために、固定された範囲が使用されてもよい。固定された範囲は、5つのパラメータによって5つの要素からなるものとして指定することができ、当該5つの要素は、(1)通知がメトリック値の変化に利用できない場合にのみ使用されるメトリック値のポーリング間隔(pi)と、(2)メトリック値に求められる最小値である最小値尺度と、(3)最大値に対するソフト限界である最大SLと、(4)ハード最大限界である最大値尺度と、(5)イベントが生成される前の異常な読取値の連続読取値の最小数である最小連続読取値(mcr)とを含む。異常検出のために定義されたメトリックの全ての値がminおよびmax SL値の範囲内である場合、システムは正常、すなわち異常なしであると考えることができる。これらのメトリックのうちのいずれかがこの範囲を超えると、システムは異常状態であると考えられる。メトリック値が異常なmcr連続読取値である場合、異常イベントが生成され得る。
システム管理者などのユーザは、範囲がシステムによって推測される指標メトリックを監視して、QoSメトリックを範囲(たとえば、CPU負荷)内に維持し得る。また、システム管理者は、コンテナ(コンポーネントのサブタイプ)について一組のメトリックを定義し、異常を回避するためにシステムにそれらの値の周期的範囲を自動的に計算させ得る。この種類の異常は、システム定義の異常910と称される。システム定義の異常910の周期的範囲は、LRAS326によって、毎日一時間ごとに、各々のコンテナについて、各々のメトリックについて、計算することができる。たとえば、特定の差し迫った異常を検出するために、コンテナで実行されるプロセスもしくはスレッドの数、またはコンテナのCPU負荷を監視する必要があるかもしれないが、システム管理者は、それらの適切な範囲を判断することはできない。これらの例では、これらのメトリックは、システム推測の異常910で使用され、システムは、履歴データの傾向に基づいてそれらの周期的範囲を計算することになる。
周期的範囲は、ある期間にわたる固定された範囲として定義することができる。周期的範囲の異常は、5つのパラメータによって7つの要素からなるものとして指定することができ、当該7つの要素は、ポーリング間隔(pi)と、メトリック値に求められる最小値である最小値尺度と、最大値に対するソフト限界である最大SLと、ハード最大限界である最大値尺度と、連続読取値の数として指定される期間(d)と、範囲が有効である開始時刻(st)および終了時刻(et)とを含む。stおよびetは、ある週のある日の開始に対するものとして指定することができる。この種類の範囲は、一般に、ユーザ定義の異常についてのメトリックおよびメトリック値の傾向に関する履歴データから範囲が計算される、システム推測の異常で使用される。システム推測の異常では、重要業績指標およびログエントリに関する統計などの指標メトリックに関する傾向および周期的変動が、ユーザ定義の異常によって定義される正常なシステム挙動を使用して計算される(たとえば、特定の種類の例外の平均数は、一定の時間枠において一定数を超えるべきではない)。ログファイルの時系列データを分析して、システム推測の異常の周期的範囲を計算する際、サービスについてのユーザ定義の異常が正常から異常になるまたは異常から正常になる時間間隔、サービスの直接先行するコンポーネントおよび後続のコンポーネントにおける関連するログファイル内の当該間隔でのメトリック値およびログエントリに焦点を合わせて、周期的範囲を計算する。
VII.定義済みの異常の検出のための範囲
ここで図10を参照して、図10は、定義済みの異常の範囲を示すブロック図1000である。クラウドコンピューティングシステムにおけるサービスまたはオペレーションのメトリック値は、5つの要素からなるパラメータによって固定された範囲として定義される場合もあれば、7つの要素からなるパラメータによって周期的範囲として定義される場合もある。どちらの範囲のパラメータも、min尺度1002と、max尺度1006と、SL1004(たとえば、max SL)とを含み得る。メトリックは、メトリックの尺度がSL閾値1004を満たす値1014である場合に異常状態を示すものとして特定され得て、そのため、メトリックの値は、SLおよびmaxの範囲内になる。異常検出器は、メトリックの値が最小値1002を下回るもしくはSLを上回る低い値1010である場合、または、メトリックの値がSL1004であるかもしくはそれを上回るがmax1006未満である高い値1014である場合に発生するものとして異常イベントを特定し得る。言い換えれば、メトリック値は、最小値1002であるかもしくはそれを上回りSL1004未満である場合に、正常範囲1012の範囲内の正常値(たとえば、異常なし)である。メトリックの値は、メトリックの値1016がmax1006を上回る場合に、異常を超えて問題のある状態を示し得る。問題のある状態が検出されると、問題を解決するために定義されたポリシーによってアクションが講じられ得る。
VIII.異常検出および解決のためのオペレーション
図11は、いくつかの実施例に係る図3のASC318によって自律型クラウドコンピューティングシステム(たとえば、クラウドインフラストラクチャシステム100)において実行されるオペレーションのブロック図1100を示す。ステップ1132(ステップ1)において、ユーザ(たとえば、デプロイヤ1130)は、クラウドインフラストラクチャシステム100においてサービスを作成するための1つ以上のアセンブリを選択する。SCDMS322は、アセンブリを定義することによってサービスを構成するように、ユーザによって操作されるクライアントシステムに対して1つ以上のインターフェイスを提供し得る。インターフェイスを介して、ユーザは、アセンブリをデプロイしてサービスをインスタンス化することを要求し得る。ステップ1132において、ユーザは、クラウドインフラストラクチャシステム100によって提供されるサービスについてのSLA合意のQoSに従ったアセンブリにおける固定された範囲または周期的範囲を含む変数の値を提供し得る。
ステップ1134(ステップ2)において、SCDMS322は、1つ以上のコンポーネントタイプを作成して(たとえば、1つ以上のコンポーネントタイプのインスタンスを作成して)、コンポーネントを作成して、サービスを確立し得る。SCMDS322は、サービスのためのコンポーネントを作成するようにCCMS324に要求し得る。1つ以上のADRC(サブシステム)が作成され、デプロイされ得る。各コンポーネントは、ADRCサブシステムを含み得る。CCMS324は、新たに作成されたコンテナにADRCサブシステムおよびサービスのコンポーネントをデプロイし得る。たとえば、ADRC354は、クラウドインフラストラクチャシステム100のクラウド環境レベルで作成され、デプロイされてもよい。コンテナ1102および1120の各々は、ADRC1104およびADRC1124をそれぞれ含み得る。コンテナ1104におけるコンテナ1106は、ADRC1108を含み得る。コンテナ1124におけるコンテナ1126は、ADRC1128を含み得る。
SCDMS324は、各コンポーネントにそれ自体を構成するように要求し得る。各コンポーネントは、そのホームディレクトリを作成し、必要なソフトウェアをインストールし、構成パラメータを設定し、デプロイされたコンポーネント(インスタンス)、ログおよびメトリックストリームとのそれらの関係、ならびにコンポーネントの上流および下流制御フローにおけるコンポーネントでコンポーネントリポジトリを更新し得る。CCMS324は、クラウドインフラストラクチャシステム100の現在および過去の構成のデータストア(たとえば、構成リポジトリ)を含み得る。構成リポジトリは、コンポーネントモデルを使用して、クラウド環境のコンポーネント間の関係ならびにそれらが生成するログおよびメトリックストリームを記述することができる。
ステップ1136(ステップ3)において、サービスが使用されているとき、ADRCの各々におけるログハーベスタは、設定された間隔で、ライブログおよび回転されたログから、ログおよびメトリックストリームをコンポーネントから収集して、それらをLRAS326に送信し得る。
ステップ1138(ステップ4)において、LARS326は、アルゴリズム(たとえば、属性関連付けアルゴリズム)を使用して、ユーザ定義のメトリックに影響を及ぼすメトリックを見つけ得る。次いで、LRAS326は、構成リポジトリに格納された構成データを利用して、ログおよびメトリックストリームに対して時系列分析を実行し得る。システム推測の異常の周期的範囲は、このステップで計算される。
ステップ1140(ステップ5)において、周期的範囲および他の情報が適切なコンテナのADRCに押し出され、そこでADの範囲が更新される。ステップ1142(ステップ6)において、ユーザ1150(たとえば、管理者)によって、異常および属性関連付けが分析され得て、ポリシーにおけるルールが修正され得る。ステップ1144(ステップ7)において、コンテナ内のADRCにおける未解決の異常イベントは、環境レベルADRC354に到達するまで、親コンテナ内の高レベルのADRCに至るまで伝搬される。異常に対処するためのポリシーを突き止めることができない場合、異常イベントは未解決であり得る。ADRC354は、未解決の異常についてユーザに通知するためにユーザに警告を発行し得る。
ステップ1146(ステップ8)において、ADRC354は、構成リポジトリにおいて構成の変更を更新するように操作され得る。次いで、オペレーションチームは、未対処の異常があるかどうかシステムを監視し得る。未対処の異常の各々について、チームは、異常に対処するためにどのさらなるメトリックを監視すべきであるかおよび/またはどのルールを開発または修正する必要があるかに対応して決定する必要がある。
IX.ログファイルフローの大まかな概要
図12は、いくつかの実施例に係るログファイルフロー1200の大まかな図を示す。クラウドシステムは、多数のログファイル、診断データおよびメトリックを生成する。ログファイルは、クラウドインフラストラクチャシステム100内の1つ以上のコンポーネント(たとえば、ソースコンポーネント1202)によって生成され得る。ログファイルに対応するメタデータは、ログファイルとともに、データセンタまたはセキュリティゾーンに特有のデータストア(たとえば、ログアーカイブ1204)に押し出される。
ログファイルは、性能メトリックからログイン試行の失敗までのさまざまなデータを含む。また、ログファイルは、フォレンジック分析を行うセキュリティ専門家および弁護士からホスティング環境のトラブルを解決するサポートエンジニアおよびアプリケーションをデバッグする製品開発者までの多様なユーザグループによって使用される。どのクラウドサービスプロバイダも、ログファイル保存およびアクセスを規定するいくつかのポリシーを有している。一般に、ログファイルは、アクセスおよび保存ポリシーが実施されるログアーカイブ1204に、内容が変更されない状態で移される。権限が付与されたスタッフには、関連するログファイルをアーカイブ内でサーチする権限が与えられ、このようなサーチは、手動でまたは単純なOSスクリプトを介して、通常はオンラインで行われ、メタデータベースのサーチおよびキーワードベースのサーチを含み得る。
最近になって、ログファイル使用の新たなパターンが出現してきている。当該パターンは一般にログ分析と称される。その目的は、長期間にわたって、多数のシステムにわたって多数のログタイプの多数のログファイルに含まれる潜在情報を発見することである。より具体的には、ログ分析は、ログファイル内にデータを生成したシステム挙動を理解し、差し迫った問題を予測するためのモデルを開発し、異常を監視し、膨大な同様のシステムの長期挙動に基づいて最適なリソース使用のためにフィードバックを提供することを目指している。このパターンは、機密データが1つ以上のデータマーカ(1206)によってマスキングされた後に多くのログアーカイブから収集される膨大なログファイルに最良に適用される。ログ分析に使用されるデータストアは、ログリザーバと称される。表1に示されるように、ログリザーバの特性は、ログアーカイブの特性とは異なっている。
コンテナ1202で実行されるサービスは、それらのログエントリをログファイルに書き込み、ログファイルは、定期的に、たとえば1日に1回、回転される。ソースマシンで実行されるログ収集スクリプトは、回転されたログファイルを定期的に、またはライブログでは一定の間隔で(たとえば、1時間ごとに)収集し、それらに対して関連するメタデータを添付して、それらをログアーカイブ1204に送信し得る。次いで、データマスカ1206は、ログアーカイブからデータを読み取って、機密データをマスキングし、それをログリザーバ1208に送信する。データマスカ1206は、ログタイプに特有の処理パイプラインを有し、当該処理パイプラインは、ログエントリにおけるPIIデータをログリザーバ1208にロードする前に、それが実行する機能の中で特に、それらをハッシュコードと置き換えるか、またはそれらをマスキングする。
いくつかの実施例では、データセンタは、1つ以上のセキュリティゾーンを有し得る。セキュリティゾーンで生成される全てのログファイルは、データホーダを介してログアーカイブ1204(たとえば、局所データハブ)にアーカイブされ得る。データマスカ1206は、PIIおよび機密データをマスキングし、マスキングされたログファイルをログリザーバ1208(たとえば、中央ハブ)に送信し得る。データマスカ1206は、アーカイブからログファイルを読み取ってそれらをマスキングすることによって、マスキングされたログファイルをログリザーバ1204に送信し得る。
コンテナ内で実行されるアプリケーションは、ログおよびメトリックストリームを生成し(一組のログファイルにし)得る。いくつかのログファイルは、リアルタイムの監視のために、ローカル異常リゾルバを呼び出すように構成された(ELKスタックのための)ログスタッシュ・フォワーダまたはHekaなどのリアルタイムストリームコレクタによって処理される。ELKスタックは、ログスタッシュ処理およびフィルタリングノードを使用し、次いで索引付けのためにデータをElasticsearchクラスタに転送する。Elasticsearchに加えて、Kibanaを使用してウェブベースのサーチUIおよびレンダリングを行ってもよい。1つ以上のリアルタイム監視システムがあってもよい。各々のログスタッシュ・フォワーダは、1つのこのようなシステムにのみログを転送することができる。Kafkaが使用される場合、Hekaは、1つのトピックまたはキューにのみ異常を発行することになる。
いくつかの実施例では、ログファイルは、HTTPSを使用してデータホーダに押し出されて、データセンタまたはゾーンに特有のアーカイブ(現時点ではOCLAのためのZFSおよび局所ハブのためのHadoop)に格納される。Map−Reduce JavaおよびRプログラムを使用して、これらのログファイルがプログラム的に分析される。いくつかのログファイルが特定の時間間隔にわたってオラクルデータベースにロードされ、オラクルデータウェアハウスおよびビジネスインテリジェンスツールを使用して、手動分析がサポートされる。中央ハブ(リザーバ1204)を使用して傾向の計算および予測分析も行うことができる。アーカイブおよびデータハブ(リザーバ)のためにELKおよびSolr+Bananaスタックもサポートされる。
LRAS326は、CCMS324コンポーネントモデルを使用して、システムによって提供されるサービスの処理フローに関して、アプリケーションおよびシステムコンポーネントによって生成されるログおよびメトリックストリーム間の関係を理解することができる。LRAS326は、アルゴリズム(たとえば、属性関連付けアルゴリズム)を使用して、恐らくユーザ定義のメトリックに影響を及ぼしている指標メトリックを見つけることができる。ユーザ定義の異常によって定義される正常なシステム挙動を使用して、重要業績指標(KPI)およびログエントリに関する統計などの指標メトリックで予想される傾向および周期的変動を計算し(たとえば、特定の種類の例外の平均数は、一定の時間枠において一定数を超えるべきではない)、当該傾向および周期的変動は、システム推測の異常について定義される。LRAS326は、機械学習技術を使用して、未定義の異常、すなわちKPIまたはログ統計の範囲によって定義されない異常を検出することができる。LRAS326は、将来の異常を予測することができる。
メトリックおよびログストリームはオフラインで分析され、システム定義の異常の周期的範囲が推測され、未定義の異常が発見される。たとえば、システム管理者は、コンテナで実行されるスレッドの数を監視し、それが正常値を超えると異常イベントを発生させたいと思うかもしれない。システム管理者は、このメトリックの範囲(min、maxおよびmax SL)を指定する必要はない。値の周期的変動は、LRAS326によってメトリックおよびログストリームから計算され、24×7×3の表としてコンテナに送信され得て、当該表は、時間別に分類された1週間のmin、maxおよびmax SLを含む。コンテナで実行されるADNSコンポーネントは、この情報を使用して異常検出のためにスレッドの数を監視することができる。
まず、ログおよびメトリックファイル内の時系列データが、4つのカテゴリ、すなわちユーザ定義の異常に関連付けられるメトリック、システム推測の異常に関連付けられるメトリック、一般に重要であると考えられるメトリック、およびエラー、に分類される。次いで、各カテゴリにおけるシリーズは、Rプログラムを使用して、一定のまたは不規則なサンプリング間隔で傾向および周期的要因に分解される。次いで、これらをユーザ定義の異常に関連する時系列メトリックと比較して、異常の原因を理解し、これらの異常を回避するために他のメトリックおよびエラーの周期的範囲を推測する。これらの周期的範囲は、それぞれのコンテナにフィードバックされて、システムのリアルタイムの監視で使用される。
時系列データを分析して、システム推測の異常および他のメトリックの周期的範囲を計算する際、LRAS326は、サービスについてのユーザ定義の異常が正常から異常になるまたは異常から正常になる時間間隔に焦点を合わせ、サービスの直接先行するコンポーネントおよび後続のコンポーネントにおける関連するログファイル内の当該間隔でのメトリック値およびログエントリに焦点を合わせて、周期的範囲を計算し得る。
アーカイブされたデータから計算されるコンテナに特有の傾向および周期性は、コンテナに送られる。このデータは、Hekaフィルタによって使用され、当該傾向および周期性に基づいて、いずれかのメトリックが正常の範囲外であるか否かがテストされる。メトリック値が異常であると判断すると、各コンテナで実行されるHekaデーモンは、コンテナ内のADRCのイベントディスパッチャを呼び出す。イベントディスパッチャは、異常を解決するための適切なポリシーを見つけることができない場合には、異常を解決するように親コンテナに知らせることになる。親コンテナは、異常を解決できない場合には、メトリックのベクトル全体をKafkaトピックに発行することになる。Samzaを使用してそれらを検索して、異常検出コードによるさらなる分析のためにそれらをデータストア(たとえば、RRD)に格納してもよい。
X.異常検出および解決のためのプロセス
図13および図14は、本発明のいくつかの実施例に係る異常検出および解決のためのプロセスを示すフローチャートを提供する。個々の実施例は、フローチャート、フロー図、データフロー図、構造図またはブロック図として示されるプロセスとして説明することができる。フローチャートはオペレーションをシーケンシャルなプロセスとして説明し得るが、オペレーションの多くは並列にまたは同時に実行されてもよい。また、オペレーションの順序は並べ替えられてもよい。プロセスは、そのオペレーションが完了すると終了するが、図に含まれないさらなるステップを有していてもよい。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが機能に対応する場合、その終了は、呼び出し関数またはメイン関数への関数の戻りに対応し得る。
図13および図14に示されるプロセスは、1つ以上の処理ユニット(たとえば、プロセッサ、コア)によって実行されるソフトウェア(たとえば、コード、命令、プログラム)で実行されてもよく、ハードウェアで実行されてもよく、またはそれらの組み合わせで実行されてもよい。ソフトウェアは、メモリ(たとえば、メモリデバイス、非一時的なコンピュータ読取可能な記憶媒体)に格納され得る。たとえば、図3のASC318の全てまたは一部および/または1つ以上のADRCは、図13および図14のいずれかを参照して説明するプロセスを実行し得る。プロセスはいずれもサービスとして実行され得る。サービスは、クライアントシステムおよびオブジェクトへのアクセスを提供するサービスプロバイダに提供され得る。
図13および図14における特定の一連の処理ステップは、限定的であるよう意図されるものではない。ステップの他のシーケンスも代替的な実施例に従って実行されてもよい。たとえば、本発明の代替的な実施例は、上記のステップを異なる順序で実行してもよい。さらに、図13および図14に示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスで実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに従ってさらなるステップが追加または除去されてもよい。図13および図14に示される処理は、単一のアプリケーションに関するものであるが、このような処理は、いくつかのアプリケーションについて実行されてもよい。図13および図14に示される処理は、単一の異常イベントに関するものであるが、このような処理は、いくつかの異常イベントについて実行されてもよく、当該いくつかの異常イベントのうちのいくつかまたは全ては関連していてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。
図13において、フローチャートは、コンピュータシステムによって提供されるサービスのオペレーションに関連する異常の解決のためのプロセス1300を示す。コンピュータシステムは、クラウドコンピュータシステム(たとえば、クラウドインフラストラクチャシステム100)またはエンタープライズコンピュータシステムであり得る。サービスを提供するために複数のコンポーネントがデプロイされ得る。コンポーネントは、子コンポーネントとして別のコンポーネント内で実現され得る。各コンポーネントは、コンピュータシステムにおいて実行され得る。コンポーネントは、コンポーネント上で検出された異常の解決のためのADRCを含むように構成され得る。
プロセス1300は、コンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めることによってステップ1302から開始し得る。コンピュータシステムで実現されるADRSは、異常範囲を決定し得る。一組の値は、ユーザ定義のものであり得る。値は、インターフェイスまたは宣言型ファイルを介して受け取られた入力に基づいて定義され得る。異常範囲は、ユーザ定義の異常については固定されたものであり得て、またはシステム推測の異常については周期的範囲であり得る。メトリックは、サービスのQoSについて監視されるいくつかのメトリックのうちの1つであり得る。異常は、図9および図10の異常分類システムに基づいて定義され得る。
サービスは、コンピュータシステム内のコンポーネントによって確立され得る。コンポーネントは、コンピュータシステムで実行されるコンテナを含み得る。コンテナは、子コンテナとして別のコンテナにおいて実現され得る。ステップ1304において、ADRCを含むように各コンポーネントを構成し得る。ASCは、各コンポーネントにADRCを構成し得る。
ステップ1306において、サービスのオペレーションに関連する異常イベントを、サービスのために確立されたコンポーネントにおいて検出し得る。異常イベントは、コンポーネントに構成されたADRCによって検出され得る。異常イベントは、メトリックの値が異常範囲を満たさないことに基づいて検出され得る。たとえば、図10では、メトリックの値は、最小値1002未満の値1010である場合、またはソフト限界最大値以上の値1014である場合には、異常範囲を満たし得ない。異常イベントは、ポーリング間隔中および最大連続読取値の発生中に異常範囲が満たされる場合に生成され得る。異常イベントは、異常分類システムを用いて定義される異常の全てのパラメータを満たしたことに基づいて検出され得る。
ステップ1308において、異常を解決するためのポリシーを特定する。当該ポリシーは、コンポーネント内のADRCによって特定され得る。異常によって満たされる1つ以上のルールを有する1つ以上のポリシーを特定するためにポリシーストアがサーチされ得る。ステップ1310において、ポリシーにおけるルールが異常によって満たされることを判断し得る。当該判断は、コンポーネント内のADRCによってなされ得る。ポリシーは、異常イベントが検出されるコンポーネントにおいて異常を解決するための1つ以上の修正アクションを示し得る。ステップ1312において、ルールが満たされたことに基づいて、ポリシーで特定される修正アクションを起動し得る。
いくつかの実施例では、コンポーネントにおいて異常を解決するためのポリシーが特定されなくてもよい。このような場合、コンポーネントのADRCは、コンポーネントを含む親コンポーネント(存在する場合)に異常イベントを通信し得る。図14を参照して説明する実施例などのいくつかの実施例では、親コンポーネントは、異常を解決するためのポリシーを特定することによって異常を解決し得る。
プロセス1300は、ステップ1314で終了する。
図14は、コンピュータシステムにおけるサービスのために確立されたコンポーネントの階層内のコンポーネントに異常を伝搬するためのプロセス1400のフローチャートを示す。プロセス1400は、コンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めることによってステップ1402から開始し得る。コンピュータシステムで実現されるADRSは、異常範囲を決定し得る。一組の値は、ユーザ定義のものであり得る。値は、インターフェイスまたは宣言型ファイルを介して受け取られた入力に基づいて定義され得る。異常範囲は、ユーザ定義の異常については固定されたものであり得て、またはシステム推測の異常については周期的範囲であり得る。メトリックは、サービスのQoSについて監視されるいくつかのメトリックのうちの1つであり得る。異常は、図9および図10の異常分類システムに基づいて定義され得る。
サービスは、コンピュータシステム内のコンポーネントによって確立され得る。コンポーネントは、コンピュータシステムで実行されるコンテナを含み得る。コンテナは、子コンテナとして別のコンテナにおいて実現され得る。ステップ1404において、ADRCを含むように各コンポーネントを構成し得る。ASCは、各コンポーネントにADRCを構成し得る。
ステップ1406において、サービスのオペレーションに関連する異常イベントを、サービスのために確立されたコンポーネントにおいて検出し得る。異常イベントは、コンポーネントに構成されたADRCによって検出され得る。異常イベントは、メトリックの値が異常範囲を満たさないことに基づいて検出され得る。異常イベントは、異常分類システムを用いて定義される異常の全てのパラメータを満たしたことに基づいて検出され得る。
ステップ1408において、コンポーネント内のADRCがコンポーネントにおいて異常を解決するためのポリシーを有しているか否かを判断する。ステップ1410において、コンポーネント内のADRCが異常を解決するためのポリシーを有していると判断したことに基づいて、ADRCは、ポリシーに基づいて、異常を解決するための修正アクションを起動し得る。ステップ1412において、コンポーネント内のADRCが異常を解決するためのポリシーを持たないと判断したことに基づいて、ADRCは、異常についてコンポーネントの親である親コンポーネントのADRCに通知し得る。ADRCは、コンポーネントによって異常を解決できないことを親コンポーネントのADRCに通知し得る。プロセス1400は、ステップ1412からステップ1418における終了まで進み得る。
ステップ1414において、親コンポーネントのADRCは、それが親コンポーネントにおいて異常を解決するためのポリシーを特定し得る。ステップ1416において、親コンポーネントのADRCは、親コンポーネントにおいて異常を解決するための、ポリシーで特定される修正アクションを起動し得る。プロセス1400は、ステップ1416からステップ1418における終了まで進み得る。
いくつかの実施例では、親コンポーネントのADRCは、親コンポーネントにおいて異常を解決するためのポリシーを持っていないかもしれない。親コンポーネントは、親コンポーネントの親コンポーネントなどのより高いレベルのコンポーネントに異常イベントについてのデータを伝搬し得る。親コンポーネントのADRCは、異常についてその親コンポーネントに通知し得る。より高いレベルの親コンポーネントのADRCは、ADRCがより高いレベルの親コンポーネントにおいて異常を解決するためのポリシーを特定できる限り、異常を解決するための修正アクションを起動し得る。
XI.コンピューティング環境
図15は、実施例を実現するための分散型システム1500の簡略図を示す。示されている実施例では、分散型システム1500は、1つ以上のクライアントコンピューティングデバイス1502,1504,1506および1508を含み、それらは、1つ以上のネットワーク1510を介してウェブブラウザ、所有権付きクライアント(たとえばオラクルフォームズ(Oracle Forms))などのクライアントアプリケーションを実行および動作させるよう構成される。サーバ1512は、リモートクライアントコンピューティングデバイス1502,1504,1506および1508とネットワーク1510を介して通信可能に結合されてもよい。
さまざまな実施例では、サーバ1512は、セキュリティアーチファクトを管理することができるサービスおよびアプリケーションなどの1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。特定の実施例では、サーバ1512は、非仮想および仮想環境を含むことができる他のサービスまたはソフトウェアアプリケーションも提供してもよい。いくつかの実施例では、これらのサービスは、ウェブに基づくサービスもしくはクラウドサービスとして、またはソフトウェア・アズ・ア・サービス(SaaS)モデルの下で、クライアントコンピューティングデバイス1502,1504,1506および/または1508のユーザに対して提供されてもよい。クライアントコンピューティングデバイス1502,1504,1506および/または1508を動作させるユーザは、次いで、1つ以上のクライアントアプリケーションを利用してサーバ1512と対話して、これらのコンポーネントによって提供されるサービスを利用してもよい。
図15に示される構成では、システム1500のソフトウェアコンポーネント1518,1520および1522は、サーバ1512上で実現されるものとして示されている。他の実施例では、システム1500のコンポーネントのうちの1つ以上および/またはこれらのコンポーネントによって提供されるサービスは、クライアントコンピューティングデバイス1502,1504,1506および/または1508のうちの1つ以上によって実現されてもよい。クライアントコンピューティングデバイスを動作させるユーザは、次いで、1つ以上のクライアントアプリケーションを利用して、これらのコンポーネントによって提供されるサービスを用いてもよい。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実現されてもよい。分散型システム1500とは異なってもよいさまざまな異なるシステム構成が可能であることが理解されるべきである。図15に示される実施例は、したがって、実施例のシステムを実現するための分散型システムの一例であり、限定的であるよう意図されるものではない。
クライアントコンピューティングデバイス1502,1504,1506および/または1508は、さまざまなタイプのコンピューティングシステムを含んでもよい。たとえば、クライアントコンピューティングデバイスは、携帯可能な手持ち式のデバイス(たとえばiPhone(登録商標)、セルラー電話、iPad(登録商標)、コンピューティングタブレット、携帯情報端末(personal digital assistant:PDA))またはウェアラブルデバイス(たとえばGoogle Glass(登録商標)頭部装着型ディスプレイ)を含んでもよく、Microsoft Windows Mobile(登録商標)などのソフトウェア、および/もしくは、iOS、Windows Phone、Android、BlackBerry 10、Palm OSなどのさまざまなモバイルオペレーティングシステムを実行する。デバイスは、さまざまなインターネット関連アプリ、電子メール、ショートメッセージサービス(short message service:SMS)アプリケーションなどのさまざまなアプリケーションをサポートしてもよく、さまざまな他の通信プロトコルを使用してもよい。クライアントコンピューティングデバイスは、汎用パーソナルコンピュータも含んでもよく、一例として、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)および/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む。クライアントコンピューティングデバイスは、たとえばGoogle Chrome OSなどのさまざまなGNU/Linuxオペレーティングシステムを限定を伴うことなく含む、さまざまな市場で入手可能なUNIX(登録商標)またはUNIXのようなオペレーティングシステムのいずれかを実行するワークステーションコンピュータであり得る。クライアントコンピューティングデバイスは、ネットワーク1510を介して通信することができる、シンクライアントコンピュータ、インターネットにより可能化されるゲームシステム(たとえばKinect(登録商標)ジェスチャ入力デバイスを伴うかまたは伴わないMicrosoft Xboxゲームコンソール)および/または個人メッセージ伝達デバイスなどの電子デバイスも含んでもよい。
図15の分散型システム1500は4つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなど、他のデバイスがサーバ1512と対話してもよい。
分散型システム1500におけるネットワーク1510は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、AppleTalkなどを限定を伴うことなく含む、さまざまな入手可能なプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。単に一例として、ネットワーク1510は、ローカルエリアネットワーク(LAN)、イーサネット、トークンリングに基づくネットワーク、ワイドエリアネットワーク、インターネット、仮想ネットワーク、仮想プライベートネットワーク(virtual private network:VPN)、イントラネット、エクストラネット、公衆交換電話網(public switched telephone network:PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば米国電気電子学会(IEEE)802.11のプロトコル一式、ブルートゥース(登録商標)、および/もしくはその他の無線プロトコルのうちのいずれかの下で動作するネットワーク)、ならびに/またはこれらの任意の組み合わせおよび/もしくは他のネットワークであり得る。
サーバ1512は、1つ以上の汎用コンピュータ、専用のサーバコンピュータ(一例としてPC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント型サーバなどを含む)、サーバファーム、サーバクラスタ、またはその他の適切な構成および/もしくは組み合わせで構成されてもよい。サーバ1512は、仮想オペレーティングシステムを実行する1つ以上の仮想マシン、または仮想化を伴う他のコンピューティングアーキテクチャを含み得る。論理ストレージデバイスの1つ以上の柔軟なプールを仮想化してサーバのために仮想ストレージデバイスを維持することができる。仮想ネットワークを、サーバ1512によって、ソフトウェア定義のネットワーク接続を用いて制御することができる。さまざまな実施例において、サーバ1512は、前述の開示に記載される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。たとえば、サーバ1512は、本開示の実施例に従って上記の処理を実行するためのサーバに対応してもよい。
サーバ1512は、上記のもののうちのいずれかを含むオペレーティングシステム、および任意の市場で入手可能なサーバオペレーティングシステムを実行してもよい。サーバ1512は、HTTP(ハイパーテキスト転送プロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含むさまざまなさらなるサーバアプリケーションおよび/または中間層アプリケーションのうちのいずれかも実行してもよい。例示的なデータベースサーバは、オラクル、マイクロソフト、サイベース、IBM(インターナショナルビジネスマシンズ)などから市場で入手可能なものを含むが、それらに限定されるものではない。
いくつかの実現例では、サーバ1512は、クライアントコンピューティングデバイス1502,1504,1506および1508のユーザから受信されるデータフィードおよび/またはイベント更新情報を解析および整理統合するための1つ以上のアプリケーションを含んでもよい。一例として、データフィードおよび/またはイベント更新情報は、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能測定ツール(たとえばネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム解析ツール、自動車交通監視などに関連するリアルタイムのイベントを含んでもよい、1つ以上の第三者情報源および連続データストリームから受信される、Twitter(登録商標)フィード、Facebook(登録商標)更新情報またはリアルタイムの更新情報を含んでもよいが、それらに限定されるものではない。サーバ1512は、データフィードおよび/またはリアルタイムのイベントをクライアントコンピューティングデバイス1502,1504,1506および1508の1つ以上の表示デバイスを介して表示するための1つ以上のアプリケーションも含んでもよい。
分散型システム1500は、1つ以上のデータベース1514および1516も含んでもよい。これらのデータベースは、ユーザ対話情報、使用パターン情報、適応ルール情報などの情報および本発明の実施例によって使用される他の情報を記憶するための機構を提供してもよい。データベース1514および1516は、さまざまな位置にあってもよい。一例として、データベース1514および1516のうちの1つ以上は、サーバ1512に局在する(および/またはサーバ1512に常駐する)非一時的な記憶媒体にあってもよい。代替的に、データベース1514および1516は、サーバ1512から遠隔にあり、ネットワークに基づくかまたは専用の接続を介してサーバ1512と通信してもよい。一組の実施例では、データベース1514および1516は、記憶域ネットワーク(storage-area network:SAN)にあってもよい。同様に、サーバ1512に帰する機能を実行するための任意の必要なファイルが、適宜、サーバ1512上においてローカルに、および/または遠隔で記憶されてもよい。一組の実施例では、データベース1514および1516は、SQLフォーマットされたコマンドに応答してデータを記憶、更新および検索取得するように適合される、オラクルによって提供されるデータベースなどのリレーショナルデータベースを含んでもよい。
いくつかの実施例では、クラウド環境は、セキュリティアーチファクトを管理するための1つ以上のサービスを提供してもよい。図16は、本開示の実施例に従って、サービスがクラウドサービスとして提供されてもよいシステム環境1600の1つ以上のコンポーネントの簡略ブロック図である。図16における示されている実施例では、システム環境1600は、1つ以上のクライアントコンピューティングデバイス1604,1606および1608を含み、1つ以上のクライアントコンピューティングデバイス1604,1606および1608は、セキュリティアーチファクトを管理するためのサービスを含むクラウドサービスを提供するクラウドインフラストラクチャシステム1602と対話するようにユーザによって使用されてもよい。クラウドインフラストラクチャシステム1602は、サーバ1512のための上記のものを含んでもよい1つ以上のコンピュータおよび/またはサーバを備えてもよい。
図16に示されるクラウドインフラストラクチャシステム1602は図示されるもの以外のコンポーネントを有してもよいことが理解されるべきである。さらに、図16に示される実施例は、本発明の実施例を組み込んでもよいクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム1602は、図に示されるよりも多いコンポーネントもしくは少ないコンポーネントを有してもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有してもよい。
クライアントコンピューティングデバイス1604,1606および1608は、クライアントコンピューティングデバイス1502,1504,1506および1508に対して上記されたものと同様のデバイスであってもよい。クライアントコンピューティングデバイス1604,1606および1608は、ウェブブラウザ、所有権付きクライアントアプリケーション(たとえばオラクルフォームズ)、または何らかの他のアプリケーションなどのクライアントアプリケーションを動作させるよう構成されてもよく、当該クライアントアプリケーションは、クラウドインフラストラクチャシステム1602と対話して、クラウドインフラストラクチャシステム1602によって提供されるサービスを使用するようにクライアントコンピューティングデバイスのユーザによって使用されてもよい。例示的なシステム環境1600が3つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなどの他のデバイスがクラウドインフラストラクチャシステム1602と対話してもよい。
ネットワーク1610は、クライアントコンピューティングデバイス1604,1606および1608とクラウドインフラストラクチャシステム1602との間におけるデータの通信および交換を容易にしてもよい。各ネットワークは、ネットワーク1510に対して上記されたものを含む、さまざまな市場で入手可能なプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。
特定の実施例では、クラウドインフラストラクチャシステム1602によって提供されるサービスは、オンデマンドでクラウドインフラストラクチャシステムのユーザに利用可能にされるサービスのホストを含んでもよい。セキュリティアーチファクトの管理に関連するサービスに加えて、オンラインデータストレージおよびバックアップソリューション、ウェブベースの電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスなどを限定を伴うことなく含むさまざまな他のサービスも提供されてもよい。クラウドインフラストラクチャシステムによって提供されるサービスは、動的にスケーリングしてそのユーザのニーズを満たすことができる。
特定の実施例では、クラウドインフラストラクチャシステム1602によって提供されるあるサービスのある具体的なインスタンス化は、本明細書では「サービスインスタンス」と称される。一般に、クラウドサービスプロバイダのシステムからインターネットなどの通信ネットワークを介してユーザに利用可能にされる任意のサービスは、「クラウドサービス」と称される。典型的には、パブリックなクラウド環境においては、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスのサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションを運営管理してもよく、ユーザは、インターネットなどの通信ネットワークを介して、オンデマンドで、アプリケーションをオーダーし使用してもよい。
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、ストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーション、またはクラウドベンダによってユーザに提供されるかもしくは他の態様で当該技術分野において公知であるような他のサービスに対する保護されたコンピュータネットワークアクセスを含んでもよい。たとえば、サービスは、クラウド上のリモートストレージに対するインターネットを介してのパスワード保護されたアクセスを含むことができる。別の例として、サービスは、ネットワーク接続された開発者による個人的な使用のために、ウェブサービスに基づくホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダのウェブサイトにおいて運営管理される電子メールソフトウェアアプリケーションに対するアクセスを含むことができる。
特定の実施例では、クラウドインフラストラクチャシステム1602は、セルフサービスの、サブスクリプションに基づく、弾性的にスケーラブルで、信頼性があり、高可用性の、安全な態様で顧客に対して配送される一連のアプリケーション、ミドルウェア、およびデータベースサービス提供品を含んでもよい。そのようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクルパブリッククラウド(Oracle Public Cloud)である。
クラウドインフラストラクチャシステム1602は、「ビッグデータ」関連の計算および解析サービスも提供してもよい。「ビッグデータ」という語は、一般に、大量のデータを視覚化し、傾向を検出し、および/またはその他の態様でデータと対話するようにアナリストおよび研究者によって記憶および操作され得る非常に大きなデータセットを指すように用いられる。このビッグデータおよび関連のアプリケーションは、インフラストラクチャシステムによって、多数のレベルにおいて、および異なるスケールで運営管理および/または操作され得る。そのようなデータを表示するため、またはデータもしくはデータが表現するものに対する外部の力をシミュレートするために、並列に連結された何十、何百または何千ものプロセッサがそのようなデータに対して作用することができる。これらのデータセットは、データベース状にもしくはさもなければ構造モデルに従って編成されたものなどの構造化データ、および/または非構造化データ(たとえば電子メール、画像、データブロブ(バイナリラージオブジェクト)、ウェブページ、複合イベント処理)を含み得る。より多くの(またはより少ない)計算リソースを比較的迅速に対象に集中させることができる実施例の機能を活用することによって、クラウドインフラストラクチャシステムは、会社、政府機関、研究組織、私人、同じ考えを持った個人もしくは組織のグループ、または他のエンティティからの要求に基づいて大きなデータセットに対してタスクを実行することにさらに利用できるであろう。
さまざまな実施例では、クラウドインフラストラクチャシステム1602は、クラウドインフラストラクチャシステム1602によって提供されるサービスに対する顧客のサブスクリプションを自動的にプロビジョニングし、管理し、および追跡するように適合されてもよい。クラウドインフラストラクチャシステム1602は、クラウドサービスをさまざまなデプロイメントモデルを介して提供してもよい。たとえば、サービスは、クラウドインフラストラクチャシステム1602が(たとえばオラクル社によって所有される)クラウドサービスを販売する組織によって所有され、サービスが一般大衆または異なる業界企業に対して利用可能にされるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム1602が単一の組織に対してのみ動作され、その組織内における1つ以上のエンティティに対してサービスを提供してもよいプライベートクラウドモデルの下で提供されてもよい。また、クラウドサービスは、クラウドインフラストラクチャシステム1602およびクラウドインフラストラクチャシステム1602によって提供されるサービスが、関連するコミュニティにおけるいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。
いくつかの実施例では、クラウドインフラストラクチャシステム1602によって提供されるサービスは、ソフトウェア・アズ・ア・サービス(SaaS)カテゴリ、プラットフォーム・アズ・ア・サービス(PaaS)カテゴリ、インフラストラクチャ・アズ・ア・サービス(IaaS)カテゴリ、またはハイブリッドサービスを含む他のサービスのカテゴリの下で提供される1つ以上のサービスを含んでもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム1602によって提供される1つ以上のサービスをオーダーしてもよい。クラウドインフラストラクチャシステム1602は、次いで、処理を実行して、顧客のサブスクリプションオーダーにおけるサービスを提供する。
いくつかの実施例では、クラウドインフラストラクチャシステム1602によって提供されるサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含んでもよいが、それらに限定されるものではない。いくつかの例では、アプリケーションサービスは、クラウドインフラストラクチャシステムによってSaaSプラットフォームを介して提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに入るクラウドサービスを提供するよう構成されてもよい。たとえば、SaaSプラットフォームは、一連のオンデマンドアプリケーションを統合された開発およびデプロイメントプラットフォーム上で構築し配送する機能を提供してもよい。SaaSプラットフォームは、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御してもよい。SaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムにおいて実行されるアプリケーションを利用することができる。顧客は、別個のライセンスおよびサポートを購入する必要なくアプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスが提供されてもよい。その例としては、大きな組織に販売実績管理、企業統合、およびビジネスの柔軟性のためのソリューションを提供するサービスが挙げられるが、それらに限定されるものではない。
いくつかの実施例では、プラットフォームサービスは、クラウドインフラストラクチャシステム1602によってPaaSプラットフォームを介して提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに入るクラウドサービスを提供するよう構成されてもよい。プラットフォームサービスの例としては、(オラクルなどの)組織が既存のアプリケーションを共有の共通のアーキテクチャにおいて整理統合することができるサービス、およびプラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能を挙げることができるが、それらに限定されるものではない。PaaSプラットフォームは、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御してもよい。顧客は、クラウドインフラストラクチャシステム1602によって提供されるPaaSサービスを、別個のライセンスおよびサポートを購入する必要なく取得することができる。プラットフォームサービスの例としては、オラクル・Java・クラウド・サービス(Oracle Java Cloud Service:JCS)、オラクル・データベース・クラウド・サービス(Oracle Database Cloud Service:DBCS)などが挙げられるが、それらに限定されるものではない。
PaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを使用することができ、デプロイされたサービスを制御することもできる。いくつかの実施例では、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス(たとえばオラクル・フュージョン・ミドルウェアサービス)、およびJavaクラウドサービスを含んでもよい。一実施例では、データベースクラウドサービスは、組織がデータベースリソースをプールし、顧客にデータベース・アズ・ア・サービスをデータベースクラウドの形式で提供することを可能にする共有のサービスデプロイメントモデルをサポートしてもよい。ミドルウェアクラウドサービスは、顧客がさまざまなビジネスアプリケーションを開発およびデプロイするためのプラットフォームをクラウドインフラストラクチャシステムにおいて提供してもよく、Javaクラウドサービスは、顧客がJavaアプリケーションをデプロイするためのプラットフォームをクラウドインフラストラクチャシステムにおいて提供してもよい。
さまざまな異なるインフラストラクチャサービスがIaaSプラットフォームによってクラウドインフラストラクチャシステムにおいて提供されてもよい。インフラストラクチャサービスは、ストレージ、ネットワーク、ならびにSaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客に対する他の基礎的計算リソースなどの基本的な計算リソースの管理および制御を容易にする。
特定の実施例では、クラウドインフラストラクチャシステム1602は、クラウドインフラストラクチャシステムの顧客に対してさまざまなサービスを提供するよう用いられるリソースを提供するためのインフラストラクチャリソース1630も含んでもよい。一実施例では、インフラストラクチャリソース1630は、サーバ、ストレージ、ならびにPaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するためのネットワーキングリソース、ならびに他のリソースなどの、ハードウェアの予め統合され最適化された組み合わせを含んでもよい。
いくつかの実施例では、クラウドインフラストラクチャシステム1602におけるリソースは、複数のユーザによって共有され、要求につき動的に再割り当てされてもよい。また、リソースは、ユーザに対してさまざまな時間ゾーンで割り当てられてもよい。たとえば、クラウドインフラストラクチャシステム1602は、第1の時間ゾーンにおけるユーザの第1の組がクラウドインフラストラクチャシステムのリソースをある特定の時間の間利用することを可能にし、次いで、異なる時間ゾーンに位置するユーザの別の組に対する同じリソースの再割り当てを可能にし、それによって、リソースの利用を最大化してもよい。
特定の実施例では、クラウドインフラストラクチャシステム1602のさまざまなコンポーネントまたはモジュールによって共有されてクラウドインフラストラクチャシステム1602によるサービスのプロビジョニングを可能にするある数の内部共有サービス1632が提供されてもよい。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、エンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよび回復サービス、クラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを含んでもよいが、それらに限定されるものではない。
特定の実施例では、クラウドインフラストラクチャシステム1602は、クラウドインフラストラクチャシステムにおいてクラウドサービス(たとえばSaaS、PaaS、およびIaaSサービス)の包括的な管理を提供してもよい。一実施例では、クラウド管理機能は、クラウドインフラストラクチャシステム1602によって受信される顧客のサブスクリプションをプロビジョニングし、管理し、および追跡する機能などを含んでもよい。
一実施例では、図16に示されるように、クラウド管理機能は、オーダー管理モジュール1620、オーダーオーケストレーションモジュール1622、オーダープロビジョニングモジュール1624、オーダー管理および監視モジュール1626、ならびにアイデンティティ管理モジュール1628などの1つ以上のモジュールによって提供されてもよい。これらのモジュールは、1つ以上のコンピュータおよび/もしくはサーバを含んでもよく、またはそれらを用いて提供されてもよく、それらは、汎用コンピュータ、専用のサーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な構成および/もしくは組み合わせであってもよい。
例示的な動作では、ステップ1634において、クライアントコンピューティングデバイス1604、1606または1608などのクライアントデバイスを用いる顧客は、クラウドインフラストラクチャシステム1602によって提供される1つ以上のサービスを要求し、クラウドインフラストラクチャシステム1602によって提供される1つ以上のサービスに対するサブスクリプションに対するオーダーを行なうことによって、クラウドインフラストラクチャシステム1602と対話してもよい。特定の実施例では、顧客は、クラウドUI1612、クラウドUI1614および/またはクラウドUI1616などのクラウドユーザインターフェイス(UI)にアクセスし、サブスクリプションオーダーをこれらのUIを介して行なってもよい。顧客がオーダーを行なうことに応答してクラウドインフラストラクチャシステム1602によって受信されるオーダー情報は、顧客を識別する情報、およびクラウドインフラストラクチャシステム1602によって提供される、その顧客が契約する予定の1つ以上のサービスを含んでもよい。
ステップ1636において、顧客から受信されたオーダー情報は、オーダーデータベース1618に保存されてもよい。これが新たなオーダーである場合には、当該オーダーに対して新たなレコードが作成されてもよい。一実施例では、オーダーデータベース1618は、クラウドインフラストラクチャシステム1618によって動作されるいくつかのデータベースのうちの1つであり得、他のシステム要素と連携して動作され得る。
ステップ1638において、オーダー情報は、オーダー管理モジュール1620に転送されてもよく、当該オーダー管理モジュール1620は、オーダーを検証すること、および検証次第そのオーダーを予約することなど、オーダーに関連する請求および課金機能を実行するよう構成されてもよい。
ステップ1640において、オーダーに関する情報は、オーダーオーケストレーションモジュール1622に通信されてもよく、当該オーダーオーケストレーションモジュール1622は、顧客によってなされたオーダーに対してサービスおよびリソースのプロビジョニングをオーケストレーションするよう構成される。いくつかの例では、オーダーオーケストレーションモジュール1622は、オーダープロビジョニングモジュール1624のサービスをプロビジョニングに使用してもよい。特定の実施例では、オーダーオーケストレーションモジュール1622は、各オーダーに関連付けられるビジネスプロセスの管理を可能にし、ビジネス論理を適用して、オーダーがプロビジョニングに進むべきか否かを判断する。
図16に示される実施例に示されているように、ステップ1642において、新たなサブスクリプションに対するオーダーを受信すると、オーダーオーケストレーションモジュール1622は、リソースを割り当てて、サブスクリプションオーダーを満たすのに必要とされるリソースを構成するよう、オーダープロビジョニングモジュール1624に対して要求を送信する。オーダープロビジョニングモジュール1624は、顧客によってオーダーされたサービスに対するリソースの割り当てを可能にする。オーダープロビジョニングモジュール1624は、クラウドインフラストラクチャシステム1600によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするよう用いられる物理的インプリメンテーション層との間にある抽象化レベルを提供する。これにより、サービスおよびリソースが実際にオンザフライでプロビジョニングされるか、サービスおよびリソースが予めプロビジョニングされて要求時にのみ割り当てられる/あてがわれるかなどの、インプリメンテーション詳細からオーダーオーケストレーションモジュール1622を分離することができる。
ステップ1644において、サービスおよびリソースがプロビジョニングされると、要求されたサービスが使用できる状態であることを示す通知が、契約している顧客に送信されてもよい。いくつかの例では、顧客が要求されたサービスの使用を開始することを可能にする情報(たとえばリンク)が顧客に送信されてもよい。
ステップ1646において、顧客のサブスクリプションオーダーは、オーダー管理および監視モジュール1626によって管理および追跡されてもよい。いくつかの例では、オーダー管理および監視モジュール1626は、契約したサービスの顧客使用に関する使用統計を収集するよう構成されてもよい。たとえば、統計は、使用されるストレージの量、転送されるデータの量、ユーザの人数、ならびにシステムアップ時間およびシステムダウン時間の量などについて収集されてもよい。
特定の実施例では、クラウドインフラストラクチャシステム1600は、アイデンティティ管理モジュール1628を含んでもよく、当該アイデンティティ管理モジュール1628は、クラウドインフラストラクチャシステム1600におけるアクセス管理および承認サービスなどのアイデンティティサービスを提供するよう構成される。いくつかの実施例では、アイデンティティ管理モジュール1628は、クラウドインフラストラクチャシステム1602によって提供されるサービスを利用することを望む顧客についての情報を制御してもよい。そのような情報は、そのような顧客のアイデンティティを認証する情報、およびそれらの顧客がさまざまなシステムリソース(たとえばファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してどのアクションを実行することが承認されるかを記述する情報を含み得る。アイデンティティ管理モジュール1628は、各顧客についての記述的情報ならびにどのように誰によってその記述的情報がアクセスおよび修正され得るかについての情報の管理も含んでもよい。
図17は、本発明の実施例を実現するために使用され得る例示的なコンピュータシステム1700を示す。いくつかの実施例では、コンピュータシステム1700は、上記のさまざまなサーバおよびコンピュータシステムのうちのいずれかを実現するよう用いられてもよい。図17に示されるように、コンピュータシステム1700は、多数の周辺サブシステムとバスサブシステム1702を介して通信する処理ユニット1704を含むさまざまなサブシステムを含む。これらの周辺サブシステムは、処理加速ユニット1706、I/Oサブシステム1708、ストレージサブシステム1718および通信サブシステム1724を含んでもよい。ストレージサブシステム1718は、有形のコンピュータ読取可能な記憶媒体1722およびシステムメモリ1710を含んでもよい。
バスサブシステム1702は、コンピュータシステム1700のさまざまなコンポーネントおよびサブシステムに意図されるように互いに通信させるための機構を提供する。バスサブシステム1702は単一のバスとして概略的に示されているが、バスサブシステムの代替的実施例は、複数のバスを利用してもよい。バスサブシステム1702は、さまざまなバスアーキテクチャのうちのいずれかを用いるメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスを含むいくつかのタイプのバス構造のうちのいずれかであってもよい。たとえば、そのようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、エンハンストISA(Enhanced ISA:EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(Video Electronics Standards Association:VESA)ローカルバス、およびIEEE P1386.1規格に従って製造される中二階バスとして実現され得る周辺コンポーネントインターコネクト(Peripheral Component Interconnect:PCI)バスなどを含んでもよい。
処理サブシステム1704は、コンピュータシステム1700の動作を制御し、1つ以上の処理ユニット1732,1734などを備えてもよい。処理ユニットは、単一コアもしくはマルチコアプロセッサを含む1つ以上のプロセッサ、プロセッサの1つ以上のコア、またはそれらの組み合わせを含んでもよい。いくつかの実施例では、処理サブシステム1704は、グラフィックスプロセッサ、デジタル信号プロセッサ(digital signal processor:DSP)などの1つ以上の特殊用途コプロセッサを含み得る。いくつかの実施例では、処理サブシステム1704の処理ユニットの一部または全ては、特定用途向け集積回路(application specific integrated circuit:ASIC)またはフィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)などのカスタマイズされた回路を用いて実現され得る。
いくつかの実施例では、処理サブシステム1704における処理ユニットは、システムメモリ1710またはコンピュータ読取可能な記憶媒体1722に記憶された命令を実行することができる。さまざまな実施例では、処理ユニットは、さまざまなプログラムまたはコード命令を実行することができ、複数の同時に実行されるプログラムまたはプロセスを維持することができる。任意の所与の時点で、実行されるべきプログラムコードの一部または全ては、システムメモリ1710、および/または、場合によっては1つ以上のストレージデバイスを含むコンピュータ読取可能な記憶媒体1722に常駐することができる。好適なプログラミングを介して、処理サブシステム1704は、セキュリティアーチファクトを管理するための上記のさまざまな機能を提供することができる。
特定の実施例では、コンピュータシステム1700によって実行される処理全体を加速させるように、カスタマイズされた処理を実行するため、または処理サブシステム1704によって実行される処理の一部をオフロードするための処理加速ユニット1706が設けられてもよい。
I/Oサブシステム1708は、コンピュータシステム1700に情報を入力するため、および/または、コンピュータシステム1700からもしくはコンピュータシステム1700を介して情報を出力するためのデバイスおよび機構を含んでもよい。一般に、「入力デバイス」という語の使用は、コンピュータシステム1700に情報を入力するための全ての考えられ得るタイプのデバイスおよび機構を含むよう意図される。ユーザインターフェイス入力デバイスは、たとえば、キーボード、マウスまたはトラックボールなどのポインティングデバイス、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイアル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを伴う音声入力デバイス、マイクロフォン、および他のタイプの入力デバイスを含んでもよい。ユーザインターフェイス入力デバイスは、ユーザが入力デバイスを制御して入力デバイスと対話することを可能にするMicrosoft Kinect(登録商標)モーションセンサ、Microsoft Xbox(登録商標)360ゲームコントローラ、ジェスチャおよび話し言葉コマンドを用いて入力を受信するためのインターフェイスを提供するデバイスなどのモーション感知および/またはジェスチャ認識デバイスも含んでもよい。ユーザインターフェイス入力デバイスは、ユーザから目の活動(たとえば写真を撮っている間および/またはメニュー選択を行なっている間の「まばたき」)を検出し、アイジェスチャを入力デバイス(たとえばGoogle Glass(登録商標))への入力として変換するGoogle Glass(登録商標)瞬き検出器などのアイジェスチャ認識デバイスも含んでもよい。また、ユーザインターフェイス入力デバイスは、ユーザが音声コマンドを介して音声認識システム(たとえばSiri(登録商標)ナビゲータ)と対話することを可能にする音声認識感知デバイスを含んでもよい。
ユーザインターフェイス入力デバイスの他の例としては、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびにスピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレーヤ、ウェブカム、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダ、および視線追跡デバイスなどの聴覚/視覚デバイスが挙げられるが、それらに限定されるものではない。また、ユーザインターフェイス入力デバイスは、たとえば、コンピュータ断層撮影、磁気共鳴撮像、ポジションエミッショントモグラフィー、医療超音波検査デバイスなどの医療画像化入力デバイスを含んでもよい。ユーザインターフェイス入力デバイスは、たとえば、MIDIキーボード、デジタル楽器などの音声入力デバイスも含んでもよい。
ユーザインターフェイス出力デバイスは、ディスプレイサブシステム、インジケータライト、または音声出力デバイスなどの非ビジュアルディスプレイなどを含んでもよい。ディスプレイサブシステムは、陰極線管(cathode ray tube:CRT)、液晶ディスプレイ(liquid crystal display:LCD)またはプラズマディスプレイを使うものなどのフラットパネルデバイス、投影デバイス、タッチスクリーンなどであってもよい。一般に、「出力デバイス」という語の使用は、コンピュータシステム1700からユーザまたは他のコンピュータに情報を出力するための全ての考えられ得るタイプのデバイスおよび機構を含むよう意図される。たとえば、ユーザインターフェイス出力デバイスは、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、プロッタ、音声出力デバイスおよびモデムなどの、テキスト、グラフィックスおよび音声/映像情報を視覚的に伝えるさまざまな表示デバイスを含んでもよいが、それらに限定されるものではない。
ストレージサブシステム1718は、コンピュータシステム1700によって使用される情報を記憶するためのリポジトリまたはデータストアを提供する。ストレージサブシステム1718は、いくつかの実施例の機能を提供する基本的なプログラミングおよびデータ構造を記憶するための有形の非一時的なコンピュータ読取可能な記憶媒体を提供する。処理サブシステム1704によって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)がストレージサブシステム1718に記憶されてもよい。当該ソフトウェアは、処理サブシステム1704の1つ以上の処理ユニットによって実行されてもよい。ストレージサブシステム1718は、本発明に従って使用されるデータを記憶するためのリポジトリも提供してもよい。
ストレージサブシステム1718は、揮発性および不揮発性メモリデバイスを含む1つ以上の非一時的なメモリデバイスを含んでもよい。図17に示されるように、ストレージサブシステム1718は、システムメモリ1710と、コンピュータ読取可能な記憶媒体1722とを含む。システムメモリ1710は、プログラム実行中に命令およびデータを記憶するための揮発性メインランダムアクセスメモリ(random access memory:RAM)および固定命令が記憶される不揮発性リードオンリメモリ(read only memory:ROM)またはフラッシュメモリを含む複数のメモリを含んでもよい。いくつかの実現例では、起動中などにコンピュータシステム1700内の要素間における情報の転送を助ける基本的なルーティンを含むベーシックインプット/アウトプットシステム(basic input/output system:BIOS)は、一般に、ROMに記憶されてもよい。RAMは、一般に、処理サブシステム1704によって現在動作および実行されているデータおよび/またはプログラムモジュールを含む。いくつかの実現例では、システムメモリ1710は、スタティックランダムアクセスメモリ(static random access memory:SRAM)またはダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)などの複数の異なるタイプのメモリを含んでもよい。
一例として、限定を伴うことなく、図17に示されるように、システムメモリ1710は、アプリケーションプログラム1712を記憶してもよく、当該アプリケーションプログラム1712は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(relational database management system:RDBMS)など、プログラムデータ1714およびオペレーティングシステム1716を含んでもよい。一例として、オペレーティングシステム1716は、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)および/もしくはLinuxオペレーティングシステム、さまざまな市場で入手可能なUNIX(登録商標)またはUNIXのようなオペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OSなどを含むがそれらに限定されない)、ならびに/または、iOS、Windows(登録商標) Phone、Android(登録商標) OS、BlackBerry(登録商標) 10 OS、およびPalm(登録商標) OSオペレーティングシステムなどのモバイルオペレーティングシステムのさまざまなバージョンを含んでもよい。
コンピュータ読取可能な記憶媒体1722は、いくつかの実施例の機能を提供するプログラミングおよびデータ構造を記憶してもよい。処理サブシステム1704によって実行されたときにプロセッサが上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)は、ストレージサブシステム1718に記憶されてもよい。一例として、コンピュータ読取可能な記憶媒体1722は、ハードディスクドライブ、磁気ディスクドライブ、CD ROM、DVD、ブルーレイ(登録商標)ディスクなどの光ディスクドライブ、または他の光学式媒体などの不揮発性メモリを含んでもよい。コンピュータ読取可能な記憶媒体1722は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digital:SD)カード、DVDディスク、デジタルビデオテープなどを含んでもよいが、それらに限定されるものではない。コンピュータ読取可能な記憶媒体1722は、フラッシュメモリベースのSSD、エンタープライズフラッシュドライブ、ソリッドステートROMなどの不揮発性メモリに基づくソリッドステートドライブ(solid-state drive:SSD)、ソリッドステートRAM、ダイナミックRAM、スタティックRAMなどの揮発性メモリに基づくSSD、DRAMベースのSSD、磁気抵抗RAM(magnetoresistive RAM:MRAM)SSD、およびDRAMとフラッシュメモリベースのSSDとの組み合わせを使用するハイブリッドSSDも含んでもよい。コンピュータ読取可能な媒体1722は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータのストレージをコンピュータシステム1700に提供してもよい。
特定の実施例では、ストレージサブシステム1700は、コンピュータ読取可能な記憶媒体1722にさらに接続可能なコンピュータ読取可能記憶媒体リーダ1720も含んでもよい。システムメモリ1710とともに、およびオプションとしてシステムメモリ1710との組み合わせで、コンピュータ読取可能な記憶媒体1722は、コンピュータ読取可能な情報を記憶するための、遠隔の、ローカルな、固定された、および/またはリムーバブルなストレージデバイスに記憶媒体を加えたものを包括的に表わしてもよい。
特定の実施例では、コンピュータシステム1700は、1つ以上の仮想マシンを実行するためのサポートを提供してもよい。コンピュータシステム1700は、仮想マシンの構成および管理を容易にするためのハイパーバイザなどのプログラムを実行してもよい。各仮想マシンは、割り当てられたメモリ、計算(たとえばプロセッサ、コア)、I/Oおよびネットワーキングリソースであってもよい。各仮想マシンは、一般に、それ自体のオペレーティングシステムを実行し、当該オペレーティングシステムは、コンピュータシステム1700によって実行される他の仮想マシンによって実行されるオペレーティングシステムと同一であってもよく、または異なっていてもよい。したがって、場合によっては、複数のオペレーティングシステムがコンピュータシステム1700によって同時に実行されてもよい。各仮想マシンは、一般に、他の仮想マシンから独立して実行される。
通信サブシステム1724は、他のコンピュータシステムおよびネットワークへのインターフェイスを提供する。通信サブシステム1724は、他のシステムとコンピュータシステム1700との間のデータの送受のためのインターフェイスとして働く。たとえば、通信サブシステム1724は、コンピュータシステム1700が1つ以上のクライアントコンピューティングデバイスとの情報の送受のためにインターネットを介したクライアントコンピューティングデバイスへの通信チャネルを確立することを可能にしてもよい。
通信サブシステム1724は、有線通信プロトコルおよび/または無線通信プロトコルをサポートしてもよい。たとえば、特定の実施例では、通信サブシステム1724は、(たとえばセルラー電話技術、3G、4GもしくはEDGE(グローバル進化のための高速データレート)などの先進データネットワーク技術、WiFi(IEEE802.11ファミリー規格、もしくは他のモバイル通信技術、またはそれらの任意の組み合わせを用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)送受信機コンポーネント、グローバルポジショニングシステム(global positioning system:GPS)受信機コンポーネント、ならびに/または他のコンポーネントを含んでもよい。いくつかの実施例では、通信サブシステム1724は、無線インターフェイスに加えて、またはその代わりに、有線ネットワーク接続(たとえばイーサネット)を提供することができる。
通信サブシステム1724は、さまざまな形式でデータを送受信することができる。たとえば、いくつかの実施例では、通信サブシステム1724は、構造化されたおよび/または構造化されていないデータフィード1726、イベントストリーム1728、イベント更新情報1730などの形式で入力通信を受信してもよい。たとえば、通信サブシステム1724は、ソーシャルメディアネットワークおよび/またはTwitter(登録商標)フィード、Facebook(登録商標)更新情報、Rich Site Summary(RSS)フィードなどのウェブフィード、および/もしくは1つ以上の第三者情報源からのリアルタイム更新情報などの他の通信サービスのユーザからリアルタイムでデータフィード1726を受信(または送信)するよう構成されてもよい。
特定の実施例では、通信サブシステム1724は、連続データストリームの形式でデータを受信するよう構成されてもよく、当該連続データストリームは、明示的な端部を有さない本質的に連続的または無限であってもよい、リアルタイムイベントのイベントストリーム1728および/またはイベント更新情報1730を含んでもよい。連続データを生成するアプリケーションの例としては、たとえば、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能測定ツール(たとえばネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム解析ツール、自動車交通監視などを挙げることができる。
また、通信サブシステム1724は、構造化されたおよび/または構造化されていないデータフィード1726、イベントストリーム1728、イベント更新情報1730などを、コンピュータシステム1700に結合される1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するよう構成されてもよい。
コンピュータシステム1700は、手持ち式の携帯デバイス(たとえばiPhone(登録商標)携帯電話、iPad(登録商標)コンピューティングタブレット、PDA)、ウェアラブルデバイス(たとえばGoogle Glass(登録商標)頭部装着型ディスプレイ)、パーソナルコンピュータ、ワークステーション、メインフレーム、キオスク、サーバラック、またはその他のデータ処理システムを含む、さまざまなタイプのもののうちの1つであり得る。
常に変化するコンピュータおよびネットワークの性質のため、図17に示されるコンピュータシステム1700の記載は、単に具体的な例として意図される。図17に示されるシステムよりも多いまたは少ないコンポーネントを有する多くの他の構成が可能である。本明細書における開示および教示に基づいて、当業者は、さまざまな実施例を実現するための他の態様および/または方法を理解するであろう。
図18は、本発明の実施例を実現するために使用され得る例示的な異常検出および解決システム(ADRS)1800を示す。図18に示されるように、ADRS1800は、ASC1820を含み得る。ASC1820は、ADRS1802モジュールと、SCDMS1804と、CCMS1806と、LRAS1808とを含み得る。ADRS1800は、1つ以上のADRC1810を含み得る。ADRC1810は、ADRS1800の一部として実現されてもよい。ASC1820は、図13のASC318であってもよい。SCDMS1804は322であってもよく、CCMS1806はCCMS324であってもよく、LRAS1808はLRAS326であってもよく、ADRS1802モジュールはADRS320であってもよい。ADRC1810は、図3のADRC354,364,374であってもよい。
少なくとも1つの実施例では、ADRSモジュール1802は、クラウドコンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めるように構成され得る。サービスは、クラウドコンピュータシステム内のコンポーネントによって確立され得る。コンポーネントは、クラウドコンピュータ環境で実行される第1のコンテナおよび第2のコンテナを含み得る。第1のコンテナは、第2のコンテナにおける子コンテナであり得る。ADRSモジュール1802は、ADRC1810のうちの1つなどの異常検出および解決コンポーネント(ADRC)を含むように第1のコンテナを構成するように構成され得る。ADRCは、クラウドコンピュータシステム内でのサービスのオペレーションに関連する異常の異常イベントを第1のコンテナにおいて検出するように構成され得る。異常イベントは、メトリックの値がメトリックの異常範囲を満たさないことに基づいて検出され得る。ADRCは、第1のコンテナにおいて異常を解決するためのポリシーを特定するように構成され得る。ADRCは、ポリシーにおけるルールが異常によって満たされることを判断するように構成され得る。ADRCは、異常を解決するための修正アクションを起動するように構成され得る。修正アクションは、ルールが満たされたことに基づいてポリシーで特定され得る。
いくつかの実施例では、異常範囲は、ユーザ定義の異常について定義される固定された範囲である。一組の値は、ポーリング間隔値、メトリックの最小値尺度、メトリックのソフト限界、メトリックの最大値、および異常の最小発生回数を定義する最小連続読取値を含み得る。異常イベントを検出することは、メトリックの値が異常範囲を満たすか否かを判断することを含み得る。メトリックの値は、値が最小値尺度未満である場合およびソフト限界以上である場合には、異常範囲を満たし得ない。異常イベントは、最小連続読取値が満たされたことに基づいて検出され得る。
いくつかの実施例では、異常範囲は、ユーザ定義の異常について定義される周期的範囲である。一組の値は、ポーリング間隔値、メトリックの最小値尺度、メトリックのソフト限界、メトリックの最大値、異常の連続発生期間、周期的範囲が有効である開始時刻、および周期的範囲が有効である終了時刻を含み得る。異常イベントを検出することは、メトリックの値が異常範囲を満たすか否かを判断することを含み得る。メトリックの値は、値が最小値尺度未満である場合およびソフト限界以上である場合、異常イベントが当該期間中に検出され、開始時刻後であって終了時刻前に検出される場合には、異常範囲を満たし得ない。
少なくとも1つの実施例では、一組の値を求めることは、ログファイルの時系列データを分析して異常範囲について一組の値を計算することを含む。
いくつかの実施例では、ADRCは、第1のコンテナにおいて異常を解決するためのポリシーを特定できないと判断すると、第1のコンテナにおいて異常を解決できないことを第2のコンテナに通知するように構成され得る。ADRCは、第2のコンテナにおいて異常を解決するためのポリシーを特定するように構成され得る。当該方法は、第2のコンテナにおいて異常を解決するためのポリシーにおけるルールが異常によって満たされることを判断することを含み得る。ADRCは、ルールが満たされたことに基づいて、第2のコンテナにおいて異常を解決するための、ポリシーで特定される修正アクションを起動するように構成され得る。
少なくとも1つの実施例では、サービスに関連するメトリックは、サービスを提供するためのサービス品質(QoS)について監視される複数のメトリックのうちの1つである。
少なくとも1つの実施例では、ADRSモジュール1802は、クラウドコンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めるように構成され得る。サービスは、クラウドコンピュータシステム内のコンポーネントによって確立され得る。コンポーネントは、クラウドコンピュータ環境で実行される第1のコンテナおよび第2のコンテナを含み得る。第1のコンテナは、第2のコンテナにおける子コンテナであり得る。ADRSモジュール1802は、ADRC1810のうちの1つなどの第1の異常検出および解決コンポーネント(ADRC)を含むように第1のコンテナを構成するように構成され得る。ADRSモジュール1802は、第2のADRCを含むように第2のコンテナを構成するように構成され得る。第1のADRCは、クラウドコンピュータシステム内でのサービスのオペレーションに関連する異常の異常イベントを第1のコンテナにおいて検出するように構成され得る。異常イベントは、メトリックの値がメトリックの異常範囲を満たさないことに基づいて検出される。第1のADRCは、第1のADRCが第1のコンテナにおいて異常を解決するためのポリシーを有するか否かを判断するように構成され得る。第1のADRCは、第1のADRCが第1のコンテナにおいて異常を解決するためのポリシーを持たないと判断したことに基づいて、第1のコンテナにおいて異常を解決できないことを第2のコンテナに通知するように構成され得る。第2のADRCは、第2のコンテナにおいて異常を解決するためのポリシーをADRCのために特定するように構成され得る。第2のADRCは、第2のコンテナにおいて異常を解決するためのポリシーにおけるルールが異常によって満たされることを判断するように構成され得る。第2のADRCは、ルールが満たされたことに基づいて、第2のコンテナにおいて異常を解決するための、ポリシーで特定される修正アクションを起動するように構成され得る。
いくつかの実施例では、第2のADRCは、第2のADRCが第2のコンテナにおいて異常を解決するためのポリシーを持たないと判断したことに基づいて、異常を解決できなかったという警告を通信システムを用いて送信するように構成され得る。
いくつかの実施例では、第2のADRCは、第2のADRCが第2のコンテナにおいて異常を解決するためのポリシーを持たないと判断したことに基づいて、異常を解決できないことを第3のコンテナに通知するように構成され得て、第3のコンテナは、コンポーネントのうちの1つである。第3のコンテナは、第2のコンテナを含み得る。第3のADRCは、第3のコンテナにおいて異常を解決するためのポリシーを特定するように第3のコンテナ内に構成され得る。第3のADRCは、第3のコンテナにおいて異常を解決するための、ポリシーで特定される修正アクションを起動するように構成され得る。
本発明の具体的な実施例について説明してきたが、さまざまな変形例、変更例、代替的な構成および等価物も本発明の範囲内に包含される。変形例は、開示されている特徴のいかなる関連の組み合わせも含む。本発明の実施例は、特定の具体的なデータ処理環境内でのオペレーションに限定されるものではなく、複数のデータ処理環境内で自由に動作できる。また、特定の一連のトランザクションおよびステップを用いて本発明の実施例について説明してきたが、本発明の範囲は、記載されている一連のトランザクションおよびステップに限定されるものではない、ということが当業者に明らかであるべきである。上記の実施例のさまざまな特徴および局面は、個々にまたは一緒に使用されてもよい。
さらに、ハードウェアとソフトウェアとの特定の組み合わせを用いて本発明の実施例について説明してきたが、ハードウェアとソフトウェアとの他の組み合わせも本発明の範囲内であることが認識されるべきである。本発明の実施例は、ハードウェアのみで実現されてもよく、またはソフトウェアのみで実現されてもよく、またはそれらの組み合わせを用いて実現されてもよい。本明細書に記載されているさまざまなプロセスは、任意の組み合わせで同一のプロセッサまたは異なるプロセッサ上で実現され得る。したがって、コンポーネントまたはモジュールが特定のオペレーションを実行するよう構成されるものとして記載されている場合、このような構成は、たとえばオペレーションを実行するように電子回路を設計することによって、オペレーションを実行するように(マイクロプロセッサなどの)プログラム可能な電子回路をプログラミングすることによって、またはそれらの任意の組み合わせによって、達成されることができる。プロセスは、従来のプロセス間通信技術を含むがそれに限定されないさまざまな技術を用いて通信することができ、プロセスの異なる対は、異なる技術を使用してもよく、またはプロセスの同一の対は、異なるときに異なる技術を使用してもよい。
したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかし、特許請求の範囲に記載されているより広範な精神および範囲から逸脱することなく、追加、減算、削除、ならびに他の変形および変更がそれに対してなされてもよい、ということは明白であろう。したがって、具体的な本発明の実施例について説明してきたが、これらは限定的であるよう意図されるものではない。さまざまな変形例および等価物は、以下の特許請求の範囲の範囲内である。

Claims (20)

  1. 方法であって、
    コンピュータシステムによって、クラウドコンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めるステップを備え、前記サービスは、前記クラウドコンピュータシステム内のコンポーネントによって確立され、前記コンポーネントは、クラウドコンピュータ環境で実行される第1のコンテナおよび第2のコンテナを含み、前記第1のコンテナは、前記第2のコンテナにおける子コンテナであり、前記方法はさらに、
    異常検出および解決コンポーネント(ADRC)を含むように前記第1のコンテナを構成するステップと、
    前記ADRCによって、前記クラウドコンピュータシステム内での前記サービスのオペレーションに関連する異常の異常イベントを前記第1のコンテナにおいて検出するステップとを備え、前記異常イベントは、前記メトリックの値が前記メトリックの前記異常範囲を満たさないことに基づいて検出され、前記方法はさらに、
    前記第1のコンテナにおいて前記異常を解決するためのポリシーを特定するステップと、
    前記ポリシーにおけるルールが前記異常によって満たされることを判断するステップと、
    前記異常を解決するための修正アクションを起動するステップとを備え、前記修正アクションは、前記ルールが満たされたことに基づいて前記ポリシーで特定される、方法。
  2. 前記異常範囲は、ユーザ定義の異常について定義される固定された範囲であり、前記一組の値は、ポーリング間隔値、前記メトリックの最小値尺度、前記メトリックのソフト限界、前記メトリックの最大値、および前記異常の最小発生回数を定義する最小連続読取値を含む、請求項1に記載の方法。
  3. 前記異常イベントを検出するステップは、前記メトリックの前記値が前記異常範囲を満たすか否かを判断するステップを含み、前記メトリックの前記値は、前記値が前記最小値尺度未満である場合および前記ソフト限界以上である場合には、前記異常範囲を満たさない、請求項2に記載の方法。
  4. 前記異常イベントはさらに、前記最小連続読取値が満たされたことに基づいて検出される、請求項2または3に記載の方法。
  5. 前記異常範囲は、ユーザ定義の異常について定義される周期的範囲であり、前記一組の値は、ポーリング間隔値、前記メトリックの最小値尺度、前記メトリックのソフト限界、前記メトリックの最大値、前記異常の連続発生期間、前記周期的範囲が有効である開始時刻、および前記周期的範囲が有効である終了時刻を含む、請求項4に記載の方法。
  6. 前記異常イベントを検出するステップは、前記メトリックの前記値が前記異常範囲を満たすか否かを判断するステップを含み、前記メトリックの前記値は、前記値が前記最小値尺度未満である場合および前記ソフト限界以上である場合、前記異常イベントが前記期間中に検出され、前記開始時刻後であって前記終了時刻前に検出される場合には、前記異常範囲を満たさない、請求項5に記載の方法。
  7. 前記一組の値を求めるステップは、ログファイルの時系列データを分析して前記異常範囲について前記一組の値を計算するステップを含む、請求項1〜6のいずれか1項に記載の方法。
  8. 前記第1のコンテナにおいて前記異常を解決するためのポリシーを特定できないと判断すると、前記第1のコンテナにおいて前記異常を解決できないことを前記第2のコンテナに通知するステップと、
    前記第2のコンテナにおいて前記異常を解決するためのポリシーを特定するステップと、
    前記第2のコンテナにおいて前記異常を解決するための前記ポリシーにおけるルールが前記異常によって満たされることを判断するステップと、
    前記ルールが満たされたことに基づいて、前記第2のコンテナにおいて前記異常を解決するための、前記ポリシーで特定される修正アクションを起動するステップとをさらに備える、請求項1〜7のいずれか1項に記載の方法。
  9. 前記サービスに関連する前記メトリックは、前記サービスを提供するためのサービス品質(QoS)について監視される複数のメトリックのうちの1つである、請求項1〜8のいずれか1項に記載の方法。
  10. システムであって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサにアクセス可能なメモリとを備え、前記メモリは、命令を格納し、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    クラウドコンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めさせ、前記サービスは、前記クラウドコンピュータシステム内のコンポーネントによって確立され、前記コンポーネントは、クラウドコンピュータ環境で実行される第1のコンテナおよび第2のコンテナを含み、前記第1のコンテナは、前記第2のコンテナにおける子コンテナであり、前記命令はさらに、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    異常検出および解決コンポーネント(ADRC)を含むように前記第1のコンテナを構成させ、
    前記ADRCによって、前記クラウドコンピュータシステム内での前記サービスのオペレーションに関連する異常の異常イベントを前記第1のコンテナにおいて検出させ、前記異常イベントは、前記メトリックの値が前記メトリックの前記異常範囲を満たさないことに基づいて検出され、前記命令はさらに、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    前記第1のコンテナにおいて前記異常を解決するためのポリシーを特定させ、
    前記ポリシーにおけるルールが前記異常によって満たされることを判断させ、
    前記異常を解決するための修正アクションを起動させ、前記修正アクションは、前記ルールが満たされたことに基づいて前記ポリシーで特定される、システム。
  11. 前記1つ以上のプロセッサおよび前記メモリは、前記クラウドコンピュータシステムに含まれる、請求項10に記載のシステム。
  12. 前記異常範囲は、ユーザ定義の異常について定義される固定された範囲であり、前記一組の値は、ポーリング間隔値、前記メトリックの最小値尺度、前記メトリックのソフト限界、前記メトリックの最大値、および前記異常の最小発生回数を定義する最小連続読取値を含む、請求項10または11に記載のシステム。
  13. 前記異常イベントを検出することは、前記メトリックの前記値が前記異常範囲を満たすか否かを判断することを含み、前記メトリックの前記値は、前記値が前記最小値尺度未満である場合および前記ソフト限界以上である場合には、前記異常範囲を満たさない、請求項10〜12のいずれか1項に記載のシステム。
  14. 前記異常イベントはさらに、前記最小連続読取値が満たされたことに基づいて検出される、請求項12または13に記載のシステム。
  15. 前記異常範囲は、ユーザ定義の異常について定義される周期的範囲であり、前記一組の値は、ポーリング間隔値、前記メトリックの最小値尺度、前記メトリックのソフト限界、前記メトリックの最大値、前記異常の連続発生期間、前記周期的範囲が有効である開始時刻、および前記周期的範囲が有効である終了時刻を含む、請求項10または11に記載のシステム。
  16. 前記異常イベントを検出することは、前記メトリックの前記値が前記異常範囲を満たすか否かを判断することを含み、前記メトリックの前記値は、前記値が前記最小値尺度未満である場合および前記ソフト限界以上である場合、前記異常イベントが前記期間中に検出され、前記開始時刻後であって前記終了時刻前に検出される場合には、前記異常範囲を満たさない、請求項10〜15のいずれか1項に記載のシステム。
  17. 前記一組の値を求めることは、ログファイルの時系列データを分析して前記異常範囲について前記一組の値を計算することを含む、請求項10〜16のいずれか1項に記載のシステム。
  18. 方法であって、
    コンピュータシステムによって、クラウドコンピュータシステムによって提供されるサービスに関連するメトリックの異常範囲を定義する一組の値を求めるステップを備え、前記サービスは、前記クラウドコンピュータシステム内のコンポーネントによって確立され、前記コンポーネントは、クラウドコンピュータ環境で実行される第1のコンテナおよび第2のコンテナを含み、前記第1のコンテナは、前記第2のコンテナにおける子コンテナであり、前記方法はさらに、
    第1の異常検出および解決コンポーネント(ADRC)を含むように前記第1のコンテナを構成するステップと、
    第2のADRCを含むように前記第2のコンテナを構成するステップと、
    前記第1のADRCによって、前記クラウドコンピュータシステム内での前記サービスのオペレーションに関連する異常の異常イベントを前記第1のコンテナにおいて検出するステップとを備え、前記異常イベントは、前記メトリックの値が前記メトリックの前記異常範囲を満たさないことに基づいて検出され、前記方法はさらに、
    前記第1のADRCが前記第1のコンテナにおいて前記異常を解決するためのポリシーを有するか否かを判断するステップと、
    前記第1のADRCが前記第1のコンテナにおいて前記異常を解決するためのポリシーを持たないと判断したことに基づいて、前記第1のコンテナにおいて前記異常を解決できないことを前記第2のコンテナに通知するステップと、
    前記第2のADRCによって、前記第2のコンテナにおいて前記異常を解決するためのポリシーを前記ADRCのために特定するステップと、
    前記第2のコンテナにおいて前記異常を解決するための前記ポリシーにおけるルールが前記異常によって満たされることを判断するステップと、
    前記ルールが満たされたことに基づいて、前記第2のコンテナにおいて前記異常を解決するための、前記ポリシーで特定される修正アクションを起動するステップとを備える、方法。
  19. 前記第2のADRCが前記第2のコンテナにおいて前記異常を解決するためのポリシーを持たないと前記第2のADRCによって判断したことに基づいて、前記異常を解決できなかったという警告を通信システムを用いて送信するステップをさらに備える、請求項18に記載の方法。
  20. 前記第2のADRCが前記第2のコンテナにおいて前記異常を解決するためのポリシーを持たないと前記第2のADRCによって判断したことに基づいて、前記異常を解決できないことを第3のコンテナに通知するステップをさらに備え、前記第3のコンテナは、前記コンポーネントのうちの1つであり、前記第3のコンテナは、前記第2のコンテナを含み、前記方法はさらに、
    前記第3のコンテナ内に構成される第3のADRCによって、前記第3のコンテナにおいて前記異常を解決するためのポリシーを特定するステップと、
    前記第3のコンテナにおいて前記異常を解決するための、前記ポリシーで特定される修正アクションを起動するステップとを備える、請求項18または19に記載の方法。
JP2017561705A 2015-05-28 2016-05-27 自動異常検出および解決システム Active JP6731424B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201562167851P 2015-05-28 2015-05-28
US62/167,851 2015-05-28
US201562199895P 2015-07-31 2015-07-31
US62/199,895 2015-07-31
US201562245706P 2015-10-23 2015-10-23
US62/245,706 2015-10-23
US15/165,298 2016-05-26
US15/165,298 US10042697B2 (en) 2015-05-28 2016-05-26 Automatic anomaly detection and resolution system
PCT/US2016/034536 WO2016191639A1 (en) 2015-05-28 2016-05-27 Automatic anomaly detection and resolution system

Publications (3)

Publication Number Publication Date
JP2018518762A true JP2018518762A (ja) 2018-07-12
JP2018518762A5 JP2018518762A5 (ja) 2019-02-21
JP6731424B2 JP6731424B2 (ja) 2020-07-29

Family

ID=56133059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017561705A Active JP6731424B2 (ja) 2015-05-28 2016-05-27 自動異常検出および解決システム

Country Status (5)

Country Link
US (2) US10042697B2 (ja)
EP (1) EP3304315B1 (ja)
JP (1) JP6731424B2 (ja)
CN (2) CN110134542B (ja)
WO (1) WO2016191639A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125354B1 (ko) * 2018-12-19 2020-06-22 주식회사 와이즈넛 마이크로 서비스 아키텍처를 사용하는 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템 및 그 방법
JP2020109636A (ja) * 2018-12-28 2020-07-16 エーオー カスペルスキー ラボAO Kaspersky Lab 互換性のあるモジュールを特定するシステムおよび方法
WO2020197096A1 (ko) * 2019-03-28 2020-10-01 (주)한국아이티평가원 클라우드 기반 어플리케이션의 이용 관리 시스템 및 방법
KR102259760B1 (ko) * 2020-11-09 2021-06-02 여동균 화이트 리스트 기반 비정상 프로세스 분석 서비스 제공 시스템
JP2021518595A (ja) * 2018-03-13 2021-08-02 テクトロニクス・インコーポレイテッドTektronix,Inc. プロトコルの設計、評価、デバッグのための統合開発環境
JP2021535633A (ja) * 2018-06-29 2021-12-16 インテル コーポレイション 仮想ネットワークでのストレージサービスの品質の管理
JP2022077515A (ja) * 2020-11-11 2022-05-23 ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハー 電気車両のための充電インフラストラクチャ・システムの障害を検出するための方法およびシステム
JP2022543994A (ja) * 2019-08-05 2022-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散処理システムのリソース評価方法、システム、プログラム
WO2023058137A1 (ja) * 2021-10-05 2023-04-13 楽天モバイル株式会社 アクション実行システム及びその制御方法
US11734098B2 (en) 2020-09-09 2023-08-22 Fujitsu Limited Computer-readable recording medium storing failure cause identification program and method of identifying failure cause
US11874730B2 (en) 2022-02-26 2024-01-16 International Business Machines Corporation Identifying log anomaly resolution from anomalous system logs

Families Citing this family (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016128491A1 (en) 2015-02-11 2016-08-18 British Telecommunications Public Limited Company Validating computer resource usage
US10042697B2 (en) 2015-05-28 2018-08-07 Oracle International Corporation Automatic anomaly detection and resolution system
WO2017021155A1 (en) 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Controlled resource provisioning in distributed computing environments
US11347876B2 (en) 2015-07-31 2022-05-31 British Telecommunications Public Limited Company Access control
EP3329408A1 (en) 2015-07-31 2018-06-06 British Telecommunications public limited company Expendable access control
US10284453B2 (en) * 2015-09-08 2019-05-07 Uber Technologies, Inc. System event analyzer and outlier visualization
US10043026B1 (en) * 2015-11-09 2018-08-07 8X8, Inc. Restricted replication for protection of replicated databases
US10021120B1 (en) 2015-11-09 2018-07-10 8X8, Inc. Delayed replication for protection of replicated databases
WO2017095374A1 (en) * 2015-11-30 2017-06-08 Hewlett Packard Enterprise Development Lp Alignment and deduplication of time-series datasets
US10200387B2 (en) * 2015-11-30 2019-02-05 International Business Machines Corporation User state tracking and anomaly detection in software-as-a-service environments
US10705835B2 (en) * 2015-12-03 2020-07-07 International Business Machines Corporation Transparent multi-architecture support in a container based cloud
US10223074B2 (en) * 2015-12-11 2019-03-05 International Business Machines Corporation Determining the identity of software in software containers
US10546241B2 (en) 2016-01-08 2020-01-28 Futurewei Technologies, Inc. System and method for analyzing a root cause of anomalous behavior using hypothesis testing
US10397810B2 (en) * 2016-01-08 2019-08-27 Futurewei Technologies, Inc. Fingerprinting root cause analysis in cellular systems
US10074066B2 (en) * 2016-01-16 2018-09-11 International Business Machines Corporation Two phase predictive approach for supply network optimization
US10332056B2 (en) * 2016-03-14 2019-06-25 Futurewei Technologies, Inc. Features selection and pattern mining for KQI prediction and cause analysis
US10129118B1 (en) * 2016-03-29 2018-11-13 Amazon Technologies, Inc. Real time anomaly detection for data streams
US11023248B2 (en) 2016-03-30 2021-06-01 British Telecommunications Public Limited Company Assured application services
US11159549B2 (en) 2016-03-30 2021-10-26 British Telecommunications Public Limited Company Network traffic threat identification
EP3437007B1 (en) 2016-03-30 2021-04-28 British Telecommunications public limited company Cryptocurrencies malware based detection
WO2017167549A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Untrusted code distribution
WO2017167544A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Detecting computer security threats
US10614398B2 (en) * 2016-05-26 2020-04-07 International Business Machines Corporation System impact based logging with resource finding remediation
US10614085B2 (en) * 2016-05-26 2020-04-07 International Business Machines Corporation System impact based logging with enhanced event context
CN107526647B (zh) * 2016-06-21 2021-06-22 伊姆西Ip控股有限责任公司 一种故障处理方法、系统和计算机程序产品
US10805414B2 (en) * 2016-07-15 2020-10-13 International Business Machines Corporation Dynamic resource broker services
US10223191B2 (en) * 2016-07-20 2019-03-05 International Business Machines Corporation Anomaly detection in performance management
GB2553784B (en) * 2016-09-13 2019-02-06 Advanced Risc Mach Ltd Management of log data in electronic systems
CN107819640B (zh) * 2016-09-14 2019-06-28 北京百度网讯科技有限公司 用于机器人操作系统的监控方法和装置
US10432483B1 (en) * 2016-09-26 2019-10-01 Amazon Technologies, Inc. General-purpose metrics publishing with variable resolution
US11151473B1 (en) * 2016-10-19 2021-10-19 Jpmorgan Chase Bank, N.A. Systems and methods for machine-learning augmented application monitoring
CN106528389B (zh) * 2016-10-27 2021-03-09 北京小米移动软件有限公司 系统流畅性的性能评测方法、装置及终端
US10430249B2 (en) * 2016-11-02 2019-10-01 Red Hat Israel, Ltd. Supporting quality-of-service for virtual machines based on operational events
US10733037B2 (en) * 2016-11-03 2020-08-04 Cisco Technology, Inc. STAB: smart triaging assistant bot for intelligent troubleshooting
US11429473B2 (en) * 2016-11-30 2022-08-30 Red Hat, Inc. Automated problem resolution
GB201621627D0 (en) * 2016-12-19 2017-02-01 Palantir Technologies Inc Task allocation
US10560348B2 (en) * 2016-12-20 2020-02-11 Arris Enterprises Llc Network access device for facilitating the troubleshooting of network connectivity problems
CN106875018B (zh) * 2017-01-04 2021-03-30 北京百度网讯科技有限公司 一种超大规模机器自动化维修的方法和装置
US10203998B2 (en) * 2017-02-22 2019-02-12 Accenture Global Solutions Limited Automatic analysis of a set of systems used to implement a process
US11126465B2 (en) 2017-03-23 2021-09-21 Microsoft Technology Licensing, Llc Anticipatory collection of metrics and logs
US11055631B2 (en) * 2017-03-27 2021-07-06 Nec Corporation Automated meta parameter search for invariant based anomaly detectors in log analytics
US10831585B2 (en) * 2017-03-28 2020-11-10 Xiaohui Gu System and method for online unsupervised event pattern extraction and holistic root cause analysis for distributed systems
US20180287949A1 (en) * 2017-03-29 2018-10-04 Intel Corporation Throttling, sub-node composition, and balanced processing in rack scale architecture
US20180287914A1 (en) * 2017-03-30 2018-10-04 Wipro Limited System and method for management of services in a cloud environment
EP3602369B1 (en) 2017-03-30 2022-03-30 British Telecommunications public limited company Anomaly detection for computer systems
EP3382555A1 (en) * 2017-03-30 2018-10-03 Wipro Limited System and method for management of services in a cloud environment
EP3382591B1 (en) 2017-03-30 2020-03-25 British Telecommunications public limited company Hierarchical temporal memory for expendable access control
US11586751B2 (en) 2017-03-30 2023-02-21 British Telecommunications Public Limited Company Hierarchical temporal memory for access control
US10482158B2 (en) 2017-03-31 2019-11-19 Futurewei Technologies, Inc. User-level KQI anomaly detection using markov chain model
WO2018191730A1 (en) * 2017-04-13 2018-10-18 Texas Tech University System System and method for automated prediction and detection of component and system failures
US10171377B2 (en) * 2017-04-18 2019-01-01 International Business Machines Corporation Orchestrating computing resources between different computing environments
US10698926B2 (en) * 2017-04-20 2020-06-30 Microsoft Technology Licensing, Llc Clustering and labeling streamed data
US10917419B2 (en) 2017-05-05 2021-02-09 Servicenow, Inc. Systems and methods for anomaly detection
US11562293B2 (en) 2017-05-08 2023-01-24 British Telecommunications Public Limited Company Adaptation of machine learning algorithms
WO2018206405A1 (en) 2017-05-08 2018-11-15 British Telecommunications Public Limited Company Interoperation of machine learning algorithms
US11698818B2 (en) 2017-05-08 2023-07-11 British Telecommunications Public Limited Company Load balancing of machine learning algorithms
EP3622450A1 (en) 2017-05-08 2020-03-18 British Telecommunications Public Limited Company Management of interoperating machine leaning algorithms
US10970637B2 (en) 2017-05-16 2021-04-06 International Business Machines Corporation Analytics gathering of discovered and researched insights
US10375169B1 (en) * 2017-05-24 2019-08-06 United States Of America As Represented By The Secretary Of The Navy System and method for automatically triggering the live migration of cloud services and automatically performing the triggered migration
US10740212B2 (en) * 2017-06-01 2020-08-11 Nec Corporation Content-level anomaly detector for systems with limited memory
US10701094B2 (en) * 2017-06-22 2020-06-30 Oracle International Corporation Techniques for monitoring privileged users and detecting anomalous activities in a computing environment
US11161307B1 (en) 2017-07-07 2021-11-02 Kemeera Inc. Data aggregation and analytics for digital manufacturing
US10726269B2 (en) * 2017-07-20 2020-07-28 Verizon Patent And Licensing, Inc. Aligning advertisements in video streams
US10769160B2 (en) * 2017-07-20 2020-09-08 Airmagnet, Inc. Efficient storage and querying of time series metrics
WO2019036394A1 (en) * 2017-08-14 2019-02-21 Cloud Assert Llc DIAGNOSIS OF SOFTWARE AND RESOLUTION OF ANOMALIES
US11294789B2 (en) 2017-08-18 2022-04-05 Vmware, Inc. Data collection of event data and relationship data in a computing environment
US10601849B2 (en) * 2017-08-24 2020-03-24 Level 3 Communications, Llc Low-complexity detection of potential network anomalies using intermediate-stage processing
US10560394B2 (en) * 2017-09-22 2020-02-11 Cisco Technology, Inc. Dynamic transmission side scaling
US10956849B2 (en) * 2017-09-29 2021-03-23 At&T Intellectual Property I, L.P. Microservice auto-scaling for achieving service level agreements
JP7493450B2 (ja) 2017-09-30 2024-05-31 オラクル・インターナショナル・コーポレイション コンテナのグループの動的マイグレーション
US10635565B2 (en) * 2017-10-04 2020-04-28 Servicenow, Inc. Systems and methods for robust anomaly detection
WO2019075399A1 (en) * 2017-10-13 2019-04-18 Huawei Technologies Co., Ltd. SYSTEM AND METHOD FOR COLLABORATIVE REAL TIME USER USE OF CLOUD DEVICE AND DETECTION OF PERFORMANCE ANOMALY
US11175650B2 (en) * 2017-11-03 2021-11-16 Drishti Technologies, Inc. Product knitting systems and methods
US10628435B2 (en) * 2017-11-06 2020-04-21 Adobe Inc. Extracting seasonal, level, and spike components from a time series of metrics data
US10628252B2 (en) * 2017-11-17 2020-04-21 Google Llc Real-time anomaly detection and correlation of time-series data
US20190163515A1 (en) * 2017-11-24 2019-05-30 Wipro Limited Method and system for resolving anomaly events occurring in a virtual environment in real-time
US11120127B2 (en) * 2017-12-27 2021-09-14 Nec Corporation Reconstruction-based anomaly detection
JP7032640B2 (ja) * 2017-12-28 2022-03-09 富士通株式会社 影響範囲特定プログラム、影響範囲特定方法、および影響範囲特定装置
US10764312B2 (en) * 2017-12-28 2020-09-01 Microsoft Technology Licensing, Llc Enhanced data aggregation techniques for anomaly detection and analysis
CN108052385A (zh) * 2017-12-29 2018-05-18 亿企赢网络科技有限公司 一种容器管理方法、系统、设备及计算机存储介质
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11368474B2 (en) 2018-01-23 2022-06-21 Rapid7, Inc. Detecting anomalous internet behavior
US10884805B2 (en) * 2018-02-15 2021-01-05 Amazon Technologies, Inc. Dynamically configurable operation information collection
US10572336B2 (en) 2018-03-23 2020-02-25 International Business Machines Corporation Cognitive closed loop analytics for fault handling in information technology systems
US11165799B2 (en) * 2018-04-05 2021-11-02 Microsoft Technology Licensing, Llc Anomaly detection and processing for seasonal data
US10733043B2 (en) 2018-04-11 2020-08-04 International Business Machines Corporation Automatic correcting of computing cluster execution failure
CN108710673B (zh) * 2018-05-17 2021-07-09 招银云创信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
US10783027B2 (en) * 2018-05-30 2020-09-22 Microsoft Technology Licensing, Llc Preemptive crash data capture
CN108923952B (zh) * 2018-05-31 2021-11-30 北京百度网讯科技有限公司 基于服务监控指标的故障诊断方法、设备及存储介质
KR102059808B1 (ko) * 2018-06-11 2019-12-27 주식회사 티맥스오에스 컨테이너 기반 통합 관리 시스템
US11106560B2 (en) * 2018-06-22 2021-08-31 EMC IP Holding Company LLC Adaptive thresholds for containers
CN108920327A (zh) * 2018-06-27 2018-11-30 郑州云海信息技术有限公司 一种云计算告警方法及装置
US11366680B2 (en) * 2018-07-19 2022-06-21 Twistlock, Ltd. Cloud native virtual machine runtime protection
US11514406B2 (en) * 2018-07-25 2022-11-29 Sap Se Cascaded analysis logic for solution and process control
US11019064B2 (en) 2018-09-04 2021-05-25 International Business Machines Corporation Data security across data residency restriction boundaries
US10796283B2 (en) 2018-09-24 2020-10-06 International Business Machines Corporation Dynamically deleting received documents based on a generated expiration deadline for an event lapsing
US11157346B2 (en) * 2018-09-26 2021-10-26 Palo Alto Rsearch Center Incorporated System and method for binned inter-quartile range analysis in anomaly detection of a data series
US11671308B2 (en) * 2018-10-30 2023-06-06 Nokia Solutions And Networks Oy Diagnosis knowledge sharing for self-healing
US11055162B2 (en) * 2018-10-31 2021-07-06 Salesforce.Com, Inc. Database system performance degradation detection
CN109656781A (zh) * 2018-12-20 2019-04-19 北京量子保科技有限公司 一种日志管理方法、系统、介质和电子设备
CN109614553A (zh) * 2018-12-21 2019-04-12 北京博明信德科技有限公司 用于日志收集的PaaS平台
US20200210310A1 (en) * 2018-12-27 2020-07-02 Hewlett Packard Enterprise Development Lp Analytics-based architecture compliance testing for distributed web applications
EP3675017A1 (en) * 2018-12-28 2020-07-01 AO Kaspersky Lab System and method of determining compatible modules
EP3675018A1 (en) * 2018-12-28 2020-07-01 AO Kaspersky Lab Method of detecting compatible systems for systems with anomalies
US11159360B2 (en) * 2019-01-15 2021-10-26 Cisco Technology, Inc. Dynamic statistics correlation for computing resources in a multi-tenant environment
US10901375B2 (en) 2019-01-31 2021-01-26 Morgan Stanley Services Group Inc. Chaotic system anomaly response by artificial intelligence
WO2020167539A1 (en) * 2019-02-05 2020-08-20 Qomplx, Inc. System and method for complex it process annotation, tracing, analysis, and simulation
US10812619B2 (en) * 2019-02-19 2020-10-20 Ingram Micro Inc. System and method for bulk user service assignment using CSV
US11061796B2 (en) * 2019-02-19 2021-07-13 Vmware, Inc. Processes and systems that detect object abnormalities in a distributed computing system
US11854551B2 (en) * 2019-03-22 2023-12-26 Avaya Inc. Hybrid architecture for transcription of real-time audio based on event data between on-premises system and cloud-based advanced audio processing system
US11290348B1 (en) * 2019-03-28 2022-03-29 Juniper Networks, Inc. Interactive user interfaces for displaying features of an optimized network plan
US11163663B2 (en) * 2019-04-09 2021-11-02 Jpmorgan Chase Bank, N.A. Method for improving end user experience in virtual desktop infrastructure by diagnosing potential performance problems
US11481300B2 (en) * 2019-04-23 2022-10-25 Vmware, Inc. Processes and systems that detect abnormal behavior of objects of a distributed computing system
US11715051B1 (en) * 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation
CN113994641A (zh) * 2019-06-25 2022-01-28 马维尔亚洲私人有限公司 具有异常检测的汽车网络交换机
US11561959B2 (en) 2019-07-15 2023-01-24 Huawei Cloud Computing Technologies Co., Ltd. Method and system for automatic anomaly detection in data
US10671443B1 (en) 2019-07-16 2020-06-02 Capital One Services, Llc Infrastructure resource monitoring and migration
RU2739864C1 (ru) * 2019-07-17 2020-12-29 Акционерное общество "Лаборатория Касперского" Система и способ корреляции событий для выявления инцидента информационной безопасности
US11301307B2 (en) 2019-07-24 2022-04-12 Red Hat, Inc. Predictive analysis for migration schedulers
US11803773B2 (en) * 2019-07-30 2023-10-31 EMC IP Holding Company LLC Machine learning-based anomaly detection using time series decomposition
US11561960B2 (en) * 2019-08-13 2023-01-24 T-Mobile Usa, Inc. Key performance indicator-based anomaly detection
US11284284B2 (en) 2019-08-13 2022-03-22 T-Mobile Usa, Inc. Analysis of anomalies using ranking algorithm
US10496532B1 (en) 2019-08-14 2019-12-03 Capital One Services, Llc Automatically reconfiguring a performance test environment
US11281522B2 (en) * 2019-08-30 2022-03-22 Microsoft Technology Licensing, Llc Automated detection and classification of dynamic service outages
US11327952B2 (en) * 2019-09-06 2022-05-10 Salesforce.Com, Inc. Multivariate auto-differential correlation engine in a computing environment
US11763198B2 (en) * 2019-10-08 2023-09-19 Nec Corporation Sensor contribution ranking
CN110825873B (zh) * 2019-10-11 2022-04-12 支付宝(杭州)信息技术有限公司 用于对日志异常分类规则进行扩充的方法及装置
CN110874291B (zh) * 2019-10-31 2022-10-21 北京中科云脑智能技术有限公司 一种异常容器实时检测方法
US11797882B2 (en) * 2019-11-21 2023-10-24 Oracle International Corporation Prognostic-surveillance technique that dynamically adapts to evolving characteristics of a monitored asset
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11941116B2 (en) * 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
CN112988501B (zh) * 2019-12-17 2023-02-03 深信服科技股份有限公司 一种告警信息生成方法、装置、电子设备及存储介质
WO2021146899A1 (zh) * 2020-01-21 2021-07-29 深圳元戎启行科技有限公司 数据存储方法和装置、计算机设备、计算机可读存储介质
WO2021155576A1 (en) * 2020-02-07 2021-08-12 Alibaba Group Holding Limited Automatic parameter tuning for anomaly detection system
US11593221B2 (en) * 2020-02-28 2023-02-28 EMC IP Holding Company LLC Methods and systems for determining backup schedules
US11256598B2 (en) 2020-03-13 2022-02-22 International Business Machines Corporation Automated selection of performance monitors
US11892924B2 (en) * 2020-03-20 2024-02-06 UncommonX Inc. Generation of an issue detection evaluation regarding a system aspect of a system
US11416364B2 (en) * 2020-03-27 2022-08-16 Vmware, Inc. Methods and systems that identify dimensions related to anomalies in system components of distributed computer systems using clustered traces, metrics, and component-associated attribute values
US11113174B1 (en) * 2020-03-27 2021-09-07 Vmware, Inc. Methods and systems that identify dimensions related to anomalies in system components of distributed computer systems using traces, metrics, and component-associated attribute values
US11880271B2 (en) * 2020-03-27 2024-01-23 VMware LLC Automated methods and systems that facilitate root cause analysis of distributed-application operational problems and failures
US11880272B2 (en) * 2020-03-27 2024-01-23 VMware LLC Automated methods and systems that facilitate root-cause analysis of distributed-application operational problems and failures by generating noise-subtracted call-trace-classification rules
US11314576B2 (en) 2020-03-31 2022-04-26 Accenture Global Solutions Limited System and method for automating fault detection in multi-tenant environments
US11379293B1 (en) * 2020-05-14 2022-07-05 State Farm Mutual Automobile Insurance Company System and method for automatically monitoring and diagnosing user experience problems
US11675646B2 (en) * 2020-06-25 2023-06-13 Amazon Technologies, Inc. Systems, apparatuses, and methods for anomaly detection
CN111782432B (zh) * 2020-06-29 2024-03-22 中国工商银行股份有限公司 用于容器异常分析的数据的采集方法及装置
US11314575B2 (en) * 2020-08-03 2022-04-26 International Business Machines Corporation Computing system event error corrective action recommendation
WO2022040583A1 (en) * 2020-08-20 2022-02-24 Simetric, Inc. Bulk device processing systems and methods
US11593669B1 (en) * 2020-11-27 2023-02-28 Amazon Technologies, Inc. Systems, methods, and apparatuses for detecting and creating operation incidents
US11514173B2 (en) 2020-12-02 2022-11-29 International Business Machines Corporation Predicting software security exploits by monitoring software events
US11403326B2 (en) 2020-12-03 2022-08-02 International Business Machines Corporation Message-based event grouping for a computing operation
US11797538B2 (en) 2020-12-03 2023-10-24 International Business Machines Corporation Message correlation extraction for mainframe operation
US11513930B2 (en) 2020-12-03 2022-11-29 International Business Machines Corporation Log-based status modeling and problem diagnosis for distributed applications
US11243835B1 (en) 2020-12-03 2022-02-08 International Business Machines Corporation Message-based problem diagnosis and root cause analysis
US11474892B2 (en) 2020-12-03 2022-10-18 International Business Machines Corporation Graph-based log sequence anomaly detection and problem diagnosis
US11995562B2 (en) 2020-12-03 2024-05-28 International Business Machines Corporation Integrating documentation knowledge with log mining for system diagnosis
US11599404B2 (en) 2020-12-03 2023-03-07 International Business Machines Corporation Correlation-based multi-source problem diagnosis
CN112782977B (zh) * 2020-12-23 2022-10-04 中国科学院宁波材料技术与工程研究所慈溪生物医学工程研究所 一种基于bp神经网络与扩张观测器的电机柔顺控制方法
US11792211B2 (en) 2021-01-07 2023-10-17 Bank Of America Corporation System for detecting and remediating computing system breaches using computing network traffic monitoring
US11748210B2 (en) * 2021-01-22 2023-09-05 EMC IP Holding Company LLC Intelligent monitoring of backup, recovery and anomalous user activity in data storage systems
US11710088B1 (en) 2021-02-16 2023-07-25 Target Brands, Inc. Scalable order management monitoring
CN112925674B (zh) * 2021-02-18 2022-07-26 云南大唐国际那兰水电开发有限公司 一种电力监控大数据备份方法和系统
CN112702365B (zh) * 2021-03-24 2021-07-06 北京安信天行科技有限公司 基于虚拟云的数据安全态势监测方法、系统及设备
US11936513B2 (en) 2021-03-30 2024-03-19 Acronis International Gmbh System and method for anomaly detection in a computer network
CN113064873B (zh) * 2021-04-15 2022-11-15 上海浦东发展银行股份有限公司 一种高召回率的日志异常检测方法
US11693652B2 (en) 2021-04-16 2023-07-04 27 Software U.S. Inc. Automated authoring of software solutions from a data model
US11409505B1 (en) 2021-04-16 2022-08-09 27 Software U.S. Inc. Automated authoring of software solutions from a data model with related patterns
US11314489B1 (en) * 2021-04-16 2022-04-26 27 Software U.S. Inc. Automated authoring of software solutions by first analyzing and resolving anomalies in a data model
US11210155B1 (en) * 2021-06-09 2021-12-28 International Business Machines Corporation Performance data analysis to reduce false alerts in a hybrid cloud environment
US11575586B2 (en) * 2021-06-23 2023-02-07 Microsoft Technology Licensing, Llc End-to-end service level metric approximation
US11860759B2 (en) 2021-07-12 2024-01-02 Capital One Services, Llc Using machine learning for automatically generating a recommendation for a configuration of production infrastructure, and applications thereof
US11727011B2 (en) 2021-08-24 2023-08-15 Target Brands, Inc. Data analysis tool with precalculated metrics
US11847448B2 (en) * 2021-09-08 2023-12-19 Red Hat, Inc. Automatic generation of exporter configuration rules
US11836040B2 (en) * 2021-10-29 2023-12-05 Fidelity Information Services, Llc Software application development tool for automation of maturity advancement
US11892903B2 (en) 2021-12-17 2024-02-06 Bank Of America Corporation System and method for continuous failure prediction and remediation within a computational environment using independent execution units
US11782780B2 (en) 2021-12-17 2023-10-10 Bank Of America Corporation Automatic remediation of failures within a computational environment using independent execution units
US20230195597A1 (en) * 2021-12-20 2023-06-22 Intel Corporation Matchmaking-based enhanced debugging for microservices architectures
US20230280996A1 (en) * 2022-03-04 2023-09-07 Verizon Patent And Licensing Inc. Application hosting, monitoring, and management within a container hosting environment
WO2024057063A1 (en) * 2022-09-14 2024-03-21 Telefonaktiebolaget Lm Ericsson (Publ) Operational anomaly detection and isolation in multi-domain communication networks
CN116226788B (zh) * 2023-05-06 2023-07-25 鹏城实验室 一种融合多种数据类型的建模方法及相关设备
CN116467113B (zh) * 2023-06-20 2023-12-05 深圳富联富桂精密工业有限公司 异常处理方法、装置、电子设备及计算机可读存储介质
CN117112432A (zh) * 2023-09-05 2023-11-24 中电金信软件有限公司 流程重试方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322274A (ja) * 1999-05-11 2000-11-24 Nec Corp オペレーティングシステムの階層的リカバリ装置
JP2005346331A (ja) * 2004-06-02 2005-12-15 Nec Corp 障害復旧装置および障害復旧方法、マネージャ装置並びにプログラム
WO2010103562A1 (ja) * 2009-03-09 2010-09-16 富士通株式会社 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
US20120130874A1 (en) * 2010-11-22 2012-05-24 Network Appliance, Inc. Providing security in a cloud storage environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823382B2 (en) * 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
US7284054B2 (en) * 2003-04-11 2007-10-16 Sun Microsystems, Inc. Systems, methods, and articles of manufacture for aligning service containers
US8060792B2 (en) * 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US20110098973A1 (en) 2009-10-23 2011-04-28 Computer Associates Think, Inc. Automatic Baselining Of Metrics For Application Performance Management
CN103947140B (zh) * 2011-09-20 2017-09-29 以太杰作有限责任公司 用于位置无关软件的需求驱动的部署的系统和方法
WO2013043170A1 (en) 2011-09-21 2013-03-28 Hewlett-Packard Development Company L.P. Automated detection of a system anomaly
US9300548B2 (en) * 2011-10-14 2016-03-29 Alcatel Lucent Providing dynamic reliability and security in communications environments
US8868474B2 (en) * 2012-08-01 2014-10-21 Empire Technology Development Llc Anomaly detection for cloud monitoring
US9542400B2 (en) * 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US20150081883A1 (en) * 2013-09-17 2015-03-19 Stackdriver, Inc. System and method of adaptively and dynamically modelling and monitoring applications and software architecture hosted by an iaas provider
CN104410535B (zh) * 2014-12-23 2018-03-30 浪潮电子信息产业股份有限公司 一种云资源智能监控告警方法
US10289973B2 (en) * 2015-04-10 2019-05-14 Telefonaktiebolaget Lm Ericsson (Publ) System and method for analytics-driven SLA management and insight generation in clouds
US10042697B2 (en) 2015-05-28 2018-08-07 Oracle International Corporation Automatic anomaly detection and resolution system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322274A (ja) * 1999-05-11 2000-11-24 Nec Corp オペレーティングシステムの階層的リカバリ装置
JP2005346331A (ja) * 2004-06-02 2005-12-15 Nec Corp 障害復旧装置および障害復旧方法、マネージャ装置並びにプログラム
WO2010103562A1 (ja) * 2009-03-09 2010-09-16 富士通株式会社 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
US20120130874A1 (en) * 2010-11-22 2012-05-24 Network Appliance, Inc. Providing security in a cloud storage environment

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7364580B2 (ja) 2018-03-13 2023-10-18 テクトロニクス・インコーポレイテッド 試験測定装置のためのプロトコル・デザイナ及びプロトコル定義を生成、デバッグ及び展開する方法
JP2021518595A (ja) * 2018-03-13 2021-08-02 テクトロニクス・インコーポレイテッドTektronix,Inc. プロトコルの設計、評価、デバッグのための統合開発環境
JP7175997B2 (ja) 2018-06-29 2022-11-21 インテル コーポレイション 仮想ネットワークでのストレージサービスの品質の管理
US11809890B2 (en) 2018-06-29 2023-11-07 Intel Corporation Managing quality of storage service in virtual network
JP2021535633A (ja) * 2018-06-29 2021-12-16 インテル コーポレイション 仮想ネットワークでのストレージサービスの品質の管理
KR102125354B1 (ko) * 2018-12-19 2020-06-22 주식회사 와이즈넛 마이크로 서비스 아키텍처를 사용하는 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템 및 그 방법
JP2020109636A (ja) * 2018-12-28 2020-07-16 エーオー カスペルスキー ラボAO Kaspersky Lab 互換性のあるモジュールを特定するシステムおよび方法
JP7320443B2 (ja) 2018-12-28 2023-08-03 エーオー カスペルスキー ラボ 互換性のあるモジュールを特定するシステムおよび方法
KR102212806B1 (ko) * 2019-03-28 2021-02-08 (주)한국아이티평가원 클라우드 기반 어플리케이션의 이용 관리 방법
KR20200114237A (ko) * 2019-03-28 2020-10-07 (주)한국아이티평가원 클라우드 기반 어플리케이션의 이용 관리 시스템 및 방법
WO2020197096A1 (ko) * 2019-03-28 2020-10-01 (주)한국아이티평가원 클라우드 기반 어플리케이션의 이용 관리 시스템 및 방법
JP2022543994A (ja) * 2019-08-05 2022-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散処理システムのリソース評価方法、システム、プログラム
JP7461696B2 (ja) 2019-08-05 2024-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散処理システムのリソース評価方法、システム、プログラム
US11734098B2 (en) 2020-09-09 2023-08-22 Fujitsu Limited Computer-readable recording medium storing failure cause identification program and method of identifying failure cause
KR102259760B1 (ko) * 2020-11-09 2021-06-02 여동균 화이트 리스트 기반 비정상 프로세스 분석 서비스 제공 시스템
JP2022077515A (ja) * 2020-11-11 2022-05-23 ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハー 電気車両のための充電インフラストラクチャ・システムの障害を検出するための方法およびシステム
JP7339313B2 (ja) 2020-11-11 2023-09-05 ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハー 電気車両のための充電インフラストラクチャ・システムの障害を検出するための方法およびシステム
WO2023058137A1 (ja) * 2021-10-05 2023-04-13 楽天モバイル株式会社 アクション実行システム及びその制御方法
US11874730B2 (en) 2022-02-26 2024-01-16 International Business Machines Corporation Identifying log anomaly resolution from anomalous system logs

Also Published As

Publication number Publication date
CN110134542B (zh) 2023-05-30
EP3304315B1 (en) 2019-04-24
JP6731424B2 (ja) 2020-07-29
US10042697B2 (en) 2018-08-07
EP3304315A1 (en) 2018-04-11
CN110134542A (zh) 2019-08-16
WO2016191639A1 (en) 2016-12-01
US20190042353A1 (en) 2019-02-07
CN107690623A (zh) 2018-02-13
US10853161B2 (en) 2020-12-01
CN107690623B (zh) 2019-06-07
US20160350173A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
US10853161B2 (en) Automatic anomaly detection and resolution system
US11681563B2 (en) Environment agnostic configuration with a declarative infrastructure provisioner
US11233873B2 (en) Dynamic weighting for cloud-based provisioning systems
US11314574B2 (en) Techniques for managing and analyzing log data
US10817488B2 (en) Historical data representation in cloud service
CN106664321B (zh) 基于放置策略的计算资源分配
US10929202B2 (en) Cloud service notifications
JP6605019B2 (ja) ポリシーベースのリソース管理および割当てシステム
US9582254B2 (en) Generating runtime components
JP2019522846A (ja) データベースプロビジョニングのためのリソース配分
US20190087176A1 (en) Systems and methods for updating multi-tier cloud-based application stacks
US11755337B2 (en) Techniques for managing dependencies of an orchestration service
EP4094149A1 (en) Updating code in distributed version control system
WO2021150291A1 (en) User interface techniques for an infrastructure orchestration service

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6731424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250