(57)【要約】  本願は、確認パケット伝送方法および通信デバイスを提供する。方法は、第１デバイスが、第２デバイスにより送信されるデータを受信する段階と、第１デバイスが第２デバイスに確認パケットを送信する段階とを含み、確認パケットは確認フィールドを含み、確認フィールドは、Ｋ個のデータパケットグループのデータ長を保持し、データ長は、第１デバイスで受信された／失われたデータパケットの各グループに含まれるデータ量に伴って変化する。上述の技術的解決策では、確認フィールドを確認パケットに保持して、第２デバイスが再伝送する必要があるデータパケットを明示的に示し、その結果、リソースの浪費を減らすことができる。また、各データパケットグループのデータ長に基づいて、データパケットグループを表すために必要とされるバイト数が動的に調整され、その結果、確認パケットは比較的小さな空間を占有する。このように、帯域幅の利用が改善される。
2021532636.tif 000002
【特許請求の範囲】
【請求項１】
確認パケット伝送方法であって、
第１デバイスが、第２デバイスにより送信されるデータを受信する段階であって、前記データは、Ｎ個のデータパケットを含む、段階と、
前記第１デバイスが前記第２デバイスに確認パケットを送信する段階であって、前記確認パケットは、確認フィールドを含み、前記確認フィールドは、第１フィールドおよび第２フィールドを含み、前記第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、前記Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始バイトの位置または終了バイトの位置であり、前記Ｋ個の長さのうちｉ番目の長さが、前記Ｋ個のデータパケットグループのうち前記ｉ番目のデータパケットグループの長さであり、前記Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、前記Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、前記第１フィールドは、Ｋの値を示すために使用される、段階と
を備える確認パケット伝送方法。
【請求項２】
前記開始バイトの前記位置は、開始データパケットのシーケンス番号または開始バイトのシーケンス番号であり、前記終了バイトの前記位置は、終了データパケットのシーケンス番号または終了バイトのシーケンス番号である、
前記長さは、前記開始データパケットまたは前記終了データパケットに対するシーケンス番号のオフセット、または、前記開始バイトまたは前記終了バイトに対するシーケンス番号のオフセットである、および／または、
前記第１フィールドは、前記Ｋの値を含む、または、
前記第１フィールドは、第１バイト数を含み、前記第１バイト数は、前記確認フィールドにより占有されるバイト数である、
請求項１に記載の確認パケット伝送方法。
【請求項３】
前記第１フィールドは、第２バイト数を更に含み、前記第２バイト数は、前記長さを示すために占有されるバイト数である、または、
前記第１フィールドは、第２バイト数を更に含み、前記第２バイト数は、前記位置および前記長さの両方を示すために占有されるバイト数である、
請求項２に記載の確認パケット伝送方法。
【請求項４】
前記データパケットグループの前記長さを示すために占有される前記バイト数は、前記Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である、請求項３に記載の確認パケット伝送方法。
【請求項５】
前記確認フィールドは、第３フィールドを更に含み、前記第３フィールドは、前記確認フィールドのタイプを示すために使用される、および／または、
前記Ｋ個のデータパケットグループは、正常に受信されるデータパケットである、または、
前記Ｋ個のデータパケットグループは、正常に受信されないデータパケットである、
請求項１から４のいずれか一項に記載の確認パケット伝送方法。
【請求項６】
確認パケット伝送方法であって、
第２デバイスが第１デバイスにデータを送信する段階であって、前記データは、Ｎ個のデータパケットを含む、段階と、
前記第２デバイスが、前記第１デバイスにより送信される確認パケットを受信する段階であって、前記確認パケットは、確認フィールドを含み、前記確認フィールドは、第１フィールドおよび第２フィールドを含み、前記第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、前記Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始バイトの位置または終了バイトの位置であり、前記Ｋ個の長さのうちｉ番目の長さが、前記Ｋ個のデータパケットグループのうち前記ｉ番目のデータパケットグループの長さであり、前記Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、前記Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、前記第１フィールドは、Ｋの値を示すために使用される、段階と
を備える確認パケット伝送方法。
【請求項７】
前記開始バイトの前記位置は、開始データパケットのシーケンス番号または開始バイトのシーケンス番号であり、前記終了バイトの前記位置は、終了データパケットのシーケンス番号または終了バイトのシーケンス番号である、
前記長さは、前記開始データパケットまたは前記終了データパケットに対するシーケンス番号のオフセット、または、前記開始バイトまたは前記終了バイトに対するシーケンス番号のオフセットである、および／または、
前記第１フィールドは、前記Ｋの値を含む、または、
前記第１フィールドは、第１バイト数を含み、前記第１バイト数は、前記確認フィールドにより占有されるバイト数である、
請求項６に記載の確認パケット伝送方法。
【請求項８】
前記第１フィールドは、第２バイト数を更に含み、前記第２バイト数は、前記長さを示すために占有されるバイト数である、または、
前記第１フィールドは、第２バイト数を更に含み、前記第２バイト数は、前記位置および前記長さの両方を示すために占有されるバイト数である、
請求項７に記載の確認パケット伝送方法。
【請求項９】
前記データパケットグループの前記長さを示すために占有される前記バイト数は、前記Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である、請求項８に記載の確認パケット伝送方法。
【請求項１０】
前記確認フィールドは、第３フィールドを更に含み、前記第３フィールドは、前記確認フィールドのタイプを示すために使用される、および／または、
前記Ｋ個のデータパケットグループは、正常に受信されるデータパケットである、または、
前記Ｋ個のデータパケットグループは、正常に受信されないデータパケットである、
請求項６から９のいずれか一項に記載の確認パケット伝送方法。
【請求項１１】
請求項１から５のいずれか一項に記載の確認パケット伝送方法を実行するように構成される送受信機を備える通信デバイス。
【請求項１２】
請求項６から１０のいずれか一項に記載の確認パケット伝送方法を実行するように構成される送受信機を備える通信デバイス。
【請求項１３】
通信デバイスに、請求項１から５のいずれか一項に記載の確認パケット伝送方法を実行させるためのプログラム。
【請求項１４】
通信デバイスに、請求項６から１０のいずれか一項に記載の確認パケット伝送方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年９月２７日に中国特許庁に出願された「ＡＣＫＮＯＷＬＥＤＧＭＥＮＴ  ＰＡＣＫＥＴ  ＴＲＡＮＳＭＩＳＳＩＯＮ  ＭＥＴＨＯＤ  ＡＮＤ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＤＥＶＩＣＥ」と題する中国特許出願第２０１８１１１３４３４２．７号に基づく優先権を主張するものであり、その出願全体が参照により本明細書に組み込まれる。
【０００２】
本願は、通信分野、より具体的には、確認パケット伝送方法および通信デバイスに関する。
【背景技術】
【０００３】
信頼できるトランスポートプロトコル（例えば、伝送制御プロトコル（ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ、ＴＣＰ））は通常、データパケットが受信端で正常に受信されたことを示す情報をフィードバックするか、または、失われたパケットの再伝送を送信端が実行するのを支援するためのパケット確認メカニズムを含む。ネットワークにおける信頼できるデータ伝送は、以下のルールを使用することにより、信頼できるトランスポートプロトコルに基づいて保証される。
【０００４】
（１）信頼できるトランスポートプロトコルに従って、各データパケットにシーケンス番号が割り当てられ、その結果、シーケンス番号に基づいて、送信端から受信端へのデータパケットが順次受信される。受信端は、データパケットを受信した後、対応するシーケンス番号（確認シーケンス番号と呼ばれ得る）を含む確認パケット（ａｃｋｎｏｗｌｅｄｇｍｅｎｔ、ＡＣＫ）を生成および送信して、対応するデータパケットが受信端で正常に受信されたことを示す。
【０００５】
（２）送信端が妥当な時間内に受信端から確認パケットを受信しない場合は、送信端は、データパケットが失われたものと見なし、データパケット再伝送メカニズムをトリガする。
【０００６】
上記プロセスでは、データパケットの到着の確認応答、および、再伝送の完了の支援を行う、信頼できるトランスポートプロトコルで確認パケットがどのように使用されるか。ただし、確認パケットには確認シーケンス番号しか含まれていないので、受信端が確認パケットを使用することによりパケット再伝送を実行すると、再伝送するデータパケットを特定できないという問題が生じる。
【０００７】
（１）妥当な時間内に受信されないデータパケットのみが再伝送される。妥当な時間内に受信されないデータパケットの後に送信されるデータパケットが全て正常に受信され得る場合は、この再伝送方式で再伝送効率を高めることができる。ただし、多数のデータパケットが失われると、送信端は、各データパケットを妥当な時間だけ次々と待ち受けてから、パケット再伝送を継続的に実行する必要があり、これには大いなる時間および帯域幅が浪費される。
【０００８】
（２）妥当な時間内に受信されないデータパケット、および、このデータパケットの後に送信される全てのデータパケットが再伝送される。妥当な時間内に受信されないデータパケットの後に送信されるデータパケットが全て失われた場合は、この再伝送方法を使用することにより再伝送効率が非常に高くなる。ただし、妥当な時間内に受信されないデータパケットのみが失われた場合は、このデータパケットの後の全てのデータパケットが再伝送されるときに、重大なトラフィックの浪費が生じる。
【０００９】
故に、再伝送するデータパケットを特定できないという問題を早急に解決する必要がある。
【発明の概要】
【００１０】
本願は、再伝送する必要があるデータパケットを特定するための確認パケット伝送方法および通信デバイスを提供することにより、リソースの浪費を減らす。
【００１１】
第１態様によれば、本願は確認パケット伝送方法を提供する。方法は、第１デバイスが、第２デバイスにより送信されるデータを受信する段階であって、データはＮ個のデータパケットを含む、段階と、第１デバイスが第２デバイスに確認パケットを送信する段階であって、確認パケットは確認フィールドを含み、確認フィールドは、第１フィールドおよび第２フィールドを含み、第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始バイトの位置または終了バイトの位置であり、Ｋ個の長さのうちｉ番目の長さが、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さであり、Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、第１フィールドは、Ｋの値を示すために使用される、送信する段階とを含む。
【００１２】
上述の技術的解決策では、確認フィールドを確認パケットに追加して、第２デバイスが再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らす。
【００１３】
また、上述の技術的解決策では、確認フィールドにおいて、データパケットグループを示すために開始位置または終了位置および長さが使用され、データ長は、第１デバイスで受信された／失われたデータパケットの各グループに含まれるデータ量に伴って変化し、その結果、第１デバイスは、各データパケットグループのデータ長に基づいて、データパケットグループを示すために占有されるバイト数を動的に調整することができる。このように、確認パケットが比較的小さな空間を占有することにより、ブロードバンドの使用が改善される。
【００１４】
ある考えられる実装では、開始位置は、開始データパケットのシーケンス番号または開始バイトのシーケンス番号であり、終了位置は、終了データパケットのシーケンス番号または終了バイトのシーケンス番号である。
【００１５】
上述の技術的解決策では、データパケットのシーケンス番号またはバイトのシーケンス番号を使用することにより位置が示され、これは容易に実装される。
【００１６】
ある考えられる実装では、長さは、開始データパケットまたは終了データパケットに対するシーケンス番号のオフセット、または、開始バイトまたは終了バイトに対するシーケンス番号のオフセットである。
【００１７】
上述の技術的解決策では、開始位置または終了位置を基準に、オフセットを使用してデータパケットグループを示す。このように、シーケンス番号が継続的に蓄積されるために生じる、データ長の値が比較的大きいという問題が回避され得る。故に、確認パケットが比較的小さな空間を占有することにより、ブロードバンドの使用が改善される。
【００１８】
ある考えられる実装では、第１フィールドはＫの値を含む。
【００１９】
上述の技術的解決策では、第１フィールドはＫの値を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに直接命令するために使用されてよく、その結果、第２デバイスは確認パケットを正確に解析する。
【００２０】
ある考えられる実装では、第１フィールドは第１バイト数を含み、第１バイト数は、確認フィールドにより占有されるバイト数である。
【００２１】
上述の技術的解決策では、第１フィールドは第１バイト数を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに間接的に命令するために使用されてよく、その結果、第２デバイスは確認パケットを正確に解析する。
【００２２】
ある考えられる実装では、第１フィールドは第２バイト数を更に含み、第２バイト数は、長さを示すために占有されるバイト数である。
【００２３】
上述の技術的解決策では、第２バイト数は、長さを示すために占有されるバイト数に伴って変化し、データパケットグループを示すために占有されるバイト数が動的に調整されて、確認パケットを正確に解析するように第２デバイスに命令することができる。
【００２４】
ある考えられる実装では、第１フィールドは第２バイト数を更に含み、第２バイト数は、位置および長さの両方を示すために占有されるバイト数である。上述の技術的解決策では、第２デバイスは確認パケットを正確に解析することができる。
【００２５】
ある考えられる実装では、データパケットグループの長さを示すために占有されるバイト数は、Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である。
【００２６】
上述の技術的解決策では、データパケットグループの長さを示すために占有されるバイト数は、Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である。このように、任意のデータパケットグループを正確に示すことが保証される一方で、確認パケットにより占有される空間を減らすことができる。
【００２７】
ある考えられる実装では、確認フィールドは第３フィールドを更に含み、第３フィールドは、確認フィールドのタイプを示すために使用される。
【００２８】
上述の技術的解決策では、第３フィールドは、確認フィールドのタイプを示すために使用され、その結果、第２デバイスは、確認パケットを解析するための方法を決定してから、確認パケットを正確に解析することができる。
【００２９】
ある考えられる実装では、Ｋ個のデータパケットグループは、正常に受信されるデータパケットである。
【００３０】
上述の技術的解決策では、正常に受信されたデータパケットが第２デバイスに示され、これによって、再伝送する必要があるデータパケットが第２デバイスに間接的に示される。このように、再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らすことができる。
【００３１】
ある考えられる実装では、Ｋ個のデータパケットグループは、正常に受信されないデータパケットである。
【００３２】
上述の技術的解決策では、正常に受信されないデータパケットが第２デバイスに示され、これによって、再伝送する必要があるデータパケットが第２デバイスに直接示される。このように、再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らすことができる。
【００３３】
第２態様によれば、本願は確認パケット伝送方法を提供する。この方法は、第２デバイスが第１デバイスにデータを送信する段階であって、データは、Ｎ個のデータパケットを含む、段階と、第２デバイスが、第１デバイスにより送信される確認パケットを受信する段階であって、確認パケットは、確認フィールドを含み、確認フィールドは、第１フィールドおよび第２フィールドを含み、第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始位置または終了位置であり、Ｋ個の長さのうちｉ番目の長さが、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さであり、Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、第１フィールドは、Ｋの値を示すために使用される、段階とを含む。
【００３４】
上述の技術的解決策では、確認フィールドを確認パケットに追加して、第２デバイスが再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らす。
【００３５】
また、上述の技術的解決策では、確認フィールドにおいて、データパケットグループを示すために開始位置または終了位置および長さが使用され、データ長は、第１デバイスで受信された／失われたデータパケットの各グループに含まれるデータ量に伴って変化し、その結果、第１デバイスは、各データパケットグループのデータ長に基づいて、データパケットグループを示すために占有されるバイト数を動的に調整することができる。このように、確認パケットが比較的小さな空間を占有することにより、ブロードバンドの使用が改善される。
【００３６】
ある考えられる実装では、開始位置は、開始データパケットのシーケンス番号または開始バイトのシーケンス番号であり、終了位置は、終了データパケットのシーケンス番号または終了バイトのシーケンス番号である。
【００３７】
上述の技術的解決策では、データパケットのシーケンス番号またはバイトのシーケンス番号を使用することにより位置が示され、これは容易に実装される。
【００３８】
ある考えられる実装では、長さは、開始データパケットまたは終了データパケットに対するシーケンス番号のオフセット、または、開始バイトまたは終了バイトに対するシーケンス番号のオフセットである。
【００３９】
上述の技術的解決策では、開始位置または終了位置を基準に、オフセットを使用してデータパケットグループを示す。このように、シーケンス番号が継続的に蓄積されるために生じる、データ長の値が比較的大きいという問題が回避され得る。故に、確認パケットが比較的小さな空間を占有することにより、ブロードバンドの使用が改善される。
【００４０】
ある考えられる実装では、第１フィールドはＫの値を含む。
【００４１】
上述の技術的解決策では、第１フィールドはＫの値を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに直接命令するために使用されてよく、その結果、第２デバイスは確認パケットを正確に解析する。
【００４２】
ある考えられる実装では、第１フィールドは第１バイト数を含み、第１バイト数は、確認フィールドにより占有されるバイト数である。
【００４３】
上述の技術的解決策では、第１フィールドは第１バイト数を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに間接的に命令するために使用されてよく、その結果、第２デバイスは確認パケットを正確に解析する。
【００４４】
ある考えられる実装では、第１フィールドは第２バイト数を更に含み、第２バイト数は、長さを示すために占有されるバイト数である。
【００４５】
上述の技術的解決策では、第２バイト数は、長さを示すために占有されるバイト数に伴って変化し、データパケットグループを示すために占有されるバイト数が動的に調整されて、確認パケットを正確に解析するように第２デバイスに命令することができる。
【００４６】
ある考えられる実装では、第１フィールドは第２バイト数を更に含み、第２バイト数は、位置および長さの両方を示すために占有されるバイト数である。上述の技術的解決策では、第２デバイスは確認パケットを正確に解析することができる。
【００４７】
ある考えられる実装では、データパケットグループの長さを示すために占有されるバイト数は、Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である。
【００４８】
上述の技術的解決策では、データパケットグループの長さを示すために占有されるバイト数は、Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である。このように、任意のデータパケットグループを正確に示すことが保証される一方で、確認パケットにより占有される空間を減らすことができる。
【００４９】
ある考えられる実装では、確認フィールドは第３フィールドを更に含み、第３フィールドは、確認フィールドのタイプを示すために使用される。
【００５０】
上述の技術的解決策では、第３フィールドは、確認フィールドのタイプを示すために使用され、その結果、第２デバイスは、確認パケットを解析するための方法を決定してから、確認パケットを正確に解析することができる。
【００５１】
ある考えられる実装では、Ｋ個のデータパケットグループは、正常に受信されるデータパケットである。
【００５２】
上述の技術的解決策では、正常に受信されたデータパケットが第２デバイスに示され、これによって、再伝送する必要があるデータパケットが第２デバイスに間接的に示される。このように、再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らすことができる。
【００５３】
ある考えられる実装では、Ｋ個のデータパケットグループは、正常に受信されないデータパケットである。
【００５４】
上述の技術的解決策では、正常に受信されないデータパケットが第２デバイスに示され、これによって、再伝送する必要があるデータパケットが第２デバイスに直接示される。このように、再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らすことができる。
【００５５】
第３態様によれば、本願は、第１態様または第１態様の任意の実装に係る方法を実行するように構成されるモジュールを含む通信デバイスを提供する。
【００５６】
第４態様によれば、本願は、第２態様または第２態様の任意の実装に係る方法を実行するように構成されるモジュールを含む通信デバイスを提供する。
【００５７】
第５態様によれば、本願は、プロセッサと送受信機とを含むチップを提供する。チップは、第１態様または第１態様の任意の実装に係る方法を実行するように構成される。
【００５８】
第６態様によれば、本願は、プロセッサと送受信機とを含むチップを提供する。チップは、第２態様または第２態様の任意の実装に係る方法を実行するように構成される。
【００５９】
第７態様によれば、本願は、プロセッサと送受信機とを含む通信デバイスを提供する。通信デバイスは、第１態様または第１態様の任意の実装に係る方法を実行するように構成される。
【００６０】
第８態様によれば、本願は、プロセッサと送受信機とを含む通信デバイスを提供する。通信デバイスは、第２態様または第２態様の任意の実装に係る方法を実行するように構成される。
【００６１】
第９態様によれば、本願は、命令を含むコンピュータ可読記憶媒体を提供する。命令が通信デバイス上で実行されると、通信デバイスに、第１態様または第１態様の任意の実装に係る方法を実行させることができる。
【００６２】
第１０態様によれば、本願は、命令を含むコンピュータ可読記憶媒体を提供する。命令が通信デバイス上で実行されると、通信デバイスに、第２態様または第２態様の任意の実装に係る方法を実行させることができる。
【００６３】
第１１態様によれば、本願はコンピュータプログラム製品を提供する。コンピュータプログラム製品が通信デバイス上で実行されると、通信デバイスに、第１態様または第１態様の任意の実装に係る方法を実行させることができる。
【００６４】
第１２態様によれば、本願はコンピュータプログラム製品を提供する。コンピュータプログラム製品が通信デバイス上で実行されると、通信デバイスに、第２態様または第２態様の任意の実装に係る方法を実行させることができる。
【図面の簡単な説明】
【００６５】
【図１】ＴＣＰの確認パケットメカニズムの概略図である。
【００６６】
【図２】ＴＣＰのパケット再伝送メカニズムの概略図である。
【００６７】
【図３】本願のある実施形態に係る確認パケット伝送方法の概略フローチャートである。
【００６８】
【図４】ＴＣＰの確認パケット内のオプションフィールドの位置の概略図である。
【００６９】
【図５】データ伝送プロセスで多数のパケットが失われた場合の概略図である。
【００７０】
【図６】本願のある実施形態に係る方法および別の方法をそれぞれ使用する２つの例を示す。
【００７１】
【図７】本願のある実施形態に係る通信デバイスの概略構造図である。
【００７２】
【図８】本願の別の実施形態に係る通信デバイスの概略構造図である。
【００７３】
【図９】本願の別の実施形態に係る通信デバイスの概略構造図である。
【００７４】
【図１０】本願の別の実施形態に係る通信デバイスの概略構造図である。
【発明を実施するための形態】
【００７５】
以下では、添付の図面を参照しながら本願の技術的解決策について説明する。
【００７６】
本願は、信頼できるトランスポートプロトコルが適用される様々なシナリオ、例えば、ＴＣＰが適用される様々なシナリオに適用され得る。本願は、このシナリオにおいて、一方の端のデバイスが、もう一方の端のデバイスに、再伝送する必要があるパケットを示す必要があり、かつ、もう一方の端のデバイスが、ある方式で解析を実行し、その端のデバイスの指示に従ってパケットを再伝送する限り、別のシナリオ、例えば、確認メカニズムが追加されるＵＤＰの様々なシナリオにも適用され得る。
【００７７】
本願では、通信デバイスのタイプが具体的に限定されない。例えば、通信デバイスは、信頼できるトランスポートプロトコルを使用する通信デバイスであってよい。信頼できるトランスポートプロトコルを使用する通信デバイスは、コンピュータ、携帯電話、またはタブレットコンピュータなどであってよい。
【００７８】
本願の実施形態における解決策を理解し易くするために、以下ではまず、本願に関連する概念および関連技術について説明する。
【００７９】
確認パケット（ａｃｋｎｏｗｌｅｄｇｅ、ＡＣＫ）：確認パケットについては、ＴＣＰの確認パケットメカニズムを例として使用することにより説明する。図１は、ＴＣＰの確認パケットメカニズムの概略図である。図１に示すように、データがホストＡからホストＢに送信されると、ホストＢはホストＡに確認応答を返す。例えば、図１では、ホストＡは、シーケンス番号１〜１０００のデータパケットをホストＢに送信する。ホストＢは、シーケンス番号１〜１０００のデータパケットを正常に受信した後、確認シーケンス番号１００１を含む確認応答、すなわち、予想される次のデータパケットのシーケンス番号が１００１であることを示す確認パケットをホストＡに送信する。ホストＡは、確認応答を解析した後、シーケンス番号１００１〜２０００のデータパケットをホストＢに送信する。このケースは以下のプロセスに適用される。ホストＢにより送信される確認パケットをホストＡが妥当な時間内に受信しない場合は、ホストＡは、データパケットが失われたものと見なし、データパケット再伝送メカニズムをトリガする。
【００８０】
パケット再伝送：パケット再伝送については、ＴＣＰのパケット再伝送メカニズムを例として使用することにより説明する。図２は、ＴＣＰのパケット再伝送メカニズムの概略図である。図２に示すように、ホストＡが確認シーケンス番号１００の確認パケットを継続的に３つ受信すると、ホストＡは、シーケンス番号１００のデータパケットが伝送プロセスで失われたものと判断し、失われたパケットの再伝送を実行する。
【００８１】
ただし、ホストＡの場合は、シーケンス番号１００のデータパケットのみを再伝送するか、シーケンス番号１００のデータパケットの後に送信されるシーケンス番号１２０、１３５、および１４１のデータパケットを再伝送するかを決定するという問題がある。
【００８２】
シーケンス番号１００のデータパケットのみを再伝送する場合は、シーケンス番号１２０、１３５、および１４１のデータパケットが正常に伝送されると、再伝送効率を高めることができる。ただし、シーケンス番号１２０、１３５、および１４１のデータパケットも失われた場合は、ホストＡは、シーケンス番号１２０、１３５、および１４１のデータパケットの各々を妥当な時間だけ次々と待ち受けてから、パケット再伝送を実行する必要があり、これには大いなる時間および帯域幅が浪費される。
【００８３】
シーケンス番号１００のデータパケットと、当該データパケットの後に送信されるシーケンス番号１２０、１３５、および１４１のデータパケットとを全て再伝送する場合は、シーケンス番号１２０、１３５、および１４１のデータパケットが全て失われると、再伝送効率を高めることができる。ただし、シーケンス番号１００のデータパケットのみが失われると、トラフィックが大幅に浪費される。
【００８４】
故に、指定時間内に受信されないデータパケットのみを再伝送するか、指定時間内に受信されないデータパケットと、このデータパケットの後に送信される全てのデータパケットとを再伝送するかに関わらず、伝送リソースが大幅に浪費される場合がある。
【００８５】
本願は、再伝送する必要があるデータパケットを特定するための確認パケット伝送方法を提供することにより、リソースの浪費を減らす。
【００８６】
図３は、本願のある実施形態に係る確認パケット伝送方法の概略フローチャートである。図３に示す方法は、以下の内容の少なくとも一部を含む。
【００８７】
３１０：第２デバイスが第１デバイスにデータを送信する。データはＮ個のデータパケットを含む。
【００８８】
３２０：第１デバイスが第２デバイスに確認パケットを送信する。確認パケットは確認フィールドを含む。確認フィールドは、第１フィールドおよび第２フィールドを含む。第２フィールドは、Ｋ個の位置およびＫ個の長さを含む。Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始位置または終了位置である。Ｋ個の長さのうちｉ番目の長さが、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さである。Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含む。各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含む。本明細書では、ｉ＝１、...、Ｋである。第１フィールドは、Ｋの値を示すために使用される。
【００８９】
本願のこの実施形態では、第１デバイスのタイプおよび第２デバイスのタイプが具体的に限定されない。第１デバイスは、確認メカニズムまたは信頼できるトランスポートプロトコルをサポートする任意のデバイス、例えば、コンピュータ、携帯電話、またはタブレットコンピュータであってよい。
【００９０】
第１デバイスが全てのデータパケットを正常に受信すると、確認パケットに確認フィールドが含まれない場合があることを理解されたい。
【００９１】
上述の技術的解決策では、確認フィールドを確認パケットに追加して、第２デバイスが再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らす。
【００９２】
また、上述の技術的解決策では、確認フィールドにおいて、データパケットグループを示すために開始位置または終了位置および長さが使用され、長さは、第１デバイスで受信された／失われたデータパケットの各グループに含まれるデータ量に伴って変化し、その結果、第１デバイスは、各データパケットグループの長さに基づいて、データパケットグループを示すために占有されるバイト数を動的に調整することができる。このように、確認パケットが比較的小さな空間を占有することにより、ブロードバンドの使用が改善される。
【００９３】
以下では、３１０および３２０について別個に説明する。
【００９４】
３１０では、第２デバイスが第１デバイスにデータを送信する。データはＮ個のデータパケットを含む。
【００９５】
第１デバイスはＮ個のデータパケットを受信する。第１デバイスは、Ｎ個のデータパケットを全て正常に受信してもよいし、Ｎ個のデータパケットのうちの幾つかのみを正常に受信してもよいことを理解されたい。
【００９６】
各データパケットは、複数バイトのデータで構成され得る。
【００９７】
３２０では、第１デバイスが第２デバイスに確認パケットを送信する。確認パケットは確認フィールドを含む。確認フィールドは、第１フィールドおよび第２フィールドを含む。第２フィールドは、Ｋ個のシーケンス番号およびＫ個の長さを含む。Ｋ個のシーケンス番号のうちｉ番目のシーケンス番号が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始位置または終了位置である。Ｋ個の長さのうちｉ番目の長さは、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さである。Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含む。各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含む。本明細書では、ｉ＝１、...、Ｋである。第１フィールドは、Ｋの値を示すために使用される。
【００９８】
第２デバイスは、第１デバイスにより送信される確認パケットを受信および解析してから、確認パケット内の内容に基づいてデータパケットを再伝送する。
【００９９】
第１デバイスは、確認パケットを使用することにより、第２デバイスが再伝送する必要があるデータパケットを示す。
【０１００】
再伝送する必要があるデータパケットには、以下の２つのケースがあってよい。
【０１０１】
ケース１：
単一のデータパケット、例えば、番号４のデータパケット
【０１０２】
ケース２：
複数の連続するデータパケット、例えば、番号４から番号７のデータパケット
【０１０３】
具体的には、第１デバイスは、確認パケット内の確認フィールドを使用することにより、第２デバイスが再伝送する必要があるデータパケットを示す。
【０１０４】
オプションとして、確認フィールドは、信頼できるトランスポートプロトコルパケットの予約済みフィールドに配置され得る。
【０１０５】
例えば、ＴＣＰの場合は、確認フィールドは、図４に示すように、ＴＣＰ確認パケットのオプションフィールドに配置され得る。
【０１０６】
オプションとして、確認フィールドは、信頼できるトランスポートプロトコルパケットに新たに追加されるフィールドであってよい。
【０１０７】
より具体的には、第１デバイスは、確認フィールド内の第２フィールドを使用することにより、第２デバイスが再伝送する必要があるデータパケットを示す。
【０１０８】
本願のこの実施形態では、Ｋ個のデータパケットグループのＫ個の開始位置またはＫ個の終了位置と、Ｋ個の長さとが、Ｋ個のデータパケットグループを示すために使用される。Ｋ個のデータパケットグループは、正常に受信されるデータパケットであってもよいし、正常に受信されないデータパケットであってもよい。
【０１０９】
オプションとして、開始位置は、データパケットグループ内の開始データパケットのシーケンス番号を使用することにより示されてよく、終了位置は、データパケットグループ内の終了データパケットのシーケンス番号を使用することにより示されてよく、長さは、開始データパケットまたは終了データパケットに対するシーケンス番号のオフセットであってよい（この場合、データパケットには、番号４のデータパケット、番号５のデータパケット、および番号６のデータパケットなど、連続番号が付されてよい）。すなわち、データパケットグループは、データパケットグループ内の開始データパケットのシーケンス番号または終了データパケットのシーケンス番号と、開始データパケットまたは終了データパケットに対するシーケンス番号のオフセットとを使用することにより示される。例えば、データパケットグループが番号４から番号９のデータパケットを含む場合は、データパケットグループは、（４、５）または（９、５）として表されてよく、データパケットグループが番号４のデータパケットを含む場合は、データパケットグループは（４、０）として表されてよい。
【０１１０】
オプションとして、開始位置は、データパケットグループ内の開始バイトのシーケンス番号を使用することにより示されてよく、終了位置は、データパケットグループ内の終了バイトのシーケンス番号を使用することにより示されてよく、長さは、開始バイトまたは終了バイトに対するシーケンス番号のオフセットであってよい。すなわち、データパケットグループは、データパケットグループ内の開始バイトのシーケンス番号または終了バイトのシーケンス番号と、開始バイトまたは終了バイトに対するシーケンス番号のオフセットとを使用することにより示される。例えば、データパケットグループが２つの連続するデータパケット、すなわち、番号１０１のデータパケットおよび番号１５１のデータパケットを含み、かつ、これら２つのデータパケットの各々のデータ長が５０である場合は、データパケットグループは、（１０１、９９）または（２００、９９）として表されてよく、データパケットグループが番号１０１のデータパケットを含み、かつ、番号１０１のデータパケットのデータ長が５０である場合は、データパケットグループは、（１０１、４９）または（１５０、４９）として表されてよい。
【０１１１】
上述の技術的解決策では、位置は、データパケットのシーケンス番号またはバイトのシーケンス番号を使用することにより示され、これは容易に実装される。開始位置または終了位置を基準に、オフセットを使用してデータパケットグループを示す。このように、シーケンス番号が継続的に蓄積されるために生じる、データ長の値が比較的大きいという問題が回避され得る。故に、確認パケットが比較的小さな空間を占有することにより、ブロードバンドの使用が改善される。
【０１１２】
オプションとして、開始位置は、データパケットグループ内の開始データパケットのシーケンス番号を使用することにより示されてよく、終了位置は、データパケットグループ内の終了データパケットのシーケンス番号を使用することにより示されてよく、長さは、データパケットグループ内のデータパケット数であってよい。すなわち、データパケットグループは、データパケットグループ内の開始データパケットのシーケンス番号または終了データパケットのシーケンス番号と、データパケットグループ内のデータパケット数とを使用することにより示される。例えば、データパケットグループが番号４から番号９のデータパケットを含む場合は、データパケットグループは、（４、６）または（９、６）として表されてよく、データパケットグループが番号４のデータパケットを含む場合は、データパケットグループは（４、１）として表されてよい。
【０１１３】
オプションとして、開始位置は、データパケットグループ内の開始バイトのシーケンス番号を使用することにより示されてよく、終了位置は、データパケットグループ内の終了バイトのシーケンス番号を使用することにより示されてよく、長さは、データパケットグループ内のバイト数であってよい。すなわち、データパケットグループは、データパケットグループ内の開始データパケットのシーケンス番号または終了データパケットのシーケンス番号と、データパケットグループ内のバイト数とを使用することにより示される。例えば、データパケットグループが２つの連続するデータパケット、すなわち、番号１０１のデータパケットおよび番号１５１のデータパケットを含み、かつ、これら２つのデータパケットの各々のデータ長が５０である場合は、データパケットグループは、（１０１、１００）または（２００、１００）として表されてよく、データパケットグループが番号１０１のデータパケットを含み、かつ、番号１０１のデータパケットのデータ長が５０である場合は、データパケットグループは、（１０１、５０）または（１５０、５０）として表されてよい。
【０１１４】
上述の技術的解決策では、位置は、データパケットのシーケンス番号またはバイトのシーケンス番号を使用することにより示され、これは容易に実装される。開始位置または終了位置を基準に、データパケット数またはバイト数を使用してデータパケットグループを示す。このように、シーケンス番号が継続的に蓄積されるために生じる、データ長の値が比較的大きいという問題が回避され得る。故に、確認パケットが比較的小さな空間を占有することにより、ブロードバンドの使用が改善される。
【０１１５】
上述の技術的解決策では、データパケットに連続番号が付されると、第２デバイスは、各データパケットにおける対応するバイトのシーケンス番号と、シーケンス番号のオフセットとを記憶することで、データパケットのシーケンス番号に基づいて、対応するバイトのシーケンス番号を見つけることができる。
【０１１６】
代替的に、本願のこの実施形態における開始位置は、開始データセグメントのシーケンス番号、開始データパケットのシーケンス番号、開始ビット（ｂｉｔ）のシーケンス番号、データパケットグループの伝送に使用されるデータフレーム内の開始フレームの番号、データパケットグループの伝送に使用されるデータフレーム内の開始サブフレームの番号、または、第２デバイスにより第１デバイスに送信されるデータのグループ化で取得される任意の考えられるサイズのグループ内の開始グループのグループ番号であってよい。
【０１１７】
代替的に、本願のこの実施形態における終了位置は、終了データセグメントのシーケンス番号、終了データパケットのシーケンス番号、終了ビット（ｂｉｔ）のシーケンス番号、データパケットグループの伝送に使用されるデータフレーム内の終了フレームの番号、データパケットグループの伝送に使用されるデータフレーム内の終了サブフレームの番号、または、第２デバイスにより第１デバイスに送信されるデータのグループ化で取得される任意の考えられるサイズのグループ内の終了グループのグループ番号であってよい。
【０１１８】
代替的に、本願のこの実施形態における長さは、開始データセグメントまたは終了データセグメントに対するシーケンス番号のオフセット、開始データパケットまたは終了データパケットに対するシーケンス番号のオフセット、開始ビット（ｂｉｔ）または終了ビット（ｂｉｔ）に対するシーケンス番号のオフセット、開始フレームまたは終了フレームの番号に対するオフセット、開始サブフレームまたは終了サブフレームに対する番号のオフセット、または、開始グループまたは終了グループに対するグループ番号のオフセットであってもよいし、データセグメント数、データパケット数、ビット（ｂｉｔ）数、フレーム数、サブフレーム数、またはグループ数などであってもよい。
【０１１９】
別の考えられる実装では、開始バイトのシーケンス番号および終了バイトのシーケンス番号を使用して、単一のデータパケットまたは連続するデータパケットのグループを示すことができる。
【０１２０】
例えば、番号１０１のデータパケットのデータ長が５０である場合は、番号１０１のデータパケットは、開始バイトのシーケンス番号および終了バイトのシーケンス番号を使用することにより、（１０１、１５０）として表され、２つの連続するデータパケットがそれぞれ番号１０１のデータパケットおよび番号１５１のデータパケットである場合は、番号１０１のデータパケットのデータ長が５０であり、番号１０２のデータパケットのデータ長も５０であり、これら２つのデータパケットは、開始バイトのシーケンス番号および終了バイトのシーケンス番号を使用することにより、（１０１、２００）として表される。
【０１２１】
開始バイトのシーケンス番号および終了バイトのシーケンス番号は、単一のデータパケットまたは連続するデータパケットのグループを示すために使用され得る。本願では、開始位置または終了位置と、長さとは、単一のデータパケットまたは連続するデータパケットのグループを示すために使用される。上記の２つの方式を比較すると、後者の方式では占有され得る空間が比較的小さい（値が比較的小さいので、表示に使用され得るバイト数が比較的少ない）ことにより、リソースが節約される。
【０１２２】
また、本願では、開始位置または終了位置と、長さとは、単一のデータパケットまたは連続するデータパケットのグループを示すために使用される。また、各データパケットグループのデータ長を、データパケットグループを示すために必要とされるバイト数を示すように更に動的に調整することにより、確認パケットにより占有される空間を更に減らすことができる。
【０１２３】
オプションとして、第２フィールドは、Ｋ個の位置およびＫ個の長さを含む。１つの位置および１つの長さは、上述の単一のデータパケットまたは連続するデータパケットのグループを示すことができる。第２フィールドは、Ｋ個の単一のデータパケット、または、Ｋ個の、連続するデータパケットのグループ、または、総数Ｋ個の、単一のデータパケットおよび複数の連続するデータパケットを示し得ることが分かる。本明細書では、Ｋは１より大きいか等しい整数である。
【０１２４】
本明細書では、Ｋ個の単一のデータパケット、Ｋ個の、連続するデータパケットのグループ、または、総数Ｋ個の、単一のデータパケットおよび複数の連続するデータパケットは、Ｋ個のデータパケットグループに対応する。
【０１２５】
オプションとして、ｉ番目のデータパケットグループのデータ長に基づいて、第２バイトのｉ番目の長さが決定される。
【０１２６】
例えば、ｉ番目のデータパケットグループのデータ長が２５６より短いか等しい場合は、ｉ番目のデータパケットグループのデータ長が１バイトを占有し、ｉ番目の長さが１である、ｉ番目のデータパケットグループのデータ長が２５６より長く、６５５３５より短いか等しい場合は、ｉ番目のデータパケットグループのデータ長が２バイトを占有し、ｉ番目の長さが２である、ｉ番目のデータパケットグループのデータ長が６５５３５より長い場合は、ｉ番目のデータパケットグループのデータ長が３バイトを占有し、ｉ番目の長さが３である、などである。
【０１２７】
上述の技術的解決策では、本願のこの実施形態において、データ長を示すために占有される空間を、再伝送する必要があるデータパケットのデータ長に基づいて動的に調整することにより、空間浪費を回避することができる。
【０１２８】
第１デバイスは、確認フィールド内の第１フィールドを使用することによりＫの値を示す。本明細書では、Ｋの値は、第２フィールドを使用することにより示され得る、単一のデータパケットおよび複数の連続するデータパケットの数であり、Ｋは１より大きいか等しい整数である。
【０１２９】
オプションとして、第１フィールドはＫの値を含む。
【０１３０】
すなわち、第１フィールドは、Ｋの値を保持して、第２デバイスにＫの値を示す。
【０１３１】
例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有されるバイト数と、１つの長さを示すために占有されるバイト数とについて合意した場合は、確認パケットは、Ｋの値のみを保持して、確認フィールドの内容を正確に解析するように第２デバイスに命令する必要がある。具体的には、例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有される４バイトと、１つの長さを示すために占有される２バイトとについて合意した場合は、確認フィールドに保持されるＫの値が２である。
【０１３２】
上述の技術的解決策では、第１フィールドはＫの値を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに直接命令するために使用されてよく、その結果、第２デバイスは確認パケットを正確に解析する。
【０１３３】
オプションとして、第１フィールドは、Ｋの値および第２バイト数を含む。第２バイト数は、１つの長さを示すために占有されるバイト数である。
【０１３４】
例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有されるバイト数について合意した場合は、確認パケットは、Ｋの値および第２バイト数を保持して、確認フィールドの内容を正確に解析するように第２デバイスに命令することができる。具体的には、例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有される４バイトについて合意した場合は、確認フィールドに保持されるＫの値が２であり、第２バイト数が２である。
【０１３５】
上述の技術的解決策では、第１フィールドはＫの値を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに直接命令するために使用され得る。第２バイト数は、長さを示すために占有されるバイト数に伴って変化し、第２バイト数は、１つのデータパケットグループを示すために占有されるバイト数を示すように動的に調整されて、確認パケットを正確に解析するように第２デバイスに命令することができる。
【０１３６】
オプションとして、第１フィールドは、Ｋの値および第２バイト数を含む。第２バイト数は、位置および長さの両方を示すために占有されるバイト数である。
【０１３７】
例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有されるバイト数について合意した場合は、確認パケットは、Ｋの値および第２バイト数を保持して、確認フィールドの内容を正確に解析するように第２デバイスに命令することができる。具体的には、例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有される４バイトと、１つの長さを示すために占有される２バイトとについて合意した場合は、確認フィールドに保持されるＫの値が６である。
【０１３８】
上述の技術的解決策では、第１フィールドはＫの値を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに直接命令するために使用され得る。第２バイト数は、長さを示すために占有されるバイト数に伴って変化し、第２バイト数は、１つのデータパケットグループを示すために占有されるバイト数を示すように動的に調整されて、確認パケットを正確に解析するように第２デバイスに命令することができる。
【０１３９】
オプションとして、第１フィールドは第１バイト数を含む。第１バイト数は、確認フィールドにより占有されるバイト数を示す。
【０１４０】
例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有されるバイト数と、長さを示すために占有されるバイト数とについて合意した場合は、確認パケットは、第１バイト数のみを保持する必要があり、第２デバイスは、単純な計算だけで確認フィールドの内容を正確に解析することができる。具体的には、例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有される４バイトと、１つの長さを示すために占有される２バイトとについて合意した場合は、確認フィールドに保持される第１バイト数が８である。
【０１４１】
上述の技術的解決策では、第１フィールドは第１バイト数を保持し、第１フィールドは、確認フィールドの内容を読み取るように第２デバイスに間接的に命令するために使用されてよく、その結果、第２デバイスは確認パケットを正確に解析する。
【０１４２】
オプションとして、第１フィールドは、第１バイト数および第２バイト数を含む。第２バイト数は、１つの長さを示すために占有されるバイト数である。
【０１４３】
例えば、第１デバイスおよび第２デバイスが、位置を示すために占有されるバイト数について合意した場合は、確認パケットは、第１バイト数および第２バイト数を保持し、第２デバイスは、単純な計算だけで確認フィールドの内容を正確に解析することができる。具体的には、例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有される４バイトについて合意した場合は、確認フィールドに保持される第１バイト数が８であり、第２バイト数が２である。
【０１４４】
上述の技術的解決策では、第２バイト数は、長さを示すために占有されるバイト数に伴って変化し、データパケットグループを示すために占有されるバイト数が動的に調整されて、確認パケットを正確に解析するように第２デバイスに命令することができる。
【０１４５】
また、上述の技術的解決策では、Ｋの値が、再伝送する必要があるデータパケットのデータ長に基づいて更に動的に調整されることにより、表現能力を高めることができる。
【０１４６】
オプションとして、第１フィールドは、第１バイト数および第２バイト数を含む。第２バイト数は、１つの位置および１つの長さの両方を示すために占有されるバイト数である。
【０１４７】
例えば、第１デバイスおよび第２デバイスが、位置を示すために占有されるバイト数について合意した場合は、確認パケットは、第１バイト数および第２バイト数を保持し、第２デバイスは、単純な計算だけで確認フィールドの内容を正確に解析することができる。具体的には、例えば、第１デバイスおよび第２デバイスが、１つの位置を示すために占有される４バイトについて合意した場合は、確認フィールドに保持される第１バイト数が８であり、第２バイト数が６である。
【０１４８】
上述の技術的解決策では、第２バイト数は、長さを示すために占有されるバイト数に伴って変化し、データパケットグループを示すために占有されるバイト数が動的に調整されて、確認パケットを正確に解析するように第２デバイスに命令することができる。
【０１４９】
また、上述の技術的解決策では、Ｋの値が、再伝送する必要があるデータパケットのデータ長に基づいて更に動的に調整されることにより、表現能力を高めることができる。
【０１５０】
上述の技術的解決策では、Ｋ個のデータパケットグループの位置および長さが全て、表現に同じバイト数を使用することを理解されたい。例えば、Ｋ個のデータパケットグループの位置は全て、４バイトを使用することにより表現され、Ｋ個のデータパケットグループの長さは全て、２バイトを使用することにより表現される。
【０１５１】
オプションとして、確認フィールドは、確認フィールドの終了を示す終了識別子を含む。この場合は、第２デバイスが、１つの位置および１つの長さを示すために占有されるバイト数を知っている限り、第２デバイスは、確認フィールドを正確に解析することができる。１つの位置および１つの長さを示すために占有されるバイト数は、予め合意されてもよいし、確認パケットを使用することにより第２デバイスに通知されてもよい。１つの位置および１つの長さを示すために占有されるバイト数について予め合意がある場合は、確認パケットに第１フィールドが含まれていない場合があることを理解されたい。
【０１５２】
本願のこの実施形態では、第２フィールドが構築されると、データパケットグループを表現するために使用される第２フィールド内の空間が同じであることを理解されたい。このように、占有される空間が異なるために第２デバイスが確認フィールドの内容を誤って解析するといったケースが回避され得る。
【０１５３】
オプションとして、Ｋの値は、第２バイト数に基づいて決定され得る。
【０１５４】
例えば、確認フィールドは、ＴＣＰオプションフィールドに配置される。ＴＣＰオプションフィールドは、最大で４０バイトを含む。第２バイト数が６である場合は、Ｋの値は最大で６である。
【０１５５】
上述の技術的解決策では、本願のこの実施形態によれば、Ｋの値が、再伝送する必要があるデータパケットのデータ長に基づいて更に動的に調整されることにより、表現能力を高めることができる。
【０１５６】
オプションとして、データパケットグループの長さを示すために占有されるバイト数は、Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である。
【０１５７】
例えば、Ｋの値が３である場合は、実際には、第１データパケットグループの位置に４バイトが必要であり、第１データパケットグループの長さに１バイトが必要であり、合計５バイトが占有されることを示し、実際には、第２データパケットグループの位置に４バイトが必要であり、第２データパケットグループの長さに２バイトが必要であり、合計６バイトが占有されることを示し、実際には、第３データパケットグループの位置に４バイトが必要であり、第３データパケットグループの長さに３バイトが必要であり、合計７バイトが占有されることを示す。第１グループから第３グループの長さは全て、３バイトを使用することにより表現される。故に、第２バイト数は７である。また、確認パケットが構築されると、第１データパケットグループから第３データパケットグループの位置および長さは全て、７バイトを使用することにより示される。
【０１５８】
上述の技術的解決策では、データパケットグループの長さを示すために占有されるバイト数は、Ｋ個の長さのうち最大の長さを示すために占有されるバイト数である。このように、任意のデータパケットグループを正確に示すことが保証される一方で、確認パケットにより占有される空間を更に減らすことができる。
【０１５９】
オプションとして、確認フィールドは第３フィールドを更に含む。第３フィールドは、確認フィールドのタイプを示すために使用される。
【０１６０】
例えば、第３フィールドは、確認フィールドのタイプ番号を保持する。
【０１６１】
上述の技術的解決策では、第３フィールドは、確認フィールドのタイプを示すために使用され、その結果、第２デバイスは、確認フィールドを解析するための方法を決定してから、確認フィールドを正確に解析することができる。
【０１６２】
オプションとして、確認パケットは確認シーケンス番号を更に含む。確認シーケンス番号は、第２デバイスの、次に予想されるデータパケットのシーケンス番号、または、第１デバイスにより正常に受信されたデータパケットの最大シーケンス番号を示すために使用される。
【０１６３】
オプションとして、第１デバイスは確認パケットを生成する。第１デバイスは、以下の２つの方法を使用することにより確認パケットを生成する。
【０１６４】
方法１：
【０１６５】
第１デバイスは、正常に受信されるＭ個のデータパケットに基づいて確認パケットを生成する。本明細書では、ＭはＮより小さい。
【０１６６】
この場合は、Ｋ個のデータパケットグループは、正常に受信されるデータパケットであり、確認シーケンス番号が、第２デバイスの、次に予想されるデータパケットのシーケンス番号である。
【０１６７】
オプションとして、第１デバイスは、正常に受信されないデータを決定することができず、第２デバイスは、正常に送信されないデータを決定する。
【０１６８】
例えば、第１デバイスは、確認パケットを使用して、第１デバイスにより正常に受信されたデータを第２デバイスに示し、第２デバイスは、正常に受信されたデータに基づいて、再伝送する必要があるデータ、すなわち、第２デバイスにより正常に伝送されないデータ、または、第１デバイスにより正常に受信されないデータを決定する。
【０１６９】
上述の技術的解決策では、正常に受信されたデータパケットが第２デバイスに示され、これによって、再伝送する必要があるデータパケットが第２デバイスに間接的に示される。このように、再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らすことができる。
【０１７０】
方法２：
【０１７１】
第１デバイスは、正常に受信されるＭ個のデータパケットに基づいて、正常に受信されないＮ−Ｍ個のデータパケットを決定してから、正常に受信されないＮ−Ｍ個のデータパケットのうち複数のデータパケットのＫ個の位置およびＫ個の長さに基づいて、確認パケットを生成する。
【０１７２】
この場合は、Ｋ個のデータパケットグループは、正常に受信されないデータパケットであり、確認シーケンス番号が、第１デバイスにより正常に受信されたデータパケットの最大シーケンス番号である。
【０１７３】
上述の技術的解決策では、正常に受信されないデータパケットが第２デバイスに示され、これによって、再伝送する必要があるデータパケットが第２デバイスに直接示される。このように、再伝送する必要があるデータパケットを特定することにより、リソースの浪費を減らすことができる。
【０１７４】
以下では、図５を参照しながら、これら２つの方法について詳細に説明する。図５に示すように、第１デバイスは、番号１から番号３のデータパケットを正常に受信し、番号４および番号５のデータパケットが失われ、次に、第１デバイスは、番号６および番号７のデータパケットを正常に受信し、番号８および番号９のデータパケットが失われ、最後に、第１デバイスは、番号１０から番号１２のデータパケットを正常に受信する。
【０１７５】
方法１では、第１デバイスにより第２デバイスに応答される確認パケットの主要内容は、ＡＣＫ４＋６−７＋１０−１２である。本明細書では、「ＡＣＫ４」は、確認シーケンス番号が４であり、かつ、第２デバイスの、次に予想されるデータパケットのシーケンス番号が４であることを示し、「６−７＋１０−１２」は、第１デバイスが番号４のデータパケットは正常に受信しなかったものの、第１デバイスが次の番号６、番号７、番号１０、番号１１、および番号１２のデータパケットを正常に受信したことを示す、確認フィールド内の第２フィールドであり、「６−７」および「１０−１２」は、それぞれデータパケットグループである。第１デバイスが、確認シーケンス番号と確認フィールドの内容とに基づいて、失われたパケットの再伝送を実行する必要があると判断する（例えば、繰り返し３つの確認パケットを受信する）と、送信端は、正常に受信されていると見なされた番号６および番号７のデータパケットと、番号１０から番号１２のデータパケットとの再伝送を中止し、失われる可能性がある番号４および番号５のデータパケットと、番号８および番号９のデータパケットとを比較的正確に順次再伝送する。
【０１７６】
方法２では、第１デバイスにより第２デバイスに応答される確認パケットの主要内容は、ＡＣＫ１２＋４−５＋８−９である。本明細書では、「ＡＣＫ１２」は、第１デバイスにより正常に受信されたデータパケットの最大シーケンス番号が１２であることを示し、「４−５＋８−９」は、正常に受信されたデータパケットの最大シーケンス番号が１２であるものの、番号１から番号１２のデータパケット全てのうち、番号４および番号５のデータパケットと、番号８および番号９のデータパケットとが正常に受信されないことを示す。第２デバイスが確認パケットを受信すると、確認パケットに示されるデータパケットのシーケンス番号に基づいて、失われたパケットの再伝送が実行される。
【０１７７】
以下では、特定の例を参照しながら、本願の実施形態における方法についてより詳細に説明する。
【０１７８】
以下の例は、例に示す特定の値または特定のシナリオに本願の実施形態を限定するのではなく、当業者が本願の実施形態を理解する手助けになることを意図しているに過ぎないことを理解されたい。当業者であれば明らかに、上記の例に従って様々な同等の修正または変更を行うことができ、係る修正または変更も本願の実施形態の範囲内にある。
【０１７９】
本願における確認パケットの確認フィールドを構築するための方法は、タイプ（１バイト）＋連続するデータシーケンス範囲の総数（４ビット）＋それぞれの連続するデータシーケンス範囲により占有されるバイト数（４ビット）＋開始バイトのシーケンス番号（４バイト）＋データ長（１バイト：２５６、または２バイト：６５５３５、...）である。
【０１８０】
本明細書では、タイプは、上述の第３フィールドに対応してよく、連続するデータシーケンス範囲の総数は、上述のＫの値に対応してよく、それぞれの連続するデータシーケンス範囲により占有されるバイト数は、上述の第２バイト数に対応してよく、開始バイトのシーケンス番号は、上述の開始バイトのシーケンス番号に対応してよく、データ長は、上述の長さに対応してよい。
【０１８１】
データ長部分により占有されるバイト数は、現在の最大の連続するデータシーケンス範囲に伴って変化し、バイト数は最大で４バイトであってよい。「１バイト：２５６」は、連続するデータシーケンス範囲の長さが２５６より短い場合に、データ長により占有されるバイト数が１バイトであることを意味する。同様に、「２バイト：６５５３５」は、連続するデータシーケンス範囲の長さが２５６より長く、６５５３５より短いか等しい場合に、データ長により占有されるバイト数が２バイトであることを示す。同じケースが、より大きな「連続するデータシーケンス範囲」に適用される。
【０１８２】
上述の技術的解決策では、連続する受信された／失われたデータシーケンス範囲の長さ情報に基づいて、確認パケット内の関連部分の内容および占有される長さが動的に調整される。連続するデータシーケンス範囲が小さい場合は、確認パケットにより占有されるバイト数が減少する。連続するデータシーケンス範囲が大きい場合は、より多くのバイトを有する確認パケットが表示に使用される。動的に変化する連続する受信された／失われたデータシーケンス範囲を表現するために、それぞれの連続するデータシーケンス範囲により占有されるバイト数と、連続するデータシーケンス範囲の総数とが、本願の確認パケットにおいて更に追加される。
【０１８３】
上述の構築方法では、確認フィールドにより占有される全長が（２＋Ｌ＊Ｎ）に最適化されてよく、５≦Ｌ≦８である。本明細書では、Ｎは、連続するデータシーケンス範囲の総数であり、Ｌの大きさは、最大の連続するデータシーケンス範囲のデータ長によって決まる。すなわち、連続するデータ範囲のデータ長が長いほど、必要とされるデータ長が長くなり、確認フィールドにより占有される空間が大きくなることを示す。
【０１８４】
本願のこの実施形態における確認フィールドを構築するための方法では、連続するデータシーケンス範囲の総数と、それぞれの連続するデータシーケンス範囲により占有されるバイト数とは、４ビット空間を使用することにより別個に示される。連続するデータシーケンス範囲の総数については、確認フィールドが配置されるＴＣＰオプションの最大長が４０バイトであり、そこから２バイトの制御フィールド（タイプフィールドが１バイトであり、連続するデータシーケンス範囲の総数と、それぞれの連続するデータシーケンス範囲により占有されるバイトとが、合計１バイトを占有する）が差し引かれ、３８バイトが残る。最小の連続するデータシーケンス範囲により占有されるバイト数の例（例えば、開始バイトのシーケンス番号４＋データ長１＝５）では、最大の連続するデータシーケンス範囲の総数が３８／５＝７である。故に、連続するデータシーケンス範囲の総数を表現するために使用するのは、４ビット空間で十分である。それぞれの連続するデータシーケンス範囲により占有されるバイト数については、連続するデータシーケンス範囲により占有されるバイト数の最大値が８バイトに制限される。故に、それぞれの連続するデータシーケンス範囲により占有されるバイト数を表現するには、４ビット空間で十分である。
【０１８５】
本願のこの実施形態では、それぞれの連続するデータシーケンス範囲が構築されると、最大の連続するデータシーケンス範囲を表現するために必要とされる空間が使用される。このように、連続するデータシーケンス範囲の大きさの不一致に起因して起こる確認パケットの内容の誤った解析が回避される。この方法の副作用は空間浪費の可能性である。
【０１８６】
確認フィールドを構築するための別の方法は、タイプ（１バイト）＋長さ（１バイト）＋開始バイトのシーケンス番号（４バイト）＋終了バイトのシーケンス番号（４バイト）である。
【０１８７】
本明細書では、タイプは確認パケットのタイプであり、開始バイトのシーケンス番号は、連続するデータシーケンス範囲の開始バイトのシーケンス番号であり、終了バイトのシーケンス番号は、連続するデータシーケンス範囲の終了バイトのシーケンス番号であり、開始バイトのシーケンス番号および終了バイトのシーケンス番号のグループが、連続するデータシーケンス範囲に対応する。
【０１８８】
上述の構築方法では、確認フィールドにより占有される全長が２＋８＊Ｎであり、Ｎは、連続するデータシーケンス範囲の総数である。この構築方法では、８バイトを固定的に使用して、連続するデータシーケンス範囲を示す。
【０１８９】
確認パケットを構築するための上述の２つの方法の後にそれぞれ取得される結果は、確認シーケンス番号が７７７８８８１であり、かつ、連続するデータシーケンス範囲が７７８３２６１〜７８４０２０１である例で使用され、以下の通りである。
【０１９０】
本願では、結果は、ＡＣＫ：７７７８８８１＋タイプ：＊＋連続するデータシーケンス範囲の総数：１＋それぞれの連続するデータシーケンス範囲により占有されるバイト数：６＋開始バイトのシーケンス番号：７７８３２６１＋データ長：５６９４０であり、＊は、確認フィールドを構築するための新たな方法に対して割り当てられる新たなタイプ番号を表す。
【０１９１】
他の方法では、結果は、ＡＣＫ：７７７８８８１＋タイプ：５＋長さ：１０＋開始バイトのシーケンス番号：７７８３２６１＋終了バイトのシーケンス番号：７８４０２０１である。
【０１９２】
連続するデータシーケンス範囲が比較的小さい場合は、表現効率が非常に低いため、他の方法を使用する際に大きな空間浪費があることが分かる。確認パケット内の確認フィールドの内容が冗長的であるため、追加で受信され（失われ）、かつ、確認パケットにおいて表現され得る、連続するデータシーケンス範囲の総数は制限され、確認パケットにおける他の機能オプションの使用も制限される。ＴＣＰオプションフィールドの例では、ＴＣＰオプションフィールドの長さが４０バイトに制限される。この方法では、最大で４つの連続するデータシーケンス範囲（（４０−２）／８＝４．７５）が表現され得る。また、確認フィールドに加えて、他の３３個の機能フィールドもＴＣＰオプションフィールドを使用するが、確認フィールドの内容が冗長的であるため、これらの機能の使用も制限される。
【０１９３】
確認フィールドに１０バイトが必要である他の方法と比較して、本願のこの実施形態における確認フィールドを構築するための方法では、確認フィールドに必要なのは８バイトのみである。
【０１９４】
より具体的には、図６は、本願のある実施形態に係る方法および別の方法をそれぞれ使用する２つの例を示す。
【０１９５】
第１例では、連続するデータシーケンス範囲のデータ長が６５５３５を超える。故に、データ長フィールドを表現するために３バイトの空間が必要である。第２例では、２つの連続するデータシーケンス範囲があり、それぞれの連続するデータシーケンス範囲を表現するために６バイトが必要である。本願のこの実施形態では、確認パケット内の確認フィールドにより占有される空間を、確認フィールドを構築するための方法で効果的に減らすことができることが分かる。
【０１９６】
表１は、本願の方法で構築される確認フィールド内のデータ長（ｄａｔａ  ｌｅｎｇｔｈ、ＤＬ）部分が、連続するデータシーケンス範囲のデータ長が増加するにつれて増大する場合に、本願の方法で構築される確認フィールドを別の方法で構築される確認フィールドと比較したときの、空間節約および表現能力の側面の改善を要約したものである。１列目では、データ長により占有されるバイト数を標準として使用して、複数の異なるデータ長でサポートされ得る単一の連続するデータシーケンス範囲の長さの最大値を分析する。１列目は、サポートされる連続するデータシーケンス範囲の総数を示す。本願の方法で構築される確認フィールドは、最大で７つの連続するデータシーケンス範囲をサポートできるが、別の方法で構築される確認フィールドは、最大で４つの連続するデータシーケンス範囲をサポートできることが分かる。最後の列は、本願の方法で構築される確認フィールドを別の方法で構築される確認フィールドと比較したときの、データ長が異なる場合の平均的な空間節約率を示す。
【０１９７】
本願の方法で構築される確認フィールドを使用することにより、確認パケット情報により占有される空間を効果的に削減でき、確認パケットの空間使用を改善できるので、アップリンク帯域幅のオーバヘッドが削減されることが分かる。
表１：本願の確認フィールドと別の方法の確認フィールドとの効果比較
【表１】
2021532636.tif 000003
【０１９８】
図７は、本願のある実施形態に係る通信デバイスの構造ブロック図である。図７の通信デバイス７００は、上記の第１デバイスに対応してよい。図７に示すように、通信装置７００は、受信モジュール７０１および送信モジュール７０２を含む。
【０１９９】
受信モジュール７０１は、第２デバイスにより送信されるデータを受信するように構成され、データはＮ個のデータパケットを含む。
【０２００】
送信モジュール７０２は、第２デバイスに確認パケットを送信するように構成され、確認パケットは確認フィールドを含み、確認フィールドは、第１フィールドおよび第２フィールドを含み、第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始バイトの位置または終了バイトの位置であり、Ｋ個の長さのうちｉ番目の長さが、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さであり、Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、第１フィールドは、Ｋの値を示すために使用される。
【０２０１】
受信モジュール７０１は受信機により実装され得る。送信モジュール７０２は伝送機により実装され得る。受信モジュール７０１および送信モジュール７０２の具体的な機能および有益な効果については、図３に示す方法を参照されたい。詳細についてはここで改めて説明しない。
【０２０２】
図８は、本願の別の実施形態に係る通信デバイスの構造ブロック図である。図８の通信デバイス８００は、上記の第２デバイスに対応してよい。図８に示すように、通信装置８００は、受信モジュール８０１および送信モジュール８０２を含む。
【０２０３】
送信モジュール８０２は、第１デバイスにデータを送信するように構成され、データはＮ個のデータパケットを含む。
【０２０４】
受信モジュール８０１は、第１デバイスにより送信される確認パケットを受信するように構成され、確認パケットは確認フィールドを含み、確認フィールドは、第１フィールドおよび第２フィールドを含み、第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始バイトの位置または終了バイトの位置であり、Ｋ個の長さのうちｉ番目の長さが、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さであり、Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、第１フィールドは、Ｋの値を示すために使用される。
【０２０５】
受信モジュール８０１は受信機により実装され得る。送信モジュール８０２は伝送機により実装され得る。受信モジュール８０１および送信モジュール８０２の具体的な機能および有益な効果については、図３に示す方法を参照されたい。詳細についてはここで改めて説明しない。
【０２０６】
図９は、本願の別の実施形態に係る通信デバイスの概略構造図である。図９の通信デバイス９００は、上記の第１デバイスに対応してよい。図９に示すように、通信デバイス９００は、送受信機９０１、プロセッサ９０２、およびメモリ９０３を含む。
【０２０７】
図９は、１つのメモリおよび１つのプロセッサのみを示す。実際の通信デバイス製品には、１または複数のプロセッサおよび１または複数のメモリがあってよい。メモリは、記憶媒体または記憶デバイスなどとも呼ばれ得る。メモリは、プロセッサから独立して配置されてもよいし、プロセッサと統合されてもよい。これについては、本願のこの実施形態で限定されない。
【０２０８】
送受信機９０１、プロセッサ９０２、およびメモリ９０３は、内部接続経路を介して互いに通信して、制御信号および／またはデータ信号を伝送する。
【０２０９】
上述した本願の実施形態で開示する方法は、送受信機９０１に適用されてもよいし、送受信機９０１により実装されてもよい。
【０２１０】
具体的には、送受信機９０１は、第２デバイスにより送信されるデータを受信することであって、データはＮ個のデータパケットを含む、受信することと、第２デバイスに確認パケットを送信することであって、確認パケットは確認フィールドを含み、確認フィールドは、第１フィールドおよび第２フィールドを含み、第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始バイトの位置または終了バイトの位置であり、Ｋ個の長さのうちｉ番目の長さが、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さであり、Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、第１フィールドは、Ｋの値を示すために使用される、送信することとを行うように構成される。
【０２１１】
確認パケットは、プロセッサ９０２、または送受信機９０１内の処理モジュールにより生成され得る。
【０２１２】
通信デバイス９００の具体的な動作プロセスおよび有益な効果については、図３に示す実施形態の説明を参照されたい。
【０２１３】
図１０は、本願の別の実施形態に係る通信デバイスの概略構造図である。図１０の通信デバイス１０００は、上記の第２デバイスに対応してよい。図１０に示すように、通信デバイス１０００は、送受信機１００１、プロセッサ１００２、およびメモリ１００３を含んでよい。
【０２１４】
図１０は、１つのメモリおよび１つのプロセッサのみを示す。実際の通信デバイス製品には、１または複数のプロセッサおよび１または複数のメモリがあってよい。メモリは、記憶媒体または記憶デバイスなどとも呼ばれ得る。メモリは、プロセッサから独立して配置されてもよいし、プロセッサと統合されてもよい。これについては、本願のこの実施形態で限定されない。
【０２１５】
送受信機１００１、プロセッサ１００２、およびメモリ１００３は、内部接続経路を介して互いに通信して、制御信号および／またはデータ信号を伝送する。
【０２１６】
上述した本願の実施形態で開示する方法は、送受信機１００１に適用されてもよいし、送受信機１００１により実装されてもよい。具体的には、送受信機１００１は、第１デバイスにデータを送信することであって、データはＮ個のデータパケットを含む、送信することと、第１デバイスにより送信される確認パケットを受信することであって、確認パケットは確認フィールドを含み、確認フィールドは、第１フィールドおよび第２フィールドを含み、第２フィールドは、Ｋ個の位置およびＫ個の長さを含み、Ｋ個の位置のうちｉ番目の位置が、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの開始バイトの位置または終了バイトの位置であり、Ｋ個の長さのうちｉ番目の長さが、Ｋ個のデータパケットグループのうちｉ番目のデータパケットグループの長さであり、Ｋ個のデータパケットグループの各データパケットグループは、１つのデータパケットまたは複数の連続するデータパケットを含み、各データパケットグループは、Ｎ個のデータパケットに属する１つのデータパケットまたは複数の連続するデータパケットを含み、ｉ＝１、...、Ｋであり、第１フィールドは、Ｋの値を示すために使用される、受信することとを行うように構成される。
【０２１７】
確認パケットは、プロセッサ１００２、または送受信機１００１内の処理モジュールにより解析および処理され得る。
【０２１８】
通信デバイス１０００の具体的な動作プロセスおよび有益な効果については、図３に示す実施形態の説明を参照されたい。
【０２１９】
本願の実施形態に記載の送受信機は、送受信ユニット、送受信機、または送受信装置などとも呼ばれ得る。プロセッサは、処理ユニット、処理ボード、処理モジュール、または処理装置などとも呼ばれ得る。オプションとして、受信機能を実装するように構成される、送受信機内のコンポーネントは、受信ユニットとして見なされてよく、送信機能を実装するように構成される、送受信機内のコンポーネントは、送信ユニットとして見なされてよい。すなわち、送受信ユニットは、受信ユニットおよび送信ユニットを含む。受信ユニットは時として、受信マシン、受信機、または受信回路などとも呼ばれ得る。送信ユニットは時として、伝送マシン、伝送機、または伝送回路などとも呼ばれ得る。
【０２２０】
本願の実施形態におけるメモリは、プロセッサを動作させるために必要なコンピュータ命令およびパラメータを記憶するように構成される。
【０２２１】
本願の実施形態におけるプロセッサは、集積回路チップであってよく、信号処理能力を有する。ある実装プロセスでは、プロセッサ内のハードウェア集積論理回路を使用することにより、または、ソフトウェアの形態の命令を使用することにより、上述の方法の段階が実装され得る。本願の実施形態におけるプロセッサは、汎用プロセッサ、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ、ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェアコンポーネントであってよい。プロセッサは、本願の実施形態で開示する方法、段階、および論理ブロック図を実装または実行してよい。汎用プロセッサはマイクロプロセッサであってよい、または、プロセッサは任意の従来のプロセッサなどであってよい。本願の実施形態との関連で開示する方法の段階は、ハードウェア復号プロセッサを使用することにより直接実行および実現されてもよいし、復号プロセッサ内のハードウェアモジュールとソフトウェアモジュールとの組み合わせを使用することにより実行および実現されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、フラッシュメモリ、リードオンリメモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、プログラマブルリードオンリメモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどといった、当該分野における成熟した記憶媒体に配置され得る。記憶媒体はメモリに配置され、プロセッサはメモリ内の命令を読み取り、プロセッサのハードウェアとの組み合わせで上述の方法の段階を完了する。
【０２２２】
本願の実施形態では、上述のプロセスのシーケンス番号は、本願の様々な実施形態における実行順序を意味しない。プロセスの実行順序は、プロセスの機能および内部論理に基づいて決定されるべきであり、本願の実施形態の実装プロセスに対するいかなる限定とも解釈されるべきではない。
【０２２３】
ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせを使用することにより、上述の実施形態の全てまたは幾つかが実装され得る。これらの実施形態を実装するためにソフトウェアが使用される場合は、当該実施形態は、コンピュータプログラム製品の形態で完全または部分的に実装され得る。コンピュータプログラム製品は、１または複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上でロードおよび実行されると、本願の実施形態に係る手順または機能が全てまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラマブル装置であってよい。コンピュータ命令はコンピュータ可読記憶媒体に記憶されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。例えば、コンピュータ命令は、有線（例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線（ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ、ＤＳＬ））または無線（例えば、赤外線、電波、またはマイクロ波）の方式で、あるウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに伝送されてよい。コンピュータ可読記憶媒体は、コンピュータからアクセス可能な任意の使用可能な媒体、または、１または複数の使用可能な媒体を統合する、サーバまたはデータセンタなどのデータ記憶デバイスであってよい。使用可能な媒体は、磁気媒体（例えば、フロッピーディスク（登録商標）、ハードディスク、または磁気テープ）、光媒体（例えば、デジタルビデオディスク（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｃ、ＤＶＤ））、または半導体媒体（例えば、ソリッドステートドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ、ＳＳＤ））などであってよい。
【０２２４】
当業者であれば、本明細書で開示する実施形態に記載の例との組み合わせで、ユニットおよびアルゴリズム段階が、電子ハードウェア、または、コンピュータソフトウェアと電子ハードウェアとの組み合わせにより実装され得ることに気付くかもしれない。これらの機能がハードウェアおよびソフトウェアのどちらにより実行されるかは、技術的解決策の特定の適用および設計上の制約条件によって決まる。当業者であれば、複数の異なる方法を使用して、説明されている機能を特定の適用ごとに実装できるが、係る実装が本願の範囲を超えるものと見なされるべきではない。
【０２２５】
当業者であれば、説明を簡便かつ簡潔にするために、上述のシステム、装置、およびユニットの詳細な動作プロセスについては、上述の方法の実施形態における対応するプロセスが参照されるべきであり、詳細についてはここで改めて説明しないことを明確に理解することができる。
【０２２６】
本願において提供する幾つかの実施形態では、開示されているシステム、装置、および方法が他の方式で実装され得ることを理解されたい。例えば、説明されている装置の実施形態は例に過ぎない。例えば、ユニットの分割は論理機能の分割に過ぎず、実際の実装においては他の分割であってよい。例えば、複数のユニットまたはコンポーネントが組み合わされてもよいし、別のシステムに統合されてもよい、または、幾つかの特徴が無視されるか、もしくは実行されなくてよい。また、表示または説明されている相互結合もしくは直接結合または通信接続は、幾つかのインタフェースを使用することにより実装されてよい。装置間またはユニット間の間接結合または通信接続は、電子的形態、機械的形態、または他の形態で実装されてよい。
【０２２７】
別個の部分として説明されているユニットは、物理的に別個のものであってもなくてもよい。ユニットとして表示されている部分は、物理的なユニットであってもなくてもよいし、１つの位置に配置されてもよいし、複数のネットワークユニットに分散されてもよい。これらの実施形態の解決策の目的を達成すべく、これらのユニットの幾つかまたは全てが実際の要件に基づいて選択されてよい。
【０２２８】
また、本願の実施形態における機能ユニットが１つの処理ユニットに統合されてもよいし、これらのユニットの各々が物理的に単独で存在してもよいし、２つまたはそれより多くのユニットが１つのユニットに統合されてもよい。
【０２２９】
これらの機能がソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用される場合は、これらの機能はコンピュータ可読記憶媒体に記憶されてよい。こうした理解に基づいて、本願の技術的解決策は本質的に、または従来技術に寄与する部分が、またはこれらの技術的解決策の幾つかが、ソフトウェア製品の形態で実装されてよい。ソフトウェア製品は記憶媒体に記憶され、本願の実施形態に記載の方法の段階の全てまたは幾つかを実行するようにコンピュータデバイス（パーソナルコンピュータ、サーバ、またはネットワークデバイスであってよい）に指示するための幾つかの命令を含む。上述の記憶媒体は、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、リードオンリメモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、磁気ディスク、または光ディスクなどの、プログラムコードを記憶できる任意の媒体を含む。
【０２３０】
上述の説明は、本願の特定の実装例に過ぎず、本願の保護範囲を限定することを意図するものではない。本願で開示する技術的範囲内で当業者が容易に考え出す変形または置換はいずれも、本願の保護範囲に含まれるものとする。故に、本願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【図１】
2021532636.tif 000004
【図２】
2021532636.tif 000005
【図３】
2021532636.tif 000006
【図４】
2021532636.tif 000007
【図５】
2021532636.tif 000008
【図６】
2021532636.tif 000009
【図７】
2021532636.tif 000010
【図８】
2021532636.tif 000011
【図９】
2021532636.tif 000012
【図１０】
2021532636.tif 000013
【国際調査報告】
2021532636.tif 000014
2021532636.tif 000015
2021532636.tif 000016
2021532636.tif 000017