(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】セキュリティ有効化のためのアクセスの維持方法、システム、プログラム、データ構造
(51)【国際特許分類】
G06F 21/85 20130101AFI20241210BHJP
G06F 21/44 20130101ALI20241210BHJP
【FI】
G06F21/85
G06F21/44
(21)【出願番号】P 2022508975
(86)(22)【出願日】2020-09-02
(86)【国際出願番号】 IB2020058158
(87)【国際公開番号】W WO2021048698
(87)【国際公開日】2021-03-18
【審査請求日】2023-02-24
(32)【優先日】2019-09-11
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ハソーン、ロジャー
(72)【発明者】
【氏名】ドリーバー、パトリシア
(72)【発明者】
【氏名】コロッナ、クリストファー
(72)【発明者】
【氏名】リヴェラ、エヴァン
(72)【発明者】
【氏名】フラナガン、ジョン
【審査官】平井 誠
(56)【参考文献】
【文献】特開2000-174807(JP,A)
【文献】特開2005-284437(JP,A)
【文献】米国特許出願公開第2011/0219438(US,A1)
【文献】米国特許出願公開第2016/0253186(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
ホスト・ポートをセキュリティのために有効化することと、
ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であるとの前記ホスト・ポートによる判断に応答して、前記ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかを、前記ホスト・ポートにより判断することと、
前記ストレージ・ポートからの前記ログイン応答において前記監査モード・インジケータが有効化されているかを判断し、有効化されていると前記ストレージ・ポートへのI/Oを前記ホスト・ポートにより実行し、有効化されていないと前記ストレージ・ポートへのI/Oを前記ホスト・ポートにより実行することを回避すること、
を含む方法。
【請求項2】
前記ストレージ・ポートからの前記ログイン応答において前記監査モード・インジケータが有効化されていないとの判断に応答して、前記ホスト・ポートにより、I/Oリクエストをホスト計算デバイスのオペレーティング・システムに戻すことをさらに含む、請求項1に記載の方法。
【請求項3】
前記ホスト・ポートが前記ストレージ・ポートとの間で認証を行うための証明書を取得するために鍵サーバにアクセスできない場合には、前記ホスト・ポートは、前記ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることは不可能であると判断する、請求項1に記載の方法。
【請求項4】
ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションは、前記ストレージ・ポートとの間での前記認証または前記セキュリティ・アソシエーションのネゴシエーションのためのプロセスに失敗が存在する場合には、成功裏に完了させることは不可能であると前記ホスト・ポートが判断する、請求項3に記載の方法。
【請求項5】
前記監査モード・インジケータは、ファイバ・チャネル・リンク・サービスを実装するプログラムにおいて、補助パラメータ・データ・ワード0、ビット23における指示を介して有効化される、請求項1に記載の方法。
【請求項6】
メモリと、
前記メモリに結合されており、動作を実行するプロセッサであって、前記動作は、
ホスト・ポートをセキュリティのために有効化することと、
ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であるとの前記ホスト・ポートによる判断に応答して、前記ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかを、前記ホスト・ポートにより判断することと、
前記ストレージ・ポートからの前記ログイン応答において前記監査モード・インジケータが有効化されているかを判断し、有効化されていると前記ストレージ・ポートへのI/Oを前記ホスト・ポートにより実行し、有効化されていないと前記ストレージ・ポートへのI/Oを前記ホスト・ポートにより実行することを回避すること、
を含む、前記プロセッサと、
を備える、システム。
【請求項7】
前記動作は、
前記ストレージ・ポートからの前記ログイン応答において前記監査モード・インジケータが有効化されていないとの判断に応答して、前記ホスト・ポートにより、I/Oリクエストをホスト計算デバイスのオペレーティング・システムに戻すことをさらに含む、請求項6に記載のシステム。
【請求項8】
前記ホスト・ポートが前記ストレージ・ポートとの間で認証を行うための証明書を取得するために鍵サーバにアクセスできない場合には、前記ホスト・ポートは、前記ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることは不可能であると判断する、請求項6に記載のシステム。
【請求項9】
ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションは、前記ストレージ・ポートとの間での前記認証または前記セキュリティ・アソシエーションのネゴシエーションのためのプロセスに失敗が存在する場合には、成功裏に完了させることは不可能であると前記ホスト・ポートが判断する、請求項8に記載のシステム。
【請求項10】
前記監査モード・インジケータは、ファイバ・チャネル・リンク・サービスを実装するプログラムにおいて、補助パラメータ・データ・ワード0、ビット23における指示を介して有効化される、請求項6に記載のシステム。
【請求項11】
請求項1~5の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
【請求項12】
請求項11に記載の前記コンピュータ・プログラムを、コンピュータ可読記憶媒体に記憶した、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、広くは、ホスト・システムにおけるセキュリティ有効化(securityenablement)のためのアクセスの維持に関する。
【背景技術】
【0002】
ファイバ・チャネルとは、米国国家規格協会(ANSI)によって開発された、データ転送のための1組の統合されたアーキテクチャ標準を指す。ファイバ・チャネル・アーキテクチャのためのセキュリティ・ソリューションは、ANSIによって開発されたファイバ・チャネル・セキュリティ・プロトコル(FC-SP)によって提供される。FC-SPは、ファイバ・チャネル環境におけるデバイスの認証、メッセージごとのセキュリティ、ポリシの配信などのための機構を、提供する。FC-SPのさらなる詳細は、2012年6月12日にANSIによって出版された出版物「ファイバ・チャネル・セキュリティ・プロトコル-2(FC-SP-2)」の改訂版2.72において、提供されている。
【0003】
FC-LS-4は、ファイバ・チャネルにおけるリンク・サービスのための機構を提供しており、さらなる詳細は、2019年7月16日にANSIによって出版された出版物「ファイバ・チャネル・リンク・サービス(FC-LS-4)」の改訂版4.04において、提供されている。FC-FS-5は、ファイバ・チャネルにおけるフレーミングおよびシグナリングのための機構を提供しており、さらなる詳細は、2018年4月3日にANSIによって出版された出版物「ファイバ・チャネル・フレーミングおよびシグナリング-5(FC-FS-5)」の改訂版1.0において、提供されている。
【0004】
ファイバ・チャネル環境では、ファブリックにおけるノードの間で安全で暗号化された通信を提供するために、セキュリティ・アソシエーション(SA)管理トランザクションが、セキュリティ確立プロトコルを用いて、SA_イニシエータとSA_レスポンダとの間で生じる。イニシエータとレスポンダとは、ファイバ・チャネル・ネットワークにおけるデバイスのアダプタでのポートを含むこともできる。ポートにおけるデータ送信とデータ受信とのために、別個のセキュリティ・アソシエーションが確立される。SA確立トランザクションが完了すると、その結果として、確立されたセキュリティ・アソシエーションの下にあるイニシエータとレスポンダとの間でのデータ通信を暗号化/復号化するのに用いられる、セキュリティ・アソシエーションと関連する鍵マテリアルとの組が生じる。セキュリティ・アソシエーション・プロトコルの例は、FC-SP-2におけるセキュリティ・アソシエーション管理プロトコルである。このプロトコルは、ペアレント・アソシエーションを確立するための1対のメッセージであるSA_InitおよびSA_Init応答と、それに続く、エンティティの認証を実行してエンティティの間で転送されるデータを保護するセキュリティ・アソシエーションを確立するための1対のメッセージであるSA_AuthおよびSA_Auth応答とで構成される。
【0005】
ストレージ・コントローラは、そのストレージ・コントローラにファイバ・チャネル・ネットワークを介して接続される1つまたは複数のホスト計算デバイスのためのストレージへのアクセスを、制御し得る。ストレージ・コントローラで実行されるストレージ管理アプリケーションは、そのストレージ・コントローラに結合されているディスク・ドライブ、テープ・ドライブ、フラッシュ・ドライブ、ダイレクト・アクセス・ストレージ・デバイス(DASD)などの、複数のストレージ・デバイスを管理し得る。ホスト計算デバイスは、入力/出力(I/O)コマンドをストレージ・コントローラに送り得るのであって、ストレージ・コントローラは、データをストレージ・デバイスから読み出すために、またはデータをストレージ・デバイスに書き込むために、そのI/Oコマンドを実行し得る。ホストとストレージ・コントローラとの間の通信は、ホストとストレージ・コントローラとのアダプタに配置されているファイバ・チャネル・ポートを介して生じる。
【0006】
米国特許出願公開第2010-0154053号は、暗号スプリッティングを用いるストレージ・セキュリティ機構を論じている。米国特許出願公開第2019-0251282号は、サーバの間でデータを転送するためのサイバ・セキュリティ機構を論じている。米国特許出願公開第2016-0139845号は、データ・グルーピング構造のためのストレージ・レベルでのアクセス制御を論じている。米国特許出願公開第2016-0378691号は、攻撃に対してストレージを保護するための機構を論じている。米国特許第8275950号は、ホスト・コンピュータからのいかなる認証もされていないアクセスの試みもポートごとに阻止することにより強化されたセキュリティを維持するためにログイン・リクエスト制御テーブルを用いて、ホスト・コンピュータとストレージ・コントローラとのポートの1対1対応を管理し得るファイバ・チャネル接続ストレージ・コントローラを、論じている。米国特許第6219771は、改善されたセキュリティ・プロセスと分割配分機能とを備えたデータ・ストレージ装置を論じている。米国特許出願公開第2004-0107342号は、安全なネットワーク・ファイル・アクセス制御システムを論じている。ヨーロッパ特許出願第EP1276034A2号は、ストレージ・サブシステムにおける論理ユニットのためのセキュリティを論じている。米国特許出願公開第2016-0342798号は、保護されたデバイス管理のためのシステムおよび方法を論じている。米国特許第8799436号は、情報技術(IT)設定管理データベースにおける設定項目を監査および確認するためのシステムおよび方法を論じている。
【発明の概要】
【0007】
ホスト・ポートがセキュリティのために有効化されている方法、システム、コンピュータ・プログラム製品が提供される。ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であるとのホスト・ポートによる判断に応答して、ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかを、判断する。ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかの判断に基づき、ストレージ・ポートへの入力/出力(I/O)アクセスを保存する。結果的に、ホスト・ポートは、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能である場合であっても、ストレージ・ポートを介して、I/Oを実行することが可能であり得る。
【0008】
さらなる実施形態では、ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているとの判断に応答して、ストレージ・ポートへのI/Oを実行する。結果的に、ホスト・ポートは、監査モード・インジケータが有効化されているときには、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることが不可能であっても、ストレージ・ポートを介して、I/Oを実行する。
【0009】
追加的な実施形態では、ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されていないとの判断に応答して、ストレージ・ポートへのI/Oの実行を回避する。結果的に、ホスト・ポートは、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることが不可能であり、監査モード・インジケータが有効化されていないときには、ストレージ・ポートを介して、I/Oを実行することはない。
【0010】
追加的な実施形態では、ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されていないとの判断に応答して、I/Oリクエストをホスト計算デバイスのオペレーティング・システムに戻す。結果的に、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることが不可能であり、監査モード・インジケータが有効化されていない場合には、I/Oの実行のために、代替的な機構が、試みられる。
【0011】
さらなる実施形態では、ホスト・ポートは、ホスト・ポートがストレージ・ポートとの間で認証を行うための証明書を取得するために鍵サーバにアクセスできない場合には、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることは不可能であると判断する。結果的に、ホスト・ポートは、I/Oリクエストをストレージ・ポートに送るべきかどうかを判断するため、監査モード・インジケータの状態を判断するためのさらなる動作を取ることがあり得る。
【0012】
追加的な実施形態では、ホスト・ポートは、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションのためのプロセスに失敗が存在する場合には、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることは不可能である、と判断する。結果的に、ホスト・ポートは、I/Oリクエストをストレージ・ポートに送るべきかどうかを判断するために、監査モード・インジケータの状態を判断するためのさらなる動作を取ることがあり得る。
【0013】
さらなる実施形態では、監査モード・インジケータは、ファイバ・チャネル・リンク・サービスを実装するプログラムにおいて、補助パラメータ・データ・ワード0、ビット23における指示を介して有効化される。結果的に、ファイバ・チャネルによって提供されるセキュリティ・ビットに基づく動作を増加させるように、ファイバ・チャネルへの強化がなされる。
【0014】
次に図面を参照するが、図面においては、同様の参照番号は、複数の図面を通じて、対応する部材を表す。
【図面の簡単な説明】
【0015】
【
図1】いくつかの実施形態による、ファイバ・チャネル・ファブリックを経由して複数のストレージ・コントローラもしくはストレージ・デバイスまたはその両方と通信する複数のホストを含むヘテロジニアス・コンピューティング環境のブロック図の図解である。
【
図2】いくつかの実施形態による、ヘテロジニアス・コンピューティング環境におけるセキュリティ有効化のために、ホストのためのアクセスを維持するためのシステムのブロック図の図解である。
【
図3】いくつかの実施形態による、ファイバ・チャネルにおけるログインのためのセキュリティ・ビットと、監査モード・インジケータを介するファイバ・チャネルへの強化とを示すブロック図の図解である。
【
図4】いくつかの実施形態による、ファイバ・チャネルにおけるログインと応答とを示すブロック図の図解である。
【
図5】いくつかの実施形態による、監査モード・インジケータの有効化または非有効化を介して「セキュリティ強制」と「セキュリティ有効化」とのための指示を提供するファイバ・チャネルへの強化を示すブロック図の図解である。
【
図6】いくつかの実施形態による、セキュリティが強制されているストレージ・ポートの動作を示すフローチャートの図解である。
【
図7】いくつかの実施形態による、セキュリティが有効化されているストレージ・ポートの動作を示すフローチャートの図解である。
【
図8】いくつかの実施形態による、認証とセキュリティ・アソシエーションとの管理が成功裏に完了されることを阻止する条件を示すブロック図の図解である。
【
図9】いくつかの実施形態による、単一のストレージ・ポートにログインしている複数のホスト・ポートを示すブロック図の図解である。
【
図10】いくつかの実施形態による、ストレージ・ポートをセキュリティ強制状態に変更すべきかどうかを判断するためのストレージ・デバイスにおける動作を示すフローチャートの図解である。
【
図11】いくつかの実施形態による、ホスト・システムにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャートの図解である。
【
図12】いくつかの実施形態による、ホスト・システムにおけるセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャートの図解である。
【
図13】いくつかの実施形態による、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャートの図解である。
【
図14】いくつかの実施形態による、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャートの図解である。
【
図15】いくつかの実施形態による、クラウド・コンピューティング環境のブロック図の図解である。
【
図16】いくつかの実施形態による、
図15のクラウド・コンピューティング環境のさらなる詳細のブロック図の図解である。
【
図17】いくつかの実施形態による、
図1~16に記載されているホスト、ストレージ・コントローラおよびストレージ・デバイスに含まれるいくつかの要素を示す計算システムのブロック図の図解である。
【発明を実施するための形態】
【0016】
以下の説明では、その説明の一部を形成しいくつかの実施形態を図解している添付の図面への参照がなされる。それ以外の実施形態が用いられる場合もあり得ること、そして構造上および動作上の変更がなされる場合もあり得ることを理解されたい。
【0017】
ファイバ・チャネル・リンク(FC-SP-2)を暗号化するための標準は、2つのエンドポイント(すなわち、ポート)の相互認証用のプロトコルと、これら2つのエンドポイントの間での通信セッションで用いられる暗号鍵のネゴシエーション用のプロトコルとを含む。この標準は、関与する当事者を認証するための様々な機構と、鍵の材料がそれによって提供されるまたは開発される機構とに対するサポートを、提供する。
【0018】
FC-SP-2標準では、エンドポイントの内部における認証のためのサポートは、ログイン・セッションの間にピアに送られる共通サービス・パラメータのセキュリティ・ビットの設定によって示される。ログイン・リクエストにおいて1の値に設定されるときには、そのセキュリティ・ビットは、送信側ポートが認証を実行できることを示す。応答側ポートがログイン・リクエストを受け入れるときに、回答において応答側ポートがセキュリティ・ビットを1に設定する場合には、これは、応答側ポートが、ログインの送信者に対し、どのようなさらなるアクセスも付与する前に、その時点で認証を実行することを要求することを示している。
【0019】
FC-SP-2標準は、応答側エンドポイントの行動を、そのリクエストが受信される時点でそのエンドポイントにおいて有効なセキュリティ・ポリシに基づき、ログイン・リクエストの受諾または拒絶とセキュリティ・ビットの設定とによって、特定する。標準は、このポリシがどのようにして応答側エンドポイントで例示されるかに関する規定を有していない。企業のデータセンタでは、データへのアクセスを保護するためのケアと、そのデータに対するセキュリティを提供するためのケアとが与えられることが必要である。セキュリティをサポートしないシステムとストレージ・ポート(例えば、レガシ・ポート)とをいくつか含むヘテロジニアスな環境でセキュリティを有効化させるときには、いくつかの実施形態が、そのような機構が提供されることを許容しない現在の標準とは対照的に、接続が失われないことを保証するための機構を提供する。
【0020】
いくつかの実施形態は、ストレージ・デバイスにおいてセキュリティが有効化されているときにはホストによるデータへのアクセスが失われない「監査モード」として、ホストにおけるセキュリティを有効化させる機構を提供する。セキュリティが有効化された後であればホスト・ポートがストレージ・ポートに継続してアクセスすることを許容するログインの時点での監査モード・インジケータの設定を介して、指示が提供される。いったん認証とセキュリティ機構の有効化とが成功裏に完了されていることが確認されると、セキュリティ有効化が、セキュリティ強制(security enforcement)のポリシに変更される。セキュリティ有効化とは、認証とセキュリティ機構の有効化とが成功裏に完了されていない場合であっても、I/Oが実行されることが可能であることを意味し、他方で、セキュリティ強制とは、認証とセキュリティ機構の有効化とが成功裏に完了されていない場合には、I/Oが実行されるのは不可能であることを意味する。監査モードの間であれば、ホストは、ストレージ・デバイスに継続的にアクセスして、接続のセキュリティ状態を監査するためのツールを提供し得る。
【0021】
いくつかの実施形態は、ホストが、ストレージ・デバイスとの間で認証もしくはセキュリティ・アソシエーションまたはその両方を成功裏に完了させるのが不可能であると判断し、監査モード・インジケータを使用して、ストレージ・ポートでセキュリティが強制されていないかどうかをチェックする仕組みを提供する。監査モード・インジケータが設定されている場合には、ホスト・プロセッサは、選択されたポートに沿ってストレージ・デバイスにI/O動作の送信を継続する。監査モード・インジケータが設定されていない場合には、ホスト・プロセッサは、ストレージ・デバイスへのI/O動作を停止して、ホスト・アプリケーションまたはオペレーティング・システムに対し、I/O動作を完了させる代替的な経路を見つけるように通知する。
【0022】
さらには、ファイバ・チャネルでは、多くのホスト・ポートが、単一のストレージ・ポートに(FC-FS-5に記載があるように)ログインすることがあり得る。これらのホスト・ポートのうち、いくつかはセキュリティをサポートし、いくつかはセキュリティをサポートしていない、という場合があり得る。ポート設定がセキュリティ強制に設定されている場合には、セキュリティをサポートしていないホスト・ポートは、ログインすることが許されていないために、ストレージ・ポートへのアクセスを失うことがあり得る。
【0023】
いくつかの実施形態では、ストレージ・デバイスにより、そのポートのそれぞれへの現時点でのログイン数を示すための情報が提供される。ログイン数に対しては、ストレージ・デバイスが、セキュリティ機能付きログイン数(number of security capable logins)と、成功裏に認証されセキュリティが有効化されているログイン数とを提供する。この情報から、ストレージ・ポートの設定がセキュリティ強制に変更される場合にポートへのアクセスが失われることがあり得るかどうかが判断される。いったんすべてのログインが安全であると判断されると、設定は、アクセスが失われることなく変更されるのであるが、その理由は、すべてのホスト・ポートが成功裏にセキュリティを有効化することができるからである。いくつかの実施形態では、設定を、セキュリティが強制されるように変更することが望まれるときには、ストレージ・デバイスは、アクセスの損失が生じる可能性があるかどうか(すなわち、成功裏に認証されないログインが存在するかどうか)を判断するために、ログイン・カウンタをチェックして、セキュリティを強制するように設定が変更されることを阻止する。
【0024】
いくつかの実施形態は、強制することなくセキュリティを有効化するための設定をサポートして、セキュリティを強制に設定することの効果を判断するために監査可能な統計(例えば、ログイン・カウント、セキュリティ機能付きのログイン・カウント(security capable login count)、およびセキュリティが有効化されたログイン・カウント)を提供するストレージ・ポートを提供する。監査モード・インジケータは、ホスト・ポートへのログイン応答で設定され、認証が成功裏に完了されることが不可能である場合であっても、I/Oがこのストレージ・ポートに送られることが可能であることを示す。セキュリティのための有効化または強制の設定は、ストレージ・アレイにおいてまたは個別のストレージ・ポート・ベースで実行され得る。
【0025】
いくつかの実施形態では、アクセスの損失が発生する可能性がある場合に設定変更を阻止するために、ログイン・インジケータの自動化された確認を有するセキュリティ強制のための設定が提供される。ログイン・インジケータを考慮することなく設定をセキュリティ強制に強制的に変更するオプションも、提供される。
【0026】
結果的に、ファイバ・チャネル・ベースの接続環境への強化において、I/Oを実行するために接続を維持するための改善が、デバイスに対してなされることになる。
【0027】
例示的な実施形態
図1は、ヘテロジニアス・コンピューティング環境のブロック
図100を図解しており、このヘテロジニアス・コンピューティング環境は、いくつかの実施形態によりファイバ・チャネル・ファブリック106を介して複数のストレージ・コントローラもしくはストレージ・デバイスまたはこれらの両方108、110と通信する複数のホスト102、104を含む。ストレージ・コントローラとストレージ・デバイスとは、共に、参照番号108、110で示されており、ホスト102、104は、ストレージ・デバイスを制御するストレージ・コントローラと通信する場合があり得るし、または、いかなるストレージ・コントローラも関与せずにストレージ・デバイスと通信する場合もあり得る。ストレージ・コントローラは、1つまたは複数のストレージ・デバイスを制御し、1つまたは複数のストレージ・デバイスへのアクセスを許容するため、進歩したタイプのストレージ・デバイスとも見なされ得る。
【0028】
ホスト102、104とストレージ・コントローラ108、110とは、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、ハンド・ヘルド・コンピュータ、パーム・トップ・コンピュータ、テレフォニ・デバイス、ネットワーク機器、ブレード・コンピュータ、処理デバイス、コントローラなど、当該技術分野において現時点で知られているものを含む、いずれかの適切な計算デバイスを含むこともできる。ストレージ・デバイスは、ハード・ディスク・ドライブ、テープ・ドライブ、ソリッド・ステート・ドライブなど、当該技術分野において現時点で知られているストレージ・デバイスを含むこともできる。
【0029】
ホスト102、104とストレージ・デバイス108、110とは、ストレージ・エリア・ネットワーク、ワイド・エリア・ネットワーク、インターネット、イントラネットなど、いずれかの適切なネットワークにおける要素であり得る。いくつかの実施形態では、ホスト102、104とストレージ・デバイス108、110とは、クラウド・コンピューティング環境における要素であり得る。ネットワークもしくはクラウド・コンピューティング環境またはその両方におけるホスト102、104とストレージ・デバイス108、110との間の接続は、ファイバ・チャネル・ファブリック106を介し得る。
【0030】
ホストは、1つまたは複数のホスト・ポートを含むこともできる。例えば、ホスト102は、複数のホスト・ポート112を含み、ホスト104は、複数のホスト・ポート114を含む。ストレージ・デバイスは、複数のストレージ・ポートを含むこともできる。例えば、ストレージ・デバイス108は、複数のストレージ・ポート116を含み、ストレージ・デバイス110は、複数のストレージ・ポート118を含む。ホスト・ポート112、114とストレージ・ポート116、118とは、ファイバ・チャネル・ファブリック106を介して通信し得る。
【0031】
いくつかの実施形態では、すべてのホストが、ホスト・ポートのためのセキュリティをサポートするとは限らない。例えば、いくつかのレガシ・ホストが、ファイバ・チャネルにおけるホスト・ポートのためのセキュリティをサポートしないことがあり得るし、または、ホストにおけるいくつかのレガシ・アダプタが、ファイバ・チャネルにおけるホスト・ポートのためのセキュリティをサポートしないこともあり得る。例えば、ホスト102は、ホスト・ポートのためのセキュリティをサポートするものとして示されており、ホスト104は、ホスト・ポートのためのセキュリティをサポートしないものとして示されている。
【0032】
いくつかの実施形態では、いくつかのストレージ・デバイスは、1つまたは複数のストレージ・ポートが強制を伴いセキュリティを有効化するものとして構成されることを可能にし得る(すなわち、ホスト・ポートとストレージ・ポートとの間に安全な接続が確立されていることが確認されない限り、ホスト・ポートからストレージ・ポートへのI/Oは、生じ得ない)。いくつかの実施形態では、いくつかのストレージ・デバイスは、1つまたは複数のストレージ・ポートが強制を伴うことなくセキュリティを有効化するものとして構成されることを可能にし得る(すなわち、ホスト・ポートとストレージ・ポートとの間に安全な接続が確立されていることが確認されていない場合でも、ホスト・ポートからストレージ・ポートへのI/Oが、生じ得る)。例えば、ストレージ・デバイス108は、ストレージ・ポート116のうちの少なくとも1つに対して、強制を伴うセキュリティを有効化させ得る(ストレージ・デバイス108における他のストレージ・ポートは、強制を伴わないセキュリティを有効化させ得る)。
図1では、ストレージ・デバイス110は、ストレージ・ポート118のうちの少なくとも1つに対して、強制を伴わないセキュリティを有効化させ得る(ストレージ・デバイス110における他のストレージ・ポートは、強制を伴うセキュリティを有効化させ得る)。
【0033】
したがって、
図1は、ホスト・ポートとストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合であっても、ホスト・ポートからストレージ・ポートにI/O動作が送られることを許容するいくつかの実施形態を示している。
【0034】
図2は、いくつかの実施形態に従い、ヘテロジニアス・コンピューティング環境におけるセキュリティ有効化のためにホスト202に対するアクセスを維持するためのシステムのブロック
図200を図解している。
【0035】
ホスト202は、ファイバ・チャネル・ファブリック208を介して、複数のストレージ・デバイス204、206に、通信可能に結合されている。ストレージ・デバイス204は、ストレージ・デバイス204のストレージ・ポート210に対して、強制を伴うセキュリティを有効化させており、ストレージ・デバイス206は、ストレージ・デバイス206のストレージ・ポート212に対して、強制を伴わずにセキュリティを有効化させている。いくつかの実施形態では、ストレージ・ポートは、強制を伴わないセキュリティの有効化から、強制を伴うセキュリティの有効化へ変更されるのであって、またその逆もあり得る。
【0036】
ホスト202は、ホスト・ポート214を含み、このホスト・ポート214は、ストレージ・ポート210、212と通信する。
図2に示されている実施形態では、ホスト・ポート214は、ホスト・ポート214とストレージ・ポート212との間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合であっても、I/Oをストレージ・ポート212に送信することができるのであるが、その理由は、ストレージ・ポート212が強制を伴わずにセキュリティを有効化させているからである。しかし、ホスト・ポート214は、ホスト・ポート214とストレージ・ポート210との間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合には、I/Oをストレージ・ポート210に送信できないのであって、その理由は、ストレージ・ポート210が強制を伴うセキュリティを有効化させているからである。
【0037】
ホスト・ポート214がI/O動作をストレージ・ポートに送信できない場合には、ホスト202のオペレーティング・システム216が、別の機構を介して、I/O動作を送信することを試みる。
【0038】
図3は、いくつかの実施形態による、現在のファイバ・チャネル標準におけるログインのためのセキュリティ・ビット302と、監査モード・インジケータ304を介するファイバ・チャネルへの強化とを示すブロック
図300を図解している。監査モード・インジケータ304は、有効化される場合(参照番号306)と、有効化されない場合(参照番号308)とがあり得る。
【0039】
監査モード・インジケータ304は、既存のファイバ・チャネル標準では見つけられない、ということが注意されるべきである。監査モード・インジケータ304を有効化することにより、セキュリティ・ビット302の構成と協調して機能するように、強制を伴わないセキュリティの有効化が可能になる。
【0040】
いくつかの実施形態では、監査モード・インジケータ304は、ファイバ・チャネル・リンク・サービス(FC-LS-4)を実装するプログラムにおける補助パラメータ・データ・ワード0、ビット23における指示を介して、有効化される。他の実施形態では、監査モード・インジケータ304を実装する他の機構が、提供されることがあり得る。監査モード・インジケータ304とセキュリティ・ビット302とは、動作を実行するために用いられる1つまたは複数のデータ構造の一部であり得る。
【0041】
図4は、いくつかの実施形態による、ファイバ・チャネルにおけるログインと応答とを示すブロック
図400を図解している。ホスト・ポート402は、ログイン・リクエスト404を、ストレージ・ポート406に送信する。ホスト・ポート402は、「送信ポート」とも称され、ストレージ・ポート406は、「受信ポート」とも称される。
【0042】
ホスト・ポート402からのログイン・リクエスト404において、セキュリティ・ビット302は、送信ポート(すなわち、ホスト・ポート402)が認証を実行できるということを示すために、1に設定される。
【0043】
ログイン・リクエスト404を受け取ると、ストレージ・ポート406は、応答408をホスト・ポート402に送る。ストレージ・ポート406からの応答408は、受信ポート(すなわち、ストレージ・ポート406)が送信ポート(すなわち、ホスト・ポート402)にそれ以上のいかなるアクセスも付与する前に現時点で認証を実行することを要求することを示すために、セキュリティ・ビット302を1に設定し得る。
【0044】
いくつかの実施形態では、セキュリティ・ビット302が応答において1に設定されている場合であっても、強制を伴わないセキュリティ有効化を示すように監査モード・インジケータ304が有効化(設定)されている場合には、それ以上のいかなるアクセスも付与する前に認証を完了させるという要求は、無効にされる。
【0045】
図5は、いくつかの実施形態による、監査モード・インジケータ304の有効化または非有効化を介して「セキュリティ強制」と「セキュリティ有効化」とに対する指示を提供するファイバ・チャネルへの強化を示すブロック
図500を図解している。
【0046】
指示は、ホスト・ポートからのログイン・リクエストに応答して、受信ポート(例えば、ストレージ・デバイスにおけるストレージ・ポート)によって提供される(参照番号502によって示されているように)。この指示は、監査モード・インジケータ304の設定を介して、提供され得る。監査モード・インジケータ304を有効化されているように設定すると、結果的に、「セキュリティ有効化」504というストレージ・ポートの状態が生じ得るのであって、これは、強制を伴わずにセキュリティが有効化されていることを意味する。監査モード・インジケータ304が非有効化されているように設定すると、結果的に、「セキュリティ強制」506というストレージ・ポートの状態が生じ得るのであって、これは、強制を伴うセキュリティが有効化されていることを意味する。
【0047】
図6は、いくつかの実施形態による、セキュリティが実施されているストレージ・ポートの動作を示すフローチャート600を図解している。制御はブロック604に進み、ここでは、ホスト・ポートとストレージ・ポートとの間で認証およびセキュリティ・アソシエーションの管理が開始される。制御がブロック606に進むと、ここでは、ホスト・ポートとストレージ・ポートとの間で認証およびセキュリティ・アソシエーションの管理が成功裏に完了したかどうか、に関する判断がなされる。完了した(「はい」の分岐608)場合には、制御はブロック610に進み、ここでは、ホスト・ポートが、ストレージ・ポートを通じてI/Oの実行を開始することが許される(ブロック610において)。完了していない(「いいえ」の分岐612)場合には、制御はブロック614に進み、ここでは、ホスト・ポートは、ストレージ・ポートを通じてI/Oを実行することが阻止される。
【0048】
図7は、いくつかの実施形態による、セキュリティが有効化されているストレージ・ポートの動作を示すフローチャート700を図解している。
【0049】
制御は、ブロック702で始まるが、ここでは、ストレージ・ポートに対するセキュリティが有効化される。制御はブロック704に進み、ここでは、ホスト・ポートとストレージ・ポートとの間での認証およびセキュリティ・アソシエーションの管理が開始される。ホスト・ポートは、認証およびセキュリティ・アソシエーションの管理動作が成功裏に完了したかまたは成功裏には完了していないか(ブロック708において)とは関係なく、ストレージ・ポートを通じてI/Oを実行することを許容される(ブロック706)。I/Oの開始が許容される時刻は、異なる実施形態では、異なり得る。
【0050】
図8は、いくつかの実施形態による、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止する条件を示すブロック
図800を図解している。
【0051】
第1の条件802は、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得るセキュリティ・ポリシの不完全な設定である。第2の条件804は、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得る、ストレージ・デバイスにアクセスするための証明書を提供するアクセス不可能な鍵サーバを含む。第3の条件806は、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得る、認証およびセキュリティ・アソシエーションの管理の交換の失敗である。これらの条件は、すべてが、
図6および7に示された動作において認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得る。
【0052】
図9は、いくつかの実施形態に従い、単一のストレージ・ポート908にログインする複数のホスト・ポート902、904、906を示すブロック
図900を図解している。単一のストレージ・ポート908は、ストレージ・デバイスまたはストレージ・コントローラ910に含まれるのであって、ストレージ・デバイスまたはストレージ・コントローラ910は、他のストレージ・ポートを有し得る。
【0053】
図9では、ホスト・ポート902および906はセキュリティをサポートしているが、他方で、ホスト・ポート904は、レガシ・アダプタもしくはレガシ・ホストに含まれていることがあり得るために、または管理者による設定を含むそれ以外の理由のために、セキュリティをサポートしていない。
【0054】
ストレージ・デバイスまたはストレージ・コントローラ910は、ログイン・カウンタとログイン・インジケータと称されるログイン特性とに関する統計(参照番号912)を維持する。この統計は、ストレージ・ポートへの現時点におけるログイン数(参照番号914)と、ストレージ・ポートへのセキュリティ機能付きのログイン数(参照番号916)と、ストレージ・ポートへのセキュリティが有効化されているログイン数(参照番号918)とを含む。セキュリティが有効化されているログインとは、成功裏に認証され、セキュリティを有効化しているログインである。
【0055】
いくつかの実施形態では、ログイン・カウンタとログイン特性とに関する統計912は、セキュリティ強制モードが設定されている場合に、ホストによるI/Oアクセスに対する効果を判断するために、ストレージ・デバイスまたはストレージ・コントローラ910によって用いられる。追加的な実施形態では、ログイン・カウンタとログイン特性とに関する統計912は、セキュリティ強制モードへの切換えの際にホストによるI/Oアクセスが失われる場合に、セキュリティ有効化モードからセキュリティ強制モードへの切換えを阻止するために、ストレージ・デバイスまたはストレージ・コントローラによって用いられる。
【0056】
さらなる実施形態では、ストレージ・デバイスまたはストレージ・コントローラ910は、ログイン・カウンタとログイン特性とに関する統計912を考慮することなくセキュリティ強制モードへの切換えを強制するというオプション920を提供する。
【0057】
図10は、いくつかの実施形態に従い、ストレージ・ポートをセキュリティ強制状態に変更すべきかどうかを判断するための、ストレージ・デバイスにおける動作を示すフローチャート1000を図解している。
【0058】
制御はブロック1002で開始するのであるが、ここでは、ストレージ・デバイスが、複数のホスト・ポートがストレージ・デバイスのストレージ・ポートへのログインを実行したと判断する。制御はブロック1004に進み、ここでは、ストレージ・デバイスが、ログイン・カウンタとログイン特性とに関する統計を維持する。ストレージ・デバイスは、ログイン・カウンタとログイン特性とから、ストレージ・ポートの設定がセキュリティ強制に変更される場合に、いずれかのホスト・ポートがストレージ・デバイスへのI/Oへのアクセスを失うかどうかを判断する(ブロック1006において)。失う場合(「はい」の分岐1008)には、すべてのホスト・ポートのログインが安全であるとは限らず(すなわち、すべてのホスト・ポートが成功裏に認証されるとは限らない)、制御はブロック1010に進み、ここでは、ストレージ・ポートの設定がセキュリティ強制に変更されることが阻止される。
【0059】
ブロック1006において、ストレージ・デバイスが、ログイン・カウンタとログイン特性とから、ストレージ・ポートの設定がセキュリティ強制に変更される(「いいえ」の分岐1012)ならば、どのホスト・ポートもストレージ・デバイスへのI/Oへのアクセスを失うことはないと判断する場合には、すべてのホスト・ポートのログインは安全であり(すなわち、すべてのホスト・ポートは成功裏に認証される)、制御は、ブロック1014に進み、ここでは、ストレージ・ポートの設定は、セキュリティ強制に変更されることが許容される。
【0060】
図11は、いくつかの実施形態に従い、ホスト・システムにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャート1100を図解している。
【0061】
制御は、ブロック1102で開始するのであるが、ここでは、ホスト・ポートがセキュリティのために有効化される。ホスト・ポートによって、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのためのネゴシエーションを成功裏に完了させるのは不可能である、と判断される(ブロック1104において)。
【0062】
ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのためのネゴシエーションを成功裏に完了させるのは不可能であるとのホスト・ポートによる判断に応答して、ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかを判断する(ブロック1106において)。ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかの判断に基づき、ストレージ・ポートへの入力/出力(I/O)アクセスを保存する。結果的に、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であっても、ホスト・ポートは、ストレージ・ポートを介してI/Oを実行することが可能であり得る。
【0063】
ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されている(「はい」の分岐1108)との判断に応答して、ホスト・ポートは、(ブロック1110において)ストレージ・ポートへのI/Oを実行する。ストレージ・ポートへのI/Oを実行するということは、データが読み出されるまたは書き込まれるまたはアクセスされるI/O動作を実行するために、I/O動作をストレージ・ポートに送ることを意味する。結果的に、監査モード・インジケータが有効化されるときにストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であっても、ホスト・ポートは、ストレージ・ポートを介してI/Oを実行する。
【0064】
ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されていない(「いいえ」の分岐1112)との判断に応答して、ホスト・ポートは、ストレージ・ポートへのI/Oの実行を回避する(ブロック1114において)。結果的に、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であり、監査モード・インジケータが有効化されていない場合には、ホスト・ポートは、ストレージ・ポートを介してI/Oを実行することはない。ブロック1114から、制御はブロック1116に進み、ここでは、ホスト・ポートは、I/Oリクエストを、ホスト・コンピューティング・デバイスのオペレーティング・システムに戻す。結果的に、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であり、監査モード・インジケータが有効化されていない場合には、I/Oを実行するために、代替的な機構が試みられる。
【0065】
図12は、いくつかの実施形態に従い、ホスト・システムにおいてセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャート1200を図解している。
【0066】
ホスト・ポートは、ホスト・ポートがストレージ・ポートとの間で認証を行うための証明書を取得するために鍵サーバにアクセスできない場合には、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのは不可能である、と判断する(ブロック1202において)。結果的に、ホスト・ポートは、I/Oリクエストをストレージ・ポートに送るべきかどうかを判断するのに監査モード・インジケータの状態を判断するために、さらなる動作を行い得る。
【0067】
ブロック1202から、制御はブロック1204に進み、このブロックでは、ホスト・ポートが、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションのためのプロセスに失敗が存在する場合にはストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのは不可能である、と判断する。結果的に、ホスト・ポートは、I/Oリクエストをストレージ・ポートに送るべきかどうかを判断するため、監査モード・インジケータの状態を判断するためのさらなる行動を取り得る。
【0068】
図13は、いくつかの実施形態に従い、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャート1300を図解している。
【0069】
制御は、ブロック1302で開始し、このブロックでは、ストレージ・ポートがログイン・リクエストを受け取る。ブロック1302からは、制御は、ブロック1304またはブロック1306に進み得る。
【0070】
ブロック1304では、ストレージ・ポートは、ストレージ・デバイスとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合であっても、入力/出力(I/O)動作がホスト・ポートからストレージ・ポートに送信されるべきであることをホスト・ポートに指示するため、監査モード・インジケータを、セキュリティ有効化モードに入るように、ホスト・ポートへのログイン応答において、有効化状態に設定する。結果的に、安全ではないホストが、ストレージ・デバイスへのI/Oを実行し得る。
【0071】
ブロック1306では、ストレージ・ポートは、ストレージ・デバイスとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合には、I/O動作がホスト・ポートからストレージ・ポートに送信されるべきではないことをホスト・ポートに指示するため、監査モード・インジケータを、セキュリティ強制モードに入るように、ホスト・ポートへのログイン応答において、非有効化状態に設定する。結果的に、安全ではないホストは、ストレージ・デバイスへのI/Oを実行することができない。
【0072】
図14は、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャート1400を図解している。
【0073】
制御はブロック1402で開始し、このブロックでは、ストレージ・ポートを含むストレージ・コントローラが、ログイン・カウンタとログイン特性とに関する統計を維持するのであるが、この統計は、ストレージ・ポートへの現時点でのログイン数と、ストレージ・ポートへのセキュリティ機能付きのログイン数と、ストレージ・ポートへのセキュリティが有効化されているログイン数とを含む。結果的に、いくつかの実施形態では、ログイン・カウンタとログイン特性とに関する統計は、ストレージ・コントローラによって、セキュリティ強制モードが設定されている場合の、ホストによるI/Oアクセスへの効果を判断するために、用いられる。
【0074】
追加的な実施形態では、ログイン・カウンタとログイン特性とに関する統計は、ストレージ・コントローラによって、セキュリティ強制モードへの切換えの際にホストによるI/Oアクセスが失われる場合に、セキュリティ有効化モードからセキュリティ強制モードへの切換えを阻止するために、用いられる(ブロック1404において)。結果的に、セキュリティ強制モードへの切換えは、ホストがI/Oアクセスを失う場合には、阻止される。
【0075】
いくつかの実施形態では、ストレージ・コントローラは、ログイン・カウンタとログイン特性とに関する統計を考慮することなくセキュリティ有効化モードへの切換えを強制ためのオプションを、提供する。
【0076】
いくつかの実施形態では、ストレージ・コントローラは、複数のストレージ・ポートのうちの少なくとも1つのストレージ・ポートを、セキュリティ強制モードに設定する。ストレージ・コントローラは、複数のストレージ・ポートのうちの少なくとも1つの別のストレージ・ポートを、セキュリティ有効化モードに設定する。したがって、監査モード・インジケータの有効化は、ポートごとになされる。
【0077】
さらなる実施形態では、ストレージ・ポートは、第1のストレージ・アレイと第2のストレージ・アレイとを含むストレージ・コントローラに含まれており、その場合に、セキュリティ強制モードは第1のストレージ・アレイに対して設定され、セキュリティ有効化モードは第2のストレージ・アレイに対して設定される。したがって、監査モード・インジケータの有効化は、ストレージ・アレイごとになされる。
【0078】
したがって、
図1~14は、ファイバ・チャネルにおけるセキュリティ・ビットの設定に基づいて動作を増加させるために、監査モード・インジケータの設定に基づいてセキュリティを強制するまたは強制しない、いくつかの実施形態を図解している。結果的に、レガシ・デバイスは、セキュリティ・ビットがファイバ・チャネルにおいて有効化されているときであっても、ヘテロジニアス・コンピューティング環境において、I/Oを継続することができる。
【0079】
クラウド・コンピューティング環境
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの最小限の対話で迅速なプロビジョニングとリリースとが可能である構成可能なコンピューティング・リソース(例えば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス)の共有プールへの、便利でオンデマンドのネットワーク・アクセスを可能にするためのモデルである。
【0080】
次に
図15を参照すると、例示的なクラウド・コンピューティング環境50が示されている。(参照番号52で示されている)セキュリティ強制またはセキュリティ有効化は、クラウド・コンピューティング環境50において、実行される。示されているように、クラウド・コンピューティング環境50は、1つまたは複数のクラウド・コンピューティング・ノード10を含んでおり、これらのノードと、例えば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54Cもしくは自動車コンピュータ・システム54Nまたはこれらの組合せなど、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスは、通信し得る。ノード10は、相互にも、通信し得る。これらのノードは、本明細書の以上で説明されているプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはこれらの組合せなど、1つまたは複数のネットワークにおいて、物理的にまたは仮想的に、グループ分けされ得る(図示せず)。これにより、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットホームもしくはソフトウェアまたはこれらの組合せをサービスとして提供することが可能になるのであるが、そのために、クラウド・コンシューマは、ローカル・コンピューティング・デバイスにリソースを維持する必要はない。
図15に示されているタイプのコンピューティング・デバイス54A~Nは単なる例示であることが意図されており、コンピューティング・ノード10とクラウド・コンピューティング環境50とは、(例えば、ウェブ・ブラウザを用いて)いずれかのタイプのネットワークもしくはアドレス指定可能なネットワーク接続またはその両方を介し、コンピュータ化されたどのタイプのデバイスとも通信可能であるということを理解されたい。
【0081】
次に
図16を参照すると、クラウド・コンピューティング環境50(
図15)によって提供される1組の機能抽象化層が示されている。
図16に示されているコンポーネント、層、および機能は単に例示的であることが意図されており、本発明の実施形態はそれらに限定されない、ということが理解されるべきである。
【0082】
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントと、ソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例は、ある例ではIBM(R)のZSERIES*システムであるメインフレームと、ある例ではIBM(R)のPSERIES*システムであるRISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバと、IBM(R)のXSERIES*システムと、IBM(R)のBLADECENTER*システムと、ストレージ・デバイスと、ネットワークと、ネットワーキング・コンポーネントとを含む。ソフトウェア・コンポーネントの例は、ある例ではIBM(R)のWEBSPHERE*アプリケーション・サーバ・ソフトウェアであるネットワーク・アプリケーション・サーバ・ソフトウェアと、ある例ではIBM(R)のDB2*データベース・ソフトウェアであるデータベース・ソフトウェアとを含む。
【0083】
仮想化層62は、抽象化層を提供しており、この層から、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントなど、仮想的なエンティティの例が提供され得る。
【0084】
ある例では、管理層64が、以下で説明される機能を提供し得る。リソース・プロビジョニングは、クラウド・コンピューティング環境の内部でタスクを実行するのに用いられるコンピューティング・リソースとその他のリソースとの動的な調達を提供する。計量および価格設定は、クラウド・コンピューティング環境の内部でリソースが利用される際の費用追跡と、これらのリソースの消費に対する課金または請求とを提供する。ある例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むこともできる。セキュリティは、クラウド・コンシューマとタスクとのための識別子の確認を提供し、また、データとそれ以外のリソースとに対する保護も提供する。ユーザ・ポータルは、コンシューマとシステム管理者とのために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが達成されるように、クラウド・コンピューティング・リソースの分配と管理とを提供する。サービス・レベル合意(SLA)の計画および履行は、SLAに従い将来必要となることが予想されるクラウド・コンピューティング・リソースの事前調整および調達を提供する。
【0085】
ワークロード層66は、そのためにクラウド・コンピューティング環境が利用される機能の例を提供する。この層から提供されるワークロードと機能との例は、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ・アナリティクス処理、トランザクション処理、ならびに
図1~15に示されるセキュリティ強制または有効化68を含む。
【0086】
追加的実施形態の詳細
説明されている動作は、ソフトウェア、ファームウェア、ハードウェア、またはそれらのいずれかの組合せを生じさせるように、標準的なプログラミング技術もしくはエンジニアリング技術またはその両方を用いて方法、装置またはコンピュータ・プログラム製品として実装され得る。したがって、実施形態の態様は、全体としてハードウェアである実施形態、全体としてソフトウェアである実施形態(ファームウェア、常駐ソフトウェア、マイクロコード、その他を含む)、または本明細書においてすべて一般的に「回路」、「モジュール」もしくは「システム」と称されるソフトウェア態様とハードウェア態様とを組み合わせる実施形態の形態を取り得る。さらに、実施形態の態様は、コンピュータ・プログラム製品の形態を取ることもあり得る。コンピュータ・プログラム製品は、プロセッサに本発明の実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有する1つ(または複数)のコンピュータ可読記憶媒体を含むこともできる。
【0087】
コンピュータ可読記憶媒体は、命令実行デバイスによって用いられるための命令を保持し記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、ただしこれらに限定されるわけではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上のいずれかの適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、以下の、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能なプログラマブル・リード・オンリ・メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令がその上に記録されている溝の中の隆起構造などの機械的にエンコードされたデバイス、および以上のいずれかの適切な組合せを含む。本明細書で用いられているコンピュータ可読記憶媒体は、無線波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通過して伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または配線を通じて伝送される電気信号など、一過性の信号それ自体として解釈されるべきでない。
【0088】
本明細書で説明されているコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスにダウンロードされることが可能であり、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらの組合せなどのネットワークを介して、外部コンピュータまたは外部ストレージ・デバイスにダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバまたはそれらの組合せを含むこともできる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内部のコンピュータ可読記憶媒体に記憶するために転送する。
【0089】
本発明の実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++、もしくは類似のものなどのオブジェクト指向プログラミング言語と「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語とを含む、1つもしくは複数のプログラミング言語のいずれかの組合せで書かれたソース・コードもしくはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、一部がユーザのコンピュータ上であって一部がリモート・コンピュータ上で、または全体がリモート・コンピュータもしくはリモート・サーバの上で、実行されることがあり得る。後者の場合には、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む、いずれかのタイプのネットワークを通じてユーザのコンピュータに接続されるし、または、(例えば、インターネット・サービス・プロバイダを用い、インターネットを通じて)外部コンピュータに対して、接続が行われることもあり得る。いくつかの実施形態では、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路構成が、本発明の実施形態の諸態様を実行するために、その電子回路構成を個別に設定する目的で、コンピュータ可読プログラム命令の状態情報を用いることにより、コンピュータ可読プログラム命令を実行することがあり得る。
【0090】
本発明の実施形態の諸態様は、本明細書において、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図解もしくはブロック図またはその両方を参照して、説明されている。フローチャート図解もしくはブロック図またはその両方の各ブロックと、フローチャート図解もしくはブロック図またはその両方における複数のブロックの組合せとが、コンピュータ可読プログラム命令によって実装可能であることは、理解されるだろう。
【0091】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて特定される機能/動作を実装するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供され、マシンを生じさせることができる。また、これらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて特定される機能/動作の態様を実装する命令を含む製品を構成するように、コンピュータ、プログラマブル・データ処理装置もしくは他のデバイスまたはそれらの組合せに特定の様態で機能するように命じることができるコンピュータ可読記憶媒体に記憶されることがあり得る。
【0092】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスの上で実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて特定される機能/動作を実装するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、一連の動作ステップが、コンピュータ、他のプログラマブル装置、または他のデバイスの上で実行され、コンピュータ実装プロセスを生じさせることができる。
【0093】
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を図解している。この関係で、フローチャートまたはブロック図における各ブロックは、特定された論理的機能を実装するための1つまたは複数の実行可能な命令を含め、命令のモジュール、セグメント、または部分を表すことがあり得る。いくつかの代替的な実装形態では、ブロックに記載された機能は、図面に記載されている順序とは異なる順序で、発生することがあり得る。例えば、連続して示されている2つのブロックが、実際には、実質的に同時に実行されることがあり得るし、またはそれらのブロックが、関与する機能に応じて、ときには逆の順序で実行されることもあり得る。また、ブロック図もしくはフローチャート図解またはその両方の各ブロックと、ブロック図もしくはフローチャート図解またはその両方における複数のブロックの組合せとは、特定された機能もしくは作用を実行するまたは専用ハードウェアとコンピュータ命令との組合せを実行する専用ハードウェア・ベースのシステムによって実装されることが可能であることも、留意されるべきである。
【0094】
図17は、いくつかの実施形態による、
図1~16に示されている計算デバイス、ホスト、ストレージ・コントローラ、ストレージ・デバイスまたはそれ以外のデバイスに含まれるいくつかの要素を示すブロック図を図解している。システム1700は、いくつかの実施形態では少なくともプロセッサ1704を含み得る回路構成1702を含むこともできる。また、システム1700は、メモリ1706(例えば、揮発性メモリ・デバイス)と、ストレージ1708とを含むこともできる。ストレージ1708は、不揮発性メモリ・デバイス(例えば、EEPROM、ROM、RPOM、フラッシュ、ファームウェア、プログラマブル・ロジック、その他)、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブ、その他を含むこともできる。ストレージ1708は、内部ストレージ・デバイス、付加されたストレージ・デバイスもしくはネットワーク・アクセス可能なストレージ・デバイスまたはそれらの組合せを含むことがあり得る。システム1700は、メモリ1706の中にロードされプロセッサ1704または回路構成1702によって実行されるコード1712を含むプログラム・ロジック1710を、含むことがあり得る。いくつかの実施形態では、コード1712を含むプログラム・ロジック1710が、ストレージ1708に記憶されていることがあり得る。いくつかの他の実施形態では、プログラム・ロジック1710が、回路構成1702において実装されることがあり得る。システム1700におけるコンポーネントのうちの1つまたは複数は、バスを介してまたは他の結合もしくは接続1714を介して、通信し得る。したがって、
図17は、その他の要素とは別に、プログラム・ロジック1710を示しているが、プログラム・ロジック1710は、メモリ1706もしくは回路構成1702またはその両方において実装されることもあり得る。
【0095】
いくつかの実施形態は、人間によって、またはコンピューティング・システムの中にコンピュータ可読コードを一体化する自動化された処理によって、コンピューティング命令を展開するための方法を対象とすることがあり得るが、この場合、コードは、コンピューティング・システムとの組合せとして、説明されている実施形態の動作を実行することが可能になる。
【0096】
「ある実施形態」、「実施形態」、「いくつかの実施形態」、「その実施形態」、「それらの実施形態」、「1つまたは複数の実施形態」、「一部の実施形態」、および「一実施形態」などの用語は、特に明記されない限り、「本発明の1つまたは複数の(ただし、全部とは限らない)実施形態」を意味する。
【0097】
「含む」、「備える」、「有する」などの用語とその変形とは、特に明記されない限り、「含むが、限定されない」ことを意味する。
【0098】
項目の列挙されているリストは、特に明記されない限り、それらの項目のいずれも、または全部が、相互に排他的であることを意味しない。
【0099】
「ある(a)」、「ある(an)」および「その(the)」という用語は、特に明記されない限り、「1つまたは複数」を意味する。
【0100】
相互に通信状態にあるデバイスは、特に明記されない限り、継続的に相互に通信状態にある必要はない。さらに、相互に通信状態にあるデバイスは、直接的に通信する場合があり得るし、または1つまたは複数の介在物を通じて間接的に通信する場合もあり得る。
【0101】
相互に通信状態にあるいくつかのコンポーネントを有する実施形態について説明することは、そのようなコンポーネントがすべて必要となることを意味しない。逆に、オプションである様々なコンポーネントが、本発明の非常に多様な可能性がある実施形態を例示するために、説明されている。
【0102】
さらに、プロセス・ステップ、方法ステップ、アルゴリズム、またはそれに類するものが、シーケンシャルな順序で説明されていることがあり得るが、そのようなプロセス、方法、およびアルゴリズムが、別の順序で機能するように構成される場合もあり得る。換言すると、説明されるステップのどのシーケンスまたは順序も、それらのステップが、その順序で実行される必要があることを必ずしも示していない。本明細書で説明されているプロセスのステップは、どのような現実的な順序で実行されることもあり得る。さらに、一部のステップが同時に実行されることも、あり得る。
【0103】
本明細書で単一のデバイスまたは製品について説明されているときに、単一のデバイス/製品ではなく、(それらが協働するかどうかとは関係なく)複数のデバイス/製品が用いられる場合もあり得ることは、容易に明白であろう。同様に、(それらが協働するかどうかとは関係なく)本明細書で複数のデバイスまたは製品について説明されている場合に、複数のデバイスまたは製品ではなく単一のデバイス/製品が用いられる場合もあり得ること、または示されている個数のデバイスもしくはプログラムではなく、異なる個数のデバイス/製品が用いられる場合もあり得ることは、容易に明白であろう。デバイスの機能もしくは特徴またはその両方が、その代わりに、そのような機能/特徴を有するものとして明示的には説明されていない他の1つまたは複数のデバイスによって、実現される場合もあり得る。したがって、本発明の他の実施形態が、そのデバイス自体を含むことは必要でない。
【0104】
図に図解されていることがあり得る少なくともいくつかの動作は、いくつかのイベントが特定の順序で生じることを示している。代替的な実施形態では、いくつかの動作が、異なる順序で実行されること、変形されること、または除去されることがあり得る。また、上述された論理にステップが追加されることがあり得るのであって、その場合でも、説明されている実施形態に従っている。さらに、本明細書で説明されている動作は、シーケンシャルに生じる場合があり得るし、またはいくつかの動作が、並列的に処理される場合もあり得る。さらにまた、動作が、単一の処理装置によって実行されることがあり得るし、または分散された複数の処理装置によって実行されることもあり得る。
【0105】
本発明の様々な実施形態に関する以上の説明は、例示および説明の目的で、呈示されたものである。以上の説明は、網羅的であることも、開示されている形態それ自体に本発明を限定することも意図されたものではない。以上の教示に従いながら、多くの修正と変更とが可能である。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付の特許請求の範囲によって限定されることが意図されている。以上の詳細、例およびデータは、本発明の構成の製造および使用に関する完全な説明を提供している。本発明の範囲から逸脱することなく本発明の多くの実施形態が作成されることが可能であるから、本発明は、本明細書に添付の特許請求の範囲に存する。