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

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

Info

Publication number
JP2018128997A
JP2018128997A JP2017023571A JP2017023571A JP2018128997A JP 2018128997 A JP2018128997 A JP 2018128997A JP 2017023571 A JP2017023571 A JP 2017023571A JP 2017023571 A JP2017023571 A JP 2017023571A JP 2018128997 A JP2018128997 A JP 2018128997A
Authority
JP
Japan
Prior art keywords
background task
application
user
information processing
processing apparatus
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.)
Granted
Application number
JP2017023571A
Other languages
English (en)
Other versions
JP2018128997A5 (ja
JP6921544B2 (ja
Inventor
茉莉 住谷
Mari Sumikya
茉莉 住谷
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 JP2017023571A priority Critical patent/JP6921544B2/ja
Publication of JP2018128997A publication Critical patent/JP2018128997A/ja
Publication of JP2018128997A5 publication Critical patent/JP2018128997A5/ja
Application granted granted Critical
Publication of JP6921544B2 publication Critical patent/JP6921544B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ネットワークデバイスに対応するアプリケーションを自動でインストール可能な環境において、バックグラウンドアプリケーションがより多くのユーザに利用されることを可能とする情報処理装置を提供する。【解決手段】ネットワークデバイスに対応するアプリケーションを自動でインストール可能なOSを実行する情報処理装置であって、OSよりインストールされたデバイスアプリ100の機能として該デバイスアプリ100が起動され、かつ、バックグラウンドタスクが未登録の場合に、該バックグラウンドタスクを登録し、ネットワークデバイスからのイベント通知に応答してデバイスアプリ100が起動され、かつ、バックグラウンドタスクが未登録の場合に、情報処理装置の出力部1006へ通知を行うための処理を実行する。情報処理装置は、表示部への通知に対するユーザの入力があった場合に、バックグラウンドタスクを登録する。【選択図】図6

Description

本発明は、情報処理装置、制御方法、およびプログラムに関する。
Microsoft(登録商標)社が提供するWindows(登録商標) OSでは、Windows(登録商標) 8以降のOSにおいてVersion4と呼ばれる新しいプリンタドライバ(V4ドライバ)のアーキテクチャが採用されている。V4ドライバは、それ以前から採用されているVersion3ドライバ(V3ドライバ)とはインストールの仕組みが異なる。
V3ドライバは、プリンタに同梱されたインストールメディアを使ってコンピュータにインストールする方法が主流であるが、V4ドライバは、V4ドライバ対応プリンタがコンピュータに接続されるとコンピュータに自動インストールされる方法が主流となる。
また、V4ドライバ対応プリンタに紐付いたWindows ストア デバイス アプリをV4ドライバ対応プリンタのユーザに提供する仕組みもMicrosoft社によって提供されている。以下、Windows ストア デバイス アプリをデバイスアプリと呼ぶ。デバイスアプリは、V4ドライバの機能拡張用アプリケーションである。V4ドライバ対応プリンタがコンピュータに接続されると、V4ドライバ対応プリンタに紐付いたデバイスアプリもまたコンピュータに自動インストールされる。
特許文献1は、V4ドライバにおける印刷設定を行うUIモジュールDCAが印刷設定の統計情報を収集するバックグラウンドタスクを実行し、その情報を利用して印刷設定画面に表示する印刷処理装置を開示している。
特開2014−219730号公報
例えば、プリンタと関連してバックグラウンドで動作する常駐あるいは定期的に実行されるアプリケーションがあるとする。以下、このようなアプリケーションを「バックグラウンドアプリ」と呼ぶ。バックグラウンドアプリは、プリンタのドライバに付属させることで当該プリンタのユーザに提供することができる。バックグラウンドアプリは、バックグラウンドで動作させるために、OS(オペレーティングシステム)やスケジューリングサービスなどに登録する必要がある。
V3ドライバ対応プリンタにおいて、バックグラウンドアプリをユーザに提供するには、当該バックグラウンドアプリのインストーラをプリンタに同梱のドライバインストールメディアに載せることが一般的である。ドライバインストールメディアを使用すると、ドライバインストール時に該インストーラによってバックグラウンドアプリをOSやスケジューリングサービスに登録し、バックグラウンドで動作させることができる。V4ドライバ対応プリンタにおいても、同様にドライバインストールメディアを利用してバックグラウンドアプリをユーザに提供することは可能である。
しかしながら、今後V3ドライバからV4ドライバへの移行が進み、ドライバの自動インストールが主流となると、わざわざドライバインストールメディアを利用するユーザが激減することが予想される。つまり、多くのユーザがバックグラウンドアプリをインストールする機会を失うことになる。
本発明は、ネットワークデバイスに対応するアプリケーションを自動でインストール可能な環境において、バックグラウンドアプリケーションがより多くのユーザに利用されることを可能とする情報処理装置を提供することを目的とする。
本発明の一実施形態の情報処理装置は、ネットワークサービスを介して、ネットワークデバイスに対応するアプリケーションを自動でインストール可能なOSを実行する情報処理装置であって、前記OSよりインストールされたアプリケーションの機能として該アプリケーションが起動され、かつ、バックグラウンドタスクが未登録の場合に、該バックグラウンドタスクを登録する登録手段と、ネットワークデバイスからのイベント通知に応答して前記アプリケーションが起動され、かつ、バックグラウンドタスクが未登録の場合に、前記情報処理装置の表示部へ通知を行うための処理を実行する表示手段と、を備え、前記登録手段は、前記表示部への通知に対するユーザの入力があった場合に、前記バックグラウンドタスクを登録する。
本発明の情報処理装置によれば、ネットワークデバイスに対応するアプリケーションを自動でインストール可能な環境において、バックグラウンドアプリケーションがより多くのユーザに利用されることを可能とする。
情報処理装置のハードウエア構成例を示す図である。 ソフトウエアモジュールの構成例を示す図である。 デバイスアプリが表示する画面の一例を示す図である。 第1実施形態におけるデバイスアプリ起動時の処理を示す図である。 バックグラウンドタスクの登録処理を説明する図である。 第2実施形態におけるソフトウエアモジュールの構成例を示す図である。 第2実施形態におけるデバイスアプリ起動時の処理を示す図である。
以下、本発明を実施するための形態について図面などを参照して説明する。
(第1実施形態)
本実施形態では、ネットワークサービスを介して、ネットワークデバイスに対応するアプリケーションを自動でインストール可能な環境において、バックグラウンドアプリを提供する仕組みについて説明する。本実施形態では、一例として、ネットワークデバイスがプリンタであり、WindowsのV4ドライバがサポートされる環境にて、バックグラウンドアプリをデバイスアプリの一機能としてデバイスアプリと共にユーザの情報処理装置に提供する。
図1は、デバイスアプリが動作する情報処理装置のハードウエア構成例を示す図である。
デバイスアプリは、コンピュータプログラムとしてHDD1002またはROM1003に格納されている。CPU1005は、OSとコンピュータプログラムをHDD1002またはROM1003から読み出してRAM1004にロードし、実行する。
処理結果は、ファイルとしてHDD1002に格納されるか、またはデータとしてRAM1004に記憶される。デバイスアプリは、コンピュータに接続されているマウスやタッチパネル等の入力装置1007からユーザの入力や、各種センサの読み取り値を取得する。また、デバイスアプリは、情報処理装置の表示部を含む出力装置1006に対して情報を出力し、処理結果を表示する。
さらに、デバイスアプリは、通信装置1008を介してネットワークに接続された他のコンピュータやプリンタなどの装置と通信を行う。図1に示した各ハードウエアは、バス1001で互いに接続されており、コンピュータプログラムから操作できるように構成されている。
図2は、本実施形態に係るデバイスアプリと、関連するソフトウエアモジュールの構成例を示す図である。
アプリケーション400は、Windows 8以降のOSにおいてサポートされているアプリケーションモデルを使用して構築された印刷可能なアプリケーションである。アプリケーション400は、ユーザから印刷要求を受けると、印刷対象データを印刷システム500に送信する。
印刷システム500は、OSのサブシステムであり、プリンタの選択や基本的な印刷設定など、プリンタの機種に依存しない共通処理を実行する。プリンタドライバ600は、選択されたプリンタ特有の印刷設定や印刷対象データの変換処理など、プリンタの機種に依存する処理を実行する。プリントスプーラ700は、OSのサブシステムであり、プリンタドライバ600とプリンタ間のデータの送受信を担当する。イベントブローカ800は、アプリケーション400のバックグラウンドタスクの実行を調整するOSのサブシステムである。
デバイスメタデータ保管部900は、デバイスメタデータを保管するOSのサブシステムである。デバイスメタデータは、プリンタのモデル名や製造元などの基本情報の他、プリンタに紐付けられたデバイスアプリ100のIDや発行元など、プリンタとデバイスアプリとを結びつける情報を有する。デバイスメタデータは、コンピュータへのプリンタ接続時に自動的にダウンロードされ、デバイスメタデータ保管部900で保管される。
デバイスアプリ100は、Windows 8以降のOSにおいてサポートされているアプリケーションモデルを使用して構築されたアプリケーションである。デバイスアプリ100は、プリンタドライバ600を補助する機能拡張用アプリケーションとして位置づけられる。デバイスアプリ100は、一つ以上のV4ドライバ対応プリンタに紐付いており、ネットワークに接続された情報処理装置にプリンタが接続されると自動的にインストールされる。
デバイスアプリ100は、印刷システム500で選択されたプリンタに特化した印刷設定などを独自のUI(ユーザインタフェース)で表示および設定する機能を有する。デバイスアプリ100は、スタートアプリ処理部110、印刷設定処理部120、バックグラウンドタスク処理部140、バックグラウンドタスク登録部150、およびバックグラウンドタスク登録条件記憶部160を備える。
デバイスアプリ100は、2通りの起動方法をユーザに提供する。ひとつは、Windowsのスタートメニューからデバイスアプリ100を選択することによって起動する方法である。もうひとつは、アプリケーション400から印刷要求を出すことで印刷システム500を起動し、さらに印刷システム500のUIから印刷の詳細設定を行う画面(以下、印刷設定画面と呼ぶ)を開くことによって起動する方法である。これら2つの起動方法を区別するため、前者を「ユーザによる起動」、後者を「印刷システムによる起動」と呼び分ける。
デバイスアプリ100がユーザによって起動された場合、スタートアプリ処理部110が起動時の処理を行い、印刷システム500によって起動された場合、印刷設定処理部120が起動時の処理を行うように制御される。なお、デバイスアプリ100が上記2つの方法で起動された状態を、デバイスアプリ100がアクティブである、またはフォアグラウンドで動作していると言う。
バックグラウンドタスク処理部140は、プリンタと関連してバックグラウンドで動作するコンピュータプログラムであるバックグラウンドアプリの一つである。本実施形態では、バックグラウンドアプリをデバイスアプリ100のバックグラウンドタスクとして実装する。バックグラウンドタスクは、時間やOSのシステムイベントをトリガに実行される。OSが提供するそれらのトリガを利用するためには、バックグラウンドタスクと当該バックグラウンドタスクが使用するトリガとを対にしてOSに登録する必要がある。
バックグラウンドタスク登録部150は、バックグラウンドタスク処理部140が実行するタスクをOSに登録する処理を担う。なお、特に指定がない限り、以下では「バックグラウンドタスク」とはバックグラウンドタスク処理部140が実行するタスクのことを意味する。バックグラウンドタスク登録条件記憶部160は、バックグラウンドタスクをOSに登録する必要があるか否かを判断するための情報を記憶する。
なお、本実施形態では、バックグラウンドタスクがユーザの許諾を得なければ動作することができないものとして説明するが、バックグラウンドタスクは、ユーザの許諾を必要としないものでも良い。本実施形態では、デバイスアプリ100は、ユーザの許諾を得るために通知画面や許諾確認画面を提示する。通知画面および許諾確認画面の詳細については、図3を用いて後述する。
図4は、デバイスアプリ100の起動時の処理を説明するフローチャートである。
上述したように、デバイスアプリ100には2つの起動方法があり、起動方法によって処理が異なる。ステップS2001にて、ユーザによってデバイスアプリ100が起動されると、スタートアプリ処理部110が呼び出され、処理はステップS2101に進む。
一方、印刷システムのUIから印刷設定画面を開くことによってデバイスアプリ100が起動されると、印刷設定処理部120が呼び出され、処理はステップS2201に進む。ステップS2101で、スタートアプリ処理部110は、デバイスアプリ100の起動処理を行う。なお、ユーザによって起動された場合のデバイスアプリ100の起動処理を「スタートアプリの起動処理」と呼ぶ。
ステップS2102で、バックグラウンドタスク登録部150は、バックグラウンドタスクが登録済みか否かをOSに問い合わせる。この処理は、同一のバックグラウンドタスクをOSに対して多重登録しないようにするために行う。バックグラウンドタスクが未登録の場合、処理はステップS2103に進み、登録済みの場合、処理を終了する。ステップS2103で、バックグラウンドタスク登録部150は、バックグラウンドタスクの登録処理を実行するか判定する。
ステップS2103にて実行される判定処理の詳細については、表1を用いて後述する。ステップS2103にてバックグラウンドタスク登録部150が登録処理を実行すると判定した場合、処理はステップS3000に進み、登録処理を実行しないと判定した場合、処理を終了する。ステップS3000で、バックグラウンドタスク登録部150は、バックグラウンドタスクの登録処理を実行する。バックグラウンドタスクの登録処理の詳細については、図5を用いて後述する。
ステップS2201で、印刷設定処理部120は、デバイスアプリ100の起動処理を行う。なお、印刷システム500によって起動された場合のデバイスアプリ100の起動処理を「印刷設定画面の起動処理」と呼ぶ。印刷設定画面が起動されたとき、印刷設定処理部120は印刷設定画面の起動処理を実行する。ステップS2202で、スタートアプリの起動処理(ステップS2101)後の処理と同様に、バックグラウンドタスク登録部150は、バックグラウンドタスクが登録済みか否かをOSに問い合わせる。
そして、バックグラウンドタスクが未登録の場合、ステップS2203にて、バックグラウンドタスク登録部150は、バックグラウンドタスクの登録処理を実行するか判定する。ステップS2203にて実行される判定処理の詳細については、表1を用いて後述する。バックグラウンドタスク登録部150が登録処理を実行すると判定した場合、処理はステップS2204に進む。ステップS2204で、バックグラウンドタスク登録部150は、未登録のバックグラウンドタスクを通知する通知画面を表示する。
図3(A)は、バックグラウンドタスク登録部150が表示する通知画面の一例を示す図である。
通知画面200は、トースト表示(トースト通知)である。トースト表示とは、ユーザの操作を阻害しないように、デバイスアプリ100の印刷設定画面とは別に画面の隅に表示されるメッセージ(通知)のことである。通知画面200は、ユーザにデバイスアプリ100のバックグラウンドタスクの存在を知らせ、バックグラウンドタスクの登録を促す役割を有する。なお、本実施形態では、ユーザへの通知がトースト表示である場合について説明するが、これに限られるものではなく、どのような方法でユーザに通知してもよい。
ユーザは、表示された通知画面200に対して、アクティブ化するか、無視するか、または非表示にするかのうちいずれかを実施することができる。アクティブ化するには、ユーザが通知画面200をクリックまたはタップすることで実施できる。デバイスアプリ100がアクティブな場合に、ユーザが通知画面200をアクティブ化すると、そのことがデバイスアプリ100に通知される。また、デバイスアプリ100がアクティブでない場合に、ユーザが通知画面200をアクティブ化すると、デバイスアプリ100をアクティブ化することができる。
ユーザが通知画面200を無視した場合、通知画面200は一定の時間が経過した後、非表示になる。なお、本実施形態では、通知画面に対するユーザの入力の一例として、ユーザが通知画面200をアクティブ化する場合について説明したが、これに限られるものではない。
例えば、図3(A)では不図示であるが、通知画面200にボタンを設置することが可能である。通知画面200の該ボタンを押下することを通知画面に対するユーザの入力としてもよい。また、例えば、通知画面200をアクティブ化するためのボタン、および非表示にするためのボタンを設置してもよい。この場合、ユーザにいずれかをクリックまたはタップさせることで通知画面200のアクティブ化や非表示の処理を実施してもよい。
図4の説明に戻る。ステップS2204にて、通知画面200が表示された後、バックグラウンドタスク登録部150は、ユーザが通知画面200をアクティブ化したか判定する。バックグラウンドタスク登録部150が、通知画面200がアクティブ化されたと判定した場合、処理はステップS3000に進み、通知画面200がアクティブ化されなかったと判定した場合、処理はステップS2206に進む。
ステップS2206で、バックグラウンドタスク登録部150は、ユーザが通知画面200をアクティブ化しなかったことをバックグラウンドタスク登録条件記憶部160に記憶する。本実施形態では、バックグラウンドタスク登録条件記憶部160にて通知画面200がアクティブ化されなかった回数が記憶される。
ユーザが印刷設定画面を通じてデバイスアプリ100を起動した場合、ユーザは、印刷設定をすることが目的である可能性が高い。そのため、ユーザの印刷設定画面における処理を強制的に中断することなく、バックグラウンドタスクの登録を促す必要がある。バックグラウンドタスクが印刷設定とは異なる機能をユーザに提供する場合はなおさらユーザの印刷設定画面における処理を中断させないことが必要である。
そこで、本実施形態では、印刷設定画面を通じてデバイスアプリ100が起動された場合、該デバイスアプリ100は、ユーザの印刷設定処理に影響を与えない通知画面200を利用してユーザにバックグラウンドタスクの登録を促す。
一方、ユーザがスタートメニューからデバイスアプリ100を選択することにより起動した場合、ユーザは、デバイスアプリ100の機能を使用することが目的である。そして、バックグラウンドタスクは、デバイスアプリ100の一機能を提供するものである。そのため、本実施形態では、スタートメニューからデバイスアプリ100が起動された場合、該デバイスアプリ100は、通知画面200を表示することなくバックグラウンドタスクの登録処理を実行する。
図5は、バックグラウンドタスク登録部150が実行するバックグラウンドタスクの登録処理(ステップS3000)を説明するフローチャートである。
ステップS3001で、バックグラウンドタスク登録部150は、ユーザの許諾を得るための許諾確認画面を表示する。
図3(B)は、バックグラウンドタスク登録部150が表示する許諾確認画面の一例である。
許諾確認画面300は、バックグラウンドタスクを実行するための許諾文を表示する表示領域301と、許諾文に対してユーザが同意するか否かの意思を受け付けるためのボタン302および303とを有する。
ユーザはボタン303を押下することにより、許諾文に対して同意したこと、すなわちバックグラウンドタスクの実行を承認したことをデバイスアプリ100に通知する。また、ユーザはボタン302を押下することにより、許諾文に対して同意しないこと、すなわちバックグラウンドタスクの実行を承認しないことをデバイスアプリ100に通知する。
図5の説明に戻る。ステップS3002で、バックグラウンドタスク登録部150は、ユーザが許諾したか判定する。ステップS3002にて、バックグラウンドタスク登録部150が、ユーザが許諾したと判定した場合、処理はステップS3003に進み、ユーザが許諾しないと判定した場合、処理はステップS3004に進む。ステップS3003で、バックグラウンドタスク登録部150は、ユーザが許諾したバックグラウンドタスクを上述したトリガと紐付けてOSに登録する。
これにより、バックグラウンドタスク処理部140は、指定されたトリガに該当するタイミングでOSによって実行されるようになる。一方、ステップS3004で、バックグラウンドタスク登録部150は、ユーザから許諾が得られなかったことをバックグラウンドタスク登録条件記憶部160に記憶し、処理を終了する。
次に、図4のステップS2103またはステップS2203にて、バックグラウンドタスク登録部150が実行する、バックグラウンドタスクの登録処理を実行するか判定する判定処理の詳細について説明する。
バックグラウンドタスク登録部150は、バックグラウンドタスク登録条件記憶部160に記憶された情報を参照し、バックグラウンドタスクの登録処理を実行するか判定する。本実施形態では、バックグラウンドタスク登録条件記憶部160は、以下の2つの情報を記憶している。ひとつは、図5に示したステップS3002にて、ユーザがバックグラウンドタスクの実行を承認したか否かの情報である。この情報を条件1とする。
もうひとつは、図4のステップS2205にて、ユーザが通知をアクティブ化したか否かの情報である。この情報を条件2とする。表1にこれら条件と対応する値A〜Dを示す。バックグラウンドタスク登録部150は、条件1と条件2の値の組み合わせによってバックグラウンドタスクの登録処理を実行するか判定する。なお、バックグラウンドタスク登録条件記憶部160の初期値は、条件1および条件2ともに真とする。すなわち、表1における値Aが初期値である。
条件1および条件2がともに真(表1の(A))である場合、バックグラウンドタスク登録部150は、バックグラウンドタスクの登録処理を実行すると判定する。すなわち、通知画面200が表示され、かつ、該通知画面200に対するユーザの入力がなかった回数が所定の値以下であり、許諾確認画面300にてユーザが明示的にバックグラウンドタスクの実行に同意しないことを示していない場合に該当する。
また、条件1が真であり、条件2が偽(表1(B))である場合、バックグラウンドタスク登録部150は、バックグラウンドタスクの登録処理を実行しないと判定する。すなわち、通知画面200が表示され、かつ、該通知画面200に対するユーザの入力がなかった回数が所定の値より大きい場合、バックグラウンドタスクが未登録の場合であっても、該バックグラウンドタスクの登録処理は実行されない。
これは、図4のステップS2103およびS2203において、バックグラウンドタスク登録部150が「実行しない」(No)と判定する場合に該当する。ステップS2203で「実行しない」と判定されると、ステップS2204の処理は実行されない。言い換えると、通知画面200が表示され、かつ、該通知画面200に対するユーザの入力がなかった回数が所定の値より大きい場合、バックグラウンドタスクが未登録の場合であっても、通知画面200を表示する処理も行われないことを意味する。
また、条件1が偽である場合、条件2の値に関わらず、バックグラウンドタスク登録部150は、バックグラウンドタスクの登録処理を実行しないと判定する。これは、許諾確認画面300にてユーザがボタン302を押下し、明示的にバックグラウンドタスクの実行に同意しないことを示した場合に該当する。
そして、図4のステップS2103およびS2203において、バックグラウンドタスク登録部150が「実行しない」(No)と判定するため、バックグラウンドタスクの登録処理(S3000)は実行されない。また、ステップS2204の処理も実行されないため、通知画面200を表示する処理も行われなくなる。
Figure 2018128997
この判定処理により、デバイスアプリ100が起動されるたびにバックグラウンドタスクの登録処理が実行される事を回避できる。なお、表1は、バックグラウンドタスクの登録処理を実行するか否かの条件の一例であり、他の条件を設けてもよい。
以上のように、本実施形態によれば、ネットワークデバイスに対応するアプリケーションを自動でインストール可能な環境において、以下を可能とする。すなわち、バックグラウンドで動作するコンピュータプログラムが、インストールメディアを使用することなくより多くのユーザに利用されることを可能とする。
(第2実施形態)
第1実施形態では、ユーザがデバイスアプリを起動した際にバックグラウンドタスクがOSに登録される。しかし、デバイスアプリ100は自動でインストールされるため、ユーザは、デバイスアプリ100が自分の情報処理装置にインストールされたことに気付かない可能性がある。この場合、デバイスアプリ100がユーザに起動されず、バックグラウンドタスクがOSに登録されないまま起動する機会が得られない。
そこで、本実施形態では、デバイスアプリ100と紐付いたプリンタからのイベント通知を利用してデバイスアプリ100を起動し、バックグラウンドタスクをOSに登録する。本実施形態によれば、ユーザがスタートメニューや印刷設定画面からデバイスアプリ100を起動しない場合であっても、バックグラウンドタスクをOSに登録することが可能となる。以下、第1実施形態と同一の構成および処理には同一の符号を付し、その説明を省略する。
図6は、本実施形態に係るデバイスアプリと、関連するソフトウエアモジュールの構成例を示す図である。
本実施形態では、第1実施形態の構成に加えて、デバイスアプリ100がデバイスイベント処理部130を有する。
プリンタドライバ600は、BiDi(双方向通信)を利用してプリンタから情報を取得することができる。例えば、プリンタの名前、製造元、モデル名などのプリンタ情報や、紙詰まり、インク残量、ドアやカバーの開閉状況などのプリンタの状態を取得することができる。
プリンタドライバ600は、プリンタに対するBiDi要求を作成してプリントスプーラ700に送信し、プリンタからのBiDi応答をプリントスプーラ700経由で受信する。プリントスプーラ700は、プリンタドライバ600から受信した印刷対象データをプリンタへ送信したり、プリンタドライバ600とプリンタとの間のBiDi通信におけるデータの送受信を実行したりする。
デバイスイベント処理部130は、プリンタドライバ600と紐付いたプリンタからプリンタドライバ600に対してBiDi応答があった場合、イベントブローカ800によって実行される。デバイスイベント処理部130は、デバイスアプリ100のバックグラウンドタスクの一つである。デバイスイベント処理部130は、バックグラウンドタスク処理部140とは異なる他のバックグラウンドタスクである。
通常バックグラウンドタスクは、第1実施形態で説明したようにデバイスアプリ100がOSに登録する必要がある。そのため、デバイスアプリ100の起動時に、バックグラウンドタスク登録部150は、バックグラウンドタスク処理部140が実行するタスクをOSに登録する処理を行う。
これに対して、デバイスイベント処理部130の実行するタスクの登録は、デバイスアプリ100自身が行うのではなく、デバイスメタデータ保管部900で保管されたプリンタのデバイスメタデータを利用して行われる。詳細には、デバイスメタデータには、BiDi応答受信時に実行するデバイスアプリ100のバックグラウンドタスクを一つだけあらかじめ登録しておくことができる。本実施形態では、このあらかじめ登録しておける一つのバックグラウンドタスクとしてデバイスイベント処理部130を登録しておく。
図6に示したソフトウエアモジュールの構成により、ユーザが印刷処理を要求した際、プリンタドライバ600からプリンタにBiDi要求を送信すると、プリンタからのBiDi応答によってデバイスイベント処理部130が起動される。すなわち、プリンタからのイベント通知によってデバイスアプリ100が起動される。
なお、プリンタドライバ600からプリンタへのBiDi要求の内容は印刷処理の要求に限らず、どのようなものでもよい。デバイスアプリ100のバックグラウンドタスクを登録するためのBiDiを用意してもよいし、他の目的のために用意されたBiDiを利用してもよい。例えば、プリンタドライバ600が必要とするBiDi要求や、デバイスアプリ100の他の機能が必要とするBiDi要求を利用してもよい。
どのようなBiDi要求であっても、それに対するプリンタからのBiDi応答によって、デバイスイベント処理部130が起動し、すなわちデバイスアプリ100が起動される。そして、デバイスアプリ100が起動されることにより、バックグラウンドタスク処理部140のタスク登録が実行される。
図7は、本実施形態におけるデバイスアプリ100の起動時の処理を説明するフローチャートである。
本実施形態では、デバイスアプリ100には3つの起動方法がある。ユーザによって起動される方法、印刷システムによって起動される方法については、第1実施形態の場合と同様である。
本実施形態では、さらにデバイスアプリ100をプリンタからのイベント通知、詳細にはプリンタからのBiDi応答によって起動する方法がある。この方法は、図6を用いて説明した仕組みにより実現される。プリンタからのBiDi応答によってデバイスアプリ100が起動されると、処理はステップS2301に進む。ステップS2301で、デバイスイベント処理部130は、プリンタのBiDi応答に対する処理を実行する。
なお、デバイスイベント処理部のバックグラウンドタスクの内容はどのようなものでもよい。例えば、デバイスイベント処理部130は、BiDiを利用してプリンタのインク残量を取得し、インクの残量をユーザに通知するなどの処理をバックグラウンドタスクとして実行する。そして、ステップS2202以降の処理で、第1実施形態(図4)の場合と同様に、通知画面200や許諾確認画面300を表示し、バックグラウンドタスク登録部150がバックグラウンドタスクの登録処理を実行する。
通知画面200および許諾確認画面300が表示される際の詳細は、図4のステップS2203の処理および表1で説明した条件と同様である。すなわち、通知画面200が表示され、かつ、該通知画面200に対するユーザの入力がなかった回数が所定の値より大きい場合、ステップS2203で、バックグラウンドタスク登録部150は、バックグラウンドタスクの登録処理を実行しないと判定する。また、この場合、ステップS2204が実行されないため、通知画面200も表示されない。
以上のように、本実施形態によれば、ユーザがデバイスアプリ100を起動しない場合であっても、バックグラウンドタスクをOSに登録することが可能となる。すなわち、バックグラウンドで動作するコンピュータプログラムが、より多くのユーザに利用されることを可能とする。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。

Claims (10)

  1. ネットワークサービスを介して、ネットワークデバイスに対応するアプリケーションを自動でインストール可能なOSを実行する情報処理装置であって、
    前記OSよりインストールされたアプリケーションの機能として該アプリケーションが起動され、かつ、バックグラウンドタスクが未登録の場合に、該バックグラウンドタスクを登録する登録手段と、
    ネットワークデバイスからのイベント通知に応答して前記アプリケーションが起動され、かつ、バックグラウンドタスクが未登録の場合に、前記情報処理装置の表示部へ通知を行うための処理を実行する表示手段と、を備え、
    前記登録手段は、前記表示部への通知に対するユーザの入力があった場合に、前記バックグラウンドタスクを登録する、ことを特徴とする情報処理装置。
  2. 前記表示部への通知は、トースト表示である、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記登録手段は、ユーザに同意を求めるための画面を提示して、前記ユーザからの同意を得られた場合に、前記バックグラウンドタスクを登録し、前記ユーザからの同意を得られなかった場合には、前記バックグラウンドタスクの登録は行われない、ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記ユーザに同意を求めるための画面で前記ユーザからの同意を得られなかった場合には、前記ネットワークデバイスからのイベント通知に応答して前記アプリケーションが起動され、かつ、前記バックグラウンドタスクが未登録の場合であっても、前記表示部へ通知を行うための処理は実行されない、ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記OSのスタートメニューから前記アプリケーションが起動され、かつ、前記バックグラウンドタスクが未登録の場合に、前記情報処理装置の表示部へ通知を行うための処理は実行されず、
    前記登録手段は、前記ユーザに同意を求めるための画面を提示する、ことを特徴とする請求項3または4に記載の情報処理装置。
  6. 前記表示部への通知が行われ、かつ、該通知に対するユーザの入力がなかった回数を記憶する記憶手段をさらに備える、ことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記記憶手段に記憶された回数が所定の値より大きい場合には、前記ネットワークデバイスからのイベント通知に応答して前記アプリケーションが起動され、かつ、前記バックグラウンドタスクが未登録の場合であっても、前記表示部へ通知を行うための処理は実行されない、ことを特徴とする請求項6に記載の情報処理装置。
  8. 前記アプリケーションとは異なる他のアプリケーションから前記アプリケーションが起動され、かつ、前記バックグラウンドタスクが未登録の場合であって、前記記憶手段に記憶された回数が所定の値以下の場合に、前記表示手段は、前記表示部へ通知を行うための処理を実行し、前記記憶手段に記憶された回数が所定の値より大きい場合には、前記表示部へ通知を行うための処理は実行されない、ことを特徴とする請求項6に記載の情報処理装置。
  9. 請求項1乃至8のいずれか1項に記載の情報処理装置が備える各手段としてコンピュータを機能させるためのプログラム。
  10. ネットワークサービスを介して、ネットワークデバイスに対応するアプリケーションを自動でインストール可能なOSを実行する情報処理装置の制御方法であって、
    前記OSよりインストールされたアプリケーションの機能として、ネットワークデバイスからのイベント通知に応答して前記アプリケーションが起動され、かつ、バックグラウンドタスクが未登録の場合に、前記情報処理装置の表示部へ通知を行うための処理を実行する表示工程と、
    前記表示部への通知に対するユーザの入力があった場合に、前記バックグラウンドタスクを登録する登録工程と、を有する、ことを特徴とする制御方法。
JP2017023571A 2017-02-10 2017-02-10 アプリケーション、および情報処理装置 Active JP6921544B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017023571A JP6921544B2 (ja) 2017-02-10 2017-02-10 アプリケーション、および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017023571A JP6921544B2 (ja) 2017-02-10 2017-02-10 アプリケーション、および情報処理装置

Publications (3)

Publication Number Publication Date
JP2018128997A true JP2018128997A (ja) 2018-08-16
JP2018128997A5 JP2018128997A5 (ja) 2020-03-12
JP6921544B2 JP6921544B2 (ja) 2021-08-18

Family

ID=63173963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017023571A Active JP6921544B2 (ja) 2017-02-10 2017-02-10 アプリケーション、および情報処理装置

Country Status (1)

Country Link
JP (1) JP6921544B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021177304A1 (ja) * 2020-03-06 2021-09-10 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008066859A (ja) * 2006-09-05 2008-03-21 Konica Minolta Business Technologies Inc 画像処理装置及びプログラム
JP2008276614A (ja) * 2007-05-01 2008-11-13 Toshiba Corp Webアプリケーションシステム、装置及びプログラム
JP2009151678A (ja) * 2007-12-21 2009-07-09 Oki Data Corp 画像形成装置及び画像形成システム
JP2010198358A (ja) * 2009-02-25 2010-09-09 Brother Ind Ltd プログラム
JP2014115973A (ja) * 2012-11-15 2014-06-26 Nintendo Co Ltd 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
JP2015049862A (ja) * 2013-09-04 2015-03-16 株式会社リコー 情報処理装置、システム、方法およびプログラム
JP2016100731A (ja) * 2014-11-20 2016-05-30 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008066859A (ja) * 2006-09-05 2008-03-21 Konica Minolta Business Technologies Inc 画像処理装置及びプログラム
JP2008276614A (ja) * 2007-05-01 2008-11-13 Toshiba Corp Webアプリケーションシステム、装置及びプログラム
JP2009151678A (ja) * 2007-12-21 2009-07-09 Oki Data Corp 画像形成装置及び画像形成システム
JP2010198358A (ja) * 2009-02-25 2010-09-09 Brother Ind Ltd プログラム
JP2014115973A (ja) * 2012-11-15 2014-06-26 Nintendo Co Ltd 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
JP2015049862A (ja) * 2013-09-04 2015-03-16 株式会社リコー 情報処理装置、システム、方法およびプログラム
JP2016100731A (ja) * 2014-11-20 2016-05-30 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021177304A1 (ja) * 2020-03-06 2021-09-10 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム
JP7409477B2 (ja) 2020-03-06 2024-01-09 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム

Also Published As

Publication number Publication date
JP6921544B2 (ja) 2021-08-18

Similar Documents

Publication Publication Date Title
RU2532739C2 (ru) Система и клиент печати, способ управления печатью и носитель данных
US11782656B2 (en) Information processing apparatus processing print setting, control method, and control program
US9417862B2 (en) Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium
US9612818B2 (en) Information processing apparatus, program management method for information processing apparatus, and non-transitory computer-readable storage medium
US20140362409A1 (en) Information processing apparatus, method, and program
US10088982B2 (en) Information processing apparatus, method, and program
US9830544B2 (en) Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password
US9160888B2 (en) Information processing apparatus, user information management control method, and storage medium
US10375259B2 (en) Image processing apparatus which displays an execution button for printing based on registered image data, control method for image processing apparatus, and storage medium
EP2354920A2 (en) Information processing apparatus, print controlling program, computer-readable storage medium, printing apparatus, and printing system
US20190146727A1 (en) Image forming apparatus, control method for image forming apparatus, and storage medium
EP2811406A1 (en) Dependent applications monitoring
JP2012129819A (ja) 情報処理装置、その制御方法、及びプログラム
US20220129220A1 (en) Recording medium, control method and information processing apparatus
US9179017B2 (en) Image processing apparatus and method for processing an image which utilizes a first mode for instructions from the image processing apparatus and a second mode for instructions received from an external apparatus and for instructions from the image processing apparatus
US8345273B2 (en) Information processing apparatus for managing an expansion module, control method therefor, and program for executing the method
JP2015108939A (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
US11593087B2 (en) Electronic apparatus, information processing system, and information processing method
JP6921544B2 (ja) アプリケーション、および情報処理装置
US20160227056A1 (en) Information processing apparatus, and method
US10484551B2 (en) Information processing apparatus configured to detect settings in a conflicting relation, information processing method, and information processing system
JP6834716B2 (ja) 印刷管理プログラム、印刷管理方法、印刷管理装置及び印刷管理システム
JP2017068372A (ja) 情報処理システム、情報処理装置、制御方法およびプログラム
JP2015153316A (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム。
JP7247780B2 (ja) 画像形成装置、情報処理装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210728

R151 Written notification of patent or utility model registration

Ref document number: 6921544

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151