(57)【特許請求の範囲】
【請求項１】
ソフトウェアによって送信される制御コマンドを受信すると、この制御コマンドの実行を許可するか否かを判定する実行許可判定部と、
実行が許可される制御コマンドを送信するソフトウェアの格納位置を示した位置情報を少なくとも１つ記憶する記憶部とを備え、
前記実行許可判定部は、
受信した制御コマンドの送信に携わったソフトウェアの格納位置を検出する格納位置検出部と、
前記位置情報に示されている格納位置が前記格納位置検出部にて検出されているか否かを判定する判定部と、
前記位置情報に示されている格納位置が前記格納位置検出部にて検出されていないと前記判定部にて判定された場合は受信した制御コマンドの実行を禁じ、前記位置情報に示されている格納位置が前記格納位置検出部にて検出されていると前記判定部にて判定された場合は受信した制御コマンドの実行を許可するコマンド許否部とを含み、
前記実行許可判定部に受信される前記制御コマンドには、複数のソフトウェアが連携して送信する第１制御コマンドがあり、
前記記憶部に記憶される位置情報のうちの少なくとも１つは、実行が許可される第１制御コマンドの送信に携わる複数のソフトウェアの各々の格納位置を列挙した第１位置情報であり、
前記実行許可判定部が第１制御コマンドを受信した場合、（ａ）前記格納位置検出部は、受信した第１制御コマンドの送信に携わった複数のソフトウェアの各々の格納位置を検出し、（ｂ）前記判定部は、前記記憶部を参照して、第１位置情報にて列挙されている全ての格納位置が前記格納位置検出部にて検出されているか否かを判定し、（ｃ）前記コマンド許否部は、第１位置情報にて列挙されている全ての格納位置が前記格納位置検出部にて検出されていないと前記判定部にて判定された場合は前記第１制御コマンドの実行を禁じ、第１位置情報にて列挙されている全ての格納位置が前記格納位置検出部にて検出されていると前記判定部にて判定された場合は前記第１制御コマンドの実行を許可することを特徴とする複合機。
【請求項２】
前記記憶部には、前記位置情報と、この位置情報に示される格納位置に格納されているソフトウェアを示すソフトウェア情報とが対応付けて記憶されており、
前記判定部は、前記記憶部に記憶されている位置情報のうち、前記複合機にて利用されている最中のソフトウェアを示すソフトウェア情報に対応付けられている位置情報のみを参照して前記判定を行うことを特徴とする請求項１に記載の複合機。
【請求項３】
前記複合機に挿入されたリムーバブルメディアから前記位置情報を含むパッケージ情報が前記複合機にインストールされると、前記パッケージ情報に含まれる前記位置情報を前記記憶部に登録する登録部を備えることを特徴とする請求項１または２に記載の複合機。
【請求項４】
請求項１の複合機を制御する制御プログラムであって、コンピュータを前記実行許可判定部として動作させる制御プログラム。
【請求項５】
請求項４に記載の制御プログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御サーバと接続されている複合機であって、制御サーバに格納されているアプリケーションソフトウェアによって生成された制御コマンドを実行する複合機に関する。
【背景技術】
【０００２】
従来、コピー機能、スキャン機能、印刷機能及びＦＡＸ送受信機能などの複数の機能を併せ持つ複合機が知られている。近年では、このような複合機が制御サーバ（アプリケーションサーバ）などと通信ネットワークを介して接続され、多種多様な処理を行うようになっている。すなわち、制御サーバにて動作するアプリケーションソフトウェア（以下、単に「アプリケーション」と称す）と複合機の機能とを連携させ、複合機がトータルアプリケーションシステムの一部となって動作することができる。これにより、複合機の機能と制御サーバの機能とを適宜組み合わせた柔軟性のあるサービスの構築を容易に行うことができる。
【０００３】
上記のようなシステムでは、制御サーバのアプリケーションが複合機に対して制御コマンドを送信し、複合機のウェブサーバに当該制御コマンドに応じた処理を実行させることにより、複合機の有する機能が制御サーバのアプリケーションによって制御されるようになっている。
【０００４】
また、上記のような複合機では、セキュリティ維持の観点から、信頼度の高いアプリケーション（信頼度の高いベンダーにて開発されたアプリケーション）からの制御コマンドを実行し、信頼度の低いアプリケーションからの制御コマンドを受信しても当該制御コマンドの実行を禁止するように設定されていることがある。その一例として、アプリケーションから複合機へ送信される制御コマンドに、制御コマンドの有効性を示すセキュリティ識別子（ベンダーキー）を含め、複合機側において、受信した制御コマンドに含まれるセキュリティ識別子の有効性を確認することで制御コマンドの実行の可否を判定する手法がある。
【０００５】
ところが、この手法では通信路にセキュリティ識別子が流れるため、通信データを盗聴可能な通信路を利用する場合には、ＳＳＬ（Secure Socket Layer）等の暗号化プロトコルによって通信データ（制御コマンド）を暗号化する必要がある。しかし、この手法は、暗号化プロトコルによる処理を施せないアプリケーションに適用できないという問題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２５９３３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１は、予め許可されているＵＲＬ（Uniform Resource Locator）にのみアクセスを許可するアクセス制限プログラムを開示している。しかし、このアクセス制限プログラムでは、アクセス制限されているＵＲＬとの間では前記の制御コマンド以外の情報通信もブロックされてしまうといった問題があった。例えば、前述した複合機にアクセス制限プログラムを適用した場合、複合機からのサイト閲覧を行えず、また、複合機から制御サーバへの状態情報（複合機の状態を示す状態情報）の送信もブロックされてしまうといった問題が生じる。
【０００８】
本発明は、前記の問題に鑑みてなされたものであり、制御コマンド以外の情報通信をブロックすることなく、高信頼度のソフトウェアによって発信された制御コマンドの実行を禁止せずに低信頼度のソフトウェアによって発信された制御コマンドの実行を禁止できる複合機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明は、ソフトウェアによって送信される制御コマンドを受信するウェブサーバ部と、実行が許可される制御コマンドを送信するソフトウェアの格納位置を示した位置情報を少なくとも１つ記憶する記憶部とを備え、前記ウェブサーバ部は、受信した制御コマンドの送信に携わったソフトウェアの格納位置を検出する格納位置検出部と、前記位置情報に示されている格納位置が前記格納位置検出部にて検出されているか否かを判定する判定部と、前記位置情報に示されている格納位置が前記格納位置検出部にて検出されていないと前記判定部にて判定された場合は受信した制御コマンドの実行を禁じ、前記位置情報に示されている格納位置が前記格納位置検出部にて検出されていると前記判定部にて判定された場合は受信した制御コマンドの実行を許可するコマンド許否部とを含むことを特徴とする。
【００１０】
本発明の構成によれば、低信頼度のソフトウェアの格納位置を示す位置情報を記憶部に保存せず、高信頼度のソフトウェアの格納位置を示す位置情報を記憶部に保存しておけば、高信頼度のソフトウェアによって送信された制御コマンドの実行を禁止することなく、低信頼度のソフトウェアによって送信された制御コマンドの実行を禁止することが可能になる。また、本発明では、記憶部に記憶されている位置情報に示される格納位置が格納位置検出部にて検出されていないと判定部に判定された場合、制御コマンドの実行を禁止するようになっているだけであり、その判定結果をもたらした制御コマンドの送信に携わったソフトウェアとの情報通信までを禁止するわけではない。それゆえ、本発明の複合機によれば、制御コマンド以外の情報通信をブロックすることなく、高信頼度のソフトウェアによって送信された制御コマンドの実行を禁止せずに低信頼度のソフトウェアによって送信された制御コマンドの実行を禁止できるという効果を奏する。
【００１１】
本発明の複合機は、上記構成に加えて、前記ウェブサーバ部に受信される前記制御コマンドには、複数のソフトウェアが連携して送信する第１制御コマンドがあり、前記記憶部に記憶される位置情報のうちの少なくとも１つは、実行が許可される第１制御コマンドの送信に携わる複数のソフトウェアの各々の格納位置を列挙した第１位置情報であり、前記ウェブサーバ部が第１制御コマンドを受信した場合、（ａ）前記格納位置検出部は、受信した第１制御コマンドの送信に携わった複数のソフトウェアの各々の格納位置を検出し、（ｂ）前記判定部は、前記記憶部を参照して、第１位置情報にて列挙されている全ての格納位置が前記格納位置検出部にて検出されているか否かを判定し、（ｃ）前記コマンド許否部は、第１位置情報にて列挙されている全ての格納位置が前記格納位置検出部にて検出されていないと前記判定部にて判定された場合は前記第１制御コマンドの実行を禁じ、第１位置情報にて列挙されている全ての格納位置が前記格納位置検出部にて検出されていると前記判定部にて判定された場合は前記第１制御コマンドの実行を許可することを特徴とする。
【００１２】
この構成によれば、複数のソフトウェアの連携によって発信される第１制御コマンドについても実行の可否を正確に判定できる。例えば、ブラウザＡと低信頼度のアプリケーションソフトウェアＢとが連携して発信した制御コマンドについては実行を禁止する一方、前記のブラウザＡと高信頼度のアプリケーションソフトウェアＣとが連携して発信した制御コマンドについては実行を許可するといった設定が可能になる。
【００１３】
本発明の複合機は、上記構成に加えて、前記記憶部には、前記位置情報と、この位置情報に示される格納位置に格納されているソフトウェアを示すソフトウェア情報とが対応付けて記憶されており、前記判定部は、前記記憶部に記憶されている位置情報のうち、前記複合機にて利用されている最中のソフトウェアを示すソフトウェア情報に対応付けられている位置情報のみを参照して前記判定を行うことを特徴とする。
【００１４】
この構成によれば、高信頼度のソフトウェアが発行した制御コマンドであっても、複合機にて現在使用されていないソフトウェアが発行した制御コマンドの実行が禁止されるので、セキュリティが強化されるという効果を奏する。
【００１５】
本発明の複合機は、上記構成に加えて、前記複合機に挿入されたリムーバブルメディアから前記位置情報を含むパッケージ情報が前記複合機にインストールされると、前記パッケージ情報に含まれる前記位置情報を前記記憶部に登録する登録部を備えることを特徴とする。
【００１６】
この構成によれば、前記位置情報を含むパッケージ情報をインストールするだけで位置情報を複合機に登録でき、簡易に位置情報の登録を行えるというメリットを有する。また、前記位置情報の他に前記ソフトウェアを作動するために必要な各種情報を前記パッケージに含ませておけば、これら情報も一括して登録でき、登録作業の簡素化を図ることができる。
【００１７】
なお、本発明は、コンピュータによって実現されてもよく、この場合には、コンピュータを上記ウェブサーバ部として動作させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００１８】
本発明によれば、制御コマンド以外の情報通信をブロックすることなく、高信頼度のソフトウェアによって送信された制御コマンドの実行を禁止せずに低信頼度のソフトウェアによって送信された制御コマンドの実行を禁止できるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】図１は、本実施形態の複合機制御システムの構成を示すブロック図である。
【図２】図２は、本実施形態の複合機の記憶部に記憶されている判定テーブルの一例を示す図である。
【図３】図３は、図１のウェブサーバ部１７が制御コマンドを受信した際の処理の流れを示すフローチャートである。
【図４】図４（ａ）は、変形例にて用いられるアプリケーション登録テーブルを示す図であり、図４（ｂ）は、変形例にて用いられる判定テーブルを示す図である。
【図５】図５（ａ）は、アプリケーションパッケージに含まれるアプリケーション名およびＵＲＬを示す図であり、図５（ｂ）は、アプリケーションパッケージに含まれる項目種別、項目名、位置情報を示す図である。
【図６】図６は、あるアプリケーションに対応する位置情報等を記憶部の判定テーブルに登録する際の処理の流れを示したフローチャートである。
【発明を実施するための形態】
【００２０】
本発明の一実施形態について図１から図６に基づいて説明すると以下の通りである。以下では、本発明に係る複合機制御システムの一実施形態について説明する。
【００２１】
＜複合機制御システム１００の構成＞
図１は、本実施形態に係る複合機制御システムの構成を示す図である。本実施形態に係る複合機制御システム１００は、図１に示すように、複合機１と情報処理装置３とを含んでおり、複合機１と情報処理装置３とは通信ネットワーク５０を介して接続されている。もちろん、複合機制御システム１００に含まれる複合機１の台数は複数であってもよく、情報処理装置３の台数も複数であってもよい。
【００２２】
なお、通信ネットワーク５０としては、ＬＡＮ（Local Area Network）、シリアルケーブル、インターネット、または、他の有線回線もしくは無線回線などの通信回線を利用できる。そして、複合機１と情報処理装置３とは、ＨＴＴＰ（Hypertext Transfer Protocol）によって通信を行うようになっている。
【００２３】
本実施形態の複合機１は、情報処理装置３のアプリケーションと連携して複合機１の各種機能を実行するようになっている。
【００２４】
例えば、利用者が所望のアプリケーションの起動要求を複合機１に入力すると、この起動要求が複合機１から情報処理装置３へ送られ、情報処理装置３は、起動要求のあったアプリケーションを起動するようになっている。そして、情報処理装置３において起動中のアプリケーションが、ＨＴＴＰによって、ＨＴＭＬ（Hypertext Markup Language）形式の制御コマンド（例えば、スキャンジョブ、印刷ジョブ）を複合機１へ送信すると、複合機１のウェブサーバ部１７が、この制御コマンドを受け取り、この制御コマンドの実行の可否を判定する。さらに、複合機１のウェブサーバ部１７が当該制御コマンドの実行を許可すると、複合機１の各部がこの制御コマンドを実行するようになっている。
【００２５】
また、例えば、情報処理装置３のアプリケーションは、複合機１からの起動要求に応じて起動すると、当該アプリケーションの操作画面を示すＨＴＭＬデータを複合機１に送信するようになっている。複合機１のウェブブラウザ部１５は、このＨＴＭＬデータを情報処理装置３から受信し、当該ＨＴＭＬデータで示される操作画面を表示部１１ｂに表示し、操作画面を介して入力された指示に応じた制御コマンドをウェブサーバ部１７に送信するようになっている（つまり、ウェブブラウザ部１５と情報処理装置３のアプリケーションとの連携によって制御コマンドがウェブブラウザ部１５からウェブサーバ部１７へ送信される）。その後、ウェブサーバ部１７が、この制御コマンドを受け取り、この制御コマンドの実行の可否を判定する。そして、ウェブサーバ部１７が当該制御コマンドの実行を許可すると、複合機１の各部がこの制御コマンドを実行するようになっている。
【００２６】
以下では複合機１および情報処理装置３の各々について詳細に説明する。
【００２７】
＜複合機１の構成＞
複合機１は、スキャナ、プリンタ、ファックス等が一体化された多機能装置であり、複数の機能（例えば、スキャン機能、印刷機能、通信機能など）を実行するものである。複合機１は、機器制御部１０、操作部１１、画像読取部１２、画像形成部１３、第１通信部１４、ウェブブラウザ部１５、記憶部１６、および、ウェブサーバ部１７を備えている。
【００２８】
操作部１１は、ユーザに対して各種情報を通知（表示）するとともに、ユーザからの入力を受け付けるユーザインターフェイスである。操作部１１は、各種の入力キーを含む入力部１１ａと、ＬＣＤ（Liquid Crystal Display：液晶ディスプレイ）などの表示部１１ｂとを備えている。なお、操作部１１は、入力部１１ａと表示部１１ｂとが一体として構成されたタッチパネルであってもよい。
【００２９】
画像読取部１２は、スキャナと、原稿をスキャナの位置まで搬送する原稿搬送部とを含んでおり、原稿に示された文字や画像などを画像データとして読み取るものである。画像形成部１３は、電子写真方式のプリンタであり、外部装置または画像読取部１２から入力された画像データに対応する画像を印刷する装置である。
【００３０】
第１通信部１４は、通信ネットワーク５０を介して、情報処理装置３などの外部装置との間で通信するインターフェイスである。本実施形態では、第１通信部１４は、情報処理装置３とＨＴＴＰを用いて通信する。なお、第１通信部１４は、情報処理装置３から制御コマンド（ＨＴＴＰリクエスト）を受信した場合、機器制御部１０を介して前記制御コマンドをウェブサーバ部１７へ送信し、操作画面を示すＨＴＭＬデータを情報処理装置３から受信した場合、機器制御部１０を介して当該ＨＴＭＬデータをウェブブラウザ部１５へ送信するようになっている。
【００３１】
ウェブブラウザ部１５は、ウェブブラウザのソフトウェアに従った動作を行うものである。特に、本実施形態のウェブブラウザ部１５は、情報処理装置３が備える外部アプリケーション部３１から、操作画面を示すＨＴＭＬデータを受信し、当該ＨＴＭＬデータで示される操作画面を表示部１１ｂに表示する。そして、ウェブブラウザ部１５は、表示部１１ｂに表示されている操作画面を介して入力された指示に応じた制御コマンドを、機器制御部１０を介してウェブサーバ部１７へ送信するようになっている。
【００３２】
記憶部１６は、複合機１の制御に必要な各種情報、複合機１において取り扱われる画像データ等が保存される記憶装置である。また、本実施形態では、図２に示す判定テーブルが記憶部１６に記憶されている。この判定テーブルについては後に詳述する。
【００３３】
機器制御部１０は、複合機１が備える各部を制御する。具体的に、機器制御部１０は、操作部１１、画像読取部１２、画像形成部１３、第１通信部１４、ウェブブラウザ部１５、ウェブサーバ部１７などの各部の動作を制御する。例えば、機器制御部１０は、画像読取部１２の動作を制御してスキャン処理を行い、画像データを取得する。また、機器制御部１０は、画像形成部１３の動作を制御して印刷処理を行い、入力された画像データに示される画像の印刷された用紙を出力する。
【００３４】
ウェブサーバ部１７は、ウェブサーバのソフトウェアに従って動作するものである。ここで、ウェブサーバとは、インターネット上の情報システムであるＷＷＷ（World Wide Web）を構成するサーバ装置の機能を提供するソフトウェアである。
【００３５】
本実施形態のウェブサーバ部１７は、第１通信部１４および機器制御部１０を介して情報処理装置３から制御コマンド（ＨＴＴＰリクエスト）を受信した場合、または、ウェブブラウザ部１５から機器制御部１０を介して制御コマンドを受信した場合、この制御コマンドの実行を許可するか否かを判定する。なお、ウェブサーバ部１７によって行われる判定の具体的内容については後に詳述する。
【００３６】
なお、ウェブサーバ部１７は、制御コマンドの実行を許可すると判定した場合、制御コマンドに応じた処理の実行命令を機器制御部１０に伝達する。この実行命令を受けた機器制御部１０は、制御コマンドに応じた処理を複合機１の各部に実行させるようになっている。例えば、制御コマンドがスキャンジョブである場合、機器制御部１０はスキャン処理を画像読取部１２に実行させ、制御コマンドが印刷ジョブである場合、機器制御部１０は印刷処理を画像形成部１３に実行させるようになっている。
【００３７】
これに対し、ウェブサーバ部１７は、制御コマンドの実行を許可しないと判定した場合、制御コマンドの実行が許可されなかった事を示すエラー通知を出力する。そして、情報処理装置３のアプリケーションから送信された制御コマンドに対するエラー通知は、ウェブサーバ部１７から機器制御部１０に送られ、機器制御部１０から当該アプリケーションに送られるようになっている。これに対し、ウェブブラウザ部１５と情報処理装置３のアプリケーションとの連携によってウェブブラウザ部１５から送信された制御コマンドに対するエラー通知は、ウェブサーバブ１７から機器制御部１０に送られ、機器制御部１０からウェブブラウザ部１５に送られるようになっている。
【００３８】
そして、エラー通知を受けた機器制御部１０は、制御コマンドに応じた処理の実行を複合機１に行わせず、エラー通知を受けた情報処理装置３のアプリケーションまたはウェブブラウザ１５は、制御コマンドの実行が許可されなかったことを認識するようになっている。
【００３９】
なお、ウェブブラウザ部１５は、エラー通知を受けた場合、表示部１１ｂを介してエラー発生を利用者に通知するようになっていてもよい。
例えば、エラー通知を受けたウェブブラウザ部１５が、当該ウェブブラウザ１５と連携して制御コマンドを送信した情報処理装置３のアプリケーションに当該エラー通知を転送し、このエラー通知を受けた情報処理装置３のアプリケーションが、エラー画面の表示指示をウェブブラウザ部１５へ送り、ウェブブラウザ部１５がエラー画面を表示部１１ｂに表示させるようになっていてもよい。
また、エラー通知を受けたウェブブラウザ部１５が、エラー画面のリクエストを情報処理装置３のアプリケーションに送り、このリクエストを受けた情報処理装置３のアプリケーションが、エラー画面を示すＨＴＭＬデータをウェブブラウザ１５に送り、ウェブブラウザ１５がエラー画面を表示部１１ｂに表示させるようになっていてもよい。
また、エラー通知を受けたウェブブラウザ１５が、情報処理装置３のアプリケーションから受信済のＨＴＭＬデータに基づいてエラー画面を表示部１１ｂに表示させるようになっていてもよい。
【００４０】
以上のように、本実施形態の複合機１は、（ａ）情報処理装置３から受信した制御コマンドに基づく処理を実行し、（ｂ）情報処理装置３から供給されたＨＴＭＬデータに応じた操作画面を表示し、当該操作画面からの指示入力によって内部生成した制御コマンドに基づく処理を実行するようになっている。つまり、複合機１は、情報処理装置３と連携して各種処理を実行するようになっている。
【００４１】
＜情報処理装置３の構成＞
つぎに、情報処理装置３について説明する。情報処理装置３は、ＣＰＵ（Central Processing Unit）や専用プロセッサなどの演算処理部、および、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only memory）、ハードディスクなどの記憶装置により構成されるコンピュータであり、複合機１に対する制御サーバとして機能するものである。情報処理装置３は、図１に示されるように、第２通信部３０と、外部アプリケーション部３１と、外部アプリケーション記憶部３２とを備えている。
【００４２】
第２通信部３０は、通信ネットワーク５０を介して複合機１と通信するものである。また、第２通信部３０は、ＨＴＴＰの通信プロトコルを用いて複合機１と通信する。外部アプリケーション記憶部３２は、複合機１を制御するための各種の外部アプリケーション３３を格納するものである。
【００４３】
外部アプリケーション部３１は、複合機１から外部アプリケーション３３の起動要求を受けると、起動要求された外部アプリケーション３３を外部アプリケーション記憶部３２から読み出し、読み出した外部アプリケーション３３に基づいて各種情報処理を実行するものである。
【００４４】
例えば、外部アプリケーション部３１は、複合機１から起動要求を受けた外部アプリケーション３３に応じて、この外部アプリケーション３３の操作画面を示すＨＴＭＬデータを複合機１へ送信する処理を行う。また、例えば、複合機１の操作部１１から入力された利用者コマンドが複合機１から情報処理装置３へ伝送された場合、外部アプリケーション部３１は、当該利用者コマンドに基づいて情報処理を行って制御コマンドを生成し、生成した制御コマンドを、第２通信部３０を介して複合機１へ送信するようになっている。
【００４５】
＜ウェブサーバ部１７について＞
つぎに、複合機１のウェブサーバ部１７において実行される処理について詳細に説明する。図１に示すように、ウェブサーバ部１７は、格納位置検出部１７ａ、判定部１７ｂ、コマンド許否部１７ｃを有する構成である。
【００４６】
格納位置検出部１７ａは、ウェブサーバ部１７が制御コマンドを受け付けると、受け付けた制御コマンドの送信に携わったソフトウェアのＵＲＬ（格納位置）を検出するブロックである。なお、情報処理装置３の外部アプリケーション３３からウェブサーバ部１７へ制御コマンドが送信されるパターンの場合、この制御コマンドの送信に携わったソフトウェアは情報処理装置３の外部アプリケーション３３ということになる（以下では当該パターンを「第１パターン」と称すことがある）。また、情報処理装置３から供給されたＨＴＭＬデータに応じた操作画面をウェブブラウザ部１５が表示部１１ｂに表示し、当該操作画面からの指示入力によって生成した制御コマンドをウェブブラウザ部１５がウェブサーバ部１７へ送信するパターンの場合、この制御コマンドの送信に携わったソフトウェアは情報処理装置３の外部アプリケーション３３とウェブブラウザ部１５のウェブブラウザということになる（以下では当該パターンを「第２パターン」と称すことがある）。
【００４７】
まず、格納位置検出部１７ａは、ウェブサーバ部１７のウェブサーバによって生成されるサーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」を参照することにより、ウェブサーバ部１７との間で通信接続されているソフトウェアのＵＲＬを検出するようになっている。それゆえ、情報処理装置３の外部アプリケーション３３からウェブサーバ部１７に制御コマンドが送信される第１パターンの場合、格納位置検出部１７ａは、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」を参照することによって、外部アプリケーション３３のＵＲＬを検出するようになっている。また、ウェブブラウザ部１５からウェブサーバ部１７へ制御コマンドが送信される第２パターンの場合、格納位置検出部１７ａは、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」を参照することによって、ウェブブラウザ部１５のウェブブラウザのＵＲＬを検出するようになっている。
【００４８】
また、ウェブブラウザ部１５は、表示部１１ｂに表示している操作画面からの指示に応じた制御コマンドをウェブサーバ部１７へ送信する際、操作画面のＨＴＭＬデータの供給元である外部アプリケーション３３のＵＲＬを当該制御コマンドのＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」に書き込むようになっている。そこで、格納位置検出部１７ａは、受信した制御コマンドのＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」を参照することによって、ウェブブラウザ部１５にＨＴＭＬデータを供給している外部アプリケーション３３のＵＲＬを検出するようになっている。
【００４９】
以上を纏めると、情報処理装置３の外部アプリケーション３３から複合機１のウェブサーバ部１７へ制御コマンドが送信される第１パターンの場合、格納位置検出部１７ａは、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」を参照することで、外部アプリケーション３３のＵＲＬを検出できる。これに対し、情報処理装置３から供給されたＨＴＭＬデータに応じた操作画面をウェブブラウザ部１５が表示部１１ｂに表示し、当該操作画面からの指示入力によって生成した制御コマンドをウェブブラウザ部１５がウェブサーバ部１７へ送信する第２パターンの場合、格納位置検出部１７ａは、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」を参照することによってウェブブラウザ部１５のＵＲＬを検出し、制御コマンドのＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」を参照することによって外部アプリケーション３３のＵＲＬを検出できる。つまり、第１パターンの場合、外部アプリケーション３３のＵＲＬが検出され、第２パターンの場合、外部アプリケーション３３のＵＲＬとウェブブラウザ部１５のウェブブラウザのＵＲＬとの組み合わせが検出されることになる。
【００５０】
なお、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」に示されている情報は、ウェブサーバ１７の通信先のＩＰアドレスであり、このＩＰアドレスはウェブサーバ１７の通信先から得られる情報である。
また、ウェブブラウザ部１５からウェブサーバ部１７へ送られる制御コマンドのＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」には、ウェブブラウザ部１５と接続されている外部アプリケーション３３（ウェブブラウザ部１５へＨＴＭＬ画面を供給している外部アプリケーション３３）のＵＲＬが記入されているが、このＵＲＬは、ウェブブラウザ部１５が外部アプリケーション３３から得られた情報に基づいて記入したものである。
それゆえ、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」やＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」に基づいて送信元ソフトウェアのＵＲＬを検出する格納位置検出部１７ａは、送信元から得られた情報に基づいて送信元のＵＲＬを検出するものといえる。
【００５１】
判定部１７ｂは、記憶部１６に格納されている判定テーブル（図２参照）に示されているＩＤ番号毎に、各ＩＤ番号に属する項目に示されている位置情報のＵＲＬと格納位置検出部１７ａにて検出されたＵＲＬとを対比することによって、各ＩＤ番号に属する項目に示されている位置情報のＵＲＬが格納位置検出部１７ａに検出されているものであるか否かを判定するブロックである。以下では、判定テーブル（制御コマンド許可情報テーブル）の詳細、判定部１７ｂの処理の詳細を順に説明する。
【００５２】
図２は、判定テーブルの一例を示す図である。図２に示すように、判定テーブルには、ＩＤ番号が順に示され、各ＩＤ番号に属する項目種別，項目名，位置情報が示されている。ここで、本実施形態では、１つのＩＤ番号に属するＵＲＬの集合をもって位置情報とする。よって、図２では、ＩＤ番号１には１つのＵＲＬ（http://example.com/app1/）が属しており、ＩＤ番号１に属する１つのＵＲＬが１つの位置情報に相当する。また、ＩＤ番号２には２つのＵＲＬ（「http://localhost」と「http://example.com/app2/」）が属しており、この２つのＵＲＬの組み合わせが１つの位置情報に相当する。
【００５３】
言い換えると、図２では、ＩＤ番号１には、１つのＵＲＬ（http://example.com/app1/）からなる位置情報が属しており、ＩＤ番号２には、２つのＵＲＬ（「http://localhost」および「http://example.com/app2/」）からなる位置情報が属していることになる。
【００５４】
なお、複数のＵＲＬの組み合わせを示す位置情報の属するＩＤ番号（ＩＤ番号２）には、複数のサブＩＤ番号が付されており、各サブＩＤ番号にＵＲＬが１つずつ対応付けられている。
【００５５】
また、図２の判定テーブルにおいて、項目種別および項目名は、後述の判定処理において、その項目種別および項目名の属する項目に示されているＵＲＬと対比される対比対象を示したものである。つまり、ＩＤ番号が「１」の項目のＵＲＬは、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」に記述されているＵＲＬと対比される。また、ＩＤ番号が「２」の項目のうち、サブＩＤ番号が「１」の項目のＵＲＬは、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」に記述されているＵＲＬと対比され、サブＩＤ番号が「２」の項目のＵＲＬは、ＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」に記述されているＵＲＬと対比される。
【００５６】
また、前記の位置情報は、実行が許可される制御コマンドの送信に携わるソフトウェアのＵＲＬ、または、実行が許可される制御コマンドの送信に携われるソフトウェアのＵＲＬの組み合わせを示したものである。
【００５７】
すなわち、ウェブサーバ部１７が制御コマンドを受信した際、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」に記述されているＵＲＬと「http://example.com/app1/」とが一致する場合、判定部１７ｂは、後述の判定処理において当該制御コマンドの実行を許可するものと判定することになる（図２のＩＤ番号１の位置情報を参照）。また、ウェブサーバ部１７が制御コマンドを受信した際、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」に記述されているＵＲＬと「http://localhost」とが一致し、且つ、ＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」に記述されているＵＲＬと「http://example.com/app2/」とが一致する場合、判定部１７ｂは、後述の判定処理において当該制御コマンドの実行を許可するものと判定する（図２のＩＤ番号２の位置情報を参照）。
【００５８】
なお、図２の「http://example.com/app1/」は、外部アプリケーション記憶部３２に記憶されている外部アプリケーション３３のうちの１つのＵＲＬを示したものであり、図２の「http://localhost」はウェブブラウザ部１５のウェブブラウザのＵＲＬを示したものであり、図２の「http://example.com/app2/」は、外部アプリケーション記憶部３２に記憶されている外部アプリケーション３３のうちの１つのＵＲＬを示したものである。
【００５９】
つぎに、判定部１７ｂの判定処理を説明する。判定部１７ｂは、判定テーブルのＩＤ番号毎に、各ＩＤ番号に属する位置情報に含まれる全てのＵＲＬが格納位置検出部１７ａにて検出されたか否かを判定する判定処理を行う。なお、この判定処理は、値の小さなＩＤ番号から順に行う。
【００６０】
具体的に、判定部１７ｂは、あるＩＤ番号において、当該ＩＤ番号に属する位置情報に含まれる全てのＵＲＬが格納位置検出部１７ａにて検出されたと判定した場合、その時点で判定処理を終了し、「真」の判定結果をコマンド許否部１７ｃに伝達する。これに対し、判定部１７ｂは、あるＩＤ番号において、当該ＩＤ番号に属する位置情報に含まれる全てのＵＲＬのうちの少なくとも１つが格納位置検出部１７ａにて検出されていないと判定した場合、そのＩＤ番号に対する判定処理を終了し、次のＩＤ番号に対して同様の判定処理を繰り返す。そして、判定部１７ｂは、判定処理を繰り返した結果、全てのＩＤ番号について、位置情報に含まれるＵＲＬのうちの少なくとも１つが格納位置検出部１７ａにて検出されていないと判定した場合、「偽」の判定結果をコマンド許否部１７ｃに伝達する。
【００６１】
つまり、１つのＵＲＬからなる位置情報の属するＩＤ番号（ＩＤ番号１）に対して判定処理が行われ、そのＵＲＬが格納位置検出部１７ａにて検出されたものと判定された場合、その時点で判定処理が打ち切られ、「真」の判定結果がコマンド許否部１７ｃに伝達される。これに対し、１つのＵＲＬからなる位置情報の属するＩＤ番号（ＩＤ番号１）に対して判定処理が行われ、そのＵＲＬが格納位置検出部１７ａにて検出されていないと判定された場合、そのＩＤ番号に対する判定処理を終了し、次のＩＤ番号に対する判定処理が行われる。
【００６２】
また、複数のＵＲＬからなる位置情報の属するＩＤ番号（ＩＤ番号２）に対して判定処理が行われ、その位置情報に含まれる全てのＵＲＬが格納位置検出部１７ａにて検出されたものと判定された場合、その時点で判定処理が打ち切られ、「真」の判定結果がコマンド許否部１７ｃに伝達される。これに対し、複数のＵＲＬからなる位置情報の属するＩＤ番号（ＩＤ番号２）に対して判定処理が行われ、その位置情報に含まれるＵＲＬのうちの少なくとも１つが格納位置検出部１７ａにて検出されていないと判定された場合、そのＩＤ番号に対する判定処理を終了し、次のＩＤ番号に対する判定処理が行われる。
【００６３】
したがって、ウェブサーバ部１７が情報処理装置３から制御コマンドを受信する第１パターンにおいて、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」に「http://example.com/app1/」が記述されている場合、格納位置検出部１７ａは、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」から「http://example.com/app1/」を検出し、判定部１７ｂは、ＩＤ番号１に対する判定処理において、ＩＤ番号１に属する位置情報に示されているＵＲＬが格納位置検出部１７ａにて検出されたものと判定し、「真」の判定結果をコマンド許否部１７ｃに伝達する。
【００６４】
また、情報処理装置３から供給されたＨＴＭＬデータに応じた操作画面をウェブブラウザ部１５が表示部１１ｂに表示し、当該操作画面からの指示入力によって生成された制御コマンドをウェブサーバ部１７がブラウザ部１５から受信する第２パターンにおいて、サーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」に「http://localhost」が記述され、ＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」に「http://example.com/app2/」が記述されている場合、格納位置検出部１７ａおよび判定部１７ｂは以下のように処理を行う。まず、格納位置検出部１７ａがサーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」から「http://localhost」を検出し且つＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」から「http://example.com/app2/」を検出する。そして、判定部１７ｂは、格納位置検出部１７ａがサーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」から「http://localhost」を検出しているが「http://example.com/app1/」を検出していないため、ＩＤ番号１に対する判定処理において、ＩＤ番号１に属する位置情報に示されているＵＲＬが格納位置検出部１７ａにて検出されていないと判定する。これに対し、判定部１７ｂは、格納位置検出部１７ａがサーバ変数の「ＲＥＭＯＴＥ_ＡＤＤＲ」から「http://localhost」を検出し且つＨＴＴＰヘッダの「ＲＥＦＥＲＥＲ」から「http://example.com/app2/」を検出しているため、ＩＤ番号２に対する判定処理において、ＩＤ番号２に属する位置情報に含まれる全てのＵＲＬが格納位置検出部１７ａにて検出されたものと判定し、「真」の判定結果をコマンド許否部１７ｃに伝達する。
【００６５】
コマンド許否部１７ｃは、判定部１７ｂから伝達された判定結果が「真」である場合、ウェブサーバ部１７が受信した制御コマンドの実行を許可すると判定し、この制御コマンドに応じた処理の実行命令を機器制御部１０に伝達する。これに対し、コマンド許否部１７ｃは、判定部１７ｂから伝達された判定結果が「偽」である場合、ウェブサーバ部１７が受信した制御コマンドの実行を禁止すると判定し、エラー応答処理（エラー通知の出力）を行うようになっている。
【００６６】
つぎに、ウェブサーバ部１７が制御コマンドを受信する際の処理の流れを図３のフローチャートに基づいて説明する。ウェブサーバ部１７は、Ｓ１０１においてＨＴＴＰリクエストの受信を待機している。ウェブサーバ部１７は、ＨＴＴＰリクエストを受信すると（Ｓ１０１にてＹＥＳ）、受信したＨＴＴＰリクエストが制御コマンドであるか否かを判定する（Ｓ１０２）。
【００６７】
ウェブサーバ部１７は、受信したＨＴＴＰリクエストが制御コマンドでないと判定した場合は処理をＳ１０１へ戻し（Ｓ１０２にてＮＯ）、受信したＨＴＴＰリクエストが制御コマンドであると判定した場合は処理をＳ１０３へ移行する（Ｓ１０２にてＹＥＳ）。
【００６８】
Ｓ１０３において、ウェブサーバ部１７は、受信した制御コマンドの送信に携わったソフトウェア（アプリケーション，ウェブブラウザ）のＵＲＬを検出する。Ｓ１０４において、ウェブサーバ部１７は、記憶部１６の判定テーブルの位置情報毎に、各位置情報に示されるＵＲＬ（またはＵＲＬの組み合わせ）がＳ１０３にて検出されているか否かを判定する。ウェブサーバ部１７は、検出されていると判定した場合、制御コマンドの実行を許可し（Ｓ１０５）、検出されていないと判定した場合、エラー応答処理（エラー通知の出力）を行う（Ｓ１０６）。Ｓ１０５またはＳ１０６の後、ウェブサーバ部１７は、処理をＳ１０１へ戻すことになる。
【００６９】
以上のように、本実施形態の複合機１は、ソフトウェアによって送信される制御コマンドを受信するウェブサーバ部１７と、実行が許可される制御コマンドを送信するソフトウェアのＵＲＬからなる位置情報が少なくとも１つ記述されている判定テーブルを記憶する記憶部１６とを備えている。そして、ウェブサーバ部１７は、受信した制御コマンドの送信に携わったソフトウェアのＵＲＬを検出する格納位置検出部１７ａと、前記位置情報のＵＲＬが格納位置検出部１７ａにて検出されているか否かを判定する判定部１７ｂと、前記位置情報のＵＲＬが格納位置検出部１７ａにて検出されていないと判定部１７ｂにて判定された場合は受信した制御コマンドの実行を禁じ、前記位置情報のＵＲＬが格納位置検出部１７ａにて検出されていると判定部１７ｂにて判定された場合は受信した制御コマンドの実行を許可するコマンド許否部１７ｃとを含む構成である。
【００７０】
このような構成によれば、低信頼度のソフトウェアのＵＲＬを示す位置情報を前記判定テーブルに記述せず、高信頼度のソフトウェアのＵＲＬを示す位置情報を前記判定テーブルに記述しておけば、高信頼度のソフトウェアによって送信された制御コマンドの実行を禁止することなく、低信頼度のソフトウェアによって送信された制御コマンドの実行を禁止することが可能になる。また、本実施形態の構成では、前記判定テーブルに記述されている位置情報のＵＲＬが格納位置検出部１７ａにて検出されていないと判定部１７ｂに判定された場合は制御コマンドの実行を禁止するようになっているだけであり、その判定結果をもたらした制御コマンドの送信に携わったソフトウェアとの情報通信までを禁止するわけではない。それゆえ、本実施形態の複合機１によれば、制御コマンド以外の情報通信をブロックすることなく、高信頼度のソフトウェアによって送信された制御コマンドの実行を禁止せずに低信頼度のソフトウェアによって送信された制御コマンドの実行を禁止できるという効果を奏する。
【００７１】
また、本実施形態において、ウェブサーバ部１７は、複数のソフトウェア（アプリケーション３３およびウェブブラウザ）が連携して発信する制御コマンド（第１制御コマンドと称す）をも受信するものである。また、記憶部１６に記憶されている判定テーブルに記述されている位置情報のうちの少なくとも１つは、実行が許可される第１制御コマンドの送信に携わる複数のソフトウェアの各々のＵＲＬを列挙した第１位置情報である。そして、ウェブサーバ部１７が前記第１制御コマンドを受信した場合、（ａ）格納位置検出部１７ａは、第１制御コマンドの送信に携わった複数のソフトウェアの各々の格納位置を検出し、（ｂ）判定部１７ｂは、記憶部１６の判定テーブルを参照して、第１位置情報にて列挙されている全ての格納位置が格納位置検出部１７ａにて検出されているか否かを判定し、（ｃ）コマンド許否部１７ｃは、第１位置情報にて列挙されている全てのＵＲＬが格納位置検出部１７ａにて検出されていないと判定部１７ｂにて判定された場合は第１制御コマンドの実行を禁じ、第１位置情報にて列挙されている全ての格納位置が格納位置検出部１７ａにて検出されていると判定部１７ｂにて判定された場合は第１制御コマンドの実行を許可するようになっている。
【００７２】
この構成によれば、複数のソフトウェアの連携によって発信される制御コマンドについても実行の可否を正確に判定できる。例えば、ウェブブラウザ部１５のウェブブラウザと低信頼度のアプリケーションソフトウェアとの連携によって送信された第１制御コマンドについては実行を禁止する一方、前記のウェブブラウザと高信頼度のアプリケーションソフトウェアとの連携によって送信された第１制御コマンドについては実行を許可するといった設定が可能になる。
【００７３】
＜変形例＞
つぎに変形例について説明する。以下の変形例では、上記の実施の形態と異なる点について説明し、同じ点については大部分を省略し、一部のみ述べる。
【００７４】
本変形例においては、記憶部１６には、図２の判定テーブルが示されておらず、図４（ａ）に示すアプリケーション登録テーブルと、図４（ｂ）に示す判定テーブルとが記憶部１６に記憶されている。
【００７５】
図４（ａ）のアプリケーション登録テーブルは、複合機１にて利用されるアプリケーションの名称と、当該アプリケーションを識別するためのアプリケーション番号と、当該アプリケーションのＵＲＬとが対応付けられているテーブルである。
【００７６】
図４（ｂ）の判定テーブルは、基本的に図２の判定テーブルと同様であるが、アプリケーションのＵＲＬが記述されている各項目または各サブ項目において、その項目またはそのサブ項目に記されているＵＲＬに格納されているアプリケーションの番号が付されている点が図２の判定テーブルにない点である。つまり、図４（ｂ）の判定テーブルでは、アプリケーションのＵＲＬを含む位置情報と、当該アプリケーションのアプリケーション番号とが対応付けられている。
【００７７】
そして、本変形例では、ウェブサーバ部１７は、制御コマンドを受信した時、現在複合機１にて利用されているアプリケーションの名称を検出し、検出したアプリケーションの名称と図４（ａ）のアプリケーション登録テーブルとに基づいて、現在複合機１にて利用されているアプリケーションのアプリケーション番号を検出する番号検出部（不図示）を有している。
【００７８】
その後、格納位置検出部１７ａが制御コマンドの送信に携わったソフトウェアの格納位置を検出するが、この点は上記の実施の形態にて述べた内容と同じである。判定部１７ｂは、記憶部１６に格納されている判定テーブル（図４（ｂ）参照）に示されているＩＤ番号のうち、番号検出部にて検出されたアプリケーション番号に対応付けられているＩＤ番号のみを選択する。そして、判定部１７ｂは、選択したＩＤ番号についてのみ、当該ＩＤ番号に属する位置情報に示される全てのＵＲＬが格納位置検出部１７ａにて検出されたか否かの判定処理を行うようになっている。
【００７９】
そして、判定部１７ｂが、あるＩＤ番号において、当該ＩＤ番号に属する位置情報に含まれる全てのＵＲＬが格納位置検出部１７ａにて検出されたと判定した場合、その時点で判定処理を終了し、「真」の判定結果をコマンド許否部１７ｃに伝達する点は上記した実施の形態と同じである。これに対し、判定部１７ｂは、あるＩＤ番号において、当該ＩＤ番号に属する位置情報に含まれる全てのＵＲＬのうちの少なくとも１つが格納位置検出部１７ａにて検出されていないと判定した場合、そのＩＤ番号に対する判定処理を終了し、次のＩＤ番号に対して同様の判定処理を繰り返す。そして、判定部１７ｂは、判定処理を繰り返した結果、選択した全てのＩＤ番号について、位置情報に含まれるＵＲＬのうちの少なくとも１つが格納位置検出部１７ａにて検出されていないと判定した場合、「偽」の判定結果をコマンド許否部１７ｃに伝達する。
【００８０】
つまり、本変形例では、記憶部１６において、アプリケーション（ソフトウェア）のＵＲＬを示す位置情報と、このアプリケーションを示すアプリケーション番号（ソフトウェア情報）とが対応付けて記憶されている。そして、判定部１７ｂは、記憶部１６に記憶されている位置情報のうち、複合機１にて利用されている最中のアプリケーションを示すアプリケーション番号に対応付けられている位置情報のみを参照して前記判定を行うようになっている。
【００８１】
これにより、複合機にて現在利用されていないソフトウェアによって送信された制御コマンドについては実行されないことになるため、セキュリティが強化されることになる。なお、複合機にて現在利用されていないソフトウェアによって送信された制御コマンドの実行を禁止することによってセキュリティが強化される理由を以下にて説明する。
【００８２】
例えば、操作画面が同一または類似のアプリケーションＡとＢとがあり、アプリケーションＡは、スキャンした画像データをアドレスａに送信する処理を行うソフトであり、アプリケーションＢは、スキャンした画像データをアドレスｂへ送信する処理を行うソフトであるとする。そして、アプリケーションＡが複合機１にて利用（実行）されている最中において（つまりアプリケーションＡの操作画面が複合機１にて表示されている最中）、複合機１が、操作画面の表示命令を示す制御コマンドをアプリケーションＢから受信した場合、仮に当該制御コマンドの実行を許可してしまうと、複合機１に表示される画像はアプリケーションＡの操作画面からアプリケーションＢの操作画面に切り替わってしまい、且つ、アプリケーションＡが実行されている状態からアプリケーションＢが実行されている状態に移行されてしまう。このとき、アプリケーションＡの操作画面とアプリケーションＢの操作画面とは同一または類似であるため、ユーザーは実行されているアプリケーションが変わったことに気づくことなく、操作を続行してしまう危険性がある。そして、実行されているアプリケーションの変化に気づくことなく利用者が操作を続行すると、本来アドレスａに送信されるべき画像データがアドレスｂに送信されてしまうことになり、情報漏洩が生じてしまう。これに対し、本変形例の構成によれば、複合機１にて利用されている最中ではないアプリケーションからの制御コマンドの実行は禁止されるため、以上のような情報漏洩を抑制できるのである（つまりセキュリティが強化される）。
【００８３】
＜アプリケーションパッケージ＞
つぎに、あるアプリケーション（以下では「アプリケーションＣ」とする）に対応する位置情報、項目名、項目種別、アプリケーション番号を図４（ｂ）の判定テーブルに登録する方法を、図６のフローチャートに基づいて説明する。
【００８４】
まず、アプリケーションＣに対応する位置情報、ＵＲＬ、項目種別、項目名、アプリケーション番号、アプリケーション名、識別情報を示したアプリケーションパッケージをリムーバブル記録媒体（例えばＵＳＢメモリ）に保存する。なお、図５（ａ）は、アプリケーションパッケージに含まれるアプリケーション名およびＵＲＬを示す図であり、図５（ｂ）は、アプリケーションパッケージに含まれる項目種別、項目名、位置情報を示す図である。
【００８５】
そして、アプリケーションパッケージ（パッケージ情報）を保存したリムーバブル記録媒体（リムーバブルメディア）を複合機１のスロットに挿入し、リムーバブル記録媒体に格納されているアプリケーションパッケージを複合機１にインストールする。
【００８６】
このインストールが開始されると、複合機１の機器制御部１０は、アプリケーションパッケージに含まれている各情報を複合機１のメモリ（不図示）に展開する（Ｓ１１）。
【００８７】
つぎに、機器制御部１０は、メモリに展開された識別情報が有効であるか否かを判定する（Ｓ１２）。この点について、以下具体的に説明する。まず、識別情報とは、アプリケーションパッケージの真正性を示す識別子であり、例えば、ベンダーキーが用いられる。この識別情報と同じ情報が複合機１に予め登録されている。そして、Ｓ１２において、機器制御部１０は、メモリに展開された識別情報と予め登録されている識別情報とを対比し、両情報が同一であれば「有効」と判定し、両情報が異なる場合は「無効」と判定するようになっている。
【００８８】
機器制御部１０は、メモリに展開された識別情報を無効と判定した場合（Ｓ１２にてＮＯ）、メモリに展開されたアプリケーションパッケージの情報を記憶部１６に登録することなく処理を終了する。
【００８９】
これに対し、機器制御部１０は、メモリに展開された識別情報を有効と判定した場合（Ｓ１２にてＹＥＳ）、図５（ａ）に示されているアプリケーション名およびＵＲＬを、図４（ａ）のアプリケーション登録テーブルに登録する（Ｓ１３）。このとき、図４（ａ）に示されるアプリケーション番号は機器制御部１０によって割り振られる。
【００９０】
Ｓ１３の処理の終了後、機器制御部１０は、図５（ｂ）に示される項目種別、項目名、位置情報と、Ｓ１３にて割り振ったアプリケーション番号とを図４（ｂ）の判定テーブルに登録する（Ｓ１４）。この時、図４（ｂ）の判定テーブルにおけるＩＤ番号は機器制御部１０によって割り振られ、図５（ｂ）のテーブルに示されるＩＤ番号は図４（ｂ）の判定テーブルにおいてサブＩＤ番号として用いられる。機器制御部１０は、Ｓ１４の後、処理を終了する。
【００９１】
なお、以上にて説明した図６の処理は、図４（ｂ）に示される判定テーブルに対する登録処理であるが、図２に示される判定テーブルに対する登録処理にも適用可能である。但し、図２に示される判定テーブルに対する登録処理では、Ｓ１３の手順が省略され、且つ、Ｓ１４において、アプリケーション番号の登録が省略される。また、図２に示される判定テーブルに対する登録処理では、図５（ａ）に示されるアプリケーション名およびＵＲＬをアプリケーションパッケージに含める必要はない。
【００９２】
以上示した処理によれば、アプリケーションパッケージが複合機１にインストールされると、機器制御部（登録部）１０は、アプリケーションパッケージに含まれる位置情報、項目種別、項目名、アプリケーション名等の各情報を一括して記憶部１６に登録することになる。それゆえ、登録処理の簡素化が図られるというメリットを有する。
【００９３】
また、アプリケーションパッケージにおいて、図５（ａ）や図５（ｂ）に示される各情報の他、アプリケーションを作動するために必要な各種情報を前記パッケージに含ませておけば、当該情報も一括して登録でき、より一層の登録作業の簡素化を図ることができる。
【００９４】
さらに、以上の処理によれば、アプリケーションパッケージの識別情報の有効性を判定し、有効である場合にＳ１３およびＳ１４の登録が行われるようになっているため、信頼度の高いアプリケーションに対応する位置情報のみの登録が可能になる。また、本実施形態のアプリケーションパッケージは、リムーバブルメディアから複合機１にインストールされるものであり、通信ネットワーク５０にて通信されるものではないので、前記の識別情報が通信ネットワーク５０にて流出される危険性もない。
【００９５】
なお、以上の実施形態において、判定部１７ｂは、ＩＤ番号毎に、各ＩＤ番号に属する位置情報に含まれる全てのＵＲＬが格納位置検出部１７ａにて検出されたか否かを判定する判定処理を行っている。この判定処理において、判定部１７ｂは、位置情報の第１のＵＲＬと格納位置検出部１７ａにて検出されたＵＲＬとが完全同一の場合に限って前記位置情報の前記第１のＵＲＬが格納位置検出部１７ａにて検出されたものと認識するようになっていてもよいし、位置情報の第１のＵＲＬと格納位置検出部１７ａにて検出されたＵＲＬの先頭部分とが同一の場合も前記位置情報の第１のＵＲＬが格納位置検出部１７ａにて検出されたものと認識するようになっていてもよい。例えば、格納位置検出部１７ａにて検出されたＵＲＬが「http://example.com/app1/」の場合に限って図２のＩＤ番号１のＵＲＬが格納位置検出部１７ａにて検出されたものと判定されるようになっていてもよいし、格納位置検出部１７ａにて検出されたＵＲＬが「http://example.com/app1/」の場合のみならず、格納位置検出部１７ａにて「http://example.com/app1/page1.html」や「http://example.com/app1/somepage.html」が検出された場合も、図２のＩＤ番号１のＵＲＬが格納位置検出部１７ａにて検出されたものと判定されるようになっていてもよい。
【００９６】
また、本実施形態では、外部アプリケーションおよびウェブブラウザ等のソフトウェアの格納位置を示す情報としてＵＲＬが用いられているが、ＩＰアドレスが用いられてもよい。
【００９７】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【００９８】
最後に、ウェブサーバ部１７、ウェブブラウザ部１５、機器制御部１０の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【００９９】
すなわち、以上の各ブロックは、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記複合機１に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１００】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１０１】
また、複合機１を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【産業上の利用可能性】
【０１０２】
本発明は、複写、スキャン、ＦＡＸなどの複数の機能を実現する複合機に適用できる。
【符号の説明】
【０１０３】
１    複合機
３    情報処理装置
１０  機器制御部（登録部）
１１  操作部
１１ａ  入力部
１１ｂ  表示部
１５    ウェブブラウザ部
１６    記憶部
１７    ウェブサーバ部
１７ａ  格納位置検出部
１７ｂ  判定部
１７ｃ  コマンド許否部
３１    外部アプリケーション部
３２    外部アプリケーション記憶部
３３    外部アプリケーション
５０    通信ネットワーク
１００    複合機制御システム
【図１】
0005133387.tif 000002
【図２】
0005133387.tif 000003
【図３】
0005133387.tif 000004
【図４】
0005133387.tif 000005
【図５】
0005133387.tif 000006
【図６】
0005133387.tif 000007