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

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

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

特許7714290コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行)
<>
  • 特許-コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行) 図1
  • 特許-コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行) 図2
  • 特許-コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行) 図3
  • 特許-コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行) 図4
  • 特許-コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行) 図5
  • 特許-コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行) 図6
  • 特許-コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行) 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-18
(45)【発行日】2025-07-29
(54)【発明の名称】コンピュータ実装方法、コンピュータプログラムおよびシステム(セキュリティ推奨の実行)
(51)【国際特許分類】
   G06F 21/57 20130101AFI20250722BHJP
【FI】
G06F21/57 370
【請求項の数】 25
(21)【出願番号】P 2021198886
(22)【出願日】2021-12-07
(65)【公開番号】P2022092600
(43)【公開日】2022-06-22
【審査請求日】2024-06-20
(31)【優先権主張番号】17/117,295
(32)【優先日】2020-12-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】アリ マリヤ
(72)【発明者】
【氏名】マッケイ スティーブン デイル
(72)【発明者】
【氏名】スピサク マイケル ジェイ.
(72)【発明者】
【氏名】デニス ジェレ
【審査官】酒井 大門
(56)【参考文献】
【文献】特開2019-028891(JP,A)
【文献】国際公開第2020/124026(WO,A1)
【文献】特開2020-161017(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00- 21/88
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
推奨を行うように訓練されたアクションモデルを用いて、セキュリティ情報およびイベント管理(SIEMS)システムによって識別されたセキュリティインシデントに基づいて複数の推奨されるアクションを決定する段階であって
記セキュリティインシデントの潜在的なターゲットの複数の類似のターゲットを決定する段階であって、前記類似のターゲットおよび前記潜在的なターゲットが、コンピュータ通信ネットワークインフラストラクチャを含み、第1のネットワークインフラストラクチャを含む組織および前記潜在的なターゲットの間の類似性の信頼度値を割り当てるように訓練された協調フィルタリングモデルを用い、前記類似性の信頼度値が、1または複数の共有される特性における類似性を示し、類似のターゲットは、前記類似のターゲットと前記潜在的なターゲットの組織的な要因に基づいて決定され得る、段階と、
前記アクションモデルを用いて、前記類似のターゲットが取る複数のアクションを生成する段階と、
前記複数の類似のターゲットが取る1つまたは複数のアクションおよび前記信頼度値、ならびに、
前記推奨されるアクションの成功または失敗
に基づいて、複数の重みを前記アクションに割り当てる段階と、
割り当てられた前記複数の重みに基づいてソートされる、前記推奨されるアクションの優先順位付けされたリストを生成する段階と、を含む段階、
を備える、方法。
【請求項2】
前記複数の重みを割り当てる段階はさらに、前記セキュリティインシデントのタイミングと、前記推奨されるアクションのタイミングとに基づく、請求項1に記載の方法。
【請求項3】
前記推奨されるアクションのうちの1つまたは複数の成功率を含むように、前記推奨されるアクションの優先順位付けされたリストを生成する段階をさらに備える、請求項1または2に記載の方法。
【請求項4】
前記複数の類似のターゲットのうちの1つが前記推奨されるアクションのうちの1つを実行済みであると判断する段階をさらに備える、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記1つの類似のターゲットの前記信頼度値を前記1つの推奨されるアクションに割り当てる段階をさらに備える、請求項4に記載の方法。
【請求項6】
前記アクションモデルは、回帰モデルを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記協調フィルタリングモデルは、重み付けされた交互最小二乗を用いて、前記複数の類似のターゲットを識別する、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記セキュリティインシデントが発生した時点に基づいて重要である前記セキュリティインシデントに基づいて優先順位付けられた短期アクションを前記推奨されるアクションのうちの1つが含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
プロセッサに、
推奨を行うように訓練されたアクションモデルを用いて、セキュリティ情報およびイベント管理(SIEMS)システムによって識別されたセキュリティインシデントに基づいて複数の推奨されるアクションを決定する手順であって
記セキュリティインシデントの潜在的なターゲットの複数の類似のターゲットを決定する手順であって、前記類似のターゲットおよび前記潜在的なターゲットが、コンピュータ通信ネットワークインフラストラクチャを含み、第1のネットワークインフラストラクチャを含む組織および前記潜在的なターゲットの間の類似性の信頼度値を割り当てるように訓練された協調フィルタリングモデルを用い、前記類似性の信頼度値が、1または複数の共有される特性における類似性を示し、類似のターゲットは、前記類似のターゲットと前記潜在的なターゲットの組織的な要因に基づいて決定され得る、手順と、
前記アクションモデルを用いて、前記類似のターゲットが取る複数のアクションを生成する手順と、
前記複数の類似のターゲットが取る1つまたは複数のアクションおよび前記信頼度値、ならびに、
前記推奨されるアクションの成功または失敗
に基づいて、複数の重みを前記アクションに割り当てる手順と、
割り当てられた前記複数の重みに基づいてソートされる、前記推奨されるアクションの優先順位付けされたリストを生成する手順と、を含む手順、
を実行させるためのコンピュータプログラム。
【請求項10】
前記プロセッサに、
前記推奨されるアクションのうちの1つまたは複数の成功率を含むように、前記推奨されるアクションの優先順位付けされたリストを生成する手順をさらに実行させる、請求項9に記載のコンピュータプログラム。
【請求項11】
前記プロセッサに、
前記複数の類似のターゲットのうちの1つが前記推奨されるアクションのうちの1つを実行済みであると判断する手順をさらに実行させる、請求項9または10に記載のコンピュータプログラム。
【請求項12】
前記プロセッサに、
前記1つの類似のターゲットの前記信頼度値を前記1つの推奨されるアクションに割り当てる手順をさらに実行させる、請求項11に記載のコンピュータプログラム。
【請求項13】
前記アクションモデルは、回帰モデルを含む、請求項9から12のいずれか一項に記載のコンピュータプログラム。
【請求項14】
前記協調フィルタリングモデルは、重み付けされた交互最小二乗を用いて、前記複数の類似のターゲットを識別する、請求項9から13のいずれか一項に記載のコンピュータプログラム。
【請求項15】
前記セキュリティインシデントが発生した時点に基づいて重要である前記セキュリティインシデントに基づいて優先順位付けられた短期アクションを前記推奨されるアクションのうちの1つが含む、請求項9から14のいずれか一項に記載のコンピュータプログラム。
【請求項16】
1つまたは複数のコンピュータ処理回路と、
命令を格納した1つまたは複数のコンピュータ可読記憶媒体と
を備えるシステムであって、
前記命令は、前記1つまたは複数のコンピュータ処理回路により実行された場合、
推奨を行うように訓練されたアクションモデルを用いて、セキュリティ情報およびイベント管理(SIEMS)システムによって識別されたセキュリティインシデントに基づいて複数の推奨されるアクションを決定する段階であって
記セキュリティインシデントの潜在的なターゲットの複数の類似のターゲットを決定する段階であって、前記類似のターゲットおよび前記潜在的なターゲットが、コンピュータ通信ネットワークインフラストラクチャを含み、第1のネットワークインフラストラクチャを含む組織および前記潜在的なターゲットの間の類似性の信頼度値を割り当てるように訓練された協調フィルタリングモデルを用い、前記類似性の信頼度値が、1または複数の共有される特性における類似性を示し、類似のターゲットは、前記類似のターゲットと前記潜在的なターゲットの組織的な要因に基づいて決定され得る、段階と、
前記アクションモデルを用いて、前記類似のターゲットが取る複数のアクションを生成する段階と、
前記複数の類似のターゲットが取る1つまたは複数のアクションおよび前記信頼度値、ならびに、
前記推奨されるアクションの成功または失敗
に基づいて、複数の重みを前記アクションに割り当てる段階と、
割り当てられた前記複数の重みに基づいてソートされる、前記推奨されるアクションの優先順位付けされたリストを生成する段階と、を含む段階、
を含む方法を前記1つまたは複数のコンピュータ処理回路に実行させるように構成される、
システム。
【請求項17】
前記方法は、
前記複数の類似のターゲットのうちの1つが前記推奨されるアクションのうちの1つを実行済みであると判断する段階と、
前記1つの類似のターゲットの前記信頼度値を前記1つの推奨されるアクションに割り当てる段階と
をさらに含む、
請求項16に記載のシステム。
【請求項18】
前記アクションモデルは、回帰モデルを含む、請求項16または17に記載のシステム。
【請求項19】
前記協調フィルタリングモデルは、重み付けされた交互最小二乗を用いて、前記複数の類似のターゲットを識別する、請求項16から18のいずれか一項に記載のシステム。
【請求項20】
前記セキュリティインシデントが発生した時点に基づいて重要である前記セキュリティインシデントに基づいて優先順位付けられた短期アクションを前記推奨されるアクションのうちの1つが含む、請求項16から19のいずれか一項に記載のシステム。
【請求項21】
コンピュータ実装方法であって、
推奨を行うように訓練されたアクションモデルを用いて、セキュリティ情報およびイベント管理(SIEMS)システムによって識別されたセキュリティインシデントに基づいて複数の推奨されるアクションを決定する段階であって
記セキュリティインシデントの潜在的なターゲットの複数の類似のターゲットを決定する段階であって、前記類似のターゲットおよび前記潜在的なターゲットが、コンピュータ通信ネットワークインフラストラクチャを含み、第1のネットワークインフラストラクチャを含む組織および前記潜在的なターゲットの間の類似性の信頼度値を割り当てるように訓練された協調フィルタリングモデルを用い、前記類似性の信頼度値が、1または複数の共有される特性における類似性を示し、類似のターゲットは、前記類似のターゲットと前記潜在的なターゲットの組織的な要因に基づいて決定され得る、段階と、
前記アクションモデルを用いて、前記類似のターゲットが取る複数のアクションを生成する段階と、
前記複数の類似のターゲットが取る1つまたは複数のアクションおよび前記信頼度値、
前記推奨されるアクションの成功または失敗、ならびに、
前記セキュリティインシデントのタイミングおよび前記推奨されるアクションのタイミング
に基づいて、複数の重みを前記アクションに割り当てる段階と、
割り当てられた前記複数の重みに基づいてソートされる、前記推奨されるアクションの優先順位付けされたリストを生成する段階であって、前記推奨されるアクションの優先順位付けされたリストは、前記推奨されるアクションのうちの1つまたは複数の成功率を含む、生成する段階と、を含む段階、
を備える、方法。
【請求項22】
前記複数の類似のターゲットのうちの1つが前記推奨されるアクションのうちの1つを実行済みであると判断する段階と、
前記1つの類似のターゲットの前記信頼度値を前記1つの推奨されるアクションに割り当てる段階と
をさらに備える、請求項21に記載の方法。
【請求項23】
前記アクションモデルは、回帰モデルを含む、請求項21または22に記載の方法。
【請求項24】
プロセッサに、
推奨を行うように訓練されたアクションモデルを用いて、セキュリティ情報およびイベント管理(SIEMS)システムによって識別されたセキュリティインシデントに基づいて複数の推奨されるアクションを決定する手順であって
記セキュリティインシデントの潜在的なターゲットの複数の類似のターゲットを決定する手順であって、前記類似のターゲットおよび前記潜在的なターゲットが、コンピュータ通信ネットワークインフラストラクチャを含み、第1のネットワークインフラストラクチャを含む組織および前記潜在的なターゲットの間の類似性の信頼度値を割り当てるように訓練された協調フィルタリングモデルを用い、前記類似性の信頼度値が、1または複数の共有される特性における類似性を示し、類似のターゲットは、前記類似のターゲットと前記潜在的なターゲットの組織的な要因に基づいて決定され得る、手順と、
前記アクションモデルを用いて、前記類似のターゲットが取る複数のアクションを生成する手順と、
前記複数の類似のターゲットが取る1つまたは複数のアクションおよび前記信頼度値、
前記推奨されるアクションの成功または失敗、ならびに、
前記セキュリティインシデントのタイミングおよび前記推奨されるアクションのタイミング
に基づいて、複数の重みを前記アクションに割り当てる手順と、
割り当てられた前記複数の重みに基づいてソートされる、前記推奨されるアクションの優先順位付けされたリストを生成する段階であって、前記推奨されるアクションの優先順位付けされたリストは、前記推奨されるアクションのうちの1つまたは複数の成功率を含む、生成する手順と、を含む手順、
を実行させるためのコンピュータプログラム。
【請求項25】
前記協調フィルタリングモデルは、重み付けされた交互最小二乗を用いて、前記複数の類似のターゲットを識別する、請求項24に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、セキュリティに関し、より具体的には、セキュリティ推奨の実行に関する。
【背景技術】
【0002】
セキュリティアナリストは、例えば、悪意のあるユーザによる特定のクライアントのネットワークへのハッキングの試みといった潜在的なセキュリティインシデントを識別すべく、クライアントのコンピュータ通信ネットワークをモニタリングできる。加えて、セキュリティアナリストは、概してコンピュータ通信ネットワークにわたって行われる試みのパターンを識別できる。これらのパターンは、攻撃の潜在的なターゲットになり得るクライアントの脆弱性を示し得る。したがって、これらのアナリストは、悪意のあるユーザが場合によっては取り得る何らかのアクションによって生じるあらゆるダメージを軽減するために、またはそのようなアクションを防ぐために取るべきアクションについて、クライアントに対する推奨を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
セキュリティインシデントの潜在的なターゲットにとって、実際のセキュリティインシデントまたは潜在的なセキュリティインシデントによるダメージの防止もしくは軽減またはその両方のためにアクションを取ることによりこれらの推奨に応答することは、有用である。
【課題を解決するための手段】
【0004】
方法について実施形態が開示される。方法は、推奨を行うように訓練されたアクションモデルを用いて、セキュリティインシデントに基づいて複数の推奨されるアクションを決定する段階を含む。方法は、2つのターゲット間の類似性の信頼度値を割り当てるように訓練された協調フィルタリングモデルを用いて、セキュリティインシデントのターゲットの複数の類似のターゲットを決定する段階も含む。方法は、記類似のターゲットが取る1つまたは複数のアクションおよび信頼度値、ならびに、推奨されるアクションの成功または失敗に基づいて、推奨されるアクションに複数の重みを割り当てる段階をさらに含む。加えて、方法は、割り当てられた重みに基づいてソートされる、推奨されるアクションの優先順位付けされたリストを生成する段階を含む。
【0005】
さらに、本開示の態様は、コンピュータ実装方法に関する上述の機能と類似する機能を有するシステムおよびコンピュータプログラム製品を対象とする。本発明の概要は、本開示の各態様、全ての実装もしくは全ての実施形態またはその組み合わせを示すようには意図されていない。
【図面の簡単な説明】
【0006】
本願に含まれる図面は、本明細書に組み込まれ、本明細書の一部を形成する。これらは、本開示の実施形態を示し、本明細書と共に、本開示の原理を説明する役割を果たす。図面は、特定の実施形態の例示に過ぎず、本開示を限定しない。
【0007】
図1】本開示のいくつかの実施形態による、セキュリティ推奨を行うための例示的なシステムのブロック図である。
【0008】
図2】本開示のいくつかの実施形態による、セキュリティ推奨を行うための例示的な方法の処理フロー図である。
【0009】
図3】本開示のいくつかの実施形態による、セキュリティ推奨を行うための例示的な方法の処理フロー図である。
【0010】
図4】本開示のいくつかの実施形態による、推奨を行うための処理のデータフロー図である。
【0011】
図5】本開示のいくつかの実施形態による、セキュリティ推奨を行うための例示的なシステムのブロック図である。
【0012】
図6】本開示のいくつかの実施形態によるクラウドコンピューティング環境である。
【0013】
図7】本開示のいくつかの実施形態による、クラウドコンピューティング環境により提供される関数抽象化モデル層のセットである。
【0014】
本開示は様々な修正形態および代替形態に適しているが、その具体的内容は、図面において例として示されており、詳細に説明される。しかしながら、説明される特定の実施形態に本開示を限定するようには意図されていないことが理解されるべきである。逆に、本開示の趣旨および範囲に含まれる全ての修正、均等物および代替物を包含することが意図されている。
【発明を実施するための形態】
【0015】
前述のように、セキュリティアナリストは、悪意のあるユーザがセキュリティインシデントにおいて場合によっては取り得る何らかのアクションによって生じるあらゆるダメージを軽減するために、またはそのようなアクションを防ぐために取るべきアクションについて、クライアントに対する推奨を行うことができる。したがって、セキュリティアナリストは、顧客の環境をモニタリングしつつ、クライアントの通信の生成と、クライアントに対する推奨されるアクションの通知とに、比較的大量の時間を費やすことができる。
【0016】
セキュリティインシデントの潜在的なターゲットにとって、実際のセキュリティインシデントまたは潜在的なセキュリティインシデントによるダメージの防止もしくは軽減またはその両方のためにアクションを取ることによりこれらの推奨に応答することは、有用である。しかしながら、クライアントの通信は、特に関連していないとクライアントが感じ得る、型通りのような応答に似ていることがあるので、クライアントが、場合によっては無視することになり、セキュリティインシデントからの実際のダメージもしくは潜在的なダメージまたはその両方を正常に修復することに、場合によっては失敗してしまう。さらに、結果として生じるあらゆるダメージにより、クライアントセキュリティのコストが上がったり、クライアントの満足度が低下したりするかもしれない。
【0017】
したがって、本開示の実施形態は、セキュリティインシデントの実際のターゲットもしくは潜在的なターゲットまたはその両方に対してより関連性が高く、かつ、より有意義な推奨を提供できる。そのような実施形態は、類似のターゲットおよびセキュリティインシデントに対してアクションがこれまでにどれだけ成功しているかに従って優先順位付けされた、推奨されるアクションのリストを提供できる。このように、そのような実施形態は、類似のターゲットが被る類似のセキュリティインシデントに対して成功した過去の応答との類似性を反映した推奨に、文脈を提供できる。
【0018】
図1は、本開示のいくつかの実施形態による、推奨を行うための例示的なシステム100のブロック図である。システム100は、ネットワーク102と、セキュリティ情報およびイベント管理システム(SIEMS)104と、アクションモデル106と、協調フィルタリングモデル108と、推奨マネージャ110とを含む。ネットワーク102は、ローカルエリアネットワーク、ワイドエリアネットワーク、または、システム100のコンポーネント間の、特に、SIEMS104と、アクションモデル106と、協調フィルタリングモデル108と、推奨マネージャ110との間の通信を容易にするコンピュータ通信ネットワークの集合であってよい。いくつかの実施形態において、ネットワーク102は、インターネットであり得る。
【0019】
SIEMSという用語は、セキュリティ情報の管理と、セキュリティイベント、すなわち、セキュリティインシデントの管理とを組み合わせたソフトウェアツールもしくはサービスまたはその両方を指し得る。このように、SIEMS104は、コンピュータシステムもしくはコンピュータネットワークまたはその両方により生成されるログ112を分析して、潜在的なセキュリティインシデントをリアルタイムで識別できる。
【0020】
典型的には、セキュリティアナリストは、トランザクション、すなわち、ネットワークコンピュータシステムに起こるイベントを分析することにより、これらのシステムに対する脅威を識別できる。これらのイベントは、ログ112に記録される。しかしながら、ログ112のボリュームが原因で、ログデータを未処理のフォーマットで時間内に処理してあらゆる潜在的なダメージを軽減することは、セキュリティアナリストにとって難しくなり得る。したがって、SIEMS104は、イベントの正規化およびカテゴリ化と呼ばれる処理においてこれらのログ112を処理することができ、これにより、SIEMSは、人間のセキュリティアナリストが検証できる攻撃を生成する。攻撃は、SIEMSが潜在的なセキュリティインシデントとして識別するイベントである。
【0021】
アクションモデル106は、セキュリティインシデントからのダメージの防止もしくは軽減またはその両方のためにターゲットまたは潜在的なターゲットに対して取るべきアクションのリストを推奨するように訓練された機械学習モデルであり得る。本開示のいくつかの実施形態において、アクションモデル106は、チケットデータ116を含む。チケットデータ116は、アクションモデル106が訓練中に構築する推奨されるアクションと、追加の文脈とに対するセキュリティインシデントのインデックスであり得る。
【0022】
協調フィルタリングモデル108は、セキュリティインシデントのターゲット間の類似性に重み付けするように訓練された機械学習モデルであり得る。類似性は、ターゲットの組織的な要因、例えば、サイズ、および場合によっては、共有される技術的インフラストラクチャコンポーネントなどに基づいて決定され得る。類似性は、0から1の間の数値表現で表され得る。0は、類似性がないことを表し、1は、完全な類似性を表す。
【0023】
推奨マネージャ110は、有意義で実行可能な段階(軽減および防止の両方)であって、その環境に関連し、かつ、類似のターゲットについて類似の脅威を修復するように過去に機能した、段階を有するセキュリティ推奨を提供するシステムであり得る。推奨マネージャ110により提供される信頼度レベルに応じた確認のために、セキュリティ推奨は、自動的に、クライアントへ送信され得るか、アナリストへ送信され得る。このように、推奨マネージャ110は、セキュリティアナリストが推奨されるアクションの調査および構築に費やすコストおよび時間を低減して、セキュリティインシデントのターゲットまたは潜在的なターゲットであるクライアントに利益を与えることができる。
【0024】
推奨マネージャ110は、インシデントデータ114およびターゲットデータ118を含み得る。インシデントデータ114は、SIEMS104がセキュリティインシデントを報告する場合にログ112から収集され得る。インシデントデータ114は、例えば、セキュリティインシデントがいつ起こったか、ターゲットにされている組織は何か、どのSIEMSルールがセキュリティインシデントによりトリガされているか、どのコンピュータ資産もしくはネットワーク資産またはその両方が関与しており、セキュリティインシデントによる影響を受けているか等の詳細を含み得る。本開示のいくつかの実施形態において、推奨マネージャ110は、インシデントデータ114を用いてアクションモデル106を訓練できる。さらに、推奨マネージャ110は、訓練をアクションモデル106へループバックできる。
【0025】
ターゲットデータ118は、過去のセキュリティインシデントのターゲットである組織についての情報を表し得る。ターゲットデータ118は、これらのターゲットを組織的かつ技術的に説明し得る。例えば、ターゲットデータ118は、サイズ、業界、インフラストラクチャ、インフラストラクチャコンポーネントおよびサーバ等の特性を含み得る。これらの特性は、セキュリティインシデント応答に関連し得る。なぜなら、組織がセキュリティ制御をどれだけ実装しているかは、これらの特性に基づいて異なり得るからである。
【0026】
このように、推奨マネージャ110は、機械学習回帰モデルを活用してサイバーセキュリティアクションのグループの適用可能性を予測することで、特定のセキュリティインシデントを修復できる。加えて、推奨マネージャ110は、重み付けされた交互最小二乗(WALS)アルゴリズムを組み込んだ協調フィルタリングモデル108を活用して、類似の属性のクライアントを識別できる。これらの属性は、例えば、サイズ、業界およびインフラストラクチャコンポーネントを含み得る。加えて、推奨マネージャ110は、他の類似のクライアントにとって有益であった類似のサイバーインシデントの修復アクションの要因を評価できる。加えて、推奨マネージャ10は、指定されたサイバーインシデントに対して取られたアクションについてその時点で妥当性が確認されていたかどうかに基づく、時間分析上の見通しを活用できる。さらに、いくつかのアクションは、実装するのに他のアクションよりも長い時間がかかり得る。したがって、推奨マネージャ110は、セキュリティインシデントが発生した場合において、その時点に基づき攻撃が重要かつ緊急であるときに取るべき短期アクションに優先順位付けできる。さらに、推奨マネージャ110は、優先順序に従って取られる結果的なアクションの信頼度スコアを考慮できる。
【0027】
このように、推奨マネージャ110は、セキュリティインシデントに応答して取るべきアクションの推奨されるリストのカスタマイズをセキュリティ専門家が試みる時間および費用を節約するのに役立ち得る。さらに、推奨マネージャ110は、クライアントが型通りのタイプの応答を受けるのを防ぐことができる。なぜなら、推奨マネージャ110からの推奨は、個々の顧客用により調整された応答を用い得るので、顧客の満足度および定着率が高まるからである。したがって、推奨マネージャ110は、調整された顧客関連アクションをクライアントに提供できる。加えて、推奨マネージャ110は、人間による分析では識別に失敗し得る業界の幅広い見通しとの相関を提供できる。
【0028】
図2は、本開示のいくつかの実施形態による、セキュリティ推奨を行うための例示的な方法200の処理フロー図である。推奨マネージャ110などの推奨マネージャは、方法200を実行し得る。
【0029】
動作202において、推奨マネージャ110は、セキュリティインシデントに基づいて推奨されるアクションのリストを決定するようにアクションモデル106を訓練し得る。アクションモデル106を訓練することは、過去のセキュリティインシデントに関する調査データと、ターゲットが取ったアクションと、取られたアクションの成果とを収集することによりチケットデータ116を生成することを伴い得る。そのような情報は、チケットデータ116に収集され得る。したがって、訓練されたアクションモデル106は、将来のセキュリティインシデントの調査詳細に基づいて、取るべき推奨されるアクションのセットを決定できる。
【0030】
動作204において、推奨マネージャ110は、類似のアクションを取る類似のターゲットを識別するように協調フィルタリングモデル108を訓練し得る。協調フィルタリングモデル108を訓練することは、協調フィルタリングを用いて、例えば、サイズ、業界、インフラストラクチャ、インフラストラクチャコンポーネントおよびサーバ等の様々なターゲット特性に基づき、類似のターゲットをグループ化することを伴い得る。なぜなら、企業がこれらの特性に基づいてセキュリティ制御を異なるように実装し得るからである。したがって、協調フィルタリングモデル108は、ドキュメント化された特性に基づいて、訓練データ内のあるターゲットと複数のターゲットとの類似性にグレード付けすることができる。
【0031】
動作206において、推奨マネージャ110は、セキュリティインシデントに応答して、ターゲットに対して取るべき推奨されるアクションの優先順位付けされたリストを生成し得る。本開示のいくつかの実施形態において、推奨マネージャ110は、協調フィルタリングモデル108を用いて、アクションモデル106により推奨されるアクションを取る他のターゲットの類似性に重み付けできる。本開示のいくつかの実施形態において、アクションモデル106はさらに、アクションが成功したかどうかに基づいて、推奨されるアクションに重み付けできる。
【0032】
図3は、本開示のいくつかの実施形態による、セキュリティ推奨を行うための例示的な方法300の処理フロー図である。推奨マネージャ110などの推奨マネージャは、方法300を実行し得る。
【0033】
動作302において、推奨マネージャ110は、セキュリティインシデントに基づいて、かつ、図1に関して説明されたアクションモデル106などのアクションモデルを用いて、アクションのリストを決定し得る。アクションのリストは、例えば、取られたアクションと、成果とを含み得る。本開示のいくつかの実施形態において、推奨マネージャ110は、セキュリティアナリストが動作を開始する前でさえ、例えばアクションモデル106などの訓練された回帰モデルを通じて、セキュリティインシデントの調査データを入力できる。このように、セキュリティアナリストは、推奨マネージャ110の動作を拡張できる。
【0034】
動作304において、推奨マネージャ110は、協調フィルタリングモデル108を用いて、ターゲットに基づき、アクションのリストに重み付けし得る。本開示のいくつかの実施形態によれば、推奨マネージャ110は、協調フィルタリングモデル108を通じてターゲットデータ118を実行して、過去のセキュリティインシデントにおける他のターゲットの類似性に関する信頼度値を決定できる。加えて、推奨マネージャ110は、アクションモデル106からのアクションの決定されたリストを、類似のターゲットが取るアクションと相関させ得る。したがって、決定されたリストからのアクションが類似のターゲットにより実行された場合、推奨マネージャ110は、当該ターゲットの過去のターゲットとの類似性を示す、アクションに対する重み付けされた値を適用できる。さらに、特定のアクションについて妥当性が確認されている、もしくは特定のアクションが成功している、またはその両方であると推奨マネージャ110が判断した場合、推奨マネージャは、当該アクションが失敗した場合よりも高い値で当該アクションに重み付けし得る。
【0035】
動作306において、推奨マネージャ110はさらに、セキュリティインシデントのタイミングに基づいて、アクションのリストに重み付けし得る。いくつかのシナリオにおいて、時期は、セキュリティインシデントの発生率が休日および記念日等の付近で高くなっているかどうかを示し得る。したがって、本開示のいくつかの実施形態において、推奨マネージャ110はさらに、方法300をトリガしたアクションがこれまでに取られたタイミングに基づいて、アクションのリストに重み付けし得る。したがって、アクションが取られた過去のセキュリティインシデントが、現在のセキュリティインシデントとは異なる時期に発生している場合、推奨マネージャ110は、重み付けを低下させ得る。同様に、時期が、予め定められた時間閾値に含まれる場合、推奨マネージャ110は、重み付けを増加させ得る。
【0036】
動作308において、推奨マネージャ110は、アクションの重み付けされリストに基づいて、推奨されるアクションの優先順位付けされたリストを生成し得る。優先順位付けされたリストは、考えられる成果に基づく重み付けされた結果および推奨を含み得る。言い換えると、優先順位付けされたリストは、アクションおよび成果の重み付けされたリストであり得る。アクションの優先順位は、その累積重みに相関する。累積重みは、過去の成功、過去のターゲットとの類似性およびタイミング等に基づき得る。したがって、最優先されるのは、比較的最も高い累積重みを有するアクションであり、最終的に優先順位が最も低いのは、比較的最も小さい重みを有するアクションである。本開示のいくつかの実施形態において、優先順位付けされたリストは、類似のクライアントが取ったアクションの成功率を示し得る。
【0037】
図4は、本開示のいくつかの実施形態による、推奨を行うための処理400のデータフロー図である。処理400において、SIEMS104などのSIEMSが、セキュリティインシデント402を生成し得る。セキュリティインシデント402は、クライアントのネットワークに対する悪意のあるアクティビティを示し得る。したがって、セキュリティインシデント402は、インシデントデータ404を生成できる。インシデントデータ404は、図1に関して説明されたインシデントデータ114と類似し得る。図4を再び参照すると、セキュリティインシデント402に応答して、推奨マネージャ110は、インシデントデータ404を推奨モデル406に入力し得る。推奨モデル406は、アクションモデル106と類似し得る。加えて、推奨モデル406は、前のチケット408を含み得る。前のチケット408は、チケットデータ116と類似し得る。したがって、推奨モデル406は、セキュリティインシデント402のインシデントデータ404に基づいて、推奨されるアクションのリストを提供できる。推奨されるアクションのリストは、以下でより詳細に説明される、アクションの相互参照ターゲット414という処理に入力され得る。
【0038】
推奨モデル406へのインシデントデータ404の提供に加え、推奨マネージャ110は、インシデントデータ404を協調フィルタリングモデル410に入力し得る。協調フィルタリングモデル410は、協調フィルタリングモデル108と類似し得る。加えて、協調フィルタリングモデル410は、前のターゲット412を含み得る。前のターゲット412は、セキュリティインシデントのターゲットについてのデータであり得ると共に、ターゲットデータ118と類似し得る。インシデントデータ404に応答して、協調フィルタリングモデル410は、セキュリティインシデント402のターゲットと類似するターゲットのリストと、0から100%というスケールで類似性を示す対応する数値重み値とを生成できる。加えて、推奨マネージャ110は、類似のターゲットのリストをアクションの相互参照ターゲット414という処理に入力し得る。
【0039】
アクションの相互参照ターゲット414において、推奨マネージャ110は、協調フィルタリングモデル410からの類似のターゲットにより実行された、推奨モデル406からの推奨されるアクションを識別し得る。加えて、推奨マネージャ110は、そのようなターゲットの重み付け値を対応するアクションに割り当て得る。さらに、推奨マネージャ110はさらに、過去の成果が成功したかどうかに基づいて、推奨されるアクションに重み付けできる。したがって、推奨マネージャ110は、各々に割り当てられた重みに基づいてソートされる、推奨されるアクションの優先順位付けされたリスト420を生成できる。
【0040】
したがって、アクションの相互参照ターゲット414は、タイミング分析416という処理への入力のために、推奨されるアクションの重み付けされたリストを生成できる。タイミング分析416は、推奨マネージャ110が、過去のアクションのタイミングと、現在のセキュリティインシデント402のタイミングとに基づいて、推奨されるアクションにさらに重み付けすることを伴い得る。
【0041】
図5は、本開示のいくつかの実施形態による例示的な推奨マネージャ500のブロック図である。様々な実施形態において、推奨マネージャ500は、推奨マネージャ110と類似しており、図2および図3において説明された方法もしくは図1および図4において説明された機能またはその両方を実行できる。いくつかの実施形態において、推奨マネージャ500は、前述の方法もしくは機能またはその両方についての命令をクライアントマシンに提供することで、クライアントマシンが推奨マネージャ500により提供される命令に基づいて当該方法または当該方法の一部を実行するようにする。いくつかの実施形態において、推奨マネージャ500は、複数のデバイスに組み込まれたハードウェア上で実行されるソフトウェアを含む。
【0042】
推奨マネージャ500は、メモリ525と、ストレージ530と、相互接続(例えば、バス)520と、1つまたは複数のCPU505(本明細書において、プロセッサ505とも称される)と、I/Oデバイスインタフェース510と、I/Oデバイス512と、ネットワークインタフェース515とを含む。
【0043】
各CPU505は、メモリ525またはストレージ530に格納されたプログラム命令を取得および実行する。相互接続520は、CPU505と、I/Oデバイスと、インタフェース510と、ストレージ530と、ネットワークインタフェース515と、メモリ525との間でプログラム命令などのデータを移動させるために用いられる。相互接続520は、1つまたは複数のバスを用いて実装され得る。CPU505は、様々な実施形態において、単一のCPU、複数のCPU、または複数の処理コアを有する単一のCPUであり得る。いくつかの実施形態において、CPU505は、デジタル信号プロセッサ(DSP)であり得る。いくつかの実施形態において、CPU505は、1つまたは複数の3D集積回路(3DIC)(例えば、3Dウェハレベルパッケージ(3DWLP)、3Dインタポーザベースインテグレーション、3D積層IC(3D-SIC)、モノリシック3DIC、3D異種インテグレーション、3Dシステムインパッケージ(3DSiP)もしくはパッケージオンパッケージ(PoP)またはその組み合わせによるCPU構成)を含む。メモリ525は概して、ランダムアクセスメモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)またはフラッシュ)を代表するように含まれる。ストレージ530は概して、ハードディスクドライブ、ソリッドステートデバイス(SSD)、取り外し可能メモリカード、光ストレージもしくはフラッシュメモリデバイスまたはその組み合わせなどの不揮発性メモリを代表するように含まれる。加えて、ストレージ530は、ストレージエリアネットワーク(SAN)デバイス、クラウド、または、I/Oデバイスインタフェース510を介して推奨マネージャ500に、もしくはネットワークインタフェース515を介してネットワーク550に接続された他のデバイスを含み得る。
【0044】
いくつかの実施形態において、メモリ525は、命令560を格納する。しかしながら、様々な実施形態において、命令560は、部分的にメモリ525に、かつ、部分的にストレージ530に格納されるか、全体的にメモリ525に、または全体的にストレージ530に格納されるか、ネットワークインタフェース515を介してネットワーク550上でアクセスされる。
【0045】
命令560は、図2および図3において説明された方法もしくは図1および図4において説明された機能またはその両方のいずれかの部分または全てを実行するためのプロセッサ実行可能命令であり得る。
【0046】
様々な実施形態において、I/Oデバイス512は、情報の提示および入力の受信ができるインタフェースを含む。例えば、I/Oデバイス512は、推奨マネージャ500とインタラクトするリスナに情報を提示でき、リスナから入力を受信できる。
【0047】
推奨マネージャ500は、ネットワークインタフェース515を介してネットワーク550に接続される。ネットワーク550は、物理ネットワーク、無線ネットワーク、セルラネットワークまたは異なるネットワークを備え得る。
【0048】
いくつかの実施形態において、推奨マネージャ500は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、または、直接的なユーザインタフェースがほとんどないか全くないが、他のコンピュータシステム(クライアント)からの要求を受信するサーバコンピュータもしくは類似のデバイスであり得る。さらに、いくつかの実施形態において、推奨マネージャ500は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップコンピュータもしくはノートブックコンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、ネットワークスイッチもしくはネットワークルータ、または任意の他の適切なタイプの電子デバイスとして実装され得る。
【0049】
図5は例示的な推奨マネージャ500の代表的な主要コンポーネントを示すように意図されていることに留意されたい。しかしながら、いくつかの実施形態において、個々のコンポーネントは、図5に表されるよりも高いか低い複雑度を有する可能性があり、図5に示されるもの以外の、または図5に示されるものとは他のコンポーネントが存在する可能性があり、そのようなコンポーネントの数、タイプおよび構成は、変わる可能性がある。
【0050】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装は、クラウドコンピューティング環境に限定されない。むしろ、本開示の実施形態は、現在知られているか今後開発される任意の他のタイプのコンピューティング環境と併せて実装できる。
【0051】
クラウドコンピューティングは、管理の手間またはサービスのプロバイダとのインタラクションを最小限に抑えながら迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシンおよびサービス)の共有プールへの便利なオンデマンドのネットワークアクセスを可能にするためのサービス供給モデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデルおよび少なくとも4つの展開モデルを含み得る。
【0052】
特性は以下の通りである。
【0053】
オンデマンドセルフサービス:クラウド消費者が、サービスのプロバイダとのヒューマンインタラクションを要求することなく、必要に応じて自動的に、サーバ時間およびネットワークストレージなどのコンピューティング機能を一方的にプロビジョニングできる。
【0054】
ブロードネットワークアクセス:機能がネットワークを介して利用可能であり、異種混合のシンクライアントプラットフォームまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップおよびPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0055】
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを用いて複数の消費者にサービスを提供するためにプールされ、異なる物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。概して消費者は提供されるリソースの正確な位置に関する制御または知識を有しないが、より高い抽象化レベル(例えば、国、州またはデータセンタ)で位置を指定でき得るという点で、位置独立感がある。
【0056】
迅速伸縮性:機能が、素早くスケールアウトするように、いくつかの場合には自動的に、迅速かつ伸縮自在にプロビジョニングでき、素早くスケールインするように迅速にリリースできる。消費者にとって、プロビジョニングのために利用可能な機能は、無制限に見えることが多く、任意の時点で任意の量を購入できる。
【0057】
測定されるサービス:クラウドシステムが、サービスのタイプ(例えば、ストレージ、処理、帯域幅およびアクティブユーザアカウント)に対して適切なある抽象化レベルで計量機能を利用することにより、リソースの使用を自動的に制御および最適化する。リソースの使用がモニタリング、制御および報告され得ることで、利用されるサービスのプロバイダおよび消費者の両方に透明性が提供される。
【0058】
サービスモデルは以下の通りである。
【0059】
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを用いることである。このアプリケーションは、ウェブブラウザ(例えば、ウェブベース電子メール)などのシンクライアントインタフェースを通じて、様々なクライアントデバイスからアクセス可能である。限定的なユーザ固有のアプリケーション構成設定は例外になり得るが、消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージまたはさらには個々のアプリケーション機能を含む、基礎となるクラウドインフラストラクチャを管理または制御しない。
【0060】
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによりサポートされるプログラミング言語およびツールを用いて作成される、消費者により作成または取得されたアプリケーションをクラウドインフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステムまたはストレージを含む、基礎となるクラウドインフラストラクチャを管理または制御しないが、展開されたアプリケーションおよび場合によってはアプリケーションホスト環境構成に対する制御を有する。
【0061】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理と、ストレージと、ネットワークと、オペレーティングシステムおよびアプリケーションを含み得る任意のソフトウェアを消費者が展開および実行できる他の基本的なコンピューティングリソースとをプロビジョニングすることである。消費者は、基礎となるクラウドインフラストラクチャを管理または制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションに対する制御を有し、場合によっては、選択したネットワークコンポーネント(例えば、ホストファイアウォール)の限定的な制御を有する。
【0062】
展開モデルは以下の通りである。
【0063】
プライベートクラウド:クラウドインフラストラクチャは、ある組織のみのために動作させられる。プライベートクラウドは、その組織またはサードパーティにより管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
【0064】
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織により共有され、関心事項(例えば、ミッション、セキュリティ要件、ポリシおよび準拠検討事項)を共有する特定のコミュニティをサポートする。プライベートクラウドは、これらの組織またはサードパーティにより管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
【0065】
パブリッククラウド:クラウドインフラストラクチャは、一般大衆または大きい業界グループに対して利用可能にされ、クラウドサービスを販売する組織により所有される。
【0066】
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティのままであるが、データおよびアプリケーションのポータビリティを可能にする標準型またはプロプライエタリ型の技術(例えば、クラウド間での負荷分散のためのクラウドバースト)により共に結合された2つまたはそれよりも多くのクラウド(プライベート型、コミュニティ型またはパブリック型)の複合物である。
【0067】
クラウドコンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性およびセマンティックインターオペラビリティに重点が置かれている。クラウドコンピューティングの中心には、相互接続ノードのネットワークを含むインフラストラクチャがある。
【0068】
図6は、本開示のいくつかの実施形態によるクラウドコンピューティング環境610である。示されるように、クラウドコンピューティング環境610は、1つまたは複数のクラウドコンピューティングノード600を含む。クラウドコンピューティングノード600は、図2および図3において説明された方法もしくは図1および図4において説明された機能またはその両方を実行できる。加えて、クラウドコンピューティングノード600は、例えば、パーソナルデジタルアシスタント(PDA)もしくは携帯電話600A、デスクトップコンピュータ600B、ラップトップコンピュータ600Cもしくは自動車コンピュータシステム600Nまたはその組み合わせなど、クラウド消費者により用いられるローカルコンピューティングデバイスと通信できる。さらに、クラウドコンピューティングノード600は、互いに通信できる。また、クラウドコンピューティングノード600は、上述のプライベートクラウド、コミュニティクラウド、パブリッククラウドもしくはハイブリッドクラウドまたはそれらの組み合わせなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(不図示)。これにより、クラウドコンピューティング環境610は、インフラストラクチャ、プラットフォームもしくはソフトウェアまたはその組み合わせを、クラウド消費者がローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとして提供することが可能になる。図6に示されるコンピューティングデバイス600A~Nのタイプは例示のみが意図されており、コンピューティングノード600およびクラウドコンピューティング環境610は、あらゆるタイプのネットワークもしくはネットワークアドレス指定可能な接続またはその両方を介して(例えば、ウェブブラウザを用いて)あらゆるタイプのコンピュータ化されたデバイスと通信できることを理解されたい。
【0069】
図7は、本開示のいくつかの実施形態による、クラウドコンピューティング環境610(図6)により提供される関数抽象化モデル層のセットである。図7に示されるコンポーネント、層および機能は例示のみが意図されており、本開示の実施形態はこれらに限定されないことが前もって理解されるべきである。以下に示されるように、以下の層および対応する機能が提供される。
【0070】
ハードウェアおよびソフトウェア層700は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム702と、RISC(縮小命令セットコンピュータ)アーキテクチャベースサーバ704と、サーバ706と、ブレードサーバ708と、ストレージデバイス710と、ネットワークおよびネットワークコンポーネント712とを含む。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア714およびデータベースソフトウェア716を含む。
【0071】
仮想化層720は抽象化層を提供し、抽象化層からは、仮想エンティティの以下の例、すなわち、仮想サーバ722と、仮想ストレージ724と、仮想プライベートネットワークを含む仮想ネットワーク726と、仮想アプリケーションおよびオペレーティングシステム728と、仮想クライアント730とが提供され得る。
【0072】
一例において、管理層740は、以下に説明される機能を提供し得る。リソースプロビジョニング742は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を提供する。計量および価格設定744は、リソースがクラウドコンピューティング環境内で利用されるときのコスト追跡と、これらのリソースの消費に対する課金または請求とを提供する。一例において、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウド消費者およびタスクについての識別情報検証だけでなく、データおよび他のリソースの保護を提供する。ユーザポータル746は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理748は、必要とされるサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を提供する。サービスレベル管理748は、静的なセンサデータを処理するための適切な処理能力およびメモリを割り当て得る。サービスレベルアグリーメント(SLA)計画および達成750は、将来の要件がSLAに従って予想されるクラウドコンピューティングリソースの事前準備および調達を提供する。
【0073】
ワークロード層760は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション762、ソフトウェア開発およびライフサイクル管理764、仮想教室教育配信766、データ解析処理768、トランザクション処理770ならびに推奨マネージャ772を含む。
【0074】
本開示は、あらゆる可能な技術的詳細統合レベルのシステム、方法もしくはコンピュータプログラム製品またはその組み合わせであってよい。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を有する1つの(または複数の)コンピュータ可読記憶媒体を含み得る。
【0075】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、限定されるわけではないが、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述のものの任意の好適な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な例の非包括的な列挙は、ポータブルコンピュータディスケットと、ハードディスクと、ランダムアクセスメモリ(RAM)と、リードオンリメモリ(ROM)と、消去可能プログラマブルリードオンリメモリ(EPROM)またはフラッシュメモリと、スタティックランダムアクセスメモリ(SRAM)と、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)と、デジタル多用途ディスク(DVD)と、メモリスティックと、フロッピディスクと、パンチカード、または命令を記録した溝内の隆起構造などの機械的に符号化されたデバイスと、前述のものの任意の好適な組み合わせとを含む。本明細書において用いられるコンピュータ可読記憶媒体自体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)または電線を通じて伝送される電気信号など、一時的な信号と解釈されるべきではない。
【0076】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスへ、または、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークもしくは無線ネットワークまたはその組み合わせを介して外部コンピュータもしくは外部ストレージデバイスへダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはその組み合わせを含み得る。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0077】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、例えばSmalltalk(登録商標)、C++、Java(登録商標)もしくはPython等のオブジェクト指向プログラミング言語、「C」プログラミング言語などの手続き型プログラミング言語もしくは同様のプログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで書き込まれるソースコードもしくはオブジェクトコードであってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモートコンピュータ上で、または全体的にリモートコンピュータもしくはサーバ上で実行され得る。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、(例えば、インターネットサービスプロバイダを用いるインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本開示の態様を実行すべく、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行して電子回路をパーソナライズし得る。
【0078】
本開示の態様は、本開示の実施形態による方法、装置(システム)およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書において説明される。フローチャート図もしくはブロック図またはその両方の各ブロックと、フローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせとがコンピュータ可読プログラム命令により実装され得ることが理解されるであろう。
【0079】
機械を生成するためにこれらのコンピュータ可読プログラム命令をコンピュータのプロセッサまたは他のプログラム可能なデータ処理装置に提供して、コンピュータのプロセッサまたは他のプログラム可能なデータ処理装置を介して実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実装するための手段を作成するようにしてよい。また、特定の方式で機能するようコンピュータ、プログラム可能なデータ処理装置もしくは他のデバイスまたはその組み合わせに指示できるコンピュータ可読記憶媒体にこれらのコンピュータ可読プログラム命令を格納して、内部に格納された命令を有するコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定される機能/動作の態様を実装する命令を含む製造品を備えるようにしてよい。
【0080】
また、一連の動作段階をコンピュータ、他のプログラム可能な装置または他のデバイス上で実行させてコンピュータ実装処理を生成するためにコンピュータ可読プログラム命令をコンピュータ、他のプログラム可能なデータ処理装置または他のデバイスにロードして、コンピュータ、他のプログラム可能な装置または他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実装するようにしてよい。
【0081】
図内のフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能および動作を示す。これに関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメントまたは部分を表してよい。いくつかの代替的な実装において、ブロックに示される機能は、図に示される順序以外で行われ得る。例えば、連続して示される2つのブロックが、実際には、1つの段階として実現されても、同時に、実質的に同時に、部分的にまたは全体的に時間的に重複した方式で実行されてもよく、これらのブロックが、関与する機能に応じて逆の順序で実行されることがあってもよい。ブロック図もしくはフローチャート図またはその両方の各ブロック、ならびにブロック図もしくはフローチャート図またはその両方におけるブロックの組み合わせは、指定された機能もしくは動作を実行するか、または専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースシステムにより実装され得ることにも留意されたい。
図1
図2
図3
図4
図5
図6
図7