(57)【要約】【課題】プリンタ等のデバイスの状態がいつ変化したとしても、最新の状態変化をホストにて常に把握できるようにする。【解決手段】ウェブプリントサーバ２００からプリンタ３００に送信される状態取得要求に対する応答として返信されるプリンタ３００の状態情報と、プリンタ３００の状態に変化が生じたか否かの判定結果とを記憶部２６に記憶させる。そして、タブレット１００からウェブプリントサーバ２００に送信される状態取得要求に対する応答として、記憶部２６に既に記憶されている状態変化に関する情報をタブレット１００に通知することにより、タブレット１００からの制御に応じてプリンタ３００を動作させるタイミング以外でプリンタ３００の状態に変化が生じたとしても、最新の状態を示す状態情報がプリンタ３００からウェブプリントサーバ２００を経由してタブレット１００に通知されるようにする。【選択図】図２
2018032298.tif 000002
【特許請求の範囲】
【請求項１】
ウェブアプリケーションが動作するウェブサーバと、上記ウェブアプリケーションにアクセス可能なホストと、上記ホストでの操作に応じて所定の処理を実行するデバイスとを備え、上記ホストおよび上記ウェブサーバによって上記デバイスの状態を監視するシステムであって、
上記デバイスに対し上記デバイスの状態の取得を定期的に要求する状態取得要求部と、
上記状態取得要求部による状態取得要求に対する応答として上記デバイスから返信される状態情報を上記ウェブサーバが取得し、取得した状態情報を記憶部に記憶させる状態情報取得部と、
上記状態情報取得部により取得された現在の状態情報と、上記記憶部に記憶されている過去の状態情報とを比較し、上記デバイスの状態に変化が生じたか否かを判定する状態変化判定部と、
上記状態変化判定部による判定結果と、少なくとも上記状態に変化が生じていた場合には更に上記現在の状態情報とを上記ウェブサーバから上記ホストに通知する状態変化通知部と、
を備えたことを特徴とするデバイス状態監視システム。
【請求項２】
上記状態取得要求部は、
上記ホストから上記ウェブサーバに対し上記デバイスの状態の取得を定期的に要求する第１の状態取得要求部と、
上記ウェブサーバから上記デバイスに対し上記デバイスの状態の取得を定期的に要求する第２の状態取得要求部とを備え、
上記状態情報取得部は、上記第２の状態取得要求部による状態取得要求に対する応答として上記デバイスから返信される状態情報を上記ウェブサーバが取得し、取得した状態情報を上記記憶部に記憶させ、
上記状態変化通知部は、上記第１の状態取得要求部による状態取得要求に対する応答として、上記状態変化判定部による判定結果と、少なくとも上記状態に変化が生じていた場合には更に上記現在の状態情報とを上記ウェブサーバから上記ホストに通知することを特徴とする請求項１に記載のデバイス状態監視システ
ム。
【請求項３】
上記第１の状態取得要求部による状態取得要求と上記第２の状態取得要求部による状態取得要求とを非同期で行うことを特徴とする請求項２に記載のデバイス状態監視システム。
【請求項４】
上記ホストと上記ウェブサーバとの間がウェブネットワークで接続され、上記ウェブサーバと上記デバイスとの間がウェブ以外のネットワークで接続されていることを特徴とする請求項１〜３の何れか１項に記載のデバイス状態監視システム。
【請求項５】
上記状態変化通知部により上記デバイスの状態に変化が生じていたことおよび上記現在の状態情報が上記ホストに通知された場合に、上記現在の状態情報に応じてあらかじめ定められたイベント関数を呼び出して、所定の処理を実行するイベント実行部を更に備えたことを特徴とする請求項１〜４の何れか１項に記載のデバイス状態監視システム。
【請求項６】
上記ホストが上記ウェブサーバを内蔵していることを特徴とする請求項１〜５の何れか１項に記載のデバイス状態監視システム。
【請求項７】
上記デバイスが上記ウェブサーバを内蔵していることを特徴とする請求項１〜５の何れか１項に記載のデバイス状態監視システム。
【請求項８】
デバイスの状態の取得要求をホストから定期的に受信する状態取得要求受信部と、
上記デバイスに対し上記デバイスの状態の取得を定期的に要求する状態取得要求部と、
上記状態取得要求部による状態取得要求に対する応答として上記デバイスから返信される状態情報を取得し、取得した状態情報を記憶部に記憶させる状態情報取得部と、
上記状態情報取得部により取得された現在の状態情報と、上記記憶部に記憶されている過去の状態情報とを比較し、上記デバイスの状態に変化が生じたか否かを判定する状態変化判定部と、
上記状態変化判定部による判定結果と、少なくとも上記状態に変化が生じていた場合には更に上記現在の状態情報とを、上記状態取得要求受信部が受信した状態取得要求に対する応答として上記ホストに通知する状態変化通知部と、
を備えたことを特徴とするデバイス状態監視装置。
【請求項９】
上記状態取得要求部は、上記状態取得要求受信部による状態取得要求の受信とは非同期で、上記デバイスに対し上記デバイスの状態の取得を定期的に要求することを特徴とする請求項８に記載のデバイス状態監視装置。
【請求項１０】
ウェブアプリケーションが動作するウェブサーバと、上記ウェブアプリケーションにアクセス可能なホストと、上記ホストでの操作に応じて所定の処理を実行するデバイスとを備えたシステムにおいて、上記ホストおよび上記ウェブサーバによって上記デバイスの状態を監視する方法であって、
上記ホストの第１の状態取得要求部が、上記ウェブサーバに対して上記デバイスの状態の取得を定期的に要求する第１の状態取得要求ステップと、
上記ウェブサーバの第２の状態取得要求部が、上記デバイスに対し上記デバイスの状態の取得を定期的に要求する第２の状態取得要求ステップと、
上記ウェブサーバの状態情報取得部が、上記第２の状態取得要求部による状態取得要求に対する応答として上記デバイスから返信される状態情報を取得し、取得した状態情報を記憶部に記憶させる状態情報取得ステップと、
上記ウェブサーバの状態変化判定部が、上記状態情報取得部により取得された現在の状態情報と、上記記憶部に記憶されている過去の状態情報とを比較し、上記デバイスの状態に変化が生じたか否かを判定する状態変化判定ステップと、
上記ウェブサーバの状態変化通知部が、上記状態変化判定部による判定結果と、少なくとも上記状態に変化が生じていた場合には更に上記現在の状態情報とを上記ウェブサーバから上記ホストに通知する状態変化通知ステップと、
を有することを特徴とするデバイス状態監視方法。
【請求項１１】
上記第１の状態取得要求ステップによる上記ホストから上記ウェブサーバに対する状態取得要求と、上記第２の状態取得要求ステップによる上記ウェブサーバから上記デバイスに対する状態取得要求とを非同期で行うことを特徴とする請求項１０に記載のデバイス状態監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス状態監視システム、デバイス状態監視装置およびデバイス状態監視方法に関し、特に、ホストおよびウェブサーバによってデバイスの状態を監視するシステムに用いて好適なものである。
【背景技術】
【０００２】
一般に、ホストコンピュータにインストールされるプリンタのドライバソフトには、プリンタの状態を監視して、検出した状態をホストコンピュータの画面に表示する機能が備えられている。例えば、インクの残量警告や印刷時のエラーメッセージなどを通知するものが広く提供されている。
【０００３】
また、プリンタの状態が変化（カバー開閉／用紙なし／印刷完了など）したときに、ステータス情報を自動的にホストコンピュータへ送信するＡＳＢ（Auto Status Back）機能も知られている（例えば、特許文献１参照）。
【０００４】
特許文献１に記載の印刷システムでは、印刷制御装置が、ホストから受信した印刷データの前に、ＡＳＢ機能を有効にするためのＡＳＢ有効コマンドを付加するとともに、印刷データの後に、プリンタの状態を取得するための状態取得コマンドを付加して印刷指示コマンドを生成し、これをプリンタに送信する。そして、印刷制御装置が、この印刷指示コマンドに対するプリンタからの応答として、印刷中（印刷指示コマンドの送信から状態取得コマンドに対する応答を受信するまでの間）におけるプリンタのステータス（用紙の有無、オンライン／オフライン、インク／トナー残量、バッテリー残量など）の変化を取得し、印刷結果（印刷成功／印刷失敗）と共に最新のステータスをホストに返信する。
【０００５】
また、１つのホストに対して複数のプリンタが接続されるネットワークシステムにおいて、どのプリンタを使用して印刷を実行するかを選択するための参照情報として、各プリンタからステータス情報を取得して表示するようにした技術も知られている（例えば、特許文献２参照）。
【０００６】
特許文献２に記載のネットワークシステムでは、クライアント端末に接続されたインタフェースボードが、ネットワーク接続されたプリンタを検索し、検索したプリンタのＭＩＢ（Management Information Base）からデバイス情報を取得する。そして、各プリンタから取得したデバイス情報に基づいて、デバイスリスト（利用可能なプリンタのリスト）を生成し、プリンタ選択画面に表示する。デバイス情報には、プリンタの状態（正常状態／エラー状態）、プリンタの印刷設定情報（用紙設定、印刷枚数、印刷品質、カラー／白黒選択、画像処理方法等）、オプション装置（給紙カセットや両面印刷装置等）の装着情報、消耗品情報（用紙残量、インク残量等）が含まれる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−２１０８８５号公報
【特許文献２】特許第５７２８９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１，２に記載のシステムは何れも、印刷を実行する際にプリンタのステータスを取得するものである。そのため、印刷の実行時とは関係なく、プリンタのステータスに変化があったときに、そのステータスをあらかじめホスト側で把握しておくことができないという問題があった。
【０００９】
なお、特許文献１には、あらかじめ定められたタイミングで定期的に空印刷データを送信することで、印刷を実行する場合と同様の仕組みで、プリンタのステータスをホストにて常に把握可能にすることが記載されている。
【００１０】
しかしながら、特許文献１に記載のシステムでは、プリンタがＡＳＢ機能を有しており、かつ、プリンタがＡＳＢ有効コマンドを処理可能であることを前提としているため、この前提に未対応のプリンタには適用することができないという問題があった。
【００１１】
また、上記の前提を満たすプリンタを用いる場合であっても、空印刷データを含んだ印刷指示コマンドの送信から状態取得コマンドに対する応答を受信するまでのわずかな時間の間にプリンタのステータスが変化した場合にのみ、最新のステータスがＡＳＢ機能によって印刷制御装置に返信される。そのため、空印刷データの送信タイミングではないときにプリンタのステータスに変化が生じると、最新のステータスがプリンタから印刷制御装置を介してホストに伝えられないという問題があった。
【００１２】
本発明は、このような問題を解決するために成されたものであり、プリンタ等のデバイスの状態がいつ変化したとしても、最新の状態変化をホストにて常に把握できるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
上記した課題を解決するために、本発明では、デバイスに対して状態の取得を定期的に要求する。そして、その応答としてデバイスから都度返信される状態情報をウェブサーバが取得し、取得した状態情報を記憶部に記憶させる。このとき、デバイスより取得された現在の状態情報と、記憶部に記憶されている過去の状態情報とを比較することにより、デバイスの状態に変化が生じたか否かを判定し、その判定結果と、少なくとも状態に変化が生じていた場合には更に現在の状態情報とをウェブサーバからホストに通知するようにしている。
【発明の効果】
【００１４】
上記のように構成した本発明によれば、ホストからの制御に応じてデバイスを動作させたタイミングに限らず、それ以外のタイミングでデバイスの状態に変化が生じたとしても、変化後の最新の状態を示す状態情報が現在の状態情報としてデバイスからウェブサーバに返信される。そして、過去の状態情報と比較してデバイスの状態に変化が生じていることがウェブサーバにて確認されると、最新の状態を示す状態情報がウェブサーバからホストに通知される。これにより、デバイスの状態がいつ変化したとしても、最新の状態変化をホストにて常に把握することができるようになる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態によるデバイス状態監視システムの全体構成例を示す図である。
【図２】本実施形態によるデバイス状態監視システムの機能構成例を示すブロック図である。
【図３】本実施形態によるタブレットとウェブプリントサーバとの間で行われる動作例を示すフローチャートである。
【図４】本実施形態によるウェブプリントサーバとプリンタとの間で行われる動作例を示すフローチャートである。
【図５】本実施形態によるデバイス状態監視システムの他の全体構成例を示す図である。
【図６】本実施形態によるデバイス状態監視システムの他の全体構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるデバイス状態監視システムの全体構成例を示す図である。図１に示すように、本実施形態のデバイス状態監視システムは、ウェブアプリケーションが動作するウェブサーバ２００と、ウェブアプリケーションにアクセス可能なホスト１００と、ホスト１００での操作に応じて所定の処理を実行するデバイス３００とを備えて構成される。
【００１７】
本実施形態では一例として、ホスト１００はタブレット（以下、タブレット１００という）、ウェブサーバ２００はウェブプリントサーバ（以下、ウェブプリントサーバ２００という）、デバイス３００はプリンタ（以下、プリンタ３００という）である。タブレット１００とウェブプリントサーバ２００との間は、ＨＴＭＬ（HyperText Markup Language）によるウェブネットワークにより接続されている。ウェブプリントサーバ２００とプリンタ３００との間は、ウェブ以外のネットワーク、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）または無線ＬＡＮ等の無線ネットワーク、あるいは、ＵＳＢ（Universal Serial Bus）または有線ＬＡＮ等の有線ネットワークにより接続されている。
【００１８】
タブレット１００は、ウェブブラウザを通じて、ウェブプリントサーバ２００のウェブアプリケーションにアクセスが可能である。そして、ウェブブラウザに対する操作に応じて、ウェブプリントサーバ２００のウェブアプリケーションにより生成されたデータをプリンタ３００に送信し、プリンタ３００にて印刷を実行することが可能に成されている。なお、この印刷の実行に関する処理内容については、本発明の主題とは直接関係がないので、詳細な説明は割愛する。
【００１９】
本実施形態によるデバイス状態監視システムの主題は、タブレット１００およびウェブプリントサーバ２００によってプリンタ３００の状態を監視し、プリンタ３００から取得した状態情報をタブレット１００に通知することにある。本実施形態において監視するプリンタ３００の状態は、例えば、カバーの開閉、用紙の有無やニアエンド、インクまたはトナーの残量、オンライン／オフライン、バッテリー残量などのうち少なくとも１つである。
【００２０】
図１に示すように、本実施形態では、タブレット１００からウェブプリントサーバ２００に対してＨＴＴＰ通信によってプリンタ３００の状態を問い合わせ、その応答として、プリンタ３００の状態変化に関する情報をタブレット１００がウェブプリントサーバ２００から取得する。このタブレット１００からウェブプリントサーバ２００への問い合わせは、定期的に行う。
【００２１】
一方、ウェブプリントサーバ２００からプリンタ３００に対して無線通信によってプリンタ３００の状態を問い合わせ、その応答として、プリンタ３００の最新の状態を示す状態情報をウェブプリントサーバ２００がプリンタ３００から取得する。このウェブプリントサーバ２００からプリンタ３００への問い合わせも、定期的に行う。ただし、このウェブプリントサーバ２００による問い合わせは、タブレット１００による問い合わせとは非同期で行う。
【００２２】
タブレット１００からウェブプリントサーバ２００に対して問い合わせを行ったときに、これとは非同期にウェブプリントサーバ２００からプリンタ３００に対して行っている問い合わせによって、ウェブプリントサーバ２００はプリンタ３００の状態情報を既に取得している。これにより、ウェブプリントサーバ２００は、タブレット１００から問い合わせを受けたときに、プリンタ３００に問い合わせを行ってその応答を待つ必要がなく、問い合わせに対して直ちにプリンタ３００の状態をタブレット１００に通知することが可能である。
【００２３】
なお、ウェブプリントサーバ２００が動作を開始した直後では、タブレット１００からウェブプリントサーバ２００に問い合わせを行ったときに、ウェブプリントサーバ２００がまだ定期的な問い合わせによって状態情報を取得していない状況も発生し得る。そこで、例えば、ウェブプリントサーバ２００とプリンタ３００とが接続された時点で、ウェブプリントサーバ２００がプリンタ３００の状態情報を取得して記憶部２６に記憶しておくようにしてもよい。
【００２４】
本実施形態では、ウェブプリントサーバ２００がタブレット１００に応答を返す際に、プリンタ３００から既に取得している状態情報に基づいて、プリンタ３００の状態に変化が生じているか否かを判定する。そして、その判定結果に応じて、状態変化に関する情報をタブレット１００に通知する。状態変化に関する情報とは、プリンタ３００の状態変化の有無を示す情報、および、プリンタ３００の最新の状態を示す状態情報である。なお、状態情報は、プリンタ３００の状態に変化が生じているときのみ通知するようにしてもよい。
【００２５】
図２は、本実施形態によるデバイス状態監視システムの機能構成例を示すブロック図である。なお、図２では、プリンタ３００の状態監視に関する機能構成のみを示しており、それ以外の機能構成については図示を省略している。
【００２６】
図２に示すように、タブレット１００は、その機能構成として、第１の状態取得要求部１１、状態変化通知受信部１２およびイベント実行部１３を備えている。これらの各機能ブロック１１〜１３は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１１〜１３は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。なお、プログラムの一例として、タブレット１００がウェブプリントサーバ２００から取得したＪａｖａＳｃｒｉｐｔ（登録商標）を用いることが可能である。
【００２７】
ウェブプリントサーバ２００は、その機能構成として、第１の状態取得要求受信部２１、第２の状態取得要求部２２、状態情報取得部２３、状態変化判定部２４および状態変化通知部２５を備えている。また、ウェブプリントサーバ２００は、記憶媒体として、記憶部２６を備えている。なお、ウェブプリントサーバ２００は、本発明のデバイス状態監視装置に相当するものであり、第１の状態取得要求受信部２１は、特許請求の範囲の状態取得要求受信部に相当する。
【００２８】
ウェブプリントサーバ２００の各機能ブロック２１〜２５に関しても、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック２１〜２５は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００２９】
プリンタ３００は、その機能構成として、第２の状態取得要求受信部３１および状態情報通知部３２を備えている。これらの各機能ブロック３１〜３２に関しても、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック３１〜３２は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００３０】
タブレット１００の第１の状態取得要求部１１は、タブレット１００からウェブプリントサーバ２００に対し、プリンタ３００の状態の取得を定期的に要求する。ウェブプリントサーバ２００の第１の状態取得要求受信部２１は、第１の状態取得要求部１１から定期的に送られてくるプリンタ３００の状態取得要求を受信する。第１の状態取得要求受信部２１は、プリンタ３００の状態取得要求をタブレット１００から受信すると、そのことを状態変化通知部２５に通知する。
【００３１】
ウェブプリントサーバ２００の第２の状態取得要求部２２は、ウェブプリントサーバ２００からプリンタ３００に対し、プリンタ３００の状態の取得を定期的に要求する。上述したように、この第２の状態取得要求部２２によるプリンタ３００に対する状態取得要求は、第１の状態取得要求部１１によるウェブプリントサーバ２００に対する状態取得要求とは非同期で行う。タブレット１００の第１の状態取得要求部１１およびウェブプリントサーバ２００の第２の状態取得要求部２２により、請求項１の状態取得要求部が構成される。
【００３２】
プリンタ３００の第２の状態取得要求受信部３１は、第２の状態取得要求部２２から定期的に送られてくるプリンタ３００の状態取得要求を受信する。状態情報通知部３２は、第２の状態取得要求受信部３１がプリンタ３００の状態取得要求をウェブプリントサーバ２００から受信すると、プリンタ３００の現在の状態（最新の状態）を検出して状態情報を生成し、生成した状態情報をウェブプリントサーバ２００に通知する。
【００３３】
ウェブプリントサーバ２００の状態情報取得部２３は、第２の状態取得要求部２２による状態取得要求に対する応答としてプリンタ３００の状態情報通知部３２から返信される状態情報を取得し、取得した状態情報を記憶部２６に記憶させる。記憶部２６は、一時記憶用のメモリであってよく、状態情報取得部２３が取得した直近の状態情報を少なくとも記憶していればよい。また、ウェブプリントサーバ２００は、現在時刻情報を取得できるよう構成されており、状態情報取得部２３がプリンタ３００から状態情報を取得した際の時刻情報を、その取得した状態情報と対応付けて記憶させてもよい。
【００３４】
状態変化判定部２４は、状態情報取得部２３により取得された現在の（最新の）状態情報と、記憶部２６に記憶されている過去の（直近の）状態情報とを比較し、プリンタ３００の状態に変化が生じたか否かを判定する。そして、その判定結果（状態変化の有無）を記憶部２６に記憶させる。なお、状態情報取得部２３が過去の状態情報に代えて現在の状態情報を記憶部２６に記憶させるのは、状態変化判定部２４による判定が終わった後である。
【００３５】
ここで、プリンタ３００の状態情報として、カバーの開閉、用紙の有無やニアエンド、インクまたはトナーの残量、オンライン／オフライン、バッテリー残量に関する各状態を示す情報を状態情報取得部２３が取得する場合、状態変化判定部２４は、各状態のそれぞれ毎に、状態に変化が生じたか否かを判定する。記憶部２６は、状態変化判定部２４による状態変化の有無を示す判定結果の情報と、状態情報取得部２３がプリンタ３００から取得した最新の状態情報とを、次のタイミングで判定を行うまで記憶している。
【００３６】
状態変化通知部２５は、タブレット１００の第１の状態取得要求部１１による状態取得要求に対する応答として、状態変化に関する情報をタブレット１００に通知する。すなわち、状態変化通知部２５は、状態変化判定部２４による判定結果（プリンタ３００の状態変化の有無）と、状態に変化が生じていた場合には更に最新の状態情報とをタブレット１００に通知する。これらの状態変化に関する情報は、記憶部２６に記憶されている。
【００３７】
すなわち、状態変化通知部２５は、プリンタ３００の状態取得要求をタブレット１００から受信した旨の通知を第１の状態取得要求受信部２１から受けた時点で、状態変化判定部２４により既に判定されているプリンタ３００の状態変化の有無を示す情報と、状態に変化が生じていた場合には更に最新の状態情報とをそれぞれ記憶部２６から読み出して、タブレット１００に通知する。このとき、カバーの開閉、用紙の有無やニアエンド、インクまたはトナーの残量、オンライン／オフライン、バッテリー残量に関する各状態毎に、状態変化の有無と、変化があった場合は最新の状態情報とを通知する。なお、変化が生じていない状態に関しては、状態変化の有無に関する情報自体も通知しないようにしてもよい。
【００３８】
タブレット１００の状態変化通知受信部１２は、第１の状態取得要求部１１による状態取得要求に対する応答としてウェブプリントサーバ２００の状態変化通知部２５から返信される状態変化に関する情報を取得する。イベント実行部１３は、状態変化通知受信部１２が受信した状態変化に関する情報により、プリンタ３００の状態に変化が生じていたことおよび最新の状態情報が通知された場合に、その状態情報に応じてあらかじめ定められたイベント関数を呼び出して、所定の処理を実行する。
【００３９】
イベント関数は、カバーの開閉、用紙の有無やニアエンド、インクまたはトナーの残量、オンライン／オフライン、バッテリー残量などの状態毎に用意されていて、変化が生じた状態について、最新の状態情報に応じたイベント関数が呼び出される。例えば、カバーが閉状態から開状態に変化したことが通知された場合は、カバーに関して最新の状態である開状態に応じたイベント関数が呼び出されて実行される。一例として、カバーが開いていることを知らせるメッセージの表示がイベント関数として実行される。
【００４０】
図３および図４は、上記のように構成したデバイス状態監視システムの動作例を示すフローチャートである。図３は、タブレット１００とウェブプリントサーバ２００との間で行われる動作例を示している。図４は、ウェブプリントサーバ２００とプリンタ３００との間で行われる動作例を示している。図３に示すフローチャートの処理と、図４に示すフローチャートの処理は、非同期で独立して実行されている。
【００４１】
図３において、タブレット１００の第１の状態取得要求部１１は、プリンタ３００の状態取得要求を定期的に行う時間間隔としてあらかじめ定められた第１の所定時間が経過したか否かを判定する（ステップＳ１）。ここで、前回の状態取得要求から第１の所定時間が経過していない場合は、ステップＳ１の判定を繰り返す。第１の所定時間が経過した場合、第１の状態取得要求部１１は、ウェブプリントサーバ２００に対し、プリンタ３００の状態取得要求を送信する（ステップＳ２）。
【００４２】
一方、ウェブプリントサーバ２００では、第１の状態取得要求受信部２１が、タブレット１００の第１の状態取得要求部１１から送信されるプリンタ３００の状態取得要求を受信したか否かを判定する（ステップＳ１１）。ここで、状態取得要求を受信していない場合は、ステップＳ１１の判定を繰り返す。一方、第１の状態取得要求受信部２１がタブレット１００から状態取得要求を受信した場合、第１の状態取得要求受信部２１はその旨を状態変化通知部２５に通知する。
【００４３】
この通知を受けた状態変化通知部２５は、状態変化に関する情報（状態変化の有無を示す情報、状態変化がある場合は更に最新の状態情報）を記憶部２６から読み出して取得し（ステップＳ１２）、タブレット１００に通知する（ステップＳ１３）。これにより、ウェブプリントサーバ２００では、ステップＳ１１において状態取得要求を受信してから、その応答として状態変化に関する情報を返信するまでの一連の処理によって、１回のＨＴＴＰセッションを終了してもよい。
【００４４】
タブレット１００では、ステップＳ２で第１の状態取得要求部１１が状態取得要求をウェブプリントサーバ２００に送信した後、その応答として状態変化通知部２５から通知される状態変化に関する情報を状態変化通知受信部１２により受信する（ステップＳ３）。そして、イベント実行部１３は、状態変化通知受信部１２が受信した状態変化に関する情報に基づいて、プリンタ３００の状態に変化が生じているか否かを判定する（ステップＳ４）。
【００４５】
ここで、プリンタ３００の状態に変化が生じていると判定された場合、イベント実行部１３は、プリンタ３００の最新の状態情報に応じてあらかじめ定められたイベント関数を呼び出して、所定の処理を実行する（ステップＳ５）。これにより、タブレット１００における１回の状態情報取得処理が終了する。一方、プリンタ３００の状態に変化が生じていないと判定された場合は、イベント実行部１３がイベント関数を呼び出すことなく、タブレット１００における１回の状態情報取得処理が終了する。
【００４６】
図４において、ウェブプリントサーバ２００の第２の状態取得要求部２２は、プリンタ３００の状態取得要求を定期的に行う時間間隔としてあらかじめ定められた第２の所定時間が経過したか否かを判定する（ステップＳ２１）。ここで、前回の状態取得要求から第２の所定時間が経過していない場合は、ステップＳ２１の判定を繰り返す。第２の所定時間が経過した場合、第２の状態取得要求部２２は、プリンタ３００に対し、プリンタ３００の状態取得要求を送信する（ステップＳ２２）。
【００４７】
一方、プリンタ３００では、第２の状態取得要求受信部３１が、ウェブプリントサーバ２００の第２の状態取得要求部２２から送信されるプリンタ３００の状態取得要求を受信したか否かを判定する（ステップＳ３１）。ここで、状態取得要求を受信していない場合は、ステップＳ３１の判定を繰り返す。一方、第２の状態取得要求受信部３１がウェブプリントサーバ２００から状態取得要求を受信した場合、状態情報通知部３２は、プリンタ３００の最新の状態を検出して状態情報を生成し（ステップＳ３２）、生成した状態情報をウェブプリントサーバ２００に通知する（ステップＳ３３）。
【００４８】
ウェブプリントサーバ２００では、ステップＳ２２で第２の状態取得要求部２２が状態取得要求をプリンタ３００に送信した後、その応答として状態情報通知部３２から通知されるプリンタ３００の状態情報を状態情報取得部２３により受信する（ステップＳ２３）。そして、状態変化判定部２４は、状態情報取得部２３により取得された現在の（最新の）状態情報と、記憶部２６に記憶されている過去の（直近の）状態情報とを比較し、プリンタ３００の状態に変化が生じたか否かを判定する（ステップＳ２４）。
【００４９】
次いで、ステップＳ２３で状態情報取得部２３がプリンタ３００から取得した最新の状態情報と、ステップＳ２４で状態変化判定部２４が判定した状態変化の有無を示す情報とを、状態変化に関する情報として記憶部２６に記憶させる（ステップＳ２５）。これにより、ウェブプリントサーバ２００における１回の状態情報取得処理が終了する。
【００５０】
以上詳しく説明したように、本実施形態では、ウェブプリントサーバ２００からプリンタ３００に対して状態取得要求を定期的に行い、その応答としてプリンタ３００から都度返信される状態情報をウェブプリントサーバ２００の記憶部２６に記憶させる。このとき、プリンタ３００より取得された現在の状態情報と、記憶部２６に記憶されている過去の状態情報とを比較することにより、プリンタ３００の状態に変化が生じたか否かを判定し、その判定結果も記憶部２６に記憶させる。そして、タブレット１００からウェブプリントサーバ２００に対して状態取得要求を定期的に行い、その応答として、記憶部２６に既に記憶されている状態変化に関する情報をタブレット１００に通知するようにしている。
【００５１】
このように構成した本実施形態によれば、タブレット１００からの制御に応じてプリンタ３００を動作させたタイミングに限らず、それ以外のタイミングでプリンタ３００の状態に変化が生じたとしても、ウェブプリントサーバ２００からプリンタ３００に対して定期的に送られる状態取得要求に応じて、変化後の最新の状態を示す状態情報がプリンタ３００からウェブプリントサーバ２００に返信される。そして、プリンタ３００の状態に変化が生じていることがウェブプリントサーバ２００にて確認されると、タブレット１００からウェブプリントサーバ２００に対して定期的に送られる状態取得要求に応じて、最新の状態を示す状態情報がウェブプリントサーバ２００からタブレット１００に通知される。これにより、プリンタ３００の状態がいつ変化したとしても、最新の状態変化をタブレット１００にて常に把握することができるようになる。
【００５２】
また、本実施形態では、タブレット１００からウェブプリントサーバ２００に対して状態取得要求があったときに、これを受けてウェブプリントサーバ２００からプリンタ３００に対して状態取得要求を続けて行うのではなく、これら２つの状態取得要求を非同期で独立して実行するようにしている。このため、タブレット１００からウェブプリントサーバ２００に対して状態取得要求を行ったときには、ウェブプリントサーバ２００はプリンタ３００の状態情報を既に取得できている。これにより、ウェブプリントサーバ２００は、タブレット１００から状態取得要求を受けたときに、プリンタ３００に対して状態取得要求を行ってその応答を待つ必要がなく、直ちにプリンタ３００の最新の状態情報をタブレット１００に通知することが可能である。
【００５３】
また、本実施形態では、タブレット１００とウェブプリントサーバ２００との間をＨＴＴＰのウェブネットワークにより接続しており、１回のセッション毎に接続が切れる環境であっても、タブレット１００は１回のセッションでそのときのプリンタ３００の状態情報を取得するのみならず、状態の変化の有無を示す情報も取得することができる。また、このように状態変化に関する情報を取得するために、専用のドライバソフトをタブレット１００にインストールする必要もない。さらに、図１では１台のタブレット１００のみ示しているが、複数のタブレット１００とウェブプリントサーバ２００とを接続することが可能であり、当該複数のタブレット１００においてプリンタ３００の状態を監視することもできる。
【００５４】
なお、上記実施形態では、タブレット１００とウェブプリントサーバ２００とプリンタ３００とをそれぞれ別体として構成する例について説明したが、本発明はこれに限定されない。例えば、図５（ａ）に示すように、タブレット１００がウェブプリントサーバ２００の機能を内蔵するようにしてもよい。また、図５（ｂ）のように、プリンタ３００がウェブプリントサーバ２００の機能を内蔵するようにしてもよい。
【００５５】
また、上記実施形態では、タブレット１００とウェブプリントサーバ２００との間の通信、ウェブプリントサーバ２００とプリンタ３００との間の通信を非同期で独立して行う例について説明したが、本発明はこれに限定されない。タブレット１００が状態取得要求を送信してからその応答を得るまでのレスポンス性能が落ちるものの、タブレット１００からウェブプリントサーバ２００に対して状態取得要求があったときに、これを受けてウェブプリントサーバ２００からプリンタ３００に対して状態取得要求を続けて行うようにしてもよい。
【００５６】
また、上記実施形態では、プリンタ３００の状態に変化があったと状態変化判定部２４により判定された場合、状態変化通知部２５がタブレット１００に最新の状態情報を通知する例について説明したが、本発明はこれに限定されない。例えば、最新の状態情報と直近の状態情報とを合わせて、その変化の履歴が分かるような情報を通知するようにしてもよい。例えば、インクまたはトナーの残量がフルだったものが８０％まで減った場合、「１００→８０」といったような状態変化を表す情報を通知するようにしてもよい。この場合、記憶部２６には、最新の状態情報のみではなく、過去の少なくとも直近１回の状態情報と併せて記憶しておく。または、最新の状態情報と過去の状態情報とを合成し、変化の履歴が分かる１つの情報として記憶部２６に記憶しておくようにしてもよい。
【００５７】
また、上記実施形態では、ホストの一例としてタブレット１００を挙げて説明したが、本発明はこれに限定されない。例えば、ホストの別の例として、スマートフォン、パーソナルコンピュータ、ＰＯＳサーバ、ＰＯＳ端末などを用いることも可能である。
【００５８】
また、上記実施形態は、状態を監視する対象のデバイスを１つとした場合であって、プリンタ３００を例に挙げて説明したが、本発明はこれに限定されない。例えば、図６は、監視対象のデバイスとして、プリンタ３００およびプリンタ３００に対して接続されたキャッシュドロア４００を用いた構成例を示す図である。プリンタ３００は、キャッシュドロア４００の状態を問い合わせる状態取得要求を定期的に送信し、その応答としてキャッシュドロア４００の状態情報を取得して記憶する。そして、プリンタ３００は、ウェブプリントサーバ２００から状態取得要求を受信したときに、自身の状態を検出してウェブプリントサーバ２００に通知する際に、キャッシュドロア４００の状態情報もあわせて通知する。なお、その際、プリンタ３００は自身の状態に関わらず、キャッシュドロア４００の状態情報のみを通知してもよい。
【００５９】
また、図６では、状態を監視する対象のデバイスとしてプリンタ３００とキャッシュドロア４００を例に挙げて説明したが、本発明はこれに限定されない。例えば、ＢＣＲ（Bar Code Reader）、決済端末、計測機器、通信装置、スキャナ、ファクシミリ、ストレージなどを状態監視対象のデバイスとして用いることも可能である。
【００６０】
なお、図６のようにプリンタ３００に対してその他のデバイスを接続する構成は一例に過ぎない。例えば、ウェブプリントサーバ２００に代えて、プリンタ３００以外のデバイスを動作させることが可能なウェブアプリケーションを搭載したウェブサーバを備え、このウェブサーバに対し、プリンタ３００以外のその他のデバイスを接続するようにしてもよい。
【００６１】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６２】
１１  第１の状態取得要求部
１２  状態変化通知受信部
１３  イベント実行部
２１  第１の状態取得要求受信部
２２  第２の状態取得要求部
２３  状態情報取得部
２４  状態変化判定部
２５  状態変化通知部
２６  記憶部
３１  第２の状態取得要求受信部
３２  状態情報通知部
１００  タブレット（ホスト）
２００  ウェブプリントサーバ（ウェブサーバ）
３００  プリンタ（デバイス）
４００  キャッシュドロア（デバイス）
【図１】
2018032298.tif 000003
【図２】
2018032298.tif 000004
【図３】
2018032298.tif 000005
【図４】
2018032298.tif 000006
【図５】
2018032298.tif 000007
【図６】
2018032298.tif 000008