(57)【要約】【課題】  公開対象外のユーザに対する公開が制限される制限履歴情報が、公開対象外のユーザに知られることを抑制するための技術を提供すること。【解決手段】  プリンタは、第１の外部装置から履歴要求を受信し、入力情報要求を第１の外部装置に送信し、第１の外部装置から第１のユーザ識別情報と第２の認証情報とを含む第１の入力情報を受信する。プリンタは、第１の認証情報と第２の認証情報とが一致すると判断し、かつ、第１のユーザ識別情報によって示される特定のユーザが公開対象のユーザであると判断する場合に、印刷履歴情報を第１の外部装置に送信し、第１の認証情報と第２の認証情報とが一致しないと判断する場合に、印刷履歴情報を送信しない。また、プリンタは、第１の認証情報と第２の認証情報とが一致すると判断し、かつ、特定のユーザが公開対象のユーザでないと判断する場合に、非制限履歴情報を第１の外部装置に送信する。【選択図】図５
2020131573.tif 000002
【特許請求の範囲】
【請求項１】
プリンタであって、
印刷履歴情報と、第１の認証情報と、公開制限情報と、公開ユーザ情報と、を記憶するためのメモリであって、
前記印刷履歴情報は、前記プリンタにおいてＩＰＰ（Internet Printing Protocolの略）に従った印刷が実行されることによって前記メモリに記憶され、公開対象外のユーザに対する公開が制限される制限履歴情報と、公開対象外のユーザに対する公開が制限されない非制限履歴情報と、を含み、
前記公開制限情報は、前記プリンタが、前記印刷履歴情報において、前記制限履歴情報と前記非制限履歴情報とを識別するための情報であり、
前記公開ユーザ情報は、前記制限履歴情報の公開対象のユーザを示す情報である、前記メモリと、
第１の外部装置から、ＩＰＰに従った履歴要求であって、前記印刷履歴情報の送信を要求する前記履歴要求を受信する第１の履歴要求受信部と、
認証処理を実行する認証処理実行部であって、
前記認証処理は、
前記第１の外部装置から前記履歴要求が受信される場合に、入力情報の送信を要求する入力情報要求を前記第１の外部装置に送信する第１の入力情報要求送信処理と、
前記入力情報要求が前記第１の外部装置に送信される場合に、前記第１の外部装置から、前記第１の外部装置に入力される第１のユーザ識別情報と、前記第１の外部装置に入力される第２の認証情報と、を含む第１の入力情報を受信する第１の入力情報受信処理と、
前記第１の外部装置から前記第１の入力情報が受信される場合に、前記メモリ内の前記第１の認証情報と、前記第１の入力情報に含まれる前記第２の認証情報と、が一致するのか否かを判断する第１の判断処理と、
を含む、前記認証処理実行部と、
前記第１の外部装置から前記第１の入力情報が受信される場合に、前記第１の入力情報に含まれる前記第１のユーザ識別情報によって識別される特定のユーザが、前記公開ユーザ情報によって示される前記公開対象のユーザであるのか否かを判断する判断部と、
前記第１の認証情報と前記第２の認証情報とが一致すると判断され、かつ、前記特定のユーザが前記公開対象のユーザであると判断される第１の場合に、前記ＩＰＰに従って、前記履歴要求に対する応答として、前記制限履歴情報と前記非制限履歴情報とを含む前記印刷履歴情報を前記第１の外部装置に送信する第１の履歴情報送信部であって、前記第１の認証情報と前記第２の認証情報とが一致しないと判断される第２の場合に、前記印刷履歴情報は送信されない、前記第１の履歴情報送信部と、
前記第１の認証情報と前記第２の認証情報とが一致すると判断され、かつ、前記特定のユーザが前記公開対象のユーザでないと判断される第３の場合に、前記ＩＰＰに従って、前記履歴要求に対する応答として、前記非制限履歴情報を前記第１の外部装置に送信する第２の履歴情報送信部と、
を備える、プリンタ。
【請求項２】
前記プリンタは、さらに、
印刷実行部と、
前記プリンタに印刷を実行させるための印刷指示が第２の外部装置に与えられる場合に、前記第２の外部装置から、ＩＰＰに従った印刷要求を受信する印刷要求受信部と、を備え、
前記認証処理は、さらに、
前記第２の外部装置から前記印刷要求が受信される場合に、前記入力情報要求を前記第２の外部装置に送信する第２の入力情報要求送信処理と、
前記入力情報要求が前記第２の外部装置に送信される場合に、前記第２の外部装置から、前記第２の外部装置に入力される第２のユーザ識別情報と、前記第２の外部装置に入力される第３の認証情報と、を含む第２の入力情報を受信する第２の入力情報受信処理と、
前記第２の外部装置から前記第２の入力情報が受信される場合に、前記メモリ内の前記第１の認証情報と、前記第２の入力情報に含まれる前記第３の認証情報と、が一致するのか否かを判断する第２の判断処理と、を含み、
前記プリンタは、さらに、
前記第１の認証情報と前記第３の認証情報とが一致すると判断される場合に、前記印刷実行部に前記ＩＰＰに従った印刷を実行させる印刷制御部であって、前記第１の認証情報と前記第３の認証情報とが一致しないと判断される場合に、前記印刷は実行されない、前記印刷制御部と、
前記印刷が実行される場合に、前記印刷履歴情報を前記メモリに記憶する第１の記憶制御部と、
を備える、請求項１に記載のプリンタ。
【請求項３】
前記印刷要求は、前記第２の外部装置に入力される第３のユーザ識別情報を含み、
前記第１の記憶制御部は、前記印刷が実行される場合に、前記第３のユーザ識別情報を含む前記印刷履歴情報を前記メモリに記憶し、
前記判断部は、
前記公開ユーザ情報が前記公開対象のユーザとして前記プリンタに印刷を実行させたユーザを示し、かつ、前記第１の入力情報に含まれる前記第１のユーザ識別情報と、前記印刷履歴情報に含まれる前記第３のユーザ識別情報と、が一致する場合に、前記特定のユーザが前記公開対象のユーザであると判断し、
前記公開ユーザ情報が前記公開対象のユーザとして前記プリンタに印刷を実行させたユーザを示し、かつ、前記第１の入力情報に含まれる前記第１のユーザ識別情報と、前記印刷履歴情報に含まれる前記第３のユーザ識別情報と、が一致しない場合に、前記特定のユーザが前記公開対象のユーザでないと判断する、請求項２に記載のプリンタ。
【請求項４】
前記メモリは、前記プリンタが前記認証処理を実行することを示す認証実行情報を記憶可能であり、
前記認証処理実行部は、前記認証実行情報が前記メモリに記憶されている場合に、前記認証処理を実行し、
前記認証実行情報が前記メモリに記憶されていない場合に、前記認証処理は実行されず、
前記第１の記憶制御部は、
前記認証実行情報が前記メモリに記憶されている状況において、前記印刷が実行される場合に、前記印刷要求のＨＴＴＰ（Hypertext Transfer Protocolの略）ヘッダ部に含まれる前記第３のユーザ識別情報を含む前記印刷履歴情報と、前記認証実行情報が前記メモリに記憶されていたことを示す記憶情報と、を関連付けて前記メモリに記憶し、
前記認証実行情報が前記メモリに記憶されていない状況において、前記印刷が実行される場合に、前記印刷要求のＨＴＴＰボディ部に含まれる前記第３のユーザ識別情報を含む印刷履歴情報と、前記認証実行情報が前記メモリに記憶されていなかったことを示す非記憶情報と、を関連付けて前記メモリに記憶し、
前記第１の入力情報は、前記ＨＴＴＰに従った応答であり、
前記判断部は、
前記印刷履歴情報と前記記憶情報とが関連付けられて前記メモリに記憶されている状況において、前記第１の入力情報のヘッダ部に含まれる前記第１のユーザ識別情報と、前記印刷履歴情報に含まれる前記第３のユーザ識別情報と、が一致する場合に、前記特定のユーザが前記公開対象のユーザであると判断し、
前記印刷履歴情報と前記非記憶情報とが関連付けられて前記メモリに記憶されている状況において、前記第１の入力情報のボディ部に含まれる前記第１のユーザ識別情報と、前記印刷履歴情報に含まれる前記第３のユーザ識別情報と、が一致する場合に、前記特定のユーザが前記公開対象のユーザであると判断する、請求項３に記載のプリンタ。
【請求項５】
前記プリンタは、さらに、
第３の外部装置から受付画面の送信を要求する画面要求を受信する画面要求受信部であって、前記受付画面は、前記公開制限情報と前記公開ユーザ情報との入力を受け付けるための画面である、前記画面要求受信部と、
前記第３の外部装置から前記画面要求が受信される場合に、前記受付画面を表示するための受付画面データを前記第３の外部装置に送信する第１の画面データ送信部と、
前記受付画面データが前記第３の外部装置に送信された後に、前記第３の外部装置において表示される前記受付画面において、前記公開制限情報と前記公開ユーザ情報との入力が受け付けられる場合に、前記第３の外部装置から、前記公開制限情報と前記公開ユーザ情報とを受信する情報受信部と、
前記第３の外部装置から前記公開制限情報と前記公開ユーザ情報とが受信される場合に、前記公開制限情報と前記公開ユーザ情報とを前記メモリに記憶する第２の記憶制御部と、
を備える、請求項１から４のいずれか一項に記載のプリンタ。
【請求項６】
前記第１の入力情報要求送信処理は、前記公開制限情報と前記公開ユーザ情報とが前記メモリに記憶された後に、前記第１の外部装置から前記履歴要求が受信される場合に、前記入力情報要求を前記第１の外部装置に送信する処理であり、
前記公開制限情報と前記公開ユーザ情報とが前記メモリに記憶される前に、前記第１の外部装置から前記履歴要求が受信される場合に、前記入力情報要求は送信されない、請求項５に記載のプリンタ。
【請求項７】
前記メモリは、前記プリンタが前記認証処理を実行することを示す認証実行情報を記憶可能であり、
前記認証処理実行部は、前記認証実行情報が前記メモリに記憶されている場合に、前記認証処理を実行し、
前記認証実行情報が前記メモリに記憶されていない場合に、前記認証処理は実行されず、
前記プリンタは、さらに、
前記認証実行情報が前記メモリに記憶されていない状況において、前記第３の外部装置から前記公開制限情報と前記公開ユーザ情報とが受信される場合に、通知画面を表示するための通知画面データを前記第３の外部装置に送信する第２の画面データ送信部であって、前記通知画面は、前記プリンタが前記認証処理を実行しないことを通知するための画面であり、前記認証実行情報が前記メモリに記憶されていない状況において、前記第３の外部装置から前記公開制限情報と前記公開ユーザ情報とが受信される場合に、前記通知画面データは送信されない、前記第２の画面データ送信部と、
を備える、請求項５又は６に記載のプリンタ。
【請求項８】
前記プリンタは、さらに、
第４の外部装置から前記ＩＰＰに従った非制限履歴要求であって、前記印刷履歴情報に含まれる前記非制限履歴情報の送信を要求する前記非制限履歴要求を受信する第２の履歴要求受信部と、
前記第４の外部装置から前記非制限履歴要求が受信される場合に、前記認証処理が実行されることなく、前記ＩＰＰに従って、前記非制限履歴要求に対する応答として、前記非制限履歴情報を前記第４の外部装置に送信する第３の履歴情報送信部と、
を備える、請求項１から７のいずれか一項に記載のプリンタ。
【請求項９】
前記メモリは、前記プリンタの管理者を識別する管理者識別情報を記憶し、
前記判断部は、
前記公開ユーザ情報が前記公開対象のユーザとして前記管理者を示し、かつ、前記第１のユーザ識別情報と前記管理者識別情報とが一致する場合に、前記特定のユーザが前記公開対象のユーザであると判断し、
前記公開ユーザ情報が前記公開対象のユーザとして前記管理者を示し、かつ、前記第１のユーザ識別情報と前記管理者識別情報とが一致しないと判断する場合に、前記特定のユーザが前記公開対象のユーザでないと判断する、請求項１から８のいずれか一項に記載のプリンタ。
【請求項１０】
前記履歴要求は、Ｇｅｔ−Ｊｏｂｓコマンドと、Ｇｅｔ−Ｄｏｃｕｍｅｎｔ−Ａｔｔｒｉｂｕｔｅｓコマンドと、Ｇｅｔ−Ｊｏｂ−Ａｔｔｒｉｂｕｔｅｓコマンドと、のうちのいずれか１つである、請求項１から９のいずれか一項に記載のプリンタ。
【請求項１１】
前記印刷履歴情報は、前記ＩＰＰで定められている属性であるｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅを有する情報であり、
前記公開制限情報は、前記ＩＰＰで定められている属性であるｊｏｂ−ｐｒｉｖａｃｙ−ａｔｔｒｉｂｕｔｅを有する情報である、請求項１から１０のいずれか一項に記載のプリンタ。
【請求項１２】
前記公開ユーザ情報は、前記ＩＰＰで定められている属性であるｊｏｂ−ｐｒｉｖａｃｙ−ｓｃｏｐｅを有する情報である、請求項１から１１のいずれか一項に記載のプリンタ。
【請求項１３】
プリンタのためのコンピュータプログラムであって、
前記プリンタは、
印刷履歴情報と、第１の認証情報と、公開制限情報と、公開ユーザ情報と、を記憶するためのメモリであって、
前記印刷履歴情報は、前記プリンタにおいてＩＰＰ（Internet Printing Protocolの略）に従った印刷が実行されることによって前記メモリに記憶され、公開対象外のユーザに対する公開が制限される制限履歴情報と、公開対象外のユーザに対する公開が制限されない非制限履歴情報と、を含み、
前記公開制限情報は、前記プリンタが、前記印刷履歴情報において、前記制限履歴情報と前記非制限履歴情報とを識別するための情報であり、
前記公開ユーザ情報は、前記制限履歴情報の公開対象のユーザを示す情報である、前記メモリを備え、
前記コンピュータプログラムは、前記プリンタのコンピュータを、以下の各部、即ち、
第１の外部装置から、ＩＰＰに従った履歴要求であって、前記印刷履歴情報の送信を要求する前記履歴要求を受信する第１の履歴要求受信部と、
認証処理を実行する認証処理実行部であって、
前記認証処理は、
前記第１の外部装置から前記履歴要求が受信される場合に、入力情報の送信を要求する入力情報要求を前記第１の外部装置に送信する第１の入力情報要求送信処理と、
前記入力情報要求が前記第１の外部装置に送信される場合に、前記第１の外部装置から、前記第１の外部装置に入力される第１のユーザ識別情報と、前記第１の外部装置に入力される第２の認証情報と、を含む第１の入力情報を受信する第１の入力情報受信処理と、
前記第１の外部装置から前記第１の入力情報が受信される場合に、前記メモリ内の前記第１の認証情報と、前記第１の入力情報に含まれる前記第２の認証情報と、が一致するのか否かを判断する第１の判断処理と、
を含む、前記認証処理実行部と、
前記第１の外部装置から前記第１の入力情報が受信される場合に、前記第１の入力情報に含まれる前記第１のユーザ識別情報によって識別される特定のユーザが、前記公開ユーザ情報によって示される前記公開対象のユーザであるのか否かを判断する判断部と、
前記第１の認証情報と前記第２の認証情報とが一致すると判断され、かつ、前記特定のユーザが前記公開対象のユーザであると判断される第１の場合に、前記ＩＰＰに従って、前記履歴要求に対する応答として、前記制限履歴情報と前記非制限履歴情報とを含む前記印刷履歴情報を前記第１の外部装置に送信する第１の履歴情報送信部であって、前記第１の認証情報と前記第２の認証情報とが一致しないと判断される第２の場合に、前記印刷履歴情報は送信されない、前記第１の履歴情報送信部と、
前記第１の認証情報と前記第２の認証情報とが一致すると判断され、かつ、前記特定のユーザが前記公開対象のユーザでないと判断される第３の場合に、前記ＩＰＰに従って、前記履歴要求に対する応答として、前記非制限履歴情報を前記第１の外部装置に送信する第２の履歴情報送信部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、ＩＰＰ（Internet Printing Protocolの略）に従った印刷を実行可能なプリンタに関する技術を開示する。
【背景技術】
【０００２】
特許文献１には、印刷装置が、ＩＰＰに従って、携帯端末から印刷ジョブを受信して、印刷を実行することが開示されている。印刷装置は、携帯端末から印刷ジョブを受信する前に、いわゆるＩＰＰ認証を実行し、ＩＰＰ認証が成功する場合に、携帯端末から印刷ジョブを受信する。
【０００３】
また、印刷装置は、通常、印刷を実行することに応じて、当該印刷に関係する印刷履歴情報（例えば、ジョブ名、印刷設定等）を記憶する。非特許文献１には、記憶済みの印刷履歴情報の公開対象外のユーザに対する公開を制限するための技術が記述されている。これにより、例えば、印刷を実行させたユーザ（以下では「印刷実行ユーザ」と記載する）のみに印刷履歴情報を公開することができる。ここで、印刷実行ユーザのみに印刷履歴情報を公開することを実現するために以下の構成が想定される。即ち、印刷装置は、印刷実行ユーザを識別するユーザ識別情報（例えば、ユーザ名）を印刷履歴情報に対応付けて記憶しておく。印刷装置は、外部装置から印刷履歴情報の送信が要求される際に、当該要求に含まれるユーザ識別情報と、記憶済みの印刷履歴情報に対応付けられているユーザ識別情報と、が一致するのか否かを判断する。印刷装置は、２つのユーザ識別情報が一致すると判断する場合には、印刷履歴情報を外部装置に送信し、２つのユーザ識別情報が一致しないと判断する場合には、印刷履歴情報を外部装置に送信しない。これにより、印刷実行ユーザのみに印刷履歴情報を公開することができ、印刷実行ユーザとは異なる第三者に印刷履歴情報が知られてしまうことを抑制することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−７２７８５号公報
【非特許文献】
【０００５】
【非特許文献１】「IPP Privacy Attributes v.1.0」、The Printer Working Group、２０１８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の構成では、例えば、ユーザ識別情報が第三者に知られてしまうと、第三者が当該ユーザ識別情報を利用して印刷履歴情報を取得できてしまう。
【０００７】
本明細書では、公開対象外のユーザに対する公開が制限される制限履歴情報が、公開対象外のユーザに知られることを抑制するための技術を開示する。
【課題を解決するための手段】
【０００８】
本明細書によって開示されるプリンタは、印刷履歴情報と、第１の認証情報と、公開制限情報と、公開ユーザ情報と、を記憶するためのメモリであって、前記印刷履歴情報は、前記プリンタにおいてＩＰＰ（Internet Printing Protocolの略）に従った印刷が実行されることによって前記メモリに記憶され、公開対象外のユーザに対する公開が制限される制限履歴情報と、公開対象外のユーザに対する公開が制限されない非制限履歴情報と、を含み、前記公開制限情報は、前記プリンタが、前記印刷履歴情報において、前記制限履歴情報と前記非制限履歴情報とを識別するための情報であり、前記公開ユーザ情報は、前記制限履歴情報の公開対象のユーザを示す情報である、前記メモリと、第１の外部装置から、ＩＰＰに従った履歴要求であって、前記印刷履歴情報の送信を要求する前記履歴要求を受信する第１の履歴要求受信部と、認証処理を実行する認証処理実行部であって、前記認証処理は、前記第１の外部装置から前記履歴要求が受信される場合に、入力情報の送信を要求する入力情報要求を前記第１の外部装置に送信する第１の入力情報要求送信処理と、前記入力情報要求が前記第１の外部装置に送信される場合に、前記第１の外部装置から、前記第１の外部装置に入力される第１のユーザ識別情報と、前記第１の外部装置に入力される第２の認証情報と、を含む第１の入力情報を受信する第１の入力情報受信処理と、前記第１の外部装置から前記第１の入力情報が受信される場合に、前記メモリ内の前記第１の認証情報と、前記第１の入力情報に含まれる前記第２の認証情報と、が一致するのか否かを判断する第１の判断処理と、を含む、前記認証処理実行部と、前記第１の外部装置から前記第１の入力情報が受信される場合に、前記第１の入力情報に含まれる前記第１のユーザ識別情報によって識別される特定のユーザが、前記公開ユーザ情報によって示される前記公開対象のユーザであるのか否かを判断する判断部と、前記第１の認証情報と前記第２の認証情報とが一致すると判断され、かつ、前記特定のユーザが前記公開対象のユーザであると判断される第１の場合に、前記ＩＰＰに従って、前記履歴要求に対する応答として、前記制限履歴情報と前記非制限履歴情報とを含む前記印刷履歴情報を前記第１の外部装置に送信する第１の履歴情報送信部であって、前記第１の認証情報と前記第２の認証情報とが一致しないと判断される第２の場合に、前記印刷履歴情報は送信されない、前記第１の履歴情報送信部と、前記第１の認証情報と前記第２の認証情報とが一致すると判断され、かつ、前記特定のユーザが前記公開対象のユーザでないと判断される第３の場合に、前記ＩＰＰに従って、前記履歴要求に対する応答として、前記非制限履歴情報を前記第１の外部装置に送信する第２の履歴情報送信部と、を備えてもよい。
【０００９】
上記の構成によると、プリンタは、第１の認証情報と第２の認証情報とが一致すると判断し、かつ、特定のユーザが公開対象のユーザであると判断する第１の場合に、制限履歴情報と非制限履歴情報とを含む印刷履歴情報を第１の外部装置に送信する。一方、プリンタは、第１の認証情報と第２の認証情報とが一致しないと判断する第２の場合に、印刷履歴情報を送信しない。これにより、例えば、第１のユーザ識別情報が第三者に知られてしまっても、第三者が第１の認証情報に一致する第２の認証情報を知らなければ、プリンタは、認証処理の第１の判断処理において第１の認証情報と第２の認証情報とが一致しないと判断することができる。この結果、制限履歴情報が公開対象外のユーザに送信されることを抑制することができる。
【００１０】
上記のプリンタを実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記のプリンタによって実行される方法も新規で有用である。また、上記のプリンタと他の装置（例えば第１の外部装置）とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【００１１】
【図１】通信システムの構成を示す。
【図２】プリンタの各テーブルの一例を示す。
【図３】ケースＡの印刷処理のシーケンス図を示す。
【図４】ケースＡの履歴情報送信処理のシーケンス図を示す。
【図５】プリンタによって実行される処理のフローチャートを示す。
【図６】受付処理のフローチャートを示す。
【図７】印刷処理のフローチャートを示す。
【図８】ＩＰＰ認証処理のフローチャートを示す。
【図９】履歴情報送信処理のフローチャートを示す。
【図１０】公開判断処理のフローチャートを示す。
【図１１】受付処理のシーケンス図を示す。
【図１２】ケースＢの印刷処理のシーケンス図を示す。
【図１３】ケースＢの履歴情報送信処理のシーケンス図を示す。
【図１４】ケースＣの履歴情報送信処理のシーケンス図を示す。
【図１５】比較例の処理のシーケンス図を示す。
【発明を実施するための形態】
【００１２】
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、プリンタ１０と、複数個のＰＣ（Personal Computerの略）１００，２００と、を備える。各デバイス１０，１００，２００は、ＬＡＮ（LocalArea Networkの略）６を介して相互に通信可能である。ＬＡＮ６は、有線ＬＡＮ及び無線ＬＡＮのどちらでもよい。
【００１３】
（プリンタ１０の構成）
プリンタ１０は、印刷機能を実行可能な周辺機器（即ち各ＰＣ１００，２００の周辺機器）である。なお、プリンタ１０は、印刷機能に加えて、スキャン機能、ＦＡＸ機能等を実行可能な多機能機であってもよい。プリンタ１０は、ＩＰＰに従った手順で印刷を実行することができる。ＩＰＰは、インターネットに代表されるＴＣＰ／ＩＰネットワークを経由してプリンタに印刷を実行させることを実現する標準技術であり、プリンタに印刷を実行させるための通信手順（即ち、プロトコル）を規定している。ＩＥＴＦ（Internet Engineering Task Forceの略）のプリンティング関連専門ワーキンググループであるＰＷＧ（Printer Working Groupの略）によってＩＰＰの標準化仕様が取りまとめられている。
【００１４】
プリンタ１０は、操作部１２と、表示部１４と、通信インターフェース１６と、印刷実行部１８と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。なお、以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００１５】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。なお、表示部１４は、いわゆるタッチパネル（即ち操作部）として機能してもよい。通信Ｉ／Ｆ１６は、ＬＡＮ６に接続されている。印刷実行部１８は、インクジェット方式、レーザ方式等の印刷機構を備える。
【００１６】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６に従って、様々な処理を実行するプロセッサである。メモリ３４は、ＲＯＭ、ＲＡＭ等によって構成される。メモリ３４は、さらに、上記のプログラム３６の他に、印刷情報テーブル３８と、ユーザテーブル４０と、公開制限テーブル４２と、管理者情報４４と、ＩＰＰ認証フラグ４６と、を格納する。
【００１７】
管理者情報４４は、プリンタ１０の管理者（以下では、単に「管理者」と記載する）に関する情報である。管理者情報４４は、管理者を識別するためのユーザ名ＵＮ０と、ＩＰＰに従った通信において認証のために利用されるパスワードＰ０と、を含む。ＩＰＰ認証フラグ（以下では、単に「フラグ」と記載する）４６は、プリンタ１０が、ＩＰＰに従った通信において、ユーザ名及びパスワードを利用したＩＰＰ認証を実行することを示す「ＯＮ」と、プリンタ１０がＩＰＰ認証を実行しないことを示す「ＯＦＦ」と、のいずれか一方を示す。プリンタ１０の出荷時には、フラグ４６は「ＯＦＦ」を示す。
【００１８】
（各ＰＣ１００，２００の構成）
各ＰＣ１００，２００は、据置型のＰＣであるが、変形例では、例えばノートＰＣ等の可搬型のデバイスであってもよい。本実施例では、各ＰＣ１００，２００が異なるユーザによって利用される状況を想定している。ＰＣ１００は、ＰＣ１００のユーザを識別するためのユーザ名ＵＮ１と、パスワードＰ１と、を記憶している。ＰＣ２００は、ＰＣ２００のユーザを識別するためのユーザ名ＵＮ２と、パスワードＰ２と、を記憶している。以下では、ＰＣ１００のユーザ、ＰＣ２００のユーザを、それぞれ、「第１のユーザ」、「第２のユーザ」と記載する。
【００１９】
（各テーブル３８，４０，４２；図２）
続いて、図２を参照して、各テーブル３８，４０，４２を説明する。印刷情報テーブル３８は、ＰＣ（例えば１００）からの指示に応じてプリンタ１０においてＩＰＰに従った印刷が実行されることによって記憶される印刷情報を記憶している。印刷情報は、印刷履歴を示す情報であり、具体的には、ジョブ情報と、ドキュメント情報と、印刷時フラグと、を含む。ジョブ情報は、ジョブＩＤと、ジョブ名と、印刷設定と、ジョブ状態と、ユーザ名と、を含む。ジョブＩＤは、ジョブ情報を識別するための情報である。ジョブ名は、ジョブ情報の名称であり、本実施例では、印刷を指示したＰＣ（例えば１００）のプログラムであって、印刷対象の画像を表わすドキュメント（即ち画像データ）を生成したプログラムの名称である。印刷設定は、印刷に利用される設定であり、例えば、印刷色数（例えば、モノクロ印刷、カラー印刷）、用紙サイズ、印刷解像度等を含む。ジョブ状態は、印刷ジョブの実行状態を示す情報である。ユーザ名は、プリンタ１０に印刷を実行させたユーザの名称である。ドキュメント情報は、ドキュメントＩＤと、ドキュメント名と、ドキュメント状態と、ユーザ名と、を含む。ドキュメントＩＤは、ドキュメント情報を識別するための情報である。ドキュメント名は、印刷対象の画像を表わすドキュメントのファイル名である。ドキュメント状態は、ドキュメントによって表わされる画像の印刷の実行状態を示す情報である。ユーザ名は、プリンタ１０に印刷を実行させたユーザの名称であり、ジョブ情報に含まれるユーザ名に一致する。印刷時フラグは、プリンタ１０において印刷が実行された際のフラグ４６の値を示す情報である。
【００２０】
ＩＰＰでは、情報をオブジェクトとみなし、オブジェクトの種類を属性によって規定する。例えば、ジョブ情報に対応するオブジェクトの種類は、ｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅという属性によって規定され、ドキュメント情報に対応するオブジェクトの種類は、ｄｏｃｕｍｅｎｔ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅという属性によって規定される。即ち、ジョブ情報内の各情報（即ち、ジョブＩＤ、ジョブ名、印刷設定、ジョブ状態、ユーザ名）は、ｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅという属性を有する情報であり、ドキュメント情報内の各情報（即ち、ドキュメントＩＤ、ドキュメント名、ドキュメント状態、ユーザ名）は、ｄｏｃｕｍｅｎｔ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅという属性を有する情報である。なお、変形例では、ジョブ情報は、上記の各情報に限らず、上記の各情報のうちの一部の情報のみを含んでいてもよいし、ｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅを有する他の情報を含んでいてもよい。また、ドキュメント情報は、上記の各情報に限らず、上記の各情報のうちの一部の情報のみを含んでいてもよいし、ｄｏｃｕｍｅｎｔ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅを有する他の情報を含んでいてもよい。
【００２１】
ユーザテーブル４０は、プリンタ１０の各ユーザのユーザ名及びパスワードを記憶している。ユーザ名及びパスワードは、例えば、管理者によってユーザテーブル４０に登録される。
【００２２】
公開制限テーブル４２は、公開制限情報と公開ユーザ情報とを関連付けて記憶している。公開制限情報は、ジョブ情報に含まれる情報とドキュメント情報に含まれる情報とのうち、公開対象外のユーザに対する公開が制限される情報に対応する項目を示す情報である。具体的には、公開制限情報は、ｊｏｂ−ｐｒｉｖａｃｙ−ａｔｔｒｉｂｕｔｅという属性、又は、ｄｏｃｕｍｅｎｔ−ｐｒｉｖａｃｙ−ａｔｔｒｉｂｕｔｅという属性を有する情報である。ｊｏｂ−ｐｒｉｖａｃｙ−ａｔｔｒｉｂｕｔｅという属性を有する公開制限情報は、ｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅという属性を有する情報（即ち、ジョブ情報）のうち、公開対象外のユーザに対する公開が制限される情報に対応する項目を示す情報である。ｄｏｃｕｍｅｎｔ−ｐｒｉｖａｃｙ−ａｔｔｒｉｂｕｔｅという属性を有する公開制限情報は、ｄｏｃｕｍｅｎｔ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅという属性を有する情報（即ち、ドキュメント情報）のうち、公開対象外のユーザに対する公開が制限される情報に対応する項目を示す情報である。換言すれば、公開制限情報は、プリンタ１０が、ジョブ情報に含まれる情報とドキュメント情報に含まれる情報とのうち、公開対象外のユーザに対する公開が制限される情報である制限履歴情報と、公開対象外のユーザに対する公開が制限されない情報である非制限履歴情報と、を識別するための情報である。制限履歴情報は、いわゆるプライベートな情報であり、非制限履歴情報は、いわゆるパブリックな情報である。ここで、公開対象のユーザとは、後述の受付画面（図６参照）において入力される情報によって示されるユーザであり、かつ、プリンタ１０に記憶される制限履歴情報をプリンタ１０から取得することができるユーザである。また、公開対象外のユーザとは、後述の受付画面（図６参照）において入力される情報によって示されるユーザとは異なるユーザであり、かつ、プリンタ１０に記憶される制限履歴情報をプリンタ１０から取得することができないユーザである。
【００２３】
公開ユーザ情報は、制限履歴情報の公開対象のユーザを示す情報であり、ｊｏｂ−ｐｒｉｖａｃｙ−ｓｃｏｐｅという属性、又は、ｄｏｃｕｍｅｎｔ−ｐｒｉｖａｃｙ−ｓｃｏｐｅという属性を有する情報である。ｊｏｂ−ｐｒｉｖａｃｙ−ｓｃｏｐｅという属性を有する公開ユーザ情報は、ｊｏｂ−ｐｒｉｖａｃｙ−ａｔｔｒｉｂｕｔｅという属性を有する公開制限情報によって示される項目に対応する情報の公開対象のユーザを示す情報である。ｄｏｃｕｍｅｎｔ−ｐｒｉｖａｃｙ−ｓｃｏｐｅという属性を有する公開ユーザ情報は、ｄｏｃｕｍｅｎｔ−ｐｒｉｖａｃｙ−ａｔｔｒｉｂｕｔｅという属性を有する公開制限情報によって示される項目に対応する情報の公開対象のユーザを示す情報である。プリンタ１０の初期状態では、公開制限テーブル４２は、空の状態であり、後述の受付処理が実行されることに応じて、公開制限情報と公開ユーザ情報とが記憶される。
【００２４】
（印刷処理（ケースＡ）；図３）
続いて、図３を参照して、プリンタ１０のフラグ４６が「ＯＦＦ」を示すケースＡの印刷処理を説明する。印刷処理は、ＩＰＰに従った印刷をプリンタ１０に実行させるための処理である。図３の初期状態では、プリンタ１０のフラグ４６は、「ＯＦＦ」を示す。また、プリンタ１０の公開制限テーブル４２は、空の状態である。なお、以下では、理解の容易化のために、各デバイスのＣＰＵ（例えばプリンタ１０のＣＰＵ３２）が実行する動作を、ＣＰＵを主体として記載せずに、各デバイス（例えばプリンタ１０）を主体として記載する。また、プリンタ１０は、以下の各通信を通信Ｉ／Ｆ１６を介して実行する。従って、以下では、「通信Ｉ／Ｆ１６を介して」という記載を省略する。
【００２５】
Ｔ５では、ＰＣ１００は、第１のユーザから、ＰＣ１００にログインするためのログイン操作を受け付ける。当該ログイン操作は、第１のユーザのユーザ名ＵＮ１及びパスワードＰ１を入力する操作を含む。
【００２６】
Ｔ１０では、ＰＣ１００は、第１のユーザから、ＩＰＰに従った印刷をプリンタ１０に実行させるための印刷指示を受け付ける。印刷指示は、印刷対象のドキュメント（即ち画像データ）のファイル名「ｂｂｂ」を選択する操作を含む。この場合、ＰＣ１００は、Ｔ１２において、ＩＰＰに従ったＧｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓコマンド（以下では、単に「ＧＰＡコマンド」と記載する）をプリンタ１０に送信する。
【００２７】
プリンタ１０は、Ｔ１２において、ＰＣ１００からＧＰＡコマンドを受信する場合に、Ｔ１４において、プリンタ１０が利用可能な印刷設定を示すＣａｐａｂｉｌｉｔｙ情報をＰＣ１００に送信する。本実施例では、Ｃａｐａｂｉｌｉｔｙ情報は、プリンタ１０がカラー印刷及びモノクロ印刷を実行可能であることを示す。変形例では、Ｃａｐａｂｉｌｉｔｙ情報は、さらに、プリンタ１０が利用可能な用紙サイズを示す情報、プリンタ１０が利用可能な印刷解像度を示す情報、プリンタ１０が解釈可能なファイルフォーマットを示す情報等を含んでいてもよい。
【００２８】
ＰＣ１００は、Ｔ１４において、プリンタ１０からＣａｐａｂｉｌｉｔｙ情報を受信する場合に、Ｔ１６において、Ｃａｐａｂｉｌｉｔｙ情報を利用して、印刷設定を選択するための設定画面を表示する。設定画面は、カラー印刷ボタンとモノクロ印刷ボタンとを含む。
【００２９】
ＰＣ１００は、Ｔ２０において、設定画面内のカラー印刷ボタンが第１のユーザによって選択される場合に、Ｔ３０において、ＩＰＰに従ったＣｒｅａｔｅ−Ｊｏｂコマンド（以下では、単に「ＣＪコマンド」と記載する）をプリンタ１０に送信する。ここで、ＩＰＰは、ＨＴＴＰ（Hypertext Transfer Protocolの略）を利用するプロトコルであり、ＩＰＰに従ったコマンドは、ＨＴＴＰに従ったリクエスト信号として送信され、ＨＴＴＰのヘッダ部とボディ部とを含む。ＣＪコマンドのボディ部は、Ｔ１０で選択されたドキュメントを生成したプログラムの名称であるジョブ名ＪＮ１と、Ｔ５でログインされたユーザ名ＵＮ１と、Ｔ２０で選択された印刷設定（即ち、カラー印刷）と、を含む。
【００３０】
プリンタ１０は、Ｔ３０において、ＰＣ１００からＣＪコマンドを受信する場合に、Ｔ３２において、ＣＪコマンドに含まれる印刷設定（即ち、カラー印刷）を利用可能であると判断し、ユニークなジョブＩＤ「Ｊ１」を生成し、Ｔ３４において、印刷情報を印刷情報テーブル３８に記憶する。具体的には、プリンタ１０は、まず、ジョブ情報ＪＩ１を生成する。ジョブ情報ＪＩ１は、生成済みのジョブＩＤ「Ｊ１」と、ＣＪコマンドのボディ部に含まれるジョブ名ＪＮ１と、ＣＪコマンドのボディ部に含まれる印刷設定と、印刷が実行されていないことを示すジョブ状態「準備中」と、ＣＪコマンドのボディ部に含まれるユーザ名ＵＮ１と、を含む。次いで、プリンタ１０は、メモリ３４に記憶されているフラグ４６が「ＯＦＦ」を示すと判断し、「ＯＦＦ」を示す印刷時フラグを生成する。そして、プリンタ１０は、生成済みのジョブ情報ＪＩ１と、生成済みの印刷時フラグと、を含む印刷情報を印刷情報テーブル３８に記憶する。なお、Ｔ３４の時点では、印刷情報は、ドキュメント情報を含まない。
【００３１】
Ｔ３６では、プリンタ１０は、ジョブＩＤ「Ｊ１」をＰＣ１００に送信する。
【００３２】
ＰＣ１００は、Ｔ３６において、プリンタ１０からジョブＩＤ「Ｊ１」を受信する場合に、Ｔ４０において、ＩＰＰに従ったＳｅｎｄ−Ｄｏｃｕｍｅｎｔコマンド（以下では、単に「ＳＤコマンド」と記載する）をプリンタ１０に送信する。ＳＤコマンドのボディ部は、Ｔ１０で選択されたファイル名「ｂｂｂ」であるドキュメント名と、Ｔ１０で選択された画像データと、受信済みのジョブＩＤ「Ｊ１」と、Ｔ５でログインされたユーザ名ＵＮ１と、を含む。
【００３３】
プリンタ１０は、Ｔ４０において、ＰＣ１００からＳＤコマンドを受信する場合に、Ｔ４２において、ユニークなドキュメントＩＤ「Ｄ１」を生成し、Ｔ４４において、ドキュメント情報ＤＩ１を印刷情報テーブル３８に記憶する。具体的には、プリンタ１０は、まず、ドキュメント情報ＤＩ１を生成する。ドキュメント情報ＤＩ１は、生成済みのドキュメントＩＤ「Ｄ１」と、ＳＤコマンドに含まれるドキュメント名「ｂｂｂ」と、印刷が実行されていないことを示すドキュメント状態「準備中」と、ＳＤコマンドに含まれるユーザ名ＵＮ１と、を含む。そして、プリンタ１０は、ＳＤコマンドに含まれるジョブＩＤ「Ｊ１」と同じジョブＩＤ「Ｊ１」を含むジョブ情報ＪＩ１に関連付けて、生成済みのドキュメント情報ＤＩ１を印刷情報テーブル３８に記憶する。
【００３４】
Ｔ５０では、プリンタ１０は、ＳＤコマンドに含まれる画像データとジョブ情報ＪＩ１に含まれる印刷設定（即ち、カラー印刷）とに従ったカラー印刷を印刷実行部１８に実行させる。プリンタ１０は、当該印刷が完了する場合に、Ｔ４４で記憶されたドキュメント情報ＤＩ１内のドキュメント状態を印刷が完了したことを示す「済」に変更し、Ｔ３４で記憶されたジョブ情報ＪＩ１内のジョブ状態を印刷が完了したことを示す「済」に変更する。この場合、プリンタ１０は、Ｔ５２において、印刷が完了したことを示す完了通知をＰＣ１００に送信する。Ｔ５２の処理が終了すると、図３の処理が終了する。
【００３５】
（履歴情報送信処理（ケースＡ）；図４）
続いて、図４を参照して、プリンタ１０のフラグ４６が「ＯＦＦ」を示すケースＡの履歴情報送信処理を説明する。履歴情報送信処理は、印刷情報内のジョブ情報又はドキュメント情報をプリンタ１０からＰＣ１００（又は２００）に送信するための処理である。図４の処理は、図３の処理が実行された後に実行される。即ち、図４の初期状態では、プリンタ１０は、ジョブ情報ＪＩ１とドキュメント情報ＤＩ１と印刷時フラグ「ＯＦＦ」とを含む印刷情報を記憶している。また、プリンタ１０のフラグ４６は、「ＯＦＦ」を示す。
【００３６】
ＰＣ１００は、Ｔ１０１において、第１のユーザから、ジョブ情報の取得を指示するジョブ情報取得操作を受け付ける場合に、Ｔ１０２において、ＩＰＰに従ったＧｅｔ−Ｊｏｂｓコマンド（以下では、単に「ＧＪコマンド」と記載する）をプリンタ１０に送信する。ＧＪコマンドは、ジョブ情報の送信を要求するコマンドであり、具体的には、属性としてｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅを有する情報の送信を要求するコマンドである。ＧＪコマンドは、図３のＴ５でログインされたユーザ名ＵＮ１を含む。
【００３７】
プリンタ１０は、Ｔ１０２において、ＰＣ１００からＧＪコマンドを受信する場合に、Ｔ１０４において、ジョブ情報ＪＩ１をＰＣ１００に送信する。ジョブ情報ＪＩ１は、ジョブＩＤ「Ｊ１」と、ジョブ名ＪＮ１と、印刷設定（即ち、カラー印刷）と、ジョブ状態「済」と、ユーザ名ＵＮ１と、を含む。
【００３８】
ＰＣ１００は、Ｔ１０４において、プリンタ１０からジョブ情報ＪＩ１を受信する場合に、Ｔ１０６において、ジョブ情報ＪＩ１を表示する。これにより、プリンタ１０にジョブ情報ＪＩ１に対応する印刷を実行させたユーザ（以下では、「印刷実行ユーザ」と記載する）である第１のユーザは、ジョブ情報ＪＩ１内の各情報を知ることができる。
【００３９】
また、ＰＣ２００は、Ｔ１１０において、第２のユーザから、第２のユーザのユーザ名ＵＮ２及びパスワードＰ２の入力を含むログイン操作を受け付け、Ｔ１１１において、第２のユーザから、ジョブ情報取得操作を受け付ける。この場合、ＰＣ２００は、Ｔ１１２において、Ｔ１１０でログインされたユーザ名ＵＮ２を含むＧＪコマンドをプリンタ１０に送信する。
【００４０】
プリンタ１０は、Ｔ１１２において、ＰＣ２００からＧＪコマンドを受信する場合に、Ｔ１１４において、ジョブ情報ＪＩ１をＰＣ２００に送信する。この結果、ＰＣ２００では、Ｔ１１６において、ジョブ情報ＪＩ１が表示される。これにより、印刷実行ユーザ（即ち第１のユーザ）とは異なる第２のユーザは、ジョブ情報ＪＩ１内の各情報を知ることができる。Ｔ１１６の処理が終了すると、図４の処理が終了する。
【００４１】
上記のように、プリンタ１０のフラグ４６が「ＯＦＦ」を示す状況では、第２のユーザは、第１のユーザからの指示に応じて実行された印刷の履歴であるジョブ情報ＪＩ１内の全ての情報を知ることができる。また、具体的なケースとしては示していないが、図４と同様の処理によって、ドキュメント情報ＤＩ１がＰＣ２００に送信され得る。この場合、第２のユーザは、第１のユーザからの指示に応じて実行された印刷の履歴であるドキュメント情報ＤＩ１内の全ての情報を知ることができる。即ち、第２のユーザは、ジョブ情報ＪＩ１及びドキュメント情報ＤＩ１を含む印刷情報内の全ての情報を知ることができる。しかしながら、第１のユーザが、当該印刷情報内の一部の情報が第２のユーザに知られないことを望む状況があり得る。このような要望を実現するために、本実施例では、印刷情報の中において、公開対象外のユーザに対する公開が制限される制限履歴情報を設定し、制限履歴情報が公開対象外のユーザに知られてしまうことを抑制する。
【００４２】
（プリンタの処理；図５）
続いて、図５を参照して、プリンタ１０のＣＰＵ３２によって実行される処理を説明する。プリンタ１０の電源がＯＮされる場合に、図５の処理が実行される。
【００４３】
Ｓ５では、プリンタ１０は、ＰＣから、ＩＰＰコマンドを受信したのか否かを判断する。ＩＰＰコマンドは、ＩＰＰに従ったコマンドであり、ＧＰＡコマンド、ＣＪコマンド、ＳＤコマンド、ＧＪコマンド、Ｇｅｔ−Ｄｏｃｕｍｅｎｔ−Ａｔｔｒｉｂｕｔｅｓコマンド（以下では、単に「ＧＤＡコマンド」と記載する）、及び、Ｇｅｔ−Ｊｏｂ−Ａｔｔｒｉｂｕｔｅｓコマンド（以下では、単に「ＧＪＡコマンド」と記載する）のうちのいずれかである。上記のように、ＧＪコマンドは、属性としてｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅを有する情報（即ち、ジョブ情報）の送信を要求するコマンドである。ＧＤＡコマンドは、ドキュメント情報の送信を要求するコマンドであり、具体的には、属性としてｄｏｃｕｍｅｎｔ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅを有する情報の送信を要求するコマンドである。ＧＪＡコマンドは、ジョブ情報内の各情報のうちのいずれかの情報を要求するコマンドであり、具体的には、属性としてｊｏｂ−ｏｂｊｅｃｔ−ａｔｔｒｉｂｕｔｅを有する情報のうち、ユーザによって指定された情報の送信を要求するコマンドである。なお、変形例では、ＩＰＰコマンドは、さらに、Ｖａｌｉｄａｔｅ−Ｊｏｂコマンド、Ｇｅｔ−Ｓｕｂｓｃｒｉｐｔｉｏｎ−Ａｔｔｒｉｂｕｔｅｓコマンド等を含んでいてもよい。プリンタ１０は、ＩＰＰコマンドを受信する場合に、Ｓ５でＹＥＳと判断して、Ｓ３５に進む。一方、プリンタ１０は、ＩＰＰコマンドとは異なるコマンド（即ち、ＨＴＴＰに従ったリクエスト信号であって、ＩＰＰコマンドとは異なるリクエスト信号）を受信する場合に、Ｓ５でＮＯと判断して、Ｓ１０に進む。以下では、Ｓ５でプリンタ１０が受信したコマンドの送信元のＰＣを「対象ＰＣ」と記載する。
【００４４】
Ｓ１０では、プリンタ１０は、Ｓ５で受信されたコマンドがフラグ変更画面要求であるのか否かを判断する。フラグ変更画面要求は、フラグ変更画面を表示するためのフラグ変更画面データの送信を要求するコマンドである。プリンタ１０は、Ｓ５で受信されたコマンドがフラグ変更画面要求であると判断する場合（Ｓ１０でＹＥＳ）に、Ｓ１５に進む。一方、プリンタ１０は、Ｓ５で受信されたコマンドが受付画面要求であると判断する場合（Ｓ１０でＮＯ）に、Ｓ３０において、受付処理（図６参照）を実行する。受付画面要求は、受付画面を表示するための受付画面データの送信を要求するコマンドである。受付処理は、ユーザから公開制限情報と公開ユーザ情報との入力を受け付けるための処理である。Ｓ３０の処理が終了すると、Ｓ５に戻る。
【００４５】
Ｓ１５では、プリンタ１０は、フラグ変更画面データを対象ＰＣに送信する。この結果、対象ＰＣのＷｅｂブラウザによってフラグ変更画面データが解釈され、対象ＰＣにおいてフラグ変更画面が表示される。フラグ変更画面は、プリンタ１０のフラグ４６を変更するための画面であり、フラグ４６を変更することを示すＯＫボタンと、フラグ４６を変更しないことを示すＣａｎｃｅｌボタンと、を含む。
【００４６】
Ｓ２０では、プリンタ１０は、対象ＰＣからフラグ変更要求を受信する。フラグ変更要求は、フラグ変更画面においてＯＫボタンが選択される場合に、対象ＰＣからプリンタ１０に送信される。
【００４７】
Ｓ２５では、プリンタ１０は、メモリ３４に記憶されているフラグ４６を変更する。具体的には、プリンタ１０は、フラグ４６が「ＯＦＦ」を示す場合に、フラグ４６を「ＯＦＦ」から「ＯＮ」に変更し、フラグ４６が「ＯＮ」を示す場合に、フラグ４６を「ＯＮ」から「ＯＦＦ」に変更する。Ｓ２５の処理が終了すると、Ｓ５に戻る。
【００４８】
Ｓ３５では、プリンタ１０は、Ｓ５で受信されたＩＰＰコマンドが印刷履歴情報要求コマンドであるのか否かを判断する。印刷履歴情報要求コマンドは、印刷情報に含まれるジョブ情報又はドキュメント情報を要求するコマンドであり、ＧＪコマンド、ＧＤＡコマンド、及び、ＧＪＡコマンドのうちのいずれかである。プリンタ１０は、Ｓ５で受信されたＩＰＰコマンドが印刷履歴情報要求コマンドであると判断する場合（Ｓ３５でＹＥＳ）に、Ｓ４５において、履歴情報送信処理（図９参照）を実行する。一方、プリンタ１０は、Ｓ５で受信されたＩＰＰコマンドが印刷要求コマンドであると判断する場合（Ｓ３５でＮＯ）に、Ｓ４０において、印刷処理（図７参照）を実行する。Ｓ４０又はＳ４５の処理が終了すると、Ｓ５に戻る。
【００４９】
（受付処理；図６）
続いて、図６を参照して、図５のＳ３０で実行される受付処理の詳細を説明する。Ｓ１００では、プリンタ１０は、受付画面データを対象ＰＣに送信する。この結果、対象ＰＣのＷｅｂブラウザによって受付画面データが解釈されて、対象ＰＣにおいて受付画面が表示される。受付画面の一例を図６に示す。受付画面は、公開制限情報と公開ユーザ情報との入力を受け付けるための画面であり、ジョブ情報に含まれる情報とドキュメント情報に含まれる情報とのうちのいずれかの情報に対応する項目の名称の入力を受け付けるための第１の入力欄と、公開対象のユーザの名称の入力を受け付けるための第２の入力欄と、ＯＫボタンと、Ｃａｎｃｅｌボタンと、を含む。
【００５０】
Ｓ１０５では、プリンタ１０は、対象ＰＣから、公開制限情報と公開ユーザ情報とを受信する。具体的には、受付画面において、第１の入力欄内にジョブ情報に含まれる情報とドキュメント情報に含まれる情報とのうちのいずれかの情報に対応する項目の名称が入力され、第２の入力欄内に公開対象のユーザの名称が入力され、かつ、ＯＫボタンが選択される場合に、第１の入力欄に入力された名称に対応する項目を示す情報と第２の入力欄に入力された名称に対応する公開対象のユーザを示す情報とが、対象ＰＣからプリンタ１０に送信される。これにより、プリンタ１０は、第１の入力欄に入力された名称に対応する項目を示す情報を公開制限情報として受信し、第２の入力欄に入力された名称に対応する公開対象のユーザを示す情報を公開ユーザ情報として受信する。
【００５１】
Ｓ１１０では、プリンタ１０は、メモリ３４に記憶されているフラグ４６が「ＯＮ」を示すのか否かを判断する。プリンタ１０は、フラグ４６が「ＯＮ」を示すと判断する場合（Ｓ１１０でＹＥＳ）に、Ｓ１１５に進む。一方、プリンタ１０は、フラグ４６が「ＯＦＦ」を示すと判断する場合（Ｓ１１０でＮＯ）に、Ｓ１２０に進む。
【００５２】
Ｓ１１５では、プリンタ１０は、公開制限情報と対象ユーザ情報とを関連付けて公開制限テーブル４２に記憶する。Ｓ１１５の処理が終了すると、図６の処理が終了する。
【００５３】
Ｓ１２０では、プリンタ１０は、通知画面を表示するための通知画面データを対象ＰＣに送信する。この結果、対象ＰＣのＷｅｂブラウザによって通知画面データが解釈され、対象ＰＣにおいて通知画面が表示される。通知画面は、プリンタ１０のフラグ４６が「ＯＦＦ」であることをユーザに通知するための画面である。これにより、対象ＰＣのユーザは、プリンタ１０のフラグ４６が「ＯＦＦ」であることを知ることができる。通知画面の一例を図６に示す。通知画面は、フラグ変更画面データの位置（即ち、プリンタ１０の内部サーバ内のフラグ変更画面データのディレクトリ）を示すＵＲＩ（Uniform Resource Identifierの略）「Ｕ」を含む。これにより、対象ＰＣのユーザは、通知画面内のＵＲＩ「Ｕ」を選択することによって、フラグ変更画面を対象ＰＣに表示させて、プリンタ１０のフラグ４６を「ＯＦＦ」から「ＯＮ」に変更することができる。従って、ユーザの利便性が向上する。なお、ＵＲＩ「Ｕ」は、Ｓ１２０が実行される際にプリンタ１０によって生成されてもよいし、プリンタ１０のメモリ３４に予め記憶されていてもよい。Ｓ１２０の処理が終了すると、図６の処理が終了する。
【００５４】
（印刷処理；図７）
続いて、図７を参照して、図５のＳ４０で実行される印刷処理の詳細を説明する。Ｓ２００では、プリンタ１０は、図５のＳ５で受信されたＩＰＰコマンドがＧＰＡコマンドであるのか否かを判断する。プリンタ１０は、Ｓ５においてＧＰＡコマンドを受信している場合（例えば図３のＴ１２）に、Ｓ２００でＹＥＳと判断して、Ｓ２０５に進む。一方、プリンタ１０は、Ｓ５においてＧＰＡコマンドとは異なるＩＰＰコマンドを受信している場合に、Ｓ２００でＮＯと判断して、Ｓ２１０に進む。
【００５５】
Ｓ２０５では、プリンタ１０は、Ｃａｐａｂｉｌｉｔｙ情報を対象ＰＣに送信する（例えば図３のＴ１４）。
【００５６】
Ｓ２１０では、プリンタ１０は、図５のＳ５で受信されたＩＰＰコマンドがＣＪコマンドであるのか否かを判断する。プリンタ１０は、Ｓ５においてＣＪコマンドを受信している場合（例えば図３のＴ３０）に、Ｓ２１０でＹＥＳと判断して、Ｓ２１５に進む。一方、プリンタ１０は、Ｓ５においてＳＤコマンドを受信している場合（例えばＴ４０）に、Ｓ２１０でＮＯと判断して、Ｓ２５０に進む。
【００５７】
Ｓ２１５は、図６のＳ１１０と同様である。プリンタ１０は、フラグ４６が「ＯＮ」を示すと判断する場合（Ｓ２１５でＹＥＳ）に、Ｓ２２０に進み、フラグ４６が「ＯＦＦ」を示すと判断する場合（Ｓ２１５でＮＯ）に、Ｓ２３０に進む。
【００５８】
Ｓ２２０では、プリンタ１０は、ＩＰＰ認証処理を実行する。ＩＰＰ認証処理は、ユーザ名及びパスワードを利用して、ＩＰＰコマンドの送信元のデバイスを認証するための処理である。
【００５９】
Ｓ２２５では、プリンタ１０は、Ｓ２２０の処理をＩＰＰ認証処理が成功したことを示す認証成功として終了したのか否かを判断する。プリンタ１０は、Ｓ２２０の処理を認証成功として終了している場合に、Ｓ２２５でＹＥＳと判断して、Ｓ２３０に進む。一方、プリンタ１０は、Ｓ２２０の処理をＩＰＰ認証処理が失敗したことを示す認証失敗として終了している場合に、Ｓ２２５でＮＯと判断して、図７の処理を終了する。
【００６０】
Ｓ２３０では、プリンタ１０は、受信済みのＣＪコマンドに含まれる印刷設定が利用可能であるのか否かを判断する。プリンタ１０は、印刷設定が利用可能であると判断する場合（Ｓ２３０でＹＥＳ）に、Ｓ２３５に進む。一方、プリンタ１０は、印刷設定が利用可能でないと判断する場合（Ｓ２３０でＮＯ）に、印刷設定が利用不可能であることを示すエラー通知を対象ＰＣに送信して、図７の処理を終了する。なお、変形例では、プリンタ１０は、ＣＪコマンドに含まれる印刷設定が利用可能でないと判断する場合（Ｓ２３０でＮＯ）に、ＣＪコマンドに含まれる印刷設定に代えて、プリンタ１０が利用可能な印刷設定を利用して、後述のＳ２３５〜Ｓ２７５の処理を実行してもよい。
【００６１】
Ｓ２３５では、プリンタ１０は、ユニークなジョブＩＤを生成する（例えば図３のＴ３２）。
【００６２】
Ｓ２４０では、プリンタ１０は、ジョブ情報と印刷時フラグとを含む印刷情報を印刷情報テーブル３８に記憶する（例えば図３のＴ３４）。ジョブ情報は、Ｓ２３５で生成されたジョブＩＤと、ＣＪコマンドのボディ部に含まれるジョブ名ＪＮ１と、ＣＪコマンドのボディ部に含まれる印刷設定と、ジョブ状態と、ＣＪコマンドに含まれるユーザ名と、を含む。なお、プリンタ１０は、ＣＪコマンドのヘッダ部にユーザ名が含まれる場合に、当該ユーザ名をジョブ情報内に記憶し、ＣＪコマンドのヘッダ部にユーザ名が含まれない場合に、ＣＪコマンドのボディ部に含まれるユーザ名をジョブ情報内に記憶する。より具体的には、プリンタ１０は、Ｓ２１５でＹＥＳと判断された後に実行されるＳ２４０では、ＣＪコマンドのヘッダ部に含まれるユーザ名をジョブ情報内に記憶し、Ｓ２１５でＮＯと判断された後に実行されるＳ２４０では、ＣＪコマンドのボディ部に含まれるユーザ名をジョブ情報内に記憶する。
【００６３】
Ｓ２４５では、プリンタ１０は、Ｓ２３５で生成されたジョブＩＤを対象ＰＣに送信する。Ｓ２４５の処理が終了すると、図７の処理が終了する。
【００６４】
Ｓ２５０〜Ｓ２６０は、Ｓ２１５〜Ｓ２２５と同様である。Ｓ２６５では、プリンタ１０は、ユニークなドキュメントＩＤを生成する（例えば図３のＴ４２）。
【００６５】
Ｓ２７０では、プリンタ１０は、ドキュメント情報を印刷情報テーブル３８に記憶する（例えば図３のＴ４４）。なお、プリンタ１０は、ＳＤコマンドのヘッダ部にユーザ名が含まれる場合に、当該ユーザ名をジョブ情報内に記憶し、ＳＤコマンドのヘッダ部にユーザ名が含まれない場合に、ＳＤコマンドのボディ部に含まれるユーザ名をジョブ情報内に記憶する。より具体的には、プリンタ１０は、Ｓ２５０でＹＥＳと判断された後に実行されるＳ２７０では、ＳＤコマンドのヘッダ部に含まれるユーザ名をドキュメント情報内に記憶し、Ｓ２５０でＮＯと判断された後に実行されるＳ２７０では、ＳＤコマンドのボディ部に含まれるユーザ名をドキュメント情報内に記憶する。
【００６６】
Ｓ２７５では、プリンタ１０は、ＳＤコマンドに含まれる画像データとＳ２４０で記憶されたジョブ情報に含まれる印刷設定とに従った印刷を印刷実行部１８に実行させる。プリンタ１０は、当該印刷が完了する場合に、Ｓ２７０で記憶されたドキュメント情報内のドキュメント状態を「済」に変更し、Ｓ２４０で記憶されたジョブ情報内のジョブ状態を「済」に変更し、完了通知を対象ＰＣに送信する（例えば図３のＴ５２）。Ｓ２７５の処理が終了すると、図７の処理が終了する。
【００６７】
（ＩＰＰ認証処理；図８）
続いて、図８を参照して、図７のＳ２２０、Ｓ２６０、及び、後述の図９のＳ４１０で実行されるＩＰＰ認証処理の詳細を説明する。
【００６８】
Ｓ３００では、プリンタ１０は、Ｓ５で受信されたＩＰＰコマンドのヘッダ部に入力情報が含まれているのか否かを判断する。入力情報は、対象ＰＣにおいてユーザによって入力されるユーザ名及びパスワードを含む。プリンタ１０は、ＩＰＰコマンドのヘッダ部に入力情報が含まれている場合に、Ｓ３００でＹＥＳと判断して、Ｓ３０５に進む。一方、プリンタ１０は、ＩＰＰコマンドのヘッダ部に入力情報が含まれていない場合に、Ｓ３００でＮＯと判断して、Ｓ３１０に進む。
【００６９】
Ｓ３０５では、プリンタ１０は、入力情報に含まれるユーザ名及びパスワードの組み合わせがユーザテーブル４０に登録済みであるのか否かを判断する。プリンタ１０は、ユーザ名及びパスワードの組み合わせがユーザテーブル４０に登録済みであると判断する場合（Ｓ３０５でＹＥＳ）に、認証成功として図８の処理を終了する。一方、プリンタ１０は、ユーザ名及びパスワードの組み合わせがユーザテーブル４０に登録済みでないと判断する場合（Ｓ３０５でＮＯ）に、Ｓ３１０に進む。
【００７０】
Ｓ３１０では、プリンタ１０は、４０１  Ａｕｔｈｏｒｉｚａｔｉｏｎ  Ｒｅｑｕｉｒｅｄを対象ＰＣに送信する。この結果、対象ＰＣでは、入力情報を入力するための入力画面が表示される。４０１  Ａｕｔｈｏｒｉｚａｔｉｏｎ  Ｒｅｑｕｉｒｅｄは、ＩＰＰで定義されているコマンドではなく、ＨＴＴＰで定義されているコマンドである。以下では、当該コマンドのことを単に「４０１コマンド」と呼ぶ。プリンタ１０は、Ｓ３１０の処理が終了すると、認証失敗として図８の処理を終了する。
【００７１】
（履歴情報送信処理；図９）
続いて、図９を参照して、図５のＳ４５で実行される履歴情報送信処理の詳細を説明する。Ｓ４００では、プリンタ１０は、公開制限情報と公開ユーザ情報とが公開制限テーブル４２に記憶されているのか否かを判断する。プリンタ１０は、公開制限情報と公開ユーザ情報とが公開制限テーブル４２に記憶されていると判断する場合（Ｓ４００でＹＥＳ）、即ち、制限履歴情報が存在する場合に、Ｓ４０５に進む。一方、プリンタ１０は、公開制限情報と公開ユーザ情報とが公開制限テーブル４２に記憶されていないと判断する場合（Ｓ４００でＮＯ）、即ち、制限履歴情報が存在しない場合に、Ｓ４３０に進む。これにより、制限履歴情報が存在しないにも関わらず、Ｓ４０５〜Ｓ４２５の処理が実行されることを抑制できる。従って、プリンタ１０の処理負荷を軽減することができる。
【００７２】
Ｓ４０５では、プリンタ１０は、Ｓ５で受信された印刷履歴情報要求コマンド（即ち、ＧＪコマンド、ＧＤＡコマンド、ＧＪＡコマンド）が、制限履歴情報を要求しているのか否かを判断する。具体的には、プリンタ１０は、印刷履歴要求コマンドがＧＪコマンドである場合には、公開制限情報が、ジョブ情報に含まれる情報（即ち、ジョブＩＤ、ジョブ名、印刷設定、ジョブ状態、ユーザ名）のうちのいずれかの情報に対応する項目を示すのか否かを判断する。プリンタ１０は、印刷履歴要求コマンドがＧＪコマンドであり、かつ、公開制限情報がジョブ情報に含まれる情報のうちのいずれかの情報に対応する項目を示す場合に、Ｓ４０５でＹＥＳと判断して、Ｓ４１０に進む。一方、プリンタ１０は、印刷履歴要求コマンドがＧＪコマンドであり、かつ、公開制限情報がジョブ情報に含まれる情報に対応する項目を示さない場合に、Ｓ４０５でＮＯと判断して、Ｓ４３０に進む。
【００７３】
また、プリンタ１０は、印刷履歴要求コマンドがＧＤＡコマンドである場合には、公開制限情報が、ドキュメント情報に含まれる情報（即ち、ドキュメントＩＤ、ドキュメント名、ドキュメント状態、ユーザ名）のうちのいずれかの情報に対応する項目を示すのか否かを判断する。プリンタ１０は、印刷履歴要求コマンドがＧＤＡコマンドであり、かつ、公開制限情報がドキュメント情報に含まれる情報のうちのいずれかの情報に対応する項目を示す場合に、Ｓ４０５でＹＥＳと判断して、Ｓ４１０に進む。一方、プリンタ１０は、印刷履歴要求コマンドがＧＤＡコマンドであり、かつ、公開制限情報がドキュメント情報に含まれる情報に対応する項目を示さない場合に、Ｓ４０５でＮＯと判断して、Ｓ４３０に進む。
【００７４】
また、プリンタ１０は、印刷履歴要求コマンドがＧＪＡコマンドである場合には、公開制限情報が、ＧＪＡコマンドによって要求される情報に対応する項目と同じ項目を示すのか否かを判断する。プリンタ１０は、印刷履歴要求コマンドがＧＪＡコマンドであり、かつ、公開制限情報がＧＪＡコマンドによって要求される情報に対応する項目と同じ項目を示す場合に、Ｓ４０５でＹＥＳと判断して、Ｓ４１０に進む。一方、プリンタ１０は、印刷履歴要求コマンドがＧＪＡコマンドであり、かつ、公開制限情報がＧＪＡコマンドによって要求される情報に対応する項目と同じ項目を示さない場合に、Ｓ４０５でＮＯと判断して、Ｓ４３０に進む。これにより、印刷履歴要求コマンドが、公開対象外のユーザに対する公開が制限されない情報である非制限履歴情報の送信を要求しているにも関わらず、Ｓ４１０〜Ｓ４２５の処理が実行されることを抑制できる。従って、プリンタ１０の処理負荷を軽減できる。
【００７５】
Ｓ４１０及びＳ４１５は、図７のＳ２２０及びＳ２２５と同様である。プリンタ１０は、Ｓ４１０の処理が認証成功として終了している場合に、Ｓ４１５でＹＥＳと判断して、Ｓ４２０に進む。一方、プリンタ１０は、Ｓ４１０の処理が認証失敗として終了している場合に、Ｓ４１５でＮＯと判断して、図９の処理を終了する。
【００７６】
Ｓ４２０では、プリンタ１０は、対象ＰＣのユーザが公開対象のユーザであるのか否かを判断するための公開判断処理（図１０）を実行する。
【００７７】
Ｓ４２５では、プリンタ１０は、Ｓ４２０の公開判断処理を対象ＰＣのユーザが公開対象のユーザであることを示す公開ＥＮＤとして終了したのか否かを判断する。プリンタ１０は、Ｓ４２０の公開判断処理を公開ＥＮＤとして終了している場合に、Ｓ４２５でＹＥＳと判断して、Ｓ４３０に進む。一方、プリンタ１０は、Ｓ４２０の公開判断処理を対象ＰＣのユーザが公開対象のユーザでないことを示す制限ＥＮＤとして終了している場合に、Ｓ４２５でＮＯと判断して、Ｓ４３５に進む。
【００７８】
Ｓ４３０では、プリンタ１０は、印刷履歴情報要求コマンドによって要求された情報を対象ＰＣに送信する（例えば図４のＴ１０４、Ｔ１１４）。Ｓ４３０の処理が終了すると、図９の処理が終了する。
【００７９】
Ｓ４３５では、プリンタ１０は、印刷履歴情報要求コマンドによって要求された情報のうちの非制限履歴情報のみを対象ＰＣに送信する。Ｓ４３５の処理が終了すると、図９の処理が終了する。
【００８０】
（公開判断処理；図１０）
続いて、図１０を参照して、図９のＳ４２０で実行される公開判断処理の詳細を説明する。Ｓ５００では、プリンタ１０は、印刷情報テーブル３８内の印刷情報に含まれる印刷時フラグが「ＯＮ」を示すのか否かを判断する。プリンタ１０は、印刷時フラグが「ＯＮ」を示すと判断する場合（Ｓ５００でＹＥＳ）に、Ｓ５０５に進む。一方、プリンタ１０は、印刷時フラグが「ＯＦＦ」を示すと判断する場合に、Ｓ５００でＮＯと判断して、Ｓ５２０に進む。
【００８１】
Ｓ５０５では、プリンタ１０は、印刷情報に含まれるユーザ名と、受信済みの印刷履歴情報要求コマンドのヘッダ部に含まれる入力情報内のユーザ名と、が一致するのか否かを判断する。プリンタ１０は、２つのユーザ名が一致すると判断する場合（Ｓ５０５でＹＥＳ）に、対象ＰＣのユーザが公開対象のユーザであると判断して、公開ＥＮＤとして図１０の処理を終了する。一方、プリンタ１０は、２つのユーザ名が一致しないと判断する場合（Ｓ５０５でＮＯ）に、Ｓ５１０に進む。
【００８２】
Ｓ５１０では、プリンタ１０は、公開対象のユーザに管理者が含まれるのか否かを判断する。具体的には、プリンタ１０は、公開制限テーブル４２に記憶されている公開ユーザ情報が公開対象のユーザとして管理者を示すのか否かを判断する。プリンタ１０は、公開ユーザ情報が管理者を示す場合に、公開対象のユーザに管理者が含まれると判断して（Ｓ５１０でＹＥＳ）、Ｓ５１５に進む。一方、プリンタ１０は、公開ユーザ情報が管理者を示さない場合に、公開対象のユーザに管理者が含まれないと判断する（Ｓ５１０でＮＯ）。この場合、プリンタ１０は、対象ＰＣのユーザが公開対象のユーザでないと判断して、制限ＥＮＤとして図１０の処理を終了する。
【００８３】
Ｓ５１５では、プリンタ１０は、メモリ３４に記憶されている管理者情報４４に含まれるユーザ名ＵＮ０と、受信済みの印刷履歴情報要求コマンドのヘッダ部に含まれる入力情報内のユーザ名と、が一致するのか否かを判断する。プリンタ１０は、２つのユーザ名が一致すると判断する場合（Ｓ５１５でＹＥＳ）に、対象ＰＣのユーザが公開対象のユーザであると判断して、公開ＥＮＤとして図１０の処理を終了する。一方、プリンタ１０は、２つのユーザ名が一致しないと判断する場合（Ｓ５１５でＮＯ）に、対象ＰＣのユーザが公開対象のユーザでないと判断して、制限ＥＮＤとして図１０の処理を終了する。
【００８４】
Ｓ５２０では、プリンタ１０は、印刷情報に含まれるユーザ名と、受信済みの印刷履歴情報要求コマンドのボディ部に含まれるユーザ名と、が一致するのか否かを判断する。プリンタ１０は、２つのユーザ名が一致すると判断する場合（Ｓ５２０でＹＥＳ）に、対象ＰＣのユーザが公開対象のユーザであると判断して、公開ＥＮＤとして図１０の処理を終了する。一方、プリンタ１０は、２つのユーザ名が一致しないと判断する場合（Ｓ５２０でＮＯ）に、Ｓ５２５に進む。
【００８５】
Ｓ５２５は、Ｓ５１０と同様である。プリンタ１０は、公開ユーザ情報が管理者を示す場合に、公開対象のユーザに管理者が含まれると判断して（Ｓ５２５でＹＥＳ）、Ｓ５３０に進む。一方、プリンタ１０は、公開ユーザ情報が管理者を示さない場合に、公開対象のユーザに管理者が含まれないと判断する（Ｓ５２５でＮＯ）。この場合、プリンタ１０は、対象ＰＣのユーザが公開対象のユーザでないと判断して、制限ＥＮＤとして図１０の処理を終了する。
【００８６】
Ｓ５３０では、プリンタ１０は、メモリ３４に記憶されている管理者情報４４に含まれるユーザ名ＵＮ０と、受信済みの印刷履歴情報要求コマンドのボディ部に含まれるユーザ名と、が一致するのか否かを判断する。プリンタ１０は、２つのユーザ名が一致すると判断する場合（Ｓ５３０でＹＥＳ）に、対象ＰＣのユーザが公開対象のユーザであると判断して、公開ＥＮＤとして図１０の処理を終了する。一方、プリンタ１０は、２つのユーザ名が一致しないと判断する場合（Ｓ５３０でＮＯ）に、対象ＰＣのユーザが公開対象のユーザでないと判断して、制限ＥＮＤとして図１０の処理を終了する。
【００８７】
（具体例；図１１〜図１４）
続いて、図１１〜図１４を参照して、図５〜図１０の処理が実行されることによって実現される具体例を説明する。まず、図１１を参照して、受付処理の具体例を説明する。図１１の初期状態では、プリンタ１０のフラグ４６は「ＯＦＦ」を示す。
【００８８】
ＰＣ１００は、Ｔ３１０において、第１のユーザから、受付画面の表示を指示する受付画面表示操作を受け付ける場合に、Ｔ３１２において、受付画面要求をプリンタ１０に送信する。
【００８９】
プリンタ１０は、Ｔ３１２において、ＰＣ１００から受付画面要求を受信する場合（図５のＳ５でＮＯかつＳ１０でＮＯ）に、Ｔ３１４において、受付画面データをＰＣ１００に送信する（図６のＳ１００）。
【００９０】
ＰＣ１００は、Ｔ３１４において、プリンタ１０から受付画面データを受信する場合に、Ｔ３１６において、受付画面を表示する。次いで、ＰＣ１００は、Ｔ３２０において、第１のユーザから、第１の入力欄におけるジョブ名及び印刷設定の入力と、第２の入力欄における印刷ユーザの入力と、受付画面内のＯＫボタンの選択と、を受け付ける場合に、Ｔ３２２において、公開制限情報と公開ユーザ情報とをプリンタ１０に送信する。公開制限情報は、ジョブ名と印刷設定とを示す。公開ユーザ情報は、公開対象のユーザとして印刷ユーザを示す。
【００９１】
プリンタ１０は、Ｔ３２２において、ＰＣ１００から公開制限情報と公開ユーザ情報とを受信する場合（図６のＳ１０５）に、メモリ３４に記憶されているフラグ４６が「ＯＦＦ」を示すと判断し（Ｓ１１０でＮＯ）、Ｔ３２４において、通知画面データをＰＣ１００に送信する（Ｓ１２０）。
【００９２】
ＰＣ１００は、Ｔ３２４において、プリンタ１０から通知画面データを受信する場合に、Ｔ３２６において、通知画面を表示する。次いで、ＰＣ１００は、Ｔ３３０において、第１のユーザによって、通知画面内のＵＲＩ「Ｕ」が選択される場合に、Ｔ３３２において、ＵＲＩ「Ｕ」を含むフラグ変更画面要求をプリンタ１０に送信する。
【００９３】
プリンタ１０は、Ｔ３３２において、ＰＣ１００からフラグ変更画面要求を受信する場合（図５のＳ５でＮＯかつＳ１０でＹＥＳ）に、Ｔ３３４において、フラグ変更画面要求に含まれるＵＲＩ「Ｕ」に対応するフラグ変更画面データをＰＣ１００に送信する（Ｓ１５）。
【００９４】
ＰＣ１００は、Ｔ３３４において、プリンタ１０からフラグ変更画面データを受信する場合に、Ｔ３３６において、フラグ変更画面を表示する。次いで、ＰＣ１００は、Ｔ３４０において、第１のユーザによってフラグ変更画面内のＯＫボタンが選択される場合に、Ｔ３４２において、フラグ変更要求をプリンタ１０に送信する。
【００９５】
プリンタ１０は、Ｔ３４２において、ＰＣ１００からフラグ変更要求を受信する場合（図５のＳ２０）に、Ｔ３４４において、メモリ３４に記憶されているフラグ４６を「ＯＦＦ」から「ＯＮ」に変更する（Ｓ２５）。
【００９６】
その後、Ｔ３１０〜Ｔ３２２と同様の処理が実行され、プリンタ１０は、ＰＣ１００から公開制限情報と公開ユーザ情報とを受信する（図６のＳ１０５）。この場合、プリンタ１０は、メモリ３４に記憶されているフラグ４６が「ＯＮ」を示すと判断し（Ｓ１１０でＹＥＳ）、Ｔ３５０において、受信済みの公開制限情報と公開ユーザ情報とを関連付けて公開制限テーブル４２に記憶する（Ｓ１１５）。Ｔ３５０の処理が終了すると、図１１の処理が終了する。
【００９７】
（印刷処理（ケースＢ）；図１２）
続いて、図１２を参照して、プリンタ１０のフラグ４６が「ＯＮ」を示すケースＢの印刷処理を説明する。図１２は、図１１の処理が実行された後の状況を想定している。従って、図１２の初期状態では、プリンタ１０のフラグ４６は「ＯＮ」を示す。
【００９８】
Ｔ４０５〜Ｔ４２２は、図３のＴ５〜Ｔ３０と同様である。プリンタ１０は、Ｔ４２２において、ＰＣ１００からＣＪコマンドを受信する場合（図５のＳ５でＹＥＳ、Ｓ３５でＮＯ、図７のＳ２００でＮＯ、Ｓ２１０でＹＥＳ）に、メモリ３４に記憶されているフラグ４６が「ＯＮ」を示すと判断する（Ｓ２１５でＹＥＳ）。次いで、プリンタ１０は、ＣＪコマンドのヘッダ部に入力情報が含まれていないと判断して（図８のＳ３００でＮＯ）、Ｔ４２４において、４０１コマンドをＰＣ１００に送信する（Ｓ３１０）。
【００９９】
ＰＣ１００は、Ｔ４２４において、プリンタ１０から４０１コマンドを受信する場合に、Ｔ４２６において、入力画面を表示する。次いで、ＰＣ１００は、Ｔ４２８において、第１のユーザによって入力画面内にユーザ名ＵＮ１及びパスワードＰ１が入力される場合に、Ｔ４３０において、ＣＪコマンドをプリンタ１０に送信する。当該ＣＪコマンドのヘッダ部は、ユーザ名ＵＮ１及びパスワードＰ１を含む入力情報を含む。また、当該ＣＪコマンドのボディ部は、Ｔ４１０で選択されたドキュメントを生成したプログラムの名称であるジョブ名ＪＮ１と、Ｔ４０５でログインされたユーザ名ＵＮ１と、Ｔ４２０で選択された印刷設定（即ち、カラー印刷）と、を含む。
【０１００】
プリンタ１０は、Ｔ４３０において、ＰＣ１００からＣＪコマンドを受信する場合（図５のＳ５でＹＥＳ、Ｓ３５でＮＯ、図７のＳ２００でＮＯ、Ｓ２１０でＹＥＳ）に、メモリ３４に記憶されているフラグ４６が「ＯＮ」を示すと判断する（Ｓ２１５でＹＥＳ）。また、プリンタ１０は、ＣＪコマンドのヘッダ部に入力情報が含まれていると判断し（図８のＳ３００でＹＥＳ）、かつ、入力情報内のユーザ名ＵＮ１及びパスワードＰ１の組み合わせがユーザテーブル４０に登録されていると判断して（Ｓ３０５でＹＥＳ）、Ｔ４３２以降の処理を実行する。
【０１０１】
Ｔ４３２〜Ｔ４３６は、「ＯＮ」を示す印刷時フラグが利用される点を除いて、図３のＴ３２〜Ｔ３６と同様である。Ｔ４４０では、ＰＣ１００は、ＳＤコマンドをプリンタ１０に送信する。当該ＳＤコマンドのヘッダ部は、Ｔ４２８で入力されたユーザ名ＵＮ１及びパスワードＰ１を含む入力情報を含む。当該ＳＤコマンドのボディ部は、Ｔ４１０で選択されたファイル名「ｂｂｂ」であるドキュメント名と、Ｔ４１０で選択された画像データと、Ｔ４３６で受信されたジョブＩＤ「Ｊ１」と、Ｔ４０５でログインされたユーザ名ＵＮ１と、を含む。
【０１０２】
プリンタ１０は、Ｔ４４０において、ＰＣ１００からＳＤコマンドを受信する場合（図５のＳ５でＹＥＳ、Ｓ３５でＮＯ、図７のＳ２００でＮＯ、Ｓ２１０でＮＯ）に、メモリ３４に記憶されているフラグ４６が「ＯＮ」を示すと判断する（Ｓ２１５でＹＥＳ）。また、プリンタ１０は、ＳＤコマンドのヘッダ部に入力情報が含まれていると判断し（図８のＳ３００でＹＥＳ）、かつ、入力情報内のユーザ名ＵＮ１及びパスワードＰ１の組み合わせがユーザテーブル４０に登録されていると判断して（Ｓ３０５でＹＥＳ）、Ｔ４４２以降の処理を実行する。
【０１０３】
Ｔ４４２〜Ｔ４５２は、「ＯＮ」を示す印刷時フラグが利用される点を除いて、図３のＴ４２〜Ｔ５２と同様である。Ｔ４５２の処理が終了すると、図１２の処理が終了する。
【０１０４】
（履歴情報送信処理（ケースＢ）；図１３）
続いて、図１３を参照して、プリンタ１０のフラグ４６が「ＯＮ」を示し、かつ、ＩＰＰ認証が成功するケースＢの履歴情報送信処理を説明する。図１３は、図１２の処理が実行された後の状況を想定している。従って、図１３の初期状態では、プリンタ１０のフラグ４６は「ＯＮ」を示す。また、プリンタ１０は、ジョブ情報と印刷設定とを示す公開制限情報と、印刷ユーザを示す公開ユーザ情報と、を関連付けて記憶している。また、プリンタ１０は、ジョブ情報ＪＩ１とドキュメント情報ＤＩ１と「ＯＮ」を示す印刷時フラグとを含む印刷情報を記憶している。上記のように、ジョブ情報ＪＩ１及びドキュメント情報ＤＩ１は、ユーザ名ＵＮ１を含む。従って、第１のユーザが公開対象のユーザであり、第２のユーザが公開対象外のユーザである。
【０１０５】
Ｔ５０１及びＴ５０２は、図４のＴ１０１及びＴ１０２と同様である。プリンタ１０は、Ｔ５０２において、ＰＣ１００からＧＪコマンドを受信する場合（図５のＳ５でＹＥＳかつＳ３５でＹＥＳ）に、公開制限情報と公開ユーザ情報とが公開制限テーブル４２に記憶されていると判断し（図９のＳ４００）、公開制限情報がジョブ情報に含まれる情報に対応する項目（即ち、ジョブ名、印刷設定）を示すと判断する（Ｓ４０５でＹＥＳ）。また、プリンタ１０は、ＧＪコマンドのヘッダ部が入力情報を含まないと判断する（図８のＳ３００でＮＯ）。この場合、プリンタ１０は、Ｔ５０４において、４０１コマンドをＰＣ１００に送信する（Ｓ３１０）。
【０１０６】
ＰＣ１００は、Ｔ５０４において、プリンタ１０から４０１コマンドを受信する場合に、Ｔ５０６において、入力画面を表示する。次いで、ＰＣ１００は、Ｔ５１０において、第１のユーザから入力画面内にユーザ名ＵＮ１及びパスワードＰ１が入力される場合に、Ｔ５１２において、ＧＪコマンドをプリンタ１０に送信する。当該ＧＪコマンドのヘッダ部は、Ｔ５１０で入力されたユーザ名ＵＮ１及びパスワードＰ１を含む入力情報を含む。当該ＧＪコマンドのボディ部は、図１２のＴ４０５でログインされたユーザ名ＵＮ１を含む。
【０１０７】
プリンタ１０は、Ｔ５１２において、ＰＣ１００からＧＪコマンドを受信する場合（図５のＳ５でＹＥＳかつＳ３５でＹＥＳ）に、公開制限情報と公開ユーザ情報とが公開制限テーブル４２に記憶されていると判断し（図９のＳ４００）、公開制限情報がジョブ情報に含まれる情報に対応する項目（即ち、ジョブ名、印刷設定）を示すと判断する（Ｓ４０５でＹＥＳ）。また、プリンタ１０は、ＧＪコマンドのヘッダ部が入力情報を含むと判断し（図８のＳ３００でＮＯ）、かつ、入力情報内のユーザ名ＵＮ１及びパスワードＰ１の組み合わせがユーザテーブル４０に登録されていると判断する（Ｓ３０５でＹＥＳ）。
【０１０８】
次いで、プリンタ１０は、ＰＣ１００のユーザ（即ち、第１のユーザ）が公開対象のユーザであるのか否かを判断する。具体的には、プリンタ１０は、印刷情報に含まれる印刷時フラグが「ＯＮ」を示すと判断し（図１０のＳ５００でＹＥＳ）、印刷情報内のジョブ情報ＪＩ１に含まれるユーザ名ＵＮ１とＧＪコマンドのヘッダ部に含まれる入力情報内のユーザ名ＵＮ１とが一致すると判断する（Ｓ５０５でＹＥＳ）。即ち、プリンタ１０は、第１のユーザが公開対象のユーザであると判断する。この場合、プリンタ１０は、Ｔ５１４において、ジョブ情報ＪＩ１をＰＣ１００に送信する。
【０１０９】
ＰＣ１００は、Ｔ５１４において、プリンタ１０からジョブ情報ＪＩ１を受信する場合に、Ｔ５１６において、ジョブ情報ＪＩ１を表示する。これにより、プリンタ１０のフラグ４６が「ＯＮ」を示す状況においても、印刷実行ユーザである第１のユーザは、ジョブ情報ＪＩ１内の各情報を知ることができる。Ｔ５１６の処理が終了すると、図１３の処理が終了する。
【０１１０】
（履歴情報送信処理（ケースＣ）；図１４）
続いて、図１４を参照して、プリンタ１０のフラグ４６が「ＯＮ」を示し、かつ、ＩＰＰ認証が失敗するケースＣの履歴情報送信処理を説明する。図１４は、図１２の処理が実行された後の状況を想定している。従って、図１４の初期状態では、プリンタ１０のフラグ４６は「ＯＮ」を示す。また、プリンタ１０は、ジョブ情報と印刷設定とを示す公開制限情報と、印刷ユーザを示す公開ユーザ情報と、を関連付けて記憶している。また、プリンタ１０は、ジョブ情報ＪＩ１とドキュメント情報ＤＩ１と「ＯＮ」を示す印刷時フラグとを含む印刷情報を記憶している。
【０１１１】
Ｔ６００〜Ｔ６０２は、図４のＴ１１０〜Ｔ１１２と同様である。プリンタ１０は、Ｔ６０２において、ＰＣ２００からＧＪコマンドを受信する場合（図５のＳ５でＹＥＳかつＳ３５でＹＥＳ）に、公開制限情報と公開ユーザ情報とが公開制限テーブル４２に記憶されていると判断し（図９のＳ４００）、公開制限情報がジョブ情報に含まれる情報に対応する項目（即ち、ジョブ名、印刷設定）を示すと判断する（Ｓ４０５でＹＥＳ）。また、プリンタ１０は、ＧＪコマンドのヘッダ部が入力情報を含まないと判断する（図８のＳ３００でＮＯ）。この場合、プリンタ１０は、Ｔ６０４において、４０１コマンドをＰＣ２００に送信する（Ｓ３１０）。
【０１１２】
ＰＣ２００は、Ｔ６０４において、プリンタ１０から４０１コマンドを受信する場合に、Ｔ６０６において、入力画面を表示する。次いで、ＰＣ２００は、Ｔ６１０において、第２のユーザから入力画面にユーザ名ＵＮ２及びパスワードＰ２が入力される場合に、Ｔ６１２において、ＧＪコマンドをプリンタ１０に送信する。当該ＧＪコマンドのヘッダ部は、Ｔ６１０で入力されたユーザ名ＵＮ２及びパスワードＰ２を含む入力情報を含む。当該ＧＪコマンドのボディ部は、Ｔ６００でログインされたユーザ名ＵＮ２を含む。
【０１１３】
プリンタ１０は、Ｔ６１２において、ＰＣ２００からＧＪコマンドを受信する場合（図５のＳ５でＹＥＳかつＳ３５でＹＥＳ）に、公開制限情報と公開ユーザ情報とが公開制限テーブル４２に記憶されていると判断し（図９のＳ４００）、公開制限情報がジョブ情報に含まれる情報に対応する項目（即ち、ジョブ名、印刷設定）を示すと判断する（Ｓ４０５でＹＥＳ）。また、プリンタ１０は、ＧＪコマンドのヘッダ部が入力情報を含むと判断し（図８のＳ３００でＮＯ）、入力情報内のユーザ名ＵＮ２及びパスワードＰ２の組み合わせがユーザテーブル４０に登録されていないと判断する（Ｓ３０５でＮＯ）。この場合、プリンタ１０は、Ｔ６１４において、４０１コマンドをＰＣ２００に再び送信する。この結果、ＰＣ２００では、Ｔ６１６において、入力画面が表示されるが、第２のユーザは、正しいユーザ名及びパスワードを知らないので、入力画面において新たにユーザ名及びパスワードを入力することができない。従って、プリンタ１０のフラグ４６が「ＯＮ」を示す状況において、印刷実行ユーザ（即ち、第１のユーザ）とは異なる第２のユーザは、ジョブ情報ＪＩ１内の各情報を知ることができない。Ｔ６１６の処理が終了すると、図１４の処理が終了する。
【０１１４】
（比較例；図１５）
ここで、図１５を参照して、履歴情報送信処理においてＩＰＰ認証処理が実行されない比較例を説明する。比較例のプリンタ１１は、ジョブ名と印刷設定とを示す公開制限情報と、印刷ユーザを示す公開ユーザ情報と、を関連付けて記憶している。また、プリンタ１１は、第１のユーザからの指示に応じて実行された印刷の履歴であるジョブ情報ＪＩ２とドキュメント情報ＤＩ２とを含む印刷情報を記憶している。ジョブ情報ＪＩ２は、ジョブＩＤ「Ｊ２」と、ジョブ名ＪＮ２と、印刷設定と、ジョブ状態「済」と、ユーザ名ＵＮ１と、を含む。ドキュメント情報ＤＩ２は、ドキュメントＩＤ「Ｄ２」と、ドキュメント名「ｃｃｃ」と、ドキュメント状態「済」と、ユーザ名ＵＮ１と、を含む。
【０１１５】
Ｔ７００〜Ｔ７０２は、プリンタ１１が利用される点を除いて、図４のＴ１１０〜Ｔ１１２と同様である。プリンタ１１は、Ｔ７０２において、ＰＣ２００からＧＪコマンドを受信する場合に、ジョブ情報ＪＩ２に含まれるユーザ名ＵＮ１とＧＪコマンドに含まれるユーザ名ＵＮ２とが一致しないと判断する。この場合、プリンタ１１は、第２のユーザが公開対象のユーザではないと判断して、Ｔ７０４において、ジョブ情報ＪＩ２に含まれるジョブＩＤ「Ｊ２」とジョブ状態「済」とユーザ名ＵＮ１とをＰＣ２００に送信する。この結果、ＰＣ２００では、Ｔ７０６において、ジョブＩＤ「Ｊ２」と、ジョブ名として文字列「ｕｎｋｎｏｗｎ」と、印刷設定として文字列「ｕｎｋｎｏｗｎ」と、ジョブ状態「済」と、ユーザ名ＵＮ１と、含むジョブ情報が表示される。これにより、第２のユーザは、印刷実行ユーザである第１のユーザのユーザ名ＵＮ１を知ることができる。
【０１１６】
その後、Ｔ７１０において、第２のユーザが、ユーザ名ＵＮ１を含むＧＪコマンドを送信するようにジョブ情報取得操作をＰＣ２００に実行すると、Ｔ７１２において、ユーザ名ＵＮ１を含むＧＪコマンドがＰＣ２００からプリンタ１１に送信される。この場合、プリンタ１１は、ジョブ情報ＪＩ２に含まれるユーザ名ＵＮ１とＧＪコマンドに含まれるユーザ名ＵＮ１とが一致すると判断して、ジョブ情報ＪＩ２をＰＣ２００に送信する。この結果、ＰＣ２００では、Ｔ６１６において、ジョブ情報ＪＩ２が表示される。これにより、印刷実行ユーザ（即ち第１のユーザ）とは異なる第２のユーザは、ジョブ情報ＪＩ２内の各情報を知ることができる。Ｔ６１６の処理が終了すると、図１５の処理が終了する。
【０１１７】
（本実施例の効果）
上記のように、比較例では、ユーザ名ＵＮ１が第２のユーザに知られてしまうと、第２のユーザがユーザ名ＵＮ１を利用してジョブ情報ＪＩ１を取得できてしまう。これに対し、本実施例では、プリンタ１０は、メモリ３４に記憶されているパスワードＰ１と入力情報に含まれるパスワードＰ１とが一致すると判断し、かつ、第１のユーザが公開対象のユーザであると判断する場合（例えば図１３のケースＢ）に、制限履歴情報（即ち、ジョブ名ＪＮ１、印刷設定（即ち、カラー印刷））と非制限履歴情報（即ち、ジョブＩＤ「Ｊ１」、ジョブ状態「済」、ユーザ名ＵＮ１）とを含むジョブ情報ＪＩ１をＰＣ１００に送信する。一方、プリンタ１０は、メモリ３４に記憶されているパスワードＰ１と入力情報に含まれるパスワードＰ２とが一致しないと判断する場合（例えば図１４のケースＣ）に、ジョブ情報ＪＩ１をＰＣ２００に送信しない。これにより、例えば、ユーザ名ＵＮ１が第２のユーザに知られてしまっても、第２のユーザがパスワードＰ１を知らなければ、プリンタ１０は、ＩＰＰ認証処理においてメモリ３４に記憶されているパスワードＰ１と入力情報に含まれるパスワードとが一致しないと判断することができる。この結果、制限履歴情報が公開対象外のユーザに送信されることを抑制することができる。
【０１１８】
また、上記の実施例では、プリンタ１０は、履歴情報送信処理において、従来から知られているＩＰＰ認証処理と同様のＩＰＰ認証処理を実行する。これにより、印刷履歴情報要求コマンドに対する新たな認証手法を開発する必要がないため、プリンタ１０の開発コストが削減できる。また、プリンタ１０は、ユーザテーブル４０に記憶されているユーザ名及びパスワードを利用して、印刷処理における認証処理と履歴情報送信処理における認証処理とを実行する。例えば、印刷処理における認証処理において利用されるユーザ名及びパスワードとは異なる認証情報を利用して、履歴情報送信処理における認証処理を実行する構成を想定すると、プリンタ１０は、印刷処理における認証処理において利用されるユーザ名及びパスワードと、履歴情報送信処理における認証処理において利用される認証情報と、を記憶しておかなければならない。これに対し、本実施例では、プリンタ１０は、ユーザテーブル４０に記憶されているユーザ名及びパスワードだけを記憶しておけばよいので、プリンタ１０のメモリ３４の容量を削減できる。
【０１１９】
また、本実施例では、プリンタ１０は、プリンタ１０のフラグ４６が「ＯＮ」を示す状況では、ＣＪコマンドのヘッダ部に含まれる入力情報内のユーザ名をジョブ情報内に記憶し（図７のＳ２４０）、ＳＤコマンドのヘッダ部に含まれる入力情報内のユーザ名をドキュメント情報内に記憶する（Ｓ２７０）。ここで、例えば、プリンタ１０が、プリンタ１０のフラグ４６が「ＯＮ」を示す状況において、ＣＪコマンドのボディ部に含まれるユーザ名をジョブ情報内に記憶し、ＳＤコマンドのボディ部に含まれるユーザ名をドキュメント情報内に記憶する比較例の構成を想定する。この場合、プリンタ１０は、図１０のＳ５００〜Ｓ５１５の処理を実行することなく、Ｓ５２０〜Ｓ５３０の処理を実行する。即ち、プリンタ１０は、入力情報内のユーザ名を利用することなく、印刷履歴情報要求コマンドのボディ部に含まれるユーザ名を利用して、対象ＰＣのユーザが公開対象のユーザであるのか否かを判断する。
【０１２０】
しかしながら、当該比較例の構成では、以下のような方法によって、公開対象外のユーザによってジョブ情報及びドキュメント情報が取得され得る。即ち、例えば、図１４のＴ６１０において、第２のユーザが、入力画面において、プリンタ１０のユーザテーブル４０に登録済みのユーザ名及びパスワード（例えば、ユーザ名ＵＮ３及びパスワードＰ３）を入力し、かつ、ユーザ名ＵＮ１をボディ部に含むＧＪコマンドを送信するように操作を実行すると、ユーザ名ＵＮ３及びパスワードＰ３を含む入力情報をヘッダ部に含むと共に、ユーザ名ＵＮ１をボディ部に含むＧＪコマンドがＰＣ２００からプリンタ１０に送信される。この場合、プリンタ１０は、ジョブ情報ＪＩ１に含まれるユーザ名ＵＮ１と、受信済みのＧＪコマンドのボディ部に含まれる入力情報内のユーザ名ＵＮ１と、が一致すると判断して、ジョブ情報ＪＩ１をＰＣ２００に送信する。この結果、ＰＣ２００において、ジョブ情報ＪＩ１が表示されるので、印刷実行ユーザ（即ち第１のユーザ）とは異なる第２のユーザは、ジョブ情報ＪＩ１内の各情報を知ることができてしまう。これに対し、本実施例では、プリンタ１０は、プリンタ１０のフラグ４６が「ＯＮ」を示す状況では、ＣＪコマンドのヘッダ部に含まれる入力情報内のユーザ名をジョブ情報内に記憶し、ＳＤコマンドのヘッダ部に含まれる入力情報内のユーザ名をドキュメント情報内に記憶する。これにより、プリンタ１０は、例えば、上記の状況においても、公開判断処理において、ジョブ情報ＪＩ１に含まれるユーザ名ＵＮ１と、受信済みのＧＪコマンドのボディ部内の入力情報に含まれるユーザ名ＵＮ３と、が一致しないと判断して、第２のユーザが公開対象のユーザでないと判断することができる。これにより、例えば、ユーザ名ＵＮ１が第三者に知られてしまっても、制限履歴情報が公開対象外のユーザに送信されることを抑制することができる。なお、変形例では、当該比較例の構成が採用されてもよい。
【０１２１】
なお、本実施例において、「公開」とは、プリンタ１０が、外部装置（例えばＰＣ１００等）から、印刷履歴情報要求コマンドを受信することに応じて、当該印刷履歴情報要求コマンドによって要求された情報を当該外部装置に送信することを意味する。
【０１２２】
（対応関係）
ＰＣ１００，２００が、「第１の外部装置」の一例であり、ＰＣ１００が、「第２の外部装置」及び「第３の外部装置」の一例である。ＧＪコマンドが、「履歴要求」の一例である場合には、ジョブ情報が、「印刷履歴情報」の一例である。ＧＤＡコマンドが「履歴要求」の一例である場合には、ドキュメント情報が、「印刷履歴情報」の一例である。パスワードＰ１が、「第１の認証情報」及び「第３の認証情報」の一例であり、パスワードＰ１，Ｐ２が、「第２の認証情報」の一例である。４０１コマンド、ＳＤコマンドが、それぞれ、「入力情報要求」、「印刷要求」の一例である。ユーザ名ＵＮ１が、「第１のユーザ識別情報」、「第２のユーザ識別情報」、「第３のユーザ識別情報」の一例である。「ＯＮ」を示すフラグ４６が、「認証実行情報」の一例である。「ＯＮ」を示す印刷時フラグ、「ＯＦＦ」を示す印刷時フラグが、それぞれ、「記憶情報」、「非記憶情報」の一例である。ＧＪＡコマンドが、「非制限履歴要求」の一例である。管理者情報４４に含まれるユーザ名ＵＮ０が、「管理者識別情報」の一例である。
【０１２３】
図５のＳ５の処理、図７のＳ２２０（又は、Ｓ２６０、Ｓ４１０）、図９のＳ４２０の処理、Ｓ４３０の処理、Ｓ４３５の処理が、それぞれ、「第１の履歴要求受信部」、「認証処理実行部」、「判断部」、「第１の履歴情報送信部」、「第２の履歴情報送信部」によって実行される処理の一例である。
【０１２４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１２５】
（変形例１）プリンタ１０は、ユーザ名及びパスワードに代えて、ハッシュ値を利用してＩＰＰ認証処理を実行してもよい。即ち、プリンタ１０は、いわゆるＤｉｇｅｓｔ認証を利用して、ＩＰＰ認証処理を実行してもよい。この場合、プリンタ１０は、例えば、図１３のＴ５０２において、ＰＣ１００からＧＪコマンドを受信する場合に、ＧＪコマンドのヘッダ部にハッシュ値が含まれていないと判断し、ランダム値ＲＶ１を生成して、ランダム値ＲＶ１を含む４０１コマンドをＰＣ１００に送信する。この場合、ＰＣ１００は、入力画面を表示し、第１のユーザによって入力画面内にユーザ名ＵＮ１及びパスワードＰ１が入力される場合に、受信済みのランダム値ＲＶ１とは異なるランダム値ＲＶ２を生成し、入力済みのユーザ名ＵＮ１と、入力済みのパスワードＰ１と、受信済みのランダム値ＲＶ１と、生成済みのランダム値ＲＶ２と、をハッシュ化することによってハッシュ値ＨＶを生成する。次いで、ＰＣ１００は、生成済みのハッシュ値ＨＶと生成済みのランダム値ＲＶ２とをプリンタ１０に送信する。プリンタ１０は、ＰＣ１００からハッシュ値ＨＶとランダム値ＲＶ２とを受信する場合に、ユーザテーブル４０に記憶されているユーザ名及びパスワードを順次利用して、当該ユーザ名及びパスワードと、生成済みのランダム値ＲＶ１と、受信済みのランダム値ＲＶ２と、をハッシュ化することによって、複数個のハッシュ値を生成して、一時的にメモリ３４に記憶する。そして、プリンタ１０は、記憶済みの複数個のハッシュ値の中に受信済みのハッシュ値ＨＶと同じハッシュ値が存在する場合に、ジョブ情報ＪＩ１をＰＣ１００に送信する。なお、プリンタ１０は、記憶済みの複数個のハッシュ値の中に受信済みのハッシュ値ＨＶと同じハッシュ値が存在しない場合に、ジョブ情報ＪＩ１をＰＣ１００に送信しない。本変形例では、メモリ３４に一時的に記憶されるハッシュ値が「第１の認証情報」の一例である。また、ＰＣ１００に入力されるパスワードＰ１を用いて得られるハッシュ値ＨＶが、「第１の外部装置に入力される第２の認証情報」の一例である。
【０１２６】
（変形例２）図７のＳ２１５〜Ｓ２２５の処理、及び、Ｓ２５０〜Ｓ２６０の処理が省略されてもよい。即ち、「認証処理」は、「第２の入力情報要求送信処理」と「第２の入力情報受信処理」と「第２の判断処理」とを含まなくてもよい。
【０１２７】
（変形例３）図６のＳ１１０及びＳ１２０の処理が省略されてもよい。本変形例では、「第２の画面データ送信部」が省略可能である。
【０１２８】
（変形例４）図９のＳ４００の処理が省略されてもよい。即ち、「第１の入力情報要求送信処理」は、公開制限情報と公開ユーザ情報とがメモリに記憶される前に、第１の外部装置から履歴要求が受信される場合に、入力情報要求を第１の外部装置に送信する処理であってもよい。
【０１２９】
（変形例５）上記の実施例では、プリンタ１０のＣＰＵ３２がメモリ３４内のプログラム３６を実行することによって、図２〜図１４の各処理が実現される。これに代えて、これらの各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１３０】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１３１】
２：通信システム、６：ＬＡＮ、１０：プリンタ、１２：操作部、１４：表示部、１６：通信インターフェース、１８：印刷実行部、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：プログラム、３８：印刷情報テーブル、４０：ユーザテーブル、４２：公開制限テーブル、４４：管理者情報、４６：ＩＰＰ認証フラグ、１００，２００：プリンタ
【図１】
2020131573.tif 000003
【図２】
2020131573.tif 000004
【図３】
2020131573.tif 000005
【図４】
2020131573.tif 000006
【図５】
2020131573.tif 000007
【図６】
2020131573.tif 000008
【図７】
2020131573.tif 000009
【図８】
2020131573.tif 000010
【図９】
2020131573.tif 000011
【図１０】
2020131573.tif 000012
【図１１】
2020131573.tif 000013
【図１２】
2020131573.tif 000014
【図１３】
2020131573.tif 000015
【図１４】
2020131573.tif 000016
【図１５】
2020131573.tif 000017