(57)【特許請求の範囲】
【請求項１】
Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備える情報処理装置であって、
前記Ｗｅｂブラウザにより表示した第１の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する生成手段と、
前記生成手段によって生成されたスクリプトを前記Ｗｅｂサーバに送信すると共に、ユーザによる前記実行条件の変更を受け付けるための第２の操作画面を前記Ｗｅｂサーバに要求する要求手段と、
前記Ｗｅｂサーバから受信した前記第２の操作画面を介してユーザによる前記実行条件の変更を受け付け、変更された実行条件を前記Ｗｅｂサーバに送信する送信手段と、
前記要求手段によって前記Ｗｅｂサーバに送信されたスクリプトが、前記変更された実行条件に従って前記Ｗｅｂサーバによって変更された後、前記Ｗｅｂサーバから送信される、当該変更されたスクリプトを受信する受信手段と、
前記受信手段によって受信されたスクリプトに従って前記機能を実行する実行手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記実行条件は、該実行条件をユーザにより変更可能であるか否かを示す変更可否情報を含み、
前記変更可否情報は、前記Ｗｅｂサーバで前記第２の操作画面を生成する際に用いられることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置が備える機能は、画像データを含むファイルを前記Ｗｅｂサーバに転送するファイル転送機能を含み、
前記ファイル転送機能を実行するための実行条件は、前記画像データのフォーマットを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記生成手段は、前記Ｗｅｂブラウザに含まれることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
Ｗｅｂサーバと、前記Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを含む情報処理装置とを備える情報処理システムであって、
前記Ｗｅｂブラウザにより表示した第１の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する、前記情報処理装置が備えるスクリプト生成手段と、
前記スクリプト生成手段によって生成されたスクリプトを前記Ｗｅｂサーバに送信すると共に、ユーザによる前記実行条件の変更を受け付けるための第２の操作画面を前記Ｗｅｂサーバに要求する、前記情報処理装置が備える要求手段と、
前記要求手段による要求と共に受信したスクリプトに含まれる実行条件のうちの予め定められた実行条件の変更を受け付けるための第２の操作画面を生成して前記情報処理装置に送信する、前記Ｗｅｂサーバが備える画面生成手段と、
前記Ｗｅｂサーバから受信した前記第２の操作画面を介してユーザによる前記実行条件の変更を受け付け、変更された実行条件を前記Ｗｅｂサーバに送信する、前記情報処理装置が備える送信手段と、
前記送信手段により送信された実行条件に従って、前記要求手段による要求と共に受信したスクリプトを変更する、前記Ｗｅｂサーバが備える変更手段と、
前記変更手段によって変更されたスクリプトを前記Ｗｅｂサーバから受信する、前記情報処理装置が備える受信手段と、
前記受信手段によって受信されたスクリプトに従って前記機能を実行する、前記情報処理装置が備える実行手段と、
を備えることを特徴とする情報処理システム。
【請求項６】
Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備える情報処理装置の制御方法であって、
前記情報処理装置が備える生成手段が、前記Ｗｅｂブラウザにより表示した第１の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する生成工程と、
前記情報処理装置が備える要求手段が、前記生成工程で生成されたスクリプトを前記Ｗｅｂサーバに送信すると共に、ユーザによる前記実行条件の変更を受け付けるための第２の操作画面を前記Ｗｅｂサーバに要求する要求工程と、
前記情報処理装置が備える送信手段が、前記Ｗｅｂサーバから受信した前記第２の操作画面を介してユーザによる前記実行条件の変更を受け付け、変更された実行条件を前記Ｗｅｂサーバに送信する送信工程と、
前記情報処理装置が備える受信手段が、前記要求工程で前記Ｗｅｂサーバに送信されたスクリプトが、前記変更された実行条件に従って前記Ｗｅｂサーバによって変更された後、前記Ｗｅｂサーバから送信される、当該変更されたスクリプトを受信する受信工程と、
前記情報処理装置が備える実行手段が、前記受信工程で受信されたスクリプトに従って前記機能を実行する実行工程と、
を備えることを特徴とする制御方法。
【請求項７】
コンピュータを、請求項１に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、Ｗｅｂサーバと情報処理装置とを備える情報処理システム、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ等の情報処理装置がネットワーク上のＷｅｂサーバに接続され、Ｗｅｂサーバにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）する。そして、Ｗｅｂサーバ上のＷｅｂアプリケーションが情報処理装置からのリクエストに応えて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬファイルを情報処理装置に応答（レスポンス）する。情報処理装置のＷｅｂブラウザは、受信したＨＴＭＬファイルを解析し、ＨＴＭＬファイルの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００３】
ところで、最近ではスキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の中にも、前述したようなＷｅｂブラウザを備えるものがある。ＭＦＰは、前述した手順を用いてＷｅｂサーバにより提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付ける。このような構成は、ＭＦＰの操作画面のカスタマイズやＭＦＰが備える各機能の利用を、Ｗｅｂサーバ側で制御できるため、ＭＦＰを利用したシステムを構築しやすくしている。ＭＦＰを開発するベンダーとしては、ＭＦＰの各機能を利用しやすい形で公開することが求められている。
【０００４】
更には、特許文献１のような技術も考えられている。特許文献１の記載によれば、ＭＦＰから機能情報を取得し解析することで、機能情報に応じた形で、各機能を利用するための指示を入力する操作画面を、Ｗｅｂアプリケーションが提供する。まず、ユーザによりＷｅｂアプリケーションへの接続が指示されると、ＭＦＰのブラウザは、接続要求とともに機能情報をＷｅｂアプリケーションへ送信する。Ｗｅｂアプリケーションは、機能情報を解析し、機能情報に応じた操作画面をＭＦＰに送信する。そして、ＭＦＰのユーザは、ＭＦＰに対する指示を入力する。そして、入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂアプリケーションにリクエストとして通知される。この通知を受けたＷｅｂアプリケーションは、入力された指示に基づいてＭＦＰに対する各種処理を記載したスクリプトを生成する。生成したスクリプトは前述のＷｅｂブラウザからのリクエストに対するレスポンスとして、ＷｅｂアプリケーションからＭＦＰに通知される。ＭＦＰは、Ｗｅｂブラウザからスクリプト処理部にスクリプトを渡すことでスクリプトを実行し、ＭＦＰの機能を利用する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２９３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、ＷｅｂサーバのＷｅｂアプリケーションが情報処理装置（ＭＦＰ）の機能の一部の設定だけを制御する場合であっても、Ｗｅｂアプリケーションが情報処理装置に対する各種処理を記載したスクリプトを一から生成する機能を実現する必要がある。また、情報処理装置のバージョンアップ等により機能が拡張された場合には、Ｗｅｂアプリケーションのスクリプト生成機能をも変更する必要がある。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、情報処理装置側に用意しておいた予め定められた実行条件を含むスクリプトをＷｅｂサーバに送信し、Ｗｅｂサーバ側で変更されたスクリプトを受信することにより、Ｗｅｂアプリケーションの開発負荷を軽減可能とする仕組みを提供するものである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る情報処理装置は、Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備える情報処理装置であって、前記Ｗｅｂブラウザにより表示した第１の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する生成手段と、前記生成手段によって生成されたスクリプトを前記Ｗｅｂサーバに送信すると共に、ユーザによる前記実行条件の変更を受け付けるための第２の操作画面を前記Ｗｅｂサーバに要求する要求手段と、前記Ｗｅｂサーバから受信した前記第２の操作画面を介してユーザによる前記実行条件の変更を受け付け、変更された実行条件を前記Ｗｅｂサーバに送信する送信手段と、前記要求手段によって前記Ｗｅｂサーバに送信されたスクリプトが、前記変更された実行条件に従って前記Ｗｅｂサーバによって変更された後、前記Ｗｅｂサーバから送信される、当該変更されたスクリプトを受信する受信手段と、前記受信手段によって受信されたスクリプトに従って前記機能を実行する実行手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、情報処理装置側に用意しておいた予め定められた実行条件を含むスクリプトをＷｅｂサーバに送信し、Ｗｅｂサーバ側で変更されたスクリプトを受信することにより、Ｗｅｂアプリケーションの開発負荷を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係る情報処理システムの全体構成を示す図である。
【図２】ＭＦＰ及びＷｅｂサーバのハードウェア構成を示す図である。
【図３】ＭＦＰ及びＷｅｂサーバのソフトウエア構成を示す図である。
【図４】ＭＦＰで管理する機能情報の一例を示す図である。
【図５】通信処理のシーケンス図である。
【図６】ＷｅｂブラウザによるメニューのＵＩの一例を示す図である。
【図７】ＭＦＰが生成するスクリプトの一例を示す図である。
【図８】Ｗｅｂサーバが管理するスクリプト情報の一例を示す図である。
【図９】設定ＵＩ生成処理のフローチャートを示す図である。
【図１０】Ｗｅｂブラウザによる設定ＵＩの一例を示す図である。
【図１１】スクリプト編集のフローチャートを示す図である。
【図１２】編集後のスクリプトの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は特許請求の範囲を限定するものでなく、また、実施形態で説明される特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
（第１の実施形態）
本実施形態では、本発明の情報処理装置の一例であるＭＦＰが、Ｗｅｂサーバからの指示に応じて、画像処理及び画像形成処理を行う例について説明する。
【００１３】
＜情報処理システムの全体構成（図１）＞
本実施形態に係る情報処理システムは、Ｗｅｂサーバ１２０と、Ｗｅｂサーバ１２０により提供される操作画面を表示するＷｅｂブラウザを備えるＭＦＰ１１０（情報処理装置）とを備える。ＭＦＰ１１０及びＷｅｂサーバ１２０は、イーサネット（登録商標）等からなるＬＡＮ１００に接続される。ＭＦＰ１１０は、スキャン機能、ファイル転送機能及びＥメール機能を有する。ファイル転送機能は、原稿画像を読み取り、読み取って得られた画像データ（文書データと呼ぶ場合もある）を、ＦＴＰプロトコルやＳＭＢプロトコル等を用いてＬＡＮ１００上の指定した装置に転送する機能である。Ｅメール機能は、画像データを添付ファイルとしてＥメールを作成し、Ｅメールサーバ（不図示）を利用してＥメールを送信する機能である。Ｗｅｂサーバ１２０は、Ｗｅｂサーバ上で動作するソフトウエアであるＷｅｂアプリケーションを有する。Ｗｅｂアプリケーションは、ＭＦＰ１１０からのリクエスト（要求）に応じて、ＭＦＰ１１０の操作部に表示するためのＨＴＭＬデータをレスポンスとして送信する。ただし、本実施形態のシステムでは、これらの構成機器の数に限られることはない。また、本実施形態では、接続方法としてＬＡＮを適用しているが、これに限られることはない。例えば、ＷＡＮ（公衆回線）等の任意のネットワーク、ＵＳＢ等のシリアル伝送方式、セントロニクスやＳＣＳＩ等のパラレル伝送方式等も適用可能である。
【００１４】
＜ＭＦＰ１１０のハードウェア構成（図２（ａ））＞
ＭＦＰ１１０は、画像入力ＭＦＰであるスキャナ部１１２、画像出力デバイスであるプリンタ部１１３、ＭＦＰ１１０の制御を司るコントローラ２００、及び操作部１１１を備える。スキャナ部１１２は、原稿上の画像を読み取って画像データを生成するデバイスである。なお、原稿は原稿フィーダにセットされ、コントローラ２００からスキャナ部１１２に原稿読み取り指示が与えられる。スキャナ部１１２は、この指示を受けると原稿フィーダから原稿を１枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は、原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置し、露光部を移動させることで原稿の走査を行う方法であってもよい。プリンタ部１１３は、コントローラ２００から受け取った画像データを用紙上に画像として形成する画像形成デバイスである。なお、本実施形態では、画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式以外にも、インクジェット方式等でも適用可能である。
【００１５】
コントローラ２００は、操作部１１１、スキャナ部１１２及びプリンタ部１１３と電気的に接続される一方、ＬＡＮ１００にもネットワークインターフェース２０６を介して接続される。すなわち、コントローラ２００は、ＬＡＮ１００を経由して他の機器と接続される。これにより、ＨＴＴＰプロトコルによる通信が可能となる。
【００１６】
ＣＰＵ２０１は、ＨＤＤ２０４からＲＡＭ２０３にロードされた制御プログラム等に基づいて、接続中の各種デバイスへのアクセス及び他のデバイスからのアクセスを統括的に制御する。それと共に、ＣＰＵ２０１は、コントローラ２００内部で行われる各種処理を統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。
【００１７】
ＲＯＭ２０２には、装置のブートプログラムが格納される。ＲＡＭ２０３は、ＣＰＵ２０１が動作するためのシステムワークメモリであり、かつ、画像データを一時記憶するためのメモリでもある。ＲＡＭ２０３は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域とにより構成される。ＨＤＤ２０４（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）は、システムソフトウェアや画像データを格納することが可能である。
【００１８】
操作部Ｉ／Ｆ２０５は、システムバス２１１と操作部１１１とを接続するためのインターフェース部である。操作部Ｉ／Ｆ２０５は、操作部１１１に表示するための画像データをシステムバス２１１から受け取り操作部１１１に出力すると共に、操作部１１１から入力された情報をシステムバス２１１へ出力する。ネットワークＩ／Ｆ２０６は、ＬＡＮ１００及びシステムバス２１１に接続し、情報の入出力を行う。スキャナＩ／Ｆ２０７は、スキャナ部１１２から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナＩ／Ｆ２０７は、受け取った画像データがカラー原稿であるか白黒原稿であるか、文字原稿であるか写真原稿であるか等を判定する機能を持つ。
【００１９】
画像処理部２０８は、画像データの方向変換、画像圧縮、伸張処理等を行う。また、ＨＤＤ２０４に保存されている画像同士を合成して一枚の画像にすることが可能である。プリンタＩ／Ｆ２０９は、画像処理部２０８から送られた画像データを受け取り、この画像データに付随した属性データを参照しながら、画像データに画像処理を施す。画像処理後の画像データは、プリンタ部１１３に出力される。
【００２０】
なお、本実施形態では、情報処理装置の一例としてＵＩ表示を実行するネットワークＭＦＰを想定したが、情報処理装置としては、汎用スキャナや汎用プリンタ等を接続した汎用コンピュータ等、これ以外の装置を想定することもできる。
【００２１】
＜Ｗｅｂサーバ１２０のハードウェア構成（図２（ｂ））＞
Ｗｅｂサーバ１２０は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ネットワークＩ／Ｆ３０５、ハードディスクドライブ（ＨＤＤ）３０６、ＣＲＴ等の表示装置３０７、キーボード等の入力装置３０４、及びマウス等のポインティングデバイス３０８を備える。これらの構成がシステムバス３０９を介して互いに通信可能に接続される。ＲＯＭ３０３又はＨＤＤ３０６には、オペレーティングシステムやＷｅｂアプリケーション等の制御プログラムが格納される。ＣＰＵ３０１は、当該制御プログラムを必要に応じてＲＯＭ３０３又はＨＤＤ３０６からＲＡＭ３０２上へ読み出して実行することで、コンピュータとしての機能を発揮する。また、ＣＰＵ３０１は、表示装置３０７を介して各種情報の表示を行うと共に、入力装置３０４やポインティングデバイス３０８からユーザ指示等を受け付ける。さらに、ネットワークＩ／Ｆ３０５を介してＬＡＮ１１０上の他の装置との通信を行う。
【００２２】
＜ＭＦＰ１１０のソフトウエア構成（図３（ａ））＞
ＭＦＰ１１０のソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、ＣＰＵ２０１が実行する。ＨＴＴＰ通信部４０１は、ネットワークＩ／Ｆ２０６を操作してＨＴＴＰプロトコルにより通信を行うソフトウェアモジュールである。Ｗｅｂブラウザ４０２は、ＨＴＴＰ通信部４０１を介してＷｅｂサーバ１２０と通信を行うＷｅｂブラウザである。Ｗｅｂブラウザ４０２は、Ｗｅｂサーバ１２０に対して、ＨＴＭＬで記載された操作画面のリクエストを行う。また、ＨＴＴＰ通信部４０１を介してＷｅｂサーバ１２０から受け取った操作画面のＨＴＭＬデータをレンダリングして操作部１１１に表示する。また、操作部１１１に表示した操作画面に対する入力をＷｅｂサーバ１２０に通知を行う。
【００２３】
スクリプト実行部４０３は、Ｗｅｂサーバ１２０から送信されるスクリプトを、Ｗｅｂブラウザ４０２経由で受け取って解析し、スクリプトに含まれるジョブ情報に分割する。そして、各ジョブ情報を、スクリプトで指定されている順に実行するようにジョブ管理部４０４に通知する。ジョブ管理部４０４は、スクリプト実行部４０３からの指示を受けてジョブ情報を管理し、順次ジョブの実行をジョブ実行部４０５に指示する。ジョブ実行部４０５は、ジョブ設定に基づいて処理を実行するモジュールである。例えば、ジョブがスキャンジョブであれば、スキャナ部１１２を操作して紙原稿を読み取りＨＤＤ２０４に画像データを保存する。送信ジョブであれば、ネットワークＩ／Ｆ２３６を操作してＨＤＤ２０４内の画像データを送信するというジョブを実行する。スクリプト生成部４０６は、ＭＦＰのデバイス機能実行のためのジョブ定義情報（スクリプト）を生成するモジュールである。機能情報管理部４０７から、現在使用可能な複数の項目からなる機能情報（実行条件）を取得し、その機能に応じたスクリプトを生成する。なお、本実施形態では、スクリプト生成部４０６とＷｅｂブラウザ４０２を分けているが、Ｗｅｂブラウザ４０２がスクリプト生成部４０６を含んでいてもよい。
【００２４】
機能情報管理部４０７は、機器構成情報やユーザ設定から、使用可能な機能を特定し、管理するモジュールである。ここで、機器構成情報は、白黒スキャナ、カラースキャナ等のハードウェアオプションやソフトウェアオプションのことである。同じ種類のＭＦＰでもハードウェアオプションやソフトウェアオプションによって使用できる機能が異なる。また、ユーザ設定とは、管理者によるＭＦＰ個体の設定である。例えば、セキュリティ目的等で強制署名等の設定ができるＭＦＰがある。強制署名とは、ＰＤＦで送信するには必ず署名をつけることである。このようにユーザ設定による違いによっても使用できる機能が異なる。また、機能情報管理部４０７で管理する情報は、ＭＦＰのバージョンによっても異なる。例えば、新しいＭＦＰではスキャンする画像の倍率を設定できるが、古いＭＦＰでは倍率の設定ができない場合等があるからである。このとき、倍率の指定があるスクリプトを古いＭＦＰで実行しようとした場合には、エラーになる可能性がある。また、逆に倍率の指定がないスクリプトを新しいＭＦＰで実行しようとした場合も、倍率の指定がないため、エラーになる可能性がある。このようにＭＦＰのバージョン等が異なる場合においても、使用できる機能が異なる。機能情報管理部４０７で管理する情報については後述する。
【００２５】
＜Ｗｅｂサーバ１２０のソフトウエア構成（図３（ｂ））＞
Ｗｅｂサーバ１２０は、Ｗｅｂアプリケーション５０１及びＨＴＴＰ通信部５０４を備える。Ｗｅｂアプリケーション５０１には、プレゼンテーション部５０２及びロジック部５０３が含まれる。これらのソフトウエアは、Ｗｅｂサーバ１２０のＨＤＤ３０６に格納され、ＣＰＵ３０１により実行される。プレゼンテーション部５０２は、ＨＴＴＰ通信部５０４を介して、ＭＦＰ１１０からのリクエストに応えてＭＦＰ１１０のＷｅｂブラウザ４０２で表示すべき操作画面をＭＦＰ１１０にレスポンスとして送信する。また、プレゼンテーション部５０２は、ＭＦＰ１１０のＷｅｂブラウザ４０２に表示された操作画面を介して入力されたユーザからの入力情報を、ＨＴＴＰ通信部５０４を介してＭＦＰ１１０から受け取る。ロジック部５０３は、プレゼンテーション部５０２から渡されたＭＦＰ１１０からの入力情報に対して処理を行う。例えば、ロジック部５０３は、ユーザからの入力に応じて、表示すべき画面を変更したり、ＭＦＰのデバイス機能実行のためのジョブ定義情報（スクリプト）を編集したりする。ＨＴＴＰ通信部５０４は、ネットワークＩ／Ｆ３０５を操作してＨＴＴＰプロトコルにより通信を行うソフトウェアモジュールである。
【００２６】
＜ＭＦＰ１１０の機能情報（図４）＞
ＭＦＰ１１０の機能情報管理部４０７は、機能情報を示すデータテーブルを管理している。なお、本実施形態では、テーブル形式を用いて管理することとしたが、ＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）形式や、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等でのテキストファイルでもよい。
【００２７】
まず、一例について図４（ａ）を用いて説明する。機能情報６００は、カラム６０１からカラム６０５で構成される。カラム６０１は、カラム６０２の設定項目がどのジョブに関連するかを表している。例えば、１行目を見るとスキャンジョブに関連する項目であることがわかる。カラム６０２は、設定項目を表している。例えば、１行目を見るとカラーモードの設定項目であることが分かる。カラム６０３は、初期値を表している。例えば、１行目を見るとカラーモードの設定の初期値がフルカラーであることがわかる。カラム６０４は、設定可能な範囲を表している。例えば、１行目を見るとカラーモードとして設定可能なのは、フルカラーとグレースケールであるのがわかる。カラム６０５は、初期値からの設定変更可否を表している。例えば、１行目を見るとｔｒｕｅとなっているので、設定が変更可能であることがわかる。
【００２８】
次に、他の例について図４（ｂ）を用いて説明する。図４（ｂ）のカラム等のデータの構成は図４（ａ）と同じであるが、ＭＦＰ１１０の機器構成情報やユーザ設定が図４（ａ）とは異なる場合の例である。本発明の効果がわかりやすいように、以降では基本的にはＭＦＰ１１０の機能情報が図４（ａ）のときの場合の説明を行い、必要に応じてＭＦＰ１１０の機能情報が図４（ｂ）であった場合についても説明する。機能情報６５０は、カラム６５１からカラム６５５で構成される。構成は機能情報６００と同じである。例えば、３行目を見ると送信の設定項目であるファイルフォーマットの設定項目の初期値が署名付きＰＤＦであることがわかる。そして、設定範囲は、署名付きＰＤＦ、ＰＤＦ、ＪＰＥＧであるが、初期値からの変更が不可であることがわかる。機能情報６００には倍率の設定項目があるが、機能情報６５０には倍率の設定項目がない。これは、機能情報６５０を持ったＭＦＰより機能情報６００を持ったＭＦＰの方が新しいからである。つまり、機能情報６００の状態のときには、スクリプトに倍率の指定の記載が必要となり、機能情報６５０の状態のときには、スクリプトに倍率の指定の記載は必要ない。図４（ａ）、図４（ｂ）で示した機能情報は、前述した機器構成情報やユーザ設定が変更される度に更新される。
【００２９】
＜ジョブの実行フロー（図５）＞
ここでは、情報処理システムで実行されるスキャン送信処理について説明する。スキャン送信処理は、ＭＦＰ１１０のスキャナ１１２を用いて原稿台の紙を読み取って画像データを生成し、生成した画像データを含むファイルをＬＡＮ１００上のＦＴＰサーバ（不図示）に転送する例である。まず、ユーザがＭＦＰ１１０の操作部１１１から、ファイル転送機能を実行するためのハードウェアボタン（不図示）を押下することにより、Ｗｅｂブラウザ４０２を起動する。Ｗｅｂブラウザ４０２は、処理実行のためのメニュー画面（第１の操作画面）を取得するため、Ｗｅｂサーバ１２０上のＷｅｂアプリケーション５０１にメニュー画面のリクエストを行う。本実施形態では、予め起動時にメニュー画面のコンテンツを示すＵＲＬをリクエストするようにＭＦＰ１１０に設定されているものとする。Ｗｅｂブラウザ４０２が前記ＵＲＬで示されるコンテンツを保持するＷｅｂアプリケーション５０１に対して、ＨＴＴＰのＧＥＴコマンドによるリクエストを行う（Ｓ１０１）。具体的には、Ｗｅｂブラウザ４０２がＨＴＴＰ通信部４０１にＵＲＬを渡す。それに応じて、ＨＴＴＰ通信部４０１がＨＴＴＰプロトコルによりＷｅｂサーバ１２０のＨＴＴＰ通信部５０４と通信を行う。ＨＴＴＰ通信部５０４は、受け取ったＵＲＬに応じて、適切なＷｅｂアプリケーションにリクエストがあったことを通知する。これにより、Ｗｅｂブラウザ４０２からＷｅｂアプリケーション５０１へのリクエストが行われる。以下、ＨＴＴＰ通信部４０１及びＨＴＴＰ通信部５０４の動作は省略して説明する。Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２は、Ｓ１０１のリクエストに応じて、メニュー画面のＨＴＭＬデータを生成し（Ｓ１０２）、ＨＴＴＰのレスポンスとしてＷｅｂブラウザ４０２に送信を行う（Ｓ１０３）。Ｗｅｂブラウザ４０２は、受け取ったＨＴＭＬデータを解析し、操作部１１１にメニュー画面の表示を行う。例えば、このメニュー画面の一例が図６に示される。図６において、ＧＵＩパネル８００には、ボタン８０１が表示されている。ボタン８０１はスキャンをしてＦＴＰ送信するためのボタンである。
【００３０】
ボタン８０１がユーザにより押下されると、Ｗｅｂブラウザ４０２は、スクリプト生成部４０６に対してスキャンしてＦＴＰ送信するスクリプトの生成を指示する（Ｓ１０４）。そして、スクリプト生成部４０６は、当該生成指示を受けると、ＭＦＰ１１０の状態に基づいてスクリプトを生成する（Ｓ１０５）。このとき、スクリプト生成部４０６は、機能情報管理部４０７から機能情報６００のスキャン及び送信の情報を取得する。スクリプト生成部４０６は、取得した情報からスクリプトを生成する。設定値は、機能情報６００のカラム６０３に記載されている初期値を用いる。また、カラム６０４に記載されている編集可否情報もスクリプトに含める。
【００３１】
ここで、スクリプト生成部４０６がＳ１０５で生成するスクリプトの一例について図７（ａ）を用いて説明する。これは、機能情報管理部４０７で管理されている機能情報が図４（ａ）で示す６００であった場合である。本スクリプトは、スキャンジョブと送信ジョブを順番に実行するものである。ここでは、ＸＭＬでスクリプトを表現するが、スクリプトはＭＦＰ１１０が処理できる形式であればそのフォーマットは問わない。タグ９０１は“ＪｏｂＳｃｒｉｐｔ”タグで、本タグ内に示されたジョブのシーケンスを実行することを示す。ここでは“Ｓｃａｎ”タグ９０２及び“Ｓｅｎｄ”タグ９０８が“ＪｏｂＳｃｒｉｐｔ”タグ９０１に内包されており、これらの処理が実行される。また、”Ｓｃａｎ”タグ９０２は、スクリプト処理で実行するスキャンジョブについての設定情報である。”Ｓｅｔｔｉｎｇｓ”タグ９０３は、以降にジョブの設定があることを示す。“ＤｏｃｕｍｅｎｔＳｉｚｅ”タグ９０４は、スキャン原稿サイズがスキャナ部２０３による自動判別（”Ａｕｔｏ”）であることを示す。また、“ＣｏｌｏｒＭｏｄｅ”タグ９０５は、カラーモードがフルカラー（”ＦｕｌｌＣｏｌｏｒ”）であることを示す。この値は、カラム６０３で定義されている初期値を設定している。“Ｒｅｓｏｌｕｔｉｏｎ”タグ９０６は、スキャンする解像度が６００ｄｐｉ×６００ｄｐｉ（“６００ｘ６００”）であることを示す。この値もカラム６０３で定義されている初期値を設定している。“ＣｏｐｙＲａｔｉｏ”タグ９０７は、スキャンした画像の倍率が１００％（“１００”）であることを示す。”Ｓｅｎｄ”タグ９０８は、本スクリプト処理で実行する送信ジョブの設定情報である。ここでは、“ＦＴＰＡｄｄｒｅｓｓ”タグ９０９で示すように、ＦＴＰプロトコルでサーバ”ｆｔｐｓｅｒｖｅｒ．ｘｘｘ．ｃｏｍ”への送信を示す。また、“ＦｉｌｅＦｏｒｍａｔ”タグ９１０は送信するファイルフォーマットがＰＤＦ形式であることを示し、“ＦｉｌｅＮａｍｅ”タグ９１１は送信するファイル名が”２００９１２１７．ｐｄｆ”であることを示す。
【００３２】
また、機能情報管理部４０７で管理されている機能情報が図４（ｂ）で示す６５０であった場合のスクリプトの一例について図７（ｂ）を用いて説明する。ここでは、図７（ａ）と異なる点のみを説明する。“ＣｏｌｏｒＭｏｄｅ”タグ９５１はカラーモードが白黒（”ＢｌａｃｋＷｈｉｔｅ”）であることを示す。この値は、カラム６５３で定義されている初期値を設定している。“Ｒｅｓｏｌｕｔｉｏｎ”タグ９５２は、スキャンする解像度が２００ｄｐｉ×２００ｄｐｉ（“２００ｘ２００”）であることを示す。この値もカラム６５３で定義されている初期値を設定している。“ＦｉｌｅＦｏｒｍａｔ”タグ９５３は送信するファイルフォーマットは署名付きＰＤＦ（“ＳｉｇｎａｔｕｒｅＰＤＦ”）であることを示す。また、属性“ｅｄｉｔａｂｌｅ”はタグ９５３の値の変更が禁止されている（“ｆａｌｓｅ”）ことを示す。この属性値は、カラム６５５の編集可否情報を設定している。ここで、本実施形態では、変更可否情報が“ｆａｌｓｅ”の場合のみスクリプトに定義を記載しているが、もちろん“ｔｒｕｅ”の場合にも省略せずに記載してもよい。また、スクリプト９５０には倍率を表す“ＣｏｐｙＲａｔｉｏ”タグはない。上記の図７（ａ）及び図７（ｂ）を用いて説明したように、ＭＦＰ１１０は自身の状態（機能情報）によって生成するスクリプトが異なるものとなる。
【００３３】
図５に戻り、Ｗｅｂブラウザ４０２は、スクリプト生成部４０６から、Ｓ１０５で生成されたスクリプトを受け取る（Ｓ１０６）。そして、Ｗｅｂブラウザ４０２は、前記ＵＲＬで示されるコンテンツを保持するＷｅｂアプリケーション５０１に対して、ＨＴＴＰのＰＯＳＴコマンドによって、スキャンしてＦＴＰ送信するための設定画面（第２の操作画面）のリクエストを行う（Ｓ１０７）。このとき、リクエストには、Ｓ１０５で生成されたスクリプトを含める。本実施形態では、ＰＯＳＴコマンドに含めることとしたが、ＧＥＴコマンドのＨＴＴＰヘッダやＵＲＬに含める方法でもよい。Ｗｅｂアプリケーション５０１のロジック部５０３（画面生成手段）が、Ｓ１０７で受け取ったスクリプト９００を解析し、設定画面の生成を行う（Ｓ１０８）。
【００３４】
ここで、Ｓ１０８の詳細な動作を図８及び図９を用いて説明する。図８は、Ｗｅｂアプリケーション５０１のロジック部５０３で管理するスクリプト定義情報の一例である。スクリプト定義情報１０００は、Ｗｅｂアプリケーションが制御すべきＭＦＰの設定の情報さえあればよい。つまり、スクリプトの構成のすべてを認識している必要はない。スクリプト定義情報１０００は、ＣＳＶ形式やＸＭＬ等でのテキストファイルでもよい。カラム１００１は、ＭＦＰの設定項目を示す。例えば、１行目を見ると、ファイルフォーマットを示すことが分かる。カラム１００２は、カラム１００１の設定項目がスクリプト定義のどこに記載されているかを示すパスである。例えば、１行目を見ると、ファイルフォーマット設定は、順に”ＪｏｂＳｃｒｉｐｔ”タグ、“Ｓｅｎｄ”タグ、“Ｓｅｔｔｉｎｇｓ”タグに内包されている“ＦｉｌｅＦｏｒｍａｔ”タグの値に記載されていることがわかる。本実施形態では、ＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ）の簡易的な表現として／（スラッシュ）区切りで表現しているが、これに限られるものではなく、設定項目がスクリプト定義のどこに記載されているかがわかる表現であればよい。カラム１００３は、ファイルフォーマットの設定範囲を示す。例えば、１行目を見ると、ファイルフォーマットには、“ＳｉｇｎａｔｕｒｅＰＤＦ”（署名付きＰＤＦ）、“ＰＤＦ”（ＰＤＦ）、“ＪＰＥＧ”（ＪＰＥＧ）の３種類が設定できることがわかる。
【００３５】
図９は、Ｓ１０８でＷｅｂアプリケーション５０１が、設定画面を生成する処理を示すフローチャートである。まず、ロジック部５０３が、Ｓ１０７で受け取ったスクリプト９００を読み込む（Ｓ２０１）。そして、ロジック部５０３が、スクリプト９００に記載されている初期値と編集可否情報を検索する（Ｓ２０２）。検索する設定項目は、スクリプト定義情報１０００に記載されている設定項目である。そして、カラム１００２に記載されているパスから、設定項目を表すタグがスクリプトのどこに記載されているかを検索する。そして、検索したタグに“ｅｄｉｔａｂｌｅ”属性があるかをチェックする。更に、検索したタグの値を取得する。そして、ロジック部５０３が、スクリプト定義情報１０００に記載されている設定項目の検索が完了したか否かを判定する（Ｓ２０３）。検索が完了していない場合には、スクリプト定義情報１０００の次の行の設定項目を検索するため、Ｓ２０２へ戻る。検索が完了している場合には、Ｓ２０４に遷移する。そして、ロジック部５０３は、Ｓ２０２で検索した設定項目の初期値と編集可否情報から設定画面のＨＴＭＬデータを生成し（Ｓ２０４）、一連の処理を終了する。生成した設定画面については後述する。
【００３６】
再び、図５に戻り、Ｗｅｂアプリケーション５０１は、Ｓ１０８で生成した設定画面のＨＴＭＬをＷｅｂブラウザ４０２へ送信する（Ｓ１０９）。Ｗｅｂブラウザ４０２は、受け取ったＨＴＭＬデータを解析し、操作部１１１に設定画面の表示を行う。
【００３７】
図１０（ａ）は、Ｗｅｂブラウザ４０２が表示する設定画面の一例である。これは、ＭＦＰ１１０が生成したスクリプトが図７（ａ）で示すスクリプト９００だった場合の例である。ＧＵＩパネル１２０１には、ファイル名を設定するテキストボックスコントロール１２０２、画像フォーマットを選択するラジオボタン１２０３がある。本例では、画像データに「２００９１２１７．ｐｄｆ」というファイル名を付与し、画像データをＰＤＦフォーマットで生成することが設定された状態となっている。設定されている値は、スクリプト９００に記載されていた値である。また、ＧＵＩボタン１２０４は機能の実行を指示するボタンであり、ユーザにより押下されるとスキャン開始の指示となる。
【００３８】
図１０（ｂ）は、Ｗｅｂブラウザが表示する設定画面の他の例である。これは、ＭＦＰ１１０が生成したスクリプトが図７（ｂ）で示すスクリプト９５０だった場合の例である。ここでは、図１０（ａ）と異なる部分のみを説明する。スクリプト９５０では、“ＦｉｌｅＦｏｒｍａｔ”タグの属性として“ｅｄｉｔａｂｌｅ”属性があり、属性値は“ｆａｌｓｅ”である。また、初期値は“ＳｉｇｎａｔｕｒｅＰＤＦ”である。そのため、Ｓ２０４で、ロジック部５０３は、画像フォーマットの初期値を署名付きＰＤＦとして、ユーザが変更不可能となるように設定画面を生成する。生成した設定画面は、ＧＵＩパネル１２５１に表示される。つまり、ラジオボタン１２５２のように署名付きＰＤＦが選択された状態で、その他の選択ができないようにする。このようにスクリプトに編集可否情報が記載されているため、Ｗｅｂアプリケーション側でＭＦＰの状態に応じた設定画面の生成が可能となる。
【００３９】
図５に戻り、ユーザによりＧＵＩボタン１２０４が押下されると、Ｗｅｂブラウザ４０２は、テキストボックス１２０２やラジオボタン１２０３に設定されたパラメータをＷｅｂアプリケーション５０１に対して通知する（Ｓ１１０）。通信にはＨＴＴＰプロトコルのＰＯＳＴコマンドを利用するものとする。Ｗｅｂアプリケーション５０１は、Ｓ１１０で受け取ったパラメータを用いてスクリプトを編集する（Ｓ１１１）。すなわち、Ｗｅｂアプリケーション５０１は、ユーザにより設定画面を介して変更が行われた変更結果に基づいて、スクリプトを編集する。
【００４０】
ここで、Ｓ１１１でＷｅｂアプリケーション５０１が、図７（ａ）で示すスクリプト９００を編集する処理について、図１１に示すフローチャートを用いて説明する。ロジック部５０３が、Ｓ１０７で受け取ったスクリプト９００を読み込む（Ｓ３０１）。ロジック部５０３が、Ｓ１１０で受け取ったパラメータを用いてスクリプト９００を編集する（Ｓ３０２）。具体的には、ロジック部５０３は、図８で示すスクリプト定義情報１０００に記載されているカラム１００１の設定項目のタグをスクリプト９００から検索する。図８のカラム１００２に記載されているパスから、カラム１００１の設定項目を示すタグがスクリプトのどこに記載されているかを検索することができる。そして、検索の結果、見つかったタグの値に、Ｓ１１０で受け取ったパラメータを記載する。そして、ロジック部５０３が、Ｓ１１０で受け取ったパラメータのすべてに対して、スクリプト９００の編集が完了したか否かを判定する（Ｓ３０３）。編集が完了していない場合は、スクリプト定義情報１０００の次の行の設定項目の編集を行うため、Ｓ３０２へ戻る。編集が完了している場合は、Ｓ３０４に遷移する。そして、ロジック部５０３は、スクリプト９００のＦＴＰサーバのパス（“ＦｔｐＡｄｄｒｅｓｓ”タグの値）を変更し（Ｓ３０４）、一連の処理を終了する。ここで、ＦＴＰサーバのパスはスクリプト定義情報１０００のカラム１００３に記載されている値を記載する。
【００４１】
図１２（ａ）及び（ｂ）は、Ｓ１１１でスクリプト９００の編集を行った後のスクリプトの例である。図１２（ａ）では、Ｓ１１０で、ユーザがファイル名を“２００９１２１７．ｐｄｆ”から“ｔｅｓｔ．ｐｄｆ”に変更し、ファイルフォーマットはＰＤＦのままにした場合について説明する。スクリプト９００と比較すると、ＦＴＰサーバのパスを示すタグ１４０１の値を、“ｆｔｐｓｅｒｖｅｒｘｘｘ．ｃｏｍ”から“ｆｔｐ００１ｘｘｘ．ｃｏｍ”に変更している。これはＳ３０４で変更したものである。送信ファイル名を示すタグ１４０２の値を、“２００９１２１７．ｐｄｆ”から“ｔｅｓｔ．ｐｄｆ”に変更している。これは、Ｓ３０２で、スクリプト９００の記載をユーザが設定したパラメータに変更したものである。同様に、図１２（ｂ）では、ＦＴＰサーバのパスを示すタグ１４５１の値を、“ｆｔｐｓｅｒｖｅｒｘｘｘ．ｃｏｍ”から“ｆｔｐ００１ｘｘｘ．ｃｏｍ”に変更している。送信ファイル名を示すタグ１４５２の値を、“２００９１２１７．ｐｄｆ”から“ｔｅｓｔ．ｐｄｆ”に変更している。このように、Ｗｅｂアプリケーション５０１は、制御を行うべき設定項目（本実施形態では、ＦＴＰサーバのパス、送信ファイル名及びファイル形式）以外の部分に関しては、スクリプトの内容を認識していなくてもよい。
【００４２】
図５に戻り、Ｓ１１２でＷｅｂアプリケーション５０１は、編集が完了したスクリプト１４００をＷｅｂブラウザに送信する。Ｗｅｂブラウザ４０２がＳ１１２で受け取ったスクリプト１４００をスクリプト実行部４０３に渡す（Ｓ１１３）。スクリプト実行部４０３は、スクリプト１４００を受け取ることでスクリプトの実行を行う。
【００４３】
以上述べた通り、本実施形態によれば、ＭＦＰ側で自身の状態に応じたスクリプトを生成することにより、Ｗｅｂアプリーション側では、制御を行うべき設定項目以外の部分に関しては、スクリプトの内容を認識していなくてもよい。また、ＭＦＰのバージョンアップ等によりスクリプトの拡張があった場合でも、Ｗｅｂアプリケーション側で制御する機能に変更がない場合には、Ｗｅｂアプリーションを変更する必要がない。そのため、Ｗｅｂアプリケーションの開発負荷を軽減することができる。
【００４４】
（他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005706643.tif 000002
【図２】
0005706643.tif 000003
【図３】
0005706643.tif 000004
【図４】
0005706643.tif 000005
【図５】
0005706643.tif 000006
【図６】
0005706643.tif 000007
【図７】
0005706643.tif 000008
【図８】
0005706643.tif 000009
【図９】
0005706643.tif 000010
【図１０】
0005706643.tif 000011
【図１１】
0005706643.tif 000012
【図１２】
0005706643.tif 000013