(57)【要約】【課題】スワップデバイスへの書き出し量を削減することができる。【解決手段】類似性情報生成部は、主記憶装置上のページ同士の類似性に基づいてページをグルーピングし、類似したページ同士のグルーピング情報が記載されている類似性情報を生成する。類似ページ検出部は、差分退避部からの対象ページに類似する類似ページを、類似性情報を参照して主記憶装置上から検出し、その検出結果を差分退避部に供給する。差分退避部は、類似ページ検出部からの検出結果を参照して、主記憶装置上の類似したページ同士の差分を抽出し、抽出された差分をスワップデバイスに書き出す。本開示は、例えば、スワップデバイスを備えた多機能携帯電話機に適用することができる。【選択図】図１
2014164614.tif 000002
【特許請求の範囲】
【請求項１】
主記憶上において処理の対象となる対象データと類似性を有する類似データを検出する類似データ検出部と、
前記類似データ検出部により検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出す差分退避部と
を備える情報処理装置。
【請求項２】
前記基準データへの書き換え要求を検出する書き換え要求検出部と、
前記書き換え要求検出部より前記基準データへの書き換え要求が検出された場合、前記基準データと前記データ退避部により書き出された差分とを用いてデータを復元するデータ復元部と、
前記データ復元部によりデータが復元された後に、前記書き換え要求検出部より書き換え要求が検出された前記基準データの書き換えを行うデータ書き換え部と
をさらに備える請求項１に記載の情報処理装置。
【請求項３】
前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記データ同士の類似性が記載される類似性情報を生成する類似性情報生成部をさらに備え、
前記類似データ検出部は、前記類似性情報生成部により生成された類似性情報を参照して、主記憶上において対象データと類似性を有する類似データを検出する
請求項１に記載の情報処理装置。
【請求項４】
前記類似性情報生成部は、所定の間隔、負荷状況、または、更新要求に応じて、前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記類似性情報を生成する
請求項３に記載の情報処理装置。
【請求項５】
前記類似性情報生成部によりグループ化されたデータの書き換えが発生したことを検出する書き換え検出部を
さらに備え、
前記類似性情報生成部は、前記書き換え検出部によりグループ化されたデータの書き換えが発生したことが検出された場合、前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記類似性情報を生成する
請求項３に記載の情報処理装置。
【請求項６】
前記主記憶上のデータのコピー処理を検出するコピー検出部を
さらに備え、
前記類似性情報生成部は、前記コピー処理検出部により検出されたコピー処理のコピー元のデータおよびコピー先のデータを類似性のあるデータ同士として、データをグループ化し、前記類似性情報を生成する
請求項３に記載の情報処理装置。
【請求項７】
前記類似性情報生成部は、前記主記憶上のデータのコピー処理を検出し、検出したコピー処理のコピー元のデータおよびコピー先のデータを類似性のあるデータ同士として、データをグループ化し、前記類似性情報を生成する
請求項３に記載の情報処理装置。
【請求項８】
前記基準データと前記データ退避部により書き出された差分とを用いてデータを復元するデータ復元部を
さらに備える請求項３に記載の情報処理装置。
【請求項９】
前記退避領域は、前記主記憶とは別の記憶媒体に設けられている
請求項１に記載の情報処理装置。
【請求項１０】
前記退避領域は、前記主記憶上の別の領域に設けられている
請求項１に記載の情報処理装置。
【請求項１１】
情報処理装置が、
主記憶上において処理の対象となる対象データと類似性を有する類似データを検出し、
検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出す
情報処理方法。
【請求項１２】
主記憶上において処理の対象となる対象データと類似性を有する類似データを検出する類似データ検出部と、
前記類似データ検出部により検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出すデータ退避部と
して、コンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置および方法、並びにプログラムに関し、特に、スワップデバイスへの書き出し量を削減することができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
一般的なシステムにおいては、主記憶上のデータをスワップアウトする際に、スワップアウトするページの内容が単純にそのまま、あるいは、ページ全体を圧縮したうえで、スワップデバイスに書き出される。しかしながら、圧縮した場合であっても、圧縮後のサイズにはそれなりの縮小限界があるため、スワップデバイスに書き出すデータの量は、ある程度大きくなってしまう。
【０００３】
そこで、特許文献１においては、ROM（Read Only Memory）やフラッシュメモリなどのストレージ上の読み出し専用データを主記憶上に読み込み、書き換えて使用しているページに限り、スワップアウト時に、ROMやフラッシュメモリ上の読み出し専用データとの差分が抽出される。そして、その差分のみがスワップデバイスに書き出されることで、書き出す量の削減が行われている。
【０００４】
なお、ソフトウエアが動作時に使用するデータは、ROMやフラッシュメモリから読み出し書き換えて生成、使用するデータと、ソフトウエアが動作時に動的に生成するデータ（ROMやフラッシュメモリには記録されていないデータ）との２種類に大別できる。一般的には、後者のデータの方が主記憶上に占める割合が圧倒的に多い（数十乃至数百倍以上）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４０２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術は、上述した２種類のデータのうち、前者の読み出し専用データのスワップデバイスへの書き出し量しか削減することができなかった。
【０００７】
すなわち、後者のデータは、システムの実行中に任意のタイミングで内容の書き換えが発生し得るため、前者の読み出し専用データに対するように、簡単に類似したデータ間の差分を抽出してスワップアウトすることができなかった。
【０００８】
本開示は、このような状況に鑑みてなされたものであり、スワップデバイスへの書き出し量を削減することができるものである。
【課題を解決するための手段】
【０００９】
本開示の一側面の情報処理装置は、主記憶上において処理の対象となる対象データと類似性を有する類似データを検出する類似データ検出部と、前記類似データ検出部により検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出す差分退避部とを備える。
【００１０】
前記基準データへの書き換え要求を検出する書き換え要求検出部と、前記書き換え要求検出部より前記基準データへの書き換え要求が検出された場合、前記基準データと前記データ退避部により書き出された差分とを用いてデータを復元するデータ復元部と、前記データ復元部によりデータが復元された後に、前記書き換え要求検出部より書き換え要求が検出された前記基準データの書き換えを行うデータ書き換え部とをさらに備えることができる。
【００１１】
前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記データ同士の類似性が記載される類似性情報を生成する類似性情報生成部をさらに備え、前記類似データ検出部は、前記類似性情報生成部により生成された類似性情報を参照して、主記憶上において対象データと類似性を有する類似データを検出することができる。
【００１２】
前記類似性情報生成部は、所定の間隔、負荷状況、または、更新要求に応じて、前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記類似性情報を生成することができる。
【００１３】
前記類似性情報生成部によりグループ化されたデータの書き換えが発生したことを検出する書き換え検出部をさらに備え、前記類似性情報生成部は、前記書き換え検出部によりグループ化されたデータの書き換えが発生したことが検出された場合、前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記類似性情報を生成することができる。
【００１４】
前記主記憶上のデータのコピー処理を検出するコピー検出部をさらに備え、前記類似性情報生成部は、前記コピー処理検出部により検出されたコピー処理のコピー元のデータおよびコピー先のデータを類似性のあるデータ同士として、データをグループ化し、前記類似性情報を生成することができる。
【００１５】
前記類似性情報生成部は、前記主記憶上のデータのコピー処理を検出し、検出したコピー処理のコピー元のデータおよびコピー先のデータを類似性のあるデータ同士として、データをグループ化し、前記類似性情報を生成することができる。
【００１６】
前記基準データと前記データ退避部により書き出された差分とを用いてデータを復元するデータ復元部をさらに備えることができる。
【００１７】
前記退避領域は、前記主記憶とは別の記憶媒体に設けられている。
【００１８】
前記退避領域は、前記主記憶上の別の領域に設けられている。
【００１９】
本開示の一側面の情報処理方法は、情報処理装置が、主記憶上において処理の対象となる対象データと類似性を有する類似データを検出し、検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出す。
【００２０】
本開示の一側面のプログラムは、主記憶上において処理の対象となる対象データと類似性を有する類似データを検出する類似データ検出部と、前記類似データ検出部により検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出すデータ退避部として、コンピュータを機能させる。
【００２１】
本開示の一側面においては、主記憶上において処理の対象となる対象データと類似性を有する類似データが検出される。そして、検出された類似データの中から選択された基準データと前記対象データとの差分が抽出され、抽出された差分が退避領域に書き出される。
【発明の効果】
【００２２】
本開示によれば、スワップデバイスへの書き出し量を削減することができる。
【図面の簡単な説明】
【００２３】
【図１】本技術を適用した情報処理システムの第１の構成例を示すブロック図である。
【図２】類似性情報の例を示す図である。
【図３】スワップアウト処理について説明するフローチャートである。
【図４】スワップイン処理について説明するフローチャートである。
【図５】ページのグルーピング処理について説明するフローチャートである。
【図６】類似性情報の更新処理について説明するフローチャートである。
【図７】基準ページの書き換え処理について説明するフローチャートである。
【図８】本技術を適用した情報処理システムの第２の構成例を示すブロック図である。
【図９】本技術を適用した情報処理システムの第３の構成例を示すブロック図である。
【図１０】コピーページのグルーピング処理について説明するフローチャートである。
【図１１】本技術を適用した情報処理システムの第４の構成例を示すブロック図である。
【図１２】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態
２．第２の実施の形態
３．第３の実施の形態
４．第４の実施の形態
５．第５の実施の形態
【００２５】
＜１．第１の実施の形態＞
[情報処理システムの構成例]
図１は、本技術を適用した情報処理システムの第１の構成例を示す図である。
【００２６】
図１の例において、情報処理システム１００は、主記憶装置１０１に書き込まれたデータを退避領域であるスワップデバイス１０６に退避し、また、退避させたデータを、主記憶装置１０１に復元する処理を行う。情報処理システム１００は、例えば、パーソナルコンピュータや多機能携帯電話機などに適用できる。
【００２７】
情報処理システム１００は、主記憶装置１０１、類似性情報生成部１０２、類似ページ検出部１０３、差分退避部１０４、復元処理部１０５、スワップデバイス１０６、書き換え要求検出部１０７、書き換え部１０８、および書き換え検出部１０９を含むように構成されている。
【００２８】
主記憶装置１０１は、例えば、RAM（Random Access Memory）などで構成される。主記憶装置１０１には、ページと呼ばれる単位で管理されているデータ（以下、単にページと称する）や、類似性情報生成部１０２により生成された類似性情報が記憶されている。すなわち、類似性情報には、ページ同士の類似性が、類似したページ同士のグルーピング情報として記載されている。なお、図１の例においては、類似性情報は、主記憶装置１０１上に記憶されており、その方が好ましいが、他の記憶媒体に記憶されていてもよい。
【００２９】
類似性情報生成部１０２は、主記憶装置１０１上のページ同士の類似性に基づいてページをグルーピング（グループに分類）し、類似したページ同士のグルーピング情報が記載されている類似性情報を生成する。類似性情報生成部１０２は、生成した類似性情報を、主記憶装置１０１に記録して管理する。
【００３０】
類似性情報生成部１０２は、また、所定の間隔、システムの負荷状況、ユーザからの類似性情報の更新要求、または、ページの書き換えの発生などに応じ、主記憶装置１０１上のページ同士の類似性に基づいてページのグルーピングを行い、主記憶装置１０１の類似性情報を更新する。なお、ページの書き換えの発生は、書き換え検出部１０９により検出され、その情報が類似性情報生成部１０２に供給される。
【００３１】
類似ページ検出部１０３は、差分退避部１０４からのスワップアウト処理の対象ページに類似する類似ページを、主記憶装置１０１上から検出し、その検出結果を差分退避部１０４に供給する。その際、類似ページの検出方法については限定されないが、例えば、類似ページ検出部１０３は、主記憶装置１０１に記憶されている類似性情報を参照して、対象ページに類似する類似ページを、主記憶装置１０１上から検出する。これにより、類似ページを高速に探索することができる。
【００３２】
差分退避部１０４は、例えば、主記憶装置１０１上の容量が足りなくなったときや、主記憶装置１０１上の空き容量に応じて、スワップアウト処理を行う。すなわち、差分退避部１０４は、主記憶装置１０１上の類似したページ同士の差分を抽出し、抽出された差分を、スワップデバイス１０６に書き出すことにより、待避（スワップアウト）させる。
【００３３】
例えば、類似ページ検出部１０３により検出された類似ページのうちの１つを基準ページとして、対象ページと基準ページとの差分が抽出され、抽出された差分とその基準ページ参照情報とがスワップデバイス１０６に記録される。基準ページ参照情報は、どのページを差分抽出の基準としたかを示す情報である。
【００３４】
より具体的には、図１の例において、ページ１は、データＡを含んでいる。ページ２は、データＢを含んでいる。ページ３は、データＢ´を含んでいる。差分退避部１０４は、データＢとデータＢ´が類似するデータであるとするときに、ページ３（データＢ´）をスワップアウトする。その際、ページ２に、ページ３のデータ（データＢ´）と内容の似たデータ（データＢ）が存在しているので、差分退避部１０４は、スワップデバイス１０６に、ページ２を基準にしたという基準ページ参照情報と、ページ２とページ３との差分データ（Ｂ´−Ｂ）とを記録する。
【００３５】
復元処理部１０５は、差分退避部１０４により退避されたページを、主記憶装置１０１に復元（スワップイン）させる。例えば、復元処理部１０５は、書き換え要求検出部１０７から、書き換え要求が検出されたページの情報が供給されると、そのページを基準としてスワップアウトされているデータがある場合、復元処理を行う。
【００３６】
すなわち、図１の例において、復元処理部１０５は、復元したいページ（ページ３）の基準ページ参照情報を参照して、主記憶装置１０１上の基準ページ（ページ２）をスワップイン先にコピーする。そして、復元処理部１０５は復元したいページの差分（Ｂ´−Ｂ）をスワップデバイス１０６から読み出して、スワップイン先の基準ページ（ページ２）に適用することで、復元したいページ（ページ３）を復元する。
【００３７】
スワップデバイス１０６は、フラッシュメモリやハードディスクドライブなどで構成されており、抽出された差分と、その際基準となった基準ページの基準ページ参照情報とを記憶する。なお、類似するページが検出されない場合、スワップデバイス１０６には、ページデータ全体が、そのまま、あるいは圧縮されて記憶される。
【００３８】
書き換え要求検出部１０７は、書き換え部１０８による主記憶装置１０１上に記憶されているページへの書き換え要求を検出する。そして、書き換え要求検出部１０７は、書き換えようとしているページが基準ページであった場合に、書き換え要求が検出されたページの情報を復元処理部１０５に供給し、復元処理を行わせ、復元処理の終了後、書き換え部１０８に書き換えを許可する。
【００３９】
なお、そのページを基準としてスワップアウトされているデータがない場合、書き換え要求検出部１０７は、復元処理部１０５による復元処理なしに、書き換え部１０８に書き換えを行わせる。
【００４０】
書き換え部１０８は、主記憶装置１０１上において、ページの書き換えを行い、例えば、書き換えの終了を、書き換え検出部１０９に通知する。なお、ページ書き換えの際、書き換えようとしているページが基準ページである場合、書き換え部１０８は、書き換え要求検出部１０７および復元処理部１０５によりスワップアウトされているページが復元されたのちに、ページの書き換えを行うことができる。
【００４１】
書き換え検出部１０９は、書き換え部１０８からの書き換えの終了通知により、あるいは、主記憶装置１０１上のページの内容を定期的に確認するなどし、主記憶装置１０１上のページの書き換えを検出し、例えば、類似性情報生成部１０２に類似性情報を更新させる。
【００４２】
以上のように、情報処理システム１００においては、主記憶装置１０１上の空きが不足した場合などに、主記憶装置１０１上のページのうち、例えば、参照頻度の低いものが、スワップデバイス１０６に書き出される。これにより、主記憶装置１０１上に空き領域を作ることが可能である。その際、書き出す（スワップアウトする）ページと内容の類似しているページが他に主記憶装置１０１上に存在している場合、差分退避部１０４によりそれらの差分が抽出され、抽出された差分と基準ページ参照情報とがスワップデバイス１０６に記録される。これにより、スワップデバイスへの書き出し量を削減することができる。
【００４３】
なお、図１の情報処理システム１００は、具体的には、例えば、多機能携帯電話機などに適用することができる。この場合、主記憶装置１０１は、DRAM(Dynamic Random Access Memory)、スワップデバイス１０６は、eMMC(Embedded MultiMediaCard)(商標)などのフラッシュストレージによって実装することができる。また、類似性情報生成部１０２、類似ページ検出部１０３、差分退避部１０４、復元処理部１０５、書き換え要求検出部１０７、書き換え部１０８、および書き換え検出部１０９などは、CPU（Central Processing Unit）上で動作するソフトウエア、あるいは専用のハードウエアロジックによって実装することができる。なお、書き換え部１０８については、ページに対して書き換えを行うアプリケーションによって実装することも可能である。
【００４４】
[類似性情報の例]
図２は、類似性情報の例を示す図である。
【００４５】
類似性情報は、あるページのデータについて、類似したデータを有するページが他に主記憶装置１０１上にあるか否かという情報や、その位置がどこかという情報などを高速に探索するのに必要な情報をまとめたものである。
【００４６】
例えば、主記憶装置１０１上に類似した内容であるデータＡおよびデータＡ´が、ページ１とページ４とにそれぞれ存在する。この場合、類似性情報の中では、ページ１とページ４とが、グループ１という同じグループに分類されている。
【００４７】
また、例えば、主記憶装置１０１上には、データＢに類似した内容のデータが存在しない。したがって、類似性情報の中では、データＢが存在するページ２のみ、グループ２に分類されている。
【００４８】
さらに、例えば、主記憶装置１０１上に類似した内容であるデータＣ、データＣ´、およびデータＣ″が、ページ３、ページ５、およびページ６にそれぞれ存在する。この場合、類似性情報の中では、ページ３、ページ５、およびページ６が、グループ３という同じグループに分類されている。
【００４９】
このように分類されることで、ページ１に類似している内容のページはどれか？という問いに対してはすぐにページ４を検出することができ、逆に、ページ４に類似している内容のページはどれか？という問いに対してはすぐにページ１を検出することができる。
【００５０】
また、ページ２に類似している内容のページはどれか？という問いに対して、存在しないと返すことができる。
【００５１】
さらに、ページ３に類似している内容のページはどれか？という問いに対しては、すぐに、ページ５とページ６とを検出することができる。ページ５に類似している内容のページはどれか？という問いに対しては、すぐに、ページ３とページ６とを検出することができる。同様に、ページ６に類似している内容のページはどれか？という問いに対しては、すぐに、ページ３とページ５とを検出することができる。
【００５２】
なお、この類似性情報は、情報処理システム１００が低負荷の状態にあるときや、情報処理システム１００上で動作するアプリケーションが指示したタイミングなどで、類似性情報生成部１０２により主記憶装置１０１上の類似のデータ同士の探索が行われて、構築される。
【００５３】
また、この類似性情報は、図２で示したように、主記憶装置１０１上の１カ所にまとめたテーブルのような構造で配してもよいし、情報処理システム１００で各ページを管理するために存在している他のなんらかのデータ構造の一部として分散配置してもよい。
【００５４】
[スワップアウト処理の例]
次に、図３のフローチャートを参照して、情報処理システム１００が主記憶装置１０１上に空き領域を作るために、主記憶装置１０１上のページをスワップアウトする処理の流れを説明する。
【００５５】
類似ページ検出部１０３は、ステップＳ１０１において、主記憶装置１０１の類似性情報を参照し、スワップアウトの対象ページについて、主記憶装置１０１における類似ページの有無を調べる。ステップＳ１０２において、類似ページ検出部１０３は、類似ページが存在するか否かを判定する。
【００５６】
ステップＳ１０２において、類似ページが存在すると判定された場合、処理は、ステップＳ１０３に進む。ステップＳ１０３において、類似ページ検出部１０３は、類似ページの中から、差分を抽出する基準となる基準ページを選択し、スワップアウトの対象ページの情報と選択した基準ページの情報とを、差分退避部１０４に供給する。
【００５７】
なお、ページ選択のアルゴリズムは特に限定しないが、スワップアウト後に基準ページが書き換えられると、図７を参照して後述する基準ページの書き換え処理が必要となり、システム全体に負荷がかかってしまう恐れがある。したがって、予め書き換え頻度をカウントするようにしておくなどして、ステップＳ１０３においては書き換え頻度がなるべく低いページが基準ページとして選択される。
【００５８】
ステップＳ１０４において、差分退避部１０４は、スワップアウトの対象ページと基準ページとの差分を抽出する。ステップＳ１０５において、差分退避部１０４は、基準ページ参照情報およびステップＳ１０４により求められた差分を、スワップデバイス１０６に書き出す（記録する）。
【００５９】
一方、ステップＳ１０２において、類似ページが存在しないと判定された場合、類似ページ検出部１０３は、スワップアウトの対象ページの情報のみを差分退避部１０４に供給し、処理は、ステップＳ１０６に進む。ステップＳ１０６において、差分退避部１０４は、対象となるページデータ全体をスワップデバイス１０６に書き出す（記録する）。
【００６０】
ステップＳ１０６においては、従来手法と同様に、ページデータ全体は、そのまま、あるいは、圧縮されてからスワップデバイス１０６に書き出される。
【００６１】
なお、図３の処理の変形として、ページデータ全体の圧縮と、類似データとの差分抽出の両方を行って、それぞれの結果得られたデータ量を比較し、より少ない方の結果をスワップデバイス１０６に書き出すようにしてもよい。
【００６２】
[スワップイン処理の例]
次に、図４のフローチャートを参照して、スワップアウトされたページを、再び参照できるように主記憶装置１０１上に読み出して復元（スワップイン）する処理について説明する。
【００６３】
復元処理部１０５は、ステップＳ１２１において、スワップインの対象ページについて、スワップデバイス１０６を参照し、基準ページ参照情報と差分の形で記録されているのか、あるいは、ページデータ全体で記録されているのかを判定する。
【００６４】
ステップＳ１２１において、基準ページ参照情報と差分の形で記録されていると判定された場合、処理は、ステップＳ１２２に進む。ステップＳ１２２において、復元処理部１０５は、基準ページ参照情報を参照し、基準ページの内容を、主記憶装置１０１上のスワップイン先の領域にコピーする。
【００６５】
ステップＳ１２３において、復元処理部１０５は、スワップデバイス１０６から差分を読み出す。ステップＳ１２４において、復元処理部１０５は、ステップＳ１２３により読み出された差分を、スワップイン先の領域の基準ページの内容に適用し、対象ページのページデータを復元する。すなわち、復元処理部１０５は、対象ページのデータを、スワップアウト前のデータと同じ内容に復元する。
【００６６】
ステップＳ１２１において、基準ページ参照情報と差分の形で記録されていない、すなわち、ページデータ全体で記録されていると判定された場合、処理は、ステップＳ１２５に進む。ステップＳ１２５において、復元処理部１０５は、ページデータ全体を、スワップデバイス１０６から復元する。すなわち、ページデータ全体は、スワップデバイス１０６から読み出され、スワップイン先の領域に格納されて復元される。このとき、ページデータ全体が圧縮されている場合には、その圧縮の解凍も行われる。
【００６７】
[ページのグルーピング処理の例]
次に、図５のフローチャートを参照して、上述したスワップアウト処理などで参照される類似性情報を、類似ページの検索により構築する処理であるページのグルーピング処理について説明する。
【００６８】
なお、図５の例においては、ある１ページについて、そのページをどこのグループに登録するべきかを探索する処理となっている。したがって、この処理を主記憶装置１０１上の各ページについて繰り返し行うことにより、情報処理システム１００全体についての類似性情報の構築が完成する。また、初期状態においては、すべてのページは各々のみが含まれた１要素のグループをそれぞれ構成しているものとする。
【００６９】
ステップＳ１４１において、類似性情報生成部１０２は、調査の対象ページとの類似性の有無をまだ調べていないグループを１つ選択する。ステップＳ１４２において、類似性情報生成部１０２は、調査の対象ページが、ステップＳ１４１により選択されたグループ内のページと類似しているか否かを判定する。なお、ここでは、グループ内のページと比較しているが、例えば、グループの代表ページを選んでおき、代表ページとのみ比較を行うようにすることで、高速化を図ることもできる。
【００７０】
ステップＳ１４２において、グループ内のページと類似していると判定された場合、処理は、ステップＳ１４３に進む。ステップＳ１４３において、類似性情報生成部１０２は、調査の対象ページを、ステップＳ１４１により選択されたグループに追加する。
【００７１】
一方、ステップＳ１４２において、グループ内のページと類似していないと判定された場合、処理は、ステップＳ１４４に進む。ステップＳ１４４において、類似性情報生成部１０２は、全てのグループを調べ終えたか否かを判定する。
【００７２】
ステップＳ１４４において、全てのグループを調べ終えたと判定された場合、処理は、ステップＳ１４５に進む。ステップＳ１４５において、類似性情報生成部１０２は、調査の対象ページのみを含んだ単独のグループを構成する。
【００７３】
ステップＳ１４４において、まだ全てのグループを調べ終えていないと判定された場合、処理は、ステップＳ１４１に戻り、それ以降の処理が繰り返される。
【００７４】
なお、上述したステップＳ１４２においてページ間の内容が似ているかどうかの判定は、例えば、２ページ間の差分を抽出してみて、それがある一定の閾値より十分少ないデータ量で表わせる場合に似ていると判定される。また、例えば、各ページのデータについて算出したハッシュ値を比較する方法など、既存の技術が用いられてもよい。
【００７５】
[類似性情報の更新処理の例]
本情報処理システム１００において管理されているページ（データ）の内容が書き換えられた場合、ページ間の類似性の関係も変わってしまっている可能性がある。そのため、類似性情報の内容を適宜更新する必要がある。この更新処理の流れを、図６のフローチャートを参照して説明する。
【００７６】
なお、図６の例においては、書き換えが行われたある１ページについて、そのページのグルーピングを見直す処理となっており、情報処理システム１００上で書き換えられた全てのページについて順次この処理が行われる。例えば、書き換え部１０８により書き換えられたページは、書き換え検出部１０９により書き換えられたことが検出され、その情報が類似性情報生成部１０２に供給されて、この処理が開始される。
【００７７】
ステップＳ１６１において、類似性情報生成部１０２は、主記憶装置１０１の類似性情報を参照し、書き換えられたページと同じグループに他のページが存在しているかを調べる。ステップＳ１６２において、類似性情報生成部１０２は、書き換えられたページと同じグループに他のページが存在しているか（すなわち、類似ページが存在していたか）否かを判定する。
【００７８】
ステップＳ１６２において、書き換えられたページと同じグループに他のページが存在していると判定された場合、処理は、ステップＳ１６３に進む。ステップＳ１６３において、類似性情報生成部１０２は、書き換えられたページが、グループ内のページとまだ類似しているか否かを判定する。
【００７９】
ステップＳ１６３において、書き換えられたページが、グループ内のページとまだ類似していると判定された場合、類似性情報の更新が不要であるので、そのまま処理は終了される。
【００８０】
一方、ステップＳ１６２において、書き換えられたページと同じグループに他のページが存在していないと判定された場合、処理は、ステップＳ１６４に進む。また、ステップＳ１６３において、書き換えられたページが、グループ内のページともう類似していないと判定された場合も、処理は、ステップＳ１６４に進む。
【００８１】
ステップＳ１６４において、類似性情報生成部１０２は、書き換えられたページのグルーピング処理を行う。このページのグルーピング処理は、図５を参照して上述した処理と基本的に同様な処理であり、その説明については繰り返しになるので省略する。
【００８２】
ステップＳ１６４により、書き換えられたページが類似しているページのグループにグルーピングされ、類似性情報の更新処理は終了する。
【００８３】
[基準ページの書き換え処理の例]
差分としてスワップアウトされているページに対して、基準となっている基準ページが書き換えられてしまうと、スワップアウトされたデータを正しく復元することができない。そこで、図７のフローチャートを参照して、基準ページの書き換え要求に対して行われる処理である、基準ページの書き換え処理について説明する。
【００８４】
例えば、書き換え部１０８が主記憶装置１０１のあるページを書き換えようとする。書き換え要求検出部１０７は、この書き換え要求を検出し、書き換えようとしているページを基準としてスワップアウトされているデータがある、すなわち書き換えようとしているページが基準ページである場合に、この基準ページの書き換え処理を開始する。
【００８５】
なお、書き換えようとしているページが基準ページであるか否かは、スワップデバイス１０６の各基準ページ参照情報を参照するようにしてもよい。また、あるいは、類似性情報においてどのデータが基準データであるかをグループ毎に記憶しておき、それを参照するようにしてもよい。
【００８６】
ステップＳ１８１において、書き換え要求検出部１０７は、書き換えようとしている基準ページを基準とした（基準としてスワップアウトされている）全てのページのスワップイン処理を復元処理部１０５に指示する。なお、このページのスワップイン処理は、図４を参照して上述したページのスワップイン処理と基本的に同様な処理であるので、その説明は省略される。
【００８７】
書き換え要求検出部１０７は、復元処理部１０５による全てのページのスワップイン処理が終了すると、書き換え部１０８の書き換え要求を許可する。これに対応して、書き換え部１０８は、基準ページのデータの書き換えを行う。
【００８８】
書き換え検出部１０９は、主記憶装置１０１上のページが書き換え部１０８により書き換えられた場合、その書き換えを検出し、例えば、類似性情報生成部１０２に供給する。これに対応して、類似性情報生成部１０２は、ステップＳ１８３において、書き換えが行われた基準ページについて類似性情報の更新処理を行う。なお、この類似性情報の更新処理は、図６を参照して上述した類似性情報の更新処理と基本的に同様の処理を行うので、その説明は繰り返しになるので省略する。
【００８９】
例えば、類似ページ検出部１０３は、類似性情報の更新が終了すると、ステップＳ１８４において、ステップＳ１８１においてスワップインしたページのスワップアウトの処理を行う。なお、このスワップアウト処理は、図３を参照して上述したスワップアウト処理と基本的に同様の処理であり、その説明は繰り返しになるので省略される。
【００９０】
以上のようにして、基準データが書き換えられる前に、基準データを基準としてスワップアウトされているデータがスワップインされるので、スワップアウトされているデータがあったとしても、正しく復元することができる。
【００９１】
なお、図７のステップＳ１８４の処理については、必ずしも行う必要があるわけではなく、そのときの情報処理システム１００の主記憶装置１０１の空き具合に応じて処理を省いてもよい。また、情報処理システム１００の主記憶装置１０１の容量が足りなくなって、再度自動的にスワップアウト処理が行われるのを待つようにしてもよい。
【００９２】
＜２．第２の実施の形態＞
[情報処理システムの構成例]
図８は、本技術を適用した情報処理システムの第２の構成例を示す図である。
【００９３】
図８の例において、情報処理システム１５０は、主記憶装置１５１に書き込まれたデータを、主記憶装置１５１上の退避領域であるスワップデバイス１６１に退避し、また、退避させたデータを、主記憶装置１５１に復元する処理を行う。
【００９４】
情報処理システム１５０は、類似性情報生成部１０２、類似ページ検出部１０３、差分退避部１０４、復元処理部１０５、書き換え要求検出部１０７、書き換え部１０８、および書き換え検出部１０９を備える点が、図１の情報処理システム１００と共通している。
【００９５】
情報処理システム１５０は、主記憶装置１０１が、スワップデバイス１６１としての領域を含む主記憶装置１５１に入れ替わった点、主記憶装置１０１とは異なる記憶媒体上のスワップデバイス１０６が主記憶装置１０１上のスワップデバイス１６１に入れ替わった点が、図１の情報処理システム１００と異なっている。
【００９６】
すなわち、スワップデバイス１６１が主記憶装置１５１上に構成されている点が、情報処理システム１００と異なるだけである。したがって、情報処理システム１５０の処理については、上述した情報処理システム１００と基本的に同様の処理を行うため、その説明は繰り返しになるので省略される。
【００９７】
なお、スワップデバイス１６１の主記憶装置１５１上に占めるサイズは、スワップデバイス１６１内に書かれているデータ量に応じて可変とする。この場合、スワップアウト処理は、主記憶装置１５１上で参照頻度の低くなったデータを差分の形に縮小して再配置する処理となり、結果的に、情報処理システム１５０全体における主記憶装置１５１の使用量を削減することにつながる。
【００９８】
＜３．第３の実施の形態＞
[情報処理システムの構成例]
図９は、本技術を適用した情報処理システムの第３の構成例を示す図である。
【００９９】
図９の例において、情報処理システム２００は、図１の情報処理システム１００と同様に、主記憶装置１０１に書き込まれたデータを退避領域であるスワップデバイス１０６に退避し、また、退避させたデータを、主記憶装置１０１に復元する処理を行う。
【０１００】
情報処理システム２００は、主記憶装置１０１、類似ページ検出部１０３、差分退避部１０４、復元処理部１０５、スワップデバイス１０６、書き換え要求検出部１０７、書き換え部１０８、および書き換え検出部１０９を備える点が、図１の情報処理システム１００と共通している。
【０１０１】
情報処理システム２００は、コピー検出部２０１が追加された点、および類似性情報生成部１０２が類似性情報生成部２０２に入れ替わった点が、図１の情報処理システム１００と異なっている。
【０１０２】
すなわち、コピー検出部２０１は、主記憶装置１０１上で行われたデータのコピー処理を検出し、検出したコピー処理のページ情報（コピー元のページおよびコピー先のページについての情報）を、類似性情報生成部２０２に供給する。
【０１０３】
例えば、図９の例においては、ページ１のデータＡがページ２にコピーされている。コピー検出部２０１は、このコピー処理を検出し、コピー処理のページ情報として、コピー元のページ（ページ１）およびコピー先のページ（ページ２）についての情報を、類似性情報生成部２０２に供給する。
【０１０４】
類似性情報生成部２０２は、図１の類似性情報生成部１０２と同様に、主記憶装置１０１上のページ同士の類似性に基づいてページをグルーピングし、類似したページ同士のグルーピング情報が記載されている類似性情報を生成する。類似性情報生成部２０２は、生成した類似性情報を、主記憶装置１０１に記録して管理する。
【０１０５】
また、類似性情報生成部２０２は、図１の類似性情報生成部１０２と同様に、所定の間隔、システムの負荷状況、ユーザからの類似性情報の更新要求、または、ページの書き換えの発生などに応じ、主記憶装置１０１上のページ同士の類似性に基づいてページのグルーピングを行い、主記憶装置１０１に管理されている類似性情報を更新する。
【０１０６】
さらに、類似性情報生成部２０２は、図１の類似性情報生成部１０２と異なり、コピー検出部２０１から供給されたコピー処理のページ情報を参照して、ページ同士の類似性に基づいてページのグルーピングを行い、主記憶装置１０１に管理されている類似性情報を更新する。
【０１０７】
なお、このコピー検出部２０１のような機構は、例えば、OS(オペレーティングシステム)が行うコピーオンライト処理の中や、アプリケーション用ライブラリが提供するメモリコピー関数の中などに設けることが考えられる。
【０１０８】
[コピーページのグルーピング処理の例]
次に、情報処理システム２００のコピーページのグルーピング処理について、図１０のフローチャートを参照して説明する。なお、情報処理システム２００のその他の処理は、図１の情報処理システム１００の処理と基本的に同様の処理を行う。したがって、その説明は繰り返しになるので、省略される。
【０１０９】
例えば、コピー検出部２０１により、主記憶装置１０１上で行われたデータのコピー処理が検出され、検出されたコピー処理のページ情報（コピー元のページおよびコピー先のページについての情報）が、類似性情報生成部２０２に供給される。
【０１１０】
類似性情報生成部２０２は、ステップＳ２０１において、類似性情報を参照し、コピー元のページが属するグループを検索する。ステップＳ２０２において、類似性情報生成部２０２は、元ページが属するグループに、コピー先のページを追加し、この処理を終了すれる。
【０１１１】
この処理は、図５を参照して上述した類似ページの検索によるページのグルーピング処理と比して、データのコピー処理によって生まれた類似性しか検知できないものの、処理の負荷が非常に低いというメリットがある。
【０１１２】
なお、図９の例においては、類似ページの検索によるページのグルーピング処理に加えて、コピー検出部２０１を併用して構成されるシステムである情報処理システム２００の例を説明した。これに対して、低負荷であることが要求されるシステムなどにおいては、類似ページの検索によるページのグルーピング処理を用いず、図１１に示すように、コピー検出機構を用いたシステムとすることができる。
【０１１３】
＜４．第４の実施の形態＞
[情報処理システムの構成例]
図１１は、本技術を適用した情報処理システムの第４の構成例を示す図である。
【０１１４】
図１１の例において、情報処理システム２５０は、図１の情報処理システム１００と同様に、主記憶装置１０１に書き込まれたデータを退避領域であるスワップデバイス１０６に退避し、また、退避させたデータを、主記憶装置１０１に復元する処理を行う。
【０１１５】
情報処理システム２５０は、主記憶装置１０１、類似ページ検出部１０３、差分退避部１０４、復元処理部１０５、スワップデバイス１０６、書き換え要求検出部１０７、および書き換え部１０８を備える点が、図１の情報処理システム１００と共通している。
【０１１６】
情報処理システム２００は、書き換え検出部１０９が除かれた点、および類似性情報生成部１０２がコピー検出類似性情報生成部２５１に入れ替わった点が、図１の情報処理システム１００と異なっている。
【０１１７】
コピー検出類似性情報生成部２５１は、主記憶装置１０１上で行われたデータのコピー処理を検出し、検出したコピー処理のページ情報（コピー元のページおよびコピー先のページについての情報）を参照して、ページ同士の類似性に基づいてページのグルーピングを行い、類似性情報を生成する。
【０１１８】
すなわち、コピー検出類似性情報生成部２５１は、図９のコピー検出部２０１と、コピー処理のページ情報を参照してグルーピング処理のみを行う類似性情報生成部２０２との組み合わせであるので、それらの組み合わせで構成するようにしてもよい。
【０１１９】
なお、図１１の情報処理システム２５０の処理は、例えば、図３のスワップアウト処理、図４のスワップイン処理、図７のステップＳ１８１およびＳ１８２の処理、並びに、図１０のコピーページのグルーピング処理と基本的に同様な処理を行う。したがって、これらの説明は、繰り返しになるので省略される。
【０１２０】
以上のように、本技術によれば、ROM（Read Only Memory）やフラッシュメモリ上にオリジナルデータが存在していない任意のページのスワップデバイスへの書き出し量を削減することができる。これにより、コストダウンなどを図ることができる。
【０１２１】
また、図８の情報処理システムの場合、スワップデバイスではなく、搭載する主記憶装置の量を削減できるので、コストダウンなどを図ることができる。あるいは、主記憶装置の量を減らさない場合、従来と同じアプリケーションを動作させたときの主記憶装置の空き領域を増やすことができる。したがって、従来よりもアプリケーションを快適に使用できるようになったり、より多くのアプリケーションを同時に、かつ快適に動かせるようになったりする。
【０１２２】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１２３】
＜５．第５の実施の形態（コンピュータ）＞
[コンピュータの構成例]
図１２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示している。
【０１２４】
コンピュータ３００において、CPU（Central Processing Unit）３０１、ROM（Read Only Memory）３０２、RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０１２５】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、及びドライブ３１０が接続されている。
【０１２６】
入力部３０６は、キーボード、マウス、マイクロホンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体３１１を駆動する。
【０１２７】
以上のように構成されるコンピュータ３００では、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを、入出力インタフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０１２８】
コンピュータ３００（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１２９】
コンピュータ３００では、プログラムは、リムーバブル記録媒体３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０１３０】
なお、コンピュータ３００が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１３１】
なお、本明細書において、上述した一連の処理を記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３２】
また、本開示における実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０１３３】
例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１３４】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１３５】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１３６】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１３７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有するのであれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例また修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１３８】
なお、本技術は以下のような構成も取ることができる。
（１）  主記憶上において処理の対象となる対象データと類似性を有する類似データを検出する類似データ検出部と、
前記類似データ検出部により検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出す差分退避部と
を備える情報処理装置。
（２）  前記基準データへの書き換え要求を検出する書き換え要求検出部と、
前記書き換え要求検出部より前記基準データへの書き換え要求が検出された場合、前記基準データと前記データ退避部により書き出された差分とを用いてデータを復元するデータ復元部と、
前記データ復元部によりデータが復元された後に、前記書き換え要求検出部より書き換え要求が検出された前記基準データの書き換えを行うデータ書き換え部と
をさらに備える前記（１）に記載の情報処理装置。
（３）  前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記データ同士の類似性が記載される類似性情報を生成する類似性情報生成部をさらに備え、
前記類似データ検出部は、前記類似性情報生成部により生成された類似性情報を参照して、主記憶上において対象データと類似性を有する類似データを検出する
前記（１）または（２）に記載の情報処理装置。
（４）  前記類似性情報生成部は、所定の間隔、負荷状況、または、更新要求に応じて、前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記類似性情報を生成する
前記（３）に記載の情報処理装置。
（５）  前記類似性情報生成部によりグループ化されたデータの書き換えが発生したことを検出する書き換え検出部を
さらに備え、
前記類似性情報生成部は、前記書き換え検出部によりグループ化されたデータの書き換えが発生したことが検出された場合、前記主記憶上のデータ同士の類似性に基づいてデータをグループ化し、前記類似性情報を生成する
前記（３）に記載の情報処理装置。
（６）  前記主記憶上のデータのコピー処理を検出するコピー検出部を
さらに備え、
前記類似性情報生成部は、前記コピー処理検出部により検出されたコピー処理のコピー元のデータおよびコピー先のデータを類似性のあるデータ同士として、データをグループ化し、前記類似性情報を生成する
前記（３）に記載の情報処理装置。
（７）  前記類似性情報生成部は、前記主記憶上のデータのコピー処理を検出し、検出したコピー処理のコピー元のデータおよびコピー先のデータを類似性のあるデータ同士として、データをグループ化し、前記類似性情報を生成する
前記（３）に記載の情報処理装置。
（８）  前記基準データと前記データ退避部により書き出された差分とを用いてデータを復元するデータ復元部を
さらに備える前記（３）に記載の情報処理装置。
（９）  前記退避領域は、前記主記憶とは別の記憶媒体に設けられている
前記（１）乃至（８）のいずれかに記載の情報処理装置。
（１０）  前記退避領域は、前記主記憶上の別の領域に設けられている
前記（１）乃至（８）のいずれかに記載の情報処理装置。
（１１）  情報処理装置が、
主記憶上において処理の対象となる対象データと類似性を有する類似データを検出し、
検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出す
情報処理方法。
（１２）  主記憶上において処理の対象となる対象データと類似性を有する類似データを検出する類似データ検出部と、
前記類似データ検出部により検出された類似データの中から選択された基準データと前記対象データとの差分を抽出し、抽出された差分を退避領域に書き出すデータ退避部と
して、コンピュータを機能させるプログラム。
【符号の説明】
【０１３９】
１００  情報処理システム，  １０１  主記憶装置，  １０２  類似性情報生成部，  １０３  類似ページ検出部，  １０４  差分退避部，  １０５  復元処理部，  １０６  スワップデバイス，  １０７  書き換え要求検出部，  １０８  書き換え部，  １０９  書き換え検出部，  １５０  情報処理システム，  １５１  主記憶装置，  １６１  スワップデバイス，  ２００  情報処理システム，  ２０１  コピー検出部，  ２０２  類似性情報生成部，  ２５０  情報処理システム，  ２５１  コピー検出類似性情報生成部
【図１】
2014164614.tif 000003
【図２】
2014164614.tif 000004
【図３】
2014164614.tif 000005
【図４】
2014164614.tif 000006
【図５】
2014164614.tif 000007
【図６】
2014164614.tif 000008
【図７】
2014164614.tif 000009
【図８】
2014164614.tif 000010
【図９】
2014164614.tif 000011
【図１０】
2014164614.tif 000012
【図１１】
2014164614.tif 000013
【図１２】
2014164614.tif 000014