(57)【要約】【課題】出力装置の種類に依存せずに出力装置による出力状況の情報を集計できるプログラム、情報処理装置及び情報管理方法を提供することを課題とする。【解決手段】  コンピュータを、第一の出力データ作成手段２７により出力装置に依存しない第一の出力データが作成されたことを通知されたあと、第一の出力データから出力装置に依存する第二の出力データを作成して出力装置に出力を行わせる第二の出力データ作成手段２８に第一の出力データを送信する出力手段５８と、第一の出力データに基づいて、出力装置による出力状況の情報を生成する情報生成手段５９と、出力装置による出力状況の情報を収集装置に送信する情報送信手段６０として機能させるためのプログラムにより上記課題を解決する。【選択図】  図４
2014164691.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
第一の出力データ作成手段により出力装置に依存しない第一の出力データが作成されたことを通知されたあと、前記第一の出力データから前記出力装置に依存する第二の出力データを作成して前記出力装置に出力を行わせる第二の出力データ作成手段に前記第一の出力データを送信する出力手段と、
前記第一の出力データに基づいて、前記出力装置による出力状況の情報を生成する情報生成手段と、
前記出力装置による出力状況の情報を、該情報を収集する収集装置に送信する情報送信手段と
して機能させるためのプログラム。
【請求項２】
前記コンピュータを、更に、
前記第一の出力データの出力先が前記出力装置であるかを判定する出力先管理手段として機能させ、
前記情報生成手段は、前記第一の出力データの出力先が前記出力装置であるときに前記出力装置による出力状況の情報を生成し、前記第一の出力データの出力先がファイル出力であるときに前記出力装置による出力状況の情報を生成しないこと
を特徴とする請求項１記載のプログラム。
【請求項３】
前記出力手段は、前記第一の出力データの出力先がファイル出力であるときに、前記第一の出力データからファイル出力を行う前記第二の出力データ作成手段に前記第一の出力データを送信すること
を特徴とする請求項２記載のプログラム。
【請求項４】
前記コンピュータを、更に、
前記出力装置による出力を要求したユーザが前記出力を許可されているか否かを判定する出力許可判定手段として機能させ、
前記出力手段は、前記ユーザが前記出力を許可されていると判定されたあとで、前記第二の出力データ作成手段に前記第一の出力データを送信すること
を特徴とする請求項１乃至３何れか一項記載のプログラム。
【請求項５】
前記コンピュータを、更に、
前記出力装置による出力を要求したユーザが前記出力を制限されているか否かを判定する利用制限判定手段として機能させ、
前記出力手段は、前記ユーザが前記出力を制限されていないと判定されたあとで、前記第二の出力データ作成手段に前記第一の出力データを送信すること
を特徴とする請求項１乃至４何れか一項記載のプログラム。
【請求項６】
前記第二の出力データ作成手段にはユーザによる利用不可のアクセス権が付けられると共に前記出力手段による利用可のアクセス権が付けられること
を特徴とする請求項１乃至５何れか一項記載のプログラム。
【請求項７】
前記情報送信手段は、前記出力装置による出力状況の情報のうち、前記収集装置に送信する前記情報を選択すること
を特徴とする請求項１乃至６何れか一項記載のプログラム。
【請求項８】
前記情報送信手段は、前記出力装置による出力状況の情報のうち、前記収集装置に送信済みの前記情報を送信しないこと
を特徴とする請求項７記載のプログラム。
【請求項９】
前記出力装置は前記収集装置とネットワークを介して接続されていないこと
を特徴とする請求項１乃至８何れか一項記載のプログラム。
【請求項１０】
前記第一及び第二の出力データ作成手段はプリンタドライバであること
を特徴とする請求項１乃至９何れか一項記載のプログラム。
【請求項１１】
出力装置に依存しない第一の出力データを作成する第一の出力データ作成手段と、
前記第一の出力データから前記出力装置に依存する第二の出力データを作成して前記出力装置に出力を行わせる第二の出力データ作成手段と、
第一の出力データ作成手段により出力装置に依存しない第一の出力データが作成されたことを通知されたあと、前記第二の出力データ作成手段に前記第一の出力データを送信する出力手段と、
前記第一の出力データに基づいて、前記出力装置による出力状況の情報を生成する情報生成手段と、
前記出力装置による出力状況の情報を、該情報を収集する収集装置に送信する情報送信手段と
を有する情報処理装置。
【請求項１２】
コンピュータによって実行される情報管理方法であって、
第一の出力データ作成手段により出力装置に依存しない第一の出力データが作成されたことを通知される通知ステップと、
前記通知ステップのあと、前記第一の出力データから前記出力装置に依存する第二の出力データを作成して前記出力装置に出力を行わせる第二の出力データ作成手段に前記第一の出力データを送信する出力ステップと、
前記第一の出力データに基づいて、前記出力装置による出力状況の情報を生成する情報生成ステップと、
前記出力装置による出力状況の情報を、該情報を収集する収集装置に送信する情報送信ステップと
を有する情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び情報管理方法に関する。
【背景技術】
【０００２】
ネットワークに接続されたプリンタに対して、使用された用紙枚数を使用したユーザごとに計数し、そのデータをもとに課金などを行うジョブアカウンティングシステムが製品化されている。
【０００３】
従来のジョブアカウンティングシステムはプリンタドライバからジョブアカウンティングに用いるための印刷情報を取得する取得手段と、ジョブアカウンティングを用いるための印刷情報をサーバ装置に通知する処理を制御する制御手段と、を有するジョブアカウンティングアプリケーションを実行することを特徴としていた（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
アカウンティングに必要な情報は画像形成装置に搭載されている機能や画像形成装置のプリンタドライバに搭載されている機能により、ユーザ毎に集計される場合がある。したがって、アカウンティングに必要な情報の集計は画像形成装置の種類に依存してしまうというという問題があった。
【０００５】
このような事情は、画像形成装置と同様に、アカウンティングに必要な情報を集計する各種出力装置において共通の課題であると言える。
【０００６】
本発明の実施の形態は上記の点に鑑みなされたもので、出力装置の種類に依存せずに出力装置による出力状況の情報を集計できるプログラム、情報処理装置及び情報管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本願請求項１は、コンピュータを、第一の出力データ作成手段により出力装置に依存しない第一の出力データが作成されたことを通知されたあと、前記第一の出力データから前記出力装置に依存する第二の出力データを作成して前記出力装置に出力を行わせる第二の出力データ作成手段に前記第一の出力データを送信する出力手段と、前記第一の出力データに基づいて、前記出力装置による出力状況の情報を生成する情報生成手段と、前記出力装置による出力状況の情報を、該情報を収集する収集装置に送信する情報送信手段として機能させるためのプログラムであることを特徴とする。
【発明の効果】
【０００８】
本発明の実施の形態によれば、出力装置の種類に依存せずに出力装置による出力状況の情報を集計できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る情報処理システムの一例の構成図である。
【図２】本実施形態に係るコンピュータシステムの一例のハードウェア構成図である。
【図３】クライアント端末の一例の処理ブロック図である。
【図４】クライアント端末の詳細な処理ブロック図である。
【図５】アカウンティングサーバの一例の処理ブロック図である。
【図６】印刷処理の手順を表した一例のフローチャート図である。
【図７】アカウンティング情報送信処理の手順を表した一例のフローチャート図である。
【図８】システム設定部により管理されている設定情報の一例の構成図である。
【図９】アカウンティング情報の一例の構成図である。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態について、詳細に説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係る情報処理システムの一例の構成図である。図１の情報処理システム１はインターネットやＬＡＮなどのネットワークＮ１によりクライアント端末１０とアカウンティングサーバ１１とプリンタ１２Ａ〜１２Ｄとプリントサーバ１３とがデータ通信可能に接続されている。
【００１１】
クライアント端末１０はユーザが利用するＰＣ等の情報処理装置である。クライアント端末１０は一般的なＯＳなどが搭載されたＰＣ、スマートフォンや携帯電話などユーザが利用可能な装置であればよい。クライアント端末１０は無線による通信の手段または有線による通信の手段を有する。クライアント端末１０はキーボードやマウスなどの入力装置やディスプレイなどの出力装置を有しており、ＯＳ上で１つ以上のアプリケーションプログラムが動作する。
【００１２】
図１に示すクライアント端末１０はプリンタ１２Ａと有線又は無線により直接接続されている。クライアント端末１０はプリンタ１２Ｂ及び１２ＣとネットワークＮ１を介して間接的に接続されている。また、クライアント端末１０はプリンタ１２ＤとネットワークＮ１及びプリントサーバ１３を介して間接的に接続されている。なお、プリンタ１２Ｂはアカウンティング機能が無いものとする。プリンタ１２Ｃはアカウンティング機能が有るものとする。プリンタ１２Ｃは自機のアカウンティング機能により後述のアカウンティング情報をアカウンティングサーバ１１に送信できる。
【００１３】
以下ではプリンタ１２Ａ〜１２Ｄの何れでもよい場合にプリンタ１２と総称する。プリンタ１２はコピーやファクシミリ、スキャナなどを装備した複合機であってもよい。プリンタ１２は画像形成装置の一例である。画像形成装置は出力装置の一例である。クライアント端末１０は、任意の文書作成ソフトウェアなどのアプリケーションからプリンタドライバを介して接続されているプリンタ１２に印刷を行わせることができる。
【００１４】
プリントサーバ１３は一般的なサーバ用ＯＳなどが搭載され、プリンタ１２Ｄをクライアント端末１０から利用させるための情報処理装置である。プリントサーバ１３上に作成した仮想（論理）プリンタドライバは、ネットワークＮ１を介してクライアント端末１０が利用できる。
【００１５】
プリントサーバ１３上にある仮想プリンタドライバを利用して印刷するとき、アカウンティング情報を送信する処理は、クライアント端末１０又はプリントサーバ１３の何れかで行えばよい。プリントサーバ１３上にある仮想プリンタドライバを利用せずに印刷するとき、アカウンティング情報を送信する処理は、クライアント端末１０で行えばよい。
【００１６】
アカウンティングサーバ１１は、プリンタ１２による印刷状況の情報を集計する。例えばアカウンティングサーバ１１は印刷された用紙枚数をユーザ毎に集計し、そのデータを基に課金などを行う。
【００１７】
また、アカウンティングサーバ１１は両面やカラー設定などのＴＣＯ削減や環境に関わる印刷設定の利用状況をユーザ毎に集計し、表やグラフなどでレポーティングするためのレポーティング情報を提供する。アカウンティングがユーザ毎に行われるため、アカウンティングサーバ１１により認証されたユーザがプリンタ１２を利用できるといった運用は多い。アカウンティングサーバ１１は後述のように認証の仕組みを持つ。
【００１８】
ネットワークＮ１はクライアント端末１０、アカウンティングサーバ１１、プリンタ１２Ｂ、プリンタ１２Ｃ及びプリントサーバ１３の間で情報伝達可能であればよく、ルータやファイアウォールなどの機器を挟んで構成されることもある。図１では、一例としてクライアント端末１０、アカウンティングサーバ１１及びプリントサーバ１３が一台、プリンタ１２が４台の例を示しているが、その他の構成であってもよい。
【００１９】
＜ハードウェア構成＞
クライアント端末１０、アカウンティングサーバ１１及びプリントサーバ１３は、例えば図２に示すハードウェア構成の情報処理装置により実現される。
【００２０】
図２は本実施形態に係るコンピュータシステムの一例のハードウェア構成図である。図２に示したコンピュータシステム５００は入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ（Random Access Memory）５０４、ＲＯＭ（Read Only Memory）５０５、ＣＰＵ（Central Processing Unit）５０６、通信Ｉ／Ｆ５０７、及びＨＤＤ（Hard Disk Drive）５０８などを備え、それぞれがバスＢで相互に接続されている。
【００２１】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイなどを含み、コンピュータシステム５００による処理結果を表示する。
【００２２】
通信Ｉ／Ｆ５０７は、コンピュータシステム５００をネットワークＢに接続するインタフェースである。これにより、コンピュータシステム５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００２３】
ＨＤＤ５０８はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム５００全体を制御する基本ソフトウェアであるＯＳ（Operating System）や、ＯＳ上において各種機能を提供するアプリケーションプログラムなどがある。ＨＤＤ５０８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢ（データベース）により管理している。
【００２４】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータシステム５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）、ＵＳＢメモリ（Universal Serial Bus memory）などがある。
【００２５】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ５０５には、コンピュータシステム５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２６】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータシステム５００全体の制御や機能を実現する演算装置である。コンピュータシステム５００のハードウェア構成により、クライアント端末１０、アカウンティングサーバ１１及びプリントサーバ１３は後述するような各種処理を実現できる。
【００２７】
＜ソフトウェア構成＞
以下では、アカウンティング情報を送信する処理をクライアント端末１０で行う例について説明するが、プリントサーバ１３で行う場合も同様である。
【００２８】
《クライアント端末１０》
本実施形態に係るクライアント端末１０は例えば図３に示す処理ブロックにより実現される。図３はクライアント端末の一例の処理ブロック図である。
【００２９】
クライアント端末１０は、プログラムを実行することにより、アプリケーション（プラグイン）２１、プラットフォーム（Ｃｏｒｅ）２２、ＯＳＧｉ（Open Service Gateway Initiative）２３、ＪａｖａＶＭ２４、プラットフォームＡＰＩ（Application Programming Interface）２５、記憶部２６、仮想プリンタドライバ２７、実プリンタドライバ２８を実現している。
【００３０】
アプリケーション２１は、アカウンティングプラグイン３１、その他のプラグイン３２を有する。アカウンティングプラグイン３１は、後述のようにアカウンティング情報をアカウンティングサーバ１１に送信する為の処理を行う。その他のプラグイン３２は、何らかの処理を行う。その他のプラグイン３２は必須ではない。
【００３１】
プラットフォームＡＰＩ２５はアカウンティングプラグイン３１、その他のプラグイン３２がプラットフォーム２２を利用するためのインタフェースである。プラットフォームＡＰＩ２５はアプリケーション２１からの要求を、プラットフォーム２２が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
【００３２】
プラットフォーム２２は、認証部３３、通信部３４などを有する。認証部３３は例えばアプリケーション２１からの要求に基づいて認証に関する処理を行う。通信部３４はアカウンティングサーバ１１などとの通信を実行する。通信部３４は例えばアカウンティング情報をアカウンティングサーバ１１に送信する。
【００３３】
ＯＳＧｉ２３は、プラグイン（Ｊａｖａモジュール）の動的追加や実行を管理するための基盤システム（ＯＳＧｉフレームワーク）である。ＪａｖａＶＭ（Virtual Machine）２４はプラグインの実行環境である。なお、ＯＳＧｉ２３及びＪａｖａＶＭ２４は既存の技術であるため、説明を省略する。
【００３４】
記憶部２６は後述の中間ファイルなどを記憶する。仮想プリンタドライバ２７は文書作成ソフトウェアなどの任意のアプリケーションにより作成されたアプリケーションデータから中間データを作成する。中間データはプリンタ１２の種類に依存しない印刷データである。ＸＰＳ（XML Paper Specification）形式のデータは中間データの一例である。実プリンタドライバ２８は中間データからＲＡＷデータを作成する。ＲＡＷデータはプリンタ１２の種類に依存する印刷データである。ＰＤＬ（Page Description Language）形式のデータはＲＡＷデータの一例である。
【００３５】
図３のクライアント端末１０は複数のアプリケーション（プラグイン）２１が共通に利用する機能をプラットフォーム２２に集約することで、処理を集約している。なお、図３の処理ブロック図の分類形態は一例であり、図３に示されるような階層で分類されていることは必須でない。
【００３６】
図４はクライアント端末の詳細な処理ブロック図である。図４はクライアント端末１０の処理ブロックのうち、本実施形態の説明に必要な構成を表している。図４ではクライアント端末１０の仮想プリンタドライバ２７、実プリンタドライバ２８、アカウンティングプラグイン３１を表している。
【００３７】
クライアント端末１０ではＯＳが動作しているものとする。通常、ＯＳ上で動作する文書作成ソフトウェアなどのアプリケーションが印刷する際には、グラフィックエンジンにアプリケーションデータを描画することによりアプリケーションデータがプリンタドライバに渡される。プリンタドライバはアプリケーションデータをＰＤＬ形式などのプリンタ１２に理解できるコード（ＲＡＷデータ）に変換し、スプーラに蓄積する。スプーラがプリンタ１２にＲＡＷデータを送信することによって印刷が実行される。
【００３８】
なお、ＯＳの一例としてのＷｉｎｄｏｗｓ（登録商標）ではグラフィックエンジンがＧＤＩ（Graphic Device Interface）と呼ばれる。ＧＤＩ及びスプーラはＯＳによって提供される。
【００３９】
近年、ＸＰＳ形式のデータなど、中間データは印刷スプールファイルフォーマットとしても利用されるようになった。文書作成ソフトウェアなどのアプリケーションによりＸＰＳに対応したプリンタドライバを利用して印刷を行った際には例えばＸＰＳ形式のデータがスプールされる。ＸＰＳ形式のデータ（ＸＰＳファイル）には印刷設定情報を有するプリントチケット（Print Ticket）ファイルを含めることができる。
【００４０】
図４のクライアント端末１０では仮想プリンタドライバ２７がアプリケーションからの描画データをＥＭＦ（Enhanced Metafile Format）、ビットマップ（Bitmap）、ＸＰＳ形式などの中間データに変換して、記憶部２６に中間ファイル４１として蓄積する。このときクライアント端末１０では中間ファイル４１に印刷設定情報を含ませて蓄積する。
【００４１】
以下では、中間データとしてＸＰＳファイル、印刷設定情報としてＸＰＳファイルに含まれるプリントチケットファイルを利用する例について説明する。
【００４２】
仮想プリンタドライバ２７はＸＰＳファイルを生成し、例えばジョブ開始、ページ生成開始、終了、ジョブ終了といったステータスのタイミングでアカウンティングプラグイン３１に通知する。メッセージ受信の仕組みとしてはプロセス間通信を一例として挙げることができる。通知する情報は、前述のステータス、ＸＰＳファイルパス、及び、ジョブ情報である。ジョブ情報には、ドキュメント名、ユーザ名などが含まれる。
【００４３】
アカウンティングプラグイン３１は、ＵＩ部５１、システム設定部５２、データ受信部５３、制御部５４、印刷ジョブ管理部５５、出力先管理部５６、アカウンティング情報管理部５７、印刷部５８、アカウンティング情報生成部５９、アカウンティング情報送信部６０を有する。
【００４４】
ＵＩ部５１はシステム設定におけるユーザインタフェースを提供する。システム設定部５２は管理者などにより予め設定されたアカウンティングサーバ１１のネットワークアドレスや印刷する実プリンタドライバ２８などの設定情報を管理する。データ受信部５３は仮想プリンタドライバ２７で印刷が行われたことを前述のメッセージ等により受信して制御部５４に通知する。
【００４５】
制御部５４は印刷処理を制御する。印刷ジョブ管理部５５は印刷ジョブ及びジョブ情報を管理する。出力先管理部５６は実プリンタドライバ２８の出力先を管理する。アカウンティング情報管理部５７はアカウンティングサーバ１１によるユーザ認証及び利用制限などを管理する。
【００４６】
印刷部５８は、ＸＰＳファイルの印刷を実プリンタドライバ２８に行わせる。アカウンティング情報生成部５９はＸＰＳファイルと、そのＸＰＳファイルに含まれるプリントチケットファイルとを解析して、アカウンティング情報を生成する。アカウンティング情報はファイル６１として記憶部２６に保存される。アカウンティング情報は、印刷枚数、両面設定、カラー設定、印刷用紙サイズなどである。
【００４７】
印刷枚数は、ページ数と印刷設定とによって決定される。ページ数はＸＰＳファイルに含まれるページファイルの数をカウントすることにより取得できる。印刷設定は部数、集約、両面、製本設定、ページサイズなどにより決定する。
【００４８】
例えば部数が５部であればページ数を５倍にする、２ページを１ページに集約するのであればページ数を２で割る、といった要領でアカウンティング情報生成部５９は印刷枚数を決定する。なお、両面設定、カラー設定、印刷用紙サイズはプリントチケットファイルから取得できる。
【００４９】
アカウンティング情報送信部６０は記憶部２６にアカウンティング情報のファイル６１が保存されることを監視し、アカウンティング情報のファイル６１が保存されるとアカウンティング情報をアカウンティングサーバ１１に送信する。なお、図４の処理ブロックは一例であって、例えばアカウンティングプラグイン３１の処理ブロックの少なくとも一部を仮想プリンタドライバ２７に含ませてもよい。また、アカウンティングプラグイン３１は複数のプラグイン２１により実現してもよい。さらに、アカウンティングプラグイン３１の処理ブロックの少なくとも一部はプラットフォーム２２に含ませてもよい。
【００５０】
《アカウンティングサーバ１１》
本実施形態に係るアカウンティングサーバ１１は例えば図５に示す処理ブロックにより実現される。図５はアカウンティングサーバの一例の処理ブロック図である。
【００５１】
アカウンティングサーバ１１は、プログラムを実行することにより、通信部７１、認証処理部７２、利用制限チェック部７３、アカウンティング情報受信部７４、認証情報保存部７５、利用制限情報保存部７６、アカウンティング情報保存部７７を実現している。
【００５２】
通信部７１はクライアント端末１０などとの通信を実行する。通信部７１は例えばアカウンティング情報をクライアント端末１０から受信する。認証処理部７２はクライアント端末１０からのユーザが印刷許可されているかの問い合わせに対し、印刷許可又は印刷無許可を返す。認証処理部７２は認証情報保存部７５に保存されている認証情報を利用してユーザが印刷許可か印刷無許可かを判定する。
【００５３】
利用制限チェック部７３はクライアント端末１０からのユーザが利用制限されているかの問い合わせに対し、利用可又は利用不可を返す。利用制限チェック部７３は利用制限情報保存部７６に保存されている利用制限情報を利用してユーザが利用可か利用不可かを判定する。
【００５４】
アカウンティング情報受信部７４はクライアント端末１０からアカウンティング情報を受信する。アカウンティング情報受信部７４は、受信したアカウンティング情報をアカウンティング情報保存部７７に保存する。
【００５５】
＜処理の詳細＞
以下では本実施形態に係るアカウンティングプラグイン３１の処理の詳細について説明する。
【００５６】
《印刷処理》
図６は印刷処理の手順を表した一例のフローチャート図である。アカウンティングプラグイン３１のデータ受信部５３は仮想プリンタドライバ２７からの前述のメッセージの受信を待つ。
【００５７】
ステップＳ１においてデータ受信部５３は、仮想プリンタドライバ２７で印刷が行われたことを前述のメッセージ等により受信して制御部５４に通知する。ステップＳ２において制御部５４は、出力先管理部５６に実プリンタドライバ２８の出力先のチェックを要求する。出力先管理部５６は実プリンタドライバ２８の出力先をチェックする。出力先管理部５６は実プリンタドライバ２８に紐付けられているポートモニタやポート名で出力先を判定する。
【００５８】
例えばポートモニタがＰＤＦ生成用のものであれば出力先管理部５６はファイル出力と判定する。また、ポート名がディレクトリ名形式であれば出力先管理部５６はファイル出力と判定する。あるいは、出力先管理部５６は、出力先が出力機器であるかどうかを示す設定情報を用いて出力先が出力機器と判定してもよい。
【００５９】
出力先が出力機器であれば、制御部５４はアカウンティング情報管理部５７にアカウンティングサーバ１１によるユーザ認証及び利用制限チェックを要求する。ステップＳ３において、アカウンティング情報管理部５７はジョブ情報からユーザ名を取得する。アカウンティング情報管理部５７は取得したユーザ名を認証部３３に渡し、そのユーザ名により特定されるユーザが印刷許可されているのか否かを問い合わせる。認証部３３はユーザ名により特定されるユーザが印刷許可されているかをアカウンティングサーバ１１に問い合わせる。認証部３３はアカウンティングサーバ１１から印刷許可又は印刷無許可が返されると、その内容をアカウンティング情報管理部５７に返す。
【００６０】
ユーザが印刷許可されていれば、アカウンティング情報管理部５７は、ユーザ名により特定されるユーザが利用制限されているか否かをアカウンティングサーバ１１に問い合わせる。アカウンティングサーバ１１はユーザ名により特定されるユーザが利用制限されているか否かを判定する。例えばアカウンティングサーバ１１は利用可能な印刷枚数の上限を超えている場合にユーザが利用制限されるといった運用を行うことができる。アカウンティングサーバ１１はユーザが利用制限されていない場合に利用可／ユーザが利用制限されている場合に利用不可をアカウンティング情報管理部５７に返す。
【００６１】
ユーザが利用制限されていなければ、制御部５４は印刷部５８に印刷を要求する。印刷部５８はステップＳ５において、システム設定部５２により管理されている設定情報から実プリンタの名前を取得し、その実プリンタの名前により特定される実プリンタドライバ２８にＸＰＳファイルを印刷させる。ステップＳ６において、アカウンティング情報生成部５９は制御部５４からの要求に基づき、ＸＰＳファイルと、そのＸＰＳファイルに含まれるプリントチケットファイルとを解析する。
【００６２】
ステップＳ７に進み、アカウンティング情報生成部５９はＸＰＳファイルと、そのＸＰＳファイルに含まれるプリントチケットファイルとを解析した結果に基づいて、アカウンティング情報を生成する。アカウンティング情報生成部５９は生成したアカウンティング情報を記憶部２６に保存する。
【００６３】
なお、ステップＳ２において、出力先が出力機器でなければ、制御部５４は印刷部５８に印刷を要求する。印刷部５８はステップＳ８において、システム設定部５２により管理されている設定情報から実プリンタの名前を取得し、その実プリンタの名前により特定される実プリンタドライバ２８にＸＰＳファイルを出力させる。出力先が出力機器でないために、制御部５４はアカウンティング情報生成部５９にアカウンティング情報の生成を要求しない。
【００６４】
また、ステップＳ３においてユーザが印刷許可されていない場合、ステップＳ４においてユーザが利用制限されている場合、制御部５４は図６のフローチャートの処理を終了することで印刷処理を中断する。
【００６５】
図４のクライアント端末１０には仮想プリンタドライバ２７と実プリンタドライバ２８とが存在する。本実施形態に係るクライアント端末１０ではユーザに仮想プリンタドライバ２７を選択して利用させるべきである。しかしながら、ユーザは実プリンタドライバ２８を選択して利用することもできる。ユーザが実プリンタドライバ２８を選択して利用した場合はアカウンティング情報の生成が行わずに、印刷ができてしまう。
【００６６】
通常、実プリンタドライバ２８にはアクセス権を付けることができる。そこで、実プリンタドライバ２８にはユーザが利用不可のアクセス権を付けると共に、特殊ユーザのアクセス権を付け、ユーザによる利用を制限できる。アカウンティングプラグイン３１は特殊ユーザとして起動することで、実プリンタドライバ２８を利用できる。
【００６７】
なお、図６のフローチャートにおいては、出力先が出力機器か、ユーザが印刷許可されているか、ユーザが利用制限されているか、の判定を行っているが、一又は複数を省略してもよい。
【００６８】
《アカウンティング情報送信処理》
記憶部２６に保存されたアカウンティング情報は図７に示す処理によりアカウンティングサーバ１１に送信される。図７はアカウンティング情報送信処理の手順を表した一例のフローチャート図である。
【００６９】
ステップＳ１１において、アカウンティング情報送信部６０はアカウンティング情報が存在するか否かをチェックする。なお、アカウンティング情報が存在するか否かのチェックの一例としては、アカウンティング情報を保存する記憶部２６を監視することが挙げられる。ステップＳ１１の処理はアカウンティング情報が存在すると判定されるまで繰り返し行われる。
【００７０】
アカウンティング情報が存在していれば、アカウンティング情報送信部６０はステップＳ１２においてアカウンティングサーバ１１への接続を試みる。アカウンティングサーバ１１へ接続可能であれば、アカウンティング情報送信部６０はステップＳ１３においてアカウンティング情報をアカウンティングサーバ１１へ送信する。
【００７１】
ステップＳ１４においてアカウンティング情報送信部６０はアカウンティングサーバ１１へ送信したアカウンティング情報を記憶部２６から削除する。アカウンティング情報送信部６０はステップＳ１５において終了要求があれば図７の処理を終了する。
【００７２】
終了要求がなければ、アカウンティング情報送信部６０はステップＳ１１に戻り処理を続ける。また、ステップＳ１２において、アカウンティングサーバ１１へ接続可能でなければ、アカウンティング情報送信部６０はステップＳ１１に戻り処理を続ける。
【００７３】
図７のシーケンス図は全てのアカウンティング情報をアカウンティングサーバ１１に送信しているが、送信するアカウンティング情報をテーブルなどにより管理したり、重複したアカウンティング情報が既に送信されていないかをチェックしたりしてもよい。例えば図１のプリンタ１２Ｃはアカウンティング機能があるため、自機のアカウンティング機能によりアカウンティング情報をアカウンティングサーバ１１に送信する可能性がある。
【００７４】
そこで、本実施形態に係る情報処理システム１では、クライアント端末１０又はアカウンティングサーバ１１に、重複したアカウンティング情報を排除する仕組みを設けるようにしてもよい。
【００７５】
図８はシステム設定部により管理されている設定情報の一例の構成図である。設定情報には、アカウンティングサーバ１１のＩＰアドレス１０１、アカウンティングサーバ１１への接続ポート番号１０２、実プリンタの名前１０３、などが含まれる。アカウンティングサーバ１１のＩＰアドレス１０１はアカウンティングサーバ１１のホスト名であってもよい。仮想プリンタドライバ２７が複数ある場合は、仮想プリンタドライバ２７毎に設定情報を設けてもよい。
【００７６】
図９はアカウンティング情報の一例の構成図である。図９のアカウンティング情報にはアカウンティングサーバ１１の仕様に則り、実プリンタドライバ名１１１、印刷を実行したユーザ名１１２、印刷設定１１３、印刷枚数１１４が含まれる。図９の印刷設定１１３には両面設定１２１、カラー設定１２２、印刷用紙サイズ１２３が含まれる。
【００７７】
（まとめ）
本実施形態に係るクライアント端末１０は、任意の文書作成ソフトウェアなどのアプリケーションから仮想プリンタドライバ２７で印刷を行って中間データを生成する。クライアント端末１０は中間データからアカウンティング情報の生成に必要な印刷枚数、印刷設定などの情報を取得し、アカウンティング情報を生成して、アカウンティングサーバ１１に送信できる。プリンタ１２などの出力機器（出力装置）に紐付けられている実プリンタドライバ２８は中間データから出力機器の種類に依存する印刷データ（出力機器が理解できる印刷データ）を生成し、その印刷データを出力機器に送信できる。
【００７８】
このように、本実施形態に係る情報処理システム１は、プリンタ１２などの出力機器のメーカや種類に依存することなく、出力機器による出力状況の情報としてアカウンティング情報をアカウンティングサーバ１１に送信できる。また、本実施形態に係る情報処理システム１は、クライアント端末１０が中間データからアカウンティング情報を生成できるため、プリンタ１２Ａのようなローカル接続された出力機器であってもアカウンティング情報を生成できる。したがって、アカウンティングサーバ１１では出力機器のメーカや種類に依存することなく、課金やレポーティングなどを行うことができる。
【００７９】
本実施形態に係る情報処理システム１は、アカウンティング情報の生成する技術が出力機器に搭載されているときに、ローカル接続されると出力機器からアカウンティング情報を送信できないという問題を解決できる。また、本実施形態に係る情報処理システム１はアカウンティング情報の生成する技術が実プリンタドライバ２８に搭載されているときに出力機器のメーカや種類に依存してしまうという問題も解決できる。
【００８０】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した第一の出力データ作成手段は仮想プリンタドライバ２７に対応する。出力装置はプリンタ１２に対応する。第一の出力データは中間データに対応する。第二の出力データはＲＡＷデータに対応する。第二の出力データ作成手段は実プリンタドライバ２８に対応する。出力手段は印刷部５８に対応する。
【００８１】
出力装置による出力状況の情報はアカウンティング情報に対応する。情報生成手段はアカウンティング情報生成部５９に対応する。情報を収集する収集装置はアカウンティングサーバ１１に対応する。情報送信手段はアカウンティング情報送信部６０に対応する。プログラムはアカウンティングプラグイン３１に対応する。出力先管理手段は出力先管理部５６に対応する。出力許可判定手段及び利用制限判定手段はアカウンティング情報管理部５７に対応する。
【符号の説明】
【００８２】
１    情報処理システム
１０    クライアント端末
１１    アカウンティングサーバ
１２、１２Ａ〜１２Ｄ    プリンタ
１３    プリントサーバ
２１    アプリケーション（プラグイン）
２２    プラットフォーム（Ｃｏｒｅ）
２３    ＯＳＧｉ（Open Service Gateway Initiative）
２４    ＪａｖａＶＭ
２５    プラットフォームＡＰＩ（Application Programming Interface）
２６    記憶部
２７    仮想プリンタドライバ
２８    実プリンタドライバ
３１    アカウンティングプラグイン
３２    その他のプラグイン
３３    認証部
３４    通信部
４１    中間ファイル
５１    ＵＩ部
５２    システム設定部
５３    データ受信部
５４    制御部
５５    印刷ジョブ管理部
５６    出力先管理部
５７    アカウンティング情報管理部
５８    印刷部
５９    アカウンティング情報生成部
６０    アカウンティング情報送信部
６１    アカウンティング情報のファイル
７１    通信部
７２    認証処理部
７３    利用制限チェック部
７４    アカウンティング情報受信部
７５    認証情報保存部
７６    利用制限情報保存部
７７    アカウンティング情報保存部
５００    コンピュータシステム
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
Ｂ    バス
Ｎ１    ネットワーク
【先行技術文献】
【特許文献】
【００８３】
【特許文献１】特開２００６−６５８８９号公報
【図１】
2014164691.tif 000003
【図２】
2014164691.tif 000004
【図３】
2014164691.tif 000005
【図４】
2014164691.tif 000006
【図５】
2014164691.tif 000007
【図６】
2014164691.tif 000008
【図７】
2014164691.tif 000009
【図８】
2014164691.tif 000010
【図９】
2014164691.tif 000011