(57)【要約】転送ネットワーク経由でソースネットワークから宛先ネットワークへデータを転送するシステム及びその方法。ソースネットワークからのデータ伝送単位（ＤＴＵ）は、ソースと転送ネットワークの間に論理上位置したサーバで受信される。これらの第１ＤＴＵは第２ＤＴＵへ細分され、転送ネットワーク経由で宛先ネットワークへ送信される。さらに送信されるのは符号化され、或いは余分な第２ＤＴＵである。この符号化され、或いは余分な第２ＤＴＵは、第２ＤＴＵのうちのいくつかが損失してもオリジナルの第１ＤＴＵが再生成されることを可能にする。これらの符号化される第２ＤＴＵは、単に送信される第２ＤＴＵのコピーであったり、パリティ第２ＤＴＵ、あるいは消失訂正符号を使用して符号化された第２ＤＴＵであったりすることができる。宛先ネットワークでは、第２ＤＴＵが受信され、オリジナルの第１ＤＴＵを再生成するために使用される。オリジナルの第１ＤＴＵの再生成が遂行することができないような、不十分な数の第２ＤＴＵが受信される場合、第２ＤＴＵの再送信がリクエストされる。
2008509580.tif 000002
【特許請求の範囲】
【請求項１】
第１ネットワークから第２ネットワークへデータを転送するサーバにおいて、
前記第１ネットワークに対してデータを送受信する第１インターフェースモジュールと、
前記第２ネットワークに対してデータを送受信する第２インターフェースモジュールと、
前記第１ネットワークから受信された第１タイプの各第１データ伝送単位（ＤＴＵ）を第２タイプの少なくとも１つの第２ＤＴＵにパッケージする区分化モジュールと、
前記第２ネットワークから受信された第２ＤＴＵを第１ＤＴＵにリアセンブルするリアセンブリモジュールと、を備え、
前記区分化モジュールが、前記第１インターフェースモジュールから第１ＤＴＵを受信し、
前記区分化モジュールが、前記第２ネットワークへの送信のために少なくとも１つの前記第２ＤＴＵ及び少なくとも１つの余分な第２ＤＴＵを前記第２インターフェースモジュールへ送信し、
前記リアセンブリモジュールが、前記第２ネットワークインタフェイスから前記第２ＤＴＵを受信し、
前記リアセンブリモジュールが、受信された第２ＤＴＵの数及び受信された余分な第２ＤＴＵの数に基づいて、前記第１ＤＴＵをリアセンブルするのに十分な数の第２ＤＴＵが受信されたかどうかを判定し、
前記リアセンブリモジュールが、前記第１ネットワークへの送信のためにリアセンブリされた第１ＤＴＵを前記第１インターフェースモジュールへ送信する。
【請求項２】
不十分な数の第２ＤＴＵが前記リアセンブリモジュールによって受信された場合、前記リアセンブリモジュールが、前記第２インターフェースモジュール経由で再送信のリクエストを送り手サーバへ送信する請求項１に記載のサーバ。
【請求項３】
前記区分化モジュールがレシーバサーバから再送信のリクエストを受信した場合、前記区分化モジュールが、前記第２インターフェースモジュール経由でリクエストされた第２ＤＴＵのグループを再送信する請求項１に記載のサーバ。
【請求項４】
前記第２インターフェースモジュールへ前記第２ＤＴＵを送信する場合、前記区分化モジュールが、異なる第１ＤＴＵからの第２ＤＴＵをインターリーブする請求項１に記載のサーバ。
【請求項５】
前記区分化モジュールが、前記第２インターフェースモジュールへ送信される第２ＤＴＵをバッファする請求項３に記載のサーバ。
【請求項６】
前記区分化モジュールが、各第１ＤＴＵをｎ個の第２ＤＴＵに分割し、そして第１ＤＴＵ毎にｍ個の余分な第２ＤＴＵを前記第２インターフェースモジュールへ送信し、ｍおよびｎが自然数である請求項１に記載のサーバ。
【請求項７】
各第１ＤＴＵ毎に、少なくとも１つの前記余分な第２ＤＴＵが、少なくとも２つの前記第２ＤＴＵより得られる請求項１に記載のサーバ。
【請求項８】
各第１ＤＴＵのために、少なくとも１つの前記余分な第２ＤＴＵが、少なくとも２つの前記第２ＤＴＵの少なくとも一つの複製である請求項１に記載のサーバ。
【請求項９】
少なくとも１つの前記余分な第２ＤＴＵが、たった一つの第２ＤＴＵが損失した場合前記第１ＤＴＵが再生成されることを可能にするパリティＤＴＵである請求項７に記載のサーバ。
【請求項１０】
少なくとも１つの前記余分な第２ＤＴＵが、少なくとも１つの第２ＤＴＵが損失した場合前記第１ＤＴＵが再生成されることができるように、消失訂正符号を用いて符号化される請求項７に記載のサーバ。
【請求項１１】
第１ネットワークから第３ネットワークへ第２ネットワーク経由でデータを送信するシステムにおいて、
前記第１ネットワークおよび前記第２ネットワークを接続する第１サーバと、
前記第２ネットワークおよび前記第３ネットワークを接続する第２サーバと、を備え、
前記第１サーバが前記第１ネットワークから第１タイプの第１データ伝送単位（ＤＴＵ）を受信し、前記第１ＤＴＵの少なくとも１つを第２タイプの第２ＤＴＵへ細分し、さらに、前記第１ＤＴＵのうちの少なくとも１つに基づいて余分な第２ＤＴＵを生成し、前記第２ＤＴＵおよび余分な第２ＤＴＵが、前記第１サーバによって前記第２ネットワークへ送信され、
前記第２サーバが、前記第２ネットワークから前記第２ＤＴＵを受信し、
前記第２サーバが、細分された第１ＤＴＵを前記第２ＤＴＵから再生成し、
前記第２サーバが、前記第１ＤＴＵを前記第３ネットワークへ送信し、
前記第２サーバが、オリジナルの第２ＤＴＵがすべては受信されなかった場合、前記第２ＤＴＵ及び前記余分な第２ＤＴＵから前記第１ＤＴＵを再生成する。
【請求項１２】
前記第２サーバが、不十分な数の第２ＤＴＵが受信された場合前記第１サーバに前記第２ＤＴＵの再送信をリクエストする請求項１１に記載のシステム。
【請求項１３】
第１ネットワークから第３ネットワークへ第２ネットワーク経由でデータを転送する方法であって、前記第１ネットワークが第１タイプの第１データ伝送単位（ＤＴＵ）を作成し、前記第１ＤＴＵが第２タイプの第２ＤＴＵに分割され、
前記第２ネットワークから第２タイプの第２ＤＴＵを受信するステップａ）と、
受信された第２ＤＴＵの数及び余分な第２ＤＴＵの数に基づいて、第１ＤＴＵを再生成するのに十分な数の第２ＤＴＵが受信されたか否かを判定するステップｂ）と、
不十分な数の第２ＤＴＵが受信された場合、前記第２ＤＴＵの再送信をリクエストして前記ステップｂ）を実行するステップｃ）と、
十分な数の第２ＤＴＵが受信された場合、前記第１ＤＴＵを再生成するステップｄ）と、
前記第３ネットワークへ前記第１ＤＴＵを送信するテップｅ）と、を含む。
【請求項１４】
前記余分なＤＴＵの少なくとも１つが、前記第２ＤＴＵの少なくとも１つの複製である請求項１３に記載の方法。
【請求項１５】
前記第２ＤＴＵの少なくとも１つが、前記第１ＤＴＵを少なくとも２つの第２ＤＴＵに分割することにより作成される請求項１３に記載の方法。
【請求項１６】
前記余分な第２ＤＴＵの少なくとも１つが、前記第２ＤＴＵに由来する請求項１５に記載の方法。
【請求項１７】
前記余分なＤＴＵの少なくとも１つが、パリティＤＴＵである請求項１６に記載の方法。
【請求項１８】
前記第１ＤＴＵが、前記パリティＤＴＵ、および受信された別の前記第２ＤＴＵから再生成される請求項１７に記載の方法。
【請求項１９】
前記余分な第２ＤＴＵの少なくとも１つが、消失訂正符号を使用して作成される請求項１６に記載の方法。
【請求項２０】
前記第２ネットワークから受信された前記第２ＤＴＵが、異なる第１ＤＴＵからインターリーブされた第２ＤＴＵである請求項１３に記載の方法。
【請求項２１】
第２ネットワークを介して第１ネットワークから第３ネットワークへデータ伝送を転送する方法であって、
前記第１ネットワークから第１タイプの第１データ伝送単位（ＤＴＵ）を受信するステップａ）と、
各第１タイプの第１ＤＴＵに対して、前記第１ＤＴＵを第２タイプの第２ＤＴＵに分割するステップｂ）と、
前記第２ネットワークへ前記第２ＤＴＵを送信するステップｃ）と、
ステップｃ）で送信された前記第２ＤＴＵに由来した少なくとも１つの余分な第２ＤＴＵを、前記第２ネットワークへ送信するステップｄ）と、を含み、
前記第２ネットワークで前記第２ＤＴＵが全ては受信されなかった場合、少なくとも１つの前記余分な第２ＤＴＵが、前記第１ＤＴＵが再生成されることを可能にし、
ｘが、所定のしきい値以下である。
【請求項２２】
少なくとも１つの前記余分な第２ＤＴＵが、前記第１ＤＴＵが分割された少なくとも１つの第２ＤＴＵの複製である請求項２１に記載の方法。
【請求項２３】
少なくとも１つの前記余分な第２ＤＴＵが、少なくとも１つの第２ＤＴＵが損失した場合前記第１ＤＴＵが再生成されることを可能にするパリティＤＴＵである請求項２１に記載の方法。
【請求項２４】
少なくとも１つの前記余分な第２ＤＴＵが、少なくとも１つの第２ＤＴＵが損失した場合前記第１ＤＴＵが再生成されることができるように、消失訂正符号を使用して符号化される請求項２１に記載の方法。
【請求項２５】
第２ＤＴＵを送信するに先立って異なる第１ＤＴＵから第２ＤＴＵをインターリーブするステップをさらに含む請求項２１に記載の方法。
【請求項２６】
前記インターフェースモジュールの少なくとも１つが、ＤＴＵをフィルタリングするフィルタを含む請求項１に記載のサーバ。
【請求項２７】
前記フィルタが、どのＤＴＵが前記区分化モジュールへ送信されるべきかを判定する請求項２６に記載のサーバ。
【請求項２８】
前記サーバの少なくとも１つが、どの入力ＤＴＵが細分されるべきかをフィルタリング及び決定するフィルタを含む請求項１１に記載のシステム。
【請求項２９】
ｘ個の区分化されていない第１ＤＴＵ毎に、余分な第２ＤＴＵが生成され、ｘが自然数である請求項１１に記載のシステム。
【請求項３０】
少なくとも１つの第１ＤＴＵが、細分されない請求項２８に記載のシステム。
【請求項３１】
前記フィルタが、あるグループから選択された少なくとも１つの基準に基づいて、どの入力ＤＴＵが細分されるべきかを判定し、
前記グループが、
−入力ＤＴＵの宛先ＩＰアドレス
−入力ＤＴＵのソースＩＰアドレス
−入力ＤＴＵのソースＴＣＰ／ＵＤＰポート
−入力ＤＴＵの宛先ＴＣＰ／ＵＤＰポート
−入力ＤＴＵのヘッダー情報
−入力ＤＴＵのデータ
−入力ＤＴＵのサイズまたは長さ
−入力ＤＴＵの送出ポートあるいは入力ポート
を含む請求項２８に記載のシステム。
【請求項３２】
前記フィルタが、各第１ＤＴＵの区分化を決定する請求項２６に記載のサーバ。
【請求項３３】
前記フィルタが、前記第１ＤＴＵから生成された第２ＤＴＵが再送信されるべきか否かを判定する請求項２６に記載のサーバ。
【請求項３４】
再送信されないことになっている第２ＤＴＵが、前記サーバによってタグ付けされる請求項３３に記載のサーバ。
【請求項３５】
前記サーバの少なくとも１つが、どの入力ＤＴＵが再送信に適するかをフィルタリング及び判定するフィルタを含む請求項１１に記載のシステム。
【請求項３６】
前記フィルタが、あるグループから選択された少なくとも１つの基準に基づいて、どの入力ＤＴＵが再送信に適するかを決定し、
前記グループが、
−入力ＤＴＵの宛先ＩＰアドレス
−入力ＤＴＵのソースＩＰアドレス
−入力ＤＴＵのソースＴＣＰ／ＵＤＰポート
−入力ＤＴＵの宛先ＴＣＰ／ＵＤＰポート
−入力ＤＴＵのヘッダー情報
−入力ＤＴＵのデータ
−入力ＤＴＵのサイズまたは長さ
−入力ＤＴＵの送出ポートあるいは入力ポートを含む請求項３５に記載のシステム。
【請求項３７】
前記第２ＤＴＵが、再送信に適さないと判定された第１ＤＴＵに由来する場合、前記第２サーバが、不十分な数の第２ＤＴＵが受信された場合前記第１サーバに前記第２ＤＴＵの再送信をリクエストしない請求項３５に記載のシステム。
【請求項３８】
細分されないことになっているＤＴＵが、前記サーバによってタグ付けされる請求項３０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信ネットワークに関する。より詳細には、本発明は、転送ネットワーク端から見た場合の、転送ネットワークを介したデータ伝送のスループットを増大するシステムおよび方法に関する。
【背景技術】
【０００２】
地理的に遠隔する地点のための内部ネットワークを使用するビジネスの数が、過去数年驚異的に増えた。ダラスのオフィスは、ロサンゼルス及びシアトルにあるその姉妹オフィスのネットワークとは独立した、別個の、それ自身の内部通信ネットワークを有することができる。しかしながら、そのような異なる地点間のデータおよび資源を共有する必要が存在するため、そのようなオフィス間の高速高性能のバックボーン(Backbone)リンクは、異なるネットワークを接続するために、通常親会社によって賃貸される。明らかに、そのようなバックボーンリンクをそのプロバイダから借りることは高価である。しかしながら、これらのラインを賃貸するビジネスは、多くの条件の中で、特に、転送ネットワーク、即ち、２つの終端ネットワーク間でデータを転送するネットワークを通じた高いアプリケーションパフォーマンスを求めている。
【０００３】
すべてでないにしても、ほとんどの転送ネットワークは、パケットに基づいたネットワークである。即ち、ネットワークは、大きなデータをより小さなデータのパケットに分解してから、第２転送ネットワークを介して第１ソースネットワークから第３宛先ネットワークに送信する。しかしながら、輻輳および他のネットワーク制限により、すべてのパケットは、成功裡に宛先ネットワークに到着するとは限らない。このパケット損失こそが終端ネットワークが努力して最小限にしようするものであり、そして、結果的に、高価な高パフォーマンスの転送ネットワークあるいはリンクが賃貸されるのである。
【０００４】
ソース及び宛先ネットワークに重要なのは転送ネットワークのパフォーマンスである。転送ネットワークは、終端ネットワークのアプリケーションの視点から、理想としてはパケット損失が無く完璧でなければならない。このため、高パフォーマンスの転送ネットワークを賃貸する通常のコストよりも低い価格でそのようなパフォーマンスを有することができれば、それは好ましいであろう。
【０００５】
従って、終端ネットワークアプリケーションのために転送ネットワークの高パフォーマンスを提供するためには、低価格の通信転送ネットワークに使用されることができるシステムおよび方法が必要である。
【０００６】
現在、２つのアプローチが上記の状況に取り組むために既に試みられてきた。１つのアプローチでは、終端ネットワークは、データ損失とレイテンシにより大きく影響されないカスタムプロトコルを使用する。しかしながら、ほとんどのシステムがＴＣＰ／ＩＰのようなよく認められているプロトコルを使用しているため、このアプローチは広範囲の再編成を要求する。また、そのようなカスタムプロトコルが確立している終端および転送ネットワークと相互操作可能であるという保証がないため、そのようなアプローチは、さらに混乱を来たしうる。
【０００７】
もう１つのアプローチは、転送ネットワークを介してデータを転送するためにカスタムプロトコルスタックを使用し、且つ、宛先ネットワークで新しいＴＣＰ／ＩＰセッションを開始することを伴う。しかしながら、このアプローチは、ＴＣＰ／ＩＰプロトコル及びＵＤＰ／ＩＰのような別のプロトコルを使用するシステムにおいて有用ではあるが、転送ネットワークを伝わる損失及び／又はレイテンシに影響されうる。
【０００８】
このドキュメントの全体にわたって、データ伝送単位(Data Transmission Unit、ＤＴＵ）という用語が包括的な意味で使用されて、送信されたデータを包含する単位を指すことに注意すべきである。したがって、そのような単位は、パケット、セル、フレームの形式を取りうるし、あるいは、データがその単位の中にカプセル化される限り、他のそのような単位でありうる。したがって、ＤＴＵという用語は、特定のプロトコル、標準あるいは伝送スキームを実施する、あらゆるパケットおよびフレームに適用可能である。
【発明の開示】
【０００９】
本発明は、転送ネットワーク経由でソースネットワークから宛先ネットワークへデータを転送するシステムおよびその方法を提供する。ソースネットワークからのデータ伝送単位（ＤＴＵ）は、ソースと転送ネットワークの間に論理上位置したサーバで受信される。これらの第１ＤＴＵは第２ＤＴＵへ細分され、転送ネットワーク経由で宛先ネットワークへ送信される。さらに送信されるのは符号化され、或いは余分な第２ＤＴＵである。この符号化され、或いは余分な第２ＤＴＵは、第２ＤＴＵのうちのいくつかが損失してもオリジナルの第１ＤＴＵが再生成されることを可能にする。これらの符号化される第２ＤＴＵは、単に送信される第２ＤＴＵのコピーであったり、パリティ第２ＤＴＵ、あるいは消失訂正符号を使用して符号化された第２ＤＴＵであったりすることができる。宛先ネットワークでは、第２ＤＴＵが受信され、オリジナルの第１ＤＴＵを再生成するために使用される。オリジナルの第１ＤＴＵの再生成が遂行することができないような、不十分な数の第２ＤＴＵが受信される場合、第２ＤＴＵの再送信がリクエストされる。
【００１０】
第１側面では、本発明は、第１ネットワークから第２ネットワークへデータを転送するためにサーバを提供する。前記サーバは、前記第１ネットワークに対してデータを送受信する第１インターフェースモジュールと、前記第２ネットワークに対してデータを送受信する第２インターフェースモジュールと、前記第１ネットワークから受信された第１タイプの各第１データ伝送単位（ＤＴＵ）を第２タイプの少なくとも１つの第２ＤＴＵにパッケージする区分化モジュールと、前記第２ネットワークから受信された第２ＤＴＵを第１ＤＴＵにリアセンブルするリアセンブリモジュールと、を備え、前記区分化モジュールが、前記第１インターフェースモジュールから第１ＤＴＵを受信し、前記区分化モジュールが、前記第２ネットワークへの送信のために少なくとも１つの前記第２ＤＴＵ及び少なくとも１つの余分な第２ＤＴＵを前記第２インターフェースモジュールへ送信し、前記リアセンブリモジュールが、前記第２ネットワークインタフェイスから前記第２ＤＴＵを受信し、前記リアセンブリモジュールが、受信された第２ＤＴＵの数及び受信された余分な第２ＤＴＵの数に基づいて、前記第１ＤＴＵをリアセンブルするのに十分な数の第２ＤＴＵが受信されたかどうかを判定し、前記リアセンブリモジュールが、前記第１ネットワークへの送信のためにリアセンブルされた第１ＤＴＵを前記第１インターフェースモジュールへ送信する。
【００１１】
第２側面では、本発明は、第１ネットワークから第３ネットワークへ第２ネットワーク経由でデータを送信するシステムを提供する。前記システムは、前記第１ネットワークおよび前記第２ネットワークを接続する第１サーバと、前記第２ネットワークおよび前記第３ネットワークを接続する第２サーバと、を備え、前記第１サーバが前記第１ネットワークから第１タイプの第１ＤＴＵを受信し、前記第１ＤＴＵのそれぞれを第２タイプの第２ＤＴＵへ細分し、前記第２ＤＴＵおよび余分な第２ＤＴＵが、前記第１サーバによって前記第２ネットワークへ送信され、前記第２サーバが、前記第２ネットワークから前記第２ＤＴＵを受信し、前記第２サーバが、細分された第１ＤＴＵを前記第２ＤＴＵから再生成し、前記第２サーバが、前記第１ＤＴＵを前記第３ネットワークへ送信し、前記第２サーバが、オリジナルの第２ＤＴＵがすべては受信されなかった場合、前記第２ＤＴＵ及び前記余分な第２ＤＴＵから前記第１ＤＴＵを再生成する。
【００１２】
第３側面では、本発明は、第１ネットワークから第３ネットワークへ第２ネットワーク経由でデータを転送する方法を提供する。前記第１ネットワークが第１タイプの第１データ伝送単位（ＤＴＵ）を作成し、前記第１ＤＴＵが第２タイプの第２ＤＴＵに分割される。前記方法は、前記第２ネットワークから第２タイプの第２ＤＴＵを受信するステップａ）と、受信された第２ＤＴＵの数及び余分な第２ＤＴＵの数に基づいて、第１ＤＴＵを再生成するのに十分な数の第２ＤＴＵが受信されたか否かを判定するステップｂ）と、不十分な数の第２ＤＴＵが受信された場合、前記第２ＤＴＵの再送信をリクエストして前記ステップｂ）を実行するステップｃ）と、十分な数の第２ＤＴＵが受信された場合、前記第１ＤＴＵを再生成するステップｄ）と、前記第３ネットワークへ前記第１ＤＴＵを送信するテップｅ）と、を含む。
【００１３】
第４側面では、本発明は、第２ネットワークによって第１ネットワークから第３ネットワークへデータ伝送を転送する方法を提供する。前記方法は、前記第１ネットワークから第１タイプの第１データ伝送単位（ＤＴＵ）を受信するステップａ）と、各第１タイプの第１ＤＴＵに対して、前記第１ＤＴＵを第２タイプの第２ＤＴＵに分割するステップｂ）と、前記第２ネットワークへ前記第２ＤＴＵを送信するステップｃ）と、ステップｃ）で送信された前記第２ＤＴＵに由来した少なくとも１つの余分な第２ＤＴＵを、前記第２ネットワークへ送信するステップｄ）と、を含み、前記第２ネットワークで前記第２ＤＴＵが全ては受信されなかった場合、少なくとも１つの前記余分な第２ＤＴＵが、前記第１ＤＴＵが再生成されることを可能にし、ｘが所定のしきい値以下である。
【発明を実施するための最良の形態】
【００１４】
図１に、本発明が実施され得る環境のブロック図を示す。第１ネットワーク１０は第２ネットワーク２０と通信し、第２ネットワーク２０は、今度は、第３ネットワーク３０と通信する。第１ネットワーク１０および第２ネットワーク２０はサーバ４０を通じて通信し、他方、第２のネットワーク２０はサーバ５０を通じて第３ネットワーク３０と通信する。もし第１ネットワーク１０が、（恐らくより大きな広域ネットワークを作成するために）第３ネットワーク３０と通信しようとする場合、そのとき、第２ネットワーク２０は転送ネットワークになる。それは、第２ネットワーク２０が第１ネットワーク１０と第３ネットワーク３０との間のルートを単に提供するだけのためである。上述のとおり、２つの終端ネットワーク、第１ネットワーク１０および第３ネットワーク３０内に存在するアプリケーションは、転送ネットワークが、ＤＴＵ損失がなく、好ましくはレイテンシも最小で、実質的に完璧なルートを提供することのみを要求している。
【００１５】
本発明は、転送ネットワークの予測のつかない変動から終端ネットワークを隔離する手段を提供することを目的とする。サーバ４０、５０は、転送ネットワーク２０を通じたＤＴＵの伝送を扱うことにより、転送ネットワーク２０に対処することから終端ネットワーク１０、３０を隔離する。終端ネットワークは、それらの間で任意の通信プロトコルを使用し得る。また、サーバ４０、５０は、それらの間でそれ自身のプロトコルを使用し得る。サーバ４０、５０は、終端ネットワークから１つのプロトコルでＤＴＵを受信し、転送ネットワークを通じてそれらのＤＴＵを送信するに先立って、それらのＤＴＵを新しいＤＴＵへパッケージし直す。しかしながら、単に終端ネットワークからのＤＴＵをパッケージし直す代りに、サーバ４０、５０はさらに、それらのＤＴＵを好ましくはより小さなＤＴＵへ細分する。さらに、サーバ４０、５０は余分なＤＴＵを符号化する。この余分なＤＴＵは、たとえ転送ネットワークを通じて送信されるＤＴＵのうちの一部が失われたとしても、終端ネットワークからのオリジナルのＤＴＵの再生成／再構成を可能にする。
【００１６】
一旦転送ネットワークを通じて送信されたＤＴＵがもう一つの終端で受信されれば、終端ネットワークからのオリジナルのＤＴＵは再生成される。これは、受信したＤＴＵを再び順序付け、また、一部のＤＴＵが送信の間に失われた場合、同様に送信された余分なＤＴＵを使用することにより行われる。受信した余分なＤＴＵが、終端ネットワークからのオリジナルのＤＴＵを再生成するために不充分である場合、受信サーバは、以前に送信されたＤＴＵの再送信をリクエストしてもよい。
【００１７】
上記のプロセスを容易に説明するために、終端ネットワークに由来するＤＴＵ、或いは終端ネットワークに送信されるＤＴＵは、第１ＤＴＵと称され、且つ、第１タイプのＤＴＵであるとする。転送ネットワークを介して送信された、及び／又は転送ネットワークから受信したＤＴＵは、第２ＤＴＵと称され、且つ、第２タイプのＤＴＵであるとする。
【００１８】
図２に、サーバ４０のモジュールブロック図を、ネットワークサーバ４０に関連した、通信するデータフローと共に示す。図面から分かるように、サーバ４０は第１インタフェース６０、第２インタフェース７０、リアセンブリモジュール８０および区分化モジュール９０を有する。第１インタフェース６０は第１ＤＴＵを終端ネットワークへ送信し、また終端ネットワークから受信する。図２では、終端ネットワークは第１ネットワーク１０であるとして示される。サーバ４０の第２インタフェース７０は第２ＤＴＵを転送ネットワークへ送信し、また転送ネットワークから受信する。図２では、転送ネットワークは第２ネットワーク２０として示される。
【００１９】
サーバ４０内のモジュールに関して、リアセンブリモジュール８０は第２インタフェース７０から第２ＤＴＵを受信し、第１インタフェース６０経由で第１ネットワーク１０への送信用の第１ＤＴＵを作成する。区分化モジュール９０は、他方では、第１インタフェース６０から第１ＤＴＵを受信し、第２インタフェース７０経由で転送ネットワーク２０への送信用の第２ＤＴＵを作成する。
【００２０】
一旦第２ＤＴＵが転送ネットワークを通じて送信されたならば、それらはもう一つの終端でのサーバによって受信される。これを示すために、図３は、転送ネットワークおよびもう一つの終端ネットワークと通信するサーバ５０のモジュール、及びそれを介したデータフローを示す。図３において、転送ネットワークは第２ネットワーク２０として示される。また、第３ネットワーク３０は終端ネットワークとして示される。
【００２１】
サーバ５０内のモジュールはサーバ４０内のものと同じで、実際、同じ機能を有する。サーバ５０内の第２インタフェース７０Ａは、さらに転送ネットワークと通信し、第２ＤＴＵを送受信する。第１インタフェース６０Ａは、さらに、終端ネットワーク（この場合第３ネットワーク３０）と通信し、第１ＤＴＵを送受信する。リアセンブリモジュール８０Ａは第２ＤＴＵを受信し、第１ＤＴＵを作成する一方、区分化モジュール９０Ａは第１ＤＴＵを受信し、第２ＤＴＵを作成する。
【００２２】
上述のとおり、互いにデータを送信する場合に、第１ＤＴＵは終端ネットワークによって使用されるＤＴＵであり、第２ＤＴＵは転送ネットワークおよびサーバ４０、５０によって使用される。第２ＤＴＵは第１ＤＴＵに由来する。第１ＤＴＵはより小さな単位に分割され得、また、より小さな各単位は第２ＤＴＵの中のペイロードであり得る。そのため、第２ＤＴＵは、それ自体が由来したオリジナルの第１ＤＴＵより小さいことが正にありえる。例として、１０ｋｂの第１ＤＴＵは５つの２ｋｂ単位へ細分されうる。これらの単位は、５つの、各々が１０ｋｂ未満であり得る第２ＤＴＵのペイロードとなり得る。第１ＤＴＵから第２ＤＴＵを作成するこの機能は、区分化モジュール９０、９０Ａによって遂行される。
【００２３】
一旦、第２ＤＴＵが区分化モジュール９０、９０Ａによって作成されれば、第２ＤＴＵが由来したオリジナルの第１ＤＴＵを再生成するのを支援するために、区分化モジュールはさらに、余分な、あるいは符号化された第２ＤＴＵを作成する。これらの余分な第２ＤＴＵは、第１ＤＴＵに由来した第２ＤＴＵから得られる。この余分な第２ＤＴＵの背後のコンセプトは、１つ以上の第２ＤＴＵが転送ネットワークを通じた送信の間に損失する場合、リアセンブリモジュール８０、８０Ａがオリジナルの第１ＤＴＵを再生成、或いはリアセンブルするのを支援することである。
【００２４】
余分な第２ＤＴＵは多くの形式を取り得る。恐らく最も簡単な実施の形態では、余分な第２ＤＴＵは単に選択された、以前に送信された第２ＤＴＵのコピーである。例として、第１ＤＴＵが、４つの第２ＤＴＵ（ＤＴＵ１、ＤＴＵ２、ＤＴＵ３およびＤＴＵ４）に分割された場合、余分な第２ＤＴＵはＤＴＵ２とＤＴＵ３のコピーであり得る。そのため、もしＤＴＵ２あるいはＤＴＵ３が送信の間に損失した場合、オリジナルの第１ＤＴＵは依然として再生成されることができる。第２ＤＴＵのうちのどれが複製されることになるか、どのくらい余分な第２ＤＴＵが使用されるかは、システム管理者の自由裁量あるいはシステムのセットアップに託される。転送ネットワークの損失率に応じて、多かれ少なかれ冗長性は、第２ＤＴＵの複製を多かれ少なかれ含めることにより組込まれることができる。最も単純な場合は、第２ＤＴＵ毎に２つのコピーが宛先サーバへ送信されることを本質的に保証するために、すべての第２ＤＴＵは複製されることができる。
【００２５】
別のタイプの余分な第２ＤＴＵはパリティＤＴＵであろう。当技術分野で周知のように、パリティＤＴＵはＸＯＲ関数を使用して作成することができる。オリジナルの第１ＤＴＵから作成された異なる第２ＤＴＵのビットは、ＸＯＲされて、余分な第２ＤＴＵに格納されることができるビット値を生成することができる。（余分な第２ＤＴＵを除く）第２ＤＴＵのうちのいずれかの一つが送信の間に損失した場合、受信された他の第２ＤＴＵ及び余分な第２ＤＴＵは、損失した第２ＤＴＵを再生成するために使用されることができる。受信された第２ＤＴＵおよび余分な第２ＤＴＵに対してＸＯＲ操作を行うことは、紛失した第２ＤＴＵを再生成する。
【００２６】
余分な第２ＤＴＵが別の消失訂正符号を使用して符号化されてもよいことに注意すべきである。例として、ｎ個の第２ＤＴＵが１つの第１ＤＴＵから生成される場合、ｍ個の余分な第２ＤＴＵは、損失した第２ＤＴＵが再生成されるのを可能にするために、生成され得る。上述の通り、ｍ＝ｎで完全な複製が達成される中、単なる複製（ｍ≦ｎ）が使用される場合、ｍ個の余分な第２ＤＴＵは「冗長な」第２ＤＴＵと考えられうる。しかしながら、消失訂正符号が使用される場合、１つ以上の第２ＤＴＵが損失しても、リアセンブリモジュールが依然として損失した第２ＤＴＵを再構成することができるような方法で冗長情報を符号化することは可能である。リード−ソロモン、前方消失訂正技術、およびボース・チョーンドリ・オッカンガム（ＢＣＨ）符号のような周知の方法およびコーディング技術、および多くの他のものが使用されてもよい。
【００２７】
余分な第２ＤＴＵは、一部の第２ＤＴＵの損失による影響を打ち消すのを支援するはずであるが、あまりにも多くの第２ＤＴＵの損失による影響は完全には補うことができない。このため、プレセットおよび所定のしきい値レベルを超えた多くの第２ＤＴＵの損失は、リアセンブリモジュールがパッケージあるいは第２ＤＴＵのグループの再送信をリクエストすることを引き起こし得る。例として、余分な第２ＤＴＵがＤＴＵの２５％の損失を復元することができ、１つの第１ＤＴＵから４つのＤＴＵが生成された場合、１つの第２ＤＴＵの損失は再送信リクエストをトリガしないであろう。しかしながら、２つの第２ＤＴＵの損失、即ち５０％の損失の場合、リアセンブリモジュールは再送信をリクエストしうる。プレセットおよび所定のしきい値は理想としては、余分な、あるいは冗長な第２ＤＴＵに使用されたコーディングのエラー或いは損失訂正能力に関連させられる。リアセンブリモジュールは第２ＤＴＵのペイロードを適切に順番に並べる必要があるため、区分化された個々の第１ＤＴＵのために受信された第２ＤＴＵの数を追跡することができる。しかしながら、以下に議論されるように、いくつかのアプリケーションは再送信になじまないかもしれない。そのような場合は、再送信はリクエストされない。第１ＤＴＵを再生成させるための第２ＤＴＵの数が不十分な場合、第１ＤＴＵが死んだと宣言するのに十分な時間が経過した後、システムは、受信した第２ＤＴＵを単に廃棄することができることにさらに注目すべきである。
【００２８】
上記から分かるように、リアセンブリモジュールは、受信された第２ＤＴＵを復号、アンラップ(unwrap)、及びリアセンブルする必要がある。受信された第２ＤＴＵは、余分な第２ＤＴＵによって補正されるのに十分な数があるかどうか、あるいは再送信がリクエストされるかどうかを決めるために追跡される必要がある。十分な数があり、またいくつかの第２ＤＴＵが損失した場合、リアセンブリモジュールは、紛失した第２ＤＴＵを再生成、あるいは再構成する必要がある。あるいは、実際損失した第２ＤＴＵでなくとも、それらの紛失した第２ＤＴＵのコンテンツを再構成する必要がある。上述の通り、このプロセスは、使用されているコーディング、及び採用されている全体戦略に依存する。この復号およびエラー訂正プロセスは当業者にとっては周知なものである。
【００２９】
一旦必要な数の第２ＤＴＵが受信されたならば、それらのペイロードは抽出され、第２のＤＴＵが由来したオリジナルの第１ＤＴＵを再構成するために使用される。これは、第２ＤＴＵのペイロードを連結して、再構成される第１ＤＴＵを生じさせるような簡単なことであってもよい。しかしながら、上述のように復号に関して、再構成プロセスは、オリジナルの第１ＤＴＵを区分化、或いは分割するために使用されたプロセスに依存する。オリジナルの第１ＤＴＵは再構成されたならば、終端ネットワークと通信するインターフェースモジュールへ転送されることができる。
【００３０】
区分化モジュールに関して、これらのモジュールは、第１ＤＴＵを区分化或いは分割し、そして、セグメントを第２ＤＴＵに再「パッケージ」するタスクを行う。区分化モジュールはさらに上で議論されたように余分な第２ＤＴＵを符号化する。第１ＤＴＵより得られた第２ＤＴＵおよび符号化された余分な第２ＤＴＵの両方を含む第２ＤＴＵは、その後、転送ネットワークと通信するインターフェースモジュールに渡される。転送ネットワークのもう一つの終端のリアセンブリモジュールが第２ＤＴＵの再送信をリクエストする場合、その再送信を促進するために、区分化モジュールは、好ましくは、送信される第２ＤＴＵの最後のいくつかをバッファするべきである。例として、５つの第１ＤＴＵが２０個の第２ＤＴＵおよび５つの余分な第２ＤＴＵへ区分化されている場合、区分化モジュールは、符号化された最後の３つの第１ＤＴＵに対応する最後の３セットの第２ＤＴＵをバッファしてもよい。したがって、１２個の第２ＤＴＵおよび３つの余分な第２ＤＴＵは、区分化モジュールによってバッファされることができる。
【００３１】
異なる区分化された複数の第１ＤＴＵに多数の第２ＤＴＵを損失するリスクを分散するために、区分化モジュールは、インターリーブの方式で第２ＤＴＵを送信するように構成されてもよい。したがって、各第２ＤＴＵのグループがそれぞれ一つの第１ＤＴＵに対応するように第２ＤＴＵのグループを連続して送信する代りに、異なる第１ＤＴＵからの第２ＤＴＵは互いにインターリーブされることができる。そのポイントを示すために、第１ＤＴＵ（Ａ、ＢおよびＣ）が、第２ＤＴＵ（ＤＴＵ−Ａ１、ＤＴＵ−Ａ２、ＤＴＵ−Ａ３、ＤＴＵ−Ｂ１、ＤＴＵ−Ｂ２、ＤＴＵ−Ｂ３、ＤＴＵ−Ｃ１、ＤＴＵ−Ｃ２およびＤＴＵ−Ｃ３）へそれぞれ区分化されると仮定することができる。どの第１ＤＴＵに由来したかに従ってグループ化（即ち、グループＡはＤＴＵ−Ａ１、ＤＴＵ−Ａ２、ＤＴＵ−Ａ３であり、グループＢはＤＴＵ−Ｂ１、ＤＴＵ−Ｂ２３、ＤＴＵ−Ｂ３であるなど）されているようにこれらの第２ＤＴＵを送信する代りに、これらの第２ＤＴＵはインターリーブにされることができる。第２ＤＴＵが３つのＤＴＵで１グループとして送信されるとすると、第１グループはＤＴＵ−Ａ１、ＤＴＵ−Ｂ１、及びＤＴＵ−Ｃ１であることができる。もう１つのグループはＤＴＵ−Ａ２、ＤＴＵ−Ｂ２およびＤＴＵ−Ｃ２であることができ、その他も同様である。このスキームを使用すると、１つのグループが損失した場合に、第１ＤＴＵは全体としては損失しない、即ち、３つの第１ＤＴＵの１／３のみが損失したことになる。使用されたコーディングおよび方法によって、この種の損失は復元可能であり得る。
【００３２】
図３Ａに、図３のサーバ５０の変形例５０Ａを示す。この変形例５０Ａでは、インタフェース６０Ｂ、７０Ｂは各々、入力ＤＴＵをフィルタリングするフィルタ６５、７５を有する。一部のデータストリームが圧縮または遅延になじまないので、これらのデータストリームのＤＴＵは区分化、再送信あるいはその両方に適さない可能性がある。例えば、音声に基づいたアプリケーション（例えばＶｏＩＰ）用の音声データパケットあるいはＤＴＵは、再送信あるいは区分化のいずれにも適さないであろう。再送信に適さないこのようなＤＴＵについては、ＤＴＵは再送信に適さないものとしてタグ付けされる。これらのＤＴＵは、区分化には適する場合、区分化され、そして転送ネットワーク２０を通じて送信される。一旦転送ネットワーク２０のもう一つの終端で受信されれば、受信インタフェース６０Ｂは、フィルタ６５を通じてそれをフィルタリングし、その結果、受信された第２ＤＴＵが不十分な場合、送信サーバに対して再送信のリクエストは行われない。そのような状況で、第２ＤＴＵが由来する第１ＤＴＵは死んだと宣言される。
【００３３】
区分化に適さないＤＴＵについては、ＤＴＵは区分化に適さないものとしてタグ付けされる。適切にタグ付けされたこれらのＤＴＵは、サーバの中の別のインタフェースへ直接送信される。したがって、入力第１ＤＴＵが区分化されないとタグ付けられている場合、第１ＤＴＵは、インタフェース６０Ｂによって受信され、そしてフィルタ６５によってフィルタリングされる。その後、タグ付きのＤＴＵは、転送ネットワーク２０を通って送信されるために別のインタフェース７０Ｂに送信される。転送ネットワーク２０のもう一つの終端で、別のインタフェースはタグ付きのＤＴＵを受信し、対応するフィルタがタグを認識するので、サーバの中の別のインタフェースにＤＴＵを直接に導く。
【００３４】
ＤＴＵのタグ付けは、ＤＴＵヘッダー中の特定の値を変更することにより、あるいはタグ付けされるＤＴＵに特定のヘッダーかヘッダー値を連結することにより行われることができる。
【００３５】
フィルタは、入力、若しくは第１ＤＴＵのうちどれを区分化するのを決定することもできる。それは、ソースまたは宛先ポート、ＤＴＵに含まれているデータのような任意の基準、或いは次の基準のいずれか１つ又はその任意の組合せに基づいて行われることができる。
【００３６】
−入力ＤＴＵの宛先ＩＰアドレス
−入力ＤＴＵのソースＩＰアドレス
−入力ＤＴＵのソースＴＣＰ／ＵＤＰポート
−入力ＤＴＵの宛先ＴＣＰ／ＵＤＰポート
−入力ＤＴＵのヘッダー情報
−入力ＤＴＵのデータ
−入力ＤＴＵのサイズまたは長さ
−入力ＤＴＵの送出ポートあるいは入力ポート。
【００３７】
ＤＴＵを無くしたりまたは廃棄したりすることから守る本発明の特徴を利用するために、システムは、ｘ個の第１ＤＴＵ毎に、少なくとも１つの第２ＤＴＵを生成してもよい。これは、第１ＤＴＵが区分化されない、或いはそうでなければ再パッケージされない場合特に有用となりえる。生成された第２ＤＴＵは、転送ネットワークを通じて送信されている第１ＤＴＵの廃棄に対する保険の役割をすることができる。例として、ＤＴＵ１、ＤＴＵ２、ＤＴＵ３が区分化されずに、転送ネットワークを介して転送される第１ＤＴＵである場合、ＤＴＵ４は、ＤＴＵ１、ＤＴＵ２およびＤＴＵ３単位に由来した、生成された第２ＤＴＵであることができる。したがって、ＤＴＵ１、ＤＴＵ２あるいはＤＴＵ３のうちの１つが損失した場合、ＤＴＵ４は損失したＤＴＵを回復／再生成させるために使用されることができる。このスキームは、第１ＤＴＵが固定サイズを有し、規則的なレートで生成される場合、特に適用可能である。
【００３８】
上記で説明されたフィルタは、上にリストされた用途以外の他の用途に使用されてもよい。フィルタは、入力第１ＤＴＵのサイズを検出することによって、各第１ＤＴＵがそれぞれ区分化される、第２ＤＴＵの数を決定してもよい。各第２ＤＴＵに対して最小あるいは最大サイズを有するようなフィルタ設定値の調節によって、システムの種々の効率が引き出されることができる。例として、数多くの第２ＤＴＵが望まれる場合、数多くの第２ＤＴＵがシステムのオーバヘッドを減少させることができるので、第２ＤＴＵのサイズは小さく設定されることができる。第１ＤＴＵのサイズが大きい場合、第１ＤＴＵが区分化される第２ＤＴＵの数を増大させることは、生成される余分な第２ＤＴＵのサイズを減少し、それによって、オーバヘッドを減少する。しかしながら、第１ＤＴＵのサイズが小さい場合、生成された個々の第２ＤＴＵのオーバヘッドは余分なヘッダーのサイズよりも大きくなりうるので、それによって、全体的なオーバヘッドの増大を引き起こしてしまう。
【００３９】
上記のシステムがポイント対ポイント（Point to Point）の接続を記述しているが、システムは、ポイント対マルチポイント（Point to Multipoint）の接続まで拡張されることができる。システム内のフィルタはこの拡張に使用されてもよい。フィルタは、第１ＤＴＵヘッダー内の宛先情報に基づいて、生成された第２ＤＴＵを適切な多数の宛先に向けさせることができる。同様に、入力第１ＤＴＵが入る入力ポートはフィルタ基準として使用され得る。例として、フィルタは、第１ＤＴＵがポートｘ１から来た場合、そのポートからの任意の第２ＤＴＵ、或いはＤＴＵが多数の所定の宛先へ再び向けられるのを保証することができる。
【００４０】
システムのユーザが望む場合、システムはシステムスループットをコントロール、若しくは制限するように構成されてもよい。そのような制限は、一部の加入者によるシステム使用を制限するのに役立つであろう。他の加入者、恐らくより高いサービスレベルの、あるいはより高い加入者レベルの加入者は、邪魔されずにシステムへアクセスしてもよい。
【００４１】
スループットを制限するためには、単位時間当たりｘバイトの事前設定のリミットを実施してもよい。転送ネットワークへ送信されるバイト数の計数と連動するタイマーの使用によって、システムは、所定のスループットを追跡することができる。一旦スループットが超過したならば、その間にデータが転送されない遅延が組み込まれることができる。一旦遅延が計算に入れられたならば、送信は再開することができる。タイマー、遅延およびバイト計数を適用する多数の方法が実施され得る。どのデータストリームが遅延されるかを決めるために、再度、上記で議論されたフィルタを使用してもよい。
【００４２】
さらにシステムが周知の暗号化および圧縮方法を使用してもよいことに注意すべきである。入力第１ＤＴＵに任意の暗号化を適用するほうがより有利になりうるが、暗号化は、入力第１ＤＴＵあるいは出ていく第２ＤＴＵのいずれか一方に適用されてもよい。
【００４３】
圧縮については、任意の周知の圧縮方法を適用してもよい。暗号化の場合と同じように、圧縮方法は、入力第１ＤＴＵあるいは出ていく第２ＤＴＵのいずれか一方に適用されてもよい。しかしながら、再び、暗号化の場合と同じように、入力第１ＤＴＵに対して圧縮を適用するほうがより有利になりうる。圧縮と暗号化の両方が適用されることになっている場合、圧縮は先に適用されるべきである。それは、ほとんどの暗号化方法が、一旦データを暗号化すると、そのデータの圧縮を困難にしてしまうためである。
【００４４】
図４は、転送ネットワークを介して第２ＤＴＵを送信するサーバが実行するプロセスのステップを示す図である。そのプロセスは、ソース終端ネットワークから第１ＤＴＵを受信するステップ１００から始まる。受信された後、第１ＤＴＵは分割され、或いは区分化され（ステップ１１０）、そして、セグメントは第２ＤＴＵにパッケージされる（ステップ１２０）。一旦第２ＤＴＵが作成されれば、余分なあるいは冗長な第２ＤＴＵが符号化され、生成される（ステップ１３０）。その後、第２ＤＴＵはバッファされ（ステップ１４０）、次に、転送ネットワークへ送信される（ステップ１５０）。その後、決定１６０は、再送信リクエストが受信されたかどうかを判定する。もしそのようなリクエストが受信された場合、決定フローは第２ＤＴＵを送信するステップ１５０に戻る。もしある設定時間内にリクエストが受信されなかった場合、コネクタ１７０は制御フローをステップ１００に戻す。
【００４５】
もし図３Ａの中で示されているようにフィルタがシステムの中で使用されている場合、一旦第１ＤＴＵが受信されれば、決定１０５は入力ＤＴＵが区分化されるべきかどうかを決定する。入力ＤＴＵが区分化されるべき場合、ロジックフローは、ＤＴＵを区分化するステップ１１０に継続する。フィルタは、上述のように、ステップ１０５において、いくつのセグメントにＤＴＵを区分化するか、区分化されたＤＴＵが如何に転送されるかなどを決定する。他方では、入力ＤＴＵが区分化されないことになっている場合、ロジックフローは、いかなるＤＴＵの損失に対しても保護手段を提供するために余分な第２ＤＴＵを生成する（望まれる場合）ステップ１３０に移動する。
【００４６】
図５は、転送ネットワークから第２ＤＴＵを受信するサーバが実行するステップを示す図である。サーバが転送ネットワークから第２ＤＴＵを受信するとともに、そのプロセスはステップ１８０で始まる。その後、決定１９０は、第２ＤＴＵが由来した第１ＤＴＵを再構成するために、第２ＤＴＵがすべて受信されたかどうかを判定する。もしすべてが受信されたならば、オリジナルの第１ＤＴＵを再生成させるステップ２００が実行される。一旦第１ＤＴＵが再生成されれば、再生成されたＤＴＵは、宛先終端ネットワークへ送信され（ステップ２０５）、そして、制御フローはコネクタ２１０経由でステップ１８０に戻る。
【００４７】
決定１９０に戻り、もし第２ＤＴＵがすべては受信されなかった場合、決定２２０は余分な第２ＤＴＵが受信されたかどうかを判定する。もし余分な第２ＤＴＵも同様に損失した場合、再送信がリクエストされる（ステップ２３０）。再送信リクエストの後、制御フローはコネクタ２１０経由でステップ１８０に戻る。余分な第２ＤＴＵが受信された場合、決定２４０は、オリジナルの第１ＤＴＵを再構成するために十分な、余分な第２ＤＴＵおよび第２ＤＴＵが受信されたかどうかを判定する。不十分な量が受信された場合、コネクタ２５０は、再送信をリクエストするステップ２３０に制御フローを移動させる。十分な量が受信された場合、ステップ２６０は、紛失した第２ＤＴＵを再生成、或いは再構成するために余分な第２ＤＴＵを復号する。その後、コネクタ２７０は、受信された第２ＤＴＵから第１ＤＴＵを再生成させるステップ２００に制御フローを戻す。
【００４８】
図３Ａに示すように、システムがフィルタを導入する場合、図５の中のステップ１８５は入力する第２ＤＴＵをフィルタリングする。このステップは、区分化されていない入力ＤＴＵがそれらの出力ポートへ直接送出され、あるいは、そうでなければ適切に転送されることを保証する。同様に、第２ＤＴＵが再送信に適さず、且つ、そういうものとしてタグ付けられた場合、これらの第２ＤＴＵは第１ＤＴＵを再生成させる（ステップ２００）ために使用されることに向けられることができる。そうでなければ、ロジックフローは決定１９０に続く。
【００４９】
本発明の実施例は任意の従来のコンピュータプログラミング言語で実施され得る。例えば、好ましい実施例は、手続的なプログラミング言語（例えば、“Ｃ”）あるいはオブジェクト指向言語（例えば、“Ｃ＋＋”）で実施されてもよい。本発明の代替的な実施例は、あらかじめプログラムされたハードウェア要素、他の関連するコンポーネント、あるいはハードウェアとソフトウエアコンポーネントの組合せとして実施されてもよい。
【００５０】
実施の形態は、コンピュータシステムと共に使用されるためのコンピュータプログラム製品として実施されることができる。そのような実施は、コンピュータ読取可能な媒体（例えばディスク、ＣＤ−ＲＯＭ、ＲＯＭ、固定ディスク）のような実体のある媒体上に固定化された一連のコンピュータ命令、あるいは、媒体上のネットワークに接続された通信アダプターのようなモデムあるいは他のインタフェース装置を介してコンピュータシステムへ伝達可能な一連のコンピュータ命令を含む。媒体は、実体のある媒体（例えば光或いは電気通信回線）、あるいは無線技術（例えばマイクロ波、赤外線あるいは他の伝送技術）で実施される媒体のいずれか一方であってもよい。一連のコンピュータ命令は、本明細書で既に説明されたすべて、或いは一部の機能を具現化する。当業者は、多くのコンピューター・アーキテクチャーあるいはオペレーティングシステムと共に使用される多くのプログラミング言語でそのようなコンピュータ命令を書くことができることを理解するであろう。更に、そのような命令は、半導体、磁気、光、或いは他のメモリデバイスのような任意のメモリデバイスに格納され得、また光、赤外線、マイクロ波あるいは他の送信技術のようなあらゆる通信技術を使用して送信され得る。そのようなコンピュータプログラム製品は、印刷されたか電子のドキュメンテーション（例えば、収縮包装されたソフトウェア(shrink wrapped software)）を伴うリムーバブル媒体として配布され、コンピュータシステム（例えばシステムＲＯＭあるいは固定ディスク上）にプレインストールされて配布され、若しくはネットワーク（例えばインターネットかワールド・ワイド・ウェブ）上のサーバから配布され得ることが予想される。もちろん、本発明のいくつかの実施の形態は、ソフトウェア（例えばコンピュータプログラム製品）およびハードウェアの両方の組合せとして実施されてもよい。また、本発明の別の実施の形態は、完全にハードウェア、あるいは完全にソフトウェア（例えばコンピュータプログラム製品）として実施されてもよい。
【００５１】
本発明を理解する者は、代替の構造及び実施の形態、或いは上記のものの変形を考え出し得る。それらも、添付の特許請求の範囲により定められる本発明の技術的思想と分野にあるように意図されている。
【図面の簡単な説明】
【００５２】
【図１】本発明が実施され得る環境のブロック図である。
【図２】図１の中で使用されるサーバの中のコンポーネントの構成を示すブロック図である。
【図３】図１の中で使用される別のサーバの中のコンポーネントの構成を示すブロック図である。
【図３Ａ】図３の中で示されたものと同様で、但し、少なくとも１つのフィルタを実施したサーバの構成を示すブロック図である。
【図４】第１ＤＴＵが受信され、転送ネットワークへの送信のために第２ＤＴＵへ変換される時に実行されるステップを示すフローチャートである。
【図５】第２ＤＴＵが転送ネットワークから受信され、終端ネットワークへの送信のために第１ＤＴＵへ変換される時に実行されるステップを示すフローチャートである。
【図１】
2008509580.tif 000003
【図２】
2008509580.tif 000004
【図３】
2008509580.tif 000005
【図３Ａ】
2008509580.tif 000006
【図４】
2008509580.tif 000007
【図５】
2008509580.tif 000008
【国際調査報告】
2008509580.tif 000009
2008509580.tif 000010