(57)【要約】【課題】プリンタドライバに紐づいたアプリケーションのバックグラウンドでの実行が許可されていない場合に、ユーザの利便性を向上させる情報処理装置を提供すること。【解決手段】プリンタドライバ１０５３と、プリンタドライバ１０５３と紐づくデバイスアプリ１０５２とを含む情報処理装置は、デバイスアプリ１０５２の起動時に、バックグラウンドでのデバイスアプリ１０５２の実行の可否を判定し、バックグラウンドでのデバイスアプリ１０５２の実行が許可されていないと判定した場合に、バックグラウンドでのデバイスアプリ１０５２の実行が許可されていない旨の通知を行う。【選択図】図８
2019197250.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバと、前記プリンタドライバと紐づくアプリケーションとを含む情報処理装置であって、
前記アプリケーションの起動時に、バックグラウンドでの前記アプリケーションの実行の可否を判定する判定手段と、
前記判定手段がバックグラウンドでの前記アプリケーションの実行が許可されていないと判定した場合に、バックグラウンドでの前記アプリケーションの実行に関する通知をする通知手段と、を備える
ことを特徴とする情報処理装置。
【請求項２】
前記通知に対するユーザ操作を受け付けたことに従って、アプリケーションのバックグラウンド実行に関する設定画面を表示する表示手段と、を更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示手段は、アプリケーションのバックグラウンドにおける実行の設定が、アプリケーションによるバッテリーの使用に関連付けて設定されている場合は第１の設定画面を表示し、アプリケーションによるバッテリーの使用に関連付けて設定されていない場合は第２の設定画面を表示する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定手段は、バックグラウンドタスクの設定情報を取得して、前記設定情報に基づいてバックグラウンドでの前記アプリケーションの実行の可否を判定する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記通知手段は、トースト通知が許可されている場合はトーストメッセージを表示し、前記トースト通知が許可されていない場合はメッセージボックスを表示する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記アプリケーションの起動時は、スタート画面でタイルを選択することによって前記アプリケーションが起動された場合もしくは他のアプリケーションから前記アプリケーションが提供する印刷設定のユーザインターフェースが起動された場合である
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記プリンタドライバは、Ｖ４プリンタドライバである
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
プリンタドライバと、前記プリンタドライバと紐づくアプリケーションとを含む情報処理装置の制御方法であって、
前記アプリケーションの起動時に、バックグラウンドでの前記アプリケーションの実行の可否を判定する判定工程と、
前記判定工程においてバックグラウンドでの前記アプリケーションの実行が許可されていないと判定された場合に、バックグラウンドでの前記アプリケーションの実行に関する通知をする通知工程と、を有する
ことを特徴とする制御方法。
【請求項９】
プリンタドライバと紐づくアプリケーションのプログラムであって、
コンピュータに、
前記アプリケーションの起動時に、バックグラウンドでの前記アプリケーションの実行の可否を判定する判定工程と、
前記判定工程においてバックグラウンドでの前記アプリケーションの実行が許可されていないと判定された場合に、バックグラウンドでの前記アプリケーションの実行に関する通知をする通知工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法およびプログラムに関する。
【背景技術】
【０００２】
画像形成装置の制御用ソフトウェアとして、ホストコンピューターにインストールされたプリンタドライバを利用し、ホストコンピューターに接続された画像形成装置に対して印刷を行う構成が知られている。ホストコンピューターには、基本ソフトウェアであるオペレーティングシステム（以下、ＯＳと呼ぶ）がインストールされており、プリンタドライバはそのＯＳの規定する仕様に従って構成される。画像形成装置を提供するベンダーは、ＯＳの仕様に適合するプリンタドライバを提供することにより、画像形成装置に対して印刷指示する手段を得ることができる。
【０００３】
ホストコンピューターのＯＳとしてＭｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）８以降のバージョンを利用する場合、プリンタドライバは、Ｖ４プリンタドライバと呼ばれる新しいアーキテクチャで構成される。Ｖ４プリンタドライバのアーキテクチャでは、セキュリティ性が重視されているため、プリンタドライバそのもののカスタマイズ性は低下している。カスタマイズ性の低下を補うため、画像形成装置を提供するベンダーは、プリンタドライバの機能を補助するための専用のアプリケーションを提供することができる。このアプリケーションはＷｉｎｄｏｗｓ  Ｓｔｏｒｅ  Ｄｅｖｉｃｅ  Ａｐｐｓ（ＷＳＤＡ）と呼ばれる。
【０００４】
また、Ｗｉｎｄｏｗｓ（登録商標）１０以降においては、Ｕｎｉｖｅｒｓａｌ  Ｗｉｎｄｏｗｓ  Ｐｌａｔｆｏｒｍ  （ＵＷＰ）と呼ばれる新しい形式のプラットフォームでアプリケーションが作成できる。そのアプリケーションは、ＵＷＰ  Ｄｅｖｉｃｅ  Ａｐｐｓと呼ばれる。ＵＷＰ  Ｄｅｖｉｃｅ  ＡｐｐｓはＷＳＤＡの機能を拡張し、Ｗｏｒｋｆｌｏｗ（ＷＦ）と呼ばれるアプリケーションをＷＳＤＡに追加することができる。ＷＳＤＡのＷＦ機能は、バックグラウンドタスクと呼ばれるＵＩを持たないスレッドがＯＳによって生成され、実行される。なお、バックグラウンドタスクは、フォアグラウンドのタスク（ＵＩ）を呼び出すことも可能である。
【０００５】
特許文献１は、クライアントコンピュータで入力されたパスワードを付加した印刷データをプリンタに送信すると一旦プリンタで溜め置かれ、プリンタで同じパスワードを入力した場合にのみ、印刷データが印刷可能となるセキュアプリント機能を開示している。Ｖ３プリンタドライバでは、プリンタドライバが印刷時にセキュアプリントのパスワードを入力するポップアップＵＩを表示することが可能である。しかし、Ｖ４プリンタドライバはＯＳが提供するフレームワークが主体となって制御を行うため印刷時にポップアップＵＩを表示することができない。そのため、Ｖ４プリンタドライバにおいては、ＷＳＤＡのＷＦ機能を用いてセキュアプリントなどの印刷時にポップアップＵＩの表示を実現することが考えられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３１８７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＷＳＤＡのＷＦ機能はバックグラウンドタスクで実行されるため、ＯＳの設定でバックグラウンドタスクの実行が許可されていないとＷＦ機能を実行できず、印刷時にポップアップＵＩを表示できない恐れがある。
【０００８】
本発明は、プリンタドライバに紐づいたアプリケーションのバックグラウンドでの実行が許可されていない場合に、ユーザの利便性を向上させる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の情報処理装置は、プリンタドライバと前記プリンタドライバと紐づくアプリケーションとを含む情報処理装置であって、前記アプリケーションの起動時に、バックグラウンドでの前記アプリケーションの実行の可否を判定する判定手段と、前記判定手段がバックグラウンドでの前記アプリケーションの実行が許可されていないと判定した場合に、バックグラウンドでの前記アプリケーションの実行に関する通知をする通知手段と、を備える。
【発明の効果】
【００１０】
本発明によれば、プリンタドライバに紐づいたアプリケーションのバックグラウンドでの実行が許可されていない場合に、ユーザの利便性を向上させる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】印刷システムのネットワークの構成を示す図である。
【図２】クライアントのハードウェア構成を示す図である。
【図３】ＯＳのソフトウェア構成を示す図である。
【図４】印刷処理を説明する図である。
【図５】デバイスアプリのＵＩの例を説明する図である。
【図６】設定画面およびデバイスアプリのＵＩの例を説明する図である。
【図７】デバイスＩＤとの関係を説明する図である。
【図８】デバイスアプリの起動処理を示すフローチャートである。
【図９】メッセージの例を示す図である。
【図１０】メッセージの表示処理を示すフローチャートである。
【図１１】デバイスアプリの起動処理を示すフローチャートである。
【図１２】印刷設定画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
（第１実施形態）
図１は、印刷システムのネットワーク構成を示す図である。印刷システムは、クライアントコンピュータ（以下、クライアントという）１００、プリンタ２００およびネットワーク３００を備える。クライアント１００は、例えば、ＯＳとしてＭｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）１０を搭載した情報処理装置である。Ｗｉｎｄｏｗｓ（登録商標）１０を搭載したクライアント１００にインストールされているプリンタドライバは、Ｖ４プリンタドライバである。プリンタ２００は、ページ記述言語(以下、ＰＤＬと表記する)形式の印刷データを受信し、印刷を行なう。プリンタ２００は印刷機能のみを備えるシングルファンクションプリンタ（ＳＦＰ）でも、印刷機能、スキャン機能および複写機能を備えるマルチファンクションプリンタ（ＭＦＰ）でも構わない。ネットワーク３００は、例えば、ローカル・エリア・ネットワーク(ＬＡＮ)であり、クライアント１００とプリンタ２００を接続する。
【００１３】
図２は、クライアント１００のハードウェア構成を示すブロック図である。クライアント１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、主記憶装置１０２、入力Ｉ／Ｆ１０３、出力Ｉ／Ｆ１０４、補助記憶装置１０５および通信Ｉ／Ｆ１０６を備え、これらはシステムバス１０７を介して接続されている。さらに、クライアント１００は、キーボード１０８、ポインティングデバイス１０９およびモニタ１１０を備える。
【００１４】
ＣＰＵ１０１は、主記憶装置１０２のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２１あるいは補助記憶装置１０５に格納されたプログラムに従って、クライアント１００全体の制御を行う。主記憶装置１０２は、ＲＯＭ１０２１およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２２を備える。ＲＯＭ１０２１は、各種プログラムを記憶している。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとして使用される。
【００１５】
補助記憶装置１０５は、アプリケーション(以下アプリという)１０５１、デバイスアプリケーション（以下、デバイスアプリという）１０５２、プリンタドライバ１０５３およびオペレーティングシステム（以下、ＯＳという）１０５４を記憶している。アプリ１０５１、デバイスアプリ１０５２およびプリンタドライバ１０５３は、不図示のＣＤ−ＲＯＭやＵＳＢメモリあるいはネットワーク３００を経由して補助記憶装置１０５に追加することが可能である。
【００１６】
アプリ１０５１は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（商標登録）やＭｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（商標登録）など、印刷設定も行うことのできるアプリケーションである。デバイスアプリ１０５２は、プリンタドライバ１０５３に紐づいた印刷用のアプリケーションである。プリンタドライバ１０５３は、印刷機能を持つデバイスに対して、印刷指示を行うことができる。ＯＳ１０５４は、例えば、Ｗｉｎｄｏｗｓ（商標登録）などのコンピュータ全体を制御するオペレーティングシステムである。アプリ１０５１、デバイスアプリ１０５２、プリンタドライバ１０５３およびＯＳ１０５４に係るプログラムは、補助記憶装置１０５に記憶されており、ＲＡＭ１０２２にロードされ、ＣＰＵ１０１によって実行される。アプリ１０５１、デバイスアプリ１０５２およびプリンタドライバ１０５３は、ＯＳ１０５４上で動作している。本実施形態におけるプリンタドライバ１０５３は、Ｖ４プリンタドライバである。
【００１７】
入力Ｉ／Ｆ１０３は、クライアント１００に対するユーザからの指示を、キーボード１０８やマウス・タッチパネルなどに代表されるポインティングデバイス１０９などの入力機器を介して受け付けるインターフェースである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニタ１１０などの出力機器に対してデータを出力する。通信Ｉ／Ｆ１０６は、ネットワーク３００に接続され、プリンタ２００などの外部装置と通信する。
【００１８】
図３は、ＯＳ１０５４の印刷処理に関するソフトウェア構成を示す図である。ＯＳ１０５４上では、プリンタドライバ１０５３、プリンタキュー１０５５、デバイス管理システム１０５６およびデバイスアプリ１０５２が動作する。プリンタドライバ１０５３およびプリンタキュー１０５５は、接続されるプリンタ２００に対応するデバイスＩＤを保持している。
【００１９】
デバイス管理制御用ファイル１０５８には、デバイスＩＤとデバイス管理システム１０５６とデバイスアプリ１０５２との関連付けが記述されている。デバイス管理システム１０５６とデバイスアプリ１０５２との関連付けについては、表１および図７を用いてその詳細を後述する。なお、デバイス管理制御用ファイル１０５８は、機種ごとにファイルを作成してもよいし、全機種を一つのファイルで作成してもよい。ＯＳ１０５４は、デバイス管理制御用ファイル１０５８を参照することにより、プリンタドライバ１０５３、プリンタキュー１０５５、デバイス管理システム１０５６およびデバイスアプリ１０５２がどのように関連付けられているか判断する。
【００２０】
図４は、クライアント１００における印刷処理を説明する図である。クライアント１００における印刷処理は、プリンタドライバ１０５３を利用するドライバ印刷システムで実行される。ドライバ印刷システムは、ＯＳ１０５４上で動作している。本実施形態のプリンタドライバ１０５３は、Ｗｉｎｄｏｗｓ（登録商標）のオペレーティングシステム上で動作するｖｅｒｓｉｏｎ４のプリンタドライバ（Ｖ４プリンタドライバ）である。Ｖ４プリンタドライバを利用した印刷処理では、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、ＸＰＳとする）と呼ばれるファイルフォーマットをスプールデータとして使用し、印刷を行う。
【００２１】
プリントマネージャ（スプーラ）２１８、ポートモニタ２１９、ＧＤＩｔｏＸＰＳ変換モジュール２０７、コンフィギュレーションモジュール２０８およびフィルタパイプラインマネージャ２１２は、ＯＳ１０５４に含まれるモジュールである。このうち、ＧＤＩｔｏＸＰＳ変換モジュール２０７、コンフィギュレーションモジュール２０８およびフィルタパイプラインマネージャ２１２は、ＯＳ１０５４から提供されているプリンタドライバ１０５３専用のモジュールという位置づけである。
【００２２】
ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）とは、プリンタの印刷イメージの生成を行うグラフィックスコンポーネントである。ＧＤＩｔｏＸＰＳ変換モジュール２０７は、ＧＤＩで描画されたデータをＸＰＳデータへ変換する機能を持つ。フィルタパイプラインマネージャ２１２は、ＸＰＳ印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。プリンタドライバ１０５３はＸＰＳ印刷パスにより、ＸＰＳファイル形式のまま受信したファイルをページ記述言語などに置き換えてプリンタ２００に出力することができる。ポートモニタ２１９は、デバイスにアクセスするプリントマネージャ２１８とドライバ間で通信を制御することができ、プリンタドライバ１０５３はポートモニタ２１９を経由して印刷処理を行う。また、プリントマネージャ２１８はポートモニタ２１９を通して、プリンタ２００と通信しＡｕｔｏＣｏｎｆｉｇを行う。
【００２３】
プリンタドライバ１０５３は、ＧＤＩｔｏＸＰＳ変換モジュール２０７、コンフィギュレーションモジュール２０８およびフィルタパイプラインマネージャ２１２を含む。コンフィギュレーションモジュール２０８は、プリンタドライバ１０５３が提供する印刷設定編集モジュール２０８１を使用して印刷設定情報を編集する。印刷設定編集モジュール２０８１は、ＪａｖａＳｃｒｉｐｔ（登録商標）と呼ばれるスクリプト言語で記載され、プリンタドライバ１０５３が提供するプロパティバッグ２０６１を利用して印刷設定情報を編集する。
【００２４】
プロパティバッグ２０６１は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０６２およびＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０６３を有する。ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０６２は、ドライバパッケージ内に存在するプリンタの機種依存情報であり、プリンタドライバインストール後にＯＳ１０５４内の特定の領域に読み取り専用のデータ群として保持される。ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０６３は、プリントキューに紐づいたデータ群である。ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０６３は、Ｋｅｙ−Ｖａｌｕｅペアのｘｍｌ定義ファイルをＯＳ１０５４に登録することで利用することが可能であり、Ｖａｌｕｅに関して一定の権限上で編集が可能である。なお、印刷設定定義ファイルであるＧＰＤにもＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０６３の定義を記載することができる。
【００２５】
プリンタドライバ１０５３は、フィルタパイプラインマネージャ２１２を有する。フィルタパイプラインマネージャ２１２は、通信フィルタ２１３、レイアウトフィルタ２１４およびレンダラフィルタ２１５を含む。通信フィルタ２１３、レイアウトフィルタ２１４およびレンダラフィルタ２１５は、補助記憶装置１０５にプリンタドライバ１０５３として格納されている。
【００２６】
アプリ１０５１は、デスクトップアプリ２０１およびＵＷＰアプリ２０２を有する。ユーザは、キーボード１０８やタッチパネル／マウスなどに代表されるポインティングデバイス１０９などといった入力装置を使用して、出力装置のモニタ１１０に映し出されるデスクトップアプリ２０１もしくはＵＷＰアプリ２０２から印刷処理を実行する。印刷処理はプリンタの選択、印刷設定の作成、描画データの変換という３つの処理を順番に行うことで実行される。
【００２７】
印刷処理の流れについてプリンタの選択、印刷設定の作成、描画データの変換の順に説明する。印刷を行う際、まず印刷したいプリンタ２００の選択を行う。プリンタ２００の選択は、印刷を実行するプリンタ２００に対応したプリンタドライバ１０５３を選択することと同義である。プリンタドライバ１０５３の選択には、例えば、不図示のプリントキューを利用する。
【００２８】
次に、印刷設定を作成する。印刷設定を作成するために、アプリ１０５１は、まず、印刷設定用のメモリ領域をＲＡＭ１０２２に確保する。そして、アプリ１０５１は、プリンタドライバ１０５３のコンフィギュレーションモジュール２０８を呼び出して、印刷設定データを作成して格納する。印刷設定データは、印刷処理に関する各機能の設定値等を含むデータであり、印刷処理に利用される。印刷設定データには、例えば、出力する用紙サイズの情報（例えば「Ａ４」）、両面印刷の指定、カラーと白黒、給紙段の指定等の印刷に必要な設定値が含まれる。
【００２９】
デスクトップアプリ２０１は、印刷設定データとしてバイナリのＤＥＶＭＯＤＥ２０３を用いる。ＵＷＰアプリ２０２は、印刷設定データとしてマークアップ言語のＸＭＬ（ｅＸｔｅｎｓｉｖｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記載されたＰｒｉｎｔＴｉｃｋｅｔ２０４を用いる。ＤＥＶＭＯＤＥ２０３は、ＯＳ１０５４が定義する標準領域とプリンタドライバ１０５３が独自で定義する拡張領域とを含む。ＰｒｉｎｔＴｉｃｋｅｔ２０４は、ＸＭＬ形式で記述された印刷設定データである。ＰｒｉｎｔＴｉｃｋｅｔ２０４では、名前空間によって標準領域と拡張領域との記載が分かれている。
【００３０】
アプリ１０５１は、ＤＥＶＭＯＤＥ２０３もしくはＰｒｉｎｔＴｉｃｋｅｔ２０４の内容を書き換えることで、印刷設定を変更する。印刷設定データがＤＥＶＭＯＤＥ２０３で表されている場合、印刷設定データの標準領域は、仕様が外部に公開されている。そのため、デスクトップアプリ２０１は、直接、印刷設定データの標準領域の内容を変更する。印刷設定データのプリンタ２００に依存する拡張領域は、プリンタドライバ１０５３に詳細な仕様が把握されている。そのため、プリンタドライバ１０５３は、ユーザインターフェースを介したユーザの操作に基づいて、印刷設定データの拡張領域の内容を変更する。
【００３１】
印刷設定データがＰｒｉｎｔＴｉｃｋｅｔ２０４で表されている場合、設定値がＸＭＬ形式で記述されているので、ＵＷＰアプリ２０２は、全ての設定値を直接変更することができる。しかし、印刷設定データの拡張領域は、プリンタドライバ１０５３ごとの独自定義であり、プリンタ２００によって仕様が異なるため、ＵＷＰアプリ２０２は拡張領域の詳細な仕様までは把握していない。そのため、プリンタドライバ１０５３は、ユーザインターフェースを介したユーザの操作に基づいて、印刷設定データの拡張領域の設定値を変更する。また、ＵＷＰアプリ２０２がデバイスアプリ１０５２のユーザインターフェースである拡張印刷設定部１０５２２を使って設定変更してもかまわない。
【００３２】
印刷設定データにはプリンタ２００の機種固有の情報も含まれているので、コンフィギュレーションモジュール２０８は、機種依存ファイル２０９を利用して、印刷設定データを作成する。機種依存ファイル２０９は、ＧＰＤ（Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）と呼ばれる印刷設定定義ファイルを指し、プリンタ２００の機種ごとの設定に関する情報（機種依存情報）が定義されている。機種依存ファイル２０９には、デバイスの能力、デバイスのオプション構成、プリントキューに紐づくＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇの定義、印刷設定データに含まれる各機能の設定値などを記載することができる。
【００３３】
プリンタ２００に依存した専用の設定は、プリンタエクステンション２１０やデバイスアプリ１０５２の拡張印刷設定部１０５２２が提供するユーザインターフェースで設定する。拡張印刷設定部１０５２２が提供するユーザインターフェースの一例を図５（Ａ）に示す。図５（Ａ）は、拡張印刷設定部１０５２２が提供する印刷設定画面５００の一例を示す図である。印刷設定画面５００は、原稿サイズ、用紙サイズ、部数、印刷の向きなどの基本設定の他、カラーモード、両面印刷機能などプリンタ２００固有の設定項目も表示する。プリンタドライバ１０５３は、ユーザインターフェースの設定に従い、ＤＥＶＭＯＤＥ２０３もしくはＰｒｉｎｔＴｉｃｋｅｔ２０４のプリンタ２００に依存した拡張領域の設定を変更する。
【００３４】
デバイスアプリ１０５２は、プリンタ２００の機能をプリンタベンダーが拡張するためのアプリケーションであり、プリンタドライバ１０５３とは別のアプリケーションとしてインストールが行われる。デバイスアプリ１０５２は、拡張印刷設定部１０５２２の他に、印刷時起動アプリ部１０５２１、タイルアプリ部１０５２３、バックグラウンドタスク判断部１０５２４、メッセージ管理部１０５２５を有する。
【００３５】
印刷時起動アプリ部１０５２１は、印刷時に印刷時起動アプリランチャー２２１から呼び出されるモジュールであり、プリンタ２００の機能の拡張を実現する。印刷時起動アプリ部１０５２１は、印刷のたびにパスワード設定のユーザインターフェースを表示するセキュアプリント機能、印刷直後にプレビューなどのユーザインターフェースを表示する機能、ＸＰＳスプールファイル２０６の編集機能などを有する。印刷時起動アプリ部１０５２１のユーザインターフェースの一例を図５（Ｂ）に示す。図５（Ｂ）は、印刷時起動アプリ部１０５２１が提供するセキュアプリント機能のパスワード入力画面５１０の一例を示す図である。パスワード入力画面５１０は、印刷時にポップアップＵＩとして表示される。
【００３６】
印刷時起動アプリ部１０５２１は、バックグラウンドタスクの設定が実行可能である場合に起動することができる。バックグラウンドでは、印刷時にＯＳ１０５４によりバックグラウンドタスクと呼ばれるユーザインターフェースを持たないスレッドが生成され実行される。バックグラウンドタスクの実行可否はＯＳ１０５４の設定画面で設定することができ、バックグラウンドタスクの設定情報はバックグラウンドタスク設定情報２２２に格納されている。クライアント１００にインストールされているアプリには、ユーザが操作しなくてもバックグラウンドで動作して最新の状態を維持したり、更新情報を受信したりするものがある。一方で、アプリがバックグラウンドで動作することでバッテリーを消耗したりするので、ユーザがバックグラウンドで動作させたくないアプリをオフに設定することができる。
【００３７】
バックグラウンドタスクの設定画面の一例を図６（Ａ）および図６（Ｂ）に示す。図６（Ａ）は、アプリのバックグラウンドでの実行の可否を設定する設定画面６００を示す図である。設定画面６００には、一括設定６０１と個別設定６０２が設定項目として表示されている。一括設定６０１では、クライアント１００にインストールされている全てのアプリに対してバックグラウンドタスクの実行可否を設定できる。個別設定６０２では、アプリごとにバックグラウンドタスクの実行可否を設定できる。図６（Ｂ）は、アプリのバックグラウンドでの実行の可否を設定する設定画面６１０を示す図である。設定画面６１０は、ノートＰＣやタブレットＰＣなどのバッテリーを搭載したコンピュータで表示することができる。
【００３８】
タイルアプリ部１０５２３は、印刷処理とは別にＯＳ１０５４のスタートメニューなどのアプリケーション一覧から起動されるアプリケーションで、プリンタ２００の管理画面やプリンタ２００のサポート情報のＷｅｂサイトへ誘導する機能などを提供する。タイルアプリ部１０５２３のユーザインターフェースの一例を図６（Ｃ）に示す。図６（Ｃ）は、タイルアプリ部１０５２３が提供するプリンタ２００の管理画面６３０の一例を示す図である。
【００３９】
バックグラウンドタスク判断部１０５２４は、バックグラウンドタスク設定情報２２２に基づいて、バックグラウンドタスクが実行可能であるか否かを判断する。メッセージ管理部１０５２５は、デバイスアプリ１０５２が実行されているときにメッセージを表示するための機能を有する。
【００４０】
印刷設定が確定したら、ユーザはアプリケーションから印刷処理を実行する。デスクトップアプリ２０１から印刷する場合は、ＯＳ１０５４のモジュールであるＧＤＩｔｏＸＰＳ変換モジュール２０７に描画データが送られ、ＸＰＳスプールファイル２０６が作成される。この際、ＧＤＩｔｏＸＰＳ変換モジュール２０７はコンフィギュレーションモジュール２０８を呼び出し、印刷設定をＤＥＶＭＯＤＥ２０３からＰｒｉｎｔＴｉｃｋｅｔ２０４に変換する。ＧＤＩｔｏＸＰＳ変換モジュール２０７は、印刷設定を変換する際に、コンフィギュレーションモジュール２０８によって印刷設定編集モジュール２０８１を使用する。印刷設定編集モジュール２０８１は、プロパティバッグ２０６１の情報を読み書きできるので、プリンタドライバ１０５３が保存したデータを参照して、印刷設定データを変換することもできる。
【００４１】
ＵＷＰアプリ２０２から印刷する場合には、ＸＰＳスプールファイル２０６を生成する方法が二通りある。一つは、ＵＷＰアプリ２０２自身がＸＰＳスプールファイル２０６を生成する方法である。もう一つは、ＯＳ１０５４がＵＷＰアプリ２０２からの描画命令に応じてＸＰＳスプールファイル２０６を生成する方法である。どちらの方法であっても、印刷の途中でＸＰＳスプールファイル２０６が生成される。
【００４２】
アプリ１０５１から印刷の指示が行われ、ＸＰＳスプールファイル２０６が生成されると、バックグラウンドタスク判断部１０５２４は、バックグラウンドタスク設定情報２２２を参照し、バックグラウンドでの処理が実行可能か否か判定する。バックグラウンドでの処理が実行可能である場合、ＯＳ１０５４は、印刷時起動アプリランチャー２２１を介して、印刷時起動アプリ部１０５２１を起動する。印刷時起動アプリ部１０５２１における処理が終了すると、プリントフィルタパイプライン２１１に処理が渡される。
【００４３】
プリントフィルタパイプライン２１１は、生成されたＸＰＳスプールファイル２０６を取得し、複数のフィルタの処理を実行する。プリントフィルタパイプライン２１１に含まれるフィルタは、プリンタドライバ１０５３の構成によって、数や種類が異なる。本実施形態のプリントフィルタパイプライン２１１は、例えば、通信フィルタ２１３、レイアウトフィルタ２１４およびレンダラフィルタ２１５の処理を行う。
【００４４】
フィルタコンフィギュレーションファイル２１６は、プリントフィルタパイプライン２１１に含まれるフィルタの数や処理を行うフィルタの順番を制御する。フィルタパイプラインマネージャ２１２は、フィルタコンフィギュレーションファイル２１６に従って、通信フィルタ２１３、レイアウトフィルタ２１４、レンダラフィルタ２１５の順に、それぞれのフィルタに処理を実行させる。
【００４５】
通信フィルタ２１３は、プリンタ２００と通信する機構を持つ。レイアウトフィルタ２１４は、製本印刷やスタンプ、ページ集約などのレイアウトに関する処理を行う。レンダラフィルタ２１５は、ＸＰＳスプールファイル２０６をレンダリングしてＰＤＬに変換する。ＰＤＬとはＰａｇｅＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ（ページ記述言語）の略称である。
【００４６】
ＰＤＬデータは印刷処理のスケジュール管理を行うプリントマネージャ２１８で管理され、キュー（待ち行列）に印刷ジョブが次々と登録される。プリントマネージャ２１８は、プリンタ２００が印刷できる状態になったら、キューに登録した順にＰＤＬデータを、ポートモニタ２１９を介してプリンタ２００に送信し、印刷処理の指示を行う。以上のように、プリンタドライバ１０５３の主な役目は、アプリ１０５１からの印刷データおよび印刷設定データをプリンタ２００が処理可能なＰＤＬデータに変換することである。
【００４７】
図７は、プリンタ２００のデバイスＩＤ７００とデバイスアプリ１０５２、デバイス管理システム１０５６、プリンタドライバ１０５３、プリンタキュー１０５５の関係を説明する図である。プリンタ２００は、固有のデバイスＩＤ７００を有している。デバイスＩＤ７００とプリンタドライバ１０５３は、一意に関連付けられる。なお、プリンタ２００は複数のデバイスＩＤ７００を有していても構わない。例えば、プリンタ２００がＭＦＰである場合は、スキャナやプリンタなどの機能ごとにデバイスＩＤ７００を有するように構成してもよい。
【００４８】
プリンタドライバ１０５３に対するプリンタキュー１０５５の関係では、複数のプリンタキュー１０５５に対して一つのプリンタドライバ１０５３を関連付けすることが可能である。デバイスＩＤ７００に対しては、デバイス管理システム１０５６およびデバイスアプリ１０５２それぞれが関連付けされる。複数のデバイスＩＤ７００に対して一つのデバイス管理システム１０５６を関連付けすることが可能である。同様に、複数のデバイスＩＤ７００に対して一つのデバイスアプリ１０５２を関連付けすることが可能である。すなわち、デバイスＩＤ７００を介して、デバイスアプリ１０５２およびデバイス管理システム１０５６が、プリンタドライバ１０５３およびプリンタキュー１０５５と関連付けられている。
【００４９】
デバイスＩＤ７００とデバイスアプリ１０５２およびデバイス管理システム１０５６の関連付けについて、表１を用いてその詳細を説明する。表１は、デバイス管理制御用ファイル１０５８で示されるプリンタのデバイスＩＤ７００とデバイス管理システム１０５６とデバイスアプリ１０５２の関連を表した図である。
【表１】
2019197250.tif 000003
【００５０】
デバイスＩＤ７００は、例えば、製造元（ＭＦＧ）、モデル（ＭＤＬ）、クラス（ＣＬＳ）、コマンド（ＣＭＤ）、デスクリプション（ＤＥＳ）などを示す情報である。例えば表１で示されるプリンタ１は製造元：ＡＢＣ、モデル：プリンタ１、クラス：ＰＲＩＮＴＥＲ、コマンド：ＰＤＬ１（ＡＢＣ社プライベートの印刷制御用コマンド）、デスクリプション：ＡＢＣ  プリンタ１を示すデバイスＩＤ７００を有している。プリンタ１のデバイスＩＤ７００は、デバイス管理システム１０５６のＤｅｖＭｇ１、デバイスアプリ１０５２のＡｐｐ１に関連付いている。
【００５１】
プリンタ１がクライアント１００に接続された場合、デバイス管理システム１０５６のＤｅｖＭｇ１とデバイスアプリ１０５２のＡｐｐ１が、クライアント１００に自動的にインストールされる。デバイス管理システム１０５６のＤｅｖＭｇ１とデバイスアプリ１０５２のＡｐｐ１は、プリンタ１を管理する。なお、プリンタ１が接続されているクライアント１００にプリンタ２が接続された場合は、既にＡｐｐ１がインストールされているためＡｐｐ１が新たにインストールされることはなく、デバイス管理システム１０５６のＤｅｖＭｇ２のみがインストールされる。
【００５２】
デバイスアプリ１０５２のタイルアプリ部１０５２３の起動処理を、図８を用いて説明する。図８は、タイルアプリ部１０５２３の起動処理を示すフローチャートである。タイルアプリ部１０５２３の起動処理は、ＣＰＵ１０１が、補助記憶装置１０５に格納されたプログラムをＲＡＭ１０２２に読み出し実行することで実現される。タイルアプリ部１０５２３の起動処理は、スタート画面でデバイスアプリ１０５２に対応したタイルが選択され、ＯＳ１０５４がデバイスアプリ１０５２を起動することで開始される。
【００５３】
Ｓ８０１で、ＯＳ１０５４は、スタートメニューなどのアプリケーション一覧からデバイスアプリ１０５２が押下されたか否かを判断する。デバイスアプリ１０５２が押下されたと判定した場合はＳ８０２に進む。一方、デバイスアプリ１０５２が押下されていないと判定した場合は、デバイスアプリ１０５２を起動せず、Ｓ８０１を繰り返す。Ｓ８０２で、ＯＳ１０５４はデバイスアプリ１０５２を起動する。デバイスアプリ１０５２の起動により、デバイスアプリ１０５２のタイルアプリ部１０５２３も起動する。Ｓ８０３で、タイルアプリ部１０５２３はタイルアプリのＵＩ画面を表示する。タイルアプリのＵＩ画面は、例えば、図６（Ｃ）に示される管理画面６３０である。
【００５４】
Ｓ８０４で、バックグラウンドタスク判断部１０５２４は、デバイスアプリ１０５２のバックグラウンドタスク設定情報２２２を、ＯＳ１０５４のＡＰＩを介して取得する。デバイスアプリ１０５２のバックグラウンドタスク設定情報２２２は、デバイスアプリ１０５２のバックグラウンド実行を許可しているか否かの情報であり、図６に示される設定画面６００で設定されている。
【００５５】
Ｓ８０５で、バックグラウンドタスク判断部１０５２４はＳ８０４で取得したバックグラウンドタスク設定情報２２２を参照して、デバイスアプリ１０５２のバックグラウンドでの実行が許可されているか否かを判定する。デバイスアプリ１０５２のバックグラウンドでの実行が許可されている場合は、本処理を終了する。一方、デバイスアプリ１０５２のバックグラウンドでの実行が許可されている場合は、Ｓ８０６に進む。
【００５６】
Ｓ８０６で、メッセージ管理部１０５２５は、ＯＳ１０５４のＡＰＩを介してトースト通知の可否情報を取得する。Ｓ８０７で、メッセージ管理部１０５２５は、Ｓ８０６で取得したトースト通知の可否情報を参照して、トースト通知が許可されているか否かを判定する。トースト通知が許可されている場合はＳ８０８に進む。一方、トースト通知が許可されていない場合はＳ８０９に進む。
【００５７】
Ｓ８０９で、メッセージ管理部１０５２５は、タイルアプリのＵＩ画面上に、バックグラウンドタスクの実行が許可されていない旨のメッセージボックスを表示する。図９（Ａ）は、バックグラウンドタスクの実行が許可されていない旨のメッセージボックスの一例を示す図である。Ｓ８０８で、メッセージ管理部１０５２５は、トーストメッセージの表示処理を行う。トーストメッセージの表示処理の詳細は、図１０を用いてその詳細を説明する。
【００５８】
図１０は、Ｓ８０８のトーストメッセージの表示処理を示すフローチャートである。Ｓ１００１で、メッセージ管理部１０５２５は、バックグラウンドタスク判断部１０５２４が取得したバックグラウンドタスク設定情報２２２を参照して、バックグラウンドタスクの実行を許可しない理由がＯＳポリシーによるものか否かを判断する。図６（Ａ）に示される設定画面６００でバックグラウンドタスクの実行を許可しないと設定された場合は、「許可しない」というバックグラウンドタスク設定情報２２２が保存されている。一方、図６（Ｂ）に示される設定画面６１０でバックグラウンドタスクの実行を許可しないと設定された場合は、「ＯＳポリシーにより許可しない」というバックグラウンドタスク設定情報２２２が保存されている。バックグラウンドタスクの実行を許可しない理由がＯＳポリシーによるものである場合は、Ｓ１００２に進む。一方、バックグラウンドタスクの実行を許可しない理由がＯＳポリシーによるものでない場合は、Ｓ１００３に進む。
【００５９】
Ｓ１００２で、メッセージ管理部１０５２５は、図６（Ｂ）に示されるバックグラウンドタスクの設定画面６１０へのＰａｔｈをＳ１００４で表示するトーストメッセージに含める。Ｓ１００３で、メッセージ管理部１０５２５は、図６（Ａ）に示されるバックグラウンドタスクの設定画面６００へのＰａｔｈをＳ１００４で表示するトーストメッセージに含める。
【００６０】
Ｓ１００４で、メッセージ管理部１０５２５はＯＳ１０５４に対してトーストメッセージを表示するように指示を出す。表示するトーストメッセージの一例を、図９（Ｂ）に示す。Ｓ１００５で、ＯＳ１０５４はトーストメッセージに対して、クリックやタップなどのユーザ操作がされたか否かを判定する。トーストメッセージがクリックされた場合は、Ｓ１００６に進む。一方、トーストメッセージがクリックされなかった場合は、本処理を終了する。
【００６１】
Ｓ１００６で、ＯＳ１０５４は、トーストメッセージに含まれているＰａｔｈのバックグラウンドタスクの設定画面を表示し、本処理を終了する。バックグラウンドタスクの設定画面６００へのＰａｔｈがトーストメッセージに含まれていた場合は、ＯＳ１０５４は、図６（Ａ）に示される設定画面６００を表示する。一方、バックグラウンドタスクの設定画面６１０へのＰａｔｈがトーストメッセージに含まれていた場合は、ＯＳ１０５４は、図６（Ｂ）に示される設定画面６１０を表示する。
【００６２】
図１１は、デバイスアプリ１０５２の拡張印刷設定部１０５２２の起動処理を示すフローチャートである。拡張印刷設定部１０５２２の起動処理は、ＣＰＵ１０１が、補助記憶装置１０５に格納されたプログラムをＲＡＭ１０２２に読み出し実行することで実現される。拡張印刷設定部１０５２２の起動処理は、例えば他のアプリケーションで印刷ボタンが押下されるなどして印刷設定のＵＩが表示された場合に、ＵＷＰアプリ２０２がＯＳ１０５４へ印刷要求を出すことにより開始される。
【００６３】
Ｓ１１０１で、ＯＳ１０５４は、印刷設定画面を表示する。図１２は、印刷設定画面の一例を示す図である。印刷設定画面１２００には、部数やカラーモードなどの基本設定の他、詳細な設定を行うための「その他の設定」のリンクボタン１２０１も表示される。Ｓ１１０２で、ＯＳ１０５４は、印刷設定画面１２００に対するユーザからの操作を受け付ける。
【００６４】
Ｓ１１０３で、ＯＳ１０５４は、印刷設定画面１２００の「その他の設定」のリンクボタン１２０１が押下されたか否か判定する。「その他の設定」のリンクボタン１２０１が押下されたと判定した場合は、Ｓ１１０４に進む。一方、「その他の設定」のリンクボタン１２０１が押下されなかったと判定した場合は、本処理を終了する。Ｓ１１０４で、ＯＳ１０５４は、デバイスアプリ１０５２の拡張印刷設定部１０５２２を呼び出し、拡張印刷設定部１０５２２が提供する印刷設定画面５００を表示する。Ｓ１１０５〜Ｓ１１０９は、図８のＳ８０４〜Ｓ８０８と同様の処理である。Ｓ１１１０で、メッセージ管理部１０５２５は、印刷設定画面５００上にバックグラウンドタスクの実行が許可されていない旨のメッセージボックスを表示する。
【００６５】
以上の処理により、バックグラウンドタスクの実行が許可されていない場合において、タイルアプリもしくは印刷設定ＵＩの起動時に、システムの設定変更を促すトーストメッセージもしくはメッセージボックスを表示し、ユーザに通知することができる。また、トーストメッセージがクリックされた際には、バックグラウンドタスクの設定画面を表示することができ、ユーザがバックグラウンドタスク設定画面を探す手間を省くことができる。
【００６６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６７】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2019197250.tif 000004
【図２】
2019197250.tif 000005
【図３】
2019197250.tif 000006
【図４】
2019197250.tif 000007
【図５】
2019197250.tif 000008
【図６】
2019197250.tif 000009
【図７】
2019197250.tif 000010
【図８】
2019197250.tif 000011
【図９】
2019197250.tif 000012
【図１０】
2019197250.tif 000013
【図１１】
2019197250.tif 000014
【図１２】
2019197250.tif 000015