(57)【要約】【課題】Ｗｅｂブラウザ側からのリクエストとは非同期にＷｅｂブラウザ側の表示状態を適切に更新することのできる情報処理装置、Ｗｅｂサーバ装置、Ｗｅｂページ更新方法、及びプログラムの提供を目的とする。【解決手段】Ｗｅｂページを提供するＷｅｂサーバ手段よりＷｅｂページを受信し、該Ｗｅｂページを表示装置に表示させるＷｅｂページ表示手段と、少なくとも前記Ｗｅｂページの更新要求の受信を待機する更新要求待機手段と、前記更新要求待機手段による前記Ｗｅｂサーバ手段からの前記更新要求の受信に応じ、前記Ｗｅｂページ表示手段にＷｅｂページの更新要求を通知する更新要求通知手段とを有し、前記Ｗｅｂページ表示手段は、通知された更新要求に応じ、表示中のＷｅｂページの定義内容に基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求し、返信されたＷｅｂページを該表示装置に表示させる。【選択図】図３
2010128802.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂページを提供するＷｅｂサーバ手段よりＷｅｂページを受信し、該Ｗｅｂページを表示装置に表示させるＷｅｂページ表示手段と、
少なくとも前記Ｗｅｂページの更新要求の受信を待機する更新要求待機手段と、
前記更新要求待機手段による前記Ｗｅｂサーバ手段からの前記更新要求の受信に応じ、前記Ｗｅｂページ表示手段にＷｅｂページの更新要求を通知する更新要求通知手段とを有し、
前記Ｗｅｂページ表示手段は、通知された更新要求に応じ、表示中のＷｅｂページの定義内容に基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求し、返信されたＷｅｂページを該表示装置に表示させる情報処理装置。
【請求項２】
前記Ｗｅｂページ表示手段は、表示中のＷｅｂページに含まれているスクリプトプログラムに基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求する請求項１記載の情報処理装置。
【請求項３】
前記更新要求待機手段は、前記更新要求を示すＵＲＬを含むＨＴＴＰリクエストを前記Ｗｅｂサーバ手段より受信する請求項１又は２記載の情報処理装置。
【請求項４】
前記Ｗｅｂサーバ手段を有する請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
前記Ｗｅｂサーバ手段は、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求とは非同期に発生する所定の事象の発生に応じ、該事象に対応したＷｅｂページを生成又は取得するＷｅｂページ取得手段と、
前記Ｗｅｂページの更新要求を前記更新要求待機手段に送信する更新要求送信手段と、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求に応じ、前記Ｗｅｂページ取得手段によって生成又は取得されたＷｅｂページを前記Ｗｅｂページ表示手段に返信するＷｅｂページ返信手段とを有する請求項４記載の情報処理装置。
【請求項６】
請求項１乃至３いずれか一項記載の情報処理装置とネットワークを介して接続し、前記Ｗｅｂサーバ手段を有するＷｅｂサーバ装置であって、
前記Ｗｅｂサーバ手段は、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求とは非同期に発生する所定の事象の発生に応じ、該事象に対応したＷｅｂページを生成又は取得するＷｅｂページ取得手段と、
前記Ｗｅｂページの更新要求を前記更新要求待機手段に送信する更新要求送信手段と、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求に応じ、前記Ｗｅｂページ取得手段によって生成又は取得されたＷｅｂページを前記Ｗｅｂページ表示手段に返信するＷｅｂページ返信手段とを有するＷｅｂサーバ装置。
【請求項７】
コンピュータが実行するＷｅｂページ更新方法であって、
Ｗｅｂページ表示手段が、Ｗｅｂページを提供するＷｅｂサーバ手段よりＷｅｂページを受信し、該Ｗｅｂページを表示装置に表示させるＷｅｂページ表示手順と、
更新要求待機手段が、少なくとも前記Ｗｅｂページの更新要求の受信を待機する更新要求待機手順と、
前記更新要求待機手段による前記Ｗｅｂサーバ手段からの前記更新要求の受信に応じ、前記Ｗｅｂページ表示手段にＷｅｂページの更新要求を通知する更新要求通知手順とを有し、
前記Ｗｅｂページ表示手段は、通知された更新要求に応じ、表示中のＷｅｂページの定義内容に基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求し、返信されたＷｅｂページを該表示装置に表示させるＷｅｂページ更新方法。
【請求項８】
前記Ｗｅｂページ表示手順は、表示中のＷｅｂページに含まれているスクリプトプログラムに基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求する請求項７記載のＷｅｂページ更新方法。
【請求項９】
前記更新要求待機手順は、前記更新要求を示すＵＲＬを含むＨＴＴＰリクエストを前記Ｗｅｂサーバ手段より受信する請求項７又は８記載のＷｅｂページ更新方法。
【請求項１０】
前記コンピュータは、前記Ｗｅｂサーバ手段を有する請求項７乃至９いずれか一項記載のＷｅｂページ更新方法。
【請求項１１】
前記Ｗｅｂサーバ手段は、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求とは非同期に発生する所定の事象の発生に応じ、該事象に対応したＷｅｂページを生成又は取得するＷｅｂページ取得手順と、
前記Ｗｅｂページの更新要求を前記更新要求待機手段に送信する更新要求送信手順と、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求に応じ、前記Ｗｅｂページ取得手順において生成又は取得されたＷｅｂページを前記Ｗｅｂページ表示手段に返信するＷｅｂページ返信手順とを実行する請求項１０記載のＷｅｂページ更新方法。
【請求項１２】
請求項１乃至３いずれか一項記載の情報処理装置とネットワークを介して接続し、前記Ｗｅｂサーバ手段を有するコンピュータが実行するＷｅｂページ更新方法であって、
前記Ｗｅｂサーバ手段は、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求とは非同期に発生する所定の事象の発生に応じ、該事象に対応したＷｅｂページを生成又は取得するＷｅｂページ取得手順と、
前記Ｗｅｂページの更新要求を前記更新要求待機手段に送信する更新要求送信手順と、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求に応じ、前記Ｗｅｂページ取得手順において生成又は取得されたＷｅｂページを前記Ｗｅｂページ表示手段に返信するＷｅｂページ返信手順とを実行するＷｅｂページ更新方法。
【請求項１３】
コンピュータを、
Ｗｅｂページを提供するＷｅｂサーバ手段よりＷｅｂページを受信し、該Ｗｅｂページを表示装置に表示させるＷｅｂページ表示手段と、
少なくとも前記Ｗｅｂページの更新要求の受信を待機する更新要求待機手段と、
前記更新要求待機手段による前記Ｗｅｂサーバ手段からの前記更新要求の受信に応じ、前記Ｗｅｂページ表示手段にＷｅｂページの更新要求を通知する更新要求通知手段として機能させ、
前記Ｗｅｂページ表示手段は、通知された更新要求に応じ、表示中のＷｅｂページの定義内容に基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求し、返信されたＷｅｂページを該表示装置に表示させるプログラム。
【請求項１４】
前記Ｗｅｂページ表示手段は、表示中のＷｅｂページに含まれているスクリプトプログラムに基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求する請求項１３記載のプログラム。
【請求項１５】
前記更新要求待機手段は、前記更新要求を示すＵＲＬを含むＨＴＴＰリクエストを前記Ｗｅｂサーバ手段より受信する請求項１３又は１４記載のプログラム。
【請求項１６】
前記コンピュータを、更に、前記Ｗｅｂサーバ手段として機能させる請求項１２乃至１５いずれか一項記載のプログラム。
【請求項１７】
前記Ｗｅｂサーバ手段は、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求とは非同期に発生する所定の事象の発生に応じ、該事象に対応したＷｅｂページを生成又は取得するＷｅｂページ取得手段と、
前記Ｗｅｂページの更新要求を前記更新要求待機手段に送信する更新要求送信手段と、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求に応じ、前記Ｗｅｂページ取得手段によって生成又は取得されたＷｅｂページを前記Ｗｅｂページ表示手段に返信するＷｅｂページ返信手段とを有する請求項１６記載のプログラム。
【請求項１８】
請求項１乃至３いずれか一項記載のコンピュータとネットワークを介して接続するコンピュータを前記Ｗｅｂサーバ手段として機能させるプログラムであって、
前記Ｗｅｂサーバ手段は、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求とは非同期に発生する所定の事象の発生に応じ、該事象に対応したＷｅｂページを生成又は取得するＷｅｂページ取得手段と、
前記Ｗｅｂページの更新要求を前記更新要求待機手段に送信する更新要求送信手段と、
前記Ｗｅｂページ表示手段からのＷｅｂページの送信要求に応じ、前記Ｗｅｂページ取得手段によって生成又は取得されたＷｅｂページを前記Ｗｅｂページ表示手段に返信するＷｅｂページ返信手段とを有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、Ｗｅｂサーバ装置、Ｗｅｂページ更新方法、及びプログラムに関し、特にＷｅｂページを表示させる情報処理装置、Ｗｅｂサーバ装置、Ｗｅｂページ更新方法、及びプログラムに関する。
【背景技術】
【０００２】
一般的なＷｅｂシステムにおいて、ＷｅｂブラウザとＷｅｂサーバ（ＨＴＴＰサーバ）との間の通信プロトコルとしてＨＴＴＰ（HyperText Transfer Protocol）が採用されている。ＨＴＴＰにおいて通信を開始させることができるのはＷｅｂブラウザ側である。すなわち、ＨＴＴＰでは、ＷｅｂブラウザからのＨＴＴＰリクエストと、当該ＨＴＴＰリクエストに応じてＷｅｂサーバより返信されるＨＴＴＰレスポンスとによって一つの通信が完結する。したがって、ＨＴＴＰリクエストとは非同期にＷｅｂサーバ側で発生したイベントに基づいてＷｅｂブラウザの表示状態を変更することは困難であった。
【０００３】
そこで、従来、Ａｊａｘ（Asynchronous Java（登録商標）Script + XML）等の技術により、ＨＴＴＰリクエストとは非同期な通信が可能とされている。
【特許文献１】特開２００８−１３１３８８号公報
【特許文献２】特開２０００‐０２０４２３号公報
【特許文献３】特開２００４‐１１０１１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像形成装置等の組み込み機器に組み込まれたＷｅｂブラウザの場合、機能が制限されているため、Ａｊａｘのような先進的な技術を利用できない場合がある。また、上記各特許文献の技術によれば、Ｗｅｂブラウザ側に非同期再描画用のネットワーク通信部を専用に設ける必要がある。しかし、組み込み機器に組み込まれた、特に他社製のＷｅｂブラウザに新たな機能を実装するのは非常に困難である。その結果、Ａｊａｘや上記特許文献に記載された技術を利用できない環境では、Ｗｅｂブラウザ側の表示画面を非同期に遷移させることができないという問題がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、Ｗｅｂブラウザ側からのリクエストとは非同期にＷｅｂブラウザ側の表示状態を適切に更新することのできる情報処理装置、Ｗｅｂサーバ装置、Ｗｅｂページ更新方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、Ｗｅｂページを提供するＷｅｂサーバ手段よりＷｅｂページを受信し、該Ｗｅｂページを表示装置に表示させるＷｅｂページ表示手段と、少なくとも前記Ｗｅｂページの更新要求の受信を待機する更新要求待機手段と、前記更新要求待機手段による前記Ｗｅｂサーバ手段からの前記更新要求の受信に応じ、前記Ｗｅｂページ表示手段にＷｅｂページの更新要求を通知する更新要求通知手段とを有し、前記Ｗｅｂページ表示手段は、通知された更新要求に応じ、表示中のＷｅｂページの定義内容に基づいて前記Ｗｅｂサーバ手段にＷｅｂページの送信を要求し、返信されたＷｅｂページを該表示装置に表示させることを特徴とする。
【０００７】
このような情報処理装置では、Ｗｅｂブラウザ側からのリクエストとは非同期にＷｅｂブラウザ側の表示状態を適切に更新することができる。
【発明の効果】
【０００８】
本発明によれば、Ｗｅｂブラウザ側からのリクエストとは非同期にＷｅｂブラウザ側の表示状態を適切に更新することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、画像形成装置を情報処理装置の一例として説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において、画像形成装置１０は、いわゆるスキャナ装置であり、コントローラ１１、スキャナ１２、ネットワークインタフェース１３、操作パネル１４等のハードウェアを有する。
【００１０】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等より構成される。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、スキャンされた画像データ等が保存される。
【００１１】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。ネットワークインタフェース１３は、ＬＡＮ（Local Area Network）等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。操作パネル１４は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル（表示装置）等を備えたハードウェアである。
【００１２】
また、画像形成装置１０には、ＵＳＢ（Universal Serial Bus）ケーブル等を介してＳＤカードリーダ１５が接続されている。ＳＤカードリーダ１５は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ１１２にロードされ、実行される。なお、ＳＤカードリーダ１５は画像形成装置１０に内蔵されていてもよい。
【００１３】
図２は、本発明の実施の形態における画像形成装置において利用されるソフトウェア構成例を示す図である。同図における各プログラムの上下関係は、ＲＯＭ１１３及びＳＤカード８０に記録されたプログラムが、ＲＡＭ１１２にロードされたときの関係を示している。
【００１４】
ＳＤカード８０には、ＪＶＭ８１、ＯＳＧｉフレームワーク８２、ＳＤＫプラットフォーム８３、ＳＤＫアプリ８４、及びＳＤＫ起動部８５等が格納されている。
【００１５】
ＪＶＭ８１は、いわゆるＪａｖａ（登録商標）仮想マシン（Java（登録商標） Virtual Machine）であり、Ｊａｖａ（登録商標）バイトコードをＯＳ２１上で動作可能なネイティブコードに変換して実行する。なお、ＪＶＭ８１より上の層に図示されているソフトウェアは、Ｊａｖａ（登録商標）のバイトコードによって実装されたものである。
【００１６】
ＯＳＧｉフレームワーク８２は、ＯＳＧｉ（Open Services Gateway Initiative）アライアンスによる標準化技術であり、Ｊａｖａ（登録商標）言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。ＯＳＧｉフレームワーク８２上において、Ｊａｖａ（登録商標）言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのＪＡＲ（Java（登録商標） ARchive）ファイルによって構成され、それぞれ独立して動的に（装置の再起動を要することなく）インストール可能である。
【００１７】
ＳＤＫアプリ８４は、専用のＳＤＫ（ソフトウェア開発キット）によって提供されるＡＰＩ（Application Program Interface）（ＳＤＫ  ＡＰＩ）を利用して実装されたアプリケーションプログラムである。同図では、ＳＤＫアプリ８４として、アプリＡ、アプリＢ、及びアプリＣ等が例示されている。
【００１８】
ＳＤＫプラットフォーム８３は、ＳＤＫ  ＡＰＩを介してＳＤＫアプリ８４の実行環境を提供するソフトウェアプラットフォームである。なお、ＳＤＫ  ＡＰＩは外部に公開されている。したがって、ＳＤＫアプリ８４はサードベンダ等によっても実装されうる。
【００１９】
ＳＤＫ起動部８５は、ＳＤカード８０に記録されたプログラムをＲＡＭ１１２にロードし、起動する。
【００２０】
一方、画像形成装置１０のＲＯＭ１１３には、ＯＳ２１、コピーモジュール２２、スキャンモジュール２３、印刷モジュール２４、ＦＡＸモジュール２５、ＳＤＫロード部２６、フレームワーク２７、Ｗｅｂブラウザ３０、ＨＴＴＰサーバ４０、ＡＰＩ５０、コピーＵＩ６１、Ｅ−ｍａｉｌＵＩ６２、フォルダＵＩ６３、ＦＡＸＵＩ６４、及びＳＤＫＵＩ６５等が格納されている。
【００２１】
ＯＳ２１は、いわゆるＯＳ（Operating System）である。コピーモジュール２２は、画像データのコピーを制御するプログラムモジュールである。スキャンモジュール２３は、画像データのスキャンを制御するプログラムモジュールである。印刷モジュール２４は、画像データの印刷を制御するプログラムモジュールである。ＦＡＸモジュール２５は、画像データのＦＡＸ送信を制御するプログラムモジュールである。
【００２２】
ＳＤＫロード部２６は、画像形成装置１０の起動に応じて呼び出され、ＳＤカード８０のマウント、ＳＤＫ起動部８５のＲＡＭ１１２へのロード、及びＳＤＫ起動部８５の実行等を行う。フレームワーク２７は、画像形成装置１０におけるプログラムの実行環境を提供する。Ｗｅｂブラウザ３０は、いわゆるＷｅｂブラウザであり、操作パネル１４の表示制御を行う。すなわち、操作パネル１４には、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプトプログラム等をも含むＨＴＭＬ（HyperText Markup Language）データ（Ｗｅｂページ）が各種の操作画面として表示される。ＨＴＴＰサーバ４０は、Ｗｅｂブラウザ４０からの要求（ＨＴＴＰリクエスト）に応じた処理を制御し、その応答（ＨＴＴＰレスポンス）をＷｅｂブラウザ３０に返信する。
【００２３】
ＡＰＩ５０は、ＲＯＭ１１３に格納された各プログラムに対するＡＰＩ（Application Program Interface）である。
【００２４】
コピーＵＩ６１、Ｅ−ｍａｉｌＵＩ６２、フォルダＵＩ６３、ＦＡＸＵＩ６４、及びＳＤＫＵＩ６５は、各種の操作画面の表示用データとしてのＨＴＭＬデータである。コピーＵＩ６１は、スキャンされた画像データをコピーするための操作画面を表示させるＨＴＭＬデータである。Ｅ−ｍａｉｌＵＩ６２は、スキャンされた画像データをメール送信するための操作画面を表示させるＨＴＭＬデータである。フォルダＵＩ６３は、スキャンされた画像データをファイルシステム上のフォルダに保存するための操作画面を表示させるＨＴＭＬデータである。ＦＡＸＵＩ６４は、スキャンされた画像データをＦＡＸ送信するための操作画面を表示させるＨＴＭＬデータである。これらのＵＩ（ＨＴＭＬデータ）の表示切り替えは、操作パネル１４においてＵＩごとに対応付けられたハードキーによって行われる。例えば、コピーＵＩ６１に対応するハードキーが押下されると、そのイベントはＷｅｂブラウザ３０に通知される。Ｗｅｂブラウザ３０は、当該イベントに対応したＵＲＬを含むＨＴＴＰリクエストをＨＴＴＰサーバ４０に送信する。ＨＴＴＰサーバ４０は、当該ＵＲＬに対応するコピーＵＩ６１を取得し、Ｗｅｂブラウザ３０に返信する。Ｗｅｂブラウザ３０は、返信されたコピーＵＩ６１を表示させる。
【００２５】
なお、本実施の形態における画像形成装置１０はスキャナ装置であるところ、コピー、印刷、ＦＡＸ送信等、スキャナ装置のみでは実現できない機能に関するプログラムモジュール又はＵＩを有する。これは、画像形成装置１０をプリンタ又はファクシミリ等とＵＳＢケーブル等によって接続した際の機能拡張を考慮してのことである。
【００２６】
ところで、Ｗｅｂブラウザ３０には、ＳＤＫアプリ８４の操作画面としてのＨＴＭＬデータも表示される。操作パネル１４においてＳＤＫＵＩ６５に対応するハードキーが押下されると、Ｗｅｂブラウザ３０によってＳＤＫＵＩ６５が表示される。ＳＤＫＵＩ６５の表示に応じ、ＳＤＫＵＩ６５に含まれているスクリプトプログラムが実行される。Ｗｅｂブラウザ３０は、当該スクリプトプログラム内に記載されているＵＲＬを含むＨＴＴＰリクエストをＳＤＫプラットフォーム８３に送信する。すなわち、ＳＤＫプラットフォームプラットフォーム８３内にもＨＴＴＰサーバに相当する機能が含まれている。なお、ＳＤＫプラットフォーム８３に含まれているＨＴＴＰサーバと、ＨＴＴＰサーバ４０とは、ポート番号が異なる。一方、ＳＤＫＵＩ６５のスクリプトプログラムに記載されているＵＲＬは、ＳＤＫプラットフォーム８３のＨＴＴＰサーバのポート番号を含んでいる。したがって、当該ＵＲＬを含むＨＴＴＰリクエストは、ＨＴＴＰサーバ４０によっては受信されない。
【００２７】
ＳＤＫプラットフォーム８３は、Ｗｅｂブラウザ３０からのＨＴＴＰリクエストを受信すると、当該ＨＴＴＰリクエストに含まれているＵＲＬに応じた処理として、例えば、ＳＤＫアプリ８４の一覧画面を表示させるＨＴＭＬデータ又はいずれかのＳＤＫアプリ８４の操作画面を表示させるＨＴＭＬデータを生成し、当該ＨＴＭＬデータを含むＨＴＴＰレスポンスをＷｅｂブラウザ３０に返信する。Ｗｅｂブラウザ３０は、ＨＴＴＰレスポンスの受信に応じ当該ＨＴＭＬデータを表示させる。これにより、ＳＤＫアプリ８４に関する操作画面が操作パネル１６に表示される。
【００２８】
ＳＤＫアプリ８４に関する各操作画面を表示させる各ＨＴＭＬデータは、当該操作画面に対する操作に応じたＨＴＴＰリクエストをＳＤＫプラットフォーム８３に対して送信するように構成されている。したがって、他のＵＩのハードキーが押下されない限り、その後の操作に応じたＨＴＴＰリクエストは、ＳＤＫプラットフォーム８３に送信され、ＳＤＫプラットフォーム８３又はＳＤＫアプリ８４による処理結果としてのＨＴＭＬデータがＷｅｂブラウザ３０に返信される。これによりＳＤＫアプリ８４に関する操作画面が遷移する。
【００２９】
以上のようにＷｅｂブラウザ３０を利用した表示制御では、一般的には、Ｗｅｂブラウザ３０からの要求（ＨＴＴＰリクエスト）が発生しない限り、操作パネル１４の表示状態は更新されない。本実施の形態では、Ｗｅｂブラウザ３０を利用した表示制御において、サーバ側（ＳＤＫプラットフォーム８３又はＳＤＫアプリ８４）の都合による任意のタイミングで操作パネル１４の表示状態を更新する例について説明する。
【００３０】
図３は、本実施の形態の画像形成装置における表示制御に関する機能構成例を示す図である。
【００３１】
同図には、ＳＤＫアプリ８４、ＳＤＫプラットフォーム８３、ＨＴＴＰサーバ４０、Ｗｅｂブラウザ３０、ハードキー制御部２７１、及びオペレーションパネル制御部２７２等が図２より抜粋されている。
【００３２】
同図において、ＳＤＫプラットフォーム８３は、ＧＵＩ制御部８３１、ＨＴＭＬ生成部８３２、画面データ保存部８３３、イベント制御部８３４、ネットワーク通信部８３５、及びネットワーク通信部８３６等を有する。
【００３３】
ＧＵＩ制御部８３１は、ＳＤＫアプリ８４からの要求に応じ、操作画面の生成や再描画（更新）等を行うための処理を制御する。ＨＴＭＬ生成部８３２は、ＧＵＩ制御部８３１からの要求に応じ、操作画面を表示させるＨＴＭＬデータの生成を行う。画面データ保存部８３３は、ＨＴＭＬ生成部８３２によって生成されたＨＴＭＬデータや、ＨＴＭＬデータ上に表示される画像データ等を保存するための記憶領域であり、例えば、ＨＤＤ１１４上に形成される。イベント制御部８３４は、ＧＵＩ制御部８３１等から通知されるイベントに応じた処理を制御する。ネットワーク通信部８３５は、イベント制御部８３４による制御に基づき、ＨＴＴＰサーバ４０に対して操作画面の再描画を要求するＨＴＴＰリクエストを送信する。
【００３４】
ネットワーク通信部８３６は、Ｗｅｂブラウザ３０からの所定のボート番号に係るＨＴＴＰリクエストの受信を待機している。ネットワーク通信部８３６は、Ｗｅｂブラウザ３０からのＨＴＴＰリクエストを受信すると、当該ＨＴＴＰリクエストに含まれているＵＲＬに対応するＨＴＭＬデータ等を画面データ保存部８３３より取得し、当該ＨＴＭＬデータ等をＷｅｂブラウザ３０に返信する。すなわち、ＳＤＫプラットフォーム８３は、ＨＴＴＰサーバ４０に対してはクライアントとして機能し、Ｗｅｂブラウザ３０に対してはサーバとして機能する。
【００３５】
また、ＨＴＴＰサーバ４０は、ネットワーク通信部４１、リクエスト処理部４２、及びハードキーイベント生起部４３等を有する。
【００３６】
ネットワーク通信部４１は、ＳＤＫプラットフォーム８３のネットワーク通信部８３５からの所定のポート番号（ネットワーク通信部８３６とは異なるポート番号）に係るＨＴＴＰリクエストの受信を待機している。ネットワーク通信部４１は、ネットワーク通信部８３５からのＨＴＴＰリクエストを受信すると、当該ＨＴＴＰリクエストに含まれているＵＲＬに応じた処理の実行をリクエスト処理部４２に要求する。リクエスト処理部４２は、ネットワーク通信部４１より要求された処理を実行する。例えば、リクエスト処理部４２は、プロセス間通信によって、ＨＴＭＬデータの再描画命令をＷｅｂブラウザ３０に送信したり、操作パネル１４を再描画させるためのハードキーイベントの生起をハードキーイベント生起部４３に要求したりする。当該プロセス間通信は、Ｗｅｂブラウザ３０が予め備えている手段を利用すればよい。なお、リクエスト処理部４２は、サーブレット（ｓｅｒｖｌｅｔ）、ＣＧＩ（Common Gateway Interface）、又はＰＨＰ（Hypertext Preprocessor）等、サーバサイドで動作するアプリケーションであればよい。ハードキーイベント生起部４３は、リクエスト処理部４２からの要求に応じ、操作パネル１４の再描画イベントの生起をハードキーイベント制御部８３４へ要求する。
【００３７】
ハードキーイベント制御部８３４は、操作パネル１４のハードキーを制御可能なドライバプログラムであり、要求されたハードキーイベントを生起させる。なお、ハードキーイベント制御部８３４は、図２におけるフレームワーク２７に含まれる。
【００３８】
更に、Ｗｅｂブラウザ３０は、イベント検知部３１、ネットワーク通信部３２、ＨＴＭＬ解読部３３、及び画面描画部３４等を有する。
【００３９】
イベント検知部３１は、ハードキーイベントを検知し、検知したハードキーイベントをＷｅｂブラウザ３０上で表示対象とされている（表示中の）ＨＴＭＬデータに含まれているスクリプトプログラム３０１に入力する。
【００４０】
スクリプトプログラム３０１は、リクエスト処理部４２からのプロセス間通信を介した再描画命令やイベント検知部３１からのハードキーイベントの通知等に応じ、対応した処理をＷｅｂブラウザ３０に実行させる。例えば、再描画による遷移先の操作画面（ＨＴＭＬデータ）に対応するＵＲＬに係るＨＴＴＰリクエストをネットワーク通信部３２に送信させる。なお、ハードキー制御部２７１によって生起されるイベントは再描画を生じさせるイベントに限られない。ハードキー制御部２７１は要求されたイベントを生起させるに過ぎず、イベントに応じて操作画面の再描画を実行させるか否かについては、スクリプトプログラム３０１の定義に依存する。
【００４１】
ネットワーク通信部３２は、スクリプトプログラム３０１による要求や、ＨＴＭＬデータに含まれているハイパーリンク等に基づくＨＴＴＰリクエストをＳＤＫプラットフォーム８３のネットワーク通信部８３６に送信し、当該ＨＴＴＰリクエストに応じて返信されるＨＴＭＬデータ等を受信する。ＨＴＭＬ解読部３３は、ネットワーク通信部３２によって受信されるＨＴＭＬデータを解読し、画面描画部３４へ操作画面の描画を要求する。
画面描画部３４は、ＨＴＭＬ解読部３３からの要求に応じ、オペレーションパネル制御部２７２に対し操作画面の描画命令を入力する。
【００４２】
オペレーションパネル制御部２７２は、入力される描画命令に応じ、操作画面（ＨＴＭＬデータ）を操作パネル１４に表示させる。オペレーションパネル制御部２７２は、また、操作パネル１４に表示された操作画面に対する入力イベントをＷｅｂブラウザ３０に通知したりする。当該イベントは、Ｗｅｂブラウザ３０のイベント検知部３１によって検知される。なお、オペレーションパネル制御部２７２は、図２におけるフレームワーク２７に含まれる。
【００４３】
以下、画像形成装置１０の処理手順について説明する。図４は、操作画面の表示制御に関する処理手順を説明するためのシーケンス図である。
【００４４】
例えば、ＳＤＫアプリ８４において、要求された処理の完了又は異常の発生等の所定の事象（イベント）の発生により、Ｗｅｂブラウザ３０からのＨＴＴＰリクエストとは非同期にオペレーションパネル１４の操作画面の更新（再描画）を実行する必要がある場合、ＳＤＫアプリ８４は、当該イベントに対応した操作画面の生成要求をＧＵＩ制御部８３１に入力する（Ｓ１０１）。当該生成要求には、例えば、生成対象とされる操作画面の識別情報（以下、「画面識別子」という。）が含まれている。
【００４５】
続いて、ＧＵＩ制御部８３１は、画面識別子に対応した操作画面を表示させるＨＴＭＬデータの生成をＨＴＭＬ生成部８３２に要求する（Ｓ１０２）。ＨＴＭＬ生成部８３２は、画面識別子に対応したＨＴＭＬデータを生成し、当該ＨＴＭＬデータを画面データ保存部８３３に保存しておく（Ｓ１０３）。但し、ＨＴＭＬデータは、予め画面識別子と対応付けられてＲＯＭ１１３若しくはＨＤＤ１１４、又はネットワークを介して接続するコンピュータに保存されていてもよい。この場合、ＨＴＭＬデータ生成部８３２は、画面識別子に対応するＨＴＭＬデータを保存元の記憶装置より取得し、画面データ保存部８３３に保存すればよい。
【００４６】
新たな操作画面の生成又は取得が完了すると、ＳＤＫアプリ８４は、操作画面の再描画要求をＧＵＩ制御部８３１に入力する（Ｓ１０４）。当該再描画要求に応じ、ＧＵＩ制御部８３１は、操作画面の再描画命令を示すＵＲＬ（例えば、「http://xxx.xxx.redraw」。以下、「再描画命令用ＵＲＬ」という。））をイベント制御部８３４に入力する（Ｓ１０５）。当該再描画要求に応じ、イベント制御部８３４は、ネットワーク制御部８３５に対して再描画命令用ＵＲＬを通知する（Ｓ１０６）。続いて、ネットワーク制御部８３５は、再描画命令用ＵＲＬを含むＨＴＴＰリクエストをＨＴＴＰサーバ４０のネットワーク通信部４１に送信する（Ｓ１０７）。
【００４７】
ネットワーク通信部４１は、ＳＤＫプラットフォーム８３からのＨＴＴＰリクエストを受信すると、当該ＨＴＴＰリクエストに含まれている再描画命令用ＵＲＬに応じた処理をリクエスト処理部４２に要求する（Ｓ１０８）。続いて、リクエスト処理部４２は、再描画命令ＵＲＬに基づいて、再描画イベントをＷｅｂブラウザ３０を介して、現在Ｗｅｂブラウザ３０上に表示されているＨＴＭＬデータに含まれているスクリプトプログラム３０１に通知する（Ｓ１０９）。より詳しくは、リクエスト処理部４２は、再描画イベントの生起要求をプロセス間通信によってＷｅｂブラウザ３０に送信する。当該要求に応じ、Ｗｅｂブラウザ３０は、再描画イベントをスクリプトプログラム３０１に入力する。
【００４８】
なお、ステップＳ１０７においてネットワーク通信部８３５より送信されるＨＴＴＰリクエストは、再描画命令を伝達するためのものであり、当該ＨＴＴＰリクエストに対する応答にはＨＴＴＰの通信を終了させる以外に特に意味はない。したがって、ネットワーク通信部４１は、空又はダミーのＨＴＭＬデータを含むＨＴＴＰレスポンスをステップＳ１０７のＨＴＴＰリクエストに対する応答として返信すればよい。当該ＨＴＴＰレスポンスを返信するタイミングは、リクエスト処理部４２に対して処理要求を行った直後、又はリクエスト処理部４２からの応答が返却された後等、任意のタイミングで行われればよい。
【００４９】
続いて、再描画イベントを入力されたスクリプトプログラム３０１は、再描画イベントに応じた処理として当該スクリプトプログラム３０１に定義されている処理を実行する。すなわち、再描画用のＨＴＭＬデータのＵＲＬ（以下、「再描画データ用ＵＲＬ」という。）をパラメータとして、新たなＨＴＭＬデータの取得をネットワーク通信部３２に要求する（Ｓ１１０）。なお、再描画データ用ＵＲＬは、スクリプトプログラム３０１内に予め定義されていてもよいし、再描画命令用ＵＲＬを再描画データ用ＵＲＬとして用いてもよい。また、本実施の形態においてスクリプトプログラム３０１に基づいて実行される処理は、ＨＴＭＬデータ内の他の定義内容に基づいて実行されてもよい。
【００５０】
続いて、ネットワーク通信部３２は、再描画データ用ＵＲＬを含むＨＴＴＰリクエストをＳＤＫプラットフォーム８３のネットワーク通信部８３６に送信する（Ｓ１１１）。ネットワーク通信部８３６は、ＨＴＴＰリクエストを受信すると、当該ＨＴＴＰリクエストに含まれている再描画データ用ＵＲＬに応じた処理を実行する。すなわち、画面データ保存部８３３に保存されているＨＴＭＬデータ（すなわち、ステップＳ１０３においてＨＴＭＬ生成部８３２によって保存されたＨＴＭＬデータ）を取得し（Ｓ１１２、Ｓ１１３）。当該ＨＴＭＬデータを含むＨＴＴＰレスポンスをＷｅｂブラウザ３０のネットワーク通信部３２に返信する（Ｓ１１４）。なお、ネットワーク通信部８３６は、取得したＨＴＭＬデータを画面データ保存部８３３より削除しておく。次回、再描画を行う際に再描画対象のＨＴＭＬデータを混同しないようにするためである。
【００５１】
続いて、ネットワーク通信部３２は、ＨＴＴＰレスポンスを受信すると、当該ＨＴＴＰレスポンスに含まれているＨＴＭＬデータをＨＴＭＬ解読部３３に入力する（Ｓ１１５）。ＨＴＭＬ解読部３３は、ＨＴＭＬデータを解読（解析）し、ＨＴＭＬデータの定義内容に基づいて、画面描画部３４に対して新たな操作画面の描画命令を入力する（Ｓ１１６）。画面描画部３４は、入力された描画命令をオペレーションパネル制御部２７２が解釈可能な形式に変換し、変換後の描画命令をオペレーションパネル制御部２７２に入力する（Ｓ１１７）。オペレーションパネル制御部２７２は、入力された描画命令に基づいて操作パネル１４に新たな操作画面を描画する。
【００５２】
以上によって、ＳＤＫアプリ８４をトリガーとした操作画面の更新（遷移）が行われる。なお、図４の例では、プロセス間通信によってリクエスト処理部４２からＷｅｂブラウザ３０に対して再描画イベントが通知される例について説明したが、再描画要求の通知方法はこれに限定されない。例えば、図３において説明したように、リクエスト処理部４２からハードキーイベント生起部４３及びハードキー制御部２７１を経由して、再描画を促すハードキーイベントをＷｅｂブラウザ３０に通知するようにしてもよい。この場合、当該ハードキーイベントはイベント検知部３１によって検知され、スクリプトプログラム３０１に通知される。
【００５３】
上述したように、本実施の形態の画像形成装置１０によれば、Ｗｅｂサーバ側（ＳＤＫプラットフォーム８３又はＳＤＫアプリ８４）において発生したイベント（事象）に基づいて、Ｗｅｂブラウザ３０側からのリクエストとは非同期にＷｅｂブラウザ３０の表示状態（表示画面）を更新することができる。
【００５４】
特に、本実施の形態では、非同期なイベントに応じたＷｅｂページの更新要求がＨＴＴＰサーバ４０によって受信されるため、Ｗｅｂブラウザ３０には斯かる機能を実現するための手段を実装する必要はない。したがって、Ｗｅｂブラウザ３０の改変が困難な環境において、特に有効である。
【００５５】
なお、一般的なＷｅｂシステムでは、Ｗｅｂサーバ（ＨＴＴＰサーバ）とＷｅｂブラウザとはネットワークを介している。本実施の形態を斯かるシステム構成に適用してもよい。
【００５６】
図５は、本実施の形態における機能構成をネットワークを介して接続された２台の機器に分散させた例を示す図である。図５中、図３と同一部分には同一符号を付し、その説明は省略する。
【００５７】
同図において、機器Ａ及び機器Ｂは、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）を介して接続されている。機器Ａは、Ｗｅｂサーバ装置に相当し、ＳＤＫプラットフォーム８３及びＳＤＫアプリ８４を有する。機器Ｂは、Ｗｅｂブラウザ３０、ＨＴＴＰサーバ４０、ハードキー制御部２７１、及びオペレーションパネル制御部２７２等を有する。
【００５８】
このように、ＳＤＫプラットフォーム８３とＨＴＴＰ４０及びＷｅｂブラウザ３０とがネットワークを介した場合であっても、各プログラムモジュールに変更を行う必要はない。これは、ＳＤＫプラットフォーム８３とＨＴＴＰ４０及びＷｅｂブラウザ３０との間のやりとりが、ネットワーク通信用のプロトコルであるＨＴＴＰによって行われているからである。
【００５９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置において利用されるソフトウェア構成例を示す図である。
【図３】本実施の形態の画像形成装置における表示制御に関する機能構成例を示す図である。
【図４】操作画面の表示制御に関する処理手順を説明するためのシーケンス図である。
【図５】本実施の形態における機能構成をネットワークを介して接続された２台の機器に分散させた例を示す図である。
【符号の説明】
【００６１】
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          ネットワークインタフェース
１４          操作パネル
１５          ＳＤカードリーダ
２１          ＯＳ
２２          コピーモジュール
２３          スキャンモジュール
２４          印刷モジュール
２５          ＦＡＸモジュール
２６          ＳＤＫロード部
２７          フレームワーク
３０          Ｗｅｂブラウザ
３１          イベント検知部
３２          ネットワーク通信部
３３          ＨＴＭＬ解読部
３４          画面描画部
４０          ＨＴＴＰサーバ
４１          ネットワーク通信部
４２          リクエスト処理部
４３          ハードキーイベント生起部
５０          ＡＰＩ
６１          コピーＵＩ
６２          Ｅ−ｍａｉｌＵＩ
６３          フォルダＵＩ
６４          ＦＡＸＵＩ
６５          ＳＤＫＵＩ
８１          ＪＶＭ
８２          ＯＳＧｉフレームワーク
８３          ＳＤＫプラットフォーム
８４          ＳＤＫアプリ
８５          ＳＤＫ起動部
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
８３１        ＧＵＩ制御部
８３２        ＨＴＭＬ生成部
８３３        画面データ保存部
８３４        イベント制御部
８３５        ネットワーク通信部
８３６        ネットワーク通信部
【図１】
2010128802.tif 000003
【図２】
2010128802.tif 000004
【図３】
2010128802.tif 000005
【図４】
2010128802.tif 000006
【図５】
2010128802.tif 000007