TCP/IP通信を処理する通信装置であって、ソフトウェアによるTCP/IP制御によりTCP/IP通信を処理するソフトウェア通信手段と、TOEによるTCP/IP制御によりTCP/IP通信を処理するハードウェア通信手段と、通信負荷の度合いを応じて動的に変化する通信負荷情報を管理する通信負荷管理手段と、前記通信負荷情報に応じて、前記ソフトウェア通信手段又は前記ハードウェア通信手段に当該TCP/IP通信の処理を振り分ける通信処理振分手段と、を有し、前記通信処理振分手段は、前記通信負荷情報が所定閾値以上である場合、前記ハードウェア通信手段に当該TCP/IP通信処理を振り分けること、を特徴とする通信装置。前記通信負荷情報は、通信負荷の度合いを示すパラメータであるCPU使用率、セッション数、受信パケット変化量の少なくともいずれかに基づき算出される値であること、を特徴とする請求項1記載の通信装置。前記通信処理振分手段は、ネットワークからTCP/IP通信のセッション開始要求発生したときに、当該TCP/IP通信の処理を振り分けること、を特徴とする請求項1又は2記載の通信装置。ソフトウェアによるTCP/IP制御によりTCP/IP通信を処理するソフトウェア通信手段と、TOEによるTCP/IP制御によりTCP/IP通信を処理するハードウェア通信手段とを備えTCP/IP通信を処理する通信装置における通信方法であって、通信負荷の度合いを応じて動的に変化する通信負荷情報を管理する通信負荷管理手順と、前記通信負荷情報に応じて、前記ソフトウェア通信手段又は前記ハードウェア通信手段に当該TCP/IP通信の処理を振り分ける通信処理振分手順と、を有し、前記通信処理振分手順は、前記通信負荷情報が所定閾値以上である場合、前記ハードウェア通信手段に当該TCP/IP通信処理を振り分けること、を特徴とする通信方法。請求項4記載の通信方法をコンピュータに実行させるための通信プログラム。しかしながら、特許文献1記載の発明は、ハードウェア処理TOEとソフトウェア処理CPUとを切り替えるに際し、切り替えの根拠となるアプリケーション通信毎の優先度基準情報は予め定められたものであるため、通信状況に応じて臨機応変に処理手段を切り替えられないという問題がある。例えば、ソフトウェアで処理すると定めたアプリケーション通信が大量に発生して処理が追いつかないといった場合に、一部をハードウェア処理に分担させて負荷分散するということができない。本発明は、上記の点に鑑みてなされたものであって、通信状況に応じてTOEのリソースを効率的に使用することにより、TCP/IP通信処理の最適化を図る通信装置、通信方法及び通信プログラムを提供することを目的とする。上記の目的を達成するために、本発明に係る通信装置は、TCP/IP通信を処理する通信装置であって、ソフトウェアによるTCP/IP制御によりTCP/IP通信を処理するソフトウェア通信手段と、TOEによるTCP/IP制御によりTCP/IP通信を処理するハードウェア通信手段と、通信負荷の度合いを応じて動的に変化する通信負荷情報を管理する通信負荷管理手段と、前記通信負荷情報に応じて、前記ソフトウェア通信手段又は前記ハードウェア通信手段に当該TCP/IP通信の処理を振り分ける通信処理振分手段と、を有し、前記通信処理振分手段は、前記通信負荷情報が所定閾値以上である場合、前記ハードウェア通信手段に当該TCP/IP通信処理を振り分けることを特徴とする。また、上記の目的を達成するために、上記通信装置において、前記通信負荷情報は、通信負荷の度合いを示すパラメータであるCPU使用率、セッション数、受信パケット変化量の少なくともいずれかに基づき算出される値であることを特徴とする。また、上記の目的を達成するために、上記通信装置において、前記通信処理振分手段は、ネットワークからTCP/IP通信のセッション開始要求発生したときに、当該TCP/IP通信の処理を振り分けることを特徴とする。なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。本発明によれば、通信状況に応じてTOEのリソースを効率的に使用することにより、TCP/IP通信処理の最適化を図る通信装置、通信方法及び通信プログラムを提供することができる。以下、本発明を実施するための最良の形態について図面を参照して説明する。システム構成全体構成はじめに、具体的な発明の内容を説明する前に、本発明を実施するにあたっての全体構成について説明する。図1は、本実施形態に係るシステム構成図である。図に示されるように、サーバ1、MFP2がネットワーク3を介して接続されている。ネットワーク3はLANLocalAreaNetwork及びWANWideAreaNetworkを含む。図中、サーバ1、MFP2画像形成装置:MultiFunctionPeripheralは、ネットワーク3上に接続され、TCP/IP通信を行うコンピュータ通信装置である。サーバ1、MFP2は、ネットワーク3を介したTCP/IP通信において、CPUのソフトウェア処理によるTCP/IP通信処理のみならず、TOE対応ネットワークカードを備え、TOEによるTCP/IP通信処理のいずれも行うことが可能となっている。但し本実施形態に係るTOE対応ネットワークカードは、それ程十分な内蔵メモリを備えていないため同時に持てるセッション数に限りがある。つまりTOE対応ネットワークカードによるハードウェアベースのTCP/IP通信処理のセッション数が上限に達すると、それ以上新しいセッションを張ることができなくなってしまう。以下、サーバ1に焦点をあてて、本発明を説明する。ハードウェアここで、サーバ1のハードウェア構成について簡単に説明しておく。図2は、サーバ1の一実施形態の主要構成を示すハードウェア構成図である。サーバ1は、主要な構成として、CPU101、ROMReadOnlyMemory102、RAMRandomAccessMemory103、補助記憶装置104、記憶媒体読取装置105、入力装置106、表示装置107、通信装置108、及びインターフェース装置109を含む構成である。CPU101は、マイクロプロセッサ及びその周辺回路から構成され、装置全体を制御する回路である。また、ROM102は、CPU101で実行される所定の制御プログラムソフトウェア部品を格納するメモリであり、RAM103は、CPU101がROM102に格納された所定の制御プログラムソフトウェア部品を実行して各種の制御を行うときの作業エリアワーク領域として使用するメモリである。補助記憶装置104は、汎用のOSOperatingSystem、各種プログラムを含む各種情報を格納する装置であり、不揮発性の記憶装置であるHDDHardDiskDriveなどが用いられる。入力装置106は、ユーザが各種入力操作を行うための装置である。入力装置106は、マウス、キーボード、表示装置107の表示画面上に重畳するように設けられたタッチパネルスイッチなどを含む。表示装置107は、各種データを表示画面に表示する装置である。例えば、LCD、CRTなどから構成される。通信装置108は、ネットワークを介して他の機器との通信を行う装置である。具体的には、上述の如くTOE対応ネットワークカードにより実装される。また有線ネットワークや無線ネットワークなど含む各種ネットワーク形態に応じた通信をサポートする。機能構成次に、本実施形態に係るサーバ1の主要機能構成についてそれぞれ簡単に説明する。図3は、本実施形態に係るサーバ1の一実施形態の主要機能を示す機能ブロック図である。図に示すようにサーバ1は、主要な機能として、アプリケーション110、ネットワーク制御サービス120、TOE制御部130、OSOperatingSystem140、通信負荷管理部150、通信処理振分部160を含み構成される。アプリケーション110は、サーバ1が有するアプリケーションである。このアプリケーションは任意であるが、少なくとも外部装置例えばMFP2とTCP/IP通信を行うアプリケーションであるとする。一例として、TCP/IPネットワーク通信を行うWebブラウザがある。ネットワーク制御サービス120は、ネットワーク制御部121、TCP/UDP制御部122、IP制御部123を含む。このうちネットワーク制御部121は、TCP/UDP制御部122の上位層の処理を担い、OSI参照モデルでいうセッション層5層、プレゼンテーション層6層、アプリケーション層7層の役割を担う。またTCP/UDP制御部122は、OSI参照モデルのトランスポート層第4層を処理するため、TCP/IP通信においてはTCPやUDPを処理する機能部である。またIP制御部123は、OSI参照モデルのネットワーク層第3層を処理するため、TCP/IP通信においてはIPを処理する機能部である。TOE制御部130は、TCP/UDP制御部122、IP制御部123に相当する処理をハードウェアベースで処理する機能部である。上述の如く、TOE対応ネットワークカードTOE対応ネットワークカードの一部により実装される。OS140は、サーバ1のOSであり、ネットワーク通信ドライバ141、カーネル142を含む。このうちネットワーク通信ドライバ141は、通信ドライバソフトウェアであり、IP制御部123やTOE制御部130など上位階層とのTCP/IP通信の橋渡しを行う。つまりOSI参照モデルのデータリンク層第2層を処理するものとする。通信負荷管理部150は、通信負荷の度合いを応じて動的に変化する通信負荷情報をリアルタイムに管理する。具体的に通信負荷情報は、現在のCPU使用率、セッション数、受信パケット量受信パケット変化量などの通信負荷の度合いを示すパラメータに基づき算出される。通信負荷管理部150は、カーネル142から動的に変化しているこれら情報を都度取得し、リアルタイムに通信負荷状況を管理する。通信負荷情報は上述の現在のCPU使用率、セッション数、受信パケット量受信パケット変化量等に基づき算出される通信負荷値で、通信処理振分部160から取得要求があると、通信負荷情報値を算出しこれを要求元に渡す。通信処理振分部160は、通信負荷情報に応じて、1TCP/UDP制御部122及びIP制御部123、もしくは2TOE制御部130に、TCP/IP通信処理を振り分ける。通信処理振分部160は予め所定閾値を保持しており、通信処理振分部160から取得した通信負荷情報との比較の上、1又は2いずれかにTCP/IP通信処理を振り分ける。情報処理図4は、実施形態に係るサーバ1のTCP/IP通信処理を示すシーケンス図である。以下説明する。S1:他機器例えばMFP2からネットワーク3を介し、TCP/IP通信を受信する。具体的には例えばTCP/IPパケットを受信するTCP/IP通信のセッション開始要求を受信する。S2:ネットワーク通信ドライバ141は通信処理振分部160に対し、TOEを使用するか否かの問い合わせを行う。CPUのソフトウェア実行による1TCP/UDP制御部122及びIP制御部123によりTCP/IP通信を処理するか、もしくはTOEによる2TOE制御部130によりTCP/IP通信を処理するか、の問い合わせである。S3:通信処理振分部160は通信負荷管理部150に対し、通信負荷情報の取得要求を行う。S4:通信負荷管理部150はカーネル142から、その時点でのCPU使用率、セッション数、受信パケット量受信総パケット量を取得する。これら情報はその時点での通信負荷の度合いを応じて動的に変化するパラメータであるため、これら情報に基づき通信負荷情報を算出するためである。S5:通信負荷管理部150は、通信負荷情報を算出する。算出にあたり具体的にまず受信パケット変化量が算出される。S0にて通信負荷管理部150は定期的にポーリングを行うことによりカーネル142から受信パケット量受信総パケット量を取得しているので、この受信パケット量と、取得した受信パケット量に基づき、受信パケット変化量は、例えば図5に示される式により算出できる。受信パケット変化量は、その時点時刻での単位時間間隔Tにおける受信パケット変化量を示す。そして、取得したCPU使用率と、セッション数と、算出された受信パケット変化量とに基づき、通信負荷情報が算出される。通信負荷情報値:Mは、例えば図6に示される式により算出できる。図6、7に示されるように、重み付け係数や、閾値を変化させることで、通信処理振分先を決定する判定基準である通信負荷情報Mをコントロールすることができる。つまりどのような通信負荷レベルでTOE処理とCPU処理とを使い分けるかは、重み付け係数や閾値などのパラメータで調整する。S6:通信処理振分部160は通信負荷管理部150から通信負荷情報を取得すると、TOEを使用するか否かの判定を行う。通信処理振分部160は予め所定閾値を保持しており、通信処理振分部160から取得した通信負荷情報値との比較の上、TOEを使用するか否かの判定を行う。判定方法は、例えば図7に示される式により算出できる。つまり通信負荷情報値が閾値以上である場合、TOEを使用すると判定する。通信負荷情報値が閾値より小さい場合、TOEを使用しないと判定する。S7:ネットワーク通信ドライバ141は通信処理振分部160からTOEを使用するか否かの返答に応じて、受信したTCP/IPパケットをTOE制御部130又はIP制御部123に転送する。具体的に、TOEを使用する場合S7-1、TCP/IPパケットをTOE制御部130に転送し、転送されたTCP/IPパケットはTOE制御部130により処理される。一方、TOEを使用しない場合S7-2、TCP/IPパケットをIP制御部123に転送し、転送されたTCP/IPパケットはTCP/UDP制御部122及びIP制御部123により処理される。以上、本実施形態に係るサーバ1は、TCP/IPパケットを受信すると、その時点での通信負荷の度合いを応じて動的に変化するパラメータに基づく通信負荷情報値を算出し、TOEハードウェアにより処理させるか、CPUソフトウェアに処理されるかの判定及びその振り分けを行うので、TCP/IPパケット発生時点での通信状況に応じて臨機応変に処理手段を切り替えることができる。通信処理性能はTOEハードウェア処理の方がCPUソフトウェア処理より高いところ、その反面TOEはリソース制約があるため、TOEリソースが十分でない場合には全ての通信処理をTOEに行わせることはできない。そこで本実施形態においては、通信負荷情報に基づきTOEには高通信負荷時に処理を行わせるようにし、比較的低通信負荷時にはCPU処理に振り分ける。CPU処理への割り振り時、せっかくのTOEを遊ばせておくのはもったいないという考え方もあるものの、CPU処理でも十分こなせる場合であればあえてTOEを使う必要はなく、CPU処理では荷が重い場合に備えTOEを待機させておくといという立場に立つものである。もし逆に、通信処理を優先的にTOEに振り分けるように構成すると、たとえ軽い処理であっても多数セッションでTOEのリソースが占められセッション数が上限数に達してしまった場合、これ以上新たにTOEでセッションを張ることはできなくなる。通信処理性能はTOE処理の方がCPU処理より高いところ、このタイミングで高負荷通信がくるとCPU処理によりこの高負荷通信を処理せざるを得なくなってしまい、この場合最も効率的にTOEを使用しているとは言い難い。なお、通信処理振分部160は、ネットワーク3からTCP/IPパケット発生時点、つまりTCP/IPのセッション開始要求発生時にTCP/IP通信処理の振り分け先の判定を行うものであるが、このように構成することで、発生した高負荷通信を最初から最後までTOEハードウェアで高性能処理を行えるため、最も効率的にTOEを使用することができる。通信発生前や通信終了後では判定する意味がなく、また通信途中における判定であると、高負荷通信の一部にしかTOEハードウェア処理を適用できないからである。なおまた、本実施形態において通信負荷情報は、その時点でのCPU使用率、セッション数、受信パケット量受信総パケット量に基づく算出された。通信負荷情報はその時点での通信負荷の度合いを示す尺度として算出するものであるから、場合によっては、CPU使用率、セッション数、受信パケット量受信総パケット量の少なくとも何れか1つ/又はどの組み合わせでもありうるし、またこの他にも通信負荷の度合いに応じて動的に変化するパラメータを含めることも可能である。総括以上本実施形態に係るサーバ1は、TCP/IPパケットを受信すると、その時点での通信負荷の度合いを応じて動的に変化するパラメータに基づく通信負荷情報値を算出し、TOEハードウェアにより処理させるか、CPUソフトウェアに処理されるかの判定及びその振り分けを行うので、TCP/IPパケット発生時点での通信状況に応じて臨機応変に処理手段を切り替えることができる。即ち通信状況に応じてTOEのリソースを効率的に使用することにより、TCP/IP通信処理の最適化を図る通信装置等を提供することが可能となる。各実施形態に基づき本発明の説明を行ってきたが、上記各実施形態にあげたその他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。また、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。