(57)【要約】【課題】ディスクレスコンピュータシステムのスマートラックアーキテクチャを提供する。【解決手段】リモートストレージデバイスをラック内のコンピューティングデバイスに効率的に割り当てるシステム及び方法が開示される。エンドオブラックスイッチは、物理的ストレージデバイスと、ストレージサービスと、を含む。スイッチは、コンピューティングサーバのネットワークインタフェースカードに接続されたポートを含む。ストレージサービスは、各コンピューティングサーバが物理ストレージデバイスにアクセスするのを可能にする。ネットワークインタフェースカードは、異なるストレージボリュームにアクセスするのを可能にするように仮想ストレージコントローラ内に構成されたコントローラを含む。【選択図】図４
2020013564.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートと、複数の物理ストレージデバイスと、前記複数の物理ストレージデバイスを管理するように動作可能なストレージサービスと、を有するスイッチと、
プロセッサと、ネットワークポートと、前記スイッチの１つのポートに接続することができるネットワークインタフェースカードと、をそれぞれ有する複数のコンピューティングデバイスであって、前記スイッチは、複数のコンピューティングデバイスをネットワークで結ぶように動作可能である、複数のコンピューティングデバイスと、を備え、
前記ストレージサービスは、前記コンピューティングデバイスの各々のプロセッサが、少なくとも１つの物理ストレージデバイスに対してローカルストレージとしてアクセスするのを可能にする、ことを特徴とするストレージシステム。
【請求項２】
前記ネットワークインタフェースカードは、コントローラと、仮想ストレージスイッチと、を含み、前記仮想ストレージスイッチは、前記コントローラが前記ストレージサービスと通信するのを可能にし、
前記コントローラは、前記複数の物理ストレージデバイスから生成された仮想ボリュームにそれぞれ対応する複数の仮想ストレージコントローラに構成されるように動作可能な構成可能ハードウェアデバイスであることを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記スイッチは、前記コンピューティングデバイスのうち１つのコンピューティングデバイスのベースボード管理コントローラからポートＩＤを読み取り、前記コンピューティングデバイスが、前記コンピューティングデバイスに接続された前記スイッチポートを介して、前記物理ストレージデバイスにアクセスすることのみを可能にすることによって、ポートセキュリティを提供することを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記コンピューティングデバイスは、コンピューティングサーバであり、前記コンピューティングサーバ及び前記スイッチは、ラックに搭載されており、
前記複数の物理ストレージデバイスは、ハードディスクドライブ及びソリッドステートドライブのうち何れかであることを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記ストレージサービスは、前記コンピューティングデバイスのうち１つのコンピューティングデバイスから要求を受信して、前記複数の物理ストレージデバイスから新たなストレージボリュームを生成するように動作可能であり、前記ストレージサービスは、要求元のコンピューティングデバイスによってアクセス可能な新たなストレージボリュームを生成するように動作可能であることを特徴とする請求項１に記載のストレージシステム。
【請求項６】
コンピューティングデバイスのスイッチ内の物理ストレージデバイスへのリモートアクセスを提供する方法であって、
複数のコンピューティングデバイスの各々を、スイッチのポートのアレイの対応するポートに接続する工程と、
前記スイッチを介して接続された複数のコンピューティングデバイスの各々にネットワーク接続を提供する工程と、
少なくとも１つの前記物理ストレージデバイスを、前記スイッチ上のストレージサービスを介して前記コンピューティングデバイスに割り当てる工程と、
少なくとも１つの前記物理ストレージデバイスを、前記ストレージサービスを介して別のコンピューティングデバイスに再割り当てする工程と、
を含むことを特徴とする方法。
【請求項７】
前記スイッチは、トップオブラックスイッチ及びエンドオブロースイッチのうち何れかであり、
前記物理ストレージデバイスは、ハードディスクドライブ及びソリッドステートドライブのうち何れかであることを特徴とする請求項６に記載の方法。
【請求項８】
前記コンピューティングデバイスは、コントローラと、仮想ストレージスイッチとを有するネットワークインタフェースカードを含み、前記仮想ストレージスイッチは、前記コントローラが前記ストレージサービスと通信するのを可能にし、
前記コントローラは、構成可能ハードウェアデバイスであり、前記方法は、前記コントローラを、前記複数の物理ストレージデバイスから生成された仮想ボリュームにそれぞれ対応する複数の仮想ストレージコントローラに構成する工程をさらに含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記コンピューティングデバイスのうち１つのコンピューティングデバイスのベースボード管理コントローラからポートＩＤを読み取る工程と、
前記コンピューティングデバイスが、前記コンピューティングデバイスに接続された前記スイッチポートを介して、前記割り当てられた物理ストレージデバイスにアクセスするのを可能にする工程と、
を含むことを特徴とする請求項６に記載の方法。
【請求項１０】
前記複数の物理ストレージデバイスから仮想ストレージボリュームを生成する工程であって、前記仮想ストレージボリュームのうち１つの仮想ストレージボリュームは、前記コンピューティングデバイスに割り当てられている、工程を含むことを特徴とする請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、フレキシブルストレージシステムに関し、特に、ラックスイッチ内にストレージサービスを有し、ラック内のコンピューティングノードによってアクセス可能なストレージデバイスを管理するシステムに関する。
【背景技術】
【０００２】
コンピューティングアプリケーション向けのクラウド技術の出現により、リモートで接続されたコンピュータデバイスのユーザによってアクセスされるデータを記憶し、アプリケーションを実行する、データセンタと呼ばれるオフサイトインストール（off-site installation）の需要が増加している。通常のデータセンタは、付随する電源及び通信接続（communication connection）を有する物理的なシャーシ構造を備える。各ラックは、複数のネットワークデバイス（例えば、計算、ストレージ又は制御に用いるサーバや、適切なネットワーク及び管理スイッチ等）を収容することができる。サーバによって処理されるデータが、サーバの内部ストレージデバイスの能力を超える場合、ラック内の各サーバは、データを記憶するために、リモートストレージデバイスへのアクセスを必要とすることがある。リモートストレージデバイスは、ラック内の調整されたアレイ内にセットアップすることができるが、多くの場合、これらは、ラック内の別の各コンピューティングノードに対して別々のアクセスを必要とするストレージディスクのセットである。
【０００３】
データセンタにセットアップされているものを含む従来のコンピュータシステムは、いくつかのローカルディスクを有する。このようなローカルディスクのシステムの欠点は、ローカルディスクを、元のシステム（例えば、サーバのグループ）から新たなシステム（例えば、新たなサーバのグループ）に移動する機敏性がないことである。ストレージエリアネットワーク（ＳＡＮ）アーキテクチャは、コンピュータシステムのデータのリモートストレージをサポートする構造である。ＳＡＮアーキテクチャは、ストレージデバイスの共有プール（shared pools）を複数のサーバに相互接続して提供する専用のネットワークである。このようなアーキテクチャは、ＳＡＮを介して異なるシステムに接続する際にディスクイメージが動的である可能性があるので、ローカルディスクを新たなシステムに再割り当てするという問題を解決することができる。
【０００４】
従来のＳＡＮストレージアーキテクチャは、ストレージシステム内の全ての物理ストレージデバイスのネットワークを監視するために、追加のストレージサービスデバイスを専用のストレージシステムにインストールする必要があった。例えば、ハードディスクドライブを主に含む一連のストレージベースのサーバをグループ化して、専用のストレージシステムを生成することができる。このようなストレージシステムは、現在、外部コンピューティングサーバが、ストレージサービスデバイスによって管理されるネットワークを介してストレージデバイスにアクセスすることができるようにするために、ストレージサービスデバイスを必要とする。ストレージサービスデバイスを提供するだけでなく、ストレージシステムを他のコンピューティングシステムと統合するにはコストがかかる。
【０００５】
よって、ラック構造内のコンピューティングノードによるアクセスのために、全てのローカルディスクを１つの構造内に統合し、これにより、個別のストレージサービスデバイスの必要性を排除するスマートストレージラック構造が必要とされている。さらに、ラックベースのリモートストレージシステム内の全てのローカルドライブをエミュレートするメカニズムも必要とされている。コンピュータシステムの全てのローカルディスクを同じラックに統合するのを可能にするシステムが必要である。また、コンピューティングノードをストレージシステムのストレージデバイスに接続するポートのリモートセキュリティも必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ディスクレスコンピュータシステムのスマートラックアーキテクチャを提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示される一例は、複数のポートを有するスイッチと、複数の物理ストレージデバイスと、複数の物理ストレージデバイスを管理するように動作可能なストレージサービスと、を含むストレージシステムである。システムは、複数のコンピューティングデバイスを有する。各コンピューティングデバイスは、プロセッサと、ネットワークポートと、スイッチの１つのポートに接続されるように動作可能なネットワークインタフェースカードと、を有する。スイッチは、コンピューティングデバイスのネットワーク通信を可能にする。ストレージサービスは、各コンピューティングデバイスのプロセッサが、少なくとも１つの物理ストレージデバイスにローカルストレージとしてアクセスするのを可能にする。
【０００８】
開示される他の例は、コンピューティングデバイス用のスイッチの物理ストレージデバイスへのリモートアクセスを提供する方法である。複数のコンピューティングデバイスの各々は、スイッチのポートのアレイのうち何れかのポートに接続されている。ネットワーク通信は、スイッチを介して接続されたコンピューティングデバイスに提供される。少なくとも１つの物理ストレージデバイスは、スイッチ上のストレージサービスを介してコンピューティングデバイスに割り当てられている。少なくとも１つの物理ストレージデバイスは、ストレージサービスを介して別のコンピューティングデバイスに再割り当てされる。
【０００９】
開示される他の例は、ラックベースのコンピューティングシステムである。システムは、複数のスロットを有するラックアセンブリを含む。トップオブラックスイッチは、複数のスロットのうち１つのスロットに配置されている。トップオブラックスイッチは、複数のポートと、複数の物理ストレージデバイスと、ストレージサービスと、を含む。システムは、複数のコンピューティングサーバを含む。各コンピューティングサーバは、ラックの複数のスロットのうち対応するスロットに配置されている。複数のコンピューティングサーバの各々は、ネットワークインタフェースカードを含む。ネットワークインタフェースカードは、トップオブラックスイッチの１つのポートに接続されている。トップオブラックスイッチは、複数のコンピューティングサーバへのネットワーク通信を可能にする。ストレージサービスは、少なくとも１つの物理ストレージデバイス内のストレージを、少なくとも１つのコンピューティングサーバに割り当てる。
【００１０】
上述した概要は、本発明の各実施形態又は全ての実施態様を表すことを意図していない。むしろ、上述した概要は、本明細書に記載されるいくつかの新規な態様及び特徴の例を単に提供する。本発明の上述した特徴及び利点、並びに、他の特徴及び利点は、添付の図面及び添付の特許請求の範囲に関連して考慮される場合、本発明を実施するための代表的な実施形態及びモードの以下の詳細な説明から容易に明らかになるであろう。
【発明の効果】
【００１１】
本発明のスマートストレージラックアーキテクチャによれば、個別のストレージサービスデバイスに対する要求を削除することができる。
【００１２】
本発明は、添付の図面を参照して、例示的な実施形態の以下の説明からより良く理解されるであろう。
【図面の簡単な説明】
【００１３】
【図１】ストレージサービス機能を有するトップオブラックスイッチを有するコンピューティングノードの例示的なラックアセンブリを示す図である。
【図２】ラック内のコンピューティングノードをサポートするために、ストレージサーバを有する一連のエンドオブロースイッチを有する別のラックアセンブリを示す図である。
【図３】図１のトップオブラックスイッチのブロック図である。
【図４】図１のトップオブラックスイッチ及びコンピューティングサーバのブロック図と、コンピューティングサーバのリモートストレージボリュームをプロビジョニングするプロセスを示す図である。
【図５】異なる仮想ストレージボリュームに対して構成された図４のスマートネットワークインタフェースカードのコントローラのブロック図である。
【図６】図４のコンポーネント及びリモートセキュリティプロトコルのブロック図である。
【発明を実施するための形態】
【００１４】
本発明は、様々な変形及び代替形態の影響を受けやすい。いくつかの代表的な実施形態が例として図面に示されており、本明細書で詳細に説明される。しかし、本発明は、開示された特定の形態に限定されることを意図していないことを理解されたい。むしろ、本発明は、添付の特許請求の範囲によって定義される本発明の趣旨及び範囲に含まれる全ての変更、均等物及び代替手段を包括する。
【００１５】
本発明は、多くの異なる形態で具体化することができる。代表的な実施形態を図面に示し、本明細書で詳細に説明する。本開示は、本発明の原理の一例又は例示であり、本発明の広い態様を、図示した実施形態に限定することを意図していない。その範囲において、例えば、要約、概要及び詳細な説明に開示されているが、特許請求の範囲の明示的に記載されていない要素及び限定は、単独で又は集合的に、黙示、推論又は他の方法によって特許請求の範囲に組み込まれてはならない。本発明を詳細に説明する目的のために、特に否定しない限り、単数形は複数形を含み、その逆もまた同様である。「含む」という用語は、「制限なしに含む」ことを意味している。さらに、例えば、「約」、「殆ど」、「実施的に」、「およそ」等の近似語は、本明細書では、例えば、「〜に」、「〜に近い」、「大体」、「〜の３〜５％の範囲内」、「許容される製造公差内」、又は、これらの任意の論理的組み合わせを意味するものとして用いることができる。
【００１６】
開示された例示的なストレージシステムは、ラック内の異なるコンピュータシステムによるリモートストレージへのより効率的なアクセスを可能にする４つの主要な特徴を含む。第１の特徴は、システムは、ラック内のコンピューティングノードへのアクセスを可能にするストレージサービスを含むトップオブラック（top of the rack：ＴＯＲ）又はエンドオブラック（end of rack）／エンドオブロー（end of row：ＥＯＲ）スイッチの組み合わせを提供し、これにより、個別のストレージサービスデバイスの必要性を排除することである。スイッチは、ネットワーク内でラックデバイスを相互に接続したり、ストレージサーバを単一のボックスにまとめたりする役割を実行する。第２の特徴は、ラックコンピューティングノード用のスマートネットワークインタフェースカードを提供することである。ネットワークインタフェースカードは、仮想ストレージスイッチ（例えば、ＰＣｌｅスイッチ及び仮想不揮発性メモリコントローラ等）をサポートし、コンピューティングサーバによってアクセス可能なリモートストレージデバイスの変更を可能にする。第３の特徴は、リモートストレージ設定が、コンビネーションスイッチ内のラック管理サービス及びコンピューティングノードのベースボード管理コントローラ（ＢＭＣ）によって提供されることである。第４の特徴は、ストレージシステムが、コンピューティングノードのリモートストレージネットワークリンクのポートベースのセキュリティを、ストレージシステムに提供することである。
【００１７】
図１は、上述した特徴を組み込んだラックベースのシステムアーキテクチャ１００を示す図である。アーキテクチャ１００は、ラックユニット１１０を含む。ラックユニット１１０は、それぞれ電子デバイスを収容することができる複数のスロットを含むフレームを有する。この例において、ラックユニット１１０は、異なるコンピューティングシステム（例えば、ラックユニット１１０内のコンピューティングサーバ等）によってアクセスされるストレージデバイスを提供するために使用される。各コンピューティングサーバは、ネットワークを介して、ラックユニット１１０内のストレージデバイスに接続することができる。
【００１８】
ラックベースのシステムアーキテクチャ１００は、ラックユニット１１０の上部の２つのスロットに設置された管理スイッチ１１２及びトップオブラックスイッチ１１４を有する。トップオブラックスイッチ１１４は、外部コンピューティングシステム又はデバイスによってアクセスされ得る複数の物理ストレージデバイス（例えば、ハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＤＤ）等）を含む。以下に詳述するように、トップオブラックスイッチは、従来のネットワーキング機能を実行して、ネットワーク内のラックデバイスを接続したり、ラックデバイスがラック内のリモートストレージデバイスにアクセスできるようにストレージサービスを提供したりする。この例において、トップオブラックスイッチ１１４下方の残りのスロットは、コンピューティングノード（例えば、コンピューティングサーバ１２０，１２２，１２４，１２６等）を搭載する。
【００１９】
各コンピューティングサーバ（例えば、コンピューティングサーバ１２０等）は、処理ユニットと、付随するサポートコンポーネント（例えば、ベースボード、電源、コントローラ回路、ファン等）と、を含む。この例において、各コンピューティングサーバ（例えば、コンピューティングサーバ１２０等）は、スマートネットワークインタフェースカード（ＮＩＣ）１３０と、ベースボード管理コントローラ（ＢＭＣ）１３２と、を含む。ネットワークインタフェースカード１３０は、以下に説明するように、トップオブラックスイッチ１１４内の外部ストレージデバイスへのアクセスを可能にする。ベースボード管理コントローラ１３２は、ストレージサーバ上のコンポーネントの電源及び状態を管理し、ポート情報を管理スイッチ１１２に送信する。
【００２０】
管理スイッチ１１２は、ポートのアレイ１４０を含む。ポートのアレイ１４０内の各ポートは、ラックユニット１１０内のコンピューティングサーバ（例えば、コンピューティングサーバ１２０）のうち１つのコンピューティングサーバの管理ポートに接続することができる。管理ポートは、コンピューティングサーバの各ベースボード管理コントローラに接続され、動作データ（operational data）を管理スイッチ１１２に送信するのを可能にする。例えば、ポートアレイ１４０の１つのポートは、ケーブル１４２を介して、コンピューティングサーバ１２０上の管理ポート１４４に接続され、ベースボード管理コントローラ１３２と管理スイッチ１１２との間の通信を可能にする。
【００２１】
また、トップオブラックスイッチ１１４は、ポートのアレイ１５０を含む。ポートのアレイ１５０内の各ポートは、ラックユニット１１０内のコンピューティングサーバのうち１つのコンピューティングサーバのネットワークデータポートに接続することができる。コンピューティングサーバのネットワークデータポートは、各コンピューティングサーバのスマートネットワークインタフェースカードと通信する。例えば、ポートアレイ１５０の１つのポートは、ケーブル１５２を介して、コンピューティングサーバ１２０上のネットワークデータポート１５４に接続される。このように、トップオブラックスイッチ１１４は、ラック１１０内のコンピューティングサーバのアグリゲーションスイッチとして機能し、ラック１１０外部のデバイスとのネットワーク通信を可能にする。
【００２２】
以下に示すように、トップオブラックスイッチ１１４は、ポートに接続されたデバイスをネットワークで結ぶ、ポートアレイ１５０に接続されたネットワークコンポーネントに加えて、ストレージサービスを含む。ストレージサービスは、トップオブラックスイッチ１１４内の物理ストレージデバイスを管理する。また、ストレージサービスは、物理ストレージデバイスから生成された仮想ボリューム（virtual volume）を管理する。ストレージサービスは、物理ストレージデバイスのストレージを、ラックユニット１１０内の接続されたコンピューティングサーバの何れかにリモートで割り当てるのを可能にする。さらに、ストレージサービスは、接続されたコンピューティングサーバの何れかからの要求を介して仮想ストレージボリュームを生成し、より多くのリモートストレージを可能にする。最後に、ストレージサービスは、トップオブラックスイッチ１１４の物理ストレージデバイスから異なるコンピューティングサーバへのストレージの再割り当てを可能にする。
【００２３】
図２は、エンドオブローベース（end of row based）のコンピューティングアーキテクチャシステム２００を示す図である。システム２００は、一連のラック２１０，２１２，２１４，２１６，２１８，２２０を含む。各ラック２１０，２１２，２１４，２１６，２１８，２２０は、電子コンポーネントを収容するための複数のスロットを含む。ラック２１０は、エンドオブロースイッチを収容し、この例では、ラック２１２，２１４，２１６，２１８，２２０は、コンピューティングサーバを収容する。よって、エンドオブロースイッチ２３０，２３２，２３４は、ラック２１０内に搭載される。エンドオブロースイッチ２３０，２３２，２３４の各々は、ストレージデバイス（例えば、ハードディスクドライブやソリッドステートドライブ等）を含む。エンドオブロースイッチ２３０，２３２，２３４の各々は、ポートのアレイを有し、各ポートは、他のラック２１２，２１４，２１６，２１８，２２０内の１つのコンピューティングサーバに接続されている。例えば、ラック２２０は、複数のコンピューティングサーバ２４０を含む。各コンピューティングサーバ２４０は、ベースボード管理コントローラと、スマートネットワークインタフェースカード２４２と、を含む。ネットワークインタフェースカード２４２は、ケーブル２４４を介して１つのエンドオブロースイッチ（例えば、エンドオブロースイッチ２３０）に接続されたコンピューティングサーバ２４０上のネットワークポートに接続されている。よって、この例において、ラック２２０内のコンピューティングサーバ２４０の全ては、エンドオブロースイッチ２３０の対応するポートに接続されている。複数のラックのコンピューティングサーバは、１つのエンドオブロースイッチに接続することができる。例えば、ラック２１６及びラック２１８内のサーバは、エンドオブロースイッチ２３２のポートに接続することができる。
【００２４】
エンドオブロースイッチ２３０，２３２，２３４の各々は、接続されたデバイスの各々をネットワークで結ぶのを可能にする。また、エンドオブロースイッチ２３０，２３２，２３４の各々は、エンドオブロースイッチに接続されたコンピューティングサーバの各々が、エンドオブロースイッチ２３０，２３２，２３４の物理ストレージ又はストレージボリュームにアクセスするのを可能にするストレージサービスを含む。よって、エンドオブロースイッチ２３０，２３２，２３４の各々は、ネットワーク機能及びストレージサーバ機能の両方を実行するので、図１のトップオブラックスイッチ１１４と同様である。同様に、図２の各コンピューティングサーバは、コンピューティングサーバが、対応するエンドオブロースイッチ内の物理ストレージ又はストレージボリュームにアクセスするのを可能にするスマートネットワークインタフェースカードを含む。
【００２５】
図３は、トップオブラックスイッチ（例えば、図１のトップオブラックスイッチ１１４）のブロック図である。トップオブラックスイッチ１１４は、以下に説明するように、図１のラック１１０内のコンピューティングサーバ用のストレージ管理機能を含む。トップオブラックスイッチ１１４は、スイッチチップ３００と、オペレーティングシステム３０２と、ＣＰＵ３０４と、スイッチサービス３０６と、ラック管理サービス３０８と、ストレージサービス３１０と、ボリュームサービス３１２と、物理ディスクサービス３１４と、を含む。スイッチチップ３００は、ネットワークパケット転送を処理する。スイッチサービス３０６は、Ｌ１及びＬ３パケットの転送及びルーティングを処理する。ボリュームサービス３１２は、トップオブラックスイッチ１１４の物理ストレージユニットの分割である異なる論理ストレージボリューム３２０を管理する。物理ディスクサービス３１４は、物理ストレージデバイス３３０（例えば、トップオブラックスイッチ１１４上のハードディスクドライブ又はソリッドステートドライブ）を管理する。この例において、トップオブラックスイッチ１１４は、４つのハードディスクドライブを有しているが、トップオブラックスイッチ１１４によって管理される物理ストレージデバイスの数は、異なっていてもよい。
【００２６】
トップオブラックスイッチ１１４は、スイッチ機能を実行して、ラック１１０内のサーバをネットワークで結ぶ。しかし、ラック１１０内のサーバのパケット転送の役割のみを担う従来のイーサネット（登録商標）スイッチとは異なり、トップオブラックスイッチ１１４は、ストレージデバイスをさらに管理して、ラック１１０内のコンピューティングサーバによってアクセスされるのを可能にする。特に、トップオブラックスイッチ１１４は、図１のラック１１０内のコンピューティングサーバ（例えば、コンピューティングサーバ１２０）によってアクセスされるストレージデバイス又はストレージボリュームをさらに追加する機能を可能にする。ボリュームサービス３１２は、トップオブラック１１４の物理ストレージデバイスから論理ボリューム３２０を構築することを可能にする。ストレージサービス（例えば、インターネットスモールコンピュータシステムインタフェース（ｉＳＣＳＩ）、ＮＶＭｅｏＦ（NVME over fabric）、ＰＸＥ、又は、任意のタイプのソフトウェア定義のストレージサービス）は、論理ボリュームを、トップオブラックスイッチ１１４を介して、コンピュータシステム（例えば、コンピューティングサーバ１２０）にエクスポートすることができる。ラック管理サービス３０８は、各コンピューティングサーバのスマートネットワークインタフェースカード及びベースボード管理コントローラと協働して、コンピュータシステムに接続されたスイッチポートを識別し、ポートのセキュリティを提供することができる。上述したように、これらの特徴は、例えば図２に示すエンドオブロースイッチに実装することもできる。
【００２７】
図１に関連して上述したように、例示的なスマートネットワークインタフェースカード１３０は、仮想ストレージスイッチ（例えば、ＰＣｌｅスイッチ）と、仮想不揮発性メモリコントローラと、をサポートする。図４は、例示的なコンピューティングサーバ（例えば、スマートネットワークインタフェースカード１３０と、ベースボード管理コントローラ１３２と、を含む図１のコンピューティングサーバ１２０）のブロック図である。スマートネットワークインタフェースカード１３０は、トップオブラックスイッチ１１４に関連して示されている。図３のトップオブラックスイッチ１１４に類似するコンポーネントは、図４において同じ符号が付されている。ベースボード管理コントローラ１３２は、ケーブル１４２の形態で、ネットワークリンクを介して管理スイッチ１１２に接続されている。ネットワークインタフェースカード１３０は、ケーブル１５２の形態で、ネットワークリンクを介してトップオブラックスイッチ１１４に接続されている。また、ＴＯＲデータスイッチ１１４のラック管理サービス３０８と管理スイッチ１１２との間にネットワーク接続が存在し、管理ネットワークによって、ＢＭＣ１３２にコマンドを送信する。
【００２８】
コンピューティングサーバ１２０は、オペレーティングシステム４１２を実行するＣＰＵ４１０を含む。図４に示すように、スマートネットワークインタフェースカード１３０は、物理ＰＣｌｅスイッチ４２２とコントローラ４２４とから構成される仮想ＰＣｌｅスイッチ４２０をサポートする。この例において、コントローラ４２４は、プログラム可能なハードウェアデバイス（例えば、ＦＰＧＡ）であり、複数の仮想メモリコントローラ内に構成することができる。コントローラ４２４は、ベースボード管理コントローラ１３２に接続されており、ＰＣｌｅスイッチ４２２は、ＣＰＵ４１０に接続されている。また、スマートネットワークインタフェースカード１３０は、物理メモリデバイス４４２（例えば、トップオブラックスイッチ１１４内のハードディスクドライブ又はソリッドステートドライブ）から構成された仮想不揮発性メモリ４４０をサポートする。仮想ＰＣｌｅスイッチ４２０は、任意の適切な仮想ストレージスイッチ（例えば、ＳＡＳ（serial attached SCSI）エクスパンダ、ホストバスアダプタ（ＨＢＡ）又はＳＡＳコントローラカード等）であってもよい。
【００２９】
図５は、図４に示す複数の仮想メモリコントローラ用に構成されたメモリコントローラ４２４のブロック図である。この例において、メモリコントローラ４２４は、第１仮想ＮＶＭｅコントローラＰＣＩ機能ブロック５１０と、第２仮想ＮＶＭｅコントローラＰＣＩ機能ブロッ５１２と、第３仮想ＮＶＭｅコントローラＰＣＩ機能ブロック５１４と、第４仮想ＮＶＭｅコントローラＰＣＩ機能ブロック５１６と、に構成されている。仮想ＮＶＭｅコントローラ５１０，５１２，５１４，５１６の各々は、ＰＣｌｅスイッチ４２２のＰＣｌｅダウンストリームポート５２０，５２２，５２４，５２６の各々に接続することができる。仮想メモリコントローラ５２０は、第１ネームスペース５３０と、対応するネームＩＤ５４０と、を含む。同様に、仮想メモリコントローラ５２２，５２４，５２６の各々は、第２、第３、第４ネームスペース５３２，５３４，５３６と、対応するネームＩＤ５４２，５４４，５４６と、を含む。ネームスペース５３０，５３２，５３４，５３６は、論理ストレージボリュームに対応する。論理ストレージボリュームは、図１に示すトップオブラックスイッチ１１４の物理メモリデバイス３３０から編成される。
【００３０】
図４のスマートネットワークインタフェースカード１３０は、コンピューティングサーバ１２０のローカルＮＶＭｅディスクになり得る複数のリモートストレージターゲットをサポートすることができる。これは、物理メモリデバイスから生成された複数のボリュームをサポートするために、複数のネームスペースを有する単一のメモリコントローラを必要とする従来のシステムとは異なる。図５に示すように、この例におけるスマートネットワークインタフェースコントローラ１３０は、対応するネームスペース５３０，５３２，５３４，５３６を有する複数の仮想メモリコントローラ内に構成された単一の構成可能なハードウェアメモリコントローラ４２４を有する。図４に示すように、仮想ＰＣｌｅスイッチ４２０は、複数の仮想ＮＶＭｅエミュレーションに用いられる複数のＮＶＭｅコントローラで実現される。よって、単一のコントローラは、ホスト用の複数のＮＶＭｅデバイスをサポートするためにＰＣｌｅスイッチを必要とする単一のＮＶＭｅネームスペースを有する。他の実装は、複数のデバイスをサポートするためにＰＣｌｅスイッチを必要としない、複数のネームスペースを有する単一のコントローラである。この実装の利点は、物理ハードディスクドライブをＮＶＭｅコントローラベースで追加又は削除することができるので、動的ＮＶＭｅホットプラグ（hot plugging）エミュレーションが向上することにある。
【００３１】
図４のトップオブラックスイッチ１１４によって実装されるストレージサービスの別の特徴は、リモートストレージ設定を、外部コンピューティングノード（例えば、コンピューティングサーバ１２０）内のストレージデバイスに提供することである。スマートＮＩＣカード１３０は、ベースボード管理コントローラ１３２に対するインタフェース（例えば、Ｉ２Ｃバス、内部ネットワークインタフェースカード又はＵＡＲＴ等）を有するコントローラ４２４を含む。インタフェースは、ＢＭＣ１３２との通信を可能にし、リモートストレージ設定の提供手順の実行を可能にする。よって、ユーザが、ホストコンピューティングサーバにアクセス可能な新たなディスクを要求する場合、リモートストレージ設定の提供は、ＢＭＣ１３２によってスマートＮＩＣ１３０に実施され得る。
【００３２】
リモートターゲット設定提供プロセスは、図４の点線で示されている。先ず、ラック管理サービス３０８は、ボリュームサービス３１２及びストレージサービス３１０からの新たなボリュームを要求する（４５０）。次に、ラック管理サービス３０８は、リモートターゲット情報（例えば、ターゲット名、ターゲットＩＰアドレス、認証情報及び他の必要なリモートストレージアクセス設定等）を、管理スイッチ１１２を介して、ラック１１０内の１つのコンピューティングサーバ１２０のＢＭＣ１３２に送信する（４５２）。コンピューティングノードのＢＭＣ１３２は、リモートターゲット情報を、ネットワークインタフェースカード１３０のＮＩＣコントローラ４２４に送信する（４５４）。スマートＮＩＣコントローラ４２４は、新たな仮想ＮＶＭｅディスクを、仮想ＰＣｌｅスイッチ４２０のダウンストリームポートに生成する（４５６）。次に、コントローラ４２４は、リモートストレージアクセスプロトコルをローカルＮＶＭｅプロトコルに変換して、ＮＶＭｅディスクをエミュレートする。ＣＰＵ４１０によって実行されるＯＳ又はＢＩＯＳ４１２は、コンピューティングサーバ１２０に接続された新たなＮＶＭｅを検出することができる（４５８）。
【００３３】
リモートストレージアクセスプロトコルは、任意のタイプのネットワークブロック／ファイル／オブジェクトベースのプロトコルである。例えば、リモートアクセスプロトコルは、ブロックデバイスベースのｉＳＣＳＩ、ＮＶＭｅｏＦ、ファイルベースのコモンインターネットファイルシステム（ＣＩＦＳ）、ネットワークファイルシステム（ＮＦＳ）、又は、オブジェクトベースのストレージソフトウェア（例えば、ＣＥＰＨ等）とすることができる。
【００３４】
図６は、図１及び図４に示すシステム１００においてポートベースのセキュリティを提供するプロセスを示す図である。図６及び図４における同様のコンポーネントには、同じ符号が付されている。トップオブラックスイッチ１１４のラック管理サービス３０８は、スイッチサービス３０６及びコンピューティングサーバ（例えば、コンピューティングサーバ１２０）のＢＭＣと協働して、コンピューティングサーバ１２０のＮＩＣに接続されたトップオブラックスイッチ１１４のスイッチポートを識別することができる。後述するように、ポートベースのセキュリティ制御は、ストレージサービス３１０により実施することができる。これは、ターゲットコンピュータシステムに接続されているスイッチポートからのストレージアクセス要求のみが、そのストレージターゲットにアクセスするのを可能にする。他のアクセス要求が拒否されるので、適切なコンピューティングシステムに対するストレージ要求のセキュリティが確保される。
【００３５】
図６の太い点線は、図４に示すシステム内のポートベースのセキュリティ制御のプロセスでの様々なコンポーネント間の相互作用を示している。ネットワークインタフェースカード１３０は、ネットワークインタフェースカード１３０のメディアアクセス制御（media access control：ＭＡＣ）アドレスを有するリンクレイヤディスカバリプロトコル（ＬＬＤＰ）メッセージを、ケーブル１５２を介して、トップオブラックスイッチ１１４の接続されたスイッチポートに送信する（６００）。スイッチサービス３０６は、スイッチポートの隣接ポートのＭＡＣアドレスを、ラック管理サービス３０８に報告する（６０２）。次に、ＢＭＣ１３２は、スマートネットワークインタフェースカード１３０のコントローラ４２４から、スマートネットワークインタフェースカード１３０のＭＡＣアドレスを取得する（６０４）。ＢＭＣ１３２は、スマートネットワークインタフェースカード１３０のＭＡＣアドレスを、管理スイッチ１１２を介して、ラック管理サービス３０８に報告する（６０６）。ラック管理サービス３０８は、トップオブラックスイッチ１１４及びＢＭＣ１３２から取得したネットワークインタフェースカード１３０のＭＡＣアドレス情報に基づいて、コンピューティングサーバ１２０のネットワークインタフェースカード１３０に接続されているスイッチポート番号を識別することができる。ラック管理サービス３０８は、ターゲットコンピューティングサーバ１２０のみが、コンピューティングサーバ１２０に関連するリモートターゲットにアクセスするのを可能にするために、ポートベースのセキュリティ制御を適用する。
【００３６】
よって、システム１００は、従来のスイッチ及びＳＡＮストレージシステムの機能を同じボックス内に統合するトップオブラックスイッチを含む新たなスマートラックアーキテクチャを導入する。これにより、コンピュータシステムの全てのローカルストレージデバイスをトップオブラックスイッチに配置することを可能にする。
【００３７】
さらに、トップオブラックスイッチ内のラックベースのリモートストレージから全てのローカルドライブをより適切にエミュレートするために、システムは、新たなネットワークインタフェースカードアーキテクチャをさらに含む。ＮＩＣアーキテクチャは、ラックベースのリモートストレージ内のローカルドライブをシームレスに置き換えることができ、簡単に実施することができ、優れたセキュリティ制御を有する。
【００３８】
本願において使用される、「コンポーネント」、「モジュール」、「システム」等の用語は、概して、コンピュータ関連エンティティ、ハードウェア（例えば、回路）、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、又は、１つ以上の特定の機能を有する動作マシンに関連するエンティティを指す。例えば、コンポーネントは、プロセッサ（例えば、デジタル信号プロセッサ）上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド（thread of execution）、プログラム、及び／又は、コンピュータとすることができるが、これらに限定されない。例として、コントローラ上で動作するアプリケーション及びコントローラの両方がコンポーネントとなり得る。１つ以上のコンポーネントは、プロセス及び／又は実行スレッド内に存在してもよく、コンポーネントは、１つのコンピュータ上でローカライズされてもよく、及び／又は、２つ以上のコンピュータ間で分布してもよい。さらに、「デバイス」は、特別に設計されたハードウェア、ハードウェアが特定の機能を実行するのを可能にするソフトウェアの実行によって特殊化された汎用ハードウェア、コンピュータ可読媒体に記憶されたソフトウェア、又は、これらの組み合わせの形態をとることができる。
【００３９】
本明細書で用いられる用語は、特定の実施形態のみを説明することを目的とし、本発明を限定することを意図していない。本明細書で使用されているように、単数形（例えば、「１つの」、「その」等）は、文脈が明らかにそうでないことを示さない限り、複数形も含むことを意図している。さらに、「含む」、「有する」等の用語又はこれらの変形は、詳細な説明及び／又は特許請求の範囲で使用される限りにおいて、「備える」という用語と同様の意味で包括的であることを意図している。
【００４０】
特に定義されない限り、本明細書で用いられる全ての用語（技術用語及び科学用語を含む）は、当業者によって通常理解されるのと同じ意味を有する。さらに、一般的に使用される辞書で定義されているような用語は、関連する技術の文脈における意味と一致する意味を有すると解釈されるべきであり、本明細書で明示的に定義されていない限り、理想的又は過度に形式的な意味で解釈されるべきではない。
【００４１】
本発明の様々な実施形態について説明してきたが、これらの実施形態は例示的なものであり、限定的なものではないことを理解されたい。開示された実施形態に対する多くの変更は、本発明の趣旨又は範囲から逸脱することなく、本明細書の開示に従って行うことができる。よって、本発明の広さや範囲は、上述した実施形態の何れによっても制限されるべきではない。むしろ、本発明の範囲は、以下の特許請求の範囲及びこれらの均等物に従って定義されるべきである。
【符号の説明】
【００４２】
１００…システムアーキテクチャ
１１０…ラックユニット
１１２…管理スイッチ
１１４…トップオブラックスイッチ
１２０〜１２６…コンピューティングサーバ
１３０…ネットワークインタフェースカード
１３２…ベースボード管理コントローラ
１４０…ポートのアレイ
１４２…ケーブル
１４４…管理ポート
１５０…ポートのアレイ
１５２…ケーブル
１５４…ネットワークデータポート
２００…コンピューティングアーキテクチャシステム
２１０〜２２０…ラック
２３０〜２３４…エンドオブロースイッチ
２４０…コンピューティングサーバ
２４２…スマートネットワークインタフェースカード
２４４…ケーブル
３００…スイッチチップ
３０２…オペレーティングシステム
３０４…ＣＰＵ
３０６…スイッチサービス
３０８…ラック管理サービス
３１０…ストレージサービス
３１２…ボリュームサービス
３１４…物理ディスクサービス
３２０…論理ストレージボリューム
３３０…物理ストレージデバイス
４１０…ＣＰＵ
４１２…オペレーティングシステム
４２０…仮想ＰＣｌｅスイッチ
４２２…ＰＣｌｅスイッチ
４２４…コントローラ
４４０…仮想不揮発性メモリ
４４２…物理メモリデバイス
４５０〜４５８…点線
５１０〜５１６…仮想ＮＶＭｅコントローラＰＣＩ機能ブロック
５２０〜５２６…ダウンストリームポート
５３０…第１ネームスペース
５３２…第２ネームスペース
５３４…第３ネームスペース
５３６…第４ネームスペース
５４０〜５４６…ネームＩＤ
５５０〜５５６…仮想メモリコントローラ
６００〜６１０…点線
【図１】
2020013564.tif 000003
【図２】
2020013564.tif 000004
【図３】
2020013564.tif 000005
【図４】
2020013564.tif 000006
【図５】
2020013564.tif 000007
【図６】
2020013564.tif 000008