(57)【要約】【課題】Ｗｅｂアプリケーションにおいて、ハードウェアキーとソフトウェアキーとの両方を使用可能なネイティブアプリケーションと同様の操作性を実現する仕組みを提供する。【解決手段】本情報処理装置は、Ｗｅｂアプリケーションの画面情報であって、複数の処理が定義されたスクリプトを含む前記画面情報をサーバから取得し、取得した画面情報に従って操作部に画面を表示し、取得した画面情報に含まれるスクリプトを実行して、操作部に設けられた所定のハードウェアキーの制御を登録し、画面情報に従ってサーバが提供するアプリケーションの画面を操作部に表示している間に、所定のハードウェアキーが押下されると、登録した制御を実行する。また、所定のハードウェアキーの制御は、操作部に表示した画面に含まれるソフトウェアキーに関連付けて登録される。【選択図】図８
2014092996.tif 000002
【特許請求の範囲】
【請求項１】
サーバが提供するアプリケーションを実行する情報処理装置であって、
前記アプリケーションの画面情報であって、複数の処理が定義されたスクリプトを含む前記画面情報を前記サーバから取得する取得手段と、
前記取得手段によって取得した前記画面情報に従って操作部に画面を表示する表示制御手段と、
前記取得手段によって取得した前記画面情報に含まれる前記スクリプトを実行して、前記操作部に設けられた所定のハードウェアキーの制御を登録する登録手段と、
前記画面情報に従って前記サーバが提供するアプリケーションの画面を前記操作部に表示している間に、前記所定のハードウェアキーが押下されると、前記登録手段によって登録した制御を実行する実行手段と
を備え、
前記登録手段は、前記操作部に表示した画面に含まれるソフトウェアキーに関連付けて前記所定のハードウェアキーの制御を登録することを特徴とする情報処理装置。
【請求項２】
前記登録手段は、
前記表示制御手段によって前記操作部に表示されている前記アプリケーションの画面より上に他の画面が表示された場合に、該所定のハードウェアキーを使用不可に登録することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記登録手段は、
前記表示制御手段によって前記操作部に表示されている前記アプリケーションの画面より上に他の画面が表示された状態から、再び該アプリケーションの画面が最上面に表示された場合に、該所定のハードウェアキーを使用可能に登録することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記登録手段は、
前記表示制御手段によって前記操作部に表示されている前記アプリケーションの画面が閉じられる場合に、該所定のハードウェアキーを使用不可に登録することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記登録手段は、
前記所定のハードウェアキーを使用可能に登録する際には、該所定のハードウェアキーに設けられたＬＥＤ表示部を点灯させ、
前記所定のハードウェアキーを使用不可に登録する際には、前記ＬＥＤ表示部を消灯させることを特徴とする請求項２乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記所定のハードウェアキーの制御とは、該所定のハードウェアキーが押下された際に、関連付けられた前記ソフトウェアキーが押下されたときと同じ情報を前記サーバに通知する制御であることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記所定のハードウェアキーの制御とは、該所定のハードウェアキーが押下された際に、関連付けられた前記ソフトウェアキーが押下されたときと同じ情報を、前記アプリケーションを介して提供する前記情報処理装置の処理を実行する手段に通知する制御であることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項８】
前記所定のハードウェアキーとは、スタートキーであり、
前記アプリケーションは、前記スタートキーが押下されると、該アプリケーションを介して提供する前記情報処理装置の処理を開始させることを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
サーバが提供するアプリケーションを実行する情報処理装置の制御方法であって、
取得手段が、前記アプリケーションの画面情報であって、複数の処理が定義されたスクリプトを含む前記画面情報を前記サーバから取得する取得ステップと、
表示制御手段が、前記取得ステップにおいて取得した前記画面情報に従って操作部に画面を表示する表示制御ステップと、
登録手段が、前記取得ステップにおいて取得した前記画面情報に含まれる前記スクリプトを実行して、前記操作部に設けられた所定のハードウェアキーの制御を登録する登録ステップと、
実行手段が、前記画面情報に従って前記サーバが提供するアプリケーションの画面を前記操作部に表示している間に、前記所定のハードウェアキーが押下されると、前記登録ステップにおいて登録した制御を実行する実行ステップと
を実行し、
前記登録ステップは、前記操作部に表示した画面に含まれるソフトウェアキーに関連付けて前記所定のハードウェアキーの制御を登録することを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項９に記載された情報処理装置の制御方法における各ステップを、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバとネットワークを介して接続され、サーバにより提供される操作画面を表示するブラウザを備える情報処理装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
ＰＣなどの情報処理装置がネットワーク上のＷｅｂサーバに接続され、Ｗｅｂサーバにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）する。そして、Ｗｅｂサーバ上のＷｅｂアプリケーションが情報処理装置からの要求に応えて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬデータを情報処理装置に応答（レスポンス）する。情報処理装置のＷｅｂブラウザは、受信したＨＴＭＬデータを解析し、ＨＴＭＬデータの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００３】
最近ではスキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の中にも、上述したようなＷｅｂブラウザを備えているものがある。例えば、特許文献１には、ＭＦＰが備える各機能を利用するための操作画面を、Ｗｅｂサーバが提供することが提案されている。即ち、ＭＦＰのユーザは、Ｗｅｂブラウザ上に表示された操作画面を介して、ＭＦＰに対する指示を入力する。そして、入力された指示は、ＭＦＰのＷｅｂブラウザによってＷｅｂサーバに通知される。通知を受けたＷｅｂサーバは、ユーザから入力された指示の内容に従って、ＭＦＰに対して各種処理の実行を依頼する。そして、この依頼を受けたＭＦＰは、依頼された処理を実行する。これにより、ＭＦＰを操作するための全メニューデータをＭＦＰ内で保持しておく必要がなくなり、またメニューデータの変更もＷｅｂサーバ上で容易に行うことができるようになる。
【０００４】
また、特許文献２には、ＭＦＰに搭載されたハードウェアキー（スタートキー）の入力をＷｅｂブラウザ上に表示された操作画面より受け付けて、ＭＦＰに対する読み込みや出力などの処理を実現している。これにより、Ｗｅｂアプリケーションであっても通常のＭＦＰと同じ操作性を提供することが可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２７５０３号公報
【特許文献２】特開２０１１−１３０１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術には以下に記載する問題がある。例えば上記特許文献２の技術を採用したとしても、Ｗｅｂアプリケーションは、ＭＦＰに予め組み込まれているアプリケーション（以下では、ネイティブアプリケーションと称する。）で使用可能なハードウェアキー（スタートキー）とソフトウェアキーの関連付けを制御できない。そのため、Ｗｅｂアプリケーションの操作画面の中に複数のソフトウェアキーが含まれる場合、ユーザに対して通常のネイティブアプリケーションと同じ操作性を提供することが困難であった。
【０００７】
本発明は、上述の問題に鑑みて行われたものであり、Ｗｅｂアプリケーションにおいて、ハードウェアキーとソフトウェアキーとの両方を使用可能なネイティブアプリケーションと同様の操作性を実現する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、サーバが提供するアプリケーションを実行する情報処理装置であって、前記アプリケーションの画面情報であって、複数の処理が定義されたスクリプトを含む前記画面情報を前記サーバから取得する取得手段と、前記取得手段によって取得した前記画面情報に従って操作部に画面を表示する表示制御手段と、前記取得手段によって取得した前記画面情報に含まれる前記スクリプトを実行して、前記操作部に設けられた所定のハードウェアキーの制御を登録する登録手段と、前記画面情報に従って前記サーバが提供するアプリケーションの画面を前記操作部に表示している間に、前記所定のハードウェアキーが押下されると、前記登録手段によって登録した制御を実行する実行手段とを備え、前記登録手段は、前記操作部に表示した画面に含まれるソフトウェアキーに関連付けて前記所定のハードウェアキーの制御を登録することを特徴とする。
【発明の効果】
【０００９】
本発明は、Ｗｅｂアプリケーションにおいて、ハードウェアキーとソフトウェアキーとの両方を使用可能なネイティブアプリケーションと同様の操作性を実現する仕組みを提供できる。
【図面の簡単な説明】
【００１０】
【図１】ＭＦＰ１０１とサーバ１０２とを含む情報処理システムの全体構成を示す図。
【図２】ＭＦＰ１０１のハードウェア構成を示すブロック図。
【図３】操作部２１９の外観構成を示す図である。
【図４】サーバ１０２のハードウェア構成を示すブロック図。
【図５】ＭＦＰ１０１のソフトウェア構成を示すブロック図。
【図６】サーバ１０２のソフトウェア構成を示すブロック図。
【図７】ＭＦＰ１０１の操作部２１９に表示される画面の遷移を示す図。
【図８】情報処理システムで実行される処理のシーケンスを示す図。
【図９】スキャン設定画面７０１のＨＴＭＬデータの一例を示す図。
【図１０】スキャン要求メッセージの一例を示す図。
【図１１】ＳＯＡＰ要求メッセージの一例を示す図。
【図１２】Ｗｅｂブラウザ５００が実行するスキャン準備完了処理の手順を示すフローチャート。
【図１３】Ｗｅｂブラウザ５００がスタートキー３０３の入力を受け付けたときに実行する処理の手順を示すフローチャート。
【図１４】Ｗｅｂブラウザ５００がＷｅｂブラウザ５００とその他の画面間で画面遷移したときに実行する処理の手順を示すフローチャート。
【図１５】第２の実施形態に係るＭＦＰ１０１のソフトウェア構成を示すブロック図。
【図１６】第２の実施形態に係る情報処理システムで実行される処理のシーケンスを示す図。
【図１７】第２の実施形態に係るスキャン設定画面７０１のＨＴＭＬデータの一例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
＜第１の実施形態＞
＜情報処理システムの構成＞
以下では、図１乃至図１４を参照して、本発明の第１の実施形態について説明する。まず、図１を参照して、情報処理システムの全体構成について説明する。図１に示すように、ＬＡＮ１１０には、ＭＦＰ１０１と、サーバ１０２とが互いに通信可能に接続されている。なお、本実施形態では、情報処理システムに上記２つの装置が含まれることを前提として説明するが、本発明はこれに限定されず、複数の他のＭＦＰや、複数の他のサーバを含んでもよい。ＭＦＰ１０１は、Ｗｅｂブラウザ機能を有し、サーバ１０２が提供するＷｅｂアプリケーションを実行する。即ち、ＭＦＰ１０１のＷｅｂブラウザは、サーバ１０２から提供される画面情報に従ってＭＦＰ１０１の操作部にＷｅｂアプリケーションの画面を表示する。なお、本実施形態では、情報処理装置として、ＭＦＰ１０１を一例として説明する。本発明に適用可能な情報処理装置として、他の画像形成装置や、画像読取装置等が適用されてもよい。
【００１３】
ここで、Ｗｅｂアプリケーションとは、サーバ１０２が提供するアプリケーションを示す。一方、ＭＦＰ１０１が予めインストールしているアプリケーションをネイティブアプリケーションと称する。本実施形態では、Ｗｅｂアプリケーションの操作性を、できるだけネイティブアプリケーションの操作性に近づけるための仕組みを提案する。
【００１４】
＜ＭＦＰのハードウェア構成＞
次に、図２を参照して、ＭＦＰ１０１のハードウェア構成について説明する。ＭＦＰ１０１は、制御部２１０、操作部２１９、プリンタ２２０、及びスキャナ２２１を備える。また、制御部２１０は、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３、ＨＤＤ２１４、操作部Ｉ／Ｆ２１５、プリンタＩ／Ｆ２１６、スキャナＩ／Ｆ２１７、及びネットワークＩ／Ｆ２１８を備える。制御部２１０は、ＭＦＰ１０１全体の動作を制御する。
【００１５】
ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや各種プログラムを記憶する。操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やハードウェアキーなどが備えられている。また、ＭＦＰ１０１には後述するＷｅｂブラウザ機能が備えられており、ＭＦＰ１０１のＷｅｂブラウザは、サーバ１０２から受信したＨＴＭＬデータを解析し、受信したＨＴＭＬデータの記述に基づく操作画面を操作部２１９の液晶表示部に表示する。
【００１６】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０から転送され、プリンタ２２０において記録媒体上に印刷される。スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、サーバ１０２）に画像データや情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００１７】
＜操作部の構成＞
次に、図３を参照して、操作部２１９の構成について説明する。図３に示すように、操作部２１９は、ＬＣＤ上にタッチパネルシート３０２が貼られている液晶表示部３０１を有する。この液晶表示部３０１には、後述するネイティブ機能モジュールやＷｅｂブラウザが表示する操作画面及びソフトウェアキーが表示されるとともに、表示されているキーが押されると、押された位置を示す位置情報をＣＰＵ２１１に伝える。
【００１８】
また、操作部２１９には、スタートキー３０３、ストップキー３０４、リセットキー３０５、ガイドキー３０６、トップメニューキー３０７、及び数値キー３０８の各種ハードウェアキーが設けられている。スタートキー３０３は、画像処理装置の処理の開始を指示するためのキーであり、スタートキー３０３の中央部には、ＬＥＤ表示部３０９が設けられている。ＬＥＤ表示部３０９は、ＬＥＤ点灯状態によってスタートキー３０３が使用可能な状態にあるか否かを表す。ストップキー３０４は、稼働中の動作を止めるためのキーである。リセットキー３０５は設定を初期化するときに用いられるキーである。ガイドキー３０６は、ＭＦＰ１０１の使用方法を表示するためのキーである。トップメニューキー３０７はＭＦＰ１０１の機能を選択させるためのトップメニュー画面を表示するためのキーである。数値キー３０８は数値を入力するためのキーである。本実施形態に係るＭＦＰ１０１では、Ｗｅｂアプリケーションにおいても、上記ハードウェアキーを使用することを可能とする。
【００１９】
＜サーバのハードウェア構成＞
次に、図４を参照して、サーバ１０２のハードウェア構成について説明する。サーバ１０２は、制御部４１０を備える。制御部４１０は、ＣＰＵ４１１、ＲＯＭ４１２、ＲＡＭ４１３、ＨＤＤ４１４、及びネットワークＩ／Ｆ４１５を備える。制御部４１０は、サーバ１０２全体の動作を制御する。
【００２０】
ＣＰＵ４１１は、ＲＯＭ４１２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ４１３は、ＣＰＵ４１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ４１４は、画像データや各種プログラムを記憶する。ネットワークＩ／Ｆ４１５は、制御部４１０（サーバ１０２）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ４１５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００２１】
＜ＭＦＰのソフトウェア構成＞
次に、図５を参照して、ＭＦＰ１０１のソフトウェア構成について説明する。図５に示す各機能部は、ＭＦＰ１０１が有しているＣＰＵ２１１が制御プログラムを実行することにより実現される。ＭＦＰ１０１は、Ｗｅｂブラウザ５００、ＨＴＴＰサーバ５１０、デバイス制御部５２０、及びジョブ制御部５３０を含む。
【００２２】
Ｗｅｂブラウザ５００は、サーバ１０２に対して、ＨＴＴＰのプロトコルに従ってリクエスト（以下、ＨＴＴＰリクエスト）を送信するとともに、そのリクエストに対するレスポンス（以下、ＨＴＴＰレスポンス）を受信する。そして、受信したＨＴＴＰレスポンスを解析して、操作画面を表示したり、受信したレスポンスに含まれるＪａｖａＳｃｒｉｐｔ（登録商標）（スクリプト）を処理したりする。スクリプトには、処理を実行するための複数の命令が含まれる。Ｗｅｂブラウザ５００は、ＪａｖａＳｃｒｉｐｔを処理することにより、操作画面を書き換えたり、操作部２１９の各種ハードウェアキーからの入力を受け付けたり、デバイス制御部５２０へＬＥＤ表示部３０９の点灯又は消灯を指示したりすることができる。なお、
ＨＴＴＰサーバ５１０は、Ｗｅｂブラウザ５００からのＨＴＴＰリクエストを受信して、指定されたＷｅｂサービスへＨＴＴＰリクエストを割り当てる。ＨＴＴＰサーバ５１０が公開するＷｅｂサービスには、ジョブ制御部５３０がある。
【００２３】
デバイス制御部５２０は、ＭＦＰ１０１の各種デバイスを制御する。例えば、デバイス制御部５２０は、操作部Ｉ／Ｆ２１５を介して操作部２１９のＬＥＤ表示部３０９の点灯及び消灯を制御する。デバイス制御部５２０は、Ｗｅｂブラウザ５００からＬＥＤ表示部３０９の点灯又は消灯指示を受け付けると、ＬＥＤ表示部３０９の点灯又は消灯する。なお、Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９を点灯しているときはスタートキー３０３を使用可能に制御し、消灯しているときはスタートキー３０３を使用不可に制御する。
【００２４】
ジョブ制御部５３０は、スキャナ２２１による読取処理、プリンタ２２０による印刷処理、ネットワークＩ／Ｆ２１８を介した送信処理を含むジョブを実行する。ジョブ制御部５３０は、後述するＷｅｂアプリケーション６１０からＳＯＡＰリクエストを受信すると、ＳＯＡＰリクエストを解釈してジョブを実行する。そして、ジョブ制御部５３０は、ジョブ実行結果を含むＳＯＡＰレスポンスをＷｅｂアプリケーション６１０へ送信する。また、ジョブ制御部５３０は、ユーザからのジョブ制御操作を受け付けるための操作画面を操作部２１９へ表示する。なお、本実施形態では、ＭＦＰ１０１で実行されるジョブの一例として、原稿を読み取ってファイルを生成し、サーバ１０２にファイルを送信するジョブについて説明するが、他にもプリンタ２２０による印刷処理などを実行するジョブにも適用することができる。
【００２５】
＜サーバのソフトウェア構成＞
次に、図６を参照して、サーバ１０２のソフトウェア構成について説明する。図６に示す各機能部は、サーバ１０２が有しているＣＰＵ４１１が制御プログラムを実行することにより実現される。サーバ１０２は、ＨＴＴＰサーバ６００、Ｗｅｂアプリケーション６１０、及びデータベース６２０を含む。
【００２６】
ＨＴＴＰサーバ６００は、Ｗｅｂブラウザ５００からのＨＴＴＰリクエストを受信すると、ＵＲＬで指定されたＷｅｂアプリケーション６１０へ、そのＨＴＴＰリクエストを割り当てる。Ｗｅｂアプリケーション６１０は、Ｗｅｂブラウザ５００からのＨＴＴＰリクエストに応じて、Ｗｅｂブラウザ５００で表示すべきＨＴＭＬデータを生成する。そして、Ｗｅｂアプリケーション６１０は、生成したＨＴＭＬデータをＨＴＴＰレスポンスとしてＷｅｂブラウザ５００へ送信する。また、Ｗｅｂアプリケーション６１０は、ジョブ制御部５３０から送信されるファイルアップロード要求を処理して、要求されたデータをデータベース６２０に登録する。
【００２７】
＜画面遷移＞
次に、図７を参照して、本情報処理システムにおいて、ＭＦＰ１０１のＷｅｂブラウザ５００がスキャン処理を開始する際の画面遷移の一例について説明する。図７に含まれる画面の内、原稿読込画面７０３を除く各画面は、Ｗｅｂブラウザ５００が、Ｗｅｂアプリケーション６１０が応答するＨＴＭＬデータを処理した結果、操作部２１９へ表示する画面である。一方、原稿読込画面７０３は、ジョブ制御部５３０が、ジョブ制御操作を受け付けるために操作部２１９へ表示する画面である。つまり、原稿読込画面７０３は、ネイティブアプリケーションが提供する画面であり、原稿読込画面７０３以外の画面は、Ｗｅｂアプリケーションが提供する画面である。
【００２８】
メニュー画面７００は、ＭＦＰ１０１の機能を利用するに当たりどの機能を選択するかを選択する画面である。この画面において機能を選択すると、選択した機能に対応した画面に遷移する。例えば、Ｗｅｂブラウザ５００は、表示制御手段として機能し、スキャン機能を選択するためのスキャンボタンが押下されると、続いてスキャン設定画面７０１を操作部２１９へ表示する。
【００２９】
スキャン設定画面７０１は、スキャン設定を入力するための画面である。スキャン設定画面７０１は、読み込みカラーを選択するためのラジオボタン、画像ファイルのフォーマットを選択するためのラジオボタン、スキャン開始を指示するためのスキャン開始ボタン及びメニュー画面７００へ戻るためのキャンセルボタンを含む。読み込みカラーを選択するためのラジオボタンには、“カラー”、“グレースケール”、及び“白黒”の選択肢が含まれる。また、画像ファイルのフォーマットを選択するためのラジオボタンには、“ＰＤＦ”、及び“ＸＰＳ”の選択肢が含まれる。スキャン設定画面７０１において、スキャン開始ボタンは選択不可状態になっている。選択不可状態の場合は、図７に示すように、グレーアウトで表示される。その後、Ｗｅｂブラウザ５００は、読み込みカラー及びフォーマットが選択されると、スキャン開始画面７０２を操作部２１９へ表示する。一方、Ｗｅｂブラウザ５００は、キャンセルボタンが押下されると、メニュー画面７００を操作部２１９へ表示する。
【００３０】
スキャン開始画面７０２は、スキャンの開始を指示するための画面である。スキャン開始画面７０２は、スキャン設定画面７０１と同様に、読み込みカラーを選択するためのラジオボタン、画像ファイルのフォーマットを選択するためのラジオボタン、スキャン開始を指示するためのスキャン開始ボタン及びメニュー画面７００へ戻るためのキャンセルボタンを含む。スキャン開始画面７０２において、スキャン開始ボタンは選択可能状態になっている。スキャン開始ボタンが押下されると、ジョブ制御部５３０が原稿読込画面７０３を操作部２１９へ表示する。一方、キャンセルボタンが押下されると、Ｗｅｂブラウザ５００はメニュー画面７００を操作部２１９へ表示する。
【００３１】
原稿読込画面７０３は、原稿読取操作を指示するための画面である。原稿読込画面７０３は、読込終了ボタン及び中止ボタンを含む。読込終了ボタン又は中止ボタンが押下されると、ジョブ制御部５３０は、Ｗｅｂブラウザ５００の操作画面を操作部２１９へ表示する。この結果、Ｗｅｂブラウザ５００は処理中画面７０４を操作部２１９へ表示する。
【００３２】
処理中画面７０４は、ジョブ処理中を表す画面である。ジョブ制御部５３０がスキャン画像のＷｅｂアプリケーション６１０への送信を完了すると、Ｗｅｂブラウザ５００は送信完了画面７０５を操作部２１９へ表示する。一方、ジョブ制御部５３０がスキャン処理を中止すると、Ｗｅｂブラウザ５００は処理中止画面７０６を表示する。
【００３３】
送信完了画面７０５は、スキャン画像をＷｅｂアプリケーション６１０へ送信完了したことを表す画面である。送信完了画面７０５は、スキャン設定画面７０１へ遷移するための戻るボタンを含む。Ｗｅｂブラウザ５００は、戻るボタンが押下されると、スキャン設定画面７０１を表示する。処理中止画面７０６は、スキャン処理を中止したことを表す画面である。処理中画面７０４は、スキャン設定画面７０１へ遷移するための戻るボタンを含む。Ｗｅｂブラウザ５００は、戻るボタンが押下されると、スキャン設定画面７０１を操作部２１９へ表示する。
【００３４】
＜処理シーケンス＞
次に、図８を参照して、情報処理システムにより実行される処理シーケンスについて説明する。図８に示す処理シーケンスは、Ｗｅｂブラウザ５００にメニュー画面７００のＵＲＬが入力されてページを開くよう指示されると、Ｓ８０１の処理を開始する。なお、以下で説明する処理は、ＭＦＰ１０１のＣＰＵ２１１、又は、サーバ１０２のＣＰＵ４１１が、ＲＯＭ２１２、４１２から制御プログラムをＲＡＭ２１３、４１３に読み出して実行することによって実現される。具体的には、ＣＰＵ２１１は、Ｗｅｂブラウザ５００、ＨＴＴＰサーバ５１０、デバイス制御部５２０、及びジョブ制御部５３０の処理を制御する。一方、ＣＰＵ４１１は、Ｗｅｂアプリケーション６１０、及びＨＴＴＰサーバ６００の処理を制御する。
【００３５】
Ｓ８０１において、Ｗｅｂブラウザ５００は、入力されたＵＲＬに従って、メニュー画面７００の取得を要求するＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。続いて、Ｓ８０２において、ＨＴＴＰサーバ６００は、Ｗｅｂアプリケーション６１０へメニュー画面７００の画面情報の取得を要求する。Ｓ８０３において、Ｗｅｂアプリケーション６１０は、ＨＴＴＰサーバ６００へメニュー画面７００の画面情報を送信することによって応答する。Ｓ８０４において、ＨＴＴＰサーバ６００は、受信したメニュー画面７００の画面情報を送信するためのＨＴＴＰレスポンスをＷｅｂブラウザ５００へ送信する。
【００３６】
Ｗｅｂブラウザ５００は、受信したメニュー画面ＨＴＭＬを解釈してメニュー画面７００を表示する。Ｗｅｂブラウザ５００は、メニュー画面７００に含まれるスキャンボタンが押下されるとＳ８０５に処理を進める。Ｓ８０５において、Ｗｅｂブラウザ５００は、スキャン設定画面７０１の取得を要求するＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。Ｓ８０６において、ＨＴＴＰサーバ６００は、Ｗｅｂアプリケーション６１０へスキャン設定画面７０１の画面情報の取得を要求する。ステップ８０７において、Ｗｅｂアプリケーション６１０は、ＨＴＴＰサーバ６００へスキャン設定画面７０１の画面情報を送信することによって応答する。Ｓ８０８において、ＨＴＴＰサーバ６００は、スキャン設定画面７０１の画面情報を送信するためのＨＴＴＰレスポンスをＷｅｂブラウザ５００へ送信する。
【００３７】
図９は、Ｗｅｂアプリケーション６１０が送信するスキャン設定画面７０１の画面情報を示すＨＴＭＬデータ（以下、スキャン設定画面ＨＴＭＬ９００と称する。）の一例を示す。スキャン設定画面ＨＴＭＬ９００は、ｈｅａｄ部にデバイス制御ＪａｖａＳｃｒｉｐｔ（スクリプト）９１０、及びスキャン設定確認部９２０を含み、ｂｏｄｙ部にスキャン設定フォーム９３０を含む。
【００３８】
デバイス制御ＪａｖａＳｃｒｉｐｔ９１０には、スキャン準備完了を指示するメソッドである“Ｓｃａｎ．ｒｅａｄｙ”関数が定義されている。このような関数には、処理を実行するための命令が定義されている。具体的には、Ｗｅｂブラウザ５００は、“Ｓｃａｎ．ｒｅａｄｙ”関数を呼び出すと、スタートキー３０３の入力を受け付けて、更にデバイス制御部５２０へＬＥＤ表示部３０９の点灯を指示する。“Ｓｃａｎ．ｒｅａｄｙ”関数の内部処理の詳細については、図１２乃至図１４に記載のフローチャートを用いて後述する。また、デバイス制御ＪａｖａＳｃｒｉｐｔ９１０は外部ファイル参照されている。したがって、Ｗｅｂブラウザ５００は、スキャン設定画面ＨＴＭＬ９００を受信すると、デバイス制御ＪａｖａＳｃｒｉｐｔ９１０をＨＴＴＰサーバ６００より取得する。
【００３９】
スキャン設定確認部９２０には、スキャン設定画面７０１において読み込みカラー及びフォーマットが選択されている場合に、Ｗｅｂブラウザ５００がスキャン開始画面７０２を表示してＬＥＤを点灯するための処理が記述されている。具体的には、読み込みカラー又はフォーマットが選択されると、Ｗｅｂブラウザ５００は“ｓｅｌｅｃｔＣｏｌｏｒ”関数又は“ｓｅｌｅｃｔＦｏｒｍａｔ”関数を呼び出す。更にＷｅｂブラウザ５００は“ｓｅｌｅｃｔＣｏｌｏｒ”関数又は“ｓｅｌｅｃｔＦｏｒｍａｔ”関数から“ｅｎａｂｌｅ”関数を呼び出す。“ｅｎａｂｌｅ”関数では、読み込みカラー及びフォーマットの両方が設定されている場合、Ｗｅｂブラウザ５００がスキャン設定画面７０１のメッセージを“スキャンできます”に設定し、かつスキャン開始ボタンの“ｄｉｓａｂｌｅｄ”属性を“ｆａｌｓｅ”に設定する。この結果、スキャン設定画面７０１はスキャン開始画面７０２へ変更される。更に、Ｗｅｂブラウザ５００は、“Ｓｃａｎ．ｒｅａｄｙ”関数を呼び出す。“Ｓｃａｎ．ｒｅａｄｙ”関数の第１引数“ｓｔａｒｔ”はスタートキー３０３と関連付けるボタンＩＤを表し、第２引数“ｔｒｕｅ”はＬＥＤ表示部３０９を点灯することを表す。Ｗｅｂブラウザ５００は、“Ｓｃａｎ．ｒｅａｄｙ”関数を処理した結果、スタートキー３０３の入力を受け付けるとスタートボタンを押下するように関連付け、かつＬＥＤ表示部３０９を点灯するようデバイス制御部５２０へ指示する。
【００４０】
スキャン設定フォーム９３０には、読み込みカラー及びフォーマットを選択してＷｅｂアプリケーション６１０へスキャン開始を要求するためのフォームが記述されている。具体的には、読み込みカラーを選択するためのラジオボタン“ｃｏｌｏｒ”、フォーマットを選択するためのラジオボタン“ｆｏｒｍａｔ”、スキャン開始を指示するｓｕｂｍｉｔボタン“ｓｔａｒｔ”及びキャンセルを指示するｓｕｂｍｉｔボタン“ｃａｎｃｅｌ”が記述されている。Ｗｅｂブラウザ５００は、ラジオボタン“ｃｏｌｏｒ”が選択されると、スキャン設定確認部９２０で定義されている“ｓｅｌｅｃｔＣｏｌｏｒ”関数を呼び出す。また、Ｗｅｂブラウザ５００は、ラジオボタン“ｆｏｒｍａｔ”が選択されると、スキャン設定確認部９２０で定義されている“ｓｅｌｅｃｔＦｏｒｍａｔ”関数を呼び出す。そしてＷｅｂブラウザ５００は、ｓｕｂｍｉｔボタン“ｓｔａｒｔ”又は“ｃａｎｃｅｌ”が押下されると、ラジオボタン及びｓｕｂｍｉｔボタンの値をＷｅｂアプリケーション６１０へ送信する。
【００４１】
図８のフローチャートの説明に戻る。Ｓ８０９において、Ｗｅｂブラウザ５００は、デバイス制御ＪａｖａＳｃｒｉｐｔ９１０の取得を要求するＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。Ｓ８１０において、ＨＴＴＰサーバ６００は、デバイス制御ＪａｖａＳｃｒｉｐｔ９１０の取得をＷｅｂアプリケーション６１０へ要求する。Ｓ８１１において、Ｗｅｂアプリケーション６１０は、デバイス制御ＪａｖａＳｃｒｉｐｔ９１０をＨＴＴＰサーバ６００へ送信することによって応答する。Ｓ８１２において、ＨＴＴＰサーバ５１０は、デバイス制御ＪａｖａＳｃｒｉｐｔ９１０を含むＨＴＴＰレスポンスをＷｅｂブラウザ５００へ送信する。
【００４２】
Ｗｅｂブラウザ５００は、スキャン設定画面７０１のカラー読み込み設定及びフォーマット設定が選択されると、Ｓ８１３の処理を実行する。Ｓ８１３において、Ｗｅｂブラウザ５００は、スキャン設定確認部９２０に記述されたＪａｖａＳｃｒｉｐｔを処理して、スキャン開始画面７０２を操作部２１９に表示する。Ｓ８１４において、Ｗｅｂブラウザ５００は、デバイス制御ＪａｖａＳｃｒｉｐｔ９１０に定義された“Ｓｃａｎ．ｒｅａｄｙ”関数を処理した結果、デバイス制御部５２０へＬＥＤ表示部３０９の点灯を指示する。デバイス制御部５２０は、スタートキー３０３のＬＥＤ表示部３０９を点灯させる。
【００４３】
その後、Ｗｅｂブラウザ５００は、スタートキー３０３の入力を受け付けると、Ｓ８１５の処理を実行する。Ｓ８１５において、Ｗｅｂブラウザ５００は、スキャン開始画面７０２のスキャン設定フォーム９３０のｓｕｂｍｉｔボタン“ｓｔａｒｔ”が押下されたものとしてフォームをｓｕｂｍｉｔする。さらに、Ｓ８１６において、Ｗｅｂブラウザ５００は、スキャン設定フォーム９３０をｓｕｂｍｉｔした結果、スキャン開始を要求するＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。図１０は、スキャン開始を要求するＨＴＴＰリクエストの一例を示す。図１０の場合、読み込みカラーに“ｆｕｌｌｃｏｌｏｒ”、生成する画像ファイルのフォーマットに“ｐｄｆ”を指定してスキャンを開始することを表している。
【００４４】
次に、Ｓ８１７において、ＨＴＴＰサーバ６００は、Ｗｅｂアプリケーション６１０へスキャン開始を要求する。Ｓ８１８において、Ｗｅｂアプリケーション６１０は、スキャン開始を要求するＳＯＡＰリクエストをＭＦＰ１０１のＨＴＴＰサーバ５１０へ送信する。図１１は、Ｓ８１８でＷｅｂアプリケーション６１０が送信するＳＯＡＰリクエストの一例を示す。具体的には、原稿をスキャンしＰＤＦファイルに変換後、Ｗｅｂアプリケーション６１０へ送信することを指示している。スキャン設定には解像度３００×３００及びフルカラーを指定し、文書設定にはＰＤＦフォーマットを指定し、送信設定にはホスト名“ｘｘｘ．ｙｙｙ．ｚｚｚ”及びパス名“ｕｐｌｏａｄ／ｔｅｓｔ”を指定している。
【００４５】
次に、Ｓ８１９において、ＨＴＴＰサーバ５１０は、ジョブ制御部５３０へスキャンジョブの生成を要求する。ジョブ制御部５３０は、ＳＯＡＰリクエストを解釈すると、スキャンジョブを生成する。Ｓ８２０において、ジョブ制御部５３０は、原稿読込画面７０３を操作部２１９へ表示する。Ｓ８２１において、ジョブ制御部５３０は、ＨＴＴＰサーバ６００へジョブ生成成功を表すＳＯＡＰレスポンスを送信することにより応答する。Ｓ８２２において、ＨＴＴＰサーバ５１０は、ジョブ生成成功を表すＳＯＡＰレスポンスをＷｅｂアプリケーション６１０へ送信する。
【００４６】
Ｓ８２３において、Ｗｅｂアプリケーション６１０は、ＨＴＴＰサーバ６００へ処理中画面７０４の画面情報を送信する。続いて、Ｓ８２４において、ＨＴＴＰサーバ６００は、処理中画面７０４の画面情報を含むＨＴＴＰレスポンスをＷｅｂブラウザ５００へ送信する。このとき、Ｓ８２０の処理によって操作部２１９には原稿読込画面７０３が表示されており、処理中画面７０４は表示されていない。
【００４７】
ジョブ制御部５３０は、原稿読込画面７０３の読込終了ボタンが押下されると原稿の読み込みを終了し、Ｓ８２５の処理を実行する。Ｓ８２５において、ジョブ制御部５３０がＬＥＤ表示部３０９に消灯を指示する。さらに、Ｓ８２６において、ジョブ制御部５３０は、Ｗｅｂブラウザ５００を操作部２１９に表示する。この結果、操作部２１９には、Ｓ８２４で取得した情報に基づいて処理中画面７０４が表示される。
【００４８】
Ｓ８２７において、Ｗｅｂブラウザ５００は、ジョブ結果を取得するためのＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。具体的には、処理中画面ＨＴＭＬには、Ｗｅｂアプリケーション６１０へＨＴＴＰリクエストを繰り返し送信する処理がＪａｖａＳｃｒｉｐｔで記述されている。Ｗｅｂブラウザ５００は、ＪａｖａＳｃｒｉｐｔを処理することによって、ジョブ完了応答を受信するまで繰り返しジョブ結果取得要求を送信する。
【００４９】
Ｓ８２８において、ＨＴＴＰサーバ６００は、ジョブ結果の取得をＷｅｂアプリケーション６１０へ要求する。Ｓ８２９において、Ｗｅｂアプリケーション６１０は、ジョブがまだ完了していなければ、ジョブ処理中をＨＴＴＰサーバ６００へ応答する。Ｓ８３０において、ＨＴＴＰサーバ６００は、ジョブ処理中を示すＨＴＴＰレスポンスをＷｅｂブラウザ５００へ送信する。Ｗｅｂブラウザ５００は、Ｓ８２７の処理を、ジョブ完了応答を受信するまで繰り返し実行する。したがって、Ｓ８３０では、処理中を示す応答を受信しているため、その後も定期的にＳ８２７の処理を繰り返し実行する。
【００５０】
ジョブ制御部５３０は、原稿の読み込みを終了して画像ファイルを生成すると、Ｓ８３１の処理を開始する。Ｓ８３１において、ジョブ制御部５３０は、画像ファイルを含むＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。Ｓ８３２において、ＨＴＴＰサーバ６００は、スキャン画像をＷｅｂアプリケーション６１０へ送信する。Ｓ８３３において、Ｗｅｂアプリケーション６１０は、スキャン画像送信成功をＨＴＴＰサーバ６００へ送信することによって応答する。Ｓ８３４において、ＨＴＴＰサーバ６００は、スキャン画像送信成功を示すＨＴＴＰレスポンスをジョブ制御部５３０へ送信する。
【００５１】
また、ジョブ制御部５３０は、スキャン画像を送信すると、Ｓ８３５の処理を実行する。Ｓ８３５において、ジョブ制御部５３０は、ジョブ完了を通知するためのＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。Ｓ８３６において、ＨＴＴＰサーバ６００は、ジョブ完了をＷｅｂアプリケーション６１０へ通知する。Ｓ８３７において、Ｗｅｂアプリケーション６１０は、ジョブ完了通知成功をＨＴＴＰサーバ６００へ送信することによって応答する。Ｓ８３８において、ＨＴＴＰサーバ６００は、ジョブ完了通知成功を応答するためのＨＴＴＰレスポンスをジョブ制御部５３０へ送信する。
【００５２】
Ｓ８３９乃至Ｓ８４２の処理は、Ｓ８２７からＳ８３０の処理と同様に、Ｗｅｂブラウザ５００が処理中画面ＨＴＭＬに記述されたＪａｖａＳｃｒｉｐｔを処理することによって実行される。Ｓ８３９において、Ｗｅｂブラウザ５００は、ジョブ結果を取得するためのＨＴＴＰリクエストをＨＴＴＰサーバ６００へ送信する。Ｓ８４０において、ＨＴＴＰサーバ６００は、ジョブ結果の取得をＷｅｂアプリケーション６１０へ要求する。Ｓ８４１において、Ｗｅｂアプリケーション６１０は、ＨＴＴＰサーバ６００へジョブ完了を送信することによって応答する。Ｓ８４２において、ＨＴＴＰサーバ６００は、Ｗｅｂブラウザ５００へジョブ完了を応答するＨＴＴＰレスポンスを送信する。
【００５３】
Ｗｅｂブラウザ５００は、ジョブ完了を受信すると、Ｓ８４３の処理を実行する。Ｓ８４３において、Ｗｅｂブラウザ５００は、処理中画面ＨＴＭＬに記述されたＪａｖａＳｃｒｉｐｔを処理することによって、送信完了画面７０５を表示する。
【００５４】
＜処理手順＞
続いて、図１２乃至図１４に示すフローチャートを参照して、本実施形態におけるＷｅｂブラウザ５００の処理手順について説明する。以下で説明する処理は、ＣＰＵ２１１がＲＯＭ２１２に記憶された制御プログラムをＲＡＭ２１３に読み出して実行することにより実現される。図１２は、Ｗｅｂブラウザ５００がスキャン準備完了を指示する“Ｓｃａｎ．ｒｅａｄｙ”関数を実行する処理手順を示す。具体的には、スキャン開始画面７０２において読み込みカラー及びフォーマットが指定されると、Ｓ１２０１の処理を開始する。
【００５５】
Ｓ１２０１において、Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９を点灯するか否かを判定する。具体的には、“Ｓｃａｎ．ｒｅａｄｙ”関数の第２引数で“ｔｒｕｅ”が指定されていればＬＥＤ表示部３０９を点灯すると判定し、“ｆａｌｓｅ”が指定されていればＬＥＤ表示部３０９を消灯すると判定する。ＬＥＤ表示部３０９を点灯すると判定した場合はＳ１２０２の処理へ進み、消灯すると判定した場合Ｓ１２１２の処理へ進む。
【００５６】
Ｓ１２０２において、Ｗｅｂブラウザ５００は、スキャン設定画面７０１の中から指定されたボタンを探索する。具体的には、“Ｓｃａｎ．ｒｅａｄｙ”関数の第１引数で指定された“ｓｔａｒｔ”をＩＤ属性に持つ要素、即ち、スタートボタンを探索する。続いて、Ｓ１２０３において、Ｗｅｂブラウザ５００は、スタートボタンにｃｌｉｃｋイベントリスナを登録する。この結果、Ｗｅｂブラウザ５００は、スキャン設定画面７０１においてスタートボタンが押下されると、ｃｌｉｃｋイベントを発行し、スタートボタンへ通知する。そして、Ｗｅｂブラウザ５００は、登録されたリスナ処理を実行する。ｃｌｉｃｋイベントリスナの処理の内容については図１３を用いて後述する。その後、Ｗｅｂブラウザ５００は、Ｓ１２０４の処理へ進む。
【００５７】
Ｓ１２０４において、Ｗｅｂブラウザ５００は、スタートボタンにｋｅｙイベントリスナを登録する。この結果、Ｗｅｂブラウザ５００は、スタートキー３０３の入力を受け付けると、ｋｅｙイベントを発行しスタートボタンへ通知する。そして、Ｗｅｂブラウザ５００は登録されたリスナ処理を実行する。ｋｅｙイベントリスナの処理の内容については図１３を用いて後述する。その後、Ｗｅｂブラウザ５００は、Ｓ１２０５の処理へ進む。
【００５８】
Ｓ１２０５において、Ｗｅｂブラウザ５００は、ウィンドウにｆｏｃｕｓイベントリスナを登録する。この結果、Ｗｅｂブラウザ５００は、Ｗｅｂブラウザ５００が操作部２１９へ表示されると、ｆｏｃｕｓイベントを発行しウィンドウへ通知する。そして、Ｗｅｂブラウザ５００は登録されたリスナ処理を実行する。ｆｏｃｕｓイベントリスナの処理の内容については図１４を用いて後述する。その後、Ｗｅｂブラウザ５００は、Ｓ１２０６の処理へ進む。
【００５９】
Ｓ１２０６において、Ｗｅｂブラウザ５００は、ウィンドウにｂｌｕｒイベントリスナを登録する。Ｗｅｂブラウザ５００は、Ｗｅｂブラウザ５００以外の画面が操作部２１９へ表示されると、ｂｌｕｒイベントを発行しウィンドウへ通知する。そして、Ｗｅｂブラウザ５００は登録されたリスナ処理を実行する。ｂｌｕｒイベントリスナの処理の内容については図１４を用いて後述する。その後、Ｗｅｂブラウザ５００は、Ｓ１２０７の処理へ進む。
【００６０】
Ｓ１２０７において、Ｗｅｂブラウザ５００は、ウィンドウにｕｎｌｏａｄイベントリスナを登録する。Ｗｅｂブラウザ５００は、異なるＵＲＬのページを開くときやページを更新するときにドキュメントをアンロードする。Ｗｅｂブラウザ５００は、ドキュメントをアンロードするときに、ｕｎｌｏａｄイベントを発行しウィンドウへ通知する。そして、Ｗｅｂブラウザ５００は登録されたリスナ処理を実行する。ｕｎｌｏａｄイベントリスナの処理の内容については図１３を用いて後述する。その後、Ｗｅｂブラウザ５００は、Ｓ１２０８の処理へ進む。
【００６１】
Ｓ１２０８において、Ｗｅｂブラウザ５００は、デバイス制御部５２０にＬＥＤ表示部３０９の点灯を指示し、処理をＳ１２０９に進める。一方、Ｓ１２０１で消灯と判定した場合、Ｓ１２１２において、Ｗｅｂブラウザ５００は、デバイス制御部５２０にＬＥＤ表示部３０９の消灯を指示し、処理をＳ１２０９に進める。
【００６２】
Ｓ１２０９において、Ｗｅｂブラウザ５００は、ＲＡＭ２１３又はＨＤＤ２１４に、ＬＥＤ表示部３０９の点灯状態を記憶する。具体的には、Ｓ１２０８でＬＥＤ表示部３０９を点灯した場合は、ＬＥＤを点灯していることを記憶する。一方、Ｓ１２０９でＬＥＤ表示部３０９を消灯した場合は、ＬＥＤを消灯していることを記憶する。Ｗｅｂブラウザ５００は、Ｓ１２０９の処理を終了するとスキャン準備完了処理を終了する。
【００６３】
次に、図１３及び図１４のフローチャート１３００乃至１３２０及び１４００乃至１４１０を参照して、Ｗｅｂブラウザ５００の処理手順について説明する。各フローチャートは、Ｓ１２０３乃至Ｓ１２０７で登録した処理を示す。以下で説明する処理は、ＣＰＵ２１１がＲＯＭ２１２に記憶された制御プログラムをＲＡＭ２１３に読み出して実行することにより実現される。まず、フローチャート１３００を参照して、Ｗｅｂブラウザ５００がスタートキー３０３の入力を受け付けたときの処理手順について説明する。Ｗｅｂブラウザ５００は、ｋｅｙイベントが通知されると、Ｓ１３０１の処理を開始する。
【００６４】
Ｓ１３０１において、Ｗｅｂブラウザ５００は、キーコードがスタートキーか否かを判定する。キーコードがスタートキーであればＳ１３０２の処理へ進み、スタートキー以外のハードウェアキーであれば、処理を終了する。Ｓ１３０２において、Ｗｅｂブラウザ５００は、スタートキーに関連付けられたスタートボタンにｃｌｉｃｋイベントを発行して、処理を終了する。このように、スタートキーの入力を受け付けると、ＪａｖａＳｃｒｉｐｔの記述によって予め指定されたボタン（ソフトウェアキー）を押下したことと同様の処理を実行することができる。つまり、本実施形態によれば、スクリプトによって、所定のハードウェアキーが押下された場合の処理として、Ｗｅｂアプリケーションが提供するＷｅｂブラウザ５００の画面に表示されたソフトウェアキーに関連付けられた処理が登録される。例えば、本実施形態では、スタートキー３０３は、スキャン開始画面７０２のスキャンボタンに関連付けられる。このように制御することで、本実施形態に係る情報処理装置は、ネイティブアプリケーションと同等の操作性をＷｅｂアプリケーションで実現する。
【００６５】
次に、フローチャート１３１０を参照して、Ｗｅｂブラウザ５００における、スタートボタンが押下されたときの処理手順について説明する。Ｗｅｂブラウザ５００は、スタートボタンへｃｌｉｃｋイベントが通知されると、Ｓ１３０３の処理を開始する。
【００６６】
Ｓ１３０３において、Ｗｅｂブラウザ５００は、スタートボタンが押下されたことを記憶して、処理を終了する。具体的には、スキャン開始画面７０２でスタートキーが入力されたりスタートボタンが押下されたりした場合は、Ｗｅｂブラウザ５００はＳ１３０３の処理を実行する。一方、スキャン開始画面７０２でキャンセルボタンが押下された場合は、Ｗｅｂブラウザ５００は処理を終了する。
【００６７】
次に、フローチャート１３２０を参照して、Ｗｅｂブラウザ５００がドキュメントをアンロードする（スキャン開始画面７０２を閉じる）ときの処理手順について説明する。Ｗｅｂブラウザ５００は、ウィンドウへｕｎｌｏａｄイベントが通知されると、Ｓ１３０４の処理を開始する。
【００６８】
Ｓ１３０４において、Ｗｅｂブラウザ５００は、スタートボタンが押下されたか否かを判定する。具体的には、Ｓ１３０３の処理が実行されている場合は、スタートボタンが押下されたと判定し、処理をＳ１３０６に進める。一方、Ｓ１３０３の処理が実行されていない場合は、スタートボタンが押下されていないと判定し、処理をＳ１３０５に進める。Ｓ１３０５において、Ｗｅｂブラウザ５００は、デバイス制御部５２０にＬＥＤ表示部３０９の消灯を指示する。例えば、スキャン開始画面７０２のキャンセルボタンが押下されて処理中画面７０４へ遷移する場合、ＬＥＤ表示部３０９が消灯し、処理をＳ１３０６へ進める。
【００６９】
Ｓ１３０６において、Ｗｅｂブラウザ５００は、Ｓ１２０３乃至Ｓ１２０７で登録したイベントリスナを解除して処理を終了する。このように、Ｗｅｂブラウザ５００は、スタートキー３０３が入力されたりスタートボタンが押下されたりした場合は、ＬＥＤ表示部３０９を点灯したまま別ページへ遷移する。一方、Ｗｅｂブラウザ５００は、キャンセルボタンが押下されたり、ＵＲＬ入力欄にＵＲＬが入力されたり、更新が指示されたりした場合は、ＬＥＤ表示部３０９を消灯して別ページへ遷移する。点灯したＬＥＤ表示部３０９は、原稿読込画面７０３で読込終了ボタン又は中止ボタンが押下されると、ジョブ制御部５３０が消灯する。
【００７０】
次に、フローチャート１４００を参照して、操作部２１９へＷｅｂブラウザ５００以外の画面を表示したときのＷｅｂブラウザ５００の処理手順について説明する。具体的には、操作部２１９へＷｅｂブラウザ５００が表示されているときに、ガイドキー３０６やトップメニューキー３０７が押下されて、操作部２１９へガイド画面やトップメニュー画面を表示されたときのＷｅｂブラウザ５００の処理手順を示す。Ｗｅｂブラウザ５００は、操作部２１９にＷｅｂブラウザ５００以外の画面が表示されると、ｂｌｕｒイベントを発行してウィンドウへ通知する。Ｗｅｂブラウザ５００は、ウィンドウへｂｌｕｒイベントが通知されると、Ｓ１４０１の処理を開始する。
【００７１】
Ｓ１４０１において、Ｗｅｂブラウザ５００は、ＬＥＤ点灯状態を取得する。ＬＥＤ点灯状態は上記Ｓ１２０９においてＲＡＭ２１３又はＨＤＤ２１４に記憶されている。Ｗｅｂブラウザ５００は、Ｓ１４０１の処理を終了するとＳ１４０２の処理へ進む。Ｓ１４０２において、Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９が点灯しているか否かを判定する。具体的には、Ｓ１４０１において取得したＬＥＤ点灯状態が点灯を示せば、ＬＥＤ表示部３０９は点灯していると判定する。一方、ＬＥＤ点灯状態が消灯を示すか、又は、情報が記憶されていない場合は、ＬＥＤ表示部３０９が消灯していると判定する。Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９が点灯していると判定した場合、Ｓ１４０３の処理へ進み、ＬＥＤ表示部３０９が消灯していると判定した場合は処理を終了する。
【００７２】
Ｓ１４０３において、Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９の消灯をデバイス制御部５２０へ指示し、処理を終了する。このように、Ｗｅｂブラウザ５００がスキャン開始画面７０２を表示してＬＥＤ表示部３０９が点灯している状態で、ガイド画面やトップメニューへ遷移すると、Ｗｅｂブラウザはスタートキー３０３のＬＥＤ表示部３０９を消灯する。このように、本実施形態によれば、Ｗｅｂブラウザ５００の画面が操作部２１９においてアクティブ画面でない場合、即ち、他の画面が上面に表示されている場合は、スタートキー３０３による処理の実行開始指示を受け付けないように制御する。
【００７３】
次に、フローチャート１４１０を参照して、操作部２１９へＷｅｂブラウザ５００を表示したときのＷｅｂブラウザの処理手順について説明する。具体的には、操作部２１９にガイド画面が表示されているときにガイドキー３０６が押下されて、操作部２１９へＷｅｂブラウザ５００が再表示されたときのＷｅｂブラウザ５００の処理手順を示す。Ｗｅｂブラウザ５００は、操作部２１９にＷｅｂブラウザ５００が表示されると、ｆｏｃｕｓイベントを発行してウィンドウへ通知する。Ｗｅｂブラウザ５００は、ウィンドウへイベントがｆｏｃｕｓ通知されると、Ｓ１４０４の処理を開始する。
【００７４】
Ｓ１４０４において、Ｗｅｂブラウザ５００は、ＬＥＤ点灯状態を取得する。ＬＥＤ点灯状態は上記Ｓ１２０９においてＲＡＭ２１３又はＨＤＤ２１４に記憶されている。続いて、Ｓ１４０５において、Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９は点灯すべきか否かを判定する。具体的には、Ｓ１４０４において取得したＬＥＤ点灯状態が点灯を示せば、ＬＥＤ表示部３０９が既に点灯しているため点灯する必要なしと判定する。一方、ＬＥＤ点灯状態が消灯を示すか、又は、記憶されていない場合は、ＬＥＤ表示部３０９が点灯していないため点灯すべきと判定する。
【００７５】
Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９を点灯すべきと判定した場合、Ｓ１４０６の処理へ進む。一方、ＬＥＤ表示部３０９を点灯する必要なしと判定した場合、処理を終了する。Ｓ１４０６において、Ｗｅｂブラウザ５００は、ＬＥＤ表示部３０９の点灯をデバイス制御部５２０へ指示し、処理を終了する。このように、Ｗｅｂブラウザ５００がガイド画面を表示している状態でスキャン開始画面７０２へ遷移すると、即ち、再びスキャン開始画面７０２が最上面に表示されると、Ｗｅｂブラウザ５００はＬＥＤ表示部３０９を再点灯する。
【００７６】
このように本発明によれば、Ｗｅｂブラウザ５００がＪａｖａＳｃｒｉｐｔの記述に従ってハードウェアキーやＬＥＤを制御することによって、通常のＭＦＰ機能と同等の操作性でジョブ制御を実施することができる。
【００７７】
＜第２の実施形態＞
以下では、図１５乃至図１７を参照して、本発明に係る第２の実施形態について説明する。上記第１の実施形態との差異は、Ｗｅｂブラウザ５００がスキャン設定画面ＨＴＭＬ９００に記述されたＪａｖａＳｃｒｉｐｔを処理することによってジョブ制御を実現する点である。なお、以下では、第１の実施形態との差異について主に説明する。
【００７８】
＜ＭＦＰのソフトウェア構成＞
まず、図１５を参照して、本実施形態におけるＭＦＰ１０１のソフトウェア構成について説明する。第１の実施形態におけるＭＦＰ１０１のソフトウェア構成との差異は、ＭＦＰ１０１がＨＴＴＰサーバ５１０を備えていない点である。第２の実施形態では、Ｗｅｂブラウザ５００がデバイス制御部５２０及びジョブ制御部５３０を直接制御する構成である。デバイス制御部５２０及びジョブ制御部５３０は、ＨＴＴＰサーバ５１０より割り当てられたＨＴＴＰリクエストを受信してＨＴＴＰレスポンスを応答することはしない。
【００７９】
＜処理シーケンス＞
次に、図１６を参照して、本実施形態における情報処理システムにおいて実行される処理シーケンスをについて説明する。第１の実施形態との差異は、Ｓ１６０１に示す処理である。図８に示したように、第１の実施形態のＳ８１８乃至Ｓ８２２では、Ｗｅｂアプリケーション６１０が、ＨＴＴＰサーバ５１０へＳＯＡＰリクエストを送信することによって、ジョブ制御部５３０へスキャンジョブ生成を要求した。
【００８０】
一方、本実施形態では、Ｓ１６０１において、Ｗｅｂブラウザ５００が、スキャン設定画面ＨＴＭＬ１７００に記述されたＪａｖａＳｃｒｉｐｔを処理することによって、ジョブ制御部５３０へスキャンジョブ生成を要求する。
【００８１】
＜スキャン設定画面ＨＴＭＬ＞
次に、図１７を参照して、本実施形態におけるスキャン設定画面ＨＴＭＬ１７００の一例について説明する。第１の実施形態との差異は、デバイス・ジョブ制御ＪａｖａＳｃｒｉｐｔ１７１０及びスキャンジョブ実行部１７３０である。
【００８２】
第１の実施形態のデバイス制御ＪａｖａＳｃｒｉｐｔ９１０には、デバイス制御部５２０へＬＥＤ表示部３０９の点灯及び消灯を指示するためのスクリプトが定義されていた。一方、本実施形態のデバイス・ジョブ制御ＪａｖａＳｃｒｉｐｔ１７１０には、デバイス制御部５２０へＬＥＤ表示部３０９の点灯及び消灯を指示するスクリプトに加えて、ジョブ制御部５３０へジョブ実行を指示するためのスクリプトが定義されている。さらに、スキャンジョブ実行部１７３０には、スキャン設定フォーム１７４０に設定された読み込みカラー及び生成フォーマットをスキャン設定として、ジョブ制御部５３０へジョブ生成を要求するＪａｖａＳｃｒｉｐｔが記述されている。
【００８３】
＜その他の実施例＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014092996.tif 000003
【図２】
2014092996.tif 000004
【図３】
2014092996.tif 000005
【図４】
2014092996.tif 000006
【図５】
2014092996.tif 000007
【図６】
2014092996.tif 000008
【図７】
2014092996.tif 000009
【図８】
2014092996.tif 000010
【図９】
2014092996.tif 000011
【図１０】
2014092996.tif 000012
【図１１】
2014092996.tif 000013
【図１２】
2014092996.tif 000014
【図１３】
2014092996.tif 000015
【図１４】
2014092996.tif 000016
【図１５】
2014092996.tif 000017
【図１６】
2014092996.tif 000018
【図１７】
2014092996.tif 000019