(57)【要約】【課題】ユーザーへの通知が必要な、優先度の高いステータス情報を自動で判定して通知を行う。【解決手段】装置における所定のステータス項目のステータスを示すステータス情報を取得し、取得されたステータス情報が示す所定のステータス項目のステータスが、当該取得よりも前に取得されたステータス情報が示すステータスとは異なるステータスである場合と、当該所定のステータス項目の優先度が所定の優先度よりも高い場合の少なくとも一方を満たすことを条件として、当該取得されたステータスをユーザーへ通知するための通知対象として決定する。【選択図】  図９
2015037225.tif 000002
【特許請求の範囲】
【請求項１】
装置における所定のステータス項目のステータスを示すステータス情報を取得する取得手段と、
前記取得手段により取得された前記ステータス情報が示す前記所定のステータス項目のステータスが、当該取得よりも前に取得されたステータス情報が示すステータスとは異なるステータスである場合と、当該所定のステータス項目の優先度が所定の優先度よりも高い場合の少なくとも一方を満たすことを条件として、当該取得されたステータスをユーザーへ通知するための通知対象として決定する決定手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、更に、前記取得手段により取得されたステータスがエラーに対応することを条件として、当該ステータスをユーザへの通知対象として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段により取得されたステータス情報を保存する管理部を更に備え、
前記決定手段は、前記取得手段により取得された前記ステータス情報が示すステータスを前記管理部に保存される内容と比較することによって、前記取得手段により取得されたステータス情報が示すステータスとは異なるステータスを確認することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記取得手段により取得されたステータス情報が複数のステータス項目のステータスを示す場合、前記決定手段は、当該複数のステータス項目のうち、前記条件を満たすステータス項目を決定し、当該決定されたステータス項目に対応するステータスを通知対象として決定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段は、前記装置における複数のステータス項目と前記通知の優先度との対応が示された優先度情報を保持し、該優先度情報を用いることによって、前記決定を行うことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記決定手段は、更に、前記取得手段により取得された時刻と前回に取得された時刻との時間差に基づいて、前記決定を行うことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記決定手段により前記所定のステータス項目のステータスが通知対象として決定された場合、当該決定を示す情報を外部装置に送信する送信手段を更に有し、
前記外部装置は、前記送信手段による前記情報の送信に応じて、前記ステータスをユーザーに通知することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記取得手段は、前記装置から前記ステータスと当該装置のＩＤを取得し、前記決定手段は、当該取得されたＩＤと、当該取得よりも前に取得されたＩＤに基づいて、当該取得よりも前に取得された当該装置のステータスを特定することで、当該装置のステータスの変化を判定することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記ステータス情報は、前記ステータスと該装置のＩＤを含むことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
装置における所定のステータス項目のステータスを示すステータス情報を取得する取得工程と、
前記取得工程において取得された前記ステータス情報が示す前記所定のステータス項目のステータスが、当該取得よりも前に取得されたステータス情報が示すステータスとは異なるステータスである場合と、当該所定のステータス項目の優先度が所定の優先度よりも高い場合の少なくとも一方を満たすことを条件として、当該取得されたステータスをユーザーへ通知するための通知対象として決定する決定手段とを備えることを特徴とする情報処理方法。
【請求項１１】
第１の情報処理装置と、第２の情報処理装置を有するシステムであって、
前記第１の情報処理装置は、
装置における所定のステータス項目のステータスを示すステータス情報を取得する取得手段と、
前記取得手段により取得された前記ステータス情報が示す前記所定のステータス項目のステータスが、当該取得よりも前に取得されたステータス情報が示すステータスとは異なるステータスである場合と、当該所定のステータス項目の優先度が所定の優先度よりも高い場合の少なくとも一方を満たすことを条件として、当該取得されたステータスをユーザーへ通知するための通知対象として決定する決定手段とを備え、  前記第２の情報処理装置は、
前記決定手段により前記決定が行われた場合、前記ステータスに基づく通知を受信する受信手段を備えることを特徴とするシステム。
【請求項１２】
請求項１乃至請求項９のいずれか１項に記載の情報処理装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、およびプログラム、情報処理システムに関する。特に、ネットワークに接続されたパーソナルコンピューター（以下、ＰＣと称す）やモバイル端末等と、ネットワークに接続された多機能プリンタのような周辺装置を制御する、ネットワークに接続された情報処理装置に関する。
【背景技術】
【０００２】
近年、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）と呼ばれる、誰でも自由に登録できるインターネットサービスが広く普及している。なかでもＴｗｉｔｔｅｒ（登録商標）といったリアルタイムコミュニケーションツールは、登録したユーザーがミニブログと呼ばれる、つぶやきのようなメッセージをリアルタイムに送信することを可能としている。また、リアルタイムコミュニケーションツールは、他のユーザーを登録する機能があり、さらに多くのつぶやきメッセージをリアルタイムに受信することも可能である。こうしたリアルタイムコミュニケーションツールでは、通信負荷の増加を防ぐためや、通知対象のユーザーに過度のストレスを与えないことを目的に、情報の通知回数に制限を設けている場合がある。
【０００３】
一方、インスタントメッセージのような機能を用い、遠隔の周辺装置のステータス情報を、情報処理装置にアクセスしているユーザーへリアルタイムに通知するという技術が存在する。ここでいう周辺装置の例としては、テレビ、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、およびこれらの複合機である。情報処理装置と周辺機器はネットワークに接続され、情報処理装置は周辺機器から受信したステータス情報をユーザーへ通知する。このような技術において、情報処理装置が、受信したステータス情報すべてをユーザーへ通知する場合、ユーザーが望まない情報や、タイムリーでない情報も通知される可能性がある。これに対して、数値化可能なステータス情報について、閾値となる数値をユーザーが設定し、閾値に達した数値をもつステータス情報がユーザーに通知されるという技術が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第６２６０１４８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、ステータス情報の数値が継続的に閾値に達している場合などは、ステータス情報が何度もユーザーに通知されてしまうため、通知回数制限を超えてしまう可能性があった。その結果、本来必要なステータス情報がユーザーに通知されないことがあり得た。
【０００６】
本発明は、上記課題に鑑みて為されたものであり、ユーザーへの通知が必要な、優先度の高いステータス情報を自動で判定して通知を行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するための一手段として、本発明の情報処理装置は以下の構成を備える。すなわち、装置における所定のステータス項目のステータスを示すステータス情報を取得する取得手段と、前記取得手段により取得された前記ステータス情報が示す前記所定のステータス項目のステータスが、当該取得よりも前に取得されたステータス情報が示すステータスとは異なるステータスである場合と、当該所定のステータス項目の優先度が所定の優先度よりも高い場合の少なくとも一方を満たすことを条件として、当該取得されたステータスをユーザーへ通知するための通知対象として決定する決定手段とを備える。
【発明の効果】
【０００８】
ユーザーへの通知が必要な、優先度の高いステータス情報を自動で判定して通知を行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ＭＦＰの概略構成を示すブロック図。
【図２】ＰＣの概略構成を示すブロック図。
【図３】ネットワーク構成を示すブロック図。
【図４】実施形態１におけるサーバーおよびクライアントのソフトウェア構成図。
【図５】ステータス情報を送信する際のＸＭＬフォーマットの一例を示す図。
【図６】エラー情報テーブルの例を示す図。
【図７】ステータス情報テーブルの例を示す図。
【図８】優先度情報テーブルの例を示す図。
【図９】実施形態１におけるＭＦＰとサーバーの動作フロー図。
【図１０】ユーザーへの通知表示画面を示す図。
【図１１】実施形態２におけるサーバーおよびクライアントのソフトウェア構成図。
【図１２】受信時刻管理テーブルの例を示す図。
【図１３】受信間隔情報テーブルの例を示す図。
【図１４】実施形態２におけるＭＦＰとサーバーの動作フローの図。
【図１５】ＳＮＳアカウント情報テーブルの例を示す図。
【図１６】ＳＮＳアカウントの登録時のＭＦＰの動作フロー図。
【図１７】ステータス情報通知のためのアカウント設定処理を説明する図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１１】
まず、以下に説明する実施形態において共通に用いられるＭｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ（複合機能周辺装置、以下、ＭＦＰと称す）、ＰＣ、及びこれらを接続するネットワーク構成について説明する。また、ＭＦＰとＰＣを用いて行われる一般的なクラウド印刷についても説明する。なお、図３には、ＭＦＰとＰＣを接続するネットワーク構成を示すブロック図が示されている。
【００１２】
図１は、実施形態におけるＭＦＰ１００の概略構成を示すブロック図である。ＭＦＰ１００は、プリンタ機能、スキャナ機能及びストレージ機能を備えており、ネットワークを経由して、それぞれの機能のサービスや、それぞれの機能を組み合わせたサービスを提供することができる。ＭＦＰ１００において、プリンタ機能はプリンタ部１０１で、スキャナ機能はスキャナ部１０２で、ストレージ機能はメモリカード装着部１０３及びメモリカード１０４で実現される。
【００１３】
プリンタ部１０１は、外部から受信したプリントデータやメモリカード１０４に格納されている画像データなどを、インクジェット方式や電子写真方式などによって印刷用紙にプリントする。スキャナ部１０２は、原稿台にセットされた原稿を光学式に読み取って電子データに変換し、変換したデータを指定されたファイル形式のデータに変換してネットワーク経由で外部装置に送信する。なお、スキャナ部１０２は、指定されたファイル形式のデータを外部装置に送信するのではなく、ＭＦＰ内の保存領域（不図示）に保存してもよい。
【００１４】
プリンタ機能とスキャナ機能が組み合わされて提供可能なコピーサービスでは、スキャナ部１０２が原稿を読み取って生成した画像データをプリンタ部１０１へ転送し、プリンタ部１０１が印刷用紙にその原稿データをプリントすることが可能である。また、ストレージ機能が提供可能なサービスでは、メモリカード１０４に格納されているデータを、ネットワークを経由して接続された外部装置が読み出して編集した後、外部装置からメモリカード内に更新データを格納することが可能である。なお、これらのサービスは一例に過ぎず、実施形態に応じてあらゆるサービスの提供が可能である。
【００１５】
ＣＰＵ１０５は、ＭＦＰ内の各部を制御する。プログラムメモリ１０６は、ＲＯＭなどからなり、ＣＰＵ１０５が読み出すプログラムコードなどを格納する。ワークメモリ１０７は、ＲＡＭなどからなり、各サービス実行時に画像データなどを一時的に格納したり、バッファリングしたりする。表示部１０８は、ＬＣＤなどを含み、ユーザーへの表示が行われる。操作部１０９は、後述する各スイッチを含み、ユーザーによる操作が行われる。
【００１６】
ネットワーク通信部１１０は、ＭＦＰ１００をネットワークに接続させるための各種通信制御を行い、ネットワーク接続部１１１は、ネットワーク通信部１１０をネットワーク媒体に接続する。ネットワーク通信部１１０は、有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。ネットワーク通信部１１０が有線ＬＡＮに対応する場合、ネットワーク接続部１１１は有線ＬＡＮのケーブルをＭＦＰ１００に接続するためのコネクタとなる。また、ネットワーク通信部１１０が無線ＬＡＮに対応する場合、ネットワーク接続部１１１はアンテナとなる。またメモリ１１２は、不揮発性フラッシュなどからなり、ネットワーク通信部１１０が受信したデータを格納する。信号線１１３は、以上に説明したＭＦＰ内の各部を接続する。なお、ＭＦＰ１００は、プログラムメモリ１０６などにＷｅｂブラウザ（非図示）を更に備えることにより、情報処理サーバーとＨＴＴＰ通信またはＨＴＴＰＳ通信を行うことが可能である。
【００１７】
図２は、実施形態における情報処理装置の一例であるＰＣ２００の概略構成を示すブロック図である。ＰＣ２００において、ＣＰＵ２０１は、ＰＣ２００内の各部を制御する。ディスク装置２０２は、ＣＰＵ２０１が読み出すアプリケーションプログラムやＯｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ（以下、ＯＳと称す）などがインストールされ、各種ファイルなどを格納する。外部ディスク読み取り装置２０３は、ＣＤ−ＲＯＭなどの外部記憶媒体の内容を読み出す。メモリ２０４は、データを一時的に格納したり、バッファリングしたりする。表示部２０５は、ＬＣＤを含み、ユーザーへの表示を行う。操作部２０６は、キーボードやマウスなどを含み、ユーザーによる操作が行われる。
【００１８】
ネットワーク通信部２０７は、ＰＣ２００をネットワークに接続させるための各種通信制御を行い、ネットワーク接続部２０８は、ネットワーク通信部２０７をネットワーク媒体に接続する。ＭＦＰ１００と同様に、ネットワーク通信部２０７とネットワーク接続部２０８は、有線ＬＡＮと無線ＬＡＮの内、少なくともいずれかに対応する。具体的な形態は、ＭＦＰ１００内のネットワーク通信部１１０及びネットワーク接続部１１１と同様に、対応可能なＬＡＮに応じて必要な機能及び形態をとる。信号線２０９は各部を接続する。ＵＳＢ通信部２１０は、コネクタなどのＵＳＢ接続部２１１と接続し、各種周辺装置とＵＳＢインターフェースを介して通信を行う。
【００１９】
図３は、図１に示したＭＦＰ１００と図２に示したＰＣ２００と同様の構成を含むクライアント３０１とサーバー３０２、３０３およびＳＮＳサーバー３０４を含むネットワークシステムの概略構成を示すブロック図である。図３において、クライアント３０１は、クライアント用ＯＳがインストールされた、ＰＣ２００と同様の構成のＰＣである。なお、クライアント３０１は、ＰＣ以外にも、スマートフォンなどの種々の装置であってもよい。サーバー３０２とサーバー３０３は、サーバー用ＯＳがインストールされた、ＰＣ２００と同様の構成のＰＣである。ＳＮＳサーバー３０４は、メッセージの投稿、閲覧などのサービスを提供するＰＣ２００と同様の構成のＰＣである。例えば、ＳＮＳサーバー３０４は、Ｔｗｉｔｔｅｒ（登録商標）のような、ＷｅｂアプリケーションとしてのＳＮＳアプリケーションをサービスとして提供している。
【００２０】
ＭＦＰ１００、サーバー３０２、サーバー３０３、クライアント３０１、ＳＮＳサーバー３０４は、インターネット３５０を介して接続されている。ＭＦＰ１００は、インターネット３５０を介してサーバー３０２と通信をする。クライアント３０１は、インターネット３５０を介してサーバー３０３と通信をする。なお、インターネット３５０への接続方式は、有線ＬＡＮであっても無線ＬＡＮであってもよい。また、インターネット３５０に接続されているクライアントとサーバーとＭＦＰの台数は、図３に示す例に限定されるものではなく、２台未満であっても、また３台以上であってもよい。
【００２１】
ここで、実施形態における印刷処理の流れとして、一般的なクラウド印刷の説明を行う。なお、クライアント３０１には、アプリケーションプログラムの一つとして、Ｗｅｂブラウザがインストールされており、サーバー３０２には、Ｗｅｂアプリケーションがインストールされているものとする。まず、ユーザーは、クライアント３０１のＷｅｂブラウザを介してサーバー３０２のＷｅｂアプリケーションに対して印刷を指示し、出力先のプリンタとしてＭＦＰ１００を指定する。サーバー３０２は、Ｗｅｂアプリケーションによって作成されたアプリケーション文書を、ＰＤＦ（Ｐｏｒｔａｂｌｅ Ｄｏｃｕｍｅｎｔ Ｆｏｒｍａｔ）に代表される汎用的な電子文書に形式変換する。そして、サーバー３０２は、別途保存してある印刷設定情報（不図示）と形式変換した電子文書を用いて、描画命令を発行する。さらに、サーバー３０２に搭載されたプリンタドライバ（不図示）は、発行された描画命令をＭＦＰ１００が解釈可能な印刷命令に変換し、ＭＦＰ１００に送信する。
【００２２】
ＭＦＰ１００は、サーバー３０２から受信した印刷命令に従い印刷動作を行い、所望の印刷物を得る。また、ＭＦＰ１００は、ステータス情報を一定間隔でサーバー３０２に送信する。ステータス情報が示すステータスの種類としては、印刷開始、印刷完了、プリンタビジー、紙なし、紙ジャム、紙カセット交換、インク少量、インク切れ、カバーオープンなどがある。ＭＦＰ１００は、これらのステータスそれぞれに対応するコードをワークメモリ１０７に一旦保存し、ＭＦＰ１００のＩＤと共に、ネットワーク接続部１１１を介しサーバー３０２に送信する。
【００２３】
以下、上述の構成のネットワークシステムにおいて実現されるいくつかの実施形態について説明する。なお、後述の実施形態のような通知処理を行うにあたり、ユーザーは、次に示すアカウント設定処理が完了していることが必要条件とする。すなわち、ユーザーはあらかじめ、ＳＮＳアプリケーションを利用するための、ユーザー自身のアカウント（以下、アカウント１）を、クライアント３０１上で作成しておく必要がある。なお、アカウント作成に併せて、パスワードの設定も行う必要がある。同様に、ユーザーは、ＭＦＰ１００のステータス情報をＳＮＳサーバー３０４に投稿させるためのアカウント（以下、アカウント２）をＭＦＰ１００上もしくはクライアント３０１上で作成しておく必要がある。また、ユーザーはＭＦＰ１００上で、アカウント２を用いてＭＦＰ１００のステータス情報をＳＮＳサーバー３０４に投稿できるよう設定しておく必要がある。さらにユーザーは、クライアント３０１上で、ＳＮＳアプリケーションを利用するためのアカウント１で、アカウント２をフォロー（他のユーザーの投稿を自分の画面に表示されるよう、ユーザーを登録すること）しておく必要がある。
【００２４】
図１７は、ステータス情報通知のためのアカウント設定処理を説明する図である。図１７（ａ）は、ＭＦＰ１００の表示部１０８に、メニュー画面が表示された図である。ユーザーによって「ＳＮＳ通知サービス」と表示されたボタンが押下されると、ＭＦＰ１００とサーバー３０３は、図１６のフローチャートに示す処理を行う。まず、Ｓ１で、ＭＦＰ１００は表示部１０８に図１７（ｂ）のような登録画面を表示する。Ｓ２で、ＭＦＰ１００は、ユーザーによってＳＮＳアカウント（アカウント２）およびパスワードが入力され、登録ボタンが押下されるのを待つ（Ｓ２：Ｎｏ）。そして、ユーザーがＭＦＰ１００上でＳＮＳアカウントおよびパスワードを入力し、登録ボタンを押下した場合、Ｓ３で、ＭＦＰ１００は、ＭＦＰＩＤ（ＭＦＰ毎に割り当てられた固有のＩＤ）、入力されたＳＮＳアカウントおよびパスワードをサーバー３０３へ送信する。Ｓ４で、ＭＦＰ１００は表示部１０８に図１７（ｃ）のような登録完了画面を表示する。Ｓ５で、サーバー３０３は、ＭＦＰＩＤ、ＳＮＳアカウントおよびパスワードを受信し、受信したＳＮＳアカウントとパスワードを、受信したＭＦＰＩＤの対応情報として保存する。以上の処理が終了することで、ＳＮＳアカウントを使ってＭＦＰ１００のステータス情報がＳＮＳサーバー３０４に投稿されるための設定が完了する。
【００２５】
＜実施形態１＞
実施形態１では、サーバー３０２は、ＭＦＰ１００から受信したステータス情報を、サーバー３０２における複数の抽出手段を通してサーバー３０３を介してクライアント３０１へ通知する。すなわち、サーバー３０２は、受信したステータス情報のうち、まずは前回受信したステータス情報との差異があるステータスを抽出するステータス変化抽出処理を行う。次に、サーバー３０２は、ステータス変化抽出処理において抽出されたステータスについて、エラー情報を抽出するエラー抽出処理を行う。さらに、サーバー３０２は、ステータス変化がなくても通知の優先度の高いステータス情報を抽出する優先度抽出処理を行う。そして、これらの抽出に基づいて選択されたステータス情報がユーザーに通知される。これらの処理により、ユーザーが必要とするステータス情報をなるべく取りこぼすことなく、通知回数を抑えることを達成できる。
【００２６】
なお、本実施形態において、通知の優先度が高いステータス情報とは、より早くユーザーに通知する必要があるステータス情報をいう。例えば、ＭＦＰ１００が印刷を続行することが不可能な状態にあり、そのような状態からの回復にユーザーオペレーションが必要となるステータス情報が挙げられる。なお、この優先度は予め決められていてもよいし、ユーザーが設定してもよい。或いは、予め決められている優先度を、ユーザー変更、調整するようにしてもよい。
【００２７】
また、本実施形態では、ＭＦＰ１００からサーバー３０２に定期的にステータス情報の通知が行われるものとするが、ステータス情報通知のタイミングはこれに限定されない。例えば、ステータス情報通知は、印刷開始前、印刷中などの任意のタイミングで行われてもよい。また、ステータス情報通知は、サーバー３０２からＭＦＰ１００へ問い合わせるようなポーリングによって行われてもよい。なお、この優先度は予め決められていてもよいし、ユーザーが設定してもよい。或いは、予め決められている優先度を、ユーザー変更、調整するようにしてもよい。
【００２８】
図４は、本実施形態におけるソフトウェア構成図である。サーバー３０２は、ＭＦＰ１００からステータス情報を受信し、前回と異なるステータス情報であってエラーを含むステータス情報や優先度の高いステータス情報を抽出し、抽出したステータス情報をサーバー３０３へ送信する通知ステータス送信サービスを提供する。また、サーバー３０３は、サーバー３０２からステータス情報を受信し、受信したステータス情報に基づいてメッセージを作成しＳＮＳサーバー３０４へ送信するプリンターアプリケーションサービスを提供する。以下に、まずサーバー３０２による通知ステータス送信サービスについて説明する。
【００２９】
サーバー３０２のステータス受信部４０１は、ＭＦＰ１００から送信されたＭＦＰ１００のステータス情報を受信する。ステータス情報は、たとえば図５（ａ）のようなＸＭＬフォーマットで記述され、ステータス情報が示す、エラーが発生している各ステータス項目のステータスＩＤが送信される。エラーが発生しているステータス項目が複数ある場合は図５（ｂ）のように、ステータスＩＤがカンマ区切りで記述される。また、ステータス情報にはステータス情報を送信したＭＦＰのＭＦＰＩＤも付与されている。
【００３０】
なお、ＭＦＰ１００におけるステータスの項目が複数ある場合、ＭＦＰ１００からサーバー３０２に送信されるステータス情報は、全てのステータス項目についてエラーの有無を示す情報であってもよいし、エラーがある項目について通知する情報であってもよい。後者のように、エラーがある項目がステータス情報として記載される場合、例えばＭＦＰ１００において複数のステータス項目のそれぞれに対するエラーの有無が判定され、ＭＦＰ１００がエラーである項目を示すステータス情報を作成して、サーバー３０２に送信する。
【００３１】
サーバー３０２のステータス変化抽出部４０２は、ＭＦＰ１００から前回受信したステータス情報と、ＭＦＰ１００から今回受信したステータス情報とを比較する。ＭＦＰ１００から前回受信したステータス情報は、ステータス情報管理部４０５が保持するステータス情報テーブル１１００（図７）に保存されている。ステータス変化抽出部４０２は、前回受信したステータス情報と今回受信したステータス情報とを比較して、変化のあったステータスを確認して抽出し、ステータス変化管理部４０３に保存する。
【００３２】
図７は、ステータス情報管理部４０５が保持する、ステータス情報テーブル１１００の例である。ステータス情報テーブル１１００において、ＭＦＰＩＤ１１０１は、ＭＦＰ毎に割り当てられるＩＤである。ＭＦＰＩＤ１１０１の値は、ステータス情報テーブル１１００内でその値が重複することがないように設定される。また、ＭＦＰＩＤ１１０１は、ステータス情報テーブル１１００内でＭＦＰのステータス情報を検索する際の主キーとなる。ＭＦＰステータス１１０２は、エラーとなっているエラー項目に対応するステータスＩＤである。図５（ｂ）に示したように、ステータス情報にエラーに対応するステータスが複数含まれる場合は、一つのＭＦＰＩＤ１１０１に対して、ＭＦＰステータス１１０２は複数のステータスＩＤを含む。ステータス情報テーブル１１００には、他にもＭＦＰごとに管理、保持されるデータを格納することが出来る。例えば、ＭＦＰの仕向けの関連情報、ＭＦＰのバージョン情報などが考えられるが、それ以外の項目が存在していても構わない。
【００３３】
ステータス変化抽出部４０２は、ＭＦＰ１００から受信したステータス情報（図５）を、ステータス情報管理部４０５に記憶された前回のステータス情報（図７）と比較することでステータスの変化を判定することができる。具体的には、ステータス変化抽出部４０２は、図７に示すステータス情報テーブル１１００において、図５のステータス情報に含まれているＭＦＰＩＤに該当するＭＦＰＩＤを特定する。そして、特定されたＭＦＰＩＤに対応するステータスＩＤと、図５に示した今回のステータスＩＤとを比較する。例えば今回のステータス情報に、前回のステータス情報には含まれていないステータスＩＤがある場合、当該ステータスＩＤに対応するステータス項目について、前回ステータス情報を取得してからエラーが発生したと判定することができる。一方、前回のステータス情報には含まれていたステータスＩＤが今回のステータス情報に含まれていない場合、前回ステータス情報を取得したときからエラーが解消されたものと判定することができる。
【００３４】
ステータス変化抽出部４０２は、上記のように前回と今回で変化のあり、今回のステータス情報に含まれるステータスＩＤを抽出し、そのステータス項目のステータスＩＤについてステータス変化管理部４０３に通知する。即ち、前回から、エラー無し状態からエラー情報に変化したステータスＩＤがステータス変化管理部４０３に通知される。さらに、ステータス変化抽出部４０２は、今回受信したステータス情報を、次回の比較のために、ステータス情報管理部４０５が保持する、ステータス情報テーブル１１００に登録する。
【００３５】
サーバー３０２のステータス変化管理部４０３は、ステータス変化抽出部４０２により抽出されたステータス情報（ＭＦＰＩＤと前回から変化のあるステータス項目のステータスＩＤ）を保存管理する。サーバー３０２のエラー抽出部４０４は、ステータス変化管理部４０３に保存されているステータス情報からエラーの抽出を行い、抽出したエラーを通知ステータス管理部４０７に保存する。なお、エラー抽出部４０４は、ステータスＩＤと、ステータス情報の内容を示すステータス名、ステータスがエラーか否かが示されたエラー情報テーブル１０００（図６）を保持し、このテーブルを用いてエラーの抽出を行う。サーバー３０２の通知ステータス管理部４０７は、エラーが検出されて通知対象として決定されたステータスを含むステータス情報を保存管理する。
【００３６】
図６は、エラー抽出部４０４が保持する、エラー情報テーブル１０００の例である。エラー情報テーブル１０００において、ステータスＩＤ１００１は、各ステータスのステータスＩＤである。ステータスＩＤ１００１の値は、エラー情報テーブル１０００内でこの値が重複することがないように設定される。また、ステータスＩＤ１００１は、エラー情報テーブル１０００内でステータスを検索する際の主キーとなる。ステータス名１００２は、ステータスの内容である。エラー判定１００３は、ステータスがエラーか否かが示された真理値情報である。すなわち、前回エラー無し状態であり、今回エラー状態に変化した、ユーザーにエラー情報として通知すべきステータス項目についてはＴｒｕｅと設定される。例えば、「インクロー」のステータスは、前回はインク残量が所定の残量以上であったが、現在のインク残量が所定の残量より少なく、ＭＦＰの動作に影響が生じるため、Ｔｒｕｅと設定される。一方、「クリーニング中」のステータスは、少なくとも今回はＭＦＰの動作に特段支障がないので「Ｆａｌｓｅ」と設定される。
【００３７】
エラー抽出部４０４は、ステータス変化管理部４０３に保存されているステータス情報に含まれるステータスＩＤと一致する、エラー情報テーブルのステータスＩＤ１００１について、エラー判定１００３がＴｒｕｅであるか否かを判定する。Ｔｒｕｅである場合、エラー抽出部４０４は、そのステータスＩＤを通知対象のステータス項目として含むステータス情報を通知ステータス管理部４０７へ保存する。エラー抽出部４０４は、ステータス変化管理部４０３に保存されているステータス情報が複数のステータスを含む場合は、すべてのステータスに対して判定を行う。そして、エラー抽出部４０４は、Ｔｒｕｅに一致したステータスすべてを含むステータス情報を通知ステータス管理部４０７へ保存する。
【００３８】
以上の処理により、前回ＭＦＰ１００からステータス情報を受信してから、今回ステータス情報を受信するまでにエラーが発生したステータス項目について通知対象として決定することができる。
【００３９】
サーバー３０２の優先度抽出部４０６は、ＭＦＰ１００における複数のステータス項目の中から、優先度の高いステータスの抽出を行い、抽出したステータス項目のステータスを通知ステータス管理部４０７に保存する。なお、優先度抽出部４０６は、ステータスの抽出を行うため、ステータスＩＤと、これに対応するステータス名、通知の優先度が示された対応情報テーブル１２００（図８）を保持する
【００４０】
図８は、優先度抽出部４０６が保持する、優先度情報テーブル１２００である。優先度情報テーブル１２００において、ステータスＩＤ１２０１は、各ステータス情報のステータスＩＤである。ステータスＩＤ１２０１は、テーブル１２００内でこの値が重複することがないように設定される。また、ステータスＩＤ１２０１は、優先度情報テーブル１２００内でステータス情報を検索する際の主キーとなる。ステータス名１２０２は、ステータスの内容である。通知優先度１２０３は、ステータスの通知の優先度を示す。例えば、「インクロー」のステータスは、緊急にＭＦＰの動作に影響を与えないため、「Ｌｏｗ」と設定される。一方、「紙ジャム」のステータスは、緊急にＭＦＰの動作に影響を与えるため、「Ｈｉｇｈ」と設定される。なお、この優先度は予め決められていてもよいし、ユーザーが設定してもよい。或いは、予め決められている優先度を、ユーザー変更、調整するようにしてもよい。ユーザが設定、変更、調整する場合、ユーザーがサーバ３０１の操作部を用いてそのような操作を行ってもよいし、ＭＦＰ１００やネットワーク上のその他の端末の表示部に優先度設定のための画面を表示し、ユーザーがその画面上で優先度の設定、変更、調整を行い、操作後の優先度がサーバ３０１に通知されてもよい。なお、上記の優先度設定のための画面は、サーバ３０１が提供してもよい。
【００４１】
優先度抽出部４０６は、受信したステータス情報に含まれるエラーが発生しているステータス項目のステータスＩＤと一致する、テーブル１２００のステータスＩＤ１２０１について、通知優先度１２０３の値がＨｉｇｈであるか否かを判定する。Ｈｉｇｈである場合、優先度抽出部４０６は、そのステータスＩＤを通知ステータス管理部４０７へ保存する。優先度抽出部４０６は、受信したステータス情報に複数のステータスが含まれている場合、すべてのステータスに対して判定を行い、Ｈｉｇｈであるステータスすべてが含まれたステータス情報を通知ステータス管理部４０７へ保存する。優先度抽出部４０６による処理により、エラーが発生しており且つ優先度に「Ｈｉｇｈ」が設定されているステータス項目を通知対象として決定することができる。
【００４２】
前述のように、サーバー３０２の通知ステータス管理部４０７は、エラー抽出部４０４と優先度抽出部４０６から各々抽出され、通知対象とされたステータスを保存管理する。そして、サーバー３０２の通知ステータス送信部４０８は、通知ステータス管理部４０７に保存されているＭＦＰ１００のステータス情報を、サーバー３０２の通知受信部５０１へ送信する。なお、通知の優先度が高いステータス項目が前回からエラー状態に変化した場合、エラー抽出部４０４と優先度抽出部４０６の両方で抽出されることになる。この場合、同一のステータスＩＤが抽出するため、通知ステータス管理部４０７は、それらが重複しないように管理する。これにより、通知ステータス送信部４０８が同一のステータスＩＤを重複して送信し、同一のエラー通知が重複して行われてしまうことを防ぐことができる。一方で、サーバー３０２のステータス情報更新部４０９は、ステータス受信部４０１が受信したＭＦＰ１００のステータス情報を、ステータス情報管理部４０５に保存されている内容に上書きすることにより、ＭＦＰのステータス情報を更新する。これにより、ＭＦＰ１００から前回受信したステータス情報が、今回受信したステータス情報に更新される。以上が、サーバー３０２による通知ステータス送信サービスの内容である。
【００４３】
次に、サーバー３０３によるプリンターアプリケーションサービスについて説明する。サーバー３０３の通知受信部５０１は、サーバー３０２からＭＦＰ１００のステータス情報を受信する。メッセージ作成部５０２は、通知受信部５０１が受信したステータス情報により、通知メッセージの作成を行う。サーバー３０３のアカウント情報管理部５０３は、ＭＦＰ毎に登録されたＳＮＳアカウント情報（アカウント２とパスワード）を、テーブル１５００（図１５）を用いて保存管理する。アカウント情報取得部５０４は、アカウント情報管理部５０３より、ＭＦＰ１００上で事前に登録されたＳＮＳのアカウント情報を取得する。サーバー３０３のメッセージ送信部５０５は、作成した通知メッセージ、アカウント情報管理部５０３より取得したＳＮＳアカウント、パスワードをインターネット経由でＳＮＳサーバー３０４に送信する。
【００４４】
図１５は、アカウント情報管理部５０３が保持する、ＳＮＳアカウント情報テーブル１５００の例である。ＳＮＳアカウント情報テーブル１５００において、ＭＦＰＩＤ１５０１は、ＭＦＰ毎に割り当てられるＩＤである。ＭＦＰＩＤ１５０１の値は、テーブル１５００内でこの値が重複することがないように設定される。また、ＭＦＰＩＤ１５０１は、アカウント情報テーブル１５００内でＭＦＰのＳＮＳアカウント情報を検索する際の主キーとなる。ＳＮＳアカウント１５０２は、ＭＦＰ毎に登録されているＳＮＳのアカウント名である。パスワード１５０３は、ＭＦＰ毎に登録されているＳＮＳのアカウントのパスワードである。以上が、サーバー３０３によるプリンターアプリケーションサービスの内容である。
【００４５】
ＳＮＳサーバー３０４は、サーバー３０３から通知メッセージ、ＳＮＳアカウント、パスワードを受信する。ＳＮＳサーバー３０４のＳＮＳアプリケーション７０１は、Ｔｗｉｔｔｅｒ（登録商標）のようなＷｅｂアプリケーションとしてのＳＮＳアプリケーションをサービスとして提供する。ユーザは、クライアント３０１においてＷｅｂブラウザ６０３を介して、通知メッセージを認識する。
【００４６】
次に、本実施形態の動作フローについて図９を参照して説明する。図９は、本実施形態においてＭＦＰ１００で発生しているステータスに関して、サーバー３０２、サーバー３０３を介してＳＮＳサーバー３０４へステータス情報の通知を行う動作フロー図である。まず、ＭＦＰ１００がサーバー３０２へステータス情報を送信し、サーバー３０２が受信する動作について、図９のＳ５０１〜Ｓ５０２を用いて説明する。なお、図９や後述する図１４、図１６に示すフローチャートにおけるＭＦＰ１００や各サーバーによる処理に対応するプログラムがそれぞれＭＦＰ１００や各サーバーのＲＯＭに格納されている。そして、ＭＦＰ１００、各サーバーのＣＰＵがこのプログラムをメモリ上で実行することにより、図９、図１４、図１６に示す処理が実現される。
【００４７】
Ｓ５０１で、ＭＦＰ１００は、サーバー３０３のステータス受信部４０１にステータス情報を送信する。ステータス情報は、たとえば図５に示すようなＸＭＬフォーマットで記述される。Ｓ５０２で、サーバー３０２のステータス受信部４０１は、ＭＦＰ１００からステータス情報（ＭＦＰＩＤとステータスＩＤ）を受信する。
【００４８】
続いて、ＭＦＰ１００から今回受信したステータス情報に含まれるステータスの中から、前回受信したステータス情報には含まれていないステータスを抽出する動作について、図９のＳ５０３〜Ｓ５０５を用いて説明する。まず、Ｓ５０３で、ステータス変化抽出部４０２は、ステータス情報テーブル１１００を用いて、今回受信したステータス情報に含まれるステータスが、前回受信したステータス情報に含まれているか否かを判定する。なお、今回受信したＭＦＰ１００のステータス情報に複数のステータスが含まれているときは、ステータス変化抽出部４０２は、すべてのステータスについて判定を行う。Ｓ５０４で、判定対象となるステータスが前回受信したステータス情報に含まれていないと判定された場合は、Ｓ５０５で、ステータス変化抽出部４０２は、そのステータス（ステータスＩＤ）をＭＦＰＩＤと一緒にステータス情報としてステータス変化管理部４０３へ保存する。一方、Ｓ５０４で、判定対象となるステータスが前回受信したステータス情報に含まれていると判定された場合、ステータス変化抽出部４０２は、特に処理を行わない。
【００４９】
続いて、ステータス変化管理部４０３に保存されているステータス情報より、エラーを抽出する動作について、図９のＳ５０６〜Ｓ５０８を用いて説明する。まず、Ｓ５０６で、エラー抽出部４０４は、ステータス変化管理部４０３に保存されているステータス情報に含まれるステータスＩＤと一致する、テーブル１０００のステータスＩＤ１１０１について、ステータス判定１００３（「Ｔｒｕｅ」又は「Ｆａｌｓｅ」）を確認する。なお、ステータス変化管理部４０３に保存されているステータス情報に複数のステータスが含まれているときは、エラー抽出部４０４は、全てのステータスについて、この確認を行う。Ｓ５０７で、エラー判定がＴｒｕｅである場合、Ｓ５０８で、エラー抽出部４０４は、ステータス（ステータスＩＤ）をＭＦＰＩＤと一緒にステータス情報として通知ステータス管理部４０７へ保存する。一方、Ｓ５０７においてエラー判定がＦａｌｓｅである場合は、エラー抽出部４０４は、特に処理を行わない。
【００５０】
続いて、ＭＦＰ１００から受信したステータス情報より、優先度の高いステータスを抽出する動作について、図９のＳ５０９〜Ｓ５１１を用いて説明する。まず、Ｓ５０９で、優先度抽出部４０６は、今回受信したステータス情報に含まれるステータスと一致する、テーブル１２００のステータスＩＤ１２０１について、優先度１２０３（「Ｈｉｇｈ」又は「Ｌｏｗ」）を確認する。なお、今回受信したＭＦＰ１００のステータス情報に複数のステータスが含まれているときは、全てのステータスについて、この確認を行う。Ｓ５１０で、優先度がＨiｇｈであった場合、Ｓ５１１で、優先度抽出部４０６は、ステータス（ステータスＩＤ）をＭＦＰＩＤと一緒にステータス情報として通知ステータス管理部４０７へ保存する。一方、Ｓ５１０において優先度がＬｏｗであった場合もしくは受信したステータス情報に含まれるステータスと一致する、テーブル１２００のステータスＩＤ１２０１が見つからなかった場合、優先度抽出部４０６は、特に処理を行わない。
【００５１】
続いて、通知ステータス管理部４０７に保存されているステータス情報をサーバー３０２へ送信し、ステータス情報管理部４０５に保存されているステータス情報を更新する動作について、図９のＳ５１２〜Ｓ５１４を用いて説明する。Ｓ５１２で、通知ステータス送信部４０８は、通知ステータス管理部４０７に１つ以上ステータス情報が保存されているか確認する。Ｓ５１３で、通知ステータス管理部４０７に１つ以上ステータス情報が保存されている場合、Ｓ５１４で、通知ステータス送信部４０８は、通知ステータス管理部４０７に保存されているステータス情報を、サーバー３０２の通知受信部５０１へ送信する。送信されるステータス情報には、ＭＦＰ１００のＭＦＰＩＤが付与されている。なお、重複するステータスがある場合、通知ステータス送信部４０８は、一方を送信する。次に、Ｓ５１４で、ステータス情報更新部４０９は、ＭＦＰ１００のＭＦＰＩＤと一致する、テーブル１１００のＭＦＰＩＤ１１０１に対応するＭＦＰステータス１１０２を、ステータス受信部４０１が受信したＭＦＰ１００のステータス情報に含まれるステータスで更新する。一方、Ｓ５１３において通知ステータス管理部４０７に１つもステータス情報が保存されていなかった場合は、Ｓ５１４へ処理を移す。
【００５２】
続いて、サーバー３０３がサーバー３０２からのステータス情報を受信し、受信したステータス情報よりメッセージを作成し、作成したメッセージをＳＮＳサーバー３０４へ送信する動作について図９のＳ５１５〜Ｓ５１８を用いて説明する。Ｓ５１５で、サーバー３０３の通知受信部５０１は、サーバー３０２の通知ステータス送信部４０８より送信されたＭＦＰ１００のステータス情報を受信する。受信したステータス情報には、ＭＦＰ１００のＭＦＰＩＤが付与されている。Ｓ５１６で、メッセージ作成部５０２は、受信したステータス情報より、ユーザーへ通知するメッセージの作成を行う。Ｓ５１７で、アカウント情報取得部５０４は、ＭＦＰ１００のＭＦＰＩＤと一致する、アカウント情報管理部５０３のテーブルのＭＦＰＩＤ１５０１に対応するＳＮＳアカウント１５０２とパスワード１５０３を取得する。Ｓ５１８で、メッセージ送信部５０５は、作成されたメッセージと、取得したＳＮＳアカウントとパスワードをＳＮＳサーバー３０４へ送信する。
【００５３】
さらに、ＳＮＳサーバー３０４は、サーバー３０３より送信されたメッセージとＳＮＳアカウント、パスワードを受信する。ＳＮＳサーバー３０４は、受信したメッセージを、受信したＳＮＳアカウントの投稿として、このアカウントをフォローしているユーザーのタイムラインに図１０のようなメッセージを表示する。図１０は、本実施形態におけるユーザーへの通知表示画面の一例である。タイムラインとは、ユーザーがフォローしている他のアカウントが投稿したメッセージが、投稿時間順に並べられ、表示されているものである。なお、ユーザーはあらかじめクライアント３０１のＷｅｂブラウザにてＳＮＳアプリケーションにてユーザー自身のアカウント（アカウント１）でログインをしておく必要がある。
【００５４】
このように、本実施形態によれば、１、前回のステータスからエラー状態に変化したステータス項目、２、エラーが発生し且つ優先度が高いステータス項目、という２つの条件のいずれかでも満たせば、そのステータス項目のエラーがユーザーに通知される。そのため、サーバー３０２によってユーザーに通知すべき優先度が高いステータス情報が抽出される。またエラーが発生していたとしても前回から変化が無い（継続してエラー）の項目については通知は行われないので、通知回数を抑えた上で、有効なステータス情報通知が行われる。なお、本実施形態では、サーバー３０２におけるステータス情報の抽出処理として、前述のように、ステータス変化抽出処理、エラー抽出処理、優先度抽出処理のすべてを行ったが、このうちのいくつかの組み合わせや順序を変えた場合であっても同等の効果が得られる。例えば、ステータス変化抽出処理、エラー抽出処理だけ設定した場合であっても、ＭＦＰから得るステータス情報の詳細さ、もしくは多様さによっては同等の効果を得ることは可能である。また、ステータス変化抽出処理とエラー抽出処理を逆にしてもよい。
【００５５】
＜実施形態２＞
上述した実施形態１では、ＭＦＰ１００から受信したステータス情報に対して、ステータス変化抽出処理、エラー抽出処理、及び、優先度抽出処理といった各処理を通した後にユーザーに向けて通知を行った。本実施形態では、ＭＦＰ１００から受信したステータス情報に対して、まずは前回とのステータスの差異を抽出するステータス変化抽出処理、エラー情報を抽出するエラー抽出処理を行う。この処理は、実施形態１において述べた処理と同様である。本実施形態では、また前回受信した時間から一定時間以上経過して受信したステータスを抽出する通知間隔抽出処理をおこなう。そして、これらの処理を通した後に、ユーザーに向けてステータス情報が通知される。なお、本実施形態では、ＭＦＰ１００からサーバー３０２に定期的にステータス通知が行われるものとするが、実施形態１において述べたように、ステータス通知のタイミングはこれに限定されない。
【００５６】
図１１は、本実施形態におけるソフトウェア構成図である。サーバー３０２はＭＦＰ１００からステータス情報を受信し、前回受信したステータス情報と異なるステータス情報や、前回の受信時間から一定時間経過したステータス情報の抽出を行い、抽出したステータス情報をサーバー３０３へ送信する処理を行う通知ステータス送信サービスを提供する。なお、サーバー３０３とクライアント３０１の動作は実施形態１と同様であるため説明を省略する。
【００５７】
サーバー３０２のステータス情報管理部４０５は、受信時刻管理テーブル１３００を用いて、前回受信したステータス情報と受信時刻をＭＦＰ毎に保存管理する。図１２は、ステータス情報管理部４０５が保持する、受信時刻管理テーブル１３００の例である。受信時刻管理テーブル１３００において、ＭＦＰＩＤ１３０１とＭＦＰステータス１３０２は、図７のＭＦＰＩＤ１１０１とＭＦＰステータス１１０２とそれぞれ同様であるため説明を省略する。前回受信時刻１３０３は、ステータスを最後に受信した日時である。前回受信時刻１３０３は、正確な日時に限らず、所定の時間から計測された時間等であっても構わない。なお、受信時刻管理テーブル１３００には他にもＭＦＰごとに管理、保持されるデータを格納することが出来る。例えば、ＭＦＰの仕向けの関連情報、ＭＦＰのバージョン情報などが考えられるが、それ以外の項目が存在していても構わない。
【００５８】
サーバー３０２の受信間隔抽出部４１０は、ステータス情報管理部４０５が管理する、前回のステータス情報の受信時刻と今回のステータス情報受信時刻（現在時刻）とを、ステータス情報に含まれるステータスごとに、受信間隔情報テーブル１４００を用いて比較する。そして、受信間隔抽出部４１０は、この２つの時刻の時間差が所定時間以上であるステータスがあるか検索を行い、時間差が所定時間以上のステータスを含むステータス情報を通知対象として通知ステータス管理部４０７に保存する。それ以外の構成は実施形態１と同様であるので説明を省略する。
【００５９】
図１３は、受信間隔抽出部４１０が保持する、受信間隔情報テーブル１４００の例である。受信間隔情報テーブル１４００において、ステータスＩＤ１４０１とステータス名１４０２は、図６のステータスＩＤ１００１とステータス名１００２とそれぞれ同様であるため説明を省略する。規定間隔１４０３は、ユーザーへの通知の優先度に基づいて予め決められる時間間隔である。なお、図１３には、各ステータスの受信間隔についての規定間隔が示されている例を示したが、これを受信間隔でなく、印刷開始時、印刷中、印刷完了後などの、印刷タイミングであっても同等の効果が得られるものである。
【００６０】
受信間隔抽出部４１０は、ステータス情報管理部４０５に保存されているテーブル１３００の前回受信時間１３０３と現在時刻により、判定対象のステータスについて、前回の受信からの経過時間を算出する。そして、受信間隔抽出部４１０は、算出した経過時間と、判定対象のステータスに対応するテーブル１４００の規定間隔１４０３の値を比較し、経過時間が規定間隔１４０３を超えているか判定する。判定にて経過時間が規定間隔１４０３を超えていれば、判定対象のステータスを含むステータス情報を通知ステータス情報部４０６へ保存する。受信間隔抽出部４１０は、ステータス情報管理部４０５に保存されているステータスが複数ある場合は、すべてのステータスに対して判定を行い、判定にて一致したものをすべて通知ステータス管理部４０７へ保存する。
【００６１】
図１４は、実施形態２においてＭＦＰ１００で発生しているステータスに関して、サーバー３０２、サーバー３０２を介してＳＮＳサーバー３０４へ通知を行う処理のフローチャートである。ＭＦＰ１００がサーバー３０２へステータス情報を送信し、サーバー３０２が受信する構成となっているＳ６０１〜Ｓ６０２は、実施形態１のＳ５０１〜Ｓ５０２と同様の構成であるため、説明を省略する。受信したステータス情報より、前回のステータス情報には含まれていないステータスを抽出する構成となっているＳ６０３〜Ｓ６０５は、実施形態１のＳ５０３〜Ｓ５０５と同様の構成であるため、説明を省略する。ステータス変化管理部４０３に保存されているステータス情報より、エラーを抽出する構成となっているＳ６０６〜Ｓ６０８は、実施形態１のＳ５０６〜Ｓ５０８と同様の構成であるため、説明を省略する。
【００６２】
次に、受信したステータス情報より、前回受信した時間から所定時間以上経過したステータスを抽出する構成について、図１４のＳ６０９〜Ｓ６１３を用いて説明する。Ｓ６０９で、受信間隔抽出部４１０は、ＭＦＰ１００のＭＦＰＩＤと一致する、テーブル１３００のＭＦＰＩＤ１３０１に対応する前回受信時間１３０３を取得する。Ｓ６１０で、受信間隔抽出部４１０は、取得した前回受信時間１３０３と、現在時刻との差分より、前回受信からの経過時間を算出する。Ｓ６１１で、受信間隔抽出部４１０は、受信したステータス情報に含まれるステータスと一致する、テーブル１４００のステータスＩＤ１４０１に対応する規定間隔１４０３と、算出した経過時間とを比較する。Ｓ６１２で、比較により経過時間が規定間隔を超えていると判断された場合、Ｓ６１３で、受信間隔抽出部４１０は、判定対象のステータスを含むステータス情報を通知ステータス管理部４０７へ保存する。一方、Ｓ６１２において比較により経過時間が規定間隔を超えていないと判断された場合、受信間隔抽出部４１０は、特に処理を行わない。なお、受信したＭＦＰ１００のステータス情報に複数のステータスが含まれているときは、全てのステータスについて、この処理を行う。
【００６３】
続いて、通知ステータス管理部４０７に保存されているステータス情報をサーバー３０２へ送信し、ステータス情報管理部４０５に保存されているステータス情報を更新する構成について、図１４のＳ６１４〜Ｓ６１６を用いて説明する。Ｓ６１４〜Ｓ６１５は、実施形態１のＳ５１２〜Ｓ５１３と同様なので、説明を省略する。Ｓ６１６で、ステータス情報更新部４１１は、ＭＦＰ１００のＭＦＰＩＤと一致する、テーブル１３００のＭＦＰＩＤ１３０１に対応するＭＦＰステータス１３０２と前回受信時間１３０３を、ステータス受信部４０１が受信したＭＦＰ１００のステータス情報と現在の時刻で更新する。続いて、サーバー３０２がサーバー３０２からのステータス情報を受信し、受信したステータス情報よりメッセージを作成し、作成したメッセージをＳＮＳサーバーへ送信する構成となっているＳ６１７〜Ｓ６２０は、実施形態１のＳ５１５〜Ｓ５１８と同様の構成であるため、説明を省略する。
【００６４】
このように、本実施形態によれば、サーバー３０２によってユーザーに通知すべきステータス情報が抽出されることにより、通知回数を抑えた上で、有効なステータス情報通知が行われる。なお、本実施形態では、サーバー３０２におけるステータス情報の抽出処理として、前述のように、ステータス変化抽出処理、エラー抽出処理、受信間隔抽出処理のすべてを行ったが、このうちのいくつかの組み合わせであっても同等の効果が得られる。また、実施形態１において述べた優先度抽出処理を組み合わせて、このうちのいくつかの組み合わせとしてもよい。
【００６５】
また、以上の実施形態において、サーバー３０２、サーバー３０３を分けて説明をしているが、これらは１つのサーバー構成であってもよい。また、サーバー３０２の構成は複数のサーバー構成であってもよい。さらに、ＭＦＰ１００、サーバー３０２、サーバー３０３を分けて説明をしているが、これらは１つのサーバー構成であってもよい。
【００６６】
以上の実施形態によれば、リアルタイムコミュニケーションツールにおける通知回数制限の影響を受けないように制御を行うことで、ユーザビリティへの制約を減少させることのできるステータス通知システムを提供することが可能となる。
【００６７】
なお、以上の実施形態では、前回からエラー状態に変化したステータス項目について通知を行うようにしたが、これに限らず、前回エラー状態であったが今回エラー状態にない、即ちエラー解除が行われた場合に通知を行ってもよい。その場合、サーバ３０１がサーバ３０２に通知対象のステータスＩＤを送信するときに、そのステータスＩＤに対応するステータス項目が、エラーの通知であるか、エラー解除の通知であるかを示す情報を送信する。そして、サーバ３０２は、その情報に従って、エラー通知、もしくはエラー解除通知を行うことができる。
【００６８】
さらに、以上の実施形態では、エラーが発生していたとしても、優先度が「Ｌｏｗ」であり且つ前回もエラーであったステータス項目についてはエラー通知が行われなかった。しかしこれに限らず、優先度が「Ｌｏｗ」であり且つ前回もエラーであったとしても、所定の通知上限回数に達していなければユーザへの通知を行ってもよい。ただしこの場合でも、エラーが発生している優先度が「Ｈｉｇｈ」の項目のエラー通知が優先される。これにより、通知回数を上記の上限回数以下に抑えた上で、優先度の高いエラー通知を確実に行えるとともに、優先度の低いエラー通知も行うことができる。
【００６９】
また以上の実施形態では、ＭＦＰのステータスを例に説明したが、これに限らず、ＰＣやスマートフォン、カメラ等の各種のデバイスのステータスであってもよい。
さらに、以上の実施形態では、今回取得されたステータス情報を前回のものと比較していたが、これに限らず、前回の通知に対応するステータス情報と比較を行ってもよい。例えば前回ステータス情報の取得を行ったが、そのステータス情報に基づく通知を行う前に新たにステータス情報を取得した場合、その前回取得のステータス情報は参照せずに、前回の通知に対応するステータス情報を参照してもよい。
【００７０】
さらに以上の実施形態では、ステータス項目が所定の優先度よりも高いか判定するために優先度「Ｈｉｇｈ」、「Ｌｏｗ」を設定し、「Ｈｉｇｈ」の場合所定の優先度よりも高いとしていた。しかしこれに限らず、優先度を複数段階設ける場合でもよいし、優先度を示す数値を設定し、その数値が所定の値よりも大きいか判定する場合でもよい。
【００７１】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７２】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2015037225.tif 000003
【図２】
2015037225.tif 000004
【図３】
2015037225.tif 000005
【図４】
2015037225.tif 000006
【図５】
2015037225.tif 000007
【図６】
2015037225.tif 000008
【図７】
2015037225.tif 000009
【図８】
2015037225.tif 000010
【図９】
2015037225.tif 000011
【図１０】
2015037225.tif 000012
【図１１】
2015037225.tif 000013
【図１２】
2015037225.tif 000014
【図１３】
2015037225.tif 000015
【図１４】
2015037225.tif 000016
【図１５】
2015037225.tif 000017
【図１６】
2015037225.tif 000018
【図１７】
2015037225.tif 000019