WO2022075716A1 - 통신 버퍼를 관리하기 위한 전자 장치 및 그의 동작 방법 - Google Patents

통신 버퍼를 관리하기 위한 전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
WO2022075716A1
WO2022075716A1 PCT/KR2021/013646 KR2021013646W WO2022075716A1 WO 2022075716 A1 WO2022075716 A1 WO 2022075716A1 KR 2021013646 W KR2021013646 W KR 2021013646W WO 2022075716 A1 WO2022075716 A1 WO 2022075716A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
processor
electronic device
data
buffer
Prior art date
Application number
PCT/KR2021/013646
Other languages
English (en)
French (fr)
Inventor
김동호
백종민
이주성
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US17/519,818 priority Critical patent/US11824663B2/en
Publication of WO2022075716A1 publication Critical patent/WO2022075716A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0278Traffic management, e.g. flow control or congestion control using buffer status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Definitions

  • Various embodiments of the present invention relate to an apparatus and method for managing a communication buffer of an electronic device in an electronic device.
  • TCP transmission control protocol
  • IP internet protocol
  • the transmission control protocol may perform congestion control in which a data transmission rate is adjusted in consideration of a congestion state of a network. For example, when it is determined that the network is relatively congested, the transmission control protocol may control the uplink transmission rate of the electronic device (eg, the transmission device) to be relatively low.
  • the congestion state of the network is the time it takes for the sending device to transmit data (or packets) and to receive a response signal (eg, ACK or NACK) corresponding to the data from the receiving device (eg, round trip time (RTT)).
  • RTT round trip time
  • An electronic device may temporarily store data (or packets) for transmission over a network in a communication buffer of the communication processor.
  • the electronic device may transmit information (eg, a buffer status report (BSR)) related to the amount of data stored in the communication buffer of the communication processor to the network.
  • BSR buffer status report
  • the network may allocate resources to be used by the electronic device for data transmission based on information related to the amount of data (or packets) stored in the communication buffer received from the electronic device.
  • the size of the communication buffer of the communication processor may be fixed.
  • the electronic device may include a communication buffer of the communication processor set to be relatively large in order to receive optimal resource allocation from the network. For example, when the size of the communication buffer of the communication processor is set to be relatively large, the electronic device may store a relatively large amount of data (or packets) in the communication buffer. Accordingly, the electronic device may be allocated a relatively large number of resources from the network based on a relatively large amount of data stored in the communication buffer.
  • data transmission delay may occur due to the size of the communication buffer.
  • the communication buffer of the communication processor is operated in a first in first out (FIFO) method, new data (or packet) can be transmitted to the network only when data (or packets) stored in the communication buffer are transmitted to the network. .
  • FIFO first in first out
  • the transmission control protocol may drive a timer for determining a round trip time (RTT) from a point in time when data (or a packet) is scheduled in the kernel. Accordingly, the RTT measured by the transmission control protocol may be increased by data transmission delay due to the size of the communication buffer of the communication processor.
  • RTT round trip time
  • the transmission control protocol may perform congestion control excessively compared to the congestion state of the actual network.
  • the electronic device may have a problem in that the uplink transmission rate is sharply decreased due to excessive congestion control by the transmission control protocol.
  • Various embodiments of the present invention disclose an apparatus and method for managing a communication buffer of a communication processor that affects congestion control by a transmission control protocol in an electronic device.
  • an electronic device includes a wireless communication circuit and an application processor, and a communication processor operatively connected to the wireless communication circuit and the application processor, the communication processor including a communication buffer, wherein the communication processor includes: (radio link control) It is possible to check a retransmission time, check an uplink transmission rate, and set a size of an area for data storage in the communication buffer based on the RLC retransmission time and the uplink transmission rate.
  • a method of operating an electronic device includes, in a communication processor including a communication buffer, checking an RLC (radio link control) retransmission time and an uplink transmission rate, and the RLC retransmission time and The method may include setting a size of an area for storing data in the communication buffer based on the uplink transmission rate.
  • RLC radio link control
  • the communication buffer of the communication processor transmission delay can be reduced.
  • RLC radio link control
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram of an electronic device for supporting legacy network communication and 5G network communication, according to various embodiments of the present disclosure
  • 3 is a diagram illustrating a protocol stack structure of the network 100 of 4G communication and/or 5G communication according to various embodiments of the present disclosure.
  • 4A, 4B, and 4C are diagrams illustrating wireless communication systems that provide a network of 4G communication and/or 5G communication according to various embodiments.
  • FIG. 5 is a block diagram of an electronic device for setting a size of a communication buffer of a communication processor according to various embodiments of the present disclosure
  • FIG. 6 is a flowchart for setting a size of a communication buffer of a communication processor in an electronic device according to various embodiments of the present disclosure
  • FIG. 7 is a flowchart for confirming an RLC retransmission time in an electronic device according to various embodiments of the present disclosure
  • FIG. 8 is a flowchart for setting a size of a communication buffer of a communication processor based on a compensation value in an electronic device according to various embodiments of the present disclosure
  • FIG. 9 is a flowchart for updating a size of a communication buffer of a communication processor in an electronic device according to various embodiments of the present disclosure
  • FIG. 10 is a flowchart for transmitting uplink data in an electronic device according to various embodiments of the present disclosure
  • FIG. 11 is a flowchart for operating a communication buffer of a communication processor in an electronic device according to various embodiments of the present disclosure
  • FIG. 12 is a flowchart for limiting data transmission from an electronic device to a communication buffer of a communication processor according to various embodiments of the present disclosure
  • FIG. 13 is a flowchart for resuming data transmission from an electronic device to a communication buffer of a communication processor according to various embodiments of the present disclosure
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199
  • the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120 , a memory 130 , an input module 150 , a sound output module 155 , a display module 160 , an audio module 170 , and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or an antenna module 197 may be included.
  • at least one of these components eg, the connection terminal 178
  • may be omitted or one or more other components may be added to the electronic device 101 .
  • some of these components are integrated into one component (eg, display module 160 ). can be
  • the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be stored in the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • software eg, a program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be stored in the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • the processor 120 is the main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit) a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • the main processor 121 e.g, a central processing unit or an application processor
  • a secondary processor 123 eg, a graphic processing unit, a neural network processing unit
  • NPU neural processing unit
  • an image signal processor e.g., a sensor hub processor, or a communication processor.
  • the main processor 121 e.g, a central processing unit or an application processor
  • a secondary processor 123 eg, a graphic processing unit, a neural network processing unit
  • NPU neural processing unit
  • an image signal processor e.g., a sensor hub processor, or a communication processor.
  • the main processor 121 e.g, a central processing unit or an application processor
  • a secondary processor 123
  • the auxiliary processor 123 is, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
  • the coprocessor 123 eg, an image signal processor or a communication processor
  • may be implemented as part of another functionally related component eg, the camera module 180 or the communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model.
  • Artificial intelligence models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself on which artificial intelligence is performed, or may be performed through a separate server (eg, the server 108).
  • the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
  • the artificial intelligence model may include a plurality of artificial neural network layers.
  • Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more, but is not limited to the above example.
  • the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
  • the memory 130 may store various data used by at least one component of the electronic device 101 (eg, the processor 120 or the sensor module 176 ).
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
  • the input module 150 may receive a command or data to be used in a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 155 may output a sound signal to the outside of the electronic device 101 .
  • the sound output module 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback.
  • the receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
  • the display module 160 may include, for example, a control circuit for controlling a display, a hologram device, or a projector and a corresponding device.
  • the display module 160 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input module 150 or an external electronic device (eg, a sound output module 155 ) directly or wirelessly connected to the electronic device 101 . A sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • an external electronic device eg, a sound output module 155
  • a sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more designated protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card
  • the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a LAN (local area network) communication module, or a power line communication module).
  • GNSS global navigation satellite system
  • a corresponding communication module among these communication modules is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
  • a first network 198 eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network 199 eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
  • a telecommunication network
  • the wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • the electronic device 101 may be identified or authenticated.
  • the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
  • NR access technology includes high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency) -latency communications)).
  • eMBB enhanced mobile broadband
  • mMTC massive machine type communications
  • URLLC ultra-reliable and low-latency
  • the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
  • a high frequency band eg, mmWave band
  • the wireless communication module 192 includes various technologies for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing. It may support technologies such as full dimensional MIMO (FD-MIMO), an array antenna, analog beam-forming, or a large scale antenna.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
  • the wireless communication module 192 may include a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less).
  • the subscriber identification module 196 may include a plurality of subscriber identification modules. For example, the plurality of subscriber identification modules may store different subscriber information.
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is selected from a plurality of antennas by, for example, the communication module 190 . can be A signal or power may be transmitted or received between the communication module 190 and an external electronic device through at least one selected antenna.
  • other components eg, a radio frequency integrated circuit (RFIC)
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, underside) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band), and It may include a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of a designated high frequency band. .
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
  • Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
  • all or a part of operations executed in the electronic device 101 may be executed in one or more external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or the server 108 may be included in the second network 199 .
  • the electronic device 101 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • first, second, or first or second may be used simply to distinguish the element from other elements in question, and may refer to elements in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is, for example, used interchangeably with terms such as logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101).
  • a machine eg, electronic device 101
  • a processor eg, processor 120
  • a device eg, electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not include a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be included in a computer program product and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed online (eg download or upload), directly between smartphones (eg smartphones).
  • a part of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. .
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.
  • FIG. 2 is a block diagram 200 of an electronic device 101 for supporting legacy network communication and 5G network communication, according to various embodiments of the present disclosure.
  • the electronic device 101 includes a first communication processor 212 , a second communication processor 214 , a first radio frequency integrated circuit (RFIC) 222 , and a second RFIC 224 , a third RFIC 226 , a fourth RFIC 228 , a first radio frequency front end (RFFE) 232 , a second RFFE 234 , a first antenna module 242 , a second antenna module 244 , and an antenna 248 .
  • the electronic device 101 may further include a processor 120 and a memory 130 .
  • the network 199 may include a first network 292 and a second network 294 .
  • the electronic device 101 may further include at least one component among the components illustrated in FIG. 1
  • the network 199 may further include at least one other network.
  • a first communication processor 212 , a second communication processor 214 , a first RFIC 222 , a second RFIC 224 , a fourth RFIC 228 , a first RFFE 232 , and the second RFFE 234 may form at least a part of the wireless communication module 192 .
  • the fourth RFIC 228 may be omitted or may be included as a part of the third RFIC 226 .
  • the first communication processor 212 may support establishment of a communication channel of a band to be used for wireless communication with the first network 292 and legacy network communication through the established communication channel.
  • the first network may be a legacy network including a second generation (2G), 3G, 4G, or long term evolution (LTE) network.
  • the second communication processor 214 establishes a communication channel corresponding to a designated band (eg, about 6 GHz to about 60 GHz) among bands to be used for wireless communication with the second network 294 , and 5G network communication through the established communication channel can support
  • the second network 294 may be a 5G network (eg, new radio (NR)) defined by 3GPP.
  • NR new radio
  • the first communication processor 212 or the second communication processor 214 is configured to correspond to another designated band (eg, about 6 GHz or less) among bands to be used for wireless communication with the second network 294 . It is possible to support establishment of a communication channel, and 5G network communication through the established communication channel.
  • the first communication processor 212 and the second communication processor 214 may be implemented in a single chip or a single package.
  • the first communication processor 212 or the second communication processor 214 may be formed in a single chip or a single package with the processor 120 , the coprocessor 123 , or the communication module 190 . .
  • the first communication processor 212 may transmit/receive data to and from the second communication processor 214 .
  • data classified to be transmitted through the second network 294 may be changed to be transmitted through the first network 292 .
  • the first communication processor 212 may receive transmission data from the second communication processor 214 .
  • the first communication processor 212 may transmit and receive data through the interface between the second communication processor 214 and the processor.
  • the interprocessor interface may be implemented as a universal asynchronous receiver/transmitter (UART) (eg, high speed-UART (HS-UART)) or a peripheral component interconnect bus express (PCIe) interface, but there is no limitation on the type .
  • UART universal asynchronous receiver/transmitter
  • PCIe peripheral component interconnect bus express
  • the first communication processor 212 and the second communication processor 214 may exchange control information and packet data information using a shared memory.
  • the first communication processor 212 may transmit/receive various information such as sensing information, information on output strength, and resource block (RB) allocation information with the second communication processor 214 .
  • RB resource block
  • the first communication processor 212 may not be directly coupled to the second communication processor 214 .
  • the first communication processor 212 may transmit and receive data through the second communication processor 214 and the processor 120 (eg, an application processor).
  • the first communication processor 212 and the second communication processor 214 may transmit and receive data with the processor 120 (eg, an application processor) through the HS-UART interface or the PCIe interface, but There is no restriction on the type.
  • the first communication processor 212 and the second communication processor 214 may exchange control information and packet data information using a shared memory with the processor 120 (eg, an application processor).
  • the first communication processor 212 and the second communication processor 214 may be implemented in a single chip or a single package.
  • the first communication processor 212 or the second communication processor 214 may be formed in a single chip or a single package with the processor 120 , the co-processor 123 , or the communication module 190 . .
  • the first RFIC 222 when transmitting, transmits a baseband signal generated by the first communication processor 212 to about 700 MHz to about 3 GHz used in the first network 292 (eg, a legacy network). can be converted to a radio frequency (RF) signal of Upon reception, an RF signal is obtained from a first network 292 (eg, a legacy network) via an antenna (eg, a first antenna module 242 ) and via an RFFE (eg, a first RFFE 232 ). It may be preprocessed. The first RFIC 222 may convert the preprocessed RF signal into a baseband signal to be processed by the first communication processor 212 .
  • RF radio frequency
  • the second RFIC 224 when transmitting, transmits the baseband signal generated by the first communication processor 212 or the second communication processor 214 to the second network 294 (eg, a 5G network). It can be converted into an RF signal (hereinafter, 5G Sub6 RF signal) of the Sub6 band (eg, about 6 GHz or less).
  • 5G Sub6 RF signal RF signal
  • a 5G Sub6 RF signal is obtained from the second network 294 (eg, 5G network) via an antenna (eg, second antenna module 244 ), and RFFE (eg, second RFFE 234 ) can be pre-processed.
  • the second RFIC 224 may convert the preprocessed 5G Sub6 RF signal into a baseband signal to be processed by a corresponding one of the first communication processor 212 or the second communication processor 214 .
  • the third RFIC 226 transmits the baseband signal generated by the second communication processor 214 to the RF of the 5G Above6 band (eg, about 6 GHz to about 60 GHz) to be used in the second network 294 (eg, 5G network). It can be converted into a signal (hereinafter referred to as 5G Above6 RF signal).
  • a 5G Above6 RF signal may be obtained from the second network 294 (eg, 5G network) via an antenna (eg, antenna 248 ) and pre-processed via a third RFFE 236 .
  • the third RFIC 226 may convert the preprocessed 5G Above6 RF signal into a baseband signal to be processed by the second communication processor 214 .
  • the third RFFE 236 may be formed as part of the third RFIC 226 .
  • the electronic device 101 may include the fourth RFIC 228 separately from or as at least a part of the third RFIC 226 .
  • the fourth RFIC 228 converts the baseband signal generated by the second communication processor 214 into an RF signal (hereinafter, IF signal) of an intermediate frequency band (eg, about 9 GHz to about 11 GHz). After conversion, the IF signal may be transmitted to the third RFIC 226 .
  • the third RFIC 226 may convert the IF signal into a 5G Above6 RF signal.
  • a 5G Above6 RF signal may be received from the second network 294 (eg, 5G network) via an antenna (eg, antenna 248 ) and converted to an IF signal by a third RFIC 226 .
  • the fourth RFIC 228 may convert the IF signal into a baseband signal for processing by the second communication processor 214 .
  • the first RFIC 222 and the second RFIC 224 may be implemented as at least a part of a single chip or a single package.
  • the first RFFE 232 and the second RFFE 234 may be implemented as at least a part of a single chip or a single package.
  • at least one antenna module of the first antenna module 242 or the second antenna module 244 may be omitted or may be combined with another antenna module to process RF signals of a plurality of corresponding bands.
  • the third RFIC 226 and the antenna 248 may be disposed on the same substrate to form the third antenna module 246 .
  • the wireless communication module 192 or the processor 120 may be disposed on the first substrate (eg, main PCB).
  • the third RFIC 226 is located in a partial area (eg, the bottom surface) of the second substrate (eg, sub PCB) separate from the first substrate, and the antenna 248 is located in another partial region (eg, the top surface). is disposed, the third antenna module 246 may be formed.
  • a high-frequency band eg, about 6 GHz to about 60 GHz
  • the electronic device 101 may improve the quality or speed of communication with the second network 294 (eg, a 5G network).
  • the antenna 248 may be formed as an antenna array including a plurality of antenna elements that may be used for beamforming.
  • the third RFIC 226 may include, for example, as a part of the third RFFE 236 , a plurality of phase shifters 238 corresponding to the plurality of antenna elements.
  • each of the plurality of phase shifters 238 may transform the phase of a 5G Above6 RF signal to be transmitted to the outside of the electronic device 101 (eg, a base station of a 5G network) through a corresponding antenna element. .
  • each of the plurality of phase shifters 238 may convert the phase of the 5G Above6 RF signal received from the outside through the corresponding antenna element into the same or substantially the same phase. This enables transmission or reception through beamforming between the electronic device 101 and the outside.
  • the second network 294 may be operated independently (eg, stand-alone (SA)) or connected to the first network 292 (eg, legacy network) (eg: non-stand alone (NSA)).
  • the 5G network may have only an access network (eg, a 5G radio access network (RAN) or a next generation RAN (NG RAN)), and may not have a core network (eg, a next generation core (NGC)).
  • the electronic device 101 may access an external network (eg, the Internet) under the control of a core network (eg, evolved packed core (EPC)) of the legacy network.
  • Protocol information for communication with a legacy network eg, LTE protocol information
  • protocol information for communication with a 5G network eg, new radio (NR) protocol information
  • other components eg, processor 120 , the first communication processor 212 , or the second communication processor 214 .
  • 3 is a diagram illustrating a protocol stack structure of the network 100 of 4G communication and/or 5G communication according to various embodiments of the present disclosure.
  • the network 100 may include an electronic device 101 , a 4G network 392 , a 5G network 394 , and a server 108 .
  • the electronic device 101 may include an Internet protocol 312 , a first communication protocol stack 314 , and a second communication protocol stack 316 .
  • the electronic device 101 may communicate with the server 108 via the 4G network 392 and/or the 5G network 394 .
  • the electronic device 101 communicates with the server 108 using an internet protocol 312 (eg, transmission control protocol (TCP), user datagram protocol (UDP), and internet protocol (IP)).
  • an internet protocol 312 eg, transmission control protocol (TCP), user datagram protocol (UDP), and internet protocol (IP)
  • TCP transmission control protocol
  • UDP user datagram protocol
  • IP internet protocol
  • Associated Internet communication may be performed.
  • the Internet protocol 312 may be executed in a main processor (eg, the main processor 121 of FIG. 1 ) included in the electronic device 101 .
  • the electronic device 101 may wirelessly communicate with the 4G network 392 using the first communication protocol stack 314 .
  • the electronic device 101 may wirelessly communicate with the 5G network 394 using the second communication protocol stack 316 .
  • the first communication protocol stack 314 and the second communication protocol stack 316 may be executed in one or more communication processors (eg, the wireless communication module 192 of FIG. 1 ) included in the electronic device 101 . there is.
  • server 108 may include Internet protocol 322 .
  • the server 108 may transmit/receive data related to the electronic device 101 and the Internet protocol 322 through the 4G network 392 and/or the 5G network 394 .
  • the server 108 may include a cloud computing server residing outside the 4G network 392 or the 5G network 394 .
  • the server 108 may include an edge computing server (or mobile edge computing (MEC) server) located inside at least one of the 4G network 392 or the 5G network 394 .
  • MEC mobile edge computing
  • the 4G network 392 may include a long term evolution (LTE) base station 340 and an evolved packed co (EPC) 342 .
  • the LTE base station 340 may include an LTE communication protocol stack 344 .
  • the EPC 342 may include a legacy non-access stratum (NAS) protocol 346 .
  • the 4G network 392 may perform LTE wireless communication with the electronic device 101 using the LTE communication protocol stack 344 and the legacy NAS protocol 346 .
  • the 5G network 394 may include a new radio (NR) base station 350 and a 5th generation core (5GC) 352 .
  • the NR base station 350 may include an NR communication protocol stack 354 .
  • 5GC 352 may include 5G NAS protocol 356 .
  • the 5G network 394 may perform NR wireless communication with the electronic device 101 using the NR communication protocol stack 354 and the 5G NAS protocol 356 .
  • the first communication protocol stack 314 , the second communication protocol stack 316 , the LTE communication protocol stack 344 and the NR communication protocol stack 354 include a control plane protocol for sending and receiving control messages and It may include a user plane protocol for transmitting and receiving user data.
  • the control message may include a message related to at least one of security control, bearer establishment, authentication, registration, or mobility management.
  • the user data may include data other than the control message.
  • control plane protocol and the user plane protocol may include physical (PHY), medium access control (MAC), radio link control (RLC), or packet data convergence protocol (PDCP) layers.
  • PHY physical
  • MAC medium access control
  • RLC radio link control
  • PDCP packet data convergence protocol
  • the PHY layer channel-codes and modulates data received from a higher layer (e.g., MAC layer) to transmit it to a radio channel, and demodulates and decodes data received through the radio channel to deliver it to the upper layer.
  • the PHY layer included in the second communication protocol stack 316 and the NR communication protocol stack 354 may further perform an operation related to beam forming.
  • the MAC layer may logically/physically map a radio channel through which data is to be transmitted/received, and may perform hybrid automatic repeat request (HARQ) for error correction.
  • HARQ hybrid automatic repeat request
  • the RLC layer may concatenate, segment, or reassemble data, and perform order check, rearrangement, or redundancy check of data.
  • the PDCP layer may perform operations related to ciphering of control data and user data and data integrity.
  • the second communication protocol stack 316 and the NR communication protocol stack 354 may further include a service data adaptation protocol (SDAP).
  • SDAP may manage radio bearer assignment based on quality of service (QoS) of user data.
  • QoS quality of service
  • the control plane protocol may include a radio resource control (RRC) layer and a non-access stratum (NAS) layer.
  • RRC radio resource control
  • NAS non-access stratum
  • the RRC layer may process control data related to radio bearer setup, paging, or mobility management.
  • the NAS may process control messages related to authentication, registration, and mobility management.
  • the electronic device 101 may include a plurality of subscriber identification modules (eg, a first subscriber identification module and a second subscriber identification module). According to an embodiment, the electronic device 101 based on subscriber information (eg, international mobile subscriber identity (IMSI)) stored in each of a plurality of subscriber identification modules (eg, a first subscriber identification module and a second subscriber identification module). to communicate with the 4G network 392 and/or the 5G network 394 .
  • subscriber information eg, international mobile subscriber identity (IMSI)
  • the electronic device 101 may further include a third communication protocol stack (not shown) and a fourth communication protocol stack (not shown) to support a plurality of subscriber identification modules.
  • the third communication protocol stack may correspond to the first communication protocol stack 314 and include various protocols for wireless communication with the 4G network 392 .
  • the fourth communication protocol stack may correspond to the second communication protocol stack 316 and include various protocols for wireless communication with the 5G network 394 .
  • the electronic device 101 when performing communication using the first subscriber identification module, the electronic device 101 performs wireless communication with the 4G network 392 using the first communication protocol stack 314 and 2 It is possible to perform wireless communication with the 5G network 394 using the communication protocol stack 316 .
  • the electronic device 101 when performing communication using the second subscriber identification module, performs wireless communication with the 4G network 392 using the third communication protocol stack, and the fourth communication protocol The stack may be used to perform wireless communication with the 5G network 394 .
  • 4A, 4B, and 4C are diagrams illustrating wireless communication systems that provide a network of 4G communication and/or 5G communication according to various embodiments.
  • the network environments 100A to 100C may include at least one of a 4G network or a 5G network.
  • the 4G network includes an LTE base station 440 (eg, eNB (eNodeB)) of the 3GPP standard that supports the electronic device 101 and wireless connection and an evolved packet core (EPC) 442 that manages 4G communication. ) may be included.
  • the 5G network includes a new radio (NR) base station 450 (eg, gNB (gNodeB)) that supports wireless connection with the electronic device 101 and 5GC that manages 5G communication between the electronic device 101 and the electronic device 101 .
  • NR new radio
  • the electronic device 101 may transmit and/or receive a control message and user data through 4G communication and/or 5G communication.
  • the control message is 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 mean user data excluding a control message transmitted/received between the electronic device 101 and the core network 430 (eg, the EPC 442 and/or 5GC 452 ).
  • the electronic device 101 uses at least a portion (eg, an LTE base station 440, an EPC 442) of a first network (eg, a 4G network or a 5G network). to transmit/receive at least one of a control message or user data related to the second network (eg, a 5G network or a 4G network).
  • a portion eg, an LTE base station 440, an EPC 442
  • a first network eg, a 4G network or a 5G network.
  • a control message or user data related to the second network eg, a 5G network or a 4G network.
  • the network environment 100A provides a wireless communication dual connectivity (multi-RAT (radio access technology) dual connectivity, MR-DC) to the LTE base station 440 and the NR base station 450, and EPC It may include a network environment for transmitting and receiving a control message to and from the electronic device 101 through one of the core network 430 of 442 or 5GC 452 .
  • a wireless communication dual connectivity multi-RAT (radio access technology) dual connectivity, MR-DC
  • MR-DC radio access technology dual connectivity
  • one of the LTE base station 440 or the NR base station 450 may operate as a master node (MN) 410 and the other may operate as a secondary node (SN) 420 .
  • the MN 410 may be connected to the core network 430 to transmit and receive control messages.
  • the MN 410 and the SN 420 may be connected through a network interface to transmit/receive messages related to radio resource (eg, communication channel) management with each other.
  • the MN 410 may be configured as an LTE base station 440
  • the SN 420 may be configured as an NR base station 450
  • the core network 430 may be configured as an EPC 442 .
  • the electronic device 101 may transmit and/or receive a control message through the LTE base station 440 and transmit and/or receive user data through the LTE base station 440 and the NR base station 450 .
  • the MN 410 may be configured as an NR base station 450
  • the SN 420 may be configured as an LTE base station 440
  • the core network 430 may include a 5GC 452 .
  • the electronic device 101 may transmit and/or receive a control message through the NR base station 450 and transmit and/or receive user data through the LTE base station 440 and the NR base station 450 . there is.
  • the 5G network may independently transmit/receive a control message and user data to/from the electronic device 101 .
  • a 4G network and a 5G network may each independently provide data transmission and/or reception.
  • the electronic device 101 and the EPC 442 may transmit and/or receive a control message and user data through the LTE base station 440 .
  • the electronic device 101 and the 5GC 452 may transmit and/or receive a control message and user data through the NR base station 450 .
  • the electronic device 101 may be registered with at least one of the EPC 442 and the 5GC 452 to transmit/receive a control message.
  • the EPC 442 or the 5GC 452 may interwork to manage communication of the electronic device 101 .
  • movement information of the electronic device 101 may be transmitted/received through an interface (eg, an N26 interface) between the EPC 442 and the 5GC 452 .
  • FIG. 5 is a block diagram of an electronic device for setting a size of a communication buffer of a communication processor according to various embodiments of the present disclosure; According to an embodiment, the electronic device 500 of FIG. 5 is at least partially similar to the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C, or another embodiment of the electronic device may include more.
  • the electronic device 500 includes an application processor (AP) 510 (eg, including a processing circuit) and a communication processor (CP) 520 (eg: processing circuitry) and/or wireless communication circuitry 530 .
  • the application processor 510 and the communication processor 520 may be substantially the same as the processor 120 of FIG. 1 or may be included in the processor 120 .
  • the application processor 510 may be substantially the same as the main processor 121 of FIG. 1 or may be included in the main processor 121 .
  • the communication processor 520 may be substantially the same as the auxiliary processor 123 of FIG. 1 , or may be included in the auxiliary processor 123 .
  • the wireless communication circuit 530 may be substantially the same as the wireless communication module 192 of FIG. 1 , or may be included in the wireless communication module 192 .
  • the application processor 510 may control transmission and/or reception of data through the operatively connected communication processor 520 . According to an embodiment, the application processor 510 may transmit data (or packets) for transmission to the network to the communication processor 520 .
  • the communication processor 520 may be operatively connected to the application processor 510 and/or the wireless communication circuit 530 .
  • the communication processor 520 may support at least one network communication.
  • the communication processor 520 may be configured as one communication processor or may include a plurality of communication processors divided in hardware or software.
  • the plurality of communication processors eg, the first communication processor 212 and the second communication processor 214 of FIG. 2
  • RAT radio access technology
  • the communication buffer 522 of the communication processor 520 may be included in the communication processor 520 or a memory included in the same package as the communication processor 520 .
  • the communication buffer 522 may be included in a memory (eg, the volatile memory 132 of FIG. 1 ) or may be included in a separate memory.
  • the communication processor 520 may control the wireless communication circuit 530 to transmit data (or packets) provided from the application processor 510 to the network.
  • the communication processor 520 may store data (or packets) provided from the application processor 510 in the communication buffer 522 .
  • the communication processor 520 may control the wireless communication circuit 530 to transmit information related to the amount of data stored in the communication buffer 522 (eg, a buffer status report (BSR)) to the network.
  • BSR buffer status report
  • the communication processor 520 controls the wireless communication circuit 530 to transmit the data stored in the communication buffer 522 to the network through a resource allocated from the network based on information related to the amount of data stored in the communication buffer 522.
  • the communication processor 520 may set the size of the communication buffer 522 based on an uplink transmission speed of the electronic device 500 and a radio link control (RLC) retransmission time.
  • the size of the communication buffer 522 is the size of an area usable for data storage in the communication buffer 522, and is set based on uplink throughput and RLC retransmission time.
  • (522) may be set based on the upper limit criterion (eg, high watermark).
  • the upper limit criterion of the communication buffer 522 may be set to a value larger than the size of data transmittable for a unit time (eg, RLC retransmission time) based on the uplink transmission rate of the electronic device 500 .
  • the upper limit of the communication buffer 522 may be adjusted upward based on an increase in the uplink transmission speed of the electronic device 500 .
  • the RLC retransmission time may be confirmed based on "t-PollRetransmit" included in the "RLC-config" information element of the RRC control message (eg, RRCConnectionReconfiguration) received from the network.
  • the RLC retransmission time may include information related to a minimum time for receiving a response (eg, ACK or NACK) corresponding to data transmitted from the electronic device 500 from the network.
  • the uplink transmission rate of the electronic device 500 is protocol data (PDU) transmitted during a specified time for each layer (eg, open system interconnection (OSI) layer 7 or TCP/IP layer 5) of the electronic device 500 . It may be obtained based on the number of units and/or the size of the PDU.
  • PDU protocol data
  • the communication processor 520 transmits data transmission suspend information to the application processor 510 .
  • the application processor 510 may limit data transmission to the communication processor 520 based on the data transmission restriction information.
  • the application processor 510 may store data to be transmitted to the communication processor 520 in a memory (eg, a shard memory).
  • the satisfaction of the upper limit criterion may include a state in which the amount of data stored in the communication buffer 522 is equal to or greater than a value set as the upper limit criterion.
  • the communication processor 520 may set a low watermark of the communication buffer 522 based on the uplink transmission speed and the RLC retransmission time of the electronic device 500 .
  • the lower limit of the communication buffer 522 may be set to the size of data transmittable for a unit time (eg, RLC retransmission time) based on the uplink transmission rate of the electronic device 500 .
  • the lower limit of the communication buffer 522 is based on the upper limit of the communication buffer 522, from the time when data transmission from the application processor 510 to the communication processor 520 is restricted, half of the RLC retransmission time is It may be set to resume data transmission at a passing time point.
  • the communication processor 520 controls the data stored in the communication buffer 522 . It may be checked whether the amount satisfies the lower limit criterion of the communication buffer 522 . When the amount of data stored in the communication buffer 522 satisfies the lower limit criterion of the communication buffer 522 , the communication processor 520 may transmit data transmission resume information to the application processor 510 . For example, the application processor 510 may resume data transmission to the communication processor 520 based on the data transmission resume information.
  • the application processor 510 may transmit data stored in a memory (eg, a shared memory) to the communication processor 520 .
  • a memory eg, a shared memory
  • the satisfaction of the lower limit criterion may include a state in which the amount of data stored in the communication buffer 522 is substantially equal to a value set as the lower limit criterion.
  • the communication processor 520 may update the upper limit criterion and/or the lower limit criterion of the communication buffer 522 based on the compensation value.
  • the compensation value may be selected based on the uplink transmission rate and/or the RLC retransmission time of the electronic device 500 from a predefined compensation value table.
  • the compensation value may be set based on the amount of data (or packets) flowing into the network stack (eg, the operating system 142 of FIG. 1 ) of the kernel of the application processor 510 .
  • the communication processor 520 may set the RLC retransmission time based on the amount of data to be transmitted through the uplink. According to an embodiment, when the amount of data stored in the communication buffer 522 satisfies the specified first condition, the communication processor 520 performs first wireless communication with the MN (eg, the MN 410 of FIG. 4A ). and the SN (eg, the SN 420 of FIG. 4A ) may transmit data through second wireless communication.
  • the MN eg, the MN 410 of FIG. 4A
  • the SN eg, the SN 420 of FIG. 4A
  • the communication processor 520 may set the relatively long RLC retransmission time among the RLC retransmission time with the MN and the RLC retransmission time with the SN as the reference RLC retransmission time to be used for setting the size of the communication buffer 522.
  • the satisfaction of the specified first condition may include a state in which the amount of data stored in the communication buffer 522 is equal to or greater than "ul-DataSplitThreshold" of "PDCP config".
  • the communication processor 520 when the amount of data stored in the communication buffer 522 does not satisfy the specified first condition, the communication processor 520 performs the first wireless communication with the MN (eg, the MN 410 of FIG. 4A ). Data can be transmitted through communication.
  • the communication processor 520 may set the RLC retransmission time with the MN as a reference RLC retransmission time to be used to set the size of the communication buffer 522 .
  • the state in which the specified first condition is not satisfied may include a state in which the amount of data stored in the communication buffer 522 is less than "ul-DataSplitThreshold" of "PDCP config".
  • the communication processor 520 may control data transmission by the application processor 510 to be limited based on the transmission speed with the application processor 510 .
  • the communication processor 520 may transmit data transmission suspend information to the application processor 510 when the transmission speed with the application processor 510 satisfies the specified second condition.
  • the satisfaction of the specified second condition may include a state in which the transmission rate with the application processor 510 exceeds the uplink transmission rate of the electronic device 500 .
  • the transmission speed with the application processor 510 may include the speed at which the communication processor 520 receives data from the application processor 510 .
  • the uplink transmission speed of the electronic device 500 may include a speed at which the electronic device 500 (or the communication processor 520 ) transmits data over a network.
  • the application processor 510 may limit data transmission to the communication processor 520 based on the data transmission restriction information.
  • the communication processor 520 when data transmission from the application processor 510 to the communication processor 520 is restricted, the communication processor 520 restarts data transmission by the application processor 510 based on the data occupancy rate of the RLC buffer.
  • the communication processor 520 may check the data share of the RLC buffer. When the data occupancy rate of the RLC buffer satisfies the third condition, the communication processor 520 may transmit data transmission resume information to the application processor 510 .
  • the data occupancy of the RLC buffer may include an average of the data occupancy of the RLC buffer or a standard deviation of the data occupancy of the RLC buffer detected for a reference time or reference number of times.
  • the satisfaction of the specified third condition may include a state in which the data occupancy rate of the RLC buffer is relatively low.
  • the satisfaction of the specified third condition may include a state in which the standard deviation of the data occupancy rate of the RLC buffer is relatively large.
  • the RLC buffer may include a transmission buffer that temporarily stores transmission data in the RLC layer.
  • the wireless communication circuit 530 receives a signal from the outside (eg, the LTE base station 440 and/or the NR base station 450 in FIG. 4C ) through an antenna (not shown), or to the outside.
  • the wireless communication circuitry 530 may include a first communication circuitry and a second communication circuitry.
  • the first communication circuitry may include a first communication circuitry in the first wireless network.
  • a first RFIC eg, first RFIC 222 in FIG. 2
  • a first RFFE eg, first RFFE 232 in FIG. 2
  • the second communication circuit may include a second RFIC (eg, in FIG. 2 ) for communication with a second node (eg, second node 420 in FIG. 4A ) of the second wireless network.
  • the third RFIC 226 ) and the second RFFE eg, the third RFFE 236 of FIG. 2 ) may be included.
  • the electronic device (eg, the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 ) includes a wireless communication circuit ( Example: the wireless communication module 192 of FIG. 1 or the wireless communication circuit 530 of FIG. 5), an application processor (eg, the main processor 121 of FIG. 1 or the application processor 510 of FIG. 5), and the wireless communication circuit 530 of FIG.
  • a communication processor eg, the coprocessor 123 of FIG. 1 or the communication processor ( 520)
  • the communication processor checks a radio link control (RLC) retransmission time, checks an uplink transmission rate, and receives data from the communication buffer based on the RLC retransmission time and the uplink transmission rate. You can set the size of the area for saving.
  • RLC radio link control
  • the communication processor may acquire the RLC retransmission time from a radio resource control (RRC) control message.
  • RRC radio resource control
  • the communication processor when supporting dual access of the first wireless communication and the second wireless communication, checks the size of uplink data, and satisfies a first condition in which the size of the uplink data is specified , check the first RLC retransmission time of the first wireless communication and the second RLC retransmission time of the second wireless communication, and use the larger value of the first RLC retransmission time and the second RLC retransmission time as the reference RLC retransmission time You can choose.
  • the communication processor may set a size of an area for storing data in the communication buffer based on the reference RLC retransmission time and the uplink transmission rate.
  • the communication processor may estimate the uplink transmission rate based on the number of protocol data units (PDUs) or the size of the PDUs transmitted through the uplink for a specified time.
  • PDUs protocol data units
  • the communication processor may set at least one of an upper limit criterion and a lower limit criterion of the communication buffer based on the RLC retransmission time and the uplink transmission rate.
  • the communication processor may transmit information related to data transmission restriction to the application processor.
  • the communication processor checks a data reception rate from the application processor, and a second condition in which the data reception rate is specified. , information related to data transmission restriction may be transmitted to the application processor.
  • the communication processor transmits information related to data transmission resumption to the application processor.
  • the communication processor checks the data occupancy rate of the RLC buffer, and When the data occupancy rate of the buffer satisfies the specified third condition, information related to the resumption of data transmission may be transmitted to the application processor.
  • FIG. 6 is a flowchart 600 for setting a size of a communication buffer of a communication processor in an electronic device according to various embodiments of the present disclosure. Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 6 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • the electronic device may check the RLC retransmission time in operation 601 .
  • the communication processor 520 is configured to include the "RLC-config" information element of the RRC control message (eg, RRCConnectionReconfiguration) received from the network as shown in Table 1 (eg, 3GPP TS 36.331 standard). -PollRetransmit", you can check the RLC retransmission time.
  • RLC-Config :: CHOICE ⁇ am SEQUENCE ⁇ ul-AM-RLC UL-AM-RLC, dl-AM-RLC DL-AM-RLC ⁇ , um-Bi-Directional SEQUENCE ⁇ ul-UM-RLC UL-UM-RLC, dl-UM-RLC DL-UM-RLC ⁇ , um-Uni-Directional-UL SEQUENCE ⁇ ul-UM-RLC UL-UM-RLC ⁇ , um-Uni-Directional-DL SEQUENCE ⁇ dl-UM-RLC DL-UM-RLC ⁇ , ...
  • the electronic device may check the uplink transmission speed of the electronic device 500 in operation 603 .
  • the uplink transmission speed of the electronic device 500 is a speed at which the electronic device 500 (or the communication processor 520 ) transmits data to the network, and a layer (eg, OSI 7) of the electronic device 500 .
  • layer or TCP/IP layer 5) may be obtained based on the number of PDUs and/or the size of the PDUs transmitted during a designated time.
  • the uplink transmission speed of the electronic device 500 may be set based on the amount of data (or packets) transmitted from the communication processor 520 to the network through the wireless communication circuit 530 for a specified time.
  • the electronic device eg, the processor 120 or the communication processor 520 performs the communication processor (eg, the communication of FIG. 5 ) based on the RLC retransmission time and the uplink transmission speed of the electronic device.
  • the size of the communication buffer (eg, the communication buffer 522 of FIG. 5 ) of the processor 520 may be set.
  • the communication processor 520 may set an upper limit criterion of the communication buffer 522 based on the uplink transmission speed and the RLC retransmission time of the electronic device 500 .
  • the upper limit criterion of the communication buffer 522 may be set to a value larger than the size of data transmittable for a unit time (eg, RLC retransmission time) based on the uplink transmission rate of the electronic device 500 .
  • the upper limit of the communication buffer 522 may be adjusted upward based on an increase in the uplink transmission speed of the electronic device 500 .
  • the communication processor 520 may set a lower limit criterion of the communication buffer 522 based on the uplink transmission speed and the RLC retransmission time of the electronic device 500 .
  • the lower limit of the communication buffer 522 may be set to the size of data transmittable for a unit time (eg, RLC retransmission time) based on the uplink transmission rate of the electronic device 500 .
  • the lower limit of the communication buffer 522 is based on the upper limit of the communication buffer 522, from the time when data transmission from the application processor 510 to the communication processor 520 is restricted. Half of the RLC retransmission time passes. It may be set to resume data transmission at a point in time.
  • the electronic device eg, the processor 120 or the communication processor 520 periodically determines the size of the communication buffer of the communication processor (eg, the upper limit standard and/or the or lower limit) can be set (or adjusted).
  • the size of the communication buffer of the communication processor eg, the upper limit standard and/or the or lower limit
  • FIG. 7 is a flowchart 700 for checking an RLC retransmission time in an electronic device according to various embodiments of the present disclosure.
  • the operations of FIG. 7 may be detailed operations of operation 601 of FIG. 6 .
  • Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed.
  • the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 7 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • the electronic device eg, the processor 120 of FIG. 1 or the communication processor 520 of FIG. 5 .
  • the electronic device establishes a dual access (DC) connection between the electronic device and/or the network. : dual connectivity) is supported.
  • DC dual access
  • the electronic device eg, the processor 120 or the communication processor 520
  • the communication processor 520 may check whether the amount of data stored in the communication buffer 522 satisfies a specified first condition.
  • the satisfaction of the specified first condition may include a state in which the amount of data stored in the communication buffer 522 is equal to or greater than "ul-DataSplitThreshold" of "PDCP config".
  • the state in which the specified first condition is not satisfied may include a state in which the amount of data stored in the communication buffer 522 is less than "ul-DataSplitThreshold" of "PDCP config".
  • "ul-DataSplitThreshold” may be included in "PDCP config" received from the network as shown in Table 2 (eg, 3GPP TS 36.331 standard).
  • PDCP-Config :: SEQUENCE ⁇ discardTimer ENUMERATED ⁇ ms50, ms100, ms150, ms300, ms500, ms750, ms1500, infinity ⁇ OPTIONAL, -- Cond Setup rlc-AM SEQUENCE ⁇ statusReportRequired BOOLEAN ⁇ OPTIONAL, -- Cond Rlc-AM rlc-UM SEQUENCE ⁇ pdcp-SN-Size ENUMERATED ⁇ len7bits, len12bits ⁇ ⁇ OPTIONAL, -- ⁇ omitted ⁇ [[ ul - DataSplitThreshold - r13 CHOICE ⁇ release NULL, setup ENUMERATED ⁇ b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400
  • the communication processor 520 may check whether the amount of data stored in the communication buffer 522 exceeds 100 bytes.
  • the electronic device eg, the processor 120 or the communication processor 520
  • a first condition in which the size of data to be transmitted in the uplink is specified by the electronic device eg, 'Yes' in operation 703 ) '
  • the first RLC retransmission time of the first wireless communication and the second RLC retransmission time of the second wireless communication by dual access may be checked.
  • the communication processor 520 communicates with the MN (eg, the MN 410 of FIG. 4A ).
  • the communication processor 520 may check the first RLC retransmission time in the RRC control message (eg, RRCConnectionReconfiguration) related to the first wireless communication received from the MN 410 .
  • the communication processor 520 may check the second RLC retransmission time in the RRC control message (eg, RRCConnectionReconfiguration) related to the second wireless communication received from the SN 420 .
  • the electronic device eg, the processor 120 or the communication processor 520 sets the size of the communication buffer 522 based on the first RLC retransmission time and the second RLC retransmission time. It can be set as the reference RLC retransmission time to be used.
  • the communication processor 520 sets a relatively long RLC retransmission time among the first RLC retransmission time with the MN 410 and the second RLC retransmission time with the SN 420 in the communication buffer 522 . It can be set as the reference RLC retransmission time to be used to set the size.
  • the electronic device eg, the processor 120 or the communication processor 520 if the electronic device (eg, the processor 120 or the communication processor 520 ) does not support dual access (eg, 'No' in operation 701 ), or the electronic device transmits through an uplink
  • the RLC retransmission time may be checked.
  • the communication processor 520 may check the RLC retransmission time in the RRC control message (eg, RRCConnectionReconfiguration) received from the network.
  • the communication processor 520 transmits data through the first wireless communication with the MN 410 when the amount of data stored in the communication buffer 522 does not satisfy the specified first condition. can judge Accordingly, the communication processor 520 may check the first RLC retransmission time in the RRC control message (eg, RRCConnectionReconfiguration) related to the first wireless communication received from the MN 410 . For example, the communication processor 520 may determine the first RLC retransmission time as a reference RLC retransmission time to be used to set the size of the communication buffer 522 .
  • the RRC control message eg, RRCConnectionReconfiguration
  • the electronic device 500 calculates the sum of the uplink transmission rates of wireless communication used for data transmission. ) can be determined by the uplink transmission rate.
  • the communication processor 520 performs a first wireless communication with the MN 410 and the SN 420 when the size of data to be transmitted in the uplink by the electronic device 500 satisfies a specified first condition.
  • An uplink transmission rate may be obtained based on the amount of data transmitted to the network through the second wireless communication with the .
  • the communication processor 520 transmits data to the network through the first wireless communication with the MN 410 .
  • An uplink transmission rate may be obtained based on the amount of .
  • FIG. 8 is a flowchart 800 for setting a size of a communication buffer of a communication processor based on a compensation value in an electronic device according to various embodiments of the present disclosure.
  • the operations of FIG. 8 may be detailed operations of operation 605 of FIG. 6 .
  • Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed.
  • the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 8 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • the electronic device eg, the processor 120 of FIG. 1 or the communication processor 520 of FIG. 5 ) performs an RLC retransmission time and / or a compensation value corresponding to the uplink transmission speed of the electronic device may be checked.
  • the electronic device performs an RLC retransmission time, an uplink transmission speed of the electronic device, and a compensation value selected from a predefined compensation value table.
  • an upper limit criterion and/or a lower limit criterion of a communication buffer may be set (or adjusted).
  • the upper limit criterion of the communication buffer 522 may include information related to a criterion for setting the size of an area usable for data storage in the communication buffer 522 .
  • the lower limit criterion of the communication buffer 522 is information related to a criterion for determining when data transmission from the application processor 510 to the communication processor 520 is stopped while the application processor 510 resumes data transmission. may include
  • FIG. 9 is a flowchart 900 for updating the size of a communication buffer of a communication processor in an electronic device according to various embodiments of the present disclosure.
  • the operations of FIG. 9 may be operations that may occur after operation 605 of FIG. 6 .
  • Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed.
  • the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 9 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • the electronic device eg, the processor 120 of FIG. 1 or the communication processor 520 of FIG. 5 . performs an RLC retransmission time and an uplink transmission rate of the electronic device in operation 901 , according to various embodiments.
  • an upper limit criterion and/or a lower limit criterion of a communication buffer (eg, the communication buffer 522 of FIG. 5 ) of the communication processor (eg, the communication processor 520 of FIG. 5 ) may be set (or adjusted).
  • the upper limit criterion of the communication buffer 522 may be set to a value larger than the size of data transmittable for a unit time (eg, RLC retransmission time) based on the uplink transmission rate of the electronic device 500 .
  • the lower limit of the communication buffer 522 may be set to a value corresponding to the size of data transmittable for a unit time (eg, RLC retransmission time) based on the uplink transmission rate of the electronic device 500 .
  • the electronic device may check the buffer state of the kernel of the application processor (eg, the application processor 510 of FIG. 5 ) in operation 903 .
  • the buffer of the kernel of the application processor 510 includes a buffer included in the memory allocated to the application processor 510 (eg, at least a partial area of the volatile memory 132 of FIG. 1 or a separate memory).
  • the buffer state of the kernel includes the amount of data (or packets) that flows into the network stack (eg, the operating system 142 of FIG. 1 ) of the kernel of the application processor 510 and is stored in the shared memory. can do.
  • the electronic device communicates based on the buffer state of the kernel of the application processor (eg, the application processor 510 of FIG. 5 ).
  • a compensation value related to an upper limit criterion and/or a lower limit criterion of a buffer may be set.
  • the compensation value may be set relatively large as the amount of data flowing into the kernel's network stack (eg, the operating system 142 of FIG. 1 ) and stored in the shared memory is relatively large.
  • the electronic device performs the communication processor (eg, the communication processor of FIG. 5 ) based on a compensation value set based on the buffer state of the kernel. 520 ) of the communication buffer (eg, the communication buffer 522 of FIG. 5 ) may update the upper limit criterion and/or the lower limit criterion.
  • the electronic device 500 dynamically sets the size of the communication buffer 522 of the communication processor 520 in the kernel of the application processor 510 . Data may be accumulated and delay in data transmission may occur. Accordingly, the electronic device 500 updates the size of the communication buffer 522 of the communication processor 520 in consideration of the buffer state of the kernel of the application processor 510 to increase the amount of resources allocated from the network, transmission delay can be reduced.
  • the electronic device may selectively set a compensation value based on the buffer state of the kernel of the application processor 510 .
  • the communication processor 520 flows into the network stack (eg, the operating system 142 of FIG. 1 ) of the kernel of the application processor 510 and controls the amount of data (or packets) stored in the shared memory.
  • a compensation value related to the upper limit criterion and/or the lower limit criterion of the communication buffer 522 may be set based on the buffer state of the kernel of the application processor 510 .
  • the amount of data (or packets) that flows into the network stack of the kernel (eg, the operating system 142 of FIG. 1 ) and is stored in the shared memory determines whether a compensation value is applied. It may include a state in which the amount of reference data set for the purpose is exceeded.
  • the communication processor 520 flows into the network stack (eg, the operating system 142 of FIG. 1 ) of the kernel of the application processor 510 and controls the amount of data (or packets) stored in the shared memory. If the specified fourth condition is not satisfied, it may be determined that the upper limit standard and the lower limit standard of the communication buffer 522 are maintained. As an example, the state that does not satisfy the specified fourth condition indicates whether the amount of data (or packets) that is introduced into the network stack of the kernel (eg, the operating system 142 of FIG. 1 ) and stored in the shared memory is the compensation value applied. It may include a state that is less than or equal to the reference data amount set to determine .
  • the electronic device when setting the size of the communication buffer 522 of the communication processor 520 , the electronic device (eg, the processor 120 or the communication processor 520 ) adjusts to the buffer state of the kernel of the application processor 510 . It is also possible to apply a compensation value based on According to an embodiment, the communication processor 520 may set an upper limit criterion and/or a lower limit criterion of the communication buffer 522 based on a compensation value based on the uplink transmission speed, the RLC retransmission time, and the buffer state of the kernel.
  • FIG. 10 is a flowchart 1000 for transmitting uplink data in an electronic device according to various embodiments of the present disclosure. Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 7 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • the electronic device eg, the processor 120 of FIG. 1 or the communication processor 520 of FIG. 5 . checks whether an event for uplink data transmission occurs in operation 1001 .
  • an event for uplink data transmission may be generated based on a user input related to uplink data transmission and/or an application program running in the electronic device 500 .
  • the electronic device eg, the processor 120 or the communication processor 520 in the uplink
  • An embodiment for data transmission may end.
  • the electronic device eg, the processor 120 or the communication processor 520 in operation 1003
  • the amount (or size) of data stored in the communication buffer (eg, the communication buffer 522 of FIG. 5 ) of the communication processor may be checked.
  • the communication processor 520 may check a buffer size index (BSI) corresponding to the amount of data stored in the communication buffer 522 .
  • the BSI corresponding to the amount of data stored in the communication buffer 522 may be selected from a table such as Table 3 (eg, 3GPP TS 36.321 standard).
  • Index Buffer Size (BS) value [bytes]
  • Index Buffer Size (BS) value [bytes]
  • BS Index Buffer Size (BS) value [bytes]
  • the BSI corresponding to the amount of data stored in the communication buffer 522 may be set to '12' when the amount of data stored in the communication buffer 522 is 82 bytes.
  • the electronic device eg, the processor 120 or the communication processor 520 performs a communication buffer (eg, the communication processor 520 of FIG. 5 ) of the communication processor (eg, the communication processor 520 of FIG. 5 ).
  • Information related to the amount of data stored in the communication buffer 522 may be transmitted to the network.
  • the communication processor 520 may transmit a buffer status report (BSR) message including a BSI corresponding to the amount of data stored in the communication buffer 522 to the network.
  • BSR buffer status report
  • the electronic device eg, the processor 120 or the communication processor 520 performs a communication buffer (eg, the communication processor 520 of FIG. 5 ) of the communication processor (eg, the communication processor 520 of FIG. 5 ). It may be confirmed whether information related to uplink data transmission is received from the network in response to the information related to the amount of data stored in the communication buffer 522 . According to an embodiment, the communication processor 520 may check whether an uplink grant message is received from the network in response to the buffer status report message.
  • a communication buffer eg, the communication processor 520 of FIG. 5
  • the communication processor 520 may check whether an uplink grant message is received from the network in response to the buffer status report message.
  • the uplink An embodiment for data transmission may end.
  • the electronic device eg, the processor 120 or the communication processor 520
  • receives information related to uplink data transmission from the network eg, 'Yes' in operation 1007
  • data stored in a communication buffer eg, the communication buffer 522 of FIG. 5
  • the communication processor eg, the communication processor 520 of FIG. 5
  • the communication processor 520 may identify a resource for uplink data transmission allocated from the network in an uplink grant message received from the network.
  • the communication processor 520 may control the wireless communication circuit 530 to transmit data stored in the communication buffer 522 through a resource allocated from the network.
  • FIG. 11 is a flowchart 1100 for operating a communication buffer of a communication processor in an electronic device according to various embodiments of the present disclosure. Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 11 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • the communication processor (eg, the processor 120 of FIG. 1 or the communication processor 520 of FIG. 5 ) of the electronic device (eg, the electronic device 500 of FIG. 5 )
  • data may be received from the application processor (eg, the application processor 510 of FIG. 5 ).
  • the communication processor 520 may store data received from the application processor 510 in the communication buffer 522 .
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) performs a communication buffer (eg, the communication buffer (eg, the communication buffer ( 522)), it can be checked whether the amount of data stored in the communication buffer satisfies the upper limit criterion of the communication buffer.
  • the upper limit criterion of the communication buffer 522 is a criterion for setting the size of the communication buffer 522 , and as in operations 601 to 605 of FIG. 6 , the RLC retransmission time and the uplink transmission speed of the electronic device can be set based on
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • a communication buffer eg, the communication buffer 522 of FIG. 5
  • data received from the application processor 510 may be stored in the communication buffer 522 .
  • the state in which the upper limit criterion is not satisfied may include a state in which the amount of data stored in the communication buffer 522 is smaller than a value set as the upper limit criterion.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • a communication buffer eg, the communication buffer 522 of FIG. 5
  • data transmission restriction information may be transmitted to the application processor 510 .
  • the application processor 510 may stop data transmission to the communication processor 520 based on the data transmission restriction information received from the communication processor 520 .
  • the application processor 510 may store data to be transmitted to the communication processor 520 in a memory (eg, a shard memory).
  • a memory eg, a shard memory
  • the satisfaction of the upper limit criterion may include a state in which the amount of data stored in the communication buffer 522 is equal to or greater than a value set as the upper limit criterion.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) transmits data transmission restriction information to the application processor 510 , (eg, in operation 1105 ) and in operation 1107 , it may be checked whether the amount of data stored in the communication buffer (eg, the communication buffer 522 of FIG. 5 ) satisfies the lower limit criterion of the communication buffer.
  • the communication processor 520 may control the wireless communication circuit 530 to transmit data stored in the communication buffer 522 to the network. For example, data transmitted over the network may be removed from the communication buffer 522 .
  • the communication processor 520 may check whether the amount of data stored in the communication buffer 522 satisfies the lower limit criterion of the communication buffer 522 based on the data transmission to the network. For example, as in operations 601 to 605 of FIG. 6 , the lower limit criterion of the communication buffer 522 may be set based on an RLC retransmission time and an uplink transmission rate of the electronic device.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • the amount of stored data does not satisfy the lower limit criterion (eg, 'No' in operation 1107)
  • the amount of data stored in the communication buffer is the amount of data stored in the communication buffer. It can be checked whether the lower limit criterion is satisfied.
  • the state in which the lower limit criterion is not satisfied may include a state in which the amount of data stored in the communication buffer 522 exceeds a value set as the lower limit criterion.
  • the communication processor (eg, the processor 120 or the communication processor 520 ) of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • a communication buffer eg, the communication buffer 522 of FIG. 5 .
  • the communication processor 520 may store the data received from the application processor 510 in the communication buffer 522 based on the data transmission resume information.
  • the satisfaction of the lower limit criterion may include a state in which the amount of data stored in the communication buffer 522 is less than or equal to a value set as the lower limit criterion.
  • FIG. 12 is a flowchart 1200 for limiting data transmission from an electronic device to a communication buffer of a communication processor according to various embodiments of the present disclosure.
  • the operations of FIG. 12 may be detailed operations of operation 1103 of FIG. 11 .
  • Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed.
  • the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 12 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • the communication processor eg, the processor 120 of FIG. 1 or the communication processor 520 of FIG. 5 ) of the electronic device (eg, the electronic device 500 of FIG. 5 )
  • the data reception speed from the application processor eg, the application processor 510 of FIG. 5
  • the data reception rate may be obtained based on the amount of data received from the application processor 510 for a specified time.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) performs an application processor (eg, the application processor 510 ) in operation 1203 . It may be checked whether the data reception rate from the .
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) receives data from the application processor (eg, the application processor 510 ).
  • the application processor 510 may stop data transmission to the communication processor 520 based on the data transmission restriction information received from the communication processor 520 .
  • the satisfaction of the specified second condition may include a state in which the data reception rate from the application processor 510 exceeds the uplink transmission rate of the electronic device 500 .
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) receives data from the application processor (eg, the application processor 510 ). If the speed does not satisfy the specified second condition (eg, 'No' in operation 1203), in operation 1207, the amount of data stored in the communication buffer (eg, communication buffer 522 in FIG. 5) is the upper limit of the communication buffer. You can check whether the criteria are met. According to an embodiment, the upper limit criterion of the communication buffer 522 may be set based on the RLC retransmission time and the uplink transmission rate of the electronic device.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • a communication buffer eg, the communication buffer 522 of FIG. 5 .
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • a communication buffer eg, the communication buffer 522 of FIG. 5 .
  • the communication processor 520 increases the amount of data accumulated in the communication buffer 522 when the amount of data flowing in from the application processor 510 is relatively larger than the amount of data transmitted to the network. can do. Accordingly, the communication processor 520 may reduce the transmission delay by the communication buffer 522 by limiting the data transmission of the application processor 510 based on the data reception speed from the application processor 510 .
  • FIG. 13 is a flowchart 1300 for resuming data transmission from an electronic device to a communication buffer of a communication processor according to various embodiments of the present disclosure.
  • the operations of FIG. 13 may be detailed operations of operation 1107 of FIG. 11 .
  • Operations in the following embodiments may be sequentially performed, but are not necessarily sequentially performed.
  • the order of the operations may be changed, and at least two operations may be performed in parallel.
  • the electronic device of FIG. 13 may be the electronic device 101 of FIGS. 1, 2, 3, 4A, 4B, or 4C or the electronic device 500 of FIG. 5 .
  • a communication processor (eg, the processor 120 of FIG. 1 or the communication processor 520 of FIG. 5 ) of an electronic device (eg, the electronic device 500 of FIG. 5 )
  • the occupancy of the RLC buffer may be checked.
  • the data occupancy of the RLC buffer may include an average of the data occupancy of the RLC buffer or a standard deviation of the data occupancy of the RLC buffer detected for a reference time or reference number of times.
  • the RLC buffer may include a transmission buffer that temporarily stores transmission data in the RLC layer.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) satisfies the third condition in which the occupancy rate of the RLC buffer is specified in operation 1303 . you can check if
  • data transmission resume information may be transmitted to the application processor 510 .
  • the communication processor 520 may store the data received from the application processor 510 in the communication buffer 522 based on the data transmission resume information.
  • the satisfaction of the specified third condition may include a state in which the data occupancy rate of the RLC buffer is relatively low.
  • the satisfaction of the specified third condition may include a state in which the standard deviation of the data occupancy rate of the RLC buffer is relatively large.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) does not satisfy the third condition specified in the occupancy rate of the RLC buffer ( Example: In operation 1303, 'No')
  • it may be checked whether the amount of data stored in the communication buffer (eg, the communication buffer 522 of FIG. 5 ) satisfies the lower limit criterion of the communication buffer.
  • the communication processor 520 may check whether the amount of data stored in the communication buffer 522 satisfies the lower limit criterion of the communication buffer 522 based on data transmission to the network.
  • the lower limit of the communication buffer 522 may be set based on the RLC retransmission time and the uplink transmission speed of the electronic device.
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • a communication buffer eg, the communication buffer 522 of FIG. 5 .
  • the communication processor eg, the processor 120 or the communication processor 520 of the electronic device (eg, the electronic device 500 ) is stored in a communication buffer (eg, the communication buffer 522 of FIG. 5 ).
  • a communication buffer eg, the communication buffer 522 of FIG. 5
  • data transmission resume information may be transmitted to the application processor 510 .
  • the communication processor 520 may store the data received from the application processor 510 in the communication buffer 522 based on the data transmission resume information.
  • the electronic device 500 when data transmission in the application processor 510 is restricted and the amount of data stored in the communication buffer 522 does not satisfy a lower limit criterion, the electronic device 500 accumulates data in the RLC buffer. As a result, degradation of uplink transmission speed may occur due to occupancy in the RLC buffer. For example, when the occupancy rate of the RLC buffer does not maintain a specified level (eg, reference occupancy rate) in a state in which the amount of data stored in the communication buffer 522 does not satisfy the lower limit criterion, the electronic device 500 performs the communication buffer Since the BSI corresponding to the size of 522 is not evenly reported to the network, the uplink transmission speed may be reduced.
  • a specified level eg, reference occupancy rate
  • the electronic device 500 resumes the data transmission of the application processor 510 based on the occupancy of the RLC buffer in a state in which the amount of data stored in the communication buffer 522 does not satisfy the lower limit criterion by using the RLC buffer. It is possible to reduce degradation of uplink transmission speed.
  • the specified third condition may include information for determining whether the occupancy rate of the RLC buffer maintains a specified level.
  • a method of operating an electronic device may include: In a communication processor (eg, the auxiliary processor 123 of FIG. 1 or the communication processor 520 of FIG. 5) including a buffer (eg, the communication buffer 522 of FIG. 5), the RLC (radio link control) retransmission time It may include an operation of confirming, an operation of confirming an uplink transmission rate, and an operation of setting a size of an area for storing data in the communication buffer based on the RLC retransmission time and the uplink transmission rate.
  • a communication processor eg, the auxiliary processor 123 of FIG. 1 or the communication processor 520 of FIG. 5
  • the RLC radio link control
  • the RLC retransmission time may be obtained from a radio resource control (RRC) control message.
  • RRC radio resource control
  • the operation of checking the RLC retransmission time includes the operation of checking the size of uplink data and the size of the uplink data when dual access of the first wireless communication and the second wireless communication is supported. If the specified first condition is satisfied, checking the first RLC retransmission time of the first wireless communication and the second RLC retransmission time of the second wireless communication, and at the first RLC retransmission time and the second RLC retransmission time based on the RLC retransmission time setting.
  • the setting of the RLC retransmission time may include selecting a larger value among the first RLC retransmission time and the second RLC retransmission time as the RLC retransmission time.
  • the uplink transmission rate may be estimated based on the number of protocol data units (PDUs) or the size of the PDUs transmitted through the uplink for a specified time.
  • PDUs protocol data units
  • the setting of the size of the area for data storage in the communication buffer may include at least one of an upper limit criterion or a lower limit criterion of the communication buffer based on the RLC retransmission time and the uplink transmission rate. It may include an operation of setting.
  • the method may further include transmitting information related to data transmission restriction to the application processor.
  • the method may further include transmitting information related to data transmission restriction to the application processor.
  • the method when the amount of data stored in the communication buffer satisfies the lower limit criterion in a state in which data transmission of the application processor is restricted, the method further includes transmitting information related to data transmission resumption to the application processor. can do.
  • the operation of checking the data occupancy of the RLC buffer, and the data in the RLC buffer may further include transmitting information related to resumption of data transmission to the application processor when the occupancy rate satisfies the specified third condition.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 다양한 실시예는 전자 장치에서 전자 장치의 통신 버퍼를 관리하기 위한 장치 및 방법에 관한 것이다. 전자 장치는, 무선 통신 회로와 어플리케이션 프로세서, 및 상기 무선 통신 회로 및 상기 어플리케이션 프로세서와 작동적으로 연결되고, 통신 버퍼를 포함하는 커뮤니케이션 프로세서를 포함하고, 상기 커뮤니케이션 프로세서는, RLC(radio link control) 재전송 시간을 확인하고, 상향링크 전송 속도를 확인하고, 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정할 수 있다. 다른 실시예들도 가능할 수 있다.

Description

통신 버퍼를 관리하기 위한 전자 장치 및 그의 동작 방법
본 발명의 다양한 실시예는 전자 장치에서 전자 장치의 통신 버퍼를 관리하기 위한 장치 및 방법에 관한 것이다.
인터넷 기반의 유선 및/또는 무선 네트워크는 데이터 전송을 제어하는 전송 제어 프로토콜(TCP: transmission control protocol)을 규정하고 있다. 전송 제어 프로토콜은 인터넷에 접속된 노드들 간에 송신 및/또는 수신되는 데이터를 패킷의 형태로 전송하기 위해 사용될 수 있다. 예를 들어, 전송 제어 프로토콜은 네트워크 계층의 인터넷 프로토콜(IP: internet protocol)에 대해 전송 계층(transport layer)의 프로토콜(예: TCP/IP)로서 동작할 수 있다.
전송 제어 프로토콜은 네트워크의 혼잡(congestion) 상태를 고려하여 데이터 전송률을 조절하는 혼잡 제어(congestion control)를 수행할 수 있다. 예를 들어, 전송 제어 프로토콜은 네트워크가 상대적으로 혼잡한 것으로 판단한 경우, 전자 장치(예: 송신 장치)의 상향링크 전송률을 상대적으로 낮게 제어할 수 있다. 네트워크의 혼잡 상태는 송신 장치가 데이터(또는 패킷)를 전송하고, 수신 장치로부터 데이터에 대응하는 응답 신호(예: ACK 또는 NACK)를 수신하는데 까지 소요되는 시간(예: RTT(round trip time))에 기반하여 추정될 수 있다.
전자 장치(예: 송신 장치)는 네트워크로 전송하기 위한 데이터(또는 패킷)를 일시적으로 커뮤니케이션 프로세서의 통신 버퍼에 저장할 수 있다. 전자 장치는 커뮤니케이션 프로세서의 통신 버퍼에 저장된 데이터의 양과 관련된 정보(예: BSR(buffer status report))를 네트워크로 전송할 수 있다. 네트워크는 전자 장치로부터 수신한 통신 버퍼에 저장된 데이터(또는 패킷)의 양과 관련된 정보에 기반하여 전자 장치가 데이터 전송에 사용할 자원을 할당할 수 있다.
커뮤니케이션 프로세서의 통신 버퍼의 크기는 고정될 수 있다. 전자 장치는 네트워크로부터 최적의 자원 할당을 받기 위해 상대적으로 크게 설정된 커뮤니케이션 프로세서의 통신 버퍼를 포함할 수 있다. 예를 들어, 전자 장치는 커뮤니케이션 프로세서의 통신 버퍼의 크기가 상대적으로 크게 설정된 경우, 통신 버퍼에 상대적으로 많은 데이터(또는 패킷)를 저장할 수 있다. 이에 따라, 전자 장치는 통신 버퍼에 저장된 상대적으로 많은 데이터에 기반하여 네트워크로부터 상대적으로 많은 자원의 할당받을 수 있다.
전자 장치는 커뮤니케이션 프로세서의 통신 버퍼의 크기가 상대적으로 크게 설정된 경우, 통신 버퍼의 크기에 의해 데이터의 전송 지연이 발생할 수 있다. 예를 들어, 커뮤니케이션 프로세서의 통신 버퍼는 FIFO(first in first out) 방식으로 운용되는 경우, 통신 버퍼에 저장된 데이터(또는 패킷)가 네트워크로 전송되어야 새로운 데이터(또는 패킷)가 네트워크로 전송될 수 있다.
전송 제어 프로토콜은 커널에서 데이터(또는 패킷)가 스케줄링되는 시점부터 RTT(round trip time)를 판단하기 위한 타이머를 구동할 수 있다. 이에 따라, 전송 제어 프로토콜에서 측정하는 RTT는 커뮤니케이션 프로세서의 통신 버퍼의 크기에 의한 데이터의 전송 지연에 의해 증가될 수 있다.
전송 제어 프로토콜은 커뮤니케이션 프로세서의 통신 버퍼의 크기에 의한 데이터의 전송 지연을 네트워크의 혼잡 상태로 판단하는 경우, 실제 네트워크의 혼잡 상태보다 과도하게 혼잡 제어를 수행할 수 있다. 전자 장치는 전송 제어 프로토콜에 의한 과도한 혼잡 제어에 의해 상향링크 전송률이 급감하는 문제가 발생할 수 있다.
본 발명의 다양한 실시예는 전자 장치에서 전송 제어 프로토콜에 의한 혼잡 제어에 영향을 미치는 커뮤니케이션 프로세서의 통신 버퍼를 관리하기 위한 장치 및 방법에 대해 개시한다.
다양한 실시예에 따르면, 전자 장치는, 무선 통신 회로와 어플리케이션 프로세서, 및 상기 무선 통신 회로 및 상기 어플리케이션 프로세서와 작동적으로 연결되고, 통신 버퍼를 포함하는 커뮤니케이션 프로세서를 포함하고, 상기 커뮤니케이션 프로세서는, RLC(radio link control) 재전송 시간을 확인하고, 상향링크 전송 속도를 확인하고, 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정할 수 있다.
다양한 실시예에 따르면, 전자 장치의 동작 방법은, 통신 버퍼를 포함하는 커뮤니케이션 프로세서에서, RLC(radio link control) 재전송 시간을 확인하는 동작과 상향링크 전송 속도를 확인하는 동작, 및 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예: 송신 장치)에서 상향 링크 전송 속도 및 RLC(radio link control) 재전송 시간에 기반하여 커뮤니케이션 프로세서의 통신 버퍼의 크기를 조절함으로써, 커뮤니케이션 프로세서의 통신 버퍼에 의한 전송 지연을 줄일 수 있다.
도 1은 다양한 실시예에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예에 따른, 레거시 네트워크 통신 및 5G 네트워크 통신을 지원하기 위한 전자 장치의 블록도이다.
도 3은 다양한 실시예에 따른 4G 통신 및/또는 5G 통신의 네트워크(100)의 프로토콜 스택 구조를 도시한 도면이다.
도 4a, 도 4b 및 도 4c는 다양한 실시예에 따른 4G 통신 및/또는 5G 통신의 네트워크를 제공하는 무선 통신 시스템들을 도시하는 도면들이다.
도 5는 다양한 실시예에 따른 커뮤니케이션 프로세서의 통신 버퍼의 크기를 설정하는 전자 장치의 블록도이다.
도 6은 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼의 크기를 설정하기 위한 흐름도이다.
도 7은 다양한 실시예에 따른 전자 장치에서 RLC 재전송 시간을 확인하기 위한 흐름도이다.
도 8은 다양한 실시예에 따른 전자 장치에서 보상 값에 기반하여 커뮤니케이션 프로세서의 통신 버퍼의 크기를 설정하기 위한 흐름도이다.
도 9는 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼의 크기를 갱신하기 위한 흐름도이다.
도 10은 다양한 실시예에 따른 전자 장치에서 상향링크 데이터를 전송하기 위한 흐름도이다.
도 11은 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼를 운용하기 위한 흐름도이다.
도 12는 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼로의 데이터 전송을 제한하기 위한 흐름도이다.
도 13은 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼로의 데이터 전송을 재개하기 위한 흐름도이다.
이하 다양한 실시예들이 첨부된 도면을 참고하여 상세히 설명된다.
도 1은, 다양한 실시예에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다. 다양한 실시예에 따르면, 가입자 식별 모듈(196)은 복수의 가입자 식별 모듈을 포함할 수 있다. 예를들어, 복수의 가입자 식별 모듈은 서로 다른 가입자 정보를 저장할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예는 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예에 따른, 레거시 네트워크 통신 및 5G 네트워크 통신을 지원하기 위한 전자 장치(101)의 블록도(200)이다.
도 2를 참조하면, 다양한 실시예에 따르면, 전자 장치(101)는 제 1 커뮤니케이션 프로세서(212), 제 2 커뮤니케이션 프로세서(214), 제 1 radio frequency integrated circuit(RFIC)(222), 제 2 RFIC(224), 제 3 RFIC(226), 제 4 RFIC(228), 제 1 radio frequency front end(RFFE)(232), 제 2 RFFE(234), 제 1 안테나 모듈(242), 제 2 안테나 모듈(244), 및 안테나(248)를 포함할 수 있다. 전자 장치(101)는 프로세서(120) 및 메모리(130)를 더 포함할 수 있다. 네트워크(199)는 제 1 네트워크(292)와 제 2 네트워크(294)를 포함할 수 있다. 다른 실시예에 따르면, 전자 장치(101)는 도 1에 기재된 부품들 중 적어도 하나의 부품을 더 포함할 수 있고, 네트워크(199)는 적어도 하나의 다른 네트워크를 더 포함할 수 있다. 일 실시예에 따르면, 제 1 커뮤니케이션 프로세서(212), 제 2 커뮤니케이션 프로세서(214), 제 1 RFIC(222), 제 2 RFIC(224), 제 4 RFIC(228), 제 1 RFFE(232), 및 제 2 RFFE(234)는 무선 통신 모듈(192)의 적어도 일부를 형성할 수 있다. 다른 실시예에 따르면, 제 4 RFIC(228)는 생략되거나, 제 3 RFIC(226)의 일부로서 포함될 수 있다.
제 1 커뮤니케이션 프로세서(212)는 제 1 네트워크(292)와의 무선 통신에 사용될 대역의 통신 채널의 수립, 및 수립된 통신 채널을 통한 레거시 네트워크 통신을 지원할 수 있다. 일 실시예에 따르면, 제 1 네트워크는 2세대(2G), 3G, 4G, 또는 long term evolution(LTE) 네트워크를 포함하는 레거시 네트워크일 수 있다. 제 2 커뮤니케이션 프로세서(214)는 제 2 네트워크(294)와의 무선 통신에 사용될 대역 중 지정된 대역(예: 약 6GHz ~ 약 60GHz)에 대응하는 통신 채널의 수립, 및 수립된 통신 채널을 통한 5G 네트워크 통신을 지원할 수 있다. 일 실시예에 따르면, 제 2 네트워크(294)는 3GPP에서 정의하는 5G 네트워크(예: NR(new radio))일 수 있다. 추가적으로, 일 실시예에 따르면, 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214)는 제 2 네트워크(294)와의 무선 통신에 사용될 대역 중 다른 지정된 대역(예: 약 6GHz 이하)에 대응하는 통신 채널의 수립, 및 수립된 통신 채널을 통한 5G 네트워크 통신을 지원할 수 있다. 일 실시예에 따르면, 제 1 커뮤니케이션 프로세서(212)와 제 2 커뮤니케이션 프로세서(214)는 단일(single) 칩 또는 단일 패키지 내에 구현될 수 있다. 일 실시예에 따르면, 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214)는 프로세서(120), 보조 프로세서(123), 또는 통신 모듈(190)과 단일 칩 또는 단일 패키지 내에 형성될 수 있다.
일 실시예에 따르면, 제 1 커뮤니케이션 프로세서(212)는 제 2 커뮤니케이션 프로세서(214)와 데이터를 송수신할 수 있다. 예를 들어, 제 2 네트워크(294)를 통하여 송신되기로 분류되었던 데이터가, 제 1 네트워크(292)를 통하여 송신되는 것으로 변경될 수 있다.
이 경우, 제 1 커뮤니케이션 프로세서(212)는 제 2 커뮤니케이션 프로세서(214)로부터 송신 데이터를 전달받을 수 있다. 예를 들어, 제 1 커뮤니케이션 프로세서(212)는 제 2 커뮤니케이션 프로세서(214)와 프로세서간 인터페이스를 통하여 데이터를 송수신할 수 있다. 일예로, 프로세서간 인터페이스는 UART(universal asynchronous receiver/transmitter)(예: HS-UART(high speed-UART)) 또는 PCIe(peripheral component interconnect bus express) 인터페이스로 구현될 수 있으나, 그 종류에는 제한이 없다. 예를 들어, 제 1 커뮤니케이션 프로세서(212)와 제 2 커뮤니케이션 프로세서(214)는 공유 메모리(shared memory)를 이용하여 컨트롤 정보와 패킷 데이터 정보를 교환할 수 있다. 일예로, 제 1 커뮤니케이션 프로세서(212)는, 제 2 커뮤니케이션 프로세서(214)와, 센싱 정보, 출력 세기에 대한 정보, RB(resource block) 할당 정보와 같은 다양한 정보를 송수신할 수 있다.
구현에 따라, 제 1 커뮤니케이션 프로세서(212)는 제 2 커뮤니케이션 프로세서(214)와 직접 연결되지 않을 수도 있다. 이 경우, 제 1 커뮤니케이션 프로세서(212)는 제 2 커뮤니케이션 프로세서(214)와, 프로세서(120)(예: application processor)를 통하여 데이터를 송수신할 수도 있다. 예를 들어, 제 1 커뮤니케이션 프로세서(212) 및 제 2 커뮤니케이션 프로세서(214)는, 프로세서(120)(예: application processor)와 HS-UART 인터페이스 또는 PCIe 인터페이스를 통하여 데이터를 송수신할 수 있으나, 인터페이스의 종류에는 제한이 없다. 예를 들어, 제 1 커뮤니케이션 프로세서(212) 및 제 2 커뮤니케이션 프로세서(214)는, 프로세서(120)(예: application processor)와 공유 메모리(shared memory)를 이용하여 컨트롤 정보와 패킷 데이터 정보를 교환할 수 있다. 일 실시예에 따르면, 제 1 커뮤니케이션 프로세서(212)와 제 2 커뮤니케이션 프로세서(214)는 단일(single) 칩 또는 단일 패키지 내에 구현될 수 있다. 다양한 실시예에 따르면, 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214)는 프로세서(120), 보조 프로세서(123), 또는 통신 모듈(190)과 단일 칩 또는 단일 패키지 내에 형성될 수 있다.
제 1 RFIC(222)는, 송신 시에, 제 1 커뮤니케이션 프로세서(212)에 의해 생성된 기저대역(baseband) 신호를 제 1 네트워크(292)(예: 레거시 네트워크)에 사용되는 약 700MHz 내지 약 3GHz의 라디오 주파수(RF) 신호로 변환할 수 있다. 수신 시에는, RF 신호가 안테나(예: 제 1 안테나 모듈(242))를 통해 제 1 네트워크(292)(예: 레거시 네트워크)로부터 획득되고, RFFE(예: 제 1 RFFE(232))를 통해 전처리(preprocess)될 수 있다. 제 1 RFIC(222)는 전처리된 RF 신호를 제 1 커뮤니케이션 프로세서(212)에 의해 처리될 수 있도록 기저대역 신호로 변환할 수 있다.
제 2 RFIC(224)는, 송신 시에, 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214)에 의해 생성된 기저대역 신호를 제 2 네트워크(294)(예: 5G 네트워크)에 사용되는 Sub6 대역(예: 약 6GHz 이하)의 RF 신호(이하, 5G Sub6 RF 신호)로 변환할 수 있다. 수신 시에는, 5G Sub6 RF 신호가 안테나(예: 제 2 안테나 모듈(244))를 통해 제 2 네트워크(294)(예: 5G 네트워크)로부터 획득되고, RFFE(예: 제 2 RFFE(234))를 통해 전처리될 수 있다. 제 2 RFIC(224)는 전처리된 5G Sub6 RF 신호를 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214) 중 대응하는 커뮤니케이션 프로세서에 의해 처리될 수 있도록 기저대역 신호로 변환할 수 있다.
제 3 RFIC(226)는 제 2 커뮤니케이션 프로세서(214)에 의해 생성된 기저대역 신호를 제 2 네트워크(294)(예: 5G 네트워크)에서 사용될 5G Above6 대역(예: 약 6GHz ~ 약 60GHz)의 RF 신호(이하, 5G Above6 RF 신호)로 변환할 수 있다. 수신 시에는, 5G Above6 RF 신호가 안테나(예: 안테나(248))를 통해 제 2 네트워크(294)(예: 5G 네트워크)로부터 획득되고 제 3 RFFE(236)를 통해 전처리될 수 있다. 제 3 RFIC(226)는 전처리된 5G Above6 RF 신호를 제 2 커뮤니케이션 프로세서(214)에 의해 처리될 수 있도록 기저대역 신호로 변환할 수 있다. 일 실시예에 따르면, 제 3 RFFE(236)는 제 3 RFIC(226)의 일부로서 형성될 수 있다.
전자 장치(101)는, 일 실시예에 따르면, 제 3 RFIC(226)와 별개로 또는 적어도 그 일부로서, 제 4 RFIC(228)를 포함할 수 있다. 이런 경우, 제 4 RFIC(228)는 제 2 커뮤니케이션 프로세서(214)에 의해 생성된 기저대역 신호를 중간(intermediate) 주파수 대역(예: 약 9GHz ~ 약 11GHz)의 RF 신호(이하, IF 신호)로 변환한 뒤, 상기 IF 신호를 제 3 RFIC(226)로 전달할 수 있다. 제 3 RFIC(226)는 IF 신호를 5G Above6 RF 신호로 변환할 수 있다. 수신 시에, 5G Above6 RF 신호가 안테나(예: 안테나(248))를 통해 제 2 네트워크(294)(예: 5G 네트워크)로부터 수신되고 제 3 RFIC(226)에 의해 IF 신호로 변환될 수 있다. 제 4 RFIC(228)는 IF 신호를 제 2 커뮤니케이션 프로세서(214)가 처리할 수 있도록 기저대역 신호로 변환할 수 있다.
일 실시예에 따르면, 제 1 RFIC(222)와 제 2 RFIC(224)는 단일 칩 또는 단일 패키지의 적어도 일부로 구현될 수 있다. 일 실시예에 따르면, 제 1 RFFE(232)와 제 2 RFFE(234)는 단일 칩 또는 단일 패키지의 적어도 일부로 구현될 수 있다. 일 실시예에 따르면, 제 1 안테나 모듈(242) 또는 제 2 안테나 모듈(244) 중 적어도 하나의 안테나 모듈은 생략되거나 다른 안테나 모듈과 결합되어 대응하는 복수의 대역들의 RF 신호들을 처리할 수 있다.
일 실시예에 따르면, 제 3 RFIC(226)와 안테나(248)는 동일한 서브스트레이트에 배치되어 제 3 안테나 모듈(246)을 형성할 수 있다. 예를 들어, 무선 통신 모듈(192) 또는 프로세서(120)가 제 1 서브스트레이트(예: main PCB)에 배치될 수 있다. 이런 경우, 제 1 서브스트레이트와 별도의 제 2 서브스트레이트(예: sub PCB)의 일부 영역(예: 하면)에 제 3 RFIC(226)가, 다른 일부 영역(예: 상면)에 안테나(248)가 배치되어, 제 3 안테나 모듈(246)이 형성될 수 있다. 제 3 RFIC(226)와 안테나(248)를 동일한 서브스트레이트에 배치함으로써 그 사이의 전송 선로의 길이를 줄이는 것이 가능하다. 이는, 예를 들면, 5G 네트워크 통신에 사용되는 고주파 대역(예: 약 6GHz ~ 약 60GHz)의 신호가 전송 선로에 의해 손실(예: 감쇄)되는 것을 줄일 수 있다. 이로 인해, 전자 장치(101)는 제 2 네트워크(294)(예: 5G 네트워크)와의 통신의 품질 또는 속도를 향상시킬 수 있다.
일 실시예에 따르면, 안테나(248)는 빔포밍에 사용될 수 있는 복수개의 안테나 엘리먼트들을 포함하는 안테나 어레이로 형성될 수 있다. 이런 경우, 제 3 RFIC(226)는, 예를 들면, 제 3 RFFE(236)의 일부로서, 복수개의 안테나 엘리먼트들에 대응하는 복수개의 위상 변환기(phase shifter)(238)들을 포함할 수 있다. 송신 시에, 복수개의 위상 변환기(238)들 각각은 대응하는 안테나 엘리먼트를 통해 전자 장치(101)의 외부(예: 5G 네트워크의 베이스 스테이션)로 송신될 5G Above6 RF 신호의 위상을 변환할 수 있다. 수신 시에, 복수개의 위상 변환기(238)들 각각은 대응하는 안테나 엘리먼트를 통해 외부로부터 수신된 5G Above6 RF 신호의 위상을 동일한 또는 실질적으로 동일한 위상으로 변환할 수 있다. 이것은 전자 장치(101)와 외부 간의 빔포밍을 통한 송신 또는 수신을 가능하게 한다.
제 2 네트워크(294)(예: 5G 네트워크)는 제 1 네트워크(292)(예: 레거시 네트워크)와 독립적으로 운영되거나(예: stand-alone(SA)), 연결되어 운영될 수 있다(예: non-stand alone(NSA)). 예를 들면, 5G 네트워크에는 액세스 네트워크(예: 5G radio access network(RAN) 또는 next generation RAN(NG RAN))만 있고, 코어 네트워크(예: next generation core(NGC))는 없을 수 있다. 이런 경우, 전자 장치(101)는 5G 네트워크의 액세스 네트워크에 액세스한 후, 레거시 네트워크의 코어 네트워크(예: evolved packed core(EPC))의 제어 하에 외부 네트워크(예: 인터넷)에 액세스할 수 있다. 레거시 네트워크와 통신을 위한 프로토콜 정보(예: LTE 프로토콜 정보) 또는 5G 네트워크와 통신을 위한 프로토콜 정보(예: new radio(NR) 프로토콜 정보)는 메모리(130)에 저장되어, 다른 부품(예: 프로세서(120), 제 1 커뮤니케이션 프로세서(212), 또는 제 2 커뮤니케이션 프로세서(214))에 의해 액세스될 수 있다.
도 3은 다양한 실시예에 따른 4G 통신 및/또는 5G 통신의 네트워크(100)의 프로토콜 스택 구조를 도시한 도면이다.
도 3를 참조하면, 다양한 실시예에 따르면, 네트워크(100)는, 전자 장치(101), 4G 네트워크(392), 5G 네트워크(394) 및 서버(server)(108)을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는, 인터넷 프로토콜(312), 제 1 통신 프로토콜 스택(314) 및 제 2 통신 프로토콜 스택(316)을 포함할 수 있다. 예를 들어, 전자 장치(101)는 4G 네트워크(392) 및/또는 5G 네트워크(394)를 통하여 서버(108)와 통신할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 인터넷 프로토콜(312)(예를 들어, TCP(transmission control protocol), UDP(user datagram protocol), IP(internet protocol))을 이용하여 서버(108)와 연관된 인터넷 통신을 수행할 수 있다. 예를 들어, 인터넷 프로토콜(312)은 전자 장치(101)에 포함된 메인 프로세서(예: 도 1의 메인 프로세서(121))에서 실행될 수 있다.
다른 실시예에 따르면, 전자 장치(101)는 제 1 통신 프로토콜 스택(314)을 이용하여 4G 네트워크(392)와 무선 통신할 수 있다. 또 다른 실시예에 따르면, 전자 장치(101)는 제 2 통신 프로토콜 스택(316)을 이용하여 5G 네트워크(394)와 무선 통신할 수 있다. 예를 들어, 제 1 통신 프로토콜 스택(314) 및 제 2 통신 프로토콜 스택(316)은 전자 장치(101)에 포함된 하나 이상의 통신 프로세서(예: 도 1의 무선 통신 모듈(192))에서 실행될 수 있다.
다양한 실시예에 따르면, 서버(108)는 인터넷 프로토콜(322)을 포함할 수 있다. 서버(108)는 4G 네트워크(392) 및/또는 5G 네트워크(394)를 통하여 전자 장치(101)와 인터넷 프로토콜(322)과 관련된 데이터를 송수신할 수 있다. 일 실시예에 따르면, 서버(108)는 4G 네트워크(392) 또는 5G 네트워크(394) 외부에 존재하는 클라우드 컴퓨팅 서버를 포함할 수 있다. 다른 실시예에 따르면, 서버(108)는 4G 네트워크(392) 또는 5G 네트워크(394) 중 적어도 하나의 내부에 위치하는 에지 컴퓨팅 서버(또는, MEC(mobile edge computing) 서버)를 포함할 수 있다.
다양한 실시예에 따르면, 4G 네트워크(392)는 LTE (long term evolution) 기지국(340) 및 EPC(evolved packed co)(342)를 포함할 수 있다. LTE 기지국(340)은 LTE 통신 프로토콜 스택(344)을 포함할 수 있다. EPC(342)는 레거시 NAS (non-access stratum) 프로토콜(346)을 포함할 수 있다. 4G 네트워크(392)는 LTE 통신 프로토콜 스택(344) 및 레거시 NAS 프로토콜(346)을 이용하여 전자 장치(101)와 LTE 무선 통신을 수행할 수 있다.
다양한 실시예에 따르면, 5G 네트워크(394)는 NR (new radio) 기지국(350) 및 5GC(5th generation core)(352)를 포함할 수 있다. NR 기지국(350)은 NR 통신 프로토콜 스택(354)을 포함할 수 있다. 5GC(352)는 5G NAS 프로토콜(356)을 포함할 수 있다. 5G 네트워크(394)는 NR 통신 프로토콜 스택(354) 및 5G NAS 프로토콜(356)을 이용하여 전자 장치(101)와 NR 무선 통신을 수행할 수 있다.
일 실시예에 따르면, 제 1 통신 프로토콜 스택(314), 제 2 통신 프로토콜 스택(316), LTE 통신 프로토콜 스택(344) 및 NR 통신 프로토콜 스택(354)은 제어 메시지를 송수신하기 위한 제어 평면 프로토콜 및 사용자 데이터를 송수신하기 위한 사용자 평면 프로토콜을 포함할 수 있다. 예를 들어, 제어 메시지는 보안 제어, 베어러(bearer)설정, 인증, 등록 또는 이동성 관리 중 적어도 하나와 관련된 메시지를 포함할 수 있다. 예를 들어, 사용자 데이터는 제어 메시지를 제외한 나머지 데이터를 포함할 수 있다.
일 실시예에 따르면, 제어 평면 프로토콜 및 사용자 평면 프로토콜은 PHY(physical), MAC(medium access control), RLC(radio link control) 또는 PDCP(packet data convergence protocol) 레이어들을 포함할 수 있다. 예를 들어, PHY 레이어는 상위 계층(예를 들어, MAC 레이어)로부터 수신한 데이터를 채널 코딩 및 변조하여 무선 채널로 전송하고, 무선 채널을 통해 수신한 데이터를 복조 및 디코딩하여 상위 계층으로 전달할 수 있다. 제 2 통신 프로토콜 스택(316) 및 NR 통신 프로토콜 스택(354)에 포함된 PHY 레이어는 빔 포밍(beam forming)과 관련된 동작을 더 수행할 수 있다. 예를 들어, MAC 레이어는 데이터를 송수신할 무선 채널에 논리적/물리적으로 매핑하고, 오류 정정을 위한 HARQ(hybrid automatic repeat request)를 수행할 수 있다. 예를 들어, RLC 레이어는 데이터를 접합(concatenation), 분할(segmentation), 또는 재조립(reassembly)하고, 데이터의 순서 확인, 재정렬, 또는 중복 확인을 수행할 수 있다. 예를 들어, PDCP 레이어는 제어 데이터 및 사용자 데이터의 암호화 (ciphering) 및 데이터 무결성 (data integrity)과 관련된 동작을 수행할 수 있다. 제 2 통신 프로토콜 스택(316) 및 NR 통신 프로토콜 스택(354)은 SDAP(service data adaptation protocol)을 더 포함할 수 있다. 예를 들어, SDAP는 사용자 데이터의 QoS(quality of service)에 기반한 무선 베어러할당을 관리할 수 있다.
다양한 실시예에 따르면, 제어 평면 프로토콜은 RRC(radio resource control) 레이어 및 NAS(non-access stratum) 레이어를 포함할 수 있다. 예를 들어, RRC 레이어는 무선 베어러 설정, 페이징(paging), 또는 이동성 관리와 관련된 제어 데이터를 처리할 수 있다. 예를 들어, NAS는 인증, 등록, 이동성 관리와 관련된 제어 메시지를 처리할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 복수의 가입자 식별 모듈(예: 제 1 가입자 식별 모듈 및 제 2 가입자 식별 모듈)을 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 복수의 가입자 식별 모듈(예: 제 1 가입자 식별 모듈 및 제 2 가입자 식별 모듈) 각각에 저장된 가입자 정보(예: IMSI(international mobile subscriber identity))에 기반하여 4G 네트워크(392) 및/또는 5G 네트워크(394)와 통신할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 복수의 가입자 식별 모듈을 지원하기 위해 제 3 통신 프로토콜 스택(미 도시) 및 제 4 통신 프로토콜 스택(미 도시)을 더 포함할 수 있다. 예를 들어, 제 3 통신 프로토콜 스택은 제 1 통신 프로토콜 스택(314)에 대응되고, 4G 네트워크(392)와 무선 통신을 위한 다양한 프로토콜들을 포함할 수 있다. 예를 들어, 제 4 통신 프로토콜 스택은 제 2 통신 프로토콜 스택(316)에 대응되고, 5G 네트워크(394)와 무선 통신을 위한 다양한 프로토콜들을 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제 1 가입자 식별 모듈을 이용하여 통신을 수행하는 경우, 제 1 통신 프로토콜 스택(314)을 이용하여 4G 네트워크(392)와 무선 통신을 수행하고, 제 2 통신 프로토콜 스택(316)을 이용하여 5G 네트워크(394)와 무선 통신을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제 2 가입자 식별 모듈을 이용하여 통신을 수행하는 경우, 제 3 통신 프로토콜 스택을 이용하여 4G 네트워크(392)와 무선 통신을 수행하고, 제 4 통신 프로토콜 스택을 이용하여 5G 네트워크(394)와 무선 통신을 수행할 수 있다.
도 4a, 도 4b 및 도 4c는, 다양한 실시예에 따른 4G 통신 및/또는 5G 통신의 네트워크를 제공하는 무선 통신 시스템들을 도시하는 도면들이다.
도 4, 도 4b 및 도 4c를 참조하면, 네트워크 환경(100A 내지 100C)은, 4G 네트워크 또는 5G 네트워크 중 적어도 하나를 포함할 수 있다. 예를 들어, 4G 네트워크는 전자 장치(101)와 무선 접속을 지원하는 3GPP 표준의 LTE 기지국(440)(예를 들어, eNB(eNodeB)) 및 4G 통신을 관리하는 EPC(evolved packet core)(442)를 포함할 수 있다. 예를 들어, 5G 네트워크는 전자 장치(101)와 무선 접속을 지원하는 NR(new radio) 기지국(450)(예를 들어, gNB(gNodeB)) 및 전자 장치(101)의 5G 통신을 관리하는 5GC(5th generation core)(452)를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)은 4G 통신 및/또는 5G 통신을 통해 제어 메시지 (control message) 및 사용자 데이터(user data)를 송신 및/또는 수신할 수 있다. 예를 들어, 제어 메시지는 전자 장치(101)의 보안 제어(security control), 베어러 설정(bearer setup), 인증(authentication), 등록(registration), 또는 이동성 관리(mobility management) 중 적어도 하나와 관련된 메시지를 포함할 수 있다. 예를 들어, 사용자 데이터는 전자 장치(101)와 코어 네트워크(430)(예: EPC(442) 및/또는 5GC(452))간에 송수신되는 제어 메시지를 제외한 사용자 데이터를 의미할 수 있다.
도 4a를 참조하면, 다양한 실시예들에 따르면, 전자 장치(101)는 제 1 네트워크(예: 4G 네트워크 또는 5G 네트워크)의 적어도 일부(예: LTE 기지국(440), EPC(442))를 이용하여 제 2 네트워크(예: 5G 네트워크 또는 4G 네트워크)와 관련된 제어 메시지 또는 사용자 데이터 중 적어도 하나를 송수신할 수 있다.
다양한 실시예에 따르면, 네트워크 환경(100A)은 LTE 기지국(440) 및 NR 기지국(450)으로의 무선 통신 듀얼 커넥티비티(multi-RAT(radio access technology) dual connectivity, MR-DC)를 제공하고, EPC(442) 또는 5GC(452) 중 하나의 코어 네트워크(430)를 통해 전자 장치(101)와 제어 메시지를 송수신하는 네트워크 환경을 포함할 수 있다.
다양한 실시예들에 따르면, LTE 기지국(440) 또는 NR 기지국(450) 중 하나의 기지국은 MN(master node)(410)으로 작동하고 다른 하나는 SN(secondary node)(420)으로 동작할 수 있다. MN(410)은 코어 네트워크(430)에 연결되어 제어 메시지를 송수신할 수 있다. MN(410)과 SN(420)은 네트워크 인터페이스를 통해 연결되어 무선 자원(예를 들어, 통신 채널) 관리와 관련된 메시지를 서로 송수신 할 수 있다. 일 실시예에 따르면, MN(410)은 LTE 기지국(440), SN(420)은 NR 기지국(450), 코어 네트워크(430)는 EPC(442)로 구성될 수 있다. 예를 들어, 전자 장치(101)는 LTE 기지국(440)을 통해 제어 메시지를 송신 및/또는 수신하고, LTE 기지국(440)과 NR 기지국(450)을 통해 사용자 데이터를 송신 및/또는 수신 할 수 있다. 일 실시예에 따르면, MN(410)은 NR 기지국(450), SN(420)은 LTE 기지국(440), 코어 네트워크(430)는 5GC(452)로 구성될 수 있다. 예를 들어, 전자 장치(101)는 NR 기지국(450)을 통해 제어 메시지를 송신 및/또는 수신하고, LTE 기지국(440)과 NR 기지국(450)을 통해 사용자 데이터를 송신 및/또는 수신 할 수 있다.
도 4b 참조하면, 다양한 실시예에 따르면, 5G 네트워크는 제어 메시지 및 사용자 데이터를 독립적으로 전자 장치(101)와 송수신할 수 있다.
도 4c를 참조하면, 다양한 실시예에 따르면, 4G 네트워크 및 5G 네트워크는 각각 독립적으로 데이터 송신 및/또는 수신을 제공할 수 있다. 예를 들어, 전자 장치(101)와 EPC(442)는 LTE 기지국(440)을 통해 제어 메시지 및 사용자 데이터를 송신 및/또는 수신할 수 있다. 다른 예를 들어, 전자 장치(101)와 5GC(452)는 NR 기지국(450)을 통해 제어 메시지 및 사용자 데이터를 송신 및/또는 수신할 수 있다.
다양한 실시예에 따르면, 전자 장치(101)는 EPC(442) 또는 5GC(452) 중 적어도 하나에 등록(registration)되어 제어 메시지를 송수신할 수 있다.
다양한 실시예에 따르면, EPC(442) 또는 5GC(452)는 연동(interworking)하여 전자 장치(101)의 통신을 관리할 수도 있다. 예를 들어, 전자 장치(101)의 이동 정보가 EPC(442) 및 5GC(452)간의 인터페이스(예: N26 인터페이스)를 통해 송수신될 수 있다.
도 5는 다양한 실시예에 따른 커뮤니케이션 프로세서의 통신 버퍼의 크기를 설정하는 전자 장치의 블록도이다. 일 실시예에 따르면, 도 5의 전자 장치(500)는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101)와 적어도 일부 유사하거나, 전자 장치의 다른 실시예들을 더 포함할 수 있다.
도 5를 참조하면 다양한 실시예에 따르면, 전자 장치(500)는 어플리케이션 프로세서(AP: application processor)(510) (예: 프로세싱 회로 포함), 커뮤니케이션 프로세서(CP: communication porcessor)(520) (예: 프로세싱 회로 포함) 및/또는 무선 통신 회로(530)를 포함할 수 있다. 일 실시예에 따르면, 어플리케이션 프로세서(510) 및 커뮤니케이션 프로세서(520)는 도 1의 프로세서(120)와 실질적으로 동일하거나, 프로세서(120)에 포함될 수 있다. 예를 들어, 어플리케이션 프로세서(510)는 도 1의 메인 프로세서(121)와 실질적으로 동일하거나, 메인 프로세서(121)에 포함될 수 있다. 커뮤니케이션 프로세서(520)는 도 1의 보조 프로세서(123)와 실질적으로 동일하거나, 보조 프로세서(123)에 포함될 수 있다. 일 실시예에 따르면, 무선 통신 회로(530)는 도 1의 무선 통신 모듈(192)과 실질적으로 동일하거나, 무선 통신 모듈(192)에 포함될 수 있다.
다양한 실시예에 따르면, 어플리케이션 프로세서(510)는 작동적으로 연결된 커뮤니케이션 프로세서(520)를 통해 데이터의 송신 및/또는 수신을 제어할 수 있다. 일 실시예에 따르면, 어플리케이션 프로세서(510)는 네트워크로 전송하기 위한 데이터(또는 패킷)을 커뮤니케이션 프로세서(520)로 전송할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510) 및/또는 무선 통신 회로(530)와 작동적으로 연결될 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 적어도 하나의 네트워크 통신을 지원할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 하나의 커뮤니케이션 프로세서로 구성되거나, 하드웨어적으로 또는 소프트웨어적으로 구분된 복수의 커뮤니케이션 프로세서들을 포함할 수 있다. 예를 들어, 복수의 커뮤니케이션 프로세서들(예: 도 2의 제1 커뮤니케이션 프로세서(212) 및 제 2 커뮤니케이션 프로세서(214))은 각각 다른 종류의 RAT(radio access technology)와 관련된 네트워크 통신을 지원할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)의 통신 버퍼(522)는 커뮤니케이션 프로세서(520)의 내부에 포함되거나, 커뮤니케이션 프로세서(520)와 같은 패키지에 포함된 메모리에 포함될 수 있다. 예를 들어, 통신 버퍼(522)는 메모리(예: 도 1의 휘발성 메모리(132))에 포함되거나 별도의 메모리에 포함될 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)로부터 제공받은 데이터(또는 패킷)를 네트워크로 전송하도록 무선 통신 회로(530)를 제어할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)로부터 제공받은 데이터(또는 패킷)를 통신 버퍼(522)에 저장할 수 있다. 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양과 관련된 정보(예: BSR(buffer status report))를 네트워크로 전송하도록 무선 통신 회로(530)를 제어할 수 있다. 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양과 관련된 정보에 기반하여 네트워크로부터 할당받은 자원을 통해 통신 버퍼(522)에 저장된 데이터를 네트워크로 전송하도록 무선 통신 회로(530)를 제어할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)의 상향 링크 전송 속도 및 RLC(radio link control) 재전송 시간에 기반하여 통신 버퍼(522)의 크기를 설정할 수 있다. 일 실시예에 따르면, 통신 버퍼(522)의 크기는 통신 버퍼(522)에서 데이터의 저장에 사용할 수 있는 영역의 크기로, 상향링크 전송 속도(uplink throughput) 및 RLC 재전송 시간에 기반하여 설정된 통신 버퍼(522)의 상한 기준(예: high watermark)에 기반하여 설정될 수 있다. 예를 들어, 통신 버퍼(522)의 상한 기준은 전자 장치(500)의 상향링크 전송 속도에 기반하여 단위 시간(예: RLC 재전송 시간) 동안 전송 가능한 데이터의 크기보다 큰 값으로 설정될 수 있다. 예를 들어, 통신 버퍼(522)의 상한 기준은 전자 장치(500)의 상향링크 전송 속도의 증가에 기반하여 상향 조절될 수 있다. 예를 들어, RLC 재전송 시간은 네트워크로부터 수신한 RRC 제어 메시지(예: RRCConnectionReconfiguration)의 "RLC-config" 정보 요소에 포함된 "t-PollRetransmit"에 기반하여 확인될 수 있다. 일예로, RLC 재전송 시간은 전자 장치(500)에서 전송한 데이터에 대응하는 응답(예: ACK 또는 NACK)을 네트워크로부터 수신하기 위한 최소 시간과 관련된 정보를 포함할 수 있다. 예를 들어, 전자 장치(500)의 상향링크 전송 속도는 전자 장치(500)의 계층(예: OSI(open system interconnection) 7계층 또는 TCP/IP 5계층) 별로 지정된 시간 동안 전송되는 PDU(protocol data unit)의 개수 및/또는 PDU의 크기(size)에 기반하여 획득될 수 있다.
일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 통신 버퍼(522)의 상한 기준을 만족하는 경우, 데이터 전송 제한(suspend) 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 예를 들어, 어플리케이션 프로세서(510)는 데이터 전송 제한 정보에 기반하여 커뮤니케이션 프로세서(520)로의 데이터 전송을 제한할 수 있다. 어플리케이션 프로세서(510)는 커뮤니케이션 프로세서(520)로의 데이터 전송이 제한된 경우, 커뮤니케이션 프로세서(520)로 전송하기 위한 데이터를 메모리(예: 공유 메모리(shard memory))에 저장할 수 있다. 예를 들어, 상한 기준의 만족은 통신 버퍼(522)에 저장된 데이터의 양이 상한 기준으로 설정된 값 이상인 상태를 포함할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)의 상향 링크 전송 속도 및 RLC 재전송 시간에 기반하여 통신 버퍼(522)의 하한 기준(low watermark)을 설정할 수 있다. 일 실시예에 따르면, 통신 버퍼(522)의 하한 기준은 전자 장치(500)의 상향링크 전송 속도에 기반하여 단위 시간(예: RLC 재전송 시간) 동안 전송 가능한 데이터의 크기로 설정될 수 있다. 일 실시예에 따르면, 통신 버퍼(522)의 하한 기준은 통신 버퍼(522)의 상한 기준에 기반하여 어플리케이션 프로세서(510)에서 커뮤니케이션 프로세서(520)로의 데이터 전송이 제한된 시점부터 RLC 재전송 시간의 절반이 지나는 시점에 데이터 전송이 재개되도록 설정될 수 있다.
일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)의 상한 기준에 기반하여 어플리케이션 프로세서(510)에서 커뮤니케이션 프로세서(520)로의 데이터 전송이 제한된 경우, 통신 버퍼(522)에 저장된 데이터의 양이 통신 버퍼(522)의 하한 기준을 만족하는지 확인할 수 있다. 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 통신 버퍼(522)의 하한 기준을 만족하는 경우, 데이터 전송 재개(resume) 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 예를 들어, 어플리케이션 프로세서(510)는 데이터 전송 재개 정보에 기반하여 커뮤니케이션 프로세서(520)로의 데이터 전송을 재개할 수 있다. 어플리케이션 프로세서(510)는 커뮤니케이션 프로세서(520)로의 데이터 전송이 재개된 경우, 메모리(예: 공유 메모리)에 저장된 데이터를 커뮤니케이션 프로세서(520)로 전송할 수 있다. 예를 들어, 하한 기준의 만족은 통신 버퍼(522)에 저장된 데이터의 양이 하한 기준으로 설정된 값과 실질적으로 동일한 상태를 포함할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 보상 값에 기반하여 통신 버퍼(522)의 상한 기준 및/또는 하한 기준을 갱신할 수 있다. 일 실시예에 따르면, 보상 값은 기 정의된 보상 값 테이블에서 전자 장치(500)의 상향 링크 전송 속도 및/또는 RLC 재전송 시간에 기반하여 선택될 수 있다. 일 실시예에 따르면, 보상 값은 어플리케이션 프로세서(510)의 커널의 네트워크 스택(예: 도 1의 운영 체제(142))에 유입되는 데이터(또는 패킷)의 양에 기반하여 설정될 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)가 이중 접속을 지원하는 경우, 상향링크로 전송할 데이터의 양에 기반하여 RLC 재전송 시간을 설정할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 지정된 제 1 조건을 만족하는 경우, MN(예: 도 4a의 MN(410))과의 제 1 무선 통신 및 SN(예: 도 4a의 SN(420))과의 제 2 무선 통신을 통해 데이터를 전송할 수 있다. 이 경우, 커뮤니케이션 프로세서(520)는 MN과의 RLC 재전송 시간 및 SN과의 RLC 재전송 시간 중 상대적으로 길게 설정된 RLC 재전송 시간을 통신 버퍼(522)의 크기를 설정하는데 사용할 기준 RLC 재전송 시간으로 설정할 수 있다. 일예로, 지정된 제 1 조건의 만족은 통신 버퍼(522)에 저장된 데이터의 양이 "PDCP config"의 "ul-DataSplitThreshold" 이상인 상태를 포함할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 지정된 제 1 조건을 만족하지 않는 경우, MN(예: 도 4a의 MN(410))과의 제 1 무선 통신을 통해 데이터를 전송할 수 있다. 이 경우, 커뮤니케이션 프로세서(520)는 MN과의 RLC 재전송 시간을 통신 버퍼(522)의 크기를 설정하는데 사용할 기준 RLC 재전송 시간으로 설정할 수 있다. 일예로, 지정된 제 1 조건의 만족하지 않는 상태는 통신 버퍼(522)에 저장된 데이터의 양이 "PDCP config"의 "ul-DataSplitThreshold" 미만인 상태를 포함할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)와의 전송 속도에 기반하여 어플리케이션 프로세서(510)에 의한 데이터 전송이 제한되도록 제어할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)와의 전송 속도가 지정된 제 2 조건을 만족하는 경우, 데이터 전송 제한(suspend) 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 예를 들어, 지정된 제 2 조건의 만족은 어플리케이션 프로세서(510)와의 전송 속도가 전자 장치(500)의 상향링크 전송 속도를 초과하는 상태를 포함할 수 있다. 일예로, 어플리케이션 프로세서(510)와의 전송 속도는 커뮤니케이션 프로세서(520)가 어플리케이션 프로세서(510)로부터 데이터를 수신하는 속도를 포함할 수 있다. 일예로, 전자 장치(500)의 상향링크 전송 속도는 전자 장치(500)(또는 커뮤니케이션 프로세서(520))가 네트워크로 데이터를 전송하는 속도를 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(510)는 데이터 전송 제한 정보에 기반하여 커뮤니케이션 프로세서(520)로의 데이터 전송을 제한할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)에서 커뮤니케이션 프로세서(520)로의 데이터 전송이 제한된 경우, RLC 버퍼의 데이터 점유율에 기반하여 어플리케이션 프로세서(510)에 의한 데이터 전송을 재개하도록 제어할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)에서 커뮤니케이션 프로세서(520)로의 데이터 전송이 제한된 경우, RLC 버퍼의 데이터 점유율을 확인할 수 있다. 커뮤니케이션 프로세서(520)는 RLC 버퍼의 데이터 점유율이 지정된 제 3 조건을 만족하는 경우, 데이터 전송 재개(resume) 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 예를 들어, RLC 버퍼의 데이터 점유율은 기준 시간 또는 기준 횟수 동안 검출한 RLC 버퍼의 데이터 점유율의 평균 또는 RLC 버퍼의 데이터 점유율의 표준 편차를 포함할 수 있다. 일예로, 지정된 제 3 조건의 만족은 RLC 버퍼의 데이터 점유율이 상대적으로 낮아지는 상태를 포함할 수 있다. 다른 일예로, 지정된 제 3 조건의 만족은 RLC 버퍼의 데이터 점유율의 표준 편차가 상대적으로 크게 발생되는 상태를 포함할 수 있다. 일예로, RLC 버퍼는 RLC 계층에서 전송 데이터를 일시적으로 저장하는 전송 버퍼를 포함할 수 있다.
다양한 실시예에 따르면, 무선 통신 회로(530)는 안테나(미 도시)를 통하여 외부(예: 도 4c의 LTE 기지국((440) 및/또는 NR 기지국(450))로부터 신호를 수신하거나, 외부로 신호를 전송할 수 있다. 일 실시예에 따르면, 무선 통신 회로(530)는 제 1 통신 회로 및 제 2 통신 회로를 포함할 수 있다. 예를 들어, 제 1 통신 회로는 제 1 무선 네트워크의 제 1 노드(예: 도 4a의 제 1 노드(410))와의 통신을 위한 제 1 RFIC(예: 도 2의 제 1 RFIC(222)) 및 제 1 RFFE(예: 도 2의 제 1 RFFE(232))를 포함할 수 있다. 예를 들어, 제 2 통신 회로는 제 2 무선 네트워크의 제 2 노드(예: 도 4a의 제 2 노드(420))와의 통신을 위한 제 2 RFIC(예: 도 2의 제 3 RFIC(226)) 및 제 2 RFFE(예: 도 2의 제 3 RFFE(236))를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500))는, 무선 통신 회로(예: 도 1의 무선 통신 모듈(192) 또는 도 5의 무선 통신 회로(530)), 어플리케이션 프로세서(예: 도 1의 메인 프로세서(121) 또는 도 5의 어플리케이션 프로세서(510)), 및 상기 무선 통신 회로 및 상기 어플리케이션 프로세서와 작동적으로 연결되고, 통신 버퍼(예: 도 5의 통신 버퍼(522))를 포함하는 커뮤니케이션 프로세서(예: 도 1의 보조 프로세서(123) 또는 도 5의 커뮤니케이션 프로세서(520))를 포함하고, 상기 커뮤니케이션 프로세서는, RLC(radio link control) 재전송 시간을 확인하고, 상향링크 전송 속도를 확인하고, 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, RRC(radio resource control) 제어 메시지에서 상기 RLC 재전송 시간을 획득할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 제 1 무선 통신 및 제 2 무선 통신의 이중 접속을 지원하는 경우, 상향링크 데이터의 크기를 확인하고, 상기 상향링크 데이터의 크기가 지정된 제 1 조건을 만족하는 경우, 제 1 무선 통신의 제 1 RLC 재전송 시간 및 제 2 무선 통신의 제 2 RLC 재전송 시간을 확인하고, 상기 제 1 RLC 재전송 시간 및 상기 제 2 RLC 재전송 시간 중 큰 값을 기준 RLC 재전송 시간으로 선택할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 상기 기준 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 지정된 시간 동안 상향링크를 통해 전송된 PDU(protocol data unit)의 개수 또는 PDU의 크기에 기반하여 상기 상향링크 전송 속도를 추정할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼의 상한 기준 또는 하한 기준 중 적어도 하나를 설정할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 상기 통신 버퍼에 저장된 데이터의 양이 상기 상한 기준을 만족하는 경우, 데이터 전송 제한과 관련된 정보를 상기 어플리케이션 프로세서로 전송할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 상기 통신 버퍼에 저장된 데이터의 양이 상기 상한 기준을 만족하지 않는 경우, 상기 어플리케이션 프로세서로부터의 데이터 수신 속도를 확인하고, 상기 데이터 수신 속도가 지정된 제 2 조건을 만족하는 경우, 데이터 전송 제한과 관련된 정보를 상기 어플리케이션 프로세서로 전송할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 상기 어플리케이션 프로세서의 데이터 전송이 제한된 상태에서 상기 통신 버퍼에 저장된 데이터의 양이 상기 하한 기준을 만족하는 경우, 데이터 전송 재개와 관련된 정보를 상기 어플리케이션 프로세서로 전송할 수 있다.
다양한 실시예에 따르면, 상기 커뮤니케이션 프로세서는, 상기 어플리케이션 프로세서의 데이터 전송이 제한된 상태에서 상기 통신 버퍼에 저장된 데이터의 양이 상기 하한 기준을 만족하지 않는 경우, RLC 버퍼의 데이터 점유율을 확인하고, 상기 RLC 버퍼의 데이터 점유율이 지정된 제 3 조건을 만족하는 경우, 데이터 전송 재개와 관련된 정보를 상기 어플리케이션 프로세서로 전송할 수 있다.
도 6은 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼의 크기를 설정하기 위한 흐름도(600)이다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 6의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 6을 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 동작 601에서, RLC 재전송 시간을 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 표 1(예: 3GPP TS 36.331 표준)과 같이, 네트워크로부터 수신한 RRC 제어 메시지(예: RRCConnectionReconfiguration)의 "RLC-config" 정보 요소에 포함된 "t-PollRetransmit"에 기반하여 RLC 재전송 시간을 확인할 수 있다.
RLC-Config ::= CHOICE {
am SEQUENCE {
ul-AM-RLC UL-AM-RLC,
dl-AM-RLC DL-AM-RLC
},
um-Bi-Directional SEQUENCE {
ul-UM-RLC UL-UM-RLC,
dl-UM-RLC DL-UM-RLC
},
um-Uni-Directional-UL SEQUENCE {
ul-UM-RLC UL-UM-RLC
},
um-Uni-Directional-DL SEQUENCE {
dl-UM-RLC DL-UM-RLC
},
...
}
~ 중략 ~

UL-AM-RLC ::= SEQUENCE {
t-PollRetransmit T-PollRetransmit,
pollPDU PollPDU,
pollByte PollByte,
maxRetxThreshold ENUMERATED {
t1, t2, t3, t4, t6, t8, t16, t32}
}

~ 중략 ~
T-PollRetransmit ::= ENUMERATED {
ms5, ms10, ms15, ms20, ms25, ms30, ms35,
ms40, ms45, ms50, ms55, ms60, ms65, ms70,
ms75, ms80, ms85, ms90, ms95, ms100, ms105,
ms110, ms115, ms120, ms125, ms130, ms135,
ms140, ms145, ms150, ms155, ms160, ms165,
ms170, ms175, ms180, ms185, ms190, ms195,
ms200, ms205, ms210, ms215, ms220, ms225,
ms230, ms235, ms240, ms245, ms250, ms300,
ms350, ms400, ms450, ms500, ms800-v1310,
ms1000-v1310, ms2000-v1310, ms4000-v1310,
spare5, spare4, spare3, spare2, spare1}
예를 들어, "t-PollRetransmit"가 "ms5"인 경우, RLC 재전송 시간은 5ms인 것으로 판단될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 603에서, 전자 장치(500)의 상향링크 전송 속도를 확인할 수 있다. 예를 들어, 전자 장치(500)의 상향링크 전송 속도는 전자 장치(500)(또는 커뮤니케이션 프로세서(520))가 네트워크로 데이터를 전송하는 속도로, 전자 장치(500)의 계층(예: OSI 7계층 또는 TCP/IP 5계층) 별로 지정된 시간 동안 전송되는 PDU의 개수 및/또는 PDU의 크기에 기반하여 획득될 수 있다. 일예로, 전자 장치(500)의 상향링크 전송 속도는 지정된 시간 동안 커뮤니케이션 프로세서(520)에서 무선 통신 회로(530)를 통해 네트워크로 전송한 데이터(또는 패킷)의 양에 기반하여 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 605에서, RLC 재전송 시간 및 전자 장치의 상향링크 전송 속도에 기반하여 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))의 크기를 설정할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)의 상향 링크 전송 속도 및 RLC 재전송 시간에 기반하여 통신 버퍼(522)의 상한 기준을 설정할 수 있다. 예를 들어, 통신 버퍼(522)의 상한 기준은 전자 장치(500)의 상향링크 전송 속도에 기반하여 단위 시간(예: RLC 재전송 시간) 동안 전송 가능한 데이터의 크기보다 큰 값으로 설정될 수 있다. 일예로, 통신 버퍼(522)의 상한 기준은 전자 장치(500)의 상향링크 전송 속도의 증가에 기반하여 상향 조절될 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)의 상향 링크 전송 속도 및 RLC 재전송 시간에 기반하여 통신 버퍼(522)의 하한 기준을 설정할 수 있다. 예를 들어, 통신 버퍼(522)의 하한 기준은 전자 장치(500)의 상향링크 전송 속도에 기반하여 단위 시간(예: RLC 재전송 시간) 동안 전송 가능한 데이터의 크기로 설정될 수 있다. 다른 예를 들어, 통신 버퍼(522)의 하한 기준은 통신 버퍼(522)의 상한 기준에 기반하여 어플리케이션 프로세서(510)에서 커뮤니케이션 프로세서(520)로의 데이터 전송이 제한된 시점부터 RLC 재전송 시간의 절반이 지나는 시점에 데이터 전송이 재개되도록 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 주기적으로 도 6이 동작 601 내지 동작 603에 기반하여 커뮤니케이션 프로세서의 통신 버퍼의 크기(예: 상한 기준 및/또는 하한 기준)를 설정(또는 조절)할 수 있다.
도 7은 다양한 실시예에 따른 전자 장치에서 RLC 재전송 시간을 확인하기 위한 흐름도(700)이다. 일 실시예에 따르면, 도 7의 동작들은 도 6의 동작 601의 상세한 동작일 수 있다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 7의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 7을 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 동작 701에서, 전자 장치 및/또는 네트워크가 이중 접속(DC: dual connectivity)을 지원하는지 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 전자 장치가 이중 접속을 지원하는 경우(예: 동작 701의 '예'), 동작 703에서, 전자 장치가 상향링크로 전송할 데이터의 크기가 지정된 제 1 조건을 만족하는지 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 지정된 제 1 조건을 만족하는지 확인할 수 있다. 예를 들어, 지정된 제 1 조건의 만족은 통신 버퍼(522)에 저장된 데이터의 양이 "PDCP config"의 "ul-DataSplitThreshold" 이상인 상태를 포함할 수 있다. 예를 들어, 지정된 제 1 조건의 만족하지 않는 상태는 통신 버퍼(522)에 저장된 데이터의 양이 "PDCP config"의 "ul-DataSplitThreshold" 미만인 상태를 포함할 수 있다. 일예로, "ul-DataSplitThreshold"은 표 2(예: 3GPP TS 36.331 표준)와 같이, 네트워크로부터 수신한 "PDCP config"에 포함될 수 있다.
-- ASN1START

PDCP-Config ::= SEQUENCE {
discardTimer ENUMERATED {
ms50, ms100, ms150, ms300, ms500,
ms750, ms1500, infinity
} OPTIONAL, -- Cond Setup
rlc-AM SEQUENCE {
statusReportRequired BOOLEAN
} OPTIONAL, -- Cond Rlc-AM
rlc-UM SEQUENCE {
pdcp-SN-Size ENUMERATED {len7bits, len12bits}
} OPTIONAL, --
~ 중략 ~
[[ ul- DataSplitThreshold - r13 CHOICE {
release NULL,
setup ENUMERATED {
b0, b100, b200, b400, b800, b1600, b3200,
b6400, b12800, b25600, b51200, b102400,
b204800, b409600, b819200, spare1} }
예를 들어, "ul-DataSplitThreshold"가 "b100"인 경우, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 100byte를 초과하는지 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 전자 장치가 상향링크로 전송할 데이터의 크기가 지정된 제 1 조건을 만족하는 경우(예: 동작 703의 '예'), 동작 705에서, 이중 접속에 의한 제 1 무선 통신의 제 1 RLC 재전송 시간 및 제 2 무선 통신의 제 2 RLC 재전송 시간을 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)가 상향링크로 전송할 데이터의 크기가 지정된 제 1 조건을 만족하는 경우, MN(예: 도 4a의 MN(410))과의 제 1 무선 통신 및 SN(예: 도 4a의 SN(420))과의 제 2 무선 통신을 통해 데이터를 전송하는 것으로 판단할 수 있다. 예를 들어, 커뮤니케이션 프로세서(520)는 MN(410)로부터 수신한 제 1 무선 통신과 관련된 RRC 제어 메시지(예: RRCConnectionReconfiguration)에서 제 1 RLC 재전송 시간을 확인할 수 있다. 예를 들어, 커뮤니케이션 프로세서(520)는 SN(420)로부터 수신한 제 2 무선 통신과 관련된 RRC 제어 메시지(예: RRCConnectionReconfiguration)에서 제 2 RLC 재전송 시간을 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 707에서, 제 1 RLC 재전송 시간 및 제 2 RLC 재전송 시간에 기반하여 통신 버퍼(522)의 크기를 설정하는데 사용할 기준 RLC 재전송 시간으로 설정할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 MN(410)과의 제 1 RLC 재전송 시간 및 SN(420)과의 제 2 RLC 재전송 시간 중 상대적으로 길게 설정된 RLC 재전송 시간을 통신 버퍼(522)의 크기를 설정하는데 사용할 기준 RLC 재전송 시간으로 설정할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 전자 장치가 이중 접속을 지원하지 않거나(예: 동작 701의 '아니오'), 전자 장치가 상향링크로 전송할 데이터의 크기가 지정된 제 1 조건을 만족하지 않는 경우(예: 동작 703의 '아니오'), 동작 709에서, RLC 재전송 시간을 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)가 이중 접속을 지원하지 않는 경우, 네트워크로부터 수신한 RRC 제어 메시지(예: RRCConnectionReconfiguration)에서 RLC 재전송 시간을 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 지정된 제 1 조건을 만족하지 않는 경우, MN(410)과의 제 1 무선 통신을 통해 데이터를 전송하는 것으로 판단할 수 있다. 이에 따라, 커뮤니케이션 프로세서(520)는 MN(410)로부터 수신한 제 1 무선 통신과 관련된 RRC 제어 메시지(예: RRCConnectionReconfiguration)에서 제 1 RLC 재전송 시간을 확인할 수 있다. 일예로, 커뮤니케이션 프로세서(520)는 제 1 RLC 재전송 시간을 통신 버퍼(522)의 크기를 설정하는데 사용할 기준 RLC 재전송 시간으로 판단할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 이중 접속을 지원하는 경우, 데이터의 전송에 사용되는 무선 통신의 상향링크 전송 속도의 합을 전자 장치(500)의 상향링크 전송 속도로 판단할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 전자 장치(500)가 상향링크로 전송할 데이터의 크기가 지정된 제 1 조건을 만족하는 경우, MN(410)과의 제 1 무선 통신 및 SN(420)과의 제 2 무선 통신을 통해 네트워크로 전송되는 데이터의 양에 기반하여 상향링크 전송 속도를 획득할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양이 지정된 제 1 조건을 만족하지 않는 경우, MN(410)과의 제 1 무선 통신을 통해 네트워크로 전송되는 데이터의 양에 기반하여 상향링크 전송 속도를 획득할 수 있다.
도 8은 다양한 실시예에 따른 전자 장치에서 보상 값에 기반하여 커뮤니케이션 프로세서의 통신 버퍼의 크기를 설정하기 위한 흐름도(800)이다. 일 실시예에 따르면, 도 8의 동작들은 도 6의 동작 605의 상세한 동작일 수 있다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 8의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 8을 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 동작 801에서, 기 정의된 보상 값 테이블에서 RLC 재전송 시간 및/또는 전자 장치의 상향링크 전송 속도에 대응하는 보상 값을 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 803에서, RLC 재전송 시간, 전자 장치의 상향링크 전송 속도 및 기 정의된 보상 값 테이블에서 선택된 보상 값에 기반하여 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))의 상한 기준 및/또는 하한 기준을 설정(또는 조절)할 수 있다. 일예로, 통신 버퍼(522)의 상한 기준은 통신 버퍼(522)에서 데이터의 저장에 사용할 수 있는 영역의 크기를 설정하기 위한 기준과 관련된 정보를 포함할 수 있다. 일예로, 통신 버퍼(522)의 하한 기준은 어플리케이션 프로세서(510)에서 커뮤니케이션 프로세서(520)로의 데이터 전송이 중단된 상태에서 어플리케이션 프로세서(510)의 데이터 전송의 재개 시점을 판단하기 위한 기준과 관련된 정보를 포함할 수 있다.
도 9는 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼의 크기를 갱신하기 위한 흐름도(900)이다. 일 실시예에 따르면, 도 9의 동작들은 도 6의 동작 605의 이후에 발생 가능한 동작일 수 있다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 9의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 9를 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 동작 901에서, RLC 재전송 시간 및 전자 장치의 상향링크 전송 속도에 기반하여 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))의 상한 기준 및/또는 하한 기준을 설정(또는 조절)할 수 있다. 일 실시예에 따르면, 통신 버퍼(522)의 상한 기준은 전자 장치(500)의 상향링크 전송 속도에 기반하여 단위 시간(예: RLC 재전송 시간) 동안 전송 가능한 데이터의 크기보다 큰 값으로 설정될 수 있다. 일 실시예에 따르면, 통신 버퍼(522)의 하한 기준은 전자 장치(500)의 상향링크 전송 속도에 기반하여 단위 시간(예: RLC 재전송 시간) 동안 전송 가능한 데이터의 크기에 대응하는 값으로 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 903에서, 어플리케이션 프로세서(예: 도 5의 어플리케이션 프로세서(510))의 커널의 버퍼 상태를 확인할 수 있다. 일 실시예에 따르면, 어플리케이션 프로세서(510)의 커널의 버퍼는 어플리케이션 프로세서(510)에 할당된 메모리(예: 도 1의 휘발성 메모리(132)의 적어도 일부 영역 또는 별도의 메모리)에 포함된 버퍼를 의미할 수 있다. 일 실시예에 따르면, 커널의 버퍼 상태는 어플리케이션 프로세서(510)의 커널의 네트워크 스택(예: 도 1의 운영 체제(142))으로 유입되어 공유 메모리에 저장되는 데이터(또는 패킷)의 양을 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 905에서, 어플리케이션 프로세서(예: 도 5의 어플리케이션 프로세서(510))의 커널의 버퍼 상태에 기반하여 통신 버퍼(예: 도 5의 통신 버퍼(522))의 상한 기준 및/또는 하한 기준과 관련된 보상 값을 설정할 수 있다. 일예로, 보상 값은 커널의 네트워크 스택(예: 도 1의 운영 체제(142))으로 유입되어 공유 메모리에 저장되는 데이터의 양이 상대적으로 클수록 상대적으로 크게 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 907에서, 커널의 버퍼 상태에 기반하여 설정된 보상 값에 기반하여 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))의 상한 기준 및/또는 하한 기준을 갱신할 수 있다. 일 실시예에 따르면, 전자 장치(500)는 도 6의 동작 601 내지 동작 605와 같이, 커뮤니케이션 프로세서(520)의 통신 버퍼(522)의 크기를 동적으로 설정하여도 어플리케이션 프로세서(510)의 커널에 데이터가 누적되어 데이터의 전송 지연이 발생할 수 있다. 이에 따라, 전자 장치(500)는 어플리케이션 프로세서(510)의 커널의 버퍼 상태를 고려하여 커뮤니케이션 프로세서(520)의 통신 버퍼(522)의 크기를 갱신하여 네트워크로부터 할당받는 자원의 양을 증가시킴으로써, 데이터의 전송 지연을 줄일 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 어플리케이션 프로세서(510)의 커널의 버퍼 상태에 기반하여 보상 값을 선택적으로 설정할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)의 커널의 네트워크 스택(예: 도 1의 운영 체제(142))으로 유입되어 공유 메모리에 저장되는 데이터(또는 패킷)의 양이 지정된 제 4 조건을 만족하는 경우, 어플리케이션 프로세서(510)의 커널의 버퍼 상태에 기반하여 통신 버퍼(522)의 상한 기준 및/또는 하한 기준과 관련된 보상 값을 설정할 수 있다. 일예로, 지정된 제 4 조건의 만족은 커널의 네트워크 스택(예: 도 1의 운영 체제(142))으로 유입되어 공유 메모리에 저장되는 데이터(또는 패킷)의 양이 보상 값의 적용 여부를 판단하기 위해 설정된 기준 데이터 양을 초과하는 상태를 포함할 수 있다.
일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)의 커널의 네트워크 스택(예: 도 1의 운영 체제(142))으로 유입되어 공유 메모리에 저장되는 데이터(또는 패킷)의 양이 지정된 제 4 조건을 만족하지 않는 경우, 통신 버퍼(522)의 상한 기준 및 하한 기준을 유지하는 것으로 판단할 수 있다. 일예로, 지정된 제 4 조건을 만족하지 않는 상태는 커널의 네트워크 스택(예: 도 1의 운영 체제(142))으로 유입되어 공유 메모리에 저장되는 데이터(또는 패킷)의 양이 보상 값의 적용 여부를 판단하기 위해 설정된 기준 데이터 양 이하인 상태를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 커뮤니케이션 프로세서(520)의 통신 버퍼(522)의 크기 설정 시, 어플리케이션 프로세서(510)의 커널의 버퍼 상태에 기반한 보상 값을 적용할 수도 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 상향 링크 전송 속도, RLC 재전송 시간 및 커널의 버퍼 상태에 기반한 보상 값에 기반하여 통신 버퍼(522)의 상한 기준 및/또는 하한 기준을 설정할 수 있다.
도 10은 다양한 실시예에 따른 전자 장치에서 상향링크 데이터를 전송하기 위한 흐름도(1000)이다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 7의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 10을 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 동작 1001에서, 상향링크 데이터 전송을 위한 이벤트가 발생하는지 확인할 수 있다. 일 실시예에 따르면, 상향링크 데이터 전송을 위한 이벤트는 상향링크 데이터 전송과 관련된 사용자 입력 및/또는 전자 장치(500)에서 실행 중인 어플리케이션 프로그램에 기반하여 발생될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 상향링크로의 데이터 전송을 위한 이벤트가 발생하지 않은 경우(예: 동작 1001의 '아니오'), 상향링크 데이터의 전송을 위한 일 실시예를 종료할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 상향링크로의 데이터 전송을 위한 이벤트가 발생한 경우(예: 동작 1001의 '예'), 동작 1003에서, 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양(또는 크기)를 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양에 대응하는 BSI(buffer size index)를 확인할 수 있다. 예를 들어, 통신 버퍼(522)에 저장된 데이터의 양에 대응하는 BSI는 표 3(예: 3GPP TS 36.321 표준)과 같은 테이블에서 선택될 수 있다.
Index Buffer Size (BS) value [bytes] Index Buffer Size (BS) value [bytes]
0 BS = 0 32 4940 < BS <= 6074
1 0 < BS <= 10 33 6074 < BS <= 7469
2 10 < BS <= 13 34 7469 < BS <= 9185
3 13 < BS <= 16 35 9185 < BS <= 11294
4 16 < BS <= 19 36 11294 < BS <= 13888
5 19 < BS <= 23 37 13888 < BS <= 17077
6 23 < BS <= 29 38 17077 < BS <= 20999
7 29 < BS <= 35 39 20999 < BS <= 25822
8 35 < BS <= 43 40 25822 < BS <= 31752
9 43 < BS <= 53 41 31752 < BS <= 39045
10 53 < BS <= 65 42 39045 < BS <= 48012
11 65 < BS <= 80 43 48012 < BS <= 59039
12 80 < BS <= 98 44 59039 < BS <= 72598
13 98 < BS <= 120 45 72598 < BS <= 89272
14 120 < BS <= 147 46 89272 < BS <= 109774
15 147 < BS <= 181 47 109774 < BS <= 134986
16 181 < BS <= 223 48 134986 < BS <= 165989
17 223 < BS <= 274 49 165989 < BS <= 204111
18 274 < BS <= 337 50 204111 < BS <= 250990
19 337 < BS <= 414 51 250990 < BS <= 308634
20 414 < BS <= 509 52 308634 < BS <= 379519
21 509 < BS <= 625 53 379519 < BS <= 466683
22 625 < BS <= 769 54 466683 < BS <= 573866
23 769 < BS <= 945 55 573866 < BS <= 705666
24 945 < BS <= 1162 56 705666 < BS <= 867737
25 1162 < BS <= 1429 57 867737 < BS <= 1067031
26 1429 < BS <= 1757 58 1067031 < BS <= 1312097
27 1757 < BS <= 2161 59 1312097 < BS <= 1613447
28 2161 < BS <= 2657 60 1613447 < BS <= 1984009
29 2657 < BS <= 3267 61 1984009 < BS <= 2439678
30 3267 < BS <= 4017 62 2439678 < BS <= 3000000
31 4017 < BS <=4940 63 BS > 3000000
예를 들어, 통신 버퍼(522)에 저장된 데이터의 양에 대응하는 BSI는 통신 버퍼(522)에 저장된 데이터의 양이 82 바이트인 경우, '12'로 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 1005에서, 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양과 관련된 정보를 네트워크로 전송할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터의 양에 대응하는 BSI를 포함하는 버퍼 상태 보고 메시지(BSR: buffer status report)를 네트워크로 전송할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 1007에서, 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양과 관련된 정보에 대한 응답으로 네트워크로부터 상향링크 데이터 전송과 관련된 정보가 수신되는지 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 버퍼 상태 보고 메시지에 대한 응답으로 네트워크로부터 상향링크 승인 메시지(uplink grant)가 수신되는지 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 네트워크로부터 상향링크 데이터 전송과 관련된 정보가 수신되지 않는 경우(예: 동작 1007의 '아니오'), 상향링크 데이터의 전송을 위한 일 실시예를 종료할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 네트워크로부터 상향링크 데이터 전송과 관련된 정보를 수신한 경우(예: 동작 1007의 '예'), 동작 1009에서, 커뮤니케이션 프로세서(예: 도 5의 커뮤니케이션 프로세서(520))의 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터를 네트워크로 전송할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 네트워크로부터 수신한 상향링크 승인 메시지(uplink grant)에서 네트워크로부터 할당된 상향링크 데이터 전송을 위한 자원을 확인할 수 있다. 커뮤니케이션 프로세서(520)는 네트워크로부터 할당받은 자원을 통해 통신 버퍼(522)에 저장된 데이터를 전송하도록 무선 통신 회로(530)를 제어할 수 있다.
도 11은 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼를 운용하기 위한 흐름도(1100)이다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 11의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 11을 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 5의 전자 장치(500))의 커뮤니케이션 프로세서(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 동작 1101에서, 어플리케이션 프로세서(예: 도 5의 어플리케이션 프로세서(510))로부터 데이터(또는 패킷)를 수신할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)로부터 수신한 데이터를 통신 버퍼(522)에 저장할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 1103에서, 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 상한 기준을 만족하는지 확인할 수 있다. 일 실시예에 따르면, 통신 버퍼(522)의 상한 기준은 통신 버퍼(522)의 크기를 설정하기 위한 기준으로 도 6의 동작 601 내지 동작 605와 같이, RLC 재전송 시간 및 전자 장치의 상향링크 전송 속도에 기반하여 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 상한 기준을 만족하지 않는 경우(예: 동작 1103의 '아니오'), 동작 1101에서, 어플리케이션 프로세서(510)로부터 수신한 데이터를 통신 버퍼(522)에 저장할 수 있다. 예를 들어, 상한 기준을 만족하지 않는 상태는 통신 버퍼(522)에 저장된 데이터의 양이 상한 기준으로 설정된 값보다 작은 상태를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 상한 기준을 만족하는 경우(예: 동작 1103의 '예'), 동작 1105에서, 데이터의 전송 제한 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 일 실시예에 따르면, 어플리케이션 프로세서(510)는 커뮤니케이션 프로세서(520)로부터 수신한 데이터의 전송 제한 정보에 기반하여 커뮤니케이션 프로세서(520)로의 데이터 전송을 중단할 수 있다. 일예로, 어플리케이션 프로세서(510)는 커뮤니케이션 프로세서(520)로의 데이터 전송이 제한된 경우, 커뮤니케이션 프로세서(520)로 전송하기 위한 데이터를 메모리(예: 공유 메모리(shard memory))에 저장할 수 있다. 예를 들어, 상한 기준의 만족은 통신 버퍼(522)에 저장된 데이터의 양이 상한 기준으로 설정된 값 이상인 상태를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 데이터의 전송 제한 정보를 어플리케이션 프로세서(510)로 전송한 경우(예: 동작 1105), 동작 1107에서, 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 하한 기준을 만족하는지 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 통신 버퍼(522)에 저장된 데이터를 네트워크로 전송하도록 무선 통신 회로(530)를 제어할 수 있다. 예를 들어, 네트워크로 전송된 데이터는 통신 버퍼(522)에서 제거될 수 있다. 이에 따라, 커뮤니케이션 프로세서(520)는 네트워크로의 데이터 전송에 기반하여 통신 버퍼(522)에 저장된 데이터의 양이 통신 버퍼(522)의 하한 기준을 만족하는지 확인할 수 있다. 예를 들어, 통신 버퍼(522)의 하한 기준은 도 6의 동작 601 내지 동작 605와 같이, RLC 재전송 시간 및 전자 장치의 상향링크 전송 속도에 기반하여 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 하한 기준을 만족하지 않는 경우(예: 동작 1107의 '아니오'), 동작 1107에서, 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 하한 기준을 만족하는지 확인할 수 있다. 예를 들어, 하한 기준을 만족하지 않는 상태는 통신 버퍼(522)에 저장된 데이터의 양이 하한 기준으로 설정된 값을 초과하는 상태를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 하한 기준을 만족하는 경우(예: 동작 1107의 '예'), 동작 1109에서, 데이터의 전송 재개 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 데이터의 전송 재개 정보에 기반하여 어플리케이션 프로세서(510)로부터 수신한 데이터를 통신 버퍼(522)에 저장할 수 있다. 예를 들어, 하한 기준의 만족은 통신 버퍼(522)에 저장된 데이터의 양이 하한 기준으로 설정된 값 이하인 상태를 포함할 수 있다.
도 12는 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼로의 데이터 전송을 제한하기 위한 흐름도(1200)이다. 일 실시예에 따르면, 도 12의 동작들은 도 11의 동작 1103의 상세한 동작일 수 있다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 12의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 12를 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 5의 전자 장치(500))의 커뮤니케이션 프로세서(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 동작 1201에서, 어플리케이션 프로세서(예: 도 5의 어플리케이션 프로세서(510))로부터의 데이터 수신 속도를 확인할 수 있다. 예를 들어, 데이터 수신 속도는 지정된 시간 동안 어플리케이션 프로세서(510)로부터 수신되는 데이터의 양에 기반하여 획득될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 1203에서, 어플리케이션 프로세서(예: 어플리케이션 프로세서(510))로부터의 데이터 수신 속도가 지정된 제 2 조건을 만족하는지 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 어플리케이션 프로세서(예: 어플리케이션 프로세서(510))로부터의 데이터 수신 속도가 지정된 제 2 조건을 만족하는 경우(예: 동작 1203의 '예'), 동작 1205에서, 데이터의 전송 제한 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 일 실시예에 따르면, 어플리케이션 프로세서(510)는 커뮤니케이션 프로세서(520)로부터 수신한 데이터의 전송 제한 정보에 기반하여 커뮤니케이션 프로세서(520)로의 데이터 전송을 중단할 수 있다. 예를 들어, 지정된 제 2 조건의 만족은 어플리케이션 프로세서(510)로부터의 데이터 수신 속도가 전자 장치(500)의 상향링크 전송 속도를 초과하는 상태를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 어플리케이션 프로세서(예: 어플리케이션 프로세서(510))로부터의 데이터 수신 속도가 지정된 제 2 조건을 만족하지 않는 경우(예: 동작 1203의 '아니오'), 동작 1207에서, 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 상한 기준을 만족하는지 확인할 수 있다. 일 실시예에 따르면, 통신 버퍼(522)의 상한 기준은 RLC 재전송 시간 및 전자 장치의 상향링크 전송 속도에 기반하여 설정될 수 있다
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 상한 기준을 만족하지 않는 경우(예: 동작 1207의 '아니오'), 동작 1201에서, 어플리케이션 프로세서(예: 도 5의 어플리케이션 프로세서(510))로부터의 데이터 수신 속도를 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 상한 기준을 만족하는 경우(예: 동작 1207의 '예'), 동작 1205에서, 데이터의 전송 제한 정보를 어플리케이션 프로세서(510)로 전송할 수 있다.
다양한 실시예에 따르면, 커뮤니케이션 프로세서(520)는 네트워크로 전송되는 데이터의 양보다 어플리케이션 프로세서(510)로부터 유입되는 데이터의 양이 상대적으로 많은 경우, 통신 버퍼(522)에 누적되는 데이터의 양이 증가할 수 있다. 이에 따라, 커뮤니케이션 프로세서(520)는 어플리케이션 프로세서(510)로부터의 데이터 수신 속도에 기반하여 어플리케이션 프로세서(510)의 데이터 전송을 제한하여 통신 버퍼(522)에 의한 전송 지연을 줄일 수 있다.
도 13은 다양한 실시예에 따른 전자 장치에서 커뮤니케이션 프로세서의 통신 버퍼로의 데이터 전송을 재개하기 위한 흐름도(1300)이다. 일 실시예에 따르면, 도 13의 동작들은 도 11의 동작 1107의 상세한 동작일 수 있다. 이하 실시예에서 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 일예로, 도 13의 전자 장치는 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500)일 수 있다.
도 13을 참조하면, 다양한 실시예에 따르면, 전자 장치(예: 도 5의 전자 장치(500))의 커뮤니케이션 프로세서(예: 도 1의 프로세서(120) 또는 도 5의 커뮤니케이션 프로세서(520))는 데이터의 전송 제한 정보를 어플리케이션 프로세서(510)로 전송한 경우(예: 도 11의 동작 1105), 동작 1301에서, RLC 버퍼의 점유율을 확인할 수 있다. 예를 들어, RLC 버퍼의 데이터 점유율은 기준 시간 또는 기준 횟수 동안 검출한 RLC 버퍼의 데이터 점유율의 평균 또는 RLC 버퍼의 데이터 점유율의 표준 편차를 포함할 수 있다. 일예로, RLC 버퍼는 RLC 계층에서 전송 데이터를 일시적으로 저장하는 전송 버퍼를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 동작 1303에서, RLC 버퍼의 점유율이 지정된 제 3 조건을 만족하는지 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 RLC 버퍼의 점유율이 지정된 제 3 조건을 만족하는 경우(예: 동작 1303의 '예'), 동작 1305에서, 데이터의 전송 재개 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 데이터의 전송 재개 정보에 기반하여 어플리케이션 프로세서(510)로부터 수신한 데이터를 통신 버퍼(522)에 저장할 수 있다. 일예로, 지정된 제 3 조건의 만족은 RLC 버퍼의 데이터 점유율이 상대적으로 낮아지는 상태를 포함할 수 있다. 다른 일예로, 지정된 제 3 조건의 만족은 RLC 버퍼의 데이터 점유율의 표준 편차가 상대적으로 크게 발생되는 상태를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 RLC 버퍼의 점유율이 지정된 제 3 조건을 만족하지 않는 경우(예: 동작 1303의 '아니오'), 동작 1307에서, 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 통신 버퍼의 하한 기준을 만족하는지 확인할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 네트워크로의 데이터 전송에 기반하여 통신 버퍼(522)에 저장된 데이터의 양이 통신 버퍼(522)의 하한 기준을 만족하는지 확인할 수 있다. 예를 들어, 통신 버퍼(522)의 하한 기준은 RLC 재전송 시간 및 전자 장치의 상향링크 전송 속도에 기반하여 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 하한 기준을 만족하지 않는 경우(예: 동작 1307의 '아니오'), 동작 1301에서, RLC 버퍼의 점유율을 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 전자 장치(500))의 커뮤니케이션 프로세서(예: 프로세서(120) 또는 커뮤니케이션 프로세서(520))는 통신 버퍼(예: 도 5의 통신 버퍼(522))에 저장된 데이터의 양이 하한 기준을 만족하는 경우(예: 동작 1307의 '예'), 동작 1305에서, 데이터의 전송 재개 정보를 어플리케이션 프로세서(510)로 전송할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세서(520)는 데이터의 전송 재개 정보에 기반하여 어플리케이션 프로세서(510)로부터 수신한 데이터를 통신 버퍼(522)에 저장할 수 있다.
다양한 실시예에 따르면, 전자 장치(500)는 어플리케이션 프로세서(510)에서의 데이터 전송이 제한되고, 통신 버퍼(522)에 저장된 데이터의 양이 하한 기준을 만족하지 않는 경우, RLC 버퍼에 데이터가 누적되어 RLC 버퍼에 점유율에 의해 상향링크 전송 속도의 열화가 발생할 수 있다. 예를 들어, 전자 장치(500)는 통신 버퍼(522)에 저장된 데이터의 양이 하한 기준을 만족하지 않는 상태에서 RLC 버퍼의 점유율이 지정된 수준(예: 기준 점유율)을 유지하지 못하는 경우, 통신 버퍼(522)의 크기에 대응하는 BSI가 네트워크로 균등하게 보고되지 않아 상향링크 전송 속도가 저하될 수 있다. 이에 따라, 전자 장치(500)는 통신 버퍼(522)에 저장된 데이터의 양이 하한 기준을 만족하지 않는 상태에서 RLC 버퍼에 점유율에 기반하여 어플리케이션 프로세서(510)의 데이터 전송을 재개하여 RLC 버퍼에 의한 상향 링크 전송 속도의 열화를 줄일 수 있다. 일예로, 지정된 제 3 조건은 RLC 버퍼의 점유율이 지정된 수준을 유지하는지 여부를 판단하기 위한 정보를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 도 1, 도 2, 도 3, 도 4a, 도 4b 또는 도 4c의 전자 장치(101) 또는 도 5의 전자 장치(500))의 동작 방법은, 통신 버퍼(예: 도 5의 통신 버퍼(522))를 포함하는 커뮤니케이션 프로세서(예: 도 1의 보조 프로세서(123) 또는 도 5의 커뮤니케이션 프로세서(520))에서, RLC(radio link control) 재전송 시간을 확인하는 동작과 상향링크 전송 속도를 확인하는 동작, 및 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 RLC 재전송 시간은, RRC(radio resource control) 제어 메시지에서 획득될 수 있다.
다양한 실시예에 따르면, 상기 RLC 재전송 시간을 확인하는 동작은, 제 1 무선 통신 및 제 2 무선 통신의 이중 접속을 지원하는 경우, 상향링크 데이터의 크기를 확인하는 동작과 상기 상향링크 데이터의 크기가 지정된 제 1 조건을 만족하는 경우, 제 1 무선 통신의 제 1 RLC 재전송 시간 및 제 2 무선 통신의 제 2 RLC 재전송 시간을 확인하는 동작, 및 상기 제 1 RLC 재전송 시간 및 상기 제 2 RLC 재전송 시간에 기반하여 상기 RLC 재전송 시간을 설정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 RLC 재전송 시간을 설정하는 동작은, 상기 제 1 RLC 재전송 시간 및 상기 제 2 RLC 재전송 시간 중 큰 값을 상기 RLC 재전송 시간으로 선택하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 상향링크 전송 속도는, 지정된 시간 동안 상향링크를 통해 전송된 PDU(protocol data unit)의 개수 또는 PDU의 크기에 기반하여 추정될 수 있다.
다양한 실시예에 따르면, 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정하는 동작은, 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼의 상한 기준 또는 하한 기준 중 적어도 하나를 설정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 통신 버퍼에 저장된 데이터의 양이 상기 상한 기준을 만족하는 경우, 데이터 전송 제한과 관련된 정보를 어플리케이션 프로세서로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 통신 버퍼에 저장된 데이터의 양이 상기 상한 기준을 만족하지 않는 경우, 상기 어플리케이션 프로세서로부터의 데이터 수신 속도를 확인하는 동작, 및 상기 데이터 수신 속도가 지정된 제 2 조건을 만족하는 경우, 데이터 전송 제한과 관련된 정보를 상기 어플리케이션 프로세서로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 어플리케이션 프로세서의 데이터 전송이 제한된 상태에서 상기 통신 버퍼에 저장된 데이터의 양이 상기 하한 기준을 만족하는 경우, 데이터 전송 재개와 관련된 정보를 상기 어플리케이션 프로세서로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 어플리케이션 프로세서의 데이터 전송이 제한된 상태에서 상기 통신 버퍼에 저장된 데이터의 양이 상기 하한 기준을 만족하지 않는 경우, RLC 버퍼의 데이터 점유율을 확인하는 동작, 및 상기 RLC 버퍼의 데이터 점유율이 지정된 제 3 조건을 만족하는 경우, 데이터 전송 재개와 관련된 정보를 상기 어플리케이션 프로세서로 전송하는 동작을 더 포함할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시예는 본 발명의 실시예에 따른 기술 내용을 쉽게 설명하고 본 발명의 실시예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시예의 범위는 여기에 개시된 실시예 이외에도 본 발명의 다양한 실시예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    무선 통신 회로;
    어플리케이션 프로세서; 및
    상기 무선 통신 회로 및 상기 어플리케이션 프로세서와 작동적으로 연결되고, 통신 버퍼를 포함하는 커뮤니케이션 프로세서를 포함하고,
    상기 커뮤니케이션 프로세서는,
    RLC(radio link control) 재전송 시간을 확인하고,
    상향링크 전송 속도를 확인하고,
    상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정하는 전자 장치.
  2. 제 1항에 있어서,
    상기 커뮤니케이션 프로세서는, RRC(radio resource control) 제어 메시지에서 상기 RLC 재전송 시간을 획득하는 전자 장치.
  3. 제 1항에 있어서,
    상기 커뮤니케이션 프로세서는, 제 1 무선 통신 및 제 2 무선 통신의 이중 접속을 지원하는 경우, 상향링크 데이터의 크기를 확인하고,
    상기 상향링크 데이터의 크기가 지정된 제 1 조건을 만족하는 경우, 제 1 무선 통신의 제 1 RLC 재전송 시간 및 제 2 무선 통신의 제 2 RLC 재전송 시간을 확인하고,
    상기 제 1 RLC 재전송 시간 및 상기 제 2 RLC 재전송 시간 중 큰 값을 기준 RLC 재전송 시간으로 선택하는 전자 장치.
  4. 제 3항에 있어서,
    상기 커뮤니케이션 프로세서는, 상기 기준 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정하는 전자 장치.
  5. 제 1항에 있어서,
    상기 커뮤니케이션 프로세서는, 지정된 시간 동안 상향링크를 통해 전송된 PDU(protocol data unit)의 개수 또는 PDU의 크기에 기반하여 상기 상향링크 전송 속도를 추정하는 전자 장치.
  6. 제 1항에 있어서,
    상기 커뮤니케이션 프로세서는, 상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼의 상한 기준 또는 하한 기준 중 적어도 하나를 설정하는 전자 장치.
  7. 제 6항에 있어서,
    상기 커뮤니케이션 프로세서는, 상기 통신 버퍼에 저장된 데이터의 양이 상기 상한 기준을 만족하는 경우, 데이터 전송 제한과 관련된 정보를 상기 어플리케이션 프로세서로 전송하는 전자 장치.
  8. 제 7항에 있어서,
    상기 커뮤니케이션 프로세서는, 상기 통신 버퍼에 저장된 데이터의 양이 상기 상한 기준을 만족하지 않는 경우, 상기 어플리케이션 프로세서로부터의 데이터 수신 속도를 확인하고,
    상기 데이터 수신 속도가 지정된 제 2 조건을 만족하는 경우, 데이터 전송 제한과 관련된 정보를 상기 어플리케이션 프로세서로 전송하는 전자 장치.
  9. 제 7항에 있어서,
    상기 커뮤니케이션 프로세서는, 상기 어플리케이션 프로세서의 데이터 전송이 제한된 상태에서 상기 통신 버퍼에 저장된 데이터의 양이 상기 하한 기준을 만족하는 경우, 데이터 전송 재개와 관련된 정보를 상기 어플리케이션 프로세서로 전송하는 전자 장치.
  10. 제 9항에 있어서,
    상기 커뮤니케이션 프로세서는, 상기 어플리케이션 프로세서의 데이터 전송이 제한된 상태에서 상기 통신 버퍼에 저장된 데이터의 양이 상기 하한 기준을 만족하지 않는 경우, RLC 버퍼의 데이터 점유율을 확인하고,
    상기 RLC 버퍼의 데이터 점유율이 지정된 제 3 조건을 만족하는 경우, 데이터 전송 재개와 관련된 정보를 상기 어플리케이션 프로세서로 전송하는 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    통신 버퍼를 포함하는 커뮤니케이션 프로세서에서, RLC(radio link control) 재전송 시간을 확인하는 동작,
    상향링크 전송 속도를 확인하는 동작, 및
    상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정하는 동작을 포함하는 방법.
  12. 제 11항에 있어서,
    상기 RLC 재전송 시간을 확인하는 동작은,
    제 1 무선 통신 및 제 2 무선 통신의 이중 접속을 지원하는 경우, 상향링크 데이터의 크기를 확인하는 동작,
    상기 상향링크 데이터의 크기가 지정된 제 1 조건을 만족하는 경우, 제 1 무선 통신의 제 1 RLC 재전송 시간 및 제 2 무선 통신의 제 2 RLC 재전송 시간을 확인하는 동작, 및
    상기 제 1 RLC 재전송 시간 및 상기 제 2 RLC 재전송 시간에 기반하여 상기 RLC 재전송 시간을 설정하는 동작을 포함하는 방법.
  13. 제 12항에 있어서,
    상기 RLC 재전송 시간을 설정하는 동작은, 상기 제 1 RLC 재전송 시간 및 상기 제 2 RLC 재전송 시간 중 큰 값을 상기 RLC 재전송 시간으로 선택하는 동작을 포함하는 방법.
  14. 제 11항에 있어서,
    상기 상향링크 전송 속도는, 지정된 시간 동안 상향링크를 통해 전송된 PDU(protocol data unit)의 개수 또는 PDU의 크기에 기반하여 추정되는 방법.
  15. 제 11항에 있어서,
    상기 통신 버퍼에서 데이터의 저장을 위한 영역의 크기를 설정하는 동작은,
    상기 RLC 재전송 시간 및 상기 상향링크 전송 속도에 기반하여 상기 통신 버퍼의 상한 기준 또는 하한 기준 중 적어도 하나를 설정하는 동작을 포함하는 방법.
PCT/KR2021/013646 2020-10-08 2021-10-06 통신 버퍼를 관리하기 위한 전자 장치 및 그의 동작 방법 WO2022075716A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/519,818 US11824663B2 (en) 2020-10-08 2021-11-05 Electronic device managing communication buffer and operating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0130581 2020-10-08
KR1020200130581A KR20220047084A (ko) 2020-10-08 2020-10-08 통신 버퍼를 관리하기 위한 전자 장치 및 그의 동작 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/519,818 Continuation US11824663B2 (en) 2020-10-08 2021-11-05 Electronic device managing communication buffer and operating method thereof

Publications (1)

Publication Number Publication Date
WO2022075716A1 true WO2022075716A1 (ko) 2022-04-14

Family

ID=81126997

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/013646 WO2022075716A1 (ko) 2020-10-08 2021-10-06 통신 버퍼를 관리하기 위한 전자 장치 및 그의 동작 방법

Country Status (2)

Country Link
KR (1) KR20220047084A (ko)
WO (1) WO2022075716A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080086399A (ko) * 2007-03-21 2008-09-25 엘지전자 주식회사 무선 통신 시스템에서의 데이터 전송 방법
KR20150129294A (ko) * 2014-05-09 2015-11-19 한국전자통신연구원 단말간 직접통신의 무선자원 할당 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080086399A (ko) * 2007-03-21 2008-09-25 엘지전자 주식회사 무선 통신 시스템에서의 데이터 전송 방법
KR20150129294A (ko) * 2014-05-09 2015-11-19 한국전자통신연구원 단말간 직접통신의 무선자원 할당 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ERICSSON: "HARQ Buffer Flushing", 3GPP DRAFT; R2-1808133 - HARQ BUFFER FLUSHING, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG2, no. Busan, Republic of Korea; 20180521 - 20180525, 10 May 2018 (2018-05-10), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051519542 *
INTERDIGITAL (RAPPORTEUR): "Report on email discussion on [108#99][V2X] HARQ based TX side RLM/RLF", 3GPP DRAFT; R2-2002074, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG2, no. 20200224 - 20200306, 19 February 2020 (2020-02-19), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051849987 *
NTT DOCOMO, INC.: "Discussion on polling for empty buffer scenario", 3GPP DRAFT; R2-1806033_POLLING TRIGGER FOR EMPTY BUFFER, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG2, no. Sanya, China; 20180416 - 20180420, 6 April 2018 (2018-04-06), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051416370 *

Also Published As

Publication number Publication date
KR20220047084A (ko) 2022-04-15

Similar Documents

Publication Publication Date Title
WO2020141852A1 (ko) 무선 통신 시스템에서 전자 장치의 송신 전력 제어 장치 및 방법
WO2022065786A1 (ko) 듀얼 심을 지원하는 전자 장치 및 전자 장치의 셀룰러 통신 전환 방법
WO2022114485A1 (ko) 긴급 호를 수행하기 위한 기지국을 선택하는 전자 장치 및 전자 장치의 동작 방법
WO2022092824A1 (ko) 캐리어 네트워크를 이용하는 전자 장치 및 그 동작 방법
WO2021020804A1 (ko) 듀얼 커넥티비티를 지원하는 전자 장치 및 그 동작 방법
WO2021091133A1 (en) Electronic device supporting dual-connectivity and method for operating the same
WO2022177229A2 (ko) 전자 장치 및 복수 심을 지원하는 전자 장치에서 통신 네트워크에 등록하는 방법
WO2022092707A1 (ko) 복수의 가입자 식별 모듈을 포함하는 사용자 단말
WO2022075716A1 (ko) 통신 버퍼를 관리하기 위한 전자 장치 및 그의 동작 방법
WO2021049794A1 (ko) 전력 및/또는 발열 제어를 구현하는 방법 및 그 전자 장치
WO2022215842A1 (ko) C-drx를 지원하는 통신 회로를 제어하는 전자 장치 및 전자 장치의 동작 방법
WO2022265202A1 (ko) 통화 기능을 제공하기 위한 전자 장치 및 그의 동작 방법
WO2021201470A1 (ko) 이중 접속을 제어하기 위한 전자 장치 및 그의 동작 방법
WO2022080732A1 (ko) 복수의 가입자 식별 모듈을 포함하는 전자 장치 및 그의 동작 방법
WO2022065787A1 (ko) 상향 링크 채널의 상태에 기반하여 상향 링크를 선택하는 전자 장치 및 전자 장치의 동작 방법
WO2024034777A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2023286978A1 (ko) 조건부 핸드오버를 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2024025155A1 (ko) 채널 측정을 위한 전자 장치 및 그의 동작 방법
WO2022196898A1 (ko) 통신의 품질을 측정하는 전자 장치 및 전자 장치의 동작 방법
WO2022014956A1 (ko) 이중 접속을 제어하기 위한 전자 장치 및 그의 동작 방법
WO2022145725A1 (ko) 복수의 가입자 식별 모듈을 포함하는 전자 장치 및 그의 동작 방법
WO2023195778A1 (ko) 듀얼 커넥티비티를 지원하는 전자 장치 및 그 동작 방법
WO2022055259A1 (ko) 전자 장치의 상태에 기반하여 핸드오버를 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2021060732A1 (en) Electronic device for receiving paging message and operation method thereof
WO2023017950A1 (ko) Ss/pbch 블록 및 데이터의 수신 간격에 기반하여 통신 회로를 제어하는 전자 장치 및 전자 장치의 동작 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21877967

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21877967

Country of ref document: EP

Kind code of ref document: A1