(57)【要約】【課題】各種処理の遅延やメッセージ消失の可能性を低減することができるデータ管理装置を提供する。【解決手段】識別子演算部１４は、自身のデータ管理装置１のネットワーク上の位置に対応した位置識別値に基づいて、位置識別値が近いほど互いに近い値となるような識別子を算出し、識別子記憶部１５に格納する。この結果、識別子空間上で互いに近い識別子を付与されたデータ管理装置１同士の間で送受信されるメッセージの伝送距離が短くなる。これによって、各種処理の遅延やメッセージ消失の可能性を低減することができる。【選択図】図１
2008011330.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワーク上に分散するデータを複数のデータ管理装置で管理するデータ管理システムを構成し、互いに異なる識別子の付与された前記複数のデータ管理装置が配置された識別子空間における所定範囲に対応したデータを管理するデータ管理装置において、
自身のデータ管理装置のネットワーク上の位置に対応した位置識別値に基づいて、前記位置識別値が近いほど互いに近い値となるような前記識別子を算出し、自身の前記識別子に設定する識別子算出手段と、
前記識別子空間上の他のデータ管理装置の前記識別子を含む経路情報を記憶する記憶手段と、
他のデータ管理装置とメッセージの送受信を行う通信手段と、
前記通信手段によって、他のデータ管理装置から受信された前記メッセージがさらに他のデータ管理装置へ転送される場合に、前記記憶手段によって記憶されている前記経路情報に基づいて前記メッセージの転送先を決定する転送先決定手段と、
を備えたことを特徴とするデータ管理装置。
【請求項２】
前記識別子算出手段は、前記位置識別値に基づいて前記識別子の上位ビットの値を算出すると共に、自身のデータ管理装置に固有の値に基づいて前記識別子の下位ビットの値を算出することを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記識別子算出手段は、前記位置識別値をmビット（mは２以上の自然数）のIPアドレスとし、前記IPアドレスの上位nビット（nはm未満の自然数）の値に基づいて算出した値を前記識別子の上位ビットの値とし、前記IPアドレスの全ビットの値に基づいて算出した値を前記識別子の下位ビットの値とすることを特徴とする請求項２に記載のデータ管理装置。
【請求項４】
前記識別子算出手段は、前記位置識別値を２以上のブロックに分割し、各ブロックに基づいて算出した値をビット結合した値を前記識別子の上位ビットの値とすることを特徴とする請求項２または請求項３に記載のデータ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワーク上に分散するデータを複数のデータ管理装置で管理するデータ管理システムを構成するデータ管理装置に関する。
【背景技術】
【０００２】
特定のサーバによらず、継続的あるいは一時的にネットワークに接続した計算機群によって構成される分散型のデータ管理システムがある。このシステムを利用して、例えばユーザ側ではデータの名前は分かっているが、そのデータのネットワーク上の存在場所が分からない場合に、そのデータを所持している計算機の情報を、ユーザからの要求に応じてユーザに通知するというデータの名前解決サービスを提供することができる。このようなサービスを提供可能な分散型のデータ管理システムとして、米国MIT大学のThe Chord Projectによるシステム（Chordシステム）が良く知られている（非特許文献１参照）。
【０００３】
Chordシステムでは、システムを構成する各データ管理装置には、当該データ管理装置のIPアドレス（またはIPアドレスとポート番号の組）からハッシュ関数SHA-1（Secure Hash Algorithm 1）（非特許文献２参照）で計算されたハッシュ値が、識別子として付与される。また、ネットワーク上のデータにも、互いにユニークな識別子が付与されるとしている。ここで、データ管理装置およびデータに付与される各々の識別子は、循環する論理上の識別子空間を構成する（図１０参照）。以下、この識別子空間の大きさ（識別子空間を構成する識別子数の最大値）を2mとする
【０００４】
データの管理は、識別子空間上で当該データの識別子から正の方向（図１０中の矢印Ａの方向）に見て、次に現れる識別子を持つデータ管理装置が担当するものとしている。一例として、p台のデータ管理装置でq個のデータを管理するシステムでのデータ管理を説明する。データ管理装置の識別子を ID(s1)，ID(s2)，・・・，ID(sp)、データの識別子を ID(d1)，ID(d2)，・・・，ID(dq)とすると、識別子ID(s1)を持つデータ管理装置は、ID(sp) ＜ x ≦ 2m-1および0 ≦ x ≦ ID(s1)の範囲の識別子を有するデータを管理する。また、識別子ID(s2)を持つデータ管理装置は、ID(s1) ＜ x ≦ ID(s2)の範囲の識別子を有するデータを管理する。このように、各データ管理装置の管理範囲を示す識別子の数値範囲はデータ管理装置毎に異なっており、各数値範囲が重ならないようになっている。
【０００５】
上記のように、Chordシステムではネットワーク上のデータを多数のデータ管理装置が分担して管理している。各データ管理装置が自身の担当外のデータに対する名前解決等の処理を行うためには、他のデータ管理装置と通信（メッセージの送受信）を行う必要がある。
【非特許文献１】I. Stoica，et. al.，“Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications”，Proceedings of the 2001 ACM SIGCOMM Conference，2001
【非特許文献２】FIPS 180-1，“Secure Hash Standard”，U.S. Department of Commerce/NIST，National Technical Information Service，Springfield，VA，Apr. (1995)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のデータ管理システムでは、物理ネットワーク上での位置とは無関係に、個々のデータ管理装置にランダムな識別子が付与される。このため、任意の2台のデータ管理装置について、識別子空間上での距離（識別子の差の絶対値）と物理ネットワーク上での距離（ルータホップ数やRTT（Round Trip Time）など）は無関係である。
【０００７】
よって、たとえデータ管理装置Ａとデータ管理装置Ｂが識別子空間上で隣接していた場合であっても、一方から他方にメッセージが到達するまでに、必要以上に多数のルータを経由する可能性がある。これにより、従来のデータ管理システムでは、メッセージの伝送遅延に起因する各種処理（名前解決など）の遅延が発生したり、多数のルータを経由することによりメッセージが消失したりする可能性が高くなるという問題があった。
【０００８】
本発明は、上述した問題点に鑑みてなされたものであって、各種処理の遅延やメッセージ消失の可能性を低減することができるデータ管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するためになされたもので、コンピュータネットワーク上に分散するデータを複数のデータ管理装置で管理するデータ管理システムを構成し、互いに異なる識別子の付与された前記複数のデータ管理装置が配置された識別子空間における所定範囲に対応したデータを管理するデータ管理装置において、自身のデータ管理装置のネットワーク上の位置に対応した位置識別値に基づいて、前記位置識別値が近いほど互いに近い値となるような前記識別子を算出し、自身の前記識別子に設定する識別子算出手段と、前記識別子空間上の他のデータ管理装置の前記識別子を含む経路情報を記憶する記憶手段と、他のデータ管理装置とメッセージの送受信を行う通信手段と、前記通信手段によって、他のデータ管理装置から受信された前記メッセージがさらに他のデータ管理装置へ転送される場合に、前記記憶手段によって記憶されている前記経路情報に基づいて前記メッセージの転送先を決定する転送先決定手段とを備えたことを特徴とするデータ管理装置である。
【００１０】
また、本発明のデータ管理装置において、前記識別子算出手段は、前記位置識別値に基づいて前記識別子の上位ビットの値を算出すると共に、自身のデータ管理装置に固有の値に基づいて前記識別子の下位ビットの値を算出することを特徴とする。
【００１１】
また、本発明のデータ管理装置において、前記識別子算出手段は、前記位置識別値をmビット（mは２以上の自然数）のIPアドレスとし、前記IPアドレスの上位nビット（nはm未満の自然数）の値に基づいて算出した値を前記識別子の上位ビットの値とし、前記IPアドレスの全ビットの値に基づいて算出した値を前記識別子の下位ビットの値とすることを特徴とする。
【００１２】
また、本発明のデータ管理装置において、前記識別子算出手段は、前記位置識別値を２以上のブロックに分割し、各ブロックに基づいて算出した値をビット結合した値を前記識別子の上位ビットの値とすることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、位置識別値が近いほど互いに近い値となるような識別子を各データ管理装置が自身の識別子に設定するので、識別子空間上で互いに近い識別子を付与されたデータ管理装置同士の間で送受信されるメッセージの伝送距離が短くなる。これによって、各種処理の遅延やメッセージ消失の可能性を低減することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照し、本発明の実施形態を説明する。図１は、本発明の一実施形態による分散型のデータ管理システムの構成を示している。図１において、複数のデータ管理装置１が、通信ネットワーク３００を介して互いに通信を行うことが可能なように接続されている。データ管理装置１はコンピュータであり、データの加工や演算を行う処理装置、データを保存するための記憶装置、ユーザがコンピュータへの指示を入力するための入力装置、および処理結果を出力する出力装置等のハードウェアと、コンピュータを制御する手順や命令をまとめたソフトウェア（プログラム）とが協働して動作することによって、所望の機能が実現される。
【００１５】
データ管理装置１において、通信処理部１０（本発明の通信手段に対応）は、他のデータ管理装置１との通信を制御し、各種メッセージの送信や受信を行う。処理部１１（本発明の転送先決定手段に対応）は、データ管理に係る様々な処理を実行する。経路表記憶部１２（本発明の記憶手段に対応）は経路表を記憶し、データ管理表記憶部１３はデータ管理表を記憶する。経路表およびデータ管理表の詳細は後述する。
【００１６】
識別子演算部１４（本発明の識別子算出手段に対応）は、自身のデータ管理装置１がデータ管理システムに初めて参加する際に識別子を算出する。また、識別子演算部１４は、算出した識別子を識別子記憶部１５に格納し、自身のデータ管理装置１の識別子として設定する。識別子記憶部１５に格納された識別子は、適宜、処理部１１によって読み出されて、処理（メッセージの転送先の決定処理等）に使用される。データ管理装置１は3つの記憶部を備えているが、それらのうち少なくともいずれかが他と異なる記録媒体で構成されていてもよいし、少なくともいずれか2つが同一の記録媒体内の異なる記録領域で構成されていてもよい。
【００１７】
次に、経路表記憶部１２に格納される経路表の内容を説明する。データ管理システムを構成する各データ管理装置１は、互いに通信を行うため、他のデータ管理装置１のIPアドレスおよびポート番号の組を経路表として持つ。経路表には、識別子空間上で自身の識別子から正の方向（図１０中の矢印Aの方向）に見て最初に現れる識別子を持つデータ管理装置１の情報がSUCCESSORとして含まれている。同様に、識別子空間上で自身の識別子から負の方向（図１０中の矢印Bの方向）に見て最初に現れる識別子を持つデータ管理装置１の情報がPREDECESSORとして経路表に含まれている。
【００１８】
経路表にはこれ以外に、識別子空間上で自身の識別子から見て正の方向に現れるm台のデータ管理装置１の情報がSUCCESSOR LIST又はFinger Tableとして格納されている。SUCCESSOR Listは、識別子空間上で自身の識別子から正の方向に見て最初に現れるm台のデータ管理装置１のリストである。これに対して、Finger Tableは、自身の識別子をXとしたときに、（X+2i）mod2mの識別子を自身の担当範囲に含むm台(0≦i＜m)のデータ管理装置１のリストである。
【００１９】
図２は経路表の一例を示している。経路表には、他のデータ管理装置１との通信に必要な情報（例えばIPアドレスおよびポート番号）が含まれている。経路表は、SUCCESSORおよびPREDECESSORの情報が格納されているエントリ２００，２０１と、SUCCESSOR ListまたはFinger Tableと呼ばれるエントリ２０２とから成る。
【００２０】
SUCCESSORを管理するためのエントリ２００には、SUCCESSORとなる他のデータ管理装置１の識別子（装置識別子）とそのデータ管理装置１のIPアドレスおよびポート番号とが格納されている。PREDECESSORを管理するためのエントリ２０１には、PREDECESSORとなる他のデータ管理装置１の識別子（装置識別子）とそのデータ管理装置１のIPアドレスおよびポート番号とが格納されている。SUCCESSOR ListまたはFinger Tableと呼ばれるエントリ２０２には、m台分（m≧0）のデータ管理装置１の識別子（装置識別子）とそれらのデータ管理装置１のIPアドレスおよびポート番号とが格納されている。
【００２１】
次に、データ管理表記憶部１３に格納されるデータ管理表の内容を説明する。各データ管理装置１は、自身が管理対象とする識別子空間上の数値範囲を認識しており、その数値範囲に含まれる識別子の付与されたデータの情報をデータ管理表として持つ。データ管理表は、データ毎のエントリにより構成されている。各エントリは、当該データの識別子、当該データが保存されているネットワーク装置のIPアドレス、およびポート番号の組合せにより構成されている（図３参照）。
【００２２】
次に、データ管理装置１間で送受信されるメッセージの内容を説明する。図４はメッセージの一例を示している。宛先IPアドレスフィールド４００、宛先ポート番号フィールド４０１には、それぞれメッセージの宛先であるデータ管理装置１のIPアドレス、ポート番号が記録されている。送信元IPアドレスフィールド４０２、送信元ポート番号フィールド４０３には、それぞれメッセージの送信元であるデータ管理装置１のIPアドレス、ポート番号が記録されている。
【００２３】
処理対象識別子フィールド４０４には、処理対象となる識別子（名前解決を依頼するデータの識別子等）が記録されている。メッセージ内容フィールド４０５には、メッセージの内容（名前解決の依頼等）が記録されている。発信元IPアドレスフィールド４０６、発信元ポート番号フィールド４０７には、それぞれメッセージを作成し、最初に発信したデータ管理装置１のIPアドレス、ポート番号が記録されている。
【００２４】
メッセージを最初に発信するデータ管理装置１は、送信元IPアドレスフィールド４０２と発信元IPアドレスフィールド４０６、送信元ポート番号フィールド４０３と発信元ポート番号フィールド４０７にそれぞれ同一の情報を記録する。また、他のデータ管理装置１から受信したメッセージを転送するデータ管理装置１は、送信元IPアドレスフィールド４０２と送信元ポート番号フィールド４０３を自身の情報に書き換えると共に、宛先IPアドレスフィールド４００と宛先ポート番号フィールド４０１を転送先のデータ管理装置１の情報に書き換えてメッセージを送信する。
【００２５】
次に、識別子演算部１４の動作を説明する。識別子演算部１４は、自身のデータ管理装置１のネットワーク上の実際の位置に対応したIPアドレス等の位置識別用の数値に基づいて、その数値が近いほど互いに近い値となるようなmビット（m＞1）の識別子を算出する。識別子の算出方法を図５に示す。以下では、データ管理装置１のネットワークアドレスがIPアドレスの上位24ビット（クラスC）であると仮定する。また、IPアドレスの体系がIPv4であるとして説明を行うが、IPアドレスの体系がIPv6であっても以下の方法を適用することが可能である。
【００２６】
例えば図５（ａ）のように、mビットの識別子の上位kビット（1≦k＜m）は、データ管理装置１のネットワークアドレスを元にハッシュ関数で算出された値とする。また、残りの下位m-kビットは、従来と同様の方法で算出された値（データ管理装置１のIPアドレスおよびポート番号の組を元にハッシュ関数で算出された値）とする。
【００２７】
ネットワーク上の位置が近いデータ管理装置１同士で識別子が互いに近い値となるようにしつつも、同じ識別子を有する複数のデータ管理装置１が存在しないよう、識別子の一意性を保つ必要がある。そこで、本実施形態では、データ管理装置１のネットワーク上の実際の位置に対応した値から識別子の上位ビットを算出し、データ管理装置１に固有の情報（IPアドレスとポート番号の組合せ等）に対応した、データ管理装置１毎に異なる値（固有値）から識別子の下位ビットを算出している。
【００２８】
また、識別子を図５（ｂ）のようにして算出してもよい。すなわち、データ管理装置１のネットワークアドレスをn個（2≦n≦24）のブロックに分割し、各ブロックを元にハッシュ関数で算出されたn個の値を元のブロックと同じ順にビット結合した値をmビットの識別子の上位kビット（1≦k＜m）とし、残りの下位m-kビットは、従来と同様の方法で算出された値（データ管理装置１のIPアドレスおよびポート番号の組を元にハッシュ関数で算出された値）とする。
【００２９】
図５（ａ）の方法に従って識別子を算出した場合、同一のネットワークアドレスを元に算出された2つの識別子は互いに近い値となるが、異なるネットワークアドレスを元に算出された2つの識別子は、元となったネットワークアドレス同士がたとえ近い値でも、互いに近い値になるとは限らない。これに対して、図５（ｂ）の方法に従って識別子を算出した場合、ブロックの数にもよるが、互いに近いネットワークアドレスを元に算出された2つの識別子も互いに近い値となる。これによって、データ管理装置１同士のネットワーク上の実際の距離関係に近い距離関係を識別子空間上でも保つことができる。
【００３０】
上記では、ハッシュ関数を用いて識別子を算出しているが、他の方法を用いてもよい。例えば、ネットワークアドレスをそのまま識別子の上位ビットとしてもよいし、適宜、ビット挿入あるいは削除を行ってもよい。上記のようにハッシュ関数を用いて識別子を算出する場合には、識別子空間上に識別子をできるだけ均一に配置することができる。
【００３１】
また、IPアドレスの代わりに、国番号、地域番号、市外局番等に基づいて識別子を算出するようにしてもよい。異なる2つのデータ管理装置１について、それらのネットワーク上の実際の位置が近いほど、識別子空間上の距離が近い識別子がそれらのデータ管理装置１に付与されるならば、そのような識別子の算出方法は全て本実施形態の技術思想を踏襲したものである。識別子の算出にIPアドレスを用いる場合には、国番号、地域番号、市外局番等を用いる場合よりも、識別子空間上のデータ管理装置１の識別子の配置に対して実際のネットワーク構造をより反映させることができる。
【００３２】
次に、図６を参照し、他のデータ管理装置１からメッセージを受信した場合のデータ管理装置１の動作を説明する。通信処理部１０は、メッセージの宛先IPアドレスおよび宛先ポート番号が自身を指すメッセージのみ受信し、処理部１１へメッセージを出力する（ステップＳ１００ ）。処理部１１はメッセージ内の処理対象識別子を確認し、その処理対象識別子が、自身の担当する範囲内の識別子であるか否かを判定する（ステップＳ１０１）。
【００３３】
処理対象識別子が、自身の担当する範囲内の識別子でなかった場合、処理部１１は経路表記憶部１２から経路表を読み出し（ステップＳ１０２）、経路表内のデータ管理装置１の識別子と処理対象識別子を比較して、メッセージの転送先となるデータ管理装置１を決定する（ステップＳ１０３）。続いて、処理部１１はメッセージの宛先IPアドレスおよび宛先ポート番号を転送先のデータ管理装置１のIPアドレスおよびポート番号に書き換えると共に、送信元IPアドレスおよび送信元ポート番号を自身のIPアドレスおよびポート番号に書き換え、通信処理部１０を介してメッセージを転送する（ステップＳ１０４）。メッセージの転送先となるデータ管理装置１は１台でも複数台でもよい。
【００３４】
一方、ステップＳ１０１での判定の結果、処理対象識別子が、自身の担当する範囲内の識別子であった場合、処理部１１はメッセージ内のメッセージ内容を参照し、メッセージ内容に応じた名前解決等の処理を行う（ステップＳ１０５）。
【００３５】
上記のステップＳ１０３において、メッセージの転送先となるデータ管理装置１は、具体的には以下のようにして決定される。処理対象識別子が識別子空間上で自身の識別子とSUCCESSORの識別子の間に位置する場合（すなわち識別子空間上で自身の識別子から正の方向に見て、処理対象識別子、SUCCESSORの識別子の順に識別子が並んでいる場合）、メッセージの転送先としてSUCCESSORが選択される。また、処理対象識別子が識別子空間上で自身の識別子とSUCCESSORの識別子の間に位置しない場合、経路表内の識別子のうち、識別子空間上で処理対象識別子から負の方向に見て最も近い識別子の付与されたデータ管理装置１がメッセージの転送先として選択される。
【００３６】
次に、従来の識別子の算出方法と本実施形態の識別子の算出方法を比較する。識別子の算出方法の違いによる効果を評価するため、数値シミュレーションを行った。まず、本数値シミュレーションで想定するネットワークであるインターネットのトポロジーを説明する。インターネットは、自律システム（AS：Autonomous System）と呼ばれる複数のネットワークより構成されている。自律システムとは、共通の経路情報を共有し、1 つの管理実体のもとに存在するネットワーク（例えば、特定のインターネットサービスプロバイダが管理するネットワークなど）である。
【００３７】
自律システム自体もひとつのネットワークであり、複数のルータで構成される。図７は、複数の自律システムにより構成されるインターネットのネットワークトポロジーを模式的に示している。このようなネットワークトポロジーを構築するための数学的モデルとして、Transit-Stubモデル（E. W. Zegura，K. L. Calvert，S. Bhattacharjee，“How to Model an Internetwork”，IEEE Infocom，vol. 2，pp594-602，San Francisco，CA，1996）がある。本数値シミュレーションでは、想定する物理ネットワークとしてTransit-Stubモデルを使用し、2400台のルータで構成されるネットワークを生成した。
【００３８】
続いて、この物理ネットワーク上に1024台のデータ管理装置（Chordノード）をランダムに配置し、オーバーレイネットワークを構築した。各データ管理装置に付与する識別子のビット長は160bitとした。この状態で、ランダムに2台のデータ管理装置を選択し、一方から送信されたメッセージが他方に到達するまでのデータ管理装置間転送回数（Chordノード間転送回数 ＝ Path Length）、および物理ネットワークにおけるルータホップ数を、数値シミュレーションにより評価した。
【００３９】
本数値シミュレーションでは、従来のChord方式（IPアドレスに基づいたランダムな識別子を個々のデータ管理装置に付与する方式）と本実施形態による方式のそれぞれについて宛先データ管理装置をランダムに指定し、メッセージの送信を1000回試行した。それぞれの試行についてデータ管理装置間転送回数（Path Length）とルータホップ数の関係を図８に示す。また、図８に示したデータをまとめた結果を図９に示す。
【００４０】
本実施形態による識別子生成方法を用いると、従来の識別子生成方法と比べて、メッセージが宛先データ管理装置に到達するまでに要するデータ管理装置間の平均転送回数は変わらないが、平均ルータホップ数は42.0から26.8に低減する。本実施形態では、ネットワーク上の位置が近いほど互いに近い値となるような識別子を各データ管理装置が自身の識別子に設定するので、識別子空間上で互いに近い識別子を付与されたデータ管理装置同士の間で送受信されるメッセージの伝送距離がより短くなる。その結果、上記のように平均ルータホップ数が低減する。したがって、本実施形態によれば、メッセージの伝送遅延に起因する各種処理の遅延やメッセージ消失の可能性を低減することができる。
【００４１】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態によるデータ管理システムの構成を示すブロック図である。
【図２】本発明の一実施形態における経路表の内容を示す参考図である。
【図３】本発明の一実施形態におけるデータ管理表の内容を示す参考図である。
【図４】本発明の一実施形態におけるメッセージの構造を示す参考図である。
【図５】本発明の一実施形態における識別子の算出方法を説明するための参考図である。
【図６】本発明の一実施形態によるデータ管理装置のメッセージ受信時の動作の手順を示すフローチャートである。
【図７】本発明の一実施形態における数値シミュレーションで想定するネットワークのトポロジーを示す参考図である。
【図８】本発明の一実施形態における数値シミュレーションの結果を示す参考図である。
【図９】本発明の一実施形態における数値シミュレーションの結果を示す参考図である。
【図１０】循環する識別子空間における識別子の配置の様子を示す参考図である。
【符号の説明】
【００４３】
１・・・データ管理装置、１０・・・通信処理部、１１・・・処理部、１２・・・経路表記憶部、１３・・・データ管理表記憶部、１４・・・識別子演算部、１５・・・識別子記憶部、３００・・・通信ネットワーク
【図１】
2008011330.tif 000003
【図２】
2008011330.tif 000004
【図３】
2008011330.tif 000005
【図４】
2008011330.tif 000006
【図５】
2008011330.tif 000007
【図６】
2008011330.tif 000008
【図７】
2008011330.tif 000009
【図８】
2008011330.tif 000010
【図９】
2008011330.tif 000011
【図１０】
2008011330.tif 000012