印刷システムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)と複数のプリンタとを含む印刷システムであって、PCによって複数のプリンタを管理する印刷システムを開示するものである。
本形態の印刷システム100は、図1に示すように、PC1と、複数のプリンタ2~6と、ファイルサーバ9とを含み、これらが互いにネットワークで接続されて構成されている。PC1は、情報処理装置及び管理装置の一例である。PC1に代えて、例えば、タブレットコンピュータ、スマートフォンであってもよい。ファイルサーバ9は、外部デバイスの一例である。
プリンタ2~6は、いずれも印刷機能と通信機能とを有する装置である。プリンタ2~6は、図1に示すように、PC1及びファイルサーバ9と通信可能であり、不図示の各種の装置から受信した印刷ジョブに基づく印刷や、自装置の操作部にて受け付けた印刷ジョブに基づく印刷を実行可能である。なお、プリンタ2~6は、同じモデルであっても良いし、異なるモデルであっても良い。また、それぞれの設置場所は、同じ場所でも異なる場所でも良い。
プリンタ2~6は、受け付けた印刷ジョブの印刷を実行した場合、実行した印刷ジョブごとに1つの印刷ログレコードを作成し、所定の記憶場所に記憶する。プリンタ2~6は、印刷ログレコードの記憶場所の情報を自装置に記憶している。本形態では、記憶場所としてファイルサーバ9が指定されており、プリンタ2~6は、作成した印刷ログレコードをファイルサーバ9に送信する。印刷ジョブには、その印刷ジョブの実行を指示したユーザを示す情報であるユーザIDの情報が付与されており、プリンタ2~6が作成する印刷ログレコードには、少なくとも、当該印刷ジョブのユーザIDの情報と、印刷を実行した用紙枚数または印刷面数等の印刷数の情報と、が含まれる。印刷ログレコードは、印刷レコードの一例である。
なお、プリンタ2~6は、印刷を実行する度に印刷ログレコードをファイルサーバ9に送信してもよいし、作成した印刷ログレコードを一旦自装置のメモリに記憶し、1時間ごと等の定期的にまとめてファイルサーバ9に送信してもよい。ファイルサーバ9がPC1とは異なる装置であることから、PC1が起動していなくても、各プリンタ2~6は、印刷ログレコードの送信が可能である。
また、プリンタ2~6は、自装置のメモリに印刷制限に関する情報を備え、受信した印刷ジョブに基づく印刷を実行するか否かを判断して、実行しないと判断した場合には印刷を制限する機能を有している。つまり、プリンタ2~6は、受け付けた印刷ジョブの実行を指示したユーザのユーザIDが制限対象として記憶されているユーザIDに含まれている場合には、印刷を実行しない。印刷制限に関する情報は、例えば、印刷を許可されるユーザIDの情報、印刷を制限されるユーザIDの情報、である。PC1は、印刷制限の対象となるユーザIDを指定して、印刷を制限する指示または制限を解除する指示をプリンタ2~6に送信する場合がある。プリンタ2~6は、例えば、PC1から受信した指示に基づいて、自装置のメモリに備えられる印刷制限に関する情報を更新する。
ファイルサーバ9は、通信機能と記憶機能とを有する装置である。ファイルサーバ9は、図1に示すように、PC1及びプリンタ2~6と通信可能であり、プリンタ2~6から受信した印刷ログレコードを含む印刷ログ51を記憶する。ファイルサーバ9は、例えば、送信元のプリンタごとに個別のフォルダとしての印刷ログ51を備え、各プリンタ2~6は、それぞれ決められたフォルダである印刷ログ51を宛先に指定して印刷ログレコードを送信する。なお、ファイルサーバ9は、インターネットを介してアクセス可能なクラウドサーバであっても良い。
本形態のPC1は、図1に示すように、CPU11と、ROM12と、RAM13と、不揮発性メモリ14と、を含む制御基板10を備えている。さらに、ユーザインタフェース(以下、「ユーザIF」とする)15と、通信インタフェース(以下、「通信IF」とする)16と、を備え、これらが制御基板10に電気的に接続されている。CPU11は、コンピュータの一例である。
ROM12、RAM13、不揮発性メモリ14は、メモリの一例であり、メモリの一例はいずれも、コンピュータが読み取り可能なストレージ媒体の一例である。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
ROM12には、PC1を起動するための起動プログラム等が記憶されている。RAM13は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ14は、例えば、HDD、フラッシュメモリであり、各種のアプリケーションプログラム(以下、「アプリ」とする)などのプログラムや画像データ等のデータ、各種設定を記憶する領域として利用される。
CPU11は、ROM12や不揮発性メモリ14から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。なお、図1中の制御基板10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
ユーザIF15は、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアを含む。すなわち、ユーザIF15は、入力を受け付ける機能と表示する機能との両方を備える。ユーザIF15は、タッチパネル等の入力機能と表示機能との両方を備えるデバイスであっても良いし、ディスプレイとキーボードやマウスとの組み合わせであっても良い。ユーザIF15による表示は、出力データの出力の一例であり、ユーザIF15は、出力インタフェースの一例である。
通信IF16は、各種の外部装置と通信を行うためのハードウェアを含む。通信IF16の通信方式は、無線でも有線でもよく、複数の通信方式に対応していても良い。通信IF16は、LAN、Wi-Fi(登録商標)などによるネットワーク通信を含み、さらに、USB通信、ブルートゥース(登録商標)等の近距離通信などの1対1通信も含んでも良い。通信IF16による送信は、出力データの出力の一例であり、通信IF16は、出力インタフェースの一例である
PC1の不揮発性メモリ14には、オペレーティングシステム(以下、「OS」とする)40と、プリンタ管理アプリ41と、各種のデータベース(以下「DB」とする)42~47と、を含む、各種のプログラムやデータが記憶されている。OS40は、例えば、Windows(登録商標)、MacOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)、である。なお、OS40の一部は、ROM12に含まれていてもよい。プリンタ管理アプリ41は、プログラムの一例である。
続いて、本形態のプリンタ管理アプリ41について説明する。なお、以下の説明における処理およびフローチャートの各処理ステップは、基本的に、プリンタ管理アプリ41などのプログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、PC1のOS40の他のモジュールとデータ交換するためのIF(APIとも呼ばれる)を用いたハードウェア制御も含む。本明細書では、OS40の記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムPがハードウェアHを制御する」という趣旨の記載は、「プログラムPがOS40のAPIを用いてハードウェアHを制御する」ことを指してもよい。
また、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」、「プリンタ管理アプリ41が行う」のように記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。また、CPU11による処理であって、情報Aが事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。また、CPU11による処理であって、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
本形態のプリンタ管理アプリ41は、複数のプリンタ2~6をPC1にて管理するためのアプリである。本形態のプリンタ管理アプリ41によるプリンタ管理処理の手順について、図2のフローチャートを参照して説明する。この処理は、プリンタ管理アプリ41の起動を受け付けたことを契機に、CPU11にて実行される。なお、プリンタ管理アプリ41の起動には、管理者権限によるログインが必要であっても良い。以下では、プリンタ管理アプリ41を使用するユーザを、プリンタ2~6を使用するユーザと区別して、「管理者」とする。
CPU11は、プリンタ管理アプリ41が起動されると、まず、ログ更新処理を実行する(S101)。ログ更新処理は、プリンタ2~6によって記憶された印刷ログ51をその記憶場所から取得し、取得した印刷ログ51を用いて、PC1の不揮発性メモリ14に記憶されているログ情報DB45(図1参照)の内容を更新する処理である。ログ更新処理の手順について、図3のフローチャートを参照して説明する。なお、印刷ログ51の記憶場所の設定については、後述する。
ログ更新処理では、CPU11は、まず、印刷ログ51の記憶場所から複数の印刷ログ51を取得する(S201)。そして、CPU11は、取得した各印刷ログ51に含まれる印刷ログレコードを1レコードずつ確認する。具体的には、CPU11は、印刷ログ51から1レコード分の印刷ログレコードを取得し(S202)、取得した印刷ログレコードと同じ情報を含むレコードが、既にログ情報DB45に含まれているか否かを判断する(S203)。以下では、ログ情報DB45に含まれるレコードを、プリンタ2~6が作成した印刷ログレコードと区別して、「ログDBレコード」とする。ログDBレコードは、印刷ログレコードに基づいて作成されるレコードであり、印刷ログレコードと同じ情報を含む。S203では、CPU11は、例えば、取得した印刷ログレコードを作成したプリンタを示すプリンタIDと、その印刷ログレコードに含まれる印刷実行日時または印刷ジョブ名と、が含まれるログDBレコードがログ情報DB45に存在するか否かを判断する。
なお、例えば、印刷ログレコードにユニークな通し番号が含まれていれば、CPU11は、S203の判断をその通し番号を用いて行っても良い。また、前回のログ更新日時を記憶して、それ以後に記憶された印刷ログレコードのみを取得するように構成しても良く、その場合には、S203の判断を行わずにS204に進んでも良い。
ログ情報DB45は、印刷ログ51に基づく情報を記憶するデータベースであり、例えば、図4に示すように、プリンタID451、ユーザID452、印刷ジョブ名453、印刷実行日時454、印刷数455、の各情報が関連付けられたログDBレコードを含む。プリンタID451は、このログDBレコードと同じ情報を含む印刷ログレコードを作成したプリンタ、すなわち、この印刷ログレコードによって示される印刷を実行したプリンタを識別する情報である。PC1は、例えば、印刷ログレコードを読み出したフォルダの情報に基づいて、プリンタID451を決定し、各ログDBレコードに付与する。なお、プリンタID451は、プリンタ2~6が生成する印刷ログレコードに含まれていても良い。
ユーザID452は、印刷ジョブの生成元を示す情報であり、印刷ジョブの実行を指示したユーザを識別する情報である。ユーザID452は、第1分類情報の一例である。ユーザID452及び印刷ジョブ名453は、印刷ジョブの生成元によって印刷ジョブに付与される情報であり、プリンタ2~6にて取得可能な情報である。なお、印刷ジョブの生成元は、例えば、Windows等のOSを搭載したPCやモバイル装置であり、印刷ログレコードに含まれるユーザIDは、そのOSが用いているユーザIDである。そして、プリンタ2~6は、前述したように、受け付けた印刷ジョブのユーザIDに基づいて、印刷制限を実行することができる。
印刷ジョブ名453は、印刷ジョブを識別する情報であり、例えば、印刷対象のファイル名等が用いられる。印刷実行日時454は、その印刷ジョブの印刷の実行が指示された日時を示す情報である。印刷数455は、その印刷ジョブにて印刷を実行した量を示す情報である。印刷数455は、印刷した用紙の枚数でもよいし、印刷した印刷面の数でも良い。例えば、両面印刷を行った場合、用紙の枚数は1であり、印刷面は2である。以下では、印刷数455として、印刷用紙の枚数を用いる場合について説明する。印刷数455は、印刷量を示す情報の一例であり、印刷量情報の一例である。なお、プリンタ2~6が作成する印刷ログレコードは、図4に示したログ情報DB45と同一の形式である必要はなく、例えば、プリンタごとに異なる形式であっても良い。
取得した印刷ログレコードに対応するログDBレコードがログ情報DB45に含まれていないと判断した場合(S203:NO)、CPU11は、その印刷ログレコードのユーザID452の、不揮発性メモリ14に記憶されているユーザ登録DB42(図1参照)への登録状況を判断する(S204)。ユーザ登録DB42は、プリンタ管理アプリ41にて登録を受け付けたユーザの情報を記憶するデータベースである。CPU11は、ユーザID452がユーザ登録DB42に登録されていない、または、ユーザID452に関連付けられたユーザ名等の情報が未登録である(例えば、「ゲストユーザ」となっている)場合に、S204にてNOと判断する。
ユーザID452の情報が未登録であると判断した場合(S204:NO)、CPU11は、ユーザ登録処理を実行する(S205)。ユーザ登録処理は、プリンタ2~6を使用するユーザの情報を、ユーザ登録DB42に登録する処理である。ユーザ登録処理の手順について、図5のフローチャートを参照して説明する。なお、ユーザ登録処理は、S204にてNOと判断された場合だけでなく、後述するように、管理者による実行指示によっても実行される。
ユーザ登録DB42は、例えば、図6に示すように、ユーザID421、ユーザ名422、付帯情報423、の各情報が関連付けられたレコードを含む。ユーザ登録DB42は、第1データベースの一例である。ユーザID421は、登録対象のユーザを識別する情報であり、ログ情報DB45のユーザID452に対応する情報である。ユーザID421は、第1分類情報の一例である。
ユーザ名422は、例えば、プリンタ管理アプリ41にてプリンタ2~6を管理するための情報を出力する際に、ユーザ名として表示させる名称である。管理者は、ユーザを識別するのに分かり易い名称をユーザ名422として設定する。ユーザ名422は、ユーザID421と同じでも良いし、異なっていても良い。ユーザ名422は、第2分類情報の一例である。付帯情報423は、例えば、当該ユーザの所属部署やプリンタ利用の料金プランを示す情報である。
なお、ユーザ登録DB42では、例えば、図6に示すように、複数のユーザID421に対して、同じユーザ名422を設定することができる。例えば、PCとモバイル装置とで異なるアカウントを使用するユーザの場合、それぞれの装置から印刷を指示した印刷ジョブの印刷ログレコードには、異なるユーザID452が記憶される可能性が高い。管理者は、複数のアカウントを使用するユーザについて、複数のユーザID421に対して1つのユーザ名422を設定することができる。異なるユーザID421に同じユーザ名422が設定された場合、プリンタ管理アプリ41は、ユーザ名422が同じ全てのユーザID421に関する情報を同じユーザの情報として纏めることができる。
ユーザ登録処理では、CPU11は、例えば、図7に示すように、ユーザ登録DB42に登録する各情報の入力を受け付ける入力フォーム61をユーザIF15に表示させる(S301)。S301は、登録対象受付処理の一例である。入力フォーム61は、ユーザ登録DB42の更新に用いる情報の入力を受け付けるためのフォームであり、登録済みのユーザの情報611、新規のユーザの入力欄612、ユーザ追加欄613、入力完了ボタン614、を含む。登録済みのユーザの情報611には、ユーザ登録DB42にすでに登録されているユーザに関する情報であって、ユーザ登録DB42から読み出した各ユーザの情報が表示される。
新規のユーザの入力欄612には、例えば、印刷ログレコードのユーザID452であって、ユーザ登録DB42に未登録のユーザIDと、仮のユーザ名としての「ゲストユーザ」と、が表示される。ユーザID452は未登録第1分類情報の一例であり、入力フォーム61中の新規のユーザの入力欄612の表示は、報知出力の一例である。印刷ログレコードに含まれる未登録のユーザID452に関する情報の入力を受け付けることで、ユーザ登録DB42への無駄な登録を回避できる。ユーザ追加欄613は、全ての情報が空欄の入力欄である。
入力フォーム61には、例えば、図7に示すように、グループ名の入力を受け付けるグループ名入力欄も設けられている。そして、ユーザ登録処理では、ユーザの所属するグループの設定をも受け付ける。
CPU11は、入力フォーム61への入力を受け付けたか否かを判断する(S302)。CPU11は、入力フォーム61の各欄への入力を検知することで情報の入力を受け付ける。そして、入力を受け付けたと判断した場合(S302:YES)、受け付けた入力に基づいて、入力フォーム61の表示を更新させる(S303)。例えば、入力を受け付けたユーザ名がすでにユーザ登録DB42に登録されているユーザ名と同じであった場合、CPU11は、登録済みのユーザ名に関連付けられている情報を入力フォーム61に表示させる。なお、登録済みのユーザ名の入力を受け付けた場合、同じユーザ名が複数のユーザIDに共通して登録されることを示すメッセージを表示し、管理者の承認を受け付けても良い。そして、承認が得られた場合に入力フォーム61に表示するとしても良い。
S303の後、または、入力フォーム61への入力を受け付けていないと判断した場合(S302:NO)、CPU11は、入力完了の指示を受け付けたか否かを判断する(S304)。CPU11は、入力完了ボタン614への操作によって入力完了の指示を受け付ける。入力完了の指示を受け付けていないと判断した場合(S304:NO)、CPU11は、S302に戻って、さらに入力を受け付ける。
入力完了の指示を受け付けたと判断した場合(S304:YES)、CPU11は、入力フォーム61に表示している情報に基づいて、ユーザ登録DB42を更新する(S305)。S305は、分類情報登録処理の一例である。CPU11は、例えば、新規のユーザの入力欄612に表示中の情報を含むログDBレコードを作成し、作成したログDBレコードをユーザ登録DB42に追加する。新規のユーザの入力欄612に基づいてユーザ登録DB42に追加されるログDBレコードのユーザ名は、CPU11が自動的に付けた「ゲストユーザ」または管理者による入力を受け付けたユーザ名であり、印刷ログ51とは異なる取得元から取得されたユーザ名である。また、CPU11は、ユーザ追加欄613に新たなユーザの情報が入力された場合には、表示中の情報を含むログDBレコードを作成してユーザ登録DB42に追加する。
CPU11は、登録対象のユーザについて、所属するグループ名の入力を入力フォーム61にて受け付けたか否かを判断する(S306)。グループ名の入力を受け付けたと判断した場合(S306:YES)、CPU11は、グループ登録DB43(図1参照)を更新する(S307)。S307は、分類情報登録処理の一例である。
グループ登録DB43は、例えば、図8に示すように、グループID431、グループ名432、グループ内ユーザID433、の各情報が関連付けられたレコードを含む。グループID431は、グループを識別する情報である。グループ名432は、例えば、プリンタ管理アプリ41にてプリンタ2~6を管理するための情報を出力する際に、グループ名として表示させる名称である。グループ名432は、入力フォーム61のグループ名入力欄に入力された名称である。グループ内ユーザID433は、そのグループに所属する各ユーザのユーザIDであり、入力フォーム61にてグループ名入力欄と対応付けて表示されていたユーザIDである。グループ登録DB43は、第3データベースの一例であり、グループ名432は、グループ情報の一例である。
S307では、CPU11は、入力されたグループ名が、グループ登録DB43に既に記憶済みのグループID431またはグループ名432と一致していれば、登録対象のユーザのユーザID421を、当該グループのグループ内ユーザID433に追加する。また、CPU11は、グループ登録DB43に既に記憶済みのグループID431またはグループ名432の中に、入力されたグループ名と一致するものが無ければ、新たなグループを作成する。
S307の後、または、グループ名の入力を受け付けていないと判断した場合(S306:NO)、CPU11は、ユーザ登録処理を終了して、図3のログ更新処理に戻る。
図3のログ更新処理の説明に戻る。S205のユーザ登録処理の後、または、ユーザID452が登録済みであると判断した場合(S204:YES)、CPU11は、S202にて取得した1つの印刷ログレコードに対応するログDBレコードをログ情報DB45に追加する(S206)。S206は、収集処理の一例である。
そして、S206の後、または、S202にて取得した印刷ログレコードに対応するログDBレコードが既にログ情報DB45に記憶済みであると判断した場合(S203:YES)、CPU11は、S201にてファイルサーバ9から取得した印刷ログ51の全ての印刷ログレコードについて処理が終了したか否かを判断する(S207)。処理済みでない印刷ログレコードがあると判断した場合(S207:NO)、CPU11は、S202に戻って、次の印刷ログレコードについて処理を行う。全ての印刷ログレコードの処理が終了したと判断した場合(S207:YES)、CPU11は、ログ更新処理を終了して、図2のプリンタ管理処理に戻る。
図2のプリンタ管理処理の説明に戻る。CPU11は、S101のログ更新処理の後、印刷制限処理を実行する(S102)。印刷制限処理は、ログ更新処理にて更新されたログ情報DB45の情報に基づいて、印刷制限の設定を行う処理である。印刷制限処理の手順について、図9のフローチャートを参照して説明する。
印刷制限処理では、CPU11は、閾値登録DB47(図1参照)を参照し、印刷制限の対象となっているユーザを示す情報を取得する(S401)。閾値登録DB47は、例えば、図10に示すように、制限対象471、コスト閾値472、制限期間473、の各情報が関連付けられたレコードを含み、例えば、管理者によって設定される。制限対象471は、ユーザ名またはグループ名の情報であり、そのユーザまたはグループが制限の対象となっていることを示す情報である。
コスト閾値472は、制限対象471のユーザまたはグループに対してプリンタ2~6での印刷が許容される範囲を示す情報である。制限期間473は、制限対象471のユーザまたはグループに対して、コスト閾値472による制限が適用される期間を示す情報である。制限期間473は、例えば、1ヶ月間等の期間を示す情報でも良いし、日時等の期間の終端を示す情報でも良い。なお、制限期間473は、有限の期間が設定されていても良いし、期間が設定されていない、すなわち無期限でも良い。制限期間473は、直近の日数等を示す直近期間でも良いし、年月等の所定のタイミングで切り替わる設定期間でも良い。
CPU11は、制限対象471に制限期間473が設定されているか否かを判断する(S403)。制限期間473が設定されていないと判断した場合(S403:NO)、CPU11は、全期間のログ情報DB45から、制限対象471に対応する全てのユーザIDのログDBレコードを抽出する(S404)。制限対象471がユーザ名であれば、CPU11は、ユーザ登録DB42を参照して、当該ユーザ名が設定されている全てのユーザIDのログDBレコードを抽出する。制限対象471がグループ名であれば、CPU11は、グループ登録DB43を参照して、当該グループ名のグループに含まれる全てのユーザIDのログDBレコードを抽出する。
一方、制限期間473に情報が設定されていると判断した場合(S403:YES)、CPU11は、前回のログ更新処理の実行後、今回の処理開始までの間に、期間が更新されたか否かを判断する(S405)。例えば、定期的なタイミングで切り替わる設定期間が設定されている場合、前回のログ更新処理の実行時から今回までの間に,期間の切り替えタイミングを超えた場合に、期間が更新されたと判断する。例えば、設定期間として一ヶ月が設定されており、前回と今回との間に月をまたいだ場合,設定期間として一日が設定されており、前回と今回との間に日をまたいだ場合には、期間が更新されたと判断する。また、期間の終端が設定されている場合、前回のログ更新処理の実行時から今回までの間に,設定された終端を超えた場合に、期間が更新されたと判断する。例えば、所定の日時が期間の終端として設定されており、前回と今回との間にその日時を過ぎた場合には、期間が更新されたと判断する。なお、ログ更新処理は、プリンタ管理アプリ41の起動時や管理者による実行指示の受付時のみでなく、例えば、定期的な更新タイミングで実行されるようにしても良い。
期間が更新されたと判断した場合(S405:YES)、CPU11は、制限対象471に対応する全てのユーザIDの制限を解除する指示を含むコマンドを各プリンタ2~6に送信する(S406)。前述したように、プリンタ2~6は、自装置のメモリに印刷制限に関する情報を備え、その情報に基づいて、印刷の実行を制限する。プリンタ2~6は、制限の解除を指示するコマンドを受信したことに応じて、自装置の情報を更新して、以後、そのコマンドで指定されたユーザIDの印刷を制限しない。
S406の後、または、期間が更新されていないと判断した場合(S405:NO)、CPU11は、今期間中のログ情報DB45から、制限対象471に対応する全てのユーザIDのログDBレコードを抽出する(S407)。CPU11は、前回の期間の更新後、現在までのログ情報DB45から、該当するログDBレコードを抽出する。直近の期間が設定されている場合には、今から遡ってその期間内のログDBレコードを抽出する。
S404の後、または、S407の後、CPU11は、抽出したログDBレコードから、プリンタごとの印刷数を取得し(S408)、制限対象471の該当期間中の合計コストを算出する(S409)。合計コストは、プリンタごとの印刷数に当該プリンタのコスト係数を乗算した個別のコストを算出し、さらに、算出した個別のコストを全てのプリンタについて合計した値である。コスト係数は、印刷数に対する単位当たりの値であり、例えば、当該プリンタでの1枚の印刷に掛かる費用を示す係数である。コスト係数は、単位値の一例であり、合計コストは、評価値の一例である。
本形態のプリンタ管理アプリ41では、各プリンタ2~6に対してそれぞれコスト係数が設定される。1枚の印刷に対して必要な経費等は、プリンタによって異なる場合がある。例えば、高解像度でのカラー印刷が可能な高級機での1枚の印刷にかかる費用は、低解像度でのモノクロ印刷のみを行う低級機での1枚の印刷にかかる費用に比較して高い可能性が高い。本形態では、各プリンタ2~6にコスト係数を設定することで、プリンタによる差異を考慮した合計コストを算出する。コスト係数は、管理者が個別に設定しても良いし、プリンタ管理アプリ41にて自動的に設定しても良い。コスト係数を設定する手順については、後述する。
そして、CPU11は、算出した合計コストが、制限対象471に設定されているコスト閾値472よりも大きいか否かを判断する(S410)。合計コストがコスト閾値472よりも大きいと判断した場合(S410:YES)、CPU11は、制限対象471に含まれる各ユーザIDに対する印刷の制限を設定する指示を含むコマンドを、全てのプリンタ2~6に送信する(S411)。S411は、制限処理の一例であり、S411にて送信するコマンドは、制限コマンドの一例である。制限対象471としてユーザ名が設定されている場合、設定されたユーザ名は、特定第2分類情報の一例である。
プリンタ2~6は、S411にてPC1から送信されるコマンドを受信したことに応じて、自装置の情報を更新して、以後、そのコマンドで指定されたユーザIDの印刷を制限する。つまり、プリンタ2~6は、受信した印刷ジョブに付与されているユーザIDが、制限対象として記憶されているユーザIDに含まれている場合には、指示された印刷ジョブの印刷を実行しない。
S411の後、または、合計コストがコスト閾値472よりも大きくないと判断した場合(S410:NO)、CPU11は、全ての制限対象471についての処理が終了したか否かを判断する(S412)。なお、S405とS406に代えて、例えば、S410にてNOと判断した場合に、制限対象471に対応する全てのユーザIDの制限を解除する指示を含むコマンドを各プリンタ2~6に送信するとしても良い。終了していないと判断した場合(S412:NO)、CPU11は、S401に戻って、次の制限対象471について処理を行う。全ての制限対象471についての処理が終了したと判断した場合(S412:YES)、CPU11は、印刷制限処理を終了して、図2のプリンタ管理処理に戻る。
図2のプリンタ管理処理の説明に戻る。CPU11は、S102の印刷制限処理の後、ユーザIF15を介して各種の指示を受け付ける。CPU11は、例えば、ユーザIF15に指示を受け付ける各種のボタンを表示させ、各ボタンへの操作を受け付ける。CPU11は、例えば、ユーザを登録する指示、グループを登録する指示、プリンタを登録する指示、プリンタの管理情報を出力する指示、ログを更新する指示、アプリを終了する指示、を受け付ける。
CPU11は、ユーザまたはグループの情報を編集する指示を受け付けたか否かを判断する(S103)。本形態のプリンタ管理アプリ41は、例えば、一旦ゲストユーザとして登録されたユーザの情報の編集、新たなユーザの登録、グループの情報の編集を受け付ける。ユーザまたはグループの情報を編集する指示を受け付けたと判断した場合(S103:YES)、CPU11は、図5に示したユーザ登録処理を実行する(S104)。S104では、未登録のユーザIDを受け付けていないことから、表示される入力フォーム61には、新規のユーザの入力欄612は含まれない。
ユーザまたはグループの情報を編集する指示を受け付けていないと判断した場合(S103:NO)、CPU11は、ログ記憶場所の登録指示を受け付けたか否かを判断する(S105)。ログ記憶場所は、プリンタ2~6に印刷ログ51を記憶させる記憶場所である。ログ記憶場所の登録指示を受け付けたと判断した場合(S105:YES)、CPU11は、ログ記憶場所の入力を受け付けて、受け付けたログ記憶場所の情報を登録する(S106)。プリンタ管理アプリ41は、プリンタ2~6に記憶場所の情報を設定する前に、記憶場所の登録を受け付け、一旦不揮発性メモリ14に記憶する。不揮発性メモリ14に登録された記憶場所は、後述するプリンタ登録処理にて、プリンタ2~6に印刷ログ51を記憶させる記憶場所の候補として使用される。
S106の後、または、ログ記憶場所の登録指示を受け付けていないと判断した場合(S105:NO) 、CPU11は、プリンタを登録する指示を受け付けたか否かを判断する(S107)。プリンタを登録する指示を受け付けたと判断した場合(S107:YES)、CPU11は、プリンタ登録処理を実行する(S108)。プリンタ登録処理は、プリンタ管理アプリ41による管理対象となるプリンタをプリンタ登録DB44(図1参照)に登録する処理である。管理者は、例えば、印刷システム100にプリンタを追加した場合に、プリンタ登録処理の実行を指示する。プリンタ登録処理の手順について、図11のフローチャートを参照して説明する。
プリンタ登録処理では、CPU11は、まず、登録対象のプリンタに関する情報の入力を受け付ける入力フォームをユーザIF15に表示させ(S501)、入力フォームへの入力を検知することで各情報の入力を受け付ける(S502)。CPU11は、プリンタに関する情報として、プリンタ登録DB44に登録するための各情報、例えば、プリンタ名、プリンタのIPアドレス、印刷ログレコードの記憶場所、コスト係数の指定を受け付ける。
プリンタ登録DB44は、例えば、図12に示すように、プリンタID441、プリンタ名442、IPアドレス443、ログ記憶場所444、認証情報445、コスト係数446、の各情報が関連付けられたレコードを含む。プリンタID441は、登録対象のプリンタを識別するプリンタ識別情報であり、ログ情報DB45のプリンタID451に対応する情報である。プリンタ名442は、管理者が登録対象のプリンタを識別するための名称である。IPアドレス443は、PC1が通信IF16を介して登録対象のプリンタと通信するためのアドレスである。
ログ記憶場所444は、登録対象のプリンタが印刷ログレコードを送信して記憶させる記憶先を示す情報であり、例えば、ファイルサーバ9の所定のフォルダを示すURLである。登録対象のプリンタは、PC1にて印刷ログ51を収集する収集対象の対象プリンタである。ログ記憶場所444は、宛先情報の一例である。S502にてログ記憶場所444の入力を受け付ける処理は、宛先情報受付処理の一例である。CPU11は、例えば、入力フォームにログ記憶場所444の候補の一覧を表示させ、管理者の選択を受け付ける。ログ記憶場所444の候補としては、例えば、他のプリンタに関連付けて記憶されているログ記憶場所444の情報、前述したログ記憶場所の登録指示に基づいて登録した記憶場所の情報、がある。
認証情報445は、印刷ログの記憶場所への記憶に必要な認証情報である。記憶場所への記憶にアカウントやパスワード等の認証情報が必要である場合、認証情報445に必要な情報が記憶される。コスト係数446は、前述した印刷制限処理(図9参照)にて合計コストの算出に使用する係数である。
CPU11は、入力フォームにて受け付けた情報に基づいて、印刷ログの記憶場所への記憶にアカウントやパスワード等の認証情報が必要であるか否かを判断する(S503)。指定された記憶場所が、例えば、クラウドサーバ中の所定のフォルダである場合、認証情報の入力を求められる場合が多い。アカウント及びパスワードが必要であると判断した場合(S503:YES)、CPU11は、認証情報445の入力を求める表示を行い、入力を受け付ける(S504)。なお、S503の判断をCPU11にて行う代わりに、管理者に問い合わせても良い。
S504の後、または、アカウント及びパスワードが必要でないと判断した場合(S503:NO)、CPU11は、通信IF16を介して、ログ記憶場所444として入力された情報である印刷ログレコードの記憶場所を示す情報を、登録対象のプリンタに送信する(S505)。S505は、送信処理の一例である。認証情報445が入力されていれば、CPU11は、その情報もプリンタに送信する。これにより、登録対象のプリンタは、受信した記憶場所の情報を自装置に記憶し、生成した印刷ログレコードをその記憶場所に送信する。
そして、CPU11は、登録対象のプリンタの特徴を示す情報を取得する(S506)。CPU11は、プリンタの特徴を示す情報として、例えば、登録対象のプリンタのモデルを識別する情報であるモデル識別情報、登録対象のプリンタの能力を示す情報である能力情報、登録対象のプリンタにて使用される印刷媒体を示す情報である印刷媒体情報、の少なくとも1つを取得する。CPU11は、登録対象のプリンタの情報を当該プリンタから取得しても良いし、管理者による入力を受け付けても良い。S506は、特徴情報取得処理の一例であり、モデル識別情報や能力情報は、特徴情報の一例である。
CPU11は、取得したプリンタの情報に基づいて、係数情報DB46(図1参照)を参照して基本係数を取得する(S507)。係数情報DB46は、例えば、図13に示すように、モデル名461、能力情報462、基本係数463、の各情報が関連付けられたレコードを含む。CPU11は、取得したプリンタの情報がモデル識別情報であれば、該当するモデル名461に関連付けて記憶されている基本係数463を取得する。また、CPU11は、取得したプリンタの情報が能力情報であれば、類似の能力情報462に関連付けて記憶されている基本係数463を取得する。モデル名461や能力情報462は、単位値分類情報の一例である。係数情報DB46は、第4データベースの一例であり、基本係数463は、単位値の初期値であり、初期単位値の一例である。
なお、図13では、モデル名461、能力情報462、基本係数463の3種類の情報が対応付けられた係数情報DB46の例を示したが、係数情報DBには、さらに、印刷媒体情報を含んでも良い。また、係数情報DBは、モデル名、能力情報、印刷媒体情報の少なくとも1つと、基本係数とが関連付けられたDBであっても良い。
さらに、CPU11は、取得した基本係数への編集を受け付け(S508)、コスト係数を決定する(S509)。CPU11は、例えば、取得した基本係数をユーザIF15に表示させ、管理者による編集を受け付け、編集後の値をコスト係数とする。管理者は、例えば、各プリンタ2~6の設置場所や使用契約、印刷媒体の種類等に基づいて、基本係数を編集する。管理者による編集は受け付けなくても良く、編集を受け付けなかった場合には、基本係数がコスト係数となる。
そして、CPU11は、受け付けた情報に基づいて、登録対象のプリンタの情報をプリンタ登録DB44に登録する(S510)。S510では、登録対象のプリンタのログ記憶場所444をプリンタID441と関連付けて、プリンタ登録DB44に登録する。この場合のプリンタ登録DB44は、第2データベースの一例であり、S510は、プリンタ情報登録処理の一例である。また、S510では、登録対象のプリンタのコスト係数446をプリンタID441と関連付けてプリンタ登録DB44に登録する。この場合のプリンタ登録DB44は、第5データベースの一例であり、S510は、単位値登録処理の一例である。S510の後、CPU11は、プリンタ登録処理を終了し、図2のプリンタ管理処理に戻る。
図2のプリンタ管理処理の説明に戻る。プリンタを登録する指示を受け付けていないと判断した場合(S107:NO)、CPU11は、プリンタの管理情報を出力する指示を受け付けたか否かを判断する(S109)。管理情報を出力する指示を受け付けたと判断した場合(S109:YES)、CPU11は、管理情報出力処理を実行する(S110)。管理情報出力処理は、プリンタを管理するために必要な各種の情報を出力する処理であり、例えば、ユーザごとやグループごとのプリンタの使用量を纏めてユーザIF15に表示させる処理である。管理情報出力処理の手順について、図14のフローチャートを参照して説明する。
管理情報出力処理では、CPU11は、出力対象を指定する指示を受け付ける(S601)。出力対象は、管理のための情報を表示させる対象であり、CPU11は、出力対象として、例えば、表示させるユーザ名やグループ名、プリンタ、期間の指定を受け付ける。CPU11は、例えば、ユーザ登録DB42に登録されているユーザ名422、及び、グループ登録DB43に登録されているグループ名432の一覧をユーザIF15に表示させ、管理者によるユーザ名またはグループ名の選択を受け付ける。そして、CPU11は、ユーザ名422の指定を受け付けたか否かを判断する(S602)。
ユーザ名422の指定を受け付けたと判断した場合(S602:YES)、CPU11は、ユーザ登録DB42に基づいて、指定されたユーザ名422に関連付けて記憶されている全てのユーザID421を取得する(S603)。CPU11は、複数のユーザ名422の指定を受け付けても良く、その場合には、指定されたユーザ名422ごとに、全てのユーザID421を取得する。
ユーザ名422の指定を受け付けていないと判断した場合(S602:NO)、CPU11は、グループ名432の指定を受け付けたか否かを判断する(S604)。グループ名432の指定を受け付けたと判断した場合(S604:YES)、CPU11は、グループ登録DB43に基づいて、指定されたグループ名432に関連付けて記憶されているグループ内ユーザID433に含まれる全てのユーザIDを取得する(S605)。CPU11は、複数のグループ名432の指定を受け付けても良く、その場合には、指定されたグループ名432ごとに、全てのユーザIDを取得する。
S603の後、または、S605の後、CPU11は、ログ情報DB45から、取得したユーザIDが含まれるログDBレコードを抽出する(S606)。なお、ユーザ名422の指定もグループ名432の指定も受け付けなかった場合には、全てのユーザIDが出力対象となる。その場合、CPU11は、S606では、全てのユーザIDのログDBレコードを抽出する。S606は、抽出処理の一例である。S603またはS605にて取得されるユーザIDは、特定第1分類情報の一例である。
CPU11は、出力対象のプリンタである特定プリンタの指定を受け付けたか否かを判断する(S607)。CPU11は、例えば、プリンタ登録DB44に登録されているプリンタ名442の一覧をユーザIF15に表示させ、管理者による特定プリンタの選択を受け付ける。特定プリンタの指定を受け付けたと判断した場合(S607:YES)、CPU11は、指定された特定プリンタのプリンタ名442に関連付けて記憶されているプリンタID441が含まれる印刷ログレコードを抽出する(S608)。CPU11は、プリンタ登録DB44に基づいてプリンタID441を取得し、プリンタID451が取得したプリンタID441と一致している印刷ログレコードを、S606にて抽出した印刷ログレコードからさらに抽出する。
S608の後、または、プリンタの指定を受け付けていないと判断した場合(S607:NO)、CPU11は、抽出期間の指定を受け付けたか否かを判断する(S609)。CPU11は、例えば、抽出期間の入力を受け付ける入力ボックスをユーザIF15に表示させ、管理者の入力を受け付ける。抽出期間は、例えば、直近1ヶ月や今日等の現在を基点とした期間でも良いし、所定の開始日時と終了日時とを指定した期間であっても良い。抽出期間の指定を受け付けたと判断した場合(S609:YES)、CPU11は、印刷実行日時454が指定された期間内を示している印刷ログレコードを、S606またはS608にて抽出した印刷ログレコードからさらに抽出する(S610)。
S610の後、または、抽出期間の指定を受け付けていないと判断した場合(S609:NO)、CPU11は、抽出した印刷ログレコードの各印刷数から合計の使用量を算出する(S611)。さらに、CPU11は、算出した使用量に基づいて、表示用の使用量データを生成し、生成した使用量データをユーザIF15に表示させる(S612)。使用量データは、出力データの一例であり、S612は、出力処理の一例である。
使用量は、例えば、プリンタごとの印刷数の合計、全プリンタの印刷数の合計、プリンタごとの印刷数にコスト係数を乗算したコスト値、全プリンタのコスト値の合計である合計コスト、を示す情報である。プリンタの指定や期間の指定を受け付けていない場合には、CPU11は、プリンタごとの使用量や所定の期間ごとの使用量を算出しても良いし、全プリンタまたは全期間の合計の使用量のみを算出しても良い。
S612では、CPU11は、例えば、指定されたユーザ名またはグループ名のユーザによる合計コストをグラフで表示させる。CPU11は、指定されたユーザのプリンタごとのコスト値を表示させても良い。複数のユーザ名が指定された場合、CPU11は、例えば、図15(A)に示すように、ユーザ名ごとの合計コストをグラフで表示させる。プリンタの指定を受け付けた場合、CPU11は、例えば、当該プリンタのユーザごとの合計コストをグラフで表示させる。ユーザ名の指定もグループ名の指定もプリンタの指定も受け付けていない場合、CPU11は、例えば、プリンタごとの合計コストをグラフで表示させる。
出力対象としてグループ名の指定を受け付けた場合、CPU11は、グループ全体の合計の使用量データを表示させても良いし、グループに含まれる各ユーザIDに対応するユーザ名をユーザ登録DB42から読み出して、ユーザ名ごとに纏めた使用量データを表示させても良い。
S612にて使用量データを表示させた後、CPU11は、表示の態様を変更する指示を受け付けたか否かを判断する(S613)。使用量データの表示画面では、グラフと共に、例えば、出力対象の指示、プリンタ指定、期間指定、印刷数/コスト変更、グラフ/表の変更、の指示を受け付ける各種のボタンが表示される。CPU11は、各種のボタンへの操作によって、表示の態様の変更指示を受け付ける。
表示変更の指示を受け付けたと判断した場合(S613:YES)、CPU11は、受け付けた指示に従って変更した態様の使用量データを生成し、ユーザIF15に表示させる(S614)。CPU11は、例えば、出力対象やプリンタ、期間の変更の指示を受け付けた場合、S602~S611と同様の処理を行って、変更後の使用量データをグラフで表示させる。CPU11は、例えば、印刷数/コスト変更の指示を受け付けた場合、合計コストに代えて、印刷数、例えば、印刷した用紙の枚数を示すグラフを表示させる。
また、グラフ/表の変更指示を受け付けた場合、CPU11は、例えば、図15(B)に示すように、使用量データを表として表示させる。図15(B)は、指定されたユーザについて、プリンタごとの印刷数とそのコスト値、及び合計の枚数や合計コストを表示させた例である。プリンタごとのコスト値は、そのプリンタのコスト係数を用いて算出した値である。
つまり、表示させる使用量データの表示の態様は、プリンタ管理アプリ41にて予め決定されていても良いし、管理者によって選択可能であっても良い。表示の態様を示す情報は、例えば、ユーザ名であっても良く、この例でユーザ名は、出力態様情報の一例である。また、表示の態様を示す情報は、例えば、コスト係数であっても良い。その場合、CPU11は、コスト係数を用いて使用量を算出し、算出した使用量に基づいて、表示用の使用量データを生成する。この例でコスト係数は、出力態様情報の一例である。
なお、CPU11は、合計コストがコスト閾値を超えて印刷制限を行っているユーザを他のユーザと区別して表示しても良い。CPU11は、例えば、印刷制限中であることを示すメッセージやマークを表示しても良いし、グラフの色を変更して表示しても良い。また、CPU11は、算出した使用量に基づく使用量データをユーザIF15に表示させる代わりに、プリンタ等に印刷させても良いし、メールを作成して他の装置にメール送信しても良い。
S614の後、または、表示変更の指示を受け付けていないと判断した場合(S613:NO)、CPU11は、表示完了の指示を受け付けたか否かを判断する(S615)。表示完了の指示を受け付けていないと判断した場合(S615:NO)、CPU11は、S613に戻り、表示変更の指示、または、表示完了の指示を受け付けるまで待機する。表示完了の指示を受け付けたと判断した場合(S615:YES)CPU11は、管理情報出力処理を終了して、図2のプリンタ管理処理に戻る。
図2のプリンタ管理処理の説明に戻る。管理情報を出力する指示を受け付けていないと判断した場合(S109:NO)、CPU11は、ログを更新する指示を受け付けたか否かを判断する(S111)。ログを更新する指示を受け付けたと判断した場合(S111:YES)、CPU11は、前述したログ更新処理を実行し(S112)、さらに、印刷制限処理を実行する(S113)。なお、CPU11は、定期的なログ更新タイミングになった場合にも、S111にてYESと判断して、S112とS113とを実行する。
S104、S106、S108、S110、S113の各処理の後、または、ログを更新する指示を受け付けていないと判断した場合(S111:NO)、CPU11は、プリンタ管理アプリ41の終了指示を受け付けたか否かを判断する(S114)。終了指示を受け付けていないと判断した場合(S114:NO)、CPU11は、S103に戻って、各種の指示を受け付ける。終了指示を受け付けたと判断した場合(S114:YES)、CPU11は、プリンタ管理処理を終了する。
以上、詳細に説明したように、本形態のプリンタ管理アプリ41を実行することにより、PC1は、ユーザID421とユーザ名422とを関連付けたユーザ登録DB42を作成し、複数のユーザID421に対して関連付けが可能なユーザ名422を用いて、ユーザ名422に関連付けられたユーザID421を含む印刷ログを抽出し、ユーザ名422ごとに纏めた出力データを出力する。本形態の構成によれば、ユーザ名422で纏めて管理できるので、印刷ログを管理する上で、PC1をより有効に活用できる。また、各プリンタ2~6は、最低限、ユーザIDと印刷枚数の情報を含む印刷ログレコードを生成すれば良く、管理用の分類処理を行う必要がなく、管理用の分類結果を保持しておく必要もない。
さらに、本形態では、収集した印刷ログ51に、ユーザ登録DB42に未登録のユーザIDが含まれていた場合、ユーザ登録処理を実行してユーザ名の入力を促す。これにより、未登録のユーザIDに関連付けるユーザ名の入力及び、ユーザIDとユーザ名とのユーザ登録DB42への登録が期待できる。登録されれば、PC1は、ユーザ登録DB42に基づいて、未登録であったユーザIDについても分類が可能になる。
また、本形態では、各プリンタ2~6は、指定された記憶場所であるファイルサーバ9に印刷ログレコードを送信するので、PC1は、印刷ログレコードの収集に際して、プリンタ2~6にアクセスする必要はなく、プリンタ2~6が起動していなくても印刷ログ51を収集できる。また、PC1は、プリンタ登録DB44にプリンタごとのログ記憶場所444を記憶しているので、ログの記憶場所をプリンタに問い合わせる必要はなく、印刷ログの収集が容易になる。さらに、PC1から各プリンタに記憶場所を指定する情報を送信して各プリンタにその記憶場所を設定できることで、管理者が各プリンタまで設定のために移動する必要がなく、管理者による初期作業が容易になる。
また、一人のユーザが複数のユーザIDを使っていたとしても、ユーザ名422として纏めることで、一人のユーザ分の情報を出力できる。各プリンタは、ユーザ名の情報を保持する必要がない。
また、本形態では、グループ登録DB43には、グループ名432に関連付けてグループに含まれる各ユーザのユーザIDがグループ内ユーザID433として記憶されていることから、出力する使用量データとして、例えば、グループ名432によって分類されるデータを生成することができる。特に、ユーザ登録処理にてグループ名の指定も受け付けて、ユーザ登録DB42のユーザID421がそのグループのグループ内ユーザID433に登録されるので、管理者のグルーピングの作業は容易である。そして、グループごとの使用量を出力することで、出力された情報がより使い易くなる。プリンタは、グループの情報を保持する必要がなく、グルーピングを行う必要もない。
また、本形態では、プリンタ登録DB44にコスト係数446の情報が含まれ、コスト係数446の情報に基づく使用量データを生成して出力できるので、個別の印刷の価値を反映した情報を出力できる。各プリンタは、コスト係数の情報を保持する必要がない。なお、コスト係数は、プリンタのモデルごとの値であっても印刷能力に応じた値であってもプリンタの設置場所に応じた値であってもよい。プリンタのモデルや能力によって印刷のコストが異なることから、コスト係数を用いることでより好適な使用量データを生成できる。
また、本形態では、プリンタのモデル、能力、印刷媒体情報等に応じた基本係数を係数情報DB46に記憶しており、例えば、プリンタ登録DB44に登録されていないプリンタについて、プリンタのモデルや能力の情報の入力を受け付ける。そして、入力されたプリンタの情報に基づいて基本係数を自動的に取得してコスト係数とするか、または、取得した基本係数の編集を受け付け、編集後の値をコスト係数とする。従って、コスト係数を設定するための管理者の操作は、容易である。
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される各プリンタは、印刷のみを行う単機能の装置に限らず、複写機、複合機、FAX装置など、印刷機能を有するものであればよい。
また、実施の形態では、各プリンタ2~6は、全て同じファイルサーバ9に印刷ログレコードを送信するとしているが、それぞれ異なる記憶場所に印刷ログレコードを送信してもよい。例えば、PC1から指定された、それぞれ異なるファイルサーバに送信してもよい。また、実施の形態では、各プリンタ2~6による印刷ログレコードの記憶場所をそれぞれ異なるフォルダとしたが、同じ記憶場所であっても良い。その場合、プリンタ登録DB44は、各プリンタ2~6にログ記憶場所444が関連付けられたレコードを複数含む構成に限らず、複数のプリンタと1つのログ記憶場所とが関連付けられた構成でも良い。
また、プリンタ管理アプリ41にて使用する各種のDB42~47は、不揮発性メモリ14に限らず、PC1からアクセス可能な外部装置に記憶されていても良い。また、実施の形態では、各プリンタ2~6の印刷ログレコードをログ情報DB45に纏めて記憶するとしたが、これに限らず、例えばプリンタごとの個別のDBに記憶しても良い。
また、実施の形態では、ユーザ名が指定されなかったユーザIDをゲストユーザとしてユーザ登録DB42に登録するとしたが、登録しなくても良い。つまり、ユーザIDとユーザ名との両方が指定されたユーザのみをユーザ登録DB42に登録するとしても良い。
また、実施の形態では、プリンタ登録DB44は、プリンタID441ごとにログ記憶場所444が記憶されたレコードを含む構成であるとしたが、これに限らない。例えば、各プリンタ2~6が生成する印刷ログレコードにプリンタIDが含まれていれば、複数のプリンタID441に対して同じログ記憶場所444を設定しても良い。
また、例えば、コスト閾値472は、全ユーザに一律であっても良く、その場合はユーザ登録DB42にコスト閾値472の情報を含まなくても良い。また、制限期間473は、全ユーザに一律であっても良く、その場合はユーザ登録DB42に制限期間473の情報を含まなくても良い。
また、ログ情報DB45は、不揮発性メモリ14に記憶されていなくても良い。例えば、プリンタ管理アプリ41の起動に応じて、CPU11は、ファイルサーバ9から取得した印刷ログ51をRAM13に記憶して、各処理を実行しても良い。
また、プリンタ登録処理では、プリンタの情報に基づく基本係数に対する編集を受け付けてコスト係数を決定するとしたが、これに限らない。例えば、編集を受け付けなくても良い。また、管理者によるコスト係数そのものの入力を受け付けても良い。また、係数情報DB46を不揮発性メモリ14に備える代わりに、プリンタ管理アプリ41に組み込まれていても良いし、外部デバイスからダウンロードしても良い。
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。