JPWO2021022295A5 - - Google Patents
Download PDFInfo
- Publication number
- JPWO2021022295A5 JPWO2021022295A5 JP2022504248A JP2022504248A JPWO2021022295A5 JP WO2021022295 A5 JPWO2021022295 A5 JP WO2021022295A5 JP 2022504248 A JP2022504248 A JP 2022504248A JP 2022504248 A JP2022504248 A JP 2022504248A JP WO2021022295 A5 JPWO2021022295 A5 JP WO2021022295A5
- Authority
- JP
- Japan
- Prior art keywords
- container
- data packets
- interface channel
- subset
- buffers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Claims (15)
前記デバイスのモデムにおいて複数のデータパケットを受信するステップと、
前記デバイスの前記モデムにおいて前記複数のデータパケットの第1のサブセットのペイロードを複数のコンテナのうちの1つのコンテナにグループ化するステップと、
前記モデムを使用して、第1のインターフェースチャネルを介して前記コンテナを前記デバイスのプロセッサに転送するステップと、
前記モデムを使用して、第2のインターフェースチャネルを介して前記複数のデータパケットの第2のサブセットを前記プロセッサに転送するステップと
を含み、
前記第1のインターフェースチャネルが、第1の転送リングに関連付けられ、
前記第2のインターフェースチャネルが、第2の転送リングに関連付けられ、
前記第1の転送リングおよび前記第2の転送リングが、異なる転送リングである、
方法。 A method of wireless communication performed by a device comprising:
receiving a plurality of data packets at a modem of said device;
grouping payloads of a first subset of the plurality of data packets into one of a plurality of containers in the modem of the device;
using the modem to transfer the container to a processor of the device over a first interface channel;
transferring a second subset of the plurality of data packets to the processor over a second interface channel using the modem ;
the first interface channel is associated with a first transport ring;
the second interface channel is associated with a second transport ring;
wherein the first transport ring and the second transport ring are different transport rings;
Method.
同じTCPフローに関連付けられた複数の伝送制御プロトコル(TCP)セグメントを含み、
前記コンテナが、
合体フレームヘッダを有する合体されたTCPフレームを含む、または、
前記複数のデータパケットの前記第1のサブセットが、
同じUDPストリームに関連付けられた複数のユーザデータグラムプロトコル(UDP)パケットを含み、
前記コンテナが、
単一のUDPヘッダを有するグループ化されたUDPデータグラムを含む、
請求項1に記載の方法。 the first subset of the plurality of data packets comprising:
contains multiple Transmission Control Protocol (TCP) segments associated with the same TCP flow,
the container is
contains a coalesced TCP frame with a coalesced frame header, or
the first subset of the plurality of data packets comprising:
containing multiple User Datagram Protocol (UDP) packets associated with the same UDP stream,
the container is
containing grouped UDP datagrams with a single UDP header,
The method of Claim 1.
前記コンテナに関連付けられたコンテキスト識別子を識別するコンテキスト識別子フィールド、
前記複数のデータパケットのうちのいずれかに対してチェックサムエラーが生じたかどうかを識別するチェックサム妥当性フィールド、
前記複数のデータパケットのうちのいずれかに対してチェックサムエラーが生じた場合、前記チェックサムエラーに関連付けられた前記複数のデータパケットのうちの1つまたは複数のデータパケットを識別するチェックサムエラービットマップフィールド、
複数のパケット番号パケット長(NL)フィールドであって、
各NLフィールドが、同じパケット長である前記複数のデータパケットの量を識別する、複数のパケット番号パケット長(NL)フィールド、または、
前記ヘッダに含まれるNLフィールドの量を識別するNL量フィールド
のうちの少なくとも1つを含む、請求項1に記載の方法。 A header associated with said container is
a context identifier field identifying a context identifier associated with said container;
a checksum validity field identifying whether a checksum error occurred for any of the plurality of data packets;
A checksum error identifying one or more data packets of the plurality of data packets associated with the checksum error if a checksum error occurs for any of the plurality of data packets. bitmap field,
a plurality of packet number packet length (NL) fields,
a plurality of packet number packet length (NL) fields, each NL field identifying an amount of the plurality of data packets of the same packet length; or
2. The method of claim 1, including at least one of an NL amount field identifying an amount of NL fields included in the header .
前記プロセッサを使用して、前記第2の転送リングを介して、前記第2のインターフェースチャネルに関連付けられた1つまたは複数の第2のバッファの指示を前記モデムに提供するステップと
をさらに含む、請求項1に記載の方法。 providing, using the processor, to the modem, via the first transport ring, an indication of one or more first buffers associated with the first interface channel;
using the processor to provide to the modem, via the second transport ring, an indication of one or more second buffers associated with the second interface channel; The method of Claim 1 .
前記第1の転送リングを介した前記1つまたは複数の第1のバッファの前記指示に少なくとも部分的に基づいて、前記1つまたは複数の第1のバッファに前記コンテナを記憶するステップを含み、
前記第2のインターフェースチャネルを介して前記複数のデータパケットの前記第2のサブセットを転送するステップが、
前記第2の転送リングを介した前記1つまたは複数の第2のバッファの前記指示に少なくとも部分的に基づいて、前記1つまたは複数の第2のバッファに前記複数のデータパケットの前記第2のサブセットを記憶するステップを含む、
請求項4に記載の方法。 transferring the container over the first interface channel comprises:
storing the container in the one or more first buffers based at least in part on the indication of the one or more first buffers via the first transfer ring;
forwarding the second subset of the plurality of data packets over the second interface channel;
The second transmission of the plurality of data packets to the one or more second buffers based at least in part on the indication of the one or more second buffers via the second transfer ring. comprising storing a subset of
5. The method of claim 4 .
前記第1のインターフェースチャネルを介して前記コンテナを転送するステップが、
前記複数のコンテナのそれぞれのアクティビティレベルに少なくとも部分的に基づく順序で、前記1つまたは複数の第1のバッファのうちのそれぞれのバッファに前記複数のコンテナの各々を記憶するステップを含む、
請求項4に記載の方法。 the plurality of containers to be transferred to the processor via the first interface channel ;
transferring the container over the first interface channel comprises:
storing each of the plurality of containers in a respective one of the one or more first buffers in an order based at least in part on the activity level of each of the plurality of containers;
5. The method of claim 4 .
前記1つまたは複数のバッファの前記指示が、前記第1の転送リングを介して合体転送リング要素において提供され、
前記1つまたは複数のバッファの前記指示が、
前記1つまたは複数のバッファの各々に関連付けられたそれぞれのソフトウェアクッキーの指示を含む、
請求項4に記載の方法。 further comprising using the processor to provide to the modem an indication of one or more buffers associated with the first interface channel;
said indication of said one or more buffers is provided at a coalesced transfer ring element via said first transfer ring;
wherein said indication of said one or more buffers is
including respective software cookie instructions associated with each of said one or more buffers;
5. The method of claim 4.
前記1つまたは複数のバッファにわたって前記コンテナを記憶するステップと、
前記モデムを使用して、前記コンテナを記憶したことに少なくとも部分的に基づいて、合体完了イベントの指示を前記プロセッサに提供するステップとを含み、
前記合体完了イベントの前記指示が、前記第1のインターフェースチャネルおよび前記第2のインターフェースチャネルに関連付けられた共有イベントリングを介して提供され、
前記合体完了イベントの前記指示が、前記1つまたは複数のバッファの各々に関連付けられた前記それぞれのソフトウェアクッキーおよび前記コンテナに関連付けられた合体コンテキスト識別子を識別する、
請求項7に記載の方法。 transferring the container over the first interface channel comprises:
storing the container across the one or more buffers;
providing, using the modem, an indication of a coalesce completion event to the processor based at least in part on storing the container;
the indication of the coalesce completion event is provided via a shared event ring associated with the first interface channel and the second interface channel;
the indication of the coalesce complete event identifies the respective software cookie associated with each of the one or more buffers and a coalesce context identifier associated with the container;
8. The method of claim 7 .
前記モデムを使用して、完了イベントの指示を前記プロセッサに提供するステップを含み、
前記完了イベントの前記指示が、前記共有イベントリングを介して提供され、
前記合体完了イベントの前記指示および前記完了イベントの前記指示が、前記コンテナおよび前記複数のデータパケットの前記第2のサブセットが前記プロセッサに転送された順序に少なくとも部分的に基づいて、前記共有イベントリングにおいて順序付けられる、
請求項8に記載の方法。 forwarding the second subset of the plurality of data packets,
providing an indication of a completion event to the processor using the modem;
said indication of said completion event is provided via said shared event ring;
wherein the indication of the coalesce completion event and the indication of the completion event are based at least in part on the order in which the container and the second subset of the plurality of data packets were transferred to the processor; ordered in
9. The method of claim 8 .
前記第1のバッファが満たされるまで、前記1つまたは複数のバッファのうちの第1のバッファに前記コンテナを記憶するステップと、
前記第1のバッファが満たされたことに少なくとも部分的に基づいて、前記第1のバッファを閉じるステップと、
前記第1のバッファに関連付けられたイベントコードおよびコンテキスト識別子を生成するステップと、
前記1つまたは複数のバッファのうちの第2のバッファに前記コンテナの残りを記憶するステップと
を含む、請求項8に記載の方法。 storing the container across the one or more buffers;
storing the container in a first one of the one or more buffers until the first buffer is filled;
closing the first buffer based at least in part on the first buffer being filled;
generating an event code and context identifier associated with the first buffer;
and storing the remainder of the container in a second one of the one or more buffers.
前記第1のインターフェースチャネルを介して前記複数のコンテナを転送するステップを含み、
前記複数のコンテナの各々が、それぞれの伝送制御プロトコル(TCP)接続またはユーザデータグラムプロトコル(UDP)接続に関連付けられる、
請求項1に記載の方法。 transferring the container over the first interface channel comprises:
transferring the plurality of containers over the first interface channel;
each of the plurality of containers is associated with a respective Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) connection;
The method of Claim 1.
前記複数のデータパケットの前記第1のサブセットは合体されることが可能であると決定するステップと、
前記複数のデータパケットの前記第1のサブセットは合体されることが可能であるとの決定に少なくとも部分的に基づいて、前記複数のデータパケットの前記第1のサブセットの前記ペイロードを前記コンテナにグループ化するステップと
を含み、
前記第2のインターフェースチャネルを介して前記複数のデータパケットの前記第2のサブセットを転送するステップが、
前記複数のデータパケットの前記第2のサブセットは合体されることが不可能であると決定するステップと、
前記複数のデータパケットの前記第2のサブセットは合体されることが不可能であるとの決定に少なくとも部分的に基づいて、前記第2のインターフェースチャネルを介して前記複数のデータパケットの前記第2のサブセットを転送するステップと
を含む、請求項1に記載の方法。 grouping the payloads of the first subset of the plurality of data packets into the container;
determining that the first subset of the plurality of data packets can be coalesced;
grouping the payloads of the first subset of the plurality of data packets into the container based at least in part on determining that the first subset of the plurality of data packets can be coalesced; and
forwarding the second subset of the plurality of data packets over the second interface channel;
determining that the second subset of the plurality of data packets cannot be coalesced;
the second subset of the plurality of data packets via the second interface channel based at least in part on determining that the second subset of the plurality of data packets cannot be coalesced; and forwarding a subset of .
前記第1のインターフェースチャネルを介して前記別のコンテナを転送するとの決定に少なくとも部分的に基づいて、前記第2のインターフェースチャネルを閉じるステップと
をさらに含む、請求項1に記載の方法。 determining to transfer another container over the first interface channel;
3. The method of claim 1, further comprising closing the second interface channel based at least in part on the determination to transfer the another container via the first interface channel .
前記モデムにおいて、前記プロセッサから、前記コンテナ用のしきい値バイトサイズまたは前記コンテナ用のデータパケットのしきい値量のうちの少なくとも1つの指示を受信するステップと、
前記コンテナ用の前記しきい値バイトサイズまたは前記コンテナ用の前記データパケットのしきい値量のうちの前記少なくとも1つに少なくとも部分的に基づいて、前記モデムにおいて前記複数のデータパケットの前記第1のサブセットの前記ペイロードを前記コンテナにグループ化するステップと
を含む、請求項1に記載の方法。 grouping the payloads of the first subset of the plurality of data packets into the container;
receiving, at the modem, from the processor an indication of at least one of a threshold byte size for the container or a threshold amount of data packets for the container;
the first of the plurality of data packets at the modem based at least in part on the at least one of the threshold byte size for the container or the threshold amount of data packets for the container; grouping the payloads of a subset of into the container .
前記装置のモデムにおいて複数のデータパケットを受信するための手段と、
前記装置の前記モデムにおいて前記複数のデータパケットの第1のサブセットのペイロードを複数のコンテナのうちの1つのコンテナにグループ化するための手段と、
前記モデムを使用して、第1のインターフェースチャネルを介して前記コンテナを前記装置のプロセッサに転送するための手段と、
前記モデムを使用して、第2のインターフェースチャネルを介して前記複数のデータパケットの第2のサブセットを前記プロセッサに転送するための手段と
を備え、
前記第1のインターフェースチャネルが、第1の転送リングに関連付けられ、
前記第2のインターフェースチャネルが、第2の転送リングに関連付けられ、
前記第1の転送リングおよび前記第2の転送リングが、異なる転送リングである、
装置。 An apparatus for wireless communication, comprising:
means for receiving a plurality of data packets at a modem of said device;
means for grouping payloads of a first subset of the plurality of data packets into one container of a plurality of containers in the modem of the device;
means for transferring said container to a processor of said device over a first interface channel using said modem;
means for using the modem to transfer a second subset of the plurality of data packets to the processor over a second interface channel ;
the first interface channel is associated with a first transport ring;
the second interface channel is associated with a second transport ring;
wherein the first transport ring and the second transport ring are different transport rings;
device .
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962879351P | 2019-07-26 | 2019-07-26 | |
US62/879,351 | 2019-07-26 | ||
US16/947,167 | 2020-07-21 | ||
US16/947,167 US11528641B2 (en) | 2019-07-26 | 2020-07-21 | Transmission control protocol (TCP) and/or user datagram protocol (UDP) receive offloading |
PCT/US2020/070311 WO2021022295A1 (en) | 2019-07-26 | 2020-07-24 | Transmission control protocol (tcp) and/or user datagram protocol (udp) receive offloading |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022542875A JP2022542875A (en) | 2022-10-07 |
JPWO2021022295A5 true JPWO2021022295A5 (en) | 2023-07-20 |
Family
ID=74190526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022504248A Pending JP2022542875A (en) | 2019-07-26 | 2020-07-24 | Transmission Control Protocol (TCP) and/or User Datagram Protocol (UDP) receive offloading |
Country Status (8)
Country | Link |
---|---|
US (1) | US11528641B2 (en) |
EP (1) | EP4005179A1 (en) |
JP (1) | JP2022542875A (en) |
KR (1) | KR20220037446A (en) |
CN (1) | CN114208138B (en) |
BR (1) | BR112022000692A2 (en) |
TW (1) | TW202112111A (en) |
WO (1) | WO2021022295A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230102614A1 (en) * | 2021-09-27 | 2023-03-30 | Qualcomm Incorporated | Grouping data packets at a modem |
TWI779938B (en) * | 2021-11-29 | 2022-10-01 | 瑞昱半導體股份有限公司 | Method for accessing system memory and associated processing circuit arranged on network interface card |
CN114615348B (en) * | 2022-03-08 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | UDP GSO-based data transmission method, device, computer equipment and storage medium |
CN114615347B (en) * | 2022-03-08 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | UDP GSO-based data transmission method, device, computer equipment and storage medium |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284070B2 (en) | 1997-10-14 | 2007-10-16 | Alacritech, Inc. | TCP offload network interface device |
US7676814B2 (en) * | 2004-03-25 | 2010-03-09 | Globalfoundries Inc. | Four layer architecture for network device drivers |
US7620071B2 (en) | 2004-11-16 | 2009-11-17 | Intel Corporation | Packet coalescing |
US8311059B2 (en) | 2005-09-07 | 2012-11-13 | Emulex Design & Manufacturing Corporation | Receive coalescing and automatic acknowledge in network interface controller |
US20080198787A1 (en) * | 2007-02-15 | 2008-08-21 | Agentek, Inc. | Mobile Data Object Transmission Over Wireless Communication Networks Using UDP and Two Level Protocol |
US8300641B1 (en) * | 2009-09-09 | 2012-10-30 | Amazon Technologies, Inc. | Leveraging physical network interface functionality for packet processing |
US8462780B2 (en) * | 2011-03-30 | 2013-06-11 | Amazon Technologies, Inc. | Offload device-based stateless packet processing |
US8825900B1 (en) | 2011-04-05 | 2014-09-02 | Nicira, Inc. | Method and apparatus for stateless transport layer tunneling |
WO2013102179A1 (en) * | 2011-12-30 | 2013-07-04 | Krause Edward A | High capacity network communication link using multiple cellular devices |
US10075873B2 (en) * | 2015-03-02 | 2018-09-11 | Qualcomm Incorporated | Methods and apparatus for channel state information sounding and feedback |
US10764781B2 (en) * | 2016-05-03 | 2020-09-01 | Qualcomm Incorporated | Systems and methods for reordering data received from a plurality of radio access technologies (RATs) |
US10212623B2 (en) * | 2016-12-28 | 2019-02-19 | Intel IP Corporation | Apparatus, system and method of packet coalescing |
US10447598B2 (en) | 2017-07-17 | 2019-10-15 | Qualcomm Incorporated | User datagram protocol (UDP) receive offloading |
US10645200B2 (en) * | 2017-08-16 | 2020-05-05 | Qualcomm Incorporated | Alternate acknowledgment (ACK) signals in a coalescing transmission control protocol/internet protocol (TCP/IP) system |
-
2020
- 2020-07-21 US US16/947,167 patent/US11528641B2/en active Active
- 2020-07-24 JP JP2022504248A patent/JP2022542875A/en active Pending
- 2020-07-24 EP EP20754602.9A patent/EP4005179A1/en active Pending
- 2020-07-24 CN CN202080053770.6A patent/CN114208138B/en active Active
- 2020-07-24 KR KR1020227002044A patent/KR20220037446A/en unknown
- 2020-07-24 BR BR112022000692A patent/BR112022000692A2/en unknown
- 2020-07-24 WO PCT/US2020/070311 patent/WO2021022295A1/en unknown
- 2020-07-27 TW TW109125284A patent/TW202112111A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3075116B1 (en) | Systems, methods, and devices for controlling transport of ratelessly coded messages | |
EP3554024B1 (en) | Method for transmitting data packet, sending device, and receiving device | |
US7836220B2 (en) | Network direct memory access | |
CN1883212B (en) | Method and apparatus to provide data streaming over a network connection in a wireless MAC processor | |
KR101342417B1 (en) | - - MAC-HS processing in an HSDPA-compatible receiver in a 3G wireless network | |
CN109716728A (en) | For delivering the method and apparatus being ranked up to protocol Data Unit | |
US6760304B2 (en) | Apparatus and method for receive transport protocol termination | |
CN107404396B (en) | A kind of data transmission method and device | |
WO2006033201A1 (en) | Node device, packet control device, radio communication device, and transmission control method | |
CN101141225B (en) | Data loss processing method in mobile communication system | |
RU2015143051A (en) | SEPARATION OF THE PACKAGE LEVEL FOR DATA TRANSFER BY MEANS OF A LOT OF CARRIERS | |
WO2004017219A1 (en) | Apparatus and method for transmit transport protocol termination | |
CN104378315B (en) | A kind of method and device of CAPWAP tunnel packet transmission | |
JP5039292B2 (en) | Network adapter, communication system, and communication method | |
CN100433714C (en) | Method for transmission processing IP fragment message | |
CN103001883A (en) | Internal communication method of programmable virtual router based on Net field programmable gate array (FPGA) | |
JPWO2021022295A5 (en) | ||
WO2016131345A1 (en) | Data processing method and device | |
CN103916906B (en) | To the method, equipment and system of user data message distribution processor | |
CN109391605B (en) | Data transmission method, device and system | |
EP2201740B1 (en) | High speed packet processing in a wireless network | |
CN104426638B (en) | A kind of data delivery method and apparatus | |
US7573872B2 (en) | Selective forwarding of damaged packets | |
US7738459B2 (en) | Method, system and apparatus for reliably transmitting packets of an unreliable protocol | |
CN107135173A (en) | Multi-site real time data exchange method based on triones navigation system |