(57)【特許請求の範囲】
【請求項１】
ツリー状に接続された複数のスイッチと、
前記複数のスイッチのうちいずれかのスイッチに接続された情報処理装置と、
前記複数のスイッチのうちいずれかのスイッチに接続され且つ識別子の割り当てを管理する管理装置と、
を有し、
前記情報処理装置は、
前記管理装置を宛先とする割当要求を送信し、
前記管理装置は、
受信した前記割当要求に基づき、前記情報処理装置に対して識別子を割り当てることができるか判断し、前記情報処理装置に対して識別子を割り当てることができる場合、前記情報処理装置に割り当てる識別子を含む応答を送信し、
前記複数のスイッチのうち前記割当要求を中継した第１のスイッチは、
前記応答を受信した場合に、
前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行うとともに、前記第１のスイッチが属するドメインである第１のドメインに属する第２のスイッチに対し、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子を含む設定要求を送信して前記情報処理装置を宛先とするパケットを中継するための設定を行わせ、前記応答を前記情報処理装置に向けて送信する
ことを特徴とする情報処理システム。
【請求項２】
前記第１のドメインに属する前記第２のスイッチは、
前記設定要求に含まれる前記論理リンクの情報及び前記識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行う
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記第１のスイッチは、前記応答を前記割当要求を中継した経路にある第３のスイッチに送信し、
前記第３のスイッチは、
前記応答を受信した場合、
前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行うとともに、前記第３のスイッチが属するドメインである第２のドメインに属する第４のスイッチに対し、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子を含む設定要求を送信して前記情報処理装置を宛先とするパケットを中継するための設定を行わせ、前記応答を前記情報処理装置に向けて送信する
ことを特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
前記第１のスイッチは、
前記割当要求に含まれる送信元アドレス及び前記応答に含まれる送信元アドレスにさらに基づき前記設定を行い、
前記情報処理装置を宛先とするパケットを受信した場合、当該パケットに含まれるアドレスを前記設定に基づき変換し、変換後の前記パケットを前記設定に基づき中継する
ことを特徴とする請求項１又は２記載の情報処理システム。
【請求項５】
前記情報処理装置は、
前記管理装置を宛先とする解除要求を送信し、
前記管理装置は、
受信した前記解除要求に基づき、前記情報処理装置に対する識別子の割り当てを解除できるか判断し、前記情報処理装置に対する識別子の割り当てを解除できる場合、前記解除要求に対する応答を送信し、
前記複数のスイッチのうち前記解除要求を中継した前記第１のスイッチは、
前記解除要求に対する応答を受信した場合、
前記設定を削除するとともに、前記第１のドメインに属する前記第２のスイッチに対し、前記情報処理装置に割り当てられた識別子を含む削除要求を送信して前記情報処理装置を宛先とするパケットを中継するための設定の削除を行わせ、前記解除要求に対する応答を前記情報処理装置に向けて送信する
ことを特徴とする請求項１乃至４のいずれか１つ記載の情報処理システム。
【請求項６】
前記複数のスイッチのうち第３のドメインに属する第５のスイッチは、
前記割当要求を受信した場合、前記第３のドメインに属するスイッチのうち設定の管理を行う第６のスイッチに対し前記割当要求を受信した論理リンクの情報を送信し、
前記複数のスイッチのうち前記第３のドメインに属する第７のスイッチは、
前記応答を受信した場合、前記第６のスイッチに対し前記応答を送信し、
前記第６のスイッチは、
前記第５のスイッチから受信した前記論理リンクの情報及び前記第７のスイッチから受信した前記応答に含まれる識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行うとともに、前記第３のドメインに属する他のスイッチに対し、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子を含む設定要求を送信して前記情報処理装置を宛先とするパケットを中継するための設定を行わせ、前記応答を前記情報処理装置に向けて送信する
ことを特徴とする請求項１乃至５のいずれか１つ記載の情報処理システム。
【請求項７】
ツリー状に接続された複数のスイッチと、前記複数のスイッチのうちいずれかのスイッチに接続された情報処理装置と、前記複数のスイッチのうちいずれかのスイッチに接続され且つ識別子の割り当てを管理する管理装置とを有する情報処理システムにおいて、
前記情報処理装置は、前記管理装置を宛先とする割当要求を送信し、
前記管理装置は、受信した前記割当要求に基づき、前記情報処理装置に対して識別子を割り当てることができるか判断し、前記情報処理装置に対して識別子を割り当てることができる場合、前記情報処理装置に割り当てる識別子を含む応答を送信し、
前記複数のスイッチのうち前記割当要求を中継した第１のスイッチは、前記応答を受信した場合に、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行うとともに、前記第１のスイッチが属するドメインである第１のドメインに属する第２のスイッチに対し、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子を含む設定要求を送信して前記情報処理装置を宛先とするパケットを中継するための設定を行わせ、前記応答を前記情報処理装置に向けて送信する
ことを特徴とする、情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理システムの制御方法に関する。
【背景技術】
【０００２】
Fibre Channel over Ethernet（ＦＣｏＥ）とは、Storage Area Network（ＳＡＮ）におけるデファクトスタンダードであるFibre Channel（ＦＣ）の通信を、Ethernet（登録商標）上で行えるようにした技術である。ＦＣｏＥによって、個別に配備されていたEthernetによるＬＡＮ（Local Area Network）とＳＡＮとを、１つのネットワークに統合することができるようになる。これによって、スイッチ、アダプタ、ケーブルの数を半減でき、ネットワーク管理の簡素化が可能となる。
【０００３】
ＦＣｏＥのネットワークには、ＦＣＭ（Fibre Channel Mapper）が実装された装置であるＦＣＦ（FCoE Forwarder）が少なくとも１つ設けられる。ＦＣＦは、パケットのカプセル化及び非カプセル化、並びに、ＦＩＰ（FCoE Initialization Protocol）の処理を実行する。
【０００４】
ＦＣｏＥのネットワークにおいては、パケットがＦＣＦを経由するように中継する場合、パケットが送信元から宛先に到達するまでの経路が最短の経路にならない（すなわち、無駄な経路が生じる）という問題がある。一方、各スイッチに対する中継設定を特定の装置（例えばＦＣＦ）が行うことでＦＣＦを経由しないようにパケットを中継する場合、その装置に処理負荷が集中するという問題がある。従来の技術においては、これらの問題に対する十分な検討が行われていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−９６６８２号公報
【特許文献２】特開２００８−１８６３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本発明の目的は、１つの側面では、ネットワークにおける特定の装置に処理負荷が集中することを防止するための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理システムは、ツリー状に接続された複数のスイッチと、複数のスイッチのうちいずれかのスイッチに接続された情報処理装置と、複数のスイッチのうちいずれかのスイッチに接続され且つ識別子の割り当てを管理する管理装置とを有する。そして、上で述べた情報処理装置は、複数のスイッチのうち識別子の割り当てを管理する管理装置を宛先とする割当要求を送信し、管理装置は、受信した割当要求に基づき、情報処理装置に対して識別子を割り当てることができるか判断し、情報処理装置に対して識別子を割り当てることができる場合、情報処理装置に割り当てる識別子を含む応答を送信し、複数のスイッチのうち割当要求及び応答を中継する第１のスイッチは、割当要求を受信した論理リンクの情報及び応答に含まれる識別子に基づき、情報処理装置を宛先とするパケットを中継するための設定を行うとともに、第１のスイッチが属するドメインである第１のドメインに属する他のスイッチに対し、割当要求を受信した論理リンクの情報及び応答に含まれる識別子を含む設定要求を送信する処理を実行する。
【発明の効果】
【０００８】
１つの側面では、ネットワークにおける特定の装置に処理負荷が集中することを防止できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態のシステム概要を示す図である。
【図２】図２は、ドメイン間の接続及びドメインと１スイッチとの間の接続を表す論理図である。
【図３】図３は、スイッチの機能ブロック図である。
【図４】図４は、プロトコル処理部の機能ブロック図である。
【図５】図５は、ＦＬＯＧＩテーブルの一例を示す図である。
【図６】図６は、ＦＣｏＥ中継テーブルの一例を示す図である。
【図７】図７は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図８】図８は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図９】図９は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１０】図１０は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１１】図１１は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１２】図１２は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１３】図１３は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１４】図１４は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１５】図１５は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１６】図１６は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１７】図１７は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１８】図１８は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図１９】図１９は、第１の実施の形態において行われる処理の概要を説明するための図である。
【図２０】図２０は、初期設定処理の処理フローを示す図である。
【図２１】図２１は、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図２２】図２２は、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図２３】図２３は、中継設定処理の処理フローを示す図である。
【図２４】図２４は、中継設定要求を受信したスイッチが実行する処理の処理フローを示す図である。
【図２５】図２５は、ＦＬＯＧＩ ＡＣＣパケット又はＦＬＯＧＩ ＲＪＴパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図２６】図２６は、ＬＯＧＯパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図２７】図２７は、ＬＯＧＯパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図２８】図２８は、設定削除処理の処理フローを示す図である。
【図２９】図２９は、削除要求を受信したスイッチが実行する処理の処理フローを示す図である。
【図３０】図３０は、ＬＯＧＯ ＡＣＣパケット又はＣＶＬパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図３１】図３１は、パケット処理部におけるＦＣｏＥ中継処理部が実行する処理の処理フローを示す図である。
【図３２】図３２は、第２の実施の形態の概要について説明するための図である。
【図３３】図３３は、ＦＬＯＧＩテーブルの一例を示す図である。
【図３４】図３４は、第２の実施の形態の概要について説明するための図である。
【図３５】図３５は、第２の実施の形態の概要について説明するための図である。
【図３６】図３６は、第２の実施の形態の概要について説明するための図である。
【図３７】図３７は、第２の実施の形態の概要について説明するための図である。
【図３８】図３８は、第２の実施の形態の概要について説明するための図である。
【図３９】図３９は、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図４０】図４０は、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図４１】図４１は、ドメインマスタが実行する処理の処理フローを示す図である。
【図４２】図４２は、ＦＬＯＧＩ ＡＣＣパケット又はＦＬＯＧＩ ＲＪＴパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図４３】図４３は、ＬＯＧＯパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図４４】図４４は、ＬＯＧＯパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図４５】図４５は、ＬＯＧＯ ＡＣＣパケットを受信したスイッチが実行する処理の処理フローを示す図である。
【図４６】図４６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１に、本実施の形態におけるシステム概要を示す。本実施の形態においては、例えばＦＣｏＥに準拠したスイッチであるスイッチＳＷ１乃至ＳＷ９がツリー状に接続されており、スイッチＳＷ１乃至ＳＷ６はドメインと呼ばれる単位で管理される。具体的には、スイッチＳＷ１及びＳＷ２はドメインＡに属し、スイッチＳＷ３及びＳＷ４はドメインＢに属し、スイッチＳＷ５及びＳＷ６はドメインＣに属する。スイッチＳＷ７にはエンドノード３が接続され、スイッチＳＷ１にはＦＣｏＥコントローラ５が接続される。図１においては、エンドノードの数は１であるが、数に限定は無い。
【００１１】
ドメインＡとドメインＢとの間における複数の物理リンクはＭＬＡＧ（Multi-chassis Link-Aggregation Group）によって１つの論理リンクとして取り扱われる。ドメインＡとドメインＣとの間における複数の物理リンクもＭＬＡＧによって１つの論理リンクとして取り扱われる。ドメインＢとスイッチＳＷ７との間における複数の物理リンクもＭＬＡＧによって１つの論理リンクとして取り扱われる。なお、ドメイン間の接続及びドメインと１スイッチとの間の接続を表す論理図は図２のようになる。図２に示すように、ドメイン間の接続及びドメインと１スイッチとの間の接続において論理的なループは禁止される。
【００１２】
ＦＣｏＥコントローラ５は、ＦＣＦのコントロール機能を有する装置（例えばサーバ）である。但し、ＦＣｏＥコントローラ５は、ＦＣＦのデータ中継機能を有しない。
【００１３】
コントロール機能は、ログインを要求するパケットであるＦＬＯＧＩ（Fabric Login）パケットをエンドノードから受け付け、ログインが成功した場合にＦＣＩＤ（Fibre Channel IDentifier）及びＦＰＭＡ（Fabric Provided MAC Address）を含むＦＬＯＧＩ ＡＣＣ（ACCept）パケットを出力し、ログインが失敗した場合にＦＬＯＧＩ ＲＪＴ（ReJecT）パケットを出力する機能を含む。この機能においては、ＦＬＯＧＩによって確立された仮想リンク上でのログインの際に発行されるＦＤＩＳＣ（Fabric Discovery）パケットもＦＬＯＧＩパケットと同様に取り扱われる。また、コントロール機能は、ログアウトを要求するパケットであるＬＯＧＯ（LOGOut）パケットをエンドノードから受け付けた場合又は仮想リンクの維持についてのタイムアウトが発生した場合に、ログイン状態を解除する機能を含む。後者の場合には、ＣＶＬ（Clear Virtual Link）コマンドが送信され仮想リンクが削除される。さらに、コントロール機能はネームサーバ機能を含むが、本実施の形態には直接関係しないので説明を省略する。
【００１４】
データ中継機能は、ＦＣｏＥのパケットを宛先ＦＣＩＤを有する装置へ中継する機能と、パケットを中継する際にイーサネットヘッダを変換する機能とを有する。なお、エンドノードから送出されるパケットの宛先ＭＡＣ（Media Access Control）アドレスはＦＣＦのＭＡＣアドレスであり、送信元ＭＡＣアドレスはエンドノードに割り当てられたＭＡＣアドレスである。後者の機能においては、宛先ＭＡＣアドレスは最終的な宛先のエンドノードに割り当てられたＭＡＣアドレスに変換され、送信元ＭＡＣアドレスはＦＣＦのＭＡＣアドレスに変換される。  なお、エンドノード３にはＭＡＣアドレスＭＡＣS0が割り当てられ、ＦＣｏＥコントローラ５にはＭＡＣアドレスＭＡＣFCFが割り当てられているとする。
【００１５】
図３に、スイッチＳＷ１乃至ＳＷ６の機能ブロック図を示す。スイッチＳＷ１乃至ＳＷ６は、外部の装置と接続され且つ外部の装置からパケットを受信する受信ポート１乃至ｎと、外部の装置と接続され且つ外部の装置に対してパケットを送信する送信ポート１乃至ｎと、スイッチＬＳＩ（Large Scale Integration）１５１と、例えばプロセッサとプログラムとの組み合わせにて実現されるプロトコル処理部１５２と、プロトコル処理部１５２より管理されるＦＬＯＧＩテーブル１５３とを有する。プロトコル処理部１５２についても、専用ＬＳＩにて実装される場合もある。なお、スイッチＳＷ７乃至ＳＷ９は一般的なEthernetスイッチであってもよい。
【００１６】
ここで、プロトコル処理部１５２について説明する。図４に、プロトコル処理部１５２の機能ブロック図を示す。プロトコル処理部１５２は、初期設定部１５２１と、第１ＦＩＰ（FCoE Initialization Protocol）処理部１５２２と、中継設定部１５２３と、第２ＦＩＰ処理部１５２４と、削除処理部１５２５とを有する。
【００１７】
初期設定部１５２１は、スイッチの起動時に初期設定処理を実行する。第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩテーブル１５３に格納されたデータに基づき、ＦＬＯＧＩパケット、ＦＬＯＧＩ ＡＣＣパケット、ＦＬＯＧＩ ＲＪＴパケット、ＦＤＩＳＣパケット、ＦＤＩＳＣ ＡＣＣパケット、及びＦＤＩＳＣ ＲＪＴパケットについての処理を実行する。中継設定部１５２３は、ＦＣｏＥ中継テーブル１５１５２にエントリを追加する。第２ＦＩＰ処理部１５２４は、ＦＬＯＧＩテーブル１５３に格納されたデータに基づき、ＬＯＧＯパケット、ＬＯＧＯ ＡＣＣパケット、ＬＯＧＯ ＲＪＴパケット、及びＣＶＬパケットについての処理を実行する。削除処理部１５２５は、ＦＣｏＥ中継テーブル１５１５２に格納されたエントリを削除する。
【００１８】
図５に、ＦＬＯＧＩテーブル１５３の一例を示す。図５の例では、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットの送信元ＭＡＣアドレスと送信元ＷＷＰＮ（World Wide Port Name）とを含む情報と、ポートの識別子と、ログインしたポートに割り当てられるＦＰＭＡと、ログインしたポートに割り当てられるＦＣＩＤとが格納される。
【００１９】
ＦＣＩＤは、ＦＣにおいてルーティングに用いられる。ＦＣＩＤは、３オクテットで指定され、例えば１６進数で０ｘＸＸＹＹＺＺであれば、ＸＸはDomain ＩＤを表し、ＹＹは、Area ＩＤを表し、ＺＺはPort ＩＤを表す。ＦＣにおいてDomain ＩＤとは、複数のＦＣスイッチ（ＦＣ−ＳＷ）でＳＡＮを形成する場合に各スイッチに個別に与えられるものである。Domain ＩＤは、８ビットであり、ネットワークにおいて最大２３９個のスイッチを接続することができる。
【００２０】
図３の説明に戻り、スイッチＬＳＩ１５１は、受信ポート１乃至ｎ及び内部ポートＡと接続されるマルチプレクサ１５１１と、パケットバッファ１５１２と、パケット処理部１５１５と、パケット更新部１５１３と、送信ポート１乃至ｎ及び内部ポートＢと接続されるデマルチプレクサ１５１４とを有する。
【００２１】
マルチプレクサ１５１１が受信したパケット全体については、パケットバッファ１５１２に格納される。また、マルチプレクサ１５１１が受信したパケットのヘッダ情報及び制御情報は、パケット処理部１５１５に出力される。
【００２２】
パケット更新部１５１３は、パケット処理部１５１５による指示に応じてパケットのヘッダを更新する処理（修正又は変換する処理とも呼ぶ）を行う。また、デマルチプレクサ１５１４は、パケット処理部１５１５によるポート選択指示に応じて、選択された送信ポートからパケットを出力する。
【００２３】
パケット処理部１５１５は、本実施の形態に関係する構成要素として、ＦＣｏＥ中継処理部１５１５１と、ＦＣｏＥ中継テーブル１５１５２と、Ethernet中継処理部１５１５３と、パケット識別部１５１５４とを有する。Ethernet中継処理部１５１５３は、Ethernetにおけるパケットの中継についての処理をEthernet中継テーブルに基づき実行し、パケット識別部１５１５４は、スイッチが受信したパケットの識別についての処理をパケット識別テーブルに基づき実行する。但し、Ethernet中継処理部１５１５３及びパケット識別部１５１５４による処理は本実施の形態の主要部ではないので、説明を省略する。
【００２４】
プロトコル処理部１５２は、内部ポートＡと内部ポートＢとでスイッチＬＳＩ１５１と接続されている。このプロトコル処理部１５２は、コネクションの確立やプロトコルの監視、スイッチＬＳＩ１５１への指示などのための処理を行う。この処理については、本実施の形態と直接関係ないのでこれ以上述べない。
【００２５】
図６に、ＦＣｏＥ中継テーブル１５１５２の一例を示す。ＦＣｏＥ中継テーブル１５１５２には、Ｍａｔｃｈと示される条件部分と、Ａｃｔｉｏｎと示され且つ条件が満たされた場合に実行すべき処理とが規定されている。
【００２６】
より具体的には、Ｍａｔｃｈ欄には、受信したパケットにおける宛先エンドノードの宛先ＭＡＣアドレス（ＤＡ：Destination MAC address）と照合すべきＭＡＣアドレスが設定されるＤＡ欄と、受信したパケットにおける宛先エンドノードのＦＣＩＤと照合すべきＦＣＩＤ（Ｄ−ＩＤ（FC Destination ID））が設定されるＤ−ＩＤ欄と、受信したパケットにおけるＦＣのエクスチェンジＩＤ（ＯＸ−ＩＤ（FC Exchange ID）。ＦＣフレームのヘッダに含まれる通信管理上のＩＤ）と照合すべきＯＸ−ＩＤが設定されるＯＸ−ＩＤ欄とを含む。
【００２７】
図６の例で１行目は、受信したパケットにおいて、ＤＡがＦＣＦのＭＡＣアドレスを表しており且つＤ−ＩＤがエンドノードＳ１のＦＣＩＤを表しているという条件を表している。なお、「＊」は、ワイルドカードを表し、いずれの値であっても合致していると判断される。なお、Ｎ／Ａは、適用無しを表す。また、図６の例で２行目は、Ｄ−ＩＤがエンドノードＳ１のＦＣＩＤを表している。
【００２８】
また、Ａｃｔｉｏｎ欄には、受信したパケットのヘッダの修正処理を規定するＭｏｄｉｆｙ欄と、パケットの転送先ポート番号を表すＦｗｄ欄とを含む。図６の１行目では、ＤＡに対して、宛先エンドノードＳ１のＭＡＣアドレスを設定し、且つ送信元のＭＡＣアドレスであるＳＡ（Source Address）に対して、ＦＣＦのＭＡＣアドレスを設定する処理が規定され、受信したパケットを送信ポート１に出力するものと規定されている。図６の２行目では、ヘッダの修正は不要で、受信したパケットを送信ポート１に出力するものと規定されている。
【００２９】
このようなＦＣｏＥ中継テーブル１５１５２においては、上の行ほど優先度が高く、上から下にＭａｔｃｈ欄に規定された条件を照合して行き、最初に合致した行に規定された処理を実行するものとする。但し、ＦＣｏＥ中継テーブル１５１５２に優先度のカラムを設け、優先度のカラムに格納された値に従って照合を行ってもよい。
【００３０】
なお、本実施の形態では、当初、宛先ＭＡＣアドレスとしてＦＣＦのＭＡＣアドレスが設定されているが、パケットを中継するスイッチのうちいずれかのスイッチで、宛先ＭＡＣアドレスに宛先エンドノードのＭＡＣアドレスを設定すると共に送信元ＭＡＣアドレスにＦＣＦのＭＡＣアドレスを設定するというヘッダの修正が行われる。
【００３１】
次に、図７乃至図１９を用いて、第１の実施の形態において行われる処理の概要を説明する。
【００３２】
例えば、図７に示すように、エンドノード３がＦＬＯＧＩパケットを出力したとする。エンドノード３からＦＬＯＧＩパケットを受信したスイッチＳＷ７は、ＦＬＯＧＩパケットをスイッチＳＷ３に中継する。スイッチＳＷ７からＦＬＯＧＩパケットを受信したスイッチＳＷ３は、ＦＬＯＧＩパケットを受信した論理リンクの識別子等をＦＬＯＧＩテーブル１５３に格納し、ＦＬＯＧＩパケットをスイッチＳＷ１に中継する。スイッチＳＷ３からＦＬＯＧＩパケットを受信したスイッチＳＷ１は、ＦＬＯＧＩパケットを受信した論理リンクの識別子等をＦＬＯＧＩテーブル１５３に格納し、ＦＬＯＧＩパケットをＦＣｏＥコントローラ５に中継する。
【００３３】
そして、図８に示すように、ＦＣｏＥコントローラ５は、ＦＬＯＧＩ処理（具体的には、ログインを許可するか否かの判断）を実行し、ログインを許可できる場合はエンドノード３にＦＣＩＤを割り当てる。そして、ＦＣｏＥコントローラ５は、ＦＬＯＧＩ ＡＣＣパケットをスイッチＳＷ１に送信する。
【００３４】
そして、図９に示すように、ＦＣｏＥコントローラ５からＦＬＯＧＩ ＡＣＣパケットを受信したスイッチＳＷ１は、エンドノード３を宛先とするパケットの中継の設定をスイッチＳＷ１に対して行うとともに、同じドメイン（ドメインＡ）に属するスイッチＳＷ２に、中継設定要求を送信する。中継設定要求は、エンドノード３に割り当てられるＦＣＩＤ、ＦＬＯＧＩパケットを受信した論理リンクの識別子、及びエンドノード３のＭＡＣアドレス等を含む。中継設定要求を受信したスイッチＳＷ２は、中継設定要求に含まれる情報に基づき、エンドノード３を宛先とするパケットの中継の設定を行い、応答をスイッチＳＷ１に送信する。図９において、太線の矢印は、エンドノード３についての中継設定が行われたことを表す。
【００３５】
そして、図１０に示すように、スイッチＳＷ２から応答を受信したスイッチＳＷ１は、ＦＬＯＧＩ ＡＣＣパケットをスイッチＳＷ３に送信する。
【００３６】
そして、図１１に示すように、スイッチＳＷ１からＦＬＯＧＩ ＡＣＣパケットを受信したスイッチＳＷ３は、エンドノード３を宛先とするパケットの中継の設定を行うとともに、同じドメイン（ドメインＢ）に属するスイッチＳＷ４に、中継設定要求を送信する。中継設定要求を受信したスイッチＳＷ４は、中継設定要求に含まれる情報に基づき、エンドノード３を宛先とするパケットの中継の設定を行い、応答をスイッチＳＷ３に送信する。この時点で、スイッチＳＷ１、スイッチＳＷ２、スイッチＳＷ３、及びスイッチＳＷ４について中継の設定が完了する。
【００３７】
そして、図１２に示すように、スイッチＳＷ４から応答を受信したスイッチＳＷ３は、ＦＬＯＧＩ ＡＣＣパケットをスイッチＳＷ７に送信する。最終的に、ＦＬＯＧＩ ＡＣＣパケットはエンドノード３に到達する。
【００３８】
図１３に、システムにおけるＦＣｏＥ中継テーブル１５１５２の初期状態を示す。ここでは、説明に関係するスイッチＳＷ１、スイッチＳＷ２、スイッチＳＷ３、スイッチＳＷ４、スイッチＳＷ５、及びスイッチＳＷ６のＦＣｏＥ中継テーブル１５１５２の初期状態が示されている。そして、図７乃至図１２を用いて説明したようにＦＬＯＧＩパケット及びＦＬＯＧＩ ＡＣＣパケットが中継されると、システムにおけるＦＣｏＥ中継テーブル１５１５２の状態は図１４に示すようになる。図１４においては、スイッチＳＷ１、スイッチＳＷ２、スイッチＳＷ３、及びスイッチＳＷ４のＦＣｏＥ中継テーブル１５１５２に、パケットをエンドノード３に中継するためのエントリが追加されている。なお、上で述べたように、エンドノード３にはＭＡＣアドレスＭＡＣS0が割り当てられ、ＦＣｏＥコントローラ５にはＭＡＣ（Media Access Control）アドレスＭＡＣFCFが割り当てられているとする。
【００３９】
例えば、図１５に示すように、スイッチＳＷ８がエンドノード３を宛先とするパケットを送信したとする。スイッチＳＷ８からパケットを受信したスイッチＳＷ４は、パケットのヘッダと、ＦＣｏＥ中継テーブル１５１５２においてＭａｔｃｈ欄に規定されている条件とを、優先度順に照合し、最初に合致する条件（ここでは、１番目の行の条件）とを特定する。そして、スイッチＳＷ４は、ＦＣｏＥ中継テーブル１５１５２のＡｃｔｉｏｎ欄に規定されている情報に従い、パケットのヘッダを修正（具体的には、送信元ＭＡＣアドレス及び宛先ＭＡＣアドレスを変換）して出力する。スイッチＳＷ７は、スイッチＳＷ４により送信されたパケットを受信し、エンドノード３に中継する。
【００４０】
また、図１６に示すように、スイッチＳＷ９がエンドノード３を宛先とするパケットを送信したとする。スイッチＳＷ９からパケットを受信したスイッチＳＷ６は、パケットのヘッダと、ＦＣｏＥ中継テーブル１５１５２においてＭａｔｃｈ欄に規定されている条件とを、優先度順に照合し、最初に合致する条件（ここでは、２番目の行の条件とする）とを特定する。そして、スイッチＳＷ６は、ＦＣｏＥ中継テーブル１５１５２のＡｃｔｉｏｎ欄に規定されている情報に従いパケットを出力する。スイッチＳＷ６からパケットを受信したスイッチＳＷ２は、パケットのヘッダと、ＦＣｏＥ中継テーブル１５１５２においてＭａｔｃｈ欄に規定されている条件とを、優先度順に照合し、最初に合致する条件（ここでは、１番目の行の条件とする）とを特定する。そして、スイッチＳＷ２は、ＦＣｏＥ中継テーブル１５１５２のＡｃｔｉｏｎ欄に規定されている情報に従い、パケットのヘッダを修正（具体的には、送信元ＭＡＣアドレス及び宛先ＭＡＣアドレスを変換）して出力する。スイッチＳＷ２からパケットを受信したスイッチＳＷ３は、パケットのヘッダと、ＦＣｏＥ中継テーブル１５１５２においてＭａｔｃｈ欄に規定されている条件とを、優先度順に照合し、最初に合致する条件（ここでは、１番目の行の条件）とを特定する。そして、スイッチＳＷ３は、ＦＣｏＥ中継テーブル１５１５２のＡｃｔｉｏｎ欄に規定されている情報に従い、パケットを出力する。スイッチＳＷ７は、スイッチＳＷ３により送信されたパケットを受信し、エンドノード３に中継する。
【００４１】
また、図１７に示すように、エンドノード３がＬＯＧＯパケットを出力したとする。エンドノード３からＬＯＧＯパケットを受信したスイッチＳＷ７は、ＬＯＧＯパケットをスイッチＳＷ３に中継する。スイッチＳＷ７からＬＯＧＯパケットを受信したスイッチＳＷ３は、ＬＯＧＯパケットをスイッチＳＷ１に中継する。スイッチＳＷ３からＬＯＧＯパケットを受信したスイッチＳＷ１は、ＬＯＧＯパケットをＦＣｏＥコントローラ５に中継する。
【００４２】
そして、ＦＣｏＥコントローラ５は、ＬＯＧＯ処理（具体的には、ログアウトを許可するか否かの判断）を実行する。ログアウトを許可できる場合、図１８に示すように、ＦＣｏＥコントローラ５はＬＯＧＯ ＡＣＣパケットをスイッチＳＷ１に送信する。ＦＣｏＥコントローラ５からＬＯＧＯ ＡＣＣパケットを受信したスイッチＳＷ１は、エンドノード３を宛先とするパケットの中継の設定を削除するとともに、同じドメイン（ドメインＡ）に属するスイッチＳＷ２に、削除要求を送信する。削除要求は、エンドノード３に割り当てられるＦＣＩＤ等を含む。削除要求を受信したスイッチＳＷ２は、削除要求に含まれる情報に基づき、エンドノード３を宛先とするパケットの中継の設定を削除し、応答をスイッチＳＷ１に送信する。そして、スイッチＳＷ２から応答を受信したスイッチＳＷ１は、ＬＯＧＯ ＡＣＣパケットをスイッチＳＷ３に送信する。
【００４３】
そして、スイッチＳＷ１からＬＯＧＯ ＡＣＣパケットを受信したスイッチＳＷ３は、エンドノード３を宛先とするパケットの中継の設定を削除するとともに、同じドメイン（ドメインＢ）に属するスイッチＳＷ４に、削除要求を送信する。削除要求を受信したスイッチＳＷ４は、削除要求に含まれる情報に基づき、エンドノード３を宛先とするパケットの中継の設定を削除し、応答をスイッチＳＷ３に送信する。この時点で、スイッチＳＷ１、スイッチＳＷ２、スイッチＳＷ３、及びスイッチＳＷ４について中継の設定が削除される。そして、スイッチＳＷ４から応答を受信したスイッチＳＷ３は、ＬＯＧＯ ＡＣＣパケットをスイッチＳＷ７に送信し、スイッチＳＷ３からＬＯＧＯ ＡＣＣパケットを受信したスイッチＳＷ７は、ＬＯＧＯ ＡＣＣパケットをエンドノード３に送信する。
【００４４】
なお、ＦＣｏＥコントローラ５がＣＶＬパケットを出力する場合に行われる処理は、図１９に示すように、ＬＯＧＯ ＡＣＣパケットの場合と同様である。
【００４５】
次に、図２０乃至図３１を用いて、第１の実施の形態において行われる処理を詳細に説明する。まず、図２０を用いて、スイッチが起動時に実行する初期設定処理について説明する。
【００４６】
スイッチにおける初期設定部１５２１は、本スイッチ（本処理を実行するスイッチ。以下同様とする。）に接続された上位ドメインのスイッチが有るか判断する（図２０：ステップＳ１）。本実施の形態において「上位」とは、ＦＣｏＥコントローラ５により近いことを表す。図２の例であれば、ドメインＢ及びドメインＣの上位ドメインはドメインＡである。
【００４７】
上位ドメインのスイッチが無い場合（ステップＳ１：Ｎｏルート）、処理を終了する。一方、上位ドメインのスイッチが有る場合（ステップＳ１：Ｙｅｓルート）、初期設定部１５２１は、上位ドメインに接続する論理リンクのうち未処理の論理リンクを１つ特定する（ステップＳ３）。
【００４８】
初期設定部１５２１は、ステップＳ３において特定された論理リンクに属するポートの集合を特定し、集合Ｋに設定する（ステップＳ５）。
【００４９】
初期設定部１５２１は、２d≧（集合Ｋの要素数）を満たす最小の整数ｄを算出する（ステップＳ７）。ｄは、ＯＸ−ＩＤ（本実施の形態においては２進数で表される）の桁数を表す変数である。
【００５０】
初期設定部１５２１は、ポートの数を計数するための変数であるｉ（本実施の形態においては２進数で表される）について、ｉ＝０と設定する（ステップＳ９）。
【００５１】
初期設定部１５２１は、ＦＣｏＥ中継テーブル１５１５２において、以下の中継設定を行う（ステップＳ１３）。具体的には、優先度「０」（Ｐｒ０）として、受信パケットのＤ−ＩＤが＊であり且つＯＸ−ＩＤの最下位桁（０桁目）からｄ−１桁目がｉの最下位桁（０桁目）からｄ−１桁目と一致すれば（Ｄ−ＩＤ＝＊，ＯＸ−ＩＤ［ｄ−１：０］＝ｉ［ｄ−１：０］）、集合Ｋにおけるｉ番目のポートに受信パケットを出力するという処理を中継情報として設定する。Ｐｒ＜優先度＞：＜比較条件＞→処理というフォーマットで記載すれば、Ｐｒ０：＜Ｄ−ＩＤ＝＊，ＯＸ−ＩＤ［ｄ−１：０］＝ｉ［ｄ−１：０］＞→Forward（Ｋ［ｉ］）と表される。但し、ｄ＝０である場合、ＯＸ−ＩＤとｉの照合条件は設定しない。
【００５２】
初期設定部１５２１は、ｉ＝（集合Ｋの要素数）−１が満たされるか判断する（ステップＳ１５）。ｉ＝（集合Ｋの要素数）−１が満たされない場合（ステップＳ１５：Ｎｏルート）、初期設定部１５２１はｉを１インクリメントし（ステップＳ１６）、ステップＳ１３の処理に戻る。
【００５３】
一方、ｉ＝（集合Ｋの要素数）−１が満たされる場合（ステップＳ１５：Ｙｅｓルート）、初期設定部１５２１は、未処理の論理リンクが有るか判断する（ステップＳ１７）。未処理の論理リンクが有る場合（ステップＳ１７：Ｙｅｓルート）、ステップＳ３の処理に戻る。未処理の論理リンクが無い場合（ステップＳ１７：Ｎｏルート）、処理を終了する。
【００５４】
以上のような初期設定処理はシステムにおける各スイッチにおいて実行される。これにより、システムにおけるＦＣｏＥ中継テーブル１５１５２の状態は図１３に示すようになる。なお、ＯＸ−ＩＤに応じてポートが使い分けられるので、トラフィックが分散されるようになる。
【００５５】
次に、図２１乃至図２３を用いて、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットを受信したスイッチが実行する処理について説明する。なお、ＦＤＩＳＣパケットを受信したスイッチが実行する処理はＦＬＯＧＩパケットを受信したスイッチが実行する処理と同様であるので、ここではＦＬＯＧＩパケットを例にして説明する。
【００５６】
まず、スイッチが受信したＦＬＯＧＩパケットは、内部ポートＢを経由してプロトコル処理部１５２に出力される。そして、プロトコル処理部１５２における第１ＦＩＰ処理部１５２２は、受信したＦＬＯＧＩパケットに含まれるデータ（具体的には、送信元ＭＡＣアドレス及び送信元ＷＷＰＮ）及び受信ポートの識別子をＦＬＯＧＩテーブル１５３に格納する（ステップＳ２１）。本処理の時点においては、ＦＰＭＡ及びＦＣＩＤは格納されない。
【００５７】
第１ＦＩＰ処理部１５２２は、本スイッチはＦＣｏＥコントローラの機能を有する（すなわち、ＦＣｏＥコントローラ５である）か判断する（ステップＳ２３）。
【００５８】
本スイッチはＦＣｏＥコントローラの機能を有しない場合（ステップＳ２３：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩパケットを、ＦＣｏＥコントローラ５宛のパケットを中継するためのポートに出力する（ステップＳ２５）。具体的には、第１ＦＩＰ処理部１５２２は、デマルチプレクサ１５１４にポートの選択指示を出力する。そして処理を終了する。
【００５９】
一方、本スイッチはＦＣｏＥコントローラの機能を有する場合（ステップＳ２３：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩパケットに基づくログイン処理を実行する（ステップＳ２７）。ログイン処理は、ＦＬＯＧＩパケットの送信元に対してＦＣＩＤを割り当てられるか判断する処理である。
【００６０】
第１ＦＩＰ処理部１５２２は、ログインが成功した（すなわち、ＦＬＯＧＩパケットの送信元に対してＦＣＩＤを割り当てられる）か判断する（ステップＳ２９）。ログインが成功しなかった場合（ステップＳ２９：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩ ＲＪＴパケットを生成する（ステップＳ３３）。一方、ログインが成功した場合（ステップＳ２９：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩ ＡＣＣパケットを生成する（ステップＳ３１）。そして処理は端子Ａを介して図２２のステップＳ３５に移行する。
【００６１】
図２２の説明に移行し、第１ＦＩＰ処理部１５２２は、ステップＳ３１において生成されたＦＬＯＧＩ ＡＣＣパケット又はステップＳ３３において生成されたＦＬＯＧＩ ＲＪＴパケットに対応するエントリを、ＦＬＯＧＩテーブル１５３から特定する（ステップＳ３５）。ステップＳ３５において特定されるエントリには、ＦＬＯＧＩパケットの送信元ＭＡＣアドレス及びＦＬＯＧＩパケットの受信ポートの識別子が含まれる。
【００６２】
第１ＦＩＰ処理部１５２２は、生成したパケットはＦＬＯＧＩ ＡＣＣパケットであるか判断する（ステップＳ３７）。ステップＳ３１を経由した場合には、生成したパケットはＦＬＯＧＩ ＡＣＣパケットである。生成したパケットはＦＬＯＧＩ ＡＣＣパケットではない場合（ステップＳ３７：Ｎｏルート）、ＦＬＯＧＩ ＲＪＴパケットを生成したので、第１ＦＩＰ処理部１５２２は、ステップＳ３５において特定されたエントリをＦＬＯＧＩテーブル１５３から削除する（ステップＳ４１）。そしてステップＳ４９の処理に移行する。
【００６３】
一方、生成したパケットはＦＬＯＧＩ ＡＣＣパケットである場合（ステップＳ３７：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、宛先ＭＡＣアドレスを表す変数Ｍに対して、ＦＰＭＡを設定し、受信ポートの識別子を表す変数Ｐに対して、ＦＬＯＧＩパケットの受信ポートの識別子を設定する（ステップＳ３９）。
【００６４】
第１ＦＩＰ処理部１５２２は、以下の設定を行う（ステップＳ４３）。具体的には、ＦＣＩＤを表す変数ＩＤに対してＦＬＯＧＩ ＡＣＣパケットに含まれるＦＣＩＤを設定し、送信元ＭＡＣアドレスを表す変数ＦＭに対して、ＦＬＯＧＩ ＡＣＣパケットの送信元ＭＡＣアドレスを設定し、使用する論理リンクを表す変数Ｌに対して、ポートＰが属する論理リンクの識別子を設定する。
【００６５】
第１ＦＩＰ処理部１５２２は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを中継設定部１５２３に出力する。これに応じ、中継設定部１５２３は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを引数として中継設定処理を実行する（ステップＳ４５）。中継設定処理については、図２３を用いて説明する。
【００６６】
まず、中継設定部１５２３は、論理リンクＬに属するポートの集合を特定し、集合Ｋに設定する（図２３：ステップＳ５１）。中継設定部１５２３は、２d≧（集合Ｋの要素数）を満たす最小の整数ｄを算出する（ステップＳ５３）。ｄは、ＯＸ−ＩＤ（本実施の形態においては２進数で表される）の桁数を表す変数である。
【００６７】
中継設定部１５２３は、ポートの数を計数するための変数であるｉ（本実施の形態においては２進数で表される）について、ｉ＝０と設定する（ステップＳ５５）。
【００６８】
中継設定部１５２３は、ＦＣｏＥ中継テーブル１５１５２において、以下の中継設定を行う（ステップＳ５９）。具体的には、優先度「１」（Ｐｒ１）として、受信パケットのＤ−ＩＤがＩＤであり且つＯＸ−ＩＤの最下位桁（０桁目）からｄ−１桁目がｉの最下位桁（０桁目）からｄ−１桁目と一致すれば（Ｄ−ＩＤ＝ＩＤ，ＯＸ−ＩＤ［ｄ−１：０］＝ｉ［ｄ−１：０］）、受信パケットのＤＡをＭに修正し、ＳＡをＦＭに修正し、集合Ｋにおけるｉ番目のポートに受信パケットを出力するという処理を中継情報として設定する（ステップＳ５９）。Ｐｒ＜優先度＞：＜比較条件＞→処理というフォーマットで記載すれば、Ｐｒ１：＜Ｄ−ＩＤ＝ＩＤ，ＯＸ−ＩＤ［ｄ−１：０］＝ｉ［ｄ−１：０］＞→Modify（ＤＡ←Ｍ，ＳＡ←ＦＭ），Forward（Ｋ［ｉ］）と表される。
【００６９】
中継設定部１５２３は、ｉ＝（集合Ｋの要素数）−１が満たされるか判断する（ステップＳ６１）。ｉ＝（集合Ｋの要素数）−１が満たされない場合（ステップＳ６１：Ｎｏルート）、中継設定部１５２３はｉを１インクリメントし（ステップＳ６０）、ステップＳ５９の処理に戻る。
【００７０】
一方、ｉ＝（集合Ｋの要素数）−１が満たされる場合（ステップＳ６１：Ｙｅｓルート）、呼び出し元の処理に戻る。
【００７１】
以上のような処理を実行すれば、ＦＬＯＧＩパケットの送信元ノードを宛先とするパケットを中継するためのエントリを、ＦＣｏＥ中継テーブル１５１５２に保存できるようになる。
【００７２】
図２２の説明に戻り、第１ＦＩＰ処理部１５２２は、本スイッチと同じドメインに属する他のスイッチに中継設定要求を送信し、送信先のスイッチからの応答を待つ（ステップＳ４７）。中継設定要求は、少なくとも変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを含む。中継設定要求を受信したスイッチの処理については後で説明する。
【００７３】
応答を受信すると、第１ＦＩＰ処理部１５２２は、ステップＳ３１において生成したＦＬＯＧＩ ＡＣＣパケット又はステップＳ３３において生成したＦＬＯＧＩ ＲＪＴパケットを、ポートＰに出力するようにスイッチＬＳＩ１５１に指示する（ステップＳ４９）。そして処理を終了する。
【００７４】
以上のような処理を実行すれば、中継の設定を各スイッチにおいて実行できるようになるので、ネットワークにおける特定の装置に負荷が集中することを防止できるようになる。
【００７５】
ここで、図２４を用いて、中継設定要求を受信したスイッチが実行する処理について説明する。
【００７６】
まず、スイッチが受信した中継設定要求は、内部ポートＢを経由してプロトコル処理部１５２に出力される。そして、プロトコル処理部１５２における第１ＦＩＰ処理部１５２２は、論理リンクＬに属するポートを本スイッチが有するか判断する（図２４：ステップＳ９１）。論理リンクＬの識別子は、中継設定要求に含まれる。
【００７７】
論理リンクＬに属するポートを有しない場合（ステップＳ９１：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、使用する論理リンクを表す変数ＩＬに対して、中継設定要求の受信ポートが属する論理リンクの識別子を設定する（ステップＳ９３）。そして、第１ＦＩＰ処理部１５２２は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数ＩＬを中継設定部１５２３に出力する。これに応じ、中継設定部１５２３は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数ＩＬを引数として中継設定処理を実行する（ステップＳ９５）。中継設定処理については、図２３を用いて説明したとおりであるので、ここでは説明を省略する。そしてステップＳ９９の処理に移行する。
【００７８】
一方、論理リンクＬに属するポートを有する場合（ステップＳ９１：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを中継設定部１５２３に出力する。これに応じ、中継設定部１５２３は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを引数として中継設定処理を実行する（ステップＳ９７）。中継設定処理については、図２３を用いて説明したとおりであるので、ここでは説明を省略する。
【００７９】
第１ＦＩＰ処理部１５２２は、中継設定が完了したことを表す応答を生成し、中継設定要求の送信元に送信する（ステップＳ９９）。そして処理を終了する。
【００８０】
以上のような処理を実行すれば、ＦＬＯＧＩ ＡＣＣパケットを生成したスイッチと同じドメインに属するスイッチにおいても、設定に基づき適切に通信を行えるようになる。
【００８１】
なお、ＦＬＯＧＩ ＡＣＣパケット又はＦＬＯＧＩ ＲＪＴパケットを受信したスイッチが実行する処理は、図２５に示すようになる。図２５に示すとおり、この処理はステップＳ３５乃至ステップＳ４９の処理と同じである。従って、ここでは説明を省略する。
【００８２】
次に、図２６乃至図２８を用いて、ＬＯＧＯパケットを受信したスイッチが実行する処理について説明する。
【００８３】
まず、スイッチが受信したＬＯＧＯパケットは、内部ポートＢを経由してプロトコル処理部１５２に出力される。そして、プロトコル処理部１５２における第２ＦＩＰ処理部１５２４は、本スイッチはＦＣｏＥコントローラの機能を有する（すなわち、ＦＣｏＥコントローラ５である）か判断する（図２６：ステップＳ１０１）。
【００８４】
本スイッチはＦＣｏＥコントローラの機能を有しない場合（ステップＳ１０１：Ｎｏルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯパケットを、ＦＣｏＥコントローラ５宛のパケットを中継するためのポートに出力する（ステップＳ１０３）。そして処理を終了する。
【００８５】
一方、本スイッチはＦＣｏＥコントローラの機能を有する場合（ステップＳ１０１：Ｙｅｓルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯパケットに基づくログアウト処理を実行する（ステップＳ１０５）。ログアウト処理は、ＬＯＧＯパケットの送信元に対するＦＣＩＤの割り当てを解除できるか判断する処理である。
【００８６】
第２ＦＩＰ処理部１５２４は、ログアウトが成功した（すなわち、ＬＯＧＯパケットの送信元に対するＦＣＩＤの割り当てを解除できた）か判断する（ステップＳ１０７）。ログアウトが成功しなかった場合（ステップＳ１０７：Ｎｏルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯ ＲＪＴパケットを生成し、ＬＯＧＯ ＲＪＴパケットを送信する（ステップＳ１０９）。そして処理を終了する。ＬＯＧＯ ＲＪＴパケットは通常のパケットと同様に中継されるので、ここでは詳細な説明を省略する。
【００８７】
一方、ログアウトが成功した場合（ステップＳ１０７：Ｙｅｓルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯ ＡＣＣパケットを生成する（ステップＳ１１１）。そして処理は端子Ｂを介して図２７のステップＳ１１３に移行する。
【００８８】
図２７の説明に移行し、第２ＦＩＰ処理部１５２４は、ステップＳ１１１において生成されたＬＯＧＯ ＡＣＣパケットに含まれるＭＡＣアドレスに対応するＦＣＩＤをＦＬＯＧＩテーブル１５３から特定する。そして、第２ＦＩＰ処理部１５２４は、ＦＣＩＤを表す変数ＩＤＳに対して、特定されたＦＣＩＤを設定する（ステップＳ１１３）。
【００８９】
第２ＦＩＰ処理部１５２４は、変数ＩＤＳを削除処理部１５２５に出力する。これに応じ、削除処理部１５２５は、変数ＩＤＳを引数として設定削除処理を実行する（ステップＳ１１５）。設定削除処理については、図２８を用いて説明する。
【００９０】
まず、削除処理部１５２５は、変数ＩＤＳに含まれるＦＣＩＤのうち未処理のＦＣＩＤを１つ特定する（図２８：ステップＳ１５１）。後で説明するように、ＣＶＬパケットを受信した場合にはＦＣＩＤが複数の場合があるので、ステップＳ１５１の処理が実行される。
【００９１】
削除処理部１５２５は、ＦＣｏＥ中継テーブル１５１５２から、Ｄ−ＩＤがステップＳ１５１において特定されたＦＣＩＤであるエントリを削除する（ステップＳ１５３）。
【００９２】
削除処理部１５２５は、未処理のＦＣＩＤが有るか判断する（ステップＳ１５５）。未処理のＦＣＩＤが有る場合（ステップＳ１５５：Ｙｅｓルート）、次のＦＣＩＤについて処理するため、ステップＳ１５１の処理に戻る。一方、未処理のＦＣＩＤが無い場合（ステップＳ１５５：Ｎｏルート）、呼び出し元の処理に戻る。
【００９３】
以上のような処理を実行すれば、ログアウトしたノードに関する設定がＦＣｏＥ中継テーブル１５１５２に残ったままになることを防止できる。なお、エンドノード３等の接続切断によって発生する暗黙のログアウトが原因で設定が残ったままになる場合には、タイムアウト監視を利用すれば、設定が残らないようにすることができる
【００９４】
図２７の説明に戻り、第２ＦＩＰ処理部１５２４は、本スイッチと同じドメインに属する他のスイッチに削除要求を送信し、送信先のスイッチからの応答を待つ（ステップＳ１１７）。削除要求は、少なくとも変数ＩＤＳを含む。削除要求を受信したスイッチの処理については後で説明する。
【００９５】
応答を受信すると、第２ＦＩＰ処理部１５２４は、ステップＳ１１１において生成したＬＯＧＯ ＡＣＣパケットに対応するエントリをＦＬＯＧＩテーブル１５３から削除する（ステップＳ１１９）。
【００９６】
第２ＦＩＰ処理部１５２４は、ＬＯＧＯ ＡＣＣパケットを、ＬＯＧＯ ＡＣＣパケットに含まれる宛先ＭＡＣアドレスに対応するポートに出力する（ステップＳ１２１）。そして処理を終了する。
【００９７】
以上のような処理を実行すれば、設定の削除を各スイッチにおいて実行できるようになるので、ネットワークにおける特定の装置（例えばＦＣｏＥコントローラ５）に負荷が集中することを防止できるようになる。
【００９８】
次に、図２９を用いて、削除要求を受信したスイッチが実行する処理について説明する。
【００９９】
まず、スイッチが受信した削除要求は、内部ポートＢを経由してプロトコル処理部１５２に出力される。そして、プロトコル処理部１５２における第２ＦＩＰ処理部１５２４は、削除要求に含まれる変数ＩＤＳを削除処理部１５２５に出力する。これに応じ、削除処理部１５２５は、変数ＩＤＳを引数として設定削除処理を実行する（図２９：ステップＳ１４１）。設定削除処理については図２８を用いて説明したとおりであるので、説明を省略する。
【０１００】
削除処理部１５２５は、削除が完了したことを表す応答を生成し、削除要求の送信元に送信する（ステップＳ１４３）。そして処理を終了する。
【０１０１】
以上のような処理を実行すれば、ＬＯＧＯ ＡＣＣパケットを生成したスイッチと同じドメインに属するスイッチにおいても、設定を削除できるようになる。
【０１０２】
なお、ＬＯＧＯ ＡＣＣパケット又はＣＶＬパケットを受信したスイッチが実行する処理は、図３０に示すようになる。図３０に示すとおり、この処理はステップＳ１１３乃至ステップＳ１２１の処理と同様であるので、ここでは説明を省略する。但し、上で述べたように、ＣＶＬパケットに含まれるＦＣＩＤの数は１に限られず、０である場合もあるし、複数である場合もある。
【０１０３】
次に、図３１を用いて、パケット処理部１５１５におけるＦＣｏＥ中継処理部１５１５１が実行する処理について説明する。
【０１０４】
まず、ＦＣｏＥ中継処理部１５１５１は、受信パケットのヘッダ（ＭＡＣフレーム部分のヘッダ及びＦＣフレーム部分のヘッダ）と、ＦＣｏＥ中継テーブル１５１５２においてＭａｔｃｈ欄に規定されている条件とを、優先度順に照合して行き、最初に合致する条件の行を特定する（図３１：ステップＳ４０１）。
【０１０５】
そして、ＦＣｏＥ中継処理部１５１５１は、合致する条件に対応するＡｃｔｉｏｎ欄に修正処理（Ｍｏｄｉｆｙ）が規定されていれば、規定どおりの修正をパケット更新部１５１３に指示する（ステップＳ４０３）。パケット更新部１５１３は、指示に従って、パケットバッファ１５１２に格納されているパケットに対して上で述べたようなヘッダの修正処理を行った後、修正後のパケットのデータをデマルチプレクサ１５１４に出力する。なお、指示がなければ、パケット更新部１５１３は、パケットバッファ１５１２に格納されているパケットに対して何もせずにデマルチプレクサ１５１４に出力する。
【０１０６】
さらに、ＦＣｏＥ中継処理部１５１５１は、合致する条件に対応するＡｃｔｉｏｎ欄において指定された送信ポートのポート選択指示を、デマルチプレクサ１５１４に出力する（ステップＳ４０５）。そして処理を終了する。これによって、デマルチプレクサ１５１４は、指定された送信ポートに対して、パケット更新部１５１３からのパケットを出力する。
【０１０７】
このような処理を実行すれば、受信したパケットを宛先まで適切に中継することができるようになる。
【０１０８】
以上のように、本実施の形態においては、特定の装置（例えばＦＣｏＥコントローラ５）が各スイッチに対する中継の設定を行うのではなく、中継の設定を各スイッチにおいて実行しているので、設定処理の負荷がその装置に集中しない。
【０１０９】
また、各スイッチは、そのスイッチが属するドメイン以外のドメインについての情報（例えば、他のドメインがそのドメインの外部とどのように接続されているかを示す情報）を保持しない。各スイッチは、そのスイッチが属するドメインがそのドメインの外部又は他のドメインとどのように接続されているかを示す情報を保持すればよい。従って、従来のＬＡＧ（Link Aggregation Group）と同等の管理を行えばよいので、リソースが少なく済み、また、処理がシンプルになる。
【０１１０】
また、ツリーの末端からツリーの根への方向については、個別のＦＣＩＤについて中継設定を行わないので、ＦＣｏＥ中継テーブル１５１５２による記憶領域の消費を抑制できるようになる。
【０１１１】
また、パケットが無駄な経路を通らずに宛先に到着することができるような中継を行うことができる。すなわち、ネットワークにおけるパケットの中継が効率的に行われるようになる。
【０１１２】
［実施の形態２］
第１の実施の形態においては、ＦＬＯＧＩパケットの経路とＦＬＯＧＩ ＡＣＣパケットの経路とが同じであることが前提となっているが、場合によってはＦＬＯＧＩパケットの経路とＦＬＯＧＩ ＡＣＣパケットの経路とが異なることがある。例えば、図３２に示すように、ドメインＢにおいてＦＬＯＧＩパケットを受信したスイッチがスイッチＳＷ３であり、ドメインＢにおいてＦＬＯＧＩ ＡＣＣパケットを受信したスイッチがスイッチＳＷ４であるような場合もある。そこで第２の実施の形態においては、ＦＬＯＧＩパケットの経路とＦＬＯＧＩ ＡＣＣパケットの経路とが異なる場合においても問題なく動作するための方法について説明する。
【０１１３】
第２の実施の形態におけるシステムは第１の実施の形態におけるシステムと基本的には同じであるが、スイッチにおけるＦＬＯＧＩテーブル１５３の内容が異なる。図３３に、第２の実施の形態におけるＦＬＯＧＩテーブル１５３の一例を示す。図３３の例では、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットの送信元ＭＡＣアドレスと送信元ＷＷＰＮとを含む情報と、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットを受信したスイッチの識別子及びポートの識別子と、ログインしたポートに割り当てられるＦＰＭＡと、ログインしたポートに割り当てられるＦＣＩＤとが格納される。
【０１１４】
次に、図３４乃至図３８を用いて、第２の実施の形態において行われる処理の概要を説明する。
【０１１５】
例えば、図３４に示すように、エンドノード３から出力されたＦＬＯＧＩパケットを、スイッチＳＷ７がスイッチＳＷ４に中継したとする。すると、スイッチＳＷ４は、ドメインＢに属するスイッチのうちドメインマスタであるスイッチ（ここでは、スイッチＳＷ３）に、ＦＬＯＧＩパケットに含まれる情報、ＦＬＯＧＩパケットを受信したポートの識別子、及びＦＬＯＧＩパケットを受信したスイッチ（ここでは、スイッチＳＷ４）の識別子等を送信する。ドメインマスタであるスイッチＳＷ３は、受信した情報をＦＬＯＧＩテーブル１５３に格納する。
【０１１６】
また、図３５に示すように、ＦＣｏＥコントローラ５から出力されたＦＬＯＧＩ ＡＣＣパケットを、スイッチＳＷ１がスイッチＳＷ４に中継したとする。すると、スイッチＳＷ４は、ドメインＢに属するスイッチのうちドメインマスタであるスイッチ（ここでは、スイッチＳＷ３）に、ＦＬＯＧＩ ＡＣＣパケットを送信する。
【０１１７】
そして、図３６に示すように、ドメインマスタであるスイッチＳＷ３は、受信したＦＬＯＧＩ ＡＣＣパケットに基づき、第１の実施の形態と同様の処理を実行する。すなわち、スイッチＳＷ３は、エンドノード３を宛先とするパケットの中継の設定を行い、同じドメイン（ドメインＢ）に属するスイッチＳＷ４に中継設定要求を送信する。これに応じ、スイッチＳＷ４は、中継設定要求に含まれる情報に基づき、エンドノード３を宛先とするパケットの中継の設定を行い、応答をスイッチＳＷ３に送信する。
【０１１８】
また、図３７に示すように、ＦＣｏＥコントローラ５から出力されたＬＯＧＯ ＡＣＣパケットを、スイッチＳＷ１がスイッチＳＷ４に中継したとする。すると、スイッチＳＷ４は、ドメインＢに属するスイッチのうちドメインマスタであるスイッチ（ここでは、スイッチＳＷ３）に、ＬＯＧＯ ＡＣＣパケットを送信する。
【０１１９】
そして、図３８に示すように、ドメインマスタであるスイッチＳＷ３は、受信したＬＯＧＯ  ＡＣＣパケットに基づき、第１の実施の形態と同様の処理を実行する。すなわち、スイッチＳＷ３は、エンドノード３を宛先とするパケットの中継の設定を削除し、同じドメイン（ドメインＢ）に属するスイッチＳＷ４に削除要求を送信する。これに応じ、スイッチＳＷ４は、削除要求に含まれる情報に基づき、エンドノード３を宛先とするパケットの中継の設定を削除し、応答をスイッチＳＷ３に送信する。
【０１２０】
なお、ＦＣｏＥコントローラ５がＣＶＬパケットを出力した場合の動作は、ＬＯＧＯ ＡＣＣパケットの場合と同じである。
【０１２１】
次に、図３９乃至図４５を用いて、第２の実施の形態において行われる処理を詳細に説明する。なお、スイッチが起動時に実行する初期設定処理は第１の実施の形態における初期設定処理と同じであるので、まず、ＦＬＯＧＩパケット及びＦＤＩＳＣパケットを受信したスイッチが実行する処理について説明する。なお、ＦＤＩＳＣパケットを受信したスイッチが実行する処理はＦＬＯＧＩパケットを受信したスイッチが実行する処理と同様であるので、ここではＦＬＯＧＩパケットを例にして説明する。
【０１２２】
まず、スイッチが受信したＦＬＯＧＩパケットは、内部ポートＢを経由してプロトコル処理部１５２に出力される。そして、プロトコル処理部１５２における第１ＦＩＰ処理部１５２２は、本スイッチはドメインマスタであるか判断する（図３９：ステップＳ１６１）。ドメインマスタであるスイッチは、そのスイッチが属するドメインにおけるＦＬＯＧＩテーブル１５３を管理するスイッチである。本実施の形態においては、各ドメインにおけるいずれか１台のスイッチがドメインマスタである。
【０１２３】
本スイッチはドメインマスタではない場合（ステップＳ１６１：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、受信したＦＬＯＧＩパケットに含まれるデータ（具体的には、送信元ＭＡＣアドレス及び送信元ＷＷＰＮ）、受信ポートの識別子、及びスイッチの識別子（ここでは、本スイッチの識別子）を、ドメインマスタに送信する（ステップＳ１６３）。なお、本実施の形態においては、ドメインマスタは、ドメイン内の各ポートが属する論理リンクを特定するためのデータ（例えば、ポートの識別子及びスイッチの識別子の組合せと論理リンクの識別子とを対応付けたデータ）を保持しているものとする。
【０１２４】
一方、本スイッチはドメインマスタである場合（ステップＳ１６１：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、受信したＦＬＯＧＩパケットに含まれるデータ、受信ポートの識別子、及びスイッチの識別子をＦＬＯＧＩテーブル１５３に格納する（ステップＳ１６５）。本処理の時点においては、ＦＰＭＡ及びＦＣＩＤは格納されない。
【０１２５】
第１ＦＩＰ処理部１５２２は、本スイッチはＦＣｏＥコントローラの機能を有する（すなわち、ＦＣｏＥコントローラ５である）か判断する（ステップＳ１６７）。
【０１２６】
本スイッチはＦＣｏＥコントローラの機能を有しない場合（ステップＳ１６７：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩパケットを、ＦＣｏＥコントローラ５宛のパケットを中継するためのポートに出力する（ステップＳ１６９）。そして処理を終了する。
【０１２７】
一方、本スイッチはＦＣｏＥコントローラの機能を有する場合（ステップＳ１６７：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩパケットに基づくログイン処理を実行する（ステップＳ１７１）。ログイン処理は、ＦＬＯＧＩパケットの送信元に対してＦＣＩＤを割り当てられるか判断する処理である。
【０１２８】
第１ＦＩＰ処理部１５２２は、ログインが成功した（すなわち、ＦＬＯＧＩパケットの送信元に対してＦＣＩＤを割り当てられる）か判断する（ステップＳ１７３）。ログインが成功しなかった場合（ステップＳ１７３：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩ ＲＪＴパケットを生成する（ステップＳ１７５）。一方、ログインが成功した場合（ステップＳ１７３：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩ ＡＣＣパケットを生成する（ステップＳ１７７）。そして処理は端子Ｃを介して図４０のステップＳ１７９に移行する。
【０１２９】
図４０の説明に移行し、第１ＦＩＰ処理部１５２２は、本スイッチはドメインマスタであるか判断する（ステップＳ１７９）。本スイッチはドメインマスタではない場合（ステップＳ１７９：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、ステップＳ１７７において生成されたＦＬＯＧＩ ＡＣＣパケット又はステップＳ１７５において生成されたＦＬＯＧＩ ＲＪＴパケットに対応するエントリを、ドメインマスタに送信する（ステップＳ１８１）。そして処理を終了する。
【０１３０】
一方、本スイッチはドメインマスタである場合（ステップＳ１７９：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、ステップＳ１７７において生成されたＦＬＯＧＩ ＡＣＣパケット又はステップＳ１７５において生成されたＦＬＯＧＩ ＲＪＴパケットに対応するエントリを、ＦＬＯＧＩテーブル１５３から特定する（ステップＳ１８３）。ステップＳ１８３において特定されるエントリには、ＦＬＯＧＩパケットの送信元ＭＡＣアドレス及びＦＬＯＧＩパケットの受信ポートの識別子が含まれる。
【０１３１】
一方、生成したパケットはＦＬＯＧＩ ＡＣＣパケットである場合（ステップＳ１８７：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、生成したパケットはＦＬＯＧＩ ＡＣＣパケットであるか判断する（ステップＳ１８５）。ステップＳ１７７を経由した場合には、生成したパケットはＦＬＯＧＩ ＡＣＣパケットである。生成したパケットはＦＬＯＧＩ ＡＣＣパケットではない場合（ステップＳ１８５：Ｎｏルート）、ＦＬＯＧＩ ＲＪＴパケットを生成したので、第１ＦＩＰ処理部１５２２は、ステップＳ１８３において特定されたエントリをＦＬＯＧＩテーブル１５３から削除する（ステップＳ１８９）。そしてステップＳ１９７の処理に移行する。
【０１３２】
一方、生成したパケットはＦＬＯＧＩ ＡＣＣパケットである場合（ステップＳ１８５：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、宛先ＭＡＣアドレスを表す変数Ｍに対して、ＦＰＭＡを設定し、受信ポートの識別子を表す変数Ｐに対して、ＦＬＯＧＩパケットの受信ポートの識別子を設定する（ステップＳ１８７）。
【０１３３】
第１ＦＩＰ処理部１５２２は、以下の設定を行う（ステップＳ１９１）。具体的には、ＦＣＩＤを表す変数ＩＤに対してＦＬＯＧＩ ＡＣＣパケットに含まれるＦＣＩＤを設定し、送信元ＭＡＣアドレスを表す変数ＦＭに対して、ＦＬＯＧＩ ＡＣＣパケットの送信元ＭＡＣアドレスを設定し、使用する論理リンクを表す変数Ｌに対して、ポートＰが属する論理リンクの識別子を設定する。
【０１３４】
第１ＦＩＰ処理部１５２２は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを中継設定部１５２３に出力する。これに応じ、中継設定部１５２３は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを引数として中継設定処理を実行する（ステップＳ１９３）。中継設定処理については、第１の実施の形態において説明したとおりであるので、ここでは説明を省略する。
【０１３５】
第１ＦＩＰ処理部１５２２は、本スイッチと同じドメインに属する他のスイッチに中継設定要求を送信し、送信先のスイッチからの応答を待つ（ステップＳ１９５）。中継設定要求は、少なくとも変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを含む。
【０１３６】
応答を受信すると、第１ＦＩＰ処理部１５２２は、ステップＳ１７７において生成したＦＬＯＧＩ ＡＣＣパケット又はステップＳ１７５において生成したＦＬＯＧＩ ＲＪＴパケットをポートＰに出力、又はポートＰを有しない場合はポートＰを有するスイッチにポートＰへの出力指示を送信する（ステップＳ１９７）。そして処理を終了する。
【０１３７】
以上のような処理を実行すれば、中継の設定を各スイッチにおいて実行できるようになるので、ネットワークにおける特定の装置に負荷が集中することを防止できるようになる。特に、ＦＬＯＧＩテーブル１５３をドメインマスタが管理するので、ＦＬＯＧＩパケットを受信したスイッチとＦＬＯＧＩ ＡＣＣパケットを受信したスイッチとが異なる場合にも対処できるようになる。
【０１３８】
次に、図４１を用いて、ステップＳ１６３において送信された情報を受信したドメインマスタが実行する処理について説明する。
【０１３９】
まず、ドメインマスタであるスイッチの第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩパケットに含まれるデータ、受信ポートの識別子、及びスイッチの識別子を受信する（図４１：ステップＳ２４１）。
【０１４０】
第１ＦＩＰ処理部１５２２は、ＦＬＯＧＩパケットに含まれるデータ、受信ポートの識別子、及びスイッチの識別子を、ＦＬＯＧＩテーブル１５３に格納する（ステップＳ２４３）。そして処理を終了する。
【０１４１】
次に、図４２を用いて、ＦＬＯＧＩ ＡＣＣパケット又はＦＬＯＧＩ ＲＪＴパケットを受信したスイッチが実行する処理について説明する。
【０１４２】
まず、スイッチが受信したＦＬＯＧＩ ＡＣＣパケット及びＦＬＯＧＩ ＲＪＴパケットは、内部ポートＢを経由してプロトコル処理部１５２に出力される。そして、プロトコル処理部１５２における第１ＦＩＰ処理部１５２２は、本スイッチはドメインマスタであるか判断する（図４２：ステップＳ２０１）。ドメインマスタではない場合（ステップＳ２０１：Ｎｏルート）、第１ＦＩＰ処理部１５２２は、受信したＦＬＯＧＩ ＡＣＣパケット又はＦＬＯＧＩ ＲＪＴパケットを、ドメインマスタであるスイッチに送信する（ステップＳ２０３）。そして処理を終了する。
【０１４３】
一方、本スイッチはドメインマスタである場合（ステップＳ２０１：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、受信したＦＬＯＧＩ ＡＣＣパケット又はＦＬＯＧＩ ＲＪＴパケットに対応するエントリを、ＦＬＯＧＩテーブル１５３から特定する（ステップＳ２０５）。ステップＳ２０５において特定されるエントリには、ＦＬＯＧＩパケットの送信元ＭＡＣアドレス及びＦＬＯＧＩパケットの受信ポートの識別子が含まれる。
【０１４４】
第１ＦＩＰ処理部１５２２は、受信したパケットはＦＬＯＧＩ ＡＣＣパケットであるか判断する（ステップＳ２０７）。受信したパケットはＦＬＯＧＩ ＡＣＣパケットではない場合（ステップＳ２０７：Ｎｏルート）、ＦＬＯＧＩ ＲＪＴパケットを受信したので、第１ＦＩＰ処理部１５２２は、ステップＳ２０５において特定されたエントリをＦＬＯＧＩテーブル１５３から削除する（ステップＳ２１１）。そしてステップＳ２１９の処理に移行する。
【０１４５】
一方、受信したパケットはＦＬＯＧＩ ＡＣＣパケットである場合（ステップＳ２０７：Ｙｅｓルート）、第１ＦＩＰ処理部１５２２は、宛先ＭＡＣアドレスを表す変数Ｍに対して、ＦＬＯＧＩパケットの送信元ＭＡＣアドレスを設定し、受信ポートの識別子を表す変数Ｐに対して、ＦＬＯＧＩパケットの受信ポートの識別子を設定する（ステップＳ２０９）。
【０１４６】
第１ＦＩＰ処理部１５２２は、以下の設定を行う（ステップＳ２１３）。具体的には、ＦＣＩＤを表す変数ＩＤに対してＦＬＯＧＩ ＡＣＣパケットに含まれるＦＣＩＤを設定し、送信元ＭＡＣアドレスを表す変数ＦＭに対して、ＦＬＯＧＩ ＡＣＣパケットの送信元ＭＡＣアドレスを設定し、使用する論理リンクを表す変数Ｌに対して、ポートＰが属する論理リンクの識別子を設定する。
【０１４７】
第１ＦＩＰ処理部１５２２は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを中継設定部１５２３に出力する。これに応じ、中継設定部１５２３は、変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを引数として中継設定処理を実行する（ステップＳ２１５）。中継設定処理については、第１の実施の形態において説明したとおりであるので、ここでは説明を省略する。
【０１４８】
第１ＦＩＰ処理部１５２２は、本スイッチと同じドメインに属する他のスイッチに中継設定要求を送信し、送信先のスイッチからの応答を待つ（ステップＳ２１７）。中継設定要求は、少なくとも変数ＩＤ、変数Ｍ、変数ＦＭ、及び変数Ｌを含む。
【０１４９】
応答を受信すると、第１ＦＩＰ処理部１５２２は、受信したＦＬＯＧＩ ＡＣＣパケット又はＦＬＯＧＩ ＲＪＴパケットをポートＰに出力、又はポートＰを有しない場合はポートＰを有するスイッチにポートＰへの出力指示を送信する（ステップＳ２１９）。そして処理を終了する。
【０１５０】
以上のような処理を実行すれば、ＦＬＯＧＩ ＡＣＣパケット及びＦＬＯＧＩ ＲＪＴパケットをドメインマスタが処理できるようになる。
【０１５１】
なお、中継設定要求を受信したスイッチが実行する処理は、第１の実施の形態において説明したとおりであるので、説明を省略する。
【０１５２】
次に、図４３及び図４４を用いて、ＬＯＧＯパケットを受信したスイッチが実行する処理について説明する。
【０１５３】
まず、スイッチが受信したＬＯＧＯパケットは、内部ポートＢを経由してプロトコル処理部１５２に出力される。そして、プロトコル処理部１５２における第２ＦＩＰ処理部１５２４は、本スイッチはＦＣｏＥコントローラの機能を有する（すなわち、ＦＣｏＥコントローラ５である）か判断する（図４３：ステップＳ２５１）。
【０１５４】
本スイッチはＦＣｏＥコントローラの機能を有しない場合（ステップＳ２５１：Ｎｏルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯパケットを、ＦＣｏＥコントローラ５宛のパケットを中継するためのポートに出力する（ステップＳ２５３）。そして処理を終了する。
【０１５５】
一方、本スイッチはＦＣｏＥコントローラの機能を有する場合（ステップＳ２５１：Ｙｅｓルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯパケットに基づくログアウト処理を実行する（ステップＳ２５５）。ログアウト処理は、ＬＯＧＯパケットの送信元に対するＦＣＩＤの割り当てを解除できるか判断する処理である。
【０１５６】
第２ＦＩＰ処理部１５２４は、ログアウトが成功した（すなわち、ＬＯＧＯパケットの送信元に対するＦＣＩＤの割り当てを解除できた）か判断する（ステップＳ２５７）。ログアウトが成功しなかった場合（ステップＳ２５７：Ｎｏルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯ ＲＪＴパケットを生成し、ＬＯＧＯ ＲＪＴパケットを送信する（ステップＳ２５９）。そして処理を終了する。ＬＯＧＯ ＲＪＴパケットは通常のパケットと同様に中継されるので、ここでは詳細な説明を省略する。
【０１５７】
一方、ログアウトが成功した場合（ステップＳ２５７：Ｙｅｓルート）、第２ＦＩＰ処理部１５２４は、ＬＯＧＯ ＡＣＣパケットを生成する（ステップＳ２６１）。そして処理は端子Ｄを介して図４４のステップＳ２６３に移行する。
【０１５８】
図４４の説明に移行し、第２ＦＩＰ処理部１５２４は、本スイッチがドメインマスタであるか判断する（ステップＳ２６３）。本スイッチがドメインマスタではない場合（ステップＳ２６３：Ｎｏルート）、第２ＦＩＰ処理部１５２４は、ドメインマスタにＬＯＧＯ ＡＣＣパケットを送信する（ステップＳ２６５）。そして処理を終了する。
【０１５９】
第２ＦＩＰ処理部１５２４は、ステップＳ２６１において生成されたＬＯＧＯ ＡＣＣパケットに含まれるＭＡＣアドレスに対応するＦＣＩＤをＦＬＯＧＩテーブル１５３から特定する。そして、第２ＦＩＰ処理部１５２４は、ＦＣＩＤを表す変数ＩＤＳに対して、特定されたＦＣＩＤを設定する（ステップＳ２６９）。
【０１６０】
第２ＦＩＰ処理部１５２４は、変数ＩＤＳを削除処理部１５２５に出力する。これに応じ、削除処理部１５２５は、変数ＩＤＳを引数として設定削除処理を実行する（ステップＳ２７１）。設定削除処理については第１の実施の形態において説明したとおりであるので、説明を省略する。
【０１６１】
第２ＦＩＰ処理部１５２４は、本スイッチと同じドメインに属する他のスイッチに削除要求を送信し、送信先のスイッチからの応答を待つ（ステップＳ２７３）。削除要求は、少なくとも変数ＩＤＳを含む。
【０１６２】
応答を受信すると、第２ＦＩＰ処理部１５２４は、ステップＳ２６１において生成したＬＯＧＯ ＡＣＣパケットに対応するエントリをＦＬＯＧＩテーブル１５３から削除する（ステップＳ２７５）。
【０１６３】
第２ＦＩＰ処理部１５２４は、ＬＯＧＯ ＡＣＣパケットを、ＬＯＧＯ ＡＣＣパケットに含まれる宛先ＭＡＣアドレスに対応するポートに出力する、又はそのポートを有しない場合はそのポートを有するスイッチにそのポートへの出力指示を送信する（ステップＳ２７７）。そして処理を終了する。
【０１６４】
なお、ＬＯＧＯ ＡＣＣパケット又はＣＶＬパケットを受信したスイッチが実行する処理は、図４５に示すようになる。図４５に示すとおり、この処理はステップＳ２６３乃至ステップＳ２７７の処理と同様であるので、ここでは説明を省略する。但し、上で述べたように、ＣＶＬパケットに含まれるＦＣＩＤの数は１に限られず、０である場合もあるし、複数である場合もある。
【０１６５】
なお、削除要求を受信したスイッチが実行する処理は、第１の実施の形態において説明したとおりであるので、説明を省略する。
【０１６６】
以上のような処理を実行すれば、設定の削除を各スイッチにおいて実行できるようになるので、ネットワークにおける特定の装置（例えばＦＣｏＥコントローラ５）に負荷が集中することを防止できるようになる。特に、ドメインマスタを設けているので、ＬＯＧＯ ＡＣＣパケットを受信したスイッチとＦＬＯＧＩ ＡＣＣパケットを受信したスイッチとが異なる場合にも対処できるようになる。
【０１６７】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したスイッチＳＷ１乃至ＳＷ６の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【０１６８】
また、上で説明したデータ保持構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１６９】
例えば、ドメインＡ内のスイッチがＦＣｏＥコントローラの機能を有するようにしてもよい。
【０１７０】
また、エンドノード３はスイッチであってもよい。
【０１７１】
なお、上で述べたエンドノード３は、コンピュータ装置であって、図４６に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１７２】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１７３】
本実施の形態に係る情報処理システムは、（Ａ）ツリー状に接続された複数のスイッチと、（Ｂ）複数のスイッチのうちいずれかのスイッチに接続された情報処理装置と、（Ｃ）複数のスイッチのうちいずれかのスイッチに接続され且つ識別子の割り当てを管理する管理装置とを有する。そして、上で述べた情報処理装置は、（ｂ１）複数のスイッチのうち識別子の割り当てを管理する管理装置を宛先とする割当要求を送信し、管理装置は、（ｃ１）受信した割当要求に基づき、情報処理装置に対して識別子を割り当てることができるか判断し、情報処理装置に対して識別子を割り当てることができる場合、情報処理装置に割り当てる識別子を含む応答を送信し、複数のスイッチのうち割当要求及び応答を中継する第１のスイッチは、（ｃ２）割当要求を受信した論理リンクの情報及び応答に含まれる識別子に基づき、情報処理装置を宛先とするパケットを中継するための設定を行うとともに、第１のスイッチが属するドメインである第１のドメインに属する他のスイッチに対し、割当要求を受信した論理リンクの情報及び応答に含まれる識別子を含む設定要求を送信する処理を実行する。
【０１７４】
このようにすれば、中継の設定を各スイッチが行うようになるので、設定処理の負荷が特定のスイッチに集中することを防げるようになる。
【０１７５】
また、上で述べた第１のドメインに属する他のスイッチは、（ｃ３）設定要求に含まれる論理リンクの情報及び識別子に基づき、情報処理装置を宛先とするパケットを中継するための設定を行ってもよい。このようにすれば、同じドメインに属するスイッチにおいても、設定要求の送信元のスイッチと同じ設定を行えるようになる。
【０１７６】
また、上で述べた第１のスイッチは、（ｃ２−１）情報処理装置を宛先とするパケットを受信した場合、当該パケットを設定に基づき中継してもよい。このようにすれば、予め行われた設定に基づきパケットが宛先まで届けられるようになる。
【０１７７】
また、上で述べた第１のスイッチは、（ｃ２−３）割当要求に含まれる送信元アドレス及び応答に含まれる送信元アドレスにさらに基づき設定を行い、（ｃ２−４）情報処理装置を宛先とするパケットを受信した場合、当該パケットに含まれるアドレスを設定に基づき変換し、変換後のパケットを設定に基づき中継してもよい。このようにすれば、パケットに含まれるアドレスの変換を各スイッチにおいて行えるようになる。例えばＦＣｏＥであれば、ＦＣＦが行うアドレスの変換を他のスイッチにおいて行えるようになるので、パケットがＦＣＦを経由しなくても済むようになる。
【０１７８】
また、上で述べた情報処理装置は、（ｂ２）管理装置を宛先とする解除要求を送信し、上で述べた管理装置は、（ｃ１−１）受信した解除要求に基づき、情報処理装置に対する識別子の割り当てを解除できるか判断し、情報処理装置に対する識別子の割り当てを解除できる場合、解除要求に対する応答を送信し、複数のスイッチのうち解除要求及び解除要求に対する応答を中継する第１のスイッチは、（ｃ２−５）設定を削除するとともに、第１のドメインに属する他のスイッチに対し、情報処理装置に割り当てられた識別子を含む削除要求を送信してもよい。このようにすれば、同じドメインに属する各スイッチにおいて設定を削除できるようになる。
【０１７９】
また、複数のスイッチのうち第２のドメインに属する第２のスイッチは、（ｃ３）割当要求を受信した場合、第２のドメインに属するスイッチのうち設定の管理を行う第３のスイッチに対し割当要求を受信した論理リンクの情報を送信し、複数のスイッチのうち第２のドメインに属する第４のスイッチは、（ｃ４）応答を受信した場合、第３のスイッチに対し応答を送信し、第３のスイッチは、（ｃ５）第２のスイッチから受信した論理リンクの情報及び第４のスイッチから受信した応答に含まれる識別子に基づき、情報処理装置を宛先とするパケットを中継するための設定を行うとともに、第２のドメインに属する他のスイッチに対し、割当要求を受信した論理リンクの情報及び応答に含まれる識別子を含む設定要求を送信してもよい。或るドメインにおいて割当要求を中継するスイッチと応答を中継するスイッチとは、必ずしも一致するわけではない。上で述べたように、設定の管理を行うスイッチを設ければ、割当要求を中継するスイッチと応答を中継するスイッチとが一致しない場合にも対処できるようになる。
【０１８０】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１８１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１８２】
（付記１）
ツリー状に接続された複数のスイッチと、
前記複数のスイッチのうちいずれかのスイッチに接続された情報処理装置と、
前記複数のスイッチのうちいずれかのスイッチに接続され且つ識別子の割り当てを管理する管理装置と、
を有し、
前記情報処理装置は、
前記管理装置を宛先とする割当要求を送信し、
前記管理装置は、
受信した前記割当要求に基づき、前記情報処理装置に対して識別子を割り当てることができるか判断し、前記情報処理装置に対して識別子を割り当てることができる場合、前記情報処理装置に割り当てる識別子を含む応答を送信し、
前記複数のスイッチのうち前記割当要求及び前記応答を中継する第１のスイッチは、
前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行うとともに、前記第１のスイッチが属するドメインである第１のドメインに属する他のスイッチに対し、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子を含む設定要求を送信する、
ことを特徴とする情報処理システム。
【０１８３】
（付記２）
前記第１のドメインに属する他のスイッチは、
前記設定要求に含まれる前記論理リンクの情報及び前記識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行う
ことを特徴とする付記１記載の情報処理システム。
【０１８４】
（付記３）
前記第１のスイッチは、
前記情報処理装置を宛先とするパケットを受信した場合、当該パケットを前記設定に基づき中継する
ことを特徴とする付記１又は２記載の情報処理システム。
【０１８５】
（付記４）
前記第１のスイッチは、
前記割当要求に含まれる送信元アドレス及び前記応答に含まれる送信元アドレスにさらに基づき前記設定を行い、
前記情報処理装置を宛先とするパケットを受信した場合、当該パケットに含まれるアドレスを前記設定に基づき変換し、変換後の前記パケットを前記設定に基づき中継する
ことを特徴とする付記１又は２記載の情報処理システム。
【０１８６】
（付記５）
前記情報処理装置は、
前記管理装置を宛先とする解除要求を送信し、
前記管理装置は、
受信した前記解除要求に基づき、前記情報処理装置に対する識別子の割り当てを解除できるか判断し、前記情報処理装置に対する識別子の割り当てを解除できる場合、前記解除要求に対する応答を送信し、
前記複数のスイッチのうち前記解除要求及び前記解除要求に対する応答を中継する前記第１のスイッチは、
前記設定を削除するとともに、前記第１のドメインに属する他のスイッチに対し、前記情報処理装置に割り当てられた識別子を含む削除要求を送信する、
ことを特徴とする付記１乃至４のいずれか１つ記載の情報処理システム。
【０１８７】
（付記６）
前記複数のスイッチのうち第２のドメインに属する第２のスイッチは、
前記割当要求を受信した場合、前記第２のドメインに属するスイッチのうち設定の管理を行う第３のスイッチに対し前記割当要求を受信した論理リンクの情報を送信し、
前記複数のスイッチのうち前記第２のドメインに属する第４のスイッチは、
前記応答を受信した場合、前記第３のスイッチに対し前記応答を送信し、
前記第３のスイッチは、
前記第２のスイッチから受信した前記論理リンクの情報及び前記第４のスイッチから受信した前記応答に含まれる識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行うとともに、前記第２のドメインに属する他のスイッチに対し、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子を含む設定要求を送信する、
ことを特徴とする付記１乃至５のいずれか１つ記載の情報処理システム。
【０１８８】
（付記７）
ツリー状に接続された複数のスイッチと、前記複数のスイッチのうちいずれかのスイッチに接続された情報処理装置と、前記複数のスイッチのうちいずれかのスイッチに接続され且つ識別子の割り当てを管理する管理装置とを有する情報処理システムにおいて、
前記情報処理装置は、前記管理装置を宛先とする割当要求を送信し、
前記管理装置は、受信した前記割当要求に基づき、前記情報処理装置に対して識別子を割り当てることができるか判断し、前記情報処理装置に対して識別子を割り当てることができる場合、前記情報処理装置に割り当てる識別子を含む応答を送信し、
前記複数のスイッチのうち前記割当要求及び前記応答を中継する第１のスイッチは、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子に基づき、前記情報処理装置を宛先とするパケットを中継するための設定を行うとともに、前記第１のスイッチが属するドメインである第１のドメインに属する他のスイッチに対し、前記割当要求を受信した論理リンクの情報及び前記応答に含まれる識別子を含む設定要求を送信する、
ことを特徴とする、情報処理システムの制御方法。
【符号の説明】
【０１８９】
３  エンドノード    ５  ＦＣｏＥコントローラ
１５１  スイッチＬＳＩ    １５２  プロトコル処理部
１５３  ＦＬＯＧＩテーブル
１５１１  マルチプレクサ    １５１２  パケットバッファ
１５１３  パケット更新部    １５１４  デマルチプレクサ
１５１５  パケット処理部    １５１５１  ＦＣｏＥ中継処理部
１５１５２  ＦＣｏＥ中継テーブル    １５２１  初期設定部
１５２２  第１ＦＩＰ処理部    １５２３  中継設定部
１５２４  第２ＦＩＰ処理部    １５２５  削除処理部
【図１】
0006487692.tif 000002
【図２】
0006487692.tif 000003
【図３】
0006487692.tif 000004
【図４】
0006487692.tif 000005
【図５】
0006487692.tif 000006
【図６】
0006487692.tif 000007
【図７】
0006487692.tif 000008
【図８】
0006487692.tif 000009
【図９】
0006487692.tif 000010
【図１０】
0006487692.tif 000011
【図１１】
0006487692.tif 000012
【図１２】
0006487692.tif 000013
【図１３】
0006487692.tif 000014
【図１４】
0006487692.tif 000015
【図１５】
0006487692.tif 000016
【図１６】
0006487692.tif 000017
【図１７】
0006487692.tif 000018
【図１８】
0006487692.tif 000019
【図１９】
0006487692.tif 000020
【図２０】
0006487692.tif 000021
【図２１】
0006487692.tif 000022
【図２２】
0006487692.tif 000023
【図２３】
0006487692.tif 000024
【図２４】
0006487692.tif 000025
【図２５】
0006487692.tif 000026
【図２６】
0006487692.tif 000027
【図２７】
0006487692.tif 000028
【図２８】
0006487692.tif 000029
【図２９】
0006487692.tif 000030
【図３０】
0006487692.tif 000031
【図３１】
0006487692.tif 000032
【図３２】
0006487692.tif 000033
【図３３】
0006487692.tif 000034
【図３４】
0006487692.tif 000035
【図３５】
0006487692.tif 000036
【図３６】
0006487692.tif 000037
【図３７】
0006487692.tif 000038
【図３８】
0006487692.tif 000039
【図３９】
0006487692.tif 000040
【図４０】
0006487692.tif 000041
【図４１】
0006487692.tif 000042
【図４２】
0006487692.tif 000043
【図４３】
0006487692.tif 000044
【図４４】
0006487692.tif 000045
【図４５】
0006487692.tif 000046
【図４６】
0006487692.tif 000047