(57)【要約】  本発明は、ネットワークに接続するホスト装置を、より望ましいストレージにアクセスさせる。ストレージ提供システムは、それぞれ特性が異なる２台以上のストレージと、前記ストレージにアクセスするホスト装置と、前記ストレージと前記ホスト装置との間に配置されたスイッチと、前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するストレージ選択装置と、前記ホスト装置が、前記選択したストレージにアクセスできるよう前記スイッチを制御する制御装置と、を含む。
2015022908.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ特性が異なる２台以上のストレージと、
前記ストレージにアクセスするホスト装置と、
前記ストレージと前記ホスト装置との間に配置されたスイッチと、
前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するストレージ選択装置と、
前記ホスト装置が、前記選択したストレージにアクセスできるよう前記スイッチを制御する制御装置と、を含むストレージ提供システム。
【請求項２】
前記ストレージ選択装置は、各ホスト装置からストレージへのアクセス統計に基づいて、前記ホスト装置上で動作するサービスの特徴を分析し、前記ホスト装置が利用するデータの格納先となるストレージを選択する請求項１のストレージ提供システム。
【請求項３】
さらに、前記ストレージ選択装置のストレージの選択結果に基づき、前記ホスト装置が利用するデータの格納先となるストレージを変更し、前記ストレージに対し、データの移動を指示するストレージ管理装置を含む請求項１又は２のストレージ提供システム。
【請求項４】
前記ホスト装置が利用するデータの移動が行われた場合、
前記制御装置は、前記ホスト装置が利用するデータの移動に応じて前記スイッチに対する指示を変更する請求項３のストレージ提供システム。
【請求項５】
前記ストレージ管理装置は、前記データの移動を行うストレージ間で、必要に応じて、データ形式の変換を行う請求項３又は４のストレージ提供システム。
【請求項６】
さらに、前記２台以上のストレージと、ホスト装置との間に、
前記ホスト装置が対応する第１のプロトコルのメッセージと、前記ストレージが対応する第２のプロトコルのメッセージに変換するプロトコル変換装置を配置した請求項１から５いずれか一のストレージ提供システム。
【請求項７】
前記制御装置は、前記ホスト装置が指定したストレージのアドレスと、前記ホスト装置が実際にアクセスするストレージのアドレスとの変換を行う請求項１から６いずれか一のストレージ提供システム。
【請求項８】
それぞれ特性が異なる２台以上のストレージと、
前記ストレージにアクセスするホスト装置と、
前記ストレージと前記ホスト装置との間に配置されたスイッチと、
前記スイッチを制御する制御装置と、に接続されたストレージの選択装置であって、
前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するストレージ選択部と、
前記選択したストレージとホスト装置との組合せを前記制御装置に通知し、前記ホスト装置が前記選択したストレージにアクセスできるよう前記スイッチを制御させる通知部とを備えるストレージ選択装置。
【請求項９】
それぞれ特性が異なる２台以上のストレージと、
前記ストレージにアクセスするホスト装置と、
前記ストレージと前記ホスト装置との間に配置されたスイッチと、
前記スイッチを制御する制御装置と、が接続されたストレージ提供システムにおいて、
前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するステップと、
前記選択したストレージとホスト装置との組合せを前記制御装置に通知し、前記ホスト装置が前記選択したストレージにアクセスできるよう前記スイッチを制御させるステップとを備えるストレージ提供方法。
【請求項１０】
それぞれ特性が異なる２台以上のストレージと、
前記ストレージにアクセスするホスト装置と、
前記ストレージと前記ホスト装置との間に配置されたスイッチと、
前記スイッチを制御する制御装置と、が接続されたストレージ提供システムに接続されたコンピュータに、
前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択する処理と、
前記選択したストレージとホスト装置との組合せを前記制御装置に通知し、前記ホスト装置が前記選択したストレージにアクセスできるよう前記スイッチを制御させる処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１３−１６７７９１号（２０１３年８月１２日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ストレージ提供システム、ストレージ選択装置、ストレージ提供方法及びプログラムに関し、特に、ストレージを選択してホスト装置にアクセスさせるストレージ提供システム、ストレージ選択装置、ストレージ提供方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、要求される性能をなるべく満足させることができるという、データマイグレーション技術が開示されている。同文献によると、サーバ１１が、各業務ＡＰ（アプリケーション）のＩＯＰＳ（Ｉ／Ｏ  ｐｅｒ  ｓｅｃｏｎｄ）測定値と、各業務ＡＰのアクセス先である各論理ボリューム（ＶＯＬ）のＩＯＰＳ測定値とを取得し、取得した各種ＩＯＰＳ測定値に基づいて、複数のＶＯＬの中からソースサブ候補を選択する。サーバ１１は、選択されたソースサブ候補が属するパリティグループを複数のパリティグループの中から判別し、判別されたパリティグループに属する二以上のＶＯＬを二以上のソース候補とし、複数の他のＶＯＬの中から各ターゲット候補を選択する。サーバ１１は、最も好ましいマイグレーションが行われる及び／又はマイグレーションの結果が最も好ましいと推測される、ソース候補とターゲット候補のペアを選択し、選択したペアを構成するソースからターゲットへとデータをマイグレーションする、と記載されている。【０００３】
特許文献２に、異なる拠点間のライブマイグレーション処理を、ストレージ領域に格納されるデータを他の拠点に移行させることなく実現するというネットワーク装置が開示されている。同文献によると、このネットワーク装置は、プロセッサとメモリとインタフェースとを備え、メモリは、アクセス処理部を実現するためのプログラム及び接続管理情報を格納し、アクセス処理部は、ライブマイグレーション処理の開始通知を受信し、接続管理情報を参照して、仮想計算機に割り当てられている記憶領域にアクセスするためのポートを特定し、仮想計算機から送信されるアクセス要求を転送する転送先の装置のアドレスを取得し、ポートとアドレスとを対応づけて変換情報を生成し、変換情報に基づいて、ライブマイグレーション処理が実行された後に送信されるアクセス要求を制御する、と記載されている。【０００４】
ネットワークに接続されるストレージには、ファイル、テーブル、Ｋｅｙ  Ｖａｌｕｅ、ｒａｗ等様々な形態でデータを格納するストレージがある。また、同じタイプのストレージであってもその種類等により、アクセス速度、容量効率、コスト、可能な検索手法等の違いがある。これらストレージのタイプおよび種類に関しては、アプリケーションの初期化時点で決定されている。また、ＩＬＭ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｌｉｆｅｃｙｃｌｅ  Ｍａｎａｇｅｍｅｎｔ）では、データのアクセス頻度を考慮して、ストレージとのアクセスにストレージ仮想化装置を用い、同一タイプのストレージ間でのデータの移動を行うことが可能となっている（特許文献１の段落０００７−０００８参照）。【０００５】
非特許文献１、２は、ホストとストレージ間のアクセス経路の制御が可能なネットワークの一例である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１５６８１５号公報
【特許文献２】特開２０１３−３００８５号公報
【非特許文献】
【０００７】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年７月２日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年７月２日検索］、インターネット〈URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。上述したように、ネットワークに様々な種類のストレージが接続されることがあるが、ネットワークに接続するホスト装置が、最適なストレージへアクセスできる保証がないという問題点がある。例えば、ホスト装置のアプリケーションの初期化時にストレージを選択することが行われているが、その際に、上記ストレージの特徴は全く考慮されていない。【０００９】
特許文献１では、データマイグレーション時に、各業務ＡＰ（アプリケーション）のアクセス元の性能（アクセス元性能）と、各業務ＡＰのアクセス先である各論理ボリューム自体の性能（ボリューム性能）とを取得し、取得した各性能値に基づいて、複数の論理ボリュームの中からソースボリュームと、ターゲットボリュームとのペアを選択することが記載されている。しかしながら、同文献には、ホストにおいて稼動しているサービス、とりわけその特徴を考慮してストレージを選択することについては記載されていない。【００１０】
本発明は、ネットワークに接続するホスト装置からストレージへのアクセス性の向上に貢献することができるストレージ提供システム、ストレージ選択装置、ストレージ提供方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の視点によれば、それぞれ特性が異なる２台以上のストレージと、前記ストレージにアクセスするホスト装置と、前記ストレージと前記ホスト装置との間に配置されたスイッチと、前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するストレージ選択装置と、前記ホスト装置が、前記選択したストレージにアクセスできるよう前記スイッチを制御する制御装置と、を含むストレージ提供システムが提供される。【００１２】
第２の視点によれば、それぞれ特性が異なる２台以上のストレージと、前記ストレージにアクセスするホスト装置と、前記ストレージと前記ホスト装置との間に配置されたスイッチと、前記スイッチを制御する制御装置と、に接続されたストレージの選択装置であって、前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するストレージ選択部と、前記選択したストレージとホスト装置との組合せを前記制御装置に通知し、前記ホスト装置が前記選択したストレージにアクセスできるよう前記スイッチを制御させる通知部とを備えるストレージ選択装置が提供される。【００１３】
第３の視点によれば、それぞれ特性が異なる２台以上のストレージと、前記ストレージにアクセスするホスト装置と、前記ストレージと前記ホスト装置との間に配置されたスイッチと、前記スイッチを制御する制御装置と、が接続されたストレージ提供システムにおいて、前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するステップと、前記選択したストレージとホスト装置との組合せを前記制御装置に通知し、前記ホスト装置が前記選択したストレージにアクセスできるよう前記スイッチを制御させるステップとを備えるストレージ提供方法が提供される。本方法は、ネットワーク上のストレージを選択するストレージ選択装置という、特定の機械に結びつけられている。【００１４】
第４の視点によれば、それぞれ特性が異なる２台以上のストレージと、前記ストレージにアクセスするホスト装置と、前記ストレージと前記ホスト装置との間に配置されたスイッチと、前記スイッチを制御する制御装置と、が接続されたストレージ提供システムに接続されたコンピュータに、前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択する処理と、前記選択したストレージとホスト装置との組合せを前記制御装置に通知し、前記ホスト装置が前記選択したストレージにアクセスできるよう前記スイッチを制御させる処理とを実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、ネットワークに接続するホスト装置からストレージへのアクセス性の向上に貢献することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態のストレージ提供システムの構成を示す図である。
【図２】本発明の第１の実施形態のスイッチの詳細構成を示す図である。
【図３】本発明の第１の実施形態のスイッチのフローテーブルに設定される制御情報（フローエントリ）の例を示す図である。
【図４】図４の制御情報（フローエントリ）のインストラクションフィールドに設定可能なアクション（処理命令）の例を示す図である。
【図５】本発明の第１の実施形態の制御装置の詳細構成を示す図である。
【図６】本発明の第１の実施形態の制御装置が保持するホスト−ストレージ対応情報記憶部に保持されるエントリの例を示す図である。
【図７】本発明の第１の実施形態の制御装置が保持するトポロジーデータベースのエントリの例を示す図である。
【図８】本発明の第１の実施形態のストレージ選択装置の詳細構成を示す図である。
【図９】本発明の第１の実施形態のストレージ選択装置が保持するストレージ特性データベースのエントリの例を示す図である。
【図１０】本発明の第１の実施形態のスイッチの動作を表した流れ図である。
【図１１】本発明の第１の実施形態の制御装置の動作を表した流れ図である。
【図１２】本発明の第１の実施形態のストレージ選択装置の動作を表した流れ図である。
【図１３】本発明の第１の実施形態のストレージ提供システムの動作を表したシーケンス図である。
【図１４】本発明の第１の実施形態のストレージ提供システムの動作を表した別のシーケンス図である。
【図１５】本発明の第２の実施形態のストレージ提供システムの構成を示す図である。
【図１６】本発明の第２の実施形態のストレージ選択装置の詳細構成を示す図である。
【図１７】本発明の第２の実施形態のストレージ選択装置が保持する使用ストレージ情報記憶部に保持されるエントリの例を示す図である。
【図１８】本発明の第２の実施形態のストレージ管理装置の詳細構成を示す図である。
【図１９】本発明の第２の実施形態のストレージ選択装置の動作を表した流れ図である。
【図２０】本発明の第２の実施形態のストレージ管理装置の動作を表した流れ図である。
【図２１】本発明の第２の実施形態のストレージ提供システムの動作を表したシーケンス図である。
【図２２】本発明の第２の実施形態のストレージ提供システムの動作を表したシーケンス図である。
【図２３】本発明の第３の実施形態のストレージ提供システムの構成を示す図である。
【図２４】本発明の第４の実施形態のストレージ提供システムの構成を示す図である。
【図２５】本発明の第５の実施形態のストレージ選択装置の詳細構成を示す図である。
【発明を実施するための形態】
【００１７】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
本発明は、その一実施形態において、それぞれ特性が異なる２台以上のストレージ（図１の２ａ〜２ｎ）と、前記ストレージにアクセスするホスト装置（図１の１）と、前記ストレージと前記ホスト装置との間に配置されたスイッチ（図１の３）と、前記ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、前記ホスト装置に利用させるストレージを選択するストレージ選択装置（図１の５）と、前記ホスト装置が、前記選択したストレージにアクセスできるよう前記スイッチを制御する制御装置（図１の４）と、を含む構成にて実現できる。
【００１９】
前記ストレージ選択装置（図１の５）は、例えば、ホスト装置上で動作するサービスの特徴と前記ストレージの特性とに基づいて、図１のホスト装置１に利用させるストレージとして、ストレージ２ａを選択し、制御装置（図１の４）に通知する。前記制御装置（図１の４）は、前記通知に基づいて、ホスト装置１からのストレージ宛のパケットをストレージ２ａに送信するようスイッチ（図１の３）を制御する。以上のようにすることで、ネットワークに接続するホスト装置が、より望ましいストレージにアクセスすることができるようになる。
【００２０】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態のストレージ提供システムの構成を示す図である。図１を参照すると、スイッチ３と、このスイッチ３を介して接続されたホスト装置１及びストレージ２ａ〜２ｎと、スイッチ３を制御する制御装置４と、ホスト装置１の接続先となるストレージを選択して制御装置４に通知するストレージ選択装置５とを含む構成が示されている。
【００２１】
ホスト装置１は、ストレージ２ａから２ｎを利用するアプリケーションプログラムがインストールされたコンピュータである。なお、図１の例では、１台のホスト装置１が示されているが、ホスト装置１は複数台であっても構わない。即ち、本発明では、ｍ台のホスト装置１に対して、それぞれ最適なストレージを選択することが可能である。
【００２２】
ストレージ２ａ〜２ｎは、磁気ディスク、メモリ、光ディスク、光磁気ディスク、およびそれらのアレイ装置または、それらを搭載したサーバ装置等の記憶装置である。
【００２３】
スイッチ３は、制御装置４から設定される制御情報（フローエントリ）に従い動作するスイッチである。このようなスイッチとして、非特許文献１、２のオープンフロースイッチを利用することもできる。なお、図１の例では、１台のスイッチ３が示されているが、スイッチ３は複数台であっても構わない。
【００２４】
制御装置４は、スイッチ３を制御する装置である。このような制御装置４として、非特許文献１、２のオープンフローコントローラを利用することもできる。
【００２５】
ストレージ選択装置５は、ホスト装置１で動作するアプリケーションプログラムがどのようにストレージを使用するか（どのような仕様のストレージを要求するか）を記述したサービス情報と、ストレージ２ａ〜２ｎの各特性とに基づいて、ホスト装置１にアクセスさせるストレージを決定し、制御装置４に通知する。
【００２６】
続いて、上記したスイッチ３、制御装置４、ストレージ選択装置５の構成について詳細に説明する。
【００２７】
図２は、本発明の第１の実施形態のスイッチの詳細構成を示す図である。図２を参照すると、パケット処理部３０と、フローテーブル３１とを備えたスイッチ３が示されている。
【００２８】
パケット処理部３０は、スイッチ３に届いたパケットの処理を行う論理的な手段であり、プロセッサやメモリ等により実現される。
【００２９】
フローテーブル３１は、パケット処理部３０が参照する、受信パケットのヘッダ情報等と照合するルール（マッチ条件）と、このルール（マッチ条件）に適合するパケットに対して行う処理（アクション）とを対応付けた制御情報（フローエントリ）を記憶するテーブルである。フローテーブル３１として、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）を用いることもできる。
【００３０】
図３は、本発明の第１の実施形態のスイッチのフローテーブル３１に設定される制御情報（フローエントリ）の例を示す図である。図３を参照すると、受信パケットのパケットヘッダ等と照合するルール（マッチ条件）を格納するフィールドと、ルール（マッチ条件）に適合するパケット等の統計情報を格納するフロー統計情報フィールド（Ｃｏｕｎｔｅｒｓ）と、ルール（マッチ条件）に適合するパケットに適用する処理内容（Ａｃｔｉｏｎ）を格納するインストラクションフィールド（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、を対応付けたエントリが示されている。なお、ルール（マッチ条件）として、ワイルドカードを設定することも可能である。
【００３１】
図４は、インストラクションフィールド（Ｉｎｓｔｒｕｃｔｉｏｎｓ）に設定可能な処理内容（Ａｃｔｉｏｎ）とその内容の一例の図である。ＯＵＴＰＵＴは、受信パケットを指定ポート（インタフェース）に出力するアクションである。ＳＥＴ＿ＶＬＡＮ＿ＶＩＤからＳＥＴ＿ＴＰ＿ＤＳＴは、パケットヘッダのフィールドを修正するアクションである。これらを組み合わせて、例えば、ある送信元から宛先に当てられたパケットについて、例えば、ＶＬＡＮ  ＩＤを書き換えた上で、指定ポートから出力することが可能となる。なお、図３、図４の内容は、非特許文献２のオープンフロースイッチ相当の内容となっているが、その他同等の仕組みを用いることもできる。
【００３２】
図５は、本発明の第１の実施形態の制御装置の詳細構成を示す図である。図５を参照すると、ホスト−ストレージ対応情報記憶部４４と、経路計算部４１と、トポロジーデータベース（トポロジーＤＢ）４２と、フローエントリ設定部４３とを備えた制御装置４が示されている。
【００３３】
ホスト−ストレージ対応情報記憶部４４は、ホスト装置１と、そのホスト装置１が使用すべきストレージとの対応関係を示すホスト−ストレージ対応情報を記憶する。
【００３４】
経路計算部４１は、ホスト−ストレージ対応情報記憶部４４及びトポロジーＤＢ４２を参照して、スイッチ３から送られてきたパケットの経路を計算する論理的な処理主体である。
【００３５】
トポロジーＤＢ４２は、ホスト装置１、ストレージ２ａ〜２ｎ、スイッチ３間の接続関係（トポロジー）を管理するデータベースである。
【００３６】
フローエントリ設定部４３は、スイッチ３のフローテーブル３１にエントリを設定するための通信を行う論理的な手段である。
【００３７】
図６は、ホスト−ストレージ対応情報記憶部４４に保持されるエントリの例を示す図である。図６の例では、ホスト情報と、仮想ストレージ情報、実ストレージ情報とを対応付けたエントリが示されている。ホスト情報としては、例えば、ホスト装置１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスのほか、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを用いたり、その両方を用いることができる。
【００３８】
仮想ストレージ情報は、ホスト装置１がアクセス先として指定するストレージの情報である。例えば、図６に示すように、ＩＰアドレス（ＭＡＣアドレスでも構わない）、ＩＰプロトコル番号（上位層プロトコル）、及びＴＣＰ／ＵＤＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｃｏｌ／Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）の宛先ポートアドレスを用いることができる。
【００３９】
実ストレージ情報は、ホスト装置１に実際にアクセスさせるストレージの情報である。実ストレージ情報としては、接続されたスイッチのＩＤ（スイッチＩＤ；データパスＩＤ）、当該スイッチのポート、例えば、図６に示すように、ストレージのＩＰアドレス、ストレージのポート等を用いることができる。もちろん、ストレージのＭＡＣアドレスやＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）  ｔａｇを含んでもかまわない。
【００４０】
図７は、トポロジーＤＢ４２に保持されるエントリの例を示す図である。図７の上段（ａ）は、スイッチ３同士の接続関係を示すエントリであり、スイッチＩＤ（ＤＰＩＤ）と接続するポートの組で表現している。
【００４１】
図７の下段（ｂ）は、スイッチ３とホスト装置１、又は、スイッチ３とストレージ２ａ〜２ｎ間の接続関係を示すエントリである。図７の例では、スイッチ３側は、スイッチＩＤ（ＤＰＩＤ）とそのポートで表現し、ホスト装置１あるいはストレージ２側は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）のＭＡＣアドレスで表現している。
【００４２】
図８は、本発明の第１の実施形態のストレージ選択装置の詳細構成を示す図である。図８を参照すると、サービス分析部５１、ストレージ特性ＤＢ５２とを備えたストレージ選択装置５が示されている。
【００４３】
サービス分析部５１は、サービス情報をもとに、ホスト装置１に適したストレージを選択し、その結果を制御装置４に通知する論理的な手段である。サービス分析部５１は、ホスト装置１上で動作するサービスの特徴と前記ストレージの特性とに基づいて、ホスト装置１に利用させるストレージを選択するストレージ選択部と、前記選択したストレージ２ａ〜２ｎとホスト装置１との組合せを制御装置４に通知し、ホスト装置１が前記選択したストレージにアクセスできるようスイッチ３を制御させる通知部としても機能する。
【００４４】
ストレージ特性ＤＢ５２は、各ストレージのタイプ等の情報を保存したデータベースである。
【００４５】
図９は、ストレージ特性ＤＢ５２に保持されるエントリの例を示す図である。図９の例は、ストレージを一意に識別するためのストレージＩＤ、ストレージタイプ、タイプ内種別、属性及びストレージの情報等を対応付けたエントリが示されている。
【００４６】
ストレージタイプフィールドには、該当ストレージのタイプ、例えば、ファイルシステム、データベース、ｋｅｙ−ｖａｌｕｅ  ｓｔｏｒｅ、ＲＡＷ等が設定される。
【００４７】
タイプ内種別フィールドには、ストレージタイプフィールドに設定されたタイプの細項目、例えば、データベースエンジン名、ｋｅｙ−ｖａｌｕｅ  ｓｔｏｒｅのソフト名、ファイルシステム名等が設定される。
【００４８】
属性フィールドには、該当ストレージのタイプ、例えば、容量効率、容量単価、読み出し速度、書き込み速度、検索速度、障害強度（冗長度）、サイズへの適性（大きいサイズに適している、小さいサイズに適している）等の情報が設定される。なお、これらの項目は、絶対値を設定するほか、例えば、容量効率が高い、低い、普通というように、相対的な値を設定してもよい。
【００４９】
ストレージ情報フィールドには、図９下段に示すように、該当ストレージがどのスイッチに接続されているか（スイッチＩＤ）、スイッチのどのポートに接続されているか（スイッチポート）、使用法（容量の分割と、分割されたパーティションへのアクセス法｛ＩＰアドレス、ポート番号など｝）が設定される。
【００５０】
ここで、ストレージ選択装置５のサービス分析部５１に入力されるサービス情報について説明する。サービス情報は、ホスト装置にインストールされているアプリケーションプログラム等に基づいて、該当するホスト装置１がストレージからサービスを受けるために要求されるストレージの要件等が設定される。サービス情報として設定することが望ましい項目の例を以下に示す。
ストレージアクセス情報： ＩＰアドレス、ポート番号、プロトコル等
ストレージタイプ：ファイルシステム、データベース、ｋｅｙ−ｖａｌｕｅ  ｓｔｏｒｅ、ＲＡＷ等
ストレージ要件：必要容量、価格、要求読み出し／書き込み／検索速度、要求障害強度、データの大きさの分布等
なお、サービス情報の形式は、例えば、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）や、ＣＳＶ（ｃｏｍｍａ−ｓｅｐａｒａｔｅｄ  ｖａｌｕｅｓ）等が挙げられる。
【００５１】
もちろん、ユーザ端末等からの求めに応じてサービス情報の管理画面を表示して、これらサービス情報の入力や編集を受け付け、ストレージ選択装置５に提供するサービス情報管理装置を設けることもできる。また、ストレージ選択装置５に、サービス情報管理装置に相当する機能を持たせてもよい。
【００５２】
なお、図１に示した制御装置４の各部（処理手段）は、制御装置４を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００５３】
続いて、本実施形態の動作について図面を参照して詳細に説明する。はじめに、各装置の基本動作について図面を参照して詳細に説明する。
【００５４】
図１０は、本発明の第１の実施形態のスイッチの動作を表した流れ図である。スイッチ３は、ストレージを利用するアプリケーションが起動されたホスト装置１から新規パケットを受信すると、フローテーブル３１から、受信したパケットのヘッダ等と、一致するルール（マッチ条件）を持つ制御情報（フローエントリ）を検索する（ステップＳ１００）。
【００５５】
前記検索の結果、該当する制御情報（フローエントリ）が見つかった場合（ステップＳ１０１のＹｅｓ）、スイッチ３は、受信パケットに対し、当該制御情報（フローエントリ）のインストラクションフィールド（Ｉｎｓｔｒｕｃｔｉｏｎｓ；図３参照）に設定されたアクションを適用する（ステップＳ１０２）。
【００５６】
一方、ステップＳ１００で該当する制御情報（フローエントリ）が見つからなかった場合（ステップＳ１０１のＮｏ）、スイッチ３は、制御装置４に対し、受信パケットを転送する（ステップＳ１０３）。
【００５７】
続いて、上記スイッチ３からのパケットの転送を契機に開始される制御装置４の動作について説明する。図１１は、本発明の第１の実施形態の制御装置の動作を表した流れ図である。
【００５８】
図１１を参照すると、制御装置４は、スイッチ３からのパケットの転送を受けると、ホスト−ストレージ対応情報記憶部４４から、受信パケットに適合するエントリを検索する（ステップＳ２００）。ここでは、送信元ＩＰアドレスがホスト情報のＩＰアドレスと一致し、かつ、送信先ＩＰアドレス等が仮想ストレージ情報（図６参照）のＩＰアドレス等と一致するエントリ、あるいは、送信元ＩＰアドレス等が実ストレージ情報（図６参照）のＩＰアドレス等と一致し、かつ、送信先ＩＰアドレスがホスト情報のＩＰアドレスと一致するエントリが検索される。
【００５９】
前記検索の結果、該当するエントリが見つかった場合（ステップＳ２０１のＹｅｓ）、制御装置４は、見つかったエントリを参照し、パケットにて指定されたストレージの情報を得る。このとき、制御装置４は、パケットが指定するストレージが仮想ストレージであれば、実ストレージ情報に変換し、パケットにて指定されたストレージが実ストレージを指定であれば、仮想ストレージ情報に変換する（ステップＳ２０２）。これにより、ホスト装置１は、仮想ストレージ情報のストレージにアクセスしているものと認識するが、実際にアクセスするストレージは実ストレージ情報にて指定されたストレージとなる。このようにすることで、ホスト装置１が、実際にアクセスするストレージを意識しなくとも、最適な（ストレージ選択装置５によって選択された）ストレージにアクセスさせることが可能となる。
【００６０】
次に制御装置４は、パケットヘッダと、ステップＳ２０２でストレージの情報が得られている場合にはその入出力のスイッチ情報に基づいて、トポロジーＤＢ４２の情報を用いてパケットの転送経路（複数スイッチがある場合にはこれらスイッチ上のパケット転送経路）を計算する（ステップＳ２０３）。
【００６１】
次に制御装置４は、ステップＳ２０３で計算した経路をもとに、個々のスイッチのフローテーブル３１に設定する制御情報（フローエントリ）を算出する（ステップＳ２０４）。例えば、ホスト装置１からストレージ２ａに転送する場合、スイッチ３に、ホスト１からの仮想ストレージ宛のパケットを、実ストレージ情報にて特定されるストレージ２ａに転送させる制御情報（フローエントリ）が算出される。
【００６２】
次に制御装置４は、ステップＳ２０４で算出した制御情報（フローエントリ）を対応するスイッチ３のフローテーブル３１に設定する（ステップＳ２０５)。
【００６３】
最後に制御装置４は、ステップ２０１にて得られたエントリに従い、宛先のホストもしくはストレージが接続されたスイッチに対して、パケットヘッダを変更したパケットを、宛先のホスト装置又はストレージ２ａ〜２ｎに送信するよう指示する（ステップＳ２０６；パケット出力指示）。
【００６４】
なお、ステップＳ２０４で、算出する制御情報（フローエントリ）のルール（マッチ条件）は、次のようにして求めることができる。まず、パケット送信元が接続されているスイッチ３である場合（パケット転送経路の始点に位置するスイッチの場合）、該当スイッチのルール（マッチ条件）には、変換前のパケットヘッダと一致する内容が設定される。一方、それ以外のスイッチである場合（パケット転送経路の始点より下流側に位置するスイッチの場合）、ステップＳ２０２で実ストレージ情報と仮想ストレージ情報間で変換された後のパケットヘッダと一致する内容がルール（マッチ条件）として用いられる。
【００６５】
なお、上記ステップＳ２０２の実ストレージ情報と仮ストレージ情報間の変換処理は、送信元が接続されているスイッチ（パケット転送経路の始点に位置するスイッチ）にパケットのヘッダを書換させる制御情報（フローエントリ）を設定することでも実現できる。
【００６６】
続いて、上記ホスト−ストレージ対応情報記憶部４４へのエントリの追加や変更を行うストレージ選択装置５の動作について説明する。図１２は、ストレージ選択装置５の動作を表した流れ図である。
【００６７】
まず、ストレージ選択装置５は、サービス情報の入力受付等を契機に、分析を開始し、各ホスト装置１のアプリケーションが使用するストレージとその要件を抽出する（ステップＳ３０１)。
【００６８】
次にストレージ選択装置５は、ストレージ特性ＤＢ５２（図９参照）を参照して、ステップＳ３０１で抽出した要件に適合するストレージを探索する（ステップＳ３０２）。このとき、複数のストレージが見つかった場合、ストレージ選択装置５は、その中から最適なストレージを選択する。ストレージを選択する基準としては、各ストレージの属性と、ステップＳ３０１で抽出した要件とを比較し、一致する項目が最も多いものを選択する方法がある。もちろん、各項目に適宜重みを与えてスコア等を計算してもよいし、予め作成したストレージ選択基準（選択ポリシ）等を用いることもできる。また、別途ストレージの負荷状態等を入手して、例えば、その時点あるいは将来において負荷の小さいストレージを選択するようにしてもよい。
【００６９】
次いでストレージ選択装置５は、必要に応じて、ストレージ特性ＤＢ５２中のステップＳ３０１で決定したストレージのストレージ情報を更新するとともに、該当するストレージを初期化する動作を行う（ステップＳ３０３）。
【００７０】
次いでストレージ選択装置５は、制御装置４に対し、ホスト装置１の情報、ホスト装置１から見たストレージ情報である仮想ストレージ情報、及び、ストレージ特性ＤＢ５２から得た実際のストレージの情報である実ストレージ情報を通知する（ステップＳ３０４）。これにより、制御装置４のホスト−ストレージ対応情報記憶部４４に新規エントリが追加されることになる。
【００７１】
図１３は、上記各装置の動作によって達成される本発明の第１の実施形態のストレージ提供システムの動作を表したシーケンス図である。
【００７２】
ユーザが、サービス情報をストレージ選択装置５に入力すると（ステップＳ１００１）、ストレージ選択装置５は、ストレージ２（以下、ストレージ２ａ〜２ｎを特に区別しない場合「ストレージ２」と記す。）の選択を行い、必要に応じて、ストレージ２を初期化する（ステップＳ１００２、Ｓ１００３）。
【００７３】
次いでストレージ選択装置５は、制御装置４に対して、ホスト装置１の情報、選択したストレージの仮想ストレージ情報、及び、実ストレージ情報を通知する（ステップＳ１００４）。制御装置４は、通知された内容に基づいて、ホスト−ストレージ対応情報記憶部４４に新規エントリを追加する（ステップＳ１００４〜Ｓ１００６）。
【００７４】
その後、ユーザがアプリケーションを起動して（ステップＳ１００７）、ホスト装置１がストレージ２へのアクセスを要求するパケット（ｒｅａｄ）を送出すると（ステップＳ１００８）、スイッチ３は、前記パケット（ｒｅａｄ）を制御装置４に転送する（ステップＳ１００９）。
【００７５】
制御装置４は、ホスト−ストレージ対応情報記憶部４４から、転送を受けたパケット（ｒｅａｄ）に対応するエントリを取り出し、スイッチ３に制御情報（フローエントリ）を設定する（ステップＳ１０１０）。さらに、制御装置４は、ステップＳ１００９で転送を受けたパケット（ｒｅａｄ）をスイッチ３に送信し（ステップＳ１０１１）、ストレージ２に対して送信するよう指示する。
【００７６】
スイッチ３は、前記指示に基づいて、制御装置４から受信したパケット（ｒｅａｄ）をストレージ２に送信する（ステップＳ１０１２）。ストレージ２は、受信したパケット（ｒｅａｄ）に対する応答パケット（ｄａｔａ）をスイッチに返送する（ステップＳ１０１３）。
【００７７】
スイッチ３は、応答パケット（ｄａｔａ）を受信すると、制御装置４に応答パケット（ｄａｔａ）を転送する（ステップＳ１０１４）。
【００７８】
制御装置４は、ホスト−ストレージ対応情報記憶部４４から、転送を受けた応答パケット（ｄａｔａ）に対応するエントリを取り出し、スイッチ３に制御情報（フローエントリ）を設定する（ステップＳ１０１５）。さらに、制御装置４は、ステップＳ１０１４で転送を受けた応答パケット（ｄａｔａ）をスイッチ３に送信し（ステップＳ１０１６）、ホスト装置１に対して送信するよう指示する。
【００７９】
スイッチ３は、前記指示に基づいて、制御装置４から受信した応答パケット（ｄａｔａ）をホスト装置１に送信する（ステップＳ１０１７）。その後は、スイッチ３にホスト装置１とストレージ間のパケットを転送するための制御情報（フローエントリ）が設定されているため、ホスト装置１から送信されたストレージ２へのアクセスを要求するパケット（ｒｅａｄ）は、直接ストレージ２に転送される（ステップＳ１０１８、Ｓ１０１９）。同様に、ストレージ２から送信されたホスト装置１への応答パケット（ｄａｔａ）は、直接ホスト装置１に転送される（ステップＳ１０２０、Ｓ１０２１）。
【００８０】
以上のように、本実施形態によれば、ホスト装置１からストレージ２にアクセスする際に、自動的に最適なストレージが選択されることになる。その理由は、ストレージ選択装置５がサービス情報をもとにストレージを選択し、制御装置４がこれに基づいて、スイッチ３を制御するよう構成したことにある。
【００８１】
なお、図１３のシーケンス図では、スイッチ３がフローテーブル３１の既存エントリに適合しない新規パケットを受信する都度、制御装置４に当該パケットを送信し、制御装置４が、当該パケットを処理する制御情報（フローエントリ）を設定することとしたが、例えば、図１４に示すように、制御装置４が、ステップＳ１１１０において、応答パケット（ｄａｔａ）を処理する制御情報（フローエントリ）を設定するようにしてもよい。このようにすることで、応答パケット（ｄａｔａ）の制御装置４への転送を省略することも可能である。
【００８２】
［第２の実施形態］
続いて、本発明の第１の実施形態に対し、ストレージデータの移行（配置替）機能を追加した第２の実施形態について図面を参照して詳細に説明する。図１５は、本発明の第２の実施形態のストレージ提供システムの構成を示す図である。
【００８３】
図１５を参照すると、スイッチ３と、このスイッチ３を介して接続されたホスト装置１及びストレージ２ａ〜２ｎと、スイッチ３を制御する制御装置４ａと、ホスト装置１の接続先となるストレージを選択して制御装置４ａに通知するストレージ選択装置５ａと、ストレージ２ａ〜２ｎへのアクセス統計情報を収集するアクセス統計収集装置７と、ストレージデータの移行（配置替）処理を実施するストレージ管理装置８と、を含む構成が示されている。以下、第１の実施形態との相違点を中心に説明する。
【００８４】
図１６は、本実施形態のストレージ選択装置５ａの構成を示すブロック図である。図１６を参照すると、ストレージ特性ＤＢ５２と、適正ストレージ選択部５１ａと、使用ストレージ情報記憶部５３とを備えた構成が示されている。
【００８５】
ストレージ特性ＤＢ５２は、各ストレージのタイプ等の情報を保存したデータベースであり、第１の実施形態のストレージ特性ＤＢ５２と同様である（図９参照）。
【００８６】
使用ストレージ情報記憶部５３は、どのホスト装置１がどのストレージを使用しているかを記憶する。図１７は、使用ストレージ情報記憶部５３のテーブル等に保持されるエントリの例に示す図である。図１７を参照すると、ホスト情報、仮想ストレージ情報と、実ストレージ情報とを対応付けたエントリが示されている。ホスト情報フィールドには、ホストのＩＰアドレス等が設定される。仮想ストレージ情報フィールドには、ホスト装置１がアクセス先として指定するストレージの情報であり、ＩＰアドレス（ＭＡＣアドレスでも構わない）、ＩＰプロトコル番号、及び、ＴＣＰ／ＵＤＰの宛先ポートアドレス等が設定される。実ストレージ情報フィールドには、実際にアクセスさせるストレージの情報であり、ストレージ特性ＤＢ中の該当ストレージのストレージＩＤ、あるいは、ポインタが設定される。
【００８７】
アクセス統計収集装置７は、制御装置４又はストレージ２あるいはこれらの双方から、ストレージ２へのアクセスの統計情報を収集する。なお、制御装置４は、スイッチ３のフローテーブル３１のエントリを取得し、そのＣｏｕｎｔｅｒｓフィールド（図３参照）を参照することで、ルールに一致するパケットの数を取得することができる。もちろん、ストレージ２から直接アクセスの統計情報を収集することとしてもよい。なお、アクセス統計収集装置７のアクセス統計情報収集のタイミングとしては、システムが規定した期間が過ぎた場合や、ストレージ選択装置５から問い合わせが来た場合等が挙げられる。
【００８８】
ストレージ管理装置８は、ストレージ間でデータを移動させる装置である。図１８は、ストレージ管理装置８の構成例を示すブロック図である。図１８を参照すると、形式変換計算部８１と、データ形式変換部８２とを備えた構成が示されている。
【００８９】
形式変換計算部８１は、移行前のストレージと移行後のストレージのタイプ、データ形式からデータの変換方法を決定する論理手段である。
【００９０】
データ形式変換部８２は、形式変換計算部８１が決定した方法に基づいて、移行前のストレージから読みだしたデータを、移行後のストレージに書き出す形式に変換する論理手段である。
【００９１】
続いて、本実施形態の動作について図面を参照して詳細に説明する。ホスト装置１、ストレージ２、スイッチ３、及び、制御装置４のパケット受信時の動作は、第１の実施の形態と同様であるため説明を省略する。
【００９２】
図１９は、本発明の第２の実施形態のストレージ選択装置５ａの動作を表した流れ図である。図１９を参照すると、ストレージ選択装置５ａは、所定の契機で、アクセス統計収集装置７から統計情報を取得し（ステップＳ４０１）、取得した情報をもとにアプリケーションの特徴を抽出する（ステップＳ４０２）。さらに、ストレージ選択装置５ａは、抽出した特徴をもとにストレージ特性ＤＢ５２から適切なストレージを選択する（ステップＳ４０３）。ここでの抽出した特徴によるストレージの選択は、上記した第１の実施形態におけるストレージの探索（図１２のＳ３０２）と同様の方法を用いることができる。
【００９３】
ステップＳ４０３で選択したストレージが使用ストレージ情報記憶部５３の該当エントリに記録されているストレージと同一である場合、移行の処理は省略される（ステップＳ４０１へ）。
【００９４】
一方、ステップＳ４０３で選択したストレージが使用ストレージ情報記憶部５３の該当エントリに記録されているストレージと同一でない場合（即ち、よりよいストレージが見つかった場合）、ステップＳ４０５以降のストレージ移行処理が実行される。
【００９５】
まず、ストレージ選択装置５ａは、使用ストレージ情報記憶部５３の該当ホストのエントリの実ストレージをステップＳ４０３で選択したストレージに変更する（ステップＳ４０５）。次に、ストレージ選択装置５ａは、制御装置４に対し、実ストレージが変更になったことを通知し（ステップＳ４０６）、制御装置４からの応答を待つ（ステップＳ４０７）。次に、ストレージ選択装置５ａは、ストレージ管理装置８に対し、移行元のストレージと、移行先のストレージとを指定してデータの移行を指示する（ステップＳ４０８）。
【００９６】
その後、ストレージ選択装置５ａは、データの移行の完了を待ち（ステップＳ４０９）、データの移行の完了通知を受け取ると、制御装置４に対し、移行の待機解除を通知する（ステップＳ４１０）。その後、ストレージ選択装置５ａは、次の統計情報の取得まで待機する（ステップＳ４１１）。
【００９７】
なお、上記ステップＳ４０３のストレージの検索方法としては、以下のような方法を採用することができる。
（１）一つのキーと、対になるデータからなる場合には、ｋｅｙ  ｖａｌｕｅ  ｓｔｏｒｅを選択する。
（２）表形式の場合にはデータベースを選択し、検索する列が指定されている場合には、その列にインデックスを作成する。
（３）動画と、チャプター情報からなる場合には、ｒａｗを選択し、チャプターをインデックスとして記録する。
【００９８】
なお、ファイルシステムが指定されている場合、動画のようなコンテンツが主であるという付加情報があれば、大きなファイル向けのファイルシステムを選択し、テキストファイルが主であるという付加情報があれば、小さなファイル向けのファイルシステムを選択し、設定ファイルが主であるという付加情報があれば小さなファイル向けかつ高可用なファイルシステムを選択することができる。
【００９９】
また、ステップＳ４１１での、統計情報取得の待機の解除のタイミングとしては、システムが規定した期間が過ぎた場合や、管理者からの指示、アプリケーションの応答時間が規定された時間を上回った場合、ストレージの応答時間が規定された時間を上回った場合等がある。
【０１００】
図２０は、本発明の第２の実施形態のストレージ管理装置８の動作を表した流れ図である。図２０を参照すると、まず、ストレージ管理装置８は、移行元及び移行先に指定されたストレージ２からストレージの情報を取得する（ステップＳ７０１）。
【０１０１】
次に、ストレージ管理装置８は、取得したストレージの情報に基づいて、データ形式の変更が必要か否かを確認する（ステップＳ７０２）。ここで、データ形式の変更が必要と判断した場合（ステップＳ７０２のＹｅｓ）、ストレージ管理装置８は、取得したストレージの情報に基づいて、データ移行時のデータ形式の変換方法を導出する（ステップＳ７０４）。
【０１０２】
前記データ移行時の変換方法の導出が完了し、または、ステップＳ７０２でデータ形式の変更が不要と判断した場合、ストレージ管理装置８は、移行先ストレージを初期化（フォーマット、テーブル作成、ネットワーク設定等）し、読み出し対象を先頭に設定する（ステップＳ７０５、Ｓ７０６）。
【０１０３】
続いて、ストレージ管理装置８は、データの移行処理が開始される。まず、移行元ストレージの全データの転送が完了したか否かの判定が行われる（ステップＳ７０７）。
【０１０４】
移行元ストレージの全データの転送が完了していない場合（ステップＳ７０７のＮｏ）、ストレージ管理装置８は、転送元からデータを読み出す（ステップＳ７０８）。ここで、ステップＳ７０２にてデータ形式の変換が必要と判定している場合（ステップＳ７０９のＹｅｓ）、ストレージ管理装置８は、転送元から読み出したデータのデータ形式の変換を行う（ステップＳ７１０）。
【０１０５】
次に、ストレージ管理装置８は、上記のように必要に応じてデータ形式の変換を行った読み出したデータを移行先のストレージに書き込む（ステップＳ７１１）。
【０１０６】
次に、ストレージ管理装置８は、読み出すデータの位置を一つ進めて、ステップＳ７０７の移行完了判定を行う。ここで、移行元ストレージの全データの転送が完了している場合（ステップＳ７０７のＹｅｓ）、ストレージ管理装置８は、ストレージ選択装置５ａに対し、移行完了を通知し、一連の処理が終了する（ステップＳ７１３）。
【０１０７】
なお、上記ステップＳ７０２で導出されるデータの変換方法として、以下のものが挙げられる。
・データベースに格納していたが、検索キーが一つのカラムだけである場合に、ｋｅｙ  ｖａｌｕｅ  ｓｔｏｒｅに変換する場合、検索に使用するカラムを、ｋｅｙとして格納し、残りのカラムを、カラム間を分ける文字あるいは、長さを決めてｖａｌｕｅとして変換する。
・テキストとして格納していたが、検索が多い場合に、データベースに変換し、文章を段落、分、文節の単位で分解、格納し、検索に使用された文字列でインデックスを作成する。
・ｋｅｙ  ｖａｌｕｅ  ｓｔｏｒｅに格納していたが、ｖａｌｕｅで再度検索することが多い場合に、データベースに変換し、ｖａｌｕｅを複数のカラムに変換する。
・データベースを使用していたが、特定のカラムへのアクセスが多い場合に、メモリデータベースとの複合データベースに変換し、アクセスの多いカラムを、メモリ上に置く。
【０１０８】
図２１は、上記各装置の動作によって達成される本発明の第２の実施形態のストレージ提供システムの動作を表したシーケンス図である。
【０１０９】
ステップＳ２００１〜ステップＳ２００４は、ホスト装置１が第１の実施形態の方法や本実施形態のアクセス統計情報により選択されたストレージ２ａにアクセスしている状態を示している。
【０１１０】
所定のタイミングで、アクセス統計情報収集装置７が、制御装置４やストレージ２ａからアクセス統計情報を収集する（ステップＳ２００５〜Ｓ２００８）。
【０１１１】
その後、ストレージ選択装置５ａが、アクセス統計情報収集装置７からアクセス統計情報を取得し、ホスト装置１がアクセスすべきストレージの変更要否を判定する（ステップＳ２００９〜２０１０）。ここでは、ストレージ選択装置５ａが、ホスト装置１がアクセスすべきストレージをストレージ２ｂに変更することを決定し、制御装置４にその旨を通知したものとする（ステップＳ２０１１）。
【０１１２】
前記通知を受けた制御装置４は、スイッチ３に設定されているホスト１とストレージ２ａ間の通信を実現する制御情報（フローエントリ）を削除する（ステップＳ２０１２〜Ｓ２０１３）。さらに、制御装置４は、ストレージ管理装置８に対し、ストレージ２ａにあるホスト装置１のデータをストレージ２ｂに移行するよう指示する（ステップＳ２０１４）。
【０１１３】
前記指示を受けたストレージ管理装置８は、ストレージ２ｂの初期化を行った後（ステップＳ２０１５〜Ｓ２０１６）、ストレージ２ａのデータを読み出して、ストレージ２ｂに書き込み動作を開始する（ステップＳ２０１７〜Ｓ２０１９）。対象データの移行が完了すると、ストレージ管理装置８は、ストレージ選択装置５ａに対して、データ移行の完了を通知する（ステップＳ２０２０〜Ｓ２０２１）。
【０１１４】
前記データ移行の完了通知を受け取ったストレージ選択装置５ａは、制御装置４に対して、待機解除を通知する（ステップＳ２０２２〜Ｓ２０２３）。
【０１１５】
その後、ホスト装置１がストレージ２へのアクセスを要求するパケット（ｒｅａｄ）を送出すると（ステップＳ２０２４）、スイッチ３は、前記パケット（ｒｅａｄ）を制御装置４に転送する（ステップＳ２０２５）。
【０１１６】
制御装置４は、ホスト−ストレージ対応情報記憶部４４から、転送を受けたパケット（ｒｅａｄ）に対応するエントリを取り出し、スイッチ３に制御情報（フローエントリ）を設定する（ステップＳ２０２６）。さらに、制御装置４は、ステップＳ２０２５で転送を受けたパケット（ｒｅａｄ）をスイッチ３に送信し（ステップＳ２０２７）、ストレージ２ｂに対して送信するよう指示する。
【０１１７】
スイッチ３は、前記指示に基づいて、制御装置４から受信したパケット（ｒｅａｄ）をストレージ２ｂに送信する（ステップＳ２０２８）。ストレージ２ｂは、受信したパケット（ｒｅａｄ）に対する応答パケット（ｄａｔａ）をスイッチ３に返送する（ステップＳ２０２９）。
【０１１８】
スイッチ３は、応答パケット（ｄａｔａ）を受信すると、制御装置４に応答パケット（ｄａｔａ）を転送する（ステップＳ２０３０）。
【０１１９】
制御装置４は、ホスト−ストレージ対応情報記憶部４４から、転送を受けた応答パケット（ｄａｔａ）に対応するエントリを取り出し、スイッチ３に制御情報（フローエントリ）を設定する（ステップＳ２０３１）。さらに、制御装置４は、ステップＳ２０３０で転送を受けた応答パケット（ｄａｔａ）をスイッチ３に送信し（ステップＳ２０３２）、ホスト装置１に対して送信するよう指示する。
【０１２０】
スイッチ３は、前記指示に基づいて、制御装置４から受信した応答パケット（ｄａｔａ）をホスト装置１に送信する（ステップＳ２０３３）。その後は、スイッチ３にホスト装置１とストレージ２ｂ間のパケットを転送するための制御情報（フローエントリ）が設定されているため、ホスト装置１から送信されたストレージ２ｂへのアクセスを要求するパケット（ｒｅａｄ）は、直接ストレージ２ｂに転送される（ステップＳ２０３４、Ｓ２０３５）。同様に、ストレージ２から送信されたホスト装置１への応答パケット（ｄａｔａ）は、直接ホスト装置１に転送される（ステップＳ２０３６、Ｓ２０３７）。
【０１２１】
以上のように、本実施形態によれば、アプリケーションの動作に合わせてより適したストレージにホスト装置がアクセスできるようになる。また、その際に、アプリケーションの設定等を変更しなくとも、ストレージのタイプを超えて、アクセスするストレージを変更することができる。
【０１２２】
本実施形態では、サービス情報の入力に代えて、ストレージのアクセスの履歴を収集し、その収集した結果をもとに、ストレージ選択装置が、より適したストレージを選択する。そして、選択した結果に基いて、ストレージ管理装置８がデータの移行を行っている。このときさらに、ストレージのタイプが異なる場合にデータの変換を行うことで、ストレージタイプの違いを吸収可能としている。さらに、ホスト装置１が把握しているアドレスは、スイッチ３にて、実ストレージ情報に定めたアドレスに変換されるため、アプリケーション等への影響も隠ぺいされている。
【０１２３】
なお、図２１のシーケンス図では、スイッチ３がフローテーブル３１の既存エントリに適合しない新規パケットを受信する都度、制御装置４に当該パケットを送信し、制御装置４が、当該パケットを処理する制御情報（フローエントリ）を設定することとしたが、例えば、図２２に示すように、制御装置４が、ステップＳ２１２６において、応答パケット（ｄａｔａ）を処理する制御情報（フローエントリ）を設定するようにしてもよい。このようにすることで、応答パケット（ｄａｔａ）の制御装置４への転送を省略することも可能である。
【０１２４】
［第３の実施形態］
続いて、上記した第１の実施形態にプロトコル変換機能を追加した第３の実施形態について説明する。本実施形態は、図２３に示すように、ストレージ２の前段にプロトコル変換装置９を配置している。その他の構成は、第１の実施形態と同様であるので、以下、その相違点を中心に説明する。
【０１２５】
プロトコル変換装置９は、ホスト装置１とプロトコル変換装置９間のプロトコルは変えず、ストレージ２ごとのプロトコル（例えば、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文やファイルＩ／Ｏ）に変換する。なお、プロトコル変換装置９には、ストレージ選択装置５から各ストレージ２のプロトコルの変換方法を予め通知する。
【０１２６】
このようにすることで、さまざまなタイプのストレージ２が接続される場合であっても、ホスト装置１はその違いを知ることなくアクセスすることが可能となる。
【０１２７】
また、図２３の例では、ストレージ２の外部に、プロトコル変換装置９を設置したが、プロトコル変換装置９は、ストレージ２の一部であってもかまわない。
【０１２８】
［第４の実施形態］
また、上記プロトコル変換機能を第２の実施形態に追加する構成も採用可能である。図２４の例では、第２の実施形態のストレージ２の前段にプロトコル変換装置９を配置している。
【０１２９】
［第５の実施形態］
また、第１の実施形態と第２の実施形態とを融合させた形態も採用可能である。図２５の例では、ストレージ選択装置５の適正ストレージ選択部５１ａは、サービス情報によるストレージの選択と、アクセス統計情報によるストレージ選択との双方を実施可能となっている。このような形態であっても、適正なストレージを選択して、必要に応じ、データの移行を実施することが可能である。
【０１３０】
以上、本発明の好適な実施形態を説明したが、本発明の技術的範囲は、上記した各実施形態の記載に限定されるものではない。例えば、上記した各実施形態では、制御装置４とストレージ選択装置５を異なる装置としているが、同一の装置であってもかまわない。このようにすることで、各装置内部のデータベースの共有化と、アクセスの高速化を実現することが可能となる。
【０１３１】
また、第２、第４の実施形態では、アクセス統計収集装置７は、ストレージ選択装置５の外部にあるが、同一の装置としてもかまわない。このようにすることで、解析の際の通信コストが軽減される。
【０１３２】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点によるストレージ提供システム参照）
［第２の形態］
第１の形態のストレージ提供システムにおいて、
前記ストレージ選択装置は、各ホスト装置からストレージへのアクセス統計に基づいて、前記ホスト装置上で動作するサービスの特徴を分析し、前記ホスト装置が利用するデータの格納先となるストレージを選択するストレージ提供システム。
［第３の形態］
第１又は第２の形態のストレージ提供システムにおいて、
さらに、前記ストレージ選択装置のストレージの選択結果に基づき、前記ホスト装置が利用するデータの格納先となるストレージを変更し、前記ストレージに対し、データの移動を指示するストレージ管理装置を含むストレージ提供システム。
［第４の形態］
第３の形態のストレージ提供システムにおいて、
前記ホスト装置が利用するデータの移動が行われた場合、
前記制御装置は、前記ホスト装置が利用するデータの移動に応じて前記スイッチに対する指示を変更するストレージ提供システム。
［第５の形態］
第３又は第４の形態のストレージ提供システムにおいて、
前記ストレージ管理装置は、前記データの移動を行うストレージ間で、必要に応じて、データ形式の変換を行うストレージ提供システム。
［第６の形態］
第１〜第５いずれか一の形態のストレージ提供システムにおいて、
さらに、前記２台以上のストレージと、ホスト装置との間に、
前記ホスト装置が対応する第１のプロトコルのメッセージと、前記ストレージが対応する第２のプロトコルのメッセージに変換するプロトコル変換装置を配置したストレージ提供システム。
［第７の形態］
第１〜第６いずれか一の形態のストレージ提供システムにおいて、
前記制御装置は、前記ホスト装置が指定したストレージのアドレスと、前記ホスト装置が実際にアクセスするストレージのアドレスとの変換を行うストレージ提供システム。
［第８の形態］
（上記第２の視点によるストレージ選択装置参照）
［第９の形態］
（上記第３の視点によるストレージ提供方法参照）
［第１０の形態］
（上記第４の視点によるプログラム参照）
なお、上記第８〜第１０の形態は、第１の形態と同様に、第２〜第７の形態に展開することが可能である。
【０１３３】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１３４】
１  ホスト装置
２、２ａ〜２ｎ  ストレージ
３  スイッチ
４、４ａ  制御装置
５、５ａ  ストレージ選択装置
７  アクセス統計収集装置
８  ストレージ管理装置
９、９ａ〜９ｎ  プロトコル変換装置
３０  パケット処理部
３１  フローテーブル
４１  経路計算部
４２  トポロジーデータベース（トポロジーＤＢ）
４３  フローエントリ設定部
４４  ホスト−ストレージ対応情報記憶部
５１  サービス分析部
５１ａ  適正ストレージ選択部
５２  ストレージ特性データベース（ストレージ特性ＤＢ）
５３  使用ストレージ情報記憶部
８１  形式変換計算部
８２  データ形式変換部
【図１】
2015022908.tif 000003
【図２】
2015022908.tif 000004
【図３】
2015022908.tif 000005
【図４】
2015022908.tif 000006
【図５】
2015022908.tif 000007
【図６】
2015022908.tif 000008
【図７】
2015022908.tif 000009
【図８】
2015022908.tif 000010
【図９】
2015022908.tif 000011
【図１０】
2015022908.tif 000012
【図１１】
2015022908.tif 000013
【図１２】
2015022908.tif 000014
【図１３】
2015022908.tif 000015
【図１４】
2015022908.tif 000016
【図１５】
2015022908.tif 000017
【図１６】
2015022908.tif 000018
【図１７】
2015022908.tif 000019
【図１８】
2015022908.tif 000020
【図１９】
2015022908.tif 000021
【図２０】
2015022908.tif 000022
【図２１】
2015022908.tif 000023
【図２２】
2015022908.tif 000024
【図２３】
2015022908.tif 000025
【図２４】
2015022908.tif 000026
【図２５】
2015022908.tif 000027
【国際調査報告】
2015022908.tif 000028
2015022908.tif 000029
2015022908.tif 000030
2015022908.tif 000031