パケットを再構築し再順序付けするための方法であって、ソースポートが送信したセルを受信するステップであって、前記セルはSIDSourceIdentification、パケットシーケンス番号およびセルシーケンス番号を保持するステップと、前記SIDに従って受信した前記セルを前処理して前記セルをパケット再構築データベースに挿入するかどうかを判定するステップと、前記パケットシーケンス番号に従って前記パケット再構築データベースの中でセルを順序付けて正しく順序付けられたパケットを取得するステップと、前記正しく順序付けられたセルが完全なセルである場合には、前記正しく順序付けられたパケットのセルを前記セルシーケンス番号に従って順序付けて正しく順序付けられたセルを取得するステップと、前記正しく順序付けられたセルでパケット再構築を実施するステップと、を含む、方法。前記SIDに従って受信した前記セルを前処理して前記セルをパケット再構築データベースに挿入するかどうかを判定するステップは、受信したセルを到着時刻のローカルタイムスタンプでスタンプし、前記セルのセルデータを前記SIDに従ってロードメモリに格納し、対応するロードメモリのインデックス値を構成するステップと、前記セルのセル情報を入力FIFOIF待ち行列に挿入するステップであって、前記セル情報は、前記SID、前記ローカルタイムスタンプ、前記ロードメモリのインデックス値、前記パケットシーケンス番号、および前記セルシーケンス番号を含むステップと、前記IF待ち行列の中の前記セル情報を、前記SID、前記パケットシーケンス番号、および遅延FIFOPF待ち行列の状態に従って前処理して、前記セル情報をセル再構築データベースに挿入すべきかどうかを判定するステップと、を含む、請求項1に記載の方法。前記IF待ち行列の中の前記セル情報を前記SID、前記パケットシーケンス番号、および前記PF待ち行列の状態に従って前処理して、前記セル情報を前記セル再構築データベースに挿入すべきかどうかを判定するステップは、各PF待ち行列の深さが事前設定閾値より小さい場合には、前記IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が第4の閾値より小さいかどうかを判定するステップと、前記差分が前記第4の閾値より小さい場合には、前記IF待ち行列の前記先頭セル情報をポップするステップと、前記差分が前記第4の閾値より小さくない場合には、前記IF待ち行列の前記先頭セル情報を前記PF待ち行列の1つにプッシュし、最も満杯なPF待ち行列の先頭セル情報をポップするステップと、前記IF待ち行列のポップされた先頭セル情報に対応するセルまたは前記PF待ち行列のポップされた先頭セル情報に対応するセルがタイムアウトしたかどうかを判定するステップと、タイムアウトした場合には、前記セル情報に対応するセルと前記セルが属するパケットを再利用するステップと、タイムアウトしていない場合には、前記セルのパケットシーケンス番号が前記パケット再構築データベースの同一ソースの最大パケットシーケンス番号より小さいとき、前記セル情報を前記パケット再構築データベースに挿入するステップと、前記セルのパケットシーケンス番号が前記パケット再構築データベースの同一ソースの最大パケットシーケンス番号より大きいとき、前記セル情報を前記PF待ち行列の1つに挿入するステップと、を含む、請求項2に記載の方法。特定のPF待ち行列の深さが前記事前設定閾値より大きい場合には、オーバフローPF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が第5の閾値より小さいかどうかを判定するステップと、前記差分が前記第5の閾値より小さい場合には、前記オーバフローPF待ち行列の先頭セル情報に対応するセルを再利用し、前記IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が前記第4の閾値より小さいかどうかを判定するステップを実施するステップと、前記差分が前記第5の閾値より小さくない場合には、前記IF待ち行列の前記先頭セル情報を前記PF待ち行列の1つにプッシュするステップを実施し、最も満杯なPF待ち行列の先頭セル情報をポップするステップと、をさらに含む、請求項3に記載の方法。前記パケット再構築データベースは、ソース記述子メモリSDMおよびソース待ち行列メモリSQMを備え、前記SDMは、ソース記述子を格納しパケットのサービスクラスCoSと前記SIDをインデックスとするように構成され、前記SQMは前記ソース記述子に対応するソース待ち行列を格納するように構成され、前記SQMは再順序パケット配列バッファを指すポインタを備え、前記ポインタは、順序付けを待機しているセルのパケット記述子を格納し、前記パケット記述子の各々は前記パケットに属する最後に受信したセルのセル記述子を指す、請求項1乃至4の何れか1項に記載の方法。前記再順序パケット配列バッファは動的パケット記述子配列であり、N個のクラスの様々な容量のメモリブロックを含み、Nは正の整数である、請求項5に記載の方法。前記パケット再構築データベースは、マルチキャスト領域のIDであるマルチキャストグループIDMGID、記述子メモリおよびMGID待ち行列メモリを備え、前記ソースMGID記述子メモリはMGID記述子を格納し、パケットのCoS、前記MGID、および前記SIDをインデックスとするように構成され、前記MGID待ち行列メモリは、前記MGID記述子に対応するMGID待ち行列を格納するように構成され、前記MGID待ち行列メモリは再順序パケット配列バッファを指すポインタを備え、前記再順序パケット配列バッファは順序付けを待機しているセルのパケット記述子を格納し、前記パケット記述子の各々は前記パケットに属する最後に受信したセルのセル記述子を指す、請求項1乃至4の何れか1項に記載の方法。前記再順序パケット配列バッファは動的パケット記述子配列であり、M個のクラスの様々な容量のメモリブロックを含み、Mは正の整数である、請求項7に記載の方法。前記MGID記述子メモリと前記MGID待ち行列メモリはハッシュ関数を介してアクセスされ、リソース競合が生じたとき、前記リソース競合が生じたセルを、別のMGID待ち行列にプッシュするかまたは事前設定されたフルアソシアティブ犠牲テーブルFAVTに従って破棄する、請求項7に記載の方法。前記FAVTの情報量が事前設定された第1の閾値を超えたとき、宛先ポートを起動して制御情報をマルチキャストソースに送信し、前記宛先ポートに送信されたマルチキャストデータのトラフィックを削減する、請求項9に記載の方法。前記セルシーケンス番号に従って前記正しく順序付けられたパケットのセルを順序付けるステップは、前記パケットが完全なパケットである場合には、パケットのCoSと前記セルのブロードキャストクラスに従って前記完全なパケットのパケット記述子を対応する完全待ち行列に追加するステップと、前記完全待ち行列の中の前記パケット記述子に従って、対応するセル情報をセル順序付けバッファに挿入するステップと、前記セルシーケンス番号に従って、前記セル順序付けバッファの中の抽出したセル情報を順序付けるステップと、を含む、請求項2乃至4、6、または8乃至10の何れか1項に記載の方法。前記セルシーケンス番号に従って、前記セル順序付けバッファの中の抽出したセル情報を順序付けるステップは、前記セル順序付けバッファにより、パケット再構築のために順序付けられた前記セル情報を1つずつ読み取る読取ポインタと、セル順序付けを現在実施しているパケットの開始位置を常に指す書込ポインタを維持するステップと、前記書込ポインタを前記セルシーケンス番号に追加して、挿入された前記セル情報のオフセット位置を計算するステップと、前記オフセット位置に従って、前記パケット内の挿入された前記セル情報の位置を調節するステップと、を含む、請求項11に記載の方法。前記正しく順序付けられたセルでパケット再構築を実施するステップは、少なくとも2つの再構築リソースを前記正しく順序付けられたセルの情報が属するパケットに割り当てるステップと、選択されたセル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取るステップと、読み取ったセル情報に従って対応するセルデータを取得し、前記割り当てられた再構築リソースを用いて、取得したセルデータにパケット再構築を実施するステップと、を含む、請求項11に記載の方法。少なくとも2つのセル順序付けバッファが存在し、前記正しく順序付けられたセルにパケット再構築を実施するステップはさらに、パケットのCoSに従ってセル順序付けバッファを選択するステップと、を含み、選択されたセル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取るステップは、特に、選択されたセル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取るステップを含む、請求項13に記載の方法。前記パケット再構築がタイムアウトしたと判定されたとき前記パケットを破棄する、請求項2乃至4、6、8乃至10または12乃至14の何れか1項に記載の方法。前記パケット再構築がタイムアウトしたと判定するステップは特に、前記パケットにおける宛先ポートに最初に到着したセルのローカルタイムスタンプと現在時刻の間の差分が事前設定された第2の閾値より大きいとき、前記パケット再構築がタイムアウトしたと判定するステップを含む、請求項15に記載の方法。前記ソースポートにより送信されたセルを受信するステップは、特に、前記ソースポートにより送信されたセルを、ファブリックスイッチを介して受信するステップを含み、前記正しく順序付けられたセルでパケット再構築を実施する前に、前記方法はさらに、前記ファブリックスイッチの遅延の推定値が事前設定された第3の閾値を超えたと判定されたとき、前記パケットを破棄するステップを含む、請求項2乃至4、6、8乃至10、12乃至14、または16の何れか1項に記載の方法。ソースポートが送信したセルを受信するように構成された受信ユニットであって、前記セルは、SIDSourceIdentification、パケットシーケンス番号、およびセルシーケンス番号を保持する受信ユニットと、前記SIDに従って前記受信ユニットにより受信したセルを前処理して前記セルをパケット再構築データベースに挿入するかどうかを判定するように構成された前処理ユニットと、前記パケットシーケンス番号に従って前記パケット再構築データベース内のセルを順序付けて前記正しく順序付けられたパケットを取得するように構成されたパケット順序付けユニットと、前記パケットが完全なパケットと判定された場合には、前記正しく順序付けられたパケットのセルを前記セルシーケンス番号に従って順序付けて、前記正しく順序付けられたセルを取得するように構成されたセル順序付けユニットと、前記正しく順序付けられたセルにパケット再構築を実施するように構成された再構築ユニットと、を備える、ネットワーク装置。前記前処理ユニットは、受信したセルを到着時刻のローカルタイムスタンプでスタンプし、前記セルのセルデータを前記SIDに従ってロードメモリに格納し、対応するロードメモリのインデックス値を構成するように構成されたデータ格納サブユニットと、前記セルのセル情報を入力FIFOIF待ち行列に挿入するように構成された情報挿入サブユニットであって、前記セル情報は、前記SID、前記ローカルタイムスタンプ、前記ロードメモリのインデックス値、前記パケットシーケンス番号、および前記セルシーケンス番号を含む情報挿入サブユニットと、前記SID、前記パケットシーケンス番号、および遅延FIFOPF待ち行列の状態に従って前記IF待ち行列の中の前記セル情報を処理し、前記セル情報をセル再構築データベースに挿入すべきかどうかを判定するように構成された判定サブユニットと、を備える、請求項18に記載のネットワーク装置。前記判定サブユニットは特に、各PF待ち行列の深さが事前設定閾値より小さい場合には、前記IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の間の差分が第4の閾値より小さいと判定し、前記差分が前記第4の閾値より小さい場合には、前記IF待ち行列の前記先頭セル情報をポップし、前記差分が前記第4の閾値より小さくない場合には、前記IF待ち行列の前記先頭セル情報を前記PF待ち行列の1つにプッシュし、最も満杯なPF待ち行列の先頭セル情報をポップし、前記IF待ち行列のポップされた先頭セル情報に対応するセルまたは前記PF待ち行列の先頭セル情報に対応するセルがタイムアウトしたかどうかを判定し、タイムアウトした場合には、前記セル情報に対応するセルおよび前記セルが属するパケットを再利用し、タイムアウトしていない場合には、前記セルのパケットシーケンス番号が前記パケット再構築データベースの同一ソースの最大パケットシーケンス番号より小さいとき、前記セル情報を前記パケット再構築データベースに挿入し、前記セルのパケットシーケンス番号が前記パケット再構築データベースの同一ソースの最大パケットシーケンス番号より大きいとき、前記セル情報を前記PF待ち行列の1つに挿入するように構成された、請求項19に記載のネットワーク装置。前記判定サブユニットは特に、特定のPF待ち行列の深さが前記事前設定閾値より大きい場合には、オーバフローPF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が第5の閾値より小さいかどうかを判定し、前記差分が前記第5の閾値より小さい場合には、前記オーバフローPF待ち行列の先頭セル情報に対応するセルを再利用し、次いで前記IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が前記第4の閾値より小さいかどうかを判定するステップを実施し、前記差分が前記第4の閾値より小さくない場合に、前記IF待ち行列の前記先頭セル情報を前記PF待ち行列の1つにプッシュし、最も満杯なPF待ち行列の先頭セル情報をポップするステップを実施するように構成された、請求項20に記載のネットワーク装置。前記パケット再構築データベースはソース記述子メモリSDMとソース待ち行列メモリSQMを備え、前記SDMは、ソース記述子を格納し、前記パケットのサービスクラスCoSと前記SIDをインデックスとするように構成され、前記SQMは前記ソース記述子に対応するソース待ち行列を格納するように構成され、前記SQMは再順序パケット配列バッファを指すポインタを備え、前記再順序パケット配列バッファは順序付けを待機しているセルのパケット記述子を格納し、前記パケット記述子の各々は前記パケットに属する最後に受信したセルのセル記述子を指す、請求項18乃至21の何れか1項に記載のネットワーク装置。前記再順序パケット配列バッファは動的パケット記述子配列であり、N個のクラスの様々な容量のメモリブロックを含み、Nは正の整数である、請求項22に記載のネットワーク装置。前記パケット再構築データベースは、マルチキャスト複製領域のIDであるマルチキャストグループIDMGID記述子メモリとMGID待ち行列メモリを備え、前記MGID記述子メモリは、MGID記述子を格納しパケットのCoS、前記MGID、およびソースポート番号をインデックスとするように構成され、MGID待ち行列メモリは、前記MGID記述子に対応するMGID待ち行列を格納するように構成され、前記MGID待ち行列メモリは再順序パケット配列バッファを指すポインタを備え、前記再順序パケット配列バッファは順序付けを待機しているセルのパケット記述子を格納し、前記パケット記述子の各々は前記パケットに属する最後に受信したセルのセル記述子を指す、請求項18乃至21の何れか1項に記載のネットワーク装置。前記再順序パケット配列バッファは動的パケット記述子配列であり、M個のクラスの様々な容量のメモリブロックを含み、Mは正の整数である、請求項24に記載のネットワーク装置。競合処理ユニットをさらに備え、前記パケット順序付けユニットは特に、ハッシュ関数を介して、前記MGID記述子メモリと前記MGID待ち行列メモリにアクセスするように構成され、前記競合処理ユニットは、リソース競合が生じたとき、前記リソース競合が生じたセルを別のMGID待ち行列にプッシュするか、または、事前設定されたフルアソシアティブ犠牲テーブルFAVTに従って前記リソース競合が生じたセルを破棄するように構成された、請求項24に記載のネットワーク装置。前記FAVTの情報量が事前設定された第1の閾値を超えたとき、宛先ポートを起動して制御情報をマルチキャストソースに送信し、前記宛先ポートに送信されたマルチキャストデータのトラフィックを削減するように構成された制御メッセージ送信ユニットをさらに備える、請求項26に記載のネットワーク装置。前記セル順序付けユニットは、前記パケットが完全なパケットと判定されたとき、パケットのCoSと前記セルのブロードキャストクラスに従って、前記完全なパケットのパケット記述子を対応する完全待ち行列に追加するように構成されたエンキューイングサブユニットと、前記完全待ち行列の中の前記パケット記述子に従って、対応するセル情報を前記セル順序付けバッファに挿入するように構成されたバッファリングサブユニットと、前記セルシーケンス番号に従って、前記セル順序付けバッファにおいて抽出されたセル情報を順序付けするように構成された順序付けサブユニットと、を備える、請求項19乃至21、23または25乃至27の何れか1項に記載のネットワーク装置。前記セル順序付けバッファは、パケット再構築のために順序付けられた前記セル情報を1つずつ読み取る読取ポインタと、セル順序付けを現在実施しているパケットの開始位置を常に指す書込ポインタを保持し、前記順序付けサブユニットは特に、前記書込ポインタを前記セルシーケンス番号に追加して、挿入された前記セル情報のオフセット位置を計算し、前記オフセット位置に従って前記パケット内の挿入された前記セル情報の位置を調節するように構成された、請求項28に記載のネットワーク装置。前記再順序付けユニットは、少なくとも2つの再構築リソースを前記正しく順序付けられたセルの情報が属するパケットに割り当てるように構成された割当てサブユニットと、前記セル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取るように構成された読取サブユニットと、前記読取サブユニットにより読み取ったセル情報に従って対応するセルデータを取得し、前記割当てサブユニットにより割り当てられた再構築リソースを用いて、取得したセルデータにパケット再構築を実施するように構成された再構築サブユニットと、を備える、請求項28に記載のネットワーク装置。前記再構築ユニットはさらに選択サブユニットを備え、前記選択サブユニットは、パケットのCoSに従ってセル順序付けバッファを選択するように構成され、前記割当てサブユニットは特に、再構築リソースを、前記選択サブユニットにより選択された前記正しく順序付けられたセルの情報が前記セル順序付けバッファにおいて属するパケットに割り当てるように構成され、前記読取サブユニットは、前記選択サブユニットにより選択された前記正しく順序付けられたセルの情報を前記セル順序付けバッファにおいて1つずつ読み取るように構成された、請求項30に記載のネットワーク装置。前記パケット再構築がタイムアウトしたと判定されたとき前記パケットを破棄するように構成された破棄ユニットをさらに備える、請求項19乃至21、23、25乃至27または29乃至31の何れか1項に記載のネットワーク装置。前記破棄ユニットは特に、前記パケット内の宛先ポートに最初に到着したセルの到着時刻と現在時刻の間の差分が事前設定された第2の閾値より大きいとき、前記パケット再構築がタイムアウトしたと判定するように構成された、請求項32に記載のネットワーク装置。前記受信ユニットは特に、ファブリックスイッチを介して、前記ソースポートにより送信されたセルを受信するように構成され、前記破棄ユニットはさらに、前記ファブリックスイッチの遅延の推定値が事前設定された第3の閾値を超えたと判定されたとき、前記パケットを破棄するように構成された、請求項32に記載のネットワーク装置。ソースポート装置と請求項19乃至34の何れか1項に記載のネットワーク装置とを備えた通信システムであって、ソースポート装置は、セルを前記ネットワーク装置に送信するように構成され、前記セルは、SIDSourceIdentification、パケットシーケンス番号、およびセルシーケンス番号を保持する、通信システム。この方法では、時間同期の必要性が高い。しかし、多数のソースが存在するときには、非常に正確な時間同期を実現するのは困難であるので、この方法は高性能な装置には適切ではない。しかし、時間スケールを用いずに、宛先ポートでソースに基づいて単純に再順序付けする場合には、大量のメモリと制御リソースが無駄になる。本発明の諸実施形態では、パケットを再構築し再順序付けするための方法、装置、およびシステムを提供する。これらは、高性能な装置に適しており、メモリや制御リソースをあまり占有しない。パケットを再構築し再順序付けするための方法は、ソースポートが送信したセルを受信するステップであって、当該セルはSIDSourceIdentification、パケットシーケンス番号およびセルシーケンス番号を保持するステップと、当該SIDに従って、受信したセルを前処理して、当該セルをパケット再構築データベースに挿入するかどうかを判定するステップと、当該パケットシーケンス番号に従ってパケット再構築データベースの中でセルを順序付けて正しく順序付けられたパケットを取得するステップと、当該正しく順序付けられたセルが完全なセルである場合には、当該正しく順序付けられたパケットのセルを当該セルシーケンス番号に従って順序付けて正しく順序付けられたセルを取得するステップと、当該正しく順序付けられたセルでパケット再構築を実施するステップと、を含む。ネットワーク装置が、ソースポートが送信したセルを受信するように構成された受信ユニットであって、当該セルは、SIDSourceIdentification、パケットシーケンス番号、およびセルシーケンス番号を保持する受信ユニットと、当該SIDに従って当該受信ユニットにより受信したセルを前処理して当該セルをパケット再構築データベースに挿入するかどうかを判定するように構成された前処理ユニットと、当該パケットシーケンス番号に従ってパケット再構築データベース内のセルを順序付けて当該正しく順序付けられたパケットを取得するように構成されたパケット順序付けユニットと、当該パケットが完全なパケットと判定された場合には、当該正しく順序付けられたパケットのセルを当該セルシーケンス番号に従って順序付けして、当該正しく順序付けられたセルを取得するように構成されたセル順序付けユニットと、当該正しく順序付けられたセルに対してパケット再構築を実施するように構成された再構築ユニットと、を備える。通信システムが、本発明の諸実施形態により提供されるソースポート装置と任意のネットワーク装置を備え、当該ソースポート装置は、セルを当該ネットワーク装置に送信するように構成され、当該セルは、SIDSourceIdentification、パケットシーケンス番号、およびセルシーケンス番号を保持する。本発明の諸実施形態では、受信したセルをSIDに従って前処理し、受信したセルがパケット再構築データベースに挿入されるかどうかを判定し、パケットシーケンス番号とセルのセルシーケンス番号に従って当該データベース内のセルを直接順序付けし、最後にパケット再構築を実現する。当該解決策では、ソースに従ってパケットを直接再順序付けし再構築することができるので、時間同期に基づいてパケットを再順序付けし再構築する先行技術と比べて、高性能な装置に適している。さらに、当該解決策では受信したセル即ち、再構築を待機しているパケットを制御し管理できるので、リソースの利用率は高く、メモリと制御リソースはあまり占有されない。本発明の諸実施形態の技術的解決策をより明確に説明するために、諸実施形態の説明で使用する図面を以下で簡単に説明する。明らかに、以下の図面は本発明の幾つかの実施形態を例示するにすぎず、当業者は創造的作業なしにこれらの図面から他の図面を得ることができる。以下で、本発明の諸実施形態における技術的解決策を、本発明の諸実施形態における図面を参照して明確かつ十分に説明する。明らかに、説明する実施形態は全ての実施形態ではなく本発明の諸実施形態の一部にすぎない。本発明の諸実施形態に基づいて、当業者が創造的作業なしに得る他の任意の実施形態は本発明の保護範囲に入る。本発明の諸実施形態では、パケットを再構築し再順序付けするための方法、装置、およびシステムを提供する。これらをそれぞれ以下で説明する。実施形態1本実施形態を、宛先ポートの役割を果たすネットワークの観点から説明する。パケットを再構築し再順序付けするための方法は、ソースポートが送信したセルを受信するステップであって、当該セルはSIDSourceIdentification、パケットシーケンス番号およびセルシーケンス番号を保持するステップと、当該SIDに従って、受信したセルを前処理して、当該セルをパケット再構築データベースに挿入するかどうかを判定するステップと、当該パケットシーケンス番号に従ってパケット再構築データベースの中でセルを順序付けて正しく順序付けられたパケットを取得するステップと、当該正しく順序付けられたセルが完全なセルである場合には、当該正しく順序付けられたパケットのセルを当該セルシーケンス番号に従って順序付けて正しく順序付けられたセルを取得するステップと、正しく順序付けられたセルに対してパケット再構築を実施するステップと、を含む。図1を参照すると具体的な流れは以下の通りである。101で、ソースポートが送信したセルを受信する。当該セルは、SID、パケットシーケンス番号およびセルシーケンス番号を含む。SIDは、ソースおよびセルのクラスを特定するように構成され、セルが送られてくるソースポートを当該SIDに従って取得することができる。SIDを、1組のソースポート番号とパケットのサービスクラスCoS、即ち、{ソースポート番号、パケットのCoS}であるユニキャストSIDと、1組のソースポート番号、CoSおよびマルチキャストグループIDMGID、即ち、{ソースポート番号、パケットのCoS、MGID}であるマルチキャストSIDに分類してもよい。ここで、MGIDは、ソースラインカードのPPによりマルチキャストパケットに割り当てられる。パケットシーケンス番号は、データストリーム内のパケットの位置を特定するように構成される。セルシーケンス番号は、パケット内のセルの位置を特定するように構成される。例えば、ソースポートから送信されたセルを、特に、ファブリックスイッチにより受信してもよい。ここで、ソースポートはパケットを分割してセルを取得し、パケットシーケンス番号とセルシーケンス番号を当該セルに割り当てる。例えば、同一宛先ポートの2つのパケットをセルに分割する。第1のパケットはそれぞれシーケンス番号1、1、1、2および1、3の3つのセルに分割され、第2のパケットはそれぞれシーケンス番号2、1、2、2、2、3および2、4の4つのセルに分割される。括弧内の1番目の数字はパケットシーケンス番号であり、括弧内の2番目の数はセルシーケンス番号である。102で、当該SIDに従って、受信したセルを前処理して、当該セルをパケット再構築データベースに挿入するかどうかを判定する。ここで、セルはセルデータとセル情報を含んでもよい。リソースを節約するために、順序付けプロセスの最中にセル情報のみを操作し、パケット再構築を実施するときにのみ、セル情報に従って対応するセルデータを再構築のために抽出する。例えば、詳細は以下の通りであってもよい。1受信したセルを到着時刻のローカルタイムスタンプでスタンプした後、当該セルのセルデータをSIDに従ってロードメモリに格納し、対応するロードメモリのインデックス値を構成し、それに基づいて対応するセルデータをロードメモリから取得することができる。2セルのセル情報を入力FIFOIF待ち行列に挿入する。当該セル情報は、SID、ローカルタイムスタンプ、ロードメモリのインデックス値、パケットシーケンス番号およびセルのセルシーケンス番号のような幾つかのセル関連の情報を含んでもよい。ここで、ローカルタイムスタンプはローカルで待機しているセルの時刻を判定するために主に使用され、待機時間があまりに長い場合にはセルは破棄される。SID、ロードメモリのインデックス値、パケットシーケンス番号およびセルシーケンス番号の機能に関する上の説明を参照されたい。それらの説明はここでは省略する。3SID、パケットシーケンス番号および遅延FIFOPF待ち行列の状態に従ってIF待ち行列の中のセル情報を処理し、当該セル情報をセル再構築データベースに挿入すべきかどうかを判定する。即ち、各PF待ち行列の深さが事前設定閾値より小さい場合には、IF待ち行列の先頭セル情報に対応するセルを後処理するかどうかを判定する。処理する場合には、IF待ち行列の当該先頭セル情報をポップする。処理しない場合には、IF待ち行列の当該先頭セル情報をPF待ち行列の1つにプッシュし複数のPF待ち行列を構築して、様々な待機時間のセルをバッファしてもよい、最も満杯なPF待ち行列の先頭セル情報をポップする。IF待ち行列のポップされた先頭セル情報に対応するセルまたはPF待ち行列のポップされた先頭セル情報に対応するセルがタイムアウトしたかどうかを判定し、タイムアウトしたと判定する場合には、当該セル情報に対応するセルと当該セルが属するパケットを再利用し、タイムアウトしたと判定しない場合には、当該セルのパケットシーケンス番号がパケット再構築データベースの同一ソースの最大パケットシーケンス番号より小さいとき、当該セル情報をパケット再構築データベースに挿入し、当該セルのパケットシーケンス番号がパケット再構築データベースの同一ソースの最大オープンパケットシーケンス番号より大きいとき、当該セル情報をPF待ち行列の1つに挿入する。対照的に、特定のPF待ち行列の深さが当該事前設定閾値より大きい場合には、オーバフローPF待ち行列の先頭セル情報に対応するセルが処理されるかどうかを判定し、処理されないと判定した場合には、当該オーバフローPF待ち行列の先頭セル情報に対応するセルを再利用し即ち、PF待ち行列の深さが事前設定閾値より大きい、例えば、PF待ち行列が満杯である、IF待ち行列内の先頭セル情報に対応するセルが処理されるかどうかを判定するステップを実施し上述の説明を参照、処理されると判定した場合には、IF待ち行列の当該先頭セル情報をPF待ち行列の1つにプッシュするステップと、最も満杯なPF待ち行列の先頭セル情報をポップするステップを実施する。ここで、PF待ち行列は主に、宛先ポートにあまりにも早く到着したセルを格納するために使用される。即ち、セルが宛先ポートにあまりに早く到達した場合には、セルは、並行に処理するのではなくPF待ち行列に入れられ、PF待ち行列から正しい時点に抽出され、パケット再構築データベースに挿入される。ここで、セルが処理されるかどうかを待ち行列の中のオープンパケット即ち、処理を待機しているセルの量に従って、即ち、現在処理されているパケットの最小パケットシーケンス番号と現在のセルのパケットシーケンス番号の差分が事前設定された値より小さいかどうかを判定することによって、判定してもよい。事前設定された値より小さい場合には、セルを処理することを意味し、現在のセルを処理することができる。そうでない場合には、セルは処理されず、セルを遅延させる、即ち、PF待ち行列に入れてもよいことを意味する。例えば、待ち行列の中のオープンパケットの最大数が16である場合には、現在処理されているパケットの最小パケットシーケンス番号は1024であり、パケットシーケンス番号が1024未満であるパケットのセルはすぐ破棄され、パケットシーケンス番号が1024以上でありかつ102416以下であるパケットのセルは処理される。例えば、セルがタイムアウトしておらず、当該セルのパケットシーケンス番号がパケット再構築データベースの同一ソースの最大パケットシーケンス番号より小さいとさらに判定されたときには、セルをパケット再構築データベースに挿入し、シーケンス番号が102416より大きいパケットのセルはバッファされる、即ち、PF待ち行列に挿入される。即ち、IF待ち行列の中のセル情報をSID、パケットシーケンス番号および遅延FIFOPF待ち行列の状態に従って処理し、当該セル情報を当該セル再構築データベースに挿入すべきかどうかを判定するステップは、特に、各PF待ち行列の深さが事前設定閾値より小さい場合には、IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が第4の閾値より小さいかどうかを判定し、小さい場合には、IF待ち行列の当該先頭セル情報をポップし、小さくない場合には、IF待ち行列の当該先頭セル情報をPF待ち行列の1つにプッシュし、最も満杯なPF待ち行列の先頭セル情報をポップし、IF待ち行列のポップされた先頭セル情報に対応するセルまたはPF待ち行列のポップされた先頭セル情報に対応するセルがタイムアウトしたかどうかを判定し、タイムアウトした場合には、当該セル情報に対応するセルと当該セルが属するパケットを再利用し、タイムアウトしていない場合には、当該セルのパケットシーケンス番号がパケット再構築データベースの同一ソースの最大オープンパケットシーケンス番号より小さいとき、当該セル情報をパケット再構築データベースに挿入し、当該セルのパケットシーケンス番号がパケット再構築データベースの同一ソースの最大オープンパケットシーケンス番号より大きいとき、当該セル情報をPF待ち行列の1つに挿入するステップを含んでもよい。特定のPF待ち行列の深さが当該事前設定閾値より大きい場合には、オーバフローPF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が第5の閾値より小さいかどうかを判定し、小さい場合には、当該オーバフローPF待ち行列の先頭セル情報に対応するセルを再利用し、IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が上記第4の閾値より小さいかどうかを判定するステップを実施し、小さくない場合には、IF待ち行列の当該先頭セル情報をPF待ち行列の1つにプッシュするステップと、最も満杯なPF待ち行列の先頭セル情報をポップするステップとを実施する。ここで、上記第4の閾値と上記第5の閾値を、実際の適用の要件に従って設定してもよい。ユニキャストまたはマルチキャストの何れかが、再構築と再順序付けを待機している幾つかのパケットを夫々が有する多数のパケット順序付け待ち行列を含んでもよい再構築と再順序付けを待機しているこれらのパケットはオープンパケットである。ここで、ユニキャストは、パケットのサービスクラスCoSとSIDSourceIdentificationに従ってパケット順序付け待ち行列を分類してもよい。即ち、パケットの異なるCoSのセルとSIDは様々なパケット順序付け待ち行列に入れられる。マルチキャストは、パケットのサービスクラスCoS、SIDSourceIdentificationおよびマルチキャストグループIDMGIDに従ってパケット順序付け待ち行列を分類してもよい。ここで、各パケット順序付け待ち行列は、順序付けすべきパケットを収容するためのデータの役割を担うパケット記述子配列即ち、事前に割り当てたメモリを有する。パケット記述子配列の中の各エントリは実際にはパケットが属するセル記述子を指すポインタであり、当該セル記述子は次のセルを指すポインタも有する。したがって、1つのパケットに属する全てのセルはリンクリストを構成し、パケット配列の最初のポインタから開始して全てのセルを訪問することができる。ここで、パケット記述子配列のサイズ即ち、収容できるオープンパケットの量は動的に調整可能である。例えば、サイズが異なる幾つかのパケット記述子配列を事前に割り当ててもよい。順序付け待ち行列のオープンパケットの数が増加し、パケット記述子配列がオーバフローした場合には、より大きなパケット記述子配列を使用して元の小さなパケット記述子配列を置き換えてもよい。ユニキャストに対しては、パケット再構築データベースはソース記述子メモリSDMとソース待ち行列メモリSQMを備えてもよい。SDMは、ソース記述子を格納し、パケットのCoSとソースポート番号をインデックスとする、即ち、{パケットのCoS、ソースポート番号}をインデックスとして使用するように構成され、SQMは、当該ソース記述子に対応するソース待ち行列を格納するように構成され、SQMは、当該再順序パケット配列バッファを指すポインタを含む。当該バッファは、順序付けを待機しているセルのパケット記述子を格納し、当該パケット記述子の各々は当該パケットに属する最後に受信したセルのセル記述子を指す。ここで、当該再順序パケット配列バッファを、動的パケット記述子配列により構築してもよく、当該バッファが特にN個のクラスの様々な容量のメモリブロックを含んでもよい。ここで、Nは正の整数である。例えば、N=3であるとき、Xをパケット記述子の幅として、容量が32X、128Xおよび512Xである3つのクラスのメモリブロックを保護してもよい。マルチキャストに対しては、パケット再構築データベースがMGID記述子メモリとMGID待ち行列メモリを備えてもよい。MGID記述子メモリは、MGID記述子を格納し、パケットのCoS、MGIDおよびソースポート番号をインデックスとし、例えば、{パケットのCoS、MGID、ソースポート番号}のハッシュ値をインデックスとして使用するように構成され、MGID待ち行列メモリは、当該MGID記述子に対応するMGID待ち行列を格納するように構成され、MGID待ち行列メモリは、当該再順序パケット配列バッファを指すポインタを備えてもよい。当該バッファは、順序付けを待機しているセルのパケット記述子を格納し、当該パケット記述子の各々は当該パケットに属する最後に受信したセルのセル記述子を指す。ここで、当該再順序パケット配列バッファは動的パケット記述子配列であり、M個のクラスの様々な容量のメモリブロックを含み、Mは正の整数である。これはユニキャストと同様であり、ここでは省略する。{パケットのCoS、MGID、ソースポート番号}で表される空間は非常に大きいので、{パケットのCoS、MGID、ソースポート番号}のインデックスごとに対応するパケット順序付け待ち行列を生成することは非常に困難である。その結果、リソースを節約するために、MGID記述子メモリとMGID待ち行列メモリがハッシュ関数をサポートできるようにしてもよい。即ち、各プロセス例えば、IF待ち行列、PF待ち行列、完全待ち行列、再順序パケット配列バッファおよびセル順序付けバッファが、当該ハッシュ関数を介して、当該MGID記述子メモリと当該MGID待ち行列メモリにアクセスしてもよい。ここで、当該ハッシュ関数を複数のハッシュバケットとして構築してもよい。所謂ハッシュ関数は、{パケットのCoS、MGID、ソースポート番号}をより小さな空間にマップするものである。例えば、ハッシュ関数は{パケットのCoS、MGID、ソースポート番号}を入力として、1つまたは複数のパケット順序付け待ち行列即ち、複数のハッシュバケットに対応するインデックス値を計算してもよい。ハッシュ関数を使用するとリソース競合が生ずるおそれがあるので、フルアソシアティブ犠牲テーブルFAVTを設けて、リソース競合が生じたとき、当該リソース競合が生じたセルを別のMGID待ち行列にプッシュするかまたは事前設定されたFAVTに従って破棄することができる。さらに、当該FAVTの情報量が事前設定された第1の閾値を超えたとき、現在の宛先ポートを起動して制御情報をマルチキャストソースに送信し、それにより、現在の宛先ポートに送信されるマルチキャストデータの量を削減してもよい。ここで、第1の閾値を実際の適用要件に従って設定してもよい。例えば、各ハッシュエントリは、2つのハッシュバケット即ち、2つのパケットのハッシュ順序付け待ち行列を備える。1、2、128、7、0、256、11、3、567等は全て16にマップされる。即ち、これらの組合せを入力としたとき、当該ハッシュ関数の結果は16である。1、2、128のセルが第1のパケット順序付け待ち行列を使用してもよく、7、0、256のセルが第2のパケット順序付け待ち行列を使用してもよく、11、3、567のセルのみを到着時に破棄することができる。なぜならば、各ハッシュエントリが2つのパケット順序付け待ち行列しか有さないからである。勿論、1、2、128のセルの全てを順序付け待ち行列の外で上手く再構築し再順序付けした場合には、第1のパケット順序付け待ち行列は空である。この時点で、11、3、567のセルが到着したとき、第1のパケット順序付け待ち行列を使用してもよい。FAVTは、どのインデックス値SID、CoS、MGIDがパケット順序付け待ち行列を占有するかを示し、現在の状態に従って動的に維持される。103で、パケットシーケンス番号に従ってパケット再構築データベースの中でセルを順序付けて正しく順序付けられたパケットを取得する。例えば、その詳細が以下のようであってもよい。パケットシーケンス番号に従って当該再順序パケット配列バッファの中でパケット記述子を順序付けし、パケット再構築データベースにおいて同一のパケットシーケンス番号を有するセル情報をパケット記述子に対応するパケット順序付け待ち行列に入れる。例えば、パケット再構築データベースに格納されたセル情報のシーケンス番号がそれぞれ1、1、2、3、1、3、2、1、2、4、1、2および2、2である場合には、パケット順序付けの後、第1のパケット順序付け待ち行列:1、1、1、3、1、2第2のパケット順序付け待ち行列:2、3、2、1、2、4、2、2となる。ここで、括弧の中で、1番目の数字はパケットシーケンス番号であり、2番目の数字はセルシーケンス番号である。この時点でパケットが正しく順序付けされているが、パケット内のセルは依然として乱雑な状態にあることが分かる。104で、当該正しく順序付けられたセルが完全なセルである場合には、ステップ103で取得した正しく順序付けられたパケットのセルをセルシーケンス番号に従って順序付けして正しく順序付けられたセルを取得する。完全なパケットとは、パケット内のセルが完全に受信されたことを意味する。例えば、その詳細が以下のようであってもよい。即ち、パケットが完全なパケットである場合には、ブロードキャストクラスのセルおよびパケットのCoSに従って、当該完全なパケットのパケット記述子を対応する完全FIFOCF待ち行列に追加し、対応するセル情報を、CF待ち行列内のパケット記述子に従ってセル順序付けバッファセル再順序付けバッファ、完全パケットFIFOとも称するに挿入し、セルシーケンス番号に従って、抽出したセル情報をセル順序付けバッファの中で順序付けする。ここで、セルのブロードキャストクラスがユニキャストまたはマルチキャストを含んでもよい。順序付けの効率を改善するために、セル順序付けバッファは、セル順序付けの最中に十分な空き空間が利用可能であることを保証する。したがって、セル順序付けバッファの空き空間が事前設定閾値より大きい、例えば、セル順序付けバッファの実際のデータ量が許容可能なデータ量の2分の1未満であるときにのみ、完全待ち行列の中のパケット記述子に従って対応するセル情報をセル順序付けバッファに挿入するように構成してもよい。ここで、セルシーケンス番号に従って、抽出したセル情報をセル順序付けバッファの中で順序付けするステップは、特に、以下のようであってもよい。即ち、セル順序付けバッファは、パケット再構築を実施するために順序付けしたセルを1つずつ読み取る読取ポインタと、セル順序付けを現在実施しているパケットの開始位置を常に指す書込ポインタを維持する。したがって、当該書込ポインタにセルシーケンス番号を追加することによって、挿入された当該セル情報のオフセット位置を計算することができ、当該パケット内の挿入された当該セル情報の位置即ち、パケット内の正しい位置を当該オフセット位置に従って調節し、正しく順序付けられたセルの情報を取得する。105で、当該正しく順序付けられたセルでパケット再構築を実施する。例えば、その詳細は以下の通りである。即ち、再構築リソースを当該正しく順序付けられたセルの情報が属するパケットに割り当て、当該セル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取り、読み取ったセル情報に従って対応するセルデータを取得し、割り当てられた再構築リソースを用いてパケット再構築をセルデータに対して実施する。効率を改善するために、当該正しく順序付けられたセルの情報が属するパケットを少なくとも2つの再構築リソースに割り当ててもよい。リソース節約のために、再構築リソースをリソースプールにおいて管理し、必要なとき、即ち、再構築を行うときにのみ各ソースに割り当てる。例えば、順序付けバッファ内のセルを正しく順序付けした後、パケット再構築を要求する識別信号例えば、FIFO_RDY信号をパケット再構築機構に送信してもよく、パケット再構築機構は、パケット再構築を要求する識別信号を受信した後に、順序付けバッファにおいてセルのパケット再構築を開始する。勿論、少なくとも2つのセル順序付けバッファが存在するとき、パケット再構築機構は、パケット再構築を要求する複数の識別信号を同時に受信してもよい。その場合、パケット再構築機構が、セル順序付けバッファを選択してパケットのCoSに従うプロセスを実施してもよい。即ち、この時点で、当該正しく順序付けられたセルでパケット再構築を実施するステップが特に以下を含んでもよい。即ち、パケットのCoSに従ってセル順序付けバッファを選択し、選択されたセル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取り、読み取ったセル情報に従ってセルデータを抽出しパケット再構築を実施する。場合によっては、リソースを節約し、効率を改善し、特定のパケットで大量の時間を無駄にすることを回避するために、パケット再構築の時間を監視し、パケット再構築がタイムアウトしたとき当該パケットを破棄する。例えば、パケットの宛先ポートに最初に到着したセルの到着時刻例えば、当該到着時刻をローカルタイムスタンプでスタンプしてもよいと現在時刻の差分が事前設定された第2の閾値より大きいかどうかを判定してもよく、大きい場合には、当該パケット再構築がタイムアウトしたかどうかを判定して当該パケットを破棄し、そうでない場合には、パケット再構築がタイムアウトしていないと判定し、パケットの再構築を続ける。ここで、再構築超過時間はさらに、ファブリックスイッチ遅延の推定時間を含んでもよい。ファブリックスイッチ遅延を、パケットシーケンス番号に従って推定してもよい。詳細については、先行技術を参照されたい。それらの説明はここでは省略する。次に、パケットがファブリックスイッチ内であまりに長く遅延した場合には、待機して再構築タイムアウトとするケースで破棄するのではなく、すぐに破棄してもよい。即ち、場合によっては、正しく順序付けられたセルをパケットに再構築する前に、当該方法はさらに、ファブリックスイッチ遅延の推定値が事前設定された第3の閾値を超過したと判定したときに、パケットを破棄するステップを含んでもよい。ここで、上記第2の閾値と第3の閾値を実際の適用要件に従って設定してもよい。例えば、特定のパケット順序付け待ち行列の先頭にあるパケットは123のパケットシーケンス番号を有し、当該パケット即ち、パケットシーケンス番号が123であるパケットには未到着のセルが存在する。このケースでは、124のパケットシーケンス番号を有するパケットのような後続のパケットは、その全てのセルが到着した場合であっても、再構築することはできず、パケットシーケンス番号が123であるパケットが全てのセルを受信した後に処理されるか、または、パケットシーケンス番号が123であるパケットがタイムアウトを待機しているときに破棄されるにすぎない。タイムアウトの待機には通常長時間が必要であるので、パケットシーケンス番号が123である特定のセルがファブリックスイッチにおいて特に長期間遅延するときには、パケットシーケンス番号が123であるパケットのタイムアウトを待機する必要はないが、ファブリックスイッチ遅延の推定値が事前設定された第3の閾値を超過するかどうかを判定する必要はある。例えば、順序付け待ち行列の中のパケットシーケンス番号が256であるパケットのセルをこの時点で受信した場合、256と123の差は第3の閾値例えば、第3の閾値は100に設定されるより大きいので、パケットシーケンス番号が123であるパケットのタイムアウトを待機する必要はなく、パケットシーケンス番号が123であるパケットをすぐに破棄する。さらに、効率を改善するために、上述の再順序付けおよび再構築のプロセスを複数の並列な再構築および再順序付けエンジンに分割して、様々なCoSのユニキャストまたはマルチキャストのデータストリームをサポートしてもよいことに留意されたい。ここで、パケットのCoSは、パケット優先度に対応する。本実施形態では、受信したセルをSIDに従って前処理し、受信したセルがパケット再構築データベースに挿入されるかどうかを判定し、パケットシーケンス番号およびセルのセルシーケンス番号に従って当該データベース内のセルを直接順序付けし、最後にパケット再構築を実現する。この解決策ではソースに従ってパケットを直接再順序付けし再構築できるので、時間同期に基づいてパケットを再順序付けし再構築する先行技術と比較したとき、高性能な装置に適している。さらに、この解決策では受信したセル即ち、再構築を待機しているパケットを制御し管理できるので、リソースの利用率は高く、メモリと制御リソースはあまり占有されない。実施形態2以降、実施形態1に従って説明した方法を、種々の例を用いてさらに詳細に説明する。図2Aは、パケット再構築および再順序付けのプロセスのアーキテクチャ図であり、図2Aに示すように、主に以下のステップを含む。即ち、ステップ1で、セルが宛先ポートに到着した後に、メモリ割当てモジュールが受信したセルにロードメモリを割り当て、前処理モジュールがSIDに従ってセルのセルデータをロードメモリに格納し、セルのセル情報をセルのSIDに従って分類し、当該分類に従って、セル情報をそれぞれ異なるIFに格納する。例えば、図2Aに示すように、セル情報を、ブロードキャストクラスに従って分類し、ユニキャストデータである場合にはユニキャスト入力FIFOUIF待ち行列に入れ、マルチキャストデータの場合にはマルチキャスト入力FIFOMIF待ち行列に入れてもよい。ここで、セル情報は、SID、ローカルタイムスタンプ、ロードメモリのインデックス値、パケットシーケンス番号およびセルのセルシーケンス番号のような幾つかのセル関連の情報を含んでもよい。前処理モジュールは、UIF待ち行列およびMIF待ち行列におけるセル情報をそれぞれSID、ローカルタイムスタンプおよびPF待ち行列の状態に従って処理して、セル情報をパケット順序付けモジュールのパケット再構築データベースに挿入するかどうかを判定する。ここで、UIF待ち行列とMIF待ち行列は、パケット再構築データベースにおける対応する処理モジュールを有する。例えば、図2Bに示すように、UIF待ち行列はパケット再構築データベースにおけるユニキャストモジュールに対応し、MIF待ち行列はパケット再構築データベースにおけるマルチキャストモジュールに対応する。ステップ2のパケット順序付けでは、パケット順序付けモジュールが、様々なソースにおけるパケットをそれぞれ順序付けして正しく順序付けされたパケットを取得する。例えば、再順序パケット配列バッファにおけるパケット記述子をパケットシーケンス番号に従って順序付けしてもよく、図2AのCoS0、CoS1、CoS2を参照すると、パケット再構築データベースにおいて同じパケットシーケンス番号を有するセルを同じパケット順序付け待ち行列に入れる。図2Aでは、CoS0、CoS1およびCoS2は、それぞれ、異なるパケットのCoSのパケット順序付け待ち行列を表す。このケースでは、パケットは正しく順序付けされるが、パケット内のセルは依然として乱雑な状態にある。即ち、CoS0、CoS1およびCoS2は正しく順序付けられているが、その中のセルは依然として乱雑な状態にある。ステップ3のセル順序付けでは、セル順序付けモジュールは様々な完全なパケットの中のセルをそれぞれ順序付けて、正しく順序付けられたセルを取得する。ここで、完全なパケットとは、その中の全てのセルが受信されたことを示す。ステップ4のパケット再構築では、パケット再構築モジュールは正しく再構築されたセルを完全なパケットに再構築する。図2Aに示すように、この時点で、メモリ割当ユニットは再構築リソースをパケット再構築モジュールに割り当ててもよい。次に、図2Aに示すように、パケット再構築モジュールは、セル順序付けモジュールの中の正しく順序付けられたセルの情報を1つずつ読み取り、読み取ったセル情報に従ってセルデータをロードメモリから抽出して、パケットを再構築し、再構築したパケットを出力する。上述の再順序付けおよび再構築プロセスをさらに複数の並列な再構築エンジンに分割して、様々なCoSのユニキャストまたはマルチキャストトラフィックをサポートしてもよい。ここで、ロードメモリの設計により、パケット再構築モジュールからの読取要求が1回のクロックサイクルで満たされることに留意されたい。パケット再構築プロセスに割り込むことはできないので、パケット再構築モジュールにはパケット全体を収容できるFIFO待ち行列は必要でなく、2乃至4個のセルだけを収容できるFIFO待ち行列が必要である。パケットの再構築を開始した後、別のパケットの再構築を開始する前にパケットの再構築が完了する。さらに、メモリ割当ユニットを主に使用して、以下の分類のメモリ、即ち、セル記述子、パケット記述子配列、マルチキャストデータのためのMGID待ち行列メモリを割り当てて再利用する。メモリの各分類は、割り当て可能なバッファを管理するための少なくとも1つのFIFO待ち行列を含む。各FIFO待ち行列は、1つのバッファエントリを1つのクロック期間内に割り当てることができるものとする。パケットを待ち行列から取り出した後、パケット順序付けモジュールは、パケットをパケット再利用モジュールに送信し、パケット再利用モジュールが当該パケット内のセルを1つずつセル再利用モジュールに送信する。パケットが破棄されたとき、当該パケットはパケット再利用モジュールに送信され、パケット再利用モジュールは同じ処理を実施して当該パケットを破棄する。一方、破棄されたパケットよりも小さいパケットシーケンス番号を有し依然としてパケット再構築データベースに存在する全てのパケットも破棄される。以降、ユニキャストを例としてさらに詳細な説明を行う。図2Bを参照すると、具体的な流れが以下を含んでもよい。201で、ソースポートがパケットをセルに分割し、各セルに対して対応するパケットシーケンス番号とセルシーケンス番号を割り当てる。例えば、ソースポートで、同一の宛先ポートに向かう2つのパケットをセルに分割する。第1のパケットはシーケンス番号がそれぞれ1、1、1、2、1、3および1、4である4つのセルに分割され、第2のパケットはシーケンス番号がそれぞれ2、1、2、2、2、3、2、4および2、5である5つのセルに分割される。括弧では、1番目の数字はパケットシーケンス番号であり、2番目の数字はセルシーケンス番号である。ソースポートで、パケットシーケンス番号を各セルに挿入し、データストリームに基づいて維持する。例えば、ユニキャストデータの場合には、パケットシーケンス番号が、宛先ポートとパケットのCoSに従って維持される。マルチキャストデータの場合には、パケットシーケンス番号がMGIDおよびパケットのCoSに従って維持される。202で、ソースポートはファブリックスイッチを介してセルを宛先ポートに送信する。当該セルは、SID、パケットシーケンス番号およびセルシーケンス番号を保持する。203で、宛先ポートの前処理モジュールがセルを受信した後、受信したセルを到着のローカルタイムスタンプでスタンプし、メモリ割当てモジュールにより割り当てられたロードメモリにセルのセルデータを格納し、対応するロードメモリのインデックス値を割り当て、それに基づいて対応するセルデータをロードメモリから取得することができる。204で、宛先ポートの前処理モジュールがSIDに従ってセルのセル情報をUIF待ち行列に挿入する。当該セル情報が、SID、ローカルタイムスタンプ、ロードメモリのインデックス値、パケットシーケンス番号およびセルのセルシーケンス番号のような幾つかのセル関連の情報を含んでもよい。205で、宛先ポートの前処理モジュールがSID、パケットシーケンス番号、およびPF待ち行列の状態に従って、UIF待ち行列内のセル情報を前処理して、セル情報をパケット再構築データベースに挿入するかどうかを判定する。ここで、図2Cを参照すると、パケット再構築データベースは、SDMとSQMから構成される。SDMは、各々がSQM内のソース待ち行列に対応するソース記述子を格納し、SQMは各々が再順序パケット配列バッファ内の複数のパケット記述子に対応するソース待ち行列を格納するうに構成され、SQMは、各々がパケットに属する最後に受信したセルのセル記述子を指す32乃至512個のパケット記述子を収容できる再順序パケット配列バッファを指すポインタを含む。各セル記述子は、ロードメモリ内のセルデータを指すロードメモリのインデックス値を含む。パケットバッファに直接アクセスしてもよく、第1のパケットシーケンス番号を現在のパケットシーケンス番号から差し引くパケットシーケンス番号-第1のパケットシーケンスことによってアクセスインデックスを計算してもよい。SQMを、動的パケット記述子配列として構築してもよい。当該配列は、様々な容量のN個のクラスのメモリブロックを含む。各ソース記述子は、かかるメモリブロックを指すポインタを含み、メモリブロックのクラスは必要なパケット記述子配列のサイズにより決まる。パケット記述子の挿入または削除には、或るメモリブロックから別のメモリブロックへの切り替えが必要となる場合がある。帯域幅を得るために、当該メモリブロックは、同時読書きをサポートし、したがって、読取ポインタを維持する必要はない。なぜならば、パケットを抽出した後に、配列内のパケット記述子の位置がシフトし、読取ポインタは常に開始位置を指すからである。図2Dを参照すると、前処理の具体的な流れは以下のようであってもよい。A1では、宛先ポートの前処理モジュールパケット準備が、各PF待ち行列の深さが事前設定閾値より小さいかどうかを判定する。小さい場合には、ステップA2を実施し、そうでなければステップA7を実施する。ここで、特定のPF待ち行列の深さが事前設定閾値より小さいとき、これは、遅延すべき多くのセルをバッファするのに十分な空間がPF待ち行列にあることを意味する。当該閾値を実際の適用要件に従って設定してもよい。A2では、各PF待ち行列の深さが事前設定閾値より小さい場合に、宛先ポートの前処理モジュールは、UIF待ち行列の先頭セル情報に対応するセルをローカルタイムスタンプに従って処理するかどうかを判定し、処理する場合には、ステップA3を実施し、そうでない場合にはステップA9を実施する。A3では、UIF待ち行列の先頭セル情報に対応するセルを処理する場合には、宛先ポートの前処理モジュールはIF待ち行列の先頭セル情報をポップして、ステップA4を実施する。A4では、宛先ポートの前処理モジュールが、IF待ち行列のポップされた先頭セル情報に対応するセルまたはPF待ち行列のポップされた先頭セル情報に対応するセルがタイムアウトしたかどうかを判定し、タイムアウトした場合には、ステップA5を実施し、そうでない場合にはステップA10を実施する。A5では、セルがタイムアウトした場合には、宛先ポートの前処理モジュールが先頭セル情報に対応するセルおよび当該セルが属するパケットを再利用し、例えば、先頭セル情報に対応するセルをセル再利用モジュールに送信し、当該セルが属するパケットをパケット再利用モジュールに送信する。ここで、セル再利用モジュールは主にセルを再利用するために使用され、パケット再利用モジュールは主にパケットを再利用するために使用される。A6では、どのPF待ち行列の長さも事前設定閾値より短いというわけではない場合には、宛先ポートの前処理モジュールは、当該オーバフローPF待ち行列の先頭セル情報に対応するセルをローカルタイムスタンプに従って処理するかどうかを判定し、処理する場合には、ステップA7を実施し、そうでない場合にはステップA8を実施する。ここで、オーバフローPF待ち行列は事前設定閾値より大きい深さのPF待ち行列を指す。A7では、当該オーバフローPF待ち行列の先頭セル情報に対応するセルを処理しない場合には、前処理モジュールはオーバフローPF待ち行列の先頭セル情報をポップし、先頭セル情報に対応するセルを再利用し、例えば、先頭セル情報に対応するセルをセル再利用モジュールに送信し、ステップA2に戻る。A8では、当該オーバフローPF待ち行列の先頭セル情報に対応するセルを処理する場合には、前処理モジュールはIF待ち行列の当該先頭セル情報をポップし、当該先頭セル情報をPF待ち行列の1つにプッシュして、ステップA9を実施する。A9では、前処理モジュールが最も満杯なPF待ち行列の先頭セル情報をポップして、ステップA4に戻る。A10では、セルがタイムアウトしていない場合には、前処理モジュールは当該セルに対応する先頭セル情報をポップし、SIDに基づいてパケット再構築データベース内のSDMを読み取り、ステップA11を実施する。A11では、前処理モジュールは、先頭セル情報に対応するセルのパケットシーケンス番号がSDM内の最大オープンパケットシーケンス番号より大きいかどうかを判定し、大きい場合には、ステップA12を実施し、そうでない場合にはステップA13を実施する。A12では、前処理モジュールが先頭セル情報をSDMに挿入する。A13では、前処理モジュールが先頭セル情報をPF待ち行列の1つに挿入する。上記の前処理の流れから分かるように、一般に前処理モジュールは、現在のオープンパケット処理ウィンドウに配置されていないセルを、オープンパケット処理ウィンドウが当該セルをカバーするまで遅延させる。場合によっては、PF待ち行列をチェックするための監視機構を設けてもよい。長時間アクセスされていない空でないPF待ち行列があることがチェックされた場合には、当該監視機構が前処理モジュールをトリガして当該PFを優先的に処理する。さらに、PF待ち行列の空間を十分に利用し、PF待ち行列からデータを抽出することによって生成されるバーストを回避するために、セルが必要な遅延時間に従ってPF待ち行列を複数の並列な待ち行列に分割してもよい。現在のパケット再構築データベースにおける最大パケットシーケンス番号を現在のセルのパケットシーケンス番号から差し引くことによって、セル遅延時間を推定してもよく、差分が大きいほど、セルが必要な遅延時間が長くなる。206では、パケット順序付けモジュールは、パケット記述子を再順序パケット配列バッファに置き、パケットシーケンス番号に従って再順序パケット配列バッファにおいてパケット記述子を順序付けし、パケット再構築データベースにおいて同一のパケットシーケンス番号を有するセル情報をパケット記述子に対応するパケット順序付け待ち行列に置く。この時点で、パケットは正しく順序付けられているが、その中のセルは依然として乱雑な状態にある。207では、正しく順序付けられたセルが完全なセルである場合には、セル順序付けモジュールが、セルシーケンス番号に従って正しく順序付けられたパケットの中のセル情報を順序付けして正しく順序付けられたセルの情報を取得する。ここで、セル順序付けモジュールを複数の同期完全待ち行列として構築してもよく、各CoS優先度とも称するは、その制御論理部とデータバッファ待ち行列を用いて独立に動作してもよい。セル順序付けモジュールは、各完全なパケットのパケット記述子をパケット順序付け待ち行列から抽出し、当該記述子をブロードキャストクラスおよびパケットのCoSに従って対応する完全待ち行列に追加する。次に、セル順序付けモジュールは、完全待ち行列の中の当該パケット記述子に従って、対応するセル情報をセル順序付けバッファに挿入し、セルシリアル番号に従って、抽出したセル情報をセル順序付けバッファにおいて順序付けする。ここで、完全なパケットとは、パケットの全てのセルがパケット再構築データベースにより受信されたことを意味する。セル順序付けバッファは、約20Kバイトの2つの巨大パケットを収容してもよい。データ量がその半分より小さいときにのみ、パケット記述子が抽出され、対応するセル情報が順序付けられる。図2Eを参照すると、図2Eは、セル順序付け機構、読取ポインタRD_PTRおよび書込ポインタWR_PTRを保持するセル順序付けバッファを示す図である。書込ポインタは、常に、現在順序付けられているパケットの開始位置を指し、書込ポインタをセルシーケンス番号に加えることによって、挿入されたセル情報のオフセット位置を計算する。パケットに対するセル情報の順序付けは、パケットのサイズがセル順序付けバッファ内の空白位置のサイズより小さくなるまで実施されない。次のパケットに対するセル情報の順序付けを完了した後、読取ポインタが現在のパケットのセル情報を1つずつ読み取り始める。ここで、図2EのEOPはパケット内の最後のセルを表し、SOPはパケットの開始位置を表す。ここで、連結セルを以下のように処理してもよい。即ち、第1のパケットを挿入したとき、第1のパケットの最後のセルのポインタを入力FIFOに2回挿入してもよい。一方、マークをセル同期バッファセル順序付けバッファに追加して、再構築機構に対して第1のセルを抽出できないことを示してもよい。第2のセルの再構築を完了した後、データが破棄される。この理由は、ソースの末端がパケットをセルに分割したとき、最後のセルは通常、データのブラックホールを有するからである。即ち、パケットは長さが限られているため幾つかの完全なセルに分割することはできず、最後のセルは以前の完全なセルよりあまり有効なデータを有さない。かかるセルにより、送信と処理の最中にリソースが無駄になる。最適化手段ではパケットをパケットごとにセルに分割せず、連続的なパケットをデータストリームとみなし、当該データストリームをセルに分割し、全てのセルが完全なデータセグメントを有するようにする。しかし、このケースでは、幾つかのセルは確実に以前のパケットのデータの最後のセグメントと次のパケットのデータの最初のセグメントの両方を含む。以前のパケットのデータの最後のセグメントと次のパケットのデータの最初のセグメントの両方を含むセルは、連結セルと呼ばれる。セル再順序付けの最中に、セルの属性は既知であり、SOPとEOPが消される。連結セルは以前のパケットのEOPセルだけでなく、次のパケットのSOPセルでもある。したがって、かかる連結セルを受信した後、当該セルを入力FIFO待ち行列に2回挿入する。一方は以前のパケットのEOPセルの役割を担い、他方は次のパケットのSOPセルの役割を担う。結果として、セルを再順序付けする必要があるとき、2つのセルはセル順序付けモジュールに連続的に存在する。しかし、この2つのセルの両方をパケット再構築ユニットに送信することはできない。なぜならば、この2つのセルは同じ内容を有するからである。したがって、EOPとして識別されるフラグを有する第1のセルをパケット再構築モジュールに送信することはできない。むしろ、第2のセルのパケット再順序付けが完了した後、第1のセルは破棄され、データの1つのコピーのみがパケット再構築モジュールに送信されることが保証される。パケットの再構築の準備が出来たとき、セル順序付けバッファは、パケット再構築を要求する識別信号例えば、FIFO_RDY信号を再構築機構に送信する。セル順序付けバッファおよび完全待ち行列を含むセル順序付け機構が複数の並列なFIFO待ち行列から構成され、これらのFIFO待ち行列はパケットのCoS優先度とも称するとブロードキャストクラスに基づいて区別され、それにより順序付け機構による追加の待ち行列の要求が排除されリソースが節約されることに留意されたい。208では、パケット再構築を要求する識別信号例えば、FIFO_RDY信号を受信した後、パケット再構築モジュールは、セル順序付けバッファの中の正しく順序付けられたセル情報を1つずつ読み取り、読み取ったセル情報に従って、パケット再構築に対するセルデータを抽出する。パケット再構築を要求する識別信号をパケット再構築モジュールに同時に送信する複数のセル順序付けバッファが存在しうる。このケースでは、パケット再構築モジュールは、パケットのCoS即ち、優先度に基づいて、パケット再構築を要求する識別信号例えば、FIFO_RDY信号を送信した複数のセル順序付けバッファの間で調停して、正しいセル順序付けバッファを選択し、選択されたセル順序付けバッファにおいて正しく順序付けられたセルの情報を1つずつ読み取り、読み取ったセル情報特に、セル情報の中のロードメモリのインデックス値に従って、セルデータをロードメモリから抽出し、パケットを再構築してもよい。以上の説明から分かるように、本実施形態では、受信したセル情報をSIDに従って前処理し、受信したセルをパケット再構築データベースに挿入するかどうかを判定し、セル情報におけるパケットシーケンス番号とセルシーケンス番号に従って当該データベース内のセル情報を直接順序付けし、最後に、順序付けしたセル情報に従って対応するセルデータを抽出し、パケット再構築を実現する。本解決策ではソースに従ってパケットを直接再順序付けし再構築できるので、時間同期に基づいてパケットを再順序付けし再構築する先行技術と比較して高性能な装置に適している。さらに、本解決策では、受信したセル即ち、再構築を待機しているパケットを制御し管理できるので、リソースの利用率は高く、メモリと制御リソースはあまり占有されない。実施形態3実施形態2で説明した方法はマルチキャストデータにも適している。マルチキャストは主に以下の点でユニキャストと異なる。即ち、ユニキャストパケットではSDMを必要とし、{優先度、ソースポート番号}をインデックスとして使用する。マルチキャストパケットはMGID記述子メモリを必要とし、{優先度、MGID、ソースポート番号}のハッシュ値をインデックスとして使用する。ここで、MGIDとは同一の複製領域に属する1群の宛先ポートを意味する。したがって、マルチキャストでは、ユニキャストのSQMがMGID待ち行列メモリで置き換えられている。即ち、マルチキャストに対するパケット再構築データベースは特に、以下のようであってもよい。即ち、マルチキャストに対するパケット再構築データベースは、MGID記述子メモリとMGID待ち行列メモリを備えてもよい。MGID記述子メモリは、MGID記述子を格納し、{優先度、MGID、ソースポート番号}のハッシュ値をインデックスとするように構成され、MGID待ち行列メモリはMGID記述子に対応するMGID待ち行列を格納するように構成される。MGID待ち行列メモリは、再順序パケット配列バッファを指すポインタを備えてもよく、当該バッファは順序付けを待機しているセルのパケット記述子を格納し、当該パケット記述子の各々は当該パケットに属する最後に受信したセルのセル記述子を指す。ここで、MGID待ち行列メモリを、Mを正の整数として、様々な容量のM個のクラスのメモリブロックを含む動的パケット記述子配列として構築してもよい。各MGID記述子は、かかるメモリブロックを指すポインタを含み、そのクラスは、必要なパケット記述子配列のサイズにより決まる。MGID記述子メモリとMGID待ち行列メモリにアクセスするためにハッシュ関数が使用されるので、メモリの行は複数のソース即ち、{優先度、MGID、ソースポート番号}に対応してもよいことに留意されたい。メモリの行が1つのソースに適用されるので、新たなマルチキャストソースに対してリソースが適用されるとき、当該行が解放されることをチェックするという新たな要件が提供される。この問題を解決するために、これらの情報を維持するための別のメモリが必要である。ハッシュ関数が使用されるので、リソース競合が生じうることにさらに留意されたい。したがって、フルアソシアティブ犠牲テーブルFAVTを維持し、リソース競合が生じたとき、リソース競合が生じたセルを別のMGID待ち行列にプッシュするか、または、事前設定されたFAVTに従って破棄するようにしてもよい。FAVTが満杯になるのを防ぐために閾値を設定してもよい。当該閾値を本実施形態では第1の閾値と称する。FAVTにおける情報の量が第1の閾値を超えたとき、制御情報の一部をアクティブにしてソースに送信し、当該宛先ポートに送信されたマルチキャストデータのトラフィックを削減する。マルチキャストの順序付け機構および再構築機構はユニキャストのものと同じであるので、それらの説明はここでは省略する。詳細については、実施形態2を参照されたい。以上の説明から分かるように、本発明の実施形態で提供するパケット再構築および再順序付けの方法は、ユニキャストおよびマルチキャストの両方に適しており、実施形態2と同じ有利な効果を奏することができる。実施形態4特定のパケットの再構築および再順序付けに大量の時間が消費されることを防ぐ即ち、トラフィックのタイムアウトを回避するために、上の方法の実施形態に基づいて、セルと当該セルが属するパケットがファブリックスイッチにおいて、または、パケット再構築の最中に、大量の時間を消費しないことをローカルタイムスタンプに従ってさらにチェックしてもよい。詳細は以下の通りである。I再構築タイムアウトパケットがパケット再構築の最中に大量の時間を消費しないことをチェックするために、各パケット記述子が、パケットの全てのセルのうち宛先ポートに最初に到着したセルの到着時刻を示す最早セルタイムスタンプを含むものとする。現在時刻と最早セルタイムスタンプの差分が事前設定された第2の閾値より大きい場合には、当該パケットを再構築タイムアウトとマークする。当該パケットがパケット記述子配列の先頭に到着したとき、パケットの全てのセルがまだ受信されていない場合であっても、当該パケットを待ち行列からポップして破棄するパケットの他のセルの受信を待機しない。それ以外の場合、パケットが順序付け配列の先頭に到着する前に、パケットが再構築タイムアウトしたかどうかを判定せず、以下の動作を実施する。即ち、各パケットの第1のセルを挿入したとき、パケット記述子内の最早セルタイムスタンプのフィールドを更新し、パケットがパケット記述子配列の先頭に到着したとき、最早セルタイムスタンプを、当該パケットが属するソース記述子に複製する。セルが挿入されたとき、到着したセルがどのパケットに属するかに関わらず、ソース記述子内の最早セルタイムスタンプをチェックする。例えば、特定のソースに到着データがないケースでは、サイレントソース検出SSDによりかかるチェックをトリガする。タイムアウトパケットが、処理のためにパケット再利用機構に転送される。IIファブリックタイムアウトファブリックスイッチ内で大量の時間を消費するパケットを、再構築タイムアウトを待機せずにすぐに破棄することができる。即ち、パケット再構築および再順序付けの方法はさらに以下を含んでもよい。即ち、ファブリックスイッチの遅延の推定値即ち、ファブリックスイッチ内のパケットの送信時間が事前設定された第3の閾値を超えたと判定したとき、宛先ポートは当該パケットを破棄する。ここで、ファブリックスイッチ内のパケットの送信時間を、パケットシーケンス番号に従って宛先ポートで推定してもよい。詳細については先行技術を参照されたい。それらの説明はここでは省略する。以上の説明から分かるように、本実施形態は実施形態2および実施形態4と同じ有利な効果を奏するだけでなく、ファブリックスイッチにおけるパケットの送信時間とパケット再構築時間をローカルタイムスタンプに従って監視し、それにより、あまりに長い遅延の発生を回避し、パケット再構築および再順序付けの効率改善を支援する。実施形態5以上の方法をより良く実現するために、本発明の諸実施形態ではさらに、特に宛先ポートとして使用できるネットワーク装置を提供する。図3Aを参照すると、ネットワーク装置は、受信ユニット301、前処理ユニット302、パケット順序付けユニット303、セル順序付けユニット304および再構築ユニット305を備える。受信ユニット301は、ソースポートが送信したセルを受信するように構成される。当該セルは、SID、パケットシーケンス番号およびセルシーケンス番号を保持し、SIDを特にソースポート番号として使用してもよい。前処理ユニット302は、受信ユニット301により受信したセルをSIDに従って前処理して、セルをデータベースに挿入するかどうかを判定するように構成される。パケット順序付けユニット303は、当該パケットシーケンス番号に従ってパケット再構築データベース内のセルを順序付けて当該正しく順序付けられたパケットを取得するように構成される。セル順序付けユニット304は、パケットを完全なパケットと決定した場合には、パケット順序付けユニット303により取得した正しく順序付けられたパケットのセルをセルシーケンス番号に従って順序付けし、正しく順序付けられたセルを取得するように構成される。再構築ユニット305は、セル順序付けユニット304により取得された正しく順序付けられたセルに対してパケット再構築を実施するように構成される。ここで、セルはセルデータとセル情報を含んでもよい。リソースを節約するために、セル情報のみを順序付けプロセスの最中に操作し、パケット再構築を再構築ユニット305により実施するときだけ、対応するセルデータをセル情報に従って抽出し、再構築を実施する。図3Bを参照すると、前処理ユニット302が、データ格納サブユニット3021、情報挿入サブユニット3022および判定サブユニット3023を備えてもよい。データ格納サブユニット3021は、受信ユニット301により受信したセルを到着時刻のローカルタイムスタンプでスタンプし、当該セルのセルデータをSIDに従ってロードメモリに格納し、対応するロードメモリのインデックス値を構成するように構成される。情報挿入サブユニット3022は、受信ユニット301により受信したセルのセル情報をIF待ち行列に挿入するように構成される。セル情報は、SID、ローカルタイムスタンプ、ロードメモリのインデックス値、パケットシーケンス番号およびセルシーケンス番号のような、セルの情報を含む。判定サブユニット3023は、SID、当該パケットシーケンス番号、およびPF待ち行列の状態に従って、情報挿入サブユニット3022によりIF待ち行列に挿入されたセル情報を処理し、セル情報をパケット再構築データベースに挿入するかどうかを判定するように構成される。例えば、その詳細が以下のようであってもよい。判定サブユニット3023は特に、各PF待ち行列の深さが事前設定閾値より小さい場合には、IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の間の差分が第4の閾値より小さいかどうかを判定し、小さい場合には、IF待ち行列の先頭セル情報をポップし、小さくない場合には、IF待ち行列の先頭セル情報をPF待ち行列の1つにプッシュし、最も満杯なPF待ち行列の先頭セル情報をポップし、IF待ち行列のポップされた先頭セル情報に対応するセルまたはPF待ち行列のポップされた先頭セル情報に対応するセルがタイムアウトしたかどうかを判定し、タイムアウトした場合には、当該セル情報に対応するセルおよび当該セルが属するパケットを再利用し、タイムアウトしていない場合には、当該セルのパケットシーケンス番号がパケット再構築データベースの同一ソースの最大オープンパケットシーケンス番号より小さいとき、当該セル情報をパケット再構築データベースに挿入し、当該セルのパケットシーケンス番号がパケット再構築データベースの同一ソースの最大オープンパケットシーケンス番号より大きいとき、当該セル情報をPF待ち行列の1つに挿入するように構成される。当該判定サブユニットはさらに、特定のPF待ち行列の深さが事前設定閾値より大きい場合には、オーバフローPF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が第4の閾値より小さいかどうかをローカルタイムスタンプに従って判定し、小さい場合には、当該オーバフローPF待ち行列の先頭セル情報に対応するセルを再利用し、IF待ち行列の先頭セル情報に対応するセルのパケットシーケンス番号と現在処理されているパケットの最小パケットシーケンス番号の差分が当該第4の閾値より小さいかどうかを判定するステップを実施し、小さくない場合には、IF待ち行列の当該先頭セル情報をPF待ち行列の1つにプッシュし、最も満杯なPF待ち行列の先頭セル情報をポップするステップを実施するように構成される。詳細については、実施形態1および2の前処理のフローと図2Dを参照されたい。具体的には、パケット再構築データベースをユニキャストとマルチキャストに対してそれぞれ設計してもよい。例えば、1つのパケット再構築データベースで、ユニキャストおよびマルチキャストに対するパケット再構築データベースをそれぞれ提供してもよい。ここで、ユニキャストに対しては、パケット再構築データベースがSDMとSQMを含んでもよい。SDMは、ソース記述子を格納しパケットのCoSとソースポート番号をインデックスとする、即ち、{パケットのCoS、ソースポート番号}をインデックスとして使用するように構成され、SQMは、ソース記述子に対応するソース待ち行列を格納するように構成される。SQMは、再順序パケット配列バッファを指すポインタを含んでもよく、当該バッファは順序付けを待機しているセルのパケット記述子を格納し、当該パケット記述子の各々は当該パケットに属する最後に受信したセルのセル記述子を指す。ここで、SDMとSQMは、Nを正の整数としてN個のクラスの様々な容量のメモリブロックを含む動的パケット記述子配列により構築してもよい。マルチキャストに対しては、パケット再構築データベースは、MGID記述子メモリとMGID待ち行列メモリを備える。ソースMGID記述子メモリは、MGID記述子を格納しパケットのCoS、MGID、およびソースポート番号をインデックスとする、例えば、{パケットのCoS、MGID、ソースポート番号}のハッシュ値をインデックスとして使用するするように構成され、MGID待ち行列メモリは、MGID記述子に対応するMGID待ち行列を格納するように構成される。MGID待ち行列メモリは再順序パケット配列バッファを指すポインタを含んでもよく、当該バッファは順序付けを待機しているセルのパケット記述子を格納し、当該パケット記述子の各々は当該パケットに属する最後に受信したセルのセル記述子を指す。ここで、MGID記述子メモリとMGID待ち行列メモリは、Mを正の整数として、M個のクラスの様々な容量のメモリブロックを含む動的パケット記述子配列である。MGID記述子メモリとMGID待ち行列メモリはハッシュ関数をサポートする。即ち、各プロセス例えば、IF待ち行列、PF待ち行列、完全待ち行列、再順序パケット配列バッファおよびセル順序付けバッファは、ハッシュ関数を介して、MGID記述子メモリとMGID待ち行列メモリにアクセスするしてもよい。即ち、パケット順序付けユニット303は特に、ハッシュ関数を介して、MGID記述子メモリとMGID待ち行列メモリにアクセスするように構成される。ここで、ハッシュ関数を複数のハッシュバケットとして構築してもよい。ハッシュ関数を使用することによりリソース競合が生じうるので、FAVTを維持して、リソース競合が生じたとき、事前設定されたFAVTに従って、リソース競合を生じさせたセルを別のMGID待ち行列にプッシュするかまたは破棄できるようにする必要がある。そこで、図3Bに示すように、上記ネットワーク装置がさらに競合処理ユニット306を備えてもよい。競合処理ユニット306は、リソース競合が生じたとき、事前設定されたFAVTに従って、リソース競合が発生したセルを別のMGID待ち行列にプッシュするかまたは当該セルを破棄即ち、再利用するように構成される。具体的には、パケット順序付けユニット303がハッシュ関数を介してMGID記述子メモリとMGID待ち行列メモリにアクセスしたとき、リソース競合が生じた場合には、リソース競合が生じたセルを、事前設定されたFAVTに従って別のMGID待ち行列にプッシュするかまたは破棄する。さらに、FAVTが満杯になることを防ぐために、閾値をさらに設定してもよい。当該閾値を本発明の実施形態では第1の閾値と称する。FAVTにおける情報の量が第1の閾値を超えたとき、制御情報の一部をアクティブにしてソースに送信し、宛先ポートに送信されたマルチキャストデータのトラフィックを削減する。そこで、図3Bに示すように、上記ネットワーク装置がさらに制御メッセージ送信ユニット307を備えてもよい。制御メッセージ送信ユニット307は、FAVT内の情報の量が事前設定された第1の閾値を超えたとき、宛先ポートをアクティブにして制御情報をマルチキャストソースに送信して、当該宛先ポートに送信されたマルチキャストデータのトラフィックを削減するように構成される。ここで、図3Bに示すように、セル順序付けユニット304が、エンキューイングサブユニット3041、バッファリングサブユニット3042および順序付けサブユニット3043を備えてもよい。エンキューイングサブユニット3041は、パケット順序付けユニット302により順序付けされたパケットが完全なパケットであると判定されたとき、セルのブロードキャストクラスおよび優先度に従って完全なパケットのパケット記述子を対応する完全待ち行列に追加するように構成される。バッファリングサブユニット3042は、完全待ち行列の中の当該パケット記述子に従って対応するセル情報を当該セル順序付けバッファに挿入するように構成される。順序付けサブユニット3043は、セルシーケンス番号に従って、当該セル順序付けバッファにおいて抽出されたセル情報を順序付けするように構成される。ここで、当該セル順序付けバッファはパケット再構築のために順序付けられたセル情報を1つずつ読み取る読取ポインタと、セル順序付けが現在実施されているパケットの開始位置を常に指す書込ポインタを維持する。したがって、挿入された当該セル情報のオフセット位置を、書込ポインタをセルシーケンス番号に追加することによって計算してもよく、当該パケット内の挿入された当該セル情報の位置がオフセット位置に従って調節され、正しく順序付けられたセルの情報が取得される。即ち、順序付けサブユニット3043は特に、挿入された当該セル情報のオフセット位置を、書込ポインタをセルシーケンス番号に追加することによって計算し、パケット内の挿入された当該セル情報の位置をオフセット位置に従って調節するように構成される。ここで、図3Bに示すように、再構築ユニット305が、割当てサブユニット3051、読取サブユニット3052および再構築サブユニット3053を備えてもよい。割当てサブユニット3051は、セル順序付けユニット304具体的には、順序付けサブユニット3043であってもよいによって正しく順序付けされたセル情報が属するパケットを再構築リソースに割り当てるように構成される。読取サブユニット3052は、セル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取るように構成される。再構築サブユニット3053は、読取サブユニット3052により読み取ったセル情報に従って対応するセルデータを取得し、割当てサブユニット3051により割り当てられた再構築リソースを用いて、取得したセルデータに対してパケット再構築を実施するように構成される。例えば、再構築サブユニット3053が、読取サブユニット3052により読み取ったセル情報に従って、データ格納サブユニット3021によりロードメモリに格納されたセルデータを読み取ってもよい。さらに、効率を改善するために、正しく順序付けられたセルの情報が属するパケットを少なくとも2つの再構築リソースで割り当ててもよい。即ち、割当てサブユニット3051はさらに、少なくとも2つの再構築リソースを当該正しく順序付けられたセルの情報が属するパケットに割り当てるように構成される。ここで、リソースを節約するために、再構築リソースをリソースプールで管理し、必要なとき、即ち、再構築を行うべきときにのみ各ソースに割り当てる。例えば、順序付けバッファ内のセルを正しく順序付けした後、パケット再構築を要求する識別信号例えば、FIFO_RDY信号をパケット再構築機構に送信してもよく、パケット再構築機構はパケット再構築を要求する識別信号を受信した後に、順序付けバッファにおいてセルのパケット再構築を開始する。勿論、少なくとも2つのセル順序付けバッファが存在するときには、パケット再構築機構が、パケット再構築を要求する複数の識別信号を同時に受信することがある。このケースでは、パケット再構築機構は、処理するセル順序付けバッファをパケットのCoSに従って選択してもよい。即ち、当該再構築ユニットはさらに選択サブユニット3054を備えてもよい。選択サブユニット3054は、パケットのCoSに従ってセル順序付けバッファを選択するように構成される。次に、割当てサブユニット3051は特に、再構築リソースを、選択サブユニット3054により選択されたセル順序付けバッファの中の正しく順序付けられたセルの情報が属するパケットに割り当てるように構成される。読取サブユニット3052は選択サブユニット3054により選択されたセル順序付けバッファの中の正しく順序付けられたセルの情報を1つずつ読み取るように構成される。特定のパケットの再構築および再順序付けに大量の時間が消費されることを防ぐ即ち、トラフィックのタイムアウトを回避するために、セルと、当該セルが属するパケットがファブリックスイッチにおいてまたはパケット再構築の最中に大量の時間を消費しないことをローカルタイムスタンプに従ってさらにチェックしてもよい。そこで、図3Bに示すように、上記ネットワーク装置はさらに破棄ユニットを備えてもよい。当該破棄ユニットは、パケット再構築がタイムアウトしたと判定したときにパケットを破棄するように構成される。当該破棄ユニットは特に、パケットの中の宛先ポートに最初に到着したセルの到着時刻と現在時刻の差分が事前設定された第2の閾値より大きいとき、パケット再構築がタイムアウトしたと判定するように構成される。その詳細が以下のようであってもよい。即ち、各パケット記述子は、パケットの全てのセルのうち宛先ポートに最初に到着したセルの到着時刻を示す最早セルタイムスタンプを含む。現在時刻と最早セルタイムスタンプの差分が事前設定された第2の閾値より大きい場合には、パケットを再構築タイムアウトとマークする。パケット記述子配列の先頭に到着したとき、パケットを、当該パケットの全てのセルがまだ受信されていない場合であっても、当該パケットを待ち行列からポップして破棄するパケットの他のセルの受信を待機しない。さらに、ファブリックスイッチにおいてあまりに遅延したパケットをすぐに破棄することもできる。このケースでは、再構築タイムアウトを待たなくともよい。その詳細が以下のようであってもよい。即ち、受信ユニット301は特に、ファブリックスイッチを介してソースポートにより送信されたセルを受信するように構成される。次に、上記破棄ユニットはさらに、ファブリックスイッチの遅延の推定値が事前設定された第3の閾値を超えたと判定されたときに、パケットを破棄するように構成される。ここで、ファブリックスイッチにおけるパケットの送信時間を、パケットシーケンス番号に従って宛先ポートで推定することによって取得してもよい。詳細については先行技術を参照されたい。それらの説明はここでは省略する。上記第2の閾値と第3の閾値を実際の適用要件に従って設定してもよい。具体的には、上記ユニットをそれぞれ独立なエンティティとして実装してもよく、または、同一もしくは幾つかのエンティティとして実装してもよい。例えば、前処理ユニット302を実施形態2の前処理モジュールによって実装してもよく、パケット順序付けユニット303を実施形態2のパケット順序付けモジュールによって実装してもよく、セル順序付けユニット304を実施形態2のセル順序付けモジュールによって実装してもよく、再構築ユニット305を実施形態2のパケット再構築モジュールによって実装してもよく、上記破棄ユニットを実施形態2のパケット再利用モジュールと信号再利用モジュールによって実装してもよい、等である。上述のユニットの実装に関する前の実施形態を参照されたい。それらの説明はここでは省略する。以上の説明から分かるように、本実施形態におけるネットワーク装置の前処理ユニット302は受信したセルをSIDに従って前処理して、受信したセルをパケット再構築データベースに挿入するかどうかを判定する。次に、パケット順序付けユニット303とセル順序付けユニット304がパケットシーケンス番号およびセルのセルシーケンス番号に従ってデータベース内のセルを直接順序付け、最後に、再構築ユニット305が、順序付けしたセルに従ってパケット再構築を実施する。当該解決策ではソースに従ってパケットを直接再順序付けし再構築できるので、時間同期に基づいてパケットを再順序付けし再構築する先行技術と比較して高性能な装置に適している。さらに、当該解決策は受信したセル即ち、再構築を待機しているパケットを制御し管理できるので、リソースの利用率は高く、メモリと制御リソースはあまり占有されない。実施形態6そこで、本発明の諸実施形態ではさらに、ソースポート装置と本発明の諸実施形態により提供したネットワーク装置とを備える通信システムを提供する。当該ネットワーク装置は、宛先ポートの役割を担う即ち、当該ネットワーク装置は宛先ポート装置とも呼ばれる。詳細については例えば前の実施形態を参照されたい。例えば、宛先ポートの役割を担う宛先ポート装置は、ソースポートが送信した、SID、パケットシーケンス番号およびセルシーケンス番号を保持するセルを受信し、受信したセルをSIDに従って前処理して当該セルをパケット再構築データベースに挿入するかどうかを判定し、パケット再構築データベースにおいてセルをパケットシーケンス番号に従って順序付けして、正しく順序付けられたパケットを取得し、正しく順序付けられたセルが完全なセルである場合には、当該正しく順序付けられたパケットのセルを当該セルシーケンス番号に従って順序付けて正しく順序付けられたセルを取得し、パケット再構築を正しく順序付けられたセルに対して実施するように構成される。ソースポートの役割を担うソースポート装置は、セルを宛先ポート装置に送信するように構成される。当該セルは、SID、パケットシーケンス番号およびセルシーケンス番号を保持する。ここで、宛先ポート装置は特に、受信したセルを到着時刻のローカルタイムスタンプでスタンプし、当該セルのセルデータを当該SIDに従ってロードメモリに格納し、対応するロードメモリのインデックス値を構成し、SID、ローカルタイムスタンプ、ロードメモリのインデックス値、パケットシーケンス番号およびセルシーケンス番号を含む、セルのセル情報をIF待ち行列に挿入し、SID、ローカルタイムスタンプおよびPF待ち行列の状態に従ってIF待ち行列の中のセル情報を処理し、セル情報をセル再構築データベースに挿入すべきかどうかを判定するするように構成される。詳細については、以前の方法の実施形態と図2Dを参照されたい。上述の装置の実装については以前の実施形態を参照されたい。それらの説明はここでは省略する。以上の説明から分かるように、本実施形態における通信システムの宛先ポート装置は、受信したセルをSIDに従って前処理し、受信したセルをパケット再構築データベースに挿入するかどうかを判定し、パケットシーケンス番号とセルのセルシーケンス番号に従ってデータベースの中でセルを直接再順序付けし、最後に、パケット再構築を実現する。当該解決策ではソースに従ってパケットを直接再順序付けし再構築できるので、時間同期に基づいてパケットを再順序付けし再構築する先行技術と比較して高性能な装置に適している。さらに、当該解決策は受信したセル即ち、再構築を待機しているパケットを制御し管理できるので、リソースの利用率は高く、メモリと制御リソースはあまり占有されない。上述の実施形態における様々な方法を実装するためのステップの全部または一部を、コンピュータ読取可能記憶媒体に格納できるプログラムを通じて関連するハードウェアに指示することによって実現できることは当業者に理解される。記憶媒体には、ROMReadOnlyMemory、RAMRandomAccessMemory、磁気ディスク、光ディスク等を含めてもよい。以上で、本発明の諸実施形態で提供したパケットを再構築し再順序付けするための方法、装置、およびシステムを詳細に説明し、本発明の原理と実装形態を具体的な例により説明した。しかし、以上の実施形態の説明は、本発明の方法とその中心的な思想を理解するのを支援するにすぎない。一方、当業者は、本発明の思想に従って具体的な実装形態と適用範囲を変更してもよい。したがって、本明細書の内容は本発明に対する限定として解釈すべきではない。