JP2020016951A - 情報処理装置、制御方法、およびプログラム - Google Patents

情報処理装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP2020016951A
JP2020016951A JP2018137881A JP2018137881A JP2020016951A JP 2020016951 A JP2020016951 A JP 2020016951A JP 2018137881 A JP2018137881 A JP 2018137881A JP 2018137881 A JP2018137881 A JP 2018137881A JP 2020016951 A JP2020016951 A JP 2020016951A
Authority
JP
Japan
Prior art keywords
application
print
printer
control information
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018137881A
Other languages
English (en)
Inventor
裕一 挾間
Yuichi Hazama
裕一 挾間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018137881A priority Critical patent/JP2020016951A/ja
Publication of JP2020016951A publication Critical patent/JP2020016951A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】デバイスアプリの所定のモジュールを所定のタイミングで起動するか否かの設定を適切に行うことが可能な情報処理装置を提供する。【解決手段】クライアントコンピュータは、プリンタの登録に際して、プリンタに対応するデバイスアプリケーションを取得し、インストールし、デバイスアプリに関する印刷時起動アプリ制御情報を取得し、取得した印刷時起動アプリ制御情報に基づき、プリンタに印刷の実行を指示する際に印刷時起動アプリ部を起動するか否かを設定する。【選択図】図8

Description

本発明は、情報処理装置、制御方法、およびプログラムに関する。
プリンタドライバは、クライアントコンピュータにインストールされ、対応するプリンタへの印刷設定や印刷要求に応じたレンダリング処理などを行うモジュールである。近年、Windows(登録商標)において、V4プリンタドライバと呼ばれるアーキテクチャが登場した。V4プリンタドライバは、セキュリティを重視するアーキテクチャで、従来のV3プリンタドライバに比べ、カスタマイズ性は低下する。
タブレット型コンピュータで操作し易いデザインが採用された、Windows8以降のWindowsでは、以下の二種類のアプリケーションが動作する。一つはデスクトップアプリケーションであり、もう一つは全画面で表示されるWindows Storeアプリケーション(以下、ストアアプリと呼ぶ)である。プリンタドライバが提供する印刷設定用のユーザインタフェース(以下、UI)もそれぞれのUI環境に応じて切り替わる。
このうち、ストアアプリにおける印刷設定用のUIはWSDA(Windows Store Device App)と呼ばれており、ストアアプリの一種として実装されている(以下、デバイスアプリケーション、デバイスアプリと呼ぶ)。またプリンタドライバがインストールされると、ドライバに対応付けられたWSDAが自動でインストールされる仕組みがある。
さらに、Windows10では、Windows10を搭載した様々なデバイスでアプリケーションを動作させるUWP(Universal Windows Platform)が導入された。UWPに対応したアプリケーションをUWPアプリケーション(以下、UWPアプリと呼ぶ)と呼ぶ。前述のWSDAは、ストアアプリに加えて、UWPアプリからの利用が可能となっている。
プリンタベンダーは、V4プリンタドライバにおいて、前述のWSDAを用いてリッチなユーザインタフェースを持つ印刷設定画面を提供することが可能である。加えて、WSDAに印刷時に起動することができる画面や機能を持たせることができる。WSDAを印刷時に起動するか否かの制御は、プリンタベンダーが提供するプリンタドライバのインストーラがOSのレジストリに制御情報を書き込み、OSが印刷時にその情報を読み込むことによって行われる。
ところで、教育市場向けのWindowsの新しいエディションとして、Windows10Sが登場した。Windows10Sは、セキュリティとパフォーマンスを重要視したOSで、従来のデスクトップアプリケーションはインストールできず、前述のストアアプリまたはUWPアプリのみがインストール可能となっている。
Windows10Sのように、ソフトウェアのインストールが制約された環境において、ベンダー提供のプリンタドライバが自由にインストールできず、OSに標準で同梱されているOS標準ドライバのみが利用可能な環境も今後想定される。
特許文献1は、1台のデバイスに複数のドライバが関連付けられている場合に、複数のドライバ名をXML形式のデバイス制御用ファイル内に記述することによりデバイス管理アプリケーションとデバイスドライバを関連付ける方法を開示している。
特開2010−123103号公報
ベンダー提供のプリンタドライバが自由にインストールできない環境等において、WSDAを印刷時に起動するか否かの制御情報をOSのレジストリに書き込むことができない場合が考えられる。このとき、WSDAを印刷時に起動するか否かの制御を行うことができない。
本発明は、デバイスアプリの所定のモジュールを所定のタイミングで起動するか否かの設定を適切に行うことが可能な情報処理装置を提供することを目的とする。
本発明の一実施形態の情報処理装置は、デバイスの登録に際して、前記デバイスに対応するデバイスアプリケーションを取得し、インストールするインストール手段と、前記デバイスアプリケーションに関する制御情報を取得する取得手段と、取得した制御情報に基づき、所定のタイミングにおいて前記デバイスアプリケーションに含まれる所定のモジュールを起動するか否かを設定する設定手段と、を備える。
本発明の情報処理装置によれば、デバイスアプリの所定のモジュールを所定のタイミングで起動するか否かの設定を適切に行うことができる。
本実施形態におけるシステム構成例を示す図である。 クライアントコンピュータのソフトウェア構成を示す図である。 クライアントコンピュータの印刷処理システムの構成を示す図である。 プリンタのハードウェア構成を示す図である。 プリンタの印刷処理システムを示す図である。 印刷設定UIの一例を示す図である。 デバイスアプリからプリンタを登録する処理を示す図である。 印刷時起動アプリ制御情報の取得と書き込みに関する処理を示す図である。 印刷処理の実行を指示するための処理を示す図である。 プリンタ登録処理を実行するまでに表示されるUIの一例を示す図である。 クライアントコンピュータの印刷処理システムのUML図である。 デバイスアプリからプリンタを登録する処理を示す図である。 印刷時起動アプリ制御情報の取得と書き込みに関する処理を示す図である。
以下、本発明を実施するための形態について図面などを参照して説明する。
(第1実施形態)
図1(A)は、本発明におけるシステムの構成例を示す図である。
図1(A)に示すシステムは、クライアントコンピュータ(情報処理装置)100と、ページ記述言語(PDL)形式の印刷データを受信し印刷を行なうことが可能なプリンタ(画像形成装置)200を備える。なお、本実施形態では、周辺機器(デバイス)の一例としてプリンタについて説明するが、デバイスはプリンタに限られるものではない。
プリンタ200は、クライアントコンピュータ100のオペレーティングシステム(OS)の標準印刷機能が対応する印刷データの形式と、データ送信のプロトコルとに対応しているものとする。クライアントコンピュータ100とプリンタ200とは、ローカル・エリア・ネットワーク(LAN)に代表されるネットワーク300を介して接続され、通信可能である。
なおプリンタ200は、印刷機能のみを備えるシングルファンクションプリンタ(SFP)であっても、印刷機能、スキャン機能、および複写機能等の各種機能を備えるマルチファンクションプリンタ(MFP)であっても構わない。
図1(B)は、クライアントコンピュータ100のハードウェア構成を示す図である。
CPU101は、主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022は、CPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105は、アプリケーション1051や、デバイスアプリケーション1052、オペレーティングシステム(OS)1053等を記憶する。
以下、アプリケーション1051をアプリ1051と表記し、デバイスアプリケーション1052をデバイスアプリ1052と記載する。また、主記憶装置102と補助記憶装置105とを合わせて記憶装置と記載する。アプリ1051やデバイスアプリ1052は、不図示のCD−ROMやUSBメモリ、あるいはネットワーク300を経由して補助記憶装置105に追加することが可能である。
マウス・タッチパネルなどに代表されるポインティングデバイス109やキーボード108等の入力機器は、入力I/F103を通じて接続され、ユーザがクライアントコンピュータ100に対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインタフェースであり、モニタ110やプリンタ200等の出力機器に対してデータを出力する。
なお、プリンタ200との接続は、出力I/F104による直接接続でなくても良い。すなわち、プリンタ200とは、通信I/F106を通じて接続されるネットワーク300を通して接続されてもよい。また、共通システムバス107は、クライアントコンピュータ100を構成するハードウェアモジュール間でデータのやりとりを行う際に用いられる。加えて、CPU101が記憶装置に記憶されているプログラムに基づき処理を実行することによって、図2に示すようなクライアントコンピュータ100のソフトウェア構成および後述するフローチャートの各ステップの処理が実現される。
図2は、クライアントコンピュータ100のソフトウェア構成を示す図である。
デバイスドライバ1054とプリンタキュー1055は、接続されるプリンタに対応するデバイスIDを保持している。また、デバイス管理制御ファイル1058には、デバイスIDとデバイス管理システム1056およびデバイスアプリ1052との関連付けが記述されている(詳細は後述の表Aおよび図11を参照)。
デバイス管理システム1056は、クライアントコンピュータ100に接続された周辺機器(デバイス)を管理するためのソフトウェアである。本実施形態では、デバイスとしてプリンタ200を例に挙げて説明する。デバイス管理システム1056は、接続されているデバイスに適切なデバイスドライバ1054を自動的に割り振る。デバイス管理システム1056は、アプリ1051がデバイスを直接制御することなく、デバイスからの入出力を管理する手段を提供する。
OS1053は、デバイス管理制御ファイルを参照する。この参照により、OS1053は、デバイスドライバ1054とプリンタキュー1055とデバイス管理システム1056とデバイスアプリ1052とがデバイスIDを介してどのように関連付けられているかの判断を行うことが可能である。なお、デバイス管理制御ファイル1058は、デバイスの機種ごとにファイルを作成してもよいし、全機種を一つのファイルで作成してもよい。
図3は、クライアントコンピュータ100の印刷処理システムに係るソフトウェア構成を示す図である。
OS1053が有するOS標準印刷機能10531は、XPS(XML Paper Specification)ファイル形式をスプールデータとして使用し、印刷を行うシステムである。OS標準印刷機能10531は、OS1053上で動作している。OS標準印刷機能10531は、OS1053に標準で同梱されているデバイスドライバ1054である。
GDItoXPS変換モジュール207、プリントマネージャ218、標準印刷通信部219、OS標準印刷機能10531、OS標準UI管理部10532、および印刷時起動アプリ制御部10534は、OS1053に含まれるモジュールである。GDIとはプリンタの印刷イメージを生成するグラフィックスコンポーネントであり、GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する。
XPS印刷パスとは、XPSファイル形式のままファイルがOS標準印刷機能10531に渡され、OS標準印刷機能10531が受信した該ファイルを標準のページ記述言語に置き換えてプリンタ200に出力することができる機能である。標準のページ記述言語は、モバイル印刷の標準規格であるMopriaで採用されているPDF(Portable Document Format)、PWG―Rasterが想定されるが、これらに限定されるものではない。
標準印刷通信部219は、プリンタ200にアクセスするプリントマネージャ218とOS標準印刷機能10531との間の通信を制御することができ、OS標準印刷機能10531は、標準印刷通信部219を経由して印刷処理を行う。また、プリントマネージャ218は、標準印刷通信部219を通して、プリンタ200と通信し、対応機能の情報や設定値情報を取得する。
標準印刷通信部219は、Mopriaで採用されているIPP(Internet Printing Protocol)等の標準的な通信プロトコルを用いてプリンタ200と通信を行う。このようにすることで異なるベンダーのプリンタとの通信を可能にしている。印刷時起動アプリ制御部10534は、後述するデバイスアプリ1052の印刷時起動アプリ部10521を起動するか否かを制御する。
アプリ管理部222は、アプリ制御情報取得部223を介してデバイスアプリ1052もしくはプリンタ200から印刷時起動アプリ制御情報を取得し、アプリ制御情報格納部224へ格納する。そして、アプリ管理部222は、印刷時に、アプリ制御情報格納部224に印刷時起動アプリ部10521を起動するという情報が格納されていれば、アプリランチャ221を介して印刷時起動アプリ部10521を起動する。
デスクトップアプリ201およびUWPアプリ202は、クライアントコンピュータ100の補助記憶装置105にアプリ1051として格納されている。ユーザは、マウス・タッチパネルなどに代表されるポインティングデバイス109やキーボード108等の入力機器を使用して、出力機器であるモニタ110に表示されたデスクトップアプリ201もしくはUWPアプリ202から印刷処理を実行する。
印刷処理は、プリンタの選択、印刷設定の作成、および描画データの変換の3つの処理を順番に行うことで実現する。以下、印刷処理について詳細に説明する。まず、ユーザが印刷したいプリンタ200の選択を行う。ユーザから見ると、プリンタ200の選択は、印刷を実行するプリンタ200が対応するOS標準印刷機能10531を選択することと同義である。OS標準印刷機能10531の選択には、不図示のプリントキューを利用する。
次に、印刷設定を作成する。印刷設定では、まずアプリ1051が印刷設定用のメモリ領域をRAM1022に確保する。そして、アプリ1051は、OS標準印刷機能10531の標準印刷設定管理部208を呼び出して、印刷設定データを作成し、格納する。また、標準印刷設定管理部208は、OS標準印刷機能10531で設定可能な機能と選択項目の一覧をOSが定義する書式に基づきXML形式で記述したPrintCapabilities250を生成する。
OS標準UI管理部10532やデバイスアプリ1052は、PrintCapabilities250に記述された情報に基づき、印刷設定のインタフェースを提供する。デスクトップアプリ201では、印刷設定データとしてバイナリのDEVMODE203を用い、UWPアプリ202では、マークアップ言語のXMLで記述されたPrintTicket204を用いる。
印刷設定データには、OS標準印刷機能10531固有の情報も含まれる。このため、標準印刷設定管理部208は、OS標準印刷機能10531が対応する機能を定義した標準印刷機能定義ファイル209を利用して、印刷設定データを作成する。DEVMODE203もしくはPrintTicket204が印刷設定を保持しており、アプリ1051が直接値を書き換えることで印刷設定が変更される。
これら印刷設定は、OS標準UI管理部10532やデバイスアプリ1052の拡張印刷設定部10522が持つユーザインタフェースでなされる。ユーザインタフェース上で印刷設定がなされた後、OS標準印刷機能10531は、当該ユーザインタフェースの設定に従い、DEVMODE203もしくはPrintTicket204のプリンタ200に対応する設定を変更する。
PrintTicket204は、印刷設定がXML形式で記述されているため、UWPアプリ202が全ての設定値を直接変更して書き換えることは容易である。しかし、デバイスアプリ1052のユーザインタフェースである拡張印刷設定部10522を使ってPrintTicket204の設定を変更しても構わない。
印刷設定が確定すると、ユーザは、アプリ1051から印刷処理の実行を指示する。デスクトップアプリ201から印刷する場合は、OS1053のモジュールであるGDItoXPS変換モジュール207に描画データが送られ、XPSスプールファイル206が作成される。このときGDItoXPS変換モジュール207は、標準印刷設定管理部208を呼び出し、印刷設定をDEVMODE203からPrintTicket204に変換する。
一方、UWPアプリ202から印刷する場合は、UWPアプリ202自身がXPSスプールファイル206を生成する場合と、OS1053がUWPアプリ202からの描画命令に応じてXPSスプールファイル206を生成する場合との2通りの方法がある。どちらの方法であっても、印刷処理の途中でXPSスプールファイル206が生成される。
このように、デスクトップアプリ201またはUWPアプリ202から印刷処理の実行の指示が行われたことにより、XPSスプールファイル206が生成されると、標準印刷処理部212に処理が渡される。標準印刷処理部212は、生成されたXPSスプールファイル206をレンダリングして標準のPDLデータに変換する。PDLとは、PageDescriptionLanguage(ページ記述言語)の略称である。
PDLデータは、印刷処理のスケジュール管理を行うプリントマネージャ218で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンタ200が印刷できる状態になると、PDLデータはキューに登録された順に標準印刷通信部219を通してプリンタ200に送信される。このようにして、アプリ1051からの印刷データをPDLデータに変換することがOS標準印刷機能10531の主な役目であり、プリンタを通して印刷処理が行われる。
さらに、標準印刷処理部212は、XPSスプールファイル206に含まれるPrintTicket204に指定された設定内容を標準印刷通信部219に渡す。さらに、標準印刷通信部219が設定内容を標準の通信プロトコルを通して、プリンタ200に渡すことで、標準印刷設定管理部208やデバイスアプリ1052が持つユーザインタフェースで指定された印刷設定の情報が印刷処理に反映される。
デバイスアプリ1052は、OS標準印刷機能10531とは別のアプリケーションとしてインストールが行われ、プリンタ200の機能をプリンタベンダーが拡張するためのアプリケーションである。デバイスアプリ1052は、拡張印刷設定部10522の他に、印刷時起動アプリ部10521、タイルアプリ部10523、印刷時起動アプリ制御情報10524、およびマニフェストファイル10525等で構成される。
印刷時起動アプリ部10521は、印刷時にアプリランチャ221から呼び出されるモジュールである。印刷時起動アプリ部10521は、例えば、以下のような機能を有し、プリンタ200の機能の拡張を実現することができるモジュールである。例えば、印刷前にユーザ情報を入力させるUIを表示する機能(ポップアップ機能)や、印刷直後にプレビューなどのUIを表示する機能、XPSスプールファイル206の編集機能、FAX送信時の宛先入力機能などを有する。
すなわち、印刷時起動アプリ部10521は、印刷時に限らず、所定のタイミングでアプリランチャ221から呼び出され、プリンタ200の機能の拡張を実現するための所定の機能を提供するモジュールである。
タイルアプリ部10523は、印刷処理とは別にOS1053のスタートメニューなどのアプリケーション一覧から起動されるアプリケーションであり、プリンタ200の管理画面やプリンタ200のサポート情報のWebサイトへ誘導する機能などを提供する。印刷時起動アプリ制御情報10524は、プリンタ毎に印刷時において印刷時起動アプリ部10521を起動するか否かの情報を保持している。
マニフェストファイル10525には、デバイスアプリ1052のアプリパッケージを作成するために必要なプロパティや設定等の情報が記述されている。また、マニフェストファイル10525には、デバイスアプリ1052が印刷時起動アプリ部10521をサポートしているか否かの情報等が記述されている。
デスクトップアプリ201からプリンタ200の印刷設定の要求を受け付けると、OS1053がOS標準UI管理部10532をRAM1022にロードしCPU101で実行する。OS標準UI管理部10532の実行をうけて、印刷設定UI(操作画面)がモニタ110に表示される。
図6(A)は、印刷設定UIの一例を示す図である。
印刷設定UI3000は、複数のタブで構成され、出力先となるプリンタ200への印刷設定を受け付ける。印刷設定UI3000の各タブにおいて各種印刷設定が設定されたのち、OKボタン3001が押下されると、標準印刷設定管理部208がOS1053に印刷設定データを出力し、印刷設定の要求による処理が終了する。
一方、UWPアプリ202からプリンタ200の印刷設定の要求を受け付けると、OS1053が当該UWPアプリ202に対応するデバイスアプリ1052をRAM1022にロードしCPU101で実行する。デバイスアプリ1052の実行をうけて、UWPアプリ用の印刷設定UIがモニタ110に表示される。
図6(B)は、UWPアプリ用の印刷設定UIの一例を示す図である。
UWPアプリ用の印刷設定UI6000は、出力先となるプリンタ200への印刷設定を受け付ける。UWPアプリ用の印刷設定UI6000の各ページにおいて各種印刷設定が設定されたのち、OKボタン6001が押下されると、デバイスアプリ1052がOS1053に印刷設定データを出力し、印刷設定の要求による処理が終了する。
図10は、UWPアプリ202から印刷処理を実行するまでに表示されるUIの一例を示す図である。
図10(A)は、UWPアプリ202の一例としての描画アプリケーションの画面の一例である。画面800上で印刷処理の実行が指示されると、UWPアプリ202は、OS標準UI管理部10532に対してモダンプリントダイアログの表示指示を行う。指示を受けたOS標準UI管理部10532は、モダンプリントダイアログを表示する。
図10(B)は、モダンプリントダイアログ810の一例を示す図である。モダンプリントダイアログ810はOS1053において利用可能なプリンタ200が選択できる選択コントロール811を含む。選択コントロール811上の選択肢812は、選択コントロール811上に表示するプリンタ200を追加するためのものであり、この選択肢812を用いて使用したいプリンタ200を登録(追加)することができる。
ユーザにより選択肢812が選択されると、OS1053はプリンタとスキャナの追加画面を表示する。印刷ボタン813は、選択コントロール811上で選択されたプリンタに印刷の実行を指示するためのボタンである。
図10(C)は、プリンタとスキャナの追加画面の一例を示す図である。
追加画面820には、OS1053が検知した、出力I/F104に接続されているプリンタおよび通信I/F106を通じて接続されるネットワーク300を通して接続されているプリンタが表示される。ユーザは、追加画面820に表示されたプリンタ200を選択することにより、プリンタおよびスキャナを登録(追加)する。以下、プリンタとスキャナの登録する処理について説明する。
図7は、プリンタとスキャナの追加画面820からプリンタを登録(追加)する処理について説明するフローチャートである。
ステップS601で、プリンタとスキャナの追加画面820において、OS1053は、出力I/F104に接続されているプリンタを検知する。検知は、OS1053に標準搭載されたプラグアンドプレイ(PnP:Plug and Play)等の機能によって実現される。
また、OS1053は、通信I/F106を通じて接続されるネットワーク300を通して接続されているプリンタをも検知する。ネットワーク接続における検知は、ネットワークプラグアンドプレイ(N−PnP:Network Plug and Play)の機能によって実現される。
ステップS602で、OS1053は、クライアントコンピュータ100の記憶装置内を検索する。そして、OS1053は、ステップS601で検知し、ユーザにより登録対象として選択されたプリンタに対応するデバイスドライバ1054がクライアントコンピュータ100にインストールされているか否か判断する。
対応するデバイスドライバ1054がインストールされていない場合、処理はステップS603に進み、対応するデバイスドライバ1054がインストールされている場合、処理はステップS605に進む。なお、ここでのデバイスドライバ1054は、OS標準ドライバのことである。すなわち、OS標準ドライバのみがインストールされている環境である。
ステップS603で、OS1053は、対応するデバイスドライバ1054を取得する。デバイスドライバ1054の取得は、クライアントコンピュータ100の補助記憶装置105、クライアントコンピュータ100に挿入されたCD−ROM等の記憶媒体等から行われる。また、デバイスドライバ1054の取得は、LAN接続されたサーバの記憶装置、またはインターネット経由で接続されたクラウドサーバ等から行われてもよい。
ステップS604で、OS1053は、取得したデバイスドライバ1054をクライアントコンピュータ100にインストールする。ステップS605で、OS1053は、接続されたプリンタに対応するプリンタキュー1055を作成する。ステップS606で、OS1053は、クライアントコンピュータ100の記憶装置内を検索し、ステップS601で検知し、登録対象として選択されたプリンタに対応するデバイス管理システム1056が存在するか否か判断する。
対応するデバイス管理システム1056が存在しない場合、処理はステップS607に進み、対応するデバイス管理システム1056が存在しない場合、処理はステップS609に進む。ステップS607で、OS1053は、対応するデバイス管理システム1056を取得する。
デバイス管理システム1056の取得は、デバイスドライバ1054の取得と同様に行われる。すなわち、クライアントコンピュータ100の補助記憶装置105、クライアントコンピュータ100に挿入されたCD−ROM等の記憶媒体、LAN接続されたサーバの記憶装置、またはインターネット経由で接続されたクラウドサーバ等から取得される。
なお、デバイス管理システム1056を取得する際に、同時にデバイス管理制御ファイル1058が取得される。デバイス管理制御ファイル1058は、接続されたプリンタ200とデバイス管理システム1056とデバイスアプリ1052の関連を記述したものであり、後述する表Aに示す情報を保持する。
ステップS608で、OS1053は、デバイス管理システム1056をインストールする。ステップS609で、OS1053は、デバイス管理制御ファイル1058にデバイスアプリ1052についての記述が存在するか否か判断する。すなわち、ステップS609にて、OS1053は、登録対象として選択されたプリンタに対応するデバイスアプリ1052を、デバイスIDを介して特定している。デバイス管理制御ファイル1058にデバイスアプリ1052についての記述が存在する場合、処理はステップS610に進み、記述が存在しない場合、図7に示す処理を終了する。
ステップS610で、OS1053は、クライアントコンピュータ100の記憶装置内を検索する。そして、OS1053は、ステップS601で検知し、登録対象として選択されたたプリンタに対応するデバイスアプリ1052がクライアントコンピュータ100にインストールされているか否か判断する。対応するデバイスアプリ1052がインストールされていない場合、処理はステップS611に進み、対応するデバイスアプリ1052がインストールされている場合、処理はステップS620に進む。
ステップS611で、OS1053は、対応するデバイスアプリ1052を取得する。デバイスアプリ1052の取得は、デバイスドライバ1054やデバイス管理システム1056の取得と同様に行われる。すなわち、クライアントコンピュータ100の補助記憶装置105、クライアントコンピュータ100に挿入されたCD−ROM等の記憶媒体、LAN接続されたサーバの記憶装置、またはインターネット経由で接続されたクラウドサーバ等から取得される。
ステップS612で、OS1053は、デバイスアプリ1052をインストールする。ステップS620で、OS1053は、印刷時起動アプリ制御情報の取得および書き込みに関する処理を行う。ステップS620の処理の詳細は、図8を用いて後述する。
図11は、プリンタ200のデバイスIDとデバイスアプリ1052・デバイス管理システム1056・デバイスドライバ1054・プリンタキュー1055との関係を示すUML(Unified Modeling Language)図である。
プリンタ200は、デバイスIDを有している。ここでプリンタは、複数のデバイスIDを有していても構わない。例えば、MFPなどにおいて、スキャナやプリンタなどの機能ごとにデバイスIDを有するように構成してもよい。また、デバイスIDとデバイスドライバ1054とは一意に関連付けられる。デバイスドライバ1054に対するプリンタキュー1055の関係では、複数のプリンタキューに対して一つのデバイスドライバを関連付けることが可能である。
さらに、デバイスIDに対して、デバイス管理システム1056・デバイスアプリ1052それぞれが関連付けられる。複数のデバイスIDに対して一つのデバイス管理システム1056を関連付けることが可能である。また、複数のデバイスIDに対して一つのデバイスアプリ1052を関連付けることが可能である。すなわち、デバイスIDを介して、デバイスアプリ1052・デバイス管理システム1056がデバイスドライバ1054・プリンタキュー1055と関連付けられている。
次にデバイスIDとデバイスアプリ・デバイス管理システムを具体的にどのように関連付けるのかを、表Aを用いて説明する。表Aは、デバイス管理制御ファイル1058で示されるプリンタのデバイスIDとデバイス管理システム1056とデバイスアプリ1052の関連を示す表である。
Figure 2020016951
表Aにおいて、「デバイスID」は、デバイスの機種を一意に識別するための識別子である。なお、デバイスの機種とは、本実施形態では具体的に製造元(MFG)、モデル(MDL)、クラス(CLS)、コマンド(CMD)、デスクリプション(DES)等を示す情報とする。例えば、表Aで示されるプリンタ1は、「製造元:ABC、モデル:プリンタ1、クラス:PRINTER、コマンド:PDL1(ABC社プライベートの印刷制御用コマンド)、デスクリプション:ABC プリンタ1」を示すデバイスIDを有する。また、表Aにより、プリンタ1のデバイスIDが、「デバイス管理システム:DevMg1」、「デバイスアプリ:App1」に関連付けられていることがわかる。
図7のフローに当てはめれば、プリンタ1がクライアントコンピュータ100に接続された場合、プリンタ1のデバイスドライバ1054がインストールされ、製造元とモデルに応じた名称のプリンタキュー1055が作成される。そして、プリンタ1のデバイスドライバのインストールに連動して、「デバイス管理システム:DevMg1」と「デバイスアプリ:App1」が自動的にインストールされる。
また、「デバイス管理システム:DevMg1」と「デバイスアプリ:App1」は、プリンタ1を管理する。なお、表Aには、「デバイス管理アプリ:App1」が、プリンタ1と共にプリンタ2を管理することが記述されている。この場合、プリンタ1がクライアントコンピュータ100に接続され、プリンタ1と関連付けられている「デバイスアプリ1052:App1」が既にインストールされると、後にプリンタ2が接続されたときに新たにApp1はインストールされない。
図8は、図7のステップS620の処理、すなわち印刷時起動アプリ制御情報の取得および書き込みに関する処理について説明するためのフローチャートである。
本実施形態では、OS1053の印刷時起動アプリ制御部10534、詳細にはアプリ管理部222が、デバイスアプリ1052から印刷時起動アプリ制御情報10524を取得する場合について説明する。
なお、上述したように、印刷時起動アプリ制御情報は、本実施形態のようにデバイスアプリ1052から取得される場合とプリンタ200から取得される場合がある。プリンタ200から取得される場合については第2実施形態で説明する。
ステップS621で、印刷時起動アプリ制御部10534のアプリ管理部222は、デバイスアプリ1052に印刷時起動アプリ部10521が含まれるか否か判断する。本実施形態では、デバイスアプリ1052に印刷時起動アプリ部10521が含まれているか否かは、デバイスアプリ1052のマニフェストファイル10525を参照することにより判断する場合について説明する。
具体的には、マニフェストファイル10525において、デバイスアプリ1052に印刷時起動アプリ部10521がサポートされているか否かの情報に基づき判断される。しかし、デバイスアプリ1052に印刷時起動アプリ部10521が含まれているかの判断方法は、これに限られるものではなく、どのような方法を用いても構わない。
ステップS621で、デバイスアプリ1052に印刷時起動アプリ部10521が含まれていると判断された場合、処理はステップS622に進む。一方、デバイスアプリ1052に印刷時起動アプリ部10521が含まれていないと判断された場合、図8に示す処理を終了する。ステップS622で、アプリ制御情報取得部223は、選択されたプリンタ200のデバイスIDに対応するデバイスアプリ1052から印刷時起動アプリ制御情報10524を取得する。
表Bは、印刷時起動アプリ制御情報10524で示されるプリンタのデバイスIDと印刷時起動アプリ部10521の制御情報の関連を示す表である。
Figure 2020016951
印刷時起動アプリ制御情報10524には、デバイスアプリ1052と関連付けられたプリンタのデバイスID毎に、当該デバイスアプリ1052が備える印刷時起動アプリ部10521の制御情報が記述されている。詳細には、当該デバイスアプリ1052が備える印刷時起動アプリ部10521を、印刷時に起動するか否かの情報がプリンタ200毎に記述されている。
なお、デバイスIDがプリンタ200の機種ごとかつ機能ごとに付与されている場合、印刷時起動アプリ制御情報10524は、デバイスごとかつ機能ごとに印刷時起動アプリ部10521の起動に関して定義できる。この場合、印刷時起動アプリ部10521を機能ごとに起動するか否かを制御できる。また、本実施形態では、S622にて、印刷時起動アプリ部10521を印刷時に起動するか否かの情報を取得しているがこれに限られるものではない。
すなわち、印刷時に限らず、所定のタイミングにおいて、デバイスアプリ1052の所定のモジュール(機能)の起動の有無を制御するための情報を取得できる。この場合、表Bにおいて、当該所定のモジュールについての制御情報が記載されていればよい。そして、本実施形態の印刷時起動アプリ部10521の起動を制御する場合と同様に、当該取得された情報に基づき所定のモジュールの起動を制御できる。
表Bにおいて、「デバイスID」は、表Aで説明したデバイスIDと同様である。「印刷時起動アプリ部の制御情報」は、印刷時起動アプリ部10521を印刷時に起動するか否かを示す情報である。「印刷時起動アプリ部の制御情報」の値が「有効」の場合、印刷時起動アプリ部10521を印刷時に起動することを示し、「無効」の場合、印刷時起動アプリ部10521を印刷時に起動しないことを示す。
なお、本実施形態では、デバイスアプリ1052が備える印刷時起動アプリ部10521を印刷時に起動するか否かの情報が、当該デバイスアプリ1052の印刷時起動アプリ制御情報10524に記述されている場合について説明した。しかし、これに限られるものではなく、例えば、印刷時起動アプリ制御情報10524の情報は、マニフェストファイル10525に記述されていてもよい。マニフェストファイル10525に記述されている場合、アプリ制御情報取得部223は、ステップS622にてマニフェストファイル10525から印刷時起動アプリ部の制御情報を取得すればよい。
ステップS624で、アプリ管理部222は、印刷時起動アプリ制御情報10524を取得できたか否か判断する。印刷時起動アプリ制御情報10524を取得できた場合、処理はステップS624に進み、取得できなかった場合、処理はステップS625に進む。ステップS624で、アプリ管理部222は、アプリ制御情報格納部224に取得された印刷時起動アプリ制御情報10524を書き込む。
すなわち、印刷時起動アプリ制御情報10524に基づき印刷時起動アプリ部10521を起動するか否かが設定される。一方、ステップS625で、アプリ管理部222は、アプリ制御情報格納部224に印刷時起動アプリ部10521が印刷時に起動されるように制御情報を書き込む。
図9(A)は、クライアントコンピュータ100からプリンタ200における印刷処理の実行を指示するための処理を説明するためのフローチャートである。
図9(A)に示す処理は、ユーザがアプリ1051において印刷の実行を指示したことに応じて、当該アプリ1051がOS標準印刷機能10531へ印刷要求を行うことにより開始される。印刷の実行の指示は、例えば、図10(B)に示す印刷ボタン813を押下することにより行われる。
ユーザによる出力先とするプリンタ200の選択を受けて、ステップS701で、OS1053は、該当のデバイスドライバ1054を補助記憶装置105からRAM1022にロードする。ステップS701で、OS標準UI管理部10532またはデバイスアプリ1052は、PrintCapabilities250に記述された情報に基づき、印刷設定のインタフェースをモニタ110に表示する。
ステップS702で、OS標準UI管理部10532またはデバイスアプリ1052は、ユーザからの印刷設定の変更操作を受け付け、印刷設定を確定する。標準印刷設定管理部208は、OS1053に確定された印刷設定を出力する。ステップS704で、印刷時起動アプリ制御部10534は、印刷時起動アプリ部10521の起動処理を行う。なお、印刷時起動アプリ部10521の起動処理についての詳細は、図9(B)を用いて後述する。
印刷時起動アプリ部10521の起動処理の後、標準印刷処理部212は、印刷要求に応じたPDLデータを生成する。また、ステップS702で確定され、OS1053に出力された印刷設定は、標準印刷処理部212に渡される。標準印刷処理部212は、当該印刷設定をPDLデータに変換することにより、両面印刷やカラー印刷などの印刷機能の変更が可能になる。そして、変換されたPDLデータは、プリントマネージャ(スプーラ)に渡されて、標準印刷通信部219を介してプリンタ200に印刷ジョブとして送信される。
図9(B)は、図9(A)のステップS703の処理、すなわち印刷時起動アプリ部10521の起動処理について説明するためのフローチャートである。
ステップS721で、アプリ管理部222は、アプリ制御情報格納部224から印刷時起動アプリ制御情報10524を取得する。ステップS722で、アプリ管理部222は、取得した印刷時起動アプリ制御情報10524に基づき、印刷時起動アプリ部10521を起動するか否か判断する。
印刷時起動アプリ部10521を起動すると判断された場合、処理はステップS723に進み、起動しないと判断された場合、処理はステップS724に進む。ステップS723で、アプリ管理部222は、アプリランチャ221を介して印刷時起動アプリ部10521を起動する。一方、ステップS724で、アプリ管理部222は、印刷時起動アプリ部10521を起動せずに図9(B)に示す処理を終了する。
以上のように、本実施形態によれば、ベンダー提供のプリンタドライバをインストールできない環境においても、デバイスアプリ1052の所定のモジュールを所定のタイミングで起動するかを適切に設定できる。このため、例えば、印刷時起動アプリ部10521を印刷時に確実に起動する制御を行うことができる。
(第2実施形態)
第1実施形態では、印刷時に印刷時起動アプリ部10521を起動するか否かを示す情報をデバイスアプリ1052から取得する場合について説明した。これに対して、本実施形態では、当該情報をプリンタ200から取得する場合について説明する。なお、第1実施形態に係るクライアントコンピュータ100と同一の構成のものには同一の符号を付し、その説明を省略する。
図4は、プリンタ200のハードウェア構成を示す図である。
CPU1101は、ROM1103あるいは外部メモリ1110に格納されたプログラムに従ってシステムバス1104に接続される印刷部I/F1106を介して印刷部(プリンタエンジン)1108に出力情報としての画像信号を出力する。
ネットワークI/F1105は、WiFi、Ethernet(登録商標)などのネットワーク通信を行う。CPU1101は、ネットワークI/F1105を介してクライアントコンピュータ100との通信処理が可能となっており、プリンタ200内の情報等をクライアントコンピュータ100に通知する。
RAM1102は、CPU1101の主メモリ、ワークエリア等として機能し、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。外部メモリ1110は、IPアドレスなどの設定値情報を記憶する。また、操作パネル1109には、操作のためのスイッチおよびLED表示器等が配されている。
図5は、プリンタ200における印刷処理システムに係るソフトウェア構成を示す図である。
データ通信部2001は、クライアントコンピュータ100から送信される印刷ジョブや各種リクエストを受信し、所定の処理を実行した上でクライアントコンピュータ100に対して応答する。
印刷ジョブ管理部2002は、データ通信部2001が受信した印刷ジョブを外部メモリ1110に一時的に保持し、順次印刷部2003を介して印刷処理の実行を指示する。印刷部2003は、印刷ジョブ管理部2002からの指示に従い、印刷ジョブの設定内容に応じて印刷処理を実行する。
UI部2004は、印刷の設定変更やセキュアプリント等の際にパスワードを入力するためのユーザインタフェース(不図示)を提供する。印刷時起動アプリ制御情報2005は、デバイスアプリ1052の印刷時起動アプリ部10521を印刷時に起動するか否かの情報を保持している。
図12は、プリンタとスキャナの追加画面820からプリンタを登録(追加)する処理について説明するフローチャートである。
ステップS1001〜S1005までの処理は、図7のステップS601〜S605の処理と同様のため、その説明を省略する。
ステップS1020で、OS1053は、プリンタ200からの印刷時起動アプリ制御情報の取得および取得した情報の書き込みに関する処理を行う。ステップS1020の処理の詳細は、図13を用いて後述する。続いて、ステップS1006〜S1012までの処理は、図7のステップS606〜S612の処理と同様のため、その説明を省略する。
図13は、図12のステップS1020の処理、すなわち印刷時起動アプリ制御情報の取得および書き込みに関する処理について説明するためのフローチャートである。
本実施形態では、OS1053の印刷時起動アプリ制御部10534、詳細にはアプリ管理部222が、プリンタ200から印刷時起動アプリ制御情報2005を取得する場合について説明する。
ステップS1021で、アプリ制御情報取得部223は、プリントマネージャ218や標準印刷通信部219を通して、プリンタ200と通信し、対応機能の情報や設定値情報の取得の他に印刷時起動アプリ制御情報10524を取得する。本実施形態では一例として、標準印刷通信部219は、Mopriaで採用されているIPP等の標準的な通信プロトコルを用いてプリンタ200と通信を行う。なお、プリンタ200から取得される印刷時起動アプリ制御情報10524は、プリンタやFAXなどの機能サービス毎に定義されていてもよい。
ステップS1022で、アプリ管理部222は、印刷時起動アプリ制御情報10524を取得できたか否か判断する。印刷時起動アプリ制御情報10524を取得できた場合、処理はステップS1023に進み、取得できなかった場合、処理はステップS1024に進む。
ステップS1023で、アプリ管理部222は、アプリ制御情報格納部224に取得された印刷時起動アプリ制御情報10524を書き込む。一方、ステップS1024で、アプリ管理部222は、アプリ制御情報格納部224に印刷時起動アプリ部10521が印刷時に起動されるように制御情報を書き込む。
なお、第1実施形態および第2実施形態では、WSDAの機能として、印刷時に起動される印刷時起動アプリ部10521を例に説明したが、本発明はこれに限られるものではない。すなわち、印刷時に起動される印刷時起動アプリ部10521に限らず、所定のタイミングにてデバイスアプリの所定の機能(モジュール)を起動させるか否かについての制御情報を取得し、所定のタイミングにて当該機能の起動の有無を制御できる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
100 クライアントコンピュータ
200 プリンタ
1052 デバイスアプリ
1053 オペレーティングシステム

Claims (11)

  1. デバイスの登録に際して、前記デバイスに対応するデバイスアプリケーションを取得し、インストールするインストール手段と、
    前記デバイスアプリケーションに関する制御情報を取得する取得手段と、
    取得した制御情報に基づき、所定のタイミングにおいて前記デバイスアプリケーションに含まれる所定のモジュールを起動するか否かを設定する設定手段と、を備えることを特徴とする情報処理装置。
  2. 前記インストール手段は、前記デバイスアプリケーションのベンダーが提供するデバイスドライバをインストールしないことを特徴とする請求項1に記載の情報処理装置。
  3. 前記デバイスアプリケーションは、前記所定のモジュールを起動するか否かを含む情報を保持し、
    前記取得手段は、インストールされた前記デバイスアプリケーションが保持する情報を前記制御情報として取得することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記デバイスは、前記所定のモジュールを起動するか否かを含む情報を保持し、
    前記取得手段は、前記デバイスが保持する情報を前記制御情報として取得することを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記デバイスアプリケーションに前記所定のモジュールを含む場合であって、前記制御情報を取得できないときに、前記設定手段は、前記所定のタイミングにおいて前記所定のモジュールを起動するように設定することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記制御情報には、前記デバイスの機種ごとに前記所定のタイミングにおいて前記所定のモジュールを起動するか否かの情報が含まれることを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記制御情報には、前記デバイスの機種ごと、かつ該デバイスの機能ごとに前記所定のタイミングにおいて前記所定のモジュールを起動するか否かの情報が含まれることを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記インストール手段は、前記デバイスに対応するデバイスアプリケーションの情報を取得することにより、該デバイスアプリケーションを特定し、該デバイスアプリケーションを取得することを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記デバイスはプリンタであり、前記所定のモジュールは、前記プリンタに対して印刷の実行を指示する際に起動され、所定のユーザインタフェースを提供することを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
  10. デバイスの登録に際して、前記デバイスに対応するデバイスアプリケーションを取得し、インストールする工程と、
    前記デバイスアプリケーションに関する制御情報を取得する工程と、
    取得した制御情報に基づき、所定のタイミングにおいて前記デバイスアプリケーションに含まれる所定のモジュールを起動するか否かを設定する工程と、を有することを特徴とする情報処理装置の制御方法。
  11. 請求項1乃至9のいずれか一項に記載の情報処理装置が備える各手段としてコンピュータを機能させるためのプログラム。
JP2018137881A 2018-07-23 2018-07-23 情報処理装置、制御方法、およびプログラム Pending JP2020016951A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018137881A JP2020016951A (ja) 2018-07-23 2018-07-23 情報処理装置、制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018137881A JP2020016951A (ja) 2018-07-23 2018-07-23 情報処理装置、制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2020016951A true JP2020016951A (ja) 2020-01-30

Family

ID=69580289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018137881A Pending JP2020016951A (ja) 2018-07-23 2018-07-23 情報処理装置、制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2020016951A (ja)

Similar Documents

Publication Publication Date Title
US11520546B2 (en) Print processing system and control method
JP5975666B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6331910B2 (ja) 情報処理装置、情報処理システム、及びプログラム
WO2020004159A1 (ja) 情報処理装置、制御方法及びプログラム
JP5152242B2 (ja) 端末装置及びコンピュータプログラム
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2008097574A (ja) 情報処理装置、プログラム及びその記録媒体
US20130301069A1 (en) Information processing device, computer program product, and image forming apparatus
US11842100B2 (en) Server system, information processing apparatus communicating with server system, control method, and computer-readable storage medium
JP2017204139A (ja) 更新アプリケーション及び更新方法
JP6303609B2 (ja) プログラム、情報処理装置、情報処理方法、及び情報処理システム
JP2023018114A (ja) プログラム、情報処理装置、及び情報処理装置の制御方法
JP2013196372A (ja) プログラム、情報処理装置、記憶媒体
JP2017117235A (ja) 管理プログラム、管理システム、情報処理装置
JP5697393B2 (ja) 情報処理装置、周辺装置制御方法及びプログラム
JP2020016951A (ja) 情報処理装置、制御方法、およびプログラム
JP5961937B2 (ja) 情報処理システム
US11385848B2 (en) Information processing apparatus and control method
JP7171227B2 (ja) 情報処理装置、その制御方法およびアプリケーション
WO2023190148A1 (ja) サポートプログラム
WO2023190147A1 (ja) サポートプログラム
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
WO2022163429A1 (ja) サポートプログラム
JP2009104282A (ja) 印刷システムおよび印刷用プログラム
JP2023141759A (ja) サポートプログラム