(57)【要約】【課題】複数のプリンタの印刷ログを管理装置で管理するシステムに関する技術であって、管理装置の処理の高機能化を図る技術を提供すること。【解決手段】プリンタ管理アプリ４１によってＰＣ１は、複数のプリンタ２〜６によって生成された複数の印刷ログを収集し、収集された印刷ログに含まれるユーザＩＤに関連付けるユーザ名をユーザＩＦ１５を介して受け付け、受け付けられたユーザ名をユーザＩＤに関連付けてユーザ登録ＤＢ４２に登録する。１つのユーザ名には、複数のユーザＩＤを関連付けることが可能である。さらに、ＰＣ１は、ユーザ名に関連付けられて登録されているユーザＩＤをユーザ登録ＤＢ４２から読み出し、読み出したユーザＩＤに対応する印刷枚数の情報を収集された印刷ログから抽出し、抽出された印刷枚数の情報をユーザ名ごとに纏めた出力データを生成して出力する。【選択図】図１
2020197809.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータによって実行可能なプログラムであって、
前記コンピュータに、
複数のプリンタによってそれぞれ生成された複数の印刷ログを収集する収集処理を実行させ、前記複数の印刷ログには、印刷量を示す印刷量情報と前記印刷量情報の分類を示す第１分類情報とが含まれ、
さらに前記コンピュータに、
前記収集処理によって収集された前記印刷ログに含まれる前記第１分類情報に関連付ける第２分類情報を、前記情報処理装置のユーザインタフェースを介して受け付ける登録対象受付処理と、
前記登録対象受付処理によって受け付けられた前記第２分類情報を、前記第１分類情報に関連付けて第１データベースに登録する分類情報登録処理と、を実行させ、１つの前記第２分類情報には、複数の前記第１分類情報を関連付けることが可能であり、
さらに前記コンピュータに、
前記第２分類情報に関連付けられて前記第１データベースに登録されている複数の前記第１分類情報を前記第１データベースから読み出し、読み出した前記第１分類情報によって分類が示される前記印刷量情報を、前記収集処理によって収集された前記複数の印刷ログから抽出する抽出処理と、
前記抽出処理によって抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する出力データを生成し、生成した前記出力データを、前記情報処理装置の出力インタフェースを介して出力する出力処理と、
を実行させる、
ことを特徴とするプログラム。
【請求項２】
請求項１に記載するプログラムにおいて、
前記登録対象受付処理では、
前記収集処理によって収集された前記印刷ログに含まれる前記第１分類情報のうち前記第１データベースに登録されていない前記第１分類情報である未登録第１分類情報を抽出し、抽出した前記未登録第１分類情報に関連付ける前記第２分類情報の入力を促す報知出力を前記出力インタフェースを介して行い、前記報知出力を行った後、前記第２分類情報を、前記ユーザインタフェースを介して受け付ける、
ことを特徴とするプログラム。
【請求項３】
請求項１または請求項２に記載するプログラムにおいて、
前記複数のプリンタには、前記印刷ログを記憶する外部デバイスの記憶場所を示す宛先情報が設定され、前記複数のプリンタは、設定された前記宛先情報に示される前記外部デバイスの前記記憶場所に、前記印刷ログを送信して記憶させるように構成されており、
前記収集処理では、
前記複数のプリンタの識別情報と前記宛先情報とが関連付けられた第２データベースに基づいて、前記複数のプリンタに対応する前記宛先情報を特定し、前記複数のプリンタによって生成された前記複数の印刷ログを、特定した前記宛先情報に示される前記外部デバイスの前記記憶場所から収集する、
ことを特徴とするプログラム。
【請求項４】
請求項３に記載するプログラムにおいて、
前記コンピュータに、
前記印刷ログの収集対象となるプリンタである対象プリンタの前記宛先情報を、前記ユーザインタフェースを介して受け付ける宛先情報受付処理と、
前記宛先情報受付処理によって受け付けられた前記宛先情報を、前記対象プリンタの識別情報と関連付けて前記第２データベースに登録するプリンタ情報登録処理と、
を実行させ、
さらに前記コンピュータに、
前記宛先情報受付処理によって受け付けられた前記宛先情報を、前記対象プリンタに送信する送信処理を実行させ、前記宛先情報を受信した前記対象プリンタは、受信した前記宛先情報に示される前記外部デバイスの前記記憶場所を、前記印刷ログの記憶先に設定し、設定された前記外部デバイスの前記記憶場所に前記印刷ログを送信して記憶させる、
ことを特徴とするプログラム。
【請求項５】
請求項１から請求項４のいずれか１つに記載するプログラムにおいて、
前記コンピュータに、
前記登録対象受付処理では、前記第２分類情報として用いるユーザ名を、前記複数の印刷ログとは異なる取得元から取得し、前記第１分類情報は、ユーザを識別するユーザＩＤであり、前記複数のプリンタが生成する前記複数の印刷ログには、前記複数のプリンタが前記ユーザＩＤを指定された印刷ジョブの印刷を行った場合であって、前記印刷ジョブの印刷の印刷量を示す前記印刷量情報と、前記印刷ジョブに指定された前記ユーザＩＤとを対応付けた印刷レコードが含まれ、
前記抽出処理では、
前記ユーザ名に関連付けられて前記第１データベースに登録されている複数の前記ユーザＩＤを前記第１データベースから読み出し、読み出した前記ユーザＩＤによって分類が示される前記印刷量情報を、前記収集処理によって収集された前記複数の印刷ログから抽出し、
前記出力処理では、
前記抽出処理によって抽出された前記印刷量情報を前記ユーザ名ごとに纏めた態様に対応する前記出力データを生成し、生成した前記出力データを、前記出力インタフェースを介して出力する、
ことを特徴とするプログラム。
【請求項６】
請求項１から請求項５のいずれか１つに記載するプログラムにおいて、
前記出力処理では、
複数の前記第１分類情報が属するグループを示すグループ情報が登録された第３データベースに基づいて、前記抽出処理によって前記第１データベースから読み出された前記第１分類情報が属する前記グループに示された出力態様を特定し、前記抽出処理によって抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する前記出力データであって、特定した前記出力態様に示される態様に対応する前記出力データを生成し、生成した前記出力データを前記出力インタフェースを介して出力する、
ことを特徴とするプログラム。
【請求項７】
請求項１から請求項６のいずれか１つに記載するプログラムにおいて、
前記出力処理では、
前記抽出処理によって抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する前記出力データであって、特定プリンタに対応する単位値と、前記抽出処理によって抽出された前記印刷量情報が示す前記印刷量と、に基づく態様に対応する前記出力データを生成し、生成した前記出力データを前記出力インタフェースを介して出力し、前記単位値は、前記複数のプリンタそれぞれに対応する、前記印刷ログに含まれる前記印刷量情報に示される前記印刷量に対する単位当たりの値であり、前記特定プリンタは、前記複数の印刷ログのうち、前記抽出処理によって抽出された前記印刷量情報を含む前記印刷ログを生成したプリンタである、
ことを特徴とするプログラム。
【請求項８】
請求項７に記載するプログラムにおいて、
前記単位値は、プリンタの特徴情報に応じて異なる値であり、
前記コンピュータに、
前記複数のプリンタの少なくとも１つを対象に前記特徴情報を取得する特徴情報取得処理を実行させ、
前記出力処理では、
前記抽出処理によって抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する前記出力データであって、前記特定プリンタを対象にして前記特徴情報取得処理によって取得された前記特徴情報に応じた前記単位値と、前記抽出処理によって抽出された前記印刷量情報が示す印刷量と、に基づく態様に対応する前記出力データを生成し、生成した前記出力データを前記出力インタフェースを介して出力する、
ことを特徴とするプログラム。
【請求項９】
請求項８に記載するプログラムにおいて、
前記特徴情報取得処理では、
プリンタのモデルを示すモデル識別情報とプリンタの能力を示す能力情報とのうち少なくとも一方を前記特徴情報として取得し、
前記コンピュータに、
前記特徴情報取得処理によって取得された前記特徴情報に応じた前記単位値の初期値である初期単位値を、前記モデル識別情報と前記能力情報との少なくとも一方と前記初期単位値とが関連付けられた第４データベースから読み出し、読み出した前記初期単位値を編集する操作を、前記情報処理装置のユーザインタフェースを介して受け付け、受け付けた操作に応じて前記初期単位値を編集した値を、前記特徴情報取得処理によって前記特徴情報の取得対象となったプリンタに対応する前記単位値として第５データベースに登録する単位値登録処理を実行させ、
前記出力処理では、
前記抽出処理によって抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する前記出力データであって、前記特定プリンタに対応する前記単位値を前記第５データベースから読み出した前記単位値と、前記抽出処理によって抽出された前記印刷量情報が示す印刷量と、に基づく態様に対応する前記出力データを生成し、生成した前記出力データを前記出力インタフェースを介して出力する、
ことを特徴とするプログラム。
【請求項１０】
請求項９に記載するプログラムにおいて、
前記特徴情報取得処理では、
前記単位値登録処理の対象とするプリンタを示すプリンタ識別情報と、前記モデル識別情報と、前記能力情報と、のうち少なくとも１つを、単位値分類情報として前記ユーザインタフェースを介して受け付け、
前記単位値登録処理では、
前記単位値と、前記特徴情報取得処理によって受け付けられた前記単位値分類情報によって分類される前記プリンタ識別情報と、を対応付けて前記第５データベースに登録し、
前記出力処理では、
前記第５データベースに登録されている前記プリンタ識別情報によって示されるプリンタが前記特定プリンタであった場合、前記特定プリンタを示す前記プリンタ識別情報と対応付けて前記第５データベースに登録されている前記単位値を前記第５データベースから読み出し、読み出した前記単位値と、前記抽出処理によって抽出された前記印刷量情報が示す印刷量と、に基づく態様に対応する前記出力データを生成し、生成した前記出力データを前記出力インタフェースを介して出力する、
ことを特徴とするプログラム。
【請求項１１】
請求項７から請求項１０のいずれか１つに記載するプログラムにおいて、
前記コンピュータに、
前記第１データベースによって前記第２分類情報を特定し、特定した前記第２分類情報である特定第２分類情報によって分類が示される前記印刷ログの前記印刷量情報を、前記収集処理によって収集された前記複数の印刷ログから抽出し、抽出した前記印刷量情報と前記単位値とに基づいて評価値を算出し、算出した前記評価値が閾値を超えた場合、前記第１データベースによって前記特定第２分類情報に関連付けられる前記第１分類情報が指定された印刷ジョブの印刷を制限する制限コマンドを、前記複数のプリンタに送信する制限処理を実行させる、
ことを特徴とするプログラム。
【請求項１２】
コンピュータと、
ユーザインタフェースと、
出力インタフェースと、
を備える管理装置であって、
前記コンピュータは、
複数のプリンタによってそれぞれ生成された複数の印刷ログを収集する収集処理を実行し、前記複数の印刷ログには、印刷量を示す印刷量情報と前記印刷量情報の分類を示す第１分類情報とが含まれ、
さらに前記コンピュータに、
前記収集処理によって収集された前記印刷ログに含まれる前記第１分類情報に関連付ける第２分類情報を、前記ユーザインタフェースを介して受け付ける登録対象受付処理と、
前記登録対象受付処理によって受け付けられた前記第２分類情報を、前記第１分類情報に関連付けて第１データベースに登録する分類情報登録処理と、を実行し、１つの前記第２分類情報には、複数の前記第１分類情報を関連付けることが可能であり、
さらに前記コンピュータに、
前記第２分類情報に関連付けられて前記第１データベースに登録されている複数の前記第１分類情報を前記第１データベースから読み出し、読み出した前記第１分類情報によって分類が示される前記印刷量情報を、前記収集処理によって収集された前記複数の印刷ログから抽出する抽出処理と、
前記抽出処理によって抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する出力データを生成し、生成した前記出力データを、前記出力インタフェースを介して出力する出力処理と、
を実行する、
ことを特徴とする管理装置。
【請求項１３】
複数のプリンタと、管理装置と、を備える印刷システムにおいて、
前記複数のプリンタは、
第１分類情報が付された印刷ジョブを受信し、前記印刷ジョブに基づく印刷を実行し、実行した印刷に応じて印刷ログを生成し、前記印刷ログには、実行した印刷の印刷量を示す印刷量情報と、前記印刷量情報の分類を示す前記第１分類情報と、が含まれ、
前記管理装置は、
前記複数のプリンタによってそれぞれ生成された複数の印刷ログを収集し、
さらに前記管理装置は、
収集された前記印刷ログに含まれる前記第１分類情報に関連付ける第２分類情報を、前記管理装置のユーザインタフェースを介して受け付け、
受け付けられた前記第２分類情報を、前記第１分類情報に関連付けて第１データベースに登録し、１つの前記第２分類情報には、複数の前記第１分類情報を関連付けることが可能であり、
さらに前記管理装置は、
前記第２分類情報に関連付けられて前記第１データベースに登録されている複数の前記第１分類情報を前記第１データベースから読み出し、読み出した前記第１分類情報によって分類が示される前記印刷量情報を、収集された前記複数の印刷ログから抽出し、
抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する出力データを生成し、生成した前記出力データを、前記管理装置の出力インタフェースを介して出力する、
を特徴とする印刷システム。
【請求項１４】
請求項１３に記載する印刷システムにおいて、
前記複数のプリンタは、
生成した前記印刷ログを、外部デバイスに記憶し、
前記管理装置は、
前記印刷ログを前記外部デバイスから収集する、
ことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、複数のプリンタを管理する管理装置に組み込まれるプログラム、管理装置および印刷システムに関する。
【背景技術】
【０００２】
従来、複数のプリンタを有する印刷システムにおいて、各プリンタの印刷ログを管理装置で管理する技術が知られている。例えば特許文献１には、管理用のＰＣと複数のプリンタとを備えるシステムにおいて、管理用のＰＣが、各プリンタに記憶されている印刷ログを収集し、各印刷ログに含まれるグループ名に基づいて印刷ログを分類し、各印刷ログに含まれるユーザごとの月間の印刷量に基づいて、グループごとのユーザの使用状況を出力する構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１８４８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されている技術では、複数のプリンタで、グループの情報、ユーザの情報、ユーザごとの印刷量の情報等、多くの情報を管理しており、さらにユーザごとの月間の印刷量の集計等、様々な分類処理や統計処理を行っている。そのため、プリンタのメモリ負荷や処理負荷が高く、利用可能なプリンタの自由度が狭くなる。
【０００５】
本明細書は、複数のプリンタの印刷ログを管理装置で管理するシステムに関する技術であって、プリンタのメモリ負荷や処理負荷を軽減する技術を開示する。
【課題を解決するための手段】
【０００６】
この課題の解決を目的としてなされたプログラムは、情報処理装置のコンピュータによって実行可能なプログラムであって、前記コンピュータに、複数のプリンタによってそれぞれ生成された複数の印刷ログを収集する収集処理を実行させ、前記複数の印刷ログには、印刷量を示す印刷量情報と前記印刷量情報の分類を示す第１分類情報とが含まれ、さらに前記コンピュータに、前記収集処理によって収集された前記印刷ログに含まれる前記第１分類情報に関連付ける第２分類情報を、前記情報処理装置のユーザインタフェースを介して受け付ける登録対象受付処理と、前記登録対象受付処理によって受け付けられた前記第２分類情報を、前記第１分類情報に関連付けて第１データベースに登録する分類情報登録処理と、を実行させ、１つの前記第２分類情報には、複数の前記第１分類情報を関連付けることが可能であり、さらに前記コンピュータに、前記第２分類情報に関連付けられて前記第１データベースに登録されている複数の前記第１分類情報を前記第１データベースから読み出し、読み出した前記第１分類情報によって分類が示される前記印刷量情報を、前記収集処理によって収集された前記複数の印刷ログから抽出する抽出処理と、前記抽出処理によって抽出された前記印刷量情報を前記第２分類情報ごとに纏めた態様に対応する出力データを生成し、生成した前記出力データを、前記情報処理装置の出力インタフェースを介して出力する出力処理と、を実行させる、ことを特徴としている。
【０００７】
本明細書に開示されるプログラムを実行することで情報処理装置は、第１分類情報に関連付ける第２分類情報を受け付けて、第１データベースに登録する。さらに、情報処理装置は、複数のプリンタによって生成された複数の印刷ログを収集し、収集した複数の印刷ログから、１つの第２分類情報に関連付けられる複数の第１分類情報によって分類された印刷量情報を抽出し、抽出された印刷量情報を第２分類情報ごとに纏めた出力データを出力する。この構成によれば、複数の第１分類情報が対応する第２分類情報であっても、第２分類情報によって纏められた出力データが出力されるので、情報処理装置による印刷ログの管理処理の高機能化が期待できる。
【０００８】
上記プログラムが組み込まれた管理装置、管理装置とプリンタとを含む印刷システム、プログラムを格納するコンピュータにて読取可能な記憶媒体、及びプログラムの機能を実現するための制御方法も、新規で有用である。
【発明の効果】
【０００９】
本明細書に開示される技術によれば、複数のプリンタの印刷ログを管理装置で管理するシステムに関する技術であって、管理装置の処理の高機能化を図る技術が実現される。
【図面の簡単な説明】
【００１０】
【図１】印刷システムの概略構成を示すブロック図である。
【図２】プリンタ管理処理の手順を示すフローチャートである。
【図３】ログ更新処理の手順を示すフローチャートである。
【図４】ログ情報ＤＢの例を示す説明図である。
【図５】ユーザ登録処理の手順を示すフローチャートである。
【図６】ユーザ登録ＤＢの例を示す説明図である。
【図７】ユーザ登録のための入力フォームの例を示す説明図である。
【図８】グループ登録ＤＢの例を示す説明図である。
【図９】印刷制限処理の手順を示すフローチャートである。
【図１０】閾値登録ＤＢの例を示す説明図である。
【図１１】プリンタ登録処理の手順を示すフローチャートである。
【図１２】プリンタ登録ＤＢの例を示す説明図である。
【図１３】係数情報ＤＢの例を示す説明図である。
【図１４】管理情報出力処理の手順を示すフローチャートである。
【図１５】使用量データの出力例を示す説明図である。
【発明を実施するための形態】
【００１１】
印刷システムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ（以下、「ＰＣ」とする）と複数のプリンタとを含む印刷システムであって、ＰＣによって複数のプリンタを管理する印刷システムを開示するものである。
【００１２】
本形態の印刷システム１００は、図１に示すように、ＰＣ１と、複数のプリンタ２〜６と、ファイルサーバ９とを含み、これらが互いにネットワークで接続されて構成されている。ＰＣ１は、情報処理装置及び管理装置の一例である。ＰＣ１に代えて、例えば、タブレットコンピュータ、スマートフォンであってもよい。ファイルサーバ９は、外部デバイスの一例である。
【００１３】
プリンタ２〜６は、いずれも印刷機能と通信機能とを有する装置である。プリンタ２〜６は、図１に示すように、ＰＣ１及びファイルサーバ９と通信可能であり、不図示の各種の装置から受信した印刷ジョブに基づく印刷や、自装置の操作部にて受け付けた印刷ジョブに基づく印刷を実行可能である。なお、プリンタ２〜６は、同じモデルであっても良いし、異なるモデルであっても良い。また、それぞれの設置場所は、同じ場所でも異なる場所でも良い。
【００１４】
プリンタ２〜６は、受け付けた印刷ジョブの印刷を実行した場合、実行した印刷ジョブごとに１つの印刷ログレコードを作成し、所定の記憶場所に記憶する。プリンタ２〜６は、印刷ログレコードの記憶場所の情報を自装置に記憶している。本形態では、記憶場所としてファイルサーバ９が指定されており、プリンタ２〜６は、作成した印刷ログレコードをファイルサーバ９に送信する。印刷ジョブには、その印刷ジョブの実行を指示したユーザを示す情報であるユーザＩＤの情報が付与されており、プリンタ２〜６が作成する印刷ログレコードには、少なくとも、当該印刷ジョブのユーザＩＤの情報と、印刷を実行した用紙枚数または印刷面数等の印刷数の情報と、が含まれる。印刷ログレコードは、印刷レコードの一例である。
【００１５】
なお、プリンタ２〜６は、印刷を実行する度に印刷ログレコードをファイルサーバ９に送信してもよいし、作成した印刷ログレコードを一旦自装置のメモリに記憶し、１時間ごと等の定期的にまとめてファイルサーバ９に送信してもよい。ファイルサーバ９がＰＣ１とは異なる装置であることから、ＰＣ１が起動していなくても、各プリンタ２〜６は、印刷ログレコードの送信が可能である。
【００１６】
また、プリンタ２〜６は、自装置のメモリに印刷制限に関する情報を備え、受信した印刷ジョブに基づく印刷を実行するか否かを判断して、実行しないと判断した場合には印刷を制限する機能を有している。つまり、プリンタ２〜６は、受け付けた印刷ジョブの実行を指示したユーザのユーザＩＤが制限対象として記憶されているユーザＩＤに含まれている場合には、印刷を実行しない。印刷制限に関する情報は、例えば、印刷を許可されるユーザＩＤの情報、印刷を制限されるユーザＩＤの情報、である。ＰＣ１は、印刷制限の対象となるユーザＩＤを指定して、印刷を制限する指示または制限を解除する指示をプリンタ２〜６に送信する場合がある。プリンタ２〜６は、例えば、ＰＣ１から受信した指示に基づいて、自装置のメモリに備えられる印刷制限に関する情報を更新する。
【００１７】
ファイルサーバ９は、通信機能と記憶機能とを有する装置である。ファイルサーバ９は、図１に示すように、ＰＣ１及びプリンタ２〜６と通信可能であり、プリンタ２〜６から受信した印刷ログレコードを含む印刷ログ５１を記憶する。ファイルサーバ９は、例えば、送信元のプリンタごとに個別のフォルダとしての印刷ログ５１を備え、各プリンタ２〜６は、それぞれ決められたフォルダである印刷ログ５１を宛先に指定して印刷ログレコードを送信する。なお、ファイルサーバ９は、インターネットを介してアクセス可能なクラウドサーバであっても良い。
【００１８】
本形態のＰＣ１は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含む制御基板１０を備えている。さらに、ユーザインタフェース（以下、「ユーザＩＦ」とする）１５と、通信インタフェース（以下、「通信ＩＦ」とする）１６と、を備え、これらが制御基板１０に電気的に接続されている。ＣＰＵ１１は、コンピュータの一例である。
【００１９】
ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４は、メモリの一例であり、メモリの一例はいずれも、コンピュータが読み取り可能なストレージ媒体の一例である。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２０】
ＲＯＭ１２には、ＰＣ１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のアプリケーションプログラム（以下、「アプリ」とする）などのプログラムや画像データ等のデータ、各種設定を記憶する領域として利用される。
【００２１】
ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。なお、図１中の制御基板１０は、ＰＣ１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＰＣ１に存在する単一のハードウェアを表すとは限らない。
【００２２】
ユーザＩＦ１５は、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアを含む。すなわち、ユーザＩＦ１５は、入力を受け付ける機能と表示する機能との両方を備える。ユーザＩＦ１５は、タッチパネル等の入力機能と表示機能との両方を備えるデバイスであっても良いし、ディスプレイとキーボードやマウスとの組み合わせであっても良い。ユーザＩＦ１５による表示は、出力データの出力の一例であり、ユーザＩＦ１５は、出力インタフェースの一例である。
【００２３】
通信ＩＦ１６は、各種の外部装置と通信を行うためのハードウェアを含む。通信ＩＦ１６の通信方式は、無線でも有線でもよく、複数の通信方式に対応していても良い。通信ＩＦ１６は、ＬＡＮ、Ｗｉ−Ｆｉ（登録商標）などによるネットワーク通信を含み、さらに、ＵＳＢ通信、ブルートゥース（登録商標）等の近距離通信などの１対１通信も含んでも良い。通信ＩＦ１６による送信は、出力データの出力の一例であり、通信ＩＦ１６は、出力インタフェースの一例である
【００２４】
ＰＣ１の不揮発性メモリ１４には、オペレーティングシステム（以下、「ＯＳ」とする）４０と、プリンタ管理アプリ４１と、各種のデータベース（以下「ＤＢ」とする）４２〜４７と、を含む、各種のプログラムやデータが記憶されている。ＯＳ４０は、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）、ｉＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、である。なお、ＯＳ４０の一部は、ＲＯＭ１２に含まれていてもよい。プリンタ管理アプリ４１は、プログラムの一例である。
【００２５】
続いて、本形態のプリンタ管理アプリ４１について説明する。なお、以下の説明における処理およびフローチャートの各処理ステップは、基本的に、プリンタ管理アプリ４１などのプログラムに記述された命令に従ったＣＰＵ１１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１１の処理を表している。ＣＰＵ１１による処理は、ＰＣ１のＯＳ４０の他のモジュールとデータ交換するためのＩＦ（ＡＰＩとも呼ばれる）を用いたハードウェア制御も含む。本明細書では、ＯＳ４０の記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＰがハードウェアＨを制御する」という趣旨の記載は、「プログラムＰがＯＳ４０のＡＰＩを用いてハードウェアＨを制御する」ことを指してもよい。
【００２６】
また、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１１が要求することなくデータを受信するという処理も、「ＣＰＵ１１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【００２７】
また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、省略した文言で記載することがある。例えば、「ＣＰＵ１１が行う」、「プリンタ管理アプリ４１が行う」のように記載することがある。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、「プログラムＡが行う」のようにＣＰＵを省略した文言で記載することがある。また、ＣＰＵ１１による処理であって、情報Ａが事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。また、ＣＰＵ１１による処理であって、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであることを示しているかを判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００２８】
本形態のプリンタ管理アプリ４１は、複数のプリンタ２〜６をＰＣ１にて管理するためのアプリである。本形態のプリンタ管理アプリ４１によるプリンタ管理処理の手順について、図２のフローチャートを参照して説明する。この処理は、プリンタ管理アプリ４１の起動を受け付けたことを契機に、ＣＰＵ１１にて実行される。なお、プリンタ管理アプリ４１の起動には、管理者権限によるログインが必要であっても良い。以下では、プリンタ管理アプリ４１を使用するユーザを、プリンタ２〜６を使用するユーザと区別して、「管理者」とする。
【００２９】
ＣＰＵ１１は、プリンタ管理アプリ４１が起動されると、まず、ログ更新処理を実行する（Ｓ１０１）。ログ更新処理は、プリンタ２〜６によって記憶された印刷ログ５１をその記憶場所から取得し、取得した印刷ログ５１を用いて、ＰＣ１の不揮発性メモリ１４に記憶されているログ情報ＤＢ４５（図１参照）の内容を更新する処理である。ログ更新処理の手順について、図３のフローチャートを参照して説明する。なお、印刷ログ５１の記憶場所の設定については、後述する。
【００３０】
ログ更新処理では、ＣＰＵ１１は、まず、印刷ログ５１の記憶場所から複数の印刷ログ５１を取得する（Ｓ２０１）。そして、ＣＰＵ１１は、取得した各印刷ログ５１に含まれる印刷ログレコードを１レコードずつ確認する。具体的には、ＣＰＵ１１は、印刷ログ５１から１レコード分の印刷ログレコードを取得し（Ｓ２０２）、取得した印刷ログレコードと同じ情報を含むレコードが、既にログ情報ＤＢ４５に含まれているか否かを判断する（Ｓ２０３）。以下では、ログ情報ＤＢ４５に含まれるレコードを、プリンタ２〜６が作成した印刷ログレコードと区別して、「ログＤＢレコード」とする。ログＤＢレコードは、印刷ログレコードに基づいて作成されるレコードであり、印刷ログレコードと同じ情報を含む。Ｓ２０３では、ＣＰＵ１１は、例えば、取得した印刷ログレコードを作成したプリンタを示すプリンタＩＤと、その印刷ログレコードに含まれる印刷実行日時または印刷ジョブ名と、が含まれるログＤＢレコードがログ情報ＤＢ４５に存在するか否かを判断する。
【００３１】
なお、例えば、印刷ログレコードにユニークな通し番号が含まれていれば、ＣＰＵ１１は、Ｓ２０３の判断をその通し番号を用いて行っても良い。また、前回のログ更新日時を記憶して、それ以後に記憶された印刷ログレコードのみを取得するように構成しても良く、その場合には、Ｓ２０３の判断を行わずにＳ２０４に進んでも良い。
【００３２】
ログ情報ＤＢ４５は、印刷ログ５１に基づく情報を記憶するデータベースであり、例えば、図４に示すように、プリンタＩＤ４５１、ユーザＩＤ４５２、印刷ジョブ名４５３、印刷実行日時４５４、印刷数４５５、の各情報が関連付けられたログＤＢレコードを含む。プリンタＩＤ４５１は、このログＤＢレコードと同じ情報を含む印刷ログレコードを作成したプリンタ、すなわち、この印刷ログレコードによって示される印刷を実行したプリンタを識別する情報である。ＰＣ１は、例えば、印刷ログレコードを読み出したフォルダの情報に基づいて、プリンタＩＤ４５１を決定し、各ログＤＢレコードに付与する。なお、プリンタＩＤ４５１は、プリンタ２〜６が生成する印刷ログレコードに含まれていても良い。
【００３３】
ユーザＩＤ４５２は、印刷ジョブの生成元を示す情報であり、印刷ジョブの実行を指示したユーザを識別する情報である。ユーザＩＤ４５２は、第１分類情報の一例である。ユーザＩＤ４５２及び印刷ジョブ名４５３は、印刷ジョブの生成元によって印刷ジョブに付与される情報であり、プリンタ２〜６にて取得可能な情報である。なお、印刷ジョブの生成元は、例えば、Ｗｉｎｄｏｗｓ等のＯＳを搭載したＰＣやモバイル装置であり、印刷ログレコードに含まれるユーザＩＤは、そのＯＳが用いているユーザＩＤである。そして、プリンタ２〜６は、前述したように、受け付けた印刷ジョブのユーザＩＤに基づいて、印刷制限を実行することができる。
【００３４】
印刷ジョブ名４５３は、印刷ジョブを識別する情報であり、例えば、印刷対象のファイル名等が用いられる。印刷実行日時４５４は、その印刷ジョブの印刷の実行が指示された日時を示す情報である。印刷数４５５は、その印刷ジョブにて印刷を実行した量を示す情報である。印刷数４５５は、印刷した用紙の枚数でもよいし、印刷した印刷面の数でも良い。例えば、両面印刷を行った場合、用紙の枚数は１であり、印刷面は２である。以下では、印刷数４５５として、印刷用紙の枚数を用いる場合について説明する。印刷数４５５は、印刷量を示す情報の一例であり、印刷量情報の一例である。なお、プリンタ２〜６が作成する印刷ログレコードは、図４に示したログ情報ＤＢ４５と同一の形式である必要はなく、例えば、プリンタごとに異なる形式であっても良い。
【００３５】
取得した印刷ログレコードに対応するログＤＢレコードがログ情報ＤＢ４５に含まれていないと判断した場合（Ｓ２０３：ＮＯ）、ＣＰＵ１１は、その印刷ログレコードのユーザＩＤ４５２の、不揮発性メモリ１４に記憶されているユーザ登録ＤＢ４２（図１参照）への登録状況を判断する（Ｓ２０４）。ユーザ登録ＤＢ４２は、プリンタ管理アプリ４１にて登録を受け付けたユーザの情報を記憶するデータベースである。ＣＰＵ１１は、ユーザＩＤ４５２がユーザ登録ＤＢ４２に登録されていない、または、ユーザＩＤ４５２に関連付けられたユーザ名等の情報が未登録である（例えば、「ゲストユーザ」となっている）場合に、Ｓ２０４にてＮＯと判断する。
【００３６】
ユーザＩＤ４５２の情報が未登録であると判断した場合（Ｓ２０４：ＮＯ）、ＣＰＵ１１は、ユーザ登録処理を実行する（Ｓ２０５）。ユーザ登録処理は、プリンタ２〜６を使用するユーザの情報を、ユーザ登録ＤＢ４２に登録する処理である。ユーザ登録処理の手順について、図５のフローチャートを参照して説明する。なお、ユーザ登録処理は、Ｓ２０４にてＮＯと判断された場合だけでなく、後述するように、管理者による実行指示によっても実行される。
【００３７】
ユーザ登録ＤＢ４２は、例えば、図６に示すように、ユーザＩＤ４２１、ユーザ名４２２、付帯情報４２３、の各情報が関連付けられたレコードを含む。ユーザ登録ＤＢ４２は、第１データベースの一例である。ユーザＩＤ４２１は、登録対象のユーザを識別する情報であり、ログ情報ＤＢ４５のユーザＩＤ４５２に対応する情報である。ユーザＩＤ４２１は、第１分類情報の一例である。
【００３８】
ユーザ名４２２は、例えば、プリンタ管理アプリ４１にてプリンタ２〜６を管理するための情報を出力する際に、ユーザ名として表示させる名称である。管理者は、ユーザを識別するのに分かり易い名称をユーザ名４２２として設定する。ユーザ名４２２は、ユーザＩＤ４２１と同じでも良いし、異なっていても良い。ユーザ名４２２は、第２分類情報の一例である。付帯情報４２３は、例えば、当該ユーザの所属部署やプリンタ利用の料金プランを示す情報である。
【００３９】
なお、ユーザ登録ＤＢ４２では、例えば、図６に示すように、複数のユーザＩＤ４２１に対して、同じユーザ名４２２を設定することができる。例えば、ＰＣとモバイル装置とで異なるアカウントを使用するユーザの場合、それぞれの装置から印刷を指示した印刷ジョブの印刷ログレコードには、異なるユーザＩＤ４５２が記憶される可能性が高い。管理者は、複数のアカウントを使用するユーザについて、複数のユーザＩＤ４２１に対して１つのユーザ名４２２を設定することができる。異なるユーザＩＤ４２１に同じユーザ名４２２が設定された場合、プリンタ管理アプリ４１は、ユーザ名４２２が同じ全てのユーザＩＤ４２１に関する情報を同じユーザの情報として纏めることができる。
【００４０】
ユーザ登録処理では、ＣＰＵ１１は、例えば、図７に示すように、ユーザ登録ＤＢ４２に登録する各情報の入力を受け付ける入力フォーム６１をユーザＩＦ１５に表示させる（Ｓ３０１）。Ｓ３０１は、登録対象受付処理の一例である。入力フォーム６１は、ユーザ登録ＤＢ４２の更新に用いる情報の入力を受け付けるためのフォームであり、登録済みのユーザの情報６１１、新規のユーザの入力欄６１２、ユーザ追加欄６１３、入力完了ボタン６１４、を含む。登録済みのユーザの情報６１１には、ユーザ登録ＤＢ４２にすでに登録されているユーザに関する情報であって、ユーザ登録ＤＢ４２から読み出した各ユーザの情報が表示される。
【００４１】
新規のユーザの入力欄６１２には、例えば、印刷ログレコードのユーザＩＤ４５２であって、ユーザ登録ＤＢ４２に未登録のユーザＩＤと、仮のユーザ名としての「ゲストユーザ」と、が表示される。ユーザＩＤ４５２は未登録第１分類情報の一例であり、入力フォーム６１中の新規のユーザの入力欄６１２の表示は、報知出力の一例である。印刷ログレコードに含まれる未登録のユーザＩＤ４５２に関する情報の入力を受け付けることで、ユーザ登録ＤＢ４２への無駄な登録を回避できる。ユーザ追加欄６１３は、全ての情報が空欄の入力欄である。
【００４２】
入力フォーム６１には、例えば、図７に示すように、グループ名の入力を受け付けるグループ名入力欄も設けられている。そして、ユーザ登録処理では、ユーザの所属するグループの設定をも受け付ける。
【００４３】
ＣＰＵ１１は、入力フォーム６１への入力を受け付けたか否かを判断する（Ｓ３０２）。ＣＰＵ１１は、入力フォーム６１の各欄への入力を検知することで情報の入力を受け付ける。そして、入力を受け付けたと判断した場合（Ｓ３０２：ＹＥＳ）、受け付けた入力に基づいて、入力フォーム６１の表示を更新させる（Ｓ３０３）。例えば、入力を受け付けたユーザ名がすでにユーザ登録ＤＢ４２に登録されているユーザ名と同じであった場合、ＣＰＵ１１は、登録済みのユーザ名に関連付けられている情報を入力フォーム６１に表示させる。なお、登録済みのユーザ名の入力を受け付けた場合、同じユーザ名が複数のユーザＩＤに共通して登録されることを示すメッセージを表示し、管理者の承認を受け付けても良い。そして、承認が得られた場合に入力フォーム６１に表示するとしても良い。
【００４４】
Ｓ３０３の後、または、入力フォーム６１への入力を受け付けていないと判断した場合（Ｓ３０２：ＮＯ）、ＣＰＵ１１は、入力完了の指示を受け付けたか否かを判断する（Ｓ３０４）。ＣＰＵ１１は、入力完了ボタン６１４への操作によって入力完了の指示を受け付ける。入力完了の指示を受け付けていないと判断した場合（Ｓ３０４：ＮＯ）、ＣＰＵ１１は、Ｓ３０２に戻って、さらに入力を受け付ける。
【００４５】
入力完了の指示を受け付けたと判断した場合（Ｓ３０４：ＹＥＳ）、ＣＰＵ１１は、入力フォーム６１に表示している情報に基づいて、ユーザ登録ＤＢ４２を更新する（Ｓ３０５）。Ｓ３０５は、分類情報登録処理の一例である。ＣＰＵ１１は、例えば、新規のユーザの入力欄６１２に表示中の情報を含むログＤＢレコードを作成し、作成したログＤＢレコードをユーザ登録ＤＢ４２に追加する。新規のユーザの入力欄６１２に基づいてユーザ登録ＤＢ４２に追加されるログＤＢレコードのユーザ名は、ＣＰＵ１１が自動的に付けた「ゲストユーザ」または管理者による入力を受け付けたユーザ名であり、印刷ログ５１とは異なる取得元から取得されたユーザ名である。また、ＣＰＵ１１は、ユーザ追加欄６１３に新たなユーザの情報が入力された場合には、表示中の情報を含むログＤＢレコードを作成してユーザ登録ＤＢ４２に追加する。
【００４６】
ＣＰＵ１１は、登録対象のユーザについて、所属するグループ名の入力を入力フォーム６１にて受け付けたか否かを判断する（Ｓ３０６）。グループ名の入力を受け付けたと判断した場合（Ｓ３０６：ＹＥＳ）、ＣＰＵ１１は、グループ登録ＤＢ４３（図１参照）を更新する（Ｓ３０７）。Ｓ３０７は、分類情報登録処理の一例である。
【００４７】
グループ登録ＤＢ４３は、例えば、図８に示すように、グループＩＤ４３１、グループ名４３２、グループ内ユーザＩＤ４３３、の各情報が関連付けられたレコードを含む。グループＩＤ４３１は、グループを識別する情報である。グループ名４３２は、例えば、プリンタ管理アプリ４１にてプリンタ２〜６を管理するための情報を出力する際に、グループ名として表示させる名称である。グループ名４３２は、入力フォーム６１のグループ名入力欄に入力された名称である。グループ内ユーザＩＤ４３３は、そのグループに所属する各ユーザのユーザＩＤであり、入力フォーム６１にてグループ名入力欄と対応付けて表示されていたユーザＩＤである。グループ登録ＤＢ４３は、第３データベースの一例であり、グループ名４３２は、グループ情報の一例である。
【００４８】
Ｓ３０７では、ＣＰＵ１１は、入力されたグループ名が、グループ登録ＤＢ４３に既に記憶済みのグループＩＤ４３１またはグループ名４３２と一致していれば、登録対象のユーザのユーザＩＤ４２１を、当該グループのグループ内ユーザＩＤ４３３に追加する。また、ＣＰＵ１１は、グループ登録ＤＢ４３に既に記憶済みのグループＩＤ４３１またはグループ名４３２の中に、入力されたグループ名と一致するものが無ければ、新たなグループを作成する。
【００４９】
Ｓ３０７の後、または、グループ名の入力を受け付けていないと判断した場合（Ｓ３０６：ＮＯ）、ＣＰＵ１１は、ユーザ登録処理を終了して、図３のログ更新処理に戻る。
【００５０】
図３のログ更新処理の説明に戻る。Ｓ２０５のユーザ登録処理の後、または、ユーザＩＤ４５２が登録済みであると判断した場合（Ｓ２０４：ＹＥＳ）、ＣＰＵ１１は、Ｓ２０２にて取得した１つの印刷ログレコードに対応するログＤＢレコードをログ情報ＤＢ４５に追加する（Ｓ２０６）。Ｓ２０６は、収集処理の一例である。
【００５１】
そして、Ｓ２０６の後、または、Ｓ２０２にて取得した印刷ログレコードに対応するログＤＢレコードが既にログ情報ＤＢ４５に記憶済みであると判断した場合（Ｓ２０３：ＹＥＳ）、ＣＰＵ１１は、Ｓ２０１にてファイルサーバ９から取得した印刷ログ５１の全ての印刷ログレコードについて処理が終了したか否かを判断する（Ｓ２０７）。処理済みでない印刷ログレコードがあると判断した場合（Ｓ２０７：ＮＯ）、ＣＰＵ１１は、Ｓ２０２に戻って、次の印刷ログレコードについて処理を行う。全ての印刷ログレコードの処理が終了したと判断した場合（Ｓ２０７：ＹＥＳ）、ＣＰＵ１１は、ログ更新処理を終了して、図２のプリンタ管理処理に戻る。
【００５２】
図２のプリンタ管理処理の説明に戻る。ＣＰＵ１１は、Ｓ１０１のログ更新処理の後、印刷制限処理を実行する（Ｓ１０２）。印刷制限処理は、ログ更新処理にて更新されたログ情報ＤＢ４５の情報に基づいて、印刷制限の設定を行う処理である。印刷制限処理の手順について、図９のフローチャートを参照して説明する。
【００５３】
印刷制限処理では、ＣＰＵ１１は、閾値登録ＤＢ４７（図１参照）を参照し、印刷制限の対象となっているユーザを示す情報を取得する（Ｓ４０１）。閾値登録ＤＢ４７は、例えば、図１０に示すように、制限対象４７１、コスト閾値４７２、制限期間４７３、の各情報が関連付けられたレコードを含み、例えば、管理者によって設定される。制限対象４７１は、ユーザ名またはグループ名の情報であり、そのユーザまたはグループが制限の対象となっていることを示す情報である。
【００５４】
コスト閾値４７２は、制限対象４７１のユーザまたはグループに対してプリンタ２〜６での印刷が許容される範囲を示す情報である。制限期間４７３は、制限対象４７１のユーザまたはグループに対して、コスト閾値４７２による制限が適用される期間を示す情報である。制限期間４７３は、例えば、１ヶ月間等の期間を示す情報でも良いし、日時等の期間の終端を示す情報でも良い。なお、制限期間４７３は、有限の期間が設定されていても良いし、期間が設定されていない、すなわち無期限でも良い。制限期間４７３は、直近の日数等を示す直近期間でも良いし、年月等の所定のタイミングで切り替わる設定期間でも良い。
【００５５】
ＣＰＵ１１は、制限対象４７１に制限期間４７３が設定されているか否かを判断する（Ｓ４０３）。制限期間４７３が設定されていないと判断した場合（Ｓ４０３：ＮＯ）、ＣＰＵ１１は、全期間のログ情報ＤＢ４５から、制限対象４７１に対応する全てのユーザＩＤのログＤＢレコードを抽出する（Ｓ４０４）。制限対象４７１がユーザ名であれば、ＣＰＵ１１は、ユーザ登録ＤＢ４２を参照して、当該ユーザ名が設定されている全てのユーザＩＤのログＤＢレコードを抽出する。制限対象４７１がグループ名であれば、ＣＰＵ１１は、グループ登録ＤＢ４３を参照して、当該グループ名のグループに含まれる全てのユーザＩＤのログＤＢレコードを抽出する。
【００５６】
一方、制限期間４７３に情報が設定されていると判断した場合（Ｓ４０３：ＹＥＳ）、ＣＰＵ１１は、前回のログ更新処理の実行後、今回の処理開始までの間に、期間が更新されたか否かを判断する（Ｓ４０５）。例えば、定期的なタイミングで切り替わる設定期間が設定されている場合、前回のログ更新処理の実行時から今回までの間に，期間の切り替えタイミングを超えた場合に、期間が更新されたと判断する。例えば、設定期間として一ヶ月が設定されており、前回と今回との間に月をまたいだ場合，設定期間として一日が設定されており、前回と今回との間に日をまたいだ場合には、期間が更新されたと判断する。また、期間の終端が設定されている場合、前回のログ更新処理の実行時から今回までの間に，設定された終端を超えた場合に、期間が更新されたと判断する。例えば、所定の日時が期間の終端として設定されており、前回と今回との間にその日時を過ぎた場合には、期間が更新されたと判断する。なお、ログ更新処理は、プリンタ管理アプリ４１の起動時や管理者による実行指示の受付時のみでなく、例えば、定期的な更新タイミングで実行されるようにしても良い。
【００５７】
期間が更新されたと判断した場合（Ｓ４０５：ＹＥＳ）、ＣＰＵ１１は、制限対象４７１に対応する全てのユーザＩＤの制限を解除する指示を含むコマンドを各プリンタ２〜６に送信する（Ｓ４０６）。前述したように、プリンタ２〜６は、自装置のメモリに印刷制限に関する情報を備え、その情報に基づいて、印刷の実行を制限する。プリンタ２〜６は、制限の解除を指示するコマンドを受信したことに応じて、自装置の情報を更新して、以後、そのコマンドで指定されたユーザＩＤの印刷を制限しない。
【００５８】
Ｓ４０６の後、または、期間が更新されていないと判断した場合（Ｓ４０５：ＮＯ）、ＣＰＵ１１は、今期間中のログ情報ＤＢ４５から、制限対象４７１に対応する全てのユーザＩＤのログＤＢレコードを抽出する（Ｓ４０７）。ＣＰＵ１１は、前回の期間の更新後、現在までのログ情報ＤＢ４５から、該当するログＤＢレコードを抽出する。直近の期間が設定されている場合には、今から遡ってその期間内のログＤＢレコードを抽出する。
【００５９】
Ｓ４０４の後、または、Ｓ４０７の後、ＣＰＵ１１は、抽出したログＤＢレコードから、プリンタごとの印刷数を取得し（Ｓ４０８）、制限対象４７１の該当期間中の合計コストを算出する（Ｓ４０９）。合計コストは、プリンタごとの印刷数に当該プリンタのコスト係数を乗算した個別のコストを算出し、さらに、算出した個別のコストを全てのプリンタについて合計した値である。コスト係数は、印刷数に対する単位当たりの値であり、例えば、当該プリンタでの１枚の印刷に掛かる費用を示す係数である。コスト係数は、単位値の一例であり、合計コストは、評価値の一例である。
【００６０】
本形態のプリンタ管理アプリ４１では、各プリンタ２〜６に対してそれぞれコスト係数が設定される。１枚の印刷に対して必要な経費等は、プリンタによって異なる場合がある。例えば、高解像度でのカラー印刷が可能な高級機での１枚の印刷にかかる費用は、低解像度でのモノクロ印刷のみを行う低級機での１枚の印刷にかかる費用に比較して高い可能性が高い。本形態では、各プリンタ２〜６にコスト係数を設定することで、プリンタによる差異を考慮した合計コストを算出する。コスト係数は、管理者が個別に設定しても良いし、プリンタ管理アプリ４１にて自動的に設定しても良い。コスト係数を設定する手順については、後述する。
【００６１】
そして、ＣＰＵ１１は、算出した合計コストが、制限対象４７１に設定されているコスト閾値４７２よりも大きいか否かを判断する（Ｓ４１０）。合計コストがコスト閾値４７２よりも大きいと判断した場合（Ｓ４１０：ＹＥＳ）、ＣＰＵ１１は、制限対象４７１に含まれる各ユーザＩＤに対する印刷の制限を設定する指示を含むコマンドを、全てのプリンタ２〜６に送信する（Ｓ４１１）。Ｓ４１１は、制限処理の一例であり、Ｓ４１１にて送信するコマンドは、制限コマンドの一例である。制限対象４７１としてユーザ名が設定されている場合、設定されたユーザ名は、特定第２分類情報の一例である。
【００６２】
プリンタ２〜６は、Ｓ４１１にてＰＣ１から送信されるコマンドを受信したことに応じて、自装置の情報を更新して、以後、そのコマンドで指定されたユーザＩＤの印刷を制限する。つまり、プリンタ２〜６は、受信した印刷ジョブに付与されているユーザＩＤが、制限対象として記憶されているユーザＩＤに含まれている場合には、指示された印刷ジョブの印刷を実行しない。
【００６３】
Ｓ４１１の後、または、合計コストがコスト閾値４７２よりも大きくないと判断した場合（Ｓ４１０：ＮＯ）、ＣＰＵ１１は、全ての制限対象４７１についての処理が終了したか否かを判断する（Ｓ４１２）。なお、Ｓ４０５とＳ４０６に代えて、例えば、Ｓ４１０にてＮＯと判断した場合に、制限対象４７１に対応する全てのユーザＩＤの制限を解除する指示を含むコマンドを各プリンタ２〜６に送信するとしても良い。終了していないと判断した場合（Ｓ４１２：ＮＯ）、ＣＰＵ１１は、Ｓ４０１に戻って、次の制限対象４７１について処理を行う。全ての制限対象４７１についての処理が終了したと判断した場合（Ｓ４１２：ＹＥＳ）、ＣＰＵ１１は、印刷制限処理を終了して、図２のプリンタ管理処理に戻る。
【００６４】
図２のプリンタ管理処理の説明に戻る。ＣＰＵ１１は、Ｓ１０２の印刷制限処理の後、ユーザＩＦ１５を介して各種の指示を受け付ける。ＣＰＵ１１は、例えば、ユーザＩＦ１５に指示を受け付ける各種のボタンを表示させ、各ボタンへの操作を受け付ける。ＣＰＵ１１は、例えば、ユーザを登録する指示、グループを登録する指示、プリンタを登録する指示、プリンタの管理情報を出力する指示、ログを更新する指示、アプリを終了する指示、を受け付ける。
【００６５】
ＣＰＵ１１は、ユーザまたはグループの情報を編集する指示を受け付けたか否かを判断する（Ｓ１０３）。本形態のプリンタ管理アプリ４１は、例えば、一旦ゲストユーザとして登録されたユーザの情報の編集、新たなユーザの登録、グループの情報の編集を受け付ける。ユーザまたはグループの情報を編集する指示を受け付けたと判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、図５に示したユーザ登録処理を実行する（Ｓ１０４）。Ｓ１０４では、未登録のユーザＩＤを受け付けていないことから、表示される入力フォーム６１には、新規のユーザの入力欄６１２は含まれない。
【００６６】
ユーザまたはグループの情報を編集する指示を受け付けていないと判断した場合（Ｓ１０３：ＮＯ）、ＣＰＵ１１は、ログ記憶場所の登録指示を受け付けたか否かを判断する（Ｓ１０５）。ログ記憶場所は、プリンタ２〜６に印刷ログ５１を記憶させる記憶場所である。ログ記憶場所の登録指示を受け付けたと判断した場合（Ｓ１０５：ＹＥＳ）、ＣＰＵ１１は、ログ記憶場所の入力を受け付けて、受け付けたログ記憶場所の情報を登録する（Ｓ１０６）。プリンタ管理アプリ４１は、プリンタ２〜６に記憶場所の情報を設定する前に、記憶場所の登録を受け付け、一旦不揮発性メモリ１４に記憶する。不揮発性メモリ１４に登録された記憶場所は、後述するプリンタ登録処理にて、プリンタ２〜６に印刷ログ５１を記憶させる記憶場所の候補として使用される。
【００６７】
Ｓ１０６の後、または、ログ記憶場所の登録指示を受け付けていないと判断した場合（Ｓ１０５：ＮＯ） 、ＣＰＵ１１は、プリンタを登録する指示を受け付けたか否かを判断する（Ｓ１０７）。プリンタを登録する指示を受け付けたと判断した場合（Ｓ１０７：ＹＥＳ）、ＣＰＵ１１は、プリンタ登録処理を実行する（Ｓ１０８）。プリンタ登録処理は、プリンタ管理アプリ４１による管理対象となるプリンタをプリンタ登録ＤＢ４４（図１参照）に登録する処理である。管理者は、例えば、印刷システム１００にプリンタを追加した場合に、プリンタ登録処理の実行を指示する。プリンタ登録処理の手順について、図１１のフローチャートを参照して説明する。
【００６８】
プリンタ登録処理では、ＣＰＵ１１は、まず、登録対象のプリンタに関する情報の入力を受け付ける入力フォームをユーザＩＦ１５に表示させ（Ｓ５０１）、入力フォームへの入力を検知することで各情報の入力を受け付ける（Ｓ５０２）。ＣＰＵ１１は、プリンタに関する情報として、プリンタ登録ＤＢ４４に登録するための各情報、例えば、プリンタ名、プリンタのＩＰアドレス、印刷ログレコードの記憶場所、コスト係数の指定を受け付ける。
【００６９】
プリンタ登録ＤＢ４４は、例えば、図１２に示すように、プリンタＩＤ４４１、プリンタ名４４２、ＩＰアドレス４４３、ログ記憶場所４４４、認証情報４４５、コスト係数４４６、の各情報が関連付けられたレコードを含む。プリンタＩＤ４４１は、登録対象のプリンタを識別するプリンタ識別情報であり、ログ情報ＤＢ４５のプリンタＩＤ４５１に対応する情報である。プリンタ名４４２は、管理者が登録対象のプリンタを識別するための名称である。ＩＰアドレス４４３は、ＰＣ１が通信ＩＦ１６を介して登録対象のプリンタと通信するためのアドレスである。
【００７０】
ログ記憶場所４４４は、登録対象のプリンタが印刷ログレコードを送信して記憶させる記憶先を示す情報であり、例えば、ファイルサーバ９の所定のフォルダを示すＵＲＬである。登録対象のプリンタは、ＰＣ１にて印刷ログ５１を収集する収集対象の対象プリンタである。ログ記憶場所４４４は、宛先情報の一例である。Ｓ５０２にてログ記憶場所４４４の入力を受け付ける処理は、宛先情報受付処理の一例である。ＣＰＵ１１は、例えば、入力フォームにログ記憶場所４４４の候補の一覧を表示させ、管理者の選択を受け付ける。ログ記憶場所４４４の候補としては、例えば、他のプリンタに関連付けて記憶されているログ記憶場所４４４の情報、前述したログ記憶場所の登録指示に基づいて登録した記憶場所の情報、がある。
【００７１】
認証情報４４５は、印刷ログの記憶場所への記憶に必要な認証情報である。記憶場所への記憶にアカウントやパスワード等の認証情報が必要である場合、認証情報４４５に必要な情報が記憶される。コスト係数４４６は、前述した印刷制限処理（図９参照）にて合計コストの算出に使用する係数である。
【００７２】
ＣＰＵ１１は、入力フォームにて受け付けた情報に基づいて、印刷ログの記憶場所への記憶にアカウントやパスワード等の認証情報が必要であるか否かを判断する（Ｓ５０３）。指定された記憶場所が、例えば、クラウドサーバ中の所定のフォルダである場合、認証情報の入力を求められる場合が多い。アカウント及びパスワードが必要であると判断した場合（Ｓ５０３：ＹＥＳ）、ＣＰＵ１１は、認証情報４４５の入力を求める表示を行い、入力を受け付ける（Ｓ５０４）。なお、Ｓ５０３の判断をＣＰＵ１１にて行う代わりに、管理者に問い合わせても良い。
【００７３】
Ｓ５０４の後、または、アカウント及びパスワードが必要でないと判断した場合（Ｓ５０３：ＮＯ）、ＣＰＵ１１は、通信ＩＦ１６を介して、ログ記憶場所４４４として入力された情報である印刷ログレコードの記憶場所を示す情報を、登録対象のプリンタに送信する（Ｓ５０５）。Ｓ５０５は、送信処理の一例である。認証情報４４５が入力されていれば、ＣＰＵ１１は、その情報もプリンタに送信する。これにより、登録対象のプリンタは、受信した記憶場所の情報を自装置に記憶し、生成した印刷ログレコードをその記憶場所に送信する。
【００７４】
そして、ＣＰＵ１１は、登録対象のプリンタの特徴を示す情報を取得する（Ｓ５０６）。ＣＰＵ１１は、プリンタの特徴を示す情報として、例えば、登録対象のプリンタのモデルを識別する情報であるモデル識別情報、登録対象のプリンタの能力を示す情報である能力情報、登録対象のプリンタにて使用される印刷媒体を示す情報である印刷媒体情報、の少なくとも１つを取得する。ＣＰＵ１１は、登録対象のプリンタの情報を当該プリンタから取得しても良いし、管理者による入力を受け付けても良い。Ｓ５０６は、特徴情報取得処理の一例であり、モデル識別情報や能力情報は、特徴情報の一例である。
【００７５】
ＣＰＵ１１は、取得したプリンタの情報に基づいて、係数情報ＤＢ４６（図１参照）を参照して基本係数を取得する（Ｓ５０７）。係数情報ＤＢ４６は、例えば、図１３に示すように、モデル名４６１、能力情報４６２、基本係数４６３、の各情報が関連付けられたレコードを含む。ＣＰＵ１１は、取得したプリンタの情報がモデル識別情報であれば、該当するモデル名４６１に関連付けて記憶されている基本係数４６３を取得する。また、ＣＰＵ１１は、取得したプリンタの情報が能力情報であれば、類似の能力情報４６２に関連付けて記憶されている基本係数４６３を取得する。モデル名４６１や能力情報４６２は、単位値分類情報の一例である。係数情報ＤＢ４６は、第４データベースの一例であり、基本係数４６３は、単位値の初期値であり、初期単位値の一例である。
【００７６】
なお、図１３では、モデル名４６１、能力情報４６２、基本係数４６３の３種類の情報が対応付けられた係数情報ＤＢ４６の例を示したが、係数情報ＤＢには、さらに、印刷媒体情報を含んでも良い。また、係数情報ＤＢは、モデル名、能力情報、印刷媒体情報の少なくとも１つと、基本係数とが関連付けられたＤＢであっても良い。
【００７７】
さらに、ＣＰＵ１１は、取得した基本係数への編集を受け付け（Ｓ５０８）、コスト係数を決定する（Ｓ５０９）。ＣＰＵ１１は、例えば、取得した基本係数をユーザＩＦ１５に表示させ、管理者による編集を受け付け、編集後の値をコスト係数とする。管理者は、例えば、各プリンタ２〜６の設置場所や使用契約、印刷媒体の種類等に基づいて、基本係数を編集する。管理者による編集は受け付けなくても良く、編集を受け付けなかった場合には、基本係数がコスト係数となる。
【００７８】
そして、ＣＰＵ１１は、受け付けた情報に基づいて、登録対象のプリンタの情報をプリンタ登録ＤＢ４４に登録する（Ｓ５１０）。Ｓ５１０では、登録対象のプリンタのログ記憶場所４４４をプリンタＩＤ４４１と関連付けて、プリンタ登録ＤＢ４４に登録する。この場合のプリンタ登録ＤＢ４４は、第２データベースの一例であり、Ｓ５１０は、プリンタ情報登録処理の一例である。また、Ｓ５１０では、登録対象のプリンタのコスト係数４４６をプリンタＩＤ４４１と関連付けてプリンタ登録ＤＢ４４に登録する。この場合のプリンタ登録ＤＢ４４は、第５データベースの一例であり、Ｓ５１０は、単位値登録処理の一例である。Ｓ５１０の後、ＣＰＵ１１は、プリンタ登録処理を終了し、図２のプリンタ管理処理に戻る。
【００７９】
図２のプリンタ管理処理の説明に戻る。プリンタを登録する指示を受け付けていないと判断した場合（Ｓ１０７：ＮＯ）、ＣＰＵ１１は、プリンタの管理情報を出力する指示を受け付けたか否かを判断する（Ｓ１０９）。管理情報を出力する指示を受け付けたと判断した場合（Ｓ１０９：ＹＥＳ）、ＣＰＵ１１は、管理情報出力処理を実行する（Ｓ１１０）。管理情報出力処理は、プリンタを管理するために必要な各種の情報を出力する処理であり、例えば、ユーザごとやグループごとのプリンタの使用量を纏めてユーザＩＦ１５に表示させる処理である。管理情報出力処理の手順について、図１４のフローチャートを参照して説明する。
【００８０】
管理情報出力処理では、ＣＰＵ１１は、出力対象を指定する指示を受け付ける（Ｓ６０１）。出力対象は、管理のための情報を表示させる対象であり、ＣＰＵ１１は、出力対象として、例えば、表示させるユーザ名やグループ名、プリンタ、期間の指定を受け付ける。ＣＰＵ１１は、例えば、ユーザ登録ＤＢ４２に登録されているユーザ名４２２、及び、グループ登録ＤＢ４３に登録されているグループ名４３２の一覧をユーザＩＦ１５に表示させ、管理者によるユーザ名またはグループ名の選択を受け付ける。そして、ＣＰＵ１１は、ユーザ名４２２の指定を受け付けたか否かを判断する（Ｓ６０２）。
【００８１】
ユーザ名４２２の指定を受け付けたと判断した場合（Ｓ６０２：ＹＥＳ）、ＣＰＵ１１は、ユーザ登録ＤＢ４２に基づいて、指定されたユーザ名４２２に関連付けて記憶されている全てのユーザＩＤ４２１を取得する（Ｓ６０３）。ＣＰＵ１１は、複数のユーザ名４２２の指定を受け付けても良く、その場合には、指定されたユーザ名４２２ごとに、全てのユーザＩＤ４２１を取得する。
【００８２】
ユーザ名４２２の指定を受け付けていないと判断した場合（Ｓ６０２：ＮＯ）、ＣＰＵ１１は、グループ名４３２の指定を受け付けたか否かを判断する（Ｓ６０４）。グループ名４３２の指定を受け付けたと判断した場合（Ｓ６０４：ＹＥＳ）、ＣＰＵ１１は、グループ登録ＤＢ４３に基づいて、指定されたグループ名４３２に関連付けて記憶されているグループ内ユーザＩＤ４３３に含まれる全てのユーザＩＤを取得する（Ｓ６０５）。ＣＰＵ１１は、複数のグループ名４３２の指定を受け付けても良く、その場合には、指定されたグループ名４３２ごとに、全てのユーザＩＤを取得する。
【００８３】
Ｓ６０３の後、または、Ｓ６０５の後、ＣＰＵ１１は、ログ情報ＤＢ４５から、取得したユーザＩＤが含まれるログＤＢレコードを抽出する（Ｓ６０６）。なお、ユーザ名４２２の指定もグループ名４３２の指定も受け付けなかった場合には、全てのユーザＩＤが出力対象となる。その場合、ＣＰＵ１１は、Ｓ６０６では、全てのユーザＩＤのログＤＢレコードを抽出する。Ｓ６０６は、抽出処理の一例である。Ｓ６０３またはＳ６０５にて取得されるユーザＩＤは、特定第１分類情報の一例である。
【００８４】
ＣＰＵ１１は、出力対象のプリンタである特定プリンタの指定を受け付けたか否かを判断する（Ｓ６０７）。ＣＰＵ１１は、例えば、プリンタ登録ＤＢ４４に登録されているプリンタ名４４２の一覧をユーザＩＦ１５に表示させ、管理者による特定プリンタの選択を受け付ける。特定プリンタの指定を受け付けたと判断した場合（Ｓ６０７：ＹＥＳ）、ＣＰＵ１１は、指定された特定プリンタのプリンタ名４４２に関連付けて記憶されているプリンタＩＤ４４１が含まれる印刷ログレコードを抽出する（Ｓ６０８）。ＣＰＵ１１は、プリンタ登録ＤＢ４４に基づいてプリンタＩＤ４４１を取得し、プリンタＩＤ４５１が取得したプリンタＩＤ４４１と一致している印刷ログレコードを、Ｓ６０６にて抽出した印刷ログレコードからさらに抽出する。
【００８５】
Ｓ６０８の後、または、プリンタの指定を受け付けていないと判断した場合（Ｓ６０７：ＮＯ）、ＣＰＵ１１は、抽出期間の指定を受け付けたか否かを判断する（Ｓ６０９）。ＣＰＵ１１は、例えば、抽出期間の入力を受け付ける入力ボックスをユーザＩＦ１５に表示させ、管理者の入力を受け付ける。抽出期間は、例えば、直近１ヶ月や今日等の現在を基点とした期間でも良いし、所定の開始日時と終了日時とを指定した期間であっても良い。抽出期間の指定を受け付けたと判断した場合（Ｓ６０９：ＹＥＳ）、ＣＰＵ１１は、印刷実行日時４５４が指定された期間内を示している印刷ログレコードを、Ｓ６０６またはＳ６０８にて抽出した印刷ログレコードからさらに抽出する（Ｓ６１０）。
【００８６】
Ｓ６１０の後、または、抽出期間の指定を受け付けていないと判断した場合（Ｓ６０９：ＮＯ）、ＣＰＵ１１は、抽出した印刷ログレコードの各印刷数から合計の使用量を算出する（Ｓ６１１）。さらに、ＣＰＵ１１は、算出した使用量に基づいて、表示用の使用量データを生成し、生成した使用量データをユーザＩＦ１５に表示させる（Ｓ６１２）。使用量データは、出力データの一例であり、Ｓ６１２は、出力処理の一例である。
【００８７】
使用量は、例えば、プリンタごとの印刷数の合計、全プリンタの印刷数の合計、プリンタごとの印刷数にコスト係数を乗算したコスト値、全プリンタのコスト値の合計である合計コスト、を示す情報である。プリンタの指定や期間の指定を受け付けていない場合には、ＣＰＵ１１は、プリンタごとの使用量や所定の期間ごとの使用量を算出しても良いし、全プリンタまたは全期間の合計の使用量のみを算出しても良い。
【００８８】
Ｓ６１２では、ＣＰＵ１１は、例えば、指定されたユーザ名またはグループ名のユーザによる合計コストをグラフで表示させる。ＣＰＵ１１は、指定されたユーザのプリンタごとのコスト値を表示させても良い。複数のユーザ名が指定された場合、ＣＰＵ１１は、例えば、図１５（Ａ）に示すように、ユーザ名ごとの合計コストをグラフで表示させる。プリンタの指定を受け付けた場合、ＣＰＵ１１は、例えば、当該プリンタのユーザごとの合計コストをグラフで表示させる。ユーザ名の指定もグループ名の指定もプリンタの指定も受け付けていない場合、ＣＰＵ１１は、例えば、プリンタごとの合計コストをグラフで表示させる。
【００８９】
出力対象としてグループ名の指定を受け付けた場合、ＣＰＵ１１は、グループ全体の合計の使用量データを表示させても良いし、グループに含まれる各ユーザＩＤに対応するユーザ名をユーザ登録ＤＢ４２から読み出して、ユーザ名ごとに纏めた使用量データを表示させても良い。
【００９０】
Ｓ６１２にて使用量データを表示させた後、ＣＰＵ１１は、表示の態様を変更する指示を受け付けたか否かを判断する（Ｓ６１３）。使用量データの表示画面では、グラフと共に、例えば、出力対象の指示、プリンタ指定、期間指定、印刷数／コスト変更、グラフ／表の変更、の指示を受け付ける各種のボタンが表示される。ＣＰＵ１１は、各種のボタンへの操作によって、表示の態様の変更指示を受け付ける。
【００９１】
表示変更の指示を受け付けたと判断した場合（Ｓ６１３：ＹＥＳ）、ＣＰＵ１１は、受け付けた指示に従って変更した態様の使用量データを生成し、ユーザＩＦ１５に表示させる（Ｓ６１４）。ＣＰＵ１１は、例えば、出力対象やプリンタ、期間の変更の指示を受け付けた場合、Ｓ６０２〜Ｓ６１１と同様の処理を行って、変更後の使用量データをグラフで表示させる。ＣＰＵ１１は、例えば、印刷数／コスト変更の指示を受け付けた場合、合計コストに代えて、印刷数、例えば、印刷した用紙の枚数を示すグラフを表示させる。
【００９２】
また、グラフ／表の変更指示を受け付けた場合、ＣＰＵ１１は、例えば、図１５（Ｂ）に示すように、使用量データを表として表示させる。図１５（Ｂ）は、指定されたユーザについて、プリンタごとの印刷数とそのコスト値、及び合計の枚数や合計コストを表示させた例である。プリンタごとのコスト値は、そのプリンタのコスト係数を用いて算出した値である。
【００９３】
つまり、表示させる使用量データの表示の態様は、プリンタ管理アプリ４１にて予め決定されていても良いし、管理者によって選択可能であっても良い。表示の態様を示す情報は、例えば、ユーザ名であっても良く、この例でユーザ名は、出力態様情報の一例である。また、表示の態様を示す情報は、例えば、コスト係数であっても良い。その場合、ＣＰＵ１１は、コスト係数を用いて使用量を算出し、算出した使用量に基づいて、表示用の使用量データを生成する。この例でコスト係数は、出力態様情報の一例である。
【００９４】
なお、ＣＰＵ１１は、合計コストがコスト閾値を超えて印刷制限を行っているユーザを他のユーザと区別して表示しても良い。ＣＰＵ１１は、例えば、印刷制限中であることを示すメッセージやマークを表示しても良いし、グラフの色を変更して表示しても良い。また、ＣＰＵ１１は、算出した使用量に基づく使用量データをユーザＩＦ１５に表示させる代わりに、プリンタ等に印刷させても良いし、メールを作成して他の装置にメール送信しても良い。
【００９５】
Ｓ６１４の後、または、表示変更の指示を受け付けていないと判断した場合（Ｓ６１３：ＮＯ）、ＣＰＵ１１は、表示完了の指示を受け付けたか否かを判断する（Ｓ６１５）。表示完了の指示を受け付けていないと判断した場合（Ｓ６１５：ＮＯ）、ＣＰＵ１１は、Ｓ６１３に戻り、表示変更の指示、または、表示完了の指示を受け付けるまで待機する。表示完了の指示を受け付けたと判断した場合（Ｓ６１５：ＹＥＳ）ＣＰＵ１１は、管理情報出力処理を終了して、図２のプリンタ管理処理に戻る。
【００９６】
図２のプリンタ管理処理の説明に戻る。管理情報を出力する指示を受け付けていないと判断した場合（Ｓ１０９：ＮＯ）、ＣＰＵ１１は、ログを更新する指示を受け付けたか否かを判断する（Ｓ１１１）。ログを更新する指示を受け付けたと判断した場合（Ｓ１１１：ＹＥＳ）、ＣＰＵ１１は、前述したログ更新処理を実行し（Ｓ１１２）、さらに、印刷制限処理を実行する（Ｓ１１３）。なお、ＣＰＵ１１は、定期的なログ更新タイミングになった場合にも、Ｓ１１１にてＹＥＳと判断して、Ｓ１１２とＳ１１３とを実行する。
【００９７】
Ｓ１０４、Ｓ１０６、Ｓ１０８、Ｓ１１０、Ｓ１１３の各処理の後、または、ログを更新する指示を受け付けていないと判断した場合（Ｓ１１１：ＮＯ）、ＣＰＵ１１は、プリンタ管理アプリ４１の終了指示を受け付けたか否かを判断する（Ｓ１１４）。終了指示を受け付けていないと判断した場合（Ｓ１１４：ＮＯ）、ＣＰＵ１１は、Ｓ１０３に戻って、各種の指示を受け付ける。終了指示を受け付けたと判断した場合（Ｓ１１４：ＹＥＳ）、ＣＰＵ１１は、プリンタ管理処理を終了する。
【００９８】
以上、詳細に説明したように、本形態のプリンタ管理アプリ４１を実行することにより、ＰＣ１は、ユーザＩＤ４２１とユーザ名４２２とを関連付けたユーザ登録ＤＢ４２を作成し、複数のユーザＩＤ４２１に対して関連付けが可能なユーザ名４２２を用いて、ユーザ名４２２に関連付けられたユーザＩＤ４２１を含む印刷ログを抽出し、ユーザ名４２２ごとに纏めた出力データを出力する。本形態の構成によれば、ユーザ名４２２で纏めて管理できるので、印刷ログを管理する上で、ＰＣ１をより有効に活用できる。また、各プリンタ２〜６は、最低限、ユーザＩＤと印刷枚数の情報を含む印刷ログレコードを生成すれば良く、管理用の分類処理を行う必要がなく、管理用の分類結果を保持しておく必要もない。
【００９９】
さらに、本形態では、収集した印刷ログ５１に、ユーザ登録ＤＢ４２に未登録のユーザＩＤが含まれていた場合、ユーザ登録処理を実行してユーザ名の入力を促す。これにより、未登録のユーザＩＤに関連付けるユーザ名の入力及び、ユーザＩＤとユーザ名とのユーザ登録ＤＢ４２への登録が期待できる。登録されれば、ＰＣ１は、ユーザ登録ＤＢ４２に基づいて、未登録であったユーザＩＤについても分類が可能になる。
【０１００】
また、本形態では、各プリンタ２〜６は、指定された記憶場所であるファイルサーバ９に印刷ログレコードを送信するので、ＰＣ１は、印刷ログレコードの収集に際して、プリンタ２〜６にアクセスする必要はなく、プリンタ２〜６が起動していなくても印刷ログ５１を収集できる。また、ＰＣ１は、プリンタ登録ＤＢ４４にプリンタごとのログ記憶場所４４４を記憶しているので、ログの記憶場所をプリンタに問い合わせる必要はなく、印刷ログの収集が容易になる。さらに、ＰＣ１から各プリンタに記憶場所を指定する情報を送信して各プリンタにその記憶場所を設定できることで、管理者が各プリンタまで設定のために移動する必要がなく、管理者による初期作業が容易になる。
【０１０１】
また、一人のユーザが複数のユーザＩＤを使っていたとしても、ユーザ名４２２として纏めることで、一人のユーザ分の情報を出力できる。各プリンタは、ユーザ名の情報を保持する必要がない。
【０１０２】
また、本形態では、グループ登録ＤＢ４３には、グループ名４３２に関連付けてグループに含まれる各ユーザのユーザＩＤがグループ内ユーザＩＤ４３３として記憶されていることから、出力する使用量データとして、例えば、グループ名４３２によって分類されるデータを生成することができる。特に、ユーザ登録処理にてグループ名の指定も受け付けて、ユーザ登録ＤＢ４２のユーザＩＤ４２１がそのグループのグループ内ユーザＩＤ４３３に登録されるので、管理者のグルーピングの作業は容易である。そして、グループごとの使用量を出力することで、出力された情報がより使い易くなる。プリンタは、グループの情報を保持する必要がなく、グルーピングを行う必要もない。
【０１０３】
また、本形態では、プリンタ登録ＤＢ４４にコスト係数４４６の情報が含まれ、コスト係数４４６の情報に基づく使用量データを生成して出力できるので、個別の印刷の価値を反映した情報を出力できる。各プリンタは、コスト係数の情報を保持する必要がない。なお、コスト係数は、プリンタのモデルごとの値であっても印刷能力に応じた値であってもプリンタの設置場所に応じた値であってもよい。プリンタのモデルや能力によって印刷のコストが異なることから、コスト係数を用いることでより好適な使用量データを生成できる。
【０１０４】
また、本形態では、プリンタのモデル、能力、印刷媒体情報等に応じた基本係数を係数情報ＤＢ４６に記憶しており、例えば、プリンタ登録ＤＢ４４に登録されていないプリンタについて、プリンタのモデルや能力の情報の入力を受け付ける。そして、入力されたプリンタの情報に基づいて基本係数を自動的に取得してコスト係数とするか、または、取得した基本係数の編集を受け付け、編集後の値をコスト係数とする。従って、コスト係数を設定するための管理者の操作は、容易である。
【０１０５】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、ＰＣ１に接続される各プリンタは、印刷のみを行う単機能の装置に限らず、複写機、複合機、ＦＡＸ装置など、印刷機能を有するものであればよい。
【０１０６】
また、実施の形態では、各プリンタ２〜６は、全て同じファイルサーバ９に印刷ログレコードを送信するとしているが、それぞれ異なる記憶場所に印刷ログレコードを送信してもよい。例えば、ＰＣ１から指定された、それぞれ異なるファイルサーバに送信してもよい。また、実施の形態では、各プリンタ２〜６による印刷ログレコードの記憶場所をそれぞれ異なるフォルダとしたが、同じ記憶場所であっても良い。その場合、プリンタ登録ＤＢ４４は、各プリンタ２〜６にログ記憶場所４４４が関連付けられたレコードを複数含む構成に限らず、複数のプリンタと１つのログ記憶場所とが関連付けられた構成でも良い。
【０１０７】
また、プリンタ管理アプリ４１にて使用する各種のＤＢ４２〜４７は、不揮発性メモリ１４に限らず、ＰＣ１からアクセス可能な外部装置に記憶されていても良い。また、実施の形態では、各プリンタ２〜６の印刷ログレコードをログ情報ＤＢ４５に纏めて記憶するとしたが、これに限らず、例えばプリンタごとの個別のＤＢに記憶しても良い。
【０１０８】
また、実施の形態では、ユーザ名が指定されなかったユーザＩＤをゲストユーザとしてユーザ登録ＤＢ４２に登録するとしたが、登録しなくても良い。つまり、ユーザＩＤとユーザ名との両方が指定されたユーザのみをユーザ登録ＤＢ４２に登録するとしても良い。
【０１０９】
また、実施の形態では、プリンタ登録ＤＢ４４は、プリンタＩＤ４４１ごとにログ記憶場所４４４が記憶されたレコードを含む構成であるとしたが、これに限らない。例えば、各プリンタ２〜６が生成する印刷ログレコードにプリンタＩＤが含まれていれば、複数のプリンタＩＤ４４１に対して同じログ記憶場所４４４を設定しても良い。
【０１１０】
また、例えば、コスト閾値４７２は、全ユーザに一律であっても良く、その場合はユーザ登録ＤＢ４２にコスト閾値４７２の情報を含まなくても良い。また、制限期間４７３は、全ユーザに一律であっても良く、その場合はユーザ登録ＤＢ４２に制限期間４７３の情報を含まなくても良い。
【０１１１】
また、ログ情報ＤＢ４５は、不揮発性メモリ１４に記憶されていなくても良い。例えば、プリンタ管理アプリ４１の起動に応じて、ＣＰＵ１１は、ファイルサーバ９から取得した印刷ログ５１をＲＡＭ１３に記憶して、各処理を実行しても良い。
【０１１２】
また、プリンタ登録処理では、プリンタの情報に基づく基本係数に対する編集を受け付けてコスト係数を決定するとしたが、これに限らない。例えば、編集を受け付けなくても良い。また、管理者によるコスト係数そのものの入力を受け付けても良い。また、係数情報ＤＢ４６を不揮発性メモリ１４に備える代わりに、プリンタ管理アプリ４１に組み込まれていても良いし、外部デバイスからダウンロードしても良い。
【０１１３】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【０１１４】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【０１１５】
１  ＰＣ
２〜６  プリンタ
９  ファイルサーバ
１１  ＣＰＵ
１５  ユーザＩＦ
１６  通信ＩＦ
４１  プリンタ管理アプリ
１００  印刷システム
【図１】
2020197809.tif 000003
【図２】
2020197809.tif 000004
【図３】
2020197809.tif 000005
【図４】
2020197809.tif 000006
【図５】
2020197809.tif 000007
【図６】
2020197809.tif 000008
【図７】
2020197809.tif 000009
【図８】
2020197809.tif 000010
【図９】
2020197809.tif 000011
【図１０】
2020197809.tif 000012
【図１１】
2020197809.tif 000013
【図１２】
2020197809.tif 000014
【図１３】
2020197809.tif 000015
【図１４】
2020197809.tif 000016
【図１５】
2020197809.tif 000017