(57)【要約】【課題】  ユーザーの待ち時間を短くする。【解決手段】  ＭＦＰは、外部記憶装置が着脱可能であり、外部記憶装置が装着されたことが検出されることに応じて、外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックするチェック部５７と、外部記憶装置に記憶された複数のデータのうちから処理対象となる対象データを決定する対象決定８７と、を備え、チェック部５７は、外部記憶装置に記憶された複数のデータをチェック中に対象データが決定されることに応じて、対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックする。【選択図】        図３
2020090057.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置が着脱可能な画像処理装置であって、
前記外部記憶装置が装着されたことが検出されることに応じて、前記外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックするチェック手段と、
前記外部記憶装置に記憶された複数のデータのうちから処理対象となる対象データを決定する対象決定手段と、を備え、
前記チェック手段は、前記外部記憶装置に記憶された複数のデータをチェック中に前記対象データが決定されることに応じて、前記対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックする、画像処理装置。
【請求項２】
前記外部記憶装置に記憶された複数のデータそれぞれの危険度に従って、前記外部記憶装置に記憶された複数のデータをチェックする順番を決定する順番決定手段を、さらに備え、
前記チェック手段は、前記順番決定手段により決定された順番に従って前記外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックする、請求項１に記載の画像処理装置。
【請求項３】
前記危険度は、前記外部記憶装置に記憶されたデータの属性に対して予め定められた値である、請求項２に記載の画像処理装置。
【請求項４】
前記チェック手段は、前記外部記憶装置に記憶された複数のデータのうち、コンピューターウイルスが存在する危険性のないことを示す前記危険度に対して定められた前記属性のデータはコンピューターウイルスの存在をチェックしない、請求項３に記載の画像処理装置。
【請求項５】
前記危険度は、コンピューターウイルスの存在を検出するための定義ファイルとともに外部からダウンロードされる、請求項３または４に記載の画像処理装置。
【請求項６】
前記順番決定手段は、前記チェック手段によって過去にコンピューターウイルスが検出されたデータの前記属性に基づいて、順番を変更する変更手段を、さらに備えた請求項３〜５のいずれかに記載の画像処理装置。
【請求項７】
前記順番決定手段は、前記外部記憶装置に記憶された複数のデータであって前記危険度が同じ複数のデータに対して、更新日時に従って前記順番を決定する、請求項２〜６のいずれかに記載の画像処理装置。
【請求項８】
前記チェック手段による前記外部記憶装置に記憶された複数のデータに対するコンピューターウイルスの存在のチェックが完了する前に前記外部記憶装置との接続が解除されることに応じて、警告する警告手段を、さらに備えた請求項２〜７のいずれかに記載の画像処理装置。
【請求項９】
前記警告手段は、前記チェック手段による前記外部記憶装置に記憶された複数のデータに対するコンピューターウイルスの存在のチェックが完了していないデータの前記危険度が所定のしきい値以上の場合に警告する、請求項８に記載の画像処理装置。
【請求項１０】
前記外部記憶装置に記憶された複数のデータのうち前記チェック手段によるチェックが完了していないデータの前記危険度が所定のしきい値以上の間は前記外部記憶装置を取り外す操作の禁止を通知するチェック中警告手段を、さらに備えた請求項２〜９のいずれかに記載の画像処理装置。
【請求項１１】
データを記憶する内部記憶手段をさらに備え、
前記チェック手段は、前記対象データに対して前記内部記憶手段に記憶する処理が実行される場合、前記対象データに対してコンピューターウイルスの存在をチェックしない、請求項１〜１０のいずれかに記載の画像処理装置。
【請求項１２】
前記チェック手段は、前記対象データに基づいて処理が実行された後に、前記外部記憶装置に記憶された複数のデータのうちコンピューターウイルスの存在のチェックが完了していないデータに対してチェックを実行する、請求項１〜１１のいずれかに記載の画像処理装置。
【請求項１３】
前記チェック手段は、前記対象データが決定された時点で前記外部記憶装置に記憶された複数のデータのうちチェック中のデータに対するチェックが終了した後に、前記対象データをチェックする、請求項１〜１２のいずれかに記載の画像処理装置。
【請求項１４】
前記チェック手段による前記外部記憶装置に記憶された複数のデータに対する前記チェックの進捗を通知する進捗通知手段を、さらに備えた請求項１〜１３のいずれかに記載の画像処理装置。
【請求項１５】
前記チェック手段による前記外部記憶装置に記憶された複数のデータに対する前記チェックが完了することに応じて、前記チェックの完了を通知する完了通知手段を、さらに備えた請求項１〜１４のいずれかに記載の画像処理装置。
【請求項１６】
外部記憶装置が着脱可能な画像処理装置で実行されるウイルスチェック方法であって、
前記外部記憶装置が装着されたことが検出されることに応じて、前記外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックするチェックステップと、
前記外部記憶装置に記憶された複数のデータのうちから処理対象となる対象データを決定する対象決定ステップと、を含み、
前記チェックステップは、前記外部記憶装置に記憶された複数のデータをチェック中に前記対象データが決定されることに応じて、前記対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックするステップを含む、ウイルスチェック方法。
【請求項１７】
外部記憶装置が着脱可能な画像処理装置を制御するコンピューターで実行されるウイルスチェックプログラムであって、
前記外部記憶装置が装着されたことが検出されることに応じて、前記外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックするチェックステップと、
前記外部記憶装置に記憶された複数のデータのうちから処理対象となる対象データを決定する対象決定ステップと、を前記コンピューターに実行させ、
前記チェックステップは、前記外部記憶装置に記憶された複数のデータをチェック中に前記対象データが決定されることに応じて、前記対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックするステップを含む、ウイルスチェックプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、ウイルスチェック方法およびウイルスチェックプログラムに関し、特に、外部記憶装置が着脱可能な画像処理装置、その画像処理装置で実行されるウイルスチェック方法および画像処理装置を制御するコンピューターにそのウイルスチェック方法を実行させるウイルスチェックプログラムに関する。
【背景技術】
【０００２】
近年、複数の複合機（以下「ＭＦＰ」という）は、それが処理対象とするデータは、外部から入力されるデータである。例えば、ＭＦＰは、インターネットに接続されたコンピューターからデータをダウンロードして処理する場合がある。この場合、ＭＦＰは、コンピューターウイルスの脅威にさらされる。このため、ＭＦＰに入力されるデータに対して、コンピューターウイルスの存在をチェックするウイルスチェック処理を実行する必要がある。
【０００３】
特開２００６−２５６１０４号公報には、クライアントＰＣから受信したデータをメモリに保持した場合に、該保持されたデータにウイルスが混入していることをメインＣＰＵが実行する制御プログラムで検出した場合、ウイルスが混入していることをパネルに通知するとともに、メモリに記憶されているデータに混入しているウイルスによる二次感染を防止する構成を特徴とする、画像処理装置が記載されている。
【０００４】
近年のＭＦＰは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等の外部記憶装置が着脱可能であり、ＵＳＢメモリに記憶されたデータがウイルスに感染している場合がある。このため、ＵＳＢメモリに記憶されたデータに対してウイルスチェック処理する必要がある。
【０００５】
しかしながら、ＵＳＢメモリに記憶されたデータのすべてをウイルスチェック処理する場合、ウイルスチェック処理が完了するまで、ＭＦＰはＵＳＢメモリに記憶されたデータを処理することができず、ユーザーの待ち時間が発生するといった問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２５６１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、ユーザーの待ち時間を短くした画像処理装置を提供することである。
【０００８】
この発明の他の目的は、ユーザーの待ち時間を短くしたウイルスチェック方法を提供することである。
【０００９】
この発明の他の目的は、ユーザーの待ち時間を短くしたウイルスチェックプログラムを提供することである。
【課題を解決するための手段】
【００１０】
上述した目的を達成するためにこの発明のある局面によれば、画像処理装置は、外部記憶装置が着脱可能な画像形成装置であって、外部記憶装置が装着されたことが検出されることに応じて、外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックするチェック手段と、外部記憶装置に記憶された複数のデータのうちから処理対象となる対象データを決定する対象決定手段と、を備え、チェック手段は、外部記憶装置に記憶された複数のデータをチェック中に対象データが決定されることに応じて、対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックする。
【００１１】
この局面に従えば、外部記憶装置に記憶された複数のデータをチェック中に処理対象となる対象データが決定されることに応じて、対象データが他のデータよりも優先してコンピューターウイルスの存在がチェックされる。このため、外部記憶装置に記憶された複数のデータのすべてがチェックされる前に、対象データに対して処理が実行される。その結果、ユーザーの待ち時間を短くした画像処理装置を提供することができる。
【００１２】
好ましくは、外部記憶装置に記憶された複数のデータそれぞれの危険度に従って、外部記憶装置に記憶された複数のデータをチェックする順番を決定する順番決定手段を、さらに備え、チェック手段は、順番決定手段により決定された順番に従って外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックする。
【００１３】
この局面に従えば、外部記憶装置に記憶された複数のデータをチェックする順番がデータの危険度に従って決定されるので、コンピューターウイルスが存在する危険度の高いデータを先にチェックすることができる。
【００１４】
好ましくは、危険度は、外部記憶装置に記憶されたデータの属性に対して予め定められた値である。
【００１５】
好ましくは、チェック手段は、外部記憶装置に記憶された複数のデータのうち、コンピューターウイルスが存在する危険性のないことを示す危険度に対して定められた属性のデータはコンピューターウイルスの存在をチェックしない。
【００１６】
この局面に従えば、外部記憶装置に記憶された複数のデータのすべてをチェックしないようにして、チェックする時間を短くすることができる。
【００１７】
好ましくは、危険度は、コンピューターウイルスの存在を検出するための定義ファイルとともに外部からダウンロードされる。
【００１８】
好ましくは、最新の危険度に基づいて外部記憶装置に記憶された複数のデータをチェックする順番を決定することができる。
【００１９】
好ましくは、順番決定手段は、チェック手段によって過去にコンピューターウイルスが検出されたデータの属性に基づいて、順番を変更する変更手段を、さらに備える。
【００２０】
この局面に従えば、過去にコンピューターウイルスが検出された属性と同じ属性のデータを他の属性のデータよりも先にチェックすることができる。
【００２１】
好ましくは、順番決定手段は、外部記憶装置に記憶された複数のデータであって危険度が同じ複数のデータに対して、更新日時に従って順番を決定する。
【００２２】
この局面に従えば、更新日時が新しいデータを更新日時が古いデータよりも先にチェックすることができる。
【００２３】
好ましくは、チェック手段による外部記憶装置に記憶された複数のデータに対するコンピューターウイルスの存在のチェックが完了する前に外部記憶装置との接続が解除されることに応じて、警告する警告手段を、さらに備える。
【００２４】
この局面に従えば、外部記憶装置に記憶された複数のデータのすべてのチェックが終了していないことをユーザーに通知することができる。
【００２５】
好ましくは、警告手段は、チェック手段による外部記憶装置に記憶された複数のデータに対するコンピューターウイルスの存在のチェックが完了していないデータの危険度が所定のしきい値以上の場合に警告する。
【００２６】
好ましくは、外部記憶装置に記憶された複数のデータのうちチェック手段によるチェックが完了していないデータの危険度が所定のしきい値以上の間は外部記憶装置を取り外す操作の禁止を通知するチェック中警告手段を、さらに備える。
【００２７】
この局面に従えば、外部記憶装置に記憶された複数のデータのうち危険度が所定のしきい値以上のデータをチェックしている間は、外部記憶装置が取り外されないようにできる。
【００２８】
好ましくは、データを記憶する内部記憶手段をさらに備え、チェック手段は、対象データに対して内部記憶手段に記憶する処理が実行される場合、対象データに対してコンピューターウイルスの存在をチェックしない。
【００２９】
この局面に従えば、コンピューターウイルスに感染しない処理を直ちに実行可能にして、ユーザーの待ち時間を短くすることができる。
【００３０】
好ましくは、チェック手段は、対象データに基づいて処理が実行された後に、外部記憶装置に記憶された複数のデータのうちコンピューターウイルスの存在のチェックが完了していないデータに対してチェックを実行する。
【００３１】
この局面に従えば、対象データに対してチェックが実行された後に、外部記憶装置に記憶された複数のデータのうちコンピューターウイルスの存在のチェックが完了していないデータに対してコンピューターウイルスの存在がチェックされる。このため、外部記憶装置に記憶された複数のデータからウイルスが感染するのを防止することができる。また、対象データに対する処理を実行している間に別のデータをチェックしないようにして、対象データに対する処理を実行する時間が長くならないようにできる。
【００３２】
好ましくは、チェック手段は、対象データが決定された時点で外部記憶装置に記憶された複数のデータのうちチェック中のデータに対するチェックが終了した後に、対象データをチェックする。
【００３３】
好ましくは、チェック手段による外部記憶装置に記憶された複数のデータに対するチェックの進捗を通知する進捗通知手段を、さらに備える。
【００３４】
この局面に従えば、ユーザーにチェックの進捗を通知することができる。
【００３５】
好ましくは、チェック手段による外部記憶装置に記憶された複数のデータに対するチェックが完了することに応じて、チェックの完了を通知する完了通知手段を、さらに備える。
【００３６】
この局面に従えば、ユーザーは外部記憶装置に記憶された複数のデータに対するチェックが完了したことが通知されるので、ユーザーは、外部記憶装置を取り外すタイミングを知ることができる。
【００３７】
この発明の他の局面によれば、ウイルスチェック方法は、外部記憶装置が着脱可能な画像形成装置で実行されるウイルスチェック方法であって、外部記憶装置が装着されたことが検出されることに応じて、外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックするチェックステップと、外部記憶装置に記憶された複数のデータのうちから処理対象となる対象データを決定する対象決定ステップと、を含み、チェックステップは、外部記憶装置に記憶された複数のデータをチェック中に対象データが決定されることに応じて、対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックするステップを含む。
【００３８】
この局面に従えば、ユーザーの待ち時間を短くしたウイルスチェック方法を提供することができる。
【００３９】
この発明の他の局面によれば、ウイルスチェックプログラムは、外部記憶装置が着脱可能な画像形成装置を制御するコンピューターで実行されるウイルスチェックプログラムであって、外部記憶装置が装着されたことが検出されることに応じて、外部記憶装置に記憶された複数のデータそれぞれに対してコンピューターウイルスの存在をチェックするチェックステップと、外部記憶装置に記憶された複数のデータのうちから処理対象となる対象データを決定する対象決定ステップと、をコンピューターに実行させ、チェックステップは、外部記憶装置に記憶された複数のデータをチェック中に対象データが決定されることに応じて、対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックするステップを含む。
【００４０】
この局面に従えば、ユーザーの待ち時間を短くしたウイルスチェックプログラムを提供することができる。
【図面の簡単な説明】
【００４１】
【図１】ＭＦＰの外観を示す斜視図である。
【図２】ＭＦＰのハードウェア構成の概要を示すブロック図である。
【図３】ＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。
【図４】スキャンテーブルの一例を示す第１の図である。
【図５】危険度情報の一例を示す図である。
【図６】スキャンテーブルの一例を示す第２の図である。
【図７】履歴情報の一例を示す図である。
【図８】スキャンテーブルの一例を示す第３の図である。
【図９】スキャンテーブルの一例を示す第４の図である。
【図１０】定義ファイル取得処理の流れの一例を示すフローチャートである。
【図１１】ウイルスチェック処理の流れの一例を示すフローチャートである。
【図１２】順番決定処理の流れの一例を示すフローチャートである。
【図１３】対象データチェック処理の流れの一例を示すフローチャートである。
【図１４】処理制御処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００４２】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰返さない。
【００４３】
図１は、本発明の実施の形態の１つにおけるＭＦＰの外観を示す斜視図である。図２は、ＭＦＰのハードウェア構成の概要を示すブロック図である。図１および図２を参照して、ＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、画像が形成された用紙を処理する後処理部１５５と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００４４】
後処理部１５５は、画像形成部１４０により画像が形成された１以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
【００４５】
メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、ＵＳＢメモリ１１８が装着されるシリアルインターフェース１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、後処理部１５５および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００４６】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。さらに、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる画像データを一時的に記憶する。
【００４７】
通信Ｉ／Ｆ部１１２は、ＭＦＰ１００をネットワークに接続するためのインターフェースである。ＣＰＵ１１１は、通信Ｉ／Ｆ部１１２を介して、ＰＣ２００，２００Ａ〜２００Ｃとの間で通信し、データを送受信する。また、通信Ｉ／Ｆ部１１２は、ネットワークを介してインターネットに接続されたコンピューターと通信が可能である。
【００４８】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶する、または画像形成部１４０に出力する。画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００４９】
シリアルインターフェース１１７は、外部の装置とシリアル通信するためのインターフェースである。ここでは、シリアル通信は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格である。シリアルインターフェース１１７は、ＵＳＢ規格で通信可能な外部装置が接続可能である。ＣＰＵ１１１は、シリアルインターフェース１１７を介して外部装置にアクセス可能である。外部装置は、ＵＳＢメモリ１１８、ＣＤドライブ等の外部記憶装置を含む。ここでは、外部装置をＵＳＢメモリ１１８とする場合を例に説明する。ＵＳＢメモリ１１８は、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などの半導体メモリと、シリアル通信回路と、を備えている。ＣＰＵ１１１は、シリアルインターフェース１１７に装着されたＵＳＢメモリ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。
【００５０】
なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＵＳＢメモリ１１８に限られず、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）、ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、光カード、マスクＲＯＭ、であってもよい。
【００５１】
また、ＣＰＵ１１１が実行するプログラムは、ＵＳＢメモリ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、ネットワークに接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５２】
操作パネル１６０は、ＭＦＰ１００の上面に設けられ、表示部１６１と操作部１６３とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）または有機ＬＥ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、ハードキー部１６７とを含む。タッチパネル１６５は、表示部１６１の上面または下面に表示部１６１に重畳して設けられる。ハードキー部１６７は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。タッチパネル１６５は、表示部１６１の表示面中でユーザーにより指示された位置を検出する。
【００５３】
図３は、ＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。図３に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＵＳＢメモリ１１８に記憶されたウイルスチェックプログラムを実行することにより、ＣＰＵ１１１に形成される機能である。図３を参照して、ＣＰＵ１１１は、記憶装置制御部５１と、処理実行部５３と、順番決定部５５と、チェック部５７と、操作受付部５９と、定義ファイル取得部６１と、チェック履歴記憶部６３と、通知部６５と、を含む。
【００５４】
定義ファイル取得部６１は、予め定められたサーバーから定義ファイルを取得する。定義ファイルは、コンピューターウイルスの特長を記録したファイルであり、チェック部５７がデータ中からコンピューターウイルスを検出するために使用するファイルである。定義ファイル取得部６１が、定義ファイルを取得するタイミングは、限定するものではないが、予め定められた所定のタイミングである。所定のタイミングは、所定の間隔でよいし、ユーザーが指定した時点で取得してもよい。また、サーバーで定義ファイルが更新されることに応じて、取得してもよい。例えば、所定のタイミングとして、毎日１２時００分としてもよい。定義ファイル取得部６１は、定義ファイルを取得することに応じて、チェック部５７に定義ファイルを出力する。
【００５５】
定義ファイル取得部６１は、サーバーから定義ファイルとともに危険度情報を取得する。危険度情報は、データの属性と危険度との関係を定める。データの属性は、そのデータのファイル形式である。ファイル形式は、データのフォーマットである。危険度は、データに対してコンピューターウイルスに感染する確率の高さを示す。コンピューターウイルスが含まれる確率が高いほど危険度が高い。定義ファイル取得部６１は、危険度情報を順番決定部５５に出力する。
【００５６】
記憶装置制御部５１は、シリアルインターフェース１１７に装着された外部装置と通信し、外部装置を制御する。記憶装置制御部５１は、記憶装置検出部７１と、属性情報取得部７３と、データ取得部７５と、を含む。記憶装置検出部７１は、シリアルインターフェース１１７を制御して、シリアルインターフェース１１７に接続される外部装置を検出する。具体的には、記憶装置検出部７１は、シリアルインターフェース１１７にＵＳＢメモリ１１８が装着されると、ＵＳＢメモリ１１８を検出する。記憶装置検出部７１は、ＵＳＢメモリ１１８を検出することに応じて、装着信号を属性情報取得部７３および順番決定部５５に出力する。
【００５７】
属性情報取得部７３は、記憶装置検出部７１から装着信号が入力されることに応じて、ＵＳＢメモリ１１８に記憶された１以上のデータそれぞれの属性情報を取得する。データの属性は、ファイル名の拡張子で判断される。属性情報取得部７３は、ＵＳＢメモリ１１８に記憶された１以上のデータそれぞれのファイル名を取得する。データのファイル名は、コンピューターウイルスが存在しないので、ＵＳＢメモリ１１８からデータのファイル名を読み出してもコンピューターウイルスがＵＳＢメモリ１１８から読み出されることはない。属性情報取得部７３は、１以上のデータそれぞれのファイル名を操作受付部５９および順番決定部５５に出力する。
【００５８】
データ取得部７５は、後述するチェック部５７または処理実行部５３から読出指示が入力されることに応じて、ＵＳＢメモリ１１８から読出指示で特定されるファイル名のデータを読出し、読み出されたデータをチェック部５７および処理実行部５３のうち読出指示を出力した一方に出力する。
【００５９】
操作受付部５９は、操作パネル１６０を制御して、ユーザーが操作部１６３に入力する操作を受け付ける。例えば、表示部１６１に操作画面を表示し、ユーザーが操作画面に従って操作部１６３に入力する操作を受け付ける。操作画面は、処理実行部５３が処理を実行するための動作条件を設定するための設定画面を含む。動作条件は、処理実行部５３が実行する処理を定める条件、処理実行部５３が実行する処理の内容を定める条件含む。操作受付部５９は、ユーザーが操作部１６３に入力する操作を、処理実行部５３に出力する。
【００６０】
設定画面は、ＭＦＰ１００が実行可能な処理のうちからＭＦＰ１００に実行させる処理を選択する処理選択画面を含む。操作受付部５９は、ユーザーが処理選択画面に従って操作部１６３に操作を入力する場合、処理を選択する処理選択操作を受け付ける。
【００６１】
また、操作画面は、処理を実行するための設定値を設定するための設定画面を含む。例えば、画像形成処理に対する設定値は、カラーモードの設定値と、置数の設定値とを含む。カラーモードの設定値は、モノクロとカラーのいずれで画像を形成するかを定める。置数の設定値は、画像を形成する回数を定める。操作受付部５９は、ユーザーが設定画面に従って操作部１６３に操作を入力する場合、設定値を設定する設定操作を受け付ける。
【００６２】
操作受付部５９は、対象決定部８７を含む。対象決定部８７は、処理実行部５３が処理対象とするデータを対象データとして決定する。操作画面は、処理対象となるデータを選択するデータ選択画面を含む。データ選択画面は、ＨＤＤ１１５またはシリアルインターフェース１１７に装着されたＵＳＢメモリ１１８に記憶された複数のデータのいずれかを特定する設定値を受け付ける画面である。ここでは、ＵＳＢメモリ１１８に記憶された複数のデータのいずれかを特定する設定値を受け付ける場合を例に説明する。対象決定部８７は、属性情報取得部７３から入力される１以上のデータそれぞれのファイル名を選択可能なデータ選択画面を生成し、表示部１６１に表示する。対象決定部８７は、ユーザーがデータ選択画面に従って操作部１６３に操作を入力する場合、データを選択するデータ指定操作を受け付ける。対象決定部８７は、データ指定操作により特定されるデータを識別するためのデータ識別情報を、処理実行部５３およびチェック部５７に出力する。
【００６３】
処理実行部５３は、ハードウェア資源を制御して、操作受付部５９により受け付けられた操作に従って動作条件を設定し、動作条件に従って処理を実行する。ハードウェア資源は、具体的には、原稿読取部１３０、自動原稿搬送装置１２０、画像形成部１４０、給紙部１５０、操作パネル１６０、ＨＤＤ１１５、通信Ｉ／Ｆ部１１２、ファクシミリ部１１６およびシリアルインターフェース１１７を含む。処理実行部５３が実行する処理は、限定するものではないが、原稿読取処理、画像形成処理、データ送受信処理、ファクシミリ送受信処理、データ管理処理、外部サービス実行処理を含む。原稿読取処理は、原稿読取部１３０で原稿を読み取って得られる画像データを出力する処理である。画像形成処理は、データの画像を画像形成部１４０に給紙部１５０から供給される用紙に画像形成させる処理である。データ送受信処理は、通信Ｉ／Ｆ部１１２を介してＬＡＮ３に接続されたコンピューターからデータを受信する処理、または、ＨＤＤ１１５またはＵＳＢメモリ１１８に記憶されたデータを通信Ｉ／Ｆ部１１２を介してＬＡＮ３に接続されたコンピューターに送信する処理である。ファクシミリ送受信処理は、ファクシミリデータの画像をファクシミリ部１１６に送信させる処理、または、ファクシミリデータの画像を外部から受信する処理である。
【００６４】
データ管理処理は、ＨＤＤ１１５またはシリアルインターフェース１１７に装着されたＵＳＢメモリ１１８にデータを記憶する処理、ＨＤＤ１１５またはＵＳＢメモリ１１８に記憶されたデータを変更または削除する処理、ＨＤＤ１１５またはＵＳＢメモリ１１８に記憶されたデータのうちから１以上を処理対象に選択する処理である。データを変更する処理は、データを編集する画像処理、フォーマットを変更する画像処理を含む。外部サービス実行処理は、外部のコンピューターに所定の処理の実行を依頼する処理である。所定の処理は、外部のコンピューターが実行する処理である。所定の処理は、限定するものではないが、例えば、画像データを文字認識する処理、文字情報を異なる言語に翻訳する処理、データのフォーマットを変換する処理を含む。なお、処理実行部５３が実行可能な処理は、原稿読取処理、画像形成処理、データ送受信処理、ファクシミリ送受信処理、データ管理処理、外部サービス実行処理に限らず、他の処理を含んでもよい。
【００６５】
また、処理実行部５３は、原稿読取処理、画像形成処理、データ送受信処理、ファクシミリ送受信処理、データ管理処理および外部サービス実行処理のうち２以上を組み合わせた処理を実行可能である。例えば、処理実行部５３は、原稿読取処理と画像形成処理とを組み合わせたコピー処理を実行する。また、処理実行部５３は、データ受信処理と画像形成処理とを組み合わせたプリント処理を実行する。
【００６６】
順番決定部５５は、記憶装置検出部７１から装着信号が入力されることに応じて、ＵＳＢメモリ１１８に記憶されている１以上のデータをウイルスチェック処理する順番を決定する。順番決定部５５は、ＵＳＢメモリ１１８に記憶されている１以上のデータに対して決定された順番を、チェック部５７に出力する。
【００６７】
順番決定部５５は、属性情報取得部７３から入力される属性情報に基づいて、ＵＳＢメモリ１１８に記憶される１以上のデータそれぞれのファイル名と属性とを決定する。順番決定部５５は、定義ファイル取得部６１から入力される危険度情報に基づいて、ＵＳＢメモリ１１８に記憶される１以上のデータそれぞれに対してスキャン順を決定する。順番決定部５５は、危険度が高い属性のデータほど先の順に決定する。具体的には、順番決定部５５は、ＵＳＢメモリ１１８に記憶される１以上のデータそれぞれのファイル情報を読み出し、ファイル情報に基づいて、スキャンテーブルを生成する。ファイル情報は、データのファイル名および更新日時を少なくとも含む。順番決定部５５は、データのファイル名からデータの属性を決定する。順番決定部５５は、危険度情報を参照して、データの属性に関連付けられた危険度が高い順にデータを並び変えることによりスキャンテーブルを変更する。
【００６８】
順番決定部５５は、日時基準決定部７７と、変更部７９と、を含む。日時基準決定部７７は、ＵＳＢメモリ１１８に記憶されている１以上のデータのうちに、属性が同じ複数のデータが存在する場合、属性が同じ複数のデータを更新日時で並び替える。更新日時は、属性情報とともにＵＳＢメモリ１１８から読み出せばよい。日時基準決定部７７は、更新日時が後ほど先の順のスキャン順を決定する。更新日時が後のデータほどユーザーが処理対象とする可能性が高い場合がある。
【００６９】
変更部７９は、ウイルスチェックの履歴情報に基づいて、スキャン順を変更する。後述するチェック履歴記憶部６３によりＨＤＤ１１５に履歴情報が記憶される。履歴情報は、後述するチェック部５７によりコンピューターウイルスが検出されたデータの属性を含む。変更部７９は、ＨＤＤ１１５に履歴情報が記憶されている場合、履歴情報に含まれる属性のデータが他の属性のデータよりもスキャン順が先になるようにスキャンテーブルを変更する。
【００７０】
なお、変更部７９は、ＨＤＤ１１５に履歴情報が記憶されている場合、スキャン順を変更するのに代えて、属性優先テーブルを変更してもよい。履歴情報に含まれる属性のスキャン順を他の属性の優先順位よりも高くする。属性の異なる履歴情報が複数存在する場合には、履歴記憶された日時が後の属性ほど、優先順位を高くすればよい。順番決定部５５は、変更部７９により属性優先テーブルが変更される場合、変更後の属性優先テーブルを参照して、１以上のデータそれぞれに対して順番を決定する。
【００７１】
チェック部５７は、ＵＳＢメモリ１１８に記憶された１以上のデータに対してコンピューターウイルスが存在するか否かをチェックする。チェック部５７は、順番決定部５５からＵＳＢメモリ１１８に記憶された１以上のデータそれぞれの順番が入力される。チェック部５７は、ＵＳＢメモリ１１８に記憶された１以上のデータを、順番決定部５５から入力される順に従って、チェックする。
【００７２】
チェック部５７は、危険度基準判定部８１と、処理基準判定部８３と、処理禁止部８５と、を含む。危険度基準判定部８１は、危険度が所定のしきい値ＴＨ１以上の属性のデータに対してコンピューターウイルスが存在するか否かをチェックするが、危険度が所定のしきい値ＴＨ１より小さい属性のデータに対してコンピューターウイルスが存在するか否かをチェックしない。例えば、属性がテキストのデータは、コンピューターウイルスが埋め込まれることがない。危険度が所定のしきい値ＴＨ１より小さい属性を、コンピューターウイルスが埋め込まれることがないデータの属性とするのが好ましい。
【００７３】
処理基準判定部８３は、対象決定部８７から入力される対象データに対して、処理実行部５３により実行される処理が予め定められた処理の場合、対象データに対してコンピューターウイルスが存在するか否かをチェックしない。予め定められた処理は、ＨＤＤ１１５への記憶する処理である。ＨＤＤ１１５にデータを記憶しただけでは、ＭＦＰ１００は、コンピューターウイルスに感染しない。対象決定部８７から入力される対象データがＨＤＤ１１５に記憶された後に、対象データに対してコンピューターウイルスが存在するか否かをチェックすればよい。
【００７４】
処理禁止部８５は、対象決定部８７から入力される対象データに対してコンピューターウイルスが存在するか否かのチェックが完了するまでの対象データに対して処理実行部５３による処理の実行を禁止する。処理禁止部８５は、対象データに対してコンピューターウイルスが存在するか否かのチェックが完了するまでの間、処理実行部５３に禁止信号を出力する。処理禁止部８５は、対象データに対してコンピューターウイルスが存在するか否かのチェックが完了し、コンピューターウイルスが存在しないと判断する場合、処理実行部５３に禁止信号の出力を停止し、許可信号を出力する。
【００７５】
チェック部５７は、処理禁止部８５が処理実行部５３に許可信号を出力してから処理実行部５３による処理が終了するまでの間は、コンピューターウイルスが存在するか否かのチェックをしない。チェック部５７は、処理実行部５３による対象データに対する処理が完了することに応じて、チェックを再開する。具体的には、チェック部５７は、ＵＳＢメモリ１１８に記憶された１以上のデータのうちチェックが完了していない１以上のデータに対してコンピューターウイルスが存在するか否かをチェックする。
【００７６】
チェック履歴記憶部６３は、チェック部５７によるチェックの結果、コンピューターウイルスが存在すると判断される場合、履歴情報をＨＤＤ１１５に記憶する。履歴情報は、コンピューターウイルスが存在すると判断されたデータの属性と、チェックが実行された日時とを少なくとも含む。
【００７７】
通知部６５は、進捗通知部９１と、完了通知部９３と、チェック中警告部９５と、警告部９７と、を含む。進捗通知部９１は、チェック部５７がＵＳＢメモリ１１８に記憶された１以上のデータに対するウイルスチェック処理を実行している間、その進捗を通知する。例えば、通知部６５は、表示部１６１にコンピューターウイルスのチェック中であることを示すメッセージと、チェックの対象となっているデータのファイル名と、を表示する。
【００７８】
完了通知部９３は、ＵＳＢメモリ１１８に記憶された１以上のデータに対するチェック部５７によるチェックが完了することに応じて、ウイルスチェック処理が完了したことを通知する。例えば、表示部１６１にコンピューターウイルスのチェックが完了したことを示すメッセージを表示する。
【００７９】
警告部９７は、ＵＳＢメモリ１１８に記憶された１以上のデータに対するチェック部５７によるチェックが完了する前に、ＵＳＢメモリ１１８がシリアルインターフェース１１７から取り外されたことが記憶装置検出部７１により検出されることに応じて、警告する。例えば、表示部１６１にコンピューターウイルスのチェックが完了していないことを示すメッセージを表示する。ただし、警告部９７は、ＵＳＢメモリ１１８がシリアルインターフェース１１７から取り外されたことが記憶装置検出部７１により検出された段階で、ＵＳＢメモリ１１８に記憶された１以上のデータのうちチェックが完了していない１以上のデータのうちに、その属性に対する危険度がしきい値ＴＨ３以上のデータが存在する場合に、警告する。危険度がしきい値ＴＨ３より小さい場合は、コンピューターウイルスが感染しない場合がある。しきい値ＴＨ３は、しきい値ＴＨ１より大きく、しきい値ＴＨ２以下である。
【００８０】
チェック中警告部９５は、チェック部５７がＵＳＢメモリ１１８に記憶された１以上のデータに対するチェックを実行している間、ＵＳＢメモリ１１８に記憶された１以上のデータのうちチェックが完了していない１以上のデータのうちに、その属性に対する危険度がしきい値ＴＨ２以上のデータが存在する場合、ＵＳＢメモリ１１８をシリアルインターフェース１１７から取り外す操作の禁止を通知する。例えば、表示部１６１に、ＵＳＢメモリ１１８をシリアルインターフェース１１７から取り外す操作を禁止するメッセージを表示する。
【００８１】
図４は、スキャンテーブルの一例を示す第１の図である。図４に示すスキャンテーブルは、ＵＳＢメモリ１１８に記憶された１７個のデータが読み出された時点に生成されるスキャンテーブルの一例を示す。図４を参照して、スキャンテーブルは、ＵＳＢメモリ１１８に記憶される複数のデータそれぞれに対するデータレコードを含む。データレコードは、スキャン順の項目と、ファイルＮｏ．の項目と、ファイルパスの項目と、ファイル名の項目と、更新日時の項目とを含む。スキャン順の項目は、コンピューターウイルスの存在をチェックするウイルススキャン処理が実行される順番が設定される。ファイルＮｏ．の項目は、データに付された番号が設定される。ここでは、ファイルＮｏ．の項目は、ＵＳＢメモリ１１８から読み出された順番が設定される。ファイルパスの項目は、データがＵＳＢメモリ１１８に記憶されているフォルダの位置を示す情報が設定される。ファイル名の項目は、データに付された名称が設定される。ファイル名は、その拡張子がファイルの属性を示す。更新日時の項目は、データが最後に更新された日時が設定される。
【００８２】
図５は、危険度情報の一例を示す図である。危険度情報は、属性ごとに、その属性と危険度とを関連付ける危険度レコードを含む。図５を参照して、危険度レコードは、危険度の項目と、属性の項目と、を含む。属性の項目は、データの属性が設定される。属性は、ファイル形式としている。危険度の項目には、危険度が設定される。危険度は、数字が大きいほど高い。危険度が高い属性のデータのスキャン順を先にすることにより、危険度が高い属性のデータを危険度が低い属性のデータよりも優先してウイルスチェック処理することができる。
【００８３】
図６は、スキャンテーブルの一例を示す第２の図である。図６に示すスキャンテーブルは、図４に示したスキャンテーブルを、危険度情報に基づいて、危険度が高い順にスキャンレコードを並び替えることにより生成されるスキャンテーブルを示す。なお、属性が「ｔｉｆ」、「ｔｘｔ」のデータは、危険度情報に含まれておらず、コンピューターウイルスが埋め込まれる可能性のないファイルであることを示している。
【００８４】
図７は、履歴情報の一例を示す図である。履歴情報は、ウイルスチェック処理が実行されてコンピューターウイルスが検知されるごとに生成される履歴レコードを含む。履歴レコードは、検知日時の項目と、リスクの項目と、ファイル形式の項目と、を含む。検知日時の項目は、コンピューターウイルスが検知された日時が設定される。リスクの項目は、コンピューターウイルスを特定する情報が設定される、ファイル形式の項目は、コンピューターウイルスが検知されたデータの属性が設定される。属性「ＰＳ」、「ＰＤＦ」、「ｘｌｓｘ」、「ＸＰＳ」のデータでコンピューターウイルスが検知されたことを示している。
【００８５】
図８は、スキャンテーブルの一例を示す第３の図である。図８に示すスキャンテーブルは、図６に示したスキャンテーブルを、履歴情報に存在する属性のデータのスキャン順が先になるように並び替えることにより生成されるスキャンテーブルを示す。履歴情報は、その履歴情報で定められる属性のデータが過去にＭＦＰ１００に入力されたことを示すため、それと同じの属性のデータをユーザーが使用する確率が高く、ＵＳＢメモリ１１８に記憶されている確率が高い。このため、履歴情報に基づいてスキャンテーブルを並び替えることにより、ユーザーが処理対象に指定する対象データのスキャン順が前になる確率を高くすることができる。
【００８６】
履歴情報が複数の履歴レコードを含み、過去にコンピューターウイルスが検知されたデータの属性が４つである。この場合、検知日時が新しいファイル形式を検知日時が古いファイル形式よりも優先する。具体的には、図６に示したスキャンテーブルには、属性「ＰＳ」の属性のスキャンレコードが、存在しない。このため属性が「ＰＤＦ」、「ｘｌｓｘ」、「ＸＰＳ」の順に、図６に示したスキャンテーブルに含まれるスキャンレコードが並び替えられる。
【００８７】
検知日時が新しい属性のデータは、検知日時が古い属性のデータよりもユーザーが使用する確率が高く、ＵＳＢメモリ１１８に記憶されている確率が高い。このため、検知日時に基づいてスキャンテーブルを並び替えることにより、ユーザーが処理対象に指定する対象データのスキャン順が前になる確率を高くすることができる。
【００８８】
図９は、スキャンテーブルの一例を示す第４の図である。図９に示すスキャンテーブルは、図８に示したスキャンテーブルを、属性が同じ複数のデータのスキャンレコードを更新日時で並び替えることにより生成されるスキャンテーブルを示す。例えば、ファイル形式「ＰＤＦ」のデータは、ファイルＮｏ．１、７、９、１１、１２、１４の５つある。ファイルＮｏ．１、７、９、１１、１２、１４のスキャンレコードを、更新日時が新しいスキャンレコードを更新日時が古いスキャンレコードよりもスキャン順が先になるように並び替える。その結果、スキャン順が、ファイルＮｏ．１、１２、１４、９、７、１１の順になる。更新日時が新しいファイル形式のデータは、更新日時が古いファイル形式のデータよりもユーザーが使用する確率が高い。このため、更新日時に基づいて属性が同じ複数のデータにそれぞれ対応する複数のスキャンレコードを並び替えることにより、ユーザーが処理対象に指定する対象データのスキャン順が前になる確率を高くすることができる。
【００８９】
図１０は、定義ファイル取得処理の流れの一例を示すフローチャートである。定義ファイル取得処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＵＳＢメモリ１１８に記憶されたデータ共有プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。
【００９０】
図１０を参照して、ＣＰＵ１１１は、現在日時がパターン更新タイミングか否かを判断する（ステップＳ０１）。ＣＰＵ１１１は、パターン更新タイミングになるまで待機状態となり（ステップＳ０１でＮＯ）、パターン更新タイミングになると処理をステップＳ０２に進める。ステップＳ０２においては、サーバーから定義ファイルがダウンロードされ、処理はステップＳ０３に進む。ステップＳ０３おいては、定義ファイルがＨＤＤ１１５に記憶され、処理はステップＳ０４に進む。ステップＳ０４においては、サーバーから危険度情報がダウンロードされ、処理はステップＳ０５に進む。ステップＳ０５においては、ＨＤＤ１１５に危険度情報が記憶され、処理は終了する。
【００９１】
図１１は、ウイルスチェック処理の流れの一例を示すフローチャートである。ウイルスチェック処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＵＳＢメモリ１１８に記憶されたウイルスチェックプログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１１を参照して、ＣＰＵ１１１は、シリアルインターフェース１１７に外部装置が接続されたか否かを判断する。ＣＰＵ１１１は、外部装置が接続されるまで待機状態となり（ステップＳ１１でＮＯ）、外部装置が接続されると処理をステップＳ１２に進める。ここでは、外部装置としてＵＳＢメモリ１１８がシリアルインターフェース１１７に接続される場合を例に説明する。
【００９２】
ステップＳ１２おいては、順番決定処理が実行される。順番決定処理の詳細は後述するが、ＵＳＢメモリ１１８に記憶されている複数のデータをウイルスチェックする順番であるスキャン順を決定する処理である。
【００９３】
ステップＳ１３においては、コンピューターウイルスのチェックの対象となるデータが、スキャン順に選択され、処理はステップＳ１４に進む。ステップＳ１４においては、チェックの対象となるデータの属性に対する危険度がしきい値ＴＨ１以上か否かが判断される。危険度がしきい値ＴＨ１以上ならば処理はステップＳ１５に進むが、そうでなければ処理はステップＳ２２に進む。しきい値ＴＨ１より小さい危険度は、コンピューターウイルスが含まれることのないデータの属性に対して付される危険度である。
【００９４】
ステップＳ１５においては、コンピューターウイルスのチェックが進行中であることが通知され、処理はステップＳ１６に進む。例えば、チェック中であることのメッセージと、チェックの対象となるデータのファイル名と、が表示部１６１に表示される。
【００９５】
ステップＳ１６においては、危険度がしきい値ＴＨ２以上か否かが判断される。しきい値ＴＨ２は、しきい値ＴＨ１より大きな値であり、予め定められた値である。危険度がしきい値ＴＨ２以上ならば処理はステップＳ１７に進むが、そうでなければ処理はステップＳ１８に進む。ステップＳ１７においては、ＵＳＢメモリ１１８を取り外す操作の禁止が通知され、処理はステップＳ１８に進む。例えば、ＣＰＵ１１１は、表示部１６１に、ＵＳＢメモリ１１８をシリアルインターフェース１１７から取り外す操作を禁止するメッセージを表示する。
【００９６】
ステップＳ１８においては、ステップＳ１３においてチェックの対象に選択されたデータに対してウイルスチェックが開始される。次のステップＳ１９においては、ウイルスチェックが終了したか否かが判断される。ウイルスチェックが終了したならば処理はステップＳ２０に進むが、そうでなければ処理はステップＳ２４に進む。ステップＳ２０においては、コンピューターウイルスが検出されたか否かを判断する。コンピューターウイルスが検出されたならば処理はステップＳ２１に進むが、そうでなければ処理はステップＳ２２に進む。ステップＳ２１においては、ウイルスチェックの履歴を示す履歴情報がＨＤＤ１１５に記憶され、処理はステップＳ２２に進む。履歴情報は、コンピューターウイルスが検出された日時、コンピューターウイルスを特定する情報、コンピューターウイルスが検知されたデータの属性を含む。
【００９７】
ステップＳ２２においては、チェックの対象とするべきデータが存在するか否かが判断される。ＵＳＢメモリ１１８に記憶されたデータのうちステップＳ１３においてチェックの対象に選択されていないデータが存在するか否かが判断される。そのようなデータが存在するならば処理はステップＳ１３に戻るが、そうでなければ処理はステップＳ２３に進む。ステップＳ２３においては、ＣＰＵ１１１は、ウイルスチェックが完了したことを通知し、処理を終了する。例えば、ＣＰＵ１１１は、表示部１６１にコンピューターウイルスのチェックが完了したことを示すメッセージを表示する。
【００９８】
ステップＳ２４においては、対象データが決定されたか否かが判断される。ＭＦＰ１００を操作するユーザーにより、ＭＦＰ１００に処理を実行させるために、その処理の対象となるデータがＵＳＢメモリ１１８に記憶されたデータのうちから選択されたならば、その選択されたデータが対象データに決定される。対象データが決定されたならば処理はステップＳ２５に進むが、そうでなければ処理はステップＳ２６に進む。ステップＳ２５においては、対象データチェック処理が実行され、処理はステップＳ２２に進む。対象データチェック処理の詳細は後述するが、ＵＳＢメモリ１１８に記憶されたデータのうち対象データを他のデータよりも優先して、コンピューターウイルスの存在をチェックする処理である。
【００９９】
ステップＳ２６においては、シリアルインターフェース１１７から外部装置が取り外されたか否かが判断される。外部装置が取り外されたならば処理はステップＳ２７に進むが、そうでなければ処理はステップＳ１９に戻る。ステップＳ２７においては、チェックの対象のデータの危険度がしきい値ＴＨ３以上か否かが判断される。しきい値ＴＨ３は、しきい値ＴＨ１より大きく、しきい値ＴＨ２以下の値である。危険度がしきい値ＴＨ３以上ならば処理はステップＳ２８に進むが、そうでなければ処理は終了する。
【０１００】
ステップＳ２８においては、ＣＰＵ１１１は、ユーザーに警告し、処理を終了する。例えば、表示部１６１にコンピューターウイルスのチェックが完了していないことを示すメッセージを表示する。
【０１０１】
図１２は、順番決定処理の流れの一例を示すフローチャートである。順番決定処理は、図１１のステップＳ１２において実行される処理である。図１２を参照して、ＣＰＵ１１１は、ファイル情報を取得する（ステップＳ３１）。具体的には、ＣＰＵ１１１は、ＵＳＢメモリ１１８に記憶される１以上のデータそれぞれのファイル情報を読み出す。ファイル情報は、データのファイル名および更新日時を少なくとも含む。次のステップＳ３２においては、ファイル情報に基づいて、スキャンテーブル１が生成される。スキャンテーブル１は、データのファイルＮｏ．、ファイルパス、ファイル名、更新日時を含むスキャンレコードを並べたテーブルである。
【０１０２】
次のステップＳ３３においては、危険度情報が取得される。サーバーからダウンロードされて、ＨＤＤ１１５に記憶された危険度情報が取得される。次のステップＳ３４においては、危険度の高い順にデータが並べ替えられる。そして、スキャンテーブル２が生成される（ステップＳ３５）。ＣＰＵ１１１は、スキャンテーブル１に含まれるスキャンレコードを、データの属性に関連付けられた危険度が高い順に並び変えたスキャンテーブル２を生成する。
【０１０３】
次のステップＳ３６においては、履歴情報が記憶されているか否かを判断する。履歴情報がＨＤＤ１１５に記憶されているならば処理はステップＳ３７に進むが、そうでなければ処理はステップＳ３９に進む。ステップＳ３７においては、履歴情報で定められたコンピューターウイルスが検出された属性のデータのスキャン順が先に変更される。そして、スキャンテーブル３が生成される（ステップＳ３８）。ＣＰＵ１１１は、履歴情報に含まれる属性のデータのスキャン順を他の属性のデータのスキャン順よりも先になるようにスキャンテーブル２に含まれるスキャンレコードを並び変えたスキャンテーブル３を生成する。
【０１０４】
次のステップＳ３９においては、ＣＰＵ１１１は、同一属性のデータを更新日時で並び替える。そして、スキャンテーブル４が生成され（ステップＳ４０）、処理がウイルスチェック処理に戻る。ＣＰＵ１１１は、スキャンテーブル３に含まれるスキャンレコードを、履歴情報に含まれる属性のデータのスキャン順を、他の属性のデータのスキャン順よりも先になるように並び変えたスキャンテーブル４を生成する。
【０１０５】
図１３は、対象データチェック処理の流れの一例を示すフローチャートである。対象データチェック処理は、図１０のステップＳ２５において実行される処理である。対象データチェック処理が実行される前の段階で、対象データが決定されており、かつ、ＵＳＢメモリ１１８に記憶された複数のデータのいずれかに対してコンピューターウイルスのチェックが開始され、実行されている。
【０１０６】
図１３を参照して、ＣＰＵ１１１は、実行中のコンピューターウイルスのチェックが終了したか否かを判断する。チェックが終了するまで待機状態となり（ステップＳ５１でＮＯ）、チェックが終了したならば（ステップＳ５１でＹＥＳ）、処理をステップＳ５２に進める。ステップＳ５２においては、コンピューターウイルスが検出されたか否かが判断される。コンピューターウイルスが検出されたならば処理はステップＳ５３に進むが、そうでなければ処理はステップＳ５４に進む。ステップＳ５３においては、ウイルスチェックの履歴を示す履歴情報がＨＤＤ１１５に記憶され、処理はステップＳ５４に進む。
【０１０７】
ステップＳ５４においては、対象データに対して実行が設定された処理が所定の処理か否かが判断される。所定の処理は、例えば、ＨＤＤ１１５に記憶する処理である。対象データの処理が所定の処理ならば処理はステップＳ５９に進むが、そうでなければ処理はステップＳ５５に進む。所定の処理は、対象データに実行されてもコンピューターウイルスに感染しない処理である。
【０１０８】
ステップＳ５５においては、対象データに対する処理の実行が不可能な状態に設定され、処理はステップＳ５６に進む。ステップＳ５６においては、対象データに対してウイルスチェックが開始され、処理はステップＳ５７に進む。ステップＳ５７においては、ウイルスチェックが終了したか否かが判断される。ウイルスチェックが終了するまで待機状態となり（ステップＳ５７でＮＯ）、ウイルスチェックが終了したならば（ステップＳ５７でＹＥＳ）、処理はステップＳ５８に進む。
【０１０９】
ステップＳ５８においては、対象データに対する処理の実行が可能な状態に設定され、処理はステップＳ５９に進む。ステップＳ５９においては、対象データに対して処理が実行されたか否かを判断する。対象データに対して処理が実行されるまで待機状態となり（ステップＳ５９でＮＯ）、対象データに対して処理が実行されたならば（ステップＳ５９でＹＥＳ）、処理はウイルスチェック処理に戻る。対象データに対して処理が実行されている間は、別のデータに対してウイルスチェックされないので、ＣＰＵ１１１の負荷をできるだけ小さくして、対象データに対する処理を実行する時間が長くならないようにできる。
【０１１０】
図１４は、処理制御処理の流れの一例を示すフローチャートである。処理制御処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＵＳＢメモリ１１８に記憶された制御プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１４を参照して、ＣＰＵ１１１は、操作を受け付けたか否かを判断する（ステップＳ６１）。操作部１６３がユーザーの入力する操作を受け付けるまで待機状態となり（ステップＳ６１でＮＯ）、操作を受け付けたならば処理をステップＳ６２に進める。
【０１１１】
ステップＳ６２においては、ユーザーにより入力される操作が、処理を選択する処理選択操作か否かが判断される（ステップS６１）。処理選択操作ならば処理はステップＳ６３に進むが、そうでなければ処理はステップＳ６４に進む。ステップＳ６３においては、処理選択操作により特定される処理が実行可能な状態に設定され、処理はステップＳ６１に戻る。
【０１１２】
ステップＳ６４においては、ユーザーにより入力される操作が、設定値を設定する設定操作か否かが判断される。設定操作ならば処理はステップＳ６５に進むが、そうでなければ処理はステップＳ６６に進む。ステップＳ６５においては、ＣＰＵ１１１は、設定操作により特定される設定値が設定され、処理はステップＳ６１に戻る。
【０１１３】
ステップＳ６６においては、ユーザーにより入力される操作が、データを指定するデータ指定操作か否かが判断される。データ指定操作ならば処理はステップＳ６７に進むが、そうでなければ処理はステップＳ６８に進む。ステップＳ６７においては、データ指定操作により特定されるデータが対象データに決定され、処理はステップＳ６１に戻る。
【０１１４】
ステップＳ６８においては、ユーザーにより入力される操作が、処理の実行を指示する処理実行操作か否かが判断される。処理実行操作ならば処理はステップＳ６９に進むが、そうでなければ処理はステップＳ６１に戻る。ステップＳ６９においては、処理が実行可能か否かが判断される。対象データに対する処理の実行が不可能に設定されていれば待機状態となり（ステップＳ６９でＮＯ）、対象データに対する処理が実行可能に設定されると（ステップＳ６９でＹＥＳ）、処理はステップＳ７０に進む。
【０１１５】
ステップＳ７０においては、動作条件に従って処理が実行され、処理は終了する。具体的には、ＣＰＵ１１１は、ステップＳ６７において決定された対象データに、ステップＳ６３において設定された処理を、ステップＳ６５において設定された設定値に従って実行する。
【０１１６】
以上説明したように本実施の形態におけるＭＦＰ１００は、画像処理装置として機能し、外部記憶装置として機能するＵＳＢメモリ１１８に記憶された複数のデータに対してコンピューターウイルスの存在をチェック中に処理対象となる対象データが決定されることに応じて、対象データを他のデータよりも優先してコンピューターウイルスの存在をチェックする。このため、ＵＳＢメモリ１１８に記憶された複数のデータのすべてがチェックされる前に、対象データに対して処理が実行されるので、ユーザーの待ち時間を短くできる。
【０１１７】
また、ＭＦＰ１００は、対象データに対してコンピューターウイルスの存在のチェックが終了することに応じて、ＵＳＢメモリ１１８に記憶された複数のデータのうちチェックが終了していないデータに対してチェックを再開する。このため、ＵＳＢメモリに記憶された複数のデータからコンピューターウイルスが感染するのを防止することができる。
【０１１８】
また、ＭＦＰ１００は、ＵＳＢメモリ１１８に記憶された複数のデータをチェックする順番をデータの属性に対して定められた危険度に従って決定するので、コンピューターウイルスが存在する危険度の高いデータを先にチェックすることができる。
【０１１９】
また、ＭＦＰ１００は、危険度と属性とを関連付けた危険度情報を定義ファイルとともに外部のサーバーからダウンロードするので、危険度を更新することができ、最も新しい危険度を用いることできる。
【０１２０】
また、ＭＦＰ１００は、過去にコンピューターウイルスが検出されたデータの属性に基づいて、順番を変更するので、過去にコンピューターウイルスが検出された属性と同じ属性のデータを他の属性のデータよりも先にチェックすることができる。
【０１２１】
また、ＭＦＰ１００は、ＵＳＢメモリ１１８に記憶された複数のデータであって危険度が同じ複数のデータを更新日時で順番を変更するので、更新日時が新しいデータを更新日時が古いデータよりも先にチェックすることができる。更新日時が新しいほど、ユーザーが処理対象に選択する確率が高い。このため、ユーザーが対象データを指定する前にコンピューターウイルスのチェックを完了させることができる場合がある。
【０１２２】
また、ＭＦＰ１００は、チェックが完了する前にＵＳＢメモリ１１８がシリアルインターフェース１１７から取り外されると、警告するので、ＵＳＢメモリ１１８に記憶された複数のデータのすべてのチェックが終了していないことをユーザーに通知することができる。
【０１２３】
また、ＭＦＰ１００は、ＵＳＢメモリ１１８に記憶された複数のデータに対するコンピューターウイルスの存在のチェックが完了していないデータの危険度が所定のしきい値以上の場合に警告し、所定のしきい値より小さい場合に警告しない。
【０１２４】
また、ＭＦＰ１００は、コンピューターウイルスが存在する危険性のないことを示す危険度に対して定められた属性のデータはコンピューターウイルスの存在をチェックしないので、チェックする時間を短くすることができ、ユーザーの待ち時間を短くすることができる。
【０１２５】
また、ＭＦＰ１００は、ＵＳＢメモリ１１８に記憶された複数のデータのうちチェックが完了していないデータの危険度が所定のしきい値以上の間はＵＳＢメモリ１１８を取り外す操作の禁止を通知するので、危険度が所定のしきい値以上のデータをチェックしている間はＵＳＢメモリ１１８がユーザーにより取り外されないようにできる。
【０１２６】
また、ＭＦＰ１００は、対象データをＨＤＤ１１５に記憶する処理が実行される場合は、対象データに対してコンピューターウイルスの存在をチェックしないので、コンピューターウイルスに感染しない処理を直ちに実行可能にして、ユーザーの待ち時間を短くすることができる。対象データは、ＨＤＤ１１５に記憶された後にチェックすればよい。
【０１２７】
また、ＭＦＰ１００は、対象データに基づいて処理が実行された後に、コンピューターウイルスの存在のチェックが完了していないデータに対してチェックを実行するので、対象データに対する処理とチェックとを並列で実行しないようにして、処理時間が長くならないようにできる。
【０１２８】
また、ＭＦＰ１００は、ＵＳＢメモリ１１８に記憶された複数のデータに対するチェックの進捗を通知するので、ユーザーにチェックの進捗を通知することができる。
【０１２９】
また、ＭＦＰ１００は、ＵＳＢメモリ１１８に記憶された複数のデータに対するチェックが完了することに応じて、チェックの完了を通知するので、ユーザーはＵＳＢメモリ１１８をＭＦＰ１００から取り外すタイミングを知ることができる。
【０１３０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３１】
１００  ＭＦＰ、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  シリアルインターフェース、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１５５  後処理部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部、１〜４  スキャンテーブル、５１  記憶装置制御部、５３  処理実行部、５５  順番決定部、５７  チェック部、５９  操作受付部、６１  定義ファイル取得部、６３  チェック履歴記憶部、６５  通知部、７１  記憶装置検出部、７３  属性情報取得部、７５  データ取得部、７７  日時基準決定部、７９  変更部、８１  危険度基準判定部、８３  処理基準判定部、８５  処理禁止部、８７  対象決定部、９１  進捗通知部、９３  完了通知部、９５  チェック中警告部、９７  警告部。
【図１】
2020090057.tif 000003
【図２】
2020090057.tif 000004
【図３】
2020090057.tif 000005
【図４】
2020090057.tif 000006
【図５】
2020090057.tif 000007
【図６】
2020090057.tif 000008
【図７】
2020090057.tif 000009
【図８】
2020090057.tif 000010
【図９】
2020090057.tif 000011
【図１０】
2020090057.tif 000012
【図１１】
2020090057.tif 000013
【図１２】
2020090057.tif 000014
【図１３】
2020090057.tif 000015
【図１４】
2020090057.tif 000016