(57)【要約】【課題】ジョブチケット中に指示されているワークフローが対象ユーザ・対象プリンタにおいて実行可能であるかを検証することである。【解決手段】情報処理装置２は、クライアント環境２からユーザＩＤとジョブチケットの入力を受け付ける。そして、検証対象となるプリンタの能力情報データ１０と、ジョブチケットの検証ポリシーデータ１１をユーザＩＤから動的に生成する。その後、ジョブチケットと生成されたプリンタ能力データ１０を、検証ポリシーデータ１１に基づいて比較照合して、ジョブチケットに指示されているワークフローが実行可能であるかを判別する。【選択図】  図１
2011191940.tif 000002
【特許請求の範囲】
【請求項１】
受信したジョブチケットの処理が印刷装置において実行可能か否かを検証する検証装置であって、
前記印刷装置が有する能力に関する能力情報および前記能力それぞれに対する検証項目に関する検証情報を保持する保持手段と、
前記ジョブチケットの処理の実行を指定するユーザごとに定義された当該ユーザが利用可能な前記印刷装置における機能および検証項目を示すユーザ識別情報と、前記能力情報とから、前記ユーザが前記印刷装置において実行可能な能力を示すプリンタ能力データを生成するプリンタ能力データ生成手段と、
前記ユーザ識別情報および前記検証情報から、前記ジョブチケットに対して前記ユーザが実行可能な検証項目を示す検証ポリシーデータを生成する検証ポリシー生成手段と、
前記プリンタ能力データと前記検証ポリシーデータとに基づいて、前記ジョブチケットの処理が前記印刷装置において実行可能か否かを検証する検証手段と
を有することを特徴とする検証装置。
【請求項２】
前記ジョブチケットを送信するクライアント端末から、前記ジョブチケットと共に前記ユーザ識別情報を受信する受信手段を更に有することを特徴とする請求項１に記載の検証装置。
【請求項３】
前記プリンタ能力データは、前記ジョブチケットで指示されている印刷ワークフローを実行する対象となる印刷装置の能力情報、及び印刷装置の接続情報に応じて生成されることを特徴とする請求項１または２に記載の検証装置。
【請求項４】
前記プリンタ能力データは、前記ユーザ識別情報に応じて前記ジョブチケットに対する機能を制限して定義されることを特徴とする請求項１乃至３のいずれか一項に記載の検証装置。
【請求項５】
前記検証ポリシーデータは、前記ジョブチケットで指示されているワークフローが単一の印刷装置で実行されることを指定しているか、ワークフローを構成するプロセスが前記印刷装置に適した内容もしくは順序であるか、プロセスに入力または出力されるパラメータが前記印刷装置に対する処理に適した値であるか、の検証のうち、少なくとも一つを含むことを特徴とする請求項１乃至４のいずれか一項に記載の検証装置。
【請求項６】
前記検証ポリシーデータは、前記ユーザ識別情報に応じて前記ジョブチケットに対する機能における検証を異なる詳細なレベルの検証項目で実施するように定義して生成されることを特徴とする請求項１乃至５のいずれか一項に記載の検証装置。
【請求項７】
クライアント端末からジョブチケットの処理に対して要求があった場合に、前記クライアント端末へユーザ情報を入力するログイン画面情報を送信し、前記ユーザ情報を受け付けるユーザ情報受信手段と、
受け付けた前記ユーザ情報に含まれるユーザ識別情報が登録されている場合、前記ジョブチケットの入力を受け付けるジョブチケット受信手段と
を更に有することを特徴とする請求項１乃至６のいずれか一項に記載の検証装置。
【請求項８】
受信したジョブチケットの処理が印刷装置において実行可能か否かを検証するジョブチケット検証方法であって、
プリンタ能力データ生成手段が、前記ジョブチケットの処理の実行を指定するユーザごとに定義された当該ユーザが利用可能な前記印刷装置における機能および検証項目を示すユーザ識別情報と、前記印刷装置が有する能力に関する能力情報とから、前記ユーザが前記印刷装置において実行可能な能力を示すプリンタ能力データを生成するプリンタ能力データ生成工程と、
検証ポリシー生成手段が、前記ユーザ識別情報と、前記能力それぞれに対する検証項目に関する検証情報とから、前記ジョブチケットに対して前記ユーザが実行可能な検証項目を示す検証ポリシーデータを生成する検証ポリシー生成工程と、
検証手段が、前記プリンタ能力データと前記検証ポリシーデータとに基づいて、前記ジョブチケットの処理が前記印刷装置において実行可能か否かを検証する検証工程と
を有することを特徴とするジョブチケット検証方法。
【請求項９】
コンピュータを、
ジョブチケットの処理の実行を指定するユーザごとに定義された当該ユーザが利用可能な印刷装置における機能および検証項目を示すユーザ識別情報と、前記印刷装置が有する能力に関する能力情報とから、前記ユーザが前記印刷装置において実行可能な能力を示すプリンタ能力データを生成するプリンタ能力データ生成手段と、
前記ユーザ識別情報と、前記能力それぞれに対する検証項目に関する検証情報とから、前記ジョブチケットに対して前記ユーザが実行可能な検証項目を示す検証ポリシーデータを生成する検証ポリシー生成手段と、
前記プリンタ能力データと前記検証ポリシーデータとに基づいて、前記ジョブチケットの処理が前記印刷装置において実行可能か否かを検証する検証手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブチケットに指示されている印刷ワークフローに対する実行可能性を検証するための検証装置、ジョブチケット検証方法、およびプログラムに関する。
【背景技術】
【０００２】
印刷・出版のプロセスを管理するワークフローのシステムでは、電子文書を利用して印刷処理を実行する手法として、フォーマットが標準化されているジョブチケットであるＪＤＦ（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ）を用いた方法が提案されている。
【０００３】
このＪＤＦを用いた印刷システムでは、複数のユーザシステムがそれぞれ異なった内容や、仕様に基づいていない印刷ジョブをプリンタに送信する懸念があるため、ユーザの意図と異なる結果が出力される可能性がある。そこで、印刷処理実行前にジョブチケットを検証して、ジョブチケットに指示されているワークフローが実行可能かを判定する必要がある。
【０００４】
ジョブチケットを検証する一例として、ワークフローのテスト動作を実行し、テスト途中で問題が発生したらテストを停止し、問題の内容をユーザに通知し、パラメータを再設定してテスト動作を再開する方法が提案されている（特許文献１）。
【０００５】
また、記号化した印刷ワークフローをジョブチケット中のメタデータに埋め込み、予め保持している記号化したワークフローと比較照合してワークフローの正当性を判別する手段も提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２７８０７１号
【特許文献２】特開２００８−０１５９１７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の各技術では、ジョブチケットの送信元であるユーザシステムに応じて、ジョブチケットに対する検証内容を変更することができなかった。これにより、ユーザに応じてプリンタが使用できる機能や検証内容を変えたい場合に対応することができなかった。また、プリンタの接続情報・能力情報に応じて、プリンタの機能に合わせた検証を行うことができなかった。
【０００８】
そこで、ジョブチケットにおいて指示されているワークフローが対象ユーザ・対象プリンタにおいて実行可能であるかの検証を送信前に可能とする必要がある。
【課題を解決するための手段】
【０００９】
上記課題を鑑み、本願発明は、以下の構成を有する。受信したジョブチケットの処理が印刷装置において実行可能か否かを検証する検証装置であって、前記印刷装置が有する能力に関する能力情報および前記能力それぞれに対する検証項目に関する検証情報を保持する保持手段と、前記ジョブチケットの処理の実行を指定するユーザごとに定義された当該ユーザが利用可能な前記印刷装置における機能および検証項目を示すユーザ識別情報と、前記能力情報とから、前記ユーザが前記印刷装置において実行可能な能力を示すプリンタ能力データを生成するプリンタ能力データ生成手段と、前記ユーザ識別情報および前記検証情報から、前記ジョブチケットに対して前記ユーザが実行可能な検証項目を示す検証ポリシーデータを生成する検証ポリシー生成手段と、前記プリンタ能力データと前記検証ポリシーデータとに基づいて、前記ジョブチケットの処理が前記印刷装置において実行可能か否かを検証する検証手段とを有する。
【発明の効果】
【００１０】
本発明によると、ジョブチケットに指示されているワークフローが実行可能かを対象プリンタへ送信する前に検証できる。さらに、ユーザシステム、もしくはプリンタの情報に応じて検証内容を動的に変更することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る印刷システム構成を示すブロック図。
【図２】本実施形態に係る情報処理装置の内部構成を示すブロック図。
【図３】本実施形態に係るワークフロー実行の概念の一例を示す図。
【図４】本実施形態に係るジョブチケットの概念と具体的なデータ構造の例図。
【図５】本実施形態に係るプリンタ能力データの概念と具体的なデータ構造の例図。
【図６】本実施形態に係る検証ポリシーデータの構造の例図。
【図７】本実施形態に係るユーザデータのデータベース構造の例図。
【図８】第一実施形態に係る情報処理装置のジョブチケット検証処理のフロー図。
【図９】第一実施形態に係るプリンタ能力生成部のプリンタ能力データ生成処理のフロー図。
【図１０】第一実施形態に係る検証ポリシー生成部の検証ポリシーデータ生成処理のフロー図。
【図１１】第一実施形態に係る検証エンジンのジョブチケット検証処理のフロー図。
【図１２】第二実施形態に係る情報処理装置のジョブチケット検証処理のフロー図。
【発明を実施するための形態】
【００１２】
（第一実施形態）
［システム構成］
以下、本発明を実施するための最良の形態について図面を用いて説明する。図１は、本発明に係る印刷システム構成を示すブロック図である。本システムは大きく分けてクライアント環境１、情報処理装置２、プリンタ３から構成されている。クライアント環境１は主に、ジョブチケット及びコンテンツ情報を生成し、情報処理装置２に印刷ジョブの送信を行う環境である。クライアント環境１は情報処理装置２とネットワークで接続されており、インターネットなどの所定の媒体を介して通信を行うが、情報処理装置２内部に存在しても良い。なお、第一実施形態ではクライアント環境１が情報処理装置２内部に存在する場合を、第二実施形態ではクライアント環境１が情報処理装置２とネットワークで接続されている場合の例を説明する。情報処理装置２はジョブチケットを検証する装置である。情報処理装置２はデータ受信部４、ジョブチケット解釈部５、検証エンジン６、検証ポリシー生成部７、プリンタ能力生成部８、プリンタＩ／Ｆ９から構成されている。プリンタ３は、プリンタＩ／Ｆ９を介して送信されてきた印刷ジョブを解釈し、ラスタライズして印刷する印刷装置である。
【００１３】
データ受信部４は、クライアント環境１からの印刷ジョブやユーザ情報（ユーザＩＤ等）などのデータを受け付ける。ジョブチケット解釈部５は、データ受信部４を介して受信したジョブチケットを解析する機能を備える。ジョブチケット解釈部５では、ジョブチケットの解析を行い、コンテンツ情報に対する印刷設定に関する情報をメモリに保存する。検証エンジン６は、ワークフローを実行する対象となるプリンタ３の能力情報とジョブチケットを比較照合し、検証ポリシーデータに基づいて、ジョブチケットが対象プリンタ３においてワークフローが実行可能であるかを判定する機構である。なお、ここでの能力情報とは、プリンタが実行可能な機能等を示す情報である。検証ポリシー生成部７は、ジョブチケットの検証を行う際のポリシーとなる検証ポリシーデータを生成する機能を備える。検証ポリシーデータの具体的な構造に関しては図５にて説明する。プリンタ能力生成部８は、プリンタＩ／Ｆ９を介して取得したプリンタの能力情報やクライアント環境のユーザＩＤを元に、プリンタの能力データを生成する。尚、プリンタの能力データの具体的な構造に関しては図４にて説明する。プリンタＩ／Ｆ９は、プリンタ３との通信を制御するためのインタフェースである。プリンタＩ／Ｆ９は、プリンタ３から能力情報、構成情報、及びプリンタ接続情報を取得する機能や、プリンタ３に対して印刷ジョブを送信する機能を備える。
【００１４】
また、情報処理装置２はプリンタ能力データ１０、検証ポリシーデータ１１、ユーザデータ１２の３つのデータを保持する。プリンタ能力データ１０は図５で、検証ポリシーデータは図６で、ユーザデータは図７で詳細な説明を行う。
【００１５】
図２は、情報処理装置２の内部構成を示すブロック図である。ＣＰＵ２１は、ＲＯＭ２６内部のプログラム領域に記憶されたプログラム、又は、ハードディスク２３からＲＡＭ２２にロードされたＯＳ、汎用アプリケーション等のプログラムを実行する。ＲＡＭ２２は、ＣＰＵ２１の主メモリ、ワークエリア等として機能する。ハードディスク２３は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、電子原稿ファイル等を記憶する。また、情報処理装置２に受信される印刷ジョブ或いは情報処理装置２内部のジョブ生成アプリケーションによって生成された印刷ジョブは、全てハードディスク２３に送られる。ディスプレイコントローラ２４はディスプレイによる表示の制御を行う。ネットワークコントローラ２５は、ネットワークに接続された他の機器との通信制御処理を実行する。キーボードコントローラ２９は、キーボードやポインティングデバイスからのキー入力を制御する。また、ＣＰＵ２１は、内部バス２ａによって、それぞれのブロックと接続されている。また、外部記憶ドライブ２７を有し、可搬媒体であるメディア２８から、情報を取得することもできる。なお、情報処理装置２は、ここで示した構成に限定されるものではなく、一般的な情報処理装置としての機能が実現できればよい。
【００１６】
［ワークフロー］
図３はワークフロー実行の概念の一例を示す図である。ワークフローは１つ以上のプロセス３１、リソース３２、リソースリンク３３から構成されており、プロセス３１が指定された順番に従って実行される。プロセス３１は、例えば「印刷」や「断裁」などの処理の一単位を表している。リソース３２は、プロセス３１に対し入力または出力されるパラメータを表す。リソース３２は、例えば「面付けのパラメータ」のような数値的なパラメータや、「印刷物」のような物理的なものが挙げられる。リソースリンク３３は、プロセス３１とリソース３２を関連付ける情報である。この場合、リソースリンク１は、リソース1がプロセス１の入力であることを表し、リソースリンク２は、リソース２がプロセス１の出力であることを表している。
【００１７】
［ジョブチケット］
図４はジョブチケットのデータ構造の概念と具体的なデータ構造の一例を示す図である。図４（ａ）におけるジョブチケット３０は、図３において説明したプロセス３１、リソース３２、リソースリンク３３の３つの情報で実行するワークフローが表現されている。プロセス３１は、実行するワークフローにおける各プロセスの内容及びその順序に関する情報を表している。具体的には、指示されているワークフローは、図４（ｂ）中のＴｙｐｅｓ属性に記述されている各プロセスが連続で順番に実行されることを意図している。リソース３２は、各プロセスに入力または出力されるパラメータに関する情報を表している。具体的には、図４（ｂ）中の「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎＰａｒａｍｓ」と、「ＣｏｌｏｒａｎｔＣｏｎｔｒｏｌ」という２つのリソースが、該ワークフロー中のあるプロセス３１に関連があることを示している。リソースリンク３３は、リソース３２がどのプロセスの入力または出力なのかを示している。具体的には、図４（ｂ）中の「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎＰａｒａｍｓＬｉｎｋ」リソースリンクは、「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎＰａｒａｍｓ」リソースが「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎ」プロセスの入力であることを示している。また、「ＣｏｌｏｒａｎｔＣｏｎｔｒｏｌＬｉｎｋ」リソースリンクは、「ＣｏｌｏｒａｎｔＣｏｎｔｒｏｌ」リソースが「Ｉｎｔｅｒｐｒｅｔｉｎｇ」プロセスの入力であることを示している。
【００１８】
［データ構造（プリンタ能力）］
図５はプリンタ能力データ１０のデータ構造の概念と具体的なデータ構造の一例を示す図である。図５（ａ）におけるプリンタ能力データ１０は、実行可能なプロセス５１、使用可能なリソース５２、リソースリンク５３の３つの情報で、プリンタが実行できるワークフローを表現している。実行可能なプロセス５１は、対象プリンタが実行可能なプロセスの内容及びその順序を表している。具体的には、図５（ｂ）中のＴｙｐｅｓ属性に記述されているプロセスを記述通りの順序で実行することが可能である。また、ＣｏｍｂｉｎｅｄＭｅｔｈｏｄ属性から、１つのプリンタ内で複数のプロセスが連続して実行することが可能であることを示している。
【００１９】
使用可能なリソース５２は、実行可能な各プロセスに入力または出力されるリソースに関する情報を表している。図５（ｂ）の場合、「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎＰａｒａｍｓ」と「ＣｏｌｏｒａｎｔＣｏｎｔｒｏｌ」という２つのリソースが、実行可能なプロセス５１に入力または出力できるということを表している。また、「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎＰａｒａｍｓ」リソースに含まれる印刷設定項目である「Ｓｉｄｅｓ」は、「ＯｎｅＳｉｄｅｄＦｒｏｎｔ」「ＴｗｏＳｉｄｅｄＦｌｉｐＸ」「ＴｗｏＳｉｄｅｄＦｌｉｐＹ」のいずれかを設定することが可能である。さらに、「ＣｏｌｏｒａｎｔＣｏｎｔｒｏｌ」リソースに含まれる印刷設定項目である「ＰｒｏｃｅｓｓＣｏｌｏｒＭｏｄｅｌ」は、「ＤｅｖｉｃｅＣＭＹＫ」「ＤｅｖｉｃｅＧｒａｙ」のいずれかを設定することが可能であることがわかる。
【００２０】
リソースリンク５３は、リソース５２がどの実行可能なプロセス５１の入力または出力なのかを示している。図５（ｂ）の場合、「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎ」プロセスには「ＬａｙｏｕｔＰｒｅｐａｒａｔｉｏｎ」リソースが入力可能であることを示している。また、「Ｉｎｔｅｒｐｒｅｔｉｎｇ」プロセスには「ＣｏｌｏｒａｎｔＣｏｎｔｒｏｌ」リソースが入力可能であることを示している。
【００２１】
［データ構造（検証ポリシー）］
図６は、検証情報である検証ポリシーデータ１１の構造の一例を示す図である。検証ポリシーデータ１１はジョブチケットの検証項目６１、検証結果６２を階層構造にして分類したものである。そして、検証レベル６０が上がるほど（即ち、図６に示した表の右に行くほど）詳細な検証条件になっていく。検証項目６１は、どのような検証を行うかの内容を含む。例えば、「ジョブチケット中のプロセスの順序が適切であるか」や、「プロセスに入出力されるリソースが適切であるか」などが挙げられる。検証結果６２は、検証条件を満たさないときの対応を表す。例えばある検証ポリシーにおいて、任意の検証項目に対し検証結果がＥｒｒｏｒとして定義されているのであれば、検証条件を満たさないときにジョブチケットが不当（つまり、Ｅｒｒｏｒ）であるとみなす。また、任意の検証項目に対し検証結果がＷａｒｎｉｎｇとして定義されているのであれば、検証条件を満たさないときにジョブチケットが不当であるとはみなさないが、警告を出力する（つまり、Ｗａｒｎｉｎｇ）。
【００２２】
［データ構造（ユーザデータ）］
図７は、ユーザデータ１２のデータベース構造の一例を示す図である。ユーザデータ１２は、システム起動前にユーザＩＤ７１、機能開示レベル７２、及び検証レベル７３の登録を行うこととする。ユーザID７１は、クライアント環境ごとに指定されたユーザの識別子を表す。機能開示レベル７２は、クライアント環境１のユーザに対して、プリンタのどの機能まで使用することを許可するかを設定するレベルを表す。検証レベル７３は、クライアント環境１のユーザに対して、どの程度の検証を行うかを設定するレベルを表す。制限機能７４は、ある機能開示レベルに対して、プリンタのどの機能が使用できないか（制限された機能）を表す。例えば、ユーザＩＤ７１が“００１”であるユーザの機能開示レベル７２は“１”である。よって、制限機能７４に含まれる「Ｉｎｔｅｒｐｒｅｔｉｎｇ」「Ｓｔｉｔｃｈｉｎｇ」「ＨｏｌｅＭａｋｉｎｇ」「Ｆｏｌｄｉｎｇ」「Ｔｒｉｍｍｉｎｇ」の５つの機能を、例えあるプリンタ３が所有していてもユーザ“０００１”はいずれの機能も使用できない。同様にユーザＩＤ７１が“００３”は、機能開示レベル７２が“２”であるため、「Ｉｎｔｅｒｐｒｅｔｉｎｇ」以外の機能は使用できる。しかし、検証レベル７３が“２”であるため、図６で示した検証ポリシーのうち、検証レベル２までの項目までしか実施できないこととなる。すなわち、各ユーザが利用可能なプリンタの機能、検証項目などを定義している。
【００２３】
［ジョブチケット検証処理］
図８は、第一実施形態における、情報処理装置２が行うジョブチケット検証処理の一例を示すフローチャートである。本フローに係るプログラムは、情報処理装置２のハードディスク２３に記憶されており、ＲＡＭ２２に読み出されＣＰＵ２１によって実行される。本フローでは、情報処理装置２内に存在するクライアント環境１で作成したジョブチケットを検証する際の例について説明していく。
【００２４】
まず、Ｓ１においてデータ受信部４はクライアント環境１から送信されてきた印刷ジョブの中からジョブチケット、およびユーザＩＤを受信する。また、ユーザＩＤは、情報処理装置２内に予め登録されているユーザＩＤ７１を指定する必要があり、以降のステップで使用される。次に、Ｓ２において、プリンタ能力生成部８は、プリンタ能力データ１０を生成する。プリンタ能力データ１０は、ジョブチケットの検証時にジョブチケットと比較照合を行うために用いられる。本ステップは図９にて詳細に説明を行う。
【００２５】
次に、Ｓ３において、検証ポリシー生成部７は、指定されたユーザＩＤから検証ポリシーデータを生成する。検証ポリシーデータ１１は、ジョブチケットの検証時に、ジョブチケットのどの項目を検証するかを決定するために用いられる。本ステップは図１０にて詳細に説明を行う。プリンタ能力データ１０と検証ポリシーデータ１１が生成された後、Ｓ４において検証エンジン６は、ジョブチケットの検証を行う。具体的な検証内容は例えば、ワークフローが単一のプリンタ３で実行されることを意図しているか、プロセス３１が正しい内容及び順序であるか、リソース３２やリソースリンク３３の入出力の関係が正しいか、リソース３２の内容は正しいかなどが挙げられる。本ステップは図１１にて詳細に説明を行う。
【００２６】
ジョブチケットの検証を行った後、Ｓ５において、Ｓ４で検証されたジョブチケットが有効であると判定された場合、Ｓ６へ進む。Ｓ５において、ジョブチケットが有効でないと判定された場合、Ｓ７に進む。ここでの有効か否かは、Ｓ４にて実施された検証処理に基づいて判定することとし、例えば、エラーがあるか否か、警告が出力された数などで判定して良い。Ｓ６では、ジョブチケットが有効であった旨の結果ログを出力し、処理を終了する。Ｓ７では、ある検証内容に対してジョブチケットが有効でなかったことを示すエラーログを出力し、処理を終了する。なお、Ｓ２とＳ３の処理に関しては、逆の順番で実施しても構わない。
【００２７】
［プリンタ能力データ生成］
図９は、第一実施形態における、プリンタ能力生成部８が行うプリンタ能力データ１０生成処理の一例を示すフローチャートである。
【００２８】
はじめにＳ１１において、プリンタ能力生成部８はプリンタＩ／Ｆ９を介して情報処理装置２に接続されているプリンタ３から能力情報を取得する。なお、ここで取得する能力情報は、接続されたプリンタから取得することに限定するものではなく、例えば、能力情報を管理する装置などから取得しても構わない。次にＳ１２において、プリンタ能力生成部８は、Ｓ１１にて取得されたプリンタ能力情報に基づいて、プリンタ能力データ１０を生成する。プリンタ能力データ１０は、図５において示した構造となっている。プリンタ能力データ１０が生成された後、Ｓ１３においてプリンタ能力生成部８は、クライアント環境１を使用するユーザのユーザＩＤがユーザデータ１２に登録されているかを判別する。登録されている場合はＳ１４に進み、登録されていない、あるいはユーザＩＤが読み込まれていない場合はＳ１６に進みエラーを返す。そして、本処理フローを終了する。
【００２９】
Ｓ１４において、プリンタ能力生成部８は、ユーザデータ１２中のユーザＩＤ７１に対応する機能開示レベル７２から、制限機能７４を取得する。これにより、指定されたユーザＩＤが使用可能なプリンタの情報を取得することができる。次に、Ｓ１５においてプリンタ能力生成部８は、Ｓ１２で生成されたプリンタ能力データ中の実行可能なプロセス５１、使用可能なリソース５２、リソースリンク５３のうち、制限機能７４に含まれるプロセスに関する情報を削除する。これにより、ユーザＩＤが保持している機能開示および検証のレベルに対応したプリンタ能力情報を生成する。以上により、本処理フローを終了する。
【００３０】
［検証ポリシーデータ生成］
図１０は、第一実施形態における、検証ポリシー生成部７が行う各ユーザに対する検証ポリシーデータ１１の生成処理の一例を示すフローチャートである。
【００３１】
はじめにＳ２１において、検証ポリシー生成部７は検証ポリシーデータ１１を取得する。検証ポリシーデータ１１は、検証ポリシー生成部７が予め保持しており、図６において示した構造となっている。次に、Ｓ２２において、検証ポリシー生成部７は、クライアント環境１を使用するユーザのユーザＩＤがユーザデータ１２に登録されているかを判定する。登録されている場合はＳ２３に進み、登録されていないあるいはユーザＩＤが読み込まれてない場合はＳ２５に進む。Ｓ２５において、検証ポリシーデータ生成エラーを返し、本処理フローを終了する。Ｓ２３において、検証ポリシー生成部７は、ユーザデータ１２中のユーザＩＤ７１に対応する検証レベル７３を取得する。この情報により、あるユーザが検証可能な項目を知ることが可能となる。最後にＳ２４において、Ｓ２３で取得した検証レベルに基づいて、ジョブチケットを指定したユーザ用の検証ポリシーデータを生成する。
【００３２】
［ジョブチケット検証］
図１１は、第一実施形態における、検証エンジン６が行うジョブチケット検証処理の一例を示すフローチャートである。
【００３３】
はじめにＳ３１において、検証エンジン６はプリンタ能力生成部８において生成されたプリンタ能力データ１０及び検証ポリシー生成部７において生成された検証ポリシーデータ１１を読み込む。次にＳ３２において検証エンジン６は、検証ポリシーデータ１１に含まれる検証項目６１に沿って検証を行う。以降の処理は検証ポリシーデータ１１に含まれる検証項目６１の数だけ行われる。
【００３４】
まず、Ｓ３３において、検証エンジン６は、検証項目６１を取得する。そして、検証エンジン６が内部に有する検証項目６１に対応した検証のための処理関数（以下、検証関数）を呼び出し、検証を行う。Ｓ３４において検証エンジン６は、ジョブチケットとプリンタ能力データ１０を照合し、検証関数において行われた検証が条件を満たすかどうかを判定する。条件を満たす場合、Ｓ３５に進み、条件を満たさない場合、Ｓ３６に進む。
【００３５】
Ｓ３５では、条件を満たした検証項目６１に、さらに詳細な検証項目が存在するかを判定する。存在する場合、Ｓ３３に戻り、詳細な検証項目に関しての検証を行う。存在しない場合、Ｓ３２に戻り、次の検証項目に対して検証を行う。検証ポリシーデータ１１に含まれる検証項目６１を全て検証し終わった時点で本フローは終了する。Ｓ３６において、検証エンジン６は、条件を満たさない場合に実施すべき処理の定義に基づいて、エラー情報や警告情報などの検証結果情報を格納する。その後、Ｓ３７において検証を継続するかを判定する。検証を継続する場合はＳ３３に進み、検証を継続しない場合は検証処理を終了する。
【００３６】
以上のように、ジョブチケット中に表現されている印刷ワークフローが正当であるか（すなわち、ワークフローが実施可能であるか、もしくはユーザに対し警告すべき項目があるか）を検証することが可能である。また、ユーザシステムを使用するユーザやプリンタの能力情報、接続情報に応じて検証内容を動的に変更しながら、検証を容易に行うことができる。
【００３７】
（第二実施形態）
第一実施形態では、クライアント環境１が情報処理装置２内に存在する時の例を示した。図８にて示したように、Ｓ１にてユーザがジョブチケットを送信する際にユーザIDを指定した後、Ｓ２およびＳ３において、ユーザＩＤが情報処理装置２中のユーザデータ１２に登録されていない場合、エラーを返していた。第二実施形態では、クライアント環境１と情報処理装置２がネットワークで接続されている時の実施形態を示す。ここでのクライアント環境とは、例えば、ＰＣのような情報処理装置に代表されるクライアント端末を想定している。本実施形態では情報処理装置２に含まれる検証システムがＷｅｂアプリケーションのようなＷｅｂ経由で通信を行うケースを想定し、ユーザがＷｅｂアプリケーションにログインする際の認証情報をユーザデータ１２として扱ったときの検証処理を例に挙げて説明する。なお、Ｗｅｂアプリケーションを用いて実現する場合には、通信プロトコルとして例えばＨＴＴＰやＨＴＴＰＳなどが利用できる。
【００３８】
［ジョブチケット検証処理］
図１２は、第二実施形態における、情報処理装置２が行うジョブチケット検証処理の一例を示すフローチャートである。第一実施形態にて述べた図８に対応する。
【００３９】
はじめにＳ４１において、データ受信部４は、クライアント環境１からのページ取得の要求を受信する。そしてＳ４２においてログイン画面情報をクライアント環境１へ送信する。このログイン画面情報をユーザはクライアント環境１のＷｅｂブラウザ等で表示し、ログイン処理を行うこととなる。ユーザがログイン処理を行ったら、Ｓ４３においてデータ受信部４はユーザからログイン時に入力されたユーザ情報を受信する。これにより、ユーザ情報受信を実現する。
【００４０】
Ｓ４４において、データ受信部４は、Ｓ４３において受信したユーザ情報に含まれるユーザＩＤがユーザデータ１２中に登録されているかを判定する。もし登録されていなければＳ４５に進み、ログインが失敗した旨をクライアント環境に送信する。そして、本処理フローを終了する。登録されていればＳ４６に進み、クライアント環境１からジョブチケットの受信を行う。これにより、ジョブチケット受信を実現する。Ｓ４６におけるジョブチケットの受信より後の処理に関しては、図８におけるＳ２以降の処理と同等であるため、以降の処理に関する説明については省略する。ただし、図９のＳ１３、図１０のＳ２２の処理に関しては、ユーザＩＤがユーザデータに登録されているかの確認をログイン時に行っているため、この処理を行う必要はない。
【００４１】
以上のように、アプリケーションログイン時の認証情報をユーザ識別情報に使用することで、本願発明を適用可能である。つまり、クライアント環境１と情報処理装置２がネットワークを介して接続されている環境においてもクライアント環境側に新たなソフトウェアをインストールすることなく、本発明に係る検証システムを容易に使用することが可能となる。また、第一実施形態と同様に、ユーザシステムを使用するユーザやプリンタの能力情報、接続情報に応じて検証内容を動的に変更しながら、検証を容易に行うことができる。
【００４２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011191940.tif 000003
【図２】
2011191940.tif 000004
【図３】
2011191940.tif 000005
【図４】
2011191940.tif 000006
【図５】
2011191940.tif 000007
【図６】
2011191940.tif 000008
【図７】
2011191940.tif 000009
【図８】
2011191940.tif 000010
【図９】
2011191940.tif 000011
【図１０】
2011191940.tif 000012
【図１１】
2011191940.tif 000013
【図１２】
2011191940.tif 000014