(57)【要約】【課題】ハードウェア処理とソフトウェア処理を使い分けつつ、ユーザの要求に応じた通信処理を実現可能な技術を提供することを課題とする。【解決手段】コネクション選択用設定ファイルには、たとえば、アプリケーションごとに高速コネクションを割り当てるか、低速コネクションを割り当てるかが設定される。アプリケーションによる処理が発生すると、設定ファイルが参照され、高速コネクションが設定されているかどうかが判断される。そして、高速コネクションが予約されたアプリケーションである場合には、ハードウェアで実現されたＴＣＰ／ＩＰ処理部２２３によりＴＣＰ／ＩＰプロトコル処理が実行される。低速コネクションを割り当てるよう設定されているアプリケーションである場合には、ソフトウェアで実現されたＴＣＰ／ＩＰ処理部２１３によりＴＣＰ／ＩＰプロトコル処理が実行される。【選択図】図２
2007201785.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信コネクションを制御可能な通信装置であって、
通信コネクションを生成するために使用される所定の通信プロトコルをソフトウェアで処理するソフトウェア処理手段と、
通信コネクションを生成するために使用される所定の通信プロトコルをハードウェアで処理するハードウェア処理手段と、
通信コネクションの生成を必要とする処理が発生したとき、あらかじめ設定された当該処理の設定情報に応じて、前記ソフトウェア処理手段あるいは前記ハードウェア処理手段のいずれかを割り当てることで通信コネクションを生成する制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置において、
前記制御手段は、優先度の高い処理に対して前記ハードウェア処理手段を割り当てるよう設定されることを特徴とする通信装置。
【請求項３】
請求項２に記載の通信装置において、
前記ハードウェア処理手段にコネクションを生成する資源が残っていない場合、前記制御手段は、優先度の高い処理に対して前記ソフトウェア処理手段を割り当てるよう設定されることを特徴とする通信装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の通信装置において、
前記制御手段は、アプリケーションプログラムごとに処理の優先度が設定されることを特徴とする通信装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の通信装置において、
前記ソフトウェア処理手段は、システム資源に余裕がある限りにおいて、通信コネクション数を増加させることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信コネクションを生成して通信処理を実行する通信装置に関する。
【背景技術】
【０００２】
ネットワークを利用した通信処理を実行する装置において、ＴＣＰ／ＩＰなどの通信プロトコル処理をＬＳＩで実現したものが存在する。これにより、ＰＤＡ（Personal Digital Assistance）や携帯電話機など、ＣＰＵの処理能力が非力な装置においても、高速な通信処理が実現できるようになっている。
【０００３】
下記特許文献１では、通信プロトコル処理をハードウェア処理とソフトウェア処理の２通りの方法で実現可能としている。そして、処理負荷の重い処理には、ハードウェア処理を割り当て、処理負荷の小さい処理には、ソフトウェア処理を割り当てるようにしている。
【０００４】
【特許文献１】特開２００２−３５４０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、通信プロトコル処理をＬＳＩで実現することにより、処理の高速化が図られる。したがって、携帯電話機などＣＰＵの能力が小さい装置であっても、通信処理が高速化されるという点でメリットがある。ここで、携帯電話機などは、基本的にクライアント端末としてサーバに対する通信処理を実行する。したがって、生成する通信コネクション数もそれほど多くはなく、制御しなければならない通信コネクション数も限定的である。
【０００６】
これに対して、通信装置が、サーバ機能およびクライアント機能を備えているような場合には、多くの通信コネクションが生成されることになる。特に、サーバとして機能する場合には、複数のクライアント端末から同時に接続要求を受けることがあり、多数の通信コネクション生成能力が必要となる。このような場合まで、通信プロトコル処理をＬＳＩで実現するためには、大規模なＬＳＩが必要となり、装置構成が増大するとともに、コスト高となる。あるいは、システム全体の処理能力を向上させて実現する方法もあるが、やはり、ＣＰＵに高い処理能力が要求され、コスト高となる。
【０００７】
また、上記特許文献１では、ハードウェア処理とソフトウェア処理を使い分けるようにしている。しかし、処理負荷の重い処理にハードウェア処理を割り当てるようにしていると、ユーザにとって重要な優先度の高い処理にソフトウェア処理が割り当てられるような場合があり、ユーザの要求にあった処理が行われているとは言えない。
【０００８】
そこで、本発明は前記問題点に鑑み、ハードウェア処理とソフトウェア処理を使い分けつつ、ユーザの要求に応じた通信処理を実現可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１記載の発明は、複数の通信コネクションを制御可能な通信装置であって、通信コネクションを生成するために使用される所定の通信プロトコルをソフトウェアで処理するソフトウェア処理手段と、通信コネクションを生成するために使用される所定の通信プロトコルをハードウェアで処理するハードウェア処理手段と、通信コネクションの生成を必要とする処理が発生したとき、あらかじめ設定された当該処理の設定情報に応じて、前記ソフトウェア処理手段あるいは前記ハードウェア処理手段のいずれかを割り当てることで通信コネクションを生成する制御手段と、を備えることを特徴とする。
【００１０】
請求項２記載の発明は、請求項１に記載の通信装置において、前記制御手段は、優先度の高い処理に対して前記ハードウェア処理手段を割り当てるよう設定されることを特徴とする。
【００１１】
請求項３記載の発明は、請求項２に記載の通信装置において、前記ハードウェア処理手段にコネクションを生成する資源が残っていない場合、前記制御手段は、優先度の高い処理に対して前記ソフトウェア処理手段を割り当てるよう設定されることを特徴とする。
【００１２】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載の通信装置において、前記制御手段は、アプリケーションプログラムごとに処理の優先度が設定されることを特徴とする。
【００１３】
請求項５記載の発明は、請求項１ないし請求項４のいずれかに記載の通信装置において、前記ソフトウェア処理手段は、システム資源に余裕がある限りにおいて、通信コネクション数を増加させることを特徴とする。
【発明の効果】
【００１４】
本発明の通信装置は、通信コネクションの生成を必要とする処理が発生したとき、あらかじめ設定された情報に応じて、ソフトウェア処理手段あるいはハードウェア処理手段のいずれかを割り当てる。これにより、たとえば設定情報として処理の優先度が設定されている場合には、優先度の高い処理にハードウェア処理が割り当てられ、処理効率が向上する。
【００１５】
また、設定情報に従い、設定された処理にハードウェア処理を割り当てて、高速な処理を実現するとともに、ハードウェア処理だけでなく、ソフトウェア処理を併用している。これにより、メモリ等の資源に余裕がある限りにおいては、ソフトウェア処理によって柔軟にコネクション数を増加させることも可能である。つまり、ハードウェア処理とソフトウェア処理の両者の長所をうまく利用し、全体として柔軟性が高く、処理効率のよい装置構成となっている。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しつつ本発明の実施の形態について説明する。本発明の通信装置について、この実施の形態では、デジタル複合機を例に説明することとする。
【００１７】
図１は、本実施の形態に係るデジタル複合機２のオフィス１内における利用形態を表す図である。オフィス１内には、ＬＡＮ３が構築され、ＬＡＮ３には、デジタル複合機２が接続されている。また、ＬＡＮ３には、複数の社員によって使用されるパーソナルコンピュータ（以下、パソコン）４,４・・・が接続されている。さらに、デジタル複合機２は、インターネット５に接続され、インターネット５に接続された各種のサーバ６と通信可能となっている。サーバ６は、たとえば、メールサーバやＷＥＢサーバなどである。
【００１８】
デジタル複合機２は、１台で多数の機能を備えた機器である。デジタル複合機２は、ファックス機能、コピー機能、プリンタ機能、スキャナ機能などを備えるとともに、ネットワーク機能を備えている。したがって、ＬＡＮ３に接続されたパソコン４は、ＬＡＮ経由で、デジタル複合機２の各種の機能を利用可能である。オフィス１内で働く社員は、パソコン４を利用してＬＡＮ経由でデジタル複合機２を利用したり、実際にデジタル複合機２の場所へ移動して、コピー操作などを行ったりすることで、１台のデジタル複合機２を複数の社員で共用しているのである。
【００１９】
また、上述したように、デジタル複合機２は、インターネット５に接続されたメールサーバやＷＥＢサーバと通信可能である。たとえば、デジタル複合機２は、外部のＳＭＴＰサーバに送信メールを送信したり、外部のＰＯＰサーバにメール問い合わせを行ったりする。あるいは、外部のＷＥＢサーバからＷＥＢコンテンツを取得する処理などを実行する。これらの処理に関しては、デジタル複合機２は、クライアント機器として機能する。つまり、デジタル複合機２で動作するアプリケーションプログラムは、通信処理に関してクライアントアプリケーションとして動作するものである。
【００２０】
これに対して、上述したように、デジタル複合機２は、多数の社員が使用するパソコン４から処理要求を受ける。たとえば、デジタル複合機２は、ＷＥＢサーバとしての機能を備えており、クライアント端末であるパソコン４からＨＴＴＰによる要求を受けて、ＷＥＢサーバとしての処理を実行する。あるいは、パソコン４から、ＰＣ−ＦＡＸ送信処理やＩＦＡＸ（インターネットファックス）送信処理を受けて、処理を実行する。これらの処理において、デジタル複合機２は、パソコン４との間でサーバ機器として機能する。つまり、デジタル複合機２で動作するアプリケーションプログラムは、通信処理に関してサーバアプリケーションとして動作するものである。
【００２１】
図２は、デジタル複合機２の通信処理に関わる機能ブロックを示す図である。デジタル複合機２が実行する通信処理は、ソフトウェアによる処理とハードウェアによる処理で実現される。図２において、右側の処理ラインがソフトウェア処理による流れ、つまり、低速コネクションを生成する通信処理の流れであり、左側の処理ラインがハードウェア処理による流れ、つまり、高速コネクションを生成する通信処理の流れである。
【００２２】
ソフトウェアによる通信処理とは、プログラム処理を示しており、プログラムが、ＣＰＵ２１や外部メモリ２３などのハードウェア資源を利用して、ＣＰＵ２１上で実行されることにより実現される処理である。これに対して、ハードウェア処理とは、通信処理の大部分がネットワークＬＳＩ２２の動作によって実現されている。ソフトウェア処理による通信処理では、通信コネクション数は、外部メモリ２３の空き容量や、ＣＰＵ２１の能力によって増減する。したがって、メモリの増設などにより、ある程度の拡張が可能であるというメリットがある反面、ＣＰＵ２１の能力に依存するために、比較的、処理が低速である。これに対して、ハードウェアによる通信処理は、処理を専用のＬＳＩで実現しているので、処理が高速である。しかし、通信コネクション数は、ハードウェアのスペックで規定されるため、固定的である。
【００２３】
図２の処理ブロックについて説明する。まず、アプリケーション２１１とは、アプリケーションプログラムがＣＰＵ２１上で動作することにより実現される処理ブロックである。アプリケーション２１１には、ＷＥＢサーバアプリケーション、ＰＣ−ＦＡＸアプリケーション、ＩＦＡＸアプリケーション、印刷アプリケーション、ＰＣ−ＳＣＡＮアプリケーション、メールクライアントアプリケーションなどが含まれる。印刷、ＰＣ−ＳＣＡＮアプリケーションとは、それぞれパソコン４からの指示を受けて、印刷処理やスキャニング処理を実行するアプリケーションである。
【００２４】
また、上述したように、アプリケーション２１１には、サーバアプリケーションとクライアントアプリケーションが含まれる。サーバアプリケーションとは、デジタル複合機２がサーバとして機能するものであり、ＷＥＢサーバアプリケーションやＰＣ−ＦＡＸアプリケーション、印刷アプリケーション、ＰＣ−ＳＣＡＮアプリケーションなどが含まれる。クライアントアプリケーションとは、デジタル複合機２が、クライアントとして機能するものであり、メールクライアントプログラム、ＨＴＴＰクライアントプログラムなどが含まれる。ＩＦＡＸアプリケーションについては、パソコン４との間では、サーバとして機能し、インターネット５に接続されたメールサーバとの間では、クライアントとして機能する。
【００２５】
ソケットインタフェース２１２は、通信アプリケーションごとに生成されるインタフェースである。ソケットインタフェース２１２は、ＩＰアドレスとポート番号を組み合わせて生成される通信用インタフェースである。アプリケーション２１１は、ソケットインタフェース２１２により、通信相手のアプリケーションを特定することができる。ＴＣＰ／ＩＰ処理部２１３は、ＴＣＰ／ＩＰのプロトコルスタックであり、ＴＣＰ／ＩＰのプロトコル処理を担当する。つまり、ＴＣＰ／ＩＰ処理部２１３は、ＴＣＰ／ＩＰプロトコルをソフトウェア処理により実行する処理部である。
【００２６】
ネットワークＬＳＩ２２は、インタフェース２２１、内蔵メモリ２２２、ＴＣＰ／ＩＰ処理部２２３、制御部２２４、ＬＡＮコントローラ２２５を備えている。インタフェース２２１は、ＣＰＵ２１あるいはＣＰＵバスとのインタフェースである。内蔵メモリ２２２は、ハードウェアによる通信コネクションを設定するためのワークエリアとして使用される。ＴＣＰ／ＩＰ処理部２２３は、ＴＣＰ／ＩＰのプロトコル処理をハードウェア化した処理部である。つまり、ＴＣＰ／ＩＰ処理部２２３は、ＴＣＰ／ＩＰプロトコルをハードウェア処理により実行する処理部である。制御部２２４は、ＴＣＰ／ＩＰ処理部２１３とＬＡＮコントローラ２２５との間でデータの受け渡しを行う。ＬＡＮコントローラ２２５は、物理層のレベルでの通信処理を行い、ＬＡＮ３との間でデータの送受信を行う。
【００２７】
以上の構成のもと、本実施の形態に係る通信処理の流れについて図３を参照しながら説明する。通信処理を必要とするアプリケーションプログラムが処理を開始すると、ＣＰＵ２１は、当該アプリケーションが、高速コネクションを生成するよう設定されたアプリケーションであるか否かを判定する（ステップＳ１）。具体的には、コネクション選択用のプログラムがＣＰＵ２１上で動作し、当該プログラムが、コネクション選択用設定ファイル２５を参照し、高速コネクションを生成すべき処理であるか否かを判定する。
【００２８】
表１〜表３は、コネクション選択用設定ファイル２５の設定例を示している。コネクション選択用設定ファイル２５は、ユーザの要望に応じて様々な観点から設定される。
【００２９】
【表１】
2007201785.tif 000003
【００３０】
表１で示したコネクション選択用設定ファイル２５を用いた場合、ＩＰ通信のフォーマットに応じて生成するコネクションが選択される。たとえば、ＩＰｖ６を利用した通信処理では、ＩＰｓｅｃや暗号化処理が実行されることを考慮して、高速コネクションが選択される。そして、ＩＰｖ４を利用した通信処理については、低速コネクションが選択される。
【００３１】
【表２】
2007201785.tif 000004
【００３２】
表２で示したコネクション選択用設定ファイル２５を用いた場合、アプリケーションプログラムの種類によって生成するコネクションが選択される。
【００３３】
たとえば、ＩＦＡＸアプリケーションのうち、ＳＭＴＰを利用したアプリケーションについては、高速コネクションを生成し、ＰＯＰ３を利用したアプリケーションについては、低速コネクションを生成する。これは、パソコン４を操作するユーザから見ると、送信処理については、高速に行いたいが、受信については、ある程度の処理時間待ちは許容できるという判断に基づく設定である。
【００３４】
また、Ｐｒｉｎｔ（印刷）アプリケーションについては、高速コネクションを生成する。これは、ユーザは、印刷処理を高速にして、業務効率を向上させたいという要望が高いことを反映している。また、Ｓｃａｎ（スキャン）は、パソコン４からスキャニング操作を行うＰＣスキャン用のアプリケーションを示している。これについても、高速な処理により、業務効率を向上させたいという要望が高いことを反映して高速コネクションを生成するよう設定されている。
【００３５】
また、ＰＣ−ＦＡＸアプリケーションについては、低速コネクションを生成するよう設定している。これは、デジタル複合機２側でダイヤル発信処理などが発生するため、パソコン４とデジタル複合機２との間で、高速な処理を実行しても、全体としてのスループットに与える影響が小さいという判断である。
【００３６】
また、ＨＴＴＰについては、高速コネクションが設定されている。このアプリケーションは、デジタル複合機２がＷＥＢサーバとして機能するアプリケーションである。デジタル複合機２に蓄積されているコンテンツを参照する場合、ユーザは、迅速にコンテンツを閲覧したいという要望があるためである。
【００３７】
【表３】
2007201785.tif 000005
【００３８】
表３で示したコネクション選択用設定ファイル２５を用いた場合、アプリケーションプログラムがサーバとして機能するか、クライアントとして機能するかによって生成するコネクションが選択される。表３で示した例では、デジタル複合機２がクライアントとして機能するアプリケーションには高速コネクションを割り当てるようにしている。
【００３９】
このように、コネクション選択用設定ファイル２５には、ユーザの要望に応じて様々な設定が可能であり、表１〜表３で示した例は一例である。そして、高速コネクションを、どのアプリケーションに割り当てるかにについては、ユーザの要望、業務の形態など種々の要因で決定されるものである。したがって、表１〜表３で示した設定例と異なる設定が最適な場合もある。
【００４０】
再び、図３のフローチャートに戻る。実行されるアプリケーションが高速コネクションとして設定されるアプリケーションである場合（ステップＳ１でＹＥＳ）、ＣＰＵ２１は、ネットワークＬＳＩ２２のハードウェアによる通信コネクション数に空きがあるか否かをチェックする（ステップＳ２）。そして、空きコネクションが存在する場合（ステップＳ２でＹＥＳ）には、当該アプリケーションに高速コネクションを割り当てる。これにより、アプリケーションは、ハードウェアを利用して高速コネクションを生成する（ステップＳ３）。具体的には、ネットワークＬＳＩ２２のＴＣＰ／ＩＰ処理部２２３を利用して、通信相手のアプリケーションとの間でＴＣＰ／ＩＰコネクションを生成する。
【００４１】
もし、ネットワークＬＳＩ２２のハードウェアによる通信コネクション数に空きがない場合（ステップＳ２でＮＯ）、ＣＰＵ２１は、低速コネクションに切り替え可能か否かを判定する（ステップＳ４）。これは、高速コネクションに空きがない場合、低速コネクションに切替えてコネクションを生成するか否かの判断である。この判断を行うために、表１〜表３で示したコネクション選択用設定ファイル２５には、切り替え可否のフラグが設定されている。つまり、高速コネクションが設定された場合には、低速コネクションへの切り替えを許可するか否かが設定されている。表２で示した例であれば、ＩＦＡＸ（ＳＭＴＰ）については、低速コネクションへの切り替えを許可しているが、Ｐｒｉｎｔについては、低速コネクションへの切り替えを許可していない。
【００４２】
低速コネクションへの切り替えが許可されていない場合（ステップＳ４でＮＯ）、コネクション生成エラー処理を行う（ステップＳ５）。たとえば、ユーザに対して、コネクション生成エラー通知などを行う。低速コネクションへの切り替えが可能な場合（ステップＳ４でＹＥＳ）、低速コネクションを生成する（ステップＳ６）。具体的には、ＴＣＰ／ＩＰ処理部２１３を利用することで、通信相手のアプリケーションとの間でソフトウェアを利用したＴＣＰ／ＩＰコネクションが生成される。
【００４３】
一方、実行されるアプリケーションが高速コネクションとして設定されるアプリケーションでない場合（ステップＳ１でＮＯ）、ＣＰＵ２１は、当該アプリケーションに低速コネクションを割り当てる。これにより、アプリケーションは、低速コネクションを生成する（ステップＳ６）。具体的には、ＴＣＰ／ＩＰ処理部２１３を利用することで、通信相手のアプリケーションとの間でＴＣＰ／ＩＰコネクションが生成される。
【００４４】
このように、本実施の形態によれば、ユーザの要望に応じて、たとえば、処理形態、通信形態、アプリケーション種別などに応じて、通信処理に高速コネクションを割り当てるか、低速コネクションを割り当てるかが設定される。つまり、ユーザによる自由な判断のもとで作成された設定情報に従って、高速コネクションと低速コネクションの割り当てが行われる。その設定基準は、特に限定されないが、典型的なのは、本実施の形態において説明したように、処理の優先度に応じて割り当て設定を行うという方法である。優先度に基づく設定が行われることで、優先度の高い処理には高速コネクションが割り当てられ、優先度の低い処理には、低速コネクションが割り当てられるので、効率的にハードウェア資源が割り当てられ、効率的な処理が実行される。これにより、業務効率を改善させることが可能である。
【００４５】
たとえば、先着順に、高速コネクションを割り当てるような処理が考えられるが、この場合、ユーザにとって優先度の低い処理が先に発生すると、優先度の低い処理に高速コネクションが割り当てられ、後で発生した優先度の高い処理に高速コネクションが割り当てられないという状況が生じる。本発明においては、このような問題を回避できるのである。つまり、高速コネクションが空いていれば、高速コネクションを利用するという方法をとらず、ユーザにより設定された優先度に応じて、ハードウェア資源を割り当てるようにしているのである。たとえば、高速コネクションが空いている場合にも、優先度の低い処理には、低速コネクションを与え、優先度の高い処理のために高速コネクションを確保するようにしているのである。
【００４６】
また、本実施の形態によるデジタル複合機２は、重要度の高い処理にハードウェア処理を割り当てて、ハードウェア処理のメリットを利用する一方、ハードウェア処理だけでなく、ソフトウェア処理を併用している。これにより、メモリ等の資源に余裕がある限りにおいては、ソフトウェア処理により柔軟にコネクション数を増加させることが可能である。つまり、ハードウェア処理だけで通信コネクションを生成するのであれば、高速化は図れるが、コネクション数が固定的となり、柔軟性に欠く。また、多数の通信コネクションをハードウェア処理だけで実現しようとすると、ＬＳＩ規模が大きくなりすぎる。これらの問題点をソフトウェア処理を併用することで解決しているのである。つまり、ハードウェア処理とソフトウェア処理の両者の長所をうまく利用し、全体として柔軟性が高く、処理効率のよい装置構成となっている。
【００４７】
図４は、デジタル複合機２の変形例を示す図である。図２で示したデジタル複合機２においては、ソフトウェアによるＴＣＰ／ＩＰプロトコル処理は、ネットワークＬＳＩ２２に実装せずに、ＣＰＵ２１による処理とした。図４で示した変形例では、ネットワークＬＳＩ２２において、内蔵メモリ２２２を使用するか、外部メモリ２３を使用するかによって、ＴＣＰ／ＩＰ処理部２２３Ａが、高速コネクション又は低速コネクションを実行可能としている。外部メモリ２３を使用することで、ＴＣＰ／ＩＰ処理に必要なメモリ資源を柔軟に増やすことができるので、処理速度は低速であるが、コネクション数の増加には対応しやすい。内蔵メモリ２２２を使用する場合には、処理速度は高速であるが、コネクション数は固定となる。
【００４８】
したがって、アプリケーションに高速コネクションが割り当てられた場合には、ＴＣＰ／ＩＰ処理部２２３Ａは、内蔵メモリによる高速処理可能な通信コネクションを生成する。一方、アプリケーションに低速コネクションが割り当てられた場合には、ＴＣＰ／ＩＰ処理部２２３Ａは、外部メモリによる低速処理可能な通信コネクションを生成する。
【図面の簡単な説明】
【００４９】
【図１】デジタル複合機の利用形態を示す図である。
【図２】デジタル複合機の通信処理に関わる機能ブロック図である。
【図３】デジタル複合機の通信処理を示すフローチャートである。
【図４】変形例に係るデジタル複合機の通信処理に関わる機能ブロック図である。
【符号の説明】
【００５０】
２      デジタル複合機
２１    ＣＰＵ
２２    ネットワークＬＳＩ
２１３  （ソフトウェアによる）ＴＣＰ／ＩＰ処理部
２２３  （ハードウェアによる）ＴＣＰ／ＩＰ処理部
【図１】
2007201785.tif 000006
【図２】
2007201785.tif 000007
【図３】
2007201785.tif 000008
【図４】
2007201785.tif 000009