(57)【特許請求の範囲】
【請求項１】
複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記生成によるパケットよりも高くして、前記生成によるパケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信装置。
【請求項２】
複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果に従って前記受信パケットを前記パケット生成処理手段または転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が優先順位変更用閾値を超えたときには前記転送用パケットに対する優先順位を前記生成によるパケットよりも高くして、前記生成によるパケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信装置。
【請求項３】
請求項１または２に記載のパケット通信装置において、前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなることを特徴とするパケット通信装置。
【請求項４】
請求項１、２または３のうちいずれか１項に記載のパケット通信装置において、前記転送制御手段は、前記転送用バッファ手段の使用率がフロー制御用閾値を超えたときには転送元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなるパケット通信装置。
【請求項５】
請求項１、２または３のうちいずれか１項に記載のパケット通信装置において、前記複数の通信手段の受信による受信パケットを一時保持する受信用バッファ手段を備え、前記転送制御手段は、前記受信用バッファ手段の使用率がフロー制御用閾値を超えたときには送信元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなるパケット通信装置。
【請求項６】
請求項４または５に記載のパケット通信装置において、前記転送制御手段は、前記パケット生成処理手段で設定可能なフロー制御用レジスタを備え、前記フロー制御用レジスタには前記転送用バッファ手段または前記受信用バッファ手段の使用率に関するフロー制御用閾値が設定されてなることを特徴とするパケット通信装置。
【請求項７】
ＩＰアドレスとその補助アドレスであるポートを含むパケットの送信および受信を複数の通信対象と行う複数の通信手段と、前記パケットのリアルタイム性に関する優先順位を前記ＩＰアドレスと前記ポートの組み合わせに従って判定する優先順位判定手段と、前記リアルタイム性に関する優先順位に対応づけて送信用パケットを保持する複数の送信用バッファ手段と、前記複数の送信用バッファ手段に保持された送信用パケットのうち一番優先順位の高いパケットを前記優先順位判定手段の判定結果に従って選択して送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する優先パケット選択手段とを備えてなるパケット通信装置。
【請求項８】
請求項７に記載のパケット通信装置において、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果に従って前記受信パケットを前記パケット生成処理手段または転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットを前記送信用バッファ手段に出力する転送制御手段とを備え、前記優先パケット選択手段は、前記転送用バッファ手段に保持された転送用パケットをその優先順位に従って指定の送信用バッファ手段に出力してなることを特徴とするパケット通信装置。
【請求項９】
請求項７または８に記載のパケット通信装置において、前記優先パケット選択手段は、前記複数の送信用バッファ手段のうちいずれかの送信用バッファ手段の使用率が閾値を超えたときには、当該送信用バッファ手段に保持されたパケットを他のパケットに優先して前記指定の通信手段に出力してなることを特徴とするパケット通信装置。
【請求項１０】
請求項９に記載のパケット通信装置において、前記優先パケット選択手段は、前記パケット生成処理手段で設定可能なレジスタを備え、前記レジスタには前記転送用バッファ手段の使用率に関する閾値が設定されてなることを特徴とするパケット通信装置。
【請求項１１】
ＩＰアドレスとその補助アドレスであるポートを含むパケットの送信および受信を行う複数のパケット通信装置と、前記複数のパケット通信装置間で送受信されるパケットのリアルタイム性に関する優先順位を前記ＩＰアドレスと前記ポートの組み合わせに従って決定する優先順位制御部とを備え、前記複数のパケット通信装置は互いに直列に接続されてなるパケット通信システム。
【請求項１２】
請求項１１に記載のパケット通信システムにおいて、前記複数のパケット通信装置は、請求項７、８、９、１０のうちいずれか１項に記載のパケット通信装置で構成されてなることを特徴とするパケット通信システム。
【請求項１３】
複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、送信用パケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記送信用パケットよりも高くして、前記送信用パケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信モジュール。
【請求項１４】
請求項１３に記載のパケット通信モジュールにおいて、前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなることを特徴とするパケット通信モジュール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット通信装置に係り、特に、複数の通信対象とパケットの送受信および複数の通信対象間で相互に情報の授受を行うための転送用パケットを自動転送するに好適なパケット通信装置に関する。
【０００２】
【従来の技術】
パケットを用いた通信装置として、イサーネット（Ｅｔｈｅｒｎｅｔ）をベースにＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いて音声データをやり取りするＩＰ電話などに使用されたものが知られている。この種のパケット通信装置は、ＣＰＵ、２つのイサーネットコントローラ、転送制御回路、メモリなどを備えて構成されており、一方のイサーネットコントローラをイサーネットを介してＨＵＢ（ハブ）に接続し、他方のイサーネットコントローラをイサーネットを介してＰＣ（パーソナルコンピュータ）に接続し、ＨＵＢとＰＣとを通信装置を介して接続することにより、ＨＵＢから敷くイサーネットケーブルの本数を削減する方式が採用されている。このパケット通信装置においては、各イサーネットを介して受信したパケットの宛先が通信装置のときには受信したパケットをそのまま処理し、それ以外の宛先のパケットに対しては、宛先を判断して、必要なときには他方のイサーネットにそのパケットを転送するようになっている。これにより、この種のパケット通信装置においては、ＨＵＢから送信されたＰＣ宛の受信メールやインターネット情報などのパケットをＰＣ側のイサーネットに転送するとともに、ＰＣ側からの送信メールやインターネットアクセスなどのパケットをＨＵＢ側に転送し、且つ、受話器から入力された音声を音声データとして送信するとともに受信した音声データを音声としてスピーカから出力したりして、電話機能を実現することができる。この場合、ＨＵＢ側のイサーネットに接続されたイサーネットコントローラが送信するパケットとして、パケット通信装置がＩＰ電話として送信するための音声データによる送信パケットと、ＰＣから送信された送信パケットの２つが存在するので、ＨＵＢ側のイサーネットコントローラは送信パケットと転送パケットとを調停するためのアービトレーション処理が必要である。
【０００３】
この場合、ＩＰ電話ではリアルタイム性が要求される音声データをやり取りするため、ＰＣ側から送信されたパケットよりも音声データによるパケットを優先して送信する必要がある。そのため、転送パケットよりも送信パケットが優先して送信されるが、ＩＰ電話では、もともと１０〜２０ｍｓに１パケット程度送信するだけで、送信するパケットの量は少なく、比較的リアルタイム性の少ないＰＣ側からのパケットを転送することに支障がでることはない。ただし、ＰＣ側からのパケットの量が多くなったときには、転送用パケットを保持するための転送用バッファがオーバーフローを起こすことがある。
【０００４】
そこで、特開平５−３１６１４７号公報に記載されているように、優先順位ごとに送信するパケットを保持するバッファを設け、各バッファに保持されたパケットを等差級数的に送信するノードをリング状に接続することにより、優先順位の高いパケット（送信パケット）を優先的に送信するとともに、優先順位の低いパケット（転送パケット）にも送信の機会を与えることで、送信用バッファのオーバーフローを防止する構成を採用することもできる。
【０００５】
【発明が解決しようとする課題】
従来技術においては、パケット通信装置をＩＰ電話の代わりに、映像を送るＩＰテレビ電話に適応した場合については十分に配慮されておらず、パケット通信装置をＩＰテレビ電話に適応したときには転送バッファがオーバーフローを起こす恐れがある。
【０００６】
すなわち、ＩＰテレビ電話では、従来のＩＰ電話での音声データに加えて、データ量の多い映像データを送受信するため、送受信するパケットの量が増加する。ところが、ＩＰテレビ電話では、ＰＣ側からのパケットの転送よりも、ＩＰテレビ電話が送信する送信パケットを優先して送信するため、ＰＣ側からのパケットの転送が滞り、ＰＣ側からのパケットを一時的に保持する転送バッファがオーバーフローを起こし、パケットの欠損が発生する。パケットの欠損が発生した場合、正確な情報を得るためにパケットが再送されるので、イサーネットの通信効率の低下を招くことになる。
【０００７】
一方、近年、ＰＣがやり取りするインターネットサービスにも、電子メールやホームページアクセスなどのアクセス時間に制限のないものに加えて、最近では、ストリーミングと呼ばれるビデオやインターネットテレビや中継など、通信にリアルタイム性が要求されるインターネットサービスが増加している。このようなサービスに対応するためには、ＰＣが送信したパケットを一括りにはできず、それぞれのサービスが要求するリアルタイム性に応じてパケットごとに優先順位を管理するＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）をサポートする必要がでてきている。
【０００８】
ところが、従来技術のように、バッファのオーバーフローによるパケット欠損が検出できず、また、パケットに対して固定された優先順位が設定されていたのでは、常に変化するサービスに対して優先度を割り振ることは不可能である。
【０００９】
本発明の第１の課題は、転送用バッファ手段のオーバーフローを防止することができるパケット通信装置およびパケット通信モジュールを提供することにある。
【００１０】
本発明の第２の課題は、サービスのリアルタイム性に対応することができるパケット通信装置およびパケット通信システムを提供することにある。
【００１１】
【課題を解決するための手段】
前記第１の課題を解決するために、本発明は、複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記生成によるパケットよりも高くして、前記生成によるパケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信装置を構成したものである。
【００１２】
前記パケット通信装置を構成するに際しては、前記転送制御手段に、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果にしたがって前記受信パケットを前記パケット生成処理手段または転送用パケット手段に出力する機能を付加することができる。
【００１３】
前記各パケット通信装置を構成するに際しては、以下の要素を付加することができる。
【００１４】
（１）前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなる。
【００１５】
（２）前記転送制御手段は、前記転送用バッファ手段の使用率がフロー制御用閾値を超えたときには転送元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなる。
【００１６】
（３）前記複数の通信手段の受信による受信パケットを一時保持する受信用バッファ手段を備え、前記転送制御手段は、前記受信用バッファ手段の使用率がフロー制御用閾値を超えたときには送信元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなる。
【００１７】
（４）前記パケット生成処理手段で設定可能なフロー制御用レジスタを備え、前記フロー制御用レジスタには前記転送用バッファ手段または前記受信用バッファ手段の使用率に関するフロー制御用閾値が設定されてなる。
【００１８】
また、パケット通信モジュールを構成するに際しては、複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、送信用パケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記送信用パケットよりも高くして、前記送信用パケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるものを用いることができる。
【００１９】
前記パケット通信モジュールを構成するに際しては、以下の要素を付加することができる。
【００２０】
（１）前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなる。
【００２１】
前記第２の課題を解決するために、本発明は、ＩＰアドレスとその補助アドレスであるポートを含むパケットの送信および受信を複数の通信対象と行う複数の通信手段と、前記パケットのリアルタイム性に関する優先順位を前記ＩＰアドレスと前記ポートの組み合わせに従って判定する優先順位判定手段と、前記リアルタイム性に関する優先順位に対応づけて送信用パケットを保持する複数の送信用バッファ手段と、前記複数の送信用バッファ手段に保持された送信用パケットのうち一番優先順位の高いパケットを前記優先順位判定手段の判定結果に従って選択して送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する優先パケット選択手段とを備えてなるパケット通信装置を構成したものである。
【００２２】
前記パケット通信装置を構成するに際しては、転送制御手段に、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果にしたがって前記受信パケットを前記パケット生成処理手段または転送用バッファ手段に出力する機能を付加することができる。
【００２３】
前記各パケット通信装置を構成するに際しては、以下の要素を付加することができる。
【００２４】
（１）前記優先パケット選択手段は、前記複数の送信用バッファ手段のうちいずれかの送信用バッファ手段の使用率が閾値を超えたときには、当該送信用バッファ手段に保持されたパケットを他のパケットに優先して前記指定の通信手段に出力してなる。
【００２５】
（２）前記優先パケット選択手段は、前記パケット生成処理手段で設定可能なレジスタを備え、前記レジスタには前記転送用バッファ手段の使用率に関する閾値が設定されてなる。
【００２６】
また、本発明は、ＩＰアドレスとその補助アドレスであるポートを含むパケットの送信および受信を行う複数のパケット通信装置と、前記複数のパケット通信装置間で送受信されるパケットのリアルタイム性に関する優先順位を前記ＩＰアドレスと前記ポートの組み合わせに従って決定する優先順位制御部とを備え、前記複数のパケット通信装置は互いに直列に接続されてなるパケット通信システムを構成したものである。
【００２７】
前記パケット通信システムを構成するに際しては、前記複数のパケット通信装置として、前記パケット通信装置のうちＩＰアドレスとその補助アドレスであるポートを含むパケットの送受信を行うものを用いることができる。
【００２８】
前記した手段によれば、転送用パケットの転送に優先して送信用パケットを送信しているときに、転送用バッファ手段の使用率が閾値を超えたときには転送用パケットに対する優先度を送信用パケット（生成によるパケット）よりも高くして、送信用パケットに優先して転送用パケットを指定の通信手段に出力するようにしているため、転送用バッファ手段のオーバーフローを防止することができる。
【００２９】
この場合、転送用バッファ手段の使用率が閾値以下になったときには、送信用パケットが優先して送信されるため、送信用パケットの送信効率が低下するのを抑制することができる。
【００３０】
また、受信パケットが転送用パケットであるか否かを判定するときに、受信パケットに付されたアドレス（ＭＡＣアドレス）を基に判定することで、パケット生成処理手段の負荷を軽減することができる。
【００３１】
一方、ＩＰアドレスとその補助アドレスであるポートを含むパケットの送受信を行っているときに、パケットのリアルタイム性の要求にしたがって、送受信されるパケットの優先順位をＩＰアドレスとポートの組合わせにしたがって決定するようにしているため、刻一刻と変化するサービスの内容に追従してパケットを送受信することができ、リアルタイム性を確保することができる。
【００３２】
すなわち、複数の送信用バッファ手段に保持された送信用パケットのうち一番優先順位の高いパケットを優先順位判定手段の判定結果にしたがって選択し、選択したパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力することで、リアルタイム性を確保することができる。
【００３３】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本発明の一実施形態を示すパケット通信装置のブロック構成図、図２は本発明に係るパケット通信装置を２チャネルイサーネット（Ｃｈａｎｎｅｌ  Ｅｔｈｅｒｎｅｔ）網に適応したときのパケット通信システムのブロック構成図である。図２において、パケット通信装置としての２チャネルイサーネット通信装置８００は、２チャネル分の通信路（通信手段）を備えており、各チャネルの通信路はそれぞれＰＨＹ（Ｐｈｙｓｉｃａｌ  ｌａｙｅｒ  ｔｒａｎｓｃｅｉｖｅｒ）８１０ａ、８１０ｂを介してイサーネット８２０ａ、８２０ｂにそれぞれ接続されている。各イサーネット８２０ａ、８２０ｂには、ＰＣ（パーソナルコンピュータ）などで構成されるイサーネット通信装置８３０ａ、８３０ｂが接続されている。各イサーネット８２０ａ、８２０ｂはそれぞれ独立に動作可能に構成されており、各イサーネット通信装置８３０ａ、８３０ｂは、イサーネット８２０ａ、８２０ｂを介して、規格ＩＥＥＥ８０２．３およびＩＥＥＥ８０２．１Ｑ／Ｄにしたがったイサーネットパケット（以下パケットと称する。）を送受信することにより、装置間で通信ができるようになっている。通信装置８３０ａと通信装置８３０ｂとの間でパケットの送受信を行うときには、イサーネット８２０ａ、イサーネット通信装置８００、イサーネット８２０ｂを介して行われる。この場合、２チャネルイサーネット通信装置８００は、パケットの送受信を行うとともに、イサーネット８２０ａ、８２０ｂ間におけるパケットの転送を行う機能を備えており、これにより、通信装置８３０ａと通信装置８３０ｂとの間で２チャネルイサーネット通信装置８００を介して通信を行うことができる。
【００３４】
２チャネルイサーネット通信装置８００を複数台互いに接続するに際しては、図３に示すように、イサーネットを介して互いに直列に接続すれば、図４に示すように、ＨＵＢを介して各通信装置８００を接続する場合に比べて配線長を大幅に削減することができる。
【００３５】
以下、２チャネルイサーネット通信装置８００の具体的構成について説明する。２チャネルイサーネット通信装置８００は、図１に示すように、ＣＰＵ１と、メモリ２と、２チャネルイサーネット通信モジュール（以下、２チャネル通信モジュールと称する。）４と、それらを互いに接続するバス３から構成されている。２チャネル通信モジュール４は、バスＩ／Ｆ（インターフェース）回路４００、２つのバッファ１００ａ、１００ｂ、２つのイサーネットＭＡＣ（ＭｅｄｉａＡｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）３００ａ、３００ｂ、転送判定回路２００を備えて構成されており、ＭＡＣ３００ａはＰＨＹ８１０ａ、イサーネット８２０ａを介してイサーネット装置８３０ａに接続され、イサーネット装置８３０ａとパケットの送受信を行うようになっている。すなわち、ＭＡＣ３００ａは、ＰＨＹ８１０ａ、イサーネット８２０ａを介して、通信対象としてのイサーネット装置８３０ａとパケットの送受信を行う通信手段として構成されている。
【００３６】
一方、ＭＡＣ８００ｂはＰＨＹ８１０ｂ、イサーネット８２０ｂを介してイサーネット装置８３０ｂに接続され、イサーネット装置８３０ｂとパケットの送受信を行うようになっている。すなわち、ＭＡＣ３００ｂは、ＰＨＹ８１０ｂ、イサーネット８２０ｂを介して、イサーネット装置８３０ｂを通信対象としてパケットの送受信を行う通信手段として構成されている。
【００３７】
この場合、ＭＡＣ３００ａ、３００ｂが送受信するパケットは、２チャネル通信モジュール４および２チャネル通信装置８００では、送信、受信、転送の３種類のパケットに分類される。そこで、以下、混乱を避けるために、２チャネル通信装置８００および２チャネル通信モジュール４がパケットを送受信する場合を送信（送信する）、受信（受信する）、送受信と呼び、ＭＡＣ３００ａ、３００ｂがパケットを送受信することをパケットの送出（送出する）、受取（受け取る）、送受と呼ぶことにする。
【００３８】
メモリ２には、図５に示すように、ＣＰＵ１が実行するプログラム２０ａ、プログラム２０ａの実行状態を保持するワークエリア２０ｂ、２チャネル通信装置８００がイサーネット８２０ａ、（８２０ｂ）へ送信するためのパケットを保持する送信ディスクリプタ２１ａ、（２１ｂ）、イサーネット８２０ａ、（８２０ｂ）から受信したパケットを保持する受信ディスクリプタ２２ａ、（２２ｂ）を備えて構成されている。
【００３９】
一方、ＣＰＵ１は、バス３を介して、メモリ２および２チャネル通信モジュール４にアクセスし、メモリ２に書き込まれたプログラム２０ａを実行し、２チャネル通信モジュール４の状態（レジスタ）をアクセスし、メモリ２内の受信ディスクリプタ２２ａ、２２ｂにそれぞれ保持された受信パケットを読み込んで処理するとともに、送信パケットを生成し、生成した送信パケットをメモリ２内の送信ディスクリプタ２１ａ、２１ｂに書き込むように構成されている。すなわちＣＰＵ１は、ＭＡＣ３００ａ、３００ｂが送信するための送信パケットを生成するとともに、ＭＡＣ３００ａ、３００ｂが受信したパケットを処理するパケット生成処理手段として構成されている。
【００４０】
図６に、バスＩ／Ｆ回路４００、バッファ１００ａ、１００ｂおよび転送判定回路２００の具体的構成を示す。バスＩ／Ｆ回路４００は、入出力バッファ４４０、セレクタ４３０、入出力バッファ４４０およびセレクタ４３０を制御する制御回路４１０、レジスタ４２０を備えて構成されており、セレクタ４３０は、バッファ１００ａ、１００ｂの受信ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）１１０ａ、１１０ｂの出力によるパケットを選択し、選択したパケットを入出力バッファ４４０に出力するようになっている。入出力バッファ４４０はバス３からのパケットをバッファ１００ａ、１００ｂの送信ＦＩＦＯ１２０ａ、１２０ｂに出力するように構成されている。すなわち、制御回路４１０は、メモリ２内にある送信ディスクリプタ２１ａ、２１ｂを監視し、ＣＰＵ１により、送信ディスクリプタ２１ａ、２１ｂにパケットが登録されたときには、入出力バッファ４４０を入力状態として、送信ディスクリプタ２１ａ、（２１ｂ）に登録されたパケットをバス３を介して送信ＦＩＦＯ１２０ａ、（１２０ｂ）に転送する。同様に、制御回路４１０は、受信ＦＩＦＯ１１０ａ、１１０ｂを監視し、転送判定回路２００を介して受信ＦＩＦＯ１１０ａ、１１０ｂにパケットが書き込まれたときには、入出力バッファ４４０を出力状態とし、セレクタ４３０に受信ＦＩＦＯ１１０ａ、１１０ｂの出力によるパケットを選択させ、選択されたパケットをバス３を介してメモリ２内の受信ディスクリプタ２２ａ、２２ｂに転送する。
【００４１】
バッファ１００ａ、１００ｂは、それぞれ受信したパケットを一時的に保持する受信ＦＩＦＯ１１０ａ、１１０ｂ、送信するパケットを一時的に保持する送信ＦＩＦＯを１２０ａ、１２０ｂを備えているとともに、ＭＡＣ３００ａとＭＡＣ３００ｂとの間でパケットを転送するために使用する転送ＦＩＦＯ１３０ａ、１３０ｂを備えて構成されている。すなわち、転送ＦＩＦＯ１３０ａ、１３０ｂは、イサーネット装置８３０ａと８３０ｂとの間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段として構成されており、転送ＦＩＦＯ１３０ａにはイサーネット装置８３０ａからイサーネット装置８３０ｂに転送するための転送用パケットが保持され、転送ＦＩＦＯ１３０ｂには、イサーネット装置８３０ｂからイサーネット装置８３０ａに転送するための転送用パケットが保持されるようになっている。
【００４２】
転送判定回路２００は、セレクタ２１０ａ、２１０ｂと、バッファ１００ａ、１００ｂを制御するための制御回路２２０ａ、２２０ｂと、転送判定回路２００の状態を保持するレジスタ２３０ａ、２３０ｂと、ＭＡＣ３００ａ、３００ｂが受け取ったパケットを２チャネル通信装置８００および２チャネル通信モジュール４が受信するかあるいは他方のＭＡＣ３００ａまたは３００ｂに転送するか否かの判定情報を保持するＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）２４０ａ、２４０ｂと、送信ＦＩＦＯ１２０ａと転送ＦＩＦＯ１３０ｂからのパケットのうちいずれかのパケットを選択してＭＡＣ３００ａに出力するセレクタ２１０ａと、送信ＦＩＦＯ１２０ｂと転送ＦＩＦＯ１３０ａからのパケットのうちいずれかのパケットを選択してＭＡＣ３００ｂへ出力するセレクタ２１０ｂとを備えて構成されている。
【００４３】
レジスタ２３０ａ、２３０ｂは、図７に示すように、６本のレジスタＲ２３０１〜２３０６から構成されている。レジスタＲ２３０１は、ＭＡＣ３００ａ、３００ｂが受け取ったパケットの宛先ＭＡＣアドレスがＣＡＭ２４０ａ、２４０ｂに未登録だった場合の処理（受信、転送、受信＆転送、破棄）を設定するレジスタである。レジスタ２３０２は、通常時、ＭＡＣ３００ａ、（３００ｂ）が送出するパケットを送信ＦＩＦＯ１２０ａ、１２０ｂか転送ＦＩＦＯ１３０ａ、１３０ｂのどちらを優先するかを設定するレジスタであり、普通は送信ＦＩＦＯ１２０ａ、１２０ｂを選択する。レジスタＲ２３０３、Ｒ２３０４は、優先切替を行う送信ＦＩＦＯ１２０ａ、１２０ｂ、転送ＦＩＦＯ１３０ａ、１３０ｂの使用率の閾値（優先順位変更用閾値）を設定するレジスタである。レジスタＲ２３０５、Ｒ２３０６は、フロー制御を発動する受信ＦＩＦＯ１２０ａ、１２０ｂ、転送ＦＩＦＯ１３０ａ、１３０ｂの使用率の閾値（フロー制御用閾値）を設定するレジスタである。レジスタＲ２３０３〜Ｒ２３０６における閾値は０〜１００％まで選択可能であり、０％が指定されたときには無効設定となる。また、各閾値はＣＰＵ１によって設定されるようになっている。
【００４４】
ＣＡＭ２４０ａ、２４０ｂは連想メモリと呼ばれる特殊メモリで構成されており、図８に示すように、各エントリには各ＭＡＣアドレスと、それに対応して受信、転送、受信＆転送、破棄するかの処理情報およびワークエリアが設けられ、アドレスの代わりにＭＡＣアドレスを入力として、入力ＭＡＣアドレスと一致するＭＡＣアドレスを持つエントリの当該処理情報を出力するようになっている。また、ワークエリアはＣＰＵ１が、エントリの更新を行う際に使用する。また、複数のエントリでＭＡＣアドレスの一致が発生した場合、ｉｎｄｅｘ番号が１番若いエントリの処理番号を出力する。このＣＡＭ２４０ａ、２４０ｂのエントリの設定および更新はＣＰＵ１により実行される。
【００４５】
上記構成によるＣＡＭ２４０ａ、２４０ｂは、ＭＡＣ３００ａ、３００ｂが受け取ったパケットをそのパケットの宛先ＭＡＣアドレスから受信、転送、受信＆転送、破棄のいずれかを判定するために使用されるようになっている。すなわち、図２に示す通信システムが構築された際には、イサーネット装置８３０ａ、イサーネット装置８３０ｂ、２チャネルイサーネット通信装置８００に対してそれぞれ各装置固有のアドレスとしてＭＡＣアドレスが設定される。このため、イサーネット装置８３０ａから送信されたパケットの宛先ＭＡＣアドレスがイサーネット装置８３０ｂの宛先ＭＡＣアドレスであるときには２チャネルイサーネット装置８００が受信したパケットはイサーネット装置８３０ｂへ転送する転送用パケットであることが分かる。またイサーネット装置８３０ａから送信されたパケットの宛先ＭＡＣアドレスが２チャネルイサーネット通信装置８００に対する宛先ＭＡＣアドレスのときには２チャネルイサーネット通信装置８００が受信すべきパケットであると判定することができる。
【００４６】
例えば、ｉｎｄｅｘ０のＭＡＣアドレスが２チャネルイサーネット通信装置８００に入力されたときには、このパケットはイサーネット装置８３０ａまたはイサーネット装置８３０ｂに転送すべきパケットであると判定され、ｉｎｄｅｘＮに対応したＭＡＣアドレスのパケットを受信したときには、２チャネルイサーネット通信装置８００が受信すべきパケットであると判定することができる。この際、一致するＭＡＣアドレスを持つエントリがなかった場合は、レジスタＲ２３０１により、受信、転送、受信＆転送、破棄のいずれかを設定することになる。
【００４７】
上記構成による転送判定回路２００において、制御回路２２０ａ、２２０ｂは、受信ＦＩＦＯ１１０ａ、１１０ｂ、送信ＦＩＦＯ１２０ａ、１２０ｂおよび転送ＦＩＦＯ１３０ａ、１３０ｂの使用率を常にチェックし、フロー制御の発動、図９に示すように、セレクタ２１０ａ、２１０ｂの切替およびＭＡＣ３００ａ、３００ｂが受け取ったパケットを受信、転送、受信＆転送、破棄するか否かを決定するようになっている。
【００４８】
まず、フロー制御を発動するに際しては、受信ＦＩＦＯ１１０ａ、１１０ｂの使用率がレジスタＲ２３０５で指定された閾値を越えたときまたは転送ＦＩＦＯ１３０ａ、１３０ｂの使用率が同じくレジスタＲ２３０６で指定された閾値を越えた場合に、ＭＡＣ３００ａ、３００ｂに対してフロー制御用のパケットを送信させるようになっている。フロー制御用のパケットが送信されると、ＭＡＣ３００ａ、３００ｂが受け取るパケット数が２チャネル通信装置８００の受信および転送処理できるパケット数を上回り、ＭＡＣ３００が受け取ったパケットを処理できずに、破棄されることを防ぐ。すなわち、２チャネル通信装置８００が受信および転送処理できるパケットの数が、ＭＡＣ３００ａ３００ｂが受け取るパケットの数を超えた場合、パケットの送信元に対してパケットの送信を一時的に控えさせることで、パケットの破棄を防ぐことができる。
【００４９】
次に、制御回路２２０ａ、２２０ｂは、送信ＦＩＦＯ２２０ａ、２２０ｂ、転送ＦＩＦＯ１３０ａ、１３０ｂの使用率を監視し、セレクタ２１０ａ、２１０ｂの切替を制御する。通常時、すなわち送信ＦＩＦＯ１２０ａ、１２０ｂの使用率がレジスタＲ２３０３で指定された閾値以下の場合および転送ＦＩＦＯ１３０ａ、１３０ｂの使用率がレジスタＲ２３０４で指定された閾値以下の場合、レジスタＲ２３０２で指定されたＦＩＦＯの出力によるパケットがセレクタ２１０ａ、２１０ｂによって選択される。一方、送信ＦＩＦＯ１２０ａ、１２０ｂの使用率のみがレジスタＲ２３０３で指定された閾値を越えた場合、送信ＦＩＦＯ１２０ａ、１２０ｂの出力によるパケットがセレクタ２１０ａ、２１０ｂによって選択される。逆に、転送ＦＩＦＯ１３０ａ、１３０ｂの使用率のみがレジスタＲ２３０４で指定された閾値を越えた場合、転送ＦＩＦＯ１３０ａ、１３０ｂの出力によるパケットがセレクタ２１０ａ、２１０ｂによって選択される。これにより、レジスタＲ２３０２が送信ＦＩＦＯ１２０ａ、１２０ｂを優先すると設定されている場合、送信ディスクレプタ２１ａ、２１ｂから送信ＦＩＦＯ１２０ａ、１２０ｂへの送信パケットの転送が多いため、すなわち送信パケットが優先して送信されるため、転送パケットの送出が滞り、転送ＦＩＦＯ１３０ａ、１３０ｂのオーバーフローの発生を防ぐことができる。
【００５０】
また、制御回路２２０ａ、（２２０ｂ）は、ＭＡＣ３００ａ、（３００ｂ）が受け取ったパケットの宛先ＭＡＣアドレスＣＡＮ２４０ａ、（２４０ｂ）に問い合わせ、受信、転送、受信＆転送、破棄するか否かを判定する。受信する場合には、受信ＦＩＦＯ１１０ａ、（１１０ｂ）に、転送する場合には、転送ＦＩＦＯ１３０ａ、（１３０ｂ）に、受信＆転送する場合には受信ＦＩＦＯ１１０ａ、（１１０ｂ）と転送ＦＩＦＯ１３０ａ、（１３０ｂ）の両方にそれぞれＭＡＣ３００ａ、（３００ｂ）が受け取ったパケットを書き込む。破棄する場合は、受信ＦＩＦＯ１１０ａ、（１１０ｂ）、転送ＦＩＦＯ１３０ａ、（１３０ｂ）のいずれにも当該パケットを書き込まずそのまま破棄する。
【００５１】
次に、パケットの送信処理を図１０にしたがって説明する。２チャネル通信装置８００および２チャネル通信モジュール４において、パケットの送信を行うに際しては、２チャネル通信モジュール４がＣＰＵ１の起動を受けたときに、バスＩ／Ｆ回路４００の制御回路４１０の制御により、メモリ２にある送信ディスクリプタ２１ａ、（２１ｂ）から送信パケットを読み出し、送信ＦＩＦＯ１２０ａ、（１２０ｂ）に書き込み、当該パケットデータを送信ＦＩＦＯ１２０ａ、（１２０ｂ）から読み出してイサーネット８２０ａ、（８２０ｂ）に送出する。
【００５２】
次に、パケットの受信および転送処理は、図１１に示すように、ＭＡＣ３００ａ、（３００ｂ）がパケットを受け取ると、転送判定回路２００がパケットの宛先ＭＡＣアドレスを調べ、受信すべきパケットか転送すべきパケットかを判断する。受信すべきパケットであると判断したときには、当該パケットを受信ＦＩＦＯ１１０ａ、（１１０ｂ）に書き込む。これを受けてバスＩ／Ｆ回路４００が受信ＦＩＦＯ１１０ａ、（１１０ｂ）から当該パケットを読み出し、このパケットをバス３を介してメモリ２内の受信ディスクリプタ２２ａ、（２２ｂ）に書き込む。
【００５３】
一方、パケットを転送する場合には、転送判定回路２００は、ＭＡＣ３００ａ、（３００ｂ）が受け取ったパケットを転送ＦＩＦＯ１３０ａ、（１３０ｂ）に書き込む。それを受けて、ＭＡＣ３００ｂ、（３００ａ）は転送ＦＩＦＯ１３０ａ、（１３０ｂ）から当該パケットを読み出し、イサーネット８２０ｂ、（８２０ａ）にそれぞれ送出する。
【００５４】
ここで、ＭＡＣ３００ａ、（３００ｂ）が送出するパケットは送信ＦＩＦＯ１２０ａ、（１２０ｂ）と転送ＦＩＦＯ１３０ｂ、（１３０ａ）からのパケットであり、転送判定回路２００はこのどちらのＦＩＦＯのパケットを優先して送出するかのアービトレーションを行う。通常、送信ＦＩＦＯ１２０ａ、１２０ｂ内のパケットが優先して送出されるが、送信ディスクリプタ２１ａ、２１ｂから送信ＦＩＦＯ１２０ａ、１２０ｂに次々とパケットが転送されると、送信ＦＩＦＯ１２０ａ、１２０ｂ内のパケットが優先して送信されるため、転送ＦＩＦＯ１３０ａ、１３０ｂ内のパケットの送出が滞り、フロー制御の発動や、転送バッファのオーバーフローが発生し、イサーネット８２０ａ、８２０ｂの通信効率が低下することになる。
【００５５】
そこで、本実施形態における転送制御回路２００は、送信ＦＩＦＯ１２０ａ、１２０ｂと転送ＦＩＦＯ１３０ａ、１３０ｂの使用率を常に監視して、転送ＦＩＦＯ１３０ａ、１３０ｂの使用率が予め定められた閾値（優先順位変更用閾値）を超えた場合は、転送ＦＩＦＯ１３０ｂ、（１３０ａ）内のパケットを送信ＦＩＦＯ１２０ａ、（１２０ｂ）内のパケットに優先して送出することで、転送ＦＩＦＯ１３０ａ、１３０ｂのオーバーフローを回避し、イサーネット８２０ａ、８２０ｂの通信効率の低下を防ぐこととしている。
【００５６】
すなわち、転送判定回路２００とバスＩ／Ｆ回路４００は、転送ＦＩＦＯ１３０ａ、１３０ｂの使用率が閾値（優先順位変更用閾値）を超えたときには転送ＦＩＦＯ１３０ａ、１３０ｂに対する優先順位をＣＰＵ１の生成による送信パケットよりも高くして、送信パケットに優先して転送用パケットを指定のＭＡＣ３００ａまたはＭＡＣ３００ｂに出力する転送制御手段として構成されている。
【００５７】
このように、本実施形態によれば、転送ＦＩＦＯ１３０ａ、１３０ｂの使用率が閾値を超えたときには転送パケットに対する優先順位を送信パケットよりも高くして、送信パケットに優先して転送用パケットを指定の通信手段に出力するようにしているため、転送ＦＩＦＯ１３０ａ、１３０ｂのオーバーフローを回避し、イサーネット８２０ａ、８２０ｂの通信効率の低下を防止することができる。
【００５８】
以上の処理により、２チャネル通信モジュール４はパケットの送信、受信、転送処理を実現することができる。
【００５９】
次に、本発明に係るパケット通信装置をＩＰ電話に適応したときのパケット通信システムの実施形態を図１２にしたがって説明する。
【００６０】
ＩＰ電話８０００ａは、２つのイサーネット８２０ａ、８２０ｂに接続されており、一方のイサーネット８２０ａはインターネットやイントラネットに接続されているＨＵＢ８１００に接続され、他方のイサーネット８２０ｂはイサーネット通信装置８３０としてのＰＣに接続されている。ＨＵＢ８１００はインターネットやイントラネットなどのＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して、ＩＰ電話８０００ｂと、ホームページデータを保持しているデータセンサ８２００に接続されている。
【００６１】
ＩＰ電話８０００は、その内部に２チャネル通信装置８００、２つのＰＨＹ８１０ａ、８１０ｂ、受話器８０１０、アナログ信号である音声入力信号をディジタル信号に変換するＡ／Ｄ変換器８０２０、その逆にディジタル信号をアナログ信号である音声出力信号に変換するＤ／Ａ変換器８０３０備えて構成されている。受話器８０１０は、音声をアナログ信号に変換するマイク８０１１と、アナログ信号である音声出力信号を音声に変換するスピーカ８０１２を備えて構成されている。
【００６２】
ＩＰ電話８０００ａとＩＰ電話８０００ｂとの間の通話は以下のようにして行われる。ＩＰ電話８０００ａのマイク８０１１より入力された音声は、Ａ／Ｄ変換器８０２０によりディジタル信号に変換されて２チャネル通信装置８００に入力される。２チャネル通信装置８００内のＣＰＵ１は、ディジタル信号を音声パケットに変換し、送信パケットとして、ＭＡＣ３００ａからイサーネット８２０ａに送信する。イサーネット８２０ａに送信されたパケットは、ＨＵＢ８１００ａからＷＡＮを通って相手側のＩＰ電話８０００ｂに送られる。相手側のＩＰ電話８０００ｂは、ＩＰ電話８０００ａが送信した音声パケットを受信すると、２チャネル通信装置８００内のＣＰＵ１で、受信した音声パケットを音声データに変換してＤ／Ａ変換器８０３０に出力する。この音声データはＤ／Ａ変換器８０３０によりアナログ信号である音声信号に変換され、スピーカ８０１２から音声として出力される。ＩＰ電話８０００ｂからＩＰ電話８０００ａに対する通信処理も同様に行われ、ＩＰ電話８０００ａとＩＰ電話８０００ｂとの間で通話が実現する。
【００６３】
次に、ＩＰ電話８０００ａを介して接続されたＰＣ８３０がデータセンタ８２００にあるホームページを読み込む処理は以下のように行われる。ＰＣ８３０がウェブブラウザを用いて、ホームページを表示する場合には、表示するホームページのＵＲＬの情報を持ったパケットがイサーネット８２０ｂに送信される。このパケットを２チャネル通信装置８００のＭＡＣ３００ｂが受信すると、このパケットの宛先のＭＡＣアドレスはＩＰ電話８０００宛ではないため、ＭＡＣ３００ａからイサーネット８２０ａに転送される。転送されたパケットは、ＨＵＢ８１００を通り、ＷＡＮを介してデータセンタ８２００に到着する。データセンタ８２００ではＰＣ８３０が送信したパケットからＵＲＬ情報を読み出し、対応するホームページの情報をパケット化して送信する。データセンタ８２００から送信されたパケットは、ＷＡＮを介してＨＵＢ８１００に到着したあとイサーネット８２０ａを介して２チャネル通信装置８００内のＭＡＣ３００ａに受け取られる。このとき２チャネル通信装置８００内の転送判定回路２００は、データセンタ８２００から送信したパケットの宛先ＭＡＣアドレスを検索してＰＣ８３０宛であると判定したときには、このパケットをイサーネット８２０ｂに転送する。ＰＣ８３０がパケットを受信すると、ＰＣ８３０では受け取ったパケットからホームページデータを取り出し、ウェブブラウザに表示する。以上の処理によりＩＰ電話８０００およびＰＣ８３０との間で通信が行われることになる。
【００６４】
次に、本発明の他の実施形態を図１３にしたがって説明する。本実施形態は、図２に示す２チャネルイサーネット通信装置８００の代わりに、２チャネルイサーネット通信装置８５０をパケット通信装置として用いたものである。本実施形態においては、２チャネルイサーネット通信装置８５０とイサーネット通信装置８３０ａ、８３０ｂとが送受信するパケットは、そのパケットが属するサービスによりリアルタイム性の要求の程度が異なることを考慮し、このサービスにしたがって送信パケットの優先順位を決定することとしている。すなわち、サービスはＩＰアドレスとその補助アドレスであるポートとの組合わせにより区別できるため、本実施形態においては、ＩＰアドレスとポートとの組合わせにしたがってリアルタイム性の要求の高いものから優先順位を割り振ることとしている。２チャネル通信装置８５０は、この優先順位にしたがって、送信および転送するパケットの順位を決定することで、各サービスが要求するリアルタイム性（ＱｏＳ）を実現することとしている。
【００６５】
２チャネルイサーネット通信装置８５０は、パケット生成処理手段としてのＣＰＵ１と、プログラムなどを記憶するメモリ２と、２チャネル通信モジュール４とを備えて構成されており、各部がバス３を介して接続されている。
【００６６】
２チャネル通信モジュール４は、バス３を介してＣＰＵ１およびメモリ２とデータの授受を行うバスＩ／Ｆ回路４５０と、送信、受信および転送パケットを保持するバッファ１５０ａ、１５０ｂと、パケットの送出および受取を行うＭＡＣ３００ａ、３００ｂと、ＭＡＣ３００ａ、３００ｂが受け取ったパケットを受信するか転送するかを判定する転送判定回路２５０と、ＭＡＣ３００ａ、３００ｂがパケットを送出するに際して、バッファ１５０ａ、１５０ｂに保持されている送信および転送パケット対する優先順位をＩＰアドレスとポートとの組合わせから判定する優先順位判定回路５００から構成されている。
【００６７】
２チャネルイサーネット通信装置８５０、イサーネット通信装置８３０ａ、８３０ｂに対する優先順位を決定するに際しては、例えば、いずれかの通信装置を優先順位制御部として用い、この優先順位制御部でＩＰアドレスとポートとの組合わせにしたがって優先順位をサービスごとに随時決定し、この決定にしたがった優先順位を各通信装置に送信することとしている。
【００６８】
バッファ１５０ａ、１５０ｂは、図１４に示すように、受信ＦＩＦＯ１６０と、転送するパケットを一時的に保持する転送ＦＩＦＯ１６５、Ｎ個の送信および転送パケットを保持する送出ＦＩＦＯ１７０−１〜ＮおよびＮ個の送出ＦＩＦＯ１７０の出力を選択するセレクタ１８０から構成されている。なお、送出ＦＩＦＯ１７０の優先順位は送出ＦＩＦＯ１７０−１が１番高く、送出ＦＩＦＯ１７０−Ｎが１番低く設定されている。各バッファ１５０ａ、１５０ｂは、バスＩ／Ｆ回路４５０とは、受信ＦＩＦＯ１６０の出力１９０と、転送ＦＩＦＯ１６５の出力１９１と、送出ＦＩＦＯ１７０−１〜Ｎへの入力１９２とで接続され、転送判定回路２５０とは、受信ＦＩＦＯ１６０への入力１９５、転送ＦＩＦＯ１６５への入力１９６、送出ＦＩＦＯ１７０−１〜Ｎの出力を選択するセレクタ１８０の出力１９７およびセレクタ１８０の選択制御信号１９８とで接続されている。
【００６９】
ここで、バッファ１５０ａ、１５０ｂ内の受信、転送、送出ＦＩＦＯをそれぞれ受信ＦＩＦＯ１６０ａ、１６０ｂ、転送ＦＩＦＯ１６５ａ、１６５ｂ、送出ＦＩＦＯ１７０−１〜Ｎａ、１７０−１〜Ｎｂと呼ぶこととする。この場合、送出ＦＩＦＯはリアルタイム性に関する優先順位に対応づけて送信用パケットを保持する送信用バッファ手段を構成することになる。
【００７０】
優先順位判定回路５００は、図１５に示すように、２つのＣＡＮ５１０ａ、５１０ｂおよびレジスタ５２０ａ、５２０ｂから構成されている。各ＣＡＮ５１０ａ、５１０ｂは、図１６に示すように、各エントリにはＩＰアドレスがＩＰｖ４（バージョン４：３２ビット）またはＩＰｖ６（バージョン６：１２８ビット）かを示す情報と、ＩＰアドレスとポートとの組合わせと、それに対応して送出ＦＩＦＯ１７０−１〜Ｎのうちどの送出ＦＩＦＯに転送するかを示す優先度情報およびワークエリアが設定されており、アドレスの代わりにＩＰアドレスとポートとの組合わせを入力として、この入力と一致する入力ＩＰアドレスとポートの組合わせを持つエントリの優先度情報を出力するようになっている。またワークエリアはＣＰＵ１がエントリの更新を行う際に使用する。また複数のエントリでＩＰアドレスとポートとの組合わせの一致が発生した場合、ｉｎｄｅｘ番号が１番若いエントリの情報を出力する。またこの優先度判定回路５００のエントリの設定および更新はＣＰＵ１により設定される。
【００７１】
一方、レジスタ５２０ａ、５２０ｂは、図１７に示すように、３本のレジスタＲ５２０１、Ｒ５２０２、Ｒ５２０３から構成されている。レジスタＲ５２０１は、ＣＰＵ１により設定され、バスＩ／Ｆ回路４５０からの問い合わせのあったＩＰアドレスとポートの組合わせがＣＡＭ５１０に登録されていなかった場合の出力値を保持する。また、その際のＩＰアドレスをレジスタＲ５２０２に、ポートをレジスタＲ５２０３に保持し、ＣＰＵ１にＣＡＭ５１０の更新要求を割込みとして出力する。
【００７２】
バスＩ／Ｆ回路４５０は、入出力バッファ４４０、制御回路４６０、セレクタ４８１、４８２ａ、４８２ｂを備えて構成されている。制御回路４６０は、メモリ２内の送信ディスクリプタ２１ａ、２１ｂと、転送ＦＩＦＯ１６５ａ、１６５ｂと、受信ＦＩＦＯ１６０ａ、１６０ｂをそれぞれ監視し、ＣＰＵ１により送信ディスクリプタ２１ａ、２１ｂにパケットが登録されたことを検出したときには、入出力バッファ４４０を入力状態とし、バス３を介して、送信ディスクリプタ２１ａ、２１ｂ内のパケットを読み出す。このあと読み出したパケットのうちＩＰアドレスとポートとの組合わせから、ＣＡＭ５１０ａ、５１０ｂにバッファ１５０ａ、１５０ｂ内の送出ＦＩＦＯ１７０−１〜Ｎａ、ｂに転送するか否かを問い合わせ、セレクタ４８２ａ、４８２ｂを入出力バッファ４４０側に切替て、入出力バッファ４４０から出力されたパケットを、ＣＡＭ５１０ａ、５１０ｂにより定められた送出ＦＩＦＯ１７０ａ、１７０ｂに転送する。同様に、制御回路４６０は、転送判定回路２５０により転送ＦＩＦＯ１６５ａ、１６５ｂにパケットが転送されたことを確認すると、優先順位判定回路５００に当該パケットのＩＰアドレスとポートとの組合わせから、送出ＦＩＦＯ１７０−１〜Ｎａ、ｂに転送するか否かを問い合わせ、セレクタ４８２ａ、４８２ｂを転送ＦＩＦＯ１６５ｂ、１６０ａ側に切替て、転送ＦＩＦＯ１６５ｂ、１６５ａからのパケットをＣＡＭ５１０ａ、５１０ｂにより定められた転送ＦＩＦＯ１７０ａ、１７０ｂに転送する。
【００７３】
さらに、転送判定２５０により、ＭＡＣ３００ａ、３００ｂが受け取ったパケットが受信ＦＩＦＯ１６０ａ、１６０ｂに転送されると、制御回路４６０は、入出力バッファ４４０を出力状態として、セレクタ４８１を受信ＦＩＦＯ１６０ａ、１６０ｂの出力１９０ａ、１９０ｂを選択させ、選択したパケットをバス３を介して、メモリ２内の受信ディスクリプタ２２ａ、２２ｂに転送する。
【００７４】
一方、転送判定回路２５０は、図１９に示すように、制御回路２６０ａ、２６０ｂ、レジスタ２７０ａ、２７０ｂ、ＣＡＭ２８０ａ、２８０ｂを備えて構成されている。制御回路２６０ａ、２６０ｂは、ＭＡＣ３００ａ、３００ｂが受け取ったパケットをＣＡＭ２８０ａ、２８０ｂに問い合わせ、受信、転送、受信＆転送および破棄するか否かを判定するとともに、バッファ１５０ａ、１５０ｂ内のセレクタ１８０を制御するようになっている。ＣＡＭ２８０ａ、２８０ｂには、ＭＡＣ３００ａ、３００ｂが受け取ったパケットを受信、転送、受信＆転送、破棄するかの情報を保持するように構成されている。
【００７５】
具体的には、レジスタ２７０ａ、２７０ｂは、図２０に示すように、３本のレジスタＲ２７０１、Ｒ２７０２、Ｒ２７００３を備えて構成されている。レジスタＲ２７０１には、ＭＡＣ３００ａ、３００ｂが受け取ったパケットの宛先ＭＡＣアドレスがＣＡＭ２８０ａ、２８０ｂに未登録だった際に、受信、転送、受信＆転送、破棄することをが設定されている。レジスタＲ２７０２には、優先切替を行う送出ＦＩＦＯ１７０−１〜Ｎａ、ｂ共通の使用率の各閾値が設定されている。レジスタＲ２７０３には、フロー制御を発動する送出ＦＩＦＯ１７０−１〜Ｎａ、ｂ共通の使用率の閾値が設定されている。各閾値は０〜１００％まで選択可能であり、０％の指定時は無効設定となる。
【００７６】
各制御回路２６０ａ、２６０ｂは、Ｎ個の送出ＦＩＦＯ１７０−１〜Ｎの使用率を監視し、送出ＦＩＦＯ１７０−１〜Ｎの使用率がレジスタ２７０２に保持された閾値以下の場合は、優先度の１番高いパケットを保持している送出ＦＩＦＯ１７０の出力を選択するための制御信号１９８をセレクタ１８０に出力する。一方、送出ＦＩＦＯ１７０の使用率がレジスタＲ２７０２に設定された閾値を超えている場合は、閾値を越えている送出ＦＩＦＯ１７０の出力を選択するための選択信号１９８をセレクタ１８０に出力する。
【００７７】
また、同様に、送出ＦＩＦＯ１７０−１〜Ｎａ、ｂの使用率が１つでもレジスタＲ２７０３に保持された閾値（フロー制御用の閾値）を越えている場合は、フロー制御用のパケットをＭＡＣ３００ａ、３００ｂを介してイサーネット８２０ａ、８２０ｂに出力させる。
【００７８】
これにより、通常時は、送出ＦＩＦＯ１７０−１〜Ｎに保持されているパケットをＭＡＣ３００ａ、３００ｂに送出させるとともに、送出ＦＩＦＯ１７０のオーバーフローを防ぐことができる。
【００７９】
またＭＡＣ３００ａ、３００ｂが受け取ったパケットの宛先ＭＡＣアドレスをＣＡＭ２８０ａ、２８０ｂに問い合わせ、受信、転送、受信＆転送および破棄するか否かを判定し、受信する場合は受信ＦＩＦＯ１６０ａ、１６０ｂに、転送する場合は、転送ＦＩＦＯ１６５ａ、１６５ｂに、受信＆転送する場合は、受信ＦＩＦＯ１６０ａ、１６０ｂと転送ＦＩＦＯ１６５ａ、１６５ｂの両方に転送する。また破棄する場合には、受信ＦＩＦＯ１６０ａ、１６０ｂと転送ＦＩＦＯ１６５ａ、１６５ｂのどちらにも転送しない。
【００８０】
次に、２チャネル通信装置８００の動作を説明する。まず、パケットの送信処理を行うに際しては、図２１に示すように、２チャネル通信モジュール４は、メモリ２内の送信ディスクリプタ２１ａ、２１ｂを監視し、ＣＰＵ１が送信ディスクリプタ２１ａ、２１ｂにパケットを書き込むと、バスＩ／Ｆ回路４５０は送信ディスクリプタ２１ａ、２１ｂから送信パケットを読み出し、このパケットのＩＰアドレスおよびポートとの組合わせから優先順位判定回路５００にパケットの優先順位を問い合わせ、その優先順位に対応する送出ＦＩＦＯ１７０ａ、１７０ｂに転送する。次に、転送判定回路２５０は、送出ＦＩＦＯ１７０−１〜Ｎａ、ｂから１番優先度の高いパケットをＭＡＣ３００ａ、３００ｂに転送し、このパケットをイサーネット８２０ａまたはイサーネット８２０ｂに送信する。図２１の例では、送信パケットのＩＰアドレスが３で、ポートが５の場合、その優先順位が２であるため、送出ＦＩＦＯ１７０−２ａに転送する。また送出ＦＩＦＯ１７０−１ａは空であるため、このパケットが１番優先度の高いパケットとなり、イサーネット８２０ａに送信される。
【００８１】
次に、受信および転送処理は、図２２に示すように、ＭＡＣ３００ａ、（３００ｂ）がパケットを受け取ると、転送判定回路２５０がパケットの宛先ＭＡＣアドレスを調べ、受信するか転送するかを判断する。転送判定回路２５０が受信すると判断したときには、このパケットを受信ＦＩＦＯ１６０ａ、（１６０ｂ）に書き込む。それを受けてバスＩ／Ｆ回路４５０が受信ＦＩＦＯ１６０ａ、（１６０ｂ）からパケットを読み出し、バス３を介してメモリ２内の受信ディスクリプタ２２ａ、（２２ｂ）に書き込む。
【００８２】
一方、転送する場合は、転送判定回路２５０は、ＭＡＣ３００ａ、（３００ｂ）が受け取ったパケットを転送ＦＩＦＯ１６５ａ、（１６５ｂ）に書き込む。それを受けて、バスＩ／Ｆ回路４５０は、転送ＦＩＦＯ１６５ａ、（１６５ｂ）からパケットを読み出し、転送順位判定回路５００より、パケットのＩＰアドレスとポートとの組合わせからパケットの優先順位を問い合わせ、その優先順位に対応する送出ＦＩＦＯ１７０ｂ、（１７０ａ）に転送する。次に、転送判定回路２５０は、送出ＦＩＦＯ１７０−１〜Ｎｂ、（ａ）から１番優先度の高いパケットをＭＡＣ３００ｂ、（３００ａ）に転送し、このパケットをイサーネット８２０ｂ、（８２０ａ）に送信する。図２２の例では、転送パケットのＩＰアドレス＝２、ポート＝１であり、その優先順位は１である。そのため、ＭＡＣ３００ａが受け取った転送パケットは、転送ＦＩＦＯ１６５ａに転送されたあと、バスＩ／Ｆ回路４５０により送出ＦＩＦＯ１７０−１ｂに転送され、ＭＡＣ３００ｂからイサーネット８２０ｂに出力される。
【００８３】
これにより、優先度の高いパケットが送信および転送されるため、リアルタイム性が要求されるサービスのパケットが優先的に送信され、ＱｏＳを実現することが可能になる。
【００８４】
また、本方式では、ＣＰＵ１が優先度判定回路５００に優先順位を登録するため、優先順位の設定がリアルタイムで自動的に行うことが可能であり、ユーザが優先順位の割り振りなどの難しい設定を行う必要はない。
【００８５】
また、２チャネル通信装置８００が受信および転送処理できるパケットの処理数をＭＡＣ３００ａ、３００ｂが受け取るパケット数を超えた場合、パケットの送信元に対してパケットの送信を一時的に控えさせるためのフロー制御が発動され、パケット処理数が受信処理数を超えるのを防ぎ、パケットが破棄されるのを防止することができる。なお、フロー制御を用いずに、パケットの破棄が発生すると、破棄されたパケットの再送を要求するパケットがイサーネット８２０ａ、８２０ｂに出力されるため、余計なパケットがイサーネット８２０ａ、８２０ｂ上に送信され、イサーネット８２０ａ、８２０ｂの効率低下を起こすことになる。
【００８６】
一方、転送判定回路２５０は、Ｎ個の送出ＦＩＦＯ１７０−１〜Ｎのいずれかのパケットを選択してＭＡＣ３００ａ、３００ｂに送出させるかのアービトレーション処理を行う。通常は、優先度の高いパケットから優先して送出するが、特定の送出ＦＩＦＯにパケットが集中し、それ以下の優先度のパケットが滞ると、フロー制御の発動や、送出ＦＩＦＯのオーバーフローが発生し、イサーネット８２０ａ、８２０ｂの通信効率が低下してしまう。
【００８７】
そこで、転送判定回路２５０は、送出ＦＩＦＯ１７０−１〜Ｎの使用率を常に監視して、転送ＦＩＦＯ１３０の使用率が予め設定された閾値（優先順位変更用閾値）を超えた場合は、閾値を超えた送出ＦＩＦＯ１７０内のパケットを優先して送出することで、イサーネット８２０ａ、８２０ｂの通信効率の低下を防止するようになっている。すなわち、転送判定回路２５０は、バスＩ／Ｆ回路４５０とともに、バッファ１５０ａ、１５０ｂに保持された送信用パケットのうち１番優先順位の高いパケットを優先度判定回路５００の判定結果にしたがって選択して送信先または転送先の通信対象（イサーネット８２０ａ、８２０ｂ）に対応した指定の通信手段（ＭＡＣ３００ａ、３００ｂ）に優先的に出力する優先パケット選択手段を構成するようになっている。
【００８８】
さらに転送判定回路２５０は、ＭＡＣ３００ａ、３００ｂの受け取ったパケットがＣＰＵ１で処理すべきパケットか転送用パケットであるか否かを判定し、この判定結果にしたがって受け取ったパケットを受信ＦＩＦＯ１６０ａ、ｂを介してメモリ２または転送ＦＩＦＯ１６５ａ、ｂを介して送出ＦＩＦＯ１７０−１〜Ｎに出力するとともに、バスＩ／Ｆ回路４５０は、ＣＰＵ１の処理によるパケットを送信用バッファ手段としての送出ＦＩＦＯ１７０−１〜Ｎに出力する転送制御手段として構成されている。
【００８９】
なお、ＭＡＣ３００ａ、３００ｂはＩＰアドレスとポートを含むパケットの送受信を行う通信手段を構成することになる。
【００９０】
前記実施形態においては、ＣＰＵ１からのパケット送信と２つのイサーネット８２０ａ、８２０ｂ間のパケットの送信とのアービトレーションにおいて、転送用バッファの使用率に閾値を設け、バッファの使用率が閾値を超えたときには、転送用バッファの優先順位を高くするようにしたため、フロー制御の発動や転送用バッファのオーバーフローを防止し、イサーネットの通信効率を向上させることができる。
【００９１】
また、ＩＰアドレスとポートとの組合わせにしたがって優先順位を設定し、この優先順位にしたがってパケットを送信および転送するようにしたため、ＱｏＳを実現することができる。さらに優先順位ごとに送信および転送パケットを保持する送出用のバッファの使用率に閾値を設け、バッファの使用率が閾値を超えたときには、その閾値を超えた送出用のバッファの優先順位を高くすることにより、フロー制御の発動や送出用のバッファのオーバーフローを防ぎ、イサーネットの通信効率を向上させることができる。
【００９２】
また、本発明に係るパケット通信装置はＩＰ電話に限らず、ＩＰテレビ電話に適用することもできる。
【００９３】
【発明の効果】
以上説明したように、本発明によれば、転送用パケットの転送に優先して送信用パケットを送信しているときに、転送用バッファ手段の使用率が閾値を超えたときには転送用パケットに対する優先度を送信用パケットよりも高くして、送信用パケットに優先して転送用パケットを指定の通信手段に出力するようにしているため、転送用バッファ手段のオーバーフローを防止することができる。
【００９４】
また、本発明によれば、ＩＰアドレスとその補助アドレスであるポートを含むパケットの送受信を行っているときに、パケットのリアルタイム性の要求にしたがって、送受信されるパケットの優先順位をＩＰアドレスとポートの組合わせにしたがって決定するようにしているため、刻一刻と変化するサービスの内容に追従してパケットを送受信することができ、リアルタイム性を確保することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示す２チャネルイサーネット通信装置のブロック構成図である。
【図２】本発明に係る２チャネルイサーネット通信装置を用いた通信ネットワークのブロック構成図である。
【図３】２チャネルイサーネット通信装置を複数台直列接続したときのシステム構成図である。
【図４】複数のイサーネット通信装置をＨＵＢに接続したときのシステム構成図である。
【図５】メモリのブロック構成図である。
【図６】バスＩ／Ｆ回路、バッファ、転送判定回路のブロック構成図である。
【図７】レジスタの構成図である。
【図８】ＣＡＭの構成図である。
【図９】転送判定回路内のセレクタの選択条件を説明するための図である。
【図１０】パケットの送信処理を説明するためのフローチャートである。
【図１１】パケットの受信・転送処理を説明するためのフローチャートである。
【図１２】２チャネルイサーネット通信装置をＩＰ電話に適応したときの通信システムの構成図である。
【図１３】本発明の第２実施形態を示す２チャネルイサーネット通信装置のブロック構成図である。
【図１４】バッファのブロック構成図である。
【図１５】優先順位判定回路のブロック構成図である。
【図１６】ＣＡＭの構成説明図である。
【図１７】レジスタの構成説明図である。
【図１８】バスＩ／Ｆ回路のブロック構成図である。
【図１９】転送判定回路のブロック構成図である。
【図２０】レジスタの構成説明図である。
【図２１】パケットの送信処理を説明するためのフローチャートである。
【図２２】パケットの受信・転送処理を説明するためのフローチャートである。
【符号の説明】
１  ＣＰＵ
２  メモリ
３  バス
４  ２チャネル通信モジュール
１００ａ、１００ｂ  バッファ
１１０ａ、１１０ｂ  受信ＦＩＦＯ
１２０ａ、１２０ｂ  送信ＦＩＦＯ
１３０ａ、１３０ｂ  転送ＦＩＦＯ
２００  転送判定回路
３００ａ、３００ｂ  イサーネットＭＡＣ
４００  バスＩ／Ｆ回路
８１０ａ、８１０ｂ  ＰＨＹ
８２０ａ、８２０ｂ  イサーネット
１５０ａ、１５０ｂ  バッファ
２５０  転送判定回路
４５０  バスＩ／Ｆ回路
３００ａ、３００ｂ  イサーネットＭＡＣ
４５０  バスＩ／Ｆ回路
５００  優先度判定回路
【図１】
0003735755.tif 000002
【図２】
0003735755.tif 000003
【図３】
0003735755.tif 000004
【図４】
0003735755.tif 000005
【図５】
0003735755.tif 000006
【図６】
0003735755.tif 000007
【図７】
0003735755.tif 000008
【図８】
0003735755.tif 000009
【図９】
0003735755.tif 000010
【図１０】
0003735755.tif 000011
【図１１】
0003735755.tif 000012
【図１２】
0003735755.tif 000013
【図１３】
0003735755.tif 000014
【図１４】
0003735755.tif 000015
【図１５】
0003735755.tif 000016
【図１６】
0003735755.tif 000017
【図１７】
0003735755.tif 000018
【図１８】
0003735755.tif 000019
【図１９】
0003735755.tif 000020
【図２０】
0003735755.tif 000021
【図２１】
0003735755.tif 000022
【図２２】
0003735755.tif 000023