JPWO2021022295A5 - - Google Patents

Download PDF

Info

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
Application number
JP2022504248A
Other languages
Japanese (ja)
Other versions
JP2022542875A (en
Publication date
Priority claimed from US16/947,167 external-priority patent/US11528641B2/en
Application filed filed Critical
Publication of JP2022542875A publication Critical patent/JP2022542875A/en
Publication of JPWO2021022295A5 publication Critical patent/JPWO2021022295A5/ja
Pending legal-status Critical Current

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.
前記複数のデータパケットの前記第1のサブセットが、
同じ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 .
記プロセッサを使用して、前記第1の転送リングを介して、前記第1のインターフェースチャネルに関連付けられた1つまたは複数の第1のバッファの指示を前記モデムに提供するステップと、
前記プロセッサを使用して、前記第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つまたは複数の第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つまたは複数の第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の転送リングを介して合体転送リング要素において提供され、
前記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つまたは複数のバッファにわたって前記コンテナを記憶するステップと、
前記モデムを使用して、前記コンテナを記憶したことに少なくとも部分的に基づいて、合体完了イベントの指示を前記プロセッサに提供するステップとを含み、
前記合体完了イベントの前記指示が、前記第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のサブセットを転送するステップが、
前記モデムを使用して、完了イベントの指示を前記プロセッサに提供するステップを含み、
前記完了イベントの前記指示が、前記共有イベントリングを介して提供され、
前記合体完了イベントの前記指示および前記完了イベントの前記指示が、前記コンテナおよび前記複数のデータパケットの前記第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のバッファに関連付けられたイベントコードおよびコンテキスト識別子を生成するステップと、
前記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のインターフェースチャネルを介して前記コンテナを転送するステップが、
前記第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のサブセットは合体されることが可能であるとの決定に少なくとも部分的に基づいて、前記複数のデータパケットの前記第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のインターフェースチャネルを介して別のコンテナを転送すると決定するステップと、
前記第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のサブセットの前記ペイロードを前記コンテナにグループ化するステップと
を含む、請求項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 .
JP2022504248A 2019-07-26 2020-07-24 Transmission Control Protocol (TCP) and/or User Datagram Protocol (UDP) receive offloading Pending JP2022542875A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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