(57)【要約】      （修正有）【課題】画像形成装置のジョブの実行から完了までをシミュレーション出来る情報処理装置、画像形成システム、および情報処理方法を提供する。【解決手段】Webブラウザと、Webサーバと、WebブラウザにロードされるWebSocketクライアント部およびWebサーバにロードされるWebSocketサーバ部を含むMFPアプリケーションと、WebSocketクライアント部をWebブラウザ上にロードする第１のロード部と、WebSocketサーバ部をWebサーバ上にロードする第２のロード部と、画像形成装置上でのジョブの実行をシミュレートし、ジョブの実行完了時には、WebSocketサーバ部経由でジョブ完了通知をWebSocketクライアント部に対して送信するジョブ実行部と、WebSocketクライアント部経由でジョブ完了通知をWebSocketサーバ部から受信するジョブ完了通知受信部とを備える。【選択図】図４
2019191992.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置上で稼働するＷｅｂブラウザと、
前記画像形成装置上で稼働するＷｅｂサーバーと、
前記画像形成装置上で稼働し、前記ＷｅｂブラウザにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよび前記ＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーションと、
自情報処理装置上で前記Ｗｅｂブラウザ、前記Ｗｅｂサーバー、および前記ＭＦＰアプリケーションケーションを稼働させるためのＭＦＰシミュレーターと、
前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にロードする第１のロード部と、
前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードする第２のロード部と、
前記画像形成装置上でのジョブの実行をシミュレートし、前記ジョブの実行完了時には、前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ジョブが完了した旨を伝えるジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔクライアント部に対して送信するジョブ実行部と、
前記Ｗｅｂブラウザ上で動作し、前記ＷｅｂＳｏｃｋｅｔクライアント部経由で前記ジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔサーバー部から受信するジョブ完了通知受信部と
を備えた
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記ＷｅｂＳｏｃｋｅｔサーバー部は、前記ジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔクライアント部に対してＰｕｓｈ送信する
情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記ＷｅｂＳｏｃｋｅｔクライアント部コードは、ＪａｖａＳｃｒｉｐｔにより記述されたファイルである
情報処理装置。
【請求項４】
請求項１から３のいずれか１つに記載の情報処理装置であって、
前記ＷｅｂＳｏｃｋｅｔサーバー部コードは、Ｊａｖａ  Ｓｅｒｖｌｅｔである
情報処理装置。
【請求項５】
ネットワーク接続された画像形成装置と情報処理装置とを含み、
前記画像形成装置は、
前記情報処理装置と通信可能な第１の通信部と、
Ｗｅｂサーバーと、
前記情報処理装置上のＷｅｂブラウザにダウンロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよび前記ＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーションと、
前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードする第３のロード部と、
前記画像形成装置上で発生したエラーのエラーメッセージおよびアプリケーションのログを前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ＷｅｂＳｏｃｋｅｔクライアント部へ送信するログ・エラー送信部と
を備え、
前記情報処理装置は、
前記画像形成装置と通信可能な第２の通信部と、
前記Ｗｅｂブラウザと、
前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にダウンロードするダウンロード部と、
前記画像形成装置から前記ＷｅｂＳｏｃｋｅｔクライアント部経由で、前記画像形成装置上で発生したエラーを示すエラーメッセージおよびアプリケーションログを受信するログ・エラー受信部と、
前記ログ・エラー受信部が受信した、前記エラーメッセージおよび前記アプリケーションログを前記Ｗｅｂブラウザの画面に表示し、ユーザーに閲覧させるログ・エラー閲覧部と
を備えた
画像形成システム。
【請求項６】
請求項５に記載の画像形成システムであって、
前記ＷｅｂＳｏｃｋｅｔサーバー部は、前記エラーメッセージおよび前記アプリケーションログを前記ＷｅｂＳｏｃｋｅｔクライアント部に対してＰｕｓｈ送信する
画像形成システム。
【請求項７】
第１のロード部が、ＷｅｂブラウザにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよびＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にロードし、
前記Ｗｅｂブラウザが、前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記ＷｅｂＳｏｃｋｅｔクライアント部として機能させ、
第２のロード部が、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードし、
前記Ｗｅｂサーバーが、前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記ＷｅｂＳｏｃｋｅｔサーバー部として機能させ、
前記ＷｅｂＳｏｃｋｅｔクライアント部と前記ＷｅｂＳｏｃｋｅｔサーバー部とがＷｅｂＳｏｃｋｅｔプロトコルによる接続を確立し、
ジョブ実行部が、画像形成装置上でのジョブの実行をシミュレートし、前記ジョブの実行完了時には、前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ジョブが完了した旨を伝えるジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔクライアント部に対して送信し、
ジョブ完了通知受信部が、前記ＷｅｂＳｏｃｋｅｔクライアント部経由で前記ジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔサーバー部から受信する
情報処理方法。
【請求項８】
ネットワーク接続された画像形成装置と情報処理装置とを含んだ画像形成システムにおける情報処理方法であって、
前記情報処理装置のダウンロード部が、前記情報処理装置上のＷｅｂブラウザにダウンロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよび前記画像形成装置上のＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にダウンロードし、
前記Ｗｅｂブラウザが、前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記ＷｅｂＳｏｃｋｅｔクライアント部として機能させ、
前記画像形成装置上の第３のロード部が、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードし、
前記Ｗｅｂサーバーが、前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記ＷｅｂＳｏｃｋｅｔサーバー部として機能させ、
前記ＷｅｂＳｏｃｋｅｔクライアント部と前記ＷｅｂＳｏｃｋｅｔサーバー部とがＷｅｂＳｏｃｋｅｔプロトコルによる接続を確立し、
前記画像形成装置上のログ・エラー送信部が、前記画像形成装置上で発生したエラーのエラーメッセージおよびアプリケーションのログを前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ＷｅｂＳｏｃｋｅｔクライアント部へ送信し、
前記情報処理装置上のログ・エラー受信部が、前記画像形成装置から前記ＷｅｂＳｏｃｋｅｔクライアント部経由で、前記画像形成装置上で発生したエラーを示すエラーメッセージおよびアプリケーションログを受信し、
前記情報処理装置上のログ・エラー閲覧部が、前記ログ・エラー受信部が受信した、前記エラーメッセージおよび前記アプリケーションログを前記Ｗｅｂブラウザの画面に表示し、ユーザーに閲覧させる
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷｅｂＳｏｃｋｅｔプロトコルを用いたＰｕｓｈ送信を行う情報処理装置、画像形成システム、および情報処理方法に関する。
【背景技術】
【０００２】
従来、Ｗｅｂサーバーは、クライアントからのＨＴＴＰリクエストに対するレスポンスという形でしかクライアントにデータを送信することが出来なかった。
【０００３】
そのため、ＷｅｂＳｏｃｋｅｔプロトコルが開発され、このプロトコルを用いることにより、サーバーからのプッシュ通信を含めた、リアルタイムな双方向通信がクライアントとＷｅｂサーバーの間で行えるようになった（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１０６３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＷｅｂサーバーとクライアントであるＷｅｂブラウザを用いてＵＩ（User Interface）を構築している画像形成装置（ＭＦＰ、Multifunction Peripheral）では、ジョブが完了した際に、Ｗｅｂサーバーがジョブ完了通知をＷｅｂブラウザに送信するために、特殊なハードウェアを用いた仮想キー押下イベントを利用していたため、同じ仕組みをＰＣ（Personal Computer）上でシミュレーションすることが出来なかった。
【０００６】
また、画像形成装置上でソフトウェア（ＭＦＰアプリケーションと呼ぶ）を開発する際には、ＭＦＰアプリケーション側からエラーの発生やログの出力を行うとき、シリアルデバッガなど特殊な装置を用いなければならなかった。
【０００７】
以上のような事情に鑑み、本発明の目的は、画像形成装置のジョブの実行から完了までをシミュレーション出来る情報処理装置、画像形成装置のログを特殊な装置無しに取得できる画像形成システム、および情報処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、画像形成装置上で稼働するＷｅｂブラウザと、前記画像形成装置上で稼働するＷｅｂサーバーと、前記画像形成装置上で稼働し、前記ＷｅｂブラウザにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよび前記ＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーションと、自情報処理装置上で前記Ｗｅｂブラウザ、前記Ｗｅｂサーバー、および前記ＭＦＰアプリケーションを稼働させるためのＭＦＰシミュレーターと、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にロードする第１のロード部と、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードする第２のロード部と、前記画像形成装置上でのジョブの実行をシミュレートし、前記ジョブの実行完了時には、前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ジョブが完了した旨を伝えるジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔクライアント部に対して送信するジョブ実行部と、前記Ｗｅｂブラウザ上で動作し、前記ＷｅｂＳｏｃｋｅｔクライアント部経由で前記ジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔサーバー部から受信するジョブ完了通知受信部とを備える。
【０００９】
そのため、画像形成装置のジョブの実行から完了までをシミュレーション出来る。
【００１０】
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記ＷｅｂＳｏｃｋｅｔサーバー部は、前記ジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔクライアント部に対してＰｕｓｈ送信する構成でもよい。
【００１１】
この構成により、クライアント（ＷｅｂＳｏｃｋｅｔクライアント部）からのＨＴＴＰリクエスト無しにサーバー（ＷｅｂＳｏｃｋｅｔサーバー部）がジョブ完了通知を送信できる。
【００１２】
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記ＷｅｂＳｏｃｋｅｔクライアント部コードは、ＪａｖａＳｃｒｉｐｔにより記述されたファイルであってもよい。
【００１３】
この構成により、第１のロード部は、容易にＷｅｂＳｏｃｋｅｔクライアント部コードをＷｅｂブラウザ上にロードすることが出来る。
【００１４】
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記ＷｅｂＳｏｃｋｅｔサーバー部コードは、Ｊａｖａ  Ｓｅｒｖｌｅｔであってもよい。
【００１５】
この構成により、第２のロード部は、容易にＷｅｂＳｏｃｋｅｔサーバー部コードをＷｅｂサーバー上にロードすることが出来る。
【００１６】
上記目的を達成するため、本発明の一形態に係る画像形成システムは、ネットワーク接続された画像形成装置と情報処理装置とを含み、前記画像形成装置は、前記情報処理装置と通信可能な第１の通信部と、Ｗｅｂサーバーと、前記情報処理装置上のＷｅｂブラウザにダウンロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよび前記ＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーションと、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードする第３のロード部と、前記画像形成装置上で発生したエラーのエラーメッセージおよびアプリケーションのログを前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ＷｅｂＳｏｃｋｅｔクライアント部へ送信するログ・エラー送信部とを備え、前記情報処理装置は、前記画像形成装置と通信可能な第２の通信部と、前記Ｗｅｂブラウザと、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にダウンロードするダウンロード部と、前記画像形成装置から前記ＷｅｂＳｏｃｋｅｔクライアント部経由で、前記画像形成装置上で発生したエラーを示すエラーメッセージおよびアプリケーションログを受信するログ・エラー受信部と、前記ログ・エラー受信部が受信した、前記エラーメッセージおよび前記アプリケーションログを前記Ｗｅｂブラウザの画面に表示し、ユーザーに閲覧させるログ・エラー閲覧部とを備える。
【００１７】
そのため、画像形成装置のログを特殊な装置無しに取得できる。
【００１８】
上記目的を達成するため、本発明の一形態に係る画像形成システムでは、前記ＷｅｂＳｏｃｋｅｔサーバー部は、前記エラーメッセージおよび前記アプリケーションログを前記ＷｅｂＳｏｃｋｅｔクライアント部に対してＰｕｓｈ送信する構成でもよい。
【００１９】
この構成により、クライアント（ＷｅｂＳｏｃｋｅｔクライアント部）からのＨＴＴＰリクエスト無しにサーバー（ＷｅｂＳｏｃｋｅｔサーバー部）がエラーメッセージおよびアプリケーションログを送信できる。
【００２０】
上記目的を達成するため、本発明の一形態に係る情報処理方法では、第１のロード部が、ＷｅｂブラウザにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよびＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にロードし、前記Ｗｅｂブラウザが、前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記ＷｅｂＳｏｃｋｅｔクライアント部として機能させ、第２のロード部が、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードし、前記Ｗｅｂサーバーが、前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記ＷｅｂＳｏｃｋｅｔサーバー部として機能させ、前記ＷｅｂＳｏｃｋｅｔクライアント部と前記ＷｅｂＳｏｃｋｅｔサーバー部とがＷｅｂＳｏｃｋｅｔプロトコルによる接続を確立し、ジョブ実行部が、画像形成装置上でのジョブの実行をシミュレートし、前記ジョブの実行完了時には、前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ジョブが完了した旨を伝えるジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔクライアント部に対して送信し、ジョブ完了通知受信部が、前記ＷｅｂＳｏｃｋｅｔクライアント部経由で前記ジョブ完了通知を前記ＷｅｂＳｏｃｋｅｔサーバー部から受信する。
【００２１】
そのため、画像形成装置のジョブの実行から完了までをシミュレーション出来る。
【００２２】
上記目的を達成するため、本発明の一形態に係る情報処理方法は、ネットワーク接続された画像形成装置と情報処理装置とを含んだ画像形成システムにおける情報処理方法であって、前記情報処理装置のダウンロード部が、前記情報処理装置上のＷｅｂブラウザにダウンロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部コードおよび前記画像形成装置上のＷｅｂサーバーにロードされてＷｅｂＳｏｃｋｅｔプロトコルにより通信するＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードを含むＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記Ｗｅｂブラウザ上にダウンロードし、前記Ｗｅｂブラウザが、前記ＷｅｂＳｏｃｋｅｔクライアント部コードを前記ＷｅｂＳｏｃｋｅｔクライアント部として機能させ、前記画像形成装置上の第３のロード部が、前記ＭＦＰアプリケーション内の前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記Ｗｅｂサーバー上にロードし、前記Ｗｅｂサーバーが、前記ＷｅｂＳｏｃｋｅｔサーバー部コードを前記ＷｅｂＳｏｃｋｅｔサーバー部として機能させ、前記ＷｅｂＳｏｃｋｅｔクライアント部と前記ＷｅｂＳｏｃｋｅｔサーバー部とがＷｅｂＳｏｃｋｅｔプロトコルによる接続を確立し、前記画像形成装置上のログ・エラー送信部が、前記画像形成装置上で発生したエラーのエラーメッセージおよびアプリケーションのログを前記ＷｅｂＳｏｃｋｅｔサーバー部経由で前記ＷｅｂＳｏｃｋｅｔクライアント部へ送信し、前記情報処理装置上のログ・エラー受信部が、前記画像形成装置から前記ＷｅｂＳｏｃｋｅｔクライアント部経由で、前記画像形成装置上で発生したエラーを示すエラーメッセージおよびアプリケーションログを受信し、前記情報処理装置上のログ・エラー閲覧部が、前記ログ・エラー受信部が受信した、前記エラーメッセージおよび前記アプリケーションログを前記Ｗｅｂブラウザの画面に表示し、ユーザーに閲覧させる。
【００２３】
そのため、画像形成装置のログを特殊な装置無しに取得できる。
【発明の効果】
【００２４】
以上のように、本発明によれば、画像形成装置のジョブの実行から完了までをシミュレーション出来る情報処理装置、画像形成装置のログを特殊な装置無しに取得できる画像形成システム、および情報処理方法を提供できる。
【図面の簡単な説明】
【００２５】
【図１】第１の実施形態における動作開始前の状態を示す図である。
【図２】第１の実施形態における動作開始後の状態を示す図である。
【図３】ＰＣ１０の構成を概略的に示す図である。
【図４】ＰＣ１０上でシミュレートされる、クライアント側とサーバー側とのやり取りの流れについて説明するためのフローチャートである。
【図５】第２の実施形態における動作開始前の状態を示す図である。
【図６】第２の実施形態における動作開始後の状態を示す図である。
【図７】ＰＣ１０'の構成を概略的に示す図である。
【図８】ＭＦＰ２０の構成を概略的に示す構成図である。
【図９】画像形成システム１００における処理の流れについて説明するためのフローチャートである。
【発明を実施するための形態】
【００２６】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００２７】
［背景］
最初に、ＭＦＰ上でＷｅｂＳｏｃｋｅｔを利用することになった背景を説明する。
【００２８】
ＭＦＰ上で稼働するアプリケーションプログラム（以下、ＭＦＰアプリケーションと呼ぶ）、および一般的なＷｅｂアプリケーションプログラムは、ＨＴＴＰ（Hypertext Transfer Protocol）というプロトコルを利用している性質上、クライアント側からＨＴＴＰリクエストが送信されない限り、サーバー側から自発的にメッセージ（データ）を送ること（以下、Ｐｕｓｈ送信と呼ぶ）が出来ない。
【００２９】
ＨＴＴＰプロトコルでは、クライアント側からＨＴＴＰリクエストを受けたときのみ、サーバーがメッセージをレスポンスとして返すことを前提としているからである。
【００３０】
現在はＨＴＭＬ（HyperText Markup Language）５（に含まれるＷｅｂＳｏｃｋｅｔプロトコル）が登場し、一般的なブラウザにも実装されるようになり、サーバー側からＰｕｓｈ送信が出来ない問題は解決しつつある。
【００３１】
ＨＴＭＬ５が登場する前は、サーバーからＰｕｓｈ送信するために、次のような技術が利用されていた。
【００３２】
（ａ）ポーリング
クライアントからサーバーへ定期的にＨＴＴＰリクエストを送り、受信すべきメッセージがないかサーバーに問い合わせる。
【００３３】
この技術では、ＨＴＴＰリクエストを送る時間間隔が大きいと、受信すべきメッセージにタイムラグが生じてしまうし、ＨＴＴＰリクエストを送る時間間隔が小さいと、通信量が増えてしまう。
【００３４】
（ｂ）Ｗｅｂブラウザでの仮想キー押下イベントの利用
ＭＦＰのハードウェアの機能を利用し、ＭＦＰの表示部でＵＩを受け持つＷｅｂブラウザに送信すべきメッセージが発生したときに、Ｗｅｂブラウザに仮想キーの押下イベントを検知させる。Ｗｅｂブラウザ（クライアント）はキーイベントを受信すると、サーバーへＨＴＴＰリクエストにより問い合わせる。
【００３５】
この技術は、自社のＭＦＰ固有の機能でありＭＦＰ内部でしか動作しない。そのため、ＭＦＰアプリケーションを開発、デバッグする際に、ＰＣ（Personal Computer）上でシミュレート実行することができず、ＰＣ上での開発、デバッグが出来ない。
【００３６】
（ｃ）Ｃｏｍｅｔ
Ｗｅｂブラウザ（クライアント）からのＨＴＴＰリクエストをタイムアウトになる直前までＷｅｂサーバーで保持し続ける。（ＷｅｂブラウザからのＨＴＴＰリクエストに対し、タイムアウトにならない程度に待ってからＨＴＴＰレスポンスを戻す。）
【００３７】
送信すべきメッセージがＷｅｂサーバー上で発生したときに、保持しているＨＴＴＰリクエストに対するメッセージとしてＨＴＴＰレスポンスとを返す。
【００３８】
この技術は処理が複雑で、実装、導入が困難であった。また、特別なライブラリが必要であった。
【００３９】
以上、従来の３つの技術では問題点があったため、ＷｅｂＳｏｃｋｅｔをＭＦＰ上で利用することが考えられた。
【００４０】
［課題］
次に、本発明が解決しようとする課題について説明する。
【００４１】
上述したように、Ｐｕｓｈ送信は、ニーズがあるにもかかわらず、従来の技術では実装が難しく、ＭＦＰアプリケーションでも同様の課題を抱えている。
【００４２】
ＭＦＰアプリケーションに関するニーズと課題を以下に示す。
【００４３】
（１）ジョブ完了通知の取得
ＷｅｂアプリケーションをＵＩに用いるＭＦＰでは、スキャン、印刷などのジョブが完了したとき、操作画面であるＭＦＰアプリケーションの画面を更新する。つまり、ＭＦＰのジョブが完了したときに、クライアントであるＷｅｂブラウザへ完了した旨をＰｕｓｈ送信する必要がある。
【００４４】
ほとんどのＭＦＰアプリケーションでは、Ｐｕｓｈ送信のために、上述した（ｂ）のＷｅｂブラウザでの仮想キー押下イベントを用いている。この方法はＭＦＰのハードウェア固有の機能を用いるため、ＰＣのシミュレーター上でＭＦＰアプリケーションを同じように動作させることができず、ＭＦＰアプリケーション開発時にＭＦＰ上で開発しなければならず、動作確認・デバッグに工数がかかっている。開発しているときはいつもＭＦＰを必要とするし、またＭＦＰへテスト用のＭＦＰアプリケーションをインストールする時間や、ＭＦＰを操作する時間もかかる。
【００４５】
（２）ログの取得
ＭＦＰアプリケーションの開発・デバッグ用途でアプリケーションのログを監視するときがある。エラーが発生したときなどアプリケーションの状態が変わったときや、ログの内容が変わったときなどに、開発者がログの内容を参照するために、Ｐｕｓｈ送信機能を必要としている。
【００４６】
ほとんどのＭＦＰアプリケーションの開発では、従来、アプリケーションのログを監視するために、特別な装置（シリアルデバッガ）を利用している。そのため、毎日ＭＦＰに特別な装置を設置してから開発しなければならない。
【００４７】
以上より、本発明では、ＭＦＰアプリケーションの開発効率の向上の一環として、
（１）ＭＦＰ、ＰＣどちらでも動作するＭＦＰアプリケーションを提供すること
（２）特別な装置を用いずに、ＭＦＰアプリケーションのログを監視できること
を、目的とする。
【００４８】
なお、以下の説明では、上記（１）のＰＣのシミュレーター上でのジョブ完了通知のＰｕｓｈ送信を第１の実施形態として、また、（２）の特別な装置を用いない形でのＭＦＰアプリケーションのログの監視を第２の実施形態として説明する。
【００４９】
両方の実施形態では、ＨＴＭＬ５のＷｅｂＳｏｃｋｅｔ機能を利用してＰｕｓｈ送信する仕組みを構築している。いずれの実施形態の構成でも、ＷｅｂＳｏｃｋｅｔクライアント部は、Ｗｅｂブラウザに搭載されている標準機能を利用しているため、ＷｅｂＳｏｃｋｅｔ通信用の特別なアプリケーションプログラムをインストールすることなく実施可能である。
【００５０】
＜第１の実施形態＞
第１の実施形態は、ＰＣ（情報処理装置）のＭＦＰシミュレーター上でＷｅｂサーバーがジョブ完了通知をＷｅｂブラウザにＰｕｓｈ送信する構成である。
【００５１】
［概要］
最初に概要について説明する。図１は、第１の実施形態における動作開始前の状態を示す図である。
【００５２】
ＰＣ１０にはＭＦＰ上の動作環境をシミュレートするＭＦＰシミュレーター１１ｄが搭載される。ＭＦＰシミュレーター１１ｄ上で、ＭＦＰアプリケーション１１ｃ、Ｗｅｂブラウザ１１ａ、Ｗｅｂサーバー１１ｂが動作する。Ｗｅｂブラウザ１１ａおよびＷｅｂサーバー１１ｂは、ＨＴＴＰおよびＷｅｂＳｏｃｋｅｔプロトコルにより通信する。
【００５３】
ＭＦＰアプリケーション１１ｃ内には、Ｗｅｂブラウザ１１ａ上でＷｅｂＳｏｃｋｅｔクライアント部として機能するＷｅｂＳｏｃｋｅｔクライアント部のコード（ロジック）ｃｄ１と、Ｗｅｂサーバー１１ｂ上でＷｅｂＳｏｃｋｅｔサーバー部として機能するＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２が含まれている。
【００５４】
より具体的には、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１は、ＪａｖａＳｃｒｉｐｔにより記述されたファイルであり、ＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２は、Ｊａｖａ（登録商標）  Ｓｅｒｖｌｅｔである。
【００５５】
次に動作開始後の状態について図２に示す。
【００５６】
動作開始後は、第１のロード部１１ｇ（後述）がＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１を、Ｗｅｂブラウザ１１ａにロードし、ロードされたＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１がＷｅｂＳｏｃｋｅｔクライアント部１１ｅとして機能する。
【００５７】
また、第２のロード部１１ｈ（後述）がＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２を、Ｗｅｂサーバー１１ｂにロードし、ロードされたＷｅｂＳｏｋｅｔサーバー部コードｃｄ２がＷｅｂＳｏｃｋｅｔサーバー部１１ｆとして機能する。
【００５８】
そして、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆが、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅに対しジョブ完了通知をＰｕｓｈ送信する。
【００５９】
このように、第１の実施形態では、ＭＦＰ固有の機能である仮想キー押下イベントの機能を利用することなく、Ｐｕｓｈ送信が出来ることから、従来とは異なる方法でジョブ完了通知の受信を模擬できる。そのため、ジョブの実行から完了までの処理もＭＦＰシミュレーター１１ｄ上で実行することが出来るようになり、ＭＦＰ無しでのＭＦＰアプリケーションの開発が容易となる。
【００６０】
以上、概要について説明した。
【００６１】
［ＰＣの構成］
次に、ＭＦＰシミュレーター１１ｄ上でＷｅｂサーバー１１ｂがジョブ完了通知をＷｅｂブラウザ１１ａにＰｕｓｈ送信するＰＣ１０の構成を説明する。図３は、ＰＣ１０の構成を概略的に示す図である。
【００６２】
同図に示すように、ＰＣ１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、操作入力部１４、通信部１５、表示部１６、および記憶部１７を有し、これら各ブロックがバス１８を介して接続されている。
【００６３】
ＲＯＭ１２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ１３は、ＣＰＵ１１の作業用領域として用いられ、ＯＳ（Operating System）、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００６４】
記憶部１７は、例えばＨＤＤ（Hard Disk Drive）や、フラッシュメモリー、その他の不揮発性メモリーである。記憶部１７には、ＯＳや各種アプリケーション、各種データが記憶される。
【００６５】
通信部１５は、ネットワーク上の機器等と情報のやりとりを行う為のネットワークと結ばれている。
【００６６】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に格納された複数のプログラムのうち、操作入力部１４から与えられる命令に対応するプログラムをＲＡＭ１３に展開し、この展開されたプログラムにしたがって、表示部１６及び記憶部１７を適宜制御する。
【００６７】
操作入力部１４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００６８】
表示部１６は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ、プラズマディスプレイ等である。
【００６９】
次に、ＣＰＵ１１においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【００７０】
ＰＣ１０のＣＰＵ１１において実現される機能ブロックは、Ｗｅｂブラウザ１１ａ、Ｗｅｂサーバー１１ｂ、ＭＦＰアプリケーション１１ｃ、ＭＦＰシミュレーター１１ｄ、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆ、第１のロード部１１ｇ、第２のロード部１１ｈ、ジョブ実行部１１ｉ、およびジョブ完了通知受信部１１ｊである。
【００７１】
Ｗｅｂブラウザ１１ａは、ＭＦＰ上で稼働する一般的なＷｅｂブラウザであり、第１のロード部１１ｇがＭＦＰアプリケーション１１ｃ内のＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１をロードすると、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１をＷｅｂＳｏｃｋｅｔクライアント部１１ｅとして動作させる。また、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ経由で受信したジョブ完了通知を受信するジョブ完了通知受信部１１ｊも、Ｗｅｂブラウザ１１ａ上で動作する。
【００７２】
Ｗｅｂサーバー１１ｂは、ＭＦＰ上で稼働する一般的なＷｅｂサーバーであり、第２のロード部１１ｈがＭＦＰアプリケーション１１ｃ内のＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をロードすると、ＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をＷｅｂＳｏｃｋｅｔサーバー部１１ｆとして動作させる。
【００７３】
ＭＦＰアプリケーション１１ｃは、本来ＭＦＰ上で動作するアプリケーションプログラムであるが、ＭＦＰシミュレーター１１ｄ上で動かすことによりＰＣ１０で稼働させることが出来る。ＭＦＰアプリケーション１１ｃは、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１およびＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２を含んでいる。
【００７４】
ＭＦＰシミュレーター１１ｄは、ＰＣ１０上でＭＦＰアプリケーション１１ｃ、Ｗｅｂサーバー１１ｂ、Ｗｅｂブラウザ１１ａなどを稼働させるためのシミュレーターである。
【００７５】
ＷｅｂＳｏｃｋｅｔクライアント部１１ｅは、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１がＷｅｂブラウザ１１ａ上にロードされ実行されることにより実現する機能ブロックである。Ｗｅｂサーバー１１ｂ上のＷｅｂＳｏｃｋｅｔサーバー部１１ｆとの間で、ＷｅｂＳｏｃｋｅｔプロトコルによりデータのやり取りを行う。
【００７６】
ＷｅｂＳｏｃｋｅｔサーバー部１１ｆは、ＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２がＷｅｂサーバー１１ｂ上にロードされ実行されることにより実現する機能ブロックである。Ｗｅｂブラウザ１１ａ上のＷｅｂＳｏｃｋｅｔクライアント部１１ｅとの間で、ＷｅｂＳｏｃｋｅｔプロトコルによりデータのやり取りを行う。
【００７７】
第１のロード部１１ｇは、ＭＦＰアプリケーション１１ｃ内のＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１をＷｅｂブラウザ１１ａ上にロードする。
【００７８】
第２のロード部１１ｈは、ＭＦＰアプリケーション１１ｃ内のＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をＷｅｂサーバー１１ｂ上にロードする。
【００７９】
ジョブ実行部１１ｉは、ＭＦＰ上で実行されるコピー、印刷などのジョブの実行をシミュレートする。ジョブの実行完了時には、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆ経由で、ジョブが完了した旨を伝えるジョブ完了通知をＷｅｂＳｏｃｋｅｔクライアント部１１ｅに対してＰｕｓｈ送信する。
【００８０】
ジョブ完了通知受信部１１ｊは、Ｗｅｂブラウザ１１ａ上で動作し、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ経由で、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆからのジョブ完了通知を受信する。
【００８１】
以上、ＰＣ１０の構成について説明した。
【００８２】
［処理の流れ］
次に、ＰＣ１０上でシミュレートされる、クライアント側（Ｗｅｂブラウザ側）とサーバー側（Ｗｅｂサーバー側）とのやり取りの流れについて説明する。図４は、ＰＣ１０上でシミュレートされる、クライアント側（Ｗｅｂブラウザ側）とサーバー側（Ｗｅｂサーバー側）とのやり取りの流れについて説明するためのフローチャートである。
【００８３】
まず、第１のロード部１１ｇが、Ｗｅｂブラウザ１１ａ上にＭＦＰアプリケーション１１ｃ内のＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１をロードし、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅとして機能させる（ステップＳ１）。
【００８４】
次に、第２のロード部１１ｈが、Ｗｅｂサーバー１１ｂ上にＭＦＰアプリケーション１１ｃ内のＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をロードし、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆとして機能させる（ステップＳ１０）。
【００８５】
次に、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅが、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆに対し、ＷｅｂＳｏｃｋｅｔコネクション要求を送信する（ステップＳ２）。
【００８６】
次に、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆがＷｅｂＳｏｃｋｅｔコネクション要求を受信する（ステップＳ１１）。
【００８７】
次に、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆが承諾する旨のＨＴＴＰレスポンスを送信元のＷｅｂＳｏｃｋｅｔクライアント部１１ｅに対し送信する（ステップＳ１２）。
【００８８】
次に、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅが、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆから承諾する旨のＨＴＴＰレスポンスを受信する（ステップＳ３）。
【００８９】
ここまでの処理でＷｅｂＳｏｃｋｅｔクライアント部１１ｅとＷｅｂＳｏｃｋｅｔサーバー部１１ｆとの間でＷｅｂＳｏｃｋｅｔプロトコルによる接続が確立し、これ以後、サーバー側からのＰｕｓｈ送信が行えるようになる。
【００９０】
次に、Ｗｅｂサーバー１１ｂ側でジョブ実行部１１ｉがジョブの実行をシミュレートする（ステップＳ１３）。
【００９１】
次に、ジョブ実行部１１ｉがジョブの実行完了と共に、ジョブ完了通知をＷｅｂブラウザ１１ａに対しＷｅｂＳｏｃｋｅｔサーバー部１１ｆ経由でＰｕｓｈ送信する（ステップＳ１４）。
【００９２】
次に、Ｗｅｂブラウザ１１ａ上のジョブ完了通知受信部１１ｊが、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ経由で、Ｗｅｂサーバー１１ｂからＰｕｓｈ送信されたジョブ完了通知を受信する（ステップＳ４）。
【００９３】
次に、Ｗｅｂブラウザ１１ａが、ジョブ完了通知に基づいて、表示しているＵＩを更新する（ステップＳ５）。このステップにより、例えば、Ｗｅｂブラウザ１１ａ上に表示されていたコピー操作を指示する画面が、コピー処理が完了したことを示す画面へと遷移する。
【００９４】
以上でＷｅｂサーバー１１ｂ側からＷｅｂブラウザ１１ａ側へのジョブ完了通知のＰｕｓｈ送信は完了したので、最後にＷｅｂＳｏｃｋｅｔプロトコルによる接続を終了させて処理を終了させる。
【００９５】
次に、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅが、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆに対し、ＷｅｂＳｏｃｋｅｔコネクションの終了要求を送信する（ステップＳ６）。
【００９６】
次に、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆが、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅからＷｅｂＳｏｃｋｅｔコネクションの終了要求を受信する（ステップＳ１５）。
【００９７】
次に、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅが、ＷｅｂＳｏｃｋｅｔコネクションを終了させる（ステップＳ７）。
【００９８】
次に、ＷｅｂＳｏｃｋｅｔサーバー部１１ｆが、ＷｅｂＳｏｃｋｅｔコネクションを終了させる（ステップＳ１６）。
【００９９】
以上、ＰＣ１０上でシミュレートされる、クライアント側（Ｗｅｂブラウザ側）とサーバー側（Ｗｅｂサーバー側）とのやり取りの流れについて説明した。
【０１００】
＜第２の実施形態＞
次に、第２の実施形態について説明する。第１の実施形態では、ＭＦＰ上で動作するＭＦＰアプリケーション１１ｃ、Ｗｅｂブラウザ１１ａ、Ｗｅｂサーバー１１ｂをＰＣ１０のシミュレーター１１ｄ上で稼働させ、ジョブ完了通知をＷｅｂサーバー１１ｂからＷｅｂブラウザ１１ａに対しＰｕｓｈ送信させるものであった。
【０１０１】
これに対し、第２の実施形態では、ＭＦＰ上で発生したエラーやアプリケーションログをネットワークで接続されたＰＣ（情報処理装置、複数あってもよい）へＰｕｓｈ送信し、ＰＣ上でＭＦＰのエラーやログを閲覧できる画像形成システム１００について説明する。
【０１０２】
［概要］
最初に概要について説明する。図５は、第２の実施形態における動作開始前の状態を示す図である。
【０１０３】
画像形成システム１００は、１以上のＰＣ１０'と１以上のＭＦＰ２０を含んで構成される。
【０１０４】
ＰＣ１０'上では、Ｗｅｂブラウザ１１ａ'が稼働している。ＭＦＰ２０上では、Ｗｅｂサーバー２１ａとＭＦＰアプリケーション２１ｂが稼働している。
【０１０５】
ＭＦＰアプリケーション２１ｂは、Ｗｅｂブラウザ１１ａ'にダウンロードされ、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'として機能するＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１と、Ｗｅｂサーバー２１ａにロードされ、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃとして機能するＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２とを含んでいる。
【０１０６】
より具体的には、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１は、ＪａｖａＳｃｒｉｐｔにより記述されたファイルであり、ＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２は、Ｊａｖａ（登録商標）  Ｓｅｒｖｌｅｔである。
【０１０７】
次に動作開始後の状態について図６に示す。
【０１０８】
動作開始後は、ダウンロード部１１ｋ（後述）がＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１を、Ｗｅｂブラウザ１１ａ'にダウンロードし、ダウンロードされたＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１がＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'として機能する。
【０１０９】
また、第３のロード部２１ｄ（後述）がＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２を、Ｗｅｂサーバー２１ａにロードし、ロードされたＷｅｂＳｏｋｅｔサーバー部コードｃｄ２がＷｅｂＳｏｃｋｅｔサーバー部２１ｃとして機能する。
【０１１０】
そして、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃが、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'に対しＭＦＰ２０で発生したエラーおよびアプリケーションログをＰｕｓｈ送信する。
【０１１１】
このように、第２の実施形態では、ＭＦＰ２０上でエラーが発生したとき、およびアプリケーションログが追加されたときなど、Ｗｅｂサーバー２１ａ側で送信すべきメッセーが発生したときに、その都度、ＰＣ（クライアント）へＰｕｓｈ送信することが出来る。
【０１１２】
これにより、シリアルデバッガなどの特別な装置を必要とせずに、ＭＦＰ２０のエラーおよびログをＰＣ１０'上から監視することが可能となる。
【０１１３】
以上、概要について説明した。
【０１１４】
［ＰＣの構成］
次に、ＭＦＰ２０からエラーおよびアプリケーションログをＰｕｓｈ送信により取得するＰＣ１０'の構成について説明する。図７は、ＰＣ１０'の構成を概略的に示す図である。
【０１１５】
同図に示すように、ＰＣ１０'は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、操作入力部１４、通信部１５（第２の通信部）、表示部１６、および記憶部１７を有し、これら各ブロックがバス１８を介して接続されている。
【０１１６】
ＲＯＭ１２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ１３は、ＣＰＵ１１の作業用領域として用いられ、ＯＳ、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【０１１７】
記憶部１７は、例えばＨＤＤや、フラッシュメモリー、その他の不揮発性メモリーである。記憶部１７には、ＯＳや各種アプリケーション、各種データが記憶される。
【０１１８】
通信部１５は、ネットワーク上のＭＦＰ２０等と情報のやりとりを行う為のネットワークと結ばれている。
【０１１９】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に格納された複数のプログラムのうち、操作入力部１４から与えられる命令に対応するプログラムをＲＡＭ１３に展開し、この展開されたプログラムにしたがって、表示部１６及び記憶部１７を適宜制御する。
【０１２０】
操作入力部１４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【０１２１】
表示部１６は、例えば液晶ディスプレイ、ＥＬディスプレイ、プラズマディスプレイ等である。
【０１２２】
次に、ＣＰＵ１１においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【０１２３】
ＰＣ１０'のＣＰＵ１１において実現される機能ブロックは、Ｗｅｂブラウザ１１ａ'、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'、ダウンロード部１１ｋ、ログ・エラー受信部１１ｌ、およびログ・エラー閲覧部１１ｍである。
【０１２４】
Ｗｅｂブラウザ１１ａ'は、一般的なＷｅｂブラウザであり、ダウンロード部１１ｋがＭＦＰアプリケーション２１ｂ内のＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１をＷｅｂブラウザ１１ａ'上へダウンロードすると、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１をＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'として動作させる。
【０１２５】
また、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'経由で受信したエラーおよびアプリケーションログを受信するログ・エラー受信部１１ｌおよび受信したエラーおよびアプリケーションログを閲覧するためのログ・エラー閲覧部１１ｍも、Ｗｅｂブラウザ１１ａ'上で動作する。
【０１２６】
ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'は、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１がＷｅｂブラウザ１１ａ'上にダウンロードされ実行されることにより実現する機能ブロックである。Ｗｅｂサーバー２１ａ上のＷｅｂＳｏｃｋｅｔサーバー部２１ｃとの間で、ＷｅｂＳｏｃｋｅｔプロトコルによりデータのやり取りを行う。
【０１２７】
ダウンロード部１１ｋは、ＭＦＰアプリケーション２１ｂ内のＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１をＷｅｂブラウザ１１ａ'上にダウンロードする。
【０１２８】
ログ・エラー受信部１１ｌは、ＭＦＰ２０からＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'経由で、ＭＦＰ２０上で発生したエラーを示すエラーメッセージおよびアプリケーションログを受信する。
【０１２９】
ログ・エラー閲覧部１１ｍは、ログ・エラー受信部１１ｌが受信した、エラーメッセージおよびアプリケーションログをＷｅｂブラウザ１１ａ'の画面に表示し、ユーザーに閲覧させる。
【０１３０】
以上、ＰＣ１０'の構成について説明した。
【０１３１】
［ＭＦＰの構成］
次に、ＭＦＰの構成について説明する。図８はＭＦＰ２０の構成を概略的に示す構成図である。
【０１３２】
ＭＦＰ２０は、制御部２１を備える。制御部２１は、ＣＰＵ、ＲＡＭ、ＲＯＭ、および専用のハードウェア回路等から構成され、ＭＦＰ２０の全体的な動作制御を司る。
【０１３３】
制御部２１は、原稿読取部２２、画像処理部２３、画像メモリー２４、画像形成部２５、操作部２６、表示部２６ａ、ファクシミリ通信部２７、通信部２８（第１の通信部）、記憶部２９等と接続されている。制御部２１は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【０１３４】
制御部２１は、ユーザーから、操作部２６またはネッワーク接続されたＰＣ等を通じて入力されるジョブの実行指示に従って、スキャナー機能、印刷機能、コピー機能、およびファクシミリ送受信機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
【０１３５】
また、制御部２１は、Ｗｅｂサーバー２１ａ、ＭＦＰアプリケーション２１ｂ、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃ、第３のロード部２１ｄ、およびログ・エラー送信部２１ｅを有している。Ｗｅｂサーバー２１ａ、ＭＦＰアプリケーション２１ｂ、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃ、第３のロード部２１ｄ、およびログ・エラー送信部２１ｅは、ＲＯＭなどからＲＡＭにロードされたプログラムがＣＰＵにより実行されることで実現される機能ブロックである。
【０１３６】
Ｗｅｂサーバー２１ａは、一般的なＷｅｂサーバーであり、第３のロード部２１ｄがＭＦＰアプリケーション２１ｂ内のＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をロードすると、ＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をＷｅｂＳｏｃｋｅｔサーバー部２１ｃとして動作させる。
【０１３７】
ＭＦＰアプリケーション２１ｂは、ＭＦＰ上で動作するアプリケーションプログラムである。ＭＦＰアプリケーション２１ｂは、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１およびＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２を含んでいる。
【０１３８】
ＷｅｂＳｏｃｋｅｔサーバー部２１ｃは、ＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２がＷｅｂサーバー２１ａ上にロードされ実行されることにより実現する機能ブロックである。ＰＣ１０'のＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'との間で、ＷｅｂＳｏｃｋｅｔプロトコルによりデータのやり取りを行う。
【０１３９】
第３のロード部２１ｄは、ＭＦＰアプリケーション２１ｂ内のＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をＷｅｂサーバー２１ａ上にロードする。
【０１４０】
ログ・エラー送信部２１ｅは、ＭＦＰ２０上で発生したエラーのエラーメッセージおよびアプリケーションのログをＷｅｂＳｏｃｋｅｔサーバー部２１ｃ経由でＰｕｓｈ送信によりＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'へ送信する。
【０１４１】
原稿読取部２２は、原稿から画像を読み取る。
【０１４２】
画像処理部２３は、原稿読取部２２で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部２３は、原稿読取部２２により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【０１４３】
画像メモリー２４は、原稿読取部２２による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部２５での印刷対象となるデータを一時的に記憶したりする領域である。
【０１４４】
画像形成部２５は、原稿読取部２２で読み取られた画像データ等の画像形成を行う。
【０１４５】
操作部２６は、ＭＦＰ２０が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたＬＣＤ（Liquid Crystal Display）等の表示部２６ａを備えている。
【０１４６】
ファクシミリ通信部２７は、図示しない符号化／復号化部、変復調部、およびＮＣＵ（Network Control Unit）を備え、公衆電話回線網を用いてのファクシミリの送信を行う。
【０１４７】
通信部２８は、ＬＡＮボード等の通信モジュールから構成され、通信部２８に接続されたＬＡＮ等を介して、ネットワーク上の装置(ＰＣ１０'等)と種々のデータの送受信を行う。
【０１４８】
記憶部２９は、原稿読取部２２によって読み取られた原稿画像などを記憶する。記憶部２９は、ＨＤＤなどの大容量の記憶装置である。
【０１４９】
以上、ＭＦＰ２０の構成について説明した。
【０１５０】
［処理の流れ］
次に、画像形成システム１００における処理の流れについて説明する。図９は、画像形成システム１００における処理の流れについて説明するためのフローチャートである。
【０１５１】
まず、ＰＣ１０'上のＷｅｂブラウザ１１ａ'が、ユーザーがログを取りたいＭＦＰ２０のＵＲＬ（Uniform Resource Locator）を受け付ける（ステップＳ２０）。
【０１５２】
次に、Ｗｅｂブラウザ１１ａ'が、入力されたＵＲＬに基づき、ＨＴＴＰリクエストをＭＦＰ２０に送信する（ステップＳ２１）。
【０１５３】
次に、ＭＦＰ２０のＷｅｂサーバー２１ａが、ＰＣ１０'から送信されたＨＴＴＰリクエストを受信する（ステップＳ３０）。
【０１５４】
次に、Ｗｅｂサーバー２１ａが受信したＨＴＴＰリクエストに対するＨＴＴＰレスポンスをＷｅｂブラウザ１１ａ'宛てに送信する（ステップＳ３１）。
【０１５５】
次に、Ｗｅｂブラウザ１１ａ'が、ＭＦＰ２０から送信されたＨＴＴＰレスポンスを受信する（ステップＳ２２）。
【０１５６】
次に、ダウンロード部１１ｋが、Ｗｅｂサーバー２１ａにＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１のダウンロード要求を出す（ステップＳ２３）。
【０１５７】
次に、Ｗｅｂサーバー２１ａがＭＦＰアプリケーション２１ｂ内のＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１を取得し、ダウンロード部１１ｋに対し、送信する（ステップＳ３２）。
【０１５８】
ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１のダウンロード後、Ｗｅｂブラウザ１１ａ'上で、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'が稼働する。
【０１５９】
次に、第３のロード部２１ｄが、ＭＦＰアプリケーション２１ｂ内のＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２をＷｅｂサーバー２１ａへロードする（ステップＳ３３）。
【０１６０】
以上で、Ｗｅｂサーバー２１ａ上で、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃが稼働する。
【０１６１】
なお、ＷｅｂＳｏｃｋｅｔクライアント部コードｃｄ１のダウンロードとＷｅｂＳｏｃｋｅｔサーバー部コードｃｄ２のロードは、どちらが先でもよい。
【０１６２】
次に、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'が、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃに対し、ＷｅｂＳｏｃｋｅｔコネクション要求を送信する（ステップＳ２４）。
【０１６３】
次に、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃがＷｅｂＳｏｃｋｅｔコネクション要求を受信する（ステップＳ３４）。
【０１６４】
次に、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃが承諾する旨のＨＴＴＰレスポンスを送信元のＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'に対し送信する（ステップＳ３５）。
【０１６５】
次に、ＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'が、ＷｅｂＳｏｃｋｅｔサーバー部２１ｃから承諾する旨のＨＴＴＰレスポンスを受信する（ステップＳ２５）。
【０１６６】
ここまでの処理でＷｅｂＳｏｃｋｅｔクライアント部１１ｅ'とＷｅｂＳｏｃｋｅｔサーバー部２１ｃとの間でＷｅｂＳｏｃｋｅｔプロトコルによる接続が確立し、これ以後、サーバー側からのＰｕｓｈ送信が行えるようになる。
【０１６７】
次に、ＭＦＰ２０上のログ・エラー送信部２１ｅが、ＭＦＰ２０内で発生したエラーに対応したエラーメッセージおよびアプリケーションプログラム（ＭＦＰアプリケーション２１ｂ）が吐き出したログをＰｕｓｈ送信によりＰＣ１０'上のログ・エラー受信部１１ｌへ逐次送信する（ステップＳ３６）。
【０１６８】
次に、ＰＣ１０'上のログ・エラー受信部１１ｌが、ＭＦＰ２０からＰｕｓｈ送信されたエラーメッセージおよびアプリケーションログを受信する（ステップＳ２６）。
【０１６９】
次に、ＰＣ１０'上のログ・エラー閲覧部１１ｍが、前ステップで受信したエラーメッセージおよびアプリケーションログをＷｅｂブラウザ１１ａ'上に表示し、ユーザーに閲覧させる（ステップＳ２７）。
【０１７０】
なお、ステップＳ３６からステップＳ２７までは複数回繰り返されてもよい。
【０１７１】
最後に、以下のステップにおいて、エラーメッセージおよびアプリケーションログの送信を止めて処理を終了する。
【０１７２】
次に、Ｗｅｂブラウザ１１ａ'がユーザーからの終了指示（Ｗｅｂプラウザ１１ａ'のクローズ）を受け付け、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）セッションを切断し、処理を終了する（ステップＳ２８）。
【０１７３】
次に、Ｗｅｂサーバー２１ａが、ＴＣＰ／ＩＰセッションの切断を検知する（ステップＳ３７）。
【０１７４】
次に、Ｗｅｂサーバー２１ａが、ＷｅｂＳｏｃｋｅｔコネクションを終了させ、全ての処理を終了させる（ステップＳ３８）。
【０１７５】
以上、画像形成システム１００における処理の流れについて説明した。
【０１７６】
［さらなる効果］
本発明を実施することで、必要なときに複数のクライアント（ＰＣまたはＭＦＰ）へ、Ｗｅｂサーバーから一斉にメッセージを通達することができるようになる。
そのため、具体的には、以下の機能を提供することも可能となる。
・複数クライアント間でのチャット機能
・複数のＰＣやＭＦＰのSoftware/Firmwareのバージョンの同期
など
【０１７７】
［補足事項］
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０１７８】
１０、１０'  …  ＰＣ
１１  …  ＣＰＵ
１１ａ、１１ａ'…  Ｗｅｂブラウザ
１１ｂ…  Ｗｅｂサーバー
１１ｃ…  ＭＦＰアプリケーション
１１ｄ…  ＭＦＰシミュレーター
１１ｅ、１１ｅ'…  ＷｅｂＳｏｃｋｅｔクライアント部
１１ｆ…  ＷｅｂＳｏｃｋｅｔサーバー部
１１ｇ…  第１のロード部
１１ｈ…  第２のロード部
１１ｉ…  ジョブ実行部
１１ｊ…  ジョブ完了通知受信部
１１ｋ…  ダウンロード部
１１ｌ…  ログ・エラー受信部
１１ｍ…  ログ・エラー閲覧部
１２  …  ＲＯＭ
１３  …  ＲＡＭ
１４  …  操作入力部
１５  …  通信部
１６  …  表示部
１７  …  記憶部
１８  …  バス
２０  …  ＭＦＰ
２１  …  制御部
２１ａ…  Ｗｅｂサーバー
２１ｂ…  ＭＦＰアプリケーション
２１ｃ…  ＷｅｂＳｏｃｋｅｔサーバー部
２１ｄ…  第３のロード部
２１ｅ…  ログ・エラー送信部
２２  …  原稿読取部
２３  …  画像処理部
２４  …  画像メモリー
２５  …  画像形成部
２６  …  操作部
２６ａ…  表示部
２７  …  ファクシミリ通信部
２８  …  通信部
２９  …  記憶部
１００  …  画像形成システム
【図１】
2019191992.tif 000003
【図２】
2019191992.tif 000004
【図３】
2019191992.tif 000005
【図４】
2019191992.tif 000006
【図５】
2019191992.tif 000007
【図６】
2019191992.tif 000008
【図７】
2019191992.tif 000009
【図８】
2019191992.tif 000010
【図９】
2019191992.tif 000011