説明

情報処理装置、情報処理システム、情報処理装置の制御方法、及びプログラム

【課題】 Webブラウザに表示された画面に対する、ユーザによる情報入力の手間を軽減する仕組みを提供することを目的とする。
【解決手段】 ネットワークに接続する接続手段(218)と、ネットワーク上のWebサーバから画面データを受信し、当該画面データに基づいて画面を表示するWebブラウザ(404)と、ネットワーク上の外部装置に格納されている情報を取得するために使用されるスクリプトを保持する保持手段(407)とを備える情報処理装置において、Webブラウザによって表示される画面が、ユーザからの情報の入力を受け付ける情報入力画面であるか否かを判定し(S904)、判定の結果、Webブラウザによって表示される画面が情報入力画面であると判定されたことに応じて、保持手段に保持されたスクリプトを実行する(405)

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webサーバから画面データを受信し、当該画面データに基づいて画面を表示するWebブラウザを備える情報処理装置、情報処理システム、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
PCなどの情報処理装置がWebブラウザを備え、ネットワーク上のWebサーバにより提供される画面データ(例えば、HTML(HyperText Markup Language)データ)に基づいて画面を表示することが知られている。情報処理装置のWebブラウザに表示される画面には、Webサーバに備えられたWebアプリケーションを操作するための操作画面が含まれる。
【0003】
既存のWebアプリケーションには、Webアプリケーションを使用するユーザを認証する機能を有するものがある。そのようなWebアプリケーションを使用する場合は、最初に、ユーザ情報を入力するためのフォームを含むHTMLデータがWebアプリケーションからWebブラウザに提供される。そして、Webブラウザに表示される画面を介してユーザがユーザ名やパスワード等のユーザ情報を入力した後、Webアプリケーションにフォーム内容(入力済みのユーザ情報)を送信すると、Webアプリケーション側でユーザ認証が行われる。
Webブラウザに表示される画面にユーザ情報を入力する際の手間を軽減するための技術として、例えば特許文献1が知られている。
【0004】
特許文献1には、ユーザが複数のWebアプリケーションを使用する環境の場合に、Webアプリケーション毎に異なるユーザ情報を全て記憶しておかなければならないという課題を解決すべく、シングルサインオンを実現することが記載されている。具体的に、特許文献1では、WebブラウザがWebアプリケーションの画面を表示している状態で、ブックマークとして保持されているスクリプトをユーザが選択すると、スクリプトの定義に従って認証装置へのアクセスが実行される。そして、アクセス先の認証装置によってユーザが認証されたことを条件として、Webアプリケーションの使用が許可される。これにより、ユーザは、Webアプリケーション毎に異なるユーザ情報を全て記憶しておく必要がなくなる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−257500号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
Webアプリケーションによるユーザ認証のために、Webブラウザに表示される画面にユーザ情報を入力する場合、Webアプリケーションを使用する毎に繰り返しユーザ情報を入力しなければならないという手間が発生する。
【0007】
これに対して、ユーザが一度入力したユーザ情報を、ユーザ毎に区別してWebブラウザ内に保持しておき、Webブラウザで画面を表示する際に、保持しておいたユーザ情報を画面内に自動的に設定すること(オートコンプリート)が知られている。
【0008】
しかしながら、従来の方法でオートコンプリートを実現するためには、全ユーザに対応する情報をWebブラウザ内に保持する必要があり、情報処理装置のメモリリソースを浪費してしまうという問題がある。また、同一のユーザが複数の情報処理装置を使用する環境では、それぞれの情報処理装置のWebブラウザに自分のユーザ情報を保持させておかなければならないという問題もある。
【0009】
特許文献1では、Webアプリケーションを使用する毎に繰り返しユーザ情報を入力しなければならない。また、ブックマークとして保持されているスクリプトをユーザが手動で選択するための余計な手間がかかってしまう。
【0010】
本発明は、上記の問題点に鑑みなされたものであり、Webブラウザに表示された画面に対する、ユーザによる情報入力の手間を軽減する仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するために本発明の情報処理装置は、ネットワークに接続する接続手段と、前記ネットワーク上のWebサーバから画面データを受信し、当該画面データに基づいて画面を表示するWebブラウザと、前記ネットワーク上の外部装置に格納されている情報を取得するために使用されるスクリプトを保持する保持手段と、前記Webブラウザによって表示される画面が、ユーザからの情報の入力を受け付ける情報入力画面であるか否かを判定する判定手段と、前記判定手段による判定の結果、前記Webブラウザによって表示される画面が前記情報入力画面であると判定されたことに応じて、前記保持手段に保持されたスクリプトを実行する実行手段と、を備えることを特徴とする。
【発明の効果】
【0012】
Webブラウザに表示された画面に対する、ユーザによる情報入力の手間を軽減する仕組みを提供することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態における情報処理システムの全体図である。
【図2】本発明の実施形態におけるMFP101の構成を示すブロック図である。
【図3】本発明の実施形態におけるWebサーバ102の構成を示すブロック図である。
【図4】本発明の実施形態におけるMFP101のソフトウェア構成を示す図である。
【図5】本発明の実施形態におけるURL管理テーブルを示す図である。
【図6】本発明の実施形態におけるフォームデータ管理サーバ103のソフトウェア構成を示す図である。
【図7】本発明の実施形態におけるフォームデータ管理テーブルを示す図である。
【図8】本発明の実施形態におけるWebサーバ102のソフトウェア構成を示す図である。
【図9】本発明の実施形態におけるWebブラウザ監視部407の動作を説明するフローチャートである。
【図10】本発明の実施形態における情報処理システム全体の動作を説明するシーケンス図である。
【図11】本発明の実施形態におけるMFP101の画面を示す図である。
【図12】本発明の実施形態におけるWebアプリケーション810が応答するHTMLデータの例である。
【図13】本発明の実施形態におけるMFP101の画面を示す図である。
【図14】本発明の実施形態におけるWebブラウザ監視部407がWebブラウザ404に対してロードを指示するスクリプトの例である。
【図15】本発明の実施形態におけるスクリプト応答部614が応答するスクリプトの例である。
【図16】本発明の実施形態におけるMFP101の画面を示す図である。
【図17】本発明の実施形態における情報処理システム全体の動作を説明するシーケンス図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0015】
図1は、本実施形態における情報処理システムの全体図である。システムには、情報処理装置の一例であるMFP(Multi Function Peripheral)101、Webサーバ102、及び外部装置の一例であるフォームデータ管理サーバ103が含まれる。システムに含まれるMFP101、Webサーバ102、及びフォームデータ管理サーバ103は、LAN(Local Area Network)110を介して互いに通信可能である。なお、図示する装置以外の装置がLAN110上(ネットワーク上)に接続され、システムの一部を構成していても構わない。
【0016】
図2は、MFP101の構成を示すブロック図である。CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。これにより、MFP101は、コピー/スキャン(送信)/プリント等の各種サービスを提供することができる。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【0017】
HDD214は、画像データや各種プログラムを記憶する。操作部I/F215は、操作部219と制御部210を接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。
プリンタI/F216は、プリンタ220と制御部210を接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210から転送され、プリンタ220において記録媒体上に印刷される。
スキャナI/F217は、スキャナ221と制御部210を接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する。ネットワークI/F218は、LAN110上の装置(例えば、Webサーバ102やフォームデータ管理サーバ103)との通信を制御する。
【0018】
図3は、Webサーバ102の構成を示すブロック図である。なお、フォームデータ管理サーバ103もWebサーバ102と同様の構成である。CPU311を含む制御部310は、Webサーバ102全体の動作を制御する。CPU311は、ROM312に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する。
ネットワークI/F315は、制御部310(Webサーバ102)をLAN110に接続する。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
【0019】
図4は、MFP101のソフトウェア構成を示す図である。図示した各機能部は、MFP101のHDD214に格納されたプログラムを、MFP101のCPU211が実行することによって実現される。なお、MFP101には、図示した機能部以外にも、各種の機能部が備えられている。
メニュー管理部401は、MFP101の各ソフトウェアモジュール(機能部)を起動するためのメニュー画面を表示するための機能部である。コピー画面や後述するWebブラウザの画面等の表示を指示するためのGUI(Graphical User Interface)ボタンを一覧で表示する。また、ユーザによってボタンが押下されたことに応じて、対応するソフトウェアモジュール(機能部)を起動させる。
ログイン部402は、MFP101を操作するユーザを識別するために、MFP101の使用開始時にユーザからユーザ情報の入力を受け付けてユーザ認証を行う。なお、ここでのユーザ情報の入力は、後述するWebブラウザの画面ではなく、MFP101内に保持されている画面データに基づいて表示される画面で受け付ける。また、ユーザ情報の入力方法としては、操作部219に表示されたソフトウェアキーボードをユーザがタイプして入力する方法、或いは、ICカードに格納されたユーザ情報を読み出して入力する方法等が考えられる。また、ユーザ情報の照合はログイン部402が行うものとするが、ユーザ情報のデータベースを管理する管理サーバを外部に設け、ユーザ情報の照合を管理サーバ側で行うようにしても構わない。ログイン部402は、ユーザ認証が成功した場合に、ユーザによるMFP101の使用を許可する。
【0020】
HTTP(HyperText Transfer Protocol)通信部403は、ネットワークI/F218を制御し、HTTPに従った通信を実行する。Webブラウザ404は、HTTP通信部403を介してWebサーバ102と通信を行う。Webブラウザ404は、操作部219を介してユーザから指定されたURL(Uniform Resource Locator)を使用し、当該URLに対応するHTMLデータを、Webサーバ102に備えられたWebアプリケーションに対して要求する。また、この要求に対する応答としてWebアプリケーションから送信されたHTMLデータを受信し、受信したHTMLデータに基づく画面を操作部219に表示する。
スクリプト実行部405は、Webブラウザ404が読み込んだスクリプト(例えば、Java(登録商標)Script)を解釈し、Webブラウザ404上に表示されるコンテンツを操作したり、HTTP通信403による通信を実行させる。
【0021】
ログインユーザ管理部406は、MFP101にログインしているユーザ(ログイン部402によって認証されたユーザ)のユーザ名やメールアドレス等のユーザ情報を管理する。また、ログインユーザ管理部406は、ログイン部402によって認証される各ユーザが使用可能なMFP101の機能を管理しており、認証されたユーザに応じて各機能の使用可否(実行可否)を判断することができる。本実施形態においては、ログインユーザ管理部406において、認証されたユーザ毎に、後述するWebブラウザのオートコンプリート機能の使用可否が判断される。
【0022】
Webブラウザ監視部407は、Webブラウザ404の動作を監視する。具体的に、Webブラウザ監視部407は、Webブラウザ404がWebサーバ102からHTMLデータを受信するために使用したURL、Webブラウザ404によるHTMLデータのロードが完了したか否か、或いは、画面の表示が完了したか否かを判断する。
【0023】
また、Webブラウザ監視部407は、図14で後述するスクリプトを予め保持しており、Webブラウザ404の動作に応じて自動的に、Webブラウザ404に対してスクリプトのロードを指示する。なお、本実施形態では、Webブラウザ404がHTMLデータを受信するために使用したURLが特定のURLである場合に、スクリプトのロードを指示するものとする。
【0024】
図5は、Webブラウザ監視部407が保持するURL管理テーブルを示す。Webブラウザ監視部407は、URL管理テーブルに含まれるURLと一致するURLを使用してWebブラウザ404がHTMLデータを受信したことを条件として、Webブラウザ404に対してスクリプトのロードを指示する。なお、URL管理テーブルでは、個別のURLを管理しても良いし、ドメイン単位でURLを管理しても良い。また、URL管理テーブルで管理するURLは、操作部219を介してユーザが登録しても良いし、LAN110を介して外部からの指示に基づいて登録しても良い。
【0025】
図6は、フォームデータ管理サーバ103のソフトウェア構成を示す図である。図示した各機能部は、フォームデータ管理サーバ103のHDD314に格納されたプログラムを、フォームデータ管理サーバ103のCPU311が実行することによって実現される。なお、フォームデータ管理サーバ103には、図示した機能部以外にも、各種の機能部が備えられている。フォームデータ管理サーバ103には、「formdataserver.xxx.yyy」というドメイン名を用いてアクセスすることが可能であるものとする。
【0026】
フォームデータ管理アプリケーション610は、LAN110上の装置からの要求に応じて、フォームデータやスクリプトの応答を行う。HTTP通信部611は、LAN110を介してHTTP要求を受信し、フォームデータ応答部612やスクリプト応答部614から受け取った情報をHTTP応答として送信する。
【0027】
フォームデータ応答部612は、HTTP通信部611を介して受け取る外部からの要求に応じてフォームデータに関する処理を行う。具合的には、「https://formdataserver.xxx.yyy/loadService」というURLにアクセスされた場合は、フォームデータ管理テーブルに保存されているフォームデータを応答する。また、「https://formdataserver.xxx.yyy/saveService」というURLにアクセスされた場合は、フォームデータをフォームデータ管理テーブルに新たに保存する。
【0028】
スクリプト応答部614は、HTTP通信部611を介して受け取る外部からの要求に応じてスクリプトを応答する処理を行う。具体的には、「https://formdataserver.xxx.yyy/js/main.js」というURLにアクセスされた場合に、スクリプト応答部614が予め保持しているスクリプトを応答する。
【0029】
図7は、フォームデータ管理部613が保持するフォームデータ管理テーブルを示す。列701には、MFP101のWebブラウザ404がHTMLデータを受信するために使用するURLが格納されている。このURLによって、MFP101のWebブラウザ404がアクセスするWebアプリケーション毎に区別して、フォームデータが管理されている。
列702には、MFP101にログインする(ログイン部402によって認証される)ユーザのユーザ名が格納されている。このユーザ名によって、MFP101を操作するユーザ毎に区別して、フォームデータが管理されている。
列703には、MFP101のWebブラウザ404が受信するHTMLデータに含まれるフォームの要素名が格納されている。この要素名によって、MFP101のWebブラウザ404が受信するHTMLデータに含まれるフォームの種類毎に区別して、フォームデータが管理されている。
列704には、MFP101のWebブラウザ404が受信するHTMLデータに含まれるフォームに対して入力すべき値が格納されている。
図7において、「user1」というユーザ名でMFP101にログインし、「http://www.serverA.xxx.yyy/service1/login.html」のURLを使用してHTMLデータを受信した場合を例として説明する。この場合、1行目のレコードに格納されている要素名「username」および値「xxx」、及び2行目のレコードに格納されている要素名「password」および値「yyy」がWebブラウザ404に応答される。Webブラウザ404は、HTMLデータに含まれる「username」という要素名のフォームに対して、「xxx」という値を設定する。また、Webブラウザ404は、HTMLデータに含まれる「password」という要素名のフォームに対して、「yyy」という値を設定する。この一連の処理により、MFP101のユーザが「xxx」という値を手動で入力する手間を省くことができる。
【0030】
図8は、Webサーバ102のソフトウェア構成を示す図である。図示した各機能部は、Webサーバ102のHDD314に格納されたプログラムを、Webサーバ102のCPU311が実行することによって実現される。
Webアプリケーション810は、MFP101のWebブラウザ404からの要求に対する応答として、ユーザを認証するために使用されるユーザ情報の入力を受け付けるユーザ情報入力画面を表示するためのHTMLデータを送信する。このHTMLデータには、上述したフォームが含まれる。Webアプリケーション810は、その他にも、MFP101に対するユーザの指示を受け付ける画面を表示するためのHTMLデータや、MFP101に対する画像処理の実行指示等を送信する。
プレゼンテーション部811は、HTTP通信部813を介して、MFP101のWebブラウザ404にHTMLデータを提供する。また、プレゼンテーション部811は、HTTP通信部813を介して、Webブラウザ404から送信されてくるフォームデータを受け取る。
【0031】
ロジック部812は、プレゼンテーション部811を介して受け取ったフォームデータに関する処理を行う。本実施形態では、フォームデータとしてWebブラウザ404から送信されるユーザ情報(Webブラウザ404に表示された画面上で、ユーザが手動で入力したもの、或いは、オートコンプリート機能を用いて入力されたもの)に関する処理を行う。この処理とは、例えば、予めデータベースに管理しているユーザ情報との照合を行い、一致するものが存在する場合に、Webアプリケーション810の使用を許可する処理である。Webアプリケーション810の使用を許可する場合は、Webアプリケーション810の操作画面を表示するためのHTMLデータをWebブラウザ404に応答する。
【0032】
図9は、MFP101において、Webブラウザ監視部407がWebブラウザ404におけるHTMLデータのロード(画面の表示)を監視し、Webブラウザ404に対してスクリプトのロードを指示する処理を説明するフローチャートである。図9のフローチャートは、ログイン部402によるユーザ認証が成功し、ユーザがMFP101の使用を開始したときに実行される。なお、図9のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
ステップS901では、ログインユーザ管理部406に対する問い合わせを行い、現在MFP101を操作しているユーザが、オートコンプリート機能の使用が許可されたユーザであるか否かを判定する。判定の結果、オートコンプリート機能の使用が許可されたユーザである場合はステップS902に進み、オートコンプリート機能の使用が許可されたユーザでなければ処理を終了する。
ステップS902では、Webブラウザ404が操作部219に表示中であるか否かを判定する。この判定は、Webブラウザ404が起動中であるか否かに基づいても良いし、Webブラウザ404が操作部219の最前面に表示されているか否かに基づいても良い。判定の結果、Webブラウザ404が表示中である場合はステップS903に進み、Webブラウザ404が表示中でなければステップS906に進む。
ステップS903では、Webブラウザ404によるHTMLデータのロード(画面の表示)が完了したか否かを判定する。ここでは、HTMLデータのロードを完了したWebブラウザ404がその旨を能動的にWebブラウザ監視部407に通知するものとするが、Webブラウザ監視部407からWebブラウザ404に対して定期ポーリングで問い合わせをするようにしても良い。判定の結果、HTMLデータのロードが完了した場合はステップS904に進み、HTMLデータのロードが完了していなければステップS906に進む。
ステップS904では、現在Webブラウザ404がロードしているHTMLデータの受信に使用されたURLが、図5のURL管理テーブルに含まれるURLと一致するか否かを判定する。判定の結果、URLが一致する場合はステップS905に進み、URLが一致しない場合はステップS906に進む。ここでURLが一致する場合とは、Webブラウザによって表示される画面が、ユーザからの情報の入力を受け付ける情報入力画面(ユーザ情報入力画面)であることを意味している。
ステップS905では、後述するオートコンプリート処理を行うために、Webブラウザ監視部407内に保持されているスクリプトのロードをWebブラウザ404に指示する。ステップS906では、MFP101からユーザがログアウトしたかどうかを判定する。ユーザがログアウトした場合は処理を終了し、ユーザがログアウトしていない場合はステップS902に戻る。
【0033】
図10は、本実施形態におけるオートコンプリート処理の全体シーケンスを示す図である。ユーザ(ユーザ名が「user1」であり、オートコンプリートが許可されているユーザであるものとする)がMFP101にログインすると、最初は、メニュー管理部401によってメニュー画面が表示される。
【0034】
図11は、メニュー管理部401によって表示されるメニュー画面を示す図である。メニュー画面には、コピーアプリケーションの利用を指示するためのGUIボタン1101及びファクスアプリケーションの利用を指示するためのGUIボタン1102が表示される。なお、コピーアプリケーション及びファクスアプリケーションは、MFP101内に備えられているアプリケーションであって、これらのアプリケーションを使用する場合は、Webブラウザ404は使用されない。
GUIボタン1103及び1104は、それぞれLAN110上のWebサーバ102に備えられたWebアプリケーションの利用を指示するためのGUIボタンである。GUIボタン1103及び1104には、それぞれ異なるURLが割り付けられている。ここでは、GUIボタン1103に、Webアプリケーション810に対応するURLが対応付けられているものとする。
GUIボタン1103が押下されると、ステップS1011において、メニュー管理部401がWebブラウザ404を起動させるとともに、操作部219の最前面にWebブラウザ404が表示されるように制御する。また、GUIボタン1103に割り付けられているURLを使用して、Webアプリケーション810に対するHTMLデータの要求を行うようにWebブラウザ404に指示する。
【0035】
ステップS1002では、Webブラウザ404が、メニュー管理部401からの指示に従って、Webアプリケーション810に対してHTMLデータを要求する。
ステップS1003では、Webアプリケーション810が、ユーザを認証するために使用するユーザ情報の入力を受け付けるユーザ情報入力画面を表示するためのHTMLデータを応答する。
【0036】
図12に、ステップS1003でWebアプリケーション810が応答するHTMLデータを示す。なお、本実施形態の画面データはHTML形式で記述されたものであるが、説明を簡略化するためにスタイルシートの設定等については省略する。
inputタグ1201は、ユーザ名を入力するための要素である。inputタグ1202は、パスワードを入力するための要素である。inputタグ1203は、フォームに入力された情報(ここでは、ユーザ情報)をサブミットするための要素である。
Webアプリケーション810から受け取ったHTMLデータをWebブラウザがロードし、画面の表示が完了した後、ステップS1004において、Webブラウザ404は、Webブラウザ監視部407に対してロード完了を通知する。
【0037】
図13は、図12に示すHTMLデータに基づいてWebブラウザ404に表示される画面を示す。GUI画面1300には、inputタグ1201に基づいてユーザ名を入力するためのテキストボックスコントロール1301が表示される。また、inputタグ1202に基づいてパスワードを入力するためのパスワードコントロール1302が表示される。また、inputタグ1203に基づいてサブミットボタン1303が表示される。
ステップS1005では、Webブラウザ監視部407がWebブラウザ404に対して、スクリプトのロードを指示する。この処理は、図9のステップS905の処理に対応する処理である。
【0038】
図14は、Webブラウザ監視部407がWebブラウザ404に対してロードを指示するスクリプトの例である。図14は、説明を簡略化するために改行しているが、実際には改行やスペースのない文字列である。
図14に示すスクリプトは、1401のURLを外部スクリプトとしてHTMLデータに追加(画面データを書き換え)することを定義している。1401のURLは、「スクリプト応答部614のURL」に、「現在Webブラウザ404がロードしているHTMLデータを受信するために使用したURL」及び「現在MFP101にログインしているユーザのユーザ名」をクエリとして結合したものである。
【0039】
「スクリプト応答部614のURL」は、Webブラウザ監視部407が予め保持している情報である。「現在Webブラウザ404がロードしているHTMLデータを受信するために使用したURL」及び「現在MFP101にログインしているユーザのユーザ名」は、MFP101の状態に応じて動的に決定される情報である。
【0040】
なお、図14に示すスクリプトに、同一のスクリプトを同一のHTMLデータに2回以上ロードしないようにするための記述を加えるとなお良い。
ステップS1006では、Webブラウザ404が、Webブラウザ監視部407からロード指示されたスクリプトの実行を、スクリプト実行部405に対して指示する。この指示に応じて、スクリプト実行部405は、図14のスクリプトを実行する。
【0041】
図14のスクリプトには、上述した通り、HTMLデータの書き換えが定義されているため、スクリプト実行部405がスクリプトを実行した結果、ステップS1007において、WebブラウザがロードしているHTMLデータに対して1401が追記される。
【0042】
ステップS1008では、Webブラウザ404が、ステップS1007におけるスクリプトタグの追記に応じて、フォームデータ管理アプリケーション610に対して、スクリプト(第2のスクリプト)を要求する。この要求には、1401に示される通り、「現在Webブラウザ404がロードしているHTMLデータを受信するために使用したURL」及び「現在MFP101にログインしているユーザのユーザ名」が含まれている。
ステップS1009では、フォームデータ管理アプリケーション610のスクリプト応答部614が、スクリプトをWebブラウザ404に応答する。このとき、スクリプト応答部614は、フォームデータ管理部613が保持するフォームデータ管理テーブルにアクセスし、クエリ文字列に含まれる「URL」及び「ユーザ名」に対応する行を決定する。
【0043】
スクリプト応答部614は、決定した行にアクセスするためのIDを、フォームデータ管理部613に発行させる。ここではIDとして「0123456789」が発行されるものとする。このIDを用いることで、フォームデータ管理テーブルに含まれるフォームデータを取得することが可能となるが、フォームデータ管理テーブルに対するアクセスが所定時間以上ない場合は、IDが無効化される。
【0044】
図15は、スクリプト応答部614が応答するスクリプトの例である。1501は、オートコンプリートのためのフォームデータをフォームデータ管理アプリケーション610に対して要求し、Webブラウザ404にロードされたHTMLデータに含まれる要素に値を設定するファンクションを示す。
1502は、フォームデータ管理アプリケーション610から取得したフォームデータを、Webブラウザ404がロードしているHTMLデータに含まれる要素に値を設定するスクリプトである。
1503は、「https://formdataserver.xxx.yyy/loadService」のURLで示されるフォームデータ応答部614のフォームデータ取得サービスに対して、フォームデータを要求するスクリプトである。この要求には、フォームデータ管理部613が前もって発行したID「0123456789」が含まれる。
1504は、Webブラウザ404により表示された画面を介してユーザが入力したフォームデータ(ここでは、ユーザ情報)をフォームデータ管理アプリケーション610に送信し、保存させるためのファンクションを示す。
1505は、HTMLデータに含まれるフォームから、要素名および値を読み取って、「reqdata」という変数に設定するスクリプトである。
1506は、「https://formdataserver.xxx.yyy/saveService」のURLで示されるフォームデータ応答部614のフォームデータ保存サービスに対して前述の「reqdata」の保存を要求するスクリプトである。この要求には、フォームデータ管理部613が前もって発行したID「0123456789」が含まれる。
1507は、図15のスクリプトが読み込まれたときに自動的に実行するファンクションを示す。
1508は、Webブラウザ404がロードしているHTMLデータに、1501のファンクションを呼び出すための表示オブジェクト(ボタン)を追加するスクリプトである。
1509は、Webブラウザ404がロードしているHTMLデータに、1504のファンクションを呼び出すための表示オブジェクト(ボタン)を追加するスクリプトである。
1510は、1501のファンクションを呼び出すためのスクリプトである。
【0045】
ステップS1010では、Webブラウザ404が、フォームデータ管理アプリケーション610から応答されたスクリプトの実行を、スクリプト実行部405に対して指示する。この指示に応じて、スクリプト実行部405は、図15のスクリプトを実行する。
ステップS1011では、スクリプト実行部405が1508及び1509のスクリプトを実行し、Webブラウザ404がロードしているHTMLデータに、GUIボタンを表示するためのデータを追加する。続いて、1510のスクリプトを実行することにより、1501のファンクションが呼び出され、1503のスクリプトが実行される。
ステップS1012では、スクリプト実行部405が1503のスクリプトを実行した結果として、フォームデータ管理アプリケーション610に対するフォームデータの要求が行われる。この要求を受けたフォームデータ管理アプリケーション610では、フォームデータ管理テーブルに含まれるフォームデータのうち、要求に含まれるIDに対応するフォームデータを、フォームデータ応答部612が応答する。
【0046】
図7の場合、「http://www.serverA.xxx.yyy/service1/login.html」及び「user1」の2つのキーに一致する要素名と値(「username」「xxx」「password」「yyy」)が応答される。
【0047】
スクリプト実行部405は、フォームデータ管理アプリケーション610からの応答を受け取った後、スクリプト1502を実行する。
ステップS1014では、スクリプト1502を実行した結果として、フォームデータ管理アプリケーション610から取得したフォームデータを、Webブラウザ404がロードしているHTMLデータに設定すべく、HTMLデータの書き換えを行う。
【0048】
図16は、ステップS1011及びステップS1014の処理が行われた結果、Webブラウザ404に表示される画面を示す。GUIボタン1601及びGUIボタン1602は、ステップS1011におけるHTMLデータの書き換えによって追加される表示オブジェクトである。また、ステップS1014の処理の結果として、1603及び1604に示す通り、テキストボックスコントロール1301及びパスワードコントロール1302にユーザ名及びパスワードがオートコンプリート(プリセット)される。なお、1604には実際には「yyy」という値が設定されているが、内容がパスワードであるため画面上では「***」と表示されている。
【0049】
図16のようにユーザ情報がオートコンプリートされた状態から、ユーザが1603及び1604の内容を誤って変更してしまったときは、GUIボタン1601を押下することにより、再度オートコンプリートの処理を実行させることができる。ユーザによってGUIボタン1601が押下されると、Webブラウザ404がスクリプト実行部405を呼び出し、1501のスクリプトを実行させる。
【0050】
次に、Webブラウザ404によって表示されている画面にユーザが手動で入力したユーザ情報を次回以降のログインのためにフォームデータ管理アプリケーション610に新たに保存する処理について説明する。
【0051】
図17は、本実施形態におけるフォームデータ保存処理の全体シーケンスを示す図である。図17に示すシーケンスは、図16に示す画面がWebブラウザ404によって表示されている状態で、ユーザが手動で情報入力した後、GUIボタン1602を押下すると開始される。
【0052】
ステップS1701では、Webブラウザ404がスクリプト実行部405に対して、図5の1504に示すスクリプトの実行を指示する。
ステップS1702では、スクリプト実行部405が1504のスクリプトを実行した結果として、フォームデータ管理アプリケーション610に対してフォームデータの保存を要求する。この要求には、フォームの要素名及び値、更に前もって発行されているIDが含まれる。フォームデータ管理アプリケーション610側では、スクリプト実行部405からの要求に応じて、フォームデータ管理テーブルの内容を更新する。
【0053】
以上説明した通り、本実施形態によれば、特定のURLを使用したHTMLデータの受信(及び画面の表示)が行われたときに、外部のフォームデータ管理アプリケーション610に管理されているフォームデータがオートコンプリートされる。これにより、例えば、Webアプリケーション810にログインするためのユーザ情報入力画面に入力が必要なユーザ情報をユーザが入力する手間を省くことができる。
【0054】
なお、ユーザ認証に使用されるユーザ情報をオートコンプリートする例を説明したが、オートコンプリートの対象とする情報はこれに限らず、例えば、検索キーワードや定型の挨拶文などを対象としても良い。また、オートコンプリートの対象はキーワードだけに限らず、プルダウンからの選択やチェックボックスに対するチェックの入力に応用することも可能である。
【0055】
また、図10のステップS1008、S1009、S1012、S1013では、スクリプト実行部405やWebブラウザ404がフォームデータ管理アプリケーション610と通信しているが、これをWebブラウザ監視部407が仲介するようにしても良い。この場合は、フォームデータ管理アプリケーション610側がHTTP以外の通信プロトコルに対応するものであっても良いという利点がある。
【0056】
また、図14のスクリプトをWebブラウザ監視部407が保持する例について説明したが、代わりに、Webブラウザ404がブックマークとして保持するようにしても構わない。この場合、図10のS1005におけるスクリプトロード指示では、Webブラウザ監視部407がブックマークIDを指定し、Webブラウザ404は指定されたブックマークIDに対応するブックマーク情報(図14のスクリプト)をロードする。
【0057】
<他の実施形態>
本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0058】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。

【特許請求の範囲】
【請求項1】
ネットワークに接続する接続手段と、
前記ネットワーク上のWebサーバから画面データを受信し、当該画面データに基づいて画面を表示するWebブラウザと、
前記ネットワーク上の外部装置に格納されている情報を取得するために使用されるスクリプトを保持する保持手段と、
前記Webブラウザによって表示される画面が、ユーザからの情報の入力を受け付ける情報入力画面であるか否かを判定する判定手段と、
前記判定手段による判定の結果、前記Webブラウザによって表示される画面が前記情報入力画面であると判定されたことに応じて、前記保持手段に保持されたスクリプトを実行する実行手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記情報入力画面は、ユーザを認証するために使用されるユーザ情報の入力を受け付けるユーザ情報入力画面であって、
前記保持手段によって保持されたスクリプトは、前記外部装置に格納されているユーザ情報を取得するために使用されるものであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判定手段は、前記Webブラウザが前記画面データを受信するために使用したURLに基づいて前記判定を行うことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記保持手段は、前記外部装置に格納されている情報を取得するために使用されるスクリプトを、前記Webブラウザのブックマークとして保持することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
【請求項5】
前記保持手段に保持されたスクリプトには、第2のスクリプトの取得が定義されていることを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2のスクリプトは、前記外部装置に保持されていることを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記第2のスクリプトには、前記情報入力画面に対する表示オブジェクトの追加が定義されていることを特徴とする請求項5または6に記載の情報処理装置。
【請求項8】
前記第2のスクリプトには、前記情報入力画面に対してユーザが入力した情報の前記外部装置への格納が定義されていることを特徴とする請求項5から7のいずれか1項に記載の情報処理装置。
【請求項9】
前記情報処理装置を操作しているユーザに応じて、前記保持手段に保持されたスクリプトの実行可否を判断する判断手段を更に備えることを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
【請求項10】
情報処理装置と外部装置を含む情報処理システムであって、
前記情報処理装置は、
ネットワークに接続する接続手段と、
前記ネットワーク上の前記Webサーバから画面データを受信し、当該画面データに基づいて画面を表示するWebブラウザと、
前記ネットワーク上の前記外部装置に格納されている情報を取得するために使用されるスクリプトを保持する保持手段と、
前記Webブラウザによって表示される画面が、ユーザからの情報の入力を受け付ける情報入力画面であるか否かを判定する判定手段と、
前記判定手段による判定の結果、前記Webブラウザによって表示される画面が前記情報入力画面であると判定されたことに応じて、前記保持手段に保持されたスクリプトを実行する実行手段と、
を備えることを特徴とする情報処理システム。
【請求項11】
ネットワークに接続する接続手段と、前記ネットワーク上のWebサーバから画面データを受信し、当該画面データに基づいて画面を表示するWebブラウザと、前記ネットワーク上の外部装置に格納されている情報を取得するために使用されるスクリプトを保持する保持手段と、を備える情報処理装置の制御方法であって、
前記Webブラウザによって表示される画面が、ユーザからの情報の入力を受け付ける情報入力画面であるか否かを判定する判定工程と、
前記判定工程における判定の結果、前記Webブラウザによって表示される画面が前記情報入力画面であると判定されたことに応じて、前記保持手段に保持されたスクリプトを実行する実行工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項12】
請求項11に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−185651(P2012−185651A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−47911(P2011−47911)
【出願日】平成23年3月4日(2011.3.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】