(57)【要約】      （修正有）【課題】サーバなどのネットワーク装置を守るシステム及び方法を提供する。【解決手段】ネットワーク装置に対して電力が有効である場合、基本入出力システムが、ネットワークマネージャへのクエリを介して、ルータのＩＰアドレス及びネットワーク装置のＩＰアドレスを収集するセキュリティモジュールを運転する。収集されたＩＰアドレスは、静的資格証明情報ファイルに格納されたＩＰアドレスと比較される。両方のＩＰアドレスが一致しない場合、ネットワーク装置のオペレーティングシステムの起動が防止される。さらに、ベースボード管理コントローラが、暗号化された資格証明情報ファイルを受信するように動作する。暗号化された資格証明情報ファイルは、復号化されて静的コンテンツファイルと比較される。ベースボード管理コントローラは、資格証明情報ファイルが静的コンテンツファイルと一致しない場合、ネットワーク装置への電力を停止する。【選択図】図３
2019075074.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに連結された、データセンタ内のネットワーク装置を保護する方法であって、
前記ネットワーク装置と関連付けられた資格証明情報ファイルを格納する段階と、
前記ネットワーク装置への電力を有効にする段階と、
前記資格証明情報ファイルを暗号化する段階と、
暗号化された前記資格証明情報ファイルを前記ネットワーク装置のベースボード管理コントローラへ送信する段階と、
暗号化された前記資格証明情報ファイルを復号化する段階と、
復号化された前記資格証明情報ファイルを、前記ネットワーク装置のメモリに格納された静的コンテンツファイルと比較する段階と、
前記資格証明情報ファイルが前記静的コンテンツファイルと一致しない場合、前記ネットワーク装置への前記電力を停止する段階と
を備える、方法。
【請求項２】
前記ネットワークのルータのＩＰアドレス及び前記ネットワーク装置のＩＰアドレスを、前記メモリの前記静的コンテンツファイルに格納する段階と、
前記ネットワーク装置に対して電力が有効である場合、前記ルータの前記ＩＰアドレス及び前記ネットワーク装置の前記ＩＰアドレスを、ネットワークマネージャへのクエリを介して収集する段階と、
収集された前記ＩＰアドレスを格納された前記ＩＰアドレスと比較する段階と、
両方の前記ＩＰアドレスが一致しない場合、前記ネットワーク装置のオペレーティングシステムの起動を防止する段階と
をさらに備える、請求項１に記載の方法。
【請求項３】
前記比較は、前記ネットワーク装置の基本入出力システムによって行われ、前記静的コンテンツファイルは、前記ネットワーク装置が前記ネットワークにプロビジョニングされている場合、前記メモリに格納される、請求項２に記載の方法。
【請求項４】
暗号化された前記資格証明情報ファイルは、秘密鍵によって暗号化されており、前記ベースボード管理コントローラは、対応する公開鍵で、暗号化された前記資格証明情報ファイルを復号化し、
前記資格証明情報ファイルは、ラックマネージャによって送信され、
前記ネットワーク装置はサーバであり、
前記資格証明情報ファイルは、前記ネットワーク装置と関連付けられた識別情報データ、及び前記ネットワーク装置と関連付けられた構成データを含み、
格納された前記資格証明情報ファイルは、前記ネットワーク装置が前記ネットワークにプロビジョニングされている場合、前記ネットワーク装置から発見される、請求項１から３のいずれか一項に記載の方法。
【請求項５】
ネットワークに連結された、データセンタ内のネットワーク装置を保護する方法であって、
前記ネットワークのルータのＩＰアドレス及び前記ネットワーク装置のＩＰアドレスを、静的コンテンツファイルに格納する段階と、
前記ネットワーク装置の電源を投入したときに、クエリを介して、前記ルータの前記ＩＰアドレス及び前記ネットワーク装置の前記ＩＰアドレスを収集する段階と、
収集された前記ＩＰアドレスを、格納された前記ＩＰアドレスと比較する段階と、
両方の前記ＩＰアドレスが一致しない場合、前記ネットワーク装置のオペレーティングシステムの起動を防止する段階と
を備える、方法。
【請求項６】
前記比較は、前記ネットワーク装置の基本入出力システムによって行われ、
前記静的コンテンツファイルは、前記ネットワーク装置が前記ネットワークにプロビジョニングされている場合、メモリに格納され
前記ネットワーク装置はサーバである、請求項５に記載の方法。
【請求項７】
前記ネットワーク装置と関連付けられた資格証明情報ファイルを格納する段階と、
前記ネットワーク装置が電源を投入された場合に、前記資格証明情報ファイルを暗号化する段階と、
暗号化された前記資格証明情報ファイルを、前記ネットワーク装置のベースボード管理コントローラへ送信する段階と、
暗号化された前記資格証明情報ファイルを復号化する段階と、
復号化された前記資格証明情報ファイルを、前記ネットワーク装置のメモリに格納された前記静的コンテンツファイルと比較する段階と、
前記資格証明情報ファイルが前記静的コンテンツファイルと一致しない場合、前記ネットワーク装置への電力を停止する段階と
をさらに備える、請求項５又は６に記載の方法。
【請求項８】
暗号化された前記資格証明情報ファイルは、秘密鍵によって暗号化されており、前記ベースボード管理コントローラは、対応する公開鍵で、暗号化された前記資格証明情報ファイルを復号化する、請求項７に記載の方法。
【請求項９】
前記資格証明情報ファイルは、ラックマネージャによって送信され、
前記資格証明情報ファイルは、前記ネットワーク装置と関連付けられた識別情報データ、及び前記ネットワーク装置と関連付けられた構成データを含み、
格納された前記資格証明情報ファイルは、前記ネットワーク装置が前記ネットワークにプロビジョニングされている場合、前記ネットワーク装置から発見される、請求項７又は８に記載の方法。
【請求項１０】
ネットワーク装置であって、
静的資格証明情報ファイルを格納するメモリと、
基本入出力システムと、
コントローラによって実行されるオペレーティングシステムと、
セキュリティモジュールであって、
前記ネットワーク装置に対して電力が有効である場合、ネットワークマネージャへのクエリを介して前記基本入出力システムから、ルータのＩＰアドレス及び前記ネットワーク装置のＩＰアドレスを収集し、
収集された前記ＩＰアドレスを、前記静的資格証明情報ファイルに格納されたＩＰアドレスと比較し、
両方の前記ＩＰアドレスが一致しない場合、前記ネットワーク装置の前記オペレーティングシステムの起動を防止する
ように動作可能なセキュリティモジュールと、
前記ネットワーク装置への電力を制御するベースボード管理コントローラであって、
暗号化された資格証明情報ファイルを受信し、
暗号化された前記資格証明情報ファイルを復号化し、
復号化された前記資格証明情報ファイルを、静的コンテンツファイルと比較し、
前記資格証明情報ファイルが前記静的コンテンツファイルと一致しない場合、前記ネットワーク装置への電力を停止する
ように動作可能なベースボード管理コントローラと
を備える、ネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、ネットワーク装置用のセキュリティシステムに関する。より具体的には、本開示の態様は、ネットワーク装置の起動を許可する前に、セキュリティ認証プロトコルを追加することに関する。
【背景技術】
【０００２】
演算処理アプリケーション用のクラウドの出現によって、リモートで接続されたコンピュータ装置のユーザのためにデータを格納する、データセンタとして知られた、オフサイト装置群の要求が増している。そのようなデータセンタは通常、大量のラックに加えて、その中に取り付けられた、データを格納及び管理する大量のサーバを有する。例えば、典型的なデータセンタでは、数万個、あるいは数十万個の装置が、数百個又は数千個の個々のラックに含まれることがある。
【０００３】
典型的なデータセンタにおけるこれらのサーバのそれぞれは、データを格納し、ネットワーク接続された装置によるデータへのアクセスを許可する。大量の潜在的価値のあるデータを考えれば、悪意のある個人によってデータが盗まれるのを防止する必要性がある。図１は、ラック２０の中に複数のサーバ１２を含む、従来技術によるデータセンタシステム１０を示す。これらのサーバ１２は、サーバ１２を管理するために、ネットワーク１４に接続されている。そのようなラック２０の現在のセキュリティシステムは、プラットフォームのファームウェアの完全性を調査し、サーバのマザーボードの一貫したハードウェア要素を点検し、オペレーティングシステム及びユーザアカウントの認証を検証する。現在のセキュリティシステムは、ネットワーク環境上の装置がサーバ１２にアクセスするために、ログインを要求する。
【０００４】
セキュアサーバは、セキュリティの高いハードウェアベースの、信頼できるプラットフォームの根幹とみなさる。サーバ１２に電源が投入された瞬間から、セキュリティプロセスが始まり、プラットフォームのファームウェア完全性を調査し、サーバのマザーボードの一貫したハードウェア要素を点検し、オペレーションシステム及びユーザアカウントの認証、並びに安全なネットワーク環境の検証を行う。サーバ保護をサポートする既存のセキュア技術が２つ存在する。１つは、統合拡張ファームウェアインタフェース（ＵＥＦＩ）セキュアブートを伴い、もう１つは、Ｉｎｔｅｌ（登録商標）のトラステッドエグゼキューションテクノロジー（ＴＸＴ）及びトラステッドプラットフォームモジュール（ＴＰＭ）である。セキュリティプロセスの部分は、異なるエンティティから実行され、正しく認証された管理者又はユーザによって、アクティブ状態になったり、非アクティブ状態になったりし得る。したがって、セキュアサーバが、信頼できるファームウェアの根幹から電源投入され得る。信頼できるファームウェアは、十分な認証を有する正当なオペレーティングシステムによる起動が行われるまで、ＵＥＦＩ電源投入時自己診断テスト（ＰＯＳＴ）プロセスのハードウェアベースの妥当性確認になり得る。
【０００５】
サーバに電源を投入するプロセスでは、全てのソフトウェア機能を有するオペレーティングシステムをサーバが読み込むまで、いくつかの異なる安全調査に合格しなければならない。これらのセキュア機能は、既存のセキュリティ設計指針の参照に基づく汎用セキュリティ解析であり、必要な全ての要素を自動的に詳しく調べる。そのような必要な要素には、サーバプラットフォーム１２のファームウェア、ハードウェア、及びソフトウェアが含まれる。サーバプラットフォーム１２のオペレーティングシステムが、全ての安全調査を問題なく行って適切に起動すると、正しい権限を有するユーザが、ユーザ名及びパスワードを用いてオペレーティングシステムにログインすることができる。適切な資格証明情報を提供すると、ユーザは、サーバの全てのソフトウェアサービスを起動することができる。サーバプラットフォームのオペレーティングシステムは、ポイントツーポイントプロトコル（ＰＰＰ）接続のネットワークアクセスを認証するために、拡張認証プロトコル（ＥＡＰ）を用いてよい。イーサネット（登録商標）スイッチ及び無線アクセスポイント（ＡＰ）を認証するＩＥＥＥ８０２．１Ｘベースのネットワークアクセスの場合、ＥＡＰは、イントラネットを通じてデータを交換する前に、信頼できるネットワーク接続を確立するのに用いられる。
【０００６】
これらのセキュリティ機能にもかかわらず、潜在的リスクの１つは、ネットワークが信頼できるかどうかに関する調査がないことである。したがって、そのようなセキュリティ機能は、ユーザ名及びパスワードなどの信頼できる資格証明情報を密かに取得する個人によって、又は権限を与えられた個人が不法な行動を起こすと決めるならば、巧みに回避されることがある。そのような場合に、サーバを安全な場所から移動するならば、個人が実際のサーバにアクセスできる場合がある。さらに、偽のユーザが権限を取得して、管理者を装うならば、サーバが機能するのを防止する方法はない。そのようなプロセスによって、サーバに格納されたデータを不正に露出させることが可能になる。さらに、サーバの技術的特徴が、悪意のある検査の下で知られてしまうことがある。これらのシナリオは、サーバの返品保証（ＲＭＡ）プロセスの間、又はサーバが競争相手によってデータセンタから盗まれた場合に起こり得る。
【０００７】
例えば、図１に示されるように、セキュアサーバが、常にセキュアプロテクションを備えた安全な部屋又は環境に設置されているわけではない場合がある。サーバ１６が、返品保証（ＲＭＡ）プロセスを行うときに、脆弱な場所に引き渡されることがあり、又は、悪意のある従業員１８が競争相手の会社にサーバ１６を持ち込むことがある。これらのいずれの場合であっても、盗まれることがある十分な認証、セキュリティキー、重要な署名、及びユーザ名／パスワードを使って、現在のセキュア技術が巧みに回避され得る。競争相手はこうして、サーバ１６のコンテンツを容易に調査し、ビジネスデータを詳しく調べ、サーバ１６の価値のある機能及び特徴を用いることができる。産業スパイ行為の場合、これにより、盗んだサーバ１６の価値のあるデータにアクセスすることによって、競争相手の開発及びビジネスが加速する結果になり得る。
【０００８】
したがって、物理サーバが信頼できるネットワークに適切に接続されない限り、物理サーバがアクセスされないように保護するシステムの必要性がある。適切なネットワーク資格証明情報が受信されない限り、サーバの起動を防止するモジュールに関する別の必要性がある。サーバが安全な環境で電源を投入されることを保証するために、資格証明情報ファイルを守るシステムの必要性もある。
【０００９】
「シン／ゼロクライアントを不正物理アクセスから保護するためのシステム及び方法（ＭＥＴＨＯＤ  ＦＯＲ  ＰＲＥＶＥＮＴＩＮＧ  ＴＨＩＮ／ＺＥＲＯ  ＣＬＩＥＮＴ  ＦＲＯＭ  ＵＮＡＵＴＨＯＲＩＺＥＤ  ＰＨＹＳＩＣＡＬ  ＡＣＣＥＳＳ）」と題する、米国特許出願公開第ＵＳ２０１８００３２７６１号が、シンクライアント又はゼロクライアントを不正物理アクセスから保護するためのシステム及び方法を対象とする特定の態様を開示した。マイクロコントローラが提供され、シンクライアント又はゼロクライアントの演算処理装置のシャシに、汎用入出力（ＧＰＩＯ）ラインなどの第１のインタフェースを介して接続される。シャシが物理的に開放されているときはいつでも、シャシは信号を生成し、ＧＰＩＯラインを介して、その信号をマイクロコントローラへ送信する。マイクロコントローラは、信号を受信すると、物理的アクセスイベントが演算処理装置に行われたかどうかを判定する。物理的アクセスイベントが権限を与えられていない限り、マイクロコントローラは、演算処理装置のイベントを記録するログを生成し、記憶装置にログインを格納し、演算処理装置に対する自己保護動作を行うことができる。ネットワーク接続が利用可能である場合、マイクロコントローラは、ネットワークを介して、ログをサーバへ送信してよい。
【発明の概要】
【００１０】
１つの開示例は、ネットワークに連結された、データセンタ内のネットワーク装置を保護する方法である。ネットワーク装置と関連付けられ資格証明情報ファイルが格納される。電力が、ネットワーク装置に与えられる。資格証明情報ファイルは、暗号化される。暗号化された資格証明情報ファイルは、ネットワーク装置のベースボード管理コントローラへ送信される。暗号化された資格証明情報ファイルは、復号化される。復号化された資格証明情報ファイルは、ネットワーク装置のメモリに格納された静的コンテンツファイルと比較される。資格証明情報ファイルが静的コンテンツファイルと一致しない場合、ネットワーク装置への電力を停止する。
【００１１】
別の例は、ネットワークに連結された、データセンタ内のネットワーク装置を保護する方法である。ネットワークのルータのＩＰアドレス及びネットワーク装置のＩＰアドレスが、静的コンテンツファイルに格納される。ネットワーク装置の電源を投入すると、ルータのＩＰアドレス及びネットワーク装置のＩＰアドレスは、クエリを介して収集される。収集されたＩＰアドレスは、格納されたＩＰアドレスと比較される。両方のＩＰアドレスが一致しない場合、ネットワーク装置のオペレーティングシステムの起動が防止される。
【００１２】
別の例は、静的資格証明情報ファイルと、基本入出力システムと、コントローラによって実行されるオペレーティングシステムとを格納するメモリを備えたネットワーク装置である。電力電力がネットワーク装置に与えられると、セキュリティモジュールが、基本入出力システムからネットワークマネージャへのクエリを介して、ルータのＩＰアドレス及びネットワーク装置のＩＰアドレスを収集するように動作可能になる。セキュリティモジュールは、収集されたＩＰアドレスを、静的資格証明情報ファイルに格納されたＩＰアドレスと比較する。両方のＩＰアドレスが一致しない場合、セキュリティモジュールは、ネットワーク装置のオペレーティングシステムの起動を防止する。ネットワーク装置は、ネットワーク装置への電力を制御するベースボード管理コントローラも含む。ベースボード管理コントローラは、暗号化された資格証明情報ファイルを受信して、暗号化された資格証明情報ファイルを復号化するように動作可能である。ベースボード管理コントローラは、復号化された資格証明情報ファイルを静的コンテンツファイルと比較する。資格証明情報ファイルが静的コンテンツファイルと一致しない場合、ベースボード管理コントローラは、ネットワーク装置への電力を停止する。
【００１３】
上記の概要は、本開示の各実施形態又はあらゆる態様を表すことが意図されているわけではない。むしろ、前述の概要は単に、本明細書に記載される新規性のある態様及び特徴の一部に関する一例を提供するにすぎない。上記の特徴及び利点、並びに本開示の他の特徴及び利点は、添付図面及び添付の特許請求の範囲に関連して理解されると、本発明を実行するための代表的な実施形態及び方式に関する以下の詳細な説明から、容易に明らかになるであろう。
【図面の簡単な説明】
【００１４】
本開示は、添付図面を共に参照して、以下の例示的な実施形態の説明から、より十分に理解されるであろう。
【００１５】
【図１】部外者によるサーバへのアクセスに脆弱な、従来技術のネットワークシステムのブロック図である。
【００１６】
【図２】ネットワーク上に設置されたサーバの保護を可能にするデータセンタのブロック図である。
【００１７】
【図３】サーバの電源を投入する前に、サーバを認証するプロセスのフロー図である。
【００１８】
【図４】サーバ起動の権限を与える前に、ＢＩＯＳ上で実行されてＩＰアドレスを比較する、図３のセキュリティモジュールのフロー図である。
【００１９】
【図５】図２のベースボード管理コントローラを通じてサービスを行い、暗号化された資格証明情報／識別情報ファイルを確認する、図３のセキュリティモジュールのフロー図である。
【００２０】
【図６】図２のセキュア環境調査モジュールをサーバにプロビジョニングするプロセスのフロー図である。
【００２１】
【図７】資格証明情報ファイルに関する、図２のセキュア環境調査モジュールのプロビジョニングサービスのフロー図である。
【００２２】
【図８Ａ】図２のサーバのプロビジョニングスイッチの状態を示す表である。
【００２３】
【図８Ｂ】図２のサーバの調査スイッチの状態を示す表である。
【００２４】
本開示は、様々な修正形態及び代替形態が可能であり、一部の代表的な実施形態が例として図面に示されており、本明細書において詳細に説明されることになる。しかしながら、本発明は、開示される特定の形態に限定されることが意図されているわけではないことを、理解されたい。むしろ、本開示は、添付の特許請求の範囲によって規定されるように、本発明の精神及び範囲内に含まれる全ての修正形態、均等な形態、及び代替形態を包含することになる。
【発明を実施するための形態】
【００２５】
様々な実施形態が、多くの異なる形態で具現化され得る。代表的な実施形態が、図面に示されており、本明細書において詳細に説明されることになる。本開示は、本開示の原理の一例又は実例であり、本開示の幅広い態様を、示された実施形態に限定することが意図されているわけではない。その範囲において、例えば、要約、概要、及び詳細な説明の項目に開示されるが、特許請求の範囲には明示的に記載されない要素及び限定が、示唆、推測、又は別の方法によって、個々に又はまとめて特許請求の範囲に組み込まれるべきではない。この詳細な説明の目的では、特に断らない限り、単数形は複数形を含み、その逆も同様であり、「含む（ｉｎｃｌｕｄｉｎｇ）」という単語は「限定することなく含む」ことを意味する。さらに、本明細書では、「約（ａｂｏｕｔ）」、「ほとんど（ａｌｍｏｓｔ）」、「ほぼ（ｓｕｂｓｔａｎｔｉａｌｌｙ）」、「およそ（ａｐｐｒｏｘｉｍａｔｅｌｙ）」などの近似に関する単語は、例えば、「〜の近く、又は、ほぼ〜に」、「３〜５％の範囲内」、「許容可能な製造上の公差内」、又はこれらのあらゆる論理的組み合わせを意味するのに用いられ得る。
【００２６】
図２は、データセンタ１００のブロック図を示す。データセンタ１００は、機器用ラック１１０ａ、１１０ｂ、１１０ｃ、及び１１０ｄを含む。もちろん、データセンタ１００は、数百個又は数千個の機器用ラックを含み得ることが理解される。例示の機器用ラック１１０ａは、多数のスロット又はシャシを有するラックフレーム１１２を含む。これらのスロットのそれぞれは、サーバ１２０及び１２２などの、ラック１１０ａと関連付けられた少なくとも１つのネットワーク装置を保持することができる。サーバ１２０及び１２２は、同一のタイプのサーバであっても、異なるタイプのサーバであってもよい。この例において、ラック１１０ａは、管理スイッチ１３０及びデータスイッチ１３２を含む。スイッチ１３０及び１３２のそれぞれは、ラックフレーム１１２内のスロットに設置されたサーバ１２０及び１２２などの他のネットワーク装置にケーブルを接続するための、複数のポートを含む。この例では管理スイッチ１３０のコントローラとなるラック管理コントローラ１３４が、ラック１１０ａと関連付けられる。ラック管理コントローラ１３４は、ラック１１０ａ内のサーバ１２０などのネットワーク装置の管理を可能にする。
【００２７】
ラック１１０ａ内にあるサーバ１２０などのネットワーク装置のそれぞれは、サーバ１２０が最初にラック１１０ａにプロビジョニングされるときに、ケーブルを介して、管理スイッチ１３０のポート１３６に接続される。管理スイッチ１３０は、ポート１３６に連結されるラック管理コントローラ１３４を含む。ラック管理コントローラ１３４も、ネットワーク管理サーバ１５０に接続される管理ポート１３８に連結される。ネットワーク管理サーバ１５０は、データセンタ１００内にあるラック１１０ａなどのラックの一部又は全てを、管理ネットワークを介して運転し、且つ監視する。
【００２８】
データセンタ１００は、動的ホスト構成プロトコル（ＤＨＣＰ）サーバ１５２、ドメインネームサービス（ＤＮＳ）サーバ１５４、及びネットワークキー管理サーバ１５６も含む。ＤＨＣＰサーバ１５２は、データセンタ１００のネットワークにプロビジョニングされるサーバなどのノードに、ＩＰアドレスを割り当てる。ＤＮＳサーバ１５４は、新たにプロビジョニングされたノードにホスト名を与える。以下に説明されるように、ネットワークキー管理サーバ１５６は、ネットワーク装置の資格証明情報／識別情報ファイルに署名する公開鍵及び秘密鍵を生成する。各ラックには、ネットワーク管理サーバ１５０に接続される管理スイッチ１３０などの対応する管理スイッチに連結されたネットワーク装置が入っている。したがって、ネットワーク管理サーバ１５０によって、ネットワーク管理者又はデータセンタ管理者は、ネットワーク装置の複数のラックの運転を監視することが可能になる。
【００２９】
この例において、サーバ１２０は、ベースボード管理コントローラ（ＢＭＣ）１６０であり得る管理コントローラを含み、ＢＭＣは、ポート１６２を介して管理スイッチ１３０に接続される。サーバ１２０は、コントローラ１７０及びメモリ１７２も含む。サーバ１２０を運転する様々なファームウェア又はソフトウェアが、ＢＩＯＳ１７４及びオペレーティングシステム１７６を含む。セキュア環境モジュール１８０は、ＢＩＯＳ１７４の一部である。この例において、ＢＩＯＳ１７４は、統合拡張ファームウェアインタフェース（ＵＥＦＩ）ＢＩＯＳである。サービスログ１８２が、メモリ１７２に格納される。コントローラ１７０は、サーバ１２０の他の要素と共に、マザーボード上に実装される。サーバ１２０内のマザーボード及び他の要素への電力は、ベースボード管理コントローラ１６０によって制御される。セキュア環境サービス１８１は、ベースボード管理コントローラ１６０の一部である。イーサネット（登録商標）コントローラ１８４が、ポート１６２に接続され、管理スイッチ１３０又はデータスイッチ１３２を用いて確立されるようなイーサネットネットワーク通信を管理する。
【００３０】
図２のデータセンタ１００は、サーバのマザーボードが違法な状態で電源を投入されて起動することを回避するセキュリティメカニズムも含む。違法な状態とは、例えば、サーバ１２０などのサーバが、データセンタ１００内で動かされて再配置された後、又は別の場所に動かされ、したがって適切なネットワークに接続されなかった後のことである。サーバ１２０は、既存のセキュリティ技術を用いており、データセンタは、サーバ１２０などのネットワーク装置の運転状態を監視する。データセンタ１００は、ネットワーク環境を事前調査するために、サーバ１２０などのネットワーク装置上にある統合拡張ファームウェアインタフェース（ＵＥＦＩ）ＢＩＯＳ１７４のセキュア環境モジュール１８０も用いる。新たな信頼のチェーンが確立されたときに実行される最初の命令セットは、信頼できるファームウェアの根幹と称されている。信頼できるファームウェアの根幹は、コントローラ１７０によってアクセス可能なフラッシュチップ内の命令であってよい。信頼できるファームウェアの根幹は、ＵＥＦＩネットワークプロトコルを用いて、ネットワークのドメイン名、及びサーバのインターネットプロトコル（ＩＰ）アドレスなどのネットワークパラメータの構成を検索して取り出すことができる。信頼できるファームウェアの根幹は、ＩＰアドレスに関連するこの情報を、ＢＩＯＳ１７４及びオペレーティングシステム１７６の起動プロセスを実行する前に検証する。さらに、ベースボード管理コントローラ１６０も、セキュア環境サービス１８１を介したラック管理コントローラ１３４からの署名済みメッセージを確認することで、自身の識別情報と、ラックマウント上の自身の位置とを検証することができる。位置又は識別情報が正しくない場合、エラーログが、ＢＭＣ１６０用のシステムイベントログ（ＳＥＬ）１８２に記録される。このエラーログによって、サーバ１２０は即座に強制的に停止させられる。
【００３１】
この例において、サーバ１２０への不正アクセスから守るために、新たにプロビジョニングされたサーバとネットワークマネージャ１５０との間に、ソフトウェア通信のレベルが追加される。電源装置がサーバ１２０に電力を印加する場合、ＵＥＦＩ  ＢＩＯＳ１７４及びベースボード管理コントローラ１６０は両方とも、オペレーティングシステム１７６の起動を許可する前に、ネットワークパラメータ調査の手順を開始する。ＢＩＯＳ１７４又はＢＭＣ１６０が、ネットワークパラメータ調査に対して予期しない応答をした場合、オペレーティングシステム読み込みプロセスを中止して、サーバ１２０の電力を即座に停止するポリシーが、セキュア環境調査モジュール１８０を介して実行される。これによって、適切な資格証明情報を有するが、データセンタ１００の管理ネットワークなどの既知のネットワーク環境からサーバを移動した、個人による不正な起動からサーバ１２０が保護される。
【００３２】
図３は、サーバ１２０を不正アクセスから保護するための、図２の各要素間の例示的なネットワーク通信に関するフロー図である。具体的には、サーバ１２０が電源を投入された場合の、ＵＥＦＩ  ＢＩＯＳ１７４と、ネットワークマネージャサーバ１５０と、ラック管理コントローラ１３４と、ベースボード管理コントローラ１６０との間の通信である。ネットワークマネージャ１５０は、サーバ１２０が電源を投入された場合に実行される電源投入時自己診断テスト（ＰＯＳＴ）プロセスの間に、必要なネットワーク環境パラメータを取得するために、拡張フレームインタフェース（ＥＦＩ）ネットワークプロトコルを用いる。
【００３３】
サーバ１２０のプロビジョニングプロセスの間に、イーサネット（登録商標）コントローラ１８４などのイーサネット（登録商標）コントローラが検出されて初期化されると、ＵＥＦＩ  ＢＩＯＳ１７４は、適切なネットワークプロトコルをインストールする。インストールされたネットワークプロトコルには、ＥＦＩ＿ＤＨＣＰｖ４＿Ｐｒｏｔｏｃｏｌ、ＥＦＩ＿ＤＨＣＰｖ６＿Ｐｒｏｔｏｃｏｌ、ＥＦＩ＿ＤＮＳｖ４＿ｐｒｏｔｏｃｏｌ、及びＥＦＩ＿ＤＮＳｖ６＿Ｐｒｏｔｏｃｏｌが含まれてよい。ネットワークマネージャ１５０も、ＩＰｖ４／ＩＰｖ６  ＩＰアドレスのホスト名への変換を行うのに、ＥＦＩ  ＤＮＳプロトコルを用いてよい。
【００３４】
サーバ１２０の起動には、ＥＦＩ＿ＤＮＳｖ４＿ｐｒｏｔｏｃｏｌ又はＥＦＩ＿ＤＮＳｖ６＿Ｐｒｏｔｏｃｏｌの下で、ＤＨＣＰディスカバリ要求を送信するＵＥＦＩ  ＢＩＯＳ１７４が含まれる（３００）。応答側のＤＨＣＰディスカバリ提示及び確認応答が、ＵＥＦＩ  ＢＩＯＳ１７４へ送信される（３０２）。ＵＥＦＩ  ＢＩＯＳ１７４は、セキュア環境調査モジュール１８０（図２）を用いて、ＥＦＩ動的ホスト構成プロトコル（ＤＨＣＰ）を呼び出し、次に、サーバ１２０などのサーバのＩＰアドレスを収集し調査する（３０４）。スイッチ１３０などの接続済みルータのＩＰアドレスも収集される。ラック１１０ａと関連付けられたネットワークなどの接続済みネットワークのサブネットマスクも、図２のＤＨＣＰサーバ１５２から取得される。サブネットマスクは、装置の現在のサブネットマスクとして、ＵＥＦＩ仕様のイーサネット（登録商標）プロトコルによって規定される。このフィールドは、Ｓｔａｒｔ（）関数によって、ゼロアドレスに初期化される。このプロセスは、ドメインシステム（ＤＮＳ）クエリを、ＥＦＩ＿ＤＮＳｖ４＿ｐｒｏｔｏｃｏｌ又はＥＦＩ＿ＤＮＳｖ６＿Ｐｒｏｔｏｃｏｌを介して、ネットワークマネージャ１５０へ送信する（３０６）。その後、ＤＮＳ応答がＵＥＦＩ  ＢＩＯＳ１７４によって受信される（３０８）。セキュアモジュール１８０は、ＤＮＳ応答から、ホスト名を調査することができる（３１０）。ＵＥＦＩ  ＢＩＯＳ１７４は、ＤＣＨＰ及びＤＮＳ応答の調査結果を更新して、ＢＭＣ１６０へ送る（３１２）。セキュア環境調査モジュール１８０は、プロビジョニングプロセスの間に、サーバのＩＰアドレス、ルータのＩＰアドレス、サブネットマスク、及びホスト名のストリングを、予め格納されたサーバのＩＰアドレス、ルータのＩＰアドレス、サブネットマスク、及びホスト名の静的コンテンツデータと比較する。比較結果に誤りがある場合、ＵＥＦＩ  ＢＩＯＳ１７４は、エラーログをサーバ１２０のＢＭＣ１６０へ送信し、図２のオペレーティングシステム１７６の起動プロセスを中止し、これによって、サーバ１２０のデータの完全性を保持する（３１４）。
【００３５】
さらに、サーバ１２０の起動時に、ＢＭＣ１６０のセキュア環境サービス１８１は、署名済み識別情報／資格証明情報ファイルの要求を送信する（３２０）。ＢＭＣ要求は、識別情報／資格証明情報ファイルのラック管理コントローラ１３４によって受信される。安全な識別情報／資格証明情報ファイルが、ラック管理コントローラ１３４からＢＭＣ１６０へ送信される（３２２）。ＢＭＣ１６０は、ラック管理コントローラ１３４からの署名済み識別情報／資格証明情報ファイルを復号化して調査する（３２４）。調査結果に誤りがある場合、ＢＭＣ１６０は、サーバを停止する（３２６）。
【００３６】
図４は、図２のサーバ１２０が電源を投入された場合に、正規のネットワーク資格証明情報を保証するために、図３のＵＥＦＩ  ＢＩＯＳ１７４によって実行される、サーバのＩＰアドレス、ルータのＩＰアドレス、サブネットマスク、及びホスト名を調査するプロセスのフロー図を示す。セキュア環境調査モジュール１８０が、最初に起動する（４００）。ＵＥＦＩ  ＢＩＯＳ１７４は、ＢＩＯＳ１７４のセキュア環境調査モジュール１８０によって設定された、又はＩＰＭＩ／Ｒｅｄｆｉｓｈコマンドを通じてＢＭＣ１６０から収集された、適切なＵＥＦＩ変数から調査スイッチを取得する（４０２）。図２のスイッチ１３０へのサーバ１２０のスイッチ接続が調査される（４０４）。調査スイッチが無効である場合、サーバ１２０は、まだプロビジョニングされていないか、又は、セキュア環境調査プロセスが管理者によって無効にされている場合がある（４０６）。モジュール１８０は次に、サーバ１２０をプロビジョニングするなどの目的で、オペレーティングシステム読み込みプロセスが実行されることを許可する（４０８）。調査スイッチが段階４０４において有効である場合、モジュール１８０は、（図２の）ＤＨＣＰサーバ１５２を発見し、ＥＦＩ  ＤＨＣＰプロトコルを呼び出して、サーバのＩＰアドレス、ルータのＩＰアドレス、及びサブネットマスクなどのモードデータを取得する（４１０）。モジュール１８０は次に、ＤＨＣＰサーバ１５２が発見可能かどうかを判定する（４１２）。ＤＨＣＰサーバ１５２が発見可能である場合、モジュール１８０は次に、図２のＤＮＳサーバ１５４を発見し、ＥＦＩ  ＤＮＳプロトコルを呼び出して、ドメイン名を発見する（４１４）。モジュール１８０は次に、ＤＮＳサーバ１５４が発見されるかどうかを判定する（４１６）。ＤＮＳサーバ１５４が発見された場合、モジュール１８０は次に、発見されたサーバのＩＰアドレス、発見されたルータのＩＰアドレス、並びにサブネットマスク及びホスト名のストリングを、静的にプロビジョニングされたデータのストリングと比較する（４１８）。比較結果は、ＢＭＣ１６０に記録される（４２０）。モジュール１８０は次に、ストリングの全ての結果が、静的にプロビジョニングされたデータと問題なく比較され、したがって合格かどうかを判定する（４２２）。結果が合格である場合、モジュール１８０は次に、サーバ１２０のオペレーティングシステムが引き続き読み込まれることを許可する（４０８）。結果が合格でない場合、ＵＥＦＩ  ＢＩＯＳ１７４は、図２のオペレーティングシステム１７６の読み込みプロセスを中止し、こうして、サーバ１２０へのアクセスを防止する（４２４）。段階４１２のＤＨＣＰサーバ１５２、又は段階４１６のＤＮＳサーバ１５４が発見可能でない場合、モジュールは、これらの結果を確認失敗として記録する（４２０）。
【００３７】
図５は、図３においてサーバ１２０が電源を投入された後に、署名済み識別情報／資格証明情報ファイルを要求する、ＢＭＣ１６０とラック管理コントローラ１３４との間のネットワーク通信のフロー図を示す。ＢＭＣ１６０は、セキュア環境調査サービス１８１を利用して、図３の段階３２０に示されるように、署名済み識別情報／資格証明情報ファイルをラック管理コントローラ１３４に要求する。識別情報／資格証明情報ファイルは、ＵＥＦＩ仕様によって規定される証明書タイプ及び署名を含むデータ構造である。サーバ識別情報は、サーバ名を含むデータ構造であり、サーバ構成は、ハードウェア構成タイプを含むデータ構造である。この要求は、ＩＰＭＩ／Ｒｅｄｆｉｓｈプロトコルであり得るネットワークプロトコルを用いてよく、このプロトコルは、セキュアソケットレイヤ（ＳＳＬ）を介したハイパーテキスト転送プロトコル（ＨＴＴＰ）、トランスポート層セキュリティ（ＴＬＳ）を介したＨＴＴＰ、又はＲｅｄｆｉｓｈアプリケーションプログラミングインタフェース（ＡＰＩ）である。ＢＭＣ１６０及びラック管理コントローラ１３４は、資格証明情報／識別情報ファイルを暗号化及び復号化するために、関連付けられた一組の公開鍵及び秘密鍵を用いる。ＢＭＣ１６０は次に、資格証明情報／識別情報ファイルのコンテンツを、データセンタ１００においてサーバ１２０をプロビジョニングする間に提供される静的コンテンツと比較する。比較結果に誤りがある場合、ＢＭＣ１６０は、サーバ１２０への電力を即座に停止する。サーバ１２０は運転できないので、サーバに格納されたデータが保護される。
【００３８】
セキュア環境調査サービス１８１が起動する（５００）。サービス１８１は、調査スイッチ設定を取得する（５０２）。これは、図２のベースボード管理コントローラ１６０の内部メモリに格納された変数である。サービス１８１は、調査変数が有効かどうかを判定する（５０４）。変数が有効でない場合、サービスは、サーバ１２０がプロビジョニングされていないか、又はセキュリティプロセスが管理者によって無効にされていると判定する（５０６）。ＢＭＣ１６０は次に、サーバ１２０を引き続き監視／制御する（５０８）。調査変数が有効である場合、サービスは、ラック管理コントローラ１３４を発見し、資格証明情報／識別情報ファイルは利用可能であり、該当する場合にはポッドマネージャ（ＰＯＤＭ）も発見する。ＰＯＤＭは、Ｒｅｄｆｉｓｈ  ＡＰＩを用いて、ポッドを構成する物理ラックの集合体と通信する。ＰＯＤＭは、それぞれのサーバをポーリングすることで、ポッドの複数のラック内にあるハードウェアリソースを管理及び集約する。サービス１８１は次に、識別情報／資格証明情報ファイルを要求する（５１０）。サーバは次に、ラックマネージャ及び識別情報／資格証明情報ファイルが発見され得るかどうかを判定し、ラックマネージャが発見された場合に、識別情報／資格証明情報ファイルを要求する（５１２）。ラックマネージャ及び識別情報／資格証明情報ファイルが発見され得る場合、サービス１８１は次に、発見された識別情報／資格証明情報ファイルを、公開鍵を用いて復号化する（５１４）。サービス１８１は、ラック管理コントローラ１３４から受信された、復号化された識別情報／資格証明情報ファイルのコンテンツを、メモリ１７２に格納された、静的にプロビジョニングされたコンテンツと比較する（５１６）。比較の調査結果は、図２のシステムイベントログ１８２に記録される（５１８）。サービス１８１は、比較結果が合格かどうかを判定する（５２０）。これらの結果が同じ場合、つまり全て合格であることを示す場合、サービス１８１は次に、段階５０８へループし、ＢＭＣ１６０がサーバ１２０を引き続き監視／制御することを許可する。結果が合格でない場合、ＢＭＣ１６０は、サーバ１２０の電源を切ることで、サーバ１２０を停止する（５２２）。ラック管理コントローラ１３４及び識別情報／資格証明情報ファイルが、段階５１２において発見されない場合、サービス１８１は次に、段階５１８において、不合格として調査結果を記録し、サーバ１２０の停止へ進む（５２０）。
【００３９】
図２のデータセンタ１００などのデータセンタにサーバ１２０が配置されると、セキュア環境調査モジュール１８０を有効にしたサーバ１２０などのサーバは、プロビジョニングプロセスを行う必要がある。データセンタ又はラックマネージャの管理者だけが、サーバ１２０を異なる場所に再割り当てする前に、セキュア環境調査モジュール１８０の調査変数を無効にする権限を有する。したがって、サーバ１２０を盗んだ又は移動した悪意のある個人が、セキュア環境調査モジュール１８０の有効な調査設定を変更することはできない。
【００４０】
図６は、図２のＢＭＣ１６０及びラック管理コントローラ１３４が実行するために、セキュア環境調査サービス１８１をサーバ１２０にプロビジョニングする設計フローである。このプロビジョニングプロセスにおいて、管理者は、図２のネットワークキー管理サーバ１５６によって実行されるキー生成アルゴリズムから、関連付けられた一組の公開鍵及び秘密鍵を検索して取り出す（６００）。ラック管理コントローラ１３４の管理者は次に、図２のラック１１０ａ及びデータセンタ１００に配置される新たなサーバ１２０の識別情報／資格証明情報ファイル６０２を作成する（６０４）。
【００４１】
図６に示されるように、ファイル６０２には、ファイルヘッダフィールド６２２、証明書フィールド６２４、サーバ構成フィールド６２６、サーバ識別情報フィールド６２８、及び設定フィールド６３０が含まれる。証明書フィールド６２４には、証明書が含まれる。サーバ構成フィールド６２６には、オペレーティングシステムのタイプなどの構成データが含まれる。サーバ識別情報フィールド６２８には、サーバの固有識別情報が入っている。設定フィールド６３０には、有効なセキュア環境調査モジュール設定、及びプロビジョニング設定が含まれる。管理者は次に、ファイル６０２の設定フィールド６３０を介して、セキュア環境調査サービス１８１を有効にする。管理者は次に、秘密鍵を用いてファイル６０２に署名する（６０４）。識別情報／資格証明情報ファイル６０２は、ＲＥＳＴｆｕｌメッセージ又はＩＰＭＩメッセージを介して、図２のＢＭＣ１６０へ送信される。
【００４２】
ＢＭＣ１６０は、公開鍵を用いて、秘密鍵による署名を検証することで、識別情報／資格証明情報ファイルを復号化する（６０６）。ＢＭＣ１６０は、ファイル６０２の設定フィールド６３０から、プロビジョニングスイッチ及び調査スイッチの設定をセットし、こうして、セキュア環境調査サービス１８１を起動する（６０８）。サーバ１２０が、図２のラック１１０ａなどのラックマウントに、オペレーティングシステム及びネットワークドメインなどの正しいソフトウェア構成を用いて適切に設置されると、管理者は、プロビジョニングプロセスにおいて、セキュア環境調査モジュール１８０及びサービス１８１を有効にすることができる。適切な資格証明情報を用いると、サーバ１２０が異なるラック又は場所に再割り当てされた場合に、管理者は、セキュア環境調査モジュール１８０及びサービス１８１を無効にすることができる。このようにして、セキュア環境調査モジュール１８０及びサービス１８１は、サーバ１２０を不正な再配置から保護する。
【００４３】
ラックマネージャ及びＢＭＣによって、新たなサーバをプロビジョニングするために行われるプロセスの設計フローは、図７に示されている。ラックマネージャを有していないラックマウントのサーバが、図７の設計フローを実装し得る。ここで、識別情報／資格証明情報ファイルは、データセンタマネージャ、又は複数のラックマネージャの物理的集合体（ＰＯＤＭ）によって生成される。
【００４４】
セキュア環境調査サービスが、図２のラック管理コントローラ１３４で起動する（７００）。あるいは、ラック管理コントローラが存在しない場合、サービスは、データセンタマネージャから起動し得る。サービスは、プロビジョニングが必要かどうかを判定する（７０２）。プロビジョニングが必要でない場合、ラック内のサーバは、既にプロビジョニングされている（７０４）。１つ又は複数の新たなサーバのプロビジョニングが必要な場合、これらのサーバが発見され、プロビジョニングリストが作成される（７０６）。識別情報／資格証明情報ファイルが、新たにプロビジョニングされるサーバのために作成される。新たなサーバ用の設定情報、構成、及び識別情報が、識別情報／資格証明情報ファイルに書き込まれる（７０８）。次に管理者は、関連付けられた一組の秘密鍵及び公開鍵を、図２のネットワークキーサーバ１５６から検索して取り出す（７１０）。
【００４５】
識別情報／資格証明情報ファイルは次に、秘密鍵を用いて暗号化される（７１２）。識別情報／資格証明情報ファイルは、新たにプロビジョニングされたサーバのＢＭＣへ送信される（７１４）。確認応答が受信されると、コールバックサービスが設定される。新たにプロビジョニングされたサーバのＢＭＣは、暗号化された識別情報／資格証明情報ファイルを受信する（７１６）。新たにプロビジョニングされたサーバのＢＭＣは、公開鍵を用いて、識別情報／資格証明情報ファイルを復号化する（７１８）。ＢＭＣ上で実行されるサービスは、識別情報及び資格証明情報が同一であるかどうかを判定する（７２０）。資格証明情報及び識別情報が同一である場合、ＢＭＣは、不揮発性メモリ（ＮＶＲＡＭ）に設定を格納する（７２２）。確認応答が、復号化結果とともに、ラック管理コントローラ１３４へ送信される（７２４）。ラック管理コントローラ１３４は次に、新たにプロビジョニングされたサーバのＢＭＣから確認応答を受信する（７２６）。資格証明情報及び識別情報が同一でない場合には、確認応答及び復号化結果は、ラック管理コントローラ１３４へ送信される（７２４）。
【００４６】
新たにプロビジョニングされたサーバのＵＥＦＩ  ＢＩＯＳは、電源投入時自己診断テスト（ＰＯＳＴ）段階の間に、セキュア環境調査モジュールのプロビジョニング変数を詳しく調べる。プロビジョニングスイッチは、不揮発性メモリ（ＮＶＲＡＭ）内にあるＢＭＣの変数と整合する、ＵＥＦＩ変数を参照し得る。ＵＥＦＩ  ＢＩＯＳは、ＵＥＦＩ  ＤＨＣＰプロトコルを呼び出して、サーバのＩＰアドレス、ルータのＩＰアドレス、及びＤＨＣＰサーバから取得された接続済みネットワークのサブネットマスクを収集する。プロビジョニングスイッチが有効である場合、モジュールも、「ＩＰｖ４／ＩＰｖ６  ＩＰアドレスのホスト名への変換」を行うのに、ＥＦＩ  ＤＮＳプロトコルを用いる。ＵＥＦＩ  ＢＩＯＳは、上記のネットワークパラメータをＵＥＦＩ変数として格納し、それが完了すると、プロビジョニングスイッチを「プロビジョニング済み」として調整するようＢＭＣに通知する。
【００４７】
図８Ａは、サーバが最初にプロビジョニングされたときに、図７のラックマネージャによって送信される、プロビジョニングスイッチの状態に関する表８００を示す。プロビジョニングスイッチは無効状態であってよく、その場合、セキュア環境モジュールは無効になり、プロビジョニングプロセスを行うことができない。プロビジョニングスイッチは、有効状態であってよく、これにより、新たに実装されたサーバのＢＩＯＳ及びＢＭＣは、プロビジョニングプロセスを開始し、サーバを構成することが可能になる。スイッチは、プロビジョニングされた状態であってよく、ＢＩＯＳ及びＢＭＣは両方とも、プロビジョニングプロセスを完了して、調査スイッチを有効にする。
【００４８】
図８Ｂは、調査スイッチの状態に関する表を示す。調査スイッチが無効である場合、ＢＭＣ及びＢＩＯＳは、ネットワーク環境を調査する必要がない。調査スイッチが有効である場合、ＢＭＣ及びＢＩＯＳは、ネットワーク環境の調査を開始する。
【００４９】
図４〜図７のフロー図は、ＢＩＯＳ又はベースボード管理コントローラ用の、例示的な機械可読命令を表す。この例では、機械可読命令は、（ａ）プロセッサ、（ｂ）コントローラ、及び／又は（ｃ）他の適切な１つ若しくは複数の処理デバイスによる実行のためのアルゴリズムを含む。このアルゴリズムは、例えば、フラッシュメモリ、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、デジタルビデオ（多用途）ディスク（ＤＶＤ）、又は他のメモリデバイスなどの有形媒体に格納されたソフトウェアで具現化されてよい。しかしながら、当業者であれば、アルゴリズム全体及び／又はその一部は代替的に、プロセッサ以外のデバイスによって実行されてよく、及び／又は、よく知られた方式でファームウェア若しくは専用ハードウェアで具現化されてよい（例えば、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブル論理デバイス（ＦＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジックなどによって実装されてよい）ことを、容易に理解するであろう。例えば、インタフェースの要素のいずれか又は全てが、ソフトウェア、ハードウェア、及び／又はファームウェアによって実装されてよい。また、図４〜図７のフローチャートによって表される機械可読命令の一部又は全てが、手動で実施されてもよい。さらに、例示的なアルゴリズムが、図４〜図７に示されるフローチャートを参照して説明されているが、当業者であれば、例示的な機械可読命令を実施する他の多くの方法が代替的に用いられ得ることを容易に理解するであろう。例えば、各ブロックの実行順序が変更されてよく、及び／又は、説明された各ブロックの一部が変更され、削除され、又は組み合わされてもよい。
【００５０】
本出願において用いられるとき、「要素」、「モジュール」、「システム」などの用語は概して、コンピュータ関連のエンティティ、すなわち、１つ又は複数の特定の機能を有する動作可能な機械に関連したハードウェア（例えば、回路）、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、若しくはエンティティを指す。例えば、要素は、限定されないが、プロセッサ（例えば、デジタル信号プロセッサ）上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、及び／又はコンピュータであってよい。実例として、コントローラ上で実行されるアプリケーション、及びそのコントローラは両方とも、要素になり得る。１つ又は複数の要素は、プロセス及び／又は実行スレッド内に存在してよく、ある要素が１つのコンピュータ上に局在化してよく、及び／又は、２つ以上のコンピュータ間に分散されてもよい。さらに、「デバイス」が、特別に設計されたハードウェア、ハードウェアが特定の機能を行うことを可能にする搭載ソフトウェアを実行することで専門化された汎用ハードウェア、コンピュータ可読媒体に格納されたソフトウェア、又はこれらの組み合わせの形態で提供されてよい。
【００５１】
演算処理装置は通常、コンピュータ可読記憶媒体及び／又は通信媒体を含み得る様々な媒体を含み、これら２つの用語は以下のように、本明細書において互いに異なって用いられる。コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る、あらゆる利用可能な記憶媒体であってよく、通常は非一時的な性質を有し、揮発性媒体及び不揮発性媒体の両方、並びにリムーバブル媒体及び非リムーバブル媒体を含み得る。例として、限定ではないが、コンピュータ可読記憶媒体は、コンピュータ可読命令、プログラムモジュール、構造化データ、又は非構造化データなどの情報を記憶するための、あらゆる方法又は技術に関連して実装され得る。コンピュータ可読記憶媒体は、限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、若しくは他の磁気記憶装置、又は、所望の情報を格納するのに用いられ得る他の有形及び／若しくは非一時的媒体を含んでよい。コンピュータ可読記憶媒体は、例えば、アクセス要求、クエリ、又は他のデータ検索プロトコルを介して、媒体によって格納された情報に対する様々なオペレーションのために、１つ又は複数のローカル演算処理装置又はリモート演算処理装置によってアクセスされ得る。
【００５２】
本明細書において用いられる用語は、特定の実施形態を説明することだけを目的としており、本発明を限定しようとすることが意図されているわけではない。本明細書において用いられるとき、単数形の「ａ」、「ａｎ」、及び「ｔｈｅ」は、複数形も含むことが意図されている。但し、そうではないことが文脈上で明確に示されている場合を除く。さらに、「含む（ｉｎｃｌｕｄｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「有する（ｈａｖｉｎｇ）」、「有する（ｈａｓ）」、「有する（ｗｉｔｈ）」という用語、又はこれらの変化形が、詳細な説明及び／又は特許請求の範囲のいずれかに用いられる限りにおいて、そのような用語は、「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語と類似の方式で包括的であることが意図されている。
【００５３】
別途定義されない限り、本明細書において用いられる全ての用語（技術的用語及び科学的用語を含む）は、当業者によって一般に理解される意味と同じ意味を有する。さらに、一般に用いられる辞書に定義されている用語などの用語が、関連技術の文脈におけるそれらの用語の意味と一致する意味を有すると解釈されるべきであり、理想化された認識又は過度に形式的な認識で解釈されてはならない。但し、本明細書において明示的にそのように定義される場合を除く。
【００５４】
本発明の様々な実施形態が上述されたが、それらの実施形態は、例としてのみ提供されており、限定ではないことを理解されたい。本発明の精神又は範囲から逸脱することなく、本明細書の開示に従って、開示された実施形態への多数の変更が行われてよい。したがって、本発明の広さ及び範囲は、上述された実施形態のいずれによっても限定されるべきではない。むしろ、本発明の範囲は、以下の特許請求の範囲及びこれらの均等物に従って定義されるべきである。
【００５５】
本発明は、１つ又は複数の実装について示され、説明されているが、本明細書及び添付図面の意味を読み取り理解するならば、均等な変更及び修正が行われるか、又はそれらが当業者に知られるであろう。さらに、本発明の特定の特徴が、いくつかの実装のうちの１つだけについて開示されることがあったが、そのような特徴は、他の実装の他の１つ又は複数の特徴と組み合わされてよく、このことは、あらゆる所与の用途又は特定の応用に必要であり、且つ有利であってよい。
【図１】
2019075074.tif 000003
【図２】
2019075074.tif 000004
【図３】
2019075074.tif 000005
【図４】
2019075074.tif 000006
【図５】
2019075074.tif 000007
【図６】
2019075074.tif 000008
【図７】
2019075074.tif 000009
【図８Ａ】
2019075074.tif 000010
【図８Ｂ】
2019075074.tif 000011