(57)【要約】【課題】  印刷設定データの一部としてパスワードのようなユーザー情報が保存された場合、情報処理装置の動作環境によっては印刷設定データのユーザー情報の機密性が低下するおそれがあった。【解決手段】  ユーザー情報をユーザー権限とは異なる権限を使って取得できないように管理し、システム権限で印刷処理を制御する制御手段の権限を、システム権限から印刷処理を指示したユーザーのユーザー権限に変更することでユーザー情報を取得する。【選択図】  図７
2014109854.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置が解釈可能な印刷ジョブを生成する情報処理装置であって、
ユーザー情報をユーザー権限とは異なる権限を使って取得できないように管理する管理手段と、
システム権限で印刷処理を制御する制御手段と、
前記制御手段の権限を前記システム権限から印刷処理を指示したユーザーのユーザー権限に変更する変更手段を有し、
前記制御手段は、前記管理されているユーザー情報を前記変更されたユーザー権限にて取得し、
前記取得されたユーザー情報に基づいて生成された印刷ジョブが画像処理装置に送信されることを特徴とする情報処理装置。
【請求項２】
前記変更手段は、前記制御手段が前記ユーザー権限を取得した後、前記制御手段の権限を前記ユーザー権限から前記システム権限に戻すことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記管理されているユーザー情報を取得した後、前記管理手段が前記ユーザー権限の記憶領域にて管理しているユーザー情報を削除することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は、
前記取得されたユーザー情報を管理し、
前記制御手段により管理されている前記ユーザー情報にアクセスするための情報を、前記印刷ジョブを生成するために起動されるプリンタードライバーのフィルタに通知することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ユーザー情報および印刷設定データは、プリンタードライバーに連動してインストールされるデバイスアプリケーションの画面を介して設定され、
前記印刷設定データは前記プリンタードライバーに通知されることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記ユーザー情報は、セキュアプリントに使用されるパスワード、または、ＦＡＸ送信に使用される電話番号であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
画像処理装置が解釈可能な印刷ジョブを生成する情報処理装置において実行される制御方法であって、
ユーザー情報をユーザー権限とは異なる権限を使って取得できないように管理する管理工程と、
システム権限で印刷処理を制御する制御工程と、
前記制御工程の権限を前記システム権限から印刷処理を指示したユーザーのユーザー権限に変更する変更工程を有し、
前記管理されているユーザー情報は前記変更されたユーザー権限にて取得され、
前記取得されたユーザー情報に基づいて生成された印刷ジョブが画像処理装置に送信されることを特徴とする制御方法。
【請求項８】
画像処理装置が解釈可能な印刷ジョブを生成するコンピュータを、
ユーザー情報をユーザー権限とは異なる権限を使って取得できないように管理する管理手段と、
システム権限で印刷処理を制御する制御手段と、
前記制御手段の権限を前記システム権限から印刷処理を指示したユーザーのユーザー権限に変更する変更手段として機能させ、
前記制御手段は、前記管理されているユーザー情報を前記変更されたユーザー権限にて取得し、
前記取得されたユーザー情報に基づいて生成された印刷ジョブが画像処理装置に送信されることを特徴とする前記コンピュータが読み取り可能なプログラム。
【請求項９】
前記変更手段は、前記制御手段が前記ユーザー権限を取得した後、前記制御手段の権限を前記ユーザー権限から前記システム権限に戻すことを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記制御手段は、前記管理されているユーザー情報を取得した後、前記管理手段が前記ユーザー権限の記憶領域にて管理しているユーザー情報を削除することを特徴とする請求項８または９に記載のプログラム。
【請求項１１】
前記制御手段は、
前記取得されたユーザー情報を管理し、
前記制御手段により管理されている前記ユーザー情報にアクセスするための情報を、前記印刷ジョブを生成するために起動されるプリンタードライバーのフィルタに通知することを特徴とする請求項８乃至１０のいずれか１項に記載のプログラム。
【請求項１２】
前記ユーザー情報および印刷設定データは、プリンタードライバーに連動してインストールされるデバイスアプリケーションの画面を介して設定され、
前記印刷設定データは前記プリンタードライバーに通知されることを特徴とする請求項８乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
前記ユーザー情報は、セキュアプリントに使用されるパスワード、または、ＦＡＸ送信に使用される電話番号であることを特徴とする請求項８乃至１２のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および制御方法およびプログラムに関する。
【背景技術】
【０００２】
プリンターは、受信した印刷ジョブを記憶し、プリンターの操作パネルを使って正確なパスワードが入力された場合、記憶された印刷ジョブの印刷を実行するセキュアプリントの機能を備える。そして、プリンタードライバーは、セキュアプリントの実行を指示するためにパスワードのようなユーザー情報を含む印刷ジョブを送信できる。特許文献１には、セキュアプリントを実現するために、パスワードを含む印刷設定データを作成することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２１８２８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のように、印刷設定データの一部としてパスワードのようなユーザー情報が保存された場合、情報処理装置の動作環境によっては印刷設定データのユーザー情報の機密性が低下するおそれがあった。
よって、本願は、ユーザー情報の機密性の低下を防ぐことを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために本発明に係る情報処理装置は、画像処理装置が解釈可能な印刷ジョブを生成する情報処理装置であって、ユーザー情報をユーザー権限とは異なる権限を使って取得できないように管理する管理手段と、システム権限で印刷処理を制御する制御手段と、前記制御手段の権限を前記システム権限から印刷処理を指示したユーザーのユーザー権限に変更する変更手段を有し、前記制御手段は、前記管理されているユーザー情報を前記変更されたユーザー権限にて取得し、前記取得されたユーザー情報に基づいて生成された印刷ジョブが画像処理装置に送信されることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ユーザー情報の機密性の低下を防止できる。
【図面の簡単な説明】
【０００７】
【図１】コンピューターシステムのハードウェアとソフトウェアのブロック構成図の一例を示す図である。
【図２】クライアントとサーバーとプリンターが接続されたネットワークの構成図の一例を示す図である。
【図３】ｖ４ドライバー印刷処理システムのブロック構成図の一例を示す図である。
【図４】オペレーティングシステムのスタートメニューの一例を示す図である。
【図５】プロパティバッグにユーザー情報を保存するシーケンス図である。
【図６】プリントダイアログの画面の一例を示す図である。
【図７】デバイスアプリの画面の一例を示す図である。
【図８】プロパティバッグに記憶される情報の一例を示す図である。
【図９】印刷処理のフローチャートである。
【図１０】プロパティバッグにユーザー情報を保存するシーケンス図である。
【図１１】デバイスアプリの画面の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【０００９】
図１は本発明の実施形態を示す一般的な情報処理装置（コンピューター）を用いたシステムのブロック構成図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
【００１０】
ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１あるいはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って情報処理装置全体を制御する。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５はアプリケーションソフト１０５１やオペレーティングシステム（ＯＳ）１０５３等を記録する。キーボード１０３１やマウス・タッチパネルなどに代表されるポインティングデバイス１０３２などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニタ１０４１やプリンター１０４２などの出力機器に対してデータを出力する。プリンター１０４２とは直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１０６１を通して接続されていてもよい。また、１０７は共通データシステムバスで、Ｉ／Ｆやモジュール間でデータのやりとりを行う。なお、本願のフローチャートの各ステップは、ＣＰＵが、フローチャートに関するプログラムをメモリから読み出して実行することで実現される。また、プリンター１０４２は、印刷機能のみを持った印刷装置でも良いし、ＦＡＸ機能のみを持ったＦＡＸ装置でも良いし、スキャン機能および印刷機能など複数の機能を持った複合機でも良い。なお、プリンター１０４２を、画像処理装置と呼ぶこともある。
【００１１】
図２は本発明の実施の形態におけるネットワーク１０６１の環境を簡略した図である。
【００１２】
印刷される文書や画像を作成する単体もしくは複数のクライアントコンピュータ２０１／２０２がネットワークに接続されている。また、クライアントコンピュータのユーザーやプリンターを管理するサーバーコンピュータ２０３が接続されていることもある。単体もしくは複数のプリンター２０５および１０４２がネットワークに接続されている。なお、プリンター２０５は、物理的にネットワークに接続されているが、実際には使用できないオフライン状態であることを示している。
【００１３】
ネットワークにはＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの小規模から大規模までのネットワークがあり、これらの機器がすべてのネットワークに接続されている。クラウドなど、サーバーやプリンターがインターネットを越えて接続されていてもかまわない。つまり、情報処理装置は、他の装置（例えば、プリンター等）と接続可能な装置である。
【００１４】
図３はｖ４ドライバー印刷システムのブロック構成図である。ｖ４ドライバー印刷システムはＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、ＸＰＳと略す）と呼ばれるファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。ｖ４ドライバー印刷システムは、オペレーティングシステム１０５３上で動作している。
【００１５】
プリントマネージャ３１８、ＧＤＩｔｏＸＰＳ変換モジュール３０７、フィルタパイプラインマネージャ３１２はオペレーティングシステム１０５３に含まれるモジュールである。ＧＤＩｔｏＸＰＳ変換モジュール３０７、フィルタパイプラインマネージャ３１２は、プリンタードライバー１０５２に含まれているが、オペレーティングシステム１０５３から提供されているプリンタードライバー１０５２専用のモジュールである。
【００１６】
プリンタードライバー１０５２とフィルタパイプラインマネージャ３１２の各フィルタ３１３−３１５、デバイスアプリ３１０は、図１の補助記憶装置１０５にプリンタードライバー１０５２として格納されている。ＧＤＩ印刷アプリケーション３０１（以下、ＧＤＩアプリと略す）とＸＰＳ印刷アプリケーション３０２（以下、ＸＰＳアプリと略す）は、図１の補助記憶装置１０５にアプリケーション１０５１として格納されている。ＧＤＩアプリ３０１は、オペレーティングシステム１０５３が用意するＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）を使用して印刷を行うアプリである。ＸＰＳアプリ３０２は、ＸＰＳスプールファイル３０６を直接使用して印刷を行うアプリである。ユーザーはキーボード１０３１やタッチパネル／マウス１０３２などといった入力装置を使用して、出力装置のモニタ１０４１に映し出されたＧＤＩアプリ３０１、もしくはＸＰＳアプリ３０２から印刷処理を指示する。なお、印刷処理は「プリンターの選択」、「印刷設定データの作成」、「描画データの変換」と３つの処理を順番に行うことで実現される。以下、印刷処理の流れを説明する。
【００１７】
まず、ユーザーは、印刷したいプリンター１０４２を選択する。ユーザーから見るとプリンター１０４２の選択は、印刷を実行するプリンター１０４２に対応したプリンタードライバー１０５２を選択することと同じである。
【００１８】
次に印刷設定データが作成される。印刷設定データが作成される場合、アプリケーション１０５１が印刷設定データ用のメモリ領域をＲＡＭ１０２２に確保する。そして、アプリケーション１０５１は、プリンタードライバー１０５２のコンフィグモジュール３０８を呼び出して、印刷設定データを作成して格納する。ＧＤＩアプリ３０１では印刷設定データとしてバイナリのＤＥＶＭＯＤＥ構造体３０３を用い、ＸＰＳアプリ３０２ではマークアップ言語のＸＭＬで記載されたプリントチケット３０４を用いる。ＤＥＶＭＯＤＥ構造体３０３は、オペレーティングシステムが定義する標準領域とプリンタードライバーが独自で定義する拡張領域を持つ。プリントチケット３０４は、ＸＭＬ形式で記述された印刷設定データで、標準領域と拡張領域は名前空間によって記載が分かれている。印刷設定データには機種固有の情報も含まれているので、コンフィグモジュール３０８は、機種依存ファイル３０９を利用して、印刷設定データを作成する。アプリケーション１０５１が、ＤＥＶＭＯＤＥ構造体３０３もしくはプリントチケット３０４の内容を書き換えることで印刷設定データの内容が変更される。印刷設定データの標準領域は仕様が外部に公開されているので、アプリケーションが直接変更できる。プリンター１０４２に依存した拡張領域は、プリンタードライバー１０５２だけが詳細な仕様を把握しているので、デバイスアプリ３１０が持つユーザーインターフェースを使ってユーザーが設定する。
【００１９】
デバイスアプリ３１０は、プリンタードライバー１０５２の一種ではあるが、プリンタードライバーとは別のプログラムとしてインストールされる。なお、デバイスアプリは、プリンタードライバーのインストールに連動してインストールされる。プリンタードライバー１０５２は、ユーザーインターフェースの設定に従い、ＤＥＶＭＯＤＥ構造体３０３もしくはプリントチケット３０４のプリンター１０４２に依存した設定を変更する。印刷設定データには、出力する用紙サイズの情報（例えば「Ａ４」）、両面印刷の指定、カラーと白黒、給紙段の指定など、印刷に必要な設定値が含まれる。プリントチケット３０４は設定値がＸＭＬ形式で記述されているので、ＸＰＳアプリ３０２がすべての設定値を直接変更して書き換えることは可能ではある。しかし拡張領域は、独自定義であるため詳細な仕様まではわからず、プリンター１０４２によって仕様が異なることから、デバイスアプリ３１０のユーザーインターフェースを使って設定値を変更するほうが容易である。印刷設定データは文書を印刷するたびに必要となるので、その都度作成される。プリンター１０４２のオプション機器や、ユーザーごとの環境設定などは、プリンタードライバーがオペレーティングシステムのレジストリデータベース３０５に保存する。印刷設定データやレジストリデータベース３０５を使用したくないユーザー情報（例えば、セキュアプリントのパスワードや、ＦＡＸ送信用に使用される電話番号）などは、プロパティバッグ３１７に保存される。印刷設定データのデフォルト値はオペレーティングシステムのプリントマネージャ３１８が、レジストリデータベース３０５に保存する。レジストリデータベース３０５や、プロパティバッグ３１７は、補助記憶装置１０５に保存される。
【００２０】
最後に描画データの変換を行う。印刷設定データが確定したら、ユーザーはアプリケーションから印刷処理を指示する。ＧＤＩアプリ３０１から印刷する場合は、プリンタードライバーの形態を取るＧＤＩｔｏＸＰＳ変換モジュール３０７に描画データが送られ、ＸＰＳスプールファイル３０６が作成される。このときＧＤＩｔｏＸＰＳ変換モジュール３０７はコンフィグモジュール３０８を呼び出し、印刷設定データをＤＥＶＭＯＤＥ構造体３０３からプリントチケット３０４に変換する。変換する際には、ＤＥＶＭＯＤＥ−プリントチケット変換モジュール３０８１が使用される。ＸＰＳアプリ３０２から印刷する場合は、ＸＰＳファイルをＸＰＳアプリ自身が生成するのと、オペレーティングシステムがＸＰＳアプリからの描画命令に応じてＸＰＳファイルを生成するのと２通りの方法がある。どちらの方法であっても、印刷の途中でＸＰＳスプールファイル３０６が生成される。このようにｖ４ドライバー印刷システムは、印刷時に必ず描画データに基づくＸＰＳスプールファイル３０６を生成する点が特徴である。ＸＰＳスプールファイル３０６が生成されたら、プリントフィルタパイプライン３１１に処理が渡される。プリントフィルタパイプライン３１１は複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル３１６がフィルタの数や順番を制御する。プリントフィルタパイプライン３１１で動作するフィルタパイプラインマネージャ３１２はフィルタコンフィギュレーションファイル３１６に従って、この実施例では設定フィルタ３１３、レイアウトフィルタ３１４、レンダラフィルタ３１５の順に処理を行う。フィルタはプリンタードライバー１０５２の構成によって、数や種類が異なる。例えば、図３の３つのフィルタに加えて、地紋画像を付加するための地紋フィルタや、描画データをサーバに送信する送信フィルタが含まれていても良い。
【００２１】
印刷処理はＸＰＳスプールファイル３０６をフィルタに受け渡すことで行われ、フィルタがそれぞれＸＰＳスプールファイル３０６を加工し次のフィルタに渡していくことで処理が進む。最後にはＸＰＳスプールファイル３０６が印刷ジョブに変換されて、プリンター出力される。なお、プリンターは、印刷ジョブを解釈可能であり、この印刷ジョブを解釈することで印刷ジョブに基づく印刷処理を実行する。もちろんプリンター１０４２がＸＰＳスプールファイル３０６を読み込んで印刷できるＸＰＳダイレクト印刷機能を備えている場合、ＸＰＳアプリ３０２が、すべてのフィルタをスルーしてＸＰＳスプールファイル３０６を直接プリンターに送信して印刷してもよい。フィルタは独自のデータをプロパティバッグ３１７に保存することができる。また、フィルタは、プロパティバッグ３１７から、オペレーティングシステム１０５３の情報や、他のフィルタのデータを取得することもできる。設定フィルタ３１３ではプリントチケット３０４を読み込んで、印刷に必要なデータをプリントチケット３０４に書き込む。レイアウトフィルタ３１４では倍率の変更や製本の面付けレイアウトやスタンプなどレイアウトに関する処理を行う。レイアウトフィルタ３１４では、ＸＰＳスプールファイル３０６に含まれるプリントチケット３０４に従って動作する。そのため、たとえば面付けの設定がプリントチケット３０４に存在しないときは、レイアウトフィルタ３１４は何も動作せずスルーして、次のフィルタにＸＰＳスプールファイル３０６をそのまま渡す。最後のレンダラフィルタ３１５では、ＸＰＳスプールファイル３０６をレンダリングしてページ記述言語（以下、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）と略す）に変換する。また、レンダラフィルタ３１５は、プリントチケット３０４の印刷設定データを、プリンタジョブ言語（以下、ＰＪＬ（Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）と略する）に変換する。レンダラフィルタ３１５は、ＰＤＬとＰＪＬをまとめて印刷ジョブとしてフィルタパイプラインマネージャ３１２に渡す。印刷ジョブは、印刷処理のスケジュール管理を行うプリントマネージャ３１８に送られ、キュー（待ち行列）に印刷ジョブが次々と登録される。プリントマネージャ３１８は、プリンター１０４２が印刷できる状態になり次第、キューに登録した順にポートモニター３１９を通して印刷ジョブを送信する。  このようにして、描画データをおよび印刷設定データを印刷ジョブに変換することがプリンタードライバーの主な役目であり、情報処理装置での印刷が実施される。
【００２２】
なお、本実施例では、印刷処理を用いて説明しているためプリンタードライバーと記載しているが、ＦＡＸ送信処理の際にも本発明を適用できる。その際は、プリンタードライバーの代わりにＦＡＸドライバーが動作する。プリンタードライバーおよびＦＡＸドライバーを統合して、デバイスドライバーと呼ぶこともある。
【００２３】
ここで、本願が想定する課題の一例について説明する。ｖ４プリンタードライバーは、設定画面がデバイスアプリケーション（後述のデバイスアプリ３１０）として分離されている。そのため、ｖ４プリンタードライバーとアプリケーションは、プリントチケットを使って情報をやり取りする。しかしながら、プリントチケットは、アプリケーションが扱う文書ファイルにも保存されることがあり、文書ファイルを経由してユーザー情報が第３者に伝わるおそれがあった。コンピューターを起動してログインすると、オペレーティングシステム１０５３のユーザーインターフェースを表示するシェルが起動し、図４のスタート画面が表示される。なお、シェルは、スタート画面やシステムメニューなどを表示するために動作するオペレーティングシステム１０５３のモジュールである。スタート画面にはアプリケーション１０５１を起動するためのタイル４０１が並んでおり、ユーザーがタイルをタップもしくはクリックすると、オペレーティングシステム１０５３はアプリケーション１０５１を起動する。起動されるアプリケーション１０５１の多くは、全画面で表示されるタッチパネルに最適化されたアプリケーションで、ＸＰＳアプリ３０２となる。ＧＤＩアプリ３０１は、デスクトップタイル４０２をタップもしくはクリックして表示されるデスクトップ画面から起動される。もちろん、ＧＤＩアプリ３０１をスタート画面にタイルとして登録することも可能である。デバイスアプリ３１０は、タイル４０３として登録される。そのため、ユーザーがタイル４０３をタップもしくはクリックすることで、デバイスアプリ３１０が起動される。
【００２４】
オペレーティングシステム１０５３には、システムメニュー４０４が存在する。システムメニュー４０４はアプリケーション１０５１に共通な機能を提供するもので、たとえばユーザーがデバイス４０５をタップすると、アプリケーション１０５１から印刷を指示できるようになっている。
【００２５】
次に、本発明のユーザー情報を付加した印刷ジョブを生成する過程を、図５のシーケンス図と、図８のフローチャートを使って説明する。
【００２６】
図５はユーザーがアプリケーション１０５１を使って印刷を開始するまでの流れを示したシーケンス図である。
【００２７】
まず、ユーザーは、スタート画面に表示されたアプリケーションのタイルをタップする（Ｓ５０１）。タイルがタップされた場合、オペレーティングシステム１０５３のシェルは、タップされたタイルに対応するアプリケーション１０５１を起動する（Ｓ５０２）。Ｓ５０２で起動されるアプリケーション１０５１は、ＸＰＳアプリ３０２である。
【００２８】
ユーザーは、ＸＰＳアプリ３０２で印刷したい文書を画面に表示して、システムメニュー４０４を開き、デバイス４０５をタップする（Ｓ５０３）。Ｓ５０３の操作を受けて、オペレーティングシステム１０５３のシェルは、ＸＰＳアプリ３０２に描画データを要求する（Ｓ５０４）。ＸＰＳアプリ３０２は描画データをオペレーティングシステム１０５３に渡すと、オペレーティングシステム１０５３のプリントダイアログが起動される（Ｓ５０５）。プリントダイアログは、オペレーティングシステム１０５３に登録されている印刷可能なプリンターを列挙して（Ｓ５０６）、表示する。なお、プリントダイアログは、プリンターに関する情報を表示するオペレーティングシステム１０５３のモジュールである。
【００２９】
ユーザーは列挙されているプリンターから、印刷に使用するプリンターのアイコンをタップして選択する（Ｓ５０７）。プリントダイアログはＳ５０７にて選択されたプリンターの能力とデフォルトの印刷設定データを、プリンタードライバー１０５２のコンフィグモジュール３０８に要求する（Ｓ５０８）。
【００３０】
プリンタードライバー１０５２のコンフィグモジュール３０８は、プリンターの能力とデフォルトの印刷設定データをプリントダイアログに返す（Ｓ５０９）。プリントダイアログがＳ５０９で取得するデフォルトの印刷設定データはプリントチケット３０４である。
【００３１】
プリントダイアログは、印刷設定データであるプリントチケット３０４をＸＰＳアプリ３０２に渡し、描画データのプレビュー画像の作成を要求する（Ｓ５１０）。ＸＰＳアプリ３０２は渡されたプリントチケット３０４を読み込んで設定値を理解し、設定値にあわせたプレビュー画像を生成し、プリントダイアログに返す（Ｓ５１１）。
【００３２】
Ｓ５１１により表示される画面が、図６である。ＸＰＳアプリ３０２の印刷する文書は６０１に表示されている。プリントダイアログの画面６０２は、ＸＰＳアプリ３０２の画面右側に表示される。プリントダイアログの画面６０２は、ＸＰＳアプリ３０２から受け取った文書の描画データのプレビュー画像６０３を表示する。
【００３３】
プリントダイアログの画面６０２は、コンフィグモジュール３０８から受け取ったプリンターの能力に応じて、印刷設定値を変更できるように、コントロール６０４を表示する。なお、コントロール６０４は、印刷設定項目と選択肢を含む。例えば、ユーザーがコントロール６０４の矢印を選択することで、印刷の向きの選択肢として縦と横が表示される。
【００３４】
プリントダイアログの画面６０２は、印刷設定データのうち標準領域の設定項目についてコントロール６０４を表示する。その他の設定（ＭｏｒｅＳｅｔｔｉｎｇｓ）６０５をユーザーがタップして選択すると（Ｓ５１２）、プリントダイアログは、プロパティバッグ３１７へアクセスするためのインターフェースポインタを作成する（Ｓ５１３）。プロパティバッグ３１７は多種多様なデータを管理できる。なお、プロパティバッグには、ドライバプロパティバッグ、キュープロパティバッグ、ユーザープロパティバッグが含まれる。なお、これらのプロパティバッグは、データを記憶および管理するため、単に記憶領域と呼ばれることもある。オペレーティングシステム１０５３は、例えばアプリケーションが３つのプロパティバッグが持つデータにアクセスできるように、３種類のインターフェースポインタを作成する。
【００３５】
ドライバプロパティバッグは、プリンタードライバーが持つ機種依存ファイル３０９の一部のデータを管理する。キュープロパティバッグは、オプション機器やユーザーごとの環境設定など、プリンタードライバーがレジストリデータベース３０５に保存したデータの一部を管理する。ユーザープロパティバッグはユーザーごとの情報を管理する。ユーザープロパティバッグは、ユーザーごとに別々の領域が用意されるため、他のユーザーはアクセスできない。よって、個人情報などのユーザー情報がユーザープロパティバッグに管理される。
【００３６】
プリントダイアログは、これらのインターフェースポインタを渡してプリンタードライバーのデバイスアプリ３１０を起動する（Ｓ５１４）。
【００３７】
デバイスアプリ３１０は、コンフィグモジュール３０８からプリンターの能力と印刷設定データを要求する（Ｓ５１５）。コンフィグモジュール３０８は、プリンターの能力と印刷設定データをデバイスアプリ３１０に返す（Ｓ５１６）。
【００３８】
Ｓ５１６により表示される画面が、図７である。
【００３９】
ＸＰＳアプリ３０２の印刷する文書は図６と同じ位置の７０１にそのまま表示されており、プリントダイアログの画面６０２が表示されていた位置に、デバイスアプリ３１０のユーザーインターフェース７０２が表示されている。デバイスアプリ３１０は、プリントダイアログと異なり、プリンタードライバーの一部なので、印刷設定データの拡張領域にもアクセスできる。
【００４０】
そこで、デバイスアプリ３１０は、プリンターの能力に応じて、標準領域と拡張領域の印刷設定値を変更できるコントロールを表示する。例えば、選択されたプリンターがセキュアプリントに対応している場合、セキュアプリントに関するコントロールがユーザーインターフェース７０２に表示される。ユーザーはセキュアプリントのパスワードをコントロール７０３に対して入力する（Ｓ５１７）。デバイスアプリ３１０は、ユーザープロパティバッグのインターフェースポインタを使ってセキュアプリントのパスワードをプリントダイアログに通知する（Ｓ５１８）。
【００４１】
プリントダイアログは、デバイスアプリ３１０から通知されたキーと値を、ユーザープロパティバッグに保存する（Ｓ５１９）。プロパティバッグ３１７は、図８のようにキーと値の組み合わせを管理する。セキュアプリントのパスワードは、キーに“ＳｅｃｕｒｅｄＰｒｉｎｔＰａｓｓｗｏｒｄ”という文字列をセットし、値に入力されたパスワードをセットすることで、セキュアプリントに関する情報がユーザープロパティバッグにて管理される。もちろん、セキュアプリントのパスワード以外にも、ユーザープロパティバッグは、部門管理のＩＤや暗証番号、ユーザー名といったユーザー情報を管理できる。また、ユーザー情報以外でも、ユーザープロパティバッグは、「今後はこのメッセージを表示しない」といったフラグのようなデータも管理できる。つまりプロパティバッグは、キーが、セットする側とゲットする側で一致していれば、どんな値でも格納することが可能である。
【００４２】
デバイスアプリ３１０は、ユーザープロパティバッグのインターフェースポインタを使って自動削除フラグＯＮをプリントダイアログに通知する（Ｓ５１８）。なお、Ｓ５１８は、デバイスアプリ３１０が自動的に自動削除フラグＯＮを通知しても良いし、デバイスアプリ３１０に対してユーザーが自動削除ＯＮまたはＯＦＦを予め指示しておくことで実現しても良い。デバイスアプリ３１０は、インターフェースポインタを使って、キーとして“ＡｕｔｏＤｅｌｅｔｅ”、値として“Ｔｒｕｅ”をプリントダイアログに通知する。
【００４３】
プリントダイアログは、デバイスアプリ３１０から通知されたキーと値を、ユーザープロパティバッグに保存する（Ｓ５２１）。
【００４４】
ユーザーは、デバイスアプリ３１０のユーザーインターフェース７０２を使った印刷設定処理が完了した場合、戻るボタン７０４を押して印刷設定処理の終了をデバイスアプリ３１０に通知する（Ｓ５２２）。デバイスアプリ３１０は、ユーザーが入力した印刷設定値をプリントチケット３０４に反映させ、コンフィグモジュール３０８にプリントチケット３０４の印刷設定値の検証を依頼する（Ｓ５２３）。印刷設定の検証とは、印刷設定項目のそれぞれの設定値が禁則しているかどうかを確認するもので、コンフィグモジュール３０８は禁則している設定値を解消したプリントチケット３０４を作成する。コンフィグモジュール３０８は、禁則を解消したプリントチケット３０４を印刷設定データとしてデバイスアプリ３１０に返す（Ｓ５２４）。デバイスアプリ３１０は、最終的に出来上がった印刷設定データをプリントダイアログに返す（Ｓ５２５）。
【００４５】
ユーザーはプリントダイアログの画面６０２の印刷ボタン６０６をタップして、印刷の開始を指示する（Ｓ５２６）。プリントダイアログは描画データと印刷設定データを、フィルタパイプラインマネージャ３１２を介してプリンタードライバーに渡す（Ｓ５２７）。Ｓ５２７の処理を詳細に記載すると、プリントダイアログは、描画データと印刷設定データをフィルタパイプラインマネージャ３１２に渡す。そして、フィルタパイプラインマネージャ３１２は、プリンタードライバーの最初のフィルタ（図３では設定フィルタ３１３）に描画データと印刷設定データを渡すことでプリンタードライバーにおける印刷ジョブの生成処理が始まる。なお、プリンタードライバーのフィルタが、ユーザープロパティバッグに記憶されたユーザー情報を取得するために行われる一連の処理は図９を用いて後述する。
【００４６】
図５の処理によりユーザープロパティバッグにユーザー情報が保存された後、印刷が開始される。
【００４７】
次に、印刷処理が開始することで実行される処理を図９（ａ）と（ｂ）のフローチャートを使って説明する。図９の処理は、図６で印刷６０６がタップされることで開始される。なお、図９（ａ）はオペレーティングシステムの処理であり、図９（ｂ）はプリンタードライバーの処理である。
【００４８】
図６で印刷６０６がタップされた後、オペレーティングシステムはフィルタパイプラインマネージャ３１２をシステム権限で起動する（Ｓ９０１）。フィルタパイプラインマネージャ３１２は、オペレーティングシステムにログインしている全てのユーザーからの印刷を引き受ける必要があるので、システム権限で起動される。
【００４９】
オペレーティングシステムは、印刷の指示を受け付けたアプリケーションのユーザートークンを取得し、フィルタパイプラインマネージャに渡す（Ｓ９０２）。ユーザートークンとはそれぞれのユーザーを識別するためのハンドル情報であり、オペレーティングシステムに登録されているユーザーごとに異なる。システム権限で動作しているフィルタパイプラインマネージャ３１２はユーザートークンを使用して、権限を一時的にシステム権限からアプリケーションのユーザー権限に変更する（Ｓ９０３）。権限の変更は、システム権限で動作しているから許可されている動作である。
【００５０】
フィルタパイプラインマネージャ３１２は、印刷したアプリケーションのユーザー権限に変更されたので、変更されたユーザー権限を使ってアクセス可能なユーザープロパティバッグを、オペレーティングシステムを介して取得する。フィルタパイプラインマネージャ３１２は、取得したユーザープロパティバッグをフィルタパイプラインマネージャ用のメモリ内にコピーする（Ｓ９０４）。Ｓ９０４でコピーされたユーザープロパティバッグには、図８に示すようなキーと値が含まれている。
【００５１】
フィルタパイプラインマネージャ３１２は、Ｓ９０４の取得対象のユーザープロパティバッグの中にある“ＡｕｔｏＤｅｌｅｔｅ”キーを検索し、自動削除フラグを取得する。フィルタパイプラインマネージャ３１２は、自動削除フラグがＯＮすなわちＴｒｕｅであるかどうかを判定する（Ｓ９０５）。自動削除フラグがＯＮであれば、フィルタパイプラインマネージャ３１２は、ユーザープロパティバッグの中身を破棄する（Ｓ９０６）。Ｓ９０６の処理により取得対象のユーザープロパティバッグのデータがすぐに破棄されることによって、ユーザーがパスワード等のユーザー情報を入力してから印刷を開始した直後までの短い間だけ、ユーザー情報がユーザープロパティバッグに保持される。その結果、セキュリティを向上できる。
【００５２】
フィルタパイプラインマネージャ３１２は、Ｓ９０６の処理が終了した場合（またはＳ９０６にてＮｏと判定された場合）、権限をシステム権限に戻す（Ｓ９０７）。フィルタパイプラインマネージャ３１２が、ユーザー権限で動作する時間を短期間にすることによって、ユーザープロパティバッグから他のユーザー情報の取得を防止でき、セキュリティを向上できる。
【００５３】
次にフィルタパイプラインマネージャ３１２は、プリンタードライバーのフィルタをロードする（Ｓ９０８）。フィルタパイプラインマネージャ３１２は、Ｓ９０４にてコピーしたユーザープロパティバッグにアクセスするためのインターフェースポインタをフィルタに渡す（Ｓ９０９）。なお、Ｓ９０９において、フィルタパイプラインマネージャ３１２は、描画データへアクセスするためのインターフェースポインタ、および、印刷設定データにアクセスするためのインターフェースポインタもフィルタに渡す。
図９（ｂ）において、フィルタは、Ｓ９０９で渡されたインターフェースポインタを使って、フィルタパイプラインマネージャ３１２がＳ９０４でコピーしたユーザープロパティバッグにアクセスする。そして、フィルタは、セキュアプリントに必要なユーザー情報（例えばパスワード）を取得する（Ｓ９１０）。なお、フィルタは、Ｓ９０９において渡されたインターフェースポインタを使って印刷設定データを最初に取得し、印刷設定データにユーザー情報を必要とする設定値が含まれる場合に、Ｓ９１０の処理を行っても構わない。
【００５４】
フィルタは、各種インターフェースポインタを使って描画データおよび印刷設定データを取得する。そしてフィルタは、取得したパスワードおよび印刷設定データを使用してＰＪＬを作成し、描画データからＰＤＬを生成して、印刷ジョブを生成する（Ｓ９１１）。
【００５５】
そして、フィルタは生成された印刷ジョブをプリントマネージャ３１８、ポートモニター３１９を介してプリンターへ送信する。
【００５６】
図９（ａ）に戻り、フィルタパイプラインマネージャ３１２は、フィルタから印刷ジョブが出力された後、フィルタをアンロードする（Ｓ９１２）。そして、フィルタパイプラインマネージャ３１２は、Ｓ９０４でコピーしたユーザープロパティバッグを削除する（Ｓ９１３）。
【００５７】
図９の処理により、ｖ４プリンタードライバーはユーザープロパティバッグからユーザー情報を取得して、ユーザー情報に基づく印刷ジョブを生成して、プリンターに送信できる。なお。ｖ４プリンタードライバーは、描画データとしてＸＰＳデータを受信し、かつ、印刷設定データとしてプリントチケットを受信し、印刷ジョブを生成する。さらに、ｖ４プリンタードライバーは、ＯＳの特定のプラットフォーム上（タッチパネルに適した環境）でも動作可能であり、後述のデバイスアプリ３１０のユーザーインターフェースに入力された設定値を反映した印刷ジョブを生成できる。
【００５８】
以上により、セキュリティや堅牢性を高めているＶ４ドライバー印刷システムであっても、ユーザーが入力したユーザー情報に基づく印刷ジョブを、セキュリティを低下させることなく、生成することができる。また、そのために必要とされる動作においても、オペレーティングシステムは、ユーザープロパティバッグ内で管理されるユーザー情報を自動的に削除するため、さらにセキュリティを高めたまま実現することが可能である。
【００５９】
もちろん、自動削除フラグをＯＦＦにセットすることも可能である。この場合、一度入力したユーザー情報を何度でも使用できるので、印刷のたびにユーザー情報を入力する手間を省くことができ、操作性が向上する。
【００６０】
なお、フィルタパイプラインマネージャ３１２は、事前の印刷設定データを解釈し、ユーザープロパティバッグに記憶されたユーザー情報をフィルタに通知する必要があると判断した場合に図９の処理を行っても構わない。
【実施例２】
【００６１】
実施例１では、プリントダイアログの画面６０２から呼び出されるデバイスアプリ３１０のユーザーインターフェースを用いてセキュアプリントを実行する処理について説明した。しかしながら、ユーザーが、プリントダイアログの画面６０２を用いず、タイル４０３を使ってデバイスアプリ３１０を直接起動して、ユーザープロパティバッグにユーザー情報を保存することも可能である。実施例２の処理を図１０のシーケンス図を用いて、説明する。
【００６２】
ユーザーは、スタート画面に表示されたデバイスアプリ３１０のタイル４０３をタップする（Ｓ１００１）。次に、オペレーティングシステムはデバイスアプリ３１０を起動する（Ｓ１００２）。デバイスアプリ３１０は、自ら管理しているプリンターを列挙して表示する（Ｓ１００３）。ユーザーは、デバイスアプリ３１０により表示されたプリンターから所望のプリンターを選択する（Ｓ１００４）。
【００６３】
デバイスアプリ３１０は、オペレーティングシステムに対してプロパティバッグ３１７へのインターフェースポインタを要求する（Ｓ１００５）。オペレーティングシステムはプロパティバッグ３１７へのインターフェースポインタを作成し（Ｓ１００６）、デバイスアプリ３１０に作成されたインターフェースポインタを渡す（Ｓ１００７）。
【００６４】
実施例１と同様に、オペレーティングシステムは、３種類のプロパティバッグのインターフェースポインタを渡す。ユーザーによりプリンターが選択された場合、デバイスアプリ３１０が提供する図１１のような画面が表示される。
【００６５】
デバイスアプリ３１０は、スタート画面からタップして起動された場合、プリントダイアログの画面６０２から起動されることで表示される画面７０２とは異なり、画面１１０１のように全画面表示される。ユーザーがプリンターを選択しているので、中央に選択されたプリンターのアイコン１１０２が表示されており、パスワードを入力するコントロール１１０３が配置されている。
【００６６】
ユーザーは、デバイスアプリ３１０のコントロール１１０３にパスワードを入力する（Ｓ１００８）。デバイスアプリ３１０は、ユーザープロパティバッグのインターフェースポインタを使って、セキュアプリントを示すキーとＳ１００８で入力されたパスワード（値）をオペレーティングシステムに通知する（Ｓ１００９）。
【００６７】
オペレーティングシステムは、デバイスアプリ３１０により通知されたキーとパスワード（値）を、ユーザープロパティバッグに保存する（Ｓ１０１０）。Ｓ１０１０でキーとパスワード（値）が保存されるプロパティバッグは、Ｓ１００７で渡されたインターフェースポインタを使ってアクセス可能なプロパティバッグである。
【００６８】
次にデバイスアプリ３１０は、ユーザープロパティバッグのインターフェースポインタを使って、自動削除フラグＯＮを示すキーと値をオペレーティングシステムに通知する（Ｓ５１８）。オペレーティングシステムは、デバイスアプリ３１０から通知されたキーと値を、ユーザープロパティバッグに保存する（Ｓ１０１２）。このようにして、スタート画面からタップして起動されたデバイスアプリ３１０でも、プリンタードライバーに渡すユーザー情報をユーザープロパティバッグに保存しておくことができる。
【００６９】
図１０のシーケンスの処理が終了した後、デバイスアプリ３１０のユーザーインターフェース７０２が表示されるとセキュアプリントのパスワードのコントロール７０３には、Ｓ１０１０で保存されたパスワードが表示される。一例を挙げて説明する。例えば、図１０のシーケンスの処理が終了した後、ユーザーが図６のプリントダイアログの画面６０２のその他の設定６０５をタップする。この操作により、図５のＳ５１４にて説明した通り、オペレーティングシステムからデバイスアプリ３１０にユーザープロパティバッグへのインターフェースポインタが通知される。そして、デバイスアプリ３１０は、通知されたインターフェースポインタを使ってＳ１０１０でパスワードが保存されたユーザープロパティバッグにアクセスして、パスワードを取得できる。その取得されたパスワードをデバイスアプリ３１０が表示することで、上述した処理が実現される。実施例２により、印刷の際にその他の設定６０５でデバイスアプリ３１０からパスワード等のユーザー情報を設定するのを忘れていたとしても、事前に入力したパスワードを使用できる。
【００７０】
なお、本願ではセキュアプリントを一例に説明をしたが、セキュアプリントの代わりに部門管理印刷やＦＡＸ送信時など、ユーザー情報が必要な場合にも本願の処理を適用できる。
【００７１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である
【符号の説明】
【００７２】
１０４２  プリンター
１０５２  プリンタードライバー
【図１】
2014109854.tif 000003
【図２】
2014109854.tif 000004
【図３】
2014109854.tif 000005
【図４】
2014109854.tif 000006
【図５】
2014109854.tif 000007
【図６】
2014109854.tif 000008
【図７】
2014109854.tif 000009
【図８】
2014109854.tif 000010
【図９】
2014109854.tif 000011
【図１０】
2014109854.tif 000012
【図１１】
2014109854.tif 000013