JP2019536185A - コンピュータおよびネットワーク活動を監視および分析するためのシステムおよび方法 - Google Patents

コンピュータおよびネットワーク活動を監視および分析するためのシステムおよび方法 Download PDF

Info

Publication number
JP2019536185A
JP2019536185A JP2019545880A JP2019545880A JP2019536185A JP 2019536185 A JP2019536185 A JP 2019536185A JP 2019545880 A JP2019545880 A JP 2019545880A JP 2019545880 A JP2019545880 A JP 2019545880A JP 2019536185 A JP2019536185 A JP 2019536185A
Authority
JP
Japan
Prior art keywords
data
production environment
unit
incident
metric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019545880A
Other languages
English (en)
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 JP2019536185A publication Critical patent/JP2019536185A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

生産環境を監視し、報告するシステムは、前記生産環境の1つ以上のコンピューティングシステム上に常駐する1つ以上のアプリケーションプログラミングインターフェイス(API)を介して生産環境からのデータを取得する。前記システムは、メトリックを計算するように前記取得されたデータを使用し、前記システムはその後、所定のインシデントが発生したか否かを判定するために、前記取得されたデータおよび前記計算されたメトリックを使用する。所定のインシデントが発生した場合、その発生が速やかに報告され、または、前記インシデントが報告されるべきか否かを判定するために、二次分析が第1に実行され得る。

Description

発明の詳細な説明
〔背景〕
本出願は、ビジネスがコンピュータベースの生産環境を効率的かつ良好な性能で動作させ続けるのを補助するように使用される技術を開示する。「生産環境」は、多くの異なるもののいずれであってもよい。いくつかの例では、生産環境は、オンライン小売動作を実行するように使用されるコンピュータサーバのネットワーク化されたシステムとすることができる。別の例では、生産環境は、コンピュータソフトウェアアプリケーションを生成するように使用されるコンピュータシステムであってもよい。さらに他の実施形態では、生産環境は、コンピュータ制御製造システムとすることができる。コンピュータ、コンピュータソフトウェア、および/またはコンピュータネットワークに依存する実質的に任意の種類の生産環境は、本出願に開示されるシステムおよび方法から利益を得ることができる。
コンピュータベースの生産環境がスケールアップし、より大きくなるにつれて、性能は低下する可能性がある。システムのすべての部分を効率的に動作させ続けることは、ますます困難になる。生産環境を監視し、主要なメトリックおよびイベントについて報告するように設計された多くのソフトウェアアプリケーションが存在する。しかし、そのような監視アプリケーションによって生成されたデータおよび報告は、それ自体理解するのが困難な場合がある。そのようなデータおよび報告を有意義な方法で使用して、ピーク性能を回復することは困難であり得る。また、このような生産環境において課題(problem)または問題(issue)が発生した場合、システム管理者は、このような監視アプリケーションによって提供されたデータや報告に基づいて、課題または問題の根本原因を同定する(identify)ことが非常に困難になる可能性がある。
上記のすべての理由から、生産環境における活動を監視し、課題および問題が発生したときにそれらの根本的な原因を同定することができる追加の技術が必要である。また、課題が発生したときに、それらを能動的に同定することができ、人間の介入を必要とせずに、課題を軽減または解決するための措置をとることができる技術が必要とされている。
〔図面の簡単な説明〕
図1は、生産環境アシスタントの様々な要素を図示するブロック図である。
図2は、データ収集ユニットの様々な要素を図示するブロック図である。
図3は、データ収集および変換ユニットの様々な要素を図示するブロック図である。
図4は、メトリックユニットの様々な要素を図示するブロック図である。
図5は、評価ユニットの様々な要素を図示するブロック図である。
図6は、インシデントユニットの様々な要素を図示するブロック図である。
図7は、通知ユニットの様々な要素を図示するブロック図である。
図8は、能動インスペクタシステムの様々な要素を図示するブロック図である。
図9は、改善ユニットの様々な要素を図示するブロック図である。
図10は、ユーザインタフェースシステムの様々な要素を図示するブロック図である。
図11は、クライアントシステムからデータを収集する方法のステップを図示するフローチャートである。
図12は、受信したクライアントデータを様々なデータリポジトリに格納する方法のステップを図示するフローチャートである。
図13は、収集されたクライアントデータから様々なメトリックを計算する方法のステップを図示するフローチャートである。
図14は、インシデントが発生したか否かを判定するためにデータを分析する方法のステップを図示するフローチャートである。
図15は、発生したインシデントを報告する方法のステップを図示するフローチャートである。
図16は、データを取得し、所定のインシデントが発生したか否かを判定するためにクライアントのシステムを能動的に監視する方法のステップを図示するフローチャートであり、図17は、クライアントのシステムに関する課題または問題を修正するように改善措置(remediation action)をとる方法のステップを図示するフローチャートである。
〔詳細な説明〕
図1に、クライアントの生産環境からデータを受信または取得する生産環境アシスタントであって、課題または問題が発生しているか否かを判定するためにそのデータを分析し、任意の同定された課題または問題の報告を行う生産環境アシスタント100の、様々な要素を図示する。
生産環境アシスタント100はまた、そのような課題または問題を治癒または軽減するように、改善措置をとることができる。前記生産環境アシスタントは、クライアントの生産環境からデータを受信または取得する役割を担うデータ収集ユニット200を含む。データ収集ユニット200は、典型的には、前記クライアントのシステムにインストールされ、構成されたアプリケーションプログラミングインタフェース(API)を介してデータを受信する。APIは、定期的または連続的に、特定のタイプのデータをデータ収集ユニット200に自動的に発信するように構成される。前記APIによってデータ収集ユニット200に発信されるデータは、クライアントの生産環境の様々な測定値を表すデータポイント、ならびに前記クライアントの生産環境上で発生したイベントに関連するイベントデータを含むことができる。
前記データは、コンピュータアプリケーションまたはプログラムによって実行される動作、コンピュータシステムおよびネットワーク自体、ならびに前記クライアントのビジネスに関連する他のデータにも関連し得る。例えば、データ収集ユニット200に報告されるデータは、統計データ、または前記クライアントの生産環境の販売または使用に関連する情報など、前記クライアントの生産環境上で生じるビジネス活動に関連する情報を含むことができる。前記クライアントのシステムにインストールされた1つ以上のAPIを介して、クライアントの生産環境に関連する実質的に任意のタイプのデータをデータ収集ユニット200に報告することができる。生産環境アシスタント100はまた、データ変換および記憶ユニット300を含む。
データ変換および記憶ユニット300は、クライアントの生産環境からデータを受信し、データを変換および拡充(enrich)し、そのデータをデータキューにロードする。データ変換および記憶ユニット300はまた、受信または取得されたクライアントデータを1つ以上のデータリポジトリに記憶するように動作することもできる。
生産環境アシスタント100はまた、メトリックユニット400を含む。メトリックユニット400は、クライアントの生産環境に関連するデータを受信または取得し、その後、その生の(raw)データを使用して様々なメトリック(metrics)を計算する。このような計算は、異なる統計方程式およびアルゴリズム、ならびにアウトライアーおよび異常アルゴリズムを含むことができる(ただし、これらに限定されない)。次いで、前記メトリックデータは、メトリックリポジトリに記憶される。
生産環境アシスタント100は、評価ユニット500をさらに含む。前記評価ユニットは、クライアントの生産環境に関連するデータを取得または取得し、前記データを分析して、所定のインシデントが前記クライアントの生産環境で発生したか、または発生しているか否かを判定する。評価ユニット500は、従来の分析技術、ならびに人工知能ベースの分析技術を適用することができる。
生産環境アシスタント100はまた、インシデントユニット600を備える。所定のインシデントが発生したと判定されるたびに、インシデントユニット600は、前記評価ユニットによって通知される。このようなインシデントは、インシデントデータベースに格納され、クエリユニットを介して検索することができる。
生産環境アシスタント100は、インシデントをクライアントおよびシステム管理者に報告する通知ユニット700をさらに含む。通知ユニット700は、クライアントまたはシステム管理者に通知を送達するように、様々な異なる通信チャネルを介して動作することができる。
生産環境アシスタント100は、能動インスペクタシステム800をさらに含む。能動インスペクタシステムシステム800は、個々の能動インスペクタを構成し、実行し、そのそれぞれは、特定の課題または問題の発生について単一のクライアントの生産環境を監視するように設定される。能動インスペクタはまた、同定された課題または問題を修正すべく試みるように、改善措置をとるように構成されてもよい。生産環境アシスタント100は、改善ユニット900をさらに含む。
改善ユニット900は、そのような課題または問題が同定された場合に、前記クライアントの生産環境に関する課題または問題を修正または軽減するための措置をとるように構成される。生産環境アシスタント100はまた、ユーザインタフェースシステム1000を含む。ユーザインタフェースシステム1000は、データを取得するように、または様々な動作を生じさせるように、クライアントが生産環境アシスタント100と対話することができる様々な異なる方法を提供する。前記ユーザインタフェースシステムは、自然発話ベースの、または所定の発話ベースのコマンドを使用してクライアントと対話するように、発話認識技術を利用することができる。ユーザインタフェースシステム1000はまた、コンピュータシステムを介して提示されるグラフィカルユーザインタフェースを含む、より伝統的な方法で、様々なクライアントユーザと対話することができる。
生産環境アシスタント100の上述の要素のそれぞれについて、以下でより詳細に説明する。さらに、図11〜17は、クライアントの生産環境を監視し、課題または問題がいつ発生したかを判定し、それらの課題または問題について報告し、ならびに改善措置をとるように、生産環境アシスタント100の要素によって実行される様々な方法のステップを示す。
図2に、生産環境アシスタント100の一部とすることができるデータ収集および変換ユニット200の様々な要素を図示する。データ収集ユニット200は、受動収集ユニット202を含み、受動収集ユニット202は、クライアントの生産環境の前記様々なシステムから報告されたデータを受信する。受動収集ユニット202に報告されたデータは、前記クライアントの生産環境にインストールされた様々なAPIを介して報告することができる。あるいは、またはさらに、専用エージェントをクライアントサーバまたはネットワーキング機器にインストールすることができる。そのようなエージェントは、1つ以上の別個のAPI収集方法を利用することができる。前記APIは、定期的に、または継続的に、前記クライアントの生産環境上のオペレーションに関する様々な情報項目を報告するように構成される。
受動収集ユニット202は、API構成ユニット204を含むことができ、API構成ユニット204は、クライアントの生産環境にインストールされる前記様々なAPIを構成するのを補助するように使用することができる。特に、API構成ユニット204は、クライアントの生産環境内にインストールされたAPIに、1つ以上のクライアント固有の暗号化コード、トークン、または鍵を提供するように使用することができる。次いで、APIは、この暗号化コード、トークン、または鍵を、それらが受動収集ユニット204に報告するデータと共に含む。
受動収集ユニット202はまた、データ受信ユニット206を含み、データ受信ユニット206は、クライアントの生産環境にインストールされたAPIから報告されたデータを実際に受信する。データ受信ユニット206は、前記受信されたデータが適切なクライアント固有の暗号鍵、トークンまたはコードを含むことを確実にするために、前記受信されたデータをチェックする。そうである場合、データ受信ユニット206は、受信されたデータを受け入れる。受信されたデータが適切な暗号化コード、トークン、または鍵を含まない場合、データ受信ユニットは、受信されたデータを無視する。これは、悪意のある第三者が人為的および/または不正確なデータを偽装することを非常に困難にする。クライアント固有の暗号化コード、トークン、または鍵は、受信されたデータを特定のクライアントから発信されたものとして同定するように動作することもできる。
データ収集ユニット200は、能動収集ユニット208を含むことができる。能動収集ユニット208は、クライアントの生産環境内にインストールされたAPIにそのようなデータのリクエストを発信することによって、クライアントの生産環境から特定の情報項目を能動的に探し出し、取得する。能動収集ユニット208は、クライアントの生産環境内にインストールされたAPIを、そのようなリクエストに応答するように構成するのを補助するように使用されるAPI構成ユニット210を含むことができる。これは、クライアントの生産環境内のAPIに、それらのAPIからクライアントの生産環境に関する情報を取得するために能動収集ユニット208によって使用されなければならない様々な暗号鍵またはコードを提供するステップを含むことができる。言い換えれば、能動収集ユニット208は、クライアントの生産環境内のAPIからデータを取得するように、これらのAPIに暗号鍵またはコードを提供することを必要とし得る。API構成ユニット210は、クライアントの生産環境内のAPIから情報を取得するように能動収集ユニット208によって使用される暗号鍵またはコードを確立するのに役立つ。
能動収集ユニット208はまた、能動収集ルールユニット212を含むことができる。能動収集ルールユニットは、システム管理者またはクライアントが、能動収集ユニット208がいつどのようにクライアントの生産環境から情報を求めるかを判定する所定のルールを設定することを可能にする。そのようなルールが確立されると、能動収集ユニット208は、ルールに従うように動作する。
能動収集ユニット208は、クライアント通信監視ユニット214をさらに含むことができる。クライアント通信監視ユニット214は、特定のクライアントによって使用されるか、または関連付けられる様々な個人によって生成されるか、または受信される通信を監視する通信収集ユニット216を含むことができる。これは、電子メールメッセージ、テキストメッセージ、インスタントメッセージ、他の形式の書面通信のコピー、ならびに特定の個人間を通過する音声通信のコピーを収集するステップを含むことができる。次に、通信分析ユニット218は、通信収集ユニット216によって収集されたクライアント通信を分析して、特定の活動がクライアントのシステムまたは生産環境内で発生しているか否かを判定するのを補助する。
クライアント通信を収集し、分析する目的は、クライアントの生産環境内で課題または問題が発生したか否かを判定することである。そのために、通信分析ユニット218は、特定の課題または問題に関連付けられる特定のキーワードを求めてクライアント通信を検索することができる。特定のタイプの課題または問題に関連する1つ以上のキーワードがクライアント通信で見つかった場合、通信分析ユニット218は、システムによって受信された他の信号との深い相関のために、その情報を評価ユニット500に発信することができる。それは、潜在的な課題または問題についての通知を、システム管理者に、またはおそらく、より詳細なチェックを実行することができるように、または改善措置をとることができるように、前記生産環境アシスタントの他の要素に発信することができる。
通信分析ユニット218は、クライアント通信におけるキーワードを、特定のコンテキストにおいて適用可能性を有する既知の情報技術ワードと比較することができる。分析の目的は、クライアントの意図を判定し、特定のタイプの課題または問題に関して行動することである。この目的のために、情報技術またはコンピュータ語の辞書を参照することができる。さらに、通信分析ユニット218は、ある種のキーワードがある種の課題に関連づけられるようになる、そのようなキーワードの辞書またはデータベースを経時的に構築することができる。そのような辞書またはデータベースは、特定のクライアントに特有であってもよく、または複数のクライアントに対するより広い適用性を有してもよい。この種のヒストリカルナレッジは、課題がいつ再発したかを同定するのに非常に価値がある。
通信分析ユニット218は、まず、ITシステム意図およびITシステム資産のコーパス(corpus)を構築するように、NLP(自然言語処理)アルゴリズムを使用することができる。例えば、意図は、システム上で自動的にまたは手動でとることができる動作である。「再起動」、「増加」、「リブート」、「シャットダウン」、「削除」、「追加」、「スケール」、「同調」はすべて、ITシステム上でとられ得る意図または動作の実施例である。「CPU」、「メモリ」、「サブネット」、「ネットワークインタフェース」、「ガベージコレクション」、「I/O」、「ディスク」はすべてITタームである。番号およびパーセンテージ、ならびに名詞は、文全体のセマンティクス(semantics)を生成するバウンディングピースである。例えば、人間がコンピュータメッセージングシステムを介して「CPU使用量が多いため、名称『abc123』のサーバを再起動する必要がある」と報告している場合、文を分析する通信分析ユニット218は、「ため」、「多い」、「CPU」、「再起動」、「abc123」などのキーワードを同定する。これらのキーワードを同定し、それらを評価ユニット500に発信するステップは、特定の環境に適合させることができるか、またはより広範なITシステム環境において一時的に使用することができる一般的なITコンポーネント間の、因果関係および修復(remediation)接続を構築するのに役立つ。
上述のように、データ収集ユニット200によって収集することができるデータのタイプは、クライアントの生産環境内に存在する個々のコンピュータシステムまたはネットワークに関する様々なデータポイントを含むことができる。また、データポイントは、クライアントの生産環境内で実行されている個々のソフトウェアアプリケーションの動作に関連することもできる。さらに、データ収集ユニット200によって取得されるデータは、財務情報、販売データ、オンライン小売システム内のトラフィック、通信システム内のトラフィック、ならびにクライアントの生産環境の動作に関連する実質的に任意の他のタイプのデータなど、ビジネスがどのように実行されているかに関する情報を含むことができる。
多くのクライアントは、前記クライアントの生産環境の動作を監視するように、様々な監視システムまたは監視ソフトウェアアプリケーションをすでにインストールしている。データ収集ユニット200は、多くの場合、これらの監視システムまたは監視ソフトウェアアプリケーションに提供されるAPIを介して、これらの別個の監視システムによって報告される情報を取得することができる。そのような監視システムまたは監視ソフトウェアプリケーションの実施例には、Graphite、New Relic、Appdynamics、Datadog、Ruxit(Dynatraceによる)、Takipi、Rollbar、Sensu、Nagios、Zabbix、ELK Stack、ならびに、実質的に任意の他の生産環境監視ツールが含まれる。
生産環境アシスタント100のデータ収集および変換ユニット300は、データキュー302を含む。データ収集ユニット200によって取得されたデータおよび情報は、最初にデータキュー302にロードされる。データキュー302は、データポイントキュー304およびイベントキュー306を含むことができる。データキュー302は、様々なクライアントの生産環境から受信された大量のデータを保持するように構成される。例えば、データキュー302は、複数の異なるクライアント生産環境から報告された1週間分までのデータを保持するように構成することができる。前記データを直ちにデータキュー302に入れることによって、受信したデータが決して失われていないことを確実にすることができる。
次いで、ストレージ最適化ユニット314は、データキュー302内のデータを分析し、受信したデータのすべてまたは様々な部分を、短期リポジトリ308、中期リポジトリ310、および長期リポジトリ312に記憶する。ストレージ最適化ユニット314は、データ記憶コストを最小限に抑えるように、高度に効率的な方法で前記データを格納するように動作することができる。さらに、ストレージ最適化ユニット314は、受信されたデータをコンポーネント部分に分割し、受信されたデータを、後の時点でそのデータを分析することをより容易にする所定のフォーマットで記憶する役割を担うことができる。
ストレージ最適化ユニット314は、異なる記憶タイプおよび記憶期間の拡張をサポートする構成テンプレートを実装する。例えば、テンプレートは、最初に、メモリのみの記憶によって極めて短時間のリポジトリを利用するカテゴリを含むことができる。これは、各ノード上のtmpfsファイルシステムとして、またはキャッシュ層(Redis、Memcache、RabbitMQ、ActiveMQ、または任意の他の関連技術)などの任意の他のメモリ内タイプ技術によって実装することができる。前記テンプレートは、それに応じて、短期、中期、および長期の記憶層も含み得る。設定テンプレートはまた、各ストレージ層優先度、フォールバックポリシー判定(書き込みまたは読み出し失敗の場合)、および記憶されるべきオブジェクトタイプを含み得る。
ストレージ最適化ユニット314は、まず、構成テンプレートをチェックすることにより、ストレージオブジェクト毎に、使用する最適なストレージレイヤをリアルタイムに計算し、ポリシーに基づいて階層化されたストレージメカニズムを実現する。一旦オブジェクトが取り出されることが必要になると、オブジェクトのタイプおよび時間が既に知られているので、サーチ動作をスキップし、関連する階層を直接指し示すことが可能である。これは、記憶コストおよび性能に関して大きな利点を提供する。
ストレージ最適化アルゴリズムは、実際のデータを異なる階層間で分割し、それを別々のファイルに分割することもできる。例えば、データストリームが1ヶ月のデータポイントを含む場合、最適化ストレージユニット314は、前記ポリシーテンプレートを読み取り、時間、優先順位、コスト、または任意の他の属性に基づいて、前記1ヶ月のデータポイントをより小さいセクションに分割することができ、また、異なる記憶タイプにわたって分割することもできる。読み出しリクエスト時に、各特定のピースは、完全な結果として返送される前に、取り出され、メモリに集約される。
生産環境アシスタント100の一部であるメトリックユニット400は、クライアントの生産環境から受信または取得されたデータに基づいて様々なメトリックを計算する役割を担う。メトリックユニットは、システム管理者および/またはクライアントが、どのタイプのメトリックが前記クライアントデータから計算されるべきかを判定することを可能にするメトリック構成制御ユニット404を含む。次いで、メトリック計算ユニット406は、メトリック構成制御ユニット404によって確立された構成に基づいてメトリック計算を実際に実行する。
クライアントの生産環境から受信したデータポイントから計算することができるメトリックの例には、平均値、平均、分散、共分散、および実質的に任意の他のタイプのメトリックが含まれる。そのようなメトリックは、DBSCAN、ハンペル(Hampel)フィルタ、ホルト・ウィンタースなどの複数のアウトライアー検出アルゴリズムを使用して計算することができる。これらのメトリック値は、ある期間にわたって、または他の何らかのタイプのグループ化に基づいて計算することができる。メトリック計算ユニット406は、データ収集および変換ユニット300のデータキュー302から直接引き出されたデータ、または短期リポジトリ308、中期リポジトリ310および長期リポジトリ312から引き出されたデータ、またはこれらのソースの組合せからのデータを利用することができる。計算されたメトリックは、メトリックリポジトリ407に格納される。
メトリックユニット400は、システム管理者、ユーザ、および生産環境アシスタント100の他の要素がクエリを実行し、メトリックリポジトリ407内の前記計算されたメトリック情報から情報を取得することを可能にするメトリッククエリインタフェース408を含む。メトリッククエリインタフェースは、単一のクライアントの生産環境について計算されたメトリック、または複数の異なるクライアント生産環境について計算されたメトリックを取得することを可能にする。その結果、1つの生産環境からのメトリックを、異なる生産環境におけるメトリックと比較して、傾向、課題、および問題を同定するのを補助することができる。
メトリック計算ユニット406は、メトリックのメトリックを計算することもできる。言い換えると、複数の異なる類似の生産環境について計算された生産環境変数の平均値を、メトリック計算ユニット406によって計算して、その変数のグローバル平均を作成することができる。次いで、このグローバル平均値は、メトリックリポジトリ407に格納される。次いで、グローバル平均値を、特定のクライアントの平均値が判断される基準として使用することができる。その変数についての特定のクライアントの平均メトリック値は、その変数について計算されたグローバル平均値と比較され、特定のクライアントの生産環境がグローバル平均とどのように比較されるかが確認される。
個々の生産環境メトリックをグローバル平均と比較する能力は、多くの個々の企業が実行することができないものである。典型的には、企業は、自分自身のメトリックにアクセスするだけである。したがって、1つのクライアントの生産環境からのメトリックを同じメトリックの平均値と比較する能力は、個々の生産環境内の課題および問題を同定するのに役立つ強力なツールとなり得る。さらに、メトリックユニット400は、生のデータポイントだけでなく、イベントも格納することができるので、複数の属性の集約、ならびにイベントおよびデータポイントの組み合わせが可能である。この強力な組み合わせにより、管理者は、計算されたデータポイントを照会し、相関するイベントを同時に検査することができる。そのメカニズムは、イベント、システム/サーバ、および時間、の間の潜在的な相関を同定するように自動的に使用することもできる。
イベント相関は、複雑なシステムにおける例外イベントの発生を検出し、どの特定のイベントが発生し、どこで発生したかを同定するための方法および手段である。発生するイベントのセットは、ある期間にわたるイベントストリームとしてシステム内で検出することができる。
前記環境アシスタント100の評価ユニット500は、受信されたクライアントデータ、ならびに計算されたメトリックを利用して、課題または問題がクライアントの生産環境内で発生しているか否か、ならびにそれらがどのように互いに関連しているかを判定するために設計された様々な分析を実行する。イベント相関は空間次元および時間次元の両方で起こり得るので、イベントは、タイムラインおよび依存性に基づいて関連することが多い。
評価ユニット500は、各個々のクライアントに合わせてカスタム調整される個々のルールを設定するように使用される評価ルールユニット502を含む。評価ルールユニット502は、システム管理者およびクライアントが、クライアントの生産環境に対してどのタイプの評価が実行されるべきかを判定する様々なルールを設定することを可能にするルール設定ユニット504を含む。また、ルールは、特定のタイプの評価がどの程度頻繁に、および/またはどのような状況下で実行されるべきかを確立することもできる。ルールはまた、特定の分析がどのように実行されるべきかの様々な他の態様を確立することができる。
評価ルールユニット502はまた、個々のカスタマーが評価ルールユニットにアクセスして、発生している評価の種類を監視し、クライアントに対して設定された評価ルールを変更することを可能にするカスタマーインタフェース506を含む。評価ルールユニット502は、評価ルールが実際に格納されるルールデータベース508も含む。
評価ユニット500の分析ユニット512は、ルールデータベース508に格納されたルールを用いて様々な分析を行う。分析ユニット512は、従来の分析、ならびに人工知能ベースの分析を実行することができる。例えば、分析ユニット512は、「もし−ならば」または「条件−動作」ルールの形態で専門知識を含むルールベースに基づいてデータを分析するように、DROOLSベースのエンジンを利用することができる。各ルールの条件部分は、ワーキングメモリの現在の状態に基づいてルールを適用できるか否かを判定する。ルールの動作部分は、条件が満たされたときにルールから引き出すことができる結論を含む。ワーキングメモリは、各ルールの条件部分を満たすように使用され得る事実を常にスキャンされる。条件が見つかると、ルールが実行される。ルールを実行することは、ワーキングメモリがルールに含まれる結論に基づいて更新されることを意味する。
あるいは、分析ユニット512は、NASAによって開発されたオープンソースシステムであるCLIPSシステムなどの様々なタイプのルールベースの人工知能エンジンを利用することができる。様々な他の種類の人工知能技術および評価エンジンを分析ユニット512によって使用して、クライアントデータおよびメトリックを分析し、相関およびノイズ低減を適用して、課題または問題がクライアントの生産環境内で発生しているか否かを判定することもできる。分析ユニット512は、推論に基づいて問題の根本原因を判定することもできる。
分析ユニット512によって使用されるAIアプローチは、異なるIT監視ソリューション/センサ/エージェントから、ならびにエンドユーザフィードバックから、様々なイベントを通して取得されたナレッジを利用する。推論は、イベントのセマンティクスを検出するためのルール、ならびに、システムアーキテクチャおよびそのコンポーネントの要約(abstraction)に基づいてイベントを相関させるように、専門知識ではなく、汎用アルゴリズムに依存する汎用モデルを適用することによって達成される。
一例として、イベントAとBが検出され、イベントAが課題n1、n2、またはn3によって引き起こされた可能性があり、イベントBが課題n2、n4、またはn6によって引き起こされた可能性があることが知られている場合、診断は、課題n2が、イベントAとBの可能なソースの共通部分を表すので、課題n2が発生したことである。動作または推奨が適用される前に、システム全体の状態および条件を解析することによって、立案が成し遂げられる。学習は、教師あり学習および教師なし学習のファミリーにおいて、複数の機械学習アルゴリズムを適用することによって達成される。
とられ得る別の学習アプローチは、バージョン空間アルゴリズムである。仮説空間Hおよび訓練データDが与えられると、バージョン空間は、Dと一致するHの完全なサブセットであり、バージョン空間は、すべての仮説を列挙し、不一致の仮説を除去することによって、任意の有限なHについて単純に生成することができる。別の学習例では、まずデータベースをスキャンして頻繁な項目を見つける。例えば、{a,b,c,d…}である。そのような項目の各ペアについて、2つの項目だけでルールを作成しようとする。例えば、{a}⇒{b}である。次に、データベースを再帰的にスキャンして、各ルールの左または右の部分(左および右の拡張)に一度に1つの項目を追加することによって、より大きなルールを見つける。例えば、{a,c}⇒{b}、次に{a,c,d}⇒{b}等。
作成された各ルールは、それが有効であるか否かを調べるためにテストされる。これは、ルール生成および調節に対する自動化された一定の学習アプローチを提供する。それはまた、異なるカスタマー間でルールおよび推論を転送する能力を提供する。IT生産環境は、正確な(exact)または同様の技術で同定することができるので、使用することができる特定の技術シグネチャーがある。例えば、カスタマーAは、Dockerなどのコンテナ技術の内部に展開されるその環境に関連するルールを設定することができる。コンテナ技術自体は十分に認識されているので、コンテナ技術は、いかなる展開においても常に関連する1組のセンサおよびパラメータを有する。基本シグネチャーがカスタマーBで検出されると、システムは、同じ一般ルールを注入し、ユーザに、ユーザ自身のニーズに関連する調節を行うように推奨することができる。
最後に、自然言語処理(通信)、知覚、および行動する能力も、修復エンジンの一部として実施される。予防監視アプローチのいくつかは、統計分析(主にベイジアンネットワーク)、ニューラルネットワーク、およびファジー論理を含む。
評価ユニット500はまた、データ取得ユニットを含むことができ、データ取得ユニットは、分析ユニット512によって、特定のタイプの分析を実行するために必要とされるデータを取得するように使用される。データ取得ユニット510は、メトリックリポジトリ407から、また、データ収集および変換ユニット300によって提供されるデータソースのいずれかからも、データを取得することができる。場合によっては、データ取得ユニット510は、能動収集ユニット208のサービスに関与して、分析を実行するのに必要な特定のデータを取得することができる。
分析ユニット512が、最終的に、課題または問題が発生しているか、またはクライアントの生産環境内で発生している可能性があると結論付けた場合、前記分析ユニットは、「インシデント」が発生したことを示す。「インシデント」というタームは、クライアントの生産環境の課題または問題と見なすことができる任意の種類の活動、トレンド、発生、またはイベントに適用することを意図した広義のタームである。評価ユニット500によって特定の条件が確認されると、インシデントを掲げる(raise)ことができる。条件は、検出された異常、閾値を上回るかまたは下回る特定のメトリック計算またはデータポイント、イベント(新たなコード展開、検出された新たなスケーリング活動または検出された構成変更など)、変化率などの複雑な計算、または上記のすべての組合せでもあり得る。次の評価サイクルで、インシデントは分析され得、同様に、考慮に入れられ得る。
インシデントが発生したと判定された場合、前記インシデントはインシデントユニット600に報告される。インシデントユニット600は、そのようなインシデントが記録されるインスタントデータベース602を含む。インシデントユニット600は、インシデントデータベース602内の情報を照会するように使用することができるインシデントクエリユニットを含む。クエリは、単一のクライアントの生産環境に対して実行することができる。あるいは、インシデントクエリユニット604は、ユーザが、複数の異なるクライアント生産環境にわたって発生した同じまたは同様のインシデントについてクエリを実行することを可能にすることができる。
例えば、新たな特定のタイプのインシデントが第1のカスタマーの生産環境について初めて発生した場合、インシデントデータベース602において、他のクライアント生産環境で同一のまたは同様のインシデントが発生したか否かを判定することができる。その場合、他のクライアント生産環境を調べて、どのような種類の改善措置がインシデントを治癒または軽減したかを判定することができる。このように、すべてのクライアント生産環境にわたってインシデントを問い合わせる能力は、問題を解決または軽減する方法を迅速に判定するのに役立つ、価値のあるツールを提供する。
複数のクライアント生産環境から監視し学習するこの能力は、ただ1つの生産環境専用のシステムと比較して、ナレッジベースを劇的に増加させる。また、複数のクライアント生産環境から生成されたデータをレビューする能力は、推論および因果関係の推論に役立つ。クライアント、環境、イベント、およびデータポイントにわたるインシデントのナレッジベースを含む共有高速データストア内で索引付けをする能力は、時間、セマンティクス、キーターム、およびシステム間の依存性に基づく類似性アルゴリズムを可能にする。
例えば、特定のシーケンスの後に同一のイベント名が発生した場合、前記システムは、そのシーケンスを割り当て、各ステップに対して、表現として番号を割り当てる。シーケンス一致、ハミング距離、BM25、DFR、DFI、IB類似性、LMディリクレ、LMジェリネクマーサー(Jelinek Mercer)類似性などの類似性アルゴリズム、ならびに優先アルゴリズムを適用することにより、最良の可能性のある一致を判定し、各関連性をスコア付けすることができる。ここでも、もしクライアントが自分の過去のインシデントのみに依存していれば、この能力は存在しない。
通知ユニット700は、課題または問題が発生したときにクライアントに通知する役割を担う。前記通知ユニットは、いつおよび/またはどのようにインシデントがクライアントに報告されるべきかを判定するためにシステム管理者およびクライアントによって利用される通知ルール設定ユニット702を含む。次に、通知ルール設定ユニット702によって確立されたルールは、通知ルールデータベース704に格納される。通知分析ユニット706は、通知ルールデータベース内のルールを利用して、評価ユニット500によって同定されたインシデントがクライアントに報告されるべきか否か、またはいつ報告されるべきかを判定する。以下でより詳細に説明するように、通知分析ユニット706は、インシデントが発生したと判断された場合、インシデントがクライアントに実際に報告される前に、二次分析または調査を実行する必要があると判断することができる。
通知送信ユニット700は、インシデントおよび他の情報をクライアントに報告する役割を担う通知送信ユニット708を含む。通知送信ユニット708は、様々な異なる通信チャネルを利用して、そのような通知をクライアントに発信することができる。例えば、通知は、電子メール、テキストメッセージング、インスタントメッセージング、電話呼び出し、ページャ、またはクライアントに接続することができる実質的に任意の他の通信チャネルを介して発信することができる。同様に、通知送信ユニット708は、クライアントおよび生産環境アシスタント100のシステム管理者の両方に通知を発信するように構成することができる。典型的には、通知ルールデータベース704内のルールは、誰がそのような通知を受信すべきか、およびどのように通知が送信されるべきかを示す。
生産環境アシスタント100は、能動インスペクタシステム800も含む。能動インスペクタシステム800は、特定のクライアントに対して個々の能動インスペクタを構成するように使用される能動インスペクタ構成ユニット802を含む。言い換えれば、特定のクライアントは、複数の能動インスペクタを有することができ、これらはすべて同時に動作可能である。個々の能動インスペクタのそれぞれは、特定のタイプの課題または問題を探すか、または分析するように構成される。
前記能動インスペクタシステム800は、データ取得および分析ユニット804を含む。データ取得および分析ユニット804は、データ収集および変換ユニット300のデータキュー302から、短期リポジトリ308、中期リポジトリ310および/または長期リポジトリユニット312から情報を取得することができる。データ取得および分析ユニット804はまた、メトリックユニット400によって計算され、メトリックリポジトリ407に格納された情報を求めることができる。さらに、データ取得および分析ユニット804は、データ収集ユニット200の能動収集ユニット208のサービスを利用して、クライアントの生産環境上に構成されたAPIを介して、クライアントの生産環境から直接、様々な情報項目を能動的に取得することができる。
必要であれば、データ取得および分析ユニット804は、取得されたデータからメトリックを計算するように、メトリックユニット400のサービスを利用することができる。データ取得および分析ユニット804はまた、取得された情報およびメトリックを評価するように、評価ユニット500のサービスを利用し得る。最終的に、データ取得および分析ユニット804は、監視するように構成された課題、イベント、問題、またはインシデントが発生したか否かを判定する。そうである場合、能動インスペクタシステム800の報告ユニット806は、その課題、問題、イベント、またはインシデントの発生について報告する。報告ユニット806は、報告を達成するように、通知ユニット700のサービスを利用することができる。
生産環境アシスタント100は、改善ユニット900も含む。改善ユニット900は、クライアントの生産環境内で発生した可能性のある課題または問題を修正または軽減すべく試みるように、能動的なステップをとるように構成される。改善ユニット900は、通知分析インタフェース902を含む。通知分析インタフェース902は、通知ユニット700を介して発信された、発生したインシデントに関する通知を受信する。そして、キーワード分析ユニット904は、通知を分析し、通知内に特定のキーワードが存在するか否かを判定する。課題同定ユニット906は、キーワード分析ユニット904からの出力信号を利用して、報告されたインシデントが所定のタイプの課題を示すか否かを判定する。
通知分析インタフェース902が、最終的に、所定のタイプの課題または問題が発生したと判定した場合、改善推奨ユニット908は、同定された課題または問題を修正、軽減、または別様に対処するための確立されたプロトコルが存在するか否かを判定するために、様々な情報項目をレビューする。改善推奨ユニット908は、課題または問題を軽減するのに役立つ所定の方法を探すように、改善措置データベース910を調査することができる。改善推奨ユニット908はまた、様々なユーザが改善措置データベース910に寄与することを可能にするユーザポータル912を含むことができる。
1つの特定の実装形態では、改善措置データベース910は、AnsiblePlaybooksを利用することができる。セキュアシェル(SSH)上のリモート実行モデルは、各ホスト上でプロシージャを実行するように、またはインフラ上でAPI命令のセット、例えばAmazon Web Services Public Cloud提供者、Google Cloud、Microsoft Azure Cloud、もしくはアプリケーションプロトコルインタフェース(API)をサポートする限り、他の任意のパブリックもしくはプライベートクラウドサービス(Cloud Foundry, OpenStackなど)を実行することによって、使用され得る。単一のリポジトリを提供し、改善キーワード、システム、および動作に基づいてリポジトリを公開することによって、誰でも特定のユースケースを検索し、関連するプレイブックまたは改善スクリプトを見つけることができる。コントリビュータは、所定のテンプレートに従って改善スクリプトを書き込み、それを共有リポジトリにアップロードすることによって、自分の経験から共有することができる。次いで、システムは、予め定義されたテンプレートから各キーワードおよび動作用語を索引付けし、誰でもそれを実行できるようにすることが可能である。システムおよび改善ナレッジの共有は、改善の信頼性を高め、実行エラーを低減する。
場合によっては、改善推奨ユニット908は、同定された課題または問題に対処するために使用することができる複数の改善措置が、改善措置データベース910内に存在することを見出すことができる。これが発生すると、クエリユニット914を使用して、前記同定された課題または問題を軽減または解決すべく試みるように、改善措置のいずれをとるべきかに関する入力を、システム管理者またはクライアントから取得することができる。システム管理者またはクライアントが1つの改善措置を選択することを可能にすることに加えて、システム管理者またはクライアントは、同定された課題が解決または軽減されるまで、特定の順序でとられるべき複数の改善措置を同定することもできる。
改善措置または改善措置のグループが同定されると、改善措置ユニット916は、課題または問題を軽減または解決すべく試みるように、改善措置を実行するように、クライアントの生産環境と対話する。
図10にユーザインタフェースシステムを図示する。ユーザインタフェースシステム1000は、カスタマイズ可能であり、様々な異なるユーザ環境に適応することができる。ユーザカスタマイズユニット1002は、カスタマーおよびそのコンピューティングデバイスとどのように最良に対話するかを判定し、そのユーザカスタマイズ情報をユーザプロファイルデータベース1004に格納する。前記ユーザカスタマイズ情報は、ユーザが通常、生産環境アシスタント100と対話するために使用する、特定のデバイスおよび表示画面に関する情報を含むことができる。前記ユーザカスタマイズ情報は、ユーザがテキスト、音声、および/またはビデオを介して対話するか否かについての情報も含むことができる。さらに、前記ユーザカスタマイズ情報は、ユーザの音声コマンドを処理するときに考慮されなければならないユーザのアクセントに関する知識など、ユーザインタフェースシステム1000が特定のユーザ特性または特色に適応することを可能にする情報を含むことができる。ユーザプロファイルデータベース1002に格納された情報は、ユーザインタフェースシステム1000が、特定のディスプレイ画面、特定のスマートフォン、タブレット、および他のモバイルデバイスなどの特定のユーザコンピューティングデバイス上に効果的に表示できるように、情報をフォーマットすることを可能にする。
ユーザインタフェースシステム1000はまた、様々な異なる形態のユーザ対話を実行することができる。前記ユーザがテキストを介して対話することを選択した場合、テキストインタフェース1006は、前記ユーザ対話を実行する。テキストインタフェースは、ユーザと通信するように1つ以上のチャットボットコンポーネントまたはサービスを利用することができる。チャットボットは、基本的には、特にインターネットを介して人間のユーザとの対話をシミュレートするように設計されたコンピュータプログラムである。チャットボットは、通常、ユーザが別の人間と対話していると当該ユーザが知覚するように、ルールおよび人工知能によって動力供給(power)される。テキストインタフェース1006は、それ自体のチャットボットコンポーネントまたはサービスのうちの1つまたは複数を含むことができ、あるいはテキストインタフェース1006は、他のサービスプロバイダによって提供されるチャットボットコンポーネントまたはサービスを利用することができる。例えば、テキストインタフェースは、Facebook(登録商標)メッセンジャ、Slack、HipChat、Telegram、および他のオンライン提供者によって提供されるチャットボットを利用することができる。
典型的なテキストベースの対話では、ユーザは、質問をするか、またはテキストを介してコマンドを発行し、テキストインタフェース1006は、前記テキストを解釈し、適切な動作を生じさせる。例えば、ユーザは、テキストベースの質問を発することができ、テキストインタフェース1006は、質問を解釈し、回答を取得させ、次いで、テキストベースの回答を介して前記ユーザに回答を提供する。テキストインタフェース1006は、ユーザのテキスト質問またはコマンドを解釈するように、自然言語処理アルゴリズムを利用することができる。
前記テキスト対話に加えて、ユーザインタフェースシステム1000は、オーディオおよびビデオを介するなど、ユーザ対話の他の手段をサポートする。音声インタフェース1008は、音声質問またはコマンドの形態でユーザ入力を受信することができる。次いで、音声インタフェース1008は、前記ユーザの発話された音声入力を解釈し、適切な動作を生じさせる。例えば、ユーザは、発話された音声質問を発行することができ、次いで、音声インタフェースは、質問を解釈し、質問に対する回答を取得し、その回答を前記ユーザに提供する。回答は、音声回答として、テキストベースの回答として、ユーザ表示画面上に提供されるグラフィカル応答として、またはこれらの応答フォーマットの組み合わせとして提供され得る。
ユーザの発話された音声入力は、マイクロフォンを含む任意の種類のユーザインタフェースによって取り込むことができる。そのようなデバイスには、コンピュータ、スマートフォン、またはアマゾンEchoおよび関連するアレクサスキルSDKなどの専用音声インタフェースが含まれ得る。あるいは、ユーザは、Apple SiRiインタフェースおよび関連するSiRi SDKを介して、ユーザインタフェースシステム1000の音声インタフェース1008と対話することができる。
ユーザが、アマゾンEchoおよびアレクサ音声サービスなどの別個の音声インタフェースを利用している場合、生産環境アシスタント100のユーザインタフェースシステム1000に提供されるユーザ対話は、実際には、テキストインタフェース1006によって解釈されるテキストの形態で提供され得る。例えば、ユーザの音声コマンドは、Echoデバイスによってキャプチャされることができ、前記Echoデバイスまたは関連するアレクサスキルは、前記発話された入力をテキストに変換することができる。次に、前記テキストは、テキストインタフェース1006に提供され、テキストインタフェース1006は、ユーザの発話された入力を解釈し、適切な動作をとる。次に、テキストインタフェース1006は、Echoデバイスに提供されるテキストベースの応答を提供することができ、Echoデバイスは、前記テキスト応答を、前記Echoデバイスによって前記ユーザに再生される音声に変換する。この場合、音声−テキスト変換およびテキスト−音声変換は、ユーザインタフェースシステム1000によって実行されるのではなく、別個のエンティティによって実行される。
ユーザがビデオカメラを有する場合、ユーザは、ビデオ入力を使用してユーザインタフェースシステム1000と対話することもできる。ビデオインターフェイス1010は、前記ユーザからビデオを受信し、ビデオ入力を解釈する。これは、前記ユーザ提供ビデオに描かれた異なる身体の動きおよびジェスチャを解釈するステップを含むことができる。例えば、前記ユーザは、はいまたはいいえの質問を尋ねられ、前記ユーザは、サムズアップまたはサムダウンでジェスチャして、質問に対する応答を提供することができる。ビデオインターフェイスは、前記ユーザの応答を解釈し、質問を提示した生産環境アシスタント100の部分に応答を提供することができる。
ユーザがビデオカメラを有する場合、ビデオインターフェイス1010はまた、ユーザ認証を達成するのを補助するような、ユーザ提供ビデオであってもよい。この場合、ユーザに従来のユーザ名およびパスワードを入力させる代わりに、ユーザは、ビデオカメラを直接見るだけでよく、ユーザの画像が取り込まれ、ユーザ認証の目的で使用される。ユーザが同定されると、ユーザのプロファイルにアクセスして、後続するユーザ対話への当該ユーザの好みを判定することができる。
ビデオインターフェイス1010は、「キャラクタ」または「ペルソナ」をユーザ表示画面上に表示させるように使用することもできる。キャラクタまたはペルソナは、抽象的な人間のような顔、身体、または他の描写を有することができ、キャラクタまたはペルソナは、ユーザ対話における生産環境アシスタント100を表すことになる。ユーザと対話するシステムキャラクタまたはペルソナは、特定の名前または外観を有するようにカスタマイズすることができる。次いで、前記ユーザは、質問をするとき、またはコマンドを発行するときに、キャラクタまたはペルソナの名前を使用することができる。例えば、ユーザは、「サム、生産システムでCPU使用率が50%を超えるすべてのサーバを同定し、逐次再起動した後に報告してください」と言うことによって、情報を求めるリクエストを発行することができる。そのようなコマンドには、当該ユーザの意図(同定、報告、再起動)、名詞、メトリック、および特性(specifics)(生産システム)が含まれる。
対話型フィードバックシステムは、ユーザインタフェースシステム1000を介して実装されてもよい。音声、ビデオ、または従来の画面操作インタフェースを介して提示される各イベントについて、ユーザはフィードバックを提供する能力を有する。このフィードバックは、前記システムに対する学習入力の1つを形成するので、システムの重大な(critical)部分である。システムは、いくつかのフィードバックタイプを処理することができる。例えば、ユーザは、イベントまたはインシデントが偽陽性であることを示すことができる。ユーザは、推奨が有用であるか否かを示すこともできる。また、ユーザは、特定の課題を解決するためにどのステップを前記ユーザが行ったかに関する入力を提供することもできる。ユーザが、索引付けおよび将来の参照のために、ファイルをシステムにアップロードすることも可能であり得る。このようなユーザフィードバックは、次いで、生産環境アシスタント100の性能を改良するように使用される。
図11に、クライアントの生産環境からデータを取得し、そのデータを1つ以上のデータキューに格納するように実行される方法のステップを図示する。方法1100は開始後、ステップS1102に進み、ここでクライアントの生産環境にインストールされたAPIによって報告されたデータは、データ収集ユニット200の受動収集ユニット202によって受信される。前記受信されたデータは、データポイントおよびイベントを含み得る。これらのデータポイントおよびイベントは、コンピュータ機器、ネットワーキング機器、および前記クライアントの生産環境上で実行されているソフトウェアアプリケーションの個々の要素にも、関連し得る。上述のように、前記受信されたデータは、金融データまたはトラフィックデータなどのビジネス関連データも含むことができる。
前記方法1100はまた、任意のステップS1104を含み、データ収集ユニット200の能動収集ユニット208は、前記クライアントの生産環境にインストールされたAPIを介して、クライアントの生産環境から特定のデータを能動的に取得する。ステップS1106において、前記受信されたデータポイント情報は、データポイントキューにロードされる。本方法はまた、ステップS1108を含み、受信されたイベント情報がイベントキューにロードされる。そして、本方法は終了する。
図12に、データを格納する(store)ようにデータ収集および変換ユニット300によって実行されるであろう方法のステップを図示する。方法1200は開始後ステップS1202に進み、ここでデータ収集および変換ユニット300のストレージ最適化ユニット314は、データポイントキュー304またはイベントキュー306に格納されているクライアントデータを取得する。ステップS1004において、ストレージ最適化ユニット314は、前記受信したデータを様々な方法で操作して、格納のためにデータを準備する。これは、受信されたデータを非直列化するステップ、および前記受信されたデータを、前記データの後の分析を実行することをより容易にする予め定義されたフォーマットに再フォーマットするステップ、を含むことができる。次に、本方法はステップS1206に進み、ストレージ最適化ユニット314は、短期リポジトリ308にデータのいくつかのアイテムを格納する。ステップS1208において、ストレージ最適化ユニット314は、中期リポジトリ310に特定のデータのアイテムを格納する。ステップS1210において、前記ストレージ最適化部314は、長期リポジトリに特定のデータのアイテムを格納する。そして、本方法は終了する。
図13に、生産環境アシスタント100のメトリックユニット400によって実行される方法のステップを図示する。方法1300は、開始後ステップS1302に進み、ここで、クライアントの生産環境に関連するデータが、データポイントキュー304から、および/またはイベントキュー306から、および/または(短期記憶リポジトリ308、中期記憶リポジトリ310、および長期記憶リポジトリ312などの)データ記憶リポジトリから取得される。ステップS1304では、特定のクライアントのAPIから受信されたことを確実にするように、前記データが検証される。これは、前記データと共に提供されたクライアント固有の暗号鍵、トークンまたはコードの存在について、前記データを検査するステップを含むことができる。
次に、前記方法はステップS1306に進み、前記データが構文解析(parse)される。ステップS1308において、前記データは、所定のデータフォーマットに配列(arrange)される。前記構文解析ステップ、および配列ステップS1306、1308は、任意のデータステップであって、使用されているデータの特定の種類および計算される当該メトリックに依り、実行されてもされなくてもよい。
次に、ステップS1310において、メトリクス計算ユニット406は、前記取得したデータを用いて様々なメトリクスを計算する。次に、ステップS1312において、前記計算されたメトリックは、メトリックリポジトリ407に格納される。そして、本方法は終了する。
図14に、特定のインシデントが発生したか否かを判定するために評価ユニット500によって実行される方法のステップを図示する。方法1400は開始後ステップS1402に進み、ここで評価ユニット500のデータ取得ユニット510は、特定のクライアントの生産環境に関連するデータを取得する。ステップS1404において、前記取得されたデータは、評価ユニット500の分析ユニット512によって分析される。ステップS1406において、分析ユニット512は、ステップS1404で実行された前記分析に基づいて、所定のインシデントが発生したか否かを判定する。所定のインシデントが発生したと判定された場合、ステップS1408において、前記インシデントは、インシデントユニット600および/または通知ユニット700に報告される。そして、本方法は終了する。
図15に、生産環境アシスタント100の通知ユニット700によって実行される方法の様々なステップを図示する。方法1500は開始後、ステップS1502に進み、ここで通知ユニット700は、所定のインシデントが特定のクライアントの生産環境について発生したことを示す報告を受信する。次に、本方法は、通知分析ユニット706が通知ルールデータベース704をチェックして、そのようなインシデントを処理するためのルールが通知ルールデータベース704内に存在するか否かを判定するステップS1504に進む。前記インシデントに対するルールが存在しない場合、本方法はステップS1506に進み、ここで、前記インシデントは、標準報告手順に従ってクライアントおよび/またはシステム管理者に報告される。
前記インシデントを処理するためのルールが存在する場合、通知送信ユニットは、そのルールに従って前記インシデントを報告する。場合によっては、前記ルールは、単に、前記インシデントの発生が、1つ以上の通信チャネルを介してクライアントまたはシステム管理者に報告されるべきであることを示す。そうである場合、通知送信ユニット708は、前記ルールに従って前記通知を行う。
他の場合では、インシデントを報告するための前記ルールは、前記インシデントがクライアントまたはシステム管理者に報告される前に、何らかの追加の調査または分析が実行されるべきであることを示す。その場合、本方法はステップS1508に進み、ここで通知ユニット700の通知分析ユニット706によって二次分析が実行される。前記二次分析は、付加的情報を取得するステップ、または前記インシデントが持続するか否かを判定するために所定の期間待機するステップ、を含み得る。次に、本方法はステップS1510に進み、ここで、ステップS1508で実行された前記二次分析が前記インシデントを報告すべきであることを示している場合にのみ、前記インシデントは報告される。そして、本方法は終了する。
図16に、前記能動インスペクタシステム800によって構成された能動インスペクタによって実行される方法のステップを図示する。上述したように、能動インスペクタは、特定の課題または問題の発生を監視するように、クライアントの生産環境内のデータまたはイベントを能動的にチェックする。
方法1600は開始後ステップS1602に進み、ここで、前記能動インスペクタのデータ取得および分析ユニット804が、クライアントの生産環境内にインストールされたAPIを使用して、前記クライアントの生産環境からデータを能動的に収集する。次いで本方法はステップS1604に進み、ここで、様々なメトリックが前記取得されたデータを利用して計算される。ステップS1604は、メトリックユニット400のサービスを利用して実行することができる。
次に、本方法は、ステップS1606に進み、ここで、前記取得されたデータおよび/または前記計算されたメトリックが分析されて、所定のインシデントが発生したか否かが判定される。この分析は、上述したように、評価ユニット500のサービスを用いて実行することができる。次に本方法はステップS1608に進み、ここで、前記インシデントが発生したと判定された場合、前記インシデントの発生が報告される。ここでも、前記インシデントについての前記報告は、上述したように、通知ユニット700のサービスを用いて実行することができる。
図17に、クライアントの生産環境内で発生した課題または問題を修正または軽減すべく試みるように、改善ユニット900によって実行される方法のステップを図示する。本方法1700は開始後ステップS1702に進み、ここで、クライアントのシステムに関連する通知が改善ユニット900によって受信される。次いで、本方法はステップS1704に進み、ここで、改善ユニット900の通知分析インタフェース902は、1つ以上のタイプの改善措置によって修正または軽減され得る課題または問題に関連するか否かを判定するために、前記受信された通知を分析する。この分析は、改善ユニット900の改善推奨ユニット908のサービスを用いて実行することもできる。
次に、本方法はステップS1706に進み、ここで、前記同定された課題を修正または軽減するように実行することができる複数の異なる種類の改善措置があるか否かを判定するために、チェックが実行される。複数のタイプの改善措置が同定された場合、本方法はステップS1708に進み、ここで、どのタイプの改善措置を実行すべきかについての入力が取得される。これは、システム管理者またはクライアントにクエリを発信する改善推奨ユニット908のクエリユニット914を含むことができる。次に、ステップS1708で受信または取得された前記入力は、どのタイプの改善措置が実行されるべきかを判定するために使用され、ステップS1701で、改善措置ユニット916によって改善措置がとられる。
ステップS1706で実行された前記チェックが、改善措置が同定されなかったこと、または単一のタイプの改善措置のみが同定されたことを示す場合、本方法は、セットS1712に進む。ステップS1712において、単一のタイプの改善措置のみが同定されたか否かを判定するためにチェックが実行される。そうである場合、本方法はステップS1714に進み、ここで、改善措置ユニット916が改善措置をとる。ステップS1712で実行された前記チェックが、改善措置が同定されなかったことを示す場合、前記方法は単に終了する。
方法およびシステムは、その特定の実施形態に関して説明されてきたが、それらは、そのように限定されない。したがって、上記の教示に照らして、多くの修正形態および変形形態が明らかになる可能性がある。本明細書に記載され、図示されている、詳細、材料、および部品の配置における多くの追加の変更を、当業者は行うことができる。したがって、本明細書で提供される方法、デバイス、およびシステムは、本明細書で開示される実施形態に限定されるべきではなく、具体的に説明される以外の実施を含むことができ、法律の下で許容される限り広く解釈されるべきであることが理解されるであろう。
本明細書に記載された主題および動作の実装は、デジタル電子回路、または、本明細書に開示された構造およびそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア、または、それらの1つ以上の組み合わせにおいて実装することができる。本明細書で説明される主題の実施形態は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体上に符号化された、1つ以上のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つ以上のモジュールとして実施することができる。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために適切な受信機器に送信するための情報を符号化するように生成される、人工的に生成された透過信号、例えば、機械によって生成された電気信号、光信号、または電磁信号上に符号化されてもよい。コンピュータ記憶媒体は、コンピュータ読み取り可能記憶デバイス、コンピュータ読み取り可能記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらの1つ以上の組合せとすることができ、またはそれらに含まれることができる。さらに、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号に符号化されたコンピュータプログラム命令のソースまたは宛先とすることができる。コンピュータ記憶媒体はまた、1つ以上の別個の物理的コンポーネントまたは媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)であってもよく、またはそれらに含まれてもよい。
本明細書で説明される動作は、1つ以上のコンピュータ読み取り可能記憶デバイス上に格納されたデータ上で、または他のソースから受信されたデータ上で、データ処理装置によって実行される動作として実装することができる。
「データ処理装置」というタームは、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または複数のもの、またはこれらの組み合わせを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含し、前記装置は、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。前記装置は、ハードウェアに加えて、問われているコンピュータプログラムの実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つ以上の組み合わせを構成するコードを含むこともできる。前記装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイル言語またはインタプリタ言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境での使用に適した他のユニットとして含む任意の形態で展開することができる。コンピュータプログラムは、必須ではないが、ファイルシステム内のファイルに対応することができる。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語リソースに格納された1つ以上のスクリプト)、問われている課題専用の単一のファイル、または複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1つの部位に展開されるか、または複数の部位にわたって分散され、通信ネットワークによって相互接続される、1つのコンピュータ上または複数のコンピュータ上で実行されるように展開することができる。
本明細書で説明するプロセスおよび論理フローは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行して、入力データを操作し、出力信号を生成することによって動作を実行することができる。プロセスおよび論理フローは、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によっても実行することができ、装置は、専用論理回路として実装することもできる。
コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサが含まれる。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令に従って動作を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそれらからデータを受信するか、それらにデータを転送するか、またはそれらの両方を行うように動作可能に結合される。しかし、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、ほんの数例を挙げると、別のデバイス、例えば、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれ得る。コンピュータプログラム命令およびデータを格納するのに適したデバイスは、例として、半導体メモリデバイス、EPROM、EEPROM(登録商標)、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD−ROMおよびDVD−ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足され得るか、または専用論理回路に組み込まれ得る。
ユーザとの対話を提供するように、本明細書で説明される主題の実装形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとの対話を提供するように使用することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響効果、音声、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスにリソースを発信し、デバイスからリソースを受信することによって、例えば、ウェブブラウザから受信されたリクエストに応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを発信することによって、ユーザと対話することができる。
本明細書で説明される対象の実施態様は、バックエンドコンポーネント、例えば、データサーバとして、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントエンドコンポーネント、例えば、ユーザが本明細書で説明される対象の実施態様と対話することができる画面操作インタフェースまたはウェブブラウザを有するクライアントコンピュータ、または1つもしくは複数のバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せなどを含むコンピューティングシステムで実施態様することができる。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、およびピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは、一般に、互いに離れており、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実装形態では、サーバは、(例えば、クライアントデバイスと対話するユーザにデータを表示し、ユーザからユーザ入力を受信するように)クライアントデバイスにデータ(例えば、HTMLページ)を送信する。クライアントデバイスで生成されたデータ(例えば、前記ユーザ対話の結果)は、サーバでクライアントデバイスから受信することができる。
1つ以上のコンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを、動作中にシステムに動作を実行させるか、または実行させるシステムにインストールさせることによって、特定操作または動作を実行するように構成することができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると、前記装置に動作を実行させる命令を含むことによって、特定操作または動作を実行するように構成することができる。
本明細書は、多くの特定の実施態様の詳細を含むが、これらは、任意の発明または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施態様に特有の特徴の説明として解釈されるべきである。本明細書では、別個の実施態様の文脈で説明される特定の特徴を、単一の実施態様で組み合わせて実施することもできる。逆に、単一の実装の文脈で説明される様々な特徴は、複数のインプリメンテーションで別々に、または任意の適切なサブコンビネーションでインプリメントされることもできる。さらに、特徴は、特定の組合せで動作するものとして上述され、そのようなものとして最初に請求されてもよいが、請求された組合せからの1つ以上の特徴が、場合によっては組合せから切り出されることができ、請求される組合せは、サブコンビネーションまたはサブコンビネーションの変形を対象とすることができる。同様に、動作は、特定の順序で図面に描かれているが、これは、望ましい結果を達成するように、そのような動作が、示されている特定の順序で、または連続した順序で実行されること、または図示されているすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上述の実施態様における様々なシステムコンポーネントの分離は、すべての実施態様においてそのような分離を必要とするものと理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に統合されるか、または複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
図1は、生産環境アシスタントの様々な要素を図示するブロック図である。 図2は、データ収集ユニットの様々な要素を図示するブロック図である。 図3は、データ収集および変換ユニットの様々な要素を図示するブロック図である。 図4は、メトリックユニットの様々な要素を図示するブロック図である。 図5は、評価ユニットの様々な要素を図示するブロック図である。 図6は、インシデントユニットの様々な要素を図示するブロック図である。 図7は、通知ユニットの様々な要素を図示するブロック図である。 図8は、能動インスペクタシステムの様々な要素を図示するブロック図である。 図9は、改善ユニットの様々な要素を図示するブロック図である。 図10は、ユーザインタフェースシステムの様々な要素を図示するブロック図である。 図11は、クライアントシステムからデータを収集する方法のステップを図示するフローチャートである。 図12は、受信したクライアントデータを様々なデータリポジトリに格納する方法のステップを図示するフローチャートである。 図13は、収集されたクライアントデータから様々なメトリックを計算する方法のステップを図示するフローチャートである。 図14は、インシデントが発生したか否かを判定するためにデータを分析する方法のステップを図示するフローチャートである。 図15は、発生したインシデントを報告する方法のステップを図示するフローチャートである。 図16は、データを取得し、所定のインシデントが発生したか否かを判定するためにクライアントのシステムを能動的に監視する方法のステップを図示するフローチャートである。 図17は、クライアントのシステムに関する課題または問題を修正するように改善措置をとる方法のステップを図示するフローチャートである。

Claims (20)

  1. 生産環境を監視し、報告するための方法であって、
    生産環境に関連するデータを取得するステップと、
    前記取得されたデータに基づいて少なくとも1つのメトリック(metric)を計算するステップと、
    所定のインシデントが発生したか否かを判定するために、前記取得されたデータおよび前記計算された少なくとも1つのメトリックのうちの少なくとも1つを分析するステップと、
    所定のインシデントが発生した場合、前記所定のインシデントに関連するルールが存在するか否かに基づいて前記所定のインシデントを報告するか否かを判定するステップと、を含む方法。
  2. データを取得する前記ステップは、前記生産環境内に常駐する(resident)コンピューティングシステムにインストールされた少なくとも1つのアプリケーションプログラミングインタフェース(API)からデータを取得するステップを含む請求項1に記載の方法。
  3. データを取得する前記ステップは、前記生産環境内に常駐するコンピューティングシステムにインストールされた少なくとも1つのアプリケーションプログラミングインタフェース(API)からデータを取得するステップと、
    前記取得されたデータを少なくとも1つのキューにロードするステップと、を含む請求項1に記載の方法。
  4. 少なくとも1つのメトリックを計算する前記ステップは、
    前記取得されたデータが有効なデータであるか否かを、前記生産環境に割り当てられた暗号化コードまたは鍵のうちの少なくとも1つを使用して判定するステップと、
    前記取得されたデータが有効であると判定された場合にのみ、前記取得されたデータに基づいて少なくとも1つのメトリックを計算するステップと、を含む、請求項1に記載の方法。
  5. 前記イベントを報告するか否かを判定する前記ステップは、
    前記所定のインシデントに関連するルールが存在するか否かを判定するステップと、
    前記所定のインシデントに関連するルールが存在しない場合に、前記所定のインシデントを報告するステップと、
    前記所定のインシデントに関連するルールが存在する場合、前記ルールに従う二次分析を実行するステップと、
    前記ルールおよび前記二次分析の結果が前記所定のインシデントを報告すべきであることを示す場合に限り、前記所定のインシデントを報告するステップと、を含む、請求項1に記載の方法。
  6. 生産環境に関連するデータを取得する前記ステップは、前記生産環境に常駐する1つ以上のコンピューティングシステムに、前記1つ以上のコンピューティングシステムにインストールされた1つ以上のアプリケーションプログラミングインタフェースを介して、能動的に問い合わせることによって、データを能動的に取得するステップを含む、請求項1に記載の方法。
  7. 分析する前記ステップは、所定のインシデントが発生したか否かを判定するために、前記取得されたデータのうちの少なくとも1つと、データへの前記計算された少なくとも1つのメトリックおよび/または他の同様の生産環境からの計算されたメトリックと、を比較するステップを含む、請求項1に記載の方法。
  8. 分析する前記ステップは、所定のインシデントが発生したか否かを判定するために、人工知能技術およびデータ、ならびに他の同様の生産環境からの計算されたメトリックを利用する、請求項1に記載の方法。
  9. 所定のインシデントが発生したと判定された場合、前記所定のインシデントを引き起こした前記生産環境内の課題または性能問題を潜在的に緩和することができる改善措置を同定するステップをさらに含む、請求項1に記載の方法。
  10. 生産環境を監視し、報告するシステムであって、
    生産環境に関連するデータを取得するステップのための手段と、
    前記取得されたデータに基づいて少なくとも1つのメトリックを計算するステップのための手段と、
    所定のインシデントが発生したか否かを判定するために、前記取得されたデータおよび前記計算された少なくとも1つのメトリックのうちの少なくとも1つを分析するステップのための手段と、
    所定のインシデントが発生した場合、前記所定のインシデントに関連するルールが存在するか否かに基づいて前記所定のインシデントを報告するか否かを判定するステップのための手段と、を含むシステム。
  11. 生産環境を監視し、報告するためのシステムであって、生産環境に関連するデータを取得する少なくとも1つのプロセッサを備えるデータ収集ユニットと、
    前記取得されたデータに基づいて少なくとも1つのメトリックを計算する少なくとも1つのプロセッサを備えるメトリックユニットと、
    所定のインシデントが発生したか否かを判定するために、前記取得されたデータおよび/または前記計算された少なくとも1つのメトリックのうちの少なくとも1つを使用する少なくとも1つのプロセッサを備えるインシデントユニットと、
    所定のインシデントが発生した場合、前記所定のインシデントに関連するルールが存在するか否かに基づいて前記所定のインシデントを報告するか否かを判定する少なくとも1つのプロセッサを備える評価ユニットと、を含むシステム。
  12. 前記メトリックユニットは、前記生産環境内に常駐するコンピューティングシステムにインストールされた少なくとも1つのアプリケーションプログラミングインタフェース(API)からデータを取得する、請求項11に記載のシステム。
  13. 前記メトリックユニットは、
    前記生産環境内に常駐するコンピューティングシステムにインストールされた少なくとも1つのアプリケーションプログラミングインタフェース(API)からデータを取得し、
    前記取得されたデータを少なくとも1つのキューにロードする、請求項11に記載のシステム。
  14. 前記メトリックユニットは、
    前記取得されたデータが有効なデータであるか否かを、前記生産環境に割り当てられた暗号化コードまたは鍵のうちの少なくとも1つを使用して判定し、
    前記取得されたデータが有効であると判定された場合にのみ、前記取得されたデータに基づいて少なくとも1つのメトリックを計算する、請求項11に記載のシステム。
  15. 前記評価ユニットは、
    前記所定のインシデントに関連するルールが存在するか否かを判定し、
    前記所定のインシデントに関連するルールが存在しない場合、前記所定のインシデントを報告し、
    前記所定のインシデントに関連するルールが存在する場合、前記ルールに従う二次分析を実行し、
    前記ルールおよび二次分析の結果が、前記所定のインシデントが報告されるべきであることを示す場合に限り、前記所定のインシデントを報告する、請求項11に記載のシステム。
  16. 前記1つ以上のコンピューティングシステムにインストールされた1つ以上のアプリケーションプログラミングインタフェースを介して、前記生産環境に常駐する1つ以上のコンピューティングシステムに能動的に問い合わせることによって、データを能動的に取得する能動インスペクタユニットをさらに備える、請求項11に記載のシステム。
  17. 所定のインシデントが発生したか否かを判定するために、前記取得されたデータのうちの少なくとも1つ、および/またはデータへの前記計算された少なくとも1つのメトリック、および/または他の同様の生産環境からの計算されたメトリック、を比較するインシデントユニットを含む、請求項11に記載のシステム。
  18. 前記インシデントユニットは、所定のインシデントが発生したか否かを判定するために、人工知能技術およびデータ、ならびに他の同様の生産環境からの計算されたメトリックを利用する、請求項11に記載のシステム。
  19. 所定のインシデントが発生したと判定された場合、前記所定のインシデントを引き起こした前記生産環境内の課題または性能問題を潜在的に緩和することができる改善措置を同定する改善ユニットをさらに含む、請求項11に記載のシステム。
  20. 1つ以上のプロセッサによって実行されるときに生産環境を監視し、報告するシステムのための命令を含む非一時的なコンピュータ読み取り可能記録媒体であって、
    生産環境に関連するデータを取得するステップと、
    前記取得されたデータに基づいて少なくとも1つのメトリックを計算するステップと、
    所定のインシデントが発生したか否かを判定するために、前記取得されたデータおよび前記計算された少なくとも1つのメトリックのうちの少なくとも1つを分析するステップと、
    所定のインシデントが発生した場合、前記所定のインシデントに関連するルールが存在するか否かに基づいて前記所定のインシデントを報告するか否かを判定するステップと、を含む方法の実行を引き起こす、非一時的なコンピュータ読み取り可能記録媒体。

JP2019545880A 2016-10-26 2017-10-10 コンピュータおよびネットワーク活動を監視および分析するためのシステムおよび方法 Pending JP2019536185A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/334,928 US20180115464A1 (en) 2016-10-26 2016-10-26 Systems and methods for monitoring and analyzing computer and network activity
US15/334,928 2016-10-26
PCT/US2017/055848 WO2018080781A1 (en) 2016-10-26 2017-10-10 Systems and methods for monitoring and analyzing computer and network activity

Publications (1)

Publication Number Publication Date
JP2019536185A true JP2019536185A (ja) 2019-12-12

Family

ID=61970095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019545880A Pending JP2019536185A (ja) 2016-10-26 2017-10-10 コンピュータおよびネットワーク活動を監視および分析するためのシステムおよび方法

Country Status (6)

Country Link
US (1) US20180115464A1 (ja)
JP (1) JP2019536185A (ja)
AU (1) AU2017348460A1 (ja)
DE (1) DE112017005412T5 (ja)
IL (1) IL266224A (ja)
WO (1) WO2018080781A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740692B2 (en) 2017-10-17 2020-08-11 Servicenow, Inc. Machine-learning and deep-learning techniques for predictive ticketing in information technology systems
US10600002B2 (en) 2016-08-04 2020-03-24 Loom Systems LTD. Machine learning techniques for providing enriched root causes based on machine-generated data
US11416325B2 (en) 2012-03-13 2022-08-16 Servicenow, Inc. Machine-learning and deep-learning techniques for predictive ticketing in information technology systems
US10291463B2 (en) * 2015-10-07 2019-05-14 Riverbed Technology, Inc. Large-scale distributed correlation
US10789119B2 (en) 2016-08-04 2020-09-29 Servicenow, Inc. Determining root-cause of failures based on machine-generated textual data
US10963634B2 (en) 2016-08-04 2021-03-30 Servicenow, Inc. Cross-platform classification of machine-generated textual data
US11556871B2 (en) 2016-10-26 2023-01-17 New Relic, Inc. Systems and methods for escalation policy activation
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
US10671143B2 (en) 2018-01-11 2020-06-02 Red Hat Israel, Ltd. Power management using automation engine
US10949287B2 (en) * 2018-09-19 2021-03-16 International Business Machines Corporation Finding, troubleshooting and auto-remediating problems in active storage environments
US11775405B2 (en) * 2020-03-20 2023-10-03 UncommonX Inc. Generation of an issue response evaluation regarding a system aspect of a system
US11809865B2 (en) * 2021-04-28 2023-11-07 Jpmorgan Chase Bank, N.A. Method and system for evidence servicing
DE102022112860A1 (de) 2022-05-23 2023-11-23 Endress+Hauser SE+Co. KG Verfahren zum Erkennen eines Automatisierungsanlagen übergreifenden Ereignisses
CN117560306B (zh) * 2024-01-11 2024-04-02 腾讯科技(深圳)有限公司 一种丢包上报方法、网络交换机和相关装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528759A (en) * 1990-10-31 1996-06-18 International Business Machines Corporation Method and apparatus for correlating network management report messages
US5917726A (en) * 1993-11-18 1999-06-29 Sensor Adaptive Machines, Inc. Intelligent machining and manufacturing
US6012152A (en) * 1996-11-27 2000-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Software fault management system
US6735484B1 (en) * 2000-09-20 2004-05-11 Fargo Electronics, Inc. Printer with a process diagnostics system for detecting events
US6970758B1 (en) * 2001-07-12 2005-11-29 Advanced Micro Devices, Inc. System and software for data collection and process control in semiconductor manufacturing and method thereof
US20060047561A1 (en) * 2004-08-27 2006-03-02 Ubs Ag Systems and methods for providing operational risk management and control
US7739293B2 (en) * 2004-11-22 2010-06-15 International Business Machines Corporation Method, system, and program for collecting statistics of data stored in a database
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US20080140469A1 (en) * 2006-12-06 2008-06-12 International Business Machines Corporation Method, system and program product for determining an optimal configuration and operational costs for implementing a capacity management service
US20080263626A1 (en) * 2007-04-17 2008-10-23 Caterpillar Inc. Method and system for logging a network communication event
US8150862B2 (en) * 2009-03-13 2012-04-03 Accelops, Inc. Multiple related event handling based on XML encoded event handling definitions
US8600992B2 (en) * 2011-08-17 2013-12-03 International Business Machines Corporation Coordinating problem resolution in complex systems using disparate information sources
US8966501B2 (en) * 2011-11-28 2015-02-24 Ca, Inc. Method and system for time-based correlation of events
US20130304897A1 (en) * 2012-05-08 2013-11-14 Verizon Patent And Licensing Inc. Method and system for proactively providing troubleshooting information
US9317829B2 (en) * 2012-11-08 2016-04-19 International Business Machines Corporation Diagnosing incidents for information technology service management
WO2015070917A1 (en) * 2013-11-15 2015-05-21 Nokia Solutions And Networks Oy Correlation of event reports
US9369474B2 (en) * 2014-03-27 2016-06-14 Adobe Systems Incorporated Analytics data validation
US9973397B2 (en) * 2014-07-23 2018-05-15 Guavus, Inc. Diagnosis of network anomalies using customer probes
US10652103B2 (en) * 2015-04-24 2020-05-12 Goldman Sachs & Co. LLC System and method for handling events involving computing systems and networks using fabric monitoring system
US10474954B2 (en) * 2015-06-29 2019-11-12 Ca, Inc. Feedback and customization in expert systems for anomaly prediction
US10078571B2 (en) * 2015-12-09 2018-09-18 International Business Machines Corporation Rule-based adaptive monitoring of application performance
US11507064B2 (en) * 2016-05-09 2022-11-22 Strong Force Iot Portfolio 2016, Llc Methods and systems for industrial internet of things data collection in downstream oil and gas environment
US9582781B1 (en) * 2016-09-01 2017-02-28 PagerDuty, Inc. Real-time adaptive operations performance management system using event clusters and trained models
US10515323B2 (en) * 2016-09-12 2019-12-24 PagerDuty, Inc. Operations command console
US10387899B2 (en) * 2016-10-26 2019-08-20 New Relic, Inc. Systems and methods for monitoring and analyzing computer and network activity
US10687306B2 (en) * 2017-03-31 2020-06-16 Microsoft Technology Licensing, Llc Intelligent throttling and notifications management for monitoring and incident management systems
US10693758B2 (en) * 2017-09-25 2020-06-23 Splunk Inc. Collaborative incident management for networked computing systems
US10659485B2 (en) * 2017-12-06 2020-05-19 Ribbon Communications Operating Company, Inc. Communications methods and apparatus for dynamic detection and/or mitigation of anomalies
US10868821B2 (en) * 2017-12-20 2020-12-15 Sophos Limited Electronic mail security using a heartbeat

Also Published As

Publication number Publication date
IL266224A (en) 2019-06-30
US20180115464A1 (en) 2018-04-26
DE112017005412T5 (de) 2019-08-22
AU2017348460A1 (en) 2019-05-16
WO2018080781A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
US10387899B2 (en) Systems and methods for monitoring and analyzing computer and network activity
JP2019536185A (ja) コンピュータおよびネットワーク活動を監視および分析するためのシステムおよび方法
JP7387714B2 (ja) 限られた知識ドメイン内でナレッジグラフを構築するための技術
US11556862B2 (en) Techniques for adaptive and context-aware automated service composition for machine learning (ML)
US11586972B2 (en) Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs
US20230237348A1 (en) Chatbot for defining a machine learning (ml) solution
US20210081837A1 (en) Machine learning (ml) infrastructure techniques
US10679008B2 (en) Knowledge base for analysis of text
US11258814B2 (en) Methods and systems for using embedding from Natural Language Processing (NLP) for enhanced network analytics
US20210200955A1 (en) Sentiment analysis for fraud detection
US20180276553A1 (en) System for querying models
WO2021051031A1 (en) Techniques for adaptive and context-aware automated service composition for machine learning (ml)
US11601453B2 (en) Methods and systems for establishing semantic equivalence in access sequences using sentence embeddings
US10846434B1 (en) Computer-implemented fraud detection
JP2023538923A (ja) テキスト分類についての説明を与えるための技術
US11556871B2 (en) Systems and methods for escalation policy activation
US20240244063A1 (en) Proactive suspicious activity monitoring for a software application framework
US11601339B2 (en) Methods and systems for creating multi-dimensional baselines from network conversations using sequence prediction models
US20220172102A1 (en) Machine learning model trained using features extracted from n-grams of mouse event data
US20200134528A1 (en) Systems and methods for coordinating escalation policy activation
US20220353210A1 (en) Altering automated conversation systems