(57)【特許請求の範囲】
【請求項１】
入力装置と出力装置とサーバ装置とを含む情報処理システムであって、
前記入力装置は、
ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付部と、
前記入力画面の取得元を示す取得元情報を取得する取得部と、
前記入力に応じた指示に前記取得元情報を付加して前記出力装置に向けて送信する送信部と、を備え、
前記出力装置は、
前記取得元情報が付加された前記指示を受信する受信部と、
前記指示に応じた処理を実行する出力部と、
前記出力部による前記処理の実行を許可するか否かを判定する判定部と、を備え、
前記サーバ装置は、
実行を許可する前記処理を含む前記指示の取得元を示す取得元情報を記憶する送信元情報記憶部を備え、
前記判定部は、
前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置の前記送信元情報記憶部から取得した前記取得元情報と一致する場合に、前記出力部による前記処理の実行を許可する判定を行い、前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置の前記送信元情報記憶部から取得した前記取得元情報と不一致である場合に、前記出力部による前記処理の実行を許可しない判定を行うこと
を特徴とする情報処理システム。
【請求項２】
前記出力装置は、前記入力装置の前記送信部から送信された前記取得元情報を記憶する記憶部を、さらに備え、
前記判定部は、
前記サーバ装置から取得され、前記記憶部に記憶された前記取得元情報と、前記受信部で受信した前記指示に付加されている前記取得元情報とに基づき前記判定を行う
請求項１に記載の情報処理システム。
【請求項３】
前記出力装置は、少なくとも、
原稿画像を読み取り画像データを出力する読み取り部と、
画像データに基づき記録媒体に画像を形成する画像形成部と、
を備える複合機である
請求項１又は請求項２に記載の情報処理システム。
【請求項４】
前記ネットワークはインターネットであって、
前記取得元情報は、前記インターネット上における前記取得元のドメインを示すドメイン情報である
請求項１から請求項３のうち、いずれか一項に記載の情報処理システム。
【請求項５】
前記ネットワークはインターネットであって、
前記取得元情報は、前記インターネット上における前記取得元のドメインを示すドメイン情報及びＡＰＩ種別である
請求項１から請求項４のうち、いずれか一項に記載の情報処理システム。
【請求項６】
ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付ステップと、
前記入力画面の取得元を示す取得元情報を取得する第１の情報取得ステップと、
前記入力に応じた指示に前記第１の情報取得ステップで取得した前記取得元情報を付加して出力装置に向けて送信する送信ステップと、
前記取得元情報が付加された前記指示を受信する受信ステップと、
前記指示に応じた処理を実行する出力ステップと、
実行を許可する前記処理を含む前記指示の取得元を示す取得元情報をサーバ装置から取得する第２の情報取得ステップと、
前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第２の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と一致する場合に、前記出力ステップで前記処理の実行を許可する判定を行い、前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第２の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と不一致である場合に、前記出力ステップで前記処理の実行を許可しない判定を行う判定ステップと、
を有する情報処理方法。
【請求項７】
入力装置がネットワークを介して取得した入力画面の取得元を示す取得元情報が付加された、該入力画面に対する入力に応じた指示を受信する受信部と、
前記指示に応じた処理を実行する出力部と、
実行を許可する前記処理を含む前記指示の取得元を示す取得元情報をサーバ装置から取得する取得部と、
前記処理の前記出力部による実行を許可するか否かを判定する判定部と、を備え、
前記判定部は、
前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と一致する場合に、前記出力部による前記処理の実行を許可する判定を行い、前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と不一致である場合に、前記出力部による前記処理の実行を許可しない判定を行うこと
を特徴とする情報処理装置。
【請求項８】
入力装置と出力装置とサーバ装置とを含む情報処理システムであって、
前記サーバ装置は、
実行を許可する処理を含む指示の取得元を示す取得元情報を記憶する送信元情報記憶部を備え、
前記入力装置は、
ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付部と、
前記入力画面の取得元を示す取得元情報を抽出する抽出部と、
処理の実行を許可する取得元を示す取得元情報をサーバ装置から取得する取得部と、
前記抽出部で抽出された前記入力画面の取得元を示す取得元情報が、前記サーバ装置から取得した前記取得元情報と一致するか否かを判定する判定部と、
前記判定部により、前記抽出部で抽出された前記入力画面の取得元を示す取得元情報が、前記サーバ装置から取得した前記取得元情報と一致する場合に、前記処理の実行指示を前記出力装置に送信する送信部と、を備え、
前記出力装置は、
前記取得元情報が付加された前記指示、及び、前記処理の実行指示を受信する受信部と、
前記実行指示を受信した場合に、前記指示された前記処理を実行する出力部と、を備えること、
を特徴とする情報処理システム。
【請求項９】
ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付ステップと、
前記入力画面の取得元を示す取得元情報を取得する第１の情報取得ステップと、
前記入力に応じた指示に前記第１の情報取得ステップで取得した前記取得元情報を付加して出力装置に向けて送信する送信ステップと、
前記取得元情報が付加された前記指示を受信する受信ステップと、
前記指示に応じた処理を実行する出力ステップと、
実行を許可する前記処理を含む前記指示の取得元を示す取得元情報をサーバ装置から取得する第２の情報取得ステップと、
前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第２の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と一致する場合に、前記出力ステップで前記処理の実行を許可する判定を行い、前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第２の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と不一致である場合に、前記出力ステップで前記処理の実行を許可しない判定を行う判定ステップと、
をコンピュータに実行させる情報処理プログラム。
【請求項１０】
入力装置と出力装置と出力処理の実行を許可する取得元を示す取得元情報を提供するサーバ装置及びコンテンツを配信するＷｅｂサーバとを含む情報処理システムであって、
前記入力装置は、
ネットワークを介して前記Ｗｅｂサーバにアクセスし、該Ｗｅｂサーバから送信されるコンテンツに従った表示を行い、該コンテンツに含まれる命令を該表示に基づく入力に応じて実行させるアプリケーション実行部と、
前記コンテンツの取得元を示す取得元情報を取得する第１の取得部と、
前記入力に応じて実行された命令に基づき前記アプリケーション実行部から出力された指示に前記取得元情報を付加して前記出力装置に向けて送信する送信部と
を備え、
前記出力装置は、
前記指示に応じた出力処理を実行する出力部と、
前記指示から、該指示に付加された前記取得元情報を取得する第２の取得部と、
前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と一致する場合に、前記出力部による前記出力処理の実行を許可する判定を行い、前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と不一致である場合に、前記出力部による前記出力処理の実行を許可しない判定を行う判定部と、を備える
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、情報処理装置および情報処理プログラムに関する。
【背景技術】
【０００２】
ＨＴＭＬ(HyperText  Markup  Language)データに基づき表示を行うブラウザプログラム（以下、ブラウザ）を用いて機器の操作画面を表示する画像形成装置が知られている。画像形成装置は、搭載されるブラウザに操作画面を表示させるためのＨＴＭＬデータを、ネットワークを介して、あるいは、機器内から取得する。ブラウザには、ＨＴＭＬデータに基づく画面の表示を行うだけでなく、機器制御用に拡張されたスクリプト（以下、拡張スクリプト）を解釈して機器制御を実行可能としたものもある。
【０００３】
このような、拡張スクリプトを解釈可能なブラウザを用い、拡張スクリプトをブラウザベースのＡＰＩ(Application  Programming  Interface)としてカスタマイズ用に提供可能とする技術が知られている。特許文献１には、外部装置からネットワークを介して受信したＨＴＭＬデータに基づきブラウザにより操作画面を表示し、操作画面に対する操作に応じて外部装置により生成された実行指示データに従い画像形成処理を行うようにした画像形成装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の、ブラウザが搭載された画像形成装置は、機器制御を行うための拡張スクリプトをネットワークを介して取得して装置に導入する場合に、取得した拡張スクリプトが信頼できるものであるか否かを利用者が指定することが難しかったという問題点があった。例えば、拡張スクリプトをインターネット上に接続されるＷｅｂサーバからダウンロードして利用する場合、有償の証明書の購入および設定を行うか、独自に証明書を作成し、対象機器毎に該当する証明書を設定する必要があり、運用コストが嵩んでしまう。
【０００５】
この、ネットワークを介して取得した拡張スクリプトが信頼できるものであるか否かの利用者による指定が困難である点は、上述した特許文献１でも解決できていない。
【０００６】
本発明は、上記に鑑みてなされたものであって、ネットワークを介して取得したプログラムの導入を容易とすることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、入力装置と出力装置とサーバ装置とを含む情報処理システムであって、入力装置は、ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付部と、入力画面の取得元を示す取得元情報を取得する取得部と、入力に応じた指示に取得元情報を付加して出力装置に向けて送信する送信部と、を備え、出力装置は、取得元情報が付加された指示を受信する受信部と、指示に応じた処理を実行する出力部と、出力部による処理の実行を許可するか否かを判定する判定部と、を備え、サーバ装置は、実行を許可する処理を含む指示の取得元を示す取得元情報を記憶する送信元情報記憶部を備え、判定部は、受信部で受信した指示に付加されている取得元情報が、サーバ装置の送信元情報記憶部から取得した取得元情報と一致する場合に、出力部による処理の実行を許可する判定を行い、受信部で受信した指示に付加されている取得元情報が、サーバ装置の送信元情報記憶部から取得した取得元情報と不一致である場合に、出力部による処理の実行を許可しない判定を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ネットワークを介して取得したプログラムの導入が容易となるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態に適用可能な情報処理システムの一例の構成を示す図である。
【図２】図２は、第１の実施形態に係る、画像形成装置の本体部のハードウェア構成の例を示すブロック図である。
【図３】図３は、第１の実施形態に係る、画像形成装置の操作部のハードウェア構成の例を示すブロック図である。
【図４】図４は、第１の実施形態に適用可能なサーバのハードウェア構成の例を示すブロック図である。
【図５】図５は、第１の実施形態に係る本体部のＣＰＵ上で動作するプログラムの一例のアーキテクチャを示す図である。
【図６】図６は、第１の実施形態に係る操作部のＣＰＵ上で動作するプログラムの一例のアーキテクチャを示す図である。
【図７】図７は、第１の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れを概略的に示す図である。
【図８】図８は、第１の実施形態に係る操作部の機能を説明するための一例の機能ブロック図である。
【図９】図９は、第１の実施形態に係る本体部の機能を説明するための一例の機能ブロック図である。
【図１０】図１０は、第１の実施形態に係るサーバの機能を説明するための一例の機能ブロック図である。
【図１１】図１１は、第１の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。
【図１２】図１２は、第１の実施形態に係る実行指示の例を示す図である。
【図１３】図１３は、ＵＲＬの構造の例を示す図である。
【図１４】図１４は、第１の実施形態に係る、サーバに記憶される許可条件情報リストの例を示す図である。
【図１５】図１５は、第１の実施形態に係る許可条件情報リストに許可条件情報を登録するための許可条件情報入力画面の例を示す図である。
【図１６】図１６は、第１の実施形態に係るエラー通知画面の例を示す図である。
【図１７】図１７は、第１の実施形態の変形例に係る本体部の機能を説明するための一例の機能ブロック図である。
【図１８】図１８は、第１の実施形態の変形例に係る、Ｗｅｂアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。
【図１９】図１９は、第２の実施形態に係る操作部の機能を説明するための一例の機能ブロック図である。
【図２０】図２０は、第２の実施形態に係る本体部の機能を説明するための機能ブロック図である。
【図２１】図２１は、第２の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れを概略的に示す図である。
【図２２】図２２は、第２の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。
【図２３】図２３は、第２の実施形態の変形例に係る操作部の機能を説明するための一例の機能ブロック図である。
【図２４】図２４は、第２の実施形態の変形例に係る、Ｗｅｂアプリを用いる際の処理の流れを示す一例のシーケンス図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
以下に添付図面を参照して、情報処理システム、情報処理方法、情報処理装置および情報処理プログラムの実施形態を詳細に説明する。図１は、第１の実施形態に適用可能な情報処理システムの一例の構成を示す。図１の例では、情報処理システムは、ネットワーク４０を介して接続された画像形成装置１０とサーバ２０とを含む。また、ネットワーク４０は、インターネット５０と接続され、例えば画像形成装置１０は、インターネット５０上のＷｅｂサーバ６０ａ、６０ｂと通信を行うことができる。
【００１１】
ネットワーク４０は、例えばＬＡＮ(Local  Area  Network)であって、会社や事業所などの特定の単位内で閉じたネットワークである。画像形成装置１０は、プリンタ機能、スキャナ機能、コピー機能といった複数の機能を１台の筐体で実現した複合機（ＭＦＰ(Multi  Function  Printer)）である。プリンタ機能は、画像データに基づき記録媒体に画像を形成する機能である。スキャナ機能は、原稿画像を読み取り画像データを出力する機能である。また、コピー機能は、スキャナ機能により原稿を読み取り出力された画像データに基づき、プリンタ機能により記録媒体に画像を形成する機能である。
【００１２】
画像形成装置１０は、例えば、パーソナルコンピュータ（ＰＣ）３０からネットワーク４０を介して供給された印刷ジョブに従いプリンタ機能により印刷を実行することができる。また、画像形成装置１０は、スキャナ機能により原稿を読み取り取得された画像データをネットワーク４０を介してＰＣ３０に送信することができる。
【００１３】
画像形成装置１０は、本体部１１および操作部１２を含む。本体部１１は、画像形成装置１０の各機能（プリンタ機能、スキャナ機能など）を実行するための各エンジンや、各エンジンを制御するためのコントローラを含む。操作部１２は、ユーザ操作を受け付けるユーザインタフェースを含み、ユーザ操作などに応じて本体部１１に対して各機能の実行を指示する。すなわち、画像形成装置１０において、操作部１２は、ユーザ操作などによる入力を受け付ける入力装置であって、本体部１１は、操作部１２からの実行指示に応じて、プリンタ機能、スキャナ機能などにより情報を出力する出力装置であるといえる。画像形成装置１０において、これら本体部１１および操作部１２は、それぞれ独立した装置として構成され、画像形成装置１０の内部的な通信ネットワークを介して接続される。
【００１４】
なお、画像形成装置１０は、複合機に限られず、プリンタ機能やスキャナ機能を単独で提供するプリンタ装置やスキャナ装置であってもよい。
【００１５】
第１の実施形態に係る操作部１２は、ユーザインタフェースや、本体部１１に対する実行指示を出す機能を実現するためのアプリケーションプログラムを、外部から取得することができる。図１の例では、操作部１２は、例えばインターネット５０上のコンテンツにアクセス可能なブラウザプログラム（以下、ブラウザ）が搭載される。ブラウザは、インターネット５０に接続されるＷｅｂサーバ６０ａ、６０ｂにアクセスし、当該Ｗｅｂサーバ６０ａ、６０ｂから送信されたコンテンツ（Ｗｅｂコンテンツと呼ぶ）を取得して、取得したＷｅｂコンテンツに基づく表示を行う。そして、ブラウザは、取得したＷｅｂコンテンツによる表示に基づくユーザ入力に応じて、Ｗｅｂコンテンツに含まれる命令を実行することができる。また、ブラウザは、この命令の実行に伴い、必要に応じてＷｅｂサーバ６０ａ、６０ｂ上のプログラムを動作させることができる。
【００１６】
以下、ブラウザがＷｅｂサーバ６０ａ、６０ｂから取得したＷｅｂコンテンツに含まれる命令と、ブラウザから送信された当該命令の実行に応じてＷｅｂサーバ６０ａ、６０ｂ上で実行可能なプログラムとを含めて、Ｗｅｂアプリと呼ぶ。操作部１２は、Ｗｅｂサーバ６０ａ、６０ｂから取得したＷｅｂコンテンツに基づきＷｅｂアプリを実行させることで、本体部１１に対する実行指示を出すことができる。
【００１７】
サーバ２０は、操作部１２がＷｅｂサーバ６０ａ、６０ｂから取得したＷｅｂコンテンツに基づくＷｅｂアプリの実行を許可するか否かを判定するための許可条件情報を記憶する。第１の実施形態では、画像形成装置１０において、本体部１１は、操作部１２が取得したＷｅｂコンテンツに基づくＷｅｂアプリによる実行指示が実行可能か否かを、サーバ２０に記憶される許可条件情報に基づき判定する。
【００１８】
図２は、第１の実施形態に係る、画像形成装置１０の本体部１１のハードウェア構成の例を示す。図２において、本体部１１は、ＣＰＵ(Central  Processing  Unit)１１００と、ＲＯＭ(Read  Only  Memory)１１０１と、ＲＡＭ(Random  Access  Memory)１１０２と、ＮＶＲＡＭ（不揮発性ＲＡＭ）１１０３と、ストレージ１１０４と、データＩ／Ｆ１１０５と、内部通信Ｉ／Ｆ１１０６と、機能部Ｉ／Ｆ１１０７とを含み、これら各部がバス１１１０により互いに通信可能に接続される。
【００１９】
ストレージ１１０４は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、ＣＰＵ１１００を動作させるためのプログラムや、各種のデータが記憶される。ＲＯＭ１１０１は、例えば本体部１１を起動させるために用いるプログラムおよびデータが予め記憶される。また、ＮＶＲＡＭ１１０３は、本体部１１に対して設定された設定値などが記憶される。ＣＰＵ１１００は、ストレージ１１０４およびＲＯＭ１１０１に記憶されるプログラムと、ストレージ１１０４およびＮＶＲＡＭ１１０３に記憶される各データとに従い、ＲＡＭ１１０２をワークメモリとして用いて、この本体部１１の全体の動作を制御する。
【００２０】
データＩ／Ｆ１１０５は、外部機器に対するインタフェースであって、例えばＵＳＢ(Universal  Serial  Bus)を適用できる。内部通信Ｉ／Ｆ１１０６は、画像形成装置１０において内部的に操作部１２と通信を行うためのインタフェースであって、例えばＵＳＢ  ｏｖｅｒ  ＩＰ(Internet  Protocol)を適用できる。ＵＳＢ  ｏｖｅｒ  ＩＰは、ＵＳＢ機器をＬＡＮで接続するための通信方式であって、ＩＰをプロトコルとして用いて通信を行う。
【００２１】
機能部Ｉ／Ｆ１１０７は、画像形成装置１０の各機能を実現するための各エンジンに対するインタフェースである。図２の例では、機能部Ｉ／Ｆ１１０７は、スキャナ機能、プリンタ機能およびＦＡＸ機能をそれぞれ実現するためのスキャナエンジン１１２０、プリンタエンジン１１２１およびＦＡＸユニット１１２２が接続され、例えば、これら各部とＣＰＵ１１００との間のデータの調停処理や、制御情報の送受信などを行う。
【００２２】
図３は、第１の実施形態に係る、画像形成装置１０の操作部１２のハードウェア構成の例を示す。図３に示されるように、操作部１２は、一般的なコンピュータと同等の構成を有する。すなわち、操作部１２は、ＣＰＵ１２００と、ＲＯＭ１２０１と、ＲＡＭ１２０２と、ＮＶＲＡＭ１２０３と、グラフィクスＩ／Ｆ１２０４と、ストレージ１２０６と、データＩ／Ｆ１２０７と、通信Ｉ／Ｆ１２０８と、内部通信Ｉ／Ｆ１２０９と、入力デバイス１２１０とを含み、これら各部がバス１２２０により互いに通信可能に接続される。また、操作部１２において、グラフィクスＩ／Ｆ１２０４に対して表示デバイス１２０５が接続される。
【００２３】
ストレージ１２０６は、フラッシュメモリといった不揮発性メモリであって、ＣＰＵ１２００を動作させるためのプログラムや、各種のデータが記憶される。ストレージ１２０６としてハードディスクドライブを用いてもよい。ＲＯＭ１２０１は、例えば操作部１２を起動させるために用いるプログラムおよびデータが予め記憶され、ＮＶＲＡＭ１２０３は、操作部１２に対して設定された設定値などが記憶される。ＣＰＵ１２００は、ストレージ１２０６およびＲＯＭ１２０１に記憶されるプログラムと、ストレージ１２０６およびＮＶＲＡＭ１２０３に記憶される各データとに従い、ＲＡＭ１２０２をワークメモリとして用いて、この操作部１２の全体の動作を制御する。
【００２４】
データＩ／Ｆ１２０７は、外部機器に対するインタフェースであって、例えばＵＳＢを適用できる。通信Ｉ／Ｆ１２０８は、ネットワーク４０を介した通信を制御する。内部通信Ｉ／Ｆ１２０９は、画像形成装置１０において内部的に本体部１１と通信を行うためのインタフェースであって、上述した本体部１１の内部通信Ｉ／Ｆ１１０６に対応して例えばＵＳＢ  ｏｖｅｒ  ＩＰが適用される。
【００２５】
グラフィクスＩ／Ｆ１２０４は、ＣＰＵ１２００によりプログラムに従い生成された表示制御情報を表示信号に変換して表示デバイス１２０５に供給する。表示デバイス１２０５は、例えばＬＣＤ(Liquid  Crystal  Display)と、ＬＣＤを駆動する駆動回路とを含み、グラフィクスＩ／Ｆ１２０４から供給された表示信号に従った画面を表示する。入力デバイス１２１０は、例えば表示デバイス１２０５と一体的に形成されたタッチパネルであって、ユーザ操作により指定された位置に応じた信号を出力する。入力デバイス１２１０は、これに限らず、例えばキーボードと、マウスなどのポインティングデバイスとを含んだ構成でもよい。
【００２６】
図４は、第１の実施形態に適用可能なサーバ２０のハードウェア構成の例を示す。図２に示されるように、サーバ２０は、一般的なコンピュータと同等の構成を適用することができる。図４において、サーバ２０は、ＣＰＵ２０００と、ＲＯＭ２００１と、ＲＡＭ２００２と、ストレージ２００３と、データＩ／Ｆ２００４と、通信Ｉ／Ｆ２００５とを含み、これら各部がバス２０１０により互いに通信可能に接続される。
【００２７】
ストレージ２００３は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、ＣＰＵ２０００を動作させるためのプログラムや、各種のデータが記憶される。ＲＯＭ２００１は、例えばサーバ２０を起動させるために用いるプログラムおよびデータが予め記憶される。ＣＰＵ２０００は、ストレージ２００３およびＲＯＭ２００１に記憶されるプログラムおよび各データに従い、ＲＡＭ２００２をワークメモリとして用いて、このサーバ２０の全体の動作を制御する。
【００２８】
なお、ストレージ２００３は、画像形成装置１０の操作部１２が取得したＷｅｂコンテンツに基づくＷｅｂアプリの実行を許可するか否かを判定するための、上述した許可条件情報を、さらに記憶する。
【００２９】
データＩ／Ｆ２００４は、外部機器に対するインタフェースであって、例えばＵＳＢを適用することができる。通信Ｉ／Ｆ２００５は、インターネット５０を介した通信を制御する。
【００３０】
図５は、第１の実施形態に係る本体部１１のＣＰＵ１１００上で動作するプログラムの一例のアーキテクチャを示す。図５において、本体部１１は、ＯＳ(Operating  System)１１３０と、サービス部１１３１と、画像形成装置１０の各機能を実現するためのコピー機能部１１３２ａ、スキャナ機能部１１３２ｂ、プリンタ機能部１１３２ｃおよびＦＡＸ機能部１１３２ｄと、プログラム群１１３３と、組込みアプリケーションプログラム（組込みアプリ）１１３４とを含み、各部は、ＯＳ１１３０を最下層として、図５のように階層構造をなす。
【００３１】
ＯＳ１１３０は、本体部１１上で動作する各プログラムのタスク管理、資源管理、本体部１１のハードウェア制御などを行い、本体部１１の全体の動作を制御する。サービス部１１３１は、コピー機能部１１３２ａ、スキャナ機能部１１３２ｂ、プリンタ機能部１１３２ｃおよびＦＡＸ機能部１１３２ｄ、ならびに、プログラム群１１３３および組込みアプリ１１３４がＯＳ１１３０の機能を利用する際のインタフェースとして機能する。
【００３２】
コピー機能部１１３２ａ、スキャナ機能部１１３２ｂ、プリンタ機能部１１３２ｃおよびＦＡＸ機能部１１３２ｄは、それぞれ、コピー機能、スキャナ機能、プリンタ機能およびＦＡＸ機能を利用するための基本的なプログラムを含む。コピー機能部１１３２ａ、スキャナ機能部１１３２ｂ、プリンタ機能部１１３２ｃおよびＦＡＸ機能部１１３２ｄは、例えば、組込みアプリ１１３４からの指示や、操作部１２からの実行指示に応じて、サービス部１１３１を介して、ＯＳ１１３０に、スキャナエンジン１１２０、プリンタエンジン１１２１およびＦＡＸユニット１１２２の制御を依頼する。
【００３３】
組込みアプリ１１３４は、例えば本体部１１（画像形成装置１０）の製造元から予め提供されるアプリケーションプログラムであって、コピー機能、スキャナ機能、プリンタ機能およびＦＡＸ機能に対する応用的なプログラムを含む。また、組込みアプリ１１３４は、第１の実施形態に係る本体部１１における情報処理プログラムを含む。プログラム群１１３３は、組込みアプリ１１３４が利用する、ＡＰＩ(Application  Programming  Interface)などの複数のプログラムの集合である。組込みアプリ１１３４は、サービス部１１３１を介して、ＯＳ１１３０に対して操作部１２との通信や、スキャナエンジン１１２０、プリンタエンジン１１２１およびＦＡＸユニット１１２２の制御を依頼することができる。
【００３４】
図６は、第１の実施形態に係る操作部１２のＣＰＵ１２００上で動作するプログラムの一例のアーキテクチャを示す。図６において、操作部１２は、ＯＳ１２３０と、ライブラリ１２３１と、アプリケーションフレームワーク１２３２と、組込みアプリ１２３３と、ブラウザ１２３４とを含み、各部は、ＯＳ１２３０を最下層として、図６のように階層構造をなす。
【００３５】
なお、Ｗｅｂコンテンツ１２３５は、ブラウザ１２３４によりインターネット５０を介して例えばＷｅｂサーバ６０ａから取得され、ＲＡＭ１２０２などに記憶されて、一時的に操作部１２に搭載される。
【００３６】
ＯＳ１２３０は、操作部１２上で動作する各プログラムのタスク管理、資源管理、操作部１２のハードウェア制御などを行い、操作部１２の全体の動作を制御する。ライブラリ１２３１は、より上層の、アプリケーションフレームワーク１２３２、組込みアプリ１２３３およびブラウザ１２３４などに、各種の関数などを提供する。アプリケーションフレームワーク１２３２は、操作部１２において用いられる汎用的な機能や基本的な制御構造を提供するプログラム群である。例えば、内部通信Ｉ／Ｆ１２０９による通信制御機能や、グラフィクスＩ／Ｆ１２０４による表示制御機能、入力デバイス１２１０における入力制御機能などが、アプリケーションフレームワーク１２３２により提供される。
【００３７】
組込みアプリ１２３３は、上述した本体部１１における組込みアプリ１１３４と同様に、操作部１２（画像形成装置１０）の製造元から予め提供されるアプリケーションプログラムであって、本体部１１の機能を利用するためのプログラムを含む。組込みアプリ１２３３は、本体部１１に対して、コピー機能、スキャナ機能、プリンタ機能、ＦＡＸ機能などの各機能の実行指示を出すことができる。実行指示は、本体部１１において、プログラム群１１３３に含まれる所定のプログラムにより受け付けられて、例えば、コピー機能部１１３２ａ、スキャナ機能部１１３２ｂ、プリンタ機能部１１３２ｃまたはＦＡＸ機能部１１３２ｄに渡される。
【００３８】
ブラウザ１２３４は、指定されたＵＲＬ(Uniform  Resource  Locator)に従い、インターネット５０にアクセスし、ＨＴＭＬ(HyperText  Markup  Language)に従い記述されたＨＴＭＬデータを当該ＵＲＬから取得する。ブラウザ１２３４は、取得したＨＴＭＬデータの記述に従い、Ｗｅｂページを画面に表示するための表示制御情報を生成する。また、ブラウザ１２３４は、表示されたＷｅｂページに応じてなされた入力を受け付ける。
【００３９】
さらに、ブラウザ１２３４は、ＷｅｂコンテンツであるＨＴＭＬデータに組み込まれた命令を解釈して実行することができる。命令は、一般的には、スクリプトとしてＨＴＭＬデータに組み込まれる。ブラウザ１２３４上で実行可能なスクリプトの代表的なものにＪａｖａＳｃｒｉｐｔ（登録商標）がある。以下では、ブラウザ１２３４上で実行されるスクリプトがＪａｖａＳｃｒｉｐｔ（登録商標）であるとして説明する。
【００４０】
ブラウザ１２３４は、組込みアプリ１２３３と同様にして、Ｗｅｂコンテンツ１２３５に組み込まれたスクリプトに基づき、本体部１１に対して、コピー機能、スキャナ機能、プリンタ機能、ＦＡＸ機能などの各機能の実行指示を出すことができる。Ｗｅｂコンテンツ１２３５は、例えば画像形成装置１０の製造者や、当該製造者以外のベンダにより供給され、組み込まれたスクリプト（命令）に従い、本体部１１におけるコピー機能、スキャナ機能、プリンタ機能、ＦＡＸ機能などの基本的な機能に対して拡張された機能を提供できる。
【００４１】
（第１の実施形態に係る処理）
図７は、第１の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れを概略的に示す。画像形成装置１０において、操作部１２は、Ｗｅｂアプリによる画面表示を要求するユーザ操作を受け付ける（ステップＳ１０）。ここでは、ユーザ操作は、Ｗｅｂサーバ６０ａから取得したＷｅｂコンテンツ１２３５による画面表示を要求するものであるとする。
【００４２】
操作部１２は、受け付けたユーザ操作によりブラウザ１２３４に指定されたＵＲＬに従いネットワーク４０およびインターネット５０を介してＷｅｂサーバ６０ａにアクセスし（ステップＳ１１）、Ｗｅｂサーバ６０ａからＷｅｂコンテンツ１２３５を取得する（ステップＳ１２）。操作部１２において、ブラウザ１２３４は、取得したＷｅｂコンテンツ１２３５を読み込み、例えば操作部１２のＲＡＭ１２０２に記憶させる。
【００４３】
ブラウザ１２３４は、取得したＷｅｂコンテンツ１２３５を解釈して画面表示を行う。また、ブラウザ１２３４は、当該Ｗｅｂコンテンツ１２３５から、本体部１１に対する実行指示と、当該実行指示の本体部１１における実行を許可するか否かを判定するための条件である許可条件情報とを抽出する。ブラウザ１２３４は、Ｗｅｂコンテンツ１２３５による表示画面に基づくユーザ操作を受け付けると（ステップＳ１３）、ユーザ操作に応じた実行指示を本体部１１に送信する（ステップＳ１４）。このとき、操作部１２は、実行指示に、取得した許可条件情報を付加して本体部１１に送信する。
【００４４】
本体部１１は、操作部１２から送信された実行指示を受信すると、実行指示に付加された許可条件情報を取得する。本体部１１は、ネットワーク４０を介してサーバ２０にアクセスし（ステップＳ１５）、サーバ２０に記憶される許可条件情報を取得する（ステップＳ１６）。本体部１１は、サーバ２０から取得した許可条件情報と、操作部１２から受信した実行指示に付加された許可条件情報とを比較する。本体部１１は、比較結果に基づき、操作部１２から受信した実行指示の実行を許可するか否かを判定する。
【００４５】
第１の実施形態では、これにより、例えば実行指示から取得された許可条件情報がサーバ２０に記憶される許可条件情報と異なる場合に、本体部１１における実行指示による処理を実行させないようにできる。
【００４６】
例えば、ブラウザ１２３４からＷｅｂサーバ６０ａにアクセスする際に、悪意ある第三者の介入により不正なＷｅｂサーバ（Ｗｅｂサーバ６０ｂとする）に誘導され、ユーザの意図しないＷｅｂコンテンツ１２３５が取得されてしまうことが起こり得る。第１の実施形態によれば、このような場合でも、意図しないＷｅｂコンテンツ１２３５による実行指示を無効とさせることが可能となる。
【００４７】
（第１の実施形態に係る処理の詳細）
図８〜図１０を用いて、第１の実施形態に係る操作部１２、本体部１１およびサーバ２０の機能について説明する。図８は、第１の実施形態に係る操作部１２の機能を説明するための一例の機能ブロック図である。図８において、操作部１２は、入力受付部１２０と、表示制御部１２１と、解析部１２２と、取得部１２３と、送信部１２４とを含む。
【００４８】
これら入力受付部１２０、表示制御部１２１、解析部１２２、取得部１２３および送信部１２４は、ＣＰＵ１２００上で動作するプログラムにより実現される。これに限らず、入力受付部１２０、表示制御部１２１、解析部１２２、取得部１２３および送信部１２４は、これら各部のうち一部または全部を互いに協働して動作するハードウェアにより構成することも可能である。
【００４９】
入力受付部１２０は、操作部１２に対するユーザ操作による入力を受け付ける。例えば、入力受付部１２０は、ブラウザ１２３４の画面に応じたユーザ操作による入力を受け付けることができる。表示制御部１２１は、グラフィクスＩ／Ｆ１２０４に供給するための表示制御信号を生成し、表示デバイス１２０５に対する画面表示を制御する。解析部１２２は、ブラウザ１２３４に読み込まれたスクリプトを解析する。取得部１２３は、ブラウザ１２３４に読み込まれるＨＴＭＬデータの取得元を示す取得元情報を取得する。送信部１２４は、実行指示などの情報を本体部１１に送信する処理を行う。
【００５０】
入力受付部１２０、表示制御部１２１、取得部１２３および送信部１２４は、例えば、ブラウザ１２３４と、アプリケーションフレームワーク１２３２とが協働して動作することで実現される。また、解析部１２２は、ブラウザ１２３４の機能の一部である。
【００５１】
入力受付部１２０、表示制御部１２１、解析部１２２、取得部１２３および送信部１２４を実現するためのプログラムは、操作部１２のストレージ１２０６やＲＯＭ１２０１に予め組み込んで提供される。これに限らず、当該プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。さらに、当該プログラムを、インストール可能な形式また実行可能な形式のファイルでＣＤ(Compact  Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
【００５２】
当該プログラムは、上述した各部（入力受付部１２０、表示制御部１２１、解析部１２２、取得部１２３および送信部１２４）を含むモジュール構成となっている。実際のハードウェアとしては、操作部１２においてＣＰＵ１２００が、ストレージ１２０６やＲＯＭ１２０１から当該プログラムを読み出して実行することにより、上述した各部がＲＡＭ１２０２などの主記憶装置上にロードされ、入力受付部１２０、表示制御部１２１、解析部１２２、取得部１２３および送信部１２４が主記憶装置上に生成されるようになっている。
【００５３】
図９は、第１の実施形態に係る本体部１１の機能を説明するための一例の機能ブロック図である。図９において、本体部１１は、受信部１１０と、解析部１１１と、許可条件取得部１１２と、出力部１１３と、判定部１１４とを含む。これら受信部１１０、解析部１１１、許可条件取得部１１２、出力部１１３および判定部１１４は、ＣＰＵ１１００上で動作するプログラムにより実現される。これに限らず、受信部１１０、解析部１１１、許可条件取得部１１２、出力部１１３および判定部１１４は、これら各部のうち一部または全部を互いに協働して動作するハードウェアにより構成することも可能である。
【００５４】
受信部１１０は、操作部１２から送信された実行指示などの情報を受信する処理を行う。解析部１１１は、受信部１１０で受信された実行指示を解析する。また、許可条件取得部１１２は、サーバ２０に記憶される許可条件情報を取得する。出力部１１３は、解析部１１１による実行指示の解析結果に従い、スキャナエンジン１１２０、プリンタエンジン１１２１およびＦＡＸユニット１１２２による出力処理を実行させる。判定部１１４は、サーバ２０から取得した許可条件情報と、解析部１１１による実行指示の解析結果とに基づき、出力部１１３の実行指示に従った出力処理の実行を許可するか否かを判定する。
【００５５】
受信部１１０、解析部１１１、許可条件取得部１１２、出力部１１３および判定部１１４を実現するためのプログラムは、本体部１１のストレージ１１０４やＲＯＭ１１０１に予め組み込んで提供される。これに限らず、当該プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。さらに、当該プログラムを、インストール可能な形式また実行可能な形式のファイルでＣＤ(Compact  Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
【００５６】
当該プログラムは、上述した各部（受信部１１０、解析部１１１、許可条件取得部１１２、出力部１１３および判定部１１４）を含むモジュール構成となっている。実際のハードウェアとしては、本体部１１においてＣＰＵ１１００が、ストレージ１１０４やＲＯＭ１１０１から当該プログラムを読み出して実行することにより、上述した各部がＲＡＭ１１０２などの主記憶装置上にロードされ、受信部１１０、出力部１１１、許可条件取得部１１２および判定部１１３が主記憶装置上に生成されるようになっている。
【００５７】
図１０は、第１の実施形態に係るサーバ２０の機能を説明するための一例の機能ブロック図である。図１０において、サーバ２０は、許可条件記憶部２００を含む。許可条件記憶部２００は、サーバ２０のＣＰＵ２０００上で動作するプログラムにより実現される。許可条件記憶部２００は、例えばストレージ２００３に対する許可条件情報リストの記憶と、ストレージ２００３に記憶された許可条件情報リストの読み出しとを制御する。
【００５８】
図１１は、第１の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。なお、図１１において、上述した図１と対応する部分には同一の符号を付して、詳細な説明を省略する。図１１のシーケンスによる処理の開始時点では、操作部１２は、Ｗｅｂコンテンツ１２３５が取得されていないものとする。
【００５９】
画像形成装置１０において、操作部１２は、Ｗｅｂコンテンツ１２３５による画面表示を要求するユーザ操作を受け付ける（ステップＳ１００）。例えば、ユーザは、操作部１２に対する所定の操作によりブラウザ１２３４を起動させ、ブラウザ１２３４に対してＷｅｂコンテンツ１２３５の取得元のＵＲＬ、例えばＷｅｂサーバ６０ａのＵＲＬを入力する。操作部１２は、ブラウザ１２３４により、この要求に応じて、Ｗｅｂサーバ６０ａに対して画面表示のためのＨＴＭＬデータを要求する（ステップＳ１０１）。
【００６０】
Ｗｅｂサーバ６０ａは、この要求に応じて、Ｗｅｂアプリを実行するためのスクリプトが埋め込まれたＨＴＭＬデータを操作部１２に対して送信する。操作部１２は、Ｗｅｂサーバ６０ａから送信されたＨＴＭＬデータを取得する（ステップＳ１０２）。
【００６１】
操作部１２は、ブラウザ１２３４により、Ｗｅｂサーバ６０ａから取得したＨＴＭＬデータを解釈して画面の表示を行う（ステップＳ１０３）。操作部１２は、表示された画面に応じたユーザ操作を待機する。操作部１２に対してなされた、本体部１１に対する所定の処理の実行を指示するユーザ操作が入力受付部１２０により受け付けられる（ステップＳ１１０）。
【００６２】
操作部１２は、入力受付部１２０により当該ユーザの操作が受け付けられると、ブラウザ１２３４により、Ｗｅｂサーバ６０ａから取得したＨＴＭＬデータに埋め込まれたスクリプトを解析し、スクリプトから実行指示を抽出する（ステップＳ１１１）。また、操作部１２は、取得部１２３により、ステップＳ１００でブラウザ１２３４に入力されたＵＲＬを取得し、取得したＵＲＬを、Ｗｅｂコンテンツ１２３５の取得元を示す取得元情報として実行指示に付加する。
【００６３】
図１２は、第１の実施形態に係る実行指示の例を示す。図１２において、実行指示は、リクエストボディ、宛先アドレス情報、送信元アドレス情報、認証情報、Ｗｅｂサーバドメイン名、アプリケーションＩＤおよびジョブ設定情報の各情報を含む。
【００６４】
リクエストボディは、フォーマットおよびサイズの各情報を含み、この実行指示のデータフォーマットと、データサイズとを示す。宛先アドレス情報は、この実行指示が出力結果を送信する指示である場合に、送信先のアドレス情報（ＵＲＬ、メールアドレスなど）を示す。送信元アドレス情報は、同様に、この実行指示が出力結果を送信する指示である場合に、送信元すなわち画像形成装置１０のアドレス情報（ＩＰアドレス、ホスト名など）を示す。認証情報は、ステップＳ１００またはステップＳ１１０のユーザ操作を行う際にユーザ認証が必要な場合に入力された認証情報（ユーザＩＤ、パスワードなど）を示す。
【００６５】
Ｗｅｂサーバドメイン名は、この実行指示が抽出されたスクリプトを含むＷｅｂコンテンツ１２３５（ＨＴＭＬデータ）の取得元のＷｅｂサーバ（この例ではＷｅｂサーバ６０ａ）のドメイン名を示す。すなわち、項目「Ｗｅｂサーバドメイン名」は、当該Ｗｅｂコンテンツ１２３５の取得元を示す取得元情報である。
【００６６】
図１３は、ＵＲＬの構造の例を示す。図１３に例示されるように、ＵＲＬは、それぞれスラッシュ「／」およびコロン「：」を区切り記号として区切られた、プロトコル表示と、ドメイン名と、ディレクトリ名と、ファイル名とを含んで構成される。ディレクトリ名は、スラッシュで区切って階層構造とすることができる。図１３の例では、ドメイン名は、「ｅｘａｍｐｌｅ．ｃｏｍ」となっている。ドメイン名の直前に、ピリオド「．」で区切ってサブドメイン名を含む場合がある。ドメイン名は、ピリオドで区切られた階層構造をなしており、右からトップレベルドメイン、セカンドレベルドメイン、サードレベルドメイン、…と、区分が細かくなる。
【００６７】
図１２の説明に戻り、アプリケーションＩＤは、例えば、実行指示が抽出されたスクリプトを含むＷｅｂコンテンツ１２３５のＩＤを示す。
【００６８】
ジョブ設定情報は、この例では実行モード、サイズおよびスキャナ部の各情報を含み、当該実行指示の対象の機能と、当該機能に対する設定情報を示す。実行モードは、当該実行指示により指示される実行モードを示し、この実行モードの内容により、本体部１１においてコピー機能、スキャナ機能、プリンタ機能およびＦＡＸ機能のうち何れの実行が指示されるかを判別できる。図１２の例では、実行モードに「Ｓｃａｎ  Ｔｏ  Ｓｅｎｄ」あるいは「Ｓｃａｎ  Ｔｏ  Ｅｍａｉｌ」が設定され、スキャナ機能の実行が指示されることが分かる。サイズは、例えば、設定された機能に用いられるデータのサイズを示す。スキャナ部は、設定された機能がスキャナ機能を含む場合、スキャンをＡＤＦ(Auto  Document  Feeder)と圧版とのうち何れを用いて行うかが示される。
【００６９】
操作部１２は、スクリプトから抽出され取得元情報が付加された実行指示を、本体部１１に送信する（ステップＳ１１２）。本体部１１は、実行指示を受信部１１０により受信し、受信した実行指示を、解析部１１１により解析する（ステップＳ１１３）。解析部１１１は、実行指示を解析した結果に基づき、実行指示に含まれる項目「Ｗｅｂサーバドメイン名」の情報すなわちＷｅｂコンテンツ１２３５の取得元情報を取得し、判定部１１４に渡す。また、解析部１１１は、解析した実行指示を出力部１１３に渡す。
【００７０】
本体部１１は、許可条件取得部１１２により、サーバ２０に対して許可条件情報を要求する（ステップＳ１１４）。サーバ２０は、許可条件記憶部２００により、記憶される許可条件情報リストを読み出して本体部１１に送信する。サーバ２０から送信された許可条件情報リストは、本体部１１に受信されて許可条件取得部１１２に取得される（ステップＳ１１５）。
【００７１】
サーバ２０は、ステップＳ１１４による本体部１１からの許可条件情報の要求に対して、許可条件情報リストに含まれる各許可条件情報の組織ＩＤ、機器ＩＤ、許可ドメイン名および許可ＡＰＩ種別のうち、少なくとも各許可ドメイン名を、ステップＳ１１５において本体部１１に送信する。
【００７２】
図１４は、第１の実施形態に係る、サーバ２０に記憶される許可条件情報リストの例を示す。図１４の例では、許可条件情報リストに含まれる各許可条件情報は、組織ＩＤと、機器ＩＤと、許可ドメイン名と、許可ＡＰＩ種別とを含む。組織ＩＤは、スクリプトの実行を許可するＷｅｂコンテンツ１２３５のベンダを識別する識別情報である。機器ＩＤは、スクリプトの実行を許可する機器を識別する識別情報である。許可ドメイン名は、実行を許可するスクリプトを含むＷｅｂコンテンツ１２３５の取得元情報であって、Ｗｅｂコンテンツ１２３５の取得元の例えばＷｅｂサーバ６０ａのドメイン名である。許可ＡＰＩ種別は、本体部１１において実行を許可するＡＰＩ種別である。
【００７３】
図１５は、第１の実施形態に係る、サーバ２０の許可条件情報リストに許可条件情報を登録するための許可条件情報入力画面の例を示す。図１５において、許可条件情報入力画面３００は、許可条件情報の入力を促すメッセージ３０１と、入力領域３０２および３０３と、ボタン３０４とを含む。入力領域３０２は、許可ドメイン名を入力するための領域である。入力領域３０３は、ＡＰＩ種別を入力するための領域である。ボタン３０４は、サーバ２０に対して、入力領域３０２および３０３に入力された情報の登録を指示するためのボタンである。
【００７４】
なお、図１５の例では、許可条件情報入力画面３００は、図１４に示した許可条件情報に含まれる各情報のうち、許可ドメイン名とＡＰＩ種別とを入力するようになっている。これに限らず、許可条件情報入力画面３００は、組織ＩＤと機器ＩＤとを入力する入力領域をさらに設けてもよい。また、許可条件情報に含まれる各情報のうち、許可ドメイン名は、入力が必須の情報であるため、ボタン３０４は、入力領域３０２が空欄の場合は操作不可とすることもできる。
【００７５】
許可条件情報入力画面３００は、例えば、ネットワーク４０に接続されるＰＣ３０において表示させることができる。この場合、ＰＣ３０は、許可条件情報入力画面３００に入力された許可条件情報を、ネットワーク４０を介してサーバ２０に送信する。サーバ２０は、ＰＣ３０から送信された許可条件情報を受信し、受信した許可条件情報を、許可条件記憶部２００により、例えばストレージ２００３に記憶される許可条件情報リストに追加して記憶させ、許可条件情報の登録を行う。これに限らず、ユーザ入力を受け付ける入力手段と、情報を表示する表示手段とをサーバ２０に設け、サーバ２０において許可条件情報入力画面３００を表示させて許可条件情報の入力および登録を行ってもよい。
【００７６】
図１１の説明に戻り、本体部１１は、判定部１１４により、ステップＳ１１３において解析部１１１より渡された取得元情報と、ステップＳ１１５でサーバ２０から取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップＳ１１２において操作部１２から送信された実行指示に従った処理の実行を許可するか否かを判定する（ステップＳ１１６）。
【００７７】
本体部１１は、判定部１１４により、サーバ２０から取得した各取得元情報の何れかと、解析部１１１から渡された取得元情報とが一致する場合に、実行指示に従った処理の実行を許可すると判定する（ステップＳ１１６、「ＯＫ」）。判定部１１４は、処理実行の許可を出力部１１３に通知する。本体部１１は、出力部１１３により、この許可の通知に応じて、ステップＳ１１３で解析部１１１から渡された実行指示に従い処理を実行する（ステップＳ１１７）。このとき、本体部１１は、必要に応じてＷｅｂサーバ６０ａ上のプログラムを実行させることができる、本体部１１は、実行指示の実行結果を操作部１２に送信する（ステップＳ１１８）。
【００７８】
一方、本体部１１は、ステップＳ１１６で、判定部１１４により、解析部１１１から渡された取得元情報と一致する情報がサーバ２０から取得した各取得元情報に含まれないと判定した場合、実行指示に従った実行を許可しないと判定する（ステップＳ１１６、「ＮＧ」）。この場合、判定部１１４は、例えば、操作部１２に対してエラー通知を送信する（ステップＳ１１９）。
【００７９】
操作部１２は、本体部１１からのエラー通知を受信すると、ブラウザ１２３４により、エラー通知に応じた画面を表示させる。図１６は、第１の実施形態に係るエラー通知画面の例を示す。図１６の例では、エラー通知画面３１０は、表示領域３１１に、エラー内容を識別するためのエラーコードと、エラーコードに応じたエラーメッセージとが表示されている。ボタン３１２を操作することで、エラー通知画面３１０を消去することができる。
【００８０】
このように、第１の実施形態では、例えば実行指示から取得された取得元情報が、サーバ２０に記憶される各取得元情報に含まれない場合に、本体部１１における実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したＷｅｂコンテンツ１２３５が信頼できるものであるか否かを容易に判定でき、Ｗｅｂコンテンツ１２３５に基づくＷｅｂアプリの画像形成装置１０への導入が容易となる。
【００８１】
なお、上述では、サーバ２０は、許可条件情報リストに、実行指示による処理の実行を許可する許可条件情報を登録しているが、これはこの例に限定されない。例えば、サーバ２０は、許可条件情報リストに、実行指示による処理の実行を許可しない許可条件情報を登録してもよい。また、サーバ２０は、ステップＳ１１４による許可条件情報の要求に対して、許可ドメイン名に加えて、組織ＩＤ、機器ＩＤおよびＡＰＩ種別のうち１以上の情報を送信してもよい。この場合、本体部１１において、判定部１１４は、取得した各情報の論理積を用いて判定を行うことが考えられる。
【００８２】
（第１の実施形態の変形例）
次に、第１の実施形態の変形例について説明する。上述した第１の実施形態では、許可条件情報リストを、画像形成装置１０とネットワーク４０を介して接続されるサーバ２０が記憶していた。これに対して、第１の実施形態の変形例では、許可条件情報リストを、画像形成装置１０の本体部１１が記憶する。
【００８３】
図１７は、第１の実施形態の変形例に係る本体部１１ａの機能を説明するための一例の機能ブロック図である。図１７において、本体部１１ａは、図９を用いて説明した第１の実施形態に係る本体部１１に対して、許可条件情報リストの記憶を制御する許可条件記憶部１１５が追加されている。なお、本体部１１ａのハードウェア構成は、図２を用いて説明した第１の実施形態に係る本体部１１の構成をそのまま適用できるので、ここでの説明を省略する。
【００８４】
許可条件記憶部１１５は、例えばストレージ１１０４に対する許可条件情報リストの記憶と、ストレージ１１０４に記憶された許可条件情報リストの読み出しとを制御する。許可条件記憶部１１５は、上述した許可条件記憶部２００の場合と同様に、ＰＣ３０から送信された許可条件情報を、ストレージ１１０４に記憶される許可条件情報リストに追加して記憶させ、許可条件情報の登録を行う。これに限らず、本体部１１ａにユーザ入力を受け付ける入力手段と、情報を表示する表示手段とを設け、本体部１１ａにおいて上述した許可条件情報入力画面３００を表示させて許可条件情報の入力および登録を行ってもよい。
【００８５】
また、図１７において、許可条件取得部１１２ａは、本体部１１ａ内の許可条件記憶部１１５により、許可条件情報リストを取得する。
【００８６】
なお、第１の実施形態の変形例では、操作部１２は、図８を用いて説明した構成をそのまま適用できるので、ここでの説明を省略する。また、第１の実施形態の変形例では、図１を用いて説明した情報処理システムからサーバ２０を省略したシステムを適用できる。
【００８７】
図１８は、第１の実施形態の変形例に係る、Ｗｅｂコンテンツ１２３５を用いる際の処理の流れをより具体的に示す一例のシーケンス図である。なお、図１８において、上述した図１と対応する部分には同一の符号を付して、詳細な説明を省略する。また、図１８において、上述した図１１のシーケンス図と対応する処理には同一の符号を付して、詳細な説明を省略する。
【００８８】
ステップＳ１００〜ステップＳ１１２の処理は、上述した図１１のステップＳ１００〜ステップＳ１１２の処理と同等であるので、ここでの説明を省略する。なお、ここでは、図１１の説明における本体部１１を本体部１１ａと読み替えるものとする。
【００８９】
ステップＳ１１２により操作部１２から取得元情報が付加された実行指示が送信されると、本体部１１ａは、この実行指示を受信部１１０により受信し、受信した実行指示を、解析部１１１により解析する（ステップＳ１１３）。解析部１１１は、実行指示を解析した結果に基づき、実行指示に含まれるＷｅｂコンテンツ１２３５の取得元情報を取得し、判定部１１４に渡す。また、解析部１１１は、解析した実行指示を出力部１１３に渡す。
【００９０】
本体部１１ａは、許可条件取得部１１２ａにより、許可条件記憶部１１５に対して許可条件情報リストを要求し、この要求に応じて許可条件記憶部１１５により読み出された許可条件情報リストを取得する（ステップＳ１３０）。許可条件取得部１１２ａは、取得した許可条件情報リストを判定部１１４に渡す。このとき、許可条件取得部１１２ａは、許可条件情報リストに含まれる各許可条件情報の組織ＩＤ、機器ＩＤ、許可ドメイン名および許可ＡＰＩ種別のうち、少なくとも各許可ドメイン名を取得する。
【００９１】
本体部１１は、判定部１１４により、ステップＳ１１３において解析部１１１より渡された取得元情報と、ステップＳ１３０で許可条件記憶部１１５から取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップＳ１１２において操作部１２から送信された実行指示に従った処理の実行を許可するか否かを判定する（ステップＳ１１６）。
【００９２】
以降の処理は、上述した図１１のステップＳ１１６からの処理と同等なので、ここでの説明を省略する。
【００９３】
このように、第１の実施形態の変形例でも、例えば実行指示から取得された取得元情報が許可条件記憶部１１５に記憶される各取得元情報に含まれない場合に、本体部１１における実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したＷｅｂコンテンツ１２３５が信頼できるものであるか否かを容易に判定でき、Ｗｅｂコンテンツ１２３５に基づくＷｅｂアプリの画像形成装置１０への導入が容易となる。
【００９４】
（第２の実施形態）
次に、第２の実施形態について説明する。上述した第１の実施形態では、許可条件情報リストを画像形成装置１０の本体部１１が取得していた。これに対して、第２の実施形態は、許可条件情報リストを画像形成装置１０の操作部１２側で取得する例である。
【００９５】
図１９は、第２の実施形態に係る操作部１２ｂの機能を説明するための一例の機能ブロック図である。なお、図１９において、上述した図８と対応する部分には同一の符号を付して、詳細な説明を省略する。また、操作部１２ｂのハードウェア構成は、図３を用いて説明した第１の実施形態に係る操作部１２の構成をそのまま適用できるので、ここでの説明を省略する。
【００９６】
図１９において、操作部１２ｂは、図８を用いて説明した第１の実施形態に係る操作部１２に対して、許可条件取得部１２５および判定部１２６が追加されている。この許可条件取得部１２５および判定部１２６の機能は、上述した許可条件取得部１１２および判定部１１４の機能と同等であるので、ここでの説明を省略する。
【００９７】
図２０は、第２の実施形態に係る本体部１１ｂの機能を説明するための機能ブロック図である。なお、図２０において、上述した図９と対応する部分には同一の符号を付して、詳細な説明を省略する。図２０において、本体部１１ｂは、図９を用いて説明した第１の実施形態に係る本体部１１に対して、許可条件取得部１１２および判定部１１４が省略されている。
【００９８】
なお、第２の実施形態では、図１０を用いて説明した第１の実施形態に係るサーバ２０をそのまま用いる。
【００９９】
（第２の実施形態に係る処理）
図２１は、第２の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れを概略的に示す。なお、図２１において、上述の図７と共通の部分および処理には同一の符号を付して、詳細な説明を省略する。
【０１００】
画像形成装置１０ｂにおいて、操作部１２ｂは、Ｗｅｂコンテンツ１２３５による画面表示を要求するユーザ操作を受け付ける（ステップＳ１０）。操作部１２ｂは、受け付けたユーザ操作によりブラウザ１２３４に指定されたＵＲＬに従いネットワーク４０およびインターネット５０を介してＷｅｂサーバ６０ａにアクセスし（ステップＳ１１）、Ｗｅｂサーバ６０ａからＷｅｂコンテンツ１２３５を取得する（ステップＳ１２）。
【０１０１】
操作部１２ｂは、ブラウザ１２３４により、取得したＷｅｂコンテンツ１２３５を解釈して画面表示を行うと共に、当該Ｗｅｂコンテンツ１２３５から、本体部１１ｂに対する実行指示と、当該実行指示の本体部１１ｂにおける実行を許可するか否かを判定するための条件である許可条件情報とを抽出する。操作部１２ｂは、Ｗｅｂコンテンツ１２３５による表示画面に基づくユーザ操作を受け付けると（ステップＳ１３）、ネットワーク４０を介してサーバ２０にアクセスし（ステップＳ２０）、サーバ２０に記憶される許可条件情報を取得する（ステップＳ２１）。
【０１０２】
操作部１２ｂは、サーバ２０から取得した許可条件情報と、Ｗｅｂコンテンツ１２３５から抽出した許可条件情報とを比較する。操作部１２ｂは、比較結果に基づき、Ｗｅｂコンテンツ１２３５から抽出した実行指示の本体部１１ｂにおける実行を許可するか否かを判定する。操作部１２ｂは、判定の結果、実行が許可された場合に、実行指示を本体部１１ｂに送信する（ステップＳ２２）。本体部１１ｂは、操作部１２ｂから送信された実行指示を受信し、受信した実行指示に従った処理を実行する。
【０１０３】
図２２は、第２の実施形態に係る、Ｗｅｂアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。なお、図２２において、上述した図２１と対応する部分には同一の符号を付して、詳細な説明を省略する。また、図２２において、上述した図１１のシーケンス図と対応する処理には同一の符号を付して、詳細な説明を省略する。
【０１０４】
ステップＳ１００〜ステップＳ１１１の処理は、上述した図１１のステップＳ１００〜ステップＳ１１１の処理と同等であるので、ここでの説明を省略する。なお、ここでは、図１１の説明における本体部１１および操作部１２を、それぞれ本体部１１ｂおよび操作部１２ｂと読み替えるものとする。
【０１０５】
操作部１２ｂは、ステップＳ１１１でスクリプト解析および取得元情報の取得を行った後、許可条件取得部１２５により、サーバ２０に対して許可条件情報を要求する（ステップＳ１４０）。サーバ２０は、許可条件記憶部２００により、記憶される許可条件情報リストを読み出して操作部１２ｂに送信する。このとき、サーバ２０は、上述と同様にして、許可条件情報リストに含まれる各許可条件情報の組織ＩＤ、機器ＩＤ、許可ドメイン名および許可ＡＰＩ種別のうち、少なくとも各許可ドメイン名を操作部１２ｂに送信する。サーバ２０から送信された許可条件情報リストは、操作部１２ｂに受信されて許可条件取得部１２５に取得される（ステップＳ１４２）。
【０１０６】
操作部１２ｂは、判定部１２６により、ステップＳ１１１において取得部１２３により取得された取得元情報と、ステップＳ１４２でサーバ２０から取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップＳ１１１において解析部１１１で解析された実行指示を本体部１１ｂに送信するか否かを判定する（ステップＳ１４３）。
【０１０７】
操作部１２ｂは、判定部１２６により、サーバ２０から取得した各取得元情報の何れかと、解析部１１１で解析された取得元情報とが一致する場合に、実行指示を本体部１１ｂに送信すると判定する（ステップＳ１４３、「ＯＫ」）。操作部１２ｂは、この判定結果に従い、実行指示を本体部１１ｂに送信する（ステップＳ１４４）。本体部１１ｂは、操作部１２ｂから送信された実行指示を受信し、受信した実行指示を解析部１４６により解析する（ステップＳ１４５）。本体部１２ｂは、出力部１１３により、解析部１１１で解析された実行指示に従い処理を実行し（ステップＳ１４６）、実行結果を操作部１２ｂに送信する（ステップＳ１４７）。
【０１０８】
一方、操作部１２ｂは、ステップＳ１４３で、判定部１２６により、解析部１１１から渡された取得元情報と一致する情報がサーバ２０から取得した各取得元情報に含まれないと判定した場合、実行指示を本体部１１ｂに送信しないと判定する（ステップＳ１４３、「ＮＧ」）。この場合、操作部１２ｂは、表示制御部１２１により、例えば、図１６で説明したようなエラー通知画面３１０を表示させる（ステップＳ１４８）。
【０１０９】
このように、第２の実施形態でも、例えば実行指示から取得された取得元情報がサーバ２０に記憶される各取得元情報に含まれない場合に、本体部１１ｂにおける実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したＷｅｂコンテンツ１２３５が信頼できるものであるか否かを容易に判定でき、Ｗｅｂコンテンツ１２３５に基づくＷｅｂアプリの画像形成装置１０ｂへの導入が容易となる。
【０１１０】
（第２の実施形態の変形例）
次に、第２の実施形態の変形例について説明する。上述した第２の実施形態では、許可条件情報リストを、画像形成装置１０ｂとネットワーク４０を介して接続されるサーバ２０が記憶していた。これに対して、第２の実施形態の変形例では、許可条件情報リストを、画像形成装置１０ｂの操作部１２ｂが記憶する。
【０１１１】
図２３は、第２の実施形態の変形例に係る操作部１２ｃの機能を説明するための一例の機能ブロック図である。なお、図２３において、上述した図１９と対応する部分には同一の符号を付して、詳細な説明を省略する。また、操作部１２ｃのハードウェア構成は、図３を用いて説明した第１の実施形態に係る操作部１２の構成をそのまま適用できるので、ここでの説明を省略する。
【０１１２】
図２３において、操作部１２ｃは、図１９を用いて説明した第２の実施形態に係る操作部１２ｂに対して、許可条件情報リストの記憶を制御する許可条件記憶部１２７が追加されている。
【０１１３】
許可条件記憶部１２７は、例えばストレージ１２０６に対する許可条件情報リストの記憶と、ストレージ１２０６に記憶された許可条件情報リストの読み出しとを制御する。許可条件記憶部１２７は、上述と同様に、ＰＣ３０から送信された許可条件情報を、ストレージ１２０６に記憶される許可条件情報リストに追加して記憶させ、許可条件情報の登録を行う。これに限らず、許可条件記憶部１２７は、表示制御部１２１により上述した許可条件情報入力画面３００を表示させて、入力受付部１２０により許可条件情報の入力を受け付け、入力された許可条件情報の登録を行ってもよい。
【０１１４】
また、図２３において、許可条件取得部１２５ｃは、操作部１２ｃ内の許可条件記憶部１２７により、許可条件情報リストを取得する。
【０１１５】
なお、第２の実施形態の変形例では、図８を用いて説明した本体部１１ｂの構成をそのまま適用できるので、ここでの説明を省略する。また、第２の実施形態の変形例では、図１を用いて説明した情報処理システムからサーバ２０を省略したシステムを適用できる。
【０１１６】
図２４は、第２の実施形態の変形例に係る、Ｗｅｂアプリを用いる際の処理の流れを示す一例のシーケンス図である。なお、図２４において、上述した図２１および図２３と対応する部分には同一の符号を付して、詳細な説明を省略する。また、図２４において、上述した図１１および図２２のシーケンス図と対応する処理には同一の符号を付して、詳細な説明を省略する。
【０１１７】
ステップＳ１００〜ステップＳ１１１の処理は、上述した図１１のステップＳ１００〜ステップＳ１１１の処理と同等であるので、ここでの説明を省略する。なお、ここでは、図１１の説明における本体部１１および操作部１２を、それぞれ本体部１１ｂおよび操作部１２ｃと読み替えるものとする。
【０１１８】
操作部１２ｃは、ステップＳ１１１でスクリプト解析および取得元情報の取得を行った後、許可条件取得部１２５ｃにより、許可条件記憶部１２７に対して許可条件情報リストを要求し、この要求に応じて許可条件記憶部１２７により読み出された許可条件情報リストを取得する（ステップＳ１５０）。許可条件取得部１２５ｃは、取得した許可条件情報リストを判定部１２６に渡す。このとき、許可条件取得部１２５ｃは、許可条件情報リストに含まれる各許可条件情報の組織ＩＤ、機器ＩＤ、許可ドメイン名および許可ＡＰＩ種別のうち、少なくとも各許可ドメイン名を取得する。
【０１１９】
操作部１２ｃは、判定部１２６により、ステップＳ１１１において取得部１２３により取得された取得元情報と、ステップＳ１５０で許可条件記憶部１２７により取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップＳ１１１において解析部１１１で解析された実行指示を本体部１１ｂに送信するか否かを判定する（ステップＳ１４３）。
【０１２０】
以降の処理は、上述した図２２のシーケンス図におけるステップＳ１４３からの処理と同様なので、ここでの説明を省略する。
【０１２１】
このように、第２の実施形態でも、例えば実行指示から取得された取得元情報がサーバ２０に記憶される各取得元情報に含まれない場合に、本体部１１ｂにおける実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したＷｅｂコンテンツ１２３５が信頼できるものであるか否かを容易に判定でき、Ｗｅｂコンテンツ１２３５に基づくＷｅｂアプリの画像形成装置１０ｂへの導入が容易となる。
【０１２２】
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０１２３】
１０  画像形成装置
１１，１１ａ，１１ｂ  本体部
１２，１２ａ，１２ｂ，１２ｃ  操作部
２０  サーバ
６０ａ，６０ｂ  Ｗｅｂサーバ
１１０  受信部
１１１，１２２  解析部
１１２，１１２ａ，１２５，１２５ｃ  許可条件取得部
１１３  出力部
１１４，１２６  判定部
１１５，１２７，２００  許可条件記憶部
１２０  入力受付部
１２１  表示制御部
１２３  取得部
１２４  送信部
３００  許可条件情報入力画面
３１０  エラー通知画面
【先行技術文献】
【特許文献】
【０１２４】
【特許文献１】特許第４７５９４３６号公報
【図１】
0006642031.tif 000002
【図２】
0006642031.tif 000003
【図３】
0006642031.tif 000004
【図４】
0006642031.tif 000005
【図５】
0006642031.tif 000006
【図６】
0006642031.tif 000007
【図７】
0006642031.tif 000008
【図８】
0006642031.tif 000009
【図９】
0006642031.tif 000010
【図１０】
0006642031.tif 000011
【図１１】
0006642031.tif 000012
【図１２】
0006642031.tif 000013
【図１３】
0006642031.tif 000014
【図１４】
0006642031.tif 000015
【図１５】
0006642031.tif 000016
【図１６】
0006642031.tif 000017
【図１７】
0006642031.tif 000018
【図１８】
0006642031.tif 000019
【図１９】
0006642031.tif 000020
【図２０】
0006642031.tif 000021
【図２１】
0006642031.tif 000022
【図２２】
0006642031.tif 000023
【図２３】
0006642031.tif 000024
【図２４】
0006642031.tif 000025