(57)【要約】【課題】複数のＣＰＵを有する情報処理装置にて、設定データを取得するためのＣＰＵ間通信の発生を抑制するとともに、設定データの保持を適切に行えるようにする。【解決手段】情報処理装置が有する各ＣＰＵが直接的にアクセス可能な個別の不揮発性記憶領域を設けてＣＰＵ毎に使用する設定データを保持し、各ＣＰＵに対応した複数の不揮発性記憶領域のそれぞれで保持している設定データに関して、他のＣＰＵに対応した不揮発性記憶領域にも設定データが保持されていると判断し、かつ、その設定データとともに保持されている設定データに対するアクセス回数が変化していないと判断した場合に設定データを削除するようにして、複数の不揮発性記憶領域で保持しておく必要がない設定データを動的に判断して削除できるようにする。【選択図】図５
2014123281.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵを有する情報処理装置であって、
それぞれ前記複数のＣＰＵの内の１つのＣＰＵがアクセス可能な個別の不揮発性の保持手段であって、動作の制御に使用される設定データとともに、当該保持手段にアクセス可能な前記１つのＣＰＵからの当該設定データに対するアクセス回数と、前記複数のＣＰＵの内の他のＣＰＵがアクセス可能な別の前記保持手段に当該設定データと同じ設定データが保持されているか否かを示す第１の情報とを、前記設定データ毎に保持する保持手段と、
前記保持手段に保持されている前記アクセス回数及び前記第１の情報にアクセスするアクセス手段と、
前記他のＣＰＵがアクセス可能な別の前記保持手段に前記設定データが保持されていると判断し、かつ、前記アクセス手段により取得された当該設定データに係る前記アクセス回数の変化が所定の値以下であると判断した場合に、アクセス可能な前記保持手段から当該設定データを削除する削除手段とを有することを特徴とする情報処理装置。
【請求項２】
前記アクセス手段により取得された前記設定データに対する前記アクセス回数が所定の値を超え、かつ、前記他のＣＰＵがアクセス可能な別の前記保持手段に前記設定データが保持されていると判断した場合に、前記他のＣＰＵに前記設定データの削除依頼通知を出す削除依頼通知手段を有し、
前記削除手段は、他のＣＰＵからの設定データの削除依頼通知を受信し、前記アクセス手段により取得された当該設定データに対するアクセス回数により、前回の前記削除依頼通知の受信時から当該設定データに対するアクセス回数の変化が所定の値以下であると判断した場合に、アクセス可能な前記保持手段から当該設定データを削除することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記削除手段は、前記アクセス手段により取得された設定データに係る前記アクセス回数により、前回の前記削除依頼通知の受信時から当該設定データに対するアクセス回数が変化していないと判断した場合に、アクセス可能な前記保持手段から当該設定データを削除することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記削除依頼通知手段は、前記設定データの削除依頼通知とともに、アクセス可能な不揮発性の前記保持手段を有するか否かを示す第２の情報を前記他のＣＰＵに出し、
前記削除手段は、前記判断に加え、前記設定データの削除依頼通知とともに受けた前記第２の情報により、依頼元がアクセス可能な不揮発性の前記保持手段を有すると判断した場合に、アクセス可能な前記保持手段から当該設定データを削除することを特徴とする請求項２又は３記載の情報処理装置。
【請求項５】
前記保持手段にアクセス可能な前記ＣＰＵから、設定データが起動時にアクセスされたか否かを示す第３の情報を当該設定データとともに前記設定データ毎に前記保持手段に保持し、
前記削除手段は、前記判断に加え、前記アクセス手段により取得された設定データに係る前記第３の情報により、当該設定データが起動時にアクセスされていないと判断した場合に、アクセス可能な前記保持手段から当該設定データを削除することを特徴とする請求項２〜４の何れか１項に記載の情報処理装置。
【請求項６】
前記削除手段は、前記設定データに対するアクセス回数に代えて、所定時間内のアクセス回数から求められるアクセス頻度を用いて判断を行うことを特徴とする請求項２〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記削除手段は、他のＣＰＵからの設定データの削除依頼通知の受信時に、アクセス可能な前記保持手段に保持されている当該設定データに対するアクセス回数の値をリセットすることを特徴とする請求項２〜６の何れか１項に記載の情報処理装置。
【請求項８】
複数のＣＰＵと、それぞれ前記複数のＣＰＵの内の１つのＣＰＵがアクセス可能な個別の不揮発性の保持手段であって、動作の制御に使用される設定データとともに、当該保持手段にアクセス可能な前記１つのＣＰＵからの当該設定データに対するアクセス回数と、前記複数のＣＰＵの内の他のＣＰＵがアクセス可能な別の前記保持手段に当該設定データと同じ設定データが保持されているか否かを示す第１の情報とを、前記設定データ毎に保持する保持手段とを有する情報処理装置の制御方法であって、
前記保持手段に保持されている前記アクセス回数及び前記第１の情報にアクセスするアクセス工程と、
前記他のＣＰＵがアクセス可能な別の前記保持手段に前記設定データが保持されていると判断し、かつ、前記保持手段より取得した当該設定データに係る前記アクセス回数の変化が所定の値以下であると判断した場合に、アクセス可能な前記保持手段から当該設定データを削除する削除工程とを有することを特徴とする情報処理装置の制御方法。
【請求項９】
複数のＣＰＵと、それぞれ前記複数のＣＰＵの内の１つのＣＰＵがアクセス可能な個別の不揮発性の保持手段であって、動作の制御に使用される設定データとともに、当該保持手段にアクセス可能な前記１つのＣＰＵからの当該設定データに対するアクセス回数と、前記複数のＣＰＵの内の他のＣＰＵがアクセス可能な別の前記保持手段に当該設定データと同じ設定データが保持されているか否かを示す第１の情報とを、前記設定データ毎に保持する保持手段とを有する情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記保持手段に保持されている前記アクセス回数及び前記第１の情報にアクセスするアクセスステップと、
前記他のＣＰＵがアクセス可能な別の前記保持手段に前記設定データが保持されていると判断し、かつ、前記保持手段より取得した当該設定データに係る前記アクセス回数の変化が所定の値以下であると判断した場合に、アクセス可能な前記保持手段から当該設定データを削除する削除ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法及びプログラムに関し、詳しくは情報処理装置における設定データ管理に関する。
【背景技術】
【０００２】
近年の情報処理装置は、処理全体のパフォーマンスを向上するべく演算処理装置であるＣＰＵ（Central Processing Unit）を複数有するものがある。例えば、情報処理装置としての複合機（ＭＦＰ：Multi Function Peripheral）では、画像処理用のＣＰＵ及び情報処理用のＣＰＵを有することがある。画像処理用のＣＰＵは、主にプリンタやスキャナのエンジンの制御や画像処理等を請け負い、情報処理用のＣＰＵは、主にユーザインターフェースやアプリケーションの動作等を請け負う。
【０００３】
複数のＣＰＵを有する情報処理装置において、不揮発性ストレージであるＨＤＤ（ハードディスクドライブ）等は、直接的には１つのＣＰＵからしか読み出せない構成とすることが多い。この構成では、他のＣＰＵからの情報の読み出しにはＣＰＵ間通信が発生する。例えば、複合機でスキャンやプリントといったジョブを実行する際には、ユーザにより複合機の動作を制御する設定項目が設定されると、情報処理用のＣＰＵ側のプログラムが不揮発性記憶領域に設定データを保存する。その後、ユーザによるコピー等のジョブのキックで、画像処理用のＣＰＵ側のプログラムが不揮発性記憶領域から設定データを読み出して利用し動作を実行させる。これらの動作仕様のため、コピー等のジョブを実行する毎にＣＰＵ間通信が発生し、装置のパフォーマンスに大きな影響を及ぼすことになる。なお、ＣＰＵ間通信はネットワークを介して行われる場合も想定でき、その場合にはさらに通信コストが増加しパフォーマンスが劣化してしまう。また、設定データをキャッシュすることでデータアクセスのためのＣＰＵ間通信の発生を抑制できるが、その場合には電源が落とされるたびにキャッシュしたデータが消えてしまい、起動時に再びＣＰＵ間通信によって設定データの取得を行わなければならない。
【０００４】
下記特許文献１には、複数のプロセッサに対応した複数のバスからアクセスされるメモリを有する構成において、データ量に応じた使用率でメモリへのアクセスを可能にする技術が開示されている。転送データ量に応じたアクセス回数を各バス毎に設定するとともに、複数のプロセッサ毎のメモリに対するアクセス回数をカウントし、設定されたアクセス回数に達したときに終了信号を出力することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２８８７４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、複数のＣＰＵを有する情報処理装置にて、設定データを取得するためのＣＰＵ間通信の発生を抑制するとともに、設定データの保持を適切に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、複数のＣＰＵを有する情報処理装置であって、それぞれ前記複数のＣＰＵの内の１つのＣＰＵがアクセス可能な個別の不揮発性の保持手段であって、動作の制御に使用される設定データとともに、当該保持手段にアクセス可能な前記１つのＣＰＵからの当該設定データに対するアクセス回数と、前記複数のＣＰＵの内の他のＣＰＵがアクセス可能な別の前記保持手段に当該設定データと同じ設定データが保持されているか否かを示す第１の情報とを、前記設定データ毎に保持する保持手段と、前記保持手段に保持されている前記アクセス回数及び前記第１の情報にアクセスするアクセス手段と、前記他のＣＰＵがアクセス可能な別の前記保持手段に前記設定データが保持されていると判断し、かつ、前記アクセス手段により取得された当該設定データに係る前記アクセス回数の変化が所定の値以下であると判断した場合に、アクセス可能な前記保持手段から当該設定データを削除する削除手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、設定データを取得するためのＣＰＵ間通信の発生を抑制することができる。また、複数の保持手段で保持されている設定データに関して、アクセス回数に基づいて、保持しておく必要がない保持手段から設定データを削除することができ、設定データの保持を適切に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る情報処理装置としての画像形成装置の構成例を示す図である。
【図２】本実施形態における画像形成装置のソフトウェア構成の例を示す図である。
【図３】図２に示すコンフィギュレーションマネージャの構成例を示す図である。
【図４】設定値保管領域の例を示す図である。
【図５】第１の実施形態における動作例を示すフローチャートである。
【図６】第２の実施形態における動作例を示すフローチャートである。
【図７】第３の実施形態における起動時アクセスフラグの設定処理の例を示すフローチャートである。
【図８】設定値保管領域の例を示す図である。
【図９】第３の実施形態における動作例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
【００１１】
演算処理装置であるＣＰＵ（Central Processing Unit）を複数有する情報処理装置において、動作の制御等に使用される設定値等の設定データを取得するためのＣＰＵ間通信の発生を抑制する方法として、次の方法が考えられる。各ＣＰＵが直接的にアクセス可能な個別の不揮発性記憶領域を、各ＣＰＵの設定データの保管領域としてＣＰＵ毎に別々に用意し、各々が使用する設定データを保持する。このとき、複数のＣＰＵからアクセスがある設定データについては、各ＣＰＵによってアクセスされる複数の不揮発性記憶領域でそれぞれ保持するようにして、データの更新時にＣＰＵ間通信を利用して同期処理を行う。このようにすることで、データアクセスのためのＣＰＵ間通信の発生を抑制でき、かつ電源が落とされた後の起動時毎にＣＰＵ間通信によって設定データの取得を行う必要がなくなる。
【００１２】
しかしながら、同じ設定データを複数の不揮発性記憶領域でそれぞれ保持すると、各ＣＰＵからのアクセス頻度に片寄りがある場合など複数の不揮発性記憶領域で保持している必要がない場合でも、その状態が継続してしまうという課題がある。同じ設定データを複数の不揮発性記憶領域でそれぞれ保持することによる弊害としては、同期させるためのＣＰＵ間通信の増加、設定データの不揮発性記憶領域間での不整合のおそれ等が挙げられる。また、例えば複合機（ＭＦＰ：Multi Function Peripheral）の設定データの特徴として以下の項目が挙げられる。まず、同一の機種でも、フィニッシャ等の機器構成や、インストールされているアプリケーションの種類、ライセンスによる機能アクティベートの有無等によってプログラムから利用される設定データが異なる。また、ユーザの使い方によって、保持されている各種設定データに対するアクセス頻度が異なる。さらに、マルチＣＰＵ構成では、何のアプリケーションをどのＣＰＵで実行するかが選択できるようになる。
【００１３】
そこで、以下に説明する本発明の実施形態では、前述のようなさまざまな条件によって変化する各設定データに対するアクセス回数（アクセス頻度）を動的に推定するため、ＣＰＵ毎の各設定データに対するアクセス回数情報を保持する。そして、アクセス回数情報に応じて、同じ設定データを複数の不揮発性記憶領域でそれぞれ保持する必要がない場合には、その状態を解消する。こうすることで、設定データを取得するためのＣＰＵ間通信の発生を抑制するとともに、初めに設定データが各ＣＰＵに対応した複数の不揮発性記憶領域間でどのように配置されていても、実際の動作中に設定データの動的配置を適切に行うことが可能になる。
【００１４】
（第１の実施形態）
本発明の第１の実施形態について説明する。
図１は、本発明の一実施形態に係る複数のＣＰＵを有する情報処理装置としての画像形成装置の構成例を示すブロック図である。本実施形態における画像形成装置は、情報処理部を司るメインコントローラ１００及び画像処理部を司るサブコントローラ１０１を有する。メインコントローラ１００とサブコントローラ１０１とは、バスブリッジ１１６を介してバス間で接続されている。
【００１５】
まず、メインコントローラ１００の構成について説明する。ＣＰＵ−Ａ１０８は、システムバス１１５に接続される各機能部を総括的に制御する。ＣＰＵ−Ａ１０８は、ＦＬＡＳＨＲＯＭ（フラッシュメモリ）１１０又はＨＤＤ（ハードディスクドライブ）−Ａ１１１に格納されたプログラム（ソフトウェア）を実行する。ＦＬＡＳＨＲＯＭ１１０及びＨＤＤ−Ａ１１１は、プログラムのみでなく、画像データやユーザ設定による設定データの記憶領域としても使用される。
【００１６】
ＲＡＭ（Random Access Memory）−Ａ１０９は、ＣＰＵ−Ａ１０８の主メモリやワークエリア等として機能する。操作部Ｉ／Ｆ（インターフェース）１１２は、画像形成装置に備えられたＬＣＤ（Liquid Crystal Display）パネル１０４に描画する。また、操作部Ｉ／Ｆ１１２には、操作ボタン及び／又はタッチパネル１０３も接続されている。操作部Ｉ／Ｆ１１２は、ＬＣＤパネル１０４と一体になっており、オペレータ（ユーザ）の指示入力を制御する。
【００１７】
ネットワークＩ／Ｆ（インターフェース）１１３は、例えばネットワークインタフェースカード（ＮＩＣ）である。ネットワークＩ／Ｆ１１３は、他のネットワーク機器又はファイルサーバ等とＬＡＮ（Local Area Network）等の通信ネットワーク１０２を介して双方向にデータをやりとりする。外部シリアルＩ／Ｆ（インターフェース）１１４は、例えばＵＳＢ（Universal Serial Bus）規格に準拠した外部ストレージインタフェースである。外部シリアルＩ／Ｆ１１４は、メモリメディアリーダ又はＩＣカードリーダ等の外部装置を接続し双方向にデータをやりとりする。
【００１８】
次に、サブコントローラ１０１の構成について説明する。画像読み取り部１０５は、紙に印字された画像を読み込むためのものである。画像読み取り部１０５には例えばオプションとしてオートドキュメントフィーダ（不図示）が装着されており、複数枚の原稿を自動的に読み込むことができる。印字部１０６は、例えば電子写真方式又はインクジェット方式などで実現される紙への印字部である。画像読み取り部１０５及び印字部１０６は、デバイスＩ／Ｆ（インターフェース）１２０を通して制御信号をＣＰＵ−Ｂ１１７との間で授受する。
【００１９】
ＣＰＵ−Ｂ１１７は、システムバス１２７に接続される各機能部を総括的に制御する。ＣＰＵ−Ｂ１１７は、ＨＤＤ（ハードディスクドライブ）−Ｂ１２５に格納されたプログラム（ソフトウェア）を実行する。ＨＤＤ−Ｂ１２５は、プログラムのみでなく、設定データの記憶領域としても使用される。
【００２０】
画像読み取り部１０５から入力される画像は、スキャナ画像処理部１２１を介してＲＡＭ（Random Access Memory）−Ｂ１１８に読み取り画像として入力される。メモリ画像処理部１２３は、ＲＡＭ−Ｂ１１８上の画像を処理して、ＲＡＭ−Ｂ１１８に出力する。メモリ画像処理部１２３での画像処理には、回転、変倍、色空間変換、グレースケール変換、合成、符号化、復号化等の処理が含まれる。
【００２１】
ＣＰＵ−Ｂ１１７は、ＲＡＭ−Ｂ１１８上の画像を、メモリ画像処理部１２３での画像処理後に、バスブリッジ１１６を介してメインコントローラ１００のＦＬＡＳＨＲＯＭ１１０やＨＤＤ−Ａ１１１に保存させる。また、ＣＰＵ−Ｂ１１７は、バスブリッジ１１６を介してメインコントローラ１００のＦＬＡＳＨＲＯＭ１１０やＨＤＤ−Ａ１１１に保存されている画像をＲＡＭ−Ｂ１１８に読み出し、プリンタ画像処理部１２２を経由して印字部１０６に出力する。
【００２２】
スキャナ画像処理部１２１及びプリンタ画像処理部１２２での処理には、色空間変換、移動、色調整、濃度制御、遅延量制御等が含まれる。ラスターイメージプロセッサ（ＲＩＰ）１１９は、ＲＡＭ−Ｂ１１８上のＰＤＬ（Page Description Language：ページ記述言語）コードをビットマップイメージに展開し、ＲＡＭ−Ｂ１１８に出力する。ＳＲＡＭ１２４やＨＤＤ−Ｂ１２５は、ＣＰＵ−Ｂ１１７との間で各種データを入出力する。モデム（ＭＯＤＥＭ）１２６は、公衆回線１０７に接続し、ファクス画像入出力に伴う変復調を行う。
【００２３】
次に、本実施形態に係る情報処理装置として動作する画像形成装置のソフトウェア構成について、図２を参照しながら説明する。なお、設定値等の設定データを保持するためのメインコントローラ１００側の不揮発性記憶領域をＨＤＤ−Ａ１１１として説明するが、ＦＬＡＳＨＲＯＭ１１０を不揮発性記憶領域として用いても良い。また、設定値等の設定データを保持するためのサブコントローラ１０１側の不揮発性記憶領域をＨＤＤ−Ｂ１２５として説明する。
【００２４】
ユーザインターフェースアプリケーション（UI Application）２００は、ＬＣＤパネル１０４に描画するＵＩ（ユーザインターフェース）画面を制御するモジュールである。ジョブアプリケーション（Job Application）２０１は、画像形成装置としての機能を提供するモジュールであり、コピー、ＰＤＬ、ＦＡＸ等の機能毎に存在する。ネットワークアプリケーション（Network Application）２０２は、ネットワークＩ／Ｆ１１３を介した他のネットワーク機器又はファイルサーバ等とのネットワーク通信の制御を行うモジュールである。
【００２５】
コンフィギュレーションマネージャ（Config Manager）−Ａ２０３は、他のモジュールからの依頼に応じてＨＤＤ−Ａ１１１内の設定値保管領域にアクセスし、そこに記憶されている設定データの取得や変更を行うモジュールである。依頼元のモジュールとしては、ＵＩアプリケーション２００、ジョブアプリケーション２０１、ネットワークアプリケーション２０２、コンフィギュレーションマネージャ−Ｂ２０６等が挙げられる。なお、コンフィギュレーションマネージャ−Ａ２０３の詳細な説明は後述する。ＵＩアプリケーション２００、ジョブアプリケーション２０１、ネットワークアプリケーション２０２、コンフィギュレーションマネージャ−Ａ２０３は、実行時にＲＡＭ−Ａ１０９上に展開され、ＣＰＵ−Ａ１０８によって実行される。
【００２６】
ジョブコントローラ（Job Controller）２０４は、ジョブアプリケーション２０１が実行したジョブの制御を行うモジュールである。イメージプロセッサ（Image Processor）２０５は、スキャナ画像処理部１２１、プリンタ画像処理部１２２、メモリ画像処理部１２３を制御し、ＲＡＭ−Ｂ１１８上に保存されている画像に対して画像処理を行うモジュールである。
【００２７】
コンフィギュレーションマネージャ（Config Manager）−Ｂ２０６は、他のモジュールからの依頼に応じて、ＨＤＤ−Ｂ１２５内の設定値保管領域にアクセスし、そこに記憶されている設定データの取得や変更を行うモジュールである。依頼元のモジュールとしては、コンフィギュレーションマネージャ−Ａ２０３、ジョブコントローラ２０４、イメージプロセッサ２０５等が挙げられる。なお、コンフィギュレーションマネージャ−Ｂ２０６の詳細な説明は後述する。ジョブコントローラ２０４、イメージプロセッサ２０５、コンフィギュレーションマネージャ−Ｂ２０６は、実行時にＲＡＭ−Ｂ１１８上に展開され、ＣＰＵ−Ｂ１１７によって実行される。
【００２８】
次に、図２に示したコンフィギュレーションマネージャ−Ａ２０３及びコンフィギュレーションマネージャ−Ｂ２０６の詳細な構成について、図３を参照しながら説明する。なお、コンフィギュレーションマネージャ−Ａ２０３及びコンフィギュレーションマネージャ−Ｂ２０６の構成は同一である。そこで、ここではコンフィギュレーションマネージャ−Ａ２０３についてのみ説明し、コンフィギュレーションマネージャ−Ｂ２０６についての説明は省略する。
【００２９】
コンフィギュレーションマネージャ−Ａ２０３は、データベースアクセスメソッド−Ａ３０１、削除依頼通知メソッド−Ａ３０２、及び削除メソッド−Ａ３０３を含む。データベースアクセスメソッド（Database access method）−Ａ３０１は、ＨＤＤ−Ａ１１１内の設定値保管領域にアクセスして設定データやそれに付随する情報の参照や変更を行う。削除依頼通知メソッド（Deletion order method）−Ａ３０２は、特定の条件を満たす設定データに対して削除依頼を出す。削除メソッド（Deletion method）−Ａ３０３は、特定の条件を満たす設定データを削除する。
【００３０】
ＨＤＤ−Ａ１１１及びＨＤＤ−Ｂ１２５の設定値保管領域について説明する。ここで、ＨＤＤ−Ａ１１１の設定値保管領域は、ＣＰＵ−Ａ１０８が直接にアクセス可能であり、ＣＰＵ−Ｂ１１７が直接にアクセスすることはできない。同様に、ＨＤＤ−Ｂ１２５の設定値保管領域は、ＣＰＵ−Ｂ１１７が直接にアクセス可能であり、ＣＰＵ−Ａ１０８が直接にアクセスすることはできない。
【００３１】
ＨＤＤ−Ａ１１１の設定値保管領域には、図４（Ａ）に示すように、ＩＤ４０１、設定データ（設定値）４０２、自己ＣＰＵであるＣＰＵ−Ａ１０８からのアクセス回数４０３、及び第１の情報としてのフラグ情報４０４が設定データ毎に保持されている。フラグ情報４０４は、他のＣＰＵであるＣＰＵ−Ｂ１１７側の不揮発性記憶領域（例えばＨＤＤ−Ｂ１２５の設定値保管領域）にも設定データが保管されているか否かを示す情報である。
【００３２】
また、ＨＤＤ−Ｂ１２５の設定値保管領域には、図４（Ｂ）に示すように、ＩＤ４０５、設定データ（設定値）４０６、自己ＣＰＵであるＣＰＵ−Ｂ１１７からのアクセス回数４０７、及び第１の情報としてのフラグ情報４０８が設定データ毎に保持されている。フラグ情報４０８は、他のＣＰＵであるＣＰＵ−Ａ１０８側の不揮発性記憶領域（例えばＨＤＤ−Ａ１１１の設定値保管領域）にも設定データが保管されているか否かを示す情報である。この例においてフラグ情報４０４、４０８は、他のＣＰＵ側の不揮発性記憶領域に設定データが保管されている場合には値が１であり、そうでない場合には値が０である。
【００３３】
図４（Ａ）及び図４（Ｂ）に示したＫｅｙ１、２、３の設定データは、ＣＰＵ−Ａ１０８及びＣＰＵ−Ｂ１１７の双方からアクセスされ、不揮発性記憶領域としてのＨＤＤ−Ａ１１１、ＨＤＤ−Ｂ１２５のそれぞれに保持されて、値は同期されている。Ｋｅｙ４の設定データは、ＣＰＵ−Ｂ１１７のみからアクセスされているが、不揮発性記憶領域としてのＨＤＤ−Ａ１１１、ＨＤＤ−Ｂ１２５のそれぞれに保持されている。Ｋｅｙ５の設定データは、ＣＰＵ−Ａ１０８のみからアクセスされており、不揮発性記憶領域としてのＨＤＤ−Ａ１１１のみに保持されている。なお、すべての設定データは、初めＨＤＤ−Ａ１１１に保存されており、Ｋｅｙ１、２、３、４の設定データは、ＣＰＵ−Ｂ１１７からの参照時にＨＤＤ−Ａ１１１から読み出されてＨＤＤ−Ｂ１２５に保存されるものとする。こうすることで、あるプログラムがＣＰＵ−Ａ１０８、ＣＰＵ−Ｂ１１７のどちらのＣＰＵで動作するかに変更が生じても、各設定データの同期の有無を動的に切り替えることが可能になる。
【００３４】
次に、第１の実施形態における処理動作について説明する。図５は、コンフィギュレーションマネージャ２０３、２０６が、設定データに対するアクセス回数（アクセス頻度）に応じて、複数の不揮発性記憶領域で保持しておく必要がない設定データをＨＤＤ−Ｂ１２５から削除する動作の例を示すフローチャートである。
【００３５】
図５（Ａ）にはコンフィギュレーションマネージャ−Ａ２０３による処理を示しており、図５（Ａ）に示す処理は、ＲＡＭ−Ａ１０９に展開されたプログラムに従って、ＣＰＵ−Ａ１０８が動作することによって実現される。また、図５（Ｂ）にはコンフィギュレーションマネージャ−Ｂ２０６による処理を示しており、図５（Ｂ）に示す処理は、ＲＡＭ−Ｂ１１８に展開されたプログラムに従って、ＣＰＵ−Ｂ１１７が動作することによって実現される。
【００３６】
図５（Ａ）に示すステップＳ５０１にて、コンフィギュレーションマネージャ−Ａ２０３のデータベースアクセスメソッド−Ａ３０１は、ＨＤＤ−Ａ１１１内の設定値保管領域にアクセスして設定データの参照や変更を行う。設定データに対するアクセスのたびに、設定値保管領域内に保持されている、その設定データに対するアクセス回数の値を１ずつ増やす。
【００３７】
ステップＳ５０２にて、削除依頼通知メソッド−Ａ３０２は、ステップＳ５０１においてアクセスした設定データが、他のコントローラの不揮発性記憶領域（ＨＤＤ−Ｂ１２５）にも保持されていて、かつ累積アクセス回数が一定回数以上か否かを判定する。対象の設定データが、他のコントローラの不揮発性記憶領域にも保持されていて、かつ累積アクセス回数が一定回数以上である（所定の値を超えている）場合にはステップＳ５０３へ進み、そうでない場合には処理を終了する。例えば、累積アクセス回数のしきい値を１００回とすると、図４（Ａ）に示した例では、アクセスした設定データがＫｅｙ１、２の設定データである場合にはステップＳ５０３へ進み、Ｋｅｙ３、４、５の設定データである場合には処理を終了することとなる。
【００３８】
ステップＳ５０３にて、削除依頼通知メソッド−Ａ３０２は、コンフィギュレーションマネージャ−Ｂ２０６の削除メソッド−Ｂ３０６に対して、ステップＳ５０１においてアクセスした設定データの削除依頼を出す。ステップＳ５０４にて、削除メソッド−Ｂ３０６は、ステップＳ５０３においてコンフィギュレーションマネージャ−Ａ２０３の削除依頼通知メソッド−Ａ３０２から出された設定データの削除依頼を受信する。設定データの削除依頼を受信すると、削除メソッド−Ｂ３０６は、データベースアクセスメソッド−Ｂ３０４に、削除依頼された設定データのアクセス回数取得を依頼する。
【００３９】
ステップＳ５０５にて、データベースアクセスメソッド−Ｂ３０４は、ＨＤＤ−Ｂ１２５内の設定値保管領域にアクセスして、対象の設定データのアクセス回数を取得し、削除メソッド−Ｂ３０６に渡す。ステップＳ５０６にて、削除メソッド−Ｂ３０６は、ステップＳ５０５において取得したアクセス回数が、前回の削除依頼の受信時から変化していないか否かを判定する。判定の結果、アクセス回数が変化していない場合にはステップＳ５０７へ進み、アクセス回数が変化している場合にはステップＳ５０８へ進む。前回の削除依頼の受信時からアクセス回数が変化したかどうかの判断方法としては、参照時毎にアクセス回数のカウンタをリセット（クリア）しても良いし、前回の削除依頼の受信時のアクセス回数を別途記憶しておいても良いとする。例えば、図４（Ｂ）に示した例では、削除依頼された設定データがＫｅｙ１の設定データである場合にはステップＳ５０７へ進み、Ｋｅｙ２の設定データである場合にはステップＳ５０７の処理をスキップすることとなる。
【００４０】
ステップＳ５０７にて、削除メソッド−Ｂ３０６は、ＨＤＤ−Ｂ１２５に保存されている設定データを削除する。次に、ステップＳ５０８にて、削除メソッド−Ｂ３０６は、コンフィギュレーションマネージャ−Ａ２０３に対して処理結果を通知する。ステップＳ５０９にて、コンフィギュレーションマネージャ−Ａ２０３は、コンフィギュレーションマネージャ−Ｂ２０６からの処理結果を受信すると、ステップＳ５１０へ進む。
【００４１】
ステップＳ５１０にて、削除依頼通知メソッド−Ａ３０２は、削除依頼した設定データが削除依頼先で削除されたか否かを判定する。判定の結果、削除依頼先で設定データが削除された場合にはステップＳ５１１へ進み、そうでない場合には処理を終了する。ステップＳ５１１にて、削除依頼通知メソッド−Ａ３０２は、データベースアクセスメソッド−Ａ３０１に、削除依頼先で削除された設定データのフラグ情報４０４のフラグを落とすよう依頼する。そして、データベースアクセスメソッド−Ａ３０１は、対象の設定データのフラグ情報４０４の値を１から０に変更して処理を終了する。例えば、対象の設定データがＫｅｙ１である場合には、ＨＤＤ−Ａ１１１の設定値保管領域は、図４（Ａ）から図４（Ｃ）に示すようになる。
【００４２】
本実施形態によれば、各ＣＰＵに対応した複数の不揮発性記憶領域を設けて設定データを保持することで、設定データを取得するためのＣＰＵ間通信の発生を抑制することができる。また、各ＣＰＵに対応した複数の不揮発性記憶領域のそれぞれで保持している設定データに関して、アクセス回数に基づいて、複数の不揮発性記憶領域で保持しておく必要がない設定データを動的に判断して削除することができる。例えば、ＨＤＤ−Ａ１１１及びＨＤＤ−Ｂ１２５の設定値保管領域に保持する設定データに関して、保持しておく必要のない設定データを動的に判断して適切に削除することが可能になる。
【００４３】
なお、前述した説明では、削除メソッド−Ｂ３０６は、設定データの削除依頼を受信し、削除依頼された設定データに対するアクセス回数が、前回の削除依頼の受信時から変化していない場合に、ＨＤＤ−Ｂ１２５に保存されている設定データを削除している。これに限らず、設定データの削除依頼を受信し、削除依頼された設定データに対する前回の削除依頼の受信時からのアクセス回数の変化が、所定の値以下である場合に、ＨＤＤ−Ｂ１２５に保存されている設定データを削除するようにしても良い。また、削除依頼された設定データに対するアクセス回数に代えて、所定時間内のアクセス回数から求められるアクセス頻度を用いて、削除依頼された設定データを削除するか否かを判断するようにしても良い。
【００４４】
なお、削除依頼先からの処理結果の通知は、設定データを削除した場合だけ処理結果を通知するようにしても良い。その場合、削除依頼元は、設定データの削除依頼を出してから所定時間が経過しても処理結果の通知がなければ、削除依頼先で設定データが削除されていないと判断すれば良い。
【００４５】
また、前述した説明では、削除メソッド−Ｂ３０６は、削除依頼通知メソッド−Ａ３０２からの設定データの削除依頼を受けたことを条件として、設定データの削除を行うようにしている。これに限らず、例えば削除メソッド−Ｂ３０６は、設定データが他のコントローラの不揮発性記憶領域にも保持されている場合に、その設定データに対するアクセス回数を所定のタイミングで取得するようにする。そして、設定データに対するアクセス回数の変化が所定の値以下である（あるいは変化していない）場合に、削除メソッド−Ｂ３０６は、ＨＤＤ−Ｂ１２５に保存されている設定データを削除するようにしても良い。
【００４６】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
第１の実施形態では、コンフィギュレーションマネージャ２０３、２０６が、アクセス回数に応じて、複数の不揮発性記憶領域で保持しておく必要がない設定データを不揮発性記憶領域から削除する例を示した。以下に説明する第２の実施形態では、第１の実施形態に対して以下の２点の処理を追加している。
【００４７】
削除依頼通知メソッドが設定データの削除依頼を出す際に、第２の情報としてコントローラ内に不揮発性記憶領域が存在するか否かの情報を添付して削除依頼を出す。また、削除依頼された設定データを削除メソッドが削除する際に、第２の情報として添付された情報に基づいて、設定データの削除依頼の依頼元に不揮発性記憶領域が存在するか否かの判定を行う。このようにすることで、設定データの削除依頼元に不揮発性記憶領域が存在し、自分が削除しようとしている設定データが削除依頼元の不揮発性記憶領域に保存されていることを確認した上で設定データの削除を実行することができる。
【００４８】
なお、以下の説明において、第１の実施形態と重複する部分については説明を省略する。図６は、コンフィギュレーションマネージャ２０３、２０６が、設定データに対するアクセス回数（アクセス頻度）に応じて、複数の不揮発性記憶領域で保持しておく必要がない設定データをＨＤＤ−Ｂ１２５から削除する動作の例を示すフローチャートである。
【００４９】
図６（Ａ）にはコンフィギュレーションマネージャ−Ａ２０３による処理を示しており、図６（Ａ）に示す処理は、ＲＡＭ−Ａ１０９に展開されたプログラムに従って、ＣＰＵ−Ａ１０８が動作することによって実現される。また、図６（Ｂ）にはコンフィギュレーションマネージャ−Ｂ２０６による処理を示しており、図６（Ｂ）に示す処理は、ＲＡＭ−Ｂ１１８に展開されたプログラムに従って、ＣＰＵ−Ｂ１１７が動作することによって実現される。
【００５０】
図６（Ａ）に示すステップＳ６０１、Ｓ６０２での処理は、それぞれ図５（Ａ）に示したステップＳ５０１、Ｓ５０２での処理と同様である。ステップＳ６０３にて、コンフィギュレーションマネージャ−Ａ２０３の削除依頼通知メソッド−Ａ３０２は、コンフィギュレーションマネージャ−Ｂ２０６の削除メソッド−Ｂ３０６に対し、ステップＳ６０１においてアクセスした設定データの削除依頼を出す。このとき、削除依頼にメインコントローラ１００内に不揮発性記憶領域が存在するか否かの情報を添付する。
【００５１】
図６（Ｂ）に示すステップＳ６０４、Ｓ６０５、Ｓ６０６での処理は、それぞれ図５（Ｂ）に示したステップＳ５０４、Ｓ５０５、Ｓ５０６での処理と同様である。ステップＳ６０７にて、削除メソッド−Ｂ３０６は、ステップＳ６０４において受信した設定データの削除依頼の添付情報を参照して、削除依頼元に不揮発性記憶領域が存在するか否かを判定する。判定の結果、削除依頼元に不揮発性記憶領域が存在する場合にはステップＳ６０８へ進み、存在しない場合にはステップＳ６０９へ進む。
【００５２】
以降の図６（Ｂ）に示すステップＳ６０８、Ｓ６０９での処理は、それぞれ図５（Ｂ）に示したステップＳ５０７、Ｓ５０８での処理と同様である。また、図６（Ａ）に示すステップＳ６１０、Ｓ６１１、Ｓ６１２での処理は、それぞれ図５（Ａ）に示したステップＳ５０９、Ｓ５１０、Ｓ５１１での処理と同様である。
【００５３】
第２の実施形態によれば、第１の実施形態と同様に、設定データを取得するためのＣＰＵ間通信の発生を抑制することができる。また、各ＣＰＵに対応した複数の不揮発性記憶領域のそれぞれで保持している設定データに関して、アクセス回数に基づいて保持しておく必要がない設定データを動的に判断して削除することが可能になる。さらに、設定データの削除依頼元に不揮発性記憶領域が存在し、自分が削除しようとしている設定データが削除依頼元の不揮発性記憶領域に保存されていることを確認した上で設定データの削除を実行することができる。
【００５４】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。
第１の実施形態及び第２の実施形態では、コンフィギュレーションマネージャ２０３、２０６が、アクセス回数に応じて、複数の不揮発性記憶領域で保持しておく必要がない設定データを不揮発性記憶領域から削除する例を示した。前述した例では、起動時に参照する設定データも削除対象になってしまう可能性があり、その設定データが削除されてしまうと、設定データを取得するまで起動を行えない。そのため、起動時には、自ＣＰＵからは直接的にはアクセスできない他ＣＰＵに対応する不揮発性記憶領域に保持されている設定データを、ＣＰＵ間通信を行って取得する必要がある。しかしながら、起動時はＣＰＵ間のセッション確立までに時間がかかり、また一般に双方のＣＰＵの使用率が高く通信に時間がかかるため、設定データを取得するのに時間がかかり、起動時間が遅くなってしまうという問題が生じる。
【００５５】
そこで、第３の実施形態では、第３の情報として起動時に自ＣＰＵがアクセスした設定データであるか否かを示す情報を当該設定データとともに設定データ毎に保持する。そして、起動時に自ＣＰＵがアクセスした設定データについては、起動時にアクセスしたことを示すフラグを立てておき、その設定データに関しては前述した第１の実施形態等の削除条件を満たしても削除を行わないようにする。このようにすることで、自ＣＰＵから直接的にアクセスできる不揮発性記憶領域から起動時に参照する設定データを削除することを防止し、起動時間が増大してしまうことを防ぐことができる。
【００５６】
なお、以下の説明において、前述した第１の実施形態や第２の実施形態と重複する部分については説明を省略する。まず、第３の実施形態において、コンフィギュレーションマネージャが起動時にアクセスした設定値について、起動時にアクセスしたことを示すフラグを立てる処理について説明する。図７は、コンフィギュレーションマネージャが起動時にアクセスしたことを示すフラグを立てる処理の例を示すフローチャートである。図７に示す処理は、ＲＡＭに展開されたプログラムに従って、ＣＰＵが動作することによって実現される。
【００５７】
第３の実施形態では、図８に示すように不揮発性記憶領域の設定値保管領域に設定データが保持される。図８には、ＨＤＤ−Ｂ１２５の設定値保管領域を例示しており、ＩＤ８０１、設定データ（設定値）８０２、自己ＣＰＵからのアクセス回数８０３、フラグ情報８０４に加え、第３の情報としての起動時アクセスフラグ８０５が設定データ毎に保持されている。この例において起動時アクセスフラグ８０５は、その設定データが起動時にアクセスされているときには値が１であり、そうでないときには値が０である。
【００５８】
図７に示すステップＳ７０１にて、データベースアクセスメソッドは、ＨＤＤ内の設定値保管領域にアクセスして、起動時に必要な設定データを取得する。ステップＳ７０２にて、データベースアクセスメソッドは、ステップＳ７０１において取得した設定データについて起動時アクセスフラグ８０５を立てる（値を０から１に変更する）。
【００５９】
次に、第３の実施形態における設定データの削除処理について説明する。図９は、コンフィギュレーションマネージャ２０３、２０６が、設定データに対するアクセス回数（アクセス頻度）に応じて、複数の不揮発性記憶領域で保持しておく必要がない設定データをＨＤＤ−Ｂ１２５から削除する動作の例を示すフローチャートである。
【００６０】
図９（Ａ）にはコンフィギュレーションマネージャ−Ａ２０３による処理を示しており、図９（Ａ）に示す処理は、ＲＡＭ−Ａ１０９に展開されたプログラムに従って、ＣＰＵ−Ａ１０８が動作することによって実現される。また、図９（Ｂ）にはコンフィギュレーションマネージャ−Ｂ２０６による処理を示しており、図９（Ｂ）に示す処理は、ＲＡＭ−Ｂ１１８に展開されたプログラムに従って、ＣＰＵ−Ｂ１１７が動作することによって実現される。
【００６１】
図９（Ａ）に示すステップＳ９０１、Ｓ９０２、Ｓ９０３での処理は、それぞれ図６（Ａ）に示したステップＳ６０１、Ｓ６０２、Ｓ６０３での処理と同様である。図９（Ｂ）に示すステップＳ９０４にて、コンフィギュレーションマネージャ−Ｂ２０６の削除メソッド−Ｂ３０６は、ステップＳ９０３において出された設定データの削除依頼を受信する。設定データの削除依頼を受信すると、削除メソッド−Ｂ３０６は、データベースアクセスメソッド−Ｂ３０４に、削除依頼された設定データのアクセス回数と起動時アクセスフラグ情報の取得を依頼する。
【００６２】
ステップＳ９０５にて、データベースアクセスメソッド−Ｂ３０４は、ＨＤＤ−Ｂ１２５内の設定値保管領域にアクセスして、対象の設定データのアクセス回数と起動時アクセスフラグ情報を取得し、削除メソッド−Ｂ３０６に渡す。ステップＳ９０６にて、削除メソッド−Ｂ３０６は、ステップＳ９０５において取得した起動時アクセスフラグ情報を参照し、起動時アクセスフラグが立っていないか否かを判定する。判定の結果、起動時アクセスフラグが立っていない場合にはステップＳ９０７へ進み、立っている場合にはステップＳ９１０へ進む。なお、図８に示した例では、削除依頼された設定データがＫｅｙ２、３、４の設定データである場合にはステップＳ９０７へ進み、Ｋｅｙ１の設定データである場合にはステップＳ９１０へ進むこととなる。
【００６３】
以降の図９（Ｂ）に示すステップＳ９０７、Ｓ９０８、Ｓ９０９、Ｓ９１０での処理は、それぞれ図６（Ｂ）に示したステップＳ６０６、Ｓ６０７、Ｓ６０８、Ｓ６０９での処理と同様である。また、図９（Ａ）に示すステップＳ９１１、Ｓ９１２、Ｓ９１３での処理は、それぞれ図６（Ａ）に示したステップＳ６１０、Ｓ６１１、Ｓ６１２での処理と同様である。
【００６４】
第３の実施形態によれば、第１の実施形態や第２の実施形態と同様に、設定データを取得するためのＣＰＵ間通信の発生を抑制することができる。また、不揮発性記憶領域で保持しておく必要がない設定データを動的に判断し、削除する設定データが削除依頼元の不揮発性記憶領域に保存されていることを確認した上で削除することができる。また、起動時に自ＣＰＵがアクセスした設定データについては、その後のアクセス回数によらず削除されることを防ぐことが可能になる。なお、前述した第３の実施形態の説明では、第２の実施形態に適用した場合を例に説明したが、第１の実施形態に対しても同様に適用可能である。
【００６５】
（本発明の他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００６６】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６７】
１００：メインコントローラ  １０１：サブコントローラ  １０８、１１７：ＣＰＵ  １０９、１１８：ＲＡＭ  １１１、１２５：ＨＤＤ  ２０３、２０６：コンフィギュレーションマネージャ  ３０１、３０４：データベースアクセスメソッド  ３０２、３０５：削除依頼通知メソッド  ３０３、３０６：削除メソッド
【図１】
2014123281.tif 000003
【図２】
2014123281.tif 000004
【図３】
2014123281.tif 000005
【図４】
2014123281.tif 000006
【図５】
2014123281.tif 000007
【図６】
2014123281.tif 000008
【図７】
2014123281.tif 000009
【図８】
2014123281.tif 000010
【図９】
2014123281.tif 000011