(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024070217
(43)【公開日】2024-05-22
(54)【発明の名称】混合方法論インシデント修復ワークフローの探索的オーケストレーション
(51)【国際特許分類】
G06F 11/07 20060101AFI20240515BHJP
【FI】
G06F11/07 193
G06F11/07 140A
【審査請求】未請求
【請求項の数】24
【出願形態】OL
(21)【出願番号】P 2023147744
(22)【出願日】2023-09-12
(31)【優先権主張番号】17/984,778
(32)【優先日】2022-11-10
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】サンパス デチュ
(72)【発明者】
【氏名】クシャル ムカルジー
(72)【発明者】
【氏名】ジャヤチャンドゥ バンドラムディ
(72)【発明者】
【氏名】ナヴィーン エラヴィマンガラス プルショタマン
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042KK13
5B042KK17
5B042MA08
5B042MA14
5B042MC15
5B042MC40
(57)【要約】
【課題】探索的オーケストレーションを自動的に実行するための改善されたコンピューティングツールを提供する。
【解決手段】情報技術(IT)インシデント修復タスクワークフローを生成、実行、オーケストレート、及びモニタリングするためのメカニズムが提供される。ITインシデント通知が受信され、ITインシデントに対応するITリソースに関連付けられている知識データ構造体が取得される。知識データ構造体からIT修復タスクが抽出され、複数の予め定められたスキル内のスキルと相関付けられる。自動化ツールが、複数の予め定められたスキル内の対応するスキルと相関付けられる。IT修復タスク及びオートメーションツールに関連付けられているスキルのマッチングに基づいて、ITインシデント修復タスクワークフローが生成される。生成されたITインシデント修復タスクワークフローは、少なくとも1つのITリソースに対して自動的に実行される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ITインシデントを指定する情報技術(IT)インシデント通知を受信する段階;
前記ITインシデントに対応する、ITインフラストラクチャの、少なくとも1つのITリソースに関連付けられている少なくとも1つの知識データ構造体を取得する段階;
前記少なくとも1つの知識データ構造体から、前記ITインシデントをハンドリングするための1又は複数のIT修復タスクを抽出する段階;
少なくとも、前記1又は複数のIT修復タスクに関連付けられている複数の予め定められたスキル内の1又は複数のスキルを識別することによって、IT修復タスクスキルセットを生成する段階;
少なくとも1つの自動化ツールを、前記IT修復タスクスキルセット内の少なくとも1つの対応する第1のスキルと相関付ける少なくとも1つの第1の相関演算を実行する段階;
前記IT修復タスクスキルセット及び前記少なくとも1つの第1の相関演算の結果に基づいて、前記1又は複数のIT修復タスクを含むITインシデント修復タスクワークフローを生成する段階;及び
前記生成されたITインシデント修復タスクワークフローを前記少なくとも1つのITリソースに対して自動的に実行する段階
を備える方法。
【請求項2】
少なくとも1つのサイト信頼性エンジニアを前記IT修復タスクスキルセット内の少なくとも1つの対応する第2のスキルと相関付ける少なくとも1つの第2の相関演算を実行する段階をさらに備え、前記ITインシデント修復タスクワークフローを生成する段階は、前記少なくとも1つの第2の相関演算の前記結果に基づいて、前記ITインシデント修復タスクワークフローを生成する段階をさらに有する、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの第1の相関演算を実行する段階は、1又は複数のスキルギャップを識別する段階を有し、スキルギャップは、前記IT修復タスクスキルセット内のスキルであって、そのスキルを提供する自動化ツールが存在しないスキルである、請求項2に記載の方法。
【請求項4】
前記少なくとも1つの第2のスキルは、スキルギャップに関連付けられているスキルであり、前記第2の相関演算は、スキルギャップに関連付けられているスキルに関してのみ実行される、請求項3に記載の方法。
【請求項5】
前記1又は複数のスキルギャップのそれぞれに関して、
前記スキルギャップに対応する前記スキルに関連付けられている対応するIT修復タスクに関して、その対応するIT修復タスクの代わりに実行できるフォールバックIT修復タスクが利用可能であるか否かを判定する段階;
その対応するIT修復タスクの代わりに実行できるフォールバックIT修復タスクが利用可能であるとの判定に応答して、前記フォールバックIT修復タスクを実行するために必要なスキルを提供する自動化ツールが利用可能であるかを判定する段階;及び
前記フォールバックIT修復タスクを実行するために必要なスキルを提供する自動化ツールが利用可能であるとの判定に応答して、前記ITインシデント修復タスクワークフローにおいて前記対応するIT修復タスクを前記フォールバックIT修復タスクと置換する段階、及び前記ITインシデント修復タスクワークフローにおける前記フォールバックIT修復タスクを実行する前記自動化ツールを選択する段階
をさらに備える、請求項3に記載の方法。
【請求項6】
前記フォールバックIT修復タスクを実行するために必要な前記スキルを提供する自動化ツールが利用可能でないことに応答して、前記フォールバックIT修復タスクを実行するために必要な前記スキルに基づいて、サイト信頼性エンジニアデータ構造体におけるルックアップ操作を実行する段階;及び
前記フォールバックIT修復タスクを実行するために必要な前記スキルを提供する、前記サイト信頼性エンジニアデータ構造体における、サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームに関するエントリの識別に応答して、前記ITインシデント修復タスクワークフローにおいて前記対応するIT修復タスクを前記フォールバックIT修復タスクと置換する段階、及び前記ITインシデント修復タスクワークフローにおける前記フォールバックIT修復タスクを実行する前記サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームを選択する段階
をさらに備える、請求項5に記載の方法。
【請求項7】
前記少なくとも1つの知識データ構造体を取得する段階は、ITトポロジグラフデータ構造体から、前記少なくとも1つのITリソースを識別する段階を有し、前記ITトポロジグラフデータ構造体は、ITリソースに対応するノード及びITリソース間の依存関係を表すエッジを含み、前記少なくとも1つのITリソースの前記識別は、前記ITトポロジグラフデータ構造体に基づいて、前記ITインシデント通知に対応するITリソースに関連付けられているITリソース間の依存関係を評価する段階を有する、請求項1に記載の方法。
【請求項8】
前記少なくとも1つの知識データ構造体は、少なくとも1つの自然言語文書を含み、前記ITインシデントをハンドリングするための1又は複数のIT修復タスクを抽出する段階は、
ITインシデントを示す用語/語句のIT修復タスクボキャブラリとともに構成された自然言語処理を前記少なくとも1つの知識データ構造体に対して実行する段階;及び
前記少なくとも1つの知識データ構造体の前記自然言語処理に基づいて、IT修復タスクの順序付けられたシーケンスを識別する段階
を有する、請求項1に記載の方法。
【請求項9】
前記少なくとも1つの自然言語文書は、前記少なくとも1つのITリソースのそれぞれに関して、ITインシデントを記述する部分及び前記ITインシデントのためのIT修復タスクを記述する部分を有する対応する知識アーティクルを含み、前記自然言語処理は、前記IT修復タスクボキャブラリ及び前記知識アーティクルの前記部分間の文類似度処理を含む、請求項8に記載の方法。
【請求項10】
前記第1の相関演算を実行する段階は、自動化ツールカタログデータ構造体における自動化ツール記述の自然言語処理を実行して、自動化ツールに関連付けられているスキルを識別する段階、及び前記IT修復タスクスキルセット内の前記スキルとの前記自動化ツール記述の文類似度解析を実行する段階を有する、請求項1に記載の方法。
【請求項11】
第2の相関演算を実行する段階は、異なるSRE又はSREチームに関連付けられているスキルを指定する1又は複数のサイト信頼性エンジニア(SRE)データ構造体を処理する段階、及び異なるSRE又はSREチームに関連付けられているスキルを前記IT修復タスクスキルセットとマッチングする段階を有する、請求項1に記載の方法。
【請求項12】
ノードがITインシデント及び前記ITインシデントに対応するIT修復タスクを表すIT修復タスク知識グラフデータ構造体を生成する段階をさらに備え、エッジは、前記IT修復タスクのうちの選択された1つを、前記IT修復タスクが関連付けられた対応するITインシデントにリンクさせる、請求項1に記載の方法。
【請求項13】
前記1又は複数のIT修復タスクに関連付けられている複数の予め定められたスキル内の1又は複数のスキルを識別する段階は、
前記ITインシデント通知において指定された前記ITインシデントに対応する前記IT修復タスク知識グラフデータ構造体におけるノードのサブセットを識別する段階;及び
前記IT修復タスク知識グラフデータ構造体における前記ノードのサブセットの特性に基づいて、前記1又は複数のスキルを識別する段階
を有する、請求項12に記載の方法。
【請求項14】
前記複数の予め定められたスキル内の前記1又は複数のスキルを、複数の予め定められたスキルタイプのうちの1つとして分類する段階、ここで、前記スキルタイプは、アクションスキルタイプ、モニタリングスキルタイプ、フォールバックスキルタイプ、及びロールバックスキルタイプを含む;
をさらに備え、
ITインシデント修復タスクワークフローを生成する段階は、前記第1の相関演算の結果、第2の相関演算の結果、前記少なくとも1つの自動化ツールに関連付けられているスキルの分類、及び前記少なくとも1つのサイト信頼性エンジニアに関連付けられているスキルの分類に基づいて前記少なくとも1つの自動化ツール及び少なくとも1つのサイト信頼性エンジニアをスコアリングする訓練された機械学習コンピュータモデルに基づいて、前記ITインシデント修復タスクワークフローにおける各IT修復タスクに関して、対応する自動化ツール又はサイト信頼性エンジニアを選択する段階を有する、請求項1に記載の方法。
【請求項15】
前記訓練された機械学習コンピュータモデルは、前記少なくとも1つの自動化ツールに関連付けられているスキル及び前記少なくとも1つのサイト信頼性エンジニアに関連付けられているスキルの合致度に基づいて、及び、前記少なくとも1つの自動化ツール及び前記少なくとも1つのサイト信頼性エンジニアがロールバックスキル又はフォールバックスキルを有するか否かに基づいて、前記少なくとも1つの自動化ツール及び前記少なくとも1つのサイト信頼性エンジニアをスコアリングする、請求項14に記載の方法。
【請求項16】
前記対応する自動化ツール又はサイト信頼性エンジニアを選択する段階は、少なくとも、前記ITインシデント修復タスクワークフローにおける前記IT修復タスクのうちの1又は複数に関して、前記複数の予め定められたスキル内の前記1又は複数のスキルの前記分類に基づいて、1又は複数のフォールバックタスクを識別することによって、探索的オーケストレーション操作を実行する段階、及び前記1又は複数のフォールバックタスクを含む代替的なITインシデント修復タスクワークフローを生成する段階をさらに有する、請求項15に記載の方法。
【請求項17】
前記ITインシデント修復タスクワークフローを生成する段階は、
前記IT修復タスクスキルセットに対応する入力特徴、オートメーションツールカタログからのオートメーションツールの特性、サイト信頼性エンジニアリングデータ構造体からのサイト信頼性エンジニア又はサイト信頼性エンジニアリングチームの特性、前記少なくとも1つの対応する第1のスキルとの前記少なくとも1つの自動化ツールの前記対応、及び前記少なくとも1つの対応する第2のスキルとの前記少なくとも1つのサイト信頼性エンジニアの前記対応に対して、訓練された機械学習コンピュータツールを実行して、前記ITインシデント修復タスクワークフローにおける各IT修復タスクを実行するための各オートメーションツール及び各サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームをスコアリングする段階を有する、請求項1に記載の方法。
【請求項18】
前記ITインシデント修復タスクワークフローにおける各IT修復タスクに関して、スコアに基づいて、前記IT修復タスクを実行する、オートメーションツール、サイト信頼性エンジニア、又はサイト信頼性エンジニアリングチームのうちの少なくとも1つを選択する段階をさらに備える、請求項17に記載の方法。
【請求項19】
前記ITインシデント修復タスクワークフローは、前記少なくとも1つの第1のITインシデントタスクを実行するように割り当てられた関連付けられた自動化ツールを有する少なくとも1つの第1のITインシデントタスク、及び、前記少なくとも1つの第2のIT修復タスクを実行するように割り当てられた関連付けられたサイト信頼性エンジニア又はサイト信頼性エンジニアリングチームを有する少なくとも1つの第2のIT修復タスクを含み、前記生成されたITインシデント修復タスクワークフローを前記少なくとも1つのITリソースに対して自動的に実行する段階は、
各第1のITインシデントタスクに関して、前記割り当てられた自動化ツールを自動的に呼び出して、前記第1のITインシデントタスクを実行するように操作を実行する段階、及び前記割り当てられた自動化ツールによる前記第1のITインシデントタスクの完了を示す自動化応答を待機する段階;及び
各第2のIT修復タスクに関して、前記サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームに関連付けられているコンピューティングデバイスに電子通信を自動的に送信する段階、及び前記サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームによる前記第2のIT修復タスクの完了を示す前記コンピューティングデバイスからの応答通信を待機する段階
を有する、請求項1に記載の方法。
【請求項20】
コンピュータプログラムであって、データ処理システムにおいて実行されると、前記データ処理システムに、
ITインシデントを指定する情報技術(IT)インシデント通知を受信させ;
前記ITインシデントに対応する、ITインフラストラクチャの、少なくとも1つのITリソースに関連付けられている少なくとも1つの知識データ構造体を取得させ;
前記少なくとも1つの知識データ構造体から、前記ITインシデントをハンドリングするための1又は複数のIT修復タスクを抽出させ;
少なくとも、前記1又は複数のIT修復タスクに関連付けられている複数の予め定められたスキル内の1又は複数のスキルを識別することによって、IT修復タスクスキルセットを生成させ;
少なくとも1つの自動化ツールを前記IT修復タスクスキルセット内の少なくとも1つの対応する第1のスキルと相関付ける少なくとも1つの第1の相関演算を実行させ;
前記IT修復タスクスキルセット及び前記少なくとも1つの相関演算の結果に基づいて、前記1又は複数のIT修復タスクを含むITインシデント修復タスクワークフローを生成させ;及び
前記生成されたITインシデント修復タスクワークフローを前記少なくとも1つのITリソースに対して自動的に実行させる
コンピュータプログラム。
【請求項21】
前記少なくとも1つの相関演算は、少なくとも1つのサイト信頼性エンジニアを前記IT修復タスクスキルセット内の少なくとも1つの対応する第2のスキルと相関付ける少なくとも1つの第2の相関演算をさらに含む、請求項1から19のいずれか一項に記載の方法。
【請求項22】
前記第1の相関演算を実行する段階は、1又は複数のスキルギャップを識別する段階を有し、スキルギャップは、前記IT修復タスクスキルセット内のスキルであって、そのスキルを提供する自動化ツールが存在しないスキルである、請求項1から19のいずれか一項に記載の方法。
【請求項23】
少なくとも1つのプロセッサ;及び
前記少なくとも1つのプロセッサに結合された少なくとも1つのメモリ、ここで、前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
ITインシデントを指定する情報技術(IT)インシデント通知を受信させ;
前記ITインシデントに対応する、ITインフラストラクチャの、少なくとも1つのITリソースに関連付けられている少なくとも1つの知識データ構造体を取得させ;
前記少なくとも1つの知識データ構造体から、前記ITインシデントをハンドリングするための1又は複数のIT修復タスクを抽出させ;
少なくとも、前記1又は複数のIT修復タスクに関連付けられている複数の予め定められたスキル内の1又は複数のスキルを識別することによって、IT修復タスクスキルセットを生成させ;
少なくとも1つの自動化ツールを前記IT修復タスクスキルセット内の少なくとも1つの対応する第1のスキルと相関付ける少なくとも1つの第1の相関演算を実行させ;
前記IT修復タスクスキルセット及び前記少なくとも1つの相関演算の結果に基づいて、前記1又は複数のIT修復タスクを含むITインシデント修復タスクワークフローを生成させ;及び
前記生成されたITインシデント修復タスクワークフローを前記少なくとも1つのITリソースに対して自動的に実行させる
命令を含む、
を備える装置。
【請求項24】
ITインシデントを指定する情報技術(IT)インシデント通知を受信する段階;
前記ITインシデントに対応する、ITインフラストラクチャの、少なくとも1つのITリソースに関連付けられている少なくとも1つの知識データ構造体を取得する段階;
前記少なくとも1つの知識データ構造体から、前記ITインシデントをハンドリングするための1又は複数のIT修復タスクを抽出する段階;
少なくとも、前記1又は複数のIT修復タスクに関連付けられている複数の予め定められたスキル内の1又は複数のスキルを識別することによって、IT修復タスクスキルセットを生成する段階;
少なくとも1つの自動化ツールを前記IT修復タスクスキルセット内の少なくとも1つの対応する第1のスキルと相関付ける少なくとも1つの第1の相関演算を実行する段階;
前記少なくとも1つの第1の相関演算の結果に基づいて、スキルギャップを識別する段階、ここで、前記スキルギャップは、前記IT修復タスクスキルセット内のスキルであって、そのスキルを提供する自動化ツールが存在しないスキルである;
前記スキルギャップの基準を満たすように、エンティティを前記スキルギャップと関連付ける段階;
前記IT修復タスクスキルセット、前記少なくとも1つの第1の相関演算の結果、及び前記スキルギャップへの前記エンティティの関連付けの結果に基づいて、前記1又は複数のIT修復タスクを含むITインシデント修復タスクワークフローを生成する段階;及び
前記少なくとも1つの自動化ツール及び前記関連付けられたエンティティを使用して、前記生成されたITインシデント修復タスクワークフローを前記少なくとも1つのITリソースに対して自動的に実行する段階
を備える方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、概して、改善されたデータ処理装置及び方法に関し、より詳細には、混合方法論インシデント修復ワークフロー(mixed methodology incident remediation workflow)の探索的オーケストレーション(exploratory orchestration)を自動的に実行するための改善されたコンピューティングツール及び改善されたコンピューティングツール動作/機能に関する。
【背景技術】
【0002】
企業が成功するために価値あるデジタル体験をその顧客及び従業員に提供しなければならない現代の情報技術(IT)環境において、企業が競争力を保つために、企業は、サイト信頼性エンジニアリング(SRE)運用モデルに移行している。SRE運用モデルは、ITインフラストラクチャを安定かつ信頼性のあるものに維持するために課題に対応することに集中するSREチームを伴う。このタスクは、ITインフラストラクチャの高まり続ける複雑性、及び、多数の異なるITシステム、モニタリングツール、及び同様のものから来る莫大な量のデータの中では、極めて困難なものである。
【発明の概要】
【発明が解決しようとする課題】
【0003】
真に成功するために、SREチームは、アプリケーション及びITインフラストラクチャの停止に先んじて、それらがユーザに影響を与える前にインシデントを解決する必要がある。しかしながら、多くのSREチームは、インシデントを検出、隔離、及び診断してそれらを解決しようとする間にノイズによって圧倒されるので、これらのSREチームは、それらのITインフラストラクチャにおける予測されなかった又はさらには繰り返されている問題によって依然として盲目的になっている。SREチームは、メトリック、トポロジ、イベント、ログ、チケット、アラート、及びチャット会話等の複数のデータソースを厳密に調べる必要があるので、ITインシデントのための解決アクションを迅速に識別するのに苦労し得る。
【課題を解決するための手段】
【0004】
この発明の概要は、本明細書の発明を実施するための形態においてさらに説明される概念の選択を簡略化された形式で導入するために提供されている。この発明の概要は、特許請求される主題の重要なファクタ又は不可欠な特徴を識別するように意図されておらず、特許請求される主題の範囲を限定するのに使用されることも意図されていない。
【0005】
1つの例示的な実施形態において、ITインシデントを指定する情報技術(IT)インシデント通知を受信する段階、及び、前記ITインシデントに対応する、ITインフラストラクチャの、少なくとも1つのITリソースに関連付けられている少なくとも1つの知識データ構造体を取得する段階を備える方法が提供される。前記方法は、前記少なくとも1つの知識データ構造体から、前記ITインシデントをハンドリングするための1又は複数のIT修復タスクを抽出する段階をさらに備える。さらに、前記方法は、少なくとも、前記1又は複数のIT修復タスクに関連付けられている複数の予め定められたスキル内の1又は複数のスキルを識別することによって、IT修復タスクスキルセットを生成する段階を備える。前記方法は、少なくとも1つの自動化ツールを、前記IT修復タスクスキルセット内の少なくとも1つの対応する第1のスキルと相関付ける少なくとも1つの第1の相関演算を実行する段階をさらに備える。さらに、前記方法は、前記IT修復タスクスキルセット及び前記少なくとも1つの第1の相関演算の結果に基づいて、前記1又は複数のIT修復タスクを含むITインシデント修復タスクワークフローを生成する段階を備える。また、前記方法は、前記生成されたITインシデント修復タスクワークフローを前記少なくとも1つのITリソースに対して自動的に実行する段階を備える。
【0006】
いくつかの例示的な実施形態において、前記方法は、少なくとも1つのサイト信頼性エンジニアを前記IT修復タスクスキルセット内の少なくとも1つの対応する第2のスキルと相関付ける第2の相関演算を実行する段階をさらに備える。これらの実施形態において、ITインシデント修復タスクワークフローは、第2の相関演算の結果にも基づいてさらに生成される。これにより、いくつかのタスクが自動化ツールによって実行され、他のものがサイト信頼性エンジニアによって実行され得る混合方法論ITインシデント修復タスクワークフローが可能になる。
【0007】
いくつかの例示的な実施形態において、前記第1の相関演算を実行する段階は、1又は複数のスキルギャップを識別する段階を有し、スキルギャップは、前記IT修復タスクスキルセット内のスキルであって、そのスキルを提供する自動化ツールが存在しないスキルである。これにより、このメカニズムは、フォールバックIT修復タスク又はサイト信頼性エンジニア(SRE)又はSREチームが利用され得るように、IT修復タスクを実行するために呼び出す自動化ツールが存在しない場合を識別することが可能になる。したがって、いくつかの例示的な実施形態において、前記少なくとも1つの第2のスキルは、スキルギャップに関連付けられているスキルであり、前記第2の相関演算は、スキルギャップに関連付けられているスキルに関してのみ実行される。
【0008】
いくつかの例示的な実施形態において、前記方法は、前記1又は複数のスキルギャップのそれぞれに関して、前記スキルギャップに対応する前記スキルに関連付けられている対応するIT修復タスクに関して、その対応するIT修復タスクの代わりに実行できるフォールバックIT修復タスクが利用可能であるか否かを判定する段階;その対応するIT修復タスクの代わりに実行できるフォールバックIT修復タスクが利用可能であるとの判定に応答して、前記フォールバックIT修復タスクを実行するために必要なスキルを提供する自動化ツールが利用可能であるかを判定する段階;及び前記フォールバックIT修復タスクを実行するために必要なスキルを提供する自動化ツールが利用可能であるとの判定に応答して、前記IT修復タスクワークフローにおいて前記対応するIT修復タスクを前記フォールバックIT修復タスクと置換するとともに、前記IT修復タスクワークフローにおける前記フォールバックIT修復タスクを実行する前記自動化ツールを選択する段階をさらに備える。したがって、これらの例示的な実施形態は、必要なスキルを提供するためにオートメーションツールが利用可能なフォールバックIT修復タスクを自動的に検索し、次に、そのワークフローにおける元のIT修復タスクの代わりにこれらのフォールバックIT修復タスクを含むようにIT修復タスクワークフローを修正し得る。こうして、IT修復タスクワークフローは、自動化ツールが実行するIT修復タスクを最大化するように修正され得る。
【0009】
いくつかの例示的な実施形態において、前記フォールバックIT修復タスクを実行するために必要な前記スキルを提供する自動化ツールが利用可能でないことに応答して、前記フォールバックIT修復タスクを実行するために必要な前記スキルに基づいて、サイト信頼性エンジニアデータ構造体におけるルックアップ操作を実行する段階、及び、前記フォールバックIT修復タスクを実行するために必要な前記スキルを提供する、前記サイト信頼性エンジニアデータ構造体における、サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームに関するエントリの識別に応答して、前記IT修復タスクワークフローにおいて前記対応するIT修復タスクを前記フォールバックIT修復タスクと置換するとともに、前記IT修復タスクワークフローにおける前記フォールバックIT修復タスクを実行する前記サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームを選択する段階をさらに備える。したがって、これらの例示的な実施形態のメカニズムを用いれば、必要なスキルを提供する自動化ツールが発見されず、自動化ツールによってそのスキルが提供されるフォールバックIT修復タスクが無い場合、SRE/SREチームが、そのフォールバックIT修復タスクを実行するために割り当てられ得る。このように、混合方法論IT修復タスクワークフローが生成され得る。
【0010】
いくつかの例示的な実施形態において、前記少なくとも1つの知識データ構造体を取得する段階は、ITトポロジグラフデータ構造体から、前記少なくとも1つのITリソースを識別する段階を有し、前記ITトポロジグラフデータ構造体は、ITリソースに対応するノード及びITリソース間の依存関係を表すエッジを含み、前記少なくとも1つのITリソースの前記識別は、前記ITトポロジグラフデータ構造体に基づいて、前記ITインシデント通知に対応するITリソースに関連付けられているITリソース間の依存関係を評価する段階を有する。したがって、例示的な実施形態のメカニズムは、依存関係に基づいて、ITインシデントによってどのITリソースが影響を受けるかを自動的に識別し得、対応する知識データ構造体は、実行されることになるITインシデント修復タスクを判定するためにアクセスされ得る。
【0011】
いくつかの例示的な実施形態において、前記少なくとも1つの知識データ構造体は、少なくとも1つの自然言語文書を含み、前記ITインシデントをハンドリングするための1又は複数のIT修復タスクを抽出する段階は、ITインシデントを示す用語/語句のIT修復タスクボキャブラリとともに構成された自然言語処理を前記少なくとも1つの知識データ構造体に対して実行する段階;及び、前記少なくとも1つの知識データ構造体の前記自然言語処理に基づいて、IT修復タスクの順序付けられたシーケンスを識別する段階を有する。また、いくつかの例示的な実施形態において、前記少なくとも1つの自然言語文書は、前記少なくとも1つのITリソースのそれぞれに関して、ITインシデントを記述する部分及び前記ITインシデントのためのIT修復タスクを記述する部分を有する対応する知識アーティクルを含み、前記自然言語処理は、前記IT修復タスクボキャブラリ及び前記知識アーティクルの前記部分間の文類似度処理を含む。したがって、これらの例示的な実施形態は、自然言語内容からIT修復タスクを識別可能であり、いくつかの場合において、この自然言語内容は、特定のITリソースに関連付けられている知識アーティクル文書インシデント及び対応する修復タスクであってよい。
【0012】
いくつかの例示的な実施形態において、前記第1の相関演算を実行する段階は、自動化ツールカタログデータ構造体における自動化ツール記述の自然言語処理を実行して、自動化ツールに関連付けられているスキルを識別するとともに、前記IT修復タスクスキルセット内の前記スキルとの前記自動化ツール記述の文類似度解析を実行する段階を有する。さらに、いくつかの例示的な実施形態において、前記第2の相関演算を実行する段階は、異なるSRE又はSREチームに関連付けられているスキルを指定する1又は複数のサイト信頼性エンジニア(SRE)データ構造体を処理するとともに、異なるSRE又はSREチームに関連付けられているスキルを前記IT修復タスクスキルセットとマッチングする段階を有する。したがって、IT修復タスクを実行するために必要なスキル、自動化ツールによって提供されるスキル、及びSRE/SREチームによって提供されるスキル間の相関付けが可能になる。
【0013】
いくつかの例示的な実施形態において、前記方法は、ノードがITインシデント及び前記ITインシデントに対応するIT修復タスクを表すIT修復タスク知識グラフデータ構造体を生成する段階をさらに備え、エッジは、前記IT修復タスクのうちの選択された1つを、前記IT修復タスクが関連付けられた対応するITインシデントにリンクさせる。いくつかの例示的な実施形態において、前記1又は複数のIT修復タスクに関連付けられている複数の予め定められたスキル内の1又は複数のスキルを識別する段階は、前記ITインシデント通知において指定された前記ITインシデントに対応する前記IT修復タスク知識グラフデータ構造体におけるノードのサブセットを識別する段階;及び、前記IT修復タスク知識グラフデータ構造体における前記ノードのサブセットの特性に基づいて、前記1又は複数のスキルを識別する段階を有する。したがって、IT修復タスク知識グラフデータ構造体は、IT修復タスク及びITインシデント間の相関が可能かつ検索可能になるメカニズムを提供する。
【0014】
いくつかの例示的な実施形態において、前記方法は、前記複数の予め定められたスキル内の前記1又は複数のスキルを、複数の予め定められたスキルタイプのうちの1つとして分類する段階、ここで、前記スキルタイプは、アクションスキルタイプ、モニタリングスキルタイプ、フォールバックスキルタイプ、及びロールバックスキルタイプを含む;をさらに備える。また、これらの例示的な実施形態では、ITインシデント修復タスクワークフローを生成する段階は、前記第1の相関演算の結果、前記第2の相関演算の結果、前記少なくとも1つの自動化ツールに関連付けられているスキルの分類、及び前記少なくとも1つのサイト信頼性エンジニアに関連付けられているスキルの分類に基づいて前記少なくとも1つの自動化ツール及び少なくとも1つのサイト信頼性エンジニアをスコアリングする訓練された機械学習コンピュータモデルに基づいて、前記ITインシデント修復タスクワークフローにおける各ITインシデント修復タスクに関して、対応する自動化ツール又はサイト信頼性エンジニアを選択する段階を有してよい。したがって、対応するITインシデント修復タスクを実行する自動化ツール及び/又はSRE/SREチームを選択するための基礎として、スキルの分類が使用され得る。
【0015】
いくつかの例示的な実施形態において、前記訓練された機械学習コンピュータモデルは、前記少なくとも1つの自動化ツールに関連付けられているスキル及び前記少なくとも1つのサイト信頼性エンジニアに関連付けられているスキルの合致度に基づいて、及び、前記少なくとも1つの自動化ツール及び前記少なくとも1つのサイト信頼性エンジニアがロールバックスキル又はフォールバックスキルを有するか否かに基づいて、前記少なくとも1つの自動化ツール及び前記少なくとも1つのサイト信頼性エンジニアをスコアリングする。したがって、これらの例示的な実施形態において、ITインシデント修復タスクを実行するための最良の選択肢は、スキルの最も近い合致ではない場合があり、自動化ツール又はSREが対応するロールバックスキル又はフォールバックスキルを有するか否かを含む他のファクタがスコアリングに含まれてもよい。
【0016】
いくつかの例示的な実施形態において、前記対応する自動化ツール又はサイト信頼性エンジニアを選択する段階は、少なくとも、前記ITインシデント修復タスクワークフローにおける前記IT修復タスクのうちの1又は複数に関して、前記複数の予め定められたスキル内の前記1又は複数のスキルの前記分類に基づいて、1又は複数のフォールバックタスクを識別することによって、探索的オーケストレーション操作を実行するとともに、前記1又は複数のフォールバックタスクを含む代替的なITインシデント修復タスクワークフローを生成する段階をさらに有する。したがって、これらの例示的な実施形態は、実装のためのより適切な選択肢であり得る代替的なITインシデント修復タスクワークフローを評価可能であり、又は、例えば、ITインシデント修復タスクが失敗した場合において使用され得る。
【0017】
いくつかの例示的な実施形態において、前記ITインシデント修復タスクワークフローを生成する段階は、前記IT修復タスクスキルセットに対応する入力特徴、オートメーションツールカタログからの前記オートメーションツールの特性、サイト信頼性エンジニアリングデータ構造体からのサイト信頼性エンジニア又はサイト信頼性エンジニアリングチームの特性、前記少なくとも1つの対応する第1のスキルとの前記少なくとも1つの自動化ツールの前記対応、及び前記少なくとも1つの対応する第2のスキルとの前記少なくとも1つのサイト信頼性エンジニアの前記対応に対して、訓練された機械学習コンピュータツールを実行して、前記IT修復タスクワークフローにおける各IT修復タスクを実行するための各オートメーションツール及び各サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームをスコアリングする段階を有する。したがって、入力特徴の複雑なパターンを評価して、ITインシデント修復タスクワークフローのためのITインシデント修復タスクの最適化された選択を生成することができる、訓練された機械学習コンピュータツールによって、様々な特徴及びファクタの複雑な分析が実行され得る。
【0018】
いくつかの例示的な実施形態において、前記方法は、前記IT修復タスクワークフローにおける各IT修復タスクに関して、前記スコアに基づいて、前記IT修復タスクを実行する、オートメーションツール、サイト信頼性エンジニア、又はサイト信頼性エンジニアリングチームのうちの少なくとも1つを選択する段階をさらに備える。したがって、この選択により、ITインシデント修復タスクワークフローを実行することによりITインシデントを解決するために利用されることになる自動化ツール及びSRE/SREチームの相対的に最良の組み合わせが可能になる。
【0019】
いくつかの例示的な実施形態において、ITインシデント修復タスクワークフローは、少なくとも1つの第1のITインシデント修復タスクを実行するために割り当てられた関連付けられた自動化ツールを有する少なくとも1つの第1のITインシデント修復タスク、及び、少なくとも1つの第2のITインシデント修復タスクを実行するために割り当てられた関連付けられたサイト信頼性エンジニア又はサイト信頼性エンジニアリングチームを有する少なくとも1つの第2のIT修復タスクを含む。また、いくつかの例示的な実施形態において、前記生成されたITインシデント修復タスクワークフローを前記少なくとも1つのITリソースに対して自動的に実行する段階は、各第1のITインシデント修復タスクに関して、前記割り当てられた自動化ツールを自動的に呼び出して、前記第1のITインシデント修復タスクを実行するように操作を実行するとともに、前記割り当てられた自動化ツールによる前記第1のITインシデント修復タスクの完了を示す自動化応答を待機する段階;及び、各第2のITインシデント修復タスクに関して、前記サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームに関連付けられているコンピューティングデバイスに電子通信を自動的に送信するとともに、前記サイト信頼性エンジニア又はサイト信頼性エンジニアリングチームによる前記第2のITインシデント修復タスクの完了を示す前記コンピューティングデバイスからの応答通信を待機する段階を有する。したがって、これらの例示的な実施形態は、自動的に生成されたITインシデント修復タスクワークフローの実行を自動的にオーケストレートするメカニズムであって、ワークフローのタスクには、それらの対応するタスクを実行する自動化ツール及びSRE/SREチームの混合が関与する、メカニズムを提供する。
【0020】
他の例示的な実施形態では、コンピュータ可読プログラムを有するコンピュータ使用可能又はコンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。前記コンピュータ可読プログラムは、コンピューティングデバイス上で実行されると、前記コンピューティングデバイスに、前記方法の例示的な実施形態に関して上記で概説された動作のうちの様々な動作及びその組み合わせを実行させる。
【0021】
さらに別の例示的な実施形態では、システム/装置が提供される。前記システム/装置は、1又は複数のプロセッサ及び前記1又は複数のプロセッサに結合されたメモリを備えてよい。前記メモリは、前記1又は複数のプロセッサによって実行されると、前記1又は複数のプロセッサに、前記方法の例示的な実施形態に関して上記で概説された動作のうちの様々な動作及びその組み合わせを実行させる命令を含んでよい。
【0022】
本発明のこれらの及び他の特徴及び利点が、本発明の例示の実施形態の以下の詳細な説明において説明され、又はこれを考慮した当業者に明らかになる。
【図面の簡単な説明】
【0023】
本発明並びにその使用の好ましいモード並び更なる目的及び利点は、例示的な実施形態の以下の詳細な説明を、添付の図面と併せて読みながら参照することによって、最も良好に理解されるであろう。
【0024】
【
図1】1つの例示的な実施形態による情報技術(IT)インシデント修復ワークフローのための探索的オーケストレーションコンピューティングツールの一次的な動作コンポーネントを示す例示的なブロック図である。
【0025】
【
図2】1つの例示的な実施形態によるITインシデント修復タスクワークフロー探索のための処理を示すフロー図である。
【0026】
【
図3】1つの例示的な実施形態によるITインシデント修復タスクワークフロー探索を実行するための例示的な動作を概説するフローチャートである。
【0027】
【
図4】例示的な実施形態の態様が実装され得、本発明の方法の実行に関与するコンピュータコードの少なくとも一部が実行され得る、分散データ処理システム環境の例示的な図である。
【発明を実施するための形態】
【0028】
多くの場合における情報技術(IT)インシデントの修復は、ITインシデントに対処して、コンピューティングリソース上で実行されるアプリケーションで構成され得るITインフラストラクチャ並びにコンピューティングリソース、例えば、コンピューティングデバイス、記憶デバイス、ネットワーク通信インフラストラクチャ、及び同様のものの安定かつ信頼性のある動作を確実にするために、人間の専門家のアクション及び特定の順序での1又は複数の特殊コンピューティングツールの実行の組み合わせを必要とし得る。しかしながら、ITインシデントに対処するためにどのタスクが必要であるか、それらのタスクをどの順序で実行する必要があるか、それらのタスクを実行するためにどのスキルが必要であるか、それらの必要なスキルをその人間/コンピューティングツールリソースが提供するかを判定すること、及び、次にこれらの判定に従ってこれらのタスクの実行をオーケストレートすることは、複雑な試みである。
【0029】
IT運用のための人工知能(AIOps)は、人工知能をIT運用管理に統合することに専念した領域であり、ここでは、様々なモニタリングツールを利用して、モニタリングされるアプリケーション、システム、及びITインフラストラクチャのコンポーネントからデータを収集し、サイト信頼性エンジニアリング(SRE)チームメンバ等の認可された人員にダッシュボードが提示される。ダッシュボードを介して提示される情報は、ITインフラストラクチャの様々な条件、ITインシデントのアラート、及び同様のものを含み得る。AIOpsツールは、ダッシュボードにおいて提示されるそのような情報を補強するために、AI及び機械学習メカニズムによって生成された洞察を提供する。そのようなAIOpsツールは、人間のSREチームメンバに大きな支援を提供する一方で、これらのAIOpsツールは、様々なタスクを実行するために必要なスキルの知的検討に基づいて、特に、ワークフローのタスクを実行するための混合方法論で作成されたITインシデント修復ワークフロー、例えば、人間が実行するタスク及び自動化コンピューティングツールが実行するタスクを含むワークフローを自動的に生成するために、ITインシデント修復ワークフローの探索的オーケストレーションを実行する能力を有しない。特に、そのようなAIOpsシステムは、ワークフローにおけるスキルギャップを識別する能力を有さず、ここでは、自動化コンピューティングツールは、タスクを実行するスキルを有さず、これらのスキルを提供し且つそれらのタスクを実行するためにどの人的リソースが利用可能であり得るかを判定し、次に、混合方法論ワークフローの実行をオーケストレートする。
【0030】
例示的な実施形態は、情報技術(IT)インシデント修復ワークフローの探索的オーケストレーションを特に実行する改善されたコンピューティングツール及び改善されたコンピューティングツール動作/機能を提供する。また、例示的な実施形態は、人間が実行する、例えば、サイト信頼性エンジニアリング(SRE)チームが実行するタスク、及び、自動化コンピューティングツールが実行するタスクで作成される混合方法論ITインシデント修復ワークフローに関するそのような探索的オーケストレーションを実行するために特定のメカニズムを提供する。例示的な実施形態は、ITインシデントのためのITインシデント修復ワークフローを自動的に作成し、自動的に作成されたワークフロー内の様々なタスクの実行を自動的にオーケストレートするために、ITトポロジ、SRE修復タスク、オートメーションツール、並びにSRE及びオートメーションツールによって提供されるスキル及びスキル間の依存関係等に関するデータの様々なソースを活用する。ワークフローの作成は、それらのタスクを正常に実行することに失敗し得るオートメーションツールのために必要なフォールバック/ロールバックスキルを考慮する。ワークフローの作成は、自動化コンピューティングツールからのスキル利用可能性におけるギャップを判定し、ワークフローにおける他のタスクの自動化コンピューティングツール実行に従って順序付けられた特定のSRE介入を自動的に提供する。いくつかの例示的な実施形態において、例示的な実施形態のメカニズムは、履歴ログ又はITトポロジデータから観察されない、ワークフローのための修復スキル及びタスクの異なる組み合わせを探索する。
【0031】
例示的な実施形態及び例示的な実施形態によって実行される改良されたコンピュータの動作の様々な態様の説明を続ける前に、この説明全体にわたって、「メカニズム」という用語が、様々な動作、機能等を実行する本発明の要素を指すために使用されるということが、最初に理解されるべきである。「メカニズム」は、この用語が本明細書において使用される場合、装置、手順、又はコンピュータプログラム製品の形態での、例示的な実施形態の機能又は態様の実装であってよい。手順の場合、手順は、1又は複数のデバイス、装置、コンピュータ、データ処理システム等によって実装される。コンピュータプログラム製品の場合、特定の「メカニズム」に関連付けられた機能を実装するか又は動作を実行するために、コンピュータプログラム製品内又はコンピュータプログラム製品上で具現化されたコンピュータコード又は命令によって表されたロジックが、1又は複数のハードウェアデバイスによって実行される。それゆえ、本明細書において説明されるメカニズムは、特殊なハードウェア、ハードウェア上で実行され、それによって、ハードウェアが別様に実行することができない本発明の特殊な機能を実装するようにハードウェアを構成するソフトウェア、命令がハードウェアによって容易に実行可能になり、それによって、本明細書において示された機能及び説明された特定のコンピュータ動作を実行するようにハードウェアを特別に構成するように、媒体上に記憶されたソフトウェア命令、機能を実行するための手順又は方法、又は上記のいずれかの組み合わせとして実装されてよい。
【0032】
本明細書及び特許請求の範囲は、例示的な実施形態の特定の特徴及び要素に関して、「1つの」、「のうちの少なくとも1つ」、及び「のうちの1又は複数」という用語を使用し得る。これらの用語及び語句は、特定の例示的な実施形態に存在する特定の特徴又は要素のうちの少なくとも1つが存在するが、1つよりも多くも存在し得ることを述べるよう意図されているということが、理解されるべきである。すなわち、これらの用語/語句は、本明細書又は特許請求の範囲を、存在している単一の特徴/要素に限定するように、又は、そのような特徴/要素が複数存在することを必要とするように意図されてもいない。反対に、これらの用語/語句は、単に少なくとも単一の特徴/要素を必要とし、そのような特徴/要素は、本明細書及び特許請求の範囲の範囲内に複数存在する可能性がある。
【0033】
また、「エンジン」という用語の使用は、本発明の実施形態及び特徴の説明に関して本明細書において使用される場合、エンジンに起因する及び/又はエンジンが実行するアクション、ステップ、処理等を実現及び/又は実行するためのいずれの特定の技術的な実装も限定することを意図していないが、「エンジン」は、エンジンが手動入力とともに機能し得るか又は手動又は精神的消費のために意図された出力を提供し得る場合であっても、コンピュータ技術において実装され、そのアクション、ステップ、処理等が精神的プロセスとして実行又は手動労力を通じて実行されない点で、限定されることが理解されるべきである。エンジンは、指定された機能を実行するように特別に構成された、ハードウェア上で実行されるソフトウェア、専用ハードウェア、及び/又はファームウェア、又はそれらの任意の組み合わせのうちの1又は複数として実装される。ハードウェアは、機械可読メモリにロード又は記憶され、プロセッサによって実行され、それによって、プロセッサを本発明の1又は複数の実施形態の機能のうちの1又は複数を含む特殊な目的のために特別に構成する適切なソフトウェアと組み合わせたプロセッサの使用を含み得るが、これに限定されるものではない。さらに、特定のエンジンに関連付けられた任意の名前は、特に指定されない限り、参照の便宜のためであり、特定の実装に限定するように意図されていない。加えて、或るエンジンに起因する任意の機能は、複数のエンジンによって等しく実行されてもよいし、同じタイプ又は異なるタイプの別のエンジンの機能に組み込まれるかもしくは組み合わされるか又はその両方が行われてもよいし、様々な構成の1又は複数のエンジンにわたって分散されてもよい。
【0034】
加えて、以下の説明は、例示的な実施形態の様々な要素の複数の様々な例を使用して、例示的な実施形態の例示の実装をさらに示し、例示的な実施形態のメカニズムの理解を補助することを目的としていることが理解されるべきである。これらの例は、非限定的であると意図され、例示的な実施形態のメカニズムを実装するための様々な可能性を網羅しているわけではない。本明細書を考慮して、これらの様々な要素について、本発明の趣旨及び範囲から逸脱することなく、本明細書において提供された例に加えて、又はそれらの代わりに利用され得る多くの他の代替的な実装が存在することが、当業者には明らかとなるであろう。
【0035】
明確性のために別個の実施形態の文脈において説明されている本発明の特定の特徴は、単一の実施形態において組み合わせて提供されてもよいことが理解されるべきである。反対に、簡潔性のために単一の実施形態の文脈において説明されている本発明の様々な特徴は、別個に又は任意の好適な部分的な組み合わせで提供されてもよい。
【0036】
本開示の様々な態様は、説明文、フローチャート、コンピュータシステムのブロック図、及び/又はコンピュータプログラム製品(CPP)実施形態に含まれる機械ロジックのブロック図によって説明される。任意のフローチャートに関して、関与する技術に依存して、所与のフローチャートにおいて示されているものと異なる順序において動作を実行することができる。例えば、ここでもやはり関与する技術に依存して、連続したフローチャートブロックにおいて示された2つの動作は、逆の順序において、単一の統合された段階として、同時に、又は少なくとも部分的に時間的に重複して、実行されてよい。
【0037】
コンピュータプログラム製品実施形態(「CPP実施形態」又は「CPP」)は、本開示において、所与のCPPの請求項において指定されたコンピュータ動作を実行する命令及び/又はデータに対応する機械可読コードを集合的に含む1又は複数の記憶デバイスのセットに集合的に含まれる1つの、又は複数の、記憶媒体(「媒体」とも呼ばれる)の任意のセットを説明するために使用される用語である。「記憶デバイス」は、コンピュータプロセッサによる使用のための命令を保持及び記憶することができる任意の有形デバイスである。限定するものではないが、コンピュータ可読記憶媒体は、電子記憶媒体、磁気記憶媒体、光学記憶媒体、電磁記憶媒体、半導体記憶媒体、機械的記憶媒体、又は前述の任意の適した組み合わせであってよい。これらの媒体を含む記憶デバイスのいくつかの既知のタイプとしては:ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス(パンチカード又はディスクの主要面において形成されたピット/ランド等)又は前述の任意の適した組み合わせが挙げられる。コンピュータ可読記憶媒体は、その用語が本開示において使用される場合、電波又は他の自由に伝播する電磁波、導波路を通して伝播する電磁波、光ファイバケーブルを通過する光パルス、ワイヤを通して通信される電気信号、及び/又は他の送信媒体等の一時的信号それ自体の形式でのストレージとしては解釈されるべきではない。当業者によって理解されるように、データは、典型的には、アクセス、でフラグメンテーション又はガベージコレクション等の記憶デバイスの通常動作中のいくつかの時折の時点において移動されるが、これは、記憶デバイスを一時的なものにせず、なぜならば、データは、それが記憶されている間は一時的ではないためである。
【0038】
上で説明したように、本発明の例示的な実施形態は、ITインシデントの修復を実現するように順序付けられた、人間が実行するタスク及び自動化コンピューティングツールが実行するタスクを含む混合方法論ワークフローであり得るITインシデント修復ワークフローの探索的オーケストレーションを自動的に実行する改善されたコンピューティングツールを特に対象としたものである。例示的な実施形態は、修復タスクのシーケンスを生成する改善されたコンピューティングツールを提供し、各タスクは、1又は複数の必要なスキルに関連付けられている。これらのスキルは、アクションスキル、モニタリングスキル、ロールバックスキル、及びフォールバックスキルに概ね分類される。アクションスキルは、ITインシデントの修復に向けて進むように、アプリケーション、コンピューティングデバイス、記憶デバイス、ネットワークリソース、又は同様のものの状態を修正するためのアクション、例えば、アプリケーションコンポーネントのインストール、追加の記憶デバイスの追加、プロセッサ又はメモリリソースの割り当ての変更、ネットワーク接続の利用可能な帯域幅の割り当ての増加、又は、ITトポロジを規定する1又は複数のデータ構造体においてITインフラストラクチャが表されるITインフラストラクチャリソースの状態を変更するように人間又は自動化コンピューティングツールによって取られる任意の他のアクションの積極的実行に関するスキルである。
【0039】
モニタリングスキルは、アクションスキルに対応するアクションが正しく実行されたか否かをモニタリングすることに関するスキルである。例えば、アクションがJava(登録商標)アプリケーションをインストールすることである場合、アクションスキルは、アプリケーションをインストールするためのスキルであってよく、モニタリングスキルは、アプリケーションが正しくインストールされたこと、例えば、安全性及び信頼性に関してそれが正しく機能するようにJavaアプリケーションがインストールされたことを確実にするために、アプリケーションのインストールをモニタリングするためのスキルであってよい。
【0040】
ロールバックスキルは、アクションの実行によってなされた変更をロールバックするためのスキル、例えば、アクションスキルを使用してアクションによってなされた変更に対する「アンドゥ」操作を実行するためのスキルである。例えば、モニタリングスキルに基づくタスクが、Javaアプリケーションのインストール等のアクションスキルに基づくタスクが正しく実行されなかったと判定する場合、影響を受けたシステム又はITリソースをアクションスキルに基づくタスクが実行される前の以前の状態にリセットするロールバックタスクのために、ロールバックスキルが必要とされ得る。
【0041】
フォールバックスキルは、アクションスキルタスクが正しく実現されることの失敗に対処するために代替的なアクションを実行するためのスキルである。すなわち、変更をロールバックするのではなく、アクションスキルに基づくタスクを実行する代わりに、タスクの失敗に対処するように類似のアクション結果、代替的な満足な結果を実現し得る代替的なアクションが、又は何らかの指定された方法でこの失敗に別様に対処するように代替的なアクションが、取られ得る。例えば、アクションスキルに基づくタスクによってJavaアプリケーションが正しくインストールされていない場合、Javaアプリケーションのインストールの代わりのものを行うために、フォールバックスキルに基づくタスクが実行され得る。
【0042】
これらのタスク及びそれらの関連付けられたスキルは、様々なアプリケーション、コンピューティングデバイス、記憶デバイスネットワークリソース、及び同様のものを指定するITトポロジ情報、ITインシデント、修復アクション、及び同様のものを記述する知識アーティクル及びデータ構造体、及び、ITインフラストラクチャ内で様々なタスクを実行するために使用される自動化コンピューティングツールの特性を指定するオートメーションツールカタログデータベースを含む、情報の様々なソースから判定され得る。例えば、ITインフラストラクチャにおける様々なITリソース、それらの依存関係、どのリソースが他のリソースと通信するか又はそれとともに動作するか、及び同様のものを識別するITトポロジデータ構造体が提供され得る。例えば、ITトポロジデータ構造体は、ノードが仮想及び/又は物理ITリソースを表し、エッジがこれらのITリソース間のデータフロー又はデータ通信接続を表す、有向グラフデータ構造体を含み得る。
【0043】
ITトポロジデータ構造体のこれらのノード及びエッジは、これらのITリソースに関連付けられているITインシデントに対処するために必要なスキルのタイプを示す関連付けられた特性を有し得る。これらの特性は、ITリソースの特定のタイプ及び例示的な実施形態のメカニズムを構成する特性及びスキル間の特定の相関に応じて、多くの異なる形態を取り得る。例えば、ITトポロジデータ構造体は、互いに接続された様々なアプリケーションを指定し得る。ITトポロジの特性を抽出するためにITトポロジデータ構造体を処理することは、アプリケーション名、ランタイム情報、構成、及び同様のもの等のアプリケーションレベルデータを抽出することを伴い得る。構成情報等のこの情報は、様々なアプリケーション間の依存関係を識別するための基礎を提供する各アプリケーションの入力及び出力を指定する。例えば、IT問題が発生した場合、その問題を生じさせたアプリケーション、及び、その特定のアプリケーションに関して、他のアプリケーションに対するそのアプリケーションの全ての依存関係及び実行の順序についての情報が利用可能である。
【0044】
知識アーティクル及び/又は知識データ構造体は、SRE/SREチームレポート、電子通信、オンラインフォーラム、業界新聞、ユーザフィードバック文書、ソーシャルネットワーキングポスト、及び同様のもの等の自然言語文書を含み得る。これらの知識アーティクル及び/又は知識データ構造体は、ITインシデント、修復アクション、及び同様のものを示すメタデータ内容を指定するタグ及び値を有し得る関連付けられたメタデータを有し得、そのようなITインシデント及び修復アクションの特徴を抽出するためにパース(parse)及び処理もされ得る。自然言語文書に関して、自然言語内容からITインシデント情報及び修復アクション情報を抽出するように構成された自然言語処理が、異なるITインシデントのための修復アクション(タスク)を識別するために必要とされる情報を抽出するために利用されてよい。例えば、ITインシデント及びアクションデータを抽出するために使用される自然言語処理アルゴリズムは、ITインシデントを示す用語/語句、例えば、誤操作、知られている障害、及び同様のものを示す用語/語句、及び、修復アクション、修復アクションの結果、及び同様のもの等のアクションの特定のボキャブラリとともに構成されてよい。いくつかの例示的な実施形態において、自然言語処理(NLP)アルゴリズムは、タグ、エラーコード等に関する知識アーティクル及び/又は知識データ構造体のメタデータをパースして、ITインシデント情報を抽出してよい。
【0045】
一例として、いくつかの例示的な実施形態において、各ITリソース、例えば、各アプリケーションは、アプリケーション関連問題及び対応する修復アクションを指定するためのセクションを有する関連付けられた知識アーティクルを有する。ITインシデントが発生した場合、まず、ITインシデントが発生したアプリケーションの識別子に基づいて、必要な知識アーティクルが識別される。次に、文類似度尺度を使用して、そのITインシデント記述を知識アーティクルにおけるITインシデントの記述とマッチングして、そのITインシデントのための対応する修復アクションを抽出してよい。文類似度は、意味情報を捉え得るベクトル(埋め込み)としてテキストをモデル化して、テキストが互いにどれだけ類似しているかを判定するためにテキスト間の距離尺度、例えば、レーベンシュタイン距離又は同様のものを判定する処理である。実装に応じて、この距離が所与の閾値を上回る又は下回る場合、2つのテキストが互いに類似しているとみなされる。
【0046】
トポロジデータ構造体及び知識アーティクル/知識データ構造体に加えて、例示的な実施形態は、ITインフラストラクチャを管理及び維持するサイト信頼性エンジニア(SRE)又は他の人員が利用可能なオートメーションツール及びそれらの特性を指定する1又は複数のオートメーションカタログデータ構造体にさらに基づいて動作する。オートメーションカタログデータ構造体は、オートメーションツール、それらがITインシデント修復のためのどのタスクを実行するか、これらのオートメーションツールにどのスキルが関連付けられているか、及び同様のものを指定してよい。すなわち、オートメーションカタログデータは、オートメーションツール名及びオートメーションツールの記述等のメタデータを有してよい。オートメーションツール記述は、自然言語でオートメーションツールの目的、例えば、「mongoレプリカセット(replica set)をロールバックする」を説明するものであり、例示的な実施形態のメカニズムは、ここから、このオートメーションツールが提供するスキルのタイプ、例えば、アクション、ロールバック、フォールバック、モニタリング、又は同様のものを識別可能である。知識データ構造体から判定されたITインシデント修復アクション及びオートメーションツール記述の間をマッチングするために、文類似度尺度がここでも使用されてよい。関係するオートメーションツール記述、例えば、所定の閾値に等しいか又はそれを上回る類似度尺度を有する合致する記述が発見されると、オートメーションツールは、それが類似度尺度及び確立された閾値によって示されるような十分高く合致する記述を有する、対応するスキル及び修復タスクに対してマッピングされる。
【0047】
SRE及び/又はSREチームを記述する追加の入力が提供されてよい。SREデータは、異なるSRE及び/又はSREチームに関連付けられているスキル、例えば、アクションスキル、モニタリングスキル、ロールバックスキル、及びフォールバックスキルを指定してよい。これらは、これらの様々なスキルを必要とするITインシデント修復タスクをハンドリングすることに関するSRE及び/又はSREチームの専門性を示す。このデータは、SRE及び/又はSREチームが割り当てられ、これらのITインシデントタスクの実行の成功性及びこれらのITタスクに関連付けられている対応するスキルを指定するユーザフィードバック又は他のメトリックを有するITインシデントタスクをトラッキングすることによって取得されてよい。そのようなユーザフィードバック及びメトリックは、経時的に、個々のSRE及び/又はSREチームが有するスキル、及び、おそらくは、例えば、mongo、サーバ準備、セキュリティパッチ等のスキル等の、それらが有しないものを識別するために取得及び分析されてよい。例えば、SREがアクションスキルAを必要とするITインシデントタスクを経時的に一貫して実行し、これらのITインシデントタスクが正常に実行されている場合、そのSREは、SREデータベースにおけるそのSREに関するエントリにおいてアクションスキルAに関連付けられてよい。さらに、又は代替的に、そのSREに関するエントリは、ITインシデントタスク実行に関し得る資格、教育タイプ、及び同様のものを指定する等、各SRE/SREチームがどのスキルを有し得るかを指定するように手動で入力されてよい。他の方法論及びメカニズムが、様々なSRE及び/又はSREチームに関してSREデータベースにおけるエントリを取得又は別様に入力するために使用されてよい。
【0048】
他の入力と同様に、オートメーションツール記述及びSREスキルの間でマッチングするために、文類似度尺度が使用されてよい。例えば、所定の閾値に等しいか又はそれよりも大きい類似度尺度を有する、関係するSRE/SREチームが識別されると、そのSREは、そのオートメーションツールのためのフォールバックとしてマッピングされる。
【0049】
これらの入力に基づいて、例示的な実施形態の探索的オーケストレーションコンピューティングツールは、ITインシデント修復ワークフローの探索的オーケストレーションを実行する。そのような探索的オーケストレーションをサポートするために、探索的オーケストレーションコンピューティングツールは、特別に構成されたNLPアルゴリズムを使用して、ITインシデント修復タスク及びこれらの修復タスクを実行するための必要なスキル間の相関を抽出してよい。例えば、ITインシデント及びこれらのITインシデントに対処するために使用される修復タスクの記述は、知識アーティクルの自然言語内容、例えば、SRE/SREチームレポート/ログ、ユーザフィードバック文書、ソーシャルネットワーキングポスト、及び上で論じられた様々な他の自然言語内容文書、及び同様のものから抽出されてよい。また、IT修復タスクを実行するために必要なスキルのインジケーションも、自然言語内容から抽出されてよい。例えば、ITインシデントに関して、文類似度マッチング等によって、ITインシデント及びそれらの対応する修復アクションのテキスト記述に対する、ITインシデント、ITインシデントのソース等のマッチングを実行することによって、知識データ構造体の自然言語内容から修復アクションが識別されると、修復アクション記述及びオートメーションツール記述間で、同様の文類似度尺度マッチングが使用されてよい。
【0050】
スキル、スキル間の関係、及びIT修復タスクとのスキル関連付けを指定するユーザ入力、及び/又は、スキル用語/語句のボキャブラリに基づいてスキルを識別等する、文書の自然言語内容から抽出されたデータに基づいて、スキル及びスキル間の関係も識別され得る。例えば、所与のスキルに関して、スキルカタログ又は知識アーティクル、又は自然言語内容の他の部分におけるそのスキルの記述は、そのスキルが他のスキルとともに使用される特定のタイプのスキルであることを指定してよい。例えば、第1のスキルに関して、記述は、それが「インストール」スキルに関するロールバックタイプのスキルであること、例えば、「Javaをアンインストールする」は「Javaをインストールする」スキルに関するロールバックスキルであることを示す「アンインストール」であってよい。
【0051】
他の例示的な実施形態において、文類似度尺度ベースの評価の全てと同様に、機械学習コンピュータモデルは、記述を取得し、その記述において記述されているスキル及び他のスキルとのそれらの関係、並びにそれらの分類を判定するように、機械学習プロセスを通して訓練されてよい。例えば、機械学習モデルは、例示的な入力として、「Javaをアンインストールする」というテキストを取得するように訓練されてよく、「ロールバック」の分類を出力してよく、又は、「Javaをインストールする」というテキストを取得するように訓練されてよく、「アクション」の分類を出力してよい。いくつかの例示的な実施形態において、機械学習コンピュータモデルは、固有表現に基づいて2つの記述、例えば、入力:[「Javaをインストールする」,「Javaをアンインストールする」]の類似度を計算するように訓練されてよく、その出力は、「固有表現合致=100%」であってよい。高(閾値を超える)固有表現合致であるため、「Javaをアンインストールする」が「Javaをインストールする」に関するロールバックスキルであることを示すように、この情報が一緒に組み合わせられる。スキル情報及びスキル間の関係は、例示的な実施形態のうちの1又は複数に従ってITインシデント修復タスクをオーケストレートする際に使用されるスキル関係グラフデータ構造体に記憶されてよい。
【0052】
したがって、スキル、及び予め定められたタイプの1つとしてのこれらのスキルの分類、例えば、アクション、モニタリング、ロールバック又はフォールバックは、NLP文書、知識アーティクル等の記述におけるスキル用語/語句の特定の文脈等の、NLP文書、知識アーティクル、スキルカタログ及び同様のものから抽出された情報に基づいて実行されてよい。文脈は、対応するスキル用語/語句が、特定のアクションの実行、モニタリングアクションの実行、実行された修正のロールバック、又はフォールバックアクション等の代替的なアクションの実行に言及しているか否かを示す、用語/語句、又は自然言語内容のパターンを含み得る。例えば、自然言語テキストは、ITインシデントのために特定のIT修復タスクが実行されたこと、及び、必要なスキルがストレージシステム再構成スキルであったこと、及びこのタスクが別のアクションの代替の一部として実行され、したがって、フォールバックIT修復タスクであることを指定してよい。
【0053】
いくつかの例示的な実施形態において、予め定義されたスキルのセット及びこれらのスキルの様々な属性を含むスキルカタログデータ構造体が指定されてよい。このスキル属性情報は、スキルの記述、スキルの実行のために必要な入力、及びスキルタイプ又は分類、例えば、アクション、モニタリング、ロールバック、又はフォールバックの記述を含んでよい。例えば、Javaをインストールするためのスキルは、{記述:Javaをインストールする;必要な入力:[オペレーティングシステム,Javaバージョン];スキルタイプ:アクション}等の属性情報を有してよい。
【0054】
ITインシデント及び修復タスク間の相関を使用して、ノードがITインシデント及びIT修復タスクを表し得、これらのノードがITインシデント及びIT修復タスク間の関係を表すエッジによってリンクされ得る知識グラフデータ構造体を生成してよい。IT修復タスクに対応するノードは、知識データ構造体から抽出された、IT修復タスクを実行するために必要な特定のスキル及びそれらの対応するスキルタイプを指定する特性を有してよい。これらのスキルは、文類似度マッチング、及び、次に、スキルカタログデータ又は同様のものとのこれらのスキル用語の相関とともに、自然言語処理を通したスキル用語抽出から判定されてよい。したがって、ノード及びエッジで構成される有向非巡回グラフ(DAC)又は他のグラフデータ構造体、又は、ITインシデント、IT修復タスク、及びこれらのIT修復タスクに関連付けられているスキル間の相関を指定する他のデータ構造体であり得る知識グラフが生成され、例示的な実施形態とともに使用され得る。データ構造体において表されるこの知識は、本明細書において知識データ構造体と称され、所望の実装に応じて様々なフォーマットを有し得る。
【0055】
知識データ構造体は、ITインフラストラクチャにおける、ITリソース、例えば、ソフトウェア、ハードウェア、及び/又はソフトウェア及びハードウェアの組み合わせ間の接続を指定するITトポロジデータ構造体と相関付けられてよい。すなわち、IT修復タスクは、以前に言及した各ITリソースに関する知識アーティクルに基づいて、IT修復タスクに関連付けられているか又はこれを実行するために必要なITリソースと相関付けられてよい。すなわち、知識アーティクルは、それらの対応するITリソースに関連付けられているITインシデント及びこれらのITインシデントに関して取られる修復アクションを示す。したがって、ITリソースを知識アーティクルからのITインシデント及び対応する修復アクションと相関付けることが可能である。IT修復タスク及びITリソース間の相関、及びそれらの依存関係、例えば、ITトポロジデータ構造体入力において指定されたようにどのITリソースが他のものに依存しているかに基づいて、IT修復タスクシーケンサが、生成され得るIT修復タスクの順序付けを判定してよい。
【0056】
例えば、ITインシデントが発生した場合、ITインシデントは、ITインフラストラクチャにおける1つよりも多いITリソースに影響することが多く、したがって、様々なITリソースが、ITインフラストラクチャのモニタリングシステムに送信されるアラートをトリガする。いくつかの例示的な実施形態において、IT修復タスクシーケンサは、モニタリングシステムから受信されたITアラートのストリームを検査し、これらのITアラートを、そこからアラートを受信したITリソースと相関付ける。ITトポロジにおいて指定されたITリソース間の依存関係に基づいて、上流から下流への順序付けからITアラートを順序付けするために、ITトポロジが参照される。次に、各ITアラートに関して、対応する知識アーティクルが取得され、知識アーティクルの自然言語処理を介して、知識アーティクルから修復タスクのシーケンスが抽出される。例えば、知識アーティクルが「エラーコード1223432に関して以下のステップが実行される必要がある:1)Javaを再インストールする;2)サーバをリスタートする」というステートメントを含むと仮定すると、修復タスクは、[「Javaを再インストールする」,及び「サーバをリスタートする」]である(これは単純な例であり、修復タスクのシーケンスは、いくつかの場合において、この単純な例におけるよりも多数のタスク及びタスクのより複雑な順序付けを含み得ることが理解されるべきである)。いくつかの場合において、修復タスクのこのシーケンスは、アプリオリ(a priori)にNLPを使用して抽出され、ITインシデントを知識アーティクルに基づく修復タスクのセットと関連付けるデータ構造体として記憶されてよく、次に、知識アーティクルが更新された場合に、例えば、知識アーティクルに対する更新が実行される度に、これが定期的に更新されてよく、修復タスクのシーケンスのNLP抽出が実行されてよいことが理解されるべきである。
【0057】
IT修復タスク、及びITインシデントに対処するためのIT修復タスクの順序付けに基づいて、IT修復タスク選択エンジンが、必要なIT修復タスクを実行するツール及び/又はSRE/SREチームを選択してよい。すなわち、IT修復タスク選択エンジンは、IT修復タスクを、このIT修復タスクを実行するために必要なスキルと相関付けてよい。これもまた、最も高いマッチングの相関を発見するために、IT修復タスクの記述及び属性/特性及びスキル記述及び属性/特性を伴うオートメーションツール及びSRE/SREチーム間の文類似度マッチングを伴い得る。必要なスキルに基づいて、オートメーションカタログデータ構造体のエントリにおいて指定されたスキルを用いて必要なスキルのルックアップを実行すること及び/又はオートメーションカタログデータ構造体におけるオートメーションツールの記述との文類似度マッチングを実行することによって、必要なスキルを提供する対応するオートメーションツールが識別され得る。すなわち、必要なスキルが、入力として提供されるオートメーションカタログにおいて指定された、これらの必要なスキルを提供するオートメーションツールと相関付けられる。スキルであって、そのスキルを必要とするIT修復タスクを実行するために利用可能な相関付けられたオートメーションツールが存在しないスキルに関して、スキルギャップが識別され得る。
【0058】
いくつかの例示的な実施形態において、ITインシデントをハンドリングするためのIT修復タスクのシーケンス中のIT修復タスクに関して、ITトポロジ、知識データ構造体、オートメーションツールカタログ、及びSREデータ入力から、フォールバックタスク、対応するスキル、フォールバックタスクのためのスキルを提供する自動化ツール、及び/又はフォールバックタスクのスキルを提供するSRE/SREチームが識別され得る。これらのフォールバックタスクは、ITインシデントをハンドリングするための代替的なシーケンスを生成し、それによって、ITインシデント修復の「探索的」オーケストレーションを実行するために使用され得る。これらの代替的なシーケンスは、ITインシデントをハンドリングするための一次シーケンスが、IT修復タスクのシーケンスの実行中に特定の時点で失敗した場合において使用されてよい。いくつかの例示的な実施形態において、一次シーケンスの実行前に、これらの代替的なシーケンスが生成されてもよいし、又は、一次シーケンスを実行した場合にIT修復タスクが失敗したとのインジケーションに応答して動的に生成されてもよい。
【0059】
IT修復タスク選択エンジンによって識別されたスキルギャップに関して、IT修復タスクが、一次IT修復タスクの代わりに実行され得る関連付けられたフォールバックIT修復タスクを有するか否かに関して第1の判定が行われてよい。一次IT修復タスクに関連付けられているフォールバックIT修復タスクが存在する場合、そのフォールバックタスクを実行するために必要なスキルを提供するオートメーションツールが利用可能であるか否かに関して更なる判定が行われてよい。すなわち、ここでも、フォールバックタスクのスキルを使用して、オートメーションツールカタログにおけるルックアップ操作を実行し、これらのスキルを提供する利用可能な既存のオートメーションツールが存在するかどうかを判定してよい。そうであれば、ITインシデントをハンドリングするためのIT修復タスクの、結果として得られるシーケンスにおいて、フォールバックタスクが利用されてよい。ここでも、これは、ITインシデントをハンドリングするためにIT修復タスクのシーケンスを実行するのにIT修復タスクの最適な組み合わせを発見することにより、ITインシデント修復の「探索的」オーケストレーションのタイプである。
【0060】
自動化ツールによって満たされるスキルを有するフォールバックIT修復タスクが利用可能でない場合、スキルギャップのスキルを提供するSRE/SREチームに関してSRE入力データにおけるルックアップを実行するための基礎として、関連付けられたスキルが使用される。SRE入力データにおけるエントリは、ITインシデント修復タスクの順序付け、又はシーケンスに従って割り当てられたITインシデント修復タスクの彼らによる実行を相関付けるためのSRE/SREチームに関する連絡先情報を含んでよい。したがって、ITインシデント修復タスクのシーケンスは、自動化ツールによって実行されるITインシデント修復タスク、SRE及び/又はSREチームの手動又は半手動の労力によって実行されるITインシデント修復タスク、又は自動化ツール及びSREが実行するITインシデント修復タスクの任意の好適な組み合わせ又は混合を含んでよい。したがって、いくつかの例示的な実施形態において、ITインシデント修復タスクの混合方法論シーケンスが生成されて、例示的な実施形態の自動化メカニズムによって管理されてよい。
【0061】
IT修復タスク選択エンジン及びIT修復タスクシーケンサは、上で論じられた様々な入力に基づいてIT修復タスクを順序付けるための意思決定を容易にする1又は複数の機械学習訓練されたコンピュータツールを使用してよい。これらの決定は、様々なオートメーションツールを用いて特定のIT修復タスクが正常に実行される確率の評価に基づき得るIT修復タスク選択を含んでよい。この評価は、タスクを実行するために利用可能な特定のオートメーションツール、そのタスクが容易にロールバックできるか否か、一次IT修復タスクのために利用可能なフォールバックIT修復タスクが存在するか否か、及び同様のものを含む様々な入力特徴を考慮してよい。さらに、これらの決定は、一次IT修復タスクのための各代替又はフォールバックIT修復タスクを評価して、様々な特徴に基づいて正常な完了の確率を生成してよい。これにより、確率は必ずしも最も高くないが、より最適なソリューション、又はより低リスクのソリューションを示す更なる特徴を有するIT修復タスクの選択が可能になる。
【0062】
ITインシデントに対処する操作を実行するための各代替策を、機械学習訓練されたコンピュータツールによって評価し、対応する操作を正常に実行するこれらの代替策に関して、入力特徴のパターン及び対応する確率/信頼度スコア、すなわち、そのIT修復タスクがITインシデントに対処するために適切であることを示す、ITインシデント記述に対するIT修復タスク記述の合致度を識別してよい。例えば、機械学習訓練されたコンピュータツールは、いくつかの例示的な実施形態において、IT修復タスク及びIT修復タスクが必要とする対応するスキルに関するスコアを生成してよく、これらのIT修復タスク及びスキルを、最小閾値スコア、それらのスキルがフォールバックスキルを有するか否か、それらのスキルが対応するロールバックスキルを有するか否か、及び同様のものに関して評価してよく、ITインシデントをハンドリングするようにIT修復タスクのシーケンスを生成するために、代替的なスキル、及び必要であれば代替的なスキルを有する代替的なIT修復タスクを判定してよい。「スキル」及び「タスク」は2つの別個の概念であり、タスクは、IT修復シーケンス中のステップのうちの1つであり、スキルは、文脈に応じて、オートメーションライブラリにおけるオートメーションの能力、又はサイト信頼性エンジニア(SRE)又は他の権限を有する人間の能力であることが理解されるべきである。本明細書において説明するように、所与のタスクに関して、オーケストレータが、機械学習訓練されたコンピュータモデルである自然言語処理分類器/意図分類器を使用すること等によってそのタスクを1又は複数のスキルに対してマッチングし、そのマッチングの強さを示すスコアインジケーションを提供する。いくつかの場合においては、ベストマッチスコアを有するスキルが選択され、他の場合においては、後で論じられるもの等の、他の基準の評価に基づいて、ベストマッチスコアを有し得ないスキルが選択され得る。
【0063】
例えば、スキルの以下の組み合わせを有する1又は複数のIT修復タスクを含む一次シーケンスが生成され得る:スキルA→スキルB(=0.98)→スキルC。スキルBがそれに関連付けられているロールバックスキルを有しない一方で、関連するIT修復タスクを実行するためのスコアが低い、例えば0.95であるが、最小閾値スコアよりは依然として高いスコアを有しながら、それに関連付けられているロールバックスキルを有する、スキルBに関するフォールバックスキル、すなわちスキルDが存在すると仮定する。そのような状況において、スキルDという代替策は、スキルBが有しないロールバック能力も提供しながら、IT修復タスクが正常に実行される十分な信頼度/確率を提供することから、関連するIT修復タスク又は代替的なIT修復タスクを実行するのにより良く適合している場合がある。機械学習訓練されたコンピュータツールは、代替策を評価し、IT修復タスクを実行するためのスキルとして、代替的なシーケンス、すなわち、スキルA→スキルD(score=0.95)→スキルCを選択してよく、ITインシデント修復タスクシーケンスを実行するための特定のオートメーションツール及び/又はSRE/SREチームを推奨するために使用されてよい。
【0064】
例示的な実施形態のオーケストレーションエンジンは、次に、ITインシデントをハンドリングするためのIT修復タスクの、結果として得られるシーケンスの実行をオーケストレートする。例えば、オーケストレーションエンジンは、そのために自動化ツールが存在するIT修復タスクを実行するために自動化ツールを呼び出して、自動化ツールがIT修復タスクを正常に完了したか否かを指定するメッセージのために、自動化ツール実行をモニタリングして、次に、失敗した場合は代替的なアクションを取るか、又は、シーケンス中の次のタスクを開始して、以前に実行されたタスクの結果を提供してよい。SRE/SREチームがこれから完了するタスクの場合において、タスクのSRE実行を開始するように、自動化通信が生成されて、SREデータにおいて指定されたSRE/SREチームに送信されてよい。また、オーケストレーションエンジンは、割り当てられたIT修復タスクを彼らが正常に完了したか否かを示すSRE/SREチームからの応答通信に関してモニタリングしてよい。正常に完了した場合、オーケストレーションエンジンは、次に、シーケンス中の次のタスクが有る場合にはこれを開始して、以前に実行されたタスクの結果を提供してよい。
【0065】
上で述べたように、シーケンスの1又は複数のタスクが正常に実行可能でない場合、例示的な実施形態のメカニズムは、以前のタスクによって行われた変更をロールバックするために、又は、フォールバックスキル及び対応するIT修復タスクに基づいて代替的なシーケンスを生成するために、実行するフォールバック又はロールバックタスクを検索してよい。ロールバック及び/又はフォールバックスキル及びIT修復タスクが存在しない場合においては、SRE/SREチームは、このIT修復タスクを実行することができないこと及び要求される手動による介入を自動的に通知され得る。IT修復タスクのシーケンスを正常に完了できない場合において、認可されたユーザが、ITインシデント及びそのITインシデントを修復するために正常に実行可能でないIT修復タスクを自動的に通知され得る。
【0066】
したがって、例示的な実施形態は、IT修復タスク実行の混合方法論で作成され得る、ITインシデント修復ワークフロー、又はIT修復タスクのシーケンス、の探索的オーケストレーションを実行するための自動化された改善されたコンピューティングツールを提供する。例示的な実施形態は、これらのITインシデント修復ワークフローの実行をオーケストレート、モニタリング、及び管理する、自動化された改善されたコンピューティングツールを提供する。したがって、例示的な実施形態は、ITインシデントを修復するために最適なソリューションを促進するために、自動化ツール及びSRE/SREチームの両方のスキル及び能力を活用することが可能であり、その結果、より効率的なワークフロー及びITインシデントに対するより効率的なソリューションがもたらされる。これにより、さらに、ITインフラストラクチャの運用及びITリソースの可用性が改善される。
【0067】
例示的な実施形態の探索的オーケストレーションコンピューティングツールのこれらの自動化された動作は、自動化された方式で特に実行されるものであり、自動化コンピューティングツール及び/又はSRE/SREチームを使用してITインシデントが解決される方法を改善することを特に対象としたものであることが理解されるべきである。本明細書で説明された例示的な実施形態の機能の全ては、人間の介在無しに自動化された処理を使用して実行されることが意図されている。人間は、例示的な実施形態の運用から利益を受け得るが、本発明の例示的な実施形態は、人間によって実行されるアクションを対象としたものではなく、むしろ、改善されたコンピューティングツールによって特に実行されるコンピュータロジック及び機能を対象としたものである。また、IT修復タスクの実行には、人間、例えば、SRE/SREチームが関与し得るが、例示的な実施形態は、SRE/SREチームによって実行される手動の労力を対象としたものではなく、ITインシデント、IT修復タスク、自動化ツール、及びSRE/SREチーム、並びにそれらの対応するスキルのAI/機械学習ベースの評価に基づいて、IT修復タスクのシーケンス、又はワークフロー、を生成し、次に、ITインシデントに対処するようにこれらのIT修復タスクの実行を自動的に開始及びオーケストレートもするための動作を実行する、自動化コンピューティングツールのメカニズムを対象としたものである。
【0068】
すなわち、例示的な実施形態のメカニズムによって推奨又は開始される修復操作が、修復操作のいくつかの必要なタスクを実行するために何らかの人間の介在を伴い得るが、本発明それ自体は、修復操作の特定のタスクを判定して推奨を提供し、いくつかの場合において、修復操作を実行するために必要な要素との通信を含む、修復操作の実行を開始する、改善されたコンピューティングツール及びコンピューティングツール運用を対象としたものである。したがって、例示的な実施形態は、任意の人間の活動を編成するものではなく、一般的なコンピューティングシステムに精神的プロセスを単に実装等するものではなく、事実、人間が例示的な実施形態のメカニズムによって生成された結果を使用し得るが、改善されたコンピューティングツールの改善及び自動化されたコンピュータロジック及び改善されたコンピュータ機能を対象としたものである。
【0069】
図1は、1つの例示的な実施形態による情報技術(IT)インシデント修復ワークフローのための探索的オーケストレーションコンピューティングツールの一次的な動作コンポーネントを示す例示的なブロック図である。
図1に示されている要素は、ブロックとして示されているが、実際は、ITインシデント修復ワークフローのための探索的オーケストレーションツールの一部であるコンピューティングコンポーネントである。これらのコンポーネントは、本明細書におけるこれらのコンポーネントに起因する動作を実行及び円滑化する論理的及び/又はコンピュータハードウェアを含み得る。また、本明細書では一次的な動作コンポーネントが説明されているが、実際の実装は、オペレーティングシステム、ライブラリ、通信インタフェース、ストレージ要素、ネットワーキング要素、アプリケーションプログラミングインタフェース、様々なデータ構造体、及び同様のもの等の、一次的な動作コンポーネントの動作を円滑化する追加のコンポーネントを含み得ることが理解されるべきである。さらに、様々なコンポーネントが
図1において別個に示されているが、本発明の趣旨及び範囲から逸脱することなく、様々なコンポーネント、又はコンポーネントのサブセットが組み合わされてよいことが理解されるべきである。
【0070】
図1に示されているように、以下略して探索的オーケストレーションツール100と称される、ITインシデント修復ワークフローのための探索的オーケストレーションツール100は、ITトポロジインジェスチョンエンジン110、知識文書化インジェスチョンエンジン112、オートメーションカタログインタフェース114、SREデータベースインタフェース116、スキルカタログインタフェース118、自然言語処理(NLP)及び類似度解析エンジン120、ITトポロジ及びITインシデント/修復タスク相関エンジン122、及びオートメーションツール相関エンジン124、SRE相関エンジン126、関係グラフ生成エンジン128、ITインシデント修復ワークフロー生成エンジン130、及びIT修復タスク実行調整エンジン140を備える。これらの要素は、様々な入力データ構造体と併せて動作してよく、データ構造体、電子又はデータ通信、及び同様のものを生成してよい。これらの入力/出力データ構造体は、1又は複数の有線/無線データネットワークに結合されたデータ通信経路を提供し得るデータ通信インタフェース150を介して、様々な他のコンピューティングデバイスから取得され及び/又はそれらに送信されてよい。例えば、1又は複数のデータネットワーク(図示せず)を介して1又は複数のコンピューティングデバイス(図示せず)から受信され得る入力データ構造体は、ITトポロジデータ構造体160、ITイベント又はインシデントのストリーム162、知識コーパス164、オートメーションカタログデータベース166、SREデータベース168、及びスキルカタログデータベース169を含んでよい。これらの入力データ160~169は、個別のデータ構造体又はデータベースとして示されているが、それらはそれぞれ、このデータのソースとして機能する異なるコンピューティングシステム/デバイスに関連付けられ得る、複数のデータ構造体、データベース、又は同様のもので作成されてもよいことが理解されるべきである。これらの入力データ160~169が、探索的オーケストレーションツール100の外部にあるものとして示されているが、これらのデータ構造体及びデータベースは、探索的オーケストレーションツール100の、又は探索的オーケストレーションツール100が別様にアクセス可能な、ストレージ及び/又はメモリに記憶されてよいことも理解されるべきである。例示的な実施形態によって生成され得る出力の例は、1又は複数の関係グラフデータ構造体170、コンピューティングデバイス172への電子通信、ダッシュボード出力174、及び同様のものを含む。
【0071】
様々なインジェスチョンエンジン及びインタフェース110~118は、様々な入力データのアクセス、及び、探索的オーケストレーションツール100の他のメカニズムによって使用されるこの入力データのインメモリ表現の生成を円滑化する、データ通信インタフェース及びロジックを提供する。NLP及び類似度解析エンジン120は、入力された自然言語内容をパースする、特別に構成された自然言語処理(NLP)ロジックを提供し、それに関してNLPロジックが構成されている用語/語句又は内容のパターンを識別し、これらの用語/語句又は内容のパターンの文脈を評価して、NLPロジック及び類似度解析エンジン120を利用するエンジンの動作に関係する情報を抽出する。例えば、NLPロジックは、ITインシデント、IT修復タスク及びアクション、IT修復タスクが必要とするスキルを示す特徴を提供する文脈上の用語/語句、IT修復タスクのタイプ又は分類、及び同様のものに固有の用語/語句のボキャブラリとともに構成されてよい。NLP及び類似度解析エンジン120の類似度解析ロジックは、相関の目的でテキストの部分間の類似度を判定してよい。様々なエンジン122~140は、これらのエンジン122~140によって実行される動作を円滑化及びサポートするように、様々なタイプのNLP及び類似度解析操作を実行するために、NLP及び類似度解析エンジン120を呼び出してよい。
【0072】
ITトポロジ及びITインシデント/修復タスク相関エンジン122は、ITインシデントに対処するためにITインシデントをITトポロジ及びIT修復タスクと相関付けるように動作し、IT修復タスクに関連付けられている必要なスキルを識別する、1又は複数の人工知能/機械学習コンピュータモデルを含み得るロジックを提供する。オートメーションツール相関エンジン124は、IT修復タスクのための必要なスキルをオートメーションツールに関連付けられているスキルと相関付ける。SRE相関エンジン126は、IT修復タスクのための必要なスキルをSRE及び/又はSREチームに関連付けられているスキルと相関付けるロジックを提供する。
【0073】
様々な相関が、IT修復タスク記述、オートメーションツール記述、及びSREデータ間の文類似度等の、NLP及び類似度解析を使用して、これらのうちのいずれが十分な程度まで、例えば、所定の閾値に等しいか又はそれよりも大きい類似度尺度を有するまで、互いに関係しているかを示してよいことが理解されるべきである。また、類似度解析の実行において、NLPメカニズムは、NLPロジックがそれとともに構成されているボキャブラリに対応するキー用語/語句を抽出し、その抽出されたキー用語/語句に基づいて、自然言語内容をベクトル表現に変換するように動作してよい。例えば、ボキャブラリは、他の用語/語句の中でも、IT修復タスクを実行するために必要な特定のスキル、特定のオートメーションツールが提供するスキル、及び特定のSRE/SREチームが提供するスキルを示す、スキル用語/語句を含んでよい。類似度解析は、次に、ベクトル類似度解析を実行して距離尺度を生成してよく、この距離尺度を所定の閾値とともに使用して、テキストのどの部分がマッチングを示すように十分に相関付けられるかを判定することができる。これは、相関付けられたIT修復タスク、オートメーションツール、及びSREデータを識別するための単なる1つの例であり、本明細書を検討すれば当業者には容易に明らかになるように、本発明の趣旨及び範囲から逸脱することなく、他のものが使用されてもよい。
【0074】
関係グラフデータ構造体生成エンジン128は、オートメーションツール及びSRE/SREチームによって提供されるスキル間の関係及び依存関係、例えば、どのオートメーションツール及びSRE/SREチームが、アクション、モニタリング、他のスキルのためのフォールバック及び/又はロールバックスキルを提供するかのデータ表現を提供する1又は複数の関係グラフデータ構造体170を生成する。いくつかの場合において、異なるスキルに関して別個の関係グラフデータ構造体170が存在してよい。それらの関係グラフデータ構造体170は、IT修復タスクワークフローのIT修復タスクを実行するためにどのオートメーションツール及び/又はSRE/SREチームを使用するかに関して判定を行う場合に、エンジン122~140のうちの1又は複数の人工知能/機械学習(AI/ML)ロジック/コンピュータモデルによって使用されてよい。例えば、判定の後で、ITインシデント、IT修復タスクワークフロー及び各IT修復タスクのためのスキルに基づいて、オートメーションツール相関エンジン124及びSRE相関エンジン126は、特定のオートメーションツール及びSRE/SREチームを識別して、ワークフロー(シーケンス)におけるIT修復タスクのそれぞれに割り当ててよい。
【0075】
ITインシデント修復ワークフロー生成エンジン130は、ITインシデントに対処するために実行されることになるITインシデント修復ワークフローを生成する。このITインシデント修復ワークフローは、IT修復タスクのシーケンス、及び、ITインシデント修復タスクを実行する対応するオートメーションツール及び/又はSRE/SREチームを含む。ITインシデント修復ワークフローの生成は、シーケンス中のスキルギャップを識別すること、及び、ITインシデント修復ワークフローが混合方法論ワークフローであり得るように、オートメーションツールが満たさないスキルギャップが存在する場合等に、ITインシデント修復タスクの自動化ツール及びSRE/SREチームによる実行のシーケンスを調整することを含んでよい。
【0076】
ITインシデント修復ワークフロー生成エンジン130は、ワークフローを生成して、それをIT修復タスク実行調整エンジン140に提供し、これは、IT修復タスクのシーケンスに従ったIT修復タスクの自動化ツールによる実行を開始し、IT修復タスクが正常に完了されるのを待機してから、従属IT修復タスクに進むように動作する。さらに、SRE/SREチームによってハンドリングされることになるIT修復タスクに関して、IT修復タスク実行調整エンジン140は、電子通信172を自動的に生成して、これらのSRE/SREチームに関連付けられている適切な通信チャネルに送信して、対応するIT修復タスクの彼らによる実行を促進し得る。IT修復タスク実行調整エンジン140は、IT修復タスクの完了の成功又は失敗をモニタリングするとともに、そのようなタスクが正常に完了したか否かに基づいて応答アクションを実行するためのロジックをさらに提供する。例えば、正常に完了した場合において、エンジン140は、ワークフローにおいて規定されているシーケンス中の次のIT修復タスクに進み、実行を開始して/IT修復タスクの実行を促進するように通信を送信してよい。これは、正常に実行されたワークフローにおける以前のIT修復タスクの結果を表すデータの送信を伴ってよい。IT修復タスクの完了が失敗した場合において、エンジン140は、ITインシデント修復ワークフロー生成エンジン130のロジックを呼び出して、代替、フォールバック、又はさらにはロールバックIT修復タスク及び対応するスキルを識別して、IT修復タスクの完了失敗をハンドリングしてよく、必要であれば、電子通信172を介して適切な人員に通知してよい。
【0077】
探索的オーケストレーションツール100は、ITインシデントの受信からITインシデント修復ワークフローの生成まで、ITインシデント修復ワークフローの実行までの、ITインシデントのハンドリングのプロセス中に出力を提供してよい。これらの出力は、ITインシデントの修復のステータス、どのIT修復タスクが実行されているか、どのオートメーションツールがこれらのIT修復タスクを実行しているか、どのSRE/SREチームがIT修復タスクを実行しているか、これらのタスクの完了のステータス、どのスキルがIT修復タスクの実行に関与しているか、及び同様のものを、認可された人員に示す、1又は複数のダッシュボード174を含んでよい。
【0078】
図1に示されているように、ITインフラストラクチャモニタリングシステムからの、様々な入力データ構造体/データベース160~169及びITイベント、例えば、アラートに対するアクセスが、データ通信インタフェース150及び1又は複数のデータネットワーク180を通して得られてよい。したがって、入力160~169は、データネットワーク180に結合された、様々なコンピューティングデバイス、コンピューティングシステム、及び同様のものに提供されてよい。同様に、探索的オーケストレーションツール100によって生成された出力、例えば、電子通信172、ダッシュボード174、及び関係グラフ170の出力が、データネットワーク180を介して、他のコンピューティングデバイス/システムに同様に提供されてよい。
【0079】
探索的オーケストレーションツール100の様々なコンポーネントを説明したので、以下に、ITインフラストラクチャ(図示せず)の1又は複数のモニタリングされたコンピューティングシステム(図示せず)からのITインシデントの受信に応答した、探索的オーケストレーションツール100の動作の一例を提供する。ITインシデントは、異常な動作、障害、及び同様のものに関してITインフラストラクチャの様々なITリソースをモニタリングする、例えば、モニタリングソフトウェア、エージェント、及び同様のものによって生成された1又は複数のアラートを含んでよい。そのような異常な動作、障害、及び同様のものが検出された場合、修復のために、対応するアラートが生成されて、送信され/ログに記録される。単一のITインシデントが、複数のITリソースに影響し得、したがって、そのITインシデントに関連付けられた複数の異なるアラートを有してよい。
【0080】
1又は複数のアラートを有するITインシデント、又はITイベントが、データネットワーク180及び通信インタフェース150を介して入力データのストリーム162として受信される。ITインシデントが受信されたことに応答して、ITトポロジ及びITインシデント修復タスク相関エンジン122は、ITトポロジデータ160及び知識コーパス164から、ITインフラストラクチャにおける影響を受けたITリソースを識別する。例えば、ITイベント/アラートは、ITイベント/アラートのメタデータ等において、ITイベント/アラートのソース、及び、どの異常な条件又は障害がITイベント/アラートを生成させたかを指定する。ITトポロジ及びITインシデント修復タスク相関エンジン122がNLP及び類似度解析エンジン120を呼び出すこと等によって、この情報がパース及び抽出されてよく、そのITインシデントに関連付けられているITリソースを識別するために、ITトポロジデータ160からのITトポロジ情報と相関付けられてよい。例えば、ITイベント/アラートが特定のITリソースを指定してよいが、ITイベント/アラート自体において特に識別されないが、このITイベント/アラートによって同様に影響を受ける関係するITリソース、例えば、従属又は下流ITリソースが存在し得る。これらの追加のITリソースは、ITイベント/アラートをトポロジデータ160における対応するITリソースと相関付けるとともに、トポロジデータ160のヒエラルキーから、影響を受け得る他のITリソースを識別することによって、識別されてよい。
【0081】
ITトポロジ及びITインシデント修復タスク相関エンジン122によって、影響を受けたITリソースの識別を使用して、知識コーパス164から知識データ構造体を取得する。いくつかの例示的な実施形態において、知識コーパス164は、異なるITリソース又はITリソースタイプに関連付けられている知識アーティクルを含む。知識アーティクルは、サイト信頼性エンジニア(SRE)ログ/レポート、ソーシャルネットワーキングソース、業界新聞、又は、ITインシデント修復をターゲットとし得る自然言語内容の任意の他のソースを含む様々なソースからの自然言語文書のNLPパース及び処理から生成されてよい。知識アーティクルは、ITインシデント、ITイベント/アラート、及び、これらのITインシデント及び/又はITイベント/アラートに対処するための修復タスクを相関付ける。すなわち、いくつかの例示的な実施形態において、知識アーティクルは、ITアプリケーション関連問題及び対応する修復アクションを指定するセクションを有してよい。したがって、影響を受けたITリソースに関する知識アーティクルを取得することによって、ITトポロジ及びITインシデント修復タスク相関エンジン122が、そのITリソースに関連付けられているITインシデント及びITイベント/アラートに対処するための、その中に文書化されている修復タスクを発見可能である。
【0082】
取得された各知識アーティクルに関して、ITトポロジ及びITインシデント修復タスク相関エンジン122は、ITインシデント及び/又はITイベント/アラート、及び対応する修復タスクのメンションについて知識アーティクルを検索する。この検索は、NLP及び類似度解析エンジン120を呼び出して、知識アーティクルをパースし、ITインシデント及び/又はITイベント/アラート内容及び知識アーティクルの内容間の類似度を求めることを伴ってよい。上で述べたように、これは、自然言語内容のベクトル化表現を用いて文類似度解析を、及び、マッチングを識別するために十分な類似度を判定するための1又は複数の所定の閾値を用いて距離又は類似度スコアリングベースの評価を実行することを伴ってよい。いくつかの場合において、知識アーティクルは、ITインシデント、修復アクション、及び同様のものを示すメタデータ内容を指定するタグ及び値を有し得るメタデータを含んでよく、これが、そのようなITインシデント及び修復アクションの特徴を抽出するためにパース及び処理されてもよい。類似度解析の場合において、ITトポロジ及びITインシデント修復タスク相関エンジン122は、ITインシデント及び/又はITイベント/アラート記述又は自然言語内容に対して少なくとも所定の閾値の類似度レベルを有する知識アーティクルからのインスタンスを識別し、これらの部分を、類似度レベルに基づいてランク付けしてよい。次に、IT修復タスクを指定する最高ランキング部分が、ITインシデントに対処するために実行する1又は複数のIT修復タスクのシーケンスの生成において使用されるように選択されてよい。
【0083】
したがって、ITトポロジ及びITインシデント修復タスク相関エンジン122は、ITインシデントに対処するための1又は複数のIT修復タスクのシーケンスを識別し、これは、IT修復タスクワークフローを生成するための基礎として機能する。IT修復タスクは、ITトポロジ160のヒエラルキー、すなわち、どのITリソースが他のITリソースの影響を受けるかに基づく順序付けに従って、さらにシーケンス化されてよい。識別されたIT修復タスクは、次に、IT修復タスクを実行するために必要とされるスキルに関連付けられる。いくつかの例示的な実施形態において、既知のIT修復タスクを対応するスキルに、及びこれらのスキルを特定のスキルタイプに、例えば、アクション、モニタリング、ロールバック、又はフォールバックスキルにマッピングするマッピングデータ構造体が提供されてよい。他の例示的な実施形態において、複数の予め定義されたスキルのそれぞれに関するエントリを有するスキルカタログデータベース169が提供されてよく、各エントリは、スキルの自然言語記述をさらに提供する。上と同様に、エンジン120によるNLP及び類似度解析が実行されて、スキルカタログデータベース169におけるスキルの記述、及び、上の処理を通して識別された、ITインシデントに対応する様々なITリソースに関する知識アーティクルから抽出されたIT修復タスクの記述間の文類似度を判定してよい。いくつかの例示的な実施形態において、そのような類似度解析を通してIT修復タスク及びスキル間の相関が作成されると、ITインシデントに対処するためにこのIT修復タスクが識別される度に類似度解析を実行する必要があるのではなく、マッピングデータ構造体に対してルックアップ操作が使用され得るように、この相関がマッピングデータ構造体に記憶されてよい。したがって、ルックアップ操作を通して、スキルに対するIT修復タスクのマッピングがマッピングデータ構造体に存在しない場合、類似度解析を使用してスキルを識別し、次にマッピングデータ構造体における新規エントリを生成してよい。
【0084】
インジェストされたオートメーションカタログ166及びSREデータベース168においてオートメーションツール及びSRE/SREチームに関するスキル情報を記憶するために、オートメーションツール及びSRE/SREチームに対するスキルの同様のマッピングが、使用されてよい。すなわち、いくつかの場合において、オートメーションツールがこれらのオートメーションツールによって提供されるスキルに合致し、SRE/SREチームがSRE/SREチームによって提供されるスキルに合致するように、スキルに対するオートメーションツール及びスキルに対するSRE/SREチームのマッピングが、ユーザ入力を通して提供され、及び/又は、類似度解析を通して判定されてよい。いくつかの例示的な実施形態において、予め定義されたスキルの記述及びオートメーションツール及びSRE/SREチームの記述に基づいて、類似度解析が実行されてよい。オートメーションツールに関して、オートメーションカタログ166において提供されるアプリケーション仕様、及び同様のものが、オートメーションツールのテキスト記述を提供し、これに対して、スキルカタログ169におけるスキル記述との文類似度評価が実行されて、オートメーションツールのそれに対する少なくとも予め定められたレベルの記述の類似度を有するスキルを識別してよい。SRE/SREチームに関して、SREデータ168は、背景情報、SRE/SREチームが保持する資格についての情報、SRE/SREチームが正常に対処した以前のITインシデント、及び同様のものを含んでよい。この情報は、自然言語フォーマットで提供されてよく、上で説明ものと同様の文類似度解析を用いてスキルカタログ169におけるスキルに対してマッチングされてよい。
【0085】
上で説明された類似度解析は、比較される指定された自然言語内容の入力特徴間の特定の類似度解析を実行するように訓練された1又は複数の機械の学習訓練されたコンピュータモデルを使用して実行されてよいことが理解されるべきである。したがって、第1の機械学習コンピュータモデルが、IT修復タスク記述及びスキル記述間の類似度解析を実行するように訓練されてよく、第2の機械学習コンピュータモデルが、オートメーションツール記述及びスキル記述間の類似度解析を実行するように訓練されてよく、第3の機械学習コンピュータモデルが、SRE/SREチーム記述及びスキル記述間の類似度解析を実行するように訓練されてよい、等である。これらの機械学習コンピュータモデルは、様々なエンジン122~126において実装されてよい。スキルがオートメーションツール及び/又はSRE/SREチームに関連付けられると、オートメーションカタログ166及びSREデータベース168におけるそれらのエントリが、予め定義されたスキルとのマッピングを指定するように更新されてよい。
【0086】
IT修復タスク、オートメーションツール、及びSRE/SREチームとのスキルの関連付けに基づいて、オートメーションツール及びSRE/SREチームとのIT修復タスクの相関付けが可能になり得る。これらの相関は、IT修復タスクを実施するための候補を識別し、ここで、これらの候補は、オートメーションツール、SRE/SREチーム、又は両方の組み合わせを含んでよく、又はいくつかの場合において、IT修復タスクを実行するために必要なスキルを提供するオートメーションツール又はSRE/SREチームが存在しない場合にはいずれも含まなくてよい。したがって、ITインシデントをハンドリングするための知識アーティクルから識別された各IT修復タスクに関して、IT修復タスクのために必要なスキルが識別され、次に、これらのスキルが、オートメーションツールカタログデータ166において指定されたオートメーションツールによって提供されるスキルに対してマッチングされる。
【0087】
スキルのマッチングに基づくオートメーションツールに対するIT修復タスクのマッチングにおいて、アクションスキル、それらの関係付けられたモニタリングスキル、それらの関係付けられたロールバックスキル、及びそれらの関係付けられたフォールバックスキル等の、スキルのヒエラルキー及び依存関係を識別するために、関係グラフ生成エンジン128によって関係グラフ170が生成されてよい。IT修復タスクの実行のためのオートメーションツール及びSRE/SREチームを選択する場合に、スキルのこのヒエラルキー及び依存関係が利用されてよい。例えば、スキルのマッチングに加えて、候補オートメーションツールが、ロールバックスキルを有するスキルを提供するか否か等の他の特性を使用して、オートメーションツール及び/又はSRE/SREチーム間で選択してもよい。
【0088】
ITインシデント修復ワークフロー生成エンジン130によって1又は複数のITインシデント修復ワークフローを定めるために、エンジン122~126の運用を通して識別された候補オートメーションツール及び候補SRE/SREチームとともに関係グラフデータ構造体170が使用される。ITトポロジ160に従ってITインシデント修復タスクを順序付ける、一次ITインシデント修復ワークフローが生成されてよく、各ITインシデント修復タスクは、以前に上で説明されたようなスキルマッチングに基づく、関連付けられた候補の自動化ツール及び/又はSRE/SREチームを有する。ITインシデント修復ワークフロー生成エンジン130は、ITインシデント修復タスクの実行に割り当てる自動化ツール及び/又はSRE/SREチームを識別するために、ITインシデント修復タスクのそれぞれに関する候補のそれぞれを評価する、1又は複数の機械学習訓練されたコンピュータモデルを含んでよい。この評価は、その候補がそれらに関連付けられているフォールバック又はロールバックスキルを有するか否か等、候補の様々な特性/特徴を考慮してよい。
【0089】
ITインシデント修復ワークフロー生成の一部として、スキルギャップが識別されてよい。スキルギャップとは、以前に上で述べたように、IT修復タスクを実行するために要求されるスキルを提供する自動化ツールが存在しないというものである。これらのスキルギャップに関して、代替の候補、例えば、フォールバックスキル及びこれらのフォールバックスキルを提供する自動化ツールが評価される。IT修復タスクに関して、フォールバックスキル及び/又はこれらのフォールバックスキルを提供する自動化ツールが識別されない場合、IT修復タスクに割り当てるために、その一次スキル及び/又はフォールバックスキルを提供するSRE/SREチームが選択されてよい。スキルカタログ169におけるスキル間の関係を識別する関係グラフ生成エンジン128によって生成された関係グラフデータ構造体170を検討することによって、フォールバックスキル、ロールバックスキル、モニタリングスキル、及び同様のものの識別が可能になり得る。
【0090】
したがって、スキルギャップに関して、ITインシデント修復ワークフロー生成エンジン130は、IT修復タスクが、一次IT修復タスクの代わりに実行され得る関連付けられたフォールバックIT修復タスクを有するか否かに関して第1の判定を行う。一次IT修復タスクに関連付けられているフォールバックIT修復タスクが存在する場合、そのフォールバックタスクを実行するために必要なスキルを提供するオートメーションツールが利用可能であるか否かに関して更なる判定が行われてよい。すなわち、ここでも、フォールバックタスクのスキルを使用して、オートメーションツールカタログ166におけるルックアップ操作又はマッチングを実行し、これらのスキルを提供する利用可能な既存のオートメーションツールが存在するかどうかを判定してよい。そうであれば、ITインシデントをハンドリングするためのIT修復タスクの、結果として得られるシーケンスにおいて、フォールバックタスクが利用されてよい。自動化ツールによって満たされるスキルを有するフォールバックIT修復タスクが利用可能でない場合、スキルギャップのスキルを提供するSRE/SREチームに関してSREデータベース168におけるルックアップ又はマッチングを実行するための基礎として、関連付けられたスキルが使用される。
【0091】
SREデータベース166におけるエントリは、ITインシデント修復タスクの順序付け、又はシーケンスに従って割り当てられたITインシデント修復タスクの彼らによる実行を相関付けるためのSRE/SREチームに関する連絡先情報を含んでよい。したがって、ITインシデント修復タスクのシーケンスは、自動化ツールによって実行されるITインシデント修復タスク、SRE及び/又はSREチームの手動又は半手動の労力によって実行されるITインシデント修復タスク、又は自動化ツール及びSREが実行するITインシデント修復タスクの任意の好適な組み合わせ又は混合を含んでよい。したがって、いくつかの例示的な実施形態において、ITインシデント修復タスクの混合方法論シーケンスが生成されて、例示的な実施形態の自動化メカニズムによって管理されてよい。
【0092】
ITインシデント修復ワークフロー生成エンジン130は、上で論じられた様々な入力に基づいてIT修復タスクを順序付けるための意思決定を容易にする1又は複数の機械学習訓練されたコンピュータモデルを使用してよい。これらの決定は、様々なオートメーションツールを用いて特定のIT修復タスクが正常に実行される確率の評価に基づき得るIT修復タスク選択を含んでよい。この評価は、タスクを実行するために利用可能な特定のオートメーションツール、そのタスクが容易にロールバックできるか否か、一次IT修復タスクのために利用可能なフォールバックIT修復タスクが存在するか否か、及び同様のものを含む様々な入力特徴を考慮してよい。さらに、これらの決定は、一次IT修復タスクのための各代替又はフォールバックIT修復タスクを評価して、様々な特徴に基づいて正常な完了の確率を生成してよい。これにより、確率は必ずしも最も高くないが、より最適なソリューション、又はより低リスクのソリューションを示す更なる特徴を有するIT修復タスクの選択が可能になる。
【0093】
ITインシデントに対処する操作を実行するための各代替策を、機械学習訓練されたコンピュータツールによって評価し、対応する操作を正常に実行するこれらの代替策に関して、入力特徴のパターン及び対応する確率/信頼度スコア、すなわち、そのIT修復タスクがITインシデントに対処するために適切であることを示す、ITインシデント記述に対するIT修復タスク記述の合致度を識別してよい。例えば、機械学習訓練されたコンピュータツールは、いくつかの例示的な実施形態において、IT修復タスク及びIT修復タスクが必要とする対応するスキルに関するスコアを生成してよく、これらのIT修復タスク及びスキルを、最小閾値スコア、それらのスキルがフォールバックスキルを有するか否か、それらのスキルが対応するロールバックスキルを有するか否か、及び同様のものに関して評価してよく、代替的なスキル、及び、必要であれば、ITインシデントをハンドリングするためにIT修復タスクのシーケンスを生成するための、代替的なスキルを有する代替的なIT修復タスクを判定してよい。上で論じられた、一次シーケンスであるスキルA→スキルB(スコア=0.98)→スキルC、及び、代替的なシーケンスであるスキルA→スキルD(score=0.95)→スキルCの例を、再度参照されたい。
【0094】
IT修復タスク及びそれらの対応するオートメーションツール及び/又はSRE/SREチームのシーケンスが生成されてITインシデント修復ワークフローを定義すると、このワークフローは、エンジン130によって、ITインシデントをハンドリングするためのIT修復タスクの、結果として得られるシーケンスの実行をオーケストレートするIT修復タスク実行調整エンジン140に提供される。例えば、エンジン140は、そのために自動化ツールが存在するIT修復タスクを実行するために自動化ツールを呼び出して、自動化ツールがIT修復タスクを正常に完了したか否かを指定するメッセージのために、自動化ツール実行をモニタリングして、次に、失敗した場合は代替的なアクションを取るか、又は、シーケンス中の次のタスクを開始して、以前に実行されたタスクの結果を提供してよい。SRE/SREチームがこれから完了するタスクの場合において、タスクのSRE実行を開始するように、自動化通信172が生成されて、SREデータにおいて指定されたSRE/SREチームに送信されてよい。また、エンジン140は、割り当てられたIT修復タスクを彼らが正常に完了したか否かを示すSRE/SREチームからの応答通信に関してモニタリングしてよい。正常に完了した場合、エンジン140は、次に、シーケンス中の次のタスクが有る場合にはこれを開始して、以前に実行されたタスクの結果を提供してよい。
【0095】
上で述べたように、シーケンスの1又は複数のタスクが正常に実行可能でない場合、エンジン140は、以前のタスクによって行われた変更をロールバックするために、又は、フォールバックスキル及び対応するIT修復タスクに基づいて代替的なシーケンスを生成するために、実行するフォールバック又はロールバックタスクを検索してよい。この判定は、エンジン140に、実行に失敗したIT修復タスクに対する代替策及び関係グラフ170において指定されたスキルの関連付けを検索するように、エンジン130の動作を呼び出してよい。ロールバック及び/又はフォールバックスキル及びIT修復タスクが存在しない場合においては、SRE/SREチームは、このIT修復タスクを実行することができないこと及び要求される手動による介入を自動的に通知され得る。IT修復タスクのシーケンスを正常に完了できない場合において、認可されたユーザが、ITインシデント及びそのITインシデントを修復するために正常に実行可能でないIT修復タスクを自動的に通知され得る。
【0096】
図2は、1つの例示的な実施形態によるITインシデント修復タスクワークフロー探索のための処理を示すフロー図である。
図2に示されているフローは、
図1に関して上で説明したものと同様である。
図2に示されているように、ITトポロジ160及びITイベント/アラートのストリームは、IT問題(ITインシデントのITイベント/アラート)が修正されることになる順序を判定する(210)ための基礎として使用される。この判定の結果を知識コーパス164の知識アーティクルとともに使用して、各問題のための修復ステップ、すなわち、修復タスクを識別する(212)。修復ステップの識別の結果をオートメーションカタログ166内の情報とともに使用して、修復ステップの順序付けられたシーケンスを含む実行プラン、又はIT修復タスクワークフロー、及び修復ステップを実行するための対応する自動化ツールを識別する(214)。これらの動作は、IT修復ステップが必要とするスキル及びオートメーションツールによって提供されるスキルをマッチングするために、以前に説明されたマッピング、類似度解析、及び同様のものの使用を伴うことが理解されるべきである。
【0097】
オートメーションツールカタログ166は、オートメーションのタイプ、例えば、アクション/ロールバック/フォールバック/モニタリング等を判定し(216)、どのオートメーションが各アクションスキルに関するフォールバック/ロールバックであるかを判定する(218)ための基礎としても使用される。SREデータ168は、どのSRE/SREチームが各オートメーションツールのためのフォールバックとして機能し得るかを判定する(220)ための基礎として使用される。これらの判定の結果は、スキル及びオートメーションツール及びSRE/SREチーム間の関係を識別する1又は複数の関係グラフデータ構造体230を生成するために使用される。関係グラフデータ構造体230を実行プラン214とともに使用して、対応する自動化ツールを呼び出すとともにSRE/SREチームと通信して、IT修復タスクを実行し且つITインフラストラクチャ250のITリソースに対するそれらによる実行をモニタリングすることにより、プランをオーケストレートする(240)。
【0098】
したがって、例示的な実施形態は、IT修復タスク実行の混合方法論で作成され得る、ITインシデント修復ワークフロー、又はIT修復タスクのシーケンス、の探索的オーケストレーションを実行するための自動化された改善されたコンピューティングツールを提供する。例示的な実施形態は、これらのITインシデント修復ワークフローの実行をオーケストレート、モニタリング、及び管理する、自動化された改善されたコンピューティングツールを提供する。したがって、例示的な実施形態は、ITインシデントを修復するために最適なソリューションを促進するために、自動化ツール及びSRE/SREチームの両方のスキル及び能力を活用することが可能であり、その結果、より効率的なワークフロー及びITインシデントに対するより効率的なソリューションがもたらされる。これにより、さらに、ITインフラストラクチャの運用及びITリソースの可用性が改善される。
【0099】
図3は、1つの例示的な実施形態によるITインシデント修復タスクワークフロー探索を実行するための例示的な動作を概説するフローチャートである。
図3において概説した動作は、例えば、例えば
図1におけるITインシデント修復ワークフローのための探索的オーケストレーションツール100によって、実行されてよい。フローチャートは、指定された順序で実行されている動作を示しているが、例示的な実施形態は、そのようなものに限定されるものではなく、動作は、本発明の趣旨及び範囲から逸脱することなく、
図3に示されているものとは異なる順序で実行されてよく、多くの動作が組み合わされて又は並行して実質的に同時に実行されてよいことが理解されるべきである。
【0100】
図3に示されているように、動作は、ITインシデント通知、例えば、モニタリングされているITインフラストラクチャからのITイベント/アラートを受信すること(ステップ310)によって開始する。ITトポロジに基づいて、ITイベント/アラートのソース又は影響を受けたITリソースが識別され、これらのソースに関する対応する知識アーティクルが取得される(ステップ312)。取得された知識アーティクルから、ITインシデントのための修復タスクが抽出される(ステップ314)。修復タスクは、修復タスク(又はアクション)を実行するために必要なスキルと相関付けられる(ステップ316)。スキル関係グラフに基づいて、各修復タスクのための必要なスキルを提供するオートメーションツールが識別される(ステップ318)。可能であれば、類似度マッチングの評価、及び、スキルが対応するフォールバック/ロールバックスキル及びこれらのフォールバック/ロールバックスキルのための対応する自動化ツールを有するか否か等の他のファクタに基づいて、各修復タスクのためのオートメーションツールの人工知能/機械学習(AI/ML)選択が実行される(ステップ320)。
【0101】
IT修復タスクのために必要なスキルを実行可能な自動化ツールの欠如に基づいて、もし有れば、存在するスキルギャップが識別される(ステップ322)。スキルギャップに関して、スキルギャップのスキルを提供するSRE/SREチームが識別され、それによって、混合方法論ITインシデント修復ワークフローを生成する(ステップ324)。ITインシデント修復ワークフローは、ワークフローにおいて規定された順序付けられたシーケンスに従って、自動化ツールを呼び出し、SRE/SREチームと通信することによって、オーケストレートされる(ステップ326)。修復タスクの実行がモニタリングされ、正常に完了しなかったタスクに関して、対応するロールバック、フォールバック、又はフォールバックSRE操作が呼び出される(ステップ328)。ITインシデント修復ワークフローの実行の結果は、ログに記録され/レポートされ(ステップ330)、動作が終了する。
【0102】
上の議論から、本発明は、本明細書で説明された、それ自体が特定のメカニズム及び機能を実装するように特別に構成されたハードウェア及び/又はソフトウェアとともに構成された、特別に構成されたコンピューティングシステム、特別に構成されたコンピューティングシステムによって実施される方法、及び/又は、コンピューティングシステムにロードされて、本明細書で説明されたメカニズム及び機能を実装するようにコンピューティングシステムを特別に構成するソフトウェアロジックを備えるコンピュータプログラム製品であり得ることが明らかである。システム、方法、又はコンピュータプログラム製品として記載されているか否かにかかわらず、本明細書において説明された例示的な実施形態は、改善されたコンピューティングツール及びこの改善されたコンピューティングツールによって実装される方法論を特に対象としたものであることが理解されるべきである。特に、例示的な実施形態の改善されたコンピューティングツールは、モニタリングされているITインフラストラクチャにおいて発生するITインシデントに対処するための、ITインシデント修復タスクワークフローの自動化された生成、実行、オーケストレーション、及びモニタリングを特に提供する。改善されたコンピューティングツールは、精神的プロセス又は同様のもの等の、技術環境の外部にあるか又はその支援を受ける人間によって実際に実行することができない、ITインシデント修復ワークフローのための探索的オーケストレーションツール100等の、メカニズム及び機能を実装する。改善されたコンピューティングツールは、少なくとも、この改善されたコンピューティングツールが、混合方法論ワークフローにおいて自動化ツールだけでなくSRE/SREチームもオーケストレートすることを含み得る複雑なITインシデント修復タスクワークフローを自動的に生成、実行、オーケストレート、及びモニタリングすることが可能である点で、方法論の実際的な適用を提供する。
【0103】
図4は、例示的な実施形態の態様が実装され得、本発明の方法の実行に関与するコンピュータコードの少なくとも一部が実行され得る、分散データ処理システム環境の例示的な図である。コンピューティング環境400は、例えば、
図1におけるITインシデント修復ワークフローのための探索的オーケストレーションツール100及び
図1に示されている対応するフロー等の、発明の方法の実行に関与するコンピュータコードの少なくともいくつかを実行するための環境の一例を含む。ブロック100に加えて、コンピューティング環境400は、例えば、コンピュータ401、ワイドエリアネットワーク(WAN)402、エンドユーザデバイス(EUD)403、リモートサーバ404、パブリッククラウド405、及びプライベートクラウド406を含む。この実施形態では、コンピュータ401は、プロセッサセット410(処理回路420及びキャッシュ421を含む)、通信ファブリック411、揮発性メモリ412、永続ストレージ413(上記で識別されたように、オペレーティングシステム422及びブロック100を含む)、ペリフェラルデバイスセット414(ユーザインタフェース(UI)、デバイスセット423、ストレージ424、及びモノのインターネット(IoT)センサセット425を含む)、及びネットワークモジュール415を有する。リモートサーバ404は、リモートデータベース430を有する。パブリッククラウド405は、ゲートウェイ440、クラウドオーケストレーションモジュール441、ホスト物理機械セット442、仮想機械セット443、及びコンテナセット444を有する。
【0104】
コンピュータ401は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、スマートウォッチ又は他のウェアラブルコンピュータ、メインフレームコンピュータ、量子コンピュータ、又は、プログラムを実行すること、ネットワークにアクセスすること、又はリモートデータベース430等のデータベースにクエリすることが可能である、現在既知であるか又は将来開発されることになる他の任意の形式のコンピュータ又はモバイルデバイスの形式を取ってよい。コンピュータ技術の技術分野においてよく理解されているように、また技術に依存して、コンピュータ実装方法の実行は、複数のコンピュータの中で、及び/又は複数のロケーション間で分散させてよい。他方、コンピューティング環境400のこの提示では、提示を可能な限り単純に保つために、詳細な論述は、単一のコンピュータ、具体的にはコンピュータ401に対して焦点が当てられている。コンピュータ401は、
図4におけるクラウドには示されていないが、クラウドに位置してよい。他方、コンピュータ401は、積極的に示され得るいずれかの範囲を除いて、クラウドにあることは必要とされない。
【0105】
プロセッサセット410は、現在既知であるか又は将来開発されることになる任意のタイプの1つ又は複数のコンピュータプロセッサを含む。処理回路420は、複数のパッケージ、例えば、複数の協調的な集積回路チップにわたって分散してよい。処理回路420は、複数のプロセッサスレッド及び/又は複数のプロセッサコアを実装してよい。キャッシュ421は、プロセッサチップパッケージに位置し、かつ典型的には、プロセッサセット410上で実行されるスレッド又はコアによる迅速なアクセスのために利用可能であるべきであるデータ又はコードのために使用されるメモリである。キャッシュメモリは、典型的には、処理回路に対する相対的近接性に依存して複数のレベルに編成される。代替的に、プロセッサセット用のいくつか又は全てのキャッシュは、「オフチップ」に位置し得る。いくつかのコンピューティング環境において、プロセッサセット410は、キュビットを用いて動作し、量子コンピューティングを実行するように設計され得る。
【0106】
コンピュータ可読プログラム命令は、典型的には、コンピュータ401のプロセッサセット410によって一連の動作段階を実行させ、それによって、コンピュータ実装方法をもたらすためにコンピュータ401上にロードされ、それにより、このように実行される命令は、本文書に含まれるコンピュータ実装方法(「本発明の方法」と総称される)のフローチャート及び/又は文章による説明において指定される方法をインスタンス化することになる。これらのコンピュータ可読プログラム命令は、下で論じられるキャッシュ421及び他の記憶媒体等の、様々なタイプのコンピュータ可読記憶媒体に記憶されている。プログラム命令、及び関連付けられたデータは、本発明の方法の実行を制御及び命令するためにプロセッサセット410によってアクセスされる。コンピューティング環境400では、本発明の方法を実行する命令のうちの少なくともいくつかは、永続ストレージ413内のブロック200に記憶されてよい。
【0107】
通信ファブリック411は、コンピュータ401の様々なコンポーネントが互いに通信することを可能にする信号伝導路である。典型的には、このファブリックは、バス、ブリッジ、物理入力/出力ポート等を構成するスイッチ及び導電経路等の、スイッチ及び導電経路から作製される。光ファイバ通信経路及び/又は無線通信経路等の他のタイプの信号通信経路が使用されてよい。
【0108】
揮発性メモリ412は、現在既知であるか又は将来開発されることになる任意のタイプの揮発性メモリである。例としては、ダイナミックタイプランダムアクセスメモリ(RAM)又はスタティックタイプRAMが挙げられる。典型的には、揮発性メモリは、ランダムアクセスによって特徴付けられるが、これは、積極的に示されない限り必要とされない。コンピュータ401において、揮発性メモリ412は、単一のパッケージ内に位置し、コンピュータ401の内部に存在するが、代替的に又は追加的に、揮発性メモリは、複数のパッケージにわたり分散して、及び/又はコンピュータ401に対して外部に位置してよい。
【0109】
永続ストレージ413は、現在既知であるか又は将来開発されることになる任意の形式のコンピュータ用不揮発性ストレージである。このストレージの不揮発性は、電力がコンピュータ401に及び/又は直接永続ストレージ413に供給されるか否かに関わらずに記憶されたデータが維持されることを意味する。永続ストレージ413は、リードオンリメモリ(ROM)であってよいが、典型的には、永続ストレージの少なくとも一部は、データの書き込み、データの削除及びデータの書き換えを可能にする。永続ストレージのいくつかのよく知られている形式としては、磁気ディスク及びソリッドステート記憶デバイスが挙げられる。オペレーティングシステム422は、様々な既知の独自のオペレーティングシステム、又はカーネルを利用するオープンソースのポータブルオペレーティングシステムインタフェースタイプのオペレーティングシステム等のいくつかの形式を取ってよい。ブロック200に含まれるコードは、通常、本発明の方法の実行に関与するコンピュータコードの少なくともいくつかを含む。
【0110】
ペリフェラルデバイスセット414は、コンピュータ401のペリフェラルデバイスのセットを含む。コンピュータ401のペリフェラルデバイス及び他のコンポーネント間のデータ通信接続は、Bluetooth(登録商標)接続、近距離通信(NFC)接続、ケーブル(ユニバーサルシリアルバス(USB)タイプケーブル等)によって形成される接続、挿入タイプ接続(例えば、セキュアデジタル(SD)カード)、ローカルエリア通信ネットワークを通して形成される接続、及びさらにはインターネット等のワイドエリアネットワークを通して形成される接続等の、様々な方法で実装されてよい。様々な実施形態において、UIデバイスセット423は、ディスプレイスクリーン、スピーカ、マイクロフォン、ウェアラブルデバイス(ゴーグル及びスマートウォッチ等)、キーボード、マウス、プリンタ、タッチパッド、ゲームコントローラ、及び触覚デバイス等のコンポーネントを含んでよい。ストレージ424は、外部ハードドライブ等の外部ストレージ、又はSDカード等の挿入可能ストレージである。ストレージ424は、永続的及び/又は揮発性であり得る。いくつかの実施形態では、ストレージ424は、キュビットの形式でデータを記憶する量子コンピューティング記憶デバイスの形式を取ってよい。コンピュータ401が大量のストレージを有することが必要とされる(例えば、コンピュータ401が大規模データベースをローカルに記憶するとともに管理する)実施形態では、このストレージは、複数の地理的に分散したコンピュータによって共有されるストレージエリアネットワーク(SAN)等の非常に大量のデータを記憶するように設計されたペリフェラル記憶デバイスによって提供されてよい。IoTセンサセット425は、モノのインターネット応用において使用することができるセンサから構成される。例えば、あるセンサは体温計であってよく、別のセンサは動作検出器であってよい。
【0111】
ネットワークモジュール415は、コンピュータ401がWAN402を通して他のコンピュータと通信することを可能にするコンピュータソフトウェア、ハードウェア、及びファームウェアの集合体である。ネットワークモジュール415は、モデム又はWi-Fi(登録商標)信号送受信機等のハードウェア、通信ネットワーク送信のためにデータをパケット化及び/又はパケット化解除するソフトウェア、及び/又はインターネットを介してデータを通信するウェブブラウザソフトウェアを含んでよい。いくつかの実施形態では、ネットワークモジュール415のネットワーク制御機能及びネットワーク転送機能は、同じ物理ハードウェアデバイス上で実行される。他の実施形態(例えば、ソフトウェア定義ネットワーキング(SDN)を利用する実施形態)では、ネットワークモジュール415の制御機能及び転送機能は、制御機能がいくつかの異なるネットワークハードウェアデバイスを管理するように、物理的に別個のデバイス上で実行される。本発明の方法を実行するためのコンピュータ可読プログラム命令は、通常、ネットワークモジュール415に含まれるネットワークアダプタカード又はネットワークインタフェースを介して、外部コンピュータ又は外部記憶デバイスからコンピュータ401にダウンロードされ得る。
【0112】
WAN402は、現在既知であるか又は将来開発されることになる、コンピュータデータを通信する任意の技術によって非ローカル距離にわたってコンピュータデータを通信することが可能である任意のワイドエリアネットワーク(例えば、インターネット)である。いくつかの実施形態では、WANは、Wi-Fiネットワーク等の、ローカルエリアに位置するデバイス間のデータを通信するように設計されたローカルエリアネットワーク(LAN)に置き換えられ、及び/又はこれによって補足されてよい。WAN及び/又はLANは、通常、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及びエッジサーバ等のコンピュータハードウェアを含む。
【0113】
エンドユーザデバイス(EUD)403は、エンドユーザ(例えば、コンピュータ401を動作させる企業の顧客)によって使用及び制御される任意のコンピュータシステムであり、コンピュータ401に関連して上記で論述された形式のうちの任意のものを取ってよい。EUD403は、典型的には、コンピュータ401の動作から有益かつ有用なデータを受信する。例えば、コンピュータ401がエンドユーザに推奨を提供するように設計されている仮説の事例では、この推奨は、典型的には、コンピュータ401のネットワークモジュール415からWAN402を通してEUD403に通信されることになる。このようにして、EUD403は、エンドユーザに推奨を表示、又は別様に提示することができる。いくつかの実施形態では、EUD403は、シンクライアント、ヘビークライアント、メインフレームコンピュータ、デスクトップコンピュータ等のようなクライアントデバイスであってよい。
【0114】
リモートサーバ404は、少なくともいくつかのデータ及び/又は機能をコンピュータ401にサービングする任意のコンピュータシステムである。リモートサーバ404は、コンピュータ401を動作させる同じエンティティによって制御及び使用されてよい。リモートサーバ404は、コンピュータ401等の他のコンピュータによる使用のために有益かつ有用なデータを収集及び記憶する機械を表す。例えば、コンピュータ401が履歴データに基づいて推奨を提供するように設計及びプログラミングされている仮説の事例では、この履歴データは、リモートサーバ404のリモートデータベース430からコンピュータ401に提供されてよい。
【0115】
パブリッククラウド405は、ユーザによる直接のアクティブ管理を伴わずに、コンピュータシステムリソース及び/又は他のコンピュータ機能、特にデータストレージ(クラウドストレージ)及びコンピューティングパワーのオンデマンド可用性を提供する、複数のエンティティによる使用のために利用可能な任意のコンピュータシステムである。クラウドコンピューティングは、典型的には、コヒーレンス及び規模の経済を達成するためにリソースの共有を活用する。パブリッククラウド405のコンピューティングリソースの直接かつアクティブな管理は、クラウドオーケストレーションモジュール441のコンピュータハードウェア及び/又はソフトウェアによって実行される。パブリッククラウド405によって提供されるコンピューティングリソースは、典型的には、ホスト物理機械セット442のコンピュータを構成する様々なコンピュータ上で実行される仮想コンピューティング環境によって実装され、ホスト物理機械セット442は、パブリッククラウド405における物理コンピュータのユニバースであり、及び/又はこれにとって利用可能である。仮想コンピューティング環境(VCE)は、典型的には、仮想機械セット443からの仮想機械及び/又はコンテナセット444からのコンテナの形式を取る。これらのVCEは、イメージとして記憶されてよく、イメージとして又はVCEのインスタンス化後のいずれかで、様々な物理機械ホストの中及びこれらの間で転送されてよいことが理解される。クラウドオーケストレーションモジュール441は、イメージの転送及び記憶を管理し、VCEの新たなインスタンス化を展開し、VCE展開のアクティブインスタンス化を管理する。ゲートウェイ440は、パブリッククラウド405がWAN402を介して通信することを可能にする、コンピュータソフトウェア、ハードウェア、及びファームウェアの集合体である。
【0116】
仮想化コンピューティング環境(VCE)の何らかの更なる探索がここで提供される。VCEは、「イメージ」として記憶することができる。VCEの新たなアクティブインスタンスは、イメージからインスタンス化することができる。2つのよく知られたVCEのタイプは、仮想機械及びコンテナである。コンテナは、オペレーティングシステムレベルの仮想化を用いるVCEである。これは、カーネルが、コンテナと称される複数の隔離されたユーザ空間のインスタンスの存在を可能にする、オペレーティングシステムの特徴を指す。これらの隔離されたユーザ空間のインスタンスは、通常、それらの中で実行されているプログラムの観点から、実際のコンピュータとして挙動する。通常のオペレーティングシステム上で実行されているコンピュータプログラムは、接続されたデバイス、ファイル及びフォルダ、ネットワーク共有、CPUパワー、及び定量化可能なハードウェア能力等、そのコンピュータの全てのリソースを利用し得る。しかしながら、コンテナ内部で実行されているプログラムは、コンテナの、及びコンテナに割り当てられたデバイスのコンテンツのみを使用することができ、この特徴はコンテナ化として知られている。
【0117】
プライベートクラウド406は、コンピューティングリソースが単一の企業による使用のためにのみ利用可能である点を除き、パブリッククラウド405に類似している。プライベートクラウド406は、WAN402と通信状態にあるものとして示されているが、他の実施形態において、プライベートクラウドは、インターネットから完全に切断され、ローカル/プライベートネットワークを介してのみアクセス可能であり得る。ハイブリッドクラウドは、多くの場合に異なるベンダによってそれぞれ実装される、異なるタイプ(例えば、プライベート、コミュニティ又はパブリッククラウドタイプ)の複数のクラウドの複合体である。複数のクラウドの各々は、別個かつ離散的なエンティティのままであるが、より大きいハイブリッドクラウドアーキテクチャが、複数の構成クラウド間のオーケストレーション、管理、及び/又はデータ/アプリケーションポータビリティを可能にする標準化された又は独自の技術によってともに結び付けられる。この実施形態において、パブリッククラウド405及びプライベートクラウド406は両方とも、より大きなハイブリッドクラウドの一部である。
【0118】
図4に示されているように、コンピューティングデバイスのうちの1又は複数、例えば、コンピュータ401又はリモートサーバ404は、以前に上で説明された例示的な実施形態のうちの1又は複数に従って動作し得る、ITインシデント修復ワークフローコンピューティングシステム又はコンピューティングツールのための探索的オーケストレーションツール100を実装するように特別に構成されてよい。コンピューティングデバイスの構成には、例示的な実施形態に関して本明細書に記載の動作の実行及び出力の生成を円滑化するように、特定用途向けハードウェア、ファームウェア等の提供が含まれ得る。コンピューティングデバイスの構成はさらに、又は代替的に、1又は複数の記憶デバイスに記憶され、例示的な実施形態に関して本明細書で説明した動作を実行するとともに出力を生成するようにプロセッサを構成するソフトウェアアプリケーションを、コンピューティングデバイスの1又は複数のハードウェアプロセッサに実行させるために、コンピューティングデバイス401又はリモートサーバ404等のコンピューティングデバイスのメモリにロードされる、ソフトウェアアプリケーションの提供を含んでよい。また、例示的な実施形態の趣旨及び範囲から逸脱することなく、特定用途向けハードウェア、ファームウェア、ハードウェア上で実行されるソフトウェアアプリケーション、又は同様のものの任意の組み合わせが使用され得る。これらの方法のうちの1つでコンピューティングデバイスが構成されると、コンピューティングデバイスは、例示的な実施形態のメカニズムを実装するように特別に構成された特殊なコンピューティングデバイスになり、汎用コンピューティングデバイスではなくなることが理解されるべきである。
【0119】
本発明の説明は、例示及び説明の目的で提示されており、網羅的であることも又は開示されている形態の本発明に限定されることも意図されていない。説明された実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が、当業者には明らかであろう。実施形態は、本発明の原理及び実際的な適用を最も良好に説明するため、及び、当業者が企図される特定の使用に適した様々な修正を伴う様々な実施形態について本発明を理解することを可能にするために選択及び説明された。本明細書で使用される用語は、実施形態の原理、実際的な適用例、もしくは市場で見られる技術を超える技術的改善点を最もよく説明するように、又は本明細書で開示される実施形態を当業者が理解することが可能になるように選択されたものである。