JP2023003699A - プログラム、情報処理装置 - Google Patents

プログラム、情報処理装置 Download PDF

Info

Publication number
JP2023003699A
JP2023003699A JP2021104934A JP2021104934A JP2023003699A JP 2023003699 A JP2023003699 A JP 2023003699A JP 2021104934 A JP2021104934 A JP 2021104934A JP 2021104934 A JP2021104934 A JP 2021104934A JP 2023003699 A JP2023003699 A JP 2023003699A
Authority
JP
Japan
Prior art keywords
information
notification information
communication device
push notification
notification
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
JP2021104934A
Other languages
English (en)
Inventor
真也 山▲崎▼
Shinya Yamazaki
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 JP2021104934A priority Critical patent/JP2023003699A/ja
Priority to US17/845,733 priority patent/US20220417373A1/en
Publication of JP2023003699A publication Critical patent/JP2023003699A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00488Output means providing an audible output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00477Indicating status, e.g. of a job
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof

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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

Figure 2023003699000001
【課題】 端末装置に情報が通知される際のタイミングは、端末装置に接続された、通知情報に関連する通信装置の状態によっては、ユーザにとって適切なタイミングではない場合がある。
【解決手段】 情報処理装置と通信可能な通信装置の情報を取得する第1取得ステップと、前記情報処理装置と通信可能な管理サーバーによって作成された通知情報を取得する第2取得ステップと、前記取得された前記通信装置の情報が、前記取得された前記通知情報に含まれる情報に対応する出力条件を満たすかを判定する第1判定処理を実行するステップと、前記第1判定処理において前記通信装置の情報が前記出力条件を満たすと判定された場合、前記通知情報に基づく通知を出力させる第1出力ステップと、を前記情報処理装置のコンピュータに実行させる。
【選択図】 図6

Description

本発明は、プログラム、情報処理装置に関する。
ユーザへ情報を提供するために、端末装置に対して適切なタイミングで情報を通知する技術が知られている。例えば、特許文献1では、ユーザの特定行動に対して情報を通知するタイミングを学習した学習モデルに基づいて、適切な情報の通知タイミングを判定するような技術が記載されている。
特開2019-164736号公報
しかしながら、例えば、特許文献1に記載されているような、ユーザの特定行動に応じて情報の通知タイミングを判定する方法では、通知情報に関連する通信装置の状態によっては、ユーザにとって適切なタイミングとは限らなかった。
本発明は、上記課題を鑑みてなされたものであり、端末装置に対して情報を通知する際に、ユーザにとって適切なタイミングで情報を通知させることを目的とする。
上述のような課題を解決するため、本開示に係るプログラムは、プログラムであって、情報処理装置と通信可能な通信装置の情報を取得する第1取得ステップと、前記情報処理装置と通信可能な管理サーバーによって作成された通知情報を取得する第2取得ステップと、前記取得された前記通信装置の情報が、前記取得された前記通知情報に含まれる情報に対応する出力条件を満たすかを判定する第1判定処理を実行するステップと、前記第1判定処理において前記通信装置の情報が前記出力条件を満たすと判定された場合、前記通知情報に基づく通知を出力させる第1出力ステップと、を前記情報処理装置のコンピュータに実行させるプログラム。
本開示によれば、ユーザに適切なタイミングで情報を通知することを実現できる。
システムの構成を示す図である。 端末装置100のハードウェアの構成を示す図である。 システムのシーケンス図である。 プッシュ通知情報の設定を行う画面を示す図である。 プッシュ通知の情報を示す図である。 プッシュ通知情報に基づく通知の表示処理を示したフローチャート図である。 プッシュ通知情報に基づく通知の有効期限判定処理を示したフローチャート図である。 プリンタ200のステータス情報、エラー/警告情報を示す図である。 プッシュ通知情報に基づく通知の表示判定処理を示したフローチャート図である。 プリンタ200のステータス情報、エラー/警告情報を取得した場合に表示する画面を示す図である。 プリンタ200のステータス情報、エラー/警告情報の取得に失敗した場合に表示する画面を示す図である。 印刷ワークフローアプリケーションの処理を示したフローチャート図である。 保存されたプッシュ通知情報を示す図である。 プッシュ通知情報の設定を行う画面を示す図である。 保存されるプッシュ通知情報の順番を指定するフローチャート図である。 プッシュ通知情報に基づく通知の表示処理を示したフローチャート図である。 プッシュ通知情報に基づく通知の表示処理を示したフローチャート図である。
以下、図面を参照して本開示を詳細に説明する。尚、以下の実施の形態は特許請求の範囲に係る本開示を限定するものではなく、また本実施の形態で説明されている特徴の組み合わせの全てが本開示の解決手段に必須のものとは限らない。また、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(実施形態1)
図1は、本実施形態におけるシステムの構成を示す図である。本実施形態のシステムは、端末装置100と、印刷装置(以下、プリンタ)200、プッシュ通知サーバー300、管理サーバー400を含む。なお、端末装置100は、オペレーティングシステム(以下、OSとする)101、アプリケーション102がインストールされた情報処理装置である。
図1に示すシステムにおいて、各装置は通信可能に接続されている。例えば、端末装置100とプリンタ200間の接続に用いられる通信方式は、例えば、IEEE802.11シリーズの通信規格(Wi-Fi)やBluetooth (Bluetooth Classic、Bluetooth Low Energy(BLE)等)である。また、USBケーブルによって接続されてもよい。なお、端末装置100とプリンタ200とはダイレクト接続が行われていない形態であってもよい。具体的には例えば、端末装置100とプリンタ200とは、アクセスポイントにより構築されたネットワークを介して接続されてもよい。また、端末装置100とプリンタ200とは、移動体通信(3Gや4G、5G)によって基地局と接続し、基地局を介したインターネット通信によって通信が実行されてもよい。また、端末装置100と、プッシュ通知サーバー300や管理サーバ―400はインターネットを介して通信可能に接続されている。さらに、管理サーバー400とプッシュ通知サーバー300はインターネットを介して通信可能に接続されている。
端末装置100は、例えばパーソナルコンピュータ(PC)やスマートフォンといった情報処理装置である。デジタルカメラ等の種々の機器が本実施形態の端末装置100として適用されてもよい。また、本実施形態で使用されるプリンタ200の印刷方式は、電子写真方式でもインクジェット方式でもよく、その他の方式でもよい。
管理サーバー400は、プッシュ通知情報の作成を行い、どの端末装置にプッシュ通知情報を送信するかを管理する機能を有する情報処理装置であり、詳細は図3で後述する。プッシュ通知サーバー300は、端末装置100にプッシュ通知情報を配信する機能を有する情報処理装置であり、詳細は図3で後述する。
図2は、端末装置100のハードウェアの構成を示す図である。端末装置100は、CPU110、記憶部120、音声出力部130、操作部140、表示部150、通信部160を含む構成である。そして、各部はシステムバス170を介して相互に接続されている。
操作部140は、ユーザによる操作を受け付ける。例えば、マウスやキーボード、タッチパネル等により構成される。音声出力部130は、音声を出力する。例えば、スピーカー等により構成され、音声によってプッシュ通知情報の内容を出力する。表示部150は、画像や情報を表示する。例えば、液晶ディスプレイ等の画面により構成され、液晶ディスプレイ等の画面に表示することでプッシュ通知情報の内容を出力する。通信部160は、他の装置との通信を行う。例えば、USBインターフェース、有線LANインターフェース、無線LANインターフェース等により構成され、プリンタ200、プッシュ通知サーバー300、管理サーバー400との通信を行う。記憶部120は、例えばROMやRAM等により構成され、各種のデータやプログラムを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時記憶領域として利用される。記憶部120に記憶されるプログラムとして、OS101やアプリケーション102がある。以下では、アプリケーション102の例として、プリンタ200を制御するためのアプリケーションとして説明する。なお、記憶部120にはOS101とアプリケーション102以外のソフトウェアが記憶されていてもよい。例えば、画像データを生成する描画アプリケーションや、生成された画像データに基づき印刷データを生成するプリンタドライバ(印刷データ生成ソフトウェア)等が考えられる。
なお、本実施形態の管理サーバー400及びプッシュ通知サーバー300のハードウェア構成も図2で示した構成と同じである。また、本実施形態の管理サーバー400とプッシュ通知サーバー300はそれぞれ1台のサーバー装置(情報処理装置)により構成されていている例を説明する。しかしながら、各サーバーにおいて実行される機能は、クラウド上の複数のサーバーが連携して動作することで各機能を実行するよう構成されていてもよい。つまり、管理サーバー400及びプッシュ通知サーバー300はそれぞれが複数のサーバー装置により構成されていてもよい。1つのサーバー装置もしくは複数のサーバー装置により構成されるサーバーをサーバーシステムとも呼ぶ。
ここで、プッシュ通知について説明する。端末装置200上で動作するアプリケーション102に関連したサービスやキャンペーンの情報を、プッシュ通知サーバー300から端末装置200に通知する機能がある(以降、プッシュ通知とする)。しかしながら、プッシュ通知で配信される通知情報(以降、プッシュ通知情報とする)に基づく通知は、受信してすぐに端末装置200の画面に一定期間のみ表示される。よって、ユーザがプッシュ通知をクリックする等の操作を行わなければ、プッシュ通知は削除されることが多い。そのため、プッシュ通知は、ユーザにとって必要なタイミングで表示されることが望ましい。例えば、端末装置100に接続されたプリンタ200で使用される消耗品のキャンペーン情報をプッシュ通知として配信したい場合、消耗品の残量が少なくなったタイミングで表示されることが好ましい。
そこで、本実施形態では、プッシュ通知情報に表示条件が指定され、端末装置100に接続されたプリンタ200等の通信装置の状態が表示条件を満たした場合に、端末装置100の画面にプッシュ通知情報に基づく通知を表示させる。これにより、プッシュ通知は、ユーザにとって必要なタイミングで表示される。なお、以降で説明する本実施形態のプッシュ通知情報は、プッシュ通知サーバー300からプッシュ通知情報として端末装置100が受信した後、端末装置100の記憶部120に保存される。そして保存された情報をアプリケーション102が読み出して通知が実行されることになる。よって、厳密な意味ではOSによってプッシュ通知情報の受信後すぐに表示されるプッシュ通知とは異なるが、便宜的にプッシュ通知として説明する。
図3は、本システムのシーケンス図である。以降、各装置や、アプリケーション、OSを各処理の主体として説明することもあるが、実際には、対応するプログラムを各装置内のCPUなどのプロセッサが実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで主要な処理を、便宜的にわかりやすく示したフローである。
S101において、ユーザによりアプリケーション102が起動される。
S102において、アプリケーション102は、プリンタ200からプリンタ情報を取得する。プリンタ情報とは、例えばプリンタの機種名称やシリアルナンバーといったプリンタが持つ属性情報や識別情報である。なお、複数のプリンタが接続されている場合は、端末装置100と接続されているすべてのプリンタ200のプリンタ情報を取得してもよい。
S103において、アプリケーション102は、プッシュ通知サーバーにデバイストークンの取得依頼を行う。ここで、デバイストークンとはプッシュ通知サーバー300がプッシュ通知情報を送信する対象となる端末装置を識別するためのIDである。ここでは、端末装置100が、プッシュ通知が送信される対象の端末装置であるとする。プッシュ通知サーバーは、アプリケーション102からデバイストークンの取得依頼を受けると、プッシュ通知情報を送信する対象となる端末装置に対応するデバイストークンを作成する。なお、アプリケーション102は、プッシュ通知サーバー300のアドレス情報を予め知っているため、プッシュ通知サーバー300と通信可能であるものとする。
S104において、プッシュ通知サーバー300は、作成したデバイストークンをアプリケーション102に送信する。
S105において、アプリケーション102は、S102で取得したプリンタ情報とS104で取得したデバイストークンとを対応付けて管理サーバー400に送信する。なお、S102において複数のプリンタ情報が取得された場合は、取得されたプリンタ情報に対応するプリンタの中から、使用するプリンタ200をユーザに選択させる。例えば、アプリケーション102は、使用するプリンタ200をユーザに選択させる選択画面を表示する。そしてアプリケーション102は、選択されたプリンタ200のプリンタ情報とS104で取得したデバイストークンとを対応付けて管理サーバー400に送信する。また、なお、アプリケーション102は、管理サーバー400のアドレス情報を予め知っているものとする。
S106において、管理サーバー400は、プッシュ通知情報を取得する。プッシュ通知情報の設定は、管理サーバー400によって提供されるダッシュボード上で作成される。ダッシュボードとは、どの端末装置にどのようなプッシュ通知情報を配信するか、等をベンダー等のサービス提供者が設定するための管理画面であり、提供されるUI画面上でプッシュ通知情報の設定を行うことができる。例えば、後述する図4に示す画面を使って、ベンダー等のサービス提供者がプッシュ通知情報の設定を行う。この設定は、サービス提供者によりあらかじめ行われてもよく、サービス提供者がプッシュ通知を送信したいタイミングで設定されてもよい。あらかじめ設定が行われている場合は、管理サーバー400がプッシュ通知を発信するタイミング(時刻や条件)が設定されていることが好ましい。そして、管理サーバー400は、S105において取得したプリンタ情報に基づき、あらかじめ設定されたタイミング(もしくはサービス提供者が新たにプッシュ通知設定をしたタイミング)において、対応するプッシュ通知情報を生成(取得)する。生成されたプッシュ通知の詳細については、図5を用いて後述する。
S107において、管理サーバー400は、プッシュ通知情報をプッシュ通知サーバー300に送信する。さらに、アプリケーション102から送信されたデバイストークンもプッシュ通知サーバー300に送信する。
S108において、プッシュ通知サーバー300は、アプリケーション102から送信されたデバイストークンに対応する端末装置に、プッシュ通知情報を配信すると決定する。ここでは、端末装置100であるとする。そして、端末装置100にインストールされたOS101に対してプッシュ通知情報を配信する。
S109において、OS101は、プッシュ通知情報を受信したことに基づいて、アプリケーション102を起動させる。そして、OS101は、受信したプッシュ通知情報を、アプリケーション102に引渡す。なお、アプリケーション102はバックグラウンドで起動され、この時点では画面表示は行われない。なお、管理サーバー400は、プッシュ通知情報の中に特定タグを含めて、OSにその特定タグを参照させることが好ましい。つまり、OS101は、特定タグに基づき、OS101がプッシュ通知を表示する(即時表示する)か、S109のようにアプリケーション102に渡すかを切り替えるとよい。具体的には、プッシュ通知情報に特定タグが含まれる場合は、OS101は、S109にてアプリケーション102にプッシュ通知情報を引き渡す。一方、プッシュ通知情報に特定タグが含まれない場合(もしくは特定タグとは異なるタグが含まれる場合)は、OS101は受信したプッシュ通知情報に基づき通知をすぐに実行する(即時表示)とよい。なお、以下ではプッシュ通知情報に特定タグが含まれる場合を例に説明する。
S110において、アプリケーション102は、OS101から引き渡されたプッシュ通知情報を記憶部120に保存する。
S111において、アプリケーション102は、図6において後述するプッシュ通知情報に基づく通知の表示処理を実行する。
ここで、プッシュ通知情報の設定と、プッシュ通知情報について説明する。図4は、プッシュ通知情報の設定を行う画面を示す図である。図4に示す画面は、管理サーバー400によって提供される。ベンダー等のサービス提供者は、プッシュ通知情報の設定を行い、どの端末装置にどのようなプッシュ通知情報を配信するか、等を決定する。例えば、設定項目401は、プッシュ通知情報を配信したときに端末装置の画面に表示される文言を設定するための項目である。ここでは例として「インク割引キャンペーン実施中!」の文言が設定されている。設定項目402は、ユーザが表示されたプッシュ通知情報を選択した際に、ブラウザで表示されるWebページのURLを設定する項目である。ここでは例として「https://www.hogehogexxx.com/campaign/index.html」というURLが設定されている。例えば、ユーザは、表示されたプッシュ通知情報を選択することで、対応したURLから開かれるWebページによって、プッシュ通知情報の内容に関連した詳細な情報を得ることができる。設定項目403は、プッシュ通知情報を端末装置に表示する期限を決定するための項目である。ここでは例として「2020年12月01日 0:00」が設定されている。
設定項目404は、プッシュ通知情報を配信するプリンタを設定するための項目である。この設定項目404には、予め選定されたプッシュ通知情報の配信対象候補のプリンタ名が記載されており、ベンダー等のサービス提供者は、プッシュ通知情報の内容に関連するプリンタ名に対してチェックを付ける。例えば、ベンダー等のサービス提供者は401に示した、インク割引キャンペーン中のインクを利用するプリンタ名に対してチェックを付ける。管理サーバー400は、S105で送信されたプリンタ情報に記載されたプリンタ名が、設定項目404でチェックを付けたプリンタ名一覧に含まれているかを判定する。そして、管理サーバー400は、プリンタ名が含まれていると判定すると、送信されたプリンタ情報に対応付いたデバイストークンにより識別される端末装置を、プッシュ通知情報の配信対象の端末装置として抽出する。ここでは例として「AAA Printer」と「BBB Printer」にチェックがついている。すなわち、「AAA Printer」か、または「BBB Printer」と接続されている全ての端末装置が、プッシュ通知情報の配信対象の端末装置として抽出されることになる。ここでは、プッシュ通知情報の配信対象の端末装置の一つとして抽出された端末装置が端末装置100であるとする。
設定項目405は、プッシュ通知情報の表示条件を設定するための項目である。端末装置100に接続されたプリンタ200の状態が設定項目405に記載の条件を満たす場合に、記憶部120に保存されたプッシュ通知情報が端末装置100の画面に表示される。ここでは例として、「インク残量少警告発生時」が設定されている。つまり、プリンタ200で使用されるインクの残量が少なくなったことを条件に、端末装置100の画面にプッシュ通知情報が表示されることを示す。なお、設定項目405は設定しないことも可能である。設定項目405が設定されていない場合、プリンタ200の状態に依らず、端末装置100の画面にプッシュ通知情報が表示される。詳細は図9において後述する。ボタン406は401から405で設定した項目を登録するための登録ボタンである。登録ボタン406が押下されると、設定した項目を含むプッシュ通知情報が、管理サーバー400に保存される。
図5は、プッシュ通知の情報を示す図である。つまり、図4においてベンダー等のサービス提供者によって設定された内容に基づいて、管理サーバー400により作成されるプッシュ通知情報のコマンド例である。ここでは、例として、JSON(JavaScript Object Notation)形式で記載しているが、プッシュ通知サーバーが要求する形式として、例えばXML(Extensible Markup Language)等で記載されてもよい。「message」キーには、設定項目401で設定したプッシュ通知情報の文言が設定されている。「campaignURL」には、設定項目402で設定したURLが設定されている。「expireDate」には、設定項目403で設定した有効期限が設定されている。「devices」には、設定項目404でチェックを付けたプリンタ名と対応づいて抽出されたデバイストークンが設定されている。図5では省略しているが、設定項目404でチェックをつけたプリンタが接続されている、全ての端末装置に対応するデバイストークンが設定されることになる。「condition」には、設定項目405で設定した表示条件が設定されている。ここでは「インク残量少警告発生時」を表す「Warning:InkLow」が設定されている。
図6は、図3のS110に対応するプッシュ通知情報に基づく通知の表示処理を示したフローチャート図である。以降、アプリケーション102を各処理の主体として説明することもあるが、実際には、対応するプログラムを端末装置100内のCPU110などのプロセッサが実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで主要な処理を、便宜的にわかりやすく示したフローである。アプリケーション102は、図3のS110においてプッシュ通知情報を記憶部120に保存すると、S111に対応する図6のプッシュ通知情報に基づく通知の表示処理を開始する。
S601において、アプリケーション102は、プッシュ通知情報に基づく通知の有効期限判定処理を実行する。詳細は図7において後述する。
S602において、アプリケーション102は、プッシュ通知情報が有効期限内か否かを判定する。アプリケーション102は、S602でYESの場合、S603に進み、S602でNOの場合、S611に進み、S611においてプッシュ通知情報を削除し、処理を終える。
S603において、アプリケーション102は、プリンタ200のステータス情報の取得要求を送信する。ここで、ステータス情報とは、図8に示すように、プリンタ200がどのような状態であるかを示す情報である。例えば、印刷中であれば「Printing」という値がプリンタから返却される。また、ステータス情報には詳細ステータス情報も含まれ、詳細ステータス情報には、例えば、エラー/警告情報がある。エラー/警告情報とは、図8に示すように、プリンタ200で発生している、エラーまたは警告を示す情報である。例えば、インクの残量が少ない場合は「InkLow」の値がプリンタから返却される。よって、プリンタ200が印刷中且つインクの残量が少ない場合は、ステータス情報として、「Printing:InkLow」の値がプリンタから返却される。なお、ステータス情報には詳細ステータス情報としてエラー/警告情報がない場合もある。例えばプリンタ200が印刷中であり詳細ステータス情報としてエラー/警告情報がない場合は、ステータス情報として、「Printing」の値のみがプリンタから返却される。
S604において、アプリケーション102は、ステータス情報の取得に成功したか否かを判定する。S604でYESの場合、S605に進み、S604でNOの場合、S606に進む。
S605において、アプリケーション102は、プリンタから取得したステータス情報を記憶部120に保存する。また、アプリケーション102は、プリンタ200から取得したステータス情報を端末装置200の表示部150に表示してもよい。具体的には、アプリケーション102は、図10のように、プリンタのステータを示すメッセージやエラー/警告情報を示すメッセージを表示するとよい。
S606において、アプリケーション102は、プッシュ通知情報に基づく通知の表示判定処理を実行し、プッシュ通知情報を端末装置100の画面に表示するか否かを判定する。プッシュ通知情報の表示判定処理については、図9において後述する。
S607において、アプリケーション102は、S606において記憶部120に保存された表示判定処理の結果を読み出し、プッシュ通知を「表示する」か「表示しない」か、を判定する。具体的には「表示する」ことを示す情報を取得したか、それとも「表示しない」ことを示す情報を取得したかを判定する。プッシュ通知を「表示する」ことを示す情報を取得した場合はS607でYESと判定され、S608に進み、プッシュ通知を「表示しない」ことを示す情報を取得した場合はS607でNOと判定され、S609に進む。
S608において、アプリケーション102は、プッシュ通知情報に基づく通知を端末装置100の画面に表示(出力)させる。具体的には、OS101に対して端末装置100の画面にプッシュ通知情報に基づく通知を表示するように指示を行う。これにより、OS101は、表示部150を介してプッシュ通知に基づく通知を表示する。通知方法としては、トースト通知のようにOSの通知機能を用いるとよい。
なお、プッシュ通知情報に基づく通知の表示はアプリケーション102が行ってもよい。また、なお、プッシュ通知の出力は音声出力部130を介した音声によって行われてもよい。つまり、音声によりキャンペーン等の内容を通知してもよい。そして、S611においてプッシュ通知情報を削除し、処理を終える。
S607でNOの場合に続くS609において、アプリケーション102は、タイマーを起動する。これは、予め指定された所定の時間が経過した場合に、プリンタ200の状態が変化し、プリンタ200のステータス情報がプッシュ通知情報の表示条件を満たす可能性があるため行われる。
S610において、アプリケーション102は、予め指定された所定の時間が経過したかを判定する。S610でYESの場合、S601に戻り、プッシュ通知情報に基づく通知の表示処理を再度実行する。S607でNOの場合、S610の処理を繰り返す。
図7は、S601において実行されるプッシュ通知情報に基づく通知の有効期限判定処理を示したフローチャート図である。
S701において、アプリケーション102は、記憶部120に保存されたプッシュ通知情報を読み出す。
S702において、アプリケーション102は、プッシュ通知情報に有効期限が指定されているかを判定する。具体的にはプッシュ通知情報に「expireDate」の記載がされているかを判定し、記載がある場合には通知の有効期限が指定されていると判定する。S702でYESの場合、S703に進み、S702でNOの場合、S706に進む。S706において、アプリケーション102は、プッシュ通知情報が有効期限内であると判定し、記憶部120にプッシュ通知情報に基づく通知の有効期限判定処理の結果として保存し、処理を終了する。
S703において、アプリケーション102は、OS101に日時情報の取得依頼を行い、現在の日時を取得する。
S704において、アプリケーション102は、プッシュ通知情報が有効期限内か否かを判定する。具体的には、現在の日時がプッシュ通知情報に記載されている有効期限内かを判定する。S704でYESの場合、S703に進み、プッシュ通知情報が有効期限内であると判定し、記憶部120に有効期限判定処理の結果として保存し、処理を終了する。S702でNOの場合、S705に進み、プッシュ通知情報が有効期限を超過していると判定し、記憶部120にプッシュ通知情報に基づく通知の有効期限判定処理の結果として保存し、処理を終了する。そして、アプリケーション102は、図6のS602に進む。
図9は、S606において実行されるプッシュ通知情報に基づく通知の表示判定処理を示したフローチャート図である。
S901において、アプリケーション102は、記憶部120に保存されたプッシュ通知情報を読み出す。
S902において、アプリケーション102は、プッシュ通知情報に表示条件が指定されているか否かを判定する。具体的には、プッシュ通知情報に「condition」の記載があるかを確認し、記載がある場合には通知の表示条件が指定されていると判定する。S902でYESの場合、S903に進み、S902でNOの場合、S906に進む。S906において、アプリケーション102は、プッシュ通知情報を「表示する」と判定する。これは、プッシュ通知情報に「condition」の記載がないということは、プリンタ200のステータスに依らずに表示することを示す。判定結果である「表示する」ことを示す情報は、記憶部120にプッシュ通知情報の表示判定処理の結果として保存し、処理を終了する。
S902において、プッシュ通知情報に表示条件が指定されていると判定された場合、S903において、アプリケーション102は、プリンタ200から取得したステータス情報が記憶部120に保存されているかを判定する。具体的には、図6のS604でプリンタ200からステータス情報の取得に成功し、S605でステータス情報を記憶部120に保存した場合、記憶部120に保存されていると判定される。S903でYESの場合、S904に進み、S903でNOの場合、S907に進む。S907において、アプリケーション102は、記憶部120にプリンタ200のステータス情報が保存されていないため、プリンタ200のステータス情報がプッシュ通知情報の表示条件を満たすかを判定できないため、表示しないと判定する。そして、アプリケーション102は、「表示しない」ことを示す情報を、プッシュ通知情報に基づく通知の表示判定処理の結果として記憶部120に保存し、処理を終了する。
S903において、ステータス情報が記憶部120に保存されていると判定された場合、S904において、アプリケーション102は、記憶部120に保存されたプリンタ200のステータス情報を読み出す。
S905において、アプリケーション102は、プリンタ200のステータス情報が、プッシュ通知情報の表示(出力)条件を満たすかを判定する。具体的には、記憶部120から読み出したプリンタ200のステータス情報が、プッシュ通知情報の「condition」に記載されている内容と一致するかを判定する。例えば図5では、プッシュ通知情報の「condition」に「InkLow」と記載されている。そのため、記憶部120から読み出されたプリンタ200のステータス情報の詳細ステータス情報におけるエラー/警告情報として、「InkLow」が含まれている場合に、プッシュ通知情報の表示条件を満たすと判定される。つまり、例えば図8に示したプリンタ200のステータス情報の値が、「Idle:InkLow」もしくは「Printing:InkLow」の場合に、プッシュ通知情報の表示条件を満たすと判定される。アプリケーション102は、S905でYESの場合、S906に進み、S902でNOの場合、S907に進む。S906において、アプリケーション102は、「表示する」ことを示す情報を、記憶部120にプッシュ通知情報の表示判定処理の結果として保存し、処理を終了する。S907において、アプリケーション102は、「表示しない」ことを示す情報を、記憶部120にプッシュ通知情報に基づく通知の表示判定処理の結果として保存し、処理を終了する。そして、アプリケーション102は、図6のS607に進む。
以上、本実施形態では、管理サーバー400により提供されるプッシュ通知情報に表示条件が指定されている。アプリケーション102は、端末装置100に接続されたプリンタ200等の通信装置の状態が表示条件を満たした場合に、端末装置100の画面にプッシュ通知を表示させる。これにより、プッシュ通知は、ユーザの必要とするであろうタイミングで表示される。
本実施形態では、プッシュ通知情報に表示条件が指定されているかを表示判定処理において実行したが、これに限定されない。例えば、図3のS110においてアプリケーション102が記憶部120にプッシュ通知情報を保存する処理を実行する前に、プッシュ通知情報に表示条件が指定されているかを判定する。そして、表示条件が指定されているプッシュ通知情報については記憶部120に保存し、表示条件が指定されていないプッシュ通知情報については即時に端末装置100の画面にプッシュ通知を表示させる形態であってもよい。具体的には、アプリケーション102は、S110を実行する前に図9のS902と同様の判定を実行し、S902でNOの場合、即時に端末装置100の画面にプッシュ通知を表示させ、S902でYESの場合、プッシュ通知情報を記憶部120に保存するようにしてもよい。
なお、本実施形態では、アプリケーション102はプリンタ200を制御するためのアプリケーションとして説明した。より具体的には、実施形態2において後述する印刷ワークフローアプリケーションであってもよいし、通知のためのアプリケーションであってもよい。さらに、アプリケーション102の機能は、2つのアプリケーションプログラムによって実行される形態であってもよい。2つのアプリケーションプログラムによって実行される形態である場合、第1のアプリケーションが、図3のS110においてアプリケーション102が記憶部120にプッシュ通知情報を保存するまでを実行する。そして第2のアプリケーションが、図6のプッシュ通知情報に基づく通知の表示処理を実行させる形態をとってもよいし、他の形態であってもよい。第1のアプリケーションとしては、プリンタの様々な情報を管理してユーザに提示するアプリケーションが挙げられる。第2のアプリケーションとしては、プリンタのステータスを通知する通知アプリケーションが挙げられる。
また、表示条件が指定されていないプッシュ通知情報に基づく通知を即時に端末装置100の画面に表示させる形態である場合、第1のアプリケーションが表示してもよいし、第1のアプリケーションが第2のアプリケーションに表示指示を出してもよい。そして、第2のアプリケーションがOS101に表示させてもよい。よって、2つのアプリケーションによって動作させる形態であっても、1つのアプリケーションで動作させる形態と同様の効果を得ることができる。
(実施形態2)
実施形態1では、プッシュ通知情報に基づく通知の表示処理は、アプリケーション102がプッシュ通知サーバーから取得したプッシュ通知情報を記憶部120に保存したことに基づいて実行されていた。さらに、アプリケーション102は、プッシュ通知情報に指定されている表示条件をプリンタ200のステータス情報が満たさない場合、タイマーを起動させる。そして、所定の時間が経過後に、再度プッシュ通知情報に基づく通知の表示処理を行うことで、プッシュ通知情報に基づく通知の表示処理を一定間隔で実行させていた。
しかしながら、プッシュ通知情報に指定されている表示条件をプリンタ200のステータス情報が満たさない場合、プッシュ通知情報に基づく通知の表示処理を一定間隔で実行させ続けるため、CPU110の処理負荷が高まる可能性がある。さらに、タイマーにより所定の時間が経過するまでS601以降の再処理が実行されないため、所定の時間が経過している間にプリンタにおいて印刷が終了してしまう可能性がある。つまり、プッシュ通知情報に指定されている表示条件が「プリンタのステータスが印刷中」の場合であって、S610の所定時間の間に印刷タイミングが来た場合、プッシュ通知の表示を逃してしまう可能性がある。そこで本実施形態では、CPU110の処理負荷を低減しつつ、プッシュ通知の表示をできるだけ逃さない形態を説明する。
そこで本実施形態では、ユーザの印刷指示に基づいてアプリケーション102を起動させ、プッシュ通知情報に基づく通知の表示処理を実行させる形態について説明する。また、本実施形態では、アプリケーション102として、Windows(登録商標)の印刷ワークフローアプリケーションと呼ばれる拡張アプリケーションを使用した場合について説明する。印刷ワークフローアプリケーションは、ユーザの印刷指示に基づき起動し動作することで、プリンタドライバの機能(例えば、印刷設定の拡張やプレビュー機能等)を拡張することが出来る。さらに本実施形態では、印刷ワークフローアプリケーションが提供する機能として、ユーザの印刷指示に応じて起動し、プリンタ200のステータス情報及び、エラー/警告情報を表示する場合を例に説明する。なお、本実施形態では、図3のS110においてプッシュ通知情報を端末装置100に保存するまでの処理は実施形態1と同様であるため、説明は省略する。以下では実施形態1との相違点を中心に説明する。
図10は、印刷ワークフローアプリケーションがプリンタ200のステータス情報、エラー/警告情報を取得した場合に、端末装置100の表示部150に表示される画面を示す図である。領域1001には、プリンタ200の機種名称が表示される。ここでは例として「AAA Printer」が表示されている。領域1002には、プリンタ200から取得したステータス情報が表示される。ここでは例として「印刷中です。」が表示されている。これは、ステータス情報として、図8に示す「Printing」の値がプリンタ200から返却されたことを意味する。領域1003には、プリンタ200から取得したステータス情報に含まれる詳細ステータス情報として、エラー/警告情報がある場合、エラー/警告情報が表示される。ここでは例として「インクの残量が少なくなっています。」が表示されている。これは、エラー/警告情報として、図8に示す「InkLow」がプリンタ200から返却されたことを意味する。つまり、図10に示す内容が端末装置200の画面に表示される場合、図8に示す値として、「Printing:InkLow」がプリンタ200から返却されたことを意味する。なお、プリンタ200から取得したステータス情報に含まれる詳細ステータス情報として、エラー/警告情報がない場合、1003は空欄となってもよいし、エラー/警告情報がないことを示す内容を表示してもよい。
図11は、印刷ワークフローアプリケーションがプリンタ200のステータス情報、エラー/警告情報の取得に失敗した場合に表示する画面を示す図である。例えば、1102、1103にはそれぞれプリンタ200のステータス情報、エラー/警告情報の取得に失敗したことを示す内容が表示される。ここでは例として「取得できませんでした。接続を確認してください。」が表示されている。
図12は、印刷ワークフローアプリケーションの処理を示したフローチャート図である。以降、アプリケーション102である印刷ワークフローアプリケーションを各処理の主体として説明することもあるが、実際には、対応するプログラムを端末装置100内のCPU110などのプロセッサが実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで主要な処理を、便宜的にわかりやすく示したフローである。
図12のフローは、印刷ワークフローアプリケーションが印刷指示に基づいて起動されることにより開始する。なお、印刷指示は、描画アプリケーションが提供する印刷設定画面やOSが提供する印刷設定画面において、ユーザにより印刷開始が指示された場合に発行され、印刷ワークフローアプリケーションが起動する。
S1201~S1203は、S603~S605と同様の処理であるため説明を省略する。
S1204において、印刷ワークフローアプリケーションは、プリンタ200から取得したステータス情報を端末装置200の表示部150に表示する。ステータス情報に含まれる詳細ステータス情報としてエラー/警告情報がある場合は、ステータス情報と共に、エラー/警告情報を表示するとよい。つまり、S1202において、ステータス情報の取得に成功したと判定された場合は、取得したステータス情報、エラー/警告情報をそれぞれ図10の領域1002と領域1003に表示する。また、S1202において、ステータス情報の取得に成功しなかったと判定された場合は、図11に示すように、取得に失敗した内容を図11の領域1102と領域1103に表示する。
S1205~S1210は、それぞれS602、S603、S606、607、608、611同様の処理であるため、説明を省略する。
なお、S1208において、印刷ワークフローアプリケーションは、プッシュ通知情報に基づく通知を「表示しない」ことを示す情報を取得した場合、処理を終了する。
以上、本実施形態では、印刷指示に基づいてアプリケーション102を起動させ、プッシュ通知情報に基づく通知の表示処理を実行させる。これにより印刷中という適切なタイミングのみ表示処理が実行されるため、CPU110の処理負荷が高まることを軽減することができる。また、印刷指示に基づくタイミングにのみ表示されるためタイマーを設ける必要がなく、プッシュ通知を逃す可能性が低減する。
なお、本実施形態では、印刷ワークフローアプリケーションでの処理を例に説明したが、同様の処理を印刷時に起動する別のアプリケーションが実行しても構わない。
また、本実施形態では、2つのアプリケーションプログラムによって実行される形態であってもよい。2つのアプリケーションプログラムによって実行される形態である場合、第1のアプリケーションが、図3のS110においてアプリケーション102が記憶部120にプッシュ通知情報を保存するまでを実行する。そして第2のアプリケーションが、図12のプッシュ通知情報に基づく通知の表示処理を実行させる形態をとってもよいし、他の形態であってもよい。また、表示条件が指定されていないプッシュ通知情報に基づく通知を即時に端末装置100の画面に表示させる形態である場合、第1のアプリケーションが表示してもよいし、第1のアプリケーションが指示を出して第2のアプリケーションに表示させてもよい。よって、2つのアプリケーションによって動作させる形態であっても、1つのアプリケーションで動作させる形態と同様の効果を得ることができる。
(実施形態3)
実施形態1及び実施形態2では、端末装置100の記憶部120に1つのプッシュ通知が保存されるケースについて説明した。しかしながら、保存されたプッシュ通知情報が削除される前に、別のプッシュ通知情報を管理サーバー400から送信された場合、記憶部120には複数のプッシュ通知情報が保存されることになる。本実施形態では複数のプッシュ通知情報が保存されるケースにおいても、ユーザにとって必要なタイミングでプッシュ通知情報に基づく通知が表示される形態について説明する。以下では実施形態1や実施形態2との相違点を中心に説明する。
図13は、アプリケーション102によって、記憶部120に保存されたプッシュ通知情報を示す表である。ここでは、例としてプッシュ通知情報_1からプッシュ通知情報_4までの4つのプッシュ通知情報が保存されているものとする。「No.」は処理されるプッシュ通知情報の処理順を表す。図13(a)の例では、一番最初にプッシュ通知情報_1の処理が実行され、一番最後にプッシュ通知情報_4の処理が実行されることを表す。また、「配信日」はプッシュ通知情報が記憶部120に保存された日時を表す。例えば、プッシュ通知情報_1は、アプリケーション102によって記憶部120に「2020年10月1日の10:00」に保存されたことを表している。アプリケーション102は、プッシュ通知情報を記憶部120に保存する際に、プッシュ通知情報ごとに「配信日」を設定している。図13(a)の例では、アプリケーション102は、配信日の古いプッシュ通知情報から処理がされるように保存していることを示す。また、図13(b)の「通知優先度」は、ベンダー等のサービス提供者が、管理サーバー400の提供するダッシュボード上で設定するプッシュ通知情報の優先度である。
図14はプッシュ通知情報の優先度の設定が可能なダッシュボードの一例である。設定項目1401がプッシュ通知情報の優先度を設定する項目であり、ここでは例として「高」がサービス提供者により優先度として設定されている。なお優先度には、「中」や「低」といった優先度もあり、他の優先度があってもよい。図13(b)の例では、アプリケーション102は、プッシュ通知情報の優先度が高くかつ配信日の古いプッシュ通知情報から処理がされるように保存していることを示す。なお、プッシュ通知情報に有効期限が指定されている場合は、配信日の古いプッシュ通知情報ではなく、有効期限が近いプッシュ通知情報から処理がされるように保存される形態であってもよい。
図15は、アプリケーション102によって、記憶部120に保存されるプッシュ通知情報の順番を指定する処理を示すフローチャート図である。以降、アプリケーション102を各処理の主体として説明することもあるが、実際には、対応するプログラムを端末装置100内のCPU110などのプロセッサが実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで主要な処理を、便宜的にわかりやすく示したフローである。
図15のフローは、図3のS109においてOS101からプッシュ通知情報を引き渡されたことにより開始する。
S1501において、アプリケーション102は、プッシュ通知サーバー300から配信されたプッシュ通知情報に優先度が設定されているかを判定する。具体的には、例えばプッシュ通知情報に「priority」と記載されているかを判定する。アプリケーション102は、S1501でYESの場合、S1502に進み、S1501でNOの場合、S1503に進む。S1503においてプッシュ通知情報に優先度が設定されていない場合、処理順が最後になるように記憶部120に保存される。例えば、記憶部120に保存されているプッシュ通知情報のうち、最後に処理をされるプッシュ通知情報が「No.3」である場合、配信されたプッシュ通知情報は「No.4」として保存される。そして、アプリケーション102は、処理を終了する。
S1502において、アプリケーション102は、記憶部120に保存されているプッシュ通知情報の優先度を取得する。
S1504において、アプリケーション102は、記憶部120に保存されているプッシュ通知情報のうち、配信されたプッシュ通知情報に設定されている優先度と同じ優先度のプッシュ通知情報があるかを判定する。具体的には、例えば配信されたプッシュ通知情報の「priority」に「high」と記載されている場合、保存されているプッシュ通知情報の「priority」に「high」と記載されているかを判定する。アプリケーション102は、S1504でYESの場合、S1505に進み、S1504でNOの場合、S1506に進む。
S1505において、アプリケーション102は、配信されたプッシュ通知情報を、保存されているプッシュ通知情報のうち、同じ優先度かつ配信日が最も新しい配信日であるプッシュ通知情報の次に処理が実行されるように記憶部120に保存される。例えば、記憶部120に保存されているプッシュ通知情報のうち、同じ優先度かつ配信日が最も新しい配信日であるプッシュ通知情報が「No.3」である場合、配信されたプッシュ通知情報は「No.4」として保存される。そして、アプリケーション102は、処理を終了する。
S1506において、アプリケーション102は、配信されたプッシュ通知情報を、保存されているプッシュ通知情報のうち、優先度が一つ高く、かつ配信日が最も新しい配信日であるプッシュ通知情報の次に処理が実行されるように記憶部120に保存される。例えば、記憶部120に保存されているプッシュ通知情報のうち、優先度が一つ高く、かつ配信日が最も新しい配信日であるプッシュ通知情報が「No.3」である場合、配信されたプッシュ通知情報は「No.4」として保存される。そして、アプリケーション102は、処理を終了する。
図16は、実施形態1の構成において複数のプッシュ通知情報が保存されている場合に、アプリケーション102が実行するプッシュ通知情報に基づく通知の表示処理を示したフローチャート図である。以降、アプリケーション102を各処理の主体として説明することもあるが、実際には、対応するプログラムを端末装置100内のCPU110などのプロセッサが実行することで、対応する機能が実現されることになる。なお、全ての処理は必ずしも一つのプロセス上で逐次的に実行されるものではなく、一度OS側に処理が移り、再度OSから呼び出されるようなケースもあり得る。あくまで主要な処理を、便宜的にわかりやすく示したフローである。
図16のフローは、図6と同様に、図3のS110においてプッシュ通知情報が記憶部120に保存されることにより開始する。
S1601において、アプリケーション102は、図13に示す、記憶部120に保存されているプッシュ通知情報から「No.」に示す処理順に従い処理対象のプッシュ通知を決定する。
S1602~S1612の処理は、図6のS601~S611と同様の処理のため説明を省略する。
S1613において、アプリケーション102は、記憶部120に保存されているプッシュ通知情報があるかを判定する。S1613でYESの場合、S1610に進み、S1613でNOの場合、処理を終了する。アプリケーション102は、S1610においてタイマーを起動させ、S1611において所定の時間が経過したと判定された場合、S1601に戻り、再度「No.」に示す処理順に従い処理対象のプッシュ通知を決定し、処理を実行する。これにより、記憶部120に保存されている全てのプッシュ通知情報において表示処理を繰り返す。
図17は、実施形態2の構成において複数のプッシュ通知情報が保存されている場合に、アプリケーション102が実行するプッシュ通知情報に基づく通知の表示処理を示したフローチャート図である。
図17のフローは、図12と同様に、印刷ワークフローアプリケーションが印刷指示に基づいて起動されることにより開始する。なお、印刷指示は、描画アプリケーションが提供する印刷設定画面やOSが提供する印刷設定画面において、ユーザにより印刷開始が指示された場合に発行され、印刷ワークフローアプリケーションが起動する。
S1701~S1704は、図12のS1201~S1204と同様の処理のため説明を省略する。
S1705において、印刷ワークフローアプリケーションは、図13に示す、記憶部120に保存されているプッシュ通知情報から「No.」に示す処理順に従い処理対象のプッシュ通知を決定する。
S1706~S1711の処理は、図12のS1205~S1210と同様の処理のため説明を省略する。
S1712において、アプリケーション102は、記憶部120に保存されているプッシュ通知情報があるかを判定する。S1712でYESの場合、S1605に戻り、S1712でNOの場合、処理を終了する。アプリケーション102は、S1605において再度「No.」に示す処理順に従い処理対象のプッシュ通知を決定し、処理を実行する。これにより、記憶部120に保存されている全てのプッシュ通知情報において表示処理を繰り返す。
以上、本実施形態では、複数のプッシュ通知情報が保存されている場合においても、配信されたプッシュ通知がユーザにとって必要と思われるタイミングで表示される。また、図14に示す1401で通知の優先度を設定することにより、ベンダー等のサービス提供者が優先的に表示させたいプッシュ通知を優先的に表示することも可能となる。
(その他の実施形態)
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
100 端末装置
200 印刷装置
300 プッシュ通知サーバー
400 管理サーバー
101 オペレーティングシステム
102 アプリケーション

Claims (19)

  1. プログラムであって、
    情報処理装置と通信可能な通信装置の情報を取得する第1取得ステップと、
    前記情報処理装置と通信可能な管理サーバーによって作成された通知情報を取得する第2取得ステップと、
    前記取得された前記通信装置の情報が、前記取得された前記通知情報に含まれる情報に対応する出力条件を満たすかを判定する第1判定処理を実行するステップと、
    前記第1判定処理において前記通信装置の情報が前記出力条件を満たすと判定された場合、前記通知情報に基づく通知を出力させる第1出力ステップと、
    を前記情報処理装置のコンピュータに実行させるプログラム。
  2. 前記通知情報に出力条件が指定されているかを判定する第2判定処理を実行する第2判定ステップと、
    前記第2判定処理において前記通知情報に前記出力条件が指定されていると判定された場合、前記第1判定処理を実行するステップと、
    を前記情報処理装置のコンピュータにさらに実行させる請求項1に記載のプログラム。
  3. 前記第2判定処理において前記通知情報に前記出力条件が指定されていないと判定された場合、前記第1判定処理を実行するステップを実行せずに、前記通知情報に基づく通知が出力されることを特徴とする請求項2に記載のプログラム。
  4. 前記取得された通知情報は、前記管理サーバーから送信され、前記情報処理装置の記憶部に保存された通知情報であることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
  5. 前記第1判定処理において、前記通信装置の情報が前記出力条件を満たすと判定されなかった場合、前記通知情報を出力しないことを特徴とする請求項1乃至4の何れか1項に記載のプログラム。
  6. 前記通信装置の情報は、前記通信装置のステータス情報であり、
    前記出力条件は、前記通信装置のステータスに関する条件であることを特徴とする請求項1乃至5の何れか1項に記載のプログラム。
  7. 前記通信装置のステータスに関する条件として前記通信装置が第1のステータスであることが条件である場合、
    前記通信装置のステータス情報として前記第1のステータスを示す情報が取得された場合、前記通信装置の情報は前記出力条件を満たすと判定され、
    前記通信装置のステータス情報として前記第1のステータスとは異なる第2のステータスを示す情報が取得された場合、前記通信装置の情報は前記出力条件を満たすと判定されないことを特徴する請求項6に記載のプログラム。
  8. 前記通知情報に有効期限が指定されているかを判定する第3判定ステップと、
    前記第3判定ステップにおいて前記有効期限が指定されていた場合、前記通知情報が前記有効期限内かを判定する第4判定ステップと、
    を前記情報処理装置のコンピュータにさらに実行させ、
    前記第4判定ステップにおいて前記通知情報が前記有効期限内であると判定された場合、前記第1判定処理を前記情報処理装置のコンピュータに実行させることを特徴とする請求項1乃至7の何れか一項に記載のプログラム。
  9. 前記第4判定ステップにおいて前記通知情報が前記有効期限内でないと判定された場合、前記通知情報に基づく通知は出力されずに、前記通知情報は削除されることを特徴とする請求項8に記載のプログラム。
  10. 前記通知情報に基づく通知が出力された後、前記通知情報は削除されることを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
  11. 前記通信装置に対する印刷指示に基づいて、前記通信装置の情報が取得されることを特徴とする請求項1乃至10の何れか1項に記載のプログラム。
  12. 前記第1判定処理を実行する前に、前記通信装置の情報を出力する第2出力ステップを、前記情報処理装置のコンピュータにさらに実行させる請求項1乃至11の何れか1項に記載のプログラム。
  13. 前記第1判定処理において、前記通信装置の情報が前記出力条件を満たすと判定されなかった場合、所定の時間が経過したかを判定する処理を前記情報処理装置のコンピュータに実行させ、前記所定の時間が経過したと判定された場合、前記通信装置の情報が新たに取得されることを特徴とする請求項1乃至12の何れか1項に記載のプログラム。
  14. 複数の前記通知情報が取得される場合、複数の前記通知情報のうち、優先度が高い通知情報を特定する特定ステップをさらに実行させ、前記優先度が高い通知情報から順番に前記第1判定処理を前記情報処理装置のコンピュータに実行させるように、前記記憶部に保存することを特徴とする請求項4に記載のプログラム。
  15. 前記第1判定処理において前記通信装置の情報が前記出力条件を満たすと判定された場合、前記通知情報に基づく通知をオペレーティングシステムに出力させることを特徴とする請求項1乃至14の何れか一項に記載のプログラム。
  16. 前記情報処理装置の画面表示により前記通知が出力されることを特徴とする請求項1乃至15の何れか一項に記載のプログラム。
  17. 音声により前記通知が出力されることを特徴とする請求項1乃至15の何れか一項に記載のプログラム。
  18. サーバーシステムと、情報処理装置と、前記情報処理装置と通信可能な通信装置と、を備えるシステムであって、
    前記サーバーシステムは、
    出力条件が指定された通知情報を作成する作成手段と、
    前記作成された通知情報を送信する送信手段と、
    を有し、
    前記情報処理装置は、
    前記通信装置の情報を取得する第1取得手段と、
    前記送信された通知情報を取得する第2取得手段と、
    前記取得された前記通信装置の情報が、前記取得された前記通知情報に含まれる情報に対応する出力条件を満たすかを判定する第1判定処理を実行する第1判定手段と、
    前記第1判定処理において前記通信装置の情報が前記出力条件を満たすと判定された場合、前記通知情報に基づく通知を出力させる第1出力手段と、
    を有するシステム。
  19. サーバーシステムと、通信装置と、を備えるシステムであって、
    前記サーバーシステムは、
    前記通信装置から送信された前記通信装置の情報に基づく通知を行うかを判定するための出力条件が指定された通知情報を作成する作成手段と、
    前記作成された通知情報を送信する送信手段と、
    を有し、
    前記通信装置は、前記通信装置と通信可能な情報処理装置に前記通信装置の情報を送信する送信手段を有するシステム。
JP2021104934A 2021-06-24 2021-06-24 プログラム、情報処理装置 Pending JP2023003699A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021104934A JP2023003699A (ja) 2021-06-24 2021-06-24 プログラム、情報処理装置
US17/845,733 US20220417373A1 (en) 2021-06-24 2022-06-21 Storage medium and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021104934A JP2023003699A (ja) 2021-06-24 2021-06-24 プログラム、情報処理装置

Publications (1)

Publication Number Publication Date
JP2023003699A true JP2023003699A (ja) 2023-01-17

Family

ID=84542828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021104934A Pending JP2023003699A (ja) 2021-06-24 2021-06-24 プログラム、情報処理装置

Country Status (2)

Country Link
US (1) US20220417373A1 (ja)
JP (1) JP2023003699A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7467022B2 (ja) * 2017-07-13 2024-04-15 キヤノン株式会社 システムおよび制御方法
JP7171256B2 (ja) * 2018-06-14 2022-11-15 キヤノン株式会社 通信システム、制御方法及びプログラム
JP2021189693A (ja) * 2020-05-28 2021-12-13 キヤノン株式会社 情報処理システム、情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20220417373A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US8958095B2 (en) Relay server, relay server control method, and storage medium
US11315169B2 (en) Information distribution system and electronic device
US8817281B2 (en) Print setting server, document processing server, print system, and print setting method
US8582162B2 (en) Information processing apparatus, output method, and storage medium
JP5462610B2 (ja) 情報処理システム、情報処理装置、それらの制御方法、及びプログラム
CN108616671B (zh) 电子设备、信息分发系统、信息分发方法及存储介质
JP5866921B2 (ja) 印刷システム、印刷装置及びプログラム
JP2015176293A (ja) 情報処理装置、印刷システム、制御方法およびコンピュータプログラム
JP2018097833A (ja) 情報配信システム、電子機器
JP5817766B2 (ja) 情報処理装置、通信システム及びプログラム
US20150046556A1 (en) Information processing apparatus, method of controlling the same, non-transitory computer-readable storage medium, and information processing system
US20130050753A1 (en) Printing apparatus, printing method, and storage medium
JP7302181B2 (ja) 情報処理システム及び情報処理方法
US9172689B2 (en) Image processing apparatus, method of controlling the same and storage medium thereof
US20230063244A1 (en) Information processing apparatus, information processing method and storage medium
US20110239121A1 (en) Information processing apparatus, information processing system, information processing method, and computer readable medium storing information processing program
JP2023003699A (ja) プログラム、情報処理装置
JP2014049098A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
US9411826B2 (en) Image processing apparatus control method and program
JP2019185618A (ja) 印刷システムおよび印刷管理装置および制御方法
JP6175880B2 (ja) 文書出力装置、文書出力装置の制御方法、および文書出力装置の制御プログラム
JP7286274B2 (ja) システム、管理サーバシステム、及び制御方法
JP2010102488A (ja) 更新監視システム、ウェブサーバ、プリンタおよび更新監視方法
JP7423278B2 (ja) 端末装置、制御方法、およびプログラム
JP2013020455A (ja) 画像処理システム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213