(57)【要約】【課題】中継装置間のトラフィック量を抑制する。【解決手段】第１装置から第２装置にデータを転送する中継装置であって、中継装置は、第１格納部と、第２格納部と、抽出部と、処理部と、編集部と、転送部とを備える。第１格納部は、第１装置から受信したデータを格納する。抽出部は、第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出する。処理部は、今回受信したデータを第１格納部に格納させる処理と、抽出部で抽出された重複パターンに識別子を関連付けて第２格納部に格納させる処理とを行なう。編集部は、第２格納部に格納された重複パターンを含むデータを第１装置から受信したとき、データに含まれる重複パターンを、重複パターンに関連付けられた識別子に置き換えた編集データに、データを編集する。転送部は、編集部で編集された編集データを第２装置に転送する。【選択図】図２
2015082296.tif 000002
【特許請求の範囲】
【請求項１】
第１装置から第２装置にデータを転送する中継装置であって、
前記第１装置から受信したデータを格納する第１格納部と、
第２格納部と、
前記第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出する抽出部と、
前記今回受信したデータを前記第１格納部に格納させる処理と、前記抽出部で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納させる処理とを行なう処理部と、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに、前記データを編集する編集部と、
前記編集部で編集された編集データを前記第２装置に転送する転送部と、
を備えることを特徴とする中継装置。
【請求項２】
前記中継装置は、さらに、
前記第２装置から受信したデータのうち、前記第２格納部に格納された識別子を含む編集データがある場合に、前記編集データに含まれる識別子を、前記識別子に関連付けられた重複パターンに置き換えて、前記編集データから編集前の元データを復元する復元部を備える、
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記転送部は、さらに、
前記抽出部で抽出された重複パターンと、前記重複パターンに関連付けられた識別子とを含むデータを前記第２装置に送信する
ことを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記抽出部は、さらに、
前記編集部が前記データを前記編集データに編集する時間と、前記復元部が前記編集データを前記データに復元する時間との合計時間が、前記重複パターンの転送時間よりも短くなるサイズ以上の重複パターンを抽出する
ことを特徴とする請求項２記載の中継装置。
【請求項５】
前記転送部は、前記重複パターンと前記識別子とを含むデータを前記第２装置に送信し、
前記編集部は、該データの送信に対する返信データを前記第２装置から受信すると、前記第２装置に送信した前記重複パターンと前記識別子とについて、編集処理での利用を開始する
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の中継装置。
【請求項６】
前記処理部は、さらに、
前記第２装置から重複パターンと識別子とを含むデータを受信したとき、該受信したデータに含まれる重複パターンと識別子とを関連付けて前記第２格納部に格納させる処理をする
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載の中継装置。
【請求項７】
コンピュータによって実行される中継方法であって、
前記コンピュータは、
第１装置から受信したデータを格納する第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出し、
前記今回受信したデータを前記第１格納部に格納し、
前記抽出する処理で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納し、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに編集し、
前記編集データを第２装置に転送する
ことを実行する中継方法。
【請求項８】
第１装置から受信したデータを格納する第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出し、
前記今回受信したデータを前記第１格納部に格納し、
前記抽出する処理で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納し、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに編集し、
前記編集データを第２装置に転送する
処理をコンピュータに実行させることを特徴とする中継プログラム。
【請求項９】
第１装置から第１中継装置を介して第２中継装置にデータを転送する中継システムであって、
第１中継装置は、
前記第１装置から受信したデータを格納する第１格納部と、
第２格納部と、
前記第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出する抽出部と、
前記今回受信したデータを前記第１格納部に格納させる処理と、前記抽出部で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納させる処理とを行なう第１処理部と、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに、前記データを編集する編集部と、
前記重複パターンと前記重複パターンに関連付けられた識別子とを含むデータと、前記編集部で編集された編集データとを前記第２中継装置に送信する第１転送部と、
を備え、
前記第２中継装置は、
第３格納部と、
前記第１中継装置から受信したデータのうち、重複パターンと重複パターンに関連付けられた識別子とを含むデータがある場合に、前記受信した重複パターンと識別子とを関連付けて前記第３格納部に格納させる処理を行なう第２処理部と、
前記第１中継装置から受信したデータのうち、前記第３格納部に格納された識別子を含む編集データがある場合に、前記編集データに含まれる識別子を、前記識別子に関連付けられた重複パターンに置き換えて、前記編集データから編集前の元データを復元する復元部と、
を備えることを特徴とする中継システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信の中継を行なう技術に関する。
【背景技術】
【０００２】
ストレージシステムにおいて、サーバとストレージとの間で通信をするとき、ファイバーチャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）を用いてＦＣフレームの転送を制御するファイバチャネルスイッチが実用化されている。ＦＣフレームとは、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌフレームの略である。以下の説明では、ＦＣフレームのことをフレームとも言う。また、ファイバチャネルスイッチのことを中継装置とも言う。
【０００３】
中継装置は、サーバから送信データを受信すると、受信した送信データに含まれる宛先を参照し、参照した宛先が示すストレージにデータを転送する。
【０００４】
関連する他の技術として、ストレージシステムは、ストレージサーバと、アクセラレータサーバと、を備える。ストレージサーバは、アクセラレータサーバからの重複確認要求に応じて、ブロックデータが記憶装置に格納されているか否かをアクセラレータサーバに返送する。また、アクセラレータサーバは、ストレージサーバに対して、一部のブロックデータの内容識別データを送信して重複確認要求を行い、重複確認結果に応じて、全てのブロックデータを送信する全ブロック送信処理、あるいは、全てのブロックデータの各内容識別データを送信して重複確認要求を行い、記憶されていないブロックデータをストレージサーバに送信する一部ブロック送信処理、のいずれかを実行する技術が知られている。
【０００５】
また、関連する他の技術として、ホストと、このホストによってアクセス可能なメディアとをインタフェース可能なインタフェース部を含むデータ転送システムがある。インタフェース部は、記憶部と、制御部を備える。そして、記憶部は、ホストからメディアに書き込まれるデータ、又はメディアから読み出されたデータを保持する。制御部は、データ書込みの場合、ホストからメディアへのアクセスにかかるデータが記憶部に存在するとき、メディアへの重複データ書込みを省略する。また、制御部は、データ読み出しの場合、ホストからメディアへのアクセスにかかるデータが記憶部に存在するとき、記憶部のデータを使用することによりメディアからの読み出し動作を省略する技術が知られている（例えば、特許文献１、および特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１７５４２１号公報
【特許文献２】特開２００６−５９２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述した通信技術の中継装置は、例えば、中継装置間のルートの帯域に余裕がないとき、トラフィック量が増加すると、中継装置間の通信がボトルネックとなり、装置間の通信速度が低下するという問題がある。
【０００８】
本発明は、一側面として、中継装置間のトラフィック量を抑制する技術を提供する。
【課題を解決するための手段】
【０００９】
本明細書で開示する中継装置のひとつに、第１装置から第２装置にデータを転送する中継装置であって、第１格納部と、第２格納部と、抽出部と、処理部と、編集部と、転送部とを備える中継装置がある。抽出部は、第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出する。処理部は、今回受信したデータを第１格納部に格納させる処理と、抽出部で抽出された重複パターンに識別子を関連付けて第２格納部に格納させる処理とを行なう。編集部は、第２格納部に格納された重複パターンを含むデータを第１装置から受信したとき、データに含まれる重複パターンを、重複パターンに関連付けられた識別子に置き換えた編集データに、データを編集する。転送部は、編集部で編集された編集データを第２装置に転送する。
【発明の効果】
【００１０】
１実施態様によれば、中継装置間のトラフィック量を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】中継システムの一実施例を示す図である。
【図２】中継装置の一実施例を示す機能ブロック図である。
【図３】設定情報の一例を示す図である。
【図４】ＦＣフレームの一例を示す図である。
【図５】ペイロード情報の一例を示す図である。
【図６】重複パターンの抽出処理を説明する図である。
【図７】重複情報の一例を示す図である。
【図８】データの編集処理とデータの復元処理とを説明する図である。
【図９】拡張ヘッダに格納される情報の一例を示す図である。
【図１０】編集前のＦＣフレームと編集後のＦＣフレームとの一例を示す図である。
【図１１】重複情報の同期処理の一例を説明する図である。
【図１２】送信元の中継装置の処理を示すフローチャート（その１）である。
【図１３】送信元の中継装置の処理を示すフローチャート（その２）である。
【図１４】送信元の中継装置の処理を示すフローチャート（その３）である。
【図１５】送信先の中継装置の処理を示すフローチャート（その１）である。
【図１６】送信先の中継装置の処理を示すフローチャート（その２）である。
【図１７】送信先の中継装置の処理を示すフローチャート（その３）である。
【図１８】コンピュータ装置の一実施例を示すブロック図である。
【発明を実施するための形態】
【００１２】
［実施形態］
実施形態の中継装置について説明する。
【００１３】
図１は、中継システムの一実施例を示す図である。
図１を参照して、ストレージシステムで利用される中継システムについて説明する。
【００１４】
中継システム１００は、例えば、中継装置１と、サーバ２と、ストレージ３と、通信線４と、ネットワーク５とを備える。また、図１に示すように、各装置は、それぞれ通信線４やネットワーク５に通信接続するためのポートＰ１〜Ｐ１３を備える。ここで、通信線４とは、例えば、同軸ケーブルや光ファイバーである。
【００１５】
中継システム１００では、中継装置１が１以上のサーバ２やストレージ３と通信線４により接続される。さらに、中継装置１は、他の中継装置１と、ネットワーク５を介して接続される。なお、中継装置１と他の中継装置１との接続は、ネットワーク５に限定されるものではなく、通信線４により接続されても良い。
【００１６】
ここで、従来技術の問題点について説明する。以下の説明では、ネットワーク５の帯域は、通信線４の帯域よりも狭いものとする。
【００１７】
中継システム１００では、サーバ２ｃからストレージ３ａにフレームを送信するとき、通信線４ｃと、中継装置１ａと、ネットワーク５と、中継装置１ｂと、通信線４ｄとを介してフレームを送信する。そして、上述のように、ネットワーク５の帯域は、通信線４の帯域よりも狭い。よって、サーバ２ｃとストレージ３ａとの間の通信速度は、ネットワーク５の帯域に依存する。したがって、中継システム１００では、サーバ２ｃから送信されるフレームのトラフック量が増加してくると、ネットワーク５の帯域の不足が通信速度に対するボトルネックになることがある。なお、中継システム１００において、ネットワーク５における通信には、ＦＣＩＰ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  ＩＰ）を用いても良い。
【００１８】
ここで、中継システム１００において、中継装置１ａと中継装置１ｂとの間の通信接続手段にネットワーク５に代えて、図示しない通信線６を用いた場合を考える。以下の説明では、通信線６の帯域は、各通信線４の帯域と同程度であるものとする。
【００１９】
中継システム１００では、サーバ２ｃからストレージ３ａにフレームを送信するとき、通信線４ｃと、中継装置１ａと、通信線６と、中継装置１ｂと、通信線４ｄとを介してフレームを送信する。また、中継システム１００では、サーバ２ａからストレージ３ａにフレームを送信するとき、通信線４ａと、中継装置１ａと、通信線６と、中継装置１ｂと、通信線４ｄとを介してフレームを送信する。したがって、サーバ２ｃからストレージ３ａへのフレーム送信と、サーバ２ａからストレージ３ａへのフレーム送信とが同時に行われると、通信線６にトラフィックが集中する。そして、上述のように、通信線６の帯域は、通信線４の帯域と同程度である。したがって、中継システム１００では、各サーバ２から送信されるフレームのトラフィック量が増加してくると、通信線６の帯域の不足が通信速度に対するボトルネックになることがある。
【００２０】
図２は、中継装置の一実施例を示す機能ブロック図である。
図２を参照して、中継装置１について説明する。
【００２１】
中継装置１は、例えば、制御部１０と、記憶部２０と、送受信部３０とを備える。中継装置１は、例えば、後述するコンピュータ装置である。
【００２２】
制御部１０は、抽出部１１と、処理部１２と、編集部１３と、復元部１４と、転送部１５とを含む。記憶部２０は、設定情報２１を記憶する設定情報格納部２０aと、ペイロード情報２２を記憶するペイロード情報格納部２０b（第１格納部）と、重複情報２３を記憶する重複情報格納部２３c（第２格納部）とを含む。また、送受信部３０は、受信部３１と、送信部３２とを含む。
【００２３】
抽出部１１は、過去にペイロード情報２２に格納されたペイロード（データ）と、今回受信部３１で受信したフレームに含まれるペイロードとの一致部分である重複パターンを抽出する。
【００２４】
また、抽出部１１は、編集部１３がペイロードを編集データに編集する時間と、復元部１４が編集データをペイロードに復元する時間との合計時間が、重複パターンの転送時間よりも短くなるサイズ以上の重複パターンを抽出する。ここで、編集データとは、ペイロードに含まれる重複パターン以外のデータである重複外データに、重複パターンを識別するパターン識別子（識別子）を付与したデータである。また、編集データは、パターン識別子を含む拡張ヘッダを重複外データに付与したデータでも良い。
【００２５】
処理部１２は、受信部３１で今回受信したペイロードをペイロード情報に格納させる処理をする。また、処理部１２は、重複パターンが抽出部１１で抽出されたとき、パターン識別子を生成し、各重複パターンにそれぞれパターン識別子を関連付けて重複情報２３に格納させる処理をする。ここで、パターン識別子は、重複情報２３に格納される各重複パターンに別々の識別子を割り当てられるように生成されるものである。
【００２６】
また、処理部１２は、受信部３１が、送信元の中継装置から重複パターンとパターン識別子とを含むデータを受信したとき、受信部３１で受信された重複パターンとパターン識別子とを関連付けて重複情報２３に格納させる処理をする。一例として、中継装置１ａから中継装置１ｂに重複パターンとパターン識別子とが送信されたとき、中継装置１ｂは、中継装置１ａから受信した重複パターンとパターン識別子とを、中継装置１ｂが備える重複情報２３に格納する。
【００２７】
さらに、処理部１２は、受信部３１が、重複パターンのサイズと重複パターンがある位置を示す位置情報とを含むデータを送信元の中継装置１から受信したとき、位置情報の示す位置から重複パターンのサイズが示す大きさの重複パターンを取得する。
【００２８】
編集部１３は、受信部３１が、重複情報２３に格納された重複パターンを含むペイロードを送信元の装置から受信したとき、ペイロードに含まれる重複パターンを、重複情報２３において、重複パターンに関連付けられたパターン識別子に置き換える。そして、編集部１３は、パターン識別子を含む拡張ヘッダを生成し、生成した拡張ヘッダを重複外データに付与しても良い。これにより、編集部１３は、ペイロードをパターン識別子を含む編集データに編集する。なお、送信元の装置とは、例えば、サーバ２やストレージ３などである。
【００２９】
また、編集部１３は、受信部３１が、送信先の中継装置１に送信した重複パターンとパターン識別子とを含むデータに対する返信データを受信したとき、送信した重複パターンとパターン識別子とについて、編集処理での利用を開始する。
【００３０】
一例として、重複情報２３に格納されている重複パターンの検出回数が閾値以上となったとき、転送部１５は、送信部３２を制御して、パターン識別子などを付与した、重複パターンを含む要求データを送信先の中継装置１に送信させる。
【００３１】
そして、編集部１３は、受信部３１が、送信した要求データに対する返信データを受信したとき、送信した重複パターンとパターン識別子とについて、編集処理での利用を開始する。すなわち、編集部１３は、要求データに対する返信データを受信すると、送信先の中継装置１に送信した重複情報２３の情報が格納され、中継装置間の重複情報２３の同期がとれたものと判定する。
【００３２】
ここで、要求データとは、例えば、サーバ２からストレージ３への書き込み要求、または読み出し要求をするデータでも良い。返信データとは、例えば、要求データが書き込み要求であるとき、送信先のストレージ３、または送信先の中継装置１から送信される書き込み完了を通知するデータでも良い。要求データが書き込み要求であるとき、返信データには、例えば、送信先のストレージ３から送信されるステータスフレームを用いても良い。また、返信データとは、例えば、要求データが読み出し要求であるとき、送信先のストレージ３、または送信先の中継装置１から送信される読み出し完了を通知するデータでも良い。
【００３３】
そして、編集部１３は、重複パターンをパターン識別子に置き換えるとき、ペイロードの中の重複パターンの位置を示す位置情報を編集データに含ませる。ここで、位置情報とは、例えば、ペイロードの先頭から何ビット目に重複パターンが存在するのかを示すオフセット情報でも良い。
【００３４】
さらに、編集部１３は、編集処理をするとき、編集処理で使用される頻度が高い重複パターンから順に、ペイロードに重複パターンが含まれるか否かを検索する。また、重複情報２３がバッファに格納されている場合、処理部１２は、重複情報２３に格納されている重複パターンを、編集部１３による編集処理で使用される頻度が高い重複パターンから順に並べる処理をしても良い。そして、編集部１３は、重複情報２３がバッファに格納されているとき、バッファの先頭に格納された重複パターンから順に、ペイロードに重複パターンが含まれるか否かを検索しても良い。これにより、編集部１３は、編集処理で使用される頻度が高い重複パターンから順に、ペイロードに重複パターンが含まれるか否かを検索しても良い。
【００３５】
編集部１３は、ペイロードに重複パターンが含まれるか否かを検索するとき、１つ重複パターンが検出した時点で検索処理を終了し、検出された重複パターンを用いて編集処理をしても良い。以下の説明では、編集部１３が１つ重複パターンを検出した時点で検索処理を終了するものとして説明する。
【００３６】
ただし、編集部１３は、ペイロードに含まれる複数の重複パターンを検出し、最もサイズの大きい重複パターンを用いて編集処理をしても良い。また、編集部１３は、ペイロードに含まれる複数の重複パターンを検出し、全ての重複パターンを用いて編集処理をしても良い。
【００３７】
復元部１４は、受信部３１が、重複情報２３に格納された識別子を含む編集データを送信元の中継装置１から受信したとき、編集データに含まれるパターン識別子を、パターン識別子に関連付けられた重複パターンに置き換える処理をする。これにより、復元部１４は、編集データから編集前の元データを復元する。
【００３８】
また、復元部１４は、受信部３１が、送信先の装置に送信したデータに対する返信データを受信すると、そのデータに付与されていた重複パターンとパターン識別子とについて復元処理での利用を開始する。
【００３９】
一例として、受信部３１は、送信元の中継装置１からパターン識別子と重複パターンのサイズと位置情報などが付与された重複パターンを含む要求データを受信する。すると、処理部１２は、ペイロードの中の位置情報が示す位置から重複パターンのサイズ分のデータを取得し、取得したデータを重複パターンとして、パターン識別子に関連付けて重複情報２３に格納させる。さらに、転送部１５は、受信部３１が受信した要求データを送信先の装置に送信する。その後、復元部１４は、受信部３１が送信先の装置から送信した要求データに対する返信データを受信すると、重複情報２３に格納した重複パターンとパターン識別子とについて、復元処理での利用を開始する。
【００４０】
さらに、復元部１４は、編集データに含まれるパターン識別子を重複パターンに置き換えるとき、位置情報の示す位置に重複パターンを挿入し、編集データから編集前の元データを復元する。
【００４１】
転送部１５は、送信部３２を制御して、編集部１３で編集された編集データを送信先の中継装置１に転送させ、さらに復元部１４で復元されたデータを送信先の装置に転送させる。
【００４２】
また、転送部１５は、送信部３２を制御して、抽出部１１で抽出された重複パターンと、処理部１２によって重複パターンに関連付けられたパターン識別子とを含むデータを送信先の中継装置１に送信させる。このとき、転送部１５は、送信部３２を制御して、送信元の中継装置１からパターン識別子と重複パターンのサイズと重複パターンがある位置を示す位置情報と重複パターンとを含むデータを送信先の中継装置１に送信させても良い。
【００４３】
設定情報２１は、図３に示すように、ペイロード格納閾値と、サイズ閾値と、検出回数閾値と、重複格納閾値とを含む。なお、図３に示すペイロード情報２２に格納されている値は、一例であり、中継装置１の処理能力や通信線４とネットワーク５の帯域に応じて適宜設定しても良い。
【００４４】
ペイロード格納閾値は、ペイロード情報２２に格納するペイロードの数の上限値を示す。処理部１２は、例えば、ペイロード情報２２にペイロードを格納するとき、ペイロード情報２２に格納されているペイロード格納閾値以上のペイロードがペイロード情報２２に格納されていると、所定のペイロードを削除する。所定のペイロードとは、例えば、ペイロード情報２２に格納されているペイロードの中で最初に格納されたペイロードでも良い。また、所定のペイロードとは、例えば、抽出部１１に重複パターンが抽出される頻度が低いペイロードの中（例えば、下位から３つなど）で、最も先に重複情報２３に格納された重複パターンでも良い。
【００４５】
サイズ閾値は、抽出部１１が抽出する重複パターンの最小サイズを示す。抽出部１１は、例えば、ペイロードから重複パターンを抽出するとき、サイズ閾値以上のサイズを持つ重複パターンを抽出する。サイズ閾値は、例えば、編集部１３がペイロードを編集データに編集する時間と、復元部１４が編集データをペイロードに復元する時間との合計時間が、重複パターンの転送時間よりも短くなるように設定される。すなわち、サイズ閾値は、編集部１３によりパターン識別子に置き換えられる重複パターンが短いと、重複パターンをそのまま転送するよりも、編集処理と復元処理とを行う方が長くなり、通信速度が遅くなることを防止するために設定される。
【００４６】
抽出回数閾値は、抽出部１１により同じ重複パターンが何回抽出されると、その重複パターンを編集処理や復元処理に利用するのかを示す情報である。抽出回数閾値は、編集部１３が重複する可能性が高い重複パターンを選択的に編集処理や復元処理で利用するために設定される。一例として、抽出回数閾値が３回である場合、編集部１３は、抽出部１１で同じ重複パターンが３回抽出されたとき、その重複パターンを編集処理で利用する。これにより、編集部１３は、重複する可能性が低い重複パターンに対する一致判定を省略し、ペイロードに含まれる重複パターンと、重複情報２３に格納される重複パターンとの一致判定の効率を向上することができる。
【００４７】
重複格納閾値は、重複情報２３に格納する重複パターンの数の上限値を示す。重複格納閾値は、処理部１２が重複情報２３に重複パターンを格納するとき、抽出部１１で抽出された重複パターンの全てを重複情報２３に格納することにより、重複情報２３に格納される重複パターンが膨大になるのを抑制するために設定される。一例として、処理部１２は、重複情報２３に重複格納閾値の示す数の重複パターンが格納されている場合、次に重複パターンを格納するとき、所定の重複パターンが格納されたレコードを削除する。削除する所定の重複パターンとは、例えば、一致判定時の検出頻度が低い重複パターンの中（例えば、下位から３つなど）で、最も先に重複情報２３に格納された重複パターンでも良い。
【００４８】
図４は、ＦＣフレームの一例を示す図である。
図４を参照して、ＦＣフレーム２００のフレーム構造の一例を説明する。以下の説明では、実施形態において転送されるフレームの一例として、ＦＣフレーム２００のフレーム構造について説明する。ただし、実施形態の中継装置１は、ＦＣフレームに限定されるものではなく、オプショナル・ヘッダ６１（拡張ヘッダ）とペイロード６２（データ）とを含む他のデータに適用しても良い。
【００４９】
ＦＣフレーム２００は、ＳＯＦ４０と、フレーム・ヘッダ５０と、データ・フィールド６０と、ＣＲＣ７０と、ＥＯＦ８０とを含む。以下の説明では、ＦＣフレーム２００のことをフレーム２００とも言う。
【００５０】
ＳＯＦ４０は、フレーム２００の開始を示すフィールドである。
フレーム・ヘッダ５０は、例えば、送信元の装置のアドレスや送信先の装置のアドレスを含むフィールドである。また、フレーム・ヘッダ５０は、フレーム２００が用いられるエクスチェンジ（トランザクション）を示す識別子を含むフィールドである。送信元の装置のアドレスは、例えば、フレーム２００の送信元の装置と接続された中継装置１のポート識別子（ＳＩＤ：Ｓｏｕｒｃｅ  ＩＤ）でも良い。送信先の装置のアドレスは、例えば、フレーム２００の送信先の装置と接続された中継装置１のポート識別子（ＤＩＤ：Ｄｅｓｔｉｎａｔｉｏｎ  ＩＤ）でも良い。また、フレーム２００が用いられるエクスチェンジを示す識別子は、例えば、ＯＸＩＤ（Ｏｒｉｇｉｎａｔｏｒ  Ｅｘｃｈａｎｇｅ  ＩＤ）でも良い。
【００５１】
データ・フィールド６０は、オプショナル・ヘッダ６１と、ペイロード６２とを含むフィールドである。
【００５２】
オプショナル・ヘッダ６１は、例えば、フレーム２００に付与するオプションを格納するフィールドである。そして、オプショナル・ヘッダ６１は、例えば、オプションがないとき、フレーム２００に付与されなくても良い。したがって、データ・フィールド６０は、可変長である。実施形態のオプショナル・ヘッダ６１には、例えば、パターン識別子、位置情報、および重複パターンのサイズなどが格納される。以下の説明では、オプショナル・ヘッダ６１のことを、拡張ヘッダとも言う。
【００５３】
ペイロード６２は、送信元の装置から送信先の装置に送信するデータを格納するフィールドである。また、ペイロード６２は、例えば、送信するデータのサイズによって、サイズが変化する可変長のフィールドである。
【００５４】
ＣＲＣ７０は、フレーム２００のエラーの検出に使用する符号を格納するフィールドである。中継装置１は、例えば、編集データを送信元の中継装置１から受信したとき、編集データを元のデータに復元したあと、ＣＲＣ７０に格納された符号を用いてフレーム２００のエラーチェックを実行する。
ＥＯＦ８０は、フレーム２００の終了を示すフィールドである。
【００５５】
図５は、ペイロード情報の一例を示す図である。
図５を参照して、ペイロード情報２２について説明する。
ペイロード情報２２には、設定情報２１のペイロード格納閾値を上限として、受信部３１で受信したフレームに含まれるペイロード６２が格納される。
【００５６】
図６は、重複パターンの抽出処理を説明する図である。
図６を参照して、抽出部１１による重複パターンの抽出処理を説明する。
【００５７】
抽出部１１は、受信部３１でフレーム２００が受信されたとき、フレーム２００に含まれるペイロード６２と、ペイロード情報２２に格納されている各ペイロードとの一致部分を検索する。そして、抽出部１１は、設定情報２１に格納されているサイズ閾値以上のサイズの一致部分が検索されたとき、その一致部分を太線枠で示す重複パターン６３として抽出する。
【００５８】
なお、ペイロード情報２２が、例えば、バッファに格納されているとき、処理部１２は、フレーム２００に含まれるペイロードとの一致部分が検索される頻度順に、ペイロード情報２２に格納されている各ペイロードを格納領域の先頭から並べる処理をしても良い。このとき、抽出部１１は、フレーム２００に含まれるペイロード６２と、ペイロード情報２２に格納されている各ペイロードとの一致部分を検索するとき、バッファの格納領域の先頭から順に、一致を判定しても良い。これにより、抽出部１１は、フレーム２００に含まれるペイロードとの一致部分が検索される頻度が高い順に、ペイロード情報２２に格納されている各ペイロードに一致部分があるか否かを判定するので、重複パターンの抽出効率を向上させることができる。
【００５９】
また、抽出部１１は、ペイロード情報２２からペイロード６２の複数の重複パターンを抽出したとき、始めに抽出された重複パターンを重複パターンとして抽出しても良い。この場合、抽出部１１は、１つの重複パターンを抽出した時点で抽出処理を終了し、抽出効率を向上することができる。以下の説明では、抽出部１１が始めに抽出された１つの重複パターンを重複パターンとして抽出するものとして説明する。
【００６０】
ただし、抽出部１１は、ペイロード情報２２からペイロード６２の複数の重複パターンを抽出したとき、最もサイズの大きい重複パターンを重複パターンとして抽出しても良い。また、ペイロード情報２２からペイロード６２の複数の重複パターンを抽出したとき、全てを重複パターンとして抽出しても良い。
【００６１】
図７は、重複情報の一例を示す図である。
図７を参照して、重複情報２３に格納される情報の一例を説明する。
【００６２】
重複情報２３は、パターン識別子と、検出頻度と、重複パターンと、サイズと、使用状態と、検出回数と、ＯＸＩＤと、ＰＩＤと、ＤＩＤとを含む。
【００６３】
パターン識別子は、重複パターンを識別する情報である。パターン識別は、抽出部１１で重複情報２３に格納されていない新たな重複パターンが抽出されると、処理部１２により生成される。そして、パターン識別子は、処理部１２により抽出部１１で抽出された重複パターンと関連付けられて重複情報２３に格納される。
【００６４】
検出頻度は、編集部１３が、重複情報２３に格納されている重複パターンがペイロードに含まれるか否かを検索したとき、重複パターンがペイロードに含まれるとして検出された頻度を示す情報である。処理部１２は、例えば、重複情報２３に格納されている重複パターンが所定時間内に、何回ペイロードに含まれると検出されたかを算出し、検出頻度としても良い。そして、処理部１２は、重複情報２３に格納されている各重複パターンに検出頻度を関連付けて格納する。
【００６５】
また、処理部１２は、重複パターンが、例えば、バッファに格納されているとき、重複情報２３に格納されている各重複パターンを、検出頻度順にバッファの格納領域の先頭から並べる処理をしても良い。そして、編集部１３は、受信したフレームに含まれるペイロードに、重複情報２３に格納されている重複パターンが含まれるか否かを検索するとき、バッファに格納された重複パターンの先頭から順に検索しても良い。これにより、編集部１３は、検出頻度が高い重複パターンから順に、ペイロードに含まれるか否かを検索をするので、ペイロードに含まれる重複パターンを検索する効率を向上させることができる。
【００６６】
重複パターンは、抽出部１１で抽出された重複パターンである。
サイズは、関連付けられた重複パターンのサイズを示す情報である。以下の説明において、サイズの単位は、例えば、バイトであるものとする。
【００６７】
使用状態は、重複パターンの使用状態を示す情報である。有効とは、重複パターンが編集処理や復元処理において、利用されている状態を示す。新規とは、抽出部１１で抽出された重複パターンとの一致が検出された回数が検出回数閾値と同じ回数となり、送信先の中継装置１との重複情報２３の同期処理を実行中であることを示す。検出とは、抽出部１１で抽出された重複パターンとの一致が検出された回数が検出回数閾値よりも少なく、送信先の中継装置１との重複情報２３の同期処理を待機していることを示す。
【００６８】
検出回数は、レコードに格納されている重複パターンと、抽出部１１で抽出された重複パターンとの一致が検出された回数を示す。なお、図７に示すように、設定情報２１に格納されている検出回数閾値が３のとき、検出回数は、３回までのカウントでも良い。
【００６９】
図８は、データの編集処理とデータの復元処理とを説明する図である。
図８を参照して、編集部１３によるデータの編集処理と、復元部１４によるデータの復元処理とを説明する。
【００７０】
まず、編集部１３によるデータの編集処理を説明する。
編集部１３は、図８に示すフレーム２００ａを受信すると、フレーム２００ａに含まれるペイロード６２の一部、または全部が、重複情報２３に格納された重複パターンフィールド３００に含まれる各重複パターンと一致するか検索する。そして、編集部１３は、図８に示すように、ペイロード６２の一部と重複パターン６３と一致部分を検出すると、一致した重複パターン６３に関連付けられたパターン識別子と重複パターン６３のサイズと位置情報とを重複情報２３から取得する。さらに、編集部１３は、図９の拡張ヘッダ情報４００に示す、重複情報２３から取得したパターン識別子と重複パターン６３のサイズと位置情報とを含む拡張ヘッダ６１を生成する。そして、編集部１３は、生成した拡張ヘッダ６１を重複パターン６３に該当する部分のデータを削除したペイロード６２（重複外データ）に付与する。以上により、編集部１３は、重複外データに拡張ヘッダを付与した編集データ６０を生成する。
【００７１】
編集部１３は、例えば、図１０（ａ）に示す編集前のフレーム２００ａを、図１０（ｂ）に示す編集後のフレーム２００ｂに編集する。このとき編集部１３は、例えば、図１０（ａ）に示す重複パターン６３が、図７に示す重複情報２３においてパターン識別子「０００７」に関連付けられた重複パターンであるとき、ペイロード６２のサイズを１２８０バイト小さくしている。これにより、編集部１３は、例えば、拡張ヘッダ６１が６４バイトのとき、データを編集データに編集することにより、フレームのサイズを１２１６バイト小さくしている。なお、図１０（ｂ）に示す拡張ヘッダ６１とペイロード６２（重複外データ）とを合わせたデータが、編集データ６０である。
【００７２】
次に、復元部１４によるデータの復元処理を説明する。
復元部１４は、図８に示す重複が削除されたペイロード６２に拡張ヘッダを付与した編集データ６０を含むフレーム２００ｂを受信すると、拡張ヘッダ６１に含まれるパターン識別子と位置情報とを取得する。そして、復元部１４は、重複情報２３からパターン識別子に関連付けられた重複パターン６３を取得する。さらに、復元部１４は、取得した重複パターン６３を位置情報の示す位置に挿入する。以上により、復元部１４は、編集データ６０からフレーム２００ａに含まれる編集前のペイロード６２を復元する。
【００７３】
図１１は、重複情報の同期処理の一例を示す図である。
図１１を参照して、重複情報２３の同期処理について説明する。
【００７４】
以下の説明では、一例として、サーバ２ｃからストレージ３ａに書き込み要求を送信し、ストレージ３に情報を書き込む処理を実行するときについて述べる。また、説明の簡単化のため、フレームについて、ヘッダと拡張ヘッダとペイロード以外の構成は、省略している。
【００７５】
図１１（ａ）に示すように、サーバ２ｃ（送信元の装置）は、中継装置１ａ（送信元の中継装置）にＯＸＩＤ「Ａ００１」を含むヘッダを付与したペイロード（フレーム）を送信する。このとき、ヘッダには、さらに、図示しないＳＩＤとＤＩＤとを含んでいるものとする。以下の説明では、ＯＸＩＤと、ＳＩＤと、ＤＩＤとをまとめて、フレーム識別子ともいう。
【００７６】
中継装置１ａは、サーバ２ｃからヘッダを付与されたペイロードを受信する。そして、中継装置１ａは、受信したペイロードに検出回数閾値と同じ検出回数となる、太線枠で示す重複パターン６３があるとき、重複パターン６３に関連付けられているパターン識別子と重複パターン６３のサイズと位置情報とを含む拡張ヘッダを生成する。また、中継装置１ａは、生成した拡張ヘッダをペイロードに付与する。このとき、中継装置１ａは、中継装置１ａが有する重複情報２３に格納されている重複パターン６３に関連付けられた使用状態を「検出」から「新規」に更新する。さらに、中継装置１ａは、ペイロードに付与されたヘッダに含まれるフレーム識別子を重複パターン６３に関連付けて重複情報２３に格納する。
【００７７】
そして、中継装置１ａは、拡張ヘッダを付与したペイロードを、重複パターン６３をパターン識別子に置き換えることなく、そのままの状態でネットワーク５を介して中継装置１ｂ（送信先の中継装置）に送信する。
【００７８】
中継装置１ｂは、拡張ヘッダが付与されたペイロードを受信すると、拡張ヘッダに含まれるパターン識別子と重複パターン６３のサイズと位置情報とを取得する。そして、中継装置１ｂは、取得した位置情報が示すペイロードのデータ位置から、取得した重複パターン６３のサイズのデータを取得する。また、中継装置１ｂは、取得したデータを重複パターン６３として、取得したパターン識別子に関連付けて中継装置１ｂが有する重複情報２３に格納する。さらに、中継装置１ｂは、ペイロードに付与されたヘッダに含まれるフレーム識別子を重複パターン６３に関連付けて中継装置１ｂが有する重複情報２３に格納する。このとき、中継装置１ｂは、中継装置１ｂが有する重複情報２３に格納されている重複パターン６３に関連付けられた使用状態を「新規」に更新する。
【００７９】
そして、中継装置１ｂは、拡張ヘッダ６１を削除して、ヘッダが付与されたペイロードをストレージ３ａ（送信先の装置）に送信する。
【００８０】
図１１（ｂ）に示すように、中継装置１ｂは、ストレージ３ａから、ヘッダが付与された返信データを受信すると、ヘッダに格納されたフレーム識別子を取得する。そして、中継装置１ｂは、中継装置１ｂが有する重複情報２３に格納されている重複パターン６３に関連付けられているフレーム識別子の中で、取得したフレーム識別子と同じフレーム識別子を検索する。中継装置１ｂは、重複パターン６３に関連付けられているフレーム識別子の中で、取得したフレーム識別子と同じフレーム識別子があるとき、そのフレーム識別子に関連付けられた使用状態を「新規」から「有効」に更新する。これにより、中継装置１ｂは、使用状態が「有効」のフレーム識別子に関連付けられた重複パターン６３について、編集処理、および復元処理での使用を開始する。
【００８１】
そして、中継装置１ｂは、ストレージ３から受信したヘッダが付与された返信データを、ネットワーク５を介して中継装置１ａに送信する。
【００８２】
中継装置１ａは、中継装置１ｂから、ヘッダが付与された返信データを受信すると、ヘッダに格納されたフレーム識別子を取得する。そして、中継装置１ａが有する重複情報２３に格納されている重複パターン６３に関連付けられているフレーム識別子の中で、取得したフレーム識別子と同じフレーム識別子を検索する。中継装置１ａは、重複パターン６３に関連付けられているフレーム識別子の中で、取得したフレーム識別子と同じフレーム識別子があるとき、そのフレーム識別子に関連付けられた使用状態を「新規」から「有効」に更新する。これにより、中継装置１ａは、使用状態が「有効」のフレーム識別子に関連付けられた重複パターン６３について、編集処理、および復元処理での使用を開始する。以上により、中継装置１ａと中継装置１ｂとの間で、編集処理、および復元処理に用いる重複パターン６３が同期される。
【００８３】
そして、中継装置１ａは、ストレージ３から受信したヘッダが付与された返信データを、サーバ２ｃに送信する。
【００８４】
その後、中継装置１ａは、サーバ２ｃから、ヘッダが付与された重複パターン６３を含むペイロードを受信すると、ペイロードに含まれる重複パターン６３を、関連付けられたパターン識別子に置き換えて、拡張ヘッダに格納する。そして、中継装置１ａは、重複が削除されたペイロードに拡張ヘッダを付与した編集データを生成し、生成した編集データを、ネットワーク５を介して中継装置１ｂに送信する。
【００８５】
中継装置１ｂは、編集データを受信すると、拡張ヘッダに含まれるパターン識別子に関連付けられた重複パターン６３を、中継装置１ｂが有する重複情報２３から取得する。さらに、中継装置１ｂは、拡張ヘッダに含まれる位置情報の示す位置に、取得した重複パターン６３を挿入する。これにより、中継装置１ｂは、編集データからデータを復元する。
そして、中継装置１ｂは、ストレージ３に復元したデータを送信する。
【００８６】
図１２〜図１４は、送信元の中継装置の処理を示すフローチャートである。
図１２〜図１４を参照して、図２に示す中継装置１が送信元の装置として用いられたときの処理を説明する。以下の説明では、拡張ヘッダにパターン識別子が格納されているとき、パターン識別子が示す重複パターンのペイロード中での位置を示す位置情報がともに格納されているものとする。
【００８７】
図１２を参照して説明する。
処理部１２は、受信部３１が送信元の装置からフレームを受信したか否かを判定する（Ｓ１０１）。処理部１２は、送信元の装置からフレームを受信したとき（Ｓ１０１にてＹｅｓ）、重複情報２３に格納された重複パターンの中で、使用状態が「有効」である各重複パターンと、一致するパターンのデータをペイロードが含んでいるか否かを検索する（Ｓ１０２）。
【００８８】
編集部１３は、処理部１２により使用状態が「有効」である重複パターンがペイロードから検出されると（Ｓ１０２にてＹｅｓ）、ペイロードに含まれる重複パターンを、重複パターンに関連付けられたパターン識別子に置き換える（Ｓ１０３）。
【００８９】
さらに、編集部１３は、ペイロードの中の重複パターンに該当するデータの位置を示す位置情報を生成する（Ｓ１０４）。
【００９０】
そして、編集部１３は、重複パターンを置き換えたパターン識別子と、生成した位置情報とを含む拡張ヘッダを生成し、重複パターンに該当する部分のデータを削除したペイロードに付与する（Ｓ１０５）。これにより、編集部１３は、ペイロードを編集データに編集する。
【００９１】
転送部１５は、送信部３２を制御して、フレームを転送先の中継装置１に送信させる（Ｓ１０６）。そして、中継装置１は、処理を終了する。なお、転送部１５は、Ｓ１０５の処理に続いて、Ｓ１０６を実行するとき、送信部３２を制御して、編集データを含むフレームを、中継装置１に送信させる。転送部１５は、Ｓ２０３、Ｓ２０６の処理に続いて、Ｓ１０６の処理を実行するとき、送信部３２を制御して、Ｓ１０１で送信元の装置から受信したフレームをそのまま中継装置１に送信させる。
【００９２】
図１３を参照して説明する。
Ｓ１０２において、処理部１２は、使用状態が「有効」である重複パターンをペイロードが含んでいないと判定すると（Ｓ１０２にてＮｏ）、フレームに含まれるペイロードをペイロード情報２２に格納する（Ｓ２０１）。
【００９３】
そして、処理部１２は、受信部３１が受信したフレームに含まれるペイロードと、ペイロード情報２２に格納されたペイロードとの一致部分を検索する（Ｓ２０２）。ここで、一致部分とは、例えば、受信部３１が受信したフレームに含まれるペイロードと、ペイロード情報２２に格納されたペイロードとの部分一致と、完全一致とを含む。また、一致部分とは、例えば、設定情報２１に格納されたサイズ閾値以上の大きさのサイズを有する。
【００９４】
処理部１２は、受信部３１が受信したフレームに含まれるペイロードと、ペイロード情報２２に格納されたペイロードとに一致部分があるとき（Ｓ２０３にてＹｅｓ）、その一致部分と同じ重複パターンが重複情報２３に格納さているか否かを判定する（Ｓ２０４）。
【００９５】
処理部１２は、一致部分と同じ重複パターンが重複情報２３に格納されているとき（Ｓ２０４にてＹｅｓ）、一致部分と同じ重複パターンに関連付けられた検出回数をインクリメントする（Ｓ２０５）。
【００９６】
そして、処理部１２は、一致部分と同じ重複パターンに関連付けられた検出回数が設定情報閾値以上であるか否かを判定する（Ｓ２０６）。
【００９７】
処理部１２は、重複パターンに関連付けられた検出回数が設定情報閾値以上であるとき（Ｓ２０６にてＹｅｓ）、一致部分と同じ重複パターンに関連付けられている使用状態を「新規」に更新する（Ｓ２０７）。
【００９８】
図１４を参照して説明する。
処理部１２は、一致部分と同じ重複パターンに、Ｓ１０１で受信したフレームに含まれるフレーム識別子を関連付けて格納する（Ｓ３０１）。
【００９９】
そして、編集部１３は、重複パターンに関連付けられたパターン識別子を、重複情報２３から取得する（Ｓ３０２）。
【０１００】
また、編集部１３は、ペイロードの中の重複パターンに該当するデータの位置を示す位置情報を生成する（Ｓ３０３）。
【０１０１】
さらに、編集部１３は、取得したパターン識別子と、生成した位置情報とを含む拡張ヘッダを生成し、生成した拡張ヘッダをペイロードに付与する（Ｓ３０４）。
【０１０２】
転送部１５は、送信部３２を制御して、拡張ヘッダを付与されたペイロードを含むフレームを転送先の中継装置１に送信させる（Ｓ３０５）。そして、中継装置１は、処理を終了する。
【０１０３】
図１２を参照して説明する。
Ｓ１０１において、処理部１２は、送信元の装置からフレームを受信しないとき（Ｓ１０１にてＮｏ）、受信部３１が送信先の中継装置１からフレームを受信したか否かを判定する（Ｓ１０７）。
【０１０４】
処理部１２は、受信部３１が送信先の中継装置１からフレームを受信しないとき（Ｓ１０７にてＮｏ）、Ｓ１０１の処理を実行する。すなわち、処理部１２は、フレームを受信するまで待機をする。
【０１０５】
処理部１２は、受信部３１が送信先の中継装置１からフレームを受信したとき（Ｓ１０７にてＹｅｓ）、送信先の中継装置１から受信したフレームに、Ｓ３０５で送信したフレームと同じフレーム識別子が含まれるか否かを判定する（Ｓ１０８）。
【０１０６】
処理部１２は、送信先の中継装置１から受信したフレームに、Ｓ３０５で送信したフレームと同じフレーム識別子が含まれるとき（Ｓ１０８にてＹｅｓ）、重複情報２３に格納したフレーム識別子に対応する重複パターンの使用状態を「有効」に更新する（Ｓ１０９）。
【０１０７】
転送部１５は、送信先の中継装置１から受信したフレームを送信元の装置に送信する（Ｓ１１０）。そして、中継装置１は、処理を終了する。
【０１０８】
Ｓ１０８において、処理部１２は、送信先の中継装置１から受信したフレームに、Ｓ３０５で送信したフレームと同じフレーム識別子が含まれないとき（Ｓ１０８にてＮｏ）、Ｓ１１０の処理を実行する。そして、中継装置１は、処理を終了する。
【０１０９】
図１３を参照して説明する。
Ｓ２０３において、処理部１２は、受信部３１が受信したフレームに含まれるペイロードと、ペイロード情報２２に格納されたペイロードとに一致部分がないとき（Ｓ２０３にてＮｏ）、Ｓ１０６の処理を実行する。そして、中継装置１は、処理を終了する。
【０１１０】
Ｓ２０４において、処理部１２は、一致部分と同じ重複パターンが重複情報２３に格納されていないとき（Ｓ２０４にてＮｏ）、一致部分を重複パターンとして重複情報２３に格納する（Ｓ２０８）。
【０１１１】
また、処理部１２は、重複情報２３に格納されているパターン識別子と異なるパターン識別子を生成する（Ｓ２０９）。
【０１１２】
そして、処理部１２は、Ｓ２０８で重複情報２３に格納した重複パターンに、生成したパターン識別子を関連付けて格納する（Ｓ２１０）。
【０１１３】
さらに、処理部１２は、Ｓ２０８で重複情報２３に格納した重複パターンの使用状態を「検出」に更新し（Ｓ２１１）、Ｓ２０６の処理を実行する。
【０１１４】
図１５〜図１７は、送信先の中継装置の処理を示すフローチャートである。
図１５〜図１７を参照して、図２に示す中継装置１が送信先の装置として用いられたときの処理を説明する。以下の説明では、拡張ヘッダにパターン識別子が格納されているとき、パターン識別子が示す重複パターンのペイロード中での位置を示す位置情報がともに格納されているものとする。
【０１１５】
処理部１２は、受信部３１が送信元の中継装置１からフレームを受信したか否かを判定する（Ｓ４０１）。処理部１２は、送信元の中継装置１からフレームを受信したとき（Ｓ４０１にてＹｅｓ）、フレームが含むペイロードに拡張ヘッダが付与されているか否かを判定する（Ｓ４０２）。
【０１１６】
処理部１２は、ペイロードに拡張ヘッダが付与されているとき（Ｓ４０２にてＹｅｓ）、拡張ヘッダにパターン識別子が含まれているか否かを判定する（Ｓ４０３）。すなわち、処理部１２は、ペイロードに識別パターンを含む拡張ヘッダが付与された編集データを送信元の中継装置１から受信したか否かを判定している。
【０１１７】
処理部１２は、拡張ヘッダにパターン識別子が含まれていると判定したとき（Ｓ４０３にてＹｅｓ）、重複情報２３に拡張ヘッダに含まれるパターン識別子と同じ識別子があるか否かを判定する（Ｓ４０４）。
【０１１８】
処理部１２は、重複情報２３に拡張ヘッダに含まれたパターン識別子と同じ識別子があるとき（Ｓ４０４にてＹｅｓ）、拡張ヘッダに含まれたパターン識別子に関連付けられた使用状態が「有効」であるか否かを判定する（Ｓ４０５）。
【０１１９】
図１６を参照して説明する。
復元部１４は、処理部１２が重複情報２３に格納されたパターン識別子に関連付けられた使用状態が「有効」であると判定したとき（Ｓ４０５にてＹｅｓ）、重複情報２３からパターン識別子に関連付けられた重複パターンを取得する（Ｓ５０１）。
【０１２０】
そして、復元部１４は、編集データの拡張ヘッダにパターン識別子とともに含まれる位置情報を取得し、編集データの中の位置情報の示す位置に取得した重複パターンを挿入する。これにより、復元部１４は、編集データからペイロードを復元する（Ｓ５０２）。
【０１２１】
転送部１５は、送信部３２を制御して、フレームを送信する（Ｓ５０３）。そして、中継装置１は、処理を終了する。なお、転送部１５は、Ｓ５０２の処理に続いて、Ｓ５０３を実行するとき、送信部３２を制御して、処理部１２により拡張ヘッダが削除された、復元したデータを含むフレームを送信先の装置に送信させる。転送部１５は、Ｓ４０２、Ｓ４０３の処理に続いて、Ｓ５０３の処理を実行するとき、送信部３２を制御して、Ｓ４０１で受信した送信元の中継装置１から受信したフレームをそのまま送信先の装置に送信させる。
【０１２２】
図１５を参照して説明する。
Ｓ４０２において、処理部１２がペイロードに拡張ヘッダが付与されていないとき（Ｓ４０２にてＮｏ）、転送部１５は、Ｓ５０３の処理を実行する。そして、中継装置１は、処理を終了する。
【０１２３】
Ｓ４０３において、処理部１２が拡張ヘッダにパターン識別子が含まれていないと判定したとき（Ｓ４０３にてＮｏ）、転送部１５は、Ｓ５０３の処理を実行する。そして、中継装置１は、処理を終了する。
【０１２４】
図１７を参照して説明する。
Ｓ４０４において、処理部１２は、重複情報２３に拡張ヘッダに含まれるパターン識別子と同じパターン識別子がないとき（Ｓ４０４にてＮｏ）、拡張ヘッダに含まれる位置情報を用いてフレームのペイロードから重複パターンを取得する（Ｓ６０１）。すなわち、Ｓ４０４にてＮｏとは、送信元の中継装置１から同期用のフレームが送信されてきたときを示す。
【０１２５】
そして、処理部１２は、取得した重複パターンを、拡張ヘッダに含まれるパターン識別子に関連付けて重複情報２３に格納する（Ｓ６０２）。
【０１２６】
また、処理部１２は、重複情報２３に格納した重複パターンに、受信したフレームのフレーム識別子を関連付けて格納する（Ｓ６０３）。
【０１２７】
さらに、処理部１２は、重複情報２３に格納した重複パターンに関連付けられた使用状態を「新規」に更新する（Ｓ６０４）。
【０１２８】
処理部１２は、拡張ヘッダを削除して、Ｓ４０１で受信したフレームを送信先の装置に送信する（Ｓ６０５）。そして、中継装置１は、処理を終了する。
【０１２９】
処理部１２は、重複情報２３に格納されたパターン識別子に関連付けられた使用状態が「有効」でないと判定したとき（Ｓ４０５にてＮｏ）、Ｓ６０１の処理を実行する。なお、Ｓ４０５において、処理部１２は、重複情報２３に格納されたパターン識別子に関連付けられた使用状態が「有効」でないと判定したとき（Ｓ４０５にてＮｏ）、パターン識別子に関連付けられたフレーム識別子を参照しても良い。そして、処理部１２は、参照したフレーム識別子とＳ４０１で受信したフレームのフレーム識別子とが同じとき、処理を終了しても良い。
【０１３０】
図１５を参照して説明する。
処理部１２は、送信元の中継装置１からフレームを受信しないとき（Ｓ４０１にてＮｏ）、送信先の装置からフレームを受信したか否かを判定する（Ｓ４０６）。
【０１３１】
処理部１２は、受信部３１が送信先の装置からフレームを受信しないとき（Ｓ４０６にてＮｏ）、Ｓ４０１の処理を実行する。すなわち、処理部１２は、フレームを受信するまで待機をする。
【０１３２】
処理部１２は、受信部３１が送信先の装置からフレームを受信したとき（Ｓ４０６にてＹｅｓ）、送信先の装置から受信したフレームに、Ｓ６０５で送信したフレームと同じフレーム識別子が含まれるか否かを判定する（Ｓ４０７）。
【０１３３】
処理部１２は、送信先の装置から受信したフレームに、Ｓ６０５で送信したフレームと同じフレーム識別子が含まれるとき（Ｓ４０７にてＹｅｓ）、重複情報２３に格納したフレーム識別子に対応する重複パターンの使用状態を「有効」に更新する（Ｓ４０８）。
【０１３４】
転送部１５は、送信部３２を制御して、送信先の装置から受信したフレームを送信元の中継装置１に送信させる（Ｓ４０９）。そして、中継装置１は、処理を終了する。
【０１３５】
Ｓ４０７において、処理部１２は、送信先の装置から受信したフレームに、Ｓ６０５で送信したフレームと同じフレーム識別子が含まれないとき（Ｓ４０７にてＹｅｓ）、Ｓ４０９の処理を実行する。そして、中継装置１は、処理を終了する。
【０１３６】
図１８は、コンピュータ装置の一実施例を示すブロック図である。
図１８を参照して、中継装置１の構成について説明する。
【０１３７】
図１８において、コンピュータ装置５００は、制御回路５０１と、記憶装置５０２と、読書装置５０３と、記録媒体５０４と、通信インターフェイス５０５（通信Ｉ／Ｆ）と、入出力インターフェイス５０６（入出力Ｉ／Ｆ）と、表示装置５０７と、ネットワーク５０８とを備えている。また、各構成要素は、バス５０９により接続されている。
【０１３８】
制御回路５０１は、コンピュータ装置５００全体の制御をする。そして、制御回路５０１は、例えば、ＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）およびＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などである。制御回路５０１は、例えば、図２において、制御部１０として機能する。なお、記憶部２０に含まれる設定情報２１と、ペイロード情報２２と、重複情報２３とは、例えば、ＣＰＵ、ＦＰＧＡ、およびＰＬＤのキャッシュに記憶されても良い。
【０１３９】
記憶装置５０２は、各種データを記憶する。そして、記憶装置５０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリや、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）などで構成される。記憶装置５０２は、例えば、図２において、記憶部２０として機能する。そして、記憶装置５０２は、例えば、図２に示す、設定情報２１と、ペイロード情報２２と、重複情報２３とを記憶しても良い。
【０１４０】
また、ＲＯＭは、ブートプログラムなどのプログラムを記憶している。ＲＡＭは、制御回路５０１のワークエリアとして使用される。ＨＤは、ＯＳ、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
【０１４１】
記憶装置５０２は、例えば、制御回路５０１を、制御部１０として機能させる中継プログラムを記憶する。
【０１４２】
データの転送処理をするとき、中継装置１は、記憶装置５０２に記憶された中継プログラムをＲＡＭに読み出す。そして、ＲＡＭに読み出された中継プログラムを制御回路５０１で実行することで、中継装置１は、編集処理および復元処理を含むデータの転送処理を実行する。
【０１４３】
なお、中継プログラムは、制御回路５０１が通信インターフェイス５０５を介してアクセス可能であれば、ネットワーク５０８上のサーバが有する記憶装置に記憶されていても良い。
【０１４４】
読書装置５０３は、制御回路５０１に制御され、着脱可能な記録媒体５０４のデータのリード／ライトを行なう。そして、読書装置５０３は、例えば、ＦＤＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＤＶＤＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＢＤＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｋ  Ｄｒｉｖｅ）およびＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などである。
【０１４５】
記録媒体５０４は、各種データを保存する。記録媒体５０４は、例えば、中継プログラムを記憶する。さらに、記録媒体５０４は、図２に示す、設定情報２１と、ペイロード情報２２と、重複情報２３とを記憶しても良い。
【０１４６】
そして、記録媒体５０４は、読書装置５０３を介してバス５０９に接続され、制御回路５０１が読書装置５０３を制御することにより、データのリード／ライトが行なわれる。また、記録媒体５０４は、例えば、ＦＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｋ）、およびフラッシュメモリなどである。
【０１４７】
通信インターフェイス５０５は、ネットワーク５０８を介してコンピュータ装置５００と他の装置とを通信可能に接続する。そして、通信インターフェイス５０５は、例えば、図２において、送受信部３０として機能する。
【０１４８】
入出力インターフェイス５０６は、例えば、キーボード、マウス、およびタッチパネルなどと接続され、接続された装置から各種情報を示す信号が入力されると、バス５０９を介して入力された信号を制御回路５０１に出力する。また、入出力インターフェイス５０６は、制御回路５０１から出力された各種情報を示す信号がバス５０９を介して入力されると、接続された各種装置にその信号を出力する。入出力インターフェイス５０６は、例えば、図２に示す記憶部２０に格納する設定情報２１などの情報の入力を受け付けても良い。
【０１４９】
表示装置５０７は、例えば、入出力インターフェイス５０６に接続され、各種情報を表示する。
【０１５０】
ネットワーク５０８は、例えば、ＬＡＮ、無線通信、またはインターネットなどであり、コンピュータ装置５００と他の装置を通信接続する。
【０１５１】
以上のように、実施形態の中継装置１は、送信元の装置からフレームを受信して、送信先の装置にフレームを送信するとき、転送するペイロードに、過去に受信したペイロードに含まれるデータパターンである重複パターンが含まれるか否かを検索する。そして、中継装置１は、転送するペイロードに重複パターンが含まれるとき、ペイロードに含まれる重複パターンを、重複パターンを識別するパターン識別子に置き換えて、送信先の中継装置１にフレームを送信する。これにより、中継装置１は、中継装置間のトラフィック量を抑制することができる。また、中継装置１は、中継装置間の通信がボトルネックとなることに起因する装置間の通信速度の低下を抑制することができる。
【０１５２】
また、実施形態の中継装置１は、接続されるポート間で、重複情報２３を同期する。これにより、送信先の中継措置１は、送信元の中継装置１から拡張ヘッダと重複部分が削除されたペイロードを含む編集データを受信したとき、拡張ヘッダに格納された情報を用いて編集データからデータを復元することができる。
【０１５３】
さらに、実施形態の中継装置１は、送信元の中継装置１として用いられるとき、送信フレームのペイロードにパターン識別子と重複パターンのサイズと位置情報とを含む拡張ヘッダを付与することにより、送信先の中継装置１と重複情報２３の同期をする。したがって、送信元の中継装置１は、新たなフレームを用いることなく、送信元の中継装置１と送信先の中継装置１との重複情報２３の同期処理を実行することができる。
【０１５４】
実施形態の中継装置１は、送信先の中継装置１として用いられるとき、送信元の中継装置１からペイロードにパターン識別子と重複パターンのサイズと位置情報とを含む拡張ヘッダが付与されたフレームを受信する。そして、送信先の中継装置１は、位置情報の示すペイロードの位置から重複パターンのサイズ分のデータである重複パターンを取得する。したがって、送信元の中継装置１は、新たなフレームを用いることなく、送信元の中継装置１と送信先の中継装置１との重複情報２３の同期処理を実行することができる。
【０１５５】
実施形態の中継装置１は、編集部１３がペイロードを編集データに編集する時間と、復元部１４が編集データをペイロードに復元する時間との合計時間が、重複パターンの転送時間よりも短くなるサイズ以上の重複パターンを抽出する。これにより、中継装置１は、例えば、編集処理と復元処理とを行うことにより、重複パターンをそのまま送信するよりも転送時間が長くなるのを防止することができる。
【０１５６】
実施形態の中継装置１は、編集処理をするとき、編集処理でペイロードに含まれる重複パターンとして検出される頻度が高い重複パターンから順に、ペイロードに重複パターンが含まれるか否かを検索する。これにより、中継装置１は、ペイロードに含まれる重複パターンを効率よく検出することができる。
【０１５７】
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１５８】
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。なお、本発明は、以下の付記に限定されるものではない。
（付記１）
第１装置から第２装置にデータを転送する中継装置であって、
前記第１装置から受信したデータを格納する第１格納部と、
第２格納部と、
前記第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出する抽出部と、
前記今回受信したデータを前記第１格納部に格納させる処理と、前記抽出部で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納させる処理とを行なう処理部と、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに、前記データを編集する編集部と、
前記編集部で編集された編集データを前記第２装置に転送する転送部と、
を備えることを特徴とする中継装置。
（付記２）
前記中継装置は、さらに、
前記第２装置から受信したデータのうち、前記第２格納部に格納された識別子を含む編集データがある場合に、前記編集データに含まれる識別子を、前記識別子に関連付けられた重複パターンに置き換えて、前記編集データから編集前の元データを復元する復元部を備える、
ことを特徴とする付記１に記載の中継装置。
（付記３）
前記転送部は、さらに、
前記抽出部で抽出された重複パターンと、前記重複パターンに関連付けられた識別子とを含むデータを前記第２装置に送信する
ことを特徴とする付記１または２に記載の中継装置。
（付記４）
前記抽出部は、さらに、
前記編集部が前記データを前記編集データに編集する時間と、前記復元部が前記編集データを前記データに復元する時間との合計時間が、前記重複パターンの転送時間よりも短くなるサイズ以上の重複パターンを抽出する
ことを特徴とする付記２に記載の中継装置。
（付記５）
前記転送部は、前記重複パターンと前記識別子とを含むデータを前記第２装置に送信し、
前記編集部は、該データの送信に対する返信データを前記第２装置から受信すると、前記第２装置に送信した前記重複パターンと前記識別子とについて、編集処理での利用を開始する
ことを特徴とする付記１乃至付記４のいずれか１項に記載の中継装置。
（付記６）
前記第２装置から前記重複パターンと前記識別子とを含むデータを受信し、
前記処理部が、前記重複パターンと前記識別子とを前記第２格納部に格納させる処理を行い、
前記転送部が、受信したデータを前記第１装置に送信し、
前記復元部は、該送信したデータに対する返信データを前記第１装置から受信すると、前記重複パターンと前記識別子とについて、復元処理での利用を開始する
ことを特徴とする付記２に記載の中継装置。
（付記７）
前記転送部は、さらに、
前記重複パターンのサイズと前記重複パターンがある位置を示す位置情報とを含むデータを前記第２装置に送信する
ことを特徴とする付記１乃至付記６のいずれか１項に記載の中継装置。
（付記８）
前記処理部は、さらに、
前記第２装置から受信したデータのうち、前記重複パターンのサイズと前記重複パターンがある位置を示す位置情報とを含むデータがある場合に、前記位置情報の示す位置から前記重複パターンのサイズが示す大きさの重複パターンを取得する
ことを特徴とする付記１乃至付記７のいずれか１項に記載の中継装置。
（付記９）
前記編集部は、さらに、
前記重複パターンを前記識別子に置き換えるとき、前記データの中の前記重複パターンがある位置を示す位置情報を前記編集データに含ませる
ことを特徴とする付記２に記載の中継装置。
（付記１０）
前記復元部は、さらに、
前記第２装置から受信したデータのうち、前記位置情報を含む編集データがある場合、前記編集データに含まれる位置情報の示す位置に前記重複パターンを挿入し、前記編集データから編集前の元データを復元する
ことを特徴とする付記９に記載の中継装置。
（付記１１）
前記編集部は、さらに、
編集処理をするとき、前記編集処理で使用される頻度が高い重複パターンから順に、前記データに前記重複パターンが含まれるか否かを検索する
ことを特徴とする付記１乃至付記１０のいずれか１項に記載の中継装置。
（付記１２）
前記編集部は、
前記重複パターンを識別子に置き換えるとき、前記識別子を含む拡張ヘッダを前記データに付与する
ことを特徴とする付記１乃至付記１１のいずれか１項に記載の中継装置。
（付記１３）
前記転送部は、
前記重複パターンのサイズと前記重複パターンがある位置を示す位置情報とをデータに含ませるとき、前記重複パターンのサイズと前記位置情報とを含む拡張ヘッダを前記データに付与する
ことを特徴とする付記７に記載の中継装置。
（付記１４）
前記編集部は、
前記位置情報を前記編集データに含ませるとき、前記位置情報を含む拡張ヘッダを前記データに付与する
ことを特徴とする付記９に記載の中継装置。
（付記１５）
前記第２装置は、
第３格納部と、
前記中継装置から受信したデータのうち、重複パターンと重複パターンに関連付けられた識別子とを含むデータがある場合に、前記受信した重複パターンと識別子とを関連付けて前記第３格納部に格納させる処理を行なう第２処理部と、
前記中継装置から受信したデータのうち、前記第３格納部に格納された識別子を含む編集データがある場合に、前記編集データに含まれる識別子を、前記識別子に関連付けられた重複パターンに置き換えて、前記編集データから編集前の元データを復元する復元部と、
をそなえる中継装置である
ことを特徴とする付記１乃至付記１４のいずれか１項に記載の中継装置。
（付記１６）
コンピュータによって実行される中継方法であって、
前記コンピュータは、
第１装置から受信したデータを格納する第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出し、
前記今回受信したデータを前記第１格納部に格納し、
前記抽出する処理で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納し、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに編集し、
前記編集データを第２装置に転送する
ことを実行する中継方法。
（付記１７）
前記コンピュータは、さらに、
前記第２装置から受信したデータのうち、前記第２格納部に格納された識別子を含む編集データがある場合に、前記編集データに含まれる識別子を、前記識別子に関連付けられた重複パターンに置き換えて、前記編集データから編集前の元データを復元する
ことを実行する付記１６に記載の中継方法。
（付記１８）
第１装置から受信したデータを格納する第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出し、
前記今回受信したデータを前記第１格納部に格納し、
前記抽出する処理で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納し、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに編集し、
前記編集データを第２装置に転送する
処理をコンピュータに実行させることを特徴とする中継プログラム。
（付記１９）
前記第２装置から受信したデータのうち、前記第２格納部に格納された識別子を含む編集データがある場合に、前記編集データに含まれる識別子を、前記識別子に関連付けられた重複パターンに置き換えて、前記編集データから編集前の元データを復元する
処理をコンピュータに実行させることを特徴とする付記１８に記載の中継プログラム。
（付記２０）
第１装置から第１中継装置を介して第２中継装置にデータを転送する中継システムであって、
第１中継装置は、
前記第１装置から受信したデータを格納する第１格納部と、
第２格納部と、
前記第１格納部に過去に格納されたデータと、今回受信したデータとの一致部分である重複パターンを抽出する抽出部と、
前記今回受信したデータを前記第１格納部に格納させる処理と、前記抽出部で抽出された重複パターンに識別子を関連付けて前記第２格納部に格納させる処理とを行なう第１処理部と、
前記第２格納部に格納された重複パターンを含むデータを前記第１装置から受信したとき、前記データに含まれる重複パターンを、前記重複パターンに関連付けられた識別子に置き換えた編集データに、前記データを編集する編集部と、
前記重複パターンと前記重複パターンに関連付けられた識別子とを含むデータと、前記編集部で編集された編集データとを前記第２中継装置に送信する第１転送部と、
を備え、
前記第２中継装置は、
第３格納部と、
前記第１中継装置から受信したデータのうち、重複パターンと重複パターンに関連付けられた識別子とを含むデータがある場合に、前記受信した重複パターンと識別子とを関連付けて前記第３格納部に格納させる処理を行なう第２処理部と、
前記第１中継装置から受信したデータのうち、前記第３格納部に格納された識別子を含む編集データがある場合に、前記編集データに含まれる識別子を、前記識別子に関連付けられた重複パターンに置き換えて、前記編集データから編集前の元データを復元する復元部と、
を備えることを特徴とする中継システム。
【符号の説明】
【０１５９】
１  中継装置
２  サーバ
３  ストレージ
４、６  通信線
５  ネットワーク
１０  制御部
１１  抽出部
１２  処理部
１３  編集部
１４  復元部
１５  転送部
２０  記憶部
２１  設定情報
２２  ペイロード情報
２３  重複情報
３０  送受信部
３１  受信部
３２  送信部
５０  ヘッダ
６０  フィールド
６０  編集データ
６１  拡張ヘッダ、オプショナル・ヘッダ
６２  ペイロード
６３  重複パターン
１００  中継システム
５００  コンピュータ装置
５０１  制御回路
５０２  記憶装置
５０３  読書装置
５０４  記録媒体
５０５  通信インターフェイス
５０６  入出力インターフェイス
５０７  表示装置
５０８  ネットワーク
５０９  バス
【図１】
2015082296.tif 000003
【図２】
2015082296.tif 000004
【図３】
2015082296.tif 000005
【図４】
2015082296.tif 000006
【図５】
2015082296.tif 000007
【図６】
2015082296.tif 000008
【図７】
2015082296.tif 000009
【図８】
2015082296.tif 000010
【図９】
2015082296.tif 000011
【図１０】
2015082296.tif 000012
【図１１】
2015082296.tif 000013
【図１２】
2015082296.tif 000014
【図１３】
2015082296.tif 000015
【図１４】
2015082296.tif 000016
【図１５】
2015082296.tif 000017
【図１６】
2015082296.tif 000018
【図１７】
2015082296.tif 000019
【図１８】
2015082296.tif 000020