情報処理装置及びその制御方法
【課題】 Webサーバによる仕組みが提供される環境下において、追加されるアプリケーション機能が各Webサーバに対応するためには相当量の作りこみをしなければいけないため煩雑である。
【解決手段】 Webブラウザを有する情報処理装置であって、Webブラウザにより表示されている操作画面で入力されたリクエストを解析し(S603)、その解析結果に基づいて、アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて起動される前記アプリケーション或いはWebブラウザで表示される操作画面とを特定する情報を参照し、そのリクエストに応じて起動されるアプリケーション或いはWebブラウザで表示される操作画面を特定する(S609)。ここでアプリケーションで表示される操作画面が特定されると、Webブラウザによる操作画面をクローズし(S613),アプリケーションに対して画面表示リクエストを発行する(S618)。
【解決手段】 Webブラウザを有する情報処理装置であって、Webブラウザにより表示されている操作画面で入力されたリクエストを解析し(S603)、その解析結果に基づいて、アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて起動される前記アプリケーション或いはWebブラウザで表示される操作画面とを特定する情報を参照し、そのリクエストに応じて起動されるアプリケーション或いはWebブラウザで表示される操作画面を特定する(S609)。ここでアプリケーションで表示される操作画面が特定されると、Webブラウザによる操作画面をクローズし(S613),アプリケーションに対して画面表示リクエストを発行する(S618)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバより操作画面が提供される情報処理装置及びその制御方法に関するものである。
【背景技術】
【0002】
PC等の情報処理装置がネットワーク上のWebサーバと接続され、情報処理装置を操作するための操作画面がそのWebサーバから提供され、その情報処理装置が備えるWebブラウザ上に表示することが一般的に行われている。この場合、情報処理装置のWebブラウザがWebサーバに対して操作画面を要求し、その要求に応えてWebサーバ上のWebアプリケーションが、Webブラウザに操作画面を表示させるためのHTMLファイルを情報処理装置に送信する。そして情報処理装置のWebブラウザは、その受信したHTMLファイルを解析し、そのHTMLファイルの記述に基づいた操作画面を表示する。更に、Webブラウザに表示された操作画面を介してユーザが指示を入力すると、その入力された指示をWebブラウザがWebサーバに対して通知する。し、この通知を受けたWebサーバ上のWebアプリケーションは、その指示に従って処理を実行したり、次に表示すべき操作画面のためのHTMLファイルを情報処理装置へ送信したりする。
【0003】
最近、スキャナやプリンタを備えたMFP(Multi Function Peripheral)においても、上述したようなWebブラウザを備えているものがある。このようなMFPでは、上述した手順を用いてWebサーバから提供される操作画面をMFPのWebブラウザに表示し、ユーザからの各種指示を受け付けることができる。従って、MFPにおいても、元々備わっているコピーや送信機能等を操作するために備えられている操作画面(以下、ネイティブ(Native)機能による画面)とWebブラウザによる操作画面を利用することが一般的となっている。
【0004】
また更には、特許文献1のような技術も考えられている。特許文献1の記載によれば、ユーザが入力したパスワード情報から、アプリケーションの起動を制限している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−60033号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
一方、MFPにはNative機能の他に、ユーザや管理者が後からアプリケーションをインストールするなどの方法で機能を追加することができる。これを追加機能と呼ぶ。MFPのNative機能を利用するためにユーザ認証を必要とし、そのユーザ認証を行うための操作画面をWebサーバが提供するという環境下では、このような追加機能に対してNative機能と同様にユーザ認証を行わせることは困難であった。
【0007】
本発明の目的は、上記従来技術の問題点を解決することにある。
【0008】
本願発明の特徴は、情報処理装置に対する追加機能に対してもWebサーバが提供する機能を利用できる技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
Webブラウザを有する情報処理装置であって、
前記情報処理装置が本来有している機能を実行するアプリケーションと、
前記アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて起動される前記アプリケーション或いはWebブラウザで表示される操作画面とを特定する情報を記憶する記憶手段と、
前記Webブラウザにより表示されている操作画面で入力されたリクエストを解析する解析手段と、
前記解析手段による解析結果に基づいて前記情報を参照し、当該リクエストに応じて起動される前記アプリケーション或いはWebブラウザで表示される操作画面を特定する特定手段と、
前記特定手段により前記アプリケーションで表示される操作画面が特定されると、前記Webブラウザによる操作画面をクローズして前記アプリケーションに対して画面表示リクエストを発行する発行手段と、を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、情報処理装置が本来有している機能を実行するアプリケーションにおいて、Webブラウザからの要求に応じた画面表示を容易にできる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る情報処理システムの全体図。
【図2】本実施形態に係るMFPの構成を示すブロック図。
【図3】実施形態に係るWebサーバの構成を示すブロック図。
【図4】本実施形態の情報処理システムのソフトウェア構成を説明するための図。
【図5】本実施形態に係るMFPとWebサーバとのやり取りを説明するフロー図。
【図6】実施形態に係るMFPによる処理を説明するフローチャート。
【図7】MFPのユーザに提示される画面例を示す図(A),図6のフローチャートを開始するにあたりユーザに提示される画面例を示す図(B)。
【図8】操作画面管理部が管理する操作画面管理テーブルの一例を示す図。
【図9】エラーレスポンスが返されて表示される「エラー画面」の具体的な画面例を示す図(A),認証結果の内容に応じた「認証ありトップ画面」の画面例を示す図。
【図10】「認証なしトップ画面」を表示した例を示す図(A)、アプリ機能画面の一例を示す図。
【図11】画像変換ファイルの指定画面の一例を示す図(A),「送信画面」がユーザに提供される画面例を示す図。
【図12】操作画面管理部が管理する操作画面管理テーブルの一例を示す図。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0013】
まず本発明の実施形態1について説明する。実施形態1では、本発明の情報処理装置の一例である多機能処理装置(MFP)がユーザを認証する認証処理を行い、この認証処理に用いられたユーザIDをWebサーバに送信して、MFPのWebブラウザで表示すべき操作画面を要求する例を説明する。このときWebサーバ上のWebアプリケーションは、MFPからユーザIDを受信したか否かを判断し、ユーザIDを受信した場合にMFPに操作画面を送信する。
【0014】
図1は、本発明の実施形態に係る情報処理システムの全体図である。
【0015】
LAN110には、MFP101、Webサーバ102が互いに通信可能に接続されている。MFP101は、プリンタ機能、スキャナ機能、ファクシミリ機能及びデータを格納するストレージ機能を有している。Webサーバ102は、MFP101の操作画面を提供するサーバである。また、Webサーバ102はMFP101を操作するユーザを認証することが可能である。なお、Webサーバ102以外の認証サーバ(不図示)がLAN110に接続されており、MFP101のユーザを認証するようにしてもよい。
【0016】
図2は、本実施形態に係るMFP101の構成を示すブロック図である。
【0017】
CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212に記憶されたブートプログラムを実行して、HDD214に記憶されている制御プログラムをRAM213にロードして読取制御や送信制御などの各種制御処理を実行する。RAM213は更に、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや後述のフローチャートで示される処理を実行するためのプログラム、或いは後述する各種情報テーブルを記憶する。
【0018】
操作部インターフェース(I/F)215は、操作部219と制御部210とのインターフェースを制御する。操作部219には、タッチパネル機能を有する液晶表示部やキーボード、キー、LEDなどが備えられている。またMFP101には、後述するWebブラウザ機能が備えられており、MFP101のWebブラウザはWebサーバ102から受信したHTMLファイルを解析し、そのHTMLファイルの記述に基づく操作画面を操作部219に表示する。プリンタI/F216は、プリンタ部220と制御部210とを接続する。プリンタ部220で印刷すべき画像データは、プリンタI/F216を介して制御部210からプリンタ部220に転送され、プリンタ部220においてシートなどの記録媒体に印刷される。スキャナI/F217は、スキャナ部221と制御部210とを接続する。スキャナ部221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。ネットワークI/F218は、制御部210をLAN110に接続する。ネットワークI/F218は、LAN110上の外部装置(例えば、Webサーバ102や不図示のLDAPサーバ)に画像データや各種情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0019】
なお、図2では制御部210は1つのCPU211を含む構成を一例として示したが、複数のCPUを含むような構成であっても構わない。
【0020】
図3は、実施形態に係るWebサーバ102の構成を示すブロック図である。
【0021】
CPU311を含む制御部310は、Webサーバ102全体の動作を制御する。CPU311は、ROM312に記憶されたブートプログラムを実行して、HDD314に記憶された制御プログラムを読み出してRAM313にロードし、そのプログラムを実行して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データ、HTMLファイルや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F315は、制御部310(Webサーバ102)をLAN110に接続する。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
【0022】
なお、図3ではWebサーバ102は1つのサーバ装置によって構成されるものとしてその一例を示したが、複数台のサーバによってWebサーバ102の機能を実現するものであっても構わない。また、Webサーバ102が複数のCPUを含むような構成であっても構わない。
【0023】
図4は、本実施形態に係る情報処理システム全体のソフトウェア構成を説明するための図である。図4に示す各機能部は、MFP101及びWebサーバ102のそれぞれに備えられているCPUが、各対応するソフトウェア(プログラム)を実行することにより実現される。
【0024】
MFP101は、アプリケーション切り替えモジュール400、Webブラウザ440、及びNative機能モジュール420を備えている。また、Webサーバ102はWebアプリケーション430を備えている。
【0025】
アプリケーション切り替えモジュール400は、操作画面管理部410、リクエスト情報解析部401、レスポンス情報解析部402、レスポンス情報生成部403、リクエスト情報生成部404及びリクエスト送信部405を含む。アプリケーション切り替えモジュール400は更に、レスポンス送信部406及び、レスポンス受信部407、通信部408、及びリクエスト受信部409を含む。
【0026】
まず最初に、アプリケーション切り替えモジュール400について説明する。
【0027】
操作画面管理部410は、操作部219に表示する操作画面を切り替えられるようにするため、起動対象となるWebブラウザ画面及びNative画面又はWebアプリケーション430を管理する。また操作画面管理部410は、どのアプリケーションから送信されたリクエストであるか、リクエストの内容はどのような種類で指定されていたのか、及びどのアプリケーションを起動の対象としているのか、等に関する情報を管理する。リクエスト情報解析部401は、リクエスト受信部409が受信したWebブラウザ440からのリクエスト情報(例えばHTTPリクエスト)の内容を解析し、そのリクエスト情報に記載されている情報を認識する。レスポンス情報解析部402は、レスポンス受信部407が受信したWebサーバ102からのレスポンス情報(例えばHTMLファイルなどのHTTPレスポンス)の内容を解析し、そのレスポンス情報に記載されている情報を認識する。レスポンス情報生成部403は、Webブラウザ440によって画面に表示することが可能なHTMLファイルなどの形式のレスポンス情報(例えばHTTPレスポンス)を生成する。より具体的には、Webアプリケーション430から受信したレスポンス情報からレスポンス情報を生成している。リクエスト情報生成部404は、Webアプリケーション430に対するリクエスト情報(例えばHTTPリクエスト)を生成する。リクエスト送信部405は、リクエスト情報生成部404が生成したリクエスト情報をWebサーバ102へ送信する。レスポンス送信部406は、レスポンス情報生成部403が生成する、ブラウザ画面に表示することが可能なHTMLファイルなどの形式のレスポンス情報を送信する。レスポンス受信部407は、Webサーバ102から送信されるブラウザ画面に表示することが可能なHTMLファイルなどの形式のレスポンス情報を受信する。 リクエスト受信部409は、Webブラウザ440からのリクエスト情報(例えばHTTPリクエスト)を受信する。通信部408は、HTTPプロトコルなどに従って、Webサーバ102、Webブラウザ44、Native機能モジュール420と通信する。
【0028】
次にWebブラウザ440について説明する。
【0029】
Webブラウザ440は、通信部443、解析部442、及び画面表示部441を含む。通信部443は、HTTPプロトコルに従ってWebアプリケーション430、アプリケーション切り替えモジュール400と通信する。より具体的には、通信部443は、Webブラウザ440で表示する操作画面をWebアプリケーション430に要求する。そしてWebブラウザ440で表示した操作画面を介して入力されたユーザからの指示をWebアプリケーション430に通知する。解析部442は、Webアプリケーション430から受信するHTMLファイルを解析する。このHTMLファイルには、Webブラウザ440に表示すべき操作画面の内容を示す記述が含まれている。画面表示部441は、解析部442による解析の結果に基づいて、操作部219上に操作画面を表示する。このように、Webサーバ102から受信した情報(HTMLファイル)に基づいて表示される画面をWebブラウザ画面と呼ぶこととする。
【0030】
次にNative機能モジュール420について説明する。このNative機能モジュール420は、このMFP101が本来(例えば出荷時から)有している機能、例えば、コピー機能、ファクシミリ送受信機能、スキャン機能、ストレージ機能などを実行するモジュールである。このような、MFP101が本来有している機能をNative機能と呼ぶ。
【0031】
Native機能モジュール420は、画面情報管理部422、画面表示リクエスト受信部423及び画面表示部421を含む。画面情報管理部422は、Native機能の操作画面に関する情報を管理する。画面表示リクエスト受信部423は、Native機能に関する操作画面を操作部219に表示するための画面表示リクエストを受信する。画面表示部421は、画面表示リクエストを受信することにより、操作部219上に操作画面を表示する。このように、Native機能モジュール420が、画面表示リクエストを受信することによって操作部219に表示される画面をNative画面と呼ぶ。
【0032】
図5は、MFP101とWeb102サーバとのやり取りの一例を説明するフロー図である。尚、図5に示す各動作のうち、アプリケーション切り替えモジュール400による処理とWebブラウザ440による処理はMFP101のCPU211が制御プログラムを実行することにより実現される。またWebアプリケーション430による処理はWebサーバ102のCPU311がプログラムを実行することにより実現される。
【0033】
図7(A)は、図5で示す処理を開始するにあたってMFP101の操作部219に表示されるユーザに提示されるトップ画面(初期画面)の一例を示す図である。
【0034】
図7(A)のボタン701が押下されると、トップメニューで提供されるNative機能アプリケーションの起動が開始される。本実施形態のMFP101は、ユーザがNative機能に関する操作を行うために操作部219に表示される操作画面はWebサーバ102が提供する。ボタン701が押下されると「開始リクエスト」がアプリケーション切り替えモジュール400に送信されて、図5の処理が開始される。尚、S501〜S502及びS506〜S510はアプリケーション切り替えモジュール400により実行される処理である。そしてS503〜S505は、Webアプリケーション430により実行される処理であり、S511〜S512はWebブラウザ440により実行される処理である。
【0035】
S501で、リクエスト情報生成部404は、Webアプリケーション430へ送信するためのHTMLファイルなどのHTTPリクエストを生成する。S501で生成されるHTTPリクエストには、ボタン701が押下されたことを示す情報が含まれる。次にS502で、リクエスト送信部405はS501で生成されたHTTPリクエストをWebアプリケーション430へ送信する。このときリクエスト送信部405は、通信部408を介してHTTPリクエストを送信する。
【0036】
これによりS503で、Webサーバ102のWebアプリケーション430は、HTTPリクエストを受信する。そしてS504に進み、Webアプリケーション430は、受信したHTTPリクエストを解釈してHTTPレスポンスを生成する。より具体的には、HTTPリクエストに含まれる、ボタン701が押下されたことを示す情報を解析して、「ログイン画面表示」というの内容がを記述されたHTMLファイルをレスポンスとして生成する。そしてS505に進み、Webアプリケーション430はHTTPレスポンスをMFP101に送信する。
【0037】
S506でレスポンス受信部407は、通信部408を介してS505で送信されたHTTPレスポンスを受信する。次にS507に進み、レスポンス情報解析部は受信したHTTPレスポンスを解析し、どのようなレスポンスの情報を受信したのかを認識する。次にS508に進み、操作画面管理部410は起動アプリケーション情報の一覧を取得する。そして、取得した一覧情報と、S507で解析したレスポンスの情報とから、操作部219に表示すべき操作画面を特定する。
【0038】
図8は、操作画面管理部410が管理する操作画面管理テーブルの一例を示す図である。
【0039】
図8のテーブルにおいて、「リクエスト」は、このリクエストを送信した送信元(発行元)と発行時に操作部219に表示されていた操作画面の種類を示す。「レスポンス」は、Webサーバ102から受信したレスポンス情報の種類を記述している。そして「表示すべき操作画面」は、操作部219に表示すべき操作画面と、その操作画面を表示する主体となるソフトウェアモジュールを示している。
【0040】
ボタン701が押下されたことによって図5のフローが実行開始した場合、図8の操作画面管理テーブルによれば、「リクエスト」は「Native機能/トップ画面」であり、「レスポンス」は「ログイン画面」である。よって操作部219に部表示すべき操作画面はWebブラウザが表示するログイン画面となる。
【0041】
図5のフローチャートの説明に戻る。S508において、表示すべき操作画面としてログイン画面(Webブラウザ画面)を特定する。
【0042】
次にS509に進み、レスポンス情報生成部403はS508で特定した操作画面を示すレスポンス情報を生成する。このレスポンス情報は、HTMLファイルなどの形式でありWebブラウザ440で処理可能な形式のデータである。次にS510に進み、レスポンス送信部406はS509で生成したレスポンス情報をWebブラウザ440へ送信する。
【0043】
これによりS511でWebブラウザ440は、通信部443を介してレスポンス情報を受信する。そしてS512に進み、解析部442がレスポンス情報を解析し、解析結果に基づいて操作画面(ここではログイン画面)を操作部219に表示する。S512を実行することにより操作部219に表示されるログイン画面の一例を図7(B)に示す。ログイン画面はユーザにログインのために必要な認証情報(ユーザIDやパスワード)の入力を促す画面である。ログイン画面においてユーザがユーザIDとパスワードを入力すると、入力された情報はアプリケーション切り替えモジュール400を介してWebアプリケーション430へ送信される。そしてWebアプリケーションにおいてユーザIDとパスワードに基づくユーザ認証処理が成功すると、当該ユーザはNative機能を利用することが可能になる。Native機能を利用するための操作画面はWebアプリケーション430が生成し、Webブラウザへ提供され操作部219に表示される。
【0044】
図5のフローチャートを実行することにより、Native機能モジュール420が提供する機能をユーザが選択した場合(つまりボタン701が押下された場合)に、ログインを行うための操作画面をWebブラウザ440に表示させることが可能になる。
【0045】
図6は、本実施形態に係るMFP101による処理の一例を説明するフローチャートである。図6のフローチャートは、例えば図5のフローチャート実行後の状態、すなわち操作部219が図7(B)に示す操作画面を表示している状態において実行を開始する。それ以外の操作画面が操作部219に表示されている場合においても図6のフローチャートは実行を開始する。図6のフローチャートに示す各動作は、MFP101のCPU211が制御プログラムを実行することにより実現される。尚、S601、S607、S608及びS612〜S614はWebブラウザ440により実行される処理である。そしてS602〜S606、S609〜S611及びS615〜S618はアプリケーション切り替えモジュール400により実行される処理を示し、S619〜S621はWebアプリ430により実行される処理を示す。
【0046】
まずS601で、Webブラウザはリクエスト情報をアプリケーション切り替えモジュール400へ送信する。このリクエスト情報は、通信部443を介して送信される。
【0047】
リクエスト情報は、図7(B)のログイン画面に対してユーザが入力した情報を含む。
【0048】
図7(B)のログイン画面に対してユーザはユーザID及びパスワードを入力する。ユーザが、これらを入力した後、OKボタン702を押下すると、S601で、Webブラウザ440は、この「ログイン画面」で入力された情報に関するHTTPリクエストをリクエスト情報としてアプリケーション切り替えモジュール400へ送信する。
【0049】
S602で、リクエスト受信部409はS601で送信されたリクエスト情報を受信する。そしてS603で、リクエスト情報解析部401は受信したリクエスト情報を解析して、どのようなリクエストの情報が送信されたのかを認識する。次にS604で、解析したリクエスト情報の内容がエラーを含むかどうかを判断する。エラーを含むと判断するとS605へ進み、レスポンス情報生成部403はエラーの内容を示すレスポンス情報を生成する。このレスポンス情報はHTMLファイルなどのWebブラウザ440が処理可能な形式である。次にS606に進み、リクエスト送信部405はS605で生成したレスポンス情報を、通信部408を介してWebブラウザ440へ送信する。
【0050】
S607においてWebブラウザ440は、S606で送信されたレスポンス情報を通信部443を介して受信する。そしてS608で、解析部442は受信したレスポンス情報を解析した結果に基づいて得られた操作画面を操作部219に表示する。
【0051】
図9(A)は、S608において操作部219に表示される操作画面の一例を示す。図9(A)では「エラー画面」がWebブラウザ440によりに表示される例を示している。
【0052】
この画面例では、「認証なし機能の利用へ」に遷移するように指示できる機能がユーザに提供される。
【0053】
一方、S604で、S603で解析したリクエスト情報の内容が、エラーを含まないと判断したエラーが発生しないときはS609に進む。図7(B)のログイン画面が表示された状態で図6のフローチャートが実行を開始した場合が相当する。この場合、リクエスト情報生成部404は、Webアプリケーションに対するリクエスト情報を生成する。このリクエスト情報はS602で受信したリクエスト情報に含まれるユーザIDとパスワードを含んでいる。そしてリクエスト送信部405はWebアプリケーション430に対してリクエスト情報を送信する。するとWebアプリケーション430は受信したリクエスト情報に含まれるユーザIDとパスワードに基づいて認証処理を実行し、認証の成否を示す情報をレスポンス情報としてアプリケーション切り替えモジュール400へ返送する。S609で、操作画面管理部410は操作画面管理テーブルを取得する。そして、操作画面管理テーブルとWebアプリケーション430からのレスポンス情報とに基づいて、操作部219に表示すべき操作画面を特定する。例えば、Webアプリケーション430からのレスポンス情報が認証成功を示すものであるならば、Native機能が認証ありトップ画面を表示すべきであるということを特定する。また、Webアプリケーション430からのレスポンス情報が認証エラーを示すものであるならば、Webブラウザがエラー応答画面を表示すべきであるということを特定する。次にS610でレスポンス情報生成部403を呼び出し、レスポンス情報を生成する。このレスポンス情報は、Webブラウザ440をクローズする要求を示す情報が記述されている。そしてS611でレスポンス送信部406はS610で生成したレスポンス情報をWebブラウザ440に送信する。
【0054】
こうしてWebブラウザ440は、S612で通信部443を介して、レスポンス情報を受信する。次にS613で解析部442はレスポンス情報を解析して解析結果を画面表示部441に渡す。具体的には、リクエストの内容は表示画面をクローズするリクエストであるため、Webブラウザ440の表示画面のクローズを実行する。次にS614に進み、通信部443を介して、S613の受信リクエストが完了したことと通知するためのリクエスト情報をアプリケーション切り替えモジュール400へ送信する。
【0055】
S615でリクエスト受信部409はS614で送信されたリクエスト情報を受信する。そしてS616でリクエスト情報解析部401はリクエスト情報を解析し、Webブラウザによる画面がクローズしたことを認識する。次にS617で、リクエスト情報生成部404を呼び出し、Native機能モジュール420が受信可能な形式の画面表示リクエストを生成する。この画面表示リクエストには、S609で特定した起動対象アプリケーションの情報を含む。そしてS618でリクエスト送信部405を呼び出し、S617で生成された画面表示リクエストをNative機能モジュール420に送信する。画面表示リクエストには、Native機能モジュールがどのような操作画面を表示すべきかを示す情報を含んでいる。
【0056】
これによりNative機能モジュール420による処理が開始される。まずS619で画面表示リクエスト受信部は、S618で送信された画面表示リクエストを受信し、どの画面を表示するためのリクエストかを認識する。次にS620で画面情報管理部422は、S619で受信したリクエスト情報に基づいて操作部219に表示すべき操作画面を表示する。
【0057】
図9(B)は、認証結果の内容に応じて、「認証ありトップ画面」を表示した例を示し、図10(A)は、「認証なしトップ画面」を表示した例を示す図である。
【0058】
図9(B)の「認証ありトップ画面」は、Webアプリケーション430での認証が成功した場合に操作部219に表示される操作画面である。図10(A)の「認証なしトップ画面」は、Webアプリケーション430での認証がエラーであった場合に操作部219に表示される操作画面である。「認証なしトップ画面」は、ユーザ認証を経なくても利用可能な機能をユーザに対して提示する。
【0059】
このように本実施形態1によれば、操作画面管理テーブルの内容に従って、アプリケーション切り替えモジュール400が、Webブラウザ440による画面表示と、Native機能による画面表示とを切り替える。またその切り替えモジュールが、Webブラウザ440による画面表示の停止と、Nativeアプリによる画面表示のリクエストを発行することにより、既存のNative機能がWebサーバ102より提供される機能を利用することができる。
【0060】
なお、MFP101はNative機能の他に機能を追加することができる。この、追加機能を実現するためのアプリケーションを追加アプリという。上述の説明のように、ユーザがMFP101のNative機能を利用する場合にはユーザ認証を行う必要がある。追加機能を利用する場合にもNative機能と同様に事前にユーザ認証を経た上で追加機能を利用させるようにしたい。この場合、図8の操作画面管理テーブルに追加機能に関するリクエストが発生した場合に表示すべき操作画面としてログイン画面を表示するように対応付けたレコードを記述しておく(図8の810)。このようにしておくことで、ユーザが追加機能を利用する場合においてもNative機能を利用する場合と同じようにユーザ認証を行わせることが可能になる。
【0061】
(実施形態2)
次に、本発明に係る実施形態2について説明する。この実施形態2では、本発明の情報処理装置の一例であるMFP101がユーザにNative機能を提供している間に、特定のボタンを押下することより、MFP101のWebブラウザ440で表示すべき操作画面を要求する例を説明する。この機能により、Webアプリケーション430から提供される画像を変換するための機能を利用することが可能となる。Webアプリケーション430は、MFP101から、変換すべき画像ファイルを受信したかどうかを判断し、ファイルを受信した後、MFP101に対して操作画面を送信する。尚、実施形態2に係るシステムの構成、及びMFP101,Webサーバ102の構成は前述の実施形態1と同様とする。
【0062】
図10(B)は、図5のフローチャートを開始するにあたりユーザに提示されるNativeアプリの機能画面の一例を示す図である。
【0063】
「画像変換指定」ボタン1001が押下されると、アプリ機能画面が提供する「画像変換指定」アプリケーションを開始する。このボタン1001が押下されると「画像変換指定リクエスト」がWebアプリケーション430に送信されて、図5で示す処理が実行される。尚、図5に示す各動作は、MFP101のCPU211が制御プログラムを実行することにより実現される。尚、S501、S502及びS506〜S510はアプリケーション切り替えモジュール400により実行される処理を示す。そして、S503〜S504は、Webアプリケーション430により実行される処理を示し、S511〜S512はWebブラウザ440により実行される処理を示す。ここでは実施形態2に係る処理についてのみ説明し、実施形態1と共通する処理の説明を省略する。
【0064】
S508では、起動対象アプリケーションを特定する。
【0065】
図12は、操作画面管理部410が管理する操作画面管理テーブルの一例を示す図である。
【0066】
この例では、Nativeアプリ機能から「画像変換指定」のリクエストが発行されると、Webブラウザ440の「画像変換ファイル指定画面」を表示するアプリケーションが起動される。
【0067】
従って、S507において解析されるレスポンス情報には、「画像変換ファイル指定画面」が含まれる。これにより、起動対象アプリケーションは、画像変換ファイル指定画面(Webブラウザ440)に特定され、S509、S510でレスポンスをWebブラウザ440に送信する。これにより、S511及びS512で、Webブラウザ440により、そのレスポンスに従って「画像変換ファイル指定画面」が表示される。
【0068】
図11(A)は、「画像変換ファイル指定画面」の一例を示す図である。
【0069】
ここでは「画像変換ファイル指定画面」をユーザに提供する。ここでユーザが「アップロードファイルの指定へ」1101を押下する。これにより、「画像変換ファイル指定画面」に関連する情報が図6のS601のHTTPリクエストとしてアプリケーション切り替えモジュール400に送信される。次にS602に遷移する。尚、図6に示す各動作は、MFP101のCPU211が制御プログラムを実行して実現される。尚、S601,S612〜S614はWebブラウザ440により実行される処理を示す。S602、S603、S609〜S611、S615〜S618はアプリケーション切り替えモジュール400により実行される処理を示し、S619〜S621はWebアプリ440により実行される処理を示す。
【0070】
S603で、HTTPリクエストは「画像変換ファイル指定表示」であると判断してS609に遷移し、起動対象とするアプリケーションを特定する。S603の解析済みのリクエストと、図12のテーブルとの比較の結果、S603の解析済みのリクエストは「画像変換ファイル指定表示」として特定する。従って、S609で起動対象アプリケーションの情報を特定する。
【0071】
次にS610でリクエスト情報生成部404を呼び出し、Webアプリケーション430が受信可能なファイル形式のHTMLファイルなどのHTTPリクエストを生成する。このHTTPリクエストには、Webブラウザ440をクローズする内容のリクエストが記述されている。そしてS611でリクエスト送信部405を呼び出し、S610で生成したHTTPレスポンスをWebブラウザ440に送信する。このときリクエスト送信部405は、通信部408を介してHTTPリクエストを送信する。
【0072】
次にWebブラウザ440は、S612で通信部443を介して、そのHTTPリクエストを受信する。次にS613で解析部442を呼び出し、S612で受信したHTTPリクエスト情報の解析結果を画面表示部441に渡し、受信リクエストとして画面に表示する。より具体的には、リクエストの内容は表示画面をクローズするリクエストであるため、Webブラウザ440の表示画面のクローズを実行する。次にS614に進み、通信部443を介して、S613の受信リクエストが完了したことと通知するためのHTTPレスポンス情報をアプリケーション切り替えモジュール400送信する。
【0073】
これによりアプリケーション切り替えモジュール400は、S615で、通信部408を介してレスポンス受信部407を呼び出し、S614で送信されたHTTPレスポンスを受信する。次にS616でレスポンス情報解析部402を呼び出し、HTTPレスポンスで受信した情報を解析することで、クローズリクエストが終了したことを認識する。次にS617で、リクエスト情報生成部404を呼び出し、Native機能モジュール420が受信可能な形式の画面表示リクエストを生成する。この画面表示リクエストには、S609で特定した起動対象アプリケーションの情報を含む。そしてS618でリクエスト送信部405を呼び出し、S617で生成された画面表示リクエストをNative機能モジュール420に送信する。ここでは図12に示すように、リクエストの送信元アプリが「画像変換ファイル指定画面(Webブラウザ)」である場合は、起動対象アプリケーションは「送信画面(Nativeアプリ画面)」となっている。
【0074】
これによりS618に続いて、Native機能モジュール420による処理が開始される。まずS619で画面表示リクエスト受信部423を呼び出し、S618で送信された画面表示リクエストを受信し、どの画面を表示するためのリクエストかを認識する。次にS620で画面情報管理部422を呼び出し、管理している画面情報の一覧を取得する。そして、その取得した一覧情報と、S619で受信したリクエスト情報とを比較することで、Native機能画面で表示対象となる画面情報を特定する。次にS621で画面表示部421を呼び出し、S620で特定した表示対象の画面情報を画面表示部421に渡して画面情報を操作画面に表示する。
【0075】
図11(B)は、「画像変換ファイル指定画面」処理の後に、Native機能アプリにより提供される「送信画面」の画面例を示す。この画面は、S609において解析済みのリクエスト情報が切り替えられることにより、ユーザにNativeアプリ機能画面が提供され、Native機能はWebサーバ102より提供される機能を利用することができる。
【0076】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、サーバより操作画面が提供される情報処理装置及びその制御方法に関するものである。
【背景技術】
【0002】
PC等の情報処理装置がネットワーク上のWebサーバと接続され、情報処理装置を操作するための操作画面がそのWebサーバから提供され、その情報処理装置が備えるWebブラウザ上に表示することが一般的に行われている。この場合、情報処理装置のWebブラウザがWebサーバに対して操作画面を要求し、その要求に応えてWebサーバ上のWebアプリケーションが、Webブラウザに操作画面を表示させるためのHTMLファイルを情報処理装置に送信する。そして情報処理装置のWebブラウザは、その受信したHTMLファイルを解析し、そのHTMLファイルの記述に基づいた操作画面を表示する。更に、Webブラウザに表示された操作画面を介してユーザが指示を入力すると、その入力された指示をWebブラウザがWebサーバに対して通知する。し、この通知を受けたWebサーバ上のWebアプリケーションは、その指示に従って処理を実行したり、次に表示すべき操作画面のためのHTMLファイルを情報処理装置へ送信したりする。
【0003】
最近、スキャナやプリンタを備えたMFP(Multi Function Peripheral)においても、上述したようなWebブラウザを備えているものがある。このようなMFPでは、上述した手順を用いてWebサーバから提供される操作画面をMFPのWebブラウザに表示し、ユーザからの各種指示を受け付けることができる。従って、MFPにおいても、元々備わっているコピーや送信機能等を操作するために備えられている操作画面(以下、ネイティブ(Native)機能による画面)とWebブラウザによる操作画面を利用することが一般的となっている。
【0004】
また更には、特許文献1のような技術も考えられている。特許文献1の記載によれば、ユーザが入力したパスワード情報から、アプリケーションの起動を制限している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−60033号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
一方、MFPにはNative機能の他に、ユーザや管理者が後からアプリケーションをインストールするなどの方法で機能を追加することができる。これを追加機能と呼ぶ。MFPのNative機能を利用するためにユーザ認証を必要とし、そのユーザ認証を行うための操作画面をWebサーバが提供するという環境下では、このような追加機能に対してNative機能と同様にユーザ認証を行わせることは困難であった。
【0007】
本発明の目的は、上記従来技術の問題点を解決することにある。
【0008】
本願発明の特徴は、情報処理装置に対する追加機能に対してもWebサーバが提供する機能を利用できる技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
Webブラウザを有する情報処理装置であって、
前記情報処理装置が本来有している機能を実行するアプリケーションと、
前記アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて起動される前記アプリケーション或いはWebブラウザで表示される操作画面とを特定する情報を記憶する記憶手段と、
前記Webブラウザにより表示されている操作画面で入力されたリクエストを解析する解析手段と、
前記解析手段による解析結果に基づいて前記情報を参照し、当該リクエストに応じて起動される前記アプリケーション或いはWebブラウザで表示される操作画面を特定する特定手段と、
前記特定手段により前記アプリケーションで表示される操作画面が特定されると、前記Webブラウザによる操作画面をクローズして前記アプリケーションに対して画面表示リクエストを発行する発行手段と、を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、情報処理装置が本来有している機能を実行するアプリケーションにおいて、Webブラウザからの要求に応じた画面表示を容易にできる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る情報処理システムの全体図。
【図2】本実施形態に係るMFPの構成を示すブロック図。
【図3】実施形態に係るWebサーバの構成を示すブロック図。
【図4】本実施形態の情報処理システムのソフトウェア構成を説明するための図。
【図5】本実施形態に係るMFPとWebサーバとのやり取りを説明するフロー図。
【図6】実施形態に係るMFPによる処理を説明するフローチャート。
【図7】MFPのユーザに提示される画面例を示す図(A),図6のフローチャートを開始するにあたりユーザに提示される画面例を示す図(B)。
【図8】操作画面管理部が管理する操作画面管理テーブルの一例を示す図。
【図9】エラーレスポンスが返されて表示される「エラー画面」の具体的な画面例を示す図(A),認証結果の内容に応じた「認証ありトップ画面」の画面例を示す図。
【図10】「認証なしトップ画面」を表示した例を示す図(A)、アプリ機能画面の一例を示す図。
【図11】画像変換ファイルの指定画面の一例を示す図(A),「送信画面」がユーザに提供される画面例を示す図。
【図12】操作画面管理部が管理する操作画面管理テーブルの一例を示す図。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0013】
まず本発明の実施形態1について説明する。実施形態1では、本発明の情報処理装置の一例である多機能処理装置(MFP)がユーザを認証する認証処理を行い、この認証処理に用いられたユーザIDをWebサーバに送信して、MFPのWebブラウザで表示すべき操作画面を要求する例を説明する。このときWebサーバ上のWebアプリケーションは、MFPからユーザIDを受信したか否かを判断し、ユーザIDを受信した場合にMFPに操作画面を送信する。
【0014】
図1は、本発明の実施形態に係る情報処理システムの全体図である。
【0015】
LAN110には、MFP101、Webサーバ102が互いに通信可能に接続されている。MFP101は、プリンタ機能、スキャナ機能、ファクシミリ機能及びデータを格納するストレージ機能を有している。Webサーバ102は、MFP101の操作画面を提供するサーバである。また、Webサーバ102はMFP101を操作するユーザを認証することが可能である。なお、Webサーバ102以外の認証サーバ(不図示)がLAN110に接続されており、MFP101のユーザを認証するようにしてもよい。
【0016】
図2は、本実施形態に係るMFP101の構成を示すブロック図である。
【0017】
CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212に記憶されたブートプログラムを実行して、HDD214に記憶されている制御プログラムをRAM213にロードして読取制御や送信制御などの各種制御処理を実行する。RAM213は更に、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや後述のフローチャートで示される処理を実行するためのプログラム、或いは後述する各種情報テーブルを記憶する。
【0018】
操作部インターフェース(I/F)215は、操作部219と制御部210とのインターフェースを制御する。操作部219には、タッチパネル機能を有する液晶表示部やキーボード、キー、LEDなどが備えられている。またMFP101には、後述するWebブラウザ機能が備えられており、MFP101のWebブラウザはWebサーバ102から受信したHTMLファイルを解析し、そのHTMLファイルの記述に基づく操作画面を操作部219に表示する。プリンタI/F216は、プリンタ部220と制御部210とを接続する。プリンタ部220で印刷すべき画像データは、プリンタI/F216を介して制御部210からプリンタ部220に転送され、プリンタ部220においてシートなどの記録媒体に印刷される。スキャナI/F217は、スキャナ部221と制御部210とを接続する。スキャナ部221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。ネットワークI/F218は、制御部210をLAN110に接続する。ネットワークI/F218は、LAN110上の外部装置(例えば、Webサーバ102や不図示のLDAPサーバ)に画像データや各種情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0019】
なお、図2では制御部210は1つのCPU211を含む構成を一例として示したが、複数のCPUを含むような構成であっても構わない。
【0020】
図3は、実施形態に係るWebサーバ102の構成を示すブロック図である。
【0021】
CPU311を含む制御部310は、Webサーバ102全体の動作を制御する。CPU311は、ROM312に記憶されたブートプログラムを実行して、HDD314に記憶された制御プログラムを読み出してRAM313にロードし、そのプログラムを実行して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データ、HTMLファイルや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F315は、制御部310(Webサーバ102)をLAN110に接続する。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
【0022】
なお、図3ではWebサーバ102は1つのサーバ装置によって構成されるものとしてその一例を示したが、複数台のサーバによってWebサーバ102の機能を実現するものであっても構わない。また、Webサーバ102が複数のCPUを含むような構成であっても構わない。
【0023】
図4は、本実施形態に係る情報処理システム全体のソフトウェア構成を説明するための図である。図4に示す各機能部は、MFP101及びWebサーバ102のそれぞれに備えられているCPUが、各対応するソフトウェア(プログラム)を実行することにより実現される。
【0024】
MFP101は、アプリケーション切り替えモジュール400、Webブラウザ440、及びNative機能モジュール420を備えている。また、Webサーバ102はWebアプリケーション430を備えている。
【0025】
アプリケーション切り替えモジュール400は、操作画面管理部410、リクエスト情報解析部401、レスポンス情報解析部402、レスポンス情報生成部403、リクエスト情報生成部404及びリクエスト送信部405を含む。アプリケーション切り替えモジュール400は更に、レスポンス送信部406及び、レスポンス受信部407、通信部408、及びリクエスト受信部409を含む。
【0026】
まず最初に、アプリケーション切り替えモジュール400について説明する。
【0027】
操作画面管理部410は、操作部219に表示する操作画面を切り替えられるようにするため、起動対象となるWebブラウザ画面及びNative画面又はWebアプリケーション430を管理する。また操作画面管理部410は、どのアプリケーションから送信されたリクエストであるか、リクエストの内容はどのような種類で指定されていたのか、及びどのアプリケーションを起動の対象としているのか、等に関する情報を管理する。リクエスト情報解析部401は、リクエスト受信部409が受信したWebブラウザ440からのリクエスト情報(例えばHTTPリクエスト)の内容を解析し、そのリクエスト情報に記載されている情報を認識する。レスポンス情報解析部402は、レスポンス受信部407が受信したWebサーバ102からのレスポンス情報(例えばHTMLファイルなどのHTTPレスポンス)の内容を解析し、そのレスポンス情報に記載されている情報を認識する。レスポンス情報生成部403は、Webブラウザ440によって画面に表示することが可能なHTMLファイルなどの形式のレスポンス情報(例えばHTTPレスポンス)を生成する。より具体的には、Webアプリケーション430から受信したレスポンス情報からレスポンス情報を生成している。リクエスト情報生成部404は、Webアプリケーション430に対するリクエスト情報(例えばHTTPリクエスト)を生成する。リクエスト送信部405は、リクエスト情報生成部404が生成したリクエスト情報をWebサーバ102へ送信する。レスポンス送信部406は、レスポンス情報生成部403が生成する、ブラウザ画面に表示することが可能なHTMLファイルなどの形式のレスポンス情報を送信する。レスポンス受信部407は、Webサーバ102から送信されるブラウザ画面に表示することが可能なHTMLファイルなどの形式のレスポンス情報を受信する。 リクエスト受信部409は、Webブラウザ440からのリクエスト情報(例えばHTTPリクエスト)を受信する。通信部408は、HTTPプロトコルなどに従って、Webサーバ102、Webブラウザ44、Native機能モジュール420と通信する。
【0028】
次にWebブラウザ440について説明する。
【0029】
Webブラウザ440は、通信部443、解析部442、及び画面表示部441を含む。通信部443は、HTTPプロトコルに従ってWebアプリケーション430、アプリケーション切り替えモジュール400と通信する。より具体的には、通信部443は、Webブラウザ440で表示する操作画面をWebアプリケーション430に要求する。そしてWebブラウザ440で表示した操作画面を介して入力されたユーザからの指示をWebアプリケーション430に通知する。解析部442は、Webアプリケーション430から受信するHTMLファイルを解析する。このHTMLファイルには、Webブラウザ440に表示すべき操作画面の内容を示す記述が含まれている。画面表示部441は、解析部442による解析の結果に基づいて、操作部219上に操作画面を表示する。このように、Webサーバ102から受信した情報(HTMLファイル)に基づいて表示される画面をWebブラウザ画面と呼ぶこととする。
【0030】
次にNative機能モジュール420について説明する。このNative機能モジュール420は、このMFP101が本来(例えば出荷時から)有している機能、例えば、コピー機能、ファクシミリ送受信機能、スキャン機能、ストレージ機能などを実行するモジュールである。このような、MFP101が本来有している機能をNative機能と呼ぶ。
【0031】
Native機能モジュール420は、画面情報管理部422、画面表示リクエスト受信部423及び画面表示部421を含む。画面情報管理部422は、Native機能の操作画面に関する情報を管理する。画面表示リクエスト受信部423は、Native機能に関する操作画面を操作部219に表示するための画面表示リクエストを受信する。画面表示部421は、画面表示リクエストを受信することにより、操作部219上に操作画面を表示する。このように、Native機能モジュール420が、画面表示リクエストを受信することによって操作部219に表示される画面をNative画面と呼ぶ。
【0032】
図5は、MFP101とWeb102サーバとのやり取りの一例を説明するフロー図である。尚、図5に示す各動作のうち、アプリケーション切り替えモジュール400による処理とWebブラウザ440による処理はMFP101のCPU211が制御プログラムを実行することにより実現される。またWebアプリケーション430による処理はWebサーバ102のCPU311がプログラムを実行することにより実現される。
【0033】
図7(A)は、図5で示す処理を開始するにあたってMFP101の操作部219に表示されるユーザに提示されるトップ画面(初期画面)の一例を示す図である。
【0034】
図7(A)のボタン701が押下されると、トップメニューで提供されるNative機能アプリケーションの起動が開始される。本実施形態のMFP101は、ユーザがNative機能に関する操作を行うために操作部219に表示される操作画面はWebサーバ102が提供する。ボタン701が押下されると「開始リクエスト」がアプリケーション切り替えモジュール400に送信されて、図5の処理が開始される。尚、S501〜S502及びS506〜S510はアプリケーション切り替えモジュール400により実行される処理である。そしてS503〜S505は、Webアプリケーション430により実行される処理であり、S511〜S512はWebブラウザ440により実行される処理である。
【0035】
S501で、リクエスト情報生成部404は、Webアプリケーション430へ送信するためのHTMLファイルなどのHTTPリクエストを生成する。S501で生成されるHTTPリクエストには、ボタン701が押下されたことを示す情報が含まれる。次にS502で、リクエスト送信部405はS501で生成されたHTTPリクエストをWebアプリケーション430へ送信する。このときリクエスト送信部405は、通信部408を介してHTTPリクエストを送信する。
【0036】
これによりS503で、Webサーバ102のWebアプリケーション430は、HTTPリクエストを受信する。そしてS504に進み、Webアプリケーション430は、受信したHTTPリクエストを解釈してHTTPレスポンスを生成する。より具体的には、HTTPリクエストに含まれる、ボタン701が押下されたことを示す情報を解析して、「ログイン画面表示」というの内容がを記述されたHTMLファイルをレスポンスとして生成する。そしてS505に進み、Webアプリケーション430はHTTPレスポンスをMFP101に送信する。
【0037】
S506でレスポンス受信部407は、通信部408を介してS505で送信されたHTTPレスポンスを受信する。次にS507に進み、レスポンス情報解析部は受信したHTTPレスポンスを解析し、どのようなレスポンスの情報を受信したのかを認識する。次にS508に進み、操作画面管理部410は起動アプリケーション情報の一覧を取得する。そして、取得した一覧情報と、S507で解析したレスポンスの情報とから、操作部219に表示すべき操作画面を特定する。
【0038】
図8は、操作画面管理部410が管理する操作画面管理テーブルの一例を示す図である。
【0039】
図8のテーブルにおいて、「リクエスト」は、このリクエストを送信した送信元(発行元)と発行時に操作部219に表示されていた操作画面の種類を示す。「レスポンス」は、Webサーバ102から受信したレスポンス情報の種類を記述している。そして「表示すべき操作画面」は、操作部219に表示すべき操作画面と、その操作画面を表示する主体となるソフトウェアモジュールを示している。
【0040】
ボタン701が押下されたことによって図5のフローが実行開始した場合、図8の操作画面管理テーブルによれば、「リクエスト」は「Native機能/トップ画面」であり、「レスポンス」は「ログイン画面」である。よって操作部219に部表示すべき操作画面はWebブラウザが表示するログイン画面となる。
【0041】
図5のフローチャートの説明に戻る。S508において、表示すべき操作画面としてログイン画面(Webブラウザ画面)を特定する。
【0042】
次にS509に進み、レスポンス情報生成部403はS508で特定した操作画面を示すレスポンス情報を生成する。このレスポンス情報は、HTMLファイルなどの形式でありWebブラウザ440で処理可能な形式のデータである。次にS510に進み、レスポンス送信部406はS509で生成したレスポンス情報をWebブラウザ440へ送信する。
【0043】
これによりS511でWebブラウザ440は、通信部443を介してレスポンス情報を受信する。そしてS512に進み、解析部442がレスポンス情報を解析し、解析結果に基づいて操作画面(ここではログイン画面)を操作部219に表示する。S512を実行することにより操作部219に表示されるログイン画面の一例を図7(B)に示す。ログイン画面はユーザにログインのために必要な認証情報(ユーザIDやパスワード)の入力を促す画面である。ログイン画面においてユーザがユーザIDとパスワードを入力すると、入力された情報はアプリケーション切り替えモジュール400を介してWebアプリケーション430へ送信される。そしてWebアプリケーションにおいてユーザIDとパスワードに基づくユーザ認証処理が成功すると、当該ユーザはNative機能を利用することが可能になる。Native機能を利用するための操作画面はWebアプリケーション430が生成し、Webブラウザへ提供され操作部219に表示される。
【0044】
図5のフローチャートを実行することにより、Native機能モジュール420が提供する機能をユーザが選択した場合(つまりボタン701が押下された場合)に、ログインを行うための操作画面をWebブラウザ440に表示させることが可能になる。
【0045】
図6は、本実施形態に係るMFP101による処理の一例を説明するフローチャートである。図6のフローチャートは、例えば図5のフローチャート実行後の状態、すなわち操作部219が図7(B)に示す操作画面を表示している状態において実行を開始する。それ以外の操作画面が操作部219に表示されている場合においても図6のフローチャートは実行を開始する。図6のフローチャートに示す各動作は、MFP101のCPU211が制御プログラムを実行することにより実現される。尚、S601、S607、S608及びS612〜S614はWebブラウザ440により実行される処理である。そしてS602〜S606、S609〜S611及びS615〜S618はアプリケーション切り替えモジュール400により実行される処理を示し、S619〜S621はWebアプリ430により実行される処理を示す。
【0046】
まずS601で、Webブラウザはリクエスト情報をアプリケーション切り替えモジュール400へ送信する。このリクエスト情報は、通信部443を介して送信される。
【0047】
リクエスト情報は、図7(B)のログイン画面に対してユーザが入力した情報を含む。
【0048】
図7(B)のログイン画面に対してユーザはユーザID及びパスワードを入力する。ユーザが、これらを入力した後、OKボタン702を押下すると、S601で、Webブラウザ440は、この「ログイン画面」で入力された情報に関するHTTPリクエストをリクエスト情報としてアプリケーション切り替えモジュール400へ送信する。
【0049】
S602で、リクエスト受信部409はS601で送信されたリクエスト情報を受信する。そしてS603で、リクエスト情報解析部401は受信したリクエスト情報を解析して、どのようなリクエストの情報が送信されたのかを認識する。次にS604で、解析したリクエスト情報の内容がエラーを含むかどうかを判断する。エラーを含むと判断するとS605へ進み、レスポンス情報生成部403はエラーの内容を示すレスポンス情報を生成する。このレスポンス情報はHTMLファイルなどのWebブラウザ440が処理可能な形式である。次にS606に進み、リクエスト送信部405はS605で生成したレスポンス情報を、通信部408を介してWebブラウザ440へ送信する。
【0050】
S607においてWebブラウザ440は、S606で送信されたレスポンス情報を通信部443を介して受信する。そしてS608で、解析部442は受信したレスポンス情報を解析した結果に基づいて得られた操作画面を操作部219に表示する。
【0051】
図9(A)は、S608において操作部219に表示される操作画面の一例を示す。図9(A)では「エラー画面」がWebブラウザ440によりに表示される例を示している。
【0052】
この画面例では、「認証なし機能の利用へ」に遷移するように指示できる機能がユーザに提供される。
【0053】
一方、S604で、S603で解析したリクエスト情報の内容が、エラーを含まないと判断したエラーが発生しないときはS609に進む。図7(B)のログイン画面が表示された状態で図6のフローチャートが実行を開始した場合が相当する。この場合、リクエスト情報生成部404は、Webアプリケーションに対するリクエスト情報を生成する。このリクエスト情報はS602で受信したリクエスト情報に含まれるユーザIDとパスワードを含んでいる。そしてリクエスト送信部405はWebアプリケーション430に対してリクエスト情報を送信する。するとWebアプリケーション430は受信したリクエスト情報に含まれるユーザIDとパスワードに基づいて認証処理を実行し、認証の成否を示す情報をレスポンス情報としてアプリケーション切り替えモジュール400へ返送する。S609で、操作画面管理部410は操作画面管理テーブルを取得する。そして、操作画面管理テーブルとWebアプリケーション430からのレスポンス情報とに基づいて、操作部219に表示すべき操作画面を特定する。例えば、Webアプリケーション430からのレスポンス情報が認証成功を示すものであるならば、Native機能が認証ありトップ画面を表示すべきであるということを特定する。また、Webアプリケーション430からのレスポンス情報が認証エラーを示すものであるならば、Webブラウザがエラー応答画面を表示すべきであるということを特定する。次にS610でレスポンス情報生成部403を呼び出し、レスポンス情報を生成する。このレスポンス情報は、Webブラウザ440をクローズする要求を示す情報が記述されている。そしてS611でレスポンス送信部406はS610で生成したレスポンス情報をWebブラウザ440に送信する。
【0054】
こうしてWebブラウザ440は、S612で通信部443を介して、レスポンス情報を受信する。次にS613で解析部442はレスポンス情報を解析して解析結果を画面表示部441に渡す。具体的には、リクエストの内容は表示画面をクローズするリクエストであるため、Webブラウザ440の表示画面のクローズを実行する。次にS614に進み、通信部443を介して、S613の受信リクエストが完了したことと通知するためのリクエスト情報をアプリケーション切り替えモジュール400へ送信する。
【0055】
S615でリクエスト受信部409はS614で送信されたリクエスト情報を受信する。そしてS616でリクエスト情報解析部401はリクエスト情報を解析し、Webブラウザによる画面がクローズしたことを認識する。次にS617で、リクエスト情報生成部404を呼び出し、Native機能モジュール420が受信可能な形式の画面表示リクエストを生成する。この画面表示リクエストには、S609で特定した起動対象アプリケーションの情報を含む。そしてS618でリクエスト送信部405を呼び出し、S617で生成された画面表示リクエストをNative機能モジュール420に送信する。画面表示リクエストには、Native機能モジュールがどのような操作画面を表示すべきかを示す情報を含んでいる。
【0056】
これによりNative機能モジュール420による処理が開始される。まずS619で画面表示リクエスト受信部は、S618で送信された画面表示リクエストを受信し、どの画面を表示するためのリクエストかを認識する。次にS620で画面情報管理部422は、S619で受信したリクエスト情報に基づいて操作部219に表示すべき操作画面を表示する。
【0057】
図9(B)は、認証結果の内容に応じて、「認証ありトップ画面」を表示した例を示し、図10(A)は、「認証なしトップ画面」を表示した例を示す図である。
【0058】
図9(B)の「認証ありトップ画面」は、Webアプリケーション430での認証が成功した場合に操作部219に表示される操作画面である。図10(A)の「認証なしトップ画面」は、Webアプリケーション430での認証がエラーであった場合に操作部219に表示される操作画面である。「認証なしトップ画面」は、ユーザ認証を経なくても利用可能な機能をユーザに対して提示する。
【0059】
このように本実施形態1によれば、操作画面管理テーブルの内容に従って、アプリケーション切り替えモジュール400が、Webブラウザ440による画面表示と、Native機能による画面表示とを切り替える。またその切り替えモジュールが、Webブラウザ440による画面表示の停止と、Nativeアプリによる画面表示のリクエストを発行することにより、既存のNative機能がWebサーバ102より提供される機能を利用することができる。
【0060】
なお、MFP101はNative機能の他に機能を追加することができる。この、追加機能を実現するためのアプリケーションを追加アプリという。上述の説明のように、ユーザがMFP101のNative機能を利用する場合にはユーザ認証を行う必要がある。追加機能を利用する場合にもNative機能と同様に事前にユーザ認証を経た上で追加機能を利用させるようにしたい。この場合、図8の操作画面管理テーブルに追加機能に関するリクエストが発生した場合に表示すべき操作画面としてログイン画面を表示するように対応付けたレコードを記述しておく(図8の810)。このようにしておくことで、ユーザが追加機能を利用する場合においてもNative機能を利用する場合と同じようにユーザ認証を行わせることが可能になる。
【0061】
(実施形態2)
次に、本発明に係る実施形態2について説明する。この実施形態2では、本発明の情報処理装置の一例であるMFP101がユーザにNative機能を提供している間に、特定のボタンを押下することより、MFP101のWebブラウザ440で表示すべき操作画面を要求する例を説明する。この機能により、Webアプリケーション430から提供される画像を変換するための機能を利用することが可能となる。Webアプリケーション430は、MFP101から、変換すべき画像ファイルを受信したかどうかを判断し、ファイルを受信した後、MFP101に対して操作画面を送信する。尚、実施形態2に係るシステムの構成、及びMFP101,Webサーバ102の構成は前述の実施形態1と同様とする。
【0062】
図10(B)は、図5のフローチャートを開始するにあたりユーザに提示されるNativeアプリの機能画面の一例を示す図である。
【0063】
「画像変換指定」ボタン1001が押下されると、アプリ機能画面が提供する「画像変換指定」アプリケーションを開始する。このボタン1001が押下されると「画像変換指定リクエスト」がWebアプリケーション430に送信されて、図5で示す処理が実行される。尚、図5に示す各動作は、MFP101のCPU211が制御プログラムを実行することにより実現される。尚、S501、S502及びS506〜S510はアプリケーション切り替えモジュール400により実行される処理を示す。そして、S503〜S504は、Webアプリケーション430により実行される処理を示し、S511〜S512はWebブラウザ440により実行される処理を示す。ここでは実施形態2に係る処理についてのみ説明し、実施形態1と共通する処理の説明を省略する。
【0064】
S508では、起動対象アプリケーションを特定する。
【0065】
図12は、操作画面管理部410が管理する操作画面管理テーブルの一例を示す図である。
【0066】
この例では、Nativeアプリ機能から「画像変換指定」のリクエストが発行されると、Webブラウザ440の「画像変換ファイル指定画面」を表示するアプリケーションが起動される。
【0067】
従って、S507において解析されるレスポンス情報には、「画像変換ファイル指定画面」が含まれる。これにより、起動対象アプリケーションは、画像変換ファイル指定画面(Webブラウザ440)に特定され、S509、S510でレスポンスをWebブラウザ440に送信する。これにより、S511及びS512で、Webブラウザ440により、そのレスポンスに従って「画像変換ファイル指定画面」が表示される。
【0068】
図11(A)は、「画像変換ファイル指定画面」の一例を示す図である。
【0069】
ここでは「画像変換ファイル指定画面」をユーザに提供する。ここでユーザが「アップロードファイルの指定へ」1101を押下する。これにより、「画像変換ファイル指定画面」に関連する情報が図6のS601のHTTPリクエストとしてアプリケーション切り替えモジュール400に送信される。次にS602に遷移する。尚、図6に示す各動作は、MFP101のCPU211が制御プログラムを実行して実現される。尚、S601,S612〜S614はWebブラウザ440により実行される処理を示す。S602、S603、S609〜S611、S615〜S618はアプリケーション切り替えモジュール400により実行される処理を示し、S619〜S621はWebアプリ440により実行される処理を示す。
【0070】
S603で、HTTPリクエストは「画像変換ファイル指定表示」であると判断してS609に遷移し、起動対象とするアプリケーションを特定する。S603の解析済みのリクエストと、図12のテーブルとの比較の結果、S603の解析済みのリクエストは「画像変換ファイル指定表示」として特定する。従って、S609で起動対象アプリケーションの情報を特定する。
【0071】
次にS610でリクエスト情報生成部404を呼び出し、Webアプリケーション430が受信可能なファイル形式のHTMLファイルなどのHTTPリクエストを生成する。このHTTPリクエストには、Webブラウザ440をクローズする内容のリクエストが記述されている。そしてS611でリクエスト送信部405を呼び出し、S610で生成したHTTPレスポンスをWebブラウザ440に送信する。このときリクエスト送信部405は、通信部408を介してHTTPリクエストを送信する。
【0072】
次にWebブラウザ440は、S612で通信部443を介して、そのHTTPリクエストを受信する。次にS613で解析部442を呼び出し、S612で受信したHTTPリクエスト情報の解析結果を画面表示部441に渡し、受信リクエストとして画面に表示する。より具体的には、リクエストの内容は表示画面をクローズするリクエストであるため、Webブラウザ440の表示画面のクローズを実行する。次にS614に進み、通信部443を介して、S613の受信リクエストが完了したことと通知するためのHTTPレスポンス情報をアプリケーション切り替えモジュール400送信する。
【0073】
これによりアプリケーション切り替えモジュール400は、S615で、通信部408を介してレスポンス受信部407を呼び出し、S614で送信されたHTTPレスポンスを受信する。次にS616でレスポンス情報解析部402を呼び出し、HTTPレスポンスで受信した情報を解析することで、クローズリクエストが終了したことを認識する。次にS617で、リクエスト情報生成部404を呼び出し、Native機能モジュール420が受信可能な形式の画面表示リクエストを生成する。この画面表示リクエストには、S609で特定した起動対象アプリケーションの情報を含む。そしてS618でリクエスト送信部405を呼び出し、S617で生成された画面表示リクエストをNative機能モジュール420に送信する。ここでは図12に示すように、リクエストの送信元アプリが「画像変換ファイル指定画面(Webブラウザ)」である場合は、起動対象アプリケーションは「送信画面(Nativeアプリ画面)」となっている。
【0074】
これによりS618に続いて、Native機能モジュール420による処理が開始される。まずS619で画面表示リクエスト受信部423を呼び出し、S618で送信された画面表示リクエストを受信し、どの画面を表示するためのリクエストかを認識する。次にS620で画面情報管理部422を呼び出し、管理している画面情報の一覧を取得する。そして、その取得した一覧情報と、S619で受信したリクエスト情報とを比較することで、Native機能画面で表示対象となる画面情報を特定する。次にS621で画面表示部421を呼び出し、S620で特定した表示対象の画面情報を画面表示部421に渡して画面情報を操作画面に表示する。
【0075】
図11(B)は、「画像変換ファイル指定画面」処理の後に、Native機能アプリにより提供される「送信画面」の画面例を示す。この画面は、S609において解析済みのリクエスト情報が切り替えられることにより、ユーザにNativeアプリ機能画面が提供され、Native機能はWebサーバ102より提供される機能を利用することができる。
【0076】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
Webブラウザを有する情報処理装置であって、
前記情報処理装置が有している機能を実行するアプリケーションと、
前記アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて前記アプリケーション或いはWebブラウザで表示される操作画面とを特定する情報を記憶する記憶手段と、
前記Webブラウザ或いは前記アプリケーションにより表示されている操作画面で入力されたリクエストを解析する解析手段と、
前記解析手段による解析結果に基づいて前記情報を参照し、前記アプリケーション或いはWebブラウザで表示されるべき操作画面を特定する特定手段と、
前記特定手段により特定された操作画面を表示するよう前記アプリケーション或いは前記Webブラウザに対して要求する要求手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記解析手段による解析結果によりエラーを含むと判断された場合は、前記Webブラウザにより操作画面を表示させるエラー応答手段を更に有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アプリケーションの初期画面で前記アプリケーションの起動が指示されると前記Webブラウザによるログイン画面の表示に遷移させる手段を更に有することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記要求手段は、前記Webブラウザによるログイン画面で入力されたリクエストがエラーを含まない場合には前記アプリケーションに対して前記アプリケーションを利用するための操作画面を表示するよう要求することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
Webブラウザを有する情報処理装置を制御する制御方法であって、
前記情報処理装置のアプリケーションが、前記情報処理装置が有している機能を実行する工程と、
前記情報処理装置の解析手段が、前記Webブラウザ或いは前記アプリケーションにより表示されている操作画面で入力されたリクエストを解析する解析工程と、
前記情報処理装置の特定手段が、前記解析工程の解析結果に基づいて、前記アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて前記アプリケーション或いはWebブラウザで表示されるべき操作画面を特定する情報を参照し、当該リクエストに応じて前記アプリケーション或いはWebブラウザで表示されるべき操作画面を特定する特定工程と、
前記情報処理装置の要求手段が、前記特定工程で特定された操作画面を表示するよう前記アプリケーション或いは前記Webブラウザに対して要求する要求工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項1】
Webブラウザを有する情報処理装置であって、
前記情報処理装置が有している機能を実行するアプリケーションと、
前記アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて前記アプリケーション或いはWebブラウザで表示される操作画面とを特定する情報を記憶する記憶手段と、
前記Webブラウザ或いは前記アプリケーションにより表示されている操作画面で入力されたリクエストを解析する解析手段と、
前記解析手段による解析結果に基づいて前記情報を参照し、前記アプリケーション或いはWebブラウザで表示されるべき操作画面を特定する特定手段と、
前記特定手段により特定された操作画面を表示するよう前記アプリケーション或いは前記Webブラウザに対して要求する要求手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記解析手段による解析結果によりエラーを含むと判断された場合は、前記Webブラウザにより操作画面を表示させるエラー応答手段を更に有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アプリケーションの初期画面で前記アプリケーションの起動が指示されると前記Webブラウザによるログイン画面の表示に遷移させる手段を更に有することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記要求手段は、前記Webブラウザによるログイン画面で入力されたリクエストがエラーを含まない場合には前記アプリケーションに対して前記アプリケーションを利用するための操作画面を表示するよう要求することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
Webブラウザを有する情報処理装置を制御する制御方法であって、
前記情報処理装置のアプリケーションが、前記情報処理装置が有している機能を実行する工程と、
前記情報処理装置の解析手段が、前記Webブラウザ或いは前記アプリケーションにより表示されている操作画面で入力されたリクエストを解析する解析工程と、
前記情報処理装置の特定手段が、前記解析工程の解析結果に基づいて、前記アプリケーション或いはWebブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて前記アプリケーション或いはWebブラウザで表示されるべき操作画面を特定する情報を参照し、当該リクエストに応じて前記アプリケーション或いはWebブラウザで表示されるべき操作画面を特定する特定工程と、
前記情報処理装置の要求手段が、前記特定工程で特定された操作画面を表示するよう前記アプリケーション或いは前記Webブラウザに対して要求する要求工程と、
を有することを特徴とする情報処理装置の制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−43154(P2012−43154A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−183387(P2010−183387)
【出願日】平成22年8月18日(2010.8.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月18日(2010.8.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]