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

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

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許-ワークロードセキュリティリング 図1
  • 特許-ワークロードセキュリティリング 図2A
  • 特許-ワークロードセキュリティリング 図2B
  • 特許-ワークロードセキュリティリング 図3
  • 特許-ワークロードセキュリティリング 図4
  • 特許-ワークロードセキュリティリング 図5
  • 特許-ワークロードセキュリティリング 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-23
(45)【発行日】2024-10-31
(54)【発明の名称】ワークロードセキュリティリング
(51)【国際特許分類】
   G06F 9/48 20060101AFI20241024BHJP
   G06F 21/53 20130101ALI20241024BHJP
   G06F 9/46 20060101ALI20241024BHJP
【FI】
G06F9/48 300H
G06F21/53
G06F9/46 420A
【請求項の数】 20
(21)【出願番号】P 2023561878
(86)(22)【出願日】2022-03-31
(65)【公表番号】
(43)【公表日】2024-03-27
(86)【国際出願番号】 US2022022949
(87)【国際公開番号】W WO2022216530
(87)【国際公開日】2022-10-13
【審査請求日】2024-03-25
(31)【優先権主張番号】17/227,312
(32)【優先日】2021-04-10
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ボラフカ,ライナー
(72)【発明者】
【氏名】ジョイナー,アーロン
(72)【発明者】
【氏名】スティルソン,ケン
(72)【発明者】
【氏名】チャピンスキー,マイケル
【審査官】三坂 敏夫
(56)【参考文献】
【文献】米国特許出願公開第2019/0317825(US,A1)
【文献】特表2009-512922(JP,A)
【文献】国際公開第2009/087702(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
G06F 21/53
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させ、
前記動作が、前記複数のセキュリティリング(160)の各セキュリティリング(160)について、
前記セキュリティリング(160)に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットについてリソース利用率(222)を決定することと、
前記決定されたリソース利用率(222)を使用して、前記セキュリティリング(160)に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットにおけるコンピューティングデバイス(162)の数を調整することと、
をさらに含む方法。
【請求項2】
データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させ、
前記動作が、前記複数のワークロード(102)を受信する前に、前記分散コンピューティングシステム(140)の各それぞれのコンピューティングデバイス(162)について、
前記それぞれのコンピューティングデバイス(162)のセキュリティ体制を特徴付ける一組のパラメータ(320)を取得することと、
前記一組のパラメータ(320)を使用して、前記それぞれのコンピューティングデバイス(162)を前記複数のセキュリティリング(160)のうちの1つに割り当てることと、
をさらに含む方法。
【請求項3】
データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させ、
前記複数のワークロード(102)の各それぞれのワークロード(102)に対する前記それぞれのセキュリティ基準(104)が、前記それぞれのワークロード(102)のセキュリティ体制を含む方法。
【請求項4】
前記セキュリティ体制が、前記それぞれのワークロード(102)の監査を含む、請求項またはに記載の方法。
【請求項5】
前記複数のセキュリティリング(160)が、低セキュリティリング(160L)および高セキュリティリング(160H)を含む、請求項1~のいずれかに記載の方法。
【請求項6】
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、低セキュリティレベル(410L)、中セキュリティレベル(410M)、または高セキュリティレベル(410H)のうちの1つを含む、請求項に記載の方法。
【請求項7】
データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させ、
前記複数のセキュリティリング(160)が、低セキュリティリング(160L)および高セキュリティリング(160H)を含み、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、低セキュリティレベル(410L)、中セキュリティレベル(410M)、または高セキュリティレベル(410H)のうちの1つを含み、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、前記低セキュリティレベル(410L)を含む場合、前記低セキュリティリング(160L)のみが、前記それぞれのワークロード(102)を実行する資格があり、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、前記高セキュリティレベル(410H)を含む場合、前記高セキュリティリング(160H)のみが、前記それぞれのワークロード(102)を実行する資格があり、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、前記中セキュリティレベル(410M)を含む場合、前記低セキュリティリング(160L)および前記高セキュリティリング(160H)の両方が、前記それぞれのワークロード(102)を実行する資格がある方法。
【請求項8】
前記複数のセキュリティリング(160)の各セキュリティリング(160)について、
前記セキュリティリング(160)が、それぞれのセキュリティ要件(310)に関連付けられ、
前記セキュリティリング(160)に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットにおける各コンピューティングデバイス(162)が、前記セキュリティリング(160)の前記それぞれのセキュリティ要件(310)に従う、請求項1~7のいずれかに記載の方法。
【請求項9】
前記複数のセキュリティリング(160)の各セキュリティリング(160)に対する前記それぞれのセキュリティ要件(310)が、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に対する前記それぞれのセキュリティ要件(310)とは異なるレベルの物理的セキュリティを含む、請求項に記載の方法。
【請求項10】
前記複数のワークロード(102)の各それぞれのワークロード(102)に対する前記それぞれのセキュリティ基準(104)が、前記それぞれのワークロード(102)の機密性を含む、請求項1~のいずれかに記載の方法。
【請求項11】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信するメモリハードウェア(142)であって、前記データ処理ハードウェア(144)上で実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させる命令を記憶するメモリハードウェア(142)と、
を備え、
前記動作が、前記複数のセキュリティリング(160)の各セキュリティリング(160)について、
前記セキュリティリング(160)に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットについてリソース利用率(222)を決定することと、
前記決定されたリソース利用率(222)を使用して、前記セキュリティリング(160)に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットにおけるコンピューティングデバイス(162)の数を調整することと、
をさらに含むシステム。
【請求項12】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信するメモリハードウェア(142)であって、前記データ処理ハードウェア(144)上で実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させる命令を記憶するメモリハードウェア(142)と、
を備え、
前記動作が、前記複数のワークロード(102)を受信する前に、前記分散コンピューティングシステムの各それぞれのコンピューティングデバイス(162)について、
前記それぞれのコンピューティングデバイス(162)のセキュリティ体制を特徴付ける一組のパラメータ(320)を取得することと、
前記一組のパラメータ(320)を使用して、前記それぞれのコンピューティングデバイス(162)を前記複数のセキュリティリング(160)のうちの1つに割り当てることと、
をさらに含むシステム。
【請求項13】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信するメモリハードウェア(142)であって、前記データ処理ハードウェア(144)上で実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させる命令を記憶するメモリハードウェア(142)と、
を備え、
前記複数のワークロード(102)の各それぞれのワークロード(102)に対する前記それぞれのセキュリティ基準(104)が、前記それぞれのワークロード(102)のセキュリティ体制を含むシステム。
【請求項14】
前記セキュリティ体制が、前記それぞれのワークロード(102)の監査を含む、請求項12または13に記載のシステム。
【請求項15】
前記複数のセキュリティリング(160)が、低セキュリティリング(160L)および高セキュリティリング(160H)を含む、請求項1114のいずれかに記載のシステム。
【請求項16】
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、低セキュリティレベル(410L)、中セキュリティレベル(410M)、または高セキュリティレベル(410H)のうちの1つを含む、請求項15に記載のシステム。
【請求項17】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信するメモリハードウェア(142)であって、前記データ処理ハードウェア(144)上で実行されると、前記データ処理ハードウェア(144)に、
複数のワークロード(102)を受信することであって、各ワークロード(102)が、それぞれのセキュリティ基準(104)に関連付けられるとともに、分散コンピューティングシステム(140)で実行するようにスケジュールされており、前記分散コンピューティングシステム(140)が、複数のセキュリティリング(160)に分割されており、前記複数のセキュリティリング(160)の各セキュリティリング(160)が、前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットに関連付けられ、前記それぞれのサブセットが、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に関連付けられた前記分散コンピューティングシステム(140)のコンピューティングデバイス(162)のそれぞれのサブセットから物理的に分離されている、受信することと、
前記複数のワークロード(102)の各それぞれのワークロード(102)について、
前記それぞれのセキュリティ基準(104)を使用して、前記それぞれのワークロード(102)のセキュリティレベル(410)を決定することと、
前記それぞれのワークロード(102)の前記セキュリティレベル(410)を使用して、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの1つまたは複数を特定することと、
前記それぞれのワークロード(102)を、前記それぞれのワークロード(102)を実行する資格がある前記複数のセキュリティリング(160)のうちの前記特定された1つまたは複数に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス(162)で実行することと、
を含む動作を実行させる命令を記憶するメモリハードウェア(142)と、
を備え、
前記複数のセキュリティリング(160)が、低セキュリティリング(160L)および高セキュリティリング(160H)を含み、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、低セキュリティレベル(410L)、中セキュリティレベル(410M)、または高セキュリティレベル(410H)のうちの1つを含み、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、前記低セキュリティレベル(410L)を含む場合、前記低セキュリティリング(160L)のみが、前記それぞれのワークロード(102)を実行する資格があり、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、前記高セキュリティレベル(410H)を含む場合、前記高セキュリティリング(160H)のみが、前記それぞれのワークロード(102)を実行する資格があり、
前記それぞれのワークロード(102)に対する前記決定されたセキュリティレベル(410)が、前記中セキュリティレベル(410M)を含む場合、前記低セキュリティリング(160L)および前記高セキュリティリング(160H)の両方が、前記それぞれのワークロード(102)を実行する資格があるシステム。
【請求項18】
前記複数のセキュリティリング(160)の各セキュリティリング(160)について、
前記セキュリティリング(160)が、それぞれのセキュリティ要件(310)に関連付けられ、
前記セキュリティリング(160)に関連付けられたコンピューティングデバイス(162)の前記それぞれのサブセットにおける各コンピューティングデバイス(162)が、前記セキュリティリング(160)の前記それぞれのセキュリティ要件(310)に従う、請求項11~17のいずれかに記載のシステム。
【請求項19】
前記複数のセキュリティリング(160)の各セキュリティリング(160)に対する前記それぞれのセキュリティ要件(310)が、前記複数のセキュリティリング(160)の他の各セキュリティリング(160)に対する前記それぞれのセキュリティ要件(310)とは異なるレベルの物理的セキュリティを含む、請求項18に記載のシステム。
【請求項20】
前記複数のワークロード(102)の各それぞれのワークロード(102)に対する前記それぞれのセキュリティ基準(104)が、前記それぞれのワークロード(102)の機密性を含む、請求項1119のいずれかに記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、ワークロードセキュリティリングに関する。
【背景技術】
【0002】
背景
分散コンピューティングネットワーク(すなわち、「クラウドコンピューティング」)は、価格、スケーラビリティ、および柔軟性により、ますます普及している。これらのコンピューティングネットワークは、同時に、膨大な数のさまざまなワークロードを管理する。たとえば、一部のワークロードは実験的である場合があり、他のワークロードはユーザデータを処理する場合があり、一方で、さらに他のワークロードは、ミッションクリティカルなフリートマネージメント情報を処理する場合がある。ワークロードのタイプが異なれば、必要とするセキュリティ、保守性、および柔軟性に関する要件も異なる。
【発明の概要】
【0003】
概要
本開示の1つの態様は、データ処理ハードウェアによって実行されると、データ処理ハードウェアに動作を実行させる、ワークロードセキュリティリングのための、コンピュータが実行する方法を提供する。動作は、複数のワークロードを受信することを含む。各ワークロードは、それぞれのセキュリティ基準に関連付けられるとともに、分散コンピューティングシステムで実行するようにスケジュールされている。分散コンピューティングシステムは、複数のセキュリティリングに分割されており、複数のセキュリティリングの各セキュリティリングは、分散コンピューティングシステムのコンピューティングデバイスのそれぞれのサブセットに関連付けられており、それぞれのサブセットは、複数のセキュリティリングの他の各セキュリティリングに関連付けられた分散コンピューティングシステムのコンピューティングデバイスのそれぞれのサブセットから物理的に分離されている。複数のワークロードの各それぞれのワークロードについて、本方法は、それぞれのセキュリティ基準を使用して、それぞれのワークロードのセキュリティレベルを決定することと、それぞれのワークロードのセキュリティレベルを使用して、それぞれのワークロードを実行する資格がある複数のセキュリティリングのうちの1つまたは複数を特定することとを含む。本方法はまた、それぞれのワークロードを、それぞれのワークロードを実行する資格がある複数のセキュリティリングのうちの特定された1つまたは複数に関連付けられたコンピューティングデバイスのそれぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイスで実行することも含む。
【0004】
本開示の実施態様は、以下の任意選択的な特徴のうちの1つまたは複数を含むことができる。いくつかの実施態様では、動作は、複数のセキュリティリングの各セキュリティリングについて、セキュリティリングに関連付けられたコンピューティングデバイスのそれぞれのサブセットについてリソース利用率を決定することと、決定されたリソース利用率を使用して、セキュリティリングに関連付けられたコンピューティングデバイスのそれぞれのサブセットにおけるコンピューティングデバイスの数を調整することとをさらに含む。任意選択的に、複数のセキュリティリングの各セキュリティリングについて、セキュリティリングは、それぞれのセキュリティ要件に関連付けられ、セキュリティリングに関連付けられたコンピューティングデバイスのそれぞれのサブセットにおける各コンピューティングデバイスは、セキュリティリングのそれぞれのセキュリティ要件に従う。
【0005】
いくつかの例では、複数のセキュリティリングの各セキュリティリングに対するそれぞれのセキュリティ要件は、複数のセキュリティリングの他の各セキュリティリングに対するそれぞれのセキュリティ要件とは異なるレベルの物理的セキュリティを含む。動作は、複数のワークロードを受信する前に、分散コンピューティングシステムの各それぞれのコンピューティングデバイスについて、それぞれのコンピューティングデバイスのセキュリティ体制(security posture)を特徴付ける一組のパラメータを取得することと、一組のパラメータを使用して、それぞれのコンピューティングデバイスを複数のセキュリティリングのうちの1つに割り当てることとをさらに含むことができる。
【0006】
いくつかの実施態様では、複数のワークロードの各それぞれのワークロードに対するそれぞれのセキュリティ基準は、それぞれのワークロードの機密性を含む。複数のワークロードの各それぞれのワークロードに対するそれぞれのセキュリティ基準は、それぞれのワークロードのセキュリティ体制を含むことができる。この実施態様では、セキュリティ体制は、それぞれのワークロードの監査を含むことができる。
【0007】
任意選択的に、複数のセキュリティリングは、低セキュリティリングおよび高セキュリティリングを含む。いくつかの例では、それぞれのワークロードに対する決定されたセキュリティレベルは、低セキュリティレベル、中セキュリティレベル、または高セキュリティレベルのうちの1つを含む。それぞれのワークロードに対する決定されたセキュリティレベルが、低セキュリティレベルを含む場合、低セキュリティリングのみが、それぞれのワークロードを実行する資格があり得る。それぞれのワークロードに対する決定されたセキュリティレベルが、高セキュリティレベルを含む場合、高セキュリティリングのみが、それぞれのワークロードを実行する資格があり得る。いくつかの例では、それぞれのワークロードに対する決定されたセキュリティレベルが、中セキュリティレベルを含む場合、低セキュリティリングおよび高セキュリティリングの両方が、それぞれのワークロードを実行する資格がある。
【0008】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む、ワークロードセキュリティリングのためのシステムを提供する。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる命令を記憶する。動作は、複数のワークロードを受信することを含む。各ワークロードは、それぞれのセキュリティ基準に関連付けられるとともに、分散コンピューティングシステムで実行するようにスケジュールされている。分散コンピューティングシステムは、複数のセキュリティリングに分割されており、複数のセキュリティリングの各セキュリティリングは、分散コンピューティングシステムのコンピューティングデバイスのそれぞれのサブセットに関連付けられ、それぞれのサブセットは、複数のセキュリティリングの他の各セキュリティリングに関連付けられた分散コンピューティングシステムのコンピューティングデバイスのそれぞれのサブセットから物理的に分離されている。複数のワークロードの各それぞれのワークロードについて、本方法は、それぞれのセキュリティ基準を使用して、それぞれのワークロードのセキュリティレベルを決定することと、それぞれのワークロードのセキュリティレベルを使用して、それぞれのワークロードを実行する資格がある複数のセキュリティリングのうちの1つまたは複数を特定することとを含む。本方法はまた、それぞれのワークロードを、それぞれのワークロードを実行する資格がある複数のセキュリティリングのうちの特定された1つまたは複数に関連付けられたコンピューティングデバイスのそれぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイスで実行することも含む。
【0009】
この態様は、以下の任意選択的な特徴のうちの1つまたは複数を含むことができる。いくつかの実施態様では、動作は、複数のセキュリティリングの各セキュリティリングについて、セキュリティリングに関連付けられたコンピューティングデバイスのそれぞれのサブセットについてリソース利用率を決定することと、決定されたリソース利用率を使用して、セキュリティリングに関連付けられたコンピューティングデバイスのそれぞれのサブセットにおけるコンピューティングデバイスの数を調整することとをさらに含む。任意選択的に、複数のセキュリティリングの各セキュリティリングについて、セキュリティリングは、それぞれのセキュリティ要件に関連付けられ、セキュリティリングに関連付けられたコンピューティングデバイスのそれぞれのサブセットにおける各コンピューティングデバイスは、セキュリティリングのそれぞれのセキュリティ要件に従う。
【0010】
いくつかの例では、複数のセキュリティリングの各セキュリティリングに対するそれぞれのセキュリティ要件は、複数のセキュリティリングの他の各セキュリティリングに対するそれぞれのセキュリティ要件とは異なるレベルの物理的セキュリティを含む。動作は、複数のワークロードを受信する前に、分散コンピューティングシステムの各それぞれのコンピューティングデバイスについて、それぞれのコンピューティングデバイスのセキュリティ体制を特徴付ける一組のパラメータを取得することと、一組のパラメータを使用して、それぞれのコンピューティングデバイスを複数のセキュリティリングのうちの1つに割り当てることとをさらに含むことができる。
【0011】
いくつかの実施態様では、複数のワークロードの各それぞれのワークロードに対するそれぞれのセキュリティ基準は、それぞれのワークロードの機密性を含む。複数のワークロードの各それぞれのワークロードに対するそれぞれのセキュリティ基準は、それぞれのワークロードのセキュリティ体制を含むことができる。この実施態様では、セキュリティ体制は、それぞれのワークロードの監査を含むことができる。
【0012】
任意選択的に、複数のセキュリティリングは、低セキュリティリングおよび高セキュリティリングを含む。いくつかの例では、それぞれのワークロードに対する決定されたセキュリティレベルは、低セキュリティレベル、中セキュリティレベル、または高セキュリティレベルのうちの1つを含む。それぞれのワークロードに対する決定されたセキュリティレベルが、低セキュリティレベルを含む場合、低セキュリティリングのみが、それぞれのワークロードを実行する資格があり得る。それぞれのワークロードに対する決定されたセキュリティレベルが、高セキュリティレベルを含む場合、高セキュリティリングのみが、それぞれのワークロードを実行する資格があり得る。いくつかの例では、それぞれのワークロードに対する決定されたセキュリティレベルが、中セキュリティレベルを含む場合、低セキュリティリングおよび高セキュリティリングの両方が、それぞれのワークロードを実行する資格がある。
【0013】
本開示の1つまたは複数の実施態様の詳細は、添付の図面および以下の説明に示す。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【0014】
図1】ワークロードセキュリティリングを実装するシステム例の概略図である。
図2A図1のセキュリティリングをリバランスする概略図である。
図2B図1のセキュリティリングをリバランスする概略図である。
図3】コンピューティングデバイスをセキュリティリングに割り当てる概略図である。
図4図1のシステムのセキュリティリングにワークロードを割り当てる概略図である。
図5】ワークロードセキュリティリングを実装する方法の動作の配置例のフローチャートである。
図6】本明細書に記載するシステムおよび方法を実施するために使用することができるコンピューティングデバイス例の概略図である。
【発明を実施するための形態】
【0015】
さまざまな図面における同様の参照符号は、同様の要素を示す。
詳細な説明
分散コンピューティングネットワーク(一般に「クラウドコンピューティング」と称する)が多種多様なワークロードに使用されるようになってきているため、一部のワークロードを他のワークロードから分離することがますます重要になってきている。たとえば、一部のワークロードは実験的であり、不安定になりやすくかつ/または攻撃を受けやすい場合があり、一方で、他のワークロードは機密性の高いユーザデータを含む場合がある。こうしたワークロードを同時にスケジューリングすることは望ましくない。しかしながら、現行のソフトウェア分離ソリューションは、種々の攻撃(たとえば、ソフトウェア攻撃、ゼロデイ攻撃、カーネル攻撃、認証情報の漏洩など)に対して不十分である。一旦マシンが危険にさらされると、そのマシンで実行しているすべてのワークロードが影響を受けやすくなる。しかしながら、従来の物理的な分離技法では、リソース利用率が低く、したがって、最新の分散コンピューティングネットワークに必要なスケーラビリティが提供されない。
【0016】
一部のワークロードは、より高度なセキュリティを必要とする。このより高度なセキュリティにより、他のワークロードが同じマシン上で実行しないようにすること(すなわち、分離)、または特別なハードウェアコンポーネント(たとえば、専用の暗号ハードウェア)を使用することなどの要件が課される可能性がある。これらのワークロードは、特別なセキュリティ強化手段を必要とするとともに、特別なアクセス制限(たとえば、Secure Shell(SSH)など、マシンへのいくつかのプロトコル接続の拒否)または特別な保守要件を要求する可能性がある。典型的な分散コンピューティングシステムでは、ワークロードは、容量のある任意のコンピューティングデバイスに割り当てられる可能性があり、したがって、安全でないかまたはリスクの高いワークロードと同時にスケジューリングされる可能性がある。この問題に対する一般的なソリューションは、機密性の高いワークロードをコンピューティングデバイス単独で実行するように割り当てることであるが、この技法では、コンピューティングデバイスが、通常は多数のワークロードを実行することができるが、代わりに単一のワークロードのみを実行するように制限されるため、利用率が非常に低下し、いかなる種類のスケーリングも提供されない。
【0017】
本明細書の実施態様は、複数のワークロードセキュリティリングを含む分散処理またはコンピューティングのシステムまたはネットワークに向けられている。分散処理システムの各コンピューティングデバイスは、セキュリティリングのうちの1つに割り当てられる。各セキュリティリングの各コンピューティングデバイスは、異なるセキュリティリングのコンピューティングデバイスから物理的に分離されている。セキュリティリングコントローラが、分散処理システムで実行する予定の各ワークロードのセキュリティレベルを決定する。決定されたセキュリティレベルに基づいて、ワークロードは、ワークロードを実行する資格があるセキュリティリングのうちの1つで実行する。
【0018】
図1を参照すると、いくつかの実施態様において、システム例100は、ネットワーク112を介してリモートシステム140と通信しているそれぞれのユーザ12に関連付けられたユーザデバイス10を含むことができる。ユーザデバイス10は、デスクトップワークステーション、ラップトップワークステーション、またはモバイルデバイス(すなわち、スマートフォン)などの任意のコンピューティングデバイスに対応することができる。ユーザデバイス10は、コンピューティングリソース18(たとえば、データ処理ハードウェア)および/またはストレージリソース16(たとえば、メモリハードウェア)を含む。
【0019】
リモートシステム140は、スケーラブルな/エラスティックなコンピューティングリソース144(たとえば、データ処理ハードウェア)および/またはストレージリソース142(たとえば、メモリハードウェア)を有する分散システム(たとえば、クラウド環境)を含む。クライアントまたはコンピューティングリソース144のうちの1つまたは複数によるストレージリソース142のスケーラブルな使用を可能にするために、ストレージリソース142上にデータストア146(すなわち、リモートストレージデバイス146)を配置してもよい。分散システムは、複数のセキュリティリング160、160a~160nに分割され、各セキュリティリング160は、コンピューティングデバイス162、162aa~162nnのサブセットを含む。すなわち、リモートシステム140は、各々がセキュリティリング160のうちの1つに割り当てられている複数のコンピューティングデバイス162を含む。リモートシステム140は、各々が任意の数のコンピューティングデバイス162を含む任意の数のセキュリティリング160を含むことができる。各コンピューティングデバイス162は、ワークロード102、102a~102nを実行するのに必要なコンピューティングリソースおよびメモリリソースを含む。各ワークロード102は、同じセキュリティリング160内の1つまたは複数のコンピューティングデバイス162上で実行される処理タスクを表す。いくつかの例では、ワークロード102は、ユーザデバイス10または他のリモートデバイス(たとえば、サーバ)から受信される。他の例では、ワークロード102は、リモートシステム140から発する。ワークロード102は、ソフトウェアアプリケーションなどの任意の種類の処理タスクを含むことができる。
【0020】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と称する場合がある。アプリケーションの例としては、限定されないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセッシングアプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが挙げられる。
【0021】
各セキュリティリング160がリモートシステム140の分散コンピューティングネットワークのコンピューティングデバイス162のそれぞれのサブセットに関連付けられるように、各コンピューティングデバイス162は、単一のセキュリティリング160に割り当てられるかまたは関連付けられる。いくつかの例では、各セキュリティリング160は、リモートシステム140のコンピューティングデバイス162のそれぞれのサブセットに関連付けられ、そうしたそれぞれのサブセットは、他の各セキュリティリング160に関連付けられたリモートシステム140のコンピューティングデバイス162のそれぞれのサブセットから物理的に分離されている。たとえば、特定のセキュリティリング160の各コンピューティングデバイス162は、他のセキュリティリング160の各コンピューティングデバイス162から物理的に分離されたサーバ内に位置している。言い換えれば、2つの異なるセキュリティリング160に割り当てられた2つのコンピューティングデバイス162は、同じ物理デバイス(たとえば、サーバ)を共有することはできない。セキュリティリング160をさらに切り離すために、追加の分離技法が使用されてもよい(たとえば、ネットワーク分離、電源分離など)。
【0022】
リモートシステム140は、セキュリティリングコントローラ150を実行する。セキュリティリングコントローラ150は、(たとえば、ユーザ12から)ワークロード102および関連するセキュリティ基準104を受信する。後により詳細に考察するように、各ワークロード102に関連するセキュリティ基準104は、ワークロード102のセキュリティ体制(すなわち、ワークロード102がどの程度セキュアであるか)および/またはワークロード102の機密性(すなわち、ワークロード102および/またはワークロード102が処理するデータが、どの程度重要であるかまたは機密性が高いか)に関連する情報を含む。セキュリティリングコントローラ150は、セキュリティリング160のコンピューティングデバイス162上で実行される各ワークロード102について、関連するセキュリティ基準104を使用して、それぞれのワークロード102のセキュリティレベル410(図4)を決定する。セキュリティリングコントローラ150は、それぞれのワークロード102のセキュリティレベル410を使用して、それぞれのワークロード102を実行する資格がある複数のセキュリティリング160のうちの1つまたは複数を特定する。
【0023】
すなわち、いくつかの実施態様では、各セキュリティリング160(すなわち、それぞれのセキュリティリング160に割り当てられているコンピューティングデバイス162)は、1つまたは複数の特定のセキュリティレベル410が割り当てられたワークロード102を実行する資格がある。1つの例では、リモートシステム140は、3つの異なるセキュリティリング160を含むことができ、各セキュリティリング160は、3つの異なるセキュリティレベル410のうちの1つを実行する資格があり得る。図4に関してより詳細に考察するように、他の例では、セキュリティリング160は、2つ以上の異なるセキュリティレベル410に割り当てられたワークロード102を実行する資格がある。
【0024】
セキュリティリングコントローラ150が、所与のワークロード102のセキュリティレベル410を特定または決定した後、所与のワークロード102は、次いで、特定されたセキュリティレベル410を有するワークロード102を実行する資格があるコンピューティングデバイス162のうちの1つまたは複数上で実行することができる。このように、各コンピューティングデバイス162は、コンピューティングデバイス162が実行する資格があるセキュリティレベル410に対応するワークロード102のみを実行し、ワークロード102は、適切なセキュリティレベル410を有する他のワークロード102とのみコンピューティングデバイス162を共有する(すなわち、同時に実行する)。したがって、セキュリティリングコントローラ150は、多数のワークロード102を複数の異なるセキュリティ等価クラス(すなわち、セキュリティレベル410)に分割し、マシン境界(すなわち、物理的に分離されたコンピューティングデバイス162)で各クラスを分離することができる。このように、ワークロードセキュリティリング160は、潜在的な攻撃の「影響範囲(blast radius)」を制限することにより、典型的な分離の脅威(たとえば、ハードウェアおよびソフトウェアのエクスプロイト、サービス拒否(denial-of-service)攻撃)に対処する。
【0025】
ここで図2Aおよび図2Bを参照すると、いくつかの実施態様では、セキュリティリングコントローラ150は、リングリバランサ210を含む。各ワークロードセキュリティリング160から、リングリバランサ210は、それぞれのリソース統計値220、220a~220nを受信し、リソース統計値220を使用して、各ワークロードセキュリティリング160のリソース利用率222、222a~222nを決定する。決定されたリソース利用率222を使用して、リングリバランサ210は、セキュリティリング160のうちの1つまたは複数におけるコンピューティングデバイス162の数を調整する(すなわち、特定のセキュリティリング160に関連付けられたコンピューティングデバイス162のサブセット内のコンピューティングデバイス162の数を調整する)ことができる。図2Aの具体例では、概略図200aは、低セキュリティリング160、160Lおよび高セキュリティリング160、160Hを示しているが、リモートシステム140は、任意の数のセキュリティリング160を含むことができることが理解される。ここでは、各セキュリティリング160L、160Hは、5つのコンピューティングデバイス162を含む。(5つのコンピューティングデバイス162を有する)低セキュリティリング160Lは、95%の容量で動作しており、(異なる5つのコンピューティングデバイス162を有する)高セキュリティリング160Hは、25%の容量で動作している。すなわち、低セキュリティリング160Lは、高い利用率で動作しており(すなわち、追加のワークロード100を容易に実行することができない)、一方、高セキュリティリング160Hは、低い利用率で動作している(すなわち、追加のワークロード100を容易に実行することができる)。
【0026】
次に図2Bを参照すると、概略図200bは、リングリバランサ210が、コンピューティングデバイス162のうちの1つを高セキュリティリング160Hから低セキュリティリング160Lに再割り当てすることを示す。コンピューティングデバイス162を高セキュリティリング160Hから低セキュリティリング160Lに調整または再割り当てした後、高セキュリティリング160Hは(元の5つから)4つのコンピューティングデバイス162を有し、低セキュリティリング160Lは(元の5つから)6つのコンピューティングデバイス162を有する。このリバランシングの結果、更新されたリソース統計値220は、低セキュリティリング160Lが80%の利用率を有し、高セキュリティリング160Hが35%の利用率を有することを示す。したがって、セキュリティリングコントローラ150は、リソース統計値220に基づいて、コンピューティングデバイス162を1つのセキュリティリング160から異なるセキュリティリング160に動的に調整および/または再割り当てすることができる。たとえば、多数のワークロード102が特定のセキュリティリング160上で実行するようにスケジュールされるとき、セキュリティリングコントローラ150は、リソースの必要性の増加を管理するために、追加のコンピューティングデバイス162を特定のセキュリティリング160に自動的に再割り当てすることができる。
【0027】
セキュリティリングコントローラ150は、再割り当てされたコンピューティングデバイス162が、新たに割り当てられたセキュリティリング160に切り替わる前に適切にサニタイズされることを確実にするステップをとることができる。たとえば、セキュリティリングコントローラ150は、セキュリティリング160間の分離を確実にするために、以前のワークロード102の残りがコンピューティングデバイス162上に存在しないことを確実にするように、メモリワイプ、再インストール、および/または他の手順を実行してもよい。
【0028】
ここで図3を参照すると、いくつかの実施態様では、各セキュリティリング160は、それぞれのセキュリティ要件310に関連付けられ、各セキュリティリング160のコンピューティングデバイス162のそれぞれのサブセット内の各コンピューティングデバイス162は、それぞれのセキュリティリング160のそれぞれのセキュリティ要件310に従う。たとえば、概略図300は、高セキュリティリング160Hおよび低セキュリティリング160Lを含む。未割り当てのコンピューティングデバイス162Uのセキュリティ要件310およびセキュリティパラメータ320に基づいて、セキュリティリングコントローラ150は、未割り当てのコンピューティングデバイス162Uを割り当てるべきセキュリティリング160L、160Hを決定することができる。各セキュリティリング160のそれぞれのセキュリティ要件310は、他の各セキュリティリング160のそれぞれのセキュリティ要件310とは異なるレベルの物理的セキュリティを含むことができる。たとえば、高セキュリティリング160Hは、割り当てられたコンピューティングデバイス162が、セキュアな地理的位置、セキュアな施設(たとえば、施錠された部屋またはケース内、セキュリティ監視など)、または特定のハードウェアなど、いくつかの物理的セキュリティ特性を有することを要求する、セキュリティ要件310を有する場合がある。セキュリティ要件310は、ソフトウェアのタイプ、ソフトウェアのバージョンなどのソフトウェア要件も同様に含むことができる。言い換えれば、セキュリティ要件310は、コンピューティングデバイス162がそれぞれのセキュリティリング160に対してワークロード102を実行する資格があるために必要な、多数の異なるカテゴリにおけるセキュリティの最小閾値を定義することができる。
【0029】
コンピューティングデバイス162は、複数のセキュリティリング160に割り当てられる資格がある場合がある。たとえば、高度にセキュアなコンピューティングデバイス162が、高セキュリティリング160Hおよび低セキュリティリング160Lのセキュリティ要件310を満たす場合があり、他の要因(たとえば、リソース利用率)に基づいていずれかのセキュリティリング160に割り当てられる場合がある。リングリバランサ210(図2Aおよび図2B)は、いくつかの例では、複数のセキュリティリング160に対して(セキュリティ要件310およびセキュリティパラメータ320に基づいて)資格がある異なるセキュリティリング160にのみ、コンピューティングデバイス162を再割り当てする。したがって、いくつかの実施態様では、複数のワークロード102を受信する前に、リモートシステム140のそれぞれのコンピューティングデバイス162について、セキュリティリングコントローラ150は、それぞれのコンピューティングデバイス162のセキュリティ体制を特徴付けるセキュリティパラメータ320を取得する。セキュリティリングコントローラ150は、セキュリティパラメータ320を使用して、それぞれのコンピューティングデバイス162を、複数のセキュリティリング160のうちの1つに割り当てる。
【0030】
各ワークロード102のセキュリティ基準104は、ワークロード102の機密性を含む場合がある。すなわち、セキュリティ基準104は、ワークロード102の攻撃または損失がどの程度損害を与え得るかを示すパラメータを含むことができる。たとえば、重要なデータ(たとえば、ユーザデータ、政府データなど)を処理するワークロード102は、非常に機密性が高い可能性があり、一方で、重要度が低いデータ(たとえば、気象データ)を処理するワークロード102は、それほど機密性が高くない可能性がある。それぞれのワークロード102に対して選択されるセキュリティリング160は、機密性に少なくとも部分的に依存する可能性がある。たとえば、機密性の高いワークロード102は、機密性の低いワークロード102よりも、よりセキュアなセキュリティリング160(たとえば、より物理的なセキュリティ、ハードウェアセキュリティ、ソフトウェアセキュリティなど)上で実行される可能性が高い。しかしながら、種々の要因(たとえば、現利用率)に起因して、機密性の低いワークロード102が、依然として高セキュリティリング160上で実行する場合がある。たとえば、低セキュリティリング160がフルで利用されているが、高セキュリティリング160に容量がある場合、非機密性のワークロード102が高セキュリティリング160に割り当てられることがある。ワークロードの機密性は、ワークロードの所有者によって定義され、かつ/またはセキュリティリングコントローラ150によって自動的に決定され、かつ/またはサードパーティによって決定される場合がある。たとえば、所有者は、ワークロード102をコンパイルするかまたはセキュリティリングコントローラ150に送信するときに、1つまたは複数のフラグまたはパラメータを設定することができる。
【0031】
いくつかの実施態様では、ワークロードの割り当ては、代替的にまたはさらに、ワークロード102のセキュリティ体制に依存する。ワークロード102のセキュリティ体制は、ワークロード102自体のセキュリティにおける信頼水準を表す。すなわち、セキュリティ体制は、ワークロード102が他のワークロード102に影響を及ぼす可能性における信頼度を反映することができる。たとえば、実験的なワークロード102は、同じコンピューティングデバイス162上で実行している他のワークロード102をクラッシュさせかつ/またはワークロード102に悪影響を及ぼす可能性が高いため、本番のワークロード102よりもセキュリティが低いことを示すセキュリティ体制を有する。多くのパラメータが、ワークロード102のセキュリティ体制を定義するのに役立つ可能性がある。たとえば、ワークロード102がいつ、どのように構築されたか(すなわち、コンパイルされたか)、ワークロード102の作成者、およびワークロード102の起源は、すべてセキュリティ体制に影響する可能性がある。いくつかの実施態様では、セキュリティ体制は、それぞれのワークロード102の1つまたは複数の(たとえば、サードパーティによる)監査またはレビューを含む。たとえば、1つまたは複数のエンティティによって監査されたワークロード102は、監査がないワークロード102よりも、よりセキュアなセキュリティ体制を有する可能性がある。
【0032】
いくつかの例では、セキュリティ体制は、ワークロード102がいずれのセキュリティリング160上で実行する資格があるかに影響を与える。たとえば、セキュリティ体制が不十分である(すなわち、他のワークロード102に悪影響を及ぼす可能性が高い)ワークロード102は、そのワークロード102が高機密性を有していたとしても、高セキュリティリング160で実行することが許可されない可能性がある。たとえば、セキュアな環境でコンパイルされていないワークロード102は、ユーザデータを処理し、したがって、本来は高セキュリティリング160上で実行する資格を与える高機密性を有する可能性があるが、ワークロード102が高セキュリティリング160上で実行する他の高機密性ワークロード102にもたらすリスクのために、高セキュリティリング160上での実行が制限される可能性がある。したがって、いくつかの例では、特定のワークロード102を実行する資格があるセキュリティリング160は、ワークロード102の機密性およびワークロード102のセキュリティ体制の両方に依存する。
【0033】
ここで図4を参照すると、概略図400は、低セキュリティリング160Lおよび高セキュリティリング160Hを含む。いくつかの例では、これら2つが唯一のセキュリティリング160である。任意選択的に、ワークロード102には、3つのセキュリティレベル410、すなわち、低セキュリティレベル410L、中セキュリティレベル410M、または高セキュリティレベル410Hのうちの1つが割り当てられる。この例では、それぞれのワークロード102について決定されたセキュリティレベル410が低セキュリティレベル410Lであるとき、低セキュリティリング160Lのみが、それぞれのワークロード102を実行する資格がある。同様に、それぞれのワークロード102に対する決定されたセキュリティレベル410が高セキュリティレベル410Hである場合、高セキュリティリング160Hのみが、それぞれのワークロード102を実行する資格がある。それぞれのワークロード102に対する決定されたセキュリティレベル410が中セキュリティレベル410Mである場合、低セキュリティリングおよび高セキュリティリングの両方が、それぞれのワークロード102を実行する資格がある。したがって、低セキュリティのワークロード102は低セキュリティリング160Lで実行しなければならず、高セキュリティのワークロード102は高セキュリティリング160Hで実行しなければならないが、中セキュリティのワークロード102は、低セキュリティリング160Lまたは高セキュリティリング160Hのいずれかで実行することができる。これにより、セキュリティリングコントローラ150は、状況に応じて、中セキュリティレベルのワークロード102を低セキュリティリング160Lまたは高セキュリティリング160Hのいずれかに(すなわち、それぞれのセキュリティリング160に割り当てられたコンピューティングデバイス162に)動的に割り当てることによって、高い利用率を維持することができる。
【0034】
低セキュリティワークロード102は、安全であるとみなされるために必要な予防措置を講じていない、強化されていないワークロード102を表す可能性があり、一方、高セキュリティワークロード102は、安全であるとみなされるために必要な予防措置を講じており、機密データも含む、強化されたワークロード102を表す可能性がある。中セキュリティのワークロード102は、強化されているが、機密データを含まない可能性があり、したがって、いずれかのセキュリティリング160上でも実行することができる。いくつかの実施態様では、セキュリティリングコントローラは、機密データを含む強化されていないワークロード102(すなわち、低セキュリティワークロード102)が、機密データを含む他の強化されていないワークロード102と同じコンピューティングデバイス上で同時にスケジューリングされないことを確実にすることができる。
【0035】
図5は、ワークロードセキュリティリングを提供する方法500の動作の例示的な配置のフローチャートである。コンピュータが実行する方法500は、データ処理ハードウェア144によって実行されると、データ処理ハードウェア144に動作を実行させる。動作502において、方法500は、複数のワークロード102を受信することを含む。各ワークロード102は、それぞれのセキュリティ基準104と関連付けられ、分散コンピューティングシステム140で実行するようにスケジュールされている。分散コンピューティングシステム140は、複数のセキュリティリング160に分割されている。複数のセキュリティリング160の各セキュリティリング160は、分散コンピューティングシステム140のコンピューティングデバイス162のそれぞれのサブセットに関連付けられており、それらサブセットは、複数のセキュリティリング160の他の各セキュリティリング160に関連付けられた分散コンピューティングシステム140のコンピューティングデバイス162のそれぞれのサブセットから物理的に分離されている。
【0036】
複数のワークロードの各それぞれのワークロードについて、動作504において、方法500は、それぞれのセキュリティ基準104を使用して、それぞれのワークロード102のセキュリティレベル410を決定することを含む。動作506において、方法500は、それぞれのワークロード102のセキュリティレベル410を使用して、それぞれのワークロード102を実行する資格がある複数のセキュリティリング160のうちの1つまたは複数を特定することを含む。方法500は、動作508において、それぞれのワークロード102を、それぞれのワークロード102を実行する資格がある複数のセキュリティリング160のうちの特定された1つまたは複数に関連付けられたコンピューティングデバイス162のそれぞれのサブセットのうちの1つから選択された1つまたは複数のコンピューティングデバイス162で実行することを含む。
【0037】
このように、本明細書に記載する実施態様は、ワークロードスケジューリング、ならびにコンピューティングデバイスの利用および効率への影響を最小限にして、自動化されたセキュリティリングバランシングを提供し、同時にメンテナンスコストも最小限に抑える。セキュリティリングコントローラは、分散コンピューティングネットワークをマシン境界で分離された複数のセキュリティリングに分割する。セキュリティリングコントローラは、よりセキュアで機密性の高いワークロードを、それほどセキュアでないかつ/または機密性の低いワークロードから確実に分離するために、ワークロードを異なるセキュリティ等価クラスに分割する。ワークロードのセキュリティリングは、ワークロードの分離に抽象化レベルを提供し、これにより、ワークロードを実行するための多数の特定のプロファイルおよび構成の置換が不要になり、コンピューティングデバイスがセキュリティリングを変更することができることにより、柔軟性が与えられる。この柔軟性によってまた、古いハードウェアの段階的な廃止または新しいハードウェアの導入が簡単かつシームレスに行うことができるようになる。セキュリティリングのセキュリティ体制は、(たとえば、セキュリティ要件を追加または削除することによって)ワークロードの所有者が必要とする(すなわち、構成を調整するための)いかなるアクションもなしに調整することができる。
【0038】
図6は、本明細書に記載するシステムおよび方法を実行するために使用することができるコンピューティングデバイス例600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すように意図されている。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示的なものであるように意図されており、本明細書に記載しかつ/または特許請求する発明の実施態様を限定するようには意図されていない。
【0039】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶デバイス630と、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640と、低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上に、または必要に応じて他の方法で搭載することができる。プロセッサ610は、高速インターフェース640に結合されたディスプレイ680などの外部入出力デバイス上にグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するための、メモリ620または記憶デバイス630に格納された命令を含む、コンピューティングデバイス600内で実行される命令を処理することができる。他の実施態様では、必要に応じて、複数のプロセッサおよび/または複数のバスを、複数のメモリおよび複数のタイプのメモリとともに使用してもよい。また、複数のコンピューティングデバイス600を接続してもよく、各デバイスが(たとえば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0040】
メモリ620は、コンピューティングデバイス600内で情報を非一時的に記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ620は、コンピューティングデバイス600によって使用されるプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または恒久的に格納するために使用される物理的デバイスであり得る。不揮発性メモリの例としては、限定されないが、(たとえば、ブートプログラムなどのファームウェアに通常使用される)フラッシュメモリ、リードオンリメモリ(ROM)/プログラマブルリードオンリメモリ(PROM)/消去可能なプログラマブルリードオンリメモリ(EPROM)/電子的に消去可能なプログラマブルリードオンリメモリ(EEPROM)が挙げられる。揮発性メモリの例としては、限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープが挙げられる。
【0041】
記憶デバイス630は、コンピューティングデバイス600に大容量記憶を提供することができる。いくつかの実施態様では、記憶デバイス630は、コンピュータ可読媒体である。さまざまな異なる実施態様では、記憶デバイス630は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリ、もしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含むデバイスのアレイであり得る。さらなる実施態様では、コンピュータプログラム製品は、情報担体に有形に具体化される。コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ620、記憶デバイス630、またはプロセッサ610上のメモリなどのコンピュータまたは機械可読媒体である。
【0042】
高速コントローラ640は、コンピューティングデバイス600の帯域幅を大量に使用する動作を管理し、一方、低速コントローラ660は、帯域幅をそれほど大量に使用しない動作を管理する。こうした機能の割り当ては、単に例示的なものである。いくつかの実施態様では、高速コントローラ640は、メモリ620、(たとえば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ680に、かつ、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート650に結合されている。いくつかの実施態様では、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に結合されている。さまざまな通信ポート(たとえば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、無線Ethernet)を含むことができる低速拡張ポート690は、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入出力デバイス、または、たとえばネットワークアダプタを介して、スイッチやルータなどのネットワークデバイスに結合することができる。
【0043】
コンピューティングデバイス600は、図に示すように、多数の異なる形態で実装することができる。たとえば、標準サーバ600aとして、またはそうしたサーバ600a群で複数回、ラップトップコンピュータ600bとして、またはラックサーバシステム600cの一部として、実装することができる。
【0044】
本明細書に記載するシステムおよび技法のさまざまな実施態様は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらのさまざまな実施態様は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受け取り、それらにデータおよび命令を送出するように結合された、専用であっても汎用であってもよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実施態様を含むことができる。
【0045】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)これらのコンピュータプログラムは、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語で、かつ/またはアセンブリ/機械言語で実装することができる。本明細書で用いる場合の「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受け取る機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0046】
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することにより機能を果たすように1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも称する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行することができる。コンピュータプログラムの実行に好適なプロセッサとしては、一例として、汎用および専用両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受け取る。コンピュータの本質的な要素は、命令を実行するプロセッサと、命令およびデータを記憶する1つまたは複数のメモリデバイスとである。一般に、コンピュータはまた、データを記憶する1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそうしたデバイスからデータを受け取るか、もしくはそうしたデバイスにデータを転送するか、もしくは両方を行うように、動作可能に結合されている。しかしながら、コンピュータが、こうしたデバイスを有することは必須ではない。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体には、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれ、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD ROMおよびDVD-ROMディスクが挙げられる。プロセッサおよびメモリは、専用論理回路によって補足することができ、または専用論理回路に組み込むことができる。
【0047】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示する表示デバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択的に、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスを使用して、ユーザとのインタラクションを同様に提供することができ、たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形式で受け取ることができる。加えて、コンピュータは、ユーザが使用するデバイスにドキュメントを送信し、そうしたデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザとインタラクトすることができる。
【0048】
多くの実施態様について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、さまざまな変更を行うことができることが理解されよう。したがって、他の実施態様も以下の特許請求の範囲内にある。
図1
図2A
図2B
図3
図4
図5
図6