(57)【要約】【課題】各コントローラで実行される処理の振り分けを、ネットワーク構成に応じて柔軟に対応することが可能な画像形成装置、制御方法及び画像形成システムを提供する。【解決手段】ネットワークを介して接続される外部装置に１又は複数のサービスを夫々提供し、少なくとも前記画像形成に係る一連の処理を連係して実行することが可能な第１コントローラ及び第２コントローラを備え、前記第１コントローラは、ネットワークを介して外部装置と通信が可能な第１外部通信手段と、前記第１コントローラ及び前記第２コントローラが提供する各サービスに対応したポートと、当該ポート宛の通信の転送先となるコントローラとを関連付けた転送テーブルを管理する第１テーブル管理手段と、前記転送テーブルに基づいて、前記外部装置からアクセスを受け付けたポートに対応するコントローラ宛に当該外部装置からの通信を転送する転送手段と、を備える。【選択図】図１
2010219893.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される外部装置に１又は複数のサービスを夫々提供し、少なくとも画像形成に係る一連の処理を連係して実行することが可能な第１コントローラ及び第２コントローラと、
前記第１コントローラと前記第２コントローラとの間を通信可能に接続する内部通信手段と、
を備え、
前記第１コントローラは、
前記ネットワークを介して前記外部装置と通信が可能な第１外部通信手段と、
前記第１コントローラ及び前記第２コントローラが提供する各サービスに対応したポートと、当該ポート宛の通信の転送先となるコントローラとを関連付けた転送テーブルを管理する第１テーブル管理手段と、
前記転送テーブルに基づいて、前記外部装置からアクセスを受け付けたポートに対応するコントローラ宛に当該外部装置からの通信を転送する転送手段と、
を備えたことを特徴とする画像形成装置。
【請求項２】
前記第２コントローラは、前記ネットワークを介して前記外部装置と通信が可能な第２外部通信手段と、前記第２外部通信手段の前記ネットワークへの接続状態の変化を検知し、前記第１コントローラに通知する検知手段と、を更に備え、
前記第１テーブル管理手段は、前記検知手段からの通知に応じて前記転送手段が参照する前記転送テーブルを切り替えることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１テーブル管理手段は、前記第２外部通信手段が前記ネットワークと切断状態にある場合に、前記第１コントローラ及び前記第２コントローラの各々と、当該第１コントローラ及び第２コントローラが提供する各サービスに対応したポートと、を関連付けた第１転送テーブルを前記転送手段の参照先に設定し、前記第２外部通信手段が前記ネットワークと接続状態にある場合に、前記第１コントローラと、当該第１コントローラが提供するサービスに対応したポートと、を関連付けた第２転送テーブルを前記転送手段の参照先に設定することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記第２コントローラは、前記第１コントローラ及び第２コントローラから各コントローラの設定状態を示した機器設定情報を取得する取得手段と、前記機能設定情報を前記外部装置に公開するサービスを提供する公開手段と、を更に備え、
前記第１転送テーブルに、前記公開手段が提供するサービスに対応したポートと、前記第２コントローラとが関連付けて登録されていることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記第２コントローラは、前記機器設定情報の種別毎にその取得先となるコントローラを関連付けた情報テーブルを管理する第２テーブル管理手段を更に備え、
前記取得手段は、前記第２テーブル管理手段が管理する前記情報テーブルに基づいて、前記機器設定情報を前記第１コントローラ又は前記第２コントローラから取得することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記取得手段は、前記内部通信手段を用いて前記第１コントローラから前記機能設定情報を取得することを特徴とする請求項４又は５に記載の画像形成装置。
【請求項７】
前記第１コントローラは、印刷対象の画像データに対して画像処理を施すサブコントローラであり、前記第２コントローラは、前記画像処理が施された画像データの印刷を行うメインコントローラであることを特徴とする請求項１〜６の何れか一項に記載の画像形成装置。
【請求項８】
ネットワークを介して接続される外部装置に１又は複数のサービスを夫々提供し、少なくとも画像形成に係る一連の処理を連係して実行することが可能な第１コントローラ及び第２コントローラのうち、何れか一方のコントローラで実行される情報処理方法であって、
ネットワーク制御手段が、ネットワークを介して外部装置からアクセスを受け付ける受付工程と、
転送手段が、前記第１コントローラ及び前記第２コントローラが提供する各サービスに対応するポートと、当該ポート宛の通信の転送先となるコントローラとを関連付けた転送テーブルに基づいて、前記受信工程でアクセスを受け付けたポートに対応するコントローラ宛に前記外部装置からの通信を転送する転送工程と、
を含むことを特徴とする情報処理方法。
【請求項９】
ネットワークを介して接続される外部装置に１又は複数のサービスを夫々提供し、少なくとも画像形成に係る一連の処理を連係して実行することが可能な第１コントローラ及び第２コントローラのうち、何れか一方のコントローラのコンピュータを、
ネットワークを介して外部装置からアクセスを受け付ける受付手段と、
前記第１コントローラ及び前記第２コントローラが提供する各サービスに対応するポートと、当該ポート宛の通信の転送先となるコントローラとを関連付けた転送テーブルに基づいて、前記受信工程でアクセスを受け付けたポートに対応するコントローラ宛に前記外部装置からの通信を転送する転送手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
現在の画像形成装置は、多様な機能（例えば、オペレーションパネル、ＷＥＢによる設定機能、ユーザ管理、ネットワーク経由での印刷機能、セキュリティ機能等）を搭載している。また、画像形成装置には、ハードウェア又はソフトウェアにより実現される機器の機能、状態、設定を管理するためのコントローラ（以下、汎用コントローラという）が一般に設けられている。通常の画像形成装置は、単独の汎用コントローラにより一元的に管理されているが、この場合、一つのコントローラで全ての処理をまかなうことになる。そのため、速度やリソースの不足が懸念されるが、オフィス等の一般的な用途の範囲では問題になることは少ない。
【０００３】
一方、プロダクションプリンティング等の、より高速な印刷速度が必要とされる分野においては、上述した速度やリソースの不足が問題となってくる。高速印刷のためには印刷エンジンの高速化が必要になるとともに、コントローラによる画像処理の高速化も求められる。この場合、汎用コントローラによる一元処理では、必要な速度が得られない場合がある。このような速度不足に対応するため、画像処理に関する機能拡張のため画像処理専用のコントローラを別途搭載し、この専用コントローラを用いて印刷用の画像処理を施すことで、より高速な印刷処理を実現した画像形成装置が存在する。
【０００４】
また、従来、画像処理装置に機能拡張のための拡張コントローラを接続した場合での、制御方法が提案されており、例えば、特許文献１には、マルチファンクションデバイス（ＭＦＤ）と、複数の拡張コントローラ（ＥＣ）とが有する機能のうち、重複する機能を何れかの装置が実行するよう処理を振り分ける技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、汎用コントローラと専用コントローラとが接続された画像形成装置において、ＬＡＮ等のネットワークとの接続は、汎用コントローラ側で行われるとは限らず、種々の形態が想定される。具体的には、専用コントローラのみをネットワークに接続した形態や、汎用コントローラ及び専用コントローラの両者をネットワークに接続した形態が挙げられる。そのため、種々のネットワーク構成において、各コントローラでの処理の振り分けを柔軟に行うことが可能な技術が要求されている。なお、特許文献１の技術では、重複した機能を割り振ることは可能であるが、各コントローラが独自に提供するサービスの振り分けについては、細かな制御ができないという問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、各コントローラで実行される処理の振り分けを、ネットワーク構成に応じて柔軟に対応することが可能な画像形成装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介してアクセスされる外部装置に１又は複数のサービスを夫々提供し、少なくとも画像形成に係る一連の処理を連係して実行することが可能な第１コントローラ及び第２コントローラと、前記第１コントローラと前記第２コントローラとの間を通信可能に接続する内部通信手段と、を備え、前記第１コントローラは、前記ネットワークを介して前記外部装置と通信が可能な第１外部通信手段と、前記第１コントローラ及び前記第２コントローラが提供する各サービスに対応したポートと、当該ポート宛の通信の転送先となるコントローラとを関連付けた転送テーブルを管理する第１テーブル管理手段と、前記転送テーブルに基づいて、前記外部装置からアクセスを受け付けたポートに対応するコントローラ宛に当該外部装置からの通信を転送する転送手段と、を備えたことを特徴とする。
【０００８】
また、本発明は、ネットワークを介して接続される外部装置に１又は複数のサービスを夫々提供し、少なくとも画像形成に係る一連の処理を連係して実行することが可能な第１コントローラ及び第２コントローラのうち、何れか一方のコントローラで実行される情報処理方法であって、ネットワーク制御手段が、ネットワークを介して外部装置からアクセスを受け付ける受付工程と、転送手段が、前記第１コントローラ及び前記第２コントローラが提供する各サービスに対応するポートと、当該ポート宛の通信の転送先となるコントローラとを関連付けた転送テーブルに基づいて、前記受信工程でアクセスを受け付けたポートに対応するコントローラ宛に前記外部装置からの通信を転送する転送工程と、を含む。
【０００９】
また、本発明は、ネットワークを介して接続される外部装置に１又は複数のサービスを夫々提供し、少なくとも画像形成に係る一連の処理を連係して実行することが可能な第１コントローラ及び第２コントローラのうち、何れか一方のコントローラのコンピュータを、ネットワークを介して外部装置からアクセスを受け付ける受付手段と、前記第１コントローラ及び前記第２コントローラが提供する各サービスに対応するポートと、当該ポート宛の通信の転送先となるコントローラとを関連付けた転送テーブルに基づいて、前記受信工程でアクセスを受け付けたポートに対応するコントローラ宛に前記外部装置からの通信を転送する転送手段と、して機能させる。
【発明の効果】
【００１０】
請求項１、８、９の発明によれば、第１コントローラ及び第２コントローラが提供するサービスに対応したポート単位で、外部装置から要求される処理を各コントローラに振り分けることができるため、各コントローラで実行される処理の振り分けを細やかに制御することができる。また、第１コントローラのみをネットワークに接続するだけで、両コントローラが提供する各サービスを外部装置に提供することができるため、各コントローラで実行される処理の振り分けを、ネットワーク構成に応じて柔軟に対応することができる。
【００１１】
また、請求項２、３の発明によれば、第１コントローラ及び第２コントローラの両方がネットワークに接続された場合には、各々が独立して外部装置と通信可能とし、第２コントローラがネットワークから切断された場合には、第１コントローラを介して第２コントローラに外部装置からの通信を転送できるため、各コントローラで実行される処理の振り分けを、ネットワーク構成に応じて柔軟に対応することができる。また、第２コントローラに対する通信の冗長性を向上させることができる。
【００１２】
また、請求項４、５、６の発明によれば、外部装置を操作するユーザは、第２コントローラにアクセスすることで、第１コントローラ及び第２コントローラの機器設定情報を取得することができるため、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施形態にかかる画像形成装置の構成を示した図である。
【図２】図２は、図１に示したテーブル管理部が管理するポートフォワーディングテーブルの一例を示した図である。
【図３】図３は、外部装置からサブコントローラのＬＰＲ又はＴＣＰ  ＩＰ  ｒａｗポート宛にアクセスが行われた場合の処理の流れを示したシーケンス図である。
【図４】図４は、外部装置からサブコントローラのＦＡＸポート宛にアクセスが行われた場合の処理の流れを示したシーケンス図である。
【図５】図５は、第１の実施形態に係る画像形成装置のＳＮＭＰエージェント間の関係を模式的に示した図である。
【図６】図６は、第２の実施形態に係る画像形成装置の構成を示した図である。
【図７】図７は、メインコントローラの外部Ｉ／ＦがリンクＵＰの場合に有効化されるポートフォワーディングテーブルの一例を示した図である。
【図８】図８は、テーブル管理部及びネットワーク構成検知部の動作を説明するためのフローチャートである。
【図９】図９は、第２の実施形態に係る画像形成装置のＳＮＭＰエージェント間の関係を模式的に示した図である。
【図１０】図１０は、図９に示したメインコントローラのサブエージェントの動作を説明するためのフローチャートである。
【図１１】図１１は、第３の実施形態に係る画像形成装置の構成を示した図である。
【図１２】図１２は、図１１に示した情報テーブル管理部が管理する情報テーブルの一例を示した図である。
【図１３】図１３は、テーブル管理部が管理するポートフォワーディングテーブルの一例を示した図である。
【図１４】図１４は、外部装置からＨＴＴＰ又はＨＴＴＰＳポート宛のアクセスが行われた場合の処理の流れを示したシーケンス図である。
【図１５】図１５は、各実施形態に係る画像形成装置のハードウェア構成の一例を示したブロック図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して、本発明にかかる画像形成装置、情報処理方法及びプログラムの最良な実施形態を詳細に説明する。
【００１５】
［第１の実施形態］
図１は、本実施形態にかかる画像形成装置１００の構成を示した図である。図１に示したように、画像形成装置１００は、サブコントローラ１０（コントローラ１）と、メインコントローラ２０（コントローラ２）と、エンジンハードウェア３０とを備えている。なお、ここでコントローラ１及びコントローラ２は、サブコントローラ１０（６０）及びメインコントローラ２０（７０、８０）を識別するための名称であって、各実施形態において共通に使用する。
【００１６】
サブコントローラ１０は、外部装置５００から送信される画像データを印刷可能なデータに変換する機能を有した画像処理専用のコントローラである。また、メインコントローラ２０は、コピー機能やスキャナ機能、ＦＡＸ機能等を実現するための汎用コントローラである。なお、メインコントローラ２０とエンジンハードウェア３０とは、単独コントローラの画像処理装置としても動作することが可能であり、高速印刷を実現するために、印刷用の画像処理等に特化したサブコントローラ１０を追加した構成となっている。そのため、エンジンハードウェア３０は接続線Ｎ３を介しメインコントローラ２０に接続されている。
【００１７】
サブコントローラ１０とメインコントローラ２０との間は、Ｅｔｈｅｒｎｅｔ（登録商標）規格に準じた接続線Ｎ１により接続されており、ＴＣＰ／ＩＰによる通信が行われるよう構成されている。なお、コントローラ間の通信が可能であれば、Ｅｔｈｅｒｎｅｔ（登録商標）以外の通信規格や、ＴＣＰ／ＩＰ以外の通信方式（例えば、専用プロトコル等）を用いることとしてもよい。
【００１８】
また、サブコントローラ１０は、ＷＡＮやＬＡＮ等のネットワークＮ２に接続されており、このネットワークＮ２に接続された外部装置５００との間でＴＣＰ／ＩＰによる通信が行われるよう構成されている。なお、接続線Ｎ１で用いられるネットワークアドレスと、ネットワークＮ２で用いられるネットワークアドレスとは異なるものとする。
【００１９】
以下、画像形成装置１００を構成する各部について説明する。サブコントローラ１０は、後述する制御部１０１と、記憶部１０４に記憶されたＵＮＩＸ（登録商標）等のＯＳ（オペレーティングシステム）及び各種プログラムとの協働により、ＯＳ・ミドルウェア部１１と、アプリケーション部１２とを機能部として備えている。
【００２０】
ここで、ＯＳ・ミドルウェア部１１は、サブコントローラ１０のＯＳと、当該ＯＳとアプリケーション部１２との間の中間的な処理・動作を制御するミドルウェアと、から実現される。ＯＳ・ミドルウェア部１１は、更にネットワーク制御部１１１と、テーブル管理部１１２と、ポート転送部１１３とを有する。
【００２１】
ネットワーク制御部１１１は、後述する内部Ｉ／Ｆ１０５及び外部Ｉ／Ｆ１０６の動作を制御する機能部であって、ＴＣＰ／ＩＰに準拠した通信プロトコルを用いて、メインコントローラ２０や外部装置との間でデータの授受を行う。また、ネットワーク制御部１１１は、サブコントローラ１０及びメインコントローラ２０で実行されるアプリケーションに対応したポート（ポート番号）を、ネットワークＮ２上の外部装置５００からアクセス可能に設定（開放）する。
【００２２】
テーブル管理部１１２は、ネットワーク制御部１１１により開放されたポートと、このポート宛の通信の転送先（フォーワーディング先）とを規定したポートフォワーディングテーブルを管理する。なお、ポートフォワーディングテーブルは、サブコントローラ１０が備える後述する記憶部１０４等の記憶媒体に予め保持されているものとする。
【００２３】
図２は、テーブル管理部１１２が管理するポートフォワーディングテーブルの一例を示した図である。同図に示したように、ポートフォワーディングテーブルには、ポート（ポート番号）と、このポート宛の通信の転送先となるコントローラ（コントローラ１、コントローラ２）とが関連付けて登録されている。
【００２４】
ここで、コントローラ１に関連付けられたポートは、何れもサブコントローラ１０のアプリケーション部１２が提供する各サービスのリッスンポートに対応する。また、コントローラ２に関連付けられたポートは、何れもメインコントローラ２０の後述するアプリケーション部２２が提供する各サービスのリッスンポートに対応する。このように、ポートフォワーディングテーブルには、サブコントローラ１０及びメインコントローラ２０の夫々について、各コントローラで実行されるアプリケーションに対応したポートが関連付けて規定されている。
【００２５】
図１に戻り、ポート転送部１１３は、テーブル管理部１１２が管理するポートフォワーディングテーブルを参照し、このテーブルに規定されたポートと転送先との関係に基づいて、外部装置５００から受け付けた特定のポート宛の通信を転送先のコントローラに転送する。ここで、ポート転送部１１３は、ネットワークＮ２でのネットワークアドレスから接続線Ｎ１でのネットワークアドレスにネットワークアドレス変換（ＮＡＴ）を行う。なお、本実施形態では、メインコントローラ２０が接続線Ｎ１のネットワークで待ち受ける各ポートは、図２で示したメインコントローラ２０（コントローラ２）の各ポートと同値であるとするが、異なる値を設定する形態としてもよい。
【００２６】
例えば、外部装置５００からＬＰＲ（５１５）ポート宛の通信を受け付けたとすると、ポート転送部１１３は、図２に示したポートフォワーディングテーブルに基づいて、自己のサブコントローラ１０（コントローラ１）を転送先と決定し、この通信をローカルホスト宛（１２７．０．０．１）に転送する。また、外部装置５００からＦＴＰ（２１又は１００２１）ポート宛の通信を受け付けたとすると、ポート転送部１１３は、図２に示したポートフォワーディングテーブルに基づいて、メインコントローラ２０を転送先と決定し、接続線Ｎ１を介しこの通信をメインコントローラ２０のＦＴＰ（２１又は１００２１）ポート宛に転送する。
【００２７】
アプリケーション部１２は、後述する制御部１０１と記憶部１０４に記憶されたプログラムとの協働により実現される機能部であって、サブコントローラ１０のＯＳ上で動作する。アプリケーション部１２は、プリンタアプリケーション１２１と、Ｗｅｂアプリケーション１２２と、ＳＮＭＰアプリケーション１２３とを有する。
【００２８】
プリンタアプリケーション１２１は、印刷対象の画像データに対して印刷用の画像処理（印刷用画像処理）を施すための機能部であって、ＬＰＲ（５１５）又はＴＣＰ  ＩＰ  ｒａｗ（９１００）による画像形成サービスを外部装置５００に提供する。具体的に、プリンタアプリケーション１２１は、ポート転送部１１３からＬＰＲ（５１５）又はＴＣＰ  ＩＰ  ｒａｗ（９１００）ポート宛の通信が転送されると、この通信に含まれる印刷対象の画像データに印刷用画像処理を施し、接続線Ｎ１を介してメインコントローラ２０へ送信する。
【００２９】
Ｗｅｂアプリケーション１２２は、Ｗｅｂサーバ及びＷｅｂアプリケーション機能を実現するための機能部であって、ＩＰＰ（Internet  Printing  Protocol）による画像形成サービスを外部装置５００に提供する。具体的に、Ｗｅｂアプリケーション１２２は、ポート転送部１１３からＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛の印刷要求が転送されると、この通信に含まれる画像データをプリンタアプリケーション１２１に引き渡すことで、当該プリンタアプリケーション１２１に印刷用画像処理を実行させる。
【００３０】
ＳＮＭＰアプリケーション１２３は、ＳＮＭＰ（Simple  Network  Management  Protocol）エージェント機能を実現するための機能部であって、ＳＮＭＰサービスを外部装置５００に提供する。具体的に、ＳＮＭＰアプリケーション１２３は、ポート転送部１１３からＳＮＭＰ（１６１）ポート宛の通信が転送されると、後述するマスタエージェント４１が管理するＭＩＢ（Management  Information  Base）を外部装置５００に提供する。なお、ＳＮＭＰアプリケーション１２３の詳細については後述する。
【００３１】
次に、メインコントローラ２０について説明する。メインコントローラ２０は、後述する制御部２０１と記憶部２０４に記憶されたＵＮＩＸ（登録商標）等のＯＳ、各種プログラムとの協働により、ＯＳ・ミドルウェア部２１と、アプリケーション部２２とを機能部として備える。
【００３２】
ＯＳ・ミドルウェア部２１は、メインコントローラ２０のＯＳと、当該ＯＳとアプリケーション部２２との間の中間的な処理・動作を制御するためのミドルウェアとにより実現される。ＯＳ・ミドルウェア部２１は、プリンタアプリケーション１２１から印刷用画像処理が施された画像データを受け付けると、プリンタエンジン３１を制御し、この画像データの印刷を行う。また、ＯＳ・ミドルウェア部２１は、ネットワーク制御部２１１を有している。
【００３３】
ネットワーク制御部２１１は、後述する内部Ｉ／Ｆ２０６の動作を制御するための機能部であって、ＴＣＰ／ＩＰに準拠した通信プロトコルを用いて、サブコントローラ１０との間でデータの授受を行う。また、ネットワーク制御部２１１は、メインコントローラ２０で実行されるアプリケーションに対応したポートを、接続線Ｎ１を介して接続されたサブコントローラ１０からアクセス可能に設定（開放）する。なお、上述したように、ネットワーク制御部２１１は、図２で示したメインコントローラ２０（コントローラ２）の各ポートを開放する。
【００３４】
アプリケーション部２２は、後述する制御部２０１と記憶部２０４に記憶された各種プログラムとの協働により実現される機能部であって、メインコントローラ２０のＯＳ上で動作する。アプリケーション部２２は、スキャナアプリケーション２２１と、コピーアプリケーション２２２と、ＦＡＸアプリケーション２２３と、Ｗｅｂアプリケーション２２４と、ＦＴＰアプリケーション２２５と、ＳＳＨアプリケーション２２６と、ＴＥＬＮＥＴアプリケーション２２７と、ＳＮＭＰアプリケーション２２８とを有する。
【００３５】
スキャナアプリケーション２２１は、スキャナ機能を実現するための機能部である。具体的に、スキャナアプリケーション２２１は、スキャナエンジン３２を制御することで、図示しない原稿載置台に載置された原稿の画像データを取得する。
【００３６】
コピーアプリケーション２２２は、原稿の複製を生成するコピー機能を実現するための機能部である。具体的に、コピーアプリケーション２２２は、スキャナエンジン３２を制御することで図示しない原稿載置台に載置された原稿の画像データを取得し、この画像データをプリンタエンジン３１に出力させることで原稿の複製を生成する。
【００３７】
ＦＡＸアプリケーション２２３は、ＦＡＸ機能を実現するためのアプリケーションであって、外部装置５００に対しＦＡＸサービスを提供する。具体的に、ＦＡＸアプリケーション２２３は、スキャナエンジン３２を制御し、図示しない原稿載置台に載置された原稿の画像データを取得すると、この画像データにＦＡＸ用の画像処理（ＦＡＸ用画像処理）を施し、この画像データを指示された宛先にＦＡＸエンジン３３を用いてＦＡＸ送信する。
【００３８】
また、ＦＡＸアプリケーション２２３は、サブコントローラ１０からＦＡＸ（４９１５２）ポート宛の通信が転送されると、この通信に含まれた画像データにＦＡＸ用画像処理を施した後、この画像データを当該通信により指示された宛先にＦＡＸエンジン３３を用いてＦＡＸ送信する。
【００３９】
Ｗｅｂアプリケーション２２４は、Ｗｅｂサーバ及びＷｅｂアプリケーション機能を実現するための機能部であって、外部装置５００に対しメインコントローラ２０に係る各種設定内容を示した機器設定情報の公開を行う情報公開サービスを提供する。具体的に、Ｗｅｂアプリケーション２２４は、サブコントローラ１０からＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛の通信が転送されると、メインコントローラ２０の機器設定情報を参照及び変更可能なＧＵＩ（以下、機器設定画面という）を生成し、サブコントローラ１０を介して外部装置５００に提供する。
【００４０】
本実施形態では、図２のポートフォワーディングテーブルに示したように、ＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛の通信はサブコントローラ１０に転送されるよう規定されている。そのため、Ｗｅｂアプリケーション２２４への通信は転送されない構成となっている。なお、メインコントローラ２０の機器設定画面を取得するには、図２のポートフォワーディングテーブルに示したＨＴＴＰ（８０）及びＨＴＴＰＳ（４４３）の転送先をコントローラ２に変更する必要がある。
【００４１】
ＦＴＰアプリケーション２２５は、ＦＴＰ（File  Transfer  Protocol）サーバ機能を実現するための機能部であって、外部装置５００に対しＦＴＰサービスを提供する。具体的に、ＦＴＰアプリケーション２２５は、サブコントローラ１０からＦＴＰ（２１又は１００２１）ポート宛の通信が転送されると、メインコントローラ２０に対するファイル転送のためのサービスを、サブコントローラ１０を介して外部装置５００に提供する。
【００４２】
ＳＳＨアプリケーション２２６は、ＳＳＨ（Secure  SHell）サーバ機能を実現するための機能部であって、外部装置５００に対しＳＳＨサービスを提供する。具体的に、ＳＳＨアプリケーション２２６は、サブコントローラ１０からＳＳＨ／ＳＦＴＰ（２２）ポート宛の通信が転送されると、メインコントローラ２０に対する遠隔操作やファイル転送のためのサービスを、サブコントローラ１０を介して外部装置５００に提供する。
【００４３】
ＴＥＬＮＥＴアプリケーション２２７は、ＴＥＬＮＥＴサーバ機能を実現するための機能部であって、外部装置５００に対しＴＥＬＮＥＴサービスを提供する。具体的に、ＴＥＬＮＥＴアプリケーション２２７は、サブコントローラ１０からＴＥＬＮＥＴ（２３）ポート宛の通信が転送されると、サブコントローラ１０を介して、メインコントローラ２０を遠隔操作するためのサービスを外部装置に提供する。
【００４４】
ＳＮＭＰアプリケーション２２８は、ＳＮＭＰエージェント機能を実現するための機能部であって、外部装置５００に対しＳＮＭＰサービスを提供する。また、ＳＮＭＰアプリケーション２２８は、サブコントローラ１０のＳＮＭＰアプリケーション１２３と協働することで、メインコントローラ２０及び当該メインコントローラ２０の制御下におかれるエンジンハードウェア３０についてのＭＩＢの管理を、サブコントローラ１０のＳＮＭＰアプリケーション１２３に移管する。なお、ＳＮＭＰアプリケーション２２８の詳細については後述する。
【００４５】
エンジンハードウェア３０は、メインコントローラ２０に接続可能なプリンタエンジンやスキャナエンジン等である。本実施形態では、エンジンハードウェア３０として、プリンタエンジン３１と、スキャナエンジン３２と、ＦＡＸエンジン３３とを備えるものとする。
【００４６】
以下、図３及び図４を参照し、画像形成装置１００の動作について説明する。ここで、図３は、外部装置５００からサブコントローラ１０のＬＰＲ又はＴＣＰ  ＩＰ  ｒａｗポート宛にアクセスが行われた場合の処理の流れを示したシーケンス図である。
【００４７】
まず、外部装置５００からサブコントローラ１０のＬＰＲ又はＴＣＰ  ＩＰ  ｒａｗポート宛にアクセスが行われると（ステップＳ１１）、ポート転送部１１３は、ポートフォワーディングテーブルに基づき、この通信を自己のサブコントローラ１０（ローカルホスト）に転送する（ステップＳ１２）。
【００４８】
プリンタアプリケーション１２１は、ポート転送部１１３から通信の転送を受け付けると、この通信に含まれた印刷対象の画像データに印刷用画像処理を施した後（ステップＳ１３）、接続線Ｎ１を介してメインコントローラ２０へ送信する（ステップＳ１４）。
【００４９】
一方、メインコントローラ２０では、サブコントローラ１０（プリンタアプリケーション１２１）から送信された通信が受信されると、ＯＳ・ミドルウェア部２１は、この通信に含まれた画像データを、印刷を指示する指示情報とともにプリンタエンジン３１に出力することで、当該画像データの印刷をプリンタエンジン３１に実行させ（ステップＳ１５）、処理を終了する。
【００５０】
なお、図３の例では、外部装置５００からＬＰＲ又はＴＣＰ  ＩＰ  ｒａｗポート宛にアクセスが行われた場合について説明したが、ＨＴＴＰ（８０）、ＨＴＴＰＳ（４４３）又はＳＮＭＰ（１６１）ポート宛のアクセスを受け付けた場合においても、図２に示したポートフォワーディングテーブルに基づき、サブコントローラ１０（ローカルホスト）に転送されることになる。
【００５１】
図４は、外部装置５００からサブコントローラ１０のＦＡＸ（４９１５２）ポート宛にアクセスが行われた場合の処理の流れを示したシーケンス図である。
【００５２】
まず、外部装置５００からサブコントローラ１０のＦＡＸポート宛にアクセスが行われると（ステップＳ２１）、ポート転送部１１３は、ポートフォワーディングテーブルに基づき、この通信を接続線Ｎ１を介してメインコントローラ２０のＦＡＸ（４９１５２）ポート宛に転送する（ステップＳ２２）。
【００５３】
一方、メインコントローラ２０では、サブコントローラ１０（ポート転送部１１３）から送信された通信が受信されると、ＦＡＸアプリケーション２２３は、この通信に含まれた画像データにＦＡＸ用画像処理を施し（ステップＳ２３）、この通信で指定された送信先を示す送信先情報とともにＦＡＸエンジン３３に出力する（ステップＳ２４）。ＦＡＸエンジン３３は、ＦＡＸアプリケーション２２３の指示に従い、画像データを指定された送信先に画像データをＦＡＸ送信し（ステップＳ２５）、処理を終了する。
【００５４】
なお、図４の例では、外部装置５００からＦＡＸ宛にアクセスが行われた場合について説明したが、ＦＴＰ（２１、１００２１）やＳＳＨ／ＳＦＴＰ（２２）、ＴＥＬＮＥＴ（２３）、ＨＴＴＰ（８０８０）、ＨＴＴＰＳ（８４３１）ポート宛にアクセスが行われた場合においても、メインコントローラ２０に転送される。
【００５５】
このように、本実施形態の画像形成装置１００では、サブコントローラ１０及びメインコントローラ２０が提供するサービスに対応したポート単位で、外部装置５００から要求される処理を各コントローラに振り分けることができるため、各コントローラで実行される処理の振り分けを細やかに制御することができる。また、サブコントローラ１０のみをネットワークＮ２に接続するだけで、両コントローラが提供する各サービスを外部装置５００に提供することができるため、各コントローラで実行される処理の振り分けを、ネットワーク構成に応じて柔軟に対応することができる。
【００５６】
次に、図５を参照し、サブコントローラ１０及びメインコントローラ２０における、ＳＮＭＰアプリケーション間の関係について説明する。ここで、図５は、ＳＮＭＰアプリケーション１２３及びＳＮＭＰアプリケーション２２８による、ＳＮＭＰエージェント間の関係を模式的に示した図である。なお、図５では、外部装置５００がＳＮＭＰマネージャであるとする。
【００５７】
サブコントローラ１０のＳＮＭＰアプリケーション１２３は、その機能に応じて、マスタエージェント４１とサブエージェント４２とに区分けされる。また、メインコントローラ２０のＳＮＭＰアプリケーション２２８も同様に、その機能に応じてマスタエージェント５１とサブエージェント５２とに区分けされる。
【００５８】
サブコントローラ１０及びメインコントローラ２０の内部において、マスタエージェントとサブエージェントとは、ＳＮＭＰのＡｇｅｎｔＸプロトコルで通信を行う。また、サブコントローラ１０のマスタエージェント４１と、メインコントローラ２０のサブエージェント５２とは、接続線Ｎ１を介してＳＮＭＰのＡｇｅｎｔＸプロトコルにより通信することが可能となっている。
【００５９】
マスタエージェント４１、５１は、サブエージェント４２、５２により収集されたＭＩＢとよばれる自己のコントローラの状態を示した状態情報を、夫々ＭＩＢ管理ファイル４１１、５１１に登録して管理し、外部装置５００（ＳＮＭＰマネージャ）からの要求に応じて提供する。図５に示したように、ＭＩＢ管理ファイル４１１、５１１には、サブエージェントで収集されたＭＩＢと、その優先順位とが関連付けて登録されている。なお、本実施形態ではマスタエージェント５１のＭＩＢ管理ファイル５１１に登録されるＭＩＢは空（ｎｕｌｌ）となっている。
【００６０】
サブエージェント４２は、自己のコントローラ及び自己のコントローラの制御下に置かれる各装置からＭＩＢを収集し、ＡｇｅｎｔＸプロトコルを用いてマスタエージェント４１のＭＩＢ管理ファイル４１１に登録する。具体的に、サブエージェント４２は、サブコントローラ１０に関するＭＩＢとして、プリンタＭＩＢ１を要素とするプリンタＭＩＢ４２１を取得し、ＡｇｅｎｔＸプロトコルを用いてＭＩＢ管理ファイル４１１に登録する。
【００６１】
一方、サブエージェント５２は、メインコントローラ２０のＭＩＢとして、プライベートＭＩＢ１、ＭＩＢ２を要素するプライベートＭＩＢ５２１と、プリンタエンジン３１に係るプリンタＭＩＢ１’、ＭＩＢ２を要素とするプリンタＭＩＢ５２２とを収集する。ここで、プライベートＭＩＢ５２１は、メインコントローラ２０自体を識別するための個体識別情報（例えば、後述する外部Ｉ／Ｆ２０８のＭＡＣアドレスやシリアル番号）や、仕様や動作等の状態を表した情報を含んでいる。即ち、このプライベートＭＩＢ５２１は、管理対象（画像形成装置１００）を一意に特定するための情報として用いることが可能である。
【００６２】
なお、図５の例では、説明の便宜上プリンタエンジン３１に係るプリンタＭＩＢ５２２のみを例示したが、これに限らず、スキャナエンジン３２やＦＡＸエンジン３３等についても同様にＭＩＢが取得されるものとする。
【００６３】
また、サブエージェント５２は、後述する内部Ｉ／Ｆ２０６のＭＩＢを参照、又は、接続線Ｎ１を介してサブコントローラ１０のマスタエージェント４１と通信することで、サブコントローラ１０との接続状態を検知し、接続されていると判定するとサブコントローラ１０側のマスタエージェント４１が管理するＭＩＢ管理ファイル４１１に、プライベートＭＩＢ５２１とプリンタＭＩＢ５２２とを登録する。
【００６４】
ＡｇｅｎｔＸプロトコルを用いたＭＩＢ登録時の優先順位は、１から２５５で指定することが可能であり、値が小さくなるほど優先順位が高くなっている。この優先順位は任意の値を設定できるものとするが、本実施形態では、サブエージェント５２からマスタエージェント４１への登録時に、デフォルト値“１２７”が優先順位として指定されるものとする。
【００６５】
ここで、図５を参照すると、ＭＩＢ管理ファイル４１１には、デフォルトの優先順位１２７でプリンタＭＩＢ１’、２及びプライベートＭＩＢ１、２が登録されているが、サブエージェント４２が優先順位１でプリンタＭＩＢ１を登録している。そのため、優先順位１のプリンタＭＩＢ１が有線され、外部装置５００（ＳＮＭＰマネージャ）は、マスタエージェント４１からプリンタＭＩＢ１、プリンタＭＩＢ２、プライベートＭＩＢ１及びプライベートＭＩＢ２を取得することになる。なお、サブコントローラ１０側のプライベートＭＩＢ１の値を１２８以上とすることで、メインコントローラ２０側のプリンタＭＩＢ１’を優先的に提供することが可能であるため、使用環境に応じて適宜調整することが好ましい。
【００６６】
このように、本実施形態の画像形成装置１００では、サブコントローラ１０のみがネットワークＮ２に接続された構成であっても、メインコントローラ２０側のサブエージェント５２が収集したＭＩＢを、サブコントローラ１０側のマスタエージェント４１の管理下におくことで、メインコントローラ２０に係るＭＩＢをサブコントローラ１０のマスタエージェント４１から提供することができる。
【００６７】
なお、本実施形態では、サブコントローラ１０にのみネットワークＮ２が接続される形態としたが、メインコントローラ２０にのみネットワークＮ２が接続される形態としてもよい。また、この場合、メインコントローラ２０側で転送制御を行うことが好ましく、具体的には、メインコントローラ２０のミドルウェア部２１が、上述したネットワーク制御部１１１、テーブル管理部１１２及びポート転送部１１３を備えることで、上記と同様の効果を奏することができる。
【００６８】
［第２の実施形態］
次に、第２の実施形態について説明する。上述した第１の実施形態では、画像処理装置が備えるコントローラ１及びコントローラ２のうち、コントローラ１側のみをネットワークＮ２に接続する形態とした。しかしながら、コントローラ２が備える機能部（アプリケーション）は独立的に利用することが可能であるため、コントローラ２に対し直接アクセスすることが可能な構成とすることが好ましい。そこで、本実施形態では、コントローラ１及び２の両者をネットワークＮ２に接続し、各コントローラに対し外部装置５００から直接アクセスすることを可能にした形態について説明する。なお、第１の実施形態と同様の構成については、同じ符号を用い説明は省略する。
【００６９】
図６は、第２の実施形態に係る画像形成装置２００の構成を示した図である。図６に示したように、画像形成装置２００は、サブコントローラ６０（コントローラ１）と、メインコントローラ７０（コントローラ２）と、エンジンハードウェア３０とを備えている。
【００７０】
サブコントローラ６０は、外部装置５００から送信された画像データを印刷可能なデータに変換する機能を有した画像処理専用のコントローラであって、後述する制御部１０１と記憶部１０４に記憶されたＯＳ、各種プログラムとの協働により、ＯＳ・ミドルウェア部１３と、アプリケーション部１２とを機能部として備える。また、メインコントローラ７０は汎用コントローラであって、後述する制御部２０１と記憶部２０４に記憶されたＯＳ、各種プログラムとの協働により、ＯＳ・ミドルウェア部２３と、アプリケーション部２４とを機能部として備える。
【００７１】
サブコントローラ６０側のＯＳ・ミドルウェア部１３は、ネットワーク制御部１１１と、テーブル管理部１３１と、ポート転送部１１３とを有している。
【００７２】
一方、メインコントローラ７０側のＯＳ・ミドルウェア部２３は、ネットワーク制御部２１１と、ネットワーク構成検知部２３１とを有している。また、アプリケーション部２４は、上述したＳＮＭＰアプリケーション２２８に代えて、ＳＮＭＰアプリケーション２４１を有している。
【００７３】
ネットワーク構成検知部２３１は、メインコントローラ７０が具備する後述する内部Ｉ／Ｆ２０６及び外部Ｉ／Ｆ２０８の状態を検知する機能部である。具体的に、ネットワーク構成検知部２３１は、ネットワークＮ２と接続する外部Ｉ／Ｆ２０８のリンクのＵＰ／ＤＯＷＮを検知し、この検知結果を示す検知情報をサブコントローラ６０のテーブル管理部１３１に通知する。なお、この通知はサブコントローラ６０とメインコントローラ７０とを接続する接続線Ｎ１を介して行われるものとする。また、ネットワーク構成検知部２３１は、接続線Ｎ１と接続する内部Ｉ／Ｆ２０６のリンクのＵＰ／ＤＯＷＮを検知する。
【００７４】
一方、サブコントローラ６０のテーブル管理部１３１は、メインコントローラ７０のネットワーク構成検知部２３１から通知される検知情報に応じて、ポート転送部１１３が参照するポートフォワーディングテーブルを切り替える。
【００７５】
具体的に、テーブル管理部１３１は、ネットワーク構成検知部２３１から通知される検知情報がリンクＵＰを示す場合には、図７に示したポートフォワーディングテーブルを、ポート転送部１１３の参照先に設定する。
【００７６】
ここで、図７は、メインコントローラ７０の外部Ｉ／Ｆ２０８がリンクＵＰの場合に有効化されるポートフォワーディングテーブルの一例を示した図である。同図に示したように、サブコントローラ６０（コントローラ１）のアプリケーション部１２で実行される各アプリケーションに対応するポート（ＬＰＲ、ＴＣＰ  ＩＰ  ｒａｗ、ＳＮＭＰ）のみが有効化され、自己のサブコントローラ６０に転送先が設定されている。また、メインコントローラ７０（コントローラ２）のアプリケーション部２４で実行される各アプリケーションに係るポートについては、その転送先が無効となるよう設定されている。
【００７７】
メインコントローラ７０の外部Ｉ／Ｆ２０８がリンクＵＰの場合、メインコントローラ７０は外部装置５００から直接アクセスを受け付け、アクセスされたポートに応じて単独で処理を行うことが可能である。この場合、サブコントローラ６０側でメインコントローラ７０に対する処理要求を転送する必要はない。そのため、図７に示したように、テーブル管理部１３１は、サブコントローラ６０で実行する必要のある通信のみを、ローカルホストに転送するよう規定されたポートフォワーディングテーブルを、ポート転送部１１３の参照先に設定する。なお、フォワーディング先が“エラー表示”のものについては、このポート宛にアクセスした外部装置５００に対し、エラーの旨の情報を返すことを意味している。なお、メインコントローラ７０に対し、ＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛の通信が外部装置５００から行われた場合には、Ｗｅｂアプリケーション２２４により、メインコントローラ２０についての機器設定画面が外部装置５００に提供される。
【００７８】
また、テーブル管理部１３１は、ネットワーク構成検知部２３１から通知される検知情報がリンクＤＯＷＮを示す場合には、図２で説明したポートフォワーディングテーブルを、ポート転送部１１３の参照先に設定する。これにより、メインコントローラ７０とネットワークＮ２とが切断された場合であっても、メインコントローラ７０宛の処理要求を、サブコントローラ６０を介して通知することができる。
【００７９】
なお、実施形態において、メインコントローラ７０のネットワーク制御部２１１は、後述する内部Ｉ／Ｆ２０６及び外部Ｉ／Ｆ２０８が接続されるネットワークに対し、アプリケーション部２２の各アプリケーションが提供するサービスに対応したポートを、アクセス可能に設定（開放）する。また、アプリケーション部２２の各アプリケーションは、サブコントローラ６０を介したアクセスした外部装置５００に加え、後述する外部Ｉ／Ｆ２０８に直接アクセスした外部装置５００に対しても所定のサービスを提供する。
【００８０】
以下、図８を参照して、テーブル管理部１３１及びネットワーク構成検知部２３１の動作について説明する。ここで、図８は、テーブル管理部１３１及びネットワーク構成検知部２３１の動作を説明するためのフローチャートである。
【００８１】
まず、メインコントローラ７０のネットワーク構成検知部２３１は、ネットワークＮ２と接続する後述する外部Ｉ／Ｆ２０８のリンク状態を常時又は所定の期間毎に監視する（ステップＳ３１；Ｎｏ）。ここで、ネットワーク構成検知部２３１は、外部Ｉ／Ｆ２０８のリンクＵＰ又はリンクＤＯＷＮを検知すると（ステップＳ３１；Ｙｅｓ）、このリンク状態を表した検知情報をテーブル管理部１３１に送信し（ステップＳ３２）、ステップＳ３１に再び戻る。
【００８２】
一方、サブコントローラ６０のテーブル管理部１３１は、ネットワーク構成検知部２３１から検知情報を受け付けると、この検知情報がリンクＵＰを示すものか否かを判定する（ステップＳ４１）。ここで、リンクＵＰと判定すると（ステップＳ４１；Ｙｅｓ）、テーブル管理部１３１は、ポート転送部１１３の参照先を、自己のサブコントローラ６０への転送のみを有効化したポートフォワーディングテーブル（図７参照）を、ポート転送部１１３の参照先に設定し（ステップＳ４２）、ステップＳ４１に再び戻る。
【００８３】
また、ステップＳ４１において、リンクＤＯＷＮと判定すると（ステップＳ４１；Ｎｏ）、テーブル管理部１３１は、ポート転送部１１３の参照先を、サブコントローラ６０及びメインコントローラ７０の両者への転送を有効化したポートフォワーディングテーブル（図２参照）を、ポート転送部１１３の参照先に設定し（ステップＳ４３）、ステップＳ４１に再び戻る。
【００８４】
このように、本実施形態の画像形成装置１００によれば、メインコントローラ７０のネットワークＮ２への接続状態に応じて、メインコントローラ７０への転送の有効／無効を制御するポートフォワーディングテーブルを切り替えることができる。これにより、外部装置５００からのアクセスを受け付け、処理を行うコントローラを自動的に切り替えることができるため、利便性を向上させることが可能となる。
【００８５】
また、サブコントローラ６０及びメインコントローラ７０の両方がネットワークＮ２に接続された場合には、各々が独立して外部装置５００と通信可能とし、メインコントローラ７０がネットワークＮ２から切断された場合には、サブコントローラ６０を介してメインコントローラ７０に外部装置５００からの通信を転送できるため、各コントローラで実行される処理の振り分けを、ネットワーク構成に応じて柔軟に対応することができる。また、メインコントローラ７０に対する通信の冗長性を向上させることができる。
【００８６】
次に、サブコントローラ６０及びメインコントローラ７０における、ＳＮＭＰアプリケーション間の関係について説明する。ここで、図９は、ＳＮＭＰアプリケーション１２３及びＳＮＭＰアプリケーション２４１による、ＳＮＭＰエージェント間の関係を模式的に示した図である。なお、図９では、外部装置５００がＳＮＭＰマネージャであるとする。
【００８７】
図９に示したように、サブコントローラ６０のＳＮＭＰアプリケーション１２３は、その機能に応じて、マスタエージェント４１とサブエージェント４２とに区分けされる。また、メインコントローラ７０のＳＮＭＰアプリケーション２４１も、その機能に応じてマスタエージェント５１とサブエージェント５３とに区分けされる。
【００８８】
ここで、メインコントローラ７０側のサブエージェント５３は、上述したサブエージェント５２と同様、メインコントローラ７０のＭＩＢとして、プライベートＭＩＢ１、ＭＩＢ２を要素するプライベートＭＩＢ５２１と、プリンタエンジン３１に係るプリンタＭＩＢ１’、ＭＩＢ２を要素とするプリンタＭＩＢ５２２とを収集する。
【００８９】
また、サブエージェント５３は、ネットワーク構成検知部２３１により検知される内部Ｉ／Ｆ２０６及び外部Ｉ／Ｆ２０８のリンク状態に応じて、ネットワークＮ２に接続されたコントローラ側のマスタエージェントに、メインコントローラ７０に関するＭＩＢの一部又は全てを登録する。
【００９０】
具体的に、サブエージェント５３は、ネットワーク構成検知部２３１による検知結果が内部Ｉ／Ｆ２０６のみリンクＵＰの場合、図５に示したように、メインコントローラ７０に係る全てのＭＩＢ（プライベートＭＩＢ１、２、プリンタＭＩＢ１’、２）をマスタエージェント４１のＭＩＢ管理ファイル４１１に登録する。
【００９１】
これにより、画像形成装置２００（サブコントローラ６０＋メインコントローラ７０）が有するＭＩＢを、マスタエージェント４１から外部装置に提供することが可能となる。なお、この場合、ＭＩＢ管理ファイル５１１にメインコントローラ７０に係るＭＩＢが登録されていた場合には、図２に示したようにＭＩＢ管理ファイル５１１から削除してもよい。
【００９２】
また、サブエージェント５３は、ネットワーク構成検知部２３１による検知結果が外部Ｉ／Ｆ２０８のみリンクＵＰの場合、図９に示したように、メインコントローラ７０に係る全てのＭＩＢ（プライベートＭＩＢ１、２、プリンタＭＩＢ１’、２）をＭＩＢ管理ファイル５１１に登録する。
【００９３】
これにより、メインコントローラ７０が有するＭＩＢをマスタエージェント５１から直接外部装置に提供することが可能となる。
【００９４】
また、サブエージェント５３は、ネットワーク構成検知部２３１による検知結果が内部Ｉ／Ｆ２０６及び外部Ｉ／Ｆ２０８がリンクＵＰの場合、マスタエージェント５１のＭＩＢ管理ファイル５１１にプリンタＭＩＢ５２２を登録し、マスタエージェント４１のＭＩＢ管理ファイル４１１にプライベートＭＩＢ５２１及びプリンタＭＩＢ５２２を登録する。
【００９５】
これにより、メインコントローラ７０側で実装されたプリンタＭＩＢ５２２をサブコントローラ６０側で利用することが可能となり、サブコントローラ６０側でプリンタＭＩＢ５２２を実装する工数を削減することができる。また、個体識別情報を含んだプライベートＭＩＢ５２１を、マスタエージェント５１から直接外部装置に提供することが可能となる。
【００９６】
また、サブエージェント５３は、ネットワーク構成検知部２３１による検知結果が内部Ｉ／Ｆ２０６のみリンクＵＰの状態から、内部Ｉ／Ｆ２０６及び外部Ｉ／Ｆ２０８がリンクＵＰの状態に切り替わった場合、マスタエージェント５１のＭＩＢ管理ファイル５１１にプライベートＭＩＢ５２１及びプリンタＭＩＢ５２２を登録し、マスタエージェント４１のＭＩＢ管理ファイル４１１からプライベートＭＩＢ５２１を削除する。
【００９７】
また、サブエージェント５３は、ネットワーク構成検知部２３１による検知結果が内部Ｉ／Ｆ２０６及び外部Ｉ／Ｆ２０８がリンクＵＰの状態から、内部Ｉ／Ｆ２０６のみリンクＵＰの状態に切り替わった場合、マスタエージェント５１のＭＩＢ管理ファイル５１１に登録されたプライベートＭＩＢ５２１及びプリンタＭＩＢ５２２を削除し、マスタエージェント４１のＭＩＢ管理ファイル４１１にプライベートＭＩＢ５２１及びプリンタＭＩＢ５２２を登録する。
【００９８】
これにより、サブコントローラ６０とメインコントローラ７０との接続形態が動的に変わっても、何れかのマスタエージェントからプライベートＭＩＢ５２１を提供することができる。
【００９９】
なお、外部Ｉ／Ｆ２０８及び内部Ｉ／Ｆ２０６が共にリンクＤＯＷＮの場合、メインコントローラ２０はスタンドアロン構成となるが、本実施形態では、リンクＤＯＷＮ直前までのＭＩＢ管理ファイル５１１の状態が維持されるものとする。
【０１００】
以下、図１０を参照して、メインコントローラ７０のＳＮＭＰアプリケーション２４１の動作について説明する。ここで、図１０は、サブエージェント５３の動作を説明するためのフローチャートである。
【０１０１】
サブエージェント５３は、ネットワーク構成検知部２３１での検知結果を監視し（ステップＳ５１；Ｎｏ）、外部Ｉ／Ｆ２０８及び／又は内部Ｉ／Ｆ２０６のリンク状態に変化が生じたと判定すると（ステップＳ５１；Ｙｅｓ）、この検知結果が外部Ｉ／Ｆ２０８のリンクＵＰを示すものか否かを判定する（ステップＳ５２）。
【０１０２】
ステップＳ５２において、外部Ｉ／Ｆ２０８のリンクＤＯＷＮと判定した場合（ステップＳ５２；Ｎｏ）、サブエージェント５３は、内部Ｉ／Ｆ２０６のリンク状態がリンクＵＰを示すものか否かを判定する（ステップＳ５３）。ここで、内部Ｉ／Ｆ２０６のリンクＤＯＷＮと判定した場合（ステップＳ５３；Ｎｏ）、ステップＳ５１の処理に再び戻る。
【０１０３】
一方、ステップＳ５３において、内部Ｉ／Ｆ２０６のリンクＵＰと判定した場合（ステップＳ５３；Ｙｅｓ）、サブエージェント５３は、メインコントローラ７０に係る全てのＭＩＢをサブコントローラ６０のＭＩＢ管理ファイル４１１に登録し（ステップＳ５４）、ステップＳ５１の処理に再び戻る。なお、ＭＩＢ管理ファイル５１１にプライベートＭＩＢ５２１及びプリンタＭＩＢ５２２が登録されていた場合には、これらのＭＩＢをＭＩＢ管理ファイル５１１から削除する。
【０１０４】
また、ステップＳ５２において、外部Ｉ／Ｆ２０８のリンクＵＰと判定した場合（ステップＳ５２；Ｙｅｓ）、サブエージェント５３は、さらに内部Ｉ／Ｆ２０６のリンク状態がリンクＵＰを示すものか否かを判定する（ステップＳ５５）。ここで、内部Ｉ／Ｆ２０６のリンクＤＯＷＮと判定した場合（ステップＳ５５；Ｎｏ）、サブエージェント５３は、メインコントローラ７０に係る全てのＭＩＢをＭＩＢ管理ファイル５１１に登録した後（ステップＳ５６）、ステップＳ５１の処理に再び戻る。
【０１０５】
一方、ステップＳ５５において、内部Ｉ／Ｆ２０６のリンクＵＰと判定した場合（ステップＳ５５；Ｙｅｓ）、サブエージェント５３は、マスタエージェント５１のＭＩＢ管理ファイル５１１にプリンタＭＩＢ５２２を登録するとともに、マスタエージェント４１のＭＩＢ管理ファイル４１１にプライベートＭＩＢ５２１及びプリンタＭＩＢ５２２を登録し（ステップＳ５７）、ステップＳ５１の処理に再び戻る。なお、マスタエージェント４１のＭＩＢ管理ファイル４１１にプライベートＭＩＢ５２１が登録されていた場合には、このプライベートＭＩＢ５２１をＭＩＢ管理ファイル４１１から削除する。
【０１０６】
以上の処理により、メインコントローラ２０側の外部Ｉ／Ｆ２０８がネットワークＮ２から切断された場合であっても、外部装置はメインコントローラ２０のプライベートＭＩＢをサブコントローラ１０側のマスタエージェント４１から取得することが可能となる。また、サブコントローラ１０とのリンクが切れた場合であっても、メインコントローラ２０側の外部Ｉ／Ｆ２０８がネットワークＮ２に接続されている場合には、外部装置はメインコントローラ２０のプライベートＭＩＢを当該メインコントローラ２０から取得することができる。
【０１０７】
このように、本実施形態によれば、メインコントローラ７０のネットワークＮ２への接続状態に応じて、メインコントローラ７０に係るＭＩＢの一部又は全てを、ネットワークＮ２に接続されたコントローラ側のマスタエージェントに登録することができるため、ＭＩＢの提供方法をネットワーク構成に応じて柔軟に切り替えることができる。
【０１０８】
なお、本実施形態では、サブエージェント５３はネットワーク構成検知部２３１を介して外部Ｉ／Ｆ２０８及び内部Ｉ／Ｆ２０６の状態変化を検知する形態としたが、これに限らず、サブエージェント５３が収集する外部Ｉ／Ｆ２０８及び内部Ｉ／Ｆ２０６に関するＭＩＢからリンクＵＰ／ＤＯＷＮの状態変化を検知する形態としてもよい。
【０１０９】
また、本実施形態では、メインコントローラ７０側で外部Ｉ／Ｆ２０８の状態変化を検知し、サブコントローラ６０側で転送制御を行う形態としたが、サブコントローラ６０側で外部Ｉ／Ｆ２０６の状態変化を検知し、メインコントローラ７０で転送制御を行う形態としてもよい。具体的には、サブコントローラ６０のＯＳ・ミドルウェア部１３がネットワーク構成検知部２３１を備え、メインコントローラ７０のＯＳ・ミドルウェア部２３がテーブル管理部１３１及びポート転送部１１３を備えることで、上記と同様の効果を奏することができる。
【０１１０】
［第３の実施形態］
次に、第３の実施形態について説明する。第１、第２の実施形態で説明したように、一の画像形成装置が複数のコントローラで構成される場合、コントローラ毎に設定の変更を行う必要がある。この場合、操作が煩雑となるため利便性に欠けるという問題がある。そこで、本実施形態では、一方のコントローラにアクセスすることで、他方のコントローラの機能設定も行うことを可能とした形態について説明する。なお、上述した第１、第２の実施形態と同様の構成要素については、同じ符号を付与し説明を省略する。
【０１１１】
図１１は、第３の実施形態に係る画像形成装置３００の構成を示した図である。図１１に示したように、画像形成装置３００は、サブコントローラ６０（コントローラ１）と、メインコントローラ８０（コントローラ２）と、エンジンハードウェア３０とを備えている。
【０１１２】
メインコントローラ８０は、メインコントローラ２０と同様の汎用コントローラであって、後述する制御部２０１と記憶部２０４に記憶されたＯＳ、各種プログラムとの協働により、ＯＳ・ミドルウェア部２３と、アプリケーション部２５とを機能部として備える。
【０１１３】
ここで、アプリケーション部２５は、上述したＷｅｂアプリケーション２２４に代えてＷｅｂアプリケーション２５１を有している。Ｗｅｂアプリケーション２５１は、上述したＷｅｂアプリケーション２２４の機能に加え、画像形成装置３００の各設定を示した機器設定情報と、その取得場所とを関連付けた情報テーブルを管理する情報テーブル管理部２５１１と、情報テーブルに基づいて機器設定情報の取得と更新とを行う機器設定管理部２５１２とを有している。
【０１１４】
図１２は、情報テーブル管理部２５１１が管理する情報テーブルの一例を示した図である。同図に示したように、情報テーブルには、画像形成装置３００に関する各種の機器設定情報と、その取得場所としてコントローラ名（コントローラ１又はコントローラ２）とが関連付けて登録されている。なお、情報テーブルは、後述する記憶部２０４に予め記憶されているものとする。
【０１１５】
機器設定管理部２５１２は、後述する外部Ｉ／Ｆ２０８又は内部Ｉ／Ｆ２０６を介し、外部装置５００から機器設定情報を要求する通信、つまりＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛の通信を受け付けると、情報テーブル管理部２５１１が管理する情報テーブルに基づいて、各取得場所から機器設定情報を取得する。
【０１１６】
例えば、機器設定管理部２５１２は、画像形成装置３００の印刷カウンタを、サブコントローラ６０（コントローラ１）から取得する。また、機器設定管理部２５１２は、アドレス帳をメインコントローラ８０（コントローラ２）から取得する。なお、機器設定情報を取得・変更方法は特に問わないものとする。例えば、ＳＮＭＰアプリケーション１２３及びＳＮＭＰアプリケーション２２８と協働し、マスタエージェントから得られるＭＩＢ（状態情報）を機器設定情報とする形態としてもよい。また、機器設定情報の変更に関しても、ＳＮＭＰアプリケーション１２３及びＳＮＭＰアプリケーション２２８と協働し、マスタエージェントに設定の変更を指示（例えば、ＳｅｔＲｅｑｕｅｓｔ）することで、実現することができる。
【０１１７】
Ｗｅｂアプリケーション２５１は、機器設定管理部２５１２により取得された機器設定情報に基づき、各機器設定情報の参照・設定変更を行うことが可能な機器設定画面を生成し、アクセス元の外部装置５００に提供する。
【０１１８】
なお、テーブル管理部１３１が管理するポートフォワーディングテーブルは、メインコントローラ８０の外部Ｉ／Ｆ２０８の状態に応じて、図７に示したテーブル（外部Ｉ／Ｆ２０８のリンクＵＰ時）と、図１３に示したテーブル（外部Ｉ／Ｆ２０８のリンクＤＯＷＮ時）とが切り替えられるものとする。
【０１１９】
ここで、図１３は、テーブル管理部１３１が管理するポートフォワーディングテーブルの一例を示した図である。同図において、ＨＴＴＰ（８０）及びＨＴＴＰＳ（４４３）ポート宛の通信が、メインコントローラ８０へ転送されるよう設定されている。つまり、外部Ｉ／Ｆ２０８のリンクＵＰ時に、サブコントローラ６０へＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛のアクセスが行われると、Ｗｅｂアプリケーション１２２によりＩＰＰによる画像形成サービスが提供される。また、外部Ｉ／Ｆ２０８のリンクＤＯＷＮ時に、サブコントローラ６０へＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛のアクセスが行われると、この通信はメインコントローラ８０へ転送される。
【０１２０】
以下、図１４を参照して、画像形成装置３００の動作について説明する。ここで、図１４は、外部装置５００から機器設定情報の要求を指示するＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛のアクセスが行われた場合の処理の流れを示したシーケンス図である。
【０１２１】
まず、外部装置５００から画像形成装置３００の機器設定情報の要求を指示するＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛のパケットが送信される。このとき、メインコントローラ８０の外部Ｉ／Ｆ２０８がリンクＤＯＷＮであったとすると、外部装置５００からの通信はテーブル管理部１３１及びポート転送部１１３の制御により、サブコントローラ６０を経由してメインコントローラ８０のＷｅｂアプリケーション２５１に到達する（ステップＳ６１、Ｓ６２）。また、メインコントローラ８０の外部Ｉ／Ｆ２０８がリンクＵＰである場合には、外部装置５００はメインコントローラ８０に直接アクセスすることが可能であるため、Ｗｅｂアプリケーション２５１にＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛のパケットが到達する（ステップＳ６３）。
【０１２２】
メインコントローラ８０では、ＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛の通信が受信されると、Ｗｅｂアプリケーション２５１は、機器設定画面の生成を開始し、機器設定情報の取得を機器設定管理部２５１２に指示する（ステップＳ６４）。なお、ここで、取得の対象となる機器設定情報を指定してもよい。
【０１２３】
機器設定管理部２５１２では、情報テーブル管理部２５１１が管理する情報テーブルに基づいて、各種の機器設定情報を順次取得する。ここで、機器設定情報の取得場所がサブコントローラ６０である場合、機器設定管理部２５１２は、内部Ｉ／Ｆ２０６を介してＳＮＭＰアプリケーション１２３と協働することで、サブコントローラ６０から該当する機器設定情報を取得する（ステップＳ６５）。また、機器設定情報の取得場所がメインコントローラ８０である場合、機器設定管理部２５１２は、自己のコントローラから機器設定情報を取得する（ステップＳ６６）。なお、ステップＳ６５、Ｓ６６の処理は、全ての機器設定情報が取得されるまで繰り返し実行される。
【０１２４】
続いて、Ｗｅｂアプリケーション２５１は、ステップＳ６５、Ｓ６６で取得された機器設定情報を用いて、機器設定画面を生成すると（ステップＳ６７）、サブコントローラ１０を介して外部装置に提供し、本処理を終了する。ここで、メインコントローラ８０の外部Ｉ／Ｆ２０８がリンクＤＯＷＮの場合には、サブコントローラ６０を経由して機器設定画面が提供されるものとする（ステップＳ６８、Ｓ６９）。また、メインコントローラ８０の外部Ｉ／Ｆ２０８がリンクＵＰである場合には、メインコントローラ８０から外部装置５００へ直接機器設定画面が提供されるものとする（ステップＳ７０）。
【０１２５】
以上のように、本実施形態によれば、外部装置を操作するユーザは、メインコントローラ８０にアクセスすることで、サブコントローラ６０及びメインコントローラ８０の機器設定情報を取得することができるため、ユーザの利便性を向上させることができる。また、メインコントローラ８０がネットワークＮ２から切断されている場合においても、サブコントローラ６０にアクセスすることで、サブコントローラ６０及びメインコントローラ８０の機器設定情報を取得することができるため、ユーザの利便性を向上させることができる。
【０１２６】
なお、本実施形態では、メインコントローラ８０側で機器設定画面を生成する形態としたが、これに限らず、サブコントローラ６０側で機器設定画面を生成する形態としてもよい。具体的には、サブコントローラ６０がＷｅｂアプリケーション１２２に代えてＷｅｂアプリケーション２５１を備えることで、外部装置５００からサブコントローラ６０のＨＴＴＰ（８０）又はＨＴＴＰＳ（４４３）ポート宛にアクセスすることで、サブコントローラ６０及びメインコントローラ８０の機器設定情報を取得することができる。なお、メインコントローラ８０のネットワークＮ２への切断時には、図２に示したポートフォワーディングテーブルがポート転送部１１３の参照先となるよう切り替えることが好ましい。
【０１２７】
図１５は、上述した各実施形態に係る画像形成装置（画像形成装置１００、２００、３００）のハードウェア構成の一例を示したブロック図である。同図に示したように、画像形成装置は、コントローラ１（サブコントローラ１０、６０）と、コントローラ２（メインコントローラ２０、７０、８０）と、エンジンハードウェア３０とを備えている。
【０１２８】
図１５に示したように、コントローラ１は、ＣＰＵやＧＰＵ等で構成される制御部１０１、制御部１０１とシステムバスで接続されるＲＯＭ１０２、ＲＡＭ１０３、ＯＳや各種プログラムを記憶するＨＤＤ等の記憶部１０４、接続線Ｎ１を介してコントローラ２と通信するための内部Ｉ／Ｆ１０５、ネットワークＮ２に接続された外部装置５００と通信するための外部Ｉ／Ｆ１０６等を有している。
【０１２９】
ここで、制御部１０１は、ＲＡＭ１０３の所定領域を作業領域として、ＲＯＭ１０２や記憶部１０４に予め記憶された各種プログラムとの協働により各種処理を実行し、サブコントローラ１０を構成する各部の動作を統括的に制御する。また、制御部１０１は、ＲＯＭ１０２や記憶部１０４に予め記憶された各種プログラムとの協働により、上述した各機能部を実現する。
【０１３０】
コントローラ２は、ＣＰＵやＧＰＵ等の制御部２０１、制御部２０１とシステムバスで接続されるＲＯＭ２０２、ＲＡＭ２０３、ＯＳや各種プログラムを記憶するＨＤＤ等の記憶部２０４、接続線Ｎ３を介してエンジンハードウェア３０と接続するためのエンジンＩ／Ｆ２０５、接続線Ｎ１を介してサブコントローラ１０と通信するための内部Ｉ／Ｆ２０６、コントローラ２を操作するための操作パネル２０７、ネットワークＮ２に接続された外部装置５００と通信するための外部Ｉ／Ｆ２０８等を有している。
【０１３１】
ここで、制御部２０１は、ＲＡＭ２０３の所定領域を作業領域として、ＲＯＭ２０２や記憶部２０４に予め記憶された各種プログラムとの協働により各種処理を実行し、メインコントローラ２０を構成する各部の動作を統括的に制御する。また、制御部２０１は、ＲＯＭ２０２や記憶部２０４に予め記憶された各種プログラムとの協働により、上述した各機能部を実現する。なお、上述した第１の実施形態に係る画像形成装置１００は、外部Ｉ／Ｆ２０８が存在しない又はリンクＤＯＷＮの状態に相当する。
【０１３２】
以上、本発明に係る実施形態について説明したが、これに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
【０１３３】
例えば、上記実施形態の処理にかかるプログラムを、コンピュータで読み取り可能な記憶媒体として提供することも可能である。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリ等、プログラムを記憶でき、且つ、コンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【０１３４】
また、上記実施形態の処理にかかるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【０１３５】
また、上記実施形態では、コントローラ１及びコントローラ２（エンジンハードウェア３０）を単一の画像形成装置として説明したが、コントローラ１とコントローラ２とを異なる場所に配置等することでシステム構成（画像形成システム）としてもよく、この場合においても上記実施形態と同様の効果を奏することが可能である。
【産業上の利用可能性】
【０１３６】
以上のように、本発明にかかる画像形成装置、情報処理方法及びプログラムは、二つのコントローラを備えた装置に有用であり、特に、各コントローラで実行される処理の振り分けに適している。
【符号の説明】
【０１３７】
１００  画像形成装置
２００  画像形成装置
３００  画像形成装置
５００  外部装置
１０  サブコントローラ
１１  ＯＳ・ミドルウェア部
１１１  ネットワーク制御部
１１２  テーブル管理部
１１３  ポート転送部
１２  アプリケーション部
１２１  プリンタアプリケーション
１２２  Ｗｅｂアプリケーション
１２３  ＳＮＭＰアプリケーション
１３  ＯＳ・ミドルウェア部
１３１  テーブル管理部
２０  メインコントローラ
２１  ＯＳ・ミドルウェア部
２１１  ネットワーク制御部
２２  アプリケーション部
２２１  スキャナアプリケーション
２２２  コピーアプリケーション
２２３  ＦＡＸアプリケーション
２２４  Ｗｅｂアプリケーション
２２５  ＦＴＰアプリケーション
２２６  ＳＳＨアプリケーション
２２７  ＴＥＬＮＥＴアプリケーション
２２８  ＳＮＭＰアプリケーション
２３  ＯＳ・ミドルウェア部
２３１  ネットワーク構成検知部
３０  エンジンハードウェア
３１  プリンタエンジン
３２  スキャナエンジン
３３  ＦＡＸエンジン
４１  マスタエージェント
４１１  ＭＩＢ管理ファイル
４２  サブエージェント
４２１  プリンタＭＩＢ
５１  マスタエージェント
５１１  ＭＩＢ管理ファイル
５２  サブエージェント
５２１  プライベートＭＩＢ
５２２  プリンタＭＩＢ
６０  サブコントローラ
７０  メインコントローラ
８０  メインコントローラ
１０１  制御部
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  記憶部
１０５  内部Ｉ／Ｆ
１０６  外部Ｉ／Ｆ
２０１  制御部
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  記憶部
２０５  エンジンＩ／Ｆ
２０６  内部Ｉ／Ｆ
２０７  操作パネル
２０８  外部Ｉ／Ｆ
【先行技術文献】
【特許文献】
【０１３８】
【特許文献１】特開２００６−０９４０４９号公報
【図１】
2010219893.tif 000003
【図２】
2010219893.tif 000004
【図３】
2010219893.tif 000005
【図４】
2010219893.tif 000006
【図５】
2010219893.tif 000007
【図６】
2010219893.tif 000008
【図７】
2010219893.tif 000009
【図８】
2010219893.tif 000010
【図９】
2010219893.tif 000011
【図１０】
2010219893.tif 000012
【図１１】
2010219893.tif 000013
【図１２】
2010219893.tif 000014
【図１３】
2010219893.tif 000015
【図１４】
2010219893.tif 000016
【図１５】
2010219893.tif 000017