IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7553197分散処理システム内の運用データを管理する方法、システム、プログラム
<>
  • 特許-分散処理システム内の運用データを管理する方法、システム、プログラム 図1
  • 特許-分散処理システム内の運用データを管理する方法、システム、プログラム 図2
  • 特許-分散処理システム内の運用データを管理する方法、システム、プログラム 図3
  • 特許-分散処理システム内の運用データを管理する方法、システム、プログラム 図4
  • 特許-分散処理システム内の運用データを管理する方法、システム、プログラム 図5
  • 特許-分散処理システム内の運用データを管理する方法、システム、プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】分散処理システム内の運用データを管理する方法、システム、プログラム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20240910BHJP
   G06N 20/00 20190101ALI20240910BHJP
【FI】
G06F9/50 120Z
G06N20/00
【請求項の数】 16
(21)【出願番号】P 2022501116
(86)(22)【出願日】2020-07-23
(65)【公表番号】
(43)【公表日】2022-10-17
(86)【国際出願番号】 IB2020056957
(87)【国際公開番号】W WO2021024076
(87)【国際公開日】2021-02-11
【審査請求日】2022-12-23
(31)【優先権主張番号】16/531,664
(32)【優先日】2019-08-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】シュナイダー、ジェシカ
(72)【発明者】
【氏名】ハニス、トーマス
(72)【発明者】
【氏名】ザイフェルト、ポール
【審査官】坂東 博司
(56)【参考文献】
【文献】米国特許出願公開第2015/0333969(US,A1)
【文献】米国特許出願公開第2008/0221941(US,A1)
【文献】米国特許出願公開第2019/0102717(US,A1)
【文献】米国特許出願公開第2019/0132256(US,A1)
【文献】米国特許出願公開第2007/0119918(US,A1)
【文献】韓国登録特許第10-1286284(KR,B1)
【文献】米国特許出願公開第2020/0050494(US,A1)
【文献】特表2018-518762(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータの情報処理により、分散処理システム内の運用データを管理する方法であって、
データ・ソースおよびデータ・ターゲットの定義、ならびに前記データ・ソースおよび前記データ・ターゲットのサービス品質(QoS)基準を受信するステップであって、前記定義は、顧客の名前、顧客のアドレス、顧客の電話番号、顧客の識別番号、トランザクションの量およびトランザクション情報を含む、前記受信するステップと、
前記分散処理システムの運用ワークロードを監視して、前記データ・ソースと前記データ・ターゲットの間の運用データの移動に関する、前記分散処理システムのリソースのリソース使用状況、リソースの能力、およびリソースの応答時間を含む現在の評価を行うステップと、
前記QoS基準のうちの1つまたは複数を損なう結果をもたらす運用データの移動の以前の事例を含む、前記分散処理システム内の以前の運用データの移動に関する履歴情報を受信するステップと、
前記現在の評価および履歴情報から、次回の運用データのアクションが前記QoS基準のうちの特定の1つを満たさないということを決定するステップと、
前記決定に応答して、前記定義に従って特定の前記QoS基準を満たすために適応されたデータ・バックプレーン・サービスを自動的に適用するステップであって、プロセス制御メカニズムが、必要に応じて前記QoS基準を満たすために、前記プロセス制御メカニズムから離れたネットワークの位置でワーカー・スレッドを生成するように前記データ・バックプレーン・サービスを制御し、前記プロセス制御メカニズムが、データに最適化された選択、データ・サービス、サービスのフィードバック、およびデータ移動のディスパッチを含む、前記適用するステップと、を含む方法。
【請求項2】
サービス・プロバイダとクライアントの間で合意に基づくサービスレベル目標とサービス・パフォーマンス・メトリックを含むサービス水準合意モデルが前記QoS基準を提供し、前記サービス水準合意モデルが、データ・タイプ、コンテキストの必要条件、時間/日付の必要条件、および応答時間の要件を含み、
データ・ソースとデータ・ターゲットの間の運用データの過去の移動履歴から機械学習し現在の運用結果を予測する、データ移動実行履歴モデルが、作業工数に適用される必要のあるリソースの量の情報に基づく評価、および機械学習および予測技術を使用して、前記分散処理システムが最適なしきい値で動作することを保証することを含み、
現行システム負荷モデルが前記運用ワークロードの前記監視を提供し、前記現行システム負荷モデルが、リソースの利用、現在のクラスタ・サイズ、および能力評価を含み、
データ・タイプおよび、データのQoS定義を含むQoS要件モデルが前記データ・タイプに関する前記定義および特性を提供し、前記データ・タイプおよびQoS要件モデルが、データ・タイプ定義およびソースおよびターゲットのQoS基準を含む、請求項1に記載の方法。
【請求項3】
前記応答時間の要件が、前記データ・タイプ、前記コンテキストの必要条件、および前記時間/データの必要条件に基づく、請求項2に記載の方法。
【請求項4】
前記決定することが、前記履歴情報を使用してトレーニングされた認知システムを使用し、前記認知システムが、前記現在の評価に基づいて運用結果を予測し、前記運用結果が、前記特定のQoS基準が満たされないということの指示を提供する、請求項1に記載の方法。
【請求項5】
前記現在の評価が、前記分散処理システムのリソースのリソース使用状況、前記リソースの能力、および前記リソースの応答時間を含む、請求項1に記載の方法。
【請求項6】
前記データ・バックプレーン・サービスが、複数の拡張可能なデータ・バックプレーン・サービスである、請求項1に記載の方法。
【請求項7】
前記分散処理システムが、不正である可能性がある挙動パターンを識別する不正検出ソリューションを提供し、
前記データ・ソースおよびデータ・ターゲットが、顧客の名前、顧客のアドレス、顧客の電話番号、顧客の識別番号、トランザクションの量およびトランザクションの種類を含むトランザクション情報、ならびに前記運用データの集合を追跡するためのケース管理データを含む、データ・タイプを有し、
前記QoS基準が、前記分散処理システムのリソース割り当てにおける優先度、データの完全性、および応答時間の要件を含み、
前記データ・バックプレーン・サービスが、メッセージング・インターフェイス、アプリケーション・プログラム・インターフェイス、およびストリームを含む、請求項6に記載の方法。
【請求項8】
コンピュータ・システムであって、
プログラム命令を処理する1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに接続されたメモリ・デバイスと、
データ・ソースおよびデータ・ターゲットの定義、ならびに前記データ・ソースおよび前記データ・ターゲットのサービス品質(QoS)基準を受信することであって、前記定義は、顧客の名前、顧客のアドレス、顧客の電話番号、顧客の識別番号、トランザクションの量およびトランザクション情報を含む、前記受信することと、分散処理システムの運用ワークロードを監視して、前記データ・ソースと前記データ・ターゲットの間の運用データの移動に関する、前記分散処理システムのリソースのリソース使用状況、リソースの能力、およびリソースの応答時間を含む現在の評価を行うことと、前記QoS基準のうちの1つまたは複数を損なう結果をもたらす運用データの移動の以前の事例を含む、前記分散処理システム内の以前の運用データの移動に関する履歴情報を受信することと、前記現在の評価および履歴情報から、次回の運用データのアクションが前記QoS基準のうちの特定の1つを満たさないということを決定することと、前記決定に応答して、前記定義に従って特定の前記QoS基準を満たすために適応されたデータ・バックプレーン・サービスを自動的に適用することであって、プロセス制御メカニズムが、必要に応じて前記QoS基準を満たすために、前記プロセス制御メカニズムから離れたネットワークの位置でワーカー・スレッドを生成するように前記データ・バックプレーン・サービスを制御し、前記プロセス制御メカニズムが、データに最適化された選択、データ・サービス、サービスのフィードバック、およびデータ移動のディスパッチを含む、前記適用することとによって、前記分散処理システム内の前記運用データを管理するために前記メモリ・デバイスに存在するプログラム命令とを備える、コンピュータ・システム。
【請求項9】
サービス・プロバイダとクライアントの間で合意に基づくサービスレベル目標とサービス・パフォーマンス・メトリックを含むサービス水準合意モデルが前記QoS基準を提供し、前記サービス水準合意モデルが、データ・タイプ、コンテキストの必要条件、時間/日付の必要条件、および応答時間の要件を含み、
データ・ソースとデータ・ターゲットの間の運用データの過去の移動履歴から機械学習し現在の運用結果を予測する、データ移動実行履歴モデルが、作業工数に適用される必要のあるリソースの量の情報に基づく評価、および機械学習および予測技術を使用して、前記分散処理システムが最適なしきい値で動作することを保証することを含み、
現行システム負荷モデルが前記運用ワークロードの前記監視を提供し、前記現行システム負荷モデルが、リソースの利用、現在のクラスタ・サイズ、および能力評価を含み、
データ・タイプおよび、データのQoS定義を含むQoS要件モデルが前記データ・タイプに関する前記定義および特性を提供し、前記データ・タイプおよびQoS要件モデルが、データ・タイプ定義およびソースおよびターゲットのQoS基準を含む、
請求項8に記載のコンピュータ・システム。
【請求項10】
前記応答時間の要件が、前記データ・タイプ、前記コンテキストの必要条件、および前記時間/データの必要条件に基づく、請求項9に記載のコンピュータ・システム。
【請求項11】
前記決定することが、前記履歴情報を使用してトレーニングされた認知システムを使用し、前記認知システムが、前記現在の評価に基づいて運用結果を予測し、前記運用結果が、前記特定のQoS基準が満たされないということの指示を提供する、請求項8に記載のコンピュータ・システム。
【請求項12】
前記現在の評価が、前記分散処理システムのリソースのリソース使用状況、前記リソースの能力、および前記リソースの応答時間を含む、請求項8に記載のコンピュータ・システム。
【請求項13】
前記データ・バックプレーン・サービスが、複数の拡張可能なデータ・バックプレーン・サービスである、請求項8に記載のコンピュータ・システム。
【請求項14】
前記分散処理システムが、不正である可能性がある挙動パターンを識別する不正検出ソリューションを提供し、
前記データ・ソースおよびデータ・ターゲットが、顧客の名前、顧客のアドレス、顧客の電話番号、顧客の識別番号、トランザクションの量およびトランザクションの種類を含むトランザクション情報、ならびに前記運用データの集合を追跡するためのケース管理データを含む、データ・タイプを有し、
前記QoS基準が、前記分散処理システムのリソース割り当てにおける優先度、データの完全性、および応答時間の要件を含み、
前記データ・バックプレーン・サービスが、メッセージング・インターフェイス、アプリケーション・プログラム・インターフェイス、およびストリームを含む、請求項13記載のコンピュータ・システム。
【請求項15】
請求項1~7の何れか1項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項16】
請求項15に記載の前記コンピュータ・プログラムをコンピュータ可読ストレージ媒体に記憶した、ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、コンピュータ・システムに関連しており、より詳細には、分散コンピューティング・システムにおいてサービス品質規格を維持する方法に関連している。
【背景技術】
【0002】
コンピューティング・システムは、長年にわたって著しく複雑になった。初期のコンピューティングでは、プロジェクトに関連するすべてのタスクを処理する単一のコンピュータが存在した。さらに補助的システムが現れ、ネットワーク・コンピューティング(特に、インターネット)が出現するにつれて、コンピューティングの世界の大部分が、分散コンピューティングに変化している。分散コンピューティングまたは分散システムは、異なるネットワーク・コンピュータなどの異なる場所で実装されるコンポーネントを含むシステムである。例としては、ピアツーピア・ネットワーク、オンライン・ゲーム、電話技術、およびデータ管理が挙げられる。
【0003】
データ管理は、一般に、データ(すなわち、情報)の調達、保守、および使用に関連する技術である。データ自体は、名前およびアドレスなどの顧客の詳細のように、単純なものであることがあり、または金融サービス(例えば、金融犯罪捜査ソリューション)のように、より大規模なものであることがある。そのようなシステムにおけるデータの運用管理は、非常に複雑である。この課題は、マイクロサービスのような分散機能処理アーキテクチャ(distributed functional processing architectures)を使用するシステムにおいて特に当てはまる。マイクロサービスは、疎結合されたサービスの集合としてアプリケーションの構造化を可能にするソフトウェア開発技術である。アプリケーションをより小さい異なるサービスに分解することの1つの利点は、モジュール性を改善し、アプリケーションの理解、開発、テストを容易にし、アーキテクチャの崩壊に対する回復力を高めることである。マイクロサービスは、特に、ハイパーテキスト転送プロトコル(HTTP:hypertext transfer protocol)などの、特定の技術に依存しないプロトコルを使用して、ネットワークを経由して通信し、任意の目標を実現させる個別のプロセスであると考えることができる。
【0004】
使用される特定のマイクロサービスの性質は、アプリケーションに大きく依存する。金融サービスの不正検出アプリケーションでは、例えば、マイクロサービスは、トランザクションをキューに配置する受信サービス、添付ファイルが存在するかをチェックし、添付ファイルが存在する場合、その添付ファイルを光学式文字認識サービスなどの別のマイクロサービスに送信する添付ファイル・プロセッサ・サービス、現在のトランザクションを分析し、そのトランザクションに関連するいずれかの過去のトランザクションに関連付けるコンテキスト作成サービス、違反を識別するようにクライアントによって設定されたルールを実行する決定実行エンジン、トランザクションを再調査し、外れ値にフラグを立てる分析エンジン、識別された問題に基づいて人間の追跡調査のためのケースを作成するかどうかを判断するケース・マネージャ・サービス、および各トランザクションの処理時の更新内容をクライアントの経費/調達システムに返す通知マネージャを含んでよい。
【0005】
すべてのコンピューティング・システムに当てはまることであるが、分散コンピューティング・システムを監視し、それらの分散コンピューティング・システムがサービス品質(QoS:quality-of-service)要件を満たしていることを保証できることは重要である。QoSは、電話技術もしくはコンピュータ・ネットワーク、またはクラウド・コンピューティング・サービスなどの、サービスの全体的性能、特に、ネットワークのユーザから見える性能の測定である。サービス品質を定量的に測定するために、多くの場合、ネットワーク・サービスの複数の関連する特徴が考慮される。マイクロサービスと同様に、QoS要件の特定の性質は、含まれる特定のアプリケーションに依存する。QoS基準は、例えば、データ・タイプに基づく応答時間の要件、ならびに時間およびデータの必要条件を含むコンテキストの必要条件を識別するサービス水準合意において、定められることがある。
【発明の概要】
【0006】
本発明は、少なくとも1つの実施形態において、データ・ソースおよびデータ・ターゲットの定義、ならびにデータ・ソースおよびデータ・ターゲットのサービス品質基準を受信することと、分散処理システムの運用ワークロードを監視して、データ・ソースとデータ・ターゲットの間の運用データの移動の現在の評価を確立することと、サービス品質基準のうちの1つまたは複数を損なう結果をもたらす運用データの移動の以前の事例を含む、分散処理システム内の以前の運用データの移動に関する履歴情報を受信することと、現在の評価および履歴情報から、次回の運用データのアクションがサービス品質基準のうちの特定の1つを満たさないということを決定することと、前述の決定に応答して、定義に従って特定のサービス品質基準を向上させるように適応されたデータ管理最適化インフラストラクチャ(data management optimization infrastructure)を自動的に適用することとによって、分散処理システム内の運用データを管理する方法を一般に対象にしている。例示的な実装では、サービス水準合意モデルはサービス品質基準を提供し、サービス水準合意モデルは、データ・タイプ、コンテキストの必要条件、時間/日付の必要条件、および応答時間の要件を含み、データ移動実行履歴モデル(data movement execution history model)は履歴情報を提供し、データ移動実行履歴モデルは、サービスの統計値の履歴、サービスのリソース消費、およびサービスの種類の実行予測を含み、現行システム負荷モデル(current system load model)は運用ワークロードの前述の監視を提供し、現行システム負荷モデルは、リソースの利用、現在のクラスタ・サイズ、および能力評価を含み、データ・タイプおよびQoS要件モデルはデータ・タイプに関する定義および特性を提供し、データ・タイプおよびQoS要件モデルは、データ・タイプ定義およびデータ・サービス品質定義を含み、プロセス制御メカニズムは、必要に応じてサービス品質基準を満たすために、プロセス制御メカニズムから遠く離れたネットワークの位置でワーカー・スレッドを生成するようにデータ管理最適化インフラストラクチャを制御し、プロセス制御メカニズムは、データに最適化された選択、データ・サービス、サービス・フィードバック、およびデータ移動のディスパッチを含む。応答時間の要件は、データ・タイプ、コンテキストの必要条件、および時間/データの必要条件に基づく。決定することは、履歴情報を使用してトレーニングされた認知システムを使用することができ、認知システムは、現在の評価に基づいて運用結果を予測し、運用結果は特定のサービス品質基準が満たされないということの指示を提供する。現在の評価は、分散処理システムのリソースのリソース使用状況、リソースの能力、およびリソースの応答時間を含むことができる。データ管理最適化インフラストラクチャは、複数の拡張可能なデータ・バックプレーン・サービス(data backplane services)を含む。例示的なアプリケーションでは、分散処理システムは、不正検出ソリューションを提供し、データ・ソースおよびデータ・ターゲットは、名前、アドレス、電話番号、社会保障番号、または納税者登録番号などの大量の顧客情報、トランザクションの量および種類(ワイヤ、ACH、クレジット、負債)などのトランザクション情報、ならびに前述の顧客情報または金融情報の集合を追跡するためのケース管理データを含む、データ・タイプを有し、サービス品質基準は、リソース割り当て、データ完全性仕様、およびサービスの使用可能時間を含み、データ・バックプレーン・サービスは、メッセージング・インターフェイス、API、ストリーム、またはその他のデータ通信用の通信手段を含む。
【0007】
上記に加えて、本発明のさまざまな実施形態における追加の目的、特徴、および利点が、以下の詳細に記述された説明において明らかになるであろう。
【0008】
本発明は、添付の図面を参照することによって、よりよく理解されることができ、そのさまざまな実施形態の非常に多くの目的、特徴、および利点が、当業者にとって明らかになる。
【図面の簡単な説明】
【0009】
図1】本発明の1つの実装に従って、サービス品質基準によって指示される自動化された運用データ管理を実行するようにプログラムされたコンピュータ・システムのブロック図である。
図2】本発明の1つの実装に従う、クラウド・コンピューティング環境の図的表現である。
図3】本発明の1つの実装に従って、運用データ管理システムの機能モジュールを示すブロック図である。
図4】サービス水準合意モデル、データ移動実行履歴モデル、現行システム負荷モデル、ならびにデータ・タイプおよびQoS要件モデルを使用する本発明の1つの実装に従って、自動化された運用データ管理のための1つの解決策を示すモデル図である。
図5】本発明の1つの実装に従って、図3の運用データ管理システムの運用結果を予測するために使用される認知システムのブロック図である。
図6】本発明の1つの実装に従って、データ管理プロセスの論理の流れを示すチャートである。
【発明を実施するための形態】
【0010】
異なる図面における同じ参照シンボルの使用は、類似する項目または同一の項目を示す。
【0011】
分散コンピューティングおよびマイクロサービスの使用は複数の利点を提供するが、この方法は新しい問題もシステム設計者に提示する。歴史的に、モノリシック・アプリケーションは、単一の大きい機能ユニットとして実行されて、データにアクセスすることができ、データの移動および複製を最小限に抑えるように最適化されることができた。データは、単一の共通データ・ストアに容易に存在することができ、統合されたメカニズムによって分散され、アクセスされることができ、複数の種類のデータ構造(データベース、ファイルベースなど)内に存在することもできたが、まだデータ・アクセスAPI層を可能にした。それらのいずれの場合でも、データの完全性、不一致、および流通に伴う問題の機会を導入するデータの移動および冗長性に依存しないための一貫した取り組みが存在した。
【0012】
これらの仮定はすべて、分散コンピューティング・システムと共に変化する。難しいのは、多くの場合、セグメント化されたサービスを利用するためにデータが複製されなければならないということである。例えば、金融サービス・アプリケーションでは、金融犯罪捜査ソリューションをサポートするために、複数の技術要素を活用するのが望ましい。複数の技術要素を活用することは、例えば、銀行トランザクション・データを同じ個人に属しているとして関連付けるための要素技術を使用すること、その個人の仲間のネットワークを理解すること、またはデータに対して機械学習分析を実行し、不正である可能性がある挙動パターンを識別することを伴うことがある。既存のサービスをこれらの機能に活用することは重要であるが、設計者は、多くの場合、それらのサービスが類似するデータ・レコード(顧客情報、トランザクション・レコードなど)へのアクセスを必要とし、特定のスキーマに存在するか、または期待されるデータ・サービスへの特定のデータ・ストア・アクセス・インターフェイスを使用して、特定の形式でデータ・レコードを取得することを期待するという問題に直面している。そのような場合、アプリケーション作成者は、データがどのように使用できると期待されるか、ならびにデータの移動および複製を最小限に抑える方法を、制御することができない。この問題は、ソリューション・プロバイダ全体が管理するべき問題になり、現在、コンポーネントが変化することがあるが問題が残るため、プロジェクトごとに管理する必要がある。
【0013】
したがって、そのような分散システムにおいてデータを管理する改善された方法を考案することが望ましい。含まれる特定のシステムに特有のサービス品質(QoS)要件を満たすように方法が自動化されることができる場合、さらに有利である。本発明の種々の実施形態では、システムがシステム全体を通じてデータ移動を管理する方法を定義する管理されたQoSの方法を使用して、データの移動、複製、および流通の必要性を満たすための解決策を提供することによって、これらおよびその他の利点が実現される。このシステムは、アプリケーション開発者が、特定のデータ要素のソースおよびターゲットを定義し、データがどのくらい速く移動する必要があるか(流通)、一貫性の目標が何か(例えば、保証された一貫性、最終的な一貫性など)、データがどのように削除されると期待されるか、および複製データがどこで作成されるかを示すQoS特性を提供できるようにする。このシステムは、拡張可能なインフラストラクチャをデータ移動(更新および削除を含む)に使用することができ、このインフラストラクチャの柔軟なスケーリングによって、QoSの目標を満たすことができるようにする。
【0014】
ここで図を参照し、特に図1を参照すると、本発明に従って自動化された運用データ管理が実装されることができる、コンピュータ・システムの1つの実施形態10が示されている。コンピュータ・システム10は、システム・バス14に接続された複数のプロセッサ12a、12bを含んでいる対称マルチプロセッサ(SMP:symmetric multiprocessor)システムである。システム・バス14は、インターフェイスをシステム・メモリ18に提供する結合されたメモリ・コントローラ/ホスト・ブリッジ(MC/HB:memory controller/host bridge)16に、さらに接続されて通信する。システム・メモリ18は、ローカル・メモリ・デバイスであってよく、または代替として、複数の分散メモリ・デバイスを含んでよく、ダイナミック・ランダムアクセス・メモリ(DRAM:dynamic random-access memory)を含むのが好ましい。示されていないメモリ階層内に、オンボード(L1)および第2のレベル(L2)または第3のレベル(L3)のキャッシュなどの、追加の構造が存在し得る。システム・メモリ18は、本発明に従って、分散システム、データ定義、QoS基準、システム・モニタ、データの最適化、さまざまなバックプレーン・サービス、および運用結果を予測するために使用される認知システムの特定の機能を実行するために必要な運用プログラムを含む、1つまたは複数のアプリケーションまたはソフトウェア・モジュールを読み込んでおり、これらのすべてが、以下でさらに詳細に説明される。図1は、これらのさまざまなコンポーネントを単一のメモリ18内に示しているが、これらのコンポーネントの一部が、コンピュータ・システム10に類似するか、またはコンピュータ・システム10と異なる、他の(遠く離れて位置する)ネットワーク・コンピュータ・システムに存在し得るということが理解される。特に、バックプレーン・サービスは、データの最適化から遠く離れた複数のネットワークの位置で実装されることができる。
【0015】
MC/HB16は、PCI(peripheral componentinterconnect)Expressリンク20a、20b、20cとのインターフェイスも含む。各PCI Expressリンク20a、20bは、各PCIeアダプタ22a、22bに接続され、各PCIeアダプタ22a、22bは、各入出力(I/O:input/output)デバイス24a、24bに接続される。MC/HB16は、スイッチ(I/Oファブリック)28に接続されたI/Oバス26とのインターフェイスをさらに含んでよい。スイッチ28は、複数のPCIリンク20d、20e、20fへのI/Oバスのファンアウトを提供する。これらのPCIリンクは、さらにPCIeアダプタ22c、22d、22eに接続され、次にこれらのPCIeアダプタは、さらにI/Oデバイス24c、24d、24eをサポートする。I/Oデバイスは、キーボード、グラフィカル・ポインティング・デバイス(マウス)、マイクロホン、ディスプレイ・デバイス、スピーカ、永続的ストレージ・デバイス(ハード・ディスク・ドライブ)またはそのようなストレージ・デバイスのアレイ、CDまたはDVDなどの光ディスク25(コンピュータ可読ストレージ媒体の1つの例)を受け取る光ディスク・ドライブ、およびネットワーク・カードを含んでよいが、これらに限定されない。各PCIeアダプタは、PCIリンクと各I/Oデバイスの間のインターフェイスを提供する。MC/HB16は、待ち時間の少ない経路を提供し、この経路を介して、プロセッサ12a、12bは、バス・メモリ内またはI/Oアドレス空間内のどこかにマッピングされたPCIデバイスにアクセスすることができる。MC/HB16は、PCIデバイスがメモリ18にアクセスできるようにするための高帯域幅の経路をさらに提供する。スイッチ28は、異なるエンドポイント間のピアツーピア通信を提供してよく、このデータ・トラフィックは、キャッシュ・コヒーレント・メモリ転送(cache-coherent memory transfers)を伴わない場合、MC/HB16に転送される必要がない。スイッチ28は、分離した論理コンポーネントとして示されているが、MC/HB16に統合されることができる。
【0016】
この実施形態では、PCIリンク20cが、MC/HB16をサービス・プロセッサ・インターフェイス30に接続し、I/Oデバイス24aとサービス・プロセッサ32の間の通信を可能にする。サービス・プロセッサ32は、JTAGインターフェイス34を介してプロセッサ12a、12bに接続され、プロセッサ12a、12bの動作を中断するアテンション・ライン36を使用する。サービス・プロセッサ32は、それ自身のローカル・メモリ38を含んでよく、システムの起動のための種々のプログラム命令を格納する読み取り専用メモリ(ROM:read-only memory)40に接続される。サービス・プロセッサ32は、システムの状態および診断の情報を提供するために、ハードウェア・オペレータ・パネル42にアクセスすることができてもよい。
【0017】
代替の実施形態では、コンピュータ・システム10は、これらのハードウェア・コンポーネントもしくはそれらの相互接続の変更、または追加のコンポーネントを含んでよく、そのため、示された例は、本発明に関するどのようなアーキテクチャの制限も意味すると解釈されるべきではない。本発明は、同等のクラウド・コンピューティング・ネットワーク内でさらに実装される。
【0018】
コンピュータ・システム10の電源が最初に入れられるときに、サービス・プロセッサ32は、JTAGインターフェイス34を使用して、システム(ホスト)プロセッサ12a、12bおよびMC/HB16に問い合わせる。問い合わせの完了後に、サービス・プロセッサ32は、コンピュータ・システム10のインベントリおよびトポロジーを取得する。次に、サービス・プロセッサ32は、コンピュータ・システム10のコンポーネントに対して、ビルトイン・セルフテスト(BIST:built-in-self-tests)、基本検証テスト(BAT:basicassurance tests)、およびメモリ・テストなどの、さまざまなテストを実行する。テスト中に検出された故障に関するエラー情報が、サービス・プロセッサ32によってオペレータ・パネル42に報告される。テスト中に故障していることが検出されたコンポーネントを取り出した後に、システム・リソースの有効な構成がまだ可能である場合、コンピュータ・システム10は、続行することが許可される。実行コードがメモリ18に読み込まれ、サービス・プロセッサ32が、プログラム・コード(例えば、アプリケーションを開始するために使用されるオペレーティング・システム(OS:operating system)、および特に、本発明の自動化された運用データ管理アプリケーション)の実行のためにホスト・プロセッサ12a、12bを解放し、その実行結果が、システムのハード・ディスク・ドライブ(I/Oデバイス24)に格納される。ホスト・プロセッサ12a、12bがプログラム・コードを実行している間に、サービス・プロセッサ32は、冷却ファンの速度および動作、熱センサ、電源制御装置、ならびにプロセッサ12a、12b、メモリ18、およびMC/HB16のいずれかによって報告された回復可能なエラーおよび回復不可能なエラーなどの、任意の動作パラメータまたはエラーを監視して報告するモードを入力してよい。サービス・プロセッサ32は、エラーの種類または定義されたしきい値に基づいて、アクションをさらに実行し得る。
【0019】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含むコンピュータ可読ストレージ媒体を含んでよい。
【0020】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-onlymemory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasableprogrammable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0021】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0022】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはJava(R)、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、もしくはリモート・コンピュータ上もしくはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)もしくは広域ネットワーク(WAN:wide areanetwork)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブルロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行し得る。
【0023】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装されるということが理解されるであろう。
【0024】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を含むように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
【0025】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
【0026】
図内のフローチャートおよびブロック図は、本発明の種々の実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行される。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能もしくは動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0027】
コンピュータ・システム10は、新しい最適化技術を使用して分散システム内のデータを管理するする自動化された運用データ管理プロセスのためのプログラム命令を実行する。したがって、本発明を具現化するプログラムは、さまざまなデータ管理ツールの従来の特徴をさらに含んでよく、本開示を参照するときに、それらの詳細が当業者にとって明らかになる。それらのツールの一部は、クラウド・コンピューティングに関連し得る。本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
【0028】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、それらのリソースを迅速にプロビジョニングおよび解放することができる。クラウド・モデルは、さまざまな特性、サービス・モデル、およびデプロイメント・モデルを含むことができる。
【0029】
特性は、オンデマンドのサービス、幅広いネットワーク・アクセス、リソース・プール、迅速な順応性、および測定されるサービスを含むことができるが、これらに限定されない。オンデマンドのセルフ・サービスは、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングする、クラウドの利用者の能力のことを指す。幅広いネットワーク・アクセスは、ネットワークを経由して利用可能である、標準的なメカニズムを使用してアクセスされる能力のことを指し、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびパーソナル・デジタル・アシスタントなど)による利用を促進する。リソース・プールは、プロバイダの計算リソースがプールされ、マルチテナント・モデルを使用して複数の利用者に提供されるときに発生し、さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できる場合がある。迅速な順応性は、クラウドの能力が、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができるということを意味する。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。測定されるサービスは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する、クラウド・システムの能力である。リソースの使用状況は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【0030】
サービス・モデルは、SaaS(Software as a Service)、PaaS(Platform as a Service)、およびIaaS(Infrastructureas a Service)を含むことができるが、これらに限定されない。SaaS(Software as aService)は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションを利用する、利用者に提供される能力のことを指す。それらのアプリケーションは、Webブラウザなどのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。PaaS(Platform as a Service)は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイする、利用者に提供される能力のことを指す。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。IaaS(Infrastructure as a Service)は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースをプロビジョニングする、利用者に提供される能力のことを指し、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0031】
デプロイメント・モデルは、プライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、およびハイブリッド・クラウドを含むことができるが、これらに限定されない。プライベート・クラウドは、ある組織のためにのみ運用されているクラウド・インフラストラクチャのことを指す。プライベート・クラウドは、この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。コミュニティ・クラウドは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする、クラウド・インフラストラクチャを含む。コミュニティ・クラウドは、これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。パブリック・クラウドでは、クラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。ハイブリッド・クラウドのクラウド・インフラストラクチャは、データおよびアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0032】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境であることができる。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。図2に、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54a、デスクトップ・コンピュータ54b、ラップトップ・コンピュータ54c、または自動車コンピュータ・システム54d、あるいはその組み合わせなど)が通信できる、ネットワーク56内の1つまたは複数のクラウド・コンピューティング・ノード52を含む。ノード52は、互いに通信してもよい。ノード52は、1つまたは複数のネットワーク内で、上で説明されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはこれらの組み合わせなどに、物理的または仮想的にグループ化される(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図2に示されたコンピューティング・デバイス754a~dの種類は、例示のみが意図されており、コンピューティング・ノード52およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信できるということが理解される。
【0033】
ここで図3を参照すると、本発明に従って構築された運用データ管理システム60の1つの実施形態が示されている。運用データ管理システム60は、通常、運用機能またはモジュール62、システム・モニタ機能またはモジュール64、およびデータ移動最適化機能またはモジュール66を含む。運用モジュール62は、データ工学(情報工学)68、サービス水準合意70、ならびにデータ・タイプ/オブジェクトの特性およびアドレスの集合72を含む。データ工学68は、運用モジュール62の主要な機能を備えており、アプリケーションを計画、分析、設計、および実装するためのアーキテクチャの方法を含む。その具体的な機能は、特定のアプリケーションに従って変化する。サービス水準合意70は、サービス・プロバイダと1つまたは複数のクライアントの間の契約である。品質、可用性、および責任などのサービスの特定の特徴が、サービス・プロバイダとクライアントの間で合意される。サービス水準合意は、対応するサービスレベル目標と共に、多数のサービス・パフォーマンス・メトリック(service-performance metrics)を含むことができる。金融サービスの例の場合、サービス水準合意指標は、サービスの可用性、コストのトレードオフ、およびサポートの応答時間を含むことができる。運用モジュール62において具現化されるようなサービス水準合意70は、契約に記載された定量値を反映する。データ・タイプ/オブジェクトの特性およびアドレスは、データ工学68またはサービス水準合意70のいずれかに適用されるアプリケーションの関連するデータの特徴を説明するために使用される。特性は、データ・タイプの基本的な特徴に加えて、より高度な特徴(データ構造、クラスなど)を含んでよい。金融サービスの例の場合、具体的な特性は、構造化データおよび非構造化データ、グラフ・データ、およびビッグ・データの実装を必要とする大量の情報を含むことができ、データ・ソースおよびデータ・ターゲットは、名前、アドレス、電話番号、社会保障番号、もしくは納税者登録番号、またはその他の識別番号などのデータ・タイプを含む。アドレスは、データが格納され、取り出されることになる(物理的または仮想的な)ネットワークの位置であり、使用されるプロトコル(HTTP、TCP/IPなど)に応じて、種々の形態であってよい。
【0034】
システム・モニタ・モジュール64は、分散データ・システムのコンポーネントの現在および過去の運用性能を追跡する。システム・モニタ・モジュール64は、現在の情報を、中央処理装置(CPU:central processing unit)、ディスク・ドライブまたはその他の永続的(不揮発性)メモリ、揮発性メモリ(すなわち、RAM)、これらまたはその他のリソースのクラスタなどの、さまざまなハードウェア・ツール76から受信する。この情報は、性能の使用状況、割り当て、電力消費、リソースの可用性などの、デバイスに関連付けられた任意のパラメータを含むことができる。この情報は、現在のシステム能力78を構築するために使用される。システム・モニタ64は、期間(例えば、ピーク使用時間)、特定のクライアント、または特定のサービスなどの、種々のパラメータと相関関係がある過去の運用性能情報80(すなわち、デバイスの使用状況および能力の履歴)も含む。
【0035】
データ移動最適化モジュール66は、分散データ・システム内のデータ移動、ならびに特にシステム設計者によって提供された仕様に対して、一貫性および流通などの、その他のデータ性能要因(data performance factors)を追跡する分離したモニタ82を含む。この情報は、システム・モニタ・モジュール64の過去の運用性能80に提供されることもできる。次に、データ移動最適化モジュールは、下でさらに説明されているように、必要に応じて、現在のデータ性能要因に基づいてデータ同期サービス84を呼び出すことができる。これらのサービスは、例えば、ファイル・システムのコピー、メッセージング、データベース・アクセス、転送プロトコルなどを含んでよい。したがって、必要に応じてサービス・ワーカー86が最適化される。
【0036】
例示的な実装では、本発明は、さまざまなモデルを使用して、データ管理を最適化するために使用される入力を提供する。図4に示されているように、プロセス制御メカニズム90が、サービス水準合意モデル92、データ移動実行履歴モデル94、現行システム負荷モデル96、ならびにデータ・タイプおよびQoS要件モデル98から入力を受信する。これらの特徴のいずれかまたはすべてが、コンピュータ・システム10において具現化されることができる。サービス水準合意モデル92は、各々について、データ・ソース、ターゲット、および関連するQoS基準の定義を格納することを規定する。このモデルは、データがシステム全体を通じて配置され、管理される方法を定義する。一般に、アプリケーション開発者は、この定義のみを作成し、その後、実行時に、データがシステムによって自動的に移動されて管理されるため、ソリューション開発者は、システム運用のその部分に重点を置く必要がなく、代わりに領域の価値(domain value)に重点を置くことができ、その領域においてインフラストラクチャのコーディングの投資を必要とせずに、データ・アーキテクチャの変更を採用する柔軟性を有することもできる。例示的な実装では、サービス水準合意モデル92は、データ・タイプ、コンテキストの必要条件、時間/データの必要条件、および応答時間の要件のリストを含む。
【0037】
データ移動実行履歴モデル94はデータ移動要求の過去の運用を反映し、データ移動要求の過去の運用は、処理制御メカニズム90によって、過去の運用から学習し、現在の運用結果を予測するために使用されることができ、基準を満たす(基準に従う)ために作業工数に適用される必要のあるリソースの量の情報に基づく評価を行うために、使用されることができる。図5と共に下でさらに説明されるように、データ移動実行履歴モデル94は、機械学習および予測技術を使用して、システムが最適なしきい値で動作することを保証することができる。例示的な実装では、データ移動実行履歴モデル94は、サービスの統計値の履歴、サービスのリソース消費、およびサービスの種類の実行予測を含む。現行システム負荷モデル96は、システムの既存のワークロードを追跡する。この情報は、システムの現在の能力、および次回のデータ移動アクションのQoS基準を満たす能力を理解するために必要とされる。高負荷のシステムは、作業を完了するために、利用可能なリソースと共に、軽度に使用されるシステムよりも多くのバックプレーン操作スレッドの開始を必要とすることがある。当然ながら、これはリアルタイムに変化することがあるため、アクティブな監視および適応が必要である。例示的な実装では、現行システム負荷モデル96は、リソースの利用、現在のクラスタ・サイズ、および能力評価を含む。データ・タイプおよびQoS要件モデル98は、さまざまなデータ・タイプに関する特性、およびQoS定義を実現できる方法を表す。例えば、待ち時間の少ない流通要件と共にリアルタイムの一貫性を目標にすることは、リレーショナル・データベース、分散ファイル・システム、ブロック・ストレージなどの間で、実装において異なる。例示的な実装では、データ・タイプおよびQoS要件モデル98は、データ・タイプ定義およびデータQoS定義を含む。
【0038】
プロセス制御メカニズム90は、柔軟なマイクロサービス100(データ・バックプレーン)に対して、データを移動する必要性を満たすためにワーカー・スレッドを呼び出すよう指示する。柔軟なマイクロサービス100は、異種のシステム・コンポーネントおよび技術にわたってデータを実際に移動(更新または削除)するように、拡張可能なインフラストラクチャを構成する。これらのシステムは、従来型であり、周知の予測可能なさまざまな挙動特性を有する。データ・バックプレーン・サービスは、データ・アーキテクチャにおけるデータの通信のためのメカニズムである。データ・バックプレーン・サービスの例は、ApacheのKafkaである。Kafkaは、リアルタイムのデータ・フィードを処理するために、統一された高スループットで待ち時間の少ない通信メカニズムを提供する、オープンソースのストリーム処理ソフトウェア・プラットフォームである。不正検出ソリューションのためのデータ・バックプレーン・サービスは、そのようなメッセージング・インターフェイス、アプリケーション・プログラム・インターフェイス(API:application program interfaces)、ストリーム、またはデータ通信用のその他の通信手段を含むことがある。柔軟なスケーリングとは、要求に応じてインフラストラクチャを動的に拡大または縮小する能力、すなわち、特定の時点でのアプリケーションの必要性に応じて、物理的ディスク空き容量、メモリ、CPUなどのリソースを増やすか、または減らす能力のことを指している。
【0039】
例示的な実装では、プロセス制御メカニズム90は、データに最適化された選択、データ・サービス、サービス・フィードバック、およびデータ移動のディスパッチを含む。データに最適化された選択は、応答時間要件をサービス水準合意モデル92から受信し、データ・サービスによって処理されるサービスの順序を選択する。データ・サービスは、データ・タイプおよびQoS定義をデータ・タイプおよびQoS要件モデル98から受信し、どのバックプレーン・サービスが特定のデータ・タイプに適しているかを決定する。その後、データ・サービスは、必要なデータ・バックプレーン・サービスを開始するように、データ移動のディスパッチを順序付けることができる。データ・バックプレーン・サービスは、プロセス制御メカニズム90のサービス・フィードバックにフィードバックを提供し、プロセス制御メカニズム90は、データ移動実行履歴モデル94においてサービスの統計値の履歴を更新することもできる。
【0040】
好ましい実装では、データ管理システムの予測機能が、新しい認知システムにおいて具現化される。認知システム(深層学習、ディープ・ソート、または深層質問回答(deep question answering)と呼ばれることもある)は、機械学習および問題解決を使用する人工知能の形態である。認知システムは、多くの場合、ニューラル・ネットワークを採用するが、代替の設計が存在する。ニューラル・ネットワークは、さまざまな種類であってよい。フィードフォワード・ニューラル・ネットワークは、ユニット間の接続が循環を形成しない人工ニューラル・ネットワークである。フィードフォワード・ニューラル・ネットワークは、最初に考案された最も単純な種類の人工ニューラル・ネットワークだった。このネットワークでは、情報が、入力ノードから(もしあれば)隠れノードを通って出力ノードへ、1つの方向(前方)のみに移動する。このネットワークには循環もループも存在しない。そのため、このネットワークは、回帰型ニューラル・ネットワークとは異なる。回帰型ニューラル・ネットワークは、ユニット間の接続が有向循環を形成する人工ニューラル・ネットワークの一種である。回帰型ニューラル・ネットワークは、動的な一時的挙動を示すことができるようにするネットワークの内部状態を作り出す。フィードフォワード・ニューラル・ネットワークとは異なり、回帰型ニューラル・ネットワークは、内部メモリを使用して、任意の順序の入力を処理することができる。畳み込みニューラル・ネットワークは、動物の視覚に基づく特定の種類のフィードフォワード・ニューラル・ネットワークであるため、画像データを処理すること特に役立つ。畳み込みニューラル・ネットワークは、通常のニューラル・ネットワークに類似しているが、学習可能な重みおよびバイアスを有するニューロンで構成されている。
【0041】
サポート・ベクター・マシン(SVM:support vector machine)などの、機械学習のためのニューラル・ネットワークの使用の多くの代替手段が存在する。SVMは、基本的に、トレーニング例に基づいて多次元の数学的空間を構築し、その空間内に境界を提供し、入力の2項分類(例えば、「良い」回答と「悪い」回答)を可能にする。別の方法は、有向非環状グラフで変数のセットを表すベイジアン・ネットワークを含む。このネットワークは、変数間の確率的関係を計算するために使用される。認知システムは、単一の方法の使用に限られず、すなわち、任意の数のこれらの機械学習アルゴリズムを組み込むことができる。
【0042】
人工知能の最新の実装は、IBM Watson(TM)認知技術であり、この技術は、高度な自然言語処理、情報検索、知識表現、自動推論、および機械学習技術を、開領域質問回答の分野に適用する。そのような認知システムは、既存の文書(コーパス)に依存し、人、位置、組織、および特定の物体などの、照会に関連する回答を抽出するか、または肯定的感情および否定的感情を識別するために、それらの文書をさまざまな方法で分析することができる。さまざまな技術を使用して、自然言語を分析すること、ソースを識別すること、仮説を見つけて生成すること、証拠を見つけてスコア付けすること、および仮説をマージして順位付けすることができる。回答のスコア付けおよび順位付けのためのモデルは、質問(入力)と回答(出力)の対の大きいセットに基づいてトレーニングされることができる。同じ回答を独立して見つけるアルゴリズムが多いほど、回答が正しい可能性が高くなり、その結果、全体的スコアまたは信頼水準が高くなる。
【0043】
図5は、本発明の1つの実装に従って新しい認知システム120がトレーニングされて適用されることができる方法を示している。認知システム120の予測機能は、トレーニング・データ122として使用される履歴情報に基づく。この例では、認知システムは、不正検出ソリューションを提供する金融サービス・アプリケーションの進行中の運用の結果を提供するために使用される。したがって、トレーニング・データ122は、QoS要件に関する実際の結果を伴うさまざまな状況における前の運用因子の例を構成する。例えば、トレーニング・データ122は、ピーク使用時間または活動の一時的静止を反映する時間的情報(時刻、曜日、月の日付、またはその他の暦日付など)、リソースの可用性のスナップショット、サービスを提供されている特定の顧客(または単に、顧客の数)、トランザクション負荷(すなわち、最近要求されたか、または現在処理中のトランザクションの数)、および運用システムによって使用されている通信回線上のネットワーク・トラフィックを含むことができる。トレーニング・データ122内の各データ点は、この情報および、QoS要件と比較した(すべてのデータ・タイプの)データ移動パラメータと相関関係があるその他の情報を含むことができる。言い換えると、データ点は、一部のQoS要件が満たされており、他のQoS要件が満たされていない、特定のデータ管理状態(過去の運用結果)をもたらす入力因子を提供する。このトレーニングは、特定の運用状況に関して、特定のQoS要件が満たされない可能性を認知システム120に学習させる。過去の運用因子は、データ・バックプレーン・サービスからのサービス・フィードバックで更新されることができる。
【0044】
認知システム120は、そのようにトレーニングされた後に、現在の因子に基づいて可能性のある挙動を予測するために、運用データ管理システムによって使用されることができる。現行システム運用因子(current system operational factors)124は認知システム120に供給され、これらの因子は、トレーニング・データと同じ種類(時間的、リソースなど)の入力を含む。特定の機械学習アルゴリズムが認知システム120に実装された状態で、予測された運用結果がデータ管理システムのデータ移動最適化126に転送されることができる。不正検出の例に加えて、認知システムは、計算、リソース、データ割り当て、またはサービスの使用可能時間の要件のいずれかまたはすべてが現在または近い将来に損なわれる可能性があることの指示を提供することができる。次に、データ移動最適化126が、損なわれる特定のQoS要件に基づいて、これらの欠陥をより効果的に処理するために必要なデータ・バックプレーン・サービスを優先することができる。1つの実装では、予測された運用結果は、QoSの失敗の可能性を(認知システムによって生成された、特定のQoS基準が満たされないことの信頼値に基づいて)定量的形態で示す異なる値を割り当てることができ、データ移動最適化126は、失敗する可能性が最も高いとして示された要件に関連付けられたサービスを優先することができ、すなわち、それらのサービスを最初に呼び出すか、またはさらに多くのそれらのサービスを、より高い失敗の可能性を有するQoS基準に提供するか、あるいはその両方を行うことができる。
【0045】
本発明は、1つの実装に従ってデータ管理プロセス150の論理の流れを示す図6のチャートを参照して、さらに理解されることができる。コンピュータ・システム10または分散システムを含む任意のコンピュータ・システムに対して実行されるプロセス150は、ソースおよびターゲットのデータ定義ならびにそれらのソースおよびターゲットのサービス品質基準を受信することから開始する(152)。使用される特定のコーディングおよび変数に従って、アプリケーション開発者によって定義が提供されることができる。データ管理システムは、運用ワークロードを継続的に監視する(154)。監視される因子は、例えば、リソースの使用状況、能力、および応答時間を含むことができる。それによって、進行中の運用データ・フローに対する現在の評価が確立される(156)。現在の評価が、目前の運用結果を予測するために使用される(158)。これらの結果は、認知システムによって、過去の運用データの移動に関する履歴情報を使用して識別されることができる(160)。予測された結果は、どのQoS基準が危険にさらされているかを識別するデータ移動最適化を可能にする(162)。一部のQoS基準は、より大きい危険にさらされており、それに応じて、リソースの割り当てにおける優先度が付与される。次に、データ移動最適化が、識別されたQoS基準を向上させるために、適切な最適化インフラストラクチャを適用することができる(164)。最適化インフラストラクチャ(データ・バックプレーン・サービス)は、必要に応じて達成されるべきQoSの目標を満たすために、ワーカー・スレッドを生成する。運用が継続する限り(166)、プロセスが反復してボックス154に戻り、監視を継続する。
【0046】
それによって、本発明は、データ・バックプレーンが特定の時点でのアプリケーションの必要性に動的に適応することができるように、QoSの規格を満たすためのワークロードの監視およびその後の予測スケーリングと組み合わせて、データ・バックプレーンの優れた順応性を実現する。本発明は特定の実施形態を参照して説明されたが、この説明は、制限の意味で解釈されるよう意図されていない。開示された実施形態の種々の変更および本発明の代替の実施形態は、本発明の説明を参照するときに、当業者にとって明らかになるであろう。したがって、添付の特許請求の範囲において定義された本発明の思想または範囲から逸脱することなく、そのような変更が行われるということが企図される。
図1
図2
図3
図4
図5
図6