(57)【要約】【課題】  ネットワーク機器と同じセグメントのネットワークに接続されている機器に、そのネットワーク機器と異なるネットワークアドレスを含むアドレスが設定されている場合でも、効率のよい通信を行うことができるようにする。【解決手段】  ネットワーク機器に、自身と同一のセグメントからパケットを受信し、かつそのパケットの送信元のネットワークアドレスが、そのパケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、そのパケットの送信元のＩＰアドレスに従ったスタティックルーティングを行わせるようにした。【選択図】        図４
2006101344.tif 000002
【特許請求の範囲】
【請求項１】
自身と同一のセグメントからパケットを受信し、かつ該パケットの送信元のネットワークアドレスが、該パケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、該パケットの送信元のＩＰアドレスに従ったスタティックルーティングを行うようにしたことを特徴とするネットワーク機器。
【請求項２】
請求項１記載のネットワーク機器であって、
前記スタティックルーティングとして、前記パケットの送信元のＩＰアドレスそのものに関するスタティックルーティングを行うようにしたことを特徴とするネットワーク機器。
【請求項３】
請求項１記載のネットワーク機器であって、
前記スタティックルーティングとして、前記パケットの送信元のＩＰアドレスのクラスに応じたネットワークアドレスのスタティックルーティングを行うようにしたことを特徴とするネットワーク機器。
【請求項４】
請求項１乃至３のいずれか一項記載のネットワーク機器であって、
前記スタティックルーティングの実行有無の設定を受け付ける手段を設けたことを特徴とするネットワーク機器。
【請求項５】
請求項１乃至４のいずれか一項記載のネットワーク機器であって、
複数のネットワークインタフェースを備え、
該複数のネットワークインタフェースの中で、前記スタティックルーティングを行うネットワークインタフェースの選択を受け付ける手段を設け、
その選択されたネットワークインタフェースでパケットを受信した場合のみ前記スタティックルーティングを行うようにしたことを特徴とするネットワーク機器。
【請求項６】
ネットワーク機器に、自身と同一のセグメントからパケットを受信し、かつ該パケットの送信元のネットワークアドレスが、該パケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、該パケットの送信元のＩＰアドレスに従ったスタティックルーティングを行わせるようにしたことを特徴とするネットワーク機器の制御方法。
【請求項７】
コンピュータにネットワーク機器を制御させるためのプログラムであって、
前記コンピュータに、前記ネットワーク機器が自身と同一のセグメントからパケットを受信し、かつ該パケットの送信元のネットワークアドレスが、該パケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、該パケットの送信元のＩＰアドレスに従ったスタティックルーティングを行う機能を実現させるためのプログラムを含むことを特徴とするプログラム。
【請求項８】
請求項７記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して外部の装置と通信することが可能なネットワーク機器、このようなネットワーク機器の制御方法、コンピュータに上記のようなネットワーク機器を制御させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年において、複数の機器をネットワークに接続し、相互に通信可能とすることが広く行われるようになってきている。また、ネットワーク通信の規格としては、例えばイーサネット（登録商標）が広く用いられているが、無線ＬＡＮ（ローカルエリアネットワーク）やＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４等の規格も急速に普及しつつある。
【０００３】
そこで、このような状況に対応するため、ネットワークプリンタのようなネットワーク機器において、複数のネットワークインタフェースを設けたり、複数のネットワークインタフェースを有するサーバと接続できるようにしたりして、複数のネットワークに接続可能とすることが行われている。
このようなネットワーク機器に関連する技術としては、例えば下記の特許文献１乃至３に記載のものが挙げられる。
【特許文献１】特開２０００−２９３３３４号公報
【特許文献２】特開２００１−３５８７６２号公報
【特許文献３】特開２００３−２５００２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方で、ユーザが利用するネットワーク環境には様々なものがある。
例えば、近年ではネットワーク設定の自動化が叫ばれており、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバを設置し、ネットワーク機器に、自動的に、自機のＩＰ（Internet Protocol）アドレス，サブネットマスク，デフォルトゲートウェイのIPアドレス，ＤＮＳ（Domain Name System）サーバのＩＰアドレス，その他のサーバのＩＰアドレスやサーバ名等を取得させる方法が、ＰＣだけでなくその他のネットワーク機器にも使用されるケースが多くなっている。
【０００５】
また、ＤＨＣＰサーバーが存在しない環境でも、自動的に自機のＩＰアドレスを割り振ることができるようにした方式も、ＰＣを始めとするネットワーク機器で使われている。これは、ＩＰｖ４（Internet Protocol Version 4）であれば「169.254/16」、ＩＰｖ６（Internet Protocol Version 6）であれば「fe80::/10」で表されるアドレス体系のアドレスを自動的に取得するものであり。そして、これらのアドレスはＩＡＮＡ（Internet Assigned Number Authority）で予約されており、リンクローカルアドレス（Link-Local Address）と呼ばれている。
【０００６】
ところで、ＩＰアドレスは、上位所定ビット（ビット数は場合によって異なる）のネットワークアドレスと、残りの部分のホストアドレスとに分けられ、前者により機器が属するセグメントの、後者によりセグメント内での機器の識別を行うようにしている。従って、同じセグメント内の機器には、全て同じネットワークアドレスを持つＩＰアドレスが割り当てられるのが通常である。
【０００７】
しかし、上記のリンクローカルアドレスを使用する場合、上位所定ビット（ＩＰｖ４なら１６ビット）のアドレスは固定されてしまっている。従って、一つのサブネット内に、リンクローカルアドレスが割り当てられた機器と、通常のＩＰアドレスが割り当てられた機器とが共存している場合、同じセグメント内にネットワークアドレスが異なる機器が存在してしまうことになる。
そして、このような場合には、ＩＰパケットを転送しようとする場合に、転送先が同じセグメント内なのにも関わらず、別のセグメントに転送する場合と同様にルータにパケットを転送してしまうことになり、データ転送の効率が低くなってしまうという問題があった。
【０００８】
また、ネットワーク機器が複数のネットワークインタフェースを有する場合、これらの各ネットワークインタフェースを用いて別々のセグメントのネットワークに接続することも可能である。しかし、このような場合には、同じセグメント内にネットワークアドレスが異なる機器が存在してしまうと、どのネットワークインタフェースを用いて通信を行えばよいのかを効率よく定めることができないという問題があった。そしてこのため、データ転送の効率が低くなってしまうという問題があった。
【０００９】
この発明は、このような問題を解決し、ネットワーク機器と同じセグメントのネットワークに接続されている機器に、そのネットワーク機器と異なるネットワークアドレスを含むアドレスが設定されている場合でも、効率のよい通信を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、この発明のネットワークシステムは、ネットワーク機器において、自身と同一のセグメントからパケットを受信し、かつそのパケットの送信元のネットワークアドレスが、そのパケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、そのパケットの送信元のＩＰアドレスに従ったスタティックルーティングを行うようにしたものである。
【００１１】
このようなネットワーク機器において、上記スタティックルーティングとして、上記パケットの送信元のＩＰアドレスそのものに関するスタティックルーティングを行うようにするとよい。
あるいは、上記スタティックルーティングとして、上記パケットの送信元のＩＰアドレスのクラスに応じたネットワークアドレスのスタティックルーティングを行うようにするとよい。
【００１２】
また、上記の各ネットワーク機器において、上記スタティックルーティングの実行有無の設定を受け付ける手段を設けるとよい。
さらに、複数のネットワークインタフェースを設け、その複数のネットワークインタフェースの中で、上記スタティックルーティングを行うネットワークインタフェースの選択を受け付ける手段を設け、その選択されたネットワークインタフェースでパケットを受信した場合のみ上記スタティックルーティングを行うようにするとよい。
【００１３】
また、この発明のネットワーク機器の制御方法は、ネットワーク機器に、自身と同一のセグメントからパケットを受信し、かつそのパケットの送信元のネットワークアドレスが、そのパケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、そのパケットの送信元のＩＰアドレスに従ったスタティックルーティングを行わせるようにしたものである。
【００１４】
また、この発明のプログラムは、コンピュータにネットワーク機器を制御させるためのプログラムにおいて、上記コンピュータに、上記ネットワーク機器が自身と同一のセグメントからパケットを受信し、かつそのパケットの送信元のネットワークアドレスが、そのパケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、そのパケットの送信元のＩＰアドレスに従ったスタティックルーティングを行う機能を実現させるためのプログラムを含めたものである。
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読取可能な記録媒体である。
【発明の効果】
【００１５】
以上のようなこの発明のネットワーク機器又はネットワーク機器の制御方法によれば、ネットワーク機器と同じセグメントのネットワークに接続されている機器に、そのネットワーク機器と異なるネットワークアドレスを含むアドレスが設定されている場合でも、効率のよい通信を行うことができるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記のネットワーク機器として機能させてその特徴を実現し、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、この発明を実施するための最良の形態について、図面を参照して説明する。
まず、この発明のネットワーク機器の実施形態であるデジタル複合機（ＭＦＰ）の構成について説明する。図１は、そのＭＦＰの構成を示したブロック図である。
図１に示したＭＦＰ１００は、コピー、プリンタ、スキャナ、ファクシミリ通信等の種々の機能を有する画像処理装置であり、コントローラ１１０，操作パネル１３１，ＦＣＵ（ファクシミリ制御ユニット）１３２，エンジン部１３３を備えている。
【００１７】
このうち、コントローラ１１０は、ＭＦＰ１００を制御する制御部であり、ＣＰＵ１１１，ノースブリッジ（ＮＢ）１１２，システムメモリ１１３，サウスブリッジ（ＳＢ）１１４，ＡＳＩＣ（特定用途向けＩＣ）１１５，ローカルメモリ１１６，ハードディスクドライブ（ＨＤＤ）１１７，フラッシュＲＯＭ１１８，ＮＶＲＡＭ（Non Volatile RAM）１１９，ＳＤＲＡＭ（Synchronous Dynamic RAM）１２０，イーサネット（登録商標）インタフェース（Ｉ／Ｆ）１２１，ＵＳＢ（Universal Serial Bus）Ｉ／Ｆ１２２，ＩＥＥＥ１３９４Ｉ／Ｆ１２３，セントロニクスＩ／Ｆ１２４，外部記憶媒体用Ｉ／Ｆ１２５を備えている。
【００１８】
そして、ＣＰＵ１１１は、ＭＦＰ１００全体を統括制御する制御手段であり、フラッシュＲＯＭ１１８やＮＶＲＡＭ１１９あるいはＨＤＤ１１７等に記録された種々のプログラムを実行することにより、種々の手段として機能し、後述するようにこの実施形態の特徴に係る種々の機能を実現する。
ＮＢ１１２は、ＣＰＵ１１１をシステムメモリ１１３，ＡＳＩＣ１１５，バス１２７等と接続するためのチップである。
【００１９】
システムメモリ１１３は、画像形成の際の描画用メモリやＣＰＵ１１１のワークメモリ等として使用される記憶手段である。
ＳＢ１１４は、バス１２７と内部バスや周辺機器とを接続するためのチップである。
ＡＳＩＣ１１５は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。また、このＡＳＩＣ１１５とＮＢ１１２とを高速なＡＧＰ（Accelerated Graphics Port）１２６によって接続することにより、後述ようなアプリケーションやプラットフォームを構成するプロセスを複数同時に実行する場合のパフォーマンスの低下を防止している。
【００２０】
ローカルメモリ１１６は、コピー用画像バッファや符号バッファ等として用いるメモリである。
ＨＤＤ１１７は、画像データの蓄積、文書データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うストレージ（補助記憶装置）の一例である。
フラッシュＲＯＭ１１８は、外部からでもプログラムやデータ等を書き込むことができる不揮発性記憶手段であり、ここにデータを書き込むことにより、ソフトウェアのアップデートやパラメータの更新等が可能となる。
ＮＶＲＡＭ１１９は不揮発性メモリ、ＳＤＲＡＭ１２０は揮発性メモリである。
【００２１】
イーサネットＩ／Ｆ１２１は、ＭＦＰ１００をＬＡＮ（ローカルエリアネットワーク）等のネットワークに接続するためのインタフェースであり、ネットワーク上の他の機器とイーサネット方式の通信を行う機能を有する。
また、ＵＳＢＩ／Ｆ１２２，ＩＥＥＥ１３９４Ｉ／Ｆ１２３，セントロニクスＩ／Ｆ１２４も、それぞれＵＳＢ，ＩＥＥＥ１３９４，セントロニクスの規格で外部装置と通信を行うためのインタフェースであり、ＭＦＰ１００がこれらのインタフェースを介してネットワークに接続される場合もある。
【００２２】
なお、ＭＦＰ１００を接続するネットワークとしては、有線、無線を問わず種々の方式のものが使用可能であり、ＭＦＰ１００側の接続インタフェースとしても、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意するようにしている。上記の各Ｉ／Ｆ以外のものを設けてもよい。
【００２３】
外部記憶媒体用Ｉ／Ｆ１２５は、ＳＤカード、コンパクトフラッシュ（登録商標）、ＲＯＭ−ＤＩＭＭ（Dual Inline Memory Module）等の外部記憶媒体を着脱可能に装着し、これらの媒体とデータの授受を行うためのインタフェースであり、装着する媒体の規格に応じたインタフェースを設けている。
また、操作パネル１３１は、液晶パネルに積層したタッチパネルや、各種キー等で構成され、ユーザに向けたメッセージや操作を受け付けるための画面を表示したり、ユーザからの操作を受け付けたりする操作表示手段である。この操作パネル１３１は、ＡＳＩＣ１１５に接続されている。
【００２４】
ＦＣＵ１３２は、外部装置との間でファクシミリ通信を行うためのユニットである。また、メモリを有しており、ＭＦＰ１００の電源がＯＦＦされているときに受信したファクシミリデータを一時的に格納するためにも利用される。
エンジン部１３３は、画像形成部、画像読取部等であり、ＣＰＵ１１１の制御に従ってプリントやスキャンを行うことができる。
これらのＦＣＵ１３２及びエンジン部１３３はバス１２８によりＡＳＩＣ１１５に接続されている。
【００２５】
以上のようなＭＦＰ１００は、ＣＰＵ１１１が各部の動作を制御することにより、コピー、プリント、スキャン、ファクシミリ通信等の種々の動作を実行することができる。もちろん、ネットワークを介して他の装置との間で情報の授受を行うこともできる。
【００２６】
次に、図２に、ＣＰＵ１１１がこれらの制御を行うために実行するプログラムの構成を示す。
この図に示すように、ＭＦＰ１００の機能を実現するためのプログラムは、最上位のアプリケーション層１４０、およびその下位のプラットフォーム層１５０からなる。そして、これらのプログラムは、フラッシュＲＯＭ１１８やＮＶＲＡＭ１１９等に記憶され、必要に応じて読み出されてＣＰＵ１１１によって実行される。
【００２７】
これらのうち、まず、アプリケーション層１４０の各プログラムは、プリント，コピー，スキャン等の画像処理に関連するユーザーサービスに固有の処理を実現するためのプログラムである。
そして、プリンタアプリ１４１は、プリント機能を実現するためのアプリケーションプログラム（以下単に「アプリ」ともいう）であり、ページ記述言語およびポストスクリプトを含む。
【００２８】
コピーアプリ１４２は、コピー機能を実現するためのアプリである。
ファクスアプリ１４３は、ファクシミリ通信機能を実現するためのアプリである。
スキャナアプリ１４４は、スキャン機能を実現するためのアプリである。
ウェブアプリ１４５は、ウェブサービス機能を実現するためのアプリである。
【００２９】
一方、プラットフォーム層１５０には、アプリケーション層１４０の各プログラムからの処理要求を解釈してハードウェア資源の獲得要求を発生するコントロールサービス１５１〜１５７と、１つ以上のハードウェア資源の管理を行ってコントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１５８と、オペレーティングシステム（ＯＳ）１５９とを設けている。
【００３０】
また、プラットフォーム層１５０には、予め定義されている関数によりアプリケーション層１４０の各プログラムからの処理要求を受信することができるようにするアプリケーションプログラムインターフェース（ＡＰＩ）も設けている。そして、ＯＳ１５９は、プラットフォーム層１５０及びアプリケーション層１４０の各プログラムをプロセスとして並列実行する。
【００３１】
そして、これらのプロセスのうち、ＳＲＭ１５８のプロセスは、システムコントロールサービス（ＳＣＳ）１５７のプロセスと共にシステムの制御およびハードウェア資源の管理を行う。例えばＳＲＭ１５８のプロセスは、ハードウェア資源を利用する上位層からの要求に従って調停を行い、動作の実行を制御する。具体的には、ＳＲＭ１５８のプロセスは、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判定し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に通知する。また、上位層からの要求に対してハードウェア資源を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など）に係る動作を直接実施させている。
【００３２】
また、ＳＣＳ１５７のプロセスは、アプリの管理，操作パネル１３１における画面やＬＥＤ（発光ダイオード）の表示制御，ハードウェア資源の管理，割り込み処理の制御などの処理を行う。
エンジンコントロールサービス（ＥＣＳ）１５１のプロセスは、図示していないハードウェアリソースであるエンジンの制御を行う。
【００３３】
メモリコントロールサービス（ＭＣＳ）１５２のプロセスは、メモリの取得および解放、画像データの圧縮および伸張などのメモリ制御を行う。
オペレーションコントロールサービス（ＯＣＳ）１５３のプロセスは、ユーザとＭＦＰ１００との間の情報伝達手段となる操作パネル１３１の制御を行う。
ファクスコントロールサービス（ＦＣＳ）１５４のプロセスは、アプリケーション層１４０からＰＳＴＮ（Public Switched Telephone Networks）またはＩＳＤＮ（Integrated Services Digital Network）網を利用したファクシミリ送受信，バックアップ用のメモリで管理されている各種ファクシミリデータの登録／引用，ファクシミリ読み取り，ファクシミリ受信印刷などを行うためのＡＰＩを提供する。
【００３４】
ネットワークコントロールサービス（ＮＣＳ）１５５のプロセスは、ネットワーク入出力を必要とするアプリに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリのプロセスに振り分けたり、各アプリのプロセスからのデータをネットワーク側に送信する際の仲介を行ったりする。そして、このＮＣＳにより、この実施形態の主要な特徴が実現される。
セキュリティコントロールサービス（ＣＣＳ）のプロセスは、アプリケーション層１４０の各アプリに対してセキュリティサービスを提供する。
【００３５】
そして、ＣＰＵ１１１は、ＭＦＰ１００の起動時に、ＯＳ１５９上にＳＲＭ１５８及び各サービス１５１〜１５７をそれぞれプロセスとして起動して実行させると共に、アプリケーション層１４０を形成する各アプリ１４１〜１４５を起動して実行させる。そして、各アプリで共通的に必要な処理をプラットフォーム層１５０により一元的に管理して行うことができるようにしている。
なお、ＭＦＰ１００には、以上説明した構成を全て設ける必要はなく、各種メモリやＩ／Ｆの一部、あるいはＦＣＵ１３２等、ＭＦＰ１００に持たせる機能に応じて省略してよいものもある。
以上のようなＭＦＰ１００は、ネットワークに接続して運用することが可能であるが、この場合において、例えば、イーサネットＩ／Ｆ１２１とＩＥＥＥ１３９４Ｉ／Ｆ１２３により別々のネットワークに接続することも可能である。
【００３６】
図３に、このようにした場合のネットワーク構成例を示す。
図３に示した構成例では、ＭＦＰ１００は、イーサネットＩ／Ｆ１２１によりネットワーク１０に接続されると共に、ＩＥＥＥ１３９４Ｉ／Ｆ１２３によりネットワーク２０に接続されている。そして、これらのネットワーク１０及び２０は、異なるセグメントのネットワークである。
また、ネットワーク１０には、ＭＦＰ１００の他にＰＣ１１，１２及びスキャナ１４やプリンタ１５が接続され、またルータ１３により他のネットワークとも接続されている。そして、ネットワーク２０にも、ＭＦＰ１００の他にＰＣ２１，２５，２６及びスキャナ２２やプリンタ２４が接続され、またルータ２３により他のネットワークとも接続されている。
【００３７】
しかし、ネットワーク１０にもネットワーク２０にも、ＤＨＣＰサーバは設けておらず、ネットワークに関する設定は手動であるいはネットワーク機器自身で行うようにしている。そして、ネットワーク機器自身で設定を行う場合、ＩＰアドレスについては、ＡＰＩＰＡ（Automatic Private IP Addressing）という機能に対応している機器であれば、リンクローカルアドレスと呼ばれる、セグメント内では重複しないことが保証されるアドレスを、自動的に設定することができる。
このリンクローカルアドレスは、ＩＰｖ４の場合には、「169.254/16」のネットワークアドレスを持つＩＰアドレスであり、ＡＰＩＰＡ以外では割り当てられることがないよう、予約されたものである。
【００３８】
ところで、例えばネットワーク１０において、一部の機器についてはＡＰＩＰＡによるリンクローカルアドレスの設定がなされ、他の機器はＡＰＩＰＡに対応していなかったりこれが無効化されている等の理由によりリンクローカルアドレス以外のＩＰアドレスが設定されるような場合も考えられる。そして、このような場合には、同じセグメント内の機器であってもネットワークアドレスが異なってしまうことになる。そして、このような場合には、ネットワークアドレスの異なる機器については、そのままでは違うセグメントに存在する機器であると認識してしまうことになる。
【００３９】
そこで、ＭＦＰ１００は、自身と同一のセグメントからＩＰパケットを受信し、かつそのパケットの送信元のネットワークアドレスが、そのパケットの受信に使用したネットワークインタフェースに設定されているネットワークアドレスと異なるものであった場合に、そのパケットの送信元のＩＰアドレスに従ったスタティックルーティングを行うようにしている。
【００４０】
図４に、このスタティックルーティングを行うための処理のフローチャートを示す。
ＭＦＰ１００のＣＰＵ１１１は、いずれかのネットワークＩ／ＦにＩＰパケットが送られてきた場合に、図３に示したＮＣＳ１５５のプロセスにより、図４のフローチャートに示す処理を開始する。
この処理においては、まずステップＳ１１で、送られてきたＩＰパケットを受信し、ステップＳ１２でそのパケットの送信側ＩＰアドレスを取得する。そして、ステップＳ１３で、ステップＳ１２で取得した送信側ＩＰアドレスとパケットを受信したＩ／ＦのＩＰアドレスとでネットワークアドレスが異なるか否か判断する。
【００４１】
そして、同じであれば、ルーティングを行う必要はないのでそのままステップＳ２１に進み、通常の通信処理を行うが、異なる場合には、ステップＳ１４に進み、送信側ＩＰアドレスが既にルーティングされているアドレスであるか否か判断する。この判断の際には、ステップＳ１１でＩＰパケットを受信したインタフェース以外について設定されているルーティングも参照する。そして、ステップＳ１４で既にルーティングされている場合にも、ルーティングを行う必要はないのでそのままステップＳ２１に進み、通常の通信処理を行うが、ルーティングされていない場合には、ステップＳ１５に進み、送信元がＭＦＰ１００と同一セグメント内にある機器か否かを判断するための送信元確認処理を行う。
【００４２】
図５に、この送信元確認処理のフローチャートを示す。
この処理においては、まずステップＳ３１で、図４のステップＳ１２で取得した送信元ＩＰアドレス、すなわち同一セグメント内にあるか否かを確認したい機器のＩＰアドレスをターゲットＩＰアドレスとするＡＲＰ（Address Resolution Protocol）リクエストをブロードキャストする。なお、このとき使用するネットワークＩ／Ｆは、図４のステップＳ１１でＩＰパケットを受信したインタフェースである。以下の図６及び図７においては、単にＭＦＰ１００のＭＡＣアドレスやＩＰアドレスと言った場合、このインタフェースのアドレスを指すものとする。
【００４３】
図６に、このＡＲＰリクエストを含むイーサネットフレームの例を示す。
この例においては、イーサネットフレームの送信側イーサネットアドレスとして、リクエストを送信するＭＦＰ１００のうちＭＡＣ（Media Access Control）アドレスを記載し、宛先イーサネットアドレスとして、ブロードキャストアドレスであるFF:FF:FF:FF:FF:FFを記載している。
また、ＡＲＰリクエストの部分には、送信側（Sender）ＭＡＣアドレス及びＩＰアドレスとして、リクエストを送信するＭＦＰ１００のＭＡＣアドレス及びＩＰアドレスを記載している。そして、宛先（Target）ＭＡＣアドレスは不明であるのでオール０のアドレスを記載し、宛先ＩＰアドレスとしては、同一セグメント内にあるか否かを確認したい機器のＩＰアドレスを記載している。
【００４４】
以上のようなＡＲＰリクエストをブロードキャストすると、このリクエストはＭＦＰ１００（のうちＩＰパケットを受信したインタフェース）と同じセグメントに属する全てのネットワーク機器に送信される。そして、その中に宛先ＩＰアドレスとして記載されたＩＰアドレスを有する機器があれば、その機器が応答としてＡＲＰレスポンスを返してくる。
【００４５】
図７に、このＡＲＰレスポンスを含むイーサネットフレームの例を示す。
この例においては、イーサネットフレームの送信側イーサネットアドレスとして、レスポンスを送信してきた機器、すなわちＡＲＰリクエストに宛先ＩＰアドレスとして記載したＩＰアドレスを有する機器のＭＡＣアドレスが記載され、宛先イーサネットアドレスとして、ＭＦＰ１００のＭＡＣアドレスが記載されている。
また、ＡＲＰレスポンスの部分には、送信側ＭＡＣアドレス及びＩＰアドレスとして、リクエストを送信する装置のＭＡＣアドレス及びＩＰアドレスを記載している。そして、宛先ＭＡＣアドレス及びＩＰアドレスとして、ＭＦＰ１００のＭＡＣアドレス及びＩＰアドレスが記載されている。
【００４６】
図５の説明に戻ると、ステップＳ３２では、ステップＳ３１で送信したＡＲＰリクエストに対し、図７に示したような応答があるか否か判断する。
そしてあれば、ステップＳ３３に進み、ＩＰパケットの送信元のＩＰアドレスは、ＭＦＰ１００においてパケットを受信したネットワークＩ／Ｆと同一セグメント内の機器のものであると判断して元の処理に戻る。
一方、ステップＳ３２で応答がなければ、ステップＳ３４に進み、ＩＰパケットの送信元のＩＰアドレスは、ＭＦＰ１００においてパケットを受信したネットワークＩ／Ｆと同一セグメント内の機器のものでないと判断して元の処理に戻る。
【００４７】
さらに図４の説明に戻ると、ステップＳ１５で以上のような送信元確認処理を行った後、その判断に基づいて、ステップＳ１６でＩＰパケットの送信元が同一セグメント内の機器であるか否か判断する。そして、同一セグメント内でなければ、その送信元はもともとルータ１３あるいはルータ２３に転送するようルーティングされているか、あるいはデフォルトゲートウェイの設定に従ってこれらのルータにパケットを転送してよいと考えられ、特に新たなルーティングを行う必要はないため、そのままステップＳ２１に進んで通常の通信処理を行う。
【００４８】
しかし、ステップＳ１６で送信元が同一セグメント内の機器であれば、その機器のＩＰアドレスに関するルーティングを行うべく、ステップＳ１７に進む。
そして、ステップＳ１７では、ルーティングの設定方法を判断する。ここで、設定方法は、例えば、ＩＰアドレスそのものをルーティングする方法と、ＩＰアドレスのクラスに応じたネットワークアドレスをルーティングする方法とが考えられる。そしてここでは、ユーザが予め一方を選択しておくことができるようにしており、ステップＳ１７の判断はこの選択内容を示すフラグ等を参照して行う。
【００４９】
そして、アドレス自体をルーティングする設定だった場合には、ステップＳ１８で、ステップＳ１２で取得した送信側ＩＰアドレスを、ステップＳ１１でパケットを受信したＩ／Ｆに、スタティックルーティングによりルーティングする。このルーティングは、上記の送信側ＩＰアドレスにパケットを送信する場合には、ルーティングしたＩ／Ｆから直接送信可能であることを示すものである。このステップＳ１８の完了後は、ステップＳ２１に進み、通常の通信処理を行う。
【００５０】
一方、ステップＳ１７でクラスに応じたネットワークアドレスのルーティングを行う設定だった場合には、ステップＳ１９に進み、送信側ＩＰアドレスのクラスを取得し、そのクラスに応じたマスク値を決定する。このクラスは、ＩＰアドレスにおいて上位何ビット目に初めて「０」のビットが登場するかに応じて定められるものである。
【００５１】
そして、次のステップＳ２０で、ステップＳ１２で取得した送信側ＩＰアドレスのうちネットワークアドレスの部分を、ステップＳ１１でパケットを受信したＩ／Ｆに、スタティックルーティングによりルーティングする。このルーティングは、上記のネットワークアドレスを有するＩＰアドレスにパケットを送信する場合には、ルーティングしたＩ／Ｆから直接送信可能であることを示すものである。このステップＳ２０の完了後は、ステップＳ２１に進み、通常の通信処理を行う。
以上の処理により、上述したようなスタティックルーティングの処理を行うことができる。
【００５２】
ここで、図４に示した処理によるスタティックルーティングについて具体例を挙げて説明する。
例えば、ＭＦＰ１００のイーサネットＩ／Ｆ１２１に「169.254.10.100」というＩＰアドレスが割り当てられているとする。このアドレスは、リンクローカルアドレスである。そして、この状態でＭＦＰ１００がイーサネットＩ／Ｆ１２１でＩＰアドレスが「210.210.210.10」である機器からパケットを受信した場合、ネットワークアドレスがＩ／Ｆのものと異なるアドレスであるので、このアドレスがまだルーティングされておらず、送信元の機器が同一セグメント内にあると判断した場合には、このアドレスに基づいてイーサネットＩ／Ｆ１２１に対するルーティングを行う。
【００５３】
この際、「210.210.210.10」というＩＰアドレスそのものをルーティングしてもよいし、そのクラス（ここではクラスＣなのでネットマスクは「255.255.255.0」）に従ったネットワークアドレスである「210.210.210.0」をルーティングしてもよい。いずれにせよ、これらのルーティングの設定が行われると、ＭＦＰ１００は、「210.210.210.10」というＩＰアドレスを有する装置にＩＰパケットを送信しようとした場合に、イーサネットＩ／Ｆ１２１から送信すればよいこと、及びイーサネットＩ／Ｆ１２１からルータを介さずに送信できることがわかるようになり、ＩＰパケットを送信できる状態になる。
【００５４】
なお、アドレスそのものをルーティングする場合、同じセグメント内の異なるＩＰアドレス（例えば「210.210.210.11」）からのパケットを受け取った場合でも、新たにスタティックルーティングを行うので、機器のルーティングテーブルが増えることになる。しかし、複数のネットワークＩ／Ｆを持つ場合、他のインタフェースのネットワークアドレスやネットマスクの値にかかわらず、どのインタフェースにパケットを送ったらよいかが明確にわかるというメリットがある。また、他のインタフェースに対するルーティングの設定に影響を与えにくいというメリットもある。
例えば、イーサネットＩ／Ｆ１２１にＩＰアドレス「169.254.10.100」が、ＩＥＥＥ１３９４Ｉ／Ｆ１２３にＩＰアドレス「170.160.150.10」、サブネットマスク「255.255.255.0」設定されている場合に、イーサネットＩ／Ｆ１２１で「170.160.100.20」のＩＰアドレスからパケットを受信した場合に、そのＩＰアドレスそのものをスタティックルーティング（「255.255.255.255」でマスク）するようなことも可能となる。
【００５５】
また、クラスに従ったルーティングを行う場合、ルーティングのトリガーとなったパケットの送信元と同じネットワークアドレスを有する別のＩＰアドレス（例えば「210.210.210.11」）からのパケットを受信した場合でも、新たにスタティックルーティングを行わないので、機器のルーティングテーブルが増えないというメリットがある。
【００５６】
また、ＭＦＰ１００のどのインタフェースにもリンクローカルアドレスが設定されていない場合、例えばあるインタフェースに「200.100.50.25」というIPアドレスが設定され、別のインタフェースに「100.50.25.12」というＩＰアドレスが設定される場合も考えられる。このような場合にリンクローカルアドレスを有する機器からパケットを受信した場合にも、図４に示したような処理によりスタティックルーティングが行われる。
そして、ＩＰアドレスそのものをルーティングするようにする場合には、ホストアドレスが異なるアドレスは、別々のインタフェースにルーティングすることができるから、複数のインタフェースを用いてリンクローカルアドレスを持つ装置との通信を行うことができる。
【００５７】
一方、クラスに従ったルーティングを行う場合には、全てのリンクローカルアドレスを、初めにリンクローカルアドレスからのパケットを受信した方のインタフェースにルーティングしてしまうので、そちらのインタフェースでのみリンクローカルアドレスを持つ装置と通信できる状態になる。
ルーティングテーブルのサイズについては、上述のようにＭＦＰ１００のいずれかのインタフェースにリンクローカルアドレスが割り当てられている場合と同様である。
【００５８】
ところで、ＭＦＰ１００が行う動作には、パッシブ（受信）動作とアクティブ（送信）動作がある。
図８に、これらの動作の概要を示すが、パッシブ動作は、ＭＦＰ１００にパケットが送信されてきたことをトリガに処理を行う動作であり、プリント等が該当する。アクティブ動作は、ＭＦＰ１００から外部装置にパケットを送信して処理を行わせる動作であり、メール送信やスキャン等が該当する。
そして、図４を用いて説明したようなルーティングの処理は、パッシブ動作に対応したものである。
【００５９】
そこで、次に、ＭＦＰ１００がアクティブ動作を行う場合の通信に関する処理について説明する。図９は、この処理を示すフローチャートである。
ＭＦＰ１００は、アクティブ動作を行うアプリケーションにより、ＩＰパケットの送信指示及びその宛先ＩＰアドレスの指定がなされると、図３に示したＮＣＳ１５５のプロセスにより、図９のフローチャートに示す処理を開始する。
【００６０】
この処理においては、まずステップＳ４１で、指定された宛先がリンクローカルアドレスか否かを判断する。そして、リンクローカルアドレスであれば、ステップＳ４２に進んで宛先のアドレスがルーティングされているか否か判断する。ここで、リンクローカルアドレス宛のパケットは、ルータを越えて他のセグメントへ転送しないようにしているため、初めにＭＦＰ１００から送信するインタフェースを誤り、宛先と異なるセグメントに送出してしまうと、目的の機器に到達することができなくなってしまう。そこで、このような事態を防止するためにステップＳ４２のような判断を行うようにしたものである。
そして、ステップＳ４２でルーティングされていれば、ステップＳ４３に進み、そのルーティングの内容に応じたインタフェースにより通信を行い、処理を終了する。また、ステップＳ４２でルーティングされていなければ、そのまま処理を終了する。
【００６１】
一方、ステップＳ４１でリンクローカルアドレスでなかった場合には、ステップＳ４４に進み、指定された宛先に送信する際に使用するインタフェースが設定済みであるか否か判断する。宛先がリンクローカルアドレス以外であれば、ルータを越えてパケットを転送することも可能であるので、適切なインタフェースを使用しなくても宛先にパケットを転送できる可能性もあるが、通信の効率が低下したり、実際にはパケットを転送可能な経路がなかったりすることも考えられる。そこで、ステップＳ４４のような判断を行い、宛先のＩＰアドレスやネットワークアドレスに応じて設定されているインタフェースを使用するようにしたものである。なお、ここで参照するインタフェースの設定は、ＩＰアドレス、ネットマスク、デフォルトゲートウェイ等によるルーティング設定として行うことができる。
【００６２】
そして、ステップＳ４４で設定済みであれば、ステップＳ４３に進み、その設定の内容に応じたインタフェースにより通信を行い、処理を終了する。また、ステップＳ４４でインタフェースの設定がなされていなければ、そのまま処理を終了する。
なお、ステップＳ４２やＳ４４でＮＯの場合に、操作パネル１３１に表示を行う等して、通信を行うことができない旨をユーザに通知するようにするとよい。
【００６３】
以上の処理を行うことにより、ＭＦＰ１００は、アクティブ動作を行うことができる。この場合において、例えばリンクローカルアドレスを予めいずれかのインタフェースにルーティングしておけば（図４に示した処理によってでも、手動の設定によってでもよい）、そのインタフェースにリンクローカルアドレスが割り当てられていない場合でも、リンクローカルアドレスを持つ機器に対してアクティブ動作を行うことができる。
【００６４】
図１０にこの具体例を示す。
例えば、図１０（ｂ）に示すようなルーティング設定がなされている場合を考える。この場合、（ａ）に示すようにアプリケーションがリンクローカルアドレス（169.254/16）を宛先として指定してＩＰパケットの送信を要求すると、ＮＣＳ３５５によるプロセスは、ルーティング設定に従い、イーサネットＩ／Ｆ１２１をパケットの送信に用いるＩ／Ｆとして選択し、送信動作を行わせる。
【００６５】
この場合において、「169.254/16」のアドレスへの送信をイーサネットＩ／Ｆ１２１を用いて行う旨の設定は、リンクローカルアドレスを持つ機器からのＩＰパケットをイーサネットＩ／Ｆ１２１から受信した際に図４に示した処理により自動的になされたものであっても、ユーザが操作パネル１３１等から手動で行ったものであってもよい。
また、送信要求の各Ｉ／Ｆへの振り分けは、ＮＣＳ３５５のプロセスの機能により行われるものであり、アプリケーション側では、指示した送信にどのネットワークＩ／Ｆが使用されるかを把握する必要はない。
【００６６】
以上のような処理を行うＭＦＰ１００によれば、各ネットワークＩ／Ｆについて、そのネットワークＩ／Ｆと同一のセグメント内の機器のＩＰアドレスをルーティングすることができる。従って、同一セグメント内にネットワークアドレスが異なる機器が存在した場合でも、その機器が同一セグメント内に存在することを容易に認識し、ルータを介さずに小さな負荷で通信を行えるようにすることができる。このような点は、ＤＨＣＰサーバを利用できない場合や、リンクローカルアドレスを利用する場合に特に有効である。
また、ユーザが指定した固定ＩＰアドレスが設定されているプリンタ等の装置を新たにネットワークに接続する場合に、ＩＰアドレスを振り直すことなく、ＭＦＰ１００との間で通信可能な状態とすることができる。従って、ネットワーク設定の労力を軽減することができる。
【００６７】
また、ＭＦＰ１００が複数のネットワークＩ／Ｆによりネットワークの複数のセグメントに接続されている場合でも、各パケットの送信元を、そのパケットを受信したＩ／Ｆにルーティングすることができる。従って、この情報を参照することにより、ＭＦＰ１００側からパケットを送信しようとする場合に、使用すべき適切なＩ／Ｆを容易に認識することができ、低い負荷で確実に通信を可能とすることができる。
【００６８】
〔変形例：図１１，図１２〕
ここで、上述した実施形態の変形例について説明する。
まず、上述した実施形態においては、送信元アドレスのルーティングがなされていなかった場合（図４のステップＳ１４でＮＯの場合）には、必ずルーティングを行う例について説明した。しかし、このような場合でもルーティングを行わないようにする設定ができるようにしてもよい。すなわち、ルーティングを行ってしまうと、相手の機器と通信ができる状態になってしまうが、プリントやコピーの際に課金を行うようにしている場合等は、自動的に通信が可能な状態になり、ＭＦＰ１００にアクセスされてしまうと不都合な場合も考えられるためである。
【００６９】
図１１に、このようにした場合の図４と対応する処理のフローチャートを示す。
この処理は、ステップＳ１４とステップＳ１５の間にステップＳＡを追加した点が、図４に示した処理と異なるのみである。そして、ステップＳ１４でＮＯであった場合、ステップＳＡで、ルーティングを行う設定になっているか否かを判断し、なっていればステップＳ１５以降に進んで図４の場合と同様な処理を行うが、ルーティングを行わない設定であれば、通信処理も行わずにそのまま終了する。この場合、ＵＤＰ（User Datagram Protocol）を用いた通信であれば何も応答せず、ＴＣＰ（Transmission Control Protocol）を用いた通信であれば、ＲＳＴフラグを伴ったパケットを送り返すようにする。
【００７０】
このような処理を行うことにより、ユーザが望まない場合にはルーティングを行わないようにし、ネットワークアドレスが異なり、かつルーティングがなされていない相手とは通信しないようにすることができる。
なお、ルーティングの有無の設定は、インタフェース毎や、相手のアドレス範囲毎に行うことができるようにしてもよい。そして、このような設定は、操作パネル１３１からの操作や、テルネット（telnet）等を利用したネットワーク経由でのコマンド入力、ウェブブラウザを利用したＧＵＩ（グラフィカル・ユーザ・インタフェース）による指示等により行なうことができる。
【００７１】
図１２に、操作パネル１３１からこのような設定を受け付ける場合の画面例を示す。
この例においては、ＭＦＰ１００の起動処理中は操作パネル１３１に（ａ）に示すような画面を表示させ、起動後、ユーザが管理モードへの移行を指示すると（ｂ）に示すような画面を表示させてパスワードの入力を求め、正しいパスワードが入力されると（ｃ）に示すような画面で設定項目を選択できるようにしている。
そして、ユーザがリンクローカルアドレスに関する設定を選択した場合、（ｄ）に示すような画面を表示させて、リンクローカルアドレスを持つ機器との通信の可否の設定を受け付けるようにしている。ここでユーザがＮＯを選択した場合、リンクローカルアドレスについて、ルーティングしない旨が設定されることになる。
【００７２】
また、ユーザが（ｄ）の画面でＹＥＳを選択すると、（ｅ）に示す画面に移行し、インタフェースを選択することができる。そして、この画面で選択されたインタフェースについては、リンクローカルアドレスのルーティングを行う旨が設定されることになり、選択されなかったインタフェースについては、同じくルーティングを行わない旨が設定されることになる。
【００７３】
なお、リンクローカルアドレス以外についても、同様な設定を行うことができるようにしてよいことは、言うまでもない。そして、このような設定を利用することにより、一種のアクセス制御を可能とすることができる。また、ユーザが選択したインタフェースについてのみスタティックルーティングを行うようにすることにより、ユーザによる設定の自由度を向上させることができる。
【００７４】
また、以上説明してきた実施形態及び変形例において、ソフトウェアの構成や使用する通信プロトコル、データの形式、処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。例えば、ルーティングを行うアドレスは、ＩＰｖ６やＩＰＸのアドレスでもよいし、更に他のプロトコルで使用するアドレスでもよい。もちろん、リンクローカルアドレスを用いないような場合にも適用可能である。また、１つのセグメント内に、上述したようなルーティングの機能を有する機器が複数存在しても構わない。例えば、図３に示した機器全てに、上述したようなルーティングの機能を設けてもよい。
【００７５】
また、この発明が、ネットワークを介した通信が可能なネットワーク機器であれば、どのようなネットワーク機器にも適用可能であることはもちろんである。適用対象としては、例えば、プリンタ，ＦＡＸ装置，デジタル複写機，スキャナ装置，デジタル複合機等の画像処理装置のほか、汎用コンピュータ，ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，自動車，航空機等の電子機器にネットワーク通信機能を持たせたネットワーク機器が考えられる。
【００７６】
また、この発明によるプログラムは、コンピュータを、上述したＭＦＰ１００のようなネットワーク機器として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【００７７】
以上説明してきたように、ネットワーク機器、ネットワーク機器の制御方法、プログラム又は記録媒体によれば、ネットワーク機器と同じセグメントのネットワークに接続されている機器に、そのネットワーク機器と異なるネットワークアドレスを含むアドレスが設定されている場合でも、効率のよい通信を行うことができるようにすることができる。
従って、この発明を利用することにより、ネットワーク通信設定が容易なネットワーク機器を構成することができる。
【図面の簡単な説明】
【００７８】
【図１】この発明のネットワーク機器の実施形態であるＭＦＰの構成を示すブロック図である。
【図２】図１に示したＭＦＰが備えるプログラムの構成を示す図である。
【図３】図１に示したＭＦＰを備えたネットワークの構成例を示す図である。
【図４】図１に示したＭＦＰが実行する、スタティックルーティングを行うための処理を示すフローチャートである。
【図５】図４に示した送信元確認処理のフローチャートである。
【図６】図５に示した処理で送信するＡＲＰリクエストを含むイーサネットフレームの例を示す図である。
【図７】同じく受信するＡＲＰレスポンスを含むイーサネットフレームの例を示す図である。
【図８】パッシブ動作とアクティブ動作について説明するための図である。
【図９】図１に示したＭＦＰがアクティブ動作を行う場合の通信に関する処理を示すフローチャートである。
【図１０】図９に示した処理について説明するための図である。
【００７９】
【図１１】この発明の変形例における、図４に示した処理と対応する処理を示すフローチャートである。
【図１２】同変形例において、操作パネルからルーティングの有無に関する設定を受け付けるための画面及び操作手順について説明するための図である。
【符号の説明】
【００８０】
１００：ＭＦＰ、１１０：コントローラ、１１１：ＣＰＵ、１１２：ＮＢ、
１１３：システムメモリ、１１４：ＳＢ、１１５：ＡＳＩＣ、１１６：ローカルメモリ、
１１７：ＨＤＤ、１１８：フラッシュＲＯＭ、１１９：ＮＶＲＡＭ、
１２０：ＳＤＲＡＭ、１２１：イーサネットＩ／Ｆ、１２２：ＵＳＢＩ／Ｆ、
１２３：ＩＥＥＥ１３９４Ｉ／Ｆ、１２４：セントロニクスＩ／Ｆ、
１２５：外部記憶媒体用Ｉ／Ｆ、１２６：ＡＧＰ、１２７，１２８：バス、
１３１：操作パネル、１３２：ＦＣＵ、１３３：エンジン部、
１４０：アプリケーション層、１５０：プラットフォーム層
【図１】
2006101344.tif 000003
【図２】
2006101344.tif 000004
【図３】
2006101344.tif 000005
【図４】
2006101344.tif 000006
【図５】
2006101344.tif 000007
【図６】
2006101344.tif 000008
【図７】
2006101344.tif 000009
【図８】
2006101344.tif 000010
【図９】
2006101344.tif 000011
【図１０】
2006101344.tif 000012
【図１１】
2006101344.tif 000013
【図１２】
2006101344.tif 000014