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