(57)【特許請求の範囲】
【請求項１】
ＩＰパケット制御装置において、サーチキーのハッシュ値の衝突が発生しているか否かを監視して、所定閾値以上の衝突が発生している場合はハッシュ関数自体を変更することによって、ハッシュ値の衝突を最小限に抑えるソフトウェア検索方法であって、
サーチキー登録機能部が、サーチキーを更新面と確定面とからなるサーチキー格納テーブルの更新面に登録するとともに、前記サーチキー格納テーブルを所定時間ごとに更新面と確定面とを入れ替えることを特徴とするＩＰパケット制御装置におけるソフトウェア検索方法。
【請求項２】
ＩＰパケット制御装置において、サーチキーのハッシュ値の衝突が発生しているか否かを監視して、所定閾値以上の衝突が発生している場合はハッシュ関数自体を変更して最適なハッシュ関数とすることによって、ハッシュ値の衝突を最小限に抑えるソフトウェア検索方法であって、
サーチキー登録機能部が、サーチキーを更新面と確定面とからなるサーチキー格納テーブルの更新面に登録するとともに、前記サーチキー格納テーブルを所定時間ごとに更新面と確定面とを入れ替えることを特徴とするＩＰパケット制御装置におけるソフトウェア検索方法。
【請求項３】
前記ＩＰパケット制御装置において、最適ハッシュ関数生成部が、前記サーチキー格納テーブルの確定面に登録されているサーチキー群をもとに、所定時間周期で最新の最適ハッシュ関数を生成して、生成した最新のハッシュ関数を同じ周期でＳＢＹ面のハッシュキー生成／登録部に通知することによって、前記ハッシュキー生成／登録部では、通知された最新のハッシュ関数を用いてハッシュテーブルの内容を更新することを特徴とする請求項１または２記載のＩＰパケット制御装置におけるソフトウェア検索方法。
【請求項４】
前記ＩＰパケット制御装置において、ＡＣＴ面のハッシュキー生成／登録部では、ＡＣＴ面のハッシュテーブルにハッシュキーを登録する際に、ハッシュ値の衝突が所定閾値以上に発生しているか否かを確認し、閾値以上であった場合は、テーブル管理部に通知することによって、通知されたテーブル管理部が、ＡＣＴ面のハッシュキー生成／登録部及びハッシュテーブルと、ＳＢＹ面のハッシュキー生成／登録部及びハッシュテーブルとのＡＣＴ面／ＳＢＹ面の状態を入れ替えることを特徴とする請求項３記載のＩＰパケット制御装置におけるソフトウェア検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＩＰ(Internet Protocol) パケット処理装置において、高速なソフトウェア検索を実現できる、ＩＰパケット制御装置におけるソフトウェア検索方法に関する。
【背景技術】
【０００２】
ハッシュアルゴリズムを使用したソフトウェア検索手法において、異なるサーチキーから同一のハッシュキーが生成されるケースがあるため、実際の検索においては、ハッシュキーから特定される配列に対して、オリジナルの（ハッシュ演算前の）サーチキーを用いて、リニア（線形）サーチを行って、最終的な検索結果を求める。
【０００３】
すなわち、異なるＮ個のサーチキーに対するハッシュ値が同じＭという値になっている場合、換言すれば、ハッシュ値がＭであるサーチキーがＮ個存在する場合は、検索結果を求めるためには、Ｎ個のデータをリニアサーチする必要がある。
この際、１番目のサーチキーでヒットすれば、ハッシュキーから特定される配列に対して１回アスセスすればすむが、Ｎ番目のサーチキーでヒットするようなケースでは、Ｎ回のアクセスが必要となるため、それだけ検索時間がかかり、処理能力の低下をきたすことになる。また、１回アクセスする場合と、Ｎ回アクセスする場合とでは処理時間が異なるため、ばらつきの発生につながるという課題がある。
【０００４】
この課題は、オリジナルのサーチキーのビット幅が大きければ大きいほど、また、ハッシュキーのビット幅が小さければ小さいほど、顕著になる。
極端な場合として、サーチキーのビット幅とハッシュキーのビット幅を同じにすれば、この課題は回避可能であるが、膨大なデータ量のテーブル（メモリ）が必要になるため、実現は不可能である。
【０００５】
また、サーチキーの傾向が予めわかっている場合には、これに合わせて最適なハッシュ関数を構築することによって、異なるサーチキーからさ同じハッシュ値が生成される確率（ハッシュ値の衝突が発生する確率）を低減することが可能であるが、サーチキーの予測が困難な場合には、実現不可能である。
【０００６】
これに対して、ハッシュテーブル及び履歴テーブルを２組有し、一方を新ハッシュテーブル及び履歴テーブルとして、新エントリが追加されるテーブルとし、他方を旧ハッシュテーブル及び履歴テーブルとして、参照のみが許されるテーブルとする。符号化装置は、これらのテーブルを画素ラインごとに新旧を入れ替えて使用することにより、データの古さを確認することなく古いデータを削除する。また符号化装置は、ハッシュテーブルに出現の有無を記憶することにより、ハッシュテーブルのデータサイズを抑えてもよい。
これにより高速な符号化処理を実現することが可能な符号化装置を提供する、符号化装置、符号化方法及びそのプログラムが知られている（特許文献１参照）。
【０００７】
また、主メモリ上に、複数のハッシュテーブルと、各ハッシュテーブルに１対１に対応するハッシュ管理テーブルを設ける。主メモリ上のプログラムにハッシュ管理プログラム（アプリケーションプログラムにハッシュ管理プログラムを含む又は呼び出す）の実行により、ハッシュテーブルへのデータの格納または取り出しが指示され、ハッシュ管理プログラムがハッシュ値の計算による探索を行う。所定の検索回数に達しても目的の検索位置（パケット）が見つからない場合、ハッシュ管理テーブルを参照し、次のハッシュテーブルが存在していれば、このテーブルに探索をシフトする。
これにより、ハッシュ法によるデータ管理で、予め想定した以上のデータ数が入力されても処理が継続でき、かつ、主メモリの消費量を低減する、ハッシュ法による情報処理方法および情報処理装置が知られている（特許文献２参照）。
【０００８】
また、システムが、画像記憶域、ディジタルハッシングユニット、および透かしエンコーダを備える。ディジタル画像ハッシングユニットは、視覚的に類似する画像は同じハッシュ値にハッシュされ、視覚的に異なる画像は異なるハッシュ値にハッシュされるようにして、ディジタル画像を表すハッシュ値を計算する。ハッシュ値は、画像ハッシュテーブルに記憶され、このテーブルを介して元画像と関連付けられる。この画像ハッシュテーブルを使用して、画像記憶域を索引付けすることができる。透かしエンコーダは、ハッシュ値および秘密に基づいて透かしを計算する。両方の値を使用することにより、ＢＯＲＥ（Break Once, Run Everywhere 、一度破られればどこへでも流入する）攻撃に耐える透かしがもたらされる。というのは、包括的な透かし秘密が発見されたとしても、攻撃者は、画像の攻撃を成功させるにはやはり各画像のハッシュ値を必要とするからである。このシステムは、インターネットを警備して海賊コピーを検出するように構成することができる。
このシステムにより、リモートウェブサイトからランダムに画像を収集し、同じハッシング関数を使用して画像をハッシュし、次いでシステムは、画像ハッシュを元画像のハッシュと比較して、ハッシュが合致する場合は、収集した画像は元画像のコピーであることが疑われる、ディジタル画像をハッシュするためのシステムおよび方法が知られている（特許文献３参照）。
【特許文献１】特開２００５−１５９８２０号公報（〔００７４〕）
【特許文献２】特開平０８−２７８８９４号公報（〔００５３〕）
【特許文献３】特表２００４−５２６３４０号公報（〔００２１〕，〔００２８〕）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＩＰパケット処理装置におけるデータベース検索方法としては、ＣＡＭ（Content Addressable Memory；連想メモリ) デバイスや検索エンジンを使用してハードウェア的に処理を行うハードウェア検索と、検索アルゴリズム（ハッシュ等）を使用してソフトウェア的に処理を行うソフトウェア検索とに大別される。
【００１０】
このうち、前者のハードウェア処理の場合は、高速かつ一定の処理時間での検索が可能であるが、検索すべきデータ量が多くなると、デバイスの発熱量や消費電力が大きくなるといった課題や、デバイスの価格が高騰するといった課題がある。
ＩＰパケット制御装置では、後者のソフトウェア処理により、ハッシュ方式による検索アルゴリズムが使用されることが多いが、この場合は、ハッシュ関数の選択方法によっては、ハッシュ値の衝突による性能劣化や検索時間のばらつきが発生するといった懸念事項がある。
【００１１】
ハッシュ方式では、予め検索対象のデータが固定的に判明している場合には、最適ハッシュ関数を算出して、これを使用することによって、ハッシュ値の衝突を最小限に抑えることが可能であるが、検索キーを事前に予想することができず、また検索キーがダイナミックに変化する場合には、最適ハッシュ関数を予め求めることができないため、ハッシュ値の衝突を抑制することができない。
従って、ハッシュ値の衝突を最小限に抑えて、ハッシュ値の衝突に基づく性能劣化や検索時間のばらつきの発生を抑えることが可能な、ハッシュ関数の選択方法が重要な課題となる。
【００１２】
これに対して、特許文献１に記載された符号化装置、符号化方法およびプログラムでは、ハッシュテーブルおよび履歴テーブルを画素ラインごとに入れ替えて使用することによって、データの古さを確認することなく古いデータを削除するようにしている（〔００４３〕）。
従って、特許文献１に記載された技術では、常に最新の検索キーに見合ったハッシング関数を用いることによって、ハッシュ値の衝突を最小限に抑えることはできないとともに、ハッシュの衝突が一定値に達した場合のみ、実際に使用するハッシュ関数，ハッシュテーブルの切り替えを行うため、負荷が上昇する恐れがあるという問題がある。
【００１３】
また、特許文献２に記載されたハッシュ法による情報処理方法および情報処理装置では、一つのハッシュテーブル内で目的の探索が達成できない場合に、簡単に後続のハッシュテーブルに探索をシフトできるので、複数のハッシュテーブルをあたかも一つの大きなハッシュテーブルのように扱うことができる（〔００２１〕）。
従って特許文献２に記載された技術では、常に最新の検索キーに見合ったハッシュ関数を用いることによって、ハッシュ値の衝突を最小限に抑えることはできるが、予め想定した以上のデータ数が入力されても処理を継続するため、負荷が上昇する恐れがあるという問題がある。
【００１４】
また、特許文献３に記載されたディジタル画像をハッシュするためのシステムおよび方法では、リモートウェブサイトからランダムにデータを収集し、同じハッシング関数を使用してハッシュを行って、もとのデータのハッシュ結果と比較して合致した場合にデータがもとのデータのコピーであることを検知する（〔００６６〕）。
従って、特許文献３に記載された技術では、常に最新の検索キーに見合ったハッシュ関数を用いることによって、ハッシュ値の衝突を最小限に抑えることはできないという問題がある。
【００１５】
この発明は上述の事情に鑑みてなされたものであって、常に最新の検索キーに見合ったハッシュ関数を用いているので、ハッシュ値の衝突を最小限に抑えることができるとともに、ハッシュ値の衝突が一定値に達した場合にのみ、実際に使用するハッシュ関数，ハッシュテーブルの切り替えを行うため、負荷の上昇を招くことなく、処理を実行することが可能な、ＩＰパケット制御装置におけるソフトウェア検索方法を提供することを目的としている。
【課題を解決するための手段】
【００１６】
上記課題を解決するため、この発明は、ＩＰパケット制御装置において、サーチキーのハッシュ値の衝突が発生しているか否かを監視して、所定閾値以上の衝突が発生している場合はハッシュ関数自体を変更することによって、ハッシュ値の衝突を最小限に抑えるソフトウェア検索方法に係り、サーチキー登録機能部が、サーチキーを更新面と確定面とからなるサーチキー格納テーブルの更新面に登録するとともに、前記サーチキー格納テーブルを所定時間ごとに更新面と確定面とを入れ替えることを特徴としている。
【発明の効果】
【００１７】
本発明のＩＰパケット制御装置におけるソフトウェア検索方法によれば、常に最新の検索キーに見合ったハッシュ関数を用いているので、ハッシュ値の衝突を最小限に抑えることができる。
また、ハッシュ値の衝突が一定値に達した場合にのみ、実際に使用するハッシュ関数，ハッシュテーブルの切り替えを行うので、負荷を増大させることなく処理を実施することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。
【実施形態】
【００１９】
図１は、本発明のＩＰパケット制御装置におけるソフトウェア検索方法を説明するための図、図２は、図１に示された構成における従来方法の場合の課題を説明するための図、図３は、図１に示された構成における各部の動作を説明するための図、図４は、ハッシュキー生成／登録部（ＡＣＴ(ACTive)面）の動作を説明するための図、図５は、ハッシュキー生成／登録部（ＳＢＹ(StandBY) 面）の動作を説明するための図、図６は、ハッシュテーブル管理部の動作を説明するための図である。
【００２０】
図１において、１０１はＩＰパケット処理装置であって、ネットワークから受信したＩＰパケットからサーチキーを抽出してテーブルを検索し、検索結果に基づいてプロトコル処理等のパケット処理を行って、処理後のＩＰパケットをネットワークに転送する。
ＩＰパケット処理装置１０１は、検索用データの管理等を行うデータ管理部２０１と、テーブルの検索やＩＰパケットの編集，送受信処理等を行うパケット処理部２０２とから構成されている。
【００２１】
データ管理部２０１は、サーチキー格納テーブル（更新面）３０１、サーチキー格納テーブル（確定面）３０２、最適ハッシュ関数生成部３０３、ハッシュテーブル管理部４０１、ハッシュキー生成／登録部（ＡＣＴ面）５０１、ハッシュテーブル（ＡＣＴ面）５０２、ハッシュキー生成／登録部（ＳＢＹ面）６０１、ハッシュテーブル（ＳＢＹ面）６０２の各機能部から構成されている。
【００２２】
パケット処理部２０２は、サーチキー抽出部７０１、ハッシュキー生成部７０２、テーブル検索部７０３、パケット処理部７０４から構成されている。
【００２３】
サーチキー登録機能部１０２は、ＩＰパケット処理装置１０１とは別の装置であって、ＩＰパケット処理装置１０１に対して、ダイナミックにサーチキーの登録・更新・削除の処理を行う。
本実施例においては、ＩＰパケットの宛先アドレス（Destination Address；以下、ＤＡと略称する）をサーチキーとして使用するものとする。ＤＡはＩＰｖ６（IP version.6) アドレス（１２８ビット）であるものとする。また、ハッシュキーは３２ビットであるものとする。
【００２４】
サーチキー登録機能部１０２は、サーチキーであるＩＰｖ６アドレス（１２８ビット）を、サーチキー格納テーブル（更新面）３０１に登録するとともに、ハッシュキー生成／登録部（ＡＣＴ面）５０１、ハッシュキー生成／登録部（ＳＢＹ面）６０１に受け渡す。
ハッシュキー生成／登録部（ＡＣＴ面）５０１は、ＡＣＴ面用ハッシュ関数（ΣＡ）を使用して３２ビットのハッシュキーを生成し、ハッシュテーブル（ＡＣＴ面）５０２に登録する。
ハッシュキー生成／登録部（ＳＢＹ面）６０１は、ＳＢＹ面用ハッシュ関数（ΣＳ）を使用して３２ビットのハッシュキーを生成し、ハッシュテーブル（ＳＢＹ面）６０２に登録する。
【００２５】
サーチキー格納テーブル（更新面）３０１とサーチキー格納テーブル（確定面）３０２とは、５分周期で入れ替わって、旧更新面が新確定面になり、旧確定面が新更新面になる。
サーチキーの登録は、常に更新面に対して行われる。
【００２６】
最適ハッシュ関数生成部３０３は、サーチキー格納テーブル（確定面）３０２に登録されているサーチキー群をもとに、５分周期で最新の最適ハッシュ関数を生成（算出）する。生成された最新のハッシュ関数は、ハッシュキー生成／登録部（ＳＢＹ面）６０１に５分周期で通知される。
ハッシュキー生成／登録部（ＳＢＹ面）６０１では、通知された最新のハッシュ関数を用いて、ハッシュテーブル（ＳＢＹ面）６０２の内容を更新する。
また、これ以降、サーチキー登録機能部１０２から通知されたサーチキーについては、新しいハッシュ関数を使用してハッシュキーの生成を行って、ハッシュテーブル（ＳＢＹ面）６０２に登録する。
【００２７】
ハッシュキー生成／登録部（ＡＣＴ面）５０１は、ハッシュテーブル（ＡＣＴ面）５０２にハッシュキーを登録する際、ハッシュ値の衝突が所定の閾値以上発生しているか否かを確認して、閾値以上であった場合は、ハッシュテーブル管理部４０１に通知する。この通知を受けたハッシュテーブル管理部４０１は、ハッシュキー生成／登録部（ＡＣＴ面）５０１及びハッシュテーブル（ＡＣＴ面）５０２、ハッシュキー生成／登録部（ＳＢＹ面）６０１及びハッシュテーブル（ＳＢＹ面）６０２の、ＡＣＴ面／ＳＢＹ面の状態を切り替える。
また、最適ハッシュ関数生成部３０３、テーブル検索部７０３に対して、ＡＣＴ面／ＳＢＹ面が切り替えられたことを通知する。
【００２８】
一方、ネットワークから受信したＩＰパケットは、サーチキー抽出部７０１でサーチキーの抽出を行う。この実施形態の場合は、ＩＰｖ６パケットのＩＰヘッダから、ＤＡをサーチキーとして抽出する。
ハッシュキー生成部７０２では、ハッシュ関数を用いて３２ビットのハッシュキーを生成する。テーブル検索部７０３では、生成されたハッシュキーを使用して、ハッシュテーブル（ＡＣＴ面）５０２を検索する。パケット処理部７０４では、得られた検索結果をもとにパケットを編集して、ネットワークへ送信する。
【００２９】
以下、図１の構成図に示された各部の動作を、図２〜図５を使用して説明する。
図２は、図１に示された構成において、従来方法を適用した場合の問題点を説明するものである。
ハッシュアルゴリズムを使用したソフトウェア検索手法において、異なるサーチキーから同一のハッシュキーが生成されるケースがあるため、実際の検索においてはハッシュキーから特定される配列に対して、ハッシュ演算前のオリジナルのサーチキーを用いてリニア（線形）サーチを行って、最終的な検索結果を求める。
【００３０】
図２の例では、異なるＮ個のサーチキーに対するハッシュ値が、同じＭという値になっている。換言すれば、ハッシュ値がＭであるサーチキーがＮ個存在することから、検索結果を求めるためには、Ｎ個のデータをリニアサーチする必要がある。
この際、サーチキー＃１でヒットすれば、配列に対して１回アクセスすればすむが、サーチキー＃ＮでヒットするようなケースではＮ回のアクセスが必要になるため、それだけ検索時間がかかり、処理能力が低下することとなる。
また、１回アクセスの場合とＮ回アクセスの場合とでは処理時間が異なるため、ばらつきの原因にもなるといった課題が残ることになる。
【００３１】
図３は、図１に示された構成における、サーチキー登録機能部１０２、サーチキー格納テーブル（更新面）３０１、サーチキー格納テーブル（確定面）３０２、最適ハッシュ関数生成部３０３、ハッシュキー生成／登録部（ＳＢＹ面）６０１の動作を説明するものである。
【００３２】
サーチキー登録機能部１０２は、サーチキー格納テーブル（更新面）３０１に対して、サーチキーの登録，更新，削除を行う。サーチキー格納テーブル（更新面）３０１と、サーチキー格納テーブル（確定面）３０２は、例えば５分周期で状態遷移を行い、これによって更新面が確定面になり、確定面が更新面になる。
更新面が確定面に遷移すると、最適ハッシュ関数生成部３０３は、新更新面からデータを読み出して、最適ハッシュ関数を生成する。生成したハッシュ関数は、ハッシュキー生成／登録部（ＳＢＹ面）６０１に通知される。
【００３３】
図４は、ハッシュキー生成／登録部（ＡＣＴ面）５０１の動作を示すものである。
ハッシュキー生成／登録部（ＡＣＴ面）５０１は、サーチキー登録機能部１０２からサーチキー登録通知を受信すると（ステップＳ１０１）ハッシュキーを生成し（ステップ１０２）、生成されたハッシュキーと同一のハッシュキーが閾値以上であるか否かを判定する（ステップＳ１０３）。
閾値以上の場合は、ハッシュテーブル管理部４０１へ閾値超過として通知し（ステップＳ１０４）、閾値未満の場合は、ハッシュテーブル（ＡＣＴ面）５０２へハッシュキーを登録する（ステップＳ１０５）。
ハッシュテーブル管理部４０１からＳＢＹ化指示を受信した（ステップＳ１０６）場合は、ＳＢＹ状態へ遷移する（ステップＳ１０７）。
【００３４】
図５は、ハッシュキー生成／登録部（ＳＢＹ面）６０１の動作を示すものである。
サーチキー登録機能部１０２からサーチキー登録通知を受信すると（ステップＳ２０１）、ハッシュキーを生成して（ステップＳ２０２）、ハッシュテーブル（ＳＢＹ面）２０２へハッシュキーを登録する（ステップＳ２０３）。
ハッシュテーブル管理部４０１からＡＣＴ化指示を受信した場合（ステップＳ２０４）は、ＡＣＴ状態へ遷移する（ステップＳ２０５）。
また、最適ハッシュ関数生成部３０３から新ハッシュ関数を受信した場合（ステップＳ２０６）は、機能部で使用するハッシュ関数を更新する（ステップＳ２０７）とともに、ハッシュテーブル（ＳＢＹ面）６０２の内容を、新ハッシュ関数を用いて更新する（ステップＳ２０８）。
【００３５】
図６は、ハッシュテーブル管理部４０１の動作を示すものである。
ハッシュキー生成／登録部（ＡＣＴ面）５０１からハッシュキーが閾値をオーバーした旨の通知を受信すると（ステップＳ３０１）、ハッシュキー生成／登録部（ＡＣＴ面）５０１へＳＢＹ化を指示し（ステップＳ３０２）、ハッシュキー生成／登録部（ＳＢＹ面）６０１へＡＣＴ化を指示し（ステップＳ３０３）、パケット処理部２０２のハッシュキー生成部７０２へハッシュ関数の変更が発生したことを通知して、新ハッシュ関数の取得を指示し（ステップＳ３０４）、テーブル検索部７０３へハッシュテーブル（ＡＣＴ面）５０２の内容が変更されたことを通知する（ステップＳ３０５）。
【００３６】
以上、この発明の実施形態を図面により詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。例えば、宛先アドレス（ＤＡ）はＩＰｖ６（１２８ビットの場合に限らず他のビット数であってもよく、また、ハッシュキーも３２ビットに限らず他のビット数であってもよい。
【産業上の利用可能性】
【００３７】
この発明は、ハッシュ方式を使用するＩＰパケット制御装置におけるソフトウェア検索方法として、一般的に利用可能なものである。
【図面の簡単な説明】
【００３８】
【図１】本発明のＩＰパケット制御装置におけるソフトウェア検索方法を説明するための図である。
【図２】図１に示された構成における従来方法の場合の課題を説明するための図である。
【図３】図１に示された構成における各部の動作を説明するための図である。
【図４】ハッシュキー生成／登録部（ＡＣＴ面）の動作を説明するための図である。
【図５】ハッシュキー生成／登録部（ＳＢＹ面）の動作を説明するための図である。
【図６】ハッシュテーブル管理部の動作を説明するための図である。
【符号の説明】
【００３９】
１０１    ＩＰパケット処理装置
１０２    サーチキー登録機能部
２０１    データ管理部
２０２    パケット処理部
３０１    サーチキー格納テーブル（更新面）
３０２    サーチキー格納テーブル（確定面）
３０３    最適ハッシュ関数生成部
４０１    ハッシュテーブル管理部
５０１    ハッシュキー生成／登録部（ＡＣＴ面）
５０２    ハッシュテーブル（ＡＣＴ面）
６０１    ハッシュキー生成／登録部（ＳＢＹ面）
６０２    ハッシュテーブル（ＳＢＹ面）
７０１    サーチキー抽出部
７０２    ハッシュキー生成部
７０３    テーブル検索部
７０４    パケット処理部
【図１】
0005012674.tif 000002
【図２】
0005012674.tif 000003
【図３】
0005012674.tif 000004
【図４】
0005012674.tif 000005
【図５】
0005012674.tif 000006
【図６】
0005012674.tif 000007