(57)【要約】【課題】サーバ装置が持つ電子文書をクライアント装置からの指示に応じて出力デバイスから出力する場合において、出力デバイス側でログに記録する属性情報のうち、クライアント装置に由来する属性情報が出力デバイスに伝えられるようにする。【解決手段】ユーザがクライアントから文書の印刷を指示すると、サーバがその文書の印刷ジョブデータを作成し、クライアントに送信する。クライアントのデータ読取部２６２は、サーバから印刷ジョブデータを取得する。クライアントの属性取得部２６４は、クライアントに由来する属性をＯＳ２２から取得する。属性付加部２６６は、サーバから取得された印刷ジョブデータに対し、その属性を、プリンタがログの項目として記録するための所定の方式で付加する。データ出力部２６８は、属性が付加された印刷ジョブデータをプリンタに送信する。【選択図】図２
2007323162.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得するデータ取得手段と、
クライアント装置自身に由来する属性情報を取得する属性取得手段と、
前記クライアント装置に由来する属性情報を、前記出力デバイスにてログに記録されるための第１の対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する第１出力手段と、
を備えるクライアント装置。
【請求項２】
請求項１記載のクライアント装置であって、
前記データ取得手段が取得した出力ジョブデータから所定の属性情報を抽出する属性抽出手段と、
前記属性抽出手段が抽出した属性情報を、前記出力デバイスにてログに記録されるための第２の対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する第２出力手段と、
を備えるクライアント装置。
【請求項３】
コンピュータに、
サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得し、
クライアント装置自身に由来する属性情報を取得し、
前記クライアント装置に由来する属性情報を、前記出力デバイスにてログに記録されるための第１の対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する、
処理を実行させるためのプログラム。
【請求項４】
サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得する手段と、
前記出力ジョブデータから所定の属性情報を抽出する手段と、
前記抽出された属性情報を、前記出力デバイスにてログに記録されるための対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する手段と、
を備えるクライアント装置。
【請求項５】
コンピュータに、
サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得し、
前記出力ジョブデータから所定の属性情報を抽出し、
前記抽出された属性情報を、前記出力デバイスにてログに記録されるための対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する、
処理を実行させるためのプログラム。
【請求項６】
サーバ装置自身に由来する属性情報を取得する属性取得手段と、
クライアント装置からの指示に応じて作成された出力デバイスへの出力ジョブデータに対して、前記属性取得手段により取得された属性情報を、出力デバイスにてログに記録する属性としてクライアント装置が認識する所定の付加方式に従って付加する属性付加手段と、
属性情報が付加された出力ジョブデータを、出力デバイスから出力するためにクライアント装置へと出力するデータ出力手段と、
を備えるサーバ装置。
【請求項７】
コンピュータに、
サーバ装置自身に由来する属性情報を取得し、
クライアント装置からの指示に応じて作成された出力デバイスへの出力ジョブデータに対して、前記属性取得手段により取得された属性情報を、出力デバイスにてログに記録する属性としてクライアント装置が認識する所定の付加方式に従って付加し、
属性情報が付加された出力ジョブデータを、出力デバイスから出力するためにクライアント装置へと出力する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置上の電子文書をクライアント装置からの指示により出力デバイスから出力する文書出力処理に関する。
【背景技術】
【０００２】
近年、サーバ・ベースド・コンピューティング(Server Based Computing : 略称ＳＢＣ)という技術が普及してきている。ＳＢＣは、従来のクライアント・サーバ型システムでクライアントコンピュータが実行していたクライアントアプリケーションを、サーバが集中管理する方式である。ＳＢＣ環境の例として、Microsoft（登録商標）社のサーバ系のWindows（登録商標）オペレーティングシステムで提供するターミナルサービスや、Citrix社のMetaframe（登録商標）などが知られている。
【０００３】
ＳＢＣ環境では、クライアントにて発生したキーストロークやマウスクリックなどの情報がサーバに送信され、サーバが実行しているアプリケーションプログラムにこの情報が反映される。そして、そのアプリケーションの画面遷移の情報がクライアントに送られ、クライアントがその情報に基づき画面を更新して表示される。このような仕組みにより、ユーザは、あたかもアプリケーションをクライアントで実行しているように操作できる。
【０００４】
ところが、アプリケーションからクライアントの近傍にあるローカルプリンタに印刷を行わせようとした場合、サーバ上にそのプリンタ用のプリンタドライバなどの適切なプログラムがインストールされていなければならないなどの問題が出てくる。
【０００５】
これに対し、上述のターミナルサービス機能やMetaframe（登録商標）では、クライアントがサーバにログインすると、クライアント上の論理プリンタ（仮想プリンタとも呼ばれる）に対応する論理プリンタがサーバ上に生成され、サーバの論理プリンタからクライアントの論理プリンタに印刷ジョブを転送することにより、サーバ上のアプリケーションからクライアントのローカルプリンタに印刷できるようにしている。
【０００６】
例えば、特許文献１に示されるシステムでは、サーバ装置が、ログオンしているリモートクライアント装置のセッション情報を取得し、該取得されたセッション情報から特定されるサーバ装置に追加登録された自動作成プリンタを検索し、前記検索された自動作成プリンタに基づいて、予め作成され記憶手段に記憶されている前記自動作成プリンタを設定変更するための設定情報を特定し、該特定した設定情報に基づいて前記自動作成プリンタの設定を変更する。
【０００７】
また、特許文献２に示されるシステムでは、サーバモジュールは、クライアントモジュールに対して、プリンタ設定情報を要求する。クライアントモジュールは、サーバモジュールからプリンタ設定情報の要求を受信すると、プリンタ設定取得モジュールを介して、要求されたプリンタ設定情報を取得する。そして、取得したプリンタ設定情報をサーバモジュールに送信する。一方、サーバモジュールは、クライアントモジュールから送信されたプリンタ設定情報を受信すると、受信したプリンタ設定情報の内容をそのままプリンタ設定情報に設定する。
【０００８】
ところで、プリンタ装置は、一般に、印刷処理の実行結果などの記録をログに記録している。近年、企業における情報セキュリティの観点から、プリンタ装置のログを解析することで、誰がどのような文書を印刷したのかを調査・分析することが行われるようになっている。ところが、ＳＢＣ環境では、サーバが印刷ジョブを作成するので、プリンタ装置のログには印刷ジョブの送信元として、ユーザが実際に使用していたクライアントではなくサーバが記録されてしまう場合があった。また、サーバによっては、アプリケーションが作成した文書名を、プリンタ装置に送信する際に別の名前に書き換えてしまうものもあり、ログに記録される文書名がユーザの付けた文書名と異なってくる場合があった。
【０００９】
【特許文献１】特開２００５−０４４００１号公報
【特許文献２】特開２００５−０１８５７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の１つの側面では、サーバ装置が持つ電子文書をクライアント装置からの指示に応じて出力デバイスから出力する場合において、出力デバイス側でログに記録する属性情報のうち、クライアント装置に由来する属性情報が出力デバイスに伝えられるようにする。
【課題を解決するための手段】
【００１１】
本発明の１つの側面では、サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得するデータ取得手段と、クライアント装置自身に由来する属性情報を取得する属性取得手段と、前記クライアント装置に由来する属性情報を、前記出力デバイスにてログに記録されるための第１の対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する第１出力手段と、を備えるクライアント装置を提供する。
【００１２】
ある態様では、クライアント装置は、前記データ取得手段が取得した出力ジョブデータから所定の属性情報を抽出する属性抽出手段と、前記属性抽出手段が抽出した属性情報を、前記出力デバイスにてログに記録されるための第２の対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する第２出力手段と、を備える。
【００１３】
本発明の別の側面では、コンピュータに、サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得し、クライアント装置自身に由来する属性情報を取得し、前記クライアント装置に由来する属性情報を、前記出力デバイスにてログに記録されるための第１の対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する、処理を実行させるためのプログラムを提供する。  
【００１４】
本発明の更に別の側面では、サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得する手段と、前記出力ジョブデータから所定の属性情報を抽出する手段と、前記抽出された属性情報を、前記出力デバイスにてログに記録されるための対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する手段と、を備えるクライアント装置を提供する。
【００１５】
本発明の更に別の側面では、コンピュータに、サーバ装置が作成した出力ジョブデータを前記サーバ装置から取得し、前記出力ジョブデータから所定の属性情報を抽出し、前記抽出された属性情報を、前記出力デバイスにてログに記録されるための対応付け方式に従って前記出力ジョブデータに対応づけて、出力デバイスへと出力する、処理を実行させるためのプログラムを提供する。
【００１６】
本発明の更に別の側面では、サーバ装置自身に由来する属性情報を取得する属性取得手段と、クライアント装置からの指示に応じて作成された出力デバイスへの出力ジョブデータに対して、前記属性取得手段により取得された属性情報を、出力デバイスにてログに記録する属性としてクライアント装置が認識する所定の付加方式に従って付加する属性付加手段と、属性情報が付加された出力ジョブデータを、出力デバイスから出力するためにクライアント装置へと出力するデータ出力手段と、を備えるサーバ装置を提供する。
【００１７】
本発明の更に別の側面では、コンピュータに、サーバ装置自身に由来する属性情報を取得し、クライアント装置からの指示に応じて作成された出力デバイスへの出力ジョブデータに対して、前記属性取得手段により取得された属性情報を、出力デバイスにてログに記録する属性としてクライアント装置が認識する所定の付加方式に従って付加し、属性情報が付加された出力ジョブデータを、出力デバイスから出力するためにクライアント装置へと出力する、処理を実行させるためのプログラムを提供する。
【発明の効果】
【００１８】
請求項１記載の発明によれば、サーバ装置が作成した出力ジョブデータをクライアント装置を介して出力デバイスから出力させるシステムにおいて、クライアント装置に由来する属性情報を出力デバイスに渡してログに記録させることができる。
【００１９】
請求項２記載の発明によれば、更にサーバ装置が出力ジョブデータに付加した属性情報を出力デバイスに渡してログに記録させることができる。
【００２０】
請求項３記載の発明によれば、サーバ装置が作成した出力ジョブデータをクライアント装置を介して出力デバイスから出力させるシステムにおいて、クライアント装置に由来する属性情報を出力デバイスに渡してログに記録させることができる。
【００２１】
請求項４記載の発明によれば、サーバ装置が作成した出力ジョブデータをクライアント装置を介して出力デバイスから出力させるシステムにおいて、サーバ装置が出力ジョブデータに付加した属性情報を出力デバイスに渡してログに記録させることができる。
【００２２】
請求項５記載の発明によれば、サーバ装置が作成した出力ジョブデータをクライアント装置を介して出力デバイスから出力させるシステムにおいて、サーバ装置が出力ジョブデータに付加した属性情報を出力デバイスに渡してログに記録させることができる。
【００２３】
請求項６記載の発明によれば、サーバ装置が作成した出力ジョブデータをクライアント装置を介して出力デバイスから出力させるシステムにおいて、出力ジョブデータの属性情報のうちサーバ装置に由来する属性情報をクライアント装置を介して出力デバイスに渡してログに記録させることができる。
【００２４】
請求項７記載の発明によれば、サーバ装置が作成した出力ジョブデータをクライアント装置を介して出力デバイスから出力させるシステムにおいて、出力ジョブデータの属性情報のうちサーバ装置に由来する属性情報をクライアント装置を介して出力デバイスに渡してログに記録させることができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照しながら実施形態を説明する。図面において、同一の符号を付した要素は、同一又は類似の要素を表す。
【００２６】
サーバ・ベースド・コンピューティング（ＳＢＣ）環境のシステムは、印刷機能の観点から見た場合、例えば図１に示すような構成となる。このシステムには、サーバ１０とクライアント２０とが含まれる。サーバ１０はＬＡＮ（ローカル・エリア・ネットワーク）４２に接続され、クライアント２０はＬＡＮ４４に接続されている。ＬＡＮ４２とＬＡＮ４４とは、インターネット４０等のネットワークを介して相互に接続される。クライアント２０のローカル環境にはプリンタ（物理的な印刷デバイス）３０が存在する。プリンタ３０は、クライアント２０に接続されている。図示例では、プリンタ３０は、クライアント２０と同じＬＡＮ４４に接続されているが、これに限らず、クライアント２０のプリンタポートに直接接続されていてもよい。
【００２７】
サーバ１０は、ＳＢＣ環境を提供する装置であり、例えばMicrosoft（登録商標）社のWindows（登録商標）ターミナルサーバや、Metaframe（登録商標）サーバなどがその一例である。一方、クライアント２０は、サーバ１０にログインし、サーバ１０を利用する装置であり、例えばWindows（登録商標）クライアントがその一例である。ユーザは、クライアント２０からサーバ１０にログインし、サーバ１０上のアプリケーション１８を利用する。アプリケーション１８が作成した電子文書（すなわち文書データ。以下単に文書と呼ぶ）をプリンタに印刷させようとする場合、ＳＢＣ環境では、そのプリンタが解釈可能な印刷ジョブデータを生成するのはサーバ１０である。
【００２８】
クライアント２０は、ＳＢＣ環境に対応したＯＳ（オペレーティングシステム）２２と、ローカル環境にあるプリンタ３０に対応した論理プリンタ２４と、スプーラコンポーネント２６とを備える。論理プリンタ２４は、文書をプリンタ３０に解釈可能な、例えばページ記述言語（以下、ＰＤＬと略す）で記述された、印刷ジョブデータに変換するためのプリンタドライバを備えていてもよい。スプーラコンポーネント２６は、印刷ジョブデータを一時的に保存（スプール）し、プリンタ３０に送るモジュールである。
【００２９】
サーバ１０は、ＳＢＣ環境を提供する機能を持ったＯＳ１２と、論理プリンタ１４と、スプーラコンポーネント１６とを備える。論理プリンタ１４は、アプリケーション１８が作成した文書を、クライアント２０のローカル環境にあるプリンタ３０が解釈可能な印刷ジョブデータに変換する。この論理プリンタ１４は、クライアント２０の論理プリンタ２４と同等の機能を備える。例えば、クライアント２０がサーバ１０にログインすると、サーバ１０はクライアント２０が備える論理プリンタ２４の情報を取得し、論理プリンタ２４と同等の機能を備える論理プリンタ１４を生成する。例えばMetaframe（登録商標）サーバは、このような機能を備えている。スプーラコンポーネント１６は、論理プリンタ１４が生成したクライアント２０宛の印刷ジョブデータをスプールする。
【００３０】
このシステムでは、サーバ１０の論理プリンタ１４が生成した印刷ジョブが、スプーラコンポーネント１６を介してクライアント２０のスプーラコンポーネント２６に送信され、スプーラコンポーネント２６からプリンタ３０へ送信される。
【００３１】
このシステムの１つの例では、クライアント２０のスプーラコンポーネント２６が、サーバ１０から取得した印刷ジョブデータに対して、クライアント２０から取得される属性情報を付加してプリンタ３０に送信する機能を備える。このようなスプーラコンポーネント２６を備えるクライアント２０の機能構成を、図２に示す。
【００３２】
スプーラコンポーネント２６は、データ読取部２６２，属性取得部２６４，属性付加部２６６，及びデータ出力部２６８を備える。データ読取部２６２は、サーバ１０から送られてきた印刷ジョブデータを読み取る。
【００３３】
属性取得部２６４は、印刷ジョブデータに対応するログデータのデータ項目としてプリンタにログ記録させるべき属性情報を、ＯＳ２２から取得する。このとき取得する属性情報は、例えばクライアント２０のアドレス情報、クライアント２０のホスト名、印刷を指示したユーザのクライアント２０に対するログイン名などである。アドレス情報は、例えばＩＰ(Internet Protocol)アドレス又はＭＡＣ(Media Acess Control)アドレスである。ユーザのクライアント２０に対するログイン名は、ユーザがクライアント２０にログインする際に用いたログイン名（或いはユーザＩＤ）であり、ユーザがサーバ１０にログインする際に用いるログイン名と異なる場合がある。ＯＳ２２は、例えば、印刷を指示したユーザのユーザ名等については、印刷ジョブデータのジョブＩＤ（識別情報）に対応づけて管理している。このよう場合、属性取得部２６４は、印刷ジョブデータのジョブＩＤを用いてＯＳ２２に照会することで、それらの属性を取得することができる。またＯＳ２２はクライアント２０のアドレス情報やホスト名を有しているので、属性取得部２６４は必要があればそれらを取得できる。また、ＯＳ２２が、サーバ１０から印刷ジョブデータの文書名を受け取って、それをジョブＩＤに対応づけて管理する場合、属性取得部２６４はその文書名を取得することもできる。
【００３４】
例示したアドレス情報、ホスト名、ユーザのログイン名は、あくまで一例に過ぎない。属性取得部２６４は、これらのうちのいずれか１つ又は２つを取得するものであってもよいし、これら以外の属性情報を取得してもよい。属性取得部２６４には、取得すべき属性項目を特定する情報が、予め設定されている。
【００３５】
属性付加部２６６は、属性取得部２６４が取得した属性情報を、データ読取部２６２が読み取った印刷ジョブデータに対して付加する。印刷ジョブデータに対する属性情報の付加は、属性情報をプリンタ３０がログに記録するような方式で行う。その付加のための方式は、プリンタ３０が用いるログ記録用のプログラムに依存する。
【００３６】
クライアント２０は、プリンタ３０に対し、ｌｐｒ等の印刷プロトコルを用いて印刷ジョブデータを送信する。多くの印刷プロトコルでは、印刷指示のコマンドの引数として印刷ジョブデータのファイル名（或いは文書名）をクライアントからプリンタに送る。またユーザのログイン名やクライアント２０のアドレス情報などといった情報項目を、印刷等のコマンドの引数として送信するものもある。プリンタ３０のログ記録プログラムは、このようにプロトコルを用いてクライアント２０から送られてくる情報項目の中で、予め指定された項目を、例えば印刷処理を実行した日時やその印刷処理の結果（成功、失敗など）などの情報と共に、ログに記録する。また、プリンタ３０のログ記録プログラムの中には、印刷ジョブデータ中のデータ項目、例えばＰＪＬ(Printer Job Language)等の制御情報記述用の言語で記述されるジョブ制御データに含まれるデータ項目、のうち予め指定された項目をログに記録するものもある。プロトコルにより送信する情報項目及び印刷ジョブデータ中の情報項目のうち、どの情報項目をログに記録するかは、プリンタ３０のログ記録プログラムの種類や設定による。属性付加部２６６は、プリンタ３０のログ記録プログラムの種類や設定に応じた方式で、属性情報の付加を行う。
【００３７】
例えば、ある方式では、印刷ジョブデータ中のジョブ制御データ中に、属性情報を書き込む。印刷ジョブデータは、ジョブ制御データと、描画情報をＰＤＬで記述した印刷データとを有しているが、そのうちのジョブ制御データの中に、ログに記録すべき属性項目を記述するのである。例えば、クライアント２０におけるユーザのログイン名、クライアント２０のＩＰアドレス、クライアント２０のホスト名を、ＰＪＬで記述すれば次のようになる。
PJL SET USER="MyName"
PJL SET ADDRESS="222.222.222.222"        ・・・（１）
PJL SET HOST="My PC"
この記述例（１）のうち、１行目は、ユーザの（クライアント２０に対する）ログイン名が"MyName"であることを、２行目はクライアント２０のＩＰアドレスが"222.222.222.222"であることを、３行目はクライアント２０のホスト名が"My PC"であることを、それぞれ示している。
【００３８】
属性付加部２６６は、属性取得部２６４がＯＳ２２から取得した各属性項目の値をもとに、例示したような記述を生成し、これをサーバ１０から受け取った印刷ジョブデータ中のジョブ制御データの中に組み込む。
【００３９】
プリンタ３０は、このようなジョブ制御データを含んだ印刷ジョブデータをクライアント２０から受け取って、この印刷ジョブデータに応じて印刷処理を実行する。プリンタ３０のログ記録プログラムは、この印刷処理についてのログを記録する。プリンタ３０のログ記録プログラムには、印刷ジョブデータ中のジョブ制御データの中からどの値を取り出して、ログデータのどの項目として記録すればよいかが記述されている。例えば、ログ記録プログラムには、印刷ジョブデータの中から"@PJL SET USER="という記述を見つけた場合、その後に続く文字列をユーザ名としてログに記録する、などの手順又はルールが記述されている。ログ記録プログラムは、印刷ジョブデータを受け取ると、その記述に従い、その印刷ジョブデータ中のジョブ制御データから各属性項目を取り出し、ログに記録する。
【００４０】
このように、以上の例では、クライアント２０のスプーラコンポーネント２６が、印刷ジョブの属性のうち、クライアント２０に由来する属性をジョブ制御データに組み込み、プリンタ３０が、そのジョブ制御データからクライアント由来の属性の値を取得しログに記録する。
【００４１】
ここで、サーバ１０の論理プリンタ１４又はスプーラコンポーネント１６が、印刷ジョブデータのジョブ制御データ中に、例えば以下の記述例（２）に示すように、サーバ１０に対するユーザのログイン名、サーバ１０のＩＰアドレス及びホスト名などを書き込んでいる場合がある。
PJL SET USER="LoginName"
PJL SET ADDRESS="111.111.111.111"        ・・・（２）
PJL SET HOST="My HOST"
このような場合、プリンタ３０のログに、クライアント２０に関する属性情報を残すには、属性付加部２６６は、１つの例では、サーバ１０から受け取った印刷ジョブデータ中のジョブ制御データの中の、ログに記録すべき各属性項目の値を、属性取得部２６４が取得した各項目の値へと書き換えることで、記述例（１）に示す内容に変更すればよい。例えば、ユーザのログイン名の場合、サーバ１０が"LoginName"と設定していたのを、クライアント２０へのログイン名"MyName"へと書き換えるなどである。
【００４２】
なお、サーバ１０がそれら属性項目をジョブ制御データ中に組み込まない場合は、属性付加部２６６は、取得した属性項目の値をジョブ制御データ中に追加すればよい。
【００４３】
このように、この例では、サーバ１０が自分に由来する属性の値をジョブ制御データに含めている場合、クライアント２０のスプーラコンポーネント２６がその属性の値をクライアント２０由来の値に書き換える。プリンタ３０は、このジョブ制御データに基づき、クライアント２０由来の情報（例えばクライアント２０のアドレス情報や、クライアント２０に対するユーザのログイン名など）をログに記録できる。
【００４４】
また、プリンタ３０の中には、サーバ１０とクライアント２０の両方についてアドレス情報及びホスト名をＰＪＬの記述の形で受け入れ、ログに記録するようなものも考えられる。この場合、属性付加部２６６は、サーバ１０で組み込まれた属性情報（記述例（２））に対して、更にクライアント２０のアドレス及びホスト名を示す属性情報をＰＪＬで記述して追加すればよい。この追加により得られる属性情報は、次の記述例（３）のようになる。
PJL SET USER="LoginName"
PJL SET ADDRESS="111.111.111.111"        
PJL SET HOST="My HOST"
PJL SET CLIENTADDRESS="111.111.111.111"      ・・・（３）
PJL SET CLIENTHOST="My HOST"
この記述例では、"@PJL SET ADDRESS="及び"@PJL SET HOST="に続く文字列はそれぞれサーバ１０のＩＰアドレス及びホスト名を示し、"@PJL SET CLIENTADDRESS="及び"@PJL SET CLIENTHOST="に続く文字列はそれぞれクライアント２０のＩＰアドレス及びホスト名を示す。プリンタ３０のログ記録プログラムは、そのような規則に従って、印刷ジョブデータ中から各属性項目の値を抽出し、ログに記録すればよい。
【００４５】
このように、属性付加部２６６が、サーバ１０から印刷ジョブに関する属性を得た場合に、その属性をジョブ制御データに組み込むようにしてもよい。例えば、プリンタ３０がジョブ制御データに組み込んだ文書名をログに記録する場合において、サーバ１０から印刷対象の文書の文書名が送られてくる場合は、属性付加部２６６はその文書名をジョブ制御データに組み込んでもよい。プリンタ３０のログにクライアント２０に関する属性を記録しなくてよい場合は、サーバ１０から得た属性のみをジョブ制御データに組み込んでもよい。
【００４６】
以上の例では、属性をジョブ制御データに組み込んだ。しかし、プリンタ３０がＰＤＬの印刷データ中に記述された属性情報を読みとってログに記録する機能を持つのであれば、属性付加部２６６は印刷データ中に属性を書き込んでもよい。このように、属性付加部２６６は、印刷ジョブデータのうち、プリンタ３０がログの項目として認識可能な部分に、ログの項目として認識可能な記述形式で、属性を追加すればよい。
【００４７】
また、属性を、印刷プロトコルにおいてクライアント２０からプリンタ３０に送る情報項目のうち、印刷ジョブデータ以外の情報項目として送信してもよい。このような情報項目としては、印刷コマンドの引数がある。プリンタ３０が、そのような情報項目をログに記録するのであれば、その情報項目として属性を送る。例えば、ある印刷プロトコルで、ホストのＩＰアドレスを印刷コマンドの引数として送信でき、プリンタ３０がその引数をログに記録するのであれば、属性付加部２６６は、クライアント２０のＩＰアドレスをその引数として送信すればよい。
【００４８】
例えば、ｌｐｒプロトコルでは、文書名を印刷コマンドの引数として送ることができる。したがって、プリンタ３０がその引数の文書名をログに記録するのであれば、属性付加部２６６は、文書名を印刷コマンドの引数にセットすればよい。文書名は、印刷ジョブデータを作成したサーバ１０から送られてくる印刷ジョブデータその他のデータから取得することができる。例えば、サーバ１０は、印刷対象の文書の文書名を、ジョブ制御データの中に書き込めばよい。また、サーバ１０は、文書名を、クライアント２０へ送信する印刷ジョブデータのファイル名として、印刷ジョブデータとは別に（例えば送信コマンドの引数として）送信することもできる。
【００４９】
また、属性項目のうちあるものは印刷ジョブデータに組み込み、別のものは印刷プロトコルで送信する印刷ジョブデータ以外の情報項目に組み込んで、送信するようにしてもよい。この場合、属性付加部２６６は、プリンタ３０が印刷ジョブデータから抽出する属性項目は印刷ジョブデータに組み込み、プリンタ３０が印刷ジョブデータ以外の情報項目から抽出する属性項目は、その情報項目に組み込めばよい。
【００５０】
次に、別の例を説明する。
【００５１】
ユーザがクライアント２０を操作して、サーバ１０上にある文書の印刷を指示した場合、このときサーバ１０の論理プリンタ１４が印刷ジョブデータを作成する。そしてこの印刷ジョブデータがスプーラコンポーネント１６を介してクライアント２０に送信される。ここで論理プリンタ１４の中には、ＯＳ１２から、或いはその文書を取り扱うアプリケーション１８からＯＳ１２を介して、その文書やサーバ１０、印刷を指示したユーザなどの属性を取得し、それを印刷ジョブデータ中に組み込むものもある。文書の属性としては、例えば文書名やその文書を作成した作成者名などがある。サーバ１０の属性には、サーバ１０のホスト名、アドレス情報などがある。また、サーバ１０で取得できるユーザの属性としては、例えばサーバ１０に対するユーザのログイン名がある。作成されたジョブ制御データのうちの属性部分の一例を以下に示す。
PJL SET USER="LoginName"
PJL SET DOCUMENT="My Schedule"
PJL SET ADDRESS="111.111.111.111"        ・・・（４）
PJL SET HOST="My HOST"
この記述例（４）では、１行目がサーバ１０に対するログイン名、２行目が文書名、３行目がサーバ１０のＩＰアドレス、４行目がサーバ１０のホスト名を示す。
【００５２】
ここで、サーバ１０が、そのようなサーバ１０に由来する属性項目のうちの一部又は全部の項目を、印刷ジョブデータをクライアント２０に送る際に、その送信のためのプロトコルのデータ（例えば送信コマンドの引数）として送る場合がある。例えば、文書名を印刷ジョブデータのファイル名として、印刷ジョブデータをクライアント２０に送る際の送信プロトコルのデータとして送る場合がある。ところが、スプーラコンポーネント１６がそのような印刷ジョブデータとプロトコルのデータをクライアント２０へと送信する場合に、サーバ１０のＯＳ１２やそのＯＳ１２の下で動作する通信プロトコル（「ＯＳ１２等」と総称する）が、そのようなプロトコルのデータを書き換える場合がある。
【００５３】
例えばMetaFrame（登録商標）サーバの場合、サーバ１０からクライアント２０へ印刷ジョブデータを送信する過程で、ＯＳ１２等が印刷対象の文書の本来の文書名を別の特定の名前に書き換えることが知られている。このようなサーバの場合、印刷ジョブデータ内に文書名が含まれていればよいが、そうでないと、クライアント２０は、印刷対象の文書の本来の文書名を得ることができない。クライアント２０が受け取る印刷ジョブデータの文書名は、サーバが付けた常に同じ特定の名前となるため、仮にそれをプリンタ３０がログに記録したとしても意味をなさない場合がある。
【００５４】
そこで、この例では、そのように書き換えられてしまうプロトコルのデータの値を、スプーラコンポーネント１６が、印刷ジョブデータに付加することで書き換えを免れる。
【００５５】
この例では、サーバ１０のスプーラコンポーネント１６が、図３に示すように、データ読取部１６２，属性取得部１６４，属性付加部１６６，及びデータ出力部１６８を備える。
【００５６】
データ読取部１６２は、印刷指示に応じて論理プリンタ１４が作成した印刷ジョブデータを読み取る。属性取得部１６４は、プリンタ３０にログ記録させるべきサーバ１０由来の属性のうち、論理プリンタ１４が印刷ジョブデータ内に組み込まず且つ送信の際にＯＳ１２等により書き換えられる属性を、ＯＳ１２から取得する。このとき取得する属性は、例えば印刷対象文書の文書名や、サーバ１０のアドレス情報、ホスト名、印刷を指示したユーザのサーバ１０に対するログイン名などである。ＯＳ１２は、例えば、文書名や印刷を指示したユーザのユーザ名等については、印刷ジョブデータのジョブＩＤ（識別情報）に対応づけて管理している。このよう場合、属性取得部１６４は、印刷ジョブデータのジョブＩＤを用いてＯＳ１２に照会することで、それらの属性を取得することができる。またＯＳ１２は、サーバ１０のアドレス情報やホスト名を有しているので、属性取得部１６４はそれを取得できる。
【００５７】
以上に例示した属性項目はあくまで一例に過ぎない。属性取得部１６４は、これらのうちのいずれか１つ又は２つを取得するものであってもよいし、これら以外の属性情報を取得してもよい。属性取得部１６４には、取得すべき属性項目を特定する情報が、予め設定されている。
【００５８】
属性付加部１６６は、属性取得部１６４が取得した属性情報を、データ読取部１６２が読み取った印刷ジョブデータに対して付加する。印刷ジョブデータに対する属性情報の付加の方式には、例えば、印刷ジョブデータに対して組み込む方式がある。
【００５９】
この方式では、例えば、図４に示すように、そのような属性１３０を、印刷ジョブデータ１００のうちのジョブ制御データ１１０内に追加する。この場合、例えば、上述の記述例（４）のような記述をジョブ制御データ１１０に追加すればよい。この場合、クライアント２０のスプーラコンポーネント２６は、ジョブ制御データ１１０内からそのような属性を抽出し、それをプリンタ３０がログ記録対象と把握できる方式でプリンタ３０に伝達すればよい。なお、クライアント２０のスプーラコンポーネント２６は、このようにジョブ制御データ１１０中から抽出した属性を印刷ジョブデータ１００から削除し、このように属性が削除された印刷ジョブデータ１００をプリンタ３０に送信してもよい。また、クライアント２０のスプーラコンポーネント２６が、印刷ジョブデータ１００中のＰＤＬで記述された印刷データ１２０内から属性を抽出できる場合は、属性付加部１６６は印刷データ１２０中に属性を追加してもよい。
【００６０】
また、属性を印刷ジョブデータに付加するための別の方式としては、図５に示すように、論理プリンタ１４が生成した印刷ジョブデータ１００の外部に属性データ１４０を付加する方式がある。この方式では、例えば、印刷ジョブデータ１００と属性データ１４０とを１つのファイルの形にまとめる。また、印刷ジョブデータ１００に対しヘッダとして属性データ１４０を付加してもよい。
【００６１】
この方式の属性データ１４０のデータ例を図６に示す。この例では、属性データ１４０の中の所定の位置（図示例では属性データ１４０の先頭）には、印刷ジョブデータ１００に付加された属性データ１４０であることを示す識別情報１４１が含まれる。そして、属性データ１４０には、各属性項目の値１４３，１４５，１４７，１４９が、それら各値のデータサイズを示す値１４２，１４４，１４６，１４８と対応づけられた状態で含まれる。図示例では、属性項目ごとに、その項目のデータサイズの後にその項目の値が続く形となっている。データサイズはある決まったビット数（例えば１バイト＝８ビット）のデータである。各属性項目の配列の順序は予め決められている。サーバ１０の属性付加部１６６はその順序に従って、各属性項目のデータサイズと値とを配列し、クライアント２０の属性付加部２６６はその順序に従って各属性項目の項目名を識別する。
【００６２】
例えば、属性項目の値１４３"Sample.doc"は、印刷対象の文書の文書名であり、そのデータサイズは値１４２に示されるように１０バイトである。また、値１４５はユーザのサーバ１０に対するログイン名であり、値１４７はサーバ１０のＩＰアドレス、値１４９はサーバ１０のホスト名である。
【００６３】
図６には、サーバ１０が文書名、ユーザのログイン名、サーバ１０のＩＰアドレス及びホスト名を付加する例を示したが、サーバ１０は、プリンタ３０がログに記録する属性を付加すればよく、必ずしもこれらすべてを付加する必要はない。また、この他の属性を付加してもよい。
【００６４】
クライアント２０のデータ読取部２６２は、サーバ１０から受け取ったデータのなかから識別情報１４１を検出すると、その後に続く所定のビット数のデータをデータサイズ１４２として認識し、更にその後に続く、データサイズ１４２が示すサイズのデータを、その最初の属性項目の値と認識して、属性付加部２６６に渡す。またデータ読取部２６２は、次に続くデータが印刷ジョブデータ１００であるかを判定し、印刷ジョブデータでなければ、先頭のデータをデータサイズと認識し、その後の、そのデータサイズ分のデータを属性項目の値と認識して属性付加部２６６に渡す。データ読取部２６２は、このような処理を、印刷ジョブデータ１００に到達するまで繰り返す。属性付加部２６６の動作は、上述と同様でよい。
【００６５】
以上、属性を印刷ジョブデータに付加するための方式として、印刷ジョブデータ内に付加する方式と、印刷ジョブデータの外部に付加する方式とを例示した。この他にも、両者の折衷方式もある。図７に示す例では、属性項目のうち文書名１４３は印刷ジョブデータ１００の外部の属性データ１４０として付加され、ユーザのログイン名、サーバ２０のＩＰアドレス及びホスト名が印刷ジョブデータ内のジョブ制御データ内に属性データ１５０として付加されている。各属性項目を印刷ジョブデータの中及び外のいずれに付加するか、及びどのような順序で配列するかは、予め規則として決められており、属性付加部１６６はその規則に従って各属性項目を付加する。また、クライアント２０のデータ読取部２６２は、その規則に従って、印刷ジョブデータ１００の外の属性データ１４０及び中の属性データ１５０からそれら各属性項目の値を取得する。この場合も、属性付加部２６６の動作は、上述と同様でよい。
【００６６】
データ出力部１６８は、属性が付加された印刷ジョブデータを、ＯＳ１２を介してクライアント２０へと出力する。この場合、ＯＳ１２がクライアント２０との通信のためのプロトコルで送るデータに変更を加えたとしても、印刷ジョブデータに付加された属性は変更されずにクライアント２０に伝わる。
【００６７】
以上、いくつかの例を説明した。以上に説明したスプーラコンポーネント１６及び２６は、例えば、Windows（登録商標）のプリントプロセッサとして構成することができる。この場合、サーバ１０にはスプーラコンポーネント１６の機能を備えるプリントプロセッサがインストールされている。クライアント２０にはスプーラコンポーネント２６の機能を備えるプリントプロセッサがインストールされている。
【００６８】
またクライアント２０には、論理プリンタ２４がインストールされている。サーバ１０の論理プリンタ１４は、インストールされていてもよいが、この代わりに例えばユーザがクライアント２０を操作してサーバ１０にログインした際に、論理プリンタ２４の情報をもとにサーバ１０が生成してもよい。MetaFrame（登録商標）サーバは、このような論理プリンタを生成する機能を備えるので、サーバ１０がそのようなサーバであれば、論理プリンタ１４は自動生成される。論理プリンタ２４及び１４としては、従来の論理プリンタを用いることができる。クライアント２０の論理プリンタ２４は、サーバ１０上で論理プリンタ１４が自動生成される場合のひな型となるために必要なものであり、印刷を行う際に直接は利用されるものではない。したがって、論理プリンタ１４が自動生成されるのではなくサーバ１０にインストールされている場合には、論理プリンタ２４は必ずしも必要はない。
【００６９】
スプーラコンポーネント１６を備えたプリントプロセッサ（便宜上、プリントプロセッサＡと呼ぶ）が、サーバ１０のデフォルトのプリントプロセッサでない場合、例えば、ユーザは、上記の例の機能を用いたい場合、論理プリンタ１４が自動生成された後、論理プリンタ１４のプロパティ画面を開き、使用するプリントプロセッサをプリントプロセッサＡに変更すればよい。また、同様に、スプーラコンポーネント２６を備えたプリントプロセッサＢが、クライアント２０のデフォルトのプリントプロセッサでない場合、例えば、ユーザは、論理プリンタ２４のプロパティ画面を開き、使用するプリントプロセッサをプリントプロセッサＢに変更すればよい。また、このような使用するプリントプロセッサの変更は、ユーザが行う代わりに、クライアント２０からユーザがサーバ１０にログインした際にサーバ１０とクライアント２０で自動的に実行されるようにしてもよい。
【００７０】
以上、電子文書をプリンタ３０から印刷出力するシステムを例にとったが、プリンタ以外の出力デバイス、例えばファクシミリ装置、複写機、複合機に対して出力する場合にも、上述の各例と同様の仕組みが適用可能である。この場合、サーバ１０が、それら出力デバイスに電子文書を出力させるための出力ジョブデータを生成し、クライアント２０に送信する。クライアント２０は、その出力ジョブデータを受け取り、出力デバイスへと送信する。
【００７１】
上記の実施形態のサーバ１０又はクライアント２０は、典型的には、汎用のコンピュータにて上述の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図８に示すように、ＣＰＵ（中央演算装置）５０、メモリ（一次記憶）５２、各種Ｉ／Ｏ（入出力）インタフェース５４等がバス５６を介して接続された回路構成を有する。また、そのバス５６に対し、例えばＩ／Ｏインタフェース５４経由で、ＨＤＤ（ハードディスクドライブ）５８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ６０が接続される。このようなドライブ５８又は６０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ＨＤＤ５８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。
【図面の簡単な説明】
【００７２】
【図１】サーバ・ベースド・コンピューティング（ＳＢＣ）環境のシステム構成の一例を示す図である。
【図２】システムの一例におけるクライアントの機能構成を示す図である。
【図３】実施形態のサーバの機能構成を示す図である。
【図４】印刷ジョブデータの中に属性を付加する方式の一例を説明するための図である。
【図５】印刷ジョブデータの外に属性の付加する方式の一例を説明するための図である。
【図６】印刷ジョブデータの外に属性の付加されて生成されたデータの例を示す図である。
【図７】印刷ジョブデータの外と中にそれぞれ属性が付加されて生成されたデータの例を示す図である。
【図８】サーバ又はクライアントとして機能するコンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００７３】
１０  サーバ、１２，２２  ＯＳ、１４，２４  論理プリンタ、１６，２６  スプーラコンポーネント、１８  アプリケーション、２０  クライアント、３０  プリンタ、４０  ネットワーク、２６２  データ読取部、２６４  属性取得部、２６６  属性付加部、２６８  データ出力部。
【図１】
2007323162.tif 000003
【図２】
2007323162.tif 000004
【図３】
2007323162.tif 000005
【図４】
2007323162.tif 000006
【図５】
2007323162.tif 000007
【図６】
2007323162.tif 000008
【図７】
2007323162.tif 000009
【図８】
2007323162.tif 000010