(57)【要約】【課題】通信装置において発生したイベントのログを示すログ情報をサーバに迅速に送信することができると共に、通信装置とサーバとの間の通信におけるトラフィックが大きくなることを抑制することができる技術を提供すること。【解決手段】通信装置は、最初の第１のイベントが発生する場合に、第１のイベントの発生から第１の所定時間が経過する前に、第１のログ情報をサーバに送信する。また、通信装置は、最初の第１のイベントの発生から第１の所定時間が経過する前に、第１のイベントが再び発生する場合に、最初の第１のイベントの発生から第１の所定時間が経過する前に、第２のログ情報をサーバに送信せずに、最初の第１のイベントの発生から第１の所定時間が経過した後に、第２のログ情報をサーバに送信する。【選択図】図１
2020086666.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
前記通信装置において最初の第１のイベントが発生する場合に、最初の前記第１のイベントの発生から第１の所定時間が経過する前に、最初の前記第１のイベントのログを示す第１のログ情報をサーバに送信する第１の送信部と、
最初の前記第１のイベントの発生から前記第１の所定時間が経過する前に、前記通信装置において前記第１のイベントが再び発生する場合に、最初の前記第１のイベントの発生から前記第１の所定時間が経過する前に、再び発生した前記第１のイベントのログを示す第２のログ情報を前記サーバに送信せずに、最初の前記第１のイベントの発生から前記第１の所定時間が経過した後に、前記第２のログ情報を前記サーバに送信する第２の送信部と、
を備える、通信装置。
【請求項２】
前記通信装置は、さらに、
メモリと、
最初の前記第１のイベントの発生から前記第１の所定時間が経過するまでの間に前記通信装置において再び発生した前記第１のイベントの回数を示す第１の回数情報を前記メモリに記憶する第１の記憶制御部を備え、
前記第２のログ情報は、前記第１の回数情報を含む、請求項１に記載の通信装置。
【請求項３】
前記通信装置は、さらに、
複数のイベントのそれぞれについて予め決められている順位を示す複数の順位情報を記憶するメモリを備え、
前記第１のログ情報は、前記メモリに記憶されている前記複数の順位情報のうちの第１の順位情報であって、前記第１のイベントについて予め決められている順位を示す前記第１の順位情報を含み、
前記第２のログ情報は、前記第１の順位情報よりも高い順位を示す第２の順位情報を含む、請求項１又は２に記載の通信装置。
【請求項４】
前記通信装置は、さらに、
最初の前記第１のイベントの発生から前記第１の所定時間が経過するまでの間に前記通信装置において再び発生した前記第１のイベントの回数を示す第１の回数情報を前記メモリに記憶する第１の記憶制御部と、
最初の前記第１のイベントの発生から前記第１の所定時間が経過した後に、前記メモリに記憶されている前記第１の回数情報によって示される回数が第１の閾値以上であるのか否かを判断する第１の判断部と、を備え、
前記第２の送信部は、
前記第１の回数情報によって示される回数が前記第１の閾値以上であると判断される場合に、前記第２の順位情報を含む前記第２のログ情報を前記サーバに送信し、
前記第１の回数情報によって示される回数が前記第１の閾値未満であると判断される場合に、前記第１の順位情報を含む前記第２のログ情報を前記サーバに送信する、請求項３に記載の通信装置。
【請求項５】
前記通信装置は、さらに、
前記通信装置において前記第１のイベントとは異なる第２のイベントであって、最初の前記第２のイベントが発生する場合に、最初の前記第２のイベントの発生から第２の所定時間が経過する前に、最初の前記第２のイベントのログを示す第３のログ情報を前記サーバに送信する第３の送信部であって、前記第３のログ情報は、前記メモリに記憶されている前記複数の順位情報のうちの第３の順位情報であって、前記第２のイベントについて予め決められている順位を示す前記第３の順位情報を含む、前記第３の送信部と、
最初の前記第２のイベントの発生から前記第２の所定時間が経過する前に、前記通信装置において前記第２のイベントが再び発生する場合に、最初の前記第２のイベントの発生から前記第２の所定時間が経過する前に、再び発生した前記第２のイベントのログを示す第４のログ情報を前記サーバに送信せずに、最初の前記第２のイベントの発生から前記第２の所定時間が経過した後に、前記第４のログ情報を前記サーバに送信する第４の送信部と、
最初の前記第２のイベントの発生から前記第２の所定時間が経過するまでの間に前記通信装置において再び発生した前記第２のイベントの回数を示す第２の回数情報を前記メモリに記憶する第２の記憶制御部と、
最初の前記第２のイベントの発生から前記第２の所定時間が経過した後に、前記メモリに記憶されている前記第２の回数情報によって示される回数が第２の閾値以上であるのか否かを判断する第２の判断部と、を備え、
前記第４の送信部は、
前記第２の回数情報によって示される回数が前記第２の閾値以上であると判断される場合に、前記第３の順位情報よりも高い順位を示す第４の順位情報を含む前記第４のログ情報を前記サーバに送信し、
前記第２の回数情報によって示される回数が前記第２の閾値未満であると判断される場合に、前記第３の順位情報を含む前記第４のログ情報を送信する、請求項４に記載の通信装置。
【請求項６】
前記第２の所定時間は、前記第１の所定時間と同じであり、
前記第２の閾値は、前記第１の閾値とは異なる、請求項５に記載の通信装置。
【請求項７】
前記第１のイベントは、前記通信装置において前記通信装置のユーザを認証するための認証処理が実行されることを含む、請求項１から６のいずれか一項に記載の通信装置。
【請求項８】
前記通信装置は、さらに、
メモリと、
前記通信装置において複数のイベントのうちのいずれかのイベントが発生する毎に、当該イベントが発生したことを示す履歴情報を前記メモリに記憶する第３の記憶制御部と、
前記通信装置において前記第１のイベントが発生する場合に、前記メモリに記憶されている前記履歴情報の個数が第１の所定数以上であるのか否かを判断する第３の判断部と、を備え、
前記第１の送信部は、前記履歴情報の個数が前記第１の所定数未満であると判断される場合に、前記第１のログ情報を前記サーバに送信し、
前記履歴情報の個数が前記第１の所定数以上であると判断される場合に、前記第１のログ情報は送信されない、請求項１から７のいずれか一項に記載の通信装置。
【請求項９】
前記通信装置は、さらに、
複数のイベントのそれぞれについて予め決められている順位を示す複数の順位情報を記憶するメモリと、
前記通信装置において前記複数のイベントのうちのいずれかのイベントが発生する毎に、前記メモリに記憶されている前記複数の順位情報のうち、当該イベントについて予め決められている順位を示す順位情報を実績順位情報として前記メモリに記憶する第４の記憶制御部と、
前記通信装置において前記第１のイベントが発生する場合に、前記メモリに記憶されている前記複数の順位情報のうちの第１の順位情報であって、前記第１のイベントについて予め決められている順位を示す前記第１の順位情報と同じ順位を示す前記実績順位情報の個数が第２の所定数以上であるのか否かを判断する第４の判断部と、を備え、
前記第１の送信部は、前記第１の順位情報と同じ順位を示す前記実績順位情報の個数が前記第２の所定数未満であると判断される場合に、前記第１のログ情報を前記サーバに送信し、
前記第１の順位情報と同じ順位を示す前記実績順位情報の個数が前記第２の所定数以上であると判断される場合に、前記第１のログ情報は送信されない、請求項１から７のいずれか一項に記載の通信装置。
【請求項１０】
前記第１の送信部は、Ｓｙｓｌｏｇプロトコルに従って、前記第１のログ情報を前記サーバに送信し、
前記第２の送信部は、前記Ｓｙｓｌｏｇプロトコルに従って、前記第２のログ情報を前記サーバに送信する、請求項１から９のいずれか一項に記載の通信装置。
【請求項１１】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置において最初の第１のイベントが発生する場合に、最初の前記第１のイベントの発生から第１の所定時間が経過する前に、最初の前記第１のイベントのログを示す第１のログ情報をサーバに送信する第１の送信部と、
最初の前記第１のイベントの発生から前記第１の所定時間が経過する前に、前記通信装置において前記第１のイベントが再び発生する場合に、最初の前記第１のイベントの発生から前記第１の所定時間が経過する前に、再び発生した前記第１のイベントのログを示す第２のログ情報を前記サーバに送信せずに、最初の前記第１のイベントの発生から前記第１の所定時間が経過した後に、前記第２のログ情報を前記サーバに送信する第２の送信部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、ログ情報をサーバに送信する通信装置に関する技術を開示する。
【背景技術】
【０００２】
特許文献１には、監視対象システムから取得されたログレコードをログ収集サーバ装置（以下では、単に「サーバ」と記載する）に送信するログ収集クライアント装置（以下では、単に「クライアント」と記載する）が開示されている。監視対象システムは、業務処理を実行する毎にログレコードを記憶し、予め決められた間隔で記憶済みの複数のログレコードをクライアントに送信する。クライアントは、監視対象システムから複数のログレコードを受信する場合に、複数のログレコードの共通部分を示すマスクデータを生成し、マスクデータをサーバに送信する。また、クライアントは、複数のログレコードのそれぞれから共通部分を省略して複数のマスクログレコードを生成し、複数のマスクログレコードをサーバに送信する。サーバは、クライアントからマスクデータと複数のマスクログレコードを受信する場合に、それらのデータを利用して、複数のログレコードを復元する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１２８９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、監視対象システムが予め決められた間隔に亘ってログレコードを記憶しておくので、クライアント及びサーバがログレコードを取得するまでに上記の間隔を要する。従って、ログレコードを管理する管理者が、監視対象システムにおいて業務処理が実行されてから、その業務処理のログレコードを取得するまでに時間がかかる。また、例えば、仮に、監視対象システムが業務処理を実行する毎にログレコードを即座にクライアントに送信し、クライアントがログレコードを取得する毎にログレコードを即座にサーバに送信する構成を採用すれば、管理者は、業務処理のログレコードを迅速に取得することができる。しかしながら、当該構成では、サーバが短時間の間に複数のログレコードを取得し得るので、クライアントとサーバとの間の通信におけるトラフィックが大きくなり得る。
【０００５】
本明細書では、通信装置において発生したイベントのログを示すログ情報をサーバに迅速に送信することができると共に、通信装置とサーバとの間の通信におけるトラフィックが大きくなることを抑制することができる技術を開示する。
【０００６】
本明細書で開示する通信装置は、前記通信装置において最初の第１のイベントが発生する場合に、最初の前記第１のイベントの発生から第１の所定時間が経過する前に、最初の前記第１のイベントのログを示す第１のログ情報をサーバに送信する第１の送信部と、最初の前記第１のイベントの発生から前記第１の所定時間が経過する前に、前記通信装置において前記第１のイベントが再び発生する場合に、最初の前記第１のイベントの発生から前記第１の所定時間が経過する前に、再び発生した前記第１のイベントのログを示す第２のログ情報を前記サーバに送信せずに、最初の前記第１のイベントの発生から前記第１の所定時間が経過した後に、前記第２のログ情報を前記サーバに送信する第２の送信部と、を備えてもよい。
【０００７】
上記の構成によると、通信装置は、最初の第１のイベントが発生する場合に、最初の第１のイベントの発生から第１の所定時間が経過する前に、第１のログ情報をサーバに送信する。従って、通信装置において最初に発生した第１のイベントのログを示す第１のログ情報をサーバに迅速に送信することができる。また、通信装置は、最初の第１のイベントの発生から第１の所定時間が経過する前に第１のイベントが再び発生する場合に、最初の第１のイベントの発生から第１の所定時間が経過する前に第２のログ情報をサーバに送信せずに、最初の第１のイベントの発生から第１の所定時間が経過した後に第２のログ情報をサーバに送信する。ここで、仮に、最初の第１のイベントの発生から第１の所定時間が経過する前に第２のログ情報をサーバに送信する比較例を採用すると、第１のログ情報の送信から第２のログ情報の送信までの時間が短くなり、この結果、通信装置とサーバとの間の通信におけるトラフィックが大きくなる。これに対し、本明細書によって開示される構成では、通信装置は、最初の第１のイベントの発生から第１の所定時間が経過した後に第２のログ情報をサーバに送信するので、上記の比較例と比べると、第１のログ情報の送信から第２のログ情報の送信までの時間が長くなり、この結果、通信装置とサーバとの間の通信におけるトラフィックが大きくなることを抑制することができる。
【０００８】
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。上記の通信装置によって実行される方法も新規で有用である。また、上記の通信装置と他の装置（例えば、サーバ）とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】通信システムの構成を示す。
【図２】プリンタの各テーブルを示す。
【図３】履歴情報記憶処理のフローチャートを示す。
【図４】定期処理のフローチャートを示す。
【図５】ログ情報が送信されるケースＡの処理のシーケンス図を示す。
【図６】圧縮ログ情報が送信されるケースＢの処理のシーケンス図を示す。
【図７】図６の続きのシーケンス図を示す。
【図８】第２実施例における履歴情報送信処理のフローチャートを示す。
【図９】第３実施例における履歴情報送信処理のフローチャートを示す。
【図１０】第３実施例におけるケースＣの処理のシーケンス図を示す。
【図１１】図１０の続きのシーケンス図を示す。
【発明を実施するための形態】
【００１０】
（通信システム２の構成；図１）
図１に示すように、通信システム２は、プリンタ１０と、ログ管理サーバ（以下では、単に「サーバ」と記載する）１００と、ＰＣ（Personal Computerの略）２００と、を備える。各デバイス１０，１００，２００は、同じＬＡＮ（Local Area Networkの略）６に所属しており、ＬＡＮ６を介して相互に通信可能である。
【００１１】
（プリンタ１０の構成）
プリンタ１０は、印刷機能を実行可能な周辺装置（即ちＰＣ２００等の周辺装置）である。プリンタ１０は、操作部１２と、表示部１４と、ネットワークインターフェース１６と、印刷実行部１８と、制御部３０と、を備える。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００１２】
操作部１２は、複数のキーによって構成される。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。表示部１４は、タッチパネル等の操作部として機能するものであってもよい。ネットワークＩ／Ｆ１６は、有線通信を実行するためのＩ／Ｆであり、ＬＡＮ６に接続されている。変形例では、ネットワークＩ／Ｆ１６は、無線通信を実行するためのＩ／Ｆであってもよく、この場合、ＬＡＮ６は、いわゆる無線ＬＡＮである。印刷実行部１８は、インクジェット方式、レーザ方式等の印刷機構を備える。
【００１３】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に記憶されているプログラム３６に従って、様々な処理を実行する。例えば、ＣＰＵ３２は、プリンタ１０においてイベントが発生する場合に、Ｓｙｓｌｏｇプロトコルに従って、当該イベントのログを示すログ情報をサーバ１００に送信する。Ｓｙｓｌｏｇプロトコルは、システムのログを記憶するための汎用的な通信プロトコルである。
【００１４】
ここで、「イベントが発生する」とは、プリンタ１０によって予め決められている処理が実行されることを意味する。予め決められている処理は、例えば、ＨＴＴＰ認証、ＳＮＭＰ認証等を含む。ＨＴＴＰ認証は、プリンタ１０のユーザを認証するための処理である。例えば、プリンタ１０は、プリンタ１０と通信可能な外部装置（例えばＰＣ２００）から、ＨＴＴＰ（Hypertext Transfer Protocolの略）に従って、プリンタ１０のＷｅｂサーバにログインするためのログイン要求を受信する場合に、ログイン要求に含まれる認証情報（例えばユーザ名とパスワード）を利用してＨＴＴＰ認証を実行する。ＳＮＭＰ認証は、ＳＮＭＰ（Simple Network Management Protocolの略）に従ったコマンドの送信元であるデバイスを認証するための処理である。例えば、プリンタ１０は、プリンタ１０と通信可能な外部装置（例えばＰＣ２００）から、ＳＮＭＰに従ったコマンド（例えば、プリンタ１０の情報の送信を要求するＧｅｔ  Ｒｅｑｕｅｓｔ）を受信する場合に、当該コマンドに含まれる認証情報（例えばパスワード）を利用してＳＮＭＰ認証を実行する。
【００１５】
メモリ３４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ３４は、プログラム３６のみならず、Ｐｒｉｏｒｉｔｙテーブル３８と、履歴情報テーブル４０と、閾値テーブル４２と、を記憶している。
【００１６】
（ログ管理サーバ１００の構成）
サーバ１００は、プリンタ１０から受信されるログ情報を管理するサーバである。サーバ１００は、プリンタ１０の管理者によってＬＡＮ６に接続される。変形例では、サーバ１００は、インターネットに設置されてもよい。サーバ１００は、プリンタ１０からログ情報を受信する場合に、当該ログ情報をプリンタ１０の管理者のＰＣ（図示省略）に送信（即ち、通知）する。
【００１７】
（ＰＣ２００の構成）
ＰＣ２００は、据置型の端末装置（例えばデスクトップＰＣ等）であるが、変形例では、携帯電話（例えばスマートフォン）、ＰＤＡ、ノートＰＣ、タブレットＰＣ等の可搬型の端末装置であってもよい。
【００１８】
上記のように、プリンタ１０は、プリンタ１０においてイベントが発生する場合に、Ｓｙｓｌｏｇプロトコルに従ってログ情報をサーバ１００に送信する。例えば、悪意ある第三者がＰＣ２００を利用して短時間（例えば１秒）の間にプリンタ１０において複数（例えば１００以上）のイベントを発生させる状況、即ち、いわゆるＤｏＳ（Denial of Serviceの略）攻撃がプリンタ１０に対して実行される状況を想定する。このような状況において、プリンタ１０が短時間の間に複数のログ情報をサーバ１００に送信すると、プリンタ１０とサーバ１００との間で一定時間内に通信されるデータ量（即ちトラフィック）が大きくなる。この結果、プリンタ１０とサーバ１００との間の通信速度が低下し、さらに、プリンタ１０及びサーバ１００の処理負荷が大きくなってしまう。本実施例では、プリンタ１０において発生したイベントのログを示すログ情報をサーバ１００に迅速に送信することができると共に、ＤｏＳ攻撃がプリンタ１０に実行される状況において、プリンタ１０とサーバ１００との間の通信におけるトラフィックが大きくなることを抑制することを実現する。
【００１９】
（各テーブル３８，４０，４２の内容；図２）
続いて、図２を参照して、プリンタ１０のメモリ３４に記憶されている各テーブル３８，４０，４２の内容を説明する。Ｐｒｉｏｒｉｔｙテーブル３８は、複数個のイベントの内容のそれぞれについて、当該イベントの内容と、順位を示す順位情報と、を対応付けて記憶するテーブルである。Ｓｙｓｌｏｇプロトコルでは、イベントの内容の重要度（即ちＰｒｉｏｒｉｔｙ）を示す順位が定義されている。順位の数字が小さい程、重要度が高い。例えば、順位「０」は順位「１」より高順位であり、順位「７」は順位「６」より低順位である。また、順位「３」以上の順位（即ち、順位「０」〜「３」）は、プリンタ１０において、エラー等の問題が発生していることを示す。
【００２０】
履歴情報テーブル４０は、プリンタ１０において発生したイベントの履歴を示す履歴情報を記憶するテーブルである。履歴情報は、日時情報と内容情報とＰｒｉｏｒｉｔｙの順位とＩＰアドレスと回数情報とを含む。日時情報は、プリンタ１０からログ情報がサーバ１００に送信された日時を示す。内容情報は、プリンタ１０において発生したイベントの内容を示す。例えば、内容情報「HTTP auth result = success」は、プリンタ１０においてＨＴＴＰ認証が実行され、かつ、ＨＴＴＰ認証が成功したことを示す。ＩＰアドレスは、イベントの発生に関わる信号（例えばログイン要求）の送信元のデバイス（例えばＰＣ２００）のＩＰアドレスである。回数情報は、イベントの発生から所定時間（例えば１秒）が経過するまでの間に同じイベントが再び発生した回数を示す。なお、変形例では、履歴情報は、上記の各情報（即ち、日時情報、内容情報等）に限らず、プリンタ１０において発生したイベントに関係する他の情報（例えば、イベントが発生した日時、プリンタ１０の設置位置等）をさらに含んでいてもよい。
【００２１】
閾値テーブル４２は、複数個のイベントの内容のそれぞれについて、当該イベントの内容と、閾値と、を対応付けて記憶するテーブルである。閾値は、サーバ１００に通知されるＰｒｉｏｒｉｔｙの順位を変更するために利用される。例えば、ＨＴＴＰ認証に関するイベント（即ちＨＴＴＰ認証の成功又は失敗）に対応する閾値は「１００」であり、ＳＮＭＰ認証に関するイベント（即ちＳＮＭＰ認証の成功又は失敗）に対応する閾値は「２００」である。イベント毎に閾値が異なるので、サーバ１００に通知されるＰｒｉｏｒｉｔｙの順位をイベントに応じて適切に変更することができる。なお、閾値は上記のものに限られず、例えば、ＨＴＴＰ認証に関するイベントの閾値は、「１００」よりも大きい値であってもよいし、「１００」よりも小さい値であってもよい。一般的に言えば、閾値は、ＤｏＳ攻撃がプリンタ１０に対して実行されている可能性が高いと想定される値であればよい。また、閾値は、後述の定期処理（図４参照）において利用される所定時間に応じて決定される。
【００２２】
（履歴情報記憶処理；図３）
続いて、図３を参照して、プリンタ１０のＣＰＵ３２によって実行される履歴情報記憶処理を説明する。なお、プリンタ１０によって実行される以下の各通信は、ネットワークＩ／Ｆ１６を介して実行される。従って、以下では、「ネットワークＩ／Ｆ１６を介して」という記載を省略する。
【００２３】
Ｓ５では、ＣＰＵ３２は、プリンタ１０においてイベントが発生することを監視する。ＣＰＵ３２は、プリンタ１０においてイベントが発生する場合（Ｓ５でＹＥＳ）に、Ｓ１０に進む。以下では、Ｓ５において発生したイベントのことを「対象イベント」と記載する。
【００２４】
Ｓ１０では、ＣＰＵ３２は、対象イベントの内容を示す内容情報（以下では「対象内容情報」と記載する）が履歴情報テーブル４０に記憶済みであるのか否かを判断する。ＣＰＵ３２は、対象内容情報が履歴情報テーブル４０に記憶済みであると判断する場合（Ｓ１０でＹＥＳ）に、Ｓ３０に進む。一方、ＣＰＵ３２は、対象内容情報が履歴情報テーブル４０に記憶済みでないと判断する場合（Ｓ１０でＮＯ）に、Ｓ１５に進む。なお、変形例では、ＣＰＵ３２は、Ｓ１０において、さらに、対象イベント（例えば「ＨＴＴＰ認証の失敗」）と同じ種類のイベント（例えば「ＨＴＴＰ認証の成功」）の内容情報（以下では「同種内容情報」と記載する）が履歴情報テーブル４０に記憶済みであるのか否かを判断してもよい。この場合、ＣＰＵ３２は、対象内容情報および同種内容情報のうちの少なくとも一方が履歴情報テーブル４０に記憶済みであると判断する場合に、Ｓ１０でＹＥＳと判断し、対象内容情報および同種内容情報が履歴情報テーブル４０に記憶済みでないと判断する場合に、Ｓ１０でＮＯと判断する。
【００２５】
Ｓ１５では、ＣＰＵ３２は、最初の対象イベントの発生から所定時間（例えば１秒）が経過する前に、Ｓｙｓｌｏｇプロトコルに従って、最初の対象イベントのログを示すログ情報をサーバ１００に送信する。なお、本明細書において、「最初の対象イベント」とは、対象イベントの内容を示す対象内容情報が履歴情報テーブル４０に記憶済みでないと判断されたイベント（即ち、Ｓ１０でＹＥＳと判断されたイベント）を示し、プリンタ１０において初めて発生したイベントを意味するものではない。ここで、図３に示すログ情報の一例を参照して、ログ情報の詳細を説明する。ログ情報は、ＰＲＩ部と、ＨＥＡＤＥＲ部と、ＭＥＳＳＡＧＥ部と、を含む。ＰＲＩ部は、システムの種類を示すＦａｃｉｌｉｔｙの値とＰｒｉｏｒｉｔｙの順位とに基づいて算出される値（例えば「１３」）である。即ち、ＰＲＩ部を含むログ情報をサーバ１００に送信することによって、Ｐｒｉｏｒｉｔｙの順位をサーバ１００に通知することができる。ＨＥＡＤＥＲ部は、現在の日時情報（即ちログ情報の送信日時（換言すると対象イベントの発生日時））を示す文字列（例えば「Oct 16 10:00:00」）と、プリンタ１０のＩＰアドレスを示す文字列（例えば「10.0.1.0」）と、を含む。ＭＥＳＳＡＧＥ部は、対象イベントの内容情報を示す文字列（例えば「HTTP auth result = failure」）と、対象イベントの発生に関わる信号の送信元である外部装置（例えばＰＣ２００）のＩＰアドレスを示す文字列（例えば「IP address = 10.0.0.7」）と、を含む。
【００２６】
Ｓ２０では、ＣＰＵ３２は、対象イベントの履歴情報を履歴情報テーブル４０に記憶する。当該履歴情報は、送信済みのログ情報に含まれる日時情報（例えば「Oct 16 10:00:00」）と、対象イベントの内容情報（例えば「HTTP auth result = failure」）と、対象イベントのＰｒｉｏｒｉｔｙの順位（例えば「４」）と、外部装置（例えばＰＣ２００）のＩＰアドレス（例えば「10.0.0.7」）と、回数情報「Ｎ」と、を含む。
【００２７】
Ｓ２５では、ＣＰＵ３２は、Ｓ２０で記憶された履歴情報に含まれる回数情報の値をＮ＝「０」に設定する。Ｓ２５の処理が終了すると、Ｓ５の処理に戻る。
【００２８】
Ｓ３０では、ＣＰＵ３２は、履歴情報に含まれる回数情報の値を１だけインクリメントする。具体的には、ＣＰＵ３２は、対象イベントの内容情報（即ち対象内容情報）が履歴情報テーブル４０に記憶済みであると判断する場合（Ｓ１０でＹＥＳ）に、履歴情報テーブル４０から対象内容情報を含む履歴情報を特定し、特定済みの履歴情報に含まれる回数情報の値を１だけインクリメントする。例えば、プリンタ１０において対象イベントが発生してＳ５〜Ｓ２５の処理が実行されることによって回数情報Ｎ＝「０」が設定された後に、プリンタ１０において同じイベントが再び発生する場合（Ｓ５でＹＥＳかつＳ１０でＹＥＳ）には、Ｓ３０において、回数情報Ｎ＝「１」が設定される。Ｓ３０の処理が終了すると、Ｓ５に戻る。
【００２９】
（定期処理；図４）
続いて、図４を参照して、プリンタ１０のＣＰＵ３２によって実行される定期処理を実行する。定期処理は、履歴情報記憶処理（図３）と並行して実行される。
【００３０】
Ｓ１００では、ＣＰＵ３２は、履歴情報テーブル４０において、日時情報が示す日時から所定時間（例えば１秒）を経過した履歴情報（以下では「対象履歴情報」と記載する）が存在するのか否かを判断する。なお、ＤｏＳ攻撃に起因してトラフィックが大きくなり過ぎないように、ある程度長い時間（本実施例では１秒）が所定時間として予め決められる。所定時間は、１秒に限られず、１秒より長い時間であってもよいし短い時間であってもよい。ＣＰＵ３２は、対象履歴情報が存在すると判断する場合（Ｓ１００でＹＥＳ）に、Ｓ１０５に進む。
【００３１】
Ｓ１０５では、ＣＰＵ３２は、対象履歴情報に含まれる回数情報「Ｎ」の値を特定する。そして、ＣＰＵ３２は、Ｎ＝「０」を特定する場合に、Ｓ１１０において、履歴情報テーブル４０から対象履歴情報を削除する。Ｓ１１０の処理が終了すると、Ｓ１００に戻る。
【００３２】
また、ＣＰＵ３２は、Ｓ１０５でＮ＝「１」を特定する場合に、Ｓ１１５において、Ｓｙｓｌｏｇプロトコルに従って、ログ情報をサーバ１００に送信する。当該ログ情報に含まれるＰＲＩ部は、Ｓ１５のログ情報のＰＲＩ部と同じである。また、当該ログ情報に含まれるＨＥＡＤＥＲ部は、回数情報Ｎ＝「１」が設定された日時（即ち、イベントの発生日時）を示す文字列と、プリンタ１０のＩＰアドレスを示す文字列と、を含む。また、当該ログ情報に含まれるＭＥＳＳＡＧＥ部は、対象履歴情報に含まれる内容情報を示す文字列と、対象履歴情報に含まれるＩＰアドレスを示す文字列と、を含む。Ｓ１１５の処理が終了すると、Ｓ１４５に進む。
【００３３】
また、ＣＰＵ３２は、Ｓ１０５でＮ≧「２」を特定する場合に、Ｓ１２０において、閾値テーブル４２から対象履歴情報に含まれる内容情報によって示されるイベントの内容（例えば「ＨＴＴＰ認証の失敗」）に対応する閾値（例えば１００）を特定し、対象履歴情報に含まれる回数情報「Ｎ」によって示される回数が特定済みの閾値以上であるのか否かを判断する。ＣＰＵ３２は、回数情報「Ｎ」によって示される回数が閾値以上であると判断する場合（Ｓ１２０でＹＥＳ）に、Ｓ１２５に進む。一方、ＣＰＵ３２は、回数情報「Ｎ」によって示される回数が閾値未満であると判断する場合に、Ｓ１４０に進む。
【００３４】
Ｓ１２５では、ＣＰＵ３２は、対象履歴情報に含まれるＰｒｉｏｒｉｔｙの順位が「４」以上であるのか否かを判断する。ＣＰＵ３２は、対象履歴情報に含まれるＰｒｉｏｒｉｔｙの順位が「４」以上であると判断する場合（Ｓ１２５でＹＥＳ）、即ち、当該順位が「４」〜「７」のいずれかである場合に、Ｓ１３０において、当該順位を「３」に変更する。即ち、ＣＰＵ３２は、対象履歴情報に含まれるＰｒｉｏｒｉｔｙの順位がプリンタ１０においてエラー等の問題が発生していることを示す順位でない場合に、当該順位をプリンタ１０においてエラー等の問題が発生していることを示す順位に変更する。一方、ＣＰＵ３２は、対象履歴情報に含まれるＰｒｉｏｒｉｔｙの順位が「４」未満であると判断する場合（Ｓ１２５でＮＯ）、即ち、当該順位が「０」〜「３」のいずれかである場合に、Ｓ１３５において、当該順位を「０」に変更する。なお、当該順位が「０」である場合には、当該順位が「０」に維持される。
【００３５】
Ｓ１４０では、ＣＰＵ３２は、Ｓｙｓｌｏｇプロトコルに従って、圧縮ログ情報をサーバ１００に送信する。圧縮ログ情報は、ログ情報と同様に、ＰＲＩ部と、ＨＥＡＤＥＲ部と、ＭＥＳＳＡＧＥ部と、を含む。Ｓ１２０でＹＥＳと判断された後に実行されるＳ１４０では、圧縮ログ情報に含まれるＰＲＩ部は、Ｆａｃｉｌｉｔｙの値と、Ｓ１３０又はＳ１３５において変更済みのＰｒｉｏｒｉｔｙの順位（即ち、「３」又は「０」）とに基づいて算出される値である。即ち、これにより、変更済みのＰｒｉｏｒｉｔｙの順位をサーバ１００に通知することができる。Ｓ１２０でＮＯと判断された後に実行されるＳ１４０では、圧縮ログ情報に含まれるＰＲＩ部は、図３のＳ１５のＰＲＩ部と同様である。圧縮ログ情報に含まれるＨＥＡＤＥＲ部は、回数情報Ｎ＝「１」が設定された日時（即ち、イベントの発生日時）を示す文字列と、プリンタ１０のＩＰアドレスを示す文字列と、を含む。なお、変形例では、圧縮ログ情報に含まれるＨＥＡＤＥＲ部は、回数情報の値を１だけインクリメントした全ての日時（即ちＳ３０の処理が実行された日時（換言すると、全てのイベントの発生日時））を示す文字列をさらに含んでいてもよい。また、別の変形例では、圧縮ログ情報に含まれるＨＥＡＤＥＲ部は、回数情報Ｎ＝「１」が設定された日時を示す文字列に代えて、現在の日時を示す日時情報（即ち圧縮ログ情報の送信日時）を含んでいてもよい。圧縮ログ情報に含まれるＭＥＳＳＡＧＥ部は、図４に示すように、対象履歴情報に含まれる内容情報を示す文字列と、対象履歴情報に含まれるＩＰアドレスを示す文字列と、に加えて、対象履歴情報に含まれる回数情報を示す文字列（例えば「125 times」）を含む。ＣＰＵ３２が、プリンタ１０において複数回発生したイベントのログを示す複数のログ情報をサーバ１００に送信することなく、１個の圧縮ログ情報をサーバ１００に送信するので、プリンタ１０とサーバ１００との間の通信におけるトラフィックが大きくなることを抑制することができる。また、圧縮ログ情報に含まれるＭＥＳＳＡＧＥ部が回数情報を示す文字列を含むので、所定時間内にプリンタ１０において同じイベントが発生した回数をサーバ１００に通知することができる。
【００３６】
Ｓ１４５では、ＣＰＵ３２は、対象履歴情報に含まれる日時情報を更新する。具体的には、ＣＰＵ３２は、Ｓ１１５の後に実行されるＳ１４５では、対象履歴情報に含まれる日時情報を、Ｓ１１５でログ情報をサーバ１００に送信した日時を示す日時情報に更新する。また、ＣＰＵ３２は、Ｓ１４０の後に実行されるＳ１４５では、対象履歴情報に含まれる日時情報を、Ｓ１４０で圧縮ログ情報をサーバ１００に送信した日時を示す日時情報に更新する。
【００３７】
Ｓ１５０では、ＣＰＵ３２は、対象履歴情報に含まれる回数情報の値をＮ＝「０」に設定する。Ｓ１５０の処理が終了すると、Ｓ１００に戻る。
【００３８】
（具体的なケース；図５〜図７）
続いて、図５〜図７を参照して、図３及び図４の処理が実行されることによって実現される具体的なケースを説明する。なお、以下では、理解の容易化のために、各デバイスのＣＰＵ（例えばプリンタ１０のＣＰＵ３２）が実行する動作を、ＣＰＵを主体として記載せずに、各デバイス（例えばプリンタ１０）を主体として記載する。
【００３９】
（ケースＡ；図５）
まず、図５を参照して、プリンタ１０において最初のイベントが発生してから所定時間が経過する前に、プリンタ１０において同じイベントが発生しないケースＡを説明する。図５の初期状態では、プリンタ１０の履歴情報テーブル４０は履歴情報を記憶していない。
【００４０】
Ｔ１０では、ＰＣ２００は、ユーザからプリンタ１０のＷｅｂサーバにログインするためのログイン操作を受け付ける。ログイン操作は、ユーザ名及びパスワードを入力する操作を含む。本ケースでは、ユーザによって誤ったユーザ名及びパスワードがＰＣ２００に入力される。次いで、ＰＣ２００は、ＨＴＴＰに従って、入力済みのユーザ名及びパスワードと、ＰＣ２００のＩＰアドレス「10.0.0.7」と、を含むログイン要求をプリンタ１０に送信する。
【００４１】
プリンタ１０は、Ｔ１２において、ＰＣ２００からログイン要求を受信する場合に、Ｔ１４において、ログイン要求に含まれるユーザ名及びパスワードを利用してＨＴＴＰ認証を実行し、ＨＴＴＰ認証を失敗する。この場合、プリンタ１０は、プリンタ１０においてイベントが発生し（図３のＳ５でＹＥＳ）、かつ、当該イベントの内容（即ち「ＨＴＴＰ認証の失敗」）を示す内容情報（即ち「HTTP auth result = failure」）が履歴情報テーブル４０に記憶済みでないと判断する（Ｓ１０でＮＯ）。
【００４２】
Ｔ２０では、プリンタ１０は、最初のイベントの発生（Ｔ１４参照）から所定時間が経過する前に、Ｓｙｓｌｏｇプロトコルに従って、ログ情報をサーバ１００に送信する（図３のＳ１５）。当該ログ情報のＰＲＩ部は、Ｆａｃｉｌｉｔｙの値とＰｒｉｏｒｉｔｙの順位とに基づいて算出される値（例えば「１３」）を含む。当該ログ情報のＨＥＡＤＥＲ部は、現在の日時情報を示す文字列「Oct 16 10:00:00」と、プリンタ１０のＩＰアドレスを示す文字列「10.0.1.0」と、を含む。ＭＥＳＳＡＧＥ部は、内容情報を示す文字列「HTTP auth result = failure」と、Ｔ１２で受信されたログイン要求の送信元であるＰＣ２００のＩＰアドレスを示す文字列「IP address = 10.0.0.7」と、を含む。
【００４３】
Ｔ２２では、プリンタ１０は、Ｔ１４で発生したイベントの履歴情報Ｒ１を履歴情報テーブル４０に記憶する（Ｓ２０及びＳ２５）。履歴情報Ｒ１は、日時情報「Oct 16 10:00:00」と、内容情報「HTTP auth result = failure」と、イベントの内容「ＨＴＴＰ認証の失敗」のＰｒｉｏｒｉｔｙの順位「４」と、ＰＣ２００のＩＰアドレス「10.0.0.7」と、回数情報「０」と、を含む。
【００４４】
Ｔ３０では、プリンタ１０は、履歴情報テーブル４０において、日時情報「Oct 16 10:00:00」が示す日時から所定時間を経過した履歴情報Ｒ１が存在すると判断する（図４のＳ１００でＹＥＳ）。この場合、Ｔ３２では、プリンタ１０は、履歴情報Ｒ１に含まれる回数情報「０」を特定し（Ｓ１０５でＮ＝「０」）、履歴情報テーブル４０から履歴情報Ｒ１を削除する（Ｓ１１０）。Ｔ３２の処理が終了すると、ケースＡの処理が終了する。
【００４５】
（ケースＢ；図６及び図７）
続いて、図６及び図７を参照して、プリンタ１０において最初のイベントが発生してから所定時間が経過する前に、プリンタ１０において同じイベントが発生するケースＢを説明する。ケースＢは、ＤｏＳ攻撃がプリンタ１０に対して実行される状況を想定している。図６の初期状態では、プリンタ１０の履歴情報テーブル４０は履歴情報を記憶していない。
【００４６】
Ｔ１１０〜Ｔ１２２は、図５のＴ１０〜Ｔ２２と同様である。本ケースでは、Ｔ１１４で最初のイベントが発生してから所定時間が経過する前に、プリンタ１０は、Ｔ１３２において、ＰＣ２００からログイン要求を再び受信し、Ｔ１３４において、ログイン要求に含まれるユーザ名及びパスワードを利用してＨＴＴＰ認証を実行し、ＨＴＴＰ認証を再び失敗する。この場合、プリンタ１０は、プリンタ１０においてイベントが発生し（図３のＳ５でＹＥＳ）、かつ、当該イベントの内容（即ち「ＨＴＴＰ認証の失敗」）を示す内容情報（即ち「HTTP auth result = failure」）が履歴情報テーブル４０に記憶済みであると判断する（Ｓ１０でＹＥＳ）。
【００４７】
Ｔ１３６では、プリンタ１０は、内容情報「HTTP auth result = failure」を含む履歴情報Ｒ１を特定し、履歴情報Ｒ１に含まれる回数情報の値を１だけインクリメントして、回数情報を「０」から「１」に更新する。Ｔ１３６の処理が終了すると、図６の処理が終了する。
【００４８】
続いて、図７を参照して、図６の続きの処理を説明する。図６のＴ１３６の処理が終了した後に、Ｔ１１４でイベントが発生してから所定時間が経過する前に、プリンタ１０とＰＣ２００との間でＴ１３２〜Ｔ１３６と同様の処理が繰り返し実行される。即ち、プリンタ１０は、ＰＣ２００からログイン要求を受信して、ＨＴＴＰ認証を失敗し、履歴情報Ｒ１に含まれる回数情報の値を１だけインクリメントすることを繰り返す。最初のイベント（Ｔ１１４参照）が発生してから所定時間が経過するまでの間にプリンタ１０において同じイベントが複数回（例えば１２５回）に亘って発生した結果、図７のＴ２３６では、履歴情報Ｒ１に含まれる回数情報の値が「１２５」に更新される。
【００４９】
Ｔ２４０では、プリンタ１０は、履歴情報テーブル４０において、日時情報「Oct 16 10:00:00」が示す日時から所定時間を経過した履歴情報Ｒ１が存在すると判断する（図４のＳ１００でＹＥＳ）。この場合、プリンタ１０は、履歴情報Ｒ１に含まれる回数情報「１２５」を特定し（Ｓ１０５でＮ≧「２」）、閾値テーブル４２から履歴情報Ｒ１に含まれる内容情報「HTTP auth result = failure」に対応する閾値「１００」を特定し、回数情報によって示される回数「１２５」が閾値「１００」以上であると判断する（Ｓ１２０でＹＥＳ）。
【００５０】
Ｔ２４２では、プリンタ１０は、履歴情報Ｒ１に含まれるＰｒｉｏｒｉｔｙの順位が「４」以上であると判断し（Ｓ１２５でＹＥＳ）、Ｐｒｉｏｒｉｔｙの順位を「３」に変更する（Ｓ１３０）。回数情報によって示される回数が閾値以上である場合、即ち、ＤｏＳ攻撃がプリンタ１０に対して実行されている可能性が高い場合に、Ｐｒｉｏｒｉｔｙの順位が変更されるので、高い順位をサーバ１００に通知することができる。これにより、例えば、サーバ１００からプリンタ１０の管理者のＰＣに、プリンタ１０においてエラー等の問題が発生していることを示す警告等を送信することができる。この結果、ＤｏＳ攻撃がプリンタ１０に実行されていることをプリンタ１０の管理者に通知し得る。
【００５１】
Ｔ２５０では、プリンタ１０は、Ｓｙｓｌｏｇプロトコルに従って、圧縮ログ情報をサーバ１００に送信する（図４のＳ１４０）。当該圧縮ログ情報に含まれるＰＲＩ部は、Ｆａｃｉｌｉｔｙの値と、変更済みのＰｒｉｏｒｉｔｙの順位「３」とに基づいて算出される値（例えば「１２」）である。また、当該圧縮ログ情報に含まれるＨＥＡＤＥＲ部は、回数情報Ｎ＝「１」が設定された日時（即ち、Ｔ１３４が実行された日時）を示す文字列「Oct 16 10:00:01」と、プリンタ１０のＩＰアドレスを示す文字列「10.0.1.0」と、を含む。また、当該圧縮ログ情報に含まれるＭＥＳＳＡＧＥ部は、履歴情報Ｒ１に含まれる内容情報を示す文字列「HTTP auth result = failure」と、履歴情報Ｒ１に含まれるＩＰアドレスを示す文字列「IP address = 10.0.0.7」と、履歴情報Ｒ１に含まれる回数情報を示す文字列「125 times」と、を含む。
【００５２】
Ｔ２５２では、プリンタ１０は、履歴情報Ｒ１に含まれる日時情報を「Oct 16 10:00:01」に更新し（図４のＳ１４５）、回数情報の値をＮ＝「０」に設定することによって（Ｓ１５０）、履歴情報Ｒ１を更新する。Ｔ２５２の処理が終了すると、ケースＢの処理が終了する。
【００５３】
（本実施例の効果）
本実施例によると、プリンタ１０は、最初のイベントが発生する場合（図３のＳ５でＹＥＳかつＳ１０でＮＯ）に、最初のイベントの発生から所定時間（例えば１秒）が経過する前に、ログ情報をサーバ１００に送信する（Ｓ１５）。従って、プリンタ１０において最初に発生したイベントのログを示すログ情報をサーバ１００に迅速に送信することができる。このため、ログ情報をプリンタ１０の管理者に迅速に通知し得る。また、プリンタ１０は、最初のイベントの発生から所定時間が経過する前に、同じイベントが再び発生する場合（Ｓ５でＹＥＳかつＳ１０でＹＥＳ）に、最初のイベントの発生から所定時間が経過する前に再び発生した同じイベントのログを示すログ情報をサーバ１００に送信せずに、最初のイベントの発生から所定時間が経過した後（図４のＳ１００でＹＥＳかつＳ１０５でＮ＝「１」（又はＮ≧２））に、ログ情報（又は圧縮ログ情報）をサーバ１００に送信する（Ｓ１１５（又はＳ１４０））。ここで、仮に、イベントの発生から所定時間が経過する前にログ情報（又は圧縮ログ情報）をサーバ１００に送信する比較例を採用すると、最初のログ情報の送信から次のログ情報の送信までの時間が短くなり、この結果、プリンタ１０とサーバ１００との間の通信におけるトラフィックが大きくなる。特に、ケースＢのようなＤｏｓ攻撃が行われている場合には、プリンタ１０とサーバ１００との間で短時間（例えば１秒間）の間に膨大な数（例えば１２５回）のログ情報の通信が実行される。この結果、トラフィックが膨大になってしまう。これに対し、上記の実施例では、プリンタ１０は、最初のイベントの発生から所定時間が経過した後にログ情報（又は圧縮ログ情報）をサーバ１００に送信するので、上記の比較例と比べると、最初のログ情報の送信から次のログ情報の送信までの時間が長くなり、この結果、プリンタ１０とサーバ１００との間の通信におけるトラフィックが大きくなることを抑制することができる。
【００５４】
（対応関係）
プリンタ１０、サーバ１００が、それぞれ、「通信装置」、「サーバ」の一例である。ＨＴＴＰ認証に関するイベント（即ちＨＴＴＰ認証の成功又は失敗）、ＳＮＭＰ認証に関するイベント（即ちＳＮＭＰ認証の成功又は失敗）が、それぞれ、「第１のイベント」、「第２のイベント」の一例である。図４のＳ１００の所定時間が、「第１の所定時間」及び「第２の所定時間」の一例である。図３のＳ２０で送信されるログ情報が「第１のログ情報」の一例であり、図４のＳ１１５で送信されるログ情報及びＳ１４０で送信される圧縮ログ情報が「第２のログ情報」の一例である。
【００５５】
ケースＢ（図６及び図７）の履歴情報Ｒ１に含まれるＰｒｉｏｒｉｔｙの順位「４」、「３」が、それぞれ、「第１の順位情報」、「第２の順位情報」の一例である。ＨＴＴＰ認証に関するイベントに対応する閾値、ＳＮＭＰ認証に関するイベントに対応する閾値が、それぞれ、「第１の閾値」、「第２の閾値」の一例である。
【００５６】
図３のＳ１５の処理、図４のＳ１１５及びＳ１４０の処理が、それぞれ、「第１の送信部」、「第２の送信部」によって実行される処理の一例である。
【００５７】
（第２実施例；図８）
続いて、図８を参照して、第２実施例を説明する。第２実施例では、プリンタ１０のＣＰＵ３２が、図３の履歴情報記憶処理に代えて、図８の履歴情報記憶処理を実行する点が第１実施例とは異なる。
【００５８】
Ｓ２０５及びＳ２１０は、図３のＳ５及びＳ１０と同様である。Ｓ２１３では、ＣＰＵ３２は、履歴情報テーブル４０に記憶されている履歴情報の個数が所定数（例えば「５０」）以上であるのか否かを判断する。ＣＰＵ３２は、履歴情報の個数が所定数未満であると判断する場合（Ｓ２１３でＮＯ）に、Ｓ２１５に進む。一方、ＣＰＵ３２は、履歴情報の個数が所定数以上であると判断する場合（Ｓ２１３でＹＥＳ）に、Ｓ２１５の処理をスキップし、即ち、ログ情報をサーバ１００に送信することなく、Ｓ２２０に進む。
【００５９】
Ｓ２１５及びＳ２２０は、図３のＳ１５及びＳ２０と同様である。Ｓ２２３では、ＣＰＵ３２は、ログ情報をサーバ１００に送信済みであるのか否かを判断する。具体的には、ＣＰＵ３２は、Ｓ２１５の処理を実行したのか否かを判断する。ＣＰＵ３２は、Ｓ２１５の処理を実行済みである場合（Ｓ２２３でＹＥＳ）に、Ｓ２２５において、回数情報の値をＮ＝「０」に設定する。一方、ＣＰＵ３２は、Ｓ２１５の処理を実行済みでないと判断する場合に、Ｓ２２８において、回数情報の値をＮ＝「１」に設定する。Ｓ２３０は、図３のＳ３０と同様である。Ｓ２２５〜Ｓ２３０のいずれかの処理が終了すると、Ｓ２０５に戻る。
【００６０】
（本実施例の効果）
本実施例においても、プリンタ１０において最初に発生したイベントのログを示すログ情報をサーバ１００に迅速に送信することができると共に、プリンタ１０とサーバ１００との間の通信におけるトラフィックが大きくなることを抑制することができる。また、悪意ある第三者が、所定時間内にプリンタ１０において複数の異なるイベントを発生させることによって、ＤｏＳ攻撃をプリンタ１０に対して実行する状況を想定する。このような状況において、例えば、第１実施例では、プリンタ１０は、異なるイベントが発生する毎に図３のＳ１０においてＮＯと判断し、Ｓ１５において、ログ情報をサーバ１００に送信する。即ち、プリンタ１０が、複数の異なるイベントのログを示す複数の異なるログ情報をサーバ１００に送信してしまうので、プリンタ１０とサーバ１００との間の通信におけるトラフィックが膨大になる可能性がある。これに対し、本実施例では、ＣＰＵ３２は、プリンタ１０において最初のイベントが発生する場合（Ｓ２０５でＹＥＳかつＳ２１０でＮＯ）に、履歴情報テーブル４０に記憶されている履歴情報の個数が所定数以上であるのか判断し（Ｓ２１３）、履歴情報の個数が所定数以上であると判断する場合（Ｓ２１３でＹＥＳ）に、Ｓ２１５の処理をスキップする（即ち、ログ情報を送信しない）。従って、上記の状況においても、プリンタ１０とサーバ１００との間の通信におけるトラフィックが膨大になることを抑制することができる。本実施例では、Ｓ２１３で利用される所定数が「第１の所定数」の一例である。
【００６１】
（第３実施例；図９〜図１１）
続いて、図９〜図１１を参照して、第３実施例を説明する。第３実施例では、プリンタ１０のＣＰＵ３２が、図３の履歴情報記憶処理に代えて、図９の履歴情報記憶処理を実行する点が第１実施例とは異なる。Ｓ３０５及びＳ３１０は、図３のＳ５及びＳ１０と同様である。
【００６２】
Ｓ３１３では、ＣＰＵ３２は、Ｓ３０５で発生した対象イベントのＰｒｉｏｒｉｔｙの順位と同じＰｒｉｏｒｉｔｙの順位（以下では、「実績順位」と記載する）であって、履歴情報テーブル４０に記憶されている実績順位の個数が所定数（例えば「５０」）以上であるのか否かを判断する。ＣＰＵ３２は、実績順位の個数が所定数未満であると判断する場合（Ｓ３１３でＮＯ）に、Ｓ３１５に進む。一方、ＣＰＵ３２は、実績順位の個数が所定数以上であると判断する場合（Ｓ３１３でＹＥＳ）に、Ｓ３１５の処理をスキップし、即ち、ログ情報をサーバ１００に送信することなく、Ｓ３２０に進む。Ｓ３２０〜Ｓ３３０は、図８のＳ２２０〜Ｓ２３０と同様である。Ｓ３２５〜Ｓ３３０のいずれかの処理が終了すると、Ｓ３０５に戻る。
【００６３】
（具体的なケースＣ；図１０及び図１１）
続いて、図１０及び図１１を参照して、図９の処理が実行されることによって実現される具体的なケースＣを説明する。ケースＣは、所定時間内にプリンタ１０において複数の異なるイベントが発生する状況を想定している。図１０の初期状態では、プリンタ１０の履歴情報テーブル４０は履歴情報を記憶していない。
【００６４】
Ｔ３１０〜Ｔ３２２は、図５のＴ１０〜Ｔ２２と同様である。その後、図示を省略するが、プリンタ１０において複数の異なるイベントが発生し、この結果、Ｔ３３０では、Ｐｒｉｏｒｉｔｙの順位「４」を含む５０個の履歴情報が履歴情報テーブル４０に記憶される。Ｔ３３０の処理が終了すると、図１０の処理が終了する。
【００６５】
続いて、図１１を参照して、図１０の続きの処理を説明する。Ｔ４００では、ＰＣ２００は、ＳＮＭＰに従ったＧｅｔ  Ｒｅｑｕｅｓｔをプリンタ１０に送信する。Ｇｅｔ  Ｒｅｑｕｅｓｔは、プリンタ１０においてＳＮＭＰ認証に利用されるパスワードと、ＰＣ２００のＩＰアドレス「10.0.0.7」と、を含む。
【００６６】
プリンタ１０は、Ｔ４００において、ＰＣ２００からＧｅｔ  Ｒｅｑｕｅｓｔを受信する場合に、Ｔ４０２において、Ｇｅｔ  Ｒｅｑｕｅｓｔに含まれるパスワードを利用してＳＮＭＰ認証を実行し、ＳＮＭＰ認証を失敗する。この場合、プリンタ１０は、プリンタ１０においてイベントが発生し（図９のＳ３０５でＹＥＳ）、かつ、当該イベントの内容を示す内容情報（即ち「SNMPauth result = failure」）が履歴情報テーブル４０に記憶済みでないと判断する（Ｓ３１０でＮＯ）。また、プリンタ１０は、イベントの内容「ＳＮＭＰ認証の失敗」のＰｒｉｏｒｉｔｙの順位「４」と同じＰｒｉｏｒｉｔｙの順位「４」が、所定数（即ち、「５０」）以上記憶されていると判断する（Ｓ３１３でＹＥＳ）。
【００６７】
Ｔ４１０では、プリンタ１０は、ログ情報をサーバ１００に送信することなく、履歴情報Ｒ２を履歴情報テーブル４０に記憶する（図９のＳ３２０、Ｓ３２３でＹＥＳ、Ｓ３２８）。履歴情報Ｒ２は、現在の日時情報「Oct 16 10:00:01」と、内容情報「SNMP auth result = failure」と、イベントの内容「ＳＮＭＰ認証の失敗」のＰｒｉｏｒｉｔｙの順位「４」と、ＰＣ２００のＩＰアドレス「10.0.0.7」と、回数情報「１」と、を含む。
【００６８】
Ｔ４２０では、プリンタ１０は、履歴情報テーブル４０において、日時情報「Oct 16 10:00:01」が示す日時から所定時間を経過した履歴情報Ｒ２が存在すると判断する（図４のＳ１００でＹＥＳ）。この場合、Ｔ４３０では、プリンタ１０は、Ｓｙｓｌｏｇプロトコルに従って、ログ情報をサーバ１００に送信する（Ｓ１１５）。当該ログ情報のＰＲＩ部は、Ｆａｃｉｌｉｔｙの値とＰｒｉｏｒｉｔｙの順位とに基づいて算出される値（例えば「１３」）を含む。当該ログ情報のＨＥＡＤＥＲ部は、現在の日時情報を示す文字列「Oct 16 10:00:02」と、プリンタ１０のＩＰアドレスを示す文字列「10.0.1.0」と、を含む。ＭＥＳＳＡＧＥ部は、内容情報を示す文字列「SNMP auth result = failure」と、Ｔ４００で受信されたＧｅｔ  Ｒｅｑｕｅｓｔの送信元であるＰＣ２００のＩＰアドレスを示す文字列「IP address = 10.0.0.7」と、を含む。
【００６９】
Ｔ４３２では、プリンタ１０は、履歴情報Ｒ２に含まれる日時情報を「Oct 16 10:00:02」に更新し（図４のＳ１４５）、回数情報の値をＮ＝「０」に設定することによって（Ｓ１５０）、履歴情報Ｒ２を更新する。Ｔ４３２の処理が終了すると、ケースＣの処理が終了する。
【００７０】
（本実施例の効果）
本実施例においても、プリンタ１０において最初に発生したイベントのログを示すログ情報をサーバ１００に迅速に送信することができると共に、プリンタ１０とサーバ１００との間の通信におけるトラフィックが大きくなることを抑制することができる。また、悪意ある第三者が所定時間内にプリンタ１０において複数の異なるイベントを発生させることによって、ＤｏＳ攻撃をプリンタ１０に対して実行する状況において、プリンタ１０とサーバ１００との間の通信におけるトラフィックが膨大になることを抑制することができる。本実施例では、Ｓ３１３で利用される所定数が「第２の所定数」の一例である。
【００７１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００７２】
（変形例１）図４のＳ１４０において、プリンタ１０は、回数情報を含まないＭＥＳＳＡＧＥ部を含む圧縮ログ情報をサーバ１００に送信してもよい。即ち、「第２のログ情報」は、「第１の回数情報」を含まなくてもよい。
【００７３】
（変形例２）図３のＳ２５、Ｓ３０、及び、図４の定期処理が省略されてもよい。この場合、図３のＳ２０では、プリンタ１０は、回数情報を含まない履歴情報を履歴情報テーブル４０に記憶する。また、プリンタ１０は、Ｓ１０でＹＥＳと判断する場合に、Ｓ５で対象イベントが発生してから所定時間経過した後に、対象イベントのログを示すログ情報をサーバ１００に送信する。なお、当該ログ情報のＭＥＳＳＡＧＥ部は、対象イベントの内容情報等を示す文字列を含んでなくてもよく、当該ログ情報のＨＥＡＤＥＲ部は、対象イベントの発生日時を示す文字列のみを含んでいてもよい。本変形例では、「第１の記憶制御部」、「第１の判断部」が省略可能である。
【００７４】
（変形例３）上記の実施例では、ＨＴＴＰ認証に関するイベント（即ちＨＴＴＰ認証の成功又は失敗）に対応する閾値（即ち「１００」）と、ＳＮＭＰ認証に関するイベント（即ちＳＮＭＰ認証の成功又は失敗）に対応する閾値（即ち「２００」）と、が異なる値であったが、同じ値が採用されてもよい。即ち、「第１の閾値」と「第２の閾値」は同じであってもよい。また、別の変形例では、図４のＳ１００において、イベント毎に異なる所定時間が利用されてもよい。例えば、ＨＴＴＰ認証に関するイベントに対する所定時間として１秒が利用され、ＳＮＭＰ認証に関するイベントに対する所定時間として２秒が利用されてもよい。即ち、「第１の所定時間」と「第２の所定時間」は異なっていてもよい。
【００７５】
（変形例４）図４のＳ１４０において、プリンタ１０は、複数のログ情報が符号化された符号化ログ情報をサーバ１００に送信してもよい。具体的には、プリンタ１０は、図３のＳ５でＹＥＳと判断する毎に、ログ情報を準備し、Ｓ１０でＹＥＳと判断する場合に、当該ログ情報をサーバ１００に送信することなくメモリ３４に記憶する。そして、プリンタ１０は、Ｓ１４０では、記憶済みの複数のログ情報を符号化して（換言すれば、圧縮して）、符号化ログ情報をサーバ１００に送信する。符号化ログ情報は、サーバ１００からプリンタ１０の管理者のＰＣに送信され、当該ＰＣに記憶されているＳＩＥＭ（Security Information and Event Managementの略）ツールによって復号される。ＳＩＥＭツールは、Ｓｙｓｌｏｇプロトコルに従った文字列を解析するためのツールである。本変形例では、符号化ログ情報が「第２のログ情報」の一例である。
【００７６】
（変形例５）例えば、図３のＳ１５、図４のＳ１１５、Ｓ１４０において、プリンタ１０は、Ｓｙｓｌｏｇプロトコル以外の所定のプロトコル（例えば、プリンタ１０のベンダによって設計されたプロトコル）に従って、ログ情報をサーバ１００に送信してもよい。即ち、「第１の送信部」は、Ｓｙｓｌｏｇプロトコル以外の所定のプロトコルに従って、第１のログ情報をサーバに送信してもよいし、「第２の送信部」は、Ｓｙｓｌｏｇプロトコル以外の所定のプロトコルに従って、第２のログ情報をサーバに送信してもよい。
【００７７】
（変形例６）「通信装置」は、プリンタ１０でなくてもよく、例えば、スキャナ、多機能機、携帯端末、ＰＣ、サーバ等の他のデバイスであってもよい。
【００７８】
（変形例７）上記の各実施例では、図３〜図１１の各処理がソフトウェア（即ち、プログラム３６）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【００７９】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８０】
２：通信システム、６：ＬＡＮ、１０：プリンタ、１２：操作部、１４：表示部、１６：ネットワークＩ／Ｆ、１８：印刷実行部、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：プログラム、３８：Ｐｒｉｏｒｉｔｙテーブル、４０：履歴情報テーブル、４２：閾値テーブル、１００：ログ管理サーバ、２００：ＰＣ
【図１】
2020086666.tif 000003
【図２】
2020086666.tif 000004
【図３】
2020086666.tif 000005
【図４】
2020086666.tif 000006
【図５】
2020086666.tif 000007
【図６】
2020086666.tif 000008
【図７】
2020086666.tif 000009
【図８】
2020086666.tif 000010
【図９】
2020086666.tif 000011
【図１０】
2020086666.tif 000012
【図１１】
2020086666.tif 000013