(57)【要約】【課題】  記憶領域の空き容量が不足したときに退避するデータに優先順位をつけることで、再読み込み時間を短縮できる処理効率が高いデータ管理装置を提供する。【解決手段】  本発明は、データを格納する第一記憶手段と、前記第一記憶手段の容量確保の処理をする容量確保手段と、前記第一記憶手段に格納されているデータを管理する管理手段と、を有するデータ管理装置であって、  前記管理手段は、前記データを新たに生成する時間を算出する生成時間算出手段と、前記容量確保手段により処理されたデータを復元する復元時間を算出する復元時間算出手段と、を有し、  前記管理手段は、前記生成時間から前記復元時間を引いた値が大きいものから順に前記容量確保手段の処理の対象とすることを特徴とするデータ管理装置を提供する。【選択図】  図８
2017151819.tif 000002
【特許請求の範囲】
【請求項１】
データを格納する第一記憶手段と、前記第一記憶手段の容量確保の処理をする容量確保手段と、前記第一記憶手段に格納されているデータを管理する管理手段と、を有するデータ管理装置であって、
前記管理手段は、前記データを新たに生成する時間を算出する生成時間算出手段と、前記容量確保手段により処理されたデータを復元する復元時間を算出する復元時間算出手段と、を有し、
前記管理手段は、前記生成時間から前記復元時間を引いた値が大きいものから順に前記容量確保手段の処理の対象とすることを特徴とするデータ管理装置。
【請求項２】
前記容量確保手段は、前記データを圧縮する処理または第二記憶手段へデータを送信する処理を行うことを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記生成時間から前記復元時間を引いた前記値が、０より大きい場合は、前記容量確保手段の処理を実行し、前記値が０以下の場合は、前記データを削除することを特徴とする請求項１または２に記載のデータ管理装置。
【請求項４】
前記データを生成することの可否を判断する可否判断手段をさらに有し、前記データを生成することが不可能な場合は、前記値が０以下の場合であっても前記データの削除を行わないことを特徴とする請求項３に記載のデータ管理装置。
【請求項５】
前記容量確保の処理の要否を判断する要否判定手段をさらに有することを特徴とする請求項１乃至４のいずれか一項に記載のデータ管理装置。
【請求項６】
前記容量確保手段の処理は、前記第一記憶手段に格納された前記データを、前記第一記憶手段とは異なる第二記憶手段に転送する処理、前記データを圧縮する処理、前記データを削除する処理の少なくともいずれかであることを特徴とする請求項１乃至５のいずれか一項に記載のデータ管理装置。
【請求項７】
前記データは、３次元モデルデータを表わすデータであることを特徴とする請求項１乃至６のいずれか一項に記載のデータ管理装置。
【請求項８】
前記データを造形装置に送信する送信手段をさらに有することを特徴とする請求項１乃至７のいずれか一項に記載のデータ管理装置。
【請求項９】
請求項１乃至７のいずれか一項に記載のデータ管理装置と、前記データを造形する造形手段とを有することを特徴とする造形装置。
【請求項１０】
データを生成するデータ生成工程と、前記データを管理するデータ管理工程と、第一記憶手段の空き容量を確保する容量確保処理を制御するデータ処理制御工程と、前記容量確保処理を行った後、容量確保処理によって前記第一記憶手段に存在しなくなったデータを復元するのに要する時間を予測する復元時間予測工程と、前記容量確保処理を行う対象を、前記データ生成工程でデータを生成した際の生成時間と、前記復元時間予測工程で予想した復元予想時間との差を用いて判定する処理対象判定工程と、を有することを特徴とするデータ処理方法。
【請求項１１】
前記データ処理制御工程は、前記処理対象判定工程で決定される優先順位に基づいて前記容量確保処理を実行することを特徴とする請求項１０に記載のデータ処理方法。
【請求項１２】
前記処理対象判定工程は、前記生成時間から前記復元予想時間を引いた差が大きい順に処理を行う優先順位を決定することを特徴とする請求項１０または１１に記載のデータ処理方法。
【請求項１３】
前記復元時間予測工程は、復元時間を予測することが可能な関数モデルを、容量確保処理の時間または復元処理の時間に加え、処理を行った環境の状況を表す環境データを使って更新することを特徴とするデータ請求項１０乃至１２のいずれか一項に記載のデータ処理方法。
【請求項１４】
前記データ処理制御工程は、前記容量確保処理として前記第一記憶手段に存在するデータを前記第一記憶手段とは異なる第二記憶手段に転送する、または前記第一記憶手段に存在するデータを圧縮する工程であることを特徴とする請求項１３に記載のデータ処理方法。
【請求項１５】
前記データ処理制御工程は前記処理対象判定工程によって算出された前記生成時間と前記復元予想時間の差が０より大きい場合は前記容量確保処理を実行し、前記生成時間と前記復元予想時間の差が０以下の場合は、前記容量確保処理は行わずにデータを削除することを特徴とする請求項１０乃至１４のいずれか一項に記載のデータ処理方法。
【請求項１６】
前記データ処理制御工程は、前記生成時間と前記復元予想時間の差が０以下の場合、処理対象のデータを生成する際に必要となった元データが前記第一記憶手段に存在しているかを判定し、前記元データが存在していない場合は前記容量確保処理を実施し、前記元データが存在している場合は前記元データを前記容量確保処理の対象から除外することを特徴とする請求項１０乃至１５のいずれか一項に記載のデータ処理方法。
【請求項１７】
請求項１０乃至１６のいずれか一項に記載のデータ処理方法をコンピュータが読み込み実行することで、前記コンピュータを、データ処理装置として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶領域の空き容量が少なくなった際に、空き容量を確保する方法に関わり、特にデータの生成時間とデータの復元時間を基に処理するべきデータを判別する技術に関する。
【背景技術】
【０００２】
アプリケーションの処理を効率化するために、データの読み書きが高速な記憶領域と低速な記憶領域を組み合わせて利用する方法が広く用いられている。データの読み書きが高速な記憶領域には、主にアプリケーションが処理中のデータが置かれる。該処理中のデータは、例えば、データの読み書きが低速な記憶領域から読み込まれたり、ユーザーが入力したり、アプリケーションが動作している装置が持つセンサーから入力されたりする。アプリケーションが処理を行うと、該データが更新されたり、該データを元に新たなデータが生成されたりする。
【０００３】
高速な記憶領域は高価であるために小容量であることが多く、利用中に空き容量が少なくなりデータが格納しきれない状況が発生しやすい。この状況が発生した場合、高速な記憶領域に格納しているデータを、低速な記憶領域へ退避することで空き容量の不足を回避することが知られている。この場合、退避するべきデータは各データへのアクセス頻度を基に決定される。なお、退避したデータが再度必要になった場合は、低速な記憶領域から再読み込みを行って利用する。
【０００４】
しかし、アクセス頻度を基に退避するべきデータを決定すると、退避したデータは必ずしも不要なデータではないため、データの再読み込みが発生し効率が悪い場合があった。
【０００５】
特許文献１には、アクセス頻度以外の情報をユーザーに提供し、ユーザーが不要だと判断したデータを退避する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０８６２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら特許文献１に記載の方法では、高速な記憶領域の空き容量が少なくなった場合は、本来必要なデータであっても退避せざるを得ないため、ユーザーは意図に反して設定を不要へと変更する必要があった。このように必要なデータを退避してしまうと、データの再読み込みが発生しやすくなる。しかし、特許文献１に記載の方法は従来と同様に、データの再読み込み時間を考慮してデータは退避されていない。そのため、退避したデータによっては再読み込みに時間がかかり、処理効率が悪くなってしまう恐れがある。
【０００８】
本発明は上述した問題を解決するためになされたものであり、データを退避する際に再読み込みまで考慮して退避対象を決定することで、避けられない再読み込みが発生した場合に、処理を効率化することを目的とする。具体的には、記憶領域に格納しているデータの生成時間と、退避したデータの復元処理にかかる時間を基に退避するデータを決定する。
【課題を解決するための手段】
【０００９】
そこで、本発明は、データを格納する第一記憶手段と、前記第一記憶手段の容量確保の処理をする容量確保手段と、前記第一記憶手段に格納されているデータを管理する管理手段と、を有するデータ管理装置であって、前記管理手段は、前記データを新たに生成する時間を算出する生成時間算出手段と、前記容量確保手段により処理されたデータを復元する復元時間を算出する復元時間算出手段と、を有し、前記管理手段は、前記生成時間から前記復元時間を引いた値が大きいものから順に前記容量確保手段の処理の対象とすることを特徴とするデータ管理装置を提供する。
【発明の効果】
【００１０】
本発明によれば、記憶領域の空き容量が不足した場合に退避するデータに優先順位をつけることで、再読み込み時間を短縮できるので、処理効率が高いデータ管理装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るデータ管理装置の構成図である。
【図２】本発明に係るデータ管理の一例である。
【図３】本発明に係るデータ生成の処理を示したフローチャートである。
【図４】本発明に係るデータ処理方法の全体を示したフローチャートである。
【図５】本実施形態１に係る処理対象判定の処理を示したフローチャートである。
【図６】本発明に係るデータ管理装置を有するシステムの構成概念図である。
【図７】関数モデルの更新処理を示したフローチャートである。
【図８】本実施形態１における容量確保処理を示したフローチャートである。
【図９】本発明に係るデータ管理装置が処理機会を検出する処理を示したフローチャートである。
【図１０】ユーザー設定を行う設定画面の一例である。
【図１１】ユーザー設定を行う設定ファイルの一例である。
【図１２】本発明に係るデータ編集の概念図である。
【図１３】本実施形態２における容量確保処理を示したフローチャートである。
【発明を実施するための形態】
【００１２】
本発明は、記憶手段の容量確保のためにデータを処理する場合に、処理対象のデータを適切に決定するものである。具体的には、データを生成する時間と、データを復元する時間、他の記憶手段から送信する時間、圧縮されたデータを復元する時間など、とを比較し、復元に要する時間の方が小さいものを優先的に処理対象データとする。処理対象とするデータの優先順位を決定しているとも言い換えられる。
【００１３】
本発明は、３次元モデルデータなどの容量が大きいデータを扱うデータ管理装置に好適である。
【００１４】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
＜実施形態１＞
本実施形態に係るデータ管理装置は、データを記憶する第一記憶手段、容量確保の処理をする容量確保手段、データ管理手段、データ生成手段、を有する。本実施形態１を用いたデータ管理方法を図１を用いて説明する。
【００１６】
本実施形態のデータ処理方法１００は、データ生成工程１１０、データ管理工程１２０、データ処理制御工程１３０、処理対象判定工程１４０、復元時間予測工程１５０、処理機会検出工程１６０の６つの工程によって構成される。
【００１７】
データ生成工程１１０は、本発明を利用したアプリケーションで使用するデータを生成する工程である。また、データを生成するだけではなく、生成されたデータのサイズや生成に要した時間も合わせて取得し、下記データ管理工程１２０へ追加する。データ生成処理の流れについては図３を用いて後述する。
【００１８】
データ管理工程１２０は、前記データ生成工程１１０が使用したデータおよび生成したデータを管理する工程である。管理対象となるデータは第一記憶手段に格納されているものとする。ここで第一記憶手段とは、例えば、本発明を使用したアプリケーションが複数のサーバー装置から構成されるシステムの場合、アプリケーションが動作しているアプリケーションサーバー上の記憶領域が第一記憶手段となる。また、このアプリケーションがＰＣやモバイル端末のアプリケーションの場合、自端末上にあるＲＡＭが第一記憶手段となる。管理データについては図２を用いて後述する。
【００１９】
データ処理制御工程１３０は、下記処理機会検出工程１６０が検出したタイミングで、下記処理対象判定工程１４０において処理対象だと判定されたデータに対して、空き容量を増やす容量確保処理を行う工程である。
【００２０】
ここで容量確保処理とは、例えば、第一記憶手段から第一記憶手段とは異なる第二記憶手段へデータを転送する処理や、第一記憶手段に存在するデータを圧縮する処理などが挙げられる。なお容量確保処理はこれらに限定されるものではない。
【００２１】
処理対象判定工程１４０は、第一記憶手段に存在するデータに対して前記容量確保処理を行うに当たり、その処理対象を判定する工程である。判定処理の流れについては図５を用いて後述する。
【００２２】
復元時間予測工程１５０は、第一記憶手段に存在するデータに対して容量確保処理を行った後、データを利用可能な状態へ復元する復元処理に要する時間を予測する工程である。復元処理は容量確保処理の逆の処理になる。そのため、容量確保処理として第一記憶手段から第二記憶手段へデータを転送した場合、復元処理は第二記憶手段から第一記憶手段へデータを再読み込みする処理となる。また、容量確保処理として圧縮を行った場合、復元処理としては圧縮されたデータを展開する処理となる。なお復元処理はこれらに限定されるものではない。予測処理については図５中のＳ５０２で後述する。
【００２３】
処理機会検出工程１６０は、容量確保処理を実施するタイミングを検出する工程である。容量確保処理の要否は、要否判定手段により検出される。検出は、例えば、一定時間間隔や前記第一記憶手段にデータが書き込まれる毎に、第一記憶手段の空き容量が一定値以下になったことを確認することなどで行う。例えば、空き容量が全容量に対して一定割合以下、例えば２５％以下になった場合などがあげられる。また、容量確保処理の要否は、ユーザーの指定によって行われてもよい。処理機会の検出処理については図９を用いて後述する。
【００２４】
また、容量確保は、一定の時間を経過した場合に行われるようにしてもよい。例えば、３カ月に一度などである。所定の期間を経過した時点で装置の電源が入っていないなど、容量確保処理の実行が困難な場合は、その理由が解消された場合にただちに容量確保処理が実行される。
【００２５】
次に、データ管理工程１２０における管理データについて図２を用いて説明する。
【００２６】
図２は管理データを表した一例である。図２（ａ）は管理対象のデータを識別する構造で、データを一意に識別するデータＩＤとデータ本体の対で構成される。例えば、複数のサーバーで構成されたシステムの場合はＫＶＳ（Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅ）を用いたり、ＰＣのアプリケーションの場合はメモリ上のハッシュマップを用いたりする。なお、データ本体は実体のバイナリデータで表現しても構わないし、実体を保存した参照先の情報で表現しても構わない。
【００２７】
図２（ｂ）は管理対象データの付随情報を表す構造である。付随情報は各データがどのように作られたのかを表す情報である。具体的には対象となるデータを識別するデータＩＤ，対象データの元データを識別する元データＩＤ、対象データが生成された時刻、生成に要した時間、対象データのサイズで構成される。なお、データＩＤと元データＩＤは図２（ａ）のデータＩＤを用いる。また、元データを管理する際は、元データＩＤおよび生成時間は無効な値とする。無効な値は例えばＮｕｌｌで表現しても構わないし、０や負の値を用いても構わない。なお、元データは再度生成することが不可能なデータを指す。
【００２８】
データ生成の可否を判断する可否判断手段は、生成時間を参照して、データ生成の可否を判断する。上記のように無効な値である場合は、生成が不可能と判断される。生成が不可能と判断されたデータは、容量確保処理の対象から除外される。
【００２９】
続いて、データ生成工程１１０で行うデータ生成処理の流れについて図３を用いて説明する。
【００３０】
Ｓ３０１において、データ生成工程１１０がデータを生成する際に必要となる元データを第一記憶手段に読み込む。なお、元データが第一記憶手段上に存在する場合は、既に存在するものを利用しても構わない。
【００３１】
Ｓ３０２において、データ生成工程１１０がＳ３０１で読み込んだ元データを処理してデータを生成する。データを生成する際にはデータの生成に要した時間である生成時間と作成したデータのサイズも計測する。
【００３２】
Ｓ３０３において、データ生成工程１１０がＳ３０１において読み込んだ元データをデータ管理工程１２０へ登録する。これにより元データに対するデータＩＤとして元データＩＤが生成され、元データの指定に元データＩＤを利用することが可能になる。
【００３３】
Ｓ３０４において、データ生成工程１１０がＳ３０３と同様に生成したデータをデータ管理工程１２０へ登録する。これにより生成したデータに対するデータＩＤが生成され、生成したデータの指定にデータＩＤを利用することが可能となる。
【００３４】
Ｓ３０５において、データ生成工程１１０が生成したデータの付随情報である生成時刻、生成時間、データサイズをデータ管理工程１２０へ登録する。
【００３５】
次に本発明のデータ処理方法が実施するデータ処理全体の流れについて図４を用いて説明する。
【００３６】
Ｓ４０１において、データ処理制御工程１３０から処理機会検出工程１６０に対して、容量確保処理の要否の監視を開始する指示を送信する。これにより一定条件を満たした場合に、容量確保イベントが送信されることとなる。処理機会検出処理の詳細については図９を用いて後述する。
【００３７】
Ｓ４０２において、データ処理制御工程１３０が容量確保イベントを受信するまで処理待ちを行う。
【００３８】
Ｓ４０３において、処理対象判定工程１４０が処理対象データの判定処理を実施する。なお判定処理の詳細は図５を用いて後述する。
【００３９】
Ｓ４０４において、Ｓ４０３で処理対象であると判定されたデータに対してデータ処理制御工程１３０が容量確保処理を実施する。なお容量確保処理の詳細は図８を用いて説明する。
【００４０】
Ｓ４０３で実施した処理対象判定の詳細について図５を用いて説明する。
【００４１】
Ｓ５０１において、処理対象判定工程１４０がデータ管理工程１２０で管理されている管理データの中から、元データを除いたデータ群の前記付随情報を取得する。なお元データを除くためには、生成時間が０より大きいという条件を用いることで実現可能となる。生成時間は生成時間算出手段により算出される。
【００４２】
Ｓ５０２において、Ｓ５０１で取得した１または複数の付随情報を用いて、復元時間算出手段により各データの復元予想時間が算出される。なお復元予想時間は、付随情報を入力として復元予想時間を出力する関数モデルを利用して算出する。関数モデルについては図６および図７を用いて一例を後述する。
【００４３】
Ｓ５０３において、Ｓ５０１で取得した付随情報に含まれる生成時間からＳ５０２で算出した復元予想時間を引いた差分時間を算出する。
【００４４】
Ｓ５０４において、処理対象判定工程１４０が処理するべきデータの候補を保持する処理候補キューを用意する。そして、処理対象判定工程１４０がＳ５０３で算出した差分時間が大きい順に処理候補キューへデータＩＤと差分時間の組を追加する。
【００４５】
Ｓ５０５において、容量確保処理が実施された場合に確保できると思われるデータサイズを記憶する合計処理データサイズを、処理対象判定工程１４０が０に設定する。
【００４６】
Ｓ５０６において、合計処理データサイズが既定値以上であるかを処理対象判定工程１４０が確認する。ここで既定値とは別途ユーザーによって指定された値である。この値は２００（ＭＢ）のようにデータサイズが直接指定されても構わないし、全容量の１０％のように間接的に指定されても構わない。間接的に指定された場合は、処理対象判定工程１４０にて直接的な数値に変換して利用する。確認の結果、既定値以上の場合は処理を終了し、既定値未満の場合はＳ５０７に処理を進める。
【００４７】
Ｓ５０７において、処理対象判定工程１４０が処理候補キューからデータＩＤと差分時間の組を一つ取得する。
【００４８】
Ｓ５０８において、処理対象判定工程１４０がＳ５０７で取得したデータＩＤと差分時間の組を処理キューに追加する。これにより追加したデータＩＤに紐づくデータが処理対象のデータとなる。なお、処理キューはデータ処理制御工程１３０が用意したものを利用する。
【００４９】
Ｓ５０９において、Ｓ５０７で取得したデータＩＤに紐づくデータのデータサイズを合計処理データサイズに加算する。その後Ｓ５０６の処理に戻る。なお、合計データサイズが既定値を超える前に処理候補キューに含まれるデータＩＤがなくなってしまった場合は、その時点で処理を終了する。
【００５０】
続いて、一例として、本発明の方法が複数のサーバーによって構成されるシステムで利用された場合において、復元予想時間の算出に必要な関数モデルについて説明する。システムの構成に関する概念図を図６に示す。システムは少なくともアプリケーションが動作するアプリケーションサーバー６１０とデータを管理するデータ管理サーバー６２０によって構成される。データ管理サーバー６２０は、例えば、ネットワークアクセスが可能なファイルシステムを用いたり、キーとバリューの対を管理するＫＶＳを用いたり、リレーショナルデータベースを用いたりして実現される。第一記憶手段はアプリケーションサーバー６１０上の記憶領域となり、第二記憶手段はデータ管理サーバー６２０上の記憶領域となる。ここで説明を簡単にするため、アプリケーションサーバー６１０とデータ管理サーバー６２０の間は、アプリケーションサーバー６１０から見て上り下りの理論上の速度が等しいネットワークで接続されているものとする。前記容量確保処理としてアプリケーションサーバー６１０からデータ管理サーバー６２０へデータを転送する場合、復元処理はデータ管理サーバー６２０からアプリケーションサーバー６１０へデータを転送することとなる。なお、アプリケーションサーバー６１０とデータ管理サーバー６２０間の通信は双方向に同速度と仮定しているため、復元時間はアプリケーションサーバー６１０からデータ管理サーバー６２０への転送時間と等しくなる。つまり、復元予測時間を算出する関数モデルは、アプリケーションサーバー６１０からデータ管理サーバー６２０まで転送する時間を算出する関数モデルとなる。
【００５１】
この関数モデルは、収集データをもとに機械学習を行って決定する。復元時間予測工程１５０にて行われる関数モデルの更新について図７を用いて説明する。なお、機械学習のアルゴリズムについては一般的に広く用いられている方法を利用するため、説明は省略する。
【００５２】
Ｓ７０１において、前記復元時間予測工程１５０がアプリケーションサーバー６１０からデータ管理サーバー６２０へ送信する退避データのデータサイズを取得する。
【００５３】
Ｓ７０２において、前記復元時間予測工程１５０がアプリケーションサーバー６１０上の環境に関連する環境情報を取得する。環境情報は、例えば、アプリケーション動作中のセッション数やＣＰＵ使用率、送信時の時刻などがある。
【００５４】
Ｓ７０３において、アプリケーションサーバー６１０からデータ管理サーバー６２０へ、前記データ処理制御工程１３０が退避データを送信する。
【００５５】
Ｓ７０４において、Ｓ７０３で開始した送信が完了するまで待つ。
【００５６】
Ｓ７０５において、退避データを送信するのに要した送信時間を前記復元時間予測工程１５０が取得する。
【００５７】
Ｓ７０６において、既に存在する関数モデルを使い、Ｓ７０１で取得したデータサイズおよびＳ７０２で取得した環境情報を用いて、前記復元時間予測工程１５０が退避データの送信予想時間を算出する。
【００５８】
Ｓ７０７において、Ｓ７０５で取得した送信時間とＳ７０６で算出した送信予想時間を前記復元時間予測工程１５０が比較する。比較した結果、二つの時間の差が許容範囲内であった場合は処理を終了し、許容範囲外であった場合はＳ７０８へ処理を進める。なお許容範囲については事前にユーザーが設定した既定値があればその値を利用し、設定されていなければシステムで設定した既定値を用いる。
【００５９】
Ｓ７０８において、Ｓ７０１で取得したデータサイズ、Ｓ７０２で取得した環境データ、Ｓ７０５で取得した送信時間を使い前記復元時間予測工程１５０が関数モデルを更新する。
【００６０】
なお、上記例ではデータが増えるたびに関数モデルを更新する方法を説明したが、関数モデルは更新せずに固定的に利用しても構わない。もしくは関数モデルを更新するかしないかをユーザーに選択させても構わない。また、上記説明ではアプリケーションサーバー６１０とデータ管理サーバー６２０間の双方向の転送速度が等しいと仮定したが、これに限定されるものではない。転送速度が異なる場合は、通信方式や両方向の送信時間などを環境情報に加えることで最適な関数モデルを得ることが可能となる。
【００６１】
次にデータ処理制御工程１３０にて行われる容量確保処理について図８を用いて説明する。
【００６２】
Ｓ８０１において、前記処理対象判定工程１４０において実施した処理対象判定の結果が格納されている処理キューに、データＩＤと差分時間の組が存在するかを前記データ処理制御工程１３０が確認する。確認の結果、存在しない場合は処理を終了し、存在する場合はＳ８０２に処理を進める。
【００６３】
Ｓ８０２において、前記データ処理制御工程１３０が処理キューからデータＩＤと差分時間の組を取得する。
【００６４】
Ｓ８０３において、Ｓ８０２で取得した差分時間を前記データ処理制御工程１３０が確認する。確認した結果、差分時間が０より大きい場合はＳ８０４へ、差分時間が０以下の場合はＳ８０５へ処理を進める。
【００６５】
Ｓ８０４において、Ｓ８０２で取得したデータＩＤに紐づくデータに対して、前記データ処理制御工程１３０が前記容量確保処理を実行する。実行後はＳ８０１へ戻る。
【００６６】
Ｓ８０５において、前記データ処理制御工程１３０が取得したＩＤに紐づくデータを破棄する。これは復元処理の効率を考えた結果であり、復元処理を行うよりも元データからデータを再生成したほうが早くデータが手に入ることに起因する。実行後はＳ８０１へ戻る。
【００６７】
次に、処理機会検出工程１６０で行う容量確保処理を実行するタイミングを検出する際の処理の流れについて図９を用いて説明する。なお図９の説明では、処理機会の検出は前記第一記憶手段の空き容量が一定値以下になったかどうかによって判断しているが、これに限定されるものではない。
【００６８】
Ｓ９０１において、前記処理機会検出工程１６０が前記データ処理制御工程１３０から送信される処理機会検出の開始指示を待つ。
【００６９】
Ｓ９０２において、前記処理機会検出工程１６０が第一記憶手段の空き容量を確認する。確認した結果、空き容量が閾値以下だった場合はＳ９０３へ、空き容量が閾値よりも大きかった場合はＳ９０４へ処理を進める。
【００７０】
Ｓ９０３において、前記処理機会検出工程１６０が容量確保イベントを前記データ処理制御工程１３０へ送信する。
【００７１】
Ｓ９０４において、前記処理機会検出工程１６０が監視の終了指示を確認する。確認した結果、終了指示があった場合は処理を終了し、ない場合はＳ９０５へ処理を進める。
【００７２】
Ｓ９０５において、一定時間待機し、Ｓ９０２へ処理を戻す。なお、待機時間は事前にユーザーが設定した既定値があればその値を利用し、設定されていなければシステムで設定した既定値を用いる。
【００７３】
次にユーザーが設定する設定値について図１０、図１１を用いて説明する。本発明の処理方法は各種設定値を設定することで処理の制御を行っている。これは上述した通りであるが、これらの設定には画面上でＧＵＩを用いて行っても構わないし、設定ファイルにおいて設定しても構わない。図１０に設定画面の例を示す。設定ダイアログ１０００は、容量確保処理で確保する容量を設定する容量確保サイズ設定領域１００１、設定を確定するＯＫボタン１００２と設定をキャンセルするキャンセルボタン１００３を持つ。なお、該容量確保サイズ設定領域１００１で設定する値は、Ｓ５０６で説明した合計処理データサイズの既定値に該当する。加えて、動作モード設定エリア１０１０、空き容量チェック設定エリア１０２０、復元予想時間設定エリア１０３０を持つ。動作モード設定エリア１０１０では、空き容量が少なくなった際にシステムがふるまうモードを設定するエリアとなっている。図１０に示すように復元速度優先モードが選択された場合は、本発明のデータ処理方法を使用されるようになる。退避速度優先モードが選択された場合は本発明のデータ処理方法は使用されない。空き容量チェック設定エリア１０２０では、空き容量のチェック間隔と空き容量が少なくなったと判断する下限値を設定するエリアとなっている。なお、空き容量のチェック間隔はＳ９０５で説明した処理機会の検出を中断して待機する時間に該当する。また、空き容量が少なくなったと判断する下限値は、Ｓ９０２で説明した閾値に該当する。復元予想時間設定エリア１０３０では、復元時間の予想に使用する関数モデルを更新するかどうか、更新が必要だと判断する許容誤差の値を設定するエリアとなっている。なお、関数モデルを更新するかどうかの設定は、図７を用いて説明した関数モデルの更新を実施するかどうかに該当する。また、更新が必要だと判断する誤差許容値は、Ｓ７０７で説明した許容範囲を表す値に該当する。なお、図１０に示した設定画面の画面形態および設定項目は一例であり、これに限定されるものではない。
【００７４】
図１１には図１０と同等の設定を設定ファイルで設定した際の例を示す。
【００７５】
設定全体はＳｅｔｔｉｎｇｓ要素で表現され、その中にａｌｌｏｃａｔｉｏｎｓｉｚｅ要素、ｍｏｄｅ要素、ｆｒｅｅｓｐａｃｅｃｈｅｃｋ要素、ｕｐｄａｔｅｍｏｄｅｌ要素の３要素がある。図１０で置き換えると、ａｌｌｏｃａｔｉｏｎｓｉｚｅ要素は容量確保サイズ設定領域１００１となる。また、ｍｏｄｅ要素は動作モード設定エリア１０１０、ｆｒｅｅｓｐａｃｅｃｈｅｃｋ要素は空き容量チェック設定エリア１０２０、ｕｐｄａｔｅｍｏｄｅｌ要素は復元予想時間設定エリア１０３０となる。ｍｏｄｅ要素ではｒｅｓｔｏｒａｔｉｏｎが設定されており、これは退避速度優先モードを表している。ｆｒｅｅｓｐａｃｅｃｈｅｃｋ要素はｉｎｔｅｒｖａｌ要素とｌｏｗｅｒｌｉｍｉｔ要素の２要素があり、それぞれ空き容量のチェック間隔と空き容量が少なくなったと判断する下限値を表している。ｕｐｄａｔｅｍｏｄｅｌ要素はａｃｔｉｖｅ属性とｔｏｌｅｒａｎｃｅ要素を持ち、それぞれ復元時間の予想に使用する関数モデルを更新するかどうか、更新が必要だと判断する許容誤差の値を表している。なお図１１では設定ファイルの形式としてＸＭＬを利用しているが、形式はこれに限定されるものではない。
【００７６】
このように前記容量確保処理の処理順序を、処理対象となるデータの前記生成時間と前記復元予想時間の差が大きい順にし、この差が０以下の場合はデータを削除するようにした。このようにすることで、再度データが必要になった際はデータを再生成することで待ち時間を短くすることが可能となる。これにより、前記第一記憶手段に格納しきれないデータを扱う際の処理効率を向上するという効果が得られた。
【００７７】
＜実施形態２＞
実施形態２の構成は図１に示した実施形態１の構成と同じである。実施形態１では、前記生成時間が前記復元予想時間よりも短くなるデータに対して容量確保処理を行わずに削除していた。これは該データを復元する際に、常に該データの元データが前記第一記憶手段に存在しているという前提があった。つまり、該データの元データが前記第一記憶手段に存在しない場合は、データを復元することができなかった。実施形態２では、該データの元データが前記第一記憶手段に存在しなくなった場合の本発明のデータ処理について説明する。
【００７８】
実施形態１と異なる部分は、データ処理制御工程１３０にて行われる容量確保処理となる。実施形態２における容量確保処理を図１２、図１３でそれぞれ説明する。
【００７９】
実施形態１において、差分時間が０以下の場合は再生成したほうが、復元時間が短くなるためデータを破棄する方法を説明した。これはデータが再生成できること、つまり元データが存在していることが必要であった。元データが存在しない場合は再生成することができずデータが復元できなくなってしまう。元データが存在しなくなる例について図１２を用いて説明する。
【００８０】
図１２（ａ）には元データからパラメータを変更させながらｎ個のデータが生成されたことを表す図である。このように生成されたデータおよび元データは図１２（ｂ）のように第一記憶手段中に配置される。その後元データが編集された場合、図１２（ｃ）に示すように元データは編集され編集データとなる。元データが編集されると図１２（ｄ）に示すように第一記憶手段中には元データの代わりに編集データが存在し、元データは存在しなくなる。図１２（ｄ）のような状態になるとデータ１からデータｎまでのデータは元データが存在しないため再生成することができない。図１２では元データが編集された例を説明されたが、元データが存在しなくなる原因として単純に削除される場合も考えられる。
【００８１】
元データが第一記憶手段に存在することが保証できない場合、データ処理制御工程１３０にて行われる容量確保処理について図１３を用いて説明する。
【００８２】
Ｓ１３０１において、前記処理対象判定工程１４０において行われる処理対象判定の結果が格納されている処理キューに、データＩＤと差分時間の組が存在するかを前記データ処理制御工程１３０が確認する。確認の結果、存在しない場合は処理を終了し、存在する場合はＳ１３０２に処理を進める。
【００８３】
Ｓ１３０２において、前記データ処理制御工程１３０が処理キューからデータＩＤと差分時間の組を取得する。
【００８４】
Ｓ１３０３において、Ｓ１３０２で取得した差分時間を前記データ処理制御工程１３０が確認する。確認した結果、差分時間が０より大きい場合はＳ１３０４へ、差分時間が０以下の場合はＳ１３０５へ処理を進める。
【００８５】
Ｓ１３０４において、Ｓ１３０２で取得したデータＩＤに紐づくデータに対して、前記データ処理制御工程１３０が前記容量確保処理を実行する。実行後はＳ１３０１へ戻る。
【００８６】
Ｓ１３０５において、前記データ処理制御工程１３０がＳ１３０２で取得したデータＩＤに紐づくデータの生成時刻を取得する。
【００８７】
Ｓ１３０６において、前記データ処理制御工程１３０がＳ１３０２で取得したデータＩＤに紐づくデータの元データの生成時刻を取得する。取得できた場合、すなわち元データが存在する場合はＳ１３０７へ処理を進め、取得できない場合、すなわち元データが削除された場合はＳ１３０８へ処理を進める。
【００８８】
Ｓ１３０７において、Ｓ１３０５で取得したデータの生成時刻とＳ１３０６で取得した元データの生成時刻を前記データ処理制御工程１３０が比較する。比較の結果、データの生成時刻よりも元データの生成時刻の方が新しい場合、すなわちデータ生成後に元データが更新されている場合はＳ１３０８へ処理を進める。一方、データの生成時刻よりも元データの生成時刻の方が古い場合、すなわちデータ生成後に元データが更新されていない場合はＳ１３０９に処理を進める。
【００８９】
Ｓ１３０８において、Ｓ１３０４と同様に、Ｓ１３０２で取得したデータＩＤに紐づくデータに対して、前記データ処理制御工程１３０が前記容量確保処理を実行する。実行後はＳ１３０１へ戻る。
【００９０】
Ｓ１３０９において、前記データ処理制御工程１３０が取得したＩＤに紐づくデータを破棄する。実行後はＳ１３０１へ戻る。
【００９１】
このように前記容量確保処理の対象データについて、前記生成時間と前記復元予想時間の差が０以下の場合、元データが存在しているかどうかで容量確保処理をするかデータを削除するかを決定した。このようにすることで、ユーザーが元データを変更することが可能となる。これにより、前記第一記憶手段に格納しきれないデータを扱う処理の効率を向上するとともに、ユーザーの操作性を向上するという効果が得られた。
【００９２】
＜その他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９３】
本発明に係るデータ管理装置は、外部にデータを送信する送信手段をさらに有してもよい。また、造形手段をさらに有する造形装置であってもよい。
【００９４】
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【符号の説明】
【００９５】
１０００  設定ダイアログ
１００１  設定完了時に押下するＯＫボタン
１００２  設定をキャンセルするときに押下するキャンセルボタン
１０１０  動作モードに関する設定が可能な動作モード設定エリア
１０２０  空き容量チェックに関する設定が可能な空き容量チェック設定エリア
１０３０  復元予想時間に関する設定が可能な復元予想時間設定エリア
【図１】
2017151819.tif 000003
【図２】
2017151819.tif 000004
【図３】
2017151819.tif 000005
【図４】
2017151819.tif 000006
【図５】
2017151819.tif 000007
【図６】
2017151819.tif 000008
【図７】
2017151819.tif 000009
【図８】
2017151819.tif 000010
【図９】
2017151819.tif 000011
【図１０】
2017151819.tif 000012
【図１１】
2017151819.tif 000013
【図１２】
2017151819.tif 000014
【図１３】
2017151819.tif 000015