以下、添付図面を参照しながら、本発明を実施するための最良の形態について説明する。
図1に、本発明の一実施例に係る画像処理装置100のハードウェア構成について示す。
同図において、画像処理装置100は、コントローラ1と、オペレーションパネル20と、FCU(Facsimile Control Unit)21と、エンジン部22とを含んでいる。
コントローラ1は、CPU2と、システムメモリ3と、ノースブリッジNB4と、サウスブリッジSB5と、ASIC6と、ローカルメモリ7と、HDD8と、FlashROM9と、NVRAM10と、SDRAM11と、イーサネットI/F12と、USB I/F13と、IEEE1394I/FF14とセントロニクスI/F15と、外部記憶媒体用I/F16とを含む。
オペレーションパネル20は、コントローラ1のASIC6に接続されている。また、FCU21およびエンジン部22は、コントローラ1のASIC6にバス23で接続されている。
コントローラ1は、ASIC6にローカルメモリ7、HDD8、FlashROM9、NVRAM10、SDRAM11などが接続されると共に、CPU2とASIC6とがCPUチップセットのNB4を介して接続されている。コントローラ1は、NB4を介してCPU2とASIC6とを接続することにより、CPU2のインターフェースが公開されていない場合に対応する。
ASIC6とNB4とは、AGP(Accelerated Graphics Port)17を介して接続されている。後述する図2のソフトウェア構成において、アプリケーション部50やプラットフォーム部60を構成する1つ以上のプロセスを実行制御するため、ASIC6とNB4とを低速のバスでなくAGP17を介して接続することで、パフォーマンスの低下を防いでいる。
CPU2は、ソフトウェアの実行により装置全体の制御を行う中央演算処理装置である。NB4は、CPU2、システムメモリ3、SB5、ASIC6、イーサネットI/F12、USB I/F13、IEEE1394 I/F14、セントロニクスI/F15、外部記憶媒体用I/F16を接続するためのブリッジである。
SB5、イーサネットI/F12、USB I/F13、IEEE1394I/F14、セントロニクスI/F15、外部記憶媒体用I/F16は、バス18を介してNB4に接続されている。なお、SB5は、バス18とROM(図示せず)や周辺デバイス等(図示せず)とを接続するためのブリッジである。
システムメモリ3は、描画用の記憶領域などとして用いるメモリである。ローカルメモリ7は、コピー用画像バッファや符号バッファとして用いるメモリである。ASIC6は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD8は、画像データの蓄積、文書データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うストレージ補助記憶装置である。
イーサネットI/F12は、画像形成装置1をネットワークに接続するためのインターフェースであり、CPU2(により実行されるソフトウェア)から渡された、TCP・UDPパケット等の上位プロトコルのパケットがIPパケットにカプセル化され、更に、MACパケットにカプセル化されて作成されたパケットデータを、電気信号に変換して図示しないネットワークに出力する一方、そのネットワークから入力される電気信号を元のパケットデータに戻してCPU2(により実行されるソフトウェア)に渡すものである。
USB I/F13、IEEE1394 I/F14、及び、セントロニクスI/F15は、それぞれの規格に準じたインターフェースであり、ネットワーク接続用のアダプタを介することで、ネットワークに接続されることもある。つまり、画像形成装置1は、複数のネットワークインターフェースをそれぞれ複数のネットワークに接続することでそれら各ネットワークを介した他の機器との通信が可能である。もちろん、画像処理装置1が、イーサネットI/F12のみの、単一のネットワークインターフェースしか備えない場合もある。
FlashROM9は、外部からプログラムやデータなどを書き込み可能なメモリである。NVRAM10およびSDRAM11は、電源OFF状態でも情報を保持するメモリである。外部記憶媒体用I/F16は、外部記憶媒体を脱着可能なものであり、外部記憶媒体の規格に準じたインターフェースである。外部記憶媒体としては、例えば、SDカード、コンパクトフラッシュ、ROM−DIMM等が利用される。
オペレーションパネル20は、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。FCU(Facsimile Control Unit)21はメモリを有しており、電源がOFFのときに受信したファクシミリデータを一時的に格納するために利用される。エンジン部22は、画像形成装置1の各種画像処理機能、つまり、画像データを送受信するファクシミリ送受信機能、スキャナ機能、プロッタ機能等を担うハードウェア資源である。
なお、画像処理装置100の構成形態によっては、FlashROM9、SDRAM11、USB I/F13、IEEE1394I/F14、セントロニクスI/F15、外部記憶媒体用I/F16、FCU21は存在しないこともある。
図2に、画像処理装置100のソフトウェア構成の一例について示す。
同図において、画像処理装置100のソフトウェア構成は、大きく分けると、アプリケーション部50とプラットフォーム部60と、アプリケーション部50とプラットフォーム部60との間に介在するAPI(Application Program Interface)から構成される。
アプリケーション部50は、プリンタ、コピー、ファクスおよびスキャナなどの画像処理に関連するユーザーサービスに固有の処理を行うものである。
具体的には、アプリケーション部50は、ページ記述言語およびポストスクリプトを有するプリンタ用のアプリケーションであるプリンタアプリ51と、コピー用のアプリケーションであるコピーアプリ52と、ファクシミリ用アプリケーションであるファクスアプリ53と、スキャナ用アプリケーションであるスキャナアプリ54と、ネットワークファイル用アプリケーションであるネットファイルアプリ55とを有している。
一方、プラットフォーム部60は、アプリケーション部50からの処理要求を解釈してハードウェア資源の獲得要求を発生するコントロールサービスと、1つ以上のハードウェア資源の管理を行ってコントロールサービスからの獲得要求を調停するSRM(システムリソースマネージャ)63と、OS(オペレーティングシステム)61とを有するように構成されている。
コントロールサービスは、SCS(システムコントロールサービス)62、ECS(エンジンコントロールサービス)64、MCS(メモリコントロールサービス)65、OCS(オペレーションパネルコントロールサービス)66、FCS(ファクスコントロールサービス)67、NCS(ネットワークコントロールサービス)68,CCS(セキュリティコントロールサービス)69などのサービスモジュールを有するように構成されている。
プラットフォーム部60は、予め定義されている関数によりアプリケーション部50からの処理要求を受信可能とするAPI(アプリケーションプログラムインターフェース)を有するように構成されている。OS61は、プラットフォーム部60およびアプリケーション部50の各ソフトウェアをプロセスとして並列実行する。
SRM63のプロセスは、SCS62と共にシステムの制御およびハードウェア資源の管理を行うものである。例えばSRM63のプロセスは、ハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。具体的には、SRM63は要求されたハードウェア資源が利用可能であるか他の要求により利用されていないかどうかを判定し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に通知する。また、SRM63は上位層からの要求に対してハードウェア資源を利用するためのスケジューリングを行い、要求内容例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成などを直接実施している。
SCS62のプロセスは、アプリケーションの管理、操作部の制御、システム画面の表示、LEDの表示、ハードウェア資源の管理、割り込みアプリケーションの制御などの処理を行う。ECS64のプロセスは、図示していないハードウェアリソースのエンジンの制御を行う。MCS65のプロセスは、メモリの取得および解放、画像データの圧縮および伸張などのメモリ制御を行う。OCS66のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネル20の制御を行う。
FCS67のプロセスは、各アプリケーション層からPSTNまたはISDN網を利用したファクシミリ送受信、バックアップ用のメモリで管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷などを行うためのAPIを提供する。
NCS68のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
CCS69のプロセスはアプリケーション部50に対してセキュリティサービスを提供する。
以上の構成で、CPU2は、画像処理装置1の全体の制御を行う。つまり、CPU2は、OS61上に、SCS62、SRM63、ESC64、MCS65、OCS66、FCS67、NCS68、及び、CCS69をそれぞれプロセスとして起動して実行させると共に、アプリケーション部50を構成するプリンタアプリ51、コピーアプリ52、ファクスアプリ53、スキャナアプリ54およびネットファイルアプリ55を起動して実行させる。
このように本発明に係る画像処理装置100は、各アプリケーションで共通的に必要な処理をプラットフォーム部60で一元的に処理することができる。なお、画像処理装置100の構成形態によっては、51から55までのアプリケーションと、FCS67、CCS69は存在しないこともある。
以上説明した図1のハードウェア構成、及び、図2のソフトウェア構成の、本発明に係る画像形成装置1は、多数のネットワーク機器を管理しそれらネットワーク機器に対してIPアドレスを自動割り当てするDHCPサーバのようなサーバが存在せず、特定の1セグメントを構成するネットワーク上の各ホスト端末(機器)が、それぞれ個別に、当該ネットワークに接続されているネットワークインターフェース(アダプタ)についてIPアドレスを設定するようなネットワーク環境におかれる。
図3に、本発明に係る画像処理装置1のネットワーク接続形態の一例を示す。
同図においては、本発明に係る画像処理装置1が、ネットワークインターフェースとして、ネットワークインターフェースAのみの1つのネットワークインターフェースを備え、そのネットワークインターフェースAによりネットワークに接続される例を示している。
ネットワークインターフェースAとしては、イーサネットI/F12が適用される場合もあるし、USB I/F13やIEEE1394 I/F14にネットワークアダプタが接続されたものが適用される場合もある。
画像処理装置100は、ルータ500により他のLANと区切られる特定の1セグメントである同一セグメント800のLAN600に属している。また画像処理装置100は、IPv4のクラスCのサブネット(200.200.10.x)700に、PC200、PC201、スキャナ300及びプリンタ400と共に属していて、ネットワークインターフェースAには、そのサブネット(200.200.10.x)700の範囲内のIPアドレス「200.200.10.10」が割り当てられている。なお、サブネット700は1つのアドレス体系を構成するものである。一方、同一セグメント800(LAN600)には、PC1000も属して(接続されて)いる。
そのPC1000は、サブネット700を構成する、画像処理装置100を含む各機器とは別のアドレス体系であるリンクローカルアドレス(Link-Local address)(以下LLAと略称する)のアドレス体系によりIPアドレス「169.254.10.2」が割り当てられている。
図3の例は、同一セグメント800においてLAN600に接続された画像処理装置1が、サブネット(200.200.10.x)700に属し、必要に応じて、そのサブネット700を構成する他の機器との通信を行って所定の処理を行っていたところに、LLAのアドレス体系によりIPアドレス「169.254.10.2」が割り当てられたPC1000が新たにLAN600に接続され、画像処理装置100とPC1000とが、同一セグメント800に属することとなった場合を示している。
画像処理装置100は、自装置が属するサブネット700を構成する各機器と通信を行って、スキャナ機能、プリンタ機能等を行う一方、自装置が属するアドレス体系(サブネット(200.200.20.x))とは異なるアドレス体系(LLA)に属するPC1000との通信は、後述する処理手順により制御する。
図4に、本発明に係る画像処理装置1のネットワーク接続形態の別例を示す。
同図においては、本発明に係る画像処理装置1が、ネットワークインターフェースとして、ネットワークインターフェースAのみの1つのネットワークインターフェースを備え、そのネットワークインターフェースAによりネットワークに接続される例を示している。
ネットワークインターフェースAとしては、イーサネットI/F12が適用される場合もあるし、USB I/F13やIEEE1394 I/F14にネットワークアダプタが接続されたものが適用される場合もある。
画像処理装置100は、ルータ500により他のLANと区切られる特定の1セグメントである同一セグメント800のLAN600に属している。また、画像処理装置100は、LLAのアドレス体系によりIPアドレス「169.254.210.10」が割り当てられている。
一方、LAN600には、IPv4のクラスCのサブネット(200.200.20.x)701を構成する、PC201、PC202、PC203、スキャナ300及びプリンタ400が接続されている。サブネット701は、画像処理装置100が属するLLAとは別のアドレス体系を構成するものである。
図4の例は、同一セグメント800においてLAN600に接続された、サブネット(200.200.20.x)701を構成する各機器が、必要に応じて互いに通信を行って所定の処理を行っていたところに、LLAのアドレス体系に属する画像処理装置100が新たにLAN600に接続され、画像処理装置100と、サブネット700を構成するPC201等がとが、同一セグメント800に属することとなった場合を示している。
画像処理装置100は、自装置が属するアドレス体系(LLA)とは異なるアドレス体系(サブネット(200.200.20.x))に属するPC201等との通信は、後述する処理手順により制御する。
図5に、本発明に係る画像処理装置100のネットワーク接続形態の別例を示す。
同図においては、本発明に係る画像処理装置100が、ネットワークインターフェースとして、ネットワークインターフェースA及びBの複数(この場合2つ)ネットワークインターフェースを備え、そのネットワークインーフェースA及びBによりそれぞれ異なるネットワークに同時接続される例を示している。
ネットワークインターフェースAまたはBとしては、イーサネットI/F12が適用される場合もあるし、USB I/F13やIEEE1394 I/F14にネットワークアダプタが接続されたものが適用される場合もある。
画像処理装置100は、ルータ500aにより他のLANと区切られる特定の1セグメントである同一セグメント800aのLAN600aにインターフェースAにより接続されている。また画像処理装置100は、IPv4のクラスCのサブネット(200.200.10.x)700aに、PC200a、PC201a、スキャナ300a及びプリンタ400aと共に属していて、ネットワークインターフェースAには、そのサブネット(200.200.10.x)700aの範囲内のIPアドレス「200.200.10.10」が割り当てられている。なお、サブネット700aは1つのアドレス体系を構成するものである。一方、同一セグメント800a(LAN600a)には、PC1000aも属して(接続されて)いる。
そのPC1000aは、サブネット700aを構成する、画像処理装置100(のネットワークインターフェースA)を含む各機器とは別のアドレス体系であるリンクローカルアドレスLLAのアドレス体系によりIPアドレス「169.254.10.2」が割り当てられている。
また、画像処理装置100は、同一セグメント800a(LAN600a)のサブネット(200.200.10.x)700aに属する一方、同一セグメント800b(LAN600b)のサブネット(200.230.20.x)700bにも属している。
つまり、画像処理装置100は、ルータ500bにより他のLANと区切られる特定の1セグメントである同一セグメント800bのLAN600bにインターフェースBにより接続されている。また画像処理装置100は、IPv4のクラスCのサブネット(200.230.20.x)700bに、PC200b、PC201b、スキャナ300b及びプリンタ400bと共に属していて、ネットワークインターフェースBには、そのサブネット(200.230.20.x)700bの範囲内のIPアドレス「200.230.20.10」が割り当てられている。なお、サブネット700bは1つのアドレス体系を構成するものである。
図5の例は、同一セグメント800aにおいてLAN600aにネットワークインターフェースAを介して接続されると共、同一セグメント800bにおいてLAN600bにネットワークインターフェースBを介して接続された画像処理装置1が、サブネット(200.200.10.x)700a及びサブネット(200.230.20.x)700bに属し、必要に応じて、そのサブネット700aまたは700bを構成する他の機器との通信を行って所定の処理を行っていたところに、LLAのアドレス体系によりIPアドレス「169.254.10.2」が割り当てられたPC1000aが新たにLAN600aに接続され、画像処理装置100とPC1000aとが、同一セグメント800aに属することとなった場合を示している。
画像処理装置100は、自装置が属するサブネット700a及び700bをそれぞれ構成する各機器と通信を行って、スキャナ機能、プリンタ機能等を行う一方、自装置が属するアドレス体系(サブネット(200.200.20.x)、及び、サブネット(200.230.20.x))とは異なるアドレス体系(LLA)に属するPC1000aとの通信は、後述する処理手順により制御する。
図6に、本発明に係る画像処理装置1のネットワーク接続形態の別を示す。
同図に示す接続形態は、図5の接続形態において、PC1000bが、LAN600bに追加接続されている点のみが異なる。
そのPC1000bは、サブネット700bを構成する、画像処理装置100(のネットワークインターフェースB)を含む各機器とは別のアドレス体系であるLLAのアドレス体系によりIPアドレス「169.254.30.4」が割り当てられている。
図6の例は、同一セグメント800aにおいてLAN600aにネットワークインターフェースAを介して接続されると共、同一セグメント800bにおいてLAN600bにネットワークインターフェースBを介して接続された画像処理装置1が、サブネット(200.200.10.x)700a及びサブネット(200.230.20.x)700bに属し、必要に応じて、そのサブネット700aまたは700bを構成する他の機器との通信を行って所定の処理を行っていたところに、LLAのアドレス体系によりIPアドレス「169.254.10.2」が割り当てられたPC1000aが新たにLAN600aに接続され、また、LLAのアドレス体系によりIPアドレス「169.254.30.4」が割り当てられたPC1000bが新たにLAN600bに接続され、画像処理装置100とPC1000aとが同一セグメント800aに属する一方、画像処理装置100とPC1000bとが同一セグメント800bに属することとなった場合を示している。
画像処理装置100は、自装置が属するサブネット700a及び700bをそれぞれ構成する各機器と通信を行って、スキャナ機能、プリンタ機能等を行う一方、自装置が属するアドレス体系(サブネット(200.200.20.x)、及び、サブネット(200.230.20.x))とは異なるアドレス体系(LLA)に属するPC1000aやPC1000bとの通信は、後述する処理手順により制御する。
以上説明したように、様々な形態でネットワーク接続される画像処理装置100は、自装置のネットワークインターフェースが属するアドレス体系と異なるアドレス体系に属する機器とのネットワーク通信を制御するための情報を、図7に示すように、書き換え可能で装置電源OFF時にもその記憶内容を保持するNVRAM10に記憶している。
図7において、NVRAM10の記憶領域10a、10b及び10cには、それぞれ、LLA対非LLA通信可否設定フラグFt、LLA対非LLA通信可否設定フラグFa、及び、LLA対非LLA通信可否設定フラグFbの各フラグ情報が設定・記憶されている。記憶領域10a、10b及び10cは通信可否設定手段を構成するものである。
LLA対非LLA通信とは、LLAのアドレス体系に属する機器(自装置である場合もあるし、通信相手装置である場合もある)と、LLAのアドレス体系に属さない機器(通信相手装置である場合もあるし、自装置である場合もある)との通信である。なお、本実施例では、異なるアドレス体系として、クラスCのサブネットと、LLAとを適用しているが、本発明はそれに限定されるものではなく、自装置と異なるアドレス体系に属する機器とのネットワーク通信に対して広く適用できるものであることはいうまでもない。
LLA対非LLA通信可否設定フラグFtは、装置全体について、LLA対非LLA通信の可否を設定するものであり、値0が「可」を示し、値1が「不可」を示している。装置全体についてとは、つまり、装置が備える1または複数のネットワークインターフェース(本実施例では、図3ないし図6に示した各接続形態におけるネットワークインターフェースA(及びネットワークインターフェースB))の全てについて一括して通信の可否を設定するものであり、LLA対非LLA通信可否設定フラグFa(及びLLA対非LLA通信可否設定フラグFb)の各ネットワークインターフェース個別の設定よりも優先的に判断される情報である。
LLA対非LLA通信可否設定フラグFaは、フラグFtが値0(可)に設定されている場合にのみ意味をもつ設定であり、ネットワークインターフェースAについて、LLA対非LLA通信の可否を設定するもので、値0が「可」を示し、値1が「不可」を示している。
LLA対非LLA通信可否設定フラグFbも同様に、フラグFtが値0(可)に設定されている場合にのみ意味をもつ設定であり、ネットワークインターフェースBについて、LLA対非LLA通信の可否を設定するもので、値0が「可」を示し、値1が「不可」を示している。
フラグFt、Fa、及び、Fbの値(可否)の設定形態としては、ユーザやサービスマンによる操作設定をさせないで、固定する設定形態が考えられる。
つまり、フラグFtを値0(可)に設定した上で、フラグFaを値0(可)に設定すると共にフラグFbの値を値1(不可)に設定することで、LLA対非LLA通信をネットワークインターフェースAでしか行えないように固定することが考えられる。それにより、LLA対非LLA通信を許可するネットワークインターフェースと禁止する(同一のアドレス体系に属する機器としかネットワーク通信を行わないようにする)ネットワークインターフェースとを明確に区別して管理運用することができ、無駄なパケットの送出もなくなる利点がある。
また、フラグFt、Fa、及び、Fbの値(可否)の別の設定形態としては、ユーザやサービスマンによる操作設定に応じて設定状態を任意に変更できるようにする形態が考えられる。
つまり、オペレーションパネル20を介した対話操作により、フラグFt、Fa、及び、Fbの値を0(可)まはた1(不可)のいずれかに設定できるようにする。フラグFtを値0(可)に設定した上で、フラグFa、及び、フラグFbの値を0または1に設定すれば、装置が備える各ネットワークインターフェースについて個別かつ任意に、LLA対非LLA通信の可否を設定でき、柔軟な管理運用が可能となる。また、オペレーションパネル20を介した対話操作においては、入力されたパスワードと予め設定さたれパスワードとが一致した場合に初めて、フラグFt、Fa、Fbを設定できるようにして、装置動作に関わる重要な設定がむやみに変更されないように対策するようにしてもよい。
また、フラグFtを値1(不可)に設定すれば、装置が備える各ネットワークインターフェースについて一括して、LLA対非LLA通信を不可に設定できる。
このように、フラグFt、フラグFa、Fbが予め設定された状態で、本発明に係る画像処理装置100は、図3ないし図6に示した接続形態でネットワーク接続される一方、画像処理装置100のNCS(ネットワークコントロールサービス)68は図8に示すIPパケット送受信制御処理手順を行う。その手順は、通信制御手段に対応するものである。
同図において、まず、IPパケットを受信するか、または、上位アプリケーションからのIPパケットの送信依頼があるかを監視する(処理S101、判断S102のNo、処理S103、判断S104のNoのループ)。
そして、IPパケットを受信した場合、つまり、ネットワークインターフェースAまたはBによりIPパケットが受信され、NCS68に渡された場合には(判断S102のYes)、パケット受信対応処理を行い(処理S106)、処理S101に戻る。
また、IPパケットの送信依頼が上位アプリケーションからあった場合、つまり、ネットワークインターフェースAまたはBにより送信すべく、上位アプリケーションからNCS68にTCP・UDP等の上位パケットが渡された場合には(判断S104のYes)、パケット送信対応処理を行い(処理S105)、処理S101に戻る。
パケット受信対応処理(処理S106)は、IPパケットを他の機器から受信する事により起動される通信に対応する処理である。また、パケット送信対応処理(処理S105)は、IPパケットを他の機器に対して送信しようとするときに起動される通信に対応する処理である。
図9に、パケット受信対応処理(処理S106)の具体的な処理手順について説明する。
同図において、まず、IPパケットを受信したネットワークインターフェースがネットワークインターフェースAまたはBのいずれであるのかを特定する(処理S201)。また、受信したIPパケットのヘッダの送信元アドレス情報から、送信元機器のIPアドレスを確認する(処理S202)。
そして、その確認したIPアドレス(自装置のネットワークインターフェースが属するクラスCのサブネット、または、LLAのいずれかのアドレス体系に属する)と、自装置のネットワークインターフェースに設定されているIPアドレス(クラスCのサブネット、または、LLAのいずれかのアドレス体系に属する)との組み合わせを判断することにより、今回の通信が、「LLA対非LLA通信」であるか、つまり、異なるアドレス体系間の通信であるかを判断する(判断S203)。
判断S203において、「LLA対非LLA通信」でない場合、つまり、自装置と同一アドレス体系のネットワーク機器との通信である場合には(判断S203のNo)、ネットワークインターフェースAまたはBと上位アプリケーションとの間のパケット中継を継続することとし、受信パケットを上位アプリケーションに渡して(処理S207)、以後の通信(ネットワークインターフェースと上位アプリケーションとの間のパケット中継)(処理S208)を行う。
判断S203において、「LLA対非LLA通信」である場合には(判断S203のYes)、図7の記憶領域10aのフラグFtの値を参照して、その値が0(可)か1(不可)かを判断し(判断S204)、1(不可)である場合には(判断S204のNo)、パケット受信拒否対応処理を行い(処理S210)、処理を終了する。なお、処理S210のパケット受信拒否対応処理は、具体的には、受信したパケットがUDPのパケットを内容とするものであれば何もせず(受信パケットを無視して以後の通信を行わず)、また、受信したパケットがTCPのパケットを内容とするものであれば、TCPパケットのヘッダのRSTフラグを設定したパケットを送り返して以後の通信には移行しないようにする処理である。
それにより、装置全体として、「LLA対非LLA通信」について「不可」が設定されている場合には、パケットを受信したネットワークインターフェースがインターフェースAまたはBのいずれであるのかに関わらず、「LLA対非LLA通信」は禁止される。この設定により、「LLA対非LLA通信」が無条件に自動実行されることがなく、プリンタやコピーなどの課金などが関係している場合に自動的に通信して紙が出力されてしまうとような問題に適切に対応できる。
判断S204において、0(可)である場合には(判断S204のYes)、更に、処理S201で特定したネットワークインターフェースがAまたはBのいずれであるかを判断する(判断S205)。
判断S205において、インターフェースAである場合には(判断S205のYes)、図7の記憶領域10bのフラグFaの値が0(可)または1(不可)のいずれであるかを判断する(判断S206)。
判断S206において、1(不可)の場合には(判断S206のNo)、パケット受信拒否対応処理を行い(処理S210)、処理を終了する。0(可)の場合には(判断S206のYes)、処理S207に移行して以後の通信を継続する。
判断S205において、インターフェースBである場合には(判断S205のNo)、図7の記憶領域10cのフラグFbの値が0(可)または1(不可)のいずれであるかを判断する(判断S209)。
判断S209において、1(不可)の場合には(判断S209のNo)、パケット受信拒否対応処理を行い(処理S210)、処理を終了する。
0(可)の場合には(判断S209のYes)、処理S207に移行して以後の通信を継続する。
それにより、インターフェイスA及びBのそれぞれについて、個別に、「LLA対非LLA通信」について「可/不可」を設定できる。なお、本実施例では、フラグFtによる、装置全体での「LLA対非LLA通信」についての「可/不可」の設定と、フラグFa及びFbによる、各ネットワークインターフェースレベルでの「LLA対非LLA通信」についての「可/不可」の設定との二重の設定を可能としているが、フラグFtのみによる、装置全体についての「LLA対非LLA通信」の「可/不可」の設定のみに限定するようにして簡素化を図るようにしてもよく、また、フラグFa及びFbのみによる、各インターフェイスについての「LLA対非LLA通信」の「可/不可」の個別設定のみに限定するようにしてもよい。
図10に、パケット送信対応処理(処理S105)の具体的な処理手順について説明する。
同図において、まず、上位アプリケーションからの送信依頼に係るパケットの受け渡しに伴って指定された送信インターフェースがインターフェースAまたはBのいずれであるかを特定する(処理S301)。また、送信依頼に係るIPパケットのヘッダの宛先アドレス情報から、宛先機器のIPアドレスを確認する(処理S303)。
そして、その確認したIPアドレス(自装置のネットワークインターフェースが属するクラスCのサブネット、または、LLAのいずれかのアドレス体系に属する)と、自装置のネットワークインターフェースに設定されているIPアドレス(クラスCのサブネット、または、LLAのいずれかのアドレス体系に属する)との組み合わせを判断することにより、今回の通信が、「LLA対非LLA通信」であるか、つまり、異なるアドレス体系間の通信であるかを判断する(判断S303)。
判断S303において、「LLA対非LLA通信」でない場合、つまり、自装置と同一アドレス体系のネットワーク機器との通信である場合には(判断S303のNo)、ネットワークインターフェースAまたはBと上位アプリケーションとの間のパケット中継を継続することとし、送信パケットを処理S301で特定したインターフェース(AまたはB)に渡して(処理S307)、以後の通信(ネットワークインターフェースと上位アプリケーションとの間のパケット中継)(処理S308)を行う。
判断S303において、「LLA対非LLA通信」である場合には(判断S303のYes)、図7の記憶領域10aのフラグFtの値を参照して、その値が0(可)か1(不可)かを判断し(判断S304)、1(不可)である場合には(判断S304のNo)、パケット送信拒否対応処理を行い(処理S310)、処理を終了する。なお、処理S310のパケット送信拒否対応処理は、具体的には、上位アプリケーションから送信依頼されたパケットをネットワークインターフェースを渡すことなく捨ててしまい、以後の通信を行わない処理である。
それにより、装置全体として、「LLA対非LLA通信」について「不可」が設定されている場合には、パケットを送信するネットワークインターフェースがインターフェースAまたはBのいずれであるのかに関わらず、「LLA対非LLA通信」は禁止される。
判断S304において、0(可)である場合には(判断S304のYes)、更に、処理S301で特定したネットワークインターフェースがAまたはBのいずれであるかを判断する(判断S305)。
判断S305において、インターフェースAである場合には(判断S305のYes)、図7の記憶領域10bのフラグFaの値が0(可)または1(不可)のいずれであるかを判断する(判断S306)。
判断S306において、1(不可)の場合には(判断S306のNo)、パケット送信拒否対応処理を行い(処理S310)、処理を終了する。0(可)の場合には(判断S306のYes)、処理S307に移行して以後の通信を継続する。
判断S305において、インターフェースBである場合には(判断S305のNo)、図7の記憶領域10cのフラグFbの値が0(可)または1(不可)のいずれであるかを判断する(判断S309)。
判断S309において、1(不可)の場合には(判断S309のNo)、パケット送信拒否対応処理を行い(処理S310)、処理を終了する。0(可)の場合には(判断S309のYes)、処理S307に移行して以後の通信を継続する。
それにより、インターフェイスA及びBのそれぞれについて、個別に、「LLA対非LLA通信」について「可/不可」を設定できる。
図11に、処理S106のパケット受信対応処理の別例について示す。
図11の別例の処理手順は、図12の模式図に示すように、NCS68において、ネットワークインターフェースAやBにより受信したLLAの送信元IPアドレスをクラスCのIPアドレスと見なしてサブネットマスク「255.255.255.0」をかけることにより、ネットワークインターフェースAやBについて、サブネットを自動的に設定して以後の通信を可能とするものである。具体的には、ネットワークインターフェースAに、送信元IPアドレスがLLAの「169.254.10.2」のIPパケットが受信されると、その送信元IPアドレスに、サブネットマスク「255.255.255.0」をかけてサブネット「169.254.10.x」を取得し、その取得したサブネットをネットワークインターフェースAに設定する。同様に、ネットワークインターフェースBに、送信元IPアドレスがLLAの「169.254.30.4」のIPパケットが受信されると、その送信元IPアドレスに、サブネットマスク「255.255.255.0」をかけてサブネット「169.254.30.x」を取得し、その取得したサブネットをネットワークインターフェースBに設定する。それにより、ネットワークインターフェースA及びBのそれぞれについて、受信IPパケットに適合するサブネットが自動的に設定されて、以後のLLAのネットワーク機器との通信を行える。
図11において、まず、サブネットマスクを「255.255.255.0」に設定し(処理S401)、また、IPパケットを受信したネットワークインターフェースがネットワークインターフェースAまたはBのいずれであるのかを特定する(処理S402)。また、受信したIPパケットのヘッダの送信元アドレス情報から、送信元機器のIPアドレスを確認する(処理S403)。
そして、その確認したIPアドレスに、処理S401で設定したサブネットマスクをかけて、サブネットを取得する(処理S404)。そのサブネットが画像処理装置100において登録済みのものであれば(判断S405のYes)、パケット受信拒否対応処理を行い(処理S409)、処理を終了する。なお、処理S409のパケット受信拒否対応処理は、具体的には、受信したパケットがUDPのパケットを内容とするものであれば何もせず(受信パケットを無視して以後の通信を行わず)、また、受信したパケットがTCPのパケットを内容とするものであれば、TCPパケットのヘッダのRSTフラグを設定したパケットを送り返して以後の通信には移行しないようにする処理である。
判断S405において、登録済みでない場合には(判断S405のNo)、処理S404で取得したサブネットを、処理S402で特定したインターフェースに割り当てる(処理S406)。それにより、以後、そのインターフェース(ネットワークインターフェースAまたはB)については、その割り当てたサブネットのアドレス体系に属する他の機器との通信を自動的に行える。
処理S406の後は、受信パケットを上位アプリケーションに渡して(処理S407)、以後の通信(ネットワークインターフェースと上位アプリケーションとの間のパケット中継)(処理S408)を行う。
このように、自装置が属するアドレス体系を、自装置と通信しようとパケットを送信してきた機器のIPアドレスに適合させることによっても、自装置と異なるアドレス体系に属する機器との通信を自動的に可能とすることができる。
なお、以上の説明では、本発明をネットワーク接続可能な画像処理装置に適用したが、本発明はそれに限らず、ネットワーク対応の機器(ネットワーク通信端末)全般への適用も可能なものである。
なお、以上本発明を実施するための最良の形態について説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。