KR20150048530A - Mobile terminal and data transmit method for the mobile terminal - Google Patents

Mobile terminal and data transmit method for the mobile terminal Download PDF

Info

Publication number
KR20150048530A
KR20150048530A KR1020130128721A KR20130128721A KR20150048530A KR 20150048530 A KR20150048530 A KR 20150048530A KR 1020130128721 A KR1020130128721 A KR 1020130128721A KR 20130128721 A KR20130128721 A KR 20130128721A KR 20150048530 A KR20150048530 A KR 20150048530A
Authority
KR
South Korea
Prior art keywords
segments
size
available buffer
mobile terminal
data
Prior art date
Application number
KR1020130128721A
Other languages
Korean (ko)
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 KR1020130128721A priority Critical patent/KR20150048530A/en
Publication of KR20150048530A publication Critical patent/KR20150048530A/en

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/0278Traffic management, e.g. flow control or congestion control using buffer status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • 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

Abstract

The present invention relates to a mobile terminal for transmitting and receiving data on a segment basis, and a data transmission method for the mobile terminal, comprising a buffer for temporarily storing segments to be transmitted among data segmented by segments, A wireless communication unit that transmits the segments to be transmitted to a destination terminal, and a wireless communication unit that determines the number of first transmittable segments based on the confirmation data received from the destination terminal, And a control unit for checking the number of second transmittable segments based on the data exchange state of the nodes, wherein the control unit checks an available buffer size of the buffering unit, which is determined according to the amount of pre-stored segments, The number of first transmittable segments and the phase Determines the number of segments that can be transmitted together using the second number of transmittable segments, and stores transmission target segments corresponding to the determined number of segments in the buffering unit.

Description

TECHNICAL FIELD [0001] The present invention relates to a mobile terminal and a method for transmitting data of the mobile terminal.

The present invention relates to a mobile terminal for transmitting and receiving data on a segment-by-segment basis, and a data transmission method for the mobile terminal.

The data transmission speed of the mobile terminal is increasing exponentially according to the development of technology and the needs of users. Thus, there is a tremendous amount of data exchange on the network over the past.

However, if more data is received than the amount of data that can be processed in the network where the data is exchanged, loss of data may occur. In order to maintain the reliability of data transmission, a variety of algorithms such as a flow control algorithm and a congestion control algorithm have emerged since reliable transmission can not be performed when such data loss occurs. Currently, research is actively carried out to maintain both data transmission speed and reliability of data transmission.

It is an object of the present invention to provide a mobile terminal capable of minimizing a decrease in data transmission speed caused by flow control or congestion control and a data transmission method for the mobile terminal.

It is another object of the present invention to provide a mobile terminal and a data transmission method of the mobile terminal, which can improve the data transmission speed of the mobile terminal without any extra cost or time wasted due to design changes.

A mobile terminal according to an embodiment of the present invention includes a buffer for temporarily storing transmission target segments among data segmented by a segment, a wireless communication unit for transmitting the transmission target segments to a destination terminal, Determining a number of first transmittable segments based on the acknowledgment data received from the destination terminal and determining a number of second transmittable segments based on the data exchange status of the intermediate nodes on the network path via the segments from the acknowledgment data Wherein the control unit checks the available buffer size of the buffering unit, which is determined according to the amount of pre-stored segments, and determines the available buffer size and the number of the first transmittable segments and the second transmittable segment And a control unit for determining the number of segments that can be transmitted together using the number of transmission segments and storing transmission target segments corresponding to the determined number of segments in the buffering unit.

In one embodiment, the controller compares the number of segments that can be stored in the buffering unit with the number of the second transmittable segments according to the size of the available buffer, And the number of segments that can be transmitted together is determined according to a smaller value by comparing the number of updated first transmittable segments with the number of updated second transmittable segments.

In one embodiment, the controller may further determine the number of segments that can be transmitted together by further reflecting the number of the intermediate nodes or the type of application driven in the mobile terminal.

In one embodiment, the controller selects at least a portion of the available buffer based on the number of the connected intermediate nodes or the type of the running application, and determines the number of segments that can be stored in at least a portion of the available buffer, The number of first transmittable segments and the number of second transmittable segments are compared to determine the number of transmittable segments together.

In one embodiment, the controller selects at least a portion of the available buffer according to a different predetermined ratio according to the type of the application being driven.

In one embodiment, the control unit may select at least a portion of the available buffer based on a ratio of the number of segments that can be stored in the buffering unit and the number of connected intermediate nodes according to the size of the available buffer .

In one embodiment, the control unit selects at least a portion of the available buffer based on subscriber information corresponding to the mobile terminal, and determines the number of segments that can be stored in at least a portion of the available buffer, And the number of segments that can be transmitted together is determined by comparing the number of segments and the number of second transmittable segments.

In one embodiment, the control unit may determine the number of segments that can be transmitted together for each of the acknowledgment data received in one round trip time (RTT), and determine the number of segments corresponding to the minimum of the determined number of segments And the transmission target segments are stored in the buffering unit.

A method for transmitting data to a destination terminal on a segment basis in a mobile terminal according to an embodiment of the present invention includes receiving at least one confirmation data from the destination terminal, Determining a number of first transmittable segments based on a congestion state of a network path for transmitting the segments and a second transmittable segment number based on a data exchange state of intermediate nodes via the segments, Checking an available buffer size of the buffering unit, which is determined according to an amount of a pre-stored segment, from a buffering unit provided in the terminal; and checking the available buffer size and the number of the first transmittable segments, The number of segments that can be transmitted together is determined Storing step, and the transmission target segment corresponding to a transmittable segment number with which the buffering unit, and characterized in that it comprises a step in which they transmit the transmission target segment stored in the buffering unit.

In one embodiment, the step of determining the number of segments that can be transmitted together is characterized by determining the number of segments that can be transmitted together based on Equation (1).

Figure pat00001

here,

The Swnd is the number of segments that can be transmitted together,

The Cwnd is the number of the first transmittable segments determined based on the confirmation data,

The updated Awnd is a smaller value among the number of second transmittable segments included in the acknowledgment data and the number of segments that can be stored in the buffering unit according to the available buffer size.

In one embodiment, the step of determining the number of segments that can be transmitted together includes selecting at least a portion of the available buffer, checking the number of segments that can be stored in at least a portion of the available buffer, And comparing the number of segments that can be stored in at least a portion of the available buffer with the number of first transmittable segments and the number of second transmittable segments to determine the number of transmittable segments together.

In one embodiment, the step of selecting at least a portion of the available buffer includes the steps of: checking an application currently running in the mobile terminal; checking a predetermined allocation ratio according to the application; And selecting at least a part of the available buffer based on the allocation ratio.

In one embodiment, the step of selecting at least a portion of the available buffer may include the steps of: checking the number of intermediate nodes connected to the mobile terminal; and determining the number of segments that can be stored in the buffering unit according to the size of the available buffer And selecting at least a portion of the available buffer based on a ratio of the number of segments that can be stored in the buffering unit and the number of connected intermediate nodes according to the size of the available buffer .

In one embodiment, the step of selecting at least a portion of the available buffer comprises the steps of: checking subscriber information of the mobile terminal; checking a predetermined allocation ratio based on the subscriber information; And selecting at least a portion of the available buffer based on the available buffer.

In one embodiment, the step of transmitting segments to be transmitted comprises: determining the number of segments that can be transmitted together for each of the acknowledgment data received in one round trip time (RTT) Selecting a minimum value by comparing the determined number of segments, storing transmission target segments corresponding to the minimum value in the buffering unit, and transmitting the transmission target segments stored in the buffering unit to the destination terminal .

A mobile terminal and a method for transmitting data of the mobile terminal according to an embodiment of the present invention prevent an overflow phenomenon due to loss of data to minimize the frequency of occurrence of congestion control or flow control, Thereby preventing a decrease in speed.

The mobile terminal and the data transmission method of the mobile terminal according to an embodiment of the present invention can adjust the amount of data transmitted from the transmitting terminal in consideration of the size of the available buffer, .

1 is a block diagram illustrating a mobile terminal according to an embodiment of the present invention.
2 is a conceptual diagram illustrating an operation procedure of a mobile terminal and a server according to an embodiment of the present invention.
3 is a flowchart illustrating a method of controlling a mobile terminal according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a method for determining the number of simultaneous transmission segments in a mobile terminal according to an exemplary embodiment of the present invention.
5 is a flowchart illustrating an example of determining the number of transmission segments by adjusting the size of an available buffer in a mobile terminal according to an exemplary embodiment of the present invention.
FIG. 6 is a flowchart illustrating an embodiment of allocating an available buffer allocation ratio based on subscriber information in a mobile terminal according to an embodiment of the present invention.
FIG. 7 is a flowchart for explaining an embodiment for determining the number of transmission segments by collecting a plurality of pieces of confirmation data in a mobile terminal according to an embodiment of the present invention.
8 is a conceptual diagram illustrating an example in which the number of concurrent transmission segments is changed according to the size of an available buffer in a mobile terminal according to an embodiment of the present invention.
FIGS. 9A and 9B are conceptual diagrams for illustrating improvement of data transmission speed in a mobile terminal according to an embodiment of the present invention.

Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to the same or similar elements, and redundant description thereof will be omitted. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role. In the following description of the embodiments of the present invention, a detailed description of related arts will be omitted when it is determined that the gist of the embodiments disclosed herein may be blurred. In addition, it should be noted that the attached drawings are only for easy understanding of the embodiments disclosed in the present specification, and should not be construed as limiting the technical idea disclosed in the present specification by the attached drawings.

The mobile terminal described in this specification includes a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (Pda), a portable multimedia player (PMP), a navigation device, a slate PC, , Tablet Pc, Ultra book, and the like. However, it will be understood by those skilled in the art that the configuration according to the embodiments described herein may be applied to a fixed terminal such as a digital TV, a desktop computer, and the like, unless the configuration is applicable only to a mobile terminal.

1 is a block diagram illustrating a mobile terminal according to one embodiment disclosed herein.

The mobile terminal 100 includes a wireless communication unit 110, an audio / video input unit 120, a user input unit 130, a sensing unit 140, an output unit 150, a memory 160, A controller 170, a controller 180, a power supply 190, and the like. The components shown in FIG. 1 are not essential, and a mobile terminal having more or fewer components may be implemented.

Hereinafter, the components will be described in order.

The wireless communication unit 110 may include one or more modules for enabling wireless communication between the mobile terminal 100 and the wireless communication system or between the mobile terminal 100 and the network in which the mobile terminal 100 is located. For example, the wireless communication unit 110 may include a broadcast receiving module 111, a mobile communication module 112, a wireless Internet module 113, a short range communication module 114, and a location information module 115 .

The broadcast receiving module 111 receives broadcast signals and / or broadcast-related information from an external broadcast management server through a broadcast channel.

The broadcast channel may include a satellite channel and a terrestrial channel. The broadcast management server may refer to a server for generating and transmitting broadcast signals and / or broadcast related information, or a server for receiving broadcast signals and / or broadcast related information generated by the broadcast management server and transmitting the generated broadcast signals and / or broadcast related information. The broadcast signal may include a TV broadcast signal, a radio broadcast signal, a data broadcast signal, and a broadcast signal in which a data broadcast signal is combined with a TV broadcast signal or a radio broadcast signal.

The broadcast-related information may refer to a broadcast channel, a broadcast program, or information related to a broadcast service provider. The broadcast-related information may also be provided through a mobile communication network. In this case, it may be received by the mobile communication module 112.

The broadcast-related information may exist in various forms. For example, an EPG (Electronic Program Guide) of dMb (digital multimedia broadcasting) or an ESG (Electronic Service Guide) of digital Video broadcast-Handheld (dVb-H).

For example, the broadcast receiving module 111 may be a digital multimedia broadcasting terrestrial (dMb-T), a digital multimedia broadcasting satellite (dMb-S), a media forward link only (MediaFLO) And a digital broadcasting system such as Integrated Services Digital Broadcast-Terrestrial (ISDB-T). Of course, the broadcast receiving module 111 may be adapted to other broadcasting systems as well as the digital broadcasting system described above.

The broadcast signal and / or broadcast related information received through the broadcast receiving module 111 may be stored in the memory 160.

The mobile communication module 112 transmits and receives radio signals to at least one of a base station, an external terminal, and a server on a mobile communication network. The wireless signal may include various types of data depending on a voice call signal, a video call signal or a text / multimedia message transmission / reception.

The mobile communication module 112 is configured to implement a video communication mode and a voice communication mode. The video call mode refers to a state of talking while viewing a video of the other party, and the voice call mode refers to a state in which a call is made without viewing the other party's video. In order to implement the video communication mode and the voice communication mode, the mobile communication module 112 is configured to transmit and receive at least one of voice and image.

The wireless Internet module 113 is a module for wireless Internet access, and may be built in or externally attached to the mobile terminal 100. Wi-Fi (Wi-Fi), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave access), HSDPA (High Speed downlink Packet access) and the like can be used as wireless Internet technologies.

The short-range communication module 114 refers to a module for short-range communication. Bluetooth, RFId, Infrared data association (Irda), UWb (Ultra Wideband), Zigbee, etc. may be used as short range communication technology.

The position information module 115 is a module for obtaining the position of the mobile terminal, and a representative example thereof is a Global Position System (GPS) module.

1, an a / V (audio / video) input unit 120 is for inputting an audio signal or a video signal, and may include a camera 121 and a microphone 122. The camera 121 processes an image frame such as still image or moving image including at least one subject image corresponding to each subject obtained by the image sensor in the video communication mode or the photographing mode. The processed image frame can be displayed on the display unit 151. [

The image frame processed by the camera 121 may be stored in the memory 160 or transmitted to the outside through the wireless communication unit 110. [ Two or more cameras may be provided depending on the usage environment.

The microphone 122 receives an external sound signal through a microphone in a communication mode, a recording mode, a voice recognition mode, or the like, and processes it as electrical voice data. The processed voice data can be converted into a form that can be transmitted to the mobile communication base station through the mobile communication module 112 when the voice data is in the call mode, and output. Various noise reduction algorithms may be implemented in the microphone 122 to remove noise generated in receiving an external sound signal.

The user input unit 130 generates input data for a user to control the operation of the terminal. The user input unit 130 may include a key pad, a dome switch, a touch pad (static / static), a jog wheel, a jog switch, and the like.

The sensing unit 140 senses the current state of the mobile terminal 100 such as the open / close state of the mobile terminal 100, the position of the mobile terminal 100, the presence of the user, the orientation of the mobile terminal, And generates a sensing signal for controlling the operation of the mobile terminal 100. For example, when the mobile terminal 100 is in the form of a slide phone, it is possible to sense whether the slide phone is opened or closed. It is also possible to sense whether the power supply unit 190 is powered on, whether the interface unit 170 is connected to an external device, and the like.

The output unit 150 may include a display unit 151, an acoustic output unit 152, an alarm unit 153, and a haptic module 154, for example, for generating an output related to visual, auditory, have.

The display unit 151 displays (outputs) information processed by the mobile terminal 100. For example, when the mobile terminal is in the call mode, a UI (User Interface) or a GUI (Graphic User Interface) associated with a call is displayed. When the mobile terminal 100 is in the video communication mode or the photographing mode, the photographed and / or received video or UI and GUI are displayed.

The display unit 151 may be a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT Lcd), an organic light-emitting diode (OLEd), a flexible display display, a three-dimensional display, and an e-ink display.

Some of these displays may be transparent or light transmissive so that they can be seen through. This can be referred to as a transparent display, and a typical example of the transparent display is TOLEd (Transparent OLEd). The rear structure of the display unit 151 may also be of a light transmission type. With this structure, the user can see the object located behind the terminal body through the area occupied by the display unit 151 of the terminal body.

There may be two or more display units 151 according to the embodiment of the mobile terminal 100. For example, in the mobile terminal 100, a plurality of display portions may be spaced apart from one another or may be disposed integrally with each other, or may be disposed on different surfaces.

(Hereinafter, referred to as a 'touch screen') in which a display unit 151 and a sensor for sensing a touch operation (hereinafter, referred to as 'touch sensor') form a mutual layer structure, It can also be used as an input device. The touch sensor may have the form of, for example, a touch film, a touch sheet, a touch pad, or the like.

The touch sensor may be configured to convert a change in a pressure applied to a specific portion of the display unit 151 or a capacitance generated in a specific portion of the display unit 151 into an electrical input signal. The touch sensor can be configured to detect not only the position and area to be touched but also the pressure at the time of touch.

If there is a touch input to the touch sensor, the corresponding signal (s) is sent to the touch controller. The touch controller processes the signal (s) and transmits the corresponding data to the controller 180. Thus, the control unit 180 can know which area of the display unit 151 is touched or the like.

Referring to FIG. 1, a proximity sensor may be disposed in an inner region of the mobile terminal or in the vicinity of the touch screen, which is enclosed by the touch screen. The proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or a nearby object without mechanical contact using the force of an electromagnetic field or infrared rays. The proximity sensor has a longer life span than the contact sensor and its utilization is also high.

Examples of the proximity sensor include a transmission type photoelectric sensor, a direct reflection type photoelectric sensor, a mirror reflection type photoelectric sensor, a high frequency oscillation type proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor. And to detect the proximity of the pointer by the change of the electric field along the proximity of the pointer when the touch screen is electrostatic. In this case, the touch screen (touch sensor) may be classified as a proximity sensor.

Hereinafter, for convenience of explanation, the act of recognizing that the pointer is positioned on the touch screen while the pointer is not in contact with the touch screen is referred to as "proximity touch & The act of actually touching the pointer on the screen is called "contact touch. &Quot; The position where the pointer is proximately touched on the touch screen means a position where the pointer is vertically corresponding to the touch screen when the pointer is touched.

The proximity sensor detects a proximity touch and a proximity touch pattern (e.g., a proximity touch distance, a proximity touch direction, a proximity touch speed, a proximity touch time, a proximity touch position, a proximity touch movement state, and the like). Information corresponding to the detected proximity touch operation and the proximity touch pattern may be output on the touch screen.

The audio output unit 152 may output audio data received from the wireless communication unit 110 or stored in the memory 160 in a call signal reception mode, a call mode or a recording mode, a voice recognition mode, a broadcast reception mode, The sound output unit 152 also outputs sound signals related to functions (e.g., call signal reception sound, message reception sound, etc.) performed in the mobile terminal 100. [ The audio output unit 152 may include a receiver, a speaker, a buzzer, and the like.

The alarm unit 153 outputs a signal for notifying the occurrence of an event of the mobile terminal 100. Examples of events that occur in the mobile terminal include call signal reception, message reception, key signal input, touch input, and the like. The alarm unit 153 may output a signal for notifying the occurrence of an event in a form other than the video signal or the audio signal, for example, vibration. The video signal or the audio signal may be output through the display unit 151 or the audio output unit 152 so that they may be classified as a part of the alarm unit 153.

The haptic module 154 generates various tactile effects that the user can feel. A typical example of the haptic effect generated by the haptic module 154 is vibration. The intensity and pattern of the vibration generated by the hit module 154 can be controlled. For example, different vibrations may be synthesized and output or sequentially output.

In addition to the vibration, the haptic module 154 may include a pin arrangement vertically moving with respect to the contact skin surface, a spraying force or suction force of the air through the injection port or the suction port, a touch on the skin surface, contact with an electrode, And various tactile effects such as an effect of reproducing a cold sensation using an endothermic or exothermic element can be generated.

The haptic module 154 can be implemented not only to transmit the tactile effect through the direct contact but also to allow the user to feel the tactile effect through the muscular sensation of the finger or arm. At least two haptic modules 154 may be provided according to the configuration of the mobile terminal 100.

The memory 160 may store a program for the operation of the controller 180 and temporarily store input / output data (e.g., a phone book, a message, a still image, a moving picture, etc.). The memory 160 may store data on vibration and sound of various patterns outputted when a touch is input on the touch screen.

The memory 160 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, Sd or Xd memory), a RAM (Random Access Memory), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM) A disk, and / or an optical disk. The mobile terminal 100 may operate in association with a web storage that performs a storage function of the memory 160 on the Internet.

The interface unit 170 serves as a path for communication with all external devices connected to the mobile terminal 100. The interface unit 170 receives data from an external device or supplies power to each component in the mobile terminal 100 or transmits data to the external device. For example, a wired / wireless headset port, an external charger port, a wired / wireless data port, a memory card port, a port for connecting a device having an identification module, an audio I / O port, A video input / output (I / O) port, an earphone port, and the like may be included in the interface unit 170.

The identification module is a chip for storing various information for authenticating the usage right of the mobile terminal 100 and includes a user identification module (UIM), a subscriber identity module (SIM), a general user authentication module a universal subscriber identity module (USIM), and the like. Devices with identification modules (hereinafter referred to as "identification devices") can be manufactured in a smart card format. Accordingly, the identification device can be connected to the terminal 100 through the port.

When the mobile terminal 100 is connected to an external cradle, the interface unit 170 may be a path through which power from the cradle is supplied to the mobile terminal 100, or various commands A signal may be a path through which the signal is transmitted to the mobile terminal. The various command signals or the power source input from the cradle may be operated as a signal for recognizing that the mobile terminal is correctly mounted on the cradle.

The controller 180 typically controls the overall operation of the mobile terminal. For example, voice communication, data communication, video communication, and the like. The control unit 180 may include a multimedia module 181 for multimedia playback. The multimedia module 181 may be implemented in the control unit 180 or may be implemented separately from the control unit 180. [

The power supply unit 190 receives external power and internal power under the control of the controller 180 and supplies power necessary for operation of the respective components.

The various embodiments described herein may be embodied in a recording medium readable by a computer or similar device using, for example, software, hardware, or a combination thereof.

In accordance with a hardware implementation, the embodiments described herein may be implemented as application specific integrated circuits (ASICs), digital signal processors (dSPs), digital signal processing devices (dSPds), programmable logic devices (PLds), field programmable gate arrays (FPGas) , Microprocessors, microprocessors, microprocessors, and other electronic units for carrying out other functions. In some cases, the embodiments described herein may be implemented by the controller 180 itself.

According to a software implementation, embodiments such as the procedures and functions described herein may be implemented with separate software modules. Each of the software modules may perform one or more of the functions and operations described herein.

The software code may be implemented in a software application written in a suitable programming language. The software code is stored in the memory 160 and can be executed by the control unit 180. [

The wireless communication unit 110 may further include a buffering unit 116 for storing data to be transmitted. The buffering unit 116 temporarily stores data to be transmitted from the wireless communication unit. The data may be segmented and stored in units of segments of a predetermined size according to a communication protocol (e.g., Transmission Control Protocol (TCP)) between the mobile terminal 100 and the wireless communication system, And may be transmitted through the wireless communication unit 110.

Here, the wireless communication unit 110 may transmit at least one segment to a round trip time (RTT) under the control of the control unit 180. Here, the round trip time means a time required for a packet to arrive at a destination terminal in communication using a packet and to receive acknowledgment data (ACK: acknowledge) transmitted from a destination terminal that has received the packet. Here, the confirmation data is data transmitted from the destination terminal to the transmitting terminal to confirm receipt of the specific segment, and the confirmation data may include request information for the next segment to be received.

The control unit 180 transmits at least one segment in one round trip time for high-speed data transmission. However, since data loss may occur when more data than the data that can be processed in the network flows into the network, the control unit 180 may control the number of segments, i.e., the number of segments transmitted in one round trip time According to the state of the network. Such algorithms include flow control and congestion control.

In this case, when the transmitting terminal performs data transmission at a too high speed, the flow control may fail because the processing speed of the application of the receiving terminal can not follow the received data and the buffer is full and the segment can not be received Thereby preventing loss of data. In this case, the flow control algorithm allows the receiving terminal (the destination terminal or the intermediate node) to include in the acknowledgment data the information about the size of the buffers receivable by the receiving terminal (the destination terminal or the intermediate node) , That is, to prevent transmission of segments. Here, the receiving terminal can display the size of the buffer that it can receive by the number of receivable segments.

Congestion control is also intended to prevent loss of data that may occur when data is transmitted at a rate that is at or above a processing rate on a network path over which data is transmitted. For example, the user's data can be transmitted through a plurality of routers. If more data is received than the buffer size that the router can accommodate, the router will not be able to receive and forward the data (buffer overflow on a router). In this case, the transmitting terminal retransmits the data, that is, the segment, resulting in unnecessary network bandwidth waste due to retransmission. Therefore, in the transmitting terminal, congestion control is performed so that the network can transmit data at an acceptable rate, that is, the number of segments that the network can accommodate.

As such, the congestion control algorithm allows the network to transmit an acceptable number of segments. Here, the control unit 180 may use various methods to determine the number of segments that the network can accommodate.

For example, when the acknowledgment data (ACK) is transmitted from the destination terminal receiving the segment, the controller 180 may increase the number of segments to be transmitted. For example, the control unit 180 may transmit two segments to be transmitted each time one confirmation data is received. That is, when one confirmation data is received, two segments can be transmitted at the next round trip time. And when confirmation data for each of the two segments transmitted is received, two segments may be transmitted for each of the received confirmation data. That is, every time n pieces of confirmation data are received

Figure pat00002
Segments may be transmitted in one round trip time.

Thus, the control unit 180 increases the data transmission rate by increasing the number of segments. If the number of segments transmitted within one round trip time reaches a predetermined level, that is, a predetermined threshold value, the controller 180 increments the number of segments by a predetermined number (for example, one) Check.

Here, the control unit 180 can confirm the data reception state of the network based on whether data loss has occurred, i.e., whether data overflow has occurred. For example, if the confirmation data is not received from the destination terminal within a predetermined time, the control unit 180 may determine that the corresponding segment is lost on the network.

Alternatively, when the segment request information included in the confirmation data received from the destination terminal is duplicated, the control unit 180 may determine that the specific segment is lost on the network. This is because, when only a specific segment is lost and other segments arrive at the destination terminal safely, the destination terminal transmits the request information for the segment that is lost on the network by including it in the confirmation data.

In this way, the control unit 180 can detect whether data loss has occurred due to data overflow on the network according to the confirmation data received from the destination terminal. If a data loss occurs, the controller 180 initializes the number of segments determined to be transmitted at the current round trip time. Then, one segment is transmitted again, and the process of gradually increasing the number of segments in proportion to the square of 2 is resumed. Hereinafter, a process of transmitting one segment and increasing the number of transmission segments until a predetermined threshold value is gradually reached based on the received confirmation data will be referred to as a slow start process.

As described above, when data loss occurs, the slow start process can be resumed. Therefore, in order to prevent this, the control unit 180 determines the amount of data to be transmitted, that is, the amount of data to be transmitted in one round trip time, based on the data reception state of the network and the data exchange state of the intermediate nodes via the segments on the network route. ≪ / RTI >

For example, the data reception state of the network may be determined depending on whether or not confirmation data transmitted from the destination terminal is received. That is, as described above, the control unit 180 can cause two segments to be transmitted each time one confirmation data is received from the destination terminal. Accordingly, when n pieces of confirmation data are received from the destination terminal, the control unit 180 determines whether the network to which the segments are transmitted

Figure pat00003
It is judged that the number of segments can be sufficiently accommodated. And the number of segments to be transmitted can be doubled. In this way, the control unit 180 determines the number of segments that can be transmitted based on whether confirmation data has been received from the destination terminal. Hereinafter, the number of transmittable segments determined according to the data reception state of the network, i.e., the congestion state of the network, will be referred to as a Congestion Window (Cwnd).

Meanwhile, the loss of data occurring on the network may occur according to the data exchange state of the intermediate nodes via the segments transmitted from the transmitting terminal. For example, if the buffer capacity of the intermediate nodes is sufficient and it is possible to buffer all the segments that flow into the network, a data overflow phenomenon may not occur and data loss may not occur. On the other hand, if buffer capacity of the intermediate nodes is insufficient to buffer the segments flowing into the network, a data overflow may occur and data loss may occur.

Accordingly, the controller 180 may determine the number of segments that can be transmitted considering the data exchange state of the intermediate nodes via the segments. Hereinafter, the number of transmittable segments determined based on the data exchange state of the intermediate nodes via the segments will be referred to as Advertisement Window (Awnd).

As described above, the control unit 180 can determine whether data overflow has occurred according to whether or not confirmation data has been received at the previous destination terminal, and it is determined according to the data reception state of the network, that is, the congestion state of the network It is possible to determine the number of transmittable segments, that is, the size of the congestion window (Cwnd).

Also, as mentioned in the flow control, each intermediate node can indicate the size of the receivable buffer by the number of receivable segments and include it in the confirmation data. Therefore, the control unit 180 receiving the confirmation data can check the size of the advertisement window (Awnd) from the information included in the confirmation data.

Then, the controller 180 determines the number of segments to be transmitted in one round trip time, that is, the size of a transmission window (Swending Window) by considering both the size of Cwnd and the size of Awnd. For example, the controller 180 may compare the size of the Cwnd with the size of the Awnd, and determine the size of the transmission window (Swnd) based on the smaller value. This is because the number of segments to be transmitted must satisfy both the size of Cwnd and the size of Awnd so that it can reach the destination terminal stably.

The control unit 180 may include a Cwnd size determining unit 182 for determining the size of the Cwnd based on the number of confirmation data received from the destination terminal. The control unit 180 may further include an Awnd size checking unit 183 for checking the size of the Awnd based on the data exchange status information of the intermediate nodes included in the confirmation data. The Cwnd size determining unit 182 and the Awnd size determining unit 183 may be implemented within the controller 180 or may be implemented outside the controller 180.

On the other hand, based on the size of the transmission window (Swnd) determined in consideration of the size of the Cwnd and the size of the Awnd for each round trip time, the controller 180 stores the segmented data in at least one round trip time To the destination terminal. In this process, the control unit 180 continuously generates segments to be transmitted in the round trip time based on the size of the Swnd, and temporarily stores the segments in the buffering unit 116 until the segments are transmitted.

However, in the case of a conventional mobile terminal, the mobile terminal is not fixed but movable. Therefore, the mobile terminal may be located in a place where radio environment is poor, for example, a shade area such as a tunnel or a building, or a place where radio resources are insufficient, such as a deep mountain or continuation.

In this case, the transmission target segments temporarily stored in the buffering unit may not be transmitted according to the wireless environment around the mobile terminal. However, as described above, the Cwnd is determined based on the received confirmation data, and the Awnd is determined by the information included in the received confirmation data.

Therefore, the segment transmission state of the buffering unit has no influence on the determination of the Cwnd and Awnd sizes. Therefore, the mobile terminal continuously generates segments according to the number of segments determined from the size of Cwnd and the size of Awnd, regardless of the segment transmission state of the buffering unit, and the generated segments are temporarily stored in the buffering unit.

However, since the buffer capacity of the buffering unit is limited, the buffer capacity may become full. In this case, a data overflow phenomenon may occur even in the mobile terminal if the segments are continuously generated despite the fact that the segments can no longer be stored.

When a data overflow occurs in the mobile terminal, the slow start can be restarted by the above-described congestion control algorithm. Therefore, the slow start in which the size of the Cwnd is initialized again to 1 even though there is no problem in the data reception state of the network or the data exchange state of the intermediate nodes is resumed, and as a result, the data transmission speed is lowered.

This also occurs when the mobile terminal temporarily enters the shaded area and then exits again, that is, when the mobile terminal passes through an area such as a tunnel or the like. Therefore, in a typical mobile terminal, the data transmission speed is lowered due to the slow start regardless of whether the wireless environment is recovered or not.

In order to prevent such a decrease in the data transmission rate, the controller 180 of the mobile terminal 100 according to the embodiment of the present invention checks the number of spare segments that can be stored in the buffering unit 116. The control unit 180 may determine the size of the transmission window (Swnd) considering the number of extra segments that can be stored in the buffering unit 116. [ Accordingly, when there is no available buffer capacity of the buffering unit 116, the size of the transmission window (Swnd) becomes '0'. Therefore, the generation of the segment can be stopped until the mobile terminal 100 moves out of the shaded area and segments temporarily stored in the buffering unit 116 are sent out. Therefore, the data offer generated in the mobile terminal 100 due to the temporary shadowed area The flow can be prevented in advance.

More preferably, the number of extra segments that can be stored in the buffering unit 116 can be used to update the size of the advertisement window Awnd. That is, the control unit 180 of the mobile terminal 100 according to the embodiment of the present invention compares the number of spare segments that can be stored in the buffering unit 116 with the size of the Awnd, Can be updated. Then, the size of the transmission window (Swnd) is determined according to the smaller value by comparing the size of the updated Awnd and the size of the Cwnd. In this case, the method of determining the size of Swnd can be applied as it is by comparing the size of Cwnd with the size of Awnd.

FIG. 2 is a conceptual diagram illustrating an operation procedure of a mobile terminal and a server according to an embodiment of the present invention.

2, when the n-th acknowledgment data (ACK) 214 of the n-th segment 212 transmitted by the mobile station 100 is received in the n-th round trip time (RTT) , The control unit 180 of the mobile terminal 100 confirms the network status from the received n-th confirmation data 214.

That is, since the n-th confirmation data 214 has been received, the controller 180 sets the size of Cwnd to

Figure pat00004
. The available buffer size of the buffering unit 116 is checked, and the size of Awnd can be updated considering the size of Awnd and the size of the available buffer. Here, the size of the updated Awnd may be determined based on the size of the available buffer and the size of the Awnd (Min [Awnd, available buffer size]).

The control unit 180 may determine the size of the Swnd in consideration of the size of the updated Awnd. That is, the controller 180 compares the size of the Cwnd with the size of the updated Awnd and determines the size of the Swnd according to a small value (Min = [Cwnd, Awnd]) (218).

Then, the control unit 180 generates a segment according to the determined Swnd size (for example, m). The generated m segments, i.e., n + mth segments in the (n + 1) th segment are stored in the buffering unit 116 and can be transmitted to the (n + 1) th round trip time 220.

Therefore, in the case of the mobile terminal 100 according to the embodiment of the present invention, even if the segmentation occurs in the buffering unit 116 by entering the temporary shadow area, the swing of the segments according to the available buffer amount of the buffering unit 116 The size is determined, and the segment is stored in the generation and buffering unit 116 according to the determined Swnd size. Therefore, no data overflow occurs.

Since the data overflow does not occur, a slow start due to the congestion control algorithm does not occur, so that the size of the Cwnd is not initialized to '1'. Therefore, when the mobile terminal 100 recovers the wireless environment after leaving the shadow area, the Cwnd size before entering the shadow area can be used as it is. Therefore, the data transmission rate before entering the shadow area can be maintained without a slow start process have.

3 is a flowchart illustrating a method of controlling a mobile terminal according to an embodiment of the present invention.

3, when the data transmission is started, the control unit 180 transmits at least one segment and transmits acknowledgment data (ACK) from the terminal, i.e., the destination terminal, (S300). The control unit 180 determines the number of transmittable segments based on the network state, that is, the size of Cwnd and the size of Awnd from the received confirmation data (S302).

Here, the size of the Cwnd and the size of the Awnd may be determined based on the confirmation data received from the destination terminal, as described above. That is, the size of the Cwnd may be determined based on the number of confirmation data received from the destination terminal. The size of the Awnd may be determined based on the information included in the received confirmation data and the data exchange status information of the intermediate nodes.

On the other hand, if the size of the Cwnd and the size of the Awnd are determined in step S302, the controller 180 checks the state of the buffering unit 116. FIG. Then, the size of the available buffer is checked (S304). Here, the size of the available buffer may be determined by the number of segments that can be stored in the remaining buffer capacity of the current buffering unit 116.

If the size of the available buffer, that is, the number of segments that can be stored in the current buffering unit 116 is determined in step S304, the controller 180 determines the size of the transmission window (Swnd) considering the size of the available buffer S306). Here, the size of the Swnd refers to the number of segments to be transmitted in one round trip time.

In step S306, the controller 180 compares the size of the available buffer, the size of Cwnd and the size of Awnd, which are determined in step S304, and determines the size of the Swnd with the smallest value. The size of the available buffer is compared with the size of Awnd to update the size of the Awnd based on the smaller value and the size of the Swnd using the updated size of the Awnd You can decide. Such an example will be described in more detail in Fig.

Also, in step S306, it is possible to use at least a part of the size of the available buffer according to the type of the currently running application. That is, if the currently running application is required to perform real-time data transmission, the size of the available buffer is increased for faster data transmission, and if not, the size of the available buffer is reduced to prevent data overflow more stably It can also be done.

Also, the step S306 may determine the size of the available buffer according to the number of intermediate nodes currently connected (for example, the number of TCP connections) for the segment transmission. For example, if the number of intermediate nodes is large, the size of the available buffer may be reduced, or if the number of intermediate nodes is small, the size of the available buffer may be increased. An example in which the size of the available buffer is varied according to the number of application or connected intermediate nodes and the size of Swnd is determined according to the size of the available buffer will be described in more detail with reference to FIG.

In addition, the step S306 may be a step of providing a differentiating service supporting different data rates for each subscriber of the mobile terminal 100 by changing the sizes of the available buffers. An example of providing a data transmission service at a different rate for each subscriber will now be described in more detail with reference to FIG.

It goes without saying that the confirmation data received in step S300 may be plural. In this case, the mobile terminal 100 according to the embodiment of the present invention may determine the size of the Swnd by performing the process of FIG. 3 each time each confirmation data is received. However, it goes without saying that the control unit 180 may collect all the confirmation data received until the end of one round trip time to determine the size of the Swnd. An example of determining the size of Swnd by collecting a plurality of pieces of confirmation data received in one round trip time will be described in detail with reference to FIG.

On the other hand, if the size of Swnd is determined considering the size of the available buffer in step S306, the controller 180 generates at least one segment to be transmitted based on the determined size of Swnd. Here, the process of generating a segment may be, for example, a process of segmenting data to be transmitted in the TCP layer into segments.

At least one transmission target segment generated based on the size of the Swnd is temporarily stored in the buffering unit 116. The control unit 180 controls the wireless communication unit 110 so that the transmission target segments stored in the buffering unit 116 can be transmitted.

4 is a flowchart illustrating a method for determining the number of simultaneous transmission segments in a mobile terminal according to an exemplary embodiment of the present invention.

For example, the control unit 180 can confirm the size of Awnd from the confirmation data received from the destination terminal that has confirmed the segment. Here, the size of Awnd is determined based on a data exchange state such as a buffer state of intermediate nodes to which the segments are transmitted.

The controller 180 checks the size of the available buffer in step S304, and checks the number of segments that can be transmitted according to the size of the Awnd determined in step S302 (S400). In step S402, the control unit 180 compares the number of segments that can be transmitted according to the size of the available buffer, i.e., the number of extra segments that can be stored in the current buffering unit 116 and the size of the Awnd, .

The controller 180 may update the size of the Awnd according to the comparison result in step S402 (S404). The step S404 may be a step of selecting one having a smaller value among the number of two transmittable segments to be compared. This is because, as described above, data overflows may not occur if the number of transmittable segments determined by the available buffer and the number of segments less than the number of transmittable segments determined according to the size of Awnd are transmitted.

For example, the step S404 may be performed according to the following equation (2).

Figure pat00005

The Awnd size is the number of transmittable segments determined according to the size of Awnd,

The available buffer size is the number of spare segments that can be stored in the buffering unit.

If the Awnd size is updated in step S404, the controller 180 may determine the number of transmission segments to be transmitted in the next round trip time, i.e., the Swnd size in step S406, considering the updated Awnd size. For example, in step S406, the size of Cwnd and the size of Awnd may be compared with each other to select a smaller value.

Here, the size of the Awnd is updated in consideration of the size of the available buffer, as described in step S404. More specifically, the step S406 may be a step of comparing the size of the Cwnd with the size of the updated Awnd in step S404. Therefore, when the size of the available buffer is smaller than the size of the Awnd included in the confirmation data, the size of Awnd can be updated according to the number of segments according to the size of the available buffer. Since the size of the updated Awnd and the size of the Cwnd are compared with each other, when the number of segments according to the size of the updated Awnd, that is, the size of the available buffer is smaller than the size of the Cwnd, The size of Swnd can be determined.

Therefore, when the segments are accumulated in the buffering unit 116 due to deterioration of the wireless environment, the size of the Swnd decreases as the buffer size of the buffering unit 116 decreases. Therefore, the number of segments generated for transmission at the next round trip time is reduced. Therefore, a data overflow phenomenon that may occur in the buffering unit 116 can be prevented in advance.

As described above, in the mobile terminal 100 according to the embodiment of the present invention, the buffer size of the buffering unit 116 can determine the size of Swnd. Therefore, it is possible to provide various and more active services by adjusting the size of the available buffer.

For example, resizing of the available buffer may be used to more efficiently use limited radio resources. That is, a mobile terminal that requires fast and accurate data transmission / reception such as real-time multimedia transmission or stock trading may be connected to the network, and a mobile terminal that does not require real-time transmission such as e-mail or text message may be connected to the network Can be connected. If all of the mobile stations are allocated a fair share of radio resources, radio resources may be wasted.

Or the number of intermediate nodes connected for transmission of segments, for example, the number of TCP connections may be connected. Here, the number of TCP connections can determine the number of segments that can be transmitted at a time, that is, the transmission speed of data. Thus, if the number of TCP connections is large, a large number of segments can be transmitted in one round trip time, and if the number of TCP connections is small, a small number of segments can be transmitted in one round trip time.

However, if there are a large number of TCP connections, a large number of segments may be transmitted, but this can lead to data congestion by speeding up data entry on the network. Also, if the number of TCP connections is small, there is a need to transmit more segments to the currently connected intermediate node. Therefore, it may be necessary to control the data transmission rate based on the TCP connection, i.e., the number of connected intermediate nodes.

In the mobile terminal 100 according to the present invention, the size of the available buffer is adjusted to solve the problem of the waste of the radio resource or the problem of the transmission rate adjustment according to the number of TCP connections.

5 is a flowchart illustrating an example of determining the number of transmission segments by adjusting the size of an available buffer in a mobile terminal according to an exemplary embodiment of the present invention.

Referring to FIG. 5, the controller 180 checks the size of the available buffer in step S304 to check the number of currently connected TCP connections or the currently running application (S500).

In step S500, the controller 180 determines an amount to be used for determining the size of Swnd among the remaining capacity of the available buffer checked in step S304 based on the number of currently connected TCP connections or the currently running application (S502 ).

For example, the controller 180 may determine the amount to be used to determine the size of the Swnd based on the ratio of the total remaining capacity of the currently checked available buffer to the number of the connected intermediate nodes, as shown in Equation 2 below have.

Figure pat00006

Meanwhile, the controller 180 may determine an amount to be used for determining the size of the Swnd among the remaining capacity of the currently checked available buffer, depending on the type of the currently running application. For example, if the currently running application is ftp, only 10% of the available buffer can be allocated, and if real-time transmission such as video stream service is required, 50% of the available buffer can be allocated have. Information on allocation ratios of different available buffers for each application may be stored in the memory 160 and updated periodically from an external server (for example, a cloud server) .

If the allocation ratio of the available buffer is determined in step S502, the controller 180 determines the number of transmission segments to be transmitted in the next round trip time, that is, the size of the Swnd, considering the determined size of the available buffer (S504) . In step S504, a part of the remaining total amount of the available buffer based on the available buffer allocation ratio determined in step S502 may be considered as an available buffer size for determining the size of the Swnd. That is, in step S504, the remaining buffer amount based on the available buffer allocation ratio among the remaining available buffer amount can be compared with the size of Awnd determined from the confirmation data. The size of the Awnd can be updated according to a small value.

Therefore, the size of Swnd can be determined according to the size of a portion of the available buffer amount based on the available buffer allocation ratio, the size of Awnd determined from the confirmation data, and the size comparison result of Cwnd. Therefore, when the size of a portion of the available buffer amount has the smallest value, the size of Swnd may be determined according to the size of a part of the available buffer amount.

Meanwhile, the method of adjusting the available buffer amount of the buffering unit 116 may be used not only to efficiently use radio resources, but also to provide a differentiated data transmission service among subscribers.

For example, the control unit 180 of the mobile terminal 100 according to an embodiment of the present invention may transmit a higher-level data transfer service, that is, a higher-speed data transfer service to a specific user . This can be done by making different allocation ratios of the available buffers for a typical subscriber and a subscriber who selects a higher quality service.

FIG. 6 is a flowchart illustrating an embodiment of allocating an available buffer allocation ratio based on subscriber information in a mobile terminal according to an embodiment of the present invention.

6, the controller 180 checks the size of the available buffer in step S304, checks the subscriber information stored in the mobile terminal 100, and provides the subscriber information to the subscriber corresponding to the mobile terminal 100 And can confirm the data transfer service (S600). The subscriber information and the provided data transmission service may be stored in the memory 160 of the mobile terminal 100 or may be confirmed through a base station or the like providing a wireless communication service according to a request of the controller 180 . Here, the data transmission service may be an allocation ratio of an available buffer preset for each subscriber.

The control unit 180 may determine the size of the available buffer based on the determined subscriber information, that is, the type of the data transmission service provided to the subscriber corresponding to the mobile terminal 100 (S602). In step S602, the controller 180 may allocate at least a part of the remaining remaining capacity of the currently-checked available buffer to determine the size of the Swnd according to the type of the data transmission service provided to the subscriber.

In step S604, the control unit 180 determines the number of transmission segments to be transmitted in the next round trip time, that is, the Swnd, considering at least a part of the remaining available bandwidth of the current available buffer according to the allocated available buffer ratio (S604) . Therefore, the subscriber who applied for the faster data transmission service can set the allocation ratio of the higher available buffer, and the size of Swnd can be set larger. Therefore, a faster data transmission service can be provided.

On the other hand, in the above description, when confirmation data is received from the destination terminal, the size of the Cwnd is determined according to whether the confirmation data is received, that is, the number of the received confirmation data

Figure pat00007
The size of the Awnd is checked from the confirmation data, the size of the Awnd is compared with the size of the available buffer, and the size of the Swnd is determined by comparing the size of the updated Awnd and the size of the Cwnd . Therefore, in the above description, the size of the Swnd corresponding to each confirmation data can be determined. The transmission target segments may be generated according to the determined size of each swnd and stored in the buffering unit 116. [

Alternatively, however, it is of course also possible to combine all acknowledgment data received until one round trip time to determine the size of one swnd and thereby generate the segments to be transmitted at the next round trip time.

FIG. 7 is a flowchart for explaining an embodiment for determining the number of transmission segments by collecting a plurality of pieces of confirmation data in a mobile terminal according to an embodiment of the present invention.

7, if the available buffer size is checked in step S304, the control unit 180 determines the number of transmission segments, that is, the size of the plurality of Swnds, based on each of the confirmation data received at the current round trip time (S700).

Here, the sizes of the plurality of Swnds may be different from each other. Even if the destination of the segments is the same as the destination node, since the intermediate nodes on the network path to the destination node are different from each other, even if the size of the Cwnd and the size of the available buffer are equal to each other, It is because. Therefore, if the data exchange status of a particular intermediate node via some of the segments is poor, this can be reflected in the size of the Awnd, and thus the size of the Swnd can also be reduced.

However, in this case, even if the size of the small Swnd is determined according to the size of the small Awnd, if the size of Swnd determined from the next confirmation data is large, the controller 180 generates segments based on the size of the large Swnd So that a large amount of segments may flow into the intermediate node where the data exchange state is not good. In this case, data overflow may occur.

Accordingly, in order to prevent such a data overflow phenomenon, the controller 180 may select a minimum value among the plurality of Swnd sizes determined in operation S700 (S702). In step S704, the control unit 180 may determine the number of transmission segments to be transmitted in the next round trip time, the size of the Swnd, based on the magnitude of the Swnd of the selected minimum value.

If the size of the Swnd is determined in step S704, the control unit 180 may generate segments to be transmitted and store the segments in the buffering unit 116. [ The stored transmission target segments may be transmitted through the wireless communication unit 110 (S308).

8 is a conceptual diagram illustrating an example in which the number of concurrent transmission segments is changed according to the size of an available buffer in a mobile terminal according to an embodiment of the present invention. 8 is a diagram for explaining a case where the total storage capacity of the buffering unit 116 is large enough to store 20 segments and the number of transmittable segments determined according to the data sharing state of the intermediate nodes on the network, .

Referring to FIG. 8, when ACK, i.e., four acknowledgment data is received (800), the controller 180 may determine the size of the Cwnd to be '8' according to the congestion control algorithm described above. If the size of the Awnd included in the confirmation data is '20' and the size of the available buffer is '20', the controller 180 compares the size of the available buffer with the size of Awnd, . If the size of Awnd is equal to the size of the available buffer, the size of Awnd is updated according to the value of Awnd.

Accordingly, the size of Awnd may be '20'. Then, the controller 180 determines the size of the Swnd using the size '20' of the updated Awnd and the size '8' of the determined Cwnd. That is, the controller 180 can determine the size of Swnd according to a smaller value of the size of Awnd and the size of the determined Cwnd, that is, '8'.

Accordingly, in the mobile terminal 100 according to the embodiment of the present invention, eight segments are generated, stored in the buffering unit 116, and then transmitted (802).

On the other hand, when eight segments arrive at the destination terminal, eight acknowledgment data (ACK) can arrive (804). When eight pieces of confirmation data are received, the size of Cwnd can be determined to be 16 by the above-mentioned congestion control algorithm. In this case, when the size of the Awnd and the size of the available buffer are equal to '20', the size of the Swnd can be determined to be '16', which is the minimum value of the size of the updated Awnd and the size of the determined Cwnd. Accordingly, 16 segments can be stored in the buffering unit 116 according to the size of Swnd '16'.

If the mobile terminal 100 enters the shadow area in this state (806), the segments can not be transmitted due to deterioration of the wireless environment. Accordingly, the 16 segments are accumulated in the buffering unit 116. In this case, the control unit 180 of the mobile terminal 100 according to the embodiment of the present invention checks the number of segments that can be stored according to the remaining capacity of the current buffering unit 116 as described above with reference to FIGS. 3 and 4 And the size of the Swnd is determined in consideration of this.

Accordingly, when the segments are loaded due to the shadow area, the mobile terminal 100 checks the available capacity of the buffering unit 116 at present. As shown in FIG. 8, if the total capacity of the buffering unit 116 is large enough to store 20 segments and 16 segments are accumulated, the available capacity of the buffering unit 116 is checked to be four segments .

Accordingly, the controller 180 compares the size of the Awnd, that is, '16', with the available capacity '4' of the checked buffering unit 116, and updates the size of the Awnd according to a smaller value '4' . The control unit 180 compares the size of the updated Awnd, that is, '4' with the size '16' of the Cwnd, and determines the size of Swnd according to a smaller value of '4'. Therefore, the control unit 180 generates a segment according to the determined Swnd size, i.e., '4', so that no data overflow occurs in the buffering unit 116 (total buffer capacity of the buffering unit: 20, 16 + 4).

If the mobile terminal 100 moves out of the shaded area, the wireless environment around the mobile terminal 100 can be restored. Segments that have been stored in the buffering unit 116 may be transmitted to the network through the wireless communication unit 110. [ If out of the shaded area, 20 segments can be dispatched (808).

When all acknowledgment data (ack) are received for the transmitted 20 segments, the controller 180 can determine the size of the Cwnd to be double, that is, '40', of the received acknowledgment data. However, even if the Cwnd size is '40', since the size of the Awnd and the size of the available buffer are '20', the size of the Swnd may be determined to be '20', so that 20 segments are allocated to the wireless communication unit 110, Lt; / RTI >

Therefore, in the present invention, even when the mobile terminal enters the shadow area, no data overflow occurs. Therefore, the slow start by the congestion control algorithm scheme is not resumed. In addition, since the value of Cwnd is not initialized as described in FIG. 8, segments can be generated and transmitted as many as the size of the Awnd and the size of the available buffer allow. Therefore, the mobile terminal according to the embodiment of the present invention can have a higher data transmission rate.

FIGS. 9A and 9B illustrate magnitudes of Swnd determined in a conventional mobile terminal and a mobile terminal according to an embodiment of the present invention, as shown in FIG. 8. FIG.

Referring to FIG. 9A, which assumes the case of a conventional mobile terminal, when entering the shadow area 806 as in the case of FIG. 8, the segments can not be transmitted due to deterioration of the wireless environment. Accordingly, the 16 segments are accumulated in the buffering unit 116. In this case, the size of Awnd is '20' and the size of Cwnd is '16', so the size of Swnd is determined to be '16'. Therefore, although the size of the available buffer can store only four segments, sixteen segments are generated and stored in the buffering unit 116, resulting in data loss of 12 segments, that is, data overflow.

Therefore, when data overflow occurs, congestion control using slow start is started by the congestion control algorithm method. Therefore, as slow start is restarted as shown in FIG. 9A, the magnitude of Cwnd is initialized again to 1. As a result, the data transmission speed is lowered.

On the other hand, in the mobile terminal 100 according to the embodiment of the present invention, as shown in FIG. 9B, the slow start process does not start again even when the mobile terminal 100 enters the shadow area 806. That is, the controller 180 updates the size of the Awnd in consideration of the available capacity of the buffering unit 116, and determines the size of the Swnd using the updated Awnd size. Therefore, as shown in FIG. 9B, The size of the Swnd is temporarily reduced, but the Slow start in which the size of the Cwnd is initialized does not occur.

8, when the mobile terminal 100 enters the shaded region 806, when the accumulation of 16 segments occurs, the controller 180 determines whether or not Awnd And determines the size of Swnd based on this. That is, the size of the Swnd is determined according to the small value '4' by comparing the size '4' of the updated Awnd with the size '16' of the Cwnd. Therefore, since only four segments are generated and stored in the buffering unit 116, data overflow does not occur.

Therefore, since the slow start does not occur, the size of the Cwnd is not initialized. Accordingly, as shown in FIG. 9B, when the wireless environment around the mobile terminal 100 is restored and the buffering of the buffering unit 116 disappears, the size of the Swnd can be determined using the size of the uninitialized Cwnd. Therefore, the present invention can greatly reduce the frequency of occurrence of a drop in the data transmission rate, thereby providing a more stable and faster data transmission rate.

Further, according to the embodiment disclosed herein, the above-described method can be implemented as a code that can be read by a processor on a medium on which the program is recorded. Examples of the medium that can be read by the processor include ROM, RaM, cd-ROM, magnetic tape, floppy disk, optical data storage, etc., and may be implemented in the form of a carrier wave (e.g., transmission over the Internet) .

While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Particularly, in the embodiment of the present invention, when the confirmation data is received, the magnitude of the Awnd is determined from the received confirmation data and the size of the Swnd is determined using the size of the Awnd. However, It is of course also possible to determine the size and use it to determine the size of the Swnd.

According to the above description, the size of the Swnd may be the number of transmission segments to be transmitted at the next round trip time. However, if the size of the available buffer is '0', the size of Awnd may be updated to '0', and the size of Swnd may also be determined to be '0'. If the size of Swnd is '0', the controller 180 may not generate transmission target segments.

However, when the wireless environment around the mobile terminal 100 is restored, the accumulated segments are sent to the buffering unit 116, and thus the usable capacity can be generated in the buffering unit 116. [ However, as described above, the controller 180 may not generate segments to be transmitted according to the size of Swnd being '0'.

Accordingly, the controller 180 checks the available buffer size of the buffering unit 116 and determines the size of Awnd according to the size of the available buffer, and determines the size of the Swnd using the determined size. Accordingly, the size of the Swnd is not '0', so that the control unit 180 can generate transmission target segments, and the generated segments can be transmitted via the buffering unit 116.

Meanwhile, in the above description, the size of Swnd is determined considering the size of the available buffer in the mobile terminal. However, if the mobile terminal is connected to the network, the size of Swnd is determined by the service provided from the network Of course, be determined.

For example, when the mobile terminal is connected to the network, the mobile terminal may transmit control information for determining the size of the Swnd to the network management server through the network. For example, the control information may include information on whether to consider the size of the available buffer to determine the size of the Swnd or the type of a specific application.

When the control information is received, the network management server can determine the size of the Swnd of the mobile terminal according to the received control information. For example, the network management server may transmit information on a specific available buffer allocation ratio to the mobile terminal according to the number of TCP connections connected to the mobile terminal. Then, the mobile terminal can determine the size of the Swnd considering the received available buffer allocation ratio.

Alternatively, the network management server may transmit information on different available buffer allocation ratios to the mobile terminal depending on the type of application currently being executed by the mobile terminal. For example, the mobile terminal may pre-designate at least one application in the control signal. When at least one of the designated applications (for example, a video streaming service) is driven in the mobile terminal, the network management server may transmit information on the available buffer allocation ratio preset in the currently running application to the mobile terminal have. The mobile terminal may then determine the size of the Swnd according to an embodiment of the present invention while using the video streaming service.

It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the essential characteristics thereof. Therefore, the embodiments disclosed in the present invention are not intended to limit the scope of the present invention but to limit the scope of the technical idea of the present invention. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

Claims (15)

A buffer for temporarily storing segments to be transmitted among data segmented by segments;
A wireless communication unit for transmitting the transmission target segments to a destination terminal; And
Determining the number of first transmittable segments based on the acknowledgment data received from the destination terminal and checking the number of second transmittable segments based on the data exchange status of the intermediate nodes on the network path via the segments from the acknowledgment data And a control unit,
Wherein,
Checks the available buffer size of the buffering unit determined according to the amount of pre-stored segments, and determines the number of segments that can be transmitted together using the available buffer size, the number of first transmittable segments and the number of second transmittable segments And storing the transmission target segments corresponding to the determined number of segments in the buffering unit.
The apparatus of claim 1,
The number of segments that can be stored in the buffering unit is compared with the number of second transmittable segments according to the size of the available buffer, and the number of second transmittable segments is updated according to a small value,
Wherein the mobile terminal determines the number of segments that can be transmitted together by comparing the number of updated first transmittable segments with the number of updated second transmittable segments and based on a smaller value.
The apparatus of claim 1,
Wherein the number of segments that can be transmitted together is determined by further reflecting the number of the intermediate nodes or the type of application driven in the mobile terminal.
The apparatus of claim 3,
Selecting at least a portion of the available buffers based on the number of connected intermediate nodes or the type of the running application,
And comparing the number of segments that can be stored in at least a portion of the available buffer with the number of first transmittable segments and the number of second transmittable segments to determine the number of transmittable segments together.
5. The apparatus of claim 4,
And selects at least a portion of the available buffer according to a different predetermined ratio according to the type of the application being driven.
5. The apparatus of claim 4,
Wherein at least a portion of the available buffer is selected based on a ratio of the number of segments that can be stored in the buffering unit and the number of connected intermediate nodes according to the size of the available buffer.
The apparatus of claim 1,
Selecting at least a portion of the available buffer based on subscriber information corresponding to the mobile terminal,
Wherein the mobile terminal determines the number of segments that can be transmitted together by comparing the number of segments that can be stored in at least a portion of the available buffer with the number of first transmittable segments and the number of second transmittable segments.
2. The apparatus according to claim 1,
Determining the number of segments that can be transmitted together for each of the acknowledgment data received in one round trip time (RTT)
And stores the transmission target segments corresponding to the minimum of the determined number of segments in the buffering unit.
A method for transmitting data in a mobile terminal that transmits or receives data to and from a destination terminal on a segment basis,
Receiving at least one confirmation data from the destination terminal;
Determining from the received acknowledgment data a first number of transmittable segments based on a congestion state of a network path for transmitting the segments and a second transmittable segment number based on a data exchange state of intermediate nodes via the segments, ;
Checking an available buffer size of the buffering unit, which is determined according to an amount of a pre-stored segment, from a buffering unit provided in the mobile terminal;
Comparing the available buffer size with the number of first transmittable segments and the number of second transmittable segments to determine the number of transmittable segments together,
And storing transmission target segments corresponding to the number of segments that can be transmitted together in the buffering unit and transmitting transmission target segments stored in the buffering unit.
10. The method of claim 9, wherein determining the number of segments that can be transmitted together comprises:
And the number of segments that can be transmitted together is determined based on the following equation (4).
&Quot; (4) "
Figure pat00008

here,
The Swnd is the number of segments that can be transmitted together,
The Cwnd is the number of the first transmittable segments determined based on the confirmation data,
The updated Awnd is a smaller value among the number of second transmittable segments included in the acknowledgment data and the number of segments that can be stored in the buffering unit according to the available buffer size.
10. The method of claim 9, wherein determining the number of segments that can be transmitted together comprises:
Selecting at least a portion of the available buffer;
Checking the number of storable segments in at least a portion of the available buffer; And
And comparing the number of segments that can be stored in at least a portion of the available buffer with the number of first transmittable segments and the number of second transmittable segments to determine the number of segments that can be transmitted together Data transmission method.
12. The method of claim 11, wherein selecting at least a portion of the available buffer comprises:
Checking an application currently running in the mobile terminal;
Checking a predetermined allocation ratio according to the application; And
And selecting at least a portion of the available buffer based on the allocation ratio.
12. The method of claim 11, wherein selecting at least a portion of the available buffer comprises:
Checking the number of intermediate nodes connected to the mobile terminal;
Checking the number of segments that can be stored in the buffering unit according to the size of the available buffer; And
And selecting at least a portion of the available buffer based on the ratio of the number of segments that can be stored in the buffering unit to the number of connected intermediate nodes according to the size of the available buffer.
12. The method of claim 11, wherein selecting at least a portion of the available buffer comprises:
Confirming subscriber information of the mobile terminal;
Confirming a predetermined allocation ratio based on the subscriber information; And
And selecting at least a portion of the available buffer based on the allocation ratio.
12. The method of claim 11, wherein the transmitting target segments include:
Determining the number of transmittable segments for each of the acknowledgment data received at one round trip time (RTT);
Comparing the determined number of segments to select a minimum value;
Storing transmission target segments corresponding to the minimum value in the buffering unit; And
And transmitting the transmission target segments stored in the buffering unit to the destination terminal.
KR1020130128721A 2013-10-28 2013-10-28 Mobile terminal and data transmit method for the mobile terminal KR20150048530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130128721A KR20150048530A (en) 2013-10-28 2013-10-28 Mobile terminal and data transmit method for the mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130128721A KR20150048530A (en) 2013-10-28 2013-10-28 Mobile terminal and data transmit method for the mobile terminal

Publications (1)

Publication Number Publication Date
KR20150048530A true KR20150048530A (en) 2015-05-07

Family

ID=53387000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130128721A KR20150048530A (en) 2013-10-28 2013-10-28 Mobile terminal and data transmit method for the mobile terminal

Country Status (1)

Country Link
KR (1) KR20150048530A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170014967A (en) * 2015-07-31 2017-02-08 삼성전자주식회사 Apparatus and method for controlling data transmission speed in wireless communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170014967A (en) * 2015-07-31 2017-02-08 삼성전자주식회사 Apparatus and method for controlling data transmission speed in wireless communication system

Similar Documents

Publication Publication Date Title
US10949188B2 (en) Mobile terminal and control method thereof
CN104731712B (en) Method for automatically cleaning cache data and mobile terminal
KR101760422B1 (en) Mobile terminal and control method therof
CN106302589B (en) File transmission method and terminal
US8780258B2 (en) Mobile terminal and method for generating an out-of-focus image
EP2750363B1 (en) Mobile terminal
CN108093019B (en) Member information refreshing method and terminal
US20160381553A1 (en) Electronic device and electronic device system
CN106897018B (en) Gesture operation method and device and mobile terminal
KR20110133713A (en) Mobile terminal and method for controlling the same
KR20120010525A (en) Mobile terminal and display screen rotating method thereof
KR20120016771A (en) Mobile terminal and method for controlling information publication via web site thereof
CN106657950A (en) Projection device management device, method and projection data sharing device
CN106873981B (en) Icon processing method and device and terminal
CN105898180B (en) Method and terminal for optimizing video call display
CN106791567B (en) Switching method and terminal
CN106658116B (en) Play control method, device and terminal
CN106790126B (en) Account authorization method and device of application program and terminal
WO2017185808A1 (en) Data processing method, electronic device, and storage medium
KR20150048530A (en) Mobile terminal and data transmit method for the mobile terminal
CN105094733B (en) Split screen display method and device
CN106658630B (en) Communication terminal, base station, system and method
CN107071156B (en) Document projection method, terminal device and system
CN106911896B (en) Image processing device and method
KR101831403B1 (en) Mobile Terminal And Method Of Controlling The Same

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination