(57)【要約】【課題】記憶されたデータのデータ構造を変更する処理の処理時間を短くすることができる情報処理装置等を提供する。【解決手段】自装置上で動作するソフトウェアによって記憶されるデータのデータ構造のバージョンが変更された場合に、現在のバージョンに対応する現在ファイルと、過去のバージョンに対応する過去ファイルとを記憶するファイル記憶手段と、データと、データのバージョン情報とを関連付けて記憶するデータ記憶手段と、データの出力命令を受けた場合であって、データ記憶手段に記憶されたデータのバージョン情報が過去のバージョンである場合には、現在ファイルと過去ファイルとを用いて、データを過去のバージョンのデータ構造から現在のバージョンのデータ構造に変換し、変換後のデータを出力する出力手段と、を備える情報処理装置。【選択図】図７
2020052586.tif 000002
【特許請求の範囲】
【請求項１】
自装置上で動作するソフトウェアによって記憶されるデータのデータ構造のバージョンが変更された場合に、現在のバージョンに対応する現在ファイルと、過去のバージョンに対応する過去ファイルとを記憶するファイル記憶手段と、
前記データと、当該データのバージョン情報とを関連付けて記憶するデータ記憶手段と、
前記データの出力命令を受けた場合であって、前記データ記憶手段に記憶された当該データのバージョン情報が前記過去のバージョンである場合には、前記現在ファイルと前記過去ファイルとを用いて、当該データを当該過去のバージョンのデータ構造から前記現在のバージョンのデータ構造に変換し、変換後の当該データを出力する出力手段と、
を備える情報処理装置。
【請求項２】
前記過去のバージョンには複数のバージョンがあり、
前記ファイル記憶手段は、前記複数のバージョンのそれぞれに対応する前記過去ファイルを記憶し、
前記データ記憶手段は、前記データ毎に、前記複数のバージョン及び前記現在のバージョンのうちのいずれのバージョンに対応するデータ構造であるかを当該データに関連付けて記憶し、
前記出力手段は、前記データの出力命令を受けた場合であって、前記データ記憶手段に記憶された当該データのバージョン情報が前記過去のバージョンである場合には、前記現在ファイルと当該過去のバージョンに対応する前記過去ファイルとを用いて、当該データを変換すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ記憶手段では、前記出力手段が変換後の前記データを出力した場合であっても、変換前の当該データを変換後の当該データに置き換えないこと
を特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記データ記憶手段では、前記出力手段が変換後の前記データを出力した場合には、変換前の当該データを変換後の当該データに置き換える処理が行われるとともに、変換後の当該データと前記現在のバージョンであることを示す前記バージョン情報とを関連付けて記憶すること
を特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記データ記憶手段に前記過去のバージョンを示す前記バージョン情報が記憶されていない場合には、当該過去のバージョンに対応する前記過去ファイルを削除する削除手段をさらに備えること
を特徴とする請求項１に記載の情報処理装置。
【請求項６】
自装置上で動作するソフトウェアによって記憶される記憶データのデータ構造が変更された場合に、現在のデータ構造に対応する現在ファイルと、過去のデータ構造に対応する過去ファイルとを記憶し、当該過去のデータ構造の記憶データの出力命令を受けた場合に、当該現在ファイルと当該過去ファイルとを用いて、当該記憶データを当該過去のデータ構造から当該現在のデータ構造に変換し、変換後の当該記憶データを出力する、
情報処理装置。
【請求項７】
前記過去のデータ構造には複数のバージョンがあり、記憶データ毎に、当該複数のバージョンのデータ構造及び前記現在のデータ構造のうちのいずれのデータ構造であるかを当該記憶データに関連付けて記憶し、当該過去のデータ構造の当該記憶データの出力命令を受けた場合に、前記現在ファイルと当該過去のデータ構造に対応する前記過去ファイルとを用いて、当該記憶データを変換すること
を特徴とする請求項６に記載の情報処理装置。
【請求項８】
変換後の前記記憶データを出力した場合であっても、変換前の当該記憶データを変換後の当該記憶データに置き換えないこと
を特徴とする請求項６に記載の情報処理装置。
【請求項９】
変換後の前記記憶データを出力した場合には、変換前の当該記憶データを変換後の当該記憶データに置き換えるとともに、変換後の当該記憶データと前記現在のデータ構造であるとの情報とを関連付けて記憶すること
を特徴とする請求項６に記載の情報処理装置。
【請求項１０】
コンピュータに、
自装置上で動作するソフトウェアによって記憶されるデータのデータ構造のバージョンが変更された後、過去のバージョンのデータ構造の記憶データの出力命令を受けた場合に、現在のバージョンに対応する現在ファイルと、当該過去のバージョンに対応する過去ファイルとを取得する機能と、
前記現在ファイルと前記過去ファイルとを用いて、前記記憶データを前記過去のバージョンのデータ構造から前記現在のバージョンのデータ構造に変換し、変換後の当該記憶データを出力する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、引用文献１には、ソフトウェア機能のバージョンアップ及びバージョンダウンを含むアプリケーションの更新を行う更新手段と、更新手段によりバージョンアップを行うアプリケーションと、当該バージョンよりも下位のバージョンのアプリケーションとのバージョン間における、データのデータ形式の差異に基づくデータの変換ルールが規定された変換ルール情報を記憶する記憶手段と、更新手段により下位のバージョンのアプリケーションへのバージョンダウンに伴い、変換ルール情報に従って、データを変換する変換手段と、を有する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２８７０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばソフトウェアを更新した場合、ソフトウェアによって記憶されるデータのデータ構造が変更されることにより、更新後のソフトウェアが更新前のソフトウェアに対応するデータを解釈できず、不具合を起こす場合がある。そこで、従来、例えば、ソフトウェアの更新時に、各データに対応するコンバート情報に従って一括コンバートすることによってデータ構造を変更し、データを維持する手法が開示されている。しかしこの手法では、例えばデータ量が膨大なデータに対して適用する場合、ソフトウェア更新処理に多大な時間が掛かってしまう。
本発明は、記憶されたデータのデータ構造を変更する処理の処理時間を短くすることができる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、自装置上で動作するソフトウェアによって記憶されるデータのデータ構造のバージョンが変更された場合に、現在のバージョンに対応する現在ファイルと、過去のバージョンに対応する過去ファイルとを記憶するファイル記憶手段と、前記データと、当該データのバージョン情報とを関連付けて記憶するデータ記憶手段と、前記データの出力命令を受けた場合であって、前記データ記憶手段に記憶された当該データのバージョン情報が前記過去のバージョンである場合には、前記現在ファイルと前記過去ファイルとを用いて、当該データを当該過去のバージョンのデータ構造から前記現在のバージョンのデータ構造に変換し、変換後の当該データを出力する出力手段と、を備える情報処理装置である。
請求項２に記載の発明は、前記過去のバージョンには複数のバージョンがあり、前記ファイル記憶手段は、前記複数のバージョンのそれぞれに対応する前記過去ファイルを記憶し、前記データ記憶手段は、前記データ毎に、前記複数のバージョン及び前記現在のバージョンのうちのいずれのバージョンに対応するデータ構造であるかを当該データに関連付けて記憶し、前記出力手段は、前記データの出力命令を受けた場合であって、前記データ記憶手段に記憶された当該データのバージョン情報が前記過去のバージョンである場合には、前記現在ファイルと当該過去のバージョンに対応する前記過去ファイルとを用いて、当該データを変換することを特徴とする請求項１に記載の情報処理装置である。
請求項３に記載の発明は、前記データ記憶手段では、前記出力手段が変換後の前記データを出力した場合であっても、変換前の当該データを変換後の当該データに置き換えないことを特徴とする請求項１に記載の情報処理装置である。
請求項４に記載の発明は、前記データ記憶手段では、前記出力手段が変換後の前記データを出力した場合には、変換前の当該データを変換後の当該データに置き換える処理が行われるとともに、変換後の当該データと前記現在のバージョンであることを示す前記バージョン情報とを関連付けて記憶することを特徴とする請求項１に記載の情報処理装置である。
請求項５に記載の発明は、前記データ記憶手段に前記過去のバージョンを示す前記バージョン情報が記憶されていない場合には、当該過去のバージョンに対応する前記過去ファイルを削除する削除手段をさらに備えることを特徴とする請求項１に記載の情報処理装置である。
請求項６に記載の発明は、自装置上で動作するソフトウェアによって記憶される記憶データのデータ構造が変更された場合に、現在のデータ構造に対応する現在ファイルと、過去のデータ構造に対応する過去ファイルとを記憶し、当該過去のデータ構造の記憶データの出力命令を受けた場合に、当該現在ファイルと当該過去ファイルとを用いて、当該記憶データを当該過去のデータ構造から当該現在のデータ構造に変換し、変換後の当該記憶データを出力する、情報処理装置である。
請求項７に記載の発明は、前記過去のデータ構造には複数のバージョンがあり、記憶データ毎に、当該複数のバージョンのデータ構造及び前記現在のデータ構造のうちのいずれのデータ構造であるかを当該記憶データに関連付けて記憶し、当該過去のデータ構造の当該記憶データの出力命令を受けた場合に、前記現在ファイルと当該過去のデータ構造に対応する前記過去ファイルとを用いて、当該記憶データを変換することを特徴とする請求項６に記載の情報処理装置である。
請求項８に記載の発明は、変換後の前記記憶データを出力した場合であっても、変換前の当該記憶データを変換後の当該記憶データに置き換えないことを特徴とする請求項６に記載の情報処理装置である。
請求項９に記載の発明は、変換後の前記記憶データを出力した場合には、変換前の当該記憶データを変換後の当該記憶データに置き換えるとともに、変換後の当該記憶データと前記現在のデータ構造であるとの情報とを関連付けて記憶することを特徴とする請求項６に記載の情報処理装置である。
請求項１０に記載の発明は、コンピュータに、自装置上で動作するソフトウェアによって記憶されるデータのデータ構造のバージョンが変更された後、過去のバージョンのデータ構造の記憶データの出力命令を受けた場合に、現在のバージョンに対応する現在ファイルと、当該過去のバージョンに対応する過去ファイルとを取得する機能と、前記現在ファイルと前記過去ファイルとを用いて、前記記憶データを前記過去のバージョンのデータ構造から前記現在のバージョンのデータ構造に変換し、変換後の当該記憶データを出力する機能とを実現させるためのプログラムである。
【発明の効果】
【０００６】
請求項１記載の発明によれば、記憶されたデータのデータ構造を変更する処理の処理時間を短くすることができる。
請求項２記載の発明によれば、過去のバージョンに複数のバージョンがある場合であっても、記憶されたデータのデータ構造を変更する処理の処理時間を短くすることができる。
請求項３記載の発明によれば、変換前のデータを変換後のデータに置き換える構成と比較して、データの出力にかかる負荷を軽減することができる。
請求項４記載の発明によれば、データ構造のバージョンが現在のバージョンから変更されない限り、１度出力したデータを再度出力する際のデータの変換を省略することができる。
請求項５記載の発明によれば、データの変換に使用しない過去ファイルを削除することができる。
請求項６記載の発明によれば、記憶されたデータのデータ構造を変更する処理の処理時間を短くすることができる。
請求項７記載の発明によれば、過去のバージョンに複数のバージョンがある場合であっても、記憶されたデータのデータ構造を変更する処理の処理時間を短くすることができる。
請求項８記載の発明によれば、変換前のデータを変換後のデータに置き換える構成と比較して、データの出力にかかる負荷を軽減することができる。
請求項９記載の発明によれば、データ構造のバージョンが現在のバージョンから変更されない限り、１度出力したデータを再度出力する際のデータの変換を省略することができる。
請求項１０記載の発明によれば、記憶されたデータのデータ構造を変更する処理の処理時間を短くする機能を、コンピュータにより実現できる。
【図面の簡単な説明】
【０００７】
【図１】本実施の形態に係る画像処理装置のハードウェア構成例を示した図である。
【図２】本実施の形態に係る画像処理装置の機能構成例を示したブロック図である。
【図３】履歴情報記憶部が履歴情報を記憶する処理の手順の一例を示したフローチャートである。
【図４】コンバート用ファイル追加部がコンバート用ファイルを追加する処理の手順の一例を示したフローチャートである。
【図５】履歴情報取得部が取得した履歴情報を出力する処理の手順の一例を示したフローチャートである。
【図６】履歴情報データベースの一例を示す図である。
【図７】履歴情報取得部が取得した履歴情報を出力する処理の具体例を説明するための図である。
【図８】従来の手法を適用した場合の一例を説明するための図である。
【図９】本実施の形態が適用されるコンピュータのハードウェア構成例を示した図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【０００９】
＜画像処理装置のハードウェア構成＞
図１は、本実施の形態に係る画像処理装置１００のハードウェア構成例を示した図である。本実施の形態に係る画像処理装置１００は、例えば、スキャン機能、プリント機能、コピー機能及びファクシミリ機能等の画像処理機能を備えた装置である。そして、画像処理装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、表示機構１０４、画像読取部１０５、画像形成部１０６、画像処理部１０７、通信部１０８、記憶装置１０９を備える。なお、これらの各機能部は、バス１１０に接続されており、このバス１１０を介してデータの授受を行う。本実施の形態では、情報処理装置の一例として、画像処理装置１００が用いられる。
【００１０】
ＣＰＵ１０１は、各種プログラムを実行する。また、ＲＯＭ１０２は、ＣＰＵ１０１により実行されるプログラムを記憶している。そして、ＣＰＵ１０１は、ＲＯＭ１０２に記憶されているプログラムを読み出し、ＲＡＭ１０３を作業エリアにしてプログラムを実行する。ＣＰＵ１０１によりプログラムが実行されると、画像処理装置１００における各機能が実現される。これにより、例えば、表示機構１０４に予め定められた表示がなされる。また、用紙への画像形成や、画像読取部１０５にセットされた原稿の読み取りなどが行われる。
【００１１】
表示機構１０４は、各種の情報を表示するとともに、操作者からの操作を受け付ける。この表示機構１０４は、液晶ディスプレイ等で構成された表示パネル、表示パネルの上に配置され、操作者による接触が行われたことを検知するタッチパネル、操作者により押下される物理キー等から構成される。そして、表示機構１０４は、例えば、画像処理装置１００の操作画面等の各種画面を表示パネルに表示したり、タッチパネル及び物理キーにより操作者からの操作を受け付けたりする。なお、接触を検知する手段としては、接触による圧力をもとに検知する手段や、接触した物の静電気をもとに検知する手段等、どのようなものが用いられても良い。
【００１２】
画像読取部１０５は、文書を読み取り、読み取った文書の画像を表す画像データを生成する。ここで、画像読取部１０５は、例えばスキャナであり、光源から原稿に照射した光に対する反射光をレンズで縮小してＣＣＤ（Charge Coupled Devices）で受光するＣＣＤ方式や、ＬＥＤ光源から原稿に順に照射した光に対する反射光をＣＩＳ（Contact Image Sensor）で受光するＣＩＳ方式のものを用いると良い。
【００１３】
画像形成部１０６は、用紙等の記録媒体に画像を形成する印刷機構を備えている。ここで、画像形成部１０６は、例えばプリンタであり、感光体に付着させたトナーを記録媒体に転写して像を形成する電子写真方式や、インクを記録媒体上に吐出して像を形成するインクジェット方式のものを用いると良い。
【００１４】
画像処理部１０７は、入力される画像データに色補正や階調補正等の画像処理を施すものであり、画像処理が施された画像データを生成して画像形成部１０６へ出力する。
【００１５】
通信部１０８は、不図示の通信回線に接続されており、通信回線に接続されている他装置と通信を行う通信インタフェースとして機能する。例えば、ファクシミリ機能が実行される場合には、画像読取部１０５にて読み取った文書の画像データが通信部１０８によって宛先の他装置へ送信される。
【００１６】
記憶装置１０９は、ハードディスク装置などの記憶領域を具備しており、例えば通信部１０８で受信したデータや画像処理装置１００で生成されたデータ等を記憶する。
【００１７】
そして、本実施の形態に係る画像処理装置１００では、自装置上で動作する予め定められたソフトウェア（例えば、ファームウェア）をＣＰＵ１０１が実行することにより、当該ソフトウェアの処理の対象となるデータがＲＯＭ１０２等に記憶される。ここで、ソフトウェアのバージョン（即ち、版）の変更により、当該ソフトウェアによって記憶されるデータのデータ構造が変更された場合、変更前のデータ構造で記憶されたデータを、変更後のデータ構造に対応するソフトウェアで読み出す際に、不具合が発生する可能性がある。そこで、本実施の形態では、データ毎に、データ構造のバージョンの管理が行われる。
【００１８】
以下では、バージョン変更の対象となるソフトウェアを「対象ソフトウェア」と称する。対象ソフトウェアは、例えば、ＲＯＭ１０２や記憶装置１０９等に記憶される。なお、対象ソフトウェアのバージョン変更には、古いバージョンから新しいバージョンへ変更する場合（即ち、バージョンアップの場合）、及び、新しいバージョンから古いバージョンへ変更する場合（即ち、バージョンダウンの場合）を含む。そして、データ構造のバージョン変更についても、古いバージョンから新しいバージョンへ変更する場合、及び、新しいバージョンから古いバージョンへ変更する場合を含む。なお、対象ソフトウェアのバージョンが変更された場合であっても、対象ソフトウェアによって記憶されるデータのデータ構造が変更されない場合もある。即ち、対象ソフトウェアのバージョンが変更された場合、対象ソフトウェアにより記憶されるデータのデータ構造が変更される場合もあれば、データ構造が変更されない場合もあるものとする。
【００１９】
また、以下では、対象ソフトウェアにより記憶されるデータの一例として、履歴情報を例に挙げて説明する。履歴情報とは、画像処理装置１００における処理を記録したログファイルである。画像処理装置１００において処理が行われたり、画像処理装置１００において警告が発生したりするのに伴って、その内容が履歴情報として蓄積されていく。付言すると、履歴情報は、例えば画像処理装置１００に１万件以上記憶可能であり、データ量が膨大になる場合がある。ただし、例えば故障解析時などのように特定の機会に確認されるものであるため、使用頻度は低いデータといえる。
本実施の形態において、履歴情報は、データ記憶手段に記憶されるデータの一例として、また、記憶データの一例として用いられる。
【００２０】
＜画像処理装置の機能構成＞
次に、本実施の形態に係る画像処理装置１００の機能構成について説明する。図２は、本実施の形態に係る画像処理装置１００の機能構成例を示したブロック図である。
画像処理装置１００では、ＣＰＵ１０１によるプログラムの実行を通じて、履歴情報記憶部１１１、コンバート用ファイル追加部１１２、履歴情報取得部１１３、履歴情報変換部１１４が実現される。
【００２１】
履歴情報記憶部１１１は、対象ソフトウェアにより新たに生成された履歴情報を、ＲＯＭ１０２の履歴情報データベース１１５に記憶する。ここで、履歴情報記憶部１１１は、履歴情報と関連付けて、履歴情報のデータ構造の現在のバージョンを示す情報も履歴情報データベース１１５に記憶する。付言すると、履歴情報に関連付けて記憶されるバージョンの情報は、対象ソフトウェアにより履歴情報がＲＯＭ１０２に記憶されたときのデータ構造のバージョンを示す情報である。
本実施の形態では、データ記憶手段の一例として、ＲＯＭ１０２の履歴情報データベース１１５が用いられる。
【００２２】
コンバート用ファイル追加部１１２は、ＲＯＭ１０２のコンバート用ファイル記憶部１１６に、コンバート用ファイルを追加する。コンバート用ファイルとは、履歴情報のデータ構造を変換するのに用いられるファイルである。例えば、履歴情報を、対象ソフトウェアにより読み込み可能なデータ構造にするために、コンバート用ファイルが用いられる。
【００２３】
ここで、コンバート用ファイル追加部１１２は、画像処理装置１００の起動時（又は、対象ソフトウェアの起動時）に、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョン（即ち、現在の対象ソフトウェアにより記憶される履歴情報のデータ構造のバージョン）と、画像処理装置１００の前回起動時（又は、対象ソフトウェアの前回起動時）の対象ソフトウェアにより記憶される履歴情報のデータ構造のバージョンとを比較する。両者が同じ場合には、コンバート用ファイルの追加は行われない。一方、両者が異なる場合、コンバート用ファイル追加部１１２は、履歴情報のデータ構造の現在のバージョンに対応するコンバート用ファイルを、ＲＯＭ１０２のコンバート用ファイル記憶部１１６に追加する。
【００２４】
そのため、コンバート用ファイル記憶部１１６には、履歴情報のデータ構造のバージョン毎に、コンバート用ファイルが記憶される。即ち、コンバート用ファイル記憶部１１６には、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンに対応するコンバート用ファイルと、対象ソフトウェアにより記憶される履歴情報のデータ構造の過去のバージョンに対応するコンバート用ファイルとが記憶される。そして、過去のバージョンに複数のバージョンがある場合には、複数のバージョンのそれぞれに対応するコンバート用ファイルが、コンバート用ファイル記憶部１１６に記憶される。
本実施の形態では、ファイル記憶手段の一例として、ＲＯＭ１０２のコンバート用ファイル記憶部１１６が用いられる。また、現在ファイルの一例として、履歴情報のデータ構造の現在のバージョンに対応するコンバート用ファイルが用いられる。さらに、過去ファイルの一例として、履歴情報のデータ構造の過去のバージョンに対応するコンバート用ファイルが用いられる。
【００２５】
なお、コンバート用ファイルには、例えば、履歴情報のデータ構造が示されている。履歴情報のデータ構造とは、例えば、１又は複数の変数としてのメンバを含む構造体で定義されるものであり、各メンバのメンバ名、各メンバのサイズ、各メンバに設定される設定値等が含まれる。付言すると、コンバート用ファイルは、例えば、対象ソフトウェアに含まれる一部のファイルや、対象ソフトウェアを基に予め定められた処理によって生成されるファイルである。
また、履歴情報のデータ構造の現在のバージョンは、例えば、対象ソフトウェアから取得される。さらに、画像処理装置１００の前回起動時（又は、対象ソフトウェアの前回起動時）の履歴情報のデータ構造のバージョンは、図２に示すように、例えば、ＲＯＭ１０２に記憶されており、ＲＯＭ１０２から取得される。
【００２６】
履歴情報取得部１１３は、履歴情報の出力命令を受けた場合に、ＲＯＭ１０２の履歴情報データベース１１５から、出力命令の対象とされる履歴情報と、その履歴情報に関連付けられたデータ構造のバージョンとを取得する。ここでは、例えば、ユーザが、履歴情報に一意に付与された識別情報を指定することによって、出力命令の対象とされる履歴情報が指定される。また、例えば、ユーザが、履歴情報が生成された日時や期間を指定することによって、出力命令の対象とされる履歴情報が指定される。ただし、履歴情報取得部１１３は、ユーザの指示によって出力命令を受け付ける構成に限られるものではなく、例えば、ユーザの指示によらず、予め定められたタイミングで出力命令を受け付けて、予め定められた条件を満たす履歴情報を、出力命令の対象として取得してもよい。
なお、履歴情報取得部１１３が取得した履歴情報及びデータ構造のバージョンは、ＲＡＭ１０３に記憶される。
【００２７】
履歴情報変換部１１４は、履歴情報のデータ構造が現在のバージョンに対応するように、履歴情報のデータ構造を変換する。
ここで、履歴情報変換部１１４は、履歴情報取得部１１３が取得した履歴情報に関連付けられたデータ構造のバージョンと、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンとを比較する。両者が同じ場合、即ち、履歴情報に関連付けられたデータ構造のバージョンが現在のバージョンである場合には、履歴情報の変換は行われず、履歴情報取得部１１３が取得した履歴情報（即ち、ＲＡＭ１０３に記憶された履歴情報）が出力される。出力された履歴情報は、対象ソフトウェアによって読み込まれて、例えば、表示機構１０４に表示されたり、画像形成部１０６によって印刷されたりする。
【００２８】
一方、両者が異なる場合、即ち、履歴情報に関連付けられたデータ構造のバージョンが過去のバージョンである場合、履歴情報変換部１１４は、履歴情報に関連付けられたデータ構造のバージョンに対応するコンバート用ファイルと、履歴情報のデータ構造の現在のバージョンに対応するコンバート用ファイルとを、ＲＯＭ１０２のコンバート用ファイル記憶部１１６から取得する。そして、履歴情報変換部１１４は、取得した２つのコンバート用ファイルを利用して、履歴情報のデータ構造を、過去のバージョンのデータ構造から現在のバージョンのデータ構造に変換する。変換後の履歴情報はＲＡＭ１０３に記憶される。また、変換後の履歴情報は出力され、対象ソフトウェアによって読み込まれ、例えば、表示機構１０４に表示されたり、画像形成部１０６によって印刷されたりする。
本実施の形態では、出力手段の一例として、履歴情報変換部１１４が用いられる。
【００２９】
なお、変換後の履歴情報は、対象ソフトウェアに読み込まれて出力される場合、ＲＯＭ１０２の履歴情報データベース１１５に記憶されることなく、削除される。付言すると、履歴情報の変換が行われた場合であっても、ＲＯＭ１０２の履歴情報データベース１１５では、変換前の履歴情報を変換後の履歴情報に置き換える処理は行われずに、変換前の履歴情報が記憶されたままとなる。
【００３０】
ここで、コンバート用ファイルを利用して履歴情報を変換する処理について、具体例を挙げて説明する。例えば、バージョン１のデータ構造を持つ履歴情報（例えば、バージョン１のデータ構造に対応する対象ソフトウェアによって記憶された履歴情報）を、バージョン２のデータ構造に対応する対象ソフトウェアで読み込む場合に、履歴情報の変換が行われる。この場合、バージョン１に対応するコンバート用ファイルと、バージョン２に対応するコンバート用ファイルとが利用される。そして、２つのコンバート用ファイルを用いて、バージョン１のデータ構造を持つ履歴情報が、バージョン２のデータ構造を持つ履歴情報に変換される。
【００３１】
＜履歴情報を記憶する処理の手順＞
次に、履歴情報記憶部１１１が履歴情報を記憶する処理の手順について説明する。図３は、履歴情報記憶部１１１が履歴情報を記憶する処理の手順の一例を示したフローチャートである。図３に示す処理は、例えば定期的（例えば１秒毎）に実行される。
なお、以下では、処理のステップを記号の「Ｓ」と表記する場合がある。
【００３２】
まず、履歴情報記憶部１１１は、対象ソフトウェアから履歴情報を追加する指示を受け付けたか否かを判定する（Ｓ１０１）。Ｓ１０１で否定の判断（ＮＯ）がされた場合、本処理フローは終了する。一方、Ｓ１０１で肯定の判断（ＹＥＳ）がされた場合、履歴情報記憶部１１１は、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンを取得する（Ｓ１０２）。
次に、履歴情報記憶部１１１は、履歴情報とデータ構造の現在のバージョンとを関連付けて、ＲＯＭ１０２の履歴情報データベース１１５に記憶する（Ｓ１０３）。そして、本処理フローは終了する。
【００３３】
＜コンバート用ファイルを追加する処理の手順＞
次に、コンバート用ファイル追加部１１２がコンバート用ファイルを追加する処理の手順について説明する。図４は、コンバート用ファイル追加部１１２がコンバート用ファイルを追加する処理の手順の一例を示したフローチャートである。図４に示す処理は、上述の通り、画像処理装置１００の起動時（又は、対象ソフトウェアの起動時）に行われるが、この例では、画像処理装置１００の起動時に行われるものとして説明する。
【００３４】
まず、コンバート用ファイル追加部１１２は、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンと、画像処理装置１００の前回起動時の対象ソフトウェアにより記憶される履歴情報のデータ構造のバージョンとが同じであるか否かを判定する（Ｓ２０１）。Ｓ２０１で肯定の判断（ＹＥＳ）がされた場合、コンバート用ファイルの追加は行われず、本処理フローは終了する。
一方、Ｓ２０１で否定の判断（ＮＯ）がされた場合、コンバート用ファイル追加部１１２は、データ構造の現在のバージョンに対応するコンバート用ファイルを取得し、取得したコンバート用ファイルをＲＯＭ１０２のコンバート用ファイル記憶部１１６に追加する（Ｓ２０２）。
【００３５】
次に、コンバート用ファイル追加部１１２は、履歴情報データベース１１５に記憶されているデータ構造のバージョンの一覧を取得する（Ｓ２０３）。次に、コンバート用ファイル追加部１１２は、コンバート用ファイル記憶部１１６に記憶されているコンバート用ファイルの中に、Ｓ２０３で取得したバージョンの一覧に存在しないバージョンのものがあるか否かを判定する（Ｓ２０４）。
【００３６】
Ｓ２０４で肯定の判断（ＹＥＳ）がされた場合、コンバート用ファイル追加部１１２は、Ｓ２０３で取得したバージョンの一覧に存在しないバージョンのコンバート用ファイルを削除する（Ｓ２０５）。ここで、Ｓ２０３で取得したバージョンの一覧に現在のバージョンが存在しない場合であっても、現在のバージョンに対応するコンバート用ファイルを削除しなくてもよい。付言すると、コンバート用ファイル追加部１１２は、Ｓ２０３で取得したバージョンの一覧に存在しない過去のバージョンに対応するコンバート用ファイルを削除する。ここで、削除手段の一例として、コンバート用ファイル追加部１１２が用いられる。
Ｓ２０５の後、又はＳ２０４で否定の判断（ＮＯ）がされた場合、コンバート用ファイル追加部１１２は、ＲＯＭ１０２に記憶されている「前回起動時のデータ構造のバージョン」を、現在のバージョンに更新する（Ｓ２０６）。そして、本処理フローは終了する。
【００３７】
＜履歴情報を出力する処理の手順＞
次に、履歴情報取得部１１３が取得した履歴情報を出力する処理の手順について説明する。図５は、履歴情報取得部１１３が取得した履歴情報を出力する処理の手順の一例を示したフローチャートである。図５に示す例では、出力命令の対象とされる履歴情報をユーザが指定したものとして説明する。
【００３８】
まず、履歴情報取得部１１３は、履歴情報の出力命令を受け付けたか否かを判定する（Ｓ３０１）。Ｓ３０１で否定の判断（ＮＯ）がされた場合、本処理フローは終了する。一方、Ｓ３０１で肯定の判断（ＹＥＳ）がされた場合、履歴情報取得部１１３は、ＲＯＭ１０２の履歴情報データベース１１５から、ユーザに指定された履歴情報と、その履歴情報に関連付けられたデータ構造のバージョンとを取得する（Ｓ３０２）。
【００３９】
次に、履歴情報変換部１１４は、Ｓ３０２で取得されたバージョンと、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンとが同じであるか否かを判定する（Ｓ３０３）。Ｓ３０３で肯定の判断（ＹＥＳ）がされた場合、履歴情報の変換は行われず、履歴情報変換部１１４は、Ｓ３０２で取得された履歴情報を出力する（Ｓ３０４）。そして、本処理フローは終了する。なお、出力された履歴情報は、対象ソフトウェアに読み込まれて、例えば、表示機構１０４に表示される。
【００４０】
一方、Ｓ３０３で否定の判断（ＮＯ）がされた場合、履歴情報変換部１１４は、Ｓ３０２で取得されたバージョンに対応するコンバート用ファイルと、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンに対応するコンバート用ファイルとを、ＲＯＭ１０２のコンバート用ファイル記憶部１１６から取得する（Ｓ３０５）。次に、履歴情報変換部１１４は、取得した２つのコンバート用ファイルを利用して、Ｓ３０２で取得された履歴情報のデータ構造を、現在のバージョンに対応するデータ構造に変換する（Ｓ３０６）。次に、履歴情報変換部１１４は、変換後の履歴情報を出力する（Ｓ３０７）。そして、本処理フローは終了する。なお、出力された履歴情報は、対象ソフトウェアに読み込まれて、例えば、表示機構１０４に表示される。
【００４１】
＜履歴情報データベースの説明＞
次に、ＲＯＭ１０２の履歴情報データベース１１５について、具体例を挙げて説明する。図６は、履歴情報データベース１１５の一例を示す図である。
図６に示す例では、履歴情報として、「文書名」、「実行ユーザ」、「開始時刻」、「完了時刻」、「処理内容」の項目が定められている。例えば、項番「１」の履歴情報として、「文書１」という文書名の文書について、「ｆｘ１１１」というユーザが、２０１８年９月１日の１２：００に印刷を開始し、１２：３０に印刷が完了したことが記録されている。
【００４２】
履歴情報データベース１１５では、このような履歴情報のそれぞれについて、データ構造のバージョンが関連付けられている。即ち、履歴情報毎に、複数の過去のバージョン及び現在のバージョンのうちのいずれのバージョンに対応するデータ構造であるかを示す情報が、履歴情報に関連付けて記憶されている。
例えば、項番「１」の履歴情報には、バージョン１が関連付けられている。即ち、項番「１」の履歴情報は、バージョン１のデータ構造を持つことが示されている。言い換えると、このバージョン情報によって、項番「１」の履歴情報に対応するコンバート用ファイルが、バージョン１に対応するコンバート用ファイルであることが特定される。
同様に、項番「２」、項番「３」、項番「４」の履歴情報のそれぞれには、バージョン１、バージョン２、バージョン３が関連付けられている。
【００４３】
＜履歴情報を出力する処理の具体例＞
次に、履歴情報取得部１１３が取得した履歴情報を出力する処理について、具体例を挙げて説明する。図７は、履歴情報取得部１１３が取得した履歴情報を出力する処理の具体例を説明するための図である。ここで、履歴情報データベース１１５には、図６に示す履歴情報が記憶されているものとする。また、以下に示すステップは、図５の各ステップに対応する。
【００４４】
例えば、ユーザは、履歴情報データベース１１５に記憶されている履歴情報のうち、項番「１」の履歴情報を指定して、項番「１」の履歴情報を出力することを指示する。そして、履歴情報取得部１１３は、履歴情報の出力命令を受け付けたと判定し（Ｓ３０１でＹＥＳ）、項番「１」の履歴情報と、項番「１」の履歴情報に関連付けられたデータ構造のバージョンとを取得する（Ｓ３０２）。この例では、項番「１」の履歴情報に関連付けられたデータ構造のバージョンは、バージョン１である。
付言すると、ここで、履歴情報取得部１１３は、履歴情報データベース１１５に記憶されている履歴情報の全てを取得するのではなく、履歴情報データベース１１５に記憶されている履歴情報のうち、出力の対象とされる履歴情報を取得する。
【００４５】
次に、履歴情報変換部１１４は、項番「１」の履歴情報に関連付けられたデータ構造のバージョン（この例では、バージョン１）と、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンとが同じであるか否かを判定する（Ｓ３０３）。ここで、現在の対象ソフトウェアによって記憶される履歴情報のデータ構造のバージョンがバージョン３の場合、Ｓ３０３では否定の判断（ＮＯ）がされる。そして、履歴情報変換部１１４は、項番「１」の履歴情報に関連付けられたデータ構造のバージョンに対応するコンバート用ファイル（この例では、バージョン１に対応するコンバート用ファイル）と、現在のデータ構造のバージョンに対応するコンバート用ファイル（この例では、バージョン３に対応するコンバート用ファイル）とを取得する（Ｓ３０５）。
【００４６】
図７に示すように、ＲＯＭ１０２のコンバート用ファイル記憶部１１６には、コンバート用ファイルとして、バージョン１のコンバート用ファイル、バージョン２のコンバート用ファイル、バージョン３のコンバート用ファイル、という３つのコンバート用ファイルが記憶されている。項番「１」の履歴情報の変換には、バージョン１のコンバート用ファイルと、バージョン３のコンバート用ファイルとが用いられる。
【００４７】
次に、履歴情報変換部１１４は、バージョン１のコンバート用ファイルと、バージョン３のコンバート用ファイルとを利用して、項番「１」の履歴情報のデータ構造を、バージョン１のデータ構造から、バージョン３のデータ構造に変換する（Ｓ３０６）。ここで、履歴情報変換部１１４は、例えば、バージョン１のコンバート用ファイルと、バージョン３のコンバート用ファイルとを比較して、それぞれのバージョンにおける履歴情報のデータ構造を比較する。この比較結果を基に履歴情報の変換が行われる。このような変換処理は、従来の手法により行ってよい。
そして、履歴情報変換部１１４は、バージョン３のデータ構造に変換された項番「１」の履歴情報を出力する。出力された履歴情報は、対象ソフトウェアに読み込まれて、例えば、表示機構１０４に表示され、ユーザに提示される。
【００４８】
ここで、図８は、従来の手法を適用した場合の一例を説明するための図である。従来の手法では、画像処理装置１００に記憶されている全ての履歴情報は、データ構造の旧バージョンに対応する。また、コンバート用ファイルとして、データ構造の旧バージョンに対応するものと、データ構造の現バージョンに対応するものとが用意される。そして、対象ソフトウェアのバージョン変更により、履歴情報のデータ構造が変更される場合、旧バージョンのコンバート用ファイルと現バージョンのコンバート用ファイルとを用いて、全ての履歴情報について一括でデータ構造の変換が行われる。また、履歴情報が変換されると、変換前の履歴情報は、変換後の履歴情報に置換される。このような処理が行われるため、履歴情報のようなデータ量が膨大なデータを変換する場合には、多大な時間を要することがあった。
【００４９】
一方で、本実施の形態に係る画像処理装置１００は、履歴情報のそれぞれに対して、データ構造のバージョンが関連付けられている。そして、履歴情報データベース１１５に記憶されている履歴情報のうち、出力対象である一部の履歴情報に対して、データ構造の変換が行われる。よって、履歴情報データベース１１５に記憶されている履歴情報のうち、必要な分だけ変換が行われ、変換後の履歴情報が出力されることとなる。
【００５０】
なお、上述した例では、画像処理装置１００の起動時（又は、対象ソフトウェアの起動時）にコンバート用ファイルの追加を行ったが、コンバート用ファイルを追加するタイミングはこのような構成に限られない。例えば、対象ソフトウェアのバージョン変更により、対象ソフトウェアにより記憶される履歴情報のデータ構造が変更したタイミングで、コンバート用ファイルを追加してもよい。この場合、コンバート用ファイル追加部１１２は、対象ソフトウェアにより記憶される履歴情報のデータ構造が変更されると、変更後のデータ構造に対応するコンバート用ファイルを取得し、取得したコンバート用ファイルをＲＯＭ１０２のコンバート用ファイル記憶部１１６に追加する。
【００５１】
また、上述した例では、履歴情報変換部１１４によって変換された履歴情報は、履歴情報データベース１１５に記憶されず、変換前の履歴情報を変換後の履歴情報に置き換えないこととしたが、このような構成に限られない。本実施の形態では、履歴情報データベース１１５において、変換前の履歴情報を変換後の履歴情報に置き換えてもよい。
例えば、履歴情報変換部１１４は、変換後の履歴情報が対象ソフトウェアに読み込まれて出力される場合、履歴情報データベース１１５において、変換前の履歴情報を変換後の履歴情報に置き換えて記憶する。この場合、履歴情報変換部１１４は、変換後の履歴情報と、変換後の履歴情報のデータ構造のバージョン（即ち、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョン）を示すバージョン情報とを関連付けて、履歴情報データベース１１５に記憶する。
例えば、図６に示す項番「１」の履歴情報を出力する場合に、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンがバージョン３であれば、履歴情報変換部１１４は、項番「１」の履歴情報を、バージョン３のデータ構造に変換する。また、履歴情報変換部１１４は、履歴情報データベース１１５において、記憶されている変換前の履歴情報を、バージョン３のデータ構造に変換した履歴情報に置き換える。さらに、履歴情報変換部１１４は、置き換えた履歴情報（即ち、変換後の履歴情報）に対して、バージョン３のデータ構造であることを示す情報を関連付けて、履歴情報データベース１１５に記憶する。
【００５２】
また、本実施の形態では、履歴情報データベース１１５に記憶されている履歴情報のうち、出力対象である履歴情報についてデータ構造を変換して出力するが、予め定められた条件が満たされた場合には、全ての履歴情報を対象にして一括でデータ構造を変換してもよい。予め定められた条件が満たされた場合とは、例えば、ＣＰＵ１０１の使用率が低下した場合、予め定められた期間が経過した場合である。
より具体的には、例えば、ＣＰＵ１０１の使用率が予め定められた閾値以下になった場合、履歴情報変換部１１４は、全ての履歴情報のそれぞれについて、関連付けられているバージョンに対応するコンバート用ファイルと、対象ソフトウェアにより記憶される履歴情報のデータ構造の現在のバージョンに対応するコンバート用ファイルとを用いて、現在のバージョンのデータ構造に変換する。ここで、データ構造の現在のバージョンが関連付けられている履歴情報については、データ構造の変換は行われない。即ち、履歴情報データベース１１５に記憶されている履歴情報のうち、関連付けられているバージョンが、データ構造の現在のバージョンとは異なるバージョン（即ち、過去のバージョン）の履歴情報について、データ構造の変換が行われる。そして、履歴情報変換部１１４は、変換後の履歴情報のそれぞれを履歴情報データベース１１５に記憶し、変換前の履歴情報を変換後の履歴情報に置き換える。その際、変換後の履歴情報のそれぞれには、データ構造の現在のバージョンを示すバージョン情報が関連付けられる。
【００５３】
なお、上述した例では、履歴情報データベース１１５やコンバート用ファイル記憶部１１６をＲＯＭ１０２に記憶したり、履歴情報取得部１１３が取得した履歴情報及びデータ構造のバージョンや、変換後の履歴情報をＲＡＭ１０３に記憶したりしたが、各種データが記憶される記憶領域は限定されない。例えば、履歴情報データベース１１５やコンバート用ファイル記憶部１１６を記憶装置１０９に記憶してもよい。
【００５４】
＜ハードウェア構成の他の例＞
また、上述した例では画像処理装置１００を用いた構成について説明を行ったが、ＰＣ（Personal Computer）や、携帯情報端末（いわゆる、スマートフォンやタブレット端末等）など、対象ソフトウェアを使用する他の装置に本実施の形態を適用することも可能である。そこで、画像処理装置１００の代わりに、例えばＰＣや携帯情報端末などのコンピュータ２００を用いるものとして、コンピュータ２００のハードウェア構成について説明する。
【００５５】
図９は、本実施の形態が適用されるコンピュータ２００のハードウェア構成例を示した図である。
図示するように、コンピュータ２００は、演算手段であるＣＰＵ２０１と、ＢＩＯＳ（Basic Input Output System）等のプログラムを格納する記憶領域であるＲＯＭ２０２と、プログラムの実行領域であるＲＡＭ２０３とを備える。また、コンピュータ２００は、ＯＳやアプリケーション等の各種プログラム、各種プログラムに対する入力データ、各種プログラムからの出力データ等を記憶する記憶領域であるＨＤＤ（Hard Disk Drive）２０４を備える。そして、ＲＯＭ２０２やＨＤＤ２０４等に記憶されたプログラムが、ＲＡＭ２０３に読み込まれてＣＰＵ２０１に実行されることにより、コンピュータ２００の機能が実現される。
さらに、コンピュータ２００は、外部との通信を行うための通信インタフェース（通信Ｉ／Ｆ）２０５と、ディスプレイ等の表示装置２０６と、キーボードやマウス、タッチパネル等の入力デバイス２０７とを備える。
【００５６】
また、本発明の実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【００５７】
なお、上記では種々の実施形態および変形例を説明したが、これらの実施形態や変形例どうしを組み合わせて構成してももちろんよい。
また、本開示は上記の実施形態に何ら限定されるものではなく、本開示の要旨を逸脱しない範囲で種々の形態で実施することができる。
【符号の説明】
【００５８】
１００…画像処理装置、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…表示機構、１１１…履歴情報記憶部、１１２…コンバート用ファイル追加部、１１３…履歴情報取得部、１１４…履歴情報変換部、１１５…履歴情報データベース、１１６…コンバート用ファイル記憶部
【図１】
2020052586.tif 000003
【図２】
2020052586.tif 000004
【図３】
2020052586.tif 000005
【図４】
2020052586.tif 000006
【図５】
2020052586.tif 000007
【図６】
2020052586.tif 000008
【図７】
2020052586.tif 000009
【図８】
2020052586.tif 000010
【図９】
2020052586.tif 000011