(57)【要約】【課題】複数のパケットを効率的に転送する。【解決手段】他の通信装置へパケットを送信する送信部を有する通信装置は、他の通信装置への送信データに基づいて、複数のパケットを生成し、生成された複数のパケットのそれぞれについて、後続のパケットが存在するか否かを判定し、後続のパケットが存在すると判定された場合に、生成されたパケットを保持し、後続のパケットが存在しないと判定された場合に、保持されたパケットをまとめて送信部に転送する。【選択図】図４
2015186154.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置へパケットを送信する送信部を有する通信装置であって、
前記他の通信装置への送信データに基づいて、複数のパケットを生成する生成手段と、
前記生成手段により生成された前記複数のパケットのそれぞれについて、後続のパケットが存在するか否かを判定する判定手段と、
前記判定手段より後続のパケットが存在すると判定された場合に、前記生成手段により生成されたパケットを保持する保持手段と、
前記判定手段より後続のパケットが存在しないと判定された場合に、前記保持手段により保持されたパケットをまとめて前記送信部に転送する転送手段と、
を有することを特徴とする通信装置。
【請求項２】
前記転送手段は、前記判定手段より後続のパケットが存在すると判定された場合であっても、前記保持手段により保持されたパケットの数が所定の数に達した場合には、該保持されたパケットをまとめて前記送信部に転送することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記他の通信装置の受信バッファサイズに基づいて、前記所定の数を設定する設定手段を更に有することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記他の通信装置から、前記送信部が転送したパケットに対する応答を受信する受信手段と、
前記受信手段により受信した前記応答に基づいて、前記所定の数を設定する設定手段と、
を更に有することを特徴とする請求項２に記載の通信装置。
【請求項５】
前記生成手段は、前記送信データを一度に送信可能なサイズに分割し、該分割したデータそれぞれに対してプロトコルヘッダを付加することによってパケットを生成することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記判定手段により後続のパケットが存在しないと判定された場合、当該判定を行ったパケットに対して、後続のパケットが存在しないことを示すフラグを付加する付加手段を更に有することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記転送手段による転送は、ＳＤＩＯ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）プロトコルを利用した転送であることを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
他の通信装置へパケットを送信する送信部を有する通信装置の制御方法であって、
前記他の通信装置への送信データに基づいて、複数のパケットを生成する生成工程と、
前記生成工程において生成された前記複数のパケットのそれぞれについて、後続のパケットが存在するか否かを判定する判定工程と、
前記判定工程において後続のパケットが存在すると判定された場合に、前記生成工程において生成されたパケットを保持する保持工程と、
前記判定工程において後続のパケットが存在しないと判定された場合に、前記保持工程において保持されたパケットをまとめて前記送信部に転送する転送工程と、
を有することを特徴とする通信装置の制御方法。
【請求項９】
請求項１乃至７のいずれか１項に記載の通信装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、無線ＬＡＮ通信機能を用いたデータ通信の高速化が求められている。一般的なアプリケーションによってデータが生成されると、そのデータはＯＳに搭載されているネットワークスタックにより送信データサイズごとに分割される。続いて、それぞれの分割されたデータに各種プロトコルヘッダを付加したパケットが作成される。また、データを無線ＬＡＮによって送信するためには、このパケットはメモリから無線ＬＡＮモジュールに転送される必要がある。このときの転送方式は、無線ＬＡＮモジュールの接続方式に依存している。例えば、転送方式としてＳＤＩＯ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）プロトコルなどが利用される。従来のＳＤＩＯプロトコルを利用したＳＤＩＯ転送では１度の送信命令では１パケットのみ転送可能であった。しかし近年では、１度の送信命令で複数のパケットを転送することが可能となっている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１２／０２２６８２７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
無線ＬＡＮによってデータを送信する場合に、メモリから無線ＬＡＮデバイスへの転送方式であるＳＤＩＯ転送を効率的に制御することが望まれる。しかし、そのためには次のような課題がある。すなわち、できるだけ多くのパケットを１度にＳＤＩＯ転送するために、ＳＤＩＯ転送可能数までＳＤＩＯ転送を待機してしまうと、パケットが即座に送信されずに余計なレイテンシが発生してしまいスループットが低下する可能性がある。また、場合によっては、ネットワークスタックとＳＤＩＯ転送処理部の間でデッドロックが発生してしまう可能性がある。具体的には、ネットワークスタックは送信したパケットの応答を待っているため、後続のパケットを処理せず、一方、無線ＬＡＮドライバはネットワークスタックから後続のパケットが渡されるまで送信しない、という状況が発生する。
【０００５】
本発明は上記課題に鑑みてなされたものであり、複数のパケットを効率的に転送することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を備える。すなわち、他の通信装置へパケットを送信する送信部を有する通信装置であって、前記他の通信装置への送信データに基づいて、複数のパケットを生成する生成手段と、前記生成手段により生成された前記複数のパケットのそれぞれについて、後続のパケットが存在するか否かを判定する判定手段と、前記判定手段より後続のパケットが存在すると判定された場合に、前記生成手段により生成されたパケットを保持する保持手段と、前記判定手段より後続のパケットが存在しないと判定された場合に、前記保持手段により保持されたパケットをまとめて前記送信部に転送する転送手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数のパケットを効率的に転送することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態によるネットワークの構成を表す図。
【図２】第１実施形態による通信端末の構成を表すブロック図。
【図３】パケット管理構造体の構造を表す図。
【図４】第１実施形態による通信端末の送信処理のフローチャート。
【図５】第１実施形態による通信端末の送信データフローを示す図。
【図６】第２実施形態による通信端末の送信データフローを示す図。
【図７】第３実施形態による通信端末の送信データフローを示す図。
【発明を実施するための形態】
【０００９】
（第１実施形態）
以下、第１実施形態による通信端末について、図面を参照しながら詳細に説明する。図１は、本実施形態による通信端末（以下、端末）１０１、通信対向端末（以下、対向端末）１０２、を含むネットワークシステムの構成を示した図である。端末１０１と対向端末１０２はお互いにデータの送受信を行う。
【００１０】
図２は、端末１０１の構成の一例を表す機能ブロック図である。データ生成部２０１は、対向端末１０２に送信するデータを生成する。パケットプロトコル処理部２０２は、ＴＣＰ／ＩＰプロトコルなどに基づいた通信処理を実施する。パケットプロトコル処理部２０２は、送信プロトコル処理部２０３、後続送信パケット判断部２０４、受信プロトコル処理部２０５及び受信パケット存在判断部２０６を含む。送信プロトコル処理部２０３は、データ生成部２０１から受け取ったデータに対してプロトコルヘッダを付加するなど、ネットワークを介した送信が可能なパケットを作成する処理を行う。後続送信パケット判断部２０４は、後続の送信可能なパケットの存在を判定する。受信プロトコル処理部２０５は、対向端末１０２から受信した受信確認応答パケットに基づいて、受信されたことを確認し、また、対向端末１０２の受信バッファの空き状況を確認する。受信パケット存在判断部２０６は、対向端末１０２からのパケットが届いているかどうかを判断する。
【００１１】
パケット転送部２０７は、パケットプロトコル処理部２０２とパケット外部送受信部２０８の間の転送を制御する。パケット転送部２０７は、複数のパケットを蓄えて一度に送信することが可能である。本実施形態では、パケット転送部２０７はＳＤＩＯ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）プロトコルを利用したＳＤＩＯ転送を行うものとして説明を行うが、必ずしもＳＤＩＯ転送に限らなくてもよく、複数個のパケットを一度の転送で送る機能を有していれば構わない。
【００１２】
パケット外部送受信部２０８は、端末１０１とネットワークとの間でパケットの送受信を行う。本実施形態では、パケット外部送受信部２０８は、無線ＬＡＮデバイスであるとして説明を行うが、有線ＬＡＮデバイス、もしくは無線の異なる規格（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）に準拠したデバイスであっても良い。パケット外部送受信部２０８は、送信パケットバッファ２０９、パケット送信部２１０、受信パケットバッファ２１１及びパケット受信部２１２を含む。送信パケットバッファ２０９は、パケット転送部２０７によって、パケットプロトコル処理部２０２から渡されたパケットを一時的に格納する。パケット送信部２１０は、送信パケットバッファ２０９に格納されているパケットをネットワークに送信する。受信パケットバッファ２１１は、パケット受信部２１２から渡された受信パケットを一時的に格納する。パケット受信部２１２は、ネットワークから到着した受信パケットを受信パケットバッファ２１１に格納する。
【００１３】
図３は、パケットプロトコル処理部２０２とパケット転送部２０７において利用されるパケット管理構造体３０１の構造を表す図である。パケット管理構造体３０１には、プロトコルヘッダ３０２、データ３０３、後続無フラグ３０４が含まれる。プロトコルヘッダ３０２は、送信プロトコル処理部２０３において付加されるヘッダである。データ３０３は、送信プロトコル処理部２０３において分割されるデータである。後続無フラグ３０４は、後続送信パケット判断部２０４において後続送信パケットがない場合に付加されるフラグである。
【００１４】
図４は、アプリケーションによるデータ生成からネットワークにパケットを送信するまでの端末１０１の動作を表すフローチャートである。まず、アプリケーションにより、データ生成部２０１は送信データを生成し、送信命令が発行される（Ｓ４０１）。次に、データ生成部２０１は送信プロトコル処理部２０３にデータをコピーし、送信プロトコル処理部２０３は１パケットに収まるサイズにデータを分割する（Ｓ４０２）。なお、本実施形態では、ＴＣＰ／ＩＰによるデータ送信が仮定されている。すなわち、データ生成部２０１がソケットを介してデータを送信プロトコル処理部２０３に渡すときに、送信プロトコル処理部２０３が１パケットに収まるサイズにデータを分割しながらコピーを行うことが想定されている。なお、Ｓ４０２における送信プロトコル処理部２０３の実装手法は、コピーされたデータを１パケットに収まるサイズに分割することに限定されない。例えば、送信プロトコル処理部２０３は、ポインタで、あるバイトからあるバイトまでのデータを指定して一つのパケットを構成しても良く、結果として論理的なパケットに収まるデータが分かるようになっていればよい。
【００１５】
次に、送信プロトコル処理部２０３は、分割されたデータに対してプロトコルヘッダを付加してパケットを作成する（Ｓ４０３）。なお、Ｓ４０３における送信プロトコル処理部２０３の実装手法は、分割されたデータに対してプロトコルヘッダを付加することに限定されない。例えば、送信プロトコル処理部２０３は、分割されたデータと一緒にプロトコルヘッダを管理しても良い。各パケットはヘッダを付けられた後、後続送信パケット判断部２０４に送られる。後続送信パケット判断部２０４は、後続の送信データの有無を判断する（Ｓ４０４）。後続の送信データが存在しないと判断された場合は（Ｓ４０４のＹＥＳ）、後続送信パケット判断部２０４は、パケット管理構造体３０１に後続無フラグ３０４を立てる（Ｓ４０５）。その後、後続送信パケット判断部２０４は、パケットをパケット転送部２０７に渡し、パケット転送部２０７は、既に後続送信パケット判断部２０４から受け取って保持しているパケットを一括してパケット外部送受信部２０８に転送する（Ｓ４１０）。
【００１６】
Ｓ４０４において、後続の送信データが存在すると判断された場合は（Ｓ４０４のＮＯ）、後続送信パケット判断部２０４は、後続無フラグ３０４を立てずにパケットをパケット転送部２０７に渡す。パケット転送部２０７は、既に後続送信パケット判断部２０４から受け取って保持しているパケットの数が転送可能な上限数のパケット数に達しているかを確認する（Ｓ４０６）。保持しているパケットの数が転送可能な上限数のパケット数に達していると確認された場合（Ｓ４０６のＹＥＳ）、パケット転送部２０７はパケット外部送受信部２０８にパケットを転送する（Ｓ４１０）。パケット転送部２０７が保持しているパケットの数が転送可能な上限数のパケット数に達していないと確認された場合（Ｓ４０６のＮＯ）、受信プロトコル処理部２０５は、パケット転送部２０７に保持されているパケットを送信することで対向端末１０２の受信バッファが上限に達するかを判断する（Ｓ４０７）。すなわち、受信プロトコル処理部２０５は、パケット転送部２０７に保持されているパケットの数が、対向端末１０２の受信バッファサイズに基づいて設定した所定の上限数に達するかを判断する。この判断は、ＴＣＰ／ＩＰプロトコルの場合は、対向端末１０２のＷｉｎｄｏｗと呼ばれる変数によって行うことが可能である。
【００１７】
対向端末１０２の受信バッファが上限に達しないと判断された場合（Ｓ４０７のＹｅｓ）、処理は４０３へ戻る。対向端末１０２の受信バッファが上限に達すると判断された場合（Ｓ４０７のＮＯ）、受信パケット存在判断部２０６は、同じ通信フローにおいて前回送信したデータに対する受信確認応答が到着しているかどうかを確認し、このパケットを送信することで受信バッファの上限に達しないかを判断する（Ｓ４０８）。この受信確認応答はＴＣＰ/ＩＰプロトコルのＡｃｋに相当する。対向端末１０２のＷｉｎｄｏｗが一杯になっていた場合においても、受信パケット存在判断部２０６がＳ４０８のタイミングでＡｃｋの到着（受信）を確認できた場合は、パケット外部送受信部２０８はパケットを送信することが可能となる。受信確認応答が到着していると判断された場合（Ｓ４０８のＹＥＳ）、パケット受信部２１２は受信処理を行い、受信プロトコル処理部２０５は対向端末１０２の受信バッファの空き情報を更新し、転送可能なパケットの上限数を設定して、処理はＳ４０３へ戻る。受信確認応答が到着していないと判断された場合（Ｓ４０８のＮＯ）、後続送信パケット判断部２０４は、パケット管理構造体３０１に後続無フラグ３０４を立てる（Ｓ４０５）。その後、パケット転送部２０７は、パケット外部送受信部２０８にパケットを転送する（Ｓ４１０）。
【００１８】
なお、Ｓ４０６の条件に該当しなかった場合には、処理はＳ４０７へ進まずにＳ４０３に戻っても良い。この場合は、対向端末１０２のバッファの空き容量が確認されないため、若干効率が落ちる。また、Ｓ４０７の条件に該当した場合には、処理はＳ４０８に進まずにＳ４０５、Ｓ４１０へ進み転送を行っても良い。この場合も、既に受信しているＡｃｋが確認されないため若干効率が落ちる。
【００１９】
図５は、図４のフローチャートに従って動作する本実施形態による端末１０１の送信データフローの一例を示す図である。なお、本実施形態では、１度のアプリケーションからの送信命令によって渡されたデータから生成されるパケット数を３、ＳＤＩＯ転送可能数を４として説明する。まず端末１０１は、データ生成部２０１において送信データを生成する（Ｆ５０１）。次に、送信命令が発行されると、送信データは送信プロトコル処理部２０３にコピーされる（Ｆ５０２）。続いて、送信プロトコル処理部２０３は、送信データを１パケットで送信可能なサイズで分割し（Ｆ５０３）、パケットごとに、通信に利用するためのプロトコルヘッダを付加する（Ｆ５０４）。このとき、後続送信パケット判断部２０４は、パケットごとに、後続の送信データの有無を確認し、存在しない場合には後続無フラグ３０４をパケット管理構造体３０１に立てる。Ｆ５０４では、１つ目のパケットについては、後続の送信データがまだ存在するため、後続送信パケット判断部２０４は後続無フラグはセットせずにパケット転送部２０７へ渡す（Ｆ５０５）。パケット転送部２０７は、受け取ったパケットに後続無フラグがセットされていないため、パケット外部送受信部２０８への転送は実施しない。続く２つ目のパケットも同様である。最後の３つ目のパケットについては、後続のデータが存在しないために、後続送信パケット判断部２０４は後続無フラグ３０４を立てる（Ｆ５０６）。フラグが立ったパケットを受け取ったパケット転送部２０７は、今までに受け取って保持している３つのパケットをまとめてパケット外部送受信部２０８へ転送することにより、ＳＤＩＯ転送を実施する（Ｆ５０７）。
【００２０】
このように、第１実施形態では、後続のパケットがなくなったタイミングで複数のパケットをまとめてＳＤＩＯ転送が実施される。これにより、アプリケーションによる余計な転送命令が減少し転送効率が向上する。
【００２１】
（第２実施形態）
第２実施形態では、第１実施形態と比較して、１度のアプリケーションからの送信命令によって渡されたデータから生成されるパケット数と、ＳＤＩＯ転送可能数が異なる。以下、第１実施形態と異なる部分について説明する。図６は、図４のフローチャートに従って動作する本実施形態による端末１０１の送信データフローの一例を示す図である。本実施形態では、１度のアプリケーションからの送信命令によって渡されたデータから生成されるパケット数を３、ＳＤＩＯ転送可能数を２として説明する。
【００２２】
まず端末１０１は、データ生成部２０１において送信データを生成する（Ｆ６０１）。次に送信命令が発行されると、送信プロトコル処理部２０３に送信データがコピーされる（Ｆ６０２）。続いて送信プロトコル処理部２０３は、送信データを１パケットで送信可能なサイズで分割し（Ｆ６０３）、パケットごとに、通信に利用するためのプロトコルヘッダを付加する（Ｆ６０４）。このとき後続送信パケット判断部２０４は、後続の送信データの有無を確認し、存在しない場合には後続無フラグ３０４をパケット管理構造体に立てる。Ｆ６０４では、１つ目のパケットについては、後続の送信データがまだ存在するため、後続送信パケット判断部２０４は後続無フラグはセットせずにパケット転送部２０７へ渡す（Ｆ６０５）。パケット転送部２０７は、受け取ったパケットに後続無フラグ３０４がセットされていないため、パケット外部送受信部２０８への転送は実施しない。続く２つ目のパケット（Ｆ６０６）においても同様に、後続無フラグ３０４はセットされずにパケット転送部２０７に渡されるが、ＳＤＩＯ転送可能数である２パケットをパケット転送部２０７が受け取ったために即座にＳＤＩＯ転送が実施される（Ｆ６０７）。最後の３つ目のパケットの処理では後続データが存在しないため、後続送信パケット判断部２０４は後続無フラグ３０４を立てる（Ｆ６０８）。フラグが立ったパケットを受け取ったパケット転送部２０７は、後続無フラグ３０４がセットされていることを確認し（Ｆ６０９）、ＳＤＩＯ転送を実施する（Ｆ６１０）。
【００２３】
第２実施形態によれば、ＳＤＩＯ転送可能数上限のパケットをパケット転送部２０７が受け取った時点でＳＤＩＯ転送が実施される。これにより、余計な転送命令が減少し転送効率が向上する。また、後続のパケットがなくなったタイミングで転送が実施される。これにより、ＳＤＩＯ転送可能数上限までパケットを待ち受けることなく、即座に転送が実施され、余計な待機時間を低減することができる。
【００２４】
（第３実施形態）
第３実施形態では、第１実施形態と比較して、１度のアプリケーションからの送信命令によって渡されたデータから生成されるパケット数と、ＳＤＩＯ転送可能数が異なる。以下、第１実施形態と異なる部分について説明する。図７は、図４のフローチャートに従って動作する本実施形態による端末１０１の送信データフローの一例を示す図である。本実施形態では、１度のアプリケーションからの送信命令によって渡されたデータから生成されるパケット数を３、ＳＤＩＯ転送可能数を３、対向端末１０２の受信バッファ最大数を３パケットとして説明する。また、端末１０１は事前に対向端末に対して１パケット送信しており、対向端末１０２の受信バッファの空き情報は１パケット減少している２パケットの状態である。
【００２５】
まず端末１０１は、データ生成部２０１において送信データを生成する（Ｆ７０１）。次に送信命令が発行されると送信プロトコル処理部２０３に送信データがコピーされる（Ｆ７０２）。続いて送信プロトコル処理部２０３は、送信データを１パケットで送信可能なサイズで分割し（Ｆ７０３）、パケットごとに、通信に利用するためのプロトコルヘッダを付加する（Ｆ７０４）。このとき後続送信パケット判断部２０４は、後続の送信データの有無を確認し、存在しない場合には後続無フラグ３０４をパケット管理構造体に立てる。Ｆ７０４は、１つ目のパケットについては、後続の送信データがまだ存在するため、後続送信パケット判断部２０４は後続無フラグ３０４はセットせずにパケット転送部２０７」へ渡す（Ｆ７０５）。パケット転送部２０７は、受け取ったパケットに後続無フラグ３０４がセットされていないため、パケット外部送受信部２０８への転送を実施しない。続く２つ目のパケット（Ｆ７０６）については、このパケットを送信すると対向端末１０２の受信バッファの空きがなくなるために後続無フラグ３０４をセットしようとする。しかし事前に送信していたパケットに対する確認応答パケットがパケット転送部２０７に存在する（７０７）ため、こちらの処理を先に実施する（Ｆ７０８）。これにより対向端末１０２の受信バッファの空きがもう１つ空いていることを確認することができるため、７０６では後続無フラグ３０４をセットせずにパケット転送部２０７へパケット管理構造体を渡す（Ｆ７０９）。最後の３つ目のパケット目については、後続のデータが存在しないため、後続送信パケット判断部２０４は後続無フラグ３０４を立てる（Ｆ７１０）。フラグが立ったパケットを受け取ったパケット転送部２０７は、今までに受け取って保持している３つのパケットをまとめて転送する（Ｆ７１１）。
【００２６】
第３実施形態によれば、対向端末１０２からの確認応答パケットを後続無フラグ３０４を立てるより前に処理することにより、対向端末１０２の現在の受信バッファの空き情報を更新する。これにより多くのパケットを１度に転送することが可能となり、余計な転送命令が減少し転送効率が向上する。
【００２７】
以上の実施形態によれば、ネットワークスタックでデータをパケットに分割して送信する場合において、１度に転送できる無線ＬＡＮとＳＤＩＯ転送するパケット数が向上することにより、ＳＤＩＯ転送効率が向上する。またネットワークスタックとＳＤＩＯ転送を制御する部分におけるデッドロックを解消するとともに、ＳＤＩＯ転送の待機時間を削減することにより通信スループットが向上する。 
【００２８】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００２９】
１０１  端末、１０２  対向端末、２０１  データ生成部、２０２  パケットプロトコル処理部、２０３  送信プロトコル処理部、２０４  後続送信パケット判断部、２０５  受信プロトコル処理部、２０６  受信パケット存在判断部、２０７  パケット転送部、２０８  パケット外部送受信部、２０９  送信パケットバッファ、２１０  パケット送信部、２１１  受信パケットバッファ、２１２  パケット受信部
【図１】
2015186154.tif 000003
【図２】
2015186154.tif 000004
【図３】
2015186154.tif 000005
【図４】
2015186154.tif 000006
【図５】
2015186154.tif 000007
【図６】
2015186154.tif 000008
【図７】
2015186154.tif 000009