(57)【特許請求の範囲】
【請求項１】
複数に分類されたデータを、当該分類ごとに設定された転送レートで送信する送信装置であって、
上記分類されたデータのデータ長を検出し、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間を算定する算定手段と、
送信データの上記データ送信期間が開始する時点を上記分類ごとに検出し、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間を上記分類ごとに計時し、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かを上記分類ごとに判定する判定手段と、
各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間を上記分類ごとに集計し、当該集計された時間を上記分類間で比較した結果に基づいて一の分類を選択し、当該選択された分類が上記判定手段において送信可能であると判定された場合、当該分類のデータを送信する送信手段と
を有する送信装置。
【請求項２】
上記送信手段は、一の分類において次に送信されるデータの上記転送時間と当該分類の送信待ち時間との合計時間と、他の分類の上記送信待ち時間との差を、上記送信停止時間として集計する、
請求項１に記載の送信装置。
【請求項３】
上記送信手段は、一の分類において次に送信されるデータの上記転送時間と当該分類の送信待ち時間との合計時間と、他の分類の上記送信待ち時間と上記分類ごとに設定されるマージン時間との合計時間との差を、上記送信停止時間として集計する、
請求項１に記載の送信装置。
【請求項４】
上記判定手段は、送信データの上記データ送信期間が開始する時点として、当該送信データの送信開始時点を検出する、
請求項１に記載の送信装置。
【請求項５】
供給されるデータを、当該データに含まれる所定の情報に応じて上記複数のデータに分類する分類手段を有する、
請求項１に記載の送信装置。
【請求項６】
上記分類されたデータを受けて、少なくとも当該データが送信されるまで、当該データを上記分類ごとに蓄積するデータ蓄積手段を有する、
請求項１に記載の送信装置。
【請求項７】
上記データ蓄積手段は、送信されるデータを、データが蓄積された順序に応じた順序で上記送信手段に提供する、
請求項６に記載の送信装置。
【請求項８】
上記算定手段において算定された上記データ送信期間を蓄積し、蓄積されたデータ送信期間を、当該算定元のデータが送信される順序に応じた順序で上記判定手段に提供する第１の算定値蓄積手段を有する、
請求項７に記載の送信装置。
【請求項９】
上記算定手段において算定された上記データ転送時間を蓄積し、蓄積されたデータ転送時間を、当該算定元のデータが送信される順序に応じた順序で上記送信手段に提供する第２の算定値蓄積手段を有する、
請求項７に記載の送信装置。
【請求項１０】
複数に分類されたデータを、当該分類ごとに設定された転送レートで送信する送信方法であって、
上記分類されたデータのデータ長を検出し、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間を算定する算定ステップと、
送信データの上記データ送信期間が開始する時点を上記分類ごとに検出し、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間を上記分類ごとに計時し、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かを上記分類ごとに判定する判定ステップと、
各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間を上記分類ごとに集計し、当該集計された時間を上記分類間で比較した結果に基づいて一の分類を選択し、当該選択された分類が上記判定ステップにおいて送信可能であると判定された場合、当該分類のデータを送信する送信ステップと
を有する送信方法。
【請求項１１】
上記送信ステップは、一の分類において次に送信されるデータの上記転送時間と当該分類の送信待ち時間との合計時間と、他の分類の上記送信待ち時間との差を、上記送信停止時間として集計する、
請求項１０に記載の送信方法。
【請求項１２】
上記送信ステップは、一の分類において次に送信されるデータの上記転送時間と当該分類の送信待ち時間との合計時間と、他の分類の上記送信待ち時間と上記分類ごとに設定されるマージン時間との合計時間との差を、上記送信停止時間として集計する、
請求項１０に記載の送信方法。
【請求項１３】
上記判定ステップは、送信データの上記データ送信期間が開始する時点として、当該送信データの送信開始時点を検出する、
請求項１０に記載の送信方法。
【請求項１４】
供給されるデータを、当該データに含まれる所定の情報に応じて上記複数のデータに分類する分類ステップを有する、
請求項１０に記載の送信方法。
【請求項１５】
データが入出力される複数のノードと、上記ノードのそれぞれに対応する複数の送信装置を有し、一のノードに受信されたデータを他のノードの対応する送信装置から送信するデータ中継装置であって、
上記送信装置は、
上記ノードに受信されたデータを、当該データに含まれる所定の情報に応じて複数のデータに分類する分類手段と、
上記分類手段において分類されたデータのデータ長を検出し、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間を算定する算定手段と、
送信データの上記データ送信期間が開始する時点を上記分類ごとに検出し、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間を上記分類ごとに計時し、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かを上記分類ごとに判定する判定手段と、
各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間を上記分類ごとに集計し、当該集計された時間を上記分類間で比較した結果に基づいて一の分類を選択し、当該選択された分類が上記判定手段において送信可能であると判定された場合、当該分類のデータを送信する送信手段とを含む、
データ中継装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数に分類されたデータを、当該分類ごとに設定された転送レートで送信する送信装置およびその方法、ならびに、データが入出力される複数のノードを有し、一のノードに受信されたデータを他のノードから送信するデータ中継装置に係り、例えば、インターネットなどのネットワークに接続された端末装置に含まれる送信装置およびその方法、ならびに、ネットワーク間に設置されるネットワーク中継器に関するものである。
【０００２】
【従来の技術】
近年におけるネットワークの広帯域化に伴って、従来のようにテキストや静止画像などの比較的小容量で時間的な連続性が要求されないデータに代わり、音楽や映像といった大容量でリアムタイムの伝送が要求されるＡＶデータが、ネットワーク上を大量に流通されつつある。
【０００３】
ＡＶデータのように時間的に連続性のあるデータを、データの受信と並行してリアルタイムで再生させるために必要な条件は、送信されたデータが必要な時刻に受信側へ到着することである。受信データをリアルタイムに再生させる場合、通常、受信されたデータを再生までの間蓄積させる受信バッファが受信側に設けられる。もしデータの転送レートが遅く、データの再生時刻に受信側へデータが到着しなければ、受信バッファは枯渇してまい、受信側におけるデータの再生は中断されてしまう。また、もしデータの転送レートが速すぎれば、受信側に設けられた受信バッファの容量を越えてしまい、データがオーバーフローを起こしてしまう。そこで、データの伝送経路上に必要な帯域を確保して、この帯域が種々の要因に影響されないように保証するデータ伝送の仕組みを設ける必要がある。
【０００４】
このようなＱｏＳ（Quality of Service：サービスの質）を実現する方法として、従来においては例えばパケットに与えた分類ごとに優先度をつけて、優先度の高いパケットを優先的に処理する方法や、データフローやセッションごとにあらかじめ設定された帯域を超えないようにパケットの送信を処理する方法が一般的に用いられている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の方法においては、データの転送レートに発生する時間的なばらつき（ジッタ）について何の対策もなされていない。すなわち、比較的長い期間で見た場合には従来の方法で確かに一定の転送レートが得られるものの、短い期間で見た場合には転送レートにジッタが発生している。
【０００６】
このジッタは、例えばデータフローごとに設定された転送レートを保持するようにそれぞれのデータフローで決定されたパケットの送信タイミングが、異なるデータフローの間で衝突している場合にで発生する。この場合において一方のデータフローのパケットが送信されると、送信されなかった他方のデータフローのパケットは、送信可能な状態であっても送信を停止される。従来の方法では、このジッタの影響を考慮してパケットの送信が処理されていないため、帯域が設定されていながら転送レートに大きなジッタが発生する場合があった。
【０００７】
転送レートに大きなジッタが発生してしまうと、受信バッファが小さい場合に、前述したような受信バッファのアンダーフローやオーバーフローが発生して、データのリアルタイム再生に悪影響を与えてしまう問題がある。特に安価な端末においては、受信バッファの容量を大きくとれないので、ジッタの影響を受けやすくなる問題がある。
【０００８】
本発明はかかる事情に鑑みてなされたものであり、その目的は、複数に分類されたデータを、当該分類ごとに設定された転送レートで送信する場合に発生する転送レートのジッタを低減できる送信装置およびその方法ならびにデータ中継装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するため、本発明の送信装置は、複数に分類されたデータを、当該分類ごとに設定された転送レートで送信する送信装置であって、上記分類されたデータのデータ長を検出し、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間を算定する算定手段と、送信データの上記データ送信期間が開始する時点を上記分類ごとに検出し、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間を上記分類ごとに計時し、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かを上記分類ごとに判定する判定手段と、各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間を上記分類ごとに集計し、当該集計された時間を上記分類間で比較した結果に基づいて一の分類を選択し、当該選択された分類が上記判定手段において送信可能であると判定された場合、当該分類のデータを送信する送信手段とを有する。
【００１０】
本発明の送信装置によれば、上記算定手段において、上記分類されたデータのデータ長が検出され、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間が算定される。上記判定手段においては、送信データの上記データ送信期間が開始する時点が上記分類ごとに検出され、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間が上記分類ごとに計時され、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かが上記分類ごとに判定される。上記送信手段においては、各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間が上記分類ごとに集計され、当該集計された時間が上記分類間で比較された結果に基づいて一の分類が選択される。そして、当該選択された分類が上記判定手段において送信可能であると判定された場合、当該分類のデータが送信される。
【００１１】
本発明の送信方法は、複数に分類されたデータを、当該分類ごとに設定された転送レートで送信する送信方法であって、上記分類されたデータのデータ長を検出し、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間を算定する算定ステップと、送信データの上記データ送信期間が開始する時点を上記分類ごとに検出し、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間を上記分類ごとに計時し、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かを上記分類ごとに判定する判定ステップと、各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間を上記分類ごとに集計し、当該集計された時間を上記分類間で比較した結果に基づいて一の分類を選択し、当該選択された分類が上記判定ステップにおいて送信可能であると判定された場合、当該分類のデータを送信する送信ステップとを有する。
【００１２】
本発明の送信方法によれば、上記算定ステップにおいて、上記分類されたデータのデータ長が検出され、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間が算定される。上記判定ステップにおいては、送信データの上記データ送信期間が開始する時点が上記分類ごとに検出され、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間が上記分類ごとに計時され、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かが上記分類ごとに判定される。上記送信ステップにおいては、各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間が上記分類ごとに集計され、当該集計された時間が上記分類間で比較された結果に基づいて一の分類が選択され、当該選択された分類が上記判定ステップにおいて送信可能であると判定された場合、当該分類のデータが送信される。
【００１３】
本発明のデータ中継装置は、データが入出力される複数のノードと、上記ノードのそれぞれに対応する複数の送信装置を有し、一のノードに受信されたデータを他のノードの対応する送信装置から送信するデータ中継装置であって、上記送信装置は、上記ノードに受信されたデータを、当該データに含まれる所定の情報に応じて複数のデータに分類する分類手段と、上記分類手段において分類されたデータのデータ長を検出し、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間、および当該データの転送開始から終了までに要するデータ転送時間を算定する算定手段と、送信データの上記データ送信期間が開始する時点を上記分類ごとに検出し、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間を上記分類ごとに計時し、当該計時された送信待ち時間に基づいて、次に送信されるデータが送信可能であるか否かを上記分類ごとに判定する判定手段と、各分類において次に送信されるデータの上記転送時間、および各分類の上記送信待ち時間に基づいて、一の分類のデータ送信時に、他の分類のデータが送信可能な状態で送信を停止される時間を上記分類ごとに集計し、当該集計された時間を上記分類間で比較した結果に基づいて一の分類を選択し、当該選択された分類が上記判定手段において送信可能であると判定された場合、当該分類のデータを送信する送信手段とを含む。
【００１４】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照しながら説明する。
図１は、本発明に係る送信装置を含んだ端末装置が接続されるネットワークの構成例を示す図である。図１において、１はインターネットなどのネットワークを、２は携帯電話を、３および４はパーソナルコンピュータを、５はＰＤＡ（Personal Digital Assistants）を、６はネットワーク中継器をそれぞれ示している。
【００１５】
携帯電話２、パーソナルコンピュータ３、パーソナルコンピュータ４およびＰＤＡ５は、何れもＡＶデータの送受信可能な端末装置であり、図１の構成例において互いの端末装置へＡＶデータを双方向に通信可能である。このうち、携帯電話４およびパーソナルコンピュータ３は、ネットワーク・インターフェース部分に本発明に係る送信装置が内蔵されている。
ネットワーク中継器６は、データが入出力可能な３つのノードを有しており、１のノードに受信されたデータを、データの送信先に応じて選択した他のノードから送信する。このネットワーク中継器６のネットワーク・インターフェース部分にも、本発明に係る送信装置が内蔵されている。
【００１６】
図１に示すように、携帯電話２、パーソナルコンピュータ３、およびネットワーク中継器６は、それぞれネットワークノードＮ１、ネットワークノードＮ２およびネットワークノードＮ５を介してネットワーク１に接続されており、相互の端末間でＡＶデータを双方向に送受信している。
また、パーソナルコンピュータ４およびＰＤＡ５は、それぞれネットワークノードＮ３およびネットワークノードＮ４を介してネットワーク中継器６に接続されており、ネットワーク中継器６を中継して他の端末装置との間でＡＶデータを双方向に送受信している。
【００１７】
上述したように、携帯電話２、パーソナルコンピュータ３、およびネットワーク中継器６には本発明に係る送信装置が内蔵されており、これによってジッタの低減されたＡＶデータの通信が実現されている。また、パーソナルコンピュータ４およびＰＤＡ５には本発明に係る送信装置が内蔵されていないものの、ネットワーク中継器６を介してデータの送受信が行われるため、これらの端末装置についても、ジッタの低減された通信が実現されている。すなわち、本発明に係る送信装置によって、図１に示す全ての端末装置間でジッタの低減された通信が実現されている。
【００１８】
図２は、本発明に係る送信装置を含んだ端末装置（図１の例においては携帯電話２、パーソナルコンピュータ３、パーソナルコンピュータ４およびＰＤＡ５）に共通の内部構成例を示す図である。図２において、７はＣＰＵ（Central Processing Unit ）を、８はメモリを、９はネットワーク・インターフェース部をそれぞれ示している。
ＣＰＵ７は、図示しないプログラムメモリに記憶されたプログラムを読み込んで、プログラムに応じた種々の処理を行なう。ネットワークノードＮからパケットを受信する場合には、メモリ８やネットワーク・インターフェース部９を制御して、ネットワークノードＮから受信したパケットをメモリ８に一時的に蓄積（キャッシュ）させる。その後、このキャッシュされたパケットからパケット化される前のＡＶデータを再生して、映像や音楽を再生する処理を行う。
ネットワークノードＮへパケットを送信する時には、送信データをパケット化してメモリ８にキャッシュさせる。そして、メモリ８にキャッシュされたデータをネットワークインターフェース部９に転送させ、ネットワーク・インターフェース部９からネットワークノードＮに送信させる。
【００１９】
メモリ８は、バスＢＵＳを介して入力されたパケットをキャッシュするとともに、ＣＰＵ７やネットワーク・インターフェース部９などからの要求に応じて、キャッシュされたパケットをバスＢＵＳに出力する。
ネットワーク・インターフェース部９は、端末装置内部のバスＢＵＳを介してＣＰＵ７やメモリ８との間で入出力されるデータを、ネットワークノードＮを介して接続されるネットワークの通信規格に基づいた送受信データに変換し、ネットワークを介した端末装置間のパケット通信を行う。また、ネットワークノードＮにデータを送信する送信部（後述）において、送信データのジッタを低減させる処理が行われる。
【００２０】
図３は、図２に示すネットワーク・インターフェース部９の内部構成例を示す図である。図３において、１０は内部バス・インターフェース部を、１１は送信部を、１２はリンク層処理部を、１３は物理層処理部をそれぞれ示している。
【００２１】
内部バス・インターフェース部１０は、端末装置の内部バスＢＵＳから入力される送信データを受けて、これを送信部１１に出力するとともに、リンク層処理部１２から受けた受信データを、内部バスＢＵＳに出力して、このデータをＣＰＵ７やメモリ８に入力させる。
【００２２】
送信部１１は、内部バス・インターフェース部１０から送信データを入力して、ジッタを低減させるための後述する処理を行い、この処理によって決定された送信順序および送信タイミングによって、送信データをリンク層処理部１２に出力する。
【００２３】
リンク層処理部１２は、ＯＳＩ（Open Systems Interconnection）参照モデルにおけるデータリンク層に相当する処理を行うブロックである。送信部１１から入力したデータを物理層処理部１３に出力するとともに、物理層処理部１３において受信したデータを内部バス・インターフェース部１０に出力する。
物理層処理部１３は、ＯＳＩ参照モデルにおける物理層に相当する処理を行うブロックである。リンク層処理部１２から入力したデータをネットワークノードＮへ送信するとともに、ネットワークノードＮから受信したデータをリンク層処理部１２へ出力する。
【００２４】
ここで、ＯＳＩ参照モデルについて図４を参照しながら説明する。ＯＳＩ参照モデルは、ＩＳＯ（International Organization for Standardization）において標準化された、通信機能の階層構造である。ＯＳＩ参照モデルにおいて、通信機能は７階層に分けられており、各層ごとに標準的な機能モジュールが定義されている。
第１層（物理層）は、データを通信回線に送出するための電気的な変換や機械的な作業を受け持つ機能モジュールであり、ピンの形状やケーブルの特性なども第１層において定められる。
第２層（データリンク層）は、通信相手との物理的な通信路を確保し、通信路を流れるデータのエラー検出などを行う機能モジュールである。
第３層（ネットワーク層）は、送信先にデータを届けるための通信経路の選択や、通信経路内のアドレス（住所）の管理を行う機能モジュールである。
第４層（トランスポート層）は、送信先まで確実に効率よくデータを届けるためのデータ圧縮や誤り訂正、再送制御などを行う機能モジュールである。
第５層（セッション層）は、通信プログラム同士がデータの送受信を行うための仮想的な経路（コネクション）の確立や解放を行う機能モジュールである。
第６層（プレゼンテーション層）は、第５層から受け取ったデータをユーザが分かりやすい形式に変換したり、第７層から送られてくるデータを通信に適した形式に変換する機能モジュールである。
第７層（アプリケーション層）は、データ通信を利用した様々なサービスをユーザや他のプログラムに提供する機能モジュールである。
【００２５】
次に、図３に示す送信部１１の構成について、詳細に説明する。
図５は、本発明の送信装置の一実施形態である送信部１１の概略的な構成図を示す図である。図５において、２１は入力インターフェース部を、２２はセパレータを、２３はスケジューラを、２４は出力インターフェース部を、３１〜３ｎはパラメータ算定部を、４１〜４ｎはタイミング判定部を、５１〜５ｎは送信期間パラメータ用キューを、６１〜６ｎは転送時間パラメータ用キューを、７１〜７ｎは送信データ用キューをそれぞれ示している。
なお、セパレータ２２は、本発明の分類手段の一実施形態である。
スケジューラ２３は、本発明の送信手段の一実施形態である。
パラメータ算定部３１〜パラメータ算定部３ｎは、本発明の算定手段の一実施形態である。
タイミング判定部４１〜タイミング判定部４ｎは、本発明の判定手段の一実施形態である。
送信期間パラメータ用キュー５１〜送信期間パラメータ用キュー５ｎは、本発明の第１の算定値蓄積手段の一実施形態である。
転送時間パラメータ用キュー６１〜転送時間パラメータ用キュー６ｎは、本発明の第２の算定値蓄積手段の一実施形態である。
送信データ用キュー７１〜送信データ用キュー７ｎは、本発明のデータ蓄積手段の一実施形態である。
【００２６】
入力インターフェース部２１は、内部バスインターフェース部１０から受けた送信データＳ１をセパレータ２２に出力する。
出力インターフェース部２４は、スケジューラから出力された送信データを受けて、これをリンク層処理部１２に出力する。
【００２７】
セパレータ２２は、入力インターフェース部２１から供給された送信データＳ１に含まれる所定の情報、例えばパケットのヘッダ情報から、データを送受信する端末装置の情報（例えば送信側アドレスおよび受信側アドレスなど）や、送信されるデータの種類に関する情報（例えばＡＶデータやテキストデータなどの種類）を検出する。そして、この検出結果から、データをあらかじめ定めた複数のカテゴリに分類し、カテゴリごとに設けられた送信データ用キュー７１〜送信データ用キュー７ｎにデータを振り分ける。
【００２８】
送信データ用キュー７１〜送信データ用キュー７ｎは、セパレータ２２によってカテゴリごとに振り分けられた送信データを蓄積する待ち行列である。セパレータ２２から送信データ用キューに供給された送信データは待ち行列の最後尾につなげられ、この待ち行列の先頭から順番にデータが送信される。
すなわち送信データ用キューは、少なくともスケジューラによって送信されるまで、セパレータ２２から供給された送信データを蓄積する。また、送信データ用キューに蓄積されたデータは、セパレータ２２から供給されて蓄積された順序で、スケジューラから送信される。
【００２９】
パラメータ算定部３１〜パラメータ算定部３ｎは、セパレータ２２においてそれぞれの分類に対応するキュー（送信データ用キュー７１〜送信データ用キュー７ｎ）に振り分けられた送信データのデータ長を検出する。そして、この検出されたデータ長から２つのパラメータ、送信期間パラメータＴｉおよび転送時間パラメータＴｐを計算する。計算結果のパラメータは、それぞれに対応するキューである送信期間パラメータ用キュー５１〜送信期間パラメータ用キュー５ｎまたは転送時間パラメータ用キュー６１〜転送時間パラメータ用キュー６ｎに蓄積される。
【００３０】
転送時間パラメータＴｐは、データの転送開始から終了までに要する時間に関するパラメータであり、以下の式で表される
【００３１】
【数１】
Ｔｐ  ＝  Ｌ×（１／Ｍ）  ・・・・（１）
【００３２】
但し、データ長Ｌは、送信データのデータ長の検出値である。また、最大転送レートＭは、データがネットワークへ送信される場合における最大の転送レートであり、ネットワークの通信方式および端末装置の仕様に応じて決定される値である。
【００３３】
また送信期間パラメータＴｉは、各カテゴリに分類された送信データが、前後に送信される同一カテゴリのデータの送信期間に対して有すべき送信期間に関するパラメータである。
各カテゴリにはそれぞれ所定の保証帯域Ｗが定めれており、この保証帯域Ｗ以下の転送レートでデータが送信されることが要求されている。この保証帯域Ｗの要求を満たすために、データ長Ｌのデータを送信する期間は、最大転送レートでデータを送信する時間に比べて長い、ある一定の送信期間Ｔｉを有する必要がある。この送信期間Ｔｉでは一つのカテゴリで一つのデータのみが送信され、その前後に送信される同一カテゴリのデータの送信期間Ｔｉと重なることは許されない。もし重なってしまうと、それによって送信期間Ｔｉが短くなることになり、保証帯域Ｗが要求するデータの転送レートを越えてしまうからである。すなわち、あるデータ長Ｌを有するデータは、前後に送信される同一カテゴリのデータの送信期間と重ならないように、保証帯域Ｗに応じた送信期間Ｔｉを有する必要がある。
【００３４】
送信期間パラメータＴｉは、転送時間パラメータＴｐ、最大転送レートＭ、保証帯域Ｗ、およびデータ長Ｌによって、次式のように表される。
【００３５】
【数２】
Ｔｉ  ＝  Ｔｐ×（Ｍ／Ｗ）  ＝  Ｌ×（１／Ｗ）  ・・・・（２）
【００３６】
パラメータ算定部３１〜パラメータ算定部３ｎにおいては、式（１）および式（２）に示す計算が実行されて、送信データ用キューに供給される各データについての送信期間パラメータＴｉおよび転送時間パラメータＴｐが計算される。計算に際して用いられる保証帯域Ｗの値は、それぞれのパラメータ算定部３１〜パラメータ算定部３ｎたいして個別に設定されており、また、最大転送レートＭの値は、通常全てのパラメータ算定部に対して共通の値が設定されている。
【００３７】
なお、図５に示した例においては、セパレータ２２から出力されて各送信データ用キューの最後尾につなげられる各送信データについて送信期間パラメータＴｉおよび転送時間パラメータＴｐが計算されているが、本発明はこれに限定されず、例えば送信データ用キューにおけるデータ列の途中にある送信データから各パラメータを計算しても良いし、あるいはスケジューラにより送信される直前の送信データについて各パラメータを計算しても良い。いずれにしても、これらのパラメータがタイミング判定部４１やスケジューラ２３において必要とされるタイミングまでに、パラメータの計算が終了していれば良い。
【００３８】
送信期間パラメータ用キュー５１〜送信期間パラメータ用キュー５ｎは、パラメータ算定部３１〜パラメータ算定部３ｎにおいて計算された各送信データの送信期間パラメータＴｉが蓄積される待ち行列である。図５の例においては、送信期間パラメータＴｉの計算元となった送信データと同じ順番で送信期間パラメータ用キューの最後尾につなげられるので、計算元となった送信データが送信される順番になったときに、これと同じ順番で、この送信データに対応する送信期間パラメータＴｉが送信期間パラメータ用キューから出力される。送信期間パラメータ用キューから出力された送信期間パラメータＴｉは、タイミング判定部４１〜タイミング判定部４ｎにそれぞれ供給される。
【００３９】
転送時間パラメータ用キュー６１〜転送時間パラメータ用キュー６ｎは、パラメータ算定部３１〜パラメータ算定部３ｎにおいて計算された各送信データの転送時間パラメータＴｐが蓄積される待ち行列である。図５の例においては、転送時間パラメータＴｐの計算元となった送信データと同じ順番で転送時間パラメータ用キューの最後尾につなげられるので、計算元となった送信データが送信される順番になったときに、これと同じ順番で、この送信データに対応する転送時間パラメータＴｐが送信期間パラメータ用キューから出力される。転送時間パラメータ用キューから出力された転送時間パラメータＴｐは、スケジューラ２３に供給される。
【００４０】
タイミング判定部４１〜タイミング判定部４ｎは、次に送信が予定される送信データの送信期間パラメータＴｉを送信期間パラメータ用キューから入力し、この送信データの送信期間が開始したことを知らせるスケジューラ２３からの信号Ｓ９に同期して、入力した送信期間パラメータＴｉで指定されるデータ送信期間の終了時刻までの待ち時間Ｔａを計時する。計時した待ち時間Ｔａは、待ち時間信号Ｓ１０としてスケジューラ２３に出力される。また、待ち時間Ｔａがゼロになり、データ送信期間の終了時刻に到達した場合には、データの送信可能を通知する信号Ｓ１１をアサートして、スケジューラ２３にデータが送信可能であることを通知する。
【００４１】
例えば、送信期間パラメータ用キューから入力した送信期間パラメータＴｉをダウンカウンタの初期値としてセットさせ、送信期間の開始を知らせる信号Ｓ９に同期して減数をスタートさせても良い。この場合、一定の時間間隔で値が減少するダウンカウンタの出力値は、待ち時間時間Ｔａを示す待ち時間信号Ｓ１０としてスケジューラ２３に出力される。また、ダウンカウンタの値がゼロに到達した時点で、データの送信可能を通知する信号Ｓ１１がアサートされる。
【００４２】
スケジューラ２３は、各カテゴリの送信データから、信号Ｓ１１によって送信可能であることが通知されたカテゴリの送信データを、所定のアルゴリズムで選択して出力するブロックである。送信データの選択においては、各送信データ用キューにおいて次に送信が予定される送信データの転送時間パラメータＴｐおよび待ち時間Ｔａが使用される。アルゴリズムの詳細については後述する。
【００４３】
またスケジューラ２３は、データ送信期間の開始時点を知らせる信号Ｓ９を各カテゴリごとに生成して、該当するカテゴリのタイミング判定部４１〜タイミング判定部４ｎにそれぞれ出力する。なお、データ送信期間の開始時点として、好適にはデータの転送が開始される時点が設定される。ただし、データ送信期間の開始時点とデータ転送の開始時点とが必ずしも一致している必要はなく、データの転送は送信期間内の任意の時間で行っても良い。
【００４４】
次に、上述した構成を有する図５に示した送信装置の動作について、詳細に説明する。
入力インターフェース部２１からセパレータ２２に入力された送信データは、セパレータ２２において各カテゴリごとに分類され、カテゴリに応じた送信データ用キュー７１〜送信データ用キュー７ｎに供給される。
【００４５】
また、各カテゴリごとに設けられたパラメータ算定部３１〜パラメータ算定部３ｎにおいて各送信データのデータ長が検出され、式（１）および式（２）に示した計算処理によって、各送信データの送信期間パラメータＴｉおよび転送時間パラメータＴｐが算定される。
【００４６】
パラメータ算定部３１において算定された送信期間パラメータＴｉは、各カテゴリごとに設けられた送信期間パラメータ用キュー５１〜送信期間パラメータ用キュー５ｎにそれぞれ供給される。また、パラメータ算定部３１において算定された転送時間パラメータＴｐも、転送時間パラメータ用キュー６１〜転送時間パラメータ用キュー６ｎに供給される。これらのパラメータは、計算元の送信データと同じ順番でキューに供給されるので、計算元の送信データが送信される順番になったとき、これと同じ順番で、それぞれのパラメータのキューから出力される。
【００４７】
スケジューラ２３においてデータの送信が決定され、データ送信期間の開始時点を知らせる信号Ｓ９が生成されてタイミング判定部に検出されると、この検出時点に同期して、送信されるデータの送信期間パラメータＴｉで指定される送信期間の終了時刻までの待ち時間Ｔａが、タイミング判定部において計時される。計時された待ち時間Ｔａは、待ち時間信号Ｓ１０としてスケジューラ２３に出力される。また、データ送信期間の終了時刻に到達した場合には、データの送信可能を通知する信号Ｓ１１がアサートされて、スケジューラ２３にデータが送信可能であることが通知される。
【００４８】
スケジューラ２３においては、送信データ用キュー７１〜送信データ用キュー７ｎの最前列で次の送信を待つ送信データの中から、上述した待ち時間信号Ｓ１０、データの送信可能を通知する信号Ｓ１１および転送時間パラメータＴｐに基づいて、一つの送信データが選択される。そして、選択された送信データが出力インターフェース部２４から送信される。この選択アルゴリズムについて図６を参照しながら説明する。
【００４９】
図６は、スケジューラ２３によってキューに蓄積されたパケットが送信される処理を説明するフローチャートである。
ステップＳＴ１：
送信データ用キュー７１〜送信データ用キュー７ｎに、パケットが有るか否かが判断される。パケットが有る場合にはステップＳＴ２に処理が移行され、無い場合にはステップＳＴ３に処理が移行される。
【００５０】
ステップＳＴ２：
待ち時間Ｔａおよび転送時間Ｔｐが、各カテゴリのタイミング判定部および転送時間パラメータ用キューからスケジューラ２３に読み込まれ、後述する計算式に基づいて、各カテゴリのデータを送信した場合に発生するジッタが計算される。計算されたジッタは、各カテゴリごとに集計される。
【００５１】
ステップＳＴ３：
送信データ用キュー７１〜送信データ用キュー７ｎの全てについてステップＳＴ１またはステップＳＴ２の処理が終了したか否かが判断される。終了が判断された場合にはステップＳＴ４に処理が移行され、まだ終了していないと判断された場合には、ステップＳＴ１に戻り、処理が反復される。
【００５２】
ステップＳＴ４：
ステップＳＴ２において計算された、各カテゴリごとのジッタの集計値が比較され、ジッタが最小になるカテゴリの送信データ用キューが選択される。
【００５３】
ステップＳＴ５：
ステップＳＴ４において選択されたカテゴリの送信データ用キューにおいて、データの送信が可能であるか否かが、タイミング判定部が出力する信号Ｓ１１により判断される。送信可能であると判断された場合には、ステップＳＴ６に処理が移行され、送信可能でないと判断された場合には、ステップＳＴ１に戻り、処理が反復される。
ステップＳＴ６：
ステップＳＴ４において選択されたカテゴリの送信データ用キューから、送信待ちのデータを送信することが決定される。これにより、このデータの送信期間の開始を知らせる信号Ｓ９がタイミング判定部に出力さる。また、このデータが出力インターフェース部２４に送信される。
【００５４】
ここで、上述したステップＳＴ２における、ジッタの集計方法について説明する。カテゴリの個数Ｎ、ｋ番目のカテゴリにおける待ち時間Ｔａk および転送時間Ｔｐk によって、ｋ番目のカテゴリにおけるジッタの集計値Ｓ〔ｋ〕は以下の様に計算される。
【００５５】
【数３】
0004380062.tif 000002
【００５６】
ただしｉ≠ｋかつ１≦ｉ≦Ｎである。
式（３）において、Σ記号の中の式によって示される時間は、カテゴリｋのデータが送信された場合に、他のカテゴリｉのデータが送信可能な状態のまま送信が停止される時間（ジッタ）を示している。すなわち式（３）に示すジッタの集計値Ｓ〔ｋ〕においては、カテゴリｋのデータが送信されることによってカテゴリｉのデータ送信に発生するジッタが、カテゴリｋを除くすべての他のカテゴリについて集計されている。
【００５７】
図７は、各キューからデータが送信された場合に発生するジッタについて説明するための図である。図７ａ、図７ｂおよび図７ｃは、それぞれ異なるカテゴリおける待ち時間Ｔａと転送時間Ｔｐの関係を示している。
【００５８】
式（３）におけるジッタ時間は、図７ａのカテゴリにおいて時間Ｔ１２および時間Ｔ１３であり、図７ｂのカテゴリにおいて時間Ｔ２１および時間Ｔ２３であり、図７ｃのカテゴリにおいて時間Ｔ３１および時間Ｔ３２である。図からも分かるように、一のカテゴリにおいてデータの送信が開始されると、他のカテゴリにおいて待ち時間Ｔａがゼロになっていながら送信が停止されてしまう時間（ジッタ）が発生してしまう。式（３）においては、このジッタが各カテゴリごとに集計されている。
【００５９】
式（３）におけるジッタ時間の集計値Ｓ〔ｋ〕は、図７ａのカテゴリにおいて（時間Ｔ１２）＋（時間Ｔ１３）により計算される。同様に、図７ｂのカテゴリにおいて（時間Ｔ２１）＋（時間Ｔ２３）により計算され、図７ｃのカテゴリにおいて（時間Ｔ３１）＋（時間Ｔ３２）により計算される。この集計値を比較して示したのが、図７における右側の図であり、図７の例においては、図７ａのカテゴリが最も集計値Ｓ〔ｋ〕が小さくなることがわかる。
【００６０】
なお、各カテゴリごとにジッタのマージン時間Ｔｍが設定されている場合には、ジッタ時間の集計値Ｓ〔ｋ〕として以下の式を採用しても良い。
【００６１】
【数４】
0004380062.tif 000003
【００６２】
ただし、ｉ≠ｋかつ１≦ｉ≦Ｎである。
式（４）においては、式（３）において計算されるジッタから、各カテゴリごとに設定されたジッタのマージン時間Ｔｍが減算されている。したがって、マージン時間Ｔｍが大きく設定されているほど、ジッタ時間の集計値Ｓ〔ｋ〕は少なく見積もられる。
【００６３】
また、式（３）および式（４）に代わり、以下の式によって求められる集計値Ｓ〔ｋ〕が最大になるカテゴリの送信データ用キューを、ステップＳＴ４において選択させても良い。
【００６４】
【数５】
0004380062.tif 000004
【数６】
0004380062.tif 000005
【００６５】
式（５）および式（６）に示す式は、一のカテゴリにおいてデータが送信された場合に、他のカテゴリのデータ送信にジッタを発生させない余裕時間を集計していると見なすことができる。
【００６６】
次に、図５において示した送信装置を含む、本発明のデータ中継装置の実施形態について説明する。
図８は、本発明に係るデータ中継装置の一実施形態を示す概略的な構成図であり、図３と図８の同一符号は同一の構成要素を示している。また、送信部１１’は送信部１１と、リンク層処理部１２’はリンク層処理部１２と、物理層処理部１３’は物理層処理部１３とそれぞれ同一の内部構成を有している。
【００６７】
図８に示すデータ中継装置は、ネットワークに対してデータの入出力が可能な２つのノードを有しており、ネットワークノードＮ６から受信されたデータは、物理層処理部１３’、リンク層処理部１２’、送信部１１、リンク層処理部１２、および物理層処理部１３を経て、ネットワークノードＮ７へ送信される。同様に、ネットワークノードＮ７から受信されたデータは、物理層処理部１３、リンク層処理部１２、送信部１１、リンク層処理部１２’、および物理層処理部１３’を経て、ネットワークノードＮ６へ送信される。
【００６８】
図８に示すデータ中継装置には、送信側および受信側の何れにも送信データのジッタを低減させる機能を有した送信装置１２および送信装置１２’が設けられているので、このデータ中継装置を中継してデータを送信させることにより、例えば送信装置１２を備えていない端末装置どうしの間でも、低ジッタの通信が可能になる。
【００６９】
図９は、本発明に係るデータ中継装置の別の実施形態を示す概略的な構成図であり、図３と図９の同一符号は同一の構成要素を示している。図９のデータ中継装置は、図３に示したネットワークインターフェース部９を複数設けて、この内部バス側を共通に接続させた構成を有している。これにより、一のネットワークノードに受信されたデータを、データの送信先に応じて選択された他のネットワークノードから送信させることが可能である。ネットワークノードの選択は、例えばリンク層処理部１２において、受信データに含まれるデータの送信先に関する所定の情報に応じて選択される。図９のデータ中継装置において、例えばノード数が３以上の場合には、図１に示すネットワーク中継器６を構成させることができる。
【００７０】
以上説明したように、図５に示した送信装置によれば、パラメータ算定部において、分類されたデータのデータ長が検出され、当該検出されたデータ長、および当該データが属する分類に設定された転送レートに基づいて、当該データと同一分類のデータが前後に送信される期間に対して当該データが有すべきデータ送信期間パラメータＴｉ、および当該データの転送開始から終了までに要するデータ転送時間パラメータＴｐが算定される。また、タイミング判定部においては、送信データのデータ送信期間が開始する時点がカテゴリごとに検出され、当該検出された開始時点に同期して、当該データ送信期間が終了する時点に到達するまでの送信待ち時間Ｔａがカテゴリごとに計時され、当該計時された送信待ち時間Ｔａに基づいて、送信データ用キューにおいて次に送信されるデータが送信可能であるか否かがカテゴリごとに判定される。さらに、スケジューラ２３においては、各カテゴリにおいて次に送信されるデータの転送時間パラメータＴｐ、および各カテゴリの送信待ち時間Ｔａに基づいて、一のカテゴリのデータ送信時に、他のカテゴリのデータが送信可能な状態で送信を停止されるジッタ時間がカテゴリごとに集計され、当該集計されたジッタ時間がカテゴリ間で比較された結果に基づいて一のカテゴリが選択され、当該選択されたカテゴリがタイミング判定部において送信可能であると判定された場合、当該カテゴリに対応する送信データ用キューに蓄積されたデータが送信される。したがって、従来の方式で発生したいたネットワークのジッタを低減でき、送信データの品質を向上できる。これにより、受信側において設けられる受信バッファを小容量にできるので、端末装置のコストを低減できる。また、図８および図９に示したデータ中継装置によれば、従来の方式で発生していたネットワークのジッタを低減でき、送信データの品質を向上できる。これにより、受信側において設けられる受信バッファを小容量にできるので、データ中継装置を介して通信を行う端末装置のコストを低減できる。さらに、端末装置側において図５に示した送信装置を備える必要がなくなるので、端末装置のコストを更に低減できる。
【００７１】
【発明の効果】
本発明によれば、従来の方式で発生していたネットワークのジッタを低減でき、送信データの品質を向上できる。これにより、受信側において設けられる受信バッファを小容量にできるので、通信を行う端末装置のコストを削減できる。
【図面の簡単な説明】
【図１】本発明に係る送信装置を含んだ端末装置が接続されるネットワークの構成例を示す図である。
【図２】本発明に係る送信装置を含んだ端末装置に共通の内部構成例を示す図である。
【図３】図２に示すネットワーク・インターフェース部の内部構成例を示す図である。
【図４】ＯＳＩ参照モデルについて説明するための図である。
【図５】本発明に係る送信装置の実施形態の概略的な構成を示す図である。
【図６】スケジューラによってキューに蓄積されたパケットが送信される処理を説明するフローチャートである。
【図７】各キューからデータが送信された場合に発生するジッタについて説明するための図である。
【図８】本発明に係るデータ中継装置の一実施形態を示す概略的な構成図である。
【図９】本発明に係るデータ中継装置の別の実施形態を示す概略的な構成図である。
【符号の説明】
１…ネットワーク、２…携帯電話、３，４…パーソナルコンピュータ、５…ＰＤＡ、６…ネットワーク中継器、７…ＣＰＵ、８…メモリ、９…ネットワーク・インターフェース部、１０…内部バス・インターフェース部、１１，１１’…送信部、１２，１２’…リンク層処理部、１３，１３’…物理層処理部、２１…入力インターフェース部、２２…セパレータ、２３…スケジューラ、２４…出力インターフェース部、３１〜３ｎ…パラメータ算定部、４１〜４ｎ…タイミング判定部、５１〜５ｎ…送信期間パラメータ用キュー、６１〜６ｎ…転送時間パラメータ用キュー、７１〜７ｎ…送信データ用キュー
【図１】
0004380062.tif 000006
【図２】
0004380062.tif 000007
【図３】
0004380062.tif 000008
【図４】
0004380062.tif 000009
【図５】
0004380062.tif 000010
【図６】
0004380062.tif 000011
【図７】
0004380062.tif 000012
【図８】
0004380062.tif 000013
【図９】
0004380062.tif 000014