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

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

▶ センパー フォーティス ソリューションズ リミテッド ライアビリティ カンパニーの特許一覧

特許7393209マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS)
<>
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図1
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図2
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図3
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図4
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図5
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図6
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図7
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図8
  • 特許-マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS) 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】マルチテナントクラウドにおける複数のシングルレベルセキュリティ(MSLS)
(51)【国際特許分類】
   G06F 21/57 20130101AFI20231129BHJP
   G06F 21/60 20130101ALI20231129BHJP
【FI】
G06F21/57
G06F21/60 320
G06F21/60 360
【請求項の数】 20
(21)【出願番号】P 2019562213
(86)(22)【出願日】2018-01-26
(65)【公表番号】
(43)【公表日】2020-02-27
(86)【国際出願番号】 US2018015494
(87)【国際公開番号】W WO2018140758
(87)【国際公開日】2018-08-02
【審査請求日】2021-01-22
(31)【優先権主張番号】62/450,984
(32)【優先日】2017-01-26
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】519273393
【氏名又は名称】センパー フォーティス ソリューションズ リミテッド ライアビリティ カンパニー
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(74)【代理人】
【識別番号】100210239
【弁理士】
【氏名又は名称】富永 真太郎
(72)【発明者】
【氏名】ペパス グレゴリー ビー
(72)【発明者】
【氏名】オコンネル トッド
【審査官】打出 義尚
(56)【参考文献】
【文献】特表2013-528872(JP,A)
【文献】国際公開第2009/044461(WO,A1)
【文献】米国特許出願公開第2015/0286492(US,A1)
【文献】国際公開第2010/151322(WO,A1)
【文献】米国特許出願公開第2016/0065618(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
複数のシングルレベルセキュリティ(MSLS)ドメイン用のセキュリティシステムであって、
前記MSLSドメインをホストするように単一のマルチテナントクラウドを構成するセキュアカーネルハイパーバイザ(SKH)と、
前記MSLSドメインに対し複数の個別の仮想ワークパッケージ(VWP)をセットアップするように、前記単一のマルチテナントクラウドを構成するクラウドオーケストレーションシステム(COS)であって、前記複数の個別のVWPの各々は少なくとも前記SKHを使用して生成される、クラウドオーケストレーションシステム(COS)と、
前記MSLSドメインと関連するセキュリティオブジェクトを管理するように構成されたキーマネジメントシステム(KMS)と、
を含み、
前記複数の個別のVWPの各々は、個別のMSLSドメインで動作し、
前記個別のVWPの各々は、
1又は2以上の仮想マシンと、
前記VWPと前記KMSをインタフェースで接続し、暗号化コンテンツのための1以上の前記セキュリティオブジェクトを取得するそれぞれのキーマネジメントコーディネータと、
ディスクに保存されている第1コンテンツを暗号化するそれぞれのディスク暗号化ドライバと、
ネットワークを介して送信された第2コンテンツを暗号化するそれぞれのネットワーク暗号化ドライバと、
を含み、
前記複数のシングルレベルセキュリティ(MSLS)ドメインの各々は、個別のセキュリティレベルに対応し、
前記COSは、
前記MSLSドメインのリソースを動的に割り当て又は割り当て解除することであって、前記リソースが、前記単一のマルチテナントクラウの1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、周辺機器を含む、割り当て又は割り当て解除すること、
VWPスロットを割り当てること、又は、
前記VWPに割り当てられたリソース及び前記VWPに関連付けられたセキュリティオブジェクトを無効にすることによりVWPを破棄することの1又は2以上の機能を実行するように構成されている、
セキュリティシステム。
【請求項2】
前記SKHは、分離カーネルと、ハイパーバイザと、を含む、
請求項1記載のセキュリティシステム。
【請求項3】
前記分離カーネルは、API、割り込み、及び、入力/出力ポートを有しないカーネルである、
請求項2に記載のセキュリティシステム。
【請求項4】
前記分離カーネルは、インストール後にインストールされた構成を変更する機能を備えずにインストール時に構成されている、
請求項2に記載のセキュリティシステム。
【請求項5】
前記ハイパーバイザは、
複数の異なるオペレーティングシステム又はアプリケーションを実行するため前記単一のマルチテナントクラウドのハードウェアを仮想化することにより、前記MSLSドメインをホストするように前記単一のマルチテナントクラウドを構成し、
前記複数の異なるオペレーティングシステム又はアプリケーションのそれぞれが、前記MSLSドメインの1つに対応する、
請求項2に記載のセキュリティシステム。
【請求項6】
前記COSは、リソースニーズを動的に評価し、評価されたニーズに応じて、前記MSLSドメインのリソースを自動的に割り当て又は割り当て解除し、
前記リソースは、1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、前記単一のマルチテナントクラウドの周辺機器を含む、
請求項1に記載のセキュリティシステム。
【請求項7】
前記COSは、VWPスロットを割り当てる、
請求項1に記載のセキュリティシステム。
【請求項8】
各前記VWPスロットは、1又は2以上の仮想マシン又は特殊なアプリケーションをサポートする、
請求項1に記載のセキュリティシステム。
【請求項9】
前記KMSは、VWPの生成に応答して前記セキュリティオブジェクトを決定することにより、前記MSLSドメインに関連付けられた前記セキュリティオブジェクトを管理する、
請求項1に記載のセキュリティシステム。
【請求項10】
前記COSは、VWPに割り当てられたリソースと前記VWPに関連付けられたセキュリティオブジェクトを無効にすることにより、前記VWPを破棄するように構成されている、
請求項1に記載のセキュリティシステム。
【請求項11】
前記KMSは、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化する、
請求項1に記載のセキュリティシステム。
【請求項12】
複数のシングルレベルセキュリティ(MSLS)ドメインをホストする単一のマルチテナントクラウドを実装するために、セキュアカーネルハイパーバイザ(SKH)を用いて少なくとも1つのプロセッサを構成すること、
前記少なくとも1つのプロセッサを用いて、前記MSLSドメインに対し複数の個別の仮想ワークパッケージ(VWP)をセットアップするよう前記単一のマルチテナントクラウドを構成することであって、前記複数の個別のVWPの各々は少なくとも前記SKHを使用して生成され、個別のMSLSドメインで動作する、前記単一のマルチテナントクラウドを構成すること、
前記少なくとも1つのプロセッサを用いて、前記MSLSドメインに関連するセキュリティオブジェクトを管理すること、及び、
前記少なくとも1つのプロセッサを用いて、前記MSLSドメインのリソースを動的に割り当て又は割り当て解除することであって、前記リソースが、前記単一のマルチテナントクラウの1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、周辺機器を含む、割り当て又は割り当て解除すること、又は、
前記少なくとも1つのプロセッサを用いて、前記VWPに割り当てられたリソース及び前記VWPに関連付けられたセキュリティオブジェクトを無効にすることによりVWPを破棄するこ
を含み、
前記複数の個別のVWPの各々は、1又は2以上の仮想マシンと、前記VWPとキーマネジメントシステム(KMS)をインタフェースで接続し、暗号化コンテンツのための1以上の前記セキュリティオブジェクトを取得するそれぞれのキーマネジメントコーディネータと、ディスクに保存されている第1コンテンツを暗号化するそれぞれのディスク暗号化ドライバと、ネットワークを介して送信された第2コンテンツを暗号化するそれぞれのネットワーク暗号化ドライバと、を含み、
前記複数のシングルレベルセキュリティ(MSLS)ドメインの各々は、個別のセキュリティレベルに対応する、
方法。
【請求項13】
前記MSLSドメインに対し複数の個別のVWPをセットアップするよう前記単一のマルチテナントクラウドを構成することは、前記MSLSに動的にリソースを割り当てること又は割り当て解除することを含み、
前記リソースは、1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、前記単一のマルチテナントクラウドの周辺機器を含む、
請求項12に記載の方法。
【請求項14】
前記MSLSドメインに対し前記複数の個別のVWPをセットアップするように前記単一のマルチテナントクラウドを構成することは、VWPスロットを割り当てることを含む、
請求項12に記載の方法。
【請求項15】
各前記VWPスロットは、1又は2以上の仮想マシン又は特殊なアプリケーションをサポートする、
請求項14に記載の方法。
【請求項16】
前記MSLSドメインに関連する前記セキュリティオブジェクトを管理することは、VWPの生成に応答して前記セキュリティオブジェクトを決定することを含む、
請求項12に記載の方法。
【請求項17】
前記MSLSドメインに対し前記複数の個別のVWPをセットアップするよう前記単一のマルチテナントクラウドを構成することは、VWPに割り当てられたリソースと前記VWPに関連付けられたセキュリティオブジェクトを無効にすることにより、前記VWPを破棄することを含む、
請求項12に記載の方法。
【請求項18】
前記MSLSドメインに関連付けられたセキュリティオブジェクトを管理することは、前記少なくとも1つのプロセッサ、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化することを含む、
請求項12に記載の方法。
【請求項19】
複数のシングルレベルセキュリティ(MSLS)ドメイン用のセキュリティシステムであって、
前記MSLSドメインをホストするように単一のマルチテナントクラウドを構成する、セキュアカーネルハイパーバイザ(SKH)を含む手段と、
前記MSLSドメインに対し複数の個別のワークパッケージ(VWP)をセットアップするよう前記単一のマルチテナントクラウドを構成する手段であって、前記複数の個別のVWPの各々は少なくとも前記SKHを使用して生成され、個別のMSLSドメインで動作する、前記単一のマルチテナントクラウドを構成する手段と、
前記MSLSドメインに関連付けられたセキュリティオブジェクトを管理するように構成された手段と、
前記MSLSドメインのリソースを動的に割り当て又は割り当て解除する手段であって、前記リソースが、前記単一のマルチテナントクラウの1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、周辺機器を含む、割り当て又は割り当て解除する手段、
VWPスロットを割り当てる手段、又は、
前記VWPに割り当てられたリソース及び前記VWPに関連付けられたセキュリティオブジェクトを無効にすることによりVWPを破棄する手段の1又は2以上と、
を含み、
前記複数の個別のVWPの各々は、1又は2以上の仮想マシンと、前記VWPとキーマネジメントシステム(KMS)をインタフェースで接続し、暗号化コンテンツのための1以上の前記セキュリティオブジェクトを取得するそれぞれのキーマネジメントコーディネータと、ディスクに保存されている第1コンテンツを暗号化するそれぞれのディスク暗号化ドライバと、ネットワークを介して送信された第2コンテンツを暗号化するそれぞれのネットワーク暗号化ドライバと、を含み、
前記複数のシングルレベルセキュリティ(MSLS)ドメインの各々は、個別のセキュリティレベルに対応する、
セキュリティシステム。
【請求項20】
実行されると1又は2以上のプロセッサに、
セキュアカーネルハイパーバイザ(SKH)を使用して、複数のシンルレベルセキュリティ(MSLS)ドメインをホストするように単一のマルチテナントクラウドを構成させるステップと、
前記MSLSドメインに対し複数の個別の仮想ワークパッケージ(VWP)をセットアップするよう前記単一のマルチテナントクラウドを構成させるステップであって、前記複数の個別のVWPの各々は少なくとも前記SKHを使用して生成され、個別のMSLSドメインで動作する、前記単一のマルチテナントクラウドを構成させるステップと、
前記MSLSドメインに関連付けられたセキュリティオブジェクトを管理させるステップと、
前記MSLSドメインのリソースを動的に割り当て又は割り当て解除するステップであって、前記リソースが、前記単一のマルチテナントクラウの1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、周辺機器を含む、割り当て又は割り当て解除するステップ、又は、
前記VWPに割り当てられたリソース及び前記VWPに関連付けられたセキュリティオブジェクトを無効にすることによりVWPを破棄するステップと
を実行させるプロセッサ可読命令を含み、
前記複数の個別のVWPの各々は、1又は2以上の仮想マシンと、前記VWPとキーマネジメントシステム(KMS)をインタフェースで接続し、暗号化コンテンツのための1以上の前記セキュリティオブジェクトを取得するそれぞれのキーマネジメントコーディネータと、ディスクに保存されている第1コンテンツを暗号化するそれぞれのディスク暗号化ドライバと、ネットワークを介して送信された第2コンテンツを暗号化するそれぞれのネットワーク暗号化ドライバと、を含み、
前記複数のシングルレベルセキュリティ(MSLS)ドメインの各々は、個別のセキュリティレベルに対応する、
非一時的なプロセッサ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連特許出願の相互参照]
この出願は、2017年1月26日に出願された米国仮特許出願第62/450,984号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
単一のハードウェアプラットホームは、単一のオペレーティングシステム(OS)及びアプリケーションのローカルセットのみを物理的にホストすることができる。プロセッサの仮想化により、単一のハードウェアプラットホームを細分化して仮想マシン(VM)を提供することができる。各VMは、スタンドアローンコンピュータとして出現するように設定することができる。各VMは、VMをサポートする単一のハードウェアプラットホームによって利用可能になるコンピューティング、ストレージ、及びネットワーキングリソースの制限内で一連のアプリケーションを実行することができる。
【0003】
一般的に、これらのVMのセキュリティは、ターゲットの仮想化システムにより使用されるOSとネットワークで利用可能なセキュリティに制限されている。これは、OSに見られるすべての最高のセキュリティ手段を用いても、重大な脆弱性が依然として存在することを意味する。
【0004】
従来のOSは、何百万行というコード、何千というアプリケーションプログラムインターフェース(API)、及び、何千という割り込みと入出力ポートを有している。これらの属性は、サイバー攻撃者、侵入者、マルウェア、ワームおよびウイルスに多数の攻撃面をもたらす。その結果、これらのOSの上に構築された安全なシステムは、常に複数の攻撃と脅威に直面する。
【発明の概要】
【0005】
いくつかの例では、複数のシングルレベルセキュリティ(MSLS)ドメイン用のセキュリティシステムは、セキュアカーネルハイパーバイザ(SKH)を含む。SKHは、MSLSドメインをホストするように単一のマルチテナントクラウドを構成する。セキュリティシステムは、クラウドオーケストレーションシステム(COS)をさらに含む。COSは、MSLSドメイン用に複数の個別の仮想ワークパッケージ(VWP)をセットアップするために単一のマルチテナントクラウドを構成する。セキュリティシステムは、キーマネジメントシステム(KMS)を含む。KMSは、MSLSドメインに関連付けられているセキュリティオブジェクトを管理するように構成されている。
【0006】
いくつかの例では、SKHは、分離カーネルとハイパーバイザとを含む。
【0007】
いくつかの例では、分離カーネルは、API、割り込み、及び、入力/出力ポートを有しないカーネルである。
【0008】
いくつかの例では、分離カーネルは、インストール後にインストールされた構成を変更できないようにインストール時に構成されている。
【0009】
いくつかの例では、ハイパーバイザは、複数の異なるOS又はアプリケーションを実行するため単一のマルチテナントクラウドのハードウェアを仮想化することにより、MSLSドメインをホストするように単一のマルチテナントクラウドを構成し、複数の異なるOS又はアプリケーションのそれぞれは、MSLSドメインの1つに対応する。
【0010】
いくつかの例では、COSは、MSLSドメインに、動的にリソースを割り当て又は割り当て解除する。リソースは、1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、単一のマルチテナントクラウドの周辺機器を含む。
【0011】
いくつかの例では、COSは、VWPスロットを割り当てる。
【0012】
いくつかの例では、各VWPスロットは、1又は2以上の仮想マシン又は特殊なアプリケーションをサポートする。
【0013】
いくつかの例では、KMSは、作成されているVWPに応答してセキュリティオブジェクトを決定することにより、MSLSドメインに関連するセキュリティオブジェクトを管理する。
【0014】
いくつかの例では、COSは、さらに、VWPに割り当てられたリソースとVWPに関連付けられたセキュリティオブジェクトを無効にすることにより、VWPを破棄するように構成されている。
【0015】
いくつかの例では、KMSは、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化する。
【0016】
様々な例では、方法は、MSLSドメインをホストするように単一のマルチテナントクラウドを構成すること、MSLSドメインに対し複数の個別のVWPをセットアップするために単一のマルチテナントクラウドを構成すること、及び、MSLSドメインに関連するセキュリティオブジェクトを管理することを含む。
【0017】
いくつかの例では、MSLSドメインのために複数の個別のVWPをセットアップするように単一のマルチテナントクラウドを構成することは、MSLSドメインに動的にリソースを割り当てること又は割り当て解除することを含む。リソースは、1又は2以上の処理リソース、ネットワークリソース、ストレージリソース、単一のマルチテナントクラウドの周辺機器を含む。
【0018】
いくつかの例では、複数の個別のVWPをセットアップするように単一のマルチテナントクラウドを構成することは、VWPスロットを割り当てることを含む。
【0019】
いくつかの例では、各VWPスロット、1又は2以上の仮想マシン又は特殊アプリケーションをサポートする。
【0020】
いくつかの例では、MSLSドメインに関連するセキュリティオブジェクトを管理することは、作成されているVWPに応答してセキュリティオブジェクトを決定することを含む。
【0021】
いくつかの例では、MSLSドメインに対して複数の個別のVWPをセットアップするよう単一のマルチテナントクラウドを構成することは、VWPに割り当てられたリソースとVWPに関連付けられたセキュリティオブジェクトを無効にすることにより、VWPを破棄することを含む。
【0022】
いくつかの例では、MSLSドメインに関連付けられたセキュリティオブジェクトを管理することは、固有のセキュリティオブジェクトを用いて、各ドメイン内のネットワークトラフィックを暗号化することを含む。
【0023】
様々な例によれば、MSLSドメイン用のセキュリティシステムは、MSLSドメインをホストするように単一部のマルチテナントクラウドを構成する手段、MSLSドメインに対し複数の個別のVWPをセットアップするように単一のマルチテナントクラウドを構成する手段、及びMSLSドメインに関連付けられたセキュリティオブジェクトを管理するように構成された手段を含む。
【0024】
様々な例では、非一時的プロセッサ可読媒体は、実行されると、1又は2以上のプロセッサに、MSLSドメインに対し複数の個別のVWPをセットアップするよう単一のマルチテナントクラウドを構成し、MSLSドメインに関連付けられたセキュリティオブジェクトを管理することにより、MSLSドメインをホストするための単一のマルチテナントクラウドを構成させるプロセッサ可読命令を含む。
【0025】
ここに組み込まれてこの明細書の一部を構成する添付の図面は、本開示の例示的な実施形態を示し、上記の一般的な説明と下記の詳細な説明とともに、様々な実施形態の特徴を説明するのに役立つ。
【図面の簡単な説明】
【0026】
図1図1は、いくつかの例によるハードウェアの単一スタック上のMSLSを示す図である。
図2図2は、いくつかの例による単一ドメインに対するVMPアーキテクチャを示す図である。
図3図3は、いくつかの例によるタイプ1のハイパーバイザを示す図である。
図4図4は、いくつかの例によるタイプ2のハイパーバイザを示す図である。
図5図5は、いくつかの例によるクラウド(分離カーネル)ホストを示す図である。
図6図6は、いくつかの例によるマルチドメインクラウドを示す図である。
図7図7は、いくつかの例によるガードを介したドメイン間ネットワークトラフィックを示す図である。
図8図8は、いくつかの例によるマルチドメインクラウドトラストパスを示す図である。
図9図9は、いくつかの例によるマルチドメインクラウドトラストエージェントVMP生成過程を示す図である。
【発明を実施するための形態】
【0027】
様々な例が添付の図面を参照して詳細に説明される。可能な限り、同じ又は類似の部分を指すために図面全体を通して同じ参照番号が使用されうる。異なる参照番号は、異なる、同じ又は類似の部分を指すために使用されうる。特定の例および実施に対する参照は例示の目的のためであり、本開示又は特許請求の範囲を限定することを意図するものではない。
【0028】
ここに表された例は、SKH、KMS、及びCOSの実施に基づいたソフトウェアプリケーションの方法と装置に関連する。いくつかの例では、SKHは、クラウドオーケストレーションシステムが本明細書で説明されるMSLSを有効にすることを可能にするためにスタック上で実行することができる。これにより、マルチテナントクラウド環境下の複数のドメインが、個別の単一レベルのドメインで動作している仮想ネットワークを用いて、個別のVM間の情報漏洩のリスクを回避して使用可能になる。
【0029】
実施は、機密扱いを受けていない、極秘、機密及びそれらのバリエーションなどのハードウェアの単一のスタック内の異なるセキュリティドメインがマルチテナントクラウド内で安全かつしっかりと動作することを可能にする政府クラウドシステムにおけるアプリケーションを含みうるが、これに限定されない。用途には、また、医療及びヘルスケア環境を保護することを含まれうる。その環境において、いくつかの情報は、医療保険の携行性と責任に関する法律(HIPAA)に準拠したクラウドシステム内のドメインにおいて、保護される必要がある。一方、他の情報は、クラウドシステム内の、よりアクセスしやすいが、まだ適切に保護されたドメインで保存される。他の用途は、法的情報、企業秘密、モノのインターネット(IoT)デバイスなどの保護を含みうる。本明細書に記載されている技術的解決策は、情報の別々のドメイン間のクラウド環境における具体的な分離の提供を可能にする。
【0030】
図1は、単一のハードウェアスタック上のMSLSの例を示す図である。図1は、MSLSに対応するクラウド環境100を示す。クラウド環境は、VM(例えば、少なくともVM130a~130c)をサポートするデータセンターラック102に関連付けられたコンピュータ、ストレージ、ネットワーキング機能を使用する。伝統的に、別々のドメインを実行することは、各ドメインに対して別々のコンピュータハードウェア、ネットワーク、及びストレージスタックを必要とするが、MSLSは、単一のハードウェア(例えば、データセンターラック102)スタックが複数の独立した安全性及びセキュリティレベル(MILS)を使ってMSLSを実行可能にするソフトウェアアプローチに対応する。MILSは、分離カーネルに基づいて設定することができる。分離カーネルは、リアルタイムカーネル、ごくわずかな行のコード、制限された又は全くないAPI、メモリアドレス以外の制限された又は全くないI/Oアドレスを使用し、インストール後に全く変更できない特殊なOSである。いくつかの実施形態では、分離カーネルはまた、VMを提供するためにハイパーバイザとして動作する。それゆえ、分離カーネルとハイパーバイザとの組み合わせは、本明細書では、分離カーネルハイパーバイザと呼ぶことができる。
【0031】
データセンターラック10は、複数のレベルを含むように示されており、そのうちの1つがレベル106である。このレベル106は、データセンターラック102のラックレベル104によってサポートされている。ラックレベル104は、CPU、GPU、高処理能力を提供する同様な物のようなハードウェアを参照する。レベル106は、分離カーネルにより使用可能になった複数のMILSセパレーション108、110、112をサポートする。データセンターラック102は、パーティション108~112に対応するスロットを含む。示されるように、パーティション108は、VM130aのための暗号化を可能にし管理する。パーティション110は、VM130bのための暗号化を可能にし管理する。パーティション112は、VM130cのための暗号化を可能にし管理する。
【0032】
いくつかの実施形態では、クラウド環境100は、仮想ローカルエリアネットワーク(vLAN)を介して仮想ルータ(vルータ)に接続されたVMを含む。vルータは、実質的にIPトラフィックをルーティングすることができる。例えば、VM120a、130aは、vLAN122aを介してvルータ124aと接続されている。vLAN122aを介したVM120a、130a間の通信の暗号化は、パーティション108によって管理することができる。言い換えると、パーティション108は、VM120a、130a、vルータ124aに対する暗号化を管理することができる。さらに示されるように、VM120b、130bは、vLAN122bを介してvルータ124bと接続されている。vLAN122bを介したVM120b、130b間の通信の暗号化は、パーティション110によって管理することができる。言い換えると、パーティション108は、VM120b、130b、vルータ124bに対する暗号化を管理することができる。VM120c、130cは、vLAN122cを介してvルータ124cと接続されている。vLAN122cを介したVM120c、130c間の通信の暗号化は、パーティション112によって管理することができる。言い換えると、パーティション112は、VM120c、130c、vルータ124cに対する暗号化を管理することができる。
【0033】
示されるように、vルータは、VM120a~120c及びVM130a~130cから生じたデータを交換するために接続されてもよい。例えば、vルータ124a、124bは、ソフトウェア定義(SD)ガード126を介して接続されうる。SDガード126は、パーティション108、112の両方によって提供される暗号化の詳細についての情報を有する。SDガードは、潜在的に悪意のあるトラフィックをリダイレクトし、トラフィックフローとタイムアウトを調整することができる。同様に、vルータ124b、124cは、SDガード128を介して接続されうる。SDガード128は、パーティション110、112の両方によって提供される暗号化の詳細についての情報を有する。さらに、vルータ124a、124cは、SDガード130を介して接続されうる。SDガード130は、パーティション108、112の両方によって提供された暗号化の詳細についての情報を有する。
【0034】
vルータ124a~124cは、動作可能なようにSDネットワーク(SDN)スイッチバックボーン132と結合されうる。SDNスイッチバックボーン132は、クラウド環境100と、公共のネットワーク又はワイドエリアネットワーク(WAN)のような他のネットワークとの間のIPトラフィックをルーティングするためにゲートウェイ134と動作可能に結合される。
【0035】
ゲートウェイ134とSDNスイッチバックボーン132との間の接続は、管理サーバ136、ストレージデータベース138、及びキーオーケストレーションサーバ140によって監視されうる。いくつかの構成では、管理サーバ136は、図8に示すCOSに対応する。ストレージデータベース138は、図8に示すストレージデータベース850に対応する。管理サーバ136は、図8に示すセキュリティポリシーマネージャ840に対応する。
【0036】
本開示は、MILSアプローチを利用する。このMILSアプローチは、単一のマルチテナントクラウドが複数の単一レベルのセキュリティドメインをホストするように、ハイパーバイザを加えて分離カーネル(本明細書ではまとめて分離カーネルハイパーバイザと称する)を用いる。分離カーネルハイパーバイザは、示されるようにコンピューティング、ネットワーク、及びストレージハードウェアのひとつのセット上ですべて作動し、単一のセキュリティドメインで動作する複数の個別のVWPを、単一のクラウド環境にセットアップさせるように、COS内に統合される。COSは、限定はしないが、「Apache Cloud Stack」又はクラウドマネジメントソフトウェアの他の同様なシステムである。この統合は、すべて、ネットワーク、ストレージ、MSLS環境に対して必要とされるその他の暗号化をセキュアにするために必要な複数の暗号化キーと他のセキュリティオブジェクトを管理することのできるSKH技術とKMS技術の可用性によって実用的に実現されている。
【0037】
図2は、いくつかの例による単一ドメインに対するVWPアーキテクチャ200を示す図である。図1、2を参照すると、MSLSクラウドアプローチは、そのMSLS環境を構築するため、複数のVWP(それぞれVWP210でありうる)を実装する。VWP210は、1又は2以上のクライアントVM、キーマネジメントコーディネータ(又はクライアント)214、ディスク暗号化ドライバ218、及びネットワーク暗号化ドライバ216を含む。キーマネジメントコーディネータ214は、KMS224と接続し、KMS224とVWP210との間のインターフェースの役割を果たす。ディスク暗号化ドライバ218は、ディスク(例えばネットワークストレージ220)に保存されているコンテンツを暗号化する。そのコンテンツは暗号され得、また、例えばVM画像およびデータドライブを含みうる。ネットワーク暗号化ドライバ216は、限定されないがインターネットプロトコルセキュリティ及びIPSecのような適切なプロトコルを介してネットワーク222を伝って送信されているコンテンツを暗号化する。
【0038】
分離カーネルは、数万行のコードのみを有し、API、割り込み、及び入出力ポートのないOSである。本質的に、分離カーネルは、攻撃面を提示しない。分離カーネルに存在しうる脆弱性は、評価され、排除され、又は少なくとも軽減することができる。分離カーネルは、インストール時に構成される。メモリアドレッシングを含むリソースは、その時点で設定することができる。そのようなアプローチは、ハードウェアを別々の物理的な対象に分割するためのCPU内蔵のハードウェア仮想化機能を使って、コンピュータのハードウェアを物理的に細かく分割する。
【0039】
ハイパーバイザの追加は、ハードウェアを複数の異なるOS又はアプリケーションを実行する(遂行する)ために仮想化しうることを意味している。本明細書に記載のいくつかの例は、スケジューラが完全にプログラム可能なリアルタイムOSである分離カーネルに基づく。
【0040】
COSは、クラウドのコンピューティング、ストレージ、及びネットワークコンポーネントを管理する手段を提供することができる。COSは、各クラウド又は各クラウドアプリケーションが必要とする時期とリソースの量を動的に決定するアルゴリズムを使用できる。そのリソースの例は、処理リソース、ネットワークリソース、ストレージリソース、その他周辺のコンピューティングリソースを含むが、これらに限定されない。COSがサポートするアプリケーションの動的に変化するリソースニーズをCOSが評価すると、COSは自動的に融通の利く方法でリソースを割り当て又は割り当て解除する。従来、これらのシステムは、単一のドメイン内のVMを使用して、単一レベルのセキュリティ(すなわち、単一ドメイン又は単一のパーティション)内のリソースを供与し管理する概念をサポートするだけである。
【0041】
COSは、ハイパーバイザ又は仮想マシンモニタと呼ばれるコンポーネントを使用してコンピューティング、ネットワーク、及びストレージのリソースを割り当てる。ほとんどの従来のCOSとこれに関連するハイパーバイザは、前述の脆弱性を有するMicrosoft Windows又はLinux上に構築される。
【0042】
ほとんどのハイパーバイザは、図3及び図4に示すように、タイプ1かタイプ2のどちらかに分類される。タイプ1のハイパーバイザの例(例えば、ハイパーバイザ320)は、図3に示される。ハイパーバイザ320は、ネイティブに(直接に)コンピュータハードウェア310にインストールされる。ハイパーバイザ320は、OS332、334、336に対してリソースを割り当てることができる。ハイパーバイザ320は、OS(例えば、Microsoft WindowsおよびLinux)の実装上に構築することができる。その実装の例は、HyperV、Xen、KVM、VMWare/ESXiを含むが、これらに限定されない。Intel x86 Xeon,Atom及びCore i5,i7ファミリーのプロセッサは、ドライバの仮想化(Vt-D)とメモリの仮想化(Vt-X)を使用する。ハイパースレッディング及びマルチプロセッサコアを用いるこのような機能によれば、単一のCPUでOSを実行している複数のVMをサポートすることができる。
【0043】
タイプ2のハイパーバイザ(例えば、ハイパーバイザ432、434)の例は、図4に示されている。ハードウェア410は、1又は2以上のOS422~426をサポートすることができる。少なくともOS422~426のうちの少なくとも1つ(例えば、OS424)は、少なくとも1つのハイパーバイザ(例えば、ハイパーバイザ432、434)を実行することができる。ハイパーバイザ432、434は、OS442~452を使えるように設定する。したがって、ハイパーバイザ432、434は、他のコンピュータアプリケーションのようにハイパーバイザ432、434が実行するよう、最初にインストールされる基礎を成すOS(例えばOS424)を必要としうる。
【0044】
本開示は、OS上に構築されたハイパーバイザを使用する代わりに、VMを供給するためにセキュアカーネルハイパーバイザアプローチを使用してCOSを修正することに関する。開示された実施形態は、単にVMを割り当てるのではない。むしろ、VWPは、ターゲットの単一のドメイン内に供給される。このアプローチは、支援する企業のKMSを用いて暗号化を使用して有効にされる。KMSは、潜在的な仮想ネットワーキングとストレージの暗号化のニーズとともに、何百又は何千ものVWPが管理されている大容量環境に実装することができる。KMSにより、適切なポリシー、文書化、ログ記録、及び個々のセキュリティを用いて、高度にセキュアで迅速な方法で、日々の暗号化キーを管理するニーズを管理することができる。
【0045】
いくつかの構成では、COS(これに限定されないがApach Cloud Stackのような)は、通常VMを使用可能にするルーチンが、代わりにVWPスロットを使用可能にすることができるように修正される。その後、与えられたVWP内に、1又は2以上のVM又は特殊なアプリケーションを実装することができる。
【0046】
その観点において、図5は、いくつかの例によるクラウド(分離カーネル)ホスト500を示す図である。図1~5を参照すると、COSは、リソースを割り当てるために、クラウドホストマネージャ(CHM)510、クラウドオーケストレーションエージェント(COA)520、及びクラウドホストネットワークマネージャ530と連携することができる。COSは、通常のVMの代わりにVWP210用のスロットを使用可能にするようにクラウドホスト500を構成することができる。開示された実施形態に関連する長所の1つは、各ターゲットドメインに対して別々のハードウェアスタックよりむしろ単一のハードウェアスタックを使って複数のVWPの提供が実行されることである。
【0047】
図6は、いくつかの例によるマルチドメインクラウド600を示す図である。図1~6を参照すると、マルチドメインクラウド600は、コンピューティング、ネットワーキング、ストレージリソースを含む単一のコンピュータハードウェアスタックによってサポートされうる。マルチドメインクラウド600は、複数のクラウドホスト500とその関連するネットワークストレージ640を含む。クラウドホスト500からのすべてのストレージオブジェクトは、暗号化することができる。クラウドホスト500は、SDNと接続することができる。すべてのネットワークトラフィックは、IPSecのような適切なセキュリティプロトコルを介して暗号化することができる。各物理ハードウェアデバイスは、ホスト毎に複数のVWPを配置することができる。VMビルダ(VMB)620は、与えられたハードウェアホストにスロットを割り当てるために使用されるソフトウェアモジュールでありうる。例えば、VMB620は、クラウドホスト500のVWPによってサポートされるVMのためのCPU、GPU、ネットワーク、ストレージリソースを提供することができる。Cloud Stackのような修正されたCOSは、そのようなリソースを割り当てるために、VMBとCOAを使用する。
【0048】
本明細書に記載されるように、VWPは、SKH及び暗号化を使用して生成される。生成されているVWPに応答して、新たに生成されたVWPを有効にするために一連の暗号化キーがKMS630から検索される。ひとたび有効にされると、VWPは、「パーソナリティ」を呈することができる。「パーソナリティ」とは、VMをVWPに割り当てることができることを意味する。VMは、各VWP内で特定のOS又は特殊なアプリケーションを実行することができる。VWPを破棄するため、COS(例えば、クラウドマネージャ610)は、VWPに割り当てられたリソースと、関連のある暗号化キーとを無効にすることができる。したがって、VWPは、動作不能になる。VWPを無効にしたリソースは、その後COSによって新たなVWPに再度割り当てることができる。それゆえ、クラウドホスト500、クラウドマネージャ610、及びVMビルダ620は、暗号化オブジェクトにアクセスするためにKMS630に動作可能に結合することができる。クラウドマネージャ610とVMビルダ620は、格納されているストレージオブジェクトにアクセスするために、ネットワークストレージ640に動作可能に結合することができる。クラウドマネージャ610は、クラウドホストを生成、管理、破棄するためにクラウドホスト500それぞれと動作可能に結合することができる。
【0049】
図7は、いくつかの例によるガードを介したドメイン間ネットワーキングスキーム700を示す図である。図1~7を参照すると、セキュアネットワーキングは、MSLSマルチドメインクラウドネットワーキング環境において別々のドメイン間でセキュアな通信を保証する重要な要素である。いくつかの例では、暗号化とキーマネジメントシステムは、すべてのドメイン内ネットワークトラフィックは唯一のキーを用いて暗号化されることを保証する。単一のクラウド内のネットワークは、IPSecセキュリティプロトコルに基づく仮想プライベートネットワーキング(VPN)機能を使って分離される。ドメイン間(例えば、ドメイン間通信)で所定のネットワークトラフィック(1つでも許可されている場合には)を許可するには、1又は2以上のガードを信頼されたコンピューティングベース(TCB)の一部として配置することができる。ガードは、ドメイン間ネットワークトラフィックの復号化、フィルタリング、暗号化を許可する正しい認証情報と暗号化キーが存在する場合のみトラフィックの通過を許可することができる。
【0050】
例えば、第1のドメインネットワーク管理モジュール702は、第1のドメインに対するネットワーキング(例えば、ドメインネームシステム(DNS)、動的ホスト構成プロトコル(DHCP)、IPルーティングなど)を管理しうる。第2のドメインネットワーク管理モジュール704は、第2のドメインに対するネットワーキングを管理しうる。ドメインネットワーク管理モジュール702、704は、適切なデータを交換するために互いに動作可能に結合されてもよい。第1のドメインネットワーク管理モジュール702に関連するガード712は、正しい認識情報と暗号化キーが存在する場合、第1のドメインネットワーク管理モジュール702からのトラフィックが通過できるように使用しうる。第2のネットワーク管理モジュール704に関連するガード714は、正しい認識情報と暗号化キーが存在する場合、第2のドメインネットワーク管理モジュール704からのトラフィックを通過できるように使用しうる。クラウドマネージャ705は、ガード712、714により実行されたチェックの後、通信経路を動的に結合しうる。
【0051】
いくつかの実施形態では、第1のドメインネットワーク管理モジュール702は、VWP732、734の通信を管理することができる。その関連で、第1のドメインネットワーク管理モジュール702は、VWP732、734と通信するための第1ネットワーク722と接続しうる。第1ネットワーク722は、ドメイン内ネットワークでありうる。いくつかの実施形態では、第2のドメインネットワーク管理モジュール704は、VWP736、738の通信を管理することができる。その関連で、第2のドメインネットワーク管理モジュール704は、VWP736、738と通信するための第2ネットワーク724と接続しうる。第2ネットワーク724は、ドメイン内ネットワークでありうる。
【0052】
VWP732、736は、ドメイン間ネットワークでありうる第3ネットワーク726を介して互いに通信しうる。VWP732に含まれ、又は、VWP732に関連付けられたガード742は、正しい認証情報と暗号化キーが存在する場合、VWP736からのトラフィックを通過できるように使用しうる。VWP734、738は、第3ネットワーク726を介して互いに通信しうる。VWP734に含まれ、又は、VWP734に関連付けられたガード744は、正しい認証情報と暗号化キーが存在する場合、VWP734からのトラフィックを通過できるように使用しうる。VWP738に含まれ、又は、VWP738に関連付けられたガード748は、正しい認証情報と暗号化キーが存在する場合、VWP738からのトラフィックを通過できるように使用しうる。KMS750は、暗号化オブジェクトをVWP732~738に提供するため第3ネットワーク726と動作可能に結合しうる。
【0053】
VWPを発行するプロセスは、マルチドメインクラウドトラストパスの一部である。トラストエージェントは、VWPの発行プロセスを管理する責任がある。クラウド内でマルチドメイン機能を構築するには、クロスドメインアクセス(例えば、極秘から機密への政府ネットワークの移行)から分離する必要のある情報を適切に分離するマルチドメインクラウドの機能を確認する独立の認証されたサードパーティによる認証評価を必要としてもよい。ソフトウェアコンポーネント又はモジュールは、TCBの一部でありうるマルチドメインクラウドトラストパス内でそのような分離機能を実行する。複雑さを軽減し、認証評価プロセスを簡略化するために、TCBの一部でなければならない個別のコンポーネントの数を最小限にすることができる。
【0054】
図8は、いくつかの例によるマルチドメインクラウドトラストパス800を示す図である。図1~8を参照すると、マルチドメインクラウドトラストパス800は、COS801がVWPの生成を管理する例示的なプロセスを示している。マルチドメインクラウドトラストパス800は、COS801、SKH802、KMSクライアント820、セキュリティポリシーマネージャ(SPM)840、及びストレージデータベース850を含むが、これらに限定されない。COS801、SKH802の少なくとも一部、KMSクライアント820、ストレージデータベース850は、マネジメントドメインと関連付けられている。SPM840、トラストエージェント808、ネットガード810、及びディスクガード814は、TCBと関連付けられている。ストレージデータベース850及びクライアントVM812に蓄積されたVMデータおよびオブジェクトは、クライアントドメインと関連付けられている。
【0055】
いくつかの構成では、SPM840は、860でVWPを初期化することを含むプロセスのため、COS801とインターフェースで接続することができる。862で、SPM840とCOs801は、ドメイン識別子(ID)を識別し、ドメインラベルを生成することができる。864で、SPM840とCOS801は、空のディスクストレージ、その他の関連するパラメータを要求することができる。866で、SPM840とCOS801は、ブートルートデバイスを含むVWPを生成することができる。
【0056】
いくつかの構成では、SPM840は、VWP及びVWPに関連付けられたドメイン定義に対する適切な暗号化キーを取得するため、KMSクライアント820を介して、KMSとインターフェースで接続することができる。その点に関し、KMSクライアント820は、VMP定義822とドメイン定義824とを記憶する。VWP定義822とドメイン定義824は、KMSクライアント820で記憶されたときに暗号化されうる。SPM840は、データ及びオブジェクトを記憶し、クライアントVM812に対応する暗号化されたストレージディスクを設定するために、ストレージデータベース850とインターフェースで接続することができる。COS801は、暗号化トラストエージェント(例えば、トラストエージェント808)、ネットワークガード(例えば、ネットガード810)、及びディスクガード(例えば、ディスクガード814)を生成するために、SKH802を介してクラウドオーケストレーションエージェント804とインターフェースで接続することができる。構成要素808、810、814が生成されると、ネットガード810及びディスクガード814を利用して、1又は2以上のクライアントVM812を作成することができる。
【0057】
図9は、いくつかの例によるマルチドメイントラストエージェントVWPを生成する方法900を示す図である。図1~9を参照すると、方法900は、マルチドメインクラウドトラストパス800に対応する。いくつかの構成では、方法900は、VWPの生成と配信を円滑に進める少なくともトラストエージェント808により実行することができる。
【0058】
910で、方法900は、任意の適切な方法でVWPを識別するVWP識別子(例えば、WP(ID)、VWPID、W_IDなど)を取得することから始まる。一例では、VWP識別子は、COS801によって割り当てられ、COS801から受信することができる。920で、トラストエージェント808は、例えば、KMSクライアント820から暗号化キーを取得することにより、暗号化されたVWP定義822を受信する。
【0059】
930で、トラストエージェント808は、VWPのインテグリティを検証する。いくつかの実施形態では、トラストエージェント808は、適切な信頼されたコンピューティングモジュール(TPM)によりVWPの署名を検証することができる。940で、トラストエージェント808は、マスターキーを使って暗号化されたVWP定義822を復号することができる。マスターキーは、TPMから受信することができる。いくつかの実施形態では、トラストエージェント808は、ネットワークドメインキー、ディスク暗号化キー、及びブート命令/定義を抽出することができる。950で、トラストエージェント808は、VWPに関連する構成と、SKH802のワークスロットに関連する構成とに互換性があるかを検証する。
【0060】
960で、トラストエージェント808は、VWPとワークスロットをリセットすることができる。例えば、トラストエージェント808は、ネットガード810、ディスクガード814、及びクライアントVM812が保持するデータのリセット及び消去を引き起こすことができる。トラストエージェント808は、SKH802に関連するすべてのリソースの初期化を引き起こすことができる。970で、トラストエージェント808は、初期化メッセージを送信することができる。例えば、トラストエージェント808は、ネットワークドメインキーをネットガード810に送信することができるトラストエージェント808は、ディスク暗号化キーをディスクガード814に送信することができる。さらに、トラストエージェント808は、クライアントVM812の起動を開始するために、ブート命令/定義をクライアントVM812に送信することができる。ネットガード810は、エミュレートされたネットワークインターフェース(NIC)をクライアントVM812に送信することができる。
【0061】
いくつかの例では、SKH、KMS、及びCOSを用いて本明細書で説明する構成を実装する。MSLSを備えたマルチテナントクラウドとして提供されるマルチドメインクラウドの他の構成を実装することができる。
【0062】
全体で使用される様々な頭字語は、以下の表1に示される。
【0063】
【表1】
【0064】
例示及び説明されている様々な例は、特許請求の範囲の様々な特徴を示すための例としてのみ提供される。しかし、任意の与えられた例に関して示され、説明された特徴は、必ずしも関連する例に限定されず、示され説明された他の例に使用し、又は組み合わせてもよい。さらに、特許請求の範囲は、いずれかの例によって限定されることを意図しない。
【0065】
前述の方法の説明及びプロセスフロー図は、単に理解を助ける例として提供されており、様々な例のステップが提示された順序で実行されなければならないことを要求又は暗示することを意図していない。当業者によって理解されるように、前述の例におけるステップの順序は、任意の順序で実行されうる。「その後」、「その後」、「次に」などといった単語は、ステップの順序を限定することを意図していない。これらの単語は、単に方法の説明を通じて読み手をガイドするために使用されるものである。さらに、単数形の特許請求の範囲の要素への言及、例えば、「a」、「an」、又は「the」の冠詞の使用は、当該要素を単数に限定するものとして解釈されるべきではない。
【0066】
本明細書で開示された例に関連して説明された、様々な例示的な論理ブロック、モジュール、回路、アルゴリズムステップは、電子機器、コンピュータソフトウェア、又はその両方の組み合わせとして実装することができる。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示された要素であるブロック、モジュール、回路、及びステップは、それらの機能の観点から一般的に上記で説明した。そのような機能がハードウェア又はソフトウェアとして実装されるかは、特定のアプリケーションとシステム全体に課される設計上の制約に依る。当業者は、説明された機能を、各個別のアプリケーションに対して、様々な手法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【0067】
本明細書に開示される例に関連して説明される様々な例示的な論理回路、論理ブロック、モジュール、及び回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)若しくは他のプログラム可能論理回路、ディスクリートゲート(discrete gate)若しくはトランジスタ論理回路、離散ハードウェア要素、又は、本明細書に開示された機能を実行するために設計されたそれらの組み合わせを用いて、実装又は実行することができる。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってもよい。プロセッサは、また、コンピューティングデバイスの組み合わせ、例えば、DSPの組み合わせ、マイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと組み合わせた1又は2以上のマイクロプロセッサ、又は他のそのような構成として実装してもよい。その代わりに、いくつかのステップ又は方法は、与えられた機能に固有の回路によって実行されてもよい。
【0068】
いくつかの典型的な例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実装することができる。ソフトウェアとして実装される場合、その機能は、非一時的なコンピュータ可読記録媒体又は非一時的なプロセッサ可読記録媒体上に、1又は2以上の命令又はコードとして保存されてもよい。本明細書で開示される方法又はアルゴリズムのステップは、非一時的なコンピュータ可読記録媒体又はプロセッサ可読記録媒体上に存在しうる、プロセッサが実行可能なソフトウェアモジュールで具現化することができる。非一時的なコンピュータ可読又はプロセッサ可読記録媒体は、コンピュータ又はプロセッサによりアクセス可能な任意の記録媒体としてもよい。限定ではなく例の目的として、そのような非一時的なコンピュータ可読又はプロセッサ可読記録媒体は、RAM、ROM、EEROM、フラッシュメモリ、CD-ROM、若しくは他の光学ディスク記録装置、磁気ディスク記録装置、他の磁気記録装置、又は、コンピュータによりアクセス可能なその他の媒体を含むことができる。ここで使用されるディスク(disk)とディスク(disc)には、コンパクトディスク(CD)、レーザーディスク、光学ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、ブルーレイディスクが含まれる。ディスク(disk)は、通常磁気でデータを再生し、一方、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記の組み合わせも非一時的なコンピュータ可読媒体、プロセッサ可読媒体の範囲内に含まれる。加えて、方法又はアルゴリズムの動作は、コンピュータプログラム製品に組み込まれうる非一時的なプロセッサ可読記録媒体、及び/又はコンピュータ可読記録媒体上のコード及び/又は命令の1つ又は任意の組み合わせ又はセットとして存在してもよい。
【0069】
開示された例の前述の記述は、当業者が本開示を作成又は使用できるように提供される。これらの例に対する様々な修正は、当業者に容易に明らかであり、本明細書で定義される包括的な原理は、本開示の精神又は範囲から逸脱することなく、いくつかの例に適用することができる。したがって、本開示は、本明細書に示された例に限定されることを意図するものではなく、添付の特許請求の範囲とその原理と本明細書に開示された新規な特徴と一致する最も広い範囲を与えられる。
図1
図2
図3
図4
図5
図6
図7
図8
図9