(57)【要約】【課題】同時実行制御を利用するデータベースシステムにおいて、バキューム処理および更新処理が相互に悪影響を及ぼすことがないデータベースシステムを提供する。【解決手段】コピー部１３３は、バキューム処理が実行されるデータベースファイルを、データベース１１からテンポラリメモリ１２にコピーする。バキューム部１３２は、データベース１１においてではなく、テンポラリメモリ１２において、バキューム処理を実行する。上書き部１３４は、バキューム処理が実行されたデータベースファイルを、テンポラリメモリ１２からデータベース１１に上書きする。バキューム部１３２は、テンポラリメモリ１２に対して、バキューム処理を実行する。ユーザ端末２、３は、データベース１１に対して、更新処理を実行する。バキューム処理が長時間を必要とするときでも、バキューム処理および更新処理が相互に悪影響を及ぼすことがない。【選択図】図２
2010015344.tif 000002
【特許請求の範囲】
【請求項１】
データベースと、
テンポラリメモリと、
一のコミット前にコミットされたコミット前データと、前記一のコミット後にコミットされたコミット後データを、前記データベースから前記テンポラリメモリにコピーするコピー部と、
前記テンポラリメモリでコピーされた前記コミット前データと前記コミット後データから、前記コミット前データを削除して前記コミット後データを抽出するバキューム部と、
前記テンポラリメモリで抽出された前記コミット後データを、前記テンポラリメモリから前記データベースに上書きする上書き部と、
を備えることを特徴とするデータベースシステム。
【請求項２】
請求項１に記載のデータベースシステムにおいて、
前記バキューム部は、
前記コピー部により前記コミット前データと前記コミット後データがコピーされているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの抽出を中止するバキューム中止部、
を含むことを特徴とするデータベースシステム。
【請求項３】
請求項１または請求項２に記載のデータベースシステムにおいて、
前記上書き部は、
前記バキューム部により前記コミット後データが抽出されているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの上書きを中止する上書き中止部、
を含むことを特徴とするデータベースシステム。
【請求項４】
請求項１ないし請求項３のいずれかに記載のデータベースシステムにおいて、さらに、
前記上書き部により前記コミット後データが上書きされているときには、前記データベースに排他的ロックをかける排他的ロック部、
を備えることを特徴とするデータベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同時実行制御を利用するデータベースシステムにおいて、同時実行制御により発生する過剰データを削除して、データベースの操作性を向上させる技術に関する。
【背景技術】
【０００２】
同時実行制御を利用するデータベースシステムがある。すなわち、データベースシステムは、あるユーザ端末からあるデータに対する書き込み指示を受け付けているときでも、他のユーザ端末からそのデータに対する読み込み指示を受け付けられる。
【０００３】
データベースシステムは、読み込み指示を受け付けるときには、いまだコミットされていないデータを提供するのではなく、すでにコミットされているデータを提供する。すなわち、データベースシステムは、読み込み指示を受け付けるときには、整合性が保証されていないデータを提供するのではなく、整合性が保証されているデータを提供する。
【０００４】
データベースシステムは、ある時刻（第１時刻）においてすでにコミットされているデータを提供するために、第１時刻において書き込み指示を受け付けているときでも、第１時刻においてすでにコミットされているデータを格納している必要がある。
【０００５】
データベースシステムは、後の時刻（第２時刻）においてすでにコミットされているデータを提供するために、第２時刻において書き込み指示を受け付けているときでも、第２時刻においてすでにコミットされているデータを格納している必要がある。
【０００６】
ここで、データベースシステムは、第１時刻、第２時刻、・・・においてすでにコミットされているデータを格納し続ける。しかし、データベースシステムは、第１時刻、第２時刻、・・・においてすでにコミットされているデータをいずれは提供しなくなる。そこで、データベースシステムは、これらのデータを過剰データとして格納し続ける。
【０００７】
非特許文献１のデータベースシステムは、バキューム処理を実行する。すなわち、データベースシステムは、バキューム処理の直近以外にコミットされているデータを削除して、バキューム処理の直近にコミットされているデータを抽出する。そのため、データベースシステムは、データベースの操作性を向上させることができる。
【０００８】
【非特許文献１】“ＰｏｓｔｇｒｅＳＱＬ  ８．３．１文書”、[online]、平成２０年４月３日、ＰｏｓｔｇｒｅＳＱＬ  グローバル開発グループ、[平成２０年６月４日検索]、インターネット＜ＵＲＬ：http://www.postgresql.jp/document/pg831doc/html/＞
【発明の開示】
【発明が解決しようとする課題】
【０００９】
非特許文献１のデータベースシステムは、バキューム処理および更新処理を実行するときには、バキューム処理により更新処理に悪影響を及ぼすことがあり、更新処理によりバキューム処理に悪影響を及ぼすことがある。データベースシステムは、バキューム処理に長時間を必要とするときには、以上の問題点を重要な問題点とすることになる。
【００１０】
そこで、本発明は前記問題点に鑑み、バキューム処理が長時間を必要とするときでも、バキューム処理が更新処理に悪影響を及ぼすことがなく、更新処理がバキューム処理に悪影響を及ぼすことがないデータベースシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、請求項１記載の発明は、データベースシステムであって、データベースと、テンポラリメモリと、一のコミット前にコミットされたコミット前データと、前記一のコミット後にコミットされたコミット後データを、前記データベースから前記テンポラリメモリにコピーするコピー部と、前記テンポラリメモリでコピーされた前記コミット前データと前記コミット後データから、前記コミット前データを削除して前記コミット後データを抽出するバキューム部と、前記テンポラリメモリで抽出された前記コミット後データを、前記テンポラリメモリから前記データベースに上書きする上書き部と、を備えることを特徴とする。
【００１２】
請求項２記載の発明は、請求項１に記載のデータベースシステムにおいて、前記バキューム部は、前記コピー部により前記コミット前データと前記コミット後データがコピーされているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの抽出を中止するバキューム中止部、を含むことを特徴とする。
【００１３】
請求項３記載の発明は、請求項１または請求項２に記載のデータベースシステムにおいて、前記上書き部は、前記バキューム部により前記コミット後データが抽出されているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの上書きを中止する上書き中止部、を含むことを特徴とする。
【００１４】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載のデータベースシステムにおいて、さらに、前記上書き部により前記コミット後データが上書きされているときには、前記データベースに排他的ロックをかける排他的ロック部、を備えることを特徴とする。
【発明の効果】
【００１５】
データベースシステムは、データベース、テンポラリメモリ、コピー部、バキューム部、上書き部から構成される。データベースは、データを永続的に格納するが、テンポラリメモリは、データを一時的に格納する。
【００１６】
コピー部は、バキューム処理の直近以外にコミットされているデータ、バキューム処理の直近にコミットされているデータを、データベースからテンポラリメモリにコピーする。バキューム部は、データベースにおいてではなく、テンポラリメモリにおいて、バキューム処理の直近以外にコミットされているデータを削除して、バキューム処理の直近にコミットされているデータを抽出する。上書き部は、バキューム処理の直近にコミットされているデータを、テンポラリメモリからデータベースに上書きする。
【００１７】
バキューム部は、テンポラリメモリに対して、バキューム処理を実行する。ユーザ端末は、データベースに対して、更新処理を実行する。データベースシステムは、バキューム処理に長時間を必要とするときでも、バキューム処理により更新処理に悪影響を及ぼすことがなく、更新処理によりバキューム処理に悪影響を及ぼすことがない。
【発明を実施するための最良の形態】
【００１８】
｛バキューム処理の概要｝
以下、図面を参照しつつ、本発明の実施の形態について説明する。図１は、バキューム処理の概要を示すタイムチャートである。サーバ１は、データベースを格納する。ユーザ端末２、３は、データベースを操作する。サーバ１は、同時実行制御を利用する。
【００１９】
ユーザ端末２は、トランザクション２１を実行する。ユーザ端末３は、トランザクション３１、３２を実行する。トランザクション３１は、トランザクション２１と並行して実行されるが、トランザクション３２は、トランザクション２１とタイミングをずらして実行される。
【００２０】
サーバ１がステップＳ２１の実行前にデータベースに格納しているデータは、直近トランザクションにおいてすでにコミットされており、ユーザ端末２により更新される前のデータ（既コミット更新前データ）である（ステップＳ１１）。
【００２１】
ユーザ端末２は、サーバ１に読み込み指示を送信する（ステップＳ２１）。ユーザ端末２は、サーバ１から既コミット更新前データを取得して、図１に不図示の表示部に既コミット更新前データを表示する（ステップＳ２２）。
【００２２】
ユーザ端末２は、サーバ１に１回目の書き込み指示を送信する（ステップＳ２３）。サーバ１がステップＳ２３の実行後にログ情報に記録しているデータは、トランザクション２１においていまだコミットされておらず、ユーザ端末２により更新されている最中のデータ（未コミット更新中データ）である（ステップＳ１２）。
【００２３】
ユーザ端末２は、サーバ１に２回目の書き込み指示を送信する（ステップＳ２４）。サーバ１がステップＳ２４の実行後にログ情報に記録しているデータは、トランザクション２１においていまだコミットされておらず、ユーザ端末２により更新された後のデータ（未コミット更新後データ）である（ステップＳ１３）。
【００２４】
サーバ１は、ステップＳ２３、Ｓ２４における書き込み内容に整合性が認められるときには、コミット処理を実行する。サーバ１は、ステップＳ２３、Ｓ２４における書き込み内容に整合性が認められないときには、ロールバック処理を実行する。図１においては、サーバ１は、コミット処理を実行する（ステップＳ１４）。
【００２５】
サーバ１がステップＳ１４の実行後にデータベースに格納しているデータは、トランザクション２１においてすでにコミットされており、ユーザ端末２により更新された後のデータ（既コミット更新後データ）である（ステップＳ１５）。
【００２６】
ユーザ端末３は、サーバ１に読み込み指示を送信する（ステップＳ３１）。ここで、未コミット更新中データが、ログ情報に記録されている（ステップＳ１２）。しかし、ユーザ端末３は、サーバ１から既コミット更新前データを取得して、図１に不図示の表示部に既コミット更新前データを表示する（ステップＳ３２）。そのため、ユーザ端末３は、整合性が保証されたデータを取得できて表示できる。
【００２７】
ユーザ端末３は、サーバ１に読み込み指示を送信する（ステップＳ３３）。ここで、既コミット更新後データが、データベースに格納されている（ステップＳ１５）。そこで、ユーザ端末３は、サーバ１から既コミット更新後データを取得して、図１に不図示の表示部に既コミット更新後データを表示する（ステップＳ３４）。そのため、ユーザ端末３は、整合性が保証されたデータを取得できて表示できる。
【００２８】
サーバ１は、ユーザ端末３に既コミット更新前データを提供するため（ステップＳ３２）、既コミット更新前データを格納している（ステップＳ１１）。サーバ１は、ユーザ端末３に既コミット更新後データを提供するため（ステップＳ３４）、既コミット更新後データを格納しているが、既コミット更新前データも格納している（ステップＳ１５）。
【００２９】
既コミット更新後データは、今後とも参照される可能性がある必要なデータであるが、既コミット更新前データは、今後とも参照される可能性がない過剰なデータである。サーバ１は、バキューム処理を実行することにより、既コミット更新前データを削除して、既コミット更新後データを抽出して、データベースの操作性を向上させる。
【００３０】
｛サーバの構成要素｝
図２は、サーバ１の構成要素を示すブロック図である。サーバ１は、データベース１１、テンポラリメモリ１２、データベースマネージメントシステム１３から構成される。データベース１１は、データを永続的に格納する。テンポラリメモリ１２は、データを一時的に格納する。データベースマネージメントシステム１３は、ユーザ端末２、３から操作指示を入力して、データベース１１、テンポラリメモリ１２に操作命令を出力する。
【００３１】
データベース１１は、第１ファイル１１１、第２ファイル１１２、第３ファイル１１３から構成される。一のファイルは、他のファイルに関連しておらず、他のファイルから独立している。一のファイルに対するバキューム処理および更新処理は、他のファイルに対するバキューム処理および更新処理から独立している。
【００３２】
データベースマネージメントシステム１３は、アクセス部１３１、バキューム部１３２、コピー部１３３、上書き部１３４から構成される。
【００３３】
アクセス部１３１は、データベース１１に格納されているデータに対して、更新処理を実行する。バキューム部１３２は、テンポラリメモリ１２に格納されているデータに対して、バキューム処理を実行する。アクセス部１３１による更新処理、バキューム部１３２によるバキューム処理は、相互に衝突することがない。
【００３４】
コピー部１３３は、データベース１１に格納されているバキューム処理を実行されていないデータを、データベース１１からテンポラリメモリ１２にコピーする。上書き部１３４は、テンポラリメモリ１２に格納されているバキューム処理を実行されているデータを、テンポラリメモリ１２からデータベース１１に上書きする。
【００３５】
｛バキューム処理の流れ｝
図３および図４は、バキューム処理の流れを示すフローチャートである。図５から図７までは、バキューム処理を示すタイムチャートである。一のファイルに対するバキューム処理は、他のファイルに対するバキューム処理から独立している。
【００３６】
「参照データ」は、バキューム処理の直近にコミットされているデータであり、今後とも参照される可能性がある必要なデータである。「参照データ」は、図１のステップＳ１５における「既コミット更新後データ」に相当する。
【００３７】
「非参照データ」は、バキューム処理の直近以外にコミットされているデータであり、今後とも参照される可能性がない過剰なデータである。「非参照データ」は、図１のステップＳ１１における「既コミット更新前データ」に相当する。
【００３８】
［第１ファイルのバキューム処理］
図５は、第１ファイル１１１のバキューム処理を示すタイムチャートである。ここで、第１ファイル１１１がデータベース１１からテンポラリメモリ１２にコピーされているときに、第１ファイル１１１がデータベース１１において更新されない。そして、第１ファイル１１１がテンポラリメモリ１２においてバキュームされているときに、第１ファイル１１１がデータベース１１において更新されない。
【００３９】
バキューム部１３２は、バキューム処理タイミングが到来しているかどうかをチェックする（ステップＳ４１）。図５においては、バキューム処理タイミングが到来している場合を示す（ステップＳ４２においてＹＥＳ）。バキューム部１３２は、バキューム処理タイミングが到来していないことを確認したときには（ステップＳ４２においてＮＯ）、バキューム処理を実行しない。
【００４０】
バキューム部１３２は、ユーザ端末２、３による設定時刻が到来していることをチェックしてもよい。バキューム部１３２は、現実のデータサイズが本来のデータサイズの所定数倍以上になっていることをチェックしてもよい。バキューム部１３２は、ユーザ端末２、３がデータベース１１にアクセスしていないことをチェックしてもよい。
【００４１】
コピー部１３３は、参照データ１１１１、非参照データ１１１２を含む第１ファイル１１１を、データベース１１からテンポラリメモリ１２にコピーする（ステップＳ４３）。
【００４２】
バキューム部１３２は、第１ファイル１１１がコピー処理中にデータベース１１において更新されているかどうかを、コピー処理後にチェックする（ステップＳ４４）。バキューム部１３２は、第１ファイル１１１がコピー処理中にデータベース１１において更新されていないことを確認する（ステップＳ４５においてＮＯ）。
【００４３】
バキューム部１３２は、参照データ１１１１、非参照データ１１１２を含む第１ファイル１１１に対して、テンポラリメモリ１２においてバキューム処理を実行する。バキューム部１３２は、参照データ１１１１をテンポラリメモリ１２において抽出して、非参照データ１１１２をテンポラリメモリ１２において削除する（ステップＳ４６）。
【００４４】
バキューム部１３２は、第１ファイル１１１がバキューム処理中にデータベース１１において更新されているかどうかを、バキューム処理後にチェックする（ステップＳ４７）。バキューム部１３２は、第１ファイル１１１がバキューム処理中にデータベース１１において更新されていないことを確認する（ステップＳ４８においてＮＯ）。
【００４５】
バキューム部１３２は、データベース１１に格納されているログ情報をチェックすることにより、データベースファイルがデータベース１１において更新されているかどうかをチェックしてもよい。バキューム部１３２は、データベース１１に格納されているデータベースファイルをモニターすることにより、データベースファイルがデータベース１１において更新されているかどうかをチェックしてもよい。
【００４６】
アクセス部１３１は、データベース１１に格納されている第１ファイル１１１に対して、排他的ロックをかける（ステップＳ４９）。ユーザ端末２、３は、第１ファイル１１１にアクセスできない。上書き部１３４は、参照データ１１１１を、テンポラリメモリ１２からデータベース１１に上書きする（ステップＳ５０）。
【００４７】
アクセス部１３１は、データベース１１に格納されている参照データ１１１１に対して、排他的ロックを解除する（ステップＳ５１）。ユーザ端末２、３は、参照データ１１１１にアクセスできる。バキューム部１３２は、参照データ１１１１を、テンポラリメモリ１２から削除する（ステップＳ５２）。以上により第１ファイル１１１のバキューム処理が終了する。
【００４８】
［第２ファイルのバキューム処理］
図６は、第２ファイル１１２のバキューム処理を示すタイムチャートである。ここで、第２ファイル１１２がデータベース１１からテンポラリメモリ１２にコピーされているときに、第２ファイル１１２がデータベース１１において更新される。
【００４９】
バキューム部１３２は、バキューム処理タイミングが到来しているかどうかをチェックする（ステップＳ４１）。図６においては、バキューム処理タイミングが到来している場合を示す（ステップＳ４２においてＹＥＳ）。バキューム部１３２は、バキューム処理タイミングが到来していないことを確認したときには（ステップＳ４２においてＮＯ）、バキューム処理を実行しない。
【００５０】
コピー部１３３は、参照データ１１２１、非参照データ１１２２を含む第２ファイル１１２を、データベース１１からテンポラリメモリ１２にコピーする（ステップＳ４３）。
【００５１】
バキューム部１３２は、第２ファイル１１２がコピー処理中にデータベース１１において更新されているかどうかを、コピー処理後にチェックする（ステップＳ４４）。バキューム部１３２は、第２ファイル１１２がコピー処理中にデータベース１１において更新されていることを確認する（ステップＳ４５においてＹＥＳ）。
【００５２】
すなわち、ユーザ端末２またはユーザ端末３は、コピー処理中に、サーバ１に更新データの書き込み指示を送信している。そして、サーバ１は、コピー処理中に、コミット処理を実行して、データベース１１に更新データ１１２３を格納している。
【００５３】
バキューム部１３２が参照データ１１２１を抽出して、上書き部１３４が参照データ１１２１を上書きするならば、すでにコミットされた更新データ１１２３は削除される。そこで、バキューム部１３２は、バキューム処理を実行しない。バキューム部１３２は、参照データ１１２１、非参照データ１１２２を、テンポラリメモリ１２から削除する（ステップＳ５２）。以上により第２ファイル１１２のバキューム処理が終了する。
【００５４】
［第３ファイルのバキューム処理］
図７は、第３ファイル１１３のバキューム処理を示すタイムチャートである。ここで、第３ファイル１１３がデータベース１１からテンポラリメモリ１２にコピーされているときに、第３ファイル１１３がデータベース１１において更新されない。しかし、第３ファイル１１３がテンポラリメモリ１２においてバキュームされているときに、第３ファイル１１３がデータベース１１において更新される。
【００５５】
バキューム部１３２は、バキューム処理タイミングが到来しているかどうかをチェックする（ステップＳ４１）。図７においては、バキューム処理タイミングが到来している場合を示す（ステップＳ４２においてＹＥＳ）。バキューム部１３２は、バキューム処理タイミングが到来していないことを確認したときには（ステップＳ４２においてＮＯ）、バキューム処理を実行しない。
【００５６】
コピー部１３３は、参照データ１１３１、非参照データ１１３２を含む第３ファイル１１３を、データベース１１からテンポラリメモリ１２にコピーする（ステップＳ４３）。
【００５７】
バキューム部１３２は、第３ファイル１１３がコピー処理中にデータベース１１において更新されているかどうかを、コピー処理後にチェックする（ステップＳ４４）。バキューム部１３２は、第３ファイル１１３がコピー処理中にデータベース１１において更新されていないことを確認する（ステップＳ４５においてＮＯ）。
【００５８】
バキューム部１３２は、参照データ１１３１、非参照データ１１３２を含む第３ファイル１１３に対して、テンポラリメモリ１２においてバキューム処理を実行する。バキューム部１３２は、参照データ１１３１をテンポラリメモリ１２において抽出して、非参照データ１１３２をテンポラリメモリ１２において削除する（ステップＳ４６）。
【００５９】
バキューム部１３２は、第３ファイル１１３がバキューム処理中にデータベース１１において更新されているかどうかを、バキューム処理後にチェックする（ステップＳ４７）。バキューム部１３２は、第３ファイル１１３がバキューム処理中にデータベース１１において更新されていることを確認する（ステップＳ４８においてＹＥＳ）。
【００６０】
すなわち、ユーザ端末２またはユーザ端末３は、バキューム処理中に、サーバ１に更新データの書き込み指示を送信している。そして、サーバ１は、バキューム処理中に、コミット処理を実行して、データベース１１に更新データ１１３３を格納している。
【００６１】
バキューム部１３２が参照データ１１３１を抽出して、上書き部１３４が参照データ１１３１を上書きするならば、すでにコミットされた更新データ１１３３は削除される。そこで、上書き部１３４は、上書き処理を実行しない。バキューム部１３２は、参照データ１１３１を、テンポラリメモリ１２から削除する（ステップＳ５２）。以上により第３ファイル１１３のバキューム処理が終了する。
【００６２】
｛本発明のまとめ｝
バキューム部１３２は、テンポラリメモリ１２に対して、バキューム処理を実行する。ユーザ端末２、３は、データベース１１に対して、更新処理を実行する。サーバ１は、バキューム処理に長時間を必要とするときでも、バキューム処理により更新処理に悪影響を及ぼすことがなく、更新処理によりバキューム処理に悪影響を及ぼすことがない。
【００６３】
バキューム部１３２は、コピー処理中に更新処理が実行されたときには、バキューム処理を実行しない。上書き部１３４は、バキューム処理中に更新処理が実行されたときには、上書き処理を実行しない。サーバ１は、バキューム処理または上書き処理を誤って実行することにより、更新処理を誤って無効化することがない。
【００６４】
バキューム部１３２は、コピー処理中またはバキューム処理中に更新処理が実行されているかどうかを、それぞれコピー処理後またはバキューム処理後にチェックしてもよい。バキューム部１３２は、コピー処理中またはバキューム処理中に更新処理が実行されているかどうかを、それぞれコピー処理中またはバキューム処理中にチェックしてもよい。
【００６５】
前者のチェック方法では、バキューム部１３２は、コピー処理中またはバキューム処理中に更新処理の有無をチェックする負担をなくすことができる。後者のチェック方法では、バキューム部１３２は、コピー処理中またはバキューム処理中に更新処理の有無をチェックする負担をなくすことができないが、コピー処理中またはバキューム処理中に更新処理の無効化を防止する措置をより早期段階で採ることができる。
【００６６】
本発明は、様々なデータ格納装置に適用できる。たとえば、本発明は、デジタル複合機に適用できる。デジタル複合機は、文書データを受信したときに、文書データの格納先などのデータをデータベースに格納する。デジタル複合機は、文書データを印刷したときに、文書データの格納先などのデータをデータベースから削除する。ここで、デジタル複合機は、同時実行制御を利用することにより、参照に不必要なデータを格納することになる。しかし、デジタル複合機は、ＳＱＬｉｔｅなどのデータベース言語を開発言語に組み込んで本発明を適用することにより、参照に不必要なデータを削除することができる。
【図面の簡単な説明】
【００６７】
【図１】バキューム処理の概要を示すタイムチャートである。
【図２】サーバの構成要素を示すブロック図である。
【図３】バキューム処理の流れを示すフローチャートである。
【図４】バキューム処理の流れを示すフローチャートである。
【図５】第１ファイルのバキューム処理を示すタイムチャートである。
【図６】第２ファイルのバキューム処理を示すタイムチャートである。
【図７】第３ファイルのバキューム処理を示すタイムチャートである。
【符号の説明】
【００６８】
１  サーバ
２、３  ユーザ端末
１１  データベース
１２  テンポラリメモリ
１３  データベースマネージメントシステム
１１１  第１ファイル
１１２  第２ファイル
１１３  第３ファイル
１３１  アクセス部
１３２  バキューム部
１３３  コピー部
１３４  上書き部
【図１】
2010015344.tif 000003
【図２】
2010015344.tif 000004
【図３】
2010015344.tif 000005
【図４】
2010015344.tif 000006
【図５】
2010015344.tif 000007
【図６】
2010015344.tif 000008
【図７】
2010015344.tif 000009