(57)【要約】      （修正有）【課題】外部から受信されたデータに対して、コンピューターウィルスの存在を効率的にチェックすることができる情報処理システム、情報処理装置、データ処理方法及びデータ処理プログラムを提供する。【解決手段】情報処理システムは、複数の情報処理装置を含む情報処理システムであって、複数の情報処理装置それぞれは、データにおけるコンピューターウィルスの存在をチェックするチェック部６５と、外部から受信されたデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定部６７と、を備える。【選択図】図４
2019160078.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置を含む情報処理システムであって、
前記複数の情報処理装置それぞれは、外部から受信されたデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定手段と、
前記データにおけるコンピューターウィルスの存在をチェックするチェック手段と、
を備えた情報処理システム。
【請求項２】
前記決定手段は、所定の条件が成立する場合、コンピューターウィルスの存在をチェックしないことに決定する、請求項１に記載の情報処理システム。
【請求項３】
前記所定の条件は、外部から受信された前記データとは別のデータに対してコンピューターウィルスの存在がチェックされている状態を検出する条件を含む、請求項２に記載の情報処理システム。
【請求項４】
前記複数の情報処理装置それぞれは、演算装置をさらに備え、
前記チェック手段は、前記演算装置が所定のプログラムを実行することにより前記演算装置に形成され、
前記所定の条件は、前記演算装置の負荷が所定の値以上となる事象を検出する条件を含む、請求項２または３に記載の情報処理システム。
【請求項５】
前記所定の条件は、前記複数の情報処理装置のうち自装置とは別の実行装置から、外部から受信された前記データの送信が要求される事象を検出する条件を含む、請求項２〜４のいずれかに記載の情報処理システム。
【請求項６】
前記複数の情報処理装置それぞれは、前記実行装置から前記データの送信が要求される時点で、要求された前記データに対するチェックが完了していない場合、要求された前記データのチェックを前記実行装置に依頼する依頼手段を、さらに備えた請求項５に記載の情報処理システム。
【請求項７】
前記依頼手段は、前記実行装置からの要求に応じて、要求された前記データを、前記データに対するチェックの状態を示す付加情報とともに前記実行装置に送信し、
前記実行装置として機能する場合に、前記決定手段は、前記データを要求した装置から前記データとともに受信される前記付加情報がコンピューターウィルスの存在のチェックが完了していない未完状態を示す場合、前記データをチェックすることに決定する、請求項６に記載の情報処理システム。
【請求項８】
前記複数の情報処理装置それぞれは、外部から受信された前記データを、前記実行装置に送信した後も記憶する記憶制御手段を、さらに備え、
前記記憶制御手段は、外部から受信された前記データのチェックが前記実行装置に依頼され、前記実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶された前記データにコンピューターウィルスが存在しないことを示す付加情報を関連付ける、請求項６または７に記載の情報処理システム。
【請求項９】
１以上のクライアントのいずれかのために外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定手段と、
前記データに対してコンピューターウィルスの存在をチェックするチェック手段と、を備えた情報処理装置。
【請求項１０】
前記決定手段は、所定の条件が成立する場合、コンピューターウィルスの存在をチェックしないことに決定する、請求項９に記載の情報処理装置。
【請求項１１】
前記所定の条件は、外部から受信された前記データとは別のデータに対してコンピューターウィルスの存在がチェックされている状態を検出する条件を含む、請求項１０に記載の情報処理装置。
【請求項１２】
演算装置を、さらに備え、
前記チェック手段は、前記演算装置が所定のプログラムを実行することにより前記演算装置に形成され、
前記所定の条件は、前記演算装置の負荷が所定の値以上となる事象を検出する条件を含む、請求項１０または１１に記載の情報処理装置。
【請求項１３】
前記所定の条件は、前記１以上のクライアントのうちコンピューターウィルスの存在をチェック可能な実行装置から、外部から受信された前記データの送信が要求される事象が検出される条件を含む、請求項１０〜１２のいずれかに記載の情報処理装置。
【請求項１４】
前記実行装置から前記データの送信が要求される時点で、要求された前記データに対するチェックが完了していない場合、要求された前記データのチェックを前記実行装置に依頼する依頼手段を、さらに備えた請求項１３に記載の情報処理装置。
【請求項１５】
前記依頼手段は、前記実行装置からの要求に応じて、要求された前記データを、前記データに対するチェックの状態を示す付加情報とともに前記実行装置に送信する、請求項１４に記載の情報処理装置。
【請求項１６】
外部から受信された前記データを、前記実行装置に送信した後も記憶する記憶制御手段を、さらに備え、
前記記憶制御手段は、外部から受信された前記データのチェックが前記実行装置に依頼され、前記実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶された前記データにコンピューターウィルスが存在しないことを示す付加情報を関連付ける、請求項１４または１５に記載の情報処理装置。
【請求項１７】
請求項９〜１６のいずれかに記載の情報処理装置は、前記１以上のクライアントのいずれかである。
【請求項１８】
複数の情報処理装置を含む情報処理システムで実行されるデータ処理方法であって、
前記複数の情報処理装置それぞれに、外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定ステップと、
前記データにおけるコンピューターウィルスの存在をチェックするチェックステップと、を実行させるデータ処理方法。
【請求項１９】
情報処理装置で実行されるデータ処理方法であって、
外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定ステップと、
前記データにおけるコンピューターウィルスの存在をチェックするチェックステップと、を含むデータ処理方法。
【請求項２０】
情報処理装置を制御するコンピューターで実行されるデータ処理プログラムであって、
外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定ステップと、
前記データにおけるコンピューターウィルスの存在をチェックするチェックステップと、を前記コンピューターに実行させるデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理システム、情報処理装置、データ処理方法およびデータ処理プログラムに関し、特に、ネットワークに接続された複数の情報処理装置間でデータを共有する情報処理システム、その情報処理システムに含まれる情報処理装置、その情報処理装置で実行されるデータ処理方法およびデータ処理プログラムに関する。
【背景技術】
【０００２】
近年、複数の複合機（以下「ＭＦＰ」という）がネットワークに接続される場合があり、ユーザーが、任意のＭＦＰを操作することで、複数のＭＦＰのいずれかに記憶されたデータの画像を形成する機能が、ユビキタスプリント機能として知られている。
【０００３】
一方、ＭＦＰは、インターネットに接続されたコンピューターからデータをダウンロード等する場合があり、コンピューターウィルスの脅威にさらされる。このため、ＭＦＰに入力されるデータに対して、コンピューターウィルスの存在をチェックする必要がある。
【０００４】
特開２００６−２７７００４号公報には、ネットワークに接続される複数のプリンタを管理し、クライアントからの要求に応じてプリンタへの出力処理を行うデバイス管理サーバーにおいて、クライアントから受信したデータファイルに対して、ウィルスチェックを行い、ウィルス感染あるいは、その疑いが検出された場合に、該当ファイルのウィルスを駆除かつ／または、該当ファイルの削除を行うデバイス管理サーバーが記載されている。
【０００５】
しかしながら、特開２００６−２７７００４号公報に記載のデバイス管理サーバーは、複数のプリンタに代わってウィルスチェックを実行するために、管理サーバーの負荷が大きくなるといった問題がある。特に、デバイス管理サーバーで複数のデータを並列してウィルスチェックする場合や、デバイス管理サーバーが他の処理のために負荷が大きい状態の場合等には、ウィルスチェックのための時間が長くなるといった問題がある。
【特許文献１】特開２００６−２７７００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、コンピューターウィルスの存在を効率的にチェックすることが可能な情報処理システムを提供することである。
【０００７】
この発明の他の目的は、コンピューターウィルスの存在を効率的にチェックすることが可能な情報処理装置を提供することである。
【０００８】
この発明のさらに他の目的は、コンピューターウィルスの存在を効率的にチェックすることが可能なデータ処理方法を提供することである。
【０００９】
この発明のさらに他の目的は、コンピューターウィルスの存在を効率的にチェックすることが可能なデータ処理プログラムを提供することである。
【課題を解決するための手段】
【００１０】
上述した目的を達成するためにこの発明のある局面によれば、情報処理システムは、複数の情報処理装置を含む情報処理システムであって、複数の情報処理装置それぞれは、外部から受信されたデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定手段と、データにおけるコンピューターウィルスの存在をチェックするチェック手段と、を備える。
【００１１】
この局面に従えば、複数の情報処理装置それぞれにおいて、外部から受信されたデータに対して、コンピューターウィルスの存在をチェックするか否かが決定され、データにおけるコンピューターウィルスの存在がチェックされる。このため、複数の情報処理装置のいずれか１つで、データに対してコンピューターウィルスの存在をチェックすることができる。その結果、コンピューターウィルスの存在を効率的にチェックすることが可能な情報処理システムを提供することができる。
【００１２】
好ましくは、決定手段は、所定の条件が成立する場合、コンピューターウィルスの存在をチェックしないことに決定する。
【００１３】
この局面に従えば、所定の条件が成立する場合にコンピューターウィルスの存在をチェックしないようにして、外部からデータを受信する情報処理装置の負荷を低減することができる。
【００１４】
好ましくは、所定の条件は、外部から受信されたデータとは別のデータに対してコンピューターウィルスの存在がチェックされている状態を検出する条件を含む。
【００１５】
この局面に従えば、外部から受信されたデータとは別のデータに対してコンピューターウィルスの存在がチェックされている状態で、外部から受信されたデータをチェックしないようにして、外部からデータを受信する情報処理装置の負荷を低減することができる。
【００１６】
好ましくは、複数の情報処理装置それぞれは、演算装置をさらに備え、チェック手段は、演算装置が所定のプログラムを実行することにより演算装置に形成され、所定の条件は、演算装置の負荷が所定の値以上となる事象を検出する条件を含む。
【００１７】
この局面に従えば、演算装置の負荷が所定の値以上となる場合に、受信されたデータをチェックしないようにして、外部からデータを受信する情報処理装置の負荷を低減することができる。
【００１８】
好ましくは、所定の条件は、複数の情報処理装置のうち自装置とは別の実行装置から、外部から受信されたデータの送信が要求される事象を検出する条件を含む。
【００１９】
この局面に従えば、実行装置からデータの送信が要求される場合に、データをチェックしないようにして、外部からデータを受信する情報処理装置の負荷を低減することができる。
【００２０】
好ましくは、複数の情報処理装置それぞれは、実行装置からデータの送信が要求される時点で、要求されたデータに対するチェックが完了していない場合、要求されたデータのチェックを実行装置に依頼する依頼手段を、さらに備える。
【００２１】
この局面に従えば、データを要求する実行装置でデータをチェックするので、データを効率的にチェックすることができる。
【００２２】
好ましくは、依頼手段は、実行装置からの要求に応じて、要求されたデータを、データに対するチェックの状態を示す付加情報とともに実行装置に送信し、実行装置として機能する場合に、決定手段は、データを要求した装置からデータとともに受信される付加情報がコンピューターウィルスの存在のチェックが完了していない未完状態を示す場合、データをチェックすることに決定する。
【００２３】
この局面に従えば、実行装置は、データとともに受信される付加情報がコンピューターウィルスの存在のチェックが完了していない未完状態を示す場合に、データをチェックするので、データに対するチェックが重複しないようにすることができる。
【００２４】
好ましくは、複数の情報処理装置それぞれは、外部から受信されたデータを、実行装置に送信した後も記憶する記憶制御手段を、さらに備え、記憶制御手段は、外部から受信されたデータのチェックが実行装置に依頼され、実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶されたデータにコンピューターウィルスが存在しないことを示す付加情報を関連付ける。
【００２５】
この局面に従えば、データのチェックが実行装置に依頼される場合、実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶されたデータにコンピューターウィルスが存在しないことを示す付加情報が関連付けられる。このため、データに対して、複数の情報処理装置のいずれかでコンピューターウィルスの存在をチェックすることができる。
【００２６】
この発明の他の局面によれば、情報処理装置は、１以上のクライアントのいずれかのために外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定手段と、データに対してコンピューターウィルスの存在をチェックするチェック手段と、を備える。
【００２７】
この局面に従えば、１以上のクライアントのいずれかのために外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かが決定され、データに対してコンピューターウィルスの存在がチェックされる。このため、外部から受信されるデータは、１以上のクライアントに代わって情報処理装置でチェックされるか、１以上のクライアントのいずれかでチェックされる。その結果、コンピューターウィルスの存在を効率的にチェックすることが可能な情報処理装置を提供することができる。
【００２８】
好ましくは、決定手段は、所定の条件が成立する場合、コンピューターウィルスの存在をチェックしないことに決定する。
【００２９】
この局面に従えば、所定の条件が成立する場合にコンピューターウィルスの存在をチェックしないようにして、負荷を低減することができる。
【００３０】
好ましくは、所定の条件は、外部から受信されたデータとは別のデータに対してコンピューターウィルスの存在がチェックされている状態を検出する条件を含む。
【００３１】
この局面に従えば、外部から受信されたデータとは別のデータがチェックされている状態で、外部から受信されたデータをチェックしないようにして、負荷を低減することができる。
【００３２】
好ましくは、演算装置を、さらに備え、チェック手段は、演算装置が所定のプログラムを実行することにより演算装置に形成され、所定の条件は、演算装置の負荷が所定の値以上となる事象を検出する条件を含む。
【００３３】
この局面に従えば、演算装置の負荷が所定の値以上となる場合に、受信されたデータをチェックしないようにして、負荷を低減することができる。
【００３４】
好ましくは、所定の条件は、１以上のクライアントのうちコンピューターウィルスの存在をチェック可能な実行装置から、外部から受信されたデータの送信が要求される事象が検出される条件を含む。
【００３５】
この局面に従えば、実行装置からデータの送信が要求される場合に、データをチェックしないようにして、負荷を低減することができる。
【００３６】
好ましくは、実行装置からデータの送信が要求される時点で、要求されたデータに対するチェックが完了していない場合、要求されたデータのチェックを実行装置に依頼する依頼手段を、さらに備える。
【００３７】
この局面に従えば、データを要求する実行装置でデータをチェックするので、データを効率的にチェックすることができる。
【００３８】
好ましくは、依頼手段は、実行装置からの要求に応じて、要求されたデータを、データに対するチェックの状態を示す付加情報とともに実行装置に送信する。
【００３９】
この局面に従えば、実行装置から要求されたデータを付加情報とともに実行装置に送信するので、自装置と実行装置といずれか一方でデータに対するチェックが実行される。このため、データに対するチェックが重複しないようにすることができる。
【００４０】
好ましくは、外部から受信されたデータを、実行装置に送信した後も記憶する記憶制御手段を、さらに備え、記憶制御手段は、外部から受信されたデータのチェックが実行装置に依頼され、実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶されたデータにコンピューターウィルスが存在しないことを示す付加情報を関連付ける。
【００４１】
この局面に従えば、実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶されたデータにコンピューターウィルスが存在しないことを示す付加情報が関連付けられる。このため、データに対して、自装置と実行装置とのいずれかでコンピューターウィルスの存在をチェックすることができる。
【００４２】
好ましくは、情報処理装置は、１以上のクライアントのいずれかである。
【００４３】
この発明のさらに他の局面によれば、データ処理方法は、複数の情報処理装置を含む情報処理システムで実行されるデータ処理方法であって、外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定ステップと、複数の情報処理装置それぞれに、データにおけるコンピューターウィルスの存在をチェックするチェックステップと、を実行させる。
【００４４】
この局面に従えば、コンピューターウィルスの存在を効率的にチェックすることが可能なデータ処理方法を提供することができる。
【００４５】
この発明のさらに他の局面によれば、データチェック方法は、情報処理装置で実行されるデータ処理方法であって、外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定ステップと、データにおけるコンピューターウィルスの存在をチェックするチェックステップと、を含む。
【００４６】
この局面に従えば、コンピューターウィルスの存在を効率的にチェックすることが可能なデータ処理方法を提供することができる。
【００４７】
この発明のさらに他の局面によれば、データ処理プログラムは、情報処理装置を制御するコンピューターで実行されるデータ処理プログラムであって、外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定する決定ステップと、データにおけるコンピューターウィルスの存在をチェックするチェックステップと、をコンピューターに実行させる。
【００４８】
この局面に従えば、コンピューターウィルスの存在を効率的にチェックすることが可能なデータ処理プログラムを提供することができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態の１つにおける情報処理システムの全体概要を示す図である。
【図２】ＭＦＰの外観を示す斜視図である。
【図３】ＭＦＰのハードウェア構成の概要を示すブロック図である。
【図４】ＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。
【図５】データ共有処理の流れの一例を示すフローチャートである。
【図６】管理情報生成処理の流れの一例を示すフローチャートである。
【図７】画像形成処理の流れの一例を示す第１のフローチャートである。
【図８】画像形成処理の流れの一例を示す第２のフローチャートである。
【図９】データ消去処理の流れの一例を示すフローチャートである。
【図１０】サーバーとして機能するＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。
【図１１】クライアントとして機能するＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。
【図１２】第２の実施の形態におけるデータ共有処理の流れの一例を示す第１のフローチャートである。
【図１３】第２の実施の形態におけるデータ共有処理の流れの一例を示す第２のフローチャートである。
【発明を実施するための形態】
【００５０】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰返さない。
【００５１】
＜第１の実施の形態＞
図１は、本発明の実施の形態の１つにおける情報処理システムの全体概要を示す図である。図１を参照して、情報処理システム１は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００，１００Ａ〜１００Ｃと、ＰＣ２００，２００Ａ〜２００Ｃとを含む。ＭＦＰ１００，１００Ａ〜１００Ｃ、およびＰＣ２００，２００Ａ〜２００Ｃは、情報処理装置の一例であり、ネットワーク３に接続される。
【００５２】
ネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。また、ネットワーク３は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）、インターネット等であってもよい。
【００５３】
ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃは、一般的なコンピューターである。ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃそれぞれは、ＭＦＰ１００，１００Ａ，１００Ｂに対応するプリンタードライバープログラムがインストールされており、プリンタードライバープログラムを実行することにより、ＭＦＰ１００，１００Ａ〜１００Ｃのいずれかを制御して、プリントジョブを実行させることが可能である。ＰＣ２００，２００Ａ〜２００Ｃは、一般的なコンピューターであり、それらのハードウェア構成は周知なので、ここでは詳細な説明は繰り返さない。
【００５４】
第１の実施の形態における情報処理システム１において、ＭＦＰ１００，１００Ａ〜１００Ｃは、互いに通信することによりデータを共有することが可能であり、ユビキタスプリント機能を実現する。これにより、ユーザーは、ＭＦＰ１００，１００Ａ〜１００Ｃの別を意識することなく操作することができる。ＭＦＰ１００，１００Ａ〜１００Ｃは、ユビキタスプリント機能を実現するために、互いに他の装置を登録する。例えば、ＭＦＰ１００は、他のＭＦＰ１００Ａ〜１００Ｃを登録している。具体的には、ＭＦＰ１００は、他のＭＦＰ１００Ａ〜１００Ｃそれぞれを識別するための装置識別情報を記憶している。装置識別情報は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のアドレスネットワークアドレスである。このように、ＭＦＰ１００，１００Ａ〜１００Ｃは、ユビキタスプリント機能を実現するために、同一のグループに属する。同一グループに属するＭＦＰ１００，１００Ａ〜１００Ｃは、グループの内部の装置であり、ＭＦＰ１００，１００Ａ〜１００Ｃ以外の装置は、グループの外部の装置である。
【００５５】
具体的には、ＭＦＰ１００，１００Ａ〜１００Ｃを使用することが認められた１以上のユーザーが、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれに登録されている。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｃを使用することが認められた複数のユーザーが登録されている場合を例に説明する。ユーザーがＭＦＰ１００，１００Ａ〜１００Ｃのいずれかを操作する場合、ユーザーが操作する装置が、ユーザーを認証する。認証方法は、限定するものではないが、ここでは、ユーザーＩＤとパスワードとの組を用いた認証方法としている。このため、ＭＦＰ１００，１００Ａ〜１００Ｃは、登録された複数のユーザーそれぞれの認証情報を共有し、ユーザーにより入力される認証情報と、登録された認証情報とを比較することにより、ユーザーを認証する。
【００５６】
例えば、ユーザーがＰＣ２００を操作して、ＰＣ２００からＭＦＰ１００Ａに送信したジョブは、ＭＦＰ１００Ａに一時的に記憶される。その後、ユーザーがＭＦＰ１００を操作する場合、ＭＦＰ１００は、ＭＦＰ１００にログインしたユーザーのジョブの有無を、ＭＦＰ１００Ａ〜１００Ｃに問合せ、ユーザーがＰＣ２００からＭＦＰ１００Ａに送信したジョブのジョブ識別情報をＭＦＰ１００Ａから取得し、そのジョブのジョブ識別情報をユーザーに通知する。ユーザーがそのジョブ識別情報を選択して、プリントを指示すれば、ＭＦＰ１００は、ＭＦＰ１００Ａからそのジョブを取得し、プリントする。このように、ユーザーは、ＭＦＰ１００，１００Ａ〜１００Ｃのいずれかにプリントジョブを記憶させておけば、ＭＦＰ１００，１００Ａ〜１００Ｃのいずれかを操作することにより、プリントジョブを実行させることができる。なお、ユーザーがプリントジョブを送信する装置を、ＭＦＰ１００，１００Ａ〜１００Ｃのうちいずれか１つに予め定めておくようにしてもよい。また、プリントジョブは、ＰＣ２００，２００Ａ〜２００Ｃのいずれかから送信するものに限らず、例えば、ＭＦＰ１００で原稿を読み取って得られる画像データを、プリントジョブとして、ＭＦＰ１００に記憶するようにしてもよい。
【００５７】
ＭＦＰ１００，１００Ａ〜１００Ｃのハードウェア構成および機能は同じなので、ここでは特に言及しない限りＭＦＰ１００を例に説明する。
【００５８】
図２は、ＭＦＰの外観を示す斜視図である。図３は、ＭＦＰのハードウェア構成の概要を示すブロック図である。図２および図３を参照して、ＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、画像が形成された用紙を処理する後処理部１５５と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００５９】
後処理部１５５は、画像形成部１４０により画像が形成された１以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
【００６０】
メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、ＣＤ−ＲＯＭ１１８が装着される外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、後処理部１５５および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００６１】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。さらに、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取データ（画像データ）を一時的に記憶する。
【００６２】
通信Ｉ／Ｆ部１１２は、ＭＦＰ１００をネットワーク３に接続するためのインターフェースである。ＣＰＵ１１１は、通信Ｉ／Ｆ部１１２を介して、ＰＣ２００，２００Ａ〜２００Ｃとの間で通信し、データを送受信する。また、通信Ｉ／Ｆ部１１２は、ネットワーク３を介してインターネットに接続されたコンピューターと通信が可能である。
【００６３】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶する、または画像形成部１４０に出力する。画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００６４】
外部記憶装置１１７は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）１１８が装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８にアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装着されたＣＤ−ＲＯＭ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などの半導体メモリであってもよい。
【００６５】
また、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、ネットワーク３に接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワーク３に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００６６】
操作パネル１６０は、ＭＦＰ１００の上面に設けられ、表示部１６１と操作部１６３とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）または有機ＬＥ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、ハードキー部１６７とを含む。タッチパネル１６５は、表示部１６１の上面または下面に表示部１６１に重畳して設けられる。ハードキー部１６７は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。タッチパネル１６５は、表示部１６１の表示面中でユーザーにより指示された位置を検出する。ユーザーがＭＦＰ１００を操作する場合は直立した姿勢となる場合が多いので、表示部１６１の表示面、タッチパネル１６５の操作面およびハードキー部１６７は、上方を向いて配置される。ユーザーが表示部１６１の表示面を容易に視認することができ、ユーザーが指で操作部１６３を容易に指示することができるようにするためである。
【００６７】
図４は、ＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。図４に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶されたデータ処理プログラムを実行することにより、ＣＰＵ１１１に形成される機能である。図４を参照して、ＣＰＵ１１１は、記憶制御部５１と、データ管理部５３と、操作ユーザー検出部５５と、データ特定部５７と、データ取得部５９と、ジョブ実行部６１と、送信制御部６３と、チェック部６５と、決定部６７と、を含む。
【００６８】
操作ユーザー検出部５５は、ＭＦＰ１００を操作するユーザーを検出する。操作ユーザー検出部５５は、認証部８１を含む。認証部８１は、操作部１６３を操作するユーザーまたはＭＦＰ１００を遠隔操作するユーザーを認証する。例えば、認証部８１は、表示部１６１にログイン画面を表示し、ユーザーがログイン画面に従って操作部１６３に入力するユーザーＩＤおよびパスワードを受け付ける。認証部８１は、操作部１６３によって受け付けられたユーザーＩＤおよびパスワードを、予め記憶された認証情報と比較し、操作部１６３によって受け付けられたユーザーＩＤおよびパスワードが認証情報として記憶されていれば、操作部１６３を操作するユーザーを認証する。
【００６９】
ユーザーは、ＰＣ２００，２００Ａ〜２００Ｃのいずれかを操作してＭＦＰ１００を遠隔操作することが可能である。例えば、ユーザーがＰＣ２００を操作してＭＦＰ１００を遠隔操作する場合、認証部８１は、通信Ｉ／Ｆ部１１２を介してＰＣ２００にログイン画面を送信する。ＰＣ２００を操作するユーザーが、ＰＣ２００に表示されるログイン画面に従ってＰＣ２００にユーザーＩＤおよびパスワードを入力すれば、ＰＣ２００がそれらをＭＦＰ１００に送信する。認証部８１は、通信Ｉ／Ｆ部１１２がＰＣ２００から受信するユーザーＩＤおよびパスワードを受け付ける。認証部８１は、ＰＣ２００から受信したユーザーＩＤおよびパスワードを、予め記憶された認証情報と比較し、ＰＣ２００から受信したユーザーＩＤおよびパスワードが認証情報として記憶されていれば、ＰＣ２００を操作するユーザーを認証する。
【００７０】
なお、本実施の形態においては、ユーザーを認証するためにＭＦＰ１００に登録された認証情報として、ユーザーＩＤおよびパスワードを用いるようにしたが、認証情報は、ユーザーが携帯するＩＣカードなどに記憶されたカード情報を用いるようにしてもよいし、ユーザーが携帯する携帯電話を識別するための装置識別情報を用いるようにしてもよい。また、ネットワーク３に接続された認証サーバーに、ユーザーにより入力された認証情報を送信して、認証サーバーで認証するようにしてもよい。この場合には、ＭＦＰ１００に認証情報を記憶しておく必要はない。
【００７１】
また、認証部８１は、認証したユーザーのログアウトを検出する。認証部８１は、操作ユーザーを認証した後に、操作部１６３が操作を受け付けない期間が所定時間継続する場合にログアウトを検出する。また認証部８１は、操作部１６３がログアウトを指示する操作を受け付ける場合に、ログアウトを検出する。さらに、ＰＣ２００，２００Ａ〜２００Ｃのいずれか、例えばＰＣ２００により遠隔操作される場合には、認証部８１は、ＰＣ２００を操作するユーザーにより入力される操作によるログアウトに加えて、通信Ｉ／Ｆ部１１２によりＰＣ２００との間で確立された通信経路が切断される場合に、ログアウトを検出する。
【００７２】
操作ユーザー検出部５５は、認証部８１によってユーザーが認証される場合、認証されたユーザーを識別するためのユーザー識別情報を記憶制御部５１およびデータ特定部５７に出力する。
【００７３】
記憶制御部５１は、ＨＤＤ１１５を制御して、複数のユーザーそれぞれに関連するデータを当該データに関連するユーザーと関連付けてＨＤＤ１１５に記憶する。記憶制御部５１は、認証部８１から操作部１６３を操作するユーザーのユーザー識別情報が入力される。記憶制御部５１は、認証部８１からユーザー識別情報が入力された後に、操作部１６３に入力される操作を、そのユーザー識別情報で特定されるユーザーによる操作と判断する。例えば、ユーザーが操作部１６３を操作して、インターネットに接続されたサーバーからデータをダウンロードする場合、記憶制御部５１は、ダウンロードされたデータをＨＤＤ１１５に記憶する。この場合に、記憶制御部５１は、ダウンロードされたデータを認証部８１から入力されるユーザー識別情報と関連付けて記憶する。記憶制御部５１は、ＨＤＤ１１５に記憶されているデータそれぞれについて、データに対応するデータ管理情報をデータ管理部５３に出力する。データに対応するデータ管理情報は、そのデータを識別するためのデータ識別情報と、認証部８１から入力されるユーザー識別情報とを含む。
【００７４】
記憶制御部５１は、プリントジョブ管理部６９を含む。プリントジョブは、データの一例である。プリントジョブ管理部６９は、通信Ｉ／Ｆ部１１２が、ＰＣ２００，２００Ａ〜２００Ｃのいずれか、例えば、ＰＣ２００からプリントジョブを受信する場合、プリントジョブをＨＤＤ１１５の予め定められた領域に記憶する。プリントジョブは、プリントジョブの送信を指示したユーザーのユーザー識別情報を含む。記憶制御部５１は、プリントジョブ管理部６９がプリントジョブをＨＤＤ１１５に記憶することに応じて、プリントジョブに対応するデータ管理情報をデータ管理部５３に出力する。プリントジョブに対応するデータ管理情報は、プリントジョブを識別するためのデータ識別情報と、プリントジョブに含まれるユーザー識別情報とを含む。記憶制御部５１は、ＨＤＤ１１５に記憶したデータを、そのデータがアクセスされた後も記憶し、アクセスから所定期間が経過するとＨＤＤ１１５から消去する。
【００７５】
なお、ここでは、ネットワーク３に接続されたＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する場合を例に説明するが、ネットワーク３が接続される外部のネットワーク、例えば、インターネットに接続されたコンピューターからプリントジョブを受信する場合を含む。
【００７６】
チェック部６５は、記憶制御部５１がＨＤＤ１１５にデータを記憶するごとに、そのデータに対してコンピューターウィルスが存在するか否かをチェックする。チェック部６５は、データのチェックが完了し、コンピューターウィルスが存在しないと判断する場合、チェック後のデータにチェックが完了したことを示す付加情報を関連付ける。チェック部６５は、データのチェックが完了し、コンピューターウィルスが存在すると判断する場合、そのチェック後のデータをＨＤＤ１１５から削除する。チェック部６５は、記憶制御部５１によってＨＤＤ１１５にデータが記憶される順に、チェックする。
【００７７】
決定部６７は、ＨＤＤ１１５に記憶されたデータに対して、チェック部６５によるコンピューターウィルスの存在をチェックするか否かを決定する。決定部６７は、所定の条件が成立する場合、コンピューターウィルスの存在をチェックしないことに決定する。所定の条件が成立する場合にコンピューターウィルスの存在をチェックしないようにして、ＭＦＰ１００の負荷を低減することができる。また、チェック部６５で、ＨＤＤ１１５に記憶されるデータの全てに対して、コンピューターウィルスの存在をチェックしないようにして、ＭＦＰ１００の負荷を低減することができる。さらに、コンピューターウィルスの存在のチェックが、他のＭＦＰ１００Ａ〜１００Ｃと重複しないようにして、データに対するコンピューターウィルスの存在を、効率的にチェックすることができる。
【００７８】
所定の条件は、例えば、チェック部６５がチェックの対象となるデータを決定した時点で、チェックの対象となるデータとは別のデータをチェック部６５がチェックしている状態を検出する条件を含む。このため、決定部６７は、チェック部６５があるデータに対してコンピューターウィルスの存在をチェックしている最中に、記憶制御部５１によって新たなデータが記憶される場合には、新たなデータに対するチェックを禁止する。例えば、決定部６７は、新たなデータをチェックのための待ち行列に設定する。チェック部６５は、１つのデータに対してチェックが完了すると、待ち行列に最初に設定された新たなデータに対するチェックを開始する。このため、チェック部６５が並列して２以上のデータに対してチェックしないので、ＭＦＰ１００の負荷を低減することができる。
【００７９】
さらに、所定の条件は、例えば、チェック部６５がチェックの対象となるデータを決定した時点で、ＣＰＵ１１１の負荷が所定の値以上となる事象を検出する条件を含む。このため、決定部６７は、チェック部６５がチェックの対象となるデータを決定した時点で、ＣＰＵ１１１の負荷が所定の値以上の場合、チェック部６５がチェックの対象に決定したデータに対するチェックを禁止する。このように、ＣＰＵ１１１の負荷が所定の値以上となる場合に、ＣＰＵ１１１がデータに対してコンピューターウィルスの存在をチェックしないようにして、ＣＰＵ１１１の負荷が高くなり過ぎないようにすることができる。
【００８０】
データ管理部５３は、ユビキタスプリント機能を実現するために登録されたＭＦＰ１００，１００Ａ〜１００ＣそれぞれのＨＤＤ１１５に記憶されたデータを管理する。このために、データ管理部５３は、管理情報をＭＦＰ１００，１００Ａ〜１００Ｃで共有する。管理情報は、ＭＦＰ１００，１００Ａ〜１００ＣそれぞれのＨＤＤ１１５に記憶されたデータを識別するためのデータ識別情報と、そのデータに関連付けられたユーザーのユーザー識別情報と、そのデータが記憶された装置を識別するための装置識別情報とを含む。データ管理部５３は、管理情報送信部７１と、管理情報受信部７３とを含む。管理情報送信部７１は、通信Ｉ／Ｆ部１１２を制御して、記憶制御部５１から入力されるデータ管理情報を他のＭＦＰ１００Ａ〜１００Ｃそれぞれに送信する。管理情報受信部７３は、通信Ｉ／Ｆ部１１２を制御して、他のＭＦＰ１００Ａ〜１００Ｃそれぞれからデータ管理情報を受信する。データ管理部５３は、記憶制御部５１から入力されるデータ管理情報を自装置と関連付けた管理情報を生成し、管理情報受信部７３が他のＭＦＰ１００Ａ〜１００Ｃのいずれかから受信するデータ管理情報をそのデータ管理情報を送信してきた装置と関連付けた管理情報を生成する。具体的には、データ管理部５３は、記憶制御部５１から入力されるデータ管理情報に含まれるデータ識別情報およびユーザー識別情報と、自装置の装置識別情報とを含む管理情報を生成する。データ管理部５３は、管理情報受信部７３が受信するデータ管理情報に含まれるデータ識別情報およびユーザー識別情報と、データ管理情報を送信してきた装置の装置識別情報とを含む管理情報を生成する。データ管理部５３は、生成された管理情報を、データ特定部５７に出力する。
【００８１】
データ特定部５７は、操作ユーザー検出部５５から操作ユーザーのユーザー識別情報が入力されることに応じて、管理情報を特定する。具体的には、データ管理部５３から入力される管理情報のうちから、操作ユーザーのユーザー識別情報と同じユーザー識別情報を含む管理情報を抽出する。データ特定部５７は、抽出された管理情報をデータ取得部５９に出力する。
【００８２】
データ取得部５９は、データ特定部５７から管理情報が入力される場合、表示部１６１にデータ選択画面を表示し、ユーザーが操作部１６３に入力操作に従って、データを選択する。データ選択画面は、管理情報に含まれるデータ識別情報を選択可能に表示する画面である。データ特定部５７から複数の管理情報が入力される場合、データ選択画面は、複数の管理情報にそれぞれ含まれる複数のデータ識別情報を配列して選択可能に表示する画面である。データ取得部５９は、ユーザーが操作部１６３に入力する操作に従ってデータ識別情報を選択することに応じて、そのデータ識別情報で特定されるデータを取得する。具体的には、管理情報は、データ識別情報と、そのデータ識別情報で特定されるデータを記憶する装置の装置識別情報を含むので、データ取得部５９は、管理情報を参照して、データ識別情報で特定されるデータを記憶する装置の装置識別情報を決定する。
【００８３】
データ取得部５９は、データ特定部５７から入力される管理情報に含まれる装置識別情報が自装置の装置識別情報の場合、ＨＤＤ１１５からデータ識別情報で特定されるデータを取得する。記憶制御部５１は、ＨＤＤ１１５に記憶されたデータを、データ取得部５９により読み出された後、所定時間経過するまで記憶し、所定時間が経過するとＨＤＤ１１５から消去する。データ取得部５９は、取得されたデータにチェックが完了したことを示す付加情報が関連付けられている場合、取得されたデータをジョブ実行部６１に出力するが、そのような付加情報が関連付けられていない場合には、チェック部６５に、取得されたデータのチェックを指示する。データ取得部５９は、チェック部６５によりコンピューターウィルスが存在しないことが確認される場合に、取得されたデータをジョブ実行部６１に出力するが、チェック部６５によりコンピューターウィルスが存在することが確認される場合は、取得されたデータをジョブ実行部６１に出力することなく、取得されたデータをＨＤＤ１１５から削除する。
【００８４】
データ取得部５９は、データ特定部５７から入力される管理情報に含まれる装置識別情報が自装置の装置識別情報とは異なる場合、通信Ｉ／Ｆ部１１２を制御して、データ識別情報で特定されるデータの送信を、装置識別情報で特定される装置に依頼する送信依頼コマンドを送信する。例えば、データ識別情報で特定されるデータがＭＦＰ１００Ａに記憶されている場合、データ取得部５９は、ＭＦＰ１００Ａに送信依頼コマンドを送信する。
【００８５】
通信Ｉ／Ｆ部１１２が、他のＭＦＰ１００Ａ〜１００Ｃのいずれかから送信依頼コマンドを受信する場合がある。他のＭＦＰ１００Ａ〜１００Ｃのうちで送信依頼コマンドを送信する装置を実行装置という。送信制御部６３は、通信Ｉ／Ｆ部１１２を制御して、実行装置から送信依頼コマンドを受信することに応じて、送信依頼コマンドに含まれるデータ識別情報で特定されるデータをＨＤＤ１１５から読み出す。記憶制御部５１は、ＨＤＤ１１５に記憶されたデータを、送信制御部６３により読み出された後、所定時間経過するまで記憶し、所定時間が経過するとＨＤＤ１１５から消去する。
【００８６】
送信制御部６３は、依頼部８３を含む。依頼部８３は、通信Ｉ／Ｆ部１１２が実行装置から送信依頼コマンドを受信する場合であって、送信依頼コマンドに含まれるデータ識別情報で特定されるデータに付加情報が関連付けられていない場合、チェックが完了していないことを示す付加情報を関連付ける。送信制御部６３は、通信Ｉ／Ｆ部１１２を制御して、データとともに付加情報を実行装置に送信する。付加情報は、チェック部６５によりデータに関連付けられる付加情報と、依頼部８３によりデータに関連付けられる付加情報とがある。チェック部６５によりデータに関連付けられる付加情報は、チェックが完了していることを示し、依頼部８３によりデータに関連付けられる付加情報は、チェックが完了していないことを示す。
【００８７】
送信制御部６３は、通信Ｉ／Ｆ部１１２が実行装置から送信依頼コマンドを受信する場合であって、送信依頼コマンドに含まれるデータ識別情報で特定されるデータに付加情報が関連付けられている場合、通信Ｉ／Ｆ部１１２を制御して、データとともに付加情報を実行装置に送信する。このため、あるデータがＭＦＰ１００でチェックされる場合に、そのデータに対して実行装置でチェックしないようにして、１つのデータに対してＭＦＰ１００と実行装置との２つの装置で重複してコンピューターウィルスをチェックしないようにして、ＭＦＰ１００および実行装置の全体での負荷を低減することができる。
【００８８】
決定部６７は、通信Ｉ／Ｆ部１１２が他のＭＦＰ１００Ａ〜１００Ｃのうち実行装置から送信依頼コマンドを受信する場合、送信依頼コマンドに含まれるデータ識別情報で特定されるデータに対するチェック部６５によるチェックを禁止する。このため、チェック部６５によるコンピューターウィルスの存在をチェックするための所定条件は、他のＭＦＰ１００Ａ〜１００Ｃのいずれかからデータの送信が要求される事象を検出する条件を含む。この場合、後述するように、実行装置で、送信依頼コマンドに含まれるデータ識別情報で特定されるデータに対するコンピューターウィルスがチェックされる。このため、あるデータが実行装置でチェックされる場合に、そのデータに対してＭＦＰ１００でチェックしないようにして、１つのデータに対してＭＦＰ１００と実行装置との２つの装置で重複してコンピューターウィルスをチェックしないようにして、ＭＦＰ１００および実行装置の全体での負荷を低減することができる。
【００８９】
ＭＦＰ１００が実行装置として機能する場合、データ取得部５９は、通信Ｉ／Ｆ部１１２を制御して、データ特定部５７から入力される管理情報に基づいて、送信依頼コマンドを送信する。送信依頼コマンドは、管理情報に含まれるデータ識別情報を含み、管理情報に含まれる装置識別情報で特定される装置に送信される。例えば、管理情報に含まれる装置識別情報で特定される装置がＭＦＰ１００Ａの場合を例に説明する。データ取得部５９は、ＭＦＰ１００Ａに送信依頼コマンドを送信する。この場合、ＭＦＰ１００Ａは、送信依頼コマンドを受信することに応じて、送信依頼コマンドで特定されるデータと付加情報とを返信するので、データ取得部５９は、通信Ｉ／Ｆ部１１２がＭＦＰ１００Ａから受信するデータと付加情報とを取得する。データ取得部５９は、データとともに取得された付加情報が、チェックが完了していることを示すならば、データをジョブ実行部６１に出力する。データ取得部５９は、データとともに取得された付加情報が、チェックが完了していないことを示すならば、チェックが依頼されたと判断し、チェック部６５に、取得されたデータのチェックを指示する。データ取得部５９は、チェック部６５によりコンピューターウィルスが存在しないことが確認される場合に、取得されたデータをジョブ実行部６１に出力するが、チェック部６５によりコンピューターウィルスが存在することが確認される場合は、取得されたデータをジョブ実行部６１に出力することなく、取得されたデータを廃棄する。また、データ取得部５９は、送信依頼コマンドを送信した装置、ここでは、ＭＦＰ１００Ａにチェック部６５によるチェック結果を送信する。チェック結果は、コンピューターウィルスが存在することを示す場合と、コンピューターウィルスが存在しないことを示す場合とがある。
【００９０】
このため、送信制御部６３は、通信Ｉ／Ｆ部１１２を制御して、チェックが完了していないことを示す付加情報をデータとともに実行装置に送信した後に、実行装置からチェック結果を受信する。送信制御部６３は、チェック結果を記憶制御部５１に出力する。記憶制御部５１は、チェック結果が、コンピューターウィルスが存在しないことを示す場合は、ＨＤＤ１１５に記憶された対応するデータにチェックが完了したことを示す付加情報を関連付ける。記憶制御部５１は、チェック結果が、コンピューターウィルスが存在することを示す場合は、ＨＤＤ１１５に記憶された対応するデータを削除する。このため、実行装置においてコンピューターウィルスの存在がチェックされる場合に、ＭＦＰ１００でそのデータに対してコンピューターウィルスの存在をチェックしないようにして、２つの装置で重複して同一の処理が実行されないようにすることができる。
【００９１】
ジョブ実行部６１は、データ取得部５９から入力されるデータに基づいてジョブを実行する。ジョブ実行部６１は、データ取得部５９から入力されるデータがプリントジョブの場合、画像形成部１４０および給紙部１５０を制御して、プリントジョブに含まれるプリント条件に従って、プリントジョブに含まれるプリントデータの画像を用紙に形成させる。ジョブ実行部６１は、データ取得部５９から入力されるデータがプリントジョブと異なる場合、ユーザーが操作部１６３に入力するプリント条件を受け付け、画像形成部１４０および給紙部１５０を制御して、受け付けられたプリント条件に従って、データの画像を用紙に形成させる。
【００９２】
チェック部６５によりデータに対してコンピューターウィルスが存在する場合に、そのデータをＨＤＤ１１５から削除するようにした。この場合、データ管理部５３が、データが削除されたことを示すデータ管理情報を他のＭＦＰ１００Ａ〜１００Ｃに送信する。データ管理部５３は、データが削除されたことを示すデータ管理情報を受信することに応じて、管理情報を削除する。
【００９３】
なお、管理情報にデータにコンピューターウィルスが存在すること示す情報を追加するようにして、データが存在していたが、コンピューターウィルスが含まれていたことをユーザーに通知するようにしてもよい。
【００９４】
図５は、データ共有処理の流れの一例を示すフローチャートである。データ共有処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶されたデータ共有プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。データ共有プログラムは、データ処理プログラムの一部である。図５を参照して、ＣＰＵ１１１は、ＨＤＤ１１５にデータが記憶されたか否かを判断する（ステップＳ０１）。データが記憶されたならば、そのデータを処理対象に設定し、処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ０６に進める。データは、通信Ｉ／Ｆ部１１２が、同一グループに設定されたＭＦＰ１００Ａ〜１００Ｂ以外の外部から受信するデータである。データは、例えば、インターネットに接続されたサーバーからダウンロードされたデータ、ＰＣ２００，２００Ａ〜２００Ｃから受信されるプリントジョブを含む。
【００９５】
ステップＳ０２においては、ステップＳ０１において処理対象に設定されたデータより前にＨＤＤ１１５に記憶された別のデータに対して、コンピューターウィルスの有無を確認するためのウィルスチェックを実行中か否かを判断する。別のデータに対してウィルスチェックが実行されている最中ならば処理をステップＳ０３に進めるが、そうでなければ処理をステップＳ０４に進める。ステップＳ０３においては、ステップＳ０１において処理対象に設定されたデータを待ち行列に設定し、処理をステップＳ０１に戻す。
【００９６】
ステップＳ０４においては、ＣＰＵ１１１の負荷がしきい値ＴＨ１以上か否かを判断する。しきい値ＴＨ１は、予め定められた値であればよい。ＣＰＵ１１１の負荷がしきい値ＴＨ１以上ならば処理をステップＳ０３に進めるが、そうでなければ処理をステップＳ０５に進める。ステップＳ０３においては、ステップＳ０１において処理対象に設定されたデータを待ち行列に設定し、処理をステップＳ０１に戻す。ステップＳ０５においては、ステップＳ０１において処理対象に設定されたデータに対してウィルスチェックを開始し、処理をステップＳ０１に戻す。
【００９７】
処理がステップＳ０６に進む場合、処理対象に設定されているデータに対して、ステップＳ０５においてウィルスチェックが開始されている。ステップＳ０６においては、処理対象に設定されているデータに対して、ウィルスチェックが終了したか否かを判断する。ウィルスチェックが終了したならば処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ１２に進める。ステップＳ０７においては、ウィルスチェックの結果によって処理を分岐させる。コンピューターウィルスが存在しない場合は、処理をステップＳ０８に進めるが、そうでなければ処理をステップＳ１１に進める。ステップＳ１１においては、ステップＳ０１において処理対象に設定されたデータをＨＤＤ１１５から消去し、処理をステップＳ０１に戻す。
【００９８】
ステップＳ０８においては、処理対象に設定されているデータにチェックが完了したことを示す付加情報を関連付け、処理をステップＳ０９に進める。ステップＳ０９においては、待ち行列にデータが設定されているか否かを判断する。データが待ち行列に設定されているならば処理をステップＳ１０に進めるが、そうでなければ処理をステップＳ０１に戻す。ステップＳ１０においては、待ち行列に設定されている１以上のデータのうちから順番が最初のデータを処理対象に選択し、処理をステップＳ０２に戻す。
【００９９】
ステップＳ１２においては、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかから送信依頼コマンドを受信したか否かを判断する。送信依頼コマンドを受信したならば処理をステップＳ１３に進めるが、そうでなければ処理をステップＳ０１に戻す。以下、ＭＦＰ１００Ａから送信依頼コマンドを受信する場合を例に説明する。ステップＳ１３においては、送信依頼コマンドに含まれるデータ識別情報に基づいて、データを特定し、処理をステップＳ１４に進める。ステップＳ１４においては、特定されたデータに対してウィルスチェックが終了しているか否かを判断する。特定されたデータに、ウィルスチェックが完了したことを示す付加情報が関連付けられていればウィルスチェックが終了していると判断する。ウィルスチェックが終了しているならば処理をステップＳ１５に進めるが、そうでなければ処理をステップＳ１６に進める。ステップＳ１５においては、ステップＳ１３において特定されたデータと、そのデータに関連付けられた付加情報とを、送信依頼コマンドを送信してきた装置、ここではＭＦＰ１００Ａに送信し、処理をステップＳ０１に戻す。
【０１００】
ステップＳ１６においては、ウィルスチェックが完了していないことを示す付加情報を、データに関連付け、処理をステップＳ１７に進める。ステップＳ１７においては、ステップＳ１３において特定されたデータと、ステップＳ１６において、そのデータに関連付けられた付加情報とを、送信依頼コマンドを送信してきた装置、ここではＭＦＰ１００Ａに送信し、処理をステップＳ１８に進める。この場合、ＭＦＰ１００Ａにおいて、データに対してウィルスチェックが実行され、ＭＦＰ１００Ａは、ウィルスチェックの結果を返信する。
【０１０１】
ステップＳ１８においては、通信Ｉ／Ｆ部１１２がＭＦＰ１００Ａからウィルスチェックの結果を受信したか否かを判断する。ウィルスチェックの結果を受信するまで待機状態となり（ステップＳ１８でＮＯ）、ウィルスチェックの結果を受信したならば（ステップＳ１８でＹＥＳ）、処理をステップＳ１９に進める。ステップＳ１９においては、ステップＳ１３において特定されたデータに、ウィルスチェックが完了したことを示す付加情報を関連付け、処理をステップＳ０１に戻す。
【０１０２】
図６は、管理情報生成処理の流れの一例を示すフローチャートである。管理情報生成処理は、図５に示したデータ共有処理と並列で実行される処理である。図６を参照して、ＣＰＵ１１１は、ＭＦＰ１００が属するグループの外部からデータを受信したか否かを判断する（ステップＳ３１）。通信Ｉ／Ｆ部１１２が、ＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する場合、または、インターネットに接続されたサーバーからデータがダウンロードされる場合、外部からデータを受信したと判断する。外部からデータを受信したならば処理をステップＳ３２に進めるが、そうでなければ処理をステップＳ３５に進める。ステップＳ３２においては、受信されたデータをＨＤＤ１１５に記憶し、処理をステップＳ３３に進める。ステップＳ３３においては、データ管理情報を送信し、処理をステップＳ３４に進める。データ管理情報は、データを識別するためのデータ識別情報と、ＭＦＰ１００を操作する操作ユーザーを識別するためのユーザー識別情報と、を含む。通信Ｉ／Ｆ部１１２を制御して、ユビキタスプリント機能を実現するために予め登録された他のＭＦＰ１００Ａ〜１００Ｃそれぞれに、管理情報を送信する。ステップＳ３４においては、管理情報をＨＤＤ１１５の処理の領域に記憶し、処理をステップＳ３５に進める。管理情報は、データ管理情報と、自装置であるＭＦＰ１００を識別するための装置識別情報とを含む。
【０１０３】
ステップＳ３５においては、データ管理情報を受信したか否かを判断する。通信Ｉ／Ｆ部１１２を制御して、他のＭＦＰ１００Ａ〜１００Ｃのいずれかからデータ管理情報を受信したならば処理をステップＳ３６に進めるが、そうでなければ処理をステップＳ３１に戻す。ステップＳ３６においては、管理情報をＨＤＤ１１５に記憶し、処理をステップＳ３１に戻す。管理情報は、データ管理情報と、そのデータ管理情報を送信してきた装置の装置識別情報とを含む。
【０１０４】
図７は、画像形成処理の流れの一例を示す第１のフローチャートである。図８は、画像形成処理の流れの一例を示す第２のフローチャートである。画像形成処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶された画像形成プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。画像形成プログラムは、データ共有プログラムの一部である。図７および図８を参照して、ＣＰＵ１１１は、操作部１６３がログイン要求を受け付けたか否かを判断する（ステップＳ４１）。ユーザーが入力するログイン要求を操作部１６３が受け付けたか否かを判断する。ログイン要求を受け付けたならば処理をステップＳ４２に進めるが、そうでなければ処理をステップＳ４３に進める。ステップＳ４２においては、認証に成功したか否かを判断する。操作部１６３が受け付ける認証情報がＨＤＤ１１５に予め記憶されていれば認証する。認証に成功したならば処理をステップＳ４５に進めるが、そうでなければ処理をステップＳ４１に戻す。
【０１０５】
ステップＳ４３においては、遠隔操作装置からログイン要求を受信したか否かを判断する。遠隔操作装置は、本実施の形態においては、ＰＣ２００，２００Ａ〜２００Ｃである。通信Ｉ／Ｆ部１１２を制御して、ＰＣ２００，２００Ａ〜２００Ｃのいずれかからログイン要求を受信したならば処理をステップＳ４４に進めるが、そうでなければ処理をステップＳ４１に戻す。ステップＳ４４においては、認証に成功したか否かを判断する。ＰＣ２００，２００Ａ〜２００Ｃのいずれかから受信される認証情報がＨＤＤ１１５に予め記憶されていれば認証する。認証に成功したならば処理をステップＳ４５に進めるが、そうでなければ処理をステップＳ４１に戻す。
【０１０６】
ステップＳ４５においては、認証したユーザーを特定し、処理をステップＳ４６に進める。ステップＳ４６においては、ＨＤＤ１１５に記憶された管理情報に基づいてデータ選択画面を生成する。ＣＰＵ１１１は、ＨＤＤ１１５に記憶された管理情報のうちステップＳ４５において特定されたユーザーのユーザー識別情報を含む管理情報に含まれるデータ識別情報を決定し、決定されたデータ識別情報を選択可能に表示するためのデータ選択画面を生成する。
【０１０７】
ステップＳ４７においては、データ選択画面を表示し、処理をステップＳ４８に進める。認証されたユーザーが操作部１６３を操作する場合には、表示部１６１にデータ選択画面を表示し、認証されたユーザーがＰＣ２００，２００Ａ〜２００Ｃのいずれか、例えばＰＣ２００を操作する場合は、通信Ｉ／Ｆ部１１２を制御して、データ選択画面を、ＰＣ２００に送信する。ユーザーがＰＣ２００を操作する場合には、通信Ｉ／Ｆ部１１２が送信するデータ選択画面がＰＣ２００において表示され、ユーザーがデータ選択画面に従ってＰＣ２００に入力する操作を通信Ｉ／Ｆ部１１２が受信する。
【０１０８】
次のステップＳ４８においては、データが選択されるまで待機状態となり（ステップＳ４８でＮＯ）、データが選択されると（ステップＳ４８でＹＥＳ）、処理をステップＳ４９に進める。ユーザーが操作部１６３を操作する場合には、操作部１６３が受け付ける操作によってユーザーにより選択されたデータ識別情報が選択されると、データが選択されたと判断する。ユーザーがＰＣ２００を操作する場合には、ＰＣ２００は、ユーザーがＰＣ２００に入力する操作によってユーザーにより選択されたデータ識別情報を返信するので、通信Ｉ／Ｆ部１１２がＰＣ２００からデータ識別情報を受信すると、データが選択されたと判断する。
【０１０９】
ステップＳ４９においては、ステップＳ４８において選択されたデータが記憶されている装置が自装置か否かを判断する。自装置のＨＤＤ１１５にデータが記憶されているならば処理をステップＳ５０に進めるが、そうでなければ処理をステップＳ５７に進める。選択されたデータのデータ識別情報を含む管理情報に含まれる装置識別情報が自装置の装置識別情報か否かを判断する。
【０１１０】
ステップＳ５０においては、ステップＳ４８において選択されたデータに付加情報が関連付けられているか否かを判断する。付加情報が関連付けられているならば処理をステップＳ５４に進めるが、そうでなければ処理をステップＳ５１に進める。ステップＳ５１においては、ステップＳ４８において選択されたデータに対して、コンピューターウィルスの有無をチェックする。そして、チェックの結果によって処理を分岐させる（ステップＳ５２）。コンピューターウィルスが存在しないならば処理をステップＳ５３に進めるが、そうでなければ処理をステップＳ５６に進める。ステップＳ５３においては、ステップＳ４８において選択されたデータに、コンピューターウィルスが存在しないことを示す付加情報を関連付け、処理をステップＳ５４に進める。ステップＳ５６においては、ステップＳ４８において選択されたデータを、ＨＤＤ１１５から消去し、処理をステップＳ６５に進める。ステップＳ５４においては、ＨＤＤ１１５からステップＳ４８において選択されたデータを読出し、処理をステップＳ５５に進める。ステップＳ５５においては、読み出されたデータの画像を形成し、処理をステップＳ６５に進める。
【０１１１】
ステップＳ５７においては、送信依頼コマンドを送信し、処理をステップＳ５８に進める。ＨＤＤ１１５に記憶されている管理情報のうちから、ステップＳ４８において選択されたデータのデータ識別情報を含む管理情報を抽出し、ＭＦＰ１００Ａ〜１００Ｃのうちから、抽出された管理情報に含まれる装置識別情報の装置を特定する。ここでは、ＭＦＰ１００Ａを特定する場合を説明する。ＣＰＵ１１１は、ステップＳ４８において選択されたデータのデータ識別情報を含む送信依頼コマンドを、通信Ｉ／Ｆ部１１２を制御して、ＭＦＰ１００Ａに送信する。
【０１１２】
送信依頼コマンドを受信するＭＦＰ１００Ａは、送信依頼コマンドに含まれるデータ識別情報で特定されるデータを返信する。ステップＳ５８においては、通信Ｉ／Ｆ部１１２を制御して、ＭＦＰ１００Ａからデータを受信するまで待機状態となる。通信Ｉ／Ｆ部１１２がＭＦＰ１００Ａからデータを受信すると（ステップＳ５８でＹＥＳ）、処理をステップＳ５９に進める。
【０１１３】
ステップＳ５９においては、データとともに受信される付加情報によって処理を分岐させる。付加情報が、ウィルスチェックが完了していることを示すならば処理をステップＳ６３に進めるが、付加情報が、ウィルスチェックが完了していないことを示すならば処理をステップＳ６０に進める。ステップＳ６０においては、ステップＳ５２において受信されたデータに対してウィルスチェックを実行し、処理をステップＳ６１に進める。ステップＳ６１においてはチェック結果を、送信依頼コマンドを送信してきた装置、ここでは、ＭＦＰ１００Ａに送信し、処理をステップＳ６２に進める。
【０１１４】
ステップＳ６２においては、ウィルスチェックの結果によって処理を分岐させる。コンピューターウィルスが存在しないならば処理をステップＳ６３に進めるが、コンピューターウィルスが存在するならば処理をステップＳ６４に進める。ステップＳ６３においては、ステップＳ５８において受信されたデータの画像を形成し、処理をステップＳ６５に進める。ステップＳ６４においては、ステップＳ５８において受信されたデータを廃棄し、処理をステップＳ６５に進める。
ステップＳ６５においては、ステップＳ４２またはステップＳ４４において認証されたユーザーがログアウトしたか否かを判断する。ユーザーがログアウトしたならば処理を終了するが、そうでなければ処理をステップＳ４７に戻す。
【０１１５】
図９は、データ消去処理の流れの一例を示すフローチャートである。データ消去処理は、ＣＰＵ１１１がデータ消去プログラムを実行することによりＣＰＵ１１１により実行される処理である。データ消去プログラムは、データ処理プログラムの一部である。データ消去処理は、図５に示したデータ共有処理と並列で実行される。図９を参照して、ＣＰＵ１１１は、ＨＤＤ１１５に記憶されたデータのうちから１つを処理対象に選択する（ステップＳ７１）。そして、選択されたデータが出力済か否かを判断する（ステップＳ７２）。図５に示したデータ共有処理のステップＳ１５またはステップＳ１６において実行装置に送信される場合、または、図７および図８に示した画像形成処理のステップＳ５５において、データの画像が形成される場合に、出力済と判断する。出力済ならば処理をステップＳ７３に進めるが、そうでなければ処理をステップＳ７５に進める。
【０１１６】
ステップＳ７３においては、データを出力してからの経過時間がしきい値ＴＨ２以上か否かを判断する。データを出力してからしきい値ＴＨ２以上の時間が経過したならば処理をステップＳ７４に進めるが、そうでなければ処理をステップＳ７５に進める。ステップＳ７４においては、ステップＳ７１において処理対象に選択されたデータをＨＤＤ１１５から消去し、処理をステップＳ７５に進める。
【０１１７】
ステップＳ７５においては、ステップＳ７１において処理対象に選択されていないデータが存在するか否かを判断する。未選択のデータが存在するならば処理をステップＳ７１に戻すが、存在しなければ処理をステップＳ７６に進める。ステップＳ７６においては、所定時間経過するまで待機し、所定時間経過すると、処理をステップＳ７１に戻す。
【０１１８】
以上説明したように第１の実施の形態における情報処理システム１は、同一グループに属するＭＦＰ１００，１００Ａ〜１００Ｃを含み、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれが、グループの外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定し、チェックすると決定される場合に、グループの外部から受信されるデータに対して、コンピューターウィルスの存在をチェックする。このため、同一グループに属するＭＦＰ１００，１００Ａ〜１００Ｃのいずれか１つで、データに対してコンピューターウィルスの存在をチェックすることができ、コンピューターウィルスの存在を効率的にチェックすることができる。
【０１１９】
また、所定の条件が成立する場合に、コンピューターウィルスの存在をチェックしないことに決定する。このため、ＭＦＰ１００，１００Ａ〜１００Ｃのうち外部からデータを受信するＭＦＰの負荷を低減することができる。
【０１２０】
また、所定の条件は、外部から受信されたデータとは別のデータに対してコンピューターウィルスの存在がチェックされている状態を検出する条件とするので、外部から受信されたデータとは別のデータに対してコンピューターウィルスの存在がチェックされている状態で、外部から受信されたデータをチェックしないようにして、ＭＦＰ１００，１００Ａ〜１００Ｃのうち外部からデータを受信するＭＦＰの負荷を低減することができる。
【０１２１】
また、所定の条件は、ＣＰＵ１１１の負荷がしきい値ＴＨ１以上となる事象を検出する条件とするので、ＭＦＰ１００，１００Ａ〜１００Ｃのうち外部からデータを受信するＭＦＰの負荷を低減することができる。
【０１２２】
また、所定の条件は、ＭＦＰ１００，１００Ａ〜１００Ｃのうち自装置とは別の実行装置から、外部から受信されたデータの送信が要求される事象を検出する条件を含むので、ＭＦＰ１００，１００Ａ〜１００Ｃのうち外部からデータを受信するＭＦＰの負荷を低減することができる。
【０１２３】
また、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれは、実行装置からデータの送信が要求される時点で、要求されたデータに対するチェックが完了していない場合、要求されたデータのチェックを実行装置に依頼する。このため、データを要求する実行装置でデータをチェックするので、ＭＦＰ１００，１００Ａ〜１００Ｃのうち外部からデータを受信するＭＦＰの負荷を低減することができ、データを効率的にチェックすることができる。
【０１２４】
また、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれは、実行装置からの要求に応じて、要求されたデータとともに、そのデータに対するチェックの状態を示す付加情報を実行装置に送信し、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれは、実行装置として機能する場合に、データとともに受信される付加情報がコンピューターウィルスの存在のチェックが完了していない未完状態を示す場合、データをチェックする。このため、自装置と実行装置とのいずれか一方で、データをチェックするので、データに対するチェックが重複しないようにすることができる。
【０１２５】
また、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれは、外部から受信されたデータを、実行装置に送信した後も記憶し、実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶されたデータにコンピューターウィルスが存在しないことを示す付加情報を関連付ける。このため、データに対して、ＭＦＰ１００，１００Ａ〜１００Ｃのいずれかでコンピューターウィルスの存在をチェックすることができる。
【０１２６】
＜第２の実施の形態＞
第１の実施の形態における情報処理システム１において、ＭＦＰ１００，１００Ａ〜１００Ｃがユビキタスプリント機能を実現する。第２の実施の形態における情報処理システム１は、ＭＦＰ１００，１００Ａ〜１００Ｃがサーバークライアントシステムを実現する。ここでは、ＭＦＰ１００がサーバーとして機能し、ＭＦＰ１００Ａ〜１００Ｃがクライアントとして機能する場合を例に説明する。この場合、ＭＦＰ１００Ａ〜１００Ｃは、ＭＦＰ１００をサーバーとして登録しており、ＭＦＰ１００は、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれをクライアントとして登録している。
【０１２７】
第２の実施の形態における情報処理システム１は、図１に示した全体概要と同じである。第２の実施の形態における情報処理システム１において、ＭＦＰ１００，１００Ａ〜１００Ｃは、それらの外観およびハードウェア構成は、図２および図３にそれぞれ示した外観およびハードウェア構成と同じである。従って、ここでは説明を繰り返さない。
【０１２８】
第２の実施の形態における情報処理システム１においては、ＭＦＰ１００は、ファイルサーバーとして機能する。ＭＦＰ１００は、同一グループに属するＭＦＰ１００，１００Ａ〜１００Ｃを代表して、グループの外部からデータを受信し、クライアントとして機能するＭＦＰ１００，１００Ａ〜１００Ｃのいずれかからの要求に応じて、要求されたデータをクライアントに送信する。従って、ＭＦＰ１００は、ファイルサーバーとして機能するとともに、クライアントとしても機能する。
【０１２９】
図１０は、サーバーとして機能するＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。図１０に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶されたデータ処理プログラムを実行することにより、ＣＰＵ１１１に形成される機能である。図１０を参照して、ＣＰＵ１１１は、記憶制御部５１Ａと、操作ユーザー検出部５５と、送信制御部６３Ａと、チェック部６５と、決定部６７と、を含む。操作ユーザー検出部５５、チェック部６５および決定部６７は、図４に示した操作ユーザー検出部５５、チェック部６５および決定部６７と同じなので、ここでは説明を繰り返さない。
【０１３０】
記憶制御部５１Ａは、ＨＤＤ１１５を制御して、複数のユーザーそれぞれに関連するデータを当該データに関連するユーザーと関連付けてＨＤＤ１１５に記憶する。記憶制御部５１Ａは、認証部８１から操作部１６３を操作するユーザーのユーザー識別情報が入力される。記憶制御部５１Ａは、認証部８１からユーザー識別情報が入力された後に、操作部１６３に入力される操作を、そのユーザー識別情報で特定されるユーザーによる操作と判断する。例えば、ユーザーが操作部１６３を操作して、インターネットに接続されたサーバーからデータをダウンロードする場合、記憶制御部５１Ａは、ダウンロードされたデータをＨＤＤ１１５に記憶する。この場合に、記憶制御部５１Ａは、ダウンロードされたデータを認証部８１から入力されるユーザー識別情報と関連付けて記憶する。
【０１３１】
また、記憶制御部５１Ａは、同一グループに属する他のＭＦＰ１００Ａ〜１００Ｃのいずれか、例えば、ＭＦＰ１００Ａにおいて、外部からダウンロード等したデータの保存が依頼される場合、ＭＦＰ１００Ａから受信されたデータを、ＭＦＰ１００Ａを操作するユーザーのユーザー識別情報と関連付けてＨＤＤ１１５に記憶する。
【０１３２】
記憶制御部５１Ａは、プリントジョブ管理部６９を含む。プリントジョブは、データの一例である。プリントジョブ管理部６９は、通信Ｉ／Ｆ部１１２が、ＰＣ２００，２００Ａ〜２００Ｃのいずれか、例えば、ＰＣ２００からプリントジョブを受信する場合、プリントジョブをＨＤＤ１１５の予め定められた領域に記憶する。プリントジョブは、プリントジョブの送信を指示したユーザーのユーザー識別情報を含む。記憶制御部５１Ａは、プリントジョブ管理部６９がプリントジョブをＨＤＤ１１５に記憶する際に、プリントジョブをユーザー識別情報と関連付けて記憶する。記憶制御部５１は、ＨＤＤ１１５に記憶したデータを、そのデータがアクセスされた後も記憶し、アクセスから所定期間が経過するとＨＤＤ１１５から消去する。
【０１３３】
なお、ここでは、ネットワーク３に接続されたＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する場合を例に説明するが、ネットワーク３が接続される外部のネットワーク、例えば、インターネットに接続されたコンピューターからプリントジョブを受信する場合を含む。
【０１３４】
クライアントとして機能するＭＦＰ１００，１００Ａ〜１００Ｃのいずれかからデータの出力が要求される場合がある。同一グループに属するＭＦＰ１００，ＭＦＰ１００Ａ〜１００Ｃのうちでデータの出力を要求する実行装置という。ＭＦＰ１００がクライアントとして機能する場合、クライアントとして機能するＭＦＰ１００は、サーバーとして機能するＭＦＰ１００に、ＨＤＤ１１５に記憶されたデータの出力を要求し、他のＭＦＰ１００Ａ〜１００Ｃがクライアントとして機能する場合、ＭＦＰ１００Ａ〜１００Ｃは、送信依頼コマンドをサーバーとして機能するＭＦＰ１００に送信する。
【０１３５】
ＭＦＰ１００が実行装置として機能する場合、ＭＦＰ１００は、サーバーとして機能するとともにクライアントとして機能する。実行装置がクライアントとして機能するＭＦＰ１００の場合、記憶制御部５１Ａは、データの出力が要求されると、要求されたデータに付加情報が関連付けられていなければ、チェック部６５に要求されたデータのウィルスチェックを依頼する。記憶制御部５１Ａは、チェック部６５によるウィルスチェックが完了し、チェック結果が、コンピューターウィルスが存在しないことを示す場合、要求されたデータにコンピューターウィルスが存在しないことを示す付加情報を関連付けるとともに、要求されたデータをＨＤＤ１１５から読み出す。記憶制御部５１Ａは、チェック部６５によるウィルスチェックが完了し、チェック結果が、コンピューターウィルスが存在することを示す場合、要求されたデータをＨＤＤ１１５から消去する。記憶制御部５１Ａは、ＨＤＤ１１５に記憶されたデータが読み出された後、所定時間経過するまで記憶し、所定時間が経過するとＨＤＤ１１５から消去する。
【０１３６】
実行装置がクライアントとして機能する他のＭＦＰ１００Ａ〜１００Ｃのいずれかの場合、通信Ｉ／Ｆ部１１２が、クライアントとして機能する他のＭＦＰ１００Ａ〜１００Ｃのいずれかから送信依頼コマンドを受信する。送信制御部６３Ａは、ＨＤＤ１１５に記憶されたデータのうちから、送信依頼コマンドに含まれるデータ識別情報で識別されるデータを特定する。送信制御部６３Ａは、送信依頼コマンドに含まれるデータ識別情報で識別されるデータに付加情報が関連付けられていない場合、送信制御部６３Ａは、送信依頼コマンドを送信してきた実行装置が、ウィルスチェックの機能を有する否かを判断する。他のＭＦＰ１００Ａ〜１００Ｃそれぞれの能力情報を予め記憶しておくようにしてもよいし、実行装置に能力を問合せるようにしてもよい。
【０１３７】
送信制御部６３Ａは、送信依頼コマンドに含まれるデータ識別情報で識別されるデータに付加情報が関連付けられていない場合であって、実行装置がウィルスチェックの機能を有しない場合、チェック部６５Ａにコンピューターウィルスのチェックを依頼する。チェック部６５Ａは、チェックが依頼されることに応じて、データにコンピューターウィルスが存在するか否かをチェックする。チェック部６５Ａは、データのチェックが完了するとチェック結果を送信制御部６３Ａに出力する。
【０１３８】
送信制御部６３Ａは、ウィルスチェックの結果が、コンピューターウィルスが存在しないことを示す場合、データをＨＤＤ１１５から読み出すとともに、コンピューターウィルスのチェックが完了したことを示す付加情報を、ＨＤＤ１１５に記憶されたデータに関連付ける。そして、送信制御部６３Ａは、ＨＤＤ１１５から読み出したデータを、通信Ｉ／Ｆ部１１２を制御して、実行装置に送信する。送信制御部６３Ａは、ウィルスチェックの結果が、コンピューターウィルスが存在することを示す場合、ＨＤＤ１１５に記憶されたデータを、実行装置に送信することなく、消去するとともに、送信依頼コマンドを送信してきた装置に、エラー情報を送信する。エラー情報は、例えば、データに、コンピューターウィルスが存在していることを示すメッセージを含む。
【０１３９】
記憶制御部５１Ａは、ＨＤＤ１１５に記憶されたデータを、送信制御部６３Ａにより読み出された後、所定時間経過するまで記憶し、所定時間が経過するとＨＤＤ１１５から消去する。
【０１４０】
送信制御部６３Ａは、依頼部８３Ａを含む。依頼部８３Ａは、送信依頼コマンドに含まれるデータ識別情報で識別されるデータに付加情報が関連付けられていない場合であって、実行装置がウィルスチェックの機能を有する場合、チェックが完了していないことを示す付加情報を関連付ける。送信制御部６３Ａは、実行装置がウィルスチェックの機能を有する場合、通信Ｉ／Ｆ部１１２を制御して、データとともに付加情報を実行装置に送信する。付加情報は、チェック部６５によりデータに関連付けられる付加情報と、依頼部８３Ａによりデータに関連付けられる付加情報とがある。チェック部６５によりデータに関連付けられる付加情報は、チェックが完了していることを示し、依頼部８３Ａによりデータに関連付けられる付加情報は、チェックが完了していないことを示す。
【０１４１】
送信制御部６３Ａは、送信依頼コマンドに含まれるデータ識別情報で識別されるデータに付加情報が関連付けられている場合であって、実行装置がウィルスチェックの機能を有する場合、通信Ｉ／Ｆ部１１２を制御して、データとともに付加情報を実行装置に送信する。このため、あるデータがサーバーとして機能するＭＦＰ１００でチェックされる場合に、そのデータに対して実行装置でチェックしないようにして、１つのデータに対してＭＦＰ１００と実行装置との２つの装置で重複してコンピューターウィルスをチェックしないようにして、ＭＦＰ１００および実行装置の全体での負荷を低減することができる。
【０１４２】
送信制御部６３Ａが、通信Ｉ／Ｆ部１１２を制御して、チェックが完了していないことを示す付加情報をデータとともに実行装置に送信する場合、実行装置においてデータに対してウィルスチェックが実行される。この場合、実行装置は、コンピューターウィルスのチェックをして結果を返信する。送信制御部６３Ａは、実行装置にチェックが完了していないことを示す付加情報をデータとともに実行装置に送信した後に、実行装置からチェック結果を受信する。送信制御部６３Ａは、チェック結果を記憶制御部５１Ａに出力する。記憶制御部５１Ａは、チェック結果が、コンピューターウィルスが存在しないことを示す場合は、ＨＤＤ１１５に記憶された対応するデータにチェックが完了したことを示す付加情報を関連付ける。記憶制御部５１Ａは、チェック結果が、コンピューターウィルスが存在することを示す場合は、ＨＤＤ１１５に記憶された対応するデータを削除する。このため、実行装置においてコンピューターウィルスの存在がチェックされる場合に、ＭＦＰ１００でそのデータに対してコンピューターウィルスの存在をチェックしないようにして、２つの装置で重複して同一の処理が実行されないようにすることができる。
【０１４３】
図１１は、クライアントとして機能するＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。ここでは、ＭＦＰ１００，１００Ａ〜１００ＣのうちＭＦＰ１００Ａがクライアントとして機能する場合を例に示している。図１１に示す機能は、ＭＦＰ１００Ａが備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶されたデータ処理プログラムを実行することにより、ＣＰＵ１１１に形成される機能である。図１１を参照して、ＭＦＰ１００Ａが備えるＣＰＵ１１１Ａは、操作ユーザー検出部５５と、データ取得部５９Ａと、ジョブ実行部６１と、チェック部６５Ａを含む。操作ユーザー検出部５５およびジョブ実行部６１は、図４に示した操作ユーザー検出部５５およびジョブ実行部６１と同じなのでここでは説明を繰り返さない。
【０１４４】
データ取得部５９Ａは、操作ユーザー検出部５５から認証部８１によって認証されたユーザーのユーザー識別情報が入力される。データ取得部５９Ａは、通信Ｉ／Ｆ部１１２を制御して、認証されたユーザーに関連するデータの一覧を、サーバーとして機能するＭＦＰ１００から取得し、一覧からユーザーが選択したデータの送信を依頼する送信依頼コマンドをＭＦＰ１００に送信する。送信依頼コマンドは、ユーザーにより選択されたデータのデータ識別情報を含む。
【０１４５】
送信依頼コマンドを受信するＭＦＰ１００は、送信依頼コマンドを受信する場合、ＨＤＤ１１５に記憶されているデータのうちから、送信依頼コマンドに含まれるデータ識別情報で識別されるデータを抽出し、抽出されたデータを、それに関連付けられた付加情報とともに送信する。
【０１４６】
データ取得部５９Ａは、通信Ｉ／Ｆ部１１２を制御して、サーバーとして機能するＭＦＰ１００に送信依頼コマンドを送信した後に、ＭＦＰ１００からデータと付加情報とを受信する。データ取得部５９Ａは、データとともに受信される付加情報が、コンピューターウィルスのチェックが完了していることを示す場合、受信されたデータをジョブ実行部６１に出力する。データ取得部５９Ａは、データとともに受信される付加情報が、コンピューターウィルスのチェックが完了していないことを示す場合、チェック部６５Ａにコンピューターウィルスのチェックを依頼する。
【０１４７】
チェック部６５Ａは、チェックが依頼されることに応じて、データにコンピューターウィルスが存在するか否かをチェックする。チェック部６５Ａは、データのチェックが完了するとチェック結果をデータ取得部５９Ａに出力する。
【０１４８】
データ取得部５９Ａは、チェック部６５Ａによるチェックの結果、コンピューターウィルスが存在しないことが確認される場合、受信されたデータをジョブ実行部６１に出力するが、コンピューターウィルスが存在することが確認される場合、受信されたデータをジョブ実行部６１に出力することなく、廃棄する。さらに、データ取得部５９Ａは、サーバーとして機能するＭＦＰ１００に、チェック結果を送信する。
【０１４９】
サーバーとして機能するＭＦＰ１００が実行装置として機能する場合がある。以下、図１１に示す機能を、ＭＦＰ１００が有する機能として説明する。データ取得部５９Ａは、操作ユーザー検出部５５から認証部８１によって認証されたユーザーのユーザー識別情報が入力されることに応じて、ユーザー識別情報をデータ取得部５９Ａに出力する。データ取得部５９Ａは、操作ユーザー検出部５５から認証されたユーザーのユーザー識別情報が入力されることに応じて、ＨＤＤ１１５に記憶されているデータのうちから、認証されたユーザーのユーザー識別情報と関連付けられたデータを抽出する。
【０１５０】
データ取得部５９Ａは、抽出されたデータに付加情報が関連付けられていない場合、チェック部６５Ａにコンピューターウィルスのチェックを依頼する。データ取得部５９Ａは、チェック部６５によるチェックの結果、コンピューターウィルスが存在しないことが確認される場合、ＨＤＤ１１５から抽出されたデータをジョブ実行部６１に出力するとともに、ＨＤＤ１１５に記憶されているデータにコンピューターウィルスが存在しないことを示す付加情報を関連付ける。データ取得部５９Ａは、コンピューターウィルスが存在することが確認される場合、ＨＤＤ１１５から抽出されたデータをジョブ実行部６１に出力することなく、ＨＤＤ１１５から消去する。
【０１５１】
また、ＭＦＰ１００Ａがコンピューターウィルスをチェックする機能を有しない場合、チェック部６５Ａは、不要である。この場合、サーバーとして機能するＭＦＰ１００においてコンピューターウィルスの有無がチェックされるので、データ取得部５９Ａは、送信依頼コマンドをＭＦＰ１００に送信した後に、ＭＦＰ１００から受信されるデータを、ジョブ実行部６１に出力する。
【０１５２】
図１２は、第２の実施の形態におけるデータ共有処理の流れの一例を示す第１のフローチャートである。図１３は、第２の実施の形態におけるデータ共有処理の流れの一例を示す第２のフローチャートである。第２の実施の形態におけるデータ共有処理は、サーバーとして機能するＭＦＰ１００が備えるＣＰＵ１１１が、データ共有プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１２および図１３を参照して、図５に示した処理と異なる点は、ステップＳ１３の後にステップＳ１３Ａが追加された点、ステップＳ２０〜ステップＳ２５が新たに追加された点である。その他の処理は、図５に示した処理と同じなのでここでは説明を繰り返さない。
【０１５３】
ＣＰＵ１１１は、ステップＳ１３において、処理対象となるデータが特定されると、ステップＳ１３Ａにおいては、送信依頼コマンドを送信してきた装置が、コンピューターウィルスの有無をチェックする機能を有するか否かを判断する。送信依頼コマンドを送信してきた装置が、コンピューターウィルスの有無をチェックする機能を有するならば処理をステップＳ１４に進めるが、そうでなければ処理をステップＳ２０に進める。
【０１５４】
ステップＳ２０においては、ステップＳ１３において特定されたデータに対してコンピューターウィルスの有無のチェックが完了しているか否かを判断する。処理がステップＳ２０に進む場合、ステップＳ０５においてウィルスチェックが実行されている場合がある。ステップＳ２０においては、ステップＳ０５またはステップＳ１１において開始されたウィルスチェックの実行が終了したか否かを判断する。ウィルスチェックの実行が終了しているならば処理をステップＳ２３に進めるが、そうでなければ処理をステップＳ２１に進める。データに付加情報が関連付けられていれば、チェックが完了していると判断する。
【０１５５】
ステップＳ２１においては、ステップＳ１３において処理対象に特定されたデータに対してウィルスチェックの実行を開始し、処理をステップＳ２２に進める。ステップＳ２２においては、コンピューターウィルスの有無のチェックが完了するまで待機状態となり（ステップＳ２２でＮＯ）、チェックが完了すると（ステップＳ２２でＹＥＳ）、処理をステップＳ２３に進める。
【０１５６】
ステップＳ２３においては、ウィルスチェックの結果によって処理を分岐させる。コンピューターウィルスが存在しない場合は、処理をステップＳ２４に進めるが、そうでなければ処理をステップＳ２５に進める。ステップＳ２４においては、ステップＳ１３において特定されたデータを、送信依頼コマンドを送信してきた装置に送信し、処理をステップＳ０１に戻す。ステップＳ２５においては、ウィルスチェックが実行されたデータをＨＤＤ１１５から消去し、処理をステップＳ０１に戻す。
【０１５７】
第２の実施の形態におけるサーバーとして機能するＭＦＰ１００においては、図９に示したデータ消去処理が実行される。また、第２の実施の形態におけるクライアントとして機能するＭＦＰ１００，１００Ａ〜１００Ｃそれぞれにおいては、図７および図８に示した画像形成処理が実行される。なお、クライアントとして機能するＭＦＰ１００Ａ〜１００Ｃそれぞれにおいては、ステップＳ４９〜ステップＳ５６は不要であり、ステップＳ４８の後に、ステップＳ５７の処理が実行される。さらに、ＭＦＰ１００Ａ〜１００Ｃのうち、コンピューターウィルスをチェックする機能を有しない装置においては、ステップＳ５９〜ステップＳ６２およびステップＳ６４は実行されない。
【０１５８】
以上説明したように第２の実施の形態における情報処理システム１は、同一グループに属するＭＦＰ１００，１００Ａ〜１００Ｃを含み、ＭＦＰ１００がサーバーとして機能し、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれがクライアントとして機能する。ＭＦＰ１００は、ＭＦＰ１００，１００Ａ〜１００Ｃいずれかのために、グループの外部から受信されるデータに対して、コンピューターウィルスの存在をチェックするか否かを決定し、チェックすると決定される場合に、グループの外部から受信されるデータに対して、コンピューターウィルスの存在をチェックする。このため、サーバーと複数のクライアントとのいずれか１つで、データに対してコンピューターウィルスの存在をチェックすることができ、コンピューターウィルスの存在を効率的にチェックすることができる。
【０１５９】
また、サーバーとして機能するＭＦＰ１００は、所定の条件が成立する場合に、コンピューターウィルスの存在をチェックしないことに決定する。このため、サーバーとして機能するＭＦＰ１００の負荷を低減することができる。
【０１６０】
また、所定の条件は、外部から受信されたデータとは別のデータに対してコンピューターウィルスの存在がチェックされている状態を検出する条件とするので、外部から受信されたデータとは別のデータに対してコンピューターウィルスの存在がチェックされている状態で、外部から受信されたデータをチェックしないようにして、サーバーとして機能するＭＦＰ１００の負荷を低減することができる。
【０１６１】
また、所定の条件は、ＣＰＵ１１１の負荷がしきい値ＴＨ１以上となる事象を検出する条件とするので、サーバーとして機能するＭＦＰ１００の負荷を低減することができる。
【０１６２】
また、所定の条件は、ＭＦＰ１００，１００Ａ〜１００Ｃのうちクライアントとして機能する実行装置から、外部から受信されたデータの送信が要求される事象を検出する条件を含むので、サーバーとして機能するＭＦＰ１００の負荷を低減することができる。
【０１６３】
また、サーバーとして機能するＭＦＰ１００は、実行装置からデータの送信が要求される時点で、要求されたデータに対するチェックが完了していない場合、要求されたデータのチェックを実行装置に依頼する。このため、データを要求する実行装置でデータをチェックするので、サーバーとして機能するＭＦＰ１００の負荷を低減することができ、データを効率的にチェックすることができる。また、実行装置が、コンピューターウィルスの有無をチェックする機能を有しない場合、ＭＦＰ１００でチェックするので、実行装置がコンピューターウィルスで感染しないようにすることができる。
【０１６４】
また、サーバーとして機能するＭＦＰ１００は、実行装置からの要求に応じて、要求されたデータとともに、そのデータに対するチェックの状態を示す付加情報を実行装置に送信し、クライアントとして機能するＭＦＰ１００，１００Ａ〜１００Ｃそれぞれは、実行装置として機能する場合に、データとともに受信される付加情報がコンピューターウィルスの存在のチェックが完了していない未完状態を示す場合、データをチェックする。このため、サーバーとクライアントとのいずれか一方で、データをチェックするので、データに対するチェックが重複しないようにすることができる。
【０１６５】
また、サーバーとして機能するＭＦＰ１００は、外部から受信されたデータを、実行装置に送信した後も記憶し、実行装置によってコンピューターウィルスが存在しないことが確認される場合、記憶されたデータにコンピューターウィルスが存在しないことを示す付加情報を関連付ける。このため、サーバーとして機能するＭＦＰ１００でコンピューターウィルスをチェックしない場合であっても、クライアントでコンピューターウィルスをチェックした結果が反映される。このため、サーバーとして機能するＭＦＰ１００およびクライアントとして機能するＭＦＰ１００，１００Ａ〜１００Ｃそれぞれにおいて、コンピューターウィルスに感染しないようにすることができる。
【０１６６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１６７】
＜付記＞
（１）  外部から受信された前記データの送信が前記実行装置から要求されてから所定期間が経過すると、前記記憶制御手段により記憶された前記データを消去する消去手段を、さらに備えた請求項８に記載の情報処理システム。
（２）  外部から受信された前記データの送信が前記実行装置から要求されてから所定期間が経過すると、前記記憶制御手段により記憶された前記データを消去する消去手段を、さらに備えた請求項１６に記載の情報処理システム。
【符号の説明】
【０１６８】
１  情報処理システム、３  ネットワーク、１００，１００Ａ〜１００Ｃ  ＭＦＰ、２００，２００Ａ〜２００Ｃ  ＰＣ、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１５５  後処理部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部、５１，５１Ａ  記憶制御部、５３  データ管理部、５５  操作ユーザー検出部、５７  データ特定部、５９，５９Ａ  データ取得部、６１  ジョブ実行部、６３，６３Ａ  送信制御部、６５，６５Ａ  チェック部、６７  決定部、６９  プリントジョブ管理部、７１  管理情報送信部、７３  管理情報受信部、８１  認証部、８３  依頼部。
【図１】
2019160078.tif 000003
【図２】
2019160078.tif 000004
【図３】
2019160078.tif 000005
【図４】
2019160078.tif 000006
【図５】
2019160078.tif 000007
【図６】
2019160078.tif 000008
【図７】
2019160078.tif 000009
【図８】
2019160078.tif 000010
【図９】
2019160078.tif 000011
【図１０】
2019160078.tif 000012
【図１１】
2019160078.tif 000013
【図１２】
2019160078.tif 000014
【図１３】
2019160078.tif 000015