情報処理装置およびその制御方法
【課題】ジョブ処理中に別のジョブが実行されても処理シーケンスの混同が生じないようにする。
【解決手段】Webブラウザー420は所定のシーケンスに応じてサーバー102から提供された操作画面を表示部に表示し、操作画面における操作に応じてサーバーに当該操作に応じた第1の画面を要求する。Webブラウザーはサーバーから提供された第1の画面で選択された処理命令をサーバーに要求し、転送アプリケーション部430はサーバーからのレスポンスに所定のシーケンスと異なる新規シーケンスを生成する設定があると、当該設定に応じて新規シーケンスを生成する。Webブラウザーはレスポンスに応じたジョブ処理の処理結果を新規シーケンスによってサーバーに送付して、新規シーケンスによってサーバーで生成された完了表示画面を表示する。
【解決手段】Webブラウザー420は所定のシーケンスに応じてサーバー102から提供された操作画面を表示部に表示し、操作画面における操作に応じてサーバーに当該操作に応じた第1の画面を要求する。Webブラウザーはサーバーから提供された第1の画面で選択された処理命令をサーバーに要求し、転送アプリケーション部430はサーバーからのレスポンスに所定のシーケンスと異なる新規シーケンスを生成する設定があると、当該設定に応じて新規シーケンスを生成する。Webブラウザーはレスポンスに応じたジョブ処理の処理結果を新規シーケンスによってサーバーに送付して、新規シーケンスによってサーバーで生成された完了表示画面を表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびその制御方法に関し、特に、外部装置から提供される操作画面を表示する情報処理装置に関する。
【背景技術】
【0002】
近年、ネットワーク上に位置するWebサーバーなどの外部装置に接続されたPCなどの情報処理装置では、Webサーバーから提供される操作画面を情報処理装置が備えるWebブラウザー上に表示することが行われている。
【0003】
この際には、まず、情報処理装置が備えるWebブラウザーが、Webサーバーに対して操作画面を要求(リクエスト)する。そして、Webサーバー上のWebアプリケーションが当該リクエストに応じてWebブラウザーに操作画面を表示させるためのHTMLファイルを情報処理装置に対して応答(レスポンス)する。情報処理装置のWebブラウザーは、受信したHTMLファイルを解析して、HTMLファイルの記述に基づいた操作画面を表示する。
【0004】
さらに、Webブラウザーに表示された操作画面を介して、ユーザーが指示を入力すると、入力された指示をWebブラウザーがWebサーバーに対して通知する。そして、この通知を受けたWebサーバー上のWebアプリケーションは、入力された指示に従って処理を実行する。
【0005】
ところで、情報処理装置の1つであるMFP(Multi Function Peripheral)にはスキャナーおよびプリンターを備えるばかりでなく、上述したWebブラウザーを備えているものがある。そして、このようなMFPでは、上述の手順によってWebサーバーから提供される操作画面をMFPのWebブラウザーで表示して、ユーザーからの各種指示を受け付ける。
【0006】
加えて、Webサーバーが、MFPが備える各機能を利用するための指示を入力する操作画面を提供するようにしたものがある。ここでは、MFPのユーザーは、Webブラウザー上に表示された操作画面を介して、MFPに対する指示を入力する。そして、入力された指示はMFPのWebブラウザーによってWebサーバーに通知される。
【0007】
当該通知を受けたWebサーバーは、ユーザーが入力した指示の内容に従って、MFPに対して各種処理の実行を依頼する。そして、MFPは、依頼された処理を実行する(特許文献1参照)。これによって、MFPを操作するための全ての操作画面のデータをMFPで保持する必要がなくなる。さらに、操作画面のデータの変更についてもWebサーバー上で容易に行うことができるようになる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−127503号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、MFPにおける、Webサーバーから提供される操作画面の操作により行われる印刷処理などでは、印刷処理の途中で、印刷完了画面が表示されるのを待つことなく、ユーザーが他の操作画面に遷移させることがある。例えば、印刷途中でユーザーが他の操作画面への遷移を指示し、別のジョブを実行するための操作を行っているとする。この操作の最中に先に実行した印刷処理の印刷完了画面が表示されると、ユーザーは既に別のジョブを実行するための操作を行っているにも関わらず突然過去に指示した印刷ジョブに関する印刷完了画面が表示されることになる。つまり、このような場合、MFPの操作画面の制御が適切に行うことができなくなる。
【0010】
従って、本発明の目的は、ジョブ処理中に画面遷移を行っても適切に画面の制御を行うことを可能にする情報処理装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【0011】
上記の目的を達成するため、本発明による情報処理装置は、ネットワークを介して接続された外部装置から提供される操作画面の操作によってジョブを実行する情報処理装置であって、前記外部装置から提供される操作画面を表示する表示手段と、処理命令に従ってジョブを実行する実行手段と、前記表示手段により表示された操作画面の操作に基づく処理命令であってシーケンス情報を含む処理命令を前記外部装置から受信して前記実行手段に転送し、その転送した処理命令に従って前記実行手段により実行されたジョブの結果を前記外部装置に送信する制御手段を有し、前記制御手段は、前記処理命令の転送の後に他の操作画面を表示する要求がない場合には、前記処理命令に含まれるシーケンス情報と同じシーケンス情報を付加して前記ジョブの結果を送信し、前記処理命令の転送の後に他の操作画面を表示する要求がある場合には、前記処理命令に含まれるシーケンス情報と異なるシーケンス情報を付加して前記ジョブの結果を送信することを特徴とする。
【発明の効果】
【0012】
本発明によれば、ジョブ処理中に画面遷移を行っても適切に画面の制御を行うことができる。
【図面の簡単な説明】
【0013】
【図1】図1は、本発明の第1の実施形態による情報処理装置が収容されたネットワークシステムの一例を示す図である。
【図2】図1に示す情報処理装置についてその構成の一例を示すブロック図である。
【図3】図1に示すサーバーのハードウェア構成の一例を示すブロック図である。
【図4】図1に示す情報処理装置およびサーバーのソフトウェア構成の一例を示す図である。
【図5】図4に示す情報処理装置(MFP)およびサーバーにおける処理を説明するためのシーケンス図である。
【図6】図4に示すWebブラウザーで表示されるメニュー画面の一例を示す図である。
【図7】図4に示すWebブラウザーで表示する印刷画面の一例を示す図である。
【図8】図4に示すWebアプリケーションでHTTPヘッダーに埋め込まれた別シーケンス設定の一例を示す図である。
【図9】図4に示すMFPにおいて印刷中にWebブラウザーで表示される印刷中画面を示す図である。
【図10】図5に示すステップS512においてWebブラウザーで表示される印刷画面を示す図である。
【図11】図4に示すMFPで行われる別シーケンス処理を説明するためのフローチャートである。
【図12】図4に示すWebブラウザーにおいて、新規シーケンスを用いて表示した“文書1”の完了画面の一例を示す図である。
【図13】本発明の第2の実施形態における情報処理装置(MFP)における別シーケンス処理について説明するためのフローチャートである。
【図14】図4に示すWebアプリケーションからWebブラウザーにレスポンスを返す際に埋め込まれるシーケンス設定指定の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0015】
[第1の実施形態]
図1は、本発明の第1の実施形態による情報処理装置が収容されたネットワークシステムの一例を示す図である。図示の例では、情報処理装置101はネットワーク100を介してサーバー(Webサーバー)102に接続されている。なお、ここでは、情報処理装置101は、例えば、複合機などのMFP(Multiple Function Peripheral)である。ネットワーク100は情報処理装置101とサーバー102との間で通信を行うための基盤であって、例えば、イントラネット又はインターネットである。
【0016】
情報処理装置101は所謂Webブラウザー機能を有しており、サーバー102はWebコンテンツを、ネットワーク100を介して配信する配信機能を有している。そして、サーバー102は情報処理装置101からのリクエストに応じてWebコンテンツを情報処理装置101に返送する。
【0017】
図2は、図1に示す情報処理装置101についてその構成の一例を示すブロック図である。
【0018】
図2において、情報処理装置101は、CPU201を有しており、CPU201は情報処理装置101全体の制御を司る。さらに、情報処理装置101は、CPU201のワークエリアとして用いられるRAM202、原稿から画像を読み取る読取装置203、および画像データに応じて印刷を行う印刷装置204を備えている。また、情報処理装置101は、記憶装置205、ユーザー入力装置206、UI(ユーザーインタフェース)表示装置207、およびネットワーク装置208を備えている。そして、これらCPU201、RAM202、読取装置203、印刷装置204、記憶装置205、ユーザー入力装置206、UI表示装置207、およびネットワーク装置208はメインバス200で相互に接続されている。
【0019】
記憶装置205にはプログラムおよび各種設定情報が記憶され、例えば、HDD又はNVRAM等が用いられる。ユーザー入力装置206はユーザーがコマンドの入力を行うためのものであり、UI表示装置207には各種画面表示が行われる。ネットワーク装置208は外部機器(例えば、サーバー102)とネットワーク100を介して通信を行うためのものである。なお、図示の例では、CPU201はメインバス200を介してRAM202、読み取り装置203、印刷装置204、記憶装置205、ユーザー入力装置206、UI表示装置207、およびネットワーク装置208を制御する。また、タッチパネルディスプレイを用いてUI表示装置207がユーザー入力装置206を兼ねるにしてもよい。
【0020】
図3は、図1に示すサーバー102のハードウェア構成の一例を示すブロック図である。
【0021】
図3において、サーバー102、CPU301、RAM302、記憶装置303、およびネットワーク装置304を有しており、これらはメインバス300によって相互に接続されている。RAM302はCPU301のワークエリアとして用いられ、記憶装置303にはプログラムおよび各種設定情報が記憶される。ネットワーク装置304はネットワーク100を介して情報処理装置101と通信を行う。
【0022】
なお、図示の例では、CPU301はメインバス300を介してRAM302、記憶装置303、およびネットワーク装置304を制御する。
【0023】
図4は、図1に示す情報処理装置101およびサーバー102のソフトウェア構成の一例を示す図である。なお、図4に示すソフトウェア(制御プログラム)は情報処理装置101のCPU201又はサーバー102のCPU301で実行される。
【0024】
図4において、サーバー102、つまり、CPU303上ではWebアプリケーション410およびHTTP通信部(以下単に通信部と呼ぶ)413が動作する。そして、Webアプリケーション410は、プレゼンテーション部411およびロジック部412を備えている。
【0025】
プレゼンテーション部411は、通信部413を介して、情報処理装置101からのリクエストに応答して、情報処理装置101に表示される操作画面又は処理要求を、情報処理装置101にレスポンスとして送信する。また、プレゼンテーション部411は情報処理装置101に表示された操作画面を介して入力された入力情報を、通信部413を介して情報処理装置101から受け取る。
【0026】
ロジック部412は、プレゼンテーション部411から通知された上記の入力情報に対する処理を行う。例えば、ロジック部412は、入力情報に応じて、表示する画面を変更し、そして、情報処理装置101(MFP)におけるデバイス機能実行のための処理要求を作成する。
【0027】
通信部413は、ネットワーク装置304(図3)を制御してHTTPプロトコルにより通信を行うソフトウェアモジュールである。
【0028】
情報処理装置(以下MFPとも呼ぶ)101は、Webブラウザー420、転送アプリケーション部430、およびサービスプロバイダー部440を有している。Webブラウザー420、転送アプリケーション430、およびサービスプロバイダー440の各々は、MFP101のCPU201によって実行される。なお、Webブラウザー420は、サーバー102からのコンテンツを表示するものに限定するものではない。同様に、サーバー102もHTTPプロトコル(例えば、SOAP(Simple Object Access Protrol))に従ってリクエスト/レスポンス(メッセージ)を送受信するサーバーに限定するものではない。Webブラウザー420は、任意のサーバーと通信を行うことによってコンテンツを取得して、画面に表示するといった機能を有すればよい。
【0029】
図示の例では、Webブラウザー420は、通信部421、解析部422、画面表示部423、転送アプリケーション起動部424、およびアップロード処理部424を有している。通信部421は、HTTPプロトコルに従って、通信部413と通信を介してプレゼンテーション部411と通信を行う。
【0030】
例えば、通信部421は、Webブラウザー420で表示した操作画面を介して入力される情報(入力情報)をWebアプリケーション410に対するリクエストとして送信する。そして、通信部421は、Webアプリケーション410から送信されるレスポンスを受信する。
【0031】
解析部422は、Webアプリケーション410から受信したレスポンスを解析する。レスポンスにはWebブラウザー420が表示する操作画面の内容を示す記述であるHTMLデータ、サービスプロバイダー部440に対する処理要求が記載されている。解析部422は、レスポンス(つまり、HTTPレスポンス)のヘッダーに含まれるContent−Typeフィールドがapplication/vnd.canon.webserviceであるかを確認する。そして、Content−Typeフィールドがapplication/vnd.canon.webserviceであると、解析部422は、受信したレスポンスに対する処理を転送アプリケーション起動部424に依頼する。
【0032】
画面表示部423は、解析部422による解析結果に基づいて、HTMLデータを操作画面としてUI表示装置207(図2)に表示する。
【0033】
転送アプリケーション起動部424は、解析部422による解析結果に応じて、Webアプリケーション410から受信したレスポンスを、サービスプロバイダー部440に対する処理要求とみなす。そして、サービスプロバイダー部440に対する処理要求であるとみなすと、転送アプリケーション起動部424は転送アプリケーション部430に対して、処理要求をサービスプロバイダー部440に転送するように依頼する。なお、上記のレスポンスが情報処理装置101に対する処理要求であるか否かの判別が可能であれば、HTTPレスポンスヘッダを参照する以外の手法を用いるようにしてもよい。
【0034】
アップロード処理部425は、MFP101が備えるデバイス(印刷装置など)からの要求に応じて、当該要求で指定されたデータを、通信部421を介してサーバー102に送信する。図示の例では、HTTP POSTメソッドを用いて指定のデータをアップロードするが、Webブラウザー420が処理可能なプロトコルであれば他の手法を用いるようにしてもよい。
【0035】
転送アプリケーション部430は、通信部431および処理部432を備えている。通信部431は、処理部432から依頼を受けて、サービスプロバイダー部440に処理要求を転送する。そして、通信部431は当該処理要求に対する処理結果をサービスプロバイダー部440から受信する。
【0036】
処理部432は、転送アプリケーション起動部424から依頼を受けて、サービスプロバイダー部440に対する処理要求を、通信部431を介して転送する。この際、処理部432はWebアプリケーション420から受信したレスポンスのヘッダーに記載されている宛先に転送する。
【0037】
転送アプリケーション部430はWebブラウザー420で対応できない形式のファイル(音声、動画、およびアニメーションなど)を処理することができ、Webブラウザー420から独立して動作する。なお、ここでは、処理要求の転送を行う機能を有していれば、転送アプリケーション部430ではなく、プラグイン、Webブラウザー420内の一機能、又は受信したレスポンス内に記載されたJava(登録商標)Scriptとして存在してもよい。
【0038】
サービスプロバイダー部440は、通信部441およびジョブ生成部442を有している。通信部441は、転送アプリケーション部430から処理依頼を受け付ける。ジョブ生成部442は、通信部441で受け付けた処理依頼を受け取って、依頼された処理を実行するためのジョブを生成して、当該ジョブを実行する。
【0039】
図5は、図4に示す情報処理装置(MFP)101およびサーバー102における処理を説明するためのシーケンス図である。
【0040】
図3〜図5を参照して、ここでは、図示のネットワークシステムで行われる別シーケンス処理について説明する。ここで、別シーケンス処理とは、例えば、MFP101において1つ目の印刷ジョブを実行中に、ユーザーが他の操作画面に遷移する操作を行って別の操作画面(他の操作画面)を表示した際の処理をいう。この際には、1つの印刷ジョブの結果が別のシーケンスとして(別のシーケンス番号が付加されて)Webアプリケーション411に返却(送信)される。
【0041】
まず、ユーザーがUI表示装置207を用いて送信用のハードウェアボタン(図示せず)を押下げると、Webブラウザー420が起動される。Webブラウザー420は、処理実行のためのメニュー画面をUI表示装置207に表示するために、Webアプリケーション410にメニュー画面の要求のためのリクエストを実行する。ここでは、メニュー画面のコンテンツを示すURLが予めMFP101に設定されているものとする。
【0042】
Webブラウザー420はURLで示されるコンテンツを保持するWebアプリケーション410に対して、HTTPのGETコマンドによってリクエストを行う(ステップS501)。具体的には、Webブラウザー420において通信部421はHTMLデータに応じて、HTTPプロトコルによってサーバー102のHTTP通信部413と通信を行う。HTTP通信部413は受け取ったURLに応じて、適切なWebアプリケーション411にHTMLデータを渡す。これによって、Webブラウザー420にメニュー画面のリクエストが実行され、Webブラウザー420からWebアプリケーション410に対してリクエストが行われる。以下の説明では、通信部421およびHTTP通信部413の動作は省略する。
【0043】
続いて、Webブラウザー420はレスポンスとして、Webアプリケーション410から提供されるメニュー画面(操作画面)のHTMLを受け取って、UI表示装置207に表示する(ステップS502)。
【0044】
図6は、図4に示すWebブラウザー420で表示されるメニュー画面の一例を示す図である。
【0045】
メニュー画面801には、FAX、FTP、印刷、およびコピーなどの実行メニューが表示される。ここで、Webブラウザー420は複数の画面をタブ802単位で管理可能なタブブラウザーである。
【0046】
再び図3〜図5を参照して、いま、ユーザーがメニュー画面において印刷メニュー(印刷)を押下げると、Webブラウザー420は、所定のシーケンス(既存のシーケンス:シーケンス1)に応じて印刷画面生成のリクエストをWebアプリケーション410に要求する(ステップS503)。Webアプリケーション411は、要求された印刷画面(第1の画面)に対するHTMLを作成して、当該HTMLをレスポンスとしてWebブラウザー420に返信する(ステップS504)。そして、Webブラウザー420は受け取ったHTMLに応じて印刷画面をUI表示装置207に表示する。
【0047】
図7は、図4に示すWebブラウザー420で表示する印刷画面の一例を示す図である。
【0048】
印刷画面には印刷可能な文書一覧901が表示されるとともに、選択した文書を印刷する際に押下げられる印刷ボタン902が表示される。
【0049】
次に、ユーザーが印刷画面上で「文書1」を選択して印刷ボタン902を押下げたとする。これによって、Webブラウザー420は当該印刷実行命令の生成をWebアプリケーション411にリクエストする(ステップS505)。
【0050】
印刷実行命令(処理命令)の生成リクエストを受けると、Webアプリケーション410は、サーバー102に設定されている別シーケンス設定(図8参照)を参照して、MFP101に対する実行命令に別シーケンス命令を含めるか否かについて判定する(シーケンス命令又はシーケンス設定はシーケンス情報とも呼ばれる)。ここで、Webアプリケーション410において別シーケンス設定を設定する際には、Webアプリケーション410における管理画面等が用いられる。
【0051】
印刷実行命令の生成リクエストを受けた際には、Webアプリケーション410は、HTTPヘッダーに別シーケンス設定を埋め込む。さらに、Webアプリケーション410は、MFP101に印刷を実行させるためのスクリプトと印刷中画面を表示するためのHTMLとをレスポンスとしてWebブラウザー420に送信する(ステップS506)。
【0052】
図8は、図4に示すWebアプリケーション410でHTTPヘッダーに埋め込まれた別シーケンス設定の一例を示す図である。
【0053】
図8において、”Sequential Control”701は変数名であり、転送アプリケーション部430は当該変数を解析して、別シーケンスによるレスポンスを行うか否かについて判定する。”Sequence”702は、別シーケンス設定機能がON又はOFFであるかを表すものであり、図示の例では、”ON”と設定されている(新規シーケンス設定)。”Sequence No”703はシーケンス番号であり、別シーケンスとしてWebアプリケーション410がレスポンスを受ける際、Webブラウザー420に設定すべきシーケンス番号をWebアプリケーション410が設定する。
【0054】
前述したように、Webアプリケーション410がシーケンス設定、スクリプト指示、および画面表示データを含むレスポンスをWebブラウザー420に送ると、Webブラウザー420は、当該レスポンスに応じたHTML画面を表示する。
【0055】
図9は、図4に示すMFP101において印刷中にWebブラウザー420で表示される印刷中画面を示す図である。
【0056】
図9において、印刷中画面には、印刷実行中(ジョブ実行中)の文書名1001と、メニュー画面に遷移するためのメニューボタン1002とが表示される。別シーケンス設定およびスクリプトは、Webブラウザー420から転送アプリケーション部430に送られる(ステップS507)。
【0057】
転送アプリケーション部430は、まず別シーケンス設定を解釈して、指定された設定内容を記憶装置205(図2)に保存する。さらに、転送アプリケーション部430では、スクリプトの内容を解析して、解析結果をサービスプロバイダー部440に送る(ステップS508)。
【0058】
ここで、他の操作画面に遷移する要求があった場合について説明する。すなわち、別シーケンス設定およびスクリプトを転送アプリケーション430に送信した後、サービスプロバイダー部440における印刷処理中に、ユーザーが図9に示す印刷中画面においてメニューボタン1002を押下げたとする。これによって、Webブラウザー420はWebアプリケーション410に対してメニュー画面のリクエストを行う(ステップS509)。そして、当該リクエストを受け付けると、Webアプリケーション410はメニュー画面に係るHTMLをWebブラウザー420にレスポンスとして送る(ステップS510)。Webブラウザー420は、受領したメニュー画面をUI表示装置207に表示する。ユーザーはメニュー画面から印刷を選択して印刷ボタンを押下する。
【0059】
これによって、Webブラウザー420はWebアプリケーション410に対して印刷画面に係るリクエストを行う(ステップS511)。そして、印刷画面に係るリクエストを受けると、Webアプリケーション510はWebブラウザー420に対して印刷画面のHTMLをレスポンスとして送る(ステップS512)。
【0060】
図10は、図5に示すステップS512においてWebブラウザー420で表示される印刷画面を示す図である。
【0061】
図10において、印刷画面には印刷可能な文書一覧1101が表示される。さらに、印刷画面には選択した文書を印刷する際に押下げられる印刷ボタン1102が表示される。ここで、ユーザーは印刷画面において“文書2”を選択して印刷ボタン1102を押下げたとする。これによって、Webブラウザー420は印刷実行命令をWebアプリケーションが実行するようにリクエストする(ステップS512)。この際、”文書1”の印刷が完了して、サービスプロバイダー部440から転送アプリケーション部430に完了通知(印刷完了通知)があったとする(ステップS514)。転送アプリケーション430は、完了通知を受けると別シーケンス設定を確認する。
【0062】
図11は、図4に示すMFP101で行われる別シーケンス処理を説明するためのフローチャートである。
【0063】
まず、転送アプリケーション部430(つまり、処理部432)は、ジョブが実行される際にWebアプリケーション410が送付した別シーケンス設定(つまり、別シーケンスフラグの設定値)をチェックする(ステップS601)。そして、転送アプリケーション部430は別シーケンスフラグが設定されているか否かを判定する(ステップS602)。別シーケンスフラグが設定されていないと(ステップS602において、NO)、転送アプリケーション部430は別シーケンス処理を終了する。すなわち、印刷完了通知はサーバー102に送信されない。
【0064】
一方、別シーケンスフラグが設定されていると(ステップS602において、YES)、転送アプリケーション部430は別シーケンスの作成を行う(ステップS603)。そして、転送アプリケーション部430は、作成した別シーケンスにWebアプリケーション410が設定したユニークIDを付加して(ステップS604)、別シーケンス処理を終了する。
【0065】
図11に示す別シーケンス処理の終了後、転送アプリケーション部430は、Webブラウザー420に対して別タブを開いて、新規シーケンス(別シーケンス:シーケンス2)を作成する(ステップS515)。
【0066】
続いて、Webブラウザー420はWebアプリケーション410に対して、新規シーケンスを用いて処理結果(ジョブ処理の処理結果)のレスポンスをサーバー102に送信する(ステップS516)。Webアプリケーション410は処理結果を受けると、完了表示画面のHTMLを、新規シーケンスを用いてWebブラウザー420に送る(ステップS518)。
【0067】
図12は、図4に示すWebブラウザー420において、新規シーケンスを用いて表示した“文書1”の完了画面の一例を示す図である。
【0068】
図12において、完了画面には、”文書1”の印刷が完了した旨1201が表示される。さらに、完了画面では既存シーケンスの表示画面“タブ1“とは異なる表示画面”タブ2“1201が新規に作成されて表示される。
【0069】
なお、前述のステップS513におけるリクエストに対するレスポンスとして、Webアプリケーション410は、ステップS517において“文書2”の印刷中画面に係るHTMLをWebブラウザー420に送信する。この際に用いるシーケンスとして、既存シーケンス(シーケンス1)が用いられる。
【0070】
なお、S509〜S513の処理は、転送された処理命令に基づくサービスプロバイダー部401による印刷処理中に他の操作画面を表示する要求があった場合(図9のメニューボタン1002が押下された場合)の処理である。もし印刷中に上述のような他の操作画面を表示する要求がなかった場合には、所定のシーケンス(シーケンス1)、つまり、S501〜S506の処理のシーケンスと同じシーケンスに従ってジョブの完了通知をサーバーに送信することになる。そのため、新たなシーケンスを作成することが不要となる。
【0071】
このように、第1の実施形態では、MFP101おける処理完了に伴うWebアプリケーション410に対する通知処理(ジョブの結果の送信)については、既存シーケンス(シーケンス1)と別のシーケンス(シーケンス2)を用いるようにしたので、処理を並列的に行うことを可能とし、かつ2つの処理が相互に干渉することを防止される。さらに、処理に伴って表示される画面タブを分けるようにしたので、ユーザーが操作上混乱することを防止することができる。
【0072】
[第2の実施形態]
続いて、本発明の第2の実施形態による情報処理装置の一例については説明する。なお、第2の実施形態において、情報処理装置(MFP)101およびサーバー102の構成は、図2〜図4に示す構成と同様である。ここでは、UI表示装置207の状態に応じて、転送アプリケーション部430は別シーケンスを作成するか否かの判定を行う。
【0073】
図13は、本発明の第2の実施形態における情報処理装置(MFP)101における別シーケンス処理について説明するためのフローチャートである。
【0074】
図4および図13を参照して、ここでは、前述したように、MFP101においてジョブが完了すると、サービスプロバイダー部440は転送アプリケーション部430に対してジョブ完了通知を通知する。
【0075】
ジョブ完了通知を受けると、転送アプリケーション部430(つまり、処理部432)は、前述したように、シーケンスフラグのチェックを行う(ステップS1301)。そして、転送アプリケーション部430は別シーケンスフラグが設定されているか否かについて判定する(ステップS1302)。別シーケンスフラグが設定されていなければ(ステップS1302において、NO)、転送アプリケーション部430は別シーケンス処理を終了する。
【0076】
一方、別シーケンスフラグが設定されていると(ステップS1302において、YES)、転送アプリケーション部430はユーザーがUI表示装置207(図2)を操作(コントロール)しているか否かをチェックする(ステップS1303)。このチェックを行う際には、例えば、転送アプリケーション部430は、操作画面において戻るボタンが押下げられたか又はWebアプリケーション410に対する操作画面などの取得状況に応じてUI表示装置207が操作されたか否かを判定する。
【0077】
ユーザーがUI表示装置207を操作していないと(ステップS1303において、NO)、転送アプリケーション部430は別シーケンス処理を終了する。そして、転送アプリケーション部430は既存の処理シーケンス(シーケンス1)を用いて通常処理を継続する。
【0078】
ユーザーがUI表示装置207を操作すると(ステップS1303において、YES)、転送アプリケーション部430は別シーケンスの作成を行う(ステップS1304)。そして、転送アプリケーション部430は、作成した別シーケンスにWebアプリケーション410が設定したユニークIDを付加して(ステップS1305)、別シーケンス処理を終了する。
【0079】
別シーケンス処理の終了後、転送アプリケーション部430は、Webブラウザー420に対して別タブを開いて、新規シーケンス(シーケンス2)を作成する。そして、Webブラウザー420はWebアプリケーション410に対して、新規シーケンスを用いて処理結果のレスポンスを送付する。Webアプリケーション410は処理結果を受けると、完了表示画面のHTMLを、新規シーケンスを用いてWebブラウザー420に送る。
【0080】
このようにして、第2の実施形態では、ユーザーがUI表示装置207を操作していない場合には、既存のシーケンス(シーケンス1)に応じた完了表示画面を表示する。そして、ユーザーがUI表示装置207を操作した際に、別シーケンス(シーケンス2)を生成して、当該別シーケンスに応じた完了表示画面を表示する。この結果、ユーザーの操作がない場合には、不必要に別シーケンスの作成が行われることがなく、MFP101およびサーバー102の負荷を低減させることが可能となる。
【0081】
[第3の実施形態]
次に、本発明の第3の実施形態による情報処理装置(MFP)の一例については説明する。なお、第3の実施形態において、情報処理装置(MFP)101およびサーバー102の構成は、図2〜図4に示す構成と同様である。ここでは、Webブラウザー420がWebアプリケーション410に対して完了表示画面に係るリクエストを実行する際、新しいタブを開くことなく完了通知(リクエスト)をWebアプリケーション410に通知する。
【0082】
図14は、図4に示すWebアプリケーション410からWebブラウザー420にレスポンスを返す際に埋め込まれるシーケンス設定指定の一例を示す図である。
【0083】
Webアプリケーション410からWebブラウザー410に返送されるレスポンスにおいて、そのHTTPヘッダー情報には、”Window open”1401(タブ設定情報)が含まれている。この”Window open”1401は、新規タブを開いてリクエストを実行するか否かの設定を表している。”Window open”1401が”ON”であると、Webブラウザー420はWebアプリケーション410に対してリクエストを行う際、新規タブを生成する。そして、Webブラウザー420はWebアプリケーション410に対して処理完了通知を行うとともに、完了表示画面の取得をリクエストする。
【0084】
一方、”Window open”1401が”OFF”であると、Webブラウザー420は新規タブの生成を行わない。そして、Webブラウザー420は完了表示画面の取得をリクエストすることなく、Webアプリケーション410に対してジョブの完了通知のみを行う。
【0085】
このように、第3の実施形態では、新規タブを開いてリクエストを実行するか否かの設定を行うようにしたので、MFP101における処理完了結果をUI表示装置207に表示する必要のない場合には、Webアプリケーション410における画面作成の際の工数を削減することができ、さらには、画面取得のための通信を低減することができる。
【0086】
上述の説明から明らかなように、図4において、Webブラウザー420が第1の制御手段として機能する。また、Webブラウザー420および転送アプリケーション部430が集合的に第2の制御手段および第3の制御手段として機能する。
【0087】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0088】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【0089】
この際、制御方法および制御プログラムは、少なくとも第1の制御ステップ、第2の制御ステップ、および第3の制御ステップを有することになる。
【0090】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0091】
101 情報処理装置(MFP)
102 サーバー
410 Webアプリケーション
411 プレゼンテーション部
412 ロジック部
420 Webブラウザー
422 解析部
424 転送アプリケーション起動部
430 転送アプリケーション部
440 サービスプロバイダー部
【技術分野】
【0001】
本発明は、情報処理装置およびその制御方法に関し、特に、外部装置から提供される操作画面を表示する情報処理装置に関する。
【背景技術】
【0002】
近年、ネットワーク上に位置するWebサーバーなどの外部装置に接続されたPCなどの情報処理装置では、Webサーバーから提供される操作画面を情報処理装置が備えるWebブラウザー上に表示することが行われている。
【0003】
この際には、まず、情報処理装置が備えるWebブラウザーが、Webサーバーに対して操作画面を要求(リクエスト)する。そして、Webサーバー上のWebアプリケーションが当該リクエストに応じてWebブラウザーに操作画面を表示させるためのHTMLファイルを情報処理装置に対して応答(レスポンス)する。情報処理装置のWebブラウザーは、受信したHTMLファイルを解析して、HTMLファイルの記述に基づいた操作画面を表示する。
【0004】
さらに、Webブラウザーに表示された操作画面を介して、ユーザーが指示を入力すると、入力された指示をWebブラウザーがWebサーバーに対して通知する。そして、この通知を受けたWebサーバー上のWebアプリケーションは、入力された指示に従って処理を実行する。
【0005】
ところで、情報処理装置の1つであるMFP(Multi Function Peripheral)にはスキャナーおよびプリンターを備えるばかりでなく、上述したWebブラウザーを備えているものがある。そして、このようなMFPでは、上述の手順によってWebサーバーから提供される操作画面をMFPのWebブラウザーで表示して、ユーザーからの各種指示を受け付ける。
【0006】
加えて、Webサーバーが、MFPが備える各機能を利用するための指示を入力する操作画面を提供するようにしたものがある。ここでは、MFPのユーザーは、Webブラウザー上に表示された操作画面を介して、MFPに対する指示を入力する。そして、入力された指示はMFPのWebブラウザーによってWebサーバーに通知される。
【0007】
当該通知を受けたWebサーバーは、ユーザーが入力した指示の内容に従って、MFPに対して各種処理の実行を依頼する。そして、MFPは、依頼された処理を実行する(特許文献1参照)。これによって、MFPを操作するための全ての操作画面のデータをMFPで保持する必要がなくなる。さらに、操作画面のデータの変更についてもWebサーバー上で容易に行うことができるようになる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−127503号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、MFPにおける、Webサーバーから提供される操作画面の操作により行われる印刷処理などでは、印刷処理の途中で、印刷完了画面が表示されるのを待つことなく、ユーザーが他の操作画面に遷移させることがある。例えば、印刷途中でユーザーが他の操作画面への遷移を指示し、別のジョブを実行するための操作を行っているとする。この操作の最中に先に実行した印刷処理の印刷完了画面が表示されると、ユーザーは既に別のジョブを実行するための操作を行っているにも関わらず突然過去に指示した印刷ジョブに関する印刷完了画面が表示されることになる。つまり、このような場合、MFPの操作画面の制御が適切に行うことができなくなる。
【0010】
従って、本発明の目的は、ジョブ処理中に画面遷移を行っても適切に画面の制御を行うことを可能にする情報処理装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【0011】
上記の目的を達成するため、本発明による情報処理装置は、ネットワークを介して接続された外部装置から提供される操作画面の操作によってジョブを実行する情報処理装置であって、前記外部装置から提供される操作画面を表示する表示手段と、処理命令に従ってジョブを実行する実行手段と、前記表示手段により表示された操作画面の操作に基づく処理命令であってシーケンス情報を含む処理命令を前記外部装置から受信して前記実行手段に転送し、その転送した処理命令に従って前記実行手段により実行されたジョブの結果を前記外部装置に送信する制御手段を有し、前記制御手段は、前記処理命令の転送の後に他の操作画面を表示する要求がない場合には、前記処理命令に含まれるシーケンス情報と同じシーケンス情報を付加して前記ジョブの結果を送信し、前記処理命令の転送の後に他の操作画面を表示する要求がある場合には、前記処理命令に含まれるシーケンス情報と異なるシーケンス情報を付加して前記ジョブの結果を送信することを特徴とする。
【発明の効果】
【0012】
本発明によれば、ジョブ処理中に画面遷移を行っても適切に画面の制御を行うことができる。
【図面の簡単な説明】
【0013】
【図1】図1は、本発明の第1の実施形態による情報処理装置が収容されたネットワークシステムの一例を示す図である。
【図2】図1に示す情報処理装置についてその構成の一例を示すブロック図である。
【図3】図1に示すサーバーのハードウェア構成の一例を示すブロック図である。
【図4】図1に示す情報処理装置およびサーバーのソフトウェア構成の一例を示す図である。
【図5】図4に示す情報処理装置(MFP)およびサーバーにおける処理を説明するためのシーケンス図である。
【図6】図4に示すWebブラウザーで表示されるメニュー画面の一例を示す図である。
【図7】図4に示すWebブラウザーで表示する印刷画面の一例を示す図である。
【図8】図4に示すWebアプリケーションでHTTPヘッダーに埋め込まれた別シーケンス設定の一例を示す図である。
【図9】図4に示すMFPにおいて印刷中にWebブラウザーで表示される印刷中画面を示す図である。
【図10】図5に示すステップS512においてWebブラウザーで表示される印刷画面を示す図である。
【図11】図4に示すMFPで行われる別シーケンス処理を説明するためのフローチャートである。
【図12】図4に示すWebブラウザーにおいて、新規シーケンスを用いて表示した“文書1”の完了画面の一例を示す図である。
【図13】本発明の第2の実施形態における情報処理装置(MFP)における別シーケンス処理について説明するためのフローチャートである。
【図14】図4に示すWebアプリケーションからWebブラウザーにレスポンスを返す際に埋め込まれるシーケンス設定指定の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0015】
[第1の実施形態]
図1は、本発明の第1の実施形態による情報処理装置が収容されたネットワークシステムの一例を示す図である。図示の例では、情報処理装置101はネットワーク100を介してサーバー(Webサーバー)102に接続されている。なお、ここでは、情報処理装置101は、例えば、複合機などのMFP(Multiple Function Peripheral)である。ネットワーク100は情報処理装置101とサーバー102との間で通信を行うための基盤であって、例えば、イントラネット又はインターネットである。
【0016】
情報処理装置101は所謂Webブラウザー機能を有しており、サーバー102はWebコンテンツを、ネットワーク100を介して配信する配信機能を有している。そして、サーバー102は情報処理装置101からのリクエストに応じてWebコンテンツを情報処理装置101に返送する。
【0017】
図2は、図1に示す情報処理装置101についてその構成の一例を示すブロック図である。
【0018】
図2において、情報処理装置101は、CPU201を有しており、CPU201は情報処理装置101全体の制御を司る。さらに、情報処理装置101は、CPU201のワークエリアとして用いられるRAM202、原稿から画像を読み取る読取装置203、および画像データに応じて印刷を行う印刷装置204を備えている。また、情報処理装置101は、記憶装置205、ユーザー入力装置206、UI(ユーザーインタフェース)表示装置207、およびネットワーク装置208を備えている。そして、これらCPU201、RAM202、読取装置203、印刷装置204、記憶装置205、ユーザー入力装置206、UI表示装置207、およびネットワーク装置208はメインバス200で相互に接続されている。
【0019】
記憶装置205にはプログラムおよび各種設定情報が記憶され、例えば、HDD又はNVRAM等が用いられる。ユーザー入力装置206はユーザーがコマンドの入力を行うためのものであり、UI表示装置207には各種画面表示が行われる。ネットワーク装置208は外部機器(例えば、サーバー102)とネットワーク100を介して通信を行うためのものである。なお、図示の例では、CPU201はメインバス200を介してRAM202、読み取り装置203、印刷装置204、記憶装置205、ユーザー入力装置206、UI表示装置207、およびネットワーク装置208を制御する。また、タッチパネルディスプレイを用いてUI表示装置207がユーザー入力装置206を兼ねるにしてもよい。
【0020】
図3は、図1に示すサーバー102のハードウェア構成の一例を示すブロック図である。
【0021】
図3において、サーバー102、CPU301、RAM302、記憶装置303、およびネットワーク装置304を有しており、これらはメインバス300によって相互に接続されている。RAM302はCPU301のワークエリアとして用いられ、記憶装置303にはプログラムおよび各種設定情報が記憶される。ネットワーク装置304はネットワーク100を介して情報処理装置101と通信を行う。
【0022】
なお、図示の例では、CPU301はメインバス300を介してRAM302、記憶装置303、およびネットワーク装置304を制御する。
【0023】
図4は、図1に示す情報処理装置101およびサーバー102のソフトウェア構成の一例を示す図である。なお、図4に示すソフトウェア(制御プログラム)は情報処理装置101のCPU201又はサーバー102のCPU301で実行される。
【0024】
図4において、サーバー102、つまり、CPU303上ではWebアプリケーション410およびHTTP通信部(以下単に通信部と呼ぶ)413が動作する。そして、Webアプリケーション410は、プレゼンテーション部411およびロジック部412を備えている。
【0025】
プレゼンテーション部411は、通信部413を介して、情報処理装置101からのリクエストに応答して、情報処理装置101に表示される操作画面又は処理要求を、情報処理装置101にレスポンスとして送信する。また、プレゼンテーション部411は情報処理装置101に表示された操作画面を介して入力された入力情報を、通信部413を介して情報処理装置101から受け取る。
【0026】
ロジック部412は、プレゼンテーション部411から通知された上記の入力情報に対する処理を行う。例えば、ロジック部412は、入力情報に応じて、表示する画面を変更し、そして、情報処理装置101(MFP)におけるデバイス機能実行のための処理要求を作成する。
【0027】
通信部413は、ネットワーク装置304(図3)を制御してHTTPプロトコルにより通信を行うソフトウェアモジュールである。
【0028】
情報処理装置(以下MFPとも呼ぶ)101は、Webブラウザー420、転送アプリケーション部430、およびサービスプロバイダー部440を有している。Webブラウザー420、転送アプリケーション430、およびサービスプロバイダー440の各々は、MFP101のCPU201によって実行される。なお、Webブラウザー420は、サーバー102からのコンテンツを表示するものに限定するものではない。同様に、サーバー102もHTTPプロトコル(例えば、SOAP(Simple Object Access Protrol))に従ってリクエスト/レスポンス(メッセージ)を送受信するサーバーに限定するものではない。Webブラウザー420は、任意のサーバーと通信を行うことによってコンテンツを取得して、画面に表示するといった機能を有すればよい。
【0029】
図示の例では、Webブラウザー420は、通信部421、解析部422、画面表示部423、転送アプリケーション起動部424、およびアップロード処理部424を有している。通信部421は、HTTPプロトコルに従って、通信部413と通信を介してプレゼンテーション部411と通信を行う。
【0030】
例えば、通信部421は、Webブラウザー420で表示した操作画面を介して入力される情報(入力情報)をWebアプリケーション410に対するリクエストとして送信する。そして、通信部421は、Webアプリケーション410から送信されるレスポンスを受信する。
【0031】
解析部422は、Webアプリケーション410から受信したレスポンスを解析する。レスポンスにはWebブラウザー420が表示する操作画面の内容を示す記述であるHTMLデータ、サービスプロバイダー部440に対する処理要求が記載されている。解析部422は、レスポンス(つまり、HTTPレスポンス)のヘッダーに含まれるContent−Typeフィールドがapplication/vnd.canon.webserviceであるかを確認する。そして、Content−Typeフィールドがapplication/vnd.canon.webserviceであると、解析部422は、受信したレスポンスに対する処理を転送アプリケーション起動部424に依頼する。
【0032】
画面表示部423は、解析部422による解析結果に基づいて、HTMLデータを操作画面としてUI表示装置207(図2)に表示する。
【0033】
転送アプリケーション起動部424は、解析部422による解析結果に応じて、Webアプリケーション410から受信したレスポンスを、サービスプロバイダー部440に対する処理要求とみなす。そして、サービスプロバイダー部440に対する処理要求であるとみなすと、転送アプリケーション起動部424は転送アプリケーション部430に対して、処理要求をサービスプロバイダー部440に転送するように依頼する。なお、上記のレスポンスが情報処理装置101に対する処理要求であるか否かの判別が可能であれば、HTTPレスポンスヘッダを参照する以外の手法を用いるようにしてもよい。
【0034】
アップロード処理部425は、MFP101が備えるデバイス(印刷装置など)からの要求に応じて、当該要求で指定されたデータを、通信部421を介してサーバー102に送信する。図示の例では、HTTP POSTメソッドを用いて指定のデータをアップロードするが、Webブラウザー420が処理可能なプロトコルであれば他の手法を用いるようにしてもよい。
【0035】
転送アプリケーション部430は、通信部431および処理部432を備えている。通信部431は、処理部432から依頼を受けて、サービスプロバイダー部440に処理要求を転送する。そして、通信部431は当該処理要求に対する処理結果をサービスプロバイダー部440から受信する。
【0036】
処理部432は、転送アプリケーション起動部424から依頼を受けて、サービスプロバイダー部440に対する処理要求を、通信部431を介して転送する。この際、処理部432はWebアプリケーション420から受信したレスポンスのヘッダーに記載されている宛先に転送する。
【0037】
転送アプリケーション部430はWebブラウザー420で対応できない形式のファイル(音声、動画、およびアニメーションなど)を処理することができ、Webブラウザー420から独立して動作する。なお、ここでは、処理要求の転送を行う機能を有していれば、転送アプリケーション部430ではなく、プラグイン、Webブラウザー420内の一機能、又は受信したレスポンス内に記載されたJava(登録商標)Scriptとして存在してもよい。
【0038】
サービスプロバイダー部440は、通信部441およびジョブ生成部442を有している。通信部441は、転送アプリケーション部430から処理依頼を受け付ける。ジョブ生成部442は、通信部441で受け付けた処理依頼を受け取って、依頼された処理を実行するためのジョブを生成して、当該ジョブを実行する。
【0039】
図5は、図4に示す情報処理装置(MFP)101およびサーバー102における処理を説明するためのシーケンス図である。
【0040】
図3〜図5を参照して、ここでは、図示のネットワークシステムで行われる別シーケンス処理について説明する。ここで、別シーケンス処理とは、例えば、MFP101において1つ目の印刷ジョブを実行中に、ユーザーが他の操作画面に遷移する操作を行って別の操作画面(他の操作画面)を表示した際の処理をいう。この際には、1つの印刷ジョブの結果が別のシーケンスとして(別のシーケンス番号が付加されて)Webアプリケーション411に返却(送信)される。
【0041】
まず、ユーザーがUI表示装置207を用いて送信用のハードウェアボタン(図示せず)を押下げると、Webブラウザー420が起動される。Webブラウザー420は、処理実行のためのメニュー画面をUI表示装置207に表示するために、Webアプリケーション410にメニュー画面の要求のためのリクエストを実行する。ここでは、メニュー画面のコンテンツを示すURLが予めMFP101に設定されているものとする。
【0042】
Webブラウザー420はURLで示されるコンテンツを保持するWebアプリケーション410に対して、HTTPのGETコマンドによってリクエストを行う(ステップS501)。具体的には、Webブラウザー420において通信部421はHTMLデータに応じて、HTTPプロトコルによってサーバー102のHTTP通信部413と通信を行う。HTTP通信部413は受け取ったURLに応じて、適切なWebアプリケーション411にHTMLデータを渡す。これによって、Webブラウザー420にメニュー画面のリクエストが実行され、Webブラウザー420からWebアプリケーション410に対してリクエストが行われる。以下の説明では、通信部421およびHTTP通信部413の動作は省略する。
【0043】
続いて、Webブラウザー420はレスポンスとして、Webアプリケーション410から提供されるメニュー画面(操作画面)のHTMLを受け取って、UI表示装置207に表示する(ステップS502)。
【0044】
図6は、図4に示すWebブラウザー420で表示されるメニュー画面の一例を示す図である。
【0045】
メニュー画面801には、FAX、FTP、印刷、およびコピーなどの実行メニューが表示される。ここで、Webブラウザー420は複数の画面をタブ802単位で管理可能なタブブラウザーである。
【0046】
再び図3〜図5を参照して、いま、ユーザーがメニュー画面において印刷メニュー(印刷)を押下げると、Webブラウザー420は、所定のシーケンス(既存のシーケンス:シーケンス1)に応じて印刷画面生成のリクエストをWebアプリケーション410に要求する(ステップS503)。Webアプリケーション411は、要求された印刷画面(第1の画面)に対するHTMLを作成して、当該HTMLをレスポンスとしてWebブラウザー420に返信する(ステップS504)。そして、Webブラウザー420は受け取ったHTMLに応じて印刷画面をUI表示装置207に表示する。
【0047】
図7は、図4に示すWebブラウザー420で表示する印刷画面の一例を示す図である。
【0048】
印刷画面には印刷可能な文書一覧901が表示されるとともに、選択した文書を印刷する際に押下げられる印刷ボタン902が表示される。
【0049】
次に、ユーザーが印刷画面上で「文書1」を選択して印刷ボタン902を押下げたとする。これによって、Webブラウザー420は当該印刷実行命令の生成をWebアプリケーション411にリクエストする(ステップS505)。
【0050】
印刷実行命令(処理命令)の生成リクエストを受けると、Webアプリケーション410は、サーバー102に設定されている別シーケンス設定(図8参照)を参照して、MFP101に対する実行命令に別シーケンス命令を含めるか否かについて判定する(シーケンス命令又はシーケンス設定はシーケンス情報とも呼ばれる)。ここで、Webアプリケーション410において別シーケンス設定を設定する際には、Webアプリケーション410における管理画面等が用いられる。
【0051】
印刷実行命令の生成リクエストを受けた際には、Webアプリケーション410は、HTTPヘッダーに別シーケンス設定を埋め込む。さらに、Webアプリケーション410は、MFP101に印刷を実行させるためのスクリプトと印刷中画面を表示するためのHTMLとをレスポンスとしてWebブラウザー420に送信する(ステップS506)。
【0052】
図8は、図4に示すWebアプリケーション410でHTTPヘッダーに埋め込まれた別シーケンス設定の一例を示す図である。
【0053】
図8において、”Sequential Control”701は変数名であり、転送アプリケーション部430は当該変数を解析して、別シーケンスによるレスポンスを行うか否かについて判定する。”Sequence”702は、別シーケンス設定機能がON又はOFFであるかを表すものであり、図示の例では、”ON”と設定されている(新規シーケンス設定)。”Sequence No”703はシーケンス番号であり、別シーケンスとしてWebアプリケーション410がレスポンスを受ける際、Webブラウザー420に設定すべきシーケンス番号をWebアプリケーション410が設定する。
【0054】
前述したように、Webアプリケーション410がシーケンス設定、スクリプト指示、および画面表示データを含むレスポンスをWebブラウザー420に送ると、Webブラウザー420は、当該レスポンスに応じたHTML画面を表示する。
【0055】
図9は、図4に示すMFP101において印刷中にWebブラウザー420で表示される印刷中画面を示す図である。
【0056】
図9において、印刷中画面には、印刷実行中(ジョブ実行中)の文書名1001と、メニュー画面に遷移するためのメニューボタン1002とが表示される。別シーケンス設定およびスクリプトは、Webブラウザー420から転送アプリケーション部430に送られる(ステップS507)。
【0057】
転送アプリケーション部430は、まず別シーケンス設定を解釈して、指定された設定内容を記憶装置205(図2)に保存する。さらに、転送アプリケーション部430では、スクリプトの内容を解析して、解析結果をサービスプロバイダー部440に送る(ステップS508)。
【0058】
ここで、他の操作画面に遷移する要求があった場合について説明する。すなわち、別シーケンス設定およびスクリプトを転送アプリケーション430に送信した後、サービスプロバイダー部440における印刷処理中に、ユーザーが図9に示す印刷中画面においてメニューボタン1002を押下げたとする。これによって、Webブラウザー420はWebアプリケーション410に対してメニュー画面のリクエストを行う(ステップS509)。そして、当該リクエストを受け付けると、Webアプリケーション410はメニュー画面に係るHTMLをWebブラウザー420にレスポンスとして送る(ステップS510)。Webブラウザー420は、受領したメニュー画面をUI表示装置207に表示する。ユーザーはメニュー画面から印刷を選択して印刷ボタンを押下する。
【0059】
これによって、Webブラウザー420はWebアプリケーション410に対して印刷画面に係るリクエストを行う(ステップS511)。そして、印刷画面に係るリクエストを受けると、Webアプリケーション510はWebブラウザー420に対して印刷画面のHTMLをレスポンスとして送る(ステップS512)。
【0060】
図10は、図5に示すステップS512においてWebブラウザー420で表示される印刷画面を示す図である。
【0061】
図10において、印刷画面には印刷可能な文書一覧1101が表示される。さらに、印刷画面には選択した文書を印刷する際に押下げられる印刷ボタン1102が表示される。ここで、ユーザーは印刷画面において“文書2”を選択して印刷ボタン1102を押下げたとする。これによって、Webブラウザー420は印刷実行命令をWebアプリケーションが実行するようにリクエストする(ステップS512)。この際、”文書1”の印刷が完了して、サービスプロバイダー部440から転送アプリケーション部430に完了通知(印刷完了通知)があったとする(ステップS514)。転送アプリケーション430は、完了通知を受けると別シーケンス設定を確認する。
【0062】
図11は、図4に示すMFP101で行われる別シーケンス処理を説明するためのフローチャートである。
【0063】
まず、転送アプリケーション部430(つまり、処理部432)は、ジョブが実行される際にWebアプリケーション410が送付した別シーケンス設定(つまり、別シーケンスフラグの設定値)をチェックする(ステップS601)。そして、転送アプリケーション部430は別シーケンスフラグが設定されているか否かを判定する(ステップS602)。別シーケンスフラグが設定されていないと(ステップS602において、NO)、転送アプリケーション部430は別シーケンス処理を終了する。すなわち、印刷完了通知はサーバー102に送信されない。
【0064】
一方、別シーケンスフラグが設定されていると(ステップS602において、YES)、転送アプリケーション部430は別シーケンスの作成を行う(ステップS603)。そして、転送アプリケーション部430は、作成した別シーケンスにWebアプリケーション410が設定したユニークIDを付加して(ステップS604)、別シーケンス処理を終了する。
【0065】
図11に示す別シーケンス処理の終了後、転送アプリケーション部430は、Webブラウザー420に対して別タブを開いて、新規シーケンス(別シーケンス:シーケンス2)を作成する(ステップS515)。
【0066】
続いて、Webブラウザー420はWebアプリケーション410に対して、新規シーケンスを用いて処理結果(ジョブ処理の処理結果)のレスポンスをサーバー102に送信する(ステップS516)。Webアプリケーション410は処理結果を受けると、完了表示画面のHTMLを、新規シーケンスを用いてWebブラウザー420に送る(ステップS518)。
【0067】
図12は、図4に示すWebブラウザー420において、新規シーケンスを用いて表示した“文書1”の完了画面の一例を示す図である。
【0068】
図12において、完了画面には、”文書1”の印刷が完了した旨1201が表示される。さらに、完了画面では既存シーケンスの表示画面“タブ1“とは異なる表示画面”タブ2“1201が新規に作成されて表示される。
【0069】
なお、前述のステップS513におけるリクエストに対するレスポンスとして、Webアプリケーション410は、ステップS517において“文書2”の印刷中画面に係るHTMLをWebブラウザー420に送信する。この際に用いるシーケンスとして、既存シーケンス(シーケンス1)が用いられる。
【0070】
なお、S509〜S513の処理は、転送された処理命令に基づくサービスプロバイダー部401による印刷処理中に他の操作画面を表示する要求があった場合(図9のメニューボタン1002が押下された場合)の処理である。もし印刷中に上述のような他の操作画面を表示する要求がなかった場合には、所定のシーケンス(シーケンス1)、つまり、S501〜S506の処理のシーケンスと同じシーケンスに従ってジョブの完了通知をサーバーに送信することになる。そのため、新たなシーケンスを作成することが不要となる。
【0071】
このように、第1の実施形態では、MFP101おける処理完了に伴うWebアプリケーション410に対する通知処理(ジョブの結果の送信)については、既存シーケンス(シーケンス1)と別のシーケンス(シーケンス2)を用いるようにしたので、処理を並列的に行うことを可能とし、かつ2つの処理が相互に干渉することを防止される。さらに、処理に伴って表示される画面タブを分けるようにしたので、ユーザーが操作上混乱することを防止することができる。
【0072】
[第2の実施形態]
続いて、本発明の第2の実施形態による情報処理装置の一例については説明する。なお、第2の実施形態において、情報処理装置(MFP)101およびサーバー102の構成は、図2〜図4に示す構成と同様である。ここでは、UI表示装置207の状態に応じて、転送アプリケーション部430は別シーケンスを作成するか否かの判定を行う。
【0073】
図13は、本発明の第2の実施形態における情報処理装置(MFP)101における別シーケンス処理について説明するためのフローチャートである。
【0074】
図4および図13を参照して、ここでは、前述したように、MFP101においてジョブが完了すると、サービスプロバイダー部440は転送アプリケーション部430に対してジョブ完了通知を通知する。
【0075】
ジョブ完了通知を受けると、転送アプリケーション部430(つまり、処理部432)は、前述したように、シーケンスフラグのチェックを行う(ステップS1301)。そして、転送アプリケーション部430は別シーケンスフラグが設定されているか否かについて判定する(ステップS1302)。別シーケンスフラグが設定されていなければ(ステップS1302において、NO)、転送アプリケーション部430は別シーケンス処理を終了する。
【0076】
一方、別シーケンスフラグが設定されていると(ステップS1302において、YES)、転送アプリケーション部430はユーザーがUI表示装置207(図2)を操作(コントロール)しているか否かをチェックする(ステップS1303)。このチェックを行う際には、例えば、転送アプリケーション部430は、操作画面において戻るボタンが押下げられたか又はWebアプリケーション410に対する操作画面などの取得状況に応じてUI表示装置207が操作されたか否かを判定する。
【0077】
ユーザーがUI表示装置207を操作していないと(ステップS1303において、NO)、転送アプリケーション部430は別シーケンス処理を終了する。そして、転送アプリケーション部430は既存の処理シーケンス(シーケンス1)を用いて通常処理を継続する。
【0078】
ユーザーがUI表示装置207を操作すると(ステップS1303において、YES)、転送アプリケーション部430は別シーケンスの作成を行う(ステップS1304)。そして、転送アプリケーション部430は、作成した別シーケンスにWebアプリケーション410が設定したユニークIDを付加して(ステップS1305)、別シーケンス処理を終了する。
【0079】
別シーケンス処理の終了後、転送アプリケーション部430は、Webブラウザー420に対して別タブを開いて、新規シーケンス(シーケンス2)を作成する。そして、Webブラウザー420はWebアプリケーション410に対して、新規シーケンスを用いて処理結果のレスポンスを送付する。Webアプリケーション410は処理結果を受けると、完了表示画面のHTMLを、新規シーケンスを用いてWebブラウザー420に送る。
【0080】
このようにして、第2の実施形態では、ユーザーがUI表示装置207を操作していない場合には、既存のシーケンス(シーケンス1)に応じた完了表示画面を表示する。そして、ユーザーがUI表示装置207を操作した際に、別シーケンス(シーケンス2)を生成して、当該別シーケンスに応じた完了表示画面を表示する。この結果、ユーザーの操作がない場合には、不必要に別シーケンスの作成が行われることがなく、MFP101およびサーバー102の負荷を低減させることが可能となる。
【0081】
[第3の実施形態]
次に、本発明の第3の実施形態による情報処理装置(MFP)の一例については説明する。なお、第3の実施形態において、情報処理装置(MFP)101およびサーバー102の構成は、図2〜図4に示す構成と同様である。ここでは、Webブラウザー420がWebアプリケーション410に対して完了表示画面に係るリクエストを実行する際、新しいタブを開くことなく完了通知(リクエスト)をWebアプリケーション410に通知する。
【0082】
図14は、図4に示すWebアプリケーション410からWebブラウザー420にレスポンスを返す際に埋め込まれるシーケンス設定指定の一例を示す図である。
【0083】
Webアプリケーション410からWebブラウザー410に返送されるレスポンスにおいて、そのHTTPヘッダー情報には、”Window open”1401(タブ設定情報)が含まれている。この”Window open”1401は、新規タブを開いてリクエストを実行するか否かの設定を表している。”Window open”1401が”ON”であると、Webブラウザー420はWebアプリケーション410に対してリクエストを行う際、新規タブを生成する。そして、Webブラウザー420はWebアプリケーション410に対して処理完了通知を行うとともに、完了表示画面の取得をリクエストする。
【0084】
一方、”Window open”1401が”OFF”であると、Webブラウザー420は新規タブの生成を行わない。そして、Webブラウザー420は完了表示画面の取得をリクエストすることなく、Webアプリケーション410に対してジョブの完了通知のみを行う。
【0085】
このように、第3の実施形態では、新規タブを開いてリクエストを実行するか否かの設定を行うようにしたので、MFP101における処理完了結果をUI表示装置207に表示する必要のない場合には、Webアプリケーション410における画面作成の際の工数を削減することができ、さらには、画面取得のための通信を低減することができる。
【0086】
上述の説明から明らかなように、図4において、Webブラウザー420が第1の制御手段として機能する。また、Webブラウザー420および転送アプリケーション部430が集合的に第2の制御手段および第3の制御手段として機能する。
【0087】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0088】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【0089】
この際、制御方法および制御プログラムは、少なくとも第1の制御ステップ、第2の制御ステップ、および第3の制御ステップを有することになる。
【0090】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0091】
101 情報処理装置(MFP)
102 サーバー
410 Webアプリケーション
411 プレゼンテーション部
412 ロジック部
420 Webブラウザー
422 解析部
424 転送アプリケーション起動部
430 転送アプリケーション部
440 サービスプロバイダー部
【特許請求の範囲】
【請求項1】
ネットワークを介して接続された外部装置から提供される操作画面の操作によってジョブを実行する情報処理装置であって、
前記外部装置から提供される操作画面を表示する表示手段と、
処理命令に従ってジョブを実行する実行手段と、
前記表示手段により表示された操作画面の操作に基づく処理命令であってシーケンス情報を含む処理命令を前記外部装置から受信して前記実行手段に転送し、その転送した処理命令に従って前記実行手段により実行されたジョブの結果を前記外部装置に送信する制御手段を有し、
前記制御手段は、前記処理命令の転送の後に他の操作画面を表示する要求がない場合には、前記処理命令に含まれるシーケンス情報と同じシーケンス情報を付加して前記ジョブの結果を送信し、前記処理命令の転送の後に他の操作画面を表示する要求がある場合には、前記処理命令に含まれるシーケンス情報と異なるシーケンス情報を付加して前記ジョブの結果を送信することを特徴とする情報処理装置。
【請求項2】
前記制御手段はWebブラウザーであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記実行手段は、前記外部装置から提供される操作画面に表示された文書一覧から選択された文書を印刷する処理を実行することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記外部装置によって設定された、新たなシーケンス情報を作成するか否かの設定を取得する手段と、
前記制御手段は、前記処理命令の転送の後に他の操作画面を表示する要求がある場合であって、かつ前記取得手段により取得された設定が新たなシーケンス情報を作成しない設定である場合には、前記ジョブの結果を前記外部装置に送信しないことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記実行手段は、SOAPに従ったメッセージに含む処理命令に従って処理を実行することを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
ネットワークを介して接続された外部装置から提供される操作画面の操作によってジョブを実行する情報処理装置の制御方法であって、
表示手段が、前記外部装置から提供される操作画面を表示する表示ステップと、
実行手段が、処理命令に従ってジョブを実行する実行ステップと、
前記表示手段により表示された操作画面の操作に基づく処理命令であってシーケンス情報を含む処理命令を前記外部装置から受信して前記実行手段に転送し、その転送した処理命令に従って前記実行手段により実行されたジョブの結果を前記外部装置に送信する制御ステップを有し、
前記制御ステップでは、前記処理命令の転送の後に他の操作画面を表示する要求がない場合には、前記処理命令に含まれるシーケンス情報と同じシーケンス情報を付加して前記ジョブの結果を送信し、前記処理命令の転送の後に他の操作画面を表示する要求がある場合には、前記処理命令に含まれるシーケンス情報と異なるシーケンス情報を付加して前記ジョブの結果を送信することを特徴とする制御方法。
【請求項1】
ネットワークを介して接続された外部装置から提供される操作画面の操作によってジョブを実行する情報処理装置であって、
前記外部装置から提供される操作画面を表示する表示手段と、
処理命令に従ってジョブを実行する実行手段と、
前記表示手段により表示された操作画面の操作に基づく処理命令であってシーケンス情報を含む処理命令を前記外部装置から受信して前記実行手段に転送し、その転送した処理命令に従って前記実行手段により実行されたジョブの結果を前記外部装置に送信する制御手段を有し、
前記制御手段は、前記処理命令の転送の後に他の操作画面を表示する要求がない場合には、前記処理命令に含まれるシーケンス情報と同じシーケンス情報を付加して前記ジョブの結果を送信し、前記処理命令の転送の後に他の操作画面を表示する要求がある場合には、前記処理命令に含まれるシーケンス情報と異なるシーケンス情報を付加して前記ジョブの結果を送信することを特徴とする情報処理装置。
【請求項2】
前記制御手段はWebブラウザーであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記実行手段は、前記外部装置から提供される操作画面に表示された文書一覧から選択された文書を印刷する処理を実行することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記外部装置によって設定された、新たなシーケンス情報を作成するか否かの設定を取得する手段と、
前記制御手段は、前記処理命令の転送の後に他の操作画面を表示する要求がある場合であって、かつ前記取得手段により取得された設定が新たなシーケンス情報を作成しない設定である場合には、前記ジョブの結果を前記外部装置に送信しないことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記実行手段は、SOAPに従ったメッセージに含む処理命令に従って処理を実行することを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
ネットワークを介して接続された外部装置から提供される操作画面の操作によってジョブを実行する情報処理装置の制御方法であって、
表示手段が、前記外部装置から提供される操作画面を表示する表示ステップと、
実行手段が、処理命令に従ってジョブを実行する実行ステップと、
前記表示手段により表示された操作画面の操作に基づく処理命令であってシーケンス情報を含む処理命令を前記外部装置から受信して前記実行手段に転送し、その転送した処理命令に従って前記実行手段により実行されたジョブの結果を前記外部装置に送信する制御ステップを有し、
前記制御ステップでは、前記処理命令の転送の後に他の操作画面を表示する要求がない場合には、前記処理命令に含まれるシーケンス情報と同じシーケンス情報を付加して前記ジョブの結果を送信し、前記処理命令の転送の後に他の操作画面を表示する要求がある場合には、前記処理命令に含まれるシーケンス情報と異なるシーケンス情報を付加して前記ジョブの結果を送信することを特徴とする制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−226522(P2012−226522A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−92971(P2011−92971)
【出願日】平成23年4月19日(2011.4.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願日】平成23年4月19日(2011.4.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]