(57)【特許請求の範囲】
【請求項１】
パケットを転送する複数のノードと、
前記複数のノードの少なくとも１つに接続してネットワークにアクセスする端末と、
パケットの転送経路の設定要求を前記複数のノードの少なくとも１つから受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置とを含み、
前記制御装置は、
前記複数のノードのそれぞれの位置情報を記憶する手段と、
前記端末と接続しているノードから，前記設定要求を受信する手段と、
前記端末と接続しているノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御する手段と、
を含むことを特徴とする通信システム。
【請求項２】
前記制御装置は、
所定のノードから前記設定要求を受信した場合に、前記所定のノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記制御装置は，
前記複数のノードのそれぞれの位置情報に基づいて定められた、前記パケットの転送経路に関する制約条件を示すポリシ情報を参照し、
前記端末の位置及び前記ポリシ情報に基づいて、パケットの転送経路を制御することを特徴とする請求項１または２に記載の通信システム。
【請求項４】
前記制御装置は、
前記端末が接続する候補の複数のサーバ装置から、前記複数のサーバ装置の各々の位置と前記端末の位置とに基づいて接続するサーバ装置を決定し、前記端末と前記決定されたサーバ装置との間のパケットの転送経路を制御することを特徴とする請求項１乃至３のいずれか１項に記載の通信システム。
【請求項５】
前記制御装置は、
前記端末と前記複数のサーバ装置の各々との間のアクセスに要するコストに基づいて、前記端末が接続するサーバ装置を決定することを特徴とする請求項４に記載の通信システム。
【請求項６】
前記制御装置は、
前記端末が接続する候補の複数のサーバ装置が変更され、又は、前記端末の位置が変化した際に、前記端末が接続するサーバ装置を再決定し、前記端末から前記再決定したサーバ装置までの経路を制御することを特徴とする請求項４または５に記載の通信システム。
【請求項７】
さらに、複数のストレージを含み、
前記制御装置は、
前記複数のストレージに格納されているデータを管理するマップ情報を記憶する手段と、
前記マップ情報及び前記端末の位置に基づいて、前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含むことを特徴とする請求項１乃至３のいずれか１項に記載の通信システム。
【請求項８】
前記制御装置は、
前記ストレージへのアクセスに関する制約条件を記憶する手段と、
前記マップ情報、前記端末の位置及び前記制約条件に基づいて、前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含むことを特徴とする請求項７に記載の通信システム。
【請求項９】
さらに、前記端末による所定のデータへのアクセス状況に基づいて、該所定のデータを格納するストレージを変更するデータ配置変更装置を含むことを特徴とする請求項７または８に記載の通信システム。
【請求項１０】
前記端末による所定のデータへのアクセス状況に基づいて、前記所定のデータを新たに格納するストレージを決定し、前記決定したストレージに前記所定のデータを複製するデータ配置変更装置を含むことを特徴とする請求項７または８に記載の通信システム。
【請求項１１】
前記データ配置変更装置は、
前記端末と前記複数のストレージの各々との間のアクセスに要するコストに基づいて、ストレージを選択することを特徴とする請求項９または１０に記載の通信システム。
【請求項１２】
パケットを転送する複数のノードの少なくとも１つから、パケットの転送経路の設定要求を受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置であって、
前記複数のノードのそれぞれの位置情報を記憶する手段と、
ネットワークにアクセスする端末が接続したノードから、前記設定要求を受信する手段と、
前記端末と接続しているノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御する手段と、
を含むことを特徴とする制御装置。
【請求項１３】
所定のノードから前記設定要求を受信した場合に、前記所定のノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御することを特徴とする請求項１２に記載の制御装置。
【請求項１４】
前記複数のノードのそれぞれの位置情報に基づいて定められた、前記パケットの転送経路に関する制約条件を示すポリシ情報を参照し、
前記端末の位置及び前記ポリシ情報に基づいて、パケットの転送経路を制御することを特徴とする請求項１２または１３に記載の制御装置。
【請求項１５】
前記端末が接続する候補の複数のサーバ装置から、前記複数のサーバ装置の各々の位置と前記端末の位置とに基づいて接続するサーバ装置を決定し、前記端末と前記決定されたサーバ装置との間のパケットの転送経路を制御することを特徴とする請求項１２乃至１４のいずれか１項に記載の制御装置。
【請求項１６】
前記端末と前記複数のサーバ装置の各々との間のアクセスに要するコストに基づいて、前記端末が接続するサーバ装置を決定することを特徴とする請求項１５に記載の制御装置。
【請求項１７】
前記端末が接続する候補の複数のサーバ装置が変更され、又は、前記端末の位置が変化した際に、前記端末が接続するサーバ装置を再決定し、前記端末から前記再決定したサーバ装置までの経路を制御することを特徴とする請求項１５または１６に記載の制御装置。
【請求項１８】
さらに、
複数のストレージに格納されているデータを管理するマップ情報を記憶する手段と、
前記マップ情報及び前記端末の位置に基づいて、前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含むことを特徴とする請求項１２乃至１４のいずれか１項に記載の制御装置。
【請求項１９】
前記ストレージへのアクセスに関する制約条件を記憶する手段と、
前記マップ情報、前記端末の位置及び前記制約条件に基づいて、前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含むことを特徴とする請求項１８に記載の制御装置。
【請求項２０】
前記端末による所定のデータへのアクセス状況に基づいて、該所定のデータを格納するストレージを変更するデータ配置変更手段を含むことを特徴とする請求項１８または１９に記載の制御装置。
【請求項２１】
前記端末による所定のデータへのアクセス状況に基づいて、前記所定のデータを新たに格納するストレージを決定し、前記決定したストレージに前記所定のデータを複製するデータ配置変更手段を含むことを特徴とする請求項１８または１９に記載の制御装置。
【請求項２２】
前記データ配置変更手段は、
前記端末と前記複数のストレージの各々との間のアクセスに要するコストに基づいて、ストレージを選択することを特徴とする請求項２０または２１に記載の制御装置。
【請求項２３】
パケットを転送する複数のノードの少なくとも１つから、パケットの転送経路の設定要求を受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置による通信方法であって、
ネットワークにアクセスする端末が接続したノードから、前記設定要求を受信し、
前記複数のノードのそれぞれの位置情報を記憶する記憶手段から、前記端末と接続しているノードに対応する前記位置情報を参照し、
参照した前記位置情報から前記端末の位置を識別し、
前記端末の位置を用いてパケットの転送経路を制御することを特徴とする通信方法。
【請求項２４】
パケットを転送する複数のノードの少なくとも１つから、パケットの転送経路の設定要求を受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置に、
ネットワークにアクセスする端末が接続したノードから、前記設定要求を受信する処理と、
前記複数のノードのそれぞれの位置情報を記憶する記憶手段から、前記端末と接続しているノードに対応する前記位置情報を参照する処理と、
参照した前記位置情報から前記端末の位置を識別する処理と、
前記端末の位置を用いてパケットの転送経路を制御する処理と
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１０−２６９１６４号（２０１０年１２月２日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、通信方法およびプログラムに関し、特に、ネットワークにおけるパケットの転送経路の設定を行う通信システム、制御装置、通信方法およびプログラムに関する。
【背景技術】
【０００２】
インターネットなどのネットワークの普及に伴い、利用者は、コンピュータ等の機器をネットワークに接続して、他の機器と通信を行うことや様々なサービスを受けることが可能となっている。
【０００３】
ネットワークに接続された機器同士が互いに通信する際に、各機器は、それぞれの識別情報に基づいて通信を行う。識別情報の一例は、ＩＰアドレスである。ＩＰアドレスは、ネットワークに接続された機器を識別するための識別子（ＩＤ）であると共に、機器のネットワーク中の位置を示す位置情報としての役割を持っている。例えば、ＩＰアドレスのプレフィックスが位置情報になる。機器同士が通信する際、この位置情報を参照して、該位置情報に基づく経路制御を実行することができる。
【０００４】
一方、近年、携帯型の機器（以下、「移動機器」とする。）の増加に伴い、移動機器を識別する識別子と、移動機器の位置を示す位置情報とを分離して管理する手法が普及している。ＩＰアドレスのように、識別子と位置情報の双方を含む識別情報を用いる場合、移動機器の移動に伴って該移動機器とネットワークとの接続ポイントが変化すると、移動機器に割振られる識別情報も変更されてしまう。接続ポイントが変わると、位置情報が変化するためである。識別情報が変更されると、移動機器の識別子も変わるため、移動機器のネットワーク接続を維持することが難しくなる。これが、移動機器の識別子と位置情報とを分離して管理する手法が普及している理由である。
【０００５】
特許文献１には、移動機器の識別子と位置情報とを分離して管理する技術が開示されている。特許文献１には、移動機器を識別する識別子として「ホームアドレス」を用い、移動機器の位置情報として「気付アドレス（Ｃａｒｅ−ｏｆ  ａｄｄｒｅｓｓ）」を用いることが開示されている。つまり、移動機器の識別子と位置情報とを、それぞれ２つのアドレスに分離して管理する手法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２６８１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示の技術では、移動機器の識別子と位置情報とを、それぞれ別のアドレスで管理するため、アドレスの管理コストが増大する。故に、機器同士が通信する際、位置情報に基づく経路制御を実行するためのコストが増大するという問題点がある。
【課題を解決するための手段】
【０００８】
本発明の第１の視点によれば、パケットを転送する複数のノードと、前記複数のノードの少なくとも１つに接続してネットワークにアクセスする端末と、パケットの転送経路の設定要求を前記複数のノードの少なくとも１つから受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置とを含み、前記制御装置は、前記複数のノードのそれぞれの位置情報を記憶する手段と、前記端末と接続しているノードから，前記設定要求を受信する手段と、前記端末と接続しているノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御する手段と、を含むことを特徴とする通信システムが提供される。
【０００９】
本発明の第２の視点によれば、パケットを転送する複数のノードの少なくとも１つから、パケットの転送経路の設定要求を受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置であって、前記複数のノードのそれぞれの位置情報を記憶する手段と、ネットワークにアクセスする端末が接続したノードから、前記設定要求を受信する手段と、前記端末と接続しているノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御する手段と、を含むことを特徴とする制御装置が提供される。
【００１０】
本発明の第３の視点によれば、パケットを転送する複数のノードの少なくとも１つから、パケットの転送経路の設定要求を受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置による通信方法であって、ネットワークにアクセスする端末が接続したノードから、前記設定要求を受信し、前記複数のノードのそれぞれの位置情報を記憶する記憶手段から、前記端末と接続しているノードに対応する前記位置情報を参照し、参照した前記位置情報から前記端末の位置を識別し、前記端末の位置を用いてパケットの転送経路を制御することを特徴とする通信方法が提供される。なお、本方法は、前記ノードに処理規則を設定する制御装置という、特定の機械に結びつけられている。
【００１１】
本発明の第４の視点によれば、パケットを転送する複数のノードの少なくとも１つから、パケットの転送経路の設定要求を受信し、該設定要求に応じて、パケットの転送経路を制御する制御装置に、ネットワークにアクセスする端末が接続したノードから、前記設定要求を受信する処理と、前記複数のノードのそれぞれの位置情報を記憶する記憶手段から、前記端末と接続しているノードに対応する前記位置情報を参照する処理と、参照した前記位置情報から前記端末の位置を識別する処理と、前記端末の位置を用いてパケットの転送経路を制御する処理と、を実行させることを特徴とするプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１２】
本発明によれば、位置情報を示すアドレスを管理することなく、端末の位置情報に基づく経路制御を実行することができ、位置情報に基づく経路制御を実行するためのコストを低減することができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態の構成を表した図である。
【図２】本発明の第１の実施形態のノードの構成を表したブロック図である。
【図３】本発明の第１の実施形態の動作を表したシーケンス図である。
【図４】本発明の第１の実施形態のノードの動作を表したフローチャートである。
【図５】本発明の第１の実施形態の制御装置の動作を表したフローチャートである。
【図６】本発明の第２の実施形態の構成を表した図である。
【図７】本発明の第２の実施形態において、サービス提供装置がストレージである場合の構成を表した図である。
【図８】本発明の第２の実施形態のストレージ管理装置に保持されるファイルメタ情報を説明するための図である。
【図９】本発明の第２の実施形態のストレージ管理装置に保持されるオブジェクト配置管理テーブルを説明するための図である。
【図１０】本発明の第２の実施形態において、サービス提供装置がストレージである場合の動作を表したシーケンス図である。
【図１１】本発明の第２の実施形態において、サービス提供装置がストレージである場合の端末の動作を表したフローチャートである。
【図１２】本発明の第２の実施形態において、サービス提供装置がストレージである場合のストレージ管理装置の動作を表したフローチャートである。
【図１３】本発明の第２の実施形態において、サービス提供装置がストレージである場合の制御装置の動作を表したフローチャートである。
【図１４】本発明の第２の実施形態において、サービス提供装置がストレージである場合のノードの動作を表したフローチャートである。
【図１５】本発明の第３の実施形態の構成を表したブロック図である。
【図１６】本発明の第３の実施形態の動作を表したシーケンス図である。
【図１７】本発明の第３の実施形態の制御装置の動作を表したフローチャートである。
【図１８】本発明の第３の実施形態の別の動作を表したシーケンス図である。
【図１９】オープンフロー技術におけるフローエントリの構成を表した図である。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
図１は、本発明の第１の実施形態の構成を表した図である。図１に示されるとおり、本発明のシステムは、パケットの転送を行うノード１０Ａ〜１０Ｄと、前記ノード１０Ａ〜１０Ｄの少なくとも１つを介してネットワークに接続する端末３０と、前記複数のノードの少なくとも１つからの要求に応じて、パケットの転送経路を制御する制御装置２０とから構成される。
【００１５】
本発明では、制御装置２０が、複数のノード１０Ａ〜１０Ｄの少なくとも１つからの要求に応じて、パケットの転送経路を制御する。このように、複数のノードにおけるパケットの転送経路の制御を、制御装置が集中して行う集中管理型の技術の一例として、オープンフロー（ＯｐｅｎＦｌｏｗ）技術がある。
【００１６】
オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。中継装置として機能するオープンフロースイッチは、制御装置と位置付けられるオープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチングルール（照合規則）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、マッチングルール（照合規則）に適合するパケットに適用する処理内容を定義したアクション（Ａｃｔｉｏｎｓ）と、の組が定義される（図１９参照）。
【００１７】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチングルール（図１９のヘッダフィールド参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して要求を送信し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリをフローエントリとして用いてパケット転送を行っている。
【００１８】
本発明に、上記で説明したオープンフロー技術を適用してもよい。以下では、本発明にオープンフロー技術を適用した場合の実施態様を説明する。なお、本発明を実施するためには、制御装置が複数のノードにおけるパケットの転送経路を制御できればよく、本発明がオープンフロー技術に限定されるものではない。
【００１９】
ノード１０Ａ〜１０Ｄは、受信したパケットを転送する装置である。端末３０は、ノード１０Ａ〜１０Ｄの少なくとも１つを介してネットワークにアクセスする。図１の例では、ノード１０Ａ〜１０Ｄの各々は、制御装置２０との通信用のセキュアチャネルを確立する。ノード１０Ａ〜１０Ｄの各々は、制御装置２０から適宜追加または書き換え指示されるフローテーブルに従って動作する。そして、ノード１０Ａ〜１０Ｄは、図２に示すように、パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けたフローエントリを記憶するフローエントリ記憶部１２と、フローエントリ記憶部１２を参照して、受信したパケットに適合する照合規則を持つフローエントリに従いパケット処理を行うパケット処理部１１と、を含んで構成される。
【００２０】
端末３０がノード１０Ａに接続した場合、ノード１０Ａは、端末３０から受信したパケットとフローエントリ記憶部１２に記録されたフローエントリとを比較する。ノード１０Ａは、例えば、受信したパケットに対応するフローエントリが存在しない場合、セキュアチャネルを介して、制御装置２０にフローエントリ設定の要求を送信する。要求を受けた制御装置２０は、ノード１０Ａが端末３０から受信したパケットが属するフローに対応する経路を決定し、決定された経路に対応するフローエントリを生成する。制御装置２０は、フローエントリを生成後、決定した経路に関連するノードのフローエントリ記憶部１２にフローエントリを設定する。なお、制御装置２０は、例えば、ノード１０Ａ〜１０Ｄの少なくとも１つにフローエントリを設定すればよい。対応するフローエントリが設定された後は、パケット処理部１１が、設定されたフローエントリに従って受信パケットの処理を実行する。
【００２１】
制御装置２０は、ノード１０Ａ〜１０Ｄの少なくとも１つからの要求に応じて、パケットの転送経路を制御する。制御装置２０は、ノード１０Ａ〜１０Ｄそれぞれの位置情報を管理する。図１の例では、制御装置２０は、ノード１０Ａ〜１０Ｄそれぞれの位置情報を記録するノード位置情報記録部２１と、端末３０の位置を考慮してパケットの転送経路を計算するパス決定部２２と、前記決定した経路を実現するフローエントリを作成し経路上のノードに設定するパス設定部２３と、通信部２４を備えている。
【００２２】
ノード位置情報記録部２１には、ノード１０Ａ〜１０Ｄそれぞれの位置情報が記録されている。位置情報は、例えば、ノード１０Ａ〜１０Ｄそれぞれの地理的な位置の情報のほか、ネットワーク上の論理的な位置の情報であってもよい。また、位置情報は、ノードが特定の範囲（例えは、特定の国や特定の地域など）にあることを示す情報であってもよい。なお、位置情報は、これらの例に限られず、制御装置が、管理するノードの位置を識別できる情報であればどのような情報であってもよい。また、例えば、新たなノードが追加された場合には、追加されたノードの位置情報がノード位置情報記録部２１に追加される。
【００２３】
なお、本実施形態では、制御装置２０に含まれるノード位置情報記録部２１に、ノード１０Ａ〜１０Ｄそれぞれの位置情報が記録されているものとして説明するが、本機能は、制御装置２０とは別のサーバ等により構成することも可能である。
【００２４】
パス決定部２２は、通信部２４がノード１０Ａ〜１０Ｄの少なくとも１つから要求を受け取った場合に、該要求に対応する経路を決定する。パス決定部２２は、通信部２４が、端末３０がネットワークへのアクセスにおいて経由したノードから要求を受け取った場合、その端末の位置を用いて経路を決定する。つまり、パス決定部２２は、端末３０が接続したノードから要求を受信した場合、その端末の位置を用いて経路を決定する。なお、”端末３０が接続したノード”は、端末３０が他の装置を介して間接的にノードと接続する場合を含む。例えば、端末３０が携帯電話等のモバイル端末である場合、端末３０は基地局等を介してノードに接続する。パス決定部２２は、端末３０が接続したノードに対応する位置情報を、ノード位置情報記憶部２１から参照する。パス決定部２２は、参照した位置情報に基づいて、ノードに接続した端末３０の位置を推定する。この構成により、本発明の通信システムは、端末３０の位置に関する情報（例えば、Ｃａｒｅ−ｏｆ  ａｄｄｒｅｓｓのような、端末３０の位置を示す情報）を管理しなくても、端末３０の位置を認識することができる。
【００２５】
例えば、ある所定のノード（例えば、ノード１０Ａ）が端末接続専用のノードとなっており、パス決定部２２は、制御装置２０がその所定のノードから要求を受信した場合に、その要求が、端末３０が接続したノードからの要求であると認識する。例えば、ネットワークのエッジに設けられた所定のノードからの要求を、端末３０が接続したノードからの要求であると認識してもよい。つまり、制御装置２０は、端末３０にとってネットワークの入口（Ｉｎｇｒｅｓｓ）となる入口ノード（Ｉｎｇｒｅｓｓ  ｎｏｄｅ）を記憶しており、入口ノードからの要求を、端末３０が接続したノードからの要求であると認識する。この場合、コアに設けられたノードからの要求に対しては、端末３０の位置を考慮せずに、パケットの転送経路を制御してもよい。
【００２６】
また、例えば、ある所定のノード（例えば、ノード１０Ａ）の所定のポートが端末接続専用のポートに設定されており、パス決定部２２は、制御装置２０がその所定のポートに関連する要求を受信した場合に、その要求が、端末３０が接続したノードからの要求であると認識する。また、制御装置２０は、所定のノード（例えば、ノード１０Ａ）から受信した要求に関連するパケットに含まれる所定の情報（ヘッダ情報）に基づいて、端末３０が接続したノードからの要求であると認識してもよい。
【００２７】
なお、パス決定部２２が、端末３０が接続したノードからの要求であるか否かを認識する方式は、上述の内容に限定されるものではない。
【００２８】
パス設定部２３は、パス決定部２２が決定した経路に従ってパケットを転送させるために、決定した経路に関連するノードに対して設定するフローエントリを作成する。パス設定部２３が作成したフローエントリは、セキュアチャネルを介して、ノードに通知される。
【００２９】
なお、制御装置２０の各機能は、制御装置２０を構成するコンピュータに、そのハードウェア及びノード位置情報記録部２１から受け取った情報を用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３０】
端末３０は、ノード１０Ａ〜１０Ｄの少なくとも１つを介して、ネットワークに接続する。図１の例では、端末３０は、ノード１０Ａを介してネットワークに接続している。端末３０は、移動により、ノード１０Ａ以外の他のノードと接続してもよく、その場合には、移動先においてネットワークに接続する。
【００３１】
続いて、本実施形態の動作について、図面を参照して詳細に説明する。図３は、端末３０がノード１０Ａを介してネットワーク接続して、パケットを送信する流れを表したシーケンス図である。
【００３２】
まず、端末３０が、ノード１０Ａに接続してパケットを送信する（図３のＳ００１）。パケットを受信したノード１０Ａは、受信したパケットと、フローエントリ記憶部１２に記録されたフローエントリとを比較する。ノード１０Ａは、受信したパケットに対応するフローエントリが存在しない場合、制御装置２０に、フローエントリ設定の要求（パス設定要求）を送信する（図３のＳ００２）。
【００３３】
経路の設定の要求を受けた制御装置２０は、ノード位置情報記録部２１から当該要求を送信したノード１０Ａの位置情報を検出し、検出した位置情報から、端末３０の位置を認識する。制御装置２０は、認識した位置を考慮して、端末３０が送信するパケットの経路を決定する。そして、当該決定した経路に対応するフローエントリを作成し、前記決定した経路上にあるノードに対して当該フローエントリを通知する（図３のＳ００３）。
【００３４】
その後、ノード１０Ａは、制御装置２０から通知されたフローエントリに従って、他のノードにパケットを転送する（図３のＳ００４）。
【００３５】
以下、図３のシーケンスにおけるノードと制御装置のそれぞれの動作について図４と図５を参照して詳細に説明する。
【００３６】
［ノード］
図４は、ノード１０Ａにおける処理の流れを表したフローチャートである。
【００３７】
ノード１０Ａは、ノード１０Ａに端末３０からパケットを受信すると（ステップＳ１００）、フローエントリ記憶部１２を検索し、受信したパケットに適合するフローエントリの有無を調べる（ステップＳ１０１）。
【００３８】
受信パケットに適合するフローエントリが見つかった場合（ステップＳ１０２のＹＥＳ）、ノード１０Ａは、当該フローエントリに定義された処理内容を実行する（ステップＳ１０３）。
【００３９】
受信パケットに適合するフローエントリが見つからなかった場合（ステップＳ１０２のＮＯ）、ノード１０Ａは、制御装置２０に対して、受信パケットに対応するフローエントリ設定の要求を送信する（ステップＳ１０４）。
【００４０】
［制御装置］
図５は、上記ノード１０Ａから要求を受けた制御装置における処理の流れを表したフローチャートである。
【００４１】
まず、制御装置２０は、ノード位置情報記録部２１から、当該要求を送信したノード１０Ａの位置情報を検索し（ステップＳ１１０）、検索した位置情報に基づいて端末３０の位置を識別する（ステップＳ１１１）。
【００４２】
次に、制御装置２０は、上記ステップＳ１１１で識別した端末３０の位置に基づいて、パケットの経路を決定する（ステップＳ１１２）。
【００４３】
次に、制御装置２０は、決定した経路上のノードに設定するフローエントリを作成する（ステップＳ１１３）。
【００４４】
最後に、制御装置２０は、決定した経路上のノードに、ステップＳ１１３で作成したフローエントリを設定する（ステップＳ１１４）。
【００４５】
以上のように、本実施形態によれば、制御装置２０が、ノード１０Ａ〜１０Ｄそれぞれの位置情報を管理しており、端末３０が接続したノードの位置情報に基づいて、端末３０の位置を識別する。よって、制御装置２０は、端末３０の位置に関する情報を管理せずに、端末３０の位置に基づいてパケットの転送経路を制御することが可能となる。
【００４６】
［第２の実施形態］
本発明の第２の実施形態は、制御装置２０が、端末３０の位置に基づいて、端末３０から目的とするサービスを提供可能なサービス提供装置までの経路を計算するとともに、経路上のノードに、経路に従ったパケット転送を行わせるフローエントリを設定するものである。なお、本実施形態は、第１の実施形態と同様の構成で実現可能な部分もあるので、以下、第１の実施形態との相違点を中心に説明する。
【００４７】
本発明の第２の実施形態は、図６に示すように、パケットの転送を行うノード１０Ａ〜１０Ｄと、ノード１０Ａ〜１０Ｄの少なくとも１つを介してネットワークに接続する端末３０と、ノード１０Ｂ〜１０Ｄのそれぞれに接続するサービス提供装置４０Ｂ〜４０Ｄと、複数のノードの少なくとも１つからの要求に応じてパケットの転送経路を制御する制御装置２０とから構成される。なお、本発明のシステム構成は図６に示す構成に限定されるものではなく、例えば、ノード１０Ａと、ノード１０Ｂ〜１０Ｄとの間に、他のノードが存在してもよい。
【００４８】
本発明の第２の実施形態では、複数のサービス提供装置４０Ｂ〜４０Ｄのそれぞれが提供するサービスの代替関係を記録したマップ情報を格納するマップ情報記録部２５をさらに備える。代替関係は、例えば、サービス提供装置４０Ｄはサービス提供装置４０Ｂが提供するサービスを提供できること等を示す情報である。マップ情報には、例えば、あるサーバのミラーサーバのように実質的に同一とみなせるサービス提供装置や、あるサーバの一部機能（一部サービス）を省略・置換したサーバに関する情報が含まれる。
【００４９】
制御装置２０は、例えば、ノード１０Ａ、１０Ｃ経由でサービス提供装置４０Ｃからサービスの提供を受けている端末３０が図６の点線位置から実線の位置に移動した場合、制御装置２０は、マップ情報を参照し、サービス提供装置４０に代替可能な他のサービス提供装置の有無を確認する。ここでは、サービス提供装置４０Ｂが、サービス提供装置４０Ｃを代替可能であるものとする。制御装置２０は、移動した端末３０が接続したノードＢと、端末３０が移動する前にサービスを提供していたサービス提供装置４０Ｃ若しくはそれに代替するサービス提供装置４０Ｂとの間の経路のうち、例えば、最短の経路を計算する。ここでは、ノードＢを経由してサービス提供装置４０Ｂにアクセスする経路が最短であるものとする。制御装置２０は、計算した最短の経路に基づいて、対応するノードにフローエントリを設定する。なお、制御装置２０による経路計算は、最短経路の計算に限らない。制御装置２０は、端末３０とサービス提供装置との間のアクセスに要するコストに基づいて、経路を計算する。
【００５０】
制御装置２０による経路の計算は、最短の経路を計算することに限定されるものではない。例えば、ノード１０Ｂに接続されたサービス提供装置の負荷やノード１０Ｂとサービス提供装置４０Ｂ間のトラヒックの状況等に応じて、制御装置２０が、ノード１０Ｂ−ノード１０Ａ−（ノード１０Ｃまたはノード１０Ｄ）を経由する経路を計算するものとしてもよい。
【００５１】
また、端末３０が図６の実線位置から点線の位置に戻ってきた場合、制御装置２０は、ノード１０Ａとノード１０Ｂ〜１０Ｄのいずれか一つを経由してサービス提供装置４０Ｂ〜４０Ｄのいずれかにアクセスする最短の経路を計算し（上記同様、各ノード１０Ｂ〜１０Ｄの負荷やトラヒックを考慮してもよい。）、経路上のノードに、端末３０とサービス提供装置４０Ｂ〜４０Ｄ間でやり取りされるパケットを経路に従って転送させるフローエントリを設定する。
【００５２】
上記フローエントリの設定により、端末と、端末がアクセスしようとするサービスを提供可能なサービス提供装置４０Ｂ〜４０Ｄとの間でデータアクセス経路が設定される。
【００５３】
本発明の第２の実施形態において、サービス提供装置は、例えばストレージであってもよい。以下では、サービス提供装置がストレージである場合の実施態様を説明する。なお、本発明を実施するために、サービス提供装置は端末が目的とするサービスを提供する装置であればよく、本発明がストレージに限定されるものではない。
【００５４】
図７は、本発明の第２の実施形態において、ストレージを適用した際の制御装置２０の構成を表した図である。図７を参照すると、複数のストレージ４０と、複数のノード１０によって構成されたネットワーク１００と、制御装置２０と、端末３０と、ストレージ管理装置５０と、が示されている。
【００５５】
ストレージ４０は、例えば、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＦＣｏＥ（ＦＣ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標））、Ｅｘｐｒｅｓｓ  Ｅｔｈｅｒｎｅｔ等のプロトコルで接続されるブロックアクセスデバイス、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）若しくはファイルサーバ等の装置である。
【００５６】
なお、端末３０がアクセスするファイルは、一つ以上のオブジェクトから構成され、オブジェクト単位で各ストレージに格納されているものとする。
【００５７】
図７の例では、制御装置２０は、ノード１０とストレージ４０との接続関係を表したネットワークトポロジーを記憶するネットワーク構成記憶部２６と、ストレージ管理装置５０から通知された同一オブジェクトを格納するストレージの中から、ネットワークトポロジー及びノードの位置情報を参照してアクセス先のストレージを決定する接続先決定部２７とをさらに備える。
【００５８】
ネットワークトポロジーは、何れのノード１０にストレージ４０が接続されているのかを示す情報である。なお、図７の例では、ネットワークトポロジーを記録するネットワーク構成記憶部２６と、ノードの位置情報を記録するノード位置情報記録部２１とが別の構成となっている例を説明したが、これら２つの記録部は同じ構成部であってもよい。その場合において、ネットワークトポロジーとノードの位置情報は同一の情報に含まれることになり、例えば、ノードの識別子、当該ノードの位置情報及び当該ノードに接続されているストレージの識別子が、対応付けられて記録される。
【００５９】
端末３０は、ストレージ管理装置５０から受け取ったメタ情報に含まれるオブジェクトの識別子を含んだパケットをノード１０側に送出し、ノード１０を経由してストレージ４０から返送されたパケットを受信する。
【００６０】
ストレージ管理装置５０は、各データがストレージ４０のいずれに格納されているかを管理するメタサーバ等と呼ばれる装置である。図７の例では、ストレージ管理装置５０は、ファイル（または論理ユニット）を構成するオブジェクトの情報およびファイルの属性等のメタ情報を管理するファイルメタ情報管理部５１と、複数のストレージ４０のうちのどのストレージに、オブジェクトが格納されているかを記憶するオブジェクト配置管理テーブル５２とを備えている。上記ファイルのメタ情報およびオブジェクト配置管理テーブル５２が、図６に示したマップ情報に相当する。
【００６１】
図８は、ファイルメタ情報管理部５１に管理されるファイルメタ情報の一例である。図８の例では、ファイルの名称（ファイル名）、タイムスタンプ等のファイル属性（ａｔｔｒｉｂｕｔｅ）、ファイルを構成するオブジェクト（群）の識別子のほか、当該ファイルの配置ポリシを格納可能となっている。
【００６２】
ファイルの配置ポリシとは、各ファイルの配置や転送先に関するポリシであり、例えば、当該ファイルの格納可能（格納不可能）な地理的エリアやストレージが設定される。また、ファイルの配置ポリシとして、当該ファイルを用いたサービスを提供可能な地理的エリアやストレージを定めておいてもよい。
【００６３】
また、当該ファイルの配置ポリシは、法規制やセキュリティポリシの観点から、特定の地域からのアクセスに対しては当該アクセスを許可しないという情報（ポリシ）や、特定の地域からのアクセスしか当該アクセスを許可しないという情報（ポリシ）も設定されうる。このような設定は、ストレージが複数の国や領域に跨って配置されているようなケースにおいて、法規制やセキュリティポリシの観点からアクセスできる国や領域に制約が設けられている場合に、端末３０がアクセスできるストレージを制限するために用いることができる。
【００６４】
上記のファイル配置ポリシが設定されている場合、接続先決定部２７は、当該ファイル配置ポリシに基づいて、端末３０が接続するストレージを決定する。例えば、端末３０が接続する位置からは、特定のエリアにあるストレージには接続できないというファイル配置ポリシが設定されている場合、当該特定のエリアにあるストレージ以外のストレージから、端末３０が接続するストレージを決定する。
【００６５】
なお、本実施形態にあわせて、ファイルを格納するストレージに関するポリシとして説明したが、実施形態によっては、当該ポリシが様々な形態となることは明らかである。例えば、端末がサービス提供装置に接続する実施形態においては、法規制やセキュリティポリシに基づいた、端末３０が接続可能（不可能）なサービス提供装置に関するポリシが設定されていてもよい。
【００６６】
図９は、オブジェクト配置管理テーブル５２に保持されるオブジェクト配置管理エントリの一例である。図９の例では、オブジェクト毎に、当該オブジェクトを格納しているストレージのＩＤが格納された構成となっている。
【００６７】
なお、本実施形態では、ストレージ管理装置５０が、ファイルシステムの名前空間とファイルの対応関連を管理するディレクトリ等の名前空間を管理する機能を持つものとして説明するが、本機能は、別のサーバ等により構成することや、制御装置２０の一要素として構成することも可能である。
【００６８】
また、図７に示した制御装置２０の各部（処理手段）は、制御装置２０を構成するコンピュータに、そのハードウェアおよびストレージ管理装置５０から受け取った情報を用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００６９】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図１０は、端末３０が、ストレージシステム中のデータにアクセスする際の流れを表したシーケンス図である。
【００７０】
図１０は、本発明の第２の実施形態の動作を表したシーケンス図である。図１０を参照すると、まず、端末３０が、ストレージ管理装置５０に対し、ファイルのＯｐｅｎを要求すると（図１０のＳ２０１）、ストレージ管理装置５０は、端末３０に対し、ファイルのメタ情報（ファイルを構成するオブジェクト情報等）を含むＯｐｅｎ応答を返送する（図１０のＳ２０２）。
【００７１】
その後、端末３０がｒｅａｄ／ｗｒｉｔｅ等のアクセスのため、アクセス関連のパケットをノード１０側に送信すると（図１０のＳ２０３）、各ノード１０は、フローエントリ記憶部１２を参照するが、該当するフローエントリが無いため、制御装置２０に対して、受信パケットを送信し、フローエントリの設定を要求する（図１０のＳ２０４）。
【００７２】
フローエントリの設定要求を受けた制御装置２０は、ストレージ管理装置５０に対し、受信パケットに含まれるオブジェクトの識別子によって特定されるオブジェクトを格納したストレージ群のリスト（オブジェクト配置）を要求する（図１０のＳ２０５）。
【００７３】
ストレージ管理装置５０が、オブジェクト配置管理テーブル５２を参照してオブジェクトを格納したストレージ群のリスト（オブジェクト配置）を送信すると（図１０のＳ２０６）、制御装置２０は、端末３０の位置及びストレージ群のリストに含まれるストレージの各々の位置に基づいて、ストレージ群の中から適当なストレージ４０を決定し、端末３０とストレージ４０間のアクセス経路（パス）を計算する。次いで、制御装置２０は、算出された経路について、各アクセス経路（パス）を実現するフローエントリを作成し、計算したアクセス経路（パス）上のノード１０に設定する（図１０のＳ２０７）。
【００７４】
フローエントリの設定を受けたノード１０は、設定されたフローエントリに従い、受信時にバッファしておいた受信パケットまたは制御装置２０から返送されたパケットを転送する（図１０のＳ２０８）。
【００７５】
その後、端末３０がｒｅａｄ／ｗｒｉｔｅ等のアクセスのため、アクセス関連のパケットをノード１０側に送信すると（図１０のＳ２１１）、各ノード１０は、設定されたフローエントリに基づき、オブジェクトのアクセス先として決定されたストレージ４０に、アクセス関連のパケットを転送していく（図１０のＳ２１２）。また、各ノード１０は、設定されたフローエントリに基づき、ストレージ４０から返されたパケットを端末３０に転送していく（図１０のＳ２１３、Ｓ２１４）。
【００７６】
以下、図１０のシーケンスにおける各装置の動作について図１１、図１２、図１３、図１４を参照して詳細に説明する。
【００７７】
［端末（Ｏｐｅｎからファイルアクセス）］
図１１は、図１０の端末３０が、ファイルのＯｐｅｎを要求してから応答としてファイルのメタ情報を受信するまで（図１０のＳ２０１〜Ｓ２０３）の処理の流れを表したフローチャートである。
【００７８】
まず、端末３０は、ストレージ管理装置５０に対し、名前解決を要求し、パス名に対応するファイルの情報を取得する（ステップＳ２２０）。
【００７９】
次に、端末３０は、ストレージ管理装置５０に対し、取得したファイルを指定してｏｐｅｎを要求する（ステップＳ２２１）。
【００８０】
次に、端末３０は、ストレージ管理装置５０からの応答として受信したファイルのメタ情報を格納する（ステップＳ２２２）。ファイルのメタ情報には、ファイルを構成するオブジェクトの情報が含まれる（図８参照）。
【００８１】
最後に、端末３０は、ｒｅａｄ／ｗｒｉｔｅ等のアクセスのため、アクセス関連のパケットをノード１０側に送信する（図１０のＳ２０３）。
【００８２】
［ストレージ管理装置］
図１２は、図１０のストレージ管理装置５０が、制御装置２０からのオブジェクト配置取得要求に対する応答を送信するまで（図１０のＳ２０５〜Ｓ２０６）の処理の流れを表したフローチャートである。
【００８３】
まず、ストレージ管理装置５０は、オブジェクト配置管理テーブル５２を参照して、端末３０から転送されたオブジェクトが配置されているストレージを検索する（ステップＳ２３０）。
【００８４】
次に、ストレージ管理装置５０は、制御装置２０に対し、端末３０から指定されたファイルの状態をｏｐｅｎ状態に更新する（ステップＳ２３１）。
【００８５】
次に、ストレージ管理装置５０は、検索したオブジェクトを格納したストレージ群のリスト（オブジェクト配置情報）を制御装置２０に送信する（ステップＳ２３２）。
【００８６】
［制御装置］
図１３は、図１０のＳ２０４においてノード１０から受信パケットの転送を受けた制御装置２０における処理の流れを表したフローチャートである。
【００８７】
パケットを受信すると（ステップＳ２４０）、制御装置２０は、当該受信パケットからオブジェクトの識別子を取得する（ステップＳ２４１）。
【００８８】
次に、制御装置２０は、ストレージ管理装置５０から、当該オブジェクトを格納したストレージ群のリスト（オブジェクト配置情報）を取得する（ステップＳ２４２）。
【００８９】
次に、制御装置２０は、ネットワーク構成記憶部２６に記憶されているネットワークトポロジーを参照して、リストに含まれるストレージが接続しているノードを識別し、ノード位置情報記録部２１からノードの位置情報を検出し、リストに含まれるストレージの位置を識別する。また、制御装置２０は、ノード位置情報記録部２１を参照して、パケットを送信してきたノードの位置情報を検出し、ノードに接続している端末の位置を識別する（ステップＳ２４３）。
【００９０】
次に、制御装置２０は、上記ステップＳ２４３で調べた位置に基づいて、端末３０と接続すべきストレージを選択する（ステップＳ２４４）。ストレージの選択は、スループット、レスポンスタイム、通信系路上の負荷などの情報を元に決定することができる。つまり、制御装置２０は、ストレージに対するアクセスに要するコストに基づいて、ストレージを選択する。
【００９１】
次に、制御装置２０は、端末３０と選択したストレージ４０とを接続するアクセス経路（パス）を計算する（ステップＳ２４５）。
【００９２】
次に、制御装置２０は、計算したアクセス経路（パス）上のノード１０に設定するフローエントリを作成する（ステップＳ２４６）。このフローエントリの照合規則には、オブジェクトの識別子が含まれており、送受信されるパケットがどのオブジェクトのアクセスに関わるものであるかが判るようになっている。フローエントリ中のパケットに適用する処理（アクション）としては、上記のような照合規則に適合するパケットを受信した際に、オブジェクト毎に計算したアクセス経路（パス）上の次のノードが接続されたポートからパケットを出力する処理が設定される。
【００９３】
最後に、制御装置２０は、計算したアクセス経路（パス）上のノード１０に、ステップＳ２４６で作成したフローエントリを設定する（ステップＳ２４７）。
【００９４】
［ノード］
図１４は、図１０のノード１０における処理の流れを表したフローチャートである。
【００９５】
ノード１０は、パケットを受信すると（ステップＳ２５０）、フローエントリ記憶部１２から、受信したパケットに適合する照合規則を持つフローエントリを検索する（ステップＳ２５１）。
【００９６】
検索の結果、受信パケットに適合するフローエントリが見つかった場合（ステップＳ２５２のＹｅｓ）、ノード１０は、当該フローエントリに定義された処理内容を実行する（ステップＳ２５３）。
【００９７】
他方、受信パケットに適合するフローエントリが見つからなかった場合（ステップＳ２５２のＮｏ）、ノード１０は、制御装置２０にパケットを転送し、フローエントリの設定を依頼する（ステップＳ２５４）。
【００９８】
以上のように、本実施形態は、実際にアクセスが行われる際に、アクセス経路（パス）およびフローエントリを設定する態様にて実現することが可能である。本実施形態において、サービス提供装置がストレージである例では、端末３０に通常のファイルアクセスと同じ処理を行わせるだけで、適切なストレージ４０にアクセスさせることが可能になる。その理由は、制御装置２０が、端末３０がアクセスすべきデータを格納したストレージ群の中から適切なものを選択し、経路制御を行うよう構成したことにある。
【００９９】
［第３の実施形態］
上記した第２の実施形態では、ストレージに予め所定の方式によりオブジェクトが分散配置されるものとして説明したが、オブジェクトの配置を見直す機能を追加することも可能である。
【０１００】
以下、オブジェクトの配置を見直す機能を追加した第３の実施形態について説明する。なお、以下の説明では、第１、第２の実施形態ですでに説明した事項は適宜省略して説明する。
【０１０１】
図１５は、本発明の第３の実施形態の構成を表した図である。図１５を参照すると、第２の実施形態と比較して、制御装置２０に履歴記憶部２８が追加されるとともに、データ配置変更装置６０が追加された構成となっている。
【０１０２】
制御装置２０の履歴記憶部２８は、ネットワーク１００内の各ノード１０におけるパケットの通過履歴およびフローエントリの設定履歴を記録する。これらの履歴情報としては、オープンフロー技術において、オープンフロースイッチにてフローエントリ毎に各スイッチで記録されるフロー統計情報（Ｃｏｕｎｔｅｒｓ）を用いることができる。
【０１０３】
データ配置変更装置６０は、制御装置２０の履歴記憶部２８に保持されている履歴情報を解析してオブジェクトのコピーを行うか否かを判定する配置計画部６１と、配置計画部６１に指示に従いストレージ４０間のオブジェクトのコピーを行うデータ移動部６２とを備えて構成される。なお、本実施形態では、データ配置変更装置６０を独立した装置として設けているが、ストレージ管理装置５０あるいは制御装置２０に、配置変更装置６０相当の機能を追加した構成であってもよい。
【０１０４】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図１６は、本発明の第３の実施形態の動作を表したシーケンス図である。
【０１０５】
一定時刻、一定時間間隔、所定の条件成立等のタイミングで、データ変更処理が開始されると、データ配置変更装置６０は、制御装置２０の履歴記憶部２８に保持されている履歴情報を取得する（図１６のＳ３０１、Ｓ３０２）。
【０１０６】
データ配置変更装置６０が取得する履歴情報には、オブジェクトの識別子、端末、実際にアクセスしたストレージの情報が含まれる。この履歴から、オブジェクトへのアクセスの時間的ローカリティ（局所性）がある端末を判別することができる。オブジェクトへのアクセスの時間的ローカリティがある端末とは、例えば、特定のオブジェクトへのアクセス頻度が所定の閾値よりも高い端末等である。
【０１０７】
次に、データ配置変更装置６０は、先のローカリティがある端末と、ストレージ管理装置５０のオブジェクト配置テーブル５２に保持されているストレージ一覧を参照し、ネットワーク上で端末に対して近傍なストレージ４０を選択する。ここで、ネットワーク上で端末に対して近傍であるか否かは、ネットワークトポロジー及びノードの位置情報から求めたホップ数や、別途計測したレスポンスタイムなどにより決定することができる。つまり、データ配置変更装置６０は、ストレージへのアクセスに要するコストに基づいて、近傍のストレージを決定する。例えば、端末からのホップ数が、経路の候補の中で最小となるストレージを、端末に対して近傍のストレージと決定してもよい。
【０１０８】
次に、データ配置変更装置６０は、選択したストレージ４０に、配置見直し対象のオブジェクトのコピーを行う（図１６のＳ３０３〜Ｓ３０６）。
【０１０９】
次いで、データ配置変更装置６０は、ストレージ管理装置５０に対し、配置見直し対象のオブジェクトを格納しているストレージが増加したことを通知する（図１６のＳ３０７）。
【０１１０】
ストレージ管理装置５０は、オブジェクトの配置変更通知の受信を契機として、制御装置２０に対し、オブジェクトとオブジェクトを格納したストレージ群の情報を指定し、アクセス経路（パス）の再計算を依頼する（図１６のＳ３０９）。
【０１１１】
制御装置２０は、オブジェクトとオブジェクトを格納したストレージ群の情報に基づいて、再度、アクセス経路（パス）の再計算を行った後、再計算後のアクセス経路（パス）を実現するフローエントリの作成、該当ノード１０へのフローエントリの設定を行う（図１６のＳ３１０）。
【０１１２】
図１７は、上記アクセス経路（パス）の再計算の依頼を受けた制御装置の動作を表したフローチャートである。
【０１１３】
制御装置２０は、配置が変更されたオブジェクトをアクセス先とする既存のアクセス経路（パス）の中から、任意の経路（パス）を選択し（ステップＳ３２１）、ネットワーク構成記憶部２６に記憶されているネットワークトポロジーを参照して、端末３０と変更後のストレージ群のネットワークロケーションを調べる（ステップＳ３２２）。
【０１１４】
次に、制御装置２０は、接続先ストレージを変更することで最適化ができるか否かを判定する（ステップＳ３２３「ストレージ変更」）。ここで、ストレージの変更をした方が良いと判定した場合（ステップＳ３２３「ストレージ変更」のＹｅｓ）、制御装置２０は、接続先ストレージを変更したアクセス経路（パス）を計算し（ステップＳ３２４）、このアクセス経路（パス）上のノードに設定するフローエントリを算出する（ステップＳ３２５）。最後に制御装置２０は、算出したフローエントリを該当ノード１０に設定する（ステップＳ３２６）。
【０１１５】
他方、ストレージの変更は不要であると判定した場合は、ステップＳ３２０に戻り、次の見直し対象経路（パス）を選択する。
【０１１６】
以上の処理が、配置が変更されたオブジェクトをアクセス先とする既存のアクセス経路（パス）について行われる。
【０１１７】
以上のように、本実施形態では、端末のネットワーク位置を考慮し、最適なストレージにデータをコピーすることが可能となる。その理由は、制御装置においてデータアクセスの履歴を保持し、この履歴を元に端末３０が、オブジェクトにアクセスする際のコストを考慮して、データを格納すべきストレージを決定できるためである。
【０１１８】
なお、上記実施形態ではオブジェクトの配置変更を契機に、アクセス先のストレージの見直しを行うものとして説明したが、ストレージの障害や、負荷の変動を契機に、アクセス先のストレージの見直しを行ってもよいことはもちろんである。
【０１１９】
上記実施形態ではオブジェクトのコピーを行うものとして説明したが、オブジェクトを移動させるようにしてもよいことはもちろんである。また、所定の契機でコピーしたオブジェクトを適宜削除する機能を持たせてもよい。
【０１２０】
また、オブジェクトの配置を変更する場合において、データ配置変更装置６０が、ファイルのメタ情報の配置ポリシ（図８参照）を参照するようにしてもよい。
【０１２１】
例えば、ファイルａは、地域Ａに格納してはならない、との配置ポリシが定められているとき、新たにオブジェクトがコピーされたストレージが、端末３０から最適なネットワーク位置にあったとしても、当該ストレージが地域Ａにある場合には、選択しないようにすることができる。
【０１２２】
同様に、例えば、ファイルｂはサービスｄに用いられ、このサービスｄは地域Ｃで稼動させてはならない、との配置ポリシが定められているとき、新たにオブジェクトがコピーされたストレージが、端末３０から最適なネットワーク位置にあったとしても、当該ストレージが地域Ｃにある場合には、選択しないようにすることができる。
【０１２３】
また、上記した第３の実施形態では、データ配置変更装置６０を介して、オブジェクトのコピーを行うものとして説明したが、図１８に示すように、ストレージ間で直接データをコピーする構成も採用可能である。
【０１２４】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、オブジェクトベースストレージに適用したものとして説明したが、転送ノードと制御装置（コントローラ）を持つネットワークを経由してアクセス可能なその他の並列ファイルシステム等全般に適用することが可能である。
【０１２５】
以上、本発明の好適な実施形態を説明したが、本発明は、上記したストレージシステムのほか、前述したように、各種の情報システムにも適用することが可能である。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。  
【０１２６】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態において、
前記制御装置は、
所定のノードから前記設定要求を受信した場合に、前記所定のノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御する通信システム。
［第３の形態］
第１又は第２の形態において、
前記制御装置は，
前記複数のノードのそれぞれの位置情報に基づいて定められた、前記パケットの転送経路に関する制約条件を示すポリシ情報を参照し、
前記端末の位置及び前記ポリシ情報に基づいて、パケットの転送経路を制御する通信システム。
［第４の形態］
第１から第３いずれか一の形態において、
前記制御装置は、
前記端末が接続する候補の複数のサーバ装置から、前記複数のサーバ装置の各々の位置と前記端末の位置とに基づいて接続するサーバ装置を決定し、前記端末と前記決定されたサーバ装置との間のパケットの転送経路を制御する通信システム。
［第５の形態］
第４の形態において、
前記制御装置は、
前記端末と前記複数のサーバ装置の各々との間のアクセスに要するコストに基づいて、前記端末が接続するサーバ装置を決定する通信システム。
［第６の形態］
第４又は第５の形態において、
前記制御装置は、
前記端末が接続する候補の複数のサーバ装置が変更され、又は、前記端末の位置が変化した際に，前記端末が接続するサーバ装置を再決定し，前記端末から前記再決定したサーバ装置までの経路を制御する通信システム。
［第７の形態］
第１から第３いずれか一の形態において、
さらに、複数のストレージを含み、
前記制御装置は、
前記複数のストレージに格納されているデータを管理するマップ情報を記憶する手段と、
前記マップ情報及び前記端末の位置に基づいて、前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含む通信システム。
［第８の形態］
第７の形態において、
前記制御装置は、
前記ストレージへのアクセスに関する制約条件を記憶する手段と、
前記マップ情報、前記端末の位置及び前記制約条件に基づいて、前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含む通信システム。
［第９の形態］
第７又は第８の形態において、
さらに、前記端末による所定のデータへのアクセス状況に基づいて、該所定のデータを格納するストレージを変更するデータ配置変更装置を含む通信システム。
［第１０の形態］
第７又は第８の形態において、
前記端末による所定のデータへのアクセス状況に基づいて、前記所定のデータを新たに格納するストレージを決定し、前記決定したストレージに前記所定のデータを複製するデータ配置変更装置を含む通信システム。
［第１１の形態］
第９又は第１０の形態において、
前記データ配置変更装置は、
前記端末と前記複数のストレージの各々との間のアクセスに要するコストに基づいて、ストレージを選択する通信システム。
［第１２の形態］
（上記第２の視点による制御装置参照）
［第１３の形態］
第１２の形態において、
所定のノードから前記設定要求を受信した場合に、前記所定のノードに対応する前記位置情報から前記端末の位置を識別し、該端末の位置を用いてパケットの転送経路を制御する制御装置。
［第１４の形態］
第１２又は第１３の形態において、
前記複数のノードのそれぞれの位置情報に基づいて定められた、前記パケットの転送経路に関する制約条件を示すポリシ情報を参照し、
前記端末の位置及び前記ポリシ情報に基づいて、パケットの転送経路を制御する制御装置。
［第１５の形態］
第１２から第１４いずれか一の形態において、
前記端末が接続する候補の複数のサーバ装置から、前記複数のサーバ装置の各々の位置と前記端末の位置とに基づいて接続するサーバ装置を決定し、前記端末と前記決定されたサーバ装置との間のパケットの転送経路を制御する制御装置。
［第１６の形態］
第１５の形態において、
前記端末と前記複数のサーバ装置の各々との間のアクセスに要するコストに基づいて、前記端末が接続するサーバ装置を決定する制御装置。
［第１７の形態］
第１５又は第１６の形態において、
前記端末が接続する候補の複数のサーバ装置が変更され、又は、前記端末の位置が変化した際に、前記端末が接続するサーバ装置を再決定し、前記端末から前記再決定したサーバ装置までの経路を制御する制御装置。
［第１８の形態］
第１２から第１４いずれか一の形態において、
さらに、
複数のストレージに格納されているデータを管理するマップ情報を記憶する手段と、
前記マップ情報及び前記端末の位置に基づいて，前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含む制御装置。
［第１９の形態］
第１８の形態において、
前記ストレージへのアクセスに関する制約条件を記憶する手段と、
前記マップ情報、前記端末の位置及び前記制約条件に基づいて、前記端末が接続するストレージを決定する手段と、
前記端末から前記決定したストレージまでの経路を制御する手段と、
を含む制御装置。
［第２０の形態］
第１８又は第１９の形態において、
前記端末による所定のデータへのアクセス状況に基づいて、該所定のデータを格納するストレージを変更するデータ配置変更手段を含む制御装置。
［第２１の形態］
第１８又は第１９の形態において、
前記端末による所定のデータへのアクセス状況に基づいて、前記所定のデータを新たに格納するストレージを決定し、前記決定したストレージに前記所定のデータを複製するデータ配置変更手段を含む制御装置。
［第２２の形態］
第２０又は第２１の形態において、
前記データ配置変更手段は、
前記端末と前記複数のストレージの各々との間のアクセスに要するコストに基づいて、ストレージを選択する制御装置。
［第２３の形態］
（上記第３の視点による通信方法参照）
［第２４の形態］
（上記第４の視点によるプログラム参照）
【符号の説明】
【０１２７】
１０、１０Ａ〜１０Ｄ  ノード
１１  パケット処理部
１２  フローエントリ記憶部
２０  制御装置
２１  ノード位置情報記録部
２２  パス決定部
２３  パス設定部
２４  通信部
２５  マップ情報記録部
２６  ネットワーク構成記憶部
２７  接続先決定部
２８  履歴記憶部
３０  端末
４０  ストレージ
４０Ｂ〜４０Ｄ  サービス提供装置
５０  ストレージ管理装置
５１  ファイルメタ情報管理部
５２  オブジェクト配置管理テーブル
６０  データ配置変更装置
６１  配置計画部
６２  データ移動部
１００  ネットワーク
【図１】
0005804061.tif 000002
【図２】
0005804061.tif 000003
【図３】
0005804061.tif 000004
【図４】
0005804061.tif 000005
【図５】
0005804061.tif 000006
【図６】
0005804061.tif 000007
【図７】
0005804061.tif 000008
【図８】
0005804061.tif 000009
【図９】
0005804061.tif 000010
【図１０】
0005804061.tif 000011
【図１１】
0005804061.tif 000012
【図１２】
0005804061.tif 000013
【図１３】
0005804061.tif 000014
【図１４】
0005804061.tif 000015
【図１５】
0005804061.tif 000016
【図１６】
0005804061.tif 000017
【図１７】
0005804061.tif 000018
【図１８】
0005804061.tif 000019
【図１９】
0005804061.tif 000020