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