(57)【要約】  本出願は伝送制御方法を説明する。コントローラとしてのデバイスが、データパケットを送信するようにピアデバイスを制御するために、複数のパラメータを運ぶ送信制御シグナリングを送信する。さらに、他のタイプの制御シグナリングもまた、ピアデバイスによって実行される、データパケットの送信ステータスおよび受信ステータスをフィードバックする動作を制御するために使用され得る。このようにして、接続の一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。このことは、一端にあるデバイスがデータ伝送を制御するように指定されると、一端にあるデバイスによって送信された制御シグナリングのパラメータおよび制御シグナリングの送信順序を単に変更するだけで、複数の伝送アルゴリズムを実装、アップグレード、および変更するのに便利である。
2021525044.tif 000002
【特許請求の範囲】
【請求項１】
伝送制御方法であって、前記方法が、
第1のデバイスによって、第1の制御シグナリングを第2のデバイスに送信するステップであって、前記第1の制御シグナリングが、第1のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第1の制御シグナリングが、第1のパケットシーケンス番号、前記第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含み、前記第1のデータパケットグループが、前記第1のパケットシーケンス番号の前記範囲にある前記第1のパケットシーケンス番号から始まるデータパケットであり、前記第1の送信時間間隔が、前記第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの少なくとも1つのデータパケットを受信するステップであって、前記少なくとも1つのデータパケットが、前記第1のデータパケットグループにおけるデータパケットである、ステップと
を含む、伝送制御方法。
【請求項２】
前記方法が、
前記第1のデバイスによって、受信された第1のデータパケットに基づいて第2の制御シグナリングを送信するステップであって、前記第1のデータパケットのパケットシーケンス番号が、前記少なくとも1つのデータパケットにおいて最大であり、前記第2の制御シグナリングが、第2のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第2の制御シグナリングが、第2のパケットシーケンス番号、前記第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含み、前記第2のデータパケットグループが、前記第2のパケットシーケンス番号の前記範囲にある前記第2のパケットシーケンス番号から始まるデータパケットであり、前記第2の送信時間間隔が、前記第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、前記第2のパケットシーケンス番号が、前記第1のデータパケットの前記パケットシーケンス番号よりも大きい、ステップ
をさらに含む、請求項1に記載の方法。
【請求項３】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および送信時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドの値が、前記第1の制御シグナリングのタイプに対応し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第1のパケットシーケンス番号の前記範囲を示し、前記第1の制御フレームにおける前記送信時間間隔フィールドの値が、前記第1の送信時間間隔を示す、請求項1または2に記載の方法。
【請求項４】
前記第2のデバイスからの少なくとも1つのデータパケットを受信する、前記ステップの後、前記方法が、
前記第1のデバイスによって、第3の制御シグナリングを前記第2のデバイスに送信するステップであって、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの前記第3の制御シグナリングへの応答を受信するステップであって、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記方法が、
前記第1のデバイスによって、第3のデータパケットグループを前記第2のデバイスに送信するステップであって、前記第3のデータパケットグループが、前記第3のパケットシーケンス番号の範囲にある第3のパケットシーケンス番号から始まるデータパケットである、ステップと、
前記第1のデバイスによって、第4の制御シグナリングを前記第2のデバイスに送信するステップであって、前記第4の制御シグナリングが、前記第3のパケットシーケンス番号、前記第3のパケットシーケンス番号の前記範囲、およびタイムスタンプを含み、前記タイムスタンプは、前記第1のデバイスが前記第4の制御シグナリングを送信するシステム時刻である、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの前記第4の制御シグナリングへの応答を受信するステップであって、前記第4の制御シグナリングへの前記応答が、前記タイムスタンプを含み、前記第4の制御シグナリングへの前記応答が、前記第3のデータパケットグループにおいて受信された、または受信されていないデータパケットに関する情報をさらに含む、ステップと
をさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記第4の制御シグナリングが、第4の制御フレームにカプセル化され、前記第4の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、前記第4の制御フレームにおける前記タイプフィールドの値が、前記第4の制御シグナリングのタイプに対応し、前記第4の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第3のパケットシーケンス番号を示し、前記第4の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第3のパケットシーケンス番号の前記範囲を示す、請求項5に記載の方法。
【請求項７】
前記第1のデータパケットグループ、前記第2のデータパケットグループ、および前記第3のデータパケットグループが、第1のフロー識別子番号、前記第1の制御シグナリング、前記第2の制御シグナリング、前記第3の制御シグナリング、および前記第4の制御シグナリングをそれぞれ運び、前記第3の制御シグナリングへの前記応答が配置されるパケット、および前記第4の制御シグナリングへの前記応答が配置されるパケットが、第2のフロー識別子番号をそれぞれ運ぶ、請求項4から6のいずれか一項に記載の方法。
【請求項８】
前記第1の制御シグナリングが第1の制御フレームにカプセル化され、前記第1の制御フレームが第1の制御パケットにカプセル化され、前記第1の制御フレームが第3のフロー識別子を運び、前記第1の制御パケットが第5の制御フレームをさらに含み、第5の制御シグナリングが前記第5の制御フレームにカプセル化され、前記第5の制御シグナリングが、第5のパケットグループを送信するように前記第2のデバイスに命令するために使用され、前記第5の制御フレームが第4のフロー識別番号を運ぶ、請求項1に記載の方法。
【請求項９】
前記第1の制御シグナリングが、ハンドシェイクパケットにカプセル化され、前記ハンドシェイクパケットは、前記第1のデバイスが前記第2のデバイスへの接続を確立するプロセスで使用されるパケットである、請求項1に記載の方法。
【請求項１０】
伝送制御方法であって、前記方法が、
第1のデバイスによって、第2のデバイスへの接続を確立するステップであって、前記接続が複数のパスに対応する、ステップと、
前記第1のデバイスによって、前記複数のパスにおける第1のパスで、第1のパケットを前記第2のデバイスに送信するステップであって、前記第1のパケットがデュアルパス識別子を含む、ステップと、
パケット伝送モードがシングルパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記第1のパスで受信するステップ、または
パケット伝送モードがマルチパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記複数のパスのそれぞれで受信するステップと
を含む、伝送制御方法。
【請求項１１】
前記マルチパス伝送が、冗長伝送または集約伝送のいずれか1つである、請求項10に記載の方法。
【請求項１２】
伝送制御方法であって、前記方法が、
第2のデバイスによって、第1のデバイスからの第1の制御シグナリングを受信するステップであって、前記第1の制御シグナリングが、第1のパケットシーケンス番号、前記第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含む、ステップと、
前記第2のデバイスによって、前記第1の制御シグナリングおよび前記第1の送信時間間隔に基づいて、複数の第1のデータパケットを前記第1のデバイスに送信するステップであって、前記複数の第1のデータパケットが、前記第1のパケットシーケンス番号の前記範囲にある前記第1のパケットシーケンス番号から始まるデータパケットである、ステップと
を含む、伝送制御方法。
【請求項１３】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および送信時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドの値が、前記第1の制御シグナリングのタイプに対応し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第1のパケットシーケンス番号の前記範囲を示し、前記第1の制御フレームにおける前記送信時間間隔フィールドの値が、前記第1の送信時間間隔を示す、請求項12に記載の方法。
【請求項１４】
少なくとも1つのデータパケットを前記第1のデバイスに送信する、前記ステップの後、前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの第2の制御シグナリングを受信するステップであって、前記第2の制御シグナリングが、第2のパケットシーケンス番号、前記第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含み、前記第2のパケットシーケンス番号が、前記第1のパケットのパケットシーケンス番号より大きい、ステップと、
前記第2のデバイスによって、前記第2の制御シグナリングおよび前記第2の送信時間間隔に基づいて、複数の第2のデータパケットを前記第2のデバイスに送信するステップであって、前記第2のデータパケットが、前記第2のパケットシーケンス番号の前記範囲にある前記第2のパケットシーケンス番号から始まるデータパケットである、ステップと
をさらに含む、請求項12または13に記載の方法。
【請求項１５】
前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの第3の制御シグナリングを受信するステップであって、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ステップと、
前記第2のデバイスによって、前記第3の制御シグナリングへの応答を前記第1のデバイスに送信するステップであって、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ステップ
をさらに含む、請求項12から14のいずれか一項に記載の方法。
【請求項１６】
前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの少なくとも1つの第3のデータパケットおよび第4の制御シグナリングを受信するステップであって、前記少なくとも1つの第3のデータパケットが、第3のデータパケットグループにおけるデータパケットであり、前記第4の制御シグナリングが、第3のパケットシーケンス番号、前記第3のパケットシーケンス番号の範囲、およびタイムスタンプを含み、前記第3のデータパケットグループが、前記第3のパケットシーケンス番号の前記範囲にある前記第3のパケットシーケンス番号から始まるデータパケットであり、前記タイムスタンプが、前記第4の制御シグナリングが送信されたときの前記第1のデバイスのシステム時刻である、ステップと、
前記第2のデバイスによって、前記第4の制御シグナリングのフィードバックパケットを前記第1のデバイスに送信するステップであって、前記フィードバックパケットが前記タイムスタンプを含み、前記フィードバックパケットが、前記少なくとも1つの第3のデータパケットに関する情報または前記第3のデータパケットグループにおける受信されていないデータパケットに関する情報をさらに含む、ステップと
をさらに含む、請求項12から15のいずれか一項に記載の方法。
【請求項１７】
前記第4の制御シグナリングが、第4の制御フレームにカプセル化され、前記第4の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、前記第4の制御フレームにおける前記タイプフィールドの値が、前記第4の制御シグナリングのタイプに対応し、前記第4の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第3のパケットシーケンス番号を示し、前記第4の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第3のパケットシーケンス番号の前記範囲を示す、請求項16に記載の方法。
【請求項１８】
前記複数の第1のデータパケット、前記複数の第2のデータパケットグループ、および前記少なくとも1つの第3のデータパケットグループが、第1のフロー識別子番号、前記第1の制御シグナリング、前記第2の制御シグナリング、前記第3の制御シグナリング、および前記第4の制御シグナリングをそれぞれ運び、前記第3の制御シグナリングへの前記応答が配置されるパケット、および前記第4の制御シグナリングへの前記応答が配置されるパケットが、第2のフロー識別子番号をそれぞれ運ぶ、請求項16または17に記載の方法。
【請求項１９】
伝送制御方法であって、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応し、前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの第1のパケットを前記複数のパスにおける第1のパスで受信するステップであって、前記第1のパケットがデュアルパス識別子を含み、前記デュアルパス識別子が、前記接続のパケット伝送モードを示すために使用される、ステップと、
前記パケット伝送モードがシングルパス伝送であることを前記デュアルパス識別子が示す場合、前記第2のデバイスによって、パケットを前記第1のデバイスに前記第1のパスで送信するステップ、または
前記パケット伝送モードがマルチパス伝送であることを前記デュアルパス識別子が示す場合、前記第2のデバイスによって、パケットを前記第1のデバイスに前記複数のパスのそれぞれで送信するステップと
を含む、伝送制御方法。
【請求項２０】
前記マルチパス伝送が、冗長伝送または集約伝送のいずれか1つである、請求項19に記載の方法。
【請求項２１】
伝送制御装置であって、前記装置が、
制御モジュールであって、前記制御モジュールが、第1の制御シグナリングを生成するように構成される、制御モジュールと、
送信モジュールであって、前記送信モジュールが、第1の制御シグナリングを第2のデバイスに送信し、前記第1の制御シグナリングが、第1のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第1の制御シグナリングが、第1のパケットシーケンス番号、前記第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含み、前記第1のデータパケットグループが、前記第1のパケットシーケンス番号の前記範囲にある前記第1のパケットシーケンス番号から始まるデータパケットであり、前記第1の送信時間間隔が、前記第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ように構成される、送信モジュールと、
受信モジュールであって、前記受信モジュールが、前記第2のデバイスからの少なくとも1つのデータパケットを受信し、前記少なくとも1つのデータパケットが、前記第1のデータパケットグループにおけるデータパケットである、ように構成される、受信モジュールと
を備える、伝送制御装置。
【請求項２２】
前記制御モジュールが、インターフェース機能を使用することにより、前記第1の制御シグナリングを前記送信モジュールに送達するようにさらに構成される、請求項21に記載の装置。
【請求項２３】
前記制御モジュールが、受信された第1のデータパケットに基づいて第2の制御シグナリングを生成し、前記第1のデータパケットのパケットシーケンス番号が、前記少なくとも1つのデータパケットにおいて最大である、ようにさらに構成され、
前記送信モジュールが、前記第2の制御シグナリングを送信し、前記第2の制御シグナリングが、第2のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第2の制御シグナリングが、第2のパケットシーケンス番号、前記第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含み、前記第2のデータパケットグループが、前記第2のパケットシーケンス番号の前記範囲にある前記第2のパケットシーケンス番号から始まるデータパケットであり、前記第2の送信時間間隔が、前記第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、前記第2のパケットシーケンス番号が、前記第1のデータパケットの前記パケットシーケンス番号よりも大きい、ように構成される、請求項21または22に記載の装置。
【請求項２４】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および送信時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドの値が、前記第1の制御シグナリングのタイプに対応し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第1のパケットシーケンス番号の前記範囲を示し、前記第1の制御フレームにおける前記送信時間間隔フィールドの値が、前記第1の送信時間間隔を示す、請求項21から23のいずれか一項に記載の装置。
【請求項２５】
前記送信モジュールが、第3の制御シグナリングを前記第2のデバイスに送信し、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ようにさらに構成され、前記受信モジュールが、前記第2のデバイスからの前記第3の制御シグナリングへの応答を受信し、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ようにさらに構成される、請求項21から24のいずれか一項に記載の装置。
【請求項２６】
前記送信モジュールが、第3のデータパケットグループを前記第2のデバイスに送信し、前記第3のデータパケットグループが、前記第3のパケットシーケンス番号の範囲第3のパケットシーケンス番号範囲にある第3のパケットシーケンス番号から始まるデータパケットであり、第4の制御シグナリングを前記第2のデバイスに送信し、前記第4の制御シグナリングが、前記第3のパケットシーケンス番号、前記第3のパケットシーケンス番号の前記範囲、およびタイムスタンプを含み、前記タイムスタンプは、前記第1のデバイスが前記第4の制御シグナリングを送信するシステム時刻である、ようにさらに構成され、
前記受信モジュールが、前記第2のデバイスからの前記第4の制御シグナリングへの応答を受信し、前記第4の制御シグナリングへの前記応答が、前記タイムスタンプを含み、前記第4の制御シグナリングへの前記応答が、前記第3のデータパケットグループにおける受信された、または受信されていないデータパケットに関する情報をさらに含む、ようにさらに構成される、
請求項21から25のいずれか一項に記載の装置。
【請求項２７】
伝送制御装置であって、前記装置が第1のデバイスに配置され、前記第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応し、前記装置は、制御モジュールであって、前記制御モジュールが第1のパケットを生成し、前記第1のパケットがデュアルパス識別子を含む、ように構成される、制御モジュールと、
送信モジュールであって、前記送信モジュールが、前記第1のパケットを前記第2のデバイスに前記複数のパスにおける第1のパスで送信するように構成される、送信モジュールと、
受信モジュールであって、前記受信モジュールが、パケット伝送モードがシングルパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記第1のパスで受信する、またはパケット伝送モードがマルチパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記複数のパスのそれぞれで受信する、ように構成される、受信モジュールと
を備える、伝送制御装置。
【請求項２８】
前記マルチパス伝送が、冗長伝送または集約伝送のいずれか1つである、請求項27に記載の装置。
【請求項２９】
伝送制御装置であって、前記装置が受信モジュールと送信モジュールとを備え、前記受信モジュールが、第1のデバイスからの第1の制御シグナリングを受信し、前記第1の制御シグナリングが、第1のパケットシーケンス番号、前記第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含む、ように構成され、
前記送信モジュールが、前記第1の制御シグナリングおよび前記第1の送信時間間隔に基づいて、複数の第1のデータパケットを前記第1のデバイスに送信し、前記複数の第1のデータパケットが、前記第1のパケットシーケンス番号の前記範囲にある前記第1のパケットシーケンス番号から始まるデータパケットである、ように構成される、
伝送制御装置。
【請求項３０】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および送信時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドの値が、前記第1の制御シグナリングのタイプに対応し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第1のパケットシーケンス番号の前記範囲を示し、前記第1の制御フレームにおける前記送信時間間隔フィールドの値が、前記第1の送信時間間隔を示す、請求項29から23のいずれか一項に記載の装置。
【請求項３１】
前記受信モジュールが、前記第1のデバイスからの第2の制御シグナリングを受信し、前記第2の制御シグナリングが、第2のパケットシーケンス番号、前記第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含み、前記第2のパケットシーケンス番号が、前記第1のパケットのパケットシーケンス番号より大きい、ようにさらに構成され、
前記送信モジュールが、前記第2の制御シグナリングおよび前記第2の送信時間間隔に基づいて、複数の第2のデータパケットを前記第2のデバイスに送信し、前記第2のデータパケットが、前記第2のパケットシーケンス番号の前記範囲にある前記第2のパケットシーケンス番号から始まるデータパケットである、ようにさらに構成される、
請求項29または30に記載の装置。
【請求項３２】
前記受信モジュールが、前記第1のデバイスからの第3の制御シグナリングを受信し、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ようにさらに構成され、
前記送信モジュールが、前記第3の制御シグナリングへの応答を前記第1のデバイスに送信し、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ようにさらに構成される、
請求項29から31のいずれか一項に記載の装置。
【請求項３３】
前記受信モジュールが、前記第1のデバイスからの少なくとも1つの第3のデータパケットおよび第4の制御シグナリングを受信し、前記少なくとも1つの第3のデータパケットが、第3のデータパケットグループにおけるデータパケットであり、前記第4の制御シグナリングが、第3のパケットシーケンス番号、前記第3のパケットシーケンス番号の範囲、およびタイムスタンプを含み、前記第3のデータパケットグループが、前記第3のパケットシーケンス番号の前記範囲にある前記第3のパケットシーケンス番号から始まるデータパケットであり、前記タイムスタンプが、前記第4の制御シグナリングが送信されたときの前記第1のデバイスのシステム時刻である、ようにさらに構成され、
前記送信モジュールが、前記第4の制御シグナリングのフィードバックパケットを前記第1のデバイスに送信し、前記フィードバックパケットが前記タイムスタンプを含み、前記フィードバックパケットが、前記少なくとも1つの第3のデータパケットに関する情報または前記第3のデータパケットグループにおける受信されていないデータパケットに関する情報をさらに含む、ようにさらに構成される、
請求項29から32のいずれか一項に記載の装置。
【請求項３４】
伝送制御装置であって、前記装置が第2のデバイスに配置され、第1のデバイスと前記第2のデバイスとの間の接続が複数のパスに対応し、前記装置が受信モジュールと送信モジュールとを備え、前記受信モジュールが、前記第1のデバイスからの第1のパケットを前記複数のパスにおける第1のパスで受信し、前記第1のパケットがデュアルパス識別子を含み、前記デュアルパス識別子が、前記接続のパケット伝送モードを示すために使用される、ように構成され、
前記送信モジュールが、前記パケット伝送モードがシングルパス伝送であることを前記デュアルパス識別子が示す場合、前記第2のデバイスによって、パケットを前記第1のデバイスに前記第1のパスで送信する、または前記パケット伝送モードがマルチパス伝送であることを前記デュアルパス識別子が示す場合、前記第2のデバイスによって、パケットを前記第1のデバイスに前記複数のパスのそれぞれで送信する、ように構成される、
伝送制御装置。
【請求項３５】
前記マルチパス伝送が、冗長伝送または集約伝送のいずれか1つである、請求項34に記載の装置。
【請求項３６】
伝送制御デバイスであって、前記デバイスが、処理回路と、通信インターフェースと、記憶媒体とを備え、前記記憶媒体が命令を記憶し、前記通信インターフェースが、プロセッサによって送達された前記命令に基づいて別のデバイスとの情報交換を実行するように構成され、前記プロセッサが、請求項1から9または請求項9から11のいずれか一項に記載の方法を実装するために、前記通信インターフェースを制御するために前記記憶媒体に記憶された前記命令を実行するように構成される、伝送制御デバイス。
【請求項３７】
伝送制御デバイスであって、前記デバイスが、処理回路と、通信インターフェースと、記憶媒体とを備え、前記記憶媒体が命令を記憶し、前記通信インターフェースが、プロセッサによって送達された前記命令に基づいて別のデバイスとの情報交換を実行するように構成され、前記プロセッサが、請求項12から18または請求項19および20のいずれか一項に記載の方法を実装するために、前記通信インターフェースを制御するために前記記憶媒体に記憶された前記命令を実行するように構成される、伝送制御デバイス。
【請求項３８】
命令を含み、前記命令がコンピュータで実行されると、前記コンピュータが請求項1から9、10および11、12から18、または19および20のいずれか一項に記載の方法を実行することが可能にされる、コンピュータ可読記憶媒体。
【請求項３９】
コンピュータプログラム製品であって、前記コンピュータプログラム製品が命令を含み、前記命令がコンピュータで実行されると、前記コンピュータは、請求項1から9、10および11、12から18、または19および20のいずれか一項に記載の方法を実行することができる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信分野に関し、詳細には、伝送制御方法および装置に関する。
【背景技術】
【０００２】
従来の通信モードでは、プロトコルスタックアーキテクチャ、例えば、一般的な伝送制御プロトコル（Transmission Control Protocol、TCP）、ユーザデータグラムプロトコル（User Datagram Protocol、UDP）、または図1に示されるようなGoogleによって提案されているクイックUDPインターネット接続（Quick UDP Internet Connections、QUIC）が通常使用され、プロトコルスタックアーキテクチャでは送信側が決定を行う。あるいは、いくつかのシナリオでより良い伝送パフォーマンスを得るために（例えば、ネットワークの輻輳をよりよく感知できるように）、図2に示されるような受信側が決定を行うプロトコルスタックアーキテクチャが使用される場合もある。
【０００３】
1つの接続のデータ送信側またはデータ受信側が配置されるデバイスは、エンドポイントデバイスと呼ばれ得る。実際のネットワーク構造では、エンドポイントデバイスは、例えば、端末デバイス、クラウドデバイス（例えば、クラウドサーバ）、またはいくつかの送信デバイス（例えば、クラウドプロキシサーバ、ロードバランサ、またはハイブリッドアクセスゲートウェイ）であり得る。1つのエンドポイントデバイスは、異なる接続または異なる期間で異なる役割を果たし得る。例えば、エンドポイントデバイスは、ある接続では送信側である場合もあれば、別の接続では受信側である場合もある。したがって、既存のプロトコルでは、1つの接続の2つのエンドポイントデバイスのプロトコルスタックは、パケット伝送を制御する機能を備える必要がある。例えば、送信側が決定を行うプロトコルスタックアーキテクチャの場合、パケットを送信する機能を持つすべてのエンドデバイスは、パケット伝送を制御する機能を備える必要がある。具体的には、デバイスの観点から、接続の両端にあるデバイスは、パケット制御を実装するように構成されたモジュールを備える必要があり、パケット伝送を制御するには両端協調が必要とされる。上述の両端制御の実装は比較的複雑である。多くの実際のサービスシナリオでは、プロトコルのアップグレードは不便であり、伝送制御アルゴリズムの変換への応答は遅く、制御は十分に柔軟ではない。
【発明の概要】
【課題を解決するための手段】
【０００４】
これに鑑みて、本発明の実施形態は、伝送制御方法および装置を提供する。接続の一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。さらに、一端にあるデバイスがデータ伝送を制御するように指定されると、伝送アルゴリズムが、一端にあるデバイスによって送信された制御シグナリングのパラメータおよび制御シグナリングの送信順序を変更することによって実装され得、また伝送アルゴリズムは、アップグレードおよび変更され得る。したがって、伝送アルゴリズムを実装、変更、およびアップグレードすることが便利である。
【０００５】
第1の態様によれば、本発明の一実施形態は、伝送制御方法を提供する。本方法は、第1のデバイスによって、第1の制御シグナリングを第2のデバイスに送信するステップであって、第1の制御シグナリングが、第1のデータパケットグループを送信するように第2のデバイスに命令する、ステップと、第1のデバイスによって、第2のデバイスからの少なくとも1つのデータパケットを受信するステップであって、少なくとも1つのデータパケットが、第1のデータパケットグループにおけるデータパケットである、ステップとを含む。
【０００６】
第1の制御シグナリングは、第1のパケットシーケンス番号、第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含み、第1のデータパケットグループは、第1のパケットシーケンス番号の範囲にある第1のパケットシーケンス番号から始まるデータパケットであり、第1の送信時間間隔は、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、第1のデバイスによって、第2のデバイスからの少なくとも1つのデータパケットを受信するステップであって、少なくとも1つのデータパケットが第1のデータパケットグループにおけるデータパケットである、ステップ。
【０００７】
第1の態様で説明される方法は、コントローラによって実行され、コントローラは、本出願で説明された様々な制御シグナリングを1つの接続で送信するデバイスである。第1の態様において言及された様々な制御シグナリングは、フレームにカプセル化されてもよいし、パケットにカプセル化されてもよいし、フレームにカプセル化されてからパケットにカプセル化されてもよい。制御シグナリングを運ぶ複数のフレームが、1つのパケットにカプセル化されてもよく、1つまたは複数の制御シグナリングが各フレームにカプセル化されてもよい。
【０００８】
第1の制御シグナリングは、送信制御シグナリングであり、第1のデータパケットグループを送信するように第2のデバイスに命令するために使用される。
【０００９】
送信時間間隔は、時間に関連するパラメータであり、帯域幅を使用することにより示されてもよいし、2つのパケットを送信するアクションが実行される時間間隔を使用することにより直接示されてもよいことに留意されたい。
【００１０】
一実装形態では、第1の制御シグナリングは、ハンドシェイクパケットにカプセル化され、ハンドシェイクパケットは、第1のデバイスが第2のデバイスへの接続を確立するプロセスで使用されるパケットである。このようにして、送信制御シグナリングは、リンク確立プロセスにおいて第2のデバイスに送信されてもよく、その結果、第2のデバイスは、データパケットを可能な限り早く送信することができる。このことは、従来技術と比較して、第2のデバイスが、送信制御シグナリングに起因して、より遅くデータパケットを送信するという問題を回避する。
【００１１】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および送信時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドの値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第1のパケットシーケンス番号の範囲を示し、第1の制御フレームにおける送信時間間隔フィールドの値が、第1の送信時間間隔を示す。
【００１２】
一実装形態では、第1の制御フレームは、フロー識別番号フィールドをさらに含み、第1の制御フレームにおけるフロー識別番号フィールドの値が、第1のパケットグループが属するデータフローを示すために使用される。一実装形態では、第1の制御フレームおよび第5の制御フレームが同じパケットにカプセル化され、第5の制御シグナリングは第5の制御フレームにカプセル化され、第5の制御フレームはまた、フロー識別番号フィールドを含み、第5の制御シグナリングが第5のパケットグループを送信するように第2のデバイスに命令し、第5の制御フレームにおけるフロー識別子フィールドの値が、第5のパケットグループが属するデータフローを示すために使用される。
【００１３】
このようにして、接続の一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。第1の制御シグナリングを受信した後、第2のデバイスは、第1の制御シグナリングの指示を第1のパケットグループの基地局に送信することを理解されたい。しかしながら、送信遅延および伝送遅延に起因して、第1のパケットグループが同時に到着しない、または第1のデバイスにおける送信時間間隔で連続して到着し、このことは、アウトオブオーダーまたはパケット損失を引き起こし得る。したがって、第1のデバイスは、第1のデータパケットグループにおける1つまたは複数のデータパケットを受信する。加えて、次の実装形態では、第1のデバイスは、制御を強化するために、別の制御命令を送信し続ける。
【００１４】
一実装形態では、第1のデバイスは、受信された第1のデータパケットに基づいて第2の制御シグナリングを送信する。
【００１５】
第1のデータパケットのパケットシーケンス番号は、少なくとも1つのデータパケットにおいて最大であり、第2の制御シグナリングは、第2のデータパケットグループを送信するように第2のデバイスに命令し、第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含み、第2のデータパケットグループは、第2のパケットシーケンス番号の範囲にある第2のパケットシーケンス番号から始まるデータパケットであり、第2の送信時間間隔は、第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、第2のパケットシーケンス番号は、第1のデータパケットのパケットシーケンス番号よりも大きい。
【００１６】
このようにして、第1のデバイスは、新しい制御シグナリングを送信する前に、すべての第1のデータパケットグループが受信されるのを待たず、その結果、ピア側の送信時に、より柔軟かつ効果的な制御が実行され得る。いくつかの実装形態では、第2の制御シグナリングの送信をトリガするための特定の条件が存在し得る。これらの条件は多様であり、すべての第1のデータグループがしばらくしても依然として受信されない、いくつかのデータパケットが受信されるたびに1つの制御シグナリングが送信されるように指定されるなどであり得る。
【００１７】
一実装形態では、第2のデバイスからの少なくとも1つのデータパケットを受信するステップの後、本方法は、第1のデバイスによって、第3の制御シグナリングを第2のデバイスに送信するステップであって、第3の制御シグナリングが第1のパケットシーケンス番号を含む、ステップと、第1のデバイスによって、第2のデバイスからの第3の制御シグナリングへの応答を受信するステップであって、第3の制御シグナリングへの応答が、第1のパケットシーケンス番号と、第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ステップをさらに含む。
【００１８】
一実装形態では、第3の制御シグナリングへの応答は、第1のパケットシーケンス番号から始まる複数の送信されたデータパケットに関する情報をさらに含む。複数の未送信または送信されたデータパケットに関する情報は、データパケットのシーケンス番号であってもよいし、データパケットの数であってもよい。
【００１９】
このようにして、第1のデバイスは、ピアデバイスがパケットを送信する場合をリアルタイムで追跡するために、第1のデータパケットグループの送信ステータスをフィードバックするように第2のデバイスに命令することができる。このようにして、第1のデバイスは、フィードバック情報に基づいて適時に後続の制御シグナリングのパラメータを調整することができる。上述のいくつかの制御命令および制御命令への応答は、本出願における送信制御部分を実行するために使用され得る。異なるパラメータを運ぶ、または異なる条件で送信される制御シグナリングは、データを送信するために使用される様々な伝送制御アルゴリズムを実装し得る。一実装形態では、第1のデバイスは、異なる伝送制御アルゴリズムに対応するコードを記憶し、各伝送制御アルゴリズムに対応するコードは、複数の制御シグナリングを含むべきである。1つの伝送制御アルゴリズムに対応するコードが、制御シグナリングが実行される条件および順序を記述するために使用され、対応する伝送制御アルゴリズムを実行するために、これらの制御シグナリングのパラメータをどのように変更するかを記述する。
【００２０】
一実装形態では、本方法は、第1のデバイスによって、第3のデータパケットグループを第2のデバイスに送信するステップであって、第3のデータパケットグループが、第3のパケットシーケンス番号の範囲にある第3のパケットシーケンス番号から始まるデータパケットである、ステップと、第1のデバイスによって、第4の制御シグナリングを第2のデバイスに送信するステップであって、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号の範囲、およびタイムスタンプを含み、タイムスタンプは、第1のデバイスが第4の制御シグナリングを送信するシステム時刻である、ステップと、第1のデバイスによって、第2のデバイスからの第4の制御シグナリングへの応答を受信するステップであって、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、第3のデータパケットグループにおける受信された、または受信されていないデータパケットに関する情報をさらに含む、ステップとをさらに含む。
【００２１】
第3のデータパケットグループにおける受信された、または受信されていないデータパケットに関する情報は、データパケットの数またはデータパケットのシーケンス番号であってもよいし、データパケットに対応するデータブロックに関する情報、例えばデータブロックの数またはシーケンス番号であってもよい。
【００２２】
このようにして、ピアデバイス上の受信制御、すなわち、ピアデバイスがデータパケットの受信ステータスに対するフィードバックを返す時間の制御が実装され得る。したがって、上記の送信制御に関連して、パケット伝送が完全に制御される。
【００２３】
一実装形態では、第4の制御シグナリングは、第4の制御フレームにカプセル化され、第4の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、第4の制御フレームにおけるタイプフィールドの値が、第4の制御シグナリングのタイプに対応し、第4の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第3のパケットシーケンス番号を示し、第4の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第3のパケットシーケンス番号の範囲を示す。
【００２４】
一実装形態では、第1のデータパケットグループ、第2のデータパケットグループ、および第3のデータパケットグループは、第1のフロー識別子番号、第1の制御シグナリング、第2の制御シグナリング、第3の制御シグナリング、および第4の制御シグナリングをそれぞれ運び、第3の制御シグナリングへの応答が配置されるパケット、および第4の制御シグナリングへの応答が配置されるパケットは、第2のフロー識別子番号をそれぞれ運ぶ。
【００２５】
一実装形態では、本方法は、第1のデバイスによって、第1のネゴシエーションシグナリングを第2のデバイスに送信するステップであって、ネゴシエーションシグナリングが、第1のデバイスの伝送パラメータおよびロールパラメータを含み、第1のデバイスの伝送パラメータが、第1のデバイスの伝送能力を示し、ロールパラメータは、第1のデバイスがパケット伝送を制御することを示す、ステップと、第1のデバイスによって、第2のデバイスからの第2のネゴシエーションシグナリングを受信するステップであって、ネゴシエーションシグナリングが、第2のデバイスの伝送パラメータおよびロールパラメータを含み、第2のデバイスの伝送パラメータが、第2のデバイスの伝送能力を示し、ロールパラメータの値は、第2のデバイスがパケット伝送を制御せず、第1のデバイスが、第1のデバイスの伝送パラメータ、第2のデバイスの伝送パラメータ、第2のデバイスのロールパラメータ、およびネゴシエーション規則に基づいてパケット伝送を制御することを示す、ステップとをさらに含む。
【００２６】
第2の態様によれば、本出願の一実施形態は、伝送制御方法を説明し、本方法は、第1のデバイスによって、第2のデバイスへの接続を確立するステップであって、接続が複数のパスに対応する、ステップと、第1のデバイスによって、複数のパスにおける第1のパスで第1のパケットを第2のデバイスに送信するステップであって、第1のパケットがデュアルパス識別子を含む、ステップと、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスによって、第2のデバイスによって送信されたパケットを第1のパスで受信するステップ、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスによって、第2のデバイスによって送信されたパケットを複数のパスのそれぞれで受信するステップとを含む。
【００２７】
マルチパス伝送は、冗長伝送または集約伝送のいずれか1つである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【００２８】
第3の態様によれば、本出願の一実施形態は、伝送制御方法を説明し、本方法は、第2のデバイスによって、第1のデバイスからの第1の制御シグナリングを受信するステップであって、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含む、ステップと、第2のデバイスによって、第1の制御シグナリングおよび第1の送信時間間隔に基づいて、複数の第1のデータパケットを第1のデバイスに送信するステップであって、複数の第1のデータパケットは、第1のパケットシーケンス番号の範囲にある第1のパケットシーケンス番号から始まるデータパケットである、ステップとを含む。
【００２９】
第3の態様で説明される方法は、第3の態様が第2のデバイスの観点から説明されることを除いて、第1の態様で説明される方法に対応する。したがって、第3の態様の様々な実装、説明、および有益な効果については、第1の態様の説明を参照されたい。
【００３０】
第4の態様によれば、本出願の一実施形態は、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する伝送制御方法を説明し、本方法は、第2のデバイスによって、第1のデバイスからの第1のパケットを複数のパスにおける第1のパスで受信するステップであって、第1のパケットがデュアルパス識別子を含み、デュアルパス識別子が、接続のパケット伝送モードを示すために使用される、ステップと、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって、パケットを第1のデバイスに第1のパスで送信するステップ、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって、パケットを第1のデバイスに複数のパスのそれぞれで送信するステップとを含む。
【００３１】
マルチパス伝送は、冗長伝送または集約伝送のいずれか1つである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【００３２】
第5の態様によれば、本出願の一実施形態は、伝送制御装置を説明し、本装置は、制御モジュールであって、制御モジュールが、第1の制御シグナリングを生成するように構成される、制御モジュールと、送信モジュールであって、送信モジュールが、第1の制御シグナリングを第2のデバイスに送信し、第1の制御シグナリングが、第1のデータパケットグループを送信するように第2のデバイスに命令し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含み、第1のデータパケットグループが、第1のパケットシーケンス番号の範囲にある第1のパケットシーケンス番号から始まるデータパケットであり、第1の送信時間間隔が、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ように構成される、送信モジュールと、受信モジュールであって、受信モジュールが、第2のデバイスからの少なくとも1つのデータパケットを受信し、少なくとも1つのデータパケットが、第1のデータパケットグループにおけるデータパケットである、ように構成される、受信モジュールとを備える。
【００３３】
一実装形態では、制御モジュールは、インターフェース機能を使用することにより、第1の制御シグナリングを送信モジュールに送達するようにさらに構成される。
【００３４】
第5の態様で説明された装置は、第1の態様で説明された方法を実行し得る。第5の態様で説明する装置は、第1の態様で説明された方法に対応するため、第5の態様の様々な実装、説明、および有益な効果については、第1の態様の説明を参照されたい。
【００３５】
第6の態様によれば、本出願の一実施形態は、伝送制御装置であって、本装置が第1のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する、伝送制御装置を説明し、本装置は、制御モジュールであって、制御モジュールが、第1のパケットを生成し、第1のパケットがデュアルパス識別子を含む、ように構成される、制御モジュールと、送信モジュールであって、送信モジュールが、第1のパケットを第2のデバイスに複数のパスにおける第1のパスで送信するように構成される、送信モジュールと、受信モジュールであって、受信モジュールが、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスによって、第2のデバイスによって送信されたパケットを第1のパスで受信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスによって、第2のデバイスによって送信されたパケットを複数のパスのそれぞれで受信する、ように構成される、受信モジュールとを備える。
【００３６】
マルチパス伝送は、冗長伝送または集約伝送のいずれか1つである。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【００３７】
一実装形態では、制御モジュールは、インターフェース機能を使用することにより、第1のパケットを送信モジュールに送達するようにさらに構成される。
【００３８】
第7の態様によれば、本出願の一実施形態は、伝送制御装置を説明し、本装置は受信モジュールと送信モジュールとを備え、受信モジュールが、第1のデバイスからの第1の制御シグナリングを受信し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含む、ように構成され、送信モジュールが、第1の制御シグナリングおよび第1の送信時間間隔に基づいて、複数の第1のデータパケットを第1のデバイスに送信し、複数の第1のデータパケットが、第1のパケットシーケンス番号の範囲にある第1のパケットシーケンス番号から始まるデータパケットである、ように構成される。
【００３９】
第7の態様は、第3の態様の方法に対応する装置を説明する。第3の態様で説明される方法は、第3の態様が第2のデバイスの観点から説明されることを除いて、第1の態様で説明される方法に対応する。したがって、第3の態様の様々な実装、説明、および有益な効果については、第1の態様の説明を参照されたい。
【００４０】
第8の態様によれば、本出願の一実施形態は、伝送制御装置であって、本装置が第2のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する、伝送制御装置を説明し、本装置が受信モジュールと送信モジュールとを備え、受信モジュールが、第1のデバイスからの第1のパケットを複数のパスにおける第1のパスで受信し、第1のパケットがデュアルパス識別子を含み、デュアルパス識別子が、接続のパケット伝送モードを示すために使用される、ように構成され、送信モジュールは、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって、パケットを第1のデバイスに第1のパスで送信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって、パケットを第1のデバイスに複数のパスのそれぞれで送信する、ように構成される。
【００４１】
マルチパス伝送は、冗長伝送または集約伝送のいずれか1つである。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【００４２】
第9の態様によれば、本出願の一実施形態は、伝送制御デバイスを説明し、本デバイスが、処理回路と、通信インターフェースと、記憶媒体とを備え、記憶媒体が命令を記憶し、通信インターフェースが、プロセッサによって送達された命令に基づいて別のデバイスとの情報交換を実行するように構成され、プロセッサが、第1の態様または第2の態様の実装形態のいずれか1つによる方法を実装するために、通信インターフェースを制御するために記憶媒体に記憶された命令を実行するように構成される。
【００４３】
第9の態様は、第1の態様または第2の態様に対応する装置を説明する。第9の態様の様々な具体的な実装、説明、および技術的な効果については、第1の態様および第2の態様の説明を参照されたい。ここでは細部を繰り返し説明しない。
【００４４】
第10の態様によれば、本出願の一実施形態は、伝送制御デバイスを説明し、本デバイスが、処理回路と、通信インターフェースと、記憶媒体とを備え、記憶媒体が命令を記憶し、通信インターフェースが、プロセッサによって送達された命令に基づいて別のデバイスとの情報交換を実行するように構成され、プロセッサが、第3の態様または第4の態様の実装形態のいずれか1つによる方法を実装するために、通信インターフェースを制御するために記憶媒体に記憶された命令を実行するように構成される。
【００４５】
第10の態様は、第3の態様または第4の態様に対応する装置を説明する。第10の態様の様々な具体的な実装、説明、および技術的な効果については、第3の態様および第4の態様の説明を参照されたい。ここでは細部を繰り返し説明しない。
【００４６】
第11の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラム製品が、第1から第4の態様の実装形態における方法のいずれか1つを実装するために使用されるプログラムコードを記憶する。
【００４７】
第12の態様によれば、命令を含むコンピュータ可読記憶媒体が提供され、命令がコンピュータ上で実行されると、コンピュータは、第1から第4の態様の実装形態のいずれか1つにおける方法を実装するために使用されるプログラムコードを実行することができる。
【００４８】
本発明の実施形態における技術的な解決策をより明確に説明するために、以下、実施形態を説明するために必要な添付の図面を簡単に説明する。当然のことながら、以下の説明における添付の図面は、本発明の一部の実施形態を単に示すものであり、当業者は、創造的努力がなくても、これらの添付の図面から他の図面を導出することができる。
【図面の簡単な説明】
【００４９】
【図１】データ送信側が伝送を制御するシステムの概略図である。
【図２】データ受信側が伝送を制御するシステムの概略図である。
【図３】本出願によるネットワークシステムの概略図である。
【図４】本出願によるデバイスの構成図である。
【図５】本出願によるフレームヘッダの概略図である。
【図６】本出願による送信制御シグナリングの概略図である。
【図７】本出願によるピア情報要求シグナリングへの応答の概略図である。
【図８】本出願による受信制御シグナリングの概略図である。
【図９】本出願による伝送制御方法のフローチャートである。
【図１０】本出願による伝送制御方法を実行するためのシステムの概略図である。
【図１１】本出願によるコントローラをネゴシエートするための方法のシグナリング相互作用の概略図である。
【図１２】本出願による伝送制御方法を実行するための装置の概略図である。
【図１３】本出願による伝送制御方法を実行するための別の装置の概略図である。
【図１４】本出願による伝送制御方法を実行するためのまた別の装置の概略図である。
【発明を実施するための形態】
【００５０】
本発明の実施形態は、伝送制御方法、装置、およびシステムを提供する。以下、本発明の実施形態における添付の図面を参照しながら、本発明の実施形態における技術的な解決策を明確かつ完全に説明する。本発明の実施形態に基づいて、当業者によって創造的努力なしに得られるすべての他の実施形態は、本発明の保護範囲内に含まれるものとする。
【００５１】
上記の両端制御は、実際のシナリオでは極めて一般的である。例えば、現在、人々は、情報またはサービスを取得するためにインターネットに接続するために携帯電話などの端末デバイスを使用する。これは、クラウド側デバイスとエンド側デバイスとの間の一般的な通信である。端末製品は急速に発展しており、端末製品のハードウェアおよびオペレーティングシステムは複数のアプリケーションをサポートし得る。エンド側デバイスのソフトウェアは、オンラインアップグレードを通して、または更新パッケージをダウンロードすることなどによって通常更新される。この柔軟な更新方式は、サービス要件の変更に密に追従し、新しいサービスのネットワーク伝送品質を保証でき、その結果、端末製品はより多くのタイプのより複雑なサービスをサポートし得る。端末上のアプリケーションまたはウェブページによって提供されるサービスは、クラウド（例えば、サーバまたはクラウドプラットフォーム）とのデータ交換に通常依存する。急速に変化する端末市場とは異なり、伝送の別の当事者としてのクラウド側デバイスは、サービスの数の多さやサービスの複雑さなどの特性に起因して、更新頻度、更新速度、さらには更新許可さえも大幅に制限されている。クラウド側デバイスはサービスコンテンツプロバイダとして機能し、この制限は、モバイルインターネットの伝送品質の向上を大幅に制限する。
【００５２】
したがって、本出願は、伝送制御方法および装置を提供する。本方法によれば、一端にあるデバイスがパケット伝送を制御することができる。パケット送信がデータ送信側またはデータ受信側によって制御される従来技術とは異なり、一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを伝送し、パケット受信ステータスをフィードバックするだけで済む。このようにして、伝送制御アルゴリズムのステップは、一端による制御を通じて実装され得る。両端にあるデバイスは、伝送制御アルゴリズムのアップグレードまたは切り替えに関与する必要がなく、したがって、アップグレードはより便利かつ効率的に完了され得る。本出願では、制御されたパケットは、主にデータパケットである、つまりデータパケットであり、かついくつかのフィードバックパケットをさらに含み得る。このようにして、パケット伝送を制御するデバイスが指定され得る、またはコントローラ（コントローラまたはコントローラとも呼ばれる）が、接続の両端にあるデバイスのネゴシエーションを通じて決定され得る。この場合、他端にあるデバイスは決定を行う必要がなく、コントローラの制御命令のみに基づいてパケットを送信し得る。本出願で説明される方法は、様々な通信シナリオに、例えば、端末デバイス間の通信、クラウドデバイス間の通信、端末デバイスとクラウドデバイスとの間の通信（略して、エンドクラウド通信と呼ばれる）に適用可能である。
【００５３】
本出願においてAおよび／またはBは、AおよびB、またはAもしくはBを示すことに留意されたい。
【００５４】
以下、本出願で使用されるいくつかの用語について説明する。
【００５５】
接続は、送信側（sender）と受信側（receiver）との間のデータ伝送に使用される。1つの接続は、ネットワークトポロジにおける複数のパス（path）に対応することができ、複数のフロー（flow）は、1つの接続で伝送され得る。パスは、送信側（sender）と受信側（receiver）との間のリンク（link）である。複数のフローは、1つのアプリケーションに属してもよいし、異なるアプリケーションに属してもよい。パスは、4タプルまたは5タプルを使用することにより識別され得る。例えば、5タプルは、送信元IPアドレスと、送信元ポート番号と、宛先IPアドレスと、宛先ポート番号と、トランスポート層プロトコル名とを含む。
【００５６】
伝送：双方向の情報交換、すなわち送信と受信との両方が含まれる。
【００５７】
ACK（Acknowledgement）：確認応答パケット、肯定応答パケット、またはACKパケットとも呼ばれる。本出願では、ACKは、1つまたは複数の受信データパケットを送信側にフィードバックするために受信側によって使用される。これに対応して、NACK（すなわち、Non−Acknowledgement）があり、NACKは、受信されていない1つまたは複数のデータパケットを送信側にフィードバックするために受信側によって使用される。
【００５８】
輻輳ウィンドウ（CWND、congestion window）は、TCPデータ伝送における輻輳制御の場合に、データの送信元側によって一度に送信され得るデータパケットの最大数である。輻輳ウィンドウは、cwndまたはCWNDと省略される場合があることを理解されたい。
【００５９】
送信ウィンドウは、ウィンドウ（window）とも呼ばれ、データ送信側が送信を許可されたバイト数を示すために使用され、また、データ送信側が一度に送信キューに入れることをデータ受信側が許可する最大データ量でもある。
【００６０】
RTT（Round−trip Time）：ラウンドトリップタイムであり、送信側がデータを送信した時間から、データに対応し、かつ受信側によって送信された受信確認情報（例えば、ACKまたはNACK）が受信された時間までの遅延を表す。
【００６１】
ハンドシェイクパケット（Handshake packet）：安全な暗号化された伝送プロトコルを介してクライアントとステーションとの間の接続を確立するために使用されるパケットである。ハンドシェイクパケットは、接続のハンドシェイクフェーズで発生する。安全な暗号化された伝送は、トランスポート層セキュリティ（Transport Layer Security、TLS）プロトコル、セキュアソケット層（Secure Sockets Layer、SSL）プロトコル、データグラムトランスポート層セキュリティ（Datagram Transport Layer Security、DTLS）プロトコルなどを使用することにより実装され得る。
【００６２】
フロー（flow）：接続で伝送されるパケットグループである。複数のフローが接続上で伝送され得、パケットグループのパケットヘッダは同じフロー識別子番号を運ぶ。パケットグループは、サービスまたはサービスを実装するために使用され得る。例えば、ストリームは、ウェブページ上の一群の写真のデータ、またはビデオウェブサイト上の小容量のビデオのデータを伝送するために使用される。
【００６３】
エンドクラウド通信シナリオが例として用いられる。図3は、本出願における一般的なネットワークシステムを示している。図3では、端末とクラウドデバイス（例えば、図に示されているクラウドプラットフォーム1、クラウドサーバ2、およびクラウドサーバ3）との間のリンクは、ハイブリッドアクセスゲートウェイまたはプロキシサーバを通過し得る。本出願で説明される伝送制御方法におけるコントローラは、端末であり得る。この場合、制御対象のデバイスは、クラウドデバイス（例えば、クラウドサーバ3）、ハイブリッドアクセスゲートウェイ、またはプロキシサーバである。逆に、コントローラはクラウドデバイス（例えば、クラウドサーバ3）、ハイブリッドアクセスゲートウェイ、またはプロキシサーバであり、制御対象のデバイスは、これらのデバイスにアクセスする端末である。例えば、端末デバイスがコントローラである場合、端末デバイスとクラウドとの間の通信は、端末によって常に制御され得る。この場合、端末デバイスのみがアップグレードされる必要があり、当然のことながら、このことは、より簡単に実装され得る。あるいは、クラウドデバイスがコントローラとして使用され、すべての端末デバイスとクラウドデバイスとの間の通信プロセスでは、パケット伝送はクラウドデバイスによって常に制御される。したがって、伝送アルゴリズムがアップグレードまたは調整される必要がある場合、クラウドデバイスのみが伝送パフォーマンスを最適化するために調整される必要があり、当然のことながら、このことも、クラウドサービスプロバイダまたはネットワークサービスプロバイダにとって非常に便利である。
【００６４】
本出願におけるデバイスは、クラウドデバイスまたは端末デバイスであり得る。様々なクラウドプラットフォームがクラウドデバイスで実行され得、アプリケーションのクライアントが端末デバイスで実行され得る。具体的には、図4に示されるように、デバイスのハードウェアは、メモリ、プロセッサ、およびネットワーク相互接続に使用されるネットワークインターフェースカードなどの様々なハードウェアコンポーネントまたは装置を含む。デバイスのソフトウェアは、オペレーティングシステムおよびオペレーティングシステムのユーザモードで実行されるアプリケーション（例えば、アプリケーション1、アプリケーション2、およびアプリケーション3）を含む。オペレーティングシステムは、カーネルモードとユーザモードとに分けられ得る。多層構造では、プロトコルスタックはカーネルモードとユーザモードとの両方に分散される。しかしながら、デバイスに構成され得る異なるプロトコルスタックの場所もわずかに異なる。例えば、UDP、ストリーム制御伝送プロトコル（Stream Control Transmission Protocol、STCP）などは、カーネルモードプロトコルであり、QUICプロトコルおよびいくつかのプライベートプロトコルは、ユーザモードプロトコルに属し、TCPプロトコルは、カーネルモードプロトコルまたはユーザモードプロトコルであり得る。デバイスは、複数の伝送プロトコルで通常構成される。本出願では、デバイスによってサポートされるプロトコルのタイプは限定されない。
【００６５】
本出願で説明される伝送方法は、新しい伝送プロトコルを提案する。新しい伝送プロトコルは、既存のプロトコルを変更するか、独自のプロトコルを定義することによって実装される。デバイスに対応するソフトウェア構造は、既存のプロトコルスタック、例えば、TCPプロトコルスタック、UDPプロトコルスタック、またはQUICプロトコルスタックに対するユーザモードもしくはカーネルモードにおける改良であり得る、あるいは新しい独自のプロトコルスタックが、ピアデバイスを制御するために、統一されたフォーマットを有し、制御シグナリングを運ぶ制御パケットまたはフレームを生成するためにユーザモードに追加され、制御パケットのフォーマットまたはフレームのフォーマットが、データパケットのフォーマットとは異なり得る。制御シグナリングは、複数の方式で運ばれ得る。例えば、既存のプロトコルの拡張パケットヘッダに基づいて、パケットに依存しないフレームが使用され（例えば、この形式はQUICプロトコルを改善するために使用される）、制御シグナリングはQUICパケットまたはUDPパケット）のペイロードとして使用される、または制御シグナリングはTCPプロトコルのオプションoptionで定義される。制御パケットまたはフレームの過度の送信を回避するために、1つの制御パケットまたはフレームは、複数の制御シグナリングを運ぶことができ、具体的な実装形態は、本出願において限定されない。例えば、一実装形態では、1つの制御パケットは複数のフレームを含み、各フレームは1つの制御シグナリングを含む。各フレームは1つのフローIDを運ぶことができ、1つのフローIDは接続で伝送される1つのフローを表すため、1つの制御パケットは異なるフローのパケット伝送を制御するために使用される制御シグナリングを運ぶことができる。別の実装形態では、1つのフレームが複数の制御シグナリングを運ぶ。このようにして、フレームヘッダの数が低減され得、フレームの特定の負荷に対応するフローの制御シグナリングが事前に定義され得る。
【００６６】
本出願では、ローカルデバイスがコントローラであるという観点から説明が提供される。伝送制御は、少なくとも2つの態様、すなわち、送信制御、つまり、データを運ぶパケットをピアデバイスがどのように送信するかをローカルデバイスが制御することと、受信制御、つまり、ピアデバイスにデータを送信した後、ピアデバイスがデータの受信結果をどのようにフィードバックするかをローカルデバイスが制御することとを含む。本出願でフィードバックされる結果は、以下で新しく定義されるフォーマットを使用し得ることを理解されたい。あるいは、既存のTCPプロトコルにおけるACKまたはNACKなどのフィードバックパケットのフォーマットを参照することもできる。2つのタイプの制御を実装するために使用される制御シグナリングは、異なるタイプのパラメータを運ぶ。コントローラであるデバイスは、制御シグナリングを絶えず送信し、制御シグナリングで運ばれるパラメータの値を調整することによって、様々な伝送制御アルゴリズムを実装し得る。例えば、ローカルデバイスは、伝送制御アルゴリズムを切り替えたり、伝送制御アルゴリズムの異なるフェーズを実装したりするために、接続されたネットワークステータスに基づいてパラメータを調整する。ネットワークステータスは、これらのパラメータ、すなわち、帯域幅、遅延（伝送遅延またはラウンドトリップタイム）、遅延変動（ジッタ）、パケット損失率、アクセスされたネットワークの信号強度などのうちの少なくとも1つによって表され得る。
【００６７】
このようにして、伝送プロセスにおいて、ローカルデバイスは、伝送制御アルゴリズムを切り替えるためにリアルタイムで調整を実行することができる。具体的には、異なるシナリオにおける異なるアプリケーションのためにより良いネットワークサービス品質を提供するためにパラメータが調整される。
【００６８】
加えて、ローカルデバイスは、異なる伝送制御アルゴリズムを実装するために使用される複数の制御シグナリングセットを維持し、異なる伝送制御アルゴリズムのうちの1つまたは複数は、デフォルトの伝送制御アルゴリズムに設定され得る。当然のことながら、制御シグナリングセットが代替的に追加されてもよく、その結果、ローカルデバイスはより多くの伝送制御アルゴリズムをサポートする。ローカルデバイスの伝送制御はまた、上述の制御シグナリングを使用することにより実施され得、制御シグナリングは、定義されたインターフェース機能を使用することにより転送される。このようにして、様々な伝送制御アルゴリズムは、基本的な形態素として以下のいくつかのタイプの制御シグナリングを使用することができ、パラメータの変更、パラメータの連続的な繰り返し、およびパラメータの組み合わせによって表現される。例えば、以下のいくつかのタイプの制御シグナリングは、26個の英字と見なされ得、様々な単語が組み合わされて様々な文を形成するために生成され得、これらの単語および文は、多様な伝送制御アルゴリズムである。したがって、本出願で説明される制御シグナリングが使用される場合、既存のプロトコルで指定されるネットワークパラメータ、例えば帯域幅、パケット損失率、またはラウンドトリップタイムなどのパラメータが、接続の伝送パフォーマンスを記述するために依然として使用され得る。したがって、制御シグナリングの送信順序およびパラメータを運ぶ規則が変更されるという条件で、アルゴリズムロジック全体を置き換えることなく、伝送制御アルゴリズムが調整され得る。このことは、デバイスによる処理をより簡素かつ便利にし、伝送制御アルゴリズムのアップグレードまたは調整の作業負荷を軽減し、アップグレードの効率を向上させる。
【００６９】
制御シグナリングは、制御パケットまたは制御フレームにカプセル化され得る。例えば、制御シグナリングはフレームとしてカプセル化され、UDPパケットの負荷として使用される。非データパケット（例えば、制御シグナリングおよびその応答）とデータとは、異なるフローで送信され得る。異なるフローは異なるIDによって識別され、異なるIDはフロー識別番号またはフローIDと呼ばれる。換言すれば、1つの接続は複数のフローによって再利用される、つまり、制御フローとデータフローとは分離され、データフローと制御フローとは異なるトランスポートプロトコルを使用し得る。一実装形態では、データフローと制御フローとは同じアプリケーションに属し、アプリケーションのデータのみが1つのデータフローとデータフローに対応する制御フローとで送信される。一実装形態では、複数のアプリケーションの制御シグナリングは、同じ制御フローで送信される。このようにして、伝送における順序をよりよく維持するために、シーケンス番号が制御フレームまたは制御パケットに別々に割り当てられ得る。例えば、制御フレームのシーケンス番号は、公差が1の漸進的に増加するシーケンスによって表される。一実装形態では、各制御フレームは、制御フレームで運ばれる制御シグナリングのタイプを表すために、タイプパラメータを含み得、これは、制御シグナリングを受信するデバイスがタイプを識別するのを助ける、つまり、同じタイプの制御シグナリングが、コントロールフレームにカプセル化される。パラメータはフレームヘッダで運ばれ得、制御シグナリングもフレームヘッダの後の部分で運ばれる。フレームヘッダは、タイプおよびフレームシーケンス番号を含む一般的なフォーマットであり得る。別の実装形態では、フレームヘッダは、上記のフロー識別番号を運ぶために使用されるフロー識別子フィールドをさらに含む。例えば、図5に示されるフレームヘッダ構造では、タイプフィールドの長さは8bit（1バイト）であり、フロー識別子フィールドの長さは32bit（4バイト）であり、フレームシーケンス番号フィールドの長さは32bit（4バイト）である。したがって、異なるフローを制御し、データパケットのものである制御シグナリングは、異なるフレームにカプセル化され得る。タイプフィールドは、それ自体で値を定義できる。例えば、送信制御フレームのタイプフィールドは0x01であり、ピア情報要求フレームのタイプフィールドは0x02であり、ピア情報応答フレームのタイプフィールドは0x03であり、受信制御フレームのタイプフィールドは0x04であると定義され、様々なフレームが対応するタイプのシグナリングを運ぶ。
【００７０】
接続では、両端にあるデバイスが、接続のリンク確立フェーズで、またはリンク確立の前でさえ、コントローラになる1つのデバイスを決定できる。リンク確立フェーズの決定プロセスが以下に説明される。当然のことながら、デバイスも指定されてもよいし、デフォルトで、一端にあるデバイスがコントローラであると指定されてもよい。以下、第1のデバイスと第2のデバイスとが接続を介してデータを伝送し、第1のデバイスがコントローラである例を使用して、第1のデバイスがピアデバイス、すなわち第2のデバイスによってデータを伝送するプロセスで使用されるシグナリングを制御することを説明する。例えば、エンドクラウド通信のシナリオでは、第1のデバイスは端末であり、第2のデバイスは、クラウドサーバ、クラウドプロキシサーバ、ロードバランサ、またはハイブリッドアクセスゲートウェイである。
【００７１】
第1のシナリオでは、第1のデバイスはデータ受信側であり、上記の送信制御に対応する。
【００７２】
送信制御は、次のタイプのシグナリングを含む。
【００７３】
送信制御シグナリングは、送信制御シグナリングに含まれる送信制御パラメータを使用することにより、送信制御シグナリングに基づいて、送信されるべきパケットおよびこれらのパケットが送信されるべき時間間隔を送信するようにピアデバイスに命令する。含まれる送信パラメータは、複数の方式で組み合わされ得る。
【００７４】
具体的には、送信制御パラメータは、初期パケットシーケンス番号、パケットシーケンス番号範囲、および送信時間間隔であり得る。初期パケットシーケンス番号は、パケットシーケンス番号（Sequence Number、SN）であり、1つの制御シグナリングを使用することにより送信されるように制御される複数のパケットの中で第1のパケット、例えば最小のパケットシーケンス番号を有するパケットを示すために使用される。
【００７５】
送信制御シグナリングは、パケットシーケンス番号範囲にある初期パケットシーケンス番号から始まるパケットを送信し、かつパケットを送信時間間隔で送信するようにピアデバイスに命令する。初期パケットシーケンス番号の値は、パケットのシーケンス番号である。パケットシーケンス番号は、パケットを識別し得る、またはパケットのシーケンスを識別し得ることを理解されたい。例えば、より小さいパケットシーケンス番号を有するパケットが最初に処理される（例えば、送信または受信される）べきである。既知のプロトコルの場合、パケットシーケンス番号の命名規則が決定され、本出願はその規則を参照し得る。独自のプロトコルの場合、パケットシーケンス番号の命名規則も指定される必要がある。したがって、送信される必要があるパケットは、初期パケットシーケンス番号およびパケットシーケンス番号範囲を使用することにより表され得る。送信時間間隔は、時間に関連するパラメータであり、帯域幅を使用して示されてもよいし、時間間隔を使用して直接示されてもよい。これは、決定されたプロトコルでは、各パケットの長さがわかっている、つまり、パケットのペイロードがわかっており、帯域幅が単位時間あたりに送信されるデータ量を表すためである。したがって、帯域幅とパケットを送信するアクションが実行される時間間隔との間には、明確な数学的関係がある。例えば、1回の送信制御シグナリングで運ばれる初期パケットシーケンス番号は12であり、パケットシーケンス番号範囲は10であり、送信時間間隔は帯域幅で表され、帯域幅の値は1mbpsである。接続のプロトコルにおいて、データパケットのパケットシーケンス番号が、公差が1である等差数列に番号付けされている場合、この場合、送信制御シグナリングは、シーケンス番号が12〜21の10個のパケットを1／（1mbps）の時間間隔で、すなわち帯域幅の値の逆数で送信するように命令する。
【００７６】
一実装形態では、図6に示されるように、送信制御シグナリングにおいて、パケットシーケンス番号（すなわち、初期パケットシーケンス番号）フィールドの長さは32bit（4バイト）であり、パケットシーケンス番号範囲フィールドの長さは32bit（4バイト）であり、送信時間間隔フィールドの長さは32bit（4バイト）である。例えば、3つのフィールドの配置順序が図6に示され得る。送信制御フレームは、1つまたは複数の送信制御シグナリングを含み得る。複数の送信制御シグナリングが含まれる場合、フレーム内の制御シグナリングの数を示すために、1つのフィールドが送信制御フレームに含まれるべきである。
【００７７】
一実装形態では、第1のデバイスは、新しい送信制御シグナリングの送信をトリガするために、パケットシーケンス番号がAであるデータパケットを受信する。新しい送信制御シグナリングにおけるパラメータの値は、第1のデバイスと第2のデバイスとの間に適用される伝送制御アルゴリズムに関連する。例えば、新しい送信制御シグナリングにおける初期パケットシーケンス番号はA＋1である。
【００７８】
上述のシグナリングを使用することにより、ピアデバイスのデータパケットの送信が制御され得る。ピアデバイスによるデータの送信方式を決定するために変更される必要があるのは、送信制御シグナリングにおけるパラメータのみである。
【００７９】
いくつかのアルゴリズムでは、制御シグナリング、すなわちピア情報要求シグナリングおよび制御シグナリングへの応答、つまりピア情報応答が制御に使用される必要がさらにある。
【００８０】
ピア情報要求シグナリングは、ピア情報要求シグナリングへの応答を送信するようにピアデバイスに命令するために使用される、つまり、パケットシーケンス番号から始まる複数のデータパケットの送信ステータスをフィードバックするようにピアデバイスに命令する。ピア情報要求シグナリングはパケットシーケンス番号を含み、パケットシーケンス番号は、ピア情報要求シグナリングの初期パケットシーケンス番号である。このようにして、ローカルデバイスは、応答に基づいて、ピアデバイスの送信キューの残りの長さを把握し得る、つまり、ピアデバイスの送信キュー内の送信対象のパケットの数またはデータの量を把握し得る。これに基づいて、ローカルデバイスは、接続で送信されるフローまたは接続によってサービス提供されるアプリケーションのトラフィックが制限されているか否かを判定し、ローカルデバイスによって現在推定されている帯域幅の値が実際のネットワーク帯域幅またはアプリケーションが制限されている場合の帯域幅と一致しているか否かも判定し得る。したがって、一般に、1つのピア情報要求シグナリングと1つの送信制御シグナリングとは、同じ初期パケットシーケンス番号を運び得る。時系列によれば、少なくとも1つの制御シグナリングが送信された後、1つのピア情報要求シグナリングが送信される。本出願では、ピア情報要求シグナリングの送信をトリガするための条件は限定されない。例えば、ピア情報要求シグナリングを送信するための条件は、以下のように、すなわち、定期的に送信する、推定されたネットワークパラメータ、例えば、帯域幅、ラウンドトリップタイム、または伝送遅延の変化が条件を満たしたときに送信する、いくつかの送信制御シグナリングが送信された後に送信する、いくつかのデータパケットが受信されるたびに送信するなどのように設定され得る。
【００８１】
ピア情報応答は、上述のピア情報要求シグナリングに対する応答である。1回のピア情報要求シグナリングを受信した後、ピアデバイスはピア情報要求シグナリングへの応答を送信する。データパケットと制御パケットとが異なるフローを使用することにより送信される場合、ピア情報応答は制御フローで送信される。
【００８２】
ピア情報応答は、パケットシーケンス番号（つまり、ピア情報応答の初期パケットシーケンス番号）と、送信対象のデータパケットに関する情報とを含む。送信対象のデータパケットに関する情報は、ピア情報応答の初期パケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報を示すために使用される。少なくとも1つの送信対象のデータパケットに関する情報は、ピアデバイスによって送信される全部または一部のデータパケットに関する情報であり得る。例えば、少なくとも1つの送信対象のデータパケットに関する情報は、全部または一部の送信対象のデータパケットの数またはパケットシーケンス番号であり得る。この場合、全部または一部の送信対象のデータパケットは、第2のデバイスの送信キューで送信されない全部または一部のデータパケットであり得る、またはこのサービスにおいて第2のデバイスによって送信されないすべてのパケットであり得る（例えば、画像の送信またはウェブページの更新）。ピア情報要求シグナリングおよび対応するピア情報応答は、同じ初期パケットシーケンス番号を含む。
【００８３】
ピア情報応答は、送信されたパケットに関する情報をさらに含み得る。送信されたパケットに関する情報は、初期パケットシーケンス番号から始まり、パケットが正常に受信されたと判定されたピアデバイスによって送信された複数のパケット（またはデータブロック）に関する情報を含む。例えば、送信されたパケットに関する情報は、パケットシーケンス番号、パケットシーケンス番号の数のオフセット、データのオフセット、ビットマップなどであり得る。いくつかの実装形態では、パケットがローカルデバイス（例えば、第1のデバイス）によって受信されたと判定されていない場合に送信されたパケット（またはデータブロック）に関する情報がさらに含まれ得る。送信されていないパケットに関する情報は、パケットシーケンス番号、パケットシーケンス番号のオフセット、データのオフセット、ビットマップなどであり得る。具体的には、ピア情報応答のいくつかのバイトの番号は、送信されたパケットに関する情報を表し、他のいくつかのバイトの番号は、送信されていないパケットに関する情報を表すと定義されている。本出願では、ピア情報応答のフォーマットは限定されない。例えば、図7に示されるように、ピア情報応答では、初期パケットシーケンス番号フィールドの長さは32bit（4バイト）であり、いくつかの可変長フィールド（図7では7フィールド）が順次含まれる。各可変長フィールドの最大長は32bit（4バイト）であり、可変長フィールドは、データブロックが送信されたと判定された場合に、シグナリングで運ばれるデータブロックの数を示すために使用される確認応答ブロック数フィールドを含む。確認応答ブロックフィールドと非確認応答ブロックフィールドとは間隔を空けて設定される。各フィールドは、データブロックの送信情報を示し、データブロックの識別子またはデータブロックの長さによって表され得る。このように、初期パケットシーケンス番号から始まるいくつかのフィールドのデータが送信されたと判定されたことと、その後のいくつかのフィールドのデータが送信されていないと判定されていないことを示し得る。加えて、可変長のフィールドは、送信されていないパケットの数を示すために使用される、送信対象のパケットの数のフィールドをさらに含む。
【００８４】
このようにして、ピアデバイスの送信制御は、上述の複数の制御シグナリングの使用の組み合わせを通して実装され得、複数の既存の伝送制御アルゴリズムも実行され得る。第1のデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。さらに、伝送制御アルゴリズムが、一端にあるデバイスによって送信された制御シグナリングのパラメータおよび制御シグナリングの送信順序を変更することによって実装され得、また伝送アルゴリズムは、アップグレードおよび変更され得る。したがって、伝送アルゴリズムを実装、変更、およびアップグレードすることが便利である。詳細については、以下の例を参照されたい。
【００８５】
第2のシナリオでは、第1のデバイスはデータ送信側であり、上記の受信制御に対応する。受信制御は、受信制御シグナリングを送信することによって実装される。
【００８６】
受信制御シグナリングは、受信制御シグナリングの受信制御パラメータを使用することにより、データパケットの受信ステータスをフィードバックするようにデータ受信側を制御する。例えば、受信制御シグナリングは、フィードバックの条件（フィードバックのきっかけとしても理解され得る）およびフィードバックされる必要があるデータパケットの範囲をデータ受信側に通知することができる。このようにして、データ送信側は、これらのフィードバックに基づいて、これらのデータパケットが正しく受信されたか否かを判定することができる。含まれる送信パラメータは、複数の方式で組み合わされ得る。マルチフロー多重化シナリオでは、データ受信側は、制御フローを使用することにより、受信制御シグナリングに基づいてフィードバックパケットを送信する。本出願では、フィードバックパケットのフォーマットは限定されない。例えば、フィードバックパケットは、従来技術におけるACKまたはNACKであり得る。従来技術では、そのような制御はデータ受信側によって実施される、したがって、受信制御シグナリングは送信される必要がない。
【００８７】
一実装形態では、受信制御シグナリングは、パケットシーケンス番号（すなわち、初期パケットシーケンス番号）、パケットシーケンス番号範囲、およびタイムスタンプを含む。初期パケットシーケンス番号およびパケットシーケンス番号範囲は、いくつかの特定のデータパケットの受信ステータスがフィードバックされる必要があることを示すために使用される。2つのパラメータの具体的な説明については、上述の段落を参照されたい。タイムスタンプは、受信制御シグナリングを送信する瞬間であり、パケット障害の場合を収集する、ネットワーク遅延を計算するなどのために使用され得る。受信制御シグナリングが受信されることは、フィードバックの生成および送信をトリガする、例えば、フィードバックを送信するプロセスをトリガするためのイベントである。図8に示される受信制御シグナリングが例として使用され、シーケンスおよび3つのパラメータのそれぞれの長さは以下のとおりである、すなわち、タイムスタンプは32bit（4バイト）のフィールド長を有し、初期パケットシーケンス番号は32bit（4バイト）のフィールド長を有し、パケットシーケンス番号範囲は32bit（4バイト）のフィールド長を有する。タイプの値は送信制御シグナリングの値とは異なり、3つのパラメータのシーケンスも異なる。一実装形態では、初期パケットシーケンス番号は、データパケットが受信または処理されたことがデータ送信側によって判定される受信制御シグナリングが生成されたときのデータパケットのパケットシーケンス番号の最大値に設定される。処理された、とは、データ送信側がデータパケットが失われたと判定し、したがって、失われたデータパケットを再送信するためにデータパケットの複製のパケットシーケンス番号を変更することを意味する。パケットシーケンス番号範囲は、受信制御シグナリングが生成されたときのデータ送信側によって送信されたデータパケットのパケットシーケンス番号の最大値に設定され、タイムスタンプは制御シグナリングを送信する瞬間に設定される。
【００８８】
受信制御シグナリングを受信した後、データ受信側、例えば第2のデバイスは、初期パケットシーケンス番号から、パケットシーケンス番号範囲により示されたパケットシーケンス番号以上のパケットシーケンス番号までの範囲にあるデータパケットの受信ステータスをフィードバックする。例えば、受信ステータスは、どのデータパケットが受信されたか、またはどのデータパケットが受信されていないかであり得、フィードバックをトリガする受信制御シグナリングのタイムスタンプがさらに運ばれるべきである。一実装形態では、処理遅延がさらに含まれる場合があり、処理遅延は、受信制御シグナリングを受信する時間と、受信制御シグナリングに対応するフィードバックを送信する時間との間の時間差である。このようにして、データ送信側は、ネットワーク伝搬遅延の場合をより正確に収集できる。フィードバックされる必要があるデータパケットの範囲の値が、パケットをフィードバックするためにサポートされている最大値を超える場合、すべてのデータパケットをフィードバックできるわけではなく、最大値を下回る数のデータパケットの受信ステータスのみがフィードバックされる。
【００８９】
図9に関連して、以下、第1のデバイスが、コントローラとして、上述の制御シグナリングを使用することにより、第1のデバイスと第2のデバイスとの間のパケット伝送を制御するプロセスを説明する。このプロセスでは、第1のデバイスは、まず、第2のデバイスによって送信されたデータパケットグループを受信し（S901〜905）、次に第1のデバイスは、データパケットグループを第2のデバイスに送信する（S906〜908）。以下のS901〜908は、単に識別を容易にするためのものであり、これらのステップは、必ずしも一連の順番で実行されるとは限らず、文字通りの説明に依存することを理解されたい。加えて、第1のデバイスと第2のデバイスとの間の接続はマルチフロー伝送をサポートし、S901〜905およびS906〜908は異なるフローで実行され得るため、ステップは同時に実行され得る、またはステップの実行時間が重なり得る。
【００９０】
S901：第1のデバイスは第1の制御シグナリングを第2のデバイスに送信し、第1の制御シグナリングが第1のデータパケットグループを送信するように第2のデバイスに命令する。
【００９１】
第1の制御シグナリングは、上述の送信制御シグナリングであり、したがって、第1のパケットシーケンス番号、第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含む。このようにして、第1のパケットシーケンス番号および第1のパケットシーケンス番号の範囲は、第1のデータパケットグループを示し得る。第1の送信時間間隔は、第1のデータパケットグループを送信するための時間間隔を示す。時間間隔は、帯域幅で表され得る。
【００９２】
S902：第2のデバイスは、受信された第1の制御パケットにおける示されたパケットシーケンス番号および第1の送信時間間隔に基づいて、第1のデータパケットグループを送信する。
【００９３】
S903：第1のデバイスは、第1のデータパケットグループにおける少なくとも1つのデータパケットを受信し、少なくとも1つの受信データパケットにおける第1のデータパケットに基づいて第2の制御シグナリングを送信する。第1のデータパケットのパケットシーケンス番号は、少なくとも1つのデータパケットにおいて最大である。
【００９４】
第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含む。第2のパケットシーケンス番号および第2のパケットシーケンス番号の範囲は、第2のデータパケットグループを示すと見なされ得る。第2の送信時間間隔は、第2のデータパケットグループを送信するための時間間隔を示す。
【００９５】
第2のパケットシーケンス番号は、第1のデータパケットのパケットシーケンス番号よりも大きい。
【００９６】
第1のデバイスによって受信されたデータパケットは、送信制御シグナリングの送信を依然としてトリガし得る。このようにして、第1のデバイスは第2のデバイスを継続的に制御できる。実際のアプリケーションでは、第1のデータパケットグループが完全に受信された後に、次の送信制御シグナリングが送信され得る。具体的には、第2のパケットシーケンス番号および第2のパケットシーケンス番号の範囲は、第1のデータパケットグループの後の次のパケットを示し得る。例えば、第1のデータパケットグループは1〜10の番号が付けられたパケットであり、第2のパケットシーケンス番号は11である。続いて、第2のデバイスは、第2の制御シグナリングに基づいてデータパケットを送信し続ける。
【００９７】
別の実装形態では、1つまたは複数のデータパケットが受信された後、次の送信制御シグナリングが送信され得る。デバイスには送信遅延が存在し、ネットワークにはネットワーク遅延が存在するため、この実装は、ピア側でのデータ送信をより適切に制御できる。具体的には、第2のパケットシーケンス番号および第2のパケットシーケンス番号の範囲によって示されるパケットは、番号に関して、第1のデータパケットグループと重なり得る。例えば、第1のデータパケットグループは1〜10の番号が付けられたパケットであり、1〜4の番号が付けられたパケットが受信された後、第2の制御シグナリングが送信され、したがって、第2のパケットシーケンス番号は5である。
【００９８】
次の送信制御シグナリングは、第1のデータパケットグループを受信するプロセスにおいて、送信され得ることが理解されよう。
【００９９】
S904：第1のデバイスは、第3の制御シグナリングを第2のデバイスに送信し、第3の制御シグナリングが第1のパケットシーケンス番号を含む。
【０１００】
第3の制御シグナリングは、上述のピア情報要求シグナリングである。
【０１０１】
第3の制御シグナリングは、第1の制御シグナリングの後に送信されるが、第2の制御シグナリングの前または後に送信され得る。具体的なきっかけは、異なる伝送制御アルゴリズムにおける第3の制御シグナリングをトリガするための条件に依存する。図9は、第3の制御シグナリングが第2の制御シグナリングの後に送信される場合を説明している。
【０１０２】
S905：第1のデバイスは、第3の制御シグナリングへの応答を受信し、第3の制御シグナリングへの応答が、第1のパケットシーケンス番号と、第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む。
【０１０３】
第3の制御シグナリングへの応答は、上述のピア情報応答に対応する。
【０１０４】
ピア情報応答が受信される場合、第1のデータパケットグループおよび第2のデータパケットグループのすべてが送信されるわけではない。したがって、第1のデバイスは、第2のデバイスによって送信されたデータパケットをさらに受信し続け得る。
【０１０５】
S906：第1のデバイスは、第3のデータパケットグループを第2のデバイスに送信する。
【０１０６】
第3のデータパケットグループは、第3のパケットシーケンス番号の範囲における第3のパケットシーケンス番号から始まる複数のデータパケットである。
【０１０７】
S907：第1のデバイスは、第4の制御シグナリングを第2のデバイスに送信し、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号の範囲、およびタイムスタンプを含み、タイムスタンプは、第4の制御シグナリングが送信されたときの第1のデバイスのシステム時刻である。
【０１０８】
第4の制御シグナリングは受信制御シグナリングである。
【０１０９】
S908：第1のデバイスは、第4の制御シグナリングへの応答を受信し、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、第3のデータパケットグループにおける受信された、または受信されていないデータパケットに関する情報をさらに含む。
【０１１０】
第4の制御シグナリングへの応答は、第4の制御シグナリングによってトリガされるフィードバックパケットである。
【０１１１】
以下、第1のデバイスが上述のシグナリングを使用することによりアルゴリズムをどのように実装するかを説明するために、例として、Googleによって提案されているボトルネック帯域幅およびラウンドトリップタイム（Bottleneck Bandwidth and RTT、BBR）アルゴリズムを使用する。データは、新しいプロトコルを使用することにより上述のユーザモードにおいて接続で送信され、パケットおよびフレームフォーマットは、シグナリングを送信するために新しいプロトコルでユーザモードにおいて使用され得る。
【０１１２】
制御の第1のラウンド：第1のデバイスは、ラウンドにおいて第1の送信制御シグナリングを第2のデバイスに送信し、初期パケットシーケンス番号は1であり、パケットシーケンス番号範囲は10であり、送信時間間隔は帯域幅で表され、1mbpsである。第1の制御シグナリングを受信した後、第2のデバイスは1mbpsの帯域幅で1〜10までの番号が付けられたデータパケットを送信する。番号1のデータパケットを受信した後、第1のデバイスは第2の送信制御シグナリングをフィードバックし、初期パケットシーケンス番号は2であり、パケットシーケンス番号範囲は11であり、帯域幅は11／RTTmbpsである。RTTは、接続のラウンドトリップタイムである。
【０１１３】
このプロセスでは、第1の送信制御シグナリングは、第1のRTTで10個のデータパケットを送信することを意味し、10という値は、データフローの初期送信ウィンドウのサイズに対応し、第1の送信制御シグナリングとリンク確立シグナリングとの両方がハンドシェイクパケットで送信される。このようにして、リンクが正常に確立されると、制御シグナリングも同時に正常に送信され、その結果、第2のデバイスはデータを直ちに送信できる。これは既存の伝送プロトコルに当てはまる、つまり、時間の有効性は既存のプロトコルと一致している。第2のデバイスにより最初にデータパケットを送信した時間から第1のデータパケットを受信した時間まで、RTT／2かかる。第1のデータパケットを受信すると、第2の送信制御シグナリングを送信するように第1のデバイスがトリガされ、第2の送信制御シグナリングがRTT／2の後に第2のデバイスに到達する。この場合、第2のデバイスは第1のラウンド（単純にRTTとして理解される）の伝送を完了し、新しい制御シグナリング（つまり、第2の送信制御シグナリング）を受信する。既存のプロトコルに実装されているBBRは次のとおりである、すなわち、第2のデバイスは、第1のラウンドで10個のデータパケットを送信し、最初のACKが到着するのを待機し、輻輳ウィンドウのサイズを11に更新し、ウィンドウを右にスライドすることにより別のデータパケットを送信する。したがって、第2の送信制御シグナリングは、BBRにおける最初のACKパケットの到着に等しい。これは、フィードバックパケットの損失または順番の狂い（遅延に関して可変値のジッタとして反映される）およびデータパケットのパケット損失が、既存の実装および本出願で説明される制御シグナリングが使用される実装に同じ影響を与えることを示す。
【０１１４】
制御の第2のラウンド：第2のラウンドにおける制御プロセスは次のようにまとめられ得る、すなわち、第1の送信制御シグナリングが（第1の送信制御シグナリングの初期パケットシーケンス番号は11であるべきであり、パケットシーケンス番号範囲は10である）第2のラウンドにおいて送信された後、データパケットが受信されるたびに、それに応じて次の送信制御シグナリングが生成され、初期パケットシーケンス番号が1ずつ増加され、パケットシーケンス番号範囲が1ずつ増加され、送信時間間隔が（パケットシーケンス番号範囲がRTTで除される）に設定される。この変更規則は、現在のラウンドにおいて第1の送信制御シグナリングによって示される最後のデータパケット（例えば、番号20のデータパケット）が受信され、番号20のデータパケットによってトリガされる送信制御シグナリングが送信されるまで続く。これから、新しい制御ラウンドが開始され、変更規則がそれに対して調整され、パケットシーケンス番号範囲が前の送信制御シグナリングに基づいて2倍になる。このようにして、前のラウンドの約2倍のデータ量が送信され得る。この制御プロセスのメカニズムは、BBRの輻輳制御スロースタートフェーズのメカニズムと一致している。理解するには、BBRを説明している他の文献を参照されたい。
【０１１５】
換言すれば、1制御ラウンドは、1制御ラウンドにおいて第1の送信制御シグナリングを送信してから、第1の送信制御シグナリングの命令の下で送信されたすべてのパケットを受信するまでのプロセスである。一実装形態では、1制御ラウンドで送信されるパケットの数は、第1の制御シグナリングが制御ラウンドで送信されるときの送信ウィンドウの値に対応するパケットの数である。
【０１１６】
帯域幅推定：第1のデバイスが、3回の連続する制御ラウンドにおける値の増分（正常に送信されたデータボリューム／RTT）が25％未満であることを検出すると、第1のデバイスは接続のネットワーク帯域幅が最大であると判定する。帯域幅の検出および推定フェーズに入る。このフェーズでは、帯域幅検出は8ラウンドの期間で実行され、第1の1期間のラウンドにおけるパケットシーケンス番号範囲の値は、帯域幅遅延積（Bandwidth−delay Product、BDP）の1．25倍であり、第2の1期間のラウンドにおけるパケットシーケンス番号範囲の値は、BDPの0．75倍である。その後、6ラウンドのパケットシーケンス番号範囲がBDPであり、第1のデバイスはアクティブ調整を実行しない。
【０１１７】
具体的には、帯域幅が最大であることが検出された後、帯域幅検出期間の送信制御の第1のラウンドに入る。1つのデータパケットが受信されるたびに、生成された次の送信制御シグナリングの初期パケットシーケンス番号が1ずつ増加する。4つのデータパケットが受信されるたびに、現在のラウンドにおける第1の送信制御シグナリングの命令の下で送信される最大のパケットシーケンス番号を持つデータパケットが受信される、つまり、現在の制御ラウンドの最後のデータパケットが受信されるまで、パケットシーケンス番号範囲が1ずつ増加される。続いて、帯域幅検出期間の第2のラウンドが始まる。新しいデータパケットが受信されるたびに、生成された次の送信制御シグナリングの初期パケットシーケンス番号が1ずつ増加する。4つのデータパケットが受信されるたびに、現在の制御ラウンドの最後のデータパケットが受信されるまで、パケットシーケンス番号範囲が1ずつ増加される。その後、帯域幅検出期間の最後の6ラウンドが開始され、最後の6ラウンドでは、パケットシーケンス番号範囲は変更されない。
【０１１８】
上述の制御プロセスにおいて、帯域幅推定を更新するための方法は、1送信制御ラウンドにおいて、データパケットが受信されるたびに、データパケットが属する送信制御ラウンドの帯域幅値が計算され、送信制御ラウンドにおける計算された帯域幅値の最初の3つの値が予約され、このラウンドで推定される帯域幅は、最初の3つの値の最大値である。新しい送信制御ラウンド、つまり新しい帯域幅推定期間ラウンドが始まると、前のラウンドの3つの値は、新しいラウンドにおいて計算された帯域幅の値に徐々に置き換えられ、最後に、新しい送信制御ラウンドが終了した後、3つの更新された値の最大値が、新しいラウンドの推定帯域幅として使用される。
【０１１９】
さらに、伝送制御アルゴリズムはまた、上述のシグナリングを使用することにより、データ伝送中に変更され得る。以下は、例を使用することにより、BBRアルゴリズムを説明する実施形態に基づく上述のシグナリングを使用することにより別のアルゴリズムに切り替えるプロセスを説明する。別のアルゴリズムに切り替えるための条件は、帯域幅の検出および推定フェーズにおいて、検出されたすべての帯域幅統計値の中で、最大値が2番目に大きい値の20％よりも大きいことであり得る。この条件は、ネットワークが不安定であることを示している。別のアルゴリズムは、ウィンドウベースの輻輳制御アルゴリズムであり得る。このアルゴリズムによれば、送信制御シグナリングのパラメータは、次のように調整される、すなわち、（1）新しい制御ラウンドのパケットシーケンス番号範囲が、前のラウンドのパケットシーケンス番号範囲のデータパケットが正常に送信されるたびに1ずつ増加される、（2）送信時間間隔が帯域幅で表され、値は送信制御シグナリングのパラメータを表すために使用されるフィールドにより表され得る最大値である、（3）第1のデバイスがパケット損失を検出すると、パケットシーケンス番号範囲の値が半分になる。1つの送信制御シグナリングが受信されるたびに、データ送信側は、データ送信側によってサポートされる最大送信速度を使用することにより、送信制御シグナリングによって示されるデータ（つまり、送信制御シグナリングで運ばれる初期パケットシーケンス番号およびパケットシーケンス番号範囲で示されるパケット）を送信する。
【０１２０】
制御シグナリングで運ばれるパラメータは時間とともに変化し、その結果、異なるタイプの輻輳制御アルゴリズムが記述され得ることが理解されよう。さらに、制御シグナリングで運ばれるパラメータが変更されるという条件で、異なるタイプの輻輳制御アルゴリズムが実装され得る。したがって、既存のプロトコルでの伝送制御およびアルゴリズムが、本出願で説明される方法および制御シグナリングを使用することにより実装され得る。
【０１２１】
加えて、いくつかのシナリオでは、制御を実装するために、一部のフィールドがデータパケットにさらに追加され得る。例えば、第1のデバイスと第2のデバイスとの間の接続は、複数のリンクに対応する、つまり、マルチパス伝送モードが使用される。低遅延シナリオが、3つの伝送モードを実装するために、ピアデバイスの送信パスをどのように制御するかを説明する例として使用される。3つの送信モードは次のとおりである、すなわち、ネットワーク1のみを使用することによる冗長伝送、ネットワーク2のみを使用することによる冗長伝送、ネットワーク1およびネットワーク2を使用することによる冗長伝送である。例えば、ネットワーク1はWi−Fiであり、ネットワーク2はLTEなどのセルラ方式の無線ネットワークである。当然のことながら、MPTCP伝送は別の伝送モードを有する。例えば、ネットワーク1およびネットワーク2は、集約伝送に使用される。MPTCPプロトコルにおける伝送モードの別の組み合わせも同様の方式で制御され得る。具体的な実装形態については、以下の説明を参照されたい。制御は、第1のデバイスまたは第2のデバイスに実装され得る。
【０１２２】
具体的には、データパケットは、パケットを送信するためにピアデバイスによって使用されるパスを示すために使用されるデュアルパス識別子を含み得る。デュアルパス識別子は、デュアルパスフラグであり得る。このようにして、伝送モードは、デュアルパスフラグの値またはフラグがあるか否かを示す情報を使用することにより表され得る。例えば、制御は第1のデバイスに実装される。送信モードがシングルパス送信であることをデュアルパス識別子が示す場合、第1のデバイスは、第1のパケットを送信するために使用されるパスで、第2のデバイスによって送信されたパケットを受信する。送信モードがマルチパス送信であることをデュアルパス識別子が示す場合、第1のデバイスは、第2のデバイスによって送信されたパケットを複数のパスのそれぞれで受信する。一実装形態では、（1）デュアルパスフラグが0に設定されている場合、これは、コントローラがLTEまたはWi−Fiのみが使用される伝送モードにあることを示し、そのため、第2のデバイスは、パケットが受信されるパスでパケットを送信し、（2）フラグが1に設定されている場合、これは、コントローラが冗長伝送モードにあることを示し、第2のデバイスは2つのパスを使用することによりデータを冗長的に送信する。デュアルパスフラグは、実装のために拡張UDPまたはTCPパケットヘッダに追加され得る、またはユーザ定義のプロトコルヘッダが、デュアルパスフラグを実装するために、UDPまたはTCPパケットヘッダの後に追加され得る。
【０１２３】
上述の方法は、UDP、TCP、またはMPTCPプロトコルを直接拡張することによって、またはUDP／TCP上でユーザモードプロトコルを変更することによっても実装され得る。このようにして、MPTCPシナリオにおける単一の伝送パスでのパケット伝送制御は、上記の制御シグナリングを同時に使用することによりサポートされ得る。
【０１２４】
ソフトウェアアーキテクチャの観点から、本出願で説明される解決策のアイデアは、データ伝送に必要な送受信機機能と、送受信機機能をサポートするために使用されるいくつかの基本機能とを展開することである。これらの機能を実行するモジュールは、基本機能モジュールと総称され得、これらのモジュールはコードまたは機能であり、プロセスまたはスレッドによって実行される。送受信機機能をサポートするために使用される基本機能は、データのセキュリティを確保するために使用されるデータの暗号化および解読（例えば、トランスポート層セキュリティ、Transport Layer Security、TLS）、伝送効率を高めるために使用される符号化および復号（例えば、前方誤り訂正、Forward Error Correction、FEC）、キャッシュ管理、接続管理、パス管理、フロー管理などであり得る。これらの機能は、従来技術のように情報を交換する両端にあるデバイスに依然として対称的に実装される。これらの機能モジュールは、伝送プロトコルの基本アーキテクチャのためであり、対称的に配備する必要がある。加えて、モジュールへの変更は大きな影響があり、したがって、アップグレード期間が長くなる。これは、組織縦断アップグレードのための長い期間の特性と一致する。換言すれば、これらの機能を対称的に配備することは、アップグレード効率の重大な問題をもたらさない。
【０１２５】
別の態様では、制御機能は、従来のプロトコルスタックから分離される。制御機能は、上述の送受信機機能および送受信機機能の必要なサポート機能に対する制御である。制御は、上述の基本機能の操作対象、動作方式、トリガのきっかけなどを含むが、これらに限定されない。操作対象は、パケットまたはフレームなどのベアラ情報のフォーマットであってもよいし、送受信機機能をサポートするために使用される基本機能の実装形態であってもよい。動作方式は、パケットもしくはフレームを送信するための間隔、順序、およびパス、あるいはパケットもしくはフレームに対して実行される処理アクション、例えばキャッシュのクリアまたはパケットもしくはフレームが受信された後の再送信のうちの少なくとも1つを含むが、これらに限定されない。
【０１２６】
当然のことながら、このアーキテクチャはローカルデバイスでの伝送制御もサポートする。改善されたプロトコルスタックの機能、例えば定義された内部インターフェースを呼び出すことにより、制御シグナリングがローカル制御モジュールから送受信機モジュールに転送される。
【０１２７】
具体的には、制御機能を実行する制御モジュールは、ローカル側からのネットワーク情報に基づいて、ローカルデバイスのための制御情報を出力することができる。制御情報は、操作対象、動作方式、トリガのきっかけなどを含み得る。ローカル側のネットワーク情報は、内部インターフェース機能を使用することにより、ローカル側の基本機能モジュールから取得され得る。ネットワーク情報は、ローカルデバイスのネットワークのステータスを表すパラメータ、例えば、帯域幅、遅延、または輻輳ウィンドウを含み、以下に述べるローカルデバイスの伝送パラメータをさらに含み得る。制御情報は、内部インターフェース機能を使用することによりローカル側の基本機能モジュールに転送される。ローカル側の基本機能モジュールは、ローカルデバイスで実行される伝送制御を実装するために、制御情報の命令に基づいて、パケット送信などの基本機能を実行する。
【０１２８】
図10に示されるように、第1のデバイスは第2のデバイスと通信し、第1のデバイスはコントローラである。この場合、制御モジュールは第1のデバイスに配備される。図10は、第1のデバイスの制御モジュールが、送信制御シグナリング（例えば、上記の第1の制御シグナリングおよび第2の制御シグナリング）を生成し、内部インターフェースを介して制御シグナリングを送信モジュールに送信し、送信モジュールが、送信制御シグナリングを送信制御フレームにカプセル化し、送信制御フレームを第2のデバイスに送信し、送信制御フレームが、送信のために制御パケットで運ばれ得、第2のデバイスの受信モジュールが送信制御フレームを受信した後、第2のデバイスの送信モジュールが、送信制御フレームの命令に基づいて、データパケットを第1のデバイスに送信することを概略的に説明している。送信制御フレームのフォーマットについては、図5および図6を参照されたい。図10で説明されるアーキテクチャは、本出願で説明される第1のデバイスが制御を実行し、第2のデバイスがパケットを返す別のプロセス、例えば図9の対応する伝送プロセスにも適用できることを理解されたい。
【０１２９】
いくつかの実装形態では、本出願のアーキテクチャはまた、ピアデバイスのデータ伝送を制御するために使用され得、ローカルデバイスは既存のテクノロジを使用することにより依然として制御される。
【０１３０】
まとめると、制御機能を実行する制御モジュールは、サービス要件、ネットワーク環境の変化などに基づいて頻繁にアップグレードされ得る。制御モジュールは、製造元またはユーザによって制御され得るデバイスにおいて配備または実行される。換言すれば、制御モジュールは、高速アルゴリズム変換、効率的な製品操作および保守などを実装するために、パケット伝送を制御するために、一端にあるデバイスを指定するように制御および設計され得る。
【０１３１】
本出願の説明に基づいて、当業者は、制御パケットの複数のフォーマットを設計することができる、またはプロトコルスタックもしくはライブラリに追加される上述の機能を実装するための複数の機能を定義することができる。したがって、本出願では、制御パケットのフォーマットまたは機能のフォーマットは限定されず、詳細も記載されていない。
【０１３２】
以下は、第1のデバイスと第2のデバイスとの間のリンク確立フェーズにおいてネゴシエーションが実行される例を使用して、図11を参照しながら、2つのデバイス間でコントローラをネゴシエートするプロセスを説明する。ネゴシエーションプロセスで使用されるシグナリングは、ペイロードとしてリンク確立フェーズにおいてパケットで運ばれ得る。このようにして、リアルタイムのネゴシエーションが確保され、追加の伝送パケットが可能な限り削減され得る。図11は、コントローラをネゴシエートするプロセスを示すだけでなく、制御パケットを使用することによりデータパケットの伝送を制御するプロセスも含む。
【０１３３】
S1101：第1のデバイスはネゴシエーションシグナリングを第2のデバイスに送信する。
【０１３４】
場合により、第1のデバイスは、ネゴシエーションシグナリングと初期制御シグナリングとを同時に送信することができる。
【０１３５】
S1101のステップは、第1のデバイスと第2のデバイスとが相互に識別情報認証を実行した後に実行され得る。例えば、第1のデバイスと第2のデバイスとが初めて接続を確立するとき、ハンドシェイクパケット、すなわち、図11のハンドシェイクパケット1およびハンドシェイクパケット2は、識別情報認証のためにそれぞれ互いに送信される必要がある。この場合、ネゴシエーションシグナリングおよび初期制御シグナリングが、初期の2つのハンドシェイクパケットの後の後続のハンドシェイクパケット、すなわち図11のハンドシェイクパケット3の負荷として使用され、暗号化され、1つのパケットにカプセル化され得る。後続のハンドシェイクパケットは、プロトコルバージョンなどの情報およびキーをさらに含み得る。当然のことながら、第1のデバイスと第2のデバイスとが以前に接続を確立していた場合、すなわち、両当事者が識別情報を認証していた場合、第1のデバイスと第2のデバイスとが再びリンクを確立するとき、送信された第1のハンドシェイクパケットの負荷でネゴシエーションシグナリングおよび初期制御シグナリングが運ばれ得る。図11では、第1のデバイスは、2つのシグナリングを運ぶハンドシェイクパケット3を第2のデバイスに直接送信する。
【０１３６】
第1のデバイスによって送信されるネゴシエーションシグナリングは、デバイスによってサポートされる伝送パラメータと、デバイスがコントローラであるか否かを示すために使用されるロールパラメータとを含む。伝送パラメータは、デバイスによってサポートされる最大接続数、デバイスによってサポートされる最大パス数、データパケットの長さ、初期ウィンドウサイズ、デバイスによってサポートされるFECアルゴリズム、プロトコル、プロトコルのバージョン番号などのうちの少なくとも1つを含む。ロールパラメータは、識別子、フラグなどであり得る。例えば、ロールパラメータはまた、ブランクのままにされて、ローカルデバイスがコントローラではないことを示すこともできる。本出願では、ロールパラメータの具体的な形式は限定されない。
【０１３７】
初期制御シグナリングは、第1のデバイスがコントローラであると仮定して、第1のデバイスによってピアエンドに送信される第1の制御命令であり、パケットを送信するように第2のデバイスを制御するために使用される。例えば、初期制御シグナリングは、送信対象のオブジェクト（例えば、パケットシーケンス番号）、伝送モード、および送信されたオブジェクトを送信するためのきっかけを含む。初期制御シグナリングは、既知のネットワーク情報およびピア情報が比較的少ないか無効である場合に、第1のデバイスをコントローラと仮定して、第1のデバイスによって送信される。例えば、初期制御シグナリングは、デフォルト設定またはランダムに割り当てられたネットワークパラメータに基づいて送信され得る。初期制御シグナリングは、上記の第1の制御シグナリング、すなわち、1つの送信制御シグナリングであり得る。
【０１３８】
このようにして、第1のデバイスがコントローラであると第2のデバイスも判定した場合、第2のデバイスは、初期制御シグナリングに基づいてパケットを送信し得る。このようにして、データ伝送前のパケット交換が可能な限り低減され得、データ伝送前の準備時間が短縮され得る。
【０１３９】
S1102：第2のデバイスは、第2のデバイスで維持されているネゴシエーション規則、第2のデバイスのローカル情報、および受信されたネゴシエーションシグナリングに基づいてネゴシエーション結果を取得し、ネゴシエーションシグナリングを第1のデバイスに送信する。
【０１４０】
図11では、ネゴシエーションシグナリングはネゴシエーションパケットで運ばれる。
【０１４１】
第1のデバイスによって送信されるネゴシエーションシグナリングと同様に、第2のデバイスによって送信されるネゴシエーションシグナリングは、第2のデバイスによってサポートされる伝送パラメータと、第2のデバイスがコントローラであるか否かを示すために使用されるロールパラメータとを運ぶことができ、その結果、第2のデバイスによって送信されたネゴシエーションシグナリングを受信した後、第1のデバイスは、第1のデバイスによって維持されるネゴシエーション規則に基づいてネゴシエーション結果を決定する、または第2のデバイスによって取得されたネゴシエーション結果を運ぶことができる。ネゴシエーション結果は、第2のデバイスによって決定されたコントローラが第1のデバイスまたは第2のデバイスの識別情報であり得ることを示す。第2のデバイスによって送信されるネゴシエーションシグナリングは、ハンドシェイクパケットで運ばれるペイロードまたは別個に送信される制御パケットとして使用され得る。
【０１４２】
ローカル情報は、アプリケーションパラメータ、データフローパラメータ、パスパラメータ、ユーザパラメータ、および物理層チャネルパラメータのうちの少なくとも1つを含むが、これらに限定されない。アプリケーションパラメータは、2つのデバイスで接続を確立するアプリケーションを指し、ユーザID（User Identifier、UID）およびアクセスドメイン名のうちの少なくとも1つを含むが、これらに限定されない。
【０１４３】
データフローパラメータは、ローカルデバイスによってアクセスされる少なくとも1つのデータフローのパラメータである。データフローのデータフローパラメータは、データフローのトラフィック、データパケットサイズ（size）、データパケット間の到着間隔、データフローに対応するIPアドレス、およびデータフローに対応するポート番号のうちの少なくとも1つを含む。
【０１４４】
パス（path）パラメータは、ローカルデバイスによってアクセスされる少なくとも1つのパスのパラメータであり、デバイスによってアクセスされる少なくとも1つのパスは、パス特性パラメータが、次のパラメータ、すなわち、伝送速度、ラウンドトリップタイム（RTT、Round−time Trip）、パケット損失率、パケット損失範囲、ジッタ（jitter）、輻輳ウィンドウ（CWND、congestion window）、および帯域幅のうちの1つまたは複数であり得ることを示すことを含むが、これらに限定されない。
【０１４５】
ユーザパラメータは、デバイスを使用してユーザによってサブスクライブされたパッケージのトラフィックサイズ、およびユーザによる接続に対応するアプリケーションを使用する頻度のうちの少なくとも1つを含むが、これらに限定されない。
【０１４６】
物理層チャネルパラメータは、例えば、デバイスのWi−Fi信号強度またはデバイスが配置されているLTE基地局が切り替えられているか否かを示す情報のうちの少なくとも1つであり得る。
【０１４７】
第2のデバイスは、第2のデバイスがコントローラを決定するのを助けるために、1つまたは複数のネゴシエーション規則を維持することができる。複数のネゴシエーション規則が維持されている場合、複数のネゴシエーション規則に実行優先度が存在し得る。本出願では、具体的なコンテンツおよびネゴシエーション規則の形式は限定されない。理解しやすくするために、ネゴシエーション規則の例を以下に簡単に示す。
【０１４８】
ネゴシエーション規則1：ピアデバイスの伝送パラメータおよびローカルデバイスの伝送パラメータにおけるいくつかのパラメータの値、例えば、データパケットの長さおよび初期ウィンドウサイズの値の場合、小さい値を有する側がコントローラである。
【０１４９】
ネゴシエーション規則2：ピアデバイスがコントローラであることをネゴシエーションシグナリングが示している場合、ローカルデバイスは非コントローラである。ただし、ピアデバイスがコントローラであり、ピアデバイスによってサポートされているプロトコルバージョンがローカルデバイスによってサポートされているプロトコルバージョンよりも低いことをネゴシエーションシグナリングが示している場合、ローカルデバイスがコントローラである。
【０１５０】
ピアデバイスが非コントローラであることをネゴシエーションシグナリングが示している場合、ローカルデバイスはコントローラである。
【０１５１】
S1103：ピアデバイスが非コントローラであり、ローカルデバイスが制御機能をサポートしていないことをネゴシエーションシグナリングが示している場合、2つのデバイスはどちらもコントローラではなく、2つのデバイスによってサポートされている両端制御伝送の既存の伝送プロトコルが代わりに使用される。
【０１５２】
第2のデバイスから返されたネゴシエーション結果が、第1のデバイスがコントローラであるということである場合、第2のデバイスは受信された初期制御シグナリングに基づいてデータを送信し、第1のデバイスは内部インターフェース機能を使用することによりローカル側でパケットの受信および送信を制御する。
【０１５３】
第2のデバイスによって返されたネゴシエーション結果が、第2のデバイスがコントローラであるということである場合、または第2のデバイスからのネゴシエーションシグナリングが第2のデバイスの伝送情報およびロールパラメータのみを含む場合、第1のデバイスは、第2のデバイスから受信したネゴシエーションシグナリング、第1のデバイスのローカル情報、およびネゴシエーション規則に基づいてコントローラを決定する。また第2のデバイスがコントローラであると第1のデバイスが決定する場合、第2のデバイスは第1のデバイスのパケット伝送を制御する。
【０１５４】
あるいは、以下の処理が実行される、すなわち、第1のデバイスによって決定されたコントローラが、接続のデータ伝送を制御する。
【０１５５】
あるいは、第1のデバイスと第2のデバイスとの両方が、ローカルデバイスがコントローラであるという結果を得ることができる、または第1のデバイスと第2のデバイスとの両方が、ローカルデバイスがコントローラではないという結果を得ることができる、またはネゴシエーションによって得られるコントローラが制御権を持たない。したがって、上述の3つのケースでは、2つのデバイスによってサポートされている両端制御伝送の既存の伝送プロトコルが代わりに使用される。
【０１５６】
上述のネゴシエーションプロセスを通じて、コントローラは、デバイスおよびネットワークの特定のステータスに基づいて、接続のリンク確立フェーズで決定され得る。この方式はより柔軟であり、ネゴシエーションプロセスにおけるパケット交換は実行されない。このことは、ネゴシエーションプロセスの時間を可能な限り短縮し、その結果、データ伝送プロセスが可能な限り早く開始され得、第1のデバイスがデータを待機する時間が短縮される。
【０１５７】
第2のデバイスによって第1のデバイスのパケット伝送を制御する具体的な実装形態については、第1のデバイスがコントローラとして使用される場合の上記の方法手順および実装の詳細を参照されたく、詳細はここでは繰り返し説明されない。
【０１５８】
図11は、第1のデバイスがネゴシエーション後のコントローラである例を概略的に説明している。つまり、第2のデバイスによって送信されたネゴシエーションシグナリングを受信した後、第1のデバイスは、図11の1103に示されるように、コントローラがローカルデバイスであると決定する。図11は1104をさらに説明し、つまり、第2のデバイスが、初期制御シグナリングに基づいてデータを送信する。加えて、1105および1106が説明され、すなわち、第1のデバイスは、制御パケット（例えば、制御パケット1および制御パケット2）を第2のデバイスに送信し、制御メッセージが制御シグナリングを運び、第2のデバイスは、受信された制御メッセージ（例えば、制御メッセージ1および制御メッセージ2）の指示に基づいてパケットを送信する。制御メッセージ1および制御メッセージ2は、送信される必要のあるパケットを継続的に送信するように第2のデバイスに命令するために使用され、パケットは、第1のデバイスが第2のデバイスからのパケットを受信した後に送信されることを理解されたい。制御メッセージ1および制御メッセージ2は、上記の制御シグナリングのいずれか1つを運ぶことができる。ステップ1101〜1106の時系列関係については、図に示されているパケット交換関係を参照されたい。
【０１５９】
図9から図11に対応する方法手順では、上述の対応する段落に記載された様々な制御パケットおよび制御パケットへの応答（図5から図8に示される）が使用され得ることを理解されたい。
【０１６０】
図12は、本発明の一実施形態による、伝送制御装置の概略的な構成図である。装置1200は、制御モジュール1201と、送信モジュール1202と、受信モジュール1203とを備える。例えば、図12のモジュールは、図10に示される第1のデバイスのモジュールに対応し得る。装置1200は、上記の第1のデバイスまたはコントローラで実行され得る。同様に、図13は、別の伝送制御装置の概略的な構成図である。本装置1300は、受信モジュール1301と送信モジュール1302とを備える。図13は、図10に示される第2のデバイスに対応し得る。装置1300は、上記の第2のデバイスまたはコントローラで実行され得る。したがって、図12および図13の装置は、上記の伝送制御方法、例えば、図9から図11に対応する段落で説明された例を実行し得る。これらの伝送制御方法を実行するプロセスでは、上記の様々な制御シグナリングが使用され得、これらの制御シグナリングは、図5から図8に示される例などの上記のカプセル化フォーマットを使用することができる。加えて、一実装形態では、装置1200および装置1300は、図4に示されるオペレーティングシステムにおけるプロトコルスタックのコードを使用することにより実装され得る。
【０１６１】
以下、装置1200および装置1300のいくつかの実装を簡単に説明する。以下の実装形態の詳細および技術的効果については、上述の説明を参照されたい。ここでは細部を繰り返し説明しない。
【０１６２】
一実装形態では、制御モジュール1201は、第1の制御シグナリングを生成するように構成される。送信モジュール1202は、第1の制御シグナリングを第2のデバイスに送信し、第1の制御シグナリングが、第1のデータパケットグループを送信するように第2のデバイスに命令し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含み、第1のデータパケットグループが、第1のパケットシーケンス番号の範囲にある第1のパケットシーケンス番号から始まるデータパケットであり、第1の送信時間間隔が、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ように構成される。受信モジュール1203は、第2のデバイスからの少なくとも1つのデータパケットを受信し、少なくとも1つのデータパケットが、第1のデータパケットグループにあるデータパケットである、ように構成される。
【０１６３】
一実装形態では、制御モジュール1201は、インターフェース機能を使用することにより、第1の制御シグナリングを送信モジュール1202に送達するようにさらに構成される。
【０１６４】
一実装形態では、制御モジュール1201は、受信された第1のデータパケットに基づいて第2の制御シグナリングを生成するようにさらに構成される。第1のデータパケットのパケットシーケンス番号は、少なくとも1つのデータパケットにおいて最大である。送信モジュール1202は、第2の制御シグナリングを送信し、第2の制御シグナリングは、第2のデータパケットグループを送信するように第2のデバイスに命令し、第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含み、第2のデータパケットグループは、第2のパケットシーケンス番号の範囲にある第2のパケットシーケンス番号から始まるデータパケットであり、第2の送信時間間隔は、第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、第2のパケットシーケンス番号は、第1のデータパケットのパケットシーケンス番号よりも大きい、ようにさらに構成される。
【０１６５】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および送信時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドの値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第1のパケットシーケンス番号の範囲を示し、第1の制御フレームにおける送信時間間隔フィールドの値が、第1の送信時間間隔を示す。
【０１６６】
一実装形態では、送信モジュール1202は、第3の制御シグナリングを第2のデバイスに送信し、第3の制御シグナリングが第1のパケットシーケンス番号を含む、ようにさらに構成される。受信モジュール1203は、第2のデバイスからの第3の制御シグナリングへの応答を受信し、第3の制御シグナリングへの応答が、第1のパケットシーケンス番号と、第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ようにさらに構成される。
【０１６７】
一実装形態では、送信モジュール1202は、第3のデータパケットグループを第2のデバイスに送信し、第3のデータパケットグループが、第3のパケットシーケンス番号の範囲にある第3のパケットシーケンス番号から始まるデータパケットであり、第4の制御シグナリングを第2のデバイスに送信し、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号の範囲、およびタイムスタンプを含み、タイムスタンプは、第1のデバイスが第4の制御シグナリングを送信するシステム時刻である、ようにさらに構成される。受信モジュール1203は、第2のデバイスからの第4の制御シグナリングへの応答を受信し、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、第3のデータパケットグループにおける受信された、または受信されていないデータパケットに関する情報をさらに含む、ようにさらに構成される。
【０１６８】
装置1200は、マルチパス伝送シナリオにおいて別の伝送制御をさらに実装し得る。このシナリオでは、装置1200は第1のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する。装置1200は、第1のパケットを生成し、第1のパケットがデュアルパス識別子を含む、ように構成される、制御モジュール1201と、第1のパケットを第2のデバイスに複数のパスにおける第1のパスで送信するように構成される、送信モジュール1202と、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスによって、第2のデバイスによって送信されたパケットを第1のパスで受信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスによって、第2のデバイスによって送信されたパケットを記複数のパスのそれぞれで受信する、ように構成される、受信モジュール1203とを備える。
【０１６９】
一実装形態では、制御モジュール1201は、インターフェース機能を使用することにより、第1のパケットを送信モジュール1202に送達するようにさらに構成される。
【０１７０】
マルチパス伝送は、冗長伝送または集約伝送のいずれか1つである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【０１７１】
装置1300の場合、一実装形態では、受信モジュール1301は、第1のデバイスからの第1の制御シグナリングを受信し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号の範囲、および第1の送信時間間隔を含む、ように構成される。送信モジュール1302は、第1の制御シグナリングおよび第1の送信時間間隔に基づいて、複数の第1のデータパケットを第1のデバイスに送信し、複数の第1のデータパケットが、第1のパケットシーケンス番号の範囲にある第1のパケットシーケンス番号から始まるデータパケットである、ように構成される。
【０１７２】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および送信時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドの値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第1のパケットシーケンス番号の範囲を示し、第1の制御フレームにおける送信時間間隔フィールドの値が、第1の送信時間間隔を示す。
【０１７３】
一実装形態では、受信モジュール1301は、第1のデバイスからの第2の制御シグナリングを受信し、第2の制御シグナリングが、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の送信時間間隔を含み、第2のパケットシーケンス番号が第1のパケットのパケットシーケンス番号よりも大きい、ようにさらに構成される。送信モジュール1302が、第2の制御シグナリングおよび第2の送信時間間隔に基づいて、複数の第2のデータパケットを第2のデバイスに送信し、第2のデータパケットが、第2のパケットシーケンス番号の範囲にある第2のパケットシーケンス番号から始まるデータパケットである、ようにさらに構成される。
【０１７４】
一実装形態では、受信モジュール1301は、第1のデバイスからの第3の制御シグナリングを受信し、第3の制御シグナリングが第1のパケットシーケンス番号を含む、ようにさらに構成される。送信モジュール1302は、第3の制御シグナリングへの応答を第1のデバイスに送信し、第3の制御シグナリングへの応答が、第1のパケットシーケンス番号と、第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ようにさらに構成される。
【０１７５】
一実装形態では、受信モジュール1301が、第1のデバイスからの少なくとも1つの第3のデータパケットおよび第4の制御シグナリングを受信し、少なくとも1つの第3のデータパケットが、第3のデータパケットグループにおけるデータパケットであり、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号の範囲、およびタイムスタンプを含み、第3のデータパケットグループが、第3のパケットシーケンス番号の範囲にある第3のパケットシーケンス番号から始まるデータパケットであり、タイムスタンプが、第4の制御シグナリングが送信されたときの第1のデバイスのシステム時刻である、ようにさらに構成される。送信モジュール1302は、第4の制御シグナリングのフィードバックパケットを第1のデバイスに送信し、フィードバックパケットがタイムスタンプを含み、フィードバックパケットが、少なくとも1つの第3のデータパケットに関する情報または第3のデータパケットグループにおける受信されていないデータパケットに関する情報をさらに含む、ようにさらに構成される。
【０１７６】
装置1300は、マルチパス伝送シナリオにおいてコントローラと協働して別の伝送制御をさらに実装し得る。このシナリオでは、装置1300は第2のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する。受信モジュール1301は、第1のデバイスからの第1のパケットを複数のパスにおける第1のパスで受信し、第1のパケットがデュアルパス識別子を含み、デュアルパス識別子が、接続のパケット伝送モードを示すために使用される、ように構成される。送信モジュール1302が、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって、パケットを第1のデバイスに第1のパスで送信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって、パケットを第1のデバイスに複数のパスのそれぞれで送信する、ように構成される。
【０１７７】
マルチパス伝送は、冗長伝送または集約伝送のいずれか1つである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【０１７８】
図14は、本発明の一実施形態によるデバイスの概略的な構成図である。図14で説明されるデバイスは、端末、クラウドサーバ、クラウドプロキシサーバ、ロードバランサ、ハイブリッドアクセスゲートウェイなどであり得る。デバイス1400は、少なくとも1つの処理回路1401と通信インターフェース1403とを備え、通信インターフェース1403は、少なくとも1つの物理ネットワークインターフェースカードと、記憶媒体1404と、少なくとも1つの通信バス1402とを備える。通信バス1402は、これらのコンポーネント間の接続および通信を実装するように構成される。つまり、図4で説明されているプロセッサ、メモリ、およびネットワークインターフェースカードを備えるデバイスが、図14の具体的な実装形態である。したがって、図14の装置は、上記の様々な伝送制御方法、例えば、図9から図11に対応する段落で説明された例を実行し得る。これらの伝送制御方法を実行するプロセスでは、上記の様々な制御シグナリングが使用され得、これらの制御シグナリングは、図5から図8に示される例などの上記のカプセル化フォーマットを使用することができる。したがって、具体的な実装、実装の詳細、および有益な効果については、ここでは繰り返し説明しない。
【０１７９】
加えて、処理回路1401は、記憶媒体1404にあるコードを実行し、図12および図13に対応する装置を実装するために通信インターフェース1403と協働する。例えば、装置1200および1300の送信モジュールおよび受信モジュールは、記憶媒体1404にある命令を実行し、通信インターフェース1403を駆動することによって処理回路1401によって実装され得、命令を実行し、したがって通信インターフェースを呼び出すことによって処理回路1401内で実行される異なるプロセスまたはスレッドによって特に実装され得る。送信モジュールと受信モジュールとは、ハードウェアにおいて同じデバイス（例えば、ネットワークインターフェースカード）であってもよく、送信モジュールの機能と受信モジュールの機能とは、デバイスの異なるポート（port）によって実装される。
【０１８０】
一実装形態では、デバイス1400は端末デバイスであり得る。デバイス1400が端末デバイスである場合、場合により、デバイス1400は、ユーザインターフェースを備え、ディスプレイ（例えば、タッチスクリーン、LCD、CRT、ホログラフィック（Holographic）、またはプロジェクタ（Projector））、キーボード、またはクリックデバイス（例えば、マウス、トラックボール（trackball）、タッチパッド、またはタッチスクリーン）を備える。記憶媒体1405は、読み出し専用メモリおよびランダムアクセスメモリを含み得、処理回路1401に命令およびデータを提供し得る。メモリ媒体1405の一部は、不揮発性ランダムアクセスメモリ（NVRAM）をさらに含み得る。
【０１８１】
デバイスが端末、クラウドサーバ、またはクラウドプロキシサーバである場合、記憶媒体1405は、以下の要素、すなわち、実行可能モジュールもしくはデータ構造またはそれらのサブセットまたはそれらの拡張セットと、フレームワーク層、カーネルライブラリ層、およびドライバ層などの様々なシステムプログラムを含み、様々な基本サービスを実装し、ハードウェアベースのタスクを処理するように構成されたオペレーティングシステムと、ランチャー（launcher）、メディアプレーヤー（Media Player）、ブラウザ（Browser）などの様々なアプリケーションを含み、様々なアプリケーションサービスを実装するように構成されたアプリケーションプログラムとを記憶する。デバイスがゲートウェイである場合、記憶媒体1405は、上述の方法を実行するために必要とされるプログラムコードのみを記憶することができる（例えば、データパケットの受信または送信、確認応答パケットの受信または送信、および受信されたデータパケットの分析または受信された確認応答パケットの分析を含む）。
【０１８２】
処理回路1401は、1つまたは複数のプロセッサを使用することにより実装され得、処理回路1401は、中央処理装置（英語：central processing unit、略称CPU）であり得る。あるいは、処理回路1401は、別の汎用プロセッサ、デジタルシグナルプロセッサ（英語：digital signal processing、略称DSP）、特定用途向け集積回路（英語：application specific integrated circuit、略称ASIC）、フィールドプログラマブルゲートアレイ（英語：field−programmable gate array、略称FPGA）、または別のプログラマブルロジックデバイス、別個のゲートもしくはトランジスタロジックデバイス、別個のハードウェアアセンブリなどであってもよい。汎用プロセッサは、マイクロプロセッサであってもよいし、プロセッサは、任意の従来のプロセッサなどであってもよい。
【０１８３】
システムバス1402は、データバス、電源バス、制御バス、ステータス信号バスなどを含み得る。本実施形態における明確な説明のために、様々なバスは、図14においてシステムバス1402として記載されている。
【０１８４】
インターフェース回路1403は、具体的には、物理マシン上の通信インターフェースであり得る。通信インターフェースは、無線通信インターフェースであり得る。例えば、無線通信インターフェースは、物理マシンの無線モジュールまたはネットワークインターフェースカードであり得る。処理回路40は、インターフェース回路41を使用することにより、別の物理マシンなどの別のデバイスからデータを受信する、または別のデバイスにデータを送信する。
【０１８５】
記憶媒体1404は、揮発性メモリ（英語：volatile memory）、例えば、ランダムアクセスメモリ（英語：random−access memory、略称RAM）を含んでもよいし、記憶媒体1404は、読み出し専用メモリ（英語：read−only memory、略称ROM）、フラッシュメモリ（英語：flash memory）、ハードディスクドライブ（英語：hard disk drive、略称HDD）、またはソリッドステートドライブ（英語：solid−state drive、略称SSD）などの不揮発性メモリ（英語：non−volatile memory）を含んでもよいし、記憶媒体1404は、上記のタイプのメモリの組み合わせを含んでもよい。
【０１８６】
記憶媒体1404は、基礎となる記憶媒体およびメモリを含み得る。基礎となる記憶媒体は、例えば、ネットワークインターフェースカードにおける記憶媒体であり得る。メモリは、基礎となる記憶媒体に結合され、基礎となる記憶媒体のキャッシュとして使用されるように構成される。
【０１８７】
本出願は、可読記憶媒体をさらに提供する。可読記憶媒体は、コンピュータ実行可能命令を含む。物理マシンが実行されると、物理マシンのプロセッサがコンピュータ実行可能命令を実行し、その結果、物理マシンは、本発明の実施形態で提供される方法のいずれか1つを実行する。
【０１８８】
場合により、本実施形態における可読記憶媒体は、図14に示される記憶媒体1403であり得る。
【０１８９】
本出願は、コンピュータプログラム製品をさらに説明し、コンピュータプログラム製品は命令を含み、命令がコンピュータ上で実行されると、コンピュータは本出願で説明された方法のいずれか1つを実行する。
【０１９０】
実装形態に関する上述の説明により、説明を簡便にする目的で上記機能モジュールの分割が説明のための例として用いられていることが当業者には理解されよう。実際の適用においては、上記各機能を、要件に従う実装のため異なる機能モジュールに割り振ることができる、すなわち、装置の内部構造が上記の各機能の全部または一部を実装するための異なる機能モジュールに分割される。上記システム、装置、およびユニットの詳細な動作プロセスについては、上記方法実施形態における対応するプロセスを参照されたく、ここでは細部を繰り返し説明しない。
【０１９１】
本出願において提供される実施形態においては、本開示のデバイス、装置、および方法を他のやり方で実装することもできることを理解されたい。例えば、説明された装置実施形態は単なる例に過ぎない。例えば、モジュールへの分割は単なる論理的な機能分割であり、実際の実装では他の分割になり得る。例えば、複数のユニットまたはコンポーネントが別のシステムに組み合わされたり統合されたりしてもよいし、一部の特徴を無視したり実行しなかったりしてもよい。例えば、送信モジュール1202および受信モジュール1203は、モジュール、例えば送受信機モジュールまたは送受信機であり得る。加えて、表示または議論された相互結合または直接結合または通信接続は、いくつかのインターフェース、例えば、上記のインターフェース機能を介して実装され得、装置またはユニット間の間接結合または通信接続は、電気的形態、機械的形態、または別の形態で実装され得る。
【０１９２】
ソフトウェアが上述の実施形態を実施するために使用される場合、実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実施されてもよい。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されると、本発明の実施形態による手順または機能がすべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに、有線（例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線（DSL））または無線（例えば、赤外線、電波、またはマイクロ波）方式で送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であってもよく、または1つまたは複数の使用可能な媒体を一体化するサーバまたはデータセンタなどのデータ記憶デバイスであってもよい。使用可能な媒体は、磁気媒体（例えば、フロッピーディスク、ハードディスク、または磁気テープ）、光学媒体（例えば、DVD）、半導体媒体（例えば、ソリッドステートドライブSolid State Disk（SSD）、相変化メモリ）などであってもよい。
【０１９３】
以上は、本発明の実施形態で提供される方法および装置である。上述の実施形態の説明は、本発明の方法を理解するのを助けることが意図されているに過ぎない。加えて、当業者であれば、本発明で開示された内容に基づいて、特定の実装および適用範囲に関して修正を加えることができる。したがって、本明細書の内容は、本発明を限定するものとして解釈されるべきではない。
【符号の説明】
【０１９４】
1200,1300  装置
1201  制御モジュール
1202,1302  送信モジュール
1203,1301  受信モジュール
1400  デバイス
1401  処理回路
1402  通信バス、システムバス
1403  通信インターフェース、インターフェース回路
1404  記憶媒体
1405  メモリ媒体
【図１】
2021525044.tif 000003
【図２】
2021525044.tif 000004
【図３】
2021525044.tif 000005
【図４】
2021525044.tif 000006
【図５】
2021525044.tif 000007
【図６】
2021525044.tif 000008
【図７】
2021525044.tif 000009
【図８】
2021525044.tif 000010
【図９】
2021525044.tif 000011
【図１０】
2021525044.tif 000012
【図１１】
2021525044.tif 000013
【図１２】
2021525044.tif 000014
【図１３】
2021525044.tif 000015
【図１４】
2021525044.tif 000016
【手続補正書】
【提出日】令和2年11月27日(2020.11.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
伝送制御方法であって、前記方法が、
第1のデバイスによって、第1の制御シグナリングを第2のデバイスに送信するステップであって、前記第1の制御シグナリングが、第1のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含み、前記第1のデータパケットグループが、前記第1のパケットシーケンス番号から始まる前記第1のパケットシーケンス番号範囲内にあるデータパケットであり、前記第1の伝送時間間隔が、前記第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの少なくとも1つのデータパケットを受信するステップであって、前記少なくとも1つのデータパケットが、前記第1のデータパケットグループにおけるデータパケットである、ステップと
を含む、伝送制御方法。
【請求項２】
前記方法が、
前記第1のデバイスによって、受信された第1のデータパケットに基づいて第2の制御シグナリングを送信するステップであって、前記受信された第1のデータパケットのパケットシーケンス番号が、前記少なくとも1つのデータパケットにおいて最大であり、前記第2の制御シグナリングが、第2のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第2の制御シグナリングが、第2のパケットシーケンス番号、第2のパケットシーケンス番号範囲、および第2の伝送時間間隔を含み、前記第2のデータパケットグループが、前記第2のパケットシーケンス番号範囲内にある前記第2のパケットシーケンス番号から始まるデータパケットであり、前記第2の伝送時間間隔が、前記第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、前記第2のパケットシーケンス番号が、前記受信された第1のデータパケットの前記パケットシーケンス番号よりも大きい、ステップ
をさらに含む、請求項1に記載の方法。
【請求項３】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドの値が、前記第1の制御シグナリングのタイプに対応し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、前記第1の制御フレームにおける前記伝送時間間隔フィールドの値が、前記第1の伝送時間間隔を示す、請求項1または2に記載の方法。
【請求項４】
前記第2のデバイスからの少なくとも1つのデータパケットを受信する、前記ステップの後、前記方法が、
前記第1のデバイスによって、第3の制御シグナリングを前記第2のデバイスに送信するステップであって、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの前記第3の制御シグナリングへの応答を受信するステップであって、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記方法が、
前記第1のデバイスによって、第3のデータパケットグループを前記第2のデバイスに送信するステップであって、前記第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットである、ステップと、
前記第1のデバイスによって、第4の制御シグナリングを前記第2のデバイスに送信するステップであって、前記第4の制御シグナリングが、前記第3のパケットシーケンス番号、前記第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、前記タイムスタンプは、前記第1のデバイスが前記第4の制御シグナリングを送信するシステム時刻である、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの前記第4の制御シグナリングへの応答を受信するステップであって、前記第4の制御シグナリングへの前記応答が、前記タイムスタンプを含み、前記第4の制御シグナリングへの前記応答が、受信された、または受信されていないデータパケットに関する情報であって、前記受信された、または受信されていないデータパケットが、前記第3のデータパケットグループにおけるデータパケットである、情報をさらに含む、ステップと
をさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記第4の制御シグナリングが、第4の制御フレームにカプセル化され、前記第4の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、前記第4の制御フレームにおける前記タイプフィールドの値が、前記第4の制御シグナリングのタイプに対応し、前記第4の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第3のパケットシーケンス番号を示し、前記第4の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第3のデータパケットグループのパケットシーケンス番号の範囲を示す、請求項5に記載の方法。
【請求項７】
前記第1のデータパケットグループ、前記第2のデータパケットグループ、および前記第3のデータパケットグループが、第1のフロー識別子番号、前記第1の制御シグナリングが配置されるパケット、前記第2の制御シグナリングが配置されるパケット、前記第3の制御シグナリングが配置されるパケット、前記第4の制御シグナリングが配置されるパケットを運び、前記第3の制御シグナリングへの前記応答が配置されるパケット、および前記第4の制御シグナリングへの前記応答が配置されるパケットが、第2のフロー識別子番号をそれぞれ運ぶ、請求項4から6のいずれか一項に記載の方法。
【請求項８】
前記第1の制御シグナリングが第1の制御フレームにカプセル化され、前記第1の制御フレームが第1の制御パケットにカプセル化され、前記第1の制御フレームが第3のフロー識別子を運び、前記第1の制御パケットが第5の制御フレームをさらに含み、第5の制御シグナリングが前記第5の制御フレームにカプセル化され、前記第5の制御シグナリングが、第5のデータパケットグループを送信するように前記第2のデバイスに命令するために使用され、前記第5の制御フレームが第4のフロー識別番号を運ぶ、請求項1に記載の方法。
【請求項９】
前記第1の制御シグナリングが、ハンドシェイクパケットにカプセル化され、前記ハンドシェイクパケットは、前記第1のデバイスが前記第2のデバイスへの接続を確立するプロセスで使用されるパケットである、請求項1に記載の方法。
【請求項１０】
伝送制御方法であって、前記方法が、
第1のデバイスによって、第2のデバイスへの接続を確立するステップであって、前記接続が複数のパスに対応する、ステップと、
前記第1のデバイスによって、前記複数のパスにおける第1のパスで、第1のパケットを前記第2のデバイスに送信するステップであって、前記第1のパケットがデュアルパス識別子を含む、ステップと、
パケット伝送モードがシングルパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記第1のパスで受信するステップ、または
パケット伝送モードがマルチパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記複数のパスのそれぞれで受信するステップと
を含む、伝送制御方法。
【請求項１１】
前記マルチパス伝送が、冗長伝送または集約伝送のいずれかである、請求項10に記載の方法。
【請求項１２】
伝送制御方法であって、前記方法が、
第2のデバイスによって、第1のデバイスからの第1の制御シグナリングを受信するステップであって、前記第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ステップと、
前記第2のデバイスによって、前記第1の制御シグナリングに基づいて前記第1の伝送時間間隔で、複数の第1のデータパケットを前記第1のデバイスに送信するステップであって、前記複数の第1のデータパケットが、前記第1のパケットシーケンス番号から始まる前記第1のパケットシーケンス番号範囲内にあるデータパケットである、ステップと
を含む、伝送制御方法。
【請求項１３】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドの値が、前記第1の制御シグナリングのタイプを示し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、前記第1の制御フレームにおける前記伝送時間間隔フィールドの値が、前記第1の伝送時間間隔を示す、請求項12に記載の方法。
【請求項１４】
少なくとも1つのデータパケットを前記第1のデバイスに送信する、前記ステップの後、前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの第2の制御シグナリングを受信するステップであって、前記第2の制御シグナリングが、第2のパケットシーケンス番号、第2のパケットシーケンス番号範囲、および第2の伝送時間間隔を含み、前記第2のパケットシーケンス番号が、前記第1のデータパケットのパケットシーケンス番号より大きい、ステップと、
前記第2のデバイスによって、前記第2の制御シグナリングに基づいて前記第2の伝送時間間隔で、複数の第2のデータパケットを前記第1のデバイスに送信するステップであって、前記複数の第2のデータパケットが、前記第2のパケットシーケンス番号から始まる前記第2のパケットシーケンス番号範囲にあるデータパケットである、ステップと
をさらに含む、請求項12または13に記載の方法。
【請求項１５】
前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの第3の制御シグナリングを受信するステップであって、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ステップと、
前記第2のデバイスによって、前記第3の制御シグナリングへの応答を前記第1のデバイスに送信するステップであって、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ステップ
をさらに含む、請求項12から14のいずれか一項に記載の方法。
【請求項１６】
前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの少なくとも1つの第3のデータパケットおよび第4の制御シグナリングを受信するステップであって、前記少なくとも1つの第3のデータパケットが、第3のデータパケットグループにおけるデータパケットであり、前記第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、前記第3のデータパケットグループが、前記第3のパケットシーケンス番号から始まる前記第3のパケットシーケンス番号範囲内にあるデータパケットであり、前記タイムスタンプが、前記第4の制御シグナリングが送信されたときの前記第1のデバイスのシステム時刻である、ステップと、
前記第2のデバイスによって、前記第4の制御シグナリングのフィードバックパケットを前記第1のデバイスに送信するステップであって、前記フィードバックパケットが前記タイムスタンプを含み、前記フィードバックパケットが、前記少なくとも1つの第3のデータパケットに関する情報または前記第3のデータパケットグループにおける受信されていないデータパケットに関する情報をさらに含む、ステップと
をさらに含む、請求項12から15のいずれか一項に記載の方法。
【請求項１７】
前記第4の制御シグナリングが、第4の制御フレームにカプセル化され、前記第4の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、前記第4の制御フレームにおける前記タイプフィールドの値が、前記第4の制御シグナリングのタイプを示し、前記第4の制御フレームにおける前記初期パケットシーケンス番号フィールドの値が、前記第3のパケットシーケンス番号を示し、前記第4の制御フレームにおける前記パケットシーケンス番号範囲フィールドの値が、前記第3のデータパケットグループのパケットシーケンス番号の範囲を示す、請求項16に記載の方法。
【請求項１８】
前記複数の第1のデータパケット、前記複数の第2のデータパケット、および前記少なくとも1つの第3のデータパケットが、第1のフロー識別子番号、前記第1の制御シグナリングが配置されたパケット、前記第2の制御シグナリングが配置されたパケット、前記第3の制御シグナリングが配置されたパケット、および前記第4の制御シグナリングが配置されたパケットをそれぞれ運び、前記第3の制御シグナリングへの応答が配置されるパケット、および前記第4の制御シグナリングへの応答が配置されるパケットが、第2のフロー識別子番号をそれぞれ運ぶ、請求項16または17に記載の方法。
【請求項１９】
伝送制御デバイスであって、前記デバイスが、処理回路と、通信インターフェースと、記憶媒体とを備え、前記記憶媒体が命令を記憶し、前記通信インターフェースが、プロセッサによって送達された前記命令に基づいて別のデバイスとの情報交換を実行するように構成され、前記プロセッサが、請求項1から9または請求項10から17のいずれか一項に記載の方法を実装するために、前記通信インターフェースを制御するために前記記憶媒体に記憶された前記命令を実行するように構成される、伝送制御デバイス。
【請求項２０】
命令を含み、前記命令がコンピュータで実行されると、前記コンピュータが請求項1から9、または請求項10から17のいずれか一項に記載の方法を実行することが可能にされる、コンピュータ可読記憶媒体。
【請求項２１】
コンピュータプログラム製品であって、前記コンピュータプログラム製品が命令を含み、前記命令がコンピュータで実行されると、前記コンピュータは、請求項1から9、または請求項10から17のいずれか一項に記載の方法を実行することができる、コンピュータプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
1つの接続のデータ送信側またはデータ受信側が配置されるデバイスは、エンドポイントデバイスと呼ばれ得る。実際のネットワーク構造では、エンドポイントデバイスは、例えば、端末デバイス、クラウドデバイス（例えば、クラウドサーバ）、またはいくつかの送信デバイス（例えば、クラウドプロキシサーバ、ロードバランサ、またはハイブリッドアクセスゲートウェイ）であり得る。1つのエンドポイントデバイスは、異なる接続または異なる期間で異なる役割を果たし得る。例えば、エンドポイントデバイスは、ある接続では送信側である場合もあれば、別の接続では受信側である場合もある。したがって、既存のプロトコルでは、1つの接続の2つのエンドポイントデバイスのプロトコルスタックは、パケット伝送を制御する機能を備える必要がある。例えば、送信側が決定を行うプロトコルスタックアーキテクチャの場合、パケットを送信する機能を持つすべてのエンドデバイスは、パケット伝送を制御する機能を備える必要がある。具体的には、デバイスの観点から、接続の両端にあるデバイスは、パケット制御を実装するように構成されたモジュールを備える必要があり、パケット伝送を制御するには両端協調が必要とされる。上述の両端制御の実装は比較的複雑である。多くの実際のサービスシナリオでは、プロトコルのアップグレードは不便であり、伝送制御アルゴリズムの切り替えへの変換への応答は遅く、制御は十分に柔軟ではない。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
これに鑑みて、本発明の実施形態は、伝送制御方法および装置を提供する。接続の一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。さらに、一端にあるデバイスがデータ伝送を制御するように指定されると、伝送制御アルゴリズムが、一端にあるデバイスによって送信された制御シグナリングのパラメータおよび制御シグナリングの送信順序を変更することによって実装され得、また伝送制御アルゴリズムは、アップグレードおよび変更され得る。したがって、伝送制御アルゴリズムを実装、変更、およびアップグレードすることが便利である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
第1の制御シグナリングは、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含み、第1のデータパケットグループは、第1のパケットシーケンス番号範囲内にある第1のパケットシーケンス番号から始まるデータパケットであり、第1の伝送時間間隔は、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
伝送時間間隔は、時間に関連するパラメータであり、帯域幅を使用することにより示されてもよいし、2つのパケットを送信するアクションが実行される時間間隔を使用することにより直接示されてもよいことに留意されたい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドの値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、第1の制御フレームにおける伝送時間間隔フィールドの値が、第1の伝送時間間隔を示す。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
一実装形態では、第1の制御フレームは、フロー識別番号フィールドをさらに含み、第1の制御フレームにおけるフロー識別番号フィールドの値が、第1のデータパケットグループが属するデータフローを示すために使用される。一実装形態では、第1の制御フレームおよび第5の制御フレームが同じパケットにカプセル化され、第5の制御シグナリングは第5の制御フレームにカプセル化され、第5の制御フレームはまた、フロー識別番号フィールドを含み、第5の制御シグナリングが第5のデータパケットグループを送信するように第2のデバイスに命令し、第5の制御フレームにおけるフロー識別子フィールドの値が、第5のデータパケットグループが属するデータフローを示すために使用される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
このようにして、接続の一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。第1の制御シグナリングを受信した後、第2のデバイスは、第1の制御シグナリングの指示に基づいて第1のデータパケットグループを送信することを理解されたい。しかしながら、送信遅延および伝送遅延に起因して、第1のデータパケットグループが同時に到着しない、または第1のデバイスにおける伝送時間間隔で連続して到着し、このことは、アウトオブオーダーまたはパケット損失を引き起こし得る。したがって、第1のデバイスは、第1のデータパケットグループにおける1つまたは複数のデータパケットを受信する。加えて、次の実装形態では、第1のデバイスは、制御を強化するために、別の制御シグナリングを送信し続ける。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
第1のデータパケットのパケットシーケンス番号は、少なくとも1つのデータパケットにおいて最大であり、第2の制御シグナリングは、第2のデータパケットグループを送信するように第2のデバイスに命令し、第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含み、第2のデータパケットグループは、第2のパケットシーケンス番号から始まる第2のパケットシーケンス番号範囲内にあるデータパケットであり、第2の伝送時間間隔は、第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、第2のパケットシーケンス番号は、第1のデータパケットのパケットシーケンス番号よりも大きい。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
このようにして、第1のデバイスは、新しい制御シグナリングを送信する前に、すべての第1のデータパケットグループが受信されるのを待たず、その結果、ピア側の送信時に、より柔軟かつ効果的な制御が実行され得る。いくつかの実装形態では、第2の制御シグナリングの送信をトリガするための特定の条件が存在し得る。これらの条件は多様であり、すべての第1のデータパケットグループがしばらくしても依然として受信されない、いくつかのデータパケットが受信されるたびに1つの制御シグナリングが送信されるように指定されるなどであり得る。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
このようにして、第1のデバイスは、ピアデバイスがパケットを送信する場合をリアルタイムで追跡するために、第1のデータパケットグループの送信ステータスをフィードバックするように第2のデバイスに命令することができる。このようにして、第1のデバイスは、フィードバック情報に基づいて適時に後続の制御シグナリングのパラメータを調整することができる。上述のいくつかの制御シグナリングおよび制御シグナリングへの応答は、本出願における送信制御部分を実行するために使用され得る。異なるパラメータを運ぶ、または異なる条件で送信される制御シグナリングは、データを送信するために使用される様々な伝送制御アルゴリズムを実装し得る。一実装形態では、第1のデバイスは、異なる伝送制御アルゴリズムに対応するコードを記憶し、各伝送制御アルゴリズムに対応するコードは、複数の制御シグナリングを含むべきである。1つの伝送制御アルゴリズムに対応するコードが、制御シグナリングが実行される条件および順序を記述するために使用され、対応する伝送制御アルゴリズムを実行するために、これらの制御シグナリングのパラメータをどのように変更するかを記述する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
一実装形態では、本方法は、第1のデバイスによって、第3のデータパケットグループを第2のデバイスに送信するステップであって、第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットである、ステップと、第1のデバイスによって、第4の制御シグナリングを第2のデバイスに送信するステップであって、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、タイムスタンプは、第1のデバイスが第4の制御シグナリングを送信するシステム時刻である、ステップと、第1のデバイスによって、第2のデバイスからの第4の制御シグナリングへの応答を受信するステップであって、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報をさらに含む、ステップとをさらに含む。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報は、データパケットの数またはデータパケットのシーケンス番号であってもよいし、データパケットに対応するデータブロックに関する情報、例えばデータブロックの数またはシーケンス番号であってもよい。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
一実装形態では、第4の制御シグナリングは、第4の制御フレームにカプセル化され、第4の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、第4の制御フレームにおけるタイプフィールドの値が、第4の制御シグナリングのタイプに対応し、第4の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第3のパケットシーケンス番号を示し、第4の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第3のデータパケットグループのパケットシーケンス番号の範囲を示す。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
一実装形態では、本方法は、第1のデバイスによって、第1のネゴシエーションシグナリングを第2のデバイスに送信するステップであって、第1のネゴシエーションシグナリングが、第1のデバイスの伝送パラメータおよびロールパラメータを含み、第1のデバイスの伝送パラメータが、第1のデバイスの伝送能力を示し、ロールパラメータは、第1のデバイスがパケット伝送を制御することを示す、ステップと、第1のデバイスによって、第2のデバイスからの第2のネゴシエーションシグナリングを受信するステップであって、第2のネゴシエーションシグナリングが、第2のデバイスの伝送パラメータおよびロールパラメータを含み、第2のデバイスの伝送パラメータが、第2のデバイスの伝送能力を示し、ロールパラメータは、第2のデバイスがパケット伝送を制御せず、第1のデバイスが、第1のデバイスの伝送パラメータ、第1のデバイスのロールパラメータ、第2のデバイスの伝送パラメータ、第2のデバイスのロールパラメータ、およびネゴシエーション規則に基づいてパケット伝送を制御することを示す、ステップとをさらに含む。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
第3の態様によれば、本出願の一実施形態は、伝送制御方法を説明し、本方法は、第2のデバイスによって、第1のデバイスからの第1の制御シグナリングを受信するステップであって、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ステップと、第2のデバイスによって、第1の制御シグナリングに基づいて第1の伝送時間間隔で、少なくとも1つの第1のデータパケットを第1のデバイスに送信するステップであって、複数の第1のデータパケットは、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットである、ステップとを含む。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
第5の態様によれば、本出願の一実施形態は、伝送制御装置を説明し、本装置は、制御モジュールであって、制御モジュールが、第1の制御シグナリングを生成するように構成される、制御モジュールと、送信モジュールであって、送信モジュールが、第1の制御シグナリングを第2のデバイスに送信し、第1の制御シグナリングが、第1のデータパケットグループを送信するように第2のデバイスに命令し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝時間間隔を含み、第1のデータパケットグループが、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットであり、第1の伝時間間隔が、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ように構成される、送信モジュールと、受信モジュールであって、受信モジュールが、第2のデバイスからの少なくとも1つのデータパケットを受信し、少なくとも1つのデータパケットが、第1のデータパケットグループにおけるデータパケットである、ように構成される、受信モジュールとを備える。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
第6の態様によれば、本出願の一実施形態は、伝送制御装置であって、本装置が第1のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する、伝送制御装置を説明する。本装置は、制御モジュールであって、制御モジュールが、第1のパケットを生成し、第1のパケットがデュアルパス識別子を含む、ように構成される、制御モジュールと、送信モジュールであって、送信モジュールが、第1のパケットを第2のデバイスに複数のパスにおける第1のパスで送信するように構成される、送信モジュールと、受信モジュールであって、受信モジュールが、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを第1のパスで受信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを複数のパスのそれぞれで受信する、ように構成される、受信モジュールとを備える。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
第7の態様によれば、本出願の一実施形態は、伝送制御装置を説明し、本装置は受信モジュールと送信モジュールとを備え、受信モジュールが、第1のデバイスからの第1の制御シグナリングを受信し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ように構成され、送信モジュールが、第1の制御シグナリングに基づいて第1の伝送時間間隔で、少なくとも1つの第1のデータパケットを第1のデバイスに送信し、複数の第1のデータパケットが、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットである、ように構成される。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
第7の態様は、第3の態様の方法に対応する装置を説明する。第3の態様で説明される方法は、第3の態様が第2のデバイスの観点から説明されることを除いて、第1の態様で説明される方法に対応する。したがって、第7の態様の様々な実装、説明、および有益な効果については、第1の態様の説明を参照されたい。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
したがって、本出願は、伝送制御方法および装置を提供する。本方法によれば、一端にあるデバイスがパケット伝送を制御することができる。パケット送信がデータ送信側またはデータ受信側によって制御される従来技術とは異なり、一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを伝送し、パケット受信ステータスをフィードバックするだけで済む。このようにして、伝送制御アルゴリズムのステップは、一端による制御を通じて実装され得る。両端にあるデバイスは、伝送制御アルゴリズムのアップグレードまたは切り替えに関与する必要がなく、したがって、アップグレードはより便利かつ効率的に完了され得る。本出願では、制御されたパケットは、主にデータパケットである、つまりデータパケージであり、かついくつかのフィードバックパケットをさらに含み得る。このようにして、パケット伝送を制御するデバイスが指定され得る、またはコントローラが、接続の両端にあるデバイスのネゴシエーションを通じて決定され得る。この場合、他端にあるデバイスは決定を行う必要がなく、コントローラの制御シグナリングのみに基づいてパケットを送信し得る。本出願で説明される方法は、様々な通信シナリオに、例えば、端末デバイス間の通信、クラウドデバイス間の通信、端末デバイスとクラウドデバイスとの間の通信（略して、エンドクラウド通信と呼ばれる）に適用可能である。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
接続は、送信側（sender）と受信側（receiver）との間のデータ伝送に使用される。1つの接続は、ネットワークトポロジにおける複数のパスに対応することができ、複数のフローは、1つの接続で伝送され得る。パスは、送信側（sender）と受信側（receiver）との間のリンクである。複数のフローは、1つのアプリケーションに属してもよいし、異なるアプリケーションに属してもよい。パスは、4タプルまたは5タプルを使用することにより識別され得る。例えば、5タプルは、送信元IPアドレスと、送信元ポート番号と、宛先IPアドレスと、宛先ポート番号と、トランスポート層プロトコル名とを含む。
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
ACK（Acknowledgement）：確認応答パケット、またはACKパケットとも呼ばれる。本出願では、ACKは、1つまたは複数の受信データパケットを送信側にフィードバックするために受信側によって使用される。これに対応して、NACK（すなわち、Non−Acknowledgement）があり、NACKは、受信されていない1つまたは複数のデータパケットを送信側にフィードバックするために受信側によって使用される。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
送信ウィンドウは、ウィンドウとも呼ばれ、データ送信側が送信を許可されたバイト数を示すために使用され、また、データ送信側が一度に送信キューに入れることをデータ受信側が許可する最大データ量でもある。
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
フロー（flow）：接続で伝送されるパケットグループである。複数のフローが接続上で伝送され得、パケットグループのパケットヘッダは同じフロー識別子番号を運ぶ。パケットグループは、サービスを実装するために使用され得る。例えば、ストリームは、ウェブページ上の一群の写真のデータ、またはビデオウェブサイト上の小容量のビデオのデータを伝送するために使用される。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
エンドクラウド通信シナリオが例として用いられる。図3は、本出願における一般的なネットワークシステムを示している。図3では、端末とクラウドデバイス（例えば、図に示されているクラウドプラットフォーム1、クラウドサーバ2、およびクラウドサーバ3）との間のリンクは、ハイブリッドアクセスゲートウェイまたはプロキシサーバを通過し得る。本出願で説明される伝送制御方法におけるコントローラは、端末であり得る。この場合、制御対象のデバイスは、クラウドデバイス（例えば、クラウドサーバ3）、ハイブリッドアクセスゲートウェイ、またはプロキシサーバである。逆に、コントローラはクラウドデバイス（例えば、クラウドサーバ3）、ハイブリッドアクセスゲートウェイ、またはプロキシサーバであり、制御対象のデバイスは、これらのデバイスにアクセスする端末である。例えば、端末デバイスがコントローラである場合、端末デバイスとクラウドとの間の通信は、端末によって常に制御され得る。この場合、端末デバイスのみがアップグレードされる必要があり、当然のことながら、このことは、より簡単に実装され得る。あるいは、クラウドデバイスがコントローラとして使用され、すべての端末デバイスとクラウドデバイスとの間の通信プロセスでは、パケット伝送はクラウドデバイスによって常に制御される。したがって、伝送制御アルゴリズムがアップグレードまたは調整される必要がある場合、クラウドデバイスのみが伝送パフォーマンスを最適化するために調整される必要があり、当然のことながら、このことも、クラウドサービスプロバイダまたはネットワークサービスプロバイダにとって非常に便利である。
【手続補正３１】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
本出願で説明される伝送方法は、新しい伝送プロトコルを提案する。新しい伝送プロトコルは、既存のプロトコルを変更するか、独自のプロトコルを定義することによって実装される。デバイスに対応するソフトウェア構造は、既存のプロトコルスタック、例えば、TCPプロトコルスタック、UDPプロトコルスタック、またはQUICプロトコルスタックに対するユーザモードもしくはカーネルモードにおける改良であり得る、あるいは新しい独自のプロトコルスタックが、ピアデバイスを制御するために、統一されたフォーマットを有し、制御シグナリングを運ぶ制御パケットまたはフレームを生成するためにユーザモードに追加され、制御パケットのフォーマットまたはフレームのフォーマットが、データパケットのフォーマットとは異なり得る。制御シグナリングは、複数の方式で運ばれ得る。例えば、既存のプロトコルの拡張パケットヘッダに基づいて、パケットに依存しないフレームが使用され（例えば、この形式はQUICプロトコルを改善するために使用される）、制御シグナリングはQUICパケットまたはUDPパケット）のペイロードとして使用される、または制御シグナリングはTCPプロトコルのオプションで定義される。制御パケットまたはフレームの過度の送信を回避するために、1つの制御パケットまたはフレームは、複数の制御シグナリングを運ぶことができ、具体的な実装形態は、本出願において限定されない。例えば、一実装形態では、1つの制御パケットは複数のフレームを含み、各フレームは1つの制御シグナリングを含む。各フレームは1つのフローIDを運ぶことができ、1つのフローIDは接続で伝送される1つのフローを表すため、1つの制御パケットは異なるフローのパケット伝送を制御するために使用される制御シグナリングを運ぶことができる。別の実装形態では、1つのフレームが複数の制御シグナリングを運ぶ。このようにして、フレームヘッダの数が低減され得、フレームの特定の負荷に対応するフローの制御シグナリングが事前に定義され得る。
【手続補正３２】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
本出願では、ローカルデバイスがコントローラであるという観点から説明が提供される。伝送制御は、少なくとも2つの態様、すなわち、送信制御、つまり、データを運ぶパケットをピアデバイスがどのように送信するかをローカルデバイスが制御することと、受信制御、つまり、ピアデバイスにデータを送信した後、ピアデバイスがデータの受信結果をどのようにフィードバックするかをローカルデバイスが制御することとを含む。本出願でフィードバックされる結果は、以下で新しく定義されるフォーマットを使用し得ることを理解されたい。あるいは、既存のTCPプロトコルにおけるACKまたはNACKなどのフィードバックパケットのフォーマットを参照することもできる。制御シグナリングは、2つのタイプの制御が異なるタイプのパラメータを運ぶことを実装するために使用される。コントローラであるデバイスは、制御シグナリングを絶えず送信し、制御シグナリングで運ばれるパラメータの値を調整することによって、様々な伝送制御アルゴリズムを実装し得る。例えば、ローカルデバイスは、伝送制御アルゴリズムを切り替えたり、伝送制御アルゴリズムの異なるフェーズを実装したりするために、接続されたネットワークステータスに基づいてパラメータを調整する。ネットワークステータスは、これらのパラメータ、すなわち、帯域幅、遅延（伝送遅延またはラウンドトリップタイム）、遅延変動、ジッタ、パケット損失率、アクセスされたネットワークの信号強度などのうちの少なくとも1つによって表され得る。
【手続補正３３】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
制御シグナリングは、制御パケットまたは制御フレームにカプセル化され得る。例えば、制御シグナリングはフレームとしてカプセル化され、UDPパケットの負荷として使用される。非データパケット（例えば、制御シグナリングおよびその応答）とデータとは、異なるフローで送信され得る。異なるフローは異なるIDによって識別され、異なるIDはフロー識別番号またはフローIDと呼ばれる。換言すれば、1つの接続は複数のフローによって再利用される、つまり、制御フローとデータフローとは分離され、データフローと制御フローとは異なるトランスポートプロトコルを使用し得る。一実装形態では、データフローと制御フローとは同じアプリケーションに属し、アプリケーションのデータのみが1つのデータフローとデータフローに対応する制御フローとで送信される。一実装形態では、複数のアプリケーションの制御シグナリングは、同じ制御フローで送信される。このようにして、伝送における順序をよりよく維持するために、シーケンス番号が制御フレームまたは制御パケットに別々に割り当てられ得る。例えば、制御フレームのシーケンス番号は、公差が1の漸進的に増加するシーケンスによって表される。一実装形態では、各制御フレームは、制御フレームで運ばれる制御シグナリングのタイプを表すために、タイプパラメータを含み得、これは、制御シグナリングを受信するデバイスがタイプを識別するのを助ける、つまり、同じタイプの制御シグナリングが、コントロールフレームにカプセル化される。パラメータはフレームヘッダで運ばれ得、制御シグナリングもフレームヘッダの後の部分で運ばれる。フレームヘッダは、タイプおよびフレームシーケンス番号を含む一般的なフォーマットであり得る。別の実装形態では、フレームヘッダは、上記のフロー識別番号を運ぶために使用されるフロー識別子フィールドをさらに含む。例えば、図5に示されるフレームヘッダ構造では、タイプフィールドの長さは8bit（1バイト）であり、フロー識別子フィールドの長さは32bit（4バイト）であり、フレームシーケンス番号フィールドの長さは32bit（4バイト）である。したがって、異なるフローを制御し、データパケットのものである制御シグナリングは、異なるフレームにカプセル化され得る。タイプフィールドは、それ自体で値を定義できる。例えば、送信制御フレームのタイプフィールドは0x01であり、ピア情報要求フレームのタイプフィールドは0x02であり、ピア情報応答（確認応答）フレームのタイプフィールドは0x03であり、受信制御フレームのタイプフィールドは0x04であると定義され、様々なフレームが対応するタイプのシグナリングを運ぶ。
【手続補正３４】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
送信制御シグナリングは、送信制御シグナリングに含まれる送信制御パラメータを使用することにより、送信制御シグナリングに基づいて、送信されるべきパケットをこれらのパケットが送信されるべき時間間隔で送信するようにピアデバイスに命令する。含まれる送信制御パラメータは、複数の方式で組み合わされ得る。
【手続補正３５】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
具体的には、送信制御パラメータは、初期パケットシーケンス番号、パケットシーケンス番号範囲、および伝送時間間隔であり得る。初期パケットシーケンス番号は、パケットシーケンス番号（Sequence Number、SN）であり、1つの制御シグナリングを使用することにより送信されるように制御される複数のパケットの中で第1のパケット、例えば最小のパケットシーケンス番号を有するパケットを示すために使用される。
【手続補正３６】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
送信制御シグナリングは、パケットシーケンス番号範囲内にある初期パケットシーケンス番号から始まるパケットを送信し、かつパケットを伝送時間間隔で送信するようにピアデバイスに命令する。初期パケットシーケンス番号の値は、パケットのシーケンス番号である。パケットシーケンス番号は、パケットを識別し得る、またはパケットのシーケンスを識別し得ることを理解されたい。例えば、より小さいパケットシーケンス番号を有するパケットが最初に処理される（例えば、送信または受信される）べきである。既知のプロトコルの場合、パケットシーケンス番号の命名規則が決定され、本出願はその規則を参照し得る。独自のプロトコルの場合、パケットシーケンス番号の命名規則も指定される必要がある。したがって、送信される必要があるパケットは、初期パケットシーケンス番号およびパケットシーケンス番号範囲を使用することにより表され得る。伝送時間間隔は、時間に関連するパラメータであり、帯域幅を使用して示されてもよいし、時間間隔を使用して直接示されてもよい。これは、決定されたプロトコルでは、各パケットの長さがわかっている、つまり、パケットのペイロードがわかっており、帯域幅が単位時間あたりに送信されるデータ量を表すためである。したがって、帯域幅とパケットを送信するアクションが実行される時間間隔との間には、明確な数学的関係がある。例えば、1回の送信制御シグナリングで運ばれる初期パケットシーケンス番号は12であり、パケットシーケンス番号範囲は10であり、伝送時間間隔は帯域幅で表され、帯域幅の値は1mbpsである。接続のプロトコルにおいて、データパケットのパケットシーケンス番号が、公差が1である等差数列に番号付けされている場合、この場合、送信制御シグナリングは、シーケンス番号が12〜21の10個のパケットを1／（1mbps）の時間間隔で、すなわち帯域幅の値の逆数で送信するように命令する。
【手続補正３７】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
一実装形態では、図6に示されるように、送信制御シグナリングにおいて、パケットシーケンス番号（すなわち、初期パケットシーケンス番号）フィールドの長さは32bit（4バイト）であり、パケットシーケンス番号範囲フィールドの長さは32bit（4バイト）であり、伝送時間間隔フィールドの長さは32bit（4バイト）である。例えば、3つのフィールドの配置順序が図6に示され得る。送信制御フレームは、1つまたは複数の送信制御シグナリングを含み得る。複数の送信制御シグナリングが含まれる場合、フレーム内の制御シグナリングの数を示すために、1つのフィールドが送信制御フレームに含まれるべきである。
【手続補正３８】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
いくつかのアルゴリズムでは、制御シグナリング、すなわちピア情報要求シグナリングおよび制御シグナリングへの応答、つまりピア情報応答（確認応答）が制御に使用される必要がさらにある。
【手続補正３９】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
ピア情報応答（確認応答）は、上述のピア情報要求シグナリングに対する応答である。1回のピア情報要求シグナリングを受信した後、ピアデバイスはピア情報要求シグナリングへの応答を送信する。データパケットと制御パケットとが異なるフローを使用することにより送信される場合、ピア情報応答（確認応答）は制御フローで送信される。
【手続補正４０】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
ピア情報応答（確認応答）は、パケットシーケンス番号（つまり、ピア情報応答（確認応答）の初期パケットシーケンス番号）と、送信対象のデータパケットに関する情報とを含む。送信対象のデータパケットに関する情報は、ピア情報応答（確認応答）の初期パケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報を示すために使用される。少なくとも1つの送信対象のデータパケットに関する情報は、ピアデバイスによって送信される全部または一部のデータパケットに関する情報であり得る。例えば、少なくとも1つの送信対象のデータパケットに関する情報は、全部または一部の送信対象のデータパケットの数またはパケットシーケンス番号であり得る。この場合、全部または一部の送信対象のデータパケットは、第2のデバイスの送信キューで送信されない全部または一部のデータパケットであり得る、またはこのサービスにおいて第2のデバイスによって送信されないすべてのパケットであり得る（例えば、画像の送信またはウェブページの更新）。ピア情報要求シグナリングおよび対応するピア情報応答（確認応答）は、同じ初期パケットシーケンス番号を含む。
【手続補正４１】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
ピア情報応答（確認応答）は、送信されたパケットに関する情報をさらに含み得る。送信されたパケットに関する情報は、初期パケットシーケンス番号から始まり、パケットが正常に受信されたと判定されたピアデバイスによって送信された複数のパケット（またはデータブロック）に関する情報を含む。例えば、送信されたパケットに関する情報は、パケットシーケンス番号、パケットシーケンス番号の数のオフセット、データのオフセット、ビットマップなどであり得る。いくつかの実装形態では、パケットがローカルデバイス（例えば、第1のデバイス）によって受信されたと判定されていない場合に送信されたパケット（またはデータブロック）に関する情報がさらに含まれ得る。送信されていないパケットに関する情報は、パケットシーケンス番号、パケットシーケンス番号のオフセット、データのオフセット、ビットマップなどであり得る。具体的には、ピア情報応答（確認応答）のいくつかのバイトの番号は、送信されたパケットに関する情報を表し、他のいくつかのバイトの番号は、送信されていないパケットに関する情報を表すと定義されている。本出願では、ピア情報応答（確認応答）のフォーマットは限定されない。例えば、図7に示されるように、ピア情報応答（確認応答）では、初期パケットシーケンス番号フィールドの長さは32bit（4バイト）であり、いくつかの可変長フィールド（図7では7フィールド）が順次含まれる。各可変長フィールドの最大長は32bit（4バイト）であり、可変長フィールドは、データブロックが送信されたと判定された場合に、シグナリングで運ばれるデータブロックの数を示すために使用される確認応答ブロック数フィールドを含む。確認応答ブロックフィールドと非確認応答ブロックフィールドとは間隔を空けて設定される。各フィールドは、データブロックの送信情報を示し、データブロックの識別子またはデータブロックの長さによって表され得る。このように、初期パケットシーケンス番号から始まるいくつかのフィールドのデータが送信されたと判定されたことと、その後のいくつかのフィールドのデータが送信されていないと判定されていないことを示し得る。加えて、可変長のフィールドは、送信されていないパケットの数を示すために使用される、送信対象のパケットの数のフィールドをさらに含む。
【手続補正４２】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
このようにして、ピアデバイスの送信制御は、上述の複数の制御シグナリングの使用の組み合わせを通して実装され得、複数の既存の伝送制御アルゴリズムも実行され得る。第1のデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。さらに、伝送制御アルゴリズムが、一端にあるデバイスによって送信された制御シグナリングのパラメータおよび制御シグナリングの送信順序を変更することによって実装され得、また伝送制御アルゴリズムは、アップグレードおよび変更され得る。したがって、伝送制御アルゴリズムを実装、変更、およびアップグレードすることが便利である。詳細については、以下の例を参照されたい。
【手続補正４３】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
受信制御シグナリングは、受信制御シグナリングの受信制御パラメータを使用することにより、データパケットの受信ステータスをフィードバックするようにデータ受信側を制御する。例えば、受信制御シグナリングは、フィードバックの条件（フィードバックのきっかけとしても理解され得る）およびフィードバックされる必要があるデータパケットの範囲をデータ受信側に通知することができる。このようにして、データ送信側は、これらのフィードバックに基づいて、これらのデータパケットが正しく受信されたか否かを判定することができる。含まれる受信制御シグナリングは、複数の方式で組み合わされ得る。マルチフロー多重化シナリオでは、データ受信側は、制御フローを使用することにより、受信制御シグナリングに基づいてフィードバックパケットを送信する。本出願では、フィードバックパケットのフォーマットは限定されない。例えば、フィードバックパケットは、従来技術におけるACKまたはNACKであり得る。従来技術では、そのような制御はデータ受信側によって実施される、したがって、受信制御シグナリングは送信される必要がない。
【手続補正４４】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
一実装形態では、受信制御シグナリングは、パケットシーケンス番号（すなわち、初期パケットシーケンス番号）、パケットシーケンス番号範囲、およびタイムスタンプを含む。初期パケットシーケンス番号およびパケットシーケンス番号範囲は、いくつかの特定のデータパケットの受信ステータスがフィードバックされる必要があることを示すために使用される。2つのパラメータの具体的な説明については、上述の段落を参照されたい。タイムスタンプは、受信制御シグナリングを送信する瞬間であり、パケット障害の場合を収集する、ネットワーク遅延を計算するなどのために使用され得る。受信制御シグナリングを受信することは、フィードバックの生成および送信をトリガする、例えば、フィードバックを送信するプロセスをトリガするイベントである。図8に示される受信制御シグナリングが例として使用され、シーケンスおよび3つのパラメータのそれぞれの長さは以下のとおりである、すなわち、タイムスタンプは32bit（4バイト）のフィールド長を有し、初期パケットシーケンス番号は32bit（4バイト）のフィールド長を有し、パケットシーケンス番号範囲は32bit（4バイト）のフィールド長を有する。3つのパラメータは送信制御シグナリングの値とは異なり、3つのパラメータのシーケンスも異なる。一実装形態では、初期パケットシーケンス番号は、データパケットが受信または処理されたことがデータ送信側によって判定される受信制御シグナリングが生成されたときのデータパケットのパケットシーケンス番号の最大値に設定される。「処理された」とは、データ送信側がデータパケットが失われたと判定し、したがって、失われたデータパケットを再送信するためにデータパケットの複製のパケットシーケンス番号を変更することを意味する。パケットシーケンス番号範囲は、受信制御シグナリングが生成されたときのデータ送信側によって送信されたデータパケットのパケットシーケンス番号の最大値に設定され、タイムスタンプは制御シグナリングを送信する瞬間に設定される。
【手続補正４５】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
受信制御シグナリングを受信した後、データ受信側、例えば第2のデバイスは、初期パケットシーケンス番号から、パケットシーケンス番号範囲により示されたパケットシーケンス番号以下のパケットシーケンス番号までの範囲内にあるデータパケットの受信ステータスをフィードバックする。例えば、受信ステータスは、どのデータパケットが受信されたか、またはどのデータパケットが受信されていないかであり得、フィードバックをトリガする受信制御シグナリングのタイムスタンプがさらに運ばれるべきである。一実装形態では、処理遅延がさらに含まれる場合があり、処理遅延は、受信制御シグナリングを受信する時間と、受信制御シグナリングに対応するフィードバックを送信する時間との間の時間差である。このようにして、データ送信側は、ネットワーク伝搬遅延の場合をより正確に収集できる。フィードバックされる必要があるデータパケットの範囲の値が、パケットをフィードバックするためにサポートされている最大値を超える場合、すべてのデータパケットをフィードバックできるわけではなく、最大値を下回る数のデータパケットの受信ステータスのみがフィードバックされる。
【手続補正４６】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
第1の制御シグナリングは、上述の送信制御シグナリングであり、したがって、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む。このようにして、第1のパケットシーケンス番号および第1のパケットシーケンス番号範囲は、第1のデータパケットグループを示し得る。第1の伝送時間間隔は、第1のデータパケットグループを送信するための時間間隔を示す。時間間隔は、帯域幅で表され得る。
【手続補正４７】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
S902：第2のデバイスは、受信された第1の制御シグナリングにおける示されたパケットシーケンス番号および第1の伝送時間間隔に基づいて、第1のデータパケットグループを送信する。
【手続補正４８】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含む。第2のパケットシーケンス番号および第2のパケットシーケンス番号範囲は、第2のデータパケットグループを示すと見なされ得る。第2の伝送時間間隔は、第2のデータパケットグループを送信するための時間間隔を示す。
【手続補正４９】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
別の実装形態では、1つまたは複数のデータパケットが受信された後、次の送信制御シグナリングが送信され得る。デバイスには送信遅延が存在し、ネットワークにはネットワーク遅延が存在するため、この実装は、ピア側でのデータ送信をより適切に制御できる。具体的には、第2のパケットシーケンス番号および第2のパケットシーケンス番号範囲によって示されるパケットは、番号に関して、第1のデータパケットグループと重なり得る。例えば、第1のデータパケットグループは1〜10の番号が付けられたパケットである。1〜4の番号が付けられたパケットが受信された後、第2の制御シグナリングが送信され、したがって、第2のパケットシーケンス番号は5である。
【手続補正５０】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
第3の制御シグナリングは、第1の制御シグナリングの後に送信されるが、第2の制御シグナリングの前または後に送信され得る。具体的なきっかけは、伝送制御アルゴリズムにおける第3の制御シグナリングをトリガするための条件に依存する。図9は、第3の制御シグナリングが第2の制御シグナリングの後に送信される場合を説明している。
【手続補正５１】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
第3の制御シグナリングへの応答は、上述のピア情報応答（確認応答）に対応する。
【手続補正５２】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
ピア情報応答（確認応答）が受信される場合、第1のデータパケットグループおよび第2のデータパケットグループのすべてが送信されるわけではない。したがって、第1のデバイスは、第2のデバイスによって送信されたデータパケットをさらに受信し続け得る。
【手続補正５３】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
第3のデータパケットグループは、第3のパケットシーケンス番号から始まる第3のパケットシーケンス番号範囲内にある複数のデータパケットである。
【手続補正５４】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
S907：第1のデバイスは、第4の制御シグナリングを第2のデバイスに送信し、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、タイムスタンプは、第4の制御シグナリングが送信されたときの第1のデバイスのシステム時刻である。
【手続補正５５】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
S908：第1のデバイスは、第4の制御シグナリングへの応答を受信し、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報をさらに含む。
【手続補正５６】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
制御の第1のラウンド：第1のデバイスは、ラウンドにおいて第1の送信制御シグナリングを第2のデバイスに送信し、初期パケットシーケンス番号は1であり、パケットシーケンス番号範囲は10であり、伝送時間間隔は帯域幅で表され、1mbpsである。第1の制御シグナリングを受信した後、第2のデバイスは1mbpsの帯域幅で1〜10までの番号が付けられたデータパケットを送信する。番号1のデータパケットを受信した後、第1のデバイスは第2の送信制御シグナリングをフィードバックし、初期パケットシーケンス番号は2であり、パケットシーケンス番号範囲は11であり、帯域幅は11／RTTmbpsである。RTTは、接続のラウンドトリップタイムである。
【手続補正５７】
【補正対象書類名】明細書
【補正対象項目名】０１１４
【補正方法】変更
【補正の内容】
【０１１４】
制御の第2のラウンド：第2のラウンドにおける制御プロセスは次のようにまとめられ得る、すなわち、第1の送信制御シグナリングが（第1の送信制御シグナリングの初期パケットシーケンス番号は11であるべきであり、パケットシーケンス番号範囲は10である）第2のラウンドにおいて送信された後、データパケットが受信されるたびに、それに応じて次の送信制御シグナリングが生成され、初期パケットシーケンス番号が1ずつ増加され、パケットシーケンス番号範囲が1ずつ増加され、伝送時間間隔がパケットシーケンス番号範囲がRTTで除された後の値に設定される。この変更規則は、現在のラウンドにおいて第1の送信制御シグナリングによって示される最後のデータパケット（例えば、番号20のデータパケット）が受信され、番号20のデータパケットによってトリガされる送信制御シグナリングが送信されるまで続く。これから、新しい制御ラウンドが開始され、変更規則が、パケットシーケンス番号範囲が前の送信制御シグナリングに基づいて2倍になるように調整される。このようにして、前のラウンドの約2倍のデータ量が送信され得る。この制御プロセスのメカニズムは、BBRの輻輳制御スロースタートフェーズのメカニズムと一致している。理解するには、BBRを説明している他の文献を参照されたい。
【手続補正５８】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
換言すれば、1制御ラウンドは、第1の送信制御シグナリングを送信してから、第1の送信制御シグナリングの命令の下で送信されたすべてのパケットを受信するまでのプロセスである。一実装形態では、1制御ラウンドで送信されるパケットの数は、第1の制御シグナリングが制御ラウンドで送信されるときの送信ウィンドウの値に対応するパケットの数である。
【手続補正５９】
【補正対象書類名】明細書
【補正対象項目名】０１１８
【補正方法】変更
【補正の内容】
【０１１８】
上述の制御プロセスにおいて、帯域幅推定を更新するための方法は、1送信制御ラウンドにおいて、データパケットが受信されるたびに、データパケットが属する送信制御ラウンドの帯域幅値が計算され、送信制御ラウンドにおける計算された帯域幅値の最初の3つの値が予約され、このラウンドで推定される帯域幅値は、最初の3つの値の最大値である。新しい送信制御ラウンド、つまり新しい帯域幅推定期間ラウンドが始まると、前のラウンドの3つの値は、新しいラウンドにおいて計算された帯域幅の値に徐々に置き換えられ、最後に、新しい送信制御ラウンドが終了した後、3つの更新された値の最大値が、新しいラウンドの推定帯域幅として使用される。
【手続補正６０】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
さらに、伝送制御アルゴリズムはまた、上述のシグナリングを使用することにより、データ伝送中に変更され得る。以下は、例を使用することにより、BBRアルゴリズムを説明する実施形態に基づく上述のシグナリングを使用することにより別のアルゴリズムに切り替えるプロセスを説明する。別のアルゴリズムに切り替えるための条件は、帯域幅の検出および推定フェーズにおいて、検出されたすべての帯域幅統計値の中で、最大値が2番目に大きい値の20％よりも大きいことであり得る。この条件は、ネットワークが不安定であることを示している。別のアルゴリズムは、ウィンドウベースの輻輳制御アルゴリズムであり得る。このアルゴリズムによれば、送信制御シグナリングのパラメータは、次のように調整される、すなわち、（1）新しい制御ラウンドのパケットシーケンス番号範囲が、前のラウンドのパケットシーケンス番号範囲のデータパケットが正常に送信されるたびに1ずつ増加される、（2）伝送時間間隔が帯域幅で表され、値は送信制御シグナリングのパラメータを表すために使用されるフィールドにより表され得る最大値である、（3）第1のデバイスがパケット損失を検出すると、パケットシーケンス番号範囲の値が半分になる。1つの送信制御シグナリングが受信されるたびに、データ送信側は、データ送信側によってサポートされる最大送信速度を使用することにより、送信制御シグナリングによって示されるデータ（つまり、送信制御シグナリングで運ばれる初期パケットシーケンス番号およびパケットシーケンス番号範囲で示されるパケット）を送信する。
【手続補正６１】
【補正対象書類名】明細書
【補正対象項目名】０１２１
【補正方法】変更
【補正の内容】
【０１２１】
加えて、いくつかのシナリオでは、制御を実装するために、一部のフィールドがデータパケットにさらに追加され得る。例えば、第1のデバイスと第2のデバイスとの間の接続は、複数のリンクに対応する、つまり、マルチパス伝送モードが使用される。低遅延シナリオが、3つの伝送モードを実装するために、ピアデバイスの送信パスをどのように制御するかを説明する例として使用される。3つの送信モードは次のとおりである、すなわち、ネットワーク1のみを使用することによる冗長伝送、ネットワーク2のみを使用することによる冗長伝送、ネットワーク1およびネットワーク2を使用することによる冗長伝送である。例えば、ネットワーク1はWi−Fiネットワークであり、ネットワーク2はLTEネットワークなどのセルラ方式の無線ネットワークである。当然のことながら、MPTCP伝送は別の伝送モードを有する。例えば、ネットワーク1およびネットワーク2は、集約伝送に使用される。MPTCPプロトコルにおける伝送モードの別の組み合わせも同様の方式で制御され得る。具体的な実装形態については、以下の説明を参照されたい。制御は、第1のデバイスまたは第2のデバイスに実装され得る。
【手続補正６２】
【補正対象書類名】明細書
【補正対象項目名】０１２２
【補正方法】変更
【補正の内容】
【０１２２】
具体的には、データパケットは、パケットを送信するためにピアデバイスによって使用されるパスを示すために使用されるデュアルパス識別子を含み得る。デュアルパス識別子は、デュアルパスフラグであり得る。このようにして、伝送モードは、デュアルパスフラグの値またはフラグがあるか否かを示す情報を使用することにより表され得る。例えば、制御は第1のデバイスに実装される。伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスは、第1のパケットを送信するために使用されるパスで、第2のデバイスによって送信されたパケットを受信する。伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスは、第2のデバイスによって送信されたパケットを複数のパスのそれぞれで受信する。一実装形態では、（1）デュアルパスフラグが0に設定されている場合、これは、コントローラがLTEネットワークまたはWi−Fiネットワークのみが使用される伝送モードにあることを示し、そのため、第2のデバイスは、パケットが受信されるパスでパケットを送信し、（2）フラグが1に設定されている場合、これは、コントローラが冗長伝送モードにあることを示し、第2のデバイスは2つのパスを使用することによりデータを冗長的に送信する。デュアルパスフラグは、実装のために拡張UDPまたはTCPパケットヘッダに追加され得る、またはユーザ定義のプロトコルヘッダが、デュアルパスフラグを実装するために、UDPまたはTCPパケットヘッダの後に追加され得る。
【手続補正６３】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
具体的には、制御機能を実行する制御モジュールは、ローカルデバイスからのネットワーク情報に基づいて、ローカルデバイスのための制御情報を出力することができる。制御情報は、操作対象、動作方式、トリガのきっかけなどを含み得る。ローカル側のネットワーク情報は、内部インターフェース機能を使用することにより、ローカル側の基本機能モジュールから取得され得る。ネットワーク情報は、ローカルデバイスのネットワークのステータスを表すパラメータ、例えば、帯域幅、遅延、または輻輳ウィンドウを含み、以下に述べるローカルデバイスの伝送パラメータをさらに含み得る。制御情報は、内部インターフェース機能を使用することによりローカル側の基本機能モジュールに転送される。ローカル側の基本機能モジュールは、ローカルデバイスで実行される伝送制御を実装するために、制御情報の命令に基づいて、パケット送信などの基本機能を実行する。
【手続補正６４】
【補正対象書類名】明細書
【補正対象項目名】０１３７
【補正方法】変更
【補正の内容】
【０１３７】
初期制御シグナリングは、第1のデバイスがコントローラであると仮定して、第1のデバイスによってピアエンドに送信される第1の制御シグナリングあり、パケットを送信するように第2のデバイスを制御するために使用される。例えば、初期制御シグナリングは、送信対象のオブジェクト（例えば、パケットシーケンス番号）、伝送モード、および送信対象のオブジェクトを送信するためのきっかけを含む。初期制御シグナリングは、既知のネットワーク情報およびピア情報が比較的少ないか無効である場合に、第1のデバイスをコントローラと仮定して、第1のデバイスによって送信される。例えば、初期制御シグナリングは、デフォルト設定またはランダムに割り当てられたネットワークパラメータに基づいて送信され得る。初期制御シグナリングは、上記の第1の制御シグナリング、すなわち、1つの送信制御シグナリングであり得る。
【手続補正６５】
【補正対象書類名】明細書
【補正対象項目名】０１４４
【補正方法】変更
【補正の内容】
【０１４４】
パス（path）パラメータは、ローカルデバイスによってアクセスされる少なくとも1つのパスのパラメータであり、パス特性パラメータが、次のパラメータ、すなわち、伝送速度、ラウンドトリップタイム（RTT、Round time Trip）、パケット損失率、パケット損失範囲、ジッタ（jitter）、輻輳ウィンドウ（CWND、congestion window）、および帯域幅のうちの1つまたは複数を含むが、これらに限定されない。
【手続補正６６】
【補正対象書類名】明細書
【補正対象項目名】０１５３
【補正方法】変更
【補正の内容】
【０１５３】
第2のデバイスによって返されたネゴシエーション結果が、第2のデバイスがコントローラであるということである場合、または第2のデバイスからのネゴシエーションシグナリングが第2のデバイスの伝送パラメータおよびロールパラメータのみを含む場合、第1のデバイスは、第2のデバイスから受信したネゴシエーションシグナリング、第1のデバイスのローカル情報、およびネゴシエーション規則に基づいてコントローラを決定する。また第2のデバイスがコントローラであると第1のデバイスが決定する場合、第2のデバイスは第1のデバイスのパケット伝送を制御する。
【手続補正６７】
【補正対象書類名】明細書
【補正対象項目名】０１６２
【補正方法】変更
【補正の内容】
【０１６２】
一実装形態では、制御モジュール1201は、第1の制御シグナリングを生成するように構成される。送信モジュール1202は、第1の制御シグナリングを第2のデバイスに送信し、第1の制御シグナリングが、第1のデータパケットグループを送信するように第2のデバイスに命令し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含み、第1のデータパケットグループが、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットであり、第1の伝送時間間隔が、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ように構成される。受信モジュール1203は、第2のデバイスからの少なくとも1つのデータパケットを受信し、少なくとも1つのデータパケットが、第1のデータパケットグループにあるデータパケットである、ように構成される。
【手続補正６８】
【補正対象書類名】明細書
【補正対象項目名】０１６４
【補正方法】変更
【補正の内容】
【０１６４】
一実装形態では、制御モジュール1201は、受信された第1のデータパケットに基づいて第2の制御シグナリングを生成するようにさらに構成される。第1のデータパケットのパケットシーケンス番号は、少なくとも1つのデータパケットにおいて最大である。送信モジュール1202は、第2の制御シグナリングを送信し、第2の制御シグナリングは、第2のデータパケットグループを送信するように第2のデバイスに命令し、第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含み、第2のデータパケットグループは、第2のパケットシーケンス番号から始まる第2のパケットシーケンス番号範囲内にあるデータパケットであり、第2の伝送時間間隔は、第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、第2のパケットシーケンス番号は、第1のデータパケットのパケットシーケンス番号よりも大きい、ようにさらに構成される。
【手続補正６９】
【補正対象書類名】明細書
【補正対象項目名】０１６５
【補正方法】変更
【補正の内容】
【０１６５】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドの値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、第1の制御フレームにおける伝送時間間隔フィールドの値が、第1の伝送時間間隔を示す。
【手続補正７０】
【補正対象書類名】明細書
【補正対象項目名】０１６７
【補正方法】変更
【補正の内容】
【０１６７】
一実装形態では、送信モジュール1202は、第3のデータパケットグループを第2のデバイスに送信し、第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットであり、第4の制御シグナリングを第2のデバイスに送信し、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、タイムスタンプは、第1のデバイスが第4の制御シグナリングを送信するシステム時刻である、ようにさらに構成される。受信モジュール1203は、第2のデバイスからの第4の制御シグナリングへの応答を受信し、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報をさらに含む、ようにさらに構成される。
【手続補正７１】
【補正対象書類名】明細書
【補正対象項目名】０１６８
【補正方法】変更
【補正の内容】
【０１６８】
装置1200は、マルチパス伝送シナリオにおいて別の伝送制御をさらに実装し得る。このシナリオでは、装置1200は第1のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する。装置1200は、第1のパケットを生成し、第1のパケットがデュアルパス識別子を含む、ように構成される、制御モジュール1201と、第1のパケットを第2のデバイスに複数のパスにおける第1のパスで送信するように構成される、送信モジュール1202と、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを第1のパスで受信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを記複数のパスのそれぞれで受信する、ように構成される、受信モジュール1203とを備える。
【手続補正７２】
【補正対象書類名】明細書
【補正対象項目名】０１７０
【補正方法】変更
【補正の内容】
【０１７０】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正７３】
【補正対象書類名】明細書
【補正対象項目名】０１７１
【補正方法】変更
【補正の内容】
【０１７１】
装置1300の場合、一実装形態では、受信モジュール1301は、第1のデバイスからの第1の制御シグナリングを受信し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ように構成される。送信モジュール1302は、第1の制御シグナリングに基づいて第1の伝送時間間隔で、少なくとも1つの第1のデータパケットを第1のデバイスに送信し、複数の第1のデータパケットが、第1のパケットシーケンス番号の範囲内にある第1のパケットシーケンス番号から始まるデータパケットである、ように構成される。
【手続補正７４】
【補正対象書類名】明細書
【補正対象項目名】０１７２
【補正方法】変更
【補正の内容】
【０１７２】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドの値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドの値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドの値が、第1のデータパケットのパケットシーケンス番号の範囲を示し、第1の制御フレームにおける伝送時間間隔フィールドの値が、第1の伝送時間間隔を示す。
【手続補正７５】
【補正対象書類名】明細書
【補正対象項目名】０１７３
【補正方法】変更
【補正の内容】
【０１７３】
一実装形態では、受信モジュール1301は、第1のデバイスからの第2の制御シグナリングを受信し、第2の制御シグナリングが、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含み、第2のパケットシーケンス番号が第1のパケットのパケットシーケンス番号よりも大きい、ようにさらに構成される。送信モジュール1302が、第2の制御シグナリングおよび第2の伝送時間間隔に基づいて、複数の第2のデータパケットを第1のデバイスに送信し、第2のデータパケットが、第2のパケットシーケンス番号から始まる第2のパケットシーケンス番号範囲内にあるデータパケットである、ようにさらに構成される。
【手続補正７６】
【補正対象書類名】明細書
【補正対象項目名】０１７５
【補正方法】変更
【補正の内容】
【０１７５】
一実装形態では、受信モジュール1301が、第1のデバイスからの少なくとも1つの第3のデータパケットおよび第4の制御シグナリングを受信し、少なくとも1つの第3のデータパケットが、第3のデータパケットグループにおけるデータパケットであり、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットであり、タイムスタンプが、第4の制御シグナリングが送信されたときの第1のデバイスのシステム時刻である、ようにさらに構成される。送信モジュール1302は、第4の制御シグナリングのフィードバックパケットを第1のデバイスに送信し、フィードバックパケットがタイムスタンプを含み、フィードバックパケットが、少なくとも1つの第3のデータパケットに関する情報または第3のデータパケットグループにおける受信されていないデータパケットに関する情報をさらに含む、ようにさらに構成される。
【手続補正７７】
【補正対象書類名】明細書
【補正対象項目名】０１７７
【補正方法】変更
【補正の内容】
【０１７７】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正７８】
【補正対象書類名】明細書
【補正対象項目名】０１８０
【補正方法】変更
【補正の内容】
【０１８０】
一実装形態では、デバイス1400は端末デバイスであり得る。デバイス1400が端末デバイスである場合、場合により、デバイス1400は、ユーザインターフェースを備え、ディスプレイ（例えば、タッチスクリーン、LCD、CRT、ホログラフィックデバイス、またはプロジェクタ（Projector））、キーボード、またはクリックデバイス（例えば、マウス、トラックボール（trackball）、タッチパッド、またはタッチスクリーン）を備える。記憶媒体1405は、読み出し専用メモリおよびランダムアクセスメモリを含み得、処理回路1401に命令およびデータを提供し得る。メモリ媒体1405の一部は、不揮発性ランダムアクセスメモリ（NVRAM）をさらに含み得る。
【手続補正７９】
【補正対象書類名】明細書
【補正対象項目名】０１８２
【補正方法】変更
【補正の内容】
【０１８２】
処理回路1401は、1つまたは複数のプロセッサを使用することにより実装され得、処理回路1401は、中央処理装置（英語：central processing unit、略称CPU）であり得る。あるいは、処理回路1401は、別の汎用プロセッサ、デジタルシグナルプロセッサ（英語：digital signal processing、略称DSP）、特定用途向け集積回路（英語：application−specific integrated circuit、略称ASIC）、フィールドプログラマブルゲートアレイ（英語：field−programmable gate array、略称FPGA）、または別のプログラマブルロジックデバイス、別個のゲートもしくはトランジスタロジックデバイス、別個のハードウェアアセンブリなどであってもよい。汎用プロセッサは、マイクロプロセッサであってもよいし、プロセッサは、任意の従来のプロセッサなどであってもよい。
【手続補正８０】
【補正対象書類名】明細書
【補正対象項目名】０１８３
【補正方法】変更
【補正の内容】
【０１８３】
通信バス1402は、データバス、電源バス、制御バス、ステータス信号バスなどを含み得る。本実施形態における明確な説明のために、様々なバスは、図14において通信バス1402として記載されている。
【手続補正８１】
【補正対象書類名】明細書
【補正対象項目名】０１８４
【補正方法】変更
【補正の内容】
【０１８４】
通信インターフェース1403は、具体的には、物理マシン上の通信インターフェースであり得る。通信インターフェースは、無線通信インターフェースであり得る。例えば、無線通信インターフェースは、物理マシンの無線モジュールまたはネットワークインターフェースカードであり得る。処理回路40は、通信インターフェース1403を使用することにより、別の物理マシンなどの別のデバイスからデータを受信する、または別のデバイスにデータを送信する。
【手続補正８２】
【補正対象書類名】明細書
【補正対象項目名】０１８５
【補正方法】変更
【補正の内容】
【０１８５】
記憶媒体1404は、揮発性メモリ（英語：volatile memory）、例えば、ランダムアクセスメモリ（英語：random access memory、略称RAM）を含んでもよいし、記憶媒体1404は、読み出し専用メモリ（英語：read−only memory、略称ROM）、フラッシュメモリ（英語：flash memory）、ハードディスクドライブ（英語：hard disk drive、略称HDD）、またはソリッドステートドライブ（英語：solid−state drive、略称SSD）などの不揮発性メモリ（英語：non−volatile memory）を含んでもよいし、記憶媒体1404は、上記のタイプのメモリの組み合わせを含んでもよい。
【手続補正８３】
【補正対象書類名】明細書
【補正対象項目名】０１８６
【補正方法】変更
【補正の内容】
【０１８６】
記憶媒体1404は、基礎となる記憶媒体およびメモリを含み得る。基礎となる記憶媒体は、例えば、ネットワークインターフェースカードにおける記憶媒体であり得る。メモリは、基礎となる記憶媒体に結合され、基礎となる記憶媒体のキャッシュとして機能するように構成される。
【手続補正８４】
【補正対象書類名】明細書
【補正対象項目名】０１８８
【補正方法】変更
【補正の内容】
【０１８８】
場合により、本実施形態における可読記憶媒体は、図14に示される記憶媒体1404であり得る。
【手続補正８５】
【補正対象書類名】明細書
【補正対象項目名】０１９２
【補正方法】変更
【補正の内容】
【０１９２】
ソフトウェアが上述の実施形態を実施するために使用される場合、実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実施されてもよい。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されると、本発明の実施形態による手順または機能がすべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに、有線（例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線（DSL））または無線（例えば、赤外線、電波、またはマイクロ波）方式で送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であってもよく、または1つまたは複数の使用可能な媒体を一体化するサーバまたはデータセンタなどのデータ記憶デバイスであってもよい。使用可能な媒体は、磁気媒体（例えば、フロッピーディスク、ハードディスク、または磁気テープ）、光学媒体（例えば、DVD）、半導体媒体（例えば、Solid State Disk（SSD）、相変化メモリ）などであってもよい。
【手続補正書】
【提出日】令和2年12月22日(2020.12.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
伝送制御方法であって、前記方法が、
第1のデバイスによって、第1の制御シグナリングを第2のデバイスに送信するステップであって、前記第1の制御シグナリングが、第1のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含み、前記第1のデータパケットグループが、前記第1のパケットシーケンス番号から始まる前記第1のパケットシーケンス番号範囲内にあるデータパケットであり、前記第1の伝送時間間隔が、前記第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの少なくとも1つのデータパケットを受信するステップであって、前記少なくとも1つのデータパケットが、前記第1のデータパケットグループにおけるデータパケットである、ステップと
を含む、伝送制御方法。
【請求項２】
前記方法が、
前記第1のデバイスによって、受信された第1のデータパケットに基づいて、受信されたデータパケットのうちの最大パケットシーケンス番号を用いて第2の制御シグナリングを送信するステップであって、前記第2の制御シグナリングが、第2のデータパケットグループを送信するように前記第2のデバイスに命令し、前記第2の制御シグナリングが、第2のパケットシーケンス番号、第2のパケットシーケンス番号範囲、および第2の伝送時間間隔を含み、前記第2のデータパケットグループが、前記第2のパケットシーケンス番号範囲内にある前記第2のパケットシーケンス番号から始まるデータパケットであり、前記第2の伝送時間間隔が、前記第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、前記第2のパケットシーケンス番号が、前記受信された第1のデータパケットの前記パケットシーケンス番号よりも大きい、ステップ
をさらに含む、請求項1に記載の方法。
【請求項３】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドによって運ばれる値が、前記第1の制御シグナリングのタイプに対応し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドによって運ばれる値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドによって運ばれる値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、前記第1の制御フレームにおける前記伝送時間間隔フィールドによって運ばれる値が、前記第1の伝送時間間隔を示す、請求項1または2に記載の方法。
【請求項４】
前記第2のデバイスからの少なくとも1つのデータパケットを受信する、前記ステップの後、前記方法が、
前記第1のデバイスによって、第3の制御シグナリングを前記第2のデバイスに送信するステップであって、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの前記第3の制御シグナリングへの応答を受信するステップであって、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記方法が、
前記第1のデバイスによって、第3のデータパケットグループを前記第2のデバイスに送信するステップであって、前記第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットである、ステップと、
前記第1のデバイスによって、第4の制御シグナリングを前記第2のデバイスに送信するステップであって、前記第4の制御シグナリングが、前記第3のパケットシーケンス番号、前記第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、前記タイムスタンプは、前記第1のデバイスが前記第4の制御シグナリングを送信するシステム時刻である、ステップと、
前記第1のデバイスによって、前記第2のデバイスからの前記第4の制御シグナリングへの応答を受信するステップであって、前記第4の制御シグナリングへの前記応答が、前記タイムスタンプを含み、前記第4の制御シグナリングへの前記応答が、受信された、または受信されていないデータパケットに関する情報であって、前記受信された、または受信されていないデータパケットが、前記第3のデータパケットグループにおけるデータパケットである、情報をさらに含む、ステップと
をさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記第4の制御シグナリングが、第4の制御フレームにカプセル化され、前記第4の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、前記第4の制御フレームにおける前記タイプフィールドによって運ばれる値が、前記第4の制御シグナリングのタイプに対応し、前記第4の制御フレームにおける前記初期パケットシーケンス番号フィールドによって運ばれる値が、前記第3のパケットシーケンス番号を示し、前記第4の制御フレームにおける前記パケットシーケンス番号範囲フィールドによって運ばれる値が、前記第3のデータパケットグループのパケットシーケンス番号の範囲を示す、請求項5に記載の方法。
【請求項７】
前記第1のデータパケットグループ、前記第2のデータパケットグループ、および前記第3のデータパケットグループが、第1のフロー識別子番号、前記第1の制御シグナリングが配置されるパケット、前記第2の制御シグナリングが配置されるパケット、前記第3の制御シグナリングが配置されるパケット、前記第4の制御シグナリングが配置されるパケットを運び、前記第3の制御シグナリングへの前記応答が配置されるパケット、および前記第4の制御シグナリングへの前記応答が配置されるパケットが、第2のフロー識別子番号をそれぞれ運ぶ、請求項4から6のいずれか一項に記載の方法。
【請求項８】
前記第1の制御シグナリングが第1の制御フレームにカプセル化され、前記第1の制御フレームが第1の制御パケットにカプセル化され、前記第1の制御フレームが第3のフロー識別子を運び、前記第1の制御パケットが第5の制御フレームをさらに含み、第5の制御シグナリングが前記第5の制御フレームにカプセル化され、前記第5の制御シグナリングが、第5のデータパケットグループを送信するように前記第2のデバイスに命令するために使用され、前記第5の制御フレームが第4のフロー識別番号を運ぶ、請求項1に記載の方法。
【請求項９】
前記第1の制御シグナリングが、ハンドシェイクパケットにカプセル化され、前記ハンドシェイクパケットは、前記第1のデバイスが前記第2のデバイスへの接続を確立するプロセスで使用されるパケットである、請求項1に記載の方法。
【請求項１０】
伝送制御方法であって、前記方法が、
第1のデバイスによって、第2のデバイスへの接続を確立するステップであって、前記接続が複数のパスに対応する、ステップと、
前記第1のデバイスによって、前記複数のパスにおける第1のパスで、第1のパケットを前記第2のデバイスに送信するステップであって、前記第1のパケットがデュアルパス識別子を含む、ステップと、
パケット伝送モードがシングルパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記第1のパスで受信するステップ、または
パケット伝送モードがマルチパス伝送であることを前記デュアルパス識別子が示す場合、前記第1のデバイスによって、前記第2のデバイスによって送信されたパケットを前記複数のパスのそれぞれで受信するステップと
を含む、伝送制御方法。
【請求項１１】
前記マルチパス伝送が、冗長伝送または集約伝送のいずれかである、請求項10に記載の方法。
【請求項１２】
伝送制御方法であって、前記方法が、
第2のデバイスによって、第1のデバイスからの第1の制御シグナリングを受信するステップであって、前記第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ステップと、
前記第2のデバイスによって、前記第1の制御シグナリングに基づいて前記第1の伝送時間間隔で、複数の第1のデータパケットを前記第1のデバイスに送信するステップであって、前記複数の第1のデータパケットが、前記第1のパケットシーケンス番号から始まる前記第1のパケットシーケンス番号範囲内にあるデータパケットである、ステップと
を含む、伝送制御方法。
【請求項１３】
前記第1の制御シグナリングが、第1の制御フレームにカプセル化され、前記第1の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、前記第1の制御フレームにおける前記タイプフィールドによって運ばれる値が、前記第1の制御シグナリングのタイプを示し、前記第1の制御フレームにおける前記初期パケットシーケンス番号フィールドによって運ばれる値が、前記第1のパケットシーケンス番号を示し、前記第1の制御フレームにおける前記パケットシーケンス番号範囲フィールドによって運ばれる値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、前記第1の制御フレームにおける前記伝送時間間隔フィールドによって運ばれる値が、前記第1の伝送時間間隔を示す、請求項12に記載の方法。
【請求項１４】
少なくとも1つのデータパケットを前記第1のデバイスに送信する、前記ステップの後、前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの第2の制御シグナリングを受信するステップであって、前記第2の制御シグナリングが、第2のパケットシーケンス番号、第2のパケットシーケンス番号範囲、および第2の伝送時間間隔を含み、前記第2のパケットシーケンス番号が、前記第1のデータパケットのパケットシーケンス番号より大きい、ステップと、
前記第2のデバイスによって、前記第2の制御シグナリングに基づいて前記第2の伝送時間間隔で、複数の第2のデータパケットを前記第1のデバイスに送信するステップであって、前記複数の第2のデータパケットが、前記第2のパケットシーケンス番号から始まる前記第2のパケットシーケンス番号範囲にあるデータパケットである、ステップと
をさらに含む、請求項12または13に記載の方法。
【請求項１５】
前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの第3の制御シグナリングを受信するステップであって、前記第3の制御シグナリングが前記第1のパケットシーケンス番号を含む、ステップと、
前記第2のデバイスによって、前記第3の制御シグナリングへの応答を前記第1のデバイスに送信するステップであって、前記第3の制御シグナリングへの前記応答が、前記第1のパケットシーケンス番号と、前記第1のパケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報とを含む、ステップ
をさらに含む、請求項12から14のいずれか一項に記載の方法。
【請求項１６】
前記方法が、
前記第2のデバイスによって、前記第1のデバイスからの少なくとも1つの第3のデータパケットおよび第4の制御シグナリングを受信するステップであって、前記少なくとも1つの第3のデータパケットが、第3のデータパケットグループにおけるデータパケットであり、前記第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、前記第3のデータパケットグループが、前記第3のパケットシーケンス番号から始まる前記第3のパケットシーケンス番号範囲内にあるデータパケットであり、前記タイムスタンプが、前記第4の制御シグナリングが送信されたときの前記第1のデバイスのシステム時刻である、ステップと、
前記第2のデバイスによって、前記第4の制御シグナリングのフィードバックパケットを前記第1のデバイスに送信するステップであって、前記フィードバックパケットが前記タイムスタンプを含み、前記フィードバックパケットが、前記少なくとも1つの第3のデータパケットに関する情報または前記第3のデータパケットグループにおける受信されていないデータパケットに関する情報をさらに含む、ステップと
をさらに含む、請求項12から15のいずれか一項に記載の方法。
【請求項１７】
前記第4の制御シグナリングが、第4の制御フレームにカプセル化され、前記第4の制御フレームが、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、前記第4の制御フレームにおける前記タイプフィールドによって運ばれる値が、前記第4の制御シグナリングのタイプを示し、前記第4の制御フレームにおける前記初期パケットシーケンス番号フィールドによって運ばれる値が、前記第3のパケットシーケンス番号を示し、前記第4の制御フレームにおける前記パケットシーケンス番号範囲フィールドによって運ばれる値が、前記第3のデータパケットグループのパケットシーケンス番号の範囲を示す、請求項16に記載の方法。
【請求項１８】
前記複数の第1のデータパケット、前記複数の第2のデータパケット、および前記少なくとも1つの第3のデータパケットが、第1のフロー識別子番号、前記第1の制御シグナリングが配置されたパケット、前記第2の制御シグナリングが配置されたパケット、前記第3の制御シグナリングが配置されたパケット、および前記第4の制御シグナリングが配置されたパケットをそれぞれ運び、前記第3の制御シグナリングへの応答が配置されるパケット、および前記第4の制御シグナリングへの応答が配置されるパケットが、第2のフロー識別子番号をそれぞれ運ぶ、請求項16または17に記載の方法。
【請求項１９】
伝送制御デバイスであって、前記デバイスが、処理回路と、通信インターフェースと、記憶媒体とを備え、前記記憶媒体が命令を記憶し、前記通信インターフェースが、プロセッサによって送達された前記命令に基づいて別のデバイスとの情報交換を実行するように構成され、前記プロセッサが、請求項1から9または請求項10から17のいずれか一項に記載の方法を実装するために、前記通信インターフェースを制御するために前記記憶媒体に記憶された前記命令を実行するように構成される、伝送制御デバイス。
【請求項２０】
命令を含み、前記命令がコンピュータで実行されると、前記コンピュータが請求項1から9、または請求項10から17のいずれか一項に記載の方法を実行することが可能にされる、コンピュータ可読記憶媒体。
【請求項２１】
コンピュータに、請求項1から9、または請求項10から17のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
1つの接続のデータ送信側またはデータ受信側が配置されるデバイスは、エンドポイントデバイスと呼ばれ得る。実際のネットワーク構造では、エンドポイントデバイスは、例えば、端末デバイス、クラウドデバイス（例えば、クラウドサーバ）、またはいくつかの送信デバイス（例えば、クラウドプロキシサーバ、ロードバランサ、またはハイブリッドアクセスゲートウェイ）であり得る。1つのエンドポイントデバイスは、異なる接続または異なる期間で異なる役割を果たし得る。例えば、エンドポイントデバイスは、ある接続では送信側である場合もあれば、別の接続では受信側である場合もある。したがって、既存のプロトコルでは、1つの接続の2つのエンドポイントデバイスのプロトコルスタックは、パケット伝送を制御する機能を備える必要がある。例えば、送信側が決定を行うプロトコルスタックアーキテクチャの場合、パケットを送信する機能を持つすべてのエンドデバイスは、パケット伝送を制御する機能を備える必要がある。具体的には、デバイスの観点から、接続の両端にあるデバイスは、パケット制御を実装するように構成されたモジュールを備える必要があり、パケット伝送を制御するには両端協調が必要とされる。上述の両端制御の実装は比較的複雑である。多くの実際のサービスシナリオでは、プロトコルのアップグレードは不便であり、伝送制御アルゴリズムの切り替えへの変換への応答は遅く、制御は十分に柔軟ではない。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
これに鑑みて、本発明の実施形態は、伝送制御方法および装置を提供する。接続の一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。さらに、一端にあるデバイスがデータ伝送を制御するように指定されると、伝送制御アルゴリズムが、一端にあるデバイスによって送信された制御シグナリングのパラメータおよび制御シグナリングの送信順序を変更することによって実装され得、また伝送制御アルゴリズムは、アップグレードおよび変更され得る。したがって、伝送制御アルゴリズムを実装、変更、およびアップグレードすることが便利である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
第1の制御シグナリングは、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含み、第1のデータパケットグループは、第1のパケットシーケンス番号範囲内にある第1のパケットシーケンス番号から始まるデータパケットであり、第1の伝送時間間隔は、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
伝送時間間隔は、時間に関連するパラメータであり、帯域幅を使用することにより示されてもよいし、2つのパケットを送信するアクションが実行される時間間隔を使用することにより直接示されてもよいことに留意されたい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドによって運ばれる値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドによって運ばれる値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドによって運ばれる値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、第1の制御フレームにおける伝送時間間隔フィールドによって運ばれる値が、第1の伝送時間間隔を示す。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
一実装形態では、第1の制御フレームは、フロー識別番号フィールドをさらに含み、第1の制御フレームにおけるフロー識別番号フィールドの値が、第1のデータパケットグループが属するデータフローを示すために使用される。一実装形態では、第1の制御フレームおよび第5の制御フレームが同じパケットにカプセル化され、第5の制御シグナリングは第5の制御フレームにカプセル化され、第5の制御フレームはまた、フロー識別番号フィールドを含み、第5の制御シグナリングが第5のデータパケットグループを送信するように第2のデバイスに命令し、第5の制御フレームにおけるフロー識別子フィールドの値が、第5のデータパケットグループが属するデータフローを示すために使用される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
このようにして、接続の一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。第1の制御シグナリングを受信した後、第2のデバイスは、第1の制御シグナリングの指示に基づいて第1のデータパケットグループを送信することを理解されたい。しかしながら、送信遅延および伝送遅延に起因して、第1のデータパケットグループが同時に到着しない、または第1のデバイスにおける伝送時間間隔で連続して到着し、このことは、アウトオブオーダーまたはパケット損失を引き起こし得る。したがって、第1のデバイスは、第1のデータパケットグループにおける1つまたは複数のデータパケットを受信する。加えて、次の実装形態では、第1のデバイスは、制御を強化するために、別の制御シグナリングを送信し続ける。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
一実装形態では、第1のデバイスは、受信された第1のデータパケットに基づいて、受信されたデータパケットのうちの最大パケットシーケンス番号を用いて第2の制御シグナリングを送信する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
第2の制御シグナリングは、第2のデータパケットグループを送信するように第2のデバイスに命令し、第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含み、第2のデータパケットグループは、第2のパケットシーケンス番号から始まる第2のパケットシーケンス番号範囲内にあるデータパケットであり、第2の伝送時間間隔は、第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、第2のパケットシーケンス番号は、第1のデータパケットのパケットシーケンス番号よりも大きい。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
このようにして、第1のデバイスは、新しい制御シグナリングを送信する前に、すべての第1のデータパケットグループが受信されるのを待たず、その結果、ピア側の送信時に、より柔軟かつ効果的な制御が実行され得る。いくつかの実装形態では、第2の制御シグナリングの送信をトリガするための特定の条件が存在し得る。これらの条件は多様であり、すべての第1のデータパケットグループがしばらくしても依然として受信されない、いくつかのデータパケットが受信されるたびに1つの制御シグナリングが送信されるように指定されるなどであり得る。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
このようにして、第1のデバイスは、ピアデバイスがパケットを送信する場合をリアルタイムで追跡するために、第1のデータパケットグループの送信ステータスをフィードバックするように第2のデバイスに命令することができる。このようにして、第1のデバイスは、フィードバック情報に基づいて適時に後続の制御シグナリングのパラメータを調整することができる。上述のいくつかの制御シグナリングおよび制御シグナリングへの応答は、本出願における送信制御部分を実行するために使用され得る。異なるパラメータを運ぶ、または異なる条件で送信される制御シグナリングは、データを送信するために使用される様々な伝送制御アルゴリズムを実装し得る。一実装形態では、第1のデバイスは、異なる伝送制御アルゴリズムに対応するコードを記憶し、各伝送制御アルゴリズムに対応するコードは、複数の制御シグナリングを含むべきである。1つの伝送制御アルゴリズムに対応するコードが、制御シグナリングが実行される条件および順序を記述するために使用され、対応する伝送制御アルゴリズムを実行するために、これらの制御シグナリングのパラメータをどのように変更するかを記述する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
一実装形態では、本方法は、第1のデバイスによって、第3のデータパケットグループを第2のデバイスに送信するステップであって、第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットである、ステップと、第1のデバイスによって、第4の制御シグナリングを第2のデバイスに送信するステップであって、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、タイムスタンプは、第1のデバイスが第4の制御シグナリングを送信するシステム時刻である、ステップと、第1のデバイスによって、第2のデバイスからの第4の制御シグナリングへの応答を受信するステップであって、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報をさらに含む、ステップとをさらに含む。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報は、データパケットの数またはデータパケットのシーケンス番号であってもよいし、データパケットに対応するデータブロックに関する情報、例えばデータブロックの数またはシーケンス番号であってもよい。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
一実装形態では、第4の制御シグナリングは、第4の制御フレームにカプセル化され、第4の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、およびタイムスタンプフィールドを含み、第4の制御フレームにおけるタイプフィールドによって運ばれる値が、第4の制御シグナリングのタイプに対応し、第4の制御フレームにおける初期パケットシーケンス番号フィールドによって運ばれる値が、第3のパケットシーケンス番号を示し、第4の制御フレームにおけるパケットシーケンス番号範囲フィールドによって運ばれる値が、第3のデータパケットグループのパケットシーケンス番号の範囲を示す。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
一実装形態では、本方法は、第1のデバイスによって、第1のネゴシエーションシグナリングを第2のデバイスに送信するステップであって、第1のネゴシエーションシグナリングが、第1のデバイスの伝送パラメータおよびロールパラメータを含み、第1のデバイスの伝送パラメータが、第1のデバイスの伝送能力を示し、ロールパラメータは、第1のデバイスがパケット伝送を制御することを示す、ステップと、第1のデバイスによって、第2のデバイスからの第2のネゴシエーションシグナリングを受信するステップであって、第2のネゴシエーションシグナリングが、第2のデバイスの伝送パラメータおよびロールパラメータを含み、第2のデバイスの伝送パラメータが、第2のデバイスの伝送能力を示し、ロールパラメータは、第2のデバイスがパケット伝送を制御せず、第1のデバイスが、第1のデバイスの伝送パラメータ、第1のデバイスのロールパラメータ、第2のデバイスの伝送パラメータ、第2のデバイスのロールパラメータ、およびネゴシエーション規則に基づいてパケット伝送を制御することを示す、ステップとをさらに含む。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
第3の態様によれば、本出願の一実施形態は、伝送制御方法を説明し、本方法は、第2のデバイスによって、第1のデバイスからの第1の制御シグナリングを受信するステップであって、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ステップと、第2のデバイスによって、第1の制御シグナリングに基づいて第1の伝送時間間隔で、少なくとも1つの第1のデータパケットを第1のデバイスに送信するステップであって、複数の第1のデータパケットは、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットである、ステップとを含む。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
第5の態様によれば、本出願の一実施形態は、伝送制御装置を説明し、本装置は、制御モジュールであって、制御モジュールが、第1の制御シグナリングを生成するように構成される、制御モジュールと、送信モジュールであって、送信モジュールが、第1の制御シグナリングを第2のデバイスに送信し、第1の制御シグナリングが、第1のデータパケットグループを送信するように第2のデバイスに命令し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝時間間隔を含み、第1のデータパケットグループが、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットであり、第1の伝時間間隔が、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ように構成される、送信モジュールと、受信モジュールであって、受信モジュールが、第2のデバイスからの少なくとも1つのデータパケットを受信し、少なくとも1つのデータパケットが、第1のデータパケットグループにおけるデータパケットである、ように構成される、受信モジュールとを備える。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
第6の態様によれば、本出願の一実施形態は、伝送制御装置であって、本装置が第1のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する、伝送制御装置を説明する。本装置は、制御モジュールであって、制御モジュールが、第1のパケットを生成し、第1のパケットがデュアルパス識別子を含む、ように構成される、制御モジュールと、送信モジュールであって、送信モジュールが、第1のパケットを第2のデバイスに複数のパスにおける第1のパスで送信するように構成される、送信モジュールと、受信モジュールであって、受信モジュールが、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを第1のパスで受信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを複数のパスのそれぞれで受信する、ように構成される、受信モジュールとを備える。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
第7の態様によれば、本出願の一実施形態は、伝送制御装置を説明し、本装置は受信モジュールと送信モジュールとを備え、受信モジュールが、第1のデバイスからの第1の制御シグナリングを受信し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ように構成され、送信モジュールが、第1の制御シグナリングに基づいて第1の伝送時間間隔で、少なくとも1つの第1のデータパケットを第1のデバイスに送信し、複数の第1のデータパケットが、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットである、ように構成される。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
第7の態様は、第3の態様の方法に対応する装置を説明する。第3の態様で説明される方法は、第3の態様が第2のデバイスの観点から説明されることを除いて、第1の態様で説明される方法に対応する。したがって、第7の態様の様々な実装、説明、および有益な効果については、第1の態様の説明を参照されたい。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
したがって、本出願は、伝送制御方法および装置を提供する。本方法によれば、一端にあるデバイスがパケット伝送を制御することができる。パケット送信がデータ送信側またはデータ受信側によって制御される従来技術とは異なり、一端にあるデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを伝送し、パケット受信ステータスをフィードバックするだけで済む。このようにして、伝送制御アルゴリズムのステップは、一端による制御を通じて実装され得る。両端にあるデバイスは、伝送制御アルゴリズムのアップグレードまたは切り替えに関与する必要がなく、したがって、アップグレードはより便利かつ効率的に完了され得る。本出願では、制御されたパケットは、主にデータパケットである、つまりデータパケージであり、かついくつかのフィードバックパケットをさらに含み得る。このようにして、パケット伝送を制御するデバイスが指定され得る、またはコントローラが、接続の両端にあるデバイスのネゴシエーションを通じて決定され得る。この場合、他端にあるデバイスは決定を行う必要がなく、コントローラの制御シグナリングのみに基づいてパケットを送信し得る。本出願で説明される方法は、様々な通信シナリオに、例えば、端末デバイス間の通信、クラウドデバイス間の通信、端末デバイスとクラウドデバイスとの間の通信（略して、エンドクラウド通信と呼ばれる）に適用可能である。
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
接続は、送信側（sender）と受信側（receiver）との間のデータ伝送に使用される。1つの接続は、ネットワークトポロジにおける複数のパスに対応することができ、複数のフローは、1つの接続で伝送され得る。パスは、送信側（sender）と受信側（receiver）との間のリンクである。複数のフローは、1つのアプリケーションに属してもよいし、異なるアプリケーションに属してもよい。パスは、4タプルまたは5タプルを使用することにより識別され得る。例えば、5タプルは、送信元IPアドレスと、送信元ポート番号と、宛先IPアドレスと、宛先ポート番号と、トランスポート層プロトコル名とを含む。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
ACK（Acknowledgement）：確認応答パケット、またはACKパケットとも呼ばれる。本出願では、ACKは、1つまたは複数の受信データパケットを送信側にフィードバックするために受信側によって使用される。これに対応して、NACK（すなわち、Non−Acknowledgement）があり、NACKは、受信されていない1つまたは複数のデータパケットを送信側にフィードバックするために受信側によって使用される。
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
送信ウィンドウは、ウィンドウとも呼ばれ、データ送信側が送信を許可されたバイト数を示すために使用され、また、データ送信側が一度に送信キューに入れることをデータ受信側が許可する最大データ量でもある。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
フロー（flow）：接続で伝送されるパケットグループである。複数のフローが接続上で伝送され得、パケットグループのパケットヘッダは同じフロー識別子番号を運ぶ。パケットグループは、サービスを実装するために使用され得る。例えば、ストリームは、ウェブページ上の一群の写真のデータ、またはビデオウェブサイト上の小容量のビデオのデータを伝送するために使用される。
【手続補正３１】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
エンドクラウド通信シナリオが例として用いられる。図3は、本出願における一般的なネットワークシステムを示している。図3では、端末とクラウドデバイス（例えば、図に示されているクラウドプラットフォーム1、クラウドサーバ2、およびクラウドサーバ3）との間のリンクは、ハイブリッドアクセスゲートウェイまたはプロキシサーバを通過し得る。本出願で説明される伝送制御方法におけるコントローラは、端末であり得る。この場合、制御対象のデバイスは、クラウドデバイス（例えば、クラウドサーバ3）、ハイブリッドアクセスゲートウェイ、またはプロキシサーバである。逆に、コントローラはクラウドデバイス（例えば、クラウドサーバ3）、ハイブリッドアクセスゲートウェイ、またはプロキシサーバであり、制御対象のデバイスは、これらのデバイスにアクセスする端末である。例えば、端末デバイスがコントローラである場合、端末デバイスとクラウドとの間の通信は、端末によって常に制御され得る。この場合、端末デバイスのみがアップグレードされる必要があり、当然のことながら、このことは、より簡単に実装され得る。あるいは、クラウドデバイスがコントローラとして使用され、すべての端末デバイスとクラウドデバイスとの間の通信プロセスでは、パケット伝送はクラウドデバイスによって常に制御される。したがって、伝送制御アルゴリズムがアップグレードまたは調整される必要がある場合、クラウドデバイスのみが伝送パフォーマンスを最適化するために調整される必要があり、当然のことながら、このことも、クラウドサービスプロバイダまたはネットワークサービスプロバイダにとって非常に便利である。
【手続補正３２】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
本出願で説明される伝送方法は、新しい伝送プロトコルを提案する。新しい伝送プロトコルは、既存のプロトコルを変更するか、独自のプロトコルを定義することによって実装される。デバイスに対応するソフトウェア構造は、既存のプロトコルスタック、例えば、TCPプロトコルスタック、UDPプロトコルスタック、またはQUICプロトコルスタックに対するユーザモードもしくはカーネルモードにおける改良であり得る、あるいは新しい独自のプロトコルスタックが、ピアデバイスを制御するために、統一されたフォーマットを有し、制御シグナリングを運ぶ制御パケットまたはフレームを生成するためにユーザモードに追加され、制御パケットのフォーマットまたはフレームのフォーマットが、データパケットのフォーマットとは異なり得る。制御シグナリングは、複数の方式で運ばれ得る。例えば、既存のプロトコルの拡張パケットヘッダに基づいて、パケットに依存しないフレームが使用され（例えば、この形式はQUICプロトコルを改善するために使用される）、制御シグナリングはQUICパケットまたはUDPパケット）のペイロードとして使用される、または制御シグナリングはTCPプロトコルのオプションで定義される。制御パケットまたはフレームの過度の送信を回避するために、1つの制御パケットまたはフレームは、複数の制御シグナリングを運ぶことができ、具体的な実装形態は、本出願において限定されない。例えば、一実装形態では、1つの制御パケットは複数のフレームを含み、各フレームは1つの制御シグナリングを含む。各フレームは1つのフローIDを運ぶことができ、1つのフローIDは接続で伝送される1つのフローを表すため、1つの制御パケットは異なるフローのパケット伝送を制御するために使用される制御シグナリングを運ぶことができる。別の実装形態では、1つのフレームが複数の制御シグナリングを運ぶ。このようにして、フレームヘッダの数が低減され得、フレームの特定の負荷に対応するフローの制御シグナリングが事前に定義され得る。
【手続補正３３】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
本出願では、ローカルデバイスがコントローラであるという観点から説明が提供される。伝送制御は、少なくとも2つの態様、すなわち、送信制御、つまり、データを運ぶパケットをピアデバイスがどのように送信するかをローカルデバイスが制御することと、受信制御、つまり、ピアデバイスにデータを送信した後、ピアデバイスがデータの受信結果をどのようにフィードバックするかをローカルデバイスが制御することとを含む。本出願でフィードバックされる結果は、以下で新しく定義されるフォーマットを使用し得ることを理解されたい。あるいは、既存のTCPプロトコルにおけるACKまたはNACKなどのフィードバックパケットのフォーマットを参照することもできる。制御シグナリングは、2つのタイプの制御が異なるタイプのパラメータを運ぶことを実装するために使用される。コントローラであるデバイスは、制御シグナリングを絶えず送信し、制御シグナリングで運ばれるパラメータの値を調整することによって、様々な伝送制御アルゴリズムを実装し得る。例えば、ローカルデバイスは、伝送制御アルゴリズムを切り替えたり、伝送制御アルゴリズムの異なるフェーズを実装したりするために、接続されたネットワークステータスに基づいてパラメータを調整する。ネットワークステータスは、これらのパラメータ、すなわち、帯域幅、遅延（伝送遅延またはラウンドトリップタイム）、遅延変動、ジッタ、パケット損失率、アクセスされたネットワークの信号強度などのうちの少なくとも1つによって表され得る。
【手続補正３４】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
制御シグナリングは、制御パケットまたは制御フレームにカプセル化され得る。例えば、制御シグナリングはフレームとしてカプセル化され、UDPパケットの負荷として使用される。非データパケット（例えば、制御シグナリングおよびその応答）とデータとは、異なるフローで送信され得る。異なるフローは異なるIDによって識別され、異なるIDはフロー識別番号またはフローIDと呼ばれる。換言すれば、1つの接続は複数のフローによって再利用される、つまり、制御フローとデータフローとは分離され、データフローと制御フローとは異なるトランスポートプロトコルを使用し得る。一実装形態では、データフローと制御フローとは同じアプリケーションに属し、アプリケーションのデータのみが1つのデータフローとデータフローに対応する制御フローとで送信される。一実装形態では、複数のアプリケーションの制御シグナリングは、同じ制御フローで送信される。このようにして、伝送における順序をよりよく維持するために、シーケンス番号が制御フレームまたは制御パケットに別々に割り当てられ得る。例えば、制御フレームのシーケンス番号は、公差が1の漸進的に増加するシーケンスによって表される。一実装形態では、各制御フレームは、制御フレームで運ばれる制御シグナリングのタイプを表すために、タイプパラメータを含み得、これは、制御シグナリングを受信するデバイスがタイプを識別するのを助ける、つまり、同じタイプの制御シグナリングが、コントロールフレームにカプセル化される。パラメータはフレームヘッダで運ばれ得、制御シグナリングもフレームヘッダの後の部分で運ばれる。フレームヘッダは、タイプおよびフレームシーケンス番号を含む一般的なフォーマットであり得る。別の実装形態では、フレームヘッダは、上記のフロー識別番号を運ぶために使用されるフロー識別子フィールドをさらに含む。例えば、図5に示されるフレームヘッダ構造では、タイプフィールドの長さは8bit（1バイト）であり、フロー識別子フィールドの長さは32bit（4バイト）であり、フレームシーケンス番号フィールドの長さは32bit（4バイト）である。したがって、異なるフローを制御し、データパケットのものである制御シグナリングは、異なるフレームにカプセル化され得る。タイプフィールドは、それ自体で値を定義できる。例えば、送信制御フレームのタイプフィールドは0x01であり、ピア情報要求フレームのタイプフィールドは0x02であり、ピア情報応答（確認応答）フレームのタイプフィールドは0x03であり、受信制御フレームのタイプフィールドは0x04であると定義され、様々なフレームが対応するタイプのシグナリングを運ぶ。
【手続補正３５】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
送信制御シグナリングは、送信制御シグナリングに含まれる送信制御パラメータを使用することにより、送信制御シグナリングに基づいて、送信されるべきパケットをこれらのパケットが送信されるべき時間間隔で送信するようにピアデバイスに命令する。含まれる送信制御パラメータは、複数の方式で組み合わされ得る。
【手続補正３６】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
具体的には、送信制御パラメータは、初期パケットシーケンス番号、パケットシーケンス番号範囲、および伝送時間間隔であり得る。初期パケットシーケンス番号は、パケットシーケンス番号（Sequence Number、SN）であり、1つの制御シグナリングを使用することにより送信されるように制御される複数のパケットの中で第1のパケット、例えば最小のパケットシーケンス番号を有するパケットを示すために使用される。
【手続補正３７】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
送信制御シグナリングは、パケットシーケンス番号範囲内にある初期パケットシーケンス番号から始まるパケットを送信し、かつパケットを伝送時間間隔で送信するようにピアデバイスに命令する。初期パケットシーケンス番号の値は、パケットのシーケンス番号である。パケットシーケンス番号は、パケットを識別し得る、またはパケットのシーケンスを識別し得ることを理解されたい。例えば、より小さいパケットシーケンス番号を有するパケットが最初に処理される（例えば、送信または受信される）べきである。既知のプロトコルの場合、パケットシーケンス番号の命名規則が決定され、本出願はその規則を参照し得る。独自のプロトコルの場合、パケットシーケンス番号の命名規則も指定される必要がある。したがって、送信される必要があるパケットは、初期パケットシーケンス番号およびパケットシーケンス番号範囲を使用することにより表され得る。伝送時間間隔は、時間に関連するパラメータであり、帯域幅を使用して示されてもよいし、時間間隔を使用して直接示されてもよい。これは、決定されたプロトコルでは、各パケットの長さがわかっている、つまり、パケットのペイロードがわかっており、帯域幅が単位時間あたりに送信されるデータ量を表すためである。したがって、帯域幅とパケットを送信するアクションが実行される時間間隔との間には、明確な数学的関係がある。例えば、1回の送信制御シグナリングで運ばれる初期パケットシーケンス番号は12であり、パケットシーケンス番号範囲は10であり、伝送時間間隔は帯域幅で表され、帯域幅の値は1mbpsである。接続のプロトコルにおいて、データパケットのパケットシーケンス番号が、公差が1である等差数列に番号付けされている場合、この場合、送信制御シグナリングは、シーケンス番号が12〜21の10個のパケットを1／（1mbps）の時間間隔で、すなわち帯域幅の値の逆数で送信するように命令する。
【手続補正３８】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
一実装形態では、図6に示されるように、送信制御シグナリングにおいて、パケットシーケンス番号（すなわち、初期パケットシーケンス番号）フィールドの長さは32bit（4バイト）であり、パケットシーケンス番号範囲フィールドの長さは32bit（4バイト）であり、伝送時間間隔フィールドの長さは32bit（4バイト）である。例えば、3つのフィールドの配置順序が図6に示され得る。送信制御フレームは、1つまたは複数の送信制御シグナリングを含み得る。複数の送信制御シグナリングが含まれる場合、フレーム内の制御シグナリングの数を示すために、1つのフィールドが送信制御フレームに含まれるべきである。
【手続補正３９】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
いくつかのアルゴリズムでは、制御シグナリング、すなわちピア情報要求シグナリングおよび制御シグナリングへの応答、つまりピア情報応答（確認応答）が制御に使用される必要がさらにある。
【手続補正４０】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
ピア情報応答（確認応答）は、上述のピア情報要求シグナリングに対する応答である。1回のピア情報要求シグナリングを受信した後、ピアデバイスはピア情報要求シグナリングへの応答を送信する。データパケットと制御パケットとが異なるフローを使用することにより送信される場合、ピア情報応答（確認応答）は制御フローで送信される。
【手続補正４１】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
ピア情報応答（確認応答）は、パケットシーケンス番号（つまり、ピア情報応答（確認応答）の初期パケットシーケンス番号）と、送信対象のデータパケットに関する情報とを含む。送信対象のデータパケットに関する情報は、ピア情報応答（確認応答）の初期パケットシーケンス番号から始まる少なくとも1つの送信対象のデータパケットに関する情報を示すために使用される。少なくとも1つの送信対象のデータパケットに関する情報は、ピアデバイスによって送信される全部または一部のデータパケットに関する情報であり得る。例えば、少なくとも1つの送信対象のデータパケットに関する情報は、全部または一部の送信対象のデータパケットの数またはパケットシーケンス番号であり得る。この場合、全部または一部の送信対象のデータパケットは、第2のデバイスの送信キューで送信されない全部または一部のデータパケットであり得る、またはこのサービスにおいて第2のデバイスによって送信されないすべてのパケットであり得る（例えば、画像の送信またはウェブページの更新）。ピア情報要求シグナリングおよび対応するピア情報応答（確認応答）は、同じ初期パケットシーケンス番号を含む。
【手続補正４２】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
ピア情報応答（確認応答）は、送信されたパケットに関する情報をさらに含み得る。送信されたパケットに関する情報は、初期パケットシーケンス番号から始まり、パケットが正常に受信されたと判定されたピアデバイスによって送信された複数のパケット（またはデータブロック）に関する情報を含む。例えば、送信されたパケットに関する情報は、パケットシーケンス番号、パケットシーケンス番号の数のオフセット、データのオフセット、ビットマップなどであり得る。いくつかの実装形態では、パケットがローカルデバイス（例えば、第1のデバイス）によって受信されたと判定されていない場合に送信されたパケット（またはデータブロック）に関する情報がさらに含まれ得る。送信されていないパケットに関する情報は、パケットシーケンス番号、パケットシーケンス番号のオフセット、データのオフセット、ビットマップなどであり得る。具体的には、ピア情報応答（確認応答）のいくつかのバイトの番号は、送信されたパケットに関する情報を表し、他のいくつかのバイトの番号は、送信されていないパケットに関する情報を表すと定義されている。本出願では、ピア情報応答（確認応答）のフォーマットは限定されない。例えば、図7に示されるように、ピア情報応答（確認応答）では、初期パケットシーケンス番号フィールドの長さは32bit（4バイト）であり、いくつかの可変長フィールド（図7では7フィールド）が順次含まれる。各可変長フィールドの最大長は32bit（4バイト）であり、可変長フィールドは、データブロックが送信されたと判定された場合に、シグナリングで運ばれるデータブロックの数を示すために使用される確認応答ブロック数フィールドを含む。確認応答ブロックフィールドと非確認応答ブロックフィールドとは間隔を空けて設定される。各フィールドは、データブロックの送信情報を示し、データブロックの識別子またはデータブロックの長さによって表され得る。このように、初期パケットシーケンス番号から始まるいくつかのフィールドのデータが送信されたと判定されたことと、その後のいくつかのフィールドのデータが送信されていないと判定されていないことを示し得る。加えて、可変長のフィールドは、送信されていないパケットの数を示すために使用される、送信対象のパケットの数のフィールドをさらに含む。
【手続補正４３】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
このようにして、ピアデバイスの送信制御は、上述の複数の制御シグナリングの使用の組み合わせを通して実装され得、複数の既存の伝送制御アルゴリズムも実行され得る。第1のデバイスによって送信された制御シグナリングを使用することにより、他端にあるデバイスは、決定を行う必要がなく、制御シグナリングにおいて運ばれたパラメータに基づいてパケットを送信するだけで済む。さらに、伝送制御アルゴリズムが、一端にあるデバイスによって送信された制御シグナリングのパラメータおよび制御シグナリングの送信順序を変更することによって実装され得、また伝送制御アルゴリズムは、アップグレードおよび変更され得る。したがって、伝送制御アルゴリズムを実装、変更、およびアップグレードすることが便利である。詳細については、以下の例を参照されたい。
【手続補正４４】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
受信制御シグナリングは、受信制御シグナリングの受信制御パラメータを使用することにより、データパケットの受信ステータスをフィードバックするようにデータ受信側を制御する。例えば、受信制御シグナリングは、フィードバックの条件（フィードバックのきっかけとしても理解され得る）およびフィードバックされる必要があるデータパケットの範囲をデータ受信側に通知することができる。このようにして、データ送信側は、これらのフィードバックに基づいて、これらのデータパケットが正しく受信されたか否かを判定することができる。含まれる受信制御シグナリングは、複数の方式で組み合わされ得る。マルチフロー多重化シナリオでは、データ受信側は、制御フローを使用することにより、受信制御シグナリングに基づいてフィードバックパケットを送信する。本出願では、フィードバックパケットのフォーマットは限定されない。例えば、フィードバックパケットは、従来技術におけるACKまたはNACKであり得る。従来技術では、そのような制御はデータ受信側によって実施される、したがって、受信制御シグナリングは送信される必要がない。
【手続補正４５】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
一実装形態では、受信制御シグナリングは、パケットシーケンス番号（すなわち、初期パケットシーケンス番号）、パケットシーケンス番号範囲、およびタイムスタンプを含む。初期パケットシーケンス番号およびパケットシーケンス番号範囲は、いくつかの特定のデータパケットの受信ステータスがフィードバックされる必要があることを示すために使用される。2つのパラメータの具体的な説明については、上述の段落を参照されたい。タイムスタンプは、受信制御シグナリングを送信する瞬間であり、パケット障害の場合を収集する、ネットワーク遅延を計算するなどのために使用され得る。受信制御シグナリングを受信することは、フィードバックの生成および送信をトリガする、例えば、フィードバックを送信するプロセスをトリガするイベントである。図8に示される受信制御シグナリングが例として使用され、シーケンスおよび3つのパラメータのそれぞれの長さは以下のとおりである、すなわち、タイムスタンプは32bit（4バイト）のフィールド長を有し、初期パケットシーケンス番号は32bit（4バイト）のフィールド長を有し、パケットシーケンス番号範囲は32bit（4バイト）のフィールド長を有する。3つのパラメータは送信制御シグナリングの値とは異なり、3つのパラメータのシーケンスも異なる。一実装形態では、初期パケットシーケンス番号は、データパケットが受信または処理されたことがデータ送信側によって判定される受信制御シグナリングが生成されたときのデータパケットのパケットシーケンス番号の最大値に設定される。「処理された」とは、データ送信側がデータパケットが失われたと判定し、したがって、失われたデータパケットを再送信するためにデータパケットの複製のパケットシーケンス番号を変更することを意味する。パケットシーケンス番号範囲は、受信制御シグナリングが生成されたときのデータ送信側によって送信されたデータパケットのパケットシーケンス番号の最大値に設定され、タイムスタンプは制御シグナリングを送信する瞬間に設定される。
【手続補正４６】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
受信制御シグナリングを受信した後、データ受信側、例えば第2のデバイスは、初期パケットシーケンス番号から、パケットシーケンス番号範囲により示されたパケットシーケンス番号以下のパケットシーケンス番号までの範囲内にあるデータパケットの受信ステータスをフィードバックする。例えば、受信ステータスは、どのデータパケットが受信されたか、またはどのデータパケットが受信されていないかであり得、フィードバックをトリガする受信制御シグナリングのタイムスタンプがさらに運ばれるべきである。一実装形態では、処理遅延がさらに含まれる場合があり、処理遅延は、受信制御シグナリングを受信する時間と、受信制御シグナリングに対応するフィードバックを送信する時間との間の時間差である。このようにして、データ送信側は、ネットワーク伝搬遅延の場合をより正確に収集できる。フィードバックされる必要があるデータパケットの範囲の値が、パケットをフィードバックするためにサポートされている最大値を超える場合、すべてのデータパケットをフィードバックできるわけではなく、最大値を下回る数のデータパケットの受信ステータスのみがフィードバックされる。
【手続補正４７】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
第1の制御シグナリングは、上述の送信制御シグナリングであり、したがって、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む。このようにして、第1のパケットシーケンス番号および第1のパケットシーケンス番号範囲は、第1のデータパケットグループを示し得る。第1の伝送時間間隔は、第1のデータパケットグループを送信するための時間間隔を示す。時間間隔は、帯域幅で表され得る。
【手続補正４８】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
S902：第2のデバイスは、受信された第1の制御シグナリングにおける示されたパケットシーケンス番号および第1の伝送時間間隔に基づいて、第1のデータパケットグループを送信する。
【手続補正４９】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含む。第2のパケットシーケンス番号および第2のパケットシーケンス番号範囲は、第2のデータパケットグループを示すと見なされ得る。第2の伝送時間間隔は、第2のデータパケットグループを送信するための時間間隔を示す。
【手続補正５０】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
別の実装形態では、1つまたは複数のデータパケットが受信された後、次の送信制御シグナリングが送信され得る。デバイスには送信遅延が存在し、ネットワークにはネットワーク遅延が存在するため、この実装は、ピア側でのデータ送信をより適切に制御できる。具体的には、第2のパケットシーケンス番号および第2のパケットシーケンス番号範囲によって示されるパケットは、番号に関して、第1のデータパケットグループと重なり得る。例えば、第1のデータパケットグループは1〜10の番号が付けられたパケットである。1〜4の番号が付けられたパケットが受信された後、第2の制御シグナリングが送信され、したがって、第2のパケットシーケンス番号は5である。
【手続補正５１】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
第3の制御シグナリングは、第1の制御シグナリングの後に送信されるが、第2の制御シグナリングの前または後に送信され得る。具体的なきっかけは、伝送制御アルゴリズムにおける第3の制御シグナリングをトリガするための条件に依存する。図9は、第3の制御シグナリングが第2の制御シグナリングの後に送信される場合を説明している。
【手続補正５２】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
第3の制御シグナリングへの応答は、上述のピア情報応答（確認応答）に対応する。
【手続補正５３】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
ピア情報応答（確認応答）が受信される場合、第1のデータパケットグループおよび第2のデータパケットグループのすべてが送信されるわけではない。したがって、第1のデバイスは、第2のデバイスによって送信されたデータパケットをさらに受信し続け得る。
【手続補正５４】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
第3のデータパケットグループは、第3のパケットシーケンス番号から始まる第3のパケットシーケンス番号範囲内にある複数のデータパケットである。
【手続補正５５】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
S907：第1のデバイスは、第4の制御シグナリングを第2のデバイスに送信し、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、タイムスタンプは、第4の制御シグナリングが送信されたときの第1のデバイスのシステム時刻である。
【手続補正５６】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
S908：第1のデバイスは、第4の制御シグナリングへの応答を受信し、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報をさらに含む。
【手続補正５７】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
制御の第1のラウンド：第1のデバイスは、ラウンドにおいて第1の送信制御シグナリングを第2のデバイスに送信し、初期パケットシーケンス番号は1であり、パケットシーケンス番号範囲は10であり、伝送時間間隔は帯域幅で表され、1mbpsである。第1の制御シグナリングを受信した後、第2のデバイスは1mbpsの帯域幅で1〜10までの番号が付けられたデータパケットを送信する。番号1のデータパケットを受信した後、第1のデバイスは第2の送信制御シグナリングをフィードバックし、初期パケットシーケンス番号は2であり、パケットシーケンス番号範囲は11であり、帯域幅は11／RTTmbpsである。RTTは、接続のラウンドトリップタイムである。
【手続補正５８】
【補正対象書類名】明細書
【補正対象項目名】０１１４
【補正方法】変更
【補正の内容】
【０１１４】
制御の第2のラウンド：第2のラウンドにおける制御プロセスは次のようにまとめられ得る、すなわち、第1の送信制御シグナリングが（第1の送信制御シグナリングの初期パケットシーケンス番号は11であるべきであり、パケットシーケンス番号範囲は10である）第2のラウンドにおいて送信された後、データパケットが受信されるたびに、それに応じて次の送信制御シグナリングが生成され、初期パケットシーケンス番号が1ずつ増加され、パケットシーケンス番号範囲が1ずつ増加され、伝送時間間隔がパケットシーケンス番号範囲がRTTで除された後の値に設定される。この変更規則は、現在のラウンドにおいて第1の送信制御シグナリングによって示される最後のデータパケット（例えば、番号20のデータパケット）が受信され、番号20のデータパケットによってトリガされる送信制御シグナリングが送信されるまで続く。これから、新しい制御ラウンドが開始され、変更規則が、パケットシーケンス番号範囲が前の送信制御シグナリングに基づいて2倍になるように調整される。このようにして、前のラウンドの約2倍のデータ量が送信され得る。この制御プロセスのメカニズムは、BBRの輻輳制御スロースタートフェーズのメカニズムと一致している。理解するには、BBRを説明している他の文献を参照されたい。
【手続補正５９】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
換言すれば、1制御ラウンドは、第1の送信制御シグナリングを送信してから、第1の送信制御シグナリングの命令の下で送信されたすべてのパケットを受信するまでのプロセスである。一実装形態では、1制御ラウンドで送信されるパケットの数は、第1の制御シグナリングが制御ラウンドで送信されるときの送信ウィンドウの値に対応するパケットの数である。
【手続補正６０】
【補正対象書類名】明細書
【補正対象項目名】０１１８
【補正方法】変更
【補正の内容】
【０１１８】
上述の制御プロセスにおいて、帯域幅推定を更新するための方法は、1送信制御ラウンドにおいて、データパケットが受信されるたびに、データパケットが属する送信制御ラウンドの帯域幅値が計算され、送信制御ラウンドにおける計算された帯域幅値の最初の3つの値が予約され、このラウンドで推定される帯域幅値は、最初の3つの値の最大値である。新しい送信制御ラウンド、つまり新しい帯域幅推定期間ラウンドが始まると、前のラウンドの3つの値は、新しいラウンドにおいて計算された帯域幅の値に徐々に置き換えられ、最後に、新しい送信制御ラウンドが終了した後、3つの更新された値の最大値が、新しいラウンドの推定帯域幅として使用される。
【手続補正６１】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
さらに、伝送制御アルゴリズムはまた、上述のシグナリングを使用することにより、データ伝送中に変更され得る。以下は、例を使用することにより、BBRアルゴリズムを説明する実施形態に基づく上述のシグナリングを使用することにより別のアルゴリズムに切り替えるプロセスを説明する。別のアルゴリズムに切り替えるための条件は、帯域幅の検出および推定フェーズにおいて、検出されたすべての帯域幅統計値の中で、最大値が2番目に大きい値の20％よりも大きいことであり得る。この条件は、ネットワークが不安定であることを示している。別のアルゴリズムは、ウィンドウベースの輻輳制御アルゴリズムであり得る。このアルゴリズムによれば、送信制御シグナリングのパラメータは、次のように調整される、すなわち、（1）新しい制御ラウンドのパケットシーケンス番号範囲が、前のラウンドのパケットシーケンス番号範囲のデータパケットが正常に送信されるたびに1ずつ増加される、（2）伝送時間間隔が帯域幅で表され、値は送信制御シグナリングのパラメータを表すために使用されるフィールドにより表され得る最大値である、（3）第1のデバイスがパケット損失を検出すると、パケットシーケンス番号範囲の値が半分になる。1つの送信制御シグナリングが受信されるたびに、データ送信側は、データ送信側によってサポートされる最大送信速度を使用することにより、送信制御シグナリングによって示されるデータ（つまり、送信制御シグナリングで運ばれる初期パケットシーケンス番号およびパケットシーケンス番号範囲で示されるパケット）を送信する。
【手続補正６２】
【補正対象書類名】明細書
【補正対象項目名】０１２１
【補正方法】変更
【補正の内容】
【０１２１】
加えて、いくつかのシナリオでは、制御を実装するために、一部のフィールドがデータパケットにさらに追加され得る。例えば、第1のデバイスと第2のデバイスとの間の接続は、複数のリンクに対応する、つまり、マルチパス伝送モードが使用される。低遅延シナリオが、3つの伝送モードを実装するために、ピアデバイスの送信パスをどのように制御するかを説明する例として使用される。3つの送信モードは次のとおりである、すなわち、ネットワーク1のみを使用することによる冗長伝送、ネットワーク2のみを使用することによる冗長伝送、ネットワーク1およびネットワーク2を使用することによる冗長伝送である。例えば、ネットワーク1はWi−Fiネットワークであり、ネットワーク2はLTEネットワークなどのセルラ方式の無線ネットワークである。当然のことながら、MPTCP伝送は別の伝送モードを有する。例えば、ネットワーク1およびネットワーク2は、集約伝送に使用される。MPTCPプロトコルにおける伝送モードの別の組み合わせも同様の方式で制御され得る。具体的な実装形態については、以下の説明を参照されたい。制御は、第1のデバイスまたは第2のデバイスに実装され得る。
【手続補正６３】
【補正対象書類名】明細書
【補正対象項目名】０１２２
【補正方法】変更
【補正の内容】
【０１２２】
具体的には、データパケットは、パケットを送信するためにピアデバイスによって使用されるパスを示すために使用されるデュアルパス識別子を含み得る。デュアルパス識別子は、デュアルパスフラグであり得る。このようにして、伝送モードは、デュアルパスフラグの値またはフラグがあるか否かを示す情報を使用することにより表され得る。例えば、制御は第1のデバイスに実装される。伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスは、第1のパケットを送信するために使用されるパスで、第2のデバイスによって送信されたパケットを受信する。伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第1のデバイスは、第2のデバイスによって送信されたパケットを複数のパスのそれぞれで受信する。一実装形態では、（1）デュアルパスフラグが0に設定されている場合、これは、コントローラがLTEネットワークまたはWi−Fiネットワークのみが使用される伝送モードにあることを示し、そのため、第2のデバイスは、パケットが受信されるパスでパケットを送信し、（2）フラグが1に設定されている場合、これは、コントローラが冗長伝送モードにあることを示し、第2のデバイスは2つのパスを使用することによりデータを冗長的に送信する。デュアルパスフラグは、実装のために拡張UDPまたはTCPパケットヘッダに追加され得る、またはユーザ定義のプロトコルヘッダが、デュアルパスフラグを実装するために、UDPまたはTCPパケットヘッダの後に追加され得る。
【手続補正６４】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
具体的には、制御機能を実行する制御モジュールは、ローカルデバイスからのネットワーク情報に基づいて、ローカルデバイスのための制御情報を出力することができる。制御情報は、操作対象、動作方式、トリガのきっかけなどを含み得る。ローカル側のネットワーク情報は、内部インターフェース機能を使用することにより、ローカル側の基本機能モジュールから取得され得る。ネットワーク情報は、ローカルデバイスのネットワークのステータスを表すパラメータ、例えば、帯域幅、遅延、または輻輳ウィンドウを含み、以下に述べるローカルデバイスの伝送パラメータをさらに含み得る。制御情報は、内部インターフェース機能を使用することによりローカル側の基本機能モジュールに転送される。ローカル側の基本機能モジュールは、ローカルデバイスで実行される伝送制御を実装するために、制御情報の命令に基づいて、パケット送信などの基本機能を実行する。
【手続補正６５】
【補正対象書類名】明細書
【補正対象項目名】０１３７
【補正方法】変更
【補正の内容】
【０１３７】
初期制御シグナリングは、第1のデバイスがコントローラであると仮定して、第1のデバイスによってピアエンドに送信される第1の制御シグナリングあり、パケットを送信するように第2のデバイスを制御するために使用される。例えば、初期制御シグナリングは、送信対象のオブジェクト（例えば、パケットシーケンス番号）、伝送モード、および送信対象のオブジェクトを送信するためのきっかけを含む。初期制御シグナリングは、既知のネットワーク情報およびピア情報が比較的少ないか無効である場合に、第1のデバイスをコントローラと仮定して、第1のデバイスによって送信される。例えば、初期制御シグナリングは、デフォルト設定またはランダムに割り当てられたネットワークパラメータに基づいて送信され得る。初期制御シグナリングは、上記の第1の制御シグナリング、すなわち、1つの送信制御シグナリングであり得る。
【手続補正６６】
【補正対象書類名】明細書
【補正対象項目名】０１４４
【補正方法】変更
【補正の内容】
【０１４４】
パス（path）パラメータは、ローカルデバイスによってアクセスされる少なくとも1つのパスのパラメータであり、パス特性パラメータが、次のパラメータ、すなわち、伝送速度、ラウンドトリップタイム（RTT、Round time Trip）、パケット損失率、パケット損失範囲、ジッタ（jitter）、輻輳ウィンドウ（CWND、congestion window）、および帯域幅のうちの1つまたは複数を含むが、これらに限定されない。
【手続補正６７】
【補正対象書類名】明細書
【補正対象項目名】０１５３
【補正方法】変更
【補正の内容】
【０１５３】
第2のデバイスによって返されたネゴシエーション結果が、第2のデバイスがコントローラであるということである場合、または第2のデバイスからのネゴシエーションシグナリングが第2のデバイスの伝送パラメータおよびロールパラメータのみを含む場合、第1のデバイスは、第2のデバイスから受信したネゴシエーションシグナリング、第1のデバイスのローカル情報、およびネゴシエーション規則に基づいてコントローラを決定する。また第2のデバイスがコントローラであると第1のデバイスが決定する場合、第2のデバイスは第1のデバイスのパケット伝送を制御する。
【手続補正６８】
【補正対象書類名】明細書
【補正対象項目名】０１６２
【補正方法】変更
【補正の内容】
【０１６２】
一実装形態では、制御モジュール1201は、第1の制御シグナリングを生成するように構成される。送信モジュール1202は、第1の制御シグナリングを第2のデバイスに送信し、第1の制御シグナリングが、第1のデータパケットグループを送信するように第2のデバイスに命令し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含み、第1のデータパケットグループが、第1のパケットシーケンス番号から始まる第1のパケットシーケンス番号範囲内にあるデータパケットであり、第1の伝送時間間隔が、第1のデータパケットグループにおけるデータパケットを送信するための時間間隔を示す、ように構成される。受信モジュール1203は、第2のデバイスからの少なくとも1つのデータパケットを受信し、少なくとも1つのデータパケットが、第1のデータパケットグループにあるデータパケットである、ように構成される。
【手続補正６９】
【補正対象書類名】明細書
【補正対象項目名】０１６４
【補正方法】変更
【補正の内容】
【０１６４】
一実装形態では、制御モジュール1201は、受信された第1のデータパケットに基づいて第2の制御シグナリングを生成するようにさらに構成される。第1のデータパケットのパケットシーケンス番号は、少なくとも1つのデータパケットにおいて最大である。送信モジュール1202は、第2の制御シグナリングを送信し、第2の制御シグナリングは、第2のデータパケットグループを送信するように第2のデバイスに命令し、第2の制御シグナリングは、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含み、第2のデータパケットグループは、第2のパケットシーケンス番号から始まる第2のパケットシーケンス番号範囲内にあるデータパケットであり、第2の伝送時間間隔は、第2のデータパケットグループにおけるデータパケットを送信するための時間間隔を示し、第2のパケットシーケンス番号は、第1のデータパケットのパケットシーケンス番号よりも大きい、ようにさらに構成される。
【手続補正７０】
【補正対象書類名】明細書
【補正対象項目名】０１６５
【補正方法】変更
【補正の内容】
【０１６５】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドによって運ばれる値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドによって運ばれる値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドによって運ばれる値が、第1のデータパケットグループのパケットシーケンス番号の範囲を示し、第1の制御フレームにおける伝送時間間隔フィールドによって運ばれる値が、第1の伝送時間間隔を示す。
【手続補正７１】
【補正対象書類名】明細書
【補正対象項目名】０１６７
【補正方法】変更
【補正の内容】
【０１６７】
一実装形態では、送信モジュール1202は、第3のデータパケットグループを第2のデバイスに送信し、第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットであり、第4の制御シグナリングを第2のデバイスに送信し、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、タイムスタンプは、第1のデバイスが第4の制御シグナリングを送信するシステム時刻である、ようにさらに構成される。受信モジュール1203は、第2のデバイスからの第4の制御シグナリングへの応答を受信し、第4の制御シグナリングへの応答が、タイムスタンプを含み、第4の制御シグナリングへの応答が、受信された、または受信されていないデータパケットに関する情報であって、データパケットが第3のデータパケットグループにおけるデータパケットである、情報をさらに含む、ようにさらに構成される。
【手続補正７２】
【補正対象書類名】明細書
【補正対象項目名】０１６８
【補正方法】変更
【補正の内容】
【０１６８】
装置1200は、マルチパス伝送シナリオにおいて別の伝送制御をさらに実装し得る。このシナリオでは、装置1200は第1のデバイスに配置され、第1のデバイスと第2のデバイスとの間の接続が複数のパスに対応する。装置1200は、第1のパケットを生成し、第1のパケットがデュアルパス識別子を含む、ように構成される、制御モジュール1201と、第1のパケットを第2のデバイスに複数のパスにおける第1のパスで送信するように構成される、送信モジュール1202と、パケット伝送モードがシングルパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを第1のパスで受信する、またはパケット伝送モードがマルチパス伝送であることをデュアルパス識別子が示す場合、第2のデバイスによって送信されたパケットを記複数のパスのそれぞれで受信する、ように構成される、受信モジュール1203とを備える。
【手続補正７３】
【補正対象書類名】明細書
【補正対象項目名】０１７０
【補正方法】変更
【補正の内容】
【０１７０】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正７４】
【補正対象書類名】明細書
【補正対象項目名】０１７１
【補正方法】変更
【補正の内容】
【０１７１】
装置1300の場合、一実装形態では、受信モジュール1301は、第1のデバイスからの第1の制御シグナリングを受信し、第1の制御シグナリングが、第1のパケットシーケンス番号、第1のパケットシーケンス番号範囲、および第1の伝送時間間隔を含む、ように構成される。送信モジュール1302は、第1の制御シグナリングに基づいて第1の伝送時間間隔で、少なくとも1つの第1のデータパケットを第1のデバイスに送信し、複数の第1のデータパケットが、第1のパケットシーケンス番号の範囲内にある第1のパケットシーケンス番号から始まるデータパケットである、ように構成される。
【手続補正７５】
【補正対象書類名】明細書
【補正対象項目名】０１７２
【補正方法】変更
【補正の内容】
【０１７２】
一実装形態では、第1の制御シグナリングは、第1の制御フレームにカプセル化され、第1の制御フレームは、タイプフィールド、初期パケットシーケンス番号フィールド、パケットシーケンス番号範囲フィールド、および伝送時間間隔フィールドを含み、第1の制御フレームにおけるタイプフィールドによって運ばれる値が、第1の制御シグナリングのタイプに対応し、第1の制御フレームにおける初期パケットシーケンス番号フィールドによって運ばれる値が、第1のパケットシーケンス番号を示し、第1の制御フレームにおけるパケットシーケンス番号範囲フィールドによって運ばれる値が、第1のデータパケットのパケットシーケンス番号の範囲を示し、第1の制御フレームにおける伝送時間間隔フィールドによって運ばれる値が、第1の伝送時間間隔を示す。
【手続補正７６】
【補正対象書類名】明細書
【補正対象項目名】０１７３
【補正方法】変更
【補正の内容】
【０１７３】
一実装形態では、受信モジュール1301は、第1のデバイスからの第2の制御シグナリングを受信し、第2の制御シグナリングが、第2のパケットシーケンス番号、第2のパケットシーケンス番号の範囲、および第2の伝送時間間隔を含み、第2のパケットシーケンス番号が第1のパケットのパケットシーケンス番号よりも大きい、ようにさらに構成される。送信モジュール1302が、第2の制御シグナリングおよび第2の伝送時間間隔に基づいて、複数の第2のデータパケットを第1のデバイスに送信し、第2のデータパケットが、第2のパケットシーケンス番号から始まる第2のパケットシーケンス番号範囲内にあるデータパケットである、ようにさらに構成される。
【手続補正７７】
【補正対象書類名】明細書
【補正対象項目名】０１７５
【補正方法】変更
【補正の内容】
【０１７５】
一実装形態では、受信モジュール1301が、第1のデバイスからの少なくとも1つの第3のデータパケットおよび第4の制御シグナリングを受信し、少なくとも1つの第3のデータパケットが、第3のデータパケットグループにおけるデータパケットであり、第4の制御シグナリングが、第3のパケットシーケンス番号、第3のパケットシーケンス番号範囲、およびタイムスタンプを含み、第3のデータパケットグループが、第3のパケットシーケンス番号範囲内にある第3のパケットシーケンス番号から始まるデータパケットであり、タイムスタンプが、第4の制御シグナリングが送信されたときの第1のデバイスのシステム時刻である、ようにさらに構成される。送信モジュール1302は、第4の制御シグナリングのフィードバックパケットを第1のデバイスに送信し、フィードバックパケットがタイムスタンプを含み、フィードバックパケットが、少なくとも1つの第3のデータパケットに関する情報または第3のデータパケットグループにおける受信されていないデータパケットに関する情報をさらに含む、ようにさらに構成される。
【手続補正７８】
【補正対象書類名】明細書
【補正対象項目名】０１７７
【補正方法】変更
【補正の内容】
【０１７７】
マルチパス伝送は、冗長伝送または集約伝送のいずれかである。デュアルパス識別子は、接続のパケット伝送モードを示すために使用される。このようにして、マルチパス伝送シナリオでは、データを送信する方式が、デュアルパス識別子を使用することによりピアデバイスに示され得る。
【手続補正７９】
【補正対象書類名】明細書
【補正対象項目名】０１８０
【補正方法】変更
【補正の内容】
【０１８０】
一実装形態では、デバイス1400は端末デバイスであり得る。デバイス1400が端末デバイスである場合、場合により、デバイス1400は、ユーザインターフェースを備え、ディスプレイ（例えば、タッチスクリーン、LCD、CRT、ホログラフィックデバイス、またはプロジェクタ（Projector））、キーボード、またはクリックデバイス（例えば、マウス、トラックボール（trackball）、タッチパッド、またはタッチスクリーン）を備える。記憶媒体1405は、読み出し専用メモリおよびランダムアクセスメモリを含み得、処理回路1401に命令およびデータを提供し得る。メモリ媒体1405の一部は、不揮発性ランダムアクセスメモリ（NVRAM）をさらに含み得る。
【手続補正８０】
【補正対象書類名】明細書
【補正対象項目名】０１８２
【補正方法】変更
【補正の内容】
【０１８２】
処理回路1401は、1つまたは複数のプロセッサを使用することにより実装され得、処理回路1401は、中央処理装置（英語：central processing unit、略称CPU）であり得る。あるいは、処理回路1401は、別の汎用プロセッサ、デジタルシグナルプロセッサ（英語：digital signal processing、略称DSP）、特定用途向け集積回路（英語：application−specific integrated circuit、略称ASIC）、フィールドプログラマブルゲートアレイ（英語：field−programmable gate array、略称FPGA）、または別のプログラマブルロジックデバイス、別個のゲートもしくはトランジスタロジックデバイス、別個のハードウェアアセンブリなどであってもよい。汎用プロセッサは、マイクロプロセッサであってもよいし、プロセッサは、任意の従来のプロセッサなどであってもよい。
【手続補正８１】
【補正対象書類名】明細書
【補正対象項目名】０１８３
【補正方法】変更
【補正の内容】
【０１８３】
通信バス1402は、データバス、電源バス、制御バス、ステータス信号バスなどを含み得る。本実施形態における明確な説明のために、様々なバスは、図14において通信バス1402として記載されている。
【手続補正８２】
【補正対象書類名】明細書
【補正対象項目名】０１８４
【補正方法】変更
【補正の内容】
【０１８４】
通信インターフェース1403は、具体的には、物理マシン上の通信インターフェースであり得る。通信インターフェースは、無線通信インターフェースであり得る。例えば、無線通信インターフェースは、物理マシンの無線モジュールまたはネットワークインターフェースカードであり得る。処理回路40は、通信インターフェース1403を使用することにより、別の物理マシンなどの別のデバイスからデータを受信する、または別のデバイスにデータを送信する。
【手続補正８３】
【補正対象書類名】明細書
【補正対象項目名】０１８５
【補正方法】変更
【補正の内容】
【０１８５】
記憶媒体1404は、揮発性メモリ（英語：volatile memory）、例えば、ランダムアクセスメモリ（英語：random access memory、略称RAM）を含んでもよいし、記憶媒体1404は、読み出し専用メモリ（英語：read−only memory、略称ROM）、フラッシュメモリ（英語：flash memory）、ハードディスクドライブ（英語：hard disk drive、略称HDD）、またはソリッドステートドライブ（英語：solid−state drive、略称SSD）などの不揮発性メモリ（英語：non−volatile memory）を含んでもよいし、記憶媒体1404は、上記のタイプのメモリの組み合わせを含んでもよい。
【手続補正８４】
【補正対象書類名】明細書
【補正対象項目名】０１８６
【補正方法】変更
【補正の内容】
【０１８６】
記憶媒体1404は、基礎となる記憶媒体およびメモリを含み得る。基礎となる記憶媒体は、例えば、ネットワークインターフェースカードにおける記憶媒体であり得る。メモリは、基礎となる記憶媒体に結合され、基礎となる記憶媒体のキャッシュとして機能するように構成される。
【手続補正８５】
【補正対象書類名】明細書
【補正対象項目名】０１８８
【補正方法】変更
【補正の内容】
【０１８８】
場合により、本実施形態における可読記憶媒体は、図14に示される記憶媒体1404であり得る。
【手続補正８６】
【補正対象書類名】明細書
【補正対象項目名】０１９２
【補正方法】変更
【補正の内容】
【０１９２】
ソフトウェアが上述の実施形態を実施するために使用される場合、実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実施されてもよい。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されると、本発明の実施形態による手順または機能がすべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに、有線（例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線（DSL））または無線（例えば、赤外線、電波、またはマイクロ波）方式で送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であってもよく、または1つまたは複数の使用可能な媒体を一体化するサーバまたはデータセンタなどのデータ記憶デバイスであってもよい。使用可能な媒体は、磁気媒体（例えば、フロッピーディスク、ハードディスク、または磁気テープ）、光学媒体（例えば、DVD）、半導体媒体（例えば、Solid State Disk（SSD）、相変化メモリ）などであってもよい。
【国際調査報告】
2021525044.tif 000017
2021525044.tif 000018
2021525044.tif 000019
2021525044.tif 000020