(57)【要約】【課題】簡単な回路構成によりＣＰＵの処理能力低下を生じさせることなく、一時的な受信負荷増加に適応して受信処理能力の調整を行う。【解決手段】受信バッファ管理回路１０３は、受信パケットデータを受信バッファ１０４へ格納し、受信バッファ１０４の残容量を段階的に表した第１のレベル値を受信負荷演算回路１０６に通知する。ＣＰＵ１０５は、受信バッファ１０４から受信パケットデータを読み取ると、読み取ったパケットデータのデータ容量を受信バッファ管理回路１０３へ通知し、読み取ったパケットデータ数の情報を受信パケット処理数として受信負荷演算回路１０６へ通知する。受信負荷演算回路１０６は、第１のレベル値と、受信バッファ１０４に格納されている未処理の受信パケットデータ数を段階的に表した第２のレベル値との乗算結果を求めて受信負荷状態を判定し、送信タイミング生成回路１０７の送信タイミングを制御する。【選択図】図１
2005269033.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰインタフェースを備え、ネットワークからのデータの受信およびネットワークに対してのデータの送信を行うＩＰネットワーク端末装置であって、
受信したパケットデータを格納するための受信バッファと、
前記受信バッファの残容量を段階的に表した第１のレベル値と、前記受信バッファに格納されている未処理の受信パケットデータ数を段階的に表した第２のレベル値との乗算結果を求めることにより、受信負荷状態を判定する受信負荷演算回路と、
前記受信負荷演算回路における受信負荷状態の判定結果に基づいて、受信負荷が高い場合には送信間隔が長くなるように送信タイミングを制御する送信タイミング生成回路とを、有するＩＰネットワーク端末装置。
【請求項２】
ＩＰインタフェースを備え、ネットワークからのデータの受信およびネットワークに対してのデータの送信を行うＩＰネットワーク端末装置であって、
自端末宛のパケットデータを受信するパケットデータ受信部と、
受信したパケットデータを格納するための受信バッファと、
送信しようとするパケットデータを格納するための送信バッファと、
前記送信バッファに格納されたパケットデータの送信を行うパケットデータ送信部と、
前記パケットデータ受信部により受信されたパケットデータを前記受信バッファへ格納し、前記受信バッファのデータ容量から格納したパケットデータのデータ容量を減算した値を前記受信バッファの残容量として管理し、前記受信バッファに格納されているパケットデータを処理した旨の通知を受けると、処理されたパケットデータのデータ容量分を前記残容量に加算し、現在の残容量を段階的に表した第１のレベル値として出力する受信バッファ管理回路と、
前記受信バッファに格納された受信パケットデータを読み取り、上位プロトコルにおける処理を行っていて、前記受信バッファから受信パケットデータを読み取ると、読み取った該パケットデータのデータ容量を前記受信バッファ管理回路へ通知し、読み取ったパケットデータ数の情報を受信パケット処理数として出力するとともに、入力された送信タイミングに基づいて送信すべきパケットデータを前記送信バッファへ格納するＣＰＵと、
前記パケットデータ受信部により受信されたパケットデータ数から前記ＣＰＵにより通知された受信パケット処理数を差し引いた数を未処理の受信パケットデータ数とし、該未処理受信パケット数を段階的に表した第２のレベル値と、前記受信バッファ管理回路から通知された第１のレベル値とを乗算した結果を出力する受信負荷演算回路と、
前記受信負荷演算回路から出力された乗算結果の値により、一定周波数のクロックを分周して前記送信タイミングとして前記ＣＰＵに出力する送信タイミング生成回路と、を備えているＩＰネットワーク端末装置。
【請求項３】
前記受信負荷演算回路が、
前記パケットデータ受信部によりパケットデータが受信される毎にアップカウントし、前記ＣＰＵから受信パケット処理数の通知がある度にその処理数分をダウンカウントするアップダウンカウンタと、
前記アップダウンカウンタのカウント値の大きさに基づいて複数段階の状態レベルの判定を行い前記第２のレベル値として出力するレベル判定回路と、
前記第１のレベル値と、前記レベル判定回路からの第２のレベル値との乗算を行い前記乗算結果として出力する乗算器と、から構成されている請求項２記載のＩＰネットワーク端末装置。
【請求項４】
前記送信タイミング生成回路が、
一定の周波数のクロックを生成して出力する発振器と、
前記発振器から出力されたクロックを固定した分周比で分周して出力する分周器と、
前記分周器から出力された分周クロックを、前記乗算器から出力される乗算結果によってさらに分周して前記ＣＰＵへの送信タイミングとして出力する可変分周器と、から構成されている請求項３記載のＩＰネットワーク端末装置。
【請求項５】
ＩＰインタフェースを備え、ネットワークからのデータの受信およびネットワークに対してのデータの送信を行うＩＰネットワーク端末装置であって、
自端末宛のパケットデータを受信するパケットデータ受信部と、
受信したパケットデータを格納するための受信バッファと、
送信しようとするパケットデータを格納するための送信バッファと、
前記送信バッファに格納されたパケットデータの送信を行うパケットデータ送信部と、
前記パケットデータ受信部により受信されたパケットデータを前記受信バッファへ格納し、前記受信バッファのデータ容量から格納したパケットデータのデータ容量を減算した値を前記受信バッファの残容量として管理し、前記受信バッファに格納されているパケットデータを処理した旨の通知を受けると、処理されたパケットデータのデータ容量分を前記残容量に加算し、現在の残容量を段階的に表した第１のレベル値として出力する受信バッファ管理回路と、
前記受信バッファに格納された受信パケットデータを読み取り、上位プロトコルにおける処理を行っていて、前記受信バッファから受信パケットデータを読み取ると、読み取った該パケットデータのデータ容量を前記受信バッファ管理回路へ通知し、読み取ったパケットデータ数の情報を受信パケット処理数として出力するとともに、入力された送信許可信号に基づいて送信すべきパケットデータを前記送信バッファへ格納するＣＰＵと、
前記パケットデータ受信部により受信されたパケットデータ数から前記ＣＰＵにより通知された受信パケット処理数を差し引いた数を未処理の受信パケットデータ数とし、該未処理受信パケット数を段階的に表した第２のレベル値と、前記受信バッファ管理回路から通知された第１のレベル値とを乗算した結果に基づいて送信優先度を決定し、該送信優先度に基づいた前記送信許可信号を前記ＣＰＵに出力する受信負荷演算回路と、を備えているＩＰネットワーク端末装置。
【請求項６】
前記受信負荷演算回路が、
前記パケットデータ受信部によりパケットデータが受信される毎にアップカウントし、前記ＣＰＵから受信パケット処理数の通知がある度にその処理数分をダウンカウントするアップダウンカウンタと、
前記アップダウンカウンタのカウント値の大きさに基づいて複数段階の状態レベルの判定を行い前記第２のレベル値として出力する第１のレベル判定回路と、
前記第１のレベル値と、前記第１のレベル判定回路からの第２のレベル値との乗算を行い前記乗算結果として出力する乗算器と、
前記乗算結果に基づいて送信優先度を決定し、該送信優先度に基づいた前記送信許可信号を生成して前記ＣＰＵに出力する第２のレベル判定回路と、から構成されている請求項５記載のＩＰネットワーク端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol）インタフェースを備え、インターネット等のネットワークからのデータの受信およびネットワークに対してのデータの送信を行うＩＰネットワーク端末装置に関する。
【背景技術】
【０００２】
従来のＩＰネットワーク端末装置について、図１１を参照して説明する。この従来のＩＰネットワーク端末装置は、図１１に示されるように、ＥＴＨＥＲ受信Ｉ／Ｆ３０２と、ＩＰ受信Ｉ／Ｆ３０３と、受信バッファ３０４と、ＣＰＵ３０５と、送信バッファ３０６と、ＩＰ送信Ｉ／Ｆ３０７と、ＥＴＨＥＲ送信Ｉ／Ｆ３０８とから構成されている。
【０００３】
ＥＴＨＥＲ受信Ｉ／Ｆ３０２は、ネットワーク回線受信の物理インタフェースとしてイーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）の終端機能を有する。ＥＴＨＥＲ受信Ｉ／Ｆ３０２は、自端末装置が受信すべきＭＡＣ（Media Access Control）アドレスであると判断した受信パケットデータをＩＰ受信Ｉ／Ｆ３０３へ転送する。
【０００４】
ＩＰ受信Ｉ／Ｆ３０３は、ＩＰ終端機能を有しており、自端末装置が受信すべきＩＰアドレスであると判断した受信パケットデータを、受信バッファ３０４へ格納する。
【０００５】
ＣＰＵ３０５は、受信バッファ３０４より、未処理の受信パケットデータを読み取り、上位プロトコルに応じた処理を行う。一方、ＣＰＵ３０５は、上位プロトコルにより生成した送信パケットデータを送信バッファ３０６へ格納する。
【０００６】
ＩＰ送信Ｉ／Ｆ３０７は、送信バッファ３０６より送信パケットデータを読み取り、宛先ＩＰアドレスと、自端末装置を発信元ＩＰアドレスとしたＩＰパケットデータを生成し、ＥＴＨＥＲ送信Ｉ／Ｆ３０８へ転送する。
【０００７】
ＥＴＨＥＲ送信Ｉ／Ｆ３０８は、ネットワーク回線送信の物理インタフェースを行い、ＩＰパケットデータをイーサネットパケットデータとして送信する。ＣＰＵ３０５は、これら受信処理と送信処理を独立して非同期に行う。
【０００８】
このような従来のＩＰネットワーク端末装置では、ひとつのＣＰＵによりＩＰネットワーク回線に対する受信と送信の処理を行っている場合に、受信処理と送信処理は独立して非同期に処理されている。ＩＰネットワークでは、送信側の端末装置やネットワークの特性により、受信側端末装置へのデータ到達時間に揺らぎが生じ、ある短い時間に多量のデータ受信が発生する場合がある。このような場合に、従来のＩＰネットワーク端末では、次のような問題がある。
【０００９】
従来のＩＰネットワーク端末装置では、受信処理の状態に拘わらず、送信処理を行うため、短時間に多量のデータ受信が発生すると同時に、送信処理が偶発的に集中すると、一時的にＣＰＵが処理能力不足の状態になることが起こりうる。この場合、受信処理が間に合わず、受信バッファがオーバーフローして、受信データの欠落が起こる。ＣＰＵが処理能力不足の状態から回復しないうちに、受信データの欠落を検出し、上位プロトコルによる再送要求が直ちに送信された場合、再送データが大量に到達し、連鎖的に処理能力不足の状態が継続することも起こりうる。
【００１０】
このような問題点を防ぐために受信負荷状態の判定や、送信処理を抑えて受信処理能力を確保する機能を備えたネットワーク端末装置が提案されている（例えば、特許文献１、２、３参照。）。しかし、このようなネットワーク端末装置では、受信負荷状態の判定や、送信処理を抑えて受信処理能力を確保する機能をＣＰＵにおいて対応しているため、複雑なソフトウェア処理が必要となり、その処理自体が負荷となって、全体の処理能力を低下させることになる。
【００１１】
また、受信処理時間を稼ぐため、大容量の受信バッファを使用した場合、データの即時性を重視するプロトコルでは、該当データを処理するまでに遅延時間超過となり、データ破棄が起こりうる。
【００１２】
以上のことから、短時間に大量のデータ受信が発生するネットワーク環境においては、従来のＩＰネットワーク装置では、通信品質が劣化する場合がある。
【特許文献１】特開平２−１６８４０号公報
【特許文献２】特開平１０−４９３４４号公報
【特許文献３】特開２０００−１７４７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述した従来のＩＰネットワーク端末装置では、下記のような問題点があった。
（１）受信処理の状態に拘わらず、送信処理を行うため、短時間に多量のデータ受信が発生すると同時に、送信処理が偶発的に集中すると、一時的にＣＰＵが処理能力不足の状態になることが起こり、安定した受信ができない。
（２）受信負荷の判定と、受信処理能力を確保するためには、ＣＰＵで受信負荷状態や送信負荷状態を判断して処理能力の配分を決定するような、複雑なソフトウェア処理が必要であるため、全体の処理能力が低下してしまう。
【００１４】
本発明の目的は、簡単な回路構成によりＰＵの処理能力低下を生じさせることなく、一時的な受信負荷増加に適応して受信処理能力の調整を行うＩＰネットワーク端末装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明は、ＩＰインタフェースを備え、ネットワークからのデータの受信およびネットワークに対してのデータの送信を行うＩＰネットワーク端末装置であって、
受信したパケットデータを格納するための受信バッファと、
前記受信バッファの残容量を段階的に表した第１のレベル値と、前記受信バッファに格納されている未処理の受信パケットデータ数を段階的に表した第２のレベル値との乗算結果を求めることにより、受信負荷状態を判定する受信負荷演算回路と、
前記受信負荷演算回路における受信負荷状態の判定結果に基づいて、受信負荷が高い場合には送信間隔が長くなるように送信タイミングを制御する送信タイミング生成回路とを有する。
【００１６】
本発明によれば、受信負荷演算回路において、第１のレベル値と第２のレベル値を乗算することにより、未処理パケット数の状態とバッファ残容量の状態を考慮して受信負荷状態を判定し、送信タイミング生成回路ではこの受信負荷状態に応じて送信タイミングを制御してＣＰＵの送信負荷を抑制することで、受信処理能力を確保するようにしている。従って、一時的な受信負荷増加に適応して安定したデータ受信を行うことが可能となる。また、送信タイミング生成回路により送信間隔を生成しているので、ＣＰＵは複雑なソフトウェア処理を行うことなしに、送信処理の抑制を制御することができるようになる。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、下記のような効果を得ることができる。
【００１８】
（１）受信バッファに格納されている未処理パケット数と、受信バッファの残容量とをそれぞれレベル値に変換し、このレベル値どうしを乗算した演算結果に基づいて受信負荷状態を判定するようにしているため、未処理パケット数過多とバッファ残容量不足を同時に判定して一時的な受信負荷増加に適応して受信処理能力の調整を行うことができる。
【００１９】
（２）送信タイミング生成回路により送信間隔を生成しているので、ＣＰＵは複雑なソフトウェア処理を行うことなしに、送信処理の抑制を制御することができる。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２１】
（第１の実施形態）
本発明は、ＣＰＵによるＩＰネットワークインタフェース機能を具備した端末装置において、受信側で一時的な負荷が発生しても、受信側の負荷状況に応じて送信側の処理を抑制することで、ＣＰＵの受信処理能力を確保し、安定した受信をできるようにしたことを特徴としている。このような本発明の第１の実施形態のＩＰネットワーク端末装置１の構成を図１に示す。
【００２２】
本実施形態のＩＰネットワーク端末装置１は、図１に示されるように、ＥＴＨＥＲ受信Ｉ／Ｆ１０１と、ＩＰ受信Ｉ／Ｆ１０２と、受信バッファ管理回路１０３と、受信したパケットデータを格納するための受信バッファ１０４と、ＣＰＵ１０５と、受信負荷演算回路１０６と、送信タイミング生成回路１０７と、送信しようとするパケットデータを格納するための送信バッファ１０８と、ＩＰ送信Ｉ／Ｆ１０９と、ＥＴＨＥＲ送信Ｉ／Ｆ１１０とを備えている。
【００２３】
ＥＴＨＥＲ受信Ｉ／Ｆ１０１は、ネットワーク回線受信の物理インタフェースとしてイーサネットの終端機能を有する。ＥＴＨＥＲ受信Ｉ／Ｆ１０１は、ネットワーク回線からのＥｔｈｅｒパケットデータを受信し、自端末装置が受信すべきＭＡＣ（Media Access Control）アドレスであると判断した受信パケットデータをＩＰ受信Ｉ／Ｆ１０２へ転送する。
【００２４】
ＩＰ受信Ｉ／Ｆ１０２は、ＩＰ終端機能を有しており、ＥＴＨＥＲ受信Ｉ／Ｆ１０１から転送されてきたパケットデータのＩＰアドレスが、自端末装置が受信すべきＩＰアドレスであると判断した場合、その受信パケットデータを受信バッファ管理回路１０３へ転送する。また、ＩＰ受信Ｉ／Ｆ１０２は、受信パケットデータを受信バッファ管理回路１０３へ転送した旨を、毎回、受信負荷演算回路１０６へ通知する。
【００２５】
このＥＴＨＥＲ受信Ｉ／Ｆ１０１とＩＰ受信Ｉ／Ｆ１０２とにより、自端末宛のパケットデータを受信するパケットデータ受信部が構成される。
【００２６】
受信バッファ管理回路１０３は、ＩＰ受信Ｉ／Ｆ１０２の受信パケットデータを受信バッファ１０４へ格納し、受信バッファ１０４のデータ容量から格納したパケットデータのデータ容量を減算した値を受信バッファ１０４の残容量として管理する。そして、受信バッファ管理回路１０３は、ＣＰＵ１０５から受信バッファ１０４に格納されているパケットデータを処理した旨の通知を受けると、処理されたパケットデータのデータ容量分を前記残容量に加算し、現在の残容量を段階的に表した第１のレベル値として受信負荷演算回路１０６に通知する。
【００２７】
ＣＰＵ１０５は、随時、受信バッファ１０４に格納された受信パケットデータを読み取り、上位プロトコルの処理を行う。ＣＰＵ１０５は、受信バッファ１０４から受信パケットデータを読み取ると、読み取ったパケットデータのデータ容量を受信バッファ管理回路１０３へ通知し、読み取ったパケットデータ数の情報を受信パケット処理数として受信負荷演算回路１０６へ通知する。また、ＣＰＵ１０５は、送信処理として、送信タイミング生成回路１０７から送信タイミングを入力されると、入力された送信タイミングに基づいて送信すべきパケットデータを送信バッファ１０８へ格納する動作を行う。送信タイミングは、割り込み信号として入力し、１回の割り込み入力で、規定数内の送信パケット数が送信バッファ１０８へ格納される。
【００２８】
受信負荷演算回路１０６は、受信バッファ１０４の残容量を段階的に表した第１のレベル値と、受信バッファ１０４に格納されている未処理の受信パケットデータ数を段階的に表した第２のレベル値との乗算結果を求めることにより、受信負荷状態を判定し、送信タイミング生成回路１０７の送信タイミングを制御する。未処理の受信パケット数は、ＩＰ受信Ｉ／Ｆ１０２から通知を受けることで１パケット加算し、ＣＰＵ１０５から受信バッファ１０４の格納データを引き取って処理したパケット数の通知を受けると、処理されたパケット数だけ減算することで管理される。よって、ＩＰ受信Ｉ／Ｆ１０２により受信されたパケットデータ数からＣＰＵ１０５により通知された受信パケット処理数を差し引いた数が未処理の受信パケットデータ数となる。ここで、第２のレベル値は、未処理受信パケット数が多くなるほど値が大きくなるような判定が行われる。
【００２９】
また、受信負荷演算回路１０６から出力される乗算結果は、受信負荷が高い状態、すなわち、受信バッファ１０４の残容量が少なく、未処理パケット数が多い状態であると、大きな値となり、受信バッファ１０４の残容量が多く、受信負荷の低い状態では、小さな値となる。
【００３０】
送信タイミング生成回路１０７は、送信処理開始タイミングを一定間隔で生成してＣＰＵ１０５に出力していて、受信負荷演算回路１０６における受信負荷状態の判定結果に基づいて、受信負荷が高い場合には送信間隔が長くなるように送信タイミングを制御する。具体的には、送信タイミング生成回路１０７は、受信負荷演算回路１０６から出力されたる演算結果の値によって、送信タイミングを生成するクロックを分周する。受信負荷演算回路１０６の出力値が大きいほど、分周値が大きくなるため、送信タイミングの周期も長くなり、ＣＰＵ１０５の送信出力処理が抑制される方向に作用する。
【００３１】
ＩＰ送信Ｉ／Ｆ１０９は、随時、送信バッファ１０８よりパケットデータを読み取り、宛先ＩＰアドレスと、自端末装置を発信元ＩＰアドレスとしたＩＰパケットデータを生成し、ＥＴＨＥＲ送信Ｉ／Ｆ１１０へ転送する。
【００３２】
ＥＴＨＥＲ送信Ｉ／Ｆ１１０は、ネットワーク回線送信の物理インタフェースを行い、ＩＰパケットデータをイーサネットパケットデータとして送信する。
【００３３】
このＥＴＨＥＲ送信Ｉ／Ｆ１１０とＩＰ送信Ｉ／Ｆ１０９とにより、送信バッファ１０８に格納されたパケットデータの送信を行うパケットデータ送信部が構成される。
【００３４】
次に、受信負荷演算回路１０６と、送信タイミング生成回路１０７の構成について図２を用いて説明する。受信負荷演算回路１０６は、アップダウンカウンタ２０１と、レベル判定回路２０２、及び乗算器２０３から成る。
【００３５】
アップダウンカウンタ２０１は、受信バッファ１０４に格納された未処理の受信パケット数をカウントする。アップダウンカウンタ２０１は、ＩＰ受信Ｉ／Ｆ１０２からパケット受信の通知がある度にアップカウントし、ＣＰＵ１０５から受信パケット処理数の通知がある度に処理数分をダウンカウントする。この繰り返し動作により、アップダウンカウンタ２０１のカウント値は、未処理のパケット数となる。
【００３６】
レベル判定回路２０２は、アップダウンカウンタ２０１のカウント値の大きさによって、数段階の状態レベルを判定し、その判定結果を第２のレベル値として乗算器２０３へ入力する。乗算器２０３は、受信バッファ管理回路１０３から入力される残容量による第１のレベル値と、レベル判定回路２０２から入力される未処理パケット数による第２のレベル値を乗算した値を演算する。残容量による第１のレベル値は、バッファ１０４の残容量が少ないほど、大きな値となる。未処理パケット数による第２のレベル値は、未処理パケット数が多いほど、大きな値となる。すなわち、乗算器２０３の演算結果は、バッファ１０４の残容量が無く、未処理パケット数が最大の場合が、一番大きな値をとる。
【００３７】
また、送信タイミング生成回路１０７は、図２に示されるように、発振器２０６と、分周期２０５、及び可変分周器２０４から成る。
【００３８】
分周器２０５は、固定した分周比で発振器２０６の出力するクロックの分周を行い、ＣＰＵ１０５へ入力する送信タイミングの最短間隔を決定する。可変分周器２０４は、分周器２０５から出力される分周クロックを、受信負荷演算回路１０６の乗算器２０３から出力される演算結果によって、さらに分周する。バッファ１０４の残容量が少なく、未処理パケット数が多いほど、可変分周器２０４の分周比は大きくなり、ＣＰＵ１０５への送信タイミング間隔も長くなる。
【００３９】
次に、本実施形態のＩＰネットワーク端末装置１の動作を図面を参照して詳細に説明する。
【００４０】
図１に示すＩＰネットワーク端末装置１おいて、ＩＰパケットデータの受信が増加し、送信レートを低減させて送信処理負荷を抑制する動作を、図３のフローチャートを用いて説明する。
【００４１】
図１において、ＩＰネットワーク端末装置１がネットワーク回線からイーサネットパケットデータを受信すると、ＥＴＨＥＲ受信Ｉ／Ｆ１０１は、受信パケットデータのＭＡＣアドレスやＣＲＣ（Cyclic Redundancy Check）符号を確認し、自端末装置向けの正常な受信パケットデータをＩＰ受信Ｉ／Ｆ１０２へ転送する。ＩＰ受信Ｉ／Ｆ１０２は、ＩＰプロトコルを終端し、自端末装置が受信すべきＩＰアドレスの受信パケットデータを、受信バッファ管理回路１０３へ転送する。同時に、受信負荷演算回路１０６へ、受信パケットデータを転送したことを、パルス信号によって通知する（ステップ４０１）。
【００４２】
受信バッファ管理回路１０３は、受信パケットデータを受信バッファ１０４へ格納する。受信バッファ管理回路１０３は、予め受信バッファ１０４の全体容量を把握しており、受信パケットデータを格納する度に、そのデータサイズに応じて、バッファ全体容量から減算し、バッファ１０４の残容量を計算する。受信バッファ管理回路１０３は、受信バッファ１０４の残容量を数段階に分けた第１のレベル値として、受信負荷演算回路１０６へ出力する（ステップ４０２）。
【００４３】
受信バッファ残容量と第１のレベル値の例を図４に示す。受信バッファ１０４の残容量１００％から０％を４段階のレベルに分割し、残容量が少なくなるに従い、第１のレベル値は１、２、４、８と変化し、受信負荷演算回路１０６へ入力される。
【００４４】
一方、ＩＰ受信Ｉ／Ｆ１０２からパルス信号を入力された受信演算回路１０６は、受信バッファ１０４に格納された未処理パケット数をカウントする（ステップ４０３）。カウントは、図２のアップダウンカウンタ２０１によって行う。受信バッファ１０４の容量全てに、最小のサイズのＩＰ受信パケットが格納された場合が、アップダウンカウンタ２０１の最大カウント値となる。図２のレベル判定回路２０２は、アップダウンカウンタ２０１のカウント値より、数段階に分けた第２のレベル値を判定している。
【００４５】
カウント値と第２のレベル値の例を図５に示す。受信バッファ１０４に格納可能なパケット数、即ち、アップダウンカウンタ２０１の最大カウント値を１０２４とし、均等に４段階に分割し、カウント値が増えるに従い、第２のレベル値は、１、２、４、８と変化する。
【００４６】
受信バッファ１０４の残容量が５５％から４５％へ、未処理パケット数が２５０から３００へ変化した場合、受信負荷演算回路１０６は、次のように動作する。図２において、アップダウンカウンタ２０１の値が２５０から３００へ増加、レベル判定回路２０２は、図５の関係より、第２のレベル値を１から２へ更新する。受信バッファ管理回路１０３は、残容量が５５％から４５％で減少したことから、図４の関係より、第１のレベル値を２から４へ更新する。その結果、図２の乗算器２０３の演算結果は２から８へ変化する。受信負荷演算回路１０６は、演算結果を２から８へ更新して送信タイミング生成回路１０７へ出力する（ステップ４０４）。
【００４７】
送信タイミング生成回路１０７は、図２に示した発振器２０６と分周器２０５から出力される最高送信レートタイミングを、可変分周器２０４により１／２分周していたタイミングから、１／８分周したタイミングへ変更し、ＣＰＵ１０５へ出力する（ステップ４０５）。ＣＰＵ１０５の送信処理タイミングは、最高レートの１／８まで低減される。その結果、送信処理負荷が抑制され、その分、受信処理が増進する。
【００４８】
次に、図６のフローチャートを用いてＣＰＵ１０５の受信バッファ１０４内パケット処理が進むことで、送信処理の抑制が緩和される動作を説明する。ＣＰＵ１０５が受信バッファ１０４内のパケットデータの処理を行うことにより、受信バッファ１０４の残容量が４５％から５０％へ、未処理パケット数が３００から２６０へ変化した場合（ステップ５０１）、受信負荷演算回路１０６は次のように動作する。
【００４９】
受信バッファ管理回路１０３は、図４の関係より、第１のレベル値を４から２へ更新して受信負荷演算回路１０６へ入力する（ステップ５０２）。受信負荷演算回路１０６ではアップダウンカウンタ２０１のカウンタ値がダウンカウントされるが（ステップ５０３）、図５の関係より、第２のレベル値は２のまま維持される。これらのレベル値の変化から、乗算器２０３の演算結果は８から４へ変化する。受信負荷演算回路１０６は、演算結果を８から４へ更新して送信タイミング生成回路１０７へ出力する（ステップ５０４）。送信タイミング生成回路１０７は、最高送信レートタイミングを、可変分周器２０４により１／８分周していたタイミングから、１／４分周したタイミングへ変更し、ＣＰＵ１０５へ出力する（ステップ５０５）。ＣＰＵ１０５の送信処理タイミングは、最高レートの１／８から１／４へ増加する。その結果、送信処理抑制が緩和され、受信処理の増進効果が減少する。
【００５０】
ＣＰＵ１０５は、送信タイミングを割り込み信号として入力するが、１回の割り込みで１パケット送信では割り込み処理が過剰になる。このため、ＣＰＵ１０５は、図７のフローチャートのように、１回の割り込み入力で、予め規定した数までの送信パケット数を送信バッファへ格納する。規定数を２０パケットで、送信すべきパケットが３０パケット存在した場合、ＣＰＵ１０５は、送信タイミング生成回路１０７から送信タイミングとして割り込みを入力されると（ステップ６０１）、送信バッファ１０８へ上限の２０パケットを格納する。次に送信タイミングが入力されると、ＣＰＵ１０５は、残りの１０パケットを送信バッファ１０８へ格納する（ステップ６０２）。ＩＰ送信Ｉ／Ｆ１０９は、随時、送信バッファ１０８よりパケットデータを読み取り、宛先ＩＰアドレスと、自端末装置を発信元ＩＰアドレスとしたＩＰパケットデータを生成する（ステップ６０３）。ＥＴＨＥＲ送信Ｉ／Ｆ１１０は、ネットワーク回線送信の物理インタフェースを行い、ＩＰパケットデータをイーサネットパケットデータとして送信する。
【００５１】
上記で説明したように、本実施形態のＩＰネットワーク端末装置１では、受信バッファ管理回路１０３と受信負荷演算回路１０６により、受信バッファ１０４に格納された未処理の受信パケット数と、受信バッファの残容量を管理する。受信バッファの残容量があっても、格納されたパケットのサイズが小さく、数が多い状態は受信負荷としては高い。また、受信パケット数が少なくても、パケットサイズが大きく、バッファ残容量が少ない状態も受信負荷は高い。よって、本実施形態のＩＰネットワーク端末装置１では、未処理パケット数の状態とバッファ残容量の状態を、受信負荷演算回路１０６で掛け合わせることにより、受信バッファ１０４内の未処理パケット数と受信バッファ１０４の残容量を同時に評価することで受信負荷状態を判断し、受信負荷状態を判定する。そして、受信負荷が高い状態では、送信タイミング生成回路１０７の送信タイミング間隔を長くし、ＣＰＵ１０５の送信負荷を抑制することで、受信処理能力を確保するようにしている。よって、一時的な受信負荷増加に適応して安定したデータ受信を行うことが可能となる。また、本実施形態では、送信タイミング生成回路１０７により送信間隔を生成しているので、ＣＰＵ１０５は複雑なソフトウェア処理を行うことなしに、送信処理の抑制を制御することができる。
【００５２】
（第２の実施形態）
次に、本発明の第２の実施形態のＩＰネットワーク端末装置について説明する。
【００５３】
本発明の第２の実施形態のＩＰネットワーク端末装置を図８に示す。図８において、図１中の構成要素と同一の構成要素には同一の符号を付し、説明を省略するものとする。
【００５４】
本実施形態のＩＰネットワーク端末装置８は、図８に示されるように、図１に示した第１の実施形態のＩＰネットワーク端末装置１に対して、送信タイミング生成回路１０７を削除し、ＣＰＵ１０５、受信負荷演算回路１０６を、それぞれＣＰＵ８０３、受信負荷演算回路８０１に置き換えた構成になっている。
【００５５】
次に、図８中の受信負荷演算回路８０１の構成を図９に示す。図９において、図２中の構成要素と同一の構成要素には同一の符号を付し、説明を省略するものとする。本実施形態における受信負荷演算回路８０１は、図９に示されるように、図２に示した受信負荷演算回路１０６に対して、乗算器２０３の後段にレベル判定回路８０２を追加した構成となっている。
【００５６】
レベル判定回路８０２は、乗算器２０３からの乗算結果に基づいて送信優先度を決定し、この送信優先度に基づいた送信許可信号を生成して出力する。
【００５７】
本実施形態では、ＣＰＵ８０３へ送信タイミングを入力する代わりに、受信負荷演算回路８０１から直接、送信優先度に応じた送信許可信号を入力することで、図８に示すように、図１で構成していた送信タイミング生成回路１０７が不要となる。
【００５８】
ＣＰＵ８０３側の送信処理は、送信パケットのサービス種や送信宛先によって、予め４段階の優先レベルに分類する。最優先、優先度（１）、優先度（２）、優先度（３）の順とする。最優先のパケットは、受信側の負荷状態に関わらず任意のタイミングで送信可能とするが、ＣＰＵ処理を占有しないよう最小限のパケット送信に留める。優先度（１）から（３）までのパケット送信は、受信負荷演算回路８０１の出力する送信許可信号に応じて送信する。受信負荷演算回路８０１の送信許可信号は図９のレベル判定回路８０２から出力される。
【００５９】
受信負荷状態を示す乗算器２０３の演算値と、レベル判定回路８０２の関係を図１０に示す。乗算器２０３の演算値の範囲０〜６４を均等に４段階に分割し、受信負荷の低い状態を示す０〜１５の間では、レベル判定回路８０２は優先度（１）〜（３）まで全ての送信許可信号を出力する。受信負荷が増加するに従い、優先度の低い順に送信許可信号は停止される。乗算器２０３が４８〜６４という受信負荷が高い状態では、送信許可信号は全て停止される。ＣＰＵ８０３は、このように出力される送信許可信号に従い、許可状態にある優先度の送信パケットを送信バッファ１０８へ格納する。
【図面の簡単な説明】
【００６０】
【図１】本発明の第１の実施形態のＩＰネットワーク端末装置の構成を示すブロック図である。
【図２】図１中の受信負荷演算回路１０６、送信タイミング生成回路１０７の構成を示すブロック図である。
【図３】図１のＩＰネットワーク端末装置の動作を示すフローチャートである。図１に示すＩＰネットワーク端末装置１おいて、ＩＰパケットデータの受信が増加し、送信レートを低減させて送信処理負荷を抑制する動作を示したフローチャートである。
【図４】受信バッファ残容量とレベル値の例を示す図である。
【図５】カウント値とレベル値の例を示す図である。
【図６】ＣＰＵ１０５の受信バッファ内パケット処理が進むことで、送信処理の抑制が緩和される動作を説明するためのフローチャートである。
【図７】ＣＰＵ１０５が１回の割り込み入力で、予め規定した数までの送信パケット数を送信バッファへ格納する動作を説明するためのフローチャートである。
【図８】本発明の第２の実施形態のＩＰネットワーク端末装置の構成を示すブロック図である。
【図９】図８中の受信負荷演算回路８０１の構成を示すブロック図である。
【図１０】受信負荷状態を示す乗算器２０３の演算値と、レベル判定回路８０２の関係を示す図である。
【図１１】従来のＩＰネットワーク端末装置の構成を示すブロック図である。
【符号の説明】
【００６１】
１    ＩＰネットワーク端末装置
８    ＩＰネットワーク端末装置
１０１    ＥＴＨＥＲ受信Ｉ／Ｆ
１０２    ＩＰ受信Ｉ／Ｆ
１０３    受信バッファ管理回路
１０４    受信バッファ
１０５    ＣＰＵ
１０６    受信負荷演算回路
１０７    送信タイミング生成回路
１０８    送信バッファ
１０９    ＩＰ送信Ｉ／Ｆ
１１０    ＥＴＨＥＲ送信Ｉ／Ｆ
２０１    アップダウンカウンタ
２０２    レベル判定回路
２０３    乗算器
２０４    可変分周器
２０５    分周器
２０６    発振器
３０１    ＩＰネットワーク端末装置
３０２    ＥＴＨＥＲ受信Ｉ／Ｆ
３０３    ＩＰ受信Ｉ／Ｆ
３０４    受信バッファ
３０５    ＣＰＵ
３０６    送信バッファ
３０７    ＩＰ送信Ｉ／Ｆ
３０８    ＥＴＨＥＲ送信Ｉ／Ｆ
４０１〜４０５    ステップ
５０１〜５０５    ステップ
６０１〜６０３    ステップ
８０１    受信負荷演算回路
８０２    レベル判定回路
８０３    ＣＰＵ
【図１】
2005269033.tif 000003
【図２】
2005269033.tif 000004
【図３】
2005269033.tif 000005
【図４】
2005269033.tif 000006
【図５】
2005269033.tif 000007
【図６】
2005269033.tif 000008
【図７】
2005269033.tif 000009
【図８】
2005269033.tif 000010
【図９】
2005269033.tif 000011
【図１０】
2005269033.tif 000012
【図１１】
2005269033.tif 000013