(57)【要約】【課題】外部機器からのインデックス作成のためのアクセスと、ユーザが情報処理装置を操作している通常のアクセスとが混在した場合でも、通常のアクセスを優先して処理することができる仕組みを提供する。【解決手段】受け付けた処理の要求（Ｓ３０１）がインデックス作成に関する要求である場合（Ｓ３１４のＹｅｓ）に、要求元への処理結果の返答（Ｓ３２６）から次の処理の要求の受け付ける（Ｓ３０１）までの時間が一定時間以内である回数を算出し（Ｓ３１６，Ｓ３１９）、算出した回数に基づいて、設定された優先度（Ｓ３０５）を低い値に変更するか否かを判定する（Ｓ３２０）。【選択図】図４ａ
2011133981.tif 000002
【特許請求の範囲】
【請求項１】
処理の要求を受け付ける要求受付手段と、
処理ごとに優先度を設定する優先度管理手段と、
該優先度管理手段により設定された優先度に基づいて、前記要求受付手段で受け付けた処理を実行する処理実行手段と、
該処理実行手段により実行した処理結果を要求元へ返答する返答手段と、
前記要求受付手段により受け付けた処理の要求が特定の要求であるか否かを判断する判断手段と、
該判断手段により特定の要求であると判断された場合に、前記返答手段による要求元への返答から前記要求受付手段による次の処理の要求の受け付けまでの時間が一定時間以内である回数を算出する算出手段と、
該算出手段により算出された回数に基づいて、前記優先度管理手段によって設定された優先度を低い値に変更するか否かを判定する判定手段と、を備える
ことを特徴とする情報処理装置。
【請求項２】
処理の要求を受け付ける要求受付手段と、
処理ごとに優先度を設定する優先度管理手段と、
該優先度管理手段により設定された優先度に基づいて、前記要求受付手段で受け付けた処理を実行する処理実行手段と、
該処理実行手段により実行した処理結果を要求元へ返答する返答手段と、
前記要求受付手段により受け付けた処理の要求が特定の要求であるか否かを判断する判断手段と、
該判断手段により特定の要求であると判断された場合に、前記返答手段による要求元への返答から前記要求受付手段による次の処理の要求の受け付けまでの時間が一定時間を超える回数を算出する算出手段と、
該算出手段により算出された回数に基づいて、前記優先度管理手段によって設定された優先度を高い値に変更するか否かを判定する判定手段と、を備える
ことを特徴とする情報処理装置。
【請求項３】
負荷状況を管理する負荷状況管理手段を備え、
前記処理実行手段は、前記負荷状況管理手段で管理されている負荷が高い場合に、前記優先度管理手段により優先度が低く設定されている処理の実行を延期する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記判断手段により特定の要求でないと判断された場合に、前記優先度管理手段は、処理の優先度を高い値に設定する、
ことを特徴とする請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
前記判断手段は、前記要求受付手段により受け付けた処理の要求の組合せのパターンが特定の要求のパターンリストに含まれている場合に、特定の要求であると判断する、
ことを特徴とする請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記要求受付手段により受け付けた前回の処理の要求の種別と前記返答手段により前記前回の要求元へ返答されたデータのサイズに基づいて、前記一定時間を調整する第１の調整手段を備える
ことを特徴とする請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
ネットワークの負荷状況を確認する確認手段と、該確認手段によって確認されたネットワークの負荷に基づいて、前記一定時間を調整する第２の調整手段と、を備える
ことを特徴とする請求項１〜６のいずれか一項に記載の情報処理装置。
【請求項８】
操作部が操作されていることを検知する検知手段と、該検知手段により操作部が操作されていることが検知された場合に、該検知結果を前記負荷状況管理手段に通知する通知手段と、を備える
ことを特徴とする請求項２〜７のいずれか一項に記載の情報処理装置。
【請求項９】
利用ログを解析して負荷状況を予測するログ解析手段を備え、前記負荷状況管理手段は、前記ログ解析手段によって予測された負荷状況を取得する、
ことを特徴とする請求項２〜７のいずれか一項に記載の情報処理装置。
【請求項１０】
処理の要求を受け付ける要求受付ステップと、
処理ごとに優先度を設定する優先度管理ステップと、
該優先度管理ステップで設定された優先度に基づいて、前記要求受付ステップで受け付けた処理を実行する処理実行ステップと、
該処理実行ステップで実行した処理結果を要求元へ返答する返答ステップと、
前記要求受付ステップで受け付けた処理の要求が特定の要求であるか否かを判断する判断ステップと、
該判断ステップで特定の要求であると判断された場合に、前記返答ステップでの要求元への返答から前記要求受付ステップでの次の処理の要求の受け付けまでの時間が一定時間以内である回数を算出する算出ステップと、
該算出ステップで算出された回数に基づいて、前記優先度管理ステップで設定された優先度を低い値に変更するか否かを判定する判定ステップと、を備える
ことを特徴とする情報処理装置の制御方法。
【請求項１１】
処理の要求を受け付ける要求受付ステップと、
処理ごとに優先度を設定する優先度管理ステップと、
該優先度管理ステップで設定された優先度に基づいて、前記要求受付ステップで受け付けた処理を実行する処理実行ステップと、
該処理実行ステップで実行した処理結果を要求元へ返答する返答ステップと、
前記要求受付ステップで受け付けた処理の要求が特定の要求であるか否かを判断する判断ステップと、
該判断ステップで特定の要求であると判断された場合に、前記返答ステップでの要求元への返答から前記要求受付ステップでの次の処理の要求の受け付けまでの時間が一定時間を超える回数を算出する算出ステップと、
該算出ステップで算出された回数に基づいて、前記優先度管理ステップで設定された優先度を高い値に変更するか否かを判定する判定ステップと、を備える
ことを特徴とする情報処理装置の制御方法。
【請求項１２】
処理の要求を受け付ける要求受付ステップと、
処理ごとに優先度を設定する優先度管理ステップと、
該優先度管理ステップで設定された優先度に基づいて、前記要求受付ステップで受け付けた処理を実行する処理実行ステップと、
該処理実行ステップで実行した処理結果を要求元へ返答する返答ステップと、
前記要求受付ステップで受け付けた処理の要求が特定の要求であるか否かを判断する判断ステップと、
該判断ステップで特定の要求であると判断された場合に、前記返答ステップでの要求元への返答から前記要求受付ステップでの次の処理の要求の受け付けまでの時間が一定時間以内である回数を算出する算出ステップと、
該算出ステップで算出された回数に基づいて、前記優先度管理ステップで設定された優先度を低い値に変更するか否かを判定する判定ステップと、をコンピュータに実行させる、
ことを特徴とする情報処理装置の処理プログラム。
【請求項１３】
処理の要求を受け付ける要求受付ステップと、
処理ごとに優先度を設定する優先度管理ステップと、
該優先度管理ステップで設定された優先度に基づいて、前記要求受付ステップで受け付けた処理を実行する処理実行ステップと、
該処理実行ステップで実行した処理結果を要求元へ返答する返答ステップと、
前記要求受付ステップで受け付けた処理の要求が特定の要求であるか否かを判断する判断ステップと、
該判断ステップで特定の要求であると判断された場合に、前記返答ステップでの要求元への返答から前記要求受付ステップでの次の処理の要求の受け付けまでの時間が一定時間を超える回数を算出する算出ステップと、
該算出ステップで算出された回数に基づいて、前記優先度管理ステップで設定された優先度を高い値に変更するか否かを判定する判定ステップと、をコンピュータに実行させる、
ことを特徴とする情報処理装置の処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、外部機器とネットワークを介して接続されるファイルサーバ機能を有するプリンタ、複写機、複合機、ＰＣ等の情報処理装置、情報処理装置の制御方法及び処理プログラムに関する。
【背景技術】
【０００２】
ファイルサーバに格納されたデータを検索できるようにするために、検索サーバによってインデックスを作成することが行われている。インデックスとは、データの検索を効率よく行うために用いられる索引のことである。インデックス作成のために、検索サーバは、ファイルサーバにアクセスしてファイルサーバに格納された全てのデータに対して、名称や更新日時、所有者などの属性、及びそのデータ内容を読み取る。データ内容を読み取るのは、全文検索のためである。従って、検索サーバがインデックス作成を行うときに、ファイルサーバに対して、大きな負荷を掛けることになる。
【０００３】
従来においては、専用の検索サーバを用いてデータ検索を行うためのインデックス作成を行っているので、インデックス作成のためのスケジュール設定を行うことができる。従って、ファイルサーバに負荷が掛かっても問題のない深夜などの時間帯に、検索サーバがインデックス作成を行っている。
【０００４】
また、例えば、検索サーバによる負荷を軽減するために、特殊なプロトコルやＩＰアドレスなどで検索サーバを特定して、検索サーバからのアクセスに対しては、更新済みのファイルリストだけを返信するファイルサーバが提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１２２７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、近年では、専用の検索サーバだけでなく、一般のユーザＰＣで利用可能な検索エンジンでファイルサーバに格納されたデータを検索できるようになっている。検索エンジンとしては、例えば、Ｇｏｏｇｌｅ（登録商標）デスクトップや、Ｗｉｎｄｏｗｓ（登録商標）デスクトップサーチなどが挙げられる。
【０００７】
従って、多数の一般ユーザが各自のＰＣで検索エンジンを使用して、各自のタイミングでインデックス作成を実行することが可能になり、従来の専用の検索サーバのように、インデックス作成のスケジュールを設定することが困難になる。
【０００８】
また、一般のユーザＰＣが検索サーバとなるため、上記特許文献１のように、検索サーバを特定して制御することも難しい。つまり、インデックス作成のためのアクセスがファイルサーバに集中した場合に、インデックス作成を実行しない機器からのアクセスと区別が付かず、該機器からのアクセスに対しても負荷が掛かってしまう。
【０００９】
特に、本来の機能以外にファイルサーバを兼用する機器では、インデックス作成のためのストレージへのアクセスと本来の機能の実行のためのストレージへのアクセスとが競合し、これにより本来の機能の性能が損なわれてしまう。また、このような機器では、専用サーバやＰＣなどよりＣＰＵの処理能力が低い場合や、メモリ容量が少ない場合もあり、そのような場合には、よりインデックス作成の負荷の影響を受け易くなってしまう。
【００１０】
そこで、本発明は、ストレージに対する外部機器からの機械的なアクセスと、本来の情報処理装置の機能実行のための通常のアクセスとが混在した場合でも、通常のアクセスを優先して処理する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の情報処理装置は、処理の要求を受け付ける要求受付手段と、処理ごとに優先度を設定する優先度管理手段と、該優先度管理手段により設定された優先度に基づいて、前記要求受付手段で受け付けた処理を実行する処理実行手段と、前記処理実行手段による処理結果を要求元へ返答する返答手段と、前記要求受付手段により受け付けた処理の要求が特定の要求であるか否かを判断する判断手段と、該判断手段により特定の要求であると判断された場合に、前記返答手段による要求元への返答から前記要求受付手段による次の処理の要求の受け付けまでの時間が一定時間以内である回数を算出する算出手段と、該算出手段により算出された回数に基づいて、前記優先度管理手段によって設定された優先度を低い値に変更するか否かを判定する判定手段と、を備えることを特徴とする。
【００１２】
本発明の情報処理装置は、処理の要求を受け付ける要求受付手段と、処理ごとに優先度を設定する優先度管理手段と、該優先度管理手段により設定された優先度に基づいて、前記要求受付手段で受け付けた処理を実行する処理実行手段と、前記処理実行手段による処理結果を要求元へ返答する返答手段と、前記要求受付手段により受け付けた処理の要求が特定の要求であるか否かを判断する判断手段と、該判断手段により特定の要求であると判断された場合に、前記返答手段による要求元への返答から前記要求受付手段による次の処理の要求の受け付けまでの時間が一定時間を超える回数を算出する算出手段と、該算出手段により算出された回数に基づいて、前記優先度管理手段によって設定された優先度を高い値に変更するか否かを判定する判定手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、外部機器からの機械的なアクセスよりも、情報処理装置の機能の実行のためのアクセスを優先することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の情報処理装置の第１の実施形態である画像形成装置を備えるネットワークシステムの構成例を示すブロック図である。
【図２】画像形成装置の構成例を説明するためのブロック図である。
【図３】画像形成装置におけるデータアクセス処理部の構成例を説明するためのブロック図である。
【図４ａ】データアクセス処理部における優先度の設定処理について説明するためのフローチャート図である。
【図４ｂ】データアクセス処理部における優先度の設定処理について説明するためのフローチャート図である。
【図４ｃ】データアクセス処理部における優先度の設定処理について説明するためのフローチャート図である。
【図５】アプリケーションからの要求の一例を示す図である。
【図６】セッション管理テーブルの一例を示す図である。
【図７】本発明の情報処理装置の第２の実施形態である画像形成装置におけるセッション管理テーブルの一例を示す図である。
【図８】パターンリストの一例を示す図である。
【図９ａ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図９ｂ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図９ｃ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図１０】本発明の情報処理装置の第３の実施形態である画像形成装置におけるセッション管理テーブルの一例を示す図である。
【図１１ａ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図１１ｂ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図１１ｃ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図１２】本発明の情報処理装置の第３の実施形態である画像形成装置におけるデータアクセス処理を説明するためのブロック図である。
【図１３】本発明の情報処理装置の第３の実施形態である画像形成装置におけるセッション管理テーブルの一例を示す図である。
【図１４ａ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図１４ｂ】データアクセス処理部における処理について説明するためのフローチャート図である。
【図１４ｃ】データアクセス処理部における処理について説明するためのフローチャート図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
（第１の実施形態）
図１は、本発明の情報処理装置の第１の実施形態である画像形成装置を備えるネットワークシステムの構成例を示すブロック図である。
【００１７】
図１に示すように、ＬＡＮ等のネットワーク４０１には、本実施形態の画像形成装置４０２、検索サーバ４０３、及びユーザＰＣ４０４〜４０６が互いに通信可能に接続されている。
【００１８】
画像形成装置４０２は、ファイルサーバの機能を有し、検索サーバ４０３及びユーザＰＣ４０４，４０５は、検索のためのインデックス作成機能を有する。そのため、ファイルサーバ機能を持つ画像形成装置４０２に対して、検索サーバ４０３及びＰＣ４０４、４０５からインデックス作成のためのアクセスを行うことがが可能である。
【００１９】
図２は、本実施形態の画像形成装置４０２の構成例を説明するためのブロック図である。
【００２０】
図２に示すように、画像形成装置４０２のコントローラユニット１００には、操作部１０６、スキャナ１０８及びプリンタ１０９が接続される。
【００２１】
コントローラユニット１００は、システムバス１１１に、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ１０４、操作部Ｉ／Ｆ１０５、デバイスＩ／Ｆ１０７、ネットワークＩ／Ｆ１１０が接続される。
【００２２】
ＣＰＵ１０１は、システムバス１１１に接続された各ユニットを統括的に制御する。ＲＡＭ１０２は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリである。また、ＲＡＭ１０２には、オペレーティングシステムやシステムソフトウェア、アプリケーショソフトウェアなどのプログラムも格納される。
【００２３】
ＲＯＭ１０３は、システムのブートプログラムが格納される。また、ＲＯＭ１０３には、システムプログラムやアプリケーションプログラムが格納されたり、フォントなどの画像形成装置４０２に必要な情報が格納される場合もある。
【００２４】
ＨＤＤ１０４は、オペレーティングシステム、システムソフトウェア、アプリケーションソフトウェア、画像データ等を格納する。ＲＡＭ１０２に格納されたプログラムは、ＣＰＵ１０１によって実行され、ＲＡＭ１０２、ＲＯＭ１０３及びＨＤＤ１０４に格納された画像データやその以外のデータを処理する。なお、ソフトウェアや画像データをＨＤＤ１０４に代えて、ＲＯＭ１０３やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）等に格納するようにしてもよい。
【００２５】
操作部Ｉ／Ｆ１０５には、操作部１０６が接続される。操作部１０６には、画像形成装置４０２の状態を表示するタッチパネルなどの表示装置や、画像形成装置４０２に指示を与えるための操作ボタンなどが配置される。
【００２６】
デバイスＩ／Ｆ１０７には、画像データの入出力デバイスであるスキャナ１０８やプリンタ１０９が接続される。スキャナ１０８からデバイスＩ／Ｆ１０７を介して入力された画像データは、ＲＡＭ１０２やＨＤＤ１０４に格納され、格納された画像データは、必要に応じてＲＡＭ１０２に格納されたアプリケーションプログラムにより画像処理等が実行される。画像処理等が施された画像データは、デバイスＩ／Ｆ１０７を介してプリンタ１０９へ出力される。
【００２７】
ネットワークＩ／Ｆ１１０には、ＬＡＮ等のネットワーク４０１が接続され、画像データ、あるいは画像形成装置４０２を制御する情報の入出力を行う。
【００２８】
なお、ＦＡＸ機能を持つ画像形成装置の場合には、不図示のモデムＩ／Ｆを介して公衆回線と接続して、ＦＡＸ伝送を可能としてもよい。また、例えば、フラッシュメモリカードなどに格納されたデータを読み出してプリントすることを可能とするために、不図示のＵＳＢＩ／Ｆを具備してもよい。
【００２９】
図３は、本実施形態の画像形成装置４０２におけるデータアクセス処理部の構成例を説明するためのブロック図である。図３において各ブロックはソフトウェアであり、図３におけるデータとは、画像データ或いは画像形成装置４０２がファイルサーバとして機能するときに格納されるデータをいう。
【００３０】
図３において、アプリケーション２０１及びデータアクセス処理部２００は、ＨＤＤ１０４又はＲＯＭ１０３に格納される。アプリケーション２０１及びデータアクセス処理部２００は、ＲＡＭ１０２にロードされて、ＣＰＵ１０１により実行されるプログラムモジュールである。
【００３１】
ここで、アプリケーション２０１とは、画像形成装置４０２の機能を実行するものである。アプリケーション２０１には、例えば、外部ＰＣなどから送信されたデータをプリンタ１０９で印刷するプリント機能のアプリケーション、スキャナ１０８で読み取ったデータを複写するコピー機能のアプリケーション等、機能毎に様々なアプリケーションがある。
【００３２】
アプリケーション２０１は、データアクセスが必要になった場合には、データアクセス処理部２００を呼び出す。
【００３３】
データアクセス処理部２００は、アプリケーション２０１から要求されたデータの所在を確認して、物理データ格納部２０９からデータを読み出したり、あるいはデータを書込んだりする。また、データアクセス処理部２００は、データの読書きだけでなく、データの属性取得なども行う。
【００３４】
図３において、物理データ格納部２０９は、一つしか記載していないが、アプリケーション２０１から要求されたデータの所在によって、複数の物理データ格納部２０９を切り替えられる。物理データ格納部２０９は、例えば、データを自身の画像形成装置に保存したい場合は、ＨＤＤ１０４が対象となるが、ネットワーク４０１に接続された外部装置にデータを保存したい場合は、ネットワークＩ／Ｆ１１０を介した外部装置が対象なる。
【００３５】
負荷状況管理部２０８は、画像形成装置の負荷状況を管理する。本実施形態では負荷状況は負荷の状況を示す値で示されるものとする。本実施形態における画像形成装置の負荷の具体例としては、次に示すものとする。例えばプログラムを実行することによるＣＰＵ１０１に対する負荷、或いはディスクアクセスによるＨＤＤ１０４に対する負荷、或いは、ＬＡＮ４０１とのデータの送受信によるネットワークＩ／Ｆ１１０に対する負荷の何れか１つ、或いは複数を示すものとする。
【００３６】
アプリケーション２０１が処理を行っているときは、アプリケーション２０１から負荷状況管理部２０８に負荷の追加が通知され、負荷状況管理部２０８での負荷状況が高くなる。アプリケーションの種類にかかわらず、アプリケーション２０１から負荷追加の通知あるごとに、負荷状況管理部２０８での負荷状況は高くなる。アプリケーション２０１の処理が終了すると、アプリケーション２０１から負荷状況管理部２０８に負荷削除の通知がされ、負荷状況管理部２０８での負荷状況は低くなる。
【００３７】
具体的な例を挙げて説明する。まず、アプリケーション２０１が処理を行うときに、負荷状況管理部２０８での負荷状況の値を＋１、アプリケーション２０１が処理を終了したときに、負荷状況管理部２０８での負荷状況の値を−１する。
【００３８】
アプリケーション２０１が処理を行っていない状態で、アプリケーションＡが処理を開始すると、アプリケーション２０１は、負荷状況管理部２０８に負荷追加を通知して、負荷状況管理部２０８での負荷状況の値が＋１となる。また、アプリケーションＢが処理を開始すると、アプリケーション２０１は、負荷状況管理部２０８に負荷追加を通知して、負荷状況管理部２０８での負荷状況の値が＋２となる。
【００３９】
その後、アプリケーションＡが処理を終了すると、アプリケーション２０１は、負荷状況管理部２０８に負荷削除を通知して、負荷状況管理部２０８での負荷状況の値が＋１となる。このように、アプリケーション２０１で同時に実行されるアプリケーションが多い場合には、負荷状況管理部２０８での負荷状況の値が高くなる。なお、上記の例では、全てのアプリケーションで同じ値を用いて負荷状況管理部２０８での負荷状況を変化させたが、より詳細に重み付けを行うようにしてもよい。
【００４０】
例えば、負荷状況の追加／削除される値は、アプリケーション２０１毎に大小を決めてもよいし、あるいは、アプリケーション２０１の内部処理単位で大小を決めてもよい。例えば、プリント処理のアプリケーションは、ＰＤＬ（ＰａｇｅＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ）の解析処理が実行されるので、負荷状況を高めに設定するようにしてもよい。
【００４１】
また、本実施形態は、システム内の各アプリケーションが負荷状況管理部２０８に負荷追加／削除の通知することで負荷状況を判断しているが、他の方法で負荷状況を管理しても構わない。
【００４２】
例えば、負荷状況管理部２０８が、ＣＰＵ１０１の稼働率を取得して、稼働率が一定の値以上であれば、負荷状況の値を増減するようにしてもよい。この場合は、ＣＰＵ１０１の稼働率は、逐次変動するものであるので、一定時間毎に随時取得して、負荷状況を更新する。
【００４３】
また、負荷状況管理部２０８が、不図示のＩ／Ｏキューなどを確認することで、ＨＤＤ１０４に対するアクセス状況から負荷状況の値を変更してもよい。また、負荷状況管理部２０８が、ネットワークＩ／Ｆ１１０におけるトラフィックを検出して、負荷状況を更新してもよい。ＨＤＤ１０４に対するアクセス状況、ネットワークＩ／Ｆ１１０におけるトラフィックも、逐次変動するものであるので、一定時間毎に随時取得して、負荷状況を更新する。
【００４４】
つまり、負荷状況管理部２０８が各種システムの負荷に基づいて負荷状況を更新してもよい。また、アプリケーション２０１からの負荷状況管理部２０８への通知と、負荷状況管理部２０８が１つ以上のシステムの負荷状況を組合わせて、負荷状況を更新するようにしても構わない。
【００４５】
なお、負荷が掛かっているか否かの判断は、負荷状況の値が、予め定められた高負荷と判断される値を超えているか否かで判断される。予め定められた高負荷と判断される値は、前述したように負荷状況の値の設定によって変わるものであり、例えば、遅延無く処理が完了できる動作を実行して、予め決定しておく。
【００４６】
データアクセス処理部２００は、画像データ或いは画像形成装置４０２がファイルサーバとして機能するときに格納されるデータに対するデータアクセスの制御を行う。データアクセス処理部２００は、データアクセスの要求を受け付ける要求受付部２０２、データアクセスのための認証処理や権限確認などを行うログイン処理部２０３、ログイン中のセッションを管理するセッション管理部２０４を備える。また、データアクセス処理部２００は、セッションにおける処理の優先度を設定する優先度管理部２０５、論理的なデータアクセスを実行する論理データアクセス部２０６、物理的なデータアクセスを実行する物理データアクセス部２０７を備える。
【００４７】
優先度管理部２０５で管理される優先度は、Ｌｏｗ、Ｍｉｄｄｌｅ、Ｈｉｇｈの３つからなり、セッション毎に定義される。セッションの初期設定では、優先度は、Ｍｉｄｄｌｅに設定される。インデックス作成などの外部からの機械的なアクセスのセッションには、優先度は、Ｌｏｗに設定される。ユーザが画像形成装置４０２を操作していると想定されるセッションについては、優先度は、Ｈｉｇｈに設定される。
【００４８】
優先度が変更されることによって、各セッションで実行される処理の順番を制御することが可能となる。詳細は図４で後述するが、優先度がＨｉｇｈのセッションで実行される処理は、最優先で実行される。優先度がＬｏｗのセッションで実行される処理は、他に優先度が高いセッションで実行される処理がある場合はウェイト処理を行って、他の優先度のセッションの処理を優先する。優先度は、図６に示すセッション管理テーブルに記憶される。セッション管理テーブルについては、後述する。
【００４９】
なお、本実施形態では、優先度をＬｏｗ、Ｍｉｄｄｌｅ、Ｈｉｇｈの３つとしているが、これに限らず、２段階の優先度であったり４段階以上の優先度であっても構わない。
【００５０】
ここで、図１に示す検索サーバ４０３及びユーザＰＣ４０４，４０５から画像形成装置４０２に対してインデックス作成のためのアクセスが発生しているとする。このとき、前記インデックス作成のアクセスと同時に、ユーザＰＣ４０６が、インデックス作成では無い通常のデータアクセスを画像形成装置４０２に要求したときには、画像形成装置４０２は、ユーザＰＣ４０６からの要求を優先して処理する必要がある。また、画像形成装置４０２に対してコピー機能などを操作部１０６から指示された場合にも、画像形成装置４０２は、操作部１０６から指示された機能を優先して処理する必要がある。
【００５１】
次に、図４を参照して、画像形成装置４０２のデータアクセス処理部２００における優先度の設定処理について説明する。図４での各処理は、画像形成装置４０２のＨＤＤ１０４或いはＲＯＭ１０３に記憶されたデータアクセス処理プログラムがＲＡＭ１０２にロードされて、ＣＰＵ１０１によって実行される。
【００５２】
まず、アプリケーション２０１からデータアクセス処理のための指示を受け付けると、ＣＰＵ１０１は、データアクセス処理部２００を呼び出し、ステップＳ３０１の処理を開始する。
【００５３】
ステップＳ３０１では、ＣＰＵ１０１は、要求受付部２０２がアプリケーション２０１からの要求を受け付けると、ステップＳ３０２に進む。ここで、要求とは、ＨＤＤ１０４等に格納されているデータの操作やデータの属性の操作、或いはデータにアクセスするための認証、権限操作等のデータアクセスに関するものである。
【００５４】
図５に、アプリケーション２０１からの要求の一例を示す。図５の左側の列が要求の種別であり、右側の列がアプリケーションが呼び出すデータアクセス処理部２００のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ）の名称である。アプリケーション２０１は、ＡＰＩを呼び出すことにより、データアクセス処理部２００へ要求を行う。
【００５５】
要求の種別には、それぞれデータにアクセスするための認証、認証の解除を行う「ログイン」要求、「ログアウト」要求、データを生成するための「ファイル作成」要求、データを削除する「ファイル削除」要求がある。
【００５６】
また、要求の種別には、データの内容を読み込んだり、書込むための「ファイルオープン」要求、「ファイルクローズ」要求、「ファイル読み込み」要求、「ファイル書込み」要求、「ファイルシーク」要求がある。例えば、データを読み込む場合は、「ファイルオープン」を実行して、「ファイルシーク」によってファイル内の所望の場所に移動して、「ファイル読み込み」を実行してデータの内容を読み込む。読込みが完了したら、「ファイルクローズ」によってデータの内容の読み込みを終了する。
【００５７】
また、要求の種別には、ディレクトリを操作する要求として「ディレクトリ作成」要求、「ディレクトリ削除」要求、「ディレクトリ変更」要求がある。更に、要求の種別には、ディレクトリの一覧を取得するために、「ディレクトリオープン」、「ディレクトリクローズ」、「ディレクトリ読み込み」の各要求がある。
【００５８】
更に、要求の種別には、ファイルやディレクトリの属性を変更する「権限変更」、「所有者変更」、「属性取得」、「属性設定」、「名称変更」要求、データの複製を実行するための「コピー」要求もある。なお、要求受付部２０２で処理可能な要求は、図５に示す要求に限定されるものではない。
【００５９】
ステップＳ３０２では、ＣＰＵ１０１は、要求受付部２０２で受け付けた要求がログイン要求であるか否かを判断し、ログイン要求である場合は、ステップＳ３０３に進み、ログイン要求でない場合は、ステップＳ３１０に進む。
【００６０】
ステップＳ３０３では、ＣＰＵ１０１は、ログイン処理部２０３によりログイン処理を実行して、データアクセスを行うユーザを特定し、ステップＳ３０４に進む。このとき、アプリケーション２０１からのログイン要求には、ユーザ名やパスワードなどのログイン処理に必要な情報が含まれている。また、アプリケーション２０１や不図示のモジュールですでにログインが実行されている場合は、そのセキュリティトークンがログイン要求に含められていてもよい。この場合は、ログイン処理部２０３は、セキュリティトークンを確認して、データアクセスを行うユーザを特定する。なお、データアクセスを行うユーザを特定する方法は、特に限定されない。
【００６１】
ステップＳ３０４では、ＣＰＵ１０１は、セッション管理部２０４により、ステップＳ３０２で特定したユーザを基に、セッションを生成し、ステップＳ３０５に進む。セッションとは、ログアウト処理が実行されるまで、データアクセス要求を実行できるようにするための情報である。
【００６２】
ステップＳ３０５では、ＣＰＵ１０１は、セッション管理部２０４により、初期値として、ｎ及びｔに０を設定するとともに、返答時刻をクリアし、ステップＳ３０６に進む。ここで、ｎとは、前の要求と次の要求との時間間隔が、規定時間以下であった場合の回数を表す。
【００６３】
つまり、ｎは、人が操作できないと思われる時間間隔で要求が連続した場合に、検索サーバ４０３からのインデックス作成のためと想定されたアクセスの回数を表す。検索サーバ４０３からのインデックス作成のアクセス以外にも、スクリプト処理などで、機械的に処理が行われるものもこのｎの回数に含まれる。後述するが、ユーザが画像形成装置４０２の操作部１０６を操作していても、偶然、高速に要求が連続してしまう可能性もあるため、ｎが規定回数以上の場合のときに、インデックス作成のように機械的にアクセスされていると判断する。
【００６４】
一方、ｔは、ｎとは逆に、前の要求と次の要求との時間間隔が、規定時間を超える場合の回数を表す。すなわち、ｔは、機械的に操作したと思われる時間間隔を超える時間で要求が連続した場合に、ユーザが実際に画像形成装置４０２の操作部１０６やＰＣのファイルサーバにアクセスするアプリケーションを操作していると想定したアクセスの回数を表す。後述するが、検索サーバなどがインデックス作成を実行している場合であっても、ネットワークのトラフィックなどにより、想定した時間以上で要求が連続する可能性もあるため、ｔが規定回数以上の場合のときに、ユーザが操作していると判断する。
【００６５】
また、返答時刻とは、受付けた要求の結果を要求元に返答した時間を表す。前回の要求に対する返答から次の要求までの間隔を求めることによって、機械的なアクセスであるか否かを判定する。
【００６６】
ここで、機械的なアクセスであるか否かを判定する具体例について説明する。
【００６７】
例えば、返答時間を１９７０年１月１日からの経過秒数で表し、８００ミリ秒以内に前回の要求の返答から次の要求があった場合に、機械的なアクセスと判定する。要求元に結果を返答した時間が、２００９年７月３１日１５時４４分６．９３７秒だとすると、１２４９０２２６４６９５３が返答時刻になる。当該セッションからの次の要求が、２００９年７月３１日１５時４４分７．１７９秒だとすると、１９７０年１月１日からの経過秒数は、１２４９０２２６４７２０５になる。前回の要求に対する返答から次の要求までの間隔は、差を求めることで、２５２ミリ秒となる。この値が一定値（８００ミリ秒）以内か否かで機械的なアクセスであるか否かを判定し、この例では、機械的なアクセスと判定される。
【００６８】
なお、上記の例では、時間単位をミリ秒としているが、より精度が高いマイクロ秒など機械的なアクセスと判断するために十分な精度で、アプリケーション２０１へ返答する時刻を記録してもよい。ステップＳ３０５の初期値設定でのｎ，ｔ及び返答時刻は、セッション毎に保持されて、セッション管理部２０４によって管理される。
【００６９】
図６は、セッション管理部２０４が管理するセッション管理テーブルの一例を示す図である。
【００７０】
セッション管理部２０４は、セッションに関する情報をセッション管理テーブルで管理する。セッション管理テーブルは、セッションを識別するためのセッションＩＤ、当該セッションを利用しているユーザ名、当該セッションの優先度、及び前述したｔの値、ｎの値、返答時刻が記録されている。
【００７１】
図６に示すセッション管理テーブルにおいて、例えば、セッションＩＤが１の場合は、ユーザ名が「ｔａｎａｋａ」、優先度が「Ｍｉｄｄｌｅ」、ｔの値が６、ｎの値が０であり、返答時刻が、１２４６８７２４６４．９０３３６２００となる。また、セッションＩＤが５の場合は、ユーザ名が「ｙａｍａｄａ」、優先度が「Ｈｉｇｈ」、ｔの値が１０、ｎの値が１であり、優先度がＨｉｇｈで設定されているので、返答時刻は記録されていない。セッションＩＤが８の場合は、ユーザ名が「ｓｕｚｕｋｉ」、優先度が「Ｌｏｗ」、ｔの値が２、ｎの値が１０であり、優先度がＬｏｗで設定されているので、返答時刻は記録されていない。なお、図６に示すセッション管理テーブルの例における返答時刻は、１９７０年１月１日０時０分００秒からの経過秒数をマイクロ秒単位としている。
【００７２】
ステップＳ３０６では、ＣＰＵ１０１は、優先度管理部２０５により、セッション管理部２０４が管理しているセッション管理テーブルの当該セッションの優先度を「Ｍｉｄｄｌｅ」に設定して、ステップＳ３０７へ進む。
【００７３】
一方、ステップＳ３１０では、ＣＰＵ１０１は、セッション管理部２０４により、自身に保持されたセッション情報を確認して、アプリケーション２０１からの要求に含まれるセッションが有効なセッションかどうかを確認する。そして、ＣＰＵ１０１は、セッション管理部２０４により、有効なセッションであると判断すると、ステップＳ３１１へ進み、有効なセッションで無いと判断すると、ステップＳ３１２へ進む。
【００７４】
ステップＳ３１２では、セッションが無効であるため、ＣＰＵ１０１は、セッション管理部２０４により、エラー処理を実行する。このエラー処理では、セッション管理部２０４がセッションのクリアなどの後処理を行う。エラー処理を実行後、ＣＰＵ１０１は、ステップＳ３２６へ進み、要求受付部２０２により、エラーであった旨の結果を要求元のアプリケーション２０１に返答し、処理を終了する。
【００７５】
ステップＳ３１１では、ＣＰＵ１０１は、要求受付部２０２により、アプリケーション２０１からの要求がログアウト要求か否かを判断し、ログアウト要求である場合は、ステップＳ３１３に進み、ログアウト要求でない場合は、ステップＳ３０７に進む。
【００７６】
ステップＳ３１３では、ＣＰＵ１０１は、セッション管理部２０４により、当該セッションを破棄し、ステップＳ３２６に進む。ステップＳ３２６では、ＣＰＵ１０１は、要求受付部２０２により、ログアウトの処理実行結果を要求元のアプリケーション２０１に返答し、処理を終了する。
【００７７】
ステップＳ３０７では、ＣＰＵ１０１は、優先度管理部２０５により、セッション管理部２０４が管理しているセッション管理テーブルの当該セッションの優先度を確認する。
【００７８】
そして、ＣＰＵ１０１は、当該セッションの優先度が「Ｈｉｇｈ」の場合は、ステップＳ３０８に進み、優先度が「Ｍｉｄｄｌｅ」の場合は、ステップＳ３１４に進み、優先度が「Ｌｏｗ」の場合は、ステップＳ３２２に進む。
【００７９】
ステップＳ３０８では、優先度が「Ｈｉｇｈ」で、当該セッションは、ユーザが操作していると判断されるため、ＣＰＵ１０１は、要求された処理を実行する。ここでは、ＣＰＵ１０１は、物理データアクセス部２０７へ制御を移し、物理データアクセス部２０７により、要求されたデータを操作して、ステップＳ３０９へ進む。
【００８０】
ステップＳ３０９では、ＣＰＵ１０１は、アプリケーション２０１からの要求に対する返答時刻を記録し、ステップＳ３２６へ進む。なお、ステップＳ３０９では、全ての場合に返答時刻を記録するのでなく、優先度が「Ｈｉｇｈ」でない場合にのみ返答時刻を記録するようにしてもよい。
【００８１】
ステップＳ３２６では、ＣＰＵ１０１は、要求受付部２０２により、アプリケーション２０１から要求された処理の実行結果をアプリケーション２０１に返答し、処理を終了する。
【００８２】
ステップＳ３２２以降では、優先度が「Ｌｏｗ」で、当該セッションは、インデックス作成など機械的にアクセスされていると判断されているので、負荷が掛かっていないと判断されたときにのみ、要求された処理を実行することになる。
【００８３】
ステップＳ３２２では、ＣＰＵ１０１は、優先度設定部２０５により、負荷状況管理部２０８へ問い合わせを行い、現在の負荷状況を取得して、負荷が掛かっていないかどうかを判断する。
【００８４】
そして、ＣＰＵ１０１は、負荷が掛かっていなければ、アプリケーション２０１からの要求を実行してもよいので、ステップＳ３０８へ進み、前述した優先度が「Ｈｉｇｈ」の場合と同様にステップＳ３０８、Ｓ３０９、Ｓ３２６の処理を実行し、処理を終了する。
【００８５】
一方、ＣＰＵ１０１は、負荷かが掛かっていると判断した場合は、ステップＳ３２３に進む。
【００８６】
ステップＳ３２３では、ＣＰＵ１０１は、優先度処理部２０５により、処理の実行を一定時間ウェイト（延期）して、ステップＳ３２４へ進む。これにより、当該処理の実行は遅延されることになり、並行して実行しているより優先度の高い他の処理が存在する場合には、当該他の処理の実行が優先される。
【００８７】
ステップＳ３２４では、ＣＰＵ１０１は、優先度処理部２０５により、要求があってから一定時間以上経過したかどうか判断し、一定時間以上経過した場合は、ステップＳ３０２に進み、一定時間以上経過していない場合は、ステップＳ３２２に戻る。
【００８８】
ステップＳ３２５では、ＣＰＵ１０１は、優先度処理部２０５により、タイムアウトエラーの処理を行う。具体的には、ＣＰＵ１０１は、優先度処理部２０５により、次の要求までの間隔を無効にするために、セッション管理部２０４を介して返答時刻を０に設定し、ステップＳ３２６に進む。
【００８９】
ステップＳ３２６では、ＣＰＵ１０１は、要求受付部２０２により、タイムアウトエラーとして要求を実行した処理結果をアプリケーション２０１に返答し、処理を終了する。
【００９０】
ステップＳ３１４以降は、優先度が「Ｍｉｄｄｌｅ」と判断されているので、当該セッションは、インデックス作成などの機械的なアクセスか、ユーザが操作しているのかが判定されていない状態である。
【００９１】
ステップＳ３１４では、ＣＰＵ１０１は、論理データアクセス部２０５により、アプリケーション２０１からの要求がインデックス作成に関する要求であるか否かを判断する。
【００９２】
そして、ＣＰＵ１０１は、インデックス作成に関する要求である場合は、ステップＳ３１６に進み、インデックス作成に関する要求でない場合は、ステップＳ３１５に進む。
【００９３】
一般に、検索サーバ４０３やユーザＰＣ４０４，４０５などの機器におけるインデックス作成の処理は、次のように実行される。
【００９４】
インデックス作成処理を実行する機器は、ファイルサーバに格納されているフォルダ構成を検索しながら、データの属性情報、データの内容取得を行う。
【００９５】
すなわち、インデックス作成処理を実行する機器がインデックス作成のために用いる要求は、フォルダ以下のデータの一覧取得、データ属性取得、データの読み込みに関するものに限定され、データの内容を書き換える編集に関する要求は行わない。
【００９６】
したがって、ステップＳ３１４では、このようなインデックス作成に関わる要求かどうかが判断される。なお、本実施形態では、一般的なインデックス作成処理から上述のようなものをインデックス作成に関わる要求としたが、これに限定されない。実際に利用される検索サーバが要求するインデックス作成の要求を解析して、その要求をインデックス作成に関する要求としても構わない。
【００９７】
例えば、全文検索を行わず、ファイル名や属性だけの検索しか行わない検索サーバがあるとする。ネットワーク４０１に接続されている検索サーバがこのような全文検索の無い検索サーバしかないとする。このような場合は、この検索サーバからは、フォルダ以下のデータ一覧取得、データ属性取得の要求だけが行われる。この場合は、データの内容を読み込む要求は、検索サーバからの要求でないと判断できる。つまり、本実施形態でのステップＳ３１４における判断は、一般的な検索サーバの要求に関するものであるが、これに限定されず、特殊な検索サーバからのインデックス作成の要求に適用することも可能である。
【００９８】
ここで、ステップＳ３１４における判定処理について具体的に説明する。
【００９９】
例えば、アプリケーション２０１が、ファイル共有のプロトコルであるＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）を処理するアプリケーションであるとする。
【０１００】
図１を参照して、ユーザＰＣ４０４，４０５などのクライアントは、ＣＩＦＳプロトコルによって、画像形成装置４０２へデータの取得などの各種アクセスを行う。クライアントから送信されるプロトコルには、コマンドが含まれる。コマンドの一例としては、ファイルの新規作成を依頼する「SMB_COM_CREATE_NEW」やデータの読出しを依頼する「SMB_COM_READ_ANDX」などがある。
【０１０１】
画像形成装置４０２は、ネットワークＩ／Ｆ１１０を介して当該プロトコルを受信し、受信した当該プロトコルは、アプリケーション２０１に渡される。アプリケーション２０１では、受信したプロトコルの解析を行い、コマンドを抽出して、データアクセス処理部２００に対する要求に変換する。例えば、クライアントがデータの作成の画像形成装置４０２に依頼をすると、アプリケーション２０１は、次の処理を行う。
【０１０２】
アプリケーション２０１は、プロトコルを解析した際に、ＣＩＦＳのコマンド「SMB_COM_CREATE_NEW」が含まれているため、図５におけるＦｉｌｅＣｒｅａｔｅのＡＰＩに変換する。
【０１０３】
また、アプリケーション２０１は、データの作成日などの属性を取得する場合は、ＣＩＦＳのコマンド「TRANS2_QUERY_FILE_INFORMATION」が含まれるため、ＧｅｔＡｔｔｒｉｂｕｔｅのＡＰＩに変換する。つまり、アプリケーション２０１は、外部通信プロトコルからデータアクセス処理部２００が解釈できる要求への変換を行う。
【０１０４】
ここで、インデックス作成に関する要求では、データの内容を書き換える編集に関する要求が為されない。従って、図５の「ファイル削除」「ファイル書込み」「ディレクトリ作成」「ディレクトリ削除」「権限変更」「所有者変更」「属性設定」「名称変更」「コピー」の要求の場合は、インデックス作成に関する要求でないと判断できる。
【０１０５】
すなわち、ステップＳ３０１で受付けた要求がこれらの要求のいずれかであれば、論理データアクセス部２０５は、アプリケーション２０１からの要求がインデックス作成に関する要求でないと判断する。このため、ＣＰＵ１０１は、ステップＳ３１４でＮｏと判定して、ステップＳ３１５に進む。逆に、ステップＳ３０１で受け付けた要求が、これらの要求のいずれでもなければ、アプリケーション２０１からの要求がインデックス作成に関する要求でないとは断定できず、インデックス作成に関する要求の可能性がある。この場合は、論理データアクセス部２０５は、アプリケーション２０１からの要求がインデックス作成に関する要求であると判断し、ＣＰＵ１０１は、ステップＳ３１４でＹｅｓと判定して、ステップＳ３１６に進む。
【０１０６】
ステップＳ３１５では、ＣＰＵ１０１は、インデックス作成以外の要求があるので、ユーザが操作しているものと判断し、セッション管理部２０４が管理しているセッション管理テーブルの当該セッションの優先度を「Ｈｉｇｈ」として、ステップＳ３０８へ進む。ステップＳ３０８、Ｓ３０９、Ｓ３２６の処理は、前述した優先度が「Ｈｉｇｈ」の場合と同様である。
【０１０７】
一方、ステップＳ３１６では、ＣＰＵ１０１は、優先度設定部２０５により、前回の要求に対する返答時刻から今回の要求（現在時刻）まで経過時間を算出し、算出した経過時間が一定時間以内であるか否かを判断する。このとき、優先度設定部２０５が経過時間を算出するための前回の要求に対する返答時刻は、セッション管理部２０４に記録され、優先度設定部２０５は、セッション管理部２０４から当該セッションに対する返答時刻を取得する。
【０１０８】
そして、ＣＰＵ１０１は、算出した経過時間が一定時間を超える場合は、機械的なアクセスでなく、ユーザが操作している可能性があるものとして、ステップＳ３１７へ進む。また、ＣＰＵ１０１は、算出した経過時間が一定時間以内の場合は、機械的なアクセスの可能性があるものとして、ステップＳ３１９へ進む。
【０１０９】
ステップＳ３１７では、ＣＰＵ１０１は、優先度管理部２０５により、セッション管理部２０４のセッション管理テーブルで管理しているｔを１だけインクリメントし、ステップＳ３１８に進む。
【０１１０】
ステップＳ３１８では、ＣＰＵ１０１は、優先度管理部２０５により、ｔの値が規定値以上であるか否かを判定する。ｔの値が規定値以上の場合、即ち、ステップＳ３１６で算出した経過時間が一定時間を超えるものが規定回数以上あった場合は、ユーザが操作していると判断される。そこで、ＣＰＵ１０１は、ｔの値が規定値以上と判定した場合は、ステップＳ３１５へ進む。
【０１１１】
ステップＳ３１５では、ＣＰＵ１０１は、セッション管理部２０４が管理しているセッション管理テーブルの当該セッションの優先度を「Ｈｉｇｈ」として、ステップＳ３０８へ進み、要求を実行する。ステップＳ３０８、Ｓ３０９、Ｓ３２６の処理は、前述した優先度が「Ｈｉｇｈ」の場合と同様である。
【０１１２】
一方、ｔの値が規定値未満の場合は、ステップＳ３１６で算出した経過時間は、ユーザが操作している可能性があるが、規定の回数に満たないので、ユーザが操作していると断定できない状態と見做される。従って、ＣＰＵ１０１は、セッションの優先度の変更を行うことなく、ステップＳ３０８へ進む。ステップＳ３０８、Ｓ３０９、Ｓ３２６の処理は、前述した優先度が「Ｈｉｇｈ」の場合と同様である。
【０１１３】
ステップＳ３１９では、ＣＰＵ１０１は、優先度管理部２０５により、セッション管理部２０４のセッション管理テーブルで管理しているｎを１だけインクリメントし、ステップＳ３２０に進む。
【０１１４】
ステップＳ３２０では、ＣＰＵ１０１は、優先度管理部２０５により、ｎの値が規定の値以上であるか否かを判定する。ｔが規定の値以上と判断される場合、即ち、ステップＳ３１６で算出した経過時間が一定時間以内であったものが規定回数以上あった場合は、機械的なアクセスであると判定される。そこで、ＣＰＵ１０１は、ｎの値が規定値以上と判定した場合は、ステップＳ３２１へ進む。
【０１１５】
ステップＳ３２１では、ＣＰＵ１０１は、セッション管理部２０４が管理しているセッション管理テーブルの当該セッションの優先度を「Ｌｏｗ」として、ステップＳ３２２へ進み、負荷が掛かっていない状況でのみ要求を実行する。ステップＳ３２２以降の処理は、前述したステップＳ３０７での優先度「Ｌｏｗ」の場合と同様である。
【０１１６】
一方、ｎの値が規定値未満と判断した場合は、ステップＳ３１６で算出した経過時間は、機械的なアクセスの可能性があるが、規定の回数に満たないので、機械的なアクセスであると断定できない状態と見做される。従って、ＣＰＵ１０１は、セッションの優先度の変更は行うことなく、ステップＳ３０８へ進む。ステップＳ３０８、Ｓ３０９、Ｓ３２６の処理は、前述した優先度が「Ｈｉｇｈ」の場合と同様である。
【０１１７】
なお、図４での処理においては、インデックス作成の要求の判定（Ｓ３１４）と前回の返答から今回の要求までの経過時間の判定（Ｓ３１６）の両方から機械的なアクセスであるか否かの判定を行っているが、いずれか一方で判定しても構わない。また、前回の返答から今回の要求までの経過時間に対するｔやｎの回数を記録して、ｔやｎが規定の回数以上の場合のみを機械的なアクセスか或いはユーザの操作かを判断しているが、ｔやｎに対する規定値を０にして、優先度を設定しても構わない。
【０１１８】
以上説明したように、本実施形態では、外部機器からのインデックス作成のための機械的なアクセスと、ユーザが操作部１０６等を操作している通常のアクセスとが混在した場合でも、インデックス作成のための機械的なアクセスを検出することが可能になる。また、前回の返答から今回の要求までの経過時間が一定時間以内である場合の回数及び一定時間を超える場合の回数を記録することにより、一度だけ前記経過時間が一定時間以内の場合や一定時間を超える場合に優先度が変更されてしまうことが回避することができる。
【０１１９】
これにより、外部機器からのインデックス作成のためのアクセスと、ユーザが操作部１０６等を操作している通常のアクセスとが混在した場合でも、通常のアクセスを優先して処理することが可能となる。この結果、画像形成装置４０２がファイルサーバ機能を有する場合に、画像形成装置４０２にインデックス作成の負荷が掛かっても、画像形成装置４０２の本来の機能である、コピー機能やプリント機能を優先して処理することが可能となる。
【０１２０】
なお、本実施形態では、情報処理装置として画像形成装置を例示したが、これに限定されず、一般的なファイルサーバ機能を持つＰＣなどの情報処理装置にも適用することが可能である。
【０１２１】
（第２の実施形態）
次に、図７〜図９を参照して、本発明の情報処理装置の第２の実施形態である画像形成装置について説明する。なお、上記第１の実施形態に対して重複又は相当する部分については、符号を流用して説明する。
【０１２２】
上記第１の実施形態では、当該セッションに対する現時点でのアプリケーション２０１からの要求がインデックス作成に関する要求であるか否かのみを判断している（図４のステップＳ３１４）。このとき、アプリケーション２０１からの要求がインデックス作成のために検索サーバ４０３がアクセスしてくるパターンと異なる場合でも、機械的なアクセスかどうかの判定までに複数の処理を要することになる。
【０１２３】
そこで、本実施形態では、インデックス作成のためにサーバがアクセスしてくるパターンが判明している場合に、判明しているパターンと異なるアクセスの場合には、直ちにユーザが操作していると判断して優先度を設定する。
【０１２４】
図７に、本実施形態におけるセッション管理テーブルの一例を示す。図７に示すセッション管理テーブルは、上記第１の実施形態におけるセッション管理テーブル（図６）に「前回要求」の項目が追加されている。
【０１２５】
図７において、セッションＩＤが１のものは、前回要求が「GetList（/share/folder）」であり、/share/folderなるフォルダの一覧取得の要求があったことを示す。セッションＩＤが５のものは、前回要求が「WriteData（/user/yamada/abc/foo.txt）」であり、/user/yamada/abc/foo.txtなるデータに対する書込みの要求があったことを示す。
【０１２６】
また、セッションＩＤが８のものは、前回要求が「ReadData（/share/folder/xyz/pqr.doc）[ERROR]」である。これは、/share/folder/xyz/pqr.docなるデータに対する読み込みの要求があったが、エラーで失敗したことを示している。
【０１２７】
図示は省略するが、他の要求を表すものとしては、フォルダ作成「CreateFolder」、属性取得「GetAttr」、属性設定「SetAttr」、対象削除「Delete」などがある。また、それぞれには、対象となるフォルダやデータのパスも指定され、エラーが発生した場合には、「[ERROR]」が付与される。
【０１２８】
図８は、インデックス作成等の機械的なアクセスを示すパターンリストの一例を示す図である。
【０１２９】
図８に示すパターンリストに一致しないアクセスは、ユーザが操作しているものと判断される。なお、パターンリストに一致したアクセスを機械的なアクセスと断定しないのは、ユーザが操作している場合でも、機械的なアクセスと同じパターンでアクセスされることがあるためである。アクセスがパターンリストにマッチした場合は、上記第１の実施形態で説明したように、前回の要求に対する返答から今回の要求までの経過時間を判断することで、機械的なアクセスであるかどうかを決定する。
【０１３０】
パターンリストは、優先度管理部２０５によって管理される。例えば、図８のパターンリストにおいて、矢印（→）は、前回の要求と今回の要求の組合せパターンを示し、コロン（：）は、条件パターンを示す。
【０１３１】
組合せパターン８０１〜８０４では、矢印（→）の前が前回の要求、後ろが今回の要求を表す。組合せパターン８０１は、前回の要求がフォルダ一覧取得「GetList」で、今回の要求がデータ読込み「ReadData」であって、かつGetListで取得対象のフォルダ（/P）の直下のデータ（/P/D）が、データ読込みの対象であることを示す。ここで、/P は、GetListで取得対象のフォルダのパスを表し、Dは、データを表す。
【０１３２】
即ち、/P/D は、GetListで取得対象のフォルダのパスの直下のデータを表す。なお、直下ではないが、あるフォルダ以下のデータの場合は、../D と表す。図８では図示は省略するが、/P/../D であれば、GetListで取得対象のフォルダのパス以下に存在するデータを表す。
【０１３３】
同様に、組合せパターン８０２は、前回の要求がフォルダ一覧取得「GetList」であり、今回の要求が属性取得「GetAttr」であって、かつGetListで取得対象のフォルダ（/P）の直下のデータ（/P/D）が、属性取得の対象であることを示す。組合せパターン８０３は、前回の要求がフォルダ一覧取得「GetList」であり、今回の要求がフォルダ一覧取得「GetList」であって、かつGetListで取得対象のフォルダ（/P）の直下のフォルダ（/P/F）が、属性取得の対象であることを示す。ここで、F とは、フォルダを表すものである。
【０１３４】
組合せパターン８０４は、前回の要求の欄が、「ANY」であり、前回の要求が任意であることを示し、今回の要求がフォルダ一覧取得「GetList」であって、フォルダ一覧取得対象のフォルダがルートフォルダ（/）である。
【０１３５】
また、条件パターン８０５は、コロンの前が条件、後ろが条件を適用される要求である。具体的には、条件パターン８０５は、条件が「RECENT_UPDATETIME」であり、最近の更新されたデータを示す。この条件が適用される要求が、「ReadData」であるので、最近更新されたデータをアクセスするときにパターンに当てはまる。ここで、いつまでを最近とするかは、予め定義しておいても構わないし、アクセスするデータの更新日付から動的に決めるようにしてもよい。つまり、ある日時以後に更新されたものだけをアクセスしたかどうかを判定するパターンとなる。
【０１３６】
パターンリストは、予め画像形成装置４０２の所定の記憶領域に保持しておいても構わないし、画像形成装置４０２の管理者が使用されるインデックス作成のサーバのアクセスを解析してパターンを定義しても構わない。また、本実施形態のパターンリストは、前回の要求と今回の要求の２回の組合せであるが、２回以上の組合せでも構わないし、また、任意の時点の要求の組合せでも構わない。
【０１３７】
次に、図９を参照して、本実施形態の画像形成装置４０２のデータアクセス処理部２００における処理について説明する。図９での各処理は、画像形成装置４０２のＨＤＤ１０４或いはＲＯＭ１０３に記憶されたデータアクセス処理プログラムがＲＡＭ１０２にロードされて、ＣＰＵ１０１によって実行される。なお、図９において、上記第１の実施形態の処理（図４）と重複する部分については、図に同一のステップ番号を付与してその説明を省略する。
【０１３８】
ステップＳ６０１では、セッション管理テーブルに前回要求が追加されたため、ＣＰＵ１０１は、セッション管理部２０４により、初期値として、ｎ及びｔに０を設定し、返答時刻、前回要求をクリアして、ステップＳ３０６に進む。
【０１３９】
ステップＳ６０２では、同様に、セッション管理テーブルに前回要求が追加されたため、ＣＰＵ１０１は、アプリケーション２０１からの要求に対する返答時刻とその要求を記録して、ステップＳ３２６へ進む。
【０１４０】
ステップＳ６０３では、ステップＳ３１４において、優先度管理部２０５が優先度が「Ｍｉｄｄｌｅ」であると判断し、論理データアクセス部２０６がインデックス作成に関する要求であると判断した場合に、処理が実行される。
【０１４１】
ステップＳ６０３では、ＣＰＵ１０１は、優先度管理部２０５により、前回の要求と今回の要求との組合せが図８に示すパターンリストに含まれているか否かを判定する。具体的には、優先度管理部２０５が、セッション管理部２０４が管理するセッション管理テーブルから前回要求を取得し、取得した前回要求と今回の要求との組合せが、優先度管理部２０５が管理するパターンリストのパターンと一致するか否かを判定する。
【０１４２】
そして、ＣＰＵ１０１は、取得した前回要求と今回の要求との組合せがパターンリストのパターンと一致した場合は、機械的なアクセスの可能性があるため、ステップＳ３１６へ進む。また、ＣＰＵ１０１は、取得した前回要求と今回の要求との組合せがパターンリストのパターンと一致しない場合は、機械的なアクセスでない、すなわちユーザが操作していると判断して、ステップＳ３１５へ進み、優先度の変更を行う。
【０１４３】
以上説明したように、本実施形態では、インデックス作成のための検索サーバ４０３等のアクセスが、判明しているパターンと異なるアクセスの場合には、所定の処理を行わずに直ちにユーザが操作していると判断して優先度を高く設定することが可能となる。その他の構成及び作用効果は、上記第１の実施形態と同様である。
【０１４４】
（第３の実施形態）
次に、図１０及び図１１を参照して、本発明の情報処理装置の第３の実施形態である画像形成装置について説明する。なお、上記第１の実施形態に対して重複又は相当する部分については、符号を流用して説明する。
【０１４５】
上記第１の実施形態では、当該セッションに対する現時点の要求がインデックスに関する要求であった場合に、前回の要求の返答からの経過時間が一定時間以内であるか否かを判断している（ステップＳ３１６）。
【０１４６】
一方、インデックス作成を行う検索サーバ４０３等は、要求の返答によって取得した情報毎に処理が異なる。例えば、データの属性取得の場合では、名称や作成日、更新日、所有者などの情報をサーバ内のデータベースに取り込むだけである。ところが、データの内容を取得する場合は、全文検索のために形態素解析やN-Gram法などで取得した内容を解析して、インデックスを作成する。そのため、取得したデータの内容の量に依存して処理時間が掛かるため、次の要求までの間隔が長くなる。
【０１４７】
また、フォルダの一覧取得の場合には、一覧取得した数によって、次の要求までの間隔が変わる。例えば、フォルダの下に一つしかデータがない場合は、一覧取得した後に、直ちにそのデータの取得が行える。しかし、フォルダの下に１００００個のデータやフォルダがある場合には、取得した１００００個の一覧を管理した上で、データ取得や更に配下のフォルダの一覧取得を実施する必要がある。そのため、一覧取得した数によって、次の要求までの間隔が変わる。
【０１４８】
また、インデックス作成を行う検索サーバ４０３等からの要求に要する時間、及び要求の返答に要する時間は、ネットワークのトラフィック量にも依存する。ネットワークのトラフィック量が多くネットワークが混雑している状況では、前回の要求の返答に対して、検索サーバ４０３等が素早く要求しても、画像形成装置４０２までに要求が到達するのに時間が掛かる。
【０１４９】
そこで、本実施形態では、要求の結果に応じて、機械的なアクセスと判断される時間の調整を行い、また、ネットワークのトラフィックの状況も確認して、機械的なアクセスと判断される時間の調整を行う。
【０１５０】
図１０は、本実施形態におけるセッション管理テーブルの一例を示す図である。図１０に示すセッション管理テーブルは、上記第１の実施形態のセッション管理テーブル（図６）に「前回要求」及び「返答サイズ」の項目を追加したものである。
【０１５１】
図１０において、セッションＩＤが１のものは、前回要求が「GetList（/share/folder）」であり、/share/folderなるフォルダの一覧取得の要求があったことは前述した通りであり、GetListによって取得された一覧の数が返答サイズに１８と記載されている。セッションＩＤが５のものは、前回要求が「WriteData（/user/yamada/abc/foo.txt）」であり、/user/yamada/abc/foo.txtなるデータに対する書込みの要求である。この返答サイズは、２００byteであり、２００バイトのデータが返答されたことを示す。
【０１５２】
また、セッションＩＤが８のものは、前回要求が「ReadData（/share/folder/xyz/pqr.doc）[ERROR]」であり、エラーで失敗したため、返答サイズは０である。図示は省略するが、フォルダ作成「CreateFolder」などのように、サイズを返答する必要がないものは、０が設定される。
【０１５３】
また、データの読出しの場合は、アプリケーション２０１からの要求が分割して行われる場合がある。例えば、５００バイトのデータを１００バイトずつ読み出されることがある。この場合、データのオープン、複数回のデータの読出し、データのクローズという手順で要求が行われ、セッション管理テーブルの前回要求に、データの読出し開始（OpenData）、データの読出し終了（CloseData）という項目が記載される。
【０１５４】
/foo/xxx.txtという３００バイトのデータを１００バイトずつ読み出す場合を例にとって説明する。この場合、アプリケーション２０１は、OpenData(/foo/xxx.txt)、ReadData(/foo/xxx.txt) [返答サイズ＝100byte]、ReadData(/foo/xxx.txt) [返答サイズ＝100byte]、ReadData(/foo/xxx.txt) [返答サイズ＝100byte]、CloseData(/foo/xxx.txt)の順に要求を出す。
【０１５５】
次に、図１１を参照して、本実施形態の画像形成装置４０２のデータアクセス処理部２００における処理について説明する。図１１での各処理は、画像形成装置４０２のＨＤＤ１０４或いはＲＯＭ１０３に記憶されたデータアクセス処理プログラムがＲＡＭ１０２にロードされて、ＣＰＵ１０１によって実行される。なお、図１１において、上記第１の実施形態の処理（図４）と重複する部分については、図に同一のステップ番号を付与してその説明を省略する。
【０１５６】
ステップＳ９０１では、セッション管理テーブルに前回要求及び返答サイズが追加されたため、ＣＰＵ１０１は、セッション管理部２０４により、初期値として、ｎ及びｔにゼロを設定し、返答時刻、前回要求、返答サイズをクリアし、ステップＳ３０６に進む。
【０１５７】
ステップＳ９０２では、ＣＰＵ１０１は、論理データアクセス部２０６により、要求に応じた返答サイズを求め、ステップＳ９０３に進む。返答サイズは、例えば、フォルダの一覧取得であれば、一覧取得した数であり、データの読み出しであれば、読み出したサイズである。ここで、図１０のセッション管理テーブルの説明したように、分割してデータが読み出される場合がある。優先度管理部２０５は、セッション管理テーブルの前回の要求がReadDataであり、かつ今回の要求もReadDataである場合には、前回の要求の返答サイズと今回の要求での返答サイズを加算したものをセッション管理テーブルに記載する返答サイズとする。即ち、読出し終了までに合計のサイズが求められることになる。
【０１５８】
ステップＳ９０３では、ＣＰＵ１０１は、セッション管理部２０４により、アプリケーション２０１からの要求に対する返答時刻とその要求、及びステップＳ９０２で算出した返答サイズをセッション管理テーブルに記録し、ステップＳ３２６へ進む。
【０１５９】
ステップＳ９０４では、ステップＳ３１４において、優先度管理部２０５が優先度が「Ｍｉｄｄｌｅ」である判断した場合に、処理が実行される。
【０１６０】
ステップＳ９０４では、ＣＰＵ１０１は、優先度管理２０５により、セッション管理部２０４から取得した前回要求の種別と返答サイズに基づき、ステップＳ３１６での判断のための機械的なアクセスと判断される一定時間の調整を行い、ステップＳ９０５に進む。
【０１６１】
例えば、前回要求がフォルダの一覧取得であり、ｍ件取得されたとする。ステップＳ３１６での判断のための機械的なアクセスと判断する基準となる時間がｓ秒だとすると、例えば、ｍ／１０００を加えたｓ＋ｍ／１０００が調整された機械的なアクセスと判断される時間となる。
【０１６２】
また、データの取得の場合は、図１０及びステップＳ９０２で説明したように、分割してデータが読み込まれるため、データの読出し終了のタイミングで判断する。
【０１６３】
即ち、前回要求がデータの読出し終了であり、読み出されたデータの合計サイズが、ｘバイトとすると、例えば、ｘ/１００を加えたｓ＋ｘ/１００が調整された機械的なアクセスと判断される時間となる。なお、本実施形態では、データ取得の終了のタイミングで機械的なアクセスと判断される時間の調整を行っているが、毎回のデータ読出しのタイミングで調整を行ってもよい。ここで、ステップＳ９０４での一定時間の調整処理は、本発明の第１の調整手段の一例に相当する。
【０１６４】
ステップＳ９０５では、ＣＰＵ１０１は、ネットワークのトラフィックから負荷状況を確認して、ステップＳ９０４と同様に、優先度管理２０５により、機械的なアクセスと判断される一定時間の調整を行い、ステップＳ３１６へ進む。
【０１６５】
例えば、優先度管理部２０５がネットワークＩ／Ｆ１１０を介してパケットをＬＡＮ上の機器に送信して、ネットワークの負荷状況を確認する。この判断の結果、ネットワークの負荷が高いと判断すれば、優先度管理部２０５が機械的なアクセスと判断される時間にネットワークの負荷に応じた値を加算する。ここで、ステップＳ９０５での一定時間の調整処理は、本発明の第２の調整手段の一例に相当する。
【０１６６】
ステップＳ３１６では、前回の要求に対する返答からの経過時間をステップＳ９０４及びステップＳ９０５で調整した値が、機械的なアクセスと判断される一定時間以内であるか否かが判断される。以降は、上記第１の実施形態と同様である。
【０１６７】
以上説明したように、本実施形態では、要求の結果及びネットワークのトラフィック状況に応じて、機械的なアクセスと判断される時間の調整を行うことで、より詳細に機械的なアクセスであるか否かの判定を行うことが可能となる。なお、本実施形態では、要求の結果及びネットワークのトラフィック状況の２つから機械的なアクセスと判断される時間の調整を行ったが、いずれか一方であってもよい。その他の構成及び作用効果は、上記第１の実施形態と同様である。
【０１６８】
（第４の実施形態）
次に、図１２を参照して、本発明の情報処理装置の第４の実施形態である画像形成装置について説明する。なお、上記第１の実施形態に対して重複又は相当する部分については、符号を流用して説明する。
【０１６９】
画像形成装置４０２に対するネットワークを介しての外部機器のアクセスではなく、画像形成装置４０２の操作部１０６をユーザが利用しているときは、画像形成装置４０２の本来の機能であるコピー機能などを使用していると考えられる。この場合は、画像形成装置４０２の負荷が高いものとして、優先度が低い処理は実行しないようし、操作部１０６を利用しているユーザにＣＰＵ１０１の処理能力を割当てるのが好ましい。
【０１７０】
また、画像形成装置４０２では、どのような処理をいつ実行したのかをログで記録している。このログ情報から負荷が予想される時間帯には、予め画像形成装置４０２の負荷が高いものと設定することにより、インデックス作成のために検索サーバ４０３等からのアクセスと考えられる優先度がＬｏｗのアクセスをブロックすることができる。
【０１７１】
図１２は、本実施形態の画像形成装置４０２におけるデータアクセス処理を説明するためのブロック図である。なお、既に説明した図３と重複する部分については、図に同一符号を付して、その説明を省略する。
【０１７２】
図１２に示すように、本実施形態では、複数のアプリケーション１１０１〜１１０３が存在し、そのうちのアプリケーション１１０１のみがデータアクセス処理部２００を利用する。
【０１７３】
操作部処理部１１０７は、操作部Ｉ／Ｆ１０５を介してユーザにより操作部１０６が操作されたイベントなどをアプリケーション１１０１〜１１０３に通知する。アプリケーション１１０１〜１１０３は、操作部処理部１１０７を介して操作部１０６が利用されていることを検知したら、該検知結果を負荷状況管理部２０８に対して通知する。
【０１７４】
また、アプリケーション１１０１〜１１０３は、操作部１０６の利用が終了したことを検知したら、負荷状況管理部２０８に対して操作部１０６の利用が終了したことを通知する。操作部１０６の利用が終了したかどうかの判断は、例えば、画像形成装置４０２を使用時にログインによって認証が必要な場合には、ログアウトのタイミングを操作部１０６の利用が終了したタイミングとすることができる。あるいは、一定時間、操作部１０６が操作されていない場合に、操作部１０６の利用が終了したと判断してもよい。
【０１７５】
負荷状況管理部２０８は、操作部１０６が利用されている通知があるときは、図４のステップＳ３２２において、優先度設定部２０５から負荷状況の問い合わせがあったときに、負荷が掛かっていると返答する。
【０１７６】
なお、本実施形態では、操作部１０６が操作されている場合について説明したが、これに限定されない。例えば、デバイスＩ／Ｆ１０７を介してスキャナ１０８が操作されている場合であったり、不図示の人感センサ等によって、人が画像形成装置の近くにいることを検知するような場合であってもよい。
【０１７７】
アプリケーション１１０１〜１１０３は、それぞれの処理を行ったときにログ管理部１１０４へ処理を行った日時と処理内容を通知する。ログ管理部１１０４は、通知された内容を利用ログ情報として、ログ保管部１１０５に記録する。ログには、いつどのような処理を行ったかという内容が保存される。
【０１７８】
ログ解析部１１０６は、ログ保管部１１０５に保管されたログを解析してどの時間帯で負荷が掛かるのかを判断する。例えば、ログ解析部１１０６は、９時から１０時までは、ログが多く記録されており負荷が高いとか、１２時から１３時は、ログの記録が少なく負荷が低いなどを解析する。なお、ログ解析部１１０６で解析するのは時間帯だけでなく、日付や曜日による違いを解析してもよい。
【０１７９】
図４のステップＳ３２２において、負荷状況管理部２０８に優先度設定部２０５から負荷状況の問い合わせがあったときに、負荷状況の判定と共に、ログ解析部１１０６に対して現在時刻前後において負荷が高くなることが予想されるかの問い合わせを行う。ログ解析部１１０６では、解析結果から負荷状況を予測して、負荷状況管理部２０８に結果を返答する。負荷状況管理部２０８は、現時点では負荷が掛かっていなくても、負荷が高くなることが予想される場合には、優先度管理部２０５に負荷が高いものとして返答する。
【０１８０】
以上説明したように、本実施形態では、操作部１０６を利用しているような明らかにユーザが画像形成装置４０２を使用している場合に、インデックス作成を行う検索サーバ４０３からのアクセス等の優先度が低い処理をブロックすることが可能となる。また、操作部１０６が操作されたログを保持、解析することにより、負荷を予測して、負荷が高くなると予想されるときに、事前にインデックス作成を行う検索サーバ４０３からのアクセス等の優先度が低い処理をブロックすることが可能となる。その他の構成及び作用効果は、上記第１の実施形態と同様である。
【０１８１】
（第５の実施形態）
次に、図１３及び図１４を参照して、本発明の情報処理装置の第５の実施形態である画像形成装置について説明する。なお、上記第１の実施形態に対して重複又は相当する部分については、符号を流用して説明する。
【０１８２】
上記第１の実施形態では、インデックス作成を行う検索サーバ４０３等からのアクセスは、データアクセス処理部２００にログインした状態で連続して行われる場合を想定している。つまり、一旦データアクセス処理部２００にログインすると、インデックス作成を行う検索サーバ４０３等は、インデックス作成が終了するまでログアウトせずに画像形成装置４０２にアクセスする。しかし、検索サーバ等によっては、１つの処理、あるいはいくつかの処理毎にログイン、ログアウトを繰り返してアクセスする可能性がある。
【０１８３】
この場合、上記第１の実施形態におけるセッション管理では、セッション管理テーブルに管理されている情報がログアウトの時点で破棄されるので、機械的なアクセスであるかどうか判断できなくなる。そこで、本実施形態では、仮想的なセッションによってデータアクセス処理を行う。
【０１８４】
図１３は、本実施形態におけるセッション管理テーブルの一例を示す図である。このセッション管理テーブルは、図６のセッション管理テーブルに「アドレス」「ログアウト」の項目を追加したものである。ただし、図１３のセッション管理テーブルは、仮想セッションを扱うもので、セッションＩＤが１のものは、ＩＰアドレスが「192.168.3.42」であり、このアドレスの機器からアクセスがあったことを示す。また、ログアウト欄は、「No」であり、ログアウトの要求は行われていない。
【０１８５】
セッションＩＤが５のものは、ＩＰアドレスが「192.169.2.186」、セッションＩＤが８のものは、ＩＰアドレスが「192.168.74.93」の機器からアクセスがあったことを示す。このように、アクセスのあった機器のＩＰアドレスを記録することによって、同一機器からのアクセスを仮想的なセッションと見做す。なお、セッション管理テーブルに記録される情報は、アドレスに限定されるものではなく、他の情報によって機器を特定しても構わない。
【０１８６】
また、セッションＩＤが５のものはログアウト欄が「Yes」であり、ログアウトの要求があり、ログアウトされている。また、セッション管理テーブルには、ログアウトされているか否かを記録しておき、ログアウトされたセッションも記録したままにしておく。上記第１の実施形態では、ログアウトの要求の場合は、返答時間について記録していなかったが、本実施形態では、返答時間についてもセッション管理テーブルに記録する。そして、セッション管理部２０４が一定時間ごとにセッション管理テーブルを確認して、ログアウト欄が「Yes」であり、その返答時間から一定時間を経過したものをセッション管理テーブルから削除する。これにより、ログアウト後に無駄なセッション情報がセッション管理テーブルに残ることを防ぐことができる。
【０１８７】
次に、図１４を参照して、本実施形態の画像形成装置４０２のデータアクセス処理部２００における処理について説明する。図１４での各処理は、画像形成装置４０２のＨＤＤ１０４或いはＲＯＭ１０３に記憶されたデータアクセス処理プログラムがＲＡＭ１０２にロードされて、ＣＰＵ１０１によって実行される。なお、図１４において、上記第１の実施形態の処理（図４）と重複する部分については、図に同一のステップ番号を付与してその説明を省略する。
【０１８８】
ステップＳ１３０１では、ＣＰＵ１０１は、要求受付部２０２により、ステップＳ３０１で受付けた要求がログアウト要求であるか否かを判断し、ログアウト要求であれば、図１３０２に進み、ログアウト要求でなければ、ステップＳ１３０３に進む。
【０１８９】
ステップＳ１３０２では、ＣＰＵ１０１は、セッション管理部２０４により、セッション管理テーブルの当該セッションに対するログアウト欄をYesにし、ステップＳ３０９に進む。本実施形態では、ステップＳ３０９でログアウトの返答時間もセッション管理テーブルに記録し、ステップＳ３２６へ進む。
【０１９０】
ステップＳ１３０３では、ＣＰＵ１０１は、セッション管理部２０４により、セッション管理テーブルを探索し、以前に同一のアドレス、ユーザでアクセスがあったか確認する。そして、ＣＰＵ１０１は、以前に同一のアドレス、ユーザによるアクセスが無い場合は、ステップＳ１３０４へ進み、アクセスがある場合は、ステップＳ１３０９へ進む。
【０１９１】
ステップＳ１３０４では、ＣＰＵ１０１は、要求受付部２０２により、ステップＳ３０１で受付けた要求がログイン要求であるか否かを判断する。そして、ＣＰＵ１０１は、ログイン要求で無いと判断した場合は、ログイン無しにデータへのアクセスが行われているので、ステップＳ１３０５へ進み、セッション管理部２０４によりエラー処理を行ってステップＳ３２６へ進む。また、ＣＰＵ１０１は、ログイン要求と判断した場合は、ステップＳ１３０６へ進む。
【０１９２】
ステップＳ１３０６では、ＣＰＵ１０１は、ログイン処理部２０３により、ログイン処理を実行するが、これは、図４のステップＳ３０３の処理と同等であり、ログイン処理を実行後に、ステップＳ１３０７へ進む。
【０１９３】
ステップＳ１３０７では、ＣＰＵ１０１は、セッション管理部２０４により、前述したアドレス、ユーザ名を基に、セッションをセッション管理テーブル内に生成し、ステップＳ１３０８に進む。
【０１９４】
ステップＳ１３０８では、ＣＰＵ１０１は、セッション管理部２０４により、初期値として、ｎ及びｔにゼロを設定し、返答時刻をクリアし、ログアウト欄をNoにして、ステップＳ３０６へ進む。
【０１９５】
一方、ステップＳ１３０９では、ＣＰＵ１０１は、要求受付部２０２により、ステップＳ３０１で受付けた要求がログイン要求であるか否かを判断する。そして、ＣＰＵ１０１は、ログイン要求であると判断した場合は、ステップＳ１３１０へ進み、ログイン要求でないと判断した場合は、ステップＳ１３１４へ進む。
【０１９６】
ステップＳ１３１０では、ＣＰＵ１０１は、セッション管理部２０４により、セッションテーブル内の当該アドレス、当該ユーザのセッションのログアウト欄がYesであるかどうか判断する。そして、ＣＰＵ１０１は、ログアウト欄がYesでなければ、ログアウトしていないのに再度ログインを実行しているため、ステップＳ１３１１でセッション管理部２０４によりエラー処理を実行して、ステップＳ３２６へ進む。また、ＣＰＵ１０１は、ログアウト欄がYesであれば、ステップＳ１３１２へ進む。
【０１９７】
ステップＳ１３１２では、ＣＰＵ１０１は、ログイン処理部２０３により、ログイン処理を実行するが、これは、図４のステップＳ３０３の処理と同等であり、ログイン処理を実行後に、ステップＳ１３１３へ進む。
【０１９８】
ステップＳ１３１３では、ＣＰＵ１０１は、セッション管理部２０４により、新たなセッションを生成せずに、当該アドレス、当該ユーザのセッションに対するログアウト欄をNoに変更し、ステップＳ１３１４に進む。
【０１９９】
ステップＳ１３１４では、ＣＰＵ１０１は、当該アドレス、当該ユーザのセッション情報を読み出して、ステップＳ３０４に進む。
【０２００】
以上説明したように、本実施形態では、同一アドレス、同一ユーザからの一定時間内のアクセスは、ログイン、ログアウトを繰り返されるような場合でも、同一セッションと見做すことが可能となる。したがって、そのようなアクセスを行う検索サーバ４０３等であっても機械的なアクセスか否かを判断できるようになる。その他の構成及び作用効果は、上記第１の実施形態と同様である。
【０２０１】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【０２０２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【符号の説明】
【０２０３】
２００  データアクセス処理部
２０１  アプリケーション
２０２  要求受付部
２０３  ログイン処理部
２０４  セッション管理部
２０５  優先度管理部
２０６  論理データアクセス部
２０７  物理データアクセス部
２０８  負荷状況管理部
２０９  物理データ格納部
【図１】
2011133981.tif 000003
【図２】
2011133981.tif 000004
【図３】
2011133981.tif 000005
【図４ａ】
2011133981.tif 000006
【図４ｂ】
2011133981.tif 000007
【図４ｃ】
2011133981.tif 000008
【図５】
2011133981.tif 000009
【図６】
2011133981.tif 000010
【図７】
2011133981.tif 000011
【図８】
2011133981.tif 000012
【図９ａ】
2011133981.tif 000013
【図９ｂ】
2011133981.tif 000014
【図９ｃ】
2011133981.tif 000015
【図１０】
2011133981.tif 000016
【図１１ａ】
2011133981.tif 000017
【図１１ｂ】
2011133981.tif 000018
【図１１ｃ】
2011133981.tif 000019
【図１２】
2011133981.tif 000020
【図１３】
2011133981.tif 000021
【図１４ａ】
2011133981.tif 000022
【図１４ｂ】
2011133981.tif 000023
【図１４ｃ】
2011133981.tif 000024