(57)【特許請求の範囲】
【請求項１】
メッセージを生成する生成手段と、
前記メッセージおよび当該メッセージのメッセージ識別子をクライアントとなるソフトウェアに送信する第１送信手段と、
前記ソフトウェアから再送要求を受信した場合、当該再送要求に含まれるメッセージ識別子に基づいて、前記生成されたメッセージのうち、当該ソフトウェアが受信しておらず、かつ、属性が条件を満たすメッセージを前記ソフトウェアへ送信する第２送信手段と
を有し、
前記第２送信手段は、前記生成されたメッセージの中に、前記ソフトウェアが受信しておらず、かつ、前記属性が前記条件を満たすメッセージがない場合、前記ソフトウェアが受信済であって前記属性が前記条件を満たすメッセージを、当該ソフトウェアへ再送する
情報処理装置。
【請求項２】
前記生成されたメッセージの少なくとも一部を、前記メッセージ識別子および当該メッセージの送信先であるソフトウェアを識別するクライアント識別子と対応付けて記憶手段に記憶する記憶制御手段と、
前記記憶手段に記憶されたメッセージの中から、前記受信された再送要求に含まれるメッセージ識別子に基づいて、前記ソフトウェアが受信していないメッセージを特定する第１特定手段と、
前記第１特定手段により特定されたメッセージの中から、当該メッセージの属性が予め定められた条件を満たすものを特定する第２特定手段と
を更に有し、
前記第２送信手段は、前記第２特定手段により特定されたメッセージを前記ソフトウェアへ送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成されたメッセージのうち、当該メッセージの属性が予め定められた条件を満たすものを特定する第２特定手段と、
前記第２特定手段により特定されたメッセージを、当該メッセージを識別するメッセージ識別子および当該メッセージの送信先であるソフトウェアを識別するクライアント識別子と対応付けて記憶手段に記憶する記憶制御手段と、
前記記憶手段に記憶されたメッセージの中から、前記受信された再送要求に含まれるメッセージ識別子に基づいて、前記再送要求の送信元であるソフトウェアが受信していないメッセージを特定する第１特定手段と
を更に有し、
前記第２送信手段は、前記第１特定手段により特定されたメッセージを前記ソフトウェアへ送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記属性は、前記メッセージの重要度を示し、
前記第２特定手段は、前記重要度が予め定められた閾値よりも高いメッセージを特定する
請求項２または３に記載の情報処理装置。
【請求項５】
前記第２特定手段は、前記メッセージが送信されてから経過した時間が予め定められた閾値以下であるメッセージを特定する
請求項２ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
処理を実行する処理手段を更に有し、
前記メッセージは、前記処理手段が実行する処理に関するメッセージであり、
前記記憶制御手段は、前記生成されたメッセージの少なくとも一部を、前記処理を識別する処理識別子および前記メッセージ識別子と対応付けて前記記憶手段に記憶し、
前記第２特定手段は、前記記憶手段に記憶されたメッセージの中に前記処理が完了した旨を示すメッセージがある場合、当該メッセージを特定し、当該処理の処理識別子に対応する他のメッセージを特定しない
請求項２に記載の情報処理装置。
【請求項７】
ウェブサーバとして機能するソフトウェアが実行する処理に関するメッセージを、当該メッセージを識別するメッセージ識別子とともに当該ソフトウェアから受信する受信手段と、
前記受信されたメッセージ識別子を記憶手段に記憶する記憶制御手段と、
前記メッセージの受信に関する状態が予め定められた条件を満たす場合、前記メッセージの再送要求であって前記メッセージ識別子を含む再送要求を送信する送信手段と、
前記再送要求の応答として前記ソフトウェアから受信されるメッセージに対応する処理のうち、当該受信されたメッセージの属性が予め定められた条件を満たす処理を実行する処理実行手段と、
前記ソフトウェアに対して処理の実行要求を送信する第２送信手段と
を有し、
前記処理実行手段は、前記実行要求に対応する処理が完了した旨を示すメッセージに対応する処理を実行し、当該メッセージ以外のメッセージに対応する処理を実行しない
情報処理装置。
【請求項８】
前記属性は、前記メッセージの重要度を示し、
前記処理実行手段は、前記重要度が予め定められた閾値よりも高いメッセージに対応する処理を実行する
請求項７に記載の情報処理装置。
【請求項９】
第１情報処理装置と、
第２情報処理装置と
を有し、
前記第１情報処理装置は、
ウェブサーバとして機能する第１ソフトウェアが実行する処理に関するメッセージを、当該メッセージを識別するメッセージ識別子とともに当該第１ソフトウェアから受信する受信手段と、
前記受信されたメッセージ識別子を記憶手段に記憶する記憶制御手段と、
前記メッセージの受信に関する状態が予め定められた条件を満たす場合、前記メッセージの再送要求であって前記メッセージ識別子を含む再送要求を送信する第１送信手段と、
前記再送要求の応答として前記第１ソフトウェアから受信されるメッセージに対応する処理のうち、当該受信されたメッセージの属性が予め定められた条件を満たす処理を実行する処理実行手段と
を備え、
前記第２情報処理装置は、
メッセージを生成する生成手段と、
前記メッセージおよび当該メッセージのメッセージ識別子をクライアントとなるソフトウェアに送信する第２送信手段と、
前記ソフトウェアから再送要求を受信した場合、当該再送要求に含まれるメッセージ識別子に基づいて、前記生成されたメッセージのうち、当該ソフトウェアが受信しておらず、かつ、属性が条件を満たすメッセージを前記ソフトウェアへ送信する第３送信手段と
を備え、
前記第３送信手段は、前記生成されたメッセージの中に、前記ソフトウェアが受信しておらず、かつ、前記属性が前記条件を満たすメッセージがない場合、前記ソフトウェアが受信済であって前記属性が前記条件を満たすメッセージを、当該ソフトウェアへ再送する
システム。
【請求項１０】
コンピュータに、
メッセージを生成するステップと、
前記メッセージおよび当該メッセージのメッセージ識別子をクライアントとなるソフトウェアに送信するステップと、
前記ソフトウェアから再送要求を受信した場合、当該再送要求に含まれるメッセージ識別子に基づいて、前記生成されたメッセージのうち、当該ソフトウェアが受信しておらず、かつ、属性が条件を満たすメッセージを前記ソフトウェアへ送信するステップであって、前記生成されたメッセージの中に、前記ソフトウェアが受信しておらず、かつ、前記属性が前記条件を満たすメッセージがない場合、前記ソフトウェアが受信済であって前記属性が前記条件を満たすメッセージを、当該ソフトウェアへ再送するステップと
を実行させるためのプログラム。
【請求項１１】
コンピュータに、
ウェブサーバとして機能するソフトウェアが実行する処理に関するメッセージを、当該メッセージを識別するメッセージ識別子とともに当該ソフトウェアから受信するステップと、
前記受信されたメッセージ識別子を記憶手段に記憶するステップと、
前記メッセージの受信に関する状態が予め定められた条件を満たす場合、前記メッセージの再送要求であって前記メッセージ識別子を含む再送要求を送信するステップと、
前記ソフトウェアに対して処理の実行要求を送信するステップと、
前記再送要求の応答として前記ソフトウェアから受信されるメッセージに対応する処理のうち、当該受信されたメッセージの属性が予め定められた条件を満たす処理を実行するステップであって、前記実行要求に対応する処理が完了した旨を示すメッセージに対応する処理を実行し、当該メッセージ以外のメッセージに対応する処理を実行しないステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、システム及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、画像形成装置の操作部と外部情報端末の表示部とにおいて操作パネルとしての表示画面データを表示する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５６０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、一のソフトウェアから他のソフトウェアへメッセージが再送される場合の再送に起因する処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る情報処理装置は、メッセージを生成する生成手段と、前記メッセージおよび当該メッセージのメッセージ識別子をクライアントとなるソフトウェアに送信する第１送信手段と、前記ソフトウェアから再送要求を受信した場合、当該再送要求に含まれるメッセージ識別子に基づいて、前記生成されたメッセージのうち、当該ソフトウェアが受信しておらず、かつ、属性が条件を満たすメッセージを前記ソフトウェアへ送信する第２送信手段とを有し、前記第２送信手段は、前記生成されたメッセージの中に、前記ソフトウェアが受信しておらず、かつ、前記属性が前記条件を満たすメッセージがない場合、前記ソフトウェアが受信済であって前記属性が前記条件を満たすメッセージを、当該ソフトウェアへ再送することを特徴とする。
【０００６】
本発明の請求項２に係る情報処理装置は、請求項１に記載の構成において、前記生成されたメッセージの少なくとも一部を、前記メッセージ識別子および当該メッセージの送信先であるソフトウェアを識別するクライアント識別子と対応付けて記憶手段に記憶する記憶制御手段と、前記記憶手段に記憶されたメッセージの中から、前記受信された再送要求に含まれるメッセージ識別子に基づいて、前記ソフトウェアが受信していないメッセージを特定する第１特定手段と、前記第１特定手段により特定されたメッセージの中から、当該メッセージの属性が予め定められた条件を満たすものを特定する第２特定手段とを更に有し、前記第２送信手段は、前記第２特定手段により特定されたメッセージを前記ソフトウェアへ送信することを特徴とする。
【０００７】
本発明の請求項３に係る情報処理装置は、請求項１に記載の構成において、前記生成されたメッセージのうち、当該メッセージの属性が予め定められた条件を満たすものを特定する第２特定手段と、前記第２特定手段により特定されたメッセージを、当該メッセージを識別するメッセージ識別子および当該メッセージの送信先であるソフトウェアを識別するクライアント識別子と対応付けて記憶手段に記憶する記憶制御手段と、前記記憶手段に記憶されたメッセージの中から、前記受信された再送要求に含まれるメッセージ識別子に基づいて、前記再送要求の送信元であるソフトウェアが受信していないメッセージを特定する第１特定手段とを更に有し、前記第２送信手段は、前記第１特定手段により特定されたメッセージを前記ソフトウェアへ送信することを特徴とする。
【０００８】
本発明の請求項４に係る情報処理装置は、請求項２または３に記載の構成において、前記属性は、前記メッセージの重要度を示し、前記第２特定手段は、前記重要度が予め定められた閾値よりも高いメッセージを特定することを特徴とする。
【００１０】
本発明の請求項５に係る情報処理装置は、請求項２ないし４のいずれか１項に記載の構成において、前記第２特定手段は、前記メッセージが送信されてから経過した時間が予め定められた閾値以下であるメッセージを特定することを特徴とする。
【００１１】
本発明の請求項６に係る情報処理装置は、請求項２に記載の構成において、処理を実行する処理手段を更に有し、前記メッセージは、前記処理手段が実行する処理に関するメッセージであり、前記記憶制御手段は、前記生成されたメッセージの少なくとも一部を、前記処理を識別する処理識別子および前記メッセージ識別子と対応付けて前記記憶手段に記憶し、前記第２特定手段は、前記記憶手段に記憶されたメッセージの中に前記処理が完了した旨を示すメッセージがある場合、当該メッセージを特定し、当該処理の処理識別子に対応する他のメッセージを特定しないことを特徴とする。
【００１２】
本発明の請求項７に係る情報処理装置は、ウェブサーバとして機能するソフトウェアが実行する処理に関するメッセージを、当該メッセージを識別するメッセージ識別子とともに当該ソフトウェアから受信する受信手段と、前記受信されたメッセージ識別子を記憶手段に記憶する記憶制御手段と、前記メッセージの受信に関する状態が予め定められた条件を満たす場合、前記メッセージの再送要求であって前記メッセージ識別子を含む再送要求を送信する送信手段と、前記再送要求の応答として前記ソフトウェアから受信されるメッセージに対応する処理のうち、当該受信されたメッセージの属性が予め定められた条件を満たす処理を実行する処理実行手段と、前記ソフトウェアに対して処理の実行要求を送信する第２送信手段とを有し、前記処理実行手段は、前記実行要求に対応する処理が完了した旨を示すメッセージに対応する処理を実行し、当該メッセージ以外のメッセージに対応する処理を実行しないことを特徴とする。
【００１３】
本発明の請求項８に係る情報処理装置は、請求項７に記載の構成において、前記属性は、前記メッセージの重要度を示し、前記処理実行手段は、前記重要度が予め定められた閾値よりも高いメッセージに対応する処理を実行することを特徴とする。
【００１５】
本発明の請求項９に係るシステムは、第１情報処理装置と、第２情報処理装置とを有し、前記第１情報処理装置は、ウェブサーバとして機能する第１ソフトウェアが実行する処理に関するメッセージを、当該メッセージを識別するメッセージ識別子とともに当該第１ソフトウェアから受信する受信手段と、前記受信されたメッセージ識別子を記憶手段に記憶する記憶制御手段と、前記メッセージの受信に関する状態が予め定められた条件を満たす場合、前記メッセージの再送要求であって前記メッセージ識別子を含む再送要求を送信する第１送信手段と、前記再送要求の応答として前記第１ソフトウェアから受信されるメッセージに対応する処理のうち、当該受信されたメッセージの属性が予め定められた条件を満たす処理を実行する処理実行手段とを備え、前記第２情報処理装置は、メッセージを生成する生成手段と、前記メッセージおよび当該メッセージのメッセージ識別子をクライアントとなるソフトウェアに送信する第２送信手段と、前記ソフトウェアから再送要求を受信した場合、当該再送要求に含まれるメッセージ識別子に基づいて、前記生成されたメッセージのうち、当該ソフトウェアが受信しておらず、かつ、属性が条件を満たすメッセージを前記ソフトウェアへ送信する第３送信手段とを備え、前記第３送信手段は、前記生成されたメッセージの中に、前記ソフトウェアが受信しておらず、かつ、前記属性が前記条件を満たすメッセージがない場合、前記ソフトウェアが受信済であって前記属性が前記条件を満たすメッセージを、当該ソフトウェアへ再送することを特徴とする。
【００１６】
本発明の請求項１０に係るプログラムは、コンピュータに、メッセージを生成するステップと、前記メッセージおよび当該メッセージのメッセージ識別子をクライアントとなるソフトウェアに送信するステップと、前記ソフトウェアから再送要求を受信した場合、当該再送要求に含まれるメッセージ識別子に基づいて、前記生成されたメッセージのうち、当該ソフトウェアが受信しておらず、かつ、属性が条件を満たすメッセージを前記ソフトウェアへ送信するステップであって、前記生成されたメッセージの中に、前記ソフトウェアが受信しておらず、かつ、前記属性が前記条件を満たすメッセージがない場合、前記ソフトウェアが受信済であって前記属性が前記条件を満たすメッセージを、当該ソフトウェアへ再送するステップとを実行させるためのプログラムであることを特徴とする。
【００１７】
本発明の請求項１１に係るプログラムは、コンピュータに、ウェブサーバとして機能するソフトウェアが実行する処理に関するメッセージを、当該メッセージを識別するメッセージ識別子とともに当該ソフトウェアから受信するステップと、前記受信されたメッセージ識別子を記憶手段に記憶するステップと、前記メッセージの受信に関する状態が予め定められた条件を満たす場合、前記メッセージの再送要求であって前記メッセージ識別子を含む再送要求を送信するステップと、前記ソフトウェアに対して処理の実行要求を送信するステップと、前記再送要求の応答として前記ソフトウェアから受信されるメッセージに対応する処理のうち、当該受信されたメッセージの属性が予め定められた条件を満たす処理を実行するステップであって、前記実行要求に対応する処理が完了した旨を示すメッセージに対応する処理を実行し、当該メッセージ以外のメッセージに対応する処理を実行しないステップとを実行させるためのプログラムであることを特徴とする。
【発明の効果】
【００１８】
請求項１、２、３、９および１０に係る発明によれば、生成されたメッセージのうち、再送要求を受けた場合に属性が条件を満たすメッセージを送信しない場合と比べて、一のソフトウェアから他のソフトウェアへメッセージが再送される場合の再送に起因する処理負荷が軽減されるとともに、受信側のソフトウェアに再実行させたい処理を指定することができる。
請求項４および８に係る発明によれば、重要度が閾値よりも高いメッセージ以外のメッセージに対応する処理の実行が省略される。
請求項５に係る発明によれば、送信されてからの経過時間が閾値以下であるメッセージを特定しない場合と比べて、再送に起因する処理負荷が軽減される。
請求項６に係る発明によれば、処理が完了した旨を示すメッセージ以外のメッセージに対応する処理の実行が省略される。
請求項７および１１に係る発明によれば、生成されたメッセージのうち、再送要求を受けた場合に属性が条件を満たすメッセージを送信しない場合と比べて、一のソフトウェアから他のソフトウェアへメッセージが再送される場合の再送に起因する処理負荷が軽減されるとともに、実行要求に対応する処理が完了した旨を示すメッセージ以外のメッセージに対応する処理の実行が省略される。
【図面の簡単な説明】
【００１９】
【図１】実施形態の情報処理システムの全体構成の一例を示すブロック図
【図２】表示された操作画像の一例を示す図
【図３】表示された状況情報の例を示す図
【図４】ユーザ装置のハードウェア構成の一例を示すブロック図
【図５】操作装置のハードウェア構成の一例を示すブロック図
【図６】情報処理装置のハードウェア構成の一例を示すブロック図
【図７】情報処理システムの機能構成の一例を示すブロック図
【図８】情報処理システムの構成を表す階層構造の一例を示す図
【図９】機能部に含まれるモジュール群の一例を示す図
【図１０】表示された状況情報の例を示す図
【図１１】表示された状況情報の例を示す図
【図１２】第１の方法が用いられる場合の各装置の動作の一例を示すシーケンス図
【図１３】第２の方法が用いられる場合の各装置の動作の一例を示すシーケンス図
【図１４】第３の方法が用いられる場合の各装置の動作の一例を示すシーケンス図
【図１５】第４の方法が用いられる場合の各装置の動作の一例を示すシーケンス図
【図１６】コピー動作の一例を示すシーケンス図
【図１７】キャッシュ領域に格納されるデータの内容の一例を示す図
【図１８】キャッシュ領域に格納されるデータの内容の一例を示す図
【図１９】メッセージの再送要求動作の一例を示すシーケンス図
【図２０】変形例の情報処理装置のハードウェア構成の一例を示す図
【図２１】変形例の情報処理装置のハードウェア構成の一例を示す図
【発明を実施するための形態】
【００２０】
［１］実施形態
まず、図１から図１１までを参照して、実施形態の情報処理システムの全体構成、ハードウェア構成及び機能構成について説明する。
【００２１】
［１−１］全体構成
図１は、情報処理システムの全体構成の一例を示すブロック図である。図１では、通信回線２と、通信機器３と、情報処理装置１０と、複数のユーザ装置２０とを備える情報処理システム１が示されている。情報処理システム１は、本実施形態では、コピーやスキャン、ＦＡＸ（ファクシミリ）、プリント（画像データの媒体への出力）などの機能をユーザに提供するシステムである。
【００２２】
通信回線２は、例えばインターネットや移動体通信網、電話回線などのうちの少なくとも１つ以上を含む通信のためのシステムである。通信回線２は、自システムに接続された装置同士の通信を仲介する。通信回線２には、情報処理装置１０及び通信機器３が接続されている。通信機器３は、通信機能を有する装置であり、本実施形態では無線ＬＡＮの規格に準拠して無線通信を行う。通信機器３は、ユーザ装置２０と無線通信を行う一方、通信回線２を介して情報処理装置１０と通信する。つまり、情報処理装置１０は、通信回線２及び通信機器３を介してユーザ装置２０と通信する。なお、情報処理装置１０とユーザ装置２０は、通信機器３を介することなく、直接通信するように構成してもよい。
【００２３】
情報処理装置１０は、媒体に画像を形成する画像形成処理や、媒体に形成された画像を読み取る画像読取処理などの処理を行う装置である。これらの処理は、前述したコピーやスキャン、ＦＡＸ、プリントなどの機能がユーザに提供される際に行われる。情報処理装置１０は、自装置の操作に用いられる操作装置３０を有する。操作装置３０は、情報処理装置１０を操作するための装置であり、いわゆるコントロールパネルである。操作装置３０は、情報処理装置１０の筐体に固定されており、情報処理装置１０が設置されている場所に来たユーザによって用いられる。操作装置３０は、例えば液晶ディスプレイ等を有し、情報処理装置１０を操作するための画像データ（以下「操作画像データ」という）を表示する。操作画像データに基づき表示される操作画像について、図２を参照して説明する。
【００２４】
図２は、操作装置３０に表示される操作画像の一例を示す図である。図２の例では、コピー機能を利用するための操作画像データ群Ａ１が表示されている。操作画像データ群Ａ１には、コピーを開始させるための操作画像データＡ１１などが含まれている。ユーザは、操作画像データＡ１１をタップする（軽く叩く）ことで、操作画像データＡ１１に対応する操作、すなわちコピーを開始させる操作を行う。操作装置３０は、表示した操作画像データに対して操作が行われると、その操作に対応した処理の要求を情報処理装置１０に対して行う。操作画像データＡ１１が操作された場合であれば、操作装置３０は、コピー機能を提供するための処理（具体的には画像読取処理および画像形成処理を含む一連の処理。以下「コピー処理」という）を情報処理装置１０に要求する。
【００２５】
ユーザ装置２０は、操作画像を表示し、表示した操作画像に対して操作が行われると、その操作に対応した処理の要求を情報処理装置１０に対して行うという点で、操作装置３０と共通している。ユーザ装置２０は、例えばタブレット端末やパーソナルコンピュータなどであり、ユーザによって持ち運ばれて利用されるものでもよいし、机に設置されて利用されるものでもよい。また、情報処理装置１０の操作に限らず、他の用途（会社の業務など）にも用いられてもよい。
【００２６】
情報処理装置１０は、操作装置３０やユーザ装置２０からの要求に基づいて処理を実行すると、実行している処理の状況を表す情報（以下「状況情報」という）をこれらの装置に送信することで、これらの装置に対して処理の状況を通知する。状況情報とは、例えば、コピー機能が利用される場合であれば、画像が読み取られた媒体の枚数や画像が形成された媒体の枚数などの情報である。
【００２７】
図３は、表示された状況情報の例を示す図である。情報処理装置１０は、例えばコピー処理を実行した場合であれば、図３（ａ）に示すように、コピーが完了した枚数（部数及びページ数）を表す枚数情報Ｃ１１や「コピーしています。」という文字列、「白黒」、「Ａ４」、「１００％」及び「ソート」というコピーのパラメータなどを含む状況情報Ｃ１を通知する。
【００２８】
また、情報処理装置１０は、コピー処理が進んで要求された枚数のコピーが完了すると、図３（ｂ）に示すように、要求された枚数の分のコピーが完了したことを表す枚数情報Ｃ２１や「コピーが完了しました。」という文字列などを含む状況情報Ｃ２を送信する。なお、枚数情報Ｃ１１及びＣ２１は、コピーを要求された枚数を分母とし、そのうちコピーが完了した枚数を分子とする分数で表されている。このように、状況情報には、処理の進捗を表す情報や処理の結果を表す情報、処理に用いられるパラメータの情報などが含まれる。操作装置３０及びユーザ装置２０は、いずれも、通知された状況を図３に示すように表示する表示装置でもある。以下では、操作装置３０及びユーザ装置２０を区別しない場合には表示装置４という。
【００２９】
［１−２］ハードウェア構成
図４は、ユーザ装置２０のハードウェア構成の一例を示すブロック図である。ユーザ装置２０は、制御部２１と、記憶部２２と、通信部２３と、表示部２４と、操作部２５とを備えるコンピュータである。制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及びリアルタイムクロックを備え、ＣＰＵが、ＲＡＭをワークエリアとして用いてＲＯＭや記憶部２２に記憶されたプログラムを実行することによって各部の動作を制御する。リアルタイムクロックは、現在の日時を算出してＣＰＵに通知する。
【００３０】
記憶部２２は、ハードディスクドライブ等を備え、制御部２１が制御に用いるデータやプログラム、画像データなどを記憶する。通信部２３は、無線ＬＡＮ（Local Area Network）の規格に準拠して無線通信を行う通信回路及びアンテナを備える通信手段であり、例えば図１に示す通信機器３と無線通信を行う。表示部２４は、例えば液晶ディスプレイを有し、制御部２１により制御されて表示面に画像を表示する。操作部２５は、例えば自装置がタブレット端末である場合には、表示面に重ねて設けられたタッチセンサ（タッチスクリーンやタッチパネルともいう）や筐体に設けられたボタン等を備え、上述したタップ等のユーザの操作を受け付けてその操作の内容を示す操作データを制御部２１に供給する。なお、自装置がパーソナルコンピュータである場合には、操作部２５はキーボードやマウスを備えていてもよい。制御部２１は、供給された操作データに応じた制御を行う。
【００３１】
図５は、操作装置３０のハードウェア構成の一例を示すブロック図である。操作装置３０は、制御部３１と、記憶部３２と、通信部３３と、表示部３４と、操作部３５とを備えるコンピュータである。以下、図４に示すブロックと共通のハードウェアを表すブロック（通信部３３を除く各部）には、共通の名称を付して説明を省く。通信部３３は、有線ＬＡＮの規格に準拠して通信を行う通信回路と、通信用のケーブル（具体的にはＬＡＮケーブル）が有するコネクタを差し込むポートとを備える通信手段である。
【００３２】
上述したように、操作装置３０とユーザ装置２０を区別しない場合には表示装置４という。また、これに伴い、制御部３１と制御部２１を区別する必要がない場合には「制御部１４１」という。記憶部３２と記憶部２２を区別する必要がない場合には「記憶部１４２」という。表示部３４と表示部２４を区別する必要がない場合には「表示部１４４」という。操作部３５と操作部２５を区別する必要がない場合には「操作部１４５」という。
【００３３】
図６は、情報処理装置１０のハードウェア構成の一例を示すブロック図である。情報処理装置１０は、制御部１１と、記憶部１２と、画像読取部１３と、画像形成部１４と、第１通信部１５と、第２通信部１６と、接続部１７とを備えるコンピュータである。以下、図４及び図５に示すブロックと共通のハードウェアを表すブロック（制御部１１及び記憶部１２）には、共通の名称を付して説明を省く。また、情報処理装置１０は、ＵＩ（User Interface）部として機能する前述した操作装置３０を備えている。制御部１１は、本実施形態では、操作装置３０を除く各部を制御する。
【００３４】
画像読取部１３は、例えばＣＣＤ（Charge Coupled Devices）方式を用いて、原稿に描かれた画像を読み取る画像読取処理を行う。画像読取部１３は、用紙等の媒体に形成されたコンテンツの画像を光学的に読み取って、読み取った画像を表す画像データを制御部１１に供給する。画像形成部１４は、例えば電子写真方式を用いて、媒体に画像を形成する画像形成処理を行う。画像形成部１４は、制御部１１から供給される画像データが示す画像を用紙等の媒体に形成する。なお、画像の読み取り及び画像の形成に用いられる前述した方式は、それぞれ一例であり、他の方式であってもよい。
【００３５】
第１通信部１５は、通信用のケーブルやデータバスを介して操作装置３０の通信部３３と接続され、前述した外部装置を介さずに操作装置３０と通信する。つまり、通信部３３も、前述した外部装置を介さずに情報処理装置１０と通信する。
【００３６】
第２通信部１６は、通信用のインターフェースとして有線ＬＡＮまたは無線ＬＡＮの規格に準拠して通信を行う通信回路と、通信用のケーブル（ＬＡＮケーブル）が有するコネクタを差し込むポートや無線ＬＡＮの規格に準拠した無線の送受信装置を備え、このインターフェースを介して接続される装置と通信する通信処理を行う。第２通信部１６は、図１に示す通信回線２に接続されて、外部装置（情報処理装置１０にとっての外部装置であり、例えば通信機器３）を介して例えばユーザ装置２０と通信する。接続部１７は、ＳＤメモリーカード等の記憶媒体を接続するスロット等を有し、それらの記憶媒体と接続する。制御部１１は、接続部１７を介して、それらの記憶媒体に記憶されているデータの読み出しや記憶媒体へのデータの書き込みを行う。操作装置３０は、図５の説明で述べた構成を備え、第１通信部１５と通信する。操作装置３０は、この通信を行うことで、例えば制御部１１から送信されてくるデータが示す画像を表示したり、情報処理装置１０を操作するためのデータを制御部１１に送信したりするユーザインターフェース部（ＵＩ部）として機能する。
【００３７】
［１−３］機能構成
図７は、情報処理システム１の機能構成の一例を示すブロック図である。情報処理システム１は、情報処理装置１０（第２情報処理装置の一例）と、表示装置４（すなわち操作装置３０またはユーザ装置２０（第１情報処理装置の一例））とを有する。情報処理装置１０は、生成手段１０１と、第１送信手段１０２と、第２送信手段１０３と、記憶制御手段１０４と、第１特定手段１０５と、第２特定手段１０６と、処理手段１０７とを備える。生成手段１０１は、情報処理装置１０が実行する処理に関するメッセージを生成する。第１送信手段１０２は、ウェブクライアントとして機能するソフトウェアに対して、生成手段１０１により生成されたメッセージを、当該メッセージを識別するメッセージ識別子とともに送信する。第２送信手段１０３は、メッセージ識別子を含む再送要求が上記ソフトウェアから受信された場合、受信された再送要求に含まれるメッセージ識別子に基づいて、生成手段１０１により生成されたメッセージの中から、上記ソフトウェアが受信していないメッセージであって、かつ、当該メッセージの属性が予め定められた条件を満たすものを特定する。また、第２送信手段１０３は、特定したメッセージを上記ソフトウェアへ送信する。
【００３８】
記憶制御手段１０４は、生成されたメッセージの少なくとも一部を、メッセージ識別子およびメッセージの送付先であるソフトウェアを識別するクライアント識別子と対応付けて記憶手段１０８に記憶する。第１特定手段１０５は、記憶手段１０８に記憶されたメッセージの中から、上記ソフトウェアが受信していないメッセージを特定する。第２特定手段１０６は、第１特定手段１０５により特定されたメッセージの中から、当該メッセージの属性が予め定められた条件を満たすものを特定する。処理手段１０７は、処理を実行する。
【００３９】
この例で、情報処理装置１０の制御部１１、制御部１１および第１通信部１５、または制御部１１および第２通信部１６は、生成手段１０１、第１送信手段１０２、第２送信手段１０３、記憶制御手段１０４、第１特定手段１０５、第２特定手段１０６および処理手段１０７の一例である。記憶部１２は記憶手段１０８の一例である。
【００４０】
表示装置４は、受信手段４０１と、記憶制御手段４０２と、第３送信手段４０３と、処理実行手段４０４と、第４送信手段４０６とを備える。受信手段４０１は、ウェブサーバとして機能するソフトウェアが実行する処理に関するメッセージを、当該メッセージを識別するメッセージ識別子とともに当該ソフトウェアから受信する。記憶制御手段４０２は、受信手段４０１により受信されたメッセージ識別子を記憶手段４０５に記憶する。第３送信手段４０３は、メッセージの受信に関する状態が予め定められた条件を満たす場合、メッセージの再送要求であってメッセージ識別子を含む再送要求を送信する。処理実行手段４０４は、上記再送要求の応答として上記ソフトウェアから受信されるメッセージに対応する処理のうち、受信されたメッセージの属性が予め定められた条件を満たす処理を実行する。第４送信手段４０６は、上記ソフトウェアに対して処理の実行を要求する。
【００４１】
この例で、ユーザ装置２０の制御部２１、制御部２１および通信部２３、操作装置３０の制御部３１、または制御部３１および通信部３３は、受信手段４０１、記憶制御手段４０２、第３送信手段４０３、処理実行手段４０４および第４送信手段４０６の一例である。記憶部２２および記憶部３２は記憶手段４０５の一例である。
【００４２】
［１−４］階層構造
図８は、情報処理システム１の構成を表す階層構造の一例を示す図である。情報処理システム１は、プレゼンテーション層４０と、インターフェース５０と、ファンクション層６０と、ミドルウェア層７０と、ハードウェア層８０とを備える。プレゼンテーション層４０は表示装置４（すなわち操作装置３０およびユーザ装置２０）の制御部１４１が記憶部１４２に記憶されたプログラムを実行することによって実現される。プレゼンテーション層４０はウェブクライアントとして機能するソフトウェアの一例である。インターフェース５０、ファンクション層６０およびミドルウェア層７０は、情報処理装置１０の制御部１１が記憶部１２に記憶されたプログラムを実行することによって実現される。インターフェース５０、ファンクション層６０およびミドルウェア層７０は、ウェブサーバとして機能するソフトウェアの一例である。ハードウェア層８０は、情報処理装置１０のハードウェア資源の集合であり、ミドルウェア層７０により制御される。
【００４３】
この実施形態では、プレゼンテーション層４０（すなわち表示装置４）とインターフェース５０（すなわち情報処理装置１０）とは、ＷＷＷ（World Wide Web：ワールドワイドウェブ。以下「ウェブ」という）の規格に準拠して通信が行われる。この例で、プレゼンテーション層４０とインターフェース５０とは、ＨＴＴＰ（Hypertext Transfer Protocol）およびＷｅｂＳｏｃｋｅｔにより通信を行う。
【００４４】
表示装置４がユーザ装置２０である場合、情報処理装置１０とユーザ装置２０（すなわちプレゼンテーション層４０とインターフェース５０）は、図１の説明で述べたように、通信回線２および通信機器３を介してデータの授受を行う。すなわち、この場合、情報処理装置１０およびユーザ装置２０ではない通信機器（通信機器３や通信回線２が有する通信機器など。以下「他の通信機器」という）を介する通信が行われる。一方、表示装置４が操作装置３０である場合、情報処理装置１０と操作装置３０（すなわちプレゼンテーション層４０とインターフェース５０）は、図６の説明で述べた第１通信部１５に接続されているケーブルを介してデータの授受を行う。すなわち、この場合、前述した他の通信機器を介さない通信が行われる。上記他の通信機器には、通信機器３以外にも、例えば通信回線２が有するルータやハブ、ブリッジなどが含まれる。なお、通信回線２がルータ等を有しない場合でも、少なくとも通信機器３が含まれる。
【００４５】
［１−４−１］プレゼンテーション層
操作装置３０またはユーザ装置２０に相当するプレゼンテーション層４０は、ユーザによる操作を受け付ける機能（いわゆるユーザインターフェース）を実現する。プレゼンテーション層４０は、ＵＩ制御部４１と、デバイス制御部４２と、通信部４３とを備える。ＵＩ制御部４１は、ユーザインターフェースを制御する部分であり、インターフェース５０（すなわち情報処理装置１０）から送信されてくる、上述した操作画像データや状況情報を表示部１４４に表示したり、操作部１４５から供給されるデータに応じてユーザの操作を受け付けたりする。具体的には、例えば、ＵＩ制御部４１は、前述した図３に示される状況情報Ｃ１やＣ２を表示する。ここで、状況情報の他の例について図１０及び図１１を参照して説明する。
【００４６】
図１０は、表示された状況情報の例を示す図である。この例では、コピー処理の途中で媒体を収納する収納部がユーザによって開かれた場合に表示される状況情報が表示されている。具体的には、「用紙収容部がセットされていません。」という文字列を含む状況情報Ｃ３が表示されている。
【００４７】
図１１は、表示された状況情報の別の例を示す図である。この例では、複数の画像を記憶したＳＤメモリーカード等の記憶媒体が図６に示す情報処理装置１０の接続部１７に接続されたときに、その記憶媒体に記憶された画像のサムネイル画像の一覧を表示する処理の状況及び結果が表示されている。図１１（ａ）では、「画像一覧を表示しています。」という文字列と、読み込みが済んだ画像から生成したサムネイル画像（この例では１０個のサムネイル画像）とを含む状況情報Ｃ４が示されている。図１１（ｂ）では、「画像一覧を表示しました。」という文字列と、記憶媒体から読み出した全画像から生成したサムネイル画像の一覧とを含む状況情報Ｃ５が示されている。
【００４８】
また、ＵＩ制御部４１は、例えば情報処理装置１０のＵＲＬ（Uniform Resource Locator）にアクセスする操作をユーザが行うことで、操作画像データの要求を情報処理装置１０のインターフェース５０に送信する。また、ＵＩ制御部４１は、送信した操作画像データの要求の応答として情報処理装置１０の操作画像管理部６３から送信されてきた、操作画像を表すデータ（以下「操作画像データ」という）が示す操作画像を、表示部１４４に表示する。より具体的には、ＵＩ制御部４１は、例えばＨＴＭＬ（Hyper Text Markup Language）形式で記述された操作画像データによって示される操作画像の配置や大きさなどのパラメータに基づいて、操作画像を表示する。こうして表示された操作画像が例えば図２に示す操作画像データ群Ａ１である。
【００４９】
操作画像データ群Ａ１には、コピーする画像の倍率、コピーした画像を形成する用紙及びコピーした画像のカラーモードというパラメータをそれぞれ選択させるための操作画像（例えばボタン画像やアイコン画像）が含まれている。ＵＩ制御部４１は、ユーザがこれらの操作画像を操作することで選択したり設定されるパラメータの内容をユーザに提示するために操作画像を表示態様を変えて表示する。図２の例では、現在選択されているコピーの倍率（この例では「１１０％」）を表す文字列を含む画像と、現在選択されている用紙及びカラーモードを表す操作画像（この例では「他の倍率」、「Ａ４普通紙」、「白黒」という文字列が描かれたもの）を、選択されていない選択画像とは異なる態様（この例では線を太くする態様。ハイライトやラジオボタンなどの態様でもよい。）で表示した例である。
【００５０】
操作画像データ群Ａ１には、コピーを開始させるための操作画像データＡ１１が含まれている。操作画像データＡ１１が操作されると、その時点で選択されているパラメータを用いたコピーの処理がインターフェース５０を介してファンクション層６０に要求される。
【００５１】
図８の説明に戻る。ＵＩ制御部４１は、表示した操作画像に関するデータをデバイス制御部４２に供給する。操作画像に関するデータとは、操作画像が操作されたか否かを判断するために用いられるデータであり、現在表示されている画面の識別情報であったり、操作画面でユーザが選択したり設定したパラメータの種類と値といったデータである。
【００５２】
デバイス制御部４２は、ユーザの操作に基づいてインターフェース５０を介してファンクション層６０へ処理の実行を要求する。デバイス制御部４２は、操作画像に対する操作がユーザにより行われると、ＵＩ制御部４１から供給されるデータに基づいて、そのユーザの操作に応じた処理を情報処理装置１０に要求する。
【００５３】
デバイス制御部４２は、ＵＩ制御部４１から供給されたパラメータ伝達画像に関するデータが示すパラメータを用いて、情報処理装置１０に処理を依頼する内容を指示データとして生成し、この指示データを送信することにより処理を情報処理装置１０に対して要求する。図２に示す状態で操作画像データＡ１１に対する操作が行われた場合であれば、ＵＩ制御部４１は、コピー処理依頼を示す情報と、複写倍率のパラメータとして「１１％」、カラーモードのパラメータとして「白黒」、用紙サイズのパラメータとして「Ａ４普通紙」を、デバイス制御部４２へ送り、デバイス制御部４２は、１１０％の倍率でＡ４普通紙に白黒でコピーするための処理を表す指示データを生成して情報処理装置１０に要求する。
【００５４】
この例で、デバイス制御部４２は、ＵＩ制御部４２から受けとった機能に関する指示情報とパラメータを用いて行うという指示を記述した指示データを生成する。この実施形態では、指示データとしてＸＭＬ（Extensible Markup Language）で記述される。デバイス制御部４２は、生成した指示データを含むＨＴＴＰリクエストを生成する。デバイス制御部４２は、生成したＨＴＴＰリクエストをインターフェース５０に送信することで、ファンクション層６０に対して処理を要求する。このようにデバイス制御部４２が処理を要求するためにインターフェース５０へ送信するＨＴＴＰリクエストのことを以下では「処理要求」という。なお、コピー処理が要求される場合には、指示エータを含む処理要求が生成されるが、要求される処理によっては、処理要求に指示データが含まれない場合もある。例えば情報処理装置１０の電源を落とす処理が要求される場合には処理要求に指示データが含まれない。
【００５５】
通信部４３は、ＵＩ制御部４１及びデバイス制御部４２がインターフェース５０と行う通信を制御する。
【００５６】
［１−４−２］インターフェース５０
インターフェース５０は、プレゼンテーション層４０とファンクション層６０との接続を仲介する機能を実現する層である。プレゼンテーション層４０とインターフェース５０との接続は、図１に示す通信機器３等の通信機能を有する外部装置を介する場合（ユーザ装置２０との接続）と、そういった外部装置を介さない場合（操作装置３０との接続）とがある。インターフェース５０は、ユーザ装置２０及び操作装置３０との通信を、共通の通信手順（ＨＴＴＰ、ＷｅｂＳｏｃｋｅｔなどの規格に準拠した通信の手順）で仲介する。インターフェース５０は、例えばプレゼンテーション層４０から送信されてくるＨＴＴＰリクエストを受け取ってファンクション層６０に供給したり、その応答でファンクション層６０から供給されるＨＴＴＰレスポンスを受け取ってプレゼンテーション層４０に向けて送信したりする。
【００５７】
［１−４−３］ファンクション層６０
ファンクション層６０は、コピー機能やスキャン機能など、目的とする用途に沿ってデータを加工する機能を実現する層である。ファンクション層６０は、受付・応答部６１と、イベント通知部６２と、操作画像管理部６３と、操作画像ＤＢ（Data Base：データベース）６４と、コピー機能やスキャン機能などを提供する機能部６５とを備える。
【００５８】
受付・応答部６１は、プレゼンテーション層４０からインターフェース５０を介して送信されてくる処理要求を受け付け、機能部６５に処理を依頼する。このとき、受付・応答部６１は、依頼された処理を識別する情報として、トランザクションＩＤを発行する。また、受付・応答部６１は、その処理を要求してきた要求元（表示装置４）を識別する情報として、クライアントＩＤ（クライアント識別子の一例）を発行する。受付・応答部６１は、発行したトランザクションＩＤ及びクライアントＩＤと、要求元の表示装置４の通信の宛先を互いに対応付けて記憶部１２に記憶させる。受付・応答部６１は、機能部６５に処理を依頼する際に、発行したトランザクションＩＤを機能部６５に供給する。また、受付・応答部６１は、受け付けた要求に対する応答を、インターフェース５０を介してプレゼンテーション層４０に送信する。応答は、要求を受け付けた旨を示すだけの場合もあれば、状況情報を含む場合もある。
【００５９】
イベント通知部６２は、状況情報を含む通知データを生成し、生成した通知データをＷｅｂＳｏｃｋｅｔに準拠したデータに含めてインターフェース５０を介してプレゼンテーション層４０に送信する。
【００６０】
本実施形態では、ファンクション層６０とプレゼンテーション層４０は、大別して４つの方法で、要求の送信や応答または通知の送信を行う。第１および第２の方法は、ＨＴＴＰプロトコルが用いられる方法であり、これらは受付・応答部６１により行われる。一方、第３の方法は、ＨＴＴＰプロトコルとＷｅｂＳｏｃｋｅｔプロトコルとが併用される方法であり、この方法は受付・応答部６１とイベント通知部６２が協働することにより行われる。第４の方法は、ＷｅｂＳｏｃｋｅｔプロトコルによりイベント（通知）の送信が行われる方法であり、この方法はイベント通知部６２により行われる。
【００６１】
第１の方法では、受付・応答部６１は、プレゼンテーション層４０から処理要求（ＨＴＴＰリクエスト）が送信されてきた場合、ミドルウェア層７０およびハードウェア層８０によるその処理の実行が完了するまで待機する。この場合、受付・応答部６１は、ミドルウェア層７０から処理の完了が通知されると、処理が完了したときの状況を示す状況情報を含むＨＴＴＰレスポンスを、処理を要求してきたプレゼンテーション層４０に送信する。具体例を挙げると、例えば図２に示す「倍率選択」の欄の「−」や「＋」という操作画像をユーザが操作した場合、プレゼンテーション層４０からコピーの倍率というパラメータを下げる処理や上げる処理が要求される。この場合、受付・応答部６１は、要求された処理が実行されて変化したパラメータの値を処理の結果として応答する。
【００６２】
第２の方法では、受付・応答部６１は、プレゼンテーション層４０から処理要求（ＨＴＴＰリクエスト）が受信された場合、要求された処理の完了を待たずにまずは処理要求が受け付けられた旨の応答（ＨＴＴＰレスポンス）を送信する。その後、状況情報は、プレゼンテーション層４０がＨＴＴＰによるいわゆるポーリングを行うことにより取得される。すなわち、受付・応答部６１は、プレゼンテーション層４０からその処理の状況の通知を求める要求（以下「通知要求」という）があったときに、その通知要求に対する応答を行う。第２の方法で応答が行われると、例えば図３（ａ）に示す枚数情報Ｃ１１は、コピーされた画像が媒体に形成される度ではなく、ポーリングの度に通知されて表示される。このため、例えばページ数が１枚ずつ増えるのではなく、数枚ずつ増えることがある。
【００６３】
このように、受付・応答部６１は、第１及び第２の方法を用いた場合、プレゼンテーション層４０からの要求（処理要求または通知要求）があったときにその要求に対する応答を送信する。受付・応答部６１は、第１の方法を用いた場合には、処理要求に対する応答で処理の結果を要求元のプレゼンテーション層４０に送信し、第２の方法を用いた場合には、処理要求に対する応答よりもあとに受け取った通知要求に対する応答で、処理の結果およびそれ以外の処理の状況を要求元のプレゼンテーション層４０に送信する。
【００６４】
第３の方法では、受付・応答部６１は、プレゼンテーション層４０から処理要求（ＨＴＴＰリクエスト）が受信されると、第２の方法のように、要求された処理の完了を待たずにまずは処理要求が受け付けられた旨を示す応答（ＨＴＴＰレスポンス）を送信する。そのあと、イベント通知部６２は、ミドルウェア層７０およびハードウェア層８０により実行されている処理において通知すべき状況が生じたら、通知要求がなくてもその状況をＷｅｂＳｏｃｋｅｔによりプレゼンテーション層４０に通知する。つまり、第３の方法により通知される状況は、処理要求により実行される処理の状況である。第３の方法で通知の送信が行われると、例えば図３（ａ）に示す枚数情報Ｃ１１のうちの「ページ数」が、コピーされた画像が媒体に形成される度に増えていく。
【００６５】
第４の方法では、イベント通知部６２は、プレゼンテーション層４０からの処理要求の有無に関係なく、通知すべき状況が生じたら、通知要求がなくてもその状況をＷｅｂＳｏｃｋｅｔによりプレゼンテーション層４０に通知する。つまり、第４の方法により通知される状況は、処理要求により実行される処理に関係がある場合もあるし、それとは関係がない場合もある。この第４の方法では、例えば、ＷｅｂＳｏｃｋｅｔの規格に基づいて情報処理装置１０とセッションが確立されたプレゼンテーション層４０であればどれでも通知先となり得る。情報処理システム１においては、例えば、「トナー切れ」や「用紙切れ」、「収容部オープン（用紙等の媒体を収納する収納部が開いた状態）」などの状況は第４の方法で通知するように定められる。なお、第４の方法により通知される状況は、通知先であるプレゼンテーション層４０（表示装置４）毎に異なっていてもよい。
【００６６】
このように、イベント通知部６２は、第３及び第４の方法を用いた場合、プレゼンテーション層４０からの要求（処理要求及び通知要求）の有無に関係なく、能動的に（いわゆるプッシュ型の）通知を行う。イベント通知部６２は、第３の方法を用いた場合には、処理要求に対する応答よりもあとに、その処理の結果およびそれ以外の処理の状況を通知し、第４の方法を用いた場合には、予め定められた処理の状況を通知する。
【００６７】
第２及び第３の方法が用いられた場合、受付・応答部６１またはイベント通知部６２は、どちらの場合でも、処理要求に対する応答よりもあとに、処理の結果およびそれ以外の処理の状況を送信する。また、第１から第３までの３通りの方法は、要求された処理の状況を通知するための方法である。本実施形態では、プレゼンテーション層４０は、処理を要求するときに、その処理の状況（処理の結果を含む）を送信する方法（すなわち第１の方法ないし第４の方法のいずれか）を指定する。例えば、送信の方法は、デバイス制御部４２によって生成される処理要求に含まれるパラメータによって指定されてもよい。受付・応答部６１およびイベント通知部６２は、プレゼンテーション層４０によって指定された方法を用いて状況情報の送信を行う。
【００６８】
この実施形態では、状況情報は、ミドルウェア層７０によって生成され、受付・応答部６１またはイベント通知部６２に供給される。なお、状況情報や機能部６５、受付・応答部６１またはイベント通知部６２によって生成されてもよい。また、イベント通知部６２へ供給される状況情報は、ミドルウェア層７０（または機能部６５）からイベント通知部６２へ直接供給されることなく、受付・応答部６１を経由してイベント通知部６２へ供給されてもよい。
【００６９】
操作画像管理部６３は、プレゼンテーション層４０に送信する操作画像データの管理を行う。操作画像ＤＢ６４は、操作画像データを格納するデータベースである。操作画像管理部６３は、上述した操作画像データを、インターフェース５０を介してプレゼンテーション層４０に提供する。操作画像管理部６３は、操作画像データを記憶しており、操作画像要求がインターフェース５０を介して送信されてくると、例えばＨＴＭＬで記述された操作画像データを含む応答を要求元に対してインターフェース５０を介して送信する。
【００７０】
操作画像管理部６３は、ユーザ装置２０から操作画像データの要求が送信されてきた場合、それに応答してユーザ装置２０に操作画像データを送信する。また、操作画像管理部６３は、操作装置３０から操作画像データの要求が送信されてきた場合には、それに応答して操作装置３０に操作画像データを送信する。このように操作画像データの要求元（ユーザ装置２０及び操作装置３０）に操作画像データを送信することで、操作画像管理部６３は、それらの要求元に操作画像データをそれぞれ提供する。
【００７１】
機能部６５は、情報処理装置１０がユーザに提供する機能を実現するためのモジュール群である。情報処理装置１０の機能部６５は、プレゼンテーション層４０から処理要求がインターフェース５０を介して送信されてくると、ミドルウェア層７０を制御して、その処理要求により要求された処理を実行させる。
【００７２】
図９は、機能部６５に含まれるモジュール群の一例を示す図である。機能部６５には、コピー機能、スキャン機能、ＦＡＸ機能、プリント機能、宛先表管理機能（宛先情報を管理する機能）、デバイス管理機能（画像読取部１３の原稿セット状態や画像形成部１４の媒体、消耗品の状態などを管理する機能）、認証機能、親展ボックス機能（情報処理装置１０に記憶されている電子文書を管理する機能）、プレビュー機能、ダウンロード機能（プログラムの更新を制御する機能）、保守機能（リモートからの要求に従いハードウェアをメンテナンスする機能）、診断機能（ハードウェアを診断する機能）をそれぞれ実現するためのモジュールが含まれている。
【００７３】
機能部６５は、例えば、処理要求に含まれている指示データを解析し、解析した指示の内容のとおりに処理が実行されるように、ミドルウェア層７０を制御する。具体的には、機能部６５は、指示された処理（例えばコピー処理）を指示されたパラメータで実行させる。これにより、ミドルウェア層７０は、例えばユーザの操作によって定められた画質及び読取方法で媒体から画像を読み取り、読み取った画像を、ユーザの操作によって定められた出力形式、倍率、用紙及びカラーモードで形成する。
【００７４】
機能部６５は、ミドルウェア層７０に処理の実行を指示する際に、受付・応答部６１から供給されたトランザクションＩＤをミドルウェア層７０に供給する。ミドルウェア層７０は、受付・応答部６１に対して、上述した状況情報とともにトランザクションＩＤを供給する。
【００７５】
また、機能部６５は、処理要求に記述されている方法（第１から第４の方法のうちのいずれか）を指定する記述を解析し、解析した方法（すなわち表示装置４が指定した方法）を受付・応答部６１に伝達する。受付・応答部６１またはイベント通知部６２は、機能部６５から供給されたトランザクションＩＤに対応付けられた通信の宛先に対して、ともに供給された状況情報を記述した通知データを、伝達された方法に則って送信する。これにより、受付・応答部６１またはイベント通知部６２は、処理の要求元に対して処理の状況を指定された方法で送信する。なお、機能部６５は処理要求を受付・応答部６１に供給するだけにして、受付・応答部６１が指定された通知先の解析を行ってもよい。
【００７６】
ミドルウェア層７０は、ファンクション層６０とハードウェア層８０との中間で汎用的な処理を実行する層である。ハードウェア層８０は、画像読み取りや画像形成などの処理を物理的に実現する層である。ミドルウェア層７０およびハードウェア層８０は、上述したコピー処理の他、スキャン処理、ＦＡＸ処理、プリント処理（それぞれスキャン機能、ＦＡＸ機能、プリント機能を提供するための処理）などの各種の処理を実行する。コピー処理には、図６に示す画像読取部１３による画像読取処理及び画像形成部１４による画像形成処理が含まれる。スキャン処理には画像読取処理が含まれ、ＦＡＸ処理には第２通信部１６によるＦＡＸ通信処理が含まれる。また、プリント処理には、第１通信部１５による通信処理及び画像形成処理が含まれる。スキャン処理及びＦＡＸ処理には、他にも、データの取得及び出力の方法に応じて、第２通信部１６を用いたデータ通信処理やデータを記憶部１２に書き込む書込処理、記憶されたデータを記憶部１２から読み出す読出処理などが含まれる。ミドルウェア層７０およびハードウェア層８０は、処理を実行すると、上述した状況情報（実行している処理の状況を表す情報）をファンクション層６０に供給する。
【００７７】
図８に示す受付・応答部６１、イベント通知部６２、操作画像管理部６３および機能部６５の少なくともいずれかひとつは、図７の生成手段１０１、第１送信手段１０２、第２送信手段１０３、記憶制御手段１０４、第１特定手段１０５および第２特定手段１０６の一例である。ミドルウェア層７０およびハードウェア層８０は、処理手段１０７の一例である。ＵＩ制御部４１、デバイス制御部４２および通信部４３の少なくともいずれか一つは、受信手段４０１、記憶制御手段４０２、第３送信手段４０３、処理実行手段４０４の一例である。
【００７８】
［１−５］動作
［１−５−１］状況情報の送信動作
まず、上述した第１から第４までの４つの方法で状況情報を送信する際に各装置が行う動作の例について、図１２から図１５までを参照して説明する。
【００７９】
［１−５−１−１］状況情報の第１の送信動作
図１２は、状況情報の送信方法として、上述の第１の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図１２に示す動作は、例えば、ユーザがコピーを行う前に、コピーのためのパラメータ（倍率や用紙のサイズ、カラーモードなど）を変更する操作を行うことを契機に開始される。まず、表示装置４の制御部１４１（プレゼンテーション層４０）が、パラメータを変更する操作を受け付けると（ステップＳ１１１）、パラメータの変更の要求を記述した処理要求データをＨＴＴＰリクエストに含めて情報処理装置１０に対して送信する（ステップＳ１１２）。情報処理装置１０の受付・応答部６１は、そのＨＴＴＰリクエストを受信すると、受信された要求の内容を解釈し（ステップＳ１１３）、解釈した内容での処理の実行を情報処理装置１０のミドルウェア層７０に指示する（ステップＳ１１４）。
【００８０】
ミドルウェア層７０は、ハードウェア層８０と協働して、指示された処理、すなわちパラメータの変更を実行し（ステップＳ１１５）、その結果を表す情報を状況情報として受付・応答部６１に供給する（ステップＳ１１６）。受付・応答部６１は、供給された状況情報（この例ではパラメータの変更結果）を記述した通知データを生成する（ステップＳ１１７）。受付・応答部６１は、生成した通知データを含むＨＴＴＰレスポンスを、処理の要求元である表示装置４に送信する（ステップＳ１１８）。表示装置４の制御部１４１は、送信されてきたＨＴＴＰレスポンスに含まれる状況情報を自装置の表示部１４４に表示させる（ステップＳ１１９）。
【００８１】
［１−５−１−２］状況情報の第２の送信動作
図１３は、第２の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図１３に示す動作は、例えば、ユーザが情報処理装置１０の画像読取部１３に原稿をセットし、表示装置４に対してコピーを開始させる操作を行うことを契機に開始される。まず、表示装置４の制御部１４１は、コピーを開始させる操作を受け付けると（ステップＳ１２１)、受け付けた操作に応じた指示データを作成する（ステップＳ１２２）。制御部１４１は、作成した指示データを含む処理要求（ＨＴＴＰリクエスト）を情報処理装置１０に送信する（ステップＳ１２３）。情報処理装置１０の受付・応答部６１は、図８に示すインターフェース５０を介して処理要求を受け取ると、受け付けた処理要求に含まれる指示データを解析することで、指示の内容を解釈する（ステップＳ１２４）。
【００８２】
受付・応答部６１が、解釈した内容に基づいてコピー処理をミドルウェア層７０に指示すると（ステップＳ１２５）、ミドルウェア層７０及びハードウェア層８０が協働して、指示された内容に基づく処理（コピー処理）を実行する（ステップＳ１２６）。受付・応答部６１は、コピー処理を指示したあと、コピー処理の要求を受け付けた旨を示すＨＴＴＰレスポンスを、ステップＳ１２３において受信されたＨＴＴＰリクエストの応答として表示装置４に送信する（ステップＳ１３１）。表示装置４の制御部１４１は、受信されたＨＴＴＰレスポンスに応じた内容を自装置の表示部１４４に表示させる（ステップＳ１３２）。なお、ステップＳ１３１の動作は、ステップＳ１２４またはＳ１２５の動作の前に行われてもよい。
【００８３】
第２の方法においては、表示装置４からの処理要求に対する処理状況の通知および処理完了の通知は、表示装置４がＨＴＴＰリクエストによりポーリング処理を行うことにより表示装置４に取得される。表示装置４の制御部１４１は、コピー処理の要求に対する応答を受け取ったあと、そのコピー処理の状況の通知を求める通知要求（ＨＴＴＰリクエスト）を送信することによってポーリング処理を行う（ステップＳ１４１）。情報処理装置１０の受付・応答部６１は、コピー処理の状況情報がまだ供給されていなければ、その旨を示すＨＴＴＰレスポンスを表示装置４に送信する（ステップＳ１４２）。ステップＳ１４１及びＳ１４２の動作は繰り返し行われる。
【００８４】
情報処理装置１０のミドルウェア層７０は、コピー（読み取った原稿を示す画像）を媒体に出力すると、それを検知して（ステップＳ１５１）、コピーが媒体に出力されたという状況を示す状況情報を受付・応答部６１に供給する（ステップＳ１５２）。受付・応答部６１は、状況情報が供給されたあとに通知要求（ＨＴＴＰリクエスト）を受信すると（ステップＳ１４１）、状況情報を含むＨＴＴＰレスポンスを生成して（ステップＳ１５３）、表示装置４に送信する（ステップＳ１５４）。表示装置４の制御部１４１は、ステップＳ１３２のように、ＨＴＴＰレスポンスに応じた内容を自装置の表示部に表示させる（ステップＳ１５５）。
【００８５】
［１−５−１−３］状況情報の第３の送信動作
図１４は、第３の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。第１の方法および第２の方法では、表示装置４と情報処理装置１０との間でＨＴＴＰによるデータの遣り取りが行われた。それに対し、第３の方法では、ＨＴＴＰに加えて、ＷｅｂＳｏｃｋｅｔプロトコルにより情報処理装置１０から表示装置４へのデータの送信が行われる。具体的には、第２の方法においてポーリングにより取得された状況情報が、第３の方法においてはＷｅｂＳｏｃｋｅｔのメッセージとして表示装置４へ通知される。第２の方法と第３の方法とは、ひとつの処理を異なる方法で実現するものであり、両者は選択的に用いられる。
【００８６】
図１４に示す動作は、図１３のように、コピーを開始させる操作をユーザが行うことを契機に開始される。まず、表示装置４の制御部１４１は、コピーを開始させる操作を受け付けると（ステップＳ１２１)、情報処理装置１０との間でＷｅｂＳｏｃｋｅｔセッションを確立するための処理を行う。すなわち、制御部１４１は、情報処理装置１０へＷｅｂＳｏｃｋｅｔのハンドシェイク要求であるＨＴＴＰリクエストを送信する。このＨＴＴＰリクエストには、表示装置４を識別するクライアントＩＤが含まれる。
【００８７】
情報処理装置１０のインターフェース５０は、表示装置４から受信されたＨＴＴＰリクエストに基づき、ＷｅｂＳｏｃｋｅｔセッションの確立を行う。受付・応答部６１は、ＷｅｂＳｏｃｋｅｔのハンドシェイク応答を表示装置４へ送信し、これにより、表示装置４と情報処理装置１０との間でＷｅｂＳｏｃｋｅｔのセッション（以下、単に「セッション」という）が確立される（ステップＳ１６０）。なお、セッションが確立されるタイミングはこのタイミングに限られない。例えば、ユーザが表示装置４を用いてウェブブラウザを起動して情報処理装置１０のＵＲＬ（Uniform Resource Locator）にアクセスする操作を行ったタイミングで、セッションの確立処理が行われてもよい。
【００８８】
また、受付・応答部６１は、受信されたＨＴＴＰリクエストに含まれるクライアントＩＤを記憶部１２の予め定められた領域（以下「キャッシュ領域１２ａ」という）に格納する。キャッシュ領域１２ａに記憶されたクライアントＩＤは、セッションが正常な処理により切断された場合にキャッシュ領域１２ａから削除される。すなわち、キャッシュ領域１２ａには、情報処理装置１０との間でセッションを確立中である表示装置４のクライアントＩＤ、およびセッションが処理の途中で切断されてしまった表示装置４のクライアントＩＤが蓄積される。
【００８９】
ステップＳ１６１以降の処理において、表示装置４と情報処理装置１０とは、ＨＴＴＰまたはＷｅｂＳｏｃｋｅｔのいずれかのプロトコルを用いてメッセージのやりとりを行う。以下、ＨＴＴＰにより送受信されるメッセージとＷｅｂＳｏｃｋｅｔにより送信されるメッセージとを各々区別する必要がない場合には、これらを単に「メッセージ」と称して説明する。情報処理装置１０の受付・応答部６１は、自装置が送信したメッセージを、そのメッセージに付与されていたクライアントＩＤ、トランザクションＩＤおよびシーケンスＩＤとともにキャッシュ領域１２ａに格納する。シーケンスＩＤは、そのメッセージを識別する識別情報（メッセージ識別子の一例）である。また、表示装置４の制御部１４１は、自装置が受信したメッセージに付与されていたトランザクションＩＤおよびシーケンスＩＤの組を、自装置のキャッシュ領域（以下「キャッシュ領域１４２ａ」という）に格納する。キャッシュ領域１４２ａは、記憶部１４２に設けられていてもよく、また、ＲＡＭに設けられてもよい。キャッシュ領域１４２ａに格納されたＩＤのセットは、セッションが処理の途中で切断された場合などに参照される。
【００９０】
図１４の説明に戻る。ＷｅｂＳｏｃｋｅｔセッションが確立されると、制御部１４１は、上述した第３の方法を申し込む旨を記述した通知要求データを含むＨＴＴＰリクエストを情報処理装置１０に送信する（ステップＳ１６１）。情報処理装置１０の受付・応答部６１は、そのＨＴＴＰリクエストを受信すると、受信されたＨＴＴＰリクエストに含まれる通知要求データに記述された申込みの内容をミドルウェア層７０に伝達する（ステップＳ１６２）。ミドルウェア層７０は、伝達された申込みを受け付け、表示装置４に対して今後第３の方法で状態情報の送信を行うための設定を行う（ステップＳ１６３）。ミドルウェア層７０は、例えば第３の方法で通知を行うか否かを表すフラグをＯＮにする。
【００９１】
次に、図１３に示すステップＳ１２２からＳ１２６までの動作と、ステップＳ１３１及びＳ１３２の動作が行われる。続いて、情報処理装置１０のミドルウェア層７０及びハードウェア層８０は、ステップＳ１５１（コピー出力の検知）の動作を行うと、上記フラグがＯＮになっているため、コピーが媒体に出力されたという状況を示す状況情報を受付・応答部６１ではなく、イベント通知部６２に供給する（ステップＳ１７２）。イベント通知部６２は、供給された状況情報（コピー枚数等）を記述した通知データを生成して（ステップＳ１７３）、生成したデータをステップＳ１６０で確立したＷｅｂＳｏｃｋｅｔセッションを介して表示装置４に送信する（ステップＳ１７４）。表示装置４の制御部１４１は、受信されたデータに記述された内容（例えば図３（ａ）に示す状況情報Ｃ１）を自装置の表示部１４４に表示させる（ステップＳ１７５）。
【００９２】
ミドルウェア層７０及びハードウェア層８０は、コピー処理を完了すると（ステップＳ１８１）、その旨を示す状況情報をイベント通知部６２に供給する（ステップＳ１８２）。イベント通知部６２は、この状況情報を記述した通知データ（例えば「コピーが完了しました。」という文字列を含む通知データ）を生成し（ステップＳ１８３）、生成した通知データを、ＷｅｂＳｏｃｋｅｔのメッセージに含めて表示装置４に送信する（ステップＳ１８４）。表示装置４の制御部１４１は、ステップＳ１８４で受信した通知データに記述された内容（例えば図７（ｂ）に示す状況情報Ｃ２）を自装置の表示部に表示させる（ステップＳ１８５）。
【００９３】
［１−５−１−４］状況情報の第４の送信動作
図１５は、第４の方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。第４の方法では、ＷｅｂＳｏｃｋｅｔにより状況情報が表示装置４へ通知される。この方法では、予め確立されたＷｅｂＳｏｃｋｅｔセッション、例えば図１４のステップＳ１６０で確立されたセッションが用いられる。情報処理装置１０において予め定められた状況（トナー切れや用紙切れ、収容部オープンなど）が発生すると、情報処理装置１０のミドルウェア層７０及びハードウェア層８０が協働して、その定められた状況を検知し（ステップＳ２０１）、検知した状況を表す状況情報をイベント通知部６２に供給する（ステップＳ２０２）。イベント通知部６２は、供給された状況情報を記述した通知データを生成し（ステップＳ２０３）、その通知データを、確立されているＷｅｂＳｏｃｋｅｔのセッションを介して表示装置４にインターフェース５０を介して送信する（ステップＳ２０４）。表示装置４の制御部１４１は、ステップＳ２０４で受信した通知データに記述された状況情報を自装置の表示部に表示させる（ステップＳ２０５）。
【００９４】
なお、上述したように、表示装置４毎に異なる状況が通知されてもよい。その場合には、ステップＳ１９２のあとに、制御部１４１が、自装置に通知すべき状況を記述した通知データを情報処理装置１０に通信部４３を介して送信する。インターフェース５０を介してそれを受け取ったイベント通知部６２は、その通知すべき状況を表示装置４の宛先に対応付けて記憶しておく。イベント通知部６２は、ステップＳ２０２で供給された状況情報が、記憶しておいた通知すべき状況を表している場合にその状況の通知を行う。
【００９５】
［１−５−２］動作例１
図１６は、情報処理システム１の具体的な動作の一例を示すシーケンス図である。この例では、ユーザが表示装置４を操作して、情報処理装置１０にコピー処理を実行させる場合の動作例を説明する。この動作例では、情報処理装置１０から表示装置４への状況情報の送信の方法として、上述した第３の方法および第４の方法が用いられる（第３の方法が用いられるため、第２の方法は用いられない）。具体的には、クライアントからの要求により実行される処理（例えばコピー処理）の実行指示および実行完了通知の送信処理については、第３の方法が用いられ、クライアントからの要求によらない、情報処理装置１０の装置状態を示す通知（例えば、用紙の収容部がセットされていない旨を示す通知）の送信処理については、第４の方法が用いられる。具体的には、図１６のステップＳ３０８ないしＳ３２２、Ｓ３３０およびＳ３３１が第３の方法に対応しており、ステップＳ３２４ないしＳ３２７が第４の方法に対応している。
【００９６】
まず、ユーザは、表示装置４に対して、ウェブブラウザを起動して情報処理装置１０のＵＲＬにアクセスする操作を行う。ステップＳ３０１において、表示装置４の制御部１４１は、ウェブブラウザを起動する。ステップＳ３０２において、制御部１４１は、情報処理装置１０へＴＣＰ（Transmission Control Protocol）のハンドシェイク要求を送信する。表示装置４の制御部１４１と、情報処理装置１０の制御部１１との間で、ＴＣＰコネクションを確立するためのやり取りが行われ、ＴＣＰコネクションが確立される。ステップＳ３０３において、制御部１４１は、ＷｅｂＳｏｃｋｅｔのハンドシェイク要求であるＨＴＴＰリクエストを送信する。インターフェース５０は、表示装置４から受信されたＨＴＴＰリクエストに基づき、ＷｅｂＳｏｃｋｅｔへの切り替えを行う。インターフェース５０は、ＷｅｂＳｏｃｋｅｔのハンドシェイク応答を行い、これにより、表示装置４と情報処理装置１０との間でＷｅｂＳｏｃｋｅｔのセッションが確立される。
【００９７】
セッションが確立されると、制御部１４１は、表示部１４４に表示する操作画像を表示するためのデフォルトの設定情報（以下「デフォルト設定情報」という）の取得要求を情報処理装置１０へ送信する（ステップＳ３０４）。具体的には、制御部１４１は、デフォルト設定情報の取得要求を示すメッセージを生成する。制御部１４１は、生成したメッセージを含むＨＴＴＰリクエストを情報処理装置１０へ送信する。
【００９８】
受付・応答部６１は、表示装置４からＨＴＴＰリクエストを受信すると、受信されたＨＴＴＰリクエストに含まれるメッセージに対応するデフォルト設定情報を取得する。デフォルト設定情報は、情報処理装置１０の記憶部１２に記憶されていてもよく、また、ＳＤカードなどのメモリーカードに記憶されていてもよい。また、デフォルト設定情報は、通信回線２を介して接続されたサーバ装置に格納されていてもよい。ステップＳ３０５において、受付・応答部６１は、取得したデフォルト設定情報を示すメッセージを生成し、生成したメッセージを含むＨＴＴＰレスポンスを表示装置４へ送信する。
【００９９】
ステップＳ３０６において、制御部１４１は、情報処理装置１０から受信されたＨＴＴＰレスポンスに含まれるデフォルト設定情報に従ってデフォルトの操作画像を表示部１４４に表示する。この例では、制御部１４１は、受信されたデフォルト設定情報が示す操作画像の配置や大きさなどのパラメータに基づいて、操作画像を表示する。
【０１００】
こうして表示された操作画像の一例が、上述した図２に示す操作画像データ群Ａ１である。操作画像データ群Ａ１には、「画質調整」、「読取方法」、「出力形式」、「処理編集」などのタグを選択することで表示される操作画像も含まれる。操作画像データ群Ａ１には、コピーする画像の倍率、コピーした画像を形成する用紙及びコピーした画像のカラーモードというパラメータをそれぞれ選択させるための操作画像データグループＡ１２、Ａ１３及びＡ１４が含まれている。操作画像データグループＡ１２、Ａ１３及びＡ１４は、コピー機能を利用するときに機能部６５に指示しなければならないパラメータを選択するための操作画像である。
【０１０１】
例えば操作画像データグループＡ１２には、コピーの倍率を１％単位で大きくするという指示に対応した操作画像データＡ１５と、コピーの倍率を１％単位で小さくするという指示に対応した操作画像データＡ１６とが含まれている。図２に示すように倍率が１１０％であれば、操作画像データＡ１５を１回操作すれば倍率が１１１％となり、操作画像データＡ１６を２回操作すれば倍率が１０８％となる。こうしてパラメータが選択され、上述した操作画像データＡ１１（コピーを開始させるための操作画像）が操作されると、その時点で選択されているパラメータを用いて処理を実行するように情報処理装置１０に対する指示が行われる。つまり、操作画像データＡ１１は、指示の内容を定める（つまり決定する）ための操作画像であり、以下では「指示内容決定画像」という。制御部１４１は、前述したデフォルト設定情報に基づいてこれらの操作画像を表示する。
【０１０２】
また、制御部１４１は、現在選択されているパラメータの内容をユーザに伝達するための画像（以下「パラメータ伝達画像」という）を表示する。制御部１４１は、例えば、表示領域Ｂ１１に、現在選択されているコピーの倍率（この例では「１１０％」）の文字列をパラメータ伝達画像として表示し、現在選択されている用紙及びカラーモードを表す操作画像（この例では「他の倍率」、「Ａ４普通紙」、「白黒」という文字列が描かれたもの）を、選択されていない選択画像とは異なる態様（この例では線を太くする態様。ハイライトなどの態様でもよい。）で表示している。
【０１０３】
ユーザによって操作画像に対する操作が行われると、制御部１４１は、その操作に対応した指示を特定する。制御部１４１は、例えばユーザが操作部のタッチセンサをタップした（軽く叩いた）場合に、操作部から出力されるデータに基づき、タップされた位置が操作画像領域に含まれているか否かを判断する。
【０１０４】
ステップＳ３０７において、制御部１４１は、ユーザによって操作された内容に基づいて、情報処理装置１０に依頼する処理の内容を記述した指示データを生成する。この例で、ユーザによりコピー処理に関する設定の変更と、コピー処理の実行とが指示された場合の動作を示す。ステップＳ３０８において、制御部１４１は、生成した指示データを含むＨＴＴＰリクエストを生成し、生成したＨＴＴＰリクエストを情報処理装置１０へ送信する。
【０１０５】
情報処理装置１０の受付・応答部６１は、表示装置４からＨＴＴＰリクエストを受信する。ステップＳ３０９において、受付・応答部６１は、ＨＴＴＰリクエストの送信元である表示装置４を識別するクライアントＩＤと、要求された処理を識別するトランザクションＩＤとを発行する。なお、ＨＴＴＰリクエストの送信元である表示装置４のクライアントＩＤが既に発行されている場合は、再度発行を行うことなく、既に発行されているクライアントＩＤが用いられる。ステップＳ３１０において、受付・応答部６１は、発行したクライアントＩＤとトランザクションＩＤとを対応付けて、自装置のキャッシュ領域１２ａに格納する。
【０１０６】
受付・応答部６１は、処理要求を受け付けた旨を示すＨＴＴＰレスポンスを生成する。このＨＴＴＰレスポンスには、ステップＳ３０９で発行されたクライアントＩＤとトランザクションＩＤとが含まれる。ステップＳ３１１において、受付・応答部６１は、生成したＨＴＴＰレスポンスを、ステップＳ３０８で受信されたＨＴＴＰリクエストの応答として表示装置４へ送信する。
【０１０７】
ＨＴＴＰレスポンスを受信すると、制御部１４１は、ステップＳ３１２において、受信されたＨＴＴＰレスポンスに含まれるクライアントＩＤとトランザクションＩＤとを対応付けてキャッシュ領域１４２ａに格納する。ステップＳ３１３において、表示部１４４に表示している画面を更新する。表示部１４４には、例えば、指示された処理が受け付けられた旨を示す画面が表示される。
【０１０８】
ステップＳ３１４において、受付・応答部６１は、受信されたＨＴＴＰリクエストに含まれる指示データをミドルウェア層７０に供給し、画像処理の実行を指示する。ステップＳ３１５において、ミドルウェア層７０は、供給された指示データに従って処理データを生成する。この処理データは、表示装置４から指示された画像処理を管理するためのデータである。ステップＳ３１６において、ミドルウェア層７０は、生成された処理データに従って、指示された処理の実行を開始する。具体的には、例えば、ミドルウェア層７０は、指示データにより指定された画質及び読取方法で媒体から画像を読み取るように画像読取部１３を制御する。また、ミドルウェア層７０は、画像読取部１３が読み取った画像を、操作により定められた出力形式、倍率、用紙及びカラーモードで形成するように画像形成部１４を制御する。このようにして、ミドルウェア層７０およびハードウェア層８０は、画像読取部１３および画像形成部１４を制御して、表示装置４により指示された内容に応じた処理を行う。
【０１０９】
指示された画像処理を実行している期間において、ミドルウェア層７０は、処理の状況に関する状況情報を生成する。ミドルウェア層７０は、例えば決められた処理（媒体からの画像の読み取りや画像を形成した媒体の排出など）を行う度に状況情報を生成する。ミドルウェア層７０は状況情報をイベント通知部６２に送信する（ステップＳ３１７）。イベント通知部６２は、ミドルウェア層７０から状況情報を受信すると、ステップＳ３１８において、シーケンスＩＤを発行する。ステップＳ３１９において、イベント通知部６２は、発行したシーケンスＩＤを、メッセージの送信先の表示装置４を示すクライアントＩＤおよびその処理を識別するトランザクションＩＤに対応付けてキャッシュ領域１２ａに格納する。
【０１１０】
図１７は、キャッシュ領域１２ａに格納されるデータの一例を示す図である。キャッシュ領域１２ａには送信されるメッセージに関するデータが格納される。具体的には、キャッシュ領域１２ａには、「クライアントＩＤ」と、「トランザクションＩＤ」と、「シーケンスＩＤ」と、「優先度」と、「ｂｏｄｙ」との各情報が対応付けて記憶される。これらの情報のうち、「クライアントＩＤ」は、処理要求の送信元である表示装置４を識別する識別情報である。「トランザクションＩＤ」は、処理単位で割り当てられる識別情報である。ひとつの処理が完了するまでにやり取りされるメッセージには同一のトランザクションＩＤが付される。「シーケンスＩＤ」は、個々のメッセージを識別する識別情報であり、送信されるメッセージの各々にそれぞれ異なるシーケンスＩＤが割り当てられる。この例で、シーケンスＩＤは、複数のメッセージの各々に、メッセージが送信される順にインクリメントされる。また、この例で、シーケンスＩＤは、送信されるメッセージがＨＴＴＰで送信されるかＷｅｂＳｏｃｋｅｔで送信されるかに関わらず、送信される順番を示す通し番号が付される。
【０１１１】
「優先度」は、各メッセージの優先度を示す情報であり、各メッセージの種別に応じて予め定められている。優先度はメッセージの属性の一例である。この例で、例えば、コピー処理が完了した旨を示すメッセージや、用紙の収容部がセットされていない旨を示すメッセージの優先度は高く設定されており、一方、コピー処理の途中経過を示すメッセージの優先度は低く設定されている。なお、表示装置４からの処理要求を受け付けた旨を示すＨＴＴＰレスポンス（ステップＳ３１１で送信されるＨＴＴＰレスポンス）には、シーケンスＩＤが発行されない。このＨＴＴＰレスポンスについては、「シーケンスＩＤ」および「優先度」の項目に「null」を設定したデータがキャッシュ領域１４２ａに登録されてもよい。
【０１１２】
再び図１６を参照する。イベント通知部６２は、ミドルウェア層７０から供給された状況情報と、ステップＳ３１８で発行されたシーケンスＩＤと、ステップＳ３０９で発行されたトランザクションＩＤとを含むＷｅｂＳｏｃｋｅｔのメッセージを生成する。このイベントには、イベントの優先度を示すパラメータが含まれる。ステップＳ３２０において、イベント通知部６２は、ＷｅｂＳｏｃｋｅｔセッションを介して生成したイベントを表示装置４へ送信する。
【０１１３】
表示装置４の制御部１４１は、情報処理装置１０からＷｅｂＳｏｃｋｅｔのメッセージを受信する。ステップＳ３２１において、制御部１４１は、受信されたメッセージに含まれるトランザクションＩＤとシーケンスＩＤと優先度とを対応付けてキャッシュ領域１４２ａに格納する。
【０１１４】
図１８は、キャッシュ領域１４２ａに格納されるデータの一例を示す図である。キャッシュ領域１４２ａには、情報処理装置１０から受信されたメッセージを識別する情報が格納される。具体的には、キャッシュ領域１４２ａには、「クライアントＩＤ」と、「トランザクションＩＤ」と、「シーケンスＩＤ」と、「優先度」と、「画面ＩＤ」との各情報が対応付けて記憶される。これらの情報のうち、「クライアントＩＤ」、「トランザクションＩＤ」、「シーケンスＩＤ」および「優先度」は、情報処理装置１０から受信されるメッセージに付与されている情報である。「画面ＩＤ」は、そのメッセージに対応する画面を識別する識別情報である。「画面ＩＤ」とメッセージの種別とは予め対応付けられており、制御部１４１は、記憶部１４２に予め記憶された対応関係に基づいて、受信されたメッセージに対応する画面ＩＤを特定し、特定した画面ＩＤをキャッシュ領域１４２ａに格納する。なお、図１８には、キャッシュ領域１４２ａにクライアントＩＤが格納される例を示しているが、クライアントＩＤがキャッシュ領域１４２ａに格納されない構成であってもよい。
【０１１５】
図１６の説明に戻る。ステップＳ３２２において、制御部１４１は、受信されたメッセージに含まれる状況情報に基づいて、表示部１４４に表示している画面を更新する。具体的には、例えば、処理を実行中である旨を示す画面において、読み取られた媒体の枚数や、画像が形成された媒体の枚数が更新される。
【０１１６】
ミドルウェア層７０から状況情報が供給される毎に、ステップＳ３１７ないしステップＳ３２２の処理が繰り返し行われ、キャッシュ領域１２ａおよびキャッシュ領域１４２ａが更新されるとともに、表示装置４の画面がその都度更新される。すなわち、ステップＳ３１７ないしステップＳ３２２の処理は、ユーザによって指示された処理が情報処理装置１０において完了するまで、状況情報が供給される毎に繰り返し実行される。ひとつの処理が完了するまでにイベント通知部６２から表示装置４へ送信される複数のメッセージは、ひとつの処理の関するメッセージであるため、同一のトランザクションＩＤが付される。なお、シーケンスＩＤはそれぞれのメッセージで異なる。
【０１１７】
ここで、コピー処理の途中で、媒体を収容する収容部がユーザによって開かれた場合、ステップＳ３２３において、ミドルウェア層７０は、ハードウェア層８０から通知に応じて、収容部がセットされていない旨を検知する。ステップＳ３２４において、ミドルウェア層７０は、検知した状態を示す状態情報をイベント通知部６２に供給する。ステップＳ３２５において、イベント通知部６２は、この状態情報を送信するためのトランザクションＩＤとシーケンスＩＤとを発行する。収容部の状態の通知処理は、コピー処理とは異なる処理であるため、コピー処理のトランザクションＩＤとは異なるトランザクションＩＤが発行される。ステップＳ３２６において、イベント通知部６２は、発行したトランザクションＩＤとシーケンスＩＤとをキャッシュ領域１２ａにキャッシュする。ステップＳ３２７において、イベント通知部６２は、供給された状態情報を含むとともに、発行したトランザクションＩＤとシーケンスＩＤとを含むＷｅｂＳｏｃｋｅｔのメッセージを表示装置４に送信する。ステップＳ３２８において、制御部１４１は、受信されたメッセージに含まれるＩＤのセットをキャッシュ領域１４２ａにキャッシュする。ステップＳ３２９において、制御部１４１は、受信された状態情報に応じた画面（図１０に例示される画面）を表示する。
【０１１８】
さて、指示された画像処理の実行が完了すると、ステップ３３０において、ミドルウェア層７０は、処理が完了した旨を示す状態情報をイベント通知部６２に供給する。ステップＳ３３１において、イベント通知部６２は、供給された状態情報を含むＷｅｂＳｏｃｋｅｔメッセージを生成し、生成したメッセージをＷｅｂＳｏｃｋｅｔセッションにより表示装置４へ送信する。ステップＳ３３２において、制御部１４１は、受信されたイベントに含まれるＩＤのセットをキャッシュ領域１４２ａにキャッシュする。ステップＳ３３３において、制御部１４１は、指示された画像処理が完了した旨を示す画面を表示部１４４に表示する。
【０１１９】
［１−５−３］動作例２
図１９は、情報処理システム１の動作の他の例を示すシーケンス図である。この例では、ユーザが表示装置４を操作して、情報処理装置１０にコピー処理を実行させる場合の動作であって、コピー処理の途中で（コピー処理が完了する前に）、表示装置４が情報処理装置１０からメッセージを受信できなくなってしまった場合の動作を説明する。メッセージを受信できない場合とは、例えば、ＷｅｂＳｏｃｋｅｔセッションが何らかの原因により切断されてしまった場合や、表示装置４のメッセージの受信に係るバッファの空き容量がなくなってしまうことによってメッセージが受信できなくなった場合、通信回線の状況によりメッセージの一部または全部が紛失されてしまった場合などが挙げられる。ＷｅｂＳｏｃｋｅｔセッションが切断されてしまう場合とは、例えばネットワークが不安定であったり、停電や節電などの理由による切断が挙げられる。図１９には、図１６のステップＳ３２２の処理が行われた後に、ＷｅｂＳｏｃｋｅｔセッションが切断された場合の動作が例示されている。
【０１２０】
表示装置４の制御部１４１は、情報処理装置１０からのメッセージを受信していない可能性があると判定した場合、メッセージの再送処理を行う。判定の方法としては、例えば、セッションの切断が検知された場合や、メッセージの受信に係るバッファの空き容量がなくなってしまった場合に、受信すべきメッセージが受信されていない可能性があると判定してもよい。受信すべきメッセージが受信されていない可能性があると判定した場合、制御部１４１は、セッションが切断されているかを判定する。セッションが切断されている場合、制御部１４１は、ステップＳ４０１において、ＷｅｂＳｏｃｋｅｔの再接続要求、すなわちハンドシェイク要求（ＨＴＴＰリクエスト）を情報処理装置１０へ送信する。なお、セッションが切断されていない場合、ステップＳ４０１ないしステップＳ４０４の処理はスキップされる。ステップＳ４０１において送信される再接続要求には、キャッシュ領域１４２ａに格納されている自装置を識別するクライアントＩＤが含まれる。ここで、表示装置４の制御部１４１が、受信すべきメッセージが受信されていない可能性があると判定する別の態様としては、キャッシュに記憶している通知メッセージのうち、同一のトランザクションＩＤが付与されたメッセージを確認し、一連のメッセージの全体の数とそのメッセージが何通目であるかを示す情報が付加されている場合に、最後まで受信していないことを判断するようにしてもよいし、一連のメッセージに必ず最後を示す情報がある場合に、また、最後を示す情報が不可され得たメッセージが無いことを核にすることにより、まだ最後までメッセージを受信していないことを判断するように構成してもよい。
【０１２１】
ステップＳ４０２において、インターフェース５０は、受信されたＨＴＴＰリクエストに含まれるクライアントＩＤを、キャッシュ領域１２ａに記憶されたクライアントＩＤと照合する。キャッシュ領域１２ａには、上述したように、情報処理装置１０との間でセッションを確立している表示装置４のクライアントＩＤが格納されており、セッションが正常な処理により切断された場合にキャッシュ領域１２ａから削除される。すなわち、通信ネットワークの問題等により処理の途中でセッションが切断されてしまった場合、そのセッションの確立先のクライアントＩＤはキャッシュ領域１２ａに記憶されたままとなっている。また、情報処理装置１０が複数の表示装置４との間でセッションを確立している場合、キャッシュ領域１２ａには、複数のクライアントＩＤが格納されている。ステップＳ４０１において受信されたＨＴＴＰリクエストに含まれるクライアントＩＤがキャッシュ領域１２ａに格納されている場合、インターフェース５０は、表示装置４との間のセッションを再度確立する処理を行う。すなわち、ステップＳ４０４において、インターフェース５０は、表示装置４にハンドシェイク応答を送信し、セッションを確立する。なお、受信されたＨＴＴＰリクエストに含まれるクライアントＩＤがキャッシュ領域に格納されていない場合、制御部１１は、セッションを新規に確立すると判断する。図１９では、受信されたＨＴＴＰリクエストに含まれるクライアントＩＤがキャッシュ領域１２ａに格納されている場合の動作を例示している。
【０１２２】
ステップＳ４０５において、制御部１４１は、キャッシュ領域１４２ａに格納されているトランザクションＩＤ、セッションＩＤおよびクライアントＩＤのセットを読み出す。キャッシュ領域１４２ａにＩＤのセットが複数格納されている場合、この実施形態では、制御部１４１は、格納されている全てのＩＤのセットを読み出す。
【０１２３】
ステップＳ４０６において、制御部１４１は、読み出したＩＤのセットを情報処理装置１０へ送信する。このＩＤのセットは、ＷｅｂＳｏｃｋｅｔセッションを介して送信される。
【０１２４】
イベント通知部６２は、表示装置４からＩＤのセットを受信する。ステップＳ４０７において、受付・応答部６１は、受信されたＩＤのセットとキャッシュ領域１２ａに記憶されているＩＤのセットと照合し、照合結果に基づいて、どのメッセージを再送するかを決定する。この例で、受付・応答部６１は、受信されたＩＤのセットとキャッシュ領域１２ａに記憶されたＩＤのセットとを比較して差分を抽出する。また、受付・応答部６１は、抽出された差分に含まれるＩＤのセットに対応するメッセージのうち、優先度が予め定められた閾値よりも高いメッセージを、再送するメッセージとして特定する。例えば、受付・応答部６１は、優先度が「１００」以上であるメッセージを再送するメッセージとして特定してもよい。ステップＳ４０８において、イベント通知部６２は、特定したメッセージを表示装置４へ再送する。
【０１２５】
制御部１４１は、再送されたメッセージを受信する。ステップＳ４０９において、制御部１４１は、受信されたメッセージに含まれるＩＤのセットをキャッシュ領域１４２ａに格納し、ステップＳ４１０において、受信されたメッセージに応じた画面を表示部１４４に表示する。この例で、制御部１４１が表示部１４４に表示する画面は、受信されたメッセージ（優先度が閾値よりも高いメッセージ）に対応する画面であり、例えば、収容部が正しくセットされていない旨を示す画面や、処理が完了した旨を示す画面である。すなわち、この例で、表示部１４４には、ユーザへの通知が必須であると考えられる画面が表示され、ユーザへの通知が必ずしも必要でない画面、例えばコピー処理の途中経過を示す画面（コピーが３ページ目まで終わりました、など）は表示されない。
【０１２６】
ところで、処理の途中でセッションが切断されてしまった場合など、何らかの原因で表示装置４が情報処理装置１０からのメッセージを受信できなくなってしまう場合がある。この場合、表示装置４で受信すべきメッセージが受信されない虞がある。例えば、情報処理装置１０でコピー処理が完了しているにも関わらず、表示装置４がコピー処理の完了通知を受信できない場合、表示装置４の画面が更新されなくなってしまう。また、他の例として、例えば、ユーザによって指示されたコピー処理を情報処理装置１０が実行している最中に、用紙の収容部が情報処理装置１０からはずされてしまったにも関わらず、収容部が正しくセットされていない旨の通知が表示装置４で受信されなかった場合、表示装置４にはその旨が表示されないから、ユーザはコピー処理が実行されない理由を把握することができない。
【０１２７】
それに対しこの実施形態では、表示装置４から再送要求があった場合、情報処理装置１０が表示装置４から送信されてきたＩＤのセットと自装置にキャッシュされているＩＤのセットとを照合し、照合結果に応じてメッセージの再送処理を行う。これにより、情報処理装置１０から表示装置４への通知がロストすることが防止される。また、このとき、キャッシュされているすべてのメッセージを再送するのではなく、条件を満たすメッセージを選定して送信することにより、再送に起因する処理負荷が軽減される。
上記した実施例では、表示装置４と情報処理装置１０との間の通信セッションが切断された後にセッションを再確立したときに、表示装置４からメッセージ再送要求を行う例を説明したが、この構成に限られることはなく、情報処理装置１０の受付・応答部６１またはイベント通知部６２は、セッションの再確立したおきに表示装置１０に対し、キャッシュ領域１４２ａに格納された情報の取得を要求し、取得したＩＤのセットとキャッシュ領域１２ａに記憶されたＩＤのセットとを比較して差分を抽出するようにしてもよい。情報処理装置１０側から表示装置４へのキャッシュ領域に格納された情報の取得は、セッション再確立する毎に要求してもよいし、情報処理装置１０の受付・応答部６１またはイベント通知部６２が未送信のメッセージが存在すると判断したときにのみ要求するようにしてもよい。
【０１２８】
［２］変形例
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
【０１２９】
［２−１］再送するメッセージの特定方法
上述の実施形態では、イベント通知部６２は、図１９のステップＳ４０７において、どのメッセージを再送するかを、受信されたＩＤのセットとキャッシュ領域１２ａに記憶されたＩＤのセットと比較して差分を抽出し、抽出した差分のうち、重要度（優先度）が予め定められた閾値よりも高いメッセージを、再送するメッセージとして特定した。再送するメッセージの特定方法はこれに限られない。例えば、イベント通知部６２は、抽出された差分に含まれるＩＤのセットに対応する全てのメッセージを、優先度の値に関わらず、再送するメッセージとして特定してもよい。
【０１３０】
また、上述の実施形態では、イベント通知部６２は、抽出された差分に含まれるＩＤのセットに対応するメッセージのうち、優先度が閾値よりも高いメッセージを再送するメッセージとして特定したが、判定に用いられる属性は優先度に限られない。判定に用いられるメッセージの属性としては、例えば、メッセージの送信先である表示装置４の種別（リモート／ローカル、など）を示す情報や、メッセージが送信されてからの経過時間が用いられてもよい。
【０１３１】
また、他の例として、イベント通知部６２は、キャッシュ領域１２ａに記憶されているメッセージの中に、表示装置４が受信しておらず、かつ、属性が予め定められた条件を満たすメッセージがない場合、表示装置４が受信済であって属性が条件を満たすメッセージを再送すべきメッセージとして特定してもよい。例えば、イベント通知部６２は、抽出された差分に含まれるＩＤのセットに対応するメッセージのうち、優先度が閾値よりも高いメッセージが無い場合、差分に含まれないＩＤのセットに対応するメッセージの中から、優先度が閾値よりも高いメッセージを、再送するメッセージとして特定してもよい。この例では、再送されたメッセージが表示装置４で受信されることにより表示部１４４に表示される画面は、既に表示された画面である。すなわち、この例では、表示部１４４の画面が、特定の画面（例えば、ユーザが処理の経過を把握し易い画面、等）まで戻す制御が行われる。
【０１３２】
また、他の例として、イベント通知部６２は、キャッシュ領域１２ａにキャッシュされたメッセージのうち、送信されてから経過した時間が予め定められた閾値以下であるメッセージを再送すべきメッセージとして特定してもよい。また、イベント通知部６２は、送信されてから経過した時間が予め定められた閾値以上であるメッセージをキャッシュ領域１２ａから削除するようにしてもよい。
【０１３３】
また、表示装置４から要求された処理の完了通知を示すメッセージがキャッシュ領域１２ａにキャッシュされている場合、イベント通知部６２は、処理の完了通知を示すメッセージを再送すべきメッセージとして特定してもよい。この場合、その完了通知を示すメッセージに含まれるトランザクションＩＤと同一のトランザクションＩＤが付された他のメッセージは、再送すべきメッセージとして特定されない。この例では、例えば、コピー処理の途中経過（コピーが３ページ目まで終わりました、など）を示すメッセージは再送されない。
【０１３４】
また、上述の実施形態において、イベント通知部６２が、キャッシュ領域１２ａにキャッシュされたメッセージの属性に基づいて、送信すべきメッセージの順序を変更して送信してもよい。
【０１３５】
［２−２］メッセージのキャッシュ方法
上述の実施形態では、イベント通知部６２は、表示装置４へ送信するメッセージを全てキャッシュ領域１２ａにキャッシュしたが、イベント通知部６２がキャッシュするメッセージを選定してもよい。例えば、イベント通知部６２は、表示装置４へ送信するメッセージのうち、重要度が予め定められた閾値よりも高いメッセージをキャッシュし、それ以外のメッセージはキャッシュしないようにしてもよい。
【０１３６】
また、複数の記憶領域（例えばＲＡＭとハードディスクドライブ）にキャッシュ領域を設ける構成とし、イベント通知部６２が、重要度に応じてキャッシュする領域を異ならせてもよい。例えば、イベント通知部６２が、重要度が閾値よりも高いメッセージは記憶部１２のキャッシュ領域に格納する一方、重要度が閾値以下であるメッセージはＲＡＭに設けたキャッシュ領域に格納するようにしてもよい。
【０１３７】
［２−３］再送要求に含めるＩＤセットの選定方法
上述の実施形態では、表示装置４の制御部１４１は、キャッシュ領域１４２ａにキャッシュされている全てのＩＤのセットを再送要求に含めて情報処理装置１０へ送信した。再送要求に含めるＩＤのセットは上述した実施形態で示したものに限られない。例えば、制御部１４１は、キャッシュ領域１４２ａに格納されているＩＤのセットのうち、最新のＩＤのセットを読み出して再送要求に含めて送信してもよい。また、他の例として、例えば、制御部１４１は、キャッシュ領域１４２ａに格納されているＩＤのセットのうち、重要度（優先度）が予め定められた閾値以上であるＩＤのセットを読み出してもよい。
【０１３８】
また、上述の実施形態では、制御部１４１は、受信済みである（すなわちキャッシュ領域１４２ａに格納されている）ＩＤを読み出して再送要求に含めたが、再送要求に含めるＩＤのセットは、キャッシュ領域１４２ａに格納されているものに限られない。例えば、制御部１４１は、キャッシュ領域１４２ａに格納されているＩＤのセットに含まれるシーケンスＩＤに基づいて受信していないメッセージのシーケンスＩＤを推定し、推定したシーケンスＩＤを再送要求に含めてもよい。具体的には、例えば、キャッシュ領域１４２ａにシーケンスＩＤとして「００１」、「００２」が格納されている場合、制御部１４１は、キャッシュ領域１４２ａに格納されているシーケンスＩＤの中から最近に受信されたもの（この例では、「００１」）を特定し、特定したシーケンスＩＤをインクリメントした値（この例では、「００３」）を再送要求に「００３」含めてもよい。この場合、情報処理装置１０の制御部１１は、送信されてくる再送要求に含まれるシーケンスＩＤが付されたメッセージおよびそれ以降のメッセージを再送する。
【０１３９】
［２−４］再送されたメッセージに対応する処理の実行
上述の実施形態において、制御部１４１は、情報処理装置１０から再送されてきたメッセージに対応する処理を実行するか否かを、メッセージによって異ならせてもよい。具体的には、例えば、制御部１４１は、再送されてきたメッセージのうち、重要度が予め定められた閾値よりも高いメッセージに対応する処理を実行し、それ以外の処理を実行しないようにしてもよい。
【０１４０】
また、例えば、再送されてきたメッセージのなかに、ユーザによって指示された処理の完了通知を示すメッセージが含まれている場合、制御部１４１は、完了通知のメッセージに対応する処理（すなわち完了画面の表示処理）を行い、そのメッセージに付されているトランザクションＩＤが付された他のメッセージに関する処理を行わないようにしてもよい。
【０１４１】
［２−５］通信の規格
実施形態では、ユーザ装置２０は、無線ＬＡＮの規格に準拠する無線通信を行う通信部を備えていたが、これに限らず、例えば操作装置３０の通信部３３と同様に有線ＬＡＮの規格に準拠する通信を行う通信部を備えていてもよい。この場合、ユーザ装置２０は、有線ＬＡＮのルータやハブなどに通信用のケーブルを介して接続される。この場合のユーザ装置２０の通信部も、上述した他の通信機器（ルータやハブなど）と通信する通信手段として機能する。
【０１４２】
また、実施形態では、情報処理装置１０の第１通信部と操作装置３０の通信部が有線ＬＡＮの規格に準拠して通信を行ったが、これに限らず、例えば、ＵＳＢ（Universal Serial Bus）やＨＤＭＩ(登録商標)（High-Definition Multimedia Interface）などの規格に準拠する通信を行ってもよいし、他にも、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near field communication）などの規格に準拠する無線通信を行ってもよい。いずれの場合も、操作装置３０の通信部は、他のルータはハブなどの通信機器を介さずに情報処理装置１０の第１通信部と通信する。このように、操作装置３０の通信部は、他の通信機器を介さず情報処理装置１０と通信する通信手段として機能する。
【０１４３】
また、上述の実施形態では、情報処理装置１０と表示装置４とは、ＨＴＴＰおよびＷｅｂＳｏｃｋｅｔの２種類の通信プロトコルを併用してデータの授受を行ったが、用いられる通信プロトコルはこれらに限られない。情報処理装置１０と表示装置４とが用いる通信プロトコルは、表示装置４（ウェブクライアント）から送信される要求に対する応答を情報処理装置１０（ウェブサーバ）が送信するための第１通信プロトコルと、情報処理装置１０から表示装置４へ通知を送信するために第２通信プロトコルであればよい。
【０１４４】
また、上述の実施形態において、情報処理装置１０と表示装置４とは、ＳＯＡＰ（Simple Object Access Protocol）の規格に準拠したデータの授受を行ってもよい。また、情報処置装置１０と表示装置４とがデータの授受を行う際に準拠するプロトコルはこれに限られない。情報処理装置１０と表示装置４とは、例えばＲＥＳＴ（Representational State Transfer）やＳＧＭＬ（Standard Generalized Markup Language）などの規格に準拠して通信してもよい。
【０１４５】
［２−６］操作装置の構成
操作装置３０は、実施形態では図５に示すように制御部や記憶部、通信部を備えていたが、これらを備えていなくてもよい。
図２０は、本変形例の情報処理装置１０ａのハードウェア構成の一例を示す図である。図２０の例では、図６に示す各部のうち、操作装置３０を除く各部を備える情報処理装置１０ａと、操作装置３０ａとが示されている。本変形例でも、操作装置３０ａは情報処理装置１０ａの筐体に固定されている。操作装置３０ａは、図５に示す通信部３３と、ＵＩ部３６とを備える。
【０１４６】
通信部３３及びＵＩ部３６は、情報処理装置１０ａ内のバスに接続され、制御部１１によって制御されるようになっている。また、通信部３３は、第１通信部１５とも接続されている。ＵＩ部３６は、表示面と表示面に重ねられたタッチセンサとを備え、ユーザからの操作を受け付けるとともに画像を表示する。ＵＩ部３６は、受け付けたユーザの操作に応じた操作データを制御部１１に供給し、制御部１１は、この操作データに応じた処理を行う。本変形例では、制御部１１がブラウザのプログラムを実行することで図７に示す表示装置４の機能を実現する。
【０１４７】
［２−７］操作装置の設置
操作装置は、実施形態や上記変形例では情報処理装置の筐体に固定されていたが、固定されていなくてもよい。例えば、操作装置が情報処理装置の筐体に固定されておらず、いわゆるリモコンとして用いられる装置であってもよい。
図２１は、本変形例の情報処理装置１０ｂのハードウェア構成の一例を示す図である。図２１の例では、図６に示す各部のうち、操作装置３０を除く各部を備える情報処理装置１０ｂと、操作装置３０ｂとが示されている。操作装置３０ｂは、図５に示す各部を備え、図７に示す表示装置４として機能する装置である。情報処理装置１０ｂの筐体には、操作装置３０ｂを設置可能な形に形成された部分（以下「設置部」という）を有する。
【０１４８】
操作装置３０ｂは、通信用のケーブルを介して第１通信部１５に接続されており、設置部に設置された状態でユーザにより使用される。操作装置３０ｂは、実施形態の操作装置３０と同様に、他の通信機器を介さずに情報処理装置１０と通信を行うローカルの表示装置４として用いられる。なお、ユーザは、操作装置３０ｂからケーブルを取り外して、操作装置３０ｂを別の場所に持って行き別の用途に用いてもよい。なお、図１９の例では、操作装置３０ｂに代えて、操作手段として機能する他の装置（例えば図１等に示したユーザ装置２０）が接続されてもよい。また、操作装置３０ｂを、通信機器３に接続させて、通信機器３及び通信回線２を介して情報処理装置１０ｂと通信させてもよい。
【０１４９】
［２−８］情報処理装置１０が行う処理
上述の実施形態では、コピー処理を行う場合の動作について説明したが、情報処理装置１０が行う処理はコピー処理に限られない。情報処理装置１０が行う処理は、例えば上述した画像読取処理であってもよく、また、画像形成処理であってもよい。
【０１５０】
［２−９］操作の受付方法
上述の実施形態では、制御部２１は、タッチセンサでユーザの操作を受け付けたが、ユーザの操作を受け付ける方法はこれに限られない。例えば、表示装置４がタブレット端末であれば筐体に設けられたボタンで操作を受け付けてもよい。また、表示装置４がパーソナルコンピュータであればキーボードやマウスなどで操作を受け付けてもよい。
【０１５１】
［２−１０］メッセージの送信
イベント通知部６２は、実施形態では、ＷｅｂＳｏｃｋｅｔの規格に準拠するＸＭＬデータを送信したが、これに限らない。例えば、Ｃｏｍｅｔと呼ばれる技術を用いて、表示装置４のＵＩ制御部４１が送信してきたＨＴＴＰリクエストをイベント通知部６２が維持し、送信すべきメッセージ（状況情報の更新など）が発生することを契機に、イベント通知部６２が、維持していたＨＴＴＰリクエストへの応答で状況情報を送信してもよい。Ｃｏｍｅｔを用いた方法だと、実施形態と同様に、操作用装置からの要求が行われたときにその応答でこの送信が行われる場合に比べて、処理の状況がユーザに早く伝達されることになる。
【０１５２】
［２−１１］発明のカテゴリ
本発明は、情報処理装置、表示装置、通信機器及びこれらの装置を備える情報処理システムの他にも、これらの装置が実施する処理を実現するための情報処理方法としても捉えられるものである。また、本発明は、情報処理装置及び表示装置というコンピュータを、上述した各手段として機能させるためのプログラムとしても捉えられるものである。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等の通信回線を介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【符号の説明】
【０１５３】
１…情報処理システム、２…通信回線、３…通信機器、４…表示装置、１０…情報処理装置、２０…ユーザ装置、３０…操作装置、１１、２１、３１…制御部、１２、２２、３２…記憶部、１３…画像読取部、１４…画像形成部、１５…第１通信部、１６…第２通信部、１７…接続部、２３、３３…通信部、２４、３４…表示部、２５、３５…操作部、１０１…生成手段、１０２…第１送信手段、１０３…第２送信手段、１０４…記憶制御手段、１０５…第１特定手段、１０６…第２特定手段、１０７…処理手段、１０８…記憶手段、４０１…受信手段、４０２…記憶制御手段、４０３…第３送信手段、４０４…処理実行手段、４０５…記憶手段、４０６…第４送信手段
【図１】
0006471439.tif 000002
【図２】
0006471439.tif 000003
【図３】
0006471439.tif 000004
【図４】
0006471439.tif 000005
【図５】
0006471439.tif 000006
【図６】
0006471439.tif 000007
【図７】
0006471439.tif 000008
【図８】
0006471439.tif 000009
【図９】
0006471439.tif 000010
【図１０】
0006471439.tif 000011
【図１１】
0006471439.tif 000012
【図１２】
0006471439.tif 000013
【図１３】
0006471439.tif 000014
【図１４】
0006471439.tif 000015
【図１５】
0006471439.tif 000016
【図１６】
0006471439.tif 000017
【図１７】
0006471439.tif 000018
【図１８】
0006471439.tif 000019
【図１９】
0006471439.tif 000020
【図２０】
0006471439.tif 000021
【図２１】
0006471439.tif 000022