(57)【要約】【課題】  ネットワークに接続するサーバ装置と画像処理装置との間で適切にデータ通信を行なえるようにする制御装置を提供する。【解決手段】  制御装置は、制御装置の未使用ポートを検出する検出手段と、前記未使用ポート宛に受信したデータを画像処理装置に転送する転送手段と、前記未使用ポート情報を画像処理装置に通知する未使用ポート通知手段とを有し、画像処理装置はサーバ装置とネットワークコネクションを確立して、前記未使用ポートを前記画像処理装置の待ち受けポート情報として前記サーバ装置に通知する待ち受けポート通知手段と、前記未使用ポートでデータの待ち受け処理を行う待ち受け手段とを有する。【選択図】  図１
2006287856.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続するサーバ装置及び画像処理装置との間でデータ通信を制御する制御装置であって、
前記サーバ装置が存在するパブリックネットワークに接続するためのパブリックネットワークインターフェイス手段と、
前記画像処理装置が存在するローカルネットワークに接続するためのローカルネットワークインターフェイス手段と、
前記画像処理装置がネットワーク経由で任意のノードと通信を行う際に前記パブリックネットワークと前記ローカルネットワーク間のネットワークルーティングを行う画像処理装置ルーティング手段と、
任意のノードがネットワーク経由で画像処理装置と通信を行う際にネットワークルーティングを行うノードルーティング手段と、
前記制御装置の未使用ポートを検出する検出手段と、
前記未使用ポート宛に受信したデータを画像処理装置に転送する転送手段と、
前記未使用ポート情報を画像処理装置に通知する未使用ポート通知手段とを有し、
前記画像処理装置は前記サーバ装置とネットワークコネクションを確立して、
前記未使用ポートを前記画像処理装置の待ち受けポート情報として前記サーバ装置に通知する待ち受けポート通知手段と、
前記画像処理装置は前記未使用ポートでデータの待ち受け処理を行う待ち受け手段と、
を備えることを特徴とした制御装置。
【請求項２】
請求項1の制御装置に於いて、前記未使用ポートはＴＣＰ／ＩＰポートであることを特徴とする制御装置。
【請求項３】
請求項1の制御装置に於いて、前記未使用ポートはパブリックネットワークインターフェイス手段によって実現されるネットワークインターフェイスを使用するポートであることを特徴とする制御装置及びシステム。
【請求項４】
請求項1の制御装置に於いて、前記画像処理装置と前記サーバ装置とで確立されるネットワークコネクションはＦＴＰプロトコルで使用されることを特徴とした制御装置。
【請求項５】
請求項1の制御装置に於いて、画像処理装置ルーティング手段は、少なくともＩＰ（Ｉｎｔｅｒｎｅｔ／Ｐｒｏｔｏｃｏｌ）プロトコルのルーティングを行うことを特徴とした制御装置及びシステム。
【請求項６】
請求項1の制御装置に於いて、前記ノードルーティング手段は、少なくともＩＰ（Ｉｎｔｅｒｎｅｔ／Ｐｒｏｔｏｃｏｌ）プロトコルのルーティングを行うことを特徴とした制御装置。
【請求項７】
請求項1の制御装置に於いて、ポート通知手段は確立されたネットワークコネクションがＦＴＰ標準ポートではない場合にのみ実行されることを特徴とした制御装置。
【請求項８】
ネットワークに接続するサーバ装置及び画像処理装置との間でデータ通信を制御する制御方法であって、
前記制御装置が前記サーバ装置が存在するパブリックネットワークに接続するステップと、
前記制御装置が前記画像処理装置が存在するローカルネットワークに接続するステップと、
前記制御装置が前記画像処理装置がネットワーク経由で任意のノードと通信を行う際に前記パブリックネットワークと前記ローカルネットワーク間のネットワークルーティングを行うステップと、
前記制御装置が任意のノードがネットワーク経由で画像処理装置と通信を行う際にネットワークルーティングを行うステップと、
前記制御装置が前記制御装置の未使用ポートを検出するステップと、
前記制御装置が前記未使用ポート宛に受信したデータを画像処理装置に転送するステップと、
前記制御装置が前記未使用ポート情報を画像処理装置に通知するステップと、
前記画像処理装置が前記サーバ装置とネットワークコネクションを確立して、前記未使用ポートを前記画像処理装置の待ち受けポート情報として前記サーバ装置に通知するステップと、
前記画像処理装置が前記未使用ポートでデータの待ち受け処理を行うステップと、
を備えることを特徴とした制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークルーティング技術ならびにネットワークルーティング装置が導入された環境における双方向コネクション指向のプロトコル技術に関するものである。
【背景技術】
【０００２】
従来、ＩＰプロトコル上で動作する双方向コネクション指向のプロトコルにおいては、互いの接続先ポートは予め定義されているか、または通信の過程においてノード間で決定され通知される方式が取られていた。後者の例として、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロコトルの動作モードの一種であるアクティブモードが挙げられる。ＦＴＰプロトコルとは、クライアントとなるノードがネットワーク上のノードとファイルの送受信を行うためのプロトコルで、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）上で動作するプロトコルである。アクティブモードにおいては、ＦＴＰプロトコル上のクライアントはＦＴＰサーバに対して制御コネクションを確立する。制御コネクションとは、ＦＴＰコマンドと応答データを通信するために使用され、ＦＴＰクライアントがデータの受信や送信を行う際には、必ず接続されていなければならないコネクションである。ＦＴＰクライアントは制御コネクション上で、データを転送する際に必要なパラメータの通知を行う。パラメータとして送信される情報とは、転送モード、データフォーマット等があるが、この中にポート情報を通知するパラメータが含まれる。また、通信モードがアクティブモードではない場合には、パッシブモード（ＰＡＳＶモード）パラメータが含まれる。ＦＴＰサーバはＦＴＰクライアントからＴＣＰリスナーポート情報を受信し、そのポートに対してＦＴＰデータコネクションを確率する。アクティブモード時には、ＦＴＰデータコネクションはＦＴＰサーバからＦＴＰクライアントに対して接続されるため、制御コネクションとは反対の向きに対して接続が行われる形になる。このように、クライアント−サーバモデルのネットワーク通信形態において、互いの向きにＴＣＰセッションを確立する技術が存在した。
【０００３】
また、ＩＰのようにＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）の階層モデルにて、ネットワーク層に位置するプロトコルのルーティング技術においても、互いに異なるアドレス空間を接続することが可能であるが、ルーティングを行う装置がアドレス変換を行うことによって、アドレスの枯渇や不具合を解消する技術が存在している。今日のインターネット環境においては、オフィスや家庭ではそれぞれＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が構築されている。この場合、それぞれのＬＡＮに接続されるノードのＩＰアドレスは、プライベートアドレスと呼ばれるアドレス範囲が使用される。プライベートアドレスはその環境において自由に使用することが許されたＩＰアドレスの集合であり、インターネット上で使用されるグローバルアドレスとは異なる値が定義されている。ＬＡＮとインターネットとはルータによって接続されるが、ＬＡＮ上のノードがインターネット上のＷｅｂサーバ等に接続する場合に、プライベートアドレスがインターネット上に流出してしまうという問題が発生する。ＬＡＮとインターネットとを接続するルータは、セキュリティの観点から、ＬＡＮ上のノードがインターネットへ接続することは許可しているが、インターネットからＬＡＮへのルーティングは通常は許可していないことが多い。そのため、プライベートアドレスがインターネット上に流出した場合には、通信自体が行えない現象が発生する。その問題を回避するためにＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）技術が存在している。ＮＡＴは、ＬＡＮ上のノードがインターネット上のノードに通信を行う場合に、ＬＡＮとインターネットとを接続するルータがパケットの送信元ＩＰアドレスを自装置のグローバルアドレスに書き換える技術である。この処理により、ＬＡＮ上のノードが送出したパケットに含まれるプライベートアドレスがインターネット上の送出されることを防ぐことが可能になり、且つインターネット上の通信先ノードも、パケットの送信元ＩＰアドレスはルータのインターネットＩＰアドレスであるために、応答することが可能になる。ルータは応答パケットを受信したら、ＬＡＮ上のノードにパケットを転送する。
【０００４】
ただし、ＮＡＴ方式によるルーティングを行った場合には、前述のようにインターネットからＬＡＮに対して接続ができないのが一般的である。前述のようにＦＴＰプロトコルのアクティブモードにおいては、インターネット上のＦＴＰサーバがＬＡＮ上のＦＴＰクライアントに対してＦＴＰデータコネクションを確立する処理を行おうとするが、ルータはインターネットからの通信を遮断しているためＦＴＰプロトコルによるファイルの送受信が行えない場合が存在する。この問題を解決するために、現在のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やルータはその機能として、ＦＴＰデータコネクションの転送を動的に行う機能を有している。ＬＡＮ上のノードがＦＴＰクライアントとなり、インターネット上のＦＴＰサーバに対してＦＴＰ制御コネクションを確立して、自装置のＴＣＰリスナーポート情報を通知する際に、ルータはパケットに含まれるポート情報を記憶しておき、ＦＴＰサーバからＴＣＰリスナーポートに対して接続要求があった際にはポートをオープンしてＬＡＮ上のノードにパケットを転送する。このようにすることにより、セキュリティを保ちながら双方向のコネクションを確立することが可能になる。
【非特許文献１】ＲＦＣ９５９（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ９５９）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、ＦＴＰサーバの制御コネクションの待ち受けポートがＦＴＰ標準ポートとして規定されている２１以外であった場合には、ＦＴＰサーバがＦＴＰクライアントに対して送信するＦＴＰデータコネクションは確立できないといった問題が存在する。前述の、ＯＳやルータに備わっている、ＦＴＰデータコネクションの転送を動的に行う機能は、ＦＴＰ標準ポートのみで待ち受けているため、標準外のポート番号で待ち受けているＦＴＰサーバに対して通信を行った場合には、動作することができないからである。そのため、ＦＴＰサーバが標準外のポートで待ち受けている場合には、ユーザはＦＴＰ通信モードの一種であるパッシブモードを使用する必要があるが、ＦＴＰサーバがパッシブモードに対応していない場合が存在した。
【課題を解決するための手段】
【０００６】
上述した問題を解決するために、請求項１の発明は、ネットワークに接続するサーバ装置及び画像処理装置との間でデータ通信を制御する制御装置であって、前記制御装置は前記サーバ装置が存在するパブリックネットワークに接続するためのパブリックネットワークインターフェイス手段と、前記制御装置は前記画像処理装置が存在するローカルネットワークに接続するためのローカルネットワークインターフェイス手段と、前記制御装置は前記画像処理装置がネットワーク経由で任意のノードと通信を行う際に前記パブリックネットワークと前記ローカルネットワーク間のネットワークルーティングを行う画像処理装置ルーティング手段と、前記制御装置は任意のノードがネットワーク経由で画像処理装置と通信を行う際にネットワークルーティングを行うノードルーティング手段と、前記制御装置は前記制御装置の未使用ポートを検出する検出手段と、前記制御装置は前記未使用ポート宛に受信したデータを画像処理装置に転送する転送手段と、前記制御装置は前記未使用ポート情報を画像処理装置に通知する未使用ポート通知手段と、前記画像処理装置は前記サーバ装置とネットワークコネクションを確立して、前記未使用ポートを前記画像処理装置の待ち受けポート情報として前記サーバ装置に通知する待ち受けポート通知手段と、
前記画像処理装置は前記未使用ポートでデータの待ち受け処理を行う待ち受け手段と、を備えることを備えることを特徴とする。請求項２の発明は、請求項1の制御装置に於いて、前記未使用ポートはＴＣＰ／ＩＰポートであることを特徴とする。請求項３の発明は、請求項1の制御装置に於いて、前記未使用ポートはパブリックネットワークインターフェイス手段によって実現されるネットワークインターフェイスを使用するポートであることを特徴とする。請求項４の発明は、請求項1の制御装置に於いて、前記画像処理装置と前記サーバ装置とで確立されるネットワークコネクションはＦＴＰプロトコルで使用されることを特徴とする。請求項５の発明は、請求項1の制御装置に於いて、画像処理装置ルーティング手段は、少なくともＩＰ（Ｉｎｔｅｒｎｅｔ／Ｐｒｏｔｏｃｏｌ）プロトコルのルーティングを行うことを特徴とする。請求項６の発明は、請求項1の制御装置に於いて、前記ノードルーティング手段は、少なくともＩＰ（Ｉｎｔｅｒｎｅｔ／Ｐｒｏｔｏｃｏｌ）プロトコルのルーティングを行うことを特徴とする。
【０００７】
請求項７の発明は、請求項1の制御装置に於いて、ポート通知手段は確立されたネットワークコネクションがＦＴＰ標準ポートではない場合にのみ実行されることを特徴とする。請求項８の発明は、ネットワークに接続するサーバ装置及び画像処理装置との間でデータ通信を制御する制御装置であって、前記制御装置は前記サーバ装置が存在するパブリックネットワークに接続するステップと、前記制御装置は前記画像処理装置が存在するローカルネットワークに接続するステップと、前記制御装置は前記画像処理装置がネットワーク経由で任意のノードと通信を行う際に前記パブリックネットワークと前記ローカルネットワーク間のネットワークルーティングを行うステップと、前記制御装置は任意のノードがネットワーク経由で画像処理装置と通信を行う際にネットワークルーティングを行うステップと、前記制御装置は前記制御装置の未使用ポートを検出するステップと、前記制御装置は前記未使用ポート宛に受信したデータを画像処理装置に転送するステップと、前記制御装置は前記未使用ポート情報を画像処理装置に通知するステップと、前記画像処理装置は前記サーバ装置とネットワークコネクションを確立して、前記未使用ポートを前記画像処理装置の待ち受けポート情報として前記サーバ装置に通知するステップと、前記画像処理装置は前記未使用ポートでデータの待ち受け処理を行うステップと、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によって、例えばＦＴＰプロトコルに代表される双方向でネットワークコネクションを確立する必要のあるプロトコルにおいて、クライアントがローカルネットワークに存在していてＮＡＴによってグローバルネットワークと通信が可能であり、且つサーバがグローバルネットワークに存在している場合においても、正常に動作することが可能であり、且つサーバ側の待つ受けポートを変更した場合においても動作することが可能になる。
【発明を実施するための最良の形態】
【０００９】
（実施例１）
以下、図面を参照して本発明の第一の実施の形態について説明する。まず、本実施の形態において想定している制御装置が動作する全体の構成について図１を用いて説明する。ユーザ環境のネットワーク１０４には複数台のクライアント装置（ＰＣ, ＭａｃｉｎｔｏｓｈあるいはＵＮＩＸ（登録商標）ワークステーションなど）とＦＴＰサーバ１０３と外部コントローラ装置１０２とが接続されている。また、外部コントローラ装置１０２はネットワーク１０４とは別のローカルネットワーク１０５にも接続されており、ローカルネットワーク１０５には画像処理装置１０１が接続されている。ここで、ネットワーク１０４及びローカルネットワーク１０５はイーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））であるものとする。画像処理装置１０１は複合機であるものとし、スキャナ機能、コピー機能、プリンタ機能とが動作する機器である。画像処理装置１０１はまた、複合機としての機能を実行する上で、様々なネットワーク通信を行う。例えば、画像処理装置１０１のスキャナによって読み取った画像をネットワーク上のサーバにプットしたりといった機能を有している。外部コントローラ装置１０２はネットワークインターフェイスカード２１４及び２１５を有しており、本システムにおいては、それぞれユーザ環境のローカルネットワーク１０５及びネットワーク１０４に接続されるといった使われ方がされている。ＦＴＰサーバ１０３はＰＣにＦＴＰサーバ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌサーバ）を動作させるためのソフトウェアを導入したものであり、ＦＴＰプロトコルを用いたファイルサーバ機能を有している。
【００１０】
次に、外部コントローラ装置１０２のハードウェア及びソフトウェアの構成について説明していく。上述のような外部コントローラ装置１０２は、例えば図２に示されるような構成となっている。図２で示される外部コントローラ装置１０２は、外部コントローラ装置１０２全体の動作制御を司るＣＰＵ２０１と、ＣＰＵ２０１での動作制御のための各種プログラムやデータなどが格納されるＲＯＭ２０２と、ＣＰＵ２０１の主メモリや作業エリアなどを含むＲＡＭ２０３と、マウス２０６と、マウス２０６からの指示入力を制御するマウスコントローラ２０５と、キーボード２０８と、キーボード２０８やポインティングデバイス（図示せず）からの指示入力を制御するキーボードコントローラ２０７と、ＣＲＴディスプレイ２１０と、ＣＲＴディスプレイ２１０の表示を制御するＣＲＴコントローラ２０９と、各種プログラムやデータ（ブートプログラム、種々のアプリケーション、プリンタドライバ、ポートモニタ、など）を記憶するためのハードディスクドライブ２１２及びフロッピー（登録商標）ディスクドライブ２１３と、ハードディスクドライブ２１２及びフロッピー（登録商標）ディスクドライブ２１３とのアクセスを制御するディスクコントローラ２１１と、ネットワーク１０４を介してＦＴＰサーバ１０３やＰＣと双方向にデータをやりとりするためのネットワークインターフェイスカード２１４と、ローカルネットワーク１０５を介して画像処理装置１０１と双方向にデータをやりとりするためのネットワークインタフェイスカード２１５とを備えており、これらの各構成部は、システムバス２０４を介して互いに通信可能なように接続されている。また、ハードディスクドライブ２１２には前述のように各機能を司る複数のソフトウェアが保存されており、随時読み出しが行われるが、ソフトウェアの代表的なものとして、オペレーティングシステムとなるＯＳ部２１６と、ネットワークインターフェイスカード２１４及び２１５で送受信するデータを互いのネットワークインターフェイスカードにルーティングするためのルーティングソフトウェア２１７と、画像処理装置１０１の機能を補足するための各種の機能を有する外部コントローラ装置アプリケーション２１８とを有している。外部コントローラ装置アプリケーション２１８とは、画像処理装置１０１と連携することにより、より強固な機能を提供するためのソフトウェアで、本実施の形態においては、その一機能としては例えば暗号化通信機能がそれにあたる。本実施の形態においては画像処理装置１０１は暗号化通信機能を有していない。この場合、外部コントローラ装置プリケーション２１８は印刷クライアントから暗号化された印刷データを受信し、暗号を解凍した上で、解凍されたデータを画像処理装置１０１に送信する。こうすることによって、パブリックなネットワークであるネットワーク１０４上を流れるデータのセキュリティを保つことが可能である。
【００１１】
次に、印刷ジョブを受信する側となる画像処理装置１０１の構成について説明する。上述のような画像処理装置１０１の主なる構成は、例えば、図３に示すように、デバイス全体の動作制御を司るＣＰＵ３０１と、ＣＰＵ３０１での動作制御のための各種プログラムやデータ等が格納されるＲＯＭ３０２と、ＣＰＵ３０１の主メモリや作業用エリア等を含むＲＡＭ３０３と、デバイス機能（プリンタ機能やコピー機能等）のエンジン３０４と、エンジン３０４の駆動を制御するエンジンコントローラ３０５と、ユーザから各種操作指示を受け付けたり種々の情報を表示するパネル３０６と、パネル３０６での入出力をコントロールしたりパネル３０６を管理するパネルコントローラ３０７と、各種プログラムやデータを記憶するためのハードディスクドライブ３０８と、ハードディスクドライブ３０８とのアクセスを制御するディスクコントローラ３０９と、不揮発性ＲＡＭ３１０と、ローカルネットワーク１０５を介して外部コントローラ装置１０２やＦＴＰサーバ１０３と双方向にデータをやりとりするためのネットワークインタフェイスカード３１１と、スキャナ３１４とスキャナ３１４を制御するスキャナコントローラ３１３を備えている。これらの各構成部は、システムバス３１２を介して互いに通信可能なように接続されている。また、ハードディスクドライブ３０８には前述のように各機能を司る複数のソフトウェアやデータが保存されており、随時読み出しが行われるが、そのソフトウェアの代表的なものとして、オペレーティングシステムとなるＯＳ部３１５と、複合機全体の動作を制御するための複合機制御ソフトウェア３１６と、複合機制御ソフトウェア３１６のサブセットとなるソフトウェアで、画像処理装置１０１をＦＴＰクライアントとして動作させるためのＦＴＰクライアントソフトウェア３１７と、機器情報データベースであるＭＩＢ３１８（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｍａｔｉｏｎ  Ｂａｓｅ）とを備えている。また複合機制御ソフトウェア３１６にはＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）プロトコル通信を行うためのモジュールが組み込まれているものとする。
【００１２】
次に、外部コントローラ装置１０２のパケットルーティングを実現するための構成に関してより詳細に説明していく。外部コントローラ装置１０２にはルーティング機能としてＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）が実装されている。ＮＡＴとは、ローカルネットワーク内のＩＰアドレスとパブリックネットワークとを１対１で対応付けて、ローカルネットワークのＩＰアドレスを持つネットワークノードがパブリックネットワーク内のノードと通信を行う際には、パブリックネットワーク側のＩＰアドレスに書き換えられるものである。ＮＡＴについて、図４を用いて具体的に説明する。図４は画像処理装置１０１がＰＣ４０１とＩＰプロトコルを用いて通信する場合の、パケット中のＩＰアドレスの変化について示したものである。ここで、画像処理装置１０１のＩＰアドレスは１０．２５５．２５５．２であり、外部コントローラ装置のローカルアドレス１０５側のＩＰアドレスは１０．２５５．２５５．１である。また外部コントローラ装置１０１のネットワーク１０４側のＩＰアドレスは１７２．２４．０．２であり、ＰＣ４０１のＩＰアドレスは１７２．２４．０．１であるものとする。ここで、ローカルネットワーク１０５とネットワーク１０４とはネットワークアドレスが異なるため、画像処理装置１０１がＰＣ４０１とＩＰ通信を行うためには外部コントローラ装置１０２がルータの役割を行う必要がある。つまり、画像処理装置１０１に設定されているデフォルトゲートウェイアドレスは外部コントローラ装置のＩＰアドレスである１０．２５５．２５５．２である。その状態にて、画像処理装置１０１がＰＣ４０１に対してＴＣＰ／ＩＰで通信を行うことを考える。画像処理装置１０１がＰＣ４０１に対して送信したパケット４０２に含まれるＩＰプロトコル部の送信元ＩＰアドレスは１０．２５５．２５５．２であり、送信先ＩＰアドレスは１７２．２４．０．１である。パケット４０２はルータの役割を司る外部コントローラ装置１０２に到達する。ネットワークインターフェイスカード２１５が受信したパケット４０２は、ルーティングソフトウェア２１７のサブセットモジュールであるＮＡＴ部４０６によってＩＰアドレスが書き換えられる。ＮＡＴ部４０６はパケット４０２の送信元ＩＰアドレスを画像処理装置１０１のＩＰアドレスから、外部コントローラ装置１０２のパブリックネットワーク側のＩＰアドレスに書き換えて、送信先ＩＰアドレスに対して送信を行う。外部コントローラ装置１０２によってネットワーク１０４側に送信されたパケット４０３は、送信元ＩＰアドレスは外部コントローラ装置のパブリックネットワーク側のＩＰアドレスである１７２．２４．０．２であり、送信先ＩＰアドレスはＰＣ４０１のＩＰアドレスである１７２．２４．０．１である。つまり、画像処理装置１０１がパブリックネットワーク１０４内に送出したパケットは、外部コントローラ装置１０２を介すことによって、送信元ＩＰアドレスが書き換えられ、外部コントローラ装置１０２が送出したかのようなパケットに書き換えられている。ＰＣ４０１はパケット４０３を受信して、そのパケットに対してリプライを行う。ＰＣ４０１が送出したリプライのパケット��０４は、画像処理装置１０１に対してのものであるが、ＰＣ４０１が受信したパケット４０３の送信元ＩＰアドレスは外部コントローラ装置１０２のアドレスであるため、ＰＣ４０１は外部コントローラ装置１０２に対してパケットを送出する。そのため、パケット４０４の送信先ＩＰアドレスは外部コントローラ装置のパブリックネットワーク側のＩＰアドレスである１７２．２４．０．２であり、送信元ＩＰアドレスはＰＣ４０１のＩＰアドレスである１７２．２４．０．１である。外部コントローラ装置１０２がパケット４０４を受信すると、ＮＡＴ部４０６は送信先ＩＰアドレスを画像処理装置１０１のアドレスに書き換えてローカルネットワーク１０５側に送出する。送出されたパケット４０５の送信先ＩＰアドレスは、画像処理装置１０１のアドレスである１０．２５５．２５５．２であり、送信元ＩＰアドレスはＰＣ４０１のアドレスである１７２．２４．０．１である。パケット４０５は画像処理装置１０１によって受信される。このように、ルータの役割を果たす外部コントローラ装置１０２がＩＰアドレスを付け替えることによって画像処理装置１０１のローカルＩＰアドレスを外部に出すことなくネットワーク１０４上のノードと通信することを可能にする技術がＮＡＴである。この場合、画像処理装置１０１がネットワーク１０４上のノードとＴＣＰやＵＤＰにて通信する場合の宛て先ポートの値によってＮＡＴの実行の可否が決定されることはない。画像処理装置１０１の通信先となるノードの待ちうけポートが何番であっても、ＮＡＴ４０６はＮＡＴ処理を行い、通信を許可する。対して、ネットワーク１０４上のノードが外部コントローラ装置１０２または画像処理装置１０１と通信を行う場合には、セキュリティの観点から制限がかけられている。図５は外部コントローラ装置１０２がネットワーク１０４上のノードからＴＣＰ／ＩＰまたはＵＤＰ／ＩＰによる通信を受信した場合の動作を説明するための図である。外部コントローラ装置１０２上ではＴＣＰ／ＩＰによってネットワーク１０４上のノードと通信を行う機能を持つソフトウェアであるアプリケーション５０１が動作している。アプリケーション５０１はネットワークインターフェイス２１４側のＴＣＰポート１００００番をオープンして常にリッスンしている。また、ルーティングソフトウェア２１７は、ネットワークインターフェイス２１４側のＴＣＰポート１０１００番を画像処理装置１０１に転送する設定がされている。ルーティングソフトウェア２１７はネットワークインターフェイス２１４側のＴＣＰポート１０１００番で受信したＩＰパケットの送信先ＩＰアドレスを画像処理装置１０１のアドレスである１０．２５５．２５５．２に付け替えて、ローカルネットワーク１０５に送信する。つまり、ルーティングソフトウェア２１７はネットワークインターフェイス２１４で自装置宛てに受信したＩＰパケットの送信先ポートが１００００であればアプリケーション５０１に渡し、送信先ポートが１０１００であれば画像処理装置１０１に転送する。それ以外のポート番号であった場合には、パケットは破棄される。つまりネットワーク１０４上のノードが画像処理装置１０１とＩＰ通信を行う場合には、使用する宛��先ポート番号を予めルーティングソフトウェア２１７に登録しておく必要がある。次に、本実施の形態に適用される外部コントローラ装置プリケーション２１８のサブセットとなるネットワークアプリケーションの一例を図６を用いて説明する。図６では外部コントローラ装置プリケーション２１８を構成するネットワークアプリケーションとして、ＬＰＤソフトウェア６０１とＷｅｂサーバ６０２を備えている。ＬＰＤソフトウェア６０１は、印刷プロトコルの一種であるＬＰＤ（Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  Ｄａｅｍｏｎ）の機能を司るソフトウェアモジュールであり、ネットワーク１０４上のノードからＬＰＤプロトコルによって印刷ジョブの受信を行う。Ｗｅｂサーバ６０２は外部コントローラ装置１０２上でＷｅｂサーバ機能を動作させるためのソフトウェアモジュールであり、ネットワーク１０４上のノードにＷｅｂサイトを提供するものである。ＬＰＤソフトウェア６０１及びＷｅｂサーバ６０２はそれぞれネットワークインターフェイス２１４側のネットワークに対して、ＴＣＰポート５１５番とＴＣＰポート８０番をオープンしている。ルーティングソフトウェア２１７はネットワークインターフェイス２１４で受信したＩＰパケットの中で送信先ポートの番号がＴＣＰポート５１５番とＴＣＰポート８０番であるものを、ＬＰＤソフトウェア６０１及びＷｅｂサーバ６０２に渡す処理を行う。次に図７を用いて本実施の形態の動作の流れについて説明していく。Ｓｔｅｐ７０１では、外部コントローラ装置１０２の電源が投入されたことを表している。外部コントローラ装置１０２の電源が投入され、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムにより外部コントローラ装置１０２を構成している各種ハードウェアの認識が行われる。次にＯＳ部２１６のモジュール群がロードされ、ＯＳ部２１６上で外部コントローラ装置プリケーション及びルーティングソフトウェア２１７が実行された状態になる。この時点で、画像処理装置１０１及びＦＴＰサーバ１０３は電源が投入され各種装置が担う機能が動作することが可能であるものとする。次にＳｔｅｐ７０２において、ルーティングソフトウェア２１７はネットワークインターフェイス２１４側のオープンポートのチェックを行う。本実施の形態においては、その一例として、ＬＰＤソフトウェア６０１及びＷｅｂサーバ６０２はそれぞれネットワークインターフェイス２１４側のネットワークに対して、ＴＣＰポート５１５番とＴＣＰポート８０番をオープンしており、その情報はＯＳ部２１６に登録されている。ルーティングソフトウェア２１７はＯＳ部の情報を参照することによりネットワークインターフェイス２１４側でオープンしているポートがＴＣＰポート５１５番とＴＣＰポート８０番であることを認識する。次にＳｔｅｐ７０３において、ＦＴＰ転送ポートの決定処理を行う。ルーティングソフトウェア２１７はネットワークインターフェイス２１４の非オープンポートを1つ選択する。ここでは、ルーティングソフトウェア２１７はポート１００２０を選択するものとする。同時にルーティングソフトウェア２１７はポート１００２０のリッスンを行う。次にＳｔｅｐ７０４においてＳｔｅｐ７０３にて選択されたポート転送処理を開始する。ルーティングソフトウェア２１７はネットワークインターフェイス２１４のポート１００２０で受信したＩＰパケットを画像処理装置１０１の同一ポートにリダイレクトする。図８は、Ｓｔｅｐ７０４のポート転送処理によって転送ルート８０１が確立されたことを表している。この処理によって、ネットワークインターフェイス２１４上のノードが外部コントローラ装置１０２のポート１００２０に対して通信を行った場合、送信されたパケットは画像処理装置１０１に転送される。次にＳｔｅｐ７０５において、ルーティングソフトウェア２１７は画像処理装置１０１のＭＩＢ３１８に対して、ルーティングソフトウェア２１７がオープンしたポート情報のＳｅｔを行う。ＭＩＢ３１８にはプライベートＭＩＢとしてＦＴＰデータコネクションのポート番号を示すオブジェクトが実装されているものとする。ルーティングソフトウェア２１７はＳＮＭＰプロトコルのＳｅｔＲｅｑｕｅｓｔを用いて、ＭＩＢ３１８への書き込みを行う。ここで書き込まれる情報はポート１００２０を示す情報である。Ｓｔｅｐ７０１からＳｔｅｐ７０５までの一連の動作は外部コントローラ装置１０２の起動時に行われるものである。この状態で、ユーザが画像処理装置上でスキャン画像をＦＴＰによってＦＴＰサーバ１０３にプットすることを考える（Ｓｔｅｐ７０６）。画像処理装置はスキャナ３１４を備えており、スキャンしたドキュメントのイメージデータをＦＴＰプロトコルによってＦＴＰサーバにプットする機能を有している。ユーザはドキュメントのスキャン指示と、プットするＦＴＰサーバのアドレス情報や認証情報をパネル３０６を用いて入力した後に、ＦＴＰ送信の実行指示を行う。実行指示が行われたら、複合機制御ソフトウェア３１６はＦＴＰサーバ１０３へＦＴＰプロトコルを用いて接続を行う（Ｓｔｅｐ７０７）。次に複合機制御ソフトウェア３１６はＦＴＰプロトコルの手順に従って送信を行う。まず複合機制御ソフトウェア３１６は、ＦＴＰサーバ１０３に対して、ＦＴＰプロトコルの制御コネクションの確立を行う。複合機制御ソフトウェア３１６は最初にＴＣＰ／ＩＰプロトコルの接続要求を発信する。その際のＩＰパケットに含まれる送信先ＩＰアドレスはＦＴＰサーバ１０３のＩＰアドレスである。また送信先ポート番号は２００２１であるのもとする。画像処理装置によって発信されたパケットは外部コ
ントローラ装置１０２によってＮＡＴ処理され、パケット内の送信元ＩＰアドレス情報が変更された状態でＦＴＰサーバ１０３に到達する（Ｓｔｅｐ７０８）。ＦＴＰサーバ１０３は接続要求を受信し、ＴＣＰ／ＩＰプロトコルのＡｃｋを返信する（Ｓｔｅｐ７０９）。ＦＴＰサーバによって送信されたＡｃｋは外部コントローラ装置１０２に到達し、ＮＡＴ処理により画像処理装置１０１に到達する（Ｓｔｅｐ７１０及びＳｔｅｐ７１１）。Ｓｔｅｐ７０７からＳｔｅｐ７１１までの一連の動作は画像処理装置１０１とＦＴＰサーバ１０３とがＦＴＰプロｔコルの制御コネクションを確立したことを表している。制御コネクションの確立が行われると、画像処理装置１０１はＦＴＰサーバ１０３に対してファイル転送要求の送信を行う。ＦＴＰサーバは当該要求に対して許可を行う。次に画像処理装置１０１はＦＴＰプロトコルで規定されているＰＯＲＴコマンドを使用してデータコネクションの待ち受けポートの通知を行う（Ｓｔｅｐ７１１）。画像処理装置１０１は自装置のＦＴＰデータコネクションの待ち受けポートのポート番号を、Ｓｔｅｐ７０５によって外部コントローラ装置１０２から通知されたポート番号である１００２０としてＦＴＰサーバ１０３に通知する。通知情報を含むパケットは画像処理装置１０１によって送信され、外部コントローラ装置１０２上でＮＡＴ処理によりＦＴＰサーバ１０３に転送される（Ｓｔｅｐ７１２）。ＦＴＰサーバ１０３は画像処理装置１０１の待ち受けポート情報を受信したことにより、ＦＴＰプロトコルの通信モードがアクティブモードであることを認識する。ＦＴＰサーバ１０３は画像処理装置１０１に対してデータコネクションの接続要求を発信する（Ｓｔｅｐ７１３）。その際のＩＰパケットの送信先ＩＰアドレスは外部コントローラ装置１０２のネットワークインターフェイス２１４側のアドレスである。また送信先ポート番号はＳｔｅｐ７１１により通知された１００２０である。送信元ＩＰアドレスはＦＴＰサーバ１０３のＩＰアドレスであり、送信元ポート番号は２０である。ＦＴＰサーバ１０３によって送信された接続要求パケットは外部コントローラ装置１０２のネットワークインターフェイス２１４が受信する。ルーティングソフトウェア２１７は受信パケットを解析し、送信先ポート番号が１００２０であることから、受信パケットを画像処理装置にリダイレクトする（Ｓｔｅｐ７１４）。Ｓｔｅｐ７１４によって外部コントローラ装置１０２から画像処理装置１０１に転送された接続要求パケットは画像処理装置１０１のポート１００２０に到達する。画像処理装置はデータコネクションの待ち受けポートとして１００２０をリッスンしているため、受信パケットを処理することが可能である。画像処理装置１０１は接続の許可を通知するためのＡｃｋをＦＴＰサーバ１０３に送信する（Ｓｔｅｐ７１５）。Ａｃｋ情報を含んだパケットは外部コントローラ装置１０２のＮＡＴ処理によりＦＴＰサーバ１０３に送信される（Ｓｔｅｐ７１６）。ＦＴＰサーバ１０３はＡｃｋを受信し、ＦＴＰプロトコルのデータコネクションの確立が行われる。
【００１３】
（実施例２）
本発明の第二の実施の形態について説明する。第二の実施の形態においても、画像処理装置１０１及びＦＴＰサーバ１０３の構成及びそれらの機器の接続の構成は第一の実施の形態と同様である。異なるのは、外部コントローラ装置１０２のソフトウェア構成と、それに関連する外部コントローラ装置１０２の動作である。外部コントローラ装置のハードウェア構成は、図２に示される通りであり、これも第一の実施の形態と同様である。異なるのは、ハードディスクドライブ２１２に格納される外部コントローラ装置プリケーション２１８のサブセットとなるソフトウェア及びデータファイルである。図９に例示されるように、外部コントローラ装置プリケーション２１８を構成するネットワークアプリケーションとして、ＬＰＤソフトウェア９０２とＷｅｂサーバ９０３を備えている。ＬＰＤソフトウェア９０２とＷｅｂサーバ９０３の機能は第一の実施の形態で示されているＬＰＤソフトウェア６０１及びＷｅｂサーバ６０２と同様である。アプリケーション管理テーブル９０１はアプリケーションソフトウェアの動作状況を示す情報ファイルである。ＬＰＤソフトウェア９０２とＷｅｂサーバ９０３といったアプリケーションは、ユーザ設定によって動作が切り替え可能である。アプリケーション管理テーブル９０１は各アプリケーションのその時点での動作状況が記載されており、各アプリケーションが動作しているか否かは、アプリケーション管理テーブル９０１を参照することによって認識することが可能である。また、アプリケーション管理テーブル９０１には各アプリケーションが使用するネットワークポートの番号が記載される。例えば、ＬＰＤソフトウェア９０２にはＴＣＰプロトコルの５１５番といった情報が記載される。外部コントローラ装置プリケーション２１８は各アプリケーションの動作状況を管理しており、アプリケーション管理テーブル９０１に常に最新の状況を反映している。次に図７及び図１０を用いて第二の形態の動作の流れについて説明していく。第二の形態が第一の実施の形態の流れと異なる点は、外部コントローラ装置１０２の不使用ポートの探索方法とＦＴＰ転送ポートの決定方法である。つまり第一の実施の形態における、Ｓｔｅｐ７０２及びＳｔｅｐ７０３での動作が異なる点である。以下に、第二の実施の形態における不使用ポートの探索方法とＦＴＰ転送ポートの決定方法とを図１０を用いて説明する。Ｓｔｅｐ１００１において、ルーティングソフトウェア２１７は、アプリケーション管理テーブル９０１のファイルをオープンし、データにアクセスする。次にルーティングソフトウェア２１７は計算式Ｎ＝１を実行して、カウント用変数Ｎの初期化を行う（Ｓｔｅｐ１００２）。カウンタ変数Ｎはアプリケーション管理テーブル９０１に登録されているアプリケーションを一意に特定するＩＤとなる。次にＳｔｅｐ１００３において、ルーティングソフトウェア２１７はアプリケーション管理テーブル９０１に登録されているアプリケーションのうち、Ｎ番目に登録されているアプリケーションが現在有効であるか否かをチェックする。ここで、Ｎ番目に登録されているアプリケーションが無効な状態であったならば、後述のＳｔｅｐ１００６にジャンプする。ここで、Ｎ番目に登録されているアプリケーションが有効な状態であったならば、次にルーティングソフトウェア２１７は当該アプリケーションがネットワークポートを使用しているか否かをチェックする（Ｓｔｅｐ１００４）。当該アプリケーションがＴＣＰ又はＵＤＰポートを使用していない場合には、後述のＳｔｅｐ１００６にジャンプする。当該アプリケーションがＴＣＰ又はＵＤＰポートを使用しているならば、ルーティングソフトウェア２１７は使用されているポート番号を記憶する（Ｓｔｅｐ１００５）。次にルーティングソフトウェア２１７は計算式Ｎ＝Ｎ＋１を実行することにより、カウンタ変数Ｎをインクリメントする（Ｓｔｅｐ１００６）。次にＳｔｅｐ１００７において、ルーティングソフトウェア２１７はアプリケーション管理テーブル９０１の登録アプリケーションの中で、未チェック状態であるアプリケーションがあるか否かの判断処理を行う。未チェック状態であるアプリケーションとは、Ｓｔｅｐ１００３において、アプリケーションの状態をチェックされていないアプリケーションであることを意味している。ここで、未チェック状態であるアプリケーションが存在していれば、Ｓｔｅｐ１００３に戻る。未チェック状態であるアプリケーションが存在していなければＳｔｅｐ１００８に移行する。Ｓｔｅｐ１００８では、ルーティングソフトウェア２１７は、Ｓｔｅｐ１００３において記憶したアプリケーションが使用中であるポート番号以外のポート番号を1つ選択する。ここで選択されたポート番号がＦＴＰ転送ポートとなる。以降の処理は第一の実施の形態と同様であり、Ｓｔｅｐ７０４以降同様の流れとなる。
【００１４】
（実施例３）
本発明の第三の実施の形態について説明する。第三の実施の形態が第一及び第二の実施の形態と異なる点は、画像処理装置が送出したＦＴＰ制御コネクションの送信先ポートがＦＴＰプロトコルの標準ポートとして定められているポート番号であったならば、ルーティングソフトウェア２１７によって決定されたＦＴＰ転送ポートを使用しないというものである。第三の実施の形態においても、画像処理装置１０１及びＦＴＰサーバ１０３の構成及びそれらの機器の接続の構成は第一の実施の形態と同様である。異なるのは、外部コントローラ装置１０２のソフトウェア構成と、それに関連する外部コントローラ装置１０２及び画像処理装置１０１の動作である。外部コントローラ装置のハードウェア構成は、図２に示される通りであり、これも第一の実施の形態と同様である。異なるのは、ハードディスクドライブ２１２に格納されるＯＳ部２１６のサブセットとなるソフトウェアである。図１２に例示されるように、外部コントローラ装置１０２のＯＳ部２１６には、そのサブセットとなるソフトウェアであるＯＳ付属ＦＴＰ転送プログラム１２０１が備わっている。ＯＳ付属ＦＴＰ転送プログラム１２０１は、ローカルネットワーク１０５のポート２１をリッスンしており、画像処理装置１０１がネットワーク１０４上のＦＴＰサーバにＦＴＰ制御コネクションを確立した場合には、画像処理装置１０１が送出するＦＴＰプロトコル上のＰＯＲＴコマンドを参照して、データコネクションの待ちうけポートをオープンし、受信パケットを画像処理装置に転送する動作を行う。次に図１１を用いて本実施の形態の動作の流れについて説明していく。Ｓｔｅｐ１１０１では、外部コントローラ装置１０２の電源が投入されたことを表している。外部コントローラ装置１０２の電源が投入され、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムにより外部コントローラ装置１０２を構成している各種ハードウェアの認識が行われる。次にＯＳ部２１６のモジュール群がロードされ、ＯＳ付属ＦＴＰ転送プログラム１２０１が実行される。次に、ＯＳ部２１６上で外部コントローラ装置プリケーション及びルーティングソフトウェア２１７が実行された状態になる。この時点で、画像処理装置１０１及びＦＴＰサーバ１０３は電源が投入され各種装置が担う機能が動作することが可能であるものとする。次にＳｔｅｐ１１０２において、ルーティングソフトウェア２１７はネットワークインターフェイス２１４側のオープンポートのチェックを行う。本実施の形態においては、その一例として、ＬＰＤソフトウェア６０１及びＷｅｂサーバ６０２はそれぞれネットワークインターフェイス２１４側のネットワークに対して、ＴＣＰポート５１５番とＴＣＰポート８０番をオープンしており、その情報はＯＳ部２１６に登録されている。ルーティングソフトウェア２１７はＯＳ部の情報を参照することによりネットワークインターフェイス２１４側でオープンしているポートがＴＣＰポート５１５番とＴＣＰポート８０番であることを認識する。次にＳｔｅｐ１１０３において、ＦＴＰ転送ポートの決定処理を行う。ルーティングソフトウェア２１７はネットワークインターフェイス２１４の非オープンポートを1つ選択する。ここでは、ルーティングソフトウェア２１７はポート１００２０を選択するものとする。同時にルーティングソフトウェア２１７はポート１００２０のリッスンを行う。次にＳｔｅｐ７０４においてＳｔｅｐ７０３にて選択されたポート転送処理を開始する。ルーティングソフトウェア２１７はネットワークインターフェイス２１４のポート１００２０で受信したＩＰパケットを画像処理装置１０１の同一ポートにリダイレクトする。図８は、Ｓｔｅｐ１１０４のポート転送処理によって転送ルート８０１が確立されたことを表している。この処理によって、ネットワークインターフェイス２１４上のノードが外部コントローラ装置１０２のポート１００２０に対して通信を行った場合、送信されたパケットは画像処理装置１０１に転送される。次にＳｔｅｐ１１０５において、ルーティングソフトウェア２１７は画像処理装置１０１のＭＩＢ３１８に対して、ルーティングソフトウェア２１７がオープンしたポート情報のＳｅｔを行う。ＭＩＢ３１８にはプライベートＭＩＢとしてＦＴＰデータコネクションのポート番号を示すオブジェクトが実装されているものとする。ルーティングソフトウェア２１７はＳＮＭＰプロトコルのＳｅｔＲｅｑｕｅｓｔを用いて、ＭＩＢ３１８への書き込みを行う。ここで書き込まれる情報はポート１００２０を示す情報である。Ｓｔｅｐ１１０１からＳｔｅｐ１１０５までの一連の動作は外部コントローラ装置１０２の起動時に行われるものである。この状態で、ユーザが画像処理装置上でスキャン画像をＦＴＰによってＦＴＰサーバ１０３にプットすることを考える（Ｓｔｅｐ１１０６）。画像処理装置はスキャナ３１４を備えており、スキャンしたドキュメントのイメージデータをＦＴＰプロトコルによってＦＴＰサーバにプットする機能を有している。ユーザはドキュメントのスキャン指示と、プットするＦＴＰサーバのアドレス情報や認証情報をパネル３０６を用いて入力した後に、ＦＴＰ送信の実行指示を行う。実行指示が行われたら、複合機制御ソフトウェア３１６はＦＴＰサーバ１０３へＦＴＰプロトコルを用いて接続を行う（Ｓｔｅｐ１１０７）。次に複合機制御ソフトウェア３１６はＦＴＰプロトコルの手順に従って送信を行う。まず複合機制御ソフトウェア３１６は、ＦＴＰサーバ１０３に対して、ＦＴＰプロトコルの制御コネクションの確立を行う。複合機制御ソフトウェア３１６は最初にＴＣＰ／ＩＰプロトコルの接続要求を発信する。その際のＩＰパケットに含まれる送信先ＩＰアドレスはＦＴＰサーバ１０３のＩＰアドレスである。また送信先ポート番号はＦＴＰプロトコルのウェルノウンポートである２１である。画像処理装置によって発信されたパケットは外部コントローラ装置１０２によってＮＡＴ処理され、パケット内の送信元ＩＰアドレス情報が変更された状態でＦＴＰサーバ１０３に到達する（Ｓｔｅｐ１１０８）。ＦＴＰサーバ１０３は接続要求を受信し、ＴＣＰ／ＩＰプロトコルのＡｃｋを返信する（Ｓｔｅｐ１１０９）。ＦＴＰサーバによって送信されたＡｃｋは外部コントローラ装置１０２に到達し、ＮＡＴ処理により画像処理装置１０１に到達する（Ｓｔｅｐ１１１０及びＳｔｅｐ１１１１）。Ｓｔｅｐ１１０７からＳｔｅ��１１１１までの一連の動作は画像処理装置１０１とＦＴＰサーバ１０３とがＦＴＰプロｔコルの制御コネクションを確立したことを表している。制御コネクションの確立が行われると、画像処理装置１０１はＦＴＰサーバ１０３に対してファイル転送要求の送信を行う。ＦＴＰサーバは当該要求に対して許可を行う。次に画像処理装置１０１はＦＴＰプロトコルで規定されているＰＯＲＴコマンドを使用してデータコネクションの待ち受けポートの通知を行う（Ｓｔｅｐ１１１１）。画像処理装置１０１は自装置のＦＴＰデータコネクションの待ち受けポートのポート番号を、ＦＴＰサーバ１０３に通知するが、ＦＴＰ制御コネクションの送信先ポート番号がＦＴＰプロトコルの標準ポート番号である２１であるため、待ち受けポート番号は外部コントローラ装置１０２が使用していないポートから決定される。当該通知情報を含むパケットは画像処理装置１０１によって送信され、外部コントローラ装置１０２上でＮＡＴ処理によりＦＴＰサーバ１０３に転送される。この際、ＯＳ付属ＦＴＰ転送プログラム１２０１は、パケット中に含まれる待ち受けポート情報を読み取り、ネットワーク１０４側の当該ポートをオープンする（Ｓｔｅｐ１１１２）。ＦＴＰサーバ１０３は外部コントローラ１０２の待ち受けポート情報を受信したことにより、ＦＴＰプロトコルの通信モードがアクティブモードであることを認識する。ＦＴＰサーバ１０３は画像処理装置１０１に対してデータコネクションの接続要求を発信する（Ｓｔｅｐ１１１３）。その際のＩＰパケットの送信先ＩＰアドレスは外部コントローラ装置１０２のネットワークインターフェイス２１４側のアドレスである。また送信先ポート番号はＳｔｅｐ１１１１により通知された番号である。送信元ＩＰアドレスはＦＴＰサーバ１０３のＩＰアドレスである。ＦＴＰサーバ１０３によって送信された接続要求パケットは外部コントローラ装置１０２のネットワークインターフェイス２１４が受信する。ＯＳ付属ＦＴＰ転送プログラム１２０１は受信パケットを解析し、受信パケットを画像処理装置にリダイレクトする（Ｓｔｅｐ１１１４）。Ｓｔｅｐ１１１４によって外部コントローラ装置１０２から画像処理装置１０１に転送された接続要求パケットは画像処理装置１０１に到達する。画像処理装置１０１は接続の許可を通知するためのＡｃｋをＦＴＰサーバ１０３に送信する（Ｓｔｅｐ１１１５）。Ａｃｋ情報を含んだパケットは外部コントローラ装置１０２のＮＡＴ処理によりＦＴＰサーバ１０３に送信される（Ｓｔｅｐ１１１６）。ＦＴＰサーバ１０３はＡｃｋを受信し、ＦＴＰプロトコルのデータコネクションの確立が行われる。
【図面の簡単な説明】
【００１５】
【図１】本発明の機器の接続構成を例示したブロック図である。
【図２】外部コントローラ装置の内部構造を示すブロック図である。
【図３】画像処理装置の内部構造を示すブロック図である。
【図４】ＮＡＴ処理におけるデータ内容を示した図である。
【図５】外部コントローラ装置におけるポート振り分けの構造を示した図である。
【図６】外部コントローラ装置におけるアプリケーションの待ち受けポートを示した図である。
【図７】機器単位の処理フローを示した図である。
【図８】外部コントローラ装置における転送処理の概念を表した図である。
【図９】外部コントローラ装置におけるアプリケーションの動作状況を示した図である。
【図１０】本発明の第二の実施の形態における待ち受けポート決定フローを表した図である。
【図１１】ＯＳ部が転送処理を行った場合の処理フローを示した図である。
【図１２】ＯＳ部が転送処理を行う場合のポート振り分けの構造を示した図である。
【符号の説明】
【００１６】
１０１  画像処理装置
１０２  外部コントローラ装置
１０３  ＦＴＰサーバ
１０４  ネットワーク
１０５  ローカルネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  マウスコントローラ
２０６  マウス
２０７  キーボードコントローラ
２０８  キーボード
２０９  ＣＲＴコントローラ
２１０  ＣＲＴ
２１１  ディスクコントローラ
２１２  ハードディスクドライブ
２１３  フロッピー（登録商標）ディスクドライブ
２１４  ネットワークインターフェイスカード
２１５  ネットワークインターフェイスカード
２１６  ＯＳ部
２１７  ルーティングソフトウェア
２１８  外部コントローラアプリケーション
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  エンジン
３０５  エンジンコントローラ
３０６  パネル
３０７  パネルコントローラ
３０８  ハードディスクドライブ
３０９  ディスクコントローラ
３１０  ＮＶＲＡＭ
３１１  ネットワークインターフェイスカード
３１２  システムバス
３１３  スキャナコントローラ
３１４  スキャナ
３１５  ＯＳ部
３１６  複合機制御ソフトウェア
３１７  ＦＴＰクライアントソフトウェア
３１８  ＭＩＢ
４０１  ＰＣ
４０２  パケット
４０３  パケット
４０４  パケット
４０５  パケット
５０１  アプリケーション
６０１  ＬＰＤソフトウェア
８０１  転送ルート
９０１  アプリケーション管理テーブル
９０２  ＬＰＤソフトウェア
９０３  Ｗｅｂサーバ
１２０１  ＯＳ付属ＦＴＰ転送プログラム
【図１】
2006287856.tif 000003
【図２】
2006287856.tif 000004
【図３】
2006287856.tif 000005
【図４】
2006287856.tif 000006
【図５】
2006287856.tif 000007
【図６】
2006287856.tif 000008
【図７】
2006287856.tif 000009
【図８】
2006287856.tif 000010
【図９】
2006287856.tif 000011
【図１０】
2006287856.tif 000012
【図１１】
2006287856.tif 000013
【図１２】
2006287856.tif 000014