(57)【要約】【課題】  Ｗｅｂサーバによる仕組みが提供される環境下において、追加されるアプリケーション機能が各Ｗｅｂサーバに対応するためには相当量の作りこみをしなければいけないため煩雑である。【解決手段】  Ｗｅｂブラウザを有する情報処理装置であって、Ｗｅｂブラウザにより表示されている操作画面で入力されたリクエストを解析し（Ｓ６０３）、その解析結果に基づいて、アプリケーション或いはＷｅｂブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて起動される前記アプリケーション或いはＷｅｂブラウザで表示される操作画面とを特定する情報を参照し、そのリクエストに応じて起動されるアプリケーション或いはＷｅｂブラウザで表示される操作画面を特定する（Ｓ６０９）。ここでアプリケーションで表示される操作画面が特定されると、Ｗｅｂブラウザによる操作画面をクローズし（Ｓ６１３），アプリケーションに対して画面表示リクエストを発行する（Ｓ６１８）。【選択図】  図６
2012043154.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザを有する情報処理装置であって、
前記情報処理装置が有している機能を実行するアプリケーションと、
前記アプリケーション或いはＷｅｂブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて前記アプリケーション或いはＷｅｂブラウザで表示される操作画面とを特定する情報を記憶する記憶手段と、
前記Ｗｅｂブラウザ或いは前記アプリケーションにより表示されている操作画面で入力されたリクエストを解析する解析手段と、
前記解析手段による解析結果に基づいて前記情報を参照し、前記アプリケーション或いはＷｅｂブラウザで表示されるべき操作画面を特定する特定手段と、
前記特定手段により特定された操作画面を表示するよう前記アプリケーション或いは前記Ｗｅｂブラウザに対して要求する要求手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記解析手段による解析結果によりエラーを含むと判断された場合は、前記Ｗｅｂブラウザにより操作画面を表示させるエラー応答手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーションの初期画面で前記アプリケーションの起動が指示されると前記Ｗｅｂブラウザによるログイン画面の表示に遷移させる手段を更に有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記要求手段は、前記Ｗｅｂブラウザによるログイン画面で入力されたリクエストがエラーを含まない場合には前記アプリケーションに対して前記アプリケーションを利用するための操作画面を表示するよう要求することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
Ｗｅｂブラウザを有する情報処理装置を制御する制御方法であって、
前記情報処理装置のアプリケーションが、前記情報処理装置が有している機能を実行する工程と、
前記情報処理装置の解析手段が、前記Ｗｅｂブラウザ或いは前記アプリケーションにより表示されている操作画面で入力されたリクエストを解析する解析工程と、
前記情報処理装置の特定手段が、前記解析工程の解析結果に基づいて、前記アプリケーション或いはＷｅｂブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて前記アプリケーション或いはＷｅｂブラウザで表示されるべき操作画面を特定する情報を参照し、当該リクエストに応じて前記アプリケーション或いはＷｅｂブラウザで表示されるべき操作画面を特定する特定工程と、
前記情報処理装置の要求手段が、前記特定工程で特定された操作画面を表示するよう前記アプリケーション或いは前記Ｗｅｂブラウザに対して要求する要求工程と、
を有することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバより操作画面が提供される情報処理装置及びその制御方法に関するものである。
【背景技術】
【０００２】
ＰＣ等の情報処理装置がネットワーク上のＷｅｂサーバと接続され、情報処理装置を操作するための操作画面がそのＷｅｂサーバから提供され、その情報処理装置が備えるＷｅｂブラウザ上に表示することが一般的に行われている。この場合、情報処理装置のＷｅｂブラウザがＷｅｂサーバに対して操作画面を要求し、その要求に応えてＷｅｂサーバ上のＷｅｂアプリケーションが、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬファイルを情報処理装置に送信する。そして情報処理装置のＷｅｂブラウザは、その受信したＨＴＭＬファイルを解析し、そのＨＴＭＬファイルの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、その入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。し、この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、その指示に従って処理を実行したり、次に表示すべき操作画面のためのＨＴＭＬファイルを情報処理装置へ送信したりする。
【０００３】
最近、スキャナやプリンタを備えたＭＦＰ（Multi Function Peripheral）においても、上述したようなＷｅｂブラウザを備えているものがある。このようなＭＦＰでは、上述した手順を用いてＷｅｂサーバから提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付けることができる。従って、ＭＦＰにおいても、元々備わっているコピーや送信機能等を操作するために備えられている操作画面（以下、ネイティブ（Native）機能による画面）とＷｅｂブラウザによる操作画面を利用することが一般的となっている。
【０００４】
また更には、特許文献１のような技術も考えられている。特許文献１の記載によれば、ユーザが入力したパスワード情報から、アプリケーションの起動を制限している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−６００３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、ＭＦＰにはNative機能の他に、ユーザや管理者が後からアプリケーションをインストールするなどの方法で機能を追加することができる。これを追加機能と呼ぶ。ＭＦＰのNative機能を利用するためにユーザ認証を必要とし、そのユーザ認証を行うための操作画面をＷｅｂサーバが提供するという環境下では、このような追加機能に対してNative機能と同様にユーザ認証を行わせることは困難であった。
【０００７】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００８】
本願発明の特徴は、情報処理装置に対する追加機能に対してもＷｅｂサーバが提供する機能を利用できる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
Ｗｅｂブラウザを有する情報処理装置であって、
前記情報処理装置が本来有している機能を実行するアプリケーションと、
前記アプリケーション或いはＷｅｂブラウザから発行されたリクエストの種類及び発行元と、当該リクエストに応じて起動される前記アプリケーション或いはＷｅｂブラウザで表示される操作画面とを特定する情報を記憶する記憶手段と、
前記Ｗｅｂブラウザにより表示されている操作画面で入力されたリクエストを解析する解析手段と、
前記解析手段による解析結果に基づいて前記情報を参照し、当該リクエストに応じて起動される前記アプリケーション或いはＷｅｂブラウザで表示される操作画面を特定する特定手段と、
前記特定手段により前記アプリケーションで表示される操作画面が特定されると、前記Ｗｅｂブラウザによる操作画面をクローズして前記アプリケーションに対して画面表示リクエストを発行する発行手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、情報処理装置が本来有している機能を実行するアプリケーションにおいて、Ｗｅｂブラウザからの要求に応じた画面表示を容易にできる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る情報処理システムの全体図。
【図２】本実施形態に係るＭＦＰの構成を示すブロック図。
【図３】実施形態に係るＷｅｂサーバの構成を示すブロック図。
【図４】本実施形態の情報処理システムのソフトウェア構成を説明するための図。
【図５】本実施形態に係るＭＦＰとＷｅｂサーバとのやり取りを説明するフロー図。
【図６】実施形態に係るＭＦＰによる処理を説明するフローチャート。
【図７】ＭＦＰのユーザに提示される画面例を示す図（Ａ），図６のフローチャートを開始するにあたりユーザに提示される画面例を示す図（Ｂ）。
【図８】操作画面管理部が管理する操作画面管理テーブルの一例を示す図。
【図９】エラーレスポンスが返されて表示される「エラー画面」の具体的な画面例を示す図（Ａ），認証結果の内容に応じた「認証ありトップ画面」の画面例を示す図。
【図１０】「認証なしトップ画面」を表示した例を示す図（Ａ）、アプリ機能画面の一例を示す図。
【図１１】画像変換ファイルの指定画面の一例を示す図（Ａ），「送信画面」がユーザに提供される画面例を示す図。
【図１２】操作画面管理部が管理する操作画面管理テーブルの一例を示す図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
まず本発明の実施形態１について説明する。実施形態１では、本発明の情報処理装置の一例である多機能処理装置（ＭＦＰ）がユーザを認証する認証処理を行い、この認証処理に用いられたユーザＩＤをＷｅｂサーバに送信して、ＭＦＰのＷｅｂブラウザで表示すべき操作画面を要求する例を説明する。このときＷｅｂサーバ上のＷｅｂアプリケーションは、ＭＦＰからユーザＩＤを受信したか否かを判断し、ユーザＩＤを受信した場合にＭＦＰに操作画面を送信する。
【００１４】
図１は、本発明の実施形態に係る情報処理システムの全体図である。
【００１５】
ＬＡＮ１１０には、ＭＦＰ１０１、Ｗｅｂサーバ１０２が互いに通信可能に接続されている。ＭＦＰ１０１は、プリンタ機能、スキャナ機能、ファクシミリ機能及びデータを格納するストレージ機能を有している。Ｗｅｂサーバ１０２は、ＭＦＰ１０１の操作画面を提供するサーバである。また、Ｗｅｂサーバ１０２はＭＦＰ１０１を操作するユーザを認証することが可能である。なお、Ｗｅｂサーバ１０２以外の認証サーバ（不図示）がＬＡＮ１１０に接続されており、ＭＦＰ１０１のユーザを認証するようにしてもよい。
【００１６】
図２は、本実施形態に係るＭＦＰ１０１の構成を示すブロック図である。
【００１７】
ＣＰＵ２１１を含む制御部２１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶されたブートプログラムを実行して、ＨＤＤ２１４に記憶されている制御プログラムをＲＡＭ２１３にロードして読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ２１３は更に、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや後述のフローチャートで示される処理を実行するためのプログラム、或いは後述する各種情報テーブルを記憶する。
【００１８】
操作部インターフェース（Ｉ／Ｆ）２１５は、操作部２１９と制御部２１０とのインターフェースを制御する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボード、キー、ＬＥＤなどが備えられている。またＭＦＰ１０１には、後述するＷｅｂブラウザ機能が備えられており、ＭＦＰ１０１のＷｅｂブラウザはＷｅｂサーバ１０２から受信したＨＴＭＬファイルを解析し、そのＨＴＭＬファイルの記述に基づく操作画面を操作部２１９に表示する。プリンタＩ／Ｆ２１６は、プリンタ部２２０と制御部２１０とを接続する。プリンタ部２２０で印刷すべき画像データは、プリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ部２２０に転送され、プリンタ部２２０においてシートなどの記録媒体に印刷される。スキャナＩ／Ｆ２１７は、スキャナ部２２１と制御部２１０とを接続する。スキャナ部２２１は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、Ｗｅｂサーバ１０２や不図示のＬＤＡＰサーバ）に画像データや各種情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００１９】
なお、図２では制御部２１０は１つのＣＰＵ２１１を含む構成を一例として示したが、複数のＣＰＵを含むような構成であっても構わない。
【００２０】
図３は、実施形態に係るＷｅｂサーバ１０２の構成を示すブロック図である。
【００２１】
ＣＰＵ３１１を含む制御部３１０は、Ｗｅｂサーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶されたブートプログラムを実行して、ＨＤＤ３１４に記憶された制御プログラムを読み出してＲＡＭ３１３にロードし、そのプログラムを実行して各種制御処理を実行する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データ、ＨＴＭＬファイルや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークＩ／Ｆ３１５は、制御部３１０（Ｗｅｂサーバ１０２）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ３１５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００２２】
なお、図３ではＷｅｂサーバ１０２は１つのサーバ装置によって構成されるものとしてその一例を示したが、複数台のサーバによってＷｅｂサーバ１０２の機能を実現するものであっても構わない。また、Ｗｅｂサーバ１０２が複数のＣＰＵを含むような構成であっても構わない。
【００２３】
図４は、本実施形態に係る情報処理システム全体のソフトウェア構成を説明するための図である。図４に示す各機能部は、ＭＦＰ１０１及びＷｅｂサーバ１０２のそれぞれに備えられているＣＰＵが、各対応するソフトウェア（プログラム）を実行することにより実現される。
【００２４】
ＭＦＰ１０１は、アプリケーション切り替えモジュール４００、Ｗｅｂブラウザ４４０、及びNative機能モジュール４２０を備えている。また、Ｗｅｂサーバ１０２はＷｅｂアプリケーション４３０を備えている。
【００２５】
アプリケーション切り替えモジュール４００は、操作画面管理部４１０、リクエスト情報解析部４０１、レスポンス情報解析部４０２、レスポンス情報生成部４０３、リクエスト情報生成部４０４及びリクエスト送信部４０５を含む。アプリケーション切り替えモジュール４００は更に、レスポンス送信部４０６及び、レスポンス受信部４０７、通信部４０８、及びリクエスト受信部４０９を含む。
【００２６】
まず最初に、アプリケーション切り替えモジュール４００について説明する。
【００２７】
操作画面管理部４１０は、操作部２１９に表示する操作画面を切り替えられるようにするため、起動対象となるＷｅｂブラウザ画面及びNative画面又はＷｅｂアプリケーション４３０を管理する。また操作画面管理部４１０は、どのアプリケーションから送信されたリクエストであるか、リクエストの内容はどのような種類で指定されていたのか、及びどのアプリケーションを起動の対象としているのか、等に関する情報を管理する。リクエスト情報解析部４０１は、リクエスト受信部４０９が受信したＷｅｂブラウザ４４０からのリクエスト情報（例えばＨＴＴＰリクエスト）の内容を解析し、そのリクエスト情報に記載されている情報を認識する。レスポンス情報解析部４０２は、レスポンス受信部４０７が受信したＷｅｂサーバ１０２からのレスポンス情報（例えばＨＴＭＬファイルなどのＨＴＴＰレスポンス）の内容を解析し、そのレスポンス情報に記載されている情報を認識する。レスポンス情報生成部４０３は、Ｗｅｂブラウザ４４０によって画面に表示することが可能なＨＴＭＬファイルなどの形式のレスポンス情報（例えばＨＴＴＰレスポンス）を生成する。より具体的には、Ｗｅｂアプリケーション４３０から受信したレスポンス情報からレスポンス情報を生成している。リクエスト情報生成部４０４は、Ｗｅｂアプリケーション４３０に対するリクエスト情報（例えばＨＴＴＰリクエスト）を生成する。リクエスト送信部４０５は、リクエスト情報生成部４０４が生成したリクエスト情報をＷｅｂサーバ１０２へ送信する。レスポンス送信部４０６は、レスポンス情報生成部４０３が生成する、ブラウザ画面に表示することが可能なＨＴＭＬファイルなどの形式のレスポンス情報を送信する。レスポンス受信部４０７は、Ｗｅｂサーバ１０２から送信されるブラウザ画面に表示することが可能なＨＴＭＬファイルなどの形式のレスポンス情報を受信する。  リクエスト受信部４０９は、Ｗｅｂブラウザ４４０からのリクエスト情報（例えばＨＴＴＰリクエスト）を受信する。通信部４０８は、ＨＴＴＰプロトコルなどに従って、Ｗｅｂサーバ１０２、Ｗｅｂブラウザ４４、Native機能モジュール４２０と通信する。
【００２８】
次にＷｅｂブラウザ４４０について説明する。
【００２９】
Ｗｅｂブラウザ４４０は、通信部４４３、解析部４４２、及び画面表示部４４１を含む。通信部４４３は、ＨＴＴＰプロトコルに従ってＷｅｂアプリケーション４３０、アプリケーション切り替えモジュール４００と通信する。より具体的には、通信部４４３は、Ｗｅｂブラウザ４４０で表示する操作画面をＷｅｂアプリケーション４３０に要求する。そしてＷｅｂブラウザ４４０で表示した操作画面を介して入力されたユーザからの指示をＷｅｂアプリケーション４３０に通知する。解析部４４２は、Ｗｅｂアプリケーション４３０から受信するＨＴＭＬファイルを解析する。このＨＴＭＬファイルには、Ｗｅｂブラウザ４４０に表示すべき操作画面の内容を示す記述が含まれている。画面表示部４４１は、解析部４４２による解析の結果に基づいて、操作部２１９上に操作画面を表示する。このように、Ｗｅｂサーバ１０２から受信した情報（ＨＴＭＬファイル）に基づいて表示される画面をＷｅｂブラウザ画面と呼ぶこととする。
【００３０】
次にNative機能モジュール４２０について説明する。このNative機能モジュール４２０は、このＭＦＰ１０１が本来（例えば出荷時から）有している機能、例えば、コピー機能、ファクシミリ送受信機能、スキャン機能、ストレージ機能などを実行するモジュールである。このような、ＭＦＰ１０１が本来有している機能をNative機能と呼ぶ。
【００３１】
Native機能モジュール４２０は、画面情報管理部４２２、画面表示リクエスト受信部４２３及び画面表示部４２１を含む。画面情報管理部４２２は、Native機能の操作画面に関する情報を管理する。画面表示リクエスト受信部４２３は、Native機能に関する操作画面を操作部２１９に表示するための画面表示リクエストを受信する。画面表示部４２１は、画面表示リクエストを受信することにより、操作部２１９上に操作画面を表示する。このように、Native機能モジュール４２０が、画面表示リクエストを受信することによって操作部２１９に表示される画面をNative画面と呼ぶ。
【００３２】
図５は、ＭＦＰ１０１とＷｅｂ１０２サーバとのやり取りの一例を説明するフロー図である。尚、図５に示す各動作のうち、アプリケーション切り替えモジュール４００による処理とＷｅｂブラウザ４４０による処理はＭＦＰ１０１のＣＰＵ２１１が制御プログラムを実行することにより実現される。またＷｅｂアプリケーション４３０による処理はＷｅｂサーバ１０２のＣＰＵ３１１がプログラムを実行することにより実現される。
【００３３】
図７（Ａ）は、図５で示す処理を開始するにあたってＭＦＰ１０１の操作部２１９に表示されるユーザに提示されるトップ画面（初期画面）の一例を示す図である。
【００３４】
図７（Ａ）のボタン７０１が押下されると、トップメニューで提供されるNative機能アプリケーションの起動が開始される。本実施形態のＭＦＰ１０１は、ユーザがNative機能に関する操作を行うために操作部２１９に表示される操作画面はＷｅｂサーバ１０２が提供する。ボタン７０１が押下されると「開始リクエスト」がアプリケーション切り替えモジュール４００に送信されて、図５の処理が開始される。尚、Ｓ５０１〜Ｓ５０２及びＳ５０６〜Ｓ５１０はアプリケーション切り替えモジュール４００により実行される処理である。そしてＳ５０３〜Ｓ５０５は、Ｗｅｂアプリケーション４３０により実行される処理であり、Ｓ５１１〜Ｓ５１２はＷｅｂブラウザ４４０により実行される処理である。
【００３５】
Ｓ５０１で、リクエスト情報生成部４０４は、Ｗｅｂアプリケーション４３０へ送信するためのＨＴＭＬファイルなどのＨＴＴＰリクエストを生成する。Ｓ５０１で生成されるＨＴＴＰリクエストには、ボタン７０１が押下されたことを示す情報が含まれる。次にＳ５０２で、リクエスト送信部４０５はＳ５０１で生成されたＨＴＴＰリクエストをＷｅｂアプリケーション４３０へ送信する。このときリクエスト送信部４０５は、通信部４０８を介してＨＴＴＰリクエストを送信する。
【００３６】
これによりＳ５０３で、Ｗｅｂサーバ１０２のＷｅｂアプリケーション４３０は、ＨＴＴＰリクエストを受信する。そしてＳ５０４に進み、Ｗｅｂアプリケーション４３０は、受信したＨＴＴＰリクエストを解釈してＨＴＴＰレスポンスを生成する。より具体的には、ＨＴＴＰリクエストに含まれる、ボタン７０１が押下されたことを示す情報を解析して、「ログイン画面表示」というの内容がを記述されたＨＴＭＬファイルをレスポンスとして生成する。そしてＳ５０５に進み、Ｗｅｂアプリケーション４３０はＨＴＴＰレスポンスをＭＦＰ１０１に送信する。
【００３７】
Ｓ５０６でレスポンス受信部４０７は、通信部４０８を介してＳ５０５で送信されたＨＴＴＰレスポンスを受信する。次にＳ５０７に進み、レスポンス情報解析部は受信したＨＴＴＰレスポンスを解析し、どのようなレスポンスの情報を受信したのかを認識する。次にＳ５０８に進み、操作画面管理部４１０は起動アプリケーション情報の一覧を取得する。そして、取得した一覧情報と、Ｓ５０７で解析したレスポンスの情報とから、操作部２１９に表示すべき操作画面を特定する。
【００３８】
図８は、操作画面管理部４１０が管理する操作画面管理テーブルの一例を示す図である。
【００３９】
図８のテーブルにおいて、「リクエスト」は、このリクエストを送信した送信元（発行元）と発行時に操作部２１９に表示されていた操作画面の種類を示す。「レスポンス」は、Ｗｅｂサーバ１０２から受信したレスポンス情報の種類を記述している。そして「表示すべき操作画面」は、操作部２１９に表示すべき操作画面と、その操作画面を表示する主体となるソフトウェアモジュールを示している。
【００４０】
ボタン７０１が押下されたことによって図５のフローが実行開始した場合、図８の操作画面管理テーブルによれば、「リクエスト」は「Native機能／トップ画面」であり、「レスポンス」は「ログイン画面」である。よって操作部２１９に部表示すべき操作画面はＷｅｂブラウザが表示するログイン画面となる。
【００４１】
図５のフローチャートの説明に戻る。Ｓ５０８において、表示すべき操作画面としてログイン画面（Ｗｅｂブラウザ画面）を特定する。
【００４２】
次にＳ５０９に進み、レスポンス情報生成部４０３はＳ５０８で特定した操作画面を示すレスポンス情報を生成する。このレスポンス情報は、ＨＴＭＬファイルなどの形式でありＷｅｂブラウザ４４０で処理可能な形式のデータである。次にＳ５１０に進み、レスポンス送信部４０６はＳ５０９で生成したレスポンス情報をＷｅｂブラウザ４４０へ送信する。
【００４３】
これによりＳ５１１でＷｅｂブラウザ４４０は、通信部４４３を介してレスポンス情報を受信する。そしてＳ５１２に進み、解析部４４２がレスポンス情報を解析し、解析結果に基づいて操作画面（ここではログイン画面）を操作部２１９に表示する。Ｓ５１２を実行することにより操作部２１９に表示されるログイン画面の一例を図７（Ｂ）に示す。ログイン画面はユーザにログインのために必要な認証情報（ユーザＩＤやパスワード）の入力を促す画面である。ログイン画面においてユーザがユーザＩＤとパスワードを入力すると、入力された情報はアプリケーション切り替えモジュール４００を介してＷｅｂアプリケーション４３０へ送信される。そしてＷｅｂアプリケーションにおいてユーザＩＤとパスワードに基づくユーザ認証処理が成功すると、当該ユーザはNative機能を利用することが可能になる。Native機能を利用するための操作画面はＷｅｂアプリケーション４３０が生成し、Ｗｅｂブラウザへ提供され操作部２１９に表示される。
【００４４】
図５のフローチャートを実行することにより、Native機能モジュール４２０が提供する機能をユーザが選択した場合（つまりボタン７０１が押下された場合）に、ログインを行うための操作画面をＷｅｂブラウザ４４０に表示させることが可能になる。
【００４５】
図６は、本実施形態に係るＭＦＰ１０１による処理の一例を説明するフローチャートである。図６のフローチャートは、例えば図５のフローチャート実行後の状態、すなわち操作部２１９が図７（Ｂ）に示す操作画面を表示している状態において実行を開始する。それ以外の操作画面が操作部２１９に表示されている場合においても図６のフローチャートは実行を開始する。図６のフローチャートに示す各動作は、ＭＦＰ１０１のＣＰＵ２１１が制御プログラムを実行することにより実現される。尚、Ｓ６０１、Ｓ６０７、Ｓ６０８及びＳ６１２〜Ｓ６１４はＷｅｂブラウザ４４０により実行される処理である。そしてＳ６０２〜Ｓ６０６、Ｓ６０９〜Ｓ６１１及びＳ６１５〜Ｓ６１８はアプリケーション切り替えモジュール４００により実行される処理を示し、Ｓ６１９〜Ｓ６２１はＷｅｂアプリ４３０により実行される処理を示す。
【００４６】
まずＳ６０１で、Ｗｅｂブラウザはリクエスト情報をアプリケーション切り替えモジュール４００へ送信する。このリクエスト情報は、通信部４４３を介して送信される。
【００４７】
リクエスト情報は、図７（Ｂ）のログイン画面に対してユーザが入力した情報を含む。
【００４８】
図７（Ｂ）のログイン画面に対してユーザはユーザＩＤ及びパスワードを入力する。ユーザが、これらを入力した後、ＯＫボタン７０２を押下すると、Ｓ６０１で、Ｗｅｂブラウザ４４０は、この「ログイン画面」で入力された情報に関するＨＴＴＰリクエストをリクエスト情報としてアプリケーション切り替えモジュール４００へ送信する。
【００４９】
Ｓ６０２で、リクエスト受信部４０９はＳ６０１で送信されたリクエスト情報を受信する。そしてＳ６０３で、リクエスト情報解析部４０１は受信したリクエスト情報を解析して、どのようなリクエストの情報が送信されたのかを認識する。次にＳ６０４で、解析したリクエスト情報の内容がエラーを含むかどうかを判断する。エラーを含むと判断するとＳ６０５へ進み、レスポンス情報生成部４０３はエラーの内容を示すレスポンス情報を生成する。このレスポンス情報はＨＴＭＬファイルなどのＷｅｂブラウザ４４０が処理可能な形式である。次にＳ６０６に進み、リクエスト送信部４０５はＳ６０５で生成したレスポンス情報を、通信部４０８を介してＷｅｂブラウザ４４０へ送信する。
【００５０】
Ｓ６０７においてＷｅｂブラウザ４４０は、Ｓ６０６で送信されたレスポンス情報を通信部４４３を介して受信する。そしてＳ６０８で、解析部４４２は受信したレスポンス情報を解析した結果に基づいて得られた操作画面を操作部２１９に表示する。
【００５１】
図９（Ａ）は、Ｓ６０８において操作部２１９に表示される操作画面の一例を示す。図９（Ａ）では「エラー画面」がＷｅｂブラウザ４４０によりに表示される例を示している。
【００５２】
この画面例では、「認証なし機能の利用へ」に遷移するように指示できる機能がユーザに提供される。
【００５３】
一方、Ｓ６０４で、Ｓ６０３で解析したリクエスト情報の内容が、エラーを含まないと判断したエラーが発生しないときはＳ６０９に進む。図７（Ｂ）のログイン画面が表示された状態で図６のフローチャートが実行を開始した場合が相当する。この場合、リクエスト情報生成部４０４は、Ｗｅｂアプリケーションに対するリクエスト情報を生成する。このリクエスト情報はＳ６０２で受信したリクエスト情報に含まれるユーザＩＤとパスワードを含んでいる。そしてリクエスト送信部４０５はＷｅｂアプリケーション４３０に対してリクエスト情報を送信する。するとＷｅｂアプリケーション４３０は受信したリクエスト情報に含まれるユーザＩＤとパスワードに基づいて認証処理を実行し、認証の成否を示す情報をレスポンス情報としてアプリケーション切り替えモジュール４００へ返送する。Ｓ６０９で、操作画面管理部４１０は操作画面管理テーブルを取得する。そして、操作画面管理テーブルとＷｅｂアプリケーション４３０からのレスポンス情報とに基づいて、操作部２１９に表示すべき操作画面を特定する。例えば、Ｗｅｂアプリケーション４３０からのレスポンス情報が認証成功を示すものであるならば、Native機能が認証ありトップ画面を表示すべきであるということを特定する。また、Ｗｅｂアプリケーション４３０からのレスポンス情報が認証エラーを示すものであるならば、Ｗｅｂブラウザがエラー応答画面を表示すべきであるということを特定する。次にＳ６１０でレスポンス情報生成部４０３を呼び出し、レスポンス情報を生成する。このレスポンス情報は、Ｗｅｂブラウザ４４０をクローズする要求を示す情報が記述されている。そしてＳ６１１でレスポンス送信部４０６はＳ６１０で生成したレスポンス情報をＷｅｂブラウザ４４０に送信する。
【００５４】
こうしてＷｅｂブラウザ４４０は、Ｓ６１２で通信部４４３を介して、レスポンス情報を受信する。次にＳ６１３で解析部４４２はレスポンス情報を解析して解析結果を画面表示部４４１に渡す。具体的には、リクエストの内容は表示画面をクローズするリクエストであるため、Ｗｅｂブラウザ４４０の表示画面のクローズを実行する。次にＳ６１４に進み、通信部４４３を介して、Ｓ６１３の受信リクエストが完了したことと通知するためのリクエスト情報をアプリケーション切り替えモジュール４００へ送信する。
【００５５】
Ｓ６１５でリクエスト受信部４０９はＳ６１４で送信されたリクエスト情報を受信する。そしてＳ６１６でリクエスト情報解析部４０１はリクエスト情報を解析し、Ｗｅｂブラウザによる画面がクローズしたことを認識する。次にＳ６１７で、リクエスト情報生成部４０４を呼び出し、Native機能モジュール４２０が受信可能な形式の画面表示リクエストを生成する。この画面表示リクエストには、Ｓ６０９で特定した起動対象アプリケーションの情報を含む。そしてＳ６１８でリクエスト送信部４０５を呼び出し、Ｓ６１７で生成された画面表示リクエストをNative機能モジュール４２０に送信する。画面表示リクエストには、Native機能モジュールがどのような操作画面を表示すべきかを示す情報を含んでいる。
【００５６】
これによりNative機能モジュール４２０による処理が開始される。まずＳ６１９で画面表示リクエスト受信部は、Ｓ６１８で送信された画面表示リクエストを受信し、どの画面を表示するためのリクエストかを認識する。次にＳ６２０で画面情報管理部４２２は、Ｓ６１９で受信したリクエスト情報に基づいて操作部２１９に表示すべき操作画面を表示する。
【００５７】
図９（Ｂ）は、認証結果の内容に応じて、「認証ありトップ画面」を表示した例を示し、図１０（Ａ）は、「認証なしトップ画面」を表示した例を示す図である。
【００５８】
図９（Ｂ）の「認証ありトップ画面」は、Ｗｅｂアプリケーション４３０での認証が成功した場合に操作部２１９に表示される操作画面である。図１０（Ａ）の「認証なしトップ画面」は、Ｗｅｂアプリケーション４３０での認証がエラーであった場合に操作部２１９に表示される操作画面である。「認証なしトップ画面」は、ユーザ認証を経なくても利用可能な機能をユーザに対して提示する。
【００５９】
このように本実施形態１によれば、操作画面管理テーブルの内容に従って、アプリケーション切り替えモジュール４００が、Ｗｅｂブラウザ４４０による画面表示と、Native機能による画面表示とを切り替える。またその切り替えモジュールが、Ｗｅｂブラウザ４４０による画面表示の停止と、Nativeアプリによる画面表示のリクエストを発行することにより、既存のNative機能がＷｅｂサーバ１０２より提供される機能を利用することができる。
【００６０】
なお、ＭＦＰ１０１はNative機能の他に機能を追加することができる。この、追加機能を実現するためのアプリケーションを追加アプリという。上述の説明のように、ユーザがＭＦＰ１０１のNative機能を利用する場合にはユーザ認証を行う必要がある。追加機能を利用する場合にもNative機能と同様に事前にユーザ認証を経た上で追加機能を利用させるようにしたい。この場合、図８の操作画面管理テーブルに追加機能に関するリクエストが発生した場合に表示すべき操作画面としてログイン画面を表示するように対応付けたレコードを記述しておく（図８の８１０）。このようにしておくことで、ユーザが追加機能を利用する場合においてもNative機能を利用する場合と同じようにユーザ認証を行わせることが可能になる。
【００６１】
（実施形態２）
次に、本発明に係る実施形態２について説明する。この実施形態２では、本発明の情報処理装置の一例であるＭＦＰ１０１がユーザにNative機能を提供している間に、特定のボタンを押下することより、ＭＦＰ１０１のＷｅｂブラウザ４４０で表示すべき操作画面を要求する例を説明する。この機能により、Ｗｅｂアプリケーション４３０から提供される画像を変換するための機能を利用することが可能となる。Ｗｅｂアプリケーション４３０は、ＭＦＰ１０１から、変換すべき画像ファイルを受信したかどうかを判断し、ファイルを受信した後、ＭＦＰ１０１に対して操作画面を送信する。尚、実施形態２に係るシステムの構成、及びＭＦＰ１０１，Ｗｅｂサーバ１０２の構成は前述の実施形態１と同様とする。
【００６２】
図１０（Ｂ）は、図５のフローチャートを開始するにあたりユーザに提示されるNativeアプリの機能画面の一例を示す図である。
【００６３】
「画像変換指定」ボタン１００１が押下されると、アプリ機能画面が提供する「画像変換指定」アプリケーションを開始する。このボタン１００１が押下されると「画像変換指定リクエスト」がＷｅｂアプリケーション４３０に送信されて、図５で示す処理が実行される。尚、図５に示す各動作は、ＭＦＰ１０１のＣＰＵ２１１が制御プログラムを実行することにより実現される。尚、Ｓ５０１、Ｓ５０２及びＳ５０６〜Ｓ５１０はアプリケーション切り替えモジュール４００により実行される処理を示す。そして、Ｓ５０３〜Ｓ５０４は、Ｗｅｂアプリケーション４３０により実行される処理を示し、Ｓ５１１〜Ｓ５１２はＷｅｂブラウザ４４０により実行される処理を示す。ここでは実施形態２に係る処理についてのみ説明し、実施形態１と共通する処理の説明を省略する。
【００６４】
Ｓ５０８では、起動対象アプリケーションを特定する。
【００６５】
図１２は、操作画面管理部４１０が管理する操作画面管理テーブルの一例を示す図である。
【００６６】
この例では、Nativeアプリ機能から「画像変換指定」のリクエストが発行されると、Ｗｅｂブラウザ４４０の「画像変換ファイル指定画面」を表示するアプリケーションが起動される。
【００６７】
従って、Ｓ５０７において解析されるレスポンス情報には、「画像変換ファイル指定画面」が含まれる。これにより、起動対象アプリケーションは、画像変換ファイル指定画面（Ｗｅｂブラウザ４４０）に特定され、Ｓ５０９、Ｓ５１０でレスポンスをＷｅｂブラウザ４４０に送信する。これにより、Ｓ５１１及びＳ５１２で、Ｗｅｂブラウザ４４０により、そのレスポンスに従って「画像変換ファイル指定画面」が表示される。
【００６８】
図１１（Ａ）は、「画像変換ファイル指定画面」の一例を示す図である。
【００６９】
ここでは「画像変換ファイル指定画面」をユーザに提供する。ここでユーザが「アップロードファイルの指定へ」１１０１を押下する。これにより、「画像変換ファイル指定画面」に関連する情報が図６のＳ６０１のＨＴＴＰリクエストとしてアプリケーション切り替えモジュール４００に送信される。次にＳ６０２に遷移する。尚、図６に示す各動作は、ＭＦＰ１０１のＣＰＵ２１１が制御プログラムを実行して実現される。尚、Ｓ６０１，Ｓ６１２〜Ｓ６１４はＷｅｂブラウザ４４０により実行される処理を示す。Ｓ６０２、Ｓ６０３、Ｓ６０９〜Ｓ６１１、Ｓ６１５〜Ｓ６１８はアプリケーション切り替えモジュール４００により実行される処理を示し、Ｓ６１９〜Ｓ６２１はＷｅｂアプリ４４０により実行される処理を示す。
【００７０】
Ｓ６０３で、ＨＴＴＰリクエストは「画像変換ファイル指定表示」であると判断してＳ６０９に遷移し、起動対象とするアプリケーションを特定する。Ｓ６０３の解析済みのリクエストと、図１２のテーブルとの比較の結果、Ｓ６０３の解析済みのリクエストは「画像変換ファイル指定表示」として特定する。従って、Ｓ６０９で起動対象アプリケーションの情報を特定する。
【００７１】
次にＳ６１０でリクエスト情報生成部４０４を呼び出し、Ｗｅｂアプリケーション４３０が受信可能なファイル形式のＨＴＭＬファイルなどのＨＴＴＰリクエストを生成する。このＨＴＴＰリクエストには、Ｗｅｂブラウザ４４０をクローズする内容のリクエストが記述されている。そしてＳ６１１でリクエスト送信部４０５を呼び出し、Ｓ６１０で生成したＨＴＴＰレスポンスをＷｅｂブラウザ４４０に送信する。このときリクエスト送信部４０５は、通信部４０８を介してＨＴＴＰリクエストを送信する。
【００７２】
次にＷｅｂブラウザ４４０は、Ｓ６１２で通信部４４３を介して、そのＨＴＴＰリクエストを受信する。次にＳ６１３で解析部４４２を呼び出し、Ｓ６１２で受信したＨＴＴＰリクエスト情報の解析結果を画面表示部４４１に渡し、受信リクエストとして画面に表示する。より具体的には、リクエストの内容は表示画面をクローズするリクエストであるため、Ｗｅｂブラウザ４４０の表示画面のクローズを実行する。次にＳ６１４に進み、通信部４４３を介して、Ｓ６１３の受信リクエストが完了したことと通知するためのＨＴＴＰレスポンス情報をアプリケーション切り替えモジュール４００送信する。
【００７３】
これによりアプリケーション切り替えモジュール４００は、Ｓ６１５で、通信部４０８を介してレスポンス受信部４０７を呼び出し、Ｓ６１４で送信されたＨＴＴＰレスポンスを受信する。次にＳ６１６でレスポンス情報解析部４０２を呼び出し、ＨＴＴＰレスポンスで受信した情報を解析することで、クローズリクエストが終了したことを認識する。次にＳ６１７で、リクエスト情報生成部４０４を呼び出し、Native機能モジュール４２０が受信可能な形式の画面表示リクエストを生成する。この画面表示リクエストには、Ｓ６０９で特定した起動対象アプリケーションの情報を含む。そしてＳ６１８でリクエスト送信部４０５を呼び出し、Ｓ６１７で生成された画面表示リクエストをNative機能モジュール４２０に送信する。ここでは図１２に示すように、リクエストの送信元アプリが「画像変換ファイル指定画面（Ｗｅｂブラウザ）」である場合は、起動対象アプリケーションは「送信画面（Nativeアプリ画面）」となっている。
【００７４】
これによりＳ６１８に続いて、Native機能モジュール４２０による処理が開始される。まずＳ６１９で画面表示リクエスト受信部４２３を呼び出し、Ｓ６１８で送信された画面表示リクエストを受信し、どの画面を表示するためのリクエストかを認識する。次にＳ６２０で画面情報管理部４２２を呼び出し、管理している画面情報の一覧を取得する。そして、その取得した一覧情報と、Ｓ６１９で受信したリクエスト情報とを比較することで、Native機能画面で表示対象となる画面情報を特定する。次にＳ６２１で画面表示部４２１を呼び出し、Ｓ６２０で特定した表示対象の画面情報を画面表示部４２１に渡して画面情報を操作画面に表示する。
【００７５】
図１１（Ｂ）は、「画像変換ファイル指定画面」処理の後に、Native機能アプリにより提供される「送信画面」の画面例を示す。この画面は、Ｓ６０９において解析済みのリクエスト情報が切り替えられることにより、ユーザにNativeアプリ機能画面が提供され、Native機能はＷｅｂサーバ１０２より提供される機能を利用することができる。
【００７６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012043154.tif 000003
【図２】
2012043154.tif 000004
【図３】
2012043154.tif 000005
【図４】
2012043154.tif 000006
【図５】
2012043154.tif 000007
【図６】
2012043154.tif 000008
【図７】
2012043154.tif 000009
【図８】
2012043154.tif 000010
【図９】
2012043154.tif 000011
【図１０】
2012043154.tif 000012
【図１１】
2012043154.tif 000013
【図１２】
2012043154.tif 000014