(57)【特許請求の範囲】
【請求項１】
ソフトウェア定義されたネットワーキングＳＤＮに適用されるデータ伝送方法であって、前記方法は、
コントローラによって、アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信する（Ｓ４０２）ステップであって、前記ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する、ステップと、
前記コントローラによって、前記ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定する（Ｓ４０４）ステップであって、前記第１の伝送パスは、前記送信デバイスによって前記受信デバイスにデータを伝送するのに使用され、かつ前記第２の伝送パスは、前記受信デバイスによって前記送信デバイスにＴＣＰ肯定応答を伝送するのに使用される、ステップと、
前記コントローラによって、前記アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信する（Ｓ４０６）ステップであって、前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを備え、かつ前記第１の伝送パスの前記帯域幅情報、および前記ＴＣＰ往復伝送遅延は、前記送信デバイスと前記受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するのに使用される、ステップと
を備えることを特徴とするデータ伝送方法。
【請求項２】
前記コントローラによって、前記アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信する前記ステップの前に、前記コントローラによって、前記第１の伝送パスのパケットロス率を決定するステップをさらに備え、
前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスの前記パケットロス率をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記ＴＣＰ伝送リソース割当て要求は、前記データを伝送するために要求される帯域幅をさらに備え、
前記コントローラによって、前記ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定する前記ステップは、スイッチングデバイスのネットワークトポロジに従って、かつ前記送信デバイスと前記受信デバイスの間のパスから、残っている帯域幅リソースが、前記データを伝送するための要件を満たすパスを前記第１の伝送パスとして選択するステップを備えることを特徴とする請求項１または２に記載の方法。
【請求項４】
ソフトウェア定義されるネットワーキングＳＤＮに適用されるデータ伝送方法であって、前記方法は、
アプリケーションサーバによって、コントローラにＴＣＰ伝送リソース割当て要求を送信する（Ｓ５０２）ステップであって、前記ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する、ステップと、
前記アプリケーションサーバによって、前記コントローラからＴＣＰ伝送リソース割当て応答メッセージを受信する（Ｓ５０４）ステップであって、前記ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅と、ＴＣＰ往復伝送遅延とを備え、前記第１の伝送パスは、前記送信デバイスによって前記受信デバイスにデータを伝送するのに使用される、ステップと、
前記アプリケーションサーバによって、前記第１の伝送パスの前記帯域幅、および前記ＴＣＰ往復伝送遅延に従って、前記送信デバイスと前記受信デバイスとの間で、ＴＣＰデータ伝送のための送信ウインドウの初期値を決定する（Ｓ５０６）ステップと
を備えることを特徴とするデータ伝送方法。
【請求項５】
前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスのパケットロス率をさらに搬送し、
前記方法は、前記アプリケーションサーバによって、前記パケットロス率に従って前記送信ウインドウの前記初期値を決定するステップをさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記アプリケーションサーバによって、前記第１の伝送パスの前記帯域幅、および前記ＴＣＰ往復伝送遅延に従って、前記受信デバイスの受信ウインドウの初期値を決定するステップをさらに備えることを特徴とする請求項４または５に記載の方法。
【請求項７】
前記アプリケーションサーバによって、前記第１の伝送パスの前記帯域幅、前記ＴＣＰ往復伝送遅延、および前記パケットロス率に従って、前記受信デバイスの受信ウインドウの初期値を決定するステップをさらに備えることを特徴とする請求項５に記載の方法。
【請求項８】
前記アプリケーションサーバによって、前記送信デバイスに送信ウインドウ設定メッセージを送信するステップをさらに備え、前記送信ウインドウ設定メッセージは、前記送信ウインドウの前記初期値を備えることを特徴とする請求項４乃至７のいずれか一項に記載の方法。
【請求項９】
前記アプリケーションサーバによって、前記受信デバイスに受信ウインドウ設定メッセージを送信するステップをさらに備え、前記受信ウインドウ設定メッセージは、前記受信ウインドウの前記初期値を備えることを特徴とする請求項６または７に記載の方法。
【請求項１０】
ソフトウェア定義されるネットワーキングＳＤＮに適用されるデータ伝送装置であって、前記装置は、
アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信するように構成された受信ユニットであって、前記ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する、受信ユニット（６０２）と、
前記ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定するように構成された決定ユニットであって、前記第１の伝送パスは、前記送信デバイスによって前記受信デバイスにデータを伝送するのに使用され、かつ前記第２の伝送パスは、前記受信デバイスによって前記送信デバイスにＴＣＰ肯定応答を伝送するのに使用される、決定ユニット（６０４）と、
前記アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信するように構成された送信ユニットであって、前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを備え、かつ前記第１の伝送パスの前記帯域幅情報、および前記ＴＣＰ往復伝送遅延は、前記送信デバイスと前記受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するのに使用される、送信ユニット（６０６）と
を備えることを特徴とするデータ伝送装置。
【請求項１１】
前記決定ユニットは、前記第１の伝送パスのパケットロス率を決定するようにさらに構成され、前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスの前記パケットロス率をさらに備えることを特徴とする請求項１０に記載の装置。
【請求項１２】
前記ＴＣＰ伝送リソース割当て要求は、前記データを伝送するために要求される帯域幅をさらに備え、かつ
前記決定ユニットが、スイッチングデバイスのネットワークトポロジに従って、かつ前記送信デバイスと前記受信デバイスの間のパスから、残っている帯域幅リソースが、前記データを伝送するための要件を満たすパスを前記第１の伝送パスとして選択するように構成されることを特徴とする請求項１０または１１に記載の装置。
【請求項１３】
ソフトウェア定義されたネットワーキングＳＤＮに適用されるデータ伝送装置であって、前記装置は、
コントローラにＴＣＰ伝送リソース割当て要求を送信するように構成された送信ユニット（７０２）であって、前記ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する、送信ユニットと、
前記コントローラからＴＣＰ伝送リソース割当て応答メッセージを受信するように構成された受信ユニット（７０４）であって、前記ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅と、ＴＣＰ往復伝送遅延とを備え、前記第１の伝送パスは、前記送信デバイスによって前記受信デバイスにデータを伝送するのに使用される、受信ユニットと、
前記第１の伝送パスの前記帯域幅、および前記ＴＣＰ往復伝送遅延に従って、前記送信デバイスと前記受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するように構成された決定ユニット（７０６）と
を備えることを特徴とするデータ伝送装置。
【請求項１４】
前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスのパケットロス率をさらに搬送し、かつ
前記決定ユニットは、前記パケットロス率に従って前記送信ウインドウの前記初期値を決定するようにさらに構成されることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記決定ユニットは、前記第１の伝送パスの前記帯域幅、および前記ＴＣＰ往復伝送遅延に従って、前記受信デバイスの受信ウインドウの初期値を決定するようにさらに構成されることを特徴とする請求項１３または１４に記載の装置。
【請求項１６】
前記決定ユニットは、前記第１の伝送パスの前記帯域幅、前記ＴＣＰ往復伝送遅延、および前記パケットロス率に従って、前記受信デバイスの受信ウインドウの初期値を決定するようにさらに構成されることを特徴とする請求項１４に記載の装置。
【請求項１７】
前記送信ユニットは、前記送信デバイスに送信ウインドウ設定メッセージを送信するようにさらに構成され、前記送信ウインドウ設定メッセージは、前記送信ウインドウの前記初期値を備えることを特徴とする請求項１３乃至１６のいずれか一項に記載の装置。
【請求項１８】
前記送信ユニットは、前記受信デバイスに受信ウインドウ設定メッセージを送信するようにさらに構成され、前記受信ウインドウ設定メッセージは、前記受信ウインドウの前記初期値を備えることを特徴とする請求項１５または１６に記載の装置。
【請求項１９】
ソフトウェア定義されたネットワーキングＳＤＮに適用され、かつアプリケーションサーバ（１１０）と、コントローラ（１０８）と、送信デバイスと、受信デバイスとを備えるデータ伝送システム（３００）であって、
前記アプリケーションサーバは、前記コントローラにＴＣＰ伝送リソース割当て要求を送信するように構成され、前記ＴＣＰ伝送リソース割当て要求は、前記送信デバイスのアドレスと、前記受信デバイスのアドレスとを搬送し、
前記コントローラは、前記ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定することであって、前記第１の伝送パスは、前記送信デバイスによって前記受信デバイスにデータを伝送するのに使用され、かつ前記第２の伝送パスは、前記受信デバイスによって前記送信デバイスにＴＣＰ肯定応答を伝送するのに使用されること、および前記アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信することであって、前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを備えているように構成され、
前記アプリケーションサーバは、前記第１の伝送パスの帯域幅、および前記ＴＣＰ往復伝送遅延に従って、前記送信デバイスと前記受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定すること、および前記送信デバイスに送信ウインドウ設定メッセージを送信することであって、前記送信ウインドウ設定メッセージは、前記送信ウインドウの前記初期値を備えることを行うようにさらに構成され、
前記送信デバイスは、前記送信ウインドウのサイズを、前記送信ウインドウ設定メッセージに従って前記送信ウインドウの前記初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成されることを特徴とするデータ伝送システム。
【請求項２０】
前記コントローラは、前記第１の伝送パスのパケットロス率を決定するようにさらに構成され、かつ
前記ＴＣＰ伝送リソース割当て応答メッセージは、前記第１の伝送パスの前記パケットロス率をさらに備え、
前記アプリケーションサーバは、前記パケットロス率に従って前記送信ウインドウの初期値を決定するようにさらに構成されていることを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信分野に関し、より詳細には、データ伝送方法、装置、およびシステムに関する。
【背景技術】
【０００２】
伝送制御プロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ、ＴＣＰ）は、接続指向の、信頼できるバイトストリームベースのトランスポート層通信プロトコルである。ＴＣＰ層は、インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）層の上、かつアプリケーション層の下に位置付けられた中間層であり、異なるホストのアプリケーション層の間で信頼できるパイプ様の接続を提供する。アプリケーション層は、ＴＣＰ層に、ネットワーク間伝送のためのデータストリームを送信する。ＴＣＰは、次に、データストリームを、適切な長さを有するパケットセグメントに分割する。その後、ＴＣＰは、パケットセグメントをＩＰ層に伝送し、パケットセグメントは、ネットワークを使用することによって受信終端エンティティのＴＣＰ層に伝送される。
【０００３】
ＴＣＰは、スライディングウインドウプロトコルである。すなわち、ＴＣＰに接続された送信終端によってある時点で送信されることができるデータの量は、スライディングウインドウ（送信ウインドウ）によって制御される。スライディングウインドウのサイズは、受信ウインドウ（ｒｅｃｅｉｖｅ  ｗｉｎｄｏｗ、Ｒｗｎｄ）と輻輳ウインドウ（ｃｏｎｇｅｓｔｉｏｎ  ｗｉｎｄｏｗ、Ｃｗｎｄ）によって共同で決定され得る。Ｒｗｎｄの値とＣｗｎｄの値の間でより小さい値が、スライディングウインドウのサイズとして使用される。Ｒｗｎｄは、受信終端におけるＴＣＰプロトコルバッファ内の残っているスペースを示す。送信終端は、送信終端によって送信されるデータが、残っているスペースを確実に超えないようにして、それによってバッファオーバフローを防止する必要がある。このウインドウは、受信終端によってフローを限定するのに使用される。Ｃｗｎｄは、送信終端によってフローを制御するのに使用されるウインドウである。
【０００４】
ＴＣＰは、様々なネットワークにおいてデータを伝送する。ＴＣＰは、ＴＣＰが実行されるネットワークのデータ伝送特性を知らないため、ＴＣＰは、ネットワークステータスの変化に適応するようにスライディングウインドウのサイズを増加させつづけ、または低減しつづけ、かつネットワークステータスを検出する必要がある。ネットワークフローを制御するのに、ＴＣＰは、４つの制御機構、すなわち、低速開始、輻輳回避、高速再送、および高速回復を使用する。
【０００５】
ＴＣＰ接続が確立された後、ネットワーク容量が知られていない場合、ＴＣＰ送信終端は第１に、１つのパケットを試験的に送信する。Ｃｗｎｄのサイズは、１パケットである。肯定応答（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ、ＡＣＫ）を受信した後、ＴＣＰ送信終端は、さらに２つのパケットを送信する。２つのパケットのＡＣＫが受信された後、Ｃｗｎｄは、４パケットに増加する。このようにして、１つのパケットのＡＣＫが受信されるたびに、Ｃｗｎｄの値が１パケットだけ増加する。
【０００６】
従来のネットワークにおいて、２つの通信ノードの間のルーティングパスおよびネットワークステータスは、絶えず変化するため、単一のノードがどのようにＴＣＰプロトコルにおいてネットワークステータスを検出するかに関するアルゴリズムは、絶えず進化する。ネットワークの柔軟性の欠如のため、帯域幅は、十分に利用されず、かつＴＣＰ伝送ノード間の競合のため、スループットはすべて、低いレベルにある。
【０００７】
いくつかの分散されたコンピューティングアプリケーションにおいて、データは、特定の期間内に２つのコンピューティングノードの間で効率的に伝送される必要がある。したがって、ＴＣＰベースの最適化は、ますます重要になる。ソフトウェア定義されたネットワーキング（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ、ＳＤＮ）が、アプリケーションベースの管理および制御能力を提供し、したがって、ＳＤＮベースのＴＣＰ最適化もますます重要になる。
【発明の概要】
【０００８】
これに鑑みて、本発明の実施形態は、データ伝送方法、装置、およびシステムを提供して、ＳＤＮネットワークにおけるＴＣＰデータ伝送を最適化するようにする。
【０００９】
第１の態様によれば、本発明が、ソフトウェア定義されたネットワーキングＳＤＮに適用されるデータ伝送方法を提供し、ＳＤＮネットワークにおけるコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、少なくとも１つのアプリケーションが、アプリケーションサーバ上で実行され、かつアプリケーションサーバが、現在、データが、伝送制御プロトコルＴＣＰを使用することによって、送信デバイスから受信デバイスに伝送される必要があると決定した場合、方法は、
コントローラによって、アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信することであって、ＴＣＰ伝送リソース割当て要求は、送信デバイス送信デバイスのアドレスと、受信デバイスのアドレスとを搬送すること、
コントローラによって、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定することであって、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用されること、および
コントローラによって、アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信することであって、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを含み、ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示し、かつ第１の伝送パスの帯域幅情報、およびＴＣＰ往復伝送遅延は、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するのに使用されることを含む。
【００１０】
第１の態様を参照して、第１の可能な実施態様において、コントローラによって、アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信することの前に、方法は、コントローラによって、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を獲得すること、ならびに第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定することをさらに含み、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【００１１】
第１の態様、または前述の可能な実施態様を参照して、第２の可能な実施態様において、コントローラによって、アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信することの前に、方法は、コントローラによって、第１の伝送パスのパケットロス率を決定することをさらに含み、かつ
この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに含む。
【００１２】
第１の態様または前述の可能な実施態様のいずれか１つを参照して、第３の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値と、受信デバイスのＭＴＵ値に関する最大値とを含み、
方法は、コントローラによって、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定することであって、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下であることをさらに含み、かつ
この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。
【００１３】
第１の態様または前述の可能な実施態様のいずれか１つを参照して、第４の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、データを伝送するために要求される帯域幅をさらに含み、かつ
コントローラによって、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定することは、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することを含む。
【００１４】
第１の態様または前述の可能な実施態様のいずれか１つを参照して、第５の可能な実施態様において、コントローラによって、送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することは、コントローラによって、残っている帯域幅リソースが、送信デバイスと受信デバイスの間でデータを伝送するための要件を満たすすべてのパスから、残っている帯域幅リソースが最も少ないパス、またはホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【００１５】
第２の態様によれば、本発明が、ソフトウェア定義されるネットワーキングＳＤＮに適用されるコントローラを提供し、コントローラは、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、かつコントローラは、プロセッサと、メモリと、バスと、通信インターフェースとを含み、
メモリは、コンピューティングデバイスによって実行可能な命令を記憶するように構成され、プロセッサとメモリは、バスを介して接続され、かつコンピューティングデバイスが動作する場合、プロセッサは、コンピューティングデバイスによって実行可能であり、かつメモリに記憶された命令を実行して、コンピューティングデバイスが、第１の態様、または第１の態様の可能な実施態様のうちのいずれか１つによる方法を実行することを可能にする。
【００１６】
第３の態様によれば、本発明が、ソフトウェア定義されるネットワーキングＳＤＮに適用されるデータ伝送方法を提供し、ＳＤＮネットワークにおけるコントローラは、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、少なくとも１つのアプリケーションが、アプリケーションサーバ上で実行され、かつアプリケーションサーバが、現在、データが、ＴＣＰプロトコルを使用することによって、送信デバイスから受信デバイスに伝送される必要があると決定した場合、方法は、
アプリケーションサーバによって、コントローラにＴＣＰ伝送リソース割当て要求を送信することであって、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送すること、
アプリケーションサーバによって、コントローラからＴＣＰ伝送リソース割当て応答メッセージを受信することであって、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅と、ＴＣＰ往復伝送遅延とを含み、ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示し、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用されること、
アプリケーションサーバによって、第１の伝送パスの帯域幅、およびＴＣＰ伝送遅延に従って、送信デバイスと受信デバイスとの間で、ＴＣＰデータ伝送のための送信ウインドウの初期値を決定することを含む。
【００１７】
第３の態様を参照して、第１の可能な実施態様において、送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【００１８】
第３の態様または前述の可能な実施態様を参照して、第２の可能な実施態様において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに搬送し、
方法は、アプリケーションサーバによって、パケットロス率に従って送信ウインドウの初期値を決定することであって、送信ウインドウの初期値は、パケットロス率と負の相関関係にあることをさらに含む。
【００１９】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第３の可能な実施態様において、方法は、アプリケーションサーバによって、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定することであって、受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあることをさらに含む。
【００２０】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第４の可能な実施態様において、方法は、アプリケーションサーバによって、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定することであって、受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にあることをさらに含む。
【００２１】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第５の可能な実施態様において、方法は、アプリケーションサーバによって、送信デバイスに送信ウインドウ設定メッセージを送信することであって、送信ウインドウ設定メッセージは、送信ウインドウの初期値を含むことをさらに含む。
【００２２】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第６の可能な実施態様において、方法は、アプリケーションサーバによって、受信デバイスに受信ウインドウ設定メッセージを送信することであって、受信ウインドウ設定メッセージは、受信ウインドウの初期値を含むことをさらに含む。
【００２３】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第７の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用され、
ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含み、かつ
方法は、アプリケーションサーバによって、送信デバイスおよび受信デバイスのＭＴＵ値が、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値であると決定することをさらに含む。
【００２４】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第８の可能な実施態様において、方法は、アプリケーションサーバによって、送信デバイスおよび受信デバイスにＭＴＵ設定メッセージを送信することであって、ＭＴＵ設定メッセージは、第１の伝送パスに関するＭＴＵ値を含むことをさらに含む。
【００２５】
第３の態様または可能な実施態様のいずれか１つを参照して、第９の可能な実施態様において、方法は、アプリケーションサーバによって、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定することであって、再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にあることをさらに含む。
【００２６】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第１０の可能な実施態様において、方法は、アプリケーションサーバによって、送信デバイスに再送タイムアウト間隔設定メッセージを送信することであって、再送タイムアウト間隔設定メッセージは、再送タイムアウト間隔を含むことをさらに含む。
【００２７】
第３の態様または可能な実施態様のいずれか１つを参照して、第１１の可能な実施態様において、方法は、アプリケーションサーバによって、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定することであって、肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にあることをさらに含む。
【００２８】
第３の態様または前述の可能な実施態様のいずれか１つを参照して、第１２の可能な実施態様において、方法は、アプリケーションサーバによって、受信デバイスに肯定応答待機時間設定メッセージを送信することであって、肯定応答待機時間設定メッセージは、肯定応答待機時間を含むことをさらに含む。
【００２９】
第４の態様によれば、本発明が、ソフトウェア定義されるネットワーキングＳＤＮに適用されるアプリケーションサーバを提供し、ＳＤＮのコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、かつアプリケーションサーバは、プロセッサと、メモリと、バスと、通信インターフェースとを含み、
メモリは、コンピューティングデバイスによって実行可能な命令を記憶するように構成され、プロセッサとメモリは、バスを介して接続され、かつコンピューティングデバイスが動作する場合、プロセッサは、コンピューティングデバイスによって実行可能であり、かつメモリに記憶された命令を実行して、コンピューティングデバイスが、第３の態様、または第３の態様の可能な実施態様のうちのいずれか１つによる方法を実行することを可能にする。
【００３０】
第５の態様によれば、本発明が、ソフトウェア定義されるネットワーキングＳＤＮに適用されるデータ伝送方法を提供し、ＳＤＮネットワークにおけるコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、少なくとも１つのアプリケーションが、アプリケーションサーバ上で実行され、かつアプリケーションサーバが、現在、データが、ＴＣＰプロトコルを使用することによって、送信デバイスから受信デバイスに伝送される必要があると決定した場合、方法は、
送信デバイスによって、送信ウインドウ設定メッセージを受信することであって、送信ウインドウ設定メッセージは、送信デバイスの送信ウインドウの初期値を含むこと、および
送信デバイスによって、送信ウインドウの初期値に従ってＴＣＰデータ伝送を実行することを含む。
【００３１】
第５の態様を参照して、第１の可能な実施態様において、送信デバイスは、最大伝送ユニットＭＴＵ設定メッセージを受信することであって、ＭＴＵ設定メッセージは、データ伝送中の送信デバイスのＭＴＵ値を含むこと、およびＭＴＵ設定メッセージのインジケーションに従って、送信デバイスのＭＴＵ値を設定することを行うようにさらに構成される。
【００３２】
第５の態様または前述の可能な実施態様を参照して、第２の可能な実施態様において、送信デバイスは、再送タイムアウト間隔設定メッセージを受信することであって、再送タイムアウト間隔設定メッセージは、ＴＣＰデータ伝送中に送信デバイスによって使用される再送タイムアウト間隔値を含むこと、および再送タイムアウト間隔設定メッセージのインジケーションに従って、送信デバイスの再送タイムアウト間隔値を設定することを行うようにさらに構成される。
【００３３】
第６の態様によれば、本発明が、ソフトウェア定義されるネットワーキングＳＤＮに適用されるコンピューティングデバイスを提供し、ＳＤＮのコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、アプリケーションサーバは、コンピューティングデバイスから受信デバイスに送信されるべきデータを制御するように構成され、かつコンピューティングデバイスは、プロセッサと、メモリと、バスと、通信インターフェースとを含み、
メモリは、コンピューティングデバイスによって実行可能な命令を記憶するように構成され、プロセッサとメモリは、バスを介して接続され、かつコンピューティングデバイスが動作する場合、プロセッサは、コンピューティングデバイスによって実行可能であり、かつメモリに記憶された命令を実行して、コンピューティングデバイスが、第５の態様または第５の態様の前述の可能な実施態様のいずれか１つの方法を実行することを可能にする。
【００３４】
第７の態様によれば、本発明の実施形態が、ソフトウェア定義されるネットワーキングＳＤＮに適用されるデータ伝送装置を提供し、ＳＤＮのコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、アプリケーションサーバは、装置から受信デバイスに送信されるべきデータを制御するように構成され、かつデータ伝送装置は、
送信ウインドウ設定メッセージを受信するように構成された受信ユニットであって、送信ウインドウ設定メッセージは、データ伝送デバイスの送信ウインドウの初期値を含む、受信ユニットと、
送信ウインドウの初期値に従ってＴＣＰデータ伝送を実行するように構成された送信ユニットとを含む。
【００３５】
第７の態様を参照して、第１の可能な実施態様において、受信ユニットは、最大伝送ユニットＭＴＵ設定メッセージを受信するようにさらに構成され、ＭＴＵ設定メッセージは、データ伝送中のデータ伝送デバイスのＭＴＵ値を含む。
【００３６】
第７の態様または前述の可能な実施態様を参照して、第２の可能な実施態様において、受信ユニットは、再送タイムアウト間隔設定メッセージを受信するようにさらに構成され、再送タイムアウト間隔設定メッセージは、ＴＣＰデータ伝送中にデータ伝送デバイスの再送タイムアウト間隔値を含む。
【００３７】
第８の態様によれば、本発明が、ソフトウェア定義されるネットワーキングＳＤＮに適用されるデータ伝送装置を提供し、装置は、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、アプリケーションサーバは、送信デバイスから受信デバイスに送信されるべきデータを制御するように構成され、かつ装置は、
アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信するように構成された受信ユニットであって、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する、受信ユニットと、
ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定するように構成された決定ユニットであって、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用される、決定ユニットと、
アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信するように構成された送信ユニットであって、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを含み、ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示し、かつ第１の伝送パスの帯域幅情報、およびＴＣＰ往復伝送遅延は、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するのに使用される、送信ユニットとを含む。
【００３８】
第８の態様を参照して、第１の可能な実施態様において、決定ユニットは、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を獲得すること、ならびに第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定することを行うようにさらに構成され、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【００３９】
第８の態様または前述の可能な実施態様を参照して、第２の可能な実施態様において、決定ユニットは、第１の伝送パスのパケットロス率を決定するようにさらに構成され、かつ
この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに含む。
【００４０】
第８の態様または前述の可能な実施態様のいずれか１つを参照して、第３の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値と、受信デバイスのＭＴＵ値に関する最大値とを含み、
決定ユニットは、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定するようにさらに構成され、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下であり、かつ
この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。
【００４１】
第８の態様または前述の可能な実施態様のいずれか１つを参照して、第４の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、データを伝送するために要求される帯域幅をさらに含み、かつ
決定ユニットが、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定するように構成されることは、決定ユニットによって、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することを含む。
【００４２】
第８の態様または前述の可能な実施態様のいずれか１つを参照して、第５の可能な実施態様において、送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することは、決定ユニットによって、残っている帯域幅リソースが、送信デバイスと受信デバイスの間でデータを伝送するための要件を満たすすべてのパスから、残っている帯域幅リソースが最も少ないパス、またはホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【００４３】
第９の態様によれば、本発明が、ソフトウェア定義されたネットワーキングＳＤＮに適用されるデータ伝送装置を提供し、ＳＤＮネットワークにおけるコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介して装置に接続され、少なくとも１つのアプリケーションが、装置上で実行され、装置は、送信デバイスから受信デバイスに送信されるべきデータを制御するように構成され、かつ装置は、
コントローラにＴＣＰ伝送リソース割当て要求を送信するように構成された送信ユニットであって、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する、送信ユニットと、
コントローラからＴＣＰ伝送リソース割当て応答メッセージを受信するように構成された受信ユニットであって、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅と、ＴＣＰ往復伝送遅延とを含み、ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示し、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用される、受信ユニットと、
第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するように構成された決定ユニットであって、送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある、決定ユニットとを含む。
【００４４】
第９の態様を参照して、第１の可能な実施態様において、送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【００４５】
第９の態様または前述の可能な実施態様を参照して、第２の可能な実施態様において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに搬送し、かつ
決定ユニットは、パケットロス率に従って送信ウインドウの初期値を決定するようにさらに構成され、送信ウインドウの初期値は、パケットロス率と負の相関関係にある。
【００４６】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第３の実施態様において、決定ユニットは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成され、受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【００４７】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第４の可能な実施態様において、決定ユニットは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成され、受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【００４８】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第５の可能な実施態様において、送信ユニットは、送信デバイスに送信ウインドウ設定メッセージを送信するようにさらに構成され、送信ウインドウ設定メッセージは、送信ウインドウの初期値を含む。
【００４９】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第６の可能な実施態様において、送信ユニットは、受信デバイスに受信ウインドウ設定メッセージを送信するようにさらに構成され、受信ウインドウ設定メッセージは、受信ウインドウの初期値を含む。
【００５０】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第７の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用され、
ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含み、かつ
決定ユニットは、送信デバイスおよび受信デバイスのＭＴＵ値が、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値であると決定するようにさらに構成される。
【００５１】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第８の可能な実施態様において、送信ユニットは、送信デバイスおよび受信デバイスにＭＴＵ設定メッセージを送信するようにさらに構成され、ＭＴＵ設定メッセージは、第１の伝送パスに関するＭＴＵ値を含む。
【００５２】
第９の態様または可能な実施態様のいずれか１つを参照して、第９の可能な実施態様において、決定ユニットは、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定するようにさらに構成され、再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にある。
【００５３】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第１０の可能な実施態様において、送信ユニットは、送信デバイスに再送タイムアウト間隔設定メッセージを送信するようにさらに構成され、再送タイムアウト間隔設定メッセージは、再送タイムアウト間隔を含む。
【００５４】
第９の態様または可能な実施態様のいずれか１つを参照して、第１１の可能な実施態様において、決定ユニットは、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定するようにさらに構成され、肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にある。
【００５５】
第９の態様または前述の可能な実施態様のいずれか１つを参照して、第１２の可能な実施態様において、送信ユニットは、受信デバイスに肯定応答待機時間設定メッセージを送信するようにさらに構成され、肯定応答待機時間設定メッセージは、肯定応答待機時間を含む。
【００５６】
第１０の態様によれば、本発明が、ソフトウェア定義されたネットワーキングＳＤＮに適用され、かつアプリケーションサーバと、コントローラと、送信デバイスと、受信デバイスと、スイッチングデバイスとを含むデータ伝送システムを提供し、ＳＤＮネットワークにおけるコントローラは、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続され、少なくとも１つのアプリケーションが、アプリケーションサーバ上で実行され、アプリケーションサーバは、送信デバイスから受信デバイスに送信されるべきデータを制御するように構成され、
アプリケーションサーバは、コントローラにＴＣＰ伝送リソース割当て要求を送信するように構成され、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送し、
コントローラは、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定することであって、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用されること、およびアプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信することであって、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを含み、かつＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示すことを行うように構成され、
アプリケーションサーバは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定すること、および送信デバイスに送信ウインドウ設定メッセージを送信することであって、送信ウインドウ設定メッセージは、送信ウインドウの初期値を含むことを行うようにさらに構成され、
送信デバイスは、送信ウインドウのサイズを、送信ウインドウ設定メッセージに従って送信ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【００５７】
第１０の態様を参照して、第１の可能な実施態様において、送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【００５８】
第１０の態様または前述の可能な実施態様を参照して、第２の可能な実施態様において、コントローラは、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を獲得すること、ならびに第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定することを行うようにさらに構成され、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【００５９】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第３の可能な実施態様において、コントローラは、第１の伝送パスのパケットロス率を決定するようにさらに構成され、かつ
この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに含む。
【００６０】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第４の可能な実施態様において、アプリケーションサーバは、パケットロス率に従って送信ウインドウの初期値を決定するようにさらに構成され、送信ウインドウの初期値は、パケットロス率と負の相関関係にある。
【００６１】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第５の可能な実施態様において、アプリケーションサーバは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成され、受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【００６２】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第６の可能な実施態様において、アプリケーションサーバは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成され、受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【００６３】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第７の可能な実施態様において、アプリケーションサーバは、受信デバイスに受信ウインドウ設定メッセージを送信するようにさらに構成され、受信ウインドウ設定メッセージは、受信ウインドウの初期値を含み、
受信デバイスは、受信ウインドウのサイズを、受信ウインドウ設定メッセージのインジケーションに従って受信ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【００６４】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第８の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用され、
コントローラは、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定するようにさらに構成され、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下であり、かつ
ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。
【００６５】
第１０の態様または前述の実施態様のいずれか１つを参照して、第９の可能な実施態様において、アプリケーションサーバは、送信デバイスおよび受信デバイスのＭＴＵ値が、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値であると決定すること、および送信デバイスおよび受信デバイスにＭＴＵ設定メッセージを送信することであって、ＭＴＵ設定メッセージは、第１の伝送パスに関するＭＴＵ値を含むことを行うようにさらに構成される。
【００６６】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第１０の可能な実施態様において、アプリケーションサーバは、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定することであって、再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にあること、および送信デバイスに再送タイムアウト間隔設定メッセージを送信することであって、再送タイムアウト間隔設定メッセージは、再送タイムアウト間隔を含むことを行うようにさらに構成される。
【００６７】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第１１の可能な実施態様において、アプリケーションサーバは、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定することであって、肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にあること、および受信デバイスに肯定応答待機時間設定メッセージを送信することであって、肯定応答待機時間設定メッセージは、肯定応答待機時間を含むことを行うようにさらに構成される。
【００６８】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第１２の可能な実施態様において、ＴＣＰ伝送リソース割当て要求は、データを伝送するために要求される帯域幅をさらに含み、かつ
コントローラによって、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定することは、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することを含む。
【００６９】
第１０の態様または前述の可能な実施態様のいずれか１つを参照して、第１３の可能な実施態様において、コントローラによって、送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することは、コントローラによって、残っている帯域幅リソースが、送信デバイスと受信デバイスの間でデータを伝送するための要件を満たすすべてのパスから、残っている帯域幅リソースが最も少ないパス、またはホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【００７０】
本発明において提供される技術的解決手法によれば、ＴＣＰの低速開始プロセスが、ＴＣＰデータ伝送のための送信ウインドウの初期サイズを設定することによって回避されることができる。さらに、送信ウインドウの初期値は、データ伝送パスの帯域幅およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復されるネットワーク検出によってもたらされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。
【図面の簡単な説明】
【００７１】
本発明の実施形態における技術的解決手法をより明確に説明するのに、以下が、実施形態を説明するために要求される添付の図面を簡単に概説する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すに過ぎず、当業者は、それでも、独創的な取組みなしにこれらの添付の図面から他の図面を導き出し得る。
【図１】ＳＤＮデータセンタのネットワーキング環境の例を示すブロック図である。
【図２】本発明に適用可能なコンピューティングデバイスを示す概略図である。
【図３】本発明の実施形態によるデータ伝送システムを示す概略構造図である。
【図４】本発明の実施形態によるデータ伝送方法の例を示す流れ図である。
【図５】本発明の実施形態によるデータ伝送方法の例を示す流れ図である。
【図６】本発明の実施形態によるデータ伝送装置を示す概略構造図である。
【図７】本発明の実施形態によるデータ伝送装置を示す概略構造図である。
【図８】本発明の実施形態によるデータ伝送方法の例を示す流れ図である。
【図９】本発明の実施形態によるデータ伝送装置を示す概略構造図である。
【図１０】本発明の実施形態によるデータ伝送装置を示す概略構造図である。
【発明を実施するための形態】
【００７２】
以下は、本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的解決手法を明確に、かつ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のいくつかであるが、すべてではない。独創的な取組みなしに本発明の実施形態に基づいて当業者によって獲得される他のすべての実施形態は、本発明の保護範囲に入るものとする。
【００７３】
図１は、従来技術におけるＳＤＮデータセンタのネットワーキング環境１００を示す。ネットワーク１０２が、アプリケーションサーバ１１０、コントローラ１０８、スイッチングデバイス１０６、およびコンピューティングデバイス１０４に接続される。アプリケーションプログラム（ａｐｐｌｉｃａｔｉｏｎ、アプリケーション）が、アプリケーションサーバ１１０上で実行される。アプリケーションサーバ１１０は、ＳＤＮネットワークのアプリケーション層に位置付けられ、かつ異なるネットワークサービスおよびアプリケーションを含む。コントローラ１０８は、ＳＤＮネットワークの制御層に位置付けられ、かつＳＤＮネットワークの論理制御センタである。コントローラ１０８は、サウスバウンドインターフェースを介してスイッチングデバイス１０６に接続され、ネットワーク命令を提供すること、ネットワークトポロジを維持すること、スイッチングデバイス１０６によってデータ転送を制御すること、または類似したことを行う。コントローラ１０８は、ノースバウンドインターフェースを介してアプリケーションサーバ１１０にさらに接続される。スイッチングデバイス１０６は、ＳＤＮネットワークのデータ転送層に位置付けられ、かつデータ処理、転送、ステータス収集、または類似したことを担う。コンピューティングデバイス１０４は、データセンタネットワークにおける実行されるホストであり、かつデータは、ＴＣＰプロトコルを使用することによってコンピューティングデバイス１０４間で伝送され得る。
【００７４】
ネットワーク１０２は、インターネット、イントラネット、ローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、略して、ＬＡＮ）、ワイドエリアネットワーク（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、略して、ＷＬＡＮ）、ストレージエリアネットワーク（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、略して、ＳＡＮ）、もしくは類似したもの、または前述のネットワークの組合せであり得る。
【００７５】
図１の目的は、データセンタにおけるＴＣＰデータ伝送の参加者、および参加者の間の関係を概説することである。したがって、説明されるＳＤＮデータセンタ環境１００は、大幅に簡略化される。ＳＤＮデータセンタネットワークのいくつかの態様は、当技術分野において一般的な知識であるため、認証スキームおよびセキュリティなどのこれらの態様は、本明細書において詳細に説明されない。
【００７６】
図１におけるアプリケーションサーバ１１０、コントローラ１０８、送信デバイス１０４、または受信デバイス１０４は、任意の構造を有し得る。図２は、図１におけるアプリケーションサーバ１１０、コントローラ１０８、送信デバイス１０４、または受信デバイス１０４に適用可能であるコンピューティングデバイス２００のシステムの例を一般的に示すブロック図である。図２における実施デバイスシステムは、例に過ぎず、本発明のこの実施形態のアプリケーションまたは機能の範囲にいかなる限定も課すようには意図されず、アプリケーションサーバ１１０、コントローラ１０８、送信デバイス１０４、または受信デバイス１０４は、図２に示される構成要素のいずれか１つまたは組合せと関係付けられたいかなる依存性または要件も有するものと説明されるべきではない。
【００７７】
コンピューティングデバイス２００は、１つのストレージモジュール２０２と、１つのストレージコントローラ２１６と、１つまたは複数のプロセッサ（ＣＰＵ）２１８と、１つの周辺インターフェース２２０と、１つの周辺ポート２１４とを含む。これらの構成要素は、１つもしくは複数の通信バスまたは信号ケーブル２１２を介して互いに通信する。コンピューティングデバイス２００は、ポータブルコンピュータ、パーソナルデスクトップコンピュータ、タブレットコンピュータ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、マイクロコンピュータ、メインフレームコンピュータ、ならびに前述のシステムもしくはデバイスのいずれか１つを含む分散されたコンピューティング環境を含むが、以上には限定されない任意の電子通信デバイスであり得る。図２におけるコンピューティングデバイス２００は、コンピューティングデバイス２００の例に過ぎない。コンピューティングデバイス２００は、図２に示されるものよりも多い、または少ない構成要素を含んでよく、または異なる構成要素構成態様を有してよい。図２に示される構成要素は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せによって実施され得る。
【００７８】
ストレージモジュール２０２は、高速ランダムアクセスメモリ（ＲＡＭ）を含むことがあり、または１つもしくは複数の磁気ディスクストレージ、フラッシュメモリなどの不揮発性メモリ、または別の不揮発性メモリを含むことがある。いくつかの実施形態において、ストレージモジュールは、１つまたは複数のプロセッサ２１８とは別個である遠隔メモリをさらに含むことがあり、遠隔メモリは、例えば、ＲＦ回路２２２、周辺ポート２１４、および通信ネットワーク（図２に示されない）によってアクセスされるウェブディスクである。通信ネットワークは、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＬＡＮ）、ストレージエリアネットワーク（ＳＡＮ）、もしくは前述のネットワークの組合せ、または類似したものであり得る。ストレージモジュール２０２に対するコンピューティングデバイス２００の別の構成要素のアクセス、例えば、ストレージモジュール２０２に対するＣＰＵ２１８および周辺インターフェース２２０のアクセスは、ストレージコントローラ２１６を使用することによって制御され得る。
【００７９】
周辺インターフェース２２０は、コンピューティングデバイス２００の周辺入力および出力を、デバイスのＣＰＵ２１８およびストレージモジュール２０２に結合する。１つまたは複数のプロセッサ２１８は、様々なソフトウェアを実行すること、および／またはストレージモジュール２０２に記憶された様々な命令を実行することによってデータを処理し、かつデバイス２００の様々な機能を実現する。
【００８０】
いくつかの実施形態において、周辺インターフェース２２０、１つまたは複数のプロセッサ２１８、およびストレージコントローラ２１６は、１つのチップ、例えば、チップに統合されてよい。他のいくつかの実施形態において、周辺インターフェース２２０、１つまたは複数のプロセッサ２１８、およびストレージコントローラ２１６は、異なるチップを使用することによって実施されてよい。
【００８１】
ＲＦ回路２２２は、電磁波を受信し、かつ送信する。ＲＦ回路２２２は、電気／磁気信号変換を実行し、かつ電磁波を使用することによって通信ネットワークまたは別の通信デバイスと通信する。ＲＦ回路２２２は、前述の機能を実行する、当業者によく知られている回路システムを含み得る。例えば、回路システムは、アンテナシステムと、ＲＦトランシーバと、１つまたは複数の増幅器と、１つのチューナと、１つまたは複数の発振器と、１つのデジタルシグナルプロセッサと、１つの符号化および復号チップセットと、１つの加入者識別モジュールカード（ＳＩＭカード）と、メモリとを含むが、以上には限定されない。ＲＦ回路２２２は、インターネット、イントラネット、および／もしくはワイヤレスネットワーク、例えば、モバイル電話ネットワーク、ワイヤレスローカルエリアネットワーク、および／もしくはメトロポリタンエリアネットワーク（ＭＡＮ）などの通信ネットワークと通信すること、または前述のネットワークに接続された別のデバイスと通信することがある。通信は、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））、Ｅｎｈａｎｃｅｄ  Ｄａｔａｒａｔｅｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ（ＥＤＧＥ）、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）技術、符号分割多元接続（ＣＤＭＡ）技術、時分割多元接続（ＴＤＭＡ）技術、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ（Ｗｉ−Ｆｉ）技術（例えば、ＩＥＥＥ８０２．２１ａ、ＩＥＥＥ８０２．２１ｂ、ＩＥＥＥ８０２．２１ｇ、および／もしくはＩＥＥＥ８０２．２１ｎ）、Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＶｏＩＰ）、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス（Ｗｉ−ＭＡＸ）、Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、インスタントメッセージング（ＩＭ）、および／もしくはショートメッセージサービス（ＳＭＳ）、または本出願の日付でまだ開発されていない他の適切な通信プロトコルを含む他の通信プロトコルを含むが、以上には限定されない様々な通信標準、通信プロトコル、および通信技術を使用し得る。
【００８２】
いくつかの実施形態において、コンピューティングデバイス２００は、オーディオ回路と、オーディオ出力デバイスと、オーディオ入力デバイス（図示されない）とをさらに含み、コンピューティングデバイス２００とユーザの間でオーディオインターフェースを提供する。オーディオ回路は、周辺インターフェース２２０からオーディオデータを受信し、オーディオデータを電気信号に変換し、かつ電気信号をオーディオ出力デバイスに、例えば、スピーカに送信する。オーディオ出力デバイスは、電気信号を、ユーザによって聴き取られることができる音波に変換する。オーディオ回路は、オーディオ入力デバイスによって音波から変換された電気信号を受信するようにさらに構成され、電気信号をオーディオデータに変換し、かつオーディオデータを、処理のために周辺インターフェース２２０に送信する。オーディオデータは、周辺インターフェース２２０によってストレージモジュール２０２および／もしくはＲＦ回路２２２に伝送されてよく、またはストレージモジュール２０２および／もしくはＲＦ回路２２２によって獲得されてよい。いくつかの実施形態において、オーディオ回路は、イヤホンジャック（図２に示されず）をさらに含み得る。イヤホンジャックは、オーディオ回路と周辺可動オーディオ入力／出力デバイスの間のインターフェースを提供する。可動オーディオ入力／出力デバイスは、出力機能だけを有するイヤホンであってよく、または入力（マイクロフォン）機能と出力機能の両方を含むデバイスであってよい。
【００８３】
いくつかの実施形態において、コンピューティングデバイス２００は、Ｉ／Ｏサブシステム（図示されない）をさらに含み、入力／出力周辺装置とコンピューティングデバイス２００の周辺インターフェース２２０の間のインターフェースを提供する。例えば、入力／出力周辺装置は、ディスプレイと、別の入力／制御デバイスとを含むが、以上には限定されない。Ｉ／Ｏサブシステムは、ディスプレイコントローラと、別の出力デバイスもしくは制御デバイスのための１つまたは複数の入力コントローラとを含む。１つまたは複数の入力コントローラは、別の入力デバイスまたは制御デバイスから／に電気信号を受信する／送信する。別の入力／制御デバイスは、物理ボタン（例えば、押しボタン、もしくはジョイスティックボタン）、キーボード、ジョイスティック、および類似したものを含み得る。
【００８４】
いくつかの実施形態において、ストレージモジュール２０２は、オペレーティングシステム２０４と、通信モジュール（もしくは命令セット）２０６と、グラフィックスモジュール（もしくは命令セット）２０８と、１つまたは複数のアプリケーションソフトウェア（もしくは命令セット）２０８とを含む。
【００８５】
オペレーティングシステム２０４（例えば、Ｄａｒｗｉｎ、ＲＴＸＣ、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ、ＯＳ  Ｘ、Ｗｉｎｄｏｗｓ、またはＶｘＷｏｒｋｓなどの埋め込まれたオペレーティングシステム）は、一般的なシステムタスク（例えば、メモリ管理、ストレージデバイスに対する制御、および電力管理）を制御するため、および管理するために使用され、かつ様々なハードウェア構成要素とソフトウェア構成要素の間の通信を円滑にする様々なソフトウェア構成要素および／またはドライバを含む。
【００８６】
通信モジュール２０６は、１つまたは複数の周辺ポート２１４を介して別のデバイスと通信するように構成され、かつＲＦ回路２２２および／または周辺ポート２１４によって受信されたデータを処理するために使用される様々なソフトウェア構成要素をさらに含む。周辺ポート２１４（例えば、ユニバーサルシリアルバス（ＵＳＢ）もしくはＦｉｒｅＷｉｒｅ）は、ネットワーク（例えば、インターネットもしくはワイヤレスＬＡＮ）を使用することによって間接的に別のデバイスに結合されること、または直接に結合されることに適する。
【００８７】
１つまたは複数のアプリケーションソフトウェア２０８は、デバイス２００にインストールされた任意のアプリケーションを含み得る。アプリケーションは、ブラウザ、アドレス帳、連絡先リスト、電子メール、インスタントメッセージング、テキスト処理、キーボードエミュレーション、ウィジェット（ｗｉｄｇｅｔ）、Ｊａｖａアプリケーション、暗号化、音声認識、音声複製、測位（例えば、全地球測位システム（ＧＰＳ））、および音楽プレーヤを含むが、以上には限定されない。
【００８８】
図３は、本発明の実施形態によるデータ伝送システム３００の概略構造図である。図３に示されるとおり、データ伝送システムは、アプリケーションサーバと、コントローラと、送信デバイスと、受信デバイスと、スイッチングデバイスとを含み得る。システムの接続は、ネットワーク１０２を使用することによって実行される。コントローラは、ＳＤＮネットワークの論理制御センタである。コントローラは、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、スイッチングデバイスにネットワーク命令を提供し、かつスイッチングデバイス間のネットワークトポロジを管理する。コントローラは、ノースバウンドインターフェースを介してアプリケーションサーバに接続される。アプリケーションサーバは、送信デバイスから受信デバイスへのデータの伝送を制御し得る。
【００８９】
コンピューティング論理またはアプリケーションプログラムが、送信デバイス上、および受信デバイス上で実行される。コンピューティング論理またはアプリケーションプログラムは、アプリケーションサーバ上で実行されるアプリケーションによって管理される。データの大きいバルクが、送信デバイスのコンピューティング論理またはアプリケーションプログラムによって処理された後、データの新たなバルクが形成され、かつデータは、アプリケーションによるスケジューリングおよび調整を用いて、処理のために受信デバイスに送信される必要がある。
【００９０】
送信デバイスおよび受信デバイスの物理ポートが、コントローラによって管理されるＳＤＮネットワークに接続され、かつ送信デバイスと受信デバイスは、ネットワークを使用することによって互いに接続される。図３に示されるとおり、送信デバイスは、スイッチングデバイスのポート１１に接続され、かつ受信デバイスは、スイッチングデバイスのポート３３に接続される。
【００９１】
コントローラは、ノースバウンドインターフェースを提供し、かつネットワークパスのサービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ、ＱｏＳ）をカスタマイズする機能を提供する。アプリケーションサーバ上で実行されるアプリケーションは、管理ネットワークを使用することによってコントローラのノースバウンドインターフェースにアクセスし得る。
【００９２】
本発明のこの実施形態において、アプリケーションサーバは、コントローラにＴＣＰ伝送リソース割当て要求を送信するように構成される。ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する。
【００９３】
コントローラは、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定することであって、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用されること、およびアプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信することを行うように構成される。ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを含む。ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示す。
【００９４】
アプリケーションサーバは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定することであって、送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあること、および送信デバイスに送信ウインドウ設定メッセージを送信することであって、送信ウインドウ設定メッセージは、送信ウインドウの初期値を含むことを行うようにさらに構成される。
【００９５】
送信デバイスは、送信ウインドウのサイズを、送信ウインドウ設定メッセージに従って送信ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【００９６】
送信ウインドウの初期値は、送信デバイスがＴＣＰデータ伝送を実行する場合に第１のＲＴＴ時間内に送信されることが許されるデータの量を参照する。
【００９７】
コントローラは、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を獲得すること、ならびに第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定することを行うようにさらに構成される。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【００９８】
任意選択で、コントローラは、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を、第１の伝送パスおよび第２の伝送パスの運用管理保守（Ｏｐｅｒａｔｉｏｎ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ、ＯＡＭ）特性に従って検出し、かつ第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延および第２の伝送パスの伝送遅延と別々に正の相関関係にある。
【００９９】
任意選択で、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計である。
【０１００】
任意選択で、コントローラは、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０１０１】
任意選択で、コントローラは、送信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と送信デバイスのＴＣＰ層処理遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０１０２】
任意選択で、アプリケーションサーバは第１に、ＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間の往復時間ＲＴＴを決定する。ＲＴＴは、ＴＣＰ往復伝送遅延と正の相関関係にある。
【０１０３】
任意選択で、ＴＣＰ往復伝送遅延は往復時間ＲＴＴであると決定される。
【０１０４】
任意選択で、アプリケーションサーバは、送信デバイスおよび受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。往復時間ＲＴＴは、ＴＣＰ往復伝送遅延と送信デバイスおよび受信デバイスのＴＣＰ層処理遅延との合計である。
【０１０５】
任意選択で、アプリケーションサーバは、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。往復時間ＲＴＴは、ＴＣＰ往復伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０１０６】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ
【０１０７】
任意選択で、コントローラは、第１の伝送パスのパケットロス率を決定するようにさらに構成される。この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに含む。アプリケーションサーバは、パケットロス率に従って送信ウインドウの初期値を決定するようにさらに構成される。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０１０８】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０１０９】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成される。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０１１０】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０１１１】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成される。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０１１２】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０１１３】
アプリケーションサーバは、受信デバイスに受信ウインドウ設定メッセージを送信するようにさらに構成され、受信ウインドウ設定メッセージは、受信ウインドウの初期値を含む。受信デバイスは、受信ウインドウのサイズを、受信ウインドウ設定メッセージのインジケーションに従って受信ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【０１１４】
任意選択で、後続のＴＣＰデータ伝送中、送信デバイスは、送信ウインドウがＲｗｎｄと等しいことに従って、ＴＣＰデータ伝送に関する送信ウインドウのサイズを決定してよい。
【０１１５】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０１１６】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０１１７】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０１１８】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０１１９】
任意選択で、アプリケーションサーバは、送信デバイスに輻輳ウインドウ設定メッセージを送信するようにさらに構成され、輻輳ウインドウ設定メッセージは、輻輳ウインドウの初期値を含む。送信デバイスは、輻輳ウインドウのサイズを、輻輳ウインドウ設定メッセージのインジケーションに従って輻輳ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【０１２０】
任意選択で、送信デバイスがＴＣＰデータ伝送を実行する場合、送信ウインドウの値は、輻輳ウインドウと受信ウインドウの値の間でより小さい値である。
【０１２１】
任意選択で、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用される。コントローラは、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定するようにさらに構成される。第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下である。ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。アプリケーションサーバは、送信デバイスおよび受信デバイスのＭＴＵ値が、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値であると決定すること、および送信デバイスおよび受信デバイスにＭＴＵ設定メッセージを送信することを行うようにさらに構成される。ＭＴＵ設定メッセージは、第１の伝送パスに関するＭＴＵ値を含む。
【０１２２】
任意選択で、コントローラは、ＭＴＵ値情報によって示される値範囲内で、第１の伝送パスのＯＡＭ特性に従って第１の伝送パスに関する最適のＭＴＵ値を決定する。
【０１２３】
送信デバイスおよび受信デバイスは、デバイスのＭＴＵ値を最適のＭＴＵ値に設定して、データが、最適の長さに従ってセグメント化されることが確実にされることができ、かつより効果的なＴＣＰデータ伝送が実施されるようにする。
【０１２４】
コントローラは、第１の伝送パス上のスイッチングデバイスにＭＴＵ設定メッセージを送信するようにさらに構成される。ＭＴＵ設定メッセージは、ＭＴＵ値を、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値に設定するよう第１の伝送パス上のスイッチングデバイスに命令するのに使用される。
【０１２５】
任意選択で、アプリケーションサーバは、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定することであって、再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にあること、および送信デバイスに再送タイムアウト間隔設定メッセージを送信することであって、再送タイムアウト間隔設定メッセージは、再送タイムアウト間隔を含むことを行うようにさらに構成される。
【０１２６】
任意選択で、アプリケーションサーバは、再送タイムアウト間隔を往復時間ＲＴＴに設定する。
【０１２７】
再送タイムアウト間隔は、データパケットを送信した後、送信デバイスが、戻されるべきデータパケットの肯定応答を待つ最大待機時間を参照する。
【０１２８】
任意選択で、アプリケーションサーバは、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定することであって、肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にあること、および受信デバイスに肯定応答待機時間設定メッセージを送信することであって、肯定応答待機時間設定メッセージは、肯定応答待機時間を含むことを行うようにさらに構成される。
【０１２９】
任意選択で、アプリケーションサーバは、肯定応答待機時間を往復時間ＲＴＴに設定する。
【０１３０】
肯定応答待機時間は、データパケットを受信した後、受信デバイスが肯定応答の送信を延期する最大待機時間である。
【０１３１】
任意選択で、アプリケーションサーバは、伝送されるべきデータの量、スケジュール、ならびに送信デバイスおよび受信デバイスにおけるネットワークインターフェースカードの特性に従って予期されるネットワーク帯域幅を推定し、かつＴＣＰ伝送リソース割当て要求にＴＣＰデータ伝送に関する要求されるパス帯域幅を足す。
【０１３２】
任意選択で、コントローラによって、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定することは、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することを含む。
【０１３３】
任意選択で、コントローラによって、送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することは、コントローラによって、残っている帯域幅リソースが、送信デバイスと受信デバイスの間でデータを伝送するための要件を満たすすべてのパスから、残っている帯域幅リソースが最も少ないパス、またはホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【０１３４】
コントローラは、スイッチングデバイスのネットワークトポロジに従って、送信デバイスと受信デバイスの間で利用可能なパスのセットを選択する。図３に示されるとおり、２つのパスが利用可能であり、かつスイッチングデバイスのポートを使用することによってパス１（Ｐ１１、Ｐ１２、Ｐ３１、Ｐ３３）およびパス２（Ｐ１１、Ｐ１３、Ｐ２１、Ｐ２２、Ｐ３２、Ｐ３３）として示され得る。パス１およびパス２上のスイッチングデバイスのポートの残っている帯域幅が決定される。割り当てられた帯域幅が、ポートの物理帯域幅から引かれて、ポートの残っている帯域幅を獲得する。パス上のポートの残っている帯域幅の最小の値が、パスの残っている帯域幅として使用される。
【０１３５】
任意選択で、利用可能なパスのセットの残っているすべての帯域幅が、アプリケーションサーバによって要求される帯域幅未満である場合、帯域幅が最大であるパスが第１の伝送パスとして選択される。
【０１３６】
コントローラは、第１の伝送パス上のスイッチングデバイスに帯域幅制御メッセージを送信する。帯域幅制御メッセージは、スイッチングデバイスによって第１の伝送パス上でデータを伝送するのに使用される帯域幅を示すのに使用される。
【０１３７】
任意選択で、コントローラは、第１の伝送パス上のスイッチングデバイス、および第２の伝送パス上のスイッチングデバイスにフローエントリを別々に送信して、ＴＣＰデータ伝送を実行するよう第１の伝送パス上のスイッチングデバイスに命令し、かつＴＣＰ肯定応答を伝送するよう第２の伝送パス上のスイッチングデバイスに命令するようにさらに構成される。
【０１３８】
任意選択で、コントローラは、アプリケーションサーバにネットワークリソース識別子をさらに送信する。ＴＣＰデータ伝送を完了した後、アプリケーションサーバは、コントローラにＴＣＰ伝送リソース解放要求をさらに送信する。ＴＣＰ伝送リソース解放要求は、ネットワークリソース識別子を搬送する。コントローラは、ネットワークリソース識別子に従って、ＴＣＰデータ伝送を実行するためのパスリソースを解放する。
【０１３９】
この実施形態において提供される技術的解決手法によれば、ＴＣＰデータ伝送のためのリソースおよびパラメータが、適切に構成されることができる。ＴＣＰデータ伝送が要求される場合、アプリケーションサーバが、コントローラによって提供されるノースバウンドインターフェースを介してコントローラにＴＣＰ伝送リソース割当て要求を送信する。コントローラは、ＴＣＰ伝送リソース割当て要求に従ってＴＣＰデータ伝送のためのパスを構成し、かつパスの帯域幅、ＴＣＰ往復伝送遅延、パスのパケットロス率、およびパスの最適のＭＴＵ値などのパス情報を決定する。パス情報がアプリケーションサーバに戻された後、アプリケーションサーバは、ＴＣＰデータ伝送のためのパラメータを適切に構成することができる。これらのパラメータに従って、アプリケーションサーバは、ＴＣＰデータ伝送に関する送信ウインドウの初期サイズを設定することによってＴＣＰの低速開始プロセスを回避することができる。さらに、送信ウインドウの初期値が、データ伝送パスの帯域幅、およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復したネットワーク検出によって引き起こされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。コントローラによって戻されるＭＴＵ値が、データが、最適の長さに従ってセグメント化され、ネットワークデバイス上で伝送されることができることを確実にするのに使用され、かつより効果的なＴＣＰデータ伝送が実施される。
【０１４０】
図４は、より効果的なＴＣＰデータ伝送を実施するようにする、本発明の実施形態によるデータ伝送方法４００の例の流れ図である。特定の実施プロセスにおいて、データ伝送方法４００が、ＳＤＮデータセンタにおけるコントローラによって実行され得る。方法４００は、ソフトウェア定義されるネットワーキングＳＤＮに特に適用され、かつＳＤＮネットワークにおけるコントローラは、ＳＤＮネットワークの論理制御センタである。コントローラは、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、スイッチングデバイスにネットワーク命令を提供し、かつスイッチングデバイス間のネットワークトポロジを管理する。コントローラは、ノースバウンドインターフェースを介してアプリケーションサーバに接続される。少なくとも１つのアプリケーションが、アプリケーションサーバ上で実行される。アプリケーションサーバが、現在、データが、ＴＣＰプロトコルを使用することによって、送信デバイスから受信デバイスに伝送される必要があると決定した場合、図４に示されるとおり、方法は、以下のステップを特に含む。
【０１４１】
Ｓ４０２  コントローラが、アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信し、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する。
【０１４２】
任意選択で、送信デバイスのアドレス、および受信デバイスのアドレスは、インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）アドレスまたは媒体アクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ、ＭＡＣ）アドレスである。
【０１４３】
任意選択で、コントローラは、ノースバウンドインターフェースを提供し、かつネットワークパスのサービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ、ＱｏＳ）をカスタマイズする機能を提供する。アプリケーションサーバ上で実行されるアプリケーションは、管理ネットワークを使用することによってコントローラのノースバウンドインターフェースにアクセスし得る。
【０１４４】
Ｓ４０４  コントローラが、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定し、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用される。
【０１４５】
Ｓ４０６  コントローラが、アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信し、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを含み、ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示し、かつ第１の伝送パスの帯域幅情報、およびＴＣＰ往復伝送遅延は、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するのに使用される。
【０１４６】
コントローラによって、アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信することの前に、方法４００は、コントローラによって、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を獲得すること、ならびに第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定することをさらに含む。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【０１４７】
任意選択で、コントローラは、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を、第１の伝送パスおよび第２の伝送パスの運用管理保守（Ｏｐｅｒａｔｉｏｎ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ、ＯＡＭ）特性に従って検出し、かつ第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定する。
【０１４８】
任意選択で、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計である。
【０１４９】
任意選択で、コントローラは、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０１５０】
任意選択で、コントローラは、送信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と送信デバイスのＴＣＰ層処理遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０１５１】
任意選択で、コントローラによって、アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信する前に、方法４００は、コントローラによって、第１の伝送パスのパケットロス率を決定することをさらに含む。この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに含む。
【０１５２】
任意選択で、コントローラは、経験ライブラリに従って第１の伝送パス上のパケットロス率についての統計を収集し、確保されたパケットロス率を足し、第１の伝送パスのパケットロス率についての情報を決定する。
【０１５３】
任意選択で、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値と、受信デバイスのＭＴＵ値に関する最大値とを含む。方法４００は、コントローラによって、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定することをさらに含む。第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下である。この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。
【０１５４】
任意選択で、コントローラは、ＭＴＵ値情報によって示される値範囲内で、第１の伝送パスのＯＡＭ特性に従って第１の伝送パスに関する最適のＭＴＵ値を決定して、データが、最適の長さに従ってセグメント化されることが確実にされることができ、かつより効果的なＴＣＰデータ伝送が実施されるようにする。
【０１５５】
任意選択で、ＴＣＰ伝送リソース割当て要求は、データを伝送するために要求される帯域幅をさらに含み、かつコントローラによって、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定することは、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することを含む。
【０１５６】
特に、コントローラによって、送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することは、コントローラによって、残っている帯域幅リソースが、送信デバイスと受信デバイスの間でデータを伝送するための要件を満たすすべてのパスから、残っている帯域幅リソースが最も少ないパス、またはホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【０１５７】
任意選択で、コントローラは、スイッチングデバイスのネットワークトポロジに従って、送信デバイスと受信デバイスの間で利用可能なパスのセットを選択し、利用可能なパス上のスイッチングデバイスのポートの残っている帯域幅を決定する。割り当てられた帯域幅が、ポートの物理帯域幅から引かれて、ポートの残っている帯域幅を獲得する。パス上のポートの残っている帯域幅の最小の値が、パスの残っている帯域幅として使用される。
【０１５８】
任意選択で、利用可能なパスのセットの残っているすべての帯域幅が、アプリケーションサーバによって要求される帯域幅未満である場合、帯域幅が最大であるパスが第１の伝送パスとして選択される。
【０１５９】
方法４００は、コントローラによって、第１の伝送パス上のスイッチングデバイスに帯域幅制御メッセージを送信することをさらに含む。帯域幅制御メッセージは、スイッチングデバイスによって第１の伝送パス上でデータを伝送するのに使用される帯域幅を示すのに使用される。
【０１６０】
任意選択で、方法４００は、第１の伝送パス上のスイッチングデバイス、および第２の伝送パス上のスイッチングデバイスにフローエントリを別々に送信して、ＴＣＰデータ伝送を実行するよう第１の伝送パス上のスイッチングデバイスに命令し、かつＴＣＰ肯定応答を伝送するよう第２の伝送パス上のスイッチングデバイスに命令することをさらに含む。
【０１６１】
この実施形態において提供される技術的解決手法によれば、コントローラが、ＴＣＰデータ伝送にリソースを適切に割り当てることができる。コントローラは、ノースバウンドインターフェースを介してアプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信し、ＴＣＰ伝送リソース割当て要求に従ってＴＣＰデータ伝送のためのパスおよび帯域幅を適切に構成し、かつパスのＴＣＰ往復伝送遅延、パスのパケットロス率、およびパスの最適のＭＴＵ値などの情報を決定する。パス情報がアプリケーションサーバ側に戻された後、アプリケーションサーバは、ＴＣＰデータ伝送のためのパラメータを適切に構成することができる。これらのパラメータに従って、アプリケーションサーバは、ＴＣＰデータ伝送に関する送信ウインドウの初期サイズを設定することによってＴＣＰの低速開始プロセスを回避することができる。さらに、送信ウインドウの初期値が、データ伝送パスの帯域幅、およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復されるネットワーク検出によってもたらされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。コントローラによって戻されるＭＴＵ値が、データが、最適の長さに従ってセグメント化され、ネットワークデバイス上で伝送されることができることを確実にするのに使用され、かつより効果的なＴＣＰデータ伝送が実施される。
【０１６２】
図５は、より効果的なＴＣＰデータ伝送を実施するようにする、本発明の実施形態によるデータ伝送方法５００の例の流れ図である。方法５００は、ソフトウェア定義されるネットワーキングＳＤＮに特に適用され、かつＳＤＮネットワークにおけるコントローラは、ＳＤＮネットワークの論理制御センタである。コントローラは、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、スイッチングデバイスにネットワーク命令を提供し、かつスイッチングデバイス間のネットワークトポロジを管理する。コントローラは、ノースバウンドインターフェースを介してアプリケーションサーバに接続される。特定の実施プロセスにおいて、データ伝送方法５００は、ＳＤＮデータセンタにおけるアプリケーションサーバによって実行され得る。より詳細には、方法５００は、アプリケーションサーバ上で実行されるアプリケーションによって実行され得る。図５に示されるとおり、アプリケーションが、現在、データが、ＴＣＰプロトコルを使用することによって、送信デバイスから受信デバイスに伝送される必要があると決定した場合、方法は、以下のステップを特に含む。
【０１６３】
Ｓ５０２  アプリケーションサーバが、コントローラにＴＣＰ伝送リソース割当て要求を送信し、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する。
【０１６４】
Ｓ５０４  アプリケーションサーバが、コントローラからＴＣＰ伝送リソース割当て応答メッセージを受信し、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅と、ＴＣＰ往復伝送遅延とを含み、ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示し、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用される。
【０１６５】
Ｓ５０６  アプリケーションサーバが、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定する。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０１６６】
任意選択で、アプリケーションサーバは第１に、ＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間の往復時間ＲＴＴを決定する。ＲＴＴは、ＴＣＰ往復伝送遅延と正の相関関係にある。
【０１６７】
任意選択で、ＴＣＰ往復伝送遅延は往復時間ＲＴＴであると決定される。
【０１６８】
任意選択で、アプリケーションサーバは、送信デバイスおよび受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。往復時間ＲＴＴは、ＴＣＰ往復伝送遅延と送信デバイスおよび受信デバイスのＴＣＰ層処理遅延との合計である。
【０１６９】
任意選択で、アプリケーションサーバは、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。往復時間ＲＴＴは、ＴＣＰ往復伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０１７０】
任意選択で、送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０１７１】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ
【０１７２】
任意選択で、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに搬送する。アプリケーションサーバは、パケットロス率に従って送信ウインドウの初期値を決定するようにさらに構成される。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０１７３】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０１７４】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成される。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０１７５】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０１７６】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成される。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０１７７】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０１７８】
特に、アプリケーションサーバは、送信デバイスに送信ウインドウ設定メッセージを送信するようにさらに構成され、送信ウインドウ設定メッセージは、送信ウインドウの初期値を含む。送信デバイスは、送信ウインドウ設定メッセージを受信し、送信ウインドウのサイズを、送信ウインドウ設定メッセージに従って送信ウインドウの初期値に設定し、送信ウインドウのサイズに従ってＴＣＰデータ伝送を実行する。
【０１７９】
特に、アプリケーションサーバは、受信デバイスに受信ウインドウ設定メッセージを送信するようにさらに構成され、受信ウインドウ設定メッセージは、受信ウインドウの初期値を含む。受信デバイスは、受信ウインドウ設定メッセージを受信し、受信デバイスの受信ウインドウのサイズを、受信ウインドウ設定メッセージのインジケーションに従って受信ウインドウの初期値に設定する。
【０１８０】
任意選択で、後続のＴＣＰデータ伝送中、送信デバイスは、送信ウインドウがＲｗｎｄと等しいことに従って、ＴＣＰデータ伝送に関する送信ウインドウのサイズを決定してよい。
【０１８１】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０１８２】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０１８３】
任意選択で、アプリケーションサーバは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０１８４】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０１８５】
任意選択で、アプリケーションサーバは、送信デバイスに輻輳ウインドウ設定メッセージを送信するようにさらに構成され、輻輳ウインドウ設定メッセージは、輻輳ウインドウの初期値を含む。送信デバイスは、輻輳ウインドウのサイズを、輻輳ウインドウ設定メッセージのインジケーションに従って輻輳ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【０１８６】
任意選択で、送信デバイスがＴＣＰデータ伝送を実行する場合、送信ウインドウの値は、輻輳ウインドウと受信ウインドウの値の間でより小さい値である。
【０１８７】
任意選択で、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用される。ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。アプリケーションサーバは、送信デバイスおよび受信デバイスのＭＴＵ値が、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値であると決定するようにさらに構成される。この事例において、アプリケーションサーバは、送信デバイスおよび受信デバイスにＭＴＵ設定メッセージを送信することを行うようにさらに構成され、ＭＴＵ設定メッセージは、第１の伝送パスに関するＭＴＵ値を含む。
【０１８８】
送信デバイスは、最大伝送ユニットＭＴＵ設定メッセージを受信し、ＭＴＵ設定メッセージのインジケーションに従って、送信デバイスのＭＴＵ値を設定する。
【０１８９】
受信デバイスは、最大伝送ユニットＭＴＵ設定メッセージを受信し、ＭＴＵ設定メッセージのインジケーションに従って、受信デバイスのＭＴＵ値を設定する。
【０１９０】
任意選択で、コントローラは、ＭＴＵ値情報によって示される値範囲内で、第１の伝送パスのＯＡＭ特性に従って第１の伝送パスに関する最適のＭＴＵ値を決定する。
【０１９１】
送信デバイスおよび受信デバイスは、デバイスのＭＴＵ値を最適のＭＴＵ値に設定して、データが、最適の長さに従ってセグメント化されることが確実にされることができ、かつより効果的なＴＣＰデータ伝送が実施されるようにする。
【０１９２】
任意選択で、アプリケーションサーバは、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定することであって、再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にあること、および送信デバイスに再送タイムアウト間隔設定メッセージを送信することであって、再送タイムアウト間隔設定メッセージは、再送タイムアウト間隔を含むことを行うようにさらに構成される。
【０１９３】
任意選択で、アプリケーションサーバは、再送タイムアウト間隔を往復時間ＲＴＴに設定する。
【０１９４】
再送タイムアウト間隔は、データパケットを送信した後、送信デバイスが、戻されるべきデータパケットの肯定応答を待つ最大待機時間を参照する。
【０１９５】
任意選択で、アプリケーションサーバは、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定することであって、肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にあること、および受信デバイスに肯定応答待機時間設定メッセージを送信することであって、肯定応答待機時間設定メッセージは、肯定応答待機時間を含むことを行うようにさらに構成される。
【０１９６】
任意選択で、アプリケーションサーバは、肯定応答待機時間を往復時間ＲＴＴに設定する。
【０１９７】
肯定応答待機時間は、データパケットを受信した後、受信デバイスが肯定応答の送信を延期する最大待機時間である。
【０１９８】
特に、アプリケーションサーバは、コントローラのノースバウンドインターフェースを介してコントローラにＴＣＰ伝送リソース割当て要求を送信する。
【０１９９】
任意選択で、アプリケーションサーバは、伝送されるべきデータの量、スケジュール、ならびに送信デバイスおよび受信デバイスにおけるネットワークインターフェースカードの特性に従って予期されるネットワーク帯域幅を推定し、かつＴＣＰ伝送リソース割当て要求にＴＣＰデータ伝送に関する要求されるパス帯域幅を足す。
【０２００】
パス上でパケットロスが生じた場合のＴＣＰデータ伝送のための帯域幅が確保されているため、第３の反復されるＡＣＫがＴＣＰ層において受信された場合、それは、パスが輻輳段階にあることを示す。送信ウインドウは、変わらないままであり、ロスされたパケットが再送される。
【０２０１】
パス上でパケットロスが生じた場合のＴＣＰデータ伝送のための帯域幅が確保されているため、タイムアウトが生じるとＡＣＫが受信されないパケットが再送され、送信ウインドウは、変わらないままである。
【０２０２】
この実施形態において提供される技術的解決手法によれば、アプリケーションサーバが、ＴＣＰデータ伝送のためのパラメータを適切に構成することができる。ＴＣＰデータ伝送が要求される場合、アプリケーションサーバは、コントローラのノースバウンドインターフェースを介してコントローラにＴＣＰ伝送リソース割当て要求を送信し、ＴＣＰデータ伝送のためのパスリソースを要求する。コントローラが、ＴＣＰ伝送リソース割当て要求に従ってパスを構成した後、アプリケーションサーバは、コントローラによって送信されたＴＣＰ伝送リソース割当て応答メッセージを受信する。アプリケーションサーバは、ＴＣＰ伝送リソース割当て応答メッセージに従ってＴＣＰデータ伝送のためのパラメータを決定する。ＴＣＰの低速開始プロセスが、ＴＣＰデータ伝送のための送信ウインドウの初期サイズを設定することによって回避される。さらに、送信ウインドウの初期値が、データ伝送パスの帯域幅およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復されるネットワーク検出によってもたらされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。コントローラによって戻されるＭＴＵ値が、データが、最適の長さに従ってセグメント化され、ネットワークデバイス上で伝送されることができることを確実にするのに使用され、かつより効果的なＴＣＰデータ伝送が実施される。
【０２０３】
図６は、本発明の実施形態によるデータ伝送装置６００の論理構造の概略図である。装置６００は、ソフトウェア定義されたネットワーキングＳＤＮに適用され、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続される。アプリケーションサーバは、送信デバイスから受信デバイスに送信されるべきデータを制御するように構成される。図６に示されるとおり、データ伝送装置６００は、受信ユニット６０２と、決定ユニット６０４と、送信ユニット６０６とを含み得る。
【０２０４】
受信ユニット６０２は、アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信するように構成され、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する。
【０２０５】
決定ユニット６０４は、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定するように構成される。第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用される。
【０２０６】
送信ユニット６０６は、アプリケーションサーバにＴＣＰ伝送リソース割当て応答メッセージを送信するように構成される。ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅情報と、ＴＣＰ往復伝送遅延とを含む。ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示す。第１の伝送パスの帯域幅情報、およびＴＣＰ往復伝送遅延は、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するのに使用される。
【０２０７】
決定ユニット６０４は、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を獲得すること、ならびに第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定することを行うようにさらに構成される。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【０２０８】
任意選択で、決定ユニット６０４は、第１の伝送パスのパケットロス率を決定するようにさらに構成される。この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに含む。
【０２０９】
任意選択で、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値と、受信デバイスのＭＴＵ値に関する最大値とを含む。決定ユニット６０４は、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定するようにさらに構成される。第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下である。この事例において、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。
【０２１０】
任意選択で、ＴＣＰ伝送リソース割当て要求は、データを伝送するために要求される帯域幅をさらに含む。決定ユニット６０４が、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定するように構成されることは、決定ユニット６０４によって、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択することを含む。
【０２１１】
特に、決定ユニット６０４が、送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たすパスを第１の伝送パスとして選択するように構成されることは、決定ユニット６０４によって、残っている帯域幅リソースが、送信デバイスと受信デバイスの間でデータを伝送するための要件を満たすすべてのパスから、残っている帯域幅リソースが最も少ないパス、またはホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【０２１２】
送信ユニット６０６は、第１の伝送パス上のスイッチングデバイスに帯域幅制御メッセージを送信するようにさらに構成される。帯域幅制御メッセージは、スイッチングデバイスによって第１の伝送パス上でデータを伝送するのに使用される帯域幅を示すのに使用される。
【０２１３】
任意選択で、送信デバイスのアドレス、および受信デバイスのアドレスは、インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）アドレスまたは媒体アクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ、ＭＡＣ）アドレスである。
【０２１４】
任意選択で、装置６００は、ノースバウンドインターフェースを提供し、かつネットワークパスのサービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ、ＱｏＳ）をカスタマイズする機能を提供する。アプリケーションサーバ上で実行されるアプリケーションは、管理ネットワークを使用することによってコントローラのノースバウンドインターフェースにアクセスし得る。
【０２１５】
任意選択で、決定ユニット６０４は、スイッチングデバイスのネットワークトポロジに従って、送信デバイスと受信デバイスの間で利用可能なパスのセットを選択し、かつ利用可能なパス上のスイッチングデバイスのポートの残っている帯域幅を決定する。割り当てられた帯域幅が、ポートの物理帯域幅から引かれて、ポートの残っている帯域幅を獲得する。パス上のポートの残っている帯域幅の最小の値が、パスの残っている帯域幅として使用される。
【０２１６】
任意選択で、利用可能なパスのセットの残っているすべての帯域幅が、アプリケーションサーバによって要求される帯域幅未満である場合、決定ユニット６０４は、帯域幅が最大であるパスを第１の伝送パスとして選択する。
【０２１７】
任意選択で、決定ユニット６０４は、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を、第１の伝送パスおよび第２の伝送パスの運用管理保守（Ｏｐｅｒａｔｉｏｎ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ、ＯＡＭ）特性に従って検出し、かつ第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延および第２の伝送パスの伝送遅延と別々に正の相関関係にある。
【０２１８】
任意選択で、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計である。
【０２１９】
任意選択で、決定ユニット６０４は、送信デバイスおよび受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と送信デバイスおよび受信デバイスのＴＣＰ層処理遅延との合計である。
【０２２０】
任意選択で、決定ユニット６０４は、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０２２１】
任意選択で、決定ユニット６０４は、経験ライブラリに従って第１の伝送パス上のパケットロス率についての統計を収集し、確保されたパケットロス率を足し、第１の伝送パスのパケットロス率についての情報を決定する。
【０２２２】
任意選択で、決定ユニット６０４は、ＭＴＵ値情報によって示される値範囲内で、第１の伝送パスのＯＡＭ特性に従って第１の伝送パスに関する最適のＭＴＵ値を決定して、データが、最適の長さに従ってセグメント化されることが確実にされることができ、かつより効果的なＴＣＰデータ伝送が実施されるようにする。
【０２２３】
任意選択で、送信ユニット６０６は、第１の伝送パス上のスイッチングデバイス、および第２の伝送パス上のスイッチングデバイスにフローエントリを別々に送信して、ＴＣＰデータ伝送を実行するよう第１の伝送パス上のスイッチングデバイスに命令し、かつＴＣＰ肯定応答を伝送するよう第２の伝送パス上のスイッチングデバイスに命令するようにさらに構成される。
【０２２４】
この実施形態において提供される技術的解決手法によれば、装置６００は、ＴＣＰデータ伝送にリソースを適切に割り当てることができる。装置６００は、ノースバウンドインターフェースを介してアプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信し、ＴＣＰ伝送リソース割当て要求に従ってＴＣＰデータ伝送のためのパスおよび帯域幅を適切に構成し、かつパスのＴＣＰ往復伝送遅延、パスのパケットロス率、およびパスの最適のＭＴＵ値などの情報を決定する。パス情報がアプリケーションサーバ側に戻された後、アプリケーションサーバは、ＴＣＰデータ伝送のためのパラメータを適切に構成することができる。これらのパラメータに従って、アプリケーションサーバは、ＴＣＰデータ伝送に関する送信ウインドウの初期サイズを設定することによってＴＣＰの低速開始プロセスを回避することができる。さらに、送信ウインドウの初期値が、データ伝送パスの帯域幅、およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復されるネットワーク検出によってもたらされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。コントローラによって戻されるＭＴＵ値が、データが、最適の長さに従ってセグメント化され、ネットワークデバイス上で伝送されることができることを確実にするのに使用され、かつより効果的なＴＣＰデータ伝送が実施される。
【０２２５】
図７は、本発明の実施形態によるデータ伝送装置７００の論理構造の概略図である。装置７００は、ソフトウェア定義されるネットワーキングＳＤＮに適用される。ＳＤＮネットワークにおけるコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介して装置に接続される。アプリケーションが、装置上で実行され、アプリケーションは、送信デバイスから受信デバイスに送信されるべきデータを制御するのに使用される。図７に示されるとおり、データ伝送装置７００は、送信ユニット７０２と、受信ユニット７０４と、決定ユニット７０６とを含み得る。
【０２２６】
送信ユニット７０２は、コントローラにＴＣＰ伝送リソース割当て要求を送信するように構成され、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する。
【０２２７】
受信ユニット７０４は、コントローラからＴＣＰ伝送リソース割当て応答メッセージを受信するように構成される。ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスの帯域幅と、ＴＣＰ往復伝送遅延とを含む。ＴＣＰ往復伝送遅延は、送信デバイスが、第１の伝送パスを介して各データパケットを送信する時間Ｔ１と、送信デバイスが、第２の伝送パスを介して各データパケットのＴＣＰ肯定応答を受信する時間Ｔ２との間の事前推定された時間差を示す。第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用される。
【０２２８】
決定ユニット７０６は、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間のＴＣＰデータ伝送に関する送信ウインドウの初期値を決定するように構成される。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０２２９】
任意選択で、ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスのパケットロス率をさらに搬送する。決定ユニット７０６は、パケットロス率に従って送信ウインドウの初期値を決定するようにさらに構成される。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０２３０】
任意選択で、決定ユニット７０６は、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成される。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０２３１】
任意選択で、決定ユニット７０６は、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定するようにさらに構成される。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０２３２】
特に、送信ユニット７０２は、送信デバイスに送信ウインドウ設定メッセージを送信するようにさらに構成され、送信ウインドウ設定メッセージは、送信ウインドウの初期値を含む。
【０２３３】
特に、送信ユニット７０２は、受信デバイスに受信ウインドウ設定メッセージを送信するようにさらに構成され、受信ウインドウ設定メッセージは、受信ウインドウの初期値を含む。
【０２３４】
任意選択で、決定ユニット７０６は、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０２３５】
任意選択で、決定ユニット７０６は、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０２３６】
任意選択で、送信ユニット７０２は、輻輳ウインドウ設定メッセージを送信デバイスに送信するようにさらに構成され、輻輳ウインドウ設定メッセージは輻輳ウインドウの初期値を含む。送信デバイスは、輻輳ウインドウのサイズを、輻輳ウインドウ設定メッセージのインジケーションに従って輻輳ウインドウの初期値に設定し、ＴＣＰデータ伝送を実行する。
【０２３７】
任意選択で、送信デバイスがＴＣＰデータ伝送を実行する場合、送信ウインドウの値は、輻輳ウインドウと受信ウインドウの値の間でより小さい値である。
【０２３８】
任意選択で、ＴＣＰ伝送リソース割当て要求は、最大伝送ユニットＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用される。ＴＣＰ伝送リソース割当て応答メッセージは、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値をさらに含む。決定ユニット７０６は、送信デバイスおよび受信デバイスのＭＴＵ値が、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値であると決定するようにさらに構成される。この事例において、送信ユニット７０２は、送信デバイスおよび受信デバイスにＭＴＵ設定メッセージを送信するようにさらに構成され、ＭＴＵ設定メッセージは、第１の伝送パスに関するＭＴＵ値を含む。
【０２３９】
任意選択で、決定ユニット７０６は、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定するようにさらに構成され、再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にある。この事例において、送信ユニット７０２は、送信デバイスに再送タイムアウト間隔設定メッセージを送信するようにさらに構成され、再送タイムアウト間隔設定メッセージは、再送タイムアウト間隔を含む。
【０２４０】
任意選択で、決定ユニット７０６は、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定するようにさらに構成され、肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にある。この事例において、送信ユニットは、受信デバイスに肯定応答待機時間設定メッセージを送信するようにさらに構成され、肯定応答待機時間設定メッセージは、肯定応答待機時間を含む。
【０２４１】
送信ユニット７０２は、コントローラのノースバウンドインターフェースを介してコントローラにＴＣＰ伝送リソース割当て要求を送信する。
【０２４２】
任意選択で、決定ユニット７０６は第１に、ＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間の往復時間ＲＴＴを決定する。ＲＴＴは、ＴＣＰ往復伝送遅延と正の相関関係にある。
【０２４３】
任意選択で、決定ユニット７０６は、ＴＣＰ往復伝送遅延が往復時間ＲＴＴであると決定する。
【０２４４】
任意選択で、決定ユニット７０６は、送信デバイスおよび受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。往復時間ＲＴＴは、ＴＣＰ往復伝送遅延と送信デバイスおよび受信デバイスのＴＣＰ層処理遅延との合計である。
【０２４５】
任意選択で、決定ユニット７０６は、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。往復時間ＲＴＴは、ＴＣＰ往復伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０２４６】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ
【０２４７】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０２４８】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０２４９】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０２５０】
任意選択で、決定ユニット７０６は、再送タイムアウト間隔を往復時間ＲＴＴに設定する。
【０２５１】
任意選択で、決定ユニット７０６は、肯定応答待機時間を往復時間ＲＴＴに設定する。
【０２５２】
任意選択で、決定ユニット７０６は、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０２５３】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０２５４】
任意選択で、決定ユニット７０６は、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０２５５】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０２５６】
任意選択で、送信ユニット７０２は、送信デバイスに輻輳ウインドウ設定メッセージを送信するようにさらに構成され、輻輳ウインドウ設定メッセージは、輻輳ウインドウの初期値を含む。送信デバイスは、輻輳ウインドウのサイズを、輻輳ウインドウ設定メッセージのインジケーションに従って輻輳ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【０２５７】
任意選択で、送信デバイスがＴＣＰデータ伝送を実行する場合、送信ウインドウの値は、輻輳ウインドウと受信ウインドウの値の間でより小さい値である。
【０２５８】
この実施形態において提供される技術的解決手法によれば、装置７００は、ＴＣＰデータ伝送のためのパラメータを適切に構成することができる。ＴＣＰデータ伝送が要求される場合、装置７００は、コントローラのノースバウンドインターフェースを介してコントローラにＴＣＰ伝送リソース割当て要求を送信し、ＴＣＰデータ伝送のためのパスリソースを要求する。コントローラが、ＴＣＰ伝送リソース割当て要求に従ってパスを構成した後、装置７００は、コントローラによって送信されたＴＣＰ伝送リソース割当て応答メッセージを受信する。装置７００は、ＴＣＰ伝送リソース割当て応答メッセージに従ってＴＣＰデータ伝送のためのパラメータを決定する。ＴＣＰの低速開始プロセスが、ＴＣＰデータ伝送のための送信ウインドウの初期サイズを設定することによって回避される。さらに、送信ウインドウの初期値が、データ伝送パスの帯域幅およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復されるネットワーク検出によってもたらされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。コントローラによって戻されるＭＴＵ値が、データが、最適の長さに従ってセグメント化され、ネットワークデバイス上で伝送されることができることを確実にするのに使用され、かつより効果的なＴＣＰデータ伝送が実施される。
【０２５９】
図８は、より効果的なＴＣＰデータ伝送を実施するようにする、本発明の実施形態によるデータ伝送方法８００の例の流れ図である。特定の実施プロセスにおいて、方法は、ソフトウェア定義されるネットワーキングＳＤＮに適用される。ＳＤＮネットワークにおけるコントローラが、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続される。少なくとも１つのアプリケーションが、アプリケーションサーバ上で実行される。データ伝送方法８００は、ＳＤＮデータセンタにおけるコントローラによって実行され得る。アプリケーションサーバが、現在、データが、ＴＣＰプロトコルを使用することによって、送信デバイスから受信デバイスに伝送される必要があると決定した場合、図８に示されるとおり、方法は、以下のステップを特に含む。
【０２６０】
Ｓ８０２  コントローラが、アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信し、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する。
【０２６１】
Ｓ８０４  コントローラが、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定し、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用される。
【０２６２】
Ｓ８０６  コントローラが、第１の伝送パスおよび／または第２の伝送パスに従って、送信デバイスおよび／または受信デバイスによってＴＣＰデータ伝送を実行するのに使用されるパラメータの値を決定する。
【０２６３】
Ｓ８０８  コントローラが、パラメータ設定メッセージを送信し、パラメータ設定メッセージは、ＴＣＰデータ伝送のためのパラメータの値を搬送する。
【０２６４】
任意選択で、送信デバイスのアドレス、および受信デバイスのアドレスは、インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）アドレスまたは媒体アクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ、ＭＡＣ）アドレスである。
【０２６５】
任意選択で、コントローラは、ノースバウンドインターフェースを提供し、かつネットワークパスのサービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ、ＱｏＳ）をカスタマイズする機能を提供する。アプリケーションサーバ上で実行されるアプリケーションは、管理ネットワークを使用することによってコントローラのノースバウンドインターフェースにアクセスし得る。
【０２６６】
任意選択で、コントローラは、スイッチングデバイスのネットワークトポロジに従って、送信デバイスと受信デバイスの間で利用可能なパスのセットを選択し、利用可能なパス上のスイッチングデバイスのポートの残っている帯域幅を決定する。割り当てられた帯域幅が、ポートの物理帯域幅から引かれて、ポートの残っている帯域幅を獲得する。パス上のポートの残っている帯域幅の最小の値が、パスの残っている帯域幅として使用される。
【０２６７】
任意選択で、ＴＣＰ伝送リソース割当て要求は、データを伝送するために要求される帯域幅をさらに含む。コントローラによって、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定することは、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たし、かつ最も少ないパスを第１の伝送パスとして選択することを含む。
【０２６８】
任意選択で、コントローラによって、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定することは、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たし、かつホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【０２６９】
任意選択で、利用可能なパスのセットの残っているすべての帯域幅が、アプリケーションサーバによって要求される帯域幅未満である場合、帯域幅が最大であるパスが第１の伝送パスとして選択される。
【０２７０】
コントローラは、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を決定し、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【０２７１】
任意選択で、コントローラは、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を、第１の伝送パスおよび第２の伝送パスの運用管理保守（Ｏｐｅｒａｔｉｏｎ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ、ＯＡＭ）特性に従って検出し、かつ第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延および第２の伝送パスの伝送遅延と別々に正の相関関係にある。
【０２７２】
任意選択で、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計である。
【０２７３】
任意選択で、コントローラは、送信デバイスおよび受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と送信デバイスおよび受信デバイスのＴＣＰ層処理遅延との合計である。
【０２７４】
任意選択で、コントローラは、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０２７５】
ＴＣＰ伝送リソース割当て要求は、ＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用される。方法８００は、コントローラによって、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定することをさらに含む。第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下である。
【０２７６】
任意選択で、コントローラは、ＭＴＵ値情報によって示される値範囲内で、第１の伝送パスのＯＡＭ特性に従って第１の伝送パスに関する最適のＭＴＵ値を決定する。パラメータ設定メッセージを送信することは、送信デバイスおよび受信デバイスにＭＴＵ値設定情報を送信することを含む。
【０２７７】
任意選択で、方法８００は、第１の伝送パス上のスイッチングデバイス、および第２の伝送パス上のスイッチングデバイスにフローエントリを別々に送信して、ＴＣＰデータ伝送を実行するよう第１の伝送パス上のスイッチングデバイスに命令し、かつＴＣＰ肯定応答を伝送するよう第２の伝送パス上のスイッチングデバイスに命令することをさらに含む。
【０２７８】
任意選択で、方法８００は、コントローラによって、第１の伝送パス上のスイッチングデバイスに帯域幅制御メッセージを送信することをさらに含む。帯域幅制御メッセージは、スイッチングデバイスによって第１の伝送パス上でデータを伝送するのに使用される帯域幅を示すのに使用される。
【０２７９】
任意選択で、コントローラによって、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定することは、コントローラによって、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの送信ウインドウの初期値を決定することを含む。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。この事例において、パラメータ設定メッセージを送信することは、送信デバイスに送信ウインドウの初期値設定メッセージを送信することを含む。
【０２８０】
任意選択で、コントローラは第１に、ＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間の往復時間ＲＴＴを決定する。ＲＴＴは、ＴＣＰ往復伝送遅延と正の相関関係にある。
【０２８１】
任意選択で、ＴＣＰ往復伝送遅延は往復時間ＲＴＴであると決定される。
【０２８２】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ
【０２８３】
任意選択で、コントローラによって、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定することは、コントローラによって、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定することを含む。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。この事例において、パラメータ設定メッセージを送信することは、受信デバイスに受信ウインドウの初期値設定メッセージを送信することを含む。
【０２８４】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０２８５】
任意選択で、方法８００は、コントローラによって、第１の伝送パスのパケットロス率を決定することをさらに含む。パケットロス率は、第１の伝送パスがデータ伝送のために使用される場合にパケットロスステータスを示すのに使用される。
【０２８６】
任意選択で、コントローラは、経験ライブラリに従って第１の伝送パス上のパケットロス率についての統計を収集し、確保されたパケットロス率を足し、第１の伝送パスのパケットロス率についての情報を決定する。
【０２８７】
任意選択で、コントローラは、第１の伝送パスのＯＡＭ特性をイネーブルにし、第１の伝送パスのパケットロス率を決定する。
【０２８８】
任意選択で、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定することは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの送信ウインドウの初期値を決定することを含む。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。この事例において、パラメータ設定メッセージを送信することは、送信デバイスに送信ウインドウの初期値設定メッセージを送信することを含む。
【０２８９】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０２９０】
任意選択で、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定することは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定することを含む。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。この事例において、パラメータ設定メッセージを送信することは、受信デバイスに受信ウインドウの初期値設定メッセージを送信することを含む。
【０２９１】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０２９２】
任意選択で、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定することは、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定することを含む。再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にある。この事例において、パラメータ設定メッセージを送信することは、送信デバイスに再送タイムアウト間隔設定メッセージを送信することを含む。
【０２９３】
任意選択で、コントローラは、再送タイムアウト間隔を往復時間ＲＴＴに設定する。
【０２９４】
任意選択で、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定することは、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定することを含む。肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にある。この事例において、パラメータ設定メッセージを送信することは、受信デバイスに受信ウインドウの肯定応答待機時間を送信することを含む。
【０２９５】
任意選択で、コントローラは、肯定応答待機時間を往復時間ＲＴＴに設定する。
【０２９６】
任意選択で、コントローラは、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０２９７】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０２９８】
任意選択で、コントローラは、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０２９９】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０３００】
任意選択で、コントローラは、送信デバイスに輻輳ウインドウ設定メッセージを送信するようにさらに構成され、輻輳ウインドウ設定メッセージは、輻輳ウインドウの初期値を含む。送信デバイスは、輻輳ウインドウのサイズを、輻輳ウインドウ設定メッセージのインジケーションに従って輻輳ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【０３０１】
任意選択で、送信デバイスがＴＣＰデータ伝送を実行する場合、送信ウインドウの値は、輻輳ウインドウと受信ウインドウの値の間でより小さい値である。
【０３０２】
この実施形態において提供される技術的解決手法によれば、コントローラが、ＴＣＰデータ伝送のためのリソースおよびパラメータを適切に構成することができる。コントローラは、ノースバウンドインターフェースを介してアプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信し、ＴＣＰ伝送リソース割当て要求に従ってＴＣＰデータ伝送のためのパスおよび帯域幅を適切に構成し、パスのＴＣＰ往復伝送遅延、パスのパケットロス率、およびパスの最適のＭＴＵ値などのパス情報を決定し、かつパス情報に従ってＴＣＰデータ伝送のためのパラメータを適切に構成する。これらのパラメータに従って、コントローラは、ＴＣＰデータ伝送に関する送信ウインドウの初期サイズを設定することによってＴＣＰの低速開始プロセスを回避することができる。さらに、送信ウインドウの初期値が、データ伝送パスの帯域幅、およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復されるネットワーク検出によってもたらされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。コントローラによって戻されるＭＴＵ値が、データが、最適の長さに従ってセグメント化され、ネットワークデバイス上で伝送されることができることを確実にするのに使用され、かつより効果的なＴＣＰデータ伝送が実施される。
【０３０３】
図９は、本発明の実施形態によるデータ伝送装置９００の論理構造の概略図であり、装置９００は、ソフトウェア定義されるネットワーキングＳＤＮに適用される。装置９００は、サウスバウンドインターフェースを介してスイッチングデバイスに接続され、かつノースバウンドインターフェースを介してアプリケーションサーバに接続される。アプリケーションサーバは、送信デバイスから受信デバイスに送信されるべきデータを制御するように構成される。図９に示されるとおり、データ伝送装置９００は、受信ユニット９０２と、決定ユニット９０４と、送信ユニット９０６とを含み得る。
【０３０４】
受信ユニット９０２は、アプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信するように構成され、ＴＣＰ伝送リソース割当て要求は、送信デバイスのアドレスと、受信デバイスのアドレスとを搬送する。
【０３０５】
決定ユニット９０４は、ＴＣＰ伝送リソース割当て要求に従って第１の伝送パスおよび第２の伝送パスを決定することであって、第１の伝送パスは、送信デバイスによって受信デバイスにデータを伝送するのに使用され、かつ第２の伝送パスは、受信デバイスによって送信デバイスにＴＣＰ肯定応答を伝送するのに使用されること、および第１の伝送パスおよび／または第２の伝送パスに従って、送信デバイスおよび／または受信デバイスによってＴＣＰデータ伝送を実行するのに使用されるパラメータの値を決定することを行うように構成される。
【０３０６】
送信ユニット９０６は、パラメータ設定メッセージを送信するように構成され、パラメータ設定メッセージは、ＴＣＰデータ伝送のためのパラメータの値を搬送する。
【０３０７】
任意選択で、送信デバイスのアドレス、および受信デバイスのアドレスは、インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）アドレスまたは媒体アクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ、ＭＡＣ）アドレスである。
【０３０８】
任意選択で、装置９００は、ノースバウンドインターフェースを提供し、かつネットワークパスのサービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ、ＱｏＳ）をカスタマイズする機能を提供する。アプリケーションサーバ上で実行されるアプリケーションは、管理ネットワークを使用することによってコントローラのノースバウンドインターフェースにアクセスし得る。
【０３０９】
任意選択で、決定ユニット９０４は、スイッチングデバイスのネットワークトポロジに従って、送信デバイスと受信デバイスの間で利用可能なパスのセットを選択すること、および利用可能なパス上のスイッチングデバイスのポートの残っている帯域幅を決定することを行うように構成される。割り当てられた帯域幅が、ポートの物理帯域幅から引かれて、ポートの残っている帯域幅を獲得する。パス上のポートの残っている帯域幅の最小の値が、パスの残っている帯域幅として使用される。
【０３１０】
任意選択で、ＴＣＰ伝送リソース割当て要求は、データを伝送するために要求される帯域幅をさらに含む。決定ユニット９０４が、スイッチングデバイスのネットワークトポロジ、およびＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定するように構成されることは、決定ユニット９０４によって、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たし、かつ最も少ないパスを第１の伝送パスとして選択することを含む。
【０３１１】
任意選択で、決定ユニット９０４が、スイッチングデバイスのネットワークトポロジ、およびＴＣＰ伝送リソース割当て要求に従って第１の伝送パスを決定するように構成されることは、決定ユニット９０４によって、スイッチングデバイスのネットワークトポロジに従って、かつ送信デバイスと受信デバイスの間のパスから、残っている帯域幅リソースが、データを伝送するための要件を満たし、かつホップカウントが最小であるパスを第１の伝送パスとして選択することを含む。
【０３１２】
任意選択で、利用可能なパスのセットの残っているすべての帯域幅が、アプリケーションサーバによって要求される帯域幅未満である場合、決定ユニット９０４は、帯域幅が最大であるパスを第１の伝送パスとして選択する。
【０３１３】
決定ユニット９０４は、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を決定し、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計と正の相関関係にある。
【０３１４】
任意選択で、決定ユニット９０４は、第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延を、第１の伝送パスおよび第２の伝送パスの運用管理保守（Ｏｐｅｒａｔｉｏｎ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ、ＯＡＭ）特性に従って検出し、かつ第１の伝送パスの伝送遅延、および第２の伝送パスの伝送遅延に従ってＴＣＰ往復伝送遅延を決定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延および第２の伝送パスの伝送遅延と別々に正の相関関係にある。
【０３１５】
任意選択で、ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延との合計である。
【０３１６】
任意選択で、決定ユニット９０４は、送信デバイスおよび受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と送信デバイスおよび受信デバイスのＴＣＰ層処理遅延との合計である。
【０３１７】
任意選択で、決定ユニット９０４は、受信デバイスのＴＣＰ層処理遅延をさらに事前推定する。ＴＣＰ往復伝送遅延は、第１の伝送パスの伝送遅延と第２の伝送パスの伝送遅延と受信デバイスのＴＣＰ層処理遅延との合計である。
【０３１８】
任意選択で、ＴＣＰ伝送リソース割当て要求は、ＭＴＵ値情報をさらに搬送し、ＭＴＵ値情報は、送信デバイスのＭＴＵ値に関する最大値、および受信デバイスのＭＴＵ値に関する最大値を示すのに使用される。任意選択で、決定ユニット９０４は、ＴＣＰ伝送リソース割当て要求におけるＭＴＵ値情報に従って、第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値を決定するようにさらに構成される。第１の伝送パスによってデータを伝送するのに使用されるＭＴＵ値は、送信デバイスのＭＴＵ値に関する最大値と受信デバイスのＭＴＵ値に関する最大値の間で小さい方の値以下である。
【０３１９】
任意選択で、決定ユニット９０４は、ＭＴＵ値情報によって示される値範囲内で、第１の伝送パスのＯＡＭ特性に従って第１の伝送パスに関する最適のＭＴＵ値を決定する。任意選択で、送信ユニット９０６が、パラメータ設定メッセージを送信するように構成されることは、送信デバイスおよび受信デバイスにＭＴＵ値設定情報を送信することを含む。
【０３２０】
任意選択で、送信ユニット９０６は、第１の伝送パス上のスイッチングデバイス、および第２の伝送パス上のスイッチングデバイスにフローエントリを別々に送信して、ＴＣＰデータ伝送を実行するよう第１の伝送パス上のスイッチングデバイスに命令し、かつＴＣＰ肯定応答を伝送するよう第２の伝送パス上のスイッチングデバイスに命令するようにさらに構成される。
【０３２１】
任意選択で、送信ユニット９０６は、第１の伝送パス上のスイッチングデバイスに帯域幅制御メッセージを送信するようにさらに構成される。帯域幅制御メッセージは、ＴＣＰデータ伝送を実行する第１の伝送パス上のスイッチングデバイスのポートの帯域幅を示すのに使用される。
【０３２２】
任意選択で、決定ユニット９０４が、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定するように構成されることは、決定ユニット９０４によって、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの送信ウインドウの初期値を決定することを含む。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。この事例において、送信ユニット９０６が、パラメータ設定メッセージを送信するように構成されることは、送信デバイスに送信ウインドウの初期値設定メッセージを送信することを含む。
【０３２３】
任意選択で、決定ユニット９０４は第１に、ＴＣＰ往復伝送遅延に従って、送信デバイスと受信デバイスの間の往復時間ＲＴＴを決定する。ＲＴＴは、ＴＣＰ往復伝送遅延と正の相関関係にある。
【０３２４】
任意選択で、ＴＣＰ往復伝送遅延は往復時間ＲＴＴであると決定される。
【０３２５】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ
【０３２６】
任意選択で、決定ユニット９０４が、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定するように構成されることは、決定ユニット９０４によって、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、受信デバイスの受信ウインドウの初期値を決定することを含む。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。この事例において、送信ユニット９０６が、パラメータ設定メッセージを送信するように構成されることは、受信デバイスに受信ウインドウの初期値設定メッセージを送信することを含む。
【０３２７】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０３２８】
任意選択で、決定ユニット９０４は、第１の伝送パスのパケットロス率を決定するようにさらに構成される。パケットロス率は、第１の伝送パスがデータ伝送のために使用される場合にパケットロスステータスを示すのに使用される。
【０３２９】
任意選択で、決定ユニット９０４は、経験ライブラリに従って第１の伝送パス上のパケットロス率についての統計を収集し、確保されたパケットロス率を足し、第１の伝送パスのパケットロス率を決定する。
【０３３０】
任意選択で、決定ユニット９０４は、第１の伝送パスのＯＡＭ特性をイネーブルにし、第１の伝送パスのパケットロス率を決定する。
【０３３１】
任意選択で、決定ユニット９０４が、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定するように構成されることは、決定ユニット９０４によって、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの送信ウインドウの初期値を決定することを含む。送信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。この事例において、送信ユニット９０６が、パラメータ設定メッセージを送信するように構成されることは、送信デバイスに送信ウインドウの初期値設定メッセージを送信することを含む。
【０３３２】
任意選択で、送信デバイスの送信ウインドウのサイズが、以下のとおり表現され得る。
送信ウインドウ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０３３３】
任意選択で、決定ユニット９０４が、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定するように構成されることは、決定ユニット９０４によって、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、受信デバイスの受信ウインドウの初期値を決定することを含む。受信ウインドウの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。この事例において、送信ユニット９０６が、パラメータ設定メッセージを送信するように構成されることは、受信デバイスに受信ウインドウの初期値設定メッセージを送信することを含む。
【０３３４】
任意選択で、受信デバイスの受信ウインドウのサイズが、以下のとおり表現され得る。
Ｒｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０３３５】
任意選択で、決定ユニット９０４が、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定するように構成されることは、ＴＣＰ往復伝送遅延に従って、送信デバイスの再送タイムアウト間隔を決定することを含む。再送タイムアウト間隔は、ＴＣＰ往復伝送遅延と正の相関関係にある。この事例において、送信ユニット９０６が、パラメータ設定メッセージを送信するように構成されることは、送信デバイスに再送タイムアウト間隔設定メッセージを送信することを含む。
【０３３６】
任意選択で、決定ユニット９０４は、再送タイムアウト間隔を往復時間ＲＴＴに設定する。
【０３３７】
任意選択で、決定ユニット９０４が、第１の伝送パスおよび／または第２の伝送パスに従って、ＴＣＰデータ伝送のためのパラメータの値を決定するように構成されることは、ＴＣＰ往復伝送遅延に従って、受信デバイスの肯定応答待機時間を決定することを含む。肯定応答待機時間は、ＴＣＰ往復伝送遅延と正の相関関係にある。この事例において、送信ユニット９０６が、パラメータ設定メッセージを送信するように構成されることは、受信デバイスに受信ウインドウの肯定応答待機時間を送信することを含む。
【０３３８】
任意選択で、決定ユニット９０４は、肯定応答待機時間を往復時間ＲＴＴに設定する。
【０３３９】
任意選択で、決定ユニット９０４は、第１の伝送パスの帯域幅、およびＴＣＰ往復伝送遅延に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にある。
【０３４０】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ
【０３４１】
任意選択で、決定ユニット９０４は、第１の伝送パスの帯域幅、ＴＣＰ往復伝送遅延、およびパケットロス率に従って、送信デバイスの輻輳ウインドウＣｗｎｄの初期値を決定するようにさらに構成される。Ｃｗｎｄの初期値は、第１の伝送パスの帯域幅およびＴＣＰ往復伝送遅延と別々に正の相関関係にあり、かつパケットロス率と負の相関関係にある。
【０３４２】
任意選択で、送信デバイスの輻輳ウインドウのサイズが、以下のとおり表現され得る。
Ｃｗｎｄ＝第１の伝送パスの帯域幅×ＲＴＴ×（１−パケットロス率）
【０３４３】
任意選択で、送信ユニット９０６は、送信デバイスに輻輳ウインドウ設定メッセージを送信するようにさらに構成され、輻輳ウインドウ設定メッセージは、輻輳ウインドウの初期値を含む。送信デバイスは、輻輳ウインドウのサイズを、輻輳ウインドウ設定メッセージのインジケーションに従って輻輳ウインドウの初期値に設定すること、およびＴＣＰデータ伝送を実行することを行うように構成される。
【０３４４】
任意選択で、送信デバイスがＴＣＰデータ伝送を実行する場合、送信ウインドウの値は、輻輳ウインドウと受信ウインドウの値の間でより小さい値である。
【０３４５】
この実施形態において提供される技術的解決手法によれば、装置９００は、ＴＣＰデータ伝送のためのリソースおよびパラメータを適切に構成することができる。装置９００は、ノースバウンドインターフェースを介してアプリケーションサーバからＴＣＰ伝送リソース割当て要求を受信し、ＴＣＰ伝送リソース割当て要求に従ってＴＣＰデータ伝送のためのパスおよび帯域幅を適切に構成し、パスのＴＣＰ往復伝送遅延、パスのパケットロス率、およびパスの最適のＭＴＵ値などのパス情報を決定し、かつパス情報に従ってＴＣＰデータ伝送のためのパラメータを適切に構成する。これらのパラメータに従って、装置９００は、ＴＣＰデータ伝送に関する送信ウインドウの初期サイズを設定することによってＴＣＰの低速開始プロセスを回避することができる。さらに、送信ウインドウの初期値が、データ伝送パスの帯域幅、およびＴＣＰ往復時間に従って決定される。したがって、伝送は、比較的高いスループットで実行されることができ、かつ反復されるネットワーク検出によってもたらされるスライディングウインドウの半減変動がネットワークスループットに最終的に影響を及ぼすという従来技術の問題が回避される。コントローラによって戻されるＭＴＵ値が、データが、最適の長さに従ってセグメント化され、ネットワークデバイス上で伝送されることができることを確実にするのに使用され、かつより効果的なＴＣＰデータ伝送が実施される。
【０３４６】
図１０は、本発明の実施形態によるコンピューティングデバイス１０００のハードウェア構造の概略図である。図１０に示されるとおり、コンピューティングデバイス１０００は、プロセッサ１００２と、メモリ１００４と、入力／出力インターフェース１００６と、通信インターフェース１００８と、バス１０１０とを含む。プロセッサ１００２、メモリ１００４、入力／出力インターフェース１００６、および通信インターフェース１００８は、バス１０１０を介して通信可能に接続される。
【０３４７】
プロセッサ１００２は、汎用中央処理ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）、マイクロプロセッサ、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）、または１つもしくは複数の集積回路であって、関係付けられたプログラムを実行して、本発明のこの実施形態において提供される技術的解決手法を実施するようにし得る。
【０３４８】
メモリ１００４は、読取り専用メモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＲＯＭ）、スタティックストレージデバイス、ダイナミックストレージデバイス、またはランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）であり得る。メモリ１００４は、オペレーティングシステムおよび別のアプリケーションプログラムを記憶し得る。本発明のこの実施形態において提供される技術的解決手法が、ソフトウェアまたはファームウェアを使用することによって実施される場合、本発明のこの実施形態において提供される技術的解決手法を実施するためのプログラムコードが、メモリ１００４に記憶され、かつプロセッサ１００２によって実行される。
【０３４９】
入力／出力インターフェース１００６は、入力されたデータおよび情報を受信すること、および動作結果などのデータを出力することを行うように構成される。
【０３５０】
通信インターフェース１００８は、送受信する装置、例えば、トランシーバを、ただし、それに限定されることなく、使用して、コンピューティングデバイス１０００と別のデバイスまたは通信ネットワークの間で通信を実施する。
【０３５１】
バス１０１０は、コンピューティングデバイス１０００の構成要素（例えば、プロセッサ１００２、メモリ１００４、入力／出力インターフェース１００６、および通信インターフェース１００８）の間で情報を伝送するためのパスを含み得る。
【０３５２】
図１０に示されるコンピューティングデバイス１０００は、特定の実施プロセスにおいてプロセッサ１００２、メモリ１００４、入力／出力インターフェース１００６、通信インターフェース１００８、およびバス１０１０だけを示すものの、当業者は、コンピューティングデバイス１０００が、正常に実行されることを実施するのに要求される他の構成要素をさらに含むものと理解すべきことに留意されたい。さらに、特定の要件によれば、当業者は、コンピューティングデバイス１０００が、他のさらなる機能を実施するためのハードウェア構成要素をさらに含み得ることを理解すべきである。さらに、当業者は、コンピューティングデバイス１０００が、本発明のこの実施形態を実施するために必須の構成要素だけは含むが、必ずしも、図１０に示されるすべての構成要素は含まなくてもよいものと理解すべきである。
【０３５３】
図１０および前述の説明において示されるハードウェア構造は、本発明の実施形態において提供される様々なデータ伝送デバイスおよびデータ伝送システムに適用可能であり、本発明の実施形態において提供される様々なデータ伝送方法の実施に適用可能である。
【０３５４】
本出願において提供されるいくつかの実施形態において、開示されるシステム、装置、および方法は、他の態様で実施されてよいものと理解されるべきである。例えば、説明される装置実施形態は、例に過ぎない。例えば、モジュール分割は、論理的な機能分割に過ぎず、実施において他の分割であってよい。例えば、複数のモジュールもしくは構成要素が、組み合わされてよく、もしくは別のシステムに統合されてよく、またはいくつかの特性が、無視されてよく、もしくは実行されなくてよい。さらに、表示される、もしくは論じられる相互的な結合もしくは直接の結合もしくは通信接続は、いくつかのインターフェースを介して実施されてよい。装置もしくはモジュールの間の間接の結合もしくは通信接続は、電子形態、機械形態、または他の形態で実施され得る。
【０３５５】
別々の部分として説明されるモジュールは、物理的に別々であってよく、またはそうでなくてよく、モジュールとして表示される部分は、物理モジュールであってよく、またはそうでなくてよく、１つの位置に位置付けられてよく、または複数のネットワークモジュール上に分散されてよい。モジュールのいくつか、またはすべては、実施形態の解決手法の目的を実現する実際の必要性に従って選択され得る。
【０３５６】
さらに、本発明の実施形態における機能モジュールは、１つの処理モジュールに統合されてよく、またはモジュールの各々が物理的に単独で存在してよく、または２つ以上のモジュールが１つのモジュールに統合される。統合されたモジュールは、ハードウェアの形態で実施されてよく、またはソフトウェア機能モジュールに加えてハードウェアの形態で実施されてよい。
【０３５７】
前述の統合されたモジュールがソフトウェア機能モジュールの形態で実施される場合、統合されたユニットは、コンピュータ可読記憶媒体に記憶され得る。ソフトウェア機能モジュールが、記憶媒体に記憶され、本発明の実施形態において説明される方法のステップのいくつかを実行するようコンピューティングデバイス（パーソナルコンピュータ、サーバ、もしくはネットワークデバイスであり得る）に命令するためのいくつかの命令を含む。前述の記憶媒体は、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ（英語  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、略して、ＲＯＭ）、ランダムアクセスメモリ（英語  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、略して、ＲＡＭ）、磁気ディスク、または光ディスクなどのプログラムコードを記憶することができる任意の媒体を含む。
【０３５８】
最後に、前述の実施形態は、本発明の技術的解決手法を説明するように意図されるに過ぎず、本発明を限定するようには意図されないことに留意されたい。本発明は、前述の実施形態を参照して詳細に説明されるものの、当業者は、彼らが、本発明の実施形態の技術的解決手法の範囲を逸脱することなく、それでも、前述の実施形態において説明される技術的解決手法に変更を行ってよく、またはそれらのいくつかの技術的特性に対する均等の置換を行ってよいものと理解すべきである。
【図１】
0006389339.tif 000002
【図２】
0006389339.tif 000003
【図３】
0006389339.tif 000004
【図４】
0006389339.tif 000005
【図５】
0006389339.tif 000006
【図６】
0006389339.tif 000007
【図７】
0006389339.tif 000008
【図８】
0006389339.tif 000009
【図９】
0006389339.tif 000010
【図１０】
0006389339.tif 000011