(57)【特許請求の範囲】
【請求項１】
プロセッサ、メモリ、及び外部ネットワークに接続するための少なくとも一つのポートを有するゲートウェイと、
情報を記憶する複数のデバイスのうち少なくとも一つのデバイスであって、その複数のデバイスの各々が複数のボリュームのうち少なくとも一つのボリュームを備えるデバイスと、
サーバと、
スイッチと、
前記ゲートウェイ、前記サーバ、前記スイッチ、及び情報を記憶する複数のデバイスのうち少なくとも一つのデバイスを接続する内部ネットワークと、
を備え、
前記ゲートウェイは、データパケットを受信してこれを格納し、前記データパケットから読み出した仮想受信アドレスを前記メモリから検索し、前記仮想受信アドレスに対応する、情報を記憶する前記複数のデバイスのうち少なくとも一つの特定のデバイスを指定する受信アドレスを前記メモリから読み出し、前記データパケットの前記仮想受信アドレスを、前記メモリから読み出した前記対応する受信アドレスに置換し、
前記ゲートウェイは、前記データパケットの中からストレージアクセスコマンドと仮想プライベートボリューム識別子とを検索し、検索できたならば、前記仮想プライベートボリューム識別子に対応するボリューム識別子を前記メモリから検索し、前記データパケットの前記仮想プライベートボリューム識別子を前記ボリューム識別子に置換する、ストレージ装置。
ストレージ装置。
【請求項２】
請求項１に記載のストレージ装置であって、
前記ゲートウェイは、前記データパケット内のユーザアドレスに基づいて前記データパケットの送信者を認証する、ストレージ装置。
【請求項３】
請求項１に記載のストレージ装置であって、
前記外部ネットワークは、ＶＰＮ（Virtual Private Network）で構成され、前記ゲートウェイは、前記データパケットに対してＶＰＮ処理を実行する、ストレージ装置。
【請求項４】
請求項１に記載のストレージ装置であって、
前記外部ネットワークは、第一のプロトコルを使用し、前記内部ネットワークは、第二のプロトコルを使用し、前記ゲートウェイは、前記データパケットを前記第一のプロトコルから前記第二のプロトコルに変換する、ストレージ装置。
【請求項５】
請求項４に記載のストレージ装置であって、
前記第一のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項６】
請求項４に記載のストレージ装置であって、
前記第二のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項７】
請求項１に記載のストレージ装置であって、
前記ゲートウェイは、前記外部ネットワークに送信されるデータパケットを受信し、前記データパケットから読み出した受信アドレスを前記メモリから検索し、前記メモリから対応する仮想受信アドレスを読み取り、前記データパケットの前記受信アドレスを前記メモリから読み取った前記対応する仮想受信アドレスに置換する、ストレージ装置。
【請求項８】
請求項１に記載のストレージ装置であって、
前記仮想受信アドレスと前記受信アドレスはテーブルに格納されている、ストレージ装置。
【請求項９】
プロセッサ、メモリ、及び外部ネットワークに接続するための少なくとも一つのポートを有するサーバと、
情報を記憶する複数のデバイスのうち少なくとも一つのデバイスであって、その複数のデバイスの各々が複数のボリュームのうち少なくとも一つのボリュームを備えるデバイスと、
スイッチと、
前記サーバ、前記スイッチ、及び情報を記憶する複数のデバイスのうち少なくとも一つのデバイスを接続する内部ネットワークと、
を備え、
前記サーバは、データパケットを受信してこれを格納し、前記データパケットから読み出した仮想受信アドレスを前記メモリから検索し、前記仮想受信アドレスに対応する、情報を記憶する前記複数のデバイスのうち少なくとも一つの特定のデバイスを指定する受信アドレスを前記メモリから読み出し、前記データパケットの前記仮想受信アドレスを、前記メモリから読み出した前記対応する受信アドレスに置換し、
前記サーバは、前記データパケットの中からストレージアクセスコマンドと仮想プライベートボリューム識別子とを検索し、検索できたならば、前記仮想プライベートボリューム識別子に対応するボリューム識別子を前記メモリから検索し、前記データパケットの前記仮想プライベートボリューム識別子を前記ボリューム識別子に置換する、ストレージ装置。
【請求項１０】
請求項９に記載のストレージ装置であって、
ゲートウェイを更に備え、
前記ゲートウェイは、プロセッサ、メモリ、及び外部ネットワークに接続するための少なくとも一つのポートを有し、前記外部ネットワークは第一のプロトコルを使用し、前記内部ネットワークは第二のプロトコルを使用し、前記ゲートウェイは前記データパケットを前記第一のプロトコルから前記第二のプロトコルに変換する、ストレージ装置。
【請求項１１】
請求項１０に記載のストレージ装置であって、
前記第一のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項１２】
請求項１０に記載のストレージ装置であって、
前記第二のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項１３】
請求項１０に記載のストレージ装置であって、
前記外部ネットワークは、ＶＰＮ（Virtual Private Network）で構成され、前記ゲートウェイは、前記データパケットに対してＶＰＮ処理を実行する、ストレージ装置。
【請求項１４】
請求項９に記載のストレージ装置であって、
前記サーバは、前記外部ネットワークに送信されるデータパケットを受信し、前記データパケットから読み出した受信アドレスを前記メモリから検索し、前記メモリから対応する仮想受信アドレスを読み取り、前記データパケットの前記受信アドレスを前記メモリから読み取った前記対応する仮想受信アドレスに置換する、ストレージ装置。
【請求項１５】
請求項９に記載のストレージ装置であって、
前記サーバは、前記データパケット内のユーザアドレスに基づいて前記データパケットの送信者を認証する、ストレージ装置。
【請求項１６】
プロセッサ、メモリ、及び外部ネットワークに接続するための少なくとも一つのポートを有するスイッチと、
情報を記憶する複数のデバイスのうち少なくとも一つのデバイスであって、その複数のデバイスの各々が複数のボリュームのうち少なくとも一つのボリュームを備えるデバイスと、
サーバと、
前記サーバ、前記スイッチ、及び情報を記憶する複数のデバイスのうち少なくとも一つのデバイスを接続する内部ネットワークと、
を備え、
前記スイッチは、データパケットを受信してこれを格納し、前記データパケットから読み出した仮想受信アドレスを前記メモリから検索し、前記仮想受信アドレスに対応する、情報を記憶する前記複数のデバイスのうち少なくとも一つの特定のデバイスを指定する受信アドレスを前記メモリから読み出し、前記データパケットの前記仮想受信アドレスを、前記メモリから読み出した前記対応する受信アドレスに置換し、
前記スイッチは、前記データパケットの中からストレージアクセスコマンドと仮想プライベートボリューム識別子とを検索し、検索できたならば、前記仮想プライベートボリューム識別子に対応するボリューム識別子を前記メモリから検索し、前記データパケットの前記仮想プライベートボリューム識別子を前記ボリューム識別子に置換する、ストレージ装置。
【請求項１７】
請求項１６に記載のストレージ装置であって、
ゲートウェイを更に備え、
前記ゲートウェイは、プロセッサ、メモリ、及び外部ネットワークに接続するための少なくとも一つのポートを有し、前記外部ネットワークは第一のプロトコルを使用し、前記内部ネットワークは第二のプロトコルを使用し、前記ゲートウェイは前記データパケットを前記第一のプロトコルから前記第二のプロトコルに変換する、ストレージ装置。
【請求項１８】
請求項１７に記載のストレージ装置であって、
前記第一のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項１９】
請求項１７に記載のストレージ装置であって、
前記第二のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項２０】
請求項１７に記載のストレージ装置であって、
前記外部ネットワークは、ＶＰＮ（Virtual Private Network）で構成され、前記ゲートウェイは、前記データパケットに対してＶＰＮ処理を実行する、ストレージ装置。
【請求項２１】
請求項１６に記載のストレージ装置であって、
前記スイッチは、前記外部ネットワークに送信されるデータパケットを受信し、前記データパケットから読み出した受信アドレスを前記メモリから検索し、前記メモリから対応する仮想受信アドレスを読み取り、前記データパケットの前記受信アドレスを前記メモリから読み取った前記対応する仮想受信アドレスに置換する、ストレージ装置。
【請求項２２】
請求項１６に記載のストレージ装置であって、
前記スイッチは、前記データパケット内のユーザアドレスに基づいて前記データパケットの送信者を認証する、ストレージ装置。
【請求項２３】
情報を記憶する複数のデバイスのうち少なくとも一つのデバイスであって、その複数のデバイスの各々が複数のボリュームのうち少なくとも一つのボリューム、プロセッサ、メモリ、外部ネットワークに接続するための少なくとも一つのポートを有するデバイスと、
スイッチと、
サーバと、
前記サーバ、前記スイッチ、及び情報を記憶する複数のデバイスのうち少なくとも一つのデバイスを接続する内部ネットワークと、
を備え、
前記情報を記憶する複数のデバイスのうち少なくとも一つのデバイスは、データパケットを受信してこれを格納し、前記データパケットから読み出した仮想受信アドレスを前記メモリから検索し、前記仮想受信アドレスに対応する、情報を記憶する前記複数のデバイスのうち少なくとも一つの特定のデバイスを指定する受信アドレスを前記メモリから読み出し、前記データパケットの前記仮想受信アドレスを、前記メモリから読み出した前記対応する受信アドレスに置換し、
前記情報を記憶する複数のデバイスのうち少なくとも一つのデバイスは、前記データパケットの中からストレージアクセスコマンドと仮想プライベートボリューム識別子とを検索し、検索できたならば、前記仮想プライベートボリューム識別子に対応するボリューム識別子を前記メモリから検索し、前記データパケットの前記仮想プライベートボリューム識別子を前記ボリューム識別子に置換する、ストレージ装置。
【請求項２４】
請求項２３に記載のストレージ装置であって、
ゲートウェイを更に備え、
前記ゲートウェイは、プロセッサ、メモリ、及び外部ネットワークに接続するための少なくとも一つのポートを有し、前記外部ネットワークは第一のプロトコルを使用し、前記内部ネットワークは第二のプロトコルを使用し、前記ゲートウェイは前記データパケットを前記第一のプロトコルから前記第二のプロトコルに変換する、ストレージ装置。
【請求項２５】
請求項２４に記載のストレージ装置であって、
前記第一のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項２６】
請求項２４に記載のストレージ装置であって、
前記第二のプロトコルは、ＩＰプロトコル、ＡＴＭ、及びファイバチャネルプロトコルのうち少なくとも何れか一つである、ストレージ装置。
【請求項２７】
請求項２４に記載のストレージ装置であって、
前記外部ネットワークは、ＶＰＮ（Virtual Private Network）で構成され、前記ゲートウェイは、前記データパケットに対してＶＰＮ処理を実行する、ストレージ装置。
【請求項２８】
請求項２３に記載のストレージ装置であって、
前記情報を記憶する複数のデバイスのうち少なくとも一つのデバイスは、前記外部ネットワークに送信されるデータパケットを受信し、前記データパケットから読み出した受信アドレスを前記メモリから検索し、前記メモリから対応する仮想受信アドレスを読み取り、前記データパケットの前記受信アドレスを前記メモリから読み取った前記対応する仮想受信アドレスに置換する、ストレージ装置。
【請求項２９】
請求項２３に記載のストレージ装置であって、
前記情報を記憶する複数のデバイスのうち少なくとも一つのデバイスは、前記データパケット内のユーザアドレスに基づいて前記データパケットの送信者を認証する、ストレージ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にデータストレージシステムに関連し、特に、仮想ボリュームを用いてストレージアクセスを制御する技術に関連する。
【０００２】
【従来の技術】
情報技術の発展とともに、ビジネス企業体は益々増大するストレージ容量が必要になっている。平均的フォーチュン１０００企業においては、来るべき年には、倍以上のストレージ容量が必要になると予想されている。加えて、容量の増大は熟練した情報技術者の不足をもたらしている。このため、多くの企業は、情報技術への投資の拡大を余儀なくさせられている。
【０００３】
容量の急激な増大要求に対抗するため、ストレージ管理を次第に外部委託する企業が増加している。SSP (Storage Service Provider)は、ビジネス企業体に提供できるストレージ管理サービスのひとつになっている。SSPに委ねることにより、企業体はSSPサービス提供者より必要に応じてストレージ資源を得ることが出来る。
【０００４】
SSPはストレージ管理サービスを提供するのみならず、ストレージシステムを自ら所有して、ユーザのホストシステムが使用するためのストレージ容量をも提供する。ユーザはSSPとの間のSLA (Service Level Agreement)契約に従って、ストレージ使用と管理サービスの為の支払いをする。
【０００５】
【発明が解決しようとする課題】
現在のSSP技術により、そこそこの便益は期待できるものの、更なる改良の余地が存在する。例えば、現状の慣用的なSSP技術によれば、SSPは、SSPサイトでSSPが所有しているデイスクストレージシステムのストレージ資源を、ユーザサイトのホストシステムの為に提供する。
【０００６】
しかしながら、SSPユーザによっては、自らの装置をSSPサイトより遠隔地に設置する事を望むかもしれない。例えば、ユーザはSSP内のストレージシステムに保持されているデータを、インターネットまたは他のネットワークを通してアクセスしてもよい。さらに、セキュリテイが、ユーザ及びSSP双方にとって重要な懸案事項である。ユーザにとっては、この事は、貴重なビジネス情報資産がストレージ内のデータに対するアクセスを制限することにより守られることを意味する。
【０００７】
SSPにとっては、この事は、データの正当性が各顧客に対して保証され、ユーザが認証されないアクセスを受けることはない、ということを意味する。例えば、大会社の各部門では、他の部門からアクセスされない自部門専用のストレージ資源を持ちたいこともあり得る。真に要求される技術は、ストレージ資源へのアクセスを管理するための改良された技術である。
【０００８】
【課題を解決するための手段】
本発明は、ストレージ資源へのアクセスを管理する技術を提供する。本発明の実施により、ユーザは仮想アドレスと仮想ボリューム識別子のシステムを用いてストレージデバイス内の資源にアクセスできる様になる。本発明の実施により、たとえば企業体を含めてユーザが、インターネットまたは他の種類のネットワーク接続を経由して、ユーザのネットワークでSSP (Storage Service Provider)内のボリュームを使用することが可能になる。
【０００９】
本発明の実施により、SSPとユーザは、ユーザのデータセンタのみならずSSP内のストレージデバイス、ボリューム、および機器の固有情報を隠蔽し、双方にとってプライバシを確立することができる。
【００１０】
本発明の代表的な実施では、ストレージ装置が提供される。本ストレージ装置は、プロセッサ、メモリ、外部ネットワークに接続するための少なくとも１つのポートを持つゲートウエイと、情報を記憶し各々１つ以上のボリュームから構成される１台以上のデバイス、サーバー、スイッチ、及び該ゲートウエイ、該サーバー、該スイッチ、および該情報を記憶する１台以上のデバイスを接続する内部ネットワークで構成される。
【００１１】
ゲートウエイはデータパケットを受信しこれを記憶し、メモリを検索して該データパケットより抽出した仮想受信アドレスを検出し、該仮想受信アドレスに対応し情報を記憶する1台以上のデバイスの特定の１台を指定する受信アドレスをメモリより読み出し、該データパケットの該仮想受信アドレスをメモリから読み出した対応する受信アドレスで置き換える。
【００１２】
実施例では、仮想受信アドレスと受信アドレスは、テーブルに格納されている。しかしながら、別の実施例としては、これらのアドレスは、ボリューム識別子、ユーザ識別子と共に、他のタイプのデータ構造、例えば、リンクリスト、キュー、スタック等に格納されても良い。さらに、このようなデータ構造は、メモリに配置されても、デイスクストレージなどに格納されても良い。
【００１３】
実施例によっては、ゲートウエイは、データパケット内のユーザアドレスに基づいてデータパケットの発信源の認証を行う。ある実施例では、外部ネットワークは、VPN (Virtual Private Network)機能を有する。このような実施例においては、例えば、ゲートウエイがデータパケットに対するVPN処理を実行する。
【００１４】
実施例によっては、外部ネットワークは第１のプロトコルを使用し、内部ネットワークは第１のプロトコルとは異なる第２のプロトコルを使用する。このような場合は、例えば、ゲートウエイが、データパケットを第１のプロトコルから第２のプロトコルに変換する。第１のプロトコルは、たとえばIPプロトコル、ATM、及びファイバチャネルのどれでも、または本分野の技術者であれば公知の他のタイプのプロトコルでも構わない。同様に、第２のプロトコルは、上記のプロトコルのどれかである。
【００１５】
実施例によっては、ゲートウエイは、データパケットを検索してストレージアクセスコマンドと仮想プライベートボリューム識別子を検出し、検出されれば、メモリを検索して該仮想プライベートボリューム識別子に対応するボリューム識別子を見つけて、該データパケット内の該仮想プライベートボリューム識別子を該ボリューム識別子で置き換える。
【００１６】
実施例によっては、ゲートウエイは、外部ネットワークに送信されるデータパケットを受け取り、メモリを検索して該データパケットより抽出された受信アドレスを検出し、メモリから対応する仮想受信アドレスを読み込み、該データパケット内の該受信アドレスをメモリから読み込んだ対応する仮想受信アドレスで置き換える。
【００１７】
本発明の他の実施例では、ストレージ装置が提供される。本ストレージ装置は、プロセッサ、メモリ、および外部ネットワークに接続するための少なくとも１つのポートを持つサーバー、情報を記憶し各々が１つ以上のボリュームで構成される１台以上のデバイス、スイッチ、及び該サーバー、該スイッチ、該情報を記憶する１台以上のデバイスを接続する内部ネットワークで構成される。
【００１８】
該サーバーは、データパケットを受信しこれを記憶し、メモリを検索して該データパケットより抽出した仮想受信アドレスを検出し、該仮想受信アドレスに対応し情報を記憶する１台以上のデバイスの特定の１台を指定する受信アドレスをメモリから読み込み、該データパケットの該仮想受信アドレスをメモリから読み込んだ対応する受信アドレスで置き換える。
【００１９】
本発明の他の実施例では、ストレージ装置が提供される。本ストレージ装置は、プロセッサ、メモリ、および外部ネットワークに接続するための少なくとも１つのポートを持つスイッチと、情報を記憶し各々が１つ以上のボリュームで構成される１台以上のデバイス、サーバー、及び該サーバー、該スイッチ、該情報を記憶する１台以上のデバイスを接続する内部ネットワークで構成される。
【００２０】
該スイッチは、データパケットを受信しこれを記憶し、メモリを検索して該データパケットより抽出した仮想受信アドレスを検出し、該仮想受信アドレスに対応し情報を記憶する１台以上のデバイスの特定の１台を指定する受信アドレスをメモリから読み込み、該データパケットの該仮想受信アドレスをメモリから読み込んだ対応する受信アドレスで置き換える。
【００２１】
本発明の他の実施例では、ストレージ装置が提供される。本ストレージ装置は、情報を記憶し各々が１つ以上のボリューム、プロセッサ、メモリ、および外部ネットワークに接続するための少なくとも１つのポートから構成される１台以上のデバイス、スイッチ、サーバー、及び該サーバー、該スイッチ、および該情報を記憶する１台以上のデバイスを接続する内部ネットワークで構成される。
【００２２】
該情報を記憶する１台以上のデバイスは、データパケットを受信しこれを記憶し、メモリを検索して該データパケットより抽出した仮想受信アドレスを検出し、該仮想受信アドレスに対応し情報を記憶する１台以上のデバイスの特定の１台を指定する受信アドレスをメモリから読み出し、該データパケットの該仮想受信アドレスをメモリから読み出した対応する受信アドレスで置き換える。
【００２３】
本発明の代表的な実施例では、ストレージを管理する方法が提供される。本方法は、データパケットを受信し、該データパケットより仮想受信アドレスを抽出し、該仮想受信アドレスに対応する情報を記憶する１台以上のデバイスの特定の１台を指定する受信アドレスをメモリから読み出し、該データパケットの該仮想受信アドレスを該対応する受信アドレスで置き換えることを含む。
【００２４】
本発明により、慣用的技術に勝る数々の便益が実現される。本発明の実施により、企業体を含めてユーザが、インターネット、または他の種類のネットワーク接続を経由して、ユーザのネットワークで、SSP (Storage Service Provider)内のボリュームを使用することが可能になる。
【００２５】
本発明の実施により、SSPとユーザは、ユーザのデータセンタのみならずSSP内のストレージデバイス、ボリューム、および機器の固有情報を隠蔽し、双方にとってプライバシを確立することができる。各種の便益が本明細書で述べられている。本発明の更なる本質と便益は、本明細書のこれからの部分と添付図面を参照することにより、明らかになる。
【００２６】
【発明の実施の形態】
本発明は、ストレージ資源へのアクセスを管理する技術を提供するものである。本発明により、ユーザは、ストレージデバイスの仮想アドレスと仮想ボリューム識別子(ID)のシステムを用いてストレージ資源へアクセス出来るようになる。本発明の実施により、SSP (Storage Service Provider)は、インターネットまたは他の種類のネットワーク接続を通して、例えば企業体も含めて、ユーザのネットワークでユーザに対してボリュームを利用可能にする。
【００２７】
本発明の実施により、SSPとユーザは、ユーザのデータセンタのみならずSSP内のストレージデバイス、ボリューム、及び装置の固有情報を隠蔽し、双方にとってプライバシを確立する事が出来る。VPN (Virtual Private Network)は、インターネットのようなパブリックネットワークを用いて、プライベートネットワーク環境を実現する為のネットワーク技術である。
【００２８】
VPNを使用して、２つ以上のネットワークがインターネットを通して接続でき、１つのプライベートネットワークとして互いに交信できるようになる。現状の慣用的VPN技術の注目すべき限界の１つは、VPNを構成するネットワーク機器のすべての固有情報を隠蔽するものではないことである。
【００２９】
ゾーン技術は、FC (Fibre Channel)スイッチで採用されている技術である。ゾーン技術では、１つのポートを他のポートに割り当て可能にし、１つのポートに接続されている装置が、自ポートに割り当てられるべき他のポートに接続されているボリュームを使用出来るようにする。通常は、各装置は直接FCスイッチに接続される。
【００３０】
さらに、慣用的なゾーン技術では、共通のポートに接続され、他の装置から使用されてしまう可能性があるボリュームの固有情報を隠蔽しない。LUN (Logical Unit Number)セキュリテイは、例えば、ファイバチャネルで接続されたストレージデバイスがWWN (World Wide Names)と呼ばれる装置の固有情報を検出し、ストレージデバイス内のボリュームの固有情報を不当アクセスから保護するストレージ技術である。通常は、各装置は直接FCスイッチに接続される。さらに、慣用的な手法では、ユーザはLUNとポートアドレスを認識するだろう。
【００３１】
図１は、本発明の一実施例でのSSP (Storage Service Provider)の代表的な構成を示す図である。グループA１００１は、ユーザのローカルネットワークを示している。グループB１００７は、もう一つのユーザのローカルネットワークを示している。クライアントC１００６は、個人ユーザを示している。データセンタ１０１３は、実施例では、SSPに相当するストレージプロバイダの装置で構成される。データセンタ１０１３は、少なくとも１つのゲートウエイ１０１４と少なくとも１つのストレージ１０３８を有する。
【００３２】
ユーザはWAN (Wide Area Network)１０１２を通して、データセンタ１０１３に接続できる。WAN１０１２は、例えば、インターネットやATMリース回線などである。各ユーザは、例えば、同じネットワークを使用してデータセンタ１０１３に接続できる。ユーザは、専用のリース回線を使用してデータセンタ１０１３に直接接続することもできる。ゲートウエイ１０１４は、データセンタ１０１３外のネットワーク１０１２に接続する為の少なくとも１つのポート１０１７を有する。
【００３３】
ゲートウエイ１０１４は、データセンタ１０１３内のネットワーク１０２５に接続する為の少なくとも１つのポート１０１８を有する。ネットワーク１０２５はストレージデバイスをアクセスするために使用される。ストレージ１０３８はネットワーク１０２５と接続する為の少なくとも１つのポート１０４２を有する。ボリューム１０４４はストレージ１０３８に対して定義され、例えば、SCSI (Small Computer System Interface)プロトコルで定義されるLUN (Logical Unit Number)として使用されるボリュームIDを持つ。
【００３４】
ポート１０４３はネットワーク１０４５に接続され、管理の為に使用される。管理ターミナル１０３６はストレージ１０３８、１０３７、１０３４、１０３５にネットワーク１０４５経由で接続され、ストレージ構成を定義する為に使用される。スイッチ１０２６はネットワーク１０２５に接続する為の少なくとも１つのポート１０２９を有する。スイッチ１０２６はストレージ１０３４に接続する為の少なくとも１つのポート１０３１を有する。他の実施例、例えば、ネットワーク１０２５とネットワーク１０４５が共にIPネットワークの様に同じタイプの場合は、両ネットワークは１つのネットワークとして統合されても良い。
【００３５】
他の実施例、例えば、ネットワーク１０１２がネットワーク１０２５と異なるネットワーク、例えば、ネットワーク１０１２がIPネットワークで、ネットワーク１０２５がFCネットワークの場合は、ゲートウエイ１０１４がこの異なるネットワーク間のプロトコル変換の役割を果たす。ストレージ１０３４が、例えば、ネットワーク１０２５がIPネットワークで、ネットワーク１０４８がFCネットワークのように異なったタイプのネットワークをサポートする実施例の場合は、スイッチ１０２６が両者間のプロトコル変換の役割を果たす。
【００３６】
このような実施例の場合は、ストレージ１０３４とストレージ１０３８は異なったネットワークプロトコルをサポートする。例えば、ネットワーク１０４８とネットワーク１０４６が異なったプロトコルをサポートし、ネットワーク１０４６がネットワーク１０２５と同じプロトコルを採用する場合は、スイッチ１０２６がプロトコル変換の役割を果たす。さらに、 ストレージ１０３４とストレージ１０３８は異なったネットワークプロトコルをサポートし、異なったストレージアクセスプロトコルを採用する事もできる。
【００３７】
もう一つの実施例として、ネットワーク１０４８とネットワーク１０４６が異なったネットワークプロトコルを採用し、ストレージ１０３４とストレージ１０３５がスイッチ１０２６を通して交信する場合は、スイッチ１０２６がプロトコル変換の役割を果たす。さらに、ストレージ１０３４とストレージ１０３８は異なったネットワークプロトコルをサポートし、異なったストレージアクセスプロトコルを採用する事もある。データセンタ１０１３はスイッチ１０２６、または、サーバー１０２０、または双方が省略されても良い。
【００３８】
図２は本発明の一実施例での代表的なプログラムを示すブロックダイアグラムである。図２の実施例で示されるプログラムは、図１のゲートウエイ１０１４のメモリ１０１５中に展開される。図２の実施例で示されるように、通信プログラム２００１は、１つ以上のVPN (Virtual Private Network) プログラム２００２、認証プログラム２００３、ビュープログラム２００４、プロトコル変換プログラム２００５、及び送受信プログラム２００６を含む複数の要素プログラムプロセスで構成される。
【００３９】
VPN プログラム２００２は、ユーザがパブリックネットワークを使用してデータセンタ１０１３内のボリュームにアクセスするのにプライベートネットワークを定義できる様にする。ユーザが、パブリックネットワークを使用してプライベートネットワークを定義するためのVPNを使用しない場合は、VPN プログラム２００２は省略可能である。認証プログラム２００３は、データセンタ１０１３内のストレージデバイス１０３４内の情報にアクセスしようとしているユーザの認証を可能とする。
【００４０】
ゲートウエイ１０１４がユーザ認証を行わない場合は、認証プログラム２００３は省略可能である。ビュープログラム２００４は、データセンタ１０１３内のデータ蓄積用ボリュームに対する仮想及び実アドレスの変換を実行する。プロトコル変換プログラム２００５は、例えば、IPネットワークとFCネットワークの如く、異なったトポロジのネットワークで結合された装置が互いに交信できる様に、プロトコル変換を行う。
【００４１】
さらに、プロトコル変換プログラム２００５は、例えば、SCSIとFCの如く、異なったストレージアクセスプロトコルを持つ装置が互いに交信できる様にもする。データセンタ１０１３外のネットワーク１０１２とデータセンタ１０１３内のネットワーク１０２５が同じ種類の場合は、プロトコル変換プログラム２００５は省略可能である。送受信プログラム２００６はネットワークを経由した通信を司る。ビューテーブル２００７は、ビュープログラム２００４が利用できる様に、多様なユーザに割り当てられたデータセンタ１０１３内のストレージに関する情報を維持しており、メモリ１０１５内に展開される。
【００４２】
図３は、本発明の一実施例でのビューテーブルの代表的なフォーマットを示す図である。図３の実施例に示される如く、ビューテーブル２００７はユーザ用の複数の情報欄により構成される。ユーザタイプ３００１はユーザに関する情報を示す。ユーザアドレス３００２は、個別ユーザのマシンのアドレス、または、複数ユーザのアドレスグループを示す。例えば、ユーザグループ３００７のように、ユーザタイプ３００１が"グループ"にセットされている場合は、グループ３００７に属するユーザは、データセンタ１０１３内の同一ボリュームにアクセスする共通ユーザセットのアドレス３０１０で定義される。
【００４３】
ユーザタイプ３００１が３００８の如く、"個人"にセットされている場合は、ユーザは、データセンタ１０１３内のボリュームにアクセスできるユーザアドレス３０１１で定義される。仮想受信アドレスVDA (Virtual Destination Address)３００３は、ユーザに開示されているストレージユニットを指定する為にユーザが使用するアドレスである。
【００４４】
ストレージデバイスは、ユーザの情報が蓄積され、ユーザに開示されているボリュームを持つ。ユーザがデータセンタ１０１３をアクセスするのにVPNを使用する実施例においては、VDAはVPNを使用するユーザによって定義されたプライベートネットワークでのIPアドレスである。受信アドレス３００４は、データセンタ１０１３内のストレージデバイスのアドレスで、ユーザには開示されていない。例えば、受信アドレス３００４は、IPアドレス、ホスト名、ファイバチャネルのWWN (World Wide Name)等である。
【００４５】
ストレージユニットがネットワーク接続の為に２つ以上のポートを持っている場合は、各ポート毎に受信アドレス３００４が定義される。仮想プライベートボリュームID３００５は、ユーザがアクセスしたいボリュームを指定する為にユーザによって使用されるアドレスである。ボリュームID３００６は、ユーザには開示されていないボリュームIDである。ボリュームID３００６は、例えば、多くの実装例では、SCSIプロトコルで定義されるLUN (Logical Unit Number)で良い。ストレージユニットは、ボリュームID３００６を用いてボリュームにアクセスする。
【００４６】
図４は、本発明の一実施例での代表的な通信プログラムを示すフローチャートである。図２に示される如く、本実施例では、通信プログラム２００１はゲートウエイ１０１４内のメモリ１０１５に存在する。通信プログラム２００１は、データセンタ１０１３内のボリュームのひとつに格納すべきデータを含んだデータパケットを受信し処理する。
【００４７】
データパケットを受信後、ステップ４００１にて、パケットは、例えば、グループAのクライアント１００２の様な、データセンタの外部から受信した内向きデータパケットか否かが判定される。データパケットがデータセンタ１０１３の外部から受信された場合は、処理はステップ４００２に進み、そうでなければステップ４００８に進む。データセンタ１０１３との接続にVPNを使用する場合は、オプションステップ４００２にて、パケットはVPNプログラム２００２によって処理される。
【００４８】
実施例によっては、VPNを使用する場合は、パブリックネットワークでデータを送信する前にデータを暗号化し、受信後に復号処理を行う。セキュリテイをより確実にする為、データのみならず送受信のネットワークアドレスについても暗号処理を適用する。したがって、VPNプログラム２００２はデータパケットのデータに加えて追加的にアドレス情報についても復号処理を実施する。
【００４９】
次に、オプションステップ４００３にて、認証プログラム２００３によりパケットの認証確認がなされる。パケットが認証されると、処理はステップ４００４に進み、そうでなければ、ステップ４００７にてパケットは拒絶される。オプションステップ４００４にて、プロトコル変換プログラム２００５が、必要なプロトコル変換をすべて実施する。例えば、データパケットフォーマット、アドレスフォーマット等が変換される。
【００５０】
次に、ステップ４００５にて、ビュープログラム２００５が、ビューテーブル２００７の当該パケット発信者のエントリにしたがって、データパケット内のアドレスとボリューム情報の変換を行う。内向きパケットの場合は、仮想受信アドレスを受信アドレスに、仮想ボリュームIDをボリュームIDに置き換える。
【００５１】
本実施例での代表的なビュープログラムの処理例を図５に示す。ステップ４０１５にて、ビュープログラム２００５の処理結果がチェックされる。ビュープログラムが"no good (NG)"を返した場合は、パケットはステップ４００７にて拒絶され、次のパケット処理の為にステップ４００１に戻る。
【００５２】
逆に、ビュープログラムが"no good (NG)"を返さなかった場合は、ステップ４００６にて、パケットはデータセンタ内のネットワーク１０２５に送られ、処理は次のパケット処理の為にステップ４００１に戻る。
【００５３】
データパケットがデータセンタ１０１３の外部から受信されたものではなかった場合は、ステップ４００８にて、当該データパケットはデータセンタ１０１３の内部より外部に発信された外向きパケットか否かが判定される。当該パケットがデータセンタ１０１３の内部、例えばストレージ１０３８、から受信されたものなら、ステップ４００９にて、ビュープログラム２００５がビューテーブル２００７内の当該データパケット発信者のエントリにしたがって、データパケット内のアドレスとボリューム情報の変換を行う。
【００５４】
外向きパケットの場合は、受信アドレスを仮想受信アドレスに、ボリュームIDを仮想ボリュームIDに置き換える。そうでない場合は、ステップ４０１３にて、処理を終了して良いか、または、ステップ４０１４にてエラー回復処理を行ってから次のパケット処理の為にステップ４００１に戻るか、を判定する。次に、必要ならオプションステップ４０１０にて、データパケットのプロトコル変換が実施される。
【００５５】
次に、VPN使用時には、オプションステップ４０１１にて、VPNプログラム２００２がデータパケット処理を行う。VPNプログラム２００２は、データパケットのデータに加えて、オプションとしてアドレス情報についても暗号化処理を実施する。次に、ステップ４０１２にて、当該データパケットはデータセンタ１０１３の外部ネットワーク１０１２に送信される。VPNがサポートされていない、または使用されない実施例では、VPN処理ステップ４００２と４０１１は省略される。
【００５６】
データセンタ１０１３の外部のネットワーク１０１２とデータセンタ１０１３の内部のネットワーク１０２５が同じタイプの場合、プロトコル変換処理ステップ４００４と４０１０は省略可能である。ゲートウエイがユーザチェックを行わない場合は、認証処理ステップ４００３は省略可能である。
【００５７】
図５は、本発明の一実施例での代表的なビュープログラム処理を示すフローチャートである。本実施例の図５で示されるビュープログラム処理は、図２のビュープログラム２００４と図４のステップ４００５と４００９の処理に対応する。実施例では、データパケット受信後、ステップ５００１にて、当該データパケットはデータセンタ１０１３の外部から受信された内向きデータパケットか否かが判定される。
【００５８】
当該データパケットがデータセンタ１０１３の外部からのものであれば、ステップ５０１２にて、ユーザによって定義され、ユーザによって使用されるストレージアドレスである仮想受信アドレス３００３はユーザにとって正しいか否かが判定される。本チェックは、各ユーザの正しいアドレスを登録しているビューテーブル２００７を参照することにより実施される。
【００５９】
実施例では、仮想受信アドレス３００３は、当該データパケットを送信したユーザに対して正しいアドレスか否かがチェックされる。仮想受信アドレス３００３が正しくなければ、処理は、"no good (NG)"応答を呼び出したプロセスに返す。正しい場合は、ステップ５００２にて、図３のビューテーブル２００７を検索して当該データパケット内の仮想受信アドレス３００３に対応する受信アドレス３００４を求める。
【００６０】
次に、ステップ５００３にて、当該データパケット内の仮想受信アドレス３００３をビューテーブル２００７から求めた受信アドレス３００４に置き換える。次に、ステップ５００４にて、当該データパケットはストレージアクセスコマンドを含むか否か、また含むなら仮想ボリュームID３００５を含むかが判定される。当該データパケットが仮想ボリュームIDを含まなければ、当該データパケットにおいて仮想受信アドレス３００３を受信アドレス３００４に変換した状態で、OK状態の応答を呼び出したプロセスに返す。
【００６１】
仮想ボリュームIDを含めば、ステップ５０１３にて、再度ビューテーブル２００７をチェックして、仮想プライベートボリュームIDがデータパケットを送信したユーザに対して正しいか否かが判定される。仮想プライベートボリュームIDが正しくなければ、処理は"no good (NG)"応答を呼び出したプロセスに返す。正しい場合は、ステップ５００５にて、ビューテーブル２００７を検索して、当該データパケットを送信したユーザに対する仮想プライベートボリュームID３００５を求める。次に、ステップ５００６にて、当該データパケット内の仮想プライベートボリュームID３００５をビューテーブル２００７から求めたボリュームID３００６に置き換える。
【００６２】
データパケットがデータセンタ１０１３の外部から受信したのでなければ、本パケットは外向きパケットである。したがって、ステップ５００７にて、ビューテーブル２００７を検索して当該データパケットの受信ユーザに対応する仮想受信アドレス３００３を求める。
【００６３】
次に、ステップ５００８にて、当該データパケット内の受信アドレス３００４をビューテーブル２００７より抽出したユーザ用の仮想受信アドレス３００３に置き換える。次に、判定のステップ５００９にて、当該データパケットはストレージアクセスコマンドとボリュームID３００６を含むかが判定される。当該データパケットがストレージアクセスコマンドを含み、当該コマンドがボリュームID３００６を含むなら、ステップ５０１０にて、ビューテーブル２００７を検索して当該ユーザのボリュームID３００６を求める。ステップ５０１１にて、ボリュームID３００６をビューテーブル２００７より抽出したユーザ用の対応する仮想ボリュームID３００５に置き換える。
【００６４】
当該データパケットがストレージアクセスコマンドとボリュームIDを含まなければ、ユーザに対する受信アドレスを仮想受信アドレスに変換した状態で、OK状態の応答を呼び出したプロセスに返す。ゲートウエイ１０１４がボリュームIDを扱わない場合は、ステップ５００４、５００５、５００６、５００９、５０１０、５０１１、及び５０１３は省略可能である。
【００６５】
図６は、本発明の一実施例でのユーザに見える代表的なストレージシステムの図である。図６に示すように、データセンタ１０１３は情報を記憶するための複数のボリュームを有する。例えば、これらのボリュームは、１０３４、１０３７、１０３８等の複数のストレージユニットより割り当てる事が出きる。複数のユーザは、１つ以上のネットワーク１０１２を使用してデータセンタ１０１３に接続することにより、データセンタ１０１３内の多様なボリューム上の情報にアクセスする。
【００６６】
例えば、グループA １００１のユーザは、仮想受信アドレス６００１を用いて、WAN１０１２を通して、データセンタ１０１３に接続する。グループA １００１には、彼らのストレージは仮想ボリューム６００２のイメージとして表われる。グループB １００７の他のユーザは、仮想受信アドレス６００５を用いて、WAN１０１２を通して、データセンタ１０１３に接続する。
【００６７】
同様に、グループB １００７には、彼らのストレージは、仮想ボリューム６００６のイメージとして表われる。個人ユーザのクライアントC １００６は、仮想受信アドレス６００３を用いて、WAN１０１２を通して、データセンタ１０１３に接続する。ユーザC １００６には、彼らのストレージは仮想ボリューム６００４のイメージとして表われる。
【００６８】
したがって、データセンタ１０１３は、各ユーザに対して独立の個別のボリュームがある様に見える。さらに、各ユーザは、データセンタ１０１３内の他のユーザのストレージボリュームを見ることは出来ない。
【００６９】
図７は、本発明の一実施例での代表的なプログラムのブロックダイアグラムである。図７の実施例では、プログラムは、図１のサーバー１０２０内のメモリ１０２２内に展開される。図７の実施例で示されるように、通信プログラム２００１は、１つ以上のVPN (Virtual Private Network) プログラム２００２、認証プログラム２００３、ビュープログラム２００４、プロトコル変換プログラム２００５、及び送受信プログラム２００６を含む複数の要素プログラムプロセスで構成される。VPN プログラム２００２は、ユーザがパブリックネットワークを使用してデータセンタ１０１３内のボリュームにアクセスするのにプライベートネットワークを定義できる様にする。
【００７０】
ユーザが、パブリックネットワークを使用してプライベートネットワークを定義するためのVPNを使用しない実施例では、VPN プログラム２００２は省略可能である。認証プログラム２００３は、データセンタ１０１３内のストレージデバイス１０３４内の情報にアクセスしようとしているユーザの認証を可能とする。サーバー１０２０がユーザ認証を行わない場合は、認証プログラム２００３は省略可能である。ビュープログラム２００４は、データセンタ１０１３内のデータ蓄積用ボリュームの仮想及び実アドレスの変換を実行する。
【００７１】
プロトコル変換プログラム２００５は、例えば、SCSIとFCの様に、異なったストレージアクセスプロトコルを持つ装置が互いに交信できる様にするプロトコル変換機能を有する。ユーザ装置とデータセンタ１０１３内のストレージ装置が、同じ種類のストレージアクセスプロトコルを持つ場合は、プロトコル変換プログラム２００５は、省略可能である。
【００７２】
たとえば、ネットワーク１０１２がIPネットワークプロトコルで、ネットワーク１０２５がFCネットワークの様に、異なったネットワークプロトコルを使用している場合は、ゲートウエイ１０１４が異なったタイプのネットワークプロトコル間のプロトコル変換を行う。実施例では、データは、データセンタ１０１３の外部からゲートウエイ１０１４を経由して受信され、ゲートウエイ１０１４を経由して当該外部のターゲットに送信される。
【００７３】
送受信プログラム２００６は、ネットワークを経由した通信機能を提供する。ビューテーブル２００７は、ビュープログラム２００４が利用できる様に、多様なユーザに割り当てられたデータセンタ１０１３内のストレージに関する情報を維持しており、サーバー１０２０内のメモリ１０２２に展開される。図７に示した実施例では、ユーザは、図６に示される様なデータセンタストレージの代表的なユーザイメージを持つことが出来る。
【００７４】
図８は、本発明の一実施例での代表的なプログラムのブロックダイアグラムである。図８の実施例では、プログラムは、図１のスイッチ１０２６内のメモリ１０２８に展開される。図８の実施例で示されるように、通信プログラム２００１は、１つ以上のVPN (Virtual Private Network) プログラム２００２、認証プログラム２００３、ビュープログラム２００４、プロトコル変換プログラム２００５、及び送受信プログラム２００６を含む複数の要素プログラムプロセスで構成される。
【００７５】
VPN プログラム２００２は、ユーザがパブリックネットワークを使用してデータセンタ１０１３内のボリュームにアクセスするのにプライベートネットワークを定義できる様にする。ユーザが、パブリックネットワークを使用してプライベートネットワークを定義するためのVPNを使用しない実施例では、VPN プログラム２００２は省略可能である。認証プログラム２００３は、データセンタ１０１３内のストレージデバイス１０３４内の情報にアクセスしようとしているユーザの認証を可能とする。
【００７６】
スイッチ１０２６がユーザ認証を行わない場合は、認証プログラム２００３は省略可能である。ビュープログラム２００４は、データセンタ１０１３内のデータ蓄積用ボリュームの仮想及び実アドレスの変換を実行する。プロトコル変換プログラム２００５は、例えば、IPネットワークとFCネットワークの様に、異なったトポロジのネットワークで接続された装置が互いに交信できる様にするプロトコル変換機能を実行する。
【００７７】
さらに、プロトコル変換プログラム２００５は、例えば、SCSIとFCの様に、異なったストレージアクセスプロトコルを持つ装置が互いに交信できる様にもする。データセンタ１０１３外のネットワーク１０１２とデータセンタ１０１３内のネットワーク１０２５が、同じ種類の場合は、プロトコル変換プログラム２００５は省略可能である。
【００７８】
実施例では、データは、データセンタ１０１３の外部からゲートウエイ１０１４を経由して受信され、ゲートウエイ１０１４を経由して外部ターゲットに送信される。ネットワーク１０１２とネットワーク１０２５が異なったプロトコルを使用している場合は、ゲートウエイ１０１４がプロトコル変換機能を実行する。本実施例では、スイッチ１０２６が受信アドレスで定義されたポートにパケットを送信する。
【００７９】
送受信プログラム２００６は、ネットワークを経由した通信機能を提供する。ビューテーブル２００７は、ビュープログラム２００４が利用できる様に、多様なユーザに割り当てられたデータセンタ１０１３内のストレージに関する情報を維持しており、スイッチ１０２６内のメモリ１０２８に展開される。図８に示した実施例では、ユーザは、図６に示される様なデータセンタストレージの代表的なユーザイメージを持つことが出来る。
【００８０】
図９は、本発明の一実施例での代表的なプログラムのブロックダイアグラムである。図９の実施例では、プログラムは、図１のストレージデバイス１０３８内のメモリ１０４０に展開される。図９の実施例で示されるように、通信プログラム９００１は、１つ以上のVPN (Virtual Private Network) プログラム２００２、認証プログラム２００３、ビュープログラム９００２、データIOプログラム９００３、及び送受信プログラム２００６を含む複数の要素プログラムプロセスで構成される。VPN プログラム２００２は、ユーザがパブリックネットワークを使用してデータセンタ１０１３内のボリュームにアクセスするのにプライベートネットワークを定義できる様にする。
【００８１】
ユーザが、パブリックネットワークを使用してプライベートネットワークを定義するためのVPNを使用しない実施例では、VPN プログラム２００２は省略可能である。認証プログラム２００３は、データセンタ１０１３内のストレージデバイス１０３８内の情報にアクセスしようとしているユーザの認証を可能とする。ストレージデバイス１０３８がユーザ認証を行わない場合は、認証プログラム２００３は省略可能である。
【００８２】
ビュープログラム９００２は、データセンタ１０１３内のデータ蓄積用ボリュームの仮想及び実アドレスの変換を実行する。データIOプログラム９００３は、ストレージデバイス１０３８に対する情報の読み書き動作を提供する。送受信プログラム２００６は、ネットワークを経由した通信機能を提供する。
【００８３】
ビューテーブル２００７は、ビュープログラム２００４が利用できる様に、多様なユーザに割り当てられたデータセンタ１０１３内のストレージに関する情報を維持しており、ストレージデバイス１０３８内のメモリ１０４０に展開される。図９に示した実施例では、ユーザは、図６に示される様なデータセンタストレージの代表的なユーザイメージを持つことが出来る。
【００８４】
図１０は、本発明の一実施例での代表的な通信プログラムのフローチャートである。図９で示した様に、実施例では、通信プログラム９００１は、ストレージデバイス１０３８内のメモリ１０４０に展開される。通信プログラム９００１は、データセンタ１０１３内のボリュームのひとつに蓄えられるべきデータを保有したデータパケットを受信し処理する。データパケットを受信後、ステップ１０００１にて、パケットは、例えば、グループAのクライアント１００２の様な、データセンタの外部から受信した内向きデータパケットか否かを判定する。
【００８５】
データパケットがデータセンタ１０１３の外部から受信した場合は、処理はステップ１００１０に進み、そうでなければステップ１００１１に進む。データセンタ１０１３との接続にVPNを使用する場合は、オプションステップ１００１０にて、パケットはVPNプログラム２００２によって処理される。VPNを使用する実施例では、パブリックネットワークでデータを送信する前にデータを暗号化し、受信後に復号処理を行う。セキュリテイをより確実にする為、データのみならず送受信のネットワークアドレスについても暗号処理を適用する。
【００８６】
したがって、VPNプログラム２００２はデータパケットのデータに加えて、追加的にアドレス情報についても復号処理を実施する。次に、オプションステップ１０００２にて、認証プログラム２００３により、パケットの認証確認がなされる。パケットが認証されると、処理はステップ１０００３に進む。そうでなければ、ステップ１０００７にてパケットは拒絶される。ステップ１０００３にて、ビュープログラム９００２が、ビューテーブル２００７の当該データパケット発信者のエントリにしたがって、データパケット内のアドレスとボリューム情報の変換を行う。内向きパケットの場合は、仮想ボリュームIDをボリュームIDに置き換える。
【００８７】
本実施例での代表的なビュープログラムの処理例を図１１に示す。ステップ１００１２にて、ビュープログラム９００２の処理結果がチェックされる。ビュープログラム９００２が"no good (NG)"を返した場合は、パケットはステップ１０００７にて拒絶され、次のデータパケット処理の為にステップ１０００１に戻る。逆に、ビュープログラム９００２が"no good (NG)"を返さなかった場合は、ステップ１０００４にて、データIO処理が実施される。
【００８８】
データIOプログラム９００３は、ストレージアクセスコマンドに従って、ボリュームからデータパケットへのRead処理か、データパケットからボリュームへのWrite処理かを実行する。データIO処理の完了後、次のデータパケット処理のためにステップ１０００１に戻る。
【００８９】
ステップ１０００１にて、データパケットがデータセンタ１０１３の外部から受信されたものではなかった場合は、ステップ１００１１にて、当該データパケットはコマンドまたはデータを送信しているデータIOプログラム９００３から発信されたものか否かが判定される。データパケットがデータIOプログラム９００３によって発信されたものなら、ステップ１０００５にて、ビュープログラム９００２が、ビューテーブル２００７の当該データパケット発信者のエントリにしたがって、データパケット内のアドレスとボリューム情報の変換を行う。外向きパケットの場合は、ボリュームIDを仮想ボリュームIDに置き換える。
【００９０】
次に、ステップ１０００６にて、当該データパケットはデータセンタの外部に送信され、処理はステップ１０００１に戻って、次のデータパケット処理に備える。データパケットがデータIOプログラム９００３から送られたのではない場合は、ステップ１０００８にて、処理を終了して良いかを判定する。処理を終了する判定の場合は、処理を終了し、そうでない場合は、ステップ１０００９にて、エラー回復処理を実施した後に、ステップ１０００１に戻って次のデータパケット処理が実施される。ストレージデバイス１０３８がユーザ認証を行わない場合は、認証ステップ１０００２は省略可能である。
【００９１】
図１１は、本発明の一実施例での代表的なビュープログラム処理のフローチャートである。実施例において、図１１のフローチャートで示したビュープログラム処理は、図９のビュープログラム９００２と図１０の処理ステップ１０００３及び１０００５に対応する。データパケット受信後、ステップ１１００１にて、本データパケットはデータセンタ１０１３より送信される外向きデータパケットか否かが判定される。
【００９２】
本データパケットが外部からデータセンタ１０１３に向かうものなら、処理はステップ１１００２に進み、逆の場合は、ステップ１１００５に進む。次に、ステップ１１００２にて、本データパケットがストレージアクセスコマンドを有するか、有する場合は、本コマンドは仮想ボリュームID３００５を含むか否かが判定される。本データパケットが仮想ボリュームIDを含まなければ、処理はOK応答を伴って呼び出したプロセスに戻る。
【００９３】
仮想ボリュームIDを含む場合は、ステップ１１００９にて、ビューテーブル２００７の内容をチェックして、当該仮想プライベートボリュームIDが当該パケットの送信ユーザに対して正しいか否かが判定される。不正仮想プライベートボリュームIDが検出されたら、処理は"no good"応答を呼び出したプロセスに返す。仮想ボリュームIDが正当な場合は、ステップ１１００３にて、ビューテーブル２００７を検索してパケット送信ユーザの仮想プライベートボリュームID３００５に対応するボリュームID３００６を求める。次に、ステップ１１００４にて、本データパケット内の仮想ボリュームID３００５をビューテーブル２００７から抽出したボリュームID３００６により置き換える。
【００９４】
本データパケットがデータセンタ１０１３の外部から受信されたものではない場合は、本パケットは外向きパケットである。従って、判定ステップ１１００５にて、本データパケットはストレージアクセスコマンドとボリュームID３００６を有するかをチェックする。
【００９５】
本データパケットがストレージアクセスコマンドを有し、本コマンドがボリュームID３００６を有する場合は、ステップ１１００６にて、ビューテーブル２００７を検索して当該ユーザのボリュームID３００６を検出する。ステップ１１００７にて、ボリュームID３００６は、ビューテーブル２００７よりユーザに対応して抽出した仮想ボリュームID３００５に置き換えられる。本データパケットがストレージアクセスコマンドとボリュームIDを含まない場合は、当該ユーザの受信アドレスを仮想受信アドレスに変換して、"OK"応答を呼び出したプロセスに返す。
【００９６】
図１１に示した実施例では、ユーザは、図６に示される様なデータセンタストレージの代表的なユーザイメージを持つことが出来る。本発明のその他の実施例として、データセンタ内のゲートウエイ、サーバー、スイッチ、ストレージのような如何なる装置でも、同時にビユー変換機能を果たす事が出来る。
【００９７】
これまで述べ来たことは、本発明の好適な実施例である。付記されている請求の範囲で定義された本発明の範囲を逸脱する事なく、変更と修正が可能である事は言うまでもない。
【００９８】
【発明の効果】
本発明の実施により、ユーザは、仮想アドレスと仮想ボリューム識別子のシステムを用いて、ストレージデバイス内の資源にアクセスできる様になる。本発明の実施により、企業体を含めてユーザが、インターネットまたは他の種類のネットワークを経由して、ユーザのネットワークでSSP (Storage Service Provider)内のボリュームを使用することが可能になる。本発明の実施により、SSPとユーザは、ユーザのデータセンタのみならずSSP内のストレージデバイス、ボリューム、および機器の固有情報を隠蔽し、双方にとってプライバシを確立することができる。
【図面の簡単な説明】
【図１】本発明の一実施例でのSSP (Storage Service Provider)の代表的な構成を示すダイアグラムである。
【図２】本発明の一実施例での代表的なプログラムを示すブロックダイアグラムである。
【図３】本発明の一実施例でのビューテーブルの代表的なフォーマットを示す図である。
【図４】図４は、本発明の一実施例での代表的な通信プログラムを示すフローチャートである。
【図５】本発明の一実施例での代表的なビュープログラム処理を示すフローチャートである。
【図６】本発明の一実施例でのユーザに見える代表的なストレージシステムを示す図である。
【図７】本発明の一実施例での代表的なプログラムを示すブロックダイアグラムである。
【図８】本発明の一実施例での代表的なプログラムを示すブロックダイアグラムである。
【図９】本発明の一実施例での代表的なプログラムを示すブロックダイアグラムである。
【図１０】本発明の一実施例での代表的な通信プログラムを示すフローチャートである。
【図１１】本発明の一実施例での代表的なビュープログラム処理を示すフローチャートである。
【符号の説明】
１００１、１００７・・・グループA、B、１００２、１００６、１００８・・・クライアント、
１００３、１００９、１０２０・・・サーバー、１０１３・・・データセンタ、１０２６・・・          スイッチ、１０３４，１０３５，１０３７，１０３８・・・ストレージ、１０４４・・・ボリューム、
１０３６・・・管理ターミナル、２００１、９００１・・・通信プログラム、２００２・・・VPNプログラム、２００３・・・認証プログラム、２００４・・・ビュープログラム、２００５・・・プロトコル変換プログラム、２００６・・・送受信プログラム、９００３・・・データIOプログラム
【図１】
0004327408.tif 000002
【図２】
0004327408.tif 000003
【図３】
0004327408.tif 000004
【図４】
0004327408.tif 000005
【図５】
0004327408.tif 000006
【図６】
0004327408.tif 000007
【図７】
0004327408.tif 000008
【図８】
0004327408.tif 000009
【図９】
0004327408.tif 000010
【図１０】
0004327408.tif 000011
【図１１】
0004327408.tif 000012