(57)【要約】【課題】ＭＦＰとＷｅｂサーバ間のファイアウォールを検出し、ファイアウォールの存在によって、ネットワーク接続の方法を変更する情報処理システム及びその制御方法を提供する。【解決手段】本情報処理システムは、ネットワークを介して接続された画像処理装置と、情報処理装置とを含む。画像処理装置は、画像処理装置と情報処理装置との間の通信路にファイアウォールが存在するか否かを示す有無情報を情報処理装置に要求する。情報処理装置は、画像処理装置と情報処理装置との間の通信路にファイアウォールが存在するか否かを検出し、ファイアウォールが存在する場合は、第１通信方法を採用し、ファイアウォールが存在しない場合は、第２通信方法を採用するように、通信方法を調整し、結果を画像処理装置に通知する。【選択図】図４
2012015979.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された画像処理装置と、情報処理装置とを含む情報処理システムであって、
前記画像処理装置は、
前記画像処理装置と前記情報処理装置との間の通信路にファイアウォールが存在するか否かを示す有無情報を前記情報処理装置に要求する要求手段を備え、
前記情報処理装置は、
前記要求手段の要求に応じて、前記画像処理装置と前記情報処理装置との間の通信路にファイアウォールが存在するか否かを検出する検出手段と、
前記検出手段による検出結果が前記ファイアウォールの存在を示す場合は、前記画像処理装置からの要求に対する応答として前記情報処理装置が指示を発行する第１通信方法を採用し、該検出結果が前記ファイアウォールの存在を示さない場合は、前記画像処理装置からの要求を必要とすることなく前記情報処理装置が指示を発行する第２通信方法を採用するように、通信方法を調整する調整手段と、
前記調整手段によって調整された通信方法と、前記有無情報とを前記画像処理装置に通知する通知手段と
を備えることを特徴とする情報処理システム。
【請求項２】
前記検出手段は、
前記画像処理装置に対して、通信が可能か否かを判定するためのテストパケットを送信する送信手段と、
前記送信手段によって送信された前記テストパケットの応答を、前記画像処理装置から予め定められた時間以内に受信した場合には、前記通信路にファイアウォールが存在しないと判定し、前記画像処理装置から前記予め定められた時間以内に該応答を受信しない場合には、前記通信路にファイアウォールが存在すると判定するファイアウォール判定手段と
を備えることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記検出手段は、さらに、
前記要求手段による要求の送信元である前記画像処理装置が前記情報処理装置のローカルネットワークに存在するか否かを判定するローカルネットワーク判定手段と、
前記ローカルネットワーク判定手段によって前記画像処理装置が前記情報処理装置のローカルネットワークに存在すると判定されると、前記予め定められた時間を低減する低減手段と
を備えることを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記画像処理装置は、
前記調整手段が調整した通信方法に応じて、前記画像処理装置と前記情報処理装置との間で実行可能な機能を調整する能力調整手段をさらに備えることを特徴とする請求項１乃至３の何れか１項に記載の情報処理システム。
【請求項５】
前記第１通信方法は、前記画像処理装置から前記情報処理装置へのネットワーク接続のみが可能な一方向通信であり、
前記第２通信方法は、前記画像処理装置から前記情報処理装置へのネットワーク接続と、前記情報処理装置から前記画像処理装置へのネットワーク接続とが可能な双方向通信であることを特徴とする請求項１乃至４の何れか１項に記載の情報処理システム。
【請求項６】
前記画像処理装置は、さらに、
前記第２通信方法で前記情報処理装置と通信を行う場合に、定期的に前記情報処理装置に対して指示を要求する手段をさらに備えることを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記画像処理装置は、さらに、
通信対象となる装置との間の通信路に、ファイアウォールが存在する否かを示す情報を入力するための入力画面を表示する手段と、
前記入力画面を介して入力された前記情報を前記通信対象となる前記情報処理装置に送信する手段と
をさらに備え、
前記検出手段は、前記画像処理装置から送信された前記情報に基づいて、前記画像処理装置と情報処理装置との間の通信路にファイアウォールが存在するか否かを検出することを特徴とする請求項１乃至６の何れか１項に記載の情報処理システム。
【請求項８】
ネットワークを介して画像処理装置と接続された情報処理装置であって、
前記画像処理装置からの要求に応じて、前記画像処理装置と前記情報処理装置との間の通信路にファイアウォールが存在するか否かを検出する検出手段と、
前記検出手段による検出結果が前記ファイアウォールの存在を示す場合は、前記画像処理装置からの要求に対する応答として前記情報処理装置が指示を発行する第１通信方法を採用し、該検出結果が前記ファイアウォールの存在を示さない場合は、前記画像処理装置からの要求を必要とすることなく前記情報処理装置が指示を発行する第２通信方法を採用するように、通信方法を調整する調整手段と、
前記調整手段によって調整された通信方法と、前記画像処理装置と情報処理装置との間の通信路にファイアウォールが存在するか否かを示す有無情報とを前記画像処理装置に通知する通知手段と
を備えることを特徴とする情報処理装置。
【請求項９】
ネットワークを介して接続された画像処理装置と、情報処理装置とを含む情報処理システムの制御方法であって、
前記画像処理装置の要求手段が、前記画像処理装置と前記情報処理装置との間の通信路にファイアウォールが存在するか否かを示す有無情報を前記情報処理装置に要求する要求ステップと、
前記情報処理装置の検出手段が、前記要求ステップの要求に応じて、前記画像処理装置と前記情報処理装置との間の通信路にファイアウォールが存在するか否かを検出する検出ステップと、
前記情報処理装置の調整手段が、前記検出ステップによる検出結果が前記ファイアウォールの存在を示す場合は、前記画像処理装置からの要求に対する応答として前記情報処理装置が指示を発行する第１通信方法を採用し、該検出結果が前記ファイアウォールの存在を示さない場合は、前記画像処理装置からの要求を必要とすることなく前記情報処理装置が指示を発行する第２通信方法を採用するように、通信方法を調整する調整ステップと、
前記情報処理装置の通知手段が、前記調整ステップにおいて調整された通信方法と、前記有無情報とを前記画像処理装置に通知する通知ステップと
を実行することを特徴とする情報処理システムの制御方法。
【請求項１０】
ネットワークを介して画像処理装置と接続された情報処理装置の制御方法であって、
検出手段が、前記画像処理装置からの要求に応じて、前記画像処理装置と前記情報処理装置との間の通信路にファイアウォールが存在するか否かを検出する検出ステップと、
調整手段が、前記検出ステップによる検出結果が前記ファイアウォールの存在を示す場合は、前記画像処理装置からの要求に対する応答として前記情報処理装置が指示を発行する第１通信方法を採用し、該検出結果が前記ファイアウォールの存在を示さない場合は、前記画像処理装置からの要求を必要とすることなく前記情報処理装置が指示を発行する第２通信方法を採用するように、通信方法を調整する調整ステップと、
通知手段が、前記調整ステップにおいて調整された通信方法と、前記画像処理装置と情報処理装置との間の通信路にファイアウォールが存在するか否かを示す有無情報とを前記画像処理装置に通知する通知ステップと
を実行することを特徴とする情報処理装置の制御方法。
【請求項１１】
請求項９に記載の情報処理システムの制御方法をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１０に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置であるＷｅｂサーバと、当該Ｗｅｂサーバから提供される操作画面を表示するＷｅｂブラウザを備える画像処理装置とを含む情報処理システム、情報処理装置、それらの制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
ＰＣなどの情報処理装置がネットワーク上のＷｅｂサーバに接続され、Ｗｅｂサーバにより提供される操作画面を、当該情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）する。その後、Ｗｅｂサーバ上のＷｅｂアプリケーションが情報処理装置からの要求に応じて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬファイルを情報処理装置に応答（レスポンス）する。情報処理装置のＷｅｂブラウザは、受信したＨＴＭＬファイルを解析し、ＨＴＭＬファイルの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００３】
ところで、最近ではスキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の中にも、前述したようなＷｅｂブラウザを備えているものがある。このようなＭＦＰは、前述した手順を用いてＷｅｂサーバにより提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付ける。
【０００４】
また、特許文献１には、ＭＦＰが備える各機能を利用するための指示を入力する操作画面を、Ｗｅｂサーバが提供する技術が提案されている。具体的には、ＭＦＰのユーザがＭＦＰに対する指示を入力する。そして、入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂサーバに要求として通知される。この通知を受けたＷｅｂサーバは、入力された指示に基づいてＭＦＰに対する各種処理を記載したスクリプトを作成する。作成したスクリプトは前述のＷｅｂブラウザからの要求に対する応答として、ＷｅｂサーバからＭＦＰに通知される。ＭＦＰはＷｅｂブラウザからスクリプト処理部にスクリプトを渡すことでスクリプトを実行し、ＭＦＰの機能を利用する。同様に、特許文献２には、特許文献１とは異なり、Ｗｅｂブラウザが画面表示スクリプトを実行する技術が提案されている。具体的には、当該スクリプト内で、ＭＦＰの機能を処理するＷｅｂサービスを呼び出すことで、デバイスの機能を利用する。
【０００５】
また、特許文献１、２とは違う通信形態の技術も考えられている。当該技術では、Ｗｅｂサーバは作成したスクリプトを特許文献１、２のように要求に対する応答として返すのではなく、別のスクリプト投入用のネットワーク接続をＭＦＰに対して行い、この接続内でスクリプトを送信する。当該技術と特許文献１、２との違いは、ＷｅｂサーバからＭＦＰのジョブをキャンセルする等、Ｗｅｂサーバ主導でＭＦＰにスクリプトを投入することができる。さらには、ＷｅｂサーバがＭＦＰの状況を取得したいときなど、スクリプト投入以外でも、Ｗｅｂサーバ主導でＭＦＰの動作を確認することができる。そのため特許文献１、２で行う方法より、タイムリーにＭＦＰの操作を行うことが可能である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１２７５０３号公報
【特許文献２】特開２００８−００３８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、以下に記載する問題がある。例えば、上述した特許文献１、２とは違う通信形態では、ＭＦＰとＷｅｂサーバとの間のネットワーク上にファイアウォールが存在する場合、ＷｅｂサーバからＭＦＰへスクリプトを投入するネットワーク接続が困難であるという問題がある。一例として、ＭＦＰが企業内のローカルネットワークに接続され、Ｗｅｂサーバがインターネット上に配置された場合である。この例でＭＦＰからＷｅｂサーバに接続を行う場合は、ファイアウォールの内側からの接続になるため、通常は接続可能である。しかしながら、ＷｅｂサーバからＭＦＰに接続を行う場合は、ファイアウォールの外側から内側への接続となるため、通常はファイアウォールでこの接続がブロックされ、通信ができない。そのため、ＷｅｂサーバはＭＦＰに対してスクリプトを投入することができない。
【０００８】
一方で、上記特許文献１、２に記載の技術では、ＭＦＰ側（Ｗｅｂブラウザ）からのアクセス（リクエスト）に対する応答（レスポンス）としてＷｅｂサーバが情報を返すだけであり、ファイアウォールが存在したとしてもそれに遮られることはない。しかし、一旦スクリプトをＷｅｂブラウザに送信した後は、処理が終了するまでＷｅｂアプリケーションはＷｅｂブラウザからの次の要求を待つしかないため、タイムリーな処理を行うことができない。
【０００９】
本発明は、上述の問題に鑑みて成されたものであり、ＭＦＰとＷｅｂサーバ間のファイアウォールを検出し、ファイアウォールの存在によって、ネットワーク接続の方法を変更する情報処理システム及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、例えば、ネットワークを介して接続された画像処理装置と、情報処理装置とを含む情報処理システムとして実現できる。画像処理装置は、画像処理装置と情報処理装置との間の通信路にファイアウォールが存在するか否かを示す有無情報を情報処理装置に要求する要求手段を備え、情報処理装置は、要求手段の要求に応じて、画像処理装置と情報処理装置との間の通信路にファイアウォールが存在するか否かを検出する検出手段と、検出手段による検出結果がファイアウォールの存在を示す場合は、画像処理装置からの要求に対する応答として情報処理装置が指示を発行する第１通信方法を採用し、検出結果がファイアウォールの存在を示さない場合は、画像処理装置からの要求を必要とすることなく情報処理装置が指示を発行する第２通信方法を採用するように、通信方法を調整する調整手段と、調整手段によって調整された通信方法と、有無情報とを画像処理装置に通知する通知手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明は、例えば、ＭＦＰとＷｅｂサーバ間のファイアウォールを検出し、ファイアウォールの存在によって、ネットワーク接続の方法を変更する情報処理システム及びその制御方法を提供できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における情報処理システムの構成例を示す図である。
【図２】本発明の実施形態におけるＭＦＰ及びＷｅｂサーバの構成例を示すブロック図である。
【図３】本発明の実施形態におけるＭＦＰ及びＷｅｂサーバのソフトウェア構成例を示す図である。
【図４】第１の実施形態に係る通信処理のシーケンス図である。
【図５】本発明の実施形態におけるファイアウォール検出のフローチャートである。
【図６】本発明の実施形態におけるＷｅｂブラウザによる設定ＵＩ例を示す図である。
【図７】第１の実施形態における通信処理のシーケンス図である。
【図８】第２の実施形態における通信処理のシーケンス図である。
【図９】第３の実施形態におけるファイアウォールの設定ＵＩ例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１４】
＜情報処理システムの構成＞
まず、図１を参照して、本発明を適用可能な情報処理システムの全体構成について説明する。図１に示すように、画像処理装置であるＭＦＰ１１０は、イーサネット（登録商標）などからなるＬＡＮ１００に接続されている。本発明に係る情報処理システムは、例えば、ＭＦＰ１１０、及びＷｅｂサーバ１２０を備える。ＭＦＰ１１０は、例えば、コピー機能、スキャナ機能及びデータ送信機能を有する。データ送信機能とは、スキャナ機能によって原稿画像を読み取り、得られた画像データを、ＦＴＰプロトコルやＳＭＢプロトコル等を用いてＬＡＮ１００やインターネット上の指定した装置に送信する機能である。また、画像データを添付ファイルとしてＥメールを作成し、Ｅメールサーバ（不図示）を利用してＥメールを送信することもできる。
【００１５】
Ｗｅｂサーバ１２０は、インターネット上に存在しているサーバである。ＬＡＮ１００とインターネットはファイアウォール１３０を介して接続されている。ファイアウォール１３０は、インターネットからＬＡＮ１００へのアクセスや、ＬＡＮ１００からインターネットへのアクセスを制限するサーバである。本実施形態では、インターネットからＬＡＮ１００へのアクセスは禁止し、ＬＡＮ１００上のＭＦＰ１１０からインターネット上のＷｅｂサーバ１２０へのアクセス又はＷｅｂサーバ１２０が提供しているサービスへの接続は許可されているものとして説明する。
【００１６】
Ｗｅｂサーバ１２０は、情報処理装置であり、イーサネット（登録商標）などからなるＬＡＮ／ＷＡＮ１０１に接続されている。Ｗｅｂサーバ１２０上で動作するソフトウェアであるＷｅｂアプリケーションは、ＭＦＰ１１０からの要求（リクエスト）に応じて、ＭＦＰ１１０の操作部１１１に表示するためのＨＴＭＬデータを応答として送信する。
【００１７】
ただし、本実施形態における情報処理システムにおいては、これらの構成機器の数やファイアウォールの設定に限定されない。また、本実施形態では接続方法としてＬＡＮを適用しているが、本発明は、これに限定されず、例えば、ＷＡＮ（公衆回線）などの任意のネットワーク、ＵＳＢなどのシリアル伝送方式、セントロニクスやＳＣＳＩなどのパラレル伝送方式なども適用可能である。
【００１８】
＜ＭＦＰ１１０及びＷｅｂサーバ１２０のハードウェア構成＞
次に、図２を参照して、本発明におけるＭＦＰ１１０及びＷｅｂサーバ１２０のハードウェア構成について説明する。まず、ＭＦＰ１１０のハードウェア構成について説明する。ＭＦＰ１１０は、画像入力ＭＦＰであるスキャナ部１１２、画像出力デバイスであるプリンタ部１１３、ＭＦＰ１１０の制御を司るコントローラ２００、及び操作部１１１を備える。なお、本実施形態では、ＭＦＰ１１０がＵＩ表示を実行するネットワークＭＦＰであるが、汎用スキャナや汎用プリンタなどを接続した汎用コンピュータ等、これ以外の画像処理装置であってもよい。
【００１９】
スキャナ部１１２は、原稿上の画像を読み取って画像データを生成するデバイスである。なお、コントローラ２００は、原稿フィーダにセットされた原稿の読み取り指示をスキャナ部１１２に与える。スキャナ部１１２は、この指示を受けると原稿フィーダから原稿を１枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
【００２０】
プリンタ部１１３は、コントローラ２００から受け取った画像データを用紙上に画像として形成する画像形成デバイスである。なお、本実施形態において画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式以外にも、インクジェット方式などでも適用可能である。
【００２１】
コントローラ２００は、操作部１１１、スキャナ部１１２、プリンタ部１１３と電気的に接続されている一方、ＬＡＮ１００にもネットワークＩ／Ｆ（インタフェース）２０６を介して接続されている。すなわち、ＬＡＮ１００を経由して他の機器と接続されている。これによりＨＴＴＰプロトコルによる通信が可能となっている。
【００２２】
ＣＰＵ２０１は、ＲＯＭ２０２に記憶された制御プログラム等に基づいて、接続中の各種デバイスへのアクセス及び他のデバイスからのアクセスを統括的に制御する。それとともに、コントローラ２００内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。ＲＯＭ２０２には、上記制御プログラムに加えて、装置のブートプログラムも格納されている。
【００２３】
ＲＡＭ２０３は、ＣＰＵ２０１が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。ＲＡＭ２０３は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域により構成されている。ＨＤＤ２０４はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
【００２４】
操作部Ｉ／Ｆ２０５は、システムバス２１１と操作部１１１とを接続するためのインタフェース部である。操作部Ｉ／Ｆ２０５は、操作部１１１に表示するための画像データをシステムバス２１１から受け取って操作部１１１に出力するとともに、操作部１１１から入力された情報をシステムバス２１１へと出力する。ネットワークＩ／Ｆ２０６はＬＡＮ１００及びシステムバス２１１に接続し、情報の入出力を行う。スキャナＩ／Ｆ２０７は、スキャナ部１１２から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナＩ／Ｆ２０７は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する機能を有する。
【００２５】
画像形成部２０８は画像データの方向変換、画像圧縮、伸張処理などを行う。また、ＨＤＤ２０４に保存されている画像同士を合成して一枚の画像にすることが可能である。プリンタＩ／Ｆ２０９は、画像形成部２０８から送られた画像データを受け取り、この画像データに付随した属性データを参照しながら画像データに画像処理を行う。画像処理後の画像データは、プリンタ部１１３に出力される。
【００２６】
次に、Ｗｅｂサーバ１２０のハードウェア構成について説明する。Ｗｅｂサーバ１２０は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ネットワークＩ／Ｆ３０５、及びハードディスクドライブ（ＨＤＤ）３０６を備え、各部がシステムバス３０９を介して互いに通信可能に接続されている。また、ＣＲＴ等の表示装置３０７、キーボード等の入力装置３０４、及びマウス等のポインティングデバイス３０８が、システムバス３０９を介して互いに通信可能に接続されている。
【００２７】
ＲＯＭ３０３及びＨＤＤ３０６には、オペレーティングシステムやＷｅｂアプリケーションなどの制御プログラムが格納されている。ＣＰＵ３０１は、当該制御プログラムを必要に応じてＲＯＭ３０３或いはＨＤＤ３０６からＲＡＭ３０２上へ読み出して実行することで、コンピュータとしての機能を発揮する。また、ＣＰＵ３０１は、表示装置３０７を介して各種情報の表示を行うとともに、入力装置３０４やポインティングデバイス３０８からユーザ指示等を受け付ける。さらに、ネットワークＩ／Ｆ３０５を介してＬＡＮ／ＷＡＮ１０１に接続されている他の装置と通信を行う。通信可能な機器は、ＬＡＮ／ＷＡＮ１０１と接続可能なＬＡＮ／ＷＡＮを含む。
【００２８】
＜ＭＦＰ１１０及びＷｅｂサーバ１２０のソフトウェア構成図＞
次に、図３を参照して、本実施形態での通信処理に関わるＭＦＰ１１０及びＷｅｂサーバ１２０のソフトウェアモジュールの構成について説明する。まず、ＭＦＰ１１０のソフトウェアモジュールについて説明する。これらソフトウェアモジュールは、ＭＦＰ１１０のＨＤＤ２０４に格納され、ＣＰＵ２０１によって実行する。
【００２９】
ＨＴＴＰ通信部４０１は、ネットワークＩ／Ｆ２０６を操作してＨＴＴＰプロトコルを用いて通信を行うソフトウェアモジュールである。Ｗｅｂブラウザ４０２は、ＨＴＴＰ通信部４０１を介してＷｅｂサーバ１２０と通信を行うＷｅｂブラウザである。Ｗｅｂブラウザ４０２は、Ｗｅｂサーバ１２０に対して、ＨＴＭＬで記載された操作画面の要求を行う。また、ＨＴＴＰ通信部４０１を介してＷｅｂサーバ１２０から受け取った操作画面のＨＴＭＬデータをレンダリングして操作部１１１に表示する。また、操作部１１１に表示した操作画面に対する入力をＷｅｂサーバ１２０に通知を行う。
【００３０】
スクリプト実行部４０３は、Ｗｅｂサーバ１２０が作成し、Ｗｅｂブラウザ４０２経由で受け取ったスクリプト情報を解析し、スクリプトに含まれるジョブ情報に分割する。そして各ジョブ情報を、スクリプトで指定されている順に実行するようにジョブ管理部４０４に通知する。また、Ｗｅｂサービスサーバ部４０６に働きかけて、スクリプト実行部の操作インタフェースをＷｅｂサービスとして提供することができる。スクリプト実行部４０３の操作インタフェースとしては、実行しているジョブの状況を含むスクリプトの状況を取得するものや、ジョブ管理部４０４で管理しているジョブの制御用の操作インタフェースがある。例えば、スキャンジョブであれば、スキャンの中止や、原稿を入れ替えての再スタートの制御等が含まれる。
【００３１】
ジョブ管理部４０４は、スクリプト実行部４０３からの指示を受けてジョブ情報を管理し、順次ジョブの実行をジョブ実行部４０５に指示する。ジョブ実行部４０５は、ジョブ設定に基づいてジョブの処理を実行するモジュールである。例えば、ジョブがスキャンジョブであれば、スキャナ部１１２を操作して紙原稿を読み取り、ＨＤＤ２０４に画像データを保存する。送信ジョブであれば、ネットワークＩ/Ｆ２０６を操作してＨＤＤ２０４内の画像データを送信するというジョブを実行する。Ｗｅｂサービスサーバ部４０６は、Ｗｅｂサービスを提供するサーバ機能を有するソフトウェアモジュールである。スクリプト実行部４０３からの呼び出しに応じて、スクリプト実行部４０３を操作するためのＷｅｂサービスを提供する。また、呼び出されたＷｅｂサービスに応じてスクリプト実行部４０３を呼び出すことができる。さらには、通信路上にあるファイアウォール検出を行う際に、待ち受けサーバとして動作し、Ｗｅｂサーバ１２０が送信した通信テストパケットを受信することも可能である。
【００３２】
次に、Ｗｅｂサーバ１２０のソフトウェアモジュールについて説明する。Ｗｅｂサーバ１２０には、Ｗｅｂアプリケーション５０１及びＨＴＴＰ通信部５０４が備えられている。さらに、Ｗｅｂアプリケーション５０１には、プレゼンテーション部５０２及びロジック部５０３が含まれる。これらソフトウェアは、Ｗｅｂサーバ１２０のＨＤＤ３０６に格納され、ＣＰＵ３０１によって実行される。
【００３３】
プレゼンテーション部５０２は、ＨＴＴＰ通信部５０４を介して、ＭＦＰ１１０からの要求に応じてＭＦＰ１１０のＷｅｂブラウザ４０２で表示すべき操作画面をＭＦＰ１１０に応答として送信する。また、ＭＦＰ１１０のＷｅｂブラウザ４０２に表示された操作画面を介して入力されたユーザからの入力情報を、ＨＴＴＰ通信部５０４を介してＭＦＰ１１０から受け取る。
【００３４】
ロジック部５０３は、プレゼンテーション部５０２から渡されたＭＦＰ１１０からの入力情報に対して処理を行う。例えば、ユーザからの入力に応じて、表示すべき画面を変更したり、ＭＦＰ１１０のデバイス機能実行のためのジョブ定義情報（スクリプト）を作成したりする。ＨＴＴＰ通信部５０４は、ネットワークＩ／Ｆ３０５を操作してＨＴＴＰプロトコルを用いて通信を行うソフトウェアモジュールである。
【００３５】
＜第１の実施形態＞
＜能力調整とジョブの実行フロー＞
以下では、図４乃至図７を参照して、本発明に係る第１の実施形態について説明する。まず、図４を参照して、本発明の情報処理装置の一例であるＷｅｂサーバ１２０が、ファイアウォール１３０を検出した場合のジョブ実行のフロー処理について説明する。Ｗｅｂブラウザ４０２は、処理実行のための設定画面を取得するため、Ｗｅｂサーバ１２０上のＷｅｂアプリケーション５０１に設定画面の要求を行う。本実施形態では、予め起動時に設定画面のコンテンツを示すＵＲＬを要求するようにＭＦＰ１１０に設定されているものとする。
【００３６】
まず、Ｓ６０１において、ＭＦＰ１１０のＷｅｂブラウザ４０２は、Ｗｅｂサーバ１２０との通信処理を実行する前に、ＭＦＰ１１０とＷｅｂサーバ１２０との間の通信路におけるファイアウォールを検出するために、通信方法調整コネクションを張る。Ｗｅｂブラウザ４０２は、このコネクションを張るために、ネットワークパケットをＷｅｂサーバ１２０へ送信する。さらに、後述する通信テストで使用するネットワークパケット待ち受けを行うアクセスポイントの初期化を、Ｗｅｂサービスサーバ部４０６へ依頼する。Ｗｅｂサービスサーバ部４０６は待ち受けの初期化を行い、ネットワークパケットを待ち受け状態とする。
【００３７】
Ｗｅｂサーバ１２０のＷｅｂアプリケーション５０１は、通信方法調整コネクションを受信すると、Ｓ６０２において通信テストを行う。ここで、図５を参照して、Ｓ６０２の通信テストについて説明する。図５のフローチャートは、Ｗｅｂサーバ１２０のＣＰＵ３０１によって統括的に制御される。また、以下で説明する処理は、検出手段の処理の一例である。Ｓ７０１において、Ｗｅｂアプリケーション５０１は、Ｓ６０１の通信方法調整コネクションを受信するとＳ７０２に遷移する。Ｓ７０２において、Ｗｅｂアプリケーション５０１は、当該パケットの送信元アドレス（即ち、ＭＦＰ１１０のアドレスとなる。）を確認し、このアドレスがローカルネットワークであるか否かを判定する。ローカルアドレスの確認方法としては、ＩＰｖ４であれば、各クラスに用意されているプライベートアドレスを用いて判定する。具体的にはクラスＡであれば、１０．０．０．０〜１０．２５５．２５５．２５５であり、クラスＢであれば１７２．１６．０．０〜１７２．３１．２５５．２５５であり、クラスＣであれば１９２．１６８．０．０〜１９２．１６８．２５５．２５５である。また、ＩＰｖ６では、リンクローカルアドレスやサイトローカルアドレス（現在は使用が奨励されていない。）が、ローカルネットワークのアドレスとして扱われる。その他のプロトコルにおいても、ＩＰアドレスと同じようにローカルネットワークの概念があるものに関しては、ローカルネットワークであるか否かを判定する。本実施形態では、ローカルネットワーク判定を行うが、処理時間に余裕がある場合などは、この判定処理を必ずしも行う必要はない。
【００３８】
Ｗｅｂアプリケーション５０１が送信者をローカルネットワークと判定した場合、Ｓ７０３に遷移する。Ｓ７０３において、Ｗｅｂアプリケーション５０１は、待ち受けタイムアウト値を減らす。このタイムアウト値は、後述するファイアウォール検索処理ためのタイムアウト値である。デフォルトでは、３分のタイムアウトとしているが、検出したパケットはローカルネットワーク上にあるＭＦＰ１１０から送信されたものであるため、ローカルネットワーク外の装置と比較して通信時間が短くてよいと判断し、例えば、３分を１分に変更し、待ち受け時間を低減する。これにより、通信テストを効率的に行うことができる。Ｓ７０２でＷｅｂアプリケーション５０１がタイムアウト値を変更すると、Ｓ７０４に遷移する。一方、Ｓ７０２で、検出したパケットがローカルネットワーク上にないと判定した場合は、Ｓ７０３の処理を行うことなく、Ｓ７０４へ遷移する。
【００３９】
Ｓ７０４において、Ｗｅｂアプリケーション５０１は、ＭＦＰ１１０へ向けて通信テストパケットを送信し、Ｓ７０５に遷移する。この通信テストパケットは、上記Ｓ６０１でＷｅｂブラウザ４０２が送信した通信方法調整パケットの応答（レスポンス）ではなく、別のネットワーク接続を行うために送信する。送信先は、Ｓ６０１でＷｅｂサービスサーバ部４０６が新たに通信テスト用に待ち受けているアクセスポイントである。
【００４０】
Ｓ７０５において、Ｗｅｂアプリケーション５０１は、予め定められた時間以内においてＭＦＰ１１０からの応答を待ち受ける。Ｗｅｂサービスサーバ部４０６はＳ６０１で待ち受けたアクセスポイントで、Ｗｅｂアプリケーション５０１から送信されたネットワークパケットを受信すると、直ちにＷｅｂアプリケーション５０１へ応答を返す。Ｗｅｂアプリケーション５０１はこの応答を受け取ると、Ｓ７０６へ遷移する。Ｓ７０６でＷｅｂアプリケーション５０１は、予め定められた時間以内に応答が帰ってきた場合、Ｗｅｂブラウザ４０２からＭＦＰ１１０への通信が正常に終了したと判断する。この結果、Ｓ７０６でＷｅｂアプリケーション５０１は、通信路上にファイアウォールがないと判断し、ＭＦＰ１１０とＷｅｂサーバ１２０との間の通信路にファイアウォールが存在しないことを示す有無情報を設定して、Ｓ６０２の通信テストを終了する。
【００４１】
一方、Ｓ７０５でＷｅｂアプリケーション５０１は、通信パケットの待ち受けがタイムアウトになった場合、即ち、予め定められた時間以内に応答を受信しない場合はＳ７０７に遷移する。Ｓ７０７において、Ｗｅｂアプリケーション５０１は、Ｗｅｂアプリケーション５０１からＭＦＰ１１０への通信が正常に終了しなかったと判定する。この結果、Ｓ７０７でＷｅｂアプリケーション５０１は通信路上にファイアウォールが存在すると判断し、ＭＦＰ１１０とＷｅｂサーバ１２０との間の通信路にファイアウォールが存在することを示す有無情報を設定して、Ｓ６０２の通信テストを終了する。なお、Ｓ７０５乃至Ｓ７０７の処理は、ファイアウォール判定手段の処理の一例である。
【００４２】
図４の説明に戻る。ＷｅｂアプリケーションはＳ６０２において通信路上にファイアウォールの検出処理を終えると、Ｓ６０３へ遷移する。Ｓ６０３において、Ｗｅｂアプリケーション５０１は、Ｓ６０１でＭＦＰ１１０が送信したネットワークパケットに対して、Ｓ６０２で検出したファイアウォールの検出結果である有無情報を付与してＭＦＰ１１０に応答を送信する。Ｓ６０３でＷｅｂブラウザ４０２は、Ｗｅｂサーバ１２０からファイアウォールの存在と通信方法を受け取ると、Ｓ６０４の能力調整を行う。
【００４３】
ここで、通知方法とは、ＭＦＰ１１０とＷｅｂサーバ１２０との間の通信方法を示す。具体的には、ＭＦＰ１１０とＷｅｂサーバ１２０との間の通信路にファイアウォールが存在しないため、ＭＦＰ１１０からの要求を必要とすることなくＷｅｂサーバ１２０が指示を発行することが可能な第２通信方法を採用する通信方法に調整される。第２通信方法とは、例えば、ＭＦＰ１１０からＷｅｂサーバ１２０へのネットワーク接続と、Ｗｅｂサーバ１２０からＭＦＰ１１０へのネットワーク接続とが可能な双方向通信であることを特徴とする。
【００４４】
まず、ファイアウォールが存在しない場合のシーケンスについて説明する。ファイアウォールが存在しない場合は、Ｓ６０４において、ＭＦＰ１１０は、Ｗｅｂサーバ１２０からセッションを張るアクセスポイントの通知や、ＭＦＰ１１０の能力(印刷速度、枚数、スキャナ有り無し等、実行可能な機能を示す。)を調整する能力調整を行う。同時に、ＭＦＰ１１０のＷｅｂサービスサーバ部４０６は、Ｓ６０４で通知したアクセスポイントを使用可能とする初期化を行い、パケットの待ち受けを開始する。同時に、スクリプト実行部４０３へスクリプトを投入可能にするための初期化処理も行う。ここでは、例えば、Ｓ６０１で作成したＷｅｂサービスサーバ部４０６のアクセスポイントを再利用してもよい。もし再利用しない場合は、Ｓ６０１で作成したＷｅｂサービスサーバ部４０６のアクセスポイントについては処理を終了する。
【００４５】
次に、Ｓ６０５において、Ｗｅｂアプリケーション５０１は、各種能力をＭＦＰ１１０から受け取り、ＭＦＰ１１０に投入可能な処理を、Ｗｅｂサーバ１２０に予め設定されている設定値から取得する。Ｗｅｂアプリケーション５０１が投入可能な処理を取得すると、Ｓ６０５に遷移し能力調整の応答をＭＦＰ１１０へ送信する。本説明ではＭＦＰ１１０とＷｅｂサーバ１２０との間にファイアウォールが存在しないため、すべての機能が使用可能である。もしファイアウォール接続時に機能制限を行いたい場合は、Ｓ６０５の能力調整応答に、Ｗｅｂサーバ１２０の使用機能情報を付加してもよい。この場合、ＭＦＰ１１０は、能力調整応答に基づいて、ＭＦＰ１１０の使用可能な機能を限定する。
【００４６】
次に、Ｓ６０６において、Ｗｅｂブラウザ４０２は、使用可能な機能における設定値で、Ｗｅｂサーバ１２０と予め調整しておく必要がある項目を取得する。これら項目は、予め定められた項目であり、例を挙げると接続タイムアウト値やＵＩタイムアウト値などである。Ｗｅｂブラウザ４０２は、これらの調整が必要な項目を、Ｓ６０６でＷｅｂアプリケーション５０１へ送信する。Ｗｅｂアプリケーション５０１はＳ６０６でＭＦＰ１１０から設定値を受け取ると、Ｗｅｂアプリケーション５０１の値と比較し、ＭＦＰ１１０から送信された値を使用する。本実施形態では、ＭＦＰ１１０から送信された値をそのまま使用するとしたが、Ｗｅｂサーバ１２０から再調整を行う方法など、他の方法で調整してもよい。続いて、Ｓ６０７において、Ｗｅｂアプリケーション５０１は、ＭＦＰ１１０へ応答を送信し、Ｓ６０８へ遷移する。
【００４７】
Ｓ６０８以降では、本シーケンス図において順に情報処理システムで実施されるスキャン送信処理の詳細について説明する。スキャン送信処理は、ＭＦＰ１１０のスキャナ部１１２を用いて原稿を読み取って画像データを生成し、生成した画像データをＬＡＮ／ＷＡＮ１００及びＬＡＮ／ＷＡＮ１０１上のＦＴＰサーバ（不図示）に送信する処理である。本実施形態では、各種処理を行う前に上述した能力調整を行うが、一度調整した結果を調整結果として保存しておき、再度処理を行う場合は調整処理を省略してもよい。さらには、能力調整をシステムが初めて起動したときにのみ実施してもよいし、一定時間が経過した後、再度能力調整を行ってもよい。
【００４８】
まず、ユーザがＭＦＰ１１０の操作部１１１から、送信機能を実行するためのボタンを押下することにより、Ｗｅｂブラウザ４０２が起動する。その後、Ｓ６０８において、Ｗｅｂブラウザ４０２は、上記ＵＲＬで示されるコンテンツを保持するＷｅｂアプリケーション５０１に対して、ＨＴＴＰのＧＥＴコマンドによる要求を行う。具体的には、Ｗｅｂブラウザ４０２がＨＴＴＰ通信部４０１にＵＲＬを渡す。それに応じて、ＨＴＴＰ通信部４０１がＨＴＴＰプロトコルを用いてＷｅｂサーバ１２０のＨＴＴＰ通信部５０４と通信を行う。ＨＴＴＰ通信部５０４は受け取ったＵＲＬに応じて、適切なＷｅｂアプリケーションに要求があったことを通知する。これにより、Ｗｅｂブラウザ４０２からＷｅｂアプリケーション５０１への要求が行われる。以下、ＨＴＴＰ通信部４０１とＨＴＴＰ通信部５０４の動作は省略して説明する。
【００４９】
Ｓ６０９において、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２は、Ｓ６０８の要求に応じて、設定画面のＨＴＭＬデータ（画面情報）を作成し、ＨＴＴＰ要求の応答として、Ｗｅｂブラウザ４０２に生成したＨＴＭＬデータ送信する。Ｗｅｂブラウザ４０２は受け取ったＨＴＭＬデータを解析し、操作部１１１に設定画面の表示を行う。
【００５０】
図６は、Ｓ６０９で受信したＨＴＭＬデータを用いて、Ｗｅｂブラウザ４０２が表示する設定画面の一例である。ＧＵＩパネル８０１には、ファイル名を設定するテキストボックス８０２、画像フォーマットを選択するラジオボタン８０３が表示される。図６では、画像データに「ｔｅｓｔ．ｐｄｆ」というファイル名を付与し、画像データをＰＤＦフォーマットで生成することが設定された状態となっている。また、ＧＵＩボタン８０４は機能の実行を指示するボタンであり、ユーザにより押下されるとスキャン開始の指示となる。
【００５１】
図４の説明に戻る。Ｓ６１０において、Ｗｅｂブラウザ４０２は、Ｗｅｂアプリケーション５０１に対して、処理の実行を指示する。ユーザによりＧＵＩボタン８０４を押下されると、Ｗｅｂブラウザ４０２は、テキストボックス８０２やラジオボタン８０３に設定されたパラメータをＷｅｂアプリケーション５０１に通知する。通信にはＨＴＴＰプロトコルのＰＯＳＴコマンドを利用することが望ましい。
【００５２】
次に、Ｓ６１１において、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２は、Ｓ６１０の要求に応じて、処理中画面のＨＴＭＬデータを作成する。また、ロジック部５０３がＳ６１０のＰＯＳＴコマンドに含まれる設定情報に基づき、ＭＦＰ１１０で処理を実行するためのスクリプトを生成する。そして、Ｓ６１０の要求とは別の新規のネットワークコネクションを、ＭＦＰ１１０のＷｅｂサービスサーバ部４０６に対して接続する。このネットワークコネクションが張られると、処理中画面とスクリプトをＷｅｂサービスサーバ部４０６に送信する。Ｗｅｂサービスサーバ部４０６は、受け取ったＨＴＴＰの応答を、スクリプトと処理中画面のＨＴＭＬデータに分割する。Ｓ６１２で、Ｗｅｂサービスサーバ部４０６は、スクリプトと処理中画面のＨＴＭＬデータをスクリプト実行部４０３に送信する。スクリプト実行部４０３は受け取ったスクリプトを実行すると同時に、Ｗｅｂブラウザ４０２の画面上に処理中画面のＨＴＭＬデータを表示する。本実施形態では、処理中画面のＨＴＭＬデータは、Ｗｅｂアプリケーション５０１から送信されるものとして説明したが、画面はＭＦＰ１１０側で生成してもよい。
【００５３】
次に、図７を参照して、ファイアウォールが存在する場合のシーケンスについて説明する。ファイアウォールが存在する場合についても、Ｓ６０１乃至Ｓ６０３までの処理は、ファイアウォールが存在しない場合の処理と同様であるため、説明を省略する。なお、ここでは、ＭＦＰ１１０とＷｅｂサーバ１２０との間の通信路にファイアウォールが存在するため、ＭＦＰ１１０からの要求の応答としてＷｅｂサーバ１２０が指示を発行する第１通信方法を採用する通信方法に調整される。第１通信方法とは、例えば、ＭＦＰ１１０からＷｅｂサーバ１２０へのネットワーク接続のみが可能な一方向通信であることを特徴とする。
【００５４】
Ｓ９０１において、Ｗｅｂブラウザ４０２は、ファイアウォールが存在する場合にＳ６０１で作成したＷｅｂサービスサーバ部４０６のアクセスポイントを閉じる（終了する）処理を、Ｗｅｂサービスサーバ部４０６へ依頼する。Ｗｅｂサービスサーバ部４０６は作成したアクセスポイントの終了処理を行う。さらに、Ｗｅｂブラウザ４０２は、ＭＦＰ１１０の能力（印刷速度、枚数、スキャナ有り無し等）の取得を行い、Ｗｅｂサーバ１２０へ通知する。
【００５５】
ここで、Ｗｅｂアプリケーション５０１はＭＦＰ１１０から各種能力を受け取り、この値からＭＦＰ１１０に投入可能な処理を、予め設定されている設定値から取得する。ファイアウォールが存在する場合は、Ｗｅｂアプリケーション５０１からＭＦＰ１１０へネットワーク接続を行うことができないため、Ｗｅｂアプリケーション５０１からＭＦＰ１１０の処理を、Ｗｅｂアプリケーション５０１主導で行うことができない。例えば、ＭＦＰ１１０で実行しているコピー動作をＷｅｂサーバ１２０がキャンセルしたい場合に、ＭＦＰ１１０からの要求がない場合には、Ｗｅｂサーバ１２０がコピー処理のキャンセルを行うスクリプト投入をすることができない。そのため本実施形態では、ＭＦＰ１１０でのコピー機能の使用を禁止とする。Ｗｅｂアプリケーション５０１はＳ９０２で能力調整応答として、コピー禁止を付加してＭＦＰ１１０へ送信する。
【００５６】
ＭＦＰ１１０のＷｅｂブラウザ４０２はＳ９０２の能力調整応答を受け取ると、コピー禁止処理を行い、Ｓ９０３に遷移する。Ｓ９０３において、Ｗｅｂブラウザ４０２は、使用可能な機能における設定値で、Ｗｅｂサーバ１２０と予め調整しておく必要がある項目を取得する。これら項目は、予め定められた項目であり、例を挙げると接続タイムアウト値やＵＩタイムアウト値などである。Ｗｅｂブラウザ４０２は、これらの調整が必要な項目を、Ｓ９０３でＷｅｂアプリケーション５０１へ送信する。
【００５７】
Ｗｅｂアプリケーション５０１は、Ｓ９０３でＭＦＰ１１０から設定値を受け取ると、Ｗｅｂアプリケーション５０１の値と比較し、ＭＦＰ１１０から送信された値を使用する。本実施形態では、ＭＦＰ１１０から送信された値をそのまま使用するとしたが、Ｗｅｂサーバ１２０から再調整を行う方法など、他の方法で調整してもよい。Ｓ９０３で設定情報の調整を終了すると、Ｓ９０４に遷移する。Ｓ９０４において、Ｗｅｂアプリケーション５０１は、ＭＦＰ１１０へ応答を送信し、Ｓ９０５へ遷移する。
【００５８】
Ｓ９０５以降では、本シーケンス図において順に情報処理システムで実施されるスキャン送信処理の詳細について説明する。スキャン送信処理は、ＭＦＰ１１０のスキャナ部１１２を用いて原稿を読み取って画像データを生成し、生成した画像データをＬＡＮ／ＷＡＮ１００及びＬＡＮ／ＷＡＮ１０１上のＦＴＰサーバ（不図示）に送信する処理である。本実施形態では、各種処理を行う前にこれら能力調整を行うが、一度調整した場合はその調整結果を保存しておき、再度処理を行う場合は調整をしなくともよい。さらには、能力調整をシステムが始めて起動したときにのみ実施してもよい。
【００５９】
Ｓ９０５において、Ｗｅｂブラウザ４０２は、上記ＵＲＬで示されるコンテンツを保持するＷｅｂアプリケーション５０１に対して、ＨＴＴＰのＧＥＴコマンドによる要求を行う。具体的には、Ｗｅｂブラウザ４０２がＨＴＴＰ通信部４０１にＵＲＬを渡す。それに応じて、ＨＴＴＰ通信部４０１がＨＴＴＰプロトコルを用いてＷｅｂサーバ１２０のＨＴＴＰ通信部５０４と通信を行う。ＨＴＴＰ通信部５０４は受け取ったＵＲＬに応じて、適切なＷｅｂアプリケーションに要求があったことを通知する。これにより、Ｗｅｂブラウザ４０２からＷｅｂアプリケーション５０１への要求が行われる。以下、ＨＴＴＰ通信部４０１とＨＴＴＰ通信部５０４との動作は省略して説明する。
【００６０】
次に、Ｓ９０６において、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２は、Ｓ９０５の要求に応じて、設定画面のＨＴＭＬデータを作成し、ＨＴＴＰの応答として、Ｗｅｂブラウザ４０２に送信する。Ｗｅｂブラウザ４０２は受け取ったＨＴＭＬデータを解析し、操作部１１１に図６に示す設定画面を表示する。
【００６１】
続いて、Ｓ９０７において、Ｗｅｂブラウザ４０２は、Ｗｅｂアプリケーション５０１に対して、処理の実行を指示する。ユーザによりＧＵＩボタン８０４が押下されると、Ｗｅｂブラウザ４０２は、テキストボックス８０２やラジオボタン８０３に設定されたパラメータをＷｅｂアプリケーション５０１に通知する。通信にはＨＴＴＰプロトコルのＰＯＳＴコマンドを利用することが望ましい。Ｓ９０８において、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２は、Ｓ９０７の要求に応じて、処理中画面のＨＴＭＬデータを作成する。また、ロジック部５０３がＳ９０７のＰＯＳＴコマンドに含まれる設定情報に基づき、ＭＦＰ１１０での処理実行のためのスクリプトを生成する。その後、Ｓ９０８において、Ｗｅｂアプリケーション５０１は、ＨＴＴＰの応答として、処理中画面とスクリプトをＷｅｂブラウザ４０２に送信する。Ｗｅｂブラウザ４０２は、受け取ったＨＴＴＰの応答を、スクリプトと処理中画面のＨＴＭＬデータに分割する。また、Ｓ９０９において、Ｗｅｂブラウザ４０２は当該スクリプトをスクリプト実行部４０３へ送信する。スクリプト実行部４０３は受け取ったスクリプトを実行する。なお、処理中画面のＨＴＭＬデータはＷｅｂブラウザ４０２が自身の画面上に表示する。
【００６２】
以上説明したように、本実施形態の情報処理システムによれば、通信路上にファイアウォールが存在しない場合は、ＷｅｂサーバからＭＦＰへネットワーク接続を行う最適な通信方法に調整する。したがって、Ｗｅｂサーバ主導でＭＦＰに対してスクリプトの投入や画面の表示が可能となる。一方、ファイアウォールが存在する場合でも、ＷｅｂサーバとＭＦＰとが通信できなくなるのではなく、ＭＦＰからのネットワーク接続を利用する通信方法に調整するため、ＷｅｂサーバとＭＦＰとが通信を行い、スクリプトの投入や画面の表示が可能となる。さらには、通信を開始する前にファイアウォールを検出し、検出結果によって通信方法の決定を行い、使用可能な能力の調整を行い、通信方法によって使用できない機能を調整することができる。さらには、使用不可の機能は画面上で非表示とすることが可能となるため、ユーザに使用可能な機能のみを提供できる。
【００６３】
＜第２の実施形態＞
次に、図８を参照して、本発明に係る第２の実施形態について説明する。本実施形態では、本発明の情報処理装置の一例であるＷｅｂサーバ１２０が、ファイアウォール１３０を検出したのちの通信処理において、第１の実施形態とは異なる方法について説明する。
【００６４】
図８のシーケンスは、既に通信方法の調整が終了した後の処理を示す。即ち、Ｓ６０７やＳ９０６の設定値調整応答と同等のステップを終了した後の処理である。
【００６５】
図８に示すＳ１０５０乃至Ｓ１０６０において、Ｗｅｂブラウザ４０２は、スクリプト投入用のセッションをＷｅｂサーバ１２０に定期的に接続する。Ｗｅｂサーバ１２０は、このセッションを使用して、ＭＦＰ１１０を操作する場合のスクリプト投入や、ＭＦＰに表示させる画面を送付することが可能となる。本実施形態では、Ｗｅｂブラウザ４０２がスクリプト投入用のセッションをポーリングする方法で説明するが、第１の実施形態で説明したＷｅｂサービスサーバ部４０６がこの動作を担ってもよい。さらには、ポーリングを行わず、一度送ったジョブ投入用のセッションを、Ｗｅｂブラウザ４０２とＷｅｂアプリケーション５０１とがスクリプト投入まで保持し、スクリプトを投入したら、再度新しいセッションを張る方法でもよい。
【００６６】
能力調整を終えると、Ｓ１０５０において、Ｗｅｂブラウザ４０２は、Ｗｅｂサーバ１２０へスクリプト投入用のセッションを送信する。Ｗｅｂサーバ１２０は、ＭＦＰ１１０へ投入したいスクリプトや、表示したい画面がある場合、スクリプト投入用のセッションの応答として、これらのデータを送信する。何もない場合は、このセッションを無視する。その他の方法としては、送信するデータが何もないことを返してもよい。Ｗｅｂブラウザ４０２は、返信がなく一定の時間が経過すると、Ｓ１０５０のセッションを破棄し、Ｓ１０５１において、再度スクリプト投入用のセッションを送信する。このように、Ｓ１０５０乃至１０５０において、スクリプト投入用セッションを一定時間ごとに繰り返し送信する。
【００６７】
Ｓ１００１乃至Ｓ１００７の処理では、本シーケンス図において順に情報処理システムで実施されるスキャン送信処理の詳細について説明する。スキャン送信処理は、ＭＦＰ１１０のスキャナ部１１２を用いて原稿を読み取って画像データを生成し、生成した画像データをＬＡＮ／ＷＡＮ１００及びＬＡＮ／ＷＡＮ１０１上のＦＴＰサーバ（不図示）に送信する処理である。本実施形態では、各種処理を行う前にこれらの能力調整を行うが、一度調整した場合はその調整結果を保存しておき、再度処理を行う場合は調整をしなくともよい。さらには、能力調整をシステムが初めて起動したときにのみ実施してもよい。
【００６８】
Ｓ１００１において、Ｗｅｂブラウザ４０２は、上記ＵＲＬで示されるコンテンツを保持するＷｅｂアプリケーション５０１に対して、ＨＴＴＰのＧＥＴコマンドによる要求を行う。具体的には、Ｗｅｂブラウザ４０２がＨＴＴＰ通信部４０１にＵＲＬを渡す。それに応じて、ＨＴＴＰ通信部４０１がＨＴＴＰプロトコルを用いてＷｅｂサーバ１２０のＨＴＴＰ通信部５０４と通信を行う。ＨＴＴＰ通信部５０４は受け取ったＵＲＬに応じて、適切なＷｅｂアプリケーションに要求があったことを通知する。これにより、Ｗｅｂブラウザ４０２からＷｅｂアプリケーション５０１への要求が行われる。以下、ＨＴＴＰ通信部４０１とＨＴＴＰ通信部５０４との動作は省略して説明する。
【００６９】
次に、Ｓ１００２において、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２は、Ｓ１００１の要求に応じて、設定画面のＨＴＭＬデータを作成し、ＨＴＴＰの応答として、Ｗｅｂブラウザ４０２に送信する。Ｗｅｂブラウザ４０２は受け取ったＨＴＭＬデータを解析し、操作部１１１に図６に示す設定画面を表示する。
【００７０】
続いて、Ｓ１００３において、Ｗｅｂブラウザ４０２は、Ｗｅｂアプリケーション５０１に対して、処理の実行を指示する。ユーザによりＧＵＩボタン８０４が押下されると、Ｗｅｂブラウザ４０２は、テキストボックス８０２やラジオボタン８０３に設定されたパラメータをＷｅｂアプリケーション５０１に通知する。通信にはＨＴＴＰプロトコルのＰＯＳＴコマンドを利用することが望ましい。
【００７１】
次に、Ｓ１００４において、Ｗｅｂアプリケーション５０１のプレゼンテーション部５０２は、Ｓ１００３の要求に応じて、処理中画面のＨＴＭＬデータを作成する。また、ロジック部５０３がＳ１００３のＰＯＳＴコマンドに含まれる設定情報に基づき、ＭＦＰ１１０での処理実行のためのスクリプトを生成する。そしてＳ１００４で、Ｗｅｂアプリケーション５０１は、ＨＴＴＰの応答として、処理中画面をＷｅｂブラウザ４０２に送信する。
【００７２】
Ｗｅｂブラウザ４０２は、受け取ったＨＴＴＰの応答を、Ｗｅｂブラウザ４０２の画面に表示する。ロジック部５０３が作成したスクリプトは、次のスクリプト投入セッションを待つ。図８の例では、Ｓ１０５５でＷｅｂブラウザ４０２からスクリプト投入セッションが張られると、Ｗｅｂアプリケーション５０１は、Ｓ１００４で作成したスクリプトを、Ｓ１００５においてＳ１０５５の応答として送信する。Ｗｅｂブラウザ４０２は、Ｓ１００５で受信したスクリプトを、Ｓ１００６でスクリプト実行部４０３へ送信する。
【００７３】
スクリプト実行部４０３は受け取ったスクリプトを実行する。なお、処理中画面のＨＴＭＬデータは、Ｓ１００４で送信したが、Ｓ１００５でスクリプトと一緒に投入してもよい。さらには、Ｗｅｂブラウザ４０２はスクリプトのみをスクリプト実行部４０３へ送信したが、処理中画面のＨＴＭＬデータも同時にスクリプト実行部４０３へ送信してもよい。この場合、スクリプト実行部４０３は、ＨＴＭＬ画面をＷｅｂブラウザ４０２に表示してもよいし、スクリプト実行部４０３が画面を作成して、Ｗｅｂブラウザ４０２の前面に表示してもよい。このように、ＭＦＰ１１０からの定期的な要求により、Ｗｅｂサーバ１２０は、タイムリーなスクリプトの投入が可能となる。したがって、ファイアウォールが存在しない場合と同等の制御を実現することができる。
【００７４】
＜第３の実施形態＞
次に、図９を参照して、本発明に係る第３の実施形態について説明する。本実施形態では、本発明の情報処理装置の一例であるＭＦＰ１１０が、ファイアウォールを検出する処理について説明する。図９は、ＭＦＰ１１０において、通信対象となる装置との間の通信路上にファイアウォールがあるかどうかを、使用するユーザに入力させる入力画面である。ＭＦＰ１１０のＧＵＩ画面１１０１には、ＭＦＰ１１０の接続先として登録済みのＷｅｂサーバ１２０のデータがリスト表示される。各登録先との通信路の間におけるファイアウォールの有無に応じて、１１０２〜１１０４のラジオボタンを操作して、ファイアウォールの有無を登録をする。１１０２の接続先Ａの場合は、通信路上にファイアウォールが存在するため、有りが選択されている。一方、１１０３の接続先Ｂの場合は、通信路上にファイアウォールが存在しないため、無しのラジオボタンが選択されている。さらに、接続先Ａや接続先Ｂ以外のサーバと接続する場合は、１１０４のその他でどちらかを選択する。
【００７５】
設定を反映させる場合は、１１０５の設定ボタンを押下する。設定をキャンセルする場合は、１１０６のキャンセルボタンを押下する。本実施形態では自動的にリスト表示されるとしたが、ファイアウォール有りの接続先を入力し、登録するようなＧＵＩでもよい。ＭＦＰ１１０がＷｅｂサーバ１２０に接続する場合、この１１０１のＧＵＩで設定されたファイアウォール設定を、Ｗｅｂサーバ１２０に通知することで、Ｗｅｂサーバ１２０はファイアウォールの検出を行うことができる。その後の処理フローは、第１及び第２の実施形態と同様であるため、説明を省略する。なお、ＭＦＰ１１０にファイアウォールの設定を行うＧＵＩを設けたが、Ｗｅｂサーバ１２０側において、接続するＭＦＰごとにファイアウォール設定を行うＧＵＩを設けてもよい。さらに、本実施形態では、ＧＵＩにおいてユーザが入力したが、通信路上のファイアウォールからＭＦＰ１１０へファイアウォールの存在を教える方法をとってもよい。
【００７６】
＜他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012015979.tif 000003
【図２】
2012015979.tif 000004
【図３】
2012015979.tif 000005
【図４】
2012015979.tif 000006
【図５】
2012015979.tif 000007
【図６】
2012015979.tif 000008
【図７】
2012015979.tif 000009
【図８】
2012015979.tif 000010
【図９】
2012015979.tif 000011