JP2024055062A - 情報処理装置及び情報処理装置の制御方法 - Google Patents
情報処理装置及び情報処理装置の制御方法 Download PDFInfo
- Publication number
- JP2024055062A JP2024055062A JP2022161665A JP2022161665A JP2024055062A JP 2024055062 A JP2024055062 A JP 2024055062A JP 2022161665 A JP2022161665 A JP 2022161665A JP 2022161665 A JP2022161665 A JP 2022161665A JP 2024055062 A JP2024055062 A JP 2024055062A
- Authority
- JP
- Japan
- Prior art keywords
- information
- application
- notification
- push notification
- driver
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims description 95
- 230000008569 process Effects 0.000 claims description 85
- 238000009434 installation Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 3
- 208000032953 Device battery issue Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1207—Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】1台の情報処理装置が複数のアカウントにより利用される状況下においても、アカウントごとに対象となるアプリケーションの利用状況に応じてより好適な態様で情報の報知を可能とする。【解決手段】プリンタドライバ103とアプリケーション102とを含む情報処理装置である。アプリケーション102は、プッシュ通知情報を記憶部120におけるプリンタドライバ103が参照可能な領域に保存する。プリンタドライバ103は、対象となるアカウントの実行環境にアプリケーション102がインストールされておらず、かつ上記プッシュ通知情報の表示条件を満たす場合に、当該プッシュ通知情報に基づき表示部150にプッシュ通知を表示させる。【選択図】図11
Description
本開示は、情報処理装置及び情報処理装置の制御方法に関する。
スマートフォンやPC(Personal Computer)等のような端末装置にて動作するアプリケーションにおいて、当該アプリケーションに関連したサービスやキャンペーンに関する情報を、サーバから端末装置に通知する機能が知られている。なお、以降では、同通知をプッシュ通知とも称する。プッシュ通知を受けた端末装置では、当該通知に関する情報がユーザに提示され、ユーザにより当該情報に対してクリックやタップ等の操作が行われることで、プッシュ通知の詳細が当該ユーザに提示される。
プッシュ通知を受信するために、端末装置に対してアプリケーションがインストールされていることが要求される場合がある。近年では、対象となるアプリケーションの中には、ネットワーク上のアプリケーションストアからインストールされるものが多く、このような場合には、例えば、アカウント情報にインストールされたアプリケーションの情報が紐付けられている。特許文献1には、上記のような仕組みを利用し、同じアカウントで異なる複数のデバイスが利用されている場合に、アプリケーションがインストールされていないデバイスに対して当該アプリケーションがインストールされる仕組みが開示されている。
一方で、1台の情報処理装置(例えば、スマートフォンやPC等の端末装置)が複数のアカウントで利用される場合には、アカウントごとに実行環境に対して個別にアプリケーションがインストールされる場合もある。このような状況下において、一部のアカウントについては所定のアプリケーション(例えば、印刷を実行するアプリケーション)がインストールされていたとしても、他のアカウントに対応するユーザに対して当該アプリケーションの存在を報知する手段がなかった。そのため、このような状況下では、他のアカウントに対応するユーザは、対象となるアプリケーションを利用するためには、当該アプリケーションを能動的にインストールしなければならない場合があった。
本発明は上記の問題を鑑み、1台の情報処理装置が複数のアカウントにより利用される状況下においても、アカウントごとに対象となるアプリケーションの利用状況に応じてより好適な態様で情報の報知を可能とすることを目的とする。
本発明に係る情報処理装置は、所定の機器のドライバと、対象となる装置のアカウントごとに当該アカウントの実行環境にインストールされて当該ドライバと協働して動作するアプリケーションと、を含む情報処理装置であって、前記アプリケーションは、報知対象となる通知情報を前記ドライバが参照可能な領域に保存する保存手段を有し、前記ドライバは、対象となるアカウントの実行環境に前記アプリケーションがインストールされているか否かを判定する第1の判定手段と、前記領域に保存された前記通知情報の報知条件を満たすか否かを判定する第2の判定手段と、前記第1の判定手段により対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定され、かつ前記第2の判定手段により前記通知情報の報知条件を満たすと判定された場合に、前記通知情報に基づき所定の報知手段に情報を報知させる第1の報知制御手段と、を有することを特徴とする。
本発明によれば、1台の情報処理装置が複数のアカウントにより利用される状況下においても、アカウントごとに対象となるアプリケーションの利用状況に応じてより好適な態様での情報の報知が可能となる。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<システム構成>
図1を参照して、本実施形態に係る情報処理システムのシステム構成の一例について説明する。本実施形態に係る情報処理システムは、端末装置(以下、端末とも称する)100と、プリンタ200と、プッシュ通知サーバ300と、管理サーバ400とを含む。
図1を参照して、本実施形態に係る情報処理システムのシステム構成の一例について説明する。本実施形態に係る情報処理システムは、端末装置(以下、端末とも称する)100と、プリンタ200と、プッシュ通知サーバ300と、管理サーバ400とを含む。
上記した情報処理システムの各構成要素は、所定のネットワークを介して相互に情報を送受信可能に接続されている。例えば、端末装置100とプリンタ200とは、LAN(Local Area Network)やUSBケーブルを介して相互に通信可能に接続されていてもよい。また、端末装置100、プッシュ通知サーバ300、及び管理サーバ400のそれぞれは、インターネットを介して相互に通信可能に接続されていてもよい。もちろん、上記はあくまで一例であり、情報処理システムの各構成要素間を通信可能に接続可能であれば、そのためのネットワークの構成は特に限定はされない。
管理サーバ400は、本実施形態に係る情報処理システムに関する各種管理や各種制御を行うサーバを模式的に示している。本実施形態にでは、管理サーバ400は、どの端末装置に対してどのようなプッシュ通知を行うかを管理する。
プッシュ通知サーバ300は、対象となる端末装置100に対して、ネットワークを介してプッシュ通知を行うサーバを模式的に示している。プッシュ通知サーバ300は、例えば、管理サーバ400からの指示に基づき、指定された端末装置100に対してプッシュ通知を行う。
プリンタ200は、紙等の記録媒体に対して原稿の画像を印刷する印刷装置や画像形成装置を模式的に示している。
プッシュ通知サーバ300は、対象となる端末装置100に対して、ネットワークを介してプッシュ通知を行うサーバを模式的に示している。プッシュ通知サーバ300は、例えば、管理サーバ400からの指示に基づき、指定された端末装置100に対してプッシュ通知を行う。
プリンタ200は、紙等の記録媒体に対して原稿の画像を印刷する印刷装置や画像形成装置を模式的に示している。
端末装置100は、タブレット端末やPC等のような端末装置を模式的に示している。なお、本実施形態では、便宜上、端末装置100に対して、OS(Operating System)101と、アプリケーション102と、プリンタドライバ103とがインストールされているものとする。
OS101は、所謂OSと称される、各種アプリケーションや各種ドライバが動作するための実行環境を提供する基本ソフトウェアである。なお、本実施形態では、アプリケーション102やプリンタドライバ103は、OS101により提供される実行環境上で動作するものとする。
プリンタドライバ103は、プリンタ200に印刷を実行させるためのUI(User Interface)や各種機能を提供する、所謂デバイスドライバを模式的に示している。なお、本実施形態では、便宜上、プリンタドライバ103は、端末装置100に登録された複数のアカウントに共通にインストールされるものとする。すなわち、端末装置100に対してプリンタドライバ103がインストールされた場合には、当該インストールを実行していないアカウントについても、当該プリンタドライバ103を利用することが可能となるものとする。
アプリケーション102は、プリンタドライバ103をサポートするポータルアプリケーションを模式的に示している。アプリケーション102は、プリンタドライバ103に対応付けられたプリンタ200と通信を行うことで、当該プリンタ200に印刷やスキャン等を行わせるだけでなく、最新のソリューションやお得なクーポン情報等に関する各種通知を行う機能を有する。なお、アプリケーション102については詳細を別途後述する。
<ハードウェア構成>
図2を参照して、端末装置100のハードウェア構成の一例について説明する。端末装置100は、CPU(Central Processing Unit)110と、記憶部120と、音声出力部130と、操作部140と、表示部150と、通信部160とを含む。上記した端末装置100の各構成要素は、システムバス170を介して相互に情報を送受信可能に接続されている。
図2を参照して、端末装置100のハードウェア構成の一例について説明する。端末装置100は、CPU(Central Processing Unit)110と、記憶部120と、音声出力部130と、操作部140と、表示部150と、通信部160とを含む。上記した端末装置100の各構成要素は、システムバス170を介して相互に情報を送受信可能に接続されている。
操作部140は、例えば、マウス、キーボード、及びタッチパネル等の入力デバイスにより実現され、ユーザからの操作を受け付ける。
音声出力部130は、例えば、スピーカ等により実現され、楽曲、効果音、及び音声等の音響を出力する。例えば、報知対象となる情報を示す音声を音声出力部130に出力させることで、当該情報をユーザに報知することが可能となる。
表示部150は、例えば、液晶ディスプレイ等により実現され、各種の画像を表示する。例えば、報知対象となる情報を画像として表示部150に表示させることで、当該情報をユーザに報知することが可能となる。
通信部160は、端末装置100が他の装置と通信を行うための通信インタフェースである。通信部160の構成は、通信に使用される伝送経路や適用される通信方式に応じて適宜変更され得る。具体的な一例として、通信部160は、無線LANインタフェースやUSBインタフェースにより実現さ得る。
音声出力部130は、例えば、スピーカ等により実現され、楽曲、効果音、及び音声等の音響を出力する。例えば、報知対象となる情報を示す音声を音声出力部130に出力させることで、当該情報をユーザに報知することが可能となる。
表示部150は、例えば、液晶ディスプレイ等により実現され、各種の画像を表示する。例えば、報知対象となる情報を画像として表示部150に表示させることで、当該情報をユーザに報知することが可能となる。
通信部160は、端末装置100が他の装置と通信を行うための通信インタフェースである。通信部160の構成は、通信に使用される伝送経路や適用される通信方式に応じて適宜変更され得る。具体的な一例として、通信部160は、無線LANインタフェースやUSBインタフェースにより実現さ得る。
CPU110は、各種処理のための演算や論理判断を行い、システムバス170を介して各構成要素の動作を制御する。
記憶部120は、各種のデータやプログラムを記憶するための記憶領域や、各種のプログラムが実行される際の作業領域やデータの一時記憶領域等として利用される記憶領域である。記憶部120は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、及び補助記憶装置等により実現される。記憶部120に記憶されるプログラムとしては、例えば、前述したOS101、アプリケーション102、及びプリンタドライバ103等が該当し得る。
なお、本実施形態では、記憶部120にプログラムやデータが記憶されたアプリケーション102とプリンタドライバ103とが協働してプリンタ200の動作を制御する場合の一例について説明する。また、CPU110が、記憶部120に記憶されたアプリケーション102やプリンタドライバ103のプログラムを展開して実行することで、図3、図6、図7、図9~図11、図16等を参照して別途後述する処理が実現される。
記憶部120は、各種のデータやプログラムを記憶するための記憶領域や、各種のプログラムが実行される際の作業領域やデータの一時記憶領域等として利用される記憶領域である。記憶部120は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、及び補助記憶装置等により実現される。記憶部120に記憶されるプログラムとしては、例えば、前述したOS101、アプリケーション102、及びプリンタドライバ103等が該当し得る。
なお、本実施形態では、記憶部120にプログラムやデータが記憶されたアプリケーション102とプリンタドライバ103とが協働してプリンタ200の動作を制御する場合の一例について説明する。また、CPU110が、記憶部120に記憶されたアプリケーション102やプリンタドライバ103のプログラムを展開して実行することで、図3、図6、図7、図9~図11、図16等を参照して別途後述する処理が実現される。
<処理>
本実施形態に係る情報処理システムの処理の一例について説明する。
まず、図3を参照して、ユーザからの指示に応じてアプリケーション102がインストールされ、当該アプリケーション102が起動された場合における、情報処理システムの処理の一例について説明する。
本実施形態に係る情報処理システムの処理の一例について説明する。
まず、図3を参照して、ユーザからの指示に応じてアプリケーション102がインストールされ、当該アプリケーション102が起動された場合における、情報処理システムの処理の一例について説明する。
S301において、アプリケーション102のインストールプログラムがユーザAからの指示に応じて起動すると、端末装置100における当該ユーザAに対応するアカウントの実行環境に当該アプリケーション102がインストールされる。
アプリケーション102のインストールが完了した後に、S302においてユーザAからのアプリケーション102の起動に係る指示が受け付けられると、当該アプリケーション102が起動する。
アプリケーション102のインストールが完了した後に、S302においてユーザAからのアプリケーション102の起動に係る指示が受け付けられると、当該アプリケーション102が起動する。
S303において、アプリケーション102は、OS101から対象となるユーザのユーザ情報を取得する。ユーザ情報とは、アプリケーション102をインストールしたユーザに関する情報であり、少なくとも当該ユーザに対応付けられたアカウント名が含まれる。図3に示す例の場合には、ユーザAのアカウント名を少なくとも含むユーザ情報が取得されることとなる。
S304において、アプリケーション102は、S303にて取得されたユーザ情報を記憶部120におけるプリンタドライバ103が参照可能な領域に保存するようにOS101に依頼する。なお、記憶部120におけるプリンタドライバ103が参照可能な領域としては、例えば、全てのユーザ権限で参照可能な領域が適用され得る。
S305において、アプリケーション102は、プリンタ200からプリンタ情報を取得する。プリンタ情報とは、対象となるプリンタに関する情報であり、例えば、プリンタの機種名称やシリアルナンバー等のような当該プリンタの属性情報や識別情報等が含まれる。なお、アプリケーション102は、プリンタの電源がオフとなっている場合等のようにプリンタ情報を取得できない場合には、S306以降の処理は別の契機(例えば、プリンタ情報が取得された後の契機)において実行してもよい。
S304において、アプリケーション102は、S303にて取得されたユーザ情報を記憶部120におけるプリンタドライバ103が参照可能な領域に保存するようにOS101に依頼する。なお、記憶部120におけるプリンタドライバ103が参照可能な領域としては、例えば、全てのユーザ権限で参照可能な領域が適用され得る。
S305において、アプリケーション102は、プリンタ200からプリンタ情報を取得する。プリンタ情報とは、対象となるプリンタに関する情報であり、例えば、プリンタの機種名称やシリアルナンバー等のような当該プリンタの属性情報や識別情報等が含まれる。なお、アプリケーション102は、プリンタの電源がオフとなっている場合等のようにプリンタ情報を取得できない場合には、S306以降の処理は別の契機(例えば、プリンタ情報が取得された後の契機)において実行してもよい。
S306において、アプリケーション102は、プッシュ通知サーバ300からデバイストークンを取得するための依頼を当該プッシュ通知サーバ300に行う。なお、アプリケーション102は、プッシュ通知サーバ300にアクセスするための情報(例えば、アドレス情報等)をあらかじめ保持しているものとする。また、デバイストークンとは、プッシュ通知サーバ300がプッシュ通知の送信対象となる端末を識別するための識別情報(ID)である。
S307において、プッシュ通知サーバ300は、S306にてアプリケーション102から受け付けた依頼に従い、当該アプリケーション102に対応付けられたデバイストークンを発行し、当該デバイストークンを当該アプリケーション102に送信する。
S307において、プッシュ通知サーバ300は、S306にてアプリケーション102から受け付けた依頼に従い、当該アプリケーション102に対応付けられたデバイストークンを発行し、当該デバイストークンを当該アプリケーション102に送信する。
S308において、アプリケーション102は、S305にて取得したプリンタ情報と、S307にて取得したデバイストークンとを対応付けたうえで、当該プリンタ情報及び当該デバイストークンを管理サーバ400に送信する。なお、アプリケーション102は、管理サーバ400にアクセスするための情報(例えば、アドレス情報等)をあらかじめ保持しているものとする。
S309において、管理サーバ400は、プッシュ通知を行うための情報(以下、プッシュ通知情報とも称する)を作成する。プッシュ通知情報の作成については、例えば、管理サーバ400によって提供されるダッシュボードを介して受け付けられたサービス提供者からの指示に基づき行われる。ダッシュボードとは、いつどの端末に対してどのようなプッシュ通知を行うかを、サービス提供者が設定するための管理画面である。サービス提供者は、ダッシュボードにより提供されるUI画面を利用することで、プッシュ通知に関する各種の設定を行うことが可能となる。プッシュ通知の設定に使用されるUI画面の一例については、図4を参照して別途後述する。
S110において、管理サーバ400は、S309にて作成したプッシュ通知情報をプッシュ通知サーバ300に送信する。この際に、管理サーバ400は、プッシュ通知の配信対象となる端末から送信されたデバイストークンを、当該プッシュ通知情報に関連付けてプッシュ通知サーバ300に送信する。プッシュ通知サーバ300は、管理サーバ400から送信された当該デバイストークンに基づき、どの端末に対して対象となるプッシュ通知を配信するかを決定する。
S309において、管理サーバ400は、プッシュ通知を行うための情報(以下、プッシュ通知情報とも称する)を作成する。プッシュ通知情報の作成については、例えば、管理サーバ400によって提供されるダッシュボードを介して受け付けられたサービス提供者からの指示に基づき行われる。ダッシュボードとは、いつどの端末に対してどのようなプッシュ通知を行うかを、サービス提供者が設定するための管理画面である。サービス提供者は、ダッシュボードにより提供されるUI画面を利用することで、プッシュ通知に関する各種の設定を行うことが可能となる。プッシュ通知の設定に使用されるUI画面の一例については、図4を参照して別途後述する。
S110において、管理サーバ400は、S309にて作成したプッシュ通知情報をプッシュ通知サーバ300に送信する。この際に、管理サーバ400は、プッシュ通知の配信対象となる端末から送信されたデバイストークンを、当該プッシュ通知情報に関連付けてプッシュ通知サーバ300に送信する。プッシュ通知サーバ300は、管理サーバ400から送信された当該デバイストークンに基づき、どの端末に対して対象となるプッシュ通知を配信するかを決定する。
S111において、プッシュ通知サーバ300は、対象となる端末にインストールされたOS101に対してプッシュ通知を配信する。プッシュ通知には、図5を参照して後述する有効期限や表示条件を識別するための情報等が含まれる。
S112において、OS101は、プッシュ通知サーバ300から配信されたプッシュ通知を受信すると、対象となるアプリケーション102を起動する。この際に、アプリケーション102はバックグラウンドで起動されてもよく、この場合には当該アプリケーション102の画面表示は行われない。また、OS101は、受信したプッシュ通知情報をアプリケーション102に引き渡す。
S113において、アプリケーション102は、OS101から引き渡されたプッシュ通知情報を記憶部120における当該アプリケーション102の管理下にある領域に保存する。この領域に保存されたプッシュ通知情報の参照は、対象となるアプリケーション102や、当該アプリケーション102を利用しているユーザに制限される。このような仕組みにより、アカウントごとの実行環境にアプリケーション102がインストールされている場合に、当該アカウントに対応するユーザへのプッシュ通知情報の提示(例えば、画面を介したプッシュ通知情報の表示)が行われる。
S114において、アプリケーション102は、OS101から引き渡されたプッシュ通知情報を記憶部120におけるプリンタドライバ103が参照可能な領域(例えば、全ユーザが参照可能な領域)に保存する。なお、S114にて上記領域に保存されたプッシュ通知情報は、アカウントごとの実行環境に対象となるアプリケーション102がインストールされていない場合に、プリンタドライバ103等の他のソフトウェアにより参照される。
そして、S115において、アプリケーション102は、プッシュ通知の表示に係る判断処理を実行する。なお、同処理については、詳細を別途後述する。
S112において、OS101は、プッシュ通知サーバ300から配信されたプッシュ通知を受信すると、対象となるアプリケーション102を起動する。この際に、アプリケーション102はバックグラウンドで起動されてもよく、この場合には当該アプリケーション102の画面表示は行われない。また、OS101は、受信したプッシュ通知情報をアプリケーション102に引き渡す。
S113において、アプリケーション102は、OS101から引き渡されたプッシュ通知情報を記憶部120における当該アプリケーション102の管理下にある領域に保存する。この領域に保存されたプッシュ通知情報の参照は、対象となるアプリケーション102や、当該アプリケーション102を利用しているユーザに制限される。このような仕組みにより、アカウントごとの実行環境にアプリケーション102がインストールされている場合に、当該アカウントに対応するユーザへのプッシュ通知情報の提示(例えば、画面を介したプッシュ通知情報の表示)が行われる。
S114において、アプリケーション102は、OS101から引き渡されたプッシュ通知情報を記憶部120におけるプリンタドライバ103が参照可能な領域(例えば、全ユーザが参照可能な領域)に保存する。なお、S114にて上記領域に保存されたプッシュ通知情報は、アカウントごとの実行環境に対象となるアプリケーション102がインストールされていない場合に、プリンタドライバ103等の他のソフトウェアにより参照される。
そして、S115において、アプリケーション102は、プッシュ通知の表示に係る判断処理を実行する。なお、同処理については、詳細を別途後述する。
次いで、図4を参照して、本実施形態に係るプッシュ通知の管理画面の一例について説明する。図4に例示した管理画面は、管理サーバ400がオペレータ(例えば、サービス提供者)に提示する。サービス提供者は、当該管理画面を介してプッシュ通知に関する各種設定、例えば、どの端末に対して、どのようなキャンペーンのプッシュ通知を行うか等の設定を行うこととなる。
具体的には、図4に示す管理画面は、設定領域401~405と、登録ボタン406とを含む。
設定領域401は、プッシュ通知の配信が行われた場合に、対象となる端末に表示される情報(例えば、文言)の提示や、当該情報の設定に係る入力の受け付けを行うための設定領域である。図4に示す例では、設定領域401に対して、「アプリをダウンロードしてインクの割引クーポンをGETしよう!」との文言が設定されている。
設定領域402は、ユーザによりプッシュ通知の選択がなされた場合に、ブラウザを介して表示されるWebページのURLの提示や、当該URLの指定に係る入力の受け付けを行うための設定領域である。図4に示す例では、設定領域402に対して、「https://www.microsoft.com/store/apps/myappid」というURLが設定されている。すなわち、この場合には、ユーザによりプッシュ通知として表示されたメッセージの選択がなされると、Microsoft Store(登録商標)におけるアプリケーション102のインストール画面が表示される。
設定領域403は、プッシュ通知を表示する期限の提示や、当該期限の指定の受け付けを行うための設定領域である。図4に示す例では、設定領域403に対して、「2022年12月01日 0:00」が設定されている。
設定領域401は、プッシュ通知の配信が行われた場合に、対象となる端末に表示される情報(例えば、文言)の提示や、当該情報の設定に係る入力の受け付けを行うための設定領域である。図4に示す例では、設定領域401に対して、「アプリをダウンロードしてインクの割引クーポンをGETしよう!」との文言が設定されている。
設定領域402は、ユーザによりプッシュ通知の選択がなされた場合に、ブラウザを介して表示されるWebページのURLの提示や、当該URLの指定に係る入力の受け付けを行うための設定領域である。図4に示す例では、設定領域402に対して、「https://www.microsoft.com/store/apps/myappid」というURLが設定されている。すなわち、この場合には、ユーザによりプッシュ通知として表示されたメッセージの選択がなされると、Microsoft Store(登録商標)におけるアプリケーション102のインストール画面が表示される。
設定領域403は、プッシュ通知を表示する期限の提示や、当該期限の指定の受け付けを行うための設定領域である。図4に示す例では、設定領域403に対して、「2022年12月01日 0:00」が設定されている。
設定領域404は、プッシュ通知の配信対象となるプリンタの提示や、当該配信対象となるプリンタの指定の受け付けを行うための設定領域である。設定領域404には、あらかじめ設定されたプッシュ通知の配信対象の候補(プリンタ)の一覧が提示されており、あわせて提示されるチェックボックスを介して、プッシュ通知の配信対象とする候補の指定が受け付けられる。管理サーバ400は、S305にて送信されたプリンタ情報に含まれるプリンタ名と、設定領域404にてチェックが入れられたプリンタ名とが一致する場合に、対象となるプリンタに対応付けられたデバイストークンをプッシュ通知の配信対象として抽出する。図4に示す例では、「AAA Printer」及び「BBB Printer」が対応付けられたチェックボックスにチェックが入れられている。すなわち、この場合には、「AAA Printer」及び「BBB Printer」それぞれに接続されている一連の端末にて取得されたデバイストークンが、プッシュ通知の配信対象として抽出されることとなる。
設定領域405は、プッシュ通知の表示条件の提示や、当該プッシュ通知の表示条件の指定の受け付けを行うための設定領域である。端末に接続されたプリンタ200が設定領域405を介して指定された条件を満たす場合に、当該端末上にプッシュ通知が表示されることとなる。図4に示す例では、「ユーザがアプリケーションをインストールしていない場合」かつ「インク残量警告発生時」が、プッシュ通知の表示条件として設定されている。
なお、設定領域405に対してプッシュ通知の表示条件が指定されなくてもよい。この場合には、アプリケーション102のインストール状態やプリンタ200の状態等に依らずに、配信されたプッシュ通知が表示されることとなる。
なお、設定領域405に対してプッシュ通知の表示条件が指定されなくてもよい。この場合には、アプリケーション102のインストール状態やプリンタ200の状態等に依らずに、配信されたプッシュ通知が表示されることとなる。
登録ボタン406は、設定領域401~設定領域405を介して指定された各種設定に関する情報の登録に係る指示を受け付けるための入力インタフェースである。登録ボタン406が押下されると、設定領域401~設定領域405を介して指定された各種設定に関する情報がプッシュ通知サーバ300に送信され、当該プッシュ通知サーバ300にて当該情報に基づきプッシュ通知に関する設定が更新される。
例えば、図4に示す例の場合には、「AAA Printer」または「BBB Printer」が接続されている端末に対して、「アプリをダウンロードしてインクの割引クーポンをGETしよう!」という文言の通知が配信されるように設定が更新される。また、端末では、接続されているプリンタにて印刷が実行されたタイミングで、配信されたプッシュ通知の表示が行われ、ユーザによって当該プッシュ通知の選択が行われた場合にはアプリケーション102のインストール画面が表示される。また、上記プッシュ通知は、「2022年12月01日 0:00」を超過した場合に破棄され、以降は表示されないこととなる。
例えば、図4に示す例の場合には、「AAA Printer」または「BBB Printer」が接続されている端末に対して、「アプリをダウンロードしてインクの割引クーポンをGETしよう!」という文言の通知が配信されるように設定が更新される。また、端末では、接続されているプリンタにて印刷が実行されたタイミングで、配信されたプッシュ通知の表示が行われ、ユーザによって当該プッシュ通知の選択が行われた場合にはアプリケーション102のインストール画面が表示される。また、上記プッシュ通知は、「2022年12月01日 0:00」を超過した場合に破棄され、以降は表示されないこととなる。
次いで、図5を参照して、プッシュ通知情報のデータ構造の一例ついて、図4に例示した設定が適用された場合に着目して説明する。なお、図5に示す例では、JSON(JavaScript Object Notation)形式でプッシュ通知情報が規定されているが、必ずしもプッシュ通知情報を規定するためのデータ形式を限定するものではない。すなわち、プッシュ通知サーバ300がプッシュ通知情報を所定のフォーマットに従い解釈することが可能であれば当該フォーマットは特に限定はされない。具体的な一例として、XML(Extensible Markup Language)等のマークアップ言語を利用することでプッシュ通知情報が規定されていてもよい。
図5に示す例では、「message」キーには、設定領域401を介して指定されたプッシュ通知の文言が値として設定されている。「campaignURL」キーには、設定領域402を介して指定されたURLが値として設定されている。「expireDate」キーには、設定領域403を介して指定された有効期限が値として設定されている。「device」キーには、設定領域404を介して指定されたプリンタ名(チェックボックスにチェックが入れられたプリンタ名)と対応付けられて抽出されたデバイストークンを示す情報が値として設定されている。なお、図5に示す例では、一部の図示を省略しているが、「device」キーには、対象となるプリンタに対応付けられた一連のデバイストークン(対象となる一連の端末それぞれで取得されたデバイストークン)を示す情報が値として設定されることとなる。「condition」キーには、設定領域405を介して指定されたプッシュ通知の表示条件を示す情報が値として設定されている。具体的には、「condition」キーに対して、「ユーザがアプリケーションをインストールしていない場合」を示す「NotInstallUser」と、「インク残量少警告発生時」を示す「Warning:InkLow」とが設定されている。なお、図5に示す例における「インク残量少警告発生時」に対応する条件が、消耗品の残量に関する条件の一例に相当する。
続いて、図6を参照して、図3においてS115の処理として示した、プッシュ通知の表示判断処理の一例について説明する。
S601において、アプリケーション102は、対象となるプッシュ通知が有効期限内か否かの判断に係る処理(以下、有効期限判断処理とも称する)を実行する。そのうえで、S602において、アプリケーション102は、プッシュ通知が有効期限内か否かを判定する。
アプリケーション102は、S602において有効期限内でないと判定した場合(すなわち、有効期限を超過していると判断した場合)には、処理をS611に進める。この場合には、アプリケーション102は、S611において対象となるプッシュ通知情報を削除したうえで、図6に示す一連の処理を終了する。
一方で、アプリケーション102は、S602において有効期限内であると判定した場合には、処理をS603に進める。
S601において、アプリケーション102は、対象となるプッシュ通知が有効期限内か否かの判断に係る処理(以下、有効期限判断処理とも称する)を実行する。そのうえで、S602において、アプリケーション102は、プッシュ通知が有効期限内か否かを判定する。
アプリケーション102は、S602において有効期限内でないと判定した場合(すなわち、有効期限を超過していると判断した場合)には、処理をS611に進める。この場合には、アプリケーション102は、S611において対象となるプッシュ通知情報を削除したうえで、図6に示す一連の処理を終了する。
一方で、アプリケーション102は、S602において有効期限内であると判定した場合には、処理をS603に進める。
ここで、図7を参照して、図6においてS601の処理として示した、プッシュ通知の有効期限判定処理の一例について説明する。
S701において、アプリケーション102は、記憶部120における当該アプリケーション102の管理下にある領域から対象となるプッシュ通知情報を読み出す。
S702において、アプリケーション102は、S701にて読み出したプッシュ通知情報に対して有効期限が指定されているか否かを判定する。具体的には、アプリケーション102は、プッシュ通知情報に対して「expireDate」キーによる有効期限の指定がなされているか否かを判定する。すなわち、「expireDate」キーの指定があり、かつ当該キーに値が指定されている場合には、有効期限の指定がなされていると判定されることとなる。
アプリケーション102は、S702においてプッシュ通知情報に対して有効期限が指定されていないと判定した場合には、処理をS706に進める。この場合には、アプリケーション102は、S706においてプッシュ通知の有効期限内であると判断し、図7に示す一連の処理を終了する。
一方で、アプリケーション102は、S702においてプッシュ通知情報に対して有効期限が指定されていると判定した場合には、処理をS703に進める。
S701において、アプリケーション102は、記憶部120における当該アプリケーション102の管理下にある領域から対象となるプッシュ通知情報を読み出す。
S702において、アプリケーション102は、S701にて読み出したプッシュ通知情報に対して有効期限が指定されているか否かを判定する。具体的には、アプリケーション102は、プッシュ通知情報に対して「expireDate」キーによる有効期限の指定がなされているか否かを判定する。すなわち、「expireDate」キーの指定があり、かつ当該キーに値が指定されている場合には、有効期限の指定がなされていると判定されることとなる。
アプリケーション102は、S702においてプッシュ通知情報に対して有効期限が指定されていないと判定した場合には、処理をS706に進める。この場合には、アプリケーション102は、S706においてプッシュ通知の有効期限内であると判断し、図7に示す一連の処理を終了する。
一方で、アプリケーション102は、S702においてプッシュ通知情報に対して有効期限が指定されていると判定した場合には、処理をS703に進める。
S703において、アプリケーション102は、OS101が提供する機能を利用して現在の日時を示す情報を取得する。
S704において、アプリケーション102は、プッシュ通知情報に指定された有効期限と、S703にて情報を取得した現在の日時とを照合し、プッシュ通知の有効期限内か否かを判定する。
アプリケーション102は、S704においてプッシュ通知の有効期限内であると判定した場合には、処理をS706に進める。この場合には、アプリケーション102は、S706においてプッシュ通知の有効期限内であると判断し、図7に示す一連の処理を終了する。
一方で、アプリケーション102は、S704においてプッシュ通知の有効期限内でないと判定した場合には、処理をS705に進める。この場合には、アプリケーション102は、S705においてプッシュ通知の有効期限を超過していると判断し、図7に示す一連の処理を終了する。
S704において、アプリケーション102は、プッシュ通知情報に指定された有効期限と、S703にて情報を取得した現在の日時とを照合し、プッシュ通知の有効期限内か否かを判定する。
アプリケーション102は、S704においてプッシュ通知の有効期限内であると判定した場合には、処理をS706に進める。この場合には、アプリケーション102は、S706においてプッシュ通知の有効期限内であると判断し、図7に示す一連の処理を終了する。
一方で、アプリケーション102は、S704においてプッシュ通知の有効期限内でないと判定した場合には、処理をS705に進める。この場合には、アプリケーション102は、S705においてプッシュ通知の有効期限を超過していると判断し、図7に示す一連の処理を終了する。
ここで、改めて図6を参照して、S603以降の処理について説明する。
S603において、アプリケーション102は、通信部160を介して対象となるプリンタ200と通信を行うことで、プリンタ200からステータス情報及びエラー/警告情報を取得するための要求を当該プリンタ200に送信する。
ステータス情報とは、対象となる機器がどのような状態であるかを示す情報である。例えば、図8(a)は、対象となる機器がプリンタの場合におけるステータス情報の一例を示している。具体的な一例として、プリンタ200が印刷中の場合には、ステータス情報として印刷中であることを示す「Printing」という値が当該プリンタ200から返却される。
また、エラー/警告情報は、対象となる機器で発生しているエラーまたは警告を示す情報である。例えば、図8(b)は、対象となる機器がプリンタの場合におけるエラー/警告情報の一例を示している。具体的な一例として、プリンタ200にてインク残量が規定値よりも少ない状態の場合には、当該状態を示すインク残量少警告が発生し、エラー/警告情報として当該警告を示す「Waring:InkLow」という値が当該プリンタ200から返却される。
S603において、アプリケーション102は、通信部160を介して対象となるプリンタ200と通信を行うことで、プリンタ200からステータス情報及びエラー/警告情報を取得するための要求を当該プリンタ200に送信する。
ステータス情報とは、対象となる機器がどのような状態であるかを示す情報である。例えば、図8(a)は、対象となる機器がプリンタの場合におけるステータス情報の一例を示している。具体的な一例として、プリンタ200が印刷中の場合には、ステータス情報として印刷中であることを示す「Printing」という値が当該プリンタ200から返却される。
また、エラー/警告情報は、対象となる機器で発生しているエラーまたは警告を示す情報である。例えば、図8(b)は、対象となる機器がプリンタの場合におけるエラー/警告情報の一例を示している。具体的な一例として、プリンタ200にてインク残量が規定値よりも少ない状態の場合には、当該状態を示すインク残量少警告が発生し、エラー/警告情報として当該警告を示す「Waring:InkLow」という値が当該プリンタ200から返却される。
S604において、アプリケーション102は、プリンタ200からステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功したか否かを判定する。
アプリケーション102は、S604においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功したと判定した場合には、処理をS605に進める。この場合には、アプリケーション102は、S605において取得した当該情報(ステータス情報、エラー/警告情報)を記憶部120に保存する。
一方で、アプリケーション102は、S604においてステータス情報及びエラー/警告情報のいずれの情報についても取得に失敗した場合には、処理をS606に進める。この場合には、S605の処理はスキップされることとなる。
S606において、アプリケーション102は、プッシュ通知の表示が可能か否かの判断に係る処理(以下、表示可否判断処理とも称する)を実行する。
アプリケーション102は、S604においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功したと判定した場合には、処理をS605に進める。この場合には、アプリケーション102は、S605において取得した当該情報(ステータス情報、エラー/警告情報)を記憶部120に保存する。
一方で、アプリケーション102は、S604においてステータス情報及びエラー/警告情報のいずれの情報についても取得に失敗した場合には、処理をS606に進める。この場合には、S605の処理はスキップされることとなる。
S606において、アプリケーション102は、プッシュ通知の表示が可能か否かの判断に係る処理(以下、表示可否判断処理とも称する)を実行する。
ここで、図9を参照して、図6においてS606の処理として示した、プッシュ通知の表示可否判断処理の一例について説明する。
S901において、アプリケーション102は、記憶部120のうちの当該アプリケーション102の管理下にある領域からプッシュ通知情報を読み出す。
S902において、アプリケーション102は、S901にて読み出したプッシュ通知情報にプッシュ通知の表示条件が記載されているか否かを判定する。具体的な一例として、アプリケーション102は、プッシュ通知情報に「condition」キーの指定があり、かつ当該キーに値が指定されている場合には、プッシュ通知の表示条件が記載されていると判定してもよい。
アプリケーション102は、S902においてプッシュ通知情報にプッシュ通知の表示条件が記載されていないと判定した場合には、処理をS906に進める。この場合には、アプリケーション102は、S906においてプッシュ通知の表示が可能と判断し、図9に示す一連の処理を終了する。
一方で、アプリケーション102は、S902においてプッシュ通知情報にプッシュ通知の表示条件が記載されていると判定した場合には、処理をS903に進める。
S901において、アプリケーション102は、記憶部120のうちの当該アプリケーション102の管理下にある領域からプッシュ通知情報を読み出す。
S902において、アプリケーション102は、S901にて読み出したプッシュ通知情報にプッシュ通知の表示条件が記載されているか否かを判定する。具体的な一例として、アプリケーション102は、プッシュ通知情報に「condition」キーの指定があり、かつ当該キーに値が指定されている場合には、プッシュ通知の表示条件が記載されていると判定してもよい。
アプリケーション102は、S902においてプッシュ通知情報にプッシュ通知の表示条件が記載されていないと判定した場合には、処理をS906に進める。この場合には、アプリケーション102は、S906においてプッシュ通知の表示が可能と判断し、図9に示す一連の処理を終了する。
一方で、アプリケーション102は、S902においてプッシュ通知情報にプッシュ通知の表示条件が記載されていると判定した場合には、処理をS903に進める。
S903において、アプリケーション102は、ステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報が記憶部120に保存されているか否かを判定する。
アプリケーション102は、S903においてステータス情報及びエラー/警告情報のいずれの情報も記憶部120に保存されていないと判定した場合には、処理をS907に進める。この場合には、アプリケーション102は、ステータス情報やエラー/警告情報が保存されていないことからプッシュ通知の表示の可否の判定が困難であるため、S907においてプッシュ通知の表示が不可能と判断し、図9に示す一連の処理を終了する。
一方で、アプリケーション102は、S903においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報が記憶部120に保存されていると判定した場合には、処理をS904に進める。この場合には、アプリケーション102は、S904において記憶部120に記憶された当該情報(ステータス情報、エラー/警告情報)を読み出す。
アプリケーション102は、S903においてステータス情報及びエラー/警告情報のいずれの情報も記憶部120に保存されていないと判定した場合には、処理をS907に進める。この場合には、アプリケーション102は、ステータス情報やエラー/警告情報が保存されていないことからプッシュ通知の表示の可否の判定が困難であるため、S907においてプッシュ通知の表示が不可能と判断し、図9に示す一連の処理を終了する。
一方で、アプリケーション102は、S903においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報が記憶部120に保存されていると判定した場合には、処理をS904に進める。この場合には、アプリケーション102は、S904において記憶部120に記憶された当該情報(ステータス情報、エラー/警告情報)を読み出す。
S905において、アプリケーション102は、プッシュ通知情報の「condition」キーに指定された値が示す内容が、S904にて読み出したステータス情報やエラー/警告情報が示す内容と一致するか否かを判定する。
例えば、図5に示す例の場合には、「condition」キーに対して値として「NotInstallUser」及び「Warning:InkLow」が指定されている。この場合には、アプリケーション102は、対象となるプッシュ通知が、当該アプリケーション102をインストールしていないアカウント向けと判断する。そのため、アプリケーション102は、エラー/警告情報に「インク残量少警告」が含まれていても、アプリケーション102がインストールされているため、プッシュ通知情報が示す内容とステータス情報やエラー/警告情報が示す内容とが一致しないと判定する。なお、図5に示す例のように複数の表示条件に合致した場合にプッシュ通知の表示が可能と判定される場合のみに限らず、複数の表示条件のうちのいずれかに合致した場合にプッシュ通知の表示が可能と判定されてもよい。
例えば、図5に示す例の場合には、「condition」キーに対して値として「NotInstallUser」及び「Warning:InkLow」が指定されている。この場合には、アプリケーション102は、対象となるプッシュ通知が、当該アプリケーション102をインストールしていないアカウント向けと判断する。そのため、アプリケーション102は、エラー/警告情報に「インク残量少警告」が含まれていても、アプリケーション102がインストールされているため、プッシュ通知情報が示す内容とステータス情報やエラー/警告情報が示す内容とが一致しないと判定する。なお、図5に示す例のように複数の表示条件に合致した場合にプッシュ通知の表示が可能と判定される場合のみに限らず、複数の表示条件のうちのいずれかに合致した場合にプッシュ通知の表示が可能と判定されてもよい。
アプリケーション102は、S905においてプッシュ通知情報が示す内容とステータス情報やエラー/警告情報が示す内容とが一致すると判定した場合には、処理をS906に進める。この場合には、アプリケーション102は、S906においてプッシュ通知の表示が可能と判断し、図9に示す一連の処理を終了する。
一方で、アプリケーション102は、S905においてプッシュ通知情報が示す内容とステータス情報やエラー/警告情報が示す内容とが一致しない判定した場合には、処理をS907に進める。この場合には、アプリケーション102は、S907においてプッシュ通知の表示が不可能と判断し、図9に示す一連の処理を終了する。
なお、アプリケーション102は、図9に示す一連の処理の終了に際して、S906やS907の処理における判断結果を示す情報を、記憶部120における当該アプリケーション102の管理下にある領域に保存する。また、図9を参照して説明した例では、プッシュ通知される情報が報知対象となる通知情報の一例に相当し、当該プッシュ通知の表示条件の有無や当該表示条件として指定される条件が当該通知情報の報知条件の一例に相当する。また、アプリケーション102により実行されるプッシュ通知の表示可否判断処理が、報知対象となる通知情報の報知条件を満たすか否かを判定する第2の判定処理の一例に相当する。
一方で、アプリケーション102は、S905においてプッシュ通知情報が示す内容とステータス情報やエラー/警告情報が示す内容とが一致しない判定した場合には、処理をS907に進める。この場合には、アプリケーション102は、S907においてプッシュ通知の表示が不可能と判断し、図9に示す一連の処理を終了する。
なお、アプリケーション102は、図9に示す一連の処理の終了に際して、S906やS907の処理における判断結果を示す情報を、記憶部120における当該アプリケーション102の管理下にある領域に保存する。また、図9を参照して説明した例では、プッシュ通知される情報が報知対象となる通知情報の一例に相当し、当該プッシュ通知の表示条件の有無や当該表示条件として指定される条件が当該通知情報の報知条件の一例に相当する。また、アプリケーション102により実行されるプッシュ通知の表示可否判断処理が、報知対象となる通知情報の報知条件を満たすか否かを判定する第2の判定処理の一例に相当する。
ここで改めて図6を参照して、S607以降の処理について説明する。
S607において、アプリケーション102は、S606の処理の結果(すなわち、プッシュ通知の表示可否判断の結果)を示す情報を記憶部120から読み出し、当該情報に基づきプッシュ通知の表示が可能か否かを判定する。
アプリケーション102は、S607においてプッシュ通知の表示が可能と判定した場合には、処理をS608に進める。この場合には、アプリケーション102は、S608においてプッシュ通知を端末装置100の表示部150に表示させる。また、この際にアプリケーション102は、音声出力部130を介して音声の出力を行ってもよい。なお、アプリケーション102によるプッシュ通知の表示に係る処理が、第2の報知制御処理の一例に相当する。
その後、アプリケーション102は、S611において表示対象としたプッシュ通知に対応するプッシュ通知情報を、記憶部120における当該アプリケーション102の管理下にある領域から削除し、図6に示す一連の処理を終了する。
S607において、アプリケーション102は、S606の処理の結果(すなわち、プッシュ通知の表示可否判断の結果)を示す情報を記憶部120から読み出し、当該情報に基づきプッシュ通知の表示が可能か否かを判定する。
アプリケーション102は、S607においてプッシュ通知の表示が可能と判定した場合には、処理をS608に進める。この場合には、アプリケーション102は、S608においてプッシュ通知を端末装置100の表示部150に表示させる。また、この際にアプリケーション102は、音声出力部130を介して音声の出力を行ってもよい。なお、アプリケーション102によるプッシュ通知の表示に係る処理が、第2の報知制御処理の一例に相当する。
その後、アプリケーション102は、S611において表示対象としたプッシュ通知に対応するプッシュ通知情報を、記憶部120における当該アプリケーション102の管理下にある領域から削除し、図6に示す一連の処理を終了する。
一方で、アプリケーション102は、S607においてプッシュ通知の表示が不可能と判定した場合には、処理をS609に進める。この場合には、アプリケーション102は、S609においてタイマーを起動し、S610において所定の時間が経過するまで待機する。そして、アプリケーション102は、S610において所定の時間が経過したと判定した場合には、処理をS601に進める。この場合には、S601以降の処理が改めて実行される。これにより、例えば、時間の経過に伴いステータス情報やエラー/警告情報がプッシュ通知の表示条件に一致するように変化した場合に、改めてプッシュ通知を表示させることが可能となる。
以上説明したような制御が適用されることで、プリンタ200のステータスに応じた通知情報を表示させることが可能となるため、よりユーザの興味を引く通知情報を報知することが可能となる。
続いて、図10を参照して、本実施形態に係る情報処理システムの処理の一例として、対象となるアカウントの実行環境にアプリケーション102がインストールされていない場合の処理の一例について説明する。図10に示す例では、プリンタドライバ103が端末装置100を利用する全ユーザに共通にインストールされているのに対して、アプリケーション102はユーザAのアカウントに対応する実行環境にのみインストールされているものとする。上記のような状況下においてユーザAとは異なる他のユーザBがプリンタドライバ103を介してプリンタ200を利用するような場合に、図10に示す一連の処理が実行される。
S1001において、プリンタドライバ103は、ユーザBから印刷の実行に係る指示を受け付ける。
S1002において、プリンタドライバ103は、S1001にて受け付けた指示に応じた印刷命令を対象となるプリンタに送信する。ここでは、プリンタ200が印刷命令の対象となるプリンタであるものとする。
S1003において、プリンタドライバ103は、OS101が提供する機能を利用して、S1001にて印刷の実行に係る指示を受け付けたユーザBに対応するユーザ情報を取得する。当該ユーザ情報には、例えば、当該ユーザBに対応付けられたアカウント名が含まれる。
S1004において、プリンタドライバ103は、図3のS104の処理において記憶部120におけるプリンタドライバ103が参照可能な領域に保存されたユーザ情報を取得する。当該ユーザ情報には、アプリケーション102をインストールしたユーザのアカウント名が含まれる。すなわち、図10に示す例の場合には、当該ユーザ情報には、ユーザAのアカウント名が含まれることとなる。
S1005において、プリンタドライバ103は、S1003にて取得したユーザ情報と、S1004にて取得したユーザ情報とに基づき、図11を参照して後述する印刷指示に応じて起動した場合の処理を実行する。
S1002において、プリンタドライバ103は、S1001にて受け付けた指示に応じた印刷命令を対象となるプリンタに送信する。ここでは、プリンタ200が印刷命令の対象となるプリンタであるものとする。
S1003において、プリンタドライバ103は、OS101が提供する機能を利用して、S1001にて印刷の実行に係る指示を受け付けたユーザBに対応するユーザ情報を取得する。当該ユーザ情報には、例えば、当該ユーザBに対応付けられたアカウント名が含まれる。
S1004において、プリンタドライバ103は、図3のS104の処理において記憶部120におけるプリンタドライバ103が参照可能な領域に保存されたユーザ情報を取得する。当該ユーザ情報には、アプリケーション102をインストールしたユーザのアカウント名が含まれる。すなわち、図10に示す例の場合には、当該ユーザ情報には、ユーザAのアカウント名が含まれることとなる。
S1005において、プリンタドライバ103は、S1003にて取得したユーザ情報と、S1004にて取得したユーザ情報とに基づき、図11を参照して後述する印刷指示に応じて起動した場合の処理を実行する。
次いで、図11を参照して、図10においてS1005の処理として示した、印刷指示に応じて起動した場合のプリンタドライバ103の処理の一例について説明する。
S1101において、プリンタドライバ103は、通信部160を介して対象となるプリンタ200と通信を行うことで、プリンタ200からステータス情報及びエラー/警告情報を取得するための要求を当該プリンタ200に送信する。
S1102において、プリンタドライバ103は、S1101にてプリンタ200に送信した要求に基づき当該プリンタ200からステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功したか否かを判定する。
プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功したと判定した場合には、処理をS1103に進める。この場合には、プリンタドライバ103は、S1103において従前にプリンタ200から取得した情報(ステータス情報、エラー/警告情報)を記憶部120に保存する。
一方で、プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のいずれの情報についても取得に失敗した場合には、処理をS1104に進める。この場合には、S1103の処理はスキップされることとなる。
S1101において、プリンタドライバ103は、通信部160を介して対象となるプリンタ200と通信を行うことで、プリンタ200からステータス情報及びエラー/警告情報を取得するための要求を当該プリンタ200に送信する。
S1102において、プリンタドライバ103は、S1101にてプリンタ200に送信した要求に基づき当該プリンタ200からステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功したか否かを判定する。
プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功したと判定した場合には、処理をS1103に進める。この場合には、プリンタドライバ103は、S1103において従前にプリンタ200から取得した情報(ステータス情報、エラー/警告情報)を記憶部120に保存する。
一方で、プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のいずれの情報についても取得に失敗した場合には、処理をS1104に進める。この場合には、S1103の処理はスキップされることとなる。
S1104において、プリンタドライバ103は、ステータス情報及びエラー/警告情報の取得結果に応じて表示部150に情報を表示させる。
この際に、プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功している場合には、図12に例示するように、当該情報を表示部150に表示させる。なお、図12に示す画面の一例については詳細を別途後述する。
また、プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のいずれの情報についても取得に失敗している場合には、図13に例示するように、情報を取得できなかった旨を示す報知情報を表示部150に表示させる。なお、図13に示す画面の一例についても詳細を別途後述する。
この際に、プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のうちの少なくともいずれかの情報の取得に成功している場合には、図12に例示するように、当該情報を表示部150に表示させる。なお、図12に示す画面の一例については詳細を別途後述する。
また、プリンタドライバ103は、S1102においてステータス情報及びエラー/警告情報のいずれの情報についても取得に失敗している場合には、図13に例示するように、情報を取得できなかった旨を示す報知情報を表示部150に表示させる。なお、図13に示す画面の一例についても詳細を別途後述する。
S1105において、プリンタドライバ103は、S1003にて取得したユーザ情報と、S1004にて取得したユーザ情報とに基づき、利用中のユーザ(すなわち、印刷指示を行ったユーザ)がアプリケーション102をインストールしているか否かを判定する。
プリンタドライバ103は、S1105において利用中のユーザがアプリケーション102をインストールしていると判定した場合には、図11に示す一連の処理を終了する。
一方で、プリンタドライバ103は、S1105において利用中のユーザがアプリケーション102をインストールしていないと判定した場合には、処理をS1106に進める。この場合には、プリンタドライバ103は、S1106においてプッシュ通知の有効期限判断処理を実行する。なお、S1106にて実行されるプッシュ通知の有効期限判断処理については、図7を参照して説明したアプリケーション102により実行される処理と実質的に同様のため詳細な説明は省略する。
プリンタドライバ103は、S1105において利用中のユーザがアプリケーション102をインストールしていると判定した場合には、図11に示す一連の処理を終了する。
一方で、プリンタドライバ103は、S1105において利用中のユーザがアプリケーション102をインストールしていないと判定した場合には、処理をS1106に進める。この場合には、プリンタドライバ103は、S1106においてプッシュ通知の有効期限判断処理を実行する。なお、S1106にて実行されるプッシュ通知の有効期限判断処理については、図7を参照して説明したアプリケーション102により実行される処理と実質的に同様のため詳細な説明は省略する。
S1107において、プリンタドライバ103は、プッシュ通知が有効期限内か否かを判定する。
プリンタドライバ103は、S1107において有効期限内でないと判定した場合(すなわち、有効期限を超過していると判定した場合)には、処理をS1111に進める。この場合には、プリンタドライバ103は、S1111において当該プリンタドライバ103が参照可能な領域に保存された対象となるプッシュ通知情報を削除したうえで、図11に示す一連の処理を終了する。
一方で、プリンタドライバ103は、S1107において有効期限内であると判定した場合には、処理をS1108に進める。この場合には、プリンタドライバ103は、S1108においてプッシュ通知の表示可否判断処理を実行する。なお、S1107にて実行されるプッシュ通知の表示可否判断処理については、図9を参照して説明したアプリケーション102により実行される処理と実質的に同様のため詳細な説明は省略する。また、プリンタドライバ103により実行されるプッシュ通知の表示可否判断処理が、報知対象となる通知情報の報知条件を満たすか否かを判定する第1の判定処理の一例に相当する。
プリンタドライバ103は、S1107において有効期限内でないと判定した場合(すなわち、有効期限を超過していると判定した場合)には、処理をS1111に進める。この場合には、プリンタドライバ103は、S1111において当該プリンタドライバ103が参照可能な領域に保存された対象となるプッシュ通知情報を削除したうえで、図11に示す一連の処理を終了する。
一方で、プリンタドライバ103は、S1107において有効期限内であると判定した場合には、処理をS1108に進める。この場合には、プリンタドライバ103は、S1108においてプッシュ通知の表示可否判断処理を実行する。なお、S1107にて実行されるプッシュ通知の表示可否判断処理については、図9を参照して説明したアプリケーション102により実行される処理と実質的に同様のため詳細な説明は省略する。また、プリンタドライバ103により実行されるプッシュ通知の表示可否判断処理が、報知対象となる通知情報の報知条件を満たすか否かを判定する第1の判定処理の一例に相当する。
S1109において、プリンタドライバ103は、S1108の処理の結果(すなわち、プッシュ通知の表示可否判断の結果)を示す情報を記憶部120から読み出し、当該情報に基づきプッシュ通知の表示が可能か否かを判定する。
プリンタドライバ103は、S1109においてプッシュ通知の表示が可能と判定した場合には、処理をS1110に進める。この場合には、プリンタドライバ103は、S1110においてプッシュ通知を端末装置100の表示部150に表示させる。また、この際にプリンタドライバ103は、音声出力部130を介して音声の出力を行ってもよい。なお、プリンタドライバ103は、当該プリンタドライバ103が参照可能な領域に保存されたプッシュ通知情報に基づきプッシュ通知を表示させた場合においても、当該プッシュ通知情報を削除せずに図11に示す一連の処理を終了する。これは、プリンタドライバ103が参照可能な領域(例えば、全ユーザが参照可能な領域)に保存されたプッシュ通知情報については、有効期限内であれば、他のユーザに対するプッシュ通知のために別途参照される可能性があるためである。
また、プリンタドライバ103によるプッシュ通知の表示に係る処理が、第1の報知制御処理の一例に相当する。
プリンタドライバ103は、S1109においてプッシュ通知の表示が可能と判定した場合には、処理をS1110に進める。この場合には、プリンタドライバ103は、S1110においてプッシュ通知を端末装置100の表示部150に表示させる。また、この際にプリンタドライバ103は、音声出力部130を介して音声の出力を行ってもよい。なお、プリンタドライバ103は、当該プリンタドライバ103が参照可能な領域に保存されたプッシュ通知情報に基づきプッシュ通知を表示させた場合においても、当該プッシュ通知情報を削除せずに図11に示す一連の処理を終了する。これは、プリンタドライバ103が参照可能な領域(例えば、全ユーザが参照可能な領域)に保存されたプッシュ通知情報については、有効期限内であれば、他のユーザに対するプッシュ通知のために別途参照される可能性があるためである。
また、プリンタドライバ103によるプッシュ通知の表示に係る処理が、第1の報知制御処理の一例に相当する。
次いで、図12を参照して、プリンタドライバ103がプリンタ200のステータス情報及びエラー/警告情報を表示するための画面の一例について説明する。図12に示す画面は、表示領域1201~1203を含む。
表示領域1201は、対象となるプリンタ200の機種名称を表示するための表示領域である。図12に示す例では、表示領域1201には機種名称として「AAA Printer」が表示されており、当該名称により示されるプリンタ200が処理の対象となっていることがわかる。
表示領域1202は、プリンタ200から取得されたステータス情報が表示される表示領域である。図12に示す例では、表示領域1202には印刷中であることを示す「印刷中です。」とのメッセージが表示されている。このことから、図12に示す例では、ステータス情報として、図8(a)に例示した「Printing」という値が返却されたことがわかる。
表示領域1203は、プリンタ200から取得されたエラー/警告情報が表示される表示領域である。図12に示す例では、表示領域1203にはインクの残量が少なくなっていることを示す「インク残量が少なくなっています。」とのメッセージが表示されている。このことから、図12に示す例では、エラー/警告情報として、図8(b)に例示した「Warning:InkLow」という値が返却されたことがわかる。
表示領域1201は、対象となるプリンタ200の機種名称を表示するための表示領域である。図12に示す例では、表示領域1201には機種名称として「AAA Printer」が表示されており、当該名称により示されるプリンタ200が処理の対象となっていることがわかる。
表示領域1202は、プリンタ200から取得されたステータス情報が表示される表示領域である。図12に示す例では、表示領域1202には印刷中であることを示す「印刷中です。」とのメッセージが表示されている。このことから、図12に示す例では、ステータス情報として、図8(a)に例示した「Printing」という値が返却されたことがわかる。
表示領域1203は、プリンタ200から取得されたエラー/警告情報が表示される表示領域である。図12に示す例では、表示領域1203にはインクの残量が少なくなっていることを示す「インク残量が少なくなっています。」とのメッセージが表示されている。このことから、図12に示す例では、エラー/警告情報として、図8(b)に例示した「Warning:InkLow」という値が返却されたことがわかる。
次いで、図13を参照して、プリンタドライバ103がプリンタ200からステータス情報及びエラー/警告情報の取得に失敗した場合に表示される画面の一例について説明する。図13に示す画面は、表示領域1301~1303を含む。表示領域1301~1303は、図12に示す画面の表示領域1201~1203に対応している。一方で、図13に示す例では、プリンタドライバ103がプリンタ200からステータス情報及びエラー/警告情報の取得に失敗している。そのため、表示領域1302及び1303のそれぞれには、対象となる情報(ステータス情報、エラー/警告情報)が取得できなかった旨を示す「取得できませんでした。接続を確認してください。」とのメッセージが表示されている。
なお、本実施形態では、プッシュ通知の表示条件が「インク残量少警告」の発生時に着目して各種説明を行ったが、必ずしもプッシュ通知の表示条件を限定するものではない。すなわち、利用シーンやユースケースに応じてプッシュ通知の表示条件が適宜変更されてもよい。具体的な一例として用紙の割引キャンペーンに関するプッシュ通知を行う場合には、「用紙残量少警告」の発生時が当該プッシュ通知の表示条件として設定されてもよい。また、他の一例として、バッテリー等の交換部品の購入案内に関するプッシュ通知を行う場合には、「バッテリー故障エラー」の発生時等が当該プッシュ通知の表示条件として設定されてもよい。また、他の一例として、印刷に関連するサービスの案内についてプッシュ通知を行う場合には、ステータスが「印刷中」であることが当該プッシュ通知の表示条件として設定されてもよい。
また、上記では主に端末装置100を介して利用される機器がプリンタである場合に着目して説明したが、対象となる機器は必ずしもプリンタのみには限定されず、当該機器の種別に応じて利用されるドライバについても適宜変更されてもよい。具体的な一例として、対象となる機器としてスキャナやFAXが適用されてもよく、その場合には、アプリケーション102と協働するプリンタドライバ103に相当するソフトウェアとして、スキャナドライバやFAXドライバが適用されてもよい。
また、OS101が提供する標準印刷が利用される場合のように、OS101自体が備える機能を利用してプリンタ等の各種機器が利用される場合も想定され得る。その場合には、OS101が提供する当該機能を拡張するための拡張アプリケーションを設けたうえで、当該拡張アプリケーションに、プリンタドライバ103相当の処理(例えば、図11を参照して説明した処理)を実行させればよい。
また、OS101が提供する標準印刷が利用される場合のように、OS101自体が備える機能を利用してプリンタ等の各種機器が利用される場合も想定され得る。その場合には、OS101が提供する当該機能を拡張するための拡張アプリケーションを設けたうえで、当該拡張アプリケーションに、プリンタドライバ103相当の処理(例えば、図11を参照して説明した処理)を実行させればよい。
以上説明したように、本実施形態に係る情報処理システムでは、図4に示す管理画面を介してサービス提供者によりプッシュ通知の表示条件が設定されることで、当該表示条件に応じてプッシュ通知の表示が制御される。また、プッシュ通知のためのプッシュ通知情報については、対象となる機器のドライバ(例えば、プリンタドライバ103)が参照可能な領域に保存される。このような構成により、実行環境に対してプッシュ通知を実現するためのアプリケーション102をインストールしていないユーザが対象となる機器を利用した場合においても、当該機器のドライバにプッシュ通知を行わせることが可能となる。また、この際に、実行環境にアプリケーション102をインストールしていないユーザが、当該アプリケーション102をインストールするように誘導する効果を期待できる。
<変形例>
本実施形態に係る情報処理システムの変形例について以下に説明する。前述した実施形態では、プッシュ通知の表示条件として「ユーザがアプリケーションをインストールしていない場合」との条件が設定されているため、アプリケーション102をインストールしていないユーザが通知情報の報知対象となっていた。本変形例では、アプリケーション102のインストール状況に関わらず全ユーザ向けの情報の報知が行われる際に、アプリケーション102がインストールされていないアカウントの場合に、インストールの案内をあわせて報知する場合の一例について説明する。なお、本変形例では、前述した実施形態と異なる部分に着目して説明するものとし、当該実施形態と実質的に同様の部分については詳細な説明は省略する。
本実施形態に係る情報処理システムの変形例について以下に説明する。前述した実施形態では、プッシュ通知の表示条件として「ユーザがアプリケーションをインストールしていない場合」との条件が設定されているため、アプリケーション102をインストールしていないユーザが通知情報の報知対象となっていた。本変形例では、アプリケーション102のインストール状況に関わらず全ユーザ向けの情報の報知が行われる際に、アプリケーション102がインストールされていないアカウントの場合に、インストールの案内をあわせて報知する場合の一例について説明する。なお、本変形例では、前述した実施形態と異なる部分に着目して説明するものとし、当該実施形態と実質的に同様の部分については詳細な説明は省略する。
まず、図14を参照して、全ユーザ向けのプッシュ通知の設定を行うための管理画面の一例について説明する。図14に示す管理画面は、設定領域1401~1406と、登録ボタン1407とを含む。設定領域1401~1405及び登録ボタン1407は、図4を参照して説明した管理画面における設定領域401~405及び登録ボタン406に相当する。
図14に示す例では、設定領域1401には、端末に表示される文言として、「本日限定!印刷用紙が10%OFF!」が設定されている。設定領域1402には、ブラウザを介して表示されるWebページのURLとして、「https://www.hogehogexxx.com/campaign/index.html」が設定されている。すなわち、この場合には、ユーザによりプッシュ通知として表示されたメッセージの選択がなされると、当該ユーザは詳細な情報が提示されたページに誘導されることとなる。設定領域1403には、プッシュ通知を表示する期限として、「2020年12月01日 0:00」が設定されている。また、図14に示す例では、設定領域1404を介したプッシュ通知の配信対象となるプリンタの指定と、設定領域1405を介したプッシュ通知の表示条件の指定とはなされてない。
設定領域1406は、プッシュ通知の優先度の指定を受け付けるための設定領域である。図14に示す例では、設定領域1406に対して、対象となるプッシュ通知の優先度がより高いことを示す「高」という値が設定されている。
設定領域1406は、プッシュ通知の優先度の指定を受け付けるための設定領域である。図14に示す例では、設定領域1406に対して、対象となるプッシュ通知の優先度がより高いことを示す「高」という値が設定されている。
すなわち、図14に示す例では、プッシュ通知サーバ300に接続されている全ての端末に対して、「本日限定!印刷用紙が10%OFF!」との文言の通知が配信される。また、各端末では接続されているプリンタのステータス情報の取得に係る処理が実行されたタイミングで、当該ステータス情報の取得の成否に関わらず、かつアプリケーション102をインストールしているか否かに関わらず、配信されたプッシュ通知が表示される。表示されたプッシュ通知がユーザにより選択された場合には、当該プッシュ通知に対応付けられたURLが示すページがブラウザを介して表示される。また、上記プッシュ通知は、「2020年12月01日 0:00」に破棄されて以降は表示されないこととなる。
次いで、図15を参照して、アプリケーション102をインストールしていないユーザ向けのプッシュ通知の設定を行うための管理画面の一例について説明する。図15に示す管理画面は、設定領域1501~1506と、登録ボタン1507とを含む。設定領域1501~1506及び登録ボタン1507は、図14を参照して説明した管理画面における設定領域1401~1406及び登録ボタン1407に相当する。
図15に示す例では、設定領域1501には、端末に表示される文言として、「アプリをインストールするとお得な情報が盛りだくさん!いますぐダウンロード!」が設定されている。設定領域1502には、ブラウザを介して表示されるWebページのURLとして、「https://www.microsoft.com/store/apps/myappid」が設定されている。設定領域1503には、プッシュ通知を表示する期限として、「2020年12月01日 0:00」が設定されている。設定領域1504を介したプッシュ通知の配信対象となるプリンタの指定については行われていないものとする。設定領域1505には、プッシュ通知の表示条件として、「ユーザがアプリケーションをインストールしていない場合」と「アプリのインストール案内を表示する場合」とが設定されている。設定領域1506には、プッシュ通知の優先度として、対象となるプッシュ通知の優先度がより低いことを示す「低」という値が設定されている。
すなわち、図15に示す例では、プッシュ通知サーバ300に接続されている全ての端末に対して、「アプリをインストールするとお得な情報が盛りだくさん!いますぐダウンロード!」との文言の通知が配信される。そのうえで、端末ではアプリケーション102が実行環境にインストールされていないアカウントを対象として、アプリケーション102のインストール案内を表示すると判断されたタイミングで配信されたプッシュ通知が表示される。そのうえで、当該プッシュ通知がユーザによって選択された場合には、Microsoft Store(登録商標)のアプリケーション102のインストール画面が表示される。また、上記プッシュ通知は、「2020年12月01日 0:00」に破棄されて以降は表示されないこととなる。
次いで、図16を参照して、プリンタドライバ103が印刷指示に応じて起動した場合における、当該プリンタドライバ103の処理の一例について説明する。なお、S1601~S1605の処理については、図11に示すS1101~S1105の処理と実質的に同様のため詳細な説明は省略する。
プリンタドライバ103は、S1605において利用中のユーザがアプリケーション102をインストールしていないと判定した場合には、処理をS1606に進める。
S1606において、プリンタドライバ103は、記憶部120における当該プリンタドライバ103が参照可能な領域に保存されているプッシュ通知情報の中から、処理対象とするプッシュ通知情報を決定する。具体的な一例として、プリンタドライバ103は、優先度がより高いプッシュ通知情報の中から、配信された日時がより古いプッシュ通知情報を処理対象として決定してもよい。
S1606において、プリンタドライバ103は、記憶部120における当該プリンタドライバ103が参照可能な領域に保存されているプッシュ通知情報の中から、処理対象とするプッシュ通知情報を決定する。具体的な一例として、プリンタドライバ103は、優先度がより高いプッシュ通知情報の中から、配信された日時がより古いプッシュ通知情報を処理対象として決定してもよい。
S1607において、プリンタドライバ103は、S1606にて処理対象に決定されたプッシュ通知情報に基づき、アプリケーション102のインストール案内に関する通知を表示するか否かを判定する。具体的な一例として、プリンタドライバ103は、プッシュ通知情報に対して表示条件として「ユーザがアプリをインストールしていない場合」との条件が指定されているか否かを確認し、指定がある場合には、インストール案内の通知を表示すると判定する。また、プリンタドライバ103は、プッシュ通知情報に対して表示条件として「ユーザがアプリをインストールしていない場合」との条件の指定がない場合には、インストール案内の通知を表示しないと判定する。
プリンタドライバ103は、S1607においてインストール案内の通知を表示すると判定した場合には、処理をS1608に進める。この場合には、プリンタドライバ103は、S1606にて処理対象として決定されたプッシュ通知情報を参照したうえで、さらにS1608においてアプリケーション102のインストール案内に関するプッシュ通知情報を参照する。
一方で、プリンタドライバ103は、S1607においてインストール案内の通知を表示しないと判定した場合には、処理をS1609に進める。この場合には、プリンタドライバ103は、S1606にて処理対象として決定されたプッシュ通知情報を参照し、S1608の処理についてスキップする。
なお、S1609以降の処理については、図11を参照して説明した例と実質的に同様のため、詳細な説明は省略する。
プリンタドライバ103は、S1607においてインストール案内の通知を表示すると判定した場合には、処理をS1608に進める。この場合には、プリンタドライバ103は、S1606にて処理対象として決定されたプッシュ通知情報を参照したうえで、さらにS1608においてアプリケーション102のインストール案内に関するプッシュ通知情報を参照する。
一方で、プリンタドライバ103は、S1607においてインストール案内の通知を表示しないと判定した場合には、処理をS1609に進める。この場合には、プリンタドライバ103は、S1606にて処理対象として決定されたプッシュ通知情報を参照し、S1608の処理についてスキップする。
なお、S1609以降の処理については、図11を参照して説明した例と実質的に同様のため、詳細な説明は省略する。
図14及び図15に示す例に着目すると、管理サーバ400にて各プッシュ通知情報が作成された場合には、図3に示すS114の処理にて、プリンタドライバ103が参照可能な領域(例えば、全ユーザが参照可能な領域)に当該プッシュ通知情報が保存される。その後に、ユーザからの印刷の実行に係る指示がなされると、プリンタドライバ103は、図16に示すS1605の処理において、当該ユーザがアプリケーション102をインストールしているか否かを判定する。プリンタドライバ103は、対象となるユーザがアプリケーション102をインストールしていないと判定した場合には、当該プリンタドライバ103が参照可能な領域に保存されているプッシュ通知情報の中から優先度のより高いプッシュ通知情報を参照する。ここでは、図14を参照して説明した例に対応するプッシュ通知情報が参照されたものとする。
次いで、プリンタドライバ103は、処理対象として決定した通知情報とあわせて、アプリケーション102のインストール案内に関する通知を表示するか否かを判断する。図14に示す例では、プッシュ通知の表示条件が指定されていないため、プリンタドライバ103は、アプリケーション102をインストールしていないユーザ向けにインストール案内に関するプッシュ通知を表示すると判断する。この場合には、プリンタドライバ103は、プッシュ通知の表示条件として「アプリケーションのインストール案内を表示する場合」との条件が指定されている、図15に示した例に対応するプッシュ通知情報を参照する。プリンタドライバ103は、図14及び図15それぞれに対応する2つのプッシュ通知情報を参照し、印刷の実行に係る指示に応じて起動した場合の処理と同様の処理を実行する。なお、実行される順序については、より優先度が高く設定されている図14に示す例に対応するプッシュ通知の表示が先に実行され、続けてより優先度が低く設定されている図15に示す例に対応するプッシュ通知の表示が実行される。
以上説明したように、本変形例に係る情報処理システムに依れば、一連のユーザを対象としてプッシュ通知が報知される場合においても、アプリケーション102をインストールしていないユーザを対象としてインストール案内を提示することが可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。この場合には、供給されたプログラム自体が前述した実施形態の機能を実現することとなり、そのプログラムのコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行うことで前述した実施形態の機能が実現されてもよい。
また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。例えば、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより前述した実施形態の機能が実現されてもよい。この場合には、例えば、記憶媒体から読み出されたプログラムコードが、機能拡張ボードや当該機能拡張ユニットに備わるメモリに書きこまれる。そのうえで、当該プログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことで前述した実施形態の機能が実現されてもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。この場合には、供給されたプログラム自体が前述した実施形態の機能を実現することとなり、そのプログラムのコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行うことで前述した実施形態の機能が実現されてもよい。
また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。例えば、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより前述した実施形態の機能が実現されてもよい。この場合には、例えば、記憶媒体から読み出されたプログラムコードが、機能拡張ボードや当該機能拡張ユニットに備わるメモリに書きこまれる。そのうえで、当該プログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことで前述した実施形態の機能が実現されてもよい。
また、本実施形態の開示は、以下の構成、方法、及びプログラムを含む。
(構成1)所定の機器のドライバと、対象となる装置のアカウントごとに当該アカウントの実行環境にインストールされて当該ドライバと協働して動作するアプリケーションと、を含む情報処理装置であって、前記アプリケーションは、報知対象となる通知情報を前記ドライバが参照可能な領域に保存する保存手段を有し、前記ドライバは、対象となるアカウントの実行環境に前記アプリケーションがインストールされているか否かを判定する第1の判定手段と、前記領域に保存された前記通知情報の報知条件を満たすか否かを判定する第2の判定手段と、前記第1の判定手段により対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定され、かつ前記第2の判定手段により前記通知情報の報知条件を満たすと判定された場合に、前記通知情報に基づき所定の報知手段に情報を報知させる第1の報知制御手段と、を有することを特徴とする、情報処理装置。
(構成2)前記アプリケーションは、所定の報知手段に情報を報知させる第2の報知制御手段を有し、対象となるアカウントの実行環境に前記アプリケーションがインストールされている場合に、前記第2の報知制御手段により前記通知情報に基づく情報が報知される
ことを特徴とする、構成1に記載の情報処理装置。
(構成3)前記報知条件は、前記所定の機器で使用される消耗品の残量に関する条件と、前記所定の機器で発生するエラーに関する条件と、前記所定の機器のステータスに関する条件と、のうちの少なくともいずれかを含むことを特徴とする、構成1または2に記載の情報処理装置。
(構成4)前記第1の報知制御手段は、前記第1の判定手段により対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定された場合に、当該アプリケーションのインストールを促す情報を所定の報知手段に報知させることを特徴とする、構成1乃至3のいずれか1項に記載の情報処理装置。
(構成5)前記アプリケーションは、前記所定の機器から前記通知情報を受信することを特徴とする、構成1乃至4のいずれか1項に記載の情報処理装置。
(構成6)前記第1の判定手段及び前記第2の判定手段それぞれは、前記ドライバが前記所定の機器に対する指示を受け付けた場合に、対応する判定に係る処理を実行することを特徴とする、構成1乃至5のいずれか1項に記載の情報処理装置。
(構成7)前記所定の機器は、プリンタであり、前記指示は、前記プリンタに対する印刷に係る指示であることを特徴とする、構成6に記載の情報処理装置。
(方法1)所定の機器のドライバと、対象となる装置のアカウントごとに当該アカウントの実行環境にインストールされて当該ドライバと協働して動作するアプリケーションと、を含む情報処理装置の制御方法であって、前記アプリケーションが、報知対象となる通知情報を前記ドライバが参照可能な領域に保存する保存ステップと、前記ドライバが、対象となるアカウントの実行環境に前記アプリケーションがインストールされているか否かを判定する第1の判定ステップと、前記ドライバが、前記領域に保存された前記通知情報の報知条件を満たすか否かを判定する第2の判定ステップと、前記ドライバが、前記第1の判定ステップにおいて対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定され、かつ前記第2の判定ステップにおいて前記通知情報の報知条件を満たすと判定された場合に、前記通知情報に基づき所定の報知手段に情報を報知させる第1の報知制御ステップと、を含むことを特徴とする、情報処理装置の制御方法。
(構成1)所定の機器のドライバと、対象となる装置のアカウントごとに当該アカウントの実行環境にインストールされて当該ドライバと協働して動作するアプリケーションと、を含む情報処理装置であって、前記アプリケーションは、報知対象となる通知情報を前記ドライバが参照可能な領域に保存する保存手段を有し、前記ドライバは、対象となるアカウントの実行環境に前記アプリケーションがインストールされているか否かを判定する第1の判定手段と、前記領域に保存された前記通知情報の報知条件を満たすか否かを判定する第2の判定手段と、前記第1の判定手段により対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定され、かつ前記第2の判定手段により前記通知情報の報知条件を満たすと判定された場合に、前記通知情報に基づき所定の報知手段に情報を報知させる第1の報知制御手段と、を有することを特徴とする、情報処理装置。
(構成2)前記アプリケーションは、所定の報知手段に情報を報知させる第2の報知制御手段を有し、対象となるアカウントの実行環境に前記アプリケーションがインストールされている場合に、前記第2の報知制御手段により前記通知情報に基づく情報が報知される
ことを特徴とする、構成1に記載の情報処理装置。
(構成3)前記報知条件は、前記所定の機器で使用される消耗品の残量に関する条件と、前記所定の機器で発生するエラーに関する条件と、前記所定の機器のステータスに関する条件と、のうちの少なくともいずれかを含むことを特徴とする、構成1または2に記載の情報処理装置。
(構成4)前記第1の報知制御手段は、前記第1の判定手段により対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定された場合に、当該アプリケーションのインストールを促す情報を所定の報知手段に報知させることを特徴とする、構成1乃至3のいずれか1項に記載の情報処理装置。
(構成5)前記アプリケーションは、前記所定の機器から前記通知情報を受信することを特徴とする、構成1乃至4のいずれか1項に記載の情報処理装置。
(構成6)前記第1の判定手段及び前記第2の判定手段それぞれは、前記ドライバが前記所定の機器に対する指示を受け付けた場合に、対応する判定に係る処理を実行することを特徴とする、構成1乃至5のいずれか1項に記載の情報処理装置。
(構成7)前記所定の機器は、プリンタであり、前記指示は、前記プリンタに対する印刷に係る指示であることを特徴とする、構成6に記載の情報処理装置。
(方法1)所定の機器のドライバと、対象となる装置のアカウントごとに当該アカウントの実行環境にインストールされて当該ドライバと協働して動作するアプリケーションと、を含む情報処理装置の制御方法であって、前記アプリケーションが、報知対象となる通知情報を前記ドライバが参照可能な領域に保存する保存ステップと、前記ドライバが、対象となるアカウントの実行環境に前記アプリケーションがインストールされているか否かを判定する第1の判定ステップと、前記ドライバが、前記領域に保存された前記通知情報の報知条件を満たすか否かを判定する第2の判定ステップと、前記ドライバが、前記第1の判定ステップにおいて対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定され、かつ前記第2の判定ステップにおいて前記通知情報の報知条件を満たすと判定された場合に、前記通知情報に基づき所定の報知手段に情報を報知させる第1の報知制御ステップと、を含むことを特徴とする、情報処理装置の制御方法。
100 端末装置
102 アプリケーション
103 プリンタドライバ
120 記憶部
150 表示部
102 アプリケーション
103 プリンタドライバ
120 記憶部
150 表示部
Claims (8)
- 所定の機器のドライバと、対象となる装置のアカウントごとに当該アカウントの実行環境にインストールされて当該ドライバと協働して動作するアプリケーションと、を含む情報処理装置であって、
前記アプリケーションは、
報知対象となる通知情報を前記ドライバが参照可能な領域に保存する保存手段を有し、
前記ドライバは、
対象となるアカウントの実行環境に前記アプリケーションがインストールされているか否かを判定する第1の判定手段と、
前記領域に保存された前記通知情報の報知条件を満たすか否かを判定する第2の判定手段と、
前記第1の判定手段により対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定され、かつ前記第2の判定手段により前記通知情報の報知条件を満たすと判定された場合に、前記通知情報に基づき所定の報知手段に情報を報知させる第1の報知制御手段と、
を有することを特徴とする、情報処理装置。 - 前記アプリケーションは、所定の報知手段に情報を報知させる第2の報知制御手段を有し、
対象となるアカウントの実行環境に前記アプリケーションがインストールされている場合に、前記第2の報知制御手段により前記通知情報に基づく情報が報知される
ことを特徴とする、請求項1に記載の情報処理装置。 - 前記報知条件は、
前記所定の機器で使用される消耗品の残量に関する条件と、
前記所定の機器で発生するエラーに関する条件と、
前記所定の機器のステータスに関する条件と、
のうちの少なくともいずれかを含む
ことを特徴とする、請求項1に記載の情報処理装置。 - 前記第1の報知制御手段は、前記第1の判定手段により対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定された場合に、当該アプリケーションのインストールを促す情報を所定の報知手段に報知させることを特徴とする、請求項1に記載の情報処理装置。
- 前記アプリケーションは、前記所定の機器から前記通知情報を受信することを特徴とする、請求項1に記載の情報処理装置。
- 前記第1の判定手段及び前記第2の判定手段それぞれは、前記ドライバが前記所定の機器に対する指示を受け付けた場合に、対応する判定に係る処理を実行することを特徴とする、請求項1に記載の情報処理装置。
- 前記所定の機器は、プリンタであり、
前記指示は、前記プリンタに対する印刷に係る指示である
ことを特徴とする、請求項6に記載の情報処理装置。 - 所定の機器のドライバと、対象となる装置のアカウントごとに当該アカウントの実行環境にインストールされて当該ドライバと協働して動作するアプリケーションと、を含む情報処理装置の制御方法であって、
前記アプリケーションが、報知対象となる通知情報を前記ドライバが参照可能な領域に保存する保存ステップと、
前記ドライバが、対象となるアカウントの実行環境に前記アプリケーションがインストールされているか否かを判定する第1の判定ステップと、
前記ドライバが、前記領域に保存された前記通知情報の報知条件を満たすか否かを判定する第2の判定ステップと、
前記ドライバが、前記第1の判定ステップにおいて対象となるアカウントの実行環境に前記アプリケーションがインストールされていないと判定され、かつ前記第2の判定ステップにおいて前記通知情報の報知条件を満たすと判定された場合に、前記通知情報に基づき所定の報知手段に情報を報知させる第1の報知制御ステップと、
を含むことを特徴とする、情報処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022161665A JP2024055062A (ja) | 2022-10-06 | 2022-10-06 | 情報処理装置及び情報処理装置の制御方法 |
US18/480,424 US20240118846A1 (en) | 2022-10-06 | 2023-10-03 | Information processing apparatus and control method for information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022161665A JP2024055062A (ja) | 2022-10-06 | 2022-10-06 | 情報処理装置及び情報処理装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024055062A true JP2024055062A (ja) | 2024-04-18 |
Family
ID=90574331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022161665A Pending JP2024055062A (ja) | 2022-10-06 | 2022-10-06 | 情報処理装置及び情報処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240118846A1 (ja) |
JP (1) | JP2024055062A (ja) |
-
2022
- 2022-10-06 JP JP2022161665A patent/JP2024055062A/ja active Pending
-
2023
- 2023-10-03 US US18/480,424 patent/US20240118846A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240118846A1 (en) | 2024-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720300B2 (en) | Communicating information concerning printing target data via a messaging screen that is different from a setting screen for communicating printing setting information | |
CN102591597B (zh) | 信息处理装置及其控制方法 | |
CN103246489B (zh) | 打印系统、打印服务器和控制方法 | |
CN100458681C (zh) | 打印控制设备及其方法 | |
US8654383B2 (en) | Information processing system, apparatus, method and non-transitory computer-readable recording medium for generating a display screen based on local error display information and remote style sheet information | |
KR20120130339A (ko) | 클라우드 기반 인쇄 서비스 | |
US20110310432A1 (en) | Computer readable recording medium storing print setting program, print setting apparatus, computer readable recording medium storing control program of printing apparatus, and printing apparatus | |
CN104253924A (zh) | 打印接收到的打印数据的图像形成装置、系统及控制方法 | |
JP4652523B2 (ja) | サーバ装置、画像処理装置、情報処理方法、及び記憶媒体 | |
US20110055736A1 (en) | Image forming apparatus, method of providing UI user interface contents thereof, and host apparatus | |
CN102006377A (zh) | 图像读取系统、控制装置和控制方法 | |
CN103220441B (zh) | 信息处理设备及其控制方法 | |
US20190007404A1 (en) | Information processing apparatus, management server, service provision server, image processing apparatus, and information processing system | |
US8064079B2 (en) | Method for notifying state of printing processing, information processing device, and information processing program | |
US20230146770A1 (en) | Storage medium, information processing apparatus, control method, and system | |
CN102640126A (zh) | 管理装置及其方法 | |
JP2024055062A (ja) | 情報処理装置及び情報処理装置の制御方法 | |
US20190386873A1 (en) | Information processing apparatus for outputting data acquired from server, information processing method, and storage medium | |
JP2014164509A (ja) | 画像処理装置 | |
JP2000200163A (ja) | 印刷制御方法及び装置と印刷装置 | |
JP2009151678A (ja) | 画像形成装置及び画像形成システム | |
JP2020038549A (ja) | データ管理装置及びデータ管理プログラム | |
JP2021012431A (ja) | 周辺装置管理システム、印刷装置制御システム、制御方法、印刷制御装置及びプログラム | |
JP2006163993A (ja) | データ処理システムおよびデータ処理装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
JP7363932B2 (ja) | 印刷システム |