(57)【要約】      （修正有）【課題】データセンタ内の二重経路ＨＡストレージアクセス動作をサポートする冗長ファブリックスイッチによりリソースを自動的に構成するためのシステムおよび方法を提供する。【解決手段】ファブリックスイッチに接続されている、データセンタ内の１つまたは複数のドライブを決定するため、データ管理モジュールを使用する。ファブリックスイッチは、同一の筐体ＩＤを有する。データ管理モジュールは、１つのファブリックスイッチを介して、該ドライブと、第１コンピュータシステムとを関連付け、２つのファブリックスイッチのうち他方のファブリックスイッチを介して、該ドライブと第２コンピュータシステムとを関連付ける。特定ユーザからの要求に応じて、データ管理モジュールは、該ドライブと、２つのスイッチと、第１コンピュータシステムと、第２コンピュータシステムに基づいて、その要求にマッチするデータセンタの好適なリソースを構成する。【選択図】図２Ａ
2019036943.tif 000002
【特許請求の範囲】
【請求項１】
データセンタ内のデータセンタリソースを自動的に構成するためのコンピュータ実装方法であって、
前記データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤ（識別情報）を収集する段階と、
前記複数のファブリックスイッチの中から、それぞれが同一の筐体ＩＤを有する、複数のファブリックスイッチ対を決定する段階と、
前記データセンタ内の前記複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集する段階と、
前記複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、前記複数のドライブのうちの少なくとも１つのドライブを選択する段階と、
前記少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、前記少なくとも１つのドライブと、前記データセンタの第１コンピュータシステムとを関連付ける段階と、
前記少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、前記少なくとも１つのドライブと、前記データセンタの第２コンピュータシステムとを関連付ける段階と、
ユーザのユーザデバイスから要求を受信する段階と、
前記少なくとも１つのドライブと、前記少なくとも１つのファブリックスイッチ対と、前記第１コンピュータシステムと、前記第２コンピュータシステムとに少なくとも基づいて、前記要求をサポートする、前記データセンタのリソースを構成する段階と
を備えるコンピュータ実装方法。
【請求項２】
前記少なくとも１つのドライブは、前記少なくとも１つのファブリックスイッチ対の前記一方のファブリックスイッチの第１ポートに接続されており、前記少なくとも１つのドライブは、前記少なくとも１つのファブリックスイッチ対の前記他方のファブリックスイッチの第２ポートに接続されており、前記第１ポートおよび前記第２ポートは、同一のポート番号を有しており、
前記筐体ＩＤは、少なくとも１つのＭＡＣ（メディアアクセス制御）アドレス、または対応するファブリックスイッチのイーサネット（登録商標）インタフェースのＵＵＩＤ（汎用一意識別子）の組み合わせである、
請求項１に記載のコンピュータ実装方法。
【請求項３】
前記少なくとも１つのファブリックスイッチ対に互いのＵＵＩＤまたはＭＡＣアドレスを交換させる段階と、
前記少なくとも１つのファブリックスイッチ対と、前記少なくとも１つのファブリックスイッチ対のイーサネット（登録商標）インタフェースがサポートしているインタリンクとを関連付ける段階であって、前記インタリンクは、前記少なくとも１つのファブリックスイッチ対の前記一方のファブリックスイッチと、前記少なくとも１つのファブリックスイッチ対の前記他方のファブリックスイッチとを接続している、段階と
を更に備える、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記第１コンピュータシステムに異常があると判定する段階と、
前記少なくとも１つのファブリックスイッチ対の前記他方のファブリックスイッチと、前記第２コンピュータシステムとに少なくとも基づいて、前記要求をサポートする段階と
を更に備える、請求項１から３の何れか一項に記載のコンピュータ実装方法。
【請求項５】
前記少なくとも１つのファブリックスイッチ対の前記一方のファブリックスイッチに異常があると判定する段階と、
前記少なくとも１つのファブリックスイッチ対の前記他方のファブリックスイッチと、前記第２コンピュータシステムに少なくとも基づいて、前記要求をサポートする段階と
を更に備える、請求項１から４の何れか一項に記載のコンピュータ実装方法。
【請求項６】
データセンタ内のデータセンタリソースを自動的に構成するためのコンピュータ実装方法であって、
前記データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤ（識別情報）を収集する段階と、
前記複数のファブリックスイッチの中から、それぞれが同一の筐体ＩＤを有する、複数のファブリックスイッチ対を決定する段階と、
前記データセンタ内の前記複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集する段階と、
前記複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、前記複数のドライブのうちの少なくとも１つのドライブを選択する段階と、
前記少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、前記少なくとも１つのドライブと、前記データセンタのコンピュータシステムとを関連付ける段階と、
前記少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、前記少なくとも１つのドライブと、前記データセンタの前記コンピュータシステムとを関連付ける段階と、
ユーザのユーザデバイスから要求を受信する段階と、
前記少なくとも１つのドライブと、前記少なくとも１つのファブリックスイッチ対と、前記コンピュータシステムとに少なくとも基づいて、前記要求をサポートする、前記データセンタのリソースを構成する段階と
を備えるコンピュータ実装方法。
【請求項７】
前記少なくとも１つのドライブは、前記少なくとも１つのファブリックスイッチ対の前記一方のファブリックスイッチの第１ポートに接続されており、前記少なくとも１つのドライブは、前記少なくとも１つのファブリックスイッチ対の前記他方のファブリックスイッチの第２ポートに接続されており、前記第１ポートおよび前記第２ポートは、同一のポート番号を有しており、
前記筐体ＩＤは、少なくとも１つのＭＡＣ（メディアアクセス制御）アドレス、または対応するファブリックスイッチのイーサネット（登録商標）インタフェースのＵＵＩＤ（汎用一意識別子）の組み合わせである、
請求項６に記載のコンピュータ実装方法。
【請求項８】
前記少なくとも１つのファブリックスイッチ対に互いのＵＵＩＤまたはＭＡＣアドレスを交換させる段階と、
前記少なくとも１つのファブリックスイッチ対と、前記少なくとも１つのファブリックスイッチ対のイーサネット（登録商標）インタフェースがサポートしているインタリンクとを関連付ける段階であって、前記インタリンクは、前記少なくとも１つのファブリックスイッチ対の前記一方のファブリックスイッチと、前記少なくとも１つのファブリックスイッチ対の前記他方のファブリックスイッチとを接続している、段階と
を更に備える、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記少なくとも１つのファブリックスイッチ対の前記一方のファブリックスイッチに異常があると判定する段階と、
前記少なくとも１つのファブリックスイッチ対の前記他方のファブリックスイッチと、前記コンピュータシステムに少なくとも基づいて、前記要求をサポートする段階と
を更に備える、請求項８に記載のコンピュータ実装方法。
【請求項１０】
データセンタ内のデータセンタリソースを自動的に構成するシステムであって、
プロセッサと、
命令を記憶するコンピュータ可読媒体と
を備え、
前記命令は、前記プロセッサにより実行されると、前記システムに、
前記データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤ（識別情報）を収集する動作と、
前記複数のファブリックスイッチの中から、それぞれが同一の筐体ＩＤを有する、複数のファブリックスイッチ対を決定する動作と、
前記データセンタ内の前記複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集する動作と、
前記複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、前記複数のドライブのうちの少なくとも１つのドライブを選択する動作と、
前記少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、前記少なくとも１つのドライブと、前記データセンタの第１コンピュータシステムとを関連付ける動作と、
前記少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、前記少なくとも１つのドライブと、前記データセンタの第２コンピュータシステムとを関連付ける動作と、
ユーザのユーザデバイスから要求を受信する動作と、
前記少なくとも１つのドライブと、前記少なくとも１つのファブリックスイッチ対と、前記第１コンピュータシステムと、前記第２コンピュータシステムとに少なくとも基づいて、前記要求をサポートする、前記データセンタのリソースを構成する動作と
を含む動作を実行させる、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、サーバシステム、より具体的にはネットワーク管理に関する。
【背景技術】
【０００２】
今日の世界では、データセンタ技術がますます重要になりつつある。個人ユーザが娯楽および他のニーズのためにモバイルデバイスおよびコンピュータを利用しているだけでなく、法人も業務遂行に必須のタスクを実行するのに企業のコンピューティングシステムに依存している。これら全てのアプリケーションおよびデバイスは、主にデータセンタがサポートしている。
【０００３】
データセンタは通常、３つの主要コンポーネント、すなわちサーバ、ネットワークおよびストレージデバイスを含む。例えば、米国特許第２００２０１９４３２４号では、エンドツーエンドのコンテンツ管理を開示しており、データストレージ施設から離れた所に位置する要求元へエンドツーエンドのコンテンツ管理のために提供された、配信アーキテクチャが開示されている。エンドツーエンドのコンテンツＩ／Ｏ管理（ＥＣＩＭ）は、複数のネットワークサーバにわたるデータセンタにおける複合的な負荷レベルを監視するグローバル・インフラストラクチャ・コントロール（ＧＩＣ）を含んでおり、コンテンツ要求を満たす最良のデータセンタを識別する。各データセンタは、データセンタに到着するコンテンツを監視し、かつ、そのデータセンタにおけるトラフィック全てのエントリを制御するＱｏＳエンフォーサを有する。各データセンタは、ローカルデータセンタにおけるエンドツーエンドＩ／Ｏを制御するコントローラも有する。ＥＣＩＭにより、コンテンツ配信のエンドツーエンド制御、サービス水準合意事項を満たすアプリケーションコンテンツ・ストレージプールのスケーラビリティ・プロビジョニング、コンテンツの動的な負荷平衡化、ならびに、ローカルおよび複数のデータセンタにわたっての両方におけるＩ／Ｏリソースの最適化が可能となり、その結果、アプリケーションサーバからストレージに至るまで、最低限のリソース使用量でのサービスレベル保証が最大化される。更に、データセンタ内のこれらのコンポーネントを管理するには、通常データセンタ管理ソフトウェアを使用する。例えば、データセンタ管理ソフトウェアは、エンドユーザから要求を受信し、次いでこれらの要求に対処する、データセンタの適切なリソースを構成する。構成されたリソースは、コンピューティング能力、メモリおよびストレージの容量、ＮＩＣ（ネットワーク・インタフェース・カード）の速度ならびにＶＬＡＮ（仮想ローカルエリアネットワーク）ＩＤ（識別情報）を含んでよい。
【０００４】
しかしながら、Ｉｎｔｅｌ（登録商標）ＲＳＤ（ラックスケールデザイン）等の従来のデータセンタ管理ソフトウェアは、基本的な単一経路の非ＨＡ（高可用性）ストレージプール構成にのみ対応しており、法人およびエンドユーザからの要求により良く対応するには更なる改善を必要とする。
【発明の概要】
【０００５】
本開示の様々な例に係るシステムおよび方法では、データセンタ内の二重経路ＨＡ（高可用性）ストレージアクセス動作をサポートする冗長ファブリックスイッチによりリソースを自動的に構成することによって、上述の問題に対する解決策を提供する。２つのファブリックスイッチに接続されている、データセンタ内の少なくとも１つのドライブを決定するのに、データ管理用のソフトウェアまたはモジュールを使用することができる。２つのファブリックスイッチは、同一の筐体ＩＤを有する。データ管理用のソフトウェアまたはモジュールは次いで、２つのファブリックスイッチのうち一方のファブリックスイッチを介して、少なくとも１つのドライブと第１コンピュータシステムとを関連付けること、および、２つのファブリックスイッチのうち他方のファブリックスイッチを介して、少なくとも１つのドライブと第２コンピュータシステムとを関連付けることができる。特定ユーザからの要求の受信に応じて、データ管理用のソフトウェアまたはモジュールは、少なくとも１つのドライブと、２つのファブリックスイッチと、第１コンピュータシステムと、第２コンピュータシステムとに少なくとも基づいて、その要求にマッチする、データセンタの好適なリソースを構成することができる。この詳細な説明を目的として、「構成する（ｃｏｍｐｏｓｅ）」または「構成する（ｃｏｍｐｏｓｉｎｇ）という単語は、マッチするリソース（例えば、コンピュータリソース、ストレージリソースまたはネットワークリソース）を「検索する」こと、および、そのマッチするリソースを特定ユーザに「割り当てる」ことを意味する。幾つかの実装では、マッチするリソースが「分解」されるまで、他のユーザがマッチするリソースにアクセスすることはできない。
【０００６】
本開示の１つの態様によれば、データセンタ内のデータセンタリソースを構成するためのコンピュータ実装方法は（１）データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤ（識別情報）を収集する段階と（２）複数のファブリックスイッチの中から、それぞれが同一の筐体ＩＤを有する、複数のファブリックスイッチ対を決定する段階と（３）データセンタ内の複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集する段階と（４）複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、複数のドライブのうちの少なくとも１つのドライブを選択する段階と（５）少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタの第１コンピュータシステムとを関連付ける段階と（６）少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタの第２コンピュータシステムとを関連付ける段階と（７）ユーザのユーザデバイスから要求を受信する段階と（８）少なくとも１つのドライブと、少なくとも１つのファブリックスイッチ対と、第１コンピュータシステムと、第２コンピュータシステムとに少なくとも基づいて、その要求をサポートする、データセンタのリソースを構成する段階とを含む。
【０００７】
幾つかの例では、対になった２つのファブリックスイッチは、イーサネット（登録商標）インタフェースによりインタリンクを介して接続されている。対になったファブリックスイッチの各ファブリックスイッチは、固有のＭＡＣアドレスを有する。対になったファブリックスイッチの各ファブリックスイッチの筐体ＩＤは、対になった当該ファブリックスイッチの２つのＭＡＣアドレスの組み合わせである。
【０００８】
幾つかの例において、少なくとも１つのドライブは、対になった２つのファブリックスイッチのうち一方の第１ポートと、対になった２つのファブリックスイッチのうち他方の第２ポートとの両方に接続されている。第１ポートおよび第２ポートは、同一のポート番号を有する。幾つかの実装において、複数のドライブはそれぞれ、複数のファブリックスイッチのうち１つのファブリックスイッチの１つのポートにのみ接続されている。対になった２つのファブリックスイッチの同一のポート番号が同一のドライブへ強制的にマッピングされる。
【０００９】
幾つかの例において、筐体ＩＤは、対応するファブリックスイッチのイーサネット（登録商標）インタフェースの少なくとも１つのＭＡＣ（メディアアクセス制御）アドレス、またはＵＵＩＤ（汎用一意識別子）の組み合わせである。
【００１０】
幾つかの例において、コンピュータ実装方法は、対になった少なくとも２つのファブリックスイッチに互いのＵＵＩＤまたはＭＡＣアドレスを交換させる段階と、対になった少なくとも２つのファブリックスイッチとインタリンクとを関連付ける段階であって、当該インタリンクが、対になった少なくとも２つのファブリックスイッチのうち一方のファブリックスイッチと、対になった少なくとも２つのファブリックスイッチのうち他方のファブリックスイッチとを接続する、段階とを更に含む。インタリンクは、少なくとも一対のスイッチのイーサネット（登録商標）インタフェースがサポートすることができる。
【００１１】
幾つかの例において、コンピュータ実装方法は、第１コンピュータシステムに異常があると判定する段階と、少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチと、第２コンピュータシステムとに少なくとも基づいて、要求をサポートする段階とを更に含む。
【００１２】
幾つかの例において、コンピュータ実装方法は、少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチに異常があると判定する段階と、少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチと、第２コンピュータシステムとに少なくとも基づいて、要求をサポートする段階とを更に含む。
【００１３】
幾つかの例では、データセンタ内のコンピュータリソースの属性として、限定はされないが、ＣＰＵ（中央演算処理装置）のコア、速度および製造情報、ならびにメモリの容量および速度が挙げられる。データセンタ内のストレージリソースの属性として、限定はされないが、ストレージタイプ（例えば、ＳＡＳ（シリアルアタッチドＳＣＳＩ）、ＳＡＴＡ（シリアルアットアタッチメント）またはＮＶＭｅ（不揮発性メモリエクスプレス））およびストレージ容量が挙げられる。データセンタ内のネットワークリソースの属性として、限定はされないが、ＶＬＡＮ（仮想ローカルエリアネットワーク）およびネットワーク帯域幅／速度が挙げられる。
【００１４】
本開示の別の態様によれば、データセンタ内のデータセンタリソースを構成するためのコンピュータ実装方法は（１）データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤを収集する段階と（２）複数のファブリックスイッチの中から、それぞれが同一の筐体ＩＤを有する、複数のファブリックスイッチ対を決定する段階と（３）データセンタ内の複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集する段階と（４）複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、複数のドライブのうちの少なくとも１つのドライブを選択する段階と（５）少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタのコンピュータシステムとを関連付ける段階と（６）少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、少なくとも１つのドライブと、コンピュータシステムとを関連付ける段階と（７）ユーザのユーザデバイスから要求を受信する段階と（８）少なくとも１つのドライブと、少なくとも１つのファブリックスイッチ対と、コンピュータシステムとに少なくとも基づいて、その要求をサポートする、データセンタのリソースを構成する段階とを含む。
【００１５】
幾つかの例において、コンピュータ実装方法は、少なくとも１つのファブリックスイッチ対の一方に異常があると判定する段階と、少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチと、コンピュータシステムとに少なくとも基づいて、要求をサポートする段階とを更に含む。
【００１６】
本開示の別の態様に従って、命令を記憶する非一時的コンピュータ可読ストレージ媒体を提供する。命令はプロセッサによって実行されると、プロセッサに（１）データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤを収集する動作と（２）複数のファブリックスイッチの中から、それぞれが同一の筐体ＩＤを有する、複数のファブリックスイッチ対を決定する、動作と（３）データセンタ内の複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集する動作と（４）複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、複数のドライブのうちの少なくとも１つのドライブを選択する動作と（５）少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタの第１コンピュータシステムとを関連付ける動作と（６）少なくとも１つのファブリックスイッチ対の他方を介して、少なくとも１つのドライブと、データセンタの第２コンピュータシステムとを関連付ける動作と（７）ユーザのユーザデバイスから要求を受信する動作と（８）少なくとも１つのドライブと、少なくとも１つのファブリックスイッチ対と、第１コンピュータシステムと、第２コンピュータシステムとに少なくとも基づいて、その要求をサポートする、データセンタのリソースを構成する動作とを含む動作を実行させる。
【００１７】
本開示の別の態様に従って、命令を記憶する非一時的コンピュータ可読ストレージ媒体を提供する。命令はプロセッサによって実行されると、プロセッサに（１）データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤを収集する動作と（２）複数のファブリックスイッチの中から、それぞれが同一の筐体ＩＤを有する、複数のファブリックスイッチ対を決定する動作と（３）データセンタ内の複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集する動作と（４）複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、複数のドライブのうちの少なくとも１つのドライブを選択する動作と（５）少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタのコンピュータシステムとを関連付ける動作と（６）少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、少なくとも１つのドライブと、コンピュータシステムとを関連付ける動作と（７）ユーザのユーザデバイスから要求を受信する動作と（８）少なくとも１つのドライブと、少なくとも１つのファブリックスイッチ対と、コンピュータシステムとに少なくとも基づいて、その要求をサポートする、データセンタのリソースを構成する動作とを含む動作を実行させる。
【００１８】
以下の説明では、本開示の更なる特徴および利点について記載する。これらの特徴および利点の一部は、本説明から明白になるか、本明細書で開示する原理を実施することによって習得することができる。本開示の特徴および利点は、添付の特許請求の範囲で具体的に挙げる器具および組み合わせを用いて実現および取得することができる。本開示のこれらおよび他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになるか、本明細書に記載する原理を実施することによって習得することができる。
【図面の簡単な説明】
【００１９】
本開示の上述および他の利点ならびに特徴を取得できる手法について説明すべく、添付図面に示すこれらの具体的な例を参照することにより、先に簡単に説明した原理についてより具体的な説明を行う。これらの図面は、本開示の例示的な態様しか描写していないため、本開示の範囲を限定するものと見なすべきではない。本明細書では、添付図面を用いることにより、更なる具体性および詳細をもって、これらの原理について説明および解説する。
【００２０】
【図１Ａ】ユーザ要求に応じて好適なリソースを構成できる、本開示の幾つかの実装に係る例示的なデータセンタを示す、概略ブロック図である。
【００２１】
【図１Ｂ】図１Ａに示すようなデータセンタ内のストレージプールと、ファブリックスイッチと、コンピュータシステムとの間における、本開示の幾つかの実装に係る例示的なアーキテクチャを示す、概略ブロック図である。
【図１Ｃ】図１Ａに示すようなデータセンタ内のストレージプールと、ファブリックスイッチと、コンピュータシステムとの間における、本開示の幾つかの実装に係る例示的なアーキテクチャを示す、概略ブロック図である。
【００２２】
【図２Ａ】データセンタ内のデータセンタリソースを自動的に構成するための、本開示の実装に係る例示的な方法である。
【図２Ｂ】データセンタ内のデータセンタリソースを自動的に構成するための、本開示の実装に係る例示的な方法である。
【００２３】
【図３】本開示の様々な例に係る例示的なシステムを示す。
【図４】本開示の様々な例に係る例示的なシステムを示す。
【発明を実施するための形態】
【００２４】
本開示は、多くの異なる形態で具現化することができる。代表的な実施形態が図面に示され、本明細書で詳細に説明される。本開示は、本開示の原理の例または実例であって、本開示の幅広い態様を、ここで示す実施形態に限定することを意図するものではない。この点で、例えば、要約書、概要、発明を実施するための形態の節では開示しているが、特許請求の範囲では明記していない要素および限定事項を、示唆、推測または別の方法によって、特許請求の範囲に個々にまたはまとめて組み込むべきではない。この詳細な説明を目的として、具体的に請求対象から除外されない限り、単数形は複数形を含み（その逆もまたしかり）、「〜を含む」という単語は「〜を含むが、これらに限定はされない」ことを意味する。更に、本明細書では、例えば「〜で、〜の近くで、または、ほとんど〜で」もしくは「〜の３−５％以内で」もしくは「製造誤差の許容範囲内で」またはこれらの任意の論理的な組み合わせを意味するために、「約」、「ほとんど」、「ほぼ」および「およそ」等といった近似単語を使用することがある。
【００２５】
本開示の様々な例では、データセンタ内の二重経路ＨＡストレージアクセス動作をサポートする冗長ファブリックスイッチによりリソースを自動的に構成するための方法を提供する。対になった２つのファブリックスイッチに接続されている、データセンタ内の少なくとも１つのドライブを決定するのに、データ管理用のソフトウェアまたはモジュールを使用することができる。２つのファブリックスイッチは、同一の筐体ＩＤを有する。データ管理用のソフトウェアまたはモジュールは次いで、２つのファブリックスイッチのうち一方のファブリックスイッチを介して、少なくとも１つのドライブと第１コンピュータシステムとを関連付けること、および、２つのファブリックスイッチのうち他方のファブリックスイッチを介して、少なくとも１つのドライブと第２コンピュータシステムとを関連付けることができる。特定ユーザからの要求の受信に応じて、データ管理用のソフトウェアまたはモジュールは、少なくとも１つのドライブと、２つのファブリックスイッチと、第１コンピュータシステムと、第２コンピュータシステムとに少なくとも基づいて、その要求にマッチする、データセンタの好適なリソースを構成することができる。
【００２６】
図１Ａは、ユーザ要求に応じて好適なリソースを構成できる、本開示の幾つかの実装に係る例示的なデータセンタ１００Ａを示す、概略ブロック図である。この例において、データセンタ１００Ａは、データ管理用のソフトウェアまたはモジュール１０１、複数のドライブ（例えば、１０２−Ｃおよび１０３−Ｃ）、複数のファブリックスイッチ（例えば、１０２−Ｂおよび１０３−Ｂ）および複数のコンピュータシステム（例えば、１０５−１および１０５−２）を含む。複数のドライブには、複数のＳＳＤ（ソリッドステートドライブ）１０２−Ｃおよび複数のハードドライブ１０３−Ｃを挙げることができる。幾つかの例において、複数のＳＳＤ１０２−Ｃは、ＮＶＭｅ（不揮発性メモリエクスプレス）ＳＳＤであってよい。複数のハードドライブ１０３−Ｃは、ＳＣＳＩ（スモールコンピュータシステム・インタフェース）ドライブ、ＳＡＳ（シリアルアタッチドＳＣＳＩ）ドライブ、ＡＴＡ（アットアタッチメント）ドライブ、ＳＡＴＡ（シリアルＡＴＡ）ドライブ、または任意のデュアルポートのハードドライブもしくはＳＳＤ（例えば、デュアルポートＳＡＳドライブ、デュアルポートＮＶＭｅ（不揮発性メモリエクスプレス）ドライブ、またはＳＲＩＯＶ（単一ルート入出力仮想化）対応もしくはＭＲＩＯＶ（マルチルート入出力仮想化）対応のＮＶＭｅドライブ）であってよい。
【００２７】
この例において、データ管理用のソフトウェアまたはモジュール１０１は、イーサネット（登録商標）接続１０４を介して、複数のファブリックスイッチ（例えば、１０２−Ｂおよび１０３−Ｂ）および複数のコンピュータシステム（例えば、１０５−１および１０５−２）と通信する。データ管理用のソフトウェアまたはモジュール１０１は、対応するドライブスイッチを介して、複数のドライブ（例えば、１０２−Ｃおよび１０３−Ｃ）と通信する。例えば、データ管理用のソフトウェアまたはモジュール１０１は、ＰＣＩＥスイッチ１０２−Ａを介してＳＳＤ１０２−Ｃと通信し、ＳＡＳエクスパンダ１０３−Ｂを介してＳＡＳドライブ１０３−Ｃと通信する。
【００２８】
図１Ａにおいて、複数のコンピュータシステム（例えば、１０５−１および１０５−２）はそれぞれ、ＨＢＡ（ホストバスアダプタ）１０５−ＢおよびＰＣＩＥ（周辺コンポーネント相互接続エクスプレス）インタフェース１０５−Ａを含む。ＨＢＡ１０５−Ｂは、ホストシステムとして動作するように、かつ、ＳＡＳ接続１０８を介して、対応するコンピュータシステムと、１つまたは複数のハードドライブ（例えば、ＳＡＳドライブ１０３−Ｃ）とを接続するように構成されている。ＰＣＩＥインタフェース１０５−Ａは、ＰＣＩＥ接続１０７を介して、対応するコンピュータシステムと、ＳＳＤ１０２−Ｃとを接続するように構成されており、Ｉ／Ｏ仮想化をサポートすることができる。幾つかの例では、データセンタ１００Ａ内の複数のドライブ（例えば、１０２−Ｃおよび１０３−Ｃ）も、ＰＣＩＥ接続１０７またはＳＡＳ接続１０８を介して、互いに結合することができる。
【００２９】
図１Ｂは、図１Ａに示すようなデータセンタ内のストレージプールと、ファブリックスイッチと、コンピュータシステムとの間における、本開示の幾つかの実装に係る例示的なアーキテクチャ１００Ｂを示す、概略ブロック図である。この例では、データ管理用のソフトウェアまたはモジュールが、同一の筐体ＩＤを有する少なくとも２つのファブリックスイッチ（例えば、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２）を決定することができる。筐体ＩＤは、ファブリックスイッチ１  １０９−１またはファブリックスイッチ２  １０９−２のイーサネット（登録商標）インタフェースの少なくとも１つのＭＡＣアドレスの組み合わせである。この例において、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２は、インタリンクインタフェースを介して相互接続されている。幾つかの実装において、インタリンクインタフェースは、イーサネット（登録商標）インタフェースである。
【００３０】
ストレージプール（例えば、１０２または１０３）のドライブ１  １１１のポート１が、２つの個別のインタフェースを介して、ファブリックスイッチ１  １０９−１と、ファブリックスイッチ２  １０９−２との両方に接続されている。幾つかの例において、２つの個別のインタフェースは、ＳＡＳインタフェース、ＰＣＩｅインタフェースまたは他のタイプのハードドライブインタフェースである。
【００３１】
ファブリックスイッチ１  １０９−１は、ＳＡＳインタフェースを介してコンピュータシステム１  １０５−１に接続されている。一方、ファブリックスイッチ２  １０９−２は、別のＳＡＳインタフェースを介してコンピュータシステム２  １０５−２に接続されている。図１Ｂのトポロジーにおいて、ドライブ１  １１１は、２つの個別のファブリックスイッチ／コンピュータシステム対（例えば、ファブリックスイッチ１  １０９−１／コンピュータシステム１  １０５−１、およびファブリックスイッチ２  １０９−２／コンピュータシステム１０５−２）と関連付けられる。特定ユーザからの要求の受信に応じて、データ管理用のソフトウェアまたはモジュールは、ドライブ１  １１１と、ファブリックスイッチ１  １０９−１と、ファブリックスイッチ２  １０９−２と、コンピュータシステム１  １０５−１と、コンピュータシステム２  １０５−２とに少なくとも基づいて、その要求をサポートする、データセンタ１００Ｂのリソースを構成することができる。
【００３２】
従って、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２の一方に異常があったとしても、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２の他方が、能動的・受動的冗長性のサポートを引き継ぐことができる。同様に、コンピュータシステム１  １０５−１およびコンピュータシステム２  １０５−２の一方に異常があったとしても、コンピュータシステム１  １０５−１およびコンピュータシステム２  １０５−２の他方が引き継ぐことができる。
【００３３】
図１Ｃは、図１Ａに示すようなデータセンタ内のストレージプールと、ファブリックスイッチと、コンピュータシステムとの間における、本開示の幾つかの実装に係る別の例示的なアーキテクチャ１００Ｃを示す、概略ブロック図である。この例では、データ管理用のソフトウェアまたはモジュールが、同一の筐体ＩＤを有する少なくとも２つのファブリックスイッチ（例えば、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２）を決定することができる。この例において、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２は、インタリンクインタフェース（例えば、イーサネット（登録商標）インタフェース）を介して相互接続されている。
【００３４】
ストレージプール（例えば、１０２または１０３）のドライブ１  １１１のポート１は、２つの個別のインタフェース（例えば、ＳＡＳインタフェース）を介して、ファブリックスイッチ１  １０９−１と、ファブリックスイッチ２  １０９−２との両方に接続されている。ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２はどちらも、ＳＡＳインタフェースを介して、コンピュータシステム１  １０５−１に接続されている。
【００３５】
図１Ｃのトポロジーにおいて、ドライブ１  １１１は、２つの個別のファブリックスイッチ、すなわちファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２を介して、コンピュータシステム１０５−１に接続されている。従って、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２の一方に異常があったとしても、ファブリックスイッチ１  １０９−１およびファブリックスイッチ２  １０９−２の他方が能動的・受動的冗長性のサポートを引き継ぐことができる。
【００３６】
特定ユーザからの要求の受信に応じて、データ管理用のソフトウェアまたはモジュールは、ドライブ１  １１１と、ファブリックスイッチ１  １０９−１と、ファブリックスイッチ２  １０９−２と、コンピュータシステム１  １０５−１とに少なくとも基づいて、その要求をサポートする、データセンタ１００Ｂのリソースを構成することができる。
【００３７】
図１Ａから図１Ｃの例示的なシステム１００Ａ−１００Ｃには特定のコンポーネントしか示していないが、データを処理もしくは記憶すること、信号を受信もしくは伝送すること、または下流コンポーネントに新たな通信（ｆｒｅｓｈ  ａｉｒ）を提供することができる様々なタイプの電子コンポーネントまたはコンピューティング・コンポーネントも、例示的なシステム１００Ａ−１００Ｃは含むことができる。更に、例示的なシステム１００Ａ−１００Ｃにおける電子コンポーネントまたはコンピューティング・コンポーネントは、様々なタイプのアプリケーションを実行するように構成されてよく、かつ／または、様々なタイプのオペレーティングシステムを使用することができる。これらのオペレーティングシステムには、限定はされないが、Ａｎｄｒｏｉｄ（登録商標）、ＢＳＤ（Ｂｅｒｋｅｌｅｙ  Ｓｏｆｔｗａｒｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）、ｉＯＳ（ｉＰｈｏｎｅ（登録商標）ＯＳ）、Ｌｉｎｕｘ（登録商標）、ＯＳ  Ｘ、Ｕｎｉｘ（登録商標）系リアルタイム・オペレーティングシステム（例えば、ＱＮＸ）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗ  ＰｈｏｎｅおよびＩＢＭ  ｚ／ＯＳを挙げることができる。
【００３８】
例示的なシステム１００Ａ−１００Ｃに所望される実装に応じて、限定はされないが、ＴＣＰ／ＩＰ、ＯＳＩ（開放型システム間相互接続）、ＦＴＰ（ファイル転送プロトコル）、ＵＰｎＰ（ユニバーサルプラグアンドプレイ）、ＮＦＳ（ネットワークファイルシステム）、ＣＩＦＳ（共通インターネットファイルシステム）、ＡｐｐｌｅＴａｌｋ等を含む様々なネットワーキングプロトコルおよびメッセージングプロトコルを使用することができる。当業者であれば解るように、図１Ａから図１Ｃに示す例示的なシステム１００Ａ−１００Ｃは、解説のために使用している。従って、ネットワークシステムは、多くの変形形態で適宜実装され得るが、それでもなお、本開示の様々な例に従ってネットワークプラットフォームの構成を提供することができる。
【００３９】
図１Ａから図１Ｃの例示的な構成において、例示的なシステム１００Ａ−１００Ｃは、特定の無線チャネルのコンピューティング範囲内で１つまたは複数の電子デバイスと通信するように動作する１つまたは複数の無線コンポーネントも含むことができる。無線チャネルは、デバイスによる無線通信を可能とするために使用される、Ｂｌｕｅｔｏｏｔｈ（登録商標）、セルラ、ＮＦＣまたはＷｉ−Ｆｉチャネル等の任意の適切なチャネルであってよい。デバイスは、当技術分野で知られているような、１つまたは複数の従来の有線通信接続を有することができるものと理解すべきである。様々な他の要素および／または組み合わせも様々な例の範囲内で考えられる。
【００４０】
上記の説明は、本開示の原理および様々な例を示すものであることを想定している。ひとたび上記の開示を十分に理解すれば、多数の変形形態および修正が明らかになるであろう。
【００４１】
図２Ａは、データ管理用のソフトウェアまたはモジュールを使用して、データセンタ内のデータセンタリソースを自動的に構成するための、本開示の実装に係る例示的な方法２００Ａである。例示的な方法２００Ａは、単に例示目的で提示したものであり、本開示に係る他の方法には、同様の順序もしくは代替的な順序で、または並行して実行される更なるステップ、これより少ないステップ、または代替的なステップを含むことができるものと理解すべきである。例示的な方法２００Ａは、データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤ（識別情報）を収集するステップ２０２から始まる。幾つかの例において、筐体ＩＤは、対応するファブリックスイッチのイーサネット（登録商標）インタフェースの少なくとも１つのＭＡＣ（メディアアクセス制御）アドレス、またはＵＵＩＤ（汎用一意識別子）の組み合わせである。
【００４２】
ステップ２０４において、データ管理用のソフトウェアまたはモジュールは、図１Ｂに示すような複数のファブリックスイッチの中から複数のファブリックスイッチ対を決定することができる。複数のファブリックスイッチ対はそれぞれ、同一の筐体ＩＤを有する。ステップ２０６において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｂに示すようなデータセンタ内の複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集することができる。
【００４３】
ステップ２０８において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｂに示すような複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、複数のドライブのうちの少なくとも１つのドライブを選択することができる。ステップ２１０において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｂに示すような、少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタの第１コンピュータシステムとを関連付けることができる。ステップ２１２において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｂに示すような、少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタの第２コンピュータシステムとを関連付けることができる。
【００４４】
ステップ２１４において、データ管理用のソフトウェアまたはモジュールは、ユーザデバイスから要求を受信することができる。要求の受信に応じて、データ管理用のソフトウェアまたはモジュールは、少なくとも１つのドライブと、少なくとも１つのファブリックスイッチ対と、第１コンピュータシステムと、第２コンピュータシステムとに少なくとも基づいて、その要求をサポートする、データセンタのリソースを構成することができる。
【００４５】
幾つかの例において、コンピュータ実装方法２００Ａは、第１コンピュータシステムに異常があると判定する段階と、少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチと、第２コンピュータシステムとに少なくとも基づいて、要求をサポートする段階とを更に含む。
【００４６】
幾つかの他の例において、コンピュータ実装方法２００Ａは、少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチに異常があると判定する段階と、少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチと、第２コンピュータシステムとに少なくとも基づいて、要求をサポートする段階とを更に含む。
【００４７】
図２Ｂは、データ管理用のソフトウェアまたはモジュールを使用して、データセンタ内のデータセンタリソースを自動的に構成するための、本開示の実装に係る別の例示的な方法２００Ｂである。例示的な方法２００Ｂは、データセンタ内の複数のファブリックスイッチそれぞれの筐体ＩＤ（識別情報）を収集するステップ２２２から始まる。
【００４８】
ステップ２２４において、データ管理用のソフトウェアまたはモジュールは、図１Ｃに示すような複数のファブリックスイッチの中から複数のファブリックスイッチ対を決定することができる。複数のファブリックスイッチ対はそれぞれ、同一の筐体ＩＤを有する。ステップ２２６において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｃに示すようなデータセンタ内の複数のファブリックスイッチ対と複数のドライブとの間の接続状態を収集することができる。
【００４９】
ステップ２２８において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｃに示すような複数のファブリックスイッチ対のうち少なくとも１つのファブリックスイッチ対の両方のファブリックスイッチに接続されている、複数のドライブのうちの少なくとも１つのドライブを選択することができる。ステップ２３０において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｃに示すような少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタのコンピュータシステムとを関連付けることができる。ステップ２３２において、データ管理用のソフトウェアまたはモジュールは、図１Ａおよび図１Ｃに示すような少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチを介して、少なくとも１つのドライブと、データセンタのコンピュータシステムとを関連付けることができる。
【００５０】
ステップ２３４において、データ管理用のソフトウェアまたはモジュールは、ユーザのユーザデバイスから要求を受信することができる。要求の受信に応じて、データ管理用のソフトウェアまたはモジュールは、少なくとも１つのドライブと、少なくとも１つのファブリックスイッチ対と、コンピュータシステムとに少なくとも基づいて、その要求をサポートする、データセンタのリソースを構成することができる。
【００５１】
幾つかの例において、コンピュータ実装方法２００Ｂは、少なくとも１つのファブリックスイッチ対の一方のファブリックスイッチに異常があると判定する段階と、少なくとも１つのファブリックスイッチ対の他方のファブリックスイッチに少なくとも基づいて、要求をサポートする段階とを更に含む。
【００５２】
本明細書では、図３および図４に示すような例示的なシステムおよびネットワークの簡単な導入的説明を開示する。本明細書では、様々な例を記載しながらこれらの変形形態について説明するものとする。ここで、本開示の図３を参照する。
【００５３】
図３には、例示的なコンピューティングシステム３００を示す。ここでは、当該コンピューティングシステムのコンポーネントが、バス３０２を使用して互いに電気的に通信している。システム３００は、処理ユニット（ＣＰＵまたはプロセッサ）３３０、および、システムメモリ３０４（例えば、リードオンリメモリ（ＲＯＭ）３０６およびランダムアクセスメモリ（ＲＡＭ）３０８）を含む様々なシステムコンポーネントと、プロセッサ３３０とを結合するシステムバス３０２を備える。システム３００は、プロセッサ３３０と直接接続された、プロセッサ３３０に極近接した、またはプロセッサ３３０の一部として統合された高速メモリのキャッシュを含むことができる。システム３００は、プロセッサ３３０が迅速にアクセスできるように、メモリ３０４および／またはストレージデバイス３１２からキャッシュ３２８にデータをコピーすることができる。このように、キャッシュにより、データを待っている間のプロセッサ３３０の性能を強化することができる。これらおよび他のモジュールは、様々な動作を実行するプロセッサ３３０を制御してもよいし、制御するように構成されてもよい。他のシステムメモリ３０４も利用できることがある。メモリ３０４には、異なる性能特性を有する、複数の異なるタイプのメモリを挙げることができる。プロセッサ３３０は、任意の汎用プロセッサ、ならびに、ストレージデバイス３１２に埋め込まれたモジュール１  ３１４、モジュール２  ３１６、およびモジュール３  ３１８等のハードウェアモジュールまたはソフトウェアモジュールを含むことができる。ハードウェアモジュールまたはソフトウェアモジュールは、プロセッサ３３０、および実際のプロセッサ設計にソフトウェア命令を組み込んだ特定用途向けプロセッサを制御するように構成されている。プロセッサ３３０は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュ等を含む、完全に自己完結型のコンピューティングシステムであってよい。マルチコアプロセッサは、対称型であっても非対称型であってもよい。
【００５４】
ユーザがコンピューティングデバイス３００とインタラクトできるよう、入力デバイス３２０を入力機構として提供する。入力デバイス３２０には、会話用のマイク、ジェスチャー入力または図形入力用のタッチセンサ式画面、キーボード、マウス、モーション入力等を挙げることができる。幾つかの事例では、多様なシステムにより、ユーザが複数のタイプの入力を提供してシステム３００と通信することが可能となり得る。この例では、出力デバイス３２２も提供する。通信インタフェース３２４は、ユーザ入力およびシステム出力を統制および管理することができる。
【００５５】
ストレージデバイス３１２は、コンピュータからアクセス可能なデータを記憶する不揮発性メモリであってよい。ストレージデバイス３１２は、磁気カセット、フラッシュメモリカード、ソリッドステート・メモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）３０８、リードオンリメモリ（ＲＯＭ）３０６およびこれらの掛け合わせであってよい。
【００５６】
コントローラ３１０は、ＢＭＣ（ベースボード管理コントローラ）等の、システム３００上の特化したマイクロコントローラまたはプロセッサであってよい。幾つかの場合において、コントローラ３１０は、インテリジェント・プラットフォーム管理インタフェース（ＩＰＭＩ）の一部であってよい。更に、幾つかの場合において、コントローラ３１０は、システム３００のマザーボードまたはメイン回路基板に埋め込むことができる。コントローラ３１０は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理することができる。コントローラ３１０は、以下に更に説明するように、コントローラまたは周辺コンポーネント等の様々なシステムデバイスおよびシステムコンポーネント（内部および／または外部）と通信することもできる。
【００５７】
コントローラ３１０は、通知、アラートおよび／またはイベントに対する特定の応答を生成すること、ならびに、遠隔のデバイスまたはコンポーネント（例えば、電子メールメッセージ、ネットワークメッセージ等）と通信して自動ハードウェアリカバリ手順等に関する命令またはコマンドを生成することができる。以下に更に説明するように、管理者がコントローラ３１０と遠隔的に通信して、特定のハードウェアリカバリ手順または動作を開始または実行することもできる。
【００５８】
コントローラ３１０は、コントローラ３１０が受信したイベント、アラートおよび通知を管理および維持するためのシステムイベントログ・コントローラならびに／またはシステムイベントログ・ストレージを含むこともできる。例えば、コントローラ３１０またはシステムイベントログ・コントローラは、１つまたは複数のデバイスおよびコンポーネントからアラートまたは通知を受信すること、および、そのアラートまたは通知をシステムイベントログ・ストレージコンポーネントに維持することができる。
【００５９】
フラッシュメモリ３３２は、システム３００がストレージおよび／またはデータ転送のために使用できる電子的不揮発性コンピュータストレージ媒体またはチップであってよい。フラッシュメモリ３３２は、電気的に消去および／または再プログラムすることができる。フラッシュメモリ３３２には、例えば、ＥＰＲＯＭ（消去可能プログラマブル・リードオンリメモリ）、ＥＥＰＲＯＭ（電気的消去可能プログラマブル・リードオンリメモリ）、ＲＯＭ、ＮＶＲＡＭまたはＣＭＯＳ（相補型金属酸化膜半導体）を挙げることができる。フラッシュメモリ３３２は、システム３００の最初の電源投入時にシステム３００が実行するファームウェア３３４を、ファームウェア３３４のために指定された一組の構成と共に記憶することができる。フラッシュメモリ３３２は、ファームウェア３３４が使用する構成も記憶することができる。
【００６０】
ファームウェア３３４は、基本入出力システム、またはＥＦＩ（エクステンシブル・ファームウェアインタフェース）もしくはＵＥＦＩ（ユニファイド・エクステンシブル・ファームウェアインタフェース）等の同等物を含むことができる。ファームウェア３３４は、システム３００の起動ごとに、シーケンスプログラムとしてロードおよび実行されてよい。ファームウェア３３４は、一組の構成に基づいて、システム３００に存在するハードウェアを認識、初期化およびテストすることができる。ファームウェア３３４は、システム３００上でＰＯＳＴ（パワーオンセルフテスト）等のセルフテストを実行することができる。このセルフテストでは、ハードディスクドライブ、光学読み取りデバイス、冷却デバイス、メモリモジュールおよび拡張カード等といった様々なハードウェアコンポーネントの機能をテストすることができる。ファームウェア３３４は、オペレーティングシステム（ＯＳ）を記憶するために、メモリ３０４、ＲＯＭ３０６、ＲＡＭ３０８および／またはストレージデバイス３１２内の領域をアドレス指定することおよび割り当てることができる。ファームウェア３３４は、ブートローダおよび／またはＯＳをロードすること、ならびに、そのＯＳにシステム３００の制御を渡すことができる。
【００６１】
システム３００のファームウェア３３４は、システム３００内の様々なハードウェアコンポーネントをファームウェア３３４がどのように制御するかを定義するファームウェア構成を含むことができる。このファームウェア構成は、システム３００内の様々なハードウェアコンポーネントを起動する順序を決定することができる。ファームウェア３３４は、ファームウェアのデフォルト構成におけるパラメータとは異なり得る、様々な異なるパラメータの設定を可能にする、ＵＥＦＩ等のインタフェースを提供することができる。例えば、ユーザ（例えば、管理者）は、ファームウェア３３４を使用してクロックおよびバスの速度を指定すること、システム３００に取り付ける周辺機器を定義すること、健康状態（例えば、ファンの速度、およびＣＰＵの温度限界）のモニタリングを設定すること、ならびに／または、システム３００の全体的な性能および電力使用量に影響を及ぼす様々な他のパラメータを提供することができる。ファームウェア３３４は、フラッシュメモリ３３２に記憶されているように示してあるが、メモリ３０４またはＲＯＭ３０６等の他のメモリコンポーネントにも記憶できることを当業者であれば容易に認識するであろう。
【００６２】
システム３００は、１つまたは複数のセンサ３２６を含むことができる。１つまたは複数のセンサ３２６には、例えば、１つまたは複数の温度センサ、サーマルセンサ、酸素センサ、化学センサ、ノイズセンサ、熱センサ、電流センサ、電圧検出器、空気流量センサ、流量センサ、赤外線温度計、熱流束センサ、温度計、パイロメータ等を挙げることができる。１つまたは複数のセンサ３２６は、例えば、バス３０２を介して、プロセッサ、キャッシュ３２８、フラッシュメモリ３３２、通信インタフェース３２４、メモリ３０４、ＲＯＭ３０６、ＲＡＭ３０８、コントローラ３１０およびストレージデバイス３１２と通信することができる。１つまたは複数のセンサ３２６は、集積回路間通信（Ｉ２Ｃ）および汎用出力（ＧＰＯ）等といった１つまたは複数の異なる手段で、システム内の他のコンポーネントとも通信することができる。システム３００上の様々なタイプのセンサ（例えば、センサ３２６）が、冷却ファンの速度、電力の状態、オペレーティングシステム（ＯＳ）の状態、ハードウェアの状態等といったパラメータについて、コントローラ３１０に報告することもできる。
【００６３】
図４には、ここで説明する方法または動作を実行する際に、およびグラフィカル・ユーザインタフェース（ＧＵＩ）を生成および表示する際に使用できるチップセットアーキテクチャを有する例示的なコンピュータシステム４００を示す。コンピュータシステム４００は、ここで開示する技術を実装するために使用できるコンピュータのハードウェア、ソフトウェアおよびファームウェアを含むことができる。システム４００は、特定の計算を実行するように構成されたソフトウェア、ファームウェアおよびハードウェアを実行できる物理的および／または論理的に異なる様々なリソースを表す、プロセッサ４１０を含むことができる。プロセッサ４１０は、プロセッサ４１０への入力およびプロセッサ４１０からの出力を制御できるチップセット４０２と通信することができる。この例において、チップセット４０２は、ディスプレイ等の出力デバイス４１４に情報を出力し、ストレージデバイス４１６に対する情報を読み取ること、および書き込むことができる。ストレージデバイス４１６は、例えば、磁気媒体およびソリッドステート媒体を含むことができる。チップセット４０２は、ＲＡＭ４１８からデータを読み取ること、およびＲＡＭ４１８にデータを書き込むこともできる。様々なユーザインタフェース・コンポーネント４０６とインタフェース接続するためのブリッジ４０４を設けることにより、チップセット４０２とインタフェース接続することができる。ユーザインタフェース・コンポーネント４０６には、キーボード、マイク、タッチ式の検出回路および処理回路、ならびにマウス等のポインティングデバイスを挙げることができる。
【００６４】
チップセット４０２は、異なる物理インタフェースを有し得る１つまたは複数の通信インタフェース４０８ともインタフェース接続することができる。このような通信インタフェースには、有線および無線ローカルエリアネットワーク、ブロードバンド無線ネットワークおよびパーソナルエリアネットワークのためのインタフェースを挙げることができる。更に、この機械は、ユーザインタフェース・コンポーネント４０６を介してユーザからの入力を受信することができ、かつ、プロセッサ４１０を使用してこれらの入力を解釈することにより、ブラウジング機能等の適切な機能を実行することができる。
【００６５】
更に、チップセット４０２は、電源投入時にコンピュータシステム４００によって実行され得るファームウェア４１２と通信することもできる。ファームウェア４１２は、一組のファームウェア構成に基づいて、コンピュータシステム４００に存在するハードウェアを認識、初期化およびテストすることができる。ファームウェア４１２は、システム４００上でＰＯＳＴ等のセルフテストを実行することができる。セルフテストでは、様々なハードウェアコンポーネント４０２−４１８の機能をテストすることができる。ファームウェア４１２は、ＯＳを記憶するために、メモリ４１８内の領域をアドレス指定することおよび割り当てることができる。ファームウェア４１２は、ブートローダおよび／またはＯＳをロードすること、ならびにそのＯＳにシステム４００の制御を渡すことができる。幾つかの場合において、ファームウェア４１２は、ハードウェアコンポーネント４０２−４１０および４１４−４１８と通信することができる。ここで、ファームウェア４１２は、チップセット４０２および／または１つもしくは複数の他のコンポーネントを介して、ハードウェアコンポーネント４０２−４１０および４１４−４１８と通信することができる。幾つかの場合において、ファームウェア４１２は、ハードウェアコンポーネント４０２−４１０および４１４−４１８と直接通信することができる。
【００６６】
例示的なシステム３００および４００は、１つより多くのプロセッサ（例えば、３３０、４１０）を有してよいこと、または、より高い処理能力を提供するために共にネットワーク接続された一群または一団のコンピューティングデバイスの一部であってよいことが解る。
【００６７】
解説を分かり易くするために、幾つかの事例では、本開示を個別の機能ブロック、またはハードウェアとソフトウェアとの組み合わせを含んでいるものとして提示することがある。このような個別の機能ブロックは、機能ブロック、デバイス、および／またはソフトウェアで具現化する方法におけるデバイスコンポーネント、ステップもしくはルーチンを含む。
【００６８】
幾つかの実施形態において、コンピュータ可読ストレージデバイス、媒体、およびメモリは、ビットストリーム等を含む有線または無線信号を備えることができる。しかしながら、非一時的コンピュータ可読ストレージ媒体について述べる場合は、エネルギー、キャリア信号、電磁波、および信号そのもの等の媒体を明示的に除外する。
【００６９】
上記の例に係る方法は、コンピュータ可読媒体に記憶された、またはそうでなければ、コンピュータ可読媒体から得られるコンピュータ実行可能命令を使用して実装することができる。このような命令には、例えば、汎用コンピュータ、特定用途向けコンピュータ、もしくは特定用途向け処理デバイスに一定の機能もしくは一群の機能を実行させる、またはそうでなければ、汎用コンピュータ、特定用途向けコンピュータ、もしくは特定用途向け処理デバイスが一定の機能もしくは一群の機能を実行するように構成する、命令およびデータを挙げることができる。ここで使用するコンピュータリソースの一部分は、ネットワーク上でアクセス可能であってよい。コンピュータ実行可能命令は、例えば、アセンブリ言語のファームウェアコードまたはソースコード等の、バイナリおよび中間フォーマット命令であってよい。
【００７０】
これらの開示に係る方法を実装するデバイスは、ハードウェア、ファームウェア、および／またはソフトウェアを含むこと、ならびに、様々なフォームファクタのうち何れかを採用することができる。このようなフォームファクタの典型的な例には、ラップトップ、スマートフォン、スモールフォームファクタ・パーソナルコンピュータ、携帯情報端末、ラックマウントデバイス、スタンドアロンデバイス等がある。本明細書で説明する機能は、周辺機器またはアドインカードでも具現化することができる。このような機能は、更なる例として、様々なチップ間の回路基板上に、または単一のデバイスで実行される様々なプロセスで実装することもできる。
【００７１】
様々な例は更に、多種多様な動作環境で実装することができる。これらの動作環境には、場合によって、幾つかのアプリケーションのうち何れかを動作させるために使用できる１つまたは複数のサーバコンピュータ、ユーザコンピュータまたはコンピューティングデバイスを挙げることができる。ユーザデバイスまたはクライアントデバイスには、標準的なオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ等の幾つかの汎用パーソナルコンピュータのうち何れか、ならびに、幾つかのネットワーキングプロトコルおよびメッセージングプロトコルをサポートできる、モバイルソフトウェアを実行するセルラデバイス、無線デバイスおよびハンドヘルドデバイスを挙げることができる。このようなシステムは、様々な市販のオペレーティングシステムのうち何れかを実行する幾つかのワークステーション、ならびに、開発およびデータベース管理等を目的とした他の公知のアプリケーションも含むことができる。これらのデバイスには、ダミーターミナル、シンクライアント、ゲームシステム、およびネットワークを介して通信できる他のデバイス等、他の電子デバイスも挙げることができる。
【００７２】
複数の例またはこれらの一部分をハードウェアに実装する限り、本開示は、データ信号に対して論理機能を実装するための論理ゲートを有するディスクリート論理回路、適切な組み合わせの論理ゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）のようなプログラマブルハードウェア、フィールド・プログラマブルゲートアレー（ＦＰＧＡ）等の技術のうち１つ、またはこれらの技術の組み合わせで実装することができる。
【００７３】
ほとんどの例では、ＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、ＡｐｐｌｅＴａｌｋ等といった様々な市販のプロトコルを使用した通信をサポートするために、当業者であればよく知っているような少なくとも１つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話ネットワーク、赤外線ネットワーク、無線ネットワークおよびこれらの任意の組み合わせであってよい。
【００７４】
これらの技術に係る方法を実装するデバイスは、ハードウェア、ファームウェアおよび／またはソフトウェアを含むこと、ならびに、様々なフォームファクタを採用することができる。このようなフォームファクタの典型的な例には、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタ・パーソナルコンピュータ、携帯情報端末等がある。本明細書で説明する機能は、周辺機器またはアドインカードでも具現化することができる。このような機能は、更なる例として、様々なチップ間の回路基板上に、または単一のデバイスで実行する様々なプロセスで実装することもできる。
【００７５】
ウェブサーバを利用する例において、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａ（登録商標）サーバおよびビジネスアプリケーションサーバを含む様々なサーバアプリケーションまたはミッドティアアプリケーションを実行することができる。ユーザデバイスからの要求に応じて、ウェブサーバは、プログラムまたはスクリプトも実行可能であってよい。例えば、ウェブサーバは、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃もしくはＣ＋＋等の任意のプログラム言語、またはＰｅｒｌ、ＰｙｔｈｏｎもしくはＴＣＬ等の任意のスクリプト言語、およびこれらの組み合わせで書き込まれた１つまたは複数のスクリプトまたはプログラムとして実装できる、１つまたは複数のウェブアプリケーションを実行することができる。ウェブサーバには、一般市場で市販されているデータベースサーバを含む、データベースサーバを挙げることもできる。
【００７６】
サーバシステムは、上記のような様々なデータストアならびに他のメモリおよびストレージ媒体を含むことができる。これらは、コンピュータのうち１つもしくは複数のローカルの（および／または、その中にある）ストレージ媒体上、またはネットワーク全体のコンピュータから離れた所にあるストレージ媒体上等、様々な位置にあってよい。ある特定の一組の例において、情報は、当業者であればよく知っているようなストレージエリアネットワーク（ＳＡＮ）内にあってよい。同様に、コンピュータ、サーバまたは他のネットワークデバイスに帰属する機能を実行するのに必要な任意のファイルを、ローカルにおよび／または遠隔的に適宜記憶することができる。コンピュータ化されたデバイスをシステムが含む場合、このようなデバイスはそれぞれ、バスを介して電気的に結合され得る、例えば、少なくとも１つの中央演算処理装置（ＣＰＵ）、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチセンサ式ディスプレイ要素またはキーパッド）および少なくとも１つの出力デバイス（例えば、ディスプレイデバイス、プリンタまたはスピーカ）を含む、ハードウェア要素を備えることができる。このようなシステムは、ディスクドライブ、光学ストレージデバイス、およびランダムアクセスメモリ（ＲＡＭ）またはリードオンリメモリ（ＲＯＭ）等のソリッドステート・ストレージデバイス、ならびに、取り外し可能な媒体デバイス、メモリカード、フラッシュカード等といった、１つまたは複数のストレージデバイスも含むことができる。
【００７７】
コードまたはコードの一部分を含むストレージ媒体およびコンピュータ可読媒体には、当技術分野で知られている、または使用されている、ストレージ媒体およびコンピューティング媒体を含む任意の適切な媒体を挙げることができる。ストレージ媒体およびコンピューティング媒体には、限定はされないが、データまたは情報をストレージおよび／または伝送のための取り外し可能な媒体および取り外し不可能な媒体を挙げることができる。取り外し可能な媒体および取り外し不可能な媒体として、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイスが挙げられる。取り外し可能な媒体および取り外し不可能な媒体は、システムデバイスからアクセスできる所望の情報を記憶するために使用することができる。データまたは情報には、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを挙げることができる。本明細書で提供する技術および教示に基づいて、当業者であれば、本開示の様々な態様を実装する他の手段および／または方法が解るであろう。
【００７８】
これに応じて、本明細書および図面は、限定的な意味ではなく例示的な意味のものと見なすべきである。しかしながら、本明細書および図面に対する様々な修正および変更が、特許請求の範囲に記載するような、本特許出願のより広い思想および範囲から逸脱することなく行えることは明らかであろう。
【図１Ａ】
2019036943.tif 000003
【図１Ｂ】
2019036943.tif 000004
【図１Ｃ】
2019036943.tif 000005
【図２Ａ】
2019036943.tif 000006
【図２Ｂ】
2019036943.tif 000007
【図３】
2019036943.tif 000008
【図４】
2019036943.tif 000009