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