Method and device for transmitting data
By managing data transmission at the PDCP layer in electronic devices and reprocessing or retransmitting unprocessed data packets during RAT switching, the problem of data loss during RAT switching is solved and the reliability and throughput of data transmission are improved.
Patent Information
- Application Number
- CN202080040765.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-04-03
- Filing Date
- 2020-03-25
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2040-03-25
AI Technical Summary
When an electronic device performs intra-RAT or inter-RAT handover, the ROHC or security keys used in the PDCP layer may change, causing data to be unable to be successfully received after the handover, resulting in data loss and reduced throughput.
The invention relates to a method for managing data transmission at the PDCP layer by implementing at least one wireless communication circuit, a processor, and volatile and non-volatile memory in an electronic device. When switching to wireless communication of a second RAT, unprocessed data packets are reprocessed or retransmitted to ensure data integrity and reliability.
By preventing data packets from being discarded, the overall data throughput of the communication network is improved, and service performance degradation due to data loss is avoided.
Smart Images

Figure CN113906780B_ABST
Abstract
Description
Technical Field
[0001] Various embodiments of the present disclosure relate to data transmission methods and devices thereof. Background Art
[0002] Since the deployment of fourth-generation mobile communication networks, research into fifth-generation mobile communications has been underway to address the increasing data traffic. In fifth-generation mobile communication deployment scenarios, access to fifth-generation mobile communication networks based on fourth-generation mobile communication networks can be supported. For example, electronic devices can be simultaneously connected to multiple cells, which can be associated with different RATs.
[0003] In a fifth-generation mobile communication system, an electronic device can communicate with a base station based on a specified protocol stack. For example, the specified protocol stack may include the Service Data Adaptation Protocol (SDAP), the Packet Data Convergence Protocol (PDCP), the Radio Link Control (RLC), the Medium Access Control (MAC), and the Physical (PHY) layer. At least one Data Radio Bearer (DRB) or Signaling Radio Bearer (SRB) may be established to transmit user plane packets between the electronic device and the base station.
[0004] For example, the main functions of SDAP may include at least one of the following: a function of transmitting user plane data, a mapping function between quality of service (QoS) flows and DRBs for both downlink (DL) and uplink (UL), a function of marking QoS flow IDs in both DL and UL packets, and / or a function of reflecting QoS flows to DRB mapping for UL SDAP PDUs. For example, with respect to an SDAP layer device, an electronic device may be configured via an RRC message, which relates to whether to use a header of an SDAP layer device or a function of using an SDAP layer device for each PDCP layer device, each bearer, or each logical channel. When the SDAP header is configured, the SDAP layer device may instruct the electronic device to use a NAS reflected QoS configuration 1-bit indicator and an AS reflected QoS configuration 1-bit indicator to update or reconfigure mapping information about QoS flows and data bearers for uplink and downlink. The SDAP header may include QoS flow ID information indicating QoS. QoS information may be used in data processing priority to support smooth service and / or scheduling information.
[0005] For example, the main functions of the PDCP device may include at least one of the following: header compression and decompression functions (e.g., robust header compression only (ROHC)), user data transmission functions, in-sequence transmission of upper layer protocol data units (PDUs), out-of-sequence transmission of upper layer PDUs, reordering of received PDCP PDUs, duplicate detection of lower layer service data units (SDUs), retransmission of PDCP SDUs, encryption and decryption functions, and / or timer-based discarding of SDUs in the uplink. The reordering function of the PDCP device may be referred to as a function of reordering PDCP PDUs received in the lower layer based on a PDCP sequence number (SN). The reordering function may include a function of delivering data to the upper layer in a reordered sequence, a function of delivering data to the upper layer without regard to the sequence, a function of recording lost PDCP PDUs by reordering the sequence, a function of sending a status report on lost PDCP PDUs to the transmitting side, and / or a function of requesting retransmission of lost PDCP PDUs.
[0006] The main functions of the RLC device may include a function of transmitting data of an upper layer PDU, a function of delivering an upper layer PDU in sequence, a function of delivering an upper layer PDU out of sequence, a function of correcting errors through automatic repeat request (ARQ), a function of concatenating, segmenting, and reassembling RLC SDUs, a function of re-segmenting RLC PDU data, a function of reordering RLC PDU data, a function of detecting duplicates, a function of detecting protocol errors, a function of discarding RLC SDUs, and / or a function of reestablishing RLC. The function of the in-sequence delivery RLC device may be referred to as a function of delivering RLC SDUs received from a lower layer to an upper layer in sequence. The function of in-sequence delivery may include: a function of reassembling and delivering multiple RLC SDUs if a single RLC SDU is received after being segmented into multiple RLC SDUs; a function of reordering the received RLC PDUs based on the RLC sequence number (SN) or PDCP SN; a function of recording lost RLC PDUs by reordering the sequence; a function of sending a status report about lost RLC PDUs to the transmitting side; a function of requesting retransmission of lost RLC PDUs; a function of delivering only the RLC SDUs before the lost RLC SDU to the upper layer in sequence if there is a lost RLC SDU, and if a specified timer expires, a function of delivering all received RLC SDUs to the upper layer in sequence before the timer expires even if there is a lost RLC SDU; and / or a function of delivering all currently received RLC SDUs to the upper layer in sequence even if there is a lost RLC SDU if a specified timer expires. In addition, the RLC device may process the RLC PDUs in the order in which they are received (for example, in the order of arrival regardless of the order of the sequence numbers) and deliver the RLC PDUs to the PDCP device out of order. If the received data is segmented data, the RLC layer may receive the segments stored in the buffer or the segments received later, and may reconstruct the segments into a single complete RLC PDU, and may thereafter process the RLC PDU and deliver it to the PDCP device. The RLC device may not include a concatenation function. The concatenation function may be performed in the MAC layer, or may be replaced by a multiplexing function of the MAC layer. The out-of-order delivery function of the RLC device may be referred to as a function of delivering RLC SDUs received from a lower layer to an upper layer out of order. The out-of-order delivery function may include a function of reassembling and delivering multiple RLC SDUs if a single RLC SDU is received after being segmented into multiple RLC SDUs, and / or a function of recording lost RLC PDUs by storing and sorting the RLC SNs or PDCP SNs of the received RLC PDUs.
[0007] The MAC device can be connected to multiple RLC layer devices configured in a terminal. For example, the main functions of the MAC may include at least one of the following: a mapping function between logical channels and transport channels, a multiplexing / demultiplexing function of MAC SDUs, a scheduling information reporting function, an error correction function through hybrid ARQ (HARQ), a priority handling function between logical channels of a user equipment, a priority handling function between UEs through dynamic scheduling, a multimedia broadcast / multicast service (MBMS) service identification function, a transport format selection function, and / or a padding function.
[0008] The PHY layer may perform channel coding and modulation on data of an upper layer and present the data as an Orthogonal Frequency Division Multiplexing (OFDM) symbol to transmit the OFDM symbol through a wireless channel, or may perform demodulation and channel decoding on an OFDM symbol received through a wireless channel and deliver the OFDM symbol to an upper layer. Summary of the Invention
[0009] Technical issues
[0010] When an electronic device is handed over to another cell supporting the same RAT as the currently connected cell, the handover may be referred to as an intra-RAT handover. When an electronic device is handed over to another cell supporting a different RAT than the currently connected cell, the handover may be referred to as an inter-RAT handover.
[0011] When an electronic device performs an intra-RAT handover, the ROHC or security key information used in the PDCP layer may change. In this case, data sent by the electronic device using the security key or ROHC information of the source cell before the handover may not be successfully received in the target cell after the handover. As a result, after the handover, some PDCP SDUs may be discarded and not transmitted to the target cell.
[0012] When an electronic device performs an inter-RAT handover, the electronic device may transmit a first PDCP service data unit (SDU) to the target cell after the handover that was not transmitted to the source cell before the handover. For example, when the electronic device operates in unacknowledged mode (UM), the electronic device may not know whether the source cell has successfully received the data transmitted to the source cell before the handover. For another example, when the electronic device operates in acknowledged mode (AM), although the electronic device has sent data in the PDCP layer, the electronic device may not receive an acknowledgment of the data in a lower layer (e.g., RLC layer or MAC layer).
[0013] In fifth-generation mobile communications supporting simultaneous multi-RAT connections, PDCP may change due to handover of electronic devices. Therefore, if appropriate data transmission is not performed according to the change in PDCP, data throughput may deteriorate due to data loss.
[0014] Various embodiments of the present disclosure may provide an electronic device supporting a data transmission method based on a change of PDCP.
[0015] Technical Solution
[0016] An electronic device according to an embodiment of the present disclosure may include: at least one wireless communication circuit configured to provide a first radio access technology (RAT) and a second RAT; at least one processor operably connected to the at least one wireless communication circuit and configured to provide a first packet data convergence protocol (PDCP) associated with the first RAT and a second PDCP associated with the second RAT; a volatile memory operably connected to the at least one processor and including a first buffer in at least a portion of its area; and a non-volatile memory operably connected to or coupled to the at least one processor, wherein the non-volatile memory may store instructions that, when executed, cause the at least one processor to: at least temporarily store at least one first data packet associated with the first PDCP in the first buffer during wireless communication based on the first RAT; when changing the wireless communication to wireless communication based on the second RAT, change at least a portion of the stored at least one first data packet to at least one second data packet associated with the second PDCP; and during wireless communication based on the second RAT, send the at least one second data packet using the second PDCP.
[0017] An electronic device according to an embodiment of the present disclosure may include: at least one wireless communication circuit configured to provide a first radio access technology (RAT) and a second RAT; a processor operatively connected to the at least one wireless communication circuit; and a memory operatively connected to the at least one processor, wherein the memory may store instructions that, when executed, cause the processor to: send at least a portion of a plurality of first data packets based on a first packet data convergence protocol (PDCP); when sending the plurality of first data packets, identify an event corresponding to a change from the first PDCP to the second PDCP; in response to identifying the event, identify at least one first data packet that may be lost due to the change to the second PDCP; and determine to retransmit or store the at least one first data packet based at least in part on attributes of the at least one first data packet.
[0018] A data sending method for an electronic device according to an embodiment of the present disclosure may include: sending at least a portion of multiple first data packets based on a first packet data convergence protocol (PDCP); identifying an event corresponding to a change from the first PDCP to the second PDCP when sending the multiple first data packets; identifying at least one first data packet among the multiple first data packets that may be lost due to the change to the second PDCP in response to the identification of the event; and determining to retransmit or store the at least one first data packet based at least in part on attributes of the at least one first data packet.
[0019] Beneficial technical effects
[0020] According to various embodiments of the present disclosure, deterioration of service performance can be prevented by reprocessing or retransmitting unprocessed packets due to a change in PDCP.
[0021] According to various embodiments of the present disclosure, by preventing the discarding of data packets, the overall data throughput of a communication network may be increased.
[0022] Furthermore, various effects directly or indirectly recognized by the present disclosure can be provided. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 is a block diagram illustrating electronic devices in a network environment according to various embodiments.
[0024] Figure 2 A wireless communication system is shown that provides a network for traditional communications and / or 5G communications in accordance with various embodiments.
[0025] Figure 3 The protocol stack structure of a network and an electronic device according to an embodiment is shown.
[0026] Figure 4 The data processing flow between network protocol stacks according to an embodiment is shown.
[0027] Figure 5 The structure of the PDCP management module according to various embodiments is shown.
[0028] Figure 6 A signal flow diagram is shown in a bearer change scenario according to various embodiments.
[0029] Figure 7 A signal flow diagram related to a PDCP version change flag according to various embodiments is shown.
[0030] Figure 8 A signal flow diagram related to a PDCP SDU transmission method according to various embodiments is shown.
[0031] Figure 9 A signal flow diagram related to a PDCP SDU retransmission method according to various embodiments is shown.
[0032] Figure 10 is a flowchart illustrating a PDCU SDU transmission method according to various embodiments.
[0033] Figure 11 is a flowchart illustrating a method for transmitting data packets of a changed PDCP according to various embodiments.
[0034] Figure 12 is a flow chart illustrating a method of transmitting data packets in case of PDCP change according to various embodiments.
[0035] Figure 13 PDCP data delivery methods according to various embodiments are shown.
[0036] Regarding the description of the drawings, the same or similar reference numerals may be used for the same or similar components. DETAILED DESCRIPTION
[0037] Hereinafter, various embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the embodiments and terms used herein are not intended to limit the technology described in the present disclosure to specific embodiments, but include various modifications, equivalents and / or alternatives of the embodiments.
[0038] Figure 1 1 is a block diagram illustrating an electronic device 101 in a network environment 100 according to various embodiments. Figure 1, the electronic device 101 in the network environment 100 can communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 can communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one of the above components (e.g., the display device 160 or the camera module 180) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In some embodiments, some components may be implemented as a single integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illumination sensor) may be implemented to be embedded in the display device 160 (eg, a display).
[0039] The processor 120 may execute, for example, software (e.g., program 140) to control at least one other component (e.g., hardware or software component) of the electronic device 101 coupled to the processor 120, and may perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, the processor 120 may load a command or data received from another component (e.g., sensor module 176 or communication module 190) into the volatile memory 132, process the command or data stored in the volatile memory 132, and store the resulting data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that may operate independently of or in conjunction with the main processor 121. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121 or adapted to be specific to a given function. The auxiliary processor 123 may be implemented independently of the main processor 121 or as part of the main processor 121.
[0040] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 (instead of the main processor 121) may control at least some functions or states related to at least one component (e.g., the display device 160, the sensor module 176, or the communication module 190) among the components of the electronic device 101, or control together with the main processor 121 when the main processor 121 is in an active state (e.g., executing an application). Depending on the embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera module 180 or the communication module 190) that is functionally related to the auxiliary processor 123.
[0041] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, input data or output data of software (e.g., the program 140) and commands related thereto. The memory 130 may include a volatile memory 132 or a non-volatile memory 134.
[0042] The program 140 may be stored as software in the memory 130 and may include, for example, an operating system (OS) 142 , middleware 144 , or application programs 146 .
[0043] The input device 150 may receive commands or data from outside the electronic device 101 (e.g., a user) for use by other components of the electronic device 101 (e.g., the processor 120). The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus).
[0044] The sound output device 155 can output sound signals to the outside of the electronic device 101. The sound output device 155 can include, for example, a speaker or an earpiece. The speaker can be used for general purposes, such as playing multimedia or playing records, and the earpiece can be used for incoming calls. Depending on the embodiment, the earpiece can be implemented as a separate part of the speaker or as a part of the speaker.
[0045] The display device 160 can intuitively provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling a corresponding one of the display, the hologram device, and the projector. Depending on the embodiment, the display device 160 may include a touch circuit adapted to detect a touch, or a sensor circuit adapted to measure the strength of the force generated by the touch (e.g., a pressure sensor).
[0046] The audio module 170 can convert sound into an electrical signal, and vice versa. According to an embodiment, the audio module 170 can obtain sound via the input device 150, or output sound via the sound output device 155, or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly coupled to the electronic device 101.
[0047] The sensor module 176 can detect the operating state (e.g., power or temperature) of the electronic device 101 or the environmental state (e.g., user state) outside the electronic device 101, and then generate an electrical signal or data value corresponding to the detected state. Depending on the embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyroscope sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.
[0048] The interface 177 may support one or more designated protocols for direct (e.g., wireless) or wireless coupling of the electronic device 101 to an external electronic device (e.g., the electronic device 102). Depending on the embodiment, the interface 177 may 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.
[0049] The connection terminal 178 may include a connector via which the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102). Depending on the embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0050] The haptic module 179 may convert electrical signals into mechanical excitation (eg, vibration or movement) or electrical excitation that a user may recognize through their tactile or kinesthetic sense. Depending on the embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electric actuator.
[0051] The camera module 180 can capture still images or moving images. Depending on the embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
[0052] The power management module 188 may manage power supplied to the electronic device 101. According to one embodiment, the power management module 188 may be implemented as, for example, at least a portion of a power management integrated circuit (PMIC).
[0053] The battery 189 may supply power to at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable main battery, a rechargeable auxiliary battery, or a fuel cell.
[0054] The communication module 190 can support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108) and performing communication via the established communication channel. The communication module 190 may include one or more communication processors that can operate independently of the processor 120 (e.g., an application processor (AP)) and support direct (e.g., wired) communication or wireless communication. Depending on the embodiment, the communication module 190 may include a wireless communication module 192 (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 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These different types of communication modules can be implemented as a single component (e.g., a single chip) or can be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 192 can use subscriber information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196 to identify and authenticate the electronic device 101 in a communication network (e.g., the first network 198 or the second network 199).
[0055] The antenna module 197 can send or receive signals or power to or from the outside of the electronic device 101 (e.g., an external electronic device). Depending on the embodiment, the antenna module 197 may include an antenna having a radiating element, which is composed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a PCB). Depending on the embodiment, the antenna module 197 may include multiple antennas. In this case, at least one antenna suitable for the communication scheme used in the communication network (e.g., the first network 198 or the second network 199) can be selected from the multiple antennas by the communication module 190 (e.g., the wireless communication module 192). Then, signals or power can be sent or received between the communication module 190 and the external electronic device via the selected at least one antenna. Depending on the embodiment, another component other than the radiating element (e.g., a radio frequency integrated circuit (RFIC)) can be additionally formed as part of the antenna module 197.
[0056] At least some of the above components can be coupled to each other and transmit signals (e.g., commands or data) therebetween via a peripheral communication scheme (e.g., a bus, general-purpose input and output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)).
[0057] According to an embodiment, commands or data may be sent or received between electronic device 101 and external electronic device 104 via server 108 coupled to second network 199. Each of electronic devices 102 and 104 may be of the same or different type as electronic device 101. According to an embodiment, all or part of the operations performed by electronic device 101 may be performed by one or more of external electronic devices 102, 104, or 108. For example, if electronic device 101 is to perform a function or service automatically or in response to a request from a user or another device, electronic device 101 may request one or more external electronic devices to perform at least a portion of the function or service in addition to or instead of performing the function or service. The one or more external electronic devices that receive the request may perform at least a portion of the requested function or service, or additional functions or services related to the request, and transmit the results of the execution to electronic device 101. As at least part of a response to the request, electronic device 101 may provide the results, with or without further processing of the results. For this purpose, cloud computing, distributed computing, or client-server computing technologies may be used, for example.
[0058] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device 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 household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to the above-mentioned devices.
[0059] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features proposed herein to specific embodiments, but rather include various changes, equivalents or replacements to the corresponding embodiments. With regard to the description of the accompanying drawings, similar figure marks may be used to refer to similar or related elements. It should be understood that the singular form of the noun corresponding to the project may include one or more things, unless the relevant context clearly indicates otherwise. As used herein, each of these phrases such 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 any one or all possible combinations of the items listed together in the corresponding one of these phrases. As used herein, these terms such as "first" and "second", or "first" and "second" may be used to simply distinguish corresponding parts from another part without limiting these parts in other respects (e.g., importance or order). It should be understood that if an element (e.g., a first element) is referred to as being “coupled with (another element (e.g., a second element))”, “coupled to” another element, “connected with (another element)” or “connected to” another element, with or without the term “operably” or “communicatively”, it means that the element can be coupled to the other element directly (e.g., wired), wirelessly, or via a third element.
[0060] As used herein, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms such as "logic," "logic block," "portion," or "circuit." A module may be a single integrated component adapted to perform one or more functions, or its smallest unit or portion. For example, according to an embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0061] The various embodiments presented herein can be implemented as software (e.g., program 140) comprising one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) readable by a machine (e.g., electronic device 101). For example, a processor (e.g., processor 120) of a machine (e.g., electronic device 101) can call at least one of the one or more instructions stored in the storage medium and execute it under the control of the processor with or without one or more other components. This allows the machine to be operated to perform at least one function according to at least one of the called instructions. The one or more instructions may include code generated by a compiler or code executed by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. The term "non-transitory" merely means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between data being semi-permanently stored in the storage medium and data being temporarily stored in the storage medium.
[0062] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)) or via an application store (e.g., PlayStore). TM ) online distribution (e.g., download or upload), or directly between two user devices (e.g., smartphones). If distributed online, at least a portion of the computer program product may be temporarily generated or at least temporarily stored in a machine-readable storage medium, such as a memory of a manufacturer's server, an app store's server, or a relay server.
[0063] According to various embodiments, each of the above-mentioned components (e.g., a module or a program) may include a single entity or multiple entities. According to various embodiments, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Additionally or alternatively, multiple components (e.g., a module or a program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform one or more functions of each of the multiple components in the same or similar manner as performed by a corresponding one of the multiple components before integration. In an embodiment, according to various embodiments, the operations performed by a module, a program, or another component may be performed sequentially, in parallel, repeatedly, or tentatively, or one or more operations may be performed or omitted in a different order, or one or more other operations may be added.
[0064] Figure 2A wireless communication system is shown that provides traditional communication and / or 5G communication networks according to various embodiments.
[0065] refer to Figure 2 , the network environments 100A, 100B, and 100C may include at least one of a traditional network or a 5G network. The traditional network may include, for example, a 4G or LTE base station 250 (e.g., an eNodeB (eNB)) of the Third Generation Partnership Project (3GPP) standard that supports wireless connection with the electronic device 101 and an evolved packet core (EPC) 251 for managing 4G communications. The 5G network may include, for example, a New Radio (NR) base station 250 (e.g., a gNodeB (gNB)) that supports wireless connection with the electronic device 201 and a fifth generation core (5GC) 252 for managing 5G communications of the electronic device 101.
[0066] According to various embodiments, the electronic device 101 may transmit / receive control messages and user data through traditional communication and / or 5G communication. The control message may include, for example, a message related to at least one of security control, bearer setup, authentication, registration, or mobility management of the electronic device 101. The user data may, for example, represent user data other than the control message transmitted / received between the electronic device 101 and the core network 230 (e.g., EPC 242).
[0067] Referring to reference number 200A, the electronic device 101 according to an embodiment can use at least a part of the traditional network (e.g., LTE base station 240, EPC 242) to send or receive at least one of a control message or user data to at least a part of the 5G network (e.g., NR base station 250, 5GC 252).
[0068] According to various embodiments, the network environment 100A may include a network environment in which multi-radio access technology (RAT) dual connectivity (mR-DC) to the LTE base station 240 and the NR base station 250 is provided, and control messages are sent to or received from the electronic device 101 via the core network 230 of one of the EPC 242 and the 5GC 252.
[0069] According to various embodiments, in an MR-DC environment, one of the LTE base station 240 and the NR base station 250 may operate as a master node (MN) 210, and the other may operate as a secondary node (SN) 220. The MN 210 may be connected to the core network 230 to transmit / receive control messages. The MN 210 and the SN 220 may be connected via a network interface to transmit / receive messages related to radio resources (e.g., communication channels) to each other.
[0070] According to various embodiments, the MN 210 may be configured as an LTE base station 250, the SN 220 may be configured as an NR base station 250, and the core network 230 may be configured as an EPC 242. For example, control messages may be transmitted / received through the LTE base station 240 and the EPC 242, and user data may be transmitted / received through the LTE base station 250 and the NR base station 250.
[0071] Referring to reference numeral 200B, according to various embodiments, the 5G network may transmit / receive control messages and user data independently of the electronic device 101 .
[0072] Referring to reference numeral 200C, a conventional network and a 5G network according to various embodiments may provide data transmission / reception independently of each other. For example, the electronic device 101 and the EPC 242 may transmit / receive control messages and user data via the LTE base station 250. For example, the electronic device 101 and the 5GC 252 may transmit / receive control messages and user data via the NR base station 250.
[0073] According to various embodiments, the electronic device 101 may register in at least one of the EPC 242 or the 5GC 252 in order to send / receive control messages.
[0074] According to various embodiments, the EPC 242 or the 5GC 252 may manage communication of the electronic device 101 via intercommunication. For example, movement information of the electronic device 101 may be transmitted / received through an interface between the EPC 242 and the 5GC 252.
[0075] Figure 3 The protocol stack structure of a network and an electronic device according to an embodiment is shown.
[0076] According to an embodiment, in a mobile communication system, a base station can communicate with a terminal (e.g., Figure 1 For example, the base station and the terminal may communicate using the E-UTRA communication protocol or the NR communication protocol. According to an embodiment, the base station and the terminal may communicate in an MR-DC network environment (e.g., Figure 2 In this case, for example, the base station and the terminal may interchangeably use at least a portion of the E-UTRA communication protocol and at least a portion of the NR communication protocol. For example, the terminal may use a different communication protocol for each layer.
[0077] In the embodiments described below, the E-UTRA protocol stack may be referred to as a first communication protocol stack or a first protocol stack. The first protocol or the first communication protocol may refer to an E-UTRA protocol (or an LTE protocol). In the embodiments described below, the NR protocol stack may be referred to as a second communication protocol stack or a second protocol stack. The second protocol or the second communication protocol may refer to an NR protocol. For example, the electronic device 101 may use at least one communication processor (e.g., Figure 1 The wireless communication module 192) is used to execute the first communication protocol stack and the second communication protocol stack.
[0078] According to an embodiment, the first communication protocol stack and the second communication protocol stack may include a control plane protocol for transmitting / receiving control messages and a user plane protocol for transmitting / receiving user data. The control messages may include, for example, messages related to at least one of security control, bearer setup, authentication, registration, or mobility management. The user data may include, for example, data other than the control messages.
[0079] According to an embodiment, the control plane protocol and the user plane protocol may include a physical (PHY) layer, a medium access control (MAC) layer, a radio link control (RLC) layer, or a packet data convergence protocol (PDCP) layer. For example, the PHY layer may perform channel coding and modulation on data received from an upper layer (e.g., a MAC layer) to transmit the data via a wireless channel, and may demodulate and decode the data received via the wireless channel to deliver the data to the upper layer. The PHY layer included in the second communication protocol stack may further perform operations related to beamforming. For example, the MAC layer may be logically / physically mapped to a wireless channel through which data is to be transmitted / received, and may perform hybrid automatic repeat request (HARQ) for error correction. For example, the RLC layer may concatenate, segment, or reassemble data, and may check the order of data, reorder data, or check for duplication of data. For example, the PDCP layer may further perform operations related to data integrity and encryption of control messages and user data. The second communication protocol stack may further include a service data adaptation protocol (SDAP). For example, SDAP may manage radio bearer allocation based on the quality of service (QoS) of user data.
[0080] According to various embodiments, the control plane protocol may include a radio resource control (RRC) layer and a non-access stratum (NAS) layer. For example, the RRC layer may process control messages related to radio bearer setup, paging, or mobility management. The NAS layer may process control messages related to authentication, registration, and / or mobility management.
[0081] refer to Figure 3The protocol stack of the electronic device 101 may include at least one of E-UTRA / NR PDCP 311, NR PDCP 312, NR PDCP 313, E-UTRA RLC 314, E-UTRA RLC 315, NR RLC 316, NR RLC 317, E-UTRA MAC 318, and / or NR MAC 319. For example, a master node (MN) 320 (e.g., Figure 2 The primary node (SN) 330 (e.g., the secondary node 210) may include at least one of an E-UTRA / NR PDCP 321, an NR PDCP 322, an NR PDCP 323, an E-UTRA RLC 324, an E-UTRA RLC 325, an E-UTRA RLC 326, an E-UTRA RLC 327, and / or an E-UTRA MAC 328. For example, a secondary node (SN) 330 (e.g., Figure 2 The secondary node 220) may include NR PDCP 331, NR PDCP 332, NR PDCP 333, NR RLC 334, NRRLC 335, NR RLC 336, NR RLC 337 and NR MAC 338.
[0082] For example, the electronic device 101 may communicate with the MN 320 using a primary cell group (MCG) bearer and may communicate with the SN 330 using a secondary cell group (SCG) bearer. In this case, the protocol stack associated with the MCG bearer of the electronic device 101 may include an E-UTRA protocol stack (e.g., E-UTRA / NR PDCP 311, E-UTRA RLC 314, and E-UTRA MAC 318). The protocol stack associated with the SCG bearer of the electronic device 101 may include an NR protocol stack (e.g., NR PDCP 313, NRRLC 317, and NR MAC 319).
[0083] For another example, the electronic device 101 may communicate with the MN 320 and the SN 330 using a split bearer (e.g., an MCG split bearer or an SCG split bearer). In this case, the protocol stack associated with the split bearer of the electronic device 101 may include the NR PDCP 312, the E-UTRA RLC 315, the NR RLC 316, the E-UTRA MAC 318, and the NR MAC 310. In the case of a split bearer, the electronic device 101 may use the NR protocol stack (e.g., NR PDCP 312) in the PDCP layer, but may use the E-UTRA protocol stack (e.g., E-UTRA RLC 315) in the lower layers (e.g., RLC / MAC / PHY). In this case, the NR PDCP 312 may separate and / or aggregate data received through the split bearer and deliver the data to the E-UTRA RLC 315 or the NR RLC 316.
[0084] For another example, the electronic device 101 may communicate with the secondary node (SN) 330 using an MCG bearer terminated with the SN. In this case, the electronic device 101 may use the NR protocol stack (e.g., E-UTRA / NR PDCP 311) in the PDCP layer, but may use the E-UTRA protocol stack (e.g., E-UTRA RLC 314 and E-UTRA MAC 318) in the RLC and MAC layers.
[0085] For another example, the electronic device 101 may communicate with the master node (MN) 320 using an SCG bearer terminated with the MN. In this case, the electronic device 101 may include an NR protocol stack in the PDCP, RLC, and MAC layers (e.g., NR PDCP 313, NR RLC 317, and NR MAC 319).
[0086] As described in the above examples, various types of bearers (e.g., MCG bearer, SCG bearer, MCG split bearer, SCG split bearer, MN-terminated SCG bearer, and / or SN-terminated MCG bearer) can be used in communications between the electronic device 101 and each node (e.g., MN 320 and / or SN 330). In this communication environment, the type of bearer used in communications of the electronic device 101 can be changed. For example, the electronic device 101 can move from a first cell that supports EN-DC to a second cell that does not support EN-DC. In this case, according to the change in cell type, the electronic device 101 can change the type of bearer to a bearer that is different in type from the bearer configured based on the EN-DC environment. For another example, the electronic device 101 can use a bearer based on NR PDCP 312 that supports EN-DC. In this case, the type of bearer associated with the electronic device 101 can be changed according to the determination of the network. The type of bearer associated with the electronic device 101 can be changed from a bearer based on NR PDCP 312 to a bearer based on E-UTRA PDCP 311.
[0087] Figure 4 The data processing flow between network protocol stacks according to an embodiment is shown.
[0088] Due to the movement of the electronic device 101, the electronic device (e.g. Figure 1 The base station with which the electronic device 101 communicates changes, so the type of bearer can change.
[0089] According to an embodiment, the electronic device 101 may use an Internet protocol (eg, TCP, UDP, IP) to perform communication with an external electronic device (eg, Figure 1 For example, the electronic device 101 may include a main processor (e.g., Figure 1 The main processor 121 of the electronic device 101 may process data according to the Internet Protocol. For example, the electronic device 101 may process transmission data according to the Internet Protocol. The electronic device 101 may process transmission data (e.g., IP packets) processed according to the Internet Protocol based on the type of bearer associated with the electronic device 101.
[0090] For example, the PDCP associated with the bearer may change according to a change in the type of the bearer associated with the electronic device 101. For example, when the electronic device 101 moves to an LTE base station eNB that does not support MR-DC or moves to a cell controlled by an MME that does not support MR-DC during MR-DC operation, the PDCP version used in the bearer associated with the electronic device 101 (e.g., E-UTRA PDCP 411 (e.g., E-UTRA / NR PDCP 311)) may be changed. For another example, when the electronic device 101 that is connected only to an LTE cell moves to a cell that supports MR-DC, the type of the bearer may be changed to a split bearer or an SCG bearer. Therefore, in a network deployment in which multiple RATs are present, a change in PDCP may occur because the type of the bearer associated with the electronic device 101 changes due to the movement of the electronic device 101. As the types of various bearers change, the protocol stack used by the electronic device 101 to process data associated with the bearer may also be changed. When the protocol stack changes, there may be packets that are not processed in Layer 1 (eg, physical layer) and / or Layer 2 (eg, PDCP layer 410, RLC layer 420, and / or MAC layer 430) and are lost.
[0091] For example, the electronic device 101 may use the MCG bearer to communicate with the MN (eg, Figure 3 In this case, the electronic device 101 may use the E-UTRA PDCP 411 in the PDCP layer 410 to process segments of transmission data according to the E-UTRA protocol. For example, the electronic device 101 may use multiple IP packets of the transmission data as PDCP SDUs. The electronic device 101 may generate a PDCP PDU by adding an E-UTRA PDCP header to the PDCP SDU in the PDCP layer 410, and may deliver the generated PDCP PDU to the RLC layer 420. The electronic device 101 may concatenate multiple PDCP PDUs in the RLC layer 420 based on the amount of uplink resources allocated using the E-UTRA RLC 314, and may add an E-UTRA RLC header to thereby generate an RLC PDU, and may deliver the generated RLC PDU to the MAC layer 430. The electronic device 101 may generate a MAC PDU by adding a MAC header to the RLC PDU using the E-UTRA MAC 318 in the MAC layer 430 and may deliver the generated MAC PDU to a lower layer (eg, a PHY layer (not shown)).
[0092] For example, the electronic device 101 may use the SCG bearer to communicate with the SN (e.g., Figure 3In this case, the electronic device 101 may use the NR PDCP 313 in the PDCP layer 410 to process segments of transmission data according to the NR protocol. For example, the electronic device 101 may use multiple IP packets of the transmission data as PDCP SDUs. The electronic device 101 may generate a PDCP PDU by adding an NR PDCP header to the PDCP SDU in the PDCP layer 410, and may deliver the generated PDCP PDU to the RLC layer 420. The electronic device 101 may generate an RLC PDU by adding an RLC header to each of the multiple RLC SDUs in the RLC layer 420 using the NR RLC 316, and may deliver the generated RLC PDU to the MAC layer 430. The electronic device 101 may generate a MAC PDU in the MAC layer 430 by concatenating the RLC PDUs based on the uplink resources allocated using the E-UTRA MAC 318 and then adding a MAC header, and may deliver the generated MAC PDU to a lower layer (e.g., a PHY layer (not shown)).
[0093] In the data processing flow according to the bearer type according to various embodiments, the bearer type associated with the electronic device 101 may be changed. Figure 4 In the example of , for example, the bearer type may be changed to an SCG bearer. In this case, at least a portion of the data may have been processed in association with the MCG bearer, but segments of unsent data may be lost. According to various embodiments of the present disclosure, the electronic device 101 may prevent data loss due to a change in the bearer type. For example, in Figure 4 In the example, the bearer associated with the electronic device 101 may be changed from an MCG bearer to an SCG bearer. For example, when there is a PDCP SDU of data that may be lost, the electronic device 101 may process the PDCP SDU using NR PDCP 313. For another example, when data corresponding to the data that may be lost exists in a lower layer of the PDCP layer 410 (e.g., the RLC layer 420, the MAC layer 430, the PHY layer (not shown)), the electronic device 101 may obtain the PDCP SDU from the data of the lower layer and may process the PDCP SDU using NR PDCP 313. For another example, when the PDCP SDU of the data that may be lost does not exist and does not exist in a lower layer of the PDCP layer 410, the electronic device 101 may retransmit the transmission data according to the network protocol corresponding to the SCG bearer.
[0094] According to various embodiments, the electronic device 101 may ensure that data is transmitted according to a change in the PDCP version. For example, a change in the PDCP version may include a change in security keys, a change in ROHC information, and / or a change between NR PDCP and E-UTRA PDCP. Hereinafter, a change in the PDCP version may be referred to as a PDCP change. According to an embodiment, the electronic device 101 may estimate data loss (e.g., identify or estimate a change in the PDCP) and may reprocess and / or transmit the lost data.
[0095] According to an embodiment, the electronic device 101 may identify a PDCP change. For example, the electronic device 101 may identify a PDCP change by identifying an inter-RAT handover. For another example, the electronic device 101 may identify a PDCP change by estimating the handover. For example, the electronic device 101 may identify a PDCP change by estimating the handover based on a communication state (e.g., a signal-to-interference-plus-noise ratio (SINR) or a received signal strength indicator (RSSI)).
[0096] According to various embodiments, the electronic device 101 may identify data packets that are about to be lost in response to the recognition of a PDCP change. For example, the electronic device 101 may identify data packets corresponding to PDCP SDUs that are delivered to a lower layer of the PDCP layer 410 but not transmitted in the physical layer as data packets that are about to be lost. For another example, when a PDCP SDU is deleted after being delivered to a lower layer (e.g., in the case of RLC Unacknowledged Mode (UM)), the electronic device 101 may identify data packets corresponding to PDCP SDUs that are delivered to a lower layer but not transmitted in the physical layer as data packets that are likely to be lost.
[0097] For example, security keys and / or ROHC information may be changed according to a handover within the same RAT. During the RRC connection reestablishment process according to the intra-RAT handover, the electronic device 101 may process data in the PDCP layer 410 based on the RLC mode (e.g., RLC Acknowledged Mode (AM) or RLC UM) and the radio bearer type. For example, in the case of a data radio bearer (DRB) of RLC AM, the electronic device 101 may at least temporarily store the PDCP SDU in a memory (e.g., Figure 1The electronic device 101 stores the PDCP SDU in the memory 190 until an acknowledgement of the PDCP SDU is received. In the case of intra-RAT handover, the electronic device 101 may reprocess the PDCP SDU for which an acknowledgement has not been received from the lower layer, or the PDCP SDU that has not been processed by using the changed ROHC information and / or security key, and may send or retransmit the reprocessed PDCP SDU through the DRB. For example, in the case of a signaling radio bearer (SRB) of a DRB and RLC-UM, the electronic device 101 may delete the PDCP SDU after delivering the PDCP SDU to the lower layer.
[0098] According to an embodiment, the electronic device 101 may at least temporarily store the data in a memory (eg, Figure 1 At least a portion of data (e.g., data packets predicted to be lost) that meets a specified condition is stored in the volatile memory 132 of the electronic device 101. For example, the electronic device 101 may identify the following data as data that meets the specified condition: data delivered from the PDCP layer 410 to a lower layer but not sent, data delivered from the PDCP layer 410 to a lower layer but for which an RLC ACK is not received, or data delivered from the PDCP layer to a lower layer in an RLC UM but not transmitted in the physical layer. According to an embodiment, if the specified condition is met, the electronic device 101 may at least temporarily store the PDCP SDU in the memory 132 during at least a portion of the time period. For example, the electronic device 101 may identify whether the specified condition is met based on the channel state (e.g., receiving channel state) or channel state history of the electronic device 101. For example, the electronic device 101 may estimate an event (e.g., handover) in which the PDCP SDU is predicted to be lost based on the channel connection state. If it is estimated that the data is lost, the electronic device 101 may at least temporarily store the PDCP SDU in the memory 132. For another example, the electronic device 101 may identify whether the specified condition is met based on QoS. In order to ensure the quality of service of the PDCP SDU based on QoS, it can be determined to store the PDCP SDU for fast retransmission of the PDCP SDU. According to various embodiments, it can be determined whether to store (e.g., buffer) the data packet based on PDCP SDU information (e.g., IP packet information) of data that meets a specified condition (e.g., data packets predicted to be lost). For example, after storing the data packet predicted to be lost based on the determination of whether to store it, the electronic device 101 can reprocess and / or transmit the stored data packet after the PDCP is changed.
[0099] refer to Figure 4 In a lower layer of the PDCP layer 410 , the first communication protocol stack and the second communication protocol stack may be different in cascade structure.
[0100] According to an embodiment, the electronic device 101 may generate a PDCP SDU by performing reverse conversion on a data packet predicted to be lost. For example, a MAC PDU of the first communication protocol stack may be identified as data predicted to be lost (hereinafter referred to as predicted lost data), and the PDCP SDU corresponding to the MAC PDU may be in a deleted state. In this case, when the electronic device 101 is switched to a cell corresponding to the second communication protocol stack, the electronic device 101 may generate multiple PDCP SDUs from the MAC PDU by performing reverse conversion on the MAC PDU generated by the E-UTRA MAC 318. For example, the electronic device 101 may at least temporarily store the PDCP SDU generated by the reverse conversion in a memory of the electronic device 101.
[0101] According to an embodiment, the electronic device 101 may at least temporarily store data packets predicted to be lost in a volatile memory (e.g., a PDCP buffer). For example, the electronic device 101 may estimate that an inter-RAT handover will occur based on the channel state, and may store a PDCP SDU at a time after the estimation in the PDCP buffer. In an embodiment, the electronic device 101 may at least temporarily store the data packets predicted to be lost in the memory in the form of a PDCP PDU including a PDCP header and a PDCP SDU.
[0102] According to an embodiment, after the handover, the electronic device 101 may process the plurality of stored PDCP SDUs according to the second communication protocol stack and then transmit the PDCP SDUs. For example, the electronic device 101 may generate a PDCP PDU by adding a PDCP header corresponding to the second communication protocol stack to the plurality of stored PDCP SDUs, and may then transmit the PDCP PDUs. For another example, if data packets are stored in the form of PDCP PDUs in the volatile memory 132, the electronic device 101 may remove the existing PDCP header and add a PDCP header corresponding to the second communication protocol stack to generate and transmit the PDCP.
[0103] The above reference Figure 4 The described operations of the electronic device 101 are examples, and embodiments of the present disclosure are not limited thereto.
[0104] Figure 5 The structure of the PDCP management module 510 according to various embodiments is shown.
[0105] According to various embodiments, the PDCP management module 510 may control data processing and transmission according to changes in the PDCP. For example, the PDCP management module 510 may be implemented by an application processor (AP) (e.g., Figure 1 processor 120) and / or a communication processor (CP) (e.g., Figure 1 The PDCP management module 510 may be a logic module (or software module) operated by the AP and / or CP on the memory 500. For example, when the PDCP management module 510 is operated by the AP and / or CP on the memory 500, Figure 1 The non-volatile memory (eg, Figure 1 The PDCP management module 510 may be implemented on the memory 500 when instructions stored in the non-volatile memory 134 of the memory 500 are executed by the AP and / or the CP. Figure 5 The components of the PDCP management module 510 shown in FIG. 5 are divided according to logic and / or function, and the embodiments of the present disclosure are not limited to Figure 5 For example, you can omit Figure 5 For another example, the PDCP management module 510 may further include: Figure 5 Parts not shown in FIG.
[0106] According to various embodiments, the memory 500 may be a volatile memory (eg, Figure 1 For example, the memory 500 may include an AP area 501 accessed and controlled by the AP, a public area 502 accessed and controlled by the AP and the CP, and a CP area 503 accessed and controlled by the CP. For example, the AP area 501, the public area 502, and the CP area 503 may be divided by the address of the memory 500.
[0107] According to an embodiment, at least a portion of the PDCP management module 510 may be located in the AP region 501. According to an embodiment, at least a portion of the PDCP management module 510 may be located in the CP region 503. Figure 5 The location of the PDCP management module 510 on the memory 500 shown in FIG. 5 is an example, and embodiments of the present disclosure are not limited thereto.
[0108] According to various embodiments, the CP region 503 may include a PDCP buffer 504. The PDCP buffer 504, which is a storage space for buffering PDCP data (e.g., PDCP SDUs or PDCP PDUs), may be a memory region within a specified address range. For example, the PDCP buffer 504 may include a region within an address range accessible to all PDCP layers having different versions.
[0109] According to various embodiments, the PDCP management module 510 may include an AP monitor 520, a PDCP SDU analyzer 530, a PDCP SDU capturer 540, a PDCP SDU loss detector 550, a PDCP SDU manager, a PDCP SDU deliverer 570 between communication protocol stacks, a reverse operator 580 and / or a CP monitor 590.
[0110] According to an embodiment, the AP monitor 520 may monitor the situation of the AP and may deliver the monitored situation of the AP to the PDCP SDU manager 560. For example, the situation of the AP may include the situation of the CPU load factor and / or the situation of the transmission path between the AP and the CP (e.g., Peripheral Component Interconnect Express (PCIE)). For example, the PDCP SDU manager 560 may determine the possibility of processing data corresponding to the PDCP SDU that needs to be retransmitted in the AP by using the CPU load factor. For example, the PDCP SDU manager 560 may determine the available capacity for data delivery from the AP to the CP based on the situation of the transmission path between the AP and the CP. The CPU load factor and the situation of the transmission path between the AP and the CP are examples, and the AP monitor 520 may monitor and report various situations of the AP.
[0111] According to an embodiment, the PDCP SDU analyzer 530 may identify the characteristics of the PDCP SDU (e.g., IP data packet) delivered from the AP or an upper layer. For example, the PDCP SDU analyzer 530 may identify the characteristics of the PDCP SDU based on information (e.g., transport protocol) of the IP data packet included in the PDCP SDU. According to an embodiment, the PDCP SDU analyzer 530 may determine whether to store the PDCP SDU based on the characteristics of the PDCP SDU. When determining whether to store the PDCP SDU, the electronic device 101 may use the result of identifying or estimating data loss (e.g., PDCP change). If it is determined that the PDCP SDU is to be stored, the PDCP SDU analyzer 530 may cause the PDCP SDU capturer 540 to store the identified PDCP SDU or the corresponding PDCP PDU in the common area 502 or the PDCP buffer 504. For example, the PDCP SDU analyzer 530 may use the IP header of the IP packet included in the PDCP SDU to identify the information of the IP packet. According to an embodiment, the PDCP SDU analyzer 530 may identify whether the PDCP SDU is retransmittable in an upper layer (e.g., an upper layer of the PDCP layer) based on the identified IP packet information. For example, if the PDCP SDU is a Transmission Control Protocol (TCP), the electronic device 101 may retransmit the PDCP SDU from the upper layer of the PDCP layer based on whether an ACK / NACK is received. For another example, if the PDCP SDU is a User Datagram Protocol (UDP), the electronic device 101 may not retransmit the PDCP SDU from the upper layer of the PDCP layer regardless of whether an ACK / NACK is received. For example, since a retransmission protocol is not guaranteed in an upper layer if the PDCP SDU is a UDP packet, the PDCP SDU analyzer 530 may determine to store the PDCP SDU or the corresponding PDCP PDU in the common area 502 or the PDCP buffer 504. For example, the electronic device 101 may store the PDCP SDU or the corresponding PDCP PDU in the common area 502 or the PDCP buffer 504 until a specified condition is met within a specified time.
[0112] According to an embodiment, the PDCP SDU analyzer 530 may determine to store a PDCP SDU that can be retransmitted in an upper layer. For example, the PDCP SDU analyzer 530 may determine to store a PDCP SDU corresponding to a TCP packet based on the QoS of the terminal. For example, in order to ensure the QoS-based quality of service of the terminal, the PDCP SDU 530 may determine to store the PDCP SDU for fast retransmission of the PDCP SDU. For example, the PDCP SDU analyzer 530 may determine to store the PDCP SDU based on the current channel state or channel state history of the electronic device 101. For example, the PDCP 530 may estimate an event (e.g., handover) in which the loss of the PDCP SDU is predicted based on the channel state or the channel state history, and may determine to store the PDCP SDU of at least a portion of the PDCP or the corresponding PDCP PDU in response to the prediction of the loss. If the PDCP SDU is deleted from the storage area corresponding to the PDCP layer, the common area 502 and / or the PDCP buffer 504 when determining to store the PDCP SDU, the PDCP SDU analyzer 530 may use the reverse operator 580 to restore the PDCP SDU from the packet in the lower layer and the PDCP PDU.
[0113] According to an embodiment, the PDCP SDU capturer 540 may capture and store the PDCP SDU for retransmission or reprocessing based on the determination of the PDCP SDU analyzer 530. For example, the PDCP SDU capturer 540 may store the PDCP SDU or the corresponding PDCP PDU captured in the PDCP buffer 504. For example, in RLC AM, the PDCP SDU capturer 540 may store the PDCP SDU or the corresponding PDCP PDU until an acknowledgment response from the RLC layer corresponding to the stored PDCP SDU or the corresponding PDCP PDU is received. For another example, with respect to data that does not require an acknowledgment response (e.g., data transmitted in RLC UM or UDP data packets), the PDCP SDU capturer 540 may store the PDCP SDU or the corresponding PDCP PDU for a specified time. The PDCP SDU or the corresponding PDCP PDU stored by the PDCP SDU capturer 540 may be in an encrypted state or a decrypted state. In the encrypted state, when the PDCP SDU stored by the PDCP SDU manager 560 is processed, decryption of the PDCP SDU may be performed. According to an embodiment, the PDCP SDU capturer 540 may include a first communication protocol stack PDCP SDU capturer 541 for the first communication protocol stack and a second communication protocol stack PDCP SDU capturer 542 for the second communication protocol stack.
[0114] According to an embodiment, the PDCP SDU loss detector 550 can detect a PDCP SDU that is predicted to be lost due to a change in PDCP. In order to detect the PDCP SDU that is predicted to be lost, the PDCP SDU loss detector 550 can identify the reason for deleting the PDCP SDU when the PDCP SDU is deleted from the PDCP layer. According to an embodiment, the PDCP SDU loss detector 550 can distinguish whether the PDCP SDU is deleted because the PDCP SDU has been normally transmitted through the physical layer or because the PDCP SDU is not processed due to a change in PDCP. For example, the PDCP SDU loss detector 550 can identify the reason for deleting the PDCP SDU by identifying whether the data corresponding to the PDCP SDU has been normally transmitted in the physical layer. For another example, in RLC AM, the PDCP SDU loss detector 550 can identify the reason for deleting the PDCP SDU based on the result of ACK / NACK in the RLC layer. According to an embodiment, the PDCP SDU loss detector 550 may exist for each radio interface (e.g., radio access technology) corresponding to an independent PDCP version. For example, the PDCP SDU loss detector 550 may include a first communication protocol stack PDCP SDU loss detector 551 and a second communication protocol stack PDCP SDU loss detector 552 .
[0115] According to various embodiments, regarding PDCP SDUs predicted to be lost, the PDCP SDU manager 560 may determine whether to process the PDCP SDUs through CP internal processing or discard the PDCP SDUs, and then receive and process PDCP SDUs retransmitted from the AP. For example, the PDCP SDU manager 560 may determine the PDCP SDU processing method based on the AP situation, the CP situation, and / or PDCP SDU characteristics identified by the PDCP SDU analyzer 530. According to an embodiment, if it is determined that the PDCP SDUs are to be processed through CP internal processing, the PDCP SDU manager 560 may use the inter-protocol stack PDCP SDU deliverer 570 to deliver the PDCP SDUs between communication protocol stacks using different PDCP versions.
[0116] According to various embodiments, the inter-communication protocol stack PDCP SDU deliverer 570 may deliver a PDCP SDU predicted to be lost to a communication protocol stack using a different PDCP version. The PDCP SDU predicted to be lost may already be stored in the PDCP buffer 504 of the CP region 503. Alternatively, the PDCP SDU may already be stored in the PDCP buffer 504 in the form of a PDCP PDU including a PDCP header. The inter-communication protocol stack PDCP SDU deliverer 570 may deliver the PDCP SDU to the communication protocol stack using a different PDCP version by processing the PDCP SDU stored in the PDCP buffer 504 within the PDCP buffer 504.
[0117] Reference Figure 13 1300A, for example, a PDCP SDU (e.g., a first PDCP SDU 1321) may be stored in the PDCP buffer 504 in the form of a PDCP PDU (e.g., a first PDCP PDU 1351). According to an embodiment, the PDCP PDU deliverer 570 may remove a PDCP header (e.g., a first PDCP header 1311) from the first PDCP PDU 1351 and add a PDCP header (e.g., a second PDCP header 1312) corresponding to the first PDCP header 1311 and a different type of PDCP version, so as to deliver PDCP PDUs of different types of versions (e.g., the second PDCP PDU 1352) to protocol stacks of different types of versions. In this case, the first PDCP PDU 1321 and the second PDCP PDU 1352 may correspond to PDCP PDUs of different PDCP versions.
[0118] Reference Figure 13 Referring to reference numeral 1300B, for example, a PDCP SDU (e.g., the second PDCP SDU 1322) may be stored in the PDCP buffer 504 in the form of a PDCP SDU. According to an embodiment, the PDCP PDU deliverer 570 may add a PDCP header (e.g., the third PDCP header 1313) corresponding to a different type of PDCP version, so as to deliver the PDCP PDUs of different types of versions (e.g., the third PDCP PDU 1353) to the protocol stacks of different types of versions.
[0119] Reference Figure 13With reference to 1300C, for example, a PDCP SDU (e.g., the third PDCP SDU 1323) may be stored in the CP region 503 instead of in the PDCP buffer 504 in the memory 500. For example, the third PDCP SDU 1323 may be stored in the form of a PDCP SDU. In this case, the fourth PDCP header 1314 may be omitted. For another example, a PDCP SDU may be stored in the form of a PDCP PDU (e.g., the fourth PDCP PDU 1354). The PDCP SDU deliverer 570 may deliver the PDCP SDU or the corresponding PDCP PDU between different types of communication protocol stacks by delivering information of the PDCP SDU (e.g., address information of the third PDCP SDU 1323 in the memory 500).
[0120] refer to Figure 5 According to an embodiment, when it is determined that the PDCP SDU is to be processed by retransmission from the AP, the PDCP SDU manager 560 may delete the PDCP SDU or the corresponding PDCP PDU from the PDCP buffer 504, and then may request the AP to retransmit the IP data packet corresponding to the deleted PDCP SDU.
[0121] According to an embodiment, the inter-communication protocol stack PDCP SDU deliverer 570 may deliver PDCP SDUs or corresponding PDCP PDUs between different types of communication protocol stacks. For example, the inter-communication protocol stack PDCP SDU deliverer 570 may deliver PDCP SDUs or corresponding PDCP PDUs based on the determination of the PDCP SDU manager 560.
[0122] According to an embodiment, the reverse operator 580 can recover a PDCP SDU from a lower layer data packet. When a PDCP SDU is deleted after being delivered from the PDCP layer to a lower layer, the PDCP SDU may not exist even though the packet that failed to be transmitted in the RLC / MAC / PHY layer has not yet been transmitted to the receiving end. In this case, the reverse operator 580 can regenerate at least one PDCP SDU from the lower layer packets in the reverse order of the transmission process. For example, to store the regenerated PDCP SDU, the reverse operator 580 can deliver the regenerated PDCP SDU to the PDCP SDU capturer 540 or store the regenerated PDCP SDU in the PDCP buffer 504.
[0123] According to an embodiment, the CP monitor 590 may monitor the status of the CP and may report the status information of the CP to the PDCP SDU manager 560. For example, when the PDCP changes, the status information of the CP may include the number of unprocessed PDCP SDUs (e.g., the number of PDCP SDUs identified to be lost), the logical channel identifiers (LCIDs) of the unprocessed PDCP SDUs, and / or the sequence numbers (SNs) of the unprocessed PDCP SDUs. For example, the PDCP SDU manager 560 may determine the number of CP payloads for retransmitting or reprocessing the PDCP SDUs based on the CP status information. The above-mentioned monitoring information of the CP monitor 590 is an example, and the CP monitor 590 may monitor the CP operation associated with the processing of untransmitted and / or unprocessed PDCP SDUs according to the change of the PDCP.
[0124] Figure 6 A signal flow diagram is shown in the bearer change scenario according to various embodiments.
[0125] According to various embodiments, the electronic device 101 may send / receive data based on NR PDCP in an MR-DC environment based on the fifth generation mobile communication NSA. For example, in operation 605, the electronic device 101 may establish a first bearer based on NR PDCP with the secondary node (SN) 601. In operation 610, the electronic device 101 may send data to or receive data from the SN 601 through the established first bearer. In this case, the electronic device 101 may use a split bearer or an SCG bearer to send data to or receive data from the SN 601. The electronic device 101 may send / receive data based on NR PDCP (for example, Figure 3 For example, when delivering an IP packet generated by an application to the PDCP layer, the electronic device 101 (e.g., Figure 5 The PDCP SDU analyzer 530 may identify characteristics of the PDCP SDU. In addition, the PDCP SDU analyzer 530 may deliver the identified characteristics to a PDCP SDU manager (e.g., Figure 5 For example, the electronic device 101 (e.g., the PDCP SDU manager 560) may determine whether to store the PDCP SDU in the PDCP buffer (e.g., Figure 5 In addition, the electronic device 101 (eg, the PDCP SDU manager 560) may determine whether to store the PDCP SDU based on the situation of the AP and / or CP.
[0126] According to various embodiments, in operation 615, the electronic device 101 may deviate from the coverage of the SN 601. In this case, in operation 620, the electronic device 101 may declare a radio link failure (RLF). The SN 601 may be released in response to the RLF. In this case, the electronic device 101 (e.g., the PDCP SDU manager 560) may identify a PDCP change based on CP information. For example, the PDCP SDU manager 560 may use the PDCP SDU loss detector 550 to identify PDCP SDUs that may be lost. The electronic device 101 (e.g., the PDCP SDU manager 560) may determine a PDCP SDU processing method based on the AP and / or CP information and the identified PDCP SDUs. For example, with respect to PDCP SDUs predicted to be lost, the PDCP SDU manager 560 may determine whether to process the PDCP SDUs through CP internal processing or whether to receive and process PDCP SDUs retransmitted from the AP.
[0127] According to various embodiments, in operation 625, the electronic device 101 may establish a second bearer with the master node (MN) 602. In operation 630, the electronic device 101 may transmit or receive data to or from the MN 602 via the second bearer. For example, the second bearer may be a bearer based on LTE PDCP (e.g., an MCG bearer).
[0128] exist Figure 6 In the example of , the type of bearer may be changed based on RLF. The electronic device 101 may process the PDCP SDU predicted to be lost based on the determination of the PDCP SDU manager 560 (e.g., by processing using the AP or CP). For example, when the electronic device 101 determines to process the PDCP SDU predicted to be lost by using the CP, the electronic device 101 may process the PDCP SDU predicted to be lost in the PDCP buffer (e.g., Figure 5 The PDCP SDU predicted to be lost is buffered in the PDCP buffer 504 until the second bearer is established. The buffering operation performed by the electronic device 101 may include storing the PDCP SDU predicted to be lost in the PDCP buffer (e.g., Figure 5In this process, the electronic device 101 may use the PDCP SDU stored in the PDCP buffer 504 to send the PDCP SDU through the second bearer. For example, after establishing the second bearer, the electronic device 101 may, under the control of the inter-communication protocol stack PDCP SDU deliverer 570, deliver the stored PDCP SDU to a communication protocol stack with a different type of version, so as to send the PDCP SDU to the MN 602 through the second bearer. For example, the electronic device 101 may add a PDCP version (e.g., a different PDCP version) to the PDCP SDU stored in the PDCP buffer 504. Figure 4 The PDCP PDU is generated by using a header related to the E-UTRA PDCP 411, and the PDCP PDU can be sent to the MN 602 through the changed lower layer of the PDCP. For another example, when the electronic device 101 determines to use the AP to process the data PDCP SDU predicted to be lost, the electronic device 101 can delete the PDCP SDU predicted to be lost, and retransmit the IP data packet corresponding to the PDCP SDU from the AP to the PDCP layer (for example, Figure 4 PDCP layer 410).
[0129] According to various embodiments, although not shown, before departing (operation 615) from the SN coverage, the electronic device 101 may store the PDCP SDUs predicted to be lost in the PDCP buffer 504. For example, during data transmission / reception through the first bearer (operation 610), if the electronic device 101 estimates an event (e.g., handover) in which data loss may occur based on the channel state, the electronic device 101 may store the PDCP SDUs predicted to be lost in the PDCP buffer 504 starting from the estimated time point.
[0130] Figure 7 A signal flow diagram 700 related to PDCP version change identification according to various embodiments is shown.
[0131] In operation 705, a PDCP SDU (e.g., an IP data packet) may be delivered from the AP 701 to the CP 703. During delivery of the PDCP SDU, the PDCP SDU analyzer 530 may identify characteristics of the PDCP SDU and may deliver the identified characteristics to the PDCP SDU manager 560. For example, the PDCP SDU may be processed based on the second communication protocol stack 316. For example, operation 705 may be performed by Figure 6 The first bearer data transmission / reception (eg, operation 610) corresponds to the first bearer data transmission / reception (eg, operation 610).
[0132] According to an embodiment, the AP monitor 520 may monitor the AP status in operation 710 and may report the AP status to the PDCP SDU manager 560 in operation 712 .
[0133] According to an embodiment, the PDCP SDU analyzer 530 may identify characteristics of the PDCP SDU in operation 715 and may report the identified characteristics to the PDCP SDU manager 560 in operation 717 .
[0134] According to an embodiment, the CP monitor 590 may monitor the CP status in operation 720 and may report the CP status to the PDCP SDU manager 560 in operation 722 .
[0135] Operations 710 to 722 may be performed during the PDCP SDU delivery of operation 705 and may be performed substantially simultaneously. The order in which operations 710 to 722 are performed is not limited by reference numerals associated with the operations.
[0136] According to various embodiments, the CP monitor 590 may detect or estimate a change in the PDCP version in operation 725. For example, the CP monitor 590 may detect a PDCP version change by sensing the addition or release of a secondary node (SN). For another example, the CP monitor 590 may estimate the PDCP version change based on a communication state (e.g., RSSI and / or SINR). For another example, the CP monitor 590 may estimate the PDCP version change based on an RLC ARQ state or a HARQ state. The CP monitor 590 may estimate the PDCP version change based on the deviation of the electronic device 101 from the SN coverage (e.g., Figure 6 operation 615) or RLF (e.g., Figure 6 Operation 620) to detect the PDCP version change.
[0137] According to various embodiments, in response to detecting or estimating a PDCP version change, the CP monitor 725 may notify the PDCP SDU loss detector 550 of the version change. In operation 735, the PDCP SDU loss detector 550 may identify PDCP SDUs predicted to be lost based on the PDCP version change. When there are PDCP SDUs predicted to be lost, the PDCP SDU loss detector 550 may report the detection of the loss to the PDCP SDU manager 560.
[0138] Figure 8 A signal flow diagram 800 related to a PDCP SDU transmission method according to various embodiments is shown.
[0139] According to an embodiment, the PDCP SDU manager 560 may be based on the above reference Figure 7 The at least one report determines processing of the PDCP SDU predicted to be lost in the CP 703.
[0140] According to various embodiments, in operation 805, the PDCP SDU manager 560 may determine to capture a PDCP SDU. For example, the PDCP SDU manager 560 may determine to capture a PDCP SDU in response to detection or estimation of a PDCP version change (e.g., Figure 7 For example, the PDCP SDU manager 560 may determine the captured PDCP SDU based on the PDCP SDU characteristic report (e.g., Figure 7 Operation 717) determines to capture the PDCP SDU.
[0141] According to various embodiments, in operation 810, the PDCP SDU manager 560 may deliver a PDCP SDU capture notification to the PDCP SDU capturer 540. In operation 815, the PDCP SDU capturer 540 may capture the PDCP SDU. For example, the PDCP SDU capturer 540 may store the PDCP SDU in a PDCP buffer (e.g., Figure 5 According to an embodiment, the capturing of the PDCP SDU may include inversely converting packets present in a lower layer of the PDCP layer into the PDCP SDU.
[0142] According to various embodiments, in operation 820, the CP monitor 590 may detect or estimate the end of the PDCP version change. For example, the end of the PDCP version change may be associated with the completion of the establishment of the second bearer (e.g., Figure 6 In operation 825, the CP monitor 590 may notify the PDCP SDU manager 560 of the end of the PDCP version change.
[0143] According to various embodiments, in operation 830, the PDCP SDU manager 560 may request the PDCP SDU capturer 540 to deliver the captured PDCP SDU. In operation 835, the PDCP SDU capturer 540 may deliver the captured PDCP SDU to the protocol stack corresponding to the second bearer through PDCP SDU delivery between the communication network protocol stacks controlled by the inter-communication protocol stack PDCP SDU deliverer 570. For example, the inter-communication protocol stack PDCP SDU deliverer 570 may deliver the PDCP SDU to the protocol stack corresponding to the second bearer by processing the PDCP SDU stored in the PDCP buffer 504 by the PDCP SDU capturer 540 (e.g., adding a PDCP header corresponding to the second bearer). For example, the inter-communication protocol stack PDCP SDU deliverer 570 may deliver the PDCP SDU to the protocol stack corresponding to the second bearer by deleting the PDCP header of the PDCP PDU corresponding to the first bearer stored in the PDCP buffer 504 and adding a PDCP header corresponding to the second bearer. For another example, the inter-communication protocol stack PDCP SDU deliverer 570 may deliver information (e.g., address information) of the PDCP SDU stored in a memory area other than the PDCP buffer 504 to the protocol stack corresponding to the second bearer. The electronic device 101 may transmit data (e.g., Figure 6 Operation 630).
[0144] Figure 9 A signal flow diagram related to a PDCP SDU retransmission method according to various embodiments is shown.
[0145] According to an embodiment, in operation 905, the PDCP SDU manager 560 may Figure 7 At least one report described above determines the retransmission of the PDCP SDU from the AP 701. For example, when the PDCP SDU is retransmitted based on the loss detection report (e.g., Figure 7 Operation 740) and PDCP SDU characteristic reporting (e.g., Figure 7 At operation 717 ), when the lost PDCP SDU is a TCP-based data packet, the PDCP SDU manager 560 may determine to retransmit the PDCP SDU from the AP 701 .
[0146] According to various embodiments, in operation 910 , the PDCP SDU manager 560 may notify the PDCP SDU capturer 540 of deleting the stored PDCP SDUs.
[0147] According to various embodiments, in operation 915, the CP monitor 590 may detect or estimate the end of the PDCP version change. For example, the end of the PDCP version change may correspond to the completion of the establishment of the second bearer (eg, Figure 6 In operation 920, the CP monitor 590 may notify the PDCP SDU manager 560 of the end of the PDCP version change.
[0148] According to various embodiments, in operation 925, the PDCP SDU manager 560 may request the AP 701 to retransmit the PDCP SDU estimated to be lost. In operation 930, the AP 701 may retransmit the requested PDCP SDU by retransmitting the requested IP data packet. In this case, the CP 702 may process the received IP data packet according to the network protocol stack corresponding to the changed PDCP version.
[0149] When the electronic device 101 switches from the SN 601 corresponding to the NR cell to the MN 602 corresponding to the E-UTRA cell, Figures 6 to 9 The above description is of a method for processing a PDCP SDU estimated to be lost. However, the embodiments of the present disclosure are not limited thereto.
[0150] According to an embodiment, the electronic device 101 may switch from an E-UTRA cell to an NR cell supporting MR-DC. In this case, since the MC bearer associated with the E-UTRA PDCP is changed to an SCG bearer or a split bearer of the NR, there may be a remaining PDCP SDU. In this case, in addition to the communication network protocol stack, the same protocol stack as in the above reference may be applied. Figures 6 to 9 The same embodiment is described.
[0151] According to an embodiment, in an E-UTRA cell supporting MR-DC, the bearer of the electronic device 101 may be changed from an E-UTRA PDCP-based MCG bearer to an NR PDCP-based MCG bearer based on a configuration update based on network preference. In this case, the PDCP SDU loss detector 550 may identify PDCP SDUs that are about to be lost due to the PDCP version change. The PDCP SDU manager 560 may deliver the lost PDCP SDUs to the NR protocol stack. As a result, the E-UTRA PDCP SDUs may be retransmitted via NR PDCP SDUs.
[0152] According to an embodiment, even when the PDCP bearer or security key is changed without changing the RAT, the electronic device 101 may determine to reprocess or retransmit the PDCP SDU. For example, when the receiving end cannot successfully receive due to a change in the PDCP security key, the PDCP SDU manager 560 may generate a changed PDCP SDU using the changed security key from the PDCP SDU stored in the PDCP buffer 504. The electronic device 101 may retransmit the PDCP SDU corresponding to the changed key through the corresponding protocol stack. For another example, in response to the bearer change, the PDCP SDU manager 560 may generate a PDCP PDU corresponding to the changed bearer from the PDCP SDU stored in the PDCP buffer 504, and may retransmit the generated PDCP PDU through the corresponding protocol stack. Similarly, when packet retransmission is performed on the same bearer according to the bearer reconfiguration procedure on the same RAT, the PDCP SDU manager 560 may identify the PDCP SDU that is about to be lost according to a procedure similar to the above procedure, and may reprocess or retransmit the identified PDCP SDU.
[0153] Figure 10 1000 is a flow chart illustrating a PDCP SDU transmission method according to various embodiments.
[0154] According to various embodiments, at least one processor (eg, Figure 1 The processor 120 and / or the communication module 190 of the embodiment may monitor the AP and the CP in operation 1005. For example, for operation 1005, reference may be made to Figure 5 The operations of the AP monitor 520 and the CP monitor 590 are as follows.
[0155] According to various embodiments, at least one processor may determine whether a PDCP version or key (e.g., a security key of the PDCP layer) change event is detected based on a result of monitoring the AP and / or CP in operation 1010. If no PDCP version or key change event is detected, the at least one processor may continue to monitor the AP and CP.
[0156] According to various embodiments, if a PDCP version change or key change event is detected, the at least one processor may determine whether transmission data is lost in response to the detected event in operation 1015. For example, if there is transmission data delivered from the PDCP layer to a lower layer but not transmitted or its acknowledgment is not received, the at least one processor may determine that there is data to be lost.
[0157] According to various embodiments, when data to be lost exists, the at least one processor may determine whether to retransmit the transmission data in operation 1020. For example, the at least one processor may determine whether to retransmit based on characteristics of the data to be lost. For example, if the transmission protocol of the data to be lost is TCP, the at least one processor may determine to retransmit the transmission data. For example, if the transmission protocol of the data to be lost is UDP, the at least one processor may determine to reprocess the transmission data.
[0158] According to various embodiments, if it is determined that the transmission data is to be retransmitted, the at least one processor may request the AP to retransmit the lost transmission data in operation 1025. If it is determined that the transmission data is to be reprocessed, the at least one processor may reprocess and transmit the PDCP SDU using the changed PDCP version or key in operation 1030.
[0159] Figure 11 is a flowchart illustrating a method for transmitting data packets of a changed PDCP according to various embodiments.
[0160] According to various embodiments, an electronic device (e.g., Figure 1 The electronic device 101 may include: at least one wireless communication circuit (eg, Figure 1 communication module 190); at least one processor (e.g., Figure 1 a communication module 190 and / or processor 120 operatively connected to at least one wireless communication circuit and configured to provide a first packet data convergence protocol (PDCP) associated with a first RAT and a second PDCP associated with a second RAT; a volatile memory (e.g., Figure 1 volatile memory 132) which is operatively connected to the at least one processor and includes a first buffer in at least a portion of its area; and a non-volatile memory (e.g., Figure 1 non-volatile memory 134) that is operatively connected to or coupled to the at least one processor.
[0161] For example, the non-volatile memory may store instructions that, when executed, cause at least one processor to perform the operations described below.
[0162] According to various embodiments, in operation 1105, during wireless communication based on the first RAT, the at least one processor may at least temporarily store at least one first data packet associated with the first PDCP in a first buffer (e.g., the PDCP buffer 504). For example, the at least one first data packet may include at least one first packet header including an identifier associated with the first PDCP and at least one service data unit (SDU). For example, the at least one first data packet may be a User Datagram Protocol (UDP) packet.
[0163] According to various embodiments, in operation 1110, when wireless communication is changed to wireless communication based on the second RAT, the at least one processor may change at least a portion of the stored at least one first data packet to at least one second data packet related to the second PDCP.
[0164] According to various embodiments, in operation 1115, the at least one processor may transmit the at least one second data packet using the second PDCP during wireless communication based on the second RAT. For example, the at least one second data packet may include at least one second packet header including an identifier associated with the second PDCP and the at least one SDU of the at least one first data packet.
[0165] According to an embodiment, the at least one processor can change at least a portion of the stored at least one first data packet into at least one second data packet related to the second PDCP by removing at least one first packet header from the at least one first data packet and adding at least one second packet header to the at least one first data packet from which the at least one first packet header has been removed.
[0166] Figure 12 is a flow chart illustrating a method for transmitting data packets in case of PDCP change according to various embodiments.
[0167] According to various embodiments, an electronic device (e.g., Figure 1 The electronic device 101 may include: at least one wireless communication circuit (eg, Figure 1 communication module 190); at least one processor (e.g., Figure 1 a communication module 190 and / or processor 120 operatively connected to at least one wireless communication circuit and configured to provide a first packet data convergence protocol (PDCP) associated with a first RAT and a second PDCP associated with a second RAT; a volatile memory (e.g., Figure 1volatile memory 132) operatively connected to the at least one processor and including a first buffer in at least a portion of its area; and a non-volatile memory (e.g., Figure 1 A non-volatile memory 134) is operatively connected to the at least one processor or coupled to the processor.
[0168] For example, the non-volatile memory may store instructions that, when executed, cause at least one processor to perform the operations described below.
[0169] According to various embodiments, in operation 1205 , during wireless communication based on the first RAT, the at least one processor may at least temporarily store a plurality of first data packets related to the first PDCP in a first buffer.
[0170] According to various embodiments, in operation 1210, the at least one processor may transmit at least a portion of a plurality of first data packets using a first PDCP. For example, the at least one first data packet may include at least one first packet header including an identifier associated with the first PDCP and at least one service data unit (SDU). For example, the at least one first data packet may be a User Datagram Protocol (UDP) packet.
[0171] According to various embodiments, in operation 1215 , when the wireless communication is changed to the wireless communication based on the second RAT, the at least one processor may identify at least one first data packet that is not transmitted among the plurality of first data packets.
[0172] According to various embodiments, in operation 1220, the at least one processor may change the identified at least one first data packet into at least one second data packet associated with the second PDCP. For example, the at least one second data packet may include at least one second packet header including an identifier associated with the second PDCP and the at least one SDU of the at least one first data packet. According to an embodiment, the at least one processor may change at least a portion of the stored at least one first data packet into the at least one second data packet associated with the second PDCP by removing the at least one first packet header from the at least one first data packet and adding the at least one second packet header to the at least one first data packet from which the at least one first packet header was removed.
[0173] According to various embodiments, in operation 1225, the at least one processor may send the at least one second data packet using the second PDCP during wireless communication based on the second RAT.
[0174] According to various embodiments, an electronic device (e.g., Figure 1 The electronic device 101 may include at least one wireless communication circuit (e.g., configured to provide a first radio access technology (RAT) (e.g., E-UTRA or NR) and a second RAT (e.g., a RAT different from the first RAT). Figure 1 communication module 190); at least one processor (e.g., Figure 1 a wireless communication module 192) (e.g., a communication processor), the at least one processor operatively connected to the at least one wireless communication circuit and configured to provide a first Packet Data Convergence Protocol (PDCP) associated with the first RAT and a second PDCP associated with the second RAT; a volatile memory (e.g., Figure 1 volatile memory 132) operatively connected to the at least one processor and including a first buffer in at least a portion of its area; and a non-volatile memory (e.g., Figure 1 The non-volatile memory 134 is operatively connected to or coupled to the at least one processor. According to an embodiment, the non-volatile memory may store one or more instructions that, when executed, cause the at least one processor to perform the operations of the electronic device described below.
[0175] According to an embodiment, during wireless communication based on the first RAT, the electronic device may at least temporarily store at least one first data packet related to the first PDCP in a first buffer (eg, Figure 5 In the common area 502 or PDCP buffer 504 of the wireless communication module, when the wireless communication is changed to wireless communication based on the second RAT, at least a portion of the stored at least one first data packet can be changed to at least one second data packet related to the second PDCP, and during the wireless communication based on the second RAT, the at least one second data packet can be sent using the second PDCP. For example, the at least one first data packet may include at least one first packet header, the first packet header including an identifier related to the first PDCP and at least one service data unit (SDU). For example, the at least one second data packet may include at least one second packet header, the second packet header including an identifier related to the second PDCP and the at least one SDU. For example, the at least one first data packet may be a User Datagram Protocol (UDP) packet.
[0176] According to an embodiment, the electronic device can change at least a portion of the stored at least one first data packet into at least one second data packet related to the second PDCP by removing at least one first packet header from the at least one first data packet and adding at least one second packet header to the at least one first data packet from which the at least one first packet header was removed.
[0177] According to various embodiments, an electronic device (e.g., Figure 1 The electronic device 101 may include at least one wireless communication circuit (e.g., configured to provide a first radio access technology (RAT) (e.g., E-UTRA or NR) and a second RAT (e.g., a RAT different from the first RAT). Figure 1 a communication module 190); a processor (e.g., a communication processor and / or an application processor) operatively connected to the at least one wireless communication circuit; and a memory (e.g., Figure 1 According to an embodiment, the non-volatile memory may store one or more instructions that, when executed, enable the at least one processor to perform the operations of the electronic device described below.
[0178] According to an embodiment, an electronic device may store instructions that cause the electronic device to perform the following operations: transmit at least a portion of a plurality of first data packets based on a first packet data convergence protocol (PDCP); while transmitting the plurality of first data packets, identify an event corresponding to a change from the first PDCP to a second PDCP; in response to identifying the event, identify at least one first data packet that may be lost due to the change to the second PDCP; and determine to retransmit or store the at least one first data packet based at least in part on an attribute of the at least one first data packet. For example, the attribute of the at least one first data packet may include a transport protocol of an Internet Protocol (IP) packet associated with the at least one first data packet.
[0179] According to an embodiment, the electronic device may identify the event by identifying a change in a bearer type, a PDCP version, or a security key of the PDCP.
[0180] According to an embodiment, the electronic device may recognize an event by estimating handover or radio link failure (RLF) based on a communication state of the electronic device.
[0181] According to an embodiment, the electronic device can identify data delivered from the PDCP layer to a lower layer but not sent in the physical layer, or data for which no confirmation response is received in the confirmation mode of the radio link control (RLC), as the at least one first data packet among the multiple first data packets.
[0182] According to an embodiment, when the transmission protocol of the IP packet is User Datagram Protocol (UDP), the electronic device may store the at least one first data packet in the memory.
[0183] According to an embodiment, after changing to the second PDCP, the electronic device may process the stored at least one first data packet according to the second PDCP.
[0184] According to an embodiment, when the transmission protocol of the IP packet is Transmission Control Protocol (TCP), the electronic device may determine to retransmit the at least one first data packet.
[0185] According to various embodiments, an electronic device (e.g., Figure 1 The data transmission method of the electronic device 101) may include: sending at least a portion of multiple first data packets based on a first packet data convergence protocol (PDCP); identifying an event corresponding to a change from a first PDCP to a second PDCP when sending the multiple first data packets; in response to the identification of the event, identifying at least one first data packet among the multiple first data packets that may be lost due to the change to the second PDCP; and determining to retransmit or store the at least one first data packet based at least in part on the attributes of the at least one first data packet.
[0186] For example, identifying an event may include identifying a change in a bearer type, a PDCP version, or a PDCP security key. For another example, identifying an event may include estimating a handover or a radio link failure (RLF) based on a communication state of the electronic device.
[0187] According to an embodiment, identifying at least one first data packet that may be lost may include data delivered from the PDCP layer to a lower layer but not sent in the physical layer, or data for which no confirmation response is received in a confirmation mode of radio link control (RLC), and identifying the at least one first data packet among the multiple first data packets.
[0188] For example, the attribute of the at least one first data packet may include a transport protocol of an Internet Protocol (IP) packet associated with the at least one first data packet.
[0189] According to an embodiment, when the transmission protocol of the IP packet is User Datagram Protocol (UDP), determining to retransmit or store the at least one first data packet may include storing the at least one first data packet in a memory of the electronic device.
[0190] For example, the method may further include processing and transmitting the stored at least one first data packet after changing to the second PDCP.
Claims
1. An electronic device comprising: at least one wireless communication circuit configured to provide a first radio access technology (RAT) and a second RAT; a processor operatively connected to the at least one wireless communication circuit; and a memory operatively connected to the processor, The memory stores instructions that, when executed, cause the processor to: sending at least a portion of the plurality of first data packets based on a first packet data convergence protocol PDCP, detecting a PDCP change from a first PDCP to a second PDCP by detecting a change between New Radio (NR) PDCP and Evolved Universal Mobile Telecommunications System Terrestrial Radio Access (E-UTRA) PDCP, In response to the detected PDCP change, identifying at least one first data packet delivered from the PDCP layer to a lower layer and not sent to the physical layer, and When a transmission protocol of the at least one first data packet is a User Datagram Protocol (UDP), it is determined to reprocess the at least one first data packet in the following manner: storing at least one first data packet in a buffer; changing at least a portion of the at least one first data packet into at least one second data packet associated with the second PDCP by removing at least one first data packet header from the at least one first data packet and adding at least one second data packet header to the at least one first data packet from which the at least one first data packet header has been removed, and At least one second data packet is sent.
2. The electronic device according to claim 1, wherein When the instructions are executed, the processor determines to retransmit the at least one first data packet when a transmission protocol of the at least one first data packet is a transmission control protocol TCP.
3. A data transmission method for an electronic device, comprising: sending at least a portion of the plurality of first data packets based on a first packet data convergence protocol PDCP; detecting a PDCP change from a first PDCP to a second PDCP by detecting a change between a New Radio (NR) PDCP and an Evolved Universal Mobile Telecommunications System (E-UTRA) PDCP; identifying, in response to a detected PDCP change, at least one first data packet delivered from the PDCP layer to a lower layer and not sent to the physical layer; When the transport protocol of the at least one first data packet is the User Datagram Protocol UDP, determining by reprocessing the at least one first data packet; as well as Reprocessing of at least one first data packet by: storing at least one first data packet in a buffer; removing at least one first data packet header from at least one first data packet, creating at least one second data packet associated with a second PDCP by adding at least one second data packet header to at least one first data packet from which at least one first data packet header has been removed, and At least one second data packet is sent.
4. The data transmission method according to claim 3, further comprising: When the transmission protocol of the at least one first data packet is the Transmission Control Protocol TCP, it is determined to retransmit the at least one first data packet.
Citation Information
Patent Citations
Radio base station, packet transmission apparatus, wireless terminal, control method, and program
US20170245178A1
Packet retransmission in a wireless communication system
WO2017194733A1
Method and apparatus for managing user plane operation in wireless communication system
WO2018030798A1