(57)【要約】【課題】  ノード装置に格納されたデータ毎のアクセス頻度に偏りがあるときでも、処理実行速度の低下を阻止する。【解決手段】  実施形態の各ノード装置においては、アクセス頻度情報及び閾値情報を比較することによって、このアクセス頻度情報により示される値が、この閾値情報により示される閾値を超えているか否かを判定する。各ノード装置においては、アクセス頻度情報により示される値が、閾値情報により示される閾値を超えていると、読出し要求に含まれるデータ識別情報に関連付けられたデータを読出し、この読出されたデータを複製し、このデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報を読出し、複製されたデータを当該読出されたノード装置識別情報に対応するノード装置に送信する。【選択図】図１
2012043358.tif 000002
【特許請求の範囲】
【請求項１】
読出し対象のデータを識別するためのデータ識別情報を含む読出し要求を送信し、前記読出し要求に応じて読出されたデータを受信する読出し要求装置とネットワークを介して接続され、前記読出し要求を受けると、この読出し要求に応じたデータを読出して前記読出し要求装置に送信する互いに通信可能な複数のノード装置を備えた分散型データベースシステムであって、
前記各ノード装置は、
前記読出し対象のデータと、このデータを識別するためのデータ識別情報とを関連付けて格納するデータ格納手段と、
前記格納されたデータ識別情報毎に、前記読出し要求装置から当該データ識別情報に関連付けられたデータへのアクセス回数を示すアクセス回数情報、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報、単位時間当たりの前記アクセス回数の値を示すアクセス頻度情報及び前記アクセス頻度情報に対して設定された閾値を示す閾値情報を格納するアクセス情報格納手段と、
他ノード装置に格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置を識別するためのノード装置識別情報とを関連付けて格納する識別情報格納手段と、
前記読出し要求装置から前記データ格納手段に格納されたデータへのアクセス回数をカウントし、前記カウントしたアクセス回数を示すアクセス回数情報と、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報とを前記アクセス情報格納手段に書込む手段と、
現在の時刻を示す現在時刻情報を定期的に取得すると、前記取得した現在時刻情報、前記格納されたカウント開始時刻情報及び前記格納されたアクセス回数情報に基づいて、前記アクセス頻度情報を算出し、前記算出されたアクセス頻度情報を前記アクセス情報格納手段に書込む手段と、
他ノード装置に格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置を識別するためのノード装置識別情報とを受信すると、当該データ識別情報と当該ノード装置識別情報とを関連付けて前記識別情報格納手段に書込む手段と、
前記読出し要求を受けると、前記データ格納手段に格納されたデータ識別情報のいずれかが、当該読出し要求に含まれるデータ識別情報に一致するか否かを判定するデータ識別情報判定手段と、
この判定結果が一致を示すとき、当該一致したデータ識別情報に関連付けられたアクセス頻度情報及び閾値情報を前記アクセス情報格納手段から読み出す手段と、
前記読出されたアクセス頻度情報及び前記読出された閾値情報を比較することによって、当該アクセス頻度情報により示される値が当該閾値情報により示される閾値を超えているか否かを判定するアクセス頻度判定手段と、
この判定結果が否を示すとき、前記一致したデータ識別情報に関連付けられたデータを前記データ格納手段から読出し、当該読出したデータを前記読出し要求装置に送信する手段と、
前記アクセス頻度判定手段による判定結果が閾値を超えている旨を示すとき、前記一致したデータ識別情報に関連付けられたデータをデータ格納手段から読出し、当該読出したデータを複製する手段と、
前記アクセス頻度判定手段による判定結果が閾値を超えている旨を示すとき、前記一致したデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報を前記識別情報格納手段から読み出す手段と、
前記複製されたデータを当該読出されたノード装置識別情報に対応するノード装置に送信する手段と
を備えたことを特徴とする分散型データベースシステム。
【請求項２】
請求項１に記載の分散型データベースシステムにおいて、
前記各ノード装置は、
前記データ識別情報判定手段による判定結果が不一致を示すとき、当該判定に用いた読出し要求に含まれるデータ識別情報に関連付けられたノード装置識別情報を前記識別情報格納手段から読み出す手段と、
当該読出されたノード装置識別情報に対応するノード装置に当該読出し要求を転送する手段と
を更に備えたことを特徴とする分散型データベースシステム。
【請求項３】
請求項１又は請求項２に記載の分散型データベースシステムにおいて、
前記各ノード装置は、
前記複製されたデータを他ノード装置から受信し、当該受信したデータを前記データ格納手段に格納すると、当該格納されたデータに関連付けられたデータ識別情報と、自ノード装置を示す前記ノード装置識別情報とを他ノード装置に送信する手段を更に備えたことを特徴とする分散型データベースシステム。
【請求項４】
読出し対象のデータを識別するためのデータ識別情報を含む読出し要求を送信し、前記読出し要求に応じて読出されたデータを受信する読出し要求装置とネットワークを介して接続され、前記読出し要求を受けると、この読出し要求に応じたデータを読出して前記読出し要求装置に送信する互いに通信可能な複数のノード装置と、前記各ノード装置に格納されたデータを複製するための複製要求を受けると、この複製要求に従ってデータを複製する複数のデータ複製配置処理装置とを備えた分散型データベースシステムであって、
前記各ノード装置は、
前記読出し対象のデータと、このデータを識別するためのデータ識別情報とを関連付けて格納するデータ格納手段と、
前記格納されたデータ識別情報毎に、前記読出し要求装置から当該データ識別情報に関連付けられたデータへのアクセス回数を示すアクセス回数情報、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報、単位時間当たりの前記アクセス回数の値を示すアクセス頻度情報及び前記アクセス頻度情報に対して設定された閾値を示す閾値情報を格納するアクセス情報格納手段と、
前記読出し要求装置から前記データ格納手段に格納されたデータへのアクセス回数をカウントし、前記カウントしたアクセス回数を示すアクセス回数情報と、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報とを前記アクセス情報格納手段に書込む手段と、
現在の時刻を示す現在時刻情報を定期的に取得すると、前記取得した現在時刻情報、前記格納されたカウント開始時刻情報及び前記格納されたアクセス回数情報に基づいて、前記アクセス頻度情報を算出し、前記算出されたアクセス頻度情報を前記アクセス情報格納手段に書込む手段と、
前記読出し要求を受けると、前記データ格納手段に格納されたデータ識別情報のいずれかが、当該読出し要求に含まれるデータ識別情報に一致するか否かを判定するデータ識別情報判定手段と、
この判定結果が一致を示すとき、当該一致したデータ識別情報に関連付けられたアクセス頻度情報及び閾値情報を前記アクセス情報格納手段から読み出す手段と、
前記読出されたアクセス頻度情報及び前記読出された閾値情報を比較することによって、当該アクセス頻度情報により示される値が当該閾値情報により示される閾値を超えているか否かを判定するアクセス頻度判定手段と、
この判定結果が否を示すとき、前記一致したデータ識別情報に関連付けられたデータを前記データ格納手段から読出し、当該読出したデータを前記読出し要求装置に送信する手段と、
前記アクセス頻度判定手段による判定結果が閾値を超えている旨を示すとき、前記一致したデータ識別情報に関連付けられたデータを前記データ格納手段から読出し、当該読出されたデータ及び当該データ識別情報を含む複製要求を前記データ複製配置処理装置に送信する手段と、
前記データ識別情報判定手段による判定結果が不一致を示すとき、当該判定に用いた読出し要求に含まれたデータ識別情報を含む送信要求を前記データ複製配置処理装置に送信し、この送信要求に応じて返信されたノード装置識別情報であって当該データ識別情報を格納しているノード装置を識別するための前記ノード装置識別情報に対応するノード装置に当該読出し要求を転送する手段と
を備え、
前記データ複製配置処理装置は、
前記各ノード装置に格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置を識別するためのノード装置識別情報とを関連付けて格納する識別情報格納手段と、
前記各ノード装置に格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置を識別するためのノード装置識別情報とを受信すると、当該データ識別情報と当該ノード装置識別情報とを関連付けて前記識別情報格納手段に書込む手段と、
前記各ノード装置から送信された複製要求を受信すると、この複製要求に含まれるデータを複製する手段と、
前記受信された複製要求に含まれたデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報を前記識別情報格納手段から読み出す手段と、
前記読出されたノード装置識別情報に対応するノード装置に前記複製されたデータを送信する手段と、
前記各ノード装置から前記送信要求を受信すると、この送信要求に含まれるデータ識別情報に関連付けられたノード装置識別情報を前記識別情報格納手段から読出し、このノード装置識別情報を当該送信要求の送信元のノード装置に返信する手段と
を備えたことを特徴とする分散型データベースシステム。
【請求項５】
読出し対象のデータを識別するためのデータ識別情報を含む読出し要求を送信し、前記読出し要求に応じて読出されたデータを受信する読出し要求装置とネットワークを介して接続され、前記読出し要求を受けると、この読出し要求に応じたデータを読出して前記読出し要求装置に送信する互いに通信可能な複数のノード装置を備えた分散型データベースシステムであって、
前記各ノード装置は、
前記読出し対象のデータと、このデータを識別するためのデータ識別情報とを関連付けて格納するデータ格納手段と、
前記格納されたデータ識別情報毎に、前記読出し要求装置から当該データ識別情報に関連付けられたデータへのアクセス回数を示すアクセス回数情報、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報、単位時間当たりの前記アクセス回数の値を示すアクセス頻度情報及び前記アクセス頻度情報に対して設定された閾値を示す閾値情報を格納するアクセス情報格納手段と、
前記読出し要求装置から前記データ格納手段に格納されたデータへのアクセス回数をカウントし、前記カウントしたアクセス回数を示すアクセス回数情報と、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報とを前記アクセス情報格納手段に書込む手段と、
現在の時刻を示す現在時刻情報を定期的に取得すると、前記取得した現在時刻情報、前記格納されたカウント開始時刻情報及び前記格納されたアクセス回数情報に基づいて、前記アクセス頻度情報を算出し、前記算出されたアクセス頻度情報を前記アクセス情報格納手段に書込む手段と、
前記読出し要求を受けると、前記データ格納手段に格納されたデータ識別情報のいずれかが、当該読出し要求に含まれるデータ識別情報に一致するか否かを判定するデータ識別情報判定手段と、
この判定結果が一致を示すとき、当該一致したデータ識別情報に関連付けられたアクセス頻度情報及び閾値情報を前記アクセス情報格納手段から読み出す手段と、
前記読出されたアクセス頻度情報及び前記読出された閾値情報を比較することによって、当該アクセス頻度情報により示される値が当該閾値情報により示される閾値を超えているか否かを判定するアクセス頻度判定手段と、
この判定結果が否を示すとき、前記一致したデータ識別情報に関連付けられたデータを前記データ格納手段から読出し、当該読出したデータを前記読出し要求装置に送信する手段と、
前記アクセス頻度判定手段による判定結果が閾値を超えている旨を示すとき、前記一致したデータ識別情報に関連付けられたデータをデータ格納手段から読出し、当該読出したデータを複製する手段と、
前記一致したデータ識別情報又はこのデータ識別情報のハッシュ値に基づいて、当該データ識別情報により識別されるデータを格納しているノード装置を識別するための第１のノード装置識別情報と、当該データ識別情報により識別されるデータを格納していないノード装置を識別するための第２のノード装置識別情報とを検出する手段と、
前記検出された第２のノード装置識別情報に対応するノード装置に前記複製されたデータを送信する手段と、
前記判定結果が不一致を示すとき、前記検出された第１のノード装置識別情報に対応するノード装置に当該読出し要求を転送する手段と
を備え、
前記データ識別情報又はこのデータ識別情報のハッシュ値は、所定の複数の桁に前記第１のノード装置識別情報を含み、前記所定の各桁とは異なる桁に前記第２のノード装置識別情報を含んでいることを特徴とする分散型データベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、分散型データベースシステムに関する。
【背景技術】
【０００２】
一般に、データストアとも呼ばれる分散型データベースシステムは、処理の高速化を目的として、データ及びデータの複製（以下、“複製データ”と称す）を格納した複数のノード装置を備えている。また、分散型データベースシステムは、データ管理機能をもつサーバ装置及びノード装置を更に備えている。このサーバ装置及びノード装置は、データ毎に割り振られた、データを識別するためのデータ識別情報と、データを格納しているノード装置を示すノード装置識別情報とからなる組データを管理している。
【０００３】
このような分散型データベースシステムとしては、例えば、複製データを格納するノード装置の台数をファイル等で予め設定しておき、この設定に従って、データ管理機能をもつサーバ装置及びノード装置が、データを複製し、このデータ及び複製データをそれぞれ別のノード装置に格納した後、この格納に関する前述した組データを管理する方式が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１８１４５７号公報
【特許文献２】特開２００９−２８９１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、以上のような分散型データベースシステムは、通常は何の問題もないが、本発明者の検討によれば、複製データを格納するノード装置の台数が同じであるため、データ毎の利用頻度（以下、“アクセス頻度”と称す）に偏りがあるとき、アクセス頻度の高いデータを格納しているノード装置にアクセスが集中する。この結果、アクセスが集中したノード装置では、負荷が他のノード装置に比べて高くなり、処理実行速度が低下してしまう不都合が生じる。
【０００６】
本明細書に開示された実施形態は、ノード装置に格納されたデータ毎のアクセス頻度に偏りがあるときでも、処理実行速度の低下を阻止し得る分散型データベースシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の分散型データベースシステムは、読出し要求装置とネットワークを介して接続され、互いに通信可能な複数のノード装置を備えている。
【０００８】
読出し要求装置は、読出し対象のデータを識別するためのデータ識別情報を含む読出し要求を送信し、前記読出し要求に応じて読出されたデータを受信する。
【０００９】
各ノード装置は、前記読出し要求を受けると、この読出し要求に応じたデータを読出して前記読出し要求装置に送信する。
【００１０】
前記各ノード装置においては、データ格納手段が、前記読出し対象のデータと、このデータを識別するためのデータ識別情報とを関連付けて格納する。
【００１１】
前記各ノード装置においては、アクセス情報格納手段が、前記格納されたデータ識別情報毎に、前記読出し要求装置から当該データ識別情報に関連付けられたデータへのアクセス回数を示すアクセス回数情報、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報、単位時間当たりの前記アクセス回数の値を示すアクセス頻度情報及び前記アクセス頻度情報に対して設定された閾値を示す閾値情報を格納する。
【００１２】
前記各ノード装置においては、識別情報格納手段が、他ノード装置に格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置を識別するためのノード装置識別情報とを関連付けて格納する。
【００１３】
前記各ノード装置においては、前記読出し要求装置から前記データ格納手段に格納されたデータへのアクセス回数をカウントし、前記カウントしたアクセス回数を示すアクセス回数情報と、前記アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報とを前記アクセス情報格納手段に書込む。
【００１４】
前記各ノード装置においては、現在の時刻を示す現在時刻情報を定期的に取得すると、前記取得した現在時刻情報、前記格納されたカウント開始時刻情報及び前記格納されたアクセス回数情報に基づいて、前記アクセス頻度情報を算出し、前記算出されたアクセス頻度情報を前記アクセス情報格納手段に書込む。
【００１５】
前記各ノード装置においては、他ノード装置に格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置を識別するためのノード装置識別情報とを受信すると、当該データ識別情報と当該ノード装置識別情報とを関連付けて前記識別情報格納手段に書込む。
【００１６】
前記各ノード装置においては、データ識別情報判定手段が、前記読出し要求を受けると、前記データ格納手段に格納されたデータ識別情報のいずれかが、当該読出し要求に含まれるデータ識別情報に一致するか否かを判定する。
【００１７】
前記各ノード装置においては、この判定結果が一致を示すとき、当該一致したデータ識別情報に関連付けられたアクセス頻度情報及び閾値情報を前記アクセス情報格納手段から読み出す。
【００１８】
前記各ノード装置においては、アクセス頻度判定手段が、前記読出されたアクセス頻度情報及び前記読出された閾値情報を比較することによって、当該アクセス頻度情報により示される値が当該閾値情報により示される閾値を超えているか否かを判定する。
【００１９】
前記各ノード装置においては、この判定結果が否を示すとき、前記一致したデータ識別情報に関連付けられたデータを前記データ格納手段から読出し、当該読出したデータを前記読出し要求装置に送信する。
【００２０】
前記各ノード装置においては、前記アクセス頻度判定手段による判定結果が閾値を超えている旨を示すとき、前記一致したデータ識別情報に関連付けられたデータをデータ格納手段から読出し、当該読出したデータを複製する。
【００２１】
前記各ノード装置においては、前記アクセス頻度判定手段による判定結果が閾値を超えている旨を示すとき、前記一致したデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報を前記識別情報格納手段から読み出す。
【００２２】
前記各ノード装置においては、前記複製されたデータを当該読出されたノード装置識別情報に対応するノード装置に送信する。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態に係る分散型データベースシステムの構成の一例を示す模式図である。
【図２】同実施形態におけるアクセス情報格納部に格納された情報の一例を示す模式図である。
【図３】同実施形態におけるノード装置配置情報格納部に格納された情報の一例を示す模式図である。
【図４】同実施形態における動作の一例を示すフローチャートである。
【図５】同実施形態におけるデータ格納部に格納されたデータの一例を示す模式図である。
【図６】同実施形態における分散型データベースシステムの第１の運用例を示す模式図である。
【図７】同実施形態における分散型データベースシステムの第２の運用例を示す模式図である。
【図８】同実施形態における分散型データベースシステムの第３の運用例を示す模式図である。
【図９】同実施形態における分散型データベースシステムの第４の運用例を示す模式図である。
【図１０】第２の実施形態に係る分散型データベースシステムの構成の一例を示す模式図である。
【図１１】同実施形態におけるノード装置配置情報格納部に格納された情報の一例を示す模式図である。
【図１２】同実施形態における動作の一例を示すフローチャートである。
【図１３】第３の実施形態に係る分散型データベースシステムの構成の一例を示す模式図である。
【図１４】同実施形態におけるアクセス情報格納部に格納された情報の一例を示す模式図である。
【図１５】同実施形態における動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、各実施形態について図面を参照して説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００２５】
（第１の実施形態）
図１は第１の実施形態に係る分散型データベースシステムの構成の一例を示す模式図である。
【００２６】
読出し要求装置１は、例えばネットワークを介して、分散型データベースシステム１００に接続されている。分散型データベースシステム１００は、互いに通信可能な複数のノード装置１０ａ〜１０ｙから構成されている。なお、各ノード装置１０ａ〜１０ｙは、データストレージノードと呼んでもよい。また、各ノード装置１０ａ〜１０ｙは、互いに同一の機能ブロック構成を有するので、以下、ノード装置１０ａを代表例に挙げて説明する。この代表例のノード装置１０ａの各部１１ａ〜１７ａの説明は、各部１１ａ〜１７ａの添字“ａ”を適宜、“ｂ”，…，“ｙ”に読み替えることにより、代表例以外のノード装置１０ｂ，…，１０ｙの図示しない各部１１ｂ〜１７ｂ，…，１１ｙ〜１７ｙの説明に読み替えられる。但し、代表例以外のノード装置１０ｂ，…，１０ｙの図示しない各部１１ｂ〜１７ｂ，…，１１ｙ〜１７ｙの参照符号を明細書に記載する場合もある。
【００２７】
例えば、各ノード装置１０ａ〜１０ｙは、データ格納部１１ａ〜１１ｙ、アクセス情報格納部１２ａ〜１２ｙ、ノード装置配置情報格納部（識別情報格納手段）１３ａ〜１３ｙ、データ処理部１４ａ〜１４ｙ、データ要求処理部１５ａ〜１５ｙ、データ複製配置処理部１６ａ〜１６ｙ及びデータ要求転送処理部１７ａ〜１７ｙを備えている。
【００２８】
読出し要求装置１は、読出し対象のデータを識別するためのデータ識別情報を含む読出し要求を送信し、この読出し要求に応じて読出されたデータを受信する機能をもつ。このような読出し要求装置１としては、例えば、ユーザの間接的な操作に応じて読出し要求を送信するサーバ装置２（例えば、図示しないユーザ装置から受けたキーワード等の情報に基づき、当該キーワード等の情報に予め関連付けられたデータ識別情報を含む読出し要求を転送する機器）と、ユーザの直接的な操作に応じて読出し要求を送信するクライアント端末３（例えば、ユーザが読出し要求を直接入力可能な機器）とのいずれを用いてもよい。また、同実施形態では、読出し要求装置１に用いられるサーバ装置２又はクライアント端末３はそれぞれ一つとしたが、これに限定されない。例えば、複数のサーバ装置２及び／又は複数のクライアント端末３を含む読出し要求装置１が適用可能となっている。このような読出し要求装置１の構成は、以下の各実施形態でも同様である。
【００２９】
続いて、前述したように、同様の構成をもつ各ノード装置１０ａ〜１０ｙのうち、代表例に挙げたノード装置１０ａの各格納部１１ａ〜１３ａと、各機能部１４ａ〜１７ａについて説明する。なお、各格納部１１ａ〜１３ａは、各機能部１４ａ〜１７ａからそれぞれ読出／書込可能な同一又は別々の記憶装置により実現可能となっている。
【００３０】
ここで、データ格納部１１ａは、読出し対象のデータと、このデータを識別するためのデータ識別情報とを関連付けて格納している。このデータとしては、例えばブログ（blog）のコメントを示すデータ等のように、読出し要求装置１を操作するユーザに対して即座に反映されなくてもよいデータが使用可能となっている。
【００３１】
アクセス情報格納部１２ａは、データ格納部１１ａに格納されたデータを複製する必要があるか否かを判定するためのアクセス情報を格納している。
【００３２】
詳しくは、アクセス情報は、図２に示すように、データ識別情報、アクセス回数情報、カウント開始時刻情報、アクセス頻度情報及び閾値情報を含んでおり、データ識別情報毎に、アクセス回数情報、カウント開始時刻情報、アクセス頻度情報及び閾値情報が関連付けられている。データ識別情報は、データ格納部１１ａに格納されているデータ識別情報のいずれかを示している。アクセス回数情報は、読出し要求装置１から当該データ識別情報に関連付けられたデータへのアクセス回数を示している。カウント開始時刻情報は、このアクセス回数をカウントし始めた時刻を示している。アクセス頻度情報は、単位時間当たりのアクセス回数の値を示している。閾値情報は、このアクセス頻度情報に対して設定された閾値を示している。この閾値は、処理実行速度の低下をもたらすほどにアクセス頻度情報の値が高いか否か（又は当該データ識別情報に関連付けられたデータを複製する必要があるか否か）を判定するための基準値である。
【００３３】
なお、アクセス情報格納部１２ａは、図２（ａ）及び図２（ｂ）に示すように、データ識別情報毎に、少なくとも二つのアクセス情報を格納している。各アクセス情報は、アクセス回数の山の主要部を含むようにアクセス頻度を算出したい観点から、互いに異なるカウント開始時刻を有し、一部の時間帯でアクセス回数の増分が重複するように書き込まれる。換言すると、各アクセス情報は、互いにオーバーラップするように記録され、少なくともいずれか一方のアクセス情報により、アクセス回数の山の主要部を含むようにアクセス頻度を算出可能としている。例えば、３０秒だけ異なるアクセス開始時刻を有し、１分間に１０回のアクセスの山があった場合、いずれか一方のアクセス情報によれば山の前半又は後半３０秒に記録されたアクセス回数からアクセス頻度が算出されて５［回／分］になってしまう。しかしながら、オーバーラップしている他方のアクセス情報によれば、１０［回／分］のアクセス頻度が算出される。
【００３４】
また、各アクセス情報のうち、アクセス回数情報、カウント開始時刻情報及びアクセス頻度情報は、例えばカウント開始時刻から一定時間毎にリセットされ、最も旧いアクセス情報がリセット後の新しいアクセス情報に順に書換えられる。
【００３５】
ノード装置配置情報格納部１３ａは、図３に示すように、他ノード装置１０ｂ〜１０ｙに格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置１０ｂ〜１０ｙを識別するためのノード装置識別情報とを関連付けて格納している。
【００３６】
データ処理部１４ａは、アクセス情報をアクセス情報格納部１２ａに書込む処理を実行し、データ識別情報及びノード装置識別情報をノード装置配置情報格納部１３ａに書込む処理を実行し、且つ読出し要求装置１から送信された読出し要求を受けると、自ノード装置１０ａがこの読出し要求に対応可能か否かの判定処理を実行する。また、データ処理部１４ａは、他ノード装置１０ｂ〜１０ｙから複製データを受信し、この複製データをデータ格納部１１ａに格納すると、この複製データを格納したことを示す情報を他ノード装置１０ｂ〜１０ｙに送信する処理を実行する。例えば、以下の各機能(f14-1)〜(f14-5)をもっている。
【００３７】
(f14-1)  読出し要求装置１からデータ格納部１１ａに格納されたデータへのアクセス回数をカウントし、当該カウントしたアクセス回数を示すアクセス回数情報と、当該アクセス回数をカウントし始めた時刻を示すカウント開始時刻情報とをアクセス情報格納部１２ａに書込む機能。
【００３８】
(f14-2)  現在の時刻を示す現在時刻情報を定期的に取得すると、当該取得した現在時刻情報と、アクセス情報格納部１２ａに格納されたカウント開始時刻情報及びアクセス回数情報とに基づいて、アクセス頻度を算出し、算出されたアクセス頻度を示すアクセス頻度情報をアクセス情報格納部１２ａに書込む機能。なお、現在時刻情報は、例えばノード装置１０ａの通常の時計機能又はＯＳ（Operating System）等から取得可能となっている。
【００３９】
(f14-3)  他ノード装置１０ｂ〜１０ｙに格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置１０ｂ〜１０ｙを識別するためのノード装置識別情報とを受信すると、当該データ識別情報と当該ノード装置識別情報とを関連付けてノード装置配置情報格納部１３ａに書込む機能。
【００４０】
(f14-4)  読出し要求装置１から送信された読出し要求を受けると、データ格納部１１ａに格納されたデータ識別情報のいずれかが、当該読出し要求に含まれるデータ識別情報に一致するか否かを判定するデータ識別情報判定機能。
【００４１】
(f14-5)  他ノード装置１０ｂ〜１０ｙから送信された複製データを受信し、この複製データをデータ格納部１１ａに格納すると、当該格納されたデータに関連付けられたデータ識別情報と、自ノード装置１０ａを示すノード装置識別情報とを他ノード装置１０ｂ〜１０ｙに送信する機能。
【００４２】
データ要求処理部１５ａは、データ処理部１４ａでの判定結果が“一致”を示すとき、読出し要求装置１から送信された読出し要求に含まれるデータ識別情報に関連付けられたデータを複製する必要があるか否かを判定する処理を実行する。例えば、以下の各機能(f15-1)〜(f15-3)をもっている。
【００４３】
（f15-1）  データ処理部１４ａでの判定結果が“一致”を示すとき、当該データ識別情報に関連付けられたアクセス頻度情報及び閾値情報をアクセス情報格納部１２ａから読み出す機能。
【００４４】
(f15-2)  読出されたアクセス頻度情報及び読出された閾値情報を比較することによって、当該アクセス頻度情報により示される値が当該閾値情報により示される値を超えているか否かを判定するアクセス頻度判定機能。
【００４５】
(f15-3)  この判定結果が否を示すとき、当該“一致”したデータ識別情報に関連付けられたデータをデータ格納部１１ａから読出し、当該読出したデータを読出し要求装置１に送信する機能。
【００４６】
データ複製配置処理部１６ａは、データ要求処理部１５ａでの判定結果が“超えている”を示すとき、読出し要求装置１から送信された読出し要求に含まれるデータ識別情報に関連付けられたデータを複製する処理を実行し、且つこの複製されたデータをいずれかの他ノード装置１０ｂ，…，１０ｘ，又は１０ｙに送信する処理を実行する。例えば、以下の各機能(f16-1)〜(f16-3)をもっている。
【００４７】
(f16-1)  データ要求処理部１５ａのアクセス頻度判定機能による判定結果が閾値を超えている旨を示すとき、“一致”したデータ識別情報に関連付けられたデータをデータ格納部１１ａから読出し、当該読出したデータを複製する機能。
【００４８】
(f16-2)  データ要求処理部１５ａのアクセス頻度判定機能による判定結果が閾値を超えている旨を示すとき、“一致”したデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報をノード装置配置情報格納部１３ａから読み出す機能。
【００４９】
(f16-3)  当該複製されたデータを当該読出されたノード装置識別情報に対応するノード装置１０ｂ，…，１０ｘ，又は１０ｙに送信する機能。
【００５０】
データ要求転送処理部１７ａは、データ処理部１４ａでの判定結果が“不一致”を示すとき、データ処理部１４ａにおいて受信された読出し要求を他ノード装置に転送する処理を実行する。例えば、以下の各機能(f17-1)及び(f17-2)をもっている。
【００５１】
(f17-1)  データ処理部１４ａでの判定結果が“不一致”を示すとき、当該判定に用いた読出し要求に含まれるデータ識別情報に関連付けられた他ノード装置のノード装置識別情報をノード装置配置情報格納部１３ａから読み出す機能。
【００５２】
(f17-2)  当該読出されたノード装置識別情報に対応するノード装置に当該読出し要求を転送する機能。
【００５３】
次に、以上のように構成された分散型データベースシステムの動作について図４のフローチャート及び図５の模式図を参照しながら説明する。但し、データ識別情報“３００”を含む読出し要求が読出し要求装置１からノード装置１０ａに向けて送信されたものとする。
【００５４】
始めに、分散型データベースシステム１００に備えられたノード装置１０ａ内のデータ処理部１４ａが、読出し要求装置１から送信されたデータ識別情報“３００”を含む読出し要求を受信する（ステップＳ１）。なお、読出し要求は、読出し要求装置１から送信された後、他のノード装置１０ｂ，…，１０ｘ，又は１０ｙから転送されることもある。このことは、以下の各実施形態でも同様である。
【００５５】
続いて、データ処理部１４ａは、データ格納部１１ａに格納されたデータ識別情報のいずれかが、受信した読出し要求に含まれたデータ識別情報“３００”と一致するか否かを判定する（ステップＳ２）。
【００５６】
ステップＳ２の判定の結果、データ格納部１１ａに格納された全てのデータ識別情報がデータ識別情報“３００”と一致しない場合（ステップＳ２：「不一致」）にはステップＳ８に進む。ここで、データ要求転送処理部１７ａは、ノード装置配置情報格納部１３ａに格納されたノード装置識別情報のうち、データ識別情報“３００”に関連付けられたノード装置識別情報“ｙ”を読出し、このノード装置１０ｙに当該読出し要求を転送し（ステップＳ８）、ノード装置１０ａにおける読出し動作を終了する。
【００５７】
一方、ステップＳ２の判定の結果、データ格納部１１ａに格納されたデータ識別情報のいずれかがデータ識別情報“３００”と一致する場合（ステップＳ２：「一致」）には、データ要求処理部１５ａは、データ識別情報“３００”に関連付けられたアクセス頻度情報及び閾値情報をアクセス情報格納部１２ａから読み出す（ステップＳ３）。
【００５８】
続いて、データ要求処理部１５ａは、読出されたアクセス頻度情報により示される値が閾値情報により示される閾値を超えているか否かを判定する（ステップＳ４）。
【００５９】
ステップＳ４の判定の結果、アクセス頻度情報により示される値が閾値情報により示される閾値を超えていない場合（ステップＳ４：「超えていない」）にはステップＳ９に進む。ここで、データ要求処理部１５ａは、データ識別情報“３００”に関連付けられたデータをデータ格納部１１ａから読出し、このデータを読出し要求装置１に送信し（ステップＳ９）、ノード装置１０ａにおける読出し動作を終了する。
【００６０】
一方、ステップＳ４の判定の結果、アクセス頻度情報により示される値が閾値情報により示される閾値を超えている場合（ステップＳ４：「超えている」）には、データ複製配置処理部１６ａは、データ識別情報“３００”に関連付けられたデータをデータ格納部１１ａから読出し、このデータを複製する（ステップＳ５）。
【００６１】
続いて、データ複製配置処理部１６ａは、ノード装置配置情報格納部１３ａに格納されたノード装置識別情報のうち、データ識別情報“３００”に関連付けられたノード装置識別情報“ｙ”とは異なるいずれかのノード装置識別情報“ｅ”を読出す（ステップＳ６）。
【００６２】
しかる後、データ複製配置処理部１６ａは、ステップＳ５において複製されたデータを、読出されたノード装置識別情報“ｅ”に対応するノード装置１０ｅに送信する（ステップＳ７）。
【００６３】
上述したステップＳ１〜Ｓ７の処理の後に、ステップＳ７において送信された複製データを受信するノード装置１０ｅは、受信された複製データをデータ格納部１１ｅに格納し、この複製データを読出し要求装置１に送信する処理を実行する。
【００６４】
なお、上述したステップＳ１の処理の後に、データ処理部１４ａが、自ノード装置１０ａのディスクスペース（例えば、データ格納部１１ａ等）の利用率が設定された閾値を超えているか否かを判定する判定ステップ（図示せず）を更に追加してもよい。また、上述したステップＳ４の判定結果が“超えていない”を示すとき、データ要求処理部１５ａは、データ格納部１１ａに格納されたデータ識別情報のうち、当該読出し要求に含まれたデータ識別情報“３００”を除くデータ識別情報へのアクセス頻度が設定された閾値を超えているか否かを判定する判定ステップ（図示せず）を更に追加してもよい。
【００６５】
次に、以上のような分散型データベースシステム１００の具体的な運用例を４つ述べる。
【００６６】
先ず、第１の運用例について図６の模式図を参照しながら説明する。但し、ノード装置１０ａ，１０ｙのデータ格納部１１ａ，１１ｙには、データ識別情報“３００”により識別されるデータｄ３００が格納され、ノード装置１０ａ，１０ｙを除くノード装置１０ｂ〜１０ｘのデータ格納部１１ｂ〜１１ｘには、データ識別情報“３００”により識別されるデータｄ３００が格納されていないものとする。また、ノード装置１０ａ内のアクセス情報格納部１２ａにおいて、データ識別情報“３００”に関連付けられたアクセス頻度情報により示される値が、データ識別情報“３００”に関連付けられた閾値情報により示される閾値を超えていないものとする。
【００６７】
始めに、ノード装置１０ｂ内のデータ処理部１４ｂが、サーバ装置２から送信されたデータ識別情報“３００”を含む読出し要求を受ける（ステップＳ１−１）。同様に、ノード装置１０ｄ内のデータ処理部１４ｄは、クライアント端末３から送信されたデータ識別情報“３００”を含む読出し要求を受ける（ステップＳ１−２）。
【００６８】
続いて、データ処理部１４ｂ及び１４ｄは、データ格納部１１ｂ及び１１ｄに格納されたデータ識別情報のいずれかが、当該読出し要求に含まれたデータ識別情報“３００”と一致するか否かを判定する（ステップＳ２）。
【００６９】
当該読出し要求に含まれたデータ識別情報“３００”がデータ格納部１１ｂ及び１１ｄに格納されているデータ識別情報と不一致であると判定されると、データ要求転送処理部１７ｂ及び１７ｄは、ノード装置配置情報格納部１３ｂ及び１３ｄに格納されたノード装置識別情報のうち、当該読出し要求に含まれたデータ識別情報“３００”に関連付けられたノード装置識別情報“ａ”を読出し、読出されたノード装置識別情報“ａ”に対応するノード装置１０ａに当該読出し要求を転送する（ステップＳ８）。
【００７０】
次に、ノード装置１０ａ内のデータ処理部１４ａは、転送された読出し要求を受ける（ステップＳ１）。しかる後、ノード装置１０ａは、前述したステップＳ２〜Ｓ４の処理を実行し、データ識別情報“３００”により識別されるデータｄ３００をデータ格納部１１ａから読出し、読出されたデータｄ３００をサーバ装置２及びクライアント端末３に送信する（ステップＳ９）。
【００７１】
次いで、第２の運用例について図７の模式図を参照しながら説明する。但し、上述した第１の運用例の一部の処理が既に実行され、データ識別情報“３００”を含む読出し要求がノード装置１０ｂ及び１０ｄからノード装置１０ａに転送されたものとする。また、ノード装置１０ａ内のアクセス情報格納部１２ａにおいて、データ識別情報“３００”に関連付けられたアクセス頻度情報により示される値が、データ識別情報“３００”に関連付けられた閾値情報により示される閾値を超えているものとする。
【００７２】
始めに、ノード装置１０ｂ及び１０ｄから転送されたデータ識別情報“３００”を含む読出し要求を受けると、ノード装置１０ａ内のデータ要求処理部１５ａは、データ識別情報“３００”に関連付けられたアクセス頻度情報及び閾値情報をアクセス情報格納部１２ａから読み出す（ステップＳ１〜Ｓ３）。
【００７３】
続いて、データ要求処理部１５ａは、アクセス頻度情報により示される値が閾値情報により示される閾値を超えているか否かを判定する（ステップＳ４）。この判定の結果、読出されたアクセス頻度情報により示される値が読出された閾値情報により示される値を超えていると判定されると、データ複製配置処理部１６ａは、データ識別情報“３００”に関連付けられたデータｄ３００を複製する（ステップＳ５）。
【００７４】
続いて、データ複製配置処理部１６ａは、ノード装置配置情報格納部１３ａに格納されたノード装置識別情報のうち、データ識別情報“３００”に関連付けられたノード装置識別情報“ｙ”とは異なるいずれかのノード装置識別情報“ｅ”を読出し（ステップＳ６）、読出されたノード装置識別情報“ｅ”に対応するノード装置１０ｅに複製されたデータｄ３００を送信する（ステップＳ７）。
【００７５】
この場合、ノード装置１０ａは、複製されたデータｄ３００と、この複製されたデータｄ３００を格納させるための要求とをノード装置１０ｅに対して同時に送信しているが、これに限定されない。例えば、ノード装置１０ａは、複製されたデータｄ３００を格納させるための要求のみをノード装置１０ｅに対して送り、ノード装置１０ｅが、この要求に応じるときに、複製されたデータｄ３００をノード装置１０ａから取得することも可能となっている。
【００７６】
次に、ノード装置１０ｅ内のデータ処理部１４ｅは、送信された複製データｄ３００を受信し、このデータｄ３００をデータ格納部１１ｅに格納する。続いて、データ処理部１４ｅは、当該格納された複製データｄ３００に関連付けられたデータ識別情報“３００”と、自ノード装置１０ｅを示すノード装置識別情報“ｅ”とを他ノード装置１０ｃ，１０ｄ，１０ｘに送信する（ｔ１）。ここで、データ識別情報“３００”とノード装置識別情報“ｅ”とは、データ識別情報“３００”に関連付けられたデータｄ３００をノード装置１０ｅに格納したことを示している。しかる後、データ処理部１４ｅは、受信された複製データｄ３００をサーバ装置２及びクライアント端末３に送信する（ｔ２）。また、他ノード装置１０ｃ，１０ｄ，１０ｘは、それぞれ受信したデータ識別情報“３００”及びノード装置識別情報“ｅ”を図示しないノード装置配置情報格納部１３ｃ，１３ｄ，１３ｘに格納した後、当該データ識別情報“３００”及びノード装置識別情報“ｅ”を更に他のノード装置１０ａ，１０ｂ，１０ｆ，１０ｙに送信する（ｔ３）。
【００７７】
更に、第３の運用例について図８を参照しながら説明する。但し、上述した第２の運用例の一部の処理が既に実行され、データ識別情報“３００”に関連付けられたデータｄ３００の複製がノード装置１０ａからノード装置１０ｅに送信されたものとする（ステップＳ７）。また、ノード装置１０ｅ内のディスクスペースの利用率が予め設定された閾値を超えているものとする。
【００７８】
始めに、ノード装置１０ｅ内のデータ処理部１４ｅは、ノード装置１０ａから送信された、データ識別情報“３００”に関連付けられたデータｄ３００の複製を受信する。続いて、データ処理部１４ｅは、ノード装置１０ｅ内のディスクスペースの利用率が設定された閾値を超えているか否かを判定する。この判定の結果、ノード装置１０ｅ内のディスクスペースの利用率が予め設定された閾値を超えていると判定されると、データ要求転送処理部１７ｅは、ノード装置配置情報格納部１３ｅに格納されたノード装置識別情報のうち、データ識別情報“３００”に関連付けられたノード装置識別情報“ｙ”とは異なるいずれかのノード装置識別情報“ｆ”を読出し、受信された複製データｄ３００を読出されたノード装置識別情報“ｆ”に対応するノード装置１０ｆに送信する（ｔ１１）。
【００７９】
次に、ノード装置１０ｆ内のデータ処理部１４ｆは、送信された複製データｄ３００を受信し、データ格納部１１ｆに格納する。続いて、データ処理部１４ｆは、当該格納された複製データｄ３００に関連付けられたデータ識別情報“３００”と、自ノード装置１０ｆを示すノード装置識別情報“ｆ”とを他ノード装置１０ｃ，１０ｘに送信する（ｔ１２）。前述同様に、データ識別情報“３００”とノード装置識別情報“ｆ”とは、データ識別情報“３００”に関連付けられたデータｄ３００をノード装置１０ｆに格納したことを示している。しかる後、データ処理部１４ｆは、受信された複製データｄ３００をサーバ装置２及びクライアント端末３に送信する（ｔ１３）。また同様に、データ識別情報“３００”とノード装置識別情報“ｆ”とは、順次、各ノード装置１０ｃ，１０ｘ，１０ａ，１０ｅ，１０ｙ，１０ｄ，１０ｂにて格納及び送信され、分散型データベースシステム１００内で共有されていく（ｔ１４〜ｔ１６）。
【００８０】
なお、この第３の運用例では、ノード装置１０ｅ内のディスクスペースの利用率が予め設定された閾値を超えているものとしたが、複製されたデータｄ３００の受信前に、ノード装置１０ｅに既に格納されたデータへのアクセス頻度が予め設定された閾値を超えている場合においても、同様の処理が実行される。
【００８１】
続いて、第４の運用例について図９の模式図を参照しながら説明する。但し、上述した第２の運用例の処理が既に実行され、データ識別情報“３００”により識別されるデータｄ３００の複製がノード装置１０ｅにも格納されたものとする。また、ノード装置１０ａ内のアクセス情報格納部１２ａ及びノード装置１０ｅ内のアクセス情報格納部１２ｅにおいて、データ識別情報“３００”に関連付けられたアクセス頻度情報により示される値が、データ識別情報“３００”に関連付けられた閾値情報により示される閾値を超えていないものとする。
【００８２】
始めに、ノード装置１０ｂ内のデータ処理部１４ｂが、サーバ装置２から送信されたデータ識別情報“３００”を含む読出し要求を受ける（ステップＳ１−１）。同様に、ノード装置１０ｄ内のデータ処理部１４ｄが、クライアント端末３から送信されたデータ識別情報“３００”を含む読出し要求を受ける（ステップＳ１−２）。
【００８３】
続いて、データ処理部１４ｂ及び１４ｄは、データ格納部１１ｂ及び１１ｄに格納されたデータ識別情報のいずれかが、当該読出し要求に含まれたデータ識別情報“３００”と一致するか否かを判定する（ステップＳ２）。
【００８４】
当該読出し要求に含まれたデータ識別情報“３００”がデータ格納部１１ｂ及び１１ｄに格納されているデータ識別情報と不一致であると判定されると、データ要求転送処理部１７ｂ及び１７ｄは、ノード装置配置情報格納部１３ｂ及び１３ｄに格納されたノード装置識別情報のうち、データ識別情報“３００”に関連付けられたノード装置識別情報“ａ”及び“ｅ”を読出し、読出されたノード装置識別情報“ａ”に対応するノード装置１０ａと、読出されたノード装置識別情報“ｅ”に対応するノード装置１０ｅとに当該読出し要求を転送する（ステップＳ８）。
【００８５】
この場合、ノード装置１０ｂからノード装置１０ａに当該読出し要求が転送され、ノード装置１０ｄからノード装置１０ｅに当該読出し要求が転送される。すなわち、データ要求転送処理部１７ｂ及び１７ｄは、データ識別情報“３００”に関連付けられたノード装置識別情報“ａ”，“ｅ”，“ｙ”のうち、ホップ数を考慮して、それぞれ最少のホップ数に対応するノード装置識別情報“ａ”，“ｅ”を選択し、当該選択したノード装置識別情報“ａ”，“ｅ”に対応するノード装置１０ａ，１０ｅに読出し要求を転送している。
【００８６】
次に、データ処理部１４ａ及び１４ｅは、転送された読出し要求を受ける（ステップＳ１）。しかる後、ノード装置１０ａ及び１０ｅは、前述したステップＳ２〜Ｓ４の処理を実行し、データ識別情報“３００”に関連付けられたデータｄ３００をデータ格納部１１ａ及び１１ｅから読出し、読出されたデータをサーバ装置２及びクライアント端末３に送信する（ステップＳ９）。
【００８７】
上述したように本実施形態によれば、互いに同一の機能ブロック構成をもつ各ノード装置１０ａ〜１０ｙを備え、各ノード装置１０ａ〜１０ｙが、読出し要求に含まれるデータ識別情報に関連付けられたアクセス頻度情報により示される値が閾値を超えているとき、このデータ識別情報に関連付けられたデータを読出して複製し、このデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報を読み出し、複製されたデータを当該ノード装置識別情報に対応するノード装置に送信する構成により、アクセス頻度の高いデータの複製を他のノード装置にも格納させ、当該データへのアクセスを分散させることができる。
【００８８】
また、各ノード装置１０ａ〜１０ｙが、読出し要求に含まれるデータ識別情報と、自装置のデータ格納部１１ａ〜１１ｙ内のデータ識別情報が不一致のとき、読出要求内のデータ識別情報に関連付けられたノード装置識別情報に対応するノード装置に当該読出要求を転送する構成により、例えば、読出対象のデータを格納していないノード装置１０ｂ，１０ｄが受けた読出要求を、読出対象のデータを格納しているノード装置１０ａに転送できるので、分散型データベースシステム１００における読出処理を円滑に実行することができる。また、最少のホップ数に対応するノード装置１０ｅに転送する場合、転送経路上のルータ装置（図示せず）の負荷を軽減させることができる。
【００８９】
さらに、各ノード装置１０ａ〜１０ｙが、複製されたデータを他ノード装置から受信し、当該受信したデータをデータ格納部１１ａ〜１１ｙに格納すると、当該格納されたデータに関連付けられたデータ識別情報と、自ノード装置１０ａ〜１０ｙを示すノード装置識別情報“ａ”，…，“ｙ”とを他ノード装置に送信する構成により、自ノード装置１０ａ〜１０ｙが複製データを格納していることを他ノード装置に通知できるので、各ノード装置１０ａ〜１０ｙが読出要求を受けて読出対象のデータを格納していない場合の転送処理を円滑に実行することができる。
【００９０】
（第２の実施形態）
図１０は第２の実施形態に係る分散型データベースシステムの構成の一例を示す模式図であって、図１に示した構成とは異なり、各ノード装置の機能の一部をデータ複製配置処理装置に配置した構成を示している。
【００９１】
各ノード装置２０ａ〜２０ｙは、前述同様に、互いに同一の機能ブロック構成を有するので、以下、ノード装置２０ａを代表例に挙げて説明する。この代表例のノード装置２０ａの各部２１ａ，２２ａ，２４ａ，２５ａ，２７ａの説明に関し、適宜、添字の“ａ”を他の“ｂ”，…，“ｙ”に読み替え可能となっている。また同様に、代表例以外のノード装置２０ｂ，…，２０ｙの図示しない各部２１ｂ，２２ｂ，２４ｂ，２５ｂ，２７ｂ，…，２１ｙ，２２ｙ，２４ｙ，２５ｙ，２７ｙの参照符号を明細書に記載する場合もある。これらのことは、互いに同一の機能ブロック構成を有するデータ複製配置処理装置３０ａ〜３０ｅにおける代表例のデータ複製配置処理装置３０ａの各部３３ａ，３６ａの説明についても同様である。
【００９２】
分散型データベースシステム２００は、互いに通信可能な複数のノード装置２０ａ〜２０ｙと、これら複数のノード装置２０ａ〜２０ｙと通信可能な複数のデータ複製配置処理装置３０ａ〜３０ｅとから構成されている。
【００９３】
各ノード装置２０ａ〜２０ｙは、データ格納部２１ａ〜２１ｙ、アクセス情報格納部２２ａ〜２２ｙ、データ処理部２４ａ〜２４ｙ、データ要求処理部２５ａ〜２５ｙ及びデータ要求転送処理部２７ａ〜２７ｙを備えている。また、各データ複製配置処理装置３０ａ〜３０ｅは、ノード装置配置情報格納部（識別情報格納手段）３３ａ〜３３ｅ及びデータ複製配置処理部３６ａ〜３６ｅを備えている。
【００９４】
以下、代表例のノード装置２０ａ及びデータ複製配置処理装置３０ａのそれぞれの各部について述べる。
【００９５】
但し、データ格納部２１ａ及びアクセス情報格納部２２ａに格納されている情報は、前述したデータ格納部１１ａ及びアクセス情報格納部１２ａに格納されている情報と同一であるため、詳細な説明は省略する。また、データ処理部２４ａの機能についても、前述したデータ処理部１４ａにおける(f14-1)、(f14-2)及び(f14-4)と同一であるため、詳細な説明は省略する。以下では、第１の実施形態と異なる部分を主に説明する。
【００９６】
ここで、データ要求処理部２５ａは、前述したデータ要求処理部１５ａの機能に加え、読出されたアクセス頻度情報により示される値が読出された閾値情報により示される閾値を超えていると、読出し要求に含まれるデータ識別情報に関連付けられたデータをデータ格納部２１ａから読出し、当該読出されたデータ及び当該読出し要求に含まれたデータ識別情報を含む複製要求をデータ複製配置処理装置３０ａに送信する機能を更にもつ。
【００９７】
また、データ要求転送処理部２７ａは、データ処理部２４ａでの判定結果が“不一致”を示すとき、当該判定に用いた読出し要求に含まれたデータ識別情報を含む送信要求をデータ複製配置処理装置３０ａに送信し、この送信要求に応じて返信されたノード装置識別情報であって当該データ識別情報を格納しているノード装置を識別するための当該ノード装置識別情報に対応するノード装置に当該読出し要求を転送する機能をもつ。
【００９８】
また、ノード装置配置情報格納部３３ａは、図１１に示すように、各ノード装置２０ａ〜２０ｙに格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置を識別するためのノード装置識別情報とを関連付けて格納している。すなわち、ノード装置配置情報格納部３３ａは、各ノード装置２０ａ〜２０ｙのデータ格納部２１ａ〜２１ｙに格納されたデータ識別情報及びノード装置識別情報を集中管理している。
【００９９】
また、データ複製配置処理部３６ａは、当該読出し要求に含まれたデータ識別情報及び当該データ識別情報に関連付けられたデータを含む複製要求を受けると、この受信した複製要求に含まれるデータを複製する処理を実行する。更に、データ複製配置処理部３６ａは、当該複製要求に含まれたデータ識別情報を格納していないノード装置のノード装置識別情報を読出し、このノード装置に複製データを送信する処理を実行する。例えば、以下の各機能(f36-1)〜(f36-5)をもっている。
【０１００】
(f36-1)  各ノード装置２０ａ〜２０ｙに格納されたデータを識別するためのデータ識別情報と、このデータを格納しているノード装置２０ａ〜２０ｙを識別するためのノード装置識別情報とを受信すると、当該データ識別情報と当該ノード装置識別情報とを関連付けてノード装置配置情報格納部３３ａに書込む機能。
【０１０１】
(f36-2)  当該複製要求を受けると、当該複製要求に含まれるデータを複製する機能。
【０１０２】
(f36-3)  当該複製要求に含まれたデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報をノード装置配置情報格納部３３ａから読み出す機能。
【０１０３】
(f36-4)  当該読出されたノード装置識別情報に対応するノード装置に当該複製されたデータを送信する機能。
【０１０４】
(f36-5)  各ノード装置２０ａ〜２０ｙからの送信要求を受けると、この送信要求に含まれるデータ識別情報に関連付けられたノード装置識別情報をノード装置配置情報格納部３３ａから読出し、このノード装置識別情報を当該送信要求の送信元のノード装置に返信する機能。
【０１０５】
次に、以上のように構成された分散型データベースシステム２００の動作について、図１２を参照しながら説明する。但し、データ識別情報“３００”を含む読出し要求が、読出し要求装置１からノード装置２０ａに向けて送信されたものとする。
【０１０６】
始めに、分散型データベースシステム２００においては、ノード装置２０内のデータ処理部２４ａが、読出し要求装置１から送信されたデータ識別情報“３００”を含む読出し要求を受信する（ステップＳ１０）。
【０１０７】
続いて、データ処理部２４ａは、データ格納部２１ａに格納されたデータ識別情報のいずれかが、この読出し要求に含まれたデータ識別情報“３００”と一致するか否かを判定する（ステップＳ１１）。
【０１０８】
ステップＳ１１の判定の結果、データ格納部２１ａに格納されたデータ識別情報のいずれかがデータ識別情報“３００”と一致するので（ステップＳ１１：「一致」）、データ要求処理部２５ａは、データ識別情報“３００”に関連付けられたアクセス頻度情報及び閾値情報をアクセス情報格納部２２ａから読み出す（ステップＳ１２）。
【０１０９】
一方、ステップＳ１１の判定の結果、データ格納部２１ａに格納されたデータ識別情報のいずれもがデータ識別情報“３００”と一致しない場合（ステップＳ１１：「不一致」）には、データ要求転送処理部２７ａは、この判定に用いた読出し要求に含まれたデータ識別情報“３００”を含む送信要求をデータ複製配置処理装置３０ａに送信し、この送信要求に応じて返信されたノード装置識別情報に対応するノード装置に当該読出し要求を転送し、ノード装置２０ａにおける読出し動作を終了する。
【０１１０】
続いて、データ要求処理部２５ａは、読出されたアクセス頻度情報により示される値が、読出された閾値情報により示される閾値を超えているか否かを判定する（ステップＳ１３）。
【０１１１】
ステップＳ１３の判定の結果、読出されたアクセス頻度情報により示される値が読出された閾値情報により示される閾値を超えていない場合（ステップＳ１３：「超えていない」）には、データ要求処理部２５ａは、当該読出し要求に含まれたデータ識別情報“３００”により識別されるデータをデータ格納部２１ａから読出し、このデータを読出し要求装置１に送信し、ノード装置２０ａにおける読出し動作を終了する。
【０１１２】
一方、ステップＳ１３の判定の結果、読出されたアクセス頻度情報により示される値が読出された閾値情報により示される閾値を超えている場合（ステップＳ１３：「超えている」）には、データ要求処理部２５ａは、当該読出し要求に含まれたデータ識別情報“３００”に関連付けられたデータをデータ格納部２１ａから読出し、当該読出されたデータ及び当該読出し要求に含まれたデータ識別情報“３００”を含む複製要求をデータ複製配置処理装置３０ａに送信する（ステップＳ１４）。
【０１１３】
データ複製配置処理装置３０ａにおいては、データ複製配置処理部３６ａが、この複製要求を受信する（ステップＳ１５）。
【０１１４】
続いて、データ複製配置処理部３６ａは、受信した複製要求に含まれるデータを複製する（ステップＳ１６）。
【０１１５】
また、データ複製配置処理部３６ａは、当該複製要求に含まれたデータ識別情報“３００”に関連付けられたノード装置識別情報“ａ”，“ｙ”とは異なるいずれかのノード装置識別情報（例、“ｅ”）をノード装置配置情報格納部３３ａから読み出す（ステップＳ１７）。
【０１１６】
しかる後、データ複製配置処理部３６ａは、ステップＳ１６において複製されたデータを当該読出されたノード装置識別情報“ｅ”に対応するノード装置２０ｅに送信する（ステップＳ１８）。
【０１１７】
上述したステップＳ１０〜Ｓ１８の処理の後に、ステップＳ１８において送信された複製データを受信するノード装置２０ｅは、受信された複製データをデータ格納部２１ｅに格納し、この複製データを読出し要求装置１に送信する処理を実行する。
【０１１８】
上述したように本実施形態によれば、データの配置を管理するデータ複製配置処理装置３０ａ〜３０ｅと、データを格納する各ノード装置２０ａ〜２０ｙとを備え、各ノード装置２０ａ〜２０ｙが、読出し要求に含まれるデータ識別情報に関連付けられたアクセス頻度情報により示される値が閾値を超えているとき、このデータ識別情報及びこのデータ識別情報に関連付けられたデータを含む複製要求をデータ複製配置処理装置（例、３０ａ）に送信し、データ複製配置処理装置３０ａが、複製要求内のデータを複製し、複製要求内のデータ識別情報に関連付けられたノード装置識別情報とは異なるいずれかのノード装置識別情報を読み出し、複製されたデータを当該ノード装置識別情報に対応するノード装置に送信する構成により、アクセス頻度の高いデータの複製を他のノード装置にも格納させ、当該データへのアクセスを分散させることができる。
【０１１９】
（第３の実施形態）
図１３は第３の実施形態に係る分散型データベースシステムの構成の一例を示す模式図であって、図１に示した構成とは異なり、各ノード装置からノード複製配置情報格納部を省略した構成を示している。
【０１２０】
各ノード装置４０ａ〜４０ｙは、前述同様に、互いに同一の機能ブロック構成を有するので、以下、ノード装置４０ａを代表例に挙げて説明する。この代表例のノード装置４０ａの各部４１ａ，４２ａ，４４ａ〜４７ａの説明については、適宜、添字の“ａ”を他の“ｂ”，…，“ｙ”に読み替え可能となっている。また同様に、代表例以外のノード装置４０ｂ，…，４０ｙの図示しない各部４１ｂ，４２ｂ，４４ｂ〜４７ｂ，…，４１ｙ，４２ｙ，４４ｙ〜４７ｙの参照符号を明細書に記載する場合もある。
【０１２１】
分散型データベースシステム３００は、例えば２桁の数字を用いたノード装置識別情報“００”，…，“２４”により識別され、互いに通信可能な複数のノード装置４０ａ〜４０ｙから構成されている。なお、同実施形態においては、このノード装置識別情報を２桁としたが、このノード装置識別情報の桁数は任意に設定可能である。
【０１２２】
各ノード装置４０ａ〜４０ｙは、データ格納部４１ａ〜４１ｙ、アクセス情報格納部４２ａ〜４２ｙ、データ処理部４４ａ〜４４ｙ、データ要求処理部４５ａ〜４５ｙ、データ複製配置処理部４６ａ〜４６ｙ及びデータ要求転送処理部４７ａ〜４７ｙを備えている。
【０１２３】
以下、代表例のノード装置４０ａの各格納部４１ａ，４２ａと、各機能部４４ａ，４５ａ，４６ａ，４７ａについて説明する。
【０１２４】
データ格納部４１ａ及びアクセス情報格納部４２ａに格納されている情報は、図１４に示すように、データ識別情報の構造を除いて、前述したデータ格納部１１ａ，２１ａ及びアクセス情報格納部１２ａ，２２ａに格納されている情報と同一であるため、同一部分についての詳細な説明は省略する。異なる部分は、データ識別情報が、所定の複数の桁に第１のノード装置識別情報を含み、所定の各桁とは異なる桁に第２のノード装置識別情報を含んでいることである。例えば、データ識別情報“０３０５２３”の下４桁が第１のノード装置識別情報“０５”，“２３”を含み、下４桁とは異なる桁に第２のノード装置識別情報“０３”を含んでいる。第１のノード装置識別情報“０５”，“２３”は、データ識別情報“０３０５２３”により識別されるデータが、ノード装置識別情報“０５”に対応するノード装置４０ｆと、ノード装置識別情報“２３”に対応するノード装置４０ｘとに予め格納されていることを示している。第２のノード装置識別情報“０３”は、データ識別情報“０３０５２３”により識別されるデータを、ノード装置識別情報“０３”に対応するノード装置４０ｃが格納していないことを示している。なお、データ識別情報に代えて、データ識別情報のハッシュ値が、所定の複数の桁に第１のノード装置識別情報を含み、所定の各桁とは異なる桁に第２のノード装置識別情報を含んでいるように変形してもよい。また、データ識別情報又はデータ識別情報のハッシュ値における各桁のうち、どの桁に第１のノード装置識別情報が位置し、どの桁に第２のノード装置識別情報が位置するかは任意に設定可能である。さらに、ノード装置識別情報は、数字に限らず、前述したアルファベット等の文字でもよく、この場合、データ識別情報又はデータ識別情報のハッシュ値が、ノード装置識別情報からなる文字を含む構造となる。
【０１２５】
また、データ処理部４４ａの機能については、前述したデータ処理部１４ａにおける(f14-1)、(f14-2)及び(f14-4)と同一であり、データ要求処理部４５ａの機能については、前述したデータ要求処理部１５ａと同一であるため、それぞれ詳細な説明は省略する。
【０１２６】
ここで、データ複製配置処理部４６ａは、前述したデータ複製配置処理部１６ａの(f16-1)の機能に加え、読出し要求装置１から送信された読出し要求に含まれるデータ識別情報により識別されるデータを格納していない他ノード装置を検出する処理を実行する。例えば、以下の各機能(f46-1)及び(f46-2)を更に備えている。
【０１２７】
(f46-1)  データ処理部４４ａでの判定結果が“一致”を示すときの当該“一致”したデータ識別情報又はこのデータ識別情報のハッシュ値に基づいて、当該データ識別情報により識別されるデータを格納しているノード装置を識別するための第１のノード装置識別情報と、当該データ識別情報により識別されるデータを格納していないノード装置を識別するための第２のノード装置識別情報とを検出する機能。但し、本実施形態では、データ識別情報に基づいて、第１及び第２のノード装置識別情報を検出する例について述べる。
【０１２８】
(f46-2)  当該検出された第２のノード装置識別情報に対応するノード装置に当該複製されたデータを送信する機能。
【０１２９】
また、データ要求転送処理部４７ａは、データ処理部４４ａでの判定結果が“不一致”を示すとき、データ複製配置処理部４６ａで検出された第１のノード装置識別情報に対応するノード装置に当該読出し要求を転送する機能をもつ。
【０１３０】
次に、以上のように構成された分散型データベースシステムの動作について図１４のフローチャートを参照しながら説明する。但し、データ識別情報“０３００２４”を含む読出し要求が、読出し要求装置１からノード装置４０ａに向けて送信されたものとする。
【０１３１】
始めに、分散型データベースシステム３００に備えられたノード装置４０ａ内のデータ処理部４４ａが、読出し要求装置１から送信された、データ識別情報“０３００２４”を含む読出し要求を受信する（ステップＳ２０）。
【０１３２】
続いて、データ処理部４４ａは、データ格納部４１ａに格納されたデータ識別情報のいずれかが、受信した読出し要求に含まれたデータ識別情報“０３００２４”と一致するか否かを判定する（ステップＳ２１）。なお、ステップＳ２１は、この判定に代えて、データ処理部４４ａがデータ識別情報“０３００２４”の所定の桁“００”，“２４”のいずれかが自ノード装置４０ａのノード装置識別情報“００”と一致するか否かを判定するように変形してもよい。ステップＳ２１の判定の結果、データ格納部４１ａに格納された全てのデータ識別情報がデータ識別情報“０３００２４”と一致しない場合（ステップＳ２１：「不一致」）にはステップＳ２７に進む。また、ステップＳ２７に進むことは、変形したステップＳ２１の判定結果が不一致を示す場合でも同様である。データ複製配置処理部４６ａは、データ識別情報“０３００２４”に基づいて、データ識別情報“０３００２４”により識別されるデータを格納しているノード装置を識別するための第１のノード装置識別情報“００”，“２４”を検出した後に、データ要求転送処理部４７ａが、検出された第１のノード装置識別情報“２４”に対応するノード装置４０ｙに当該読出し要求を転送し（ステップＳ２７）、ノード装置４０ａにおける読出し動作を終了する。
【０１３３】
一方、ステップＳ２１の判定の結果、データ格納部４１ａに格納されたデータ識別情報のいずれかがデータ識別情報“０３００２４”と一致する場合（ステップＳ２１：「一致」）には、データ要求処理部４５ａは、データ識別情報“０３００２４”に関連付けられたアクセス頻度情報及び閾値情報をアクセス情報格納部４２ａから読み出す（ステップＳ２２）。また、ステップＳ２２に進むことは、変形したステップＳ２１の判定結果が一致を示す場合でも同様である。
【０１３４】
続いて、データ要求処理部４５ａは、読出されたアクセス頻度情報により示される値が閾値情報により示される閾値を超えているか否かを判定する（ステップＳ２３）。
【０１３５】
ステップＳ２３の判定の結果、アクセス頻度情報により示される値が閾値情報により示される閾値を超えていない場合（ステップＳ２３：「超えていない」）にはステップＳ２８に進む。ここで、データ要求処理部４５ａは、当該読出し要求に含まれたデータ識別情報“０３００２４”に関連付けられたデータをデータ格納部４１ａから読出し、このデータを読出し要求装置１に送信し（ステップＳ２８）、ノード装置４０ａにおける読出し動作を終了する。
【０１３６】
一方、ステップＳ２３の判定の結果、アクセス頻度情報により示される値が閾値情報により示される閾値を超えている場合（ステップＳ２３：「超えている」）には、データ複製配置処理部４６ａは、データ識別情報“０３００２４”に関連付けられたデータをデータ格納部４１ａから読出し、このデータを複製する（ステップＳ２４）。
【０１３７】
続いて、データ複製配置処理部４６ａは、当該読出し要求に含まれたデータ識別情報“０３００２４”に基づいて、データ識別情報“０３００２４”に関連付けられたデータを格納していないノード装置を識別するための第２のノード装置識別情報“０３”を検出する（ステップＳ２５）。
【０１３８】
しかる後、データ複製配置処理部４６ａは、ステップＳ２４において複製されたデータを当該検出された第２のノード装置識別情報“０３”に対応するノード装置４０ｃに送信する（ステップＳ２６）。
【０１３９】
上述したステップＳ２０〜Ｓ２６の処理の後に、ステップＳ２６において送信された複製データを受信するノード装置４０ｃは、受信された複製データをデータ格納部４１ｃに格納し、この複製データを読出し要求装置１に送信する処理を実行する。
【０１４０】
上述したように本実施形態によれば、前述したノード複製配置情報格納部を持たず、互いに同一の機能ブロック構成をもつ各ノード装置４０ａ〜４０ｙを備え、各ノード装置４０ａ〜４０ｙが、読出し要求に含まれるデータ識別情報に関連付けられたアクセス頻度情報により示される値が閾値を超えているとき、このデータ識別情報に関連付けられたデータを読出して複製し、このデータ識別情報に基づいて、当該データ識別情報に関連付けられたデータを格納していないノード装置を識別するための第２のノード装置識別情報を検出し、複製されたデータを第２のノード装置識別情報に対応するノード装置に送信する構成により、アクセス頻度の高いデータの複製を他のノード装置にも格納させ、当該データへのアクセスを分散させることができる。
【０１４１】
以上説明した各実施形態によれば、読出し要求に含まれるデータ識別情報に関連付けられたアクセス頻度情報により示される値が閾値を超えているとき、このデータ識別情報に関連付けられたデータを複製し、複製されたデータを他のノード装置に送信する構成により、アクセス頻度の高いデータへのアクセスを分散させるようにしたので、ノード装置に格納されたデータ毎のアクセス頻度に偏りがあるときでも、読出し処理等の処理実行速度の低下を阻止することができる。
【０１４２】
また、以上説明した各実施形態によれば、各ノード装置が、自ノード装置に格納されたデータのアクセス頻度を管理し、アクセス頻度が閾値を超えたデータの複製を、このデータを格納していない他のノード装置に格納する構成により、分散型データベースシステム内の各ノード装置について、最高のアクセス頻度をもつデータへのアクセス負荷に合わせた複製データの数を全てのデータに適用した場合に必要とされるノード装置の数を最大台数とすると、最大台数よりも少ない数のノード装置で構成することができる。
【０１４３】
さらに、以上説明した各実施形態によれば、各ノード装置が、複製されたデータを他ノード装置から受信して格納し、この複製されたデータに関連付けられたデータ識別情報と、自ノード装置を示すノード装置識別情報とを他ノード装置に送信する構成により、各データのアクセス頻度が異なっていても、それぞれのアクセス頻度に応じてアクセス実行先が増えるので、分散型データベースシステムを利用する読出し要求装置１は、分散型データベースシステムで管理されるデータを、データ毎の処理速度に大きな差異を生じることなく、利用することができる。
【０１４４】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１４５】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１４６】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１４７】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１４８】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１４９】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１５０】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１５１】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５２】
１…読出し要求装置、２…サーバ装置、３…クライアント端末、１０ａ〜１０ｙ，２０ａ〜２０ｙ，４０ａ〜４０ｙ…ノード装置、１１ａ，２１ａ，４１ａ…データ格納部、１２ａ，２２ａ，４２ａ…アクセス情報格納部、１３ａ，３３ａ…ノード装置配置情報格納部、１４ａ，２４ａ，４４ａ…データ処理部、１５ａ，２５ａ，４５ａ…データ要求処理部、１６ａ，３６ａ，４６ａ…データ複製配置処理部、１７ａ，２７ａ，４７ａ…データ要求転送処理部、３０ａ〜３０ｅ…データ複製配置処理装置、１００，２００，３００…分散型データベースシステム、ｄ３００…データ。
【図１】
2012043358.tif 000003
【図２】
2012043358.tif 000004
【図３】
2012043358.tif 000005
【図４】
2012043358.tif 000006
【図５】
2012043358.tif 000007
【図６】
2012043358.tif 000008
【図７】
2012043358.tif 000009
【図８】
2012043358.tif 000010
【図９】
2012043358.tif 000011
【図１０】
2012043358.tif 000012
【図１１】
2012043358.tif 000013
【図１２】
2012043358.tif 000014
【図１３】
2012043358.tif 000015
【図１４】
2012043358.tif 000016
【図１５】
2012043358.tif 000017