(57)【要約】  複数の装置間のデータ通信においてデータの送信元装置にかかる負荷を分散するための中継システムは、複数の装置と、複数の装置間のデータ通信を中継する中継装置とを含み、複数の装置は、データを送信する送信部と、データを受信する受信部とを備え、中継装置は、中継したデータを特定する情報を、該データの受信元を特定する情報と共に格納する記憶部と、特定の装置からの特定のデータ取得要求に対し、記憶部の情報に基づき、特定のデータの送信元装置を決定する決定部とを備える。
2011148480.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置間のデータ通信を中継する中継装置であって、
中継したデータを特定する情報を、該データの受信先を特定する情報と共に格納する記憶部と、
特定の装置からの特定のデータ取得要求に対し、前記記憶部の情報に基づき、前記特定のデータの送信元装置を決定する決定部と、
を備える中継装置。
【請求項２】
前記複数の装置は、サーバと複数のクライアントとを含み、
前記決定部は、特定のクライアントからの前記サーバに対する特定のデータ取得要求に対し、前記記憶部の情報に基づき、前記特定のデータの送信元となるクライアントを決定する請求項１に記載の中継装置。
【請求項３】
複数の装置と、
前記複数の装置間のデータ通信を中継する中継装置と
を含む中継システムであって、
前記複数の装置は、
データを送信する送信部と、
データを受信する受信部とを備え、
前記中継装置は、
中継したデータを特定する情報を、該データの受信元を特定する情報と共に格納する記憶部と、
特定の装置からの特定のデータ取得要求に対し、前記記憶部の情報に基づき、前記特定のデータの送信元装置を決定する決定部とを備える中継システム。
【請求項４】
複数の装置間のデータ通信を中継する中継方法であって、
中継したデータを特定する情報を、該データの受信元を特定する情報と共に記憶部に格納し、
特定の装置からの特定のデータ取得要求に対し、前記記憶部の情報に基づき、前記特定のデータの送信元を決定する中継方法。
【請求項５】
複数の装置間のデータ通信を中継するコンピュータ上で動作するプログラムであって、
中継したデータを特定する情報を、該データの受信元を特定する情報と共に記憶部に格納する動作と、
特定の装置からの特定のデータ取得要求に対し、前記記憶部の情報に基づき、前記特定のデータの送信元装置を決定する動作と、
を前記コンピュータに実行させるためのプログラム。
【請求項６】
複数の装置間のデータ通信を中継するコンピュータ上で動作するプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
中継したデータを特定する情報を、該データの受信元を特定する情報と共に記憶部に格納する動作と、
特定の装置からの特定のデータ取得要求に対し、前記記憶部の情報に基づき、前記特定のデータの送信元装置を決定する動作と、
を前記コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置間の通信を中継する中継装置に関する。
【背景技術】
【０００２】
例えば、パーソナルコンピュータ（以下、ＰＣ）の製造現場では、スイッチにファイルサーバとＰＣが接続され、オペレーティングシステム（ＯＳ）などの各ＰＣに必要なデータがファイルサーバから各ＰＣに一斉にダウンロードされる。【０００３】
或るファイルサーバに複数のクライアントからファイルのダウンロードが集中する場合には、ファイルサーバの性能、又は、イーサネット（登録商標）などネットワークの性能がボトルネックの原因となることがある。ボトルネックによって、データの転送効率が低下し、ネットワーク全体のパフォーマンス効率が低下する。なお、ファイルサーバの性能は、例えば、ＣＰＵ（Central Processing Unit），メモリ，ＨＤＤ（Hard Disc Drive）などのハードウェアの仕様に依存する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３２５２０７号公報
【特許文献２】特開２００８−００５５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
或るファイルサーバに複数のクライアントからダウンロードが集中し、ファイルサーバの負荷が高まる可能性がある場合には、ファイルサーバやネットワークの二重化等によってネットワーク全体のパフォーマンス効率を向上させることができる。しかしながら、ファイルサーバやネットワークの二重化には、大規模な設備投資が必要となる。ファイルサーバにかかる負荷が低減されれば、大規模な設備投資がなされなくとも、ネットワーク全体のパフォーマンス効率が上がる可能性がある。【０００６】
本発明の一態様は、複数の装置間のデータ通信におけるデータの送信元装置にかかる負荷を分散する中継装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の態様の一つは、中継装置である。中継装置は、複数の装置間のデータ通信を中継する中継装置であって、
中継したデータを特定する情報を、該データの受信先を特定する情報と共に格納する記憶部と、
特定の装置からの特定のデータ取得要求に対し、前記記憶部の情報に基づき、前記特定のデータの送信元装置を決定する決定部と、
を備える。【０００８】
本発明の他の態様の一つは、上述した中継装置を含む中継システム，中継方法，プログラム，およびプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【０００９】
開示の中継装置によれば、複数の装置間のデータ通信におけるデータの送信元装置にかかる負荷を分散することができる。
【図面の簡単な説明】
【００１０】
【図１】データ配信ネットワークシステムの例を示す図である。
【図２】クライアント端末がファイルサーバからファイルデータを読み出す場合の動作例を模式的に示す図である。
【図３】スイッチのハードウェア構成例を示す図である。
【図４】中継プログラムが実行された場合の、スイッチの機能ブロックの例を示す図である。
【図５】装置情報テーブルの例を示す図である。
【図６】代替要求フレームのフォーマットの例を示す図である。
【図７】通信情報記録テーブルの例を示す図である。
【図８】変換情報テーブルの例を示す図である。
【図９】スイッチがフレームを受信した際に、受信フレームを分類する処理のフローの例を示す図である。
【図１０】スイッチが代替要求フレームを受信した場合の処理のフローの例を示す図である。
【図１１Ａ】スイッチが記録対象フレームを受信した場合の処理のフローの例を示す図である。
【図１１Ｂ】スイッチが記録対象フレームを受信した場合の処理のフローの例を示す図である。
【図１２Ａ】スイッチが変換対象フレームを受信した場合の処理のフローの例を示す図である。
【図１２Ｂ】スイッチが変換対象フレームを受信した場合の処理のフローの例を示す図である。
【図１３】スイッチが、なりすまし通信のフレームを受信した場合の処理のフローの例を示す図である。
【図１４】図１に示されるネットワークにおけるスイッチの動作例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施をするための形態（以下、実施形態という）について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１２】
＜第１実施形態＞
図１は、データ配信ネットワークシステムの例を示す図である。データ配信ネットワークシステムは、例えば、ファイルサーバ２と、ファイルサーバ２に接続するスイッチ１と、それぞれスイッチ１に接続するクライアント端末１０，２０，３０，４０，５０とを含む。各クライアント端末は、スイッチ１を介して、ファイルサーバ２から同一ファイルをダウンロードすると想定する。以降、クライアント端末は、図中では、単に「クライアント」と表示される。
【００１３】
データ配信ネットワークは、例えば、ＰＣの製造現場において、複数のＰＣにソフトウェアをダウンロードしインストールするために構築されるネットワークである。この場合、クライアント端末１０，２０，３０，４０，５０は、製造されるＰＣであり、ファイルサーバ２は、各クライアント端末に設定されるソフトウェアのデータファイルを保持するＰＣである。ファイルサーバ２及び各クライアント端末は、同じファイル共有プロトコルを用いて、ファイルをやり取りする。ファイル共有プロトコルには、例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳにおけるＳＭＢ（Server Message Block）やＣＩＦＳ（Common Internet File System）などがある。
【００１４】
図２は、図１のデータ配信ネットワークシステムにおけるクライアント端末１０がファイルサーバ２からファイルデータを読み出す場合の動作例を模式的に示す図である。図２に示される例では、ファイル共有プロトコルとして、ＳＭＢが用いられる場合について説明される。また、図２では、クライアント端末１０とファイルサーバ２のみが表示されているが、クライアント端末１０とファイルサーバ２との間には、スイッチ１が存在し、クライアント端末１０とファイルサーバ２との間の通信を中継している。
【００１５】
まず、クライアント端末１０から、ファイルサーバ２に対して、ネゴシエーションを行う（ＯＰ１）。これに対して、ファイルサーバ２は応答を送信する（ＯＰ２）。このネゴシエーションでは、セッションの確立処理，サポートしているプロトコルレベルのすり合わせ，対象ファイルに関する情報の取得，及びファイルＩＤの割り当て等のデータの読出しに必要な事前処理が行われる。
【００１６】
クライアント端末１０とファイルサーバ２との間で事前処理が終了すると、クライアント端末１０はファイルサーバ２に向けて対象ファイルのデータ要求を送信する（ＯＰ３）。データ要求には、対象ファイルのファイルＩＤ，対象ファイル内のデータの送信開始位置を示すオフセットアドレス，シーケンス番号等が含まれる。
【００１７】
クライアント端末１０からデータ要求を受け取ると、ファイルサーバ２は、対象ファイルを分割してクライアント端末１０に送信する（ＯＰ４）。ファイルサーバ２は、クライアント端末１０からの受信完了応答を待たずに、所定のデータサイズ分のデータを送信することができる。
【００１８】
クライアント端末１０は、ファイルサーバ２から所定のデータサイズ分のデータを受信すると、ファイルサーバ２に受信完了応答を送信する（ＯＰ５）。ＯＰ４とＯＰ５のようなデータの分割送信とその受信完了応答等がクライアント端末１０とファイルサーバ２との間で繰り返される。
【００１９】
対象ファイルの最後のデータが送信されると、ファイルサーバ２は、要求されたファイルデータの送信完了応答をクライアント端末１０に送信する（ＯＰ６）。
【００２０】
ファイルサーバ２から送信完了応答を受信すると、クライアント端末１０は、ファイルサーバ２に、全要求データの受信完了応答を送信し、対象ファイルの読出しが終了する（ＯＰ７）。
【００２１】
クライアント端末１０が引き続き別のファイルをファイルサーバ２から読出す場合には、クライアント端末１０とファイルサーバ２との間のセッションは確立しているので、データ要求を送信するＯＰ３の処理から開始される。
【００２２】
図２に示されるような、データを読み出す通信がファイルサーバに集中すると、ボトルネックによって、ファイルサーバのデータ転送効率が低下し、ネットワーク全体のパフォーマスが低下する可能性が高い。
【００２３】
第１実施形態では、クライアント端末とファイルサーバとを接続するスイッチが、クライアント端末からファイルサーバに対するデータ読出しの通信において、中継したデータを特定する情報と受信先を特定する情報とを対応付けて記憶部に格納する。スイッチは、特定のクライアント端末からの特定のデータ取得要求に対して、記憶部に保持される情報に基づき該特定のデータの送信元となる装置を決定する。スイッチは、例えば、ファイルサーバにアクセスが集中した場合に、ファイルサーバへのデータ取得要求に対して、記憶部に保持される情報に基づいて、同一データを既に読み出したクライアント端末を該データの送信元に決定する。これによって、ファイルサーバへの負荷が分散され、ネットワーク全体のパフォーマンス効率が向上する。
【００２４】
＜＜装置構成＞＞
＜＜スイッチ＞＞
（ハードウェア構成）
図３は、スイッチのハードウェア構成例を示す図である。スイッチ１は、ＣＰＵ１１，メモリ１２，スイッチチップ１３，複数のＰＨＹ（PHYsical）チップ１４，ＰＨＹチップ毎に用意される複数のインターフェース（ＩＦ）１５を含む。
【００２５】
インターフェース１５は、例えば、イーサネット（登録商標）のケーブルを接続するインターフェースであるＲＪ４５である。インターフェース１５は、光ケーブルを接続し、光信号を電気信号に変換する光モジュールであってもよい。
【００２６】
ＰＨＹチップ１４は、インターフェース１５から入力される伝送信号に対して、ＯＳＩ（Open Systems Interconnection）参照モデルのレイヤ１の処理を行い、フレームを生成する。生成されたフレームは、スイッチチップ１３に出力される。スイッチチップ１３からフレームが入力されると、ＰＨＹチップ１４は、フレームを伝送信号に変換し、伝送信号をインターフェース１５に出力する。
【００２７】
スイッチチップ１３は、ＰＨＹチップ１４からフレームを受け取る。スイッチチップ１３は、入力されたフレームの宛先ＭＡＣアドレスに従って、適切なインターフェース１５にＰＨＹチップ１４を介してフレームを出力する。
【００２８】
メモリ１２は、例えば、ＤＲＡＭ（Dynamic Access Memory）やフラッシュメモリなどである。メモリ１２は、例えば、ＤＲＡMとフラッシュメモリの集合体であってもよい。メモリ１２は、ＣＰＵ１１に作業領域や記憶領域を提供する。メモリ１２は、不揮発性領域に中継プログラム１２ｐを保持する。
【００２９】
ＣＰＵ１１は、スイッチ１全体を管理するとともに、メモリ１２に保持される中継プログラム１２ｐを実行する。ＣＰＵ１１による中継プログラム１２ｐの実行によって、スイッチ１は、クライアント端末からのファイルサーバに対するデータ読出しの通信において中継したデータを特定する情報と該データの受信先を特定する情報と記憶部に格納する。また、スイッチ１は、ＣＰＵ１１による中継プログラム１２ｐの実行によって、記憶部に保持される情報に基づいて、クライアント端末からのデータ取得要求に対して、データの送信元を決定する。例えば、スイッチ１は、中継プログラ１２ｐの実行によって、クライアント端末からのファイルサーバに対するデータ読出しの通信を、既に対象ファイルを読出し済みのクライアント端末に対するデータ読出しの通信に変換する。以降、クライアント端末からのファイルサーバに対するデータ読出しの通信が、既に対象ファイルを読出し済みのクライアント端末に対するデータ読出しの通信に変換される処理は、通信変換処理と称される。
【００３０】
（機能ブロック）
図４は、中継プログラム１２ｐが実行された場合の、スイッチ１の機能ブロックの例を示す図である。
【００３１】
ＣＰＵ１１は、中継プログラム１２ｐの実行によって、制御部１１１，仮想クライアント部１１２，仮想サーバ部１１３，変換部１１４，装置情報管理部１１５，通信情報管理部１１６，及び変換情報生成部１１７としてふるまい、通信変換処理を実行する。メモリ１２は、装置情報テーブル１２１，通信情報記録テーブル１２２，変換情報テーブル１２３，ＭＡＣ（Media Access Control）テーブル１２４，仮想クライアント通信テーブル１２５，及び仮想サーバ通信テーブル１２６を保持する。
【００３２】
（制御部）
制御部１１１は、スイッチチップ１３からスイッチ１が受信したフレームを入力として得る。制御部１１１は、受信フレームのヘッダ及びペイロードの情報に基づいて、受信フレームを分類し、受信フレームの分類に基づいて、処理を決定する。制御部１１１は、決定された処理内容に応じて受信フレームをスイッチチップ１３，仮想クライアント部１１２，仮想サーバ部１１３，又は変換部１１４のいずれかに出力する。
【００３３】
また、制御部１１１は、仮想クライアント部１１２，仮想サーバ部１１３，変換部１１４，装置情報管理部１１５，通信情報管理部１１６，及び変換情報生成部１１７を制御する。仮想クライアント部１１２，仮想サーバ部１１３，変換部１１４，装置情報管理部１１５，通信情報管理部１１６，及び変換情報生成部１１７間の情報のやり取りは、制御部１１１を通じて行われる。
【００３４】
また、制御部１１１は、通信変換処理において、データの要求先であるファイルサーバ２の代替サーバとなるクライアント端末を選択する代替サーバ選択処理を行う。制御部１１１は、態様における「決定部」に相当する。
【００３５】
図４において、フレームの流れは実線で示される。図４において、制御は、破線で示される。制御部１１１の処理の詳細については、後述の図９，図１０，図１１Ａ、図１１Ｂ、図１２Ａ、図１２Ｂ，及び図１３のフロー中で示される。
【００３６】
（メモリ）
メモリ１２には、装置情報テーブル１２１，通信情報記録テーブル１２２，変換情報テーブル１２３，ＭＡＣアドレステーブル１２４，仮想クライアント通信テーブル１２５，及び仮想サーバ通信テーブル１２６が保持される。ＭＡＣアドレステーブル１２４は、ポートと、該ポートに接続されている装置のＭＡＣアドレスとの対応付けがなされたテーブルである。
【００３７】
装置情報テーブル１２１の詳細は、後述の図５において説明される。通信情報記録テーブル１２２の詳細は、後述の図７において説明される。変換情報テーブル１２３の詳細については、後述の図８において説明される。仮想クライアント通信テーブル１２５の詳細は、後述される。仮想サーバ通信テーブル１２６の詳細は、後述される。
【００３８】
（装置情報管理部）
装置情報管理部１１５は、メモリ１２に保持される装置情報テーブル１２１を管理する。装置情報テーブル１２１には、スイッチ１に接続する装置が、該装置からのデータ読出しの通信に対して通信変換処理を要求するか否かについての情報が保持される。
【００３９】
図５は、装置情報テーブル１２１の例を示す図である。装置情報テーブル１２１のレコードは、スイッチ１のポートに接続される装置のＭＡＣアドレスと、代替要求フラグとを含む。なお、図５に示される例では、説明のために、各レコードの先頭に装置の名前（ファイルサーバ２，クライアント１０など）も表示されている。
【００４０】
装置情報テーブル１２１の「ＭＡＣアドレス」フィールドには、スイッチ１のポートに接続されている装置のＭＡＣアドレスが示される。
【００４１】
装置情報テーブル１２１の「代替要求フラグ」フィールドは、対応する「ＭＡＣアドレス」フィールドに該当する装置が、当該装置からデータを読み出す通信に対する通信変換処理の実行をスイッチ１に要求しているか否かを示すフラグである。
【００４２】
「代替要求フラグ」フィールドが「０」の場合には、当該装置が、スイッチ１に対して当該装置からデータを読み出す通信に対する通信変換処理の実行を要求していないことが示される。「代替要求フラグ」フィールドが「０」の場合には、スイッチ１は、該装置からのデータ読出しの通信を変換することなく、通常通り該装置に中継する。「代替要求フラグ」フィールドには、初期値として「０」が登録される。
【００４３】
「代替要求フラグ」フィールドが「１」の場合には、当該装置が、スイッチ１に対して当該装置からデータを読み出す通信に対する通信変換処理の実行を要求していることが示される。「代替要求フラグ」フィールドが「１」の場合には、スイッチ１は、当該装置からデータを読み出す通信を、当該装置から同一データを既に読出し済みであるクライアント端末からデータを読み出す通信に変換する通信変換処理を行う。
【００４４】
図５に示される例では、装置情報テーブル１２１には、図１に示されるデータ配信ネットワークシステムのファイルサーバ２，クライアント端末１０，クライアント端末２０，及びクライアント端末３０のレコードが保持されている。
【００４５】
ファイルサーバ２のレコードには、「ＭＡＣアドレス」フィールドに、ファイルサーバ２のＭＡＣアドレス「ＸＸ−ＸＸ−ＸＸ−ＸＸ−ＸＸ−Ｓ２」が格納されている。また、ファイルサーバ２のレコードの「代替要求フラグ」フィールドは「１」である。したがって、図５に示される装置情報テーブル１２１の例では、ファイルサーバ２は、スイッチ１に対して、ファイルサーバ２からデータを読み出す通信に対する通信変換処理の実行を要求していることが示される。
【００４６】
クライアント端末１０のレコードには、「ＭＡＣアドレス」フィールドに、クライアント端末１０のＭＡＣアドレス「ＸＸ−ＸＸ−ＸＸ−ＸＸ−ＸＸ−Ｃ１」が格納されている。また、クライアント端末１０のレコードの「代替要求フラグ」フィールドは「０」である。したがって、図５に示される装置情報テーブル１２１の例では、クライアント端末１０は、スイッチ１に対して、クライアント端末１０からデータを読み出す通信に対する通信変換処理の実行を要求していないことが示される。
【００４７】
或る装置がスイッチ１のポートに接続されると、ＭＡＣアドレステーブル１２４が更新される。装置情報管理部１１５は、ＭＡＣアドレステーブル１２４を監視しており、ＭＡＣアドレステーブル１２４に基づいて、装置情報テーブル１２１を生成及び更新する。
【００４８】
装置情報管理部１１５は、代替要求フレームが受信された場合に、制御部１１１から、受信された代替要求フレームの情報を受け取る。代替要求フレームは、スイッチ１に接続するクライアント端末やファイルサーバ２などがスイッチ１に通信変換処理の実行を要求又は解除する場合に使用されるフレームである。代替要求フレームは、予め定義されており、例えば、ＰＡＵＳＥフレームなどのマルチキャストＭＡＣアドレスを使用し、スイッチ１を超えて転送されないフレームが用いられる。ＰＡＵＳＥフレームは、イーサネット（登録商標）において使用される、ＰＡＵＳＥフレームを受信した装置に所定時間フレームの送信を中断させるフレームである。装置情報管理部１１５は、制御部１１１からの代替要求フレームの内容に応じて、装置情報テーブル１２１の「代替要求フラグ」フィールドを「１」又は「０」に変更する。
【００４９】
図６は、代替要求フレームのフォーマットの例を示す図である。図６では、ＰＡＵＳＥフレームが代替要求フレームとして用いられる場合のフレームフォーマットの例が示される。
【００５０】
代替要求フレームは、「宛先ＭＡＣアドレス」，「送信元ＭＡＣアドレス」，「長さ／タイプ」，「操作コード」，「中断時間」，「代替要求コード」，「パディング」，及び「チェックサム」のフィールドを有する。
【００５１】
「宛先ＭＡＣアドレス」フィールドは、６バイトである。「宛先ＭＡＣアドレス」フィールドには、ＰＡＵＳＥフレーム用に予約されているマルチキャストアドレスである「００：８０：Ｃ２：００：００：０１」が格納される。
【００５２】
「送信元ＭＡＣアドレス」フィールドは、６バイトである。「送信元ＭＡＣアドレス」フィールドには、ＰＡＵＳＥフレームを送信する装置のＭＡＣアドレスが格納される。
【００５３】
「長さ／タイプ」フィールドは、２バイトである。ＰＡＵＳＥフレームはＭＡＣ制御フレームの一種であるため、「長さ／タイプ」フィールドには、ＭＡＣ制御フレームであることを示す「０ｘ８８０８」が設定される。
【００５４】
「宛先ＭＡＣアドレス」フィールド，「送信元ＭＡＣアドレス」フィールド，及び「長さ／タイプ」フィールドは、イーサネットフレームのヘッダ部である。
【００５５】
イーサネットフレームのデータ部は４６バイトである。データ部の先頭には、２バイトの「操作コード」フィールドがある。「操作コード」フィールドには、制御を指定する操作コードが設定される。ＰＡＵＳＥフレームの場合、「操作コード」フィールドには、操作コード「０ｘ０００１」が設定される。
【００５６】
「操作コード」フィールドの後には、２バイトの「中断時間」フィールドが続く。「中断時間」フィールドには、ＰＡＵＳＥフレームを受信した装置にフレームの送信を中断させる時間が指定される。ＰＡＵＳＥフレームが代替要求フレームとして用いられる場合には、「中継時間」フィールドには、例えば、「０」が設定される。
【００５７】
「中断時間」フィールドに続く「代替要求コード」フィールドは、１バイトである。「代替要求」コードフィールドは、ＰＡＵＳＥフレームが代替要求フレームとして用いられる場合に設定される。「代替要求コード」フィールドには、代替要求コードが格納される。代替要求コードは、代替要求フレームの送信元の装置がスイッチ１に対して通信変換処理の実行を要求するか否かを指定するコードである。
【００５８】
代替要求コード「０ｘ０１」は、代替要求フレームが、スイッチ１に対して通信変換処理の実行を要求する登録要求であることを示す。登録要求を示す代替要求フレームは、例えば、代替要求フレームの送信元となるファイルサーバ２や代替サーバが、自身にかかる負荷が所定の閾値よりも大きくなった場合に送信される。登録要求を示す代替要求フレームをスイッチ１が受信すると、装置情報管理部１１５は、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドを「１」に設定する。装置情報テーブル１２１の「代替要求フラグ」フィールドが「１」に設定されると、スイッチ１は、それ以降、該装置からデータを読み出す通信に対する通信変換処理を実行する。
【００５９】
代替要求コード「０ｘ１０」は、代替要求フレームが、送信元の装置からデータを読み出す全ての通信に対する通信変換処理の実行をスイッチ１に対して要求する更新要求であることを示す。更新要求を示す代替要求フレームは、例えば、代替要求フレームの送信元となるファイルサーバ２や代替サーバが、自身にかかる負荷が所定の閾値よりも大きくなり、処理している全てのデータ読出しの通信の切断を希望する場合に送信される。更新要求を示す代替要求フレームをスイッチ１が受信すると、装置情報管理部１１５は、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値と代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値が一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドを「１」に設定する。さらに、変換情報生成部１１７は、変換情報テーブル１２３の「代替サーバＭＡＣアドレス」フィールドの値が代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する変換情報テーブル１２３のレコードの「更新フラグ」フィールドを「１」に設定する。変換情報生成部１１７及び変換情報テーブル１２３の詳細については、後述の図８において説明される。
【００６０】
代替要求コード「０ｘ００」は、代替要求フレームが、スイッチ１に対して通信変換処理の実行の解除を要求する解除要求であることを示す。解除要求を示す代替要求フレームは、例えば、代替要求フレームの送信元となるファイルサーバ２や代替サーバがクライアント端末にかかる負荷が所定の閾値よりも小さくなり、データを配信できる状態になった場合に送信される。解除要求を示す代替要求フレームをスイッチ１が受信すると、装置情報管理部１１５は、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する変換情報テーブル１２３のレコードの「代替要求フラグ」フィールドを「０」に設定する。また、スイッチ１の変換情報生成部１１７は、変換情報テーブル１２３の「代替サーバＭＡＣアドレス」フィールドの値が代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値と一致する変換情報テーブル１２３のレコードの「更新フラグ」フィールドを「０」に設定する。変換情報生成部１１７及び変換情報テーブル１２３の詳細については、後述の図８において説明される。
【００６１】
「代替要求コード」フィールドの次には、「パディング」フィールドが４１バイト続く。イーサネット（登録商標）において、フレームの最小サイズは６４バイトと定められているので、「パディング」フィールドによって、代替要求フレームのサイズが最小サイズになるように調整される。「操作コード」，「中断時間」，「代替要求コード」，及び「パディング」のフィールドがＰＡＵＳＥフレームのデータ部に相当する。
【００６２】
フレームの最後尾に、トレイラ部として、フレームの整合性の確認に用いられる４バイトの「チェックサム」のフィールドが設定される。イーサネットフレームの場合には、「チェックサム」フィールドは、ＦＣＳ（Frame Check Sequence）とも呼ばれる。
【００６３】
なお、図６に示される例では、ＰＡＵＳＥフレームを用いた場合の代替要求フレームのフォーマットが示されているが、ＰＡＵＳＥフレームに限らず、代替要求フレームには、マルチキャストＭＡＣアドレスを使用し、スイッチ１を超えて転送されないフレームが用いられてもよい。その場合には、代替要求フレームのフォーマットは、代替要求フレームに採用されるオリジナルのフォーマットに加えて、上述の代替要求コードフィールドを有するフォーマットになる。
【００６４】
図５及び図６より、受信された代替要求フレームの「代替要求コード」フィールドが「０ｘ０１」の場合には、登録要求であることが示される。受信された代替要求フレームの「代替要求コード」フィールドが「０ｘ１０」の場合には、更新要求であることが示される。代替要求フレームが登録要求又は更新要求を示す場合には、装置情報管理部１１５は、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドを「１」に設定する。受信された代替要求フレームの「代替要求コード」フィールドが「０ｘ００」である場合には、解除要求であることが示される。代替要求フレームが解除要求を示す場合には、装置情報管理部１１５は、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドを「０」に設定する。
【００６５】
登録要求を示す代替要求フレームが受信された場合には、スイッチ１は、それ以降に発生する代替要求フレームの送信元の装置からデータを読み出す通信に対する通信変換処理を実行する。代替要求フレームの送信元が代替サーバとして動作するクライアント端末である場合には、登録要求を示す代替要求フレームが受信される前にすでに確立されていた当該クライアントを代替サーバとするデータ読出しの通信については、変換されずに継続される。ただし、代替要求フレームの送信元がファイルサーバ２である場合には、登録要求を示す代替要求フレームが受信される前にすでに確立されていたデータ読出しの通信を含む全てのファイルサーバ２からのデータ読出しの通信に対して通信変換処理が実行される。詳しくは、後述される。
【００６６】
一方、更新要求を示す代替要求フレームが受信された場合には、該代替要求フレームの受信前にすでに確立されていたデータ読出しの通信を含む、代替要求フレームの送信元の装置からデータを読み出す全ての通信に対して通信変換処理が実行される。
【００６７】
（通信情報管理部）
通信情報管理部１１６は、通信情報記録テーブル１２２を管理する。通信情報管理部１１６は、データ読出しの通信における、データの取得先であるクライアント端末と、データの取得元であるファイルサーバ２と、取得されたファイルと、を特定するための通信情報を通信情報記録テーブル１２２に記録する。通信情報管理部１１６は、記録対象のフレームをスイッチ１が受信した場合に、制御部１１１から、受信された記録対象のフレームの情報を受け取り、通信情報記録テーブル１２２に通信情報を記録する。通信情報記録テーブル１２２の記録対象のフレームは予め定義されている。例えば、ファイル共有プロトコルであるＳＭＢやＣＩＦＳのパケットを含むフレームが通信情報記録テーブル１２２の記録対象のフレームとして定義される。例えば、ＳＭＢには、ポート番号４４５が予約されているので、制御部１１１は、受信フレームに含まれる「ポート番号」フィールドがＳＭＢを示す４４５であることを検出することによって、受信フレームがＳＭＢのフレームであり、記録対象のフレームであることを判定する。
【００６８】
図７は、通信情報記録テーブル１２２の例を示す図である。通信情報記録テーブル１２２は、スイッチ１が中継したデータ読出しの通信における、データ取得先であるクライアント端末と、データ取得元であるファイルサーバ２と、取得されたファイルと、を特定するための通信情報を保持する。通信情報記録テーブル１２２は、「記憶部」に相当する。
【００６９】
通信情報記録テーブル１２２のレコードには、例えば、「クライアントＭＡＣアドレス」，「サーバＭＡＣアドレス」，「クライアントＩＰアドレス」，「サーバＩＰアドレス」，「クライアントファイルパス」，「サーバファイルパス」，及び「通信終了フラグ」のフィールドが含まれる。
【００７０】
通信情報記録テーブル１２２のレコードの「クライアントＭＡＣアドレス」フィールドでは、データ読出しを要求してデータを取得したクライアント端末のＭＡＣアドレスが示される。「クライアントＩＰアドレス」フィールドでは、データ読出しを要求してデータを取得したクライアント端末のＩＰアドレスが示される。「クライアントファイルパス」フィールドでは、取得された読出し対象のファイルの保存先である、クライアント端末内のパスが示される。クライアントファイルパスには、取得された読出し対象のファイルのファイル名も含まれる。
【００７１】
「サーバＭＡＣアドレス」フィールドでは、データ読出しの要求に対してデータを配信したサーバのＭＡＣアドレスが示される。「サーバＩＰアドレス」フィールドでは、データの読出し要求に対してデータを配信したサーバのＩＰアドレスが示される。「サーバファイルパス」フィールドでは、読出し対象のファイルが保持される、サーバ内のパスが示される。サーバファイルパスには、クライアント端末に配信された読出し対象のファイルのファイル名も含まれる。
【００７２】
「通信終了フラグ」フィールドは、通信情報記録テーブル１２２のレコードに記録された、クライアントがサーバから対象ファイルを読み出す通信が終了しているか否かを示す。「通信終了フラグ」フィールドが「０」の場合には、当該レコードに記録されたデータの読出し通信が継続中であることが示される。「通信終了フラグ」フィールドが「１」の場合には、当該レコードに記録されたデータの読出し通信が終了したことが示される。「通信終了フラグ」フィールドの初期値は「０」である。
【００７３】
図７に示される通信情報記録テーブル１２２の例において、「クライアントＭＡＣアドレス」フィールドと「クライアントＩＰアドレス」フィールドとが、データの取得先を特定するための情報である。「サーバＭＡＣアドレス」フィールドと「サーバＩＰアドレス」フィールドとが、データの取得元を特定するための情報である。「クライアントファイルパス」と「サーバファイルパス」とがスイッチ１が中継したデータを特定するための情報である。
【００７４】
図７に示される通信情報記録テーブル１２２の例の先頭のレコードでは、以下のことが示される。まず、「クライアントＭＡＣアドレス」フィールドと「クライアントＩＰアドレス」フィールドとから、データの取得先がクライアント端末１０（ＭＡＣアドレスの末尾が「Ｃ１」)であることが示される。また、「サーバＭＡＣアドレス」フィールドと「サーバＩＰアドレス」フィールドとから、データの取得元がサーバファイル２（ＭＡＣアドレスの末尾が「Ｓ２」）であることが示される。また、「クライアントファイルパス」フィールドから、取得されたファイルが「ａ．ｔｘｔ」であることが示される。
【００７５】
制御部１１１は、受信したフレームが記録対象のフレームであると判定した場合には、フレームの内容を解析し、解析された結果得られた情報を通信情報管理部１１６に送信する。通信情報管理部１１６は、フレームの内容の解析結果から、通信情報記録テーブル１２２のレコードを生成及び更新する。例えば、ＳＭＢでは、ポート番号４４５が予約されているので、記録対象である受信フレームに含まれる宛先ポート番号又は送信元ポート番号を解析することで、サーバとクライアントとのそれぞれのＭＡＣアドレス及びＩＰアドレスを検出することができる。例えば、記録対象の受信フレームの「宛先ポート番号」フィールドが４４５である場合には、通信情報管理部１１６は、受信フレームの「宛先ＭＡＣアドレス」フィールドの値と「宛先ＩＰアドレス」フィールドの値とをそれぞれ通信情報記録テーブル１２２の「サーバＭＡＣアドレス」フィールドの値と「サーバＩＰアドレス」フィールドの値として記録する。また、この場合には、通信情報管理部１１６は、受信フレームの「送信元ＭＡＣアドレス」フィールドの値と「送信元ＩＰアドレス」フィールドの値とをそれぞれ通信情報記録テーブル１２２の「クライアントＭＡＣアドレス」フィールドの値と「クライアントＩＰアドレス」フィールドの値として記録する。
【００７６】
なお、通信情報記録テーブル１２２のレコードが生成された時点において、情報が欠落しているフィールドがある場合でも生成されたレコードは通信情報記録テーブル１２２に追加される。例えば、通信情報記録テーブル１２２における「クライアントファイルパス」フィールド及び「サーバファイルパス」フィールドなどは、図２において説明されたネゴシエーションの初期段階では不明である場合が多い。通信情報記録テーブル１２２のレコードにおいて情報が欠落するフィールドは、ネゴシエーションの処理が進み、格納される情報が判明した時点で、通信情報管理部１１６によって情報が追加される。
【００７７】
スイッチ１の通信情報管理部１１６は、例えば、記録対象の受信フレームが、図２で説明された、クライアント端末からサーバファイルへ送信される、最終データに対する受信完了応答である場合に、当該通信のレコードの「通信終了フラグ」フィールドを「１」に設定する。記録対象の受信フレームが最終データに対する受信完了応答か否かは、例えば、受信フレームに含まれるオフセットアドレスやシーケンス番号（図２に対応する説明箇所参照）の値が最大になることによって判定可能である。
【００７８】
図１に示されるネットワークのように、ファイルサーバ２のようなデータの配信元となる装置がネットワーク内に１つである場合には、通信情報記録テーブル１２２の「サーバＭＡＣアドレス」、「サーバＩＰアドレス」、及び「サーバファイルパス」のフィールドは、省略可能である。
【００７９】
（変換情報生成部）
変換情報生成部１１７は、変換情報テーブル１２３の各レコードを生成，更新，及び削除することによって変換情報テーブル１２３を管理する。変換情報生成部１１７は、変換対象のフレームを特定するための情報と、フレームの変換内容とを変換情報テーブル１２３に記録する。
【００８０】
図８は、変換情報テーブル１２３の例を示す図である。変換情報テーブル１２３は、通信変換処理において、変換対象となるフレームを特定し、フレームを変換するための情報を保持するテーブルである。変換対象となるフレームは、例えば、ＳＭＢやＣＩＦＳなどのファイル共有プロトコルのフレームであり、且つ、変換情報テーブル１２３のレコードによって特定されるフレームである。なお、図８に示される変換情報テーブル１２３の例は、ファイル共有プロトコルとしてＳＭＢを用いた場合の構成例を示す。
【００８１】
図８に示される変換情報テーブル１２３の例では、図１に示されるデータ配信ネットワークシステムにおけるスイッチ１の変換情報テーブル１２３が示される。図８の変換情報テーブル１２３には、クライアント端末３０がファイルサーバ２からファイル「ａ．ｔｘｔ」を読み出す通信の代替サーバとしてクライアント端末１０が選択されていることを示すレコードが保持されている。
【００８２】
変換情報テーブル１２３のレコードは、「クライアントＭＡＣアドレス」，「サーバＭＡＣアドレス」，「代替サーバＭＡＣアドレス」，「クライアントＩＰアドレス」，「サーバＩＰアドレス」，「代替サーバＩＰアドレス」，「クライアントファイルパス」，「サーバファイルパス」，「代替サーバファイルパス」，「クライアントポート番号」，「サーバポート番号」，「代替サーバポート番号」，「サーバファイルＩＤ」，「代替サーバファイルＩＤ」，及び「更新フラグ」のフィールドを含む。
【００８３】
変換情報テーブル１２３の「クライアントＭＡＣアドレス」フィールドには、変換対象となるデータ読出しの通信におけるクライアント端末のＭＡＣアドレスが格納される。「クライアントＩＰアドレス」フィールドには、変換対象となるデータ読出しの通信におけるクライアント端末のＩＰアドレスが格納される。「クライアントファイルパス」フィールドには、変換対象となるデータ読出しの通信におけるクライアント端末の読出し対象のファイルの保存先が格納される。「クライアントポート番号」フィールドは変換対象となるデータ読出しの通信におけるクライアント端末が使用するポート番号が格納される。図８に示される変換情報テーブル１２３の例では、「クライアントＭＡＣアドレス」フィールド，「クライアントＩＰアドレス」フィールドには、それぞれ、図１に示されるデータ配信ネットワークシステムの例におけるクライアント端末３０のＭＡＣアドレス，ＩＰアドレスが格納される。また、図８に示される例では、「クライアントポート番号」フィールドに「１０７１」が格納されており、クライアント端末３０はポート番号１０７１を用いていることが示される。
【００８４】
変換情報テーブル１２３の「サーバＭＡＣアドレス」フィールドには、変換対象となるデータ読出しの通信におけるサーバのＭＡＣアドレスが格納される。「サーバＩＰアドレス」フィールドには、変換対象となるデータ読出しの通信におけるサーバのＩＰアドレスが格納される。「サーバファイルパス」フィールドには、変換対象となるデータ読出しの通信におけるサーバの読出し対象のファイルのパスが格納される。「サーバポート番号」フィールドには変換対象となるデータ読出しの通信におけるサーバが使用するポート番号が格納される。「サーバファイルＩＤ」フィールドには、変換対象となるデータ読出しの通信におけるサーバが保持する読出し対象のファイルに割り当てられたファイルＩＤが格納される。図８に示される変換情報テーブル１２３の例では、「サーバＭＡＣアドレス」フィールド，「サーバＩＰアドレス」フィールドには、それぞれ、図１に示されるデータ配信ネットワークシステムにおけるファイルサーバ２のＭＡＣアドレス，ＩＰアドレスが保持される。また、図８に示される例では、「サーバポート番号」フィールドに「４４５」が格納されており、ファイルサーバ２は、ＳＭＢに予約されているポート番号を用いていることが示される。また、図８に示される例では、「サーバファイルＩＤ」フィールドが「０ｘｃ００ｆ」であるので、ファイルサーバ２に保持される読出し対象ファイルに割り当てられるファイルＩＤが０ｘｃ００ｆであることが示される。
【００８５】
変換情報テーブル１２３の「代替サーバＭＡＣアドレス」フィールドには、変換対象となるデータ読出しの通信における代替サーバとして選択されたクライアント端末のＭＡＣアドレスが格納される。「代替サーバＩＰアドレス」フィールドには、変換対象となるデータ読出しの通信における代替サーバとして選択されたクライアント端末のＩＰアドレスが格納される。「代替サーバファイルパス」フィールドには、変換対象となるデータ読出しの通信における代替サーバとして選択されたクライアント端末の読出し対象のファイルのパスが格納される。「代替サーバポート番号」フィールドには変換対象となるデータ読出しの通信における代替サーバとして選択されたクライアント端末が使用するポート番号が格納される。「サーバファイルＩＤ」フィールドには、変換対象となるデータ読出しの通信における代替サーバとして選択されたクライアント端末が保持する読出し対象のファイルに割り当てられたファイルＩＤが格納される。図８に示される変換情報テーブル１２３の例では、「代替サーバＭＡＣアドレス」フィールド，「代替サーバＩＰアドレス」フィールドは、代替サーバであるクライアント端末１０のＭＡＣアドレス，ＩＰアドレスが保持される。また、図８に示される例では、「代替サーバポート番号」フィールドに「４４５」が格納されており、代替サーバであるクライアント端末１０は、ＳＭＢに予約されているポート番号を用いていることが示される。また、図８に示される例では、「代替サーバファイルＩＤ」フィールドに「０ｘｃ００ｆ」が格納されているので、代替サーバであるクライアント端末１０に保持される読出し対象ファイルに割り当てられるファイルＩＤが「０ｘｃ００ｆ」であることが示される。
【００８６】
変換情報テーブル１２３の「更新フラグ」フィールドには、レコードによって特定される変換対象のデータ読出しの通信において代替サーバとして選択されたクライアント端末がデータ読出しの通信を実行可能であるか否かを示すフラグが格納される。「更新フラグ」フィールドが「０」である場合には、該レコードの代替サーバが、データ読出しの通信を実行可能であることが示される。「更新フラグ」フィールドが「１」である場合には、該レコードの代替サーバが、データ読出しの通信を実行できないことが示される。「更新フラグ」フィールドの初期値は「０」である。図８に示される変換情報テーブル１２３の例では、「更新フラグ」フィールドが「０」であるので、代替サーバであるクライアント端末１０は、データ読出しの通信を実行可能であることが示される。
【００８７】
変換情報テーブル１２３のレコードは、例えば、スイッチ１が、ファイルサーバ２から通信変換処理の要求を受けてから、各クライアント端末がファイルサーバ２からデータを読み出す通信を初めて受信した際にそれぞれ生成される。例えば、装置情報テーブル１２１においてファイルサーバ２の「代替要求フラグ」フィールドに「１」が格納されており、或るクライアント端末がファイルサーバ２からデータを読み出す通信が初めて受信された場合に、変換情報テーブル１２３のレコードが生成される。なお、変換情報テーブル１２３のレコードは、生成された時点で情報が欠落するフィールドがあっても変換情報テーブル１２３に追加される。変換情報テーブル１２３のレコードには、生成された時点で、少なくとも、クライアント，サーバ，代替サーバそれぞれのＭＡＣアドレス，ＩＰアドレス，ポート番号，及びファイルパスが格納されていればよい。例えば、「ファイルＩＤ」には、変換情報テーブル１２３のレコードが生成された時点では情報が欠落していてもよく、判明された時点で各レコードに情報が追加される。
【００８８】
例えば、変換情報テーブル１２３のレコードを生成する際に、受信フレームの「宛先ポート番号」フィールドにＳＭＢ用に予約されているポート番号「４４５」が格納されている場合を想定して、変換情報テーブル１２３のレコードの生成について、以下に説明される。
【００８９】
受信フレームの「宛先ポート番号」フィールドにＳＭＢに予約されているポート番号「４４５」が格納されていることから、受信フレームの送信元はクライアント端末であり、宛先はサーバとして動作するファイルサーバ２であることが示される。変換情報生成部１１７は、受信フレームの「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」のフィールドのそれぞれの値を、変換情報テーブル１２３のレコードの「サーバＭＡＣアドレス」，「サーバＩＰアドレス」，「サーバポート番号」のフィールドの値として取得する。変換情報生成部１１７は、受信フレームの「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，「送信元ポート番号」のフィールドのそれぞれの値を、変換情報テーブル１２３のレコードの「クライアントＭＡＣアドレス」，「クライアントＩＰアドレス」，「クライアントポート番号」のフィールドの値として取得する。
【００９０】
制御部１１１によって代替サーバが選択されると、変換情報生成部１１７は、通信情報記録テーブル１２２から、代替サーバとして選択されたクライアント端末が対象ファイルを受信フレームの宛先であるファイルサーバ２から読み出した通信のレコードを抽出する。このとき抽出される通信情報記録テーブル１２２のレコードは、「クライアントＭＡＣアドレス」及び「クライアントＩＰアドレス」のフィールドの値が代替サーバとして選択されたクライアント端末のＭＡＣアドレス及びＩＰアドレスである。また、このとき抽出される通信情報記録テーブル１２２のレコードは、「サーバＭＡＣアドレス」及び「サーバＩＰアドレス」のフィールドの値が受信フレームの宛先であるファイルサーバ２のＭＡＣアドレス及びＩＰアドレスである。また、このとき抽出される通信情報記録テーブル１２２のレコードは、「クライアントファイルパス」及び「サーバファイルパス」のフィールドに含まれるファイル名が対象ファイルである。また、このとき抽出される通信情報記録テーブル１２２のレコードは、「通信終了フラグ」フィールドに「１」が格納されている。なお、読出し対象のファイルの情報は、受信フレームを解析することによって、又は、仮想サーバ部１１３から取得される。また、代替サーバとなるクライアント端末は、制御部１１１によって選択される。仮想サーバ部１１３の詳細については、後述される。制御部１１１によって代替サーバとなるクライアント端末が選択される処理については、後述される。
【００９１】
変換情報生成部１１７は、抽出された通信情報記録テーブル１２２のレコードにおける、「クライアントＭＡＣアドレス」，「クライアントＩＰアドレス」，「クライアントファイルパス」のフィールドの値を、それぞれ、変換情報テーブル１２３の「代替サーバＭＡＣアドレス」，「代替サーバＩＰアドレス」，「代替サーバファイルパス」のフィールドの値として取得する。
【００９２】
変換情報生成部１１７は、抽出された通信情報記録テーブル１２２のレコードにおける「サーバファイルパス」フィールドの値を、変換情報テーブル１２３の「サーバファイルパス」フィールドの値として取得する。
【００９３】
また、変換情報生成部１１７は、変換情報テーブル１２３における「クライアントファイルパス」フィールドの値を、ファイルサーバ２からデータを読み出す通信のフレームである受信フレームに含まれる「対象ファイルの保存先のパス」フィールドから取得する。受信フレームから取得できない場合には、変換情報生成部１１７は、クライアント端末から対象ファイルの情報を取得する仮想サーバ部１１３から対象ファイルの保存先を取得して、変換情報テーブル１２３における「クライアントファイルパス」フィールドに格納する。
【００９４】
また、例えば、データ読出しの通信において、サーバとして動作する装置は予め予約されているポート番号を用いるので、変換情報テーブル１２３の「代替サーバポート番号」フィールドには、当該レコードの「サーバポート番号」と同じ番号が格納される。
【００９５】
更新要求を示す代替要求フレームをスイッチ１が受信した場合に、変換情報生成部１１７は、例えば、変換情報テーブル１２３の「代替サーバＭＡＣアドレス」フィールドの値と該代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値とが一致する変換情報テーブル１２３のレコードの「更新フラグ」フィールドの値を「１」に設定する。また、解除要求を示す代替要求フレームをスイッチ１が受信した場合に、変換情報生成部１１７は、例えば、変換情報テーブル１２３の「代替サーバＭＡＣアドレス」フィールドの値と該代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値とが一致する変換情報テーブル１２３のレコードの「更新フラグ」フィールドの値を「０」に設定する。
【００９６】
変換情報テーブル１２３は、変換対象の受信フレームを特定するために用いられる。制御部１１１は、受信フレームの内容を解析し、受信フレームの内容と変換情報テーブル１２３の各レコードとを比較して、合致するレコードがあれば、受信フレームが変換対象のフレームであることを判定する。
【００９７】
例えば、制御部１１１は、少なくとも、受信フレームに含まれる、「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，及び「送信元ポート番号」のフィールドの値が、それぞれ、変換情報テーブル１２３のレコードに含まれる、「サーバＭＡＣアドレス」，「サーバＩＰアドレス」，「サーバポート番号」，「クライアントＭＡＣアドレス」，「クライアントＩＰアドレス」，及び「クライアントポート番号」のフィールドの値に合致する場合に、受信フレームが変換対象のフレームであることを判定する。
【００９８】
また、例えば、制御部１１１は、少なくとも、受信フレームに含まれる、「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，及び「送信元ポート番号」のフィールドの値が、それぞれ、変換情報テーブル１２３のレコードに含まれる、「クライアントＭＡＣアドレス」，「クライアントＩＰアドレス」，「クライアントポート番号」，「代替サーバＭＡＣアドレス」，「代替サーバＩＰアドレス」，及び「代替サーバポート番号」のフィールドの値と合致する場合に、受信フレームが変換対象のフレームであることを判定する。
【００９９】
変換情報生成部１１７は、例えば、変換情報テーブル１２３のレコードによって特定されるデータ読出しの通信が終了した場合や、代替サーバが変更された場合などに、当該レコードを削除する。
【０１００】
（変換部）
変換部１１４は、クライアント端末からファイルサーバに送信されるフレームをクライアント端末からファイルサーバの代替サーバに送信されるフレームに変換したり、代替サーバからクライアント端末に送信されるフレームをファイルサーバからクライアント端末に送信されるフレームに変換したりする。
【０１０１】
変換部１１４は受信フレームが変換対象のフレームであると制御部１１１によって判定された場合に、受信フレームを、変換情報テーブル１２３に従って、変換する。例えば、変換部１１４は、変換対象の受信フレームの送信元がクライアント端末３０で宛先がファイルサーバ２である場合には、受信フレームの「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「対象ファイルの読出し元のパス」等のフィールドの値を、変換情報テーブル１２３の該当レコードの「代替サーバＭＡＣアドレス」，「代替サーバＩＰアドレス」，「代替サーバポート番号」，「代替サーバファイルパス」等が示す値に書き換える。これによって、クライアント端末３０がファイルサーバ２から対象ファイルを読み出す通信のフレームが、クライアント端末３０が代替サーバから対象ファイルを読み出す通信のフレームに変換される。
【０１０２】
例えば、変換部１１４は、変換対象の受信フレームの送信元が代替サーバであるクライアント端末１０で宛先がクライアント端末３０である場合には、受信フレームの「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，「送信元ポート番号」，「対象ファイルの読出し元のパス」等のフィールドの値を、変換情報テーブル１２３の該当レコードの「サーバＭＡＣアドレス」，「サーバＩＰアドレス」，「サーバポート番号」，「サーバファイルパス」等のフィールドの値に書き換える。
【０１０３】
変換部１１４は、変換したフレームをスイッチチップ１３に出力する。変換されたフレームはスイッチチップ１３を介してスイッチ１から出力される。
【０１０４】
（仮想クライアント部）
仮想クライアント部１１２は、制御部１１１からの指示を受けた場合に、ファイルサーバ２や代替サーバとして選択されたクライアント端末に対して、データの読出しの要求元であるクライアント端末になりすます。仮想クライアント部１１２は、例えば、図２に示される例において説明されたようなネゴシエーションをファイルサーバ２や代替サーバとして選択されたクライアント端末に対して、データの読出しの要求元であるクライアント端末になりすまして行い、通信の確立を行ったり、読出し対象のファイルに関する情報を取得したりする。読出し対象のファイルに関する情報には、例えば、ファイルサーバ２における対象ファイルのパスやファイルＩＤなどである。仮想クライアント部１１２によって、ファイルサーバ２又は代替サーバとして選択されたクライアント端末から得られた情報は、制御部１１１に送信される。
【０１０５】
例えば、制御部１１１は、クライアント端末からファイルサーバ２に対するデータ読出しの通信の通信変換処理が開始されると、代替サーバとなるクライアント端末を選択する。制御部１１１は、仮想クライアント部１１２に、代替サーバに対してクライアント端末になりすますことを指示する。
【０１０６】
仮想クライアント部１１２は、例えば、なりすまし対象のクライアント端末のＭＡＣアドレス及びＩＰアドレスを使用することによって、クライアント端末になりすます。なりすまし対象のクライアント端末のＭＡＣアドレスやＩＰアドレスなど、なりすますために必要な情報は受信フレームから得られる。
【０１０７】
仮想クライアント部１１２は、クライアント端末になりすまして処理を開始する際に、なりすまし対象のクライアント端末とファイルサーバ２又は代替サーバとの通信を仮想クライアント通信テーブル１２５に記録する。仮想クライアント通信テーブル１２５には、仮想クライアント部１１２がクライアント端末になりすまして実行している通信のフレームを特定するための情報が保持される。仮想クライアント通信テーブル１２５には、例えば、通信情報記録テーブル１２２と同じ構造で、なりすまし対象のクライアント端末と通信相手のファイルサーバ２又は代替サーバとのそれぞれのＭＡＣアドレス，ＩＰアドレス，ポート番号が記録される。例えば、制御部１１１は、受信フレームの宛先及び送信元のＭＡＣアドレス，ＩＰアドレス，ポート番号が仮想クライアント通信テーブル１２５のレコードに合致すると、受信フレームを仮想クライアント部１１２に出力する。また、仮想クライアント部１１２は、クライアント端末になりすます処理が終了すると、該当するレコードを仮想クライアント通信テーブル１２５から削除する。
【０１０８】
（仮想サーバ部）
仮想サーバ部１１３は、制御部１１１からの指示を受けた場合に、データの読出し要求を行うクライアント端末に対して、データ読出しの通信相手であるファイルサーバ２になりすます。仮想サーバ部１１３は、例えば、図２の例のようなネゴシエーションをファイルサーバ２になりすまして行い、クライアント端末から読出し対象のファイル名や、ファイルサーバ２における対象ファイルのパスなど、対象ファイルに関する情報を取得したりする。仮想サーバ部１１３は、例えば、なりすまし対象のファイルサーバ２のＭＡＣアドレス及びＩＰアドレスを使用することによって、ファイルサーバ２になりすます。なりすまし対象のファイルサーバ２のＭＡＣアドレスやＩＰアドレスなど、なりすますために必要な情報は受信フレームから得られる。仮想サーバ部１１３は、ファイルサーバ２になりすますことによってクライアント端末から得られたデータ読出しの通信の情報を制御部１１１に送信する。
【０１０９】
仮想サーバ部１１３は、ファイルサーバ２になりすまして処理を開始する際に、なりすまし対象のファイルサーバ２とクライアント端末の通信を仮想サーバ通信テーブル１２６に記録する。仮想サーバ通信テーブル１２６は、仮想サーバ部１１３がファイルサーバになりすまして実行している通信のフレームを特定するための情報を保持する。仮想サーバ通信テーブル１２６には、例えば、通信情報記録テーブル１２２と同様の構造で、なりすまし対象のファイルサーバ２と通信相手のクライアント端末とのそれぞれのＭＡＣアドレス，ＩＰアドレス，ポート番号が記録される。例えば、制御部１１１は、受信フレームの宛先及び送信元のＭＡＣアドレス，ＩＰアドレス，ポート番号が仮想サーバ通信テーブル１２６のレコードに合致すると、受信フレームを仮想サーバ部１１３に出力する。また、仮想サーバ部１１３は、ファイルサーバ２になりすます処理が終了すると、該当するレコードを仮想サーバ通信テーブル１２６から削除する。
【０１１０】
スイッチ１がファイルサーバ２やクライアント端末になりすまして行う通信は、以降、なりすまし通信と呼ばれる。
【０１１１】
＜＜ファイルサーバ＞＞
ファイルサーバ２は、例えば、クライアント端末に設定されるソフトウェア等の各種ファイルを保持し、クライアント端末にファイルのデータを配信するサーバである。ファイルサーバ２は、例えば、ＳＭＢやＣＩＦＳなどのクライアント端末と同じファイル共有プロトコルのサーバサービスを有しており、クライアント端末からの要求に応じてデータを配信するサービスを提供する。
【０１１２】
ファイルサーバ２には、例えば、ファイルサーバ２にかかる負荷に所定の閾値が設定されており、負荷が所定の閾値を超えると、データ読出しの通信を実行しなくなる。ファイルサーバ２は、例えば、平均スループット量、ＣＰＵの使用率，メモリの使用量、ＨＤＤの平均読出し速度などを測定し、ファイルサーバ２にかかる負荷を監視しており、ファイルサーバ２にかかる負荷が所定の閾値を超えると、通信変換処理を要求する。ファイルサーバ２は、例えば、図６に示されるような登録要求を示す代替要求フレームを送信して、通信変換処理を要求する。スイッチ１に対する通信変換処理の要求以降は、上述の説明の通り、スイッチ１で通信変換処理が行われるので、ファイルサーバ２には、データ読出しの通信が到着しなくなる。
【０１１３】
ファイルサーバ２にかかっていた所定の閾値を超える負荷が小さくなり、データ読出しの通信の実行が可能になると、ファイルサーバ２は、通信変換処理の解除を要求する。例えば、ファイルサーバ２は、図６に示されるような解除要求を示す代替要求フレームを送信して、通信変換処理の解除を要求する。
【０１１４】
＜＜クライアント端末＞＞
クライアント端末１０，２０，３０，４０，５０は、ファイルサーバ２と同じファイル共有プロトコルを用いて、ファイルサーバ２からファイルを読み出す。
【０１１５】
クライアント端末１０，２０，３０，４０，５０のうちの少なくとも１台は、ファイルサーバ２と共通のファイル共有プロトコルのサーバサービスを有しており、代替サーバとして動作する。例えば、クライアント端末５０がサーバサービスを有していない場合には、クライアント端末５０は、クライアント端末になりすましたスイッチ１から、ネゴシエーションを受けても応答することができない。結果として、スイッチ１とクライアント端末５０とのネゴシエーションが失敗し、クライアント端末５０は代替サーバとして選択されない。
【０１１６】
サーバサービスを有しているクライアント端末は、代替サーバとして動作可能である。クライアント端末が代替サーバとして動作する場合には、クライアント端末は、例えば、平均スループット量、ＣＰＵの使用率，メモリの使用量、ＨＤＤの平均読出し速度を測定し、クライアント端末にかかる負荷を監視する。負荷が所定の閾値を超えると、クライアント端末は、代替サーバとして行っている通信に対する通信変換処理を要求する。例えば、代替サーバとして動作しているクライアント端末は、図６に示されるような、登録要求又は更新要求を示す代替要求フレームを送信して、通信変換処理を要求する。
【０１１７】
代替サーバとして動作するクライアント端末は、例えば、負荷の状況に応じて、登録要求と更新要求とのどちらを送信するかを選択する。登録要求が送信された場合には、登録要求の送信以前に確立されていた代替サーバとして動作するクライアント端末に対するデータ読出しの通信は継続して行われる。更新要求が送信された場合には、更新要求の送信以前に確立されていた代替サーバとして動作するクライアント端末に対するデータ読出しの通信も含められた、すべての代替サーバに対するデータ読出し通信が他の装置への通信に変換される。
【０１１８】
代替サーバとして動作するクライアント端末は、登録要求の代替要求フレームを送信したのちに、解除要求の代替要求フレームを送信することによって、段階的にデータ読出し通信の実行を制限してもよい。
【０１１９】
代替サーバとして動作しているクライアント端末にかかっていた所定の閾値を超える負荷が小さくなり、当該クライアント端末がデータ読出しの通信を受け入れられるようになると、当該クライアント端末は、通信変換処理の解除を要求する。例えば、代替サーバとして動作するクライアント端末は、図６に示されるような解除要求を示す代替要求フレームを送信して、通信変換処理の解除を要求する。
【０１２０】
＜＜ファイルサーバとクライアント端末のハードウェア＞＞
ファイルサーバ２は、ＰＣのような汎用のコンピュータ又はサーバマシンのような専用のコンピュータを用いて実現することができる。
【０１２１】
クライアント端末１０，２０，３０，４０，５０は、ＰＣ，ワークステーション，ＰＤＡ（Personal Digital Assistant），ゲーム機器やＨＤＤレコーダのような電子機器を搭載した電子機器を用いて実現可能である。
【０１２２】
コンピュータ、すなわち、情報処理装置は、プロセッサ，主記憶装置，補助記憶装置，通信インターフェース装置のような周辺装置とのインターフェース装置を含む。主記憶装置及び補助記憶装置は、コンピュータが読み取り可能な記録媒体である。
【０１２３】
コンピュータはプロセッサが記録媒体に記憶されたプログラムを主記憶装置の作業領域にロードして実行し、プログラムの実行を通じて周辺装置が制御されることによって、所定の目的に合致した機能を実現することができる。
【０１２４】
プロセッサは、例えば、ＣＰＵやＤＳＰ（Data Signal Processor）である。主記憶装置は、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）を含む。補助記憶装置は、例えば、ＥＰＲＯＭ（Erasable  Programmable  ROM）、又はハードディスクドライブ（Hard  Disk  Drive）である。また、補助記憶装置は、リムーバブルメディア、すなわち可搬記録媒体を含むことができる。リムーバブルメディアは、例えば、ＵＳＢ（Universal  Serial  Bus）メモリ、或いは、ＣＤ（Compact  Disc）やＤＶＤ（Digital  Versatile  Disc）のようなディスク記録媒体である。
【０１２５】
通信インターフェース装置は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースボートや、無線通信のための無線通信回路である。
【０１２６】
さらに、周辺装置は、キーボードやポインティングデバイスのような入力装置や、ディスプレイ装置やプリンタのような出力装置を含む。入力装置は、カメラのような映像や画像の入出力装置や、マイクロフォンのような音声の入力装置を含むことができる。また、出力装置は、スピーカのような音声の出力装置を含むことができる。
【０１２７】
＜＜スイッチのフレーム受信時の処理＞＞
図９，図１０，図１１Ａ，図１１Ｂ，図１２Ａ，図１２Ｂ、及び図１３は、スイッチ１がフレームを受信した場合の処理のフローの例を示す図である。
【０１２８】
（受信フレームの分類）
図９は、スイッチ１がフレームを受信した際に、受信フレームを分類する処理のフローの例を示す図である。
【０１２９】
スイッチ１がフレームを受信すると、インターフェース１５，ＰＨＹチップ１４，スイッチチップ１３を介して、ＣＰＵ１１にフレームが入力される。ＣＰＵ１１では、まず、制御部１１１によって受信フレームが分類される。
【０１３０】
制御部１１１は、受信フレームが代替要求フレームか否かを判定する（ＯＰ２１）。制御部１１１は、フレームのヘッダ及びペイロードの情報から、受信されたフレームが代替要求フレームであるか否かを判定する。例えば、代替要求フレームがＰＡＵＳＥフレームで定義される場合には、受信フレームの「宛先ＭＡＣアドレス」フィールドにＰＡＵＳＥフレームで用いられるマルチキャストＭＡＣアドレスが格納されていることによって、受信フレームは代替要求フレームであると判定される。
【０１３１】
受信フレームが代替要求フレームであると判定された場合には（ＯＰ２１：Ｙｅｓ）、処理は図１０に示されるフローに進む。
【０１３２】
受信フレームが代替要求フレームではない場合には（ＯＰ２１：Ｎｏ）、制御部１１１は、受信フレームがなりすまし通信のフレームであるか否かを判定する（ＯＰ２２）。制御部１１１は、受信フレームを解析し、受信フレームの内容を、仮想クライアント通信テーブル１２５及び仮想サーバ通信テーブル１２６と比較する。受信フレームが仮想クライアント通信テーブル１２５、または、仮想サーバ通信テーブル１２６のいずれかのレコードに合致した場合に、制御部１１１は、受信フレームがなりすまし通信のフレームであることを判定する。
【０１３３】
受信フレームがなりすまし通信のフレームであると判定された場合には（ＯＰ２２：Ｙｅs）、処理は図１３に示されるフローに進む。
【０１３４】
受信フレームが、代替要求フレームでもなりすまし通信のフレームでもない場合には（ＯＰ２２：Ｎｏ）、制御部１１１は、受信フレームが変換対象のフレームであるか否かを判定する（ＯＰ２３）。制御部１１１は、受信フレームの「送信元ＭＡＣアドレス」，「宛先ＭＡＣアドレス」，「送信元ＩＰアドレス」，「宛先ＩＰアドレス」，「送信元ポート番号」，「宛先ポート番号」等のフィールドの値を変換情報テーブル１２３の各レコードと比較する。変換情報テーブル１２３に、合致するレコードが或る場合には（ＯＰ２３：Ｙｅｓ）、受信フレームは変換対象のフレームであると判定され、処理が図１２Ａに示されるフローに進む。
【０１３５】
受信フレームが、代替要求フレーム，なりすまし通信のフレーム，変換対象のフレームのいずれでもない場合には（ＯＰ２３：Ｎｏ）、制御部１１１は、受信フレームが記録対象のフレームか否かを判定する（ＯＰ２４）。制御部１１１は、受信フレームが予め定義されたＳＭＢなどのデータ読出しの通信のプロトコルのフレームであるか否かを判定する。制御部１１１は、例えば、受信フレームの「宛先ポート番号」又は「送信元ポート番号」のフィールドの値がＳＭＢに予約された番号である「４４５」であるか否かを判定することによって、受信フレームがＳＭＢのフレームであり、記録対象のフレームであることを判定する。受信フレームが記録対象のフレームの場合には（ＯＰ２４：Ｙｅｓ）、処理が図１１Ａに示されるフローに進む。
【０１３６】
受信フレームが、代替要求フレーム，なりすまし通信のフレーム，変換対象のフレーム，及び記録対象のフレームのいずれでもない場合には（ＯＰ２４：Ｎｏ）、制御部１１１は、受信フレームをスイッチチップ１３に出力する。代替要求フレーム，なりすまし通信のフレーム，変換対象のフレーム，及び記録対象のフレームのいずれでもない受信フレームは、スイッチチップ１３によって通常のスイッチ処理が実行され、スイッチ1から出力される（ＯＰ２５）。
【０１３７】
（代替要求フレームが受信された場合の処理）
図１０は、スイッチ１が代替要求フレームを受信した場合の処理のフローの例を示す図である。制御部１１１は、受信フレームが予め定義された代替要求フレームであると判定した場合に、図１０に示される処理を開始する。
【０１３８】
制御部１１１は、受信された代替要求フレームが解除要求を示すか否かを判定する（ＯＰ３１）。例えば、代替要求フレームが図６に示されるＰＡＵＳＥフレームで定義されている場合には、制御部１１１は、代替要求フレームである受信フレームの「代替要求コード」フィールドの値が、解除要求であることが示される「０ｘ００」であるか否かを判定する。受信された代替要求フレームが解除要求を示す場合には（ＯＰ３１：Ｙｅｓ）、制御部１１１は、装置情報管理部１１５に、装置情報テーブル１２１の「ＭＡＣアドレスフィールド」の値が受信フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドの値を「０」に設定させる（ＯＰ３２）。装置情報テーブル１２１の該当レコードの「代替要求フラグ」フィールドの値が「０」になることによって、代替要求フレームである受信フレームの送信元の装置に対する通信変換処理が解除される。また、制御部１１１は、例えば、変換情報テーブル１２３に、「代替サーバＭＡＣアドレス」フィールドの値が解除要求を示す代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致するレコードがある場合には、変換情報生成部１１７に該当レコードの「更新フラグ」フィールドの値を「０」にさせる。その後、代替要求フレームである受信フレームは廃棄され（ＯＰ３６）、処理が終了する。
【０１３９】
受信された代替要求フレームが解除要求を示していない場合には（ＯＰ３１：Ｎｏ）、制御部１１１は、代替要求フレームが更新要求を示すか否かを判定する（ＯＰ３３）。例えば、代替要求フレームが図６に示されるＰＡＵＳＥフレームで定義されている場合には、制御部１１１は、受信された代替要求フレームの「代替要求コード」フィールドの値が、更新要求であることが示される「０ｘ１０」であるか否かを判定する。
【０１４０】
受信された代替要求フレームが更新要求を示す場合には（ＯＰ３３：Ｙｅｓ）、制御部１１１は、装置情報管理部１１５に、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が受信された代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドの値を「１」に設定させる（ＯＰ３４）。さらに、制御部１１１は、例えば、変換情報生成部１１７に、変換情報テーブル１２３の「代替サーバＭＡＣアドレス」フィールドの値が受信された更新要求を示す代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に一致する変換情報テーブル１２３のレコードの「更新フラグ」フィールドの値を「１」に設定させる（ＯＰ３４）。その後、代替要求フレームである受信フレームは、廃棄され（ＯＰ３６）、処理が終了する。
【０１４１】
受信された代替要求フレームが解除要求でも更新要求でもない場合には（ＯＰ３３：Ｎｏ）、受信された代替要求フレームは登録要求であることが示される。受信された代替要求フレームが登録要求である場合には、制御部１１１は、装置情報管理部１１５に、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が受信された代替要求フレームの「送信元ＭＡＣアドレス」フィールドの値に合致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドの値を「１」に設定させる（ＯＰ３５）。その後、代替要求フレームである受信フレームは、廃棄され（ＯＰ３６）、処理が終了する。
【０１４２】
（記録対象のフレームが受信された場合の処理）
図１１Ａ及び図１１Ｂは、スイッチ１が記録対象のフレームを受信した場合の処理のフローの例を示す図である。記録対象のフレームには、例えば、ＳＭＢやＣＩＦＳなどのデータ読出しの通信に用いられるプロトコルのフレームが定義される。制御部１１１は、例えば、受信フレームが変換対象又はなりすまし通信のいずれでもなく、受信フレームの「宛先ポート番号」又は「送信元ポート番号」の何れかのフィールドの値がＳＭＢに予約された「４４５」である場合に、受信フレームが記録対象であることを判定する。
【０１４３】
制御部１１１は、記録対象である受信フレームからデータの要求先であるサーバを特定し、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が該サーバのＭＡＣアドレスに一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドの値が「１」であるか否かを判定する（ＯＰ４１）。すなわち、制御部１１１は、記録対象の受信フレームによって特定されるデータの要求先のサーバが通信変換処理を要求しているか否かを判定する。例えば、制御部１１１は、記録対象の受信フレームの「宛先ポート番号」フィールドの値がＳＭＢに用いられる「４４５」の場合には、受信フレームの「宛先ＭＡＣアドレス」及び「宛先ＩＰアドレス」等のフィールドの値によって、データの要求先であるサーバを特定する。次に、制御部１１１は、記録対象である受信フレームの「宛先ＭＡＣアドレス」フィールドの値と装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値とが合致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドの値が「１」であるか否かを判定する。
【０１４４】
装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が記録対象である受信フレームによって示されるデータ要求先のサーバのＭＡＣアドレスと一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドの値が「０」である場合には（ＯＰ４１：Ｎｏ）、該サーバはスイッチ１に対して通信変換処理を要求していないことが示される。制御部１１１は、記録対象である受信フレームが、データ読出しの通信において、最終データに対する受信完了応答（図２参照）であるか否かを判定する（ＯＰ４６）。
【０１４５】
記録対象である受信フレームが最終データに対する受信完了応答である場合には（ＯＰ４６：Ｙｅｓ）、制御部１１１は、通信情報管理部１１６に通信情報記録テーブル１２２の該当レコードの「通信終了フラグ」フィールドの値を「１」に更新させる（ＯＰ４７）。なお、受信フレームに該当する通信情報記録テーブル１２２のレコードとは、通信情報記録テーブル１２２の「クライアントＭＡＣアドレス」，「サーバＭＡＣアドレス」，「クライアントＩＰアドレス」，「サーバＩＰアドレス」，「クライアントファイルパス」，「サーバファイルパス」のフィールドの値が受信フレームの宛先と送信元とのＭＡＣアドレス，ＩＰアドレス，及びファイルパスの組み合わせと合致するレコードのことである。
【０１４６】
制御部１１１は、記録対象である受信フレームをスイッチチップ１３に出力する。記録対象である受信フレームは、スイッチチップ１３によって通常のスイッチ処理が行われてスイッチ１から出力される（ＯＰ４８）。その後、処理が終了する。
【０１４７】
記録対象である受信フレームが、データ読出しの通信の最終データに対する受信完了応答ではない場合には（ＯＰ４６：Ｎｏ）、制御部１１１は、通信情報管理部１１６に、通信情報記録テーブル１２２を更新させる（ＯＰ４９）。通信情報記録テーブル１２２は、記録対象である受信フレームの内容に基づいて更新される。例えば、通信情報記録テーブル１２２に、記録対象である受信フレームによって示される宛先と送信元との通信に合致するレコードが存在しない場合には、通信情報管理部１１６は、受信フレームに基づいて通信情報記録テーブル１２２のレコードを生成する。生成された時点で、通信情報記録テーブル１２２のレコードは、不明な情報を含んでいてもよい。また、例えば、記録対象である受信フレームによって示される宛先と送信元との通信に合致する通信情報記録テーブル１２２のレコードが存在する場合には、通信情報管理部１１６は当該レコードを更新する。例えば、生成された時点で不明であった「クライアントファイルパス」などのフィールドの情報が記録対象である受信フレームから判明された場合には、通信情報管理部１１６は、判明された情報を追加して該当レコードを更新する。その後、記録対象である受信フレームは、スイッチチップ１３によって通常のスイッチ処理が行われてスイッチ１から出力され処理が終了する（ＯＰ４８）。
【０１４８】
ＯＰ４１において、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドの値が記録対象である受信フレームによって示されるデータ読出し元のサーバのＭＡＣアドレスと一致する装置情報テーブル１２１のレコードの「代替要求フラグ」フィールドの値が「１」である場合には（ＯＰ４１：Ｙｅｓ）、該サーバが通信変換処理を要求していることが示される。制御部１１１は、仮想サーバ部１１３に、記録対象である受信フレームによって示されるデータの読出し元のサーバになりすまさせ、記録対象である受信フレームによって示されるデータ読出し先のクライアント端末から対象のファイルに関する情報を取得させる（ＯＰ４３）。このとき、仮想サーバ部１１３は、読出し元のサーバになりすまして実行する通信を仮想サーバ通信テーブル１２６に記録する。仮想サーバ部１１３は、受信フレームによって示されるデータ読出し先のクライアント端末から対象ファイルに関する情報を取得すると、取得された対象ファイルに関する情報を制御部１１１に報告する。仮想サーバ部１１３は、読出し元のサーバになりすまして実行する通信が終了すると、仮想サーバ通信テーブル１２６から該当するレコードを削除する。
【０１４９】
制御部１１１は、仮想サーバ部１１３から報告された対象ファイルに関する情報に基づいて、記録対象である受信フレームによって示されるデータ読出し元のサーバの代替が可能なクライアント端末が存在するか否かを判定する（ＯＰ４４）。
【０１５０】
制御部１１１は、例えば、通信情報記録テーブル１２２において、少なくとも「サーバＭＡＣアドレス」，「サーバファイルパス」のフィールドの値が、記録対象である受信フレームによって示される読出し元のサーバのＭＡＣアドレスと読出し対象ファイルとに一致し、「通信終了フラグ」フィールドの値が「１」であるクライアント端末を抽出する。次に、制御部１１１は、抽出されたクライアント端末のなかに、装置情報テーブル１２１において「代替要求フラグ」フィールドの値が「０」であるクライアント端末が存在するか否かを判定する。このようにして制御部１１１は、読出し元のサーバの代替が可能なクライアント端末の有無を判定する。
【０１５１】
記録対象である受信フレームによって示されるデータ読出し元のサーバの代替が可能なクライアント端末が存在する場合には（ＯＰ４４：Ｙｅｓ）、制御部１１１は、代替サーバ候補を選択する。制御部１１１は、例えば、ＯＰ４４と同様にして通信情報記録テーブル１２２から抽出されたクライアント端末の中から、装置情報テーブル１２１において「代替要求フラグ」フィールドの値が「０」であるクライアント端末を代替サーバ候補として選択する。代替サーバ候補が複数ある場合には、制御部１１１は、例えば、抽出されたクライアント端末の中で、最もＭＡＣアドレスの小さいクライアント端末を代替サーバ候補として選択する。
【０１５２】
制御部１１１は、仮想クライアント部１１２に、記録対象である受信フレームによって示されるデータ読出し先のクライアント端末になりすまさせ、代替サーバ候補のクライアント端末に対して、例えば、図２において説明されたネゴシエーションを行わせる（ＯＰ５１）。このとき、仮想クライアント部１１２は、記録対象の受信フレームによって示されるデータ読出し先のクライアント端末になりすまして実行する代替サーバ候補に対する通信を、仮想クライアント通信テーブル１２５に記録する。仮想クライアント部１１２は、データ読出し先のクライアント端末になりすまして、代替サーバ候補として選択されたクライアント端末との通信の確立を行ったり、読出し対象のファイルに関する情報を代替サーバ候補として選択されたクライアント端末から取得したりする。仮想クライアント部１１２は、記録対象の受信フレームによって示されるデータ読出し先のクライアント端末になりすまして実行された通信が終了すると、仮想クライアント通信テーブル１２５から該当するレコードを削除する。
【０１５３】
代替サーバ候補のクライアント端末に対するネゴシエーションが成功した場合には（ＯＰ５２：Ｙｅｓ）、制御部１１１は、代替サーバ候補のクライアント端末を代替サーバに確定する。ネゴシエーションによって取得された代替サーバに関する情報は、制御部１１１に報告される。
【０１５４】
制御部１１１は、変換情報生成部１１７に、記録対象の受信フレームによって示される、クライアント端末がサーバから対象ファイルを読み出す通信のフレームを変換するための変換情報テーブル１２３のレコードを生成させる（ＯＰ５３）。このとき生成される変換情報テーブル１２３のレコードの「クライアントＭＡＣアドレス」，「クライアントＩＰアドレス」，「クライアントファイルパス」，「クライアントポート番号」等のフィールドには、受信フレームによって示される読出し先のクライアント端末のＭＡＣアドレス，ＩＰアドレス，データ読出し先のファイルパス，ポート番号等が格納される。変換情報テーブル１２３のレコードの「サーバＭＡＣアドレス」，「サーバＩＰアドレス」，「サーバファイルパス」，「サーバポート番号」等のフィールドには、受信フレームによって示される読出し元のサーバのＭＡＣアドレス，ＩＰアドレス，データ読出し元のファイルパス，ポート番号等が格納される。変換情報テーブル１２３のレコードの「代替サーバＭＡＣアドレス」，「代替サーバＩＰアドレス」，「代替サーバファイルパス」，「代替サーバポート番号」等のフィールドには、代替サーバとして選択されたクライアント端末と受信フレームによって示されるデータ読出し元のサーバとの通信に該当する通信情報記録テーブル１２２のレコードの「クライアントＭＡＣアドレス」，「クライアントＩＰアドレス」，「クライアントファイルパス」等のフィールドの値が格納される。また、このとき生成される変換情報テーブル１２３のレコードによって、記録対象の受信フレームが、変換対象のフレームにもなる。
【０１５５】
制御部１１１は、変換情報テーブル１２３に新たにレコードが追加されると、記録対象であり変換対象にもなった受信フレームを変換部１１４に出力し、変換部１１４に受信フレームを変換させる。当該受信フレームを受信すると、変換部１１４は、変換情報テーブル１２３に従って、当該受信フレームの宛先又は送信元の情報を書き換えて変換する（ＯＰ５４）。例えば、受信フレームの宛先が読出し元のサーバを示す場合には、変換部１１４は、受信フレームの「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「対象ファイルのファイルパス」，「ファイルＩＤ」等のフィールド値を変換情報テーブル１２３において合致するレコードの「代替サーバＭＡＣアドレス」，「代替サーバＩＰアドレス」，「代替サーバポート番号」，「代替サーバファイルパス」，「代替サーバファイルＩＤ」等のフィールドの値に書き換える。その後、処理がＯＰ４６に進む。
【０１５６】
記録対象である受信フレームが最終データに対する受信完了応答である場合には（ＯＰ４６：Ｙｅｓ）、制御部１１１は、通信情報管理部１１６に、受信フレームに該当する通信情報記録テーブル１２２のレコードの「通信終了フラグ」フィールドの値を「１」に設定させる（ＯＰ４７）。このとき、変換部１１４によって変換された後のフレームによって示される通信は通信情報記録テーブル１２２には記録されず、変換前の記録対象である受信フレームによって示される通信に該当する通信情報記録テーブル１２２のレコードの「通信終了フラグ」が「１」に設定される。
【０１５７】
記録対象である受信フレームが最終データに対する受信完了応答ではない場合には（ＯＰ４６：Ｎｏ）、制御部１１１は、通信情報管理部１１６に通信情報記録テーブル１２２の該当レコードを更新させる（ＯＰ４９）。なお、更新される通信情報記録テーブル１２２のレコードは、変換前の受信フレームによって示される、読出し元のサーバからクライアント端末が対象ファイルを読み出す通信が記録されているレコードである。変換前の受信フレームによって示されるデータ要求元のクライアント端末は、実際には、代替サーバからデータを読み出すものの、通信情報記録テーブル１２２には、変換前の受信フレームによって示されるオリジナルの要求先であるサーバから読み出したものとして記録される。
【０１５８】
変換されたフレームは、変換部１１４によってスイッチチップ１３に出力され、スイッチチップ１３を介してスイッチ１から出力される（ＯＰ４８）。
【０１５９】
ＯＰ５２において、代替サーバ候補とのネゴシエーションが失敗した場合には（ＯＰ５２：Ｎｏ）、仮想クライアント部１１２は、制御部１１１に報告する。代替サーバ候補として選択されたクライアント端末とのネゴシエーションが失敗するのは、例えば、代替サーバ候補に選択されたクライアント端末がファイル共有プロトコルのサーバサービスを有していない場合などである。制御部１１１は、記録対象である受信フレームによって示される読出し元のサーバの代替が可能なクライアント端末が他に存在するか否かを判定する（ＯＰ５５）。
【０１６０】
サーバの代替が可能なクライアント端末が他に存在する場合には（ＯＰ５５：Ｙｅｓ）、再度代替サーバ候補が選択され、代替サーバ候補に対してネゴシエーションが行われる（ＯＰ５１、ＯＰ５２）。代替サーバが確定するまで、又は、サーバの代替が可能なクライアント端末が存在しなくなるまでは、ＯＰ５１、ＯＰ５２、ＯＰ５５の処理が繰り返される。
【０１６１】
記録対象である受信フレームによって示される読出し元のサーバの代替が可能なクライアント端末が他に存在しない場合には（ＯＰ５５：Ｎｏ）、制御部１１１は、仮想クライアント部１１２に、受信フレームによって示されるオリジナルの読出し元であるサーバに対してネゴシエーションを行わせる。仮想クライアント部１１２は、受信フレームによって示されるクライアント端末になりすまして、受信フレームによって示される読出し元のサーバに対してネゴシエーションを行う（ＯＰ５６）。この場合も、ＯＰ５１と同様にして、仮想クライアント部１１２によって、クライアント端末になりすまして読出し元のサーバとのネゴシエーションの通信が行われる。
【０１６２】
記録対象である受信フレームによって示される読出し元のサーバとのネゴシエーションが成功した場合には（ＯＰ５７：Ｙｅｓ）、処理がＯＰ４６に進み、通信情報記録テーブル１２２が更新され（ＯＰ４７又はＯＰ４９）、該受信フレームが出力される（ＯＰ４８）。
【０１６３】
記録対象である受信フレームによって示されるオリジナルの読出し元のサーバとのネゴシエーションが失敗した場合には（ＯＰ５７：Ｎｏ）、制御部１１１は、受信フレームによって示されるクライアント端末に接続エラーを送信するように、仮想サーバ部１１３に指示する。例えば、受信フレームによって示される読出し元のサーバにかかる負荷が所定の閾値より大きい場合には、該サーバがデータ読出し通信を実行できずに、該サーバとのネゴシエーションが失敗する。仮想サーバ部１１３は、記録対象である受信フレームによって示される読出し元のサーバになりすまして、該受信フレームによって示されるデータの読出し先のクライアント端末に接続エラーを送信する（ＯＰ５８）。その後処理が終了する。
【０１６４】
ＯＰ４４において、記録対象の受信フレームによって示されるデータの読出し元のサーバの代替が可能なクライアント端末が存在しない場合には（ＯＰ４４：Ｎｏ）、処理がＯＰ５６に進み、該データの読出し元のサーバに対してネゴシエーションが行われる。
【０１６５】
（変換対象フレームが受信された場合の処理）
図１２Ａ及び図１２Ｂは、スイッチ１が変換対象フレームを受信した場合の処理のフローの例を示す図である。受信フレームの宛先と送信元のＭＡＣアドレス，ＩＰアドレス，ポート番号等の組み合わせが、変換情報テーブル１２３のサーバとクライアント又は代替サーバとクライアントのＭＡＣアドレス，ＩＰアドレス，ポート番号等のフィールドの値の組み合わせに合致する場合に、制御部１１１は受信フレームを変換対象として判定する。また、スイッチ１が受信した時点で変換情報テーブル１２３のレコードに合致するフレームは、データ要求元のクライアント端末からデータ要求先のサーバ宛てのフレーム、又は、代替サーバからデータの要求元のクライアント宛てのフレームの何れかであることが考えられる。
【０１６６】
制御部１１１は、変換対象である受信フレームが代替サーバから送信されたフレームか否かを判定する（ＯＰ６１）。制御部１１１は、例えば、該受信フレームの「送信元ＭＡＣアドレス」及び「送信元ＩＰアドレス」のフィールドの値と、変換情報テーブル１２３の「代替サーバＭＡＣアドレス」及び「代替サーバＩＰアドレス」のフィールドの値とをそれぞれ比較して、該受信フレームが代替サーバから送信されたものか否かを判定する。
【０１６７】
変換対象である受信フレームが代替サーバから送信されたフレームである場合には（ＯＰ６１：Ｙｅｓ）、制御部１１１は、該受信フレームを変換部１１４に出力する。変換部１１４は、受信フレームが代替サーバから送信されたフレームであるので、受信フレームに該当する変換情報テーブル１２３のレコードに従って、該受信フレームの送信元を代替サーバからサーバに書き換えて受信フレームを変換する（ＯＰ６２）。この場合には、例えば、変換対象の受信フレームの「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，「送信元ポート番号」，「ファイル読出し元のファイルパス」等のフィールドの値が、変換情報テーブル１２３の該当レコードの「サーバＭＡＣアドレス」，「サーバＩＰアドレス」，「サーバポート番号」，「サーバファイルパス」等のフィールドの値にそれぞれ変換される。変換されたフレームは、スイッチチップ１３に出力され、通常のスイッチ処理によりスイッチ１から出力される（ＯＰ６９）。
【０１６８】
変換対象の受信フレームが代替サーバから送信されたフレームではない場合には（ＯＰ６１：Ｎｏ）、該受信フレームがクライアント端末からサーバに送信されたものであることが示される。制御部１１１は、変換対象である受信フレームに該当する変換情報テーブル１２３のレコードの「更新フラグ」フィールドの値が「１」であるか否かを判定する（ＯＰ６３）。すなわち、制御部１１１は、変換対象である受信フレームに該当する変換情報テーブル１２３のレコードの「代替サーバＭＡＣアドレス」等のフィールドの値によって代替サーバであることが示されるクライアント端末が、更新要求の代替要求フレームを送信しているか否かを判定する。
【０１６９】
変換対象である受信フレームに該当する変換情報テーブル１２３のレコードの「更新フラグ」フィールドの値が「１」ではない場合には（ＯＰ６３：Ｎｏ）、該レコードの代替サーバであるクライアント端末がデータの読出しの通信を実行可能であることが示される。制御部１１１は、変換対象である受信フレームを変換部１１４に出力する。
【０１７０】
変換部１１４は、変換対象である受信フレームがクライアント端末からサーバに送信されたフレームであるので、受信フレームに該当する変換情報テーブル１２３のレコードに従って該受信フレームの宛先をサーバから代替サーバに変換する（ＯＰ６４）。この場合には、例えば、変換対象である受信フレームの「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「ファイル読出し元のファイルパス」等のフィールドの値が、変換情報テーブル１２３の該当レコードの「代替サーバＭＡＣアドレス」，「代替サーバＩＰアドレス」，「代替サーバポート番号」，「代替サーバファイルパス」等のフィールドの値にそれぞれ変換される。
【０１７１】
制御部１１１は、変換対象に該当した変換前の受信フレームが最終データに対する受信応答であるか否かを判定する（ＯＰ６５）。変換前の受信フレームが最終データに対する応答である場合には（ＯＰ６５：Ｙｅｓ）、変換前の受信フレームによって示される対象ファイルのデータの読出しの通信の終了が示される。制御部１１１は、通信情報管理部１１６に、通信情報記録テーブル１２２の変換前の受信フレームによって示される通信に該当するレコードの「通信終了フラグ」を「１」に更新させる（ＯＰ６６）。通信情報記録テーブル１２２の変換前の受信フレームによって示される通信に該当するレコードの「通信終了フラグ」が「１」になることによって、該当レコードによって示される通信が終了したことが示される。また、制御部１１１は、変換前の受信フレームによって示される対象ファイルの読出しの通信が終了すると、この通信に該当する変換情報テーブル１２３のレコードが不要になるので、変換情報生成部１１７に、変換情報テーブル１２３の該当レコードを削除させる（ＯＰ６７）。ＯＰ６４において変換されたフレームは、変換されたフレームは、スイッチチップ１３に出力され、通常のスイッチ処理によりスイッチ１から出力される（ＯＰ６９）。
【０１７２】
変換対象に該当した変換前の受信フレームが最終データではない場合には（ＯＰ６５：Ｎｏ）、変換前の受信フレームによって示されるデータの読出しの通信が継続することが示される。制御部１１１は、通信情報管理部１１６に、通信情報記録テーブル１２２の変換前の受信フレームによって示されるデータの読出しの通信に該当するレコードを更新させる（ＯＰ６８）。ＯＰ６４において変換されたフレームは、変換部１１４からスイッチチップ１３に出力され、通常のスイッチ処理が行われて、スイッチ１から出力される（ＯＰ６９）。
【０１７３】
ＯＰ６３において、受信フレームに該当する変換情報テーブル１２３のレコードの「更新フラグ」フィールドが「１」である場合には（ＯＰ６３：Ｙｅｓ）、代替サーバであるクライアント端末から更新要求を受信しており、代替サーバからのデータの読出しができないことが示される。制御部１１１は、変換情報テーブル１２３の該当レコードの代替サーバの他に、受信フレームによって示されるデータ読出し先であるサーバの代替が可能な端末があるか否かを判定する（ＯＰ７１）。すなわち、制御部１１１は、新たに代替サーバを選択する。このときの処理は、ＯＰ４４、ＯＰ５５と同様にして行われる。
【０１７４】
変換情報テーブル１２３の該当レコードの代替サーバの他にデータ読出し元のサーバの代替が可能なクライアント端末が存在する場合には（ＯＰ７１：Ｙｅｓ）、制御部１１１は、新たに代替サーバ候補を選択する。制御部１１１は、例えば、通信情報記録テーブル１２２において、受信フレームによって示される読出し元のサーバから読出し対象ファイルを読み出し済みであることが示されるクライアント端末を抽出する。さらに、制御部１１１は、抽出されたクライアント端末の中から、装置情報テーブル１２１において「代替要求フラグ」フィールドの値が「０」であるクライアント端末を抽出する。制御部１１１は、抽出されたクライアント端末の中で、例えば、最もＭＡＣアドレスの小さいクライアント端末を新たな代替サーバ候補として選択する。
【０１７５】
制御部１１１は、仮想クライアント部１１２に、受信フレームによって示されるデータ要求元のクライアント端末になりすまし、代替サーバ候補のクライアント端末に対してネゴシエーションを行わせる（ＯＰ７２）。このとき、図１１ＢのＯＰ５１と同様にして処理が行われる。
【０１７６】
代替サーバ候補のクライアント端末に対するネゴシエーションが成功した場合には（ＯＰ７３：Ｙｅｓ）、制御部１１１は、代替サーバ候補のクライアント端末を新たな代替サーバに確定する。仮想クライアント部１１２によって取得された新たな代替サーバに関する情報は制御部１１１に報告される。
【０１７７】
制御部１１１は、変換情報生成部１１７に、受信フレームによって示される読出し先のクライアント端末が読出し元のサーバからデータを読み出す通信を新たに選択された代替サーバからデータを読み出す通信に変換するための変換情報テーブル１２３のレコードを生成させる（ＯＰ７４）。
【０１７８】
制御部１１１は、変換情報テーブル１２３に新たにレコードが追加されると、受信フレームを変換部１１４に出力する。該受信フレームを受信すると、変換部１１４は、変換情報テーブル１２３の新たに追加された該当レコードに従って、受信フレームを変換する（ＯＰ７５）。この場合には、例えば、受信フレームの「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「対象ファイルのファイルパス」等のフィールドの値が、変換情報テーブル１２３の新たに追加された該当レコードの「代替サーバＭＡＣアドレス」，「代替サーバＩＰアドレス」，「代替サーバポート番号」，「代替サーバファイルパス」等のフィールドの値にそれぞれ変換される（ＯＰ７５）。なお、代替サーバは、新たに選択された代替サーバである。
【０１７９】
制御部１１１は、変換情報テーブル１２３の前の代替サーバのレコードは不要となるので、変換情報生成部１１７に該当レコードを削除させる（ＯＰ７９）。すなわち、変換情報生成部１１７は、ＯＰ６３において、変換情報テーブル１２３のレコードの「更新フラグ」フィールドの値が「１」であった、受信フレームに該当する変換情報テーブル１２３の前の代替サーバのレコードを、変換情報テーブル１２３から削除する。
【０１８０】
変換対象に該当した変換前の受信フレームが最終データに対する受信完了応答である場合には（ＯＰ６５：Ｙｅｓ）、制御部１１１は、通信情報管理部１１６に、通信情報記録テーブル１２２の変換前の受信フレームによって示される通信に該当するレコードの「通信終了フラグ」フィールドの値を「１」に設定させる（ＯＰ６６）。「通信終了フラグ」フィールドの値が「１」になることによって、変換前の受信フレームによって示されるデータ要求元のクライアント端末が対象ファイルを読出し済みであることが示される。また、制御部１１１は、変換前の受信フレームによって示される対象ファイルの読出しの通信が終了すると、この通信に該当する変換情報テーブル１２３のレコードが不要になるので、変換情報生成部１１７に、変換情報テーブル１２３の該当レコードを削除させる（ＯＰ６７）。
【０１８１】
変換対象に該当した変換前の受信フレームが最終データに対する受信完了応答ではない場合には（ＯＰ６５：Ｎｏ）、制御部１１１は、通信情報管理部１１６に通信情報記録テーブル１２２の変換前の受信フレームによって示される通信に該当するレコードを更新させる（ＯＰ６８）。なお、更新される通信情報記録テーブル１２２のレコードは、変換対象に該当した受信フレームに基づいて、変換前の受信フレームによって示される読出し元のサーバからクライアント端末が対象ファイルを読み出す通信に該当するレコードである。変換前の受信フレームによって示されるデータ読出し先のクライアント端末は、実際には、代替サーバからデータを読み出すものの、通信情報記録テーブル１２２には、変換前の受信フレームによって示されるオリジナルのデータ要求先であるサーバから読み出したものとして記録される。  ＯＰ７５において変換されたフレームは、変換部１１４によってスイッチチップ１３に出力され、スイッチチップ１３を介してスイッチ１から出力される（ＯＰ６９）。
【０１８２】
ＯＰ７３において、新たに選択された代替サーバ候補とのネゴシエーションが失敗した場合には（ＯＰ７３：Ｎｏ）、仮想クライアント部１１２は、制御部１１１にネゴシエーションの失敗を報告する。例えば、代替サーバ候補に選択されたクライアント端末がファイル共有プロトコルのサーバサービスを有していない場合には、代替サーバ候補に選択されたクライアント端末とのネゴシエーションが失敗する。制御部１１１は、さらに、他にサーバの代替が可能なクライアント端末が存在するか否かを判定する（ＯＰ７６）。
【０１８３】
他にサーバの代替が可能なクライアント端末が存在する場合には（ＯＰ７６：Ｙｅｓ）、制御部１１１は、再度代替サーバ候補を選択し、仮想クライアント部１１２に、代替サーバ候補に対してネゴシエーションを行わせる（ＯＰ７２）。新たに代替サーバが確定するまで、又は、サーバの代替が可能なクライアント端末が存在しなくなるまでは、ＯＰ７２，ＯＰ７３，ＯＰ７６の処理が繰り返される。
【０１８４】
他にサーバの代替が可能な端末が存在しない場合には（ＯＰ７６：Ｎｏ）、制御部１１１は、仮想クライアント部１１２に、変換対象である受信フレームによって示される、オリジナルの読出し元であるサーバに対してネゴシエーションを行わせる（ＯＰ７７）。仮想クライアント部１１２は、変換対象である受信フレームによって示されるデータ要求元のクライアント端末になりすまして、サーバに対してネゴシエーションを行う。
【０１８５】
変換対象である受信フレームによって示されるデータ要求先のサーバとのネゴシエーションが成功した場合には（ＯＰ７８：Ｙｅｓ）、処理がＯＰ７９に進む。
【０１８６】
変換対象である受信フレームによって示される読出し元のサーバとのネゴシエーションが失敗した場合には（ＯＰ７８：Ｎｏ）、制御部１１１は、仮想サーバ部１１３に、受信フレームによって示される読出し先のクライアント端末に接続エラーを送信させる（ＯＰ８０）。例えば、変換対象である受信フレームによって示される読出し元のサーバにかかる負荷が所定の閾値より大きい場合には、該サーバがデータ読出し通信を実行せず、該サーバとのネゴシエーションが失敗する。
【０１８７】
ＯＰ７１において、変換対象である受信フレームによって示される読出し元のサーバの代替が可能なクライアント端末が存在しない場合には（ＯＰ７１：Ｎｏ）、処理がＯＰ７７に進み、オリジナルのデータ要求先であるサーバに対してネゴシエーションが行われる。
【０１８８】
（なりすまし通信のフレームが受信された場合の処理）
図１３は、スイッチ１が、なりすまし通信のフレームを受信した場合の処理のフローの例を示す図である。受信フレームの宛先及び送信元のＭＡＣアドレス，ＩＰアドレス等の組み合わせが、仮想クライアント通信テーブル１２５又は仮想サーバ通信テーブル１２６に合致した場合に、なりすまし通信のフレームであることが判定される。
【０１８９】
受信フレームが仮想クライアント通信テーブル１２５のレコードに合致する場合には（ＯＰ９１：Ｙｅｓ）、制御部１１１は、仮想クライアント部１１２に受信フレームを出力する。仮想クライアント部１１２は、受信フレームを処理し、クライアント端末になりすまして行われる処理が終了した場合には（ＯＰ９２：Ｙｅｓ）、仮想クライアント通信テーブル１２５から該当レコードを削除する（ＯＰ９３）。クライアント端末になりすまして行われる処理が終了していない場合には（ＯＰ９２：Ｎｏ）、仮想クライアント部１１２は、継続してクライアント端末になりすましてファイルサーバ２又は代替サーバとの通信を行う（ＯＰ９４）。仮想クライアント部１１２は、例えば、変換情報テーブル１２３のレコードを生成するために必要な情報を取得すると、クライアント端末になりすます処理の終了を判定する。
【０１９０】
受信フレームが仮想サーバ通信テーブル１２６のレコードに合致する場合には（ＯＰ９１：Ｎｏ）、制御部１１１は、仮想サーバ部１１３に受信フレームを出力する。仮想サーバ部１１３は、受信フレームを処理し、ファイルサーバ２になりすまして行われる処理が終了した場合には（ＯＰ９５：Ｙｅｓ）、仮想サーバ部１１３は、仮想サーバ通信テーブル１２６から該当レコードを削除する（ＯＰ９６）。ファイルサーバ２になりすます処理が終了していない場合には（ＯＰ９５：Ｎｏ）、仮想サーバ部１１３は、継続してファイルサーバ２になりすましてクライアント端末との通信を行う（ＯＰ９７）。
【０１９１】
＜＜動作例＞＞
図１４は、図１に示されるデータ配信ネットワークシステムにおけるスイッチ１の動作例を示す図である。図１４では、クライアント端末３０がファイルサーバ２からファイルＡを読み出す通信の進行中に、ファイルサーバ２への負荷の増大によって、該通信が、クライアント端末１０からファイルＡを読み出す通信に変換される例について示される。図１４に示される例において、ファイルサーバ２は、既に複数のクライアント端末とファイルＡの読出しの通信を行っているものとする。図１４に示される例において、クライアント端末１０は、ファイルＡをファイルサーバ２から読み出し済みであり、該通信はスイッチ１の通信情報記録テーブル１２２に記録されているものとする。また、ファイルサーバ２，クライアント端末１０の何れも、登録要求及び更新要求の代替要求フレームを送信していないとする。
【０１９２】
クライアント端末３０は、ファイルサーバ２に対して、ファイルＡの読出しの通信を開始する。クライアント端末３０は、ファイルサーバ２に対してネゴシエーションを開始する（Ｓ１）。
【０１９３】
ファイルサーバ２に対するネゴシエーションのフレームをスイッチ１が受信する。受信されたフレームは、例えば、ＳＭＢなどのデータ読出しの通信に用いられるプロトコルのフレームであり記録対象として定義されているので、スイッチ１は、受信したフレームが記録対象のフレームであると判定する（図９、ＯＰ２４：Ｙｅs）。ファイルサーバ２から登録要求又は更新要を示す代替要求フレームは受信されていないので、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドがファイルサーバ２のＭＡＣアドレスに一致するレコードの「代替要求フラグ」は「０」である（図１１Ａ、ＯＰ４１：Ｎｏ）。また、このときの受信フレームは最終データに対する受信完了応答ではないので（図１１Ａ、ＯＰ４６：Ｎｏ）、スイッチ１は、記録対象である受信フレームから得られる情報からレコードを生成し、通信情報記録テーブル１２２に追加する（図１１Ａ、ＯＰ４９）。このとき生成される通信情報記録テーブル１２２のレコードは、「クライアントＭＡＣアドレス」がクライアント端末３０のＭＡＣアドレス、「サーバＭＡＣアドレス」がファイルサーバ２のＭＡＣアドレス、「クライアントＩＰアドレス」がクライアント端末３０のＩＰアドレス、「サーバＩＰアドレス」がファイルサーバ２のＩＰアドレス、「クライアントファイルパス」がクライアント端末３０内の対象ファイルの保存先パス、「サーバファイルパス」がファイルサーバ２内の対象ファイルの保存場所を示すパス、「通信終了フラグ」が「０」である。スイッチ１は、受信したファイルサーバ２に対するネゴシエーションのフレームをファイルサーバ２に中継する（Ｓ２、図１１Ａ、ＯＰ４８）。
【０１９４】
ファイルサーバ２は、スイッチ１によって中継されたネゴシエーションのフレームを受信すると、受信されたネゴシエーションに対する応答のフレームをクライアント端末３０に送信する（Ｓ３）。
【０１９５】
クライアント端末３０へのファイルサーバ２からのネゴシエーションに対する応答のフレームをスイッチ１が受信する。このときの受信フレームも、記録対象のフレームであるため、スイッチ１は、Ｓ２と同様の処理を行い、受信フレームをクライアント端末３０に中継する（Ｓ４）。
【０１９６】
なお、図１４に示される例では、簡略化されているが、実際には、Ｓ１からＳ４のネゴシエーションがクライアント端末３０とファイルサーバ２との間で何度も繰り返される。このネゴシエーションにおいて、ファイルサーバ２におけるファイルＡのパス，ファイルＩＤの割り当てなどの情報がやり取りされ、ファイルサーバ２とクライアント端末３０との事前処理が終了する。
【０１９７】
クライアント端末３０とファイルサーバ２との間で、ファイルＡを読み出すための事前処理が終了すると、クライアント端末３０は、ファイルサーバ２に対して、ファイルＡの読出し要求を送信する（Ｓ５）。
【０１９８】
スイッチ１は、Ｓ２と同様にして、クライアント端末３０からファイルサーバ２へのファイルＡのデータ要求を中継する（Ｓ６）。
【０１９９】
クライアント端末３０からのファイルＡの読出し要求を受信すると、ファイルサーバ２は、ファイルＡのデータを分割し、所定サイズのデータを何度かに分けて送信する（Ｓ７）。この時点では、ファイルＡのデータは、一部しかクライアント端末３０に送信されないものとする。
【０２００】
スイッチ１は、Ｓ２と同様にして、クライアント端末３０にファイルサーバ２から送信されるファイルＡのデータを中継する（Ｓ８）。
【０２０１】
図１４において、ファイルサーバ２は、クライアント端末３０以外の複数のクライアント端末との通信による負荷の増大により、通信変換処理を要求する登録要求を示す代替要求フレームをスイッチ１に送信する（Ｓ９）。このとき、例えば、代替要求フレームが図６に示されるＰＡＵＳＥフレームで定義されている場合には、「代替要求コード」フィールドの値が「０ｘ０１」に設定されたＰＡＵＳＥフレームが送信される。このフレームを受信すると、スイッチ１は、受信フレームが代替要求フレームであることを判定する（図９、ＯＰ２１：Ｙｅｓ）。受信フレームは、ファイルサーバ２からの登録要求を示す代替要求フレームであるので、スイッチ１は、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドがファイルサーバ２のＭＡＣアドレスに一致するレコードの「代替要求フラグ」フィールドの値を「１」にする（図１０、ＯＰ３５）。
【０２０２】
その後、Ｓ７におけるファイルサーバ２からのデータ送信に対する受信完了応答を、クライアント端末３０がファイルサーバ２に送信したと想定する（Ｓ１０）。
【０２０３】
クライアント端末３０が送信した受信完了応答は、ファイルサーバ２に届く前に、スイッチ１によって受信される。受信フレームは、例えば、ＳＭＢの受信完了応答であるので、スイッチ１は、受信フレームは記録対象のフレームであると判定する（図９、ＯＰ２４：Ｙｅｓ）。スイッチ１はファイルサーバ２から登録要求の代替要求フレームを受信しているので、装置情報テーブル１２１の「ＭＡＣアドレスフィールド」がファイルサーバ２のＭＡＣアドレスと一致するレコードの「代替要求フラグ」フィールドの値は「１」である（図１１Ａ、ＯＰ４１：Ｙｅｓ）。スイッチ１は、ファイルサーバ２になりすまして、クライアント端末３０からファイルＡの情報を取得する（Ｓ１１、Ｓ１２，図１１Ａ、ＯＰ４３）。このとき、クライアント端末３０にとっては、ファイルサーバ２と通信を行っているように見える。
【０２０４】
スイッチ１は、代替サーバとしてクライアント端末１０を選択したと想定する（図１１Ａ、ＯＰ４４：Ｙｅｓ）。スイッチ１は、代替サーバとして選択されたクライアント端末１０に対してクライアント端末３０になりすましてネゴシエーションを行う（Ｓ１３、図１１Ｂ、ＯＰ５１）。クライアント端末１０は、スイッチ１からのネゴシエーションに対する応答を送信する（Ｓ１４）。このとき、クライアント端末１０にとっては、クライアント端末３０とネゴシエーションを行っているように見える。
【０２０５】
代替サーバであるクライアント端末１０とのネゴシエーションが成功すると（図１１Ｂ、ＯＰ５２：Ｙｅｓ）、スイッチ１は、変換情報テーブル１２３のレコードを生成して追加する（図１１Ｂ、ＯＰ５３）。生成される変換情報テーブル１２３のレコードは、クライアント端末３０からファイルサーバ２に対するファイルＡの読出しの通信をクライアント端末１０に対するファイルＡの読出しの通信に変換するためのレコードである。例えば、図８に示される変換情報テーブル１２３の例で示されるレコードが生成されたとする。
【０２０６】
スイッチ１は、Ｓ１０において受信されたクライアント端末３０からファイルサーバ２への受信完了応答を、変換情報テーブル１２３に従って、代替サーバであるクライアント端末１０への受信完了応答に変換して送信する（Ｓ１５、図１１Ｂ、ＯＰ５４）。Ｓ１０においてスイッチ１によって受信されるクライアント端末３０からファイルサーバ２への受信完了応答は、「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「ファイルＡの読出し元のパス」等のフィールドの値が、いずれもファイルサーバ２を示す。スイッチ１は、例えば、図８に示される変換情報テーブル１２３にしたがって、該受信完了応答の、「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「ファイルＡの読出し元のパス」等のフィールドの値を代替サーバであるクライアント端末１０を示すように書き換える。
【０２０７】
クライアント端末１０は、スイッチ１によって変換された受信完了応答を受信すると、ファイルＡの続きのデータから順に、分割して、何回かに分けてクライアント端末３０に送信する（Ｓ１６）。
【０２０８】
スイッチ１は、代替サーバであるクライアント端末１０から送信されるファイルＡのデータを受信する。このときの受信フレームの「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「読出し先のファイルパス」は、いずれもクライアント端末３０を示す。また、受信フレームの、「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，「送信元ポート番号」，「読出し先のファイルパス」，及び「ファイルＩＤ」は、いずれも、代替サーバであるクライアント端末１０を示す。スイッチ１は、例えば、受信フレームが図８に示される変換情報テーブルのレコードに合致するので、受信フレームは変換対象のフレームであると判定する（図９、ＯＰ２３：Ｙｅｓ）。受信フレームは代替サーバであるクライアント端末１０から送信されたフレームであるので（図１２Ａ、ＯＰ６１：Ｙｅｓ）、スイッチ１は、変換情報テーブル１２３に従って、受信フレームを変換してクライアント端末３０に送信する（Ｓ１７、図１２、ＯＰ６２）。スイッチ１は、例えば、図８に示される変換情報テーブル１２３のレコードに従って、受信フレームの「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，「送信元ポート番号」，「読出し元ファイルパス」，「ファイルＩＤ」を等のフィールドの値を、それぞれ代替サーバであるクライアント端末１０からファイルサーバ２のものに書き換える。
【０２０９】
Ｓ１６において、代替サーバであるクライアント端末１０からファイルＡの最終データが送信されたとすると、クライアント端末３０は、最終データに対する受信応答完了をファイルサーバ２に送信する（Ｓ１８）。
【０２１０】
クライアント端末３０からファイルサーバ２に送信された最終データに対する受信応答完了は、スイッチ１によって受信される。受信フレームの、「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「読出し元ファイルパス」，「ファイルＩＤ」等のフィールドの値は、いずれもファイルサーバ２のものが示される。また、受信フレームの、「送信元ＭＡＣアドレス」，「送信元ＩＰアドレス」，「送信元ポート番号」，「読出し先ファイルパス」等のフィールドの値は、いずれも、クライアント端末３０のものが示される。したがって、スイッチ１は、例えば、受信フレームが図８に示される変換情報テーブルのレコードに合致するので、受信フレームを変換対象と判定する（図９、ＯＰ２３：Ｙｅｓ）。
【０２１１】
受信フレームはクライアント端末３０から送信されたフレームであり（図１２Ａ、ＯＰ６１：Ｎｏ）、受信フレームに該当する変換情報テーブル１２３のレコードの「更新フラグ」フィールドは「０」である（図１２Ａ、ＯＰ６３：Ｎｏ）。スイッチ１は、変換情報テーブル１２３の該当レコードにしたがって、受信フレームを変換して送信する（Ｓ１９、図１２Ａ、ＯＰ６４）。スイッチ１は、受信フレームの、「宛先ＭＡＣアドレス」，「宛先ＩＰアドレス」，「宛先ポート番号」，「読出し元ファイルパス」，「ファイルＩＤ」等のフィールドの値をファイルサーバ２から代替サーバであるクライアント端末１０のものに変換する。
【０２１２】
また、受信フレームは最終データに対する応答である（図１２Ａ、ＯＰ６５：Ｙｅｓ）。したがって、スイッチ１は、受信フレームに該当する通信情報記録テーブル１２２のレコードの「通信完了フラグ」フィールドの値を「１」に更新する（図１２、ＯＰ６６）。このとき更新される通信情報記録テーブル１２２のレコードは、「サーバ」をファイルサーバ２、「クライアント」をクライアント端末３０とするレコード、すなわち、受信フレームによって示される通信に該当するレコードである。また、スイッチ１は、変換情報テーブル１２３から変換前の受信フレームに該当するレコードを削除する（図１２Ａ、ＯＰ６７）。このとき削除される変換情報テーブル１２３のレコードは、「クライアントＭＡＣアドレス」等のクライアントに関するフィールドの値をクライアント端末３０、「サーバＭＡＣアドレス」等のサーバに関するフィールドの値をファイルサーバ２、「代替サーバＭＡＣアドレス」等の代替サーバに関するフィールドの値をクライアント端末１０とするレコードである。変換された最終データの受信完了応答は、スイッチ１によってクライアント端末１０に送信される（図１２Ａ、ＯＰ６９）。
【０２１３】
＜＜第１実施形態の作用効果＞＞
第１実施形態において、スイッチ１は、例えば、ファイルサーバ２から通信変換処理の要求を受けると、ファイルサーバ２に対するデータの読出しの通信のデータ読出し元を、同じデータをファイルサーバ２から読み出し終わっているクライアント端末に変換する。これによって、ファイルサーバ２にかかる負荷を分散させることができ、効率的にデータ配信を行うことができる。また、スイッチ１が、例えば、クライアント端末からファイルサーバ宛てに送信されるフレームの宛先をファイルサーバ２から代替サーバに書き換えることによって、クライアント端末側からは、ファイルサーバ２と通信する場合と何ら変わりなく、データの読出し通信を行うことができる。
【０２１４】
また、第１実施形態では、スイッチの構成を変更するだけでよいので、ファイルサーバ側に設備投資を行わずに済み、ファイルサーバの二重化等を行う場合に比べて少ない費用でネットワーク全体のパフォーマンス効率を向上させることができる。
【０２１５】
＜その他＞
第１実施形態では、スイッチ１は、例えば、図１１ＡのＯＰ４４や、図１１ＢのＯＰ５５，図１２ＢのＯＰ７１及びＯＰ７６において、複数の代替サーバ候補の中から代替サーバを選択する際に、ＭＡＣアドレスの最も小さいクライアント端末を選択した。これに代えて、スイッチ１は、接続される各回線の負荷状況を判断し、負荷の大きさを判断基準として、負荷の小さい回線に接続された装置を代替サーバとして選択してもよい。
【０２１６】
また、スイッチ１に接続する各装置が、各装置のＨＤＤやＣＰＵ等の負荷状況の通知を、予め定義されたフォーマットに従ったフレームで行い、これらの情報を元に、各装置の負荷を判断基準として、負荷の小さい装置を代替サーバとして選択してもよい。この場合には、装置情報テーブル１２１を拡張して、各装置の負荷状況の情報を装置情報テーブル１２１に付加する。
【０２１７】
また、第１実施形態では、ファイルサーバ２の代替サーバとして動作するクライアント端末からデータを読み出す通信は、ファイルサーバ２から同データを読み出す通信として記録される（図１１Ａ、図１１Ｂ、図１２Ａ、図１２Ｂ参照）。これに代えて、ファイルサーバ２の代替サーバとして動作するクライアント端末からデータを読み出す通信をそのまま通信情報記録テーブル１２２に記録するようにしてもよい。
【０２１８】
第１実施形態では、クライアント端末がファイルサーバからデータを読み出す通信について変換処理が行われる例が説明された。データを読み出す通信に限られず、スイッチが解析可能なプロトコルの通信であれば、第１実施形態において説明された通信変換処理を適用することができる。
【０２１９】
また、第１実施形態では、ファイルサーバとクライアント端末との間の通信を変換することについて説明がなされたが、該当プロトコルでのサーバサービスを有していれば、クライアント端末同士の通信でも同様に通信変換処理を適用することができる。
【０２２０】
また、第１実施形態では、代替サーバとして、対象ファイルの読出しが終了しているクライアント端末が選択されたが、対象ファイルの読出し途中のクライアント端末が代替サーバとして選択されてもよい。
【０２２１】
また、第１実施形態では、スイッチ１のＣＰＵ１１がメモリ１２に保持される中継プログラム１２ｐを実行することによって、通信変換処理を行うことが説明された。これに限らず、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）などの特定処理用の電子回路として、通信変換処理を実現することも可能である。
【符号の説明】
【０２２２】
１              スイッチ
２              ファイルサーバ
１０，２０，３０，４０，５０    クライアント端末
１１            ＣＰＵ
１２            メモリ
１２ｐ          中継プログラム
１３            スイッチチップ
１４            ＰＨＹチップ
１５            インターフェース
１１１          制御部
１１２          仮想クライアント部
１１３          仮想サーバ部
１１４          変換部
１１５          装置情報管理部
１１６          通信情報管理部
１１７          変換情報生成部
１２１          装置情報テーブル
１２２          通信情報記録テーブル
１２３          変換情報テーブル
１２４          ＭＡＣテーブル
１２５          仮想クライアント通信テーブル
１２６          仮想サーバ通信テーブル
【図１】
2011148480.tif 000003
【図２】
2011148480.tif 000004
【図３】
2011148480.tif 000005
【図４】
2011148480.tif 000006
【図５】
2011148480.tif 000007
【図６】
2011148480.tif 000008
【図７】
2011148480.tif 000009
【図８】
2011148480.tif 000010
【図９】
2011148480.tif 000011
【図１０】
2011148480.tif 000012
【図１１Ａ】
2011148480.tif 000013
【図１１Ｂ】
2011148480.tif 000014
【図１２Ａ】
2011148480.tif 000015
【図１２Ｂ】
2011148480.tif 000016
【図１３】
2011148480.tif 000017
【図１４】
2011148480.tif 000018
【手続補正書】
【提出日】平成24年12月26日(2012.12.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
ＣＰＵ１１は、スイッチ１全体を管理するとともに、メモリ１２に保持される中継プログラム１２ｐを実行する。ＣＰＵ１１による中継プログラム１２ｐの実行によって、スイッチ１は、クライアント端末からのファイルサーバに対するデータ読出しの通信において中継したデータを特定する情報と該データの受信先を特定する情報と記憶部に格納する。また、スイッチ１は、ＣＰＵ１１による中継プログラム１２ｐの実行によって、記憶部に保持される情報に基づいて、クライアント端末からのデータ取得要求に対して、データの送信元を決定する。例えば、スイッチ１は、中継プログラム１２ｐの実行によって、クライアント端末からのファイルサーバに対するデータ読出しの通信を、既に対象ファイルを読出し済みのクライアント端末に対するデータ読出しの通信に変換する。以降、クライアント端末からのファイルサーバに対するデータ読出しの通信が、既に対象ファイルを読出し済みのクライアント端末に対するデータ読出しの通信に変換される処理は、通信変換処理と称される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
「操作コード」フィールドの後には、２バイトの「中断時間」フィールドが続く。「中断時間」フィールドには、ＰＡＵＳＥフレームを受信した装置にフレームの送信を中断させる時間が指定される。ＰＡＵＳＥフレームが代替要求フレームとして用いられる場合には、「中断時間」フィールドには、例えば、「０」が設定される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
図７に示される通信情報記録テーブル１２２の例の先頭のレコードでは、以下のことが
示される。まず、「クライアントＭＡＣアドレス」フィールドと「クライアントＩＰアドレス」フィールドとから、データの取得先がクライアント端末１０（ＭＡＣアドレスの末尾が「Ｃ１」)であることが示される。また、「サーバＭＡＣアドレス」フィールドと「
サーバＩＰアドレス」フィールドとから、データの取得元がファイルサーバ２（ＭＡＣアドレスの末尾が「Ｓ２」）であることが示される。また、「クライアントファイルパス」フィールドから、取得されたファイルが「ａ．ｔｘｔ」であることが示される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
スイッチ１の通信情報管理部１１６は、例えば、記録対象の受信フレームが、図２で説明された、クライアント端末からファイルサーバへ送信される、最終データに対する受信完了応答である場合に、当該通信のレコードの「通信終了フラグ」フィールドを「１」に設定する。記録対象の受信フレームが最終データに対する受信完了応答か否かは、例えば、受信フレームに含まれるオフセットアドレスやシーケンス番号（図２に対応する説明箇所参照）の値が最大になることによって判定可能である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１２５
【補正方法】変更
【補正の内容】
【０１２５】
通信インターフェース装置は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースボードや、無線通信のための無線通信回路である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１７１
【補正方法】変更
【補正の内容】
【０１７１】
制御部１１１は、変換対象に該当した変換前の受信フレームが最終データに対する受信応答であるか否かを判定する（ＯＰ６５）。変換前の受信フレームが最終データに対する応答である場合には（ＯＰ６５：Ｙｅｓ）、変換前の受信フレームによって示される対象ファイルのデータの読出しの通信の終了が示される。制御部１１１は、通信情報管理部１１６に、通信情報記録テーブル１２２の変換前の受信フレームによって示される通信に該当するレコードの「通信終了フラグ」を「１」に更新させる（ＯＰ６６）。通信情報記録テーブル１２２の変換前の受信フレームによって示される通信に該当するレコードの「通信終了フラグ」が「１」になることによって、該当レコードによって示される通信が終了したことが示される。また、制御部１１１は、変換前の受信フレームによって示される対象ファイルの読出しの通信が終了すると、この通信に該当する変換情報テーブル１２３のレコードが不要になるので、変換情報生成部１１７に、変換情報テーブル１２３の該当レコードを削除させる（ＯＰ６７）。ＯＰ６４において変換されたフレームは、スイッチチップ１３に出力され、通常のスイッチ処理によりスイッチ１から出力される（ＯＰ６９）。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１７３
【補正方法】変更
【補正の内容】
【０１７３】
ＯＰ６３において、受信フレームに該当する変換情報テーブル１２３のレコードの「更新フラグ」フィールドが「１」である場合には（ＯＰ６３：Ｙｅｓ）、代替サーバであるクライアント端末から更新要求を受信しており、代替サーバからのデータの読出しができないことが示される。制御部１１１は、変換情報テーブル１２３の該当レコードの代替サーバの他に、受信フレームによって示されるデータ読出し元であるサーバの代替が可能な端末があるか否かを判定する（ＯＰ７１）。すなわち、制御部１１１は、新たに代替サーバを選択する。このときの処理は、ＯＰ４４、ＯＰ５５と同様にして行われる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１９３
【補正方法】変更
【補正の内容】
【０１９３】
ファイルサーバ２に対するネゴシエーションのフレームをスイッチ１が受信する。受信されたフレームは、例えば、ＳＭＢなどのデータ読出しの通信に用いられるプロトコルのフレームであり記録対象として定義されているので、スイッチ１は、受信したフレームが記録対象のフレームであると判定する（図９、ＯＰ２４：Ｙｅs）。ファイルサーバ２か
ら登録要求又は更新要求を示す代替要求フレームは受信されていないので、装置情報テーブル１２１の「ＭＡＣアドレス」フィールドがファイルサーバ２のＭＡＣアドレスに一致するレコードの「代替要求フラグ」は「０」である（図１１Ａ、ＯＰ４１：Ｎｏ）。また、このときの受信フレームは最終データに対する受信完了応答ではないので（図１１Ａ、ＯＰ４６：Ｎｏ）、スイッチ１は、記録対象である受信フレームから得られる情報からレコードを生成し、通信情報記録テーブル１２２に追加する（図１１Ａ、ＯＰ４９）。このとき生成される通信情報記録テーブル１２２のレコードは、「クライアントＭＡＣアドレス」がクライアント端末３０のＭＡＣアドレス、「サーバＭＡＣアドレス」がファイルサーバ２のＭＡＣアドレス、「クライアントＩＰアドレス」がクライアント端末３０のＩＰアドレス、「サーバＩＰアドレス」がファイルサーバ２のＩＰアドレス、「クライアントファイルパス」がクライアント端末３０内の対象ファイルの保存先パス、「サーバファイルパス」がファイルサーバ２内の対象ファイルの保存場所を示すパス、「通信終了フラグ」が「０」である。スイッチ１は、受信したファイルサーバ２に対するネゴシエーションのフレームをファイルサーバ２に中継する（Ｓ２、図１１Ａ、ＯＰ４８）。
【国際調査報告】
2011148480.tif 000019
2011148480.tif 000020