(57)【要約】【課題】処理負担の増大や制御の複雑さなどの問題を生じることなく、送信パケットの送信ビット列を生成するまでの処理レイテンシーを低減できるようにする。【解決手段】送信パケット生成回路１５は、送信パケット組み立て回路１６、送信ビット列生成回路１７および書き込み処理回路１８によって構成する。送信パケット組み立て回路１６では、送信バッファ２１から送信データについての送信情報を読み込んで、ヘッダを組み立て、送信データの全てにつき、送信情報を読み込んで、送信パケットを組み立てたら、送信パケットの構成に関する情報を送信ビット列生成回路１７および書き込み処理回路１８に転送する。送信ビット列生成回路１７は、送信データメモリ３１から送信データを読み込んで、送信パケットの送信ビット列を生成し、物理レイヤに転送する。書き込み処理回路１８は、各データについての付随情報を送信バッファ２１に順次書き込む。【選択図】図４
2007243297.tif 000002
【特許請求の範囲】
【請求項１】
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立て、送信データメモリから、送信データのビット列を読み込んで、送信パケットの送信ビット列を生成する送信パケット組み立て手段と、
この送信パケット組み立て手段での送信ビット列生成後、前記送信バッファに、送信パケットの生成に付随する情報を書き込む書き込み処理手段と、
を備えることを特徴とする送信パケット生成装置。
【請求項２】
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立て、送信パケットの構成に関する情報を出力する送信パケット組み立て手段と、
この送信パケット組み立て手段から転送された前記送信パケット構成情報を取得して、送信データメモリから、送信データのビット列を読み込み、送信パケットの送信ビット列を生成する送信ビット列生成手段と、
前記送信パケット組み立て手段から転送された前記送信パケット構成情報を取得して、前記送信バッファに、送信パケットの生成に付随する情報を書き込む書き込み処理手段と、
を備えることを特徴とする送信パケット生成装置。
【請求項３】
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立てる第１ステップと、
この第１ステップ後、送信データメモリから、送信データのビット列を読み込んで、送信パケットの送信ビット列を生成する第２ステップと、
この第２ステップ後、前記送信バッファに、送信パケットの生成に付随する情報を書き込む第３ステップと、
を備えることを特徴とする送信パケット生成方法。
【請求項４】
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立てる第１ステップと、
この第１ステップ後、送信データメモリから、送信データのビット列を読み込んで、送信パケットの送信ビット列を生成する第２ステップと、
前記第１ステップ後、前記第２ステップとの並列処理によって、前記送信バッファに、送信パケットの生成に付随する情報を書き込む第３ステップと、
を備えることを特徴とする送信パケット生成方法。
【請求項５】
送信パケットの生成のためにコンピュータを、
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立て、送信データメモリから、送信データのビット列を読み込んで、送信パケットの送信ビット列を生成する手段、および、
前記送信ビット列生成後に、前記送信バッファに、送信パケットの生成に付随する情報を書き込む手段、
として機能させる送信パケット生成用プログラム。
【請求項６】
送信パケットの生成のためにコンピュータを、
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立てる手段、
送信データメモリから、送信データのビット列を読み込んで、送信パケットの送信ビット列を生成する手段、および、
その送信ビット列生成と並列して、前記送信バッファに、送信パケットの生成に付随する情報を書き込む手段、
として機能させる送信パケット生成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、送信パケットを生成する装置および方法、および送信パケット生成用のコンピュータプログラムに関する。
【背景技術】
【０００２】
無線通信などによりデータを送信する場合、図１に示すような構成の送信パケットを生成する。
【０００３】
図１（Ａ）は、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）レイヤにおける一般的なパケットの構成例を示す。
【０００４】
ＭＡＣヘッダには、送信アドレス、受信アドレス、シーケンス制御情報、フレーム制御情報、アクセス情報などが含まれている。ＭＡＣヘッダのあとのＨＣＳ（Ｈｅａｄｅｒ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）、およびペイロードのあとのＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）は、それぞれ受信側でＭＡＣヘッダおよびペイロードの誤りを検出するための検査符号である。
【０００５】
図１（Ｂ）は、データが多重されたパケットの構成例を示す。この場合、ＭＡＣヘッダは、各データに共通のヘッダ情報からなる共通ヘッダと、各データに固有のヘッダ情報からなる個別ヘッダとに分けることができる。この例は、Ｍ個のデータが多重された場合である。
【０００６】
このような構成の送信パケットを生成する装置（回路）は、従来、図７に示すような構成とされている。
【０００７】
送信パケット組み立て回路７１は、送信パケット生成回路を構成するもので、その外部回路として、送信バッファ２１、送信バッファ管理回路２３、送信データメモリ３１、およびメモリ管理回路３３が設けられる。
【０００８】
送信データメモリ３１には、送信すべきデータ本体のビット列が書き込まれている。
【０００９】
送信バッファ２１には、送信待ち状態にあるデータ、または送信済みであるが送信先ノードから受信完了通知を受けていないデータについての、宛先、優先度、種類、長さ、送信データメモリ３１の当該データが書き込まれているアドレスなどの送信情報が保持されている。
【００１０】
送信バッファ管理回路２３は、送信パケット組み立て回路７１および他の回路ブロックからの送信バッファ２１へのアクセスが競合した場合の調停を行いつつ、送信バッファ２１に対する情報の読み書きを行うものであり、メモリ管理回路３３は、送信パケット組み立て回路７１および他の回路ブロックからの送信データメモリ３１へのアクセスが競合した場合の調停を行いつつ、送信データメモリ３１に対するデータの読み書きを行うものである。
【００１１】
送信パケット組み立て回路７１は、送信パケット生成回路として、送信すべきデータや制御信号を決定し、ＭＡＣヘッダを組み立て、送信パケットの送信ビット列を生成する。
【００１２】
具体的に、送信パケット組み立て回路７１は、まず、送信バッファ管理回路２３を介して送信バッファ２１から、送信データについての送信情報を読み込んで、そのデータや制御信号の個別ヘッダを組み立てる。次に、送信パケット組み立て回路７１は、送信が決定した当該データについてのシーケンス番号などの付随情報を、送信バッファ管理回路２３を介して送信バッファ２１に書き込む。
【００１３】
送信データの全てにつき、送信バッファ２１からの送信情報の読み込み、および送信バッファ２１への付随情報の書き込みを行ったら、送信パケット組み立て回路７１は、メモリ管理回路３３を介して送信データメモリ３１から、送信データのビット列を読み込んで、送信パケットの送信ビット列を生成し、物理レイヤに転送する。
【００１４】
図８に、以上のような従来の送信パケット生成処理を示す。この送信パケット生成処理では、まずステップ８１でループ処理を行い、次にステップ８２で、送信バッファ２１から１番目のデータについての送信情報を読み込み、次にステップ８３で、送信パケットを組み立て、次にステップ８４で、送信バッファ２１に１番目のデータについての付随情報を書き込む。
【００１５】
次にステップ８５で、２番目以降のデータにつき、同様の処理を行うか否かを判断し、行うときには、ステップ８２に戻って、２番目以降のデータにつき、同様の処理を行う。
【００１６】
送信データの全てにつき、以上の処理を行ったときには、ステップ８６に進んで、送信データメモリ３１から送信データのビット列を読み込んで、送信ビット列を生成し、さらにステップ８７に進んで、その送信ビット列を物理レイヤに転送する。
【００１７】
しかしながら、以上の従来の送信パケット生成方法では、送信データの全てにつき、送信バッファ２１から送信情報を読み込み、送信バッファ２１に付随情報を書き込んだ後、送信データメモリ３１から送信データを読み込んで、送信パケットの送信ビット列を生成するので、データの多重数が多い場合には、付随情報の送信バッファ２１への書き込みを何回も繰り返すことになり、送信ビット列を生成転送するまでの処理レイテンシーが増大してしまう。
【００１８】
これに対して、特許文献１（特開平８−２６５２８４号公報）には、ＴＤＭＡ−ＴＤＤ通信方式（時分割多元接続−時分割複信方式）の圧縮バッファおよび伸張バッファの書き込み処理および読み出し処理を制御するバッファ制御方法において、クロックを高速にして、送信フレームの前半期間内に書き込み処理を終了し、当該フレームの後半期間内に読み出し処理を終了することによって、圧縮バッファおよび伸張バッファを１面構成とした場合でも、バッファへの書き込みとバッファからの読み出しとを切り替えができるようにすることが示されている。
【００１９】
上に挙げた先行技術文献は、以下の通りである。
【特許文献１】特開平８−２６５２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、特許文献１に示された方法のようにクロック速度を高くする方法は、装置の処理負担が重くなり、制御が複雑になり、消費電力も増大する問題がある。
【００２１】
そこで、この発明は、処理負担の増大や制御の複雑さなどの問題を生じることなく、送信パケットの送信ビット列を生成するまでの処理レイテンシーを低減させることができるようにしたものである。
【課題を解決するための手段】
【００２２】
第１の発明の送信パケット生成装置は、
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立て、送信データメモリから、送信データのビット列を読み込んで、送信パケットの送信ビット列を生成する送信パケット組み立て手段と、
この送信パケット組み立て手段での送信ビット列生成後、前記送信バッファに、送信パケットの生成に付随する情報を書き込む書き込み処理手段と、
を備えることを特徴とする。
【００２３】
第２の発明の送信パケット生成装置は、
送信バッファから、送信データについての送信情報を読み込んで、送信パケットを組み立て、送信パケットの構成に関する情報を出力する送信パケット組み立て手段と、
この送信パケット組み立て手段から転送された前記送信パケット構成情報を取得して、送信データメモリから、送信データのビット列を読み込み、送信パケットの送信ビット列を生成する送信ビット列生成手段と、
前記送信パケット組み立て手段から転送された前記送信パケット構成情報を取得して、前記送信バッファに、送信パケットの生成に付随する情報を書き込む書き込み処理手段と、
を備えることを特徴とする。
【００２４】
上記の構成の第１の発明の送信パケット生成装置では、時間的に、最初に＜１＞送信バッファからの送信情報の読み込みによる送信パケットの組み立て、次に＜２＞送信データメモリからの送信データの読み込みによる送信ビット列の生成、最後に＜３＞送信バッファへの付随情報の書き込み、という順序で、一連の処理が実行されることになり、送信ビット列を生成するまでの処理レイテンシーが低減する。
【００２５】
第２の発明の送信パケット生成装置でも、上記＜２＞の処理と上記＜３＞の処理とが並列に実行されることによって、送信ビット列を生成するまでの処理レイテンシーが低減する。
【００２６】
しかも、いずれの発明の送信パケット生成装置でも、クロックを高速にするなどの必要がないので、処理負担の増大や制御の複雑さなどの問題を生じることがない。
【発明の効果】
【００２７】
以上のように、この発明によれば、処理負担の増大や制御の複雑さなどの問題を生じることなく、送信パケットの送信ビット列を生成するまでの処理レイテンシーを低減させることができる。
【発明を実施するための最良の形態】
【００２８】
［１．第１の実施形態：図２、図３および図６（Ａ）］
図２に、この発明の送信パケット生成装置の一例を示す。
【００２９】
この例の送信パケット生成装置は、送信パケット生成回路１１として、送信パケット組み立て回路１２および書き込み処理回路１３によって構成され、送信パケット生成回路１１（送信パケット生成装置）の外部回路として、送信バッファ２１、送信バッファ管理回路２３、送信データメモリ３１、およびメモリ管理回路３３が設けられる。
【００３０】
送信バッファ２１、送信バッファ管理回路２３、送信データメモリ３１、およびメモリ管理回路３３は、それぞれ図７に示したものと同じである。
【００３１】
すなわち、送信データメモリ３１には、送信すべきデータ本体のビット列が書き込まれている。
【００３２】
送信バッファ２１には、送信待ち状態にあるデータ、または送信済みであるが送信先ノードから受信完了通知を受けていないデータについての、宛先、優先度、種類、長さ、送信データメモリ３１の当該データが書き込まれているアドレスなどの送信情報が保持されている。
【００３３】
送信バッファ管理回路２３は、送信パケット生成回路１１および他の回路ブロックからの送信バッファ２１へのアクセスが競合した場合の調停を行いつつ、送信バッファ２１に対する情報の読み書きを行うものであり、メモリ管理回路３３は、送信パケット生成回路１１および他の回路ブロックからの送信データメモリ３１へのアクセスが競合した場合の調停を行いつつ、送信データメモリ３１に対するデータの読み書きを行うものである。
【００３４】
送信パケット組み立て回路１２は、送信すべきデータや制御信号を決定し、ＭＡＣヘッダを組み立て、送信パケットの送信ビット列を生成するとともに、送信ビット列生成後（生成直後）、書き込み処理回路１３に、後述のような送信パケット構成情報を転送して、送信バッファへの付随情報の書き込みを指示するものである。
【００３５】
具体的に、送信パケット組み立て回路１２は、まず、送信バッファ管理回路２３を介して送信バッファ２１から、送信データについての送信情報を読み込んで、そのデータや制御信号の個別ヘッダを組み立てる。
【００３６】
送信データの全てにつき、送信情報を読み込んで、送信パケットを組み立てたら、送信パケット組み立て回路１２は、メモリ管理回路３３を介して送信データメモリ３１から、送信データのビット列を読み込んで、ＭＡＣヘッダ、ＨＣＳ、ペイロードおよびＦＣＳからなる送信パケットの送信ビット列を生成し、物理レイヤに転送する。
【００３７】
さらに、送信パケット組み立て回路１２は、送信ビット列を生成転送したら直ちに、ビット列を生成した送信データの個数や、送信バッファ２１のビット列を生成した送信データについての送信情報が書き込まれている先頭アドレスなどの送信パケット構成情報（送信パケットの構成に関する情報）を、書き込み処理回路１３に転送して、書き込み処理回路１３に対して、送信パケットを構成する各データについての、送信シーケンス番号、フラグメント番号、再送に関する情報などの付随情報の、送信バッファ２１への書き込みを指示する。
【００３８】
書き込み処理回路１３は、その送信パケット構成情報を受け取って、各データについての付随情報を、送信バッファ管理回路２３を介して送信バッファ２１に順次書き込む。
【００３９】
図３に、この図２の例の、送信パケット組み立て回路１２および書き込み処理回路１３からなる送信パケット生成回路１１が行う以上のような送信パケット生成処理を示す。
【００４０】
この例の送信パケット生成処理では、まずステップ４１で、送信パケット組み立て回路１２が、送信バッファ２１から送信情報を読み込んで送信パケットを組み立て、次にステップ４２で、送信パケット組み立て回路１２が、送信データメモリ３１から送信データを読み込んで送信ビット列を生成し、次にステップ４３で、送信パケット組み立て回路１２が、その生成した送信ビット列を物理レイヤに転送し、次にステップ４４で、書き込み処理回路１３が、送信バッファ２１に付随情報を書き込む。
【００４１】
図７に示した送信パケット組み立て回路７１による上述した従来の送信パケット生成方法では、例えばデータ多重数Ｍが３の場合、図６（Ｃ）に示すように、最初に期間Ｒ１で１番目のデータについての送信情報が読み込まれ、次に期間Ｗ１で１番目のデータについての付随情報が書き込まれ、次に期間Ｒ２で２番目のデータについての送信情報が読み込まれ、次に期間Ｗ２で２番目のデータについての付随情報が書き込まれ、次に期間Ｒ３で３番目のデータについての送信情報が読み込まれ、次に期間Ｗ３で３番目のデータについての付随情報が書き込まれ、最後に期間ＴＸで送信ビット列が生成される結果、送信パケットの生成が完了するのは、図示する時点ｔｃとなる。
【００４２】
これに対して、図２の例の送信パケット生成回路１１による送信パケット生成方法では、同じくデータ多重数Ｍが３の場合、図６（Ａ）に示すように、最初に期間Ｒ１，Ｒ２，Ｒ３で、それぞれ１番目、２番目、３番目のデータについての送信情報が順次読み込まれ、次に期間ＴＸで送信ビット列が生成され、最後に期間Ｗ１，Ｗ２，Ｗ３で、それぞれ１番目、２番目、３番目のデータについての付随情報が順次書き込まれる結果、送信パケットの生成が完了するのは、図示する時点ｔａとなり、従来の送信パケット生成方法と比べて、送信パケットの送信ビット列を生成するまでの処理レイテンシーを低減させることができる。
【００４３】
図６は、データ多重数Ｍが３の場合であるが、データ多重数Ｍが、より多い場合には、処理レイテンシーは、より低減する。
【００４４】
図２の例のような、図３に示した処理を行う送信パケット生成装置は、ハードウェア回路のみによって構成することもでき、コンピュータプログラムを用いた構成とすることもできる。
【００４５】
後者の場合、送信パケット生成装置は、ＣＰＵ、送信パケット生成用プログラムや必要なデータが書き込まれたＲＯＭ、およびプログラムやデータが展開されるＲＡＭなどによって構成し、ＣＰＵが送信パケット生成用プログラムに従って上述した送信パケット生成処理を実行するように構成する。
【００４６】
［２．第２の実施形態：図４、図５および図６（Ｂ）］
図４に、この発明の送信パケット生成装置の他の例を示す。
【００４７】
この例の送信パケット生成装置は、送信パケット生成回路１５として、送信パケット組み立て回路１６、送信ビット列生成回路１７および書き込み処理回路１８によって構成され、送信パケット生成回路１５の外部回路として、送信バッファ２１、送信バッファ管理回路２３、送信データメモリ３１、およびメモリ管理回路３３が設けられる。
【００４８】
送信バッファ２１、送信バッファ管理回路２３、送信データメモリ３１、およびメモリ管理回路３３は、それぞれ図７に示したものと、すなわち図２に示したものと、同じである。
【００４９】
送信パケット組み立て回路１６および送信ビット列生成回路１７は、図２の例の送信パケット組み立て回路１２を分割したものであり、書き込み処理回路１８は、図２の例の書き込み処理回路１３と同じ処理を行うが、この例では、送信ビット列生成回路１７および書き込み処理回路１８が、以下の処理を並列に行うものである。
【００５０】
具体的に、送信パケット組み立て回路１６は、送信バッファ管理回路２３を介して送信バッファ２１から、送信データについての送信情報を読み込んで、そのデータや制御信号の個別ヘッダを組み立て、送信データの全てにつき、送信情報を読み込んで、送信パケットを組み立てたら、ヘッダの組み立ておよび送信するデータについての情報を、送信パケット構成情報として、送信ビット列生成回路１７および書き込み処理回路１８に転送して、送信ビット列生成回路１７に対しては、送信ビット列の生成を指示し、書き込み処理回路１８に対しては、送信パケットを構成する各データについての、送信シーケンス番号、フラグメント番号、再送に関する情報などの付随情報の、送信バッファ２１への書き込みを指示する。
【００５１】
送信ビット列生成回路１７は、送信パケット組み立て回路１６から送信パケット構成情報を受け取って、メモリ管理回路３３を介して送信データメモリ３１から、送信データのビット列を読み込み、ＭＡＣヘッダ、ＨＣＳ、ペイロードおよびＦＣＳからなる送信パケットの送信ビット列を生成し、物理レイヤに転送する。
【００５２】
一方、書き込み処理回路１８は、送信パケット組み立て回路１６から送信パケット構成情報を受け取って、各データについての付随情報を、送信バッファ管理回路２３を介して送信バッファ２１に順次書き込む。
【００５３】
この例では、送信ビット列生成回路１７を分離することによって、送信バッファ２１への付随情報の書き込みを、送信ビット列の生成と並列に早期に行うことができる。
【００５４】
また、送信ビット列は、ＭＡＣレイヤと物理レイヤとの間のインタフェースの仕様によって定められるものであり、通信システムや物理レイヤの仕様変更によって変更される可能性があるが、この例のように送信ビット列生成回路１７を分離することによって、通信システムや物理レイヤの仕様変更による送信パケット生成回路の変更を最小限にすることができる。
【００５５】
図５に、この図４の例の、送信パケット組み立て回路１６、送信ビット列生成回路１７および書き込み処理回路１８からなる送信パケット生成回路１５が行う以上のような送信パケット生成処理を示す。
【００５６】
この例の送信パケット生成処理では、まずステップ５１で、送信パケット組み立て回路１６が、送信バッファ２１から送信情報を読み込んで送信パケットを組み立て、送信ビット列生成回路１７および書き込み処理回路１８に送信パケット構成情報を転送する。
【００５７】
次に、送信ビット列生成回路１７および書き込み処理回路１８による並列処理として、送信ビット列生成回路１７は、ステップ５２で送信ビット列を生成し、ステップ５３で送信ビット列を物理レイヤに転送するとともに、書き込み処理回路１８は、ステップ５４で送信バッファ２１に付随情報を書き込む。
【００５８】
図４の例の送信パケット生成回路１５による送信パケット生成方法では、例えばデータ多重数Ｍが３の場合、図６（Ｂ）に示すように、最初に期間Ｒ１，Ｒ２，Ｒ３で、それぞれ１番目、２番目、３番目のデータについての送信情報が順次読み込まれ、次に並列処理として、一方では、期間ＴＸで送信ビット列が生成されるとともに、他方では、期間Ｗ１，Ｗ２，Ｗ３で、それぞれ１番目、２番目、３番目のデータについての付随情報が順次書き込まれる結果、送信パケットの生成が完了するのは、図２の例の送信パケット生成回路１１による送信パケット生成方法と同じく、図示する時点ｔａとなり、従来の送信パケット生成方法と比べて、送信パケットの送信ビット列を生成するまでの処理レイテンシーを低減させることができる。
【００５９】
なお、全てのデータについての付随情報の書き込みが完了する時点ｔｂは、データ多重数Ｍや、送信バッファ管理回路２３への他の回路ブロックからのアクセスの有無に応じて、時点ｔａに対しては、早くなることも、遅くなることもあるが、これらの条件が同じであれば、図２の例の送信パケット生成回路１１による送信パケット生成方法の場合の書き込み完了時点より早まる。
【００６０】
図４の例のような、図５に示した処理を行う送信パケット生成装置も、ハードウェア回路のみによって構成することもでき、コンピュータプログラムを用いた構成とすることもできる。
【００６１】
後者の場合、送信パケット生成装置は、ＣＰＵ、送信パケット生成用プログラムや必要なデータが書き込まれたＲＯＭ、およびプログラムやデータが展開されるＲＡＭなどによって構成し、ＣＰＵが送信パケット生成用プログラムに従って上述した送信パケット生成処理を実行するように構成する。
【図面の簡単な説明】
【００６２】
【図１】送信パケットの構成の一例を示す図である。
【図２】この発明の送信パケット生成装置の一例を示す図である。
【図３】図２の装置による送信パケット生成処理を示す図である。
【図４】この発明の送信パケット生成装置の他の例を示す図である。
【図５】図４の装置による送信パケット生成処理を示す図である。
【図６】この発明の方法による場合と従来の方法による場合の処理を比較して示す図である。
【図７】従来の送信パケット生成装置を示す図である。
【図８】図７の装置による送信パケット生成処理を示す図である。
【符号の説明】
【００６３】
主要部については図中に全て記述したので、ここでは省略する。
【図１】
2007243297.tif 000003
【図２】
2007243297.tif 000004
【図３】
2007243297.tif 000005
【図４】
2007243297.tif 000006
【図５】
2007243297.tif 000007
【図６】
2007243297.tif 000008
【図７】
2007243297.tif 000009
【図８】
2007243297.tif 000010