以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
また、以下では稼働情報の収集対象機器がプリンター(印刷装置)である例について説明するが、収集対象機器は他の機器に拡張可能である。ここでの他の機器とは、例えば用紙再生装置やロボットなどのプリンター以外の生産機器である。
1.稼働情報収集システム
図1は、本発明にかかる稼働情報収集システムの一例を模式的に示す図である。稼働情報収集システム1は、プリンター3の稼働情報を、情報処理装置5を介して収集するサーバーシステム7と、端末装置9を含む。サーバーシステム7は、収集した稼働情報を端末装置9に対して送信する。なお端末装置9に送信される情報は、サーバーシステム7が収集した全ての稼働情報を対象にする必要はない。例えば、サーバーシステム7は稼働情報の一部を抽出した情報、或いは稼働情報に対して統計処理等の加工処理を行った情報を端末装置9に対して送信してもよい。端末装置9は、サーバーシステム7から受信した情報の表示部での表示、或いは鳴動等による報知を行う。
ただし、稼働情報収集システム1を含むシステムは図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。例えば、図1から情報処理装置5を省略し、各プリンター3が直接ネットワークNE2(インターネット)に接続されてもよい。
図1に示したように、複数のプリンター3及び情報処理装置5は、ネットワークNE1に接続されており、ネットワークNE1を介して双方向に通信可能である。また、情報処理装置5及びサーバーシステム7は、ネットワークNE2に接続されており、ネットワークNE2を介して双方向に通信可能である。また、端末装置9もネットワークNE2に接続されており、サーバーシステム7と端末装置9は、ネットワークNE2を介して双方向に通信可能である。
例えば、ネットワークNE1はLAN(Local Area Network)であり、ネットワークNE2はインターネットである。ただし、LANやインターネットは通信回線の一例として示したものであり、プリンター3と情報処理装置5との間、情報処理装置5とサーバーシステム7との間、サーバーシステム7と端末装置9との間を接続する通信回線の具体的構成はこれらに限られない。
複数のプリンター3、LAN、及び情報処理装置5で構成されるシステム10は、各プリンター3の稼働情報を情報処理装置5により収集して、外部のサーバーシステム7へ送信する。この情報処理装置5は、例えば同一企業の施設内に構築される装置であり、PC(Personal Computer)であってもよいし、企業内のサーバーであってもよい。なお、図1では、1つのシステム10が記載されているが、複数のシステム10がサーバーシステム7に接続されてもよい。
プリンター3は、図2を用いて後述するように表示部333を含む。そのため、ユーザーがプリンター3の近くで作業をしていれば、表示部333に表示される稼働情報を閲覧することで、プリンターの状態を認識可能である。しかし、ユーザーがプリンター3から離れて作業することも考えられる。
例えば、従業員が少ない中小規模の企業(事業所)では、ユーザーがプリンター3の操作の他に、経理や営業、生産物の納品と行った業務を行う必要があり、プリンター3から離れる場面が発生する。そのためプリンター3の稼働状態を、ユーザーが操作する端末装置9を用いて確認できるシステムの構築が重要となる。具体的には、端末装置9が、サーバーシステム7が収集した稼働情報に基づく情報の受信、表示、報知等を行うことで、ユーザーはプリンター3の稼働状態の遠隔監視を行う。
また、比較的規模の大きい事業所であれば、各プリンター3(各生産ライン)に人員を配置することが可能である。しかし複数の生産ラインを統括する管理者は、全てのプリンター3の表示部333を常時確認することはできない。そのため、作業の全体的な進捗を適切に把握するためには、端末装置9での情報の表示等が重要となり、図1に示した稼働情報収集システム1は、この場合にも有用である。
なお、図1では1つの端末装置9を図示したが、端末装置9が複数であってもよい。例えば1つのシステム10を利用する企業内の複数のユーザーが、それぞれ端末装置9を利用した情報の受信、閲覧を行ってもよい。また、サーバーシステム7に複数のシステム10が接続される場合に、各システム10について、それぞれ1又は複数個の端末装置9が用いられてもよい。
2.各装置の詳細な構成例
次に、プリンター3、情報処理装置5、サーバーシステム7、端末装置9の構成例についてそれぞれ説明する。
2.1 プリンター
図2は、プリンター3の構成の一例を示すブロック図である。プリンター3は、処理部31、インターフェース部33、印刷部35及び記憶部37を備える。処理部31は、プリンター3で実行される動作を統括的に制御する。この処理部31の機能は、CPU(Central Processing Unit)等の各種プロセッサー、ASIC(Application Specific Integrated Circuit、ゲートアレイ等)などのハードウェアや、プログラムなどにより実現できる。インターフェース部33、印刷部35及び記憶部37は、処理部31の制御を受けて動作する。
インターフェース部33は、通信部331、操作部332、及び表示部333を含む。通信部331はLANに接続され、LANを介して情報処理装置5との通信を実行する。また、操作部332は、ユーザーからの入力操作を受け付けるボタン等で構成され、表示部333はプリンター3に関する各種情報をユーザーに表示するディスプレイ等で構成される。なお、操作部332及び表示部333は、例えばタッチパネルにより一体的に構成してもよい。
印刷部35は、印刷エンジン351、センサー352、及びカウンター353を含む。印刷エンジン351は、印刷媒体への画像の印刷を実行する機械的構成である。この印刷エンジン351は、ロール・トゥ・ロールで搬送される巻取式の印刷媒体に対してインクジェット方式の吐出ヘッドからインクを吐出することで、印刷媒体に画像を印刷する。なお、印刷エンジン351の具体的構成はここで例示したものに限られず、印刷エンジン351は枚葉式の印刷媒体に印刷するものでも構わないし、レーザー方式でトナーにより印刷するものでも構わない。センサー352は、印刷エンジン351の稼働状態に関わる各種の物理量を検出し、カウンター353は、印刷エンジン351の稼働に伴って変化する各種の数値を計数する。
印刷エンジン351の稼働状態を示す物理量としては、例えば印刷エンジン351の電気部品に印加される電圧、印刷エンジン351内の温度及び湿度、吐出ヘッドや印刷媒体の位置等がある。これらの物理量を検出するために、電圧センサー、温湿度センサー、位置センサー、加速度センサー等の各種のセンサー352が設けられる。また、印刷エンジン351の稼働に伴って変化する数値としては、例えば印刷エンジン351の電源投入後の経過時間、印刷された印刷媒体の積算長、インクの消費量(あるいは残量)、回転する機械部品(例えば印刷媒体を搬送するローラー)の積算回転量等がある。そして、これらの数値を計数するために各種のカウンター353が設けられる。
記憶部37は、HDD(Hard Disk Drive)、ROM(Read Only Memory)、或いはRAM(Random Access Memory)といった記憶媒体で構成される。記憶部37は、プリンター3のステータス情報(エラーや警告等)、プリンター3で実行されるジョブの識別情報(ジョブ名)、ジョブの進捗を表す情報(印刷時間情報、進捗情報)、或いはセンサー352及びカウンター353から出力されるデータ等を、プリンター3の稼働状況を表す稼働情報として記憶する。
2.2 情報処理装置
図3は、情報処理装置5の構成の一例を示すブロック図である。情報処理装置5は、処理部51、インターフェース部53及び記憶部55を備え、複数のプリンター3それぞれの記憶部37へアクセスして稼働情報を収集し、収集した稼働情報をサーバーシステム7に送信する情報仲介動作を実行する。処理部51は、CPU等のプロセッサーであり、インターフェース部53及び記憶部55を用いつつ情報仲介動作を実行する。
インターフェース部53は、通信部531、操作部532、及び表示部533を含む。通信部531は、LAN及びインターネットに接続され、LANを介して各プリンター3との通信を実行するとともに、インターネットを介してサーバーシステム7との通信を実行する。また、操作部532は、ユーザーからの入力操作を受け付けるマウス及びキーボード等で構成され、表示部533は、各種情報をユーザーに表示するディスプレイ等で構成される。なお、操作部532及び表示部533は、例えばタッチパネルにより一体的に構成してもよい。
記憶部55は、HDD、ROM或いはRAMといった記憶媒体で構成され、通信部531がプリンター3から受信した稼働情報を記憶する。情報処理装置5は、複数のプリンター3からの稼働情報を取得することもあるため、記憶部55は、プリンター3の識別情報(プリンターID)と、上記ステータス情報等の各情報を関連付けて記憶する。
2.3 サーバーシステム
図4は、サーバーシステム7の構成の一例を示すブロック図である。サーバーシステム7は、処理部71(プロセッサー)、通信部731(通信インターフェース)、及び記憶部75(記憶装置、メモリー)を備え、情報処理装置5が収集した稼働情報を受信するとともに、端末装置9に対して稼働情報を送信する。処理部71の機能は、CPU等の各種プロセッサー、ASICなどのハードウェアや、プログラムなどにより実現でき、処理部71は通信部731及び記憶部75を用いて所定の動作を実行する。
通信部731は、インターネットに接続され、インターネットを介して情報処理装置5、或いは端末装置9との通信を実行する。なお、サーバーシステム7は、不図示の操作部や表示部を含んでもよい。操作部は、ユーザーからの入力操作を受け付けるマウス及びキーボード等で構成され、表示部は、各種情報をユーザーに表示するディスプレイ等で構成される。ただし、サーバーシステム7が操作部や表示部を含まず、外部装置(管理用端末装置)を用いてサーバーシステム7の管理が行われてもよい。例えば、サーバーシステム7はWebサーバーとしての機能を有し、外部装置で動作するソフトウェア(Webブラウザー)を用いて操作が行われ、当該外部装置の表示部に種々の情報が表示される態様であってもよい。
記憶部75は、HDD、ROM或いはRAMといった記憶媒体で構成される。記憶部75は、プリンター3からの稼働情報と、報知設定情報を記憶する。記憶部75は、データベース(狭義にはリレーショナルデータベース)であってもよく、記憶部75は、稼働情報テーブルと報知設定情報テーブルを記憶する。稼働情報テーブルは、稼働情報を記憶するテーブルである。報知設定情報テーブルは、端末装置9に対するプッシュ通知を行う場合に利用されるテーブルである。
なお、サーバーシステム7は、1台のサーバーで実現されるものに限定されない。例えばサーバーシステム7は、稼働情報テーブル等を記憶するデータベースサーバー(記憶部75)と、端末装置9との情報の送受信を行うアプリケーションサーバー(処理部71、通信部731の一部)を含んでもよい。或いは、サーバーシステム7は負荷分散用のサーバーや、端末装置9へのプッシュ通知用のサーバーを含んでもよい。さらに、データベースサーバーやアプリケーションサーバー等を複数台のサーバーの分散動作により実現してもよい。また、サーバーシステム7を構成する各サーバーは、仮想化されたサーバー(仮想サーバー)であってもよい。この場合、各仮想サーバーは、同一のサーバー(物理サーバー)上で動作してもよいし、異なる物理サーバー上で動作してもよい。また、サーバーシステム7は、通信負荷等をモニタリングすることで動的なスケーリング(例えば仮想サーバーの数の動的な変更)が行われてもよい。即ち、本実施形態のサーバーシステム7は、物理サーバーの数、サーバーを仮想化する場合の仮想サーバーの数、或いは仮想サーバーと物理サーバーとの対応関係等に関して、種々の変形実施が可能である。
2.4 端末装置
図5は、端末装置9の構成の一例を示すブロック図である。端末装置9は、処理部91(プロセッサー)、インターフェース部93、及び記憶部95(記憶装置、メモリー)を備え、サーバーシステム7が収集した稼働情報を受信する。処理部91の機能は、CPU等の各種プロセッサー、ASICなどのハードウェアや、プログラムなどにより実現できる。
インターフェース部93は、通信部931(通信インターフェース)、操作部932、表示部933、及び報知部934を含む。通信部931は、インターネットに接続され、インターネットを介してサーバーシステム7との通信を実行する。操作部932は、ユーザーからの入力操作を受け付けるボタン等で構成され、表示部933は、各種情報をユーザーに表示するディスプレイ等で構成される。なお、操作部932及び表示部933は、例えばタッチパネルにより一体的に構成してもよい。報知部934は、ユーザーに対する報知を行う。報知部934は、例えば音による報知を行うスピーカーであってもよいし、振動による報知を行う振動部(振動モーター)であってもよいし、これらの組み合わせであってもよい。
記憶部95は、HDD、ROM或いはRAMといった記憶媒体で構成される。記憶部95は、サーバーシステム7からの稼働情報の取得処理や表示処理等を行うソフトウェア(アプリケーション)を記憶してもよい。また記憶部95は、サーバーシステム7から受信した稼働情報を記憶する。
3.稼働情報の通信
次に、図1~図5に示した各装置間での稼働情報の送受信手法について説明する。
3.1 プリンターと情報処理装置との間の通信
図6は、プリンター3の記憶部37における稼働情報の記憶態様を模式的に示す図である。図6に示すように、記憶部37では、稼働情報の種類とメモリーのアドレスとが対応付けられており、各稼働情報はその種類に対応するアドレスに格納される。具体例を挙げると、電源投入後経過時間の値を示す稼働情報v1は、その種類に対応するアドレスa1に格納される。ただし、記憶部37は、稼働情報と、当該稼働情報の更新時刻(タイムスタンプ)を関連付けて記憶する等の変形実施が可能である。
プリンター3の処理部31や、印刷部35(センサー352、カウンター353)では、定期的に(狭義には常時)稼働状態を監視し、稼働状態が変化した場合に、記憶部37の稼働情報が更新される。
情報処理装置5の処理部51(通信部531)は、ポーリングを行い、LANを介して接続される1又は複数のプリンター3から定期的に稼働情報を取得する。
図6に示したようにプリンター3の記憶部37で、稼働情報の種類とアドレスとが対応付けられている場合であれば、処理部51は、収集対象となる稼働情報に対応するアドレスにアクセスし、当該アドレスに格納された稼働情報を収集する。例えば、処理部51は、前回収集した情報に対して変化があった情報を収集対象とする。或いは、処理部51は、プリンター3の機種、ファームウェアバージョン等に基づいて、プリンター3ごとに収集対象となる稼働情報を決定する。
図7は、情報処理装置5の記憶部55に記憶される稼働情報の記憶態様を模式的に示す図である。図7に示すように記憶部55には、稼働情報が、プリンター3の識別情報(ID、シリアル番号)、及び取得時間情報と関連付けられて記録される。なお、図7では省略しているが、記憶部55は、図6の例と同様に、情報の種類(「Yインク消費量」等)と、具体的な値(インク消費量であれば、吐出回数、体積、割合等)との組み合わせを、稼働情報として記憶する。
3.2 情報処理装置とサーバーシステムとの間の通信
図8は、情報処理装置5(プリンター3)、サーバーシステム7、及び端末装置9の通信態様を模式的に示す図である。サーバーシステム7は、情報処理装置5から送信される稼働情報を受信し、記憶部75の稼働情報テーブルに記憶する。サーバーシステム7の通信部731は、複数の通信処理により、情報処理装置5から(或いはプリンター3から直接)稼働情報を受信する。例えば通信部731は、通信接続の確立後、通信接続の確立状態が維持される第1の通信処理と、通信接続の確立後、情報が受信されると通信接続が切断される第2の通信処理と、を行う。第1の通信処理とは、例えばMQTT(Message Queueing Telemetry Transport)を用いた通信処理であり、第2の通信処理とは、例えばHTTP(Hypertext Transfer Protocol)を用いた通信処理である。なお、通信部731(及び通信部531及び通信部931)は、SSL(Secure Sockets Layer)等を用いたセキュアな接続により、第1の通信処理及び第2の通信処理を実現してもよい。
通信部731は、図8のA1に示したように、リアルタイム性の高い稼働情報である第1の情報を、第1の通信処理により受信する。第1の情報とは、例えばプリンター3のステータス(ステータス変化)を表す情報である。プリンター3が通常動作状態(印刷中)から、警告状態やエラー状態に移行した場合、ジョブ(印刷)の継続や再開のためには、ユーザーがプリンター3の所まで戻って何らかの作業を行う必要性が高い。警告状態とは、印刷を継続できないおそれがある状態(例えばインク残量低下等)であり、エラー状態とは、何らかの異常により印刷動作が停止した状態を表す。或いは、プリンター3でのジョブが終了し、通常動作状態(印刷中)からアイドル状態(待機中)に移行した場合、ユーザーがプリンター3の所まで戻って新規ジョブを投入することで、プリンター3を効率的に動作させることが可能になる。よって印刷中から待機中へのステータス変化も、リアルタイム性の高い情報である。
よってステータス変化を表す情報は、プリンター3でのステータス変化発生後、できるだけ早くサーバーシステム7(及び端末装置9)に送信されることが望ましい。よって、例えば情報処理装置5の通信部531(或いはプリンター3の通信部331)は、ステータス変化を表すイベントが発生した場合に、当該イベント発生をトリガーとして(イベントドリブンで)、サーバーシステム7に対してMQTTを用いて稼働情報を送信する。
具体的には、通信部531(通信部331)は、イベントが発生した場合に、即座(リアルタイム)に稼働情報をサーバーシステム7に対して送信する。このようにすれば、サーバーシステム7は、リアルタイム性が高い情報を適切に受信することが可能になる。
図9は、稼働情報のうちの第1の情報の具体例、及び各情報に対応するイベントの具体例である。第1の情報としては、上記ステータス情報の他、ジョブ完了までの残り時間を表す残り時間情報、消耗材(液体インクやトナー等、或いは紙や布等の印刷媒体)の消費量或いは残量情報、プリンター3で実行しているジョブ名の情報、等が考えられる。
図9に示したように、ステータス情報は、「印刷中」「待機中」「警告」「エラー」のいずれかの値をとる。「印刷中」は上記通常動作状態に対応し、「待機中」はアイドル状態に対応し、「警告」は警告状態に対応し、「エラー」はエラー状態に対応する。そして、サーバーシステム7にステータス情報を送信するトリガーになるイベントとは、ステータス情報の値が変化するイベントである。なお、プリンター3、情報処理装置5、及びサーバーシステム7の各機器は、「警告」又は「エラー」への遷移と、「印刷中」又は「待機中」への遷移を別イベントとして分けて管理してもよい。前者はプリンター3の動作が停止した、或いは停止するおそれがあるという異常状態を表すイベントであるのに対して、後者は印刷開始や終了という正常動作における始点、終点を表すイベントである。
残り時間情報は、印刷完了までの残り時間を表す情報であり、例えば残り時間の時分を表す情報である。また残り時間情報に代えて、印刷完了時刻を表す印刷完了時刻情報を第1の情報としてもよい。サーバーシステム7に残り時間情報を送信するトリガーになるイベントとは、残り時間情報が変化するイベントである。例えば、プリンター3や情報処理装置5は、印刷中にフラッシング動作が発生し、残り時間が増加した場合に、イベント発生と判定する。
消耗材の残量情報は、液体インクやトナーの残量、印刷媒体の残量である。インク残量は、例えばインクタンクの容量を100%とした場合の残量の割合であり、単位は%である。印刷媒体の残量は、例えば枚数であってもよいし、ロール紙等を用いる場合は長さ(単位:m)であってもよい。サーバーシステム7に消耗材の残量情報を送信するトリガーになるイベントとは、残量が所定量(所定割合、所定枚数、所定長さ)だけ変化したイベントであってもよいし、残量が所与の閾値を下回ったイベントであってもよい。また、消耗材の情報は、残量情報ではなく消費量情報を用いてもよい。
ジョブ名の情報は、例えば印刷対象となるファイル名(画像ファイル名等)である。サーバーシステム7にジョブ名を送信するトリガーになるイベントとは、新たなジョブの実行を表すイベントである。なお、新たなジョブの実行を表すイベントは、「待機中」から「印刷中」への遷移イベント(印刷開始イベント)と同様のイベントとして、プリンター3等で管理されてもよい。また、ジョブ名については、実行中のジョブ名に限定されず、過去に実行した所定数のジョブのジョブ名(ジョブ履歴情報)に拡張することも可能である。
なお、通信部531(通信部331)は、第1の情報の種類によっては、サーバーシステム7への情報送信の間引きを行ってもよい。具体的には、通信部531は、前回の情報送信後、所定期間(例えば数分)は新たなイベントが発生しても情報の送信を行わない。このようにすれば、情報処理装置5(プリンター3)とサーバーシステム7との間の通信負荷を軽減することが可能になる。例えば、サーバーシステム7の通信部731は、第1の情報の中でも特にリアルタイム性の高いステータス情報はイベント発生後、即座に受信し、他の情報については受信頻度に上限を設定する。
以上の第1の情報に対して、印刷部35のローラーの回転量や、ヘッダーの往復回数、クリーニングの実行回数などのカウント結果である第2の情報は、プリンター3の長期的なメンテナンスには有用であるが、カウントアップが行われてから数分以内にユーザーに閲覧させる必要性は低い。よって、サーバーシステム7の通信部731は、図8のA2に示したように、HTTP等を用いて第2の情報を情報処理装置5から受信する。そして、HTTPを用いた第2の情報の受信は、第1の情報に比べて低い頻度で(例えば1日に数回程度)行われる。
3.3 サーバーシステムと端末装置との間の通信
サーバーシステム7と端末装置9との間の通信も複数の経路が考えられる。図8のB1に示したように、サーバーシステム7の通信部731は、端末装置9に対するプッシュ通知を行い、端末装置9は、通信部931によるプッシュ通知の受信、及び報知部934による報知(鳴動)を行う。言い換えれば、プッシュ通知は、サーバーシステム7側が主体となって稼働情報を送信する通信処理である。
プッシュ通知が行われる情報は、第1の情報の中でも特にリアルタイム性の高い情報である。具体的には、上述した情報のうち、ステータス情報の変化は、プッシュ通知により端末装置9に対して送信される。なお、プッシュ通知により送信される情報は、変化後のステータス情報そのものである。或いは、プッシュ通知ではステータス情報の変化があったことを表す情報(例えば「エラー発生」等)のみを送信し、具体的なステータス情報は、後述するB2に示した通信で送信されてもよい。
なお、サーバーシステム7(処理部71)は、端末装置9に対してプッシュ通知を行うか否かを、記憶部75の報知設定情報テーブルに基づいて判定する。報知設定テーブルは、例えば、端末装置9の識別情報と、報知対象となるプリンター3の識別情報と、報知可能な時間帯と、報知可能な曜日と、が対応付けられた情報である。このようにすれば、サーバーシステム7は、ユーザーに対して適切なタイミングで、適切な情報をプッシュ通知することが可能になる。例えば処理部71(通信部731)は、所与のユーザーが所属する会社が複数のプリンター3を所有している場合に、当該ユーザーが管理を担当しているプリンターの情報に限定してプッシュ通知を行ったり、ユーザーの勤務時間外(例えば深夜や休日)ではプッシュ通知を行わないといった制御が可能になる。
ステータス情報と比較した場合、残り時間情報、消耗材の残量情報、ジョブ名については優先度が低く、ユーザーから(端末装置9から)のリクエストがあった場合に受信される態様であっても問題が生じにくい。
よって図8のB2に示したように、端末装置9の通信部931は、サーバーシステム7(Webアプリケーションサーバー)に対してリクエストを送信し、サーバーシステム7は当該リクエストに対するレスポンスとして、稼働情報を返信する。この通信は、例えばHTTPを用いて行われ、端末装置9でのアプリケーションソフトウェア(いわゆるスマホアプリ)の起動時、或いはユーザーによる更新操作時に実行される。言い換えれば、B2に示したリクエスト/レスポンスによる通信は、端末装置9側(ユーザー側)が主体となって稼働情報を取得する通信処理である。
B2に示した通信では、端末装置9はサーバーシステム7から上記第1の情報を受信する。このようにすれば、端末装置9を用いたプリンター3の遠隔監視において有用な情報を、ユーザーに提示することが可能になる。なお、サーバーシステム7の通信部731は、上記第1の情報の全てを返信する必要はなく、一部の情報を返信してもよい。例えば、端末装置9のリクエストにおいて、第1の情報のうち、表示対象となる一部の情報のみが要求されている場合、サーバーシステム7の通信部731は要求された情報のみを返信する。
また、端末装置9からのリクエストがあった場合は、サーバーシステム7の通信部731は、B2に示した通信において、上記第2の情報をレスポンスとして返信することも妨げられない。
4.ジョブ完了時間情報(印刷完了時間情報)の表示、更新
次に、端末装置9でジョブ完了時間情報の表示を行う場合における、プリンター3側との通信手法について説明する。
4.1 第1の実施形態
図10は、端末装置9の表示部933に表示される表示画面の例である。端末装置9の通信部931は、複数のプリンター3の印刷時間情報を、ネットワークを介して受信し、処理部91は、複数のプリンター3の印刷時間情報が、一画面内に配置された表示画面を、表示部933に表示する処理を行う。より具体的には、処理部91は、複数のプリンター3の印刷完了までの残り時間情報が、一画面内に配置された表示画面を、表示部933に表示する処理を行う。なお、本実施形態では複数のプリンター3を表示対象とすることは必須ではなく、表示部933は1つのプリンター3の情報を表示してもよい。
図10の例では、表示部933は、3つのプリンターについての情報を表示する。例えば、E1に示した領域にはプリンター3の名称である「Printer-0001」(E11)とともに、稼働情報としてステータス情報(E12)、ジョブの進捗情報(E13)、ジョブ名(E14)、残り時間情報(E15)が表示されている。具体的には、「Printer-0001」という名称のプリンターは、現在「印刷中」というステータスであり、「Sample_image.pdf」というジョブ名のジョブを実行している。ここでは、ジョブ名は印刷対象としているファイル名である。そして当該ジョブ全体を100%としたときに、進捗は「1%」であり、印刷完了までの残り時間が「1時間45分」である。
また表示部933は、E2に示した領域において、「Printer-0002」という名称のプリンターが、現在「印刷中」というステータスであり、「Sample_image_Xmas.pdf」というジョブ名(印刷対象ファイル名)のジョブを実行しており、当該ジョブの進捗は「60%」であり、印刷完了までの残り時間が「45分」であることを表示している。
また表示部933は、E3に示した領域において、「Printer-0003」という名称のプリンターが、現在「待機中」(アイドル状態)というステータスであることを表示している。Printer-0003はアイドル状態であるため、ジョブ名、進捗情報、印刷完了時刻情報については表示されていない。
図10の表示画面を用いることで、複数のプリンター3の稼働状態を一覧性の高い態様でユーザーに提示することが可能になる。特に、残り時間情報が表示されるため、複数のプリンター3が表示対象となる場合にも、印刷完了までの残り時間の把握が容易である。例えば、図10の表示画面では、45分が経過する頃には2番目のプリンター(「Printer-0002」)のところまで戻って次のジョブを投入する準備をしなくてはならない、といった判断をユーザーに実行させることが可能である。
ただし、残り時間情報は時間の経過とともに減少していくと考えられる。そのため、図10のように、12:35時点で残り時間が「1時間45分」であったという情報が表示されたのに、時間が経過しても残り時間が変化しない場合、閲覧するユーザーに違和感を与えるおそれがある。よって、表示部933で表示される残り時間情報は、時間の経過とともに変化することが望ましい。
図11は、残り時間情報を更新する手法の例である。図11は、プリンター3側で発生するイベント、端末装置9で行われる処理、プリンター3側と端末装置9との間の通信を説明する模式図である。なお、図11の縦軸は時間を表す。また、プリンター3側には、情報処理装置5やサーバーシステム7が含まれる。例えば、図11に示すプッシュ通知は、プリンター3から情報処理装置5を介してサーバーシステム7に収集された情報を、サーバーシステム7の通信部731が端末装置9に対して送信するものである。換言すれば、ここではプッシュ通知のトリガーがプリンター3で発生するイベントであることを明示するために「プリンター3側」との表記を用いており、プリンター3から端末装置9への情報の送信は、少なくともサーバーシステム7を介して実行される。以上の点は、後述する図12~図15においても同様である。
図11の例では、まずプリンター3で印刷開始イベントが発生した場合に、サーバーシステム7は、プリンター3(情報処理装置5)からイベントドリブンで、ジョブ名及びジョブ開始時点で予測された残り時間情報を受信する。そしてサーバーシステム7は、端末装置9に対して、ジョブ名及び残り時間情報を送信する。これにより、端末装置9の表示部933では、ジョブ名とともに、印刷開始時点での残り時間情報の表示が可能になる。
なお、図8を用いて上述したように、サーバーシステム7と端末装置9の間の通信経路は複数(B1及びB2)考えられる。サーバーシステム7から端末装置9に対してプッシュ通知されるのは印刷開始を表す情報のみであり、ジョブ名や残り時間情報は、端末装置9からのリクエストに対するレスポンスとして送信されてもよい。或いは、プッシュ通知自体にジョブ名や残り時間情報が含まれてもよい。以下、図11~図15では説明を簡略化するために、「残り時間情報をプッシュ通知する」等の表現を用いるが、これは残り時間情報をB1の経路で送信するパターンと、B2の経路で送信するパターンのいずれにより実現されてもよい。
図11の例では、表示部933で表示される残り時間情報を更新するために、残り時間の変化をトリガーとして、プリンター3側から残り時間情報のプッシュ通知が行われる。例えば、残り時間が所定時間(例えば1分)少なくなるごとに、プリンター3からサーバーシステム7への残り時間情報の送信、及びサーバーシステム7から端末装置9への残り時間情報のプッシュ通知が行われる。このようにすれば、端末装置9の通信部931は、所定時間ごとに最新の残り時間情報を受信できる。そのため、表示部933は、プリンター3での印刷が完了するまで、精度の高い残り時間情報を表示することが可能である。
ただし、図11の例では、プリンター3(或いは情報処理装置5)とサーバーシステム7との間の通信、及びサーバーシステム7と端末装置9との間の通信が高頻度で発生してしまう。そのため、ネットワークの負荷が大きい。
図12は、残り時間情報を更新する手法の他の例である。プリンター3での印刷開始イベントをトリガーとして、端末装置9がジョブ名、及び印刷開始時点で予測された残り時間情報を受信する点は図11と同様である。図12の手法では、端末装置9の処理部91は、計時部からの計時情報に基づいて、残り時間情報のカウントダウン処理を行い、カウントダウン処理後の残り時間情報を、表示部933に表示する処理を行う。例えば、端末装置9がリアルタイムクロック等の計時部を含み、処理部91は当該リアルタイムクロックからの計時情報(時刻情報)に基づいてカウントダウン処理を行う。なお、ここでの計時情報は、絶対時刻を表す情報には限定されず、時間を測定可能な他の情報(例えばタイムスタンプ)等であってもよい。或いは、処理部91は、通信部931を介してネットワークNE2(狭義にはインターネット)から計時情報を取得し、当該計時情報に基づいてカウントダウン処理を行ってもよい。即ち、ここでの計時部は、端末装置9に含まれてもよいし、外部機器に含まれてもよい。
このようにすれば、残り時間情報に関する通信は印刷開始時に限定されるため、図11の例に比べてネットワークの負荷を小さくできる。プリンター3が利用する計時部と、端末装置9が利用する計時部の精度に大きな差は生じないと考えられるため、プリンター3が印刷開始時の予定通りに印刷を実行している場合には、端末装置9ではカウントダウン処理により、十分精度の高い残り時間情報を演算、表示することが可能である。
ただし、プリンター3では、事前に予測していた残り時間情報に誤差を生じさせるイベントが発生する可能性がある。例えばインクジェットプリンターでは、ノズルが目詰まりするとドット抜け等が発生して印刷品位が低下するおそれがあるため、目詰まりの抑制のためにフラッシングを行う。フラッシングとは、プリンター3のヘッドを印刷領域外となる位置へ移動させ、当該位置で各ノズルから一定量のインクを吐出させる動作である。
フラッシングと実際の印刷動作を同時に行うことはできないため、図12に示すように、プリンター3はフラッシング発生時には印刷動作を一旦停止し、フラッシングの終了後に印刷を再開する。つまり、フラッシングにより、印刷完了までの残り時間は、当初の予測よりも長くなってしまう。図12のように、端末装置9のカウントダウン処理のみで残り時間情報を更新する場合、プリンター3でのフラッシングによる印刷動作の遅れが、端末装置9の表示部933での表示に反映されない。結果として、端末装置9ではカウントダウンが終了している(残り時間が0になっている)にも関わらず、プリンター3での印刷が完了していないといった乖離が生じてしまう。
よって本実施形態では、プリンター3(広義には稼働情報の収集対象機器)での所定イベントの発生をトリガーとして、プリンター3側から端末装置9に対して残り時間情報の補正情報を送信する。具体的には、プリンター3からサーバーシステム7を介して、端末装置9に対して残り時間情報の補正情報が送信される。
本実施形態に係るサーバーシステム7は、少なくとも1つの収集対象機器の稼働情報を、ネットワーク(NE1,NE2)を介して収集するサーバーシステムであって、収集対象機器から、収集対象機器でのジョブ完了の予測時間を表すジョブ完了時間情報を受信する通信部731と、通信部731の通信制御を行う処理部71を含む。処理部71は、ジョブ完了時間情報を表示する端末装置9に対して、収集対象機器から受信したジョブ完了時間情報を通信部731に送信させる。さらにジョブ完了までの時間に変化を生じさせる所定イベント(予測されていたジョブ完了時間情報と、実際のジョブ完了までの時間に乖離を生じさせる所定イベント)が、収集対象機器において発生した場合に、ジョブ完了時間情報の補正情報を、端末装置9に対してプッシュ通知する。ここでのプッシュ通知は、受信側からのリクエストが無くても、送信側から情報の送信が行われる通信形態を表す。サーバーシステム7から端末装置9への補正情報の送信であれば、補正情報のプッシュ通知とは、サーバーシステム7が起点となって、端末装置9へ補正情報を送信することである。なお、収集対象機器側(プリンター3側)からのプッシュ通知には、収集対象機器からサーバーシステム7へのプッシュ通知、情報処理装置5からサーバーシステム7へのプッシュ通知も含まれる。
また、本実施形態に係る端末装置9は、少なくとも1つの収集対象機器の稼働情報を収集するサーバーシステム7に、ネットワークNE2を介して通信接続される端末装置であって、収集対象機器でのジョブの残り時間情報のカウントダウン処理を行う処理部91と、ジョブ完了までの時間に変化を生じさせる所定イベントが、収集対象機器において発生した場合に、残り時間情報を補正する補正情報を受信する通信部931を含む。通信部931は、収集対象機器側からプッシュ通知された補正情報を、ネットワークを介して受信し、処理部91は、受信した補正情報に基づいて、残り時間情報を補正する。
ここで、ジョブ完了時間情報とは、ジョブ完了までの残り時間を表す残り時間情報である。ただし、変形例として後述するように、ジョブ完了時間情報として、ジョブ完了の予測時刻を表す完了時刻情報を用いてもよい。また、収集対象機器がプリンター3である場合、ジョブとは狭義には印刷動作であり、ジョブ完了時間情報とは、印刷完了までの時間を表す印刷完了情報である。
また、ジョブ完了までの時間の変化とは、ジョブの進捗に遅れや進みが生じることを表す。即ち、ジョブ完了までの時間に変化が生じた場合、過去に予測したジョブ完了時間情報と、実際のジョブ完了までの時間との間に乖離(誤差)が生じることになる。なお、ジョブ完了時間情報として残り時間情報を用いる場合、計時部で5分経過した場合に、残り時間が5分減少したのであれば、当該残り時間の変化は予測通りのものであるため、当該変化は本実施形態における「ジョブ完了までの時間の変化」には含まれない。
本実施形態では、端末装置9において正確なジョブ完了時間情報を表示することを目的とする。そのため端末装置9は、所定イベント発生後のジョブ完了時間情報を取得可能でなくてはならない。端末装置9が新たなジョブ完了時間情報を取得するまでの手順については多様な実施形態が考えられる。
収集対象機器(プリンター3)は、イベントの発生主体、且つ、ジョブの実行主体であるため、新たなジョブ完了時間情報を精度よく生成可能である。よって、プリンター3においてジョブ完了時間情報を生成し、当該ジョブ完了時間情報がサーバーシステム7を介して端末装置9に送信されてもよい。この場合、サーバーシステム7から端末装置9へ送信される補正情報とは、新たなジョブ完了時間情報である。換言すれば、サーバーシステム7の通信部731は、収集対象機器(プリンター3)から、直接又は他の機器(情報処理装置5)を介して、所定イベントの発生タイミング後に新たに予測されたジョブ完了時間情報を受信し、処理部71は、新たに予測されたジョブ完了時間情報を補正情報として、端末装置9に対してプッシュ通知させる。
ただし、所定イベントによるジョブ完了時間情報の時間差を表す情報(後述する時間差情報)を用いることで、新たなジョブ完了時間情報を演算することが可能である。時間差情報に基づく新たなジョブ完了時間情報の演算は、プリンター3で行われてもよいし、情報処理装置5で行われてもよいし、サーバーシステム7で行われてもよいし、端末装置9で行われてもよい。プリンター3で演算が行われる場合とは、上述したプリンター3が新たなジョブ完了時間情報を生成、出力する例に相当する。情報処理装置5又はサーバーシステム7で演算が行われる場合、サーバーシステム7は、演算結果である新たなジョブ完了時間情報を補正情報として端末装置9に送信する。端末装置9で演算が行われる場合、サーバーシステム7は、時間差情報を補正情報として端末装置9に送信する。時間差情報は、所定イベントの発生ごとにプリンター3で求められる情報であってもよい。或いは、時間差情報とはイベントの発生と終了を知らせる情報であってもよい。この場合、時間差の具体的な値は、イベントの発生と終了を知らせる情報を受信した機器(情報処理装置5又はサーバーシステム7又は端末装置9)において演算される。サーバーシステム7が、イベントの発生と終了を知らせる情報を補正情報として端末装置9に送信する例については、第2の実施形態で後述する。
換言すれば、サーバーシステム7の通信部731は、収集対象機器(プリンター3)から、直接又は他の機器(情報処理装置5)を介して、所定イベントによるジョブ完了時間情報との差異を表す時間差情報を受信する。そして処理部71は、時間差情報を補正情報として端末装置9に対してプッシュ通知させる、又は、時間差情報に基づいて求めた新たなジョブ完了時間情報を補正情報として端末装置9に対してプッシュ通知させる。
なお、イベント種別と当該イベントにより発生する時間差とに対応関係がある場合、イベント種別から時間差情報を特定可能である。この場合、イベント種別を表す情報から時間差情報を特定する処理は、プリンター3で行われてもよいし、情報処理装置5で行われてもよいし、サーバーシステム7で行われてもよいし、端末装置9で行われてもよい。プリンター3で特定処理が行われる場合、プリンター3は特定した時間差情報を出力してもよいし、時間差情報からジョブ完了時間情報を生成し、当該ジョブ完了時間情報を出力してもよい。情報処理装置5又はサーバーシステム7で時間差情報の特定処理が行われる場合、サーバーシステム7は、特定処理結果である時間差情報を補正情報として端末装置9に送信する。或いは、情報処理装置5又はサーバーシステム7において、時間差情報の特定処理に加えて、時間差情報に基づくジョブ完了時間情報の生成処理を行い、サーバーシステム7は生成されたジョブ完了時間情報を補正情報として端末装置9に送信してもよい。端末装置9で時間差情報の特定処理が行われる場合、サーバーシステム7は、イベント種別を表す情報を補正情報として端末装置9に送信する。サーバーシステム7が、イベント種別を表す情報を補正情報として端末装置9に送信する例については第3の実施形態で後述する。
図13は、本実施形態の手法におけるプリンター3側と端末装置9との通信を表す模式図である。プリンター3での印刷開始イベントをトリガーとして、端末装置9がジョブ名、及び印刷開始時点で予測された残り時間情報を受信する点、及び印刷開始時点の残り時間情報を起点として、端末装置9でカウントダウン処理を行う点は図12と同様である。端末装置9側でカウントダウン処理を行うことで、通信頻度を低くし、ネットワーク負荷を軽減できる。
そして本実施形態の手法では、プリンター3でフラッシング等のイベントが発生した場合に、当該イベントをトリガーとして、端末装置9に対して補正情報が送信される。本実施形態での補正情報は、所定イベントの発生に対応して、サーバーシステム7の通信部731が、収集対象機器(プリンター3)から受信したジョブ完了時間情報に基づく情報である。
収集対象機器では、ジョブ完了までの時間に変化を生じさせたイベントの情報(例えば当該イベントの内容や、イベント実行に要した時間等)を取得可能である。つまり、収集対象機器からの情報を用いることで、端末装置9での残り時間情報の補正を精度よく実行することが可能になる。
具体的には、ジョブ完了時間情報に基づく情報は、所定イベントの発生タイミング後に新たに予測されたジョブ完了時間情報、又は、所定イベントによるジョブ完了時間情報との差異を表す時間差情報である。ここで、「新たに予測されたジョブ完了時間情報」とは、所定イベントの発生前に収集対象機器で予測され、端末装置9に対して送信されていたジョブ完了時間情報に比べて、時間的に後のタイミングで求められたジョブ完了時間情報を表す。より具体的には、所定イベントの発生タイミング後に、収集対象機器の処理部(処理部31)、或いは情報処理装置5の処理部51(プリンタードライバー)において求められたジョブ完了時間情報に対応する。時間差情報とは、所定イベントの発生に伴うジョブ完了までの時間の変化により、ジョブ完了時間情報と、実際のジョブ完了までの時間との間に生じた時間差(誤差)を表す情報である。
図13の例であれば、プリンター3は、フラッシングが終了し印刷を再開した際には、印刷再開時点での残り時間情報を求めることも可能であるし、フラッシングによりどれだけ時間をロスしたかを求めることも可能である。補正情報が新たな残り時間情報である場合、端末装置9の処理部91は、保持している残り時間情報を、サーバーシステム7から受信した新たな残り時間情報に置き換える処理を、補正処理として実行する。補正情報が時間差情報である場合、端末装置9の処理部91は、保持している残り時間情報に対して、サーバーシステム7から受信した時間差情報に対応する時間差を加算(或いは減算)する処理を、補正処理として実行する。
本実施形態の手法によれば、所定イベントの発生をトリガーとして、プリンター3側から端末装置9に対して補正情報が送信される。これにより、端末装置9での残り時間情報と、プリンター3での実際の印刷状況(ジョブの進捗)との乖離を抑制でき、適切な情報を端末装置9を利用するユーザーに提示できる。また、残り時間情報と実際の残り時間に乖離が生じる蓋然性が低い状況では、端末装置9で残り時間情報のカウントダウン処理を行うため、通信頻度を抑制することも可能である。即ち、本実施形態では、端末装置9での適切なジョブ完了時間情報の表示を、効率的な通信により実現できる。
なお、予測されていたジョブ完了時間情報に誤差を生じさせる所定イベントは、フラッシングイベントに限定されず、ジョブの進捗に遅れや進みを生じさせる種々のイベントに拡張可能である。
例えば収集対象機器がプリンター3である場合、上記所定イベントは、清掃動作イベント、印刷媒体の詰まりイベント、印刷媒体切れイベント、インク切れイベント、インクヘッドの移動量が所定以下であることを表すイベント、の少なくとも1つのイベントを含む。
清掃動作イベントとは、狭義にはフラッシングイベントであるが、ゴム等の部材を用いてノズルの拭き取りを行うクリーニングイベントを含むことも可能である。また、印刷媒体は印刷対象である紙や布であり、印刷媒体の詰まりイベントとは、印刷媒体がプリンター3の内部で詰まり、供給(給紙)や排出(排紙)ができなくなるイベントを表す。印刷媒体切れイベントとは、印刷媒体が終了し、プリンター3への印刷媒体の供給ができなくなるイベントを表す。インク切れイベントとは、インク(液体インク、トナーを含む)の残量が低下し、印刷を継続できなくなるイベントを表す。これらのイベントは、いずれもジョブ(印刷動作)に遅れを生じさせるイベントである。
また、所定イベントは、インクヘッドの移動量が小さいイベントを含む。ロジカルシークと呼ばれるインクヘッドの制御手法では、例えば紙の色そのままでよい領域(白色領域)については、インクヘッドの移動及びインクの吐出を省略する。この場合、インクヘッドを規定量(例えば印刷可能領域の端から端まで)動かす場合に比べて、動作量が減るため、ジョブ(印刷動作)に進みを生じさせる。つまり、残り時間が想定よりも短くなるため、当該イベントを所定イベントに含めることで、端末装置9での残り時間情報の表示を精度よく行うことが可能になる。
4.2 第2の実施形態
図14は、第2の実施形態におけるプリンター3側と端末装置9との通信を表す模式図である。プリンター3での印刷開始イベントをトリガーとして、端末装置9がジョブ名、及び印刷開始時点で予測された残り時間情報を受信する点、及び印刷開始時点の残り時間情報を起点として、端末装置9でカウントダウン処理を行う点は第1の実施形態と同様である。
上述したフラッシングイベントのように、上記所定イベントには、当該イベントが発生した場合にジョブ(印刷動作)が停止し、当該イベントの終了時にジョブが再開されるものがある。この場合、所定イベントの発生中はジョブが行われない以上、ジョブの進捗は停止し、残り時間も減少しないと考えられる。
よって、ジョブ完了時間情報は、ジョブ完了までの残り時間情報であり、サーバーシステム7の通信部731は、端末装置9において、残り時間情報のカウントダウン処理が行われる場合に、図14に示すように端末装置9に対するカウントダウン処理の停止指示を含む補正情報を、端末装置9に対してプッシュ通知する。
このようにすれば、プリンター3でのジョブの進捗が停止している場合に、端末装置9でのカウントダウン処理も停止できるため、所定イベント発生中においてもプリンター3での実際の進捗と、端末装置9で表示される残り時間情報との乖離を抑制できる。
そして、所定イベントが終了した場合に、端末装置9の処理部91はカウントダウン処理を再開する。具体的には、本実施形態の補正情報は、所定イベントの発生に対応する第1の通知情報、及びジョブ再開に対応する第2の通知情報を含む。そして処理部91は、図14に示すように、第1の通知情報に基づいてカウントダウン処理を停止し、第2の通知情報に基づいてカウントダウン処理を再開する。
ここで、第2の通知情報は、ジョブの再開を表す情報(カウントダウン処理の再開指示)のみであってもよいし、ジョブ再開時のジョブ完了時間情報(残り時間情報、又は時間差情報)であってもよい。第2の通知情報がジョブ再開を表す情報である場合、端末装置9の処理部91は、カウントダウン処理停止時の残り時間情報からカウントダウン処理を再開すればよく、制御が容易である。第2の通知情報がジョブ再開時のジョブ完了時間情報である場合、端末装置9の処理部91は、受信したジョブ完了時間情報に基づいてジョブ再開時の残り時間情報を特定し、当該残り時間情報からカウントダウン処理を再開する。この場合、停止時の残り時間情報からカウントダウン処理を再開する場合に比べて、高い精度での補正処理が可能である。
いずれの場合においても、イベント発生中のプリンター3での実際の進捗と、端末装置9で表示される残り時間情報との乖離を抑制しつつ、イベント完了時に適切にカウントダウン処理を再開できる。また、第1の実施形態の手法では、補正処理を1タイミングで行うため、当該補正処理により、表示される残り時間情報が突然変化してしまい、ユーザーを混乱させるおそれがある。その点、本実施形態ではカウントダウン処理の停止及び再開という2ステップで補正処理が行われるため、補正処理に伴う残り時間情報の変化を小さくできる。
4.3 第3の実施形態
図15は、第3の実施形態におけるプリンター3側と端末装置9との通信を表す模式図である。印刷開始時の通信等については第1、第2の実施形態と同様である。
上述したフラッシングイベントは、発生タイミングを事前に予測することは容易でないが、1回のフラッシングイベントの具体的な手順はプリンター3の機種、ファームウェアバージョン、ユーザー設定等に応じて既知であると考えられる。そのため、フラッシングイベントが発生した場合、当該イベントによりどの程度ジョブの進捗が遅れるかは高い精度で予測可能である。
本実施形態における補正情報は、所定イベントのイベント種別を表す情報である。プリンター3の例であれば、フラッシングイベント、クリーニングイベント等、イベントの内容を特定可能な情報を補正情報とする。プリンター3の機種によっては、フラッシング、通常クリーニング、強力クリーニングのように、実行時間が異なる複数の清掃動作を行ってもよく、補正情報はそれらを識別可能な情報である。
図15に示したように、端末装置9の処理部91は、所定イベントのイベント種別に応じた時間差情報に基づいて、残り時間情報を補正する処理を行う。例えば端末装置9の記憶部95は、イベント種別と、当該イベントの実行時間(時間差情報)とを対応付けるテーブルを記憶し、処理部91はサーバーシステム7から受信したイベント種別の情報と当該テーブルとに基づいて補正処理を行う。即ち、ここでの時間差情報は、第1の実施形態(図13)のようにプリンター3側でイベントの状況を実際に観測して求められるものではなく、イベント種別に応じてあらかじめ設定される情報である。なお、図15では、イベント発生タイミングでプリンター3側からプッシュ通知が行われる例を示したが、イベント終了時(ジョブ再開時)にプッシュ通知を行う等、種々の変形実施が可能である。
なお本実施形態では、サーバーシステム7がイベント種別を表す情報を受信し、当該イベント種別を表す情報を端末装置9にプッシュ通知する。ただし上述したように、イベント種別に基づいて時間差情報やジョブ完了時間情報を求める処理は、サーバーシステム7で実行されてもよい。サーバーシステム7の通信部731は、収集対象機器から、直接又は他の機器(情報処理装置5)を介して、所定イベントのイベント種別を表す情報を受信する。サーバーシステム7の処理部71は、本実施形態で説明したように、イベント種別を表す情報を補正情報として端末装置9に対してプッシュ通知させる。ただしこれに限定されず、処理部71は、イベント種別を表す情報に基づいて、時間差情報を特定し、特定した時間差情報を補正情報として端末装置9に対してプッシュ通知させてもよい。或いは処理部71は、時間差情報に基づいて求めた新たなジョブ完了時間情報を補正情報として端末装置9に対してプッシュ通知させてもよい。
このようにすれば、プリンター3や情報処理装置5からイベント種別を表す情報を受信した場合に、種々の態様により端末装置9に対するプッシュ通知を実行することが可能になる。なお、本実施形態の手法であれば、図15のようにイベントの発生時にプッシュ通知を行うことが可能であるが、図13のようにイベントの終了時(ジョブの再開時)にプッシュ通知が行わることは妨げられない。
また、サーバーシステム7は、イベント種別に応じてプッシュ通知の態様を変更してもよい。例えば、フラッシングイベントのように実行時間を事前に予測可能なイベント種別を表す情報を受信した場合、処理部71は、イベント開始時に時間差情報を通信部731にプッシュ通知させる。この場合、プッシュ通知の対象は、イベント種別を表す情報であってもよいし、ジョブ完了時間情報であってもよい。一方、実行時間を事前に予測できないイベント種別を表す情報を受信した場合、処理部71は、イベント終了時に時間差情報を通信部731にプッシュ通知させる。より具体的には、サーバーシステム7の通信部731は、イベント終了時にプリンター3(情報処理装置5)からイベント終了を表す情報や、時間差情報を受信することで、端末装置9に対するプッシュ通知を実行する。この場合、プッシュ通知の対象は、ジョブ完了時間情報であってもよい。
このようにすれば、イベント種別に応じて、適切なタイミングで端末装置9に対するプッシュ通知を実行することが可能になる。
4.4 変形例
以下、いくつかの変形例について説明する。
図16は、端末装置9の表示部933に表示される表示画面の例である。端末装置9の通信部931は、複数のプリンター3の印刷時間情報を、ネットワークNE2を介して受信し、処理部91は、複数のプリンター3の印刷完了時刻情報が、一画面内に配置された表示画面を、表示部933に表示する処理を行う。
図16の例では、表示部933は、図10と同様に3つのプリンターについての情報を表示する。図10のE1では、「Printer-0001」の残り時間情報(E15)が表示されていたが、図16の例では印刷完了の予測時刻である「14:20」という情報が表示される(C15)。C1のうち、C11~C14については図10のE11~E14と同様である。また、「Printer-0002」についても同様であり、残り時間情報ではなく、印刷完了時刻情報である「13:20」という情報が表示される(C25)。
即ち、以上で説明してきたジョブ完了時間情報(印刷完了時間情報)とは、ジョブの残り時間情報に限定されず、ジョブの完了時刻情報(印刷完了時刻情報)であってもよい。完了時刻情報を用いる場合、誤差を生じさせる所定イベントが発生しない限り、当該完了時刻情報は時間が経過しても変化しない。よって、端末装置9の処理部91は、カウントダウン処理を行う必要はない。
第1の実施形態(図13)や第3の実施形態(図15)のように、1回のイベント発生に応じて補正情報が1回受信される場合、処理部91は、受信した補正情報に基づいて新たな完了時刻情報を求め、求めた完了時刻情報を表示する処理を行う。
また本変形例と第2の実施形態の組み合わせも可能である。所定イベントによりジョブの実行が停止された状態では、時間の経過とともにジョブ完了時刻は遅くなっていくと考えられる。例えば、印刷完了時刻が14:20と予測されている場合に、所定イベントによりジョブが5分停止すれば、その状態での印刷完了時刻は14:25になると考えられる。
その場合の補正情報は、所定イベントの発生を表す第1の通知情報、及びジョブ再開を表す第2の通知情報を含む。そして処理部91は、第1の通知情報に基づいて完了時刻情報のカウントアップ処理を開始し、第2の通知情報に基づいてカウントアップ処理を停止する。
また、本実施形態の手法は、図1に示したように、上記の端末装置9と、サーバーシステム7と、を含む稼働情報収集システム1に適用できる。
また、本実施形態のサーバーシステム7や端末装置9等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態のサーバーシステム7や端末装置9等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
また、本実施形態のサーバーシステム7や端末装置9等は、プロセッサーとメモリーを含んでもよい。ここでのプロセッサーは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサーはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサーは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することができる。プロセッサーは、例えばCPUであってもよい。ただし、プロセッサーはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサーを用いることが可能である。またプロセッサーはASICによるハードウェア回路でもよい。またプロセッサーは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリーは、SRAM、DRAMなどの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、サーバーシステム7や端末装置9等の各部(通信部、処理部)の機能が実現されることになる。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
また本実施形態の手法は、少なくとも1つの収集対象機器の稼働情報を、ネットワークを介して収集するサーバーシステム7の作動方法であって、収集対象機器から、収集対象機器でのジョブ完了の予測時間を表すジョブ完了時間情報を受信し、ジョブ完了時間情報を表示する端末装置9に対して、収集対象機器から受信したジョブ完了時間情報を送信し、ジョブ完了までの時間に変化を生じさせる所定イベントが、収集対象機器において発生した場合に、ジョブ完了時間情報の補正情報を、端末装置9に対してプッシュ通知するサーバーシステムの作動方法に適用できる。
或いは本実施形態の手法は、少なくとも1つの収集対象機器の稼働情報を収集するサーバーシステム7に、ネットワークを介して通信接続される端末装置9の作動方法であって、収集対象機器でのジョブの残り時間情報のカウントダウン処理を行い、ジョブ完了までの時間に変化を生じさせる所定イベントが、収集対象機器において発生した場合に、残り時間情報を補正する補正情報を、収集対象機器側からのプッシュ通知により受信し、受信した補正情報に基づいて、残り時間情報を補正する端末装置9の作動方法に適用できる。
以上、本発明を適用した実施形態及びその変形例について説明したが、本発明は、各実施形態やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施形態や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。