Patentable/Patents/US-20260067222-A1
US-20260067222-A1

Electronic Device for Transmitting Ack and Operation Method Thereof

PublishedMarch 5, 2026
Assigneenot available in USPTO data we have
Technical Abstract

An electronic device may include at least one communication processor and at least one application processor. The at least one communication processor may be configured to obtain a plurality of TCP ACKs generated on the basis of a network stack executed by the at least one application processor. The at least one communication processor may be configured to classify the plurality of TCP ACKs into a plurality of groups and store same in at least one buffer associated with the at least one communication processor. The at least one communication processor may be configured to fetch each of at least one TCP ACK from each of the plurality of groups on the basis of each of policies configured to correspond to each of the plurality of groups. The at least one communication processor may be configured to transmit at least a part of each of the fetched at least one TCP ACK. Various other embodiments are possible.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

at least one communication processor comprising processing circuitry; and at least one application processor comprising processing circuitry, wherein the at least one communication processor is configured to: obtain a plurality of TCP ACKs generated based on a network stack executed in the at least one application processor; classify and store the plurality of TCP ACKs by a plurality of groups in at least one buffer associated with the at least one communication processor; fetch at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups; and control to transmit at least a portion of each of the fetched at least one TCP ACK. . An electronic device, comprising:

2

claim 1 . The electronic device of, wherein the at least one communication processor is configured to determine the policies corresponding to each of the plurality of groups based on TCP-related information and/or network-related information.

3

claim 2 . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the policies corresponding to each of the plurality of groups based on the TCP-related information and/or the network-related information, determine fetch intervals corresponding to each of the plurality of groups as at least a portion of the policies based on at least a portion of the TCP-related information and/or the network-related information.

4

claim 2 identify an uplink capacity identified based on an MCS included in the network-related information; and determine the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity. . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information,

5

claim 4 identify sizes of TCP ACKs associated with each of the plurality of groups; and determine each of the fetch intervals based on the sizes and the uplink capacity. . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity,

6

claim 4 identify an ACK throughput between the at least one application processor and the at least one communication processor included in the TCP-related information; and determine each of the fetch intervals based on the ACK throughput and the uplink capacity. . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity,

7

claim 4 . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity, determine the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity and a BLER included in the network-related information.

8

claim 2 . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the policies corresponding to each of the plurality of groups based on the TCP-related information and/or the network-related information, determine fetch numbers corresponding to each of the plurality of groups as at least a portion of the policies based on at least a portion of the TCP-related information and/or the network-related information.

9

claim 2 identify an uplink capacity identified based on an MCS included in the network-related information; and determine the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity. . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information,

10

claim 9 identify an ACK throughput between the at least one application processor and the at least one communication processor included in the TCP-related information; and determine each of the fetch numbers based on the ACK throughput and the uplink capacity. . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity,

11

claim 9 identify sizes of TCP ACKs associated with each of the plurality of groups; and determine each of the fetch numbers based on the sizes and the uplink capacity. . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity,

12

claim 9 determine the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity and a BLER included in the network-related information. . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity,

13

claim 1 . The electronic device of, wherein the plurality of groups are distinguished based on an IP address, a port number, and/or network interface identification information.

14

claim 1 . The electronic device of, wherein the at least one communication processor is configured to, as at least a portion of controlling for transmitting at least a portion of each of the fetched at least one TCP ACK, control to transmit a TCP ACK having a largest sequence number among at least one first TCP ACK fetched from a first group of the plurality of groups as a TCP ACK corresponding to the first group.

15

obtaining a plurality of TCP ACKs; classifying and storing the plurality of TCP ACKs by a plurality of groups; fetching at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups; and transmitting at least a portion of each of the fetched at least one TCP ACK. . A storage medium storing at least one computer-readable instruction, wherein the at least one instruction, when executed individually and/or collectively by at least one processor of an electronic device, causes the electronic device to perform at least one operation comprising:

16

obtaining a plurality of TCP ACKs generated based on a network stack executed in the at least one application processor; classifying and storing the plurality of TCP ACKs by a plurality of groups; fetching at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups; and transmitting at least a portion of each of the fetched at least one TCP ACK. . A method performed by an electronic device comprising at least one communication processor comprising processing circuitry, and at least one application processor comprising processing circuitry, the method comprising:

17

claim 16 . The method of, further comprising determining the policies corresponding to each of the plurality of groups based on TCP-related information and/or network-related information.

18

claim 17 determining fetch intervals corresponding to each of the plurality of groups as at least a portion of the policies based on at least a portion of the TCP-related information and/or the network-related information. . The method of, wherein determining the policies corresponding to each of the plurality of groups based on the TCP-related information and/or the network-related information comprises:

19

claim 17 identifying an uplink capacity identified based on an MCS included in the network-related information; and determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity. . The method of, wherein determining the fetch intervals corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information comprises:

20

claim 19 identifying sizes of TCP ACKs associated with each of the plurality of groups; and determining each of the fetch intervals based on the sizes and the uplink capacity. . The method of, wherein determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity comprises:

Detailed Description

Complete technical specification and implementation details from the patent document.

This application is a continuation application of International Application No. PCT/KR2024/006150, filed on May 8, 2024, in the Korean Intellectual Property Receiving Office, and claiming priority to Korean Patent Application No. 10-2023-0064161 filed May 18, 2023 and Korean Patent Application No. 10-2023-0070300 filed May 31, 2023, the disclosures of which are all hereby incorporated by reference herein in their entireties.

Certain example embodiments may relate to an electronic device transmitting an ACK and/or an operation method thereof.

In a modern network environment, transmission of large-capacity data and/or securing of high bandwidth may be required. For this purpose, transmission control protocol (TCP) is being used. TCP is a protocol for ensuring reliable data transmission, and packet transmission from a transmitting entity to a receiving entity and acknowledgement (ACK) transmission from the receiving entity that has received the packet to the transmitting entity may be performed. The transmitting entity may identify the success of the transmitted packet based on whether the ACK is received from the receiving entity. The transmitting entity may perform, e.g., a flow control function that controls the packet transmission rate.

Meanwhile, as the transmission frequency of ACK increases, resources allocated for ACK transmission may also relatively increase. For example, when large-capacity download is performed, such as streaming a high-quality video file, the electronic device should transmit ACK segments corresponding to each of the received packets, and in this case, since the number of received packets is relatively large, a relatively large number of ACK segments may also be generated. Accordingly, a relatively large portion of uplink resources should be allocated for transmission of ACK segments, which may cause transmission delay.

TCP ACK aggregation technology may transmit only some ACKs without transmitting all generated ACK segments. For example, when the receiving entity receives a relatively large number of packets, it may generate multiple ACK segments, but may transmit only some ACKs rather than all ACK segments. Accordingly, even when relatively large-capacity download is performed, transmission of a relatively small number of ACKs may be possible, so a relatively small portion of uplink resources may be allocated.

In certain example embodiments, an electronic device may include at least one communication processor comprising processing circuitry, and at least one application processor comprising processing circuitry. The at least one communication processor may be configured to obtain a plurality of TCP ACKs generated based on a network stack executed in the at least one application processor. The at least one communication processor may be configured to classify and store the plurality of TCP ACKs by a plurality of groups in at least one buffer associated with the at least one communication processor. The at least one communication processor may be configured to fetch at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups. The at least one communication processor may be configured to transmit at least a portion of each of the fetched at least one TCP ACK.

In certain example embodiments, in a storage medium storing at least one computer-readable instruction, the at least one instruction, when executed individually and/or collectively by at least one processor of an electronic device, may enable the electronic device to perform at least one operation. The at least one operation may include obtaining a plurality of TCP ACKs. The at least one operation may include classifying and storing the plurality of TCP ACKs by a plurality of groups. The at least one operation may include fetching at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups. The at least one operation may include transmitting at least a portion of each of the fetched at least one TCP ACK.

In certain example embodiments, an operation method of an electronic device may include obtaining a plurality of TCP ACKs. The operation method of the electronic device may include classifying and storing the plurality of TCP ACKs by a plurality of groups. The operation method of the electronic device may include fetching at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups. The operation method of the electronic device may include transmitting at least a portion of each of the fetched at least one TCP ACK.

1 FIG. 1 FIG. 101 100 101 100 102 198 104 108 199 101 104 108 101 120 130 150 155 160 170 176 177 178 179 180 188 189 190 196 197 178 101 101 176 180 197 160 is a block diagram illustrating an electronic devicein a network environmentaccording to an embodiment. Referring to, the electronic devicein the network environmentmay communicate with an electronic devicevia a first network(e.g., a short-range wireless communication network), or an electronic deviceor a servervia a second network(e.g., a long-range wireless communication network). In certain example embodiments, the electronic devicemay communicate with the electronic devicevia the server. In certain example embodiments, the electronic devicemay include a processor, memory, an input module, a sound output module, a display module, an audio module, a sensor module, an interface, a connecting terminal, a haptic module, a camera module, a power management module, a battery, a communication module, a subscriber identification module (SIM), or an antenna module. In an embodiment, at least one (e.g., the connecting terminal) of the components may be omitted from the electronic device, or one or more other components may be added in the electronic device. In certain example embodiments, some (e.g., the sensor module, the camera module, or the antenna module) of the components may be integrated into a single component (e.g., the display module).

120 140 101 120 120 176 190 132 132 134 120 121 123 121 101 121 123 123 121 123 121 The processormay execute, for example, software (e.g., the program) to control at least one other component (e.g., a hardware or software component) of the electronic devicecoupled with the processor, and may perform various data processing or computation. In certain example embodiments, as at least part of the data processing or computation, the processormay store a command or data received from another component (e.g., the sensor moduleor the communication module) in volatile memory, process the command or the data stored in the volatile memory, and store resulting data in non-volatile memory. In certain example embodiments, the processormay include a main processor(e.g., a central processing unit (CPU) or an application processor (AP)), or an auxiliary processor(e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operable independently from, or in conjunction with, the main processor. For example, when the electronic deviceincludes the main processorand the auxiliary processor, the auxiliary processormay be configured to use lower power than the main processoror to be specified for a designated function. The auxiliary processormay be implemented as separate from, or as part of the main processor.

123 160 176 190 101 121 121 121 121 123 180 190 123 123 101 108 The auxiliary processormay control at least some of functions or states related to at least one component (e.g., the display module, the sensor module, or the communication module) among the components of the electronic device, instead of the main processorwhile the main processoris in an inactive (e.g., sleep) state, or together with the main processorwhile the main processoris in an active state (e.g., executing an application). In certain example embodiments, the auxiliary processor(e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera moduleor the communication module) functionally related to the auxiliary processor. In certain example embodiments, the auxiliary processor(e.g., the neural processing unit) may include a hardware structure specified for artificial intelligence model processing. The artificial intelligence model may be generated via machine learning. Such learning may be performed, e.g., by the electronic devicewhere the artificial intelligence is performed or via a separate server (e.g., the server). Learning algorithms may include, but are not limited to, e.g., supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The artificial intelligence model may include a plurality of artificial neural network layers. The artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-network or a combination of two or more thereof but is not limited thereto. The artificial intelligence model may, additionally or alternatively, include a software structure other than the hardware structure.

130 120 176 101 140 130 132 134 The memorymay store various data used by at least one component (e.g., the processoror the sensor module) of the electronic device. The various data may include, for example, software (e.g., the program) and input data or output data for a command related thereto. The memorymay include the volatile memoryor the non-volatile memory.

140 130 142 144 146 The programmay be stored in the memoryas software, and may include, for example, an operating system (OS), middleware, or an application.

150 120 101 101 150 The input modulemay receive a command or data to be used by other component (e.g., the processor) of the electronic device, from the outside (e.g., a user) of the electronic device. The input modulemay include, for example, a microphone, a mouse, a keyboard, keys (e.g., buttons), or a digital pen (e.g., a stylus pen).

155 101 155 The sound output modulemay output sound signals to the outside of the electronic device. The sound output modulemay include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as playing multimedia or playing record. The receiver may be used for receiving incoming calls. In certain example embodiments, the receiver may be implemented as separate from, or as part of the speaker.

160 101 160 160 The display modulemay visually provide information to the outside (e.g., a user) of the electronic device. The display modulemay include, for example, a display, a hologram device, or a projector and control circuitry to control a corresponding one of the display, hologram device, and projector. In certain example embodiments, the display modulemay include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

170 170 150 155 102 101 The audio modulemay convert a sound into an electrical signal and vice versa. In certain example embodiments, the audio modulemay obtain the sound via the input module, or output the sound via the sound output moduleor a headphone of an external electronic device (e.g., the electronic device) directly (e.g., wiredly) or wirelessly coupled with the electronic device.

176 101 176 The sensor modulemay detect an operation state (e.g., power or temperature) of the electronic deviceor an external environmental state (e.g., the user's state), and then generate an electrical signal or data value corresponding to the detected state. In certain example embodiments, the sensor modulemay include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an accelerometer, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

177 101 102 177 The interfacemay support one or more specified protocols to be used for the electronic deviceto be coupled with the external electronic device (e.g., the electronic device) directly (e.g., wiredly) or wirelessly. In certain example embodiments, the interfacemay include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.

178 101 102 178 A connecting terminalmay include a connector via which the electronic devicemay be physically connected with the external electronic device (e.g., the electronic device). In certain example embodiments, the connecting terminalmay include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

179 179 The haptic modulemay convert an electrical signal into a mechanical stimulus (e.g., a vibration or motion) or electrical stimulus which may be recognized by a user via his tactile sensation or kinesthetic sensation. In certain example embodiments, the haptic modulemay include, for example, a motor, a piezoelectric element, or an electric stimulator.

180 180 The camera modulemay capture a still image or moving images. In certain example embodiments, the camera modulemay include one or more lenses, image sensors, image signal processors, or flashes.

188 101 188 The power management modulemay manage power supplied to the electronic device. In certain example embodiments, the power management modulemay be implemented as at least part of, for example, a power management integrated circuit (PMIC).

189 101 189 The batterymay supply power to at least one component of the electronic device. In certain example embodiments, the batterymay include, for example, a primary cell which is not rechargeable, a secondary cell which is rechargeable, or a fuel cell.

190 101 102 104 108 190 120 190 192 194 104 198 199 192 101 198 199 196 The communication modulemay support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic deviceand the external electronic device (e.g., the electronic device, the electronic device, or the server) and performing communication via the established communication channel. The communication modulemay include one or more communication processors that are operable independently from the processor(e.g., the application processor (AP)) and supports a direct (e.g., wired) communication or a wireless communication. In certain example embodiments, the communication modulemay include a wireless communication module(e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module(e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with the external electronic devicevia a first network(e.g., a short-range communication network, such as Bluetooth™, wireless-fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or a second network(e.g., a long-range communication network, such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., local area network (LAN) or wide area network (WAN)). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multiple components (e.g., multiple chips) separate from each other. The wireless communication modulemay identify or authenticate the electronic devicein a communication network, such as the first networkor the second network, using subscriber information (e.g., international mobile subscriber identity (IMSI)) stored in the subscriber identification module.

192 192 192 192 101 104 199 192 The wireless communication modulemay support a 5G network, after a 4G network, and next-generation communication technology, e.g., new radio (NR) access technology. The NR access technology may support enhanced mobile broadband (eMBB), massive machine type communications (mMTC), or ultra-reliable and low-latency communications (URLLC). The wireless communication modulemay support a high-frequency band (e.g., the mmWave band) to achieve, e.g., a high data transmission rate. The wireless communication modulemay support various technologies for securing performance on a high-frequency band, such as, e.g., beamforming, massive multiple-input and multiple-output (massive MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication modulemay support various requirements specified in the electronic device, an external electronic device (e.g., the electronic device), or a network system (e.g., the second network). In certain example embodiments, the wireless communication modulemay support a peak data rate (e.g., 20 Gbps or more) for implementing eMBB, loss coverage (e.g., 164 dB or less) for implementing mMTC, or U-plane latency (e.g., 0.5 ms or less for each of downlink (DL) and uplink (UL), or a round trip of 1 ms or less) for implementing URLLC.

197 197 197 198 199 190 190 197 The antenna modulemay transmit or receive a signal or power to or from the outside (e.g., the external electronic device). In certain example embodiments, the antenna modulemay include one antenna including a radiator formed of a conductor or conductive pattern formed on a substrate (e.g., a printed circuit board (PCB)). In certain example embodiments, the antenna modulemay include a plurality of antennas (e.g., an antenna array). In this case, at least one antenna appropriate for a communication scheme used in a communication network, such as the first networkor the second network, may be selected from the plurality of antennas by, e.g., the communication module. The signal or the power may then be transmitted or received between the communication moduleand the external electronic device via the selected at least one antenna. In certain example embodiments, other parts (e.g., radio frequency integrated circuit (RFIC)) than the radiator may be further formed as part of the antenna module.

197 In certain example embodiments, the antenna modulemay form a mmWave antenna module. In certain example embodiments, the mmWave antenna module may include a printed circuit board, a RFIC disposed on a first surface (e.g., the bottom surface) of the printed circuit board, or adjacent to the first surface and capable of supporting a designated high-frequency band (e.g., the mmWave band), and a plurality of antennas (e.g., array antennas) disposed on a second surface (e.g., the top or a side surface) of the printed circuit board, or adjacent to the second surface and capable of transmitting or receiving signals of the designated high-frequency band.

At least some of the above-described components may be coupled mutually and communicate signals (e.g., commands or data) therebetween via an inter-peripheral communication scheme (e.g., a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)).

101 104 108 199 102 104 101 101 102 104 108 101 101 101 101 101 104 108 104 108 199 101 In certain example embodiments, commands or data may be transmitted or received between the electronic deviceand the external electronic devicevia the servercoupled with the second network. The external electronic devicesoreach may be a device of the same or a different type from the electronic device. In certain example embodiments, all or some of operations to be executed at the electronic devicemay be executed at one or more of the external electronic devices,, or. For example, if the electronic deviceshould perform a function or a service automatically, or in response to a request from a user or another device, the electronic device, instead of, or in addition to, executing the function or the service, may request the one or more external electronic devices to perform at least part of the function or the service. The one or more external electronic devices receiving the request may perform the at least part of the function or the service requested, or an additional function or an additional service related to the request, and transfer an outcome of the performing to the electronic device. The electronic devicemay provide the outcome, with or without further processing of the outcome, as at least part of a reply to the request. To that end, a cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic devicemay provide ultra low-latency services using, e.g., distributed computing or mobile edge computing. In another embodiment, the external electronic devicemay include an Internet-of-things (IoT) device. The servermay be an intelligent server using machine learning and/or a neural network. In certain example embodiments, the external electronic deviceor the servermay be included in the second network. The electronic devicemay be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology or IoT-related technology.

2 FIG.A 2 FIG.A 1 FIG. 200 101 101 212 214 222 224 226 228 232 234 242 244 246 248 101 120 130 199 292 294 101 199 212 214 222 224 228 232 234 192 228 226 is a block diagramillustrating an electronic devicefor supporting legacy network communication and 5G network communication according to an embodiment. Referring to, the electronic devicemay include a first communication processor, a second communication processor, a first radio frequency integrated circuit (RFIC), a second RFIC, a third RFIC, a fourth RFIC, a first radio frequency front end (RFFE), a second RFFE, a first antenna module, a second antenna module, a third antenna module, and antennas. The electronic devicemay further include a processorand memory. The second networkmay include a first cellular networkand a second cellular network. In certain example embodiments, the electronic devicemay further include at least one component among the components of, and the second networkmay further include at least one other network. In certain example embodiments, the first communication processor, the second communication processor, the first RFIC, the second RFIC, the fourth RFIC, the first RFFE, and the second RFFEmay form at least part of the wireless communication module. According to another embodiment, the fourth RFICmay be omitted or be included as part of the third RFIC.

212 292 214 294 294 212 214 294 The first communication processormay establish a communication channel of a band that is to be used for wireless communication with the first cellular networkor may support legacy network communication via the established communication channel. In certain example embodiments, the first cellular network may be a legacy network that includes second generation (2G), third generation (3G), fourth generation (4G), or long-term evolution (LTE) networks. The second communication processormay establish a communication channel corresponding to a designated band (e.g., from about 6 GHz to about 60 GHz) among bands that are to be used for wireless communication with the second cellular networkor may support fifth generation (5G) network communication via the established communication channel. In certain example embodiments, the second cellular networkmay be a 5G network defined by the 3rd generation partnership project (3GPP). Additionally, In certain example embodiments, the first communication processoror the second communication processormay establish a communication channel corresponding to another designated band (e.g., about 6 GHz or less) among the bands that are to be used for wireless communication with the second cellular networkor may support fifth generation (5G) network communication via the established communication channel.

212 214 294 292 212 214 212 214 213 213 212 214 212 214 The first communication processormay perform data transmission/reception with the second communication processor. For example, data classified as transmitted via the second cellular networkmay be changed to be transmitted via the first cellular network. In this case, the first communication processormay receive transmission data from the second communication processor. For example, the first communication processormay transmit/receive data to/from the second communication processorvia an inter-processor interface. The inter-processor interfacemay be implemented as, e.g., universal asynchronous receiver/transmitter (UART) (e.g., high speed-UART (HS-UART)) or peripheral component interconnect bus express (PCIe) interface, but is not limited to a specific kind. The first communication processorand the second communication processormay exchange packet data information and control information using, e.g., a shared memory. The first communication processormay transmit/receive various types of information, such as sensing information, information about output strength, and resource block (RB) allocation information, to/from the second communication processor.

212 214 212 214 120 212 214 120 212 214 120 According to implementation, the first communication processormay not be directly connected with the second communication processor. In this case, the first communication processormay transmit/receive data to/from the second communication processorvia a processor(e.g., an application processor). For example, the first communication processorand the second communication processormay transmit/receive data to/from the processor(e.g., an application processor) via an HS-UART interface or PCIe interface, but the kind of the interface is not limited thereto. The first communication processorand the second communication processormay exchange control information and packet data information with the processor(e.g., an application processor) using a shared memory.

212 214 212 214 120 123 190 260 292 294 2 FIG.B In certain example embodiments, the first communication processorand the second communication processormay be implemented in a single chip or a single package. In certain example embodiments, the first communication processoror the second communication processor, along with the processor, an assistance processor, or communication module, may be formed in a single chip or single package. For example, as shown in, an integrated communication processormay support all of the functions for communication with the first cellular networkand the second cellular network.

120 212 214 260 As described above, at least one of the processor, the first communication processor, the second communication processor, or the integrated communication processormay be implemented as a single chip or a single package. In this case, the single chip or single package may include memory (or storage means) storing instructions that cause at least some of operations performed according to an embodiment and a processing circuit (or operation circuit, but the term is not limited) for executing instructions.

222 212 292 292 242 232 222 212 Upon transmission, the first RFICmay convert a baseband signal generated by the first communication processorinto a radio frequency (RF) signal with a frequency ranging from about 700 MHz to about 3 GHz which is used by the first cellular network(e.g., a legacy network). Upon receipt, the RF signal may be obtained from the first network(e.g., a legacy network) through an antenna (e.g., the first antenna module) and be pre-processed via an RFFE (e.g., the first RFFE). The first RFICmay convert the pre-processed RF signal into a baseband signal that may be processed by the first communication processor.

224 212 214 294 294 244 234 224 212 214 Upon transmission, the second RFICmay convert the baseband signal generated by the first communication processoror the second communication processorinto a Sub6-band (e.g., about 6 GHz or less) RF signal (hereinafter, “5G Sub6 RF signal”) that is used by the second cellular network(e.g., a 5G network). Upon receipt, the 5G Sub6 RF signal may be obtained from the second cellular network(e.g., a 5G network) through an antenna (e.g., the second antenna module) and be pre-processed via an RFFE (e.g., the second RFFE). The second RFICmay convert the pre-processed 5G Sub6 RF signal into a baseband signal that may be processed by a corresponding processor of the first communication processorand the second communication processor.

226 214 294 294 248 236 226 214 236 226 The third RFICmay convert the baseband signal generated by the second communication processorinto a 5G Above6 band (e.g., from about 6 GHz to about 60 GHz) RF signal (hereinafter, “5G Above6 RF signal”) that is to be used by the second cellular network(e.g., a 5G network). Upon receipt, the 5G Above6 RF signal may be obtained from the second cellular network(e.g., a 5G network) through an antenna (e.g., the antenna) and be pre-processed via the third RFFE. The third RFICmay convert the pre-processed 5G Above6 RF signal into a baseband signal that may be processed by the second communication processor. In certain example embodiments, the third RFFEmay be formed as part of the third RFIC.

101 228 226 228 214 226 226 294 248 226 228 214 In certain example embodiments, the electronic devicemay include the fourth RFICseparately from, or as at least part of, the third RFIC. In this case, the fourth RFICmay convert the baseband signal generated by the second communication processorinto an intermediate frequency band (e.g., from about 9 GHz to about 11 GHz) RF signal (hereinafter, “IF signal”) and transfer the IF signal to the third RFIC. The third RFICmay convert the IF signal into a 5G Above6 RF signal. Upon receipt, the 5G Above6 RF signal may be received from the second cellular network(e.g., a 5G network) through an antenna (e.g., the antenna) and be converted into an IF signal by the third RFIC. The fourth RFICmay convert the IF signal into a baseband signal that may be processed by the second communication processor.

222 224 222 224 232 234 232 234 232 234 232 234 242 244 2 2 FIG.A orB In certain example embodiments, the first RFICand the second RFICmay be implemented as at least part of a single chip or single package. In certain example embodiments, when the first RFICand the second RFICinare implemented as a single chip or a single package, they may be implemented as an integrated RFIC. In this case, the integrated RFIC is connected to the first RFFEand the second RFFEto convert a baseband signal into a signal of a band supported by the first RFFEand/or the second RFFE, and may transmit the converted signal to one of the first RFFEand the second RFFE. In certain example embodiments, the first RFFEand the second RFFEmay be implemented as at least part of a single chip or single package. In certain example embodiments, at least one of the first antenna moduleor the second antenna modulemay be omitted or be combined with another antenna module to process multi-band RF signals.

226 248 246 192 120 226 248 246 226 248 101 294 In certain example embodiments, the third RFICand the antennamay be disposed on the same substrate to form the third antenna module. For example, the wireless communication moduleor the processormay be disposed on a first substrate (e.g., a main printed circuit board (PCB)). In this case, the third RFICand the antenna, respectively, may be disposed on one area (e.g., the bottom) and another (e.g., the top) of a second substrate (e.g., a sub PCB) which is provided separately from the first substrate, forming the third antenna module. Placing the third RFICand the antennaon the same substrate may shorten the length of the transmission line therebetween. This may reduce a loss (e.g., attenuation) of high-frequency band (e.g., from about 6 GHz to about 60 GHz) signal used for 5G network communication due to the transmission line. Thus, the electronic devicemay enhance the communication quality with the second network(e.g., a 5G network).

248 226 238 236 238 101 238 101 In certain example embodiments, the antennamay be formed as an antenna array which includes a plurality of antenna elements available for beamforming. In this case, the third RFICmay include a plurality of phase shifterscorresponding to the plurality of antenna elements, as part of the third RFFE. Upon transmission, the plurality of phase shiftersmay change the phase of the 5G Above6 RF signal which is to be transmitted to the outside (e.g., a 5G network base station) of the electronic devicevia their respective corresponding antenna elements. Upon receipt, the plurality of phase shiftersmay change the phase of the 5G Above6 RF signal received from the outside to the same or substantially the same phase via their respective corresponding antenna elements. This enables transmission or reception via beamforming between the electronic deviceand the outside.

294 292 101 230 120 212 214 The second cellular network(e.g., a 5G network) may be operated independently (e.g., as standalone (SA)) from, or in connection (e.g., as non-standalone (NSA)) with the first cellular network(e.g., a legacy network). For example, the 5G network may have the access network (e.g., 5G radio access network (RAN) or next generation RAN (NG RAN)) but may not have the core network (e.g., next generation core (NGC)). In this case, the electronic device, after accessing a 5G network access network, may access an external network (e.g., the Internet) under the control of the core network (e.g., the evolved packet core (EPC)) of the legacy network. Protocol information (e.g., LTE protocol information) for communication with the legacy network or protocol information (e.g., New Radio (NR) protocol information) for communication with the 5G network may be stored in the memoryand be accessed by other components (e.g., the processor, the first communication processor, or the second communication processor).

3 FIG. is a view illustrating ACK generation according to an embodiment.

101 310 120 320 212 214 260 310 310 317 310 310 310 In certain example embodiments, an electronic devicemay include an application processor(e.g., the processor) and a communication processor(e.g., at least one of the first communication processor, the second communication processor, or the integrated communication processor). The application processormay, e.g., execute at least one application. A user spaceand a kernelmay be defined (or executed) by the application processor. The application processormay, e.g., execute at least one application in the user space, and the at least one application may be a client in a server-client structure.

310 313 315 313 315 313 315 In certain example embodiments, the application processormay execute (or create) at least one socket, e.g., transmission socketsand reception socketsbased on TCP. A socket is an interface for transmitting/receiving data between a client and a server, and a client (e.g., at least one application) may transmit a request to a server through a socket and may receive a response from the server through a socket. Each of the clients may transmit data through each of the transmission sockets. Each of the clients may receive data through each of the reception sockets. Each of the sockets,may be identified (or defined) based on, e.g., an address (e.g., an internet protocol (IP) address) and/or a port number, but there is no limitation.

317 319 319 313 320 321 319 320 321 315 319 325 315 320 321 319 325 320 321 321 325 321 321 320 325 320 321 323 319 325 321 321 325 321 325 321 325 325 325 101 325 In certain example embodiments, in the kernel, a network stackmay be executed (or defined). The network stackmay, e.g., transmit data received from an application through at least some of the transmission socketsto the communication processor(e.g., the L2 layer) (e.g., by performing additional processing). The network stackis, e.g., a stack for communication with a network, and may provide data received from the communication processor(e.g., the L2 layer) to an application through at least some of the reception sockets(e.g., by performing additional processing). The network stackmay generate a TCP ACK(which may also be referred to as a TCP ACK segment, a TCP data segment, or an ACK) associated with completion (or success) of reception of the received data based on receiving data through at least some of the reception sockets(or successful reception) from the communication processor(e.g., the L2 layer). The network stackmay transmit the generated TCP ACKsto the communication processor(e.g., the L2 layer). For example, an IP packet including a TCP ACK segment may be provided to the L2 layer. For example, an IP packet corresponding to each of the TCP ACKsmay be provided to the L2 layer, and those skilled in the art will understand that providing an ACK to the L2 layermay be understood as providing an IP packet including a TCP ACK segment. The communication processormay transmit the TCP ACKsto a network. For example, the communication processormay receive an IP packet including a TCP ACK segment as described above, and may transmit data corresponding to the IP packet to the network. Those skilled in the art will understand that transmission of a TCP ACK to a network based on the L2 layermay mean, e.g., transmission of data corresponding to an IP packet including a TCP ACK segment to the network. For example, the L4 layerincluding the network stackmay generate the TCP ACKsand provide them to the L2 layer. As described above, IP packets including TCP ACK segments may be provided to the L2 layer, and this may also be named as providing the TCP ACKs. The L2 layermay transmit all of the TCP ACKsto the network. The L2 layermay allocate at least some of uplink resources for transmission of the TCP ACKsto the network for the received TCP ACKs. When all generated TCP ACKsare transmitted to the network, allocation of a relatively large number of resources among uplink resources may be required. In particular, when the electronic deviceperforms large-capacity download, it may receive a large number of received data, and accordingly, a relatively large number of resources among uplink resources may be allocated for transmission of all TCP ACKs.

101 325 101 325 325 In certain example embodiments, the electronic devicemay transmit only some of the TCP ACKsto the network. For example, the electronic devicemay perform grouping for the TCP ACKs, and may select TCP ACKs to transmit from among all TCP ACKsbased on a policy set for each group, which is described below. Accordingly, even when large-capacity download is performed, a relatively small portion of uplink resources may be allocated for TCP ACK transmission.

4 FIG. 4 FIG. 5 FIG. 5 FIG. is a flowchart illustrating an operation method of an electronic device according to an embodiment. The embodiment ofis described with reference to.is a view illustrating transmission of a TCP ACK segment according to an embodiment.

4 5 FIGS.and 5 FIG. 101 320 401 325 319 323 310 320 325 310 320 325 310 319 325 321 320 325 320 320 Referring to, In certain example embodiments, the electronic device(e.g., the communication processor) may, in operation, obtain a plurality of TCP ACKsgenerated based on the network stack(or the L4 layerof) executed in the at least one application processor. For example, the communication processormay obtain the plurality of TCP ACKsfrom a shared memory of the application processorand the communication processor, or may directly obtain the plurality of TCP ACKsfrom the application processor, but there is no limitation on the method. As described above, the network stackmay generate the TCP ACKsbased on data reception from the L2 layerand provide them to the communication processor. As described above, providing the TCP ACKsto the communication processormay be, e.g., providing an IP packet including a TCP ACK segment to the communication processor, but there is no limitation.

101 403 325 511 512 513 510 320 5 FIG. In certain example embodiments, the electronic devicemay, in operation, classify and store the plurality of TCP ACKsby a plurality of groups. For example, as illustrated in, a first TCP ACK group, a second TCP ACK group, and an Nth TCP ACK groupmay be stored in a bufferincluded in (or accessible by) the communication processor. For example, groups may be set based on an IP address (source IP address and/or destination IP address), a port number (reception port number and/or transmission port number), and/or network interface identification information (e.g., rmnet), but there is no limitation on the type of information (or criteria) for group setting or the number of groups (N). For example, the number of reception sockets and the number of groups may be the same, but this is also exemplary and may be set differently.

101 405 511 512 513 530 320 520 320 530 511 511 530 511 321 530 512 512 530 512 321 513 513 321 520 511 512 513 520 520 5 FIG. a a a In certain example embodiments, the electronic devicemay, in operation, fetch at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups,,. Here, the policy may include the number of TCP ACKs fetched per unit time, a fetch interval, and/or a fetch priority, but there is no limitation, and this is described below. For example, as illustrated in, a post-processing moduleexecuted by (or included in) the communication processormay fetch TCP ACKs based on a per-group policy provided from a policy managerexecuted by (or included in) the communication processor. For example, the post-processing modulemay fetch at least one first TCP ACK from the first TCP ACK groupbased on a first policy set for the first TCP ACK group. The post-processing modulemay provide one TCP ACK(e.g., which may be the TCP ACK having the largest sequence number but there is no limitation) among the at least one first TCP ACK to the L2 layer. For example, the post-processing modulemay fetch at least one second TCP ACK from the second TCP ACK groupbased on a second policy set for the second TCP ACK group. The post-processing modulemay provide one TCP ACK(e.g., which may be the TCP ACK having the largest sequence number but there is no limitation) among the at least one second TCP ACK to the L2 layer, and the process of providing one TCP ACKfrom the Nth TCP groupto the L2 layermay be substantially the same. For example, the policy managermay set a policy for each of the first TCP ACK group, the second TCP ACK group, and the Nth TCP ACK group. The policy managermay perform a per-group policy based on, e.g., TCP-related information and/or network-related information (which may also be referred to as L2 layer, L3 layer, and/or L4 layer-related information), which is described below. The policy manager(or a monitoring task) may, e.g., obtain TCP-related information and/or a network, and may, e.g., store it in a table format.

101 407 511 512 513 101 511 511 512 512 513 513 a a a a a a In certain example embodiments, the electronic devicemay, in operation, transmit at least a portion,,of each of the fetched at least one TCP ACK segment to the network. In an example, the electronic devicemay transmit to the network a TCP ACKselected from among the at least one first TCP ACK fetched from the first TCP ACK group, a TCP ACKselected from among the at least one second TCP ACK fetched from the second TCP ACK group, and a TCP ACKselected from among the at least one Nth TCP ACK fetched from the Nth TCP ACK group. Meanwhile, transmission of a TCP ACK to the network may mean, as described above, transmission of data including at least a portion of a TCP ACK segment to the network.

101 101 101 101 101 As described above, the electronic devicemay transmit only some TCP ACKs, not all generated TCP ACKs, to the network, and accordingly, a relatively small portion of uplink resources may be allocated for TCP ACK transmission. For example, as is described below, the electronic devicemay establish a policy for fetching for each group based on TCP-related information and/or network-related information, and accordingly, TCP ACK transmission that adaptively responds to TCP-related information and/or network-related information that changes in real-time may be possible. Meanwhile, TCP ACKs that are not transmitted may be discarded. In certain example embodiments, the electronic devicemay also determine TCP ACKs to be transmitted based on whether packet duplication occurs. For example, when packet duplication is performed for retransmission, the electronic devicemay transmit the duplicated TCP ACK without discarding it. For example, the electronic devicemay be configured to transmit only some TCP ACKs, not all generated TCP ACKs, to the network when packet duplication has not occurred.

4 5 FIGS.and 320 325 310 310 310 320 310 Meanwhile, in the embodiments of, it has been described that the communication processortransmits only some of the TCP ACKsgenerated by the application processorto the network, but this is exemplary. For example, the application processormay be implemented to generate only TCP ACKs corresponding to some of the received data, rather than generating TCP ACKs corresponding to all received data. For example, the application processormay select TCP ACKs to generate (or received data for which to generate corresponding TCP ACKs) based on a policy set for each socket, and accordingly, TCP ACKs corresponding to some of all received data may be generated. Those skilled in the art will understand that operations for selecting some of the TCP ACKs by the communication processoraccording to embodiments of the disclosure may be redisposed by, e.g., generation of TCP ACKs corresponding to some of all received data by the application processor.

6 FIG.A is a flowchart illustrating an operation method of an electronic device according to an embodiment.

101 320 601 320 310 320 310 101 603 101 101 605 101 101 603 605 101 607 605 101 609 5 FIG. In certain example embodiments, the electronic device(e.g., the communication processor) may, in operation, obtain a TCP ACK. For example, the communication processormay obtain a TCP ACK from a shared memory of the application processorand the communication processor, or may directly obtain a TCP ACK from the application processor, but there is no limitation on the method. The electronic devicemay, in operation, identify at least one identification information from the obtained TCP ACK. For example, the electronic devicemay identify an IP address (source IP address and/or destination IP address) and/or a port number (reception port number and/or transmission port number) as the at least one identification information, but there is no limitation on the type of identification information. The electronic devicemay, in operation, identify whether the identified at least one identification information corresponds to an existing group. As described above, the electronic devicemay manage groups based on an IP address (source IP address and/or destination IP address) and/or a port number (reception port number and/or transmission port number). The electronic devicemay identify whether the identification information identified in operationcorresponds to the IP address (source IP address and/or destination IP address) and/or port number (reception port number and/or transmission port number) of a previously created group. For example, when the identified at least one identification information corresponds to an existing group (operation—Yes), the electronic devicemay, in operation, store the TCP ACK in the corresponding group. When the identified at least one identification information does not correspond to an existing group (operation—No), the electronic devicemay, in operation, create a new group and store the TCP ACK in the new group. Accordingly, as described in connection to, the generated TCP ACKs may be grouped.

6 FIG.B is a flowchart illustrating an operation method of an electronic device according to an embodiment.

101 320 611 320 310 320 310 101 613 101 615 101 101 613 615 101 617 615 101 619 5 FIG. In certain example embodiments, the electronic device(e.g., the communication processor) may, in operation, obtain a TCP ACK. For example, the communication processormay obtain a TCP ACK from a shared memory of the application processorand the communication processor, or may directly obtain a TCP ACK from the application processor, but there is no limitation on the method. The electronic devicemay, in operation, identify a network interface (e.g., rmnet) through which the obtained TCP ACK was provided. The electronic devicemay, in operation, identify whether the identified network interface corresponds to an existing group. As described above, the electronic devicemay manage groups based on a network interface. The electronic devicemay identify whether the network interface identified in operationcorresponds to the network interface of a previously created group. For example, when the identified network interface corresponds to an existing group (operation—Yes), the electronic devicemay, in operation, store the TCP ACK in the corresponding group. When the identified network interface does not correspond to an existing group (operation—No), the electronic devicemay, in operation, create a new group and store the TCP ACK in the new group. Accordingly, as described in connection to, the generated TCP ACKs may be grouped.

7 FIG.A 7 FIG.A 7 FIG.B 7 FIG.B is a flowchart illustrating an operation method of an electronic device according to an embodiment. The embodiment ofis described with reference to.is a view illustrating transmission of TCP according to an embodiment.

7 7 FIGS.A andB 101 320 701 723 101 703 723 101 101 721 101 723 721 101 731 101 723 731 721 731 Referring to, In certain example embodiments, the electronic device(e.g., the communication processor) may, in operation, transmit an ith TCP ACKcorresponding to an nth application. The electronic devicemay, in operation, transmit an ith TCP ACKcorresponding to an mth application. For example, the electronic devicemay execute the nth application and the mth application. For example, a socket corresponding to the nth application may be created based on execution of the nth application, and a socket corresponding to the mth application may be created based on execution of the mth application. The electronic devicemay receive received databased on the nth application from the network. The electronic devicemay transmit the ith TCP ACKcorresponding to any one of the received data. The electronic devicemay receive received databased on the mth application from the network. The electronic devicemay transmit the ith TCP ACKcorresponding to any one of the received data. Meanwhile, at least some of the received dataand at least some of the received datamay be included together in one unit period (e.g., a frame or subframe), or may be included in different unit periods, and there is no limitation.

101 705 725 101 707 735 101 101 319 721 101 319 731 101 723 725 733 735 723 725 733 735 In certain example embodiments, the electronic devicemay, in operation, transmit an i+xth TCP ACKbased on a policy corresponding to the nth application. The electronic devicemay, in operation, transmit an i+yth TCP ACKbased on a policy corresponding to the mth application. As described above, the electronic devicemay set a policy for each group of TCP ACKs. At least some of the criteria for distinguishing groups of TCP ACKs may be the same as, e.g., at least some of the criteria for distinguishing applications. For example, groups of TCP ACKs may be distinguished by port numbers, and applications may also be distinguished by port numbers, and accordingly, policies may be set for each application. Or, the electronic devicemay be implemented to set a policy for each application, according to the implementation. For example, the network stackmay generate TCP ACKs corresponding to the received datacorresponding to the nth application. The electronic devicemay fetch at least one TCP ACK from among the TCP ACKs generated based on a policy corresponding to the nth application, and may transmit the TCP ACK having the largest sequence number (SN) among them to the network. The network stackmay generate TCP ACKs corresponding to the received datacorresponding to the mth application. The electronic devicemay fetch at least one TCP ACK from among the TCP ACKs generated based on a policy corresponding to the mth application, and may transmit the TCP ACK having the largest SN among them to the network. Depending on the policy, the fetch number for the mth application and the fetch number for the nth application may be different. Accordingly, the difference in SN (e.g., x) between consecutive (or adjacent) TCP ACKs,corresponding to the nth application and the difference in SN (e.g., y) between consecutive (or adjacent) TCP ACKs,corresponding to the mth application may be different. Meanwhile, those skilled in the art will understand that if at least some of the policy corresponding to the nth application and the policy corresponding to the mth application are the same, the difference in SN between consecutive (or adjacent) TCP ACKs,corresponding to the nth application and the difference in SN between consecutive (or adjacent) TCP ACKs,corresponding to the mth application may be the same.

101 Meanwhile, as is described below, policies for each application (or each group) may be set based on TCP information and/or network information, and accordingly may be updated based on changes in TCP information and/or network information. For example, a first MCS value may be set for reception of received data corresponding to the nth application during a first period, and a second MCS value may be set for reception of received data corresponding to the nth application during a second period. As is described below, e.g., a policy may be set based on an MCS value, which is one example of network information, and the policy may be updated according to changes in the MCS value. For example, the difference in SN between TCP ACKs associated with the nth application during the first period by the electronic devicemay be different from the difference in SN between TCP ACKs associated with the nth application during the second period.

8 FIG.A is a flowchart illustrating an operation method of an electronic device according to an embodiment.

101 320 801 101 In certain example embodiments, the electronic device(e.g., the communication processor) may, in operation, identify TCP-related information and/or network-related information. The electronic devicemay set (or update) a policy for each of the plurality of groups based on the TCP-related information and/or network-related information. For example, the network-related information may include modulation and coding scheme (MCS), block error rate (BLER), reception strength (e.g., reference signal received power (RSRP), reference signal received quality (RSRQ), signal-to-interference-noise ratio (SINR), and/or received signal strength indicator (RSSI)), quality of service (QoS), QoS class identifier (QCI), radio access technology (RAT), and/or packet data network (PDN) connection (or protocol data unit (PDU) session) identification information, but there is no limitation. For example, the TCP-related information may include an address (e.g., an internet protocol (IP) address), a port number, ACK throughput (ACK TP), and/or priority, but there is no limitation.

101 101 36 213 101 101 rd For example, the electronic devicemay identify an uplink capacity based on the MCS. For example, the electronic devicemay identify an uplink capacity corresponding to the MCS and/or transport block size (TBS) based on 3generation partnership project (3GPP) technical specification (TS).. The electronic devicemay identify the size of a TCP ACK. The electronic devicemay identify a fetch interval based on the TCP ACK size and the identified uplink capacity. For example, the fetch interval may be set such that the product of the uplink capacity and the fetch interval is greater than the size of at least one TCP ACK, which is described below.

101 101 310 320 310 320 320 320 310 101 For example, the electronic devicemay set a fetch number based on ACK throughput (ACK TP). For example, the electronic devicemay identify (or measure, or monitor) the ACK throughput (e.g., which may be in units of bps but there is no limitation). For example, the application processormay provide a TCP ACK to the communication processorafter receiving received data, and may identify the ACK TP based on the sum of sizes of TCP ACKs generated per unit time. In this case, the application processormay provide the identified ACK TP to the communication processor. The communication processormay identify the ACK TP based on the sum of sizes of TCP ACKs read from a shared memory (or ring buffer, or DMA). The communication processormay identify the ACK TP based on the sum of sizes of TCP ACKs provided from the application processor. For example, the electronic devicemay identify the number of TCP ACKs fetched per identified fetch interval, e.g., a fetch number, based on the ACK TP and the uplink capacity of the network.

8 FIG.B is a view illustrating transmission of TCP ACK based on a policy according to an embodiment.

820 810 810 101 In certain example embodiments, a post-processing modulemay refer to a policy table. The policy tablemay include policies for each group. For example, for a first group, “time” (or fetch interval) may be set to 1 ms, “number” (or fetch number) may be set to 50, and priority may be set to high. For example, based on a relatively high MCS being set for a PDN connection corresponding to the first group, the electronic devicemay set the priority of the first group to high, but there is no limitation on the method of setting priority. For example, for a first group, “time” (or fetch interval) may be set to 1 ms, “number” (or fetch number) may be set to 50, and priority may be set to high. For example, for a second group and a third group, “time” (or fetch interval) may be set to 1 ms, “number” (or fetch number) may be set to 10, and priority may be set to normal.

820 811 50 820 820 812 10 820 813 10 820 In certain example embodiments, the post-processing modulemay fetch at least one TCP ACK from a first groupstored in a buffer based on a policy set for the first group, and may fetch, e.g.,TCP ACKs in 1 ms. The post-processing modulemay perform fetching preferentially over other groups based on the priority set for the first group being high. The post-processing modulemay fetch at least one TCP ACK from a second groupstored in the buffer based on a policy set for the second group, and may fetch, e.g.,TCP ACKs in 1 ms. The post-processing modulemay fetch at least one TCP ACK from a third groupstored in the buffer based on a policy set for the third group, and may fetch, e.g.,TCP ACKs in 1 ms. For example, the same priority may be set for the second group and the third group. In this case, the post-processing modulemay, e.g., randomly select one of the second group and the third group to perform fetching, or may perform fetching based on a designated order, but there is no limitation on the method of determining the order.

821 320 822 821 821 825 811 822 811 825 811 822 823 812 824 813 822 823 824 825 822 In certain example embodiments, a selection moduleexecuted by or included in the communication processormay select a TCP ACK for transmission from the fetched TCP ACKs and provide it to a queue. For example, the selection modulemay select the TCP ACK having the largest SN among the fetched at least one TCP ACK. For example, the selection modulemay provide a TCP ACKhaving the largest SN among the at least one TCP ACK fetched from the first groupto the queue. For example, as fetching from the first groupis performed first based on the priority corresponding to the first group being high, the TCP ACKcorresponding to the first groupmay also be input to the queuefirst. Meanwhile, a TCP ACKhaving the largest SN among the at least one TCP ACK fetched from the second groupand a TCP ACKhaving the largest SN among the at least one TCP ACK fetched from the third groupmay also be provided to the queue. The TCP ACKs,,provided to the queuemay be sequentially provided to the L2 layer, for example.

8 FIG.C is a flowchart illustrating an operation method of an electronic device according to an embodiment.

101 320 831 101 833 320 310 320 101 101 101 101 833 101 835 101 101 In certain example embodiments, the electronic device(e.g., the communication processor) may, in operation, identify TCP-related information and/or network-related information. The electronic devicemay, in operation, identify whether a change in policy is identified based on the identified information. For example, as described above, the communication processormay receive information about ACK TP among TCP-related information from the application processorat a designated cycle or when there is a change. Or, the communication processormay identify information about ACK TP, which is TCP-related information, at a designated cycle (or based on events). The electronic devicemay, e.g., identify that information about ACK TP has changed, and accordingly may identify whether a policy change is required. The electronic devicemay also identify, e.g., a change in information about MCS, which is network-related information. For example, when the degree of change in information does not satisfy a designated change condition, the electronic devicemay identify that a policy change is not required. For example, when the degree of change in ACK TP is less than a threshold degree of change, the electronic devicemay identify that a policy change is not required. When it is identified that a policy change is required (—Yes), the electronic devicemay, in operation, change the policy. The electronic devicemay, e.g., set a policy based on the changed information based on the method described above. Or, according to the implementation, the electronic devicemay immediately perform a policy change when a change in information is identified.

8 FIG.D is a flowchart illustrating an operation method of an electronic device according to an embodiment.

310 841 310 843 310 845 310 320 320 847 320 310 849 310 310 851 320 320 853 320 101 101 In certain example embodiments, the application processormay, in operation, execute an application. The application processormay, in operation, create a socket corresponding to the executed application. The application processormay, in operation, provide TCP-related information. For example, the application processormay provide an IP address (source IP address and/or destination IP address), a port number (reception port number and/or transmission port number), network interface identification information (e.g., rmnet), and/or ACK TP to the communication processor. The communication processormay, in operation, set a policy based on the received TCP-related information. The communication processormay also set a policy based on network-related information in addition to the received TCP-related information. The application processormay, in operation, identify a change in TCP-related information. For example, the application processormay identify a change in ACK TP, but there is no limitation on the type of information that changes. The application processormay, in operation, provide TCP-related information (or change information) to the communication processor. The communication processormay, in operation, set a policy based on the received TCP-related information (or change information). The communication processormay also set a policy based on network-related information in addition to the received TCP-related information. For example, network-related information may also change, and the electronic devicemay also update a policy based on the changed network-related information. Or, although not illustrated, the electronic devicemay also update a policy based only on changes in network-related information. According to the above, the number and/or interval of TCP ACKs transmitted to the network may be adjusted adaptively to an environment that changes in real-time.

9 FIG.A 9 FIG.A 9 9 FIGS.B andC 9 FIG.B 9 FIG.C is a view illustrating policy determination according to an embodiment.is described with reference to.is an example of a policy according to an embodiment.is a view illustrating fetching based on a policy according to an embodiment.

101 320 901 901 901 1 2 3 4 901 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 9 FIG.A 9 FIG.A In certain example embodiments, the electronic device(e.g., the communication processor) may identify informationfor policy determination. The informationfor policy determination may include, e.g., TCP-related information and/or network-related information. In the embodiment of, the informationmay include address information (e.g., destination IP address (Dest. IP) and source IP address (Src.IP)) and port number (Port) corresponding to each of four groups (group #, group #, group #, group #). Meanwhile, in the informationof, even though the four groups (group #, group #, group #, group #) include the same address, the four groups (group #, group #, group #, group #) may be distinguished as the port numbers are different. Meanwhile, the four groups (group #, group #, group #, group #) including the same address is exemplary and may be at least partially different. For the four groups (group #, group #, group #, group #), e.g., the same priority has been described as being the same as “normal,” but this is exemplary and may be at least partially different. For example, a plurality of TCP sessions corresponding to a plurality of different port numbers for the same IP address may be created corresponding to one PDN connection, and this may be named multi-stream TCP-based TCP packet transmission. For example, TP measurement applications (or other applications) of Ookla, Speedtest, or Datum may create multiple ports for the same IP address for efficient packet transmission, and accordingly multi-stream TCP sessions may be created, but there is no limitation.

901 320 310 901 1 2 3 4 9 FIG.A 9 FIG.A The informationmay include ACK throughput (ACK TP). As described above, the communication processormay receive information about ACK throughput (ACK TP) from the application processor, or may identify (or measure, or monitor) ACK throughput (ACK TP). The informationmay include, as network-related information, information about RAT, MCS, QCI, PDN connection identification information (PDN #), QoS, and groups (Group #) corresponding thereto. For example, in the example of, the four groups (group #, group #, group #, group #) may correspond to a RAT of “LTE” (or E-UTRA), an MCS of “2”, a “QCI” of 4, PDN connection identification information of “5”, and a QoS of “1”. Meanwhile, in the example of, network-related information corresponding to one session (or PDN connection) has been described, but those skilled in the art will understand that when multiple sessions are established, multiple NW information may be managed correspondingly.

101 101 101 101 101 101 101 101 In certain example embodiments, the electronic devicemay identify an uplink capacity based on the MCS. For example, the electronic devicemay identify an uplink capacity of “7000 Kbps=87.5 byte/ms” based on the MCS of “2”. As described above, the electronic devicemay identify an uplink capacity of “7000 Kbps=87.5 byte/ms” corresponding to the MCS of “2” based on, e.g., 3GPP TS 36.213, but there is no limitation on the identification method. The electronic devicemay identify the packet size of a TCP ACK as, e.g., “40 bytes”. The electronic devicemay identify 4×40 bytes=160 bytes by multiplying the total number of groups (e.g., which may be the number of sessions), which is 4, by “40 bytes”, which is the packet size of a TCP ACK. As described above, the electronic devicemay identify that the uplink capacity is “87.5 byte/ms” and the product of the TCP ACK packet size and the number of groups is “160 bytes”. The electronic devicemay determine the fetch interval such that, e.g., the product of the uplink capacity and the fetch interval (e.g., MAX capa) is greater than the product of the TCP ACK packet size and the number of groups. For example, the electronic devicemay determine the fetch interval such that the product of “87.5 byte/ms” and the fetch interval is greater than “160 bytes”, and accordingly may determine the fetch interval as 2 ms. Accordingly, “175 bytes”, which is the product of “87.5 byte/ms” and the fetch interval “2 ms”, may be greater than “160 bytes”.

101 101 101 101 101 In certain example embodiments, the electronic devicemay also identify a fetch number based on, e.g., ACK TP. The electronic devicemay identify, e.g., that the ACK TP for each group is “400 Kbps”. The electronic devicemay identify that the sum of ACK TP corresponding to the four groups is “400 Kbps”×4, which is “1.6 Mbps”. The electronic devicemay determine the fetch number such that, e.g., the product of the fetch number and the uplink capacity of the network is greater than the sum of ACK TP. For example, the electronic devicemay determine as the fetch number the minimum value, or a low value, of the fetch number such that the product of the uplink capacity of the network, 700 kbps, and the fetch number is greater than the sum of ACK TP, “1.6 Mbps”, and may determine the fetch number as “2”, for example.

101 101 101 101 903 2 101 2 101 101 9 FIG.B 9 FIG.B Meanwhile, as described above, the identification of the fetch interval based on the MCS (or UL capacity identified based on the MCS), the size of TCP ACK, and the number of groups is exemplary, and the electronic devicemay also identify a fetch interval based on, e.g., ACK TP. For example, the electronic devicemay determine a fetch interval of 2 ms to fetch TCP ACKs of four groups when the ACK TP of each group is 400 kbps. Further, as described above, the determination of the fetch number based on ACK TP is merely exemplary, and the electronic devicemay also determine the fetch number based on, e.g., the TCP ACK size. For example, assuming the TCP ACK size is 40 bytes, a maximum of 2 ACKs per group may be transmittable per 2 ms, and accordingly the fetch number may be set to 2. As described above, the electronic devicemay identify informationabout a fetch interval time (e.g., 2 ms) and fetch number (number of ack) (e.g.,) for any group. Meanwhile, the priority may be set to “default”, but there is no limitation on the method of setting priority. According to the method described above, the electronic devicemay set a fetch interval time (e.g., 2 ms) and fetch number (number of ack) (e.g.,) for each group, as in. The priority may be set to “normal”, which is “default”, but there is no limitation on the method of setting priority. Meanwhile, in the embodiment of, the same policy has been described for all groups, but this is exemplary and policies of two groups may be set at least partially differently. Meanwhile, the electronic devicemay periodically (or based on event occurrence) identify TCP-related information (e.g., information for identifying a session and/or ACK TP) and/or network-related information (e.g., which may be MCS but there is no limitation), and may also identify at least some changes. The electronic devicemay adjust at least some of the fetch number, fetch interval, and/or priority based on the changed information.

101 905 930 921 922 923 924 930 921 922 923 924 905 931 905 921 922 923 924 930 2 921 922 923 924 905 905 921 922 923 924 930 921 922 923 924 921 922 923 924 930 931 932 921 922 923 924 932 932 932 9 FIG.B 9 FIG.C In certain example embodiments, the electronic devicemay perform fetching of TCP ACKs based on a policyas in. For example, as in, a post-processing modulemay perform fetching from each of a plurality of TCP ACK groups,,,. The post-processing modulemay fetch at least one TCP ACK from each of the groups,,,based on, e.g., the policy. Accordingly, at least one fetched TCP ACKmay be identified. For example, in the policy, the fetch interval for each of the plurality of groups,,,may be 2 ms, and the fetch number may be 2. The post-processing modulemay fetchTCP ACKs every 2 ms from each of the groups,,,based on, e.g., the policy. For example, in the policy, the priority for each group,,,may be the same as “normal”. The post-processing modulemay fetch TCP ACKs from the groups,,,based on a designated rule (e.g., which may be random selection or selection in order of designated identification numbers but there is no limitation) as the priorities for the groups,,,are the same. In certain example embodiments, the post-processing modulemay select one from among the at least one TCP ACKfetched for each group and provide it to a queue. Accordingly, four TCP ACKs selected corresponding to each of the four groups,,,may be stored in the queue. For example, the TCP ACK having the largest SN among the TCP ACKs fetched for each group may be selected and provided to the queue, but there is no limitation on the selection method. The TCP ACKs stored in the queuemay be sequentially provided to the L2 layer. As described above, four TCP ACKs may be provided to the L2 layer every 2 ms. In this case, if the size of one TCP ACK is 40 bytes, e.g., 40×4=160 bytes may be provided to the L2 layer in 2 ms. As described above, the fetch interval and/or fetch number may be set such that 160 bytes provided to the L2 layer is less than the UL capacity of the network, which is 175 bytes/2 ms.

10 FIG.A is a view illustrating policy determination according to an embodiment.

101 320 1001 1001 901 1 2 3 1001 1 2 3 1 2 3 1 2 3 1 2 3 1001 1 2 3 1 2 3 10 FIG.A 10 FIG.A In certain example embodiments, the electronic device(e.g., the communication processor) may identify informationfor policy determination. The informationfor policy determination may include, e.g., TCP-related information and/or network-related information. In the embodiment of, the informationmay include address information (e.g., destination IP address (Dest. IP) and source IP address (Src.IP)) and port number (Port) corresponding to each of three groups (group #, group #, group #). Meanwhile, in the informationof, even though the three groups (group #, group #, group #) include the same address, the three groups (group #, group #, group #) may be distinguished as the port numbers are different. Meanwhile, the three groups (group #, group #, group #) including the same address is exemplary and may be at least partially different. The priority for the three groups (group #, group #, group #) has been described as being the same as “normal,” but this is exemplary and may be at least partially different. The informationmay include ACK throughput (ACK TP). The ACK TP for each group (group #, group #, group #) may be identified as 400 Kbps, 300 Kbps, and 300 Kbps. The three groups (group #, group #, group #) may correspond to a RAT of “LTE” (or E-UTRA), an MCS of “3”, a “BLER of 25%”, PDN connection identification information of “5”, and a QoS of “1”.

101 101 101 101 101 101 101 101 In certain example embodiments, the electronic devicemay identify an uplink capacity based on the MCS. For example, the electronic devicemay identify an uplink capacity of “1 Mbps” based on the MCS of “3”. The electronic devicemay identify the UL capacity as “1 Mbps”×0.75 (multiplying by 70% based on the BLER being 25%)=“750 Kbps=93.7 byte/ms” based on the BLER being 25%. The electronic devicemay identify the packet size of a TCP ACK as, e.g., “40 bytes”. The electronic devicemay identify 3×40 bytes=120 bytes by multiplying the total number of groups (e.g., which may be the number of sessions), which is 3, by “40 bytes”, which is the packet size of a TCP ACK. As described above, the electronic devicemay identify that the uplink capacity is “93.7 byte/ms” and the product of the TCP ACK packet size and the number of groups is “120 bytes”. The electronic devicemay determine the fetch interval such that, e.g., the product of the uplink capacity and the fetch interval (e.g., MAX capa) is greater than the product of the TCP ACK packet size and the number of groups. For example, the electronic devicemay determine the fetch interval such that the product of “93.7 byte/ms” and the fetch interval is greater than “120 bytes”, and accordingly may determine the fetch interval as 2 ms. Accordingly, “187.4 bytes”, which is the product of “93.7 byte/ms” and the fetch interval “2 ms”, may be greater than “120 bytes”.

101 101 101 101 101 1003 1001 1003 In certain example embodiments, the electronic devicemay also identify a fetch number based on, e.g., ACK TP. The electronic devicemay identify, e.g., that the sum of ACK TP of each group is 400+300+300=“1000 Kbps”. The electronic devicemay determine the fetch number such that, e.g., the product of the fetch number and the uplink capacity of the network is greater than the sum of ACK TP. For example, the electronic devicemay determine as the fetch number the minimum or a low value of the fetch number such that the product of the uplink capacity of the network, 750 kbps, and the fetch number is greater than the sum of ACK TP, “1000 Kbps”, and may determine the fetch number as “2”, for example. According to the above, the electronic devicemay determine a policycorresponding to the information, and the policymay include a fetch interval of “2 ms” and a fetch number of “2 ms”.

101 101 Meanwhile, if the BLER is 0%, the fetch interval may be determined as “1 ms” and the fetch number may be “1”. For example, when the BLER is 0%, since the UL capacity is 1000 kbps, it may be the same value as the sum of ACK TP, 1000 kbps, and accordingly the fetch number may be “1”. Further, the product of packet size and number of groups is 120 bytes, which may be greater than the UL capacity of 1000 kbps=125 bytes/ms, so the fetch interval may be “1 ms”. Accordingly, as the BLER among network-related information changes from “0%” to “25%”, the electronic devicemay update the fetch number from 1 to 2 and update the fetch interval from 1 ms to 2 ms. As described above, the electronic devicemay adaptively update the policy according to changes in the network communication environment.

10 FIG.B is a view illustrating policy determination according to an embodiment.

101 320 1011 1011 101 901 1011 101 901 1011 1011 1 2 3 4 1011 1 2 3 4 101 1 2 3 4 1 101 101 101 1 1 1 101 1013 2 3 4 101 9 FIG.A 10 FIG.B 10 FIG.B 10 FIG.B In certain example embodiments, the electronic device(e.g., the communication processor) may identify informationfor policy determination. The informationfor policy determination may include, e.g., TCP-related information and/or network-related information. For example, let's assume that the electronic deviceidentifies the informationofat a first time and then identifies the informationofat a second time. According to changes in TCP-related information and/or network-related information, the information identified by the electronic devicemay also change from the informationto the information. In the embodiment of, the informationmay include address information (e.g., destination IP address (Dest. IP) and source IP address (Src.IP)) and port number (Port) corresponding to each of four groups (group #, group #, group #, group #). In the informationof, the IP addresses of the four groups (group #, group #, group #, group #) may be different. Meanwhile, the electronic devicemay identify that the ACK TP corresponding to the first group (group #) is 800 Kbps, and the ACK TP corresponding to the second group (group #), the third group (group #), and the fourth group (group #) is 300 Kbps. For example, as ACK retransmission occurs in the PDN connection corresponding to the first group (group #), the ACK TP may increase to 800 Kbps. The electronic devicemay perform ACK duplication for ACK retransmission. The electronic devicemay not perform ACK aggregation for ACKs for retransmission. Accordingly, the electronic devicemay not perform ACK aggregation for the first group (group #), which is a group performing ACK retransmission (or a group where ACK duplication is performed), and accordingly a policy for fetching may not be determined for the first group (group #), or the existing policy may not be applied. Or, the existing policy may be maintained for the first group (group #). The electronic devicemay update the policyfor the second group (group #), the third group (group #), and the fourth group (group #) (e.g., update the fetch interval from the existing “2 ms” to “3 ms”). As such, the electronic devicemay be configured to update policies for groups where ACK retransmission has not occurred.

Table 1 is an example of the aggregation ratio identified when applying the embodiments of the disclosure. Here, the aggregation ratio may be the ratio of the number of discarded ACKs to the ACK count by the AP, and may also be named the discard ratio.

TABLE 1 Downlink ACK ACK Experiment packet count count Downlink Aggregation order count by AP by CP throughput ratio 1 18,066 14,519 7,609 748 51 2 18,129 14,277 7,589 745 52 3 17,867 15,544 7,517 747 48

101 320 310 320 310 320 320 320 320 As illustrated in Table 1, the aggregation ratio may be identified as about 50%, and accordingly it may be identified that the number of ACKs transmitted to the network is decreased. Further, it may also be identified that the aggregation ratio is also adaptively changed based on changes in TCP-related information and/or network-related information. In certain example embodiments, an electronic devicemay include at least one communication processorand at least one application processor. The at least one communication processormay be configured to obtain a plurality of TCP ACKs generated based on a network stack executed in the at least one application processor. The at least one communication processormay be configured to classify and store the plurality of TCP ACKs by a plurality of groups in at least one buffer associated with the at least one communication processor. The at least one communication processormay be configured to fetch at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups. The at least one communication processormay be configured to transmit at least a portion of each of the fetched at least one TCP ACK.

320 In certain example embodiments, the at least one communication processormay be further configured to determine the policies corresponding to each of the plurality of groups based on TCP-related information and/or network-related information.

320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the policies corresponding to each of the plurality of groups based on the TCP-related information and/or the network-related information, determine fetch intervals corresponding to each of the plurality of groups as at least a portion of the policies based on at least a portion of the TCP-related information and/or the network-related information.

320 320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information, identify an uplink capacity identified based on an MCS included in the network-related information. In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information, determine the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity.

320 320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity, identify sizes of TCP ACKs associated with each of the plurality of groups. In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity, determine each of the fetch intervals based on the sizes and the uplink capacity.

320 310 320 320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity, identify an ACK throughput between the at least one application processorand the at least one communication processorincluded in the TCP-related information. In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity, determine each of the fetch intervals based on the ACK throughput and the uplink capacity.

320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity, determine the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity and a BLER included in the network-related information.

320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the policies corresponding to each of the plurality of groups based on the TCP-related information and/or the network-related information, determine fetch numbers corresponding to each of the plurality of groups as at least a portion of the policies based on at least a portion of the TCP-related information and/or the network-related information.

320 320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information, identify an uplink capacity identified based on an MCS included in the network-related information. In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information, determine the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity.

320 310 320 320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity, identify an ACK throughput between the at least one application processorand the at least one communication processorincluded in the TCP-related information. In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity, determine each of the fetch numbers based on the ACK throughput and the uplink capacity. “Based on” as used herein covers based at least on.

320 320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity, identify sizes of TCP ACKs associated with each of the plurality of groups. In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity, determine each of the fetch numbers based on the sizes and the uplink capacity.

320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity, determine the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity and a BLER included in the network-related information.

320 320 In certain example embodiments, the at least one communication processormay be configured to identify a change in at least a portion of the TCP-related information and/or the network-related information. In certain example embodiments, the at least one communication processormay be further configured to update at least a portion of the policies based on the identified change.

320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of updating at least a portion of the policies based on the identified change, update at least one policy corresponding to at least a portion of at least one group of the plurality of groups in which ACK retransmission has not occurred.

In certain example embodiments, the plurality of groups may be distinguished based on an IP address, a port number, and/or network interface identification information.

320 In certain example embodiments, the at least one communication processormay be configured to, as at least a portion of transmitting at least a portion of each of the fetched at least one TCP ACK, transmit a TCP ACK having a largest sequence number among at least one first TCP ACK fetched from a first group of the plurality of groups as a TCP ACK corresponding to the first group.

101 101 In certain example embodiments, in a storage medium storing at least one computer-readable instruction, the at least one instruction may, when executed by at least one processor of an electronic device, cause the electronic deviceto perform at least one operation. The at least one operation may include obtaining a plurality of TCP ACKs. The at least one operation may include classifying and storing the plurality of TCP ACKs by a plurality of groups. The at least one operation may include fetching at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups. The at least one operation may include transmitting at least a portion of each of the fetched at least one TCP ACK.

In certain example embodiments, the at least one operation may include determining the policies corresponding to each of the plurality of groups based on TCP-related information and/or network-related information.

In certain example embodiments, determining the policies corresponding to each of the plurality of groups based on the TCP-related information and/or the network-related information may determine fetch intervals corresponding to each of the plurality of groups as at least a portion of the policies based on at least a portion of the TCP-related information and/or the network-related information.

In certain example embodiments, determining the fetch intervals corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information may include identifying an uplink capacity identified based on an MCS included in the network-related information. In certain example embodiments, determining the fetch intervals corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information may include determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity.

In certain example embodiments, determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity may include identifying sizes of TCP ACKs associated with each of the plurality of groups.

In certain example embodiments, determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity may include determining each of the fetch intervals based on the sizes and the uplink capacity.

310 320 In certain example embodiments, determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity may include identifying an ACK throughput between the at least one application processorand the at least one communication processorincluded in the TCP-related information. In certain example embodiments, determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity may include determining each of the fetch intervals based on the ACK throughput and the uplink capacity.

In certain example embodiments, determining the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity may determine the fetch intervals corresponding to each of the plurality of groups based on the uplink capacity and a BLER included in the network-related information.

In certain example embodiments, determining the policies corresponding to each of the plurality of groups based on the TCP-related information and/or the network-related information may determine fetch numbers corresponding to each of the plurality of groups as at least a portion of the policies based on at least a portion of the TCP-related information and/or the network-related information.

In certain example embodiments, determining the fetch numbers corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information may include identifying an uplink capacity identified based on an MCS included in the network-related information. In certain example embodiments, determining the fetch numbers corresponding to each of the plurality of groups based on at least a portion of the TCP-related information and/or the network-related information may include determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity.

310 320 In certain example embodiments, determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity may include identifying an ACK throughput between the at least one application processorand the at least one communication processorincluded in the TCP-related information. In certain example embodiments, determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity may include determining each of the fetch numbers based on the ACK throughput and the uplink capacity.

In certain example embodiments, determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity may include identifying sizes of TCP ACKs associated with each of the plurality of groups. In certain example embodiments, determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity may include determining each of the fetch numbers based on the sizes and the uplink capacity.

In certain example embodiments, determining the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity may determine the fetch numbers corresponding to each of the plurality of groups based on the uplink capacity and a BLER included in the network-related information.

In certain example embodiments, the at least one operation may include identifying a change in at least a portion of the TCP-related information and/or the network-related information. In certain example embodiments, the at least one operation may include updating at least a portion of the policies based on the identified change.

In certain example embodiments, updating at least a portion of the policies based on the identified change may update at least one policy corresponding to at least a portion of at least one group of the plurality of groups in which ACK retransmission has not occurred.

In certain example embodiments, the plurality of groups may be distinguished based on an IP address, a port number, and/or network interface identification information.

In certain example embodiments, transmitting at least a portion of each of the fetched at least one TCP ACK may transmit a TCP ACK having a largest sequence number among at least one first TCP ACK fetched from a first group of the plurality of groups as a TCP ACK corresponding to the first group.

101 101 101 101 In certain example embodiments, an operation method of an electronic devicemay include obtaining a plurality of TCP ACKs. The operation method of the electronic devicemay include classifying and storing the plurality of TCP ACKs by a plurality of groups. The operation method of the electronic devicemay include fetching at least one TCP ACK from each of the plurality of groups based on policies set corresponding to each of the plurality of groups. The operation method of the electronic devicemay include transmitting at least a portion of each of the fetched at least one TCP ACK.

The electronic device according to an embodiment may be one of various types of electronic devices. The electronic devices may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. According to an embodiment of the disclosure, the electronic devices are not limited to those described above.

It should be appreciated that various embodiments of the present disclosure and the terms used therein are not intended to limit the technological features set forth herein to particular embodiments and include various changes, equivalents, or replacements for a corresponding embodiment. With regard to the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It is to be understood that a singular form of a noun corresponding to an item may include one or more of the things, unless the relevant context clearly indicates otherwise. As used herein, each of such phrases as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C,” may include all possible combinations of the items enumerated together in a corresponding one of the phrases. As used herein, such terms as “1st” and “2nd,” or “first” and “second” may be used to simply distinguish a corresponding component from another, and does not limit the components in other aspect (e.g., importance or order). It is to be understood that if an element (e.g., a first element) is referred to, with or without the term “operatively” or “communicatively”, as “coupled with,” “coupled to,” “connected with,” or “connected to” another element (e.g., a second element), it means that the element may be coupled with the other element directly (e.g., wiredly), wirelessly, or via a third element.

As used herein, the term “module” may include a unit implemented in hardware, software, or firmware, and may interchangeably be used with other terms, for example, “logic,” “logic block,” “part,” or “circuitry”. A module may be a single integral component, or a minimum unit or part thereof, adapted to perform one or more functions. For example, In certain example embodiments, the module may be implemented in a form of an application-specific integrated circuit (ASIC).

140 136 138 101 120 101 An embodiment of the disclosure may be implemented as software (e.g., the program) including one or more instructions that are stored in a storage medium (e.g., internal memoryor external memory) that is readable by a machine (e.g., the electronic device). For example, a processor (e.g., the processor) of the machine (e.g., the electronic device) may invoke at least one of the one or more instructions stored in the storage medium, and execute it, with or without using one or more other components under the control of the processor. This allows the machine to be operated to perform at least one function according to the at least one instruction invoked. The one or more instructions may include a code generated by a compiler or a code executable by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Wherein, the term “non-transitory” simply means that the storage medium is a tangible device, and does not include a signal (e.g., an electromagnetic wave), but this term does not differentiate between where data is semi-permanently stored in the storage medium and where the data is temporarily stored in the storage medium.

In certain example embodiments, a method according to various embodiments of the disclosure may be included and provided in a computer program product. The computer program products may be traded as commodities between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or be distributed (e.g., downloaded or uploaded) online via an application store (e.g., Play Store™), or between two user devices (e.g., smart phones) directly. If distributed online, at least part of the computer program product may be temporarily generated or at least temporarily stored in the machine-readable storage medium, such as memory of the manufacturer's server, a server of the application store, or a relay server.

In certain example embodiments, each component (e.g., a module or a program) of the above-described components may include a single entity or multiple entities. Some of the plurality of entities may be separately disposed in different components. In certain example embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Alternatively or additionally, a plurality of components (e.g., modules or programs) may be integrated into a single component. In such a case, according to various embodiments, the integrated component may still perform one or more functions of each of the plurality of components in the same or similar manner as they are performed by a corresponding one of the plurality of components before the integration. According to various embodiments, operations performed by the module, the program, or another component may be carried out sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order or omitted, or one or more other operations may be added.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

November 7, 2025

Publication Date

March 5, 2026

Inventors

Jusung LEE
Dongho KIM
Injae SONG
Yongchul LEE
Haesung OH
Kyunghoon LEE
Soomin LEE

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “ELECTRONIC DEVICE FOR TRANSMITTING ACK AND OPERATION METHOD THEREOF” (US-20260067222-A1). https://patentable.app/patents/US-20260067222-A1

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.