(57)【特許請求の範囲】
【請求項１】
サーバの仮想入力／出力サーバ（ＶＩＯＳ）を介した、物理ストレージへのアクセスを、前記サーバの論理区画に含まれる複数の作業負荷区画（ＷＰＡＲ）の各々に提供するシステムであって、
共通オペレーティング・システムを共用する複数のＷＰＡＲと、ノード・ポート識別仮想化（ＮＰＩＶ）プロトコルを使用して前記ＶＩＯＳに接続された仮想ポートを介した前記物理ストレージへの各ＷＰＡＲのアクセスを、各ＷＰＡＲが前記物理ストレージのそれ自体の専用メモリにアクセスできるように制御するＷＰＡＲマネージャとを含む論理区画を生成するためのソフトウェアを実行するプロセッサを有するサーバと、
物理アダプタを介して前記サーバの前記ＶＩＯＳに接続された物理ストレージと、
前記プロセッサによって実行されるソフトウェアによって生成された仮想ファイバ・チャネル（ＶＦＣ）・アダプタとを備え、
前記ＷＰＡＲマネージャによって各ＷＰＡＲに仮想ポートが割り当てられ、
前記ＶＦＣが仮想ポート識別に関連付けられており、
ＷＰＡＲに割り当てられた各仮想ポートが前記ＶＦＣの仮想ポート識別に関連付けられている、システム。
【請求項２】
前記ＶＩＯＳの中に、前記プロセッサによって実行されるソフトウェアによって生成されたサーバ・アダプタをさらに備え、前記サーバ・アダプタが仮想ポート識別に関連付けられている、請求項１に記載のシステム。
【請求項３】
ＷＰＡＲによって開始されるメモリ・トランザクションを認証するために、前記プロセッサによって実行されるソフトウェアによって生成された認証モジュールをさらに備える、請求項１に記載のシステム。
【請求項４】
ＷＰＡＲに論理的に接続されたネットワーク・ストレージをさらに備える、請求項１に記載のシステム。
【請求項５】
各ＷＰＡＲが、アプリケーション・プログラムを実行することができる、請求項１に記載のシステム。
【請求項６】
サーバの仮想入力／出力サーバ（ＶＩＯＳ）を介した、物理ストレージへのアクセスを、前記サーバの論理区画に含まれる、共通のオペレーティング・システムを共用する複数の作業負荷区画（ＷＰＡＲ）の各々に提供する方法であって、
メモリ・トランザクションを行いたいというＷＰＡＲからの要求を、ＷＰＡＲマネージャで受け取るステップと、
ノード・ポート識別仮想化（ＮＰＩＶ）プロトコルを使用して前記ＶＩＯＳに接続された、前記ＷＰＡＲに割り当てられた仮想ポートを介して前記要求するＷＰＡＲを接続して、前記要求するＷＰＡＲに前記物理ストレージへの専用アクセスを与えるステップと、
仮想ポート識別に関連付けられた仮想ファイバ・チャネル（ＶＦＣ）・アダプタを、ソフトウェアの実行によって生成するステップとを含み、
前記ＷＰＡＲマネージャによって各ＷＰＡＲに仮想ポートが割り当てられ、
前記ＶＦＣが仮想ポート識別に関連付けられており、
ＷＰＡＲに割り当てられた各仮想ポートが前記ＶＦＣの仮想ポート識別に関連付けられている、方法。
【請求項７】
前記ＶＩＯＳによって前記サーバに接続された物理ストレージ・メモリへのＷＰＡＲによるアクセスを制御するためのＷＰＡＲマネージャを生成するステップと、
複数のＷＰＡＲを生成するステップと
をさらに含む、請求項６に記載の方法。
【請求項８】
前記要求するＷＰＡＲからの前記要求を認証するステップをさらに含む、請求項７に記載の方法。
【請求項９】
認証するステップが、前記ＷＰＡＲマネージャによって格納されたキーと前記要求するＷＰＡＲによって送られたキーとを比較するステップを含む、請求項８に記載の方法。
【請求項１０】
前記要求するＷＰＡＲからの前記要求を認証するステップをさらに含む、請求項６に記載の方法。
【請求項１１】
前記ＶＦＣアダプタと通信しているサーバ・アダプタを、ソフトウェアの実行によって生成するステップをさらに含む、請求項６に記載の方法。
【請求項１２】
物理ストレージへのアクセスを行うための、コンピュータ・プログラムであって、
サーバの論理区画に含まれ、共通のオペレーティング・システムを共用する複数のＷＰＡＲにおいてメモリ・トランザクションを行いたいというＷＰＡＲからの要求をＷＰＡＲマネージャで受け取る機能と、
ノード・ポート識別仮想化（ＮＰＩＶ）プロトコルを使用して仮想Ｉ／Ｏサーバ（ＶＩＯＳ）に接続された、前記ＷＰＡＲに割り当てられた仮想ポートを介して前記要求するＷＰＡＲを接続して、前記要求するＷＰＡＲに物理ストレージへの専用アクセスを与える機能と、
仮想ポート識別に関連付けられた仮想ファイバ・チャネル（ＶＦＣ）・アダプタを、ソフトウェアの実行によって生成する機能と、
をコンピュータに実行させ、
前記ＷＰＡＲマネージャによって各ＷＰＡＲに仮想ポートが割り当てられ、
前記ＶＦＣが仮想ポート識別に関連付けられており、
ＷＰＡＲに割り当てられた各仮想ポートが前記ＶＦＣの仮想ポート識別に関連付けられている、コンピュータ・プログラム。
【請求項１３】
前記要求するＷＰＡＲからの前記要求を認証する機能をさらに含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１４】
認証することが、前記ＷＰＡＲマネージャによって格納されたキーと前記要求するＷＰＡＲによって送られたキーとを比較する機能を含む、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記ＶＩＯＳによって前記サーバに接続された前記物理ストレージへのＷＰＡＲによるアクセスを制御するためのＷＰＡＲマネージャを生成する機能をさらに含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１６】
複数のＷＰＡＲを生成する機能をさらに含む、請求項１２に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この書面による説明は、サーバ中の物理メモリへのアクセスの分野である。より詳細には、本説明は、サーバ中に作業負荷区画（ＷＰＡＲ）用の専用物理ストレージを設けることに関する。
【背景技術】
【０００２】
多くの異なる型の計算機システムが世界中に普及している。これらの計算機システムには、パーソナル・コンピュータ、サーバ、メインフレーム、および種々様々な独立型および組込み型計算デバイスがある。無秩序に広がったクライアント・サーバ・システムがあり、これのアプリケーションおよび情報は、多くのＰＣネットワーク、メインフレーム、および小型コンピュータにわたって広がっている。ネットワークで接続された分散システムでは、ユーザは、多くのアプリケーション・プログラム、データベース、ネットワーク・システム、オペレーティング・システム、およびメインフレーム・アプリケーションにアクセスすることができる。コンピュータは、文書処理、表計算、および会計を含むソフトウェア・アプリケーションのホストを個人および企業に提供する。さらに、ネットワークは、電子メール、ウェブサイト、インスタント・メッセージ、およびウェブ会議により、それぞれ異なった場所の人々の間に高速通信を実現する。
【０００３】
高性能単一チップ・マイクロプロセッサ用の一般的なアーキテクチャは、高速実行のための、小さな簡略化された一組の使用頻度の高い命令を特徴とする縮小命令セット・コンピュータ（ＲＩＳＣ）・アーキテクチャである。したがって、ＲＩＳＣアーキテクチャでは、複雑な命令は、非常に高速に複数のステップで実行される小さな一組の簡単な命令を含む。これらのステップは、特定の簡単な命令を実行するように構成された複数の実行ユニットで行われる。スーパースカラ・アーキテクチャでは、これらの実行ユニットは、一般に、ロード／格納ユニット、整数演算／論理ユニット、浮動小数点演算／論理ユニット、および並列に動作する複数の図表論理ユニットを含む。プロセッサ・アーキテクチャでは、オペレーティング・システムは、プロセッサおよびプロセッサの周辺の構成要素の動作を制御する。実行可能なアプリケーション・プログラムは、コンピュータのハード・ドライブに格納される。コンピュータのプロセッサは、ユーザ入力に応答してアプリケーション・プログラムがランするようにする。
【０００４】
したがって、現代のシステムでは、複数のコンピュータ（サーバを含めて）がネットワークを介して互いに接続される。各コンピュータは、ある機能を行うアプリケーション・プログラムを実行することができる。これらのアプリケーション・プログラムは、文書処理、電子メール、グラフィックス、文書通覧およびマーク付け、表計算、データベース、音楽プレーヤ、インタネット・ブラウザ、フォトショップ、ゲーム、抗ウィルス、ならびに、多すぎて言及することができない他のアプリケーション・プログラムのホストを含むことがある。
【０００５】
サーバは、複数のコンピュータをインタネットまたはイントラネットに接続するように設けられる。各サーバは複数の仮想クライアントに論理的に分割されることがあり、その複数の仮想クライアントは、あたかも仮想クライアントがそれ自体サーバであるかのように、行動し、また、サーバに接続されたコンピュータには見える。各仮想クライアントは、記憶域ネットワーク（ＳＡＮ）のような、サーバの外のメモリにアクセスすることができる。このアクセスを実現するために、パワー・ハイパーバイザ（ＰＨＹＰ）は、それ自体論理区画である仮想入力／出力サーバ（ＶＩＯＳ）を介した物理ストレージへの各仮想クライアントのアクセスを制御する。
【０００６】
仮想Ｉ／Ｏサーバ論理区画に接続された物理アダプタに取り付けられたディスクおよび光デバイスは、１つまたは複数のクライアント論理区画によって共用されることがある。仮想Ｉ／Ｏサーバは、標準小型コンピュータ・サービス・インタフェース（ＳＣＳＩ）対応の論理ユニット番号（ＬＵＮ）を与える標準ストレージ・サブシステムであることがある。仮想Ｉ／Ｏサーバは、異種物理ストレージのプールを、ＳＣＳＩディスクの形のブロック・ストレージの同種プールとしてエクスポートすることができる。高性能サーバでは、多くの顧客は、彼らのストレージの全てを記憶域ネットワーク（ＳＡＮ）上に置く方へ進んでいる。ＳＡＮは、ファイバ・チャネルまたはＳＣＳＩ（小型コンピュータ・システム・インタフェース）によって接続された記憶デバイスを含むことがある。
【０００７】
いくつかのシステムでは、サーバは、論理的に分割されることがあり、１つの論理区画（ＬＰＡＲ）が、複数の作業負荷区画（ＷＰＡＲ）にさらに分割されることがある。論理区画の中にＷＰＡＲマネージャがあり、そのＷＰＡＲマネージャはそれ自体論理区画の部分区画である。ＷＰＡＲマネージャは、共用ファイル・システムへのＷＰＡＲのアクセスを制御することを含めて管理タスクを行う。そのような構成において、各ＷＰＡＲは、様々なアプリケーションを実行するための隔離された環境を実現する。
【０００８】
複数のＷＰＡＲは、共通オペレーティング・システムを使用してそのＷＰＡＲの機能を実行し、ＷＰＡＲマネージャは、一般に、ＷＰＡＲと同じオペレーティング・システムを使用する。各ＷＰＡＲによって共用されることがあるファイル・システム・アクセスは、サーバのＶＩＯＳに接続された物理ストレージを見るＷＰＡＲマネージャによって実現される。ＷＰＡＲが専用ストレージを必要とする場合には、ＷＰＡＲマネージャは、ネットワーク・ファイル・システムによりネットワークから入手可能なストレージを供給する。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ノード・ポートＩＤ仮想化を使用してＷＰＡＲクライアント用のストレージを仮想化するシステムおよび方法を提供すること。
【課題を解決するための手段】
【００１０】
本発明は、ＮＰＩＶを使用して、物理ストレージ・メモリへの専用アクセスをＷＰＡＲに提供するシステム、方法および媒体を提供する。一実施形態は、サーバの仮想入力／出力サーバ（ＶＩＯＳ）を介した、物理ストレージへのアクセスを、サーバ中の複数の作業負荷区画（ＷＰＡＲ）の各々に提供するシステムである。本システムは、少なくとも１つのＷＰＡＲと、物理ストレージへの各ＷＰＡＲのアクセスを制御するＷＰＡＲマネージャとを含む論理区画を生成するためのソフトウェアを実行するプロセッサを有するサーバを備える。このアクセスは、各ＷＰＡＲが物理ストレージのそれ自体の専用メモリにアクセスできるように、ノード・ポート識別仮想化（ＮＰＩＶ）プロトコルを使用してＶＩＯＳに接続された仮想ポートを介して実現される。
【００１１】
本システムは、プロセッサによって実行されるソフトウェアによって生成された仮想ファイバ・チャネル（ＶＦＣ）・アダプタをさらに備えることがあり、ＶＦＣは仮想ポート識別に関連付けられている。本システムは、また、ＶＩＯＳの中に、プロセッサによって実行されるソフトウェアによって生成されたサーバ・アダプタを備えることがあり、サーバ・アダプタは、仮想ポート識別に関連付けられている。本システムは、さらに、ＷＰＡＲによって開始されるメモリ・トランザクションを認証するための、プロセッサによって実行されるソフトウェアによって生成された認証モジュールをさらに備えることがある。
【００１２】
他の実施形態は、サーバの仮想入力／出力サーバ（ＶＩＯＳ）を介した、物理ストレージへのアクセスを、サーバ中の複数の作業負荷区画（ＷＰＡＲ）の各々に提供する方法である。本方法は、メモリ・トランザクションを行いたいというＷＰＡＲからの要求をＷＰＡＲマネージャで受け取るステップを含む。本方法は、さらに、ノード・ポート識別仮想化（ＮＰＩＶ）プロトコルを使用してＶＩＯＳに接続された、ＷＰＡＲに割り当てられた仮想ポートを介してその要求するＷＰＡＲを接続して、その要求するＷＰＡＲに物理ストレージへの専用アクセスを与えるステップを含む。いくつかの実施形態では、本方法は、要求するＷＰＡＲからの要求を認証するステップを含む。認証するステップは、ＷＰＡＲマネージャによって格納されたキーと、要求するＷＰＡＲによって送られたキーとを比較するステップを含むことがある。
【００１３】
他の実施形態は、コンピュータ読取り可能プログラムを有するコンピュータ使用可能媒体を含むコンピュータ・プログラム製品であり、コンピュータ読取り可能プログラムは、コンピュータで実行されるとき、コンピュータが、サーバの仮想入力／出力サーバ（ＶＩＯＳ）を介した、物理ストレージへのアクセスを、サーバ中の複数の作業負荷区画（ＷＰＡＲ）の各々に提供するようにする。動作は、メモリ・トランザクションを行いたいというＷＰＡＲからの要求をＷＰＡＲマネージャで受け取ることを含む。動作は、さらに、ノード・ポート識別仮想化（ＮＰＩＶ）プロトコルを使用して仮想Ｉ／Ｏサーバ（ＶＩＯＳ）に接続された、ＷＰＡＲに割り当てられた仮想ポートを介してその要求するＷＰＡＲを接続して、その要求するＷＰＡＲに物理ストレージへの専用アクセスを与えることを含む。
【００１４】
本発明の有利点は、以下の詳細な説明を読んで添付の図面を参照すると、すぐに明らかになるだろう。図面では、同様な参照は同様な要素を示すことがある。
【図面の簡単な説明】
【００１５】
【図１】ネットワークの中のサーバの実施形態を示す図であり、サーバは仮想クライアントおよびＶＩＯＳをエミュレートすることができる。
【図２】ノード・ポートＩＤ仮想化（ＮＰＩＶ）を使用して、複数のＷＰＡＲに専用メモリ・アクセスを提供するシステムの実施形態を示す図である。
【図３】ＮＰＩＶを使用するメモリ・アクセスのセットアップを行う実施形態を示す流れ図である。
【図４】ＮＰＩＶを使用する、ＷＰＡＲによるメモリ・アクセスの実施形態を示す流れ図である。
【発明を実施するための形態】
【００１６】
以下は、添付の図面に示された実施形態例の詳細な説明である。実施形態例は、詳細に説明されている。しかし、示された詳細の程度は、実施形態の予想される変形体を限定する意図でない。それどころか、本発明は、添付の特許請求の範囲の精神および範囲に含まれる全ての修正物、同等物、および代替物をカバーすることになっている。以下の詳細な説明は、様々な実施形態を当業者に明らかにするように計画されている。
【００１７】
ＶＩＯＳを介してサーバに接続された物理ストレージへの専用アクセスを複数のＷＰＡＲに提供するシステム、方法および媒体が開示される。一実施形態では、サーバは、ＷＰＡＲマネージャと個々のＷＰＡＲとを含む作業区画を形成するように論理的に分割される。各ＷＰＡＲは、異なる仮想ポートに割り当てられる。仮想ポートは、ＷＰＡＲとＶＩＯＳの間でＮＰＩＶプロトコルを使用することによって生成される。それによって、各ＷＰＡＲは、ＶＩＯＳに接続された物理ストレージに専用アクセスすることができる。
【００１８】
図１は、サーバ１１６（本明細書では、ときには機械と呼ばれることもある）を示す。サーバ１１６は少なくとも１つのプロセッサ１００を含み、プロセッサ１００は、ＢＩＯＳ（基本入力／出力システム）コード１０４およびオペレーティング・システム（ＯＳ）・コード１０６に従って動作することができる。ＢＩＯＳおよびＯＳコードは、メモリ１０８に格納されている。ＢＩＯＳコードは、一般に、読取り専用メモリ（ＲＯＭ）に格納され、ＯＳコードは、一般に、サーバ１１６のハード・ドライブに格納される。ディジタル・システム１１６は、物理的にプロセッサ１００のごく近くに位置付けされたレベル２（Ｌ２）キャッシュ１０２を含む。メモリ１０８は、また、プロセッサ１００で実行するための他のプログラムを格納し、さらにデータ１０９を格納する。
【００１９】
実施形態では、メモリ１０８は、物理メモリ・ストレージへのアクセスを管理制御し、論理区画を維持し、ＶＩＯＳ、ＰＨＹＰおよび他の機能を実現するサーバ管理コード１０７を格納する。いくつかの実施形態では、複数の仮想クライアントが、単一プロセッサによってエミュレートされることがある。いくつかの実施形態では、サーバ中の１より多いプロセッサが単一仮想クライアントをエミュレートすることがある。各仮想クライアントは、サーバ１１６に接続されたコンピュータまたは他のデバイスには、サーバとして見えることがある。各仮想クライアントは、アプリケーション・プログラムを実行することができる。このアプリケーション・プログラムは、例えば、データベースを含むことがある。それから、このデータベースは、サーバによってサービスされるネットワークに接続されたコンピュータによって、アクセスされることがある。いくつかの実施形態では、アプリケーション・コードそれ自体が、サーバに接続された物理ページング・デバイスに存在することがある。物理ページング・デバイスは、複数のサーバに接続されることがある。
【００２０】
いくつかの実施形態では、サーバ管理コード１０７は、作業論理区画を生成する。このコードは、さらに、この論理区画をＷＰＡＲマネージャとＷＰＡＲとに分割し、そのＷＰＡＲマネージャおよびＷＰＡＲは全て論理区画の部分区画である。コード１０７は、また、ＶＩＯＳも生成する。ＷＰＡＲマネージャとＶＩＯＳは、ノード・ポートＩＤ仮想化（ＮＰＩＶ）を使用して通信して、各ＷＰＡＲに割り当てられることがある仮想ポートを生成する。ＶＩＯＳは、物理アダプタを介して物理ストレージに接続される。したがって、各ＷＰＡＲは、ＮＰＩＶプロトコルに従って生成される仮想ポートを経由した物理ストレージへの専用アクセスを提供される。サーバ・コード１０７は、サーバのハード・ドライブに格納されることがある。
【００２１】
プロセッサ１００は、オンチップのレベル１（Ｌ１）キャッシュ１９０、命令フェッチャ１３０、制御回路１６０、および実行ユニット１５０を含む。レベル１キャッシャ１９０は、実行時間に近い命令を受け取り、格納する。命令フェッチャ１３０は、メモリから命令をフェッチする。実行ユニット１５０は、命令によって要求された動作を行う。実行ユニット１５０は、ロード／格納ユニット、整数演算／論理ユニット、浮動小数点演算／論理ユニット、および図表論理ユニットを含むことができる。各実行ユニットは、命令フェッチャ１３０によってフェッチされた命令の実行のステップを実施するステージを含む。スーパースカラ・アーキテクチャでは、異なる実行ユニットが並列に動作する。したがって、実行ユニット１５０は、サーバ管理コード１０７のコードを実現するための命令を実行するように並列に動作する異なる型の一組のユニットを含む。
【００２２】
制御回路１６０は、命令フェッチャ１３０および実行ユニット１５０を制御する。制御回路１６０は、また、制御決定に関連がある情報を実行ユニット１５０から受け取る。例えば、制御回路１６０は、実行パイプラインにおけるデータ・キャッシュ失敗の場合に、機能停止を処理するように通知される。
【００２３】
サーバ１１６は、また、一般に、図示されない他の構成要素およびサブシステムを含み、例えば、信用プラットフォーム・モジュール、メモリ制御装置、ランダム・アクセス・メモリ（ＲＡＭ）、周辺ドライバ、システム・モニタ、キーボード、カラー・ビデオ・モニタ、１つまたは複数のフレキシブル・ディスケット・ドライブ、固定ディスク・ハード・ドライブのような１つまたは複数の取外し可能不揮発性媒体ドライブ、ＣＤおよびＤＶＤドライブ、マウスのような位置決めデバイス、およびネットワーク・インタフェース・アダプタなどを含む。プロセッサ１００は、また、入力／出力デバイス１１０を経由してネットワーク１１２と通信することができる。ネットワークは、サーバ１１６を、記憶域ネットワークの物理メモリ記憶デバイス１１４に接続する。そのデバイスは、テープ・ドライブ・ストレージまたはハード・ディスク・アレイまたは他の型のメモリを含むことがある。
【００２４】
したがって、サーバ１１６の１つの動作モードでは、Ｌ２キャッシュは、プロセッサ１００のプロセッサ・パイプラインで処理されると思われるデータおよび命令をメモリ１０８から受け取る。Ｌ２キャッシュ１０２は、より高速を実現するために物理的にプロセッサ１００のごく近くに位置付けされた高速メモリである。Ｌ２キャッシュは、複数の命令スレッド用の命令をメモリ１０８から受け取る。そのような命令には、ロードおよび格納命令、分岐命令、演算論理命令、浮動小数点命令などがある可能性がある。Ｌ１キャッシュ１９０は、プロセッサ中に位置付けされ、好ましくはＬ２キャッシュ１０２から受け取られたデータおよび命令を含む。理想的には、プログラム命令が実行される時間が近づくときに、命令は、もしあればデータと共に、最初にＬ２キャッシュに送られ、それから実行時間がほぼ差し迫ったときにＬ１キャッシュに送られる。一般に、メモリがプロセッサに近ければ近いほど、メモリはそれだけ費用がかかり、またそれだけ高速に動作する。
【００２５】
実行ユニット１５０は、Ｌ１キャッシュ１９０から受け取られた命令を実行する。実行ユニット１５０の各々のユニットは、特定の一組の命令を実行するように構成されることがある。命令は、同時実行のために異なる実行ユニットに実行依頼されることがある。実行ユニット１５０によって処理されたデータは、整数レジスタ・ファイルおよび浮動小数点レジスタ・ファイル（図示されない）中に格納可能であり、またこれらのレジスタ・ファイルからアクセス可能である。これらのレジスタ・ファイル中に格納されたデータは、また、オンボードＬ１キャッシュ１９０または外部キャッシュまたはメモリから来ることがあり、またはこれらに転送されることがある。プロセッサは、ロード命令を実行することによって、データをＬ１キャッシュなどのメモリからプロセッサのレジスタにロードすることができる。プロセッサは、格納命令を実行することによって、データをレジスタからメモリに格納することができる。
【００２６】
サーバ１１６は、それのオペレーティング・システム、ＢＩＯＳ、ならびにアプリケーション・プログラムを実行するためのコード、および暗号化キー処理コード、ならびにファイルおよびデータを格納するためのそれ自体のメモリを持っている。サーバ用のメモリは、読取り専用メモリ（ＲＯＭ）、ＤＲＡＭおよびＳＲＡＭで実現されたキャッシュ・メモリ、ハード・ディスク・ドライブ、ＣＤドライブおよびＤＶＤドライブを含む。サーバは、またそれ自体のメモリを持ち、テープ・ドライブおよびハード・ディスク・アレイのような他のメモリへのアクセスを制御することができる。各サーバは、それ自体のアプリケーション・プログラムを格納し、実行することができる。したがって、データベースなどのいくつかのアプリケーション・プログラムは、サーバ中に存在することがあり、これらのプログラムは、ネットワーク中のコンピュータが利用できることがある。さらに、サーバは、１つまたは複数のポートを介して局所記憶域ネットワーク（ＳＡＮ）に接続されることがある。ＳＡＮは、様々な型および速さの磁気ディスクを含むことができる。
【００２７】
指摘されたように、サーバ１１６は、論理区画（ＬＰＡＲ）を形成すること、ネットワーク中のコンピュータのような外部デバイスには各々サーバとして見えることがある仮想クライアントをエミュレートすること、パワー・ハイパーバイザ（ＰＨＹＰ）をエミュレートすること、および仮想Ｉ／Ｏサーバ（ＶＩＯＳ）を含めてサーバの様々な機能を実行するためのコンピュータ・コード１０７を格納することができる。コンピュータ・コード１０７は、ＷＰＡＲおよびＷＰＡＲマネージャならびにＶＩＯＳを生成するように実行され、さらに、ＮＰＩＶプロトコルに従ってＷＰＡＲマネージャとＶＩＯＳの間の通信を確立して、ＷＰＡＲが物理ストレージに専用アクセスすることができるようにする。
【００２８】
図２は、一実施形態に従ったシステムを示す。サーバ２００は、論理区画２０５およびＶＩＯＳ２１２を含む。論理区画２０５は、複数の作業負荷区画（ＷＰＡＲ）２０１、２０２、２０３とＷＰＡＲマネージャ２０４を含む。ＷＰＡＲマネージャ２０４の機能は、メモリへのＷＰＡＲのアクセスを制御することである。いくつかの実施形態では、ＷＰＡＲマネージャ２０４は、３つの方法でＷＰＡＲにメモリ・アクセスを提供することができる。１つの方法は、ＷＰＡＲ３とネットワーク・ストレージ２２０の間の論理接続（図２に破線で示される）によって示されている。したがって、１つの方法は、サーバが動作するネットワーク上でＷＰＡＲにストレージへのアクセスを与えることによって、ＷＰＡＲに専用ストレージを提供することである。ＷＰＡＲが見る限りでは、ＷＰＡＲは、ネットワーク上でメモリにアクセスすることで経験する長い待ち時間を除けば、あたかもサーバのディレクトリにアクセスしているかのようにメモリにアクセスする。ＷＰＡＲにメモリを提供する第２の方法は、物理ストレージ２１８の共用メモリを提供することである。ＷＰＡＲは、物理アダプタを見ない。ＷＰＡＲが見る限りでは、ＷＰＡＲは、ＷＰＡＲが共用する局所メモリから読み取り、また書き込む。ＷＰＡＲは、実際のメモリ接続を知っていない。
【００２９】
ＷＰＡＲにメモリ・アクセスを提供する第３の方法は、ノード・ポート識別仮想化（ＮＰＩＶ）を使用することによっている。ＷＰＡＲに専用アクセスを与える第１の方法は、効率的でないし順応性もない。共用アクセスを与える第２の方法は、全ての物理ディスクをＷＰＡＲマネージャに持つことである。それらのディスクは、ストレージを必要とする全てのＷＰＡＲクライアントために共通の共用ファイルシステムを生成するために使用される。したがって、ＷＰＡＲクライアントが専用ストレージを必要とする場合には、ネットワーク・ファイルシステムが使用されることがある。しかし、ネットワーク・ファイル・システムの使用は、遅延を引き起こすことがあり、Ｉ／Ｏ記憶デバイスと直接通信するよりも指数関数的に遅い。他の解決策が望まれる。
【００３０】
ノード・ポートＩＤ仮想化（ＮＰＩＶ）のＶＩＯＳ２１２サポートを用いて、各ポート識別が今や多くのポート識別のように見え得るようなやり方で、ファイバ・チャネル・ポート識別が仮想化されることがある。このことが有利であるのは、この仮想化されたポートを今や異なるＷＰＡＲに割り当てることができ、さらにＷＰＡＲが、その仮想ポートに接続されるディスクを完全に制御することができるからである。この接続は、ＮＰＩＶプロトコルを使用してＷＰＡＲマネージャとＶＩＯＳの間に確立される。仮想Ｉ／Ｏサーバ（ＶＩＯＳ）技術を使用する従来の仮想化環境では、仮想クライアントは仮想ストレージを見るだけで、物理ストレージが仮想化されることの詳細について全く知らない。ＮＰＩＶによってＶＩＯＳはポート識別を仮想化することができるようになるので、今やＷＰＡＲは物理ストレージまでの仮想経路を持つことができる。物理ストレージはもはや仮想化されることがないので、ＷＰＡＲは、今や、物理ストレージの詳細の全てを見ることができる。経路だけが仮想化される。ＮＰＩＶと、認証用の新しいコード・モジュールとを使用することで、ＷＰＡＲクライアントは、仮想ポートの向う側の物理ストレージ資源を使用することができるようになる。認証は、ＷＰＡＲだけがそれ自体の仮想ポートにアクセスすることを保証する。
【００３１】
したがって、実施形態では、ＮＰＩＶ技術をサポートする既存のＶＩＯＳは、ＷＰＡＲが仮想ポートの向う側の物理ストレージにアクセスできるようなやり方で認証モジュール２０６と組み合わされる。このことは、ネットワーク化されたファイルシステムを使用する方法に重大な改善をもたらす。認証モジュール２０６は、ＷＰＡＲ管理区画２０４でランする。認証モジュール２０６は、ＷＰＡＲと仮想化ファイバ・チャネル（ＶＦＣ）・クライアント・アダプタ２１０の間にアフィニティを生成する。各ＷＰＡＲクライアント２０１、２０２、および２０３は、認証モジュールによって１つのＶＦＣにマップされる。
【００３２】
これが行われるとすぐに、ＷＰＡＲクライアントは、今や、Ｉ／Ｏトランザクションを送ることができる。認証モジュール２０６は、そのトランザクションだけがそのＷＰＡＲにマップされた対応するＶＦＣに行くことを保証する。ＷＰＡＲクライアントが、それがマップされていないＶＦＣにＩ／Ｏを送ろうとすると、認証モジュール２０６は、エラー・メッセージを発生することができる。したがって、いくつかの実施形態では、ＷＰＡＲクライアントとＶＦＣ−サーバ・アダプタ仮想化ポートとの間に１対１のマッピングがある。このマッピングが適切であるとき、ＷＰＡＲクライアントは、物理ストレージに一意的にアクセスすることができ、ネットワーク・ファイル・システムが専用ストレージを必要とするとき、もはやネットワーク・ファイルシステムを使用する必要がない。物理ストレージへのアクセスは、スループットを改善し、さらに、ＷＰＡＲクライアントがストレージ自体を管理できるようにする。したがって、物理ストレージへの専用アクセスをＷＰＡＲに提供するこの方法は、ネットワーク上にストレージを提供することよりも効率的である。
【００３３】
したがって、ＷＰＡＲマネージャ２０４は、認証モジュール２０６、ＶＦＣデバイス・ドライバ２０８、および複数の仮想ファイバ・チャネルＶＦＣ２１０を含む。各仮想チャネルは、ＶＩＯＳ２１２のサーバ・アダプタ２１４に接続された論理ポートである。サーバ・アダプタ２１４および仮想ファイバ・チャネル２１０は、ＮＰＩＶプロトコルに従って動作して、各ＷＰＡＲ２０１、２０２，２０３の仮想ポートを実現する。ＷＰＡＲ２０１が、アダプタ２１６を介して、物理ストレージ２１８の専用メモリに対して読取り／書込みトランザクションを開始するとき、ＷＰＡＲ２０１は認証モジュール２０６にキーを送る。いくつかの実施形態では、キーは仮想ポート識別と全く同じである。他の実施形態では、一意のキーが任意に選ばれる。
【００３４】
認証モジュール２０６は、ＷＰＡＲ２０１から受け取られたキーを認証モジュール２０６に割り付けられたメモリに格納されたキーと比較して、ＷＰＡＲ２０１から受け取られたキーが正しいかどうかを決定する。キーが正しい場合には、ＷＰＡＲ２０１のために存在する仮想ポートで読取り／書込みトランザクションが行われる。したがって、転送されるべきデータは、ＷＰＡＲマネージャに進み、ＶＦＣデバイス・ドライバ２０８に進み、ＶＦＣ２１０に進み、サーバ・アダプタ２１４に進み、物理アダプタ２１６に進み、物理ストレージ２１８に進む。したがって、ＷＰＡＲは、ＮＰＩＶプロトコルを使用して生成された仮想ポートを介して専用ストレージにアクセスすることができる。
【００３５】
図３は、サーバ２００内に仮想ポート・プロセスを設定するための流れ図３００の実施形態を示す。最初に、ＶＩＯＳが生成される（要素３０２）。次に、ＷＰＡＲおよびＷＰＡＲマネージャを含むように作業論理区画が生成される（要素３０４）。ＷＰＡＲマネージャも生成される（要素３０６）。次に、ＷＰＡＲ自体が生成される（要素３０８）。一実施形態では、単一オペレーティング・システムが全作業論理区画を支配する。そのとき、このシステムは、ＮＰＩＶプロトコルを使用してＷＰＡＲマネージャとＶＩＯＳの間の接続を確立する（要素３１０）。次に、ＷＰＡＲマネージャは、存在している各ＷＰＡＲに仮想ポートを割り当てることができる（要素３１２）。最後に、認証のために、ＷＰＡＲマネージャはキーを各ＷＰＡＲに割り当て、ＷＰＡＲに割り当てられた仮想ポートにキーを関連付けるマップを形成する（要素３１４）。異なる実施形態では、各ＷＰＡＲはそれの仮想ポート識別を知らされ、それがキーとして使用される。
【００３６】
図４は、物理ストレージへのＷＰＡＲのアクセスをＮＰＩＶプロトコルによって制御するための流れ図４００の実施形態を示す。動作中に、アプリケーション・プログラムを実行していることもあるＷＰＡＲは、メモリ・トランザクション（読取りまたは書込み）を開始する必要があることがある（要素４０２）。ＷＰＡＲは、それのキーをＷＰＡＲマネージャの認証モジュールに渡す（要素４０４）。一実施形態では、ＷＰＡＲマネージャは、ＷＰＡＲキーのコピーを格納し、ＮＰＩＶプロトコルを経由して使用可能にされるそれ自体の仮想ポートに各キーをマップする。
【００３７】
したがって、認証モジュールがＷＰＡＲからキーを受け取ったとき、認証モジュールは、それをＷＰＡＲマネージャがこのＷＰＡＲ用に格納しているキーと比較する（要素４０６）。キーが一致する場合には（要素４０８）、ＷＰＡＲマネージャはこのＷＰＡＲおよびそれの仮想ポートへの接続を確立する（要素４１２）。キーが一致しない場合には、エラーが起こっており、ＷＰＡＲはＷＰＡＲマネージャからエラー・メッセージを受け取る（要素４１０）。キーが一致する場合には、確立された接続でデータが転送されることがある（要素４１４）。このようにして、論理区画の各ＷＰＡＲは、物理ストレージのそれ自体の専用メモリにアクセスすることができる。これは、専用ストレージをネットワーク上でＷＰＡＲに提供するよりも高速でかつ効率的である。
【００３８】
いくつかの実施形態は、完全ハードウェア実施形態、完全ソフトウェア実施形態、またはハードウェア要素とソフトウェア要素の両方を含む実施形態の形を取ることができる。したがって、いくつかの実施形態はソフトウェアで実現され、そのソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されない。さらに、実施形態は、図１に示されるようなサーバで、または図１に示されるようなサーバに関連して使用するためのプログラム・コードを与える機械アクセス可能読取り可能媒体または任意の命令実行システムからアクセスすることができるコンピュータ・プログラム製品の形を取ることができる。
【００３９】
この説明のために、機械アクセス可能またはコンピュータ使用可能またはコンピュータ読取り可能な媒体は、命令実行システム、装置またはデバイスで使用するための、またはこれらに関連して使用するためのプログラムを含み、格納し、通信し、伝播し、または移送することができる任意の装置であることがある。媒体は、電子、磁気、光、電磁、赤外、または半導体システム（または装置またはデバイス）または伝播媒体であることがある。機械アクセス可能媒体の例には、半導体または固体メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、剛体磁気ディスク、および光ディスクがある。光ディスクの現在の例には、コンパクト・ディスク（読出し専用メモリ（ＣＤ−ＲＯＭ））、コンパクト・ディスク（読出し／書込み（ＣＤ−Ｒ／Ｗ））、およびＤＶＤがある。
【００４０】
プログラム・コードの格納または実行あるいはその両方に適したデータ処理システムには、システム・バスを介してメモリ要素に直接または間接に結合された少なくとも１つのプロセッサがある。メモリ要素は、プログラム・コードの実際の実行中に使用される局所メモリ１０８、大容量ストレージ、およびキャッシュ・メモリ１０２、１９０を含むことがあり、これらのキャッシュ・メモリは、実行中にコードが大容量ストレージから取り出されなければならい回数を減らすために、少なくとも何かのプログラム・コードの一時ストレージを実現する。入力／出力またはＩ／Ｏデバイス（キーボード、表示装置、位置決めデバイスなどを含むがこれらに限定されない）は、直接か介在Ｉ／Ｏ制御装置を介してかのどちらかでシステムに結合されることがある。ネットワーク・アダプタは、また、システムに結合されて、データ処理システムが、介在する専用または公衆ネットワークを介して、他のデータ処理システムまたは遠隔プリンタまたは記憶デバイスに結合されるようにすることがある。モデム、ケーブル・モデム、およびイーサネット・カードは、現在利用可能な型のネットワーク・アダプタのほんの少数である。
【００４１】
したがって、他の実施形態は、コンピュータ読取り可能プログラムを有するコンピュータ使用可能媒体を含むコンピュータ・プログラム製品であり、コンピュータ読取り可能プログラムは、コンピュータで実行されるとき、コンピュータが、サーバの仮想入力／出力サーバ（ＶＩＯＳ）を介した、物理ストレージへのアクセスを、サーバ中の複数の作業負荷区画（ＷＰＡＲ）の各々に提供するようにする。動作は、メモリ・トランザクションを行いたいというＷＰＡＲからの要求をＷＰＡＲマネージャで受け取ることを含む。動作は、さらに、ノード・ポート識別仮想化（ＮＰＩＶ）プロトコルを使用して仮想Ｉ／Ｏサーバ（ＶＩＯＳ）に接続された、ＷＰＡＲに割り当てられた仮想ポートを介してその要求するＷＰＡＲを接続して、その要求するＷＰＡＲに物理ストレージへの専用アクセスを与えることを含む。
【００４２】
いくつかの実施形態では、動作はさらに、要求するＷＰＡＲからの要求を認証することを含む。認証することは、ＷＰＡＲマネージャによって格納されたキーと要求するＷＰＡＲによって送られたキーとを比較することを含むことがある。いくつかの実施形態では、動作は、ＶＩＯＳによってサーバに接続された物理ストレージ・メモリへのＷＰＡＲによるアクセスを制御するためのＷＰＡＲマネージャを生成することを含む。実施形態は、また、各ＷＰＡＲが１つの仮想ポートに割り当てられている複数のＷＰＡＲを生成することを含むことがある。したがって、実施形態は、一般に、ＶＩＯＳを介してサーバに接続されたＳＡＮの物理ストレージへのＷＰＡＲの専用アクセスを可能にする。
【００４３】
本発明およびそれの有利点の一部がいくつかの実施形態に関して詳細に説明されたが、添付の特許請求の範囲で定義されるような本発明の精神および範囲から逸脱することなしに、本明細書で様々な変化物、代替物および変更物を作ることができることは理解されるべきである。本発明の実施形態は多数の目的を実現することができるが、添付の特許請求の範囲に含まれる全ての実施形態が全ての目的を実現するわけではない。さらに、本出願の範囲は、本明細書で説明されたプロセス、機械、製造、物質の組成、手段、方法およびステップの特定の実施形態に限定されることは意図していない。当業者は本発明の開示から容易に理解するように、本明細書で説明された対応する実施形態と実質的に同じ機能を行い、または実質的に同じ結果を実現する現存するまたは今後開発されるプロセス、機械、製造、物質の組成、手段、方法、またはステップは、本発明に従って利用される可能性がある。したがって、添付の特許請求の範囲は、そのようなプロセス、機械、製造、物質の組成、手段、方法、またはステップを、その範囲内に含む意図である。
【図１】
0005613153.tif 000002
【図２】
0005613153.tif 000003
【図３】
0005613153.tif 000004
【図４】
0005613153.tif 000005