(57)【要約】【課題】操作パネルの表示制御をＷｅｂブラウザを用いて適切に行うことのできる画像形成装置、表示制御方法、及び表示制御プログラムの提供を目的とする。【解決手段】操作パネルの表示制御を行うＷｅｂブラウザと、ハードウェア資源の制御を行う制御手段とを備えた画像形成装置であって、前記Ｗｅｂブラウザにプラグインされ、前記操作パネルにコンテンツを表示させるコンテンツ表示手段を有し、前記コンテンツ表示手段は、前記制御手段において検知されたイベントを示す情報を受信し、受信された情報が示すイベントに応じて前記コンテンツを更新することにより上記課題を解決する。【選択図】図３
2008131388.tif 000002
【特許請求の範囲】
【請求項１】
操作パネルの表示制御を行うＷｅｂブラウザと、ハードウェア資源の制御を行う制御手段とを備えた画像形成装置であって、
前記Ｗｅｂブラウザにプラグインされ、前記操作パネルにコンテンツを表示させるコンテンツ表示手段を有し、
前記コンテンツ表示手段は、前記制御手段において検知されたイベントを示す情報を受信し、受信された情報が示すイベントに応じて前記コンテンツを更新することを特徴とする画像形成装置。
【請求項２】
前記コンテンツ表示手段は、ソケット通信によって前記操作パネルに対する入力とは非同期に前記イベントを示す情報を受信することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記Ｗｅｂブラウザは、前記操作パネルに対する入力に応じてＨＴＴＰリクエストを前記制御手段に送信することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記制御手段は、前記ＨＴＴＰリクエストに応じた処理を実行し、前記処理の結果に応じて前記操作パネルの表示内容の更新を指示するＨＴＴＰレスポンスを前記Ｗｅｂブラウザに返信することを特徴とする請求項３記載の画像形成装置。
【請求項５】
操作パネルの表示制御を行うＷｅｂブラウザと、ハードウェア資源の制御を行う制御手段とを備えた画像形成装置における表示制御方法であって、
前記Ｗｅｂブラウザにプラグインされ、前記操作パネルにコンテンツを表示させるコンテンツ表示手段が前記コンテンツを表示させるコンテンツ表示手順と、
前記コンテンツ表示手段が、前記制御手段において検知されたイベントを示す情報を受信し、受信された情報が示すイベントに応じて前記コンテンツを更新するコンテンツ更新手順とを有することを特徴とする表示制御方法。
【請求項６】
前記コンテンツ更新手順は、ソケット通信によって前記操作パネルに対する入力とは非同期に前記イベントを示す情報を受信することを特徴とする請求項５記載の表示制御方法。
【請求項７】
前記Ｗｅｂブラウザが、前記操作パネルに対する入力に応じてＨＴＴＰリクエストを前記制御手段に送信する手順を有することを特徴とする請求項５又は６記載の表示制御方法。
【請求項８】
前記制御手段が、前記ＨＴＴＰリクエストに応じた処理を実行し、前記処理の結果に応じて前記操作パネルの表示内容の更新を指示するＨＴＴＰレスポンスを前記Ｗｅｂブラウザに返信する手順を有することを特徴とする請求項７記載の表示制御方法。
【請求項９】
操作パネルの表示制御を行うＷｅｂブラウザと、ハードウェア資源の制御を行う制御手段とを備えた画像形成装置を、
前記Ｗｅｂブラウザにプラグインされ、前記操作パネルにコンテンツを表示させるコンテンツ表示手段として機能させ、
前記コンテンツ表示手段は、前記制御手段において検知されたイベントを示す情報を受信し、受信された情報が示すイベントに応じて前記コンテンツを更新することを特徴とする表示制御プログラム。
【請求項１０】
前記コンテンツ表示手段は、ソケット通信によって前記操作パネルに対する入力とは非同期に前記イベントを示す情報を受信することを特徴とする請求項９記載の表示制御プログラム。
【請求項１１】
前記Ｗｅｂブラウザは、前記操作パネルに対する入力に応じてＨＴＴＰリクエストを前記制御手段に送信することを特徴とする請求項９又は１０記載の表示制御プログラム。
【請求項１２】
前記制御手段は、前記ＨＴＴＰリクエストに応じた処理を実行し、前記処理の結果に応じて前記操作パネルの表示内容の更新を指示するＨＴＴＰレスポンスを前記Ｗｅｂブラウザに返信することを特徴とする請求項１１記載の表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、表示制御方法、及び表示制御プログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置等の機器に備えられている操作パネルの表示内容が豊富となっている。例えば、操作パネルにおける液晶パネルが大型化し、表現豊かな画面の表示が可能となっており、機器の操作方法や、機器のステータス等が、ユーザに分かり易く表示されるようになっている。
【０００３】
このような操作パネルにおいて、Ｗｅｂブラウザによる表示制御が可能となれば便宜である。一般的に、Ｗｅｂブラウザによって表示されるコンテンツは、ＨＴＭＬ（HyperText Markup Language）データやＸＭＬ（eXtensible Markup Language）データとして作成される。これらのデータはテキストベースのデータである。したがって、操作パネルの表示制御をＷｅｂブラウザによって行うことにより、例えば、機能強化に伴う表示内容の変更等（例えば、新たなメニュー又はボタン等の追加）を、テキストデータを書き換えることで簡便に行うことができる。
【特許文献１】特開２０００−１２５０７３号公報
【特許文献２】特開２００２−１５２４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、Ｗｅｂブラウザは、Ｗｅｂサーバとの間でＨＴＴＰ（HyperText Transfer Protocol）通信を行うことによりその表示内容を変化させるところ、ＨＴＴＰ通信のようなリクエスト・レスポンス型のプロトコルでは、機器内において、ユーザによる操作指示とは非同期に発生する各種のイベント（例えば、異常の発生等）の取り扱いには必ずしも適していないという問題がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、操作パネルの表示制御をＷｅｂブラウザを用いて適切に行うことのできる画像形成装置、表示制御方法、及び表示制御プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、操作パネルの表示制御を行うＷｅｂブラウザと、ハードウェア資源の制御を行う制御手段とを備えた画像形成装置であって、前記Ｗｅｂブラウザにプラグインされ、前記操作パネルにコンテンツを表示させるコンテンツ表示手段を有し、前記コンテンツ表示手段は、前記制御手段において検知されたイベントを示す情報を受信し、受信された情報が示すイベントに応じて前記コンテンツを更新することを特徴とする。
【０００７】
このような画像形成装置では、操作パネルの表示制御をＷｅｂブラウザを用いて適切に行うことができる。
【発明の効果】
【０００８】
本発明によれば、操作パネルの表示制御をＷｅｂブラウザを用いて適切に行うことのできる画像形成装置、表示制御方法、及び表示制御プログラムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１には、画像形成装置１における主なハードウェアが示されている。
【００１０】
図１において、画像形成装置１は、操作部１０とコントローラ部２０とに大別される。操作部１０は、ＲＯＭ１０１、ＲＡＭ１０２、ＣＰＵ１０３、及びオペレーションパネル１０４等を含み、オペレーションパネル１０４への表示画面の表示制御等を実行する部分である。ＲＯＭ１０１は、表示制御等と実行するためのプログラム及び当該プログラムによって利用されるデータ等を記憶している。ＲＡＭ１０２は、当該プログラムの実行時に、当該プログラム等をロードするための記憶領域として用いられる。ＣＰＵ１０３は、ＲＡＭ１０２にロードされたプログラムを実行することにより、オペレーションパネル１０４の表示処理等を実行する。オペレーションパネル１０４は、オペレータが画像形成装置１に入力を行うためのハードウェアであると共に、オペレータが画像形成装置１から出力を得るためのハードウェアである。
【００１１】
図２は、オペレーションパネルの例を示す図である。図２に示されるように、オペレーションパネル１０４は、タッチパネル３１１と、テンキー３１２と、スタートボタン３１３と、リセットボタン３１４と、機能キー３１５と、初期設定ボタン３１６により構成される。タッチパネル３１１は、タッチ操作で入力を行うためのハードウェア（タッチ操作部）であると共に、画面表示で出力を得るためのハードウェア（画面表示部）である。テンキー３１２は、キー（ボタン）操作で数字入力を行うためのハードウェアである。スタートボタン３１３は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン３１４は、ボタン操作でリセット操作を行うためのハードウェアである。機能キー３１５は、キー（ボタン）操作で各種の操作画面を表示させるためのハードウェアである。初期設定ボタン３１６は、ボタン操作で初期設定画面を表示させるためのハードウェアである。
【００１２】
図１に戻る。コントローラ部２０は、ＲＯＭ２０１、ＲＡＭ２０２、ＣＰＵ２０３、スキャナ２０４、プロッタ２０５、及びＨＤＤ（Hard Disk Drive）２０６等を含み、画像形成装置１のハードウェア資源の制御を主に実行する部分である。ＲＯＭ２０１は、コントローラ部２０の機能を実現するためのプログラム及び当該プログラムによって利用されるデータ等を記憶している。ＲＡＭ２０２は、当該プログラムの実行時に、当該プログラム等をロードするための記憶領域として用いられる。ＣＰＵ２０３は、ＲＡＭ２０２にロードされたプログラムを実行することにより、コントローラ部２０の機能を実行する。スキャナ２０４は、紙文書より画像データを読み取るための装置（ハードウェア資源）である。プロッタ２０５は、画像データを印刷用紙に出力（印刷）するための装置（ハードウェア資源）である。ＨＤＤ２０６は、各種の情報を保存するための大規模な記憶領域を提供し、例えば、スキャナ２０４によって読み取られた画像データを保存するために用いられる。
【００１３】
操作部１０とコントローラ部２０とは、バス又はＵＳＢ（Universal Serial Bus）ケーブル等によって接続されている。オペレーションパネル１０４に対する入力は、イベントとしてコントローラ部２０に通知される。コントローラ部２０は、イベントに応じた処理を実行する。一方、コントローラ部２０においてに検知されるイベント（例えば、スキャナ２０４やプロッタ２０５等より発生するイベント）は、操作部１０に通知される。操作部１０は、通知されるイベントに応じた表示処理を実行する。
【００１４】
図３は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図３において、操作部１０は、ＯＳ１１、ウィンドウシステム１２、Ｗｅｂブラウザ１３、コンテンツ表示プラグイン１４、及びコンテンツ１５等より構成される。これらは、操作部１０のＣＰＵ１０３が、それぞれに係るプログラムを実行することにより機能する。
【００１５】
ＯＳ１１は、Ｌｉｎｕｘ等、一般的なＯＳである。ウィンドウシステム１２は、ＯＳ１１上においてＧＵＩ（Graphical User Interface）環境を実現する。ウィンドウシステム１２の具体例としては、例えば、Ｘ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍ等が挙げられる。Ｗｅｂブラウザ１３は、一般的なＷｅｂブラウザであり、ＨＴＭＬ（HyperText Markup Language）データや、ＸＭＬ（eXtensible Markup Language）データ等に基づいてタッチパネル３１１の表示制御を行う。コンテンツ表示プラグイン１４は、Ｗｅｂブラウザ１３に対するプラグインであり、所定の形式（例えば、コンテンツ表示プラグイン１４に固有の形式）によって構成されるコンテンツ１５の表示又は再生を行う。例えば、コンテンツ１５は、ＨＴＭＬデータやＸＭＬデータでは表現が困難な、表現豊かなユーザインタフェースを提供可能な表示用データ又は表示用プログラムである。したがって、コンテンツ表示プラグイン１４がＷｅｂブラウザ１３にプラグインされることで、Ｗｅｂブラウザ１３の表示機能が拡張され、タッチパネル３１１に表示させる表示画面をより表現豊かなものとすることができる。
【００１６】
図３において、コントローラ部２０は、ＯＳ２１、Ｊａｖａ（登録商標）ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）２２、ＯＳＧｉ（Open Services Gateway Initiative）フレームワーク２３、及びバンドル２４等より構成される。これらは、コントローラ部２０のＣＰＵ２０３が、それぞれに係るプログラムを実行することにより機能する。
【００１７】
ＯＳ１１は、Ｌｉｎｕｘ等、一般的なＯＳである。Ｊａｖａ（登録商標）ＶＭ２２は、Ｊａｖａ（登録商標）コンパイラによって生成された中間コード（Ｊａｖａ（登録商標）バイトコード）によるプログラムを解釈し、実行する、いわゆるＪａｖａ（登録商標）仮想マシンである。ＯＳＧｉフレームワーク２３は、Ｊａｖａ（登録商標）に基づいたオープンなソフトウェア部品化技術（ＯＳＧｉアライアンスによる標準化技術）に基づくソフトウェアの実行環境を実現する。ＯＳＧｉフレームワーク２３上で実行されるソフトウェアは、「バンドル」と呼ばれる部品として実装される。バンドル２４は、その「バンドル」を示す。
【００１８】
ところで、Ｗｅｂブラウザは、周知のようにＷｅｂサーバとの間でＨＴＴＰ通信を実行する。本実施の形態において、Ｗｅｂブラウザ１３は、Ｗｅｂサーバに相当するバンドルとの間でＨＴＴＰ（又はＨＴＴＰＳ（Hypertext Transfer Protocol Security）も含む。）通信を行う。このＨＴＴＰ通信は、操作部１０において発生するイベント（すなわち、オペレーションパネル１０４に対する入力イベント）をコントローラ部２０に通知するために用いられる。以下、当該ＨＴＴＰ通信を「同期通信」ともいう。
【００１９】
また、コンテンツ表示プラグイン１４は、バンドル２４との間でソケット通信を行うことが可能である。このソケット通信は、コントローラ部２０において、オペレーションパネル１０４に対する入力とは非同期に発生するイベントを操作部１０に通知するために用いられる。以下、当該ソケット通信を「非同期通信」ともいう。
【００２０】
すなわち、ＨＴＴＰ通信（同期通信）は、Ｗｅｂクライアントからのリクエストと、当該リクエストに対するＷｅｂサーバからのレスポンスによって構成されるため、Ｗｅｂサーバ側（コントローラ部２０）から能動的にＷｅｂクライアント（操作部１０）に対して情報を送信することはできない。したがって、同期通信では、コントローラ部２０において非同期に検知されるイベントを操作部１０（Ｗｅｂブラウザ１３）に通知することはできない。すなわち、コントローラ部２０において検知されたイベントに応じてＷｅｂブラウザ１３の表示内容を更新することができない。そこで、本実施の形態では、コンテンツ表示プラグイン１４において、コントローラ部２０において発生するイベントを受信可能とすることにより、当該イベントに応じた表示内容の更新を可能としている。
【００２１】
以上の非同期通信及び同期通信を実現するための構成について更に詳しく説明する。図４は、操作部とコントローラ部との通信機能の構成例を示す図である。
【００２２】
図４において、ＵＩバンドル２４１は、コントローラ部２０において非同期通信に基づく処理制御を行うためのバンドル２４である。ＵＩバンドル２４１は、非同期通信を行うためのソケット（サーバソケット２４１１）を開設する。
【００２３】
また、ＨＴＴＰサーババンドル２４２は、Ｗｅｂサーバとしてのバンドルであり、コントローラ部２０において同期通信に基づく処理制御を行う。ＨＴＴＰサーババンドル２４２は、同期通信を行うためのサーブレット（サーブレット２４２１）を含む。
【００２４】
一方、コンテンツ表示プラグイン１４は、非同期通信用のソケット（ソケット１４１）を開設する。すなわち、ソケット１４１とサーバソケット２４１１との間で非同期通信が行われる。また、Ｗｅｂブラウザ１３は、ＨＴＴＰ通信を行うためのソケット（ＨＴＴＰソケット１３１）を開設する。すなわち、ＨＴＴＰソケット１３１とサーブレット２４２１との間で同期通信が行われる。
【００２５】
斯かる仕組みに基づき、コンテンツ表示プラグイン１４によって再生されるコンテンツ１５を含むオペレーションパネル１０４に対する入力イベントは、ＨＴＴＰソケット１３１を介してＨＴＴＰサーババンドル２４２に通知される。一方、コントローラ部２０において検知される非同期イベントは、サーバソケット２４１１を介してソケット１４１に送信されることによりコンテンツ表示プラグイン１４に通知される。
【００２６】
コンテンツ表示プラグイン１４、ＵＩバンドル２４１、及びＨＴＴＰサーババンドル２４２について更に詳しく説明する。
【００２７】
図５は、コンテンツ表示プラグインのクラス図の一例である。図５において、コンテンツ表示プラグイン１４は、ソケットクラス１４０１、接続クラス１４０２、ＸＭＬ変換クラス１４０３、表示制御クラス１４０４、及び中間データクラス１４０５等より構成される。
【００２８】
ソケットクラス１４０１は、ＵＩバンドル２４１のサーバソケット２４１１との間でソケット通信（非同期通信）を実行するためのソケット１４１を実現するクラスである。ソケットクラス１４０１は、送信メソッドを有する。送信メソッドは、引き数に指定されたデータをソケット通信によってサーバソケット２４１１に送信するためのメソッドである。ソケットクラス１４０１のインスタンスを、以下「ソケットオブジェクト１４０１Ａ」という。
【００２９】
接続クラス１４０２は、Ｗｅｂブラウザ１３のＨＴＴＰソケット１３１を用いて同期通信を実現するクラスである。接続クラス１４０２は、ソケットクラス１４０１を継承し、送信メソッドとイベントメソッドとを有する。送信メソッドは、引き数に指定されたＸＭＬデータをＨＴＴＰソケット１３１に出力するためのメソッドである。イベントメソッドは、ＨＴＴＰソケット１３１より返信データを受け取るためのメソッドである。接続クラス１４０２のインスタンスを、以下「接続オブジェクト１４０２Ａ」という。
【００３０】
表示制御クラス１４０４は、コンテンツ表示プラグイン１４におけるコンテンツの表示制御を実現するクラスである。表示制御クラス１４０４は、イベントメソッド、画面遷移メソッド、及び表示メソッド等を有する。イベントメソッドは、同期通信や非同期通信の際に、コントローラ部２０より返信又は送信されるデータを受け取るためのメソッドである。画面遷移メソッドは、表示対象とするコンテンツ１５の更新の際に、遷移先となるコンテンツを取得するためのメソッドである。表示メソッドは、取得されたコンテンツをコンテンツ表示プラグイン１４上（すなわち、Ｗｅｂブラウザ１３上）に表示させるためのメソッドである。表示制御クラス１４０４のインスタンスを、以下「表示制御オブジェクト１４０４Ａ」という。
【００３１】
ＸＭＬ変換クラス１４０３は、表示制御クラス１４０４が解釈可能なデータ形式（以下、当該データ形式のデータを「中間データ」という。）のデータと同期通信又は非同期通信の際にやりとりされるデータ形式（ＸＭＬ形式）との変換処理を実現するクラスである。ＸＭＬ変換クラス１４０３の存在によって、表示制御クラス１４０４は、通信に用いられるデータ形式に依存することなく実装され得る。ＸＭＬ変換クラス１４０３は、ＸＭＬ化メソッドとイベントメソッドとを有する。ＸＭＬ化メソッドは、中間データをＸＭＬデータに変換するためのメソッドである。イベントメソッドは、コントローラ部２０より返信又は送信されるＸＭＬデータを受け取るためのメソッドである。ＸＭＬ変換クラス１４０３のインスタンスを、以下「ＸＭＬ変換オブジェクト１４０３Ａ」という。
【００３２】
中間データクラス１４０５は、上述の中間データを表現するクラスである。中間データクラス１４０５のインスタンスを、以下「中間データオブジェクト１４０５Ａ」という。
【００３３】
図６は、ＵＩバンドル及びＨＴＴＰサーババンドルのクラス図の一例である。
【００３４】
図６において、ＵＩバンドル２４１は、待ち受けサーバクラス２４１２、サーバソケットクラス２４１３、及び非同期イベントコントローラクラス２４１４等より構成される。
【００３５】
待ち受けサーバクラス２４１２は、コンテンツ表示プラグイン１４より非同期通信のためのソケットの開設要求を待ち受けるためのクラスである。待ち受けサーバクラス２４１２は、接続メソッドを有する。接続メソッドは、非同期通信のためのソケットの開設要求を受け付けるためのメソッドである。待ち受けサーバクラス２４１２のインスタンスを、以下「待ち受けサーバオブジェクト２４１２Ａ」という。
【００３６】
サーバソケットクラス２４１３は、コンテンツ表示プラグイン１４のソケット１４１との間でソケット通信（非同期通信）を実行するためのソケット２４１１を実現するクラスである。サーバソケットクラス２４１３は、送信メソッドを有する。送信メソッドは、引き数に指定されたデータをソケット通信によってソケット１４１に送信するためのメソッドである。サーバソケットクラス２４１３のインスタンスを、以下「サーバソケットオブジェクト２４１３Ａ」という。
【００３７】
非同期イベントコントローラクラス２４１４は、コントロール部２０において検知されたイベントに基づく処理制御を実現するクラスである。非同期イベントコントローラクラス２４１４は、イベントメソッドを有する。イベントメソッドは、ロジック部（バンドル２４よりよりハードウェアに近い層においてハードウェアの制御又は監視等を行う部分）よりイベントの通知を受け付けるためのメソッドである。非同期イベントコントローラクラス２４１４は、処理制御の一つとして、イベントの通知を受けた際に当該イベントをサーバソケット２４１１（サーバソケットクラス２４１３）を用いてコンテンツ表示プラグイン１４に通知する。非同期イベントコントローラクラス２４１４のインスタンスを、以下「非同期イベントコントローラオブジェクト２４１４Ａ」という。
【００３８】
また、ＨＴＴＰサーババンドル２４２は、ＨＴＴＰサーブレットクラス２４２２、サーブレットクラス２４２３、及び同期イベントコントローラクラス２４２４等より構成される。
【００３９】
ＨＴＴＰサーブレットクラス２４２２は、Ｗｅｂブラウザ１３との間でＨＴＴＰ通信を実行するためのサーブレット２４２１を実現するクラスである。
【００４０】
サーブレットクラス２４２３は、ＨＴＴＰサーブレットクラス２４２２を継承する具象クラスである。すなわち、実質的にはサーブレットクラス２４２３が、サーブレット２４２１を実現する。サーブレットクラス２４２３は、送信メソッドを有する。送信メソッドは、引き数に指定されたデータをＨＴＴＰ通信によってＷｅｂブラウザ１３に送信（ＨＴＴＰレスポンス）するためのメソッドである。サーブレットクラス２４２３のインスタンスを、以下「サーブレットオブジェクト２４２３Ａ」という。
【００４１】
同期イベントコントローラクラス２４２４は、操作部１０において検知されたイベントに基づく処理制御を実現するクラスである。同期イベントコントローラクラス２４２４は、イベントメソッドを有する。イベントメソッドは、操作部１０において検知されたイベントを受け取るためのメソッドである。同期イベントコントローラクラス２４２４のインスタンスを、以下「同期イベントコントローラオブジェクト２４２４Ａ」という。
【００４２】
なお、図６において、ロジッククラス２５は、上記のロジック部を表現するクラスである。ロジッククラス２５は、処理メソッドを有する。処理メソッドは、イベントに応じた処理を実行するためのメソッドである。
【００４３】
以下、画像形成装置１の処理手順について説明する。図７は、操作部とコントローラ部との非同期通信処理を説明するためのシーケンス図である。
【００４４】
例えば、画像形成装置１が起動されると、操作部１０におけるソケットオブジェクト１４０１Ａは、待ち受けサーバオブジェクト２４１２Ａの接続メソッドを呼び出すことにより、ソケット通信（非同期通信）の接続要求を行う（Ｓ１０１）。待ち受けサーバオブジェクト２４１２Ａは、接続メソッドの呼び出しに応じ、サーバソケットオブジェクト２４１３Ａと非同期イベントコントローラオブジェクト２４１４Ａとをインスタンス化する（Ｓ１０２、Ｓ１０３）。以上によってコンテンツ表示プラグイン１４とＵＩバンドル２４１との間に非同期通信のためのソケットが開設される。コンテンツ表示プラグイン１４におけるソケットオブジェクト１４０１Ａは受信待ち状態となる。
【００４５】
その後、例えば、スキャナ２０４やプロッタ２０５の状態の変化や異常の発生等が検知されると、当該イベント（非同期イベント）を検知したモジュールによって非同期イベントコントローラオブジェクト２４１４Ａのイベント通知メソッドが呼び出される（Ｓ１１１）。イベント通知メソッドの引数には、非同期イベントの内容を示すＸＭＬデータ（以下「イベントＸＭＬ」という。）が指定される。非同期イベントコントローラオブジェクト２４１４Aは、イベントＸＭＬを引数に指定してサーバソケットオブジェクト２４１３Ａの送信メソッドを呼び出すことにより、イベントＸＭＬの送信をサーバソケットオブジェクト２４１３Ａに要求する（Ｓ１１２）。サーバソケットオブジェクト２４１３Ａは、送信メソッドの呼び出しに応じ、イベントＸＭＬをソケット通信によってソケットオブジェクト１４０１Ａに送信する（Ｓ１１３）。
【００４６】
イベントＸＭＬが受信されると、ソケットオブジェクト１４０１Ａは、イベントＸＭＬを引数に指定してＸＭＬ変換オブジェクト１４０３Ａのイベントメソッドを呼び出す（Ｓ１１４）。ＸＭＬ変換オブジェクト１４０３Ａは、イベントメソッドの呼び出しに応じ、引数に指定されたイベントＸＭＬの内容に応じた中間データオブジェクト１４０５Ａを生成する（Ｓ１１５）。したがって、ここで生成される中間データオブジェクト１４０５Ａは、コントローラ部２０における非同期イベントの内容を示す。続いて、ＸＭＬ変換オブジェクト１４０５Ａは、生成した中間データオブジェクト１４０５Ａ（イベントオブジェクト）を引数に指定して、表示制御オブジェクト１４０４Ａのイベントメソッドを呼び出す（Ｓ１１６）。
【００４７】
表示制御オブジェクト１４０１Ａは、イベントメソッドの呼び出しに応じ、引数に指定された中間データオブジェクト１４０５Ａの内容を解析し、その内容（非同期イベント）に応じた処理を実行する（Ｓ１１７）。例えば、コンテンツ１５に対して非同期イベントを通知したり、表示対象とするコンテンツ１５を更新したり（表示画面の遷移）する。これによって、Ｗｅｂブラウザ１３による表示内容、すなわち、タッチパネル３１１に表示される表示内容が更新される。
【００４８】
このように、本実施の形態における画像形成装置１によれば、Ｗｅｂブラウザ１３とは非同期に又は無関係に発生するイベントに応じて、Ｗｅｂブラウザ１３による表示内容を更新することができる。
【００４９】
次に、同期通信処理について説明する。図８は、操作部とコントローラ部との同期通信処理を説明するためのシーケンス図である。
【００５０】
例えば、タッチパネル３１１を介してコンテンツ１５に対する入力が行われたり、オペレーションパネル１０４における各種のボタンが操作されたりすると、そのイベント（以下「操作イベント」という）は表示制御オブジェクト１４０４Ａに通知される（Ｓ２０１）。表示制御オブジェクト１４０４Ａは、当該イベントに応じた中間データオブジェクト１４０５Ａ（イベントオブジェクト）を引数に指定して、ＸＭＬ変換オブジェクト１４０３ＡのＸＭＬ化メソッドを呼び出す（Ｓ２０２）。ＸＭＬ化メソッドの呼び出しに応じ、ＸＭＬ変換オブジェクト１４０３は、引数に指定されたイベントオブジェクトをＸＭＬデータ（イベントＸＭＬ）に変換する（Ｓ２０３）。続いて、ＸＭＬ変換オブジェクト１４０３は、変換によって生成されたイベントＸＭＬを引数に指定して接続オブジェクト１４０２Ａの送信メソッドを呼び出す（Ｓ２０４）。送信メソッドの呼び出しに応じ、接続オブジェクト１４０２Ａは、引数に指定されたイベントＸＭＬの内容を示すデータ（以下「イベントデータ」という。）を引数に指定し、ＨＴＴＰソケットオブジェクト１３０１Ａの送信メソッドを呼び出す（Ｓ２０５）。ＨＴＴＰソケットオブジェクト１３０１Ａは、イベントデータを含むＨＴＴＰリクエストをサーブレットオブジェクト２４２３Ａに対して送信する（Ｓ２０６）。
【００５１】
サーブレットオブジェクト２４２３Ａは、ＨＴＴＰリクエストを受信すると、当該ＨＴＴＰリクエストに含まれているイベントデータをＸＭＬデータ化し、当該ＸＭＬデータ（イベントＸＭＬ）を引数に指定して同期イベントコントローラオブジェクト２４２４Ａのイベント通知メソッドを呼び出す（Ｓ２０７）。同期イベントコントローラ２４２４Ａのイベント通知メソッドは、イベントＸＭＬに示されている操作イベントに応じたロジックオブジェクト２５Ａの処理メソッドを呼び出す（Ｓ２０８）。ロジックオブジェクト２５Ａは、操作イベントに応じた処理を制御する（Ｓ２０９）。例えば、操作イベントがコピーの実行指示であった場合は、スキャナ２０４によって原稿の画像を読み込み、当該画像をプロッタ２０５より出力するための処理を制御する。当該処理制御の実行結果を示すデータ（結果データ）は、処理メソッドの戻り値として同期イベントコントローラオブジェクト２４２４Ａに返却される（Ｓ２１０）。同期イベントコントローラオブジェクト２４２４Ａは、結果データに基づいて、画面遷移の要否を判定する（Ｓ２１１）。同期イベントコントローラオブジェクト２４２４Ａは、画面遷移の必要性があると判定すると、遷移先の画面に係るコンテンツ１５の識別情報（例えば、ＵＲＬ）を含むイベントデータを、イベント通知メソッドの戻り値としてサーブレットオブジェクト２４２３Ａに返却する。サーブレットオブジェクト２４２３Ａは、当該イベントデータを含むＨＴＴＰレスポンスをＨＴＴＰソケットオブジェクト１３０１Ａに対して送信する（Ｓ２１３）。
【００５２】
ＨＴＴＰレスポンスを受信すると、ＨＴＴＰソケットオブジェクト１３０１Ａは、当該ＨＴＴＰレスポンスに含まれているイベントデータを引数に指定して、接続オブジェクト１４０２Ａのイベントメソッドを呼び出す（Ｓ２１４）。イベントメソッドの呼び出しに応じ、接続オブジェクト１４０２Ａは、イベントデータの内容を示すＸＭＬデータを引数に指定して、ＸＭＬ変換オブジェクト１４０３Ａのイベントメソッドを呼び出す（Ｓ２１５）。
【００５３】
イベントメソッドの呼び出しに応じ、ＸＭＬ変換オブジェクト１４０３Ａは、引数に指定されたＸＭＬデータの内容に応じた中間データオブジェクト１４０５Ａを生成する（Ｓ２１６）。したがって、ここで生成される中間データオブジェクト１４０５Ａは、遷移先のコンテンツ１５の識別情報を含む。続いて、ＸＭＬ変換オブジェクト１４０５Ａは、生成した中間データオブジェクト１４０５Ａ（イベントオブジェクト）を引数に指定して、表示制御オブジェクト１４０４Ａのイベントメソッドを呼び出す（Ｓ２１７）。
【００５４】
イベントメソッドの呼び出しに応じ、表示制御オブジェクト１４０４Ａは、引数に指定されたイベントオブジェクトの内容を解析する。解析の結果、画面遷移の必要があることを判定すると、表示制御オブジェクト１４０４Ａは、自らの画面遷移メソッドを呼び出す（Ｓ２１８）。画面遷移メソッドが呼び出されると、表示制御オブジェクト１４０４Ａは、遷移先のコンテンツ１５の取得要求をコンテンツサーバ２６に要求する（Ｓ２１９）。ここで、コンテンツサーバ２６は、コンテンツ１５を管理するソフトウェアである。コンテンツサーバ２６は、要求されたコンテンツ１５を取り出し、当該コンテンツ１５を表示制御オブジェクト１４０４Ａに送信する（Ｓ２２０）。なお、コンテンツサーバ２６は、画像形成装置１内に実装されていてもよいし、画像形成装置１とネットワークを介して接続するコンピュータにおいて実装されていてもよい。
【００５５】
表示制御オブジェクト１４０４Ａは、コンテンツ１５を受信すると、自らの表示メソッドを呼び出すことにより、当該コンテンツ１５の表示処理を実行する（Ｓ２２１）。これによって、コンテンツ１５は、コンテンツ表示プラグイン１４において表示又は再生される。
【００５６】
このように、本実施の形態における画像形成装置１によれば、オペレーションパネル１０４等に対する入力に応じて、Ｗｅｂブラウザ１３の表示内容を更新することができる。
【００５７】
なお、本実施の形態では、操作部１０と、コントローラ部２０とが一つの画像形成装置１内に実装されている例を示したが、操作部１０は、ネットワークを介して接続する他の画像形成装置又はコンピュータに実装されたコントローラ部２０と通信してもよい。この場合、同期通信においてはＷｅｂブラウザ１３によるＨＴＴＰＳ通信を利用することができるため、暗号化を行うための処理を改めて実装することなく同期通信のセキュリティを確保することができる。
【００５８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】オペレーションパネルの例を示す図である。
【図３】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図４】操作部とコントローラ部との通信機能の構成例を示す図である。
【図５】コンテンツ表示プラグインのクラス図の一例である。
【図６】ＵＩバンドル及びＨＴＴＰサーババンドルのクラス図の一例である。
【図７】操作部とコントローラ部との非同期通信処理を説明するためのシーケンス図である。
【図８】操作部とコントローラ部との同期通信処理を説明するためのシーケンス図である。
【符号の説明】
【００６０】
１          画像形成装置
１０        操作部
１１        ＯＳ
１２        ウィンドウシステム
１３        Ｗｅｂブラウザ
１４        コンテンツ表示プラグイン
１５        コンテンツ
２０        コントローラ部
２１        ＯＳ
２２        Ｊａｖａ（登録商標）ＶＭ
２３        ＯＳＧｉフレームワーク
２４        バンドル
２５        ロジッククラス
２５Ａ      ロジックオブジェクト
１０１      ＲＯＭ
１０２      ＲＡＭ
１０３      ＣＰＵ
１０４      オペレーションパネル
１３１      ＨＴＴＰソケット
１４１      ソケット
２０１      ＲＯＭ
２０２      ＲＡＭ
２０３      ＣＰＵ
２０４      スキャナ
２０５      プロッタ
２０６      ＨＤＤ
２４１      ＵＩバンドル
２４２      ＨＴＴＰサーババンドル
３１１      タッチパネル
３１２      テンキー
３１３      スタートボタン
３１４      リセットボタン
３１５      機能キー
３１６      初期設定ボタン
１４０１    ソケットクラス
１４０２    接続クラス
１４０３    ＸＭＬ変換クラス
１４０４    表示制御クラス
１４０５    中間データクラス
２４１１    サーバソケット
２４１２    待ち受けサーバクラス
２４１３    サーバソケットクラス
２４１４    非同期イベントコントローラクラス
２４２１    サーブレット
２４２２    ＨＴＴＰサーブレットクラス
２４２３    サーブレットクラス２４２３
２４２４    同期イベントコントローラクラス
１４０１Ａ  ソケットオブジェクト
１４０２Ａ  接続オブジェクト
１４０３Ａ  ＸＭＬ変換オブジェクト
１４０４Ａ  表示制御オブジェクト
１４０５Ａ  中間データオブジェクト
２４１１Ａ  サーバソケット
２４１２Ａ  待ち受けサーバオブジェクト
２４１３Ａ  サーバソケットオブジェクト
２４１４Ａ  非同期イベントコントローラオブジェクト
２４２１Ａ  サーブレット
２４２２Ａ  ＨＴＴＰサーブレットオブジェクト
２４２３Ａ  サーブレットオブジェクト２４２３
２４２４Ａ  同期イベントコントローラオブジェクト
【図１】
2008131388.tif 000003
【図２】
2008131388.tif 000004
【図３】
2008131388.tif 000005
【図４】
2008131388.tif 000006
【図５】
2008131388.tif 000007
【図６】
2008131388.tif 000008
【図７】
2008131388.tif 000009
【図８】
2008131388.tif 000010