(57)【要約】      （修正有）【課題】装置コストを上昇させることなく、しかもジョブの実行効率を低下させることもなく、旧バージョンのパターンファイルを新バージョンに更新できるようにする。【解決手段】情報処理装置は、ウイルスを検出するためのパターンファイル２２ａを記憶する記憶部を有するメモリと、記憶部に記憶されているパターンファイル２２ａを所定の記憶領域１１ｘに展開し、そのパターンファイル２２ａを参照してウイルス検出処理を実行するウイルス検出部４１と、新バージョンのパターンファイルをダウンロードして記憶部に保存するダウンロード部４２と、ダウンロード部４２によるダウンロードが完了した後、ウイルス検出部４１によるウイルス検出処理が行われていないことを条件として所定の記憶領域１１ｘに展開されているパターンファイル２２ａを新バージョンのパターンファイルに更新するファイル更新部４３と、を有するＣＰＵで構成される制御部を備える。【選択図】図３
2020086687.tif 000002
【特許請求の範囲】
【請求項１】
ウイルスの有無を検出するためのパターンファイルを記憶する記憶手段と、
前記記憶手段に記憶されているパターンファイルを所定の記憶領域に展開し、前記所定の記憶領域に展開されたパターンファイルを参照してウイルス検出処理を実行するウイルス検出手段と、
新バージョンのパターンファイルをダウンロードして前記記憶手段に保存するダウンロード手段と、
前記ダウンロード手段によるダウンロードが完了した後、前記ウイルス検出手段によるウイルス検出処理が行われていないことを条件として前記所定の記憶領域に展開されているパターンファイルを新バージョンのパターンファイルに更新するファイル更新手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ファイル更新手段は、前記ウイルス検出手段を再起動させることより、前記記憶手段に記憶されている新バージョンのパターンファイルを前記所定の記憶領域に展開させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に前記ウイルス検出手段によるウイルス検出処理が行われている場合、パターンファイルの更新を保留することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記ファイル更新手段は、パターンファイルの更新を保留している状態において、前記ウイルス検出手段によるウイルス検出処理が終了した後、パターンファイルの更新を開始することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ウイルス検出処理が行われた後に前記ウイルス検出処理が行われたデータに基づいて予め指定された処理を実行するデータ処理手段、
を更に備え、
前記ファイル更新手段は、前記データ処理手段による処理に要する時間が所定時間以上である場合にパターンファイルの更新を開始することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時にパターンファイルの更新を保留し、所定の動作状態へ移行するときにパターンファイルの更新を開始することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項７】
通電状態を通常通電状態から省電力状態に移行させる通電制御手段、
を更に備え、
前記ファイル更新手段は、前記通電制御手段によって通電状態が前記省電力状態へ移行するときにパターンファイルの更新を開始することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
ユーザーによって指定されたジョブを実行するジョブ制御手段、
を更に備え、
前記ファイル更新手段は、前記ジョブ制御手段によるジョブの実行状態へ移行するときにパターンファイルの更新を開始することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
ユーザーによって指定されたジョブを実行するジョブ制御手段、
を更に備え、
前記ファイル更新手段は、前記ジョブ制御手段によるジョブの実行が中断されるときにパターンファイルの更新を開始することを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
前記ジョブ制御手段は、ジョブの実行中にジョブの実行を継続させることができないエラーが発生した場合にジョブの実行を中断することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
ジョブを受け付けるジョブ受付手段と、
前記ジョブ受付手段によって受け付けられたジョブを実行するジョブ制御手段と、
前記ジョブ制御手段によるジョブの実行中に前記ジョブ受付手段によってジョブが受け付けられた場合に待ち行列に登録してジョブを管理するジョブ管理手段と、
を更に備え、
前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に、前記待ち行列に前記ウイルス検出処理を行わないジョブが登録されている場合、前記ウイルス検出処理を行わないジョブを優先的に前記ジョブ制御手段に実行させ、前記ジョブ制御手段によって前記ウイルス検出処理を行わないジョブが実行されているときにパターンファイルの更新を行うことを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項１２】
前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に前記ウイルス検出手段によるウイルス検出処理が行われている場合、前記ウイルス検出処理を停止させ、前記ジョブ制御手段によって前記ウイルス検出処理を行わないジョブが実行されているときにパターンファイルの更新を行うことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
ジョブを受け付けるジョブ受付手段と、
前記ジョブ受付手段によって受け付けられたジョブを実行するジョブ制御手段と、
を更に備え、
前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に、前記ジョブ受付手段に対して前記ウイルス検出処理を行うジョブの受け付けを禁止してパターンファイルの更新を行うことを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項１４】
前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に前記ウイルス検出手段によるウイルス検出処理が行われている場合、前記ウイルス検出処理を停止させてパターンファイルの更新を行うことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記ウイルス検出手段は、前記ファイル更新手段によってパターンファイルの更新が行われた後に、停止させた前記ウイルス検出処理を再度実行することを特徴とする請求項１２又は１４に記載の情報処理装置。
【請求項１６】
前記ジョブ受付手段は、前記ファイル更新手段によって前記ウイルス検出処理を行うジョブの受け付けが禁止されているとき、前記ウイルス検出処理を行わないジョブを受け付けることが可能であり、
前記ジョブ制御手段は、前記ファイル更新手段によってパターンファイルの更新が行われているときに前記ジョブ受付手段によって前記ウイルス検出処理を行わないジョブが受け付けられた場合、前記ファイル更新手段によるパターンファイルの更新と並行して前記ウイルス検出処理を行わないジョブを実行することを特徴とする請求項１３又は１４に記載の情報処理装置。
【請求項１７】
前記ファイル更新手段は、前記ダウンロード手段によるダウンロードが完了した後においてユーザーによるファイル更新指示を検知した場合にパターンファイルの更新を開始することを特徴とする請求項１乃至１６のいずれかに記載の情報処理装置。
【請求項１８】
コンピュータに、
ウイルスの有無を検出するためのパターンファイルを予め所定の記憶手段に格納しておくステップと、
前記記憶手段に記憶されているパターンファイルを読み出して所定の記憶領域に展開し、前記所定の記憶領域に展開されたパターンファイルを参照してウイルス検出処理を実行するウイルス検出ステップと、
新バージョンのパターンファイルをダウンロードして前記記憶手段に保存するダウンロードステップと、
前記ダウンロードステップによるダウンロードが完了した後、前記ウイルス検出ステップによるウイルス検出処理が行われていないことを条件として前記所定の記憶領域に展開されているパターンファイルを新バージョンのパターンファイルに更新するファイル更新ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関し、特にウイルスの有無を検出するためのパターンファイルを更新する技術に関する。
【背景技術】
【０００２】
オフィスに設置されるＭＦＰ（Multifunction Peripherals）などの情報処理装置は、複数のユーザーによって共有される装置であり、スキャン機能、印刷機能、コピー機能などの複数の機能を備えており、ユーザーによって選択された機能に対応するジョブを実行する。また、情報処理装置は、ＬＡＮ（Local Area Network）などのネットワークに接続されており、ジョブの実行対象となるデータを外部から取得したり、ジョブの実行によって生成したデータや内部に保持しているデータを外部へ送信したりすることができる。
【０００３】
このような情報処理装置が万一コンピュータウイルスに感染してしまうと、ネットワークに接続されている他の機器に対してウイルス感染を蔓延させてしまったり、或いは、顧客情報などの秘密情報を流出させてしまったりする可能性がある。そのため、近年では、ＭＦＰなどの情報処理装置においても、一般的なパーソナルコンピュータ（ＰＣ）などと同様に、ウイルス感染を防止するためのウイルス検出アプリケーションを常駐させておくことが望まれる。
【０００４】
ウイルス検出アプリケーションは、ウイルスが定義されたパターンファイルをサーバーからダウンロードしておき、そのパターンファイルを参照することによってウイルス検出処理を実行する。一方、サーバーで管理されるパターンファイルは、新たに出現するウイルスを検出可能とするためにベンダーによって日々更新される。つまり、パターンファイルは、新たなウイルスを定義した情報が追加されることによって逐次バージョンアップされていく。そのため、ウイルス検出アプリケーションは、サーバーに対して定期的にアクセスし、サーバーで管理されているパターンファイルがバージョンアップされているか否かを確認する。その結果、パターンファイルがバージョンアップされている場合、ウイルス検出アプリケーションは、新バージョンのパターンファイルをサーバーからダウンロードし、ウイルス検出処理において参照するパターンファイルを更新する。これにより、ウイルス検出アプリケーションは、ウイルス検出処理において新バージョンのパターンファイルに定義されている新たなウイルスを検出することができるようになる。
【０００５】
ところで、従来、旧バージョンのプログラムを新バージョンのプログラムに更新するために２つのメモリを使用する技術が提案されている（例えば特許文献１）。この従来技術では、２つのメモリのうちの一方のメモリをＣＰＵが読み込んで実行するプログラムを格納するためのメモリとして使用し、他方のメモリを新バージョンのプログラムのダウンロード用メモリとして使用する。新バージョンのプログラムのダウンロードが完了すると、ユーザーによるリセット操作で装置を再起動したり、或いは、ＣＰＵの自己リセット機能を利用して装置を再起動することにより、新バージョンのプログラムがロードされるようになる。
【０００６】
また、従来、ファームウェアをバージョンアップするためにメモリ領域を２面構成とする方法が提案されている（例えば特許文献２）。この従来技術では、２面構成の一方のメモリ領域に旧バージョンのファームウェアを記憶しておき、その旧バージョンのファームウェアによる制御の実行中に、新バージョンのファームウェアを他方のメモリ領域にダウンロードする。そして旧バージョンのファームウェアと新バージョンのファームウェアとをマルチタスク処理によって同時並行的に実行し、両バージョンのファームウェアの同期がとれたタイミングで新バージョンのファームウェアへ切り替えることにより、バージョンアップを行う手法が採用されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−１０３４００号公報
【特許文献２】特開平１１−７３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述の従来技術はいずれも新バージョンのファイルをダウンロードすると、ＣＰＵが制御動作中に高速アクセスするメモリに保存するため、メモリ容量として、旧バージョンのファイルと新バージョンのファイルとの双方を記憶するのに十分な容量が必要である。しかしながら、ウイルス検出用のパターンファイルは、新たなウイルスを定義した情報が追加されることによってバージョンアップされるため、新バージョンのパターンファイルの容量が旧バージョンのパターンファイルの容量よりも大きくなるのが一般的である。そのため、新バージョンのパターンファイルを旧バージョンのパターンファイルと共にメモリに保存するようにすると、予め将来のバージョンアップを見込んでメモリを大容量化しておかなければならず、装置コストが上昇するという問題がある。
【０００９】
また、ＭＦＰなどの情報処理装置は、ネットワークを介して外部の装置から印刷ジョブを受信すると、その印刷ジョブを実行し、印刷ジョブに含まれるデータに基づいて印刷出力を行う。この場合、ウイルス検出アプリケーションは、情報処理装置において印刷ジョブの実行が開始される前に、印刷ジョブに含まれるデータにウイルスが含まれているか否かを判別するためのウイルス検出処理を実行する。そのため、例えばウイルス検出処理の実行中に新バージョンのパターンファイルのダウンロードが完了し、新バージョンのパターンファイルを適用するためにウイルス検出アプリケーションの再起動が開始すると、現在実行中のウイルス検出処理が途中で停止してしまい、受信したデータに対するウイルス検出処理が未完のまま終了してしまうという問題がある。
【００１０】
また、ウイルス検出処理が途中で停止した場合にはウイルス検出アプリケーションが再起動した後に再度ウイルス検出処理を行うようにすることも考えられる。しかし、その場合、情報処理装置が印刷ジョブを受信してから印刷ジョブの実行を開始するまでの時間が長くなり、ジョブの実行効率が低下するという問題がある。
【００１１】
そこで本発明は、上述した課題を解決するためになされたものであり、装置コストを上昇させることなく、しかもジョブの実行効率を低下させることもなく、旧バージョンのパターンファイルを新バージョンに更新できるようにした情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、請求項１に係る発明は、情報処理装置であって、ウイルスの有無を検出するためのパターンファイルを記憶する記憶手段と、前記記憶手段に記憶されているパターンファイルを所定の記憶領域に展開し、前記所定の記憶領域に展開されたパターンファイルを参照してウイルス検出処理を実行するウイルス検出手段と、新バージョンのパターンファイルをダウンロードして前記記憶手段に保存するダウンロード手段と、前記ダウンロード手段によるダウンロードが完了した後、前記ウイルス検出手段によるウイルス検出処理が行われていないことを条件として前記所定の記憶領域に展開されているパターンファイルを新バージョンのパターンファイルに更新するファイル更新手段と、を備えることを特徴とする構成である。
【００１３】
請求項２に係る発明は、請求項１の情報処理装置において、前記ファイル更新手段は、前記ウイルス検出手段を再起動させることより、前記記憶手段に記憶されている新バージョンのパターンファイルを前記所定の記憶領域に展開させることを特徴とする構成である。
【００１４】
請求項３に係る発明は、請求項１又は２の情報処理装置において、前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に前記ウイルス検出手段によるウイルス検出処理が行われている場合、パターンファイルの更新を保留することを特徴とする構成である。
【００１５】
請求項４に係る発明は、請求項３の情報処理装置において、前記ファイル更新手段は、パターンファイルの更新を保留している状態において、前記ウイルス検出手段によるウイルス検出処理が終了した後、パターンファイルの更新を開始することを特徴とする構成である。
【００１６】
請求項５に係る発明は、請求項４の情報処理装置において、前記ウイルス検出処理が行われた後に前記ウイルス検出処理が行われたデータに基づいて予め指定された処理を実行するデータ処理手段、を更に備え、前記ファイル更新手段は、前記データ処理手段による処理に要する時間が所定時間以上である場合にパターンファイルの更新を開始することを特徴とする構成である。
【００１７】
請求項６に係る発明は、請求項１乃至３のいずれかの情報処理装置において、前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時にパターンファイルの更新を保留し、所定の動作状態へ移行するときにパターンファイルの更新を開始することを特徴とする構成である。
【００１８】
請求項７に係る発明は、請求項６の情報処理装置において、通電状態を通常通電状態から省電力状態に移行させる通電制御手段、を更に備え、前記ファイル更新手段は、前記通電制御手段によって通電状態が前記省電力状態へ移行するときにパターンファイルの更新を開始することを特徴とする構成である。
【００１９】
請求項８に係る発明は、請求項６の情報処理装置において、ユーザーによって指定されたジョブを実行するジョブ制御手段、を更に備え、前記ファイル更新手段は、前記ジョブ制御手段によるジョブの実行状態へ移行するときにパターンファイルの更新を開始することを特徴とする構成である。
【００２０】
請求項９に係る発明は、請求項６の情報処理装置において、ユーザーによって指定されたジョブを実行するジョブ制御手段、を更に備え、前記ファイル更新手段は、前記ジョブ制御手段によるジョブの実行が中断されるときにパターンファイルの更新を開始することを特徴とする構成である。
【００２１】
請求項１０に係る発明は、請求項９の情報処理装置において、前記ジョブ制御手段は、ジョブの実行中にジョブの実行を継続させることができないエラーが発生した場合にジョブの実行を中断することを特徴とする構成である。
【００２２】
請求項１１に係る発明は、請求項１乃至３のいずれかの情報処理装置において、ジョブを受け付けるジョブ受付手段と、前記ジョブ受付手段によって受け付けられたジョブを実行するジョブ制御手段と、前記ジョブ制御手段によるジョブの実行中に前記ジョブ受付手段によってジョブが受け付けられた場合に待ち行列に登録してジョブを管理するジョブ管理手段と、を更に備え、前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に、前記待ち行列に前記ウイルス検出処理を行わないジョブが登録されている場合、前記ウイルス検出処理を行わないジョブを優先的に前記ジョブ制御手段に実行させ、前記ジョブ制御手段によって前記ウイルス検出処理を行わないジョブが実行されているときにパターンファイルの更新を行うことを特徴とする構成である。
【００２３】
請求項１２に係る発明は、請求項１１の情報処理装置において、前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に前記ウイルス検出手段によるウイルス検出処理が行われている場合、前記ウイルス検出処理を停止させ、前記ジョブ制御手段によって前記ウイルス検出処理を行わないジョブが実行されているときにパターンファイルの更新を行うことを特徴とする構成である。
【００２４】
請求項１３に係る発明は、請求項１乃至３のいずれかの情報処理装置において、ジョブを受け付けるジョブ受付手段と、前記ジョブ受付手段によって受け付けられたジョブを実行するジョブ制御手段と、を更に備え、前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に、前記ジョブ受付手段に対して前記ウイルス検出処理を行うジョブの受け付けを禁止してパターンファイルの更新を行うことを特徴とする構成である。
【００２５】
請求項１４に係る発明は、請求項１３の情報処理装置において、前記ファイル更新手段は、前記ダウンロード手段によるダウンロード完了時に前記ウイルス検出手段によるウイルス検出処理が行われている場合、前記ウイルス検出処理を停止させてパターンファイルの更新を行うことを特徴とする構成である。
【００２６】
請求項１５に係る発明は、請求項１２又は１４の情報処理装置において、前記ウイルス検出手段は、前記ファイル更新手段によってパターンファイルの更新が行われた後に、停止させた前記ウイルス検出処理を再度実行することを特徴とする構成である。
【００２７】
請求項１６に係る発明は、請求項１３又は１４の情報処理装置において、前記ジョブ受付手段は、前記ファイル更新手段によって前記ウイルス検出処理を行うジョブの受け付けが禁止されているとき、前記ウイルス検出処理を行わないジョブを受け付けることが可能であり、前記ジョブ制御手段は、前記ファイル更新手段によってパターンファイルの更新が行われているときに前記ジョブ受付手段によって前記ウイルス検出処理を行わないジョブが受け付けられた場合、前記ファイル更新手段によるパターンファイルの更新と並行して前記ウイルス検出処理を行わないジョブを実行することを特徴とする構成である。
【００２８】
請求項１７に係る発明は、請求項１乃至１６のいずれかの情報処理装置において、前記ファイル更新手段は、前記ダウンロード手段によるダウンロードが完了した後においてユーザーによるファイル更新指示を検知した場合にパターンファイルの更新を開始することを特徴とする構成である。
【００２９】
請求項１８に係る発明は、プログラムであって、コンピュータに、ウイルスの有無を検出するためのパターンファイルを予め所定の記憶手段に格納しておくステップと、前記記憶手段に記憶されているパターンファイルを読み出して所定の記憶領域に展開し、前記所定の記憶領域に展開されたパターンファイルを参照してウイルス検出処理を実行するウイルス検出ステップと、新バージョンのパターンファイルをダウンロードして前記記憶手段に保存するダウンロードステップと、前記ダウンロードステップによるダウンロードが完了した後、前記ウイルス検出ステップによるウイルス検出処理が行われていないことを条件として前記所定の記憶領域に展開されているパターンファイルを新バージョンのパターンファイルに更新するファイル更新ステップと、を実行させることを特徴とする構成である。
【発明の効果】
【００３０】
本発明によれば、装置コストを上昇させることなく、しかもジョブの実行効率を低下させることもなく、旧バージョンのパターンファイルを新バージョンに更新することができるようになる。
【図面の簡単な説明】
【００３１】
【図１】情報処理システムの外観構成の一例を示す図である。
【図２】情報処理装置のハードウェア構成の一例を示す図である。
【図３】制御部の機能構成の一例を示すブロック図である。
【図４】ウイルス検出処理が行われるジョブとウイルス検出処理が行われないジョブとを例示する図である。
【図５】ダウンロード部による処理の概念を説明する図である。
【図６】ファイル更新処理の概念を説明する図である。
【図７】ウイルス検出プログラムのインストール時の処理手順を示すフローチャートである。
【図８】ウイルス検出部による処理手順の一例を示すフローチャートである。
【図９】ダウンロード部による処理手順の一例を示すフローチャートである。
【図１０】ファイル更新部による処理手順の一例を示すフローチャートである。
【図１１】ウイルス検出処理とファイル更新処理との関係を示すタイミングチャートである。
【図１２】ジョブ実行処理とファイル更新処理との関係を示すタイミングチャートである。
【図１３】第２実施形態のファイル更新部によるファイル更新処理の例を示すフローチャートである。
【図１４】第３実施形態のファイル更新部によるファイル更新処理の例を示すフローチャートである。
【図１５】第４実施形態のファイル更新部によるファイル更新処理の例を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する要素には同一符号を付しており、それらについての重複する説明は省略する。
【００３３】
（第１実施形態）
図１は、本発明の第１実施形態である情報処理システム１の外観構成の一例を示す図である。情報処理システム１は、情報処理装置２と、外部装置３と、サーバー４とを備えており、これらがＬＡＮなどのネットワーク５を介して相互に通信を行うことができる構成である。情報処理装置２と外部装置３とは例えばオフィスなどのローカル環境に設置される。サーバー４は、情報処理装置２と同様のローカル環境に設置されていても良いし、インターネット上のクラウドに設置されていても良い。尚、サーバー４がクラウド上に設置される場合、ネットワーク５は図示を省略するルーターなどを介してインターネットに接続される構成とすれば良い。
【００３４】
情報処理装置２は、例えばＭＦＰなどの画像処理装置によって構成され、コピー機能、スキャン機能、印刷機能及びＦＡＸ機能など画像処理に関する複数の機能を有している。この情報処理装置２は、ユーザーが操作するための操作パネル７を備えている。情報処理装置２は、操作パネル７に対して行われるユーザーに操作に基づき、上述した複数の機能のうちから一つの機能を選択的に動作させ、ユーザーによって指定されたジョブを実行する。例えば、情報処理装置２は、操作パネル７に対するユーザーの操作に基づき、コピージョブやスキャンジョブ、印刷ジョブ、ＦＡＸ送受信ジョブなどを行うことができる。
【００３５】
また、情報処理装置２は、スキャナ部８とプリンタ部９とを備えている。スキャナ部８は、コピージョブ又はスキャンジョブの実行時にユーザーによってセットされた原稿を光学的に読み取って原稿に対応する画像データを生成するものである。プリンタ部９は、コピージョブ又は印刷ジョブの実行時に印刷対象となる画像データに基づいて印刷用紙などのシート材に画像形成を行うことにより印刷出力を行うものである。
【００３６】
例えば、ユーザーによってコピージョブの実行が指示された場合、情報処理装置２は、スキャナ部８を駆動して原稿を読み取り、原稿の画像データをプリンタ部９へ出力する。そして情報処理装置２は、プリンタ部９を駆動して原稿の画像データに基づく印刷出力を行う。このようなコピージョブでは、情報処理装置２と外部装置３とのデータの送受信は行われない。
【００３７】
また例えば、情報処理装置２は、ネットワーク５を介して外部装置３から印刷ジョブを受信すると、プリンタ部９を駆動して印刷ジョブを実行することにより、印刷ジョブに含まれるデータに基づく印刷出力を行うことができる。情報処理装置２が外部装置３から受信するデータは印刷ジョブに限られない。例えば、情報処理装置２は、外部装置３からＦＡＸ送信用のデータを受信することがある。ＦＡＸ送信用のデータを受信すると、情報処理装置２は、そのデータに基づきＦＡＸ送信ジョブを実行する。また、情報処理装置２は、情報処理装置２において単に保存しておくためのデータを外部装置３から受信することもある。この場合、情報処理装置２は、外部装置３から保存用のデータを受信すると、そのデータを内部に保存する。
【００３８】
また、情報処理装置２は、ウイルスを検出するウイルス検出機能を備えており、外部装置３からデータを受信すると、その受信データにウイルスが含まれているか否かを判定するためのウイルス検出処理を行う。情報処理装置２は、後述するように、ウイルスの有無を検出するためのパターンファイルを予め記憶しており、そのパターンファイルを参照することによってウイルス検出処理の対象となるデータにウイルスが含まれているか否かを判定する。
【００３９】
例えば、情報処理装置２は、外部装置３から印刷ジョブを受信した場合、印刷ジョブの実行を開始する前にその印刷ジョブに含まれているデータを処理対象データとしてウイルス検出処理を行う。そして情報処理装置２は、ウイルス検出処理が終了した後、印刷ジョブに含まれるデータに基づいて印刷出力を行う。
【００４０】
ウイルス検出処理においてデータからウイルスが検出された場合、情報処理装置２は、ユーザーに対して警告を行う。ただし、本実施形態では、印刷対象のデータからウイルスが検出されたとしても、情報処理装置２による印刷出力は制限されない。印刷出力は、ウイルスに感染しているデータそのものを外部装置３などへ出力するものではなく、描画されたシート材を出力するだけあるので、ウイルス感染を蔓延させる可能性がないからである。尚、印刷対象のデータからウイルスが検出された場合、そのデータに基づく印刷出力が完了した後、そのデータを情報処理装置２から削除するようにしても良い。
【００４１】
外部装置３は、例えば一般的なパーソナルコンピュータ（ＰＣ）で構成され、情報処理装置２に対して印刷ジョブやその他のデータを送信することができる装置である。例えば、外部装置３には情報処理装置２に対応するドライバプログラムが予めインストールされている。外部装置３は、そのドライバプログラムを実行することにより、情報処理装置２に対して印刷ジョブなどのデータを送信することができる。尚、外部装置３は、パーソナルコンピュータに限られず、タブレット端末やスマートフォンなどで構成される装置であっても構わない。
【００４２】
サーバー４は、ウイルス検出処理において参照されるパターンファイルを管理するサーバーである。サーバー４において管理されるパターンファイルは、新たなウイルスの出現に伴って逐次更新される。そのため、サーバー４は、新たなウイルスを検出可能とするための最新バージョンのパターンファイルを常に保持している。
【００４３】
情報処理装置２は、サーバー４との通信を定期的に行い、サーバー４において管理されているパターンファイルのバージョンが更新されているか否かを確認する。情報処理装置２は、サーバー４に保持されているパターンファイルのバージョンが自機で保持しているパターンファイルのバージョンよりも新しい場合、パターンファイルが更新されたことを認識する。そして情報処理装置２は、サーバー４から新バージョンのパターンファイルを自動ダウンロードする。また、情報処理装置２は、新バージョンのパターンファイルのダウンロードが完了すると、自機で保持している旧バージョンのパターンファイルを新バージョンのパターンファイルに更新するファイル更新処理を行う。特に本実施形態の情報処理装置２は、ジョブの実行効率を低下させることがないタイミングでファイル更新処理を行うように構成される。以下、このような情報処理装置２について更に詳しく説明する。
【００４４】
図２は、情報処理装置２のハードウェア構成の一例を示す図である。情報処理装置２は、そのハードウェア構成として、操作パネル７、スキャナ部８、プリンタ部９、ＦＡＸ部１０、制御部１１、記憶部１２、通信インタフェース１３、画像メモリ１４、通電制御部１５、電源供給部１６及びジョブ制御部１７を備えており、これらがデータバス１８を介して相互にデータの入出力を行うことができる構成である。
【００４５】
操作パネル７は、表示部７ａと操作部７ｂとを備えている。表示部７ａは、例えばカラー液晶ディスプレイなどによって構成され、ユーザーに対して操作を促すための各種の操作画面を表示する。操作部７ｂは、表示部７ａの画面上に配置されるタッチパネルキーや表示部７ａの画面周囲に配置される押しボタンキーなどによって構成され、ユーザーによる操作を受け付ける。
【００４６】
スキャナ部８及びプリンタ部９は、上述したものである。ここで、プリンタ部９は、定着部９ａを備えている。定着部９ａは、画像データに基づくトナー像が転写されたシート材に対して加熱処理及び加圧処理を施すことによってトナー像をシート材に定着させる機能を有している。印刷ジョブの実行中に定着部９ａがトナー像を確実にシート材に定着させるためには、印刷ジョブの実行開始前に定着部９ａを予めウォームアップさせておくことが必要である。このウォームアップにより、定着部９ａは、所定温度へ昇温された状態となり、印刷ジョブの実行開始後にシート材に対する加熱処理を良好に行うことができるようになる。
【００４７】
ＦＡＸ部１０は、図示を省略する公衆電話網を介してＦＡＸデータの送受信を行うためのものである。
【００４８】
制御部１１は、情報処理装置２の各部の動作を制御するものである。制御部１１は、ＣＰＵ１１ａと、メモリ１１ｂとを備えている。ＣＰＵ１１ａは、記憶部１２に記憶されている基本プログラム２０及びウイルス検出プログラム２１を読み出して実行する演算処理ユニットである。メモリ１１ｂは、ＣＰＵ１１ａが基本プログラム２０及びウイルス検出プログラム２１を実行することによって発生する一時的なデータを記憶したり、ＣＰＵ１１ａが基本プログラム２０及びウイルス検出プログラム２１の実行中に参照するデータを記憶したりするものである。メモリ１１ｂは記憶部１２よりも高速アクセスが可能であるため、ＣＰＵ１１ａは、基本プログラム２０及びウイルス検出プログラム２１の実行中にメモリ１１ｂをワークエリアとして使用することにより、演算処理を効率的に行うことができる。
【００４９】
記憶部１２は、例えばハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）で構成される不揮発性の記憶手段である。この記憶部１２には、上述した基本プログラム２０とウイルス検出プログラム２１とが記憶される。基本プログラム２０は、情報処理装置２においてジョブを受け付けたり、ジョブを管理したりするための基本的なプログラムである。ウイルス検出プログラム２１は、情報処理装置２にウイルス検出機能を付与するプログラムである。
【００５０】
また記憶部１２には、ウイルスの有無を検出するためのパターンファイルを記憶するためのパターンファイル記憶領域２２と、ユーザーによって投入されたジョブを記憶するためのジョブ記憶領域２３とが設けられる。パターンファイル記憶領域２２には、サーバー４からダウンロードされるパターンファイルが保存される。このパターンファイル記憶領域２２には、旧バージョンのパターンファイルと、新バージョンのパターンファイルとを保存することが可能である。また、ジョブ記憶領域２３は、情報処理装置２において受け付けられたジョブであって、情報処理装置２において実行待ちのジョブを保存しておくための記憶領域である。
【００５１】
通信インタフェース１３は、情報処理装置２をネットワーク５に接続するためのインタフェースである。情報処理装置２は、この通信インタフェース１３を介して、外部装置３やサーバー４と通信を行う。
【００５２】
画像メモリ１４は、印刷対象となる画像データや、スキャナ部８によって生成された画像データを記憶するためのメモリである。例えば、コピージョブの場合、スキャナ部８で生成された画像データが画像メモリ１４に一旦保存され、その画像データに対して所定の画像処理が施された後、画像メモリ１４からプリンタ部９へ画像データが出力される。
【００５３】
電源供給部１６は、各部に対して電力を供給するものである。通電制御部１５は、情報処理装置２における通電状態を制御する処理部である。例えば通常通電状態のとき、通電制御部１５は、電源供給部１６に対して各部への電力供給を指示する。また省電力状態へ移行させるとき、通電制御部１５は、電源供給部１６に対して一部の電力供給を停止させることを指示する。例えば、通電制御部１５は、操作パネル７、スキャナ部８、プリンタ部９及びジョブ制御部１７への電力供給を停止させることにより、通電状態を省電力状態へ移行させる。
【００５４】
ジョブ制御部１７は、情報処理装置２におけるジョブの実行を制御するものである。すなわち、ジョブ制御部１７は、スキャナ部８、プリンタ部９及びＦＡＸ部１０を駆動して動作させることにより、ユーザーによって指定されたジョブの実行を制御する。このとき、ジョブ制御部１７は、画像メモリ１４を介してスキャナ部８、プリンタ部９及びＦＡＸ部１０の相互間で画像データの受け渡しが行われるように制御する。また、ジョブ制御部１７は、ジョブの実行に伴って取得されるデータに対するデータ処理を行うことも可能である。例えば、印刷ジョブの場合、ジョブ制御部１７は、印刷ジョブに含まれるデータに基づいてＲＩＰ（Raster Image Processing）処理などの予め指定された処理を実行することができる。そのため、ジョブ制御部１７は、ジョブの実行に伴って取得されるデータに対するデータ処理を行うデータ処理手段としても機能する。
【００５５】
このようなジョブ制御部１７によるジョブの実行の制御は、制御部１１による動作からは独立して行われる。そのため、制御部１１において何らの処理が行われている場合であっても、ジョブ制御部１７は、制御部１１において行われている処理と並行してジョブの実行を制御することができる。
【００５６】
次にＣＰＵ１１ａが基本プログラム２０及びウイルス検出プログラム２１を実行したときの制御部１１の機能構成について説明する。図３は、制御部１１の機能構成の一例を示すブロック図である。ＣＰＵ１１ａが基本プログラム２０を実行することにより、制御部１１は、ジョブマネージャ３０として機能する。また、ＣＰＵ１１ａがウイルス検出プログラム２１を実行することにより、制御部１１は、ウイルス検出アプリケーション４０として機能する。ジョブマネージャ３０とウイルス検出アプリケーション４０とはＣＰＵ１１ａのマルチタスク機能により同時並列的に動作することができる。
【００５７】
ジョブマネージャ３０は、ジョブ受付部３１とジョブ管理部３２とを備えている。ジョブ受付部３１は、情報処理装置２において実行すべきジョブを受け付ける処理部である。例えば、ユーザーが操作パネル７を操作することによってコピージョブやスキャンジョブなどの実行を指示した場合、ジョブ受付部３１は、ユーザーによって指定されたジョブを受け付ける。またジョブ受付部３１は、通信インタフェース１３を介して印刷ジョブを受信した場合、その印刷ジョブを受け付ける。
【００５８】
ジョブ管理部３２は、ジョブ受付部３１によって受け付けられたジョブを管理し、ジョブ制御部１７に対して実行すべきジョブを指示する処理部である。ジョブ管理部３２は、ジョブ受付部３１によってジョブが受け付けられると、そのジョブをジョブ記憶領域２３に保存する。そしてジョブ管理部３２は、ジョブ受付部３１によって受け付けられたジョブを待ち行列に登録して管理する。待ち行列には、ジョブ受付部３１によって受け付けられた順に複数のジョブを登録しておくことができる。
【００５９】
例えば、ジョブ制御部１７によってジョブが実行されているときにジョブ受付部３１によってジョブが受け付けられると、ジョブ管理部３２は、そのジョブを待ち行列に登録する。このとき、待ち行列に既にジョブが登録されていれば、ジョブ管理部３２は、既に登録されているジョブの次に実行すべきジョブとして、受け付けられたジョブを登録する。そしてジョブ制御部１７によって実行されていたジョブが終了し、次のジョブを実行することができる状態になると、ジョブ管理部３２は、待ち行列に登録されている次のジョブの実行をジョブ制御部１７に指示する。これにより、ジョブ制御部１７は、待ち行列に登録されている順にジョブを読み出して実行する。
【００６０】
ウイルス検出アプリケーション４０は、ウイルス検出機能を動作させる処理部である。ウイルス検出アプリケーション４０は、ウイルス検出部４１と、ダウンロード部４２と、ファイル更新部４３とを備えている。
【００６１】
ウイルス検出部４１は、ウイルス検出の対象となるデータに対してウイルス検出処理を実行する処理部である。ウイルス検出部４１は、その起動時に記憶部１２のパターンファイル記憶領域２２に保存されているパターンファイル２２ａを読み出し、メモリ１１ｂにおける所定の記憶領域１１ｘにパターンファイル２２ａを展開する。これにより、ウイルス検出部４１は、ウイルス検出処理を行うときにメモリ１１ｂに展開したパターンファイル２２ａを高速で参照することができるようになる。すなわち、ウイルス検出部４１は、ウイルス検出の対象となるデータを取得すると、メモリ１１ｂに展開したパターンファイル２２ａを参照することにより、そのデータにウイルスが含まれているか否かを判定するウイルス検出処理を実行する。尚、パターンファイル２２ａは、ウイルスが定義されたブラックリスト形式のファイルであっても良いし、ウイルスが存在しない安全なデータであることが定義されたホワイトリスト形式のファイルであっても構わない。
【００６２】
例えば、ウイルス検出部４１は、通信インタフェース１３を介して外部装置３から印刷ジョブを受信した場合に、その印刷ジョブに含まれるデータをウイルス検出の対象として、ウイルス検出処理を実行する。このとき、印刷ジョブに含まれるデータは、ウイルス検出処理によって占有される。したがって、ジョブ管理部３２は、ウイルス検出部４１によるウイルス検出処理が終了するまでジョブ制御部１７に印刷ジョブの実行を指示することができない。それ故、ジョブ管理部３２は、ウイルス検出処理が終了した後にジョブ制御部１７に対して印刷ジョブの実行を指示する。
【００６３】
これに対し、ユーザーによってコピージョブの実行が指示された場合には、ウイルス検出部４１は、ウイルス検出処理を実行しない。なぜなら、コピージョブの場合には情報処理装置２に対して外部からウイルスが入り込むことがないからである。そのため、ジョブ管理部３２は、ユーザーによってコピージョブの実行が指示された場合には、ジョブ制御部１７に対して速やかにジョブの実行を指示することができる。
【００６４】
図４は、ウイルス検出部４１によるウイルス検出処理が行われるジョブと、そうでないジョブとを例示する図である。まず図４（ａ）に示すように、情報処理装置２が外部装置３から印刷ジョブＤ１０を受信するときには、印刷ジョブＤ１０に含まれるデータＤ１１にウイルスが含まれている可能性がある。そのため、ウイルス検出部４１は、印刷ジョブＤ１０に含まれるデータＤ１１に対するウイルス検出処理を実行する（プロセスＰ１）。そしてウイルス検出部４１によるウイルス検出処理が終了した後にジョブ制御部１７がジョブ実行処理を行い（プロセスＰ２）、印刷ジョブＤ１０に含まれるデータＤ１１に基づく印刷出力を行う。
【００６５】
また、図４（ｂ）に示すように、ユーザーが操作パネル７を操作してコピージョブの実行を指示した場合（プロセスＰ５）、情報処理装置２に対してウイルスは入り込まない。そのため、情報処理装置２は、ウイルス検出部４１によるウイルス検出処理を行うことなく、ジョブ制御部１７にジョブの実行を指示し（プロセスＰ６）、ユーザーによって指定されたジョブの実行処理を行う（プロセスＰ７）。
【００６６】
このようにウイルス検出部４１は、外部装置３から印刷ジョブを取得した場合にはその印刷ジョブの実行が開始される前にウイルス検出処理を実行する。これに対し、ユーザーによってコピージョブの実行が指示された場合、ウイルス検出部４１は、ウイルス検出処理を行わない。
【００６７】
ダウンロード部４２は、定期的にサーバー４にアクセスし、サーバー４から新バージョンのパターンファイルをダウンロードする処理部である。ダウンロード部４２は、サーバー４にアクセスすると、メモリ１１ｂに展開されているパターンファイル２２ａよりも新しいバージョンのパターンファイルがサーバー４に登録されているか否かを判別する。その結果、新バージョンのパターンファイルがサーバー４に登録されていれば、ダウンロード部４２は、サーバー４から新バージョンのパターンファイルをダウンロードする。
【００６８】
図５は、ダウンロード部４２による処理の概念を説明する図である。図５に示すように、ダウンロード部４２は、サーバー４から新バージョンのパターンファイル２２ｂをダウンロードするとき、そのパターンファイル２２ｂを、記憶部１２のパターンファイル記憶領域２２へ格納する。このとき、ダウンロード部４２は、旧バージョンのパターンファイル２２ａが保存されている領域とは異なる領域に新バージョンのパターンファイル２２ｂを保存する。これにより、パターンファイル記憶領域２２には、旧バージョンのパターンファイル２２ａと、新バージョンのパターンファイル２２ｂとの２つのパターンファイルが格納されることになる。ただし、これに限られず、ダウンロード部４２は、新バージョンのパターンファイル２２ｂを旧バージョンのパターンファイル２２ａに上書きすることにより、新バージョンのパターンファイル２２ｂだけをパターンファイル記憶領域２２に保存するようにしても良い。そして新バージョンのパターンファイル２２ｂの全てがパターンファイル記憶領域２２に保存されると、ダウンロード部４２によるダウンロード処理が完了する。
【００６９】
ファイル更新部４３は、ダウンロード部４２による新バージョンのパターンファイル２２ｂのダウンロードが完了した後に、新バージョンのパターンファイル２２ｂを用いてウイルス検出処理を行うことができるように、メモリ１１ｂに展開されているパターンファイル２２ａを新バージョンのパターンファイル２２ｂに更新するファイル更新処理を行う。ファイル更新部４３は、ファイル更新処理を開始すると、ウイルス検出部４１を再起動させる。このとき、ファイル更新部４３は、ウイルス検出部４１に対し、記憶部１２から新バージョンのパターンファイル２２ｂを読み出してメモリ１１ｂに展開することを指示する。したがって、ウイルス検出部４１は、再起動時に記憶部１２から新バージョンのパターンファイル２２ｂを読み出してメモリ１１ｂに展開するので、ウイルス検出処理を行うときには新バージョンのパターンファイル２２ｂを参照することができるようになる。尚、ファイル更新部４３は、ファイル更新処理によってウイルス検出部４１だけを再起動させるようにしても良いし、ウイルス検出アプリケーション４０の全体を再起動させるようにしても良い。
【００７０】
図６は、ファイル更新処理の概念を説明する図である。図６に示すように、ファイル更新部４３がファイル更新処理を行うことによってウイルス検出部４１を再起動させると、ウイルス検出部４１は、記憶部１２のパターンファイル記憶領域２２から新バージョンのパターンファイル２２ｂを選択的に読み出してメモリ１１ｂの所定の記憶領域１１ｘに展開する。このとき、旧バージョンのパターンファイル２２ａは、メモリ１１ｂには展開されない。そのため、本実施形態では、パターンファイル２２ａを更新するときに、メモリ１１ｂに対して旧バージョンのパターンファイル２２ａと新バージョンのパターンファイル２２ｂとの双方が格納されることはなく、メモリ１１ｂの記憶容量を従来よりも小さくすることができ、装置コストの上昇を抑えることができる。
【００７１】
ファイル更新部４３は、上記のようなファイル更新処理によってメモリ１１ｂに新バージョンのパターンファイル２２ｂが展開されると、記憶部１２から旧バージョンのパターンファイル２２ａを削除するようにしても良い。これにより、記憶部１２の記憶可能領域を拡げることができるという利点がある。
【００７２】
また、本実施形態のファイル更新部４３は、ダウンロード部４２によるダウンロードが完了した後、ジョブの処理効率が低下しないタイミングを見計らって上述したファイル更新の実行を開始する。具体的に説明すると、ファイル更新部４３は、ダウンロード部４２によるダウンロードが完了した後、ウイルス検出部４１によるウイルス検出処理が行われていないことを条件としてファイル更新処理を実行する。ウイルス検出部４１によるウイルス検出処理が行われているときに、ファイル更新処理を開始してウイルス検出部４１を再起動させてしまうと、それまでに行われたウイルス検出処理が無駄になる。また、ウイルス検出部４１の再起動が完了した後に再び同一データに対するウイルス検出処理がはじめから開始されることになるため、情報処理装置２において印刷ジョブの実行が開始されるまでの時間が長くなり、ジョブの実行効率が低下する。これを防止するため、ファイル更新部４３は、ウイルス検出部４１によるウイルス検出処理が行われていないことを条件としてファイル更新処理を行うのである。
【００７３】
例えば、ファイル更新部４３は、ダウンロード部４２によるダウンロード完了時にウイルス検出部４１によるウイルス検出処理が行われている場合、ファイル更新処理の実行を一時的に保留する。そしてウイルス検出部４１によるウイルス検出処理が終了した後に、ファイル更新部４３は、ファイル更新処理の実行を開始する。したがって、印刷ジョブの受信に伴い、印刷ジョブに含まれるデータに対するウイルス検出処理が行われているときに新バージョンのパターンファイル２２ｂのダウンロードが完了した場合には、ファイル更新処理が一時的に保留された状態となり、ウイルス検出処理が終了して印刷ジョブの実行が開始されたタイミングでファイル更新処理が実行されることになる。そのため、ファイル更新部４３は、ジョブ制御部１７によって印刷ジョブが実行されているときにウイルス検出部４１を再起動させて新バージョンのパターンファイル２２ｂをメモリ１１ｂに展開させることができる。つまり、ジョブ制御部１７は、ファイル更新部４３によるファイル更新処理が行われているときにそれと並行して印刷ジョブを実行するので、効率的に印刷ジョブを実行することができる。
【００７４】
また、ダウンロード部４２によるダウンロード完了時にウイルス検出部４１によるウイルス検出処理が行われていない場合、ファイル更新部４３は、ダウンロード完了時にファイル更新処理の実行を開始する。すなわち、ダウンロード完了時にウイルス検出処理が行われていなければその直後に印刷ジョブが開始されることはない。そのため、ファイル更新部４３は、ダウンロード部４２によるダウンロードが完了したタイミングでファイル更新処理の実行を開始するのである。この場合も、ジョブの実行効率を低下させることなく、ファイル更新処理を行うことができる。
【００７５】
次に本実施形態の情報処理装置２において行われる処理手順について説明する。図７は、情報処理装置２がウイルス検出プログラム２１をインストールする処理手順を示すフローチャートである。この処理は、例えば制御部１１のＣＰＵ１１ａがウイルス検出プログラム２１のインストーラを起動することによって行われる処理である。情報処理装置２は、この処理を開始すると、ウイルス検出プログラム２１を記憶部１２にインストールする（ステップＳ１）。例えば情報処理装置２は、通信インタフェース１３を介してサーバー４にアクセスし、サーバー４からウイルス検出プログラム２１をダウンロードしてインストールする。また、この他にも、例えば情報処理装置２は、ＣＤ-ＲＯＭやＵＳＢメモリなどのコンピュータ読み取り可能な記録媒体からウイルス検出プログラム２１を読み出して記憶部１２にインストールするようにしても良い。
【００７６】
情報処理装置２は、ウイルス検出プログラム２１をインストールすると、次にサーバー４にアクセスし（ステップＳ２）、サーバー４に保存されている最新バージョンのパターンファイル２２ｂをダウンロードする（ステップＳ３）。そして情報処理装置２は、そのパターンファイル２２ｂを記憶部１２のパターンファイル記憶領域２２に保存する（ステップＳ４）。以上で、ウイルス検出プログラム２１のインストール時の処理が終了する。
【００７７】
上記のようにウイルス検出プログラム２１がインストールされると、情報処理装置２は、ウイルス検出プログラム２１を自動的に起動する。また、情報処理装置２は、その後、電源投入時に、ウイルス検出プログラム２１を自動的に起動するようになる。すなわち、ＣＰＵ１１ａがウイルス検出プログラム２１を実行することにより、制御部１１をウイルス検出アプリケーション４０として機能させるのである。そして情報処理装置２は、ウイルス検出アプリケーション４０を制御部１１に常駐させた状態で稼働する。制御部１１においてウイルス検出アプリケーション４０が機能すると、上述したウイルス検出部４１、ダウンロード部４２及びファイル更新部４３のそれぞれが動作し始める。
【００７８】
図８は、ウイルス検出部４１による処理手順の一例を示すフローチャートである。この処理は、ウイルス検出部４１が起動されることに伴って開始される処理である。ここでは、記憶部１２のパターンファイル記憶領域２２に旧バージョンのパターンファイル２２ａのみが記憶されている場合について説明する。ウイルス検出部４１は、図８のフローチャートに基づく処理を開始すると、記憶部１２のパターンファイル記憶領域２２からパターンファイル２２ａを読み出し（ステップＳ１０）、そのパターンファイル２２ａをメモリ１１ｂに展開する（ステップＳ１１）。これにより、パターンファイル２２ａに基づいてウイルス検出処理を行うことができる状態となる。
【００７９】
ウイルス検出部４１は、パターンファイル２２ａをメモリ１１ｂに展開すると、ウイルス検出の対象となるデータが存在するか否かを判断する（ステップＳ１２）。例えば、通信インタフェース１３を介して印刷ジョブを受信している場合、ウイルス検出部４１は、ウイルス検出の対象となるデータが存在すると判断する。ウイルス検出の対象となるデータが存在する場合（ステップＳ１２でＹＥＳ）、ウイルス検出部４１は、ウイルス検出の対象となるデータに対するウイルス検出処理を実行する（ステップＳ１３）。このとき、ウイルス検出部４１は、起動時にメモリ１１ｂに展開したパターンファイル２２ａを参照し、パターンファイル２２ａにおいて定義されている情報に基づき、ウイルス検出の対象であるデータにウイルスが含まれているか否かを判別する。
【００８０】
ウイルス検出処理が終了すると、ウイルス検出部４１は、ウイルスを検出したか否かを判断し（ステップＳ１４）、ウイルスを検出していれば（ステップＳ１４でＹＥＳ）、警告処理を行う（ステップＳ１５）。この警告処理では、例えば操作パネル７の表示部７ａに、ウイルスを検出した旨の警告表示を行ったり、或いは、図示を省略するスピーカーから警告音を出力したりする。これに対し、ウイルスを検出しなかった場合（ステップＳ１４でＮＯ）、ウイルス検出部４１は、警告処理を行わない。
【００８１】
そしてウイルス検出部４１は、ウイルス検出処理の終了したデータをジョブ管理部３２へ出力する（ステップＳ１６）。このとき、ウイルス検出部４１は、ジョブ管理部３２に対してウイルス検出処理が終了したことを通知する。これにより、ウイルス検出部４１において印刷ジョブに含まれるデータに対するウイルス検出処理が行われた場合は、ジョブ管理部３２に印刷ジョブの実行が可能な状態となったことを通知することができる。
【００８２】
その後、ウイルス検出部４１による処理はステップＳ１２に戻る。そして上述した処理を繰り返す。したがって、ウイルス検出部４１は、起動後、ウイルス検出の対象となるデータがあれば、その都度、メモリ１１ｂに展開したパターンファイル２２ａを参照しながらウイルス検出処理を実行する。
【００８３】
次に図９は、ダウンロード部４２による処理手順の一例を示すフローチャートである。この処理は、ダウンロード部４２が起動されることに伴って開始される処理である。ダウンロード部４２は、図９のフローチャートに基づく処理を開始すると、まずダウンロードフラグをオフにセットする（ステップＳ２０）。ダウンロードフラグは、新バージョンのパターンファイル２２ｂのダウンロードが完了した場合にオンにセットされるフラグであり、ダウンロード部４２の起動時にオフにセットされる。
【００８４】
ダウンロードフラグをオフにして起動すると、ダウンロード部４２は、サーバー４に新バージョンのパターンファイル２２ｂが保存されているか否かを確認するタイミングであるか否かを判断する（ステップＳ２１）。サーバー４に新バージョンのパターンファイル２２ｂが保存されているか否かを確認するタイミングである場合（ステップＳ２１でＹＥＳ）、ダウンロード部４２は、サーバー４にアクセスし（ステップＳ２２）、新バージョンのパターンファイル２２ｂが保存されているか否かを判断する（ステップＳ２３）。その結果、新バージョンのパターンファイル２２ｂが保存されている場合（ステップＳ２３でＹＥＳ）、ダウンロード部４２は、新バージョンのパターンファイル２２ｂをサーバー４からダウンロードし（ステップＳ２４）、その新バージョンのパターンファイル２２ｂを記憶部１２へ保存する（ステップＳ２５）。そして新バージョンのパターンファイル２２ｂのダウンロードが完了すると、ダウンロード部４２は、ダウンロードフラグをオンにセットする（ステップＳ２６）。一方、サーバー４に新バージョンのパターンファイル２２ｂが保存されているか否かを確認するタイミングでなかった場合（ステップＳ２１でＮＯ）、ステップＳ２２〜Ｓ２６の処理はスキップする。また、サーバー４に新バージョンのパターンファイル２２ｂが保存されていない場合（ステップＳ２３でＮＯ）、ステップＳ２４〜Ｓ２６の処理はスキップする。
【００８５】
次にダウンロード部４２は、ダウンロードフラグがオンであるか否かを判断する（ステップＳ２７）。ダウンロードフラグがオンである場合（ステップＳ２７でＹＥＳ）、ダウンロード部４２は、更新完了フラグがオンにセットされているか否かを更に判断する（ステップＳ２８）。更新完了フラグは、ウイルス検出処理において参照されるパターンファイルが新バージョンのパターンファイル２２ｂに更新された場合にオンにセットされるフラグであり、更新されていない場合にはオフにセットされているフラグである。更新完了フラグがオンにセットされている場合（ステップＳ２８でＹＥＳ）、ダウンロードした新バージョンのパターンファイル２２ｂが既にウイルス検出処理において参照可能な状態に反映されていることになる。したがって、ダウンロード部４２は、ダウンロードフラグをオフにセットする（ステップＳ２９）。尚、ダウンロードフラグがオフであった場合（ステップＳ２７でＮＯ）、或いは、更新完了フラグがオフであった場合（ステップＳ２８でＮＯ）、ステップＳ２９の処理はスキップする。
【００８６】
その後、ダウンロード部４２による処理はステップＳ２１に戻る。そして上述した処理を繰り返す。したがって、ダウンロード部４２は、起動後、サーバー４において新バージョンのパターンファイル２２ｂが保存されていれば、その新バージョンのパターンファイル２２ｂをサーバー４からダウンロードして取得する処理を実行する。
【００８７】
次に図１０は、ファイル更新部４３による処理手順の一例を示すフローチャートである。この処理は、ファイル更新部４３が起動されることに伴って開始される処理である。ファイル更新部４３は、図１０のフローチャートに基づく処理を開始すると、まず更新完了フラグをオフにセットする（ステップＳ３０）。つまり、ファイル更新部４３は、その起動時に更新完了フラグをオフにセットしておくのである。
【００８８】
ファイル更新部４３は、起動が完了すると、ダウンロードフラグがオンであるか否かを判断する（ステップＳ３１）。ダウンロードフラグがオンである場合（ステップＳ３１でＹＥＳ）、ファイル更新部４３は、ウイルス検出部４１によるウイルス検出処理の実行中であるか否かを判断する（ステップＳ３２）。その結果、ウイルス検出部４１によるウイルス検出処理の実行中である場合（ステップＳ３２でＹＥＳ）、ファイル更新部４３は、ファイル更新処理を保留する（ステップＳ３３）。したがって、現在実行中のウイルス検出処理は、旧バージョンのパターンファイル２２ａを参照しながら行われることになる。
【００８９】
ファイル更新処理を保留すると、ファイル更新部４３は、ウイルス検出処理が終了するまで待機する状態となる（ステップＳ３４）。そしてウイルス検出処理が終了すると（ステップＳ３４でＹＥＳ）、ファイル更新部４３は、ファイル更新処理の保留状態を解除し、ファイル更新処理を開始する（ステップＳ３５）。すなわち、ファイル更新部４３は、新バージョンのパターンファイル２２ｂをメモリ１１ｂに展開することを指定したうえでウイルス検出部４１を再起動させるのである。これにより、ウイルス検出部４１は、再起動を開始し、その再起動時において上述したステップＳ１０，Ｓ１１で新バージョンのパターンファイル２２ｂを読み出してメモリ１１ｂに展開する。そして再起動後には、新バージョンのパターンファイル２２ｂを参照してウイルス検出処理を行うことができるようになる。
【００９０】
一方、ダウンロードフラグがオンであることを確認したタイミングでウイルス検出処理が行われていない場合（ステップＳ３２でＮＯ）、ファイル更新部４３は、そのタイミングでファイル更新処理を開始する（ステップＳ３５）。
【００９１】
ファイル更新処理を行うと、ファイル更新部４３は、ウイルス検出部４１の再起動が完了したことを確認し（ステップＳ３６でＹＥＳ）、更新完了フラグをオンにセットする（ステップＳ３７）。そしてファイル更新部４３は、ダウンロードフラグがオフにセットされたことを確認すると（ステップＳ３８）、更新完了フラグをオフにセットする（ステップＳ３９）。その後、ファイル更新部４３による処理は、ステップＳ３１に戻り、上述した処理を繰り返す。
【００９２】
上記のような処理が行われることにより、情報処理装置２においてウイルス検出処理が行われていないときにファイル更新処理を行うことができるようになる。図１１は、ウイルス検出処理とファイル更新処理との関係を示すタイミングチャートである。まず、図１１（ａ）に示すように、新バージョンのパターンファイル２２ｂのダウンロードが完了したタイミングＴ１０においてウイルス検出処理が行われていないとき、ファイル更新部４３は、そのタイミングＴ１０でファイル更新処理を開始する。このファイル更新処理は、例えばタイミングＴ１０から数十秒程度経過後のタイミングＴ１１で終了する。したがって、ファイル更新部４３によるファイル更新処理は、ウイルス検出処理を途中で停止させてしまうことがない。
【００９３】
また図１１（ｂ）に示すように、新バージョンのパターンファイル２２ｂのダウンロード中であるタイミングＴ２０においてウイルス検出処理が開始され、ダウンロードが完了したタイミングＴ２１においてウイルス検出処理が継続して行われているとき、ファイル更新部４３は、ダウンロードが完了したタイミングＴ２１でファイル更新処理を開始せず、ウイルス検出処理が終了するまでファイル更新処理を保留する。そしてタイミングＴ２２においてウイルス検出処理が終了すると、ファイル更新部４３は、そのタイミングＴ２２でファイル更新処理を開始する。この場合のファイル更新処理は、タイミングＴ２３で終了する。したがって、この場合も、ファイル更新部４３によるファイル更新処理は、ウイルス検出処理を途中で停止させてしまうことがない。
【００９４】
次に図１２は、ジョブ実行処理とファイル更新処理との関係を示すタイミングチャートである。例えば図１２（ａ）に示すように、ジョブ制御部１７によってジョブが実行されているときに、そのジョブの実行と並行して新バージョンのパターンファイル２２ｂのダウンロードが行われている場合を想定する。この場合、ジョブの実行が終了していないタイミングＴ１０でダウンロードが完了すると、ファイル更新部４３は、そのタイミングＴ１０でファイル更新処理を開始する。このファイル更新処理は、ジョブ制御部１７によるジョブの実行と並行して行われることになる。したがって、ファイル更新部４３によるファイル更新処理は、ジョブ制御部１７によるジョブの実行効率を低下させることなく行われる。
【００９５】
また、例えば図１２（ｂ）に示すように、新バージョンのパターンファイル２２ｂのダウンロード中であるタイミングＴ２０において印刷ジョブが受信され、その印刷ジョブに含まれるデータに対するウイルス検出処理が開始された場合を想定する。この場合、ウイルス検出処理が終了していないタイミングＴ２１でダウンロードが完了すると、ファイル更新部４３は、ダウンロードが完了したタイミングＴ２１でファイル更新処理を開始せず、ウイルス検出処理が終了するまでファイル更新処理を保留する。そしてタイミングＴ２２においてウイルス検出処理が終了し、ジョブ制御部１７による印刷ジョブの実行が開始されると、ファイル更新部４３は、そのタイミングＴ２２でファイル更新処理を開始する。このファイル更新処理は、ジョブ制御部１７による印刷ジョブの実行と並行して行われることになる。したがって、ファイル更新部４３によるファイル更新処理は、ジョブ制御部１７による印刷ジョブの実行効率を低下させることなく行われる。
【００９６】
また、ジョブ制御部１７は、ファイル更新部４３によるファイル更新処理と並行してジョブを実行することができる。そのため、ファイル更新部４３によるファイル更新処理が行われているときにジョブ受付部３１によってウイルス検出処理を行わないコピージョブが受け付けられた場合、ジョブ制御部１７は、ファイル更新部４３によるファイル更新処理と並行してウイルス検出処理を行わないコピージョブを実行することができる。この場合も、ファイル更新処理は、ジョブの実行効率を低下させることがない。
【００９７】
以上のように本実施形態の情報処理装置２は、ウイルス検出部４１の起動時にウイルス検出処理で参照するパターンファイルを１つだけメモリ１１ｂに展開するようにしているので、メモリ１１ｂを大容量化する必要がなく、装置コストの上昇を抑えることができる。また、本実施形態の情報処理装置２は、ファイル更新処理によって新バージョンのパターン２２ｂを反映させるとき、ウイルス検出処理を途中で停止さないので受信したデータに対するウイルス検出処理が未完のまま終了してしまうという問題を解決することもできる。さらに、本実施形態の情報処理装置２は、ファイル更新処理を行うことによって、印刷ジョブを受信してから印刷ジョブの実行を開始するまでの時間が長くなることはない。そのため、ジョブの実行効率を低下させることなく、新バージョンのパターンファイル２２ｂに更新することができるという利点がある。
【００９８】
（第２実施形態）
次に本発明の第２実施形態について説明する。上述した第１実施形態では、新バージョンのパターンファイル２２ｂのダウンロードが完了したとき、ウイルス検出処理が行われていなければ、ダウンロードが完了したタイミングでファイル更新処理の実行を開始する形態について説明した。ところが、第１実施形態では、ファイル更新部４３によるファイル更新処理が行われているときに情報処理装置２が印刷ジョブを受信するケースが起こり得る。その場合、第１実施形態では、ファイル更新処理によるウイルス検出部４１の再起動が完了するまで印刷ジョブに含まれるデータに対するウイルス検出処理を開始することができず、印刷ジョブの実行が開始されるまでの時間が長くなってしまう可能性がある。本実施形態では、そのような事態が生じないようにジョブの実行中にファイル更新処理を完了できるようにした動作について説明する。尚、本実施形態における情報処理システム１及び情報処理装置２のハードウェア構成及び機能構成は第１実施形態で説明したものと同様である。
【００９９】
図１３は、第２実施形態のファイル更新部４３によるファイル更新処理の例を示すフローチャートである。この処理は、ファイル更新部４３が起動されることに伴って開始される処理である。ファイル更新部４３は、図１３のフローチャートに基づく処理を開始すると、まず更新完了フラグをオフにセットする（ステップＳ４０）。そしてファイル更新部４３は、ダウンロードフラグがオンであるか否かを判断し（ステップＳ４１）、ダウンロードフラグがオンであれば（ステップＳ４１でＹＥＳ）、ファイル更新処理を保留する（ステップＳ４２）。つまり、ファイル更新部４３は、新バージョンのパターンファイル２２ｂのダウンロードが完了すると、直ぐにはファイル更新処理を実行せず、ファイル更新処理の実行を保留する。
【０１００】
そしてファイル更新部４３は、ジョブ制御部１７によってジョブの実行が開始されたか否かを判断する（ステップＳ４３）。このとき、ジョブ制御部１７によって実行されるジョブの種類は問わない。すなわち、ファイル更新部４３は、ジョブ制御部１７によってコピージョブ、スキャンジョブ、印刷ジョブ及びＦＡＸ送受信ジョブのいずれかの実行が開始されたか否かを判断する。ジョブ制御部１７によってジョブの実行が開始されると（ステップＳ４３でＹＥＳ）、ファイル更新部４３は、そのジョブの実行を終了するまでに所定時間以上を要するか否かを判断する（ステップＳ４４）。この場合の所定時間は、ファイル更新処理に要する時間である。すなわち、ファイル更新部４３は、ジョブ制御部１７によって実行されるジョブが終了するまでの所要時間が、ファイル更新処理に要する時間以上であるか否かを判断するのである。
【０１０１】
例えば、ジョブ制御部１７によって実行されるジョブが印刷ジョブである場合、ジョブの所要時間はシート材のサイズや印刷枚数などに基づいて算出することができる。これに対し、コピージョブやスキャンジョブ、ＦＡＸ送信ジョブの場合は、スキャナ部８による原稿の読み取り動作が終了しない限り、ジョブの所要時間を正確に算出することができない。そのため、ファイル更新部４３は、コピージョブやスキャンジョブ、ＦＡＸ送信ジョブである場合には原稿枚数が所定枚数（例えば１枚）であると仮定してジョブの所要時間を算出する。また、ファイル更新部４３は、新バージョンのパターンファイル２２ｂのデータ量に応じてファイル更新処理に要する時間を算出することができる。したがって、ファイル更新部４３は、ジョブの所要時間とファイル更新処理に要する時間とを比較することにより、ジョブの所要時間が、ファイル更新処理に要する時間以上であるか否かを判断する。
【０１０２】
ステップＳ４４における判断の結果、ジョブの所要時間がファイル更新処理に要する時間よりも短い場合（ステップＳ４４でＮＯ）、ファイル更新部４３による処理はステップＳ４３に戻る。これに対し、ジョブの所要時間がファイル更新処理に要する時間以上である場合（ステップＳ４４でＹＥＳ）、ファイル更新部４３は、ファイル更新処理を開始する（ステップＳ４５）。この場合、ファイル更新処理は、ジョブ制御部１７によるジョブの実行が完了するまでに終了する。
【０１０３】
ファイル更新処理を行うと、ファイル更新部４３は、ウイルス検出部４１の再起動が完了したことを確認し（ステップＳ４６でＹＥＳ）、更新完了フラグをオンにセットする（ステップＳ４７）。そしてファイル更新部４３は、ダウンロードフラグがオフにセットされたことを確認すると（ステップＳ４８でＹＥＳ）、更新完了フラグをオフにセットする（ステップＳ４９）。その後、ファイル更新部４３による処理は、ステップＳ４１に戻り、上述した処理を繰り返す。
【０１０４】
上記のような処理が行われることにより、情報処理装置２は、ジョブの実行が開始されるときにファイル更新処理の実行を開始すると共に、ジョブの実行が完了するまでの間にファイル更新処理を終了させることができる。それ故、ファイル更新部４３によるファイル更新処理が行われているときに情報処理装置２が新たな印刷ジョブを受信したとしても、その受信時には情報処理装置２において先のジョブが実行されているため、ユーザーに対して次の印刷ジョブの実行が開始されるまでの時間が長くなったという印象を与えることがない。また、本実施形態の情報処理装置２は、ジョブの実行中にファイル更新処理を完了させることができるため、ジョブの実行効率を低下させることなく、新バージョンのパターンファイル２２ｂに更新することができる。
【０１０５】
上記においては、新バージョンのパターンファイル２２ｂのダウンロードが完了すると、ファイル更新部４３は、ファイル更新処理を保留し、ジョブ制御部１７によってジョブの実行が開始されるときにファイル更新処理を開始する場合を例示した。しかし、ファイル更新処理を開始する条件はこれに限られるものではない。例えば、ファイル更新部４３は、ウイルス検出部４１によるウイルス検出処理が行われていないことを条件とし、その条件が成立している状態でジョブの実行が開始されるときに、ファイル更新処理を開始するようにしても良い。
【０１０６】
尚、本実施形態において上述した点以外については、第１実施形態で説明したものと同様であるため、説明を省略する。
【０１０７】
（第３実施形態）
次に本発明の第３実施形態について説明する。本実施形態では、新バージョンのパターンファイル２２ｂのダウンロードが完了すると、ファイル更新処理を保留し、情報処理装置２が所定の動作状態へ移行するときにファイル更新部４３がファイル更新処理を開始する動作の例について説明する。尚、本実施形態における情報処理システム１及び情報処理装置２のハードウェア構成及び機能構成についても第１実施形態で説明したものと同様である。
【０１０８】
図１４は、第３実施形態のファイル更新部４３によるファイル更新処理の例を示すフローチャートである。この処理は、ファイル更新部４３が起動されることに伴って開始される処理である。ファイル更新部４３は、図１４のフローチャートに基づく処理を開始すると、まず更新完了フラグをオフにセットする（ステップＳ５０）。続いて、ファイル更新部４３は、ダウンロードフラグがオンであるか否かを判断し（ステップＳ５１）、ダウンロードフラグがオンであれば（ステップＳ５１でＹＥＳ）、ファイル更新処理を保留する（ステップＳ５２）。つまり、ファイル更新部４３は、ダウンロード完了後に直ぐにはファイル更新処理を実行せず、ファイル更新処理の実行を保留する。
【０１０９】
そしてファイル更新部４３は、情報処理装置２が省電力状態へ移行するか否かを判断する（ステップＳ５３）。例えば、ジョブ制御部１７によってジョブの実行が行われておらず、しかも操作パネル７においてユーザーの操作が検知されない状態が所定時間以上継続すると、ジョブマネージャ３０が通電制御部１５に対して通電状態を省電力状態へ切り替えるように指示する。ファイル更新部４３は、その指示を検知し、情報処理装置２が省電力状態へ移行することを検知する。
【０１１０】
通電状態が省電力状態へ移行しない場合（ステップＳ５３でＮＯ）、ファイル更新部４３は、ジョブ制御部１７によるジョブの実行中であるか否かを判断する（ステップＳ５４）。そしてジョブの実行中である場合（ステップＳ５４でＹＥＳ）、ファイル更新部４３は、そのジョブの実行中にジョブの実行を継続させることができないエラーが発生したか否かを判断し（ステップＳ５５）、エラーが発生した場合には（ステップＳ５５でＹＥＳ）、そのエラーによってジョブの実行が中断したか否かを判断する（ステップＳ５６）。この場合のエラーとしては、例えばシート材やトナーのエンプティエラーや、紙詰まりエラーなどがある。
【０１１１】
そしてファイル更新部４３は、通電状態が省電力状態へ移行すると判断した場合（ステップＳ５３でＹＥＳ）、又は、ジョブの実行中にエラーが発生してジョブの実行が中断したと判断した場合（ステップＳ５６でＹＥＳ）、ファイル更新処理を開始する（ステップＳ５７）。これに対し、通電状態が省電力状態へ移行せず（ステップＳ５３でＮＯ）、しかも、実行中のジョブが中断しない場合（ステップＳ５６でＮＯ）、ファイル更新部４３は、ファイル更新処理の実行を保留した状態を継続させる。
【０１１２】
通電状態が省電力状態へ移行すると、上述したように操作パネル７、スキャナ部８、プリンタ部９及びジョブ制御部１７への電力供給が停止するため、情報処理装置２は、ジョブを実行することができない状態となる。そのため、情報処理装置２が省電力状態において印刷ジョブを受信すると、通電状態を通常通電状態へ復帰させる処理を行う。この復帰処理によってプリンタ部９への電力供給が再開され、定着部９ａのウォームアップが開始される。そして定着部９ａのウォームアップが完了した後に、印刷ジョブの実行が開始される。つまり、情報処理装置２は、省電力状態のときに印刷ジョブを受信したとしても、その印刷ジョブを直ぐに実行することはできないのである。そのため、ファイル更新部４３は、省電力状態へ移行するときにファイル更新処理を開始することにより、ジョブの実行効率を低下させることなく、旧バージョンのパターンファイル２２ａを新バージョンのパターンファイル２２ｂに更新することができる。
【０１１３】
また、ジョブの実行途中でシート材やトナーのエンプティエラーや、紙詰まりエラーなどが発生してジョブの実行が中断すると、ユーザーによるメンテナンス作業が行われる。すなわち、シート材の補充や、トナーボトルの交換、紙詰まりしたシート材を取り除く作業などが行われる。ユーザーによってそのような作業が行われ、エラーが解消されるまでには一定の時間を要する。そのため、ファイル更新部４３は、エラーが解消されるまでの期間中にファイル更新処理を行うのである。これにより、ジョブの実行効率に影響を与えることなく、旧バージョンのパターンファイル２２ａを新バージョンのパターンファイル２２ｂに更新することができる。
【０１１４】
ファイル更新部４３は、ファイル更新処理を行うと、ウイルス検出部４１の再起動が完了したことを確認し（ステップＳ５８でＹＥＳ）、更新完了フラグをオンにセットする（ステップＳ５９）。そしてファイル更新部４３は、ダウンロードフラグがオフにセットされたことを確認すると（ステップＳ６０でＹＥＳ）、更新完了フラグをオフにセットする（ステップＳ６１）。その後、ファイル更新部４３による処理は、ステップＳ５１に戻り、上述した処理を繰り返す。
【０１１５】
上記のような処理が行われることにより、情報処理装置２は、通電状態が省電力状態へ移行するときに、又は、実行中のジョブがエラーによって中断した状態となるときに、ファイル更新処理の実行を開始し、ジョブの実行に影響を与えることなく、ファイル更新処理を終了させることができる。
【０１１６】
上記においては、新バージョンのパターンファイル２２ｂのダウンロードが完了すると、ファイル更新部４３は、ファイル更新処理を保留し、省電力状態やエラーによるジョブ中断状態などの所定の動作状態へ移行するときにファイル更新処理を開始する場合を例示した。しかし、ファイル更新処理を開始する条件はこれに限られるものではない。例えば、ファイル更新部４３は、ウイルス検出部４１によるウイルス検出処理が行われていないことを条件とし、その条件が成立しているときに所定の動作状態へ移行する場合に、ファイル更新処理を開始するようにしても良い。
【０１１７】
尚、本実施形態において上述した点以外については、第１又は第２実施形態で説明したものと同様であるため、説明を省略する。
【０１１８】
（第４実施形態）
次に本発明の第４実施形態について説明する。本実施形態では、新バージョンのパターンファイル２２ｂのダウンロードが完了すると、ウイルス検出処理を行わないジョブを優先的に実行し、ウイルス検出処理を行わないジョブを実行しているときに当該ジョブと並行してファイル更新処理を開始する動作の例について説明する。尚、本実施形態における情報処理システム１及び情報処理装置２のハードウェア構成及び機能構成についても第１実施形態で説明したものと同様である。
【０１１９】
図１５は、第４実施形態のファイル更新部４３によるファイル更新処理の例を示すフローチャートである。この処理は、ファイル更新部４３が起動されることに伴って開始される処理である。ファイル更新部４３は、図１５のフローチャートに基づく処理を開始すると、まず更新完了フラグをオフにセットする（ステップＳ７０）。続いて、ファイル更新部４３は、ダウンロードフラグがオンであるか否かを判断し（ステップＳ７１）、ダウンロードフラグがオンであれば（ステップＳ７１でＹＥＳ）、ファイル更新処理を保留する（ステップＳ７２）。
【０１２０】
続いてファイル更新部４３は、ウイルス検出部４１によるウイルス検出処理の実行中であるか否かを判断する（ステップＳ７３）。ウイルス検出処理の実行中である場合（ステップＳ７３でＹＥＳ）、ファイル更新部４３は、ウイルス検出部４１によるウイルス検出処理を途中で停止させる（ステップＳ７４）。尚、ウイルス検出処理が実行されていない場合（ステップＳ７３でＮＯ）、ステップＳ７４はスキップする。
【０１２１】
次にファイル更新部４３は、待ち行列に少なくとも１つのジョブが登録されているか否かを判断する（ステップＳ７５）。待ち行列に少なくとも１つのジョブが登録されている場合（ステップＳ７５でＹＥＳ）、ファイル更新部４３は、待ち行列に登録されている少なくとも１つのジョブの中にウイルス検出処理を行わないジョブ（コピージョブ）が含まれているか否かを判断する（ステップＳ７６）。その結果、ウイルス検出処理を行わないジョブ（コピージョブ）が登録されている場合（ステップＳ７６でＹＥＳ）、ファイル更新部４３は、ジョブ管理部３２に対してウイルス検出処理を行わないジョブの優先実行を指示する（ステップＳ７７）。これにより、待ち行列にウイルス検出を行うジョブ（印刷ジョブ）とウイルス検出処理を行わないジョブ（コピージョブ）とが登録されている場合、ジョブの受け付け順序にかかわらず、ウイルス検出処理を行わないジョブ（コピージョブ）がウイルス検出処理を行うジョブよりも優先的に実行されるようになる。
【０１２２】
一方、待ち行列にジョブが登録されていない場合（ステップＳ７５でＮＯ）、ファイル更新部４３は、ジョブ受付部３１に対し、ウイルス検出処理を行うジョブ（印刷ジョブ）の受け付け禁止を指示する（ステップＳ７８）。これにより、情報処理装置２は、ウイルス検出処理を行わないジョブ（コピージョブ）だけを受け付ける状態となる。また、待ち行列に登録されているジョブの中にウイルス検出処理を行わないジョブ（コピージョブ）が含まれていない場合（ステップＳ７６でＮＯ）、ファイル更新部４３は、待ち行列に登録されているジョブの実行を禁止し、上述したステップＳ７８の処理を行う。したがって、情報処理装置２は、ウイルス検出処理を行わないジョブ（コピージョブ）だけを受け付けて実行する状態となる。
【０１２３】
次にファイル更新部４３は、ジョブ制御部１７によってジョブの実行が開始されたか否かを判断する（ステップＳ７９）。ジョブ制御部１７によってジョブの実行が開始されると（ステップＳ７９でＹＥＳ）、ファイル更新部４３は、ファイル更新処理の実行を開始する（ステップＳ８１）。つまり、ファイル更新部４３は、ウイルス検出処理を行わないジョブの実行が開始されることに伴い、そのジョブと並行してファイル更新処理の実行を開始するのである。そしてファイル更新部４３は、ウイルス検出処理を行わないジョブが優先的に実行されている間にファイル更新処理を終えることができる。
【０１２４】
またファイル更新部４３は、ジョブの実行が開始されない場合（ステップＳ７９でＮＯ）、ユーザーによるファイル更新指示の有無を確認する（ステップＳ８０）。例えば、ファイル更新指示は、操作パネル７に対してユーザーによって入力されるものであっても良いし、ネットワーク５を介して外部装置３から電子メールなどによって入力されるものであっても良い。そしてユーザーによるファイル更新指示を検出すると（ステップＳ８０でＹＥＳ）、ファイル更新部４３は、ファイル更新処理の実行を開始する（ステップＳ８１）。つまり、ファイル更新部４３は、ウイルス検出処理を行わないジョブの実行が開始されない状態であってもユーザーによってファイル更新処理の実行が指示されれば、その指示に基づいてファイル更新処理の実行を開始するのである。この場合、ジョブの実行の有無にかかわらず、旧バージョンのパターンファイル２２ａを新バージョンのパターンファイル２２ｂに更新することが可能であり、早期に新バージョンのパターンファイル２２ｂを適用することができるようになる。そして早期に新バージョンのパターンファイル２２ｂを適用することにより、情報処理装置２のウイルス感染リスクを早期に低減することができ、セキュリティを向上させることができる。
【０１２５】
ファイル更新部４３は、ファイル更新処理を行うと、ウイルス検出部４１の再起動が完了したことを確認し（ステップＳ８２でＹＥＳ）、更新完了フラグをオンにセットする（ステップＳ８３）。そしてファイル更新部４３は、ダウンロードフラグがオフにセットされたことを確認すると（ステップＳ８４でＹＥＳ）、更新完了フラグをオフにセットする（ステップＳ８５）。またファイル更新部４３は、ファイル更新処理を終了すると、ウイルス検出処理を行うジョブの受け付け禁止状態を解除する（ステップＳ８６）。これにより、情報処理装置２は、ウイルス検出処理を行うジョブを再び受け付けることができる状態に戻る。尚、このとき、ウイルス検出処理を行わないジョブの優先実行設定を解除するようにしても良い。その後、ファイル更新部４３による処理は、ステップＳ７１に戻り、上述した処理を繰り返す。
【０１２６】
また、ステップＳ７４において停止されたウイルス検出処理は、新バージョンのパターンファイル２２ｂに更新された後に再開されることになる。このとき、ウイルス検出部４１は、新バージョンのパターンファイル２２ｂを参照してウイルス検出処理をはじめから実行するため、新バージョンのパターンファイル２２ｂに定義されている新たなウイルスを検出することができるようになる。
【０１２７】
上記のような処理が行われることにより、情報処理装置２は、新バージョンのパターンファイル２２ｂのダウンロード完了時に、待ち行列にウイルス検出処理を行わないジョブが登録されていれば、ウイルス検出処理を行わないジョブを優先的にジョブ制御部１７に実行させ、ウイルス検出処理を行わないジョブが実行されているときにパターンファイルの更新を行うができる。
【０１２８】
また本実施形態では、ダウンロード完了時にウイルス検出部４１によるウイルス検出処理が行われている場合、ファイル更新部４３が、ウイルス検出処理を停止させ、ジョブ制御部１７によってウイルス検出処理を行わないジョブが実行されているときにパターンファイルの更新を行う。そのため、第１実施形態よりも早期にパターンファイルの更新を行うことができるようになる。
【０１２９】
また本実施形態では、ファイル更新部４３が、ダウンロードの完了後においてユーザーによるファイル更新指示を検知した場合に、ファイル更新処理を開始する。そのため、ユーザーが情報処理装置２に対して予めファイル更新指示を入力しておけば、ダウンロードの完了後直ぐにファイル更新処理を実行させることも可能である。尚、このような手法は、本実施形態だけではなく、上述した第１乃至第３実施形態のいずれにも適用可能な手法である。
【０１３０】
尚、本実施形態において上述した点以外については、第１乃至第３実施形態において説明したものと同様であるため、説明を省略する。
【０１３１】
（変形例）
以上、本発明に関する好ましい実施形態について説明した。しかし、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【０１３２】
例えば上記実施形態では、情報処理装置２がＭＦＰなどの画像処理装置によって構成される場合を例示したが、それに限られるものではない。すなわち、情報処理装置２は、画像処理装置以外の他の情報機器であっても構わない。そのような情報機器として、例えばパーソナルコンピュータやタブレット端末、スマートフォン、ＯＡ機器、ＦＡ機器などが挙げられる。
【符号の説明】
【０１３３】
２  情報処理装置
４  サーバー
１１ｂ  メモリ
１２  記憶部（記憶手段）
１５  通電制御部（通電制御手段）
１７  ジョブ制御部（データ処理手段、ジョブ制御手段）
２２ａ，２２ｂ  パターンファイル
３１  ジョブ受付部（ジョブ受付手段）
３２  ジョブ管理部（ジョブ管理手段）
４１  ウイルス検出部（ウイルス検出手段）
４２  ダウンロード部（ダウンロード手段）
４３  ファイル更新部（ファイル更新手段）
【図１】
2020086687.tif 000003
【図２】
2020086687.tif 000004
【図３】
2020086687.tif 000005
【図４】
2020086687.tif 000006
【図５】
2020086687.tif 000007
【図６】
2020086687.tif 000008
【図７】
2020086687.tif 000009
【図８】
2020086687.tif 000010
【図９】
2020086687.tif 000011
【図１０】
2020086687.tif 000012
【図１１】
2020086687.tif 000013
【図１２】
2020086687.tif 000014
【図１３】
2020086687.tif 000015
【図１４】
2020086687.tif 000016
【図１５】
2020086687.tif 000017