(57)【特許請求の範囲】
【請求項１】
サーバ装置と、該サーバ装置が提供する外部アプリケーションを利用可能な情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
現在設定されている設定情報で処理を実行させるためのカスタムボタンを登録するための登録ボタンを含む前記外部アプリケーションの操作画面を表示部に表示する第１表示制御手段と、
前記登録ボタンが押下されると、前記現在設定されている設定情報に関するアクションデータの登録要求を、該現在設定されている設定情報とともに前記サーバ装置に通知する第１通知手段と、
前記カスタムボタンに関するボタンデータを格納するボタンデータ格納手段と、
前記カスタムボタンの表示が指示されると、前記ボタンデータ格納手段に格納されたボタンデータに基づき、前記カスタムボタンを前記表示部に表示する第２表示制御手段と
を備え、
前記サーバ装置は、
前記アクションデータの登録要求を受信すると、受信した前記現在設定されている設定情報をアクションデータとして格納するアクションデータ格納手段を備えることを特徴とする情報処理システム。
【請求項２】
前記情報処理装置は、
前記表示部に表示された前記カスタムボタンが押下されると、該カスタムボタンに対応する前記ボタンデータを用いて、前記サーバ装置に対して、画面情報の提供を要求する要求手段をさらに備え、
前記サーバ装置は、
前記要求手段の要求に対応するアクションデータを前記アクションデータ格納手段から読み出し、読み出した該アクションデータを用いて前記画面情報を生成して前記情報処理装置に送信する送信手段をさらに備え、
前記第１表示制御手段は、前記サーバ装置から提供された画面情報を用いて、前記登録ボタンが押下された際に設定されていた設定情報を反映した前記外部アプリケーションの操作画面を前記表示部に表示することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、
登録されている前記カスタムボタンを選択可能に表示するとともに、選択された該カスタムボタンを削除する削除ボタンを前記表示部に表示する第３表示制御手段と、
前記カスタムボタンが選択された状態で前記削除ボタンが押下された場合に、選択された前記カスタムボタンに対応する前記アクションデータの削除要求を前記サーバ装置に通知する第３通知手段と、
削除された前記アクションデータに対応する前記ボタンデータを削除する第１削除手段と
をさらに備え、
前記サーバ装置は、
前記削除要求を受信すると、対応する前記アクションデータを削除する第２削除手段をさらに備えることを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記情報処理装置は、
前記削除ボタンを押下したユーザが当該カスタムボタンを削除する権限を有し、かつ、該カスタムボタンが使用中でない場合に、対応する前記アクションデータ及び前記ボタンデータの削除を指示する手段をさらに備えることを特徴とする請求項３に記載の情報処理システム。
【請求項５】
１つの前記ボタンデータは、複数の前記サーバ装置の情報に対応付けられ、
前記要求手段は、複数の前記サーバ装置のうち、前記情報処理装置と現在通信可能なサーバ装置に前記画面情報の提供を要求することを特徴とする請求項２に記載の情報処理システム。
【請求項６】
前記第１表示制御手段は、Ｗｅｂブラウザ機能を用いて前記外部アプリケーションの操作画面を表示することを特徴とする請求項１乃至５のいずれか１項に記載に情報処理システム。
【請求項７】
前記情報処理装置は、
原稿上の画像を読み取って画像データを生成する生成手段と、
前記生成手段により生成された画像データを印刷する印刷手段と
を更に備え、
前記外部アプリケーションは、前記生成手段及び前記印刷手段を用いたコピー処理を実行するためのアプリケーションであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理システム。
【請求項８】
前記情報処理装置には、内部アプリケーションが備えられ、
前記ボタンデータ格納手段には、前記内部アプリケーションに対応するボタンデータが更に格納されることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理システム。
【請求項９】
サーバ装置が提供する外部アプリケーションを利用可能な情報処理装置であって、
現在設定されている設定情報で処理を実行させるためのカスタムボタンを登録するための登録ボタンを含む前記外部アプリケーションの操作画面を表示部に表示する第１表示制御手段と、
前記登録ボタンが押下されると、前記現在設定されている設定情報に関するアクションデータの登録要求を、該現在設定されている設定情報とともに前記サーバ装置に通知する第１通知手段と、
前記カスタムボタンに関するボタンデータを格納するボタンデータ格納手段と、
前記カスタムボタンの表示が指示されると、前記ボタンデータ格納手段に格納されたボタンデータに基づき、前記カスタムボタンを前記表示部に表示する第２表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項１０】
前記表示部に表示された前記カスタムボタンが押下されると、該カスタムボタンに対応する前記ボタンデータを用いて、前記サーバ装置に対して、画面情報の提供を要求する要求手段を更に備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記第１表示制御手段は、Ｗｅｂブラウザ機能を用いて前記外部アプリケーションの操作画面を表示することを特徴とする請求項９又は１０に記載に情報処理装置。
【請求項１２】
原稿上の画像を読み取って画像データを生成する生成手段と、
前記生成手段により生成された画像データを印刷する印刷手段と
を更に備え、
前記外部アプリケーションは、前記生成手段及び前記印刷手段を用いたコピー処理を実行するためのアプリケーションであることを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記情報処理装置には、内部アプリケーションが備えられ、
前記ボタンデータ格納手段には、前記内部アプリケーションに対応するボタンデータが更に格納されることを特徴とする請求項９乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
サーバ装置と、該サーバ装置が提供する外部アプリケーションを利用可能な情報処理装置とを含む情報処理システムの制御方法であって、
前記情報処理装置において、
第１表示制御手段が、現在設定されている設定情報で処理を実行させるためのカスタムボタンを登録するための登録ボタンを含む前記外部アプリケーションの操作画面を表示部に表示するステップと、
第１通知手段が、前記登録ボタンが押下されると、前記現在設定されている設定情報に関するアクションデータの登録要求を、該現在設定されている設定情報とともに前記サーバ装置に通知するステップと、
ボタンデータ格納手段が、前記カスタムボタンに関するボタンデータを格納するステップと、
第２表示制御手段が、前記カスタムボタンの表示が指示されると、前記ボタンデータ格納手段に格納されたボタンデータに基づき、前記カスタムボタンを前記表示部に表示するステップと
を実行し、
前記サーバ装置において、
アクションデータ格納手段が、前記アクションデータの登録要求を受信すると、受信した前記現在設定されている設定情報をアクションデータとして格納するステップを実行することを特徴とする情報処理システムの制御方法。
【請求項１５】
サーバ装置が提供する外部アプリケーションを利用可能な情報処理装置の制御方法であって、
第１表示制御手段が、現在設定されている設定情報で処理を実行させるためのカスタムボタンを登録するための登録ボタンを含む前記外部アプリケーションの操作画面を表示部に表示するステップと、
第１通知手段が、前記登録ボタンが押下されると、前記現在設定されている設定情報に関するアクションデータの登録要求を、該現在設定されている設定情報とともに前記サーバ装置に通知するステップと、
ボタンデータ格納手段が、前記カスタムボタンに関するボタンデータを格納するステップと、
第２表示制御手段が、前記カスタムボタンの表示が指示されると、前記ボタンデータ格納手段に格納されたボタンデータに基づき、前記カスタムボタンを前記表示部に表示するステップと、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１６】
コンピュータを請求項１乃至８のいずれか１項に記載の情報処理システムの各手段として機能させるためのプログラム。
【請求項１７】
コンピュータを請求項９乃至１３のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置が提供する外部アプリケーションを利用可能な情報処理装置及び当該情報処理装置を含む情報処理システムに関するものである。
【背景技術】
【０００２】
ＰＣなどの情報処理装置がネットワーク上のＷｅｂサーバと接続され、Ｗｅｂサーバにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。この場合、情報処理装置のＷｅｂブラウザがＷｅｂサーバに対して操作画面を要求し、Ｗｅｂサーバ上のＷｅｂアプリケーションが情報処理装置からの要求に応じて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬファイルを情報処理装置に送信する。情報処理装置のＷｅｂブラウザは、受信したＨＴＭＬファイルを解析し、受信したＨＴＭＬファイルの記述に基づいた操作画面をＷｅｂブラウザ画面として表示する。さらに、Ｗｅｂブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバ上のＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００３】
ところで、最近ではスキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の中にも、上述したようなＷｅｂブラウザを備えているものがある。そして、ＭＦＰは、上述した手順を用いてＷｅｂサーバにより提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付ける。
【０００４】
また、特許文献１には、Ｗｅｂサーバが情報処理装置へ指示内容を選択するボタンを含む画面情報を配信する。即ち、情報処理装置のユーザは、配信された画面情報に基づいて表示される画面のボタンを選択することにより、選択したボタンに対応付けられた指示内容に従ってＷｅｂブラウザ画面の表示やアプリケーションの起動を行える。これにより、ユーザは、配信されたボタンを使用することで、使用頻度の高い機能を容易に呼び出すことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２１５５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術では、以下に記載する問題がある。例えば、配信される画面に含まれるボタンの内容は、Ｗｅｂサーバの管理者が事前に登録したものに限定される。また、ボタン選択時に表示するＷｅｂブラウザ画面は、各入力項目に、例えば、アドレス、氏名、印刷部数といった設定までを入力済みの状態で表示することができない。さらに、不要なボタンの削除は、クライアントとなる情報処理装置からは容易に制御できないという問題がある。このように、上記従来技術では、Ｗｅｂサーバから提供される画面では、Ｗｅｂブラウザを使用するユーザの要望に応じてカスタマイズされた画面を表示することが困難であった。
【０００７】
本発明は、上述の問題に鑑みて成されたものであり、ユーザの要望に応じてカスタマイズ可能な操作画面において、外部装置が提供するアプリケーションに対応するカスタムボタンを登録する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理システムは、サーバ装置と、該サーバ装置が提供する外部アプリケーションを利用可能な情報処理装置とを含む情報処理システムであって、前記情報処理装置は、現在設定されている設定情報で処理を実行させるためのカスタムボタンを登録するための登録ボタンを含む前記外部アプリケーションの操作画面を表示部に表示する第１表示制御手段と、前記登録ボタンが押下されると、前記現在設定されている設定情報に関するアクションデータの登録要求を、該現在設定されている設定情報とともに前記サーバ装置に通知する第１通知手段と、前記カスタムボタンに関するボタンデータを格納するボタンデータ格納手段と、前記カスタムボタンの表示が指示されると、前記ボタンデータ格納手段に格納されたボタンデータに基づき、前記カスタムボタンを前記表示部に表示する第２表示制御手段とを備え、前記サーバ装置は、前記アクションデータの登録要求を受信すると、受信した前記現在設定されている設定情報をアクションデータとして格納するアクションデータ格納手段を備えることを特徴とする。
【発明の効果】
【０００９】
本発明は、例えば、ユーザの要望に応じてカスタマイズ可能な操作画面において、外部装置が提供するアプリケーションに対応するカスタムボタンを登録することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る情報処理システム１００の全体を示す図である。
【図２】第１の実施形態に係るＭＦＰ１０１の構成例を示すブロック図である。
【図３】第１の実施形態に係るＷｅｂサーバ１０３の構成例を示すブロック図である。
【図４】第１の実施形態に係る情報処理システム１００の制御構成例を示す図である。
【図５】第１の実施形態に係るボタンデータ５０１及びアクションデータ５１０のデータフォーマットの一例を示す図である。
【図６】第１の実施形態に係るコピーＷｅｂアプリケーションのユーザインタフェースを示す図である。
【図７】第１の実施形態に係るボタン登録処理の手順を示すフローチャートである。
【図８】第１の実施形態に係るカスタムメニュー４７０の操作画面８００を示す図である。
【図９】第１の実施形態に係るボタン実行処理の手順を示すフローチャートである。
【図１０】第２の実施形態に係るカスタムメニュー４７０の操作画面１０００を示す図である。
【図１１】第２の実施形態に係るボタン削除処理の手順を示すフローチャートである。
【図１２】第２の実施形態に係るボタン削除判定処理の手順を示すフローチャートである。
【図１３】第３の実施形態に係るアプリケーションＩＤ５０３に複数の値が登録されている場合のボタンデータ５０１の一例を示す図である。
【図１４】第３の実施形態に係る設定済み操作画面要求部４８３において、取得先のＷｅｂサーバを決定する際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
＜第１の実施形態＞
以下では、図１乃至図９を参照して本発明に係る第１の実施形態について説明する。本実施形態では、情報処理装置の一例であるＭＦＰにおいて、Ｗｅｂブラウザを用いてＷｅｂアプリケーションに対して操作画面を要求する。その後、ＭＦＰは、提供された操作画面上に表示されたＷｅｂブラウザ画面の各入力項目の入力値をボタンとして登録する。
【００１３】
＜情報処理システムの構成＞
まず、図１を参照して、本実施形態における情報処理システム１００の全体構成について説明する。ＬＡＮ１１０には、ＭＦＰ１０１、Ｗｅｂサーバ１０３、Ｗｅｂサーバ１０４が互いに通信可能に接続されている。また、ＬＡＮ１１０上には不図示のＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバも備えられており、ＭＦＰ１０１からＦＴＰサーバに対して画像データをＦＴＰ送信することもできる。なお、ここでは、本実施形態に係る情報処理システムの一例を示したものであり、各装置の種類及び数を限定する意図はない。また、Ｗｅｂサーバ１０３、１０４は、情報処理装置であるＭＦＰ１０１に対して、Ｗｅｂアプリケーションの画面情報を提供するサーバ装置として機能する。
【００１４】
＜ＭＦＰの構成＞
次に、図２を参照して、ＭＦＰ１０１の構成例について説明する。ＭＦＰ１０１は、制御部２１０、操作部２１９、プリンタ２２０及びスキャナ２２１を備える。また、制御部２１０は、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３、ＨＤＤ２１４、操作部Ｉ／Ｆ２１５、プリンタＩ／Ｆ２１６、スキャナＩ／Ｆ２１７及びネットワークＩ／Ｆ２１８を備える。
【００１５】
制御部２１０は、ＭＦＰ１０１の動作を統括的に制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【００１６】
操作部Ｉ／Ｆ２１５は、操作部（表示部）２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。また、ＭＦＰ１０１には後述するＷｅｂブラウザ機能が備えられている。ＭＦＰ１０１のＷｅｂブラウザはＷｅｂサーバ１０３から受信したＨＴＭＬファイル（画面情報）を解析し、受信したＨＴＭＬファイルの記述に基づく操作画面を操作部２１９に表示する。
【００１７】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ２２０に転送され、プリンタ２２０において記録媒体上に印刷される。スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、Ｗｅｂサーバ１０３）に画像データや情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００１８】
＜Ｗｅｂサーバの構成＞
次に、図３を参照して、Ｗｅｂサーバ１０３の構成例について説明する。なお、Ｗｅｂサーバ１０４は、Ｗｅｂサーバ１０３と同様の構成を有するため、説明を省略する。Ｗｅｂサーバ１０３は、制御部３１０を備える。また、制御部３１０は、ＣＰＵ３１１、ＲＯＭ３１２、ＲＡＭ３１３、ＨＤＤ３１４及びネットワークＩ／Ｆ３１５を備える。
【００１９】
制御部３１０は、Ｗｅｂサーバ１０３の動作を統括的に制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークＩ／Ｆ３１５は、制御部３１０（Ｗｅｂサーバ１０３）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ３１５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００２０】
＜情報処理システムの制御構成＞
次に、図４を参照して、情報処理システム１００全体の制御構成例について説明する。図４に示す各機能部は、ＭＦＰ１０１、Ｗｅｂサーバ１０３のそれぞれに備えられているＣＰＵ２１１、３１１が制御プログラムを実行することにより実現される。ＭＦＰ１０１は、Ｗｅｂブラウザ４４０、サービスプロバイダ４５０、ネイティブアプリケーション４６０、カスタムメニュー４７０、カスタムメニューサービスプロバイダ（ＣＭＳＰ）４８０、アクションデータ記録部４６４及びボタンデータ記録部４７６を備える。また、Ｗｅｂサーバ１０３は、Ｗｅｂアプリケーション４１０を備える。
【００２１】
ネイティブアプリケーション４６０は、実行部４６１、画面表示部４６２、アクションデータ管理部４６３、アクション実行制御部４６５及びアクション削除制御部４６６を含む。ネイティブアプリケーション４６０には、例えば、コピー処理、スキャン処理及びスキャンイメージの配信処理を実行するコピーアプリケーション、スキャンアプリケーション、及びセンドアプリケーション等がある。しかし、本発明は、ＭＦＰ１０１で利用可能なアプリケーションであればよく、上述したアプリケーションソフトウェアに限定することを意図していない。例えば、後述するＷｅｂブラウザ４４０もネイティブアプリケーションの１つである。以下では、このようなＭＦＰ１０１に予め設けられているアプリケーションをネイティブアプリケーションと称する。一方、Ｗｅｂサーバ１０３が提供するアプリケーションをＷｅｂアプリケーションと称する。
【００２２】
実行部４６１は、アプリケーションの主要処理を実行する。上記例で言えば、コピー処理、スキャン処理、送信処理が実行される対象となる。画面表示部４６２は、実行部４６１の実行に必要な設定をユーザに入力させるための操作画面を操作部２１９に表示する。なお、この操作画面はＷｅｂサーバ１０３により提供されるものではなく、ネイティブアプリケーション４６０がＭＦＰ１０１内に保持している情報を読み出して表示する。以下では、ＭＦＰ１０１内に予め保持されている情報に基づいて表示される画面をネイティブ画面と称する。
【００２３】
アクションデータ管理部４６３は、アクションデータ記録部４６４とアクションデータをやり取りする。アクションデータの詳細は後述するが、アプリケーションごとの個別設定情報であり、例えばコピーアプリケーションであれば、コピー部数や印刷濃度等の設定情報を示す。なお、アクションデータ記録部４６４で扱うデータは、例えば、ＨＤＤ２１４に記憶される。アクション実行制御部４６５は、アクションデータ管理部４６３から受け取ったアクションデータを読み取り、各設定項目が設定済みとなった設定済み操作画面を生成し、画面表示部４６２へ画面を提供する。アクション削除制御部４６６は、アクションデータ管理部４６３に対して、対象となるアクションデータの削除を要求し、削除結果を受け取る。
【００２４】
カスタムメニュー４７０は、ボタン登録制御部４７１、ボタン実行制御部４７２、ボタン削除制御部４７３、画面表示部４７４、ボタンデータ管理部４７５及びボタン削除可否判定部４７７を含む。カスタムメニュー４７０は、ＭＦＰ１０１で利用可能な各種アプリケーションの設定値を１つのボタンに対応付けて登録するユーザが所望の操作画面を構築するための仕組みを実現する。本実施形態では、ＭＦＰ１０１で利用可能な各種アプリケーションとして、従来から行なわれているネイティブアプリケーションに加えて、Ｗｅｂアプリケーションにも対応する。
【００２５】
ボタン登録制御部４７１は、ネイティブアプリケーション４６０及びＣＭＳＰ４８０により呼び出される。このとき、ボタン登録制御部４７１は、ボタンデータ管理部４７５に対して、ボタンデータの登録要求を行い、ボタンの登録結果を受け取る。ボタンデータの詳細は後述するが、ボタンを識別するための番号、ボタンに対応するアプリケーション、アクションデータの番号を表すアクションＩＤ、ボタンの外観を表すアイコン、グループ情報、ボタン名称が含まれる。
【００２６】
ボタン実行制御部４７２は、選択対象のボタンに対応するネイティブアプリケーション４６０又はＣＭＳＰ４８０に対して、ボタンデータに含まれるアクションＩＤを通知する。ボタン削除制御部４７３は、ボタンデータ管理部４７５からボタンデータを取得する。その後、対応するアクションデータの削除をネイティブアプリケーション４６０又はＣＭＳＰ４８０へ要求し、アクションデータの削除結果を受け取る。削除が成功した場合にはボタンデータ管理部４７５に対して、対応するボタンデータの削除を要求する。
【００２７】
画面表示部４７４は、ユーザが、登録済みのボタンの実行、ボタンデータの削除等を行うための操作画面を操作部２１９に表示する。ボタンデータ管理部４７５は、ボタンデータ記録部４７６とボタンデータをやり取り（登録、削除）する。ボタン削除可否判定部４７７は、ボタン削除制御部４７３で、ボタンデータの削除を行うために、事前にボタンデータが削除可能かどうかを判定する。なお、カスタムメニュー４７０は、必ずしも、上述した全ての構成要素を含む必要はない。
【００２８】
Ｗｅｂブラウザ４４０は、通信部４４１、解析部４４２、及び画面表示部４４３を含む。通信部４４１は、Ｗｅｂアプリケーション４１０の通信部４１１を介して、ＨＴＴＰプロトコルに従ってＷｅｂアプリケーション４１０のプレゼンテーション部４１２と通信する。より具体的には、通信部４４１は、Ｗｅｂブラウザ４４０で表示する操作画面をＷｅｂアプリケーション４１０に対して要求したり、Ｗｅｂブラウザで表示した操作画面を介して入力されたユーザからの指示をＷｅｂアプリケーション４１０に通知したりする。
【００２９】
解析部４４２は、Ｗｅｂアプリケーション４１０から受信するＨＴＭＬファイルを解析する。このＨＴＭＬファイルには、Ｗｅｂブラウザに表示すべき操作画面の内容を示す記述が含まれている。画面表示部４４３は、解析部４４２による解析の結果に基づいて、操作部２１９上に操作画面を表示する。このように、Ｗｅｂサーバから受信した画面情報（ＨＴＭＬファイル）に基づいて表示される画面をＷｅｂブラウザ画面と称する。
【００３０】
一方、Ｗｅｂサーバ１０３には、Ｗｅｂアプリケーション４１０及びアクションデータ記録部４２０が含まれる。また、Ｗｅｂアプリケーション４１０には、通信部４１１、４１４、４１６、プレゼンテーション部４１２、アドレス解析部４１３、ロジック部４１５、アクションデータ制御部４１７、アクションデータ解析部４１８、及びアクションデータ管理部４１９が含まれる。プレゼンテーション部４１２は、通信部４１１を通してＷｅｂブラウザ４４０の通信部４４１と通信し、ＭＦＰ１０１からの要求に応じてＷｅｂブラウザ４４０で表示すべき操作画面をＭＦＰ１０１に送信する。また、Ｗｅｂブラウザ４４０に表示された操作画面を介して入力されたユーザからの指示をＭＦＰ１０１から受信する。
【００３１】
ＭＦＰ１０１からの指示を受信したＷｅｂアプリケーション４１０は、指示の内容に従って各種処理を実行するとともに、ＭＦＰ１０１に対して処理の実行を依頼する。具体的には、ＭＦＰ１０１のプリンタ２２０による印刷処理の実行や、スキャナ２２１による読取処理の実行、或いはネットワークＩ／Ｆ２１８を介した送信処理の実行を依頼する。このようにＭＦＰ１０１に対して処理の実行を依頼する場合には、ロジック部４１５が通信部４１４を介してＭＦＰ１０１に備えられたサービスプロバイダ４５０内の通信部４５１と通信する。サービスプロバイダ４５０は、通信部４５１及びジョブ生成部４５２を含む。通信部４５１は、通信部４１４を通してロジック部４１５が生成した処理依頼を受け付ける。ジョブ生成部４５２は、通信部４５１で受信した情報からジョブを生成し、ネイティブアプリケーション４６０に出力する。
【００３２】
アクションデータ制御部４１７は、通信部４１１を介してＷｅｂブラウザに表示された操作画面を介してユーザからの登録指示を受け付ける。また、アクションデータ制御部４１７は、通信部４１６を介して、ＣＭＳＰ４８０とボタンデータの登録要求処理、設定済み操作画面の生成処理、アクションデータの削除処理を行う。アクションデータ解析部４１８は、ユーザからの登録指示内容を解析し、アクションデータを作成する。アクションデータ管理部４１９は、アクションデータ記録部４２０とアクションデータをやり取りする。なお、アクションデータ記録部４２０で扱うデータは、ＨＤＤ２１４に記憶される。アドレス解析部４１３は、ＭＦＰ１０１からの操作画面の要求の際に、アドレスにアクションデータが含まれるか否かを判定し、アクションデータ制御部４１７へアクションデータの埋め込み処理を依頼する。
【００３３】
ＣＭＳＰ４８０は、通信部４８１、ボタン登録要求部４８２、設定済み操作画面要求部４８３、及びアクション削除制御部４８４を含む。ボタン登録要求部４８２は、アクションデータの登録完了後に、通信部４１６及び通信部４８１を介して、アクションデータ制御部４１７からボタンデータの登録要求を受け付ける。その後、このボタンデータの登録要求をカスタムメニュー４７０へ通知する。設定済み操作画面要求部４８３は、カスタムメニュー４７０からのボタンの押下通知を受け付ける。このとき、対象となるボタンデータの後述するアプリケーションＩＤとアクションＩＤとを取得する。その後、アプリケーションＩＤとアクションＩＤとを組み合わせたアドレスを作成し、通信部４８１及び通信部４１１を介して、Ｗｅｂアプリケーション４１０へ設定済み操作画面を要求する。アクション削除制御部４８４は、カスタムメニュー４７０からＷｅｂアプリケーションのアクションデータの削除要求を受け付ける。このとき、対象となるボタンデータのアプリケーションＩＤとアクションＩＤとを取得する。その後、Ｗｅｂアプリケーション４１０へ対象となるアクションデータの削除を要求する。さらに、Ｗｅｂアプリケーション４１０からのアクションデータの削除結果をカスタムメニュー４７０へ返す。
【００３４】
このように、本実施形態に係るＭＦＰ１０１では、外部装置であるＷｅｂサーバ１０３から取得する情報を用いて実行するＷｅｂアプリケーション（外部アプリケーション）と、予め保持している情報を用いて実行するネイティブアプリケーションとが実行可能である。また、ＭＦＰ１０１では、ユーザが所望のメニュー画面を構築することができるカスタムメニュー機能を有する。本実施形態に係るカスタムメニューでは、上述したＷｅｂアプリケーション及びネイティブアプリケーションのショートカットキーを選択可能に表示することができる。
【００３５】
＜データフォーマット＞
次に、図５を参照して、ボタンデータ５０１とアクションデータ５１０とのデータフォーマットの一例について説明する。ボタンデータ５０１は、ボタンＮｏ５０２、アプリケーションＩＤ５０３、アクションＩＤ５０４、アイコン情報５０５、及びボタン情報５０６を含む。なお、ボタンデータ５０１は、カスタムメニュー４７０によって管理されるデータである。
【００３６】
ボタンＮｏ５０２は、ボタンデータ５０１を一意に識別するための番号であり、ボタンの登録時にカスタムメニュー４７０が自動的に割り当てた番号である。アプリケーションＩＤ５０３は、アプリケーションを一意に識別するための番号である。また、アプリケーションＩＤ５０３は、アプリケーションのインストール時に、カスタムメニュー４７０がネイティブアプリケーション４６０、Ｗｅｂアプリケーションごとに一意に割り当てた番号である。なお、Ｗｅｂアプリケーションの場合は、図５に示すように、Ｗｅｂアプリケーションが動作するアドレスをＩＤとして登録してもよい。例えば、アプリケーションＩＤ５０３が１００のアプリケーションは、ネイティブアプリケーションであるコピーアプリケーションを表す。また、アプリケーションＩＤ５０３がhttp://192.168.0.10/copyのアプリケーションは、ＷｅｂアプリケーションであるコピーＷｅｂアプリケーションを表している。なお、Ｗｅｂアプリケーションは、ブラウザから操作することより、アプリケーションＩＤ５０３にＷｅｂブラウザを登録してもかまわない。この場合、ブラウザが、ＷｅｂアプリケーションのＵＲＬを管理する。
【００３７】
アイコン情報５０５は、カスタムメニュー４７０の画面表示部４７４を介して操作部２１９に表示されるボタンの外観を表すアイコンファイル名を表したものである。ボタン情報５０６は、ボタンの名称、コメント、グループを表す。なお、グループは、個人用のボタンであるマイボタン、ユーザ間で共通して利用可能なボタンであるグループボタンに大別される。
【００３８】
アクションデータ５１０は、上述したアクションＩＤ５０４とともに、設定情報５１１を含む。なお、アクションデータ５１０は、アプリケーションごとに管理されるデータである。アクションＩＤ５０４は、アクションデータを一意に識別するための番号であり、各アプリケーションが割り当てたものである。設定情報５１１は、アプリケーションごとの各種設定値を含んでいる。例えば、図５に示すように、アプリケーションＩＤ５０３がhttp://192.168.0.10/copyのアクションＩＤ５０４が１の設定情報が示す内容は、コピーＷｅｂアプリケーションに対して、部数を１、濃度を＋５という設定値を含む。このように、ボタンデータ５０１とアクションデータ５１０はアクションＩＤ５０４を介して対応付けられている。例えば、カスタムメニュー４７０がボタンＮｏ５０２が２のボタンの押下を検知した場合、コピーＷｅｂアプリケーションに対してアクションＩＤ５０４が１の内容（部数１、濃度＋５）を設定した操作画面を要求し、操作部２１９に表示される。
【００３９】
このように、本実施形態では、カスタムメニュー画面における操作画面に登録するボタンとして、ネイティブアプリケーションのボタンに加えて、Ｗｅｂアプリケーションのボタンも可能とする。これにより、ユーザは、カスタムメニュー画面に登録したいアプリケーションがネイティブアプリケーションであるか、又は、Ｗｅｂアプリケーションであるかを意識する必要がなく、容易に所望のカスタムメニュー画面を構築することができる。
【００４０】
＜画面例＞
ここで、図６を参照して、操作部２１９に表示されているＷｅｂブラウザ画面６００の一例について説明する。図６に示すＷｅｂブラウザ画面６００には、コピーＷｅｂアプリケーションの操作画面６０４と、Ｗｅｂブラウザ４４０が表示する操作画面６０３とが含まれる。コピーＷｅｂアプリケーションの操作画面６０４には、各設定項目（カラーモード、サイズ、部数、構成、ボタン名称、グループ）以外に実行ボタン６０２及び登録ボタン６０１が含まれる。図６に示すように、Ｗｅｂブラウザ画面６００には、Ｗｅｂブラウザ４４０が提供する操作画面６０３上に、Ｗｅｂサーバ１０３のＷｅｂアプリケーション４１０が提供する操作画面６０４が表示される。以下の説明において、Ｗｅｂブラウザ４４０は、第１表示制御手段として機能する。
【００４１】
登録ボタン６０１は、現在起動しているＷｅｂアプリケーションをカスタムメニュー画面に登録するためのボタンであり、Ｗｅｂアプリケーション４１０が提供するボタンである。実行ボタン６０２は、現在起動しているＷｅｂアプリケーションの処理を実行させるためのボタンであり、Ｗｅｂアプリケーション４１０が提供するボタンである。また、登録ボタン６０１が押下されると、操作画面６０４で現在設定されている情報が読み出されて、当該設定情報において実行ボタン６０２が押下された場合と同様の動作を行なうボタン（カスタムボタン）が生成されて、カスタムメニュー画面に登録される。本実施形態によれば、上述のようなＷｅｂブラウザ画面６００を表示することにより、Ｗｅｂアプリケーションを実行するカスタムボタンをカスタムメニュー画面へ追加することができる。
【００４２】
なお、ここでは、Ｗｅｂアプリケーションの操作画面６０４に登録ボタン６０１を追加する構成について説明したが、もちろんネイティブアプリケーションの操作画面に登録ボタンを表示してもよい。この場合の登録ボタンが押下された場合であっても、図７を用いて後述する処理と同様に、ネイティブアプリケーションのカスタムボタンがカスタムメニューに追加される。
【００４３】
＜登録手順＞
次に、図７を参照して、本実施形態における情報処理システム１００のＷｅｂブラウザ４４０からＷｅｂアプリケーション用のボタンを登録する処理手順について説明する。以下で説明する処理は、ＭＦＰ１０１及びＷｅｂサーバ１０３のＣＰＵ２１１、３１１がそれぞれＲＯＭ２１２、３１２やＨＤＤ２１４、３１４に格納されているプログラムをＲＡＭ２１３、３１３に読み出して実行することにより実現される。なお、図７において、点線より左側がＭＦＰ１０１の処理を示し、点線より右側がＷｅｂサーバ１０３の処理を示す。また、以下の処理フローは、画面表示部４４３がＷｅｂブラウザ画面６００を操作部２１９に表示した状態から開始される。
【００４４】
まず、Ｓ７０１において、Ｗｅｂブラウザ４４０は、第１通知手段として機能し、Ｗｅｂブラウザ画面６００の登録ボタン６０１の押下を検知すると、ボタンの登録処理を開始し、Ｗｅｂアプリケーション４１０へアクションデータの登録リクエストを行う。より具体的には、Ｗｅｂブラウザ４４０は、Ｗｅｂブラウザ画面６００（より詳細には、Ｗｅｂブラウザ画面６００上の操作画面６０４となる。）でユーザが入力した各設定値をＷｅｂアプリケーション４１０へ通知する。
【００４５】
Ｓ７０２において、Ｗｅｂアプリケーション４１０は、通信部４１１を介して登録リクエストを受信する。続いて、Ｓ７０３において、アクションデータ制御部４１７は、アクションデータの登録処理を開始し、アクションデータ解析部４１８に対して、通知されたデータの解析処理を要求する。アクションデータ解析部４１８は、受信したデータをアクションデータ管理部４１９で処理可能なデータ、即ち、アクションデータ５１０に変換し、アクションデータ制御部４１７へ返す。
【００４６】
次に、Ｓ７０４において、アクションデータ制御部４１７は、アクションデータ５１０をアクションデータ管理部４１９に渡し、登録要求を行う。ここで、アクションデータ管理部４１９は、アクションデータ格納手段として機能し、当該アクションデータ５１０に一意なアクションＩＤを割り当て、アクションデータ記録部４２０にアクションデータ５１０を登録する。アクションデータ５１０の登録が完了すると、Ｓ７０５において、アクションデータ制御部４１７は、第２通知手段として機能し、通信部４１６及び通信部４８１を介して、対応するボタンデータの登録リクエストをＣＭＳＰ４８０に対して通知する。このとき、アクションデータ制御部４１７は、Ｗｅｂアプリケーション４１０のＵＲＬ、アクションＩＤ、アイコン、アクションデータ、ボタン名称、グループを登録リクエストに付与する。さらに、登録の成功及び失敗に関する情報も登録リクエストに付加する。
【００４７】
Ｓ７０６において、ＣＭＳＰ４８０は、Ｓ７０１のリクエストに対する応答として、Ｓ７０５で通知された登録リクエストを受信する。続いて、Ｓ７０７において、ボタン登録要求部４８２は、登録リクエスト付与された情報を解析し、アクションデータ登録が成功したか否かを判定する。ここで、アクションデータの登録に失敗していた場合は、ボタン登録要求部４８２は、ボタンデータの登録処理は行わず、登録失敗として処理を終了する。一方、アクションデータの登録に成功している場合は、Ｓ７０８へ進み、ボタン登録要求部４８２は、登録リクエストに付加されたＵＲＬ、アクションＩＤ、アイコン、ボタン名称、グループとともに、カスタムメニュー４７０に対してボタンデータの登録要求を通知する。
【００４８】
次に、Ｓ７０９において、カスタムメニュー４７０のボタン登録制御部４７１は、ボタンデータ格納手段として機能し、ボタンデータ管理部４７５に対して、受信した登録データとともに登録要求を行う。ボタンデータ管理部４７５では、登録データからボタンデータの作成、ボタンＮｏの割り当てを行い、ボタンデータ記録部４７６にボタンデータを登録して処理を終了する。以上の処理により、Ｗｅｂアプリケーション用のボタンをカスタムメニューに登録する一連の処理が終了する。
【００４９】
＜実行手順＞
次に、図８及び図９を参照して、ＭＦＰ１０１において、カスタムメニュー４７０の操作画面（カスタムメニュー画面）８００から、登録されたボタンが選択された際の処理について説明する。まず図８を参照して、操作部２１９に表示される、カスタムメニュー４７０の登録したボタンを実行するための操作画面８００の一例について説明する。カスタムメニュー４７０の操作画面８００は、グループ選択部８１０、及びボタン選択部８２０を含む。グループ選択部８１０は、操作画面８００に表示するボタンの種類を選択するためのインタフェースである。なお、本実施形態ではグループ選択部８１０が選択可能なボタンの種類は、マイボタン８１１とグループボタン８１２となっている。しかし、ここでは、グループの種類をこの２種類に限定することを意図しているわけではない。図８に示すボタン選択部８２０には、マイボタン８１１が選択された状態を示す。ボタン選択部８２０には、グループの種類ごとに登録されたボタンが表示される。本実施形態では、例えば、図７で説明した処理によって登録された節約コピーボタン及び自分へ送信ボタンが表示されている。
【００５０】
次に、図９を参照して、操作画面８００で、ボタンの押下を検知したときの処理手順について説明する。以下で説明する処理は、ＭＦＰ１０１及びＷｅｂサーバ１０３のＣＰＵ２１１、３１１がそれぞれＲＯＭ２１２、３１２やＨＤＤ２１４、３１４に格納されているプログラムをＲＡＭ２１３、３１３に読み出して実行することにより実現される。なお、図９において、点線より左側がＭＦＰ１０１の処理を示し、点線より右側がＷｅｂサーバ１０３の処理を示す。また、以下の処理フローは、操作部２１９に表示されたカスタムメニュー画面の起動ボタンが押下され、ＣＰＵ２１１へカスタムメニュー４７０の起動処理が割り込み、画面表示部４７４が操作部２１９に操作画面８００を表示した状態から開始される。また、画面表示部４７４は、第２表示制御手段として機能する。
【００５１】
まずＳ９０１において、操作部２１９は、ユーザからのカスタムメニュー画面に登録されたボタンの押下を検知し、ボタン押下をＣＰＵ２１１へ通知する。ＣＰＵ２１１は、カスタムメニュー４７０へボタン押下を通知する。カスタムメニュー４７０は、ボタン押下に対応する割り込み処理を呼び出す。
【００５２】
次に、Ｓ９０２において、カスタムメニュー４７０は、押下されたボタンに対応するアプリケーションが、ネイティブアプリケーションであるか、又は、Ｗｅｂアプリケーションであるかを判定する。より具体的には、カスタムメニュー４７０は、押下されたボタンのボタンデータ５０１をボタンデータ管理部４７５から取得し、取得したボタンデータ５０１のアプリケーションＩＤ５０３を確認する。このとき、アプリケーションＩＤ５０３にＵＲＬが記述されていれば、Ｗｅｂアプリケーションであり、そうでなければネイティブアプリケーションと判別する。押下されたボタンに対応するアプリケーションＩＤ５０３がネイティブアプリケーションであればＳ９０３へ進み、ＷｅｂアプリケーションであればＳ９０５へ進む。
【００５３】
Ｓ９０３において、カスタムメニュー４７０は、ボタン実行制御部４７２が取得したボタンデータ５０１のアクションＩＤ５０４をネイティブアプリケーションへ通知する。続いて、Ｓ９０４において、ネイティブアプリケーション４６０のアクション実行制御部４６５が、アクションＩＤ５０４に対応するアクションデータ５１０をアクションデータ管理部４６３から取得する。そして、アクション実行制御部４６５では、操作画面の各設定項目を、取得したアクションデータ５１０の設定情報５１１で設定済みにする。その後、画面表示部４６２は、アクション実行制御部４６５が生成した設定済み操作画面を操作部２１９へ表示し、処理を終了する。以上の処理がカスタムメニューからネイティブアプリケーションのボタンが押下された場合の処理である。
【００５４】
一方、Ｓ９０２で押下されたボタンがＷｅｂアプリケーションのボタンであると判定されると、Ｓ９０５において、ボタン実行制御部４７２は、設定済み操作画面の表示をＣＭＳＰ４８０へ要求する。このとき、ボタン実行制御部４７２は、アプリケーションＩＤ５０３とアクションＩＤ５０４を要求に付加する。ＣＭＳＰ４８０の設定済み操作画面要求部４８３は、要求を受け付けると、通信部４８１を介して設定済み操作画面リクエストをＷｅｂサーバ１０３に対して通知する。ここで、ボタン実行制御部４７２及びＣＭＳＰ４８０は、要求手段として機能している。
【００５５】
その後、Ｓ９０６において、Ｗｅｂアプリケーション４１０のアクションデータ制御部４１７は、通信部４１６を介して、設定済み操作画面リクエストを受信する。このとき、アドレス解析部４１３は、設定済み操作画面リクエストを解析し、付加されたアクションＩＤ５０４とアプリケーションＩＤ５０３を分離する。続いて、Ｓ９０７において、アクションデータ制御部４１７は、アクションデータ管理部４１９から、リクエストに付加されたアクションＩＤ５０４に対応するアクションデータ５１０を取得する。そして、Ｓ９０８において、アクションデータ制御部４１７は、ＭＦＰ１０１へ送信する操作画面の各設定項目を取得したアクションデータ５１０で設定済みにする。具体的には、リストボックス、ラジオボタン等の入力機能を有するタグで、アクションデータ５１０の各設定情報５１１に該当するｖａｌｕｅ属性を有するタグの選択を表す属性を有効にしたＨＴＭＬファイルを生成する。例えば、リストボックスであれば、ｏｐｔｉｏｎタグのｓｅｌｅｃｔｅｄ属性、ラジオボタンであれば、ＩＮＰＵＴタグのＣＨＥＣＫＥＤ属性を指定することとなる。
【００５６】
次に、Ｓ９０９において、プレゼンテーション部４１２は、通信部４１１を介して、生成したＷｅｂブラウザで表示すべき操作画面をＭＦＰ１０１に送信する。このように、Ｓ９０８及びＳ９０９の処理は、送信手段の一例である。Ｓ９１０において、Ｗｅｂブラウザ４４０は、通信部４４１を介して、Ｗｅｂアプリケーション４１０からＨＴＭＬファイルを受信する。そして、画面表示部４４３は、解析部４４２のＨＴＭＬファイルの解析結果に基づいて、操作部２１９上に設定済み操作画面を表示する。以上の処理が、カスタムメニューにおいてＷｅｂアプリケーションのボタンが押下された場合の処理である。
【００５７】
以上説明したように、本実施形態に係る情報処理システムは、Ｗｅｂアプリケーション又はネイティブアプリケーションの操作画面において、現在実行しているアプリケーションの現在の設定情報で実行するためのカスタムボタンをカスタムメニューへ追加する登録ボタンを表示する。また、情報処理システムは、上記登録ボタンが押下されると、カスタムメニューに追加するカスタムボタンの情報として、ボタンデータ及びアクションデータを互いに対付けて管理する。具体的には、Ｗｅｂアプリケーションの登録ボタンが押下されると、サーバ装置においてアクションデータを管理し、情報処理装置においてボタンデータを当該アクションデータに対応付けて管理する。また、ユーザからカスタムメニューの表示が指示されると、情報処理装置は、ボタンデータを用いて、カスタムボタンを含むカスタムメニューを生成して表示する。また、情報処理装置は、カスタムメニューの任意のカスタムボタンが押下されると、ボタンデータ及びアクションデータを用いて、当該カスタムボタンが登録された際の設定情報を踏襲した操作画面を表示する。ここで、例えば、Ｗｅｂアプリケーションに関連するカスタムボタンが押下された場合は、情報処理装置は、サーバ装置からアクションデータを取得する。このように、本実施形態に係る情報処理システムは、ユーザが所望のメニューを構築可能なカスタムメニューにおいて、ネイティブアプリケーションのショートカットキーだけでなく、Ｗｅｂアプリケーションのショートカットキーを登録することができる。したがって、本情報処理装置は、ユーザがＷｅｂアプリケーションと、ネイティブアプリケーションとを意識することなく、カスタムメニューを構築することができるため、使い勝手の良い操作体系を提供することができる。
【００５８】
＜第２の実施形態＞
以下では、図１０乃至図１２を参照して、本発明に係る第２の実施形態について説明する。本実施形態では、ＭＦＰ１０１において、カスタムメニュー４７０の操作画面から、登録されたボタンを削除する際の一連の処理について説明する。なお、本実施形態に係る情報処理システム１００の全体構成、ＭＦＰ１０１の構成、Ｗｅｂサーバ１０３の構成、情報処理システム１００全体の制御構成、ボタンデータ５０１の構成及びアクションデータ５１０の構成については、第１の実施形態と同様であるため説明を省略する。
【００５９】
まず図１０を参照して、操作部２１９に表示される、カスタムメニュー画面の登録ボタンを削除する際に表示する操作画面１０００の一例について説明する。操作画面１０００は、削除ボタン選択部１００１及びボタン削除ボタン１００２を含む。削除ボタン選択部１００１は、削除するボタンを選択するためのインタフェースである。図１０では、「４．お気に入りコピー」ボタンが選択されていることを示す。カスタムメニュー４７０は、ボタン削除ボタン１００２の押下を検知することで、削除ボタン選択部１００１で選択されているボタンを削除する処理を呼び出す。なお、操作画面１０００は、第３表示制御手段である画面表示部４７４によって操作部２１９に表示される。
【００６０】
＜削除手順＞
次に、図１１を参照して、本実施形態におけるカスタムメニュー４７０のボタン削除に係る操作画面１０００を介して、登録されているボタンを削除する際の処理手順について説明する。以下で説明する処理は、ＭＦＰ１０１及びＷｅｂサーバ１０３のＣＰＵ２１１、３１１がそれぞれＲＯＭ２１２、３１２やＨＤＤ２１４、３１４に格納されているプログラムをＲＡＭ２１３、３１３に読み出して実行することにより実現される。なお、図９において、点線より左側がＭＦＰ１０１の処理を示し、点線より右側がＷｅｂサーバ１０３の処理を示す。また、以下の処理フローは、画面表示部４７４が操作部２１９に表示した操作画面１０００においてボタン削除ボタン１００２の押下を検知し、ＣＰＵ２１１がカスタムメニュー４７０へボタン削除ボタン１００２の押下を通知した状態から開始される。
【００６１】
まずＳ１１０１において、カスタムメニュー４７０のボタン削除制御部４７３は、ボタン削除ボタン１００２の押下に応じて、対応するボタンデータ５０１をボタンデータ管理部４７５から取得し、取得したボタンデータ５０１を解析する。Ｓ１１０２において、ボタン削除制御部４７３は、取得したボタンデータ５０１が削除可能であるか否かを、ボタン削除可否判定部４７７へ問い合わせることにより判定する。ボタン削除可否判定部４７７の処理については、図１２を用いて後述する。ここで、削除可能であればＳ１１０３に進み、削除可能でなければ処理を終了する。
【００６２】
Ｓ１１０３において、ボタン削除制御部４７３は、解析したボタンデータ５０１から対応するアプリケーションＩＤ５０３を抽出し、対応するアプリケーションがＷｅｂアプリケーションであるか、又は、ネイティブアプリケーションであるかを判定する。ネイティブアプリケーションであれば、Ｓ１１０４に進み、ＷｅｂアプリケーションであればＳ１１０７に進む。なお、ボタン削除制御部４７３は、アプリケーションＩＤ５０３にＵＲＬが記述されていれば、Ｗｅｂアプリケーションと判定し、そうでなければネイティブアプリケーションと判定する。
【００６３】
Ｓ１１０４において、ボタン削除制御部４７３は、アプリケーションＩＤ５０３に対応するネイティブアプリケーションにアクションデータ５１０の削除を要求する。このとき、削除対象となるアクションデータ５１０のアクションＩＤ５０４を付加して要求する。その後、Ｓ１１０５において、要求を受け取ったアクション削除制御部４６６は、アクションデータ管理部４６３に対して要求に付加されたアクションＩＤ５０４を元にアクションデータ５１０の削除を要求する。アクションデータ管理部４６３は要求を受け、アクションデータ記録部４６４からアクションデータを削除する。続いて、Ｓ１１０６において、アクション削除制御部４６６は、アクションデータ管理部４６３からの削除結果（成功もしくは失敗）を取得し、カスタムメニュー４７０へ削除結果を返す。
【００６４】
一方、削除対象のボタンがＷｅｂアプリケーションのボタンである場合、Ｓ１１０７において、ボタン削除制御部４７３は、アプリケーションＩＤ５０３とアクションＩＤ５０４とを付加して、ＣＭＳＰ４８０へアクションデータの削除を要求する。その後、Ｓ１１０８において、要求を受けたアクション削除制御部４８４は、アプリケーションＩＤ５０３から削除対象となるアクションデータ５１０を有するＷｅｂアプリケーションを決定する。そして、アクション削除制御部４８４は、第３通知手段として機能し、通信部４８１を介して、アクションＩＤ５０４とともに、決定されたＷｅｂアプリケーション４１０へアクションデータ削除リクエストを通知する。
【００６５】
次に、Ｓ１１０９において、Ｗｅｂアプリケーション４１０のアクションデータ制御部４１７は、通信部４１６を介して削除リクエストを受信する。続いて、Ｓ１１１０において、アクションデータ制御部４１７は、アクションデータ管理部４１９へ、アクションＩＤ５０４に対応するアクションデータ５１０の削除を要求する。要求を受けたアクションデータ管理部４１９は、第２削除手段として機能し、アクションデータ記録部４２０から対応するアクションデータ５１０を削除し、削除結果（成功又は失敗）をアクションデータ制御部４１７へ返す。Ｓ１１１１において、アクションデータ制御部４１７は、第４通知手段として機能し、レスポンスとして、通信部４１６を介して、ＣＭＳＰ４８０へアクションデータの削除結果を返す。
【００６６】
Ｓ１１１２において、アクション削除制御部４８４は、通信部４８１を介して、Ｓ１１１１で通知されたレスポンスを受信する。Ｓ１１１３において、アクション削除制御部４８４は、アクションデータ５１０の削除結果をカスタムメニュー４７０へ返す。Ｓ１１１４において、ボタン削除制御部４７３が、アクションデータ５１０の削除結果を解析し、アクションデータ５１０の削除が正常に行われている場合はＳ１１１５へ進み、失敗している場合は対応するボタンデータ５０１の削除は行わず、ボタン削除処理を終了する。Ｓ１１１５において、ボタン削除制御部４７３は、第１削除手段として機能し、ボタンデータの削除を行う。より具体的には、ボタン削除制御部４７３は、対象となるボタンデータ５０１の削除をボタンデータ管理部４７５へ要求する。要求を受けたボタンデータ管理部４７５は、ボタンデータ記録部４７６からボタンデータを削除する。以上の処理がカスタムメニュー４７０へ登録されたボタンを削除する場合の処理である。
【００６７】
次に、図１２を参照して、Ｓ１１０２で行ったボタンデータ５０１の削除可否の判定に係る処理手順について説明する。上述したように、Ｓ１１０２において、ボタン削除制御部４７３は、ボタンデータ５０１が削除可能か否かを、ボタン削除可否判定部４７７へ問い合わせる。以下では、Ｓ１１０２の問い合わせに対応するボタン削除可否判定部４７７の処理について説明する。
【００６８】
まず、Ｓ１２０１において、ボタン削除可否判定部４７７は、削除対象のボタンデータ５０１のグループを確認する。ここで、グループがマイボタン８１１であればＳ１２０３に進み、グループボタン８１２であればＳ１２０２に進む。Ｓ１２０２において、ボタン削除可否判定部４７７は、削除対象のボタンが有するパーミッションに対して、削除を要求したユーザのアクセス権が十分に高いか否かを確認する。より具体的には、例えば、ＭＦＰ１０１の管理ユーザであれば、グループボタン８１２を削除可能だが、一般ユーザであれば、削除不可能となる。つまり、削除を要求するユーザのアクセス権が十分に高く、ボタン削除が行える場合、ステップ１２０３に進み、そうでなければＳ１２０４に進みボタン削除不可能と判定する。
【００６９】
Ｓ１２０３において、ボタン削除可否判定部４７７は、削除対象のボタンが現在使用中であるか否かを判定する。使用中であればＳ１２０４に進み、ボタン削除不可能と判定し、そうでなければＳ１２０５に進み、ボタン削除可能と判定し、処理を終了する。なお、判定条件として、ボタンデータ５０１のグループ、ユーザの権限やボタンの実行状況を用いたが、その他、削除に関係する条件を用いてもよい。
【００７０】
以上説明したように、本実施形態では、カスタムメニュー４７０からボタンデータ５０１とアクションデータ５１０との２つの整合性を保ちながら削除できる。これにより、ボタンデータ５０１及びアクションデータ５１０の削除漏れが発生しない。さらに、ユーザは、任意のタイミングでＭＦＰ１０１からネイティブアプリケーション４６０に限らず、Ｗｅｂアプリケーション４１０用のボタンの削除処理を実施できる。
【００７１】
＜第３の実施形態＞
以下では、図１３及び図１４を参照して、本発明に係る第３の実施形態について説明する。本実施形態では、ＭＦＰ１０１において、カスタムメニュー４７０の操作画面から、複数のアプリケーションＩＤ５０３が登録されているボタンが押下された場合の一連の処理について説明する。なお、本実施形態に係る情報処理システム１００の全体構成、ＭＦＰ１０１の構成、Ｗｅｂサーバ１０３の構成、情報処理システム１００全体の制御構成、ボタンデータ５０１の構成及びアクションデータ５１０の構成については、第１の実施形態と同様であるため説明を省略する。
【００７２】
図１３は、アプリケーションＩＤ５０３に複数の値が設定されているボタンデータ５０１の一例を示す。図１３に示すように、ボタンＮｏ５０２の値が２であるアプリケーションＩＤ１３０１は、http://192.168.0.10/copy及びhttp://192.168.0.11/copyが割り当てられている。このようにアプリケーションＩＤ５０３には、複数の値を登録することが可能である。
【００７３】
次に、図１４を参照して、図９で説明した、Ｓ９０２とＳ９０５の間に入る処理について説明する。図１４は、ボタンデータ５０１のアプリケーションＩＤ５０３に複数の値が設定されているときの、Ｗｅｂサーバの探索処理を示している。以下で説明する処理は、ＭＦＰ１０１のＣＰＵ２１１がそれぞれＲＯＭ２１２やＨＤＤ２１４に格納されているプログラムをＲＡＭ２１３に読み出して実行することにより実現される。
【００７４】
ステップ１４０１において、ＣＭＳＰ４８０の設定済み操作画面要求部４８３は、Ｓ９０２で行った設定済み操作画面のリクエストの結果に基づいて、リクエスト先のＷｅｂサーバが存在するか否かを判定する。このとき、リクエスト先のＷｅｂサーバが存在するならば、Ｓ９０５に処理を進める。一方、リクエスト先のＷｅｂサーバが存在しない場合、Ｓ１４０２へ処理を進める。Ｓ１４０２において、設定済み操作画面要求部４８３は、アプリケーションＩＤ５０３に他にＷｅｂサーバが登録されているか否かを判定する。ここで、登録されていればステップ１４０３に進み、そうでなければ、設定済み操作画面をＷｅｂサーバから取得できないため、処理を終了する。ステップ１４０３において、設定済み操作画面要求部４８３は、アプリケーションＩＤ５０３に登録されているＷｅｂサーバのうち、未だリクエストを行っていないＷｅｂサーバをリクエスト対象とし、Ｓ９０２へ処理を戻す。
【００７５】
以上説明したように、本実施形態では、ボタンデータ５０１のアプリケーションＩＤに複数のＷｅｂサーバが登録されている場合、Ｗｅｂサーバの現状に応じて、通信可能なサーバ装置にリクエスト対象を変更できる。これにより、Ｗｅｂサーバ１０３が、故障やメンテナンス等で利用できない状態だったとしても、例えば、同様のＷｅｂアプリケーションを持つＷｅｂサーバ１０４が存在した場合、代行処理を要求できる。このため、ユーザの利便性向上を実現し、稼働率向上に伴うサービスの向上を実現できる。
【００７６】
＜他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005462610.tif 000002
【図２】
0005462610.tif 000003
【図３】
0005462610.tif 000004
【図４】
0005462610.tif 000005
【図５】
0005462610.tif 000006
【図６】
0005462610.tif 000007
【図７】
0005462610.tif 000008
【図８】
0005462610.tif 000009
【図９】
0005462610.tif 000010
【図１０】
0005462610.tif 000011
【図１１】
0005462610.tif 000012
【図１２】
0005462610.tif 000013
【図１３】
0005462610.tif 000014
【図１４】
0005462610.tif 000015