(57)【要約】【課題】  プロトコル変換に伴うデータ変換に関わる遅延時間を小さくする。【解決手段】  ＡＴＭ受信部２０は、ＡＴＭセルを順次入力し、ＤＭＡ制御回路２２は、ＡＴＭセル中のユーザ情報を順次バッファメモリ２３に書き込む。同時にＡＴＭセルのユーザ情報部分のチェックサムをチェックサム演算回路２５で計算し、計算結果を演算結果保持回路２６で保持する。ヘッダ合成回路２７は、保持された計算結果に基づいてＵＤＰパケットのヘッダ部を作成してＵＤＰ送信部３０から出力する。それに続いて、ＤＭＡ制御回路２８は、バッファメモリ２３に蓄えられているユーザ情報を読み出し、ＵＤＰパケットのデータ（ボディ部）として割り当ててＵＤＰ送信部３０から出力する。【選択図】  図３
2005204173.tif 000002
【特許請求の範囲】
【請求項１】
第２のデータユニットは、ヘッダ部と前記ヘッダ部に続くボディ部とから構成され、前記ヘッダ部は前記ボディ部に対する検査符号の演算結果に基づく情報を少なくとも含み、前記第２のデータユニットを出力するデータ変換装置であって、
入力される少なくとも１以上の第１のデータユニットから前記ボディ部に対応するボディ部データを取り出してバッファ部に書き込む書込部と、
前記バッファ部と、
前記バッファ部への書き込みと並行して、前記ボディ部データに対する前記検査符号を演算する検査符号演算部と、
前記検査符号演算部の演算結果に基づいて前記ヘッダ部を作成するヘッダ合成部と、
前記ヘッダ合成部で作成される前記ヘッダ部と、前記バッファ部から読み出される前記ボディ部データとを、それぞれ前記第２のデータユニットのヘッダ部とボディ部とに割り当てて出力するデータ出力部と、
を備えることを特徴とするデータ変換装置。
【請求項２】
入力される少なくとも１以上の第１のデータユニットを順次受信する受信部と、
受信した前記第１のデータユニットから、送信される第２のデータユニットのボディ部に対応するボディ部データを取り出してバッファ部に書き込む書込部と、
前記バッファ部と、
前記バッファ部への書き込みと並行して、前記ボディ部データに対する前記検査符号を演算する検査符号演算部と、
前記検査符号演算部の演算結果を保持する演算結果保持部と、
前記第２のデータユニットのヘッダ部を、前記演算結果保持部に保持された前記演算結果に基づいて作成するヘッダ合成部と、
前記ボディ部データを前記バッファ部から読み出す読出部と、
前記ヘッダ合成部で作成された前記ヘッダ部を送信し、前記読出部から出力される前記ボディ部データを前記第２のデータユニットの前記ヘッダ部に続くボディ部に割り当てて送信するデータ送信部と、
を備えることを特徴とするデータ変換装置。
【請求項３】
前記第２のデータユニットのヘッダ部と、前記バッファ部に格納されている前記ボディ部データと、前記演算結果保持部に保持されている前記演算結果とを、関連付けて管理する送信データ管理テーブルを備え、前記送信データ管理テーブルの内容にしたがって前記第２のデータユニットを出力することを特徴とする請求項１または２いずれか一記載のデータ変換装置。
【請求項４】
前記検査符号は、誤り検査符号であることを特徴とする請求項１または２いずれか一記載のデータ変換装置。
【請求項５】
前記誤り検査符号は、チェックサムであることを特徴とする請求項４記載のデータ変換装置。
【請求項６】
前記第１のデータユニットは、データフレームであることを特徴とする請求項１または２いずれか一記載のデータ変換装置。
【請求項７】
前記第１のデータユニットは、ＡＴＭ（Asynchronous Transfer Mode）セルであることを特徴とする請求項１または２いずれか一記載のデータ変換装置。
【請求項８】
前記第１のデータユニットは、前記ボディ部と同じ長さまたはより長いデータユニットであって、前記データユニットの全部または一部を切り出して、前記ボディ部データとすることを特徴とする請求項１または２いずれか一記載のデータ変換装置。
【請求項９】
前記長いデータユニットは、ビデオストリームデータであることを特徴とする請求項８記載のデータ変換装置。
【請求項１０】
前記第２のデータユニットは、ＵＤＰ（User Datagram Protocol）パケットであることを特徴とする請求項１または２いずれか一記載のデータ変換装置。
【請求項１１】
少なくとも１以上ＡＴＭセルを順次受信するＡＴＭ受信部と、
送信の対象となるＵＤＰパケットデータに対応する、受信した前記ＡＴＭセル中のペイロードを、順次バッファメモリに書き込む書込み用ＤＭＡ制御回路と、
前記バッファメモリと、
前記バッファメモリへの書き込みと並行して、前記ペイロードのチェックサムを演算するチェックサム演算回路と、
前記チェックサムの演算結果を保持する演算結果保持回路と、
前記演算結果保持回路に保持された演算結果に基づいて、送信するＵＤＰパケットのＵＤＰヘッダを作成するヘッダ合成回路と、
前記バッファメモリに書込まれた前記ペイロードを、前記ＵＤＰパケットデータとして読み出す読み出し用ＤＭＡ制御回路と、
前記ヘッダ合成回路で作成された前記ＵＤＰヘッダを送信し、前記ＤＭＡ制御回路から出力される前記ＵＤＰパケットデータを送信するＵＤＰ送信部と、
を備えることを特徴とするデータ変換装置。
【請求項１２】
第２のデータユニットは、ヘッダ部と前記ヘッダ部に続くボディ部とから構成され、前記ヘッダ部は前記ボディ部に対する検査符号の演算結果に基づく情報を少なくとも含み、前記第２のデータユニットを出力するデータ変換方法であって、
（ａ）少なくとも１以上の第１のデータユニットを順次入力するステップと、
（ｂ）前記第１のデータユニットから前記第２のデータユニットのボディ部に対応するデータを取り出すステップと、
（ｃ）取り出された前記データをバッファに書き込むと並行して、前記取り出された前記データに対する検査符号を演算するステップと、
を前記第２のデータユニットのボディ部の長さに相当する所定の回数分、繰り返すステップと、
前記バッファに書き込まれたデータをボディ部データとし、前記検査符号の演算結果を、前記ボディ部データと関連付けて保持するステップと、
前記演算結果が保持されたならば、前記演算結果に基づく情報を第２のデータユニットのヘッダ部の一部に割り当て、前記ヘッダ部を合成して、出力するステップと、
書き込まれている前記ボディ部データを前記バッファから読み出して前記第２のデータユニットのボディ部に割り当て、出力するステップと、
を含むことを特徴とするデータ変換方法。
【請求項１３】
前記検査符号は、誤り検査符号であることを特徴とする請求項１２記載のデータ変換方法。
【請求項１４】
前記誤り検査符号は、チェックサムであることを特徴とする請求項１３記載のデータ変換方法。
【請求項１５】
前記第１のデータユニットは、データフレームであることを特徴とする請求項１２記載のデータ変換方法。
【請求項１６】
前記第１のデータユニットは、ＡＴＭ（Asynchronous Transfer Mode）セルであることを特徴とする請求項１２記載のデータ変換方法。
【請求項１７】
前記第１のデータユニットは、前記ボディ部と同じ長さまたはより長いデータユニットであって、前記データユニットの全部または一部を切り出して、前記ボディ部データとすることを特徴とする請求項１２記載のデータ変換方法。
【請求項１８】
前記長いデータユニットは、ビデオストリームデータであることを特徴とする請求項１７記載のデータ変換方法。
【請求項１９】
前記第２のデータユニットは、ＵＤＰ（User Datagram Protocol）パケットであることを特徴とする請求項１２記載のデータ変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ変換装置およびデータ変換方法に関し、特にボディ部に対する検査符号の演算結果に関連する情報を少なくとも含むヘッダ部と、ヘッダ部に続くボディ部とからなるデータユニットを出力するデータ変換装置およびデータ変換方法に関する。
【背景技術】
【０００２】
インターネットに代表されるようなネットワークシステムにおいて、各種のメディアデータが扱われるようになり、種々のプロトコルを介してデータの送受信がなされている。このようなネットワークシステムでは、プロトコルの異なるシステム間を接続するために異種プロトコル間のプロトコル変換などのようなデータ変換が求められる。
【０００３】
また、音声データやビデオデータのようにリアルタイム性が求められるアプリケーションにおいても、その例外ではなく、これらのデータをパケット化して、各種のプロトコルによりパケットの送受信がなされており、異種プロトコル間のデータ変換、より具体的にはプロトコル変換が行われている。このようなプロトコル変換では、主としてデータユニット（パケット）を構成するヘッダ部の変換が行われ、また必要に応じてデータユニットを構成するボディ部（ペイロード）の分割・合成も行われる。
【０００４】
一方、このようなネットワークシステムでは、より大量のデータを扱うようになってきており、データ配送における高速な処理が要求されている。例えば、特許文献１には、データ配送におけるパケット生成時のチェックサムの計算の高速化およびパケットの高速化を可能とするシステムが開示されている。このシステムは、データをパケット化して配送する際に各パケットにそのパケットに対する検査符号を書き込むデータ配送システムである。クライアントからデータ配送要求を受けた際、このデータに対してクライアントに応じて定まるパケット転送単位ごとに計算された検査符号が一時記憶部に記憶されているか否かを調べ、記憶されている場合には、その記憶されている検査符号を利用して各パケットに書き込むべき検査符号を計算するものである。
【０００５】
また、特許文献２には、プロトコルレイヤ毎の処理オーバヘッド削減、チェックサムのフル計算の排除により処理を最小限とし、高速・大容量なストリーム配信装置が開示されている。この装置は、受信したパケットのヘッダ情報からパケットが運ぶコンテンツを識別し、受信したパケットヘッダのチェックサム値の計算に必要なヘッダ内のプロトコルデータを一時退避させ、配信情報を元に受信パケットの複製とヘッダの書き換えを行い、一時退避したチェックサム値と書き換え後のヘッダ情報部分の差分を元に再計算した結果を新たなチェックサム値として送信パケットに設定するものである。
【０００６】
さらに、関連する技術として、セルバッファメモリの故障検出方法が知られている。例えば、特許文献３の故障検出方法は、ＡＴＭ伝送装置に搭載されているセルバッファメモリの故障を検出するものである。所定の固定バイト長からなる情報セルに対してチェックサムを求めて得た第１チェックサムデータを情報セルに付加したものをセルバッファに書き込む。そして、このセルバッファに書き込まれている情報セルおよび第１チェックサムデータを夫々読出し、読み出された情報セルに対してチェックサムを求めて得た第２チェックサムデータと第１チェックサムデータとが不一致である場合に故障を示す信号を発生させる。
【０００７】
【特許文献１】特開２０００−２５３０５４号公報  （図４）
【特許文献２】特開２００２−６４４８７号公報  （図２）
【特許文献３】特開２００１−７７８１６号公報  （図３）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、異種プロトコル間におけるデータ変換（プロトコル変換）では、大量のデータを高速に処理するため、処理に伴う遅延時間を所定の時間よりも小さくすることが必要とされる場合がある。例えば、音声データやビデオデータのようなリアルタイム性が求められるアプリケーションでは、処理遅延時間が問題となる。特に電話などの音声の会話型サービスやこれに付随するビデオデータのように処理遅延が大きいとサービス品質が極端に低下するものでは、プロトコル変換に伴う処理遅延を極力小さくすることが望まれる。さらに、出力されるデータユニットのヘッダ部に、ヘッダ部に続くボディ部のチェックサム等の検査符号に係る情報が含まれるようなプロトコルへの変換では、検査符号の演算が処理遅延に影響し、これを低減する必要がある。
【０００９】
しかしながら、従来の知られたシステムでは、異種プロトコル間のデータ変換における処理時間を小さくするような目的では構成されていない。すなわち、特許文献１では、クライアントからデータ配送要求を受けた際に、計算された検査符号が記憶されているか否かを調べるものであって、受信パケットの検査符号をどの単位で計算するか、どのタイミングで計算するか等は、開示されておらず、処理時間を小さくすること自体が考慮されていない。
【００１０】
一方、特許文献２では、受信パケットから送信パケットへの変換処理において、処理をヘッダの書き換えに限定し、チェックサムの再計算において通信前の差分計算値を用いることで計算量を削減するようにしている。すなわち、受信パケットから送信パケットを生成する過程の処理遅延時間を小さくするための技術については何ら触れられていない。また、処理をヘッダの書き換えに限定しているが、異種プロトコル間においては、受信パケットのヘッダ中にペイロードに対してチェックサム計算結果が含まれているとは限らない。
【００１１】
また、特許文献３の方法は、セルバッファメモリの故障を検出するために、受信する５３バイトのＡＴＭセルそれ自体のチェックサムを求めてバッファメモリに書込んでおり、チェックサムは、プロトコル変換とは無関係のものである。
【００１２】
したがって、従来の開示された技術では、データ変換（プロトコル変換）に伴う処理遅延を極力小さくすることが難しかった。
【００１３】
本発明の目的は、ボディ部の検査符号に関連する情報を少なくとも含むヘッダ部と、ヘッダ部に続くボディ部とからなるデータユニットを出力するデータ変換において、データ変換に関わる処理時間の小さな装置および方法を提供することにある。
【課題を解決するための手段】
【００１４】
前記目的を達成するために、本発明に係るデータ変換装置は、第１のアスペクトによれば、第２のデータユニットは、ヘッダ部とヘッダ部に続くボディ部とから構成され、ヘッダ部はボディ部に対する検査符号の演算結果に基づく情報を少なくとも含み、第２のデータユニットを出力するデータ変換装置である。このデータ変換装置は、入力される少なくとも１以上の第１のデータユニットからボディ部に対応するボディ部データを取り出してバッファ部に書き込む書込部と、バッファ部と、を備える。また、バッファ部への書き込みと並行して、ボディ部データに対する検査符号を演算する検査符号演算部と、検査符号演算部の演算結果を保持する演算結果保持部と、演算結果保持部に保持された演算結果に基づいてヘッダ部を作成するヘッダ合成部と、を備える。さらに、ヘッダ合成部で作成されるヘッダ部と、バッファ部から読み出されるボディ部データとを、それぞれ第２のデータユニットのヘッダ部とボディ部とに割り当てて出力するデータ出力部と、を備える。
【００１５】
また、本発明に係るデータ変換装置は、第２のアスペクトによれば、入力される少なくとも１以上の第１のデータユニットを順次受信する受信部と、受信した第１のデータユニットから、送信される第２のデータユニットのボディ部に対応するボディ部データを取り出してバッファ部に書き込む書込部と、バッファ部と、バッファ部への書き込みと並行して、ボディ部データに対する検査符号を演算する検査符号演算部と、検査符号演算部の演算結果を保持する演算結果保持部と、を備える。また、第２のデータユニットのヘッダ部を、演算結果保持部に保持された演算結果に基づいて作成するヘッダ合成部と、ボディ部データをバッファ部から読み出す読出部と、ヘッダ合成部で作成されたヘッダ部を送信し、読出部から出力されるボディ部データを第２のデータユニットのヘッダ部に続くボディ部に割り当てて送信するデータ送信部と、を備える。
【００１６】
本発明において、好ましくは、第２のデータユニットのヘッダ部と、バッファ部に格納されているボディ部データと、演算結果保持部に保持されている演算結果とを、関連付けて管理する送信データ管理テーブルを備え、送信データ管理テーブルの内容にしたがって第２のデータユニットを出力するようにしてもよい。
【００１７】
さらに、本発明に係るデータ変換装置は、第３のアスペクトによれば、少なくとも１以上ＡＴＭセルを順次受信するＡＴＭ受信部と、送信の対象となるＵＤＰパケットデータに対応する、受信したＡＴＭセル中のペイロードを、順次バッファメモリに書き込む書込み用ＤＭＡ制御回路と、バッファメモリと、バッファメモリへの書き込みと並行して、ペイロードのチェックサムを演算するチェックサム演算回路と、を備える。また、チェックサムの演算結果を保持する演算結果保持回路と、演算結果保持回路に保持された演算結果に基づいて、送信するＵＤＰパケットのＵＤＰヘッダを作成するヘッダ合成回路と、バッファメモリに書込まれたペイロードを、ＵＤＰパケットデータとして読み出す読み出し用ＤＭＡ制御回路と、を備える。さらに、ヘッダ合成回路で作成されたＵＤＰヘッダを送信し、ＤＭＡ制御回路から出力されるＵＤＰパケットデータを送信するＵＤＰ送信部と、を備える。
【００１８】
また、本発明に係るデータ変換方法は、第４のアスペクトによれば、第２のデータユニットは、ヘッダ部とヘッダ部に続くボディ部とから構成され、ヘッダ部はボディ部に対する検査符号の演算結果に基づく情報を少なくとも含み、第２のデータユニットを出力する方法である。データ変換方法は、（ａ）少なくとも１以上の第１のデータユニットを順次入力するステップと、（ｂ）第１のデータユニットから第２のデータユニットのボディ部に対応するデータを取り出すステップと、（ｃ）取り出されたデータをバッファに書き込むと並行して、取り出されたデータに対する検査符号を演算するステップと、を第２のデータユニットのボディ部の長さに相当する所定の回数分、繰り返す。また、バッファに書き込まれたデータ（ボディ部データ）を、検査符号の演算結果と関連付けて保持する。さらに、演算結果が保持されたならば、演算結果に基づく情報を第２のデータユニットのヘッダ部の一部に割り当て、ヘッダ部を合成して、出力するステップと、書き込まれているボディ部データをバッファから読み出して第２のデータユニットのボディ部に割り当て、出力するステップと、を含む。
【発明の効果】
【００１９】
本発明によれば、データをバッファ部に書き込むとほぼ同時に並行してデータに対する検査符号を演算する。したがって、受信時において、検査符号を演算するのに余分な処理遅延を生じない。
【００２０】
また、受信時に検査符号の演算結果を保持し、送信時に、予め保持しておいた演算結果を用いてヘッダ部を作成するように動作する。したがって、ボディ部に先行するヘッダ部を送信するための待ち時間を少なくすることができる。
【００２１】
さらに、送信時において、第２のデータユニットの全体に対するチェックサム計算に要するバッファ部からの読み出し処理時間を削減することができるので、送信処理における処理遅延時間を削減することができる。
【発明を実施するための最良の形態】
【００２２】
次に、本発明の実施形態について図面を参照して説明する。図１は、本発明の実施形態に係るデータ変換装置のブロック図である。図１において、データ変換装置は、データ入力部１０、書込部１１、バッファ部１２、検査符号演算部１３、演算結果保持部１４、ヘッダ合成部１５、読出部１６、データ出力部１７を備える。
【００２３】
なお、本発明において、データユニットとは、時間順に対応付けがなされたデータの集合を意味し、データユニットの属性（例えば、長さ、データユニットの送り先や送り元、検査符号の情報等）を表すヘッダ部とヘッダ部に続くボディ部とから構成されるものである。データ変換装置において、データ入力部１０に入力される第１のデータユニット１０１には不図示のヘッダが含まれるが、データ出力部１７から出力される第２のデータユニット１０２のヘッダ部１１４とは異なるものである。
【００２４】
先ず初めに、データ変換装置におけるデータユニットの受信処理に係る部分を説明する。データ入力部１０は、第１のデータユニット１０１を入力する。書込部１１は、第１のデータユニット１０１から第２のデータユニット１０２のボディ部１１３に対応するデータ１１１を取り出し（取り出したデータをボディ部データと称する）、ボディ部データ１１２としてバッファ部１２に書き込む。一方、書き込みと同時に並行して、検査符号演算部１３は、ボディ部データ１１２に対する検査符号を演算する。検査符号には、例えばチェックサム等の誤り検査符号が使われる。演算結果保持部１４は、検査符号演算部１３の演算結果を、バッファ部１２に書き込まれるボディ部データ１１２との対応関係を保ち保持する。なお、検査符号の演算結果は、第２のデータユニット１０２のヘッダ部１１４の作成の際に用いられるものであって、第１のデータユニット１０１の誤り等の検査に使われるものではない。
【００２５】
続いて、データ変換装置におけるデータユニットの送信処理に係る部分を説明する。ヘッダ合成部１５は、演算結果保持部１４に保持された演算結果に基づいて求めた、第２のデータユニット１０２に対する検査符号を、第２のデータユニット１０２のヘッダ部１１４の一部に割り当て、不図示の制御回路および制御信号に基づいてヘッダ部１１４を作成してデータ出力部１７に出力する。それに引き続き、読出部１６は、不図示の制御回路および制御信号に基づいてバッファ部１２に格納されたボディ部データ１１２をバッファ部１２から読み出し、第２のデータユニット１０２のボディ部１１３に割り当て、データ出力部１７に出力する。データ出力部１７は、ヘッダ部１１４とそれに続くボディ部１１３とを第２のデータユニット１０２としてデータ変換装置から出力する。
【００２６】
次に、本発明の実施形態に係るデータ変換装置の動作フローについて説明する。図２は、本発明の実施形態に係るデータ変換装置の動作フローを表すフローチャート図である。図２において、ステップＳ１０で第１のデータユニット１０１を入力する受信処理がスタートする。まず、検査符号演算部１３における検査符号の演算結果を初期化しておく。
【００２７】
ステップＳ１１において、第１のデータユニット１０１を入力する。この際、第１のデータユニット１０１を一括して入力するのではなく、所定の単位毎に入力する。
【００２８】
ステップＳ１２において、入力された所定の単位毎の第１のデータユニットの中で、第２のデータユニット１０２のボディ部に対応するデータのみを取出す。
【００２９】
ステップＳ１３において、取り出されたデータを順次バッファ部１２に書き込む。同時に並行して、取り出されたデータと、検査符号演算部１３に保持してある途中演算結果とから、検査符号を演算する。演算結果は途中演算結果として検査符号演算部１３に保持しておく。すなわち、第２のデータユニットのボディ部１１３に対応するデータ１１１を全て受信（入力）するまで、検査符号演算結果を途中演算結果として保持する。なお、途中演算結果の保持は、最終的な演算結果が保持される演算結果保持部１４を使用して行ってもよい。
【００３０】
ステップＳ１４において、第２のデータユニットのボディ部１１３に対応するデータを全て受信（入力）したか否かを判定する。全てを受信していなければ、ステップＳ１１に戻り、全てを受信したならば、ステップＳ１５に進む。なお、ボディ部１１３に対応するデータは、ボディ部データ１１２である。
【００３１】
ステップＳ１５において、検査符号の演算結果、すなわちボディ部データ１１２についての検査符号の演算結果を演算結果保持部１４に保持し、ステップＳ１６で一連の受信処理が終了する。受信処理で第２のデータユニットのボディ部１１３が全て受信されて、そのデータユニットの送信が可能となる。これは、不図示の制御回路および制御信号により送信処理側に通知される。なお、新たなデータユニットが入力される場合には、再びステップＳ１０からスタートする。
【００３２】
一方、ステップＳ２０で第２のデータユニット１０２を出力する送信処理がスタートする。なお、送信処理において、第２のデータユニット１０２は、ヘッダ部１１４を先頭にボディ部１１３が続く構成であるので、バッファ部１２からのボディ部１１３の読み出しに先行してヘッダ部１１４の生成の処理が完了して必要がある。
【００３３】
ステップＳ２１において、送信処理は、送信のスケジューリングを行う。すなわち、不図示の制御回路および制御信号に基づいて、演算結果保持部１４の検査符号の演算結果を用いてヘッダ部１１４の作成を開始する。
【００３４】
ステップＳ２２において、ステップＳ１５で得た演算結果を元に第２のデータユニット１０２のヘッダ部１１４を作成して出力する。したがって、ヘッダ部１１４の生成が、ボディ部１１３の読み出しに先行してなされることとなる。
【００３５】
ステップＳ２３において、ステップＳ１３でバッファ部１２に書き込まれ、保存されているボディ部データ１１２をバッファ部１２から読出し、第２のデータユニット１０２のボディ部１１３として出力する。その後、ステップＳ２１に戻り、次の送信処理を待合せる。
【００３６】
データ変換装置は、以上のように構成され、入力した第１のデータユニット１０１からボディ部データ１１２を取り出してバッファリングすると同時に並行して、ボディ部データ１１２に対して検査符号を演算して演算結果を保持するように動作する。したがって検査符号の演算のために余分な処理遅延を生じない。また、送信時に、予め保持しておいた演算結果を用いてヘッダ部１１４を作成するように動作する。したがって、第２のデータユニット１０２の全体に対するチェックサム計算に要するバッファ部１２からの読み出し処理時間を削減することができ、処理遅延時間を小さくできる。
【実施例】
【００３７】
次に、本発明の実施例について図面を参照して説明する。図３は、本発明の実施例に係るデータ変換装置のブロック図である。図３は、図１における第１のデータユニットがＡＴＭ（Asynchronous Transfer Mode）セルであって、図１における第２のデータユニットがＵＤＰ（User Datagram Protocol）パケットである場合についてのデータ変換装置のブロック図である。すなわち、ＡＴＭセルを入力して、ＡＴＭセル中のユーザ情報を、出力されるＵＤＰパケットのペイロード（ボディ部）に埋めこむようなプロトコル変換を行う装置の例である。
【００３８】
図３において、データ変換装置は、受信ＩＦ回路２１を内蔵するＡＴＭ受信部２０、ＤＭＡ制御回路２２、２８、制御回路２３、バッファメモリ２４、チェックサム演算回路２５、演算結果保持回路２６、ヘッダ合成回路２７、送信ＩＦ回路２９を内蔵するＵＤＰ送信部３０を備える。
【００３９】
ＡＴＭ受信部２０は、入力回線２０１からＡＴＭセル（５３バイト）を受信ＩＦ回路２１を介して順次受信する。受信ＩＦ回路２１は、ＡＴＭセル中のヘッダ（５バイト）を解釈し、ＡＴＭ受信部２０は、ＡＴＭセル中のユーザ情報（４８バイト）を出力する。ＤＭＡ制御回路２２は、ＡＴＭ受信部２０から出力されるユーザ情報（４８バイト）を取り出し、バス２０２を介してバッファメモリ２４に書込む。
【００４０】
一方、チェックサム演算回路２５は、ＤＭＡ制御回路２２がバッファメモリ２４に書込むと並行して、ＡＴＭ受信部２０から出力されるユーザ情報（４８バイト）のチェックサムを演算する。なお、制御回路２３は、ＤＭＡ制御回路２２における書き込み動作を起動すると同時に、チェックサムの演算にあたってチェックサム演算回路２５を初期化し、チェックサム演算をスタートさせる。チェックサム演算回路２５は、１６ビット単位に１の補数和の１の補数を計算する。すなわち、１６ビットを構成する各ビットの１の捕数を１６ビット分加算し、加算結果の１の補数をさらに計算する。（なお、１の補数和は、足し算をした結果の桁上がり分を最下位ビットに加算する方法によって計算してもよい）。このチェックサム演算は、一般的にレジスタ回路を有するような専用のハードウェアで実行されるが、ＣＰＵ等のスピードが充分速ければ、ソフトウェアによる演算によって実行してもよい。
【００４１】
演算結果保持回路２６は、チェックサム演算回路２５の演算結果と、バッファメモリ２４に格納されたボディ部データ１１２とを関連付けて保持する。この関連付けの情報は、ＵＤＰ送信部３０から送信されるＵＤＰパケットに対し、どのチェックサム演算結果を用いてヘッダを作成するのか、またどのボディ部データをボディ部（ペイロード）に割り付けるか等の対応関係を示す情報であって、制御回路２３内の送信データ管理テーブル３１に記録される。なお、図３のブロック図では、演算結果保持回路２６を独立したものとして図示しているが、バッファメモリ２４内に収容してもよい。
【００４２】
制御回路２３は、処理のスケジューリングを行う。すなわち、演算結果保持回路２６における演算結果の保持が完了したならば、ヘッダ合成回路２７に対しヘッダの作成を指示する。また、ＤＭＡ制御回路２８における読出し動作の起動を行う。
【００４３】
ヘッダ合成回路２７は、ＵＤＰパケットのヘッダを作成する。作成されたＵＤＰパケットのヘッダは、ＵＤＰ送信部３０に転送され、送信ＩＦ回路２９を介して出力回線２０４に出力される。
【００４４】
ＤＭＡ制御回路２８は、バッファメモリ２４に格納されたボディ部データを読み出し、バス２０３を介してＵＤＰ送信部３０に転送する。転送されるデータは、順次、送信ＩＦ回路２９を介して出力回線２０４に出力される。なお、バッファメモリ２４のアクセススピードが書込みおよび読出しスピードに比べて充分速い場合には、バス２０２とバス２０３とを同一のバスとし、ＤＭＡ制御回路２２とＤＭＡ制御回路２８とを兼用するように構成することができることは勿論である。
【００４５】
制御回路２３は、ＤＭＡ制御回路２２、チェックサム演算回路２５、演算結果保持回路２６、ヘッダ合成回路２７、ＤＭＡ制御回路２８、に対してデータの入出力タイミングを制御し、以下に述べる動作を実行するように各部の制御を行う。また、送信データ管理テーブル３１を備え、出力されるデータユニットの管理を行う。
【００４６】
なお、以上の説明において、ＡＴＭ受信部２０は、ＡＴＭセルを受信するものとして説明したが、一般にヘッダ部とデータ部とからなるデータフレームを受信するデータフレーム受信部であっても同様に構成することができる。
【００４７】
次にデータの流れについて説明する。図４は、本発明の実施例に係るデータ変換装置のデータの流れを説明する図である。先ず受信処理で、ＡＴＭ受信部２０が入力回線２０１からＡＴＭセルを順次受信し、ヘッダ解釈やパケットの組み立て等の情報、例えばデータがパケットの先頭か最後かなどの情報を把握する（受信プロトコル処理）。受信したＡＴＭセル中のユーザ情報（ペイロード）は、ＤＭＡ制御回路２２によりバッファメモリ２４に順次転送される。また同時に、ユーザ情報（ペイロード）のチェックサムを計算する。同時にチェックサムを計算することで、チェックサム計算に要する処理遅延が発生しない。
【００４８】
送信データの長さ、すなわちＵＤＰパケットのペイロード（ボディ部）に当る部分の長さまで、ＡＴＭセル中のユーザ情報を読込んだならば、ペイロード（ボディ部）は送信可能なデータとなる。送信プロトコル処理では、受信処理において計算されたチェックサムを用いてＵＤＰパケット・ペイロード以外のチェックサム計算対象データについてＵＤＰパケット全体のチェックサムを求め、後に説明するアドレス情報等、ヘッダ部の構成に必要な情報を付加してヘッダ部を作成する。作成されたヘッダ部は、ＵＤＰ送信部３０から出力回線２０４に出力される。さらに続いて、バッファメモリ２４に蓄えられているＵＤＰパケットのペイロード（ボディ部）をＤＭＡ制御回路２８により、順次読み出して、ＵＤＰ送信部３０から出力回線２０４に出力する。
【００４９】
本発明の実施例に係るデータ変換装置は、以上のように動作し、ＵＤＰパケットのペイロード全体に対するチェックサム計算を送信処理において行う必要がないので、ＵＤＰパケットのヘッダの生成処理時間を極めて短くすることができる。したがって、送信処理遅延時間を削減することができる。
【００５０】
次に、データ変換の様子をさらに詳しく説明する。図５は、本発明の実施例に係るデータ変換の様子を模式的に示した図である。受信処理において、順次入力されるＡＴＭセル中のヘッダ部が解釈され、ユーザ情報（ペイロード）が一まとめにまとめられてＵＤＰデータ（ボディ部）として、バッファメモリに蓄えられる。すなわち、ペイロードＡ１、・・ＡｎがＵＤＰデータ（ボディ部）となる。また、同時にＡＴＭセル中のペイロードＡ１、・・Ａｎのチェックサムが計算されてチェックサムＢが演算結果として得られる。この例は、ＡＴＭ（ＡＡＬ５）と呼ばれる規格に準ずるものである。
【００５１】
一方、ＵＤＰパケットのヘッダは、それぞれ２バイトの送信元ポート番号、宛先ポート番号、パケット長、チェックサムＣから構成される。送信処理において、チェックサムＢに基づいてチェックサムＣが計算される。チェックサムＣは、ＵＤＰデータ（ボディ部）、送信元ポート番号、宛先ポート番号、パケット長、不図示の擬似ヘッダ（仮想ヘッダ）の全てのチェックサム演算の結果が入る。チェックサム演算は、先に述べたように１６ビット単位に１の補数和の１の補数を計算する。ただし、計算結果が０になった場合は、チェックサムＣには、０ｘＦＦＦＦが設定される。ＵＤＰパケットは、ＵＤＰヘッダ、ＵＤＰデータ（ＵＤＰペイロード）の順で出力される。
【００５２】
以上説明したように、本発明の実施例に係るデータ変換では、１個以上のＡＴＭセルのペイロードから、ＵＤＰパケットのペイロード、すなわちＵＤＰデータ（ボディ部）を作成し、１個以上のＡＴＭセルのペイロードに対してチャックサムを計算してＵＤＰパケットのヘッダを作成するように動作する。
【００５３】
次に、入力されるデータが長いデータユニットから構成され、その一部を切り出してＵＤＰペイロードを作成する例について説明する。長いデータユニットの例には、ビデオデータのようなものがある。図６は、本発明の実施例に係るデータ変換の様子を模式的に示した他の図である。受信処理において、順次入力されるデータユニットは、ヘッダとペイロードＡから構成される。ヘッダが解釈され、ペイロードＡから、ＵＤＰデータ（ボディ部）の長さに対応する部分ａが読込まれＵＤＰデータ（ボディ部）として、バッファメモリに蓄えられる。また、同時に部分ａのチェックサムが計算されてチェックサムＢが演算結果として得られる。後は、図５における説明と同様であるので、その説明を省略する。ただし、図３におけるＡＴＭ受信部２０は、入力されるデータユニットに対応した機能（例えばヘッダがある場合のヘッダの解釈やデータの部分の切り出し等）を備える必要がある。
【００５４】
以上説明したように、入力されるデータが長いデータユニットから構成されるものであっても、データの一部を切り出して、順次ＵＤＰデータ（ボディ部）として出力することができる。なお、ここで長いデータユニットと表現したが、長いデータユニットにこだわることは無く、入力されるデータが一つのＡＴＭセルであって、ペイロード中の数バイトだけをＵＤＰパケットのペイロードとして使用することもありうる。
【００５５】
次に、ＵＤＰデータ（ボディ部）の管理について説明する。以上の説明では、入力されたデータユニットから一つのＵＤＰデータ（ボディ部）を作成し、１つのＵＤＰパケットを構成して出力する様子について述べたが、バッファメモリ２４内に複数のＵＤＰデータ（ボディ部）を保持し、順次出力するようにすることもできる。また、複数の異なるＵＤＰポートに対してＵＤＰデータ（ボディ部）を振り分けるようにすることもできる。この場合には、入力されるデータユニットのヘッダ情報等に基づいて予めＵＤＰデータ（ボディ部）を複数に振り分け、バッファメモリ２４に書き込む。複数のＵＤＰデータ（ボディ部）を管理するために、制御回路２３には、送信データ管理テーブル３１を備える。
【００５６】
図７は、送信データ管理テーブルの構成を示す図である。送信データ管理テーブル３１は、図７（ａ）示すように構成され、ＵＤＰヘッダｉ（ｉ＝１〜ｎ）と、ＵＤＰヘッダｉに対応するＵＤＰデータＤｉが書込まれているバッファメモリ２４上の位置を表すＵＤＰデータポインタＤｉと、ＵＤＰデータＤｉのチェックサムの結果（チェックサムＢｉ）が保持されている位置を示すチェックサムポインタＢｉとが、図７（ｂ）示すように関連付けされて記録されている。
【００５７】
制御回路２３は、ｉ番目のＵＤＰパケットを出力する際には、送信データ管理テーブル３１のチェックサムポインタＢｉを参照して、ＵＤＰヘッダｉに対応するチェックサムＢｉを元にＵＤＰヘッダｉをヘッダ合成部２７において作成して出力するように制御する。さらに、続いてＵＤＰデータポインタＤｉを参照して、ＵＤＰヘッダｉに対応するＵＤＰデータＤｉを読み出して出力するようにＤＭＡ制御回路２８を制御する。
【００５８】
以上述べたように送信データ管理テーブル３１を構成して、テーブルの内容を参照して複数のＵＤＰパケットを順次出力するようにすることができる。
【産業上の利用可能性】
【００５９】
処理遅延時間の短いデータ変換が実現され、特に電話などの音声の会話型サービスやこれに付随するビデオデータにおけるデータ変換に好適である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施形態に係るデータ変換装置のブロック図である。
【図２】本発明の実施形態に係るデータ変換装置の動作フローを表すフローチャート図である。
【図３】本発明の実施例に係るデータ変換装置のブロック図である。
【図４】本発明の実施例に係るデータ変換装置のデータの流れを説明する図である。
【図５】本発明の実施例に係るデータ変換の様子を模式的に示した図である。
【図６】本発明の実施例に係るデータ変換の様子を模式的に示した他の図である。
【図７】本発明の実施例に係る送信データ管理テーブルの構成を示す図である。
【符号の説明】
【００６１】
１０  データ入力部
１１  書込部
１２  バッファ部
１３  検査符号演算部
１４  演算結果保持部
１５  ヘッダ合成部
１６  読出部
１７  データ出力部
２０  ＡＴＭ受信部
２１  受信ＩＦ回路
２２、２８  ＤＭＡ制御回路
２３  制御回路
２４  バッファメモリ
２５  チェックサム演算回路
２６  演算結果保持回路
２７  ヘッダ合成回路
２９  送信ＩＦ回路
３０  ＵＤＰ送信部
３１  送信データ管理テーブル
１０１  第１のデータユニット
１０２  第２のデータユニット
１１１  データ
１１２  ボディ部データ
１１３  ボディ部
１１４  ヘッダ部
２０１  入力回線
２０２、２０３  バス
２０４  出力回線
【図１】
2005204173.tif 000003
【図２】
2005204173.tif 000004
【図３】
2005204173.tif 000005
【図４】
2005204173.tif 000006
【図５】
2005204173.tif 000007
【図６】
2005204173.tif 000008
【図７】
2005204173.tif 000009