(57)【要約】【課題】  外部コントローラとデバイスをネットワーク一本化した場合に、外部コントローラのローカルインタフェースのリンクローカルアドレスが外部ネットワーク上のノードのリンクローカルアドレスと重複することを防止する。【解決手段】  拡張制御装置は、第２のインタフェースのアドレスに関する重複アドレス検出要求を第２のインタフェースを介して第２のネットワークへ送信し、第１のインタフェースを介して第１のネットワークへ送信する重複アドレス検出要求送信手段と、重複アドレス検出要求に応答がない場合に第２のインタフェースのアドレスを決定する手段と、第１のインタフェースを介して受信した重複アドレス検出要求に対して、第１のインタフェースのアドレス又は第２のインタフェースのアドレスと重複しているか否かを判定する手段と、判定手段の結果に従って、重複アドレス検出応答を送信するか否かを制御する手段とを有する。【選択図】  図７
2009010610.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置と拡張制御装置とからなる拡張画像処理システムであって、
前記拡張制御装置は、
第１および第２のインタフェースを有し、
前記第１のインタフェースは前記拡張制御装置を複数のホストコンピュータが属する第１のネットワークに接続し、前記第２のインタフェースは前記拡張制御装置を前記画像処理装置が属する第２のネットワークに接続し、
第２のインタフェースのアドレスに関する重複アドレス検出要求を第２のインタフェースを介して第２のネットワークへ送信し、さらに、第１のインタフェースを介して第１のネットワークへ送信する重複アドレス検出要求送信手段と、
前記重複アドレス検出要求送信手段によって送信された重複アドレス検出要求に応答がない場合に第２のインタフェースのアドレスを決定する決定手段と、
第１のインタフェースを介して受信した重複アドレス検出要求に対して、第１のインタフェースのアドレスあるいは第２のインタフェースのアドレスと重複しているか否かを判定する判定手段と、
前記判定手段の結果に従って、重複アドレス検出応答を送信するか否かを制御する制御手段と
を備えたことを特徴とする拡張画像処理システム。
【請求項２】
前記アドレスは、前記ネットワーク毎に共通なプレフィックス部とネットワーク接続された装置毎に固有のインタフェース識別子とを含むＩＰｖ６のリンクローカルアドレスであることを特徴とする請求項１に記載の拡張画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、画像入力、文書ファイリング、文書送受信、画像変換等の機能を有する画像処理装置に付加してその機能と柔軟性を拡張する拡張制御装置を含む拡張画像処理システムに関するものである。
【背景技術】
【０００２】
近年、プリンタ、スキャナ、ＦＡＸ、あるいはそれらの機能を複合的に備えた画像処理装置の多くは、ネットワーク通信機能を備えるようになっている。これらの通信機能を備えた画像処理装置の中には、ネットワークを介して接続されたＰＣやサーバなどへ画像データを送付するデータ転送機能を備えるものもある。
【０００３】
このようなデータ転送機能では、電子メールを転送するためのＳＭＴＰプロトコル、インタフェースａｘ、ファイルアップロードが可能なＨＴＴＰ（Ｈｙｐｅｒ    Ｔｅｘｔ    Ｔｒａｎｓｆｅｒ    Ｐｒｏｔｏｃｏｌ）プロトコル、ファイル送付を行うＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコルなどの上位プロトコルが利用されている。
【０００４】
一方、画像処理装置の機能を拡張する手段として拡張制御装置がある。拡張制御装置は、ユーザ環境で使用されているネットワーク（ＬＡＮ）の通信方式のデータを、画像処理装置が持つインタフェース方式に適したデータに変換するネットワーク機能拡張を行う。また、拡張制御装置は、通信データをスプールするストレージ拡張機能や、画像処理装置やあるいはクライアント装置で行う処理の一部を肩代わりするなどの負荷分散機能などを行う。
【０００５】
このような拡張制御装置と画像処理装置との接続形態、画像処理装置が備えているネットワーク通信機能を介するものがある。この場合の接続形態では、画像処理装置とＬＡＮとの間に拡張制御装置が入り、拡張制御装置が両者の橋渡しを行う機能を持つデュアルネットワーク型と、画像処理装置と拡張制御装置がそれぞれＬＡＮに接続する単一ネットワーク型とがある。
【０００６】
単一ネットワーク型と、デュアルネットワーク型とを比較した場合、デュアルネットワーク型は拡張制御装置と画像処理装置の間は独立したローカルネットワークを構成するため、ＬＡＮの帯域を消費しないという利点がある。そして、拡張制御装置と画像処理装置との間では大量の画像データが交換されるが、デュアルネットワーク型の場合には、ローカルネットワークがＬＡＮよりも広帯域の伝送方式を利用することが容易である。
【０００７】
さらに、デュアルネットワーク型では、拡張制御装置と画像処理装置とが一つのネットワーク機器として振舞う。一方、単一ネットワーク型では、拡張制御装置と画像処理装置とのそれぞれが、ネットワークアドレスなどの論理資源やハブのポートなどの物理資源を消費する。従って、デュアルネットワーク型は単一ネットワーク型に比べてＬＡＮにおけるネットワーク資源の消費量が少ない、という利点がある。
【０００８】
特開２００３−９９２３０には、画像処理装置に接続された拡張制御装置により追加機能能力を提供するための方法が開示されている。
【０００９】
図１は、従来および本実施例における拡張画像処理システムが利用されるネットワーク環境の一例を示す模式図である。
【００１０】
拡張画像処理システム１０は画像処理装置１００と拡張制御装置１０１から構成されるシステムであり、プリンタ、画像入力、文書ファイリング、文書送受信、画像変換等の機能を有する画像処理装置１００に対してさらに拡張された機能を提供する。画像処理装置１００と拡張制御装置１０１の第２ネットワークインタフェース２１は、第２のネットワーク４０１によって接続されている。拡張制御装置１０１の第１ネットワークインタフェース２０は第１のネットワーク４００に接続され、第１のネットワーク４００を介して他のネットワークノードと通信する。  
【００１１】
ホストコンピュータ（ＰＣ）１１は個人向けの情報処理装置であり、主にユーザの机上に置かれ各種のアプリケーションプログラムが実行される。ホストコンピュータ１１は第１のネットワーク４００に接続され、第１のネットワーク４００を介して他のネットワークノードが提供するサービスを利用したり、他のネットワークノードにサービスを提供したりする。
【００１２】
サーバコンピュータ１２は大規模な情報処理装置であり、第１のネットワーク４００に接続され、第１のネットワーク４００を介して主に他のネットワークノードに対するサービスを提供する。
【００１３】
プリンタ１３はネットワーク対応した周辺機器であり、第１のネットワーク４００に接続され、第１のネットワーク４００を介して他のネットワークノードに対して画像処理装置１００のサービスを提供する。
【００１４】
ルータ１４はネットワークとネットワークを接続するネットワークノードであり、インターネットやバーチャルプライベートネットワークなどの広域ネットワーク１５と第１のネットワーク４００とを接続する。
【００１５】
第１のネットワーク４００はユーザのオフィスなどに敷設されたローカルエリアネットワークである。
【００１６】
特開２００３−９９２３０で開示されている画像処理装置に接続された拡張制御装置により追加機能能力を提供するための方法によれば、拡張制御装置の第１のネットワークインタフェース２０のＩＰアドレスは、画像処理装置のＩＰアドレスを使用する。
【００１７】
ところで、インターネットで用いられる通信プロトコルとして、近年Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６（ＩＰｖ６）が用いられ始めている。ＩＰｖ６では、アドレスが１２８ビット長である。現在の一般的な使用形態では、上位６４ビットが主にルータ間で経路を識別するためのデータでありプレフィックスと呼ばれる。プレフィックスは主にルータから、ルータが管理するリンク内の各装置に広告され、各装置は広告されたプレフィックスを、自身のアドレスの上位６４ビットとする。実際には、リンクローカルアドレスと呼ばれるリンク内での通信にのみ使用するアドレスなど、これとは異なるアドレスも使用するが、本発明とは関係ないので説明を省略する。下位６４ビットは、各装置が自由に割り振るデータであり、インタフェース識別子と呼ばれる。
【００１８】
各装置がインタフェース識別子を生成する一般的な方法として、各装置固有のＩＤから６４ビットのアドレスを生成するＥＵＩ−６４（６４−ｂｉｔ  ｅｘｔｅｎｄｅｄ  ｕｎｉｑｕｅ  ｉｄｅｎｔインタフェースｉｅｒ）と呼ばれる方法がある。例えば、リンクがイーサネット（登録商標）で構成される場合、装置のＭｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ（ＭＡＣ−４８）を３バイトに分割し、その間にｆｆ：ｆｅを挿入し、最上位バイトの０２でマスクされるビットを反転して、６４ビットのインタフェース識別子を生成する。例として、装置のＭＡＣ−４８が００：８０：９０：ａ０：ｂ０：ｃ０である場合は、インタフェース識別子は０２８０：９０ｆｆ：ｆｅａ０：ｂ０ｃ０となる。なお、ここでは簡単化のため装置と記しているが、厳密には装置のネットワークインタフェースである。
【００１９】
インタフェース識別子の生成方法は任意であるので、上記の方法で生成されたインタフェース識別子が、リンク内で一意である保証はない。そこで、このインタフェース識別子を使用したリンクローカルアドレスを仮アドレスとして、仮アドレスと同じアドレスを使用している他の装置が同一リンク上にないかを確かめる(重複アドレス検出)。これは、要請マルチキャストと呼ばれるマルチキャストアドレスに対して、仮アドレスを使用している装置がないかを問い合わせるメッセージ（近隣要請メッセージ）を発行することで行なわれる。要請マルチキャストは、ｆｆ０２：：１：ｆｆ００：００００と仮アドレスの下位２４ビットとの論理和をとったものである。上記例のインタフェース識別子を用いる場合は、ｆｆ０２：：１：ｆｆａ０：ｂ０ｃ０となる。    
これに対し、仮アドレスを使用している装置があれば使用している旨を表すメッセージ（近隣通知メッセージ）が発行される。使用している旨を表すメッセージが発行されなければ、当該装置は、仮アドレス中のインタフェース識別子を正式に使用する。近隣通知メッセージが発行されると、他のインタフェース識別子を割り当てる。
【特許文献１】特開２００３−９９２３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、上述した従来の技術では、重複アドレス検出がリンク毎に行われる。つまり、第１のネットワークインタフェース２０のアドレスに関する重複アドレス検出は、第１のネットワーク４００に対してのみ行われ、第２のネットワーク４０１に対して行われない。また、第２のネットワークインタフェース２１のアドレスに関する重複アドレス検出は、第２のネットワーク４０１に対してのみ行われ、第１のネットワーク４００に対して行われない。第１のネットワーク４００上のホストコンピュータがリンクローカルアドレスのインタフェース識別子を乱数などから作成したり、手動で設定しているなどの場合、拡張制御装置の第２のネットワークインタフェース２１のリンクローカルアドレスと重複する可能性がある。この場合、画像処理装置と第１のネットワーク４００上の当該リンクローカルアドレスのホストコンピュータ間では通信できないという問題があった。
【課題を解決するための手段】
【００２１】
上述した課題を解決するために、本発明は、画像処理装置と拡張制御装置とからなる拡張画像処理システムにおいて、
前記拡張制御装置は、
第１および第２のインタフェースを有し、
前記第１のインタフェースは前記拡張制御装置を複数のホストコンピュータが属する第１のネットワークに接続し、前記第２のインタフェースは前記拡張制御装置を前記画像処理装置が属する第２のネットワークに接続し、
第２のインタフェースのアドレスに関する重複アドレス検出要求を第２のインタフェースを介して第２のネットワークへ送信し、さらに、第１のインタフェースを介して第１のネットワークへ送信する重複アドレス検出要求送信手段と、
前記重複アドレス検出要求送信手段によって送信された重複アドレス検出要求に応答がない場合に第２のインタフェースのアドレスを決定する決定手段と、
第１のインタフェースを介して受信した重複アドレス検出要求に対して、第１のインタフェースのアドレスあるいは第２のインタフェースのアドレスと重複しているか否かを判定する判定手段と、
前記判定手段の結果に従って、重複アドレス検出応答を送信するか否かを制御する制御手段と
を有することを特徴とする。
【発明の効果】
【００２２】
本発明によって、拡張制御装置の第２のネットワークインタフェース２１のアドレスと第１のネットワーク上のホストコンピュータのアドレスとが重複することを防止できる。
【発明を実施するための最良の形態】
【００２３】
（実施例１）
図２は、本実施例における画像処理装置１００と拡張制御装置１０１の組み合わせによって構成された拡張画像処理システムのブロック図である。
【００２４】
画像処理装置１００は、プリンタ、画像入力、文書ファイリング、文書送受信、画像変換など各種の基本的な画像処理機能を提供する。
【００２５】
リーダー部（画像入力装置）２００は、原稿画像を光学的に読み取り、画像データに変換する。リーダー部２００は、原稿を読取るための機能を持つスキャナユニット２１０と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット２５０とで構成される。
【００２６】
プリンタ部（画像出力装置）３００は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部３００は、複数種類の記録紙カセットを持つ給紙ユニット３６０と、画像データを記録紙に転写、定着させる機能を持つマーキングユニット３１０と、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット３７０とで構成される。
【００２７】
制御装置１１０は、リーダー部２００、プリンタ部３００と電気的に接続され、さらに第１のネットワーク４００にと接続されている。制御装置１１０は、リーダー部２００を制御して、原稿の画像データを読込み、プリンタ部３００を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部２００から読取った画像データを、コードデータに変換し、第１のネットワーク４００を介して図示しないクライアント装置へ送信するスキャナ機能、クライアント装置から第１のネットワーク４００を介して受信したコードデータを画像データに変換し、プリンタ部３００に出力するプリンタ機能を提供する。
【００２８】
操作部１５０は、制御装置１１０に接続され、液晶タッチパネルで構成され、画像入出力システムを操作するためのユーザＩ／Ｆを提供する。
【００２９】
拡張制御装置１０１は制御装置本体１７０と周辺機器１７１から構成される。拡張制御装置本体１７０は、オペレーティングシステムや各種デバイスドライバや各種アプリケーションプログラムを含むソフトウェアを実行することができる。周辺機器１７１は各種の周辺機器であり、拡張制御装置１０１のハードウェアを拡張する。
【００３０】
画像処理装置１００と拡張制御装置１０１は第２のネットワーク４０１を介して接続され相互に通信できる。
【００３１】
図３は、画像処理装置１００の制御装置１１０のハードウェア構成を示すブロック図である。
【００３２】
メインコントローラ３０１１は、主にＣＰＵ３０１２と、バスコントローラ３０１３、各種Ｉ／Ｆコントローラ回路とから構成される。
【００３３】
ＣＰＵ３０１２とバスコントローラ３０１３は制御装置１１０全体の動作を制御するものであり、ＣＰＵ３０１２はＲＯＭ３０１４からＲＯＭ  Ｉ／Ｆ３０１５を経由して読込んだプログラムに基いて動作する。また、クライアント装置から受信したＰＤＬ（ページ記述言語）コードデータを解釈し、ラスターイメージデータに展開する動作も、このプログラムに記述されており、ソフトウェアによって処理される。バスコントローラ３０１３は各Ｉ／Ｆから入出力されるデータ転送を制御するものであり、バス競合時の調停やＤＭＡデータ転送の制御を行う。
【００３４】
ＤＲＡＭ３０１６はＤＲＡＭ  Ｉ／Ｆ３０１７によってメインコントローラ３０１１と接続されており、ＣＰＵ３０１２が動作するためのワークエリアや、画像データを蓄積するためのエリアとして使用される。
【００３５】
Ｃｏｄｅｃ３０１８は、ＤＲＡＭ３０１６に蓄積されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧ／ＪＰＥＧ等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスターイメージデータに伸長する。ＳＲＡＭ３０１９はＣｏｄｅｃ３０１８の一時的なワーク領域として使用される。Ｃｏｄｅｃ３０１８はＩ／Ｆ３０２０を介してメインコントローラ３０１１と接続され、ＤＲＡＭ３０１６との間のデータの転送は、バスコントローラ３０１３によって制御されＤＭＡ転送される。
【００３６】
Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｏｒ３０３５は、画像回転、変倍処理、色空間変換等の処理を行う。
【００３７】
外部通信Ｉ／Ｆ３０２１はＩ／Ｆ３０２２によってメインコントローラ３０１１と接続され、コネクタ３０２２によって外部ネットワークと接続される。
汎用高速バス３０２５には、拡張ボードを接続するための拡張コネクタ３０２４とＩ／Ｏ制御部３０２６とが接続される。汎用高速バスとしては、一般的にＰＣＩバスがあげられる。
【００３８】
Ｉ／Ｏ制御部３０２６には、リーダー部２００、プリンタ部３００の各ＣＰＵと制御コマンドを送受信するための調歩同期シリアル通信コントローラ３０２７が２チャンネル装備されており、Ｉ／Ｏバス３０２８によって外部Ｉ／Ｆ回路３０４０，３０４５に接続されている。
【００３９】
パネルＩ／Ｆ３０３２は、ＬＣＤコントローラ３０３１に接続され、操作部１５０上の液晶画面に表示を行うためのＩ／Ｆと、ハードキーやタッチパネルキーの入力を行うためのキー入力Ｉ／Ｆ３０３０とから構成される。
【００４０】
操作部１５０は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーを有する。タッチパネルまたはハードキーにより入力された信号は前述したパネルＩ／Ｆ３０３２を介してＣＰＵ３０１２に伝えられ、液晶表示部はパネルＩ／Ｆ３０３２から送られてきた画像データを表示するものである。液晶表示部には、本画像処理装置１００の操作における機能表示や画像データ等を表示する。
【００４１】
リアルタイムクロックモジュール３０３３は、機器内で管理する日付と時刻を更新／保存するためのもので、バックアップ電池３０３４によってバックアップされている。
【００４２】
Ｅ−ＩＤＥインタフェース３０６１は、外部記憶装置を接続するためのものである。本実施例においては、このＩ／Ｆを介してハードディスクドライブ３０６０を接続し、ハードディスク３０６２へ画像データを記憶させたり、ハードディスク３０６２から画像データを読み込ませたりする動作を行う。
【００４３】
コネクタ３０４２と３０４７は、それぞれリーダー部２００とプリンタ部３００とに接続され、同調歩同期シリアルＩ／Ｆ（３０４３，３０４８）とビデオＩ／Ｆ（３０４４，３０４９）とから構成される。
【００４４】
スキャナＩ／Ｆ３０４０は、コネクタ３０４２を介してリーダー部２００と接続され、また、スキャナバス３０４１によってメインコントローラ３０１１と接続されており、リーダー部２００から受け取った画像に対して所定の処理を施す機能を有する。さらに、スキャナＩ／Ｆ３０４０は、リーダー部２００から送られたビデオ制御信号をもとに生成した制御信号を、スキャナバス３０４１に出力する機能も有する。
【００４５】
スキャナバス３０４１からＤＲＡＭ３０１６へのデータ転送は、バスコントローラ３０１３によって制御される。
【００４６】
プリンタＩ／Ｆ３０４５は、コネクタ３０４７を介してプリンタ部３００と接続され、また、プリンタバス３０４６によってメインコントローラ３０１１と接続されている。そして、プリンタＩ／Ｆ３０４５は、メインコントローラ３０１１から出力された画像データに所定の処理を施して、プリンタ部３００へ出力する機能を有する。さらに、プリンタＩ／Ｆ３０４５は、プリンタ部３００から送られたビデオ制御信号をもとに生成した制御信号を、プリンタバス３０４６に出力する機能も有する。
【００４７】
ＤＲＡＭ３０１６上に展開されたラスターイメージデータのプリンタ部への転送は、バスコントローラ３０１３によって制御され、プリンタバス３０４６、ビデオＩ／Ｆ３０４９を経由して、プリンタ部３００へＤＭＡ転送される。
【００４８】
図４は、画像処理装置１００のコントローラのソフトウェアのモジュール構造を示すブロック図である。
【００４９】
画像処理装置１００に内蔵されるコントローラ１１０によって処理されるソフトウェアは、いわゆるファームウェアとして実装されており、装置のＣＰＵ１１２によって実行される。
【００５０】
リアルタイムＯＳ４００１はリアルタイムオペレーティングシステムであり、組み込みシステムの制御に最適化された各種資源管理のサービスと枠組みをその上で動作するソフトウェアのために提供する。リアルタイムＯＳが提供する各種資源管理のサービスと枠組みには、ＣＰＵによる処理の実行コンテクストを複数管理することによって複数の処理を実質的に並行動作させるマルチタスク管理（スレッド管理）、タスク間の同期やデータ交換を実現するタスク間通信、メモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワークや通信などの各種プロトコルの処理を実装したプロトコルスタック、などがある。
【００５１】
ファイルシステム４００２はハードディスクやメモリなどの記憶装置上に構築されたデータを格納するための機構である。画像処理装置コントローラ１１０が扱うジョブをスプールしたり各種データを保存したりするために用いる。
【００５２】
ジョブ制御・装置制御モジュール４００３は、画像処理装置１００のハードウェアを制御し、また、画像処理装置１００の主にハードウェアが提供する基本機能（プリント、スキャン、通信、画像変換など）を利用するジョブを制御する。
【００５３】
管理モジュール４００４は画像処理装置コントローラ１１０の動作に係る内部状態を制御するなど、コントローラの動作を管理する。
【００５４】
制御ＡＰＩ４００５は、この層よりも下位のソフトウェアモジュール群が提供するサービスをこの層よりも上位の組み込みアプリケーション群が利用するために設けられたアプリケーションプログラミングインタフェースである。
【００５５】
ネットワークサービス４００６は、制御ＡＰＩ４００５とネットワークプロトコルとを相互変換することによって、クライアントＰＣなど外部のネットワークノードから装置の基本機能を利用可能とする。
【００５６】
組み込みアプリケーションロジック４００７、プレゼンテーションインタフェース４００８、組み込みアプリケーションＵＩ４００９は、組み込みアプリケーションを構成する。組み込みアプリケーションは、画像処理装置１００の基本機能に加えてさらにコピー、画像スキャン、文書送受信、文書ファイリングなどの上位機能を、制御ＡＰＩの基本機能を利用して実現する。組み込みアプリケーションロジック４００７は、組み込みアプリケーションのビジネスロジック部分に相当する。プレゼンテーションインタフェース４００８は組み込みアプリケーションのビジネスロジックとプレゼンテーションロジックを分離するために設けられたインタフェースである。組み込みアプリケーションＵＩ４００９は組み込みアプリケーションのプレゼンテーションロジックに相当し、ユーザによる組み込みアプリケーションの操作を可能とするためにグラフィカルユーザインタフェース（ＧＵＩ）の表示や入力の制御を行う。組み込みアプリケーションＵＩ４００９は、画像処理装置１００の操作部１４０上にローカルなユーザインタフェースを提供するだけでなく、ＨＴＭＬなどのマークアップ言語とＨＴＴＰなどのＷｅｂ技術を用いて実現したＷｅｂアプリケーションも提供する。ユーザはクライアントＰＣなどの上で動作するＷｅｂブラウザからこのＷｅｂアプリケーションに接続して、画像処理装置１００を遠隔操作できる。Ｗｅｂアプリケーションとして実装した組み込みアプリケーションのプレゼンテーション層のことをここではリモートＵＩと呼ぶ。
【００５７】
組み込みＪａｖａ（登録商標）環境４０１０は、Ｊａｖａ（登録商標）仮想機械を中心に構成されるインタプリタ環境である。組み込みＪａｖａ（登録商標）環境４０１０はＪａｖａ（登録商標）のバイトコードで記述された命令列データを実行時に読み込み結合し、Ｊａｖａ（登録商標）仮想機械が命令を逐次的に読み込み解釈し実行するように構成されている。したがって、リアルタイムＯＳも含めてあらかじめ全体が単一のロードモジュールに静的結合されているファームウェア上にあって、ごく部分的ながらソフトウェアを動的に追加したり入れ替えたりできる拡張性や柔軟性を確保できる。リアルタイムＯＳやジョブ制御・装置制御ＡＰＩなどを含むファームウェア（ネイティブシステム）の資源やサービスをＪａｖａ（登録商標）のプログラムから利用可能なように構成したＪａｖａ（登録商標）のクラスライブラリ群が、Ｊａｖａ（登録商標）  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ（ＪＮＩ）によって提供されている。Ｊａｖａ（登録商標）環境４０１０の基本部分は、よく知られているＪａｖａ（登録商標）  ２  Ｐｌａｔｆｏｒｍ，  Ｍｉｃｒｏ  Ｅｄｉｔｉｏｎによって構築されている。
【００５８】
また、画像処理装置１００内の組み込みアプリケーションロジックは、拡張制御装置１０１システム内アプリケーションによって実装されるプレゼンテーションロジックから、制御することが可能になっている。
画像処理装置１００には、拡張制御装置１０１と連携するか否かを制御するためのフラグが設けられており、図示しない不揮発性メモリ等に記憶される。
【００５９】
図５は、本実施例における拡張制御装置１０１のハードウェア構成を示すブロック図である。
【００６０】
メインＣＰＵ５００１は、全体の制御を行う中央演算装置であり、ＲＯＭ５００３およびハードディスクユニット５００４に記憶されたプログラムを実行する。第１ネットワークインタフェース２０は、他の機器との間でネットワークを介したデータ通信を行うための制御部である。ＣＰＵ５００１によって実行されるソフトウェアは、第１のネットワーク４００を介して、他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行うことができる。第２ネットワークインタフェース２１は、画像処理装置１００との間でネットワークを介したデータ通信を行うための制御部である。ＣＰＵ５００１によって実行されるソフトウェアは、第２のネットワーク４０１を介して、画像処理装置１００と双方向のデータのやり取りを行うことができる。メモリ５００２は、ＣＰＵ５００１で実行する命令や、データなどを保存するための、一般的には揮発性の記憶部である。ＲＯＭ５００３は、基本的なハードウェア制御を行うためのプログラムやデータなどを保存するための読み取り専用記憶部である。ハードディスクユニット５００４は、拡張制御装置１０１本体で実行されるプログラムや演算されたデータなどを保存するための、一般的には不揮発性の記憶部である。ブートプログラム（起動プログラム：ハードやソフトの実行（動作）を開始するプログラム）、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶する。周辺機器インタフェース５００５は、ＵＳＢ、ＲＳ−２３２Ｃシリアル、ＩＥＥＥ１３９４などの仕様を実装した周辺機器１７１を接続するための制御部である。周辺機器１７１は、例えば、ユーザを特定するためのユーザ認証装置などである。
【００６１】
図６は，本実施例における拡張制御装置１０１のソフトウェアのモジュール構成を示すブロック図である。
【００６２】
拡張制御装置１０１に内蔵されるコントローラ１７０によって処理されるソフトウェアは、いわゆるファームウェアとして実装されており、装置のＣＰＵ７００１によって実行される。
【００６３】
第１ネットワークドライバ６００１は、第１のネットワーク４００に接続される第１ネットワークインタフェース２０を制御し，ネットワークとのデータの送受信を行う。
【００６４】
第２ネットワークドライバ６００２は、第２のネットワーク４０１に接続され，第２ネットワークインタフェース２１を制御し、ネットワークとのデータの送受信を行なう。
【００６５】
ネットワーク通信制御部６００３は、第１ネットワークドライバ２００１で受信されるすべてのパケットを検査し、アプリケーション部６００７に関係しないパケットを外部側ネットワークインタフェースへ転送する。また、第２ネットワークインタフェースで受信されたすべてのパケットを検査し、アプリケーション部６００８に関係しないパケットを第１ネットワークインタフェースへ転送する。
【００６６】
プロトコル処理部６００４は、ＴＣＰ／ＩＰなどのネットワーク通信プロトコルを制御する。
【００６７】
アプリケーション部６００５は、暗号化留め置きプリント機能を実行するためのアプリケーションである。ホストコンピュータから暗号化された印刷ジョブをＬＰＤプロトコルで受信して暗号化されたまま一旦ハードディスク７００４内に格納する。そして、許可されたユーザによる操作であることがユーザ認証された場合のみ復号化して実際の画像処理装置１００へのプリントを行う。
【００６８】
アプリケーション部６００６は、画像処理装置１００と通信して、画像処理装置１００を制御するためのアプリケーションである。
【００６９】
図７は、本実施例における拡張制御装置１０１の第２のネットワークインタフェース２１のリンクローカルアドレスを決定する動作の一例を説明するフローチャートである。
【００７０】
拡張制御装置１０１は、ステップＳ１００１において、第２ネットワーク・インタフェース２１の仮リンクローカルアドレスを生成する。
【００７１】
仮リンクローカルアドレスのインタフェース識別子は、装置のＭｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ（ＭＡＣ−４８）を３バイトに分割し、その間にｆｆ：ｆｅを挿入し、最上位バイトの０２でマスクされるビットを反転して生成する。
【００７２】
ステップＳ１００２では、第２のネットワークインタフェース２１の仮リンクローカルアドレスから要請マルチキャストを生成する。
【００７３】
要請マルチキャストは、ｆｆ０２：：１：ｆｆ００：００００と仮リンクローカルアドレスの下位２４ビットとの論理和をとったものである。
【００７４】
ステップ１００３では、第２のネットワーク４０１に近隣要請メッセージを送信する。
【００７５】
ステップＳ１００４では、第２のネットワーク４０１から近隣通知メッセージを受信したか否かを判定する。ステップＳ１００４の判定がＹＥＳならばステップＳ１００５へ進み、ＮＯならばステップＳ１００８へ進む。
【００７６】
ステップＳ１００５では、新規の第２のネットワークインタフェース２１の仮リンクローカルアドレスを生成する。
【００７７】
新規の第２のネットワークインタフェース２１の仮リンクローカルアドレスのインタフェース識別子は、乱数などから生成する。
【００７８】
ステップＳ１００６では、予め決められた試行回数が終了したか否かを判定する。ステップＳ１００６の判定がＹＥＳならばステップＳ１００７へ進み、ＮＯならばステップＳ１００２以降を繰り返す。
【００７９】
ステップＳ１００７では、図示しない表示装置にエラーを表示して、終了する。
【００８０】
ステップＳ１００８では、第１のネットワーク４００に近隣要請メッセージを送信する。
【００８１】
ステップＳ１００９では、第１のネットワーク４００から近隣通知メッセージを受信したか否かを判定する。ステップＳ１００９の判定がＹＥＳならばステップＳ１００５へ進み、ＮＯならばステップＳ１０１０へ進む。
【００８２】
ステップＳ１０１０では、第２のネットワークインタフェース２１のリンクローカルアドレスが決定し、終了する。
【００８３】
図８は、本実施例における拡張制御装置１０１の近隣要請メッセージに対する応答動作の一例を説明するフローチャートである。
【００８４】
拡張制御装置１０１は、ステップＳ２００１において、第１のネットワークインタフェース２０で近隣要請メッセージを受信したか否かを判定する。ステップＳ２００１の判定がＹＥＳならばステップＳ２００２へ進み、ＮＯならばステップＳ２００１を繰り返す。
【００８５】
ステップＳ２００２では、受信した近隣要請メッセージの要請マルチキャストアドレスからインタフェース識別子部を取得する。
【００８６】
ステップＳ２００３では、第１のネットワークインタフェース２０のインタフェース識別子部と一致するか否かを判定する。ステップＳ２００３の判定がＹＥＳならばステップＳ２００４へ進み、ＮＯならばステップＳ２００５へ進む。
【００８７】
ステップＳ２００４では、第１のネットワーク４００に近隣通知メッセージを送信して、終了する。
【００８８】
ステップＳ２００５では、第２のネットワークインタフェース２１のインタフェース識別子部と一致するか否かを判定する。ステップＳ２００５の判定がＹＥＳならばステップＳ２００４へ進み、ＮＯならば終了する。
【００８９】
（実施例２）
上記で説明した本発明に係るプログラムコード及び関連データは、フレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ中に記憶され、そこからコンピュータに供給されうる。また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア（制御プログラム）のプログラムコードを記録した記憶媒体を、コンピュータ、画像処理装置１００、拡張制御装置１０１に供給し、そのコンピュータ、画像処理装置１００、拡張制御装置１０１の中央演算ユニット（ＣＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。プログラムやデータをコンピュータに供給する方法として、フレキシブルディスクに記憶させて、例えばコンピュータ本体に（フレキシブルディスクドライブを介して）供給する方法が一般的である。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９０】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスクやハードディスク以外にも，光ディスク，光磁気ディスク，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。また、コンピュータ、画像処理装置１００、拡張制御装置１０１が読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ、画像処理装置１００、拡張制御装置１０１上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００９１】
【図１】従来および本実施例における拡張画像処理システムが利用されるネットワーク環境の一例を示す模式図である。
【図２】本実施例における画像処理装置１００と拡張制御装置１０１の組み合わせによって構成された拡張画像処理システムのブロック図である。
【図３】本実施における画像処理装置１００の制御装置１１０のハードウェア構成を示すブロック図である。
【図４】本実施における画像処理装置１００のコントローラのソフトウェアのモジュール構造を示すブロック図である。
【図５】本実施例における拡張制御装置１０１のハードウェア構成を示すブロック図である。
【図６】本実施例における拡張制御装置１０１のソフトウェアのモジュール構成を示すブロック図である。
【図７】本実施例における拡張制御装置１０１の第２のネットワークインタフェース２１のリンクローカルアドレスを決定する動作の一例を説明するフローチャートである。
【図８】本実施例における拡張制御装置１０１の近隣要請メッセージに対する応答動作の一例を説明するフローチャートである。
【符号の説明】
【００９２】
１０  拡張画像処理システム
１１  ホストコンピュータ
１２  サーバコンピュータ
１３  プリンタ
１４  ルータ
１５  広域ネットワーク
１００  画像処理装置
１０１  拡張処理装置
４００  外部ネットワーク
４０１  ローカルネットワーク
【図１】
2009010610.tif 000003
【図２】
2009010610.tif 000004
【図３】
2009010610.tif 000005
【図４】
2009010610.tif 000006
【図５】
2009010610.tif 000007
【図６】
2009010610.tif 000008
【図７】
2009010610.tif 000009
【図８】
2009010610.tif 000010