JP5822537B2 - 情報処理装置、情報処理装置の制御方法、及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP5822537B2
JP5822537B2 JP2011112898A JP2011112898A JP5822537B2 JP 5822537 B2 JP5822537 B2 JP 5822537B2 JP 2011112898 A JP2011112898 A JP 2011112898A JP 2011112898 A JP2011112898 A JP 2011112898A JP 5822537 B2 JP5822537 B2 JP 5822537B2
Authority
JP
Japan
Prior art keywords
execution
job
service
information
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011112898A
Other languages
English (en)
Other versions
JP2012019508A (ja
Inventor
文利 伊藤
文利 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011112898A priority Critical patent/JP5822537B2/ja
Priority to US13/265,637 priority patent/US20120113453A1/en
Priority to PCT/JP2011/062875 priority patent/WO2011155419A1/en
Publication of JP2012019508A publication Critical patent/JP2012019508A/ja
Application granted granted Critical
Publication of JP5822537B2 publication Critical patent/JP5822537B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00464Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00501Tailoring a user interface [UI] to specific requirements
    • H04N1/00503Customising to a particular machine or model, machine function or application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/001Sharing resources, e.g. processing power or memory, with a connected apparatus or enhancing the capability of the still picture apparatus

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、Webサーバに接続可能であり、Webサーバにより提供される画面情報に基づく操作画面を表示する情報処理装置、情報処理装置の制御方法、プログラムに関する。
一般に、PCなどの情報処理装置がネットワーク上のWebサーバに接続され、Webサーバにより提供される操作画面を、情報処理装置が備えるWebブラウザ上に表示することが知られている。この場合、まず情報処理装置のWebブラウザが、Webサーバに対して操作画面の画面情報を要求する。Webサーバ上のWebアプリケーションは、情報処理装置からのリクエストに応じて、Webブラウザに操作画面を表示させるための画面情報に相当するHTMLファイルを情報処理装置に送ることで、当該要求に応答する。情報処理装置のWebブラウザは、受信したHTMLファイルを解析し、HTMLファイルの記述に基づいた操作画面を、ディスプレイ等の表示部に表示する。
情報処理装置において、Webブラウザによって表示された操作画面を介してユーザが指示を入力すると、入力された指示をWebブラウザがWebサーバに対して通知する。この通知を受けたWebサーバ上のWebアプリケーションは、通知された指示に従って処理を実行する。
ところで、最近ではスキャナやプリンタを備えたMFP(Multi Function Peripheral)の中にも、前述したようなWebブラウザを備えているものがある。このようなMFPは、前述の手順を用いてWebサーバにより提供される画面情報に基づく操作画面をWebブラウザによって表示部に表示し、表示した操作画面を介したユーザからの各種指示を受付ける。
例えば、特許文献1によれば、Webサーバは、MFPが備える各機能を利用するための指示を入力するための操作画面の画面情報を、当該MFPに提供する。MFPのユーザは、表示された操作画面を用いてMFPに対する指示を入力する。入力された指示は、MFPのWebブラウザによってWebサーバにリクエストとして通知される。この通知を受けたWebサーバは、入力された指示に基づいて、MFPに対する各種処理を記載したスクリプトを生成する。生成したスクリプトは、前述のWebブラウザからのリクエストに対する応答として、WebサーバからMFPに通知される。MFPは、Webブラウザからスクリプト処理部に、Webサーバから通知されたスクリプトを渡すことでスクリプトを実行させ、MFPが備えるデバイスの機能を利用する。
また、特許文献2によれば、特許文献1とは異なり、MFPのWebブラウザが画面表示スクリプトを実行する。そして、MFPは、そのスクリプト内でMFPの機能を処理するWebサービスを呼び出すことで、MFPが備えるデバイスの機能を利用する。
特開2006−127503号公報 特開2008−003833号公報
しかしながら、特許文献1に記載のMFPでは、スクリプト実行中に、当該実行に関連する指示の入力のための操作画面をスクリプト処理部のソフトウェアが表示する。このため、MFPは、スクリプトの実行中には、WebサーバのWebアプリケーションから提供される画面を表示することができない。また、操作画面のカスタマイズも困難である。
一方、特許文献2に記載のMFPでは、WebサーバのWebアプリケーションにMFPのユーザインタフェース(UI)を制御させるためには、MFPは、スクリプトの実行中であるか否かにかかわらず、当該MFPの機能をWebサーバに制御させるためのWebサービスを、Webサーバに常に利用可能にしておく必要がある。そのため、スクリプト実行中以外でもメモリ等のMFPのリソースが必要となる。
本発明は、係る課題を鑑みてなされたものであり、MFPにおいてWebサーバからの要求に従って当該MFPの機能を実行する際に、その実行を制御するためのサービスを、必要に応じて利用可能とする技術を提供する。
上記の目的を達成するために、本発明は、例えば情報処理装置として実現できる。情報処理装置は、Webサーバに接続可能な情報処理装置であって、前記Webサーバから提供される画面情報に基づく操作画面を表示し、当該操作画面を介して入力された入力情報を前記Webサーバに送信し、かつ、前記Webサーバへ送信した当該入力情報に対応するジョブの実行要求であって、当該ジョブの実行中に当該ジョブの実行を制御するためのサービスの定義情報を含む、前記実行要求を、前記Webサーバから受信する表示制御手段と、前記表示制御手段を介して、前記Webサーバからの前記実行要求を受信すると、当該受信した実行要求に従ったジョブを実行する実行手段と、実行中のジョブを制御するための複数のサービスを提供可能なサービス提供手段と、を備え、前記実行手段は、前記受信した実行要求に従ったジョブの実行を開始する際に、前記受信した実行要求に含まれる前記定義情報に定義されたサービスを前記サービス提供手段に登録することによって、前記サービス提供手段に、前記複数のサービスのうちで、当該登録したサービスをユーザが利用可能な状態にさせ、前記受信した実行要求に従ったジョブの実行が前記実行手段によって開始されると、前記サービス提供手段は、前記複数のサービスのうちで、当該ジョブの実行中に当該ジョブの実行を制御するための前記登録されたサービスをユーザに提供する、ことを特徴とする
本発明によれば、MFPにおいてWebサーバからの要求に従って当該MFPの機能を実行する際に、その実行を制御するためのサービスを、必要に応じて利用可能とする技術を提供できる。
実施形態1に係る情報処理システムの全体構成を示す図。 実施形態1に係るMFPのハードウェア構成を示すブロック図。 実施形態1に係るWebサーバのハードウェア構成を示すブロック図。 実施形態1に係るMFPのソフトウェア構成を示すブロック図。 実施形態1に係るWebサーバのソフトウェア構成を示すブロック図。 実施形態1に係る通信処理のシーケンスを示す図。 実施形態1に係るWebブラウザによるユーザインタフェースの例を示す図。 実施形態1に係るスクリプトファイルの例を示す図。 実施形態1に係るHTMLデータの例を示す図。 実施形態1に係る、MFPにおけるスクリプトの実行手順を示すフローチャート。 実施形態1に係る、Webブラウザによるスキャン実行中、待機中、終了のユーザインタフェースの例を示す図。 実施形態2に係る通信処理のシーケンスを示す図。 実施形態2に係るHTMLデータの例を示す図。
<実施形態1>
実施形態1では、本発明の情報処理装置の一例であるMFPが、Webサーバからの指示に応じて、画像形成処理を行う例を説明する。
(情報処理システム全体の構成)
図1は、実施形態1における情報処理システムの全体構成を示す図である。図1に示すように、MFP110およびWebサーバ120は、イーサネット(登録商標)などからなるLAN100に接続されている。MFP110は、LAN100を介してWebサーバ120に接続可能である。MFP110は、コピー機能とデータ送信機能とを有する。データ送信機能は、原稿画像を読み取り、読み取って得られた画像データ(文書データと呼ぶ場合もある)を、FTPプロトコルやSMBプロトコル等を用いて、LAN100上の指定した装置に送信する機能である。更に、MFP110は、画像データを添付ファイルとしてEメールを作成し、Eメールサーバ(不図示)を利用してEメールを送信する機能を有していてもよい。
サーバ120は、Webサーバである。Webサーバ上で動作するソフトウェアであるWebアプリケーションは、MFP110からのリクエストに応じて、MFP110の操作部(の液晶表示部)に操作画面を表示するための画面情報(HTMLデータ)を生成し、それを当該リクエストに対する応答としてMFP110に送信する。
なお、本実施形態における情報処理システムにおける構成機器の数は、図1に示す構成機器の数に限定されるものではない。また、本実施形態では接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN(公衆回線)などの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。
(MFPのハードウェア構成)
MFP110は、図2に示すように次の構成要素を備える。MFP110は、画像入力デバイスであるスキャナ部112、画像出力デバイスであるプリンタ部113、MFP110の制御を司るコントローラ200、および操作部111を備える。
スキャナ部112は、原稿上の画像を読み取って画像データを生成するデバイスである。原稿が原稿フィーダにセットされ、コントローラ200からスキャナ部112に原稿読み取り指示が与えられると、スキャナ部112は、原稿フィーダから原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は、原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置して、露光ユニットを移動させることで原稿の走査を行う方法であってもよい。
プリンタ部113は、コントローラ200から受け取った画像データに基づいて、用紙上に画像を形成する画像形成デバイスである。なお、本実施形態において、プリンタ部113で用いられる画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式であってもよいし、インクジェット方式であってもよい。
コントローラ200は、操作部111、スキャナ部112、プリンタ部113と電気的に接続されており、またネットワークインターフェース206を介してLAN100にも接続されている。すなわち、コントローラ200は、LAN100を経由して他の機器と接続されている。これにより、コントローラ200は、LAN100を介して接続された他の機器(例えば、サーバ120)とHTTPプロトコルによる通信が可能となっている。
CPU201は、ROM202に記憶された制御プログラムに基づいて、コントローラ200に接続された各種デバイスへのアクセス及びデバイスからのアクセスを統括的に制御する。また、CPU201は、コントローラ200の内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャート(図10)を実現するためのプログラムの実行も含まれる。
ROM202には、上述の制御プログラムの他に、装置のブートプログラムも格納されている。RAM203は、CPU201が動作するためのシステムワークメモリであり、画像データを一時記憶するためのメモリとしても機能する。RAM203は、バックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には、記憶した内容が消去される揮発性の領域により構成されている。
HDD204はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能である。操作部I/F205は、システムバス211と操作部111とを接続するためのインターフェースである。操作部I/F205は、操作部111(の液晶表示部)に画面を表示するための画像データをシステムバス211から受け取り、それを操作部111に出力すると共に、操作部111から入力された情報をシステムバス211へと出力する。
ネットワークI/F206はLAN100及びシステムバス211に接続されており、それらの間で情報の入出力を行う。スキャナI/F207は、スキャナ部112から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナI/F207は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する機能を持つ。
画像処理部208は、画像データの方向変換、画像圧縮、伸張処理などをおこなう。また、画像処理部208は、HDD204に保存されている複数の画像データを合成して一枚の画像に相当する画像データを生成することが可能である。プリンタI/F209は、画像処理部208から送られた画像データを受け取り、この画像データに付加された属性データを参照しながら当該画像データに画像処理を施す。画像処理後の画像データは、プリンタ部113に出力される。
なお、本実施形態では、MFPは、ユーザインタフェース(UI)表示を実行するネットワークMFPであるが、これ以外の汎用スキャナや汎用プリンタなどを接続した汎用コンピュータ等の画像処理装置であってもよい。
(Webサーバのハードウェア構成)
図3は、図1に示したWebサーバ120のハードウェア構成を示すブロック図である。図3に示されるように、CPU301、RAM302、ROM303、ネットワークI/F305、ハードディスクドライブ(HDD)306は、システムバス309を介して互いに通信可能に接続されている。また、CRT等の表示装置307、キーボード等の入力装置304、及びマウス等のポインティングデバイス308も、システムバス309を介して互いに通信可能に接続されている。
ROM303またはHDD306には、オペレーティングシステムやWebアプリケーションなどの制御プログラムが格納されている。CPU301は、この制御プログラムを必要に応じてROM303あるいはHDD306からRAM302上へ読み出して実行することで、コンピュータをWebサーバ120として機能させる。
また、CPU301は、表示装置307を介して各種情報の表示を行うと共に、入力装置304やポインティングデバイス308からユーザ指示等を受付ける。さらに、CPU301は、ネットワークI/F305を介してLAN100上の他の装置(例えば、MFP110)と通信する。
(MFPのソフトウェア構成)
図4は、本実施形態での通信処理にかかわるMFP110のソフトウェアモジュールの構成を示した図である。これらのソフトウェアモジュールは、MFP110のHDD204に格納されている。CPU201がこれらのソフトウェアモジュールをHDD204からRAM203に読み出して実行することで、これらのソフトウェアモジュールの機能がMFP110上で実現される。HTTP通信部401は、ネットワークI/F206を介して、HTTPプロトコルにより通信を行うソフトウェアモジュールである。
Webブラウザ402は、表示制御手段として機能し、HTTP通信部401を介してWebサーバ120と通信を行うブラウザである。Webブラウザ402は、Webサーバ120に対して、HTMLで記載された操作画面のHTMLデータ(画面情報)をリクエストする。また、Webブラウザ402は、HTTP通信部401を介してWebサーバ120から受信した操作画面のHTMLデータをレンダリングして、操作画面を操作部111に表示する。更に、操作部111に表示した操作画面を介して入力された情報を、Webサーバ120に通知する。
スクリプト実行部403は、Webサーバ120によって生成されたスクリプトを、Webブラウザ402を介してWebサーバ120から受信し、受信したスクリプトを解析する。これにより、スクリプト実行部403は、受信したスクリプトに含まれる1つ以上のジョブ情報を抽出する。さらに、スクリプト実行部403は、抽出した各ジョブ情報を、受信したスクリプトで指定されている順に実行するようにジョブ管理部404に通知する。また、スクリプト実行部403は、MFP110におけるサービス(Webサービス)を提供するWebサービスサーバ406に、スクリプト実行部403に処理を実行させるための処理インタフェースを、Webサービスとして提供させる。スクリプト実行部403の処理インタフェース(Webサービス)としては、実行中のジョブの状況を含む、スクリプトの実行状況を示す情報を取得するためのインタフェースや、ジョブ管理部404で管理しているジョブを制御するためのインタフェースなどがある。スキャンジョブの場合、ジョブの制御には、スキャンの中止や、原稿を入れ替えてスキャンを再スタートする制御等が含まれる。
ジョブ管理部404は、スクリプト実行部403からの指示を受けてジョブ情報を管理し、管理しているジョブ情報に基づいてジョブの実行をジョブ実行部405に指示する。ジョブ実行部405は、ジョブ管理部404からの指示に応じて、ジョブ情報に基づく処理(ジョブ)を実行するモジュールである。たとえば実行すべきジョブがスキャンジョブであれば、ジョブ実行部405は、スキャナ部112を操作して紙原稿を読み取りHDD204に画像データを保存するジョブを実行する。また、実行すべきジョブが送信ジョブであれば、ジョブ実行部405は、NetworkI/F206を操作してHDD204内の画像データを送信するジョブを実行する。本実施形態において、スクリプト実行部403、ジョブ管理部404、及びジョブ実行部405は、実行制御手段として機能する。
Webサービスサーバ406は、サービス提供手段として機能し、Webサービスを提供するサーバ機能を持つソフトウェアモジュールである。Webサービスサーバ406は、スクリプト実行部403からの呼び出しに応じて、スクリプト実行部403を制御するためのWebサービスを提供する。また、Webサービスサーバ406は、呼び出されたWebサービスに応じてスクリプト実行部403を呼び出すことができる。
(Webサーバのソフトウェア構成)
図5は、本実施形態でのWebサーバ120のソフトウェアモジュールの構成を示した図である。Webサーバ120は、Webアプリケーション501及びHTTP通信部504を、ソフトウェアモジュールとして備える。Webアプリケーション501には、プレゼンテーション部502及びロジック部503が含まれる。これらのソフトウェアモジュールは、Webサーバ120のHDD306に格納されている。CPU301がこれらのソフトウェアモジュールをHDD306からRAM302に読み出して実行することで、これらのソフトウェアモジュールの機能がWebサーバ120で実現される。
プレゼンテーション部502は、HTTP通信部504を介して、MFP110からのリクエストに応じて、MFP110のWebブラウザ402で表示すべき操作画面のHTMLデータを、MFP110へ応答として送信する。また、プレゼンテーション部502は、MFP110のWebブラウザ402に表示された操作画面を介してユーザが入力した入力情報を、HTTP通信部504を介してMFP110から受信する。
ロジック部503は、プレゼンテーション部502から渡された、MFP110からの入力情報に対する処理を行う。たとえば、ロジック部503は、ユーザの入力情報に応じて、MFP110において表示すべき画面を変更したり、MFP110が備えるデバイスの機能をMFP110に実行させるためのジョブ定義情報(スクリプト)を生成したりする。HTTP通信部504は、ネットワークI/F305を操作してHTTPプロトコルにより通信を行うソフトウェアモジュールである。
(ジョブの実行フロー)
図6は、本実施形態における情報処理システムにおいて実行される一連の処理を示したシーケンス図である。ここでは、本情報処理システムにおいて実行される処理の一例として、同図に示すシーケンスに従って実行される「スキャン送信処理」について説明を行う。なお、本実施形態において「スキャン送信処理」は、MFP110のスキャナ部112を用いて、インタラクティブに、原稿台に1枚ずつ置かれた紙をスキャンして読み取って画像データを生成し、生成した当該画像データをLAN100上のFTPサーバ(不図示)に送信する処理に相当する。
まず、ユーザが、MFP110の操作部111に設けられた、送信機能を実行するためのハードウェアボタン(不図示)を押下すると、MFP110は、Webブラウザ402を起動する。Webブラウザ402は、MFP110における処理を実行するための設定画面を操作部111に表示するため、Webサーバ120上のWebアプリケーション501に設定画面のHTMLデータをリクエストする。本例では、MFP110は、その起動時に設定画面のコンテンツの所在を示すURLに基づいて設定画面のHTMLデータをリクエストするように、予め設定されているものとする。
S601では、MFP110のWebブラウザ402が、上述のURLによって特定される設定画面のコンテンツを保持するWebアプリケーション501に対して、HTTPのGETコマンドによるリクエスト(設定画面要求)を行う。具体的には、Webブラウザ402が、HTTP通信部401に設定画面のURLを送信することによって、HTTP通信部401が、HTTPプロトコルによりWebサーバ120のHTTP通信部504と通信を行う。HTTP通信部504は、HTTP通信部401から受信したURLに応じて、適切なリクエストがあったことをWebアプリケーション501に通知する。これにより、Webブラウザ402からWebアプリケーション501へのリクエストが行われる。なお、以下では、MFP110とWebサーバ120とが通信する際に必然的に実行される、HTTP通信部401およびHTTP通信部504の動作については、説明の簡略化のために省略する。
S602では、Webアプリケーション501のプレゼンテーション部502が、S601のリクエストに応じて、設定画面のHTMLデータ(設定画面データ)を生成し、当該リクエストに対する応答として、生成したHTMLデータをWebブラウザ402に送信する。Webブラウザ402は、受信したHTMLデータを解析し、操作部111に設定画面(操作画面)を表示する。
図7は、S602の結果、Webブラウザ402が操作部111に表示する設定画面の一例である。設定画面(GUIパネル)701には、ファイル名を設定するためのテキストボックス702、画像フォーマットを選択するためのラジオボタン703がある。本例では、画像データに「test.pdf」というファイル名を付与し、画像データをPDFフォーマットで生成することが、設定画面701に設定された状態となっている。また、GUIボタン704は、設定内容に基づく機能の実行を指示するためのボタンである。ユーザによりGUIボタン704が押下されると、処理の実行(スキャンの開始)が指示されたことになる。
S603では、Webブラウザ402が、Webアプリケーション501に対して、処理の実行が指示されたことを通知する。ユーザによりGUIボタン704が押下されると、Webブラウザ402は、テキストボックス702およびラジオボタン703に設定されたパラメータを、設定情報(設定値)としてWebアプリケーション501に通知する。この通信には、HTTPプロトコルのPOSTコマンドが利用されるものとする。このようにして、Webブラウザ402は、Webアプリケーション501(Webサーバ120)から提供された画面情報に基づく操作画面を介して入力された入力情報を、Webアプリケーション501に送信する。
S604では、Webアプリケーション501のプレゼンテーション部502が、S603のリクエストに応じて、MFP110において処理の実行中に表示すべき画面のHTMLデータ(実行画面データ)を含む、処理の実行要求を生成する。また、ロジック部503が、S603のPOSTコマンドに含まれる設定情報に基づいて、MFP110に、当該設定情報に対応する処理を実行させるためのスクリプトを生成する。そして、S604で、Webアプリケーション501は、S603の通知に対する応答として、生成した実行画面データと当該スクリプトとを含む実行要求を、応答データとしてWebブラウザ402に送信する。Webブラウザ402は、当該応答データを受信して、受信した当該応答データから、スクリプト(図8)と実行画面のHTMLデータ(図9)とを抽出する。なお、以下で詳しく説明するように、スクリプトは、Webブラウザ402から送信された入力情報に関連するサービス(Webサービス)の定義情報に相当し、サービスを特定するためのURLを含む。また、Webブラウザ402は、スクリプトに含まれるURLによって特定することによって、Webサービスサーバ406によって提供されるWebサービスを利用する。
ここで、図8を参照して、Webブラウザ402がWebアプリケーション501からS604で受信するスクリプトについて説明する。図8に示すスクリプトは、ユーザの入力に基づきインタラクティブに実行するスキャンジョブと、送信ジョブとをMFP110において順番に実行するためのスクリプトの例を示すものである。また、当該スクリプトによって、スクリプト実行部403の状態を取得するためのインタフェースと、スキャンジョブの制御を行うためのインタフェースをとが、Webサービスサーバ406によって提供されるWebサービスに割り当てられる。なお、図8示すスクリプトは、XMLで表現されているが、MFP110が処理できる形式であればフォーマットを問わない。
Bindingタグ801は、スクリプト実行部403のどの処理インタフェースを1つのWebサービスとして提供するかについて記載している。本例では、スクリプト実行部403のスクリプトの実行状況を示す情報を取得する処理(「http://www.kanon.com/jobScript/Status/getStatus」というURIで示される)を「getStatus」という名前で定義している。そして「statusBinding」という名前でこの処理のまとまりを定義している。
Bindingタグ802は、タグ801と同様である。本例では、スキャンジョブのスキャン開始を行う処理(「http://www.kanon.com/jobScript/Scan/scanStart」というURIで示される)を、「scanStart」という名前で定義している。また、スキャンジョブのスキャン終了を行う処理(「http://www.kanon.com/jobScript/Scan/scanEnd」)を「scanEnd」という名前で定義している。そして、これら2つの処理のまとまりを、「scanBinding」という名前で定義している。
Serviceタグ803は、タグ801でまとめた処理を実際のWebサービスと関連付ける定義である。本例では、「statusBinding」として定義された処理を、「/JobScript/ID_012345/status/」で示されるURLのWebサービスに割り当てることを定義している。
Serviceタグ804は、タグ802でまとめた処理を実際のWebサービスと関連付ける定義である。本例では、「scanBinding」として定義された処理を、「/JobScript/ID_012345/scan/」で示されるURLのWebサービスに割り当てることを定義している。
以上のように、本例では、MFP110内のソフトウェアモジュールが有する処理インタフェースをWebサービスに関連付けるための定義を、スクリプトにより構成している。これらのWebサービスの定義情報は、スクリプト実行部403が提供する処理インタフェース(Webサービス)のうち、後述のHTMLデータに基づく画面を表示するために必要なものを公開させるための定義情報である。
本例では、タグ801とタグ802で指定しているURLは、スクリプト毎に異なるURLであり、かつ、後述する図9のHTMLデータと対応している。そのため、MFP110において複数のスクリプトが同時に実行された場合でも、各スクリプトによって実行される処理を異なるWebサービスとして扱うことが可能となる。
Scanタグ805は、スクリプト処理で実行するスキャンジョブについての設定情報である。本例では、スキャン原稿サイズ(DocumentSize)をスキャナ部112によって自動判別(Auto)すべきことを示している。また、カラーモード(ColorMode)がグレイスケール(GRAY_SCALE)であることを示している。
Sendタグ806は、スクリプト処理で実行する送信ジョブについての設定情報である。本例では、FTPプロトコルでサーバ「ftpserver.xxx.com」への送信すべきことを示している。また、送信されるファイルのフォーマット(FileFormat)はPDFで、ファイル名(FileName)は「test」であることを示している。
図6に戻り、S604では、Webアプリケーション501のロジック部503が、以上のようなスクリプトを生成して送信し、Webブラウザ402がこのスクリプトを受信する。
次に、図9を参照して、Webブラウザ402がWebアプリケーション501から受信するHTMLデータ(実行画面データ)について説明する。図9に示すHTMLデータには、Java(登録商標)Scriptが埋め込まれている。MFP110では、HTMLデータに埋め込まれたJavaScriptによって、Webサービスサーバ406が呼び出されることで、スクリプト実行部403によるスクリプトの実行状況に応じた表示の更新処理やユーザとの対話処理が実行される。本例では、図8に示すスクリプトに基づいて実行されるスキャンジョブについての対話処理を行い、送信ジョブが実行されるまでの、操作部111への画面表示に用いられるHTMLデータの一例を示している。
ブロック910、920、930、940は、スクリプトの実行状態に応じて操作部111における画面の表示を更新するためのJavaScriptである。
ブロック910では、所定の時間(例えば2秒)のタイマを設定し、タイムアウトした場合に、getScriptStatus関数を呼び出すことが規定されている。Webブラウザ402は、HTMLデータに基づく画面を表示すると、ブロック910のJavaScriptを実行する。
ブロック920のgetScriptStatus関数は、ブロック921、922、923、924からなる。この関数は、バックグラウンドでWebサービスサーバ406のWebサービスとHTTP通信を行い、当該通信を通じてスクリプトの実行状況を示す情報を取得するためのJavaScriptで記載されている。
まず、ブロック921では、バックグランド通信を行うためのオブジェクト(XMLHttpRequest)を生成し、ブロック922、923による通信時に行う処理を登録することが規定されている。
ブロック922では、バックグラウンドでの通信が成功した場合に呼ばれる部分であり、当該通信で得られた応答が、スキャン待機中(SCAN_SUSPENDという文字列)であることを示す応答であるか否かを判定することが規定されている。ブロック922によれば、スキャン待機中である場合には、スキャン終了ボタン(buttonScanEndのIDのボタン)とスキャン開始ボタン(buttonScanStartのIDのボタン)とが有効化される。一方で、スキャン待機中以外である場合には、それらのボタンの表示が無効化される。
ブロック923は、バックグラウンドでの通信が成功した場合に呼ばれる部分であり、当該通信で得られた応答が、送信実行中(SEND_STARTという文字列)もしくは送信終了(SEND_ENDという文字列)であることを示す応答であるか否かを判定することが規定されている。本例では、この2つの状態は、スクリプトに規定されたスキャンジョブが既に終了して、送信ジョブに処理が移っていることを意味している。
スキャンジョブが未だ実行中であると判定した場合は、再度2秒のタイマーを設定し、タイムアウトしたらブロック920のgetScriptStatus関数を呼び出す。送信ジョブが開始されていると判定した場合は、ブロック951(message_scanで示される表示領域)を非表示にして、ブロック952(message_sendで示される領域)を表示する。
ブロック924では、ブロック921で生成したバックグランド通信を行うためのオブジェクトにURLを指定して通信を実行する。このURLは、図8で説明したように、Webサーバ120から渡されるスクリプトで定義されているURLである。
このように、ブロック920のJavaScriptでは、Webアプリケーション501からHTMLデータとともに受信したスクリプトによって利用可能とするWebサービスのURLを利用して、スクリプト実行部403の実行状況を示す情報を取得し、表示を更新することが規定されている。
ブロック930のscanEnd関数は、バックグラウンドでWebサービスサーバ406とHTTP通信を行い、スキャンの終了を指示するためのJavaScriptである。ブロック920と同様、Webサーバ120から受信されるスクリプトに定義されたスキャンジョブ制御を行うWebサービスについてのURLにアクセスする。これにより、Webサービスサーバ406を介して、スクリプト実行部403にスキャンの終了を指示する。
ブロック940のscanStart関数は、バックグラウンドでWebサービスサーバ406とHTTP通信を行い、スキャンの開始を指示するためのJavaScriptである。ブロック930と同様、Webサーバ120から受信されるスクリプトに定義しているスキャンジョブ制御を行うWebサービスのURLにアクセスする。これにより、Webサービスサーバ406を介して、スクリプト実行部403にスキャンの開始を指示する。
ブロック950は、HTMLによる画面情報の記述部分である。ブロック951は、スキャン中であることを画面に表示するための記述である。ブロック952は、送信が開始されたことを画面に表示するための記述である。これらの記述に基づく画面表示については、前述のようにブロック923のJavaScriptによって画面への表示と非表示が制御される。
ブロック953は、スクリプトの実行状況を画面に表示するための記述である。またブロック954は、スキャンジョブを終了すべきことを指示するためのボタンの表示に関する記述である。当該ボタンが押下されると、ブロック930のJavaScriptが呼び出される。また、ブロック922のJavaScriptによりボタンの有効と無効が切り替わる。
ブロック955は、スキャンジョブのスキャンを開始すべきことを指示するためのボタンの表示に関する記述である。当該ボタンが押下されると、ブロック940のJavaScriptが呼び出される。また、ブロック922のJavaScriptによりボタンの有効と無効が切り替わる。以上のHTMLデータにより、図8のスクリプトに基づいて定義されるWebサービスを利用して画面が制御される。
図6に戻り、S605で、Webブラウザ402は、S604でWebサーバ120から受信した実行要求に含まれる、実行画面データ(画面情報)とスクリプト(Webサービスの定義情報)とのうち、当該スクリプトをスクリプト実行部403に送信する。これにより、Webブラウザ402は、当該スクリプトの実行指示をスクリプト実行部403に対して行う。スクリプト実行部403は、スクリプトを受信すると、図10に示すように、受信したスクリプトを実行する。このようにして、スクリプト実行部403は、Webサーバ120(Webアプリケーション501)からの実行要求に従った処理を実行する。
図10は、スクリプト実行部403が、Webアプリケーション501から受信されたスクリプトを実行する処理の手順を示すフローチャートである。S1001では、スクリプト実行部403が、S605で受信したスクリプトを解析して、当該スクリプトに記載されているURLをWebサービスサーバ406に登録する。これにより、スクリプト実行部403は、スクリプトに記載されている定義情報によって定義されたWebサービスを、Webサービスサーバ406に登録する。これにより、Webサービスサーバ406は、提供可能な複数のWebサービスのうち、スクリプト実行部403から登録されるWebサービスを提供する。また、Webブラウザ402は、Webサービスサーバ406が提供可能なWebサービスのうち、スクリプト実行部403によって登録されたWebサービスを利用可能になる。
具体的な登録処理として、スクリプト実行部403は、登録されたURLに対してWebブラウザ402から要求があった場合に、Webサービスサーバ406がスクリプト実行部403を呼び出すように、Webサービスサーバ406を設定する。図8の例では、スクリプト実行部403は、Webサービスサーバ406を介して2つのWebサービスを利用可能にする。なお、S1001はS606に対応する。
S1002では、スクリプト実行部403が、スクリプトから1つ以上のジョブ情報を抽出(スクリプトをジョブに分割)し、抽出したジョブ情報をジョブ管理部404に登録する。図8の例では、スキャンジョブと送信ジョブとの2つのジョブの情報が、Webサービスとしてジョブ管理部404に登録される。S1003では、ジョブ実行部405は、ジョブ管理部404を介したスクリプト実行部403からの要求に応じて、登録されたジョブを順番に実行させる。
Webサービスサーバ406は、登録されたWebサービスへの要求を(Webブラウザ402から)受付けると、スクリプト実行部403に、当該要求に応じた処理を実行するように指示する。S1004で、スクリプト実行部403は、Webサービスサーバ406から当該指示を受けると、S1005に遷移し、そうでなければS1006に遷移する。S1005では、スクリプト実行部403が、Webサービスサーバ406から指示された処理を実行することによって、Webサービスサーバ406で受付けた要求に応じた処理を実行する。
図8の例で、スクリプトの実行状況を示す情報を取得するためのWebサービスが呼ばれた(即ち、Webサービスの実行が要求された)場合には、スクリプトの実行状況をスクリプト実行部403が判断し、その判断結果を、Webサービスサーバ406を介して要求元のクライアント(即ち、Webブラウザ402)へ応答を送信する。また、スキャンジョブの実行を制御するためのWebサービスが呼ばれた場合には、スクリプト実行部403が、ジョブ管理部404を介して、ジョブ実行部405によるスキャンジョブの実行を制御する。
S1006で、スクリプト実行部403は、ジョブの実行を終了したか否かについて、ジョブ管理部404によるジョブ実行部405の監視結果に基づいて判定する。ジョブが終了していれば、S1007に遷移し、そうでなければS1004に遷移する。S1007では、スクリプト実行部403は、スクリプトに記載されたすべてのジョブが終了したかどうかを、ジョブ管理部404によるジョブ実行部405の監視結果に基づいて判定する。すべてのジョブが終了していない場合は、S1003に遷移し、次のジョブを実行する。すべてのジョブが終了した場合はS1008に遷移する。
S1008では、S1004と同様に、Webサービスサーバ406は、登録されたWebサービスへの要求を受付けると、スクリプト実行部403に、当該要求に応じた処理を実行するように指示する。Webサービスに対して要求があった場合、S1009に遷移し、そうでなければS1010に遷移する。S1009では、S1005と同様に、スクリプト実行部403が、Webサービスサーバ406から指示された処理を実行することによって、Webサービスサーバ406で受付けた要求に応じた処理を実行する。
S1010では、スクリプト実行部403は、Webサービスを利用不可にしてよいかどうかを判定する。Webサービスを利用不可にしてよいと判定した場合はS1011に遷移し、そうでない場合にはS1008に遷移する。本実施形態では、一例として、ジョブの実行が終了してから所定の時間が経過した場合に、スクリプト実行部403はWebサービスを利用不可にすると判定する。この時間は、あらかじめスクリプト実行部403に設定されていてもよいし、あるいは、Webサーバ120から受信されるスクリプト内に記載されていてもよい。即ち、Webサービスサーバ406は、サービスを利用不可にすべきことが当該スクリプトを用いてWebサーバ120から指示されるまで、または、スクリプト実行部403による処理(ジョブ)の実行が終了して所定の時間が経過するまで、Webサービスを提供する。
スクリプト実行部403は、S1010においてWebサービスを利用不可にすると判定した場合、S1011で、Webサービスサーバ406にS1001で登録したURLを、Webサービスサーバ406に削除させることによって、当該URLに対応するWebサービスを利用不可にする。
図6に戻り、図10に記載の処理の流れにあわせて、Webブラウザ402によるHTMLデータ(図9)に基づく表示制御について説明する。前述のS605で、Webブラウザ402は、スクリプト実行部403にスクリプトを送信して当該スクリプトの実行指示を行うとともに、Webアプリケーション501から当該スクリプトとともに受信したHTMLデータ(実行画面データ)を解析し、当該HTMLデータに基づく画面を操作部111に表示する。
図11(a)は、Webブラウザ402が操作部111に表示する画面の例である。同図に示すように、Webブラウザ402は、表示領域1101内に、図9のブロック951に基づく情報1102と、図9のブロック953に基づく情報1103とを表示している。情報1103では、スクリプトの実行状況に関する初期表示として、スキャン処理の実行中であることを示す「SCAN_SCANNING」を表示している。
S606は、図10のS1001に対応しており、スクリプト実行部403が、Webサービスサーバ406に対して、S605で受信したスクリプトに基づくWebサービスを登録する。本例では、Webサービスサーバ406でスクリプトの実行状況を示す情報を取得するためのWebサービスとスキャンジョブの実行を制御するためのWebサービスとの2つのWebサービスが、Webサービスサーバ406に登録される。この登録処理は、スクリプトに記載された各Webサービスに対応するURLがWebサービスサーバ406に登録されることによって実現される。これにより、これらのWebサービスが、Webブラウザ402から、登録されたURLを特定することによって利用可能となる。
S607では、Webブラウザ402は、HTMLデータ(図9)に含まれるブロック920のJavaScriptによって、S606で利用可能となったWebサービスのうち、スクリプトの実行状況を示す情報を取得するためのWebサービスを呼び出す。
S608は、図10のS1004に対応しており、Webサービスサーバ406が、Webブラウザ402から要求されたWebサービスに対応する処理をスクリプト実行部403に実行させるために、スクリプト実行部403を呼び出す。当該呼び出しに応じて、スクリプト実行部403は、Webサービスサーバ406を介してWebブラウザ402にスクリプトの実行状況を送信する。本例では、この時にはスキャンジョブが待機中の状態になっており、Webブラウザ402に「SCAN_SUSPEND」という、スキャンジョブの状態を示す文字列が送られるものとする。Webブラウザ402は、ブロック922のJavaScriptに基づいて、表示を変更する。このように、Webブラウザ402は、Webサービスサーバ406を介して、JavaScriptのタイマーに基づいてスクリプトの実行状況を示す情報を取得して、取得した情報に基づいて画面の表示を更新する。
図11(b)は、S608の結果、Webブラウザ402が操作部111に表示する画面の例である。同図に示すように、Webブラウザ402は、表示領域1201内に、図9のブロック951に基づく情報1202と、図9のブロック953に基づく情報1203とを表示している。また、Webブラウザ402は、ブロック922のJavaScriptの処理により、図9のブロック954、ブロック955に基づくGUIボタン1204、1205を表示している。
S609で、ユーザによって図11(b)のGUIボタン1205が押下されると、GUIボタン1205が押下された場合の処理としてスクリプトに記載された処理が実行される。具体的には、図9で説明したように、ユーザによりGUIボタン1205が押下されると、Webブラウザ402は、ブロック940のJavaScriptを実行する。
S610で、Webブラウザ402は、ブロック940のJavaScriptの実行に応じて、S605で登録した、スキャンジョブの実行を制御するためのWebサービスを呼び出す。
S611で、Webサービスサーバ406は、S610のWebサービスの呼び出しに応じてスクリプト実行部403を呼び出す。スクリプト実行部403は、図10のS1004とS1005で説明したように、ジョブ管理部404を介して、スキャンジョブについてのスキャンを開始するようにジョブ実行部405を制御する。このように、S610とS611で利用されるWebサービスは、スキャンジョブの実行中にWebブラウザ402によって表示中の操作画面を介して入力された情報に基づいて、スクリプト実行部403によるジョブの実行を制御するサービスに相当する。
S612とS613では、S607とS608と同様に、タイマーに基づいて呼び出されたブロック920のJavaScriptにより、スクリプトの実行状況を取得するためのWebサービスが呼び出されて、当該Webサービスに対応する処理がスクリプト実行部403によって実行される。
S614で、再びスキャン処理が待機状態になった状態で、図11(b)の表示を行っている間に、ユーザにより図11(b)のGUIボタン1204が押下されると、GUIボタン1204が押下された場合の処理としてスクリプトに記載された処理が実行される。具体的には、図9で説明したように、ユーザによりGUIボタン1205が押下されると、Webブラウザ402は、ブロック930のJavaScriptを実行する。
S615とS616では、Webブラウザ402とWebサービスサーバ406がS610とS611と同様に処理を実行する。これにより、スクリプト実行部403は、ジョブ管理部404を介して、スキャンジョブを終了するようにジョブ実行部405を制御する。このように、S615とS616で利用されるWebサービスは、スキャンジョブの実行中にWebブラウザ402によって表示中の操作画面を介して入力された情報に基づいて、スクリプト実行部403によるジョブの実行を制御するサービスに相当する。
S617とS618では、S607とS608と同様に、タイマーに基づいて呼び出されたブロック920のJavaScriptにより、スクリプトの実行状況を示す情報を取得するためのWebサービスサーバ406が呼び出される。このときには、スキャンジョブはすでに終了しており、送信ジョブが実行されている。このため、Webブラウザ402は、「SEND_START」の文字列をWebサービスから受信する。そのため、Webブラウザ402は、ブロック923のJavaScriptにより、ブロック951に基づく情報を非表示として、ブロック952に基づく情報を表示する。
図11(c)は、S617とS618の結果、Webブラウザ402が表示する画面の例である。同図に示すように、表示領域1301内に、図9のブロック952を表示1302とリンク1303として表示し、図9のブロック953に基づく情報1304を表示する。本例では、以上により、ユーザはスキャンジョブに関する対話処理を終える。ここで、ユーザによってリンク1303が選択すると、Webブラウザ402は、操作部111の表示を初期画面に戻す。
最終的に、S619で、スクリプト実行部403は、図10のS1010とS1011のように、Webサービスサーバ406におけるWebサービスを利用不可にする処理を実行する。上述のように、スクリプト(ジョブ)の実行が終了してから一定時間が経過した際に、当該処理を実行する。
以上説明したように、本実施形態では、Webブラウザ402が、Webアプリケーション501(Webサーバ120)からの指示により、MFP110における画面の表示と機能の実行とを制御することができる。具体的には、Webブラウザ402は、Webサーバ120から提供される画面情報に基づく操作画面を表示して、それを介して入力された入力情報をWebサーバ120に送信する。また、Webブラウザ402は、当該入力情報に対応する処理の実行要求を、Webサーバ120から受信し、受信した実行要求に含まれるスクリプトをスクリプト実行部403に送信する。当該スクリプトには、スクリプト実行部403を制御するためのWebサービスの定義情報が含まれる。スクリプト実行部403は、当該スクリプトに含まれる定義情報によって定義されたWebサービスを、Webサービスサーバ406に登録する。Webサービスサーバ406は、スクリプト実行部403による処理の実行中に提供可能なWebサービスのうち、登録されたWebサービスを、Webブラウザ402に提供する。
このようにして、MFP110において、Webサーバ120からの要求に従ってMFP110の機能を実行する際に、その実行を制御するためのサービスを、必要に応じて利用可能とすることができる。その結果、MFP110において、提供可能なすべてのサービスを常に利用可能にする場合と比べて、メモリ等のMFP110のリソースが不必要に使用されることを回避できる。
また、Webサーバ120からの実行要求には、上述のスクリプトだけでなく、当該実行要求に従った処理をスクリプト実行部403によって実行している間に、Webブラウザ402によって表示すべき操作画面の画面情報も含まれている。Webブラウザ402は、Webサービスサーバ406によって提供されるサービスを利用して、Webサーバ120から受信した画面情報に基づく表示を制御する。本実施形態によれば、スクリプト実行部403による処理の実行中のWebブラウザ402による表示制御において、必要に応じて、Webサービスサーバ406によって提供されるサービスを利用可能になり、上述と同様、MFP110のリソースが不必要に使用されることを回避できる。
また、Webサービスを特定するためのURLは、Webサーバ120からの指示によって変更可能である。従って、MFP110が固定のWebサービスを有する場合と比べて、表示制御に必要な機能を必要なWebサービスとして構成できるため、MFP110においてより柔軟な制御を行うことができる。
<実施形態2>
実施形態1では、MFP110は、Webアプリケーション501から受信したHTMLデータとスクリプトとに基づく処理を実行していた。実施形態2では、Webアプリケーション501が、スクリプトの実行状況に応じて適切なHTMLデータをMFP110に送信することで、MFP110の表示制御を行う場合について説明する。実施形態2では、説明の簡略化のために、実施形態1と共通する部分については説明を省略し、実施形態1と異なる部分を中心として説明する。具体的には、実施形態2は、MFP110とWebサーバ120とでソフトウェアにより実行される処理の流れが異なる。
(ジョブの実行フロー)
図12は、実施形態2における情報処理システムにおいて実行される一連の処理のシーケンスを示す図である。同図では、図6と同様、スキャン送信処理がMFP110において実行される場合について説明する。Webブラウザ402の起動後、S1401からS1406までの処理は、実施形態1のS601からS606までと同等である。しかしながら、本実施形態では、S1404で、Webブラウザ402は、実施形態1におけるHTMLデータ(図9)とは異なるHTMLデータを、Webアプリケーション501から受信する。
図13は、S1404でWebアプリケーション501からWebブラウザ402に送信されるHTMLデータの例を示す。同図に示すように、実施形態1とは異なり、当該HTMLデータには、Webブラウザ402がWebサービスを呼び出すためのJavaScriptは記載されない。その代わりに、本実施形態では、ブロック1510のJavaScriptに基づいて、一定時間の経過後に、Webブラウザ402からWebアプリケーション501に対してリクエストが行われる。S1404では、図13に示すようなHTMLデータと、実施形態1で説明したスクリプトとを含む応答データが、Webアプリケーション501からWebブラウザ402に送信される。
S1407で、Webブラウザ402は、HTMLデータ(図13)に基づいて、Webアプリケーション501に画面情報の要求(画面要求)を行う。S1408、S1409で、Webアプリケーション501は、S1407の画面要求に応じて、Webサービスサーバ406と通信して、スクリプトの実行状況を取得するためのWebサービスを呼び出す。このとき、Webアプリケーション501は、S1404で送信したスクリプトに含まれるWebサービスのURLを指定する。本例では、S1408の結果として、Webアプリケーション501は、スキャンジョブが待機状態であることを示す文字列を受信する。
S1410で、Webアプリケーション501は、S1408の結果としてスキャンジョブが待機状態であることを示す情報を得ている。このため、Webアプリケーション501は、図11(b)と同様、ユーザとの対話処理を行うためのHTMLデータを、Webブラウザ402に送信する。実施形態1ではGUIボタン1204又は1205が押下された際に、Webブラウザ402が、JavaScriptによってWebサービスを呼び出していたのに対して、本例では、Webアプリケーション501がWebサービスサーバ406にそれを通知するものとする。
S1411では、ユーザが図11(b)と同様の画面を介して、スキャンジョブの終了を指示する。Webアプリケーション501は、S1411で、Webブラウザ402からスキャン終了の通知を受信すると、S1412で、Webサービスサーバ406と通信して、スキャンジョブの制御用のWebサービスを呼び出す。ここで、Webアプリケーション501は、S1404で指定したURLに対してリクエストを行うことで、当該Webサービスを呼び出す。
S1413では、Webサービスサーバ406は、S1409と同様に、スクリプト実行部403を呼び出す。その結果、スクリプト実行部403は、実施形態1と同様にスキャンジョブを制御する。その後、S1414で、Webアプリケーション501は、S1411のWebブラウザ402からのリクエストに対する応答として、図11(c)と同様の画面を表示するためのHTMLデータをWebブラウザ402に送信する。
S1415では、スクリプト実行部403は、実施形態1と同様にして、Webサービスサーバ406のWebサービスを利用不可にする。
以上のように、実施形態2では、Webアプリケーション501(Webサーバ120)からの処理の実行要求に従った処理をスクリプト実行部403が実行している間に、Webブラウザ402は、Webサーバ120に画面情報を要求する。Webサーバ120は、当該要求を受信すると、MFP110のWebサービスサーバ406に登録され、提供されているWebサービスを利用して、Webブラウザ402によって表示すべき画面情報を生成し、それをWebブラウザ402に送信する。Webブラウザ402は、受信した画面情報に基づく操作画面を表示する。本実施形態によれば、このように、スクリプト実行部403による処理の実行中に、Webブラウザ402ではなくWebサーバ120主導でMFP110の表示制御を行う場合にも、Webサーバ120によって、Webサービスサーバ406に登録されたWebサービスを、必要に応じて利用して、当該表示制御を実行することが可能となる。
<その他の実施形態>
前述の実施形態1と実施形態2では、スクリプト実行後、一定時間が経過したことに応じてWebサービスサーバ406のWebサービスを利用不可に設定しているが、本発明はこれに限定されない。たとえば、Webサービスを利用不可にするためのWebサービスをWebサービスサーバ406が提供してもよいし、何らかのプロトコルに基づいて、Webサービスを利用不可にする指示を受付けてもよい。また、それらの条件は、Webアプリケーション501から受信されるスクリプトに記載されていてもよい。このようにして、Webアプリケーション501からMFP110のWebサービスを利用不可にするための制御を柔軟に行うことができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (10)

  1. Webサーバに接続可能な情報処理装置であって、
    記Webサーバから提供される画面情報に基づく操作画面を表示し、当該操作画面を介して入力された入力情報を前記Webサーバに送信かつ、前記Webサーバへ送信当該入力情報に対応するジョブ実行要求であって、当該ジョブの実行中に当該ジョブの実行を制御するためのサービスの定義情報を含む、前記実行要求を、前記Webサーバから受信する表示制御手段と、
    前記表示制御手段を介して、前記Webサーバからの前記実行要求を受信すると、当該受信した実行要求に従ったジョブを実行する実行手段と、
    実行中のジョブを制御するための複数のサービスを提供可能なサービス提供手段と、を備え、
    前記実行手段は、前記受信した実行要求に従ったジョブの実行を開始する際に、前記受信した実行要求に含まれる前記定義情報定義されたサービスを前記サービス提供手段に登録することによって、前記サービス提供手段に、前記複数のサービスのうちで、当該登録したサービスをユーザが利用可能な状態にさせ、
    前記受信した実行要求に従ったジョブの実行が前記実行手段によって開始されると、前記サービス提供手段は、前記複数のサービスのうちで、当該ジョブの実行中に当該ジョブの実行を制御するための前記登録されたサービスをユーザに提供する、
    ことを特徴とする情報処理装置。
  2. 前記サービス提供手段は、サービスを利用不可にすべきことが前記Webサーバから指示されるまで、または、前記実行手段による前記実行要求に従ったジョブが終了してから所定の時間が経過するまで、前記登録されたサービスを提供することを特徴とする請求項1に記載の情報処理装置。
  3. 前記実行要求は、さらに、前記実行手段による前記実行要求に従ったジョブの実行中に表示すべき操作画面の画面情報を含み、
    前記表示制御手段は前記サービス提供手段によって提供される前記登録されたサービスを利用して、前記Webサーバから受信した前記画面情報に基づく表示を制御する
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記実行要求は、前記実行手段によるジョブの実行状況を示す情報を前記実行手段から取得するサービスの定義情報を含み、
    前記表示制御手段は前記サービス提供手段によって提供される前記登録されたサービスを介して、前記実行要求に従ったジョブの実行状況を示す情報を前記実行手段から取得するとともに、取得した情報に応じて前記画面情報に基づく表示を更新する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記実行要求は、前記実行手段によるジョブの実行中に前記表示制御手段によって表示された操作画面を介して入力された情報に基づいて、前記実行手段によるジョブの実行を制御するサービスの定義情報を含み、
    前記表示制御手段は、さらに、前記サービス提供手段によって提供される前記登録されたサービスを介して、表示中の操作画面を介して入力された情報に応じて当該ジョブの実行を制御すべきことを前記実行手段に指示する
    ことを特徴とする請求項3または4に記載の情報処理装置。
  6. 前記表示制御手段は、更に、前記実行手段による前記実行要求に従ったジョブの実行中に、前記画面情報を前記Webサーバに要求
    前記Webサーバは、前記表示制御手段による要求を受信すると、前記サービス提供手段によって提供される前記登録されたサービスを利用して、前記表示制御手段によって表示すべき画面情報を生成し、かつ、生成した画面情報を前記表示制御手段に送信し、
    前記表示制御手段は、前記Webサーバから受信した画面情報に基づく操作画面を表示する
    ことを特徴とする請求項3または4に記載の情報処理装置。
  7. 前記実行要求は、サービスを特定するためのURLを前記サービスの定義情報として含む、スクリプトからなり、
    前記サービス提供手段は、前記実行手段によって登録されるサービスとして、URLによって特定されるWebサービスを提供し、
    前記表示制御手段は前記サービス提供手段によって提供されるWebサービスを、前記実行要求に相当するスクリプトに含まれるURLによって特定することで、当該Webサービスを利用する、Webブラウザである
    ことを特徴とする請求項3乃至5の何れか1項に記載の情報処理装置。
  8. 前記実行要求に従ったジョブは、原稿上の画像を読み取って画像データを生成するスキャンジョブであることを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 表示制御手段、実行手段及びサービス提供手段を備え、Webサーバに接続可能な情報処理装置の制御方法であって、
    前記表示制御手段が、前記Webサーバから提供される画面情報に基づく操作画面を表示し、当該操作画面を介して入力された入力情報を前記Webサーバに送信する工程と、
    前記表示制御手段が、前記Webサーバへ送信前記入力情報に対応するジョブ実行要求であって、当該ジョブの実行中に当該ジョブの実行を制御するためのサービスの定義情報を含む、前記実行要求を、前記Webサーバから受信する工程と、
    前記行手段が、前記表示制御手段を介して、前記Webサーバからの前記実行要求を受信すると、当該受信した実行要求に従ったジョブを実行する工程であって、前受信した実行要求に従ったジョブの実行を開始する際に、前記受信した実行要求に含まれる前記定義情報定義されたサービスを、実行中のジョブを制御するための複数のサービスを提供可能な前記サービス提供手段に登録することによって、前記サービス提供手段に、前記複数のサービスのうちで、当該登録したサービスをユーザが利用可能な状態にさせる、前記実行する工程と、
    前記受信した実行要求に従ったジョブの実行が前記実行手段によって開始されると、前記サービス提供手段が、前記複数のサービスのうちで、当該ジョブの実行中に当該ジョブの実行を制御するための前記登録されたサービスをユーザに提供する工程と、
    を含むことを特徴とする情報処理装置の制御方法。
  10. 請求項9に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
JP2011112898A 2010-06-07 2011-05-19 情報処理装置、情報処理装置の制御方法、及びプログラム Expired - Fee Related JP5822537B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011112898A JP5822537B2 (ja) 2010-06-07 2011-05-19 情報処理装置、情報処理装置の制御方法、及びプログラム
US13/265,637 US20120113453A1 (en) 2010-06-07 2011-05-31 Information processing apparatus, information processing apparatus control method, and program
PCT/JP2011/062875 WO2011155419A1 (en) 2010-06-07 2011-05-31 Information processing apparatus, information processing apparatus control method, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010130448 2010-06-07
JP2010130448 2010-06-07
JP2011112898A JP5822537B2 (ja) 2010-06-07 2011-05-19 情報処理装置、情報処理装置の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2012019508A JP2012019508A (ja) 2012-01-26
JP5822537B2 true JP5822537B2 (ja) 2015-11-24

Family

ID=45098026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011112898A Expired - Fee Related JP5822537B2 (ja) 2010-06-07 2011-05-19 情報処理装置、情報処理装置の制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20120113453A1 (ja)
JP (1) JP5822537B2 (ja)
WO (1) WO2011155419A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5966491B2 (ja) * 2012-03-23 2016-08-10 富士ゼロックス株式会社 画像処理装置、画像形成装置、及び画像処理プログラム
US20140025759A1 (en) * 2012-07-17 2014-01-23 Joe Miller Alert Management System
JP6178567B2 (ja) * 2012-12-10 2017-08-09 キヤノン株式会社 画像形成装置及びその制御方法とプログラム、及び情報処理システム
JP5939264B2 (ja) * 2014-02-06 2016-06-22 コニカミノルタ株式会社 操作処理装置、情報機器の制御方法およびコンピュータープログラム
JP6458342B2 (ja) * 2014-02-25 2019-01-30 株式会社リコー 操作部を備えた機器、情報処理方法、情報処理プログラム、および情報処理システム
JP6463023B2 (ja) 2014-07-23 2019-01-30 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
JP6550708B2 (ja) * 2014-09-30 2019-07-31 ブラザー工業株式会社 画像読取装置、および、コンピュータプログラム
US10051154B2 (en) 2016-01-13 2018-08-14 Canon Kabushiki Kaisha Information processing apparatus, control method in information processing apparatus, and image processing apparatus
US20180198930A1 (en) * 2017-01-10 2018-07-12 Ricoh Company, Ltd. Input/output device and information processing system
JP7478633B2 (ja) * 2020-09-15 2024-05-07 シャープ株式会社 画像処理装置および画像処理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4529643B2 (ja) * 2004-11-04 2010-08-25 富士ゼロックス株式会社 画像形成システム
JP4403135B2 (ja) * 2005-03-17 2010-01-20 株式会社リコー Webサービス利用システム
JP4612863B2 (ja) * 2005-05-18 2011-01-12 キヤノン株式会社 画像処理装置およびその制御方法とプログラム
JP4759436B2 (ja) * 2005-05-20 2011-08-31 株式会社リコー 画像取扱装置、画像処理システム、画像処理制御方法、及び画像処理制御プログラム
JP4868955B2 (ja) * 2006-06-22 2012-02-01 株式会社リコー 画像処理装置、情報処理装置、サーバ装置、表示制御システム、及び表示制御方法
KR101361508B1 (ko) * 2008-08-19 2014-02-10 삼성전자 주식회사 화상형성장치, 시스템 및 이 장치의 기능설정메뉴 제공방법

Also Published As

Publication number Publication date
WO2011155419A1 (en) 2011-12-15
JP2012019508A (ja) 2012-01-26
US20120113453A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
JP5822537B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US10630857B2 (en) Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
CN106155679B (zh) 信息处理系统、信息处理装置和信息处理方法
US9116651B2 (en) Image processing apparatus, control method, and recording medium storing computer program for image processing
KR101467646B1 (ko) 정보 처리 장치, 웹 서버, 제어 방법, 및 저장 매체
US20070165265A1 (en) System using services, image handling apparatus, external processing apparatus, information processing apparatus, and state change sending method
JP6645341B2 (ja) 情報処理システム、情報処理装置および情報処理方法
US20120314245A1 (en) Image processing apparatus, image processing system, method for controlling the same, and storage medium therefor
US8638461B2 (en) Image forming apparatus and method for providing user interface screen of image forming apparatus
JP5743671B2 (ja) 情報処理装置およびその制御方法
US20110276960A1 (en) Image processing apparatus, web server, installation system, installation method, and program
JP2011124721A (ja) 複合機、プログラムおよび記録媒体
JP4344203B2 (ja) 画像形成装置および情報表示方法
US20120036425A1 (en) Information processing apparatus, information processing system, control method for the information processing apparatus, and recording medium
US20100097644A1 (en) Image processing apparatus, server apparatus, and control method thereof
JP2012038166A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP6492711B2 (ja) 中継装置、操作画面提供装置及びプログラム
JP2007053556A (ja) 複合機
US8902462B1 (en) System and control method
EP3070920A1 (en) Image forming device and image forming method
JP5332628B2 (ja) ネットワーク装置、アプリケーション取得方法
US20200310714A1 (en) Image forming apparatus, method of controlling the same, storage medium, and system
JP2016208325A (ja) 画像読取装置、画像読取装置の制御方法、プログラム、及び記録媒体
JP2007011703A (ja) プリントシステム
JP5831695B2 (ja) 情報処理装置、情報処理システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151006

LAPS Cancellation because of no payment of annual fees