WO2015199340A1 - Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method - Google Patents

Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method Download PDF

Info

Publication number
WO2015199340A1
WO2015199340A1 PCT/KR2015/005484 KR2015005484W WO2015199340A1 WO 2015199340 A1 WO2015199340 A1 WO 2015199340A1 KR 2015005484 W KR2015005484 W KR 2015005484W WO 2015199340 A1 WO2015199340 A1 WO 2015199340A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
terminal
wifi
communication
traffic
Prior art date
Application number
PCT/KR2015/005484
Other languages
French (fr)
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
Priority claimed from KR1020150014615A external-priority patent/KR101746191B1/en
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to SG11201610128QA priority Critical patent/SG11201610128QA/en
Priority to EP15812323.2A priority patent/EP3163809B1/en
Priority to US15/322,407 priority patent/US10355982B2/en
Priority to EP18152806.8A priority patent/EP3331219B1/en
Priority to AU2015280947A priority patent/AU2015280947B2/en
Publication of WO2015199340A1 publication Critical patent/WO2015199340A1/en
Priority to PH12016502442A priority patent/PH12016502442B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Definitions

  • the present invention relates to multipath communication.
  • Aggregation transmission is a technique for transmitting data using a plurality of wireless networks at the same time, and processes the data transmitted in each path as a session.
  • a terminal may be connected to a plurality of access networks at a time, and one service / application may merge and communicate a plurality of networks as one network regardless of network type or number of networks. Therefore, the merge transmission system can quickly transmit and receive a large amount of data using a plurality of available network resources.
  • Multi-path TCP (MPTCP) technology is an L4 technology for using multiple IP interfaces simultaneously.
  • a terminal having a plurality of physical interfaces may be connected to a plurality of access networks at one time through the MPTCP technology, and end-to-end communication is generated by creating a session in subflow units.
  • the problem to be solved by the present invention is to provide a network device and a terminal for multi-path communication, an operation method thereof, and a program implementing the operation method.
  • a terminal performs a multipath communication through a gateway, the method comprising: storing a whitelist including applications corresponding to a multipath communication target, and executing a first application included in the whitelist And generating at least one path with the gateway using at least one of multiple communication interfaces.
  • the multi-path communication method may further include determining whether the first application is an application included in the whitelist based on an identifier of the first application when the first application is executed.
  • the generating of the at least one path with the gateway may include generating a subflow connected to the gateway through each of a plurality of networks, and if the connection with any one of the plurality of networks is lost, the sub-network of the maintained network is connected.
  • the method may further include processing traffic of the first application through a flow.
  • the storing of the white list may include receiving at least one application list from a network device, and storing the received application list in the white list.
  • the multi-path communication method may further include setting a routing table so that traffic generated from an application included in the white list is relayed to the gateway.
  • the multi-path communication method may further include transmitting traffic of the second application through a path not passing through the gateway when a second application not included in the whitelist is executed.
  • a method for multi-way communication with a terminal by a gateway comprising: generating a first session with the terminal through a first network for traffic processing of an application executed in the terminal; Generating a second session with the terminal through a second network for traffic processing; and processing the application traffic through the first session and the second session.
  • the processing of the application traffic may include determining the type of the first network based on the first session information, and if the first network is a designated preferred network, restricting traffic processing through the second session. It may include.
  • the designated preference network may be a WiFi network.
  • the processing of the application traffic may include monitoring a communication state of the first network, and if the first network provides a substandard quality as a result of the monitoring, releasing the restriction of traffic processing through the second session. It may include.
  • the processing of the application traffic may control traffic processing through the first session and the second session based on a rate plan of the terminal.
  • a method for operating a policy distribution device and a terminal for multipath communication comprising: generating, by the policy distribution device, a proxy policy including proxy server access information and white list information; Distributing the proxy policy to a terminal by the policy distributing device, and transmitting, by the terminal, traffic of an arbitrary application to a designated proxy server based on the proxy policy, wherein the whitelist information is multi-path communication. List of applications corresponding to the target.
  • the transmitting to the designated proxy server may include: setting, by the terminal, a routing table so that traffic of the first application included in the whitelist is relayed to the first proxy server, and applying the proxy policy to identify the executed application. Identifying the first application based on the information, and transmitting the traffic of the first application to the first proxy server with reference to a routing table related to the first application.
  • the traffic of the first application may be transmitted through multiple paths connected to the first proxy server.
  • a method in which a terminal operates for multipath communication comprising: setting a source address used when a socket of an application is created as a first communication interface, wherein the application sources the first communication interface; Mapping information of the first socket created using the address and information of the second socket created using the at least one communication interface set in the routing table as a source address, and storing the mapped information in the mapping table; And transmitting and receiving the traffic of the application through at least one communication interface set in the routing table based on the mapping table.
  • the operation method may further include updating the mapping table based on the changed interface information when the communication interface used by the second socket as the source address is changed.
  • the first communication interface may be an interface for accessing a mobile communication network.
  • a method in which a terminal operates for multipath communication comprising: monitoring generation of a subflow for multipath communication, activating a WiFi interface when the subflow is generated, and Deactivating the WiFi interface if the flow is destroyed.
  • the operation method may further include: setting a flag to a first value when activating or deactivating the WiFi interface based on the subflow, checking the flag when a WiFi on / off event occurs, If the value is 1, changing the flag to a second value; and if the flag is not the first value, determining the WiFi on / off event by a user.
  • a terminal for performing multipath communication according to another embodiment of the present invention, a multipath management unit for managing multipath communication related settings and policy information, and a user for determining an application-specific routing policy based on the settings and policy information
  • a kernel interface unit for determining an application-specific routing policy based on the settings and policy information
  • a kernel interface unit for determining an application-specific routing policy based on the settings and policy information
  • a multipath processor for transmitting traffic of each application through at least one communication interface based on the routing policy.
  • the multipath manager may manage a whitelist including applications corresponding to a multipath communication target.
  • the user-kernel interface unit determines whether a first application is included in the whitelist based on application identification information, and when the first application is included in the whitelist, traffic of the first application is determined by the setting and policy information.
  • the routing table can be set to relay to the gateway specified by.
  • the multi-path processing unit may generate at least one path connected to the gateway through the at least one communication interface, and transmit traffic of the first application to the gateway through the at least one path.
  • data transmitted through each path may be merged into one using a plurality of available wireless networks simultaneously.
  • a large amount of data can be quickly transmitted and received using a plurality of available network resources.
  • a terminal may be connected to a plurality of access networks at a time, and one service / application may merge and communicate a plurality of networks as one network regardless of the type of network or the number of networks.
  • the terminal may be connected to a general server that does not support the multipath through the multipath.
  • FIG. 1 is a conceptual diagram illustrating network merge transmission according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of a multi-path transmission system according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating traffic flow according to an embodiment of the present invention.
  • 4 to 6 are diagrams exemplarily illustrating a user setting screen provided by the MPTCP management unit according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a multi-path transmission method when a session is started with WiFi according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a multipath transmission method when a session is started with LTE according to an embodiment of the present invention.
  • 9 and 10 are diagrams for explaining the traffic control for each terminal according to an embodiment of the present invention.
  • FIG. 11 is a block diagram of a terminal according to an embodiment of the present invention.
  • FIGS. 12 and 13 are flowcharts illustrating a WiFi control method of a multipath transmission terminal according to an embodiment of the present invention.
  • FIG. 14 is a diagram illustrating a conventional socket communication method.
  • 15 to 17 are diagrams illustrating a socket communication method according to an embodiment of the present invention.
  • 18 is a diagram for explaining a general proxy communication method.
  • FIG. 19 is a diagram illustrating a proxy communication method according to an embodiment of the present invention.
  • FIG. 20 is a flowchart of a proxy communication method according to an embodiment of the present invention.
  • 21 is a hardware block diagram of a terminal according to an embodiment of the present invention.
  • a terminal is a mobile station (MS), a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), a user equipment (UE) It may also refer to an access terminal (AT) and the like, and may include all or some functions of a mobile station, a mobile terminal, a subscriber station, a portable subscriber station, a user device, an access terminal, and the like.
  • MS mobile station
  • MT mobile terminal
  • SS subscriber station
  • PSS portable subscriber station
  • UE user equipment
  • AT access terminal
  • the terminal of the present specification includes a base station (BS), an access point (Access Point, AP), a radio access station (Radio Access Station, RAS), a Node B (Node B), an advanced NodeB (evolved NodeB, eNodeB), A network device such as a base transceiver station (BTS), a mobile multihop relay (MMR) -BS, or the like may be connected to a remote server.
  • BS base station
  • Access Point Access Point
  • RAS Radio Access Station
  • Node B Node B
  • evolved NodeB evolved NodeB
  • eNodeB evolved NodeB
  • a network device such as a base transceiver station (BTS), a mobile multihop relay (MMR) -BS, or the like may be connected to a remote server.
  • BTS base transceiver station
  • MMR mobile multihop relay
  • the terminal of the present specification may be a mobile terminal such as a smartphone, a tablet terminal such as a smart pad / tablet PC, a computer, a television, or other various types of communication terminals, and may include a plurality of communication interfaces.
  • the communication interface may vary.
  • the communication interface may be a short-range wireless network interface such as Wi-Fi / WLAN / Bluetooth, and a mobile network interface such as 3G / LTE (Long Term Evolution) / LTE-A (LTE-A). It may include, and the terminal manufacturer may add various communication interfaces.
  • a WiFi interface and an LTE interface are described as an example, but the communication interface is not limited thereto.
  • FIG. 1 is a conceptual diagram illustrating network merge transmission according to an embodiment of the present invention.
  • a network merge transmission is a technology for transmitting data by merging a plurality of communication networks, and splits and transmits data transmitted through one path into a plurality of homogeneous networks or a plurality of heterogeneous networks. Data transmitted through a path can be bundled and transmitted. Network merge transmission may be referred to as multipath transmission in the sense of simultaneously transmitting data through multiple paths.
  • the terminal 100 may include multiple communication interfaces, and may be connected to a plurality of networks (for example, a WiFi network and an LTE network) at one time through the multiple communication interfaces.
  • a plurality of networks for example, a WiFi network and an LTE network
  • the gateway 200 receives data transmitted from the server 300 to the terminal 100.
  • the server 300 does not support multiple communication interfaces.
  • the gateway 200 is a network device for multipath transmission.
  • the gateway 200 divides the data to transfer the received data to the multiple communication interfaces of the terminal 100.
  • the gateway 200 may transmit some data to the terminal 100 through the LTE network, and transmit the remaining data to the terminal 100 through the WiFi network.
  • the terminal 100 merges the data received through the plurality of communication interfaces.
  • the gateway 200 may merge the data transmitted by the terminal 100 using the multiple communication interface and transmit the merged data to the server 300.
  • the merging technology of the WiFi network and the LTE network may be classified as follows according to the merging point.
  • L2 / link layer merging creates a dedicated tunnel to the WiFi AP at the boundary point of the LTE core and access network (ie, eNB).
  • L3 / network layer merging creates virtual IP tunnels to consolidate IP addresses used independently in LTE and WiFi networks.
  • L4 / Transport layer merging can create a session over a single access network and then participate in data transmission regardless of the IP addressing system, if additional access networks are available.
  • the communication subject at the application level supports a structure capable of data communication based on a single session using one or more access networks.
  • L7 / application layer merging is a dedicated application / agent to recombine data received via the LTE network and WiFi network itself or transmit application protocol data separately.
  • MPTCP multi-path TCP
  • FIG. 2 is a block diagram of a multi-path transmission system according to an embodiment of the present invention.
  • the multipath transmission system includes a terminal 100 and a gateway 200 as a network device.
  • the terminal 100 and the gateway 200 transmit and receive data based on MPTCP.
  • the terminal 100 may transmit / receive data with the server 300 through the gateway 200, and the terminal 100 may transmit / receive data with the server 400 without passing through the gateway 200.
  • the server 300. 400 is assumed to be a general server that performs TCP communication through a single path.
  • the terminal 100 supporting the MPTCP includes software including the MPTCP management unit 110 and the MPTCP processing unit 130, and includes a plurality of physical communication interfaces 150 and 160.
  • the communication interface 150 may be an interface for accessing an LTE network
  • the communication interface 160 may be an interface for accessing a WiFi network.
  • the MPTCP management unit 110 is an application that a user can access to set or manage MPTCP.
  • the MPTCP management unit 110 may manage various setting information or policy information related to MPTCP applied to the terminal 100.
  • the MPTCP management unit 110 may be called, for example, a Giga path manager.
  • the MPTCP processor 130 communicates with an application of the terminal 100 and performs a socket, and transmits data based on a routing table.
  • the MPTCP processor 130 may transmit MPTCP and some applications may transmit general TCP based on the transmission information for each application.
  • the gateway 200 relays MPTCP data and TCP data.
  • the gateway 200 may be a proxy server that supports transmission and reception of data through MPTCP when the terminal 100 communicates with a general TCP server.
  • the gateway 200 may be located at a contact point of a multiple network, for example, at a contact point of an LTE network and a WiFi network.
  • the gateway 200 may be referred to as a multi-network aggregation gateway (MA-GW).
  • MA-GW multi-network aggregation gateway
  • the gateway 200 includes software including the MPTCP relay 210 and includes a plurality of physical communication interfaces 230, 240, and 250.
  • the communication interface 230 is an interface for transmitting and receiving data over the LTE network
  • the communication interface 240 is an interface for transmitting and receiving data over the WiFi network
  • the communication interface 250 transmits and receives data with the server 300. It is an interface.
  • MPTCP is an L4 technology that sends and receives data using more than one IP / interface at the same time. Therefore, the application of the terminal 100 attempts to communicate through general TCP, but actually, the MPTCP processing unit 130 of the terminal 100 generates a session in subflow units and outputs data to at least one communication interface.
  • network merge transmission such as MPTCP can use two networks simultaneously by merging physically separated LTE networks and WiFi networks logically as one network.
  • MPTCP can split a session created for a service into a plurality of subflows, thereby dynamically adding or releasing access networks.
  • MPTCP can provide stable service regardless of physical environment change by increasing traffic speed by merging two networks when merge transmission is possible, and by transmitting traffic to other wireless network when the status of one wireless network becomes poor. Can be.
  • the MPTCP system can efficiently use the communication resources, thereby increasing the transmission speed, and can flexibly cope with the failure of the communication section.
  • the gateway 200 since the gateway 200 relays the MPTCP data and the TCP data in the MPTCP system, the terminal 100 may access the general server through the MPTCP even if a general TCP server does not support the MPTCP.
  • FIG. 3 is a diagram illustrating traffic flow according to an embodiment of the present invention
  • FIGS. 4 to 6 are views illustrating a user setting screen provided by an MPTCP management unit according to an embodiment of the present invention. .
  • the terminal 100 includes a plurality of communication interfaces (eg, an interface connecting to an LTE network and an interface connecting to a WiFi network) and support MPTCP.
  • a plurality of communication interfaces eg, an interface connecting to an LTE network and an interface connecting to a WiFi network
  • MPTCP support MPTCP.
  • the terminal 100 may select a transmission path of each application based on the setting for each application. For example, the terminal 100 communicates with a server of some applications (for example, a messenger application) through an LTE network, and the TCP through a WiFi network with a server of some applications (for example, a social network service application). In communication with the server of some applications (eg, a video service application), an MPTCP communication may be performed through the gateway (MA-GW) 200. That is, the terminal 100 may set the LTE network and the WiFi network as an available transmission network at the same time for some applications.
  • a server of some applications for example, a messenger application
  • the TCP through a WiFi network with a server of some applications (for example, a social network service application).
  • a server of some applications for example, a video service application
  • an MPTCP communication may be performed through the gateway (MA-GW) 200. That is, the terminal 100 may set the LTE network and the WiFi network as an available transmission network at the same time for some applications.
  • the list of applications for MPTCP communication through the gateway 200 may be referred to as a multipath application list or whitelist, and in the future simply referred to as a whitelist.
  • the white list may be set by user selection or carrier policy.
  • the terminal 100 and the gateway 200 operate as proxy clients and proxy servers.
  • the terminal 100 routes only the traffic generated by the whitelisted application to the gateway 200 using proxy technology.
  • the gateway 200 may dynamically manage the proxy policy including the white list and distribute the proxy policy to the terminal 100.
  • a separate policy distribution device may create and distribute a proxy policy.
  • the terminal 100 includes an MPTCP management unit that is an application that allows a user to access and set a communication environment, and set a communication path for each application.
  • the application may be called, for example, a Giga path manager.
  • the MPTCP management unit is executed in the terminal 100 and displays a screen on which a user can access and set a communication environment on a display.
  • the MPTCP management unit displays a screen that allows you to configure WiFi settings, mobile data settings, and multipath (eg, gigapath) settings.
  • the MPTCP management unit may display the image 10 representing the multi-path setting on the screen of the terminal 100.
  • the MPTCP management unit displays a screen for setting a multipath (gigapath) application as shown in FIG. 5.
  • the MPTCP management unit displays the applications 21, 22, 23, 24, and 25 capable of multipath transmission.
  • the MPTCP management unit may display an image 30 to which an application may be added.
  • the basic application is an application that communicates using either an LTE network or a WiFi network.
  • the MPTCP management unit displays the applications included in the white list as shown in FIG. The user can add a new application to the whitelist and exclude the whitelisted application from the whitelist.
  • the terminal 100 allows only traffic of the application included in the white list to pass through the gateway 200, and when an application not included in the white list is executed, the LTE network / WiFi is set according to the setting of the corresponding application. Send and receive traffic through the network.
  • the terminal 100 may distinguish whether the traffic of the application included in the white list is based on the application identifier (for example, user identification (UID)).
  • the application identifier for example, user identification (UID)
  • the white list may be selected by the user through an application such as the MPTCP management unit, or may be set by a carrier policy.
  • the terminal 100 may receive a white list policy from a network device, for example, the gateway 200, and determine a transmission path for each application based on the received white list policy.
  • the terminal 100 may receive a white list policy from a separate network server.
  • the terminal 100 and the gateway 200 may synchronize the whitelist policy through a push / pull scheme or separately defined signaling.
  • FIG. 7 is a flowchart illustrating a multi-path transmission method when a session is started with WiFi according to an embodiment of the present invention.
  • the terminal 100 accesses a WiFi network (S110).
  • the primary path is set to WiFi.
  • WiFi Wireless Fidelity
  • the terminal 100 executes a non-whitelist service that is not included in the whitelist
  • the terminal 100 is connected to the server 400 through a WiFi network (S120). Traffic of the whitelist not included service does not pass through the gateway 200.
  • the server 400 is a server related to a whitelist non-service / application.
  • the terminal 100 executes a service / application included in the whitelist
  • the terminal 100 starts a session with the server 300 through a WiFi path passing through the gateway 200 (S130). That is, when the terminal 100 starts a session of the whitelist service / application in the WiFi network, the terminal 100 and the gateway 200 are connected by a WiFi path, and the traffic included in the whitelist is connected to the gateway 200. To pass.
  • the terminal 100 activates the LTE interface (S140).
  • LTE / WiFi Dual On / off may be set in the terminal 100, and when the LTE / WiFi Dual On is performed, the terminal 100 may simultaneously access the LTE network and the WiFi network.
  • the terminal 100 adds an LTE path connected to the gateway 200 (S150). At this time, the primary access path is still the WiFi path, and the secondary access path (secondary path) is the added LTE path.
  • the traffic (whitelist traffic) of a service included in the white list may mainly transmit and receive on the WiFi path. That is, when the UE is in a WiFi preferred state where the UE starts a session with WiFi, the gateway 200 may control to minimize the use of LTE data even though the LTE path is added.
  • the terminal 100 If it is difficult to transmit and receive data via the WiFi path at any point, the terminal 100 first switches the access path to the LTE path (S160). For example, when the quality of the WiFi path is lowered or the terminal 100 is out of the WiFi region, LTE / WiFi Dual off is set in the terminal 100. Then, the terminal 100 supports a seamless service by converting the LTE path set as the auxiliary access path to the priority access path. In this case, the terminal 100 releases the WiFi connection by deleting the WiFi path, but may maintain the WiFi interface in an activated state.
  • the traffic passing through the gateway 200 may be transmitted to the terminal 100 in a multi-path (MPTCP) state, and thus, even if any one path is deleted due to a change in the access network of the terminal 100, the data is disconnected. It may be transmitted to the terminal 100 without.
  • MPTCP multi-path
  • the terminal 100 is connected to the server 400 through the WiFi network without passing through the gateway 200, when the terminal 100 leaves the WiFi area, the connected session is disconnected and a new session must be connected through the LTE network.
  • FIG. 8 is a flowchart illustrating a multipath transmission method when a session is started with LTE according to an embodiment of the present invention.
  • the terminal 100 accesses an LTE network (S210).
  • the preferred access path is then set to LTE.
  • the state of starting a session with LTE may be referred to as LTE-WiFi Aggregation MPTCP.
  • the terminal 100 executes a service / application included in the white list
  • the terminal 100 starts a session with the server 300 on the LTE path passing through the gateway 200 (S220).
  • the terminal 100 and the gateway 200 are connected by an LTE path.
  • the whitelist-free service / application is executed, the terminal 100 and the server 400 are connected through the LTE network, but the traffic does not pass through the gateway 200.
  • the terminal 100 searches for an accessible WiFi AP (S230).
  • the terminal 100 checks the quality of the WiFi AP and attempts to access the WiFi network according to the setting. In this case, the terminal 100 may automatically turn on the WiFi communication module to search for the surroundings.
  • the terminal 100 activates the WiFi interface for multipath transmission (S240).
  • LTE / WiFi Dual On is set in the terminal 100, the terminal 100 may simultaneously access the LTE network and the WiFi network.
  • the WiFi path is set as the priority access path, and the LTE path is changed to the auxiliary access path. Meanwhile, depending on the configuration, the preferred access path may still be maintained as the LTE path.
  • the terminal 100 adds a WiFi path connected to the gateway 200 (S250).
  • the terminal 100 merges and transmits the already connected LTE path and the added WiFi path.
  • an application included in the white list may transmit and receive data through subflows of the LTE path and the WiFi path. If there is a session connected through the LTE network without passing through the gateway 200, the session is disconnected, and a new session is started by the WiFi path (seamless not supported). In this case, the whitelist-free service / application starts a session in the WiFi network, but the traffic does not pass through the gateway 200.
  • the terminal 100 first switches the access path to the LTE path (S260). For example, when the quality of the WiFi path is lowered or the terminal 100 is out of the WiFi region, LTE / WiFi Dual off is set in the terminal 100.
  • the terminal 100 simultaneously uses the LTE path and the WiFi path, and then switches the priority access path to the LTE path, thereby supporting seamless service. In this case, the terminal 100 releases the WiFi connection by deleting the WiFi path, but may maintain the WiFi interface in an activated state.
  • the terminal 100 may automatically turn off the WiFi communication module.
  • 9 and 10 are diagrams for explaining the traffic control for each terminal according to an embodiment of the present invention.
  • merge transmission may increase transmission speed and provide a seamless and stable service. However, the user pays a fee according to the data usage. If the merged transmission is always performed for the service / application included in the whitelist, the data usage may increase.
  • the gateway 200 classifies the class of the terminal based on the user's plan information or the user access information, and adjusts the data usage related to the rate, that is, the LTE data usage, for each terminal based on the class.
  • Grades can be divided into multiple grades, but they are briefly described as gold grades and silver grades.
  • the gateway 200 transmits traffic using the LTE network and the WiFi network at the same time.
  • the gateway 200 reduces the traffic transmitted to the LTE network to a predetermined level or less (LTE throttling).
  • the gateway 200 may classify the class of the terminal 100 based on the plan information of the terminal 100. For example, when the terminal 100 is an unlimited number of LTE data, the gateway 200 determines the terminal 100 as a gold grade. If the terminal 100 is a subscriber with a predetermined amount of available LTE data, the gateway 200 determines the terminal 100 as a silver grade. Or, even if the subscriber is available LTE data amount determined, the gateway 200 may variably determine the class of the terminal 100 based on the remaining LTE data amount.
  • the gateway 200 may classify the class of the terminal 100 based on the initial access network of the terminal 100.
  • the gateway 200 determines the terminal 100 as a gold grade and transmits traffic using the LTE network and the WiFi network simultaneously. . That is, the gateway 200 assumes that the user agrees to use LTE data, and provides a speed increase service through LTE-WiFi merging when necessary.
  • the terminal 100 turns on both communication interfaces of the LTE network and the WiFi network, and simultaneously uses the LTE network and the WiFi network. Therefore, when using a video / file transfer service in the LTE-WiFi merged state, it is possible to guarantee the video quality and to increase the file transfer speed.
  • the gateway 200 may determine the terminal 100 as a silver grade and reduce the traffic transmitted to the LTE network to a predetermined level or less. That is, the gateway 200 determines that the user intends to minimize the LTE data use since the user intentionally connected to WiFi.
  • the terminal 100 turns on both communication interfaces of the LTE network and the WiFi network, and maintains a TCP subflow session through the LTE network between the terminal 100 and the gateway 200, but uses data through the LTE path. No transmission or reception, or only traffic below a certain level can be sent and received. Through this, the terminal 100 may process as much traffic as possible in the WiFi network.
  • the terminal 100 since the terminal 100 maintains the LTE communication interface in an active state even without transmitting data through a subflow session through the LTE network, the UE 100 may support full seamless mobility by switching traffic paths to the LTE network when WiFi quality deteriorates. . Therefore, when using a video / file transfer service in a WiFi preferred state, seamless video playback and file transfer are possible.
  • the gateway 200 may know whether the terminal IP is the LTE network or the WiFi network, that is, the access network, based on the information of the TCP session that the terminal 100 has made through the initial TCP SYN in MPTCP.
  • the gateway 200 may classify the terminal into a gold grade and a silver grade based on the access network information. That is, when the terminal IP is the IP of the LTE network, the gateway 200 determines that the terminal 100 is initially connected to the LTE network, and sets the gold level. If the terminal IP is the IP of the WiFi network, the gateway 200 determines that the terminal 100 is initially connected to the WiFi network, and sets the silver level.
  • the terminal 100 when the terminal 100 executes an application in a WiFi network (a preferred state of WiFi), the terminal 100 or the gateway 200 may determine the path of the WiFi path through a retransmission detection algorithm when transmitting data through the WiFi path. Monitor the status. In addition, the gateway 200 restricts / restricts LTE traffic throttling based on the state of the WiFi path.
  • a WiFi network a preferred state of WiFi
  • the gateway 200 restricts traffic processing over the LTE path. If, at some point, the quality of the WiFi path is poor, the gateway 200 temporarily allows traffic processing over the LTE path. When the quality of the WiFi path is restored to a good state again, the gateway 200 limits the traffic processing through the LTE path.
  • FIG. 11 is a block diagram of a terminal according to an embodiment of the present invention.
  • the terminal 100 is configured of a hardware including a plurality of communication modules, a plurality of applications, and an operating system stack for processing applications by controlling hardware between the hardware and the applications.
  • the operating system stack serves as an interface between the hardware and the application, and may be composed of a plurality of software stacks divided according to functions.
  • the terminal 100 may include a Linux kernel and an Android framework, but it may be variously implemented by the terminal manufacturer.
  • the terminal 100 supporting the MPTCP includes the MPTCP management unit 110, the MPTCP processing unit 130, and the user-kernel interface unit 140.
  • the MPTCP management unit 110 is an application mounted in the application layer and may be referred to as a giga path manager.
  • the MPTCP management unit 110 may manage various setting information or policy information related to MPTCP applied to the terminal 100.
  • the MPTCP management unit 110 may provide a user UI that a user may access to set or manage MPTCP.
  • the MPTCP management unit 110 may implement an MPTCP usage control function, a white list management function, a specific AP access check function, an MPTCP support AP selection function, and a WiFi on / off control function.
  • the MPTCP management unit 110 may determine whether to use MPTCP by selecting a user through an MPTCP usage control function, and may determine whether to use MPTCP for each service / application. That is, the user may select the use of MPTCP by selecting the image 10 representing the multipath setting as described with reference to FIGS. 4 to 6, and add the application to the whitelist on the screen for setting the multipath application. Can be excluded.
  • the MPTCP management unit 110 may control LTE / WiFi Dual On / off.
  • the MPTCP usage control unit may control the LTE / WiFi Dual On / off according to the MPTCP mode (full mesh) and the TCP mode (default). MPTCP mode and TCP mode may be set as shown in Table 1, for example.
  • Table 1 Support Mode MPTCP Mode TCP mode Characteristic Multi session subflow communication by interface Single session-generated (TCP) communication per interface Settings -LTE / WiFi Dual On (MPTCP enabled) -LTE / WiFi Dual off (MPTCP disabled)
  • the MPTCP management unit 110 manages white list information (MPTCP target service / application list) through a white list management function.
  • the MPTCP management unit 110 may manage the MPTCP application service / application based on the service provider policy by synchronizing the MPTCP policy including the white list information with the gateway 200 or the service provider policy server (not shown).
  • the white list information synchronized with the gateway 200 or the carrier policy server may be in HTTP-based xml or json format.
  • the MPTCP management unit 110 may check whether a specific AP is connected based on identification information such as SSID / BSSID.
  • the MPTCP management unit 110 may select an MPTCP support AP.
  • the MPTCP management unit 110 may activate / deactivate the MPTCP function for the priority access AP.
  • the preferred access AP may be applied based on a carrier AP (eg, ollehWiFi), personal / company AP (user preference registration), SSID, or BSSID.
  • the MPTCP management unit 110 provides a priority use categorization function of the LTE network / WiFi network. For example, some applications / groups / category services make use of LTE network preferentially, and another applications / groups / category service make use of WiFi network or LTE / WiFi network simultaneously. Route determination).
  • the MPTCP management unit 110 provides a WiFi on / off control function.
  • WiFi on / off may be controlled by user determination, WiFi connection manager (CM) determination, or automatic determination depending on whether WiFi is used in MPTCP.
  • CM WiFi connection manager
  • the MPTCP processor 130 performs socket communication with an application and transmits data based on a routing table.
  • the MPTCP processing unit 130 may transmit some applications to MPTCP and some applications may transmit general TCP.
  • the MPTCP processor 130 includes an MPTCP protocol family and is mounted in an operating system, for example, the Linux kernel.
  • the MPTCP processor 130 may mount the MPTCP / IP protocol family in which the TCP / IP protocol family is changed.
  • the MPTCP protocol family can be implemented in the Linux kernel using MPTCP open source for the Android platform.
  • the MPTCP processor 130 provides a port for MPTCP support to the Linux kernel and maintains compatibility with existing TCP.
  • the MPTCP processor 130 may apply MPTCP code to the Linux kernel version of the terminal and change the kernel configuration to configure the MPTCP-specific congestion control algorithm, the TCP congestion control algorithm, and the MPTCP path manager algorithm. have.
  • the user-kernel interface unit 140 provides various interfaces (APIs) for controlling the user and the kernel, such as system authority setting and command setting.
  • APIs interfaces
  • the user-kernel interface unit 140 provides an interface for the MPTCP management unit 110 to acquire / set / change information / parameters of various functional modules implemented in the kernel area.
  • the information / parameters of the various functional modules may be process processing information, routing information, kernel parameters, and the like.
  • the user-kernel interface unit 140 may include a WiFi connection manager (CM), and the MPTCP manager 110 provides an interface for controlling WiFi on / off through the WiFi connection manager.
  • CM WiFi connection manager
  • the user-kernel interface unit 140 may include a control interface of the MPTCP processing unit 130 and specifically provides a parameter control function of the MPTCP / IP protocol family.
  • the user-kernel interface unit 140 may change / add TCP system parameters (tx / rx memory allocation, etc.), change / add MPTCP system parameters (MPTCP activation / deactivation, operation mode, syn_retry_limit, etc.).
  • the user-kernel interface unit 140 may add TCP / MPTCP parameter information and, for example, add destination address / port information of original data in the TCP option.
  • the user-kernel interface unit 140 may manage routing information, and the MPTCP management unit 110 may provide an interface for controlling a routing path according to MPTCP / TCP.
  • the user-kernel interface unit 140 provides a function for determining whether to use or not use a proxy server for each application, a routing table management function (path, rule, etc.), a parameter control function of the MPTCP / IP protocol family, and the like.
  • the user-kernel interface unit 140 determines whether to use a proxy server for each application based on the application identification information (for example, UID).
  • the user-kernel interface unit 140 determines that the application included in the white list passes through the proxy server and transmits data with reference to the routing table.
  • the user-kernel interface unit 140 classifies applications included in the white list and provides an exception handling setting function.
  • the user-kernel interface unit 140 performs a general routing process using a combination of an UID (Android App ID) and a PID (Process ID), and routes the traffic generated by an application included in the white list to the gateway 200.
  • the user-kernel interface unit 140 may manage the conditional routing table for each service scenario (eg, add / modify / delete paths and rules).
  • FIGS. 12 and 13 are flowcharts illustrating a WiFi control method of a multipath transmission terminal according to an embodiment of the present invention.
  • the terminal 100 supporting MPTCP performs multipath transmission using a plurality of communication interfaces. Therefore, when the terminal 100 is set in the MPTCP mode, the WiFi interface is always enabled even when no traffic is generated. As a result, due to the WiFi interface activation, there is a problem that the battery of the terminal is unnecessary.
  • the terminal 100 includes a WiFi on / off manager.
  • the WiFi on / off manager monitors MPTCP traffic, enables WiFi if MPTCP traffic is present, and disables WiFi if MPTCP traffic is not present. That is, the WiFi on / off manager reduces the battery consumption by controlling WiFi (WiFi auto on / off control) only when the MPTCP application terminal is needed.
  • the WiFi on / off manager is mounted in an area that can monitor MPTCP traffic and control the WiFi module.
  • the WiFi on / off manager may be included in at least a part of the MPTCP management unit 110 / user-kernel interface unit 140 or may be separately mounted in some areas of the Android framework / Linux kernel, and may be developed as an application. Can be.
  • the WiFi on / off manager is driven (S310). If the access path is LTE, the WiFi on / off manager may be driven.
  • the WiFi on / off manager monitors the MPTCP subflow (S320).
  • the WiFi on / off manager may run a thread periodically inspecting the MPTCP subflow and a thread receiving an event related to the WiFi interface in the background of the terminal.
  • the WiFi on / off manager activates the WiFi interface when the MPTCP subflow is generated (S330).
  • the application included in the white list operates in the terminal 100, a subflow is generated.
  • the WiFi on / off manager deactivates the WiFi interface when the MPTCP subflow expires (S340). When the application included in the white list is terminated in the terminal 100, the subflow is destroyed.
  • the program for driving the WiFi on / off manager may be terminated.
  • the WiFi on / off manager is terminated, the WiFi auto on / off control is stopped. If the WiFi on / off manager is running, if the user activates / deactivates the WiFi, the WiFi on / off manager stops the WiFi auto on / off control.
  • the WiFi on / off manager is driven (S410).
  • the WiFi on / off manager operates.
  • the WiFi event manager operates.
  • the WiFi on / off management unit is a thread for performing WiFi on / off
  • the WiFi event management unit is a thread for managing WiFi events (WiFi broadcast receiver).
  • the WiFi event manager receives the WiFi event occurrence information from the user as well as the WiFi on / off manager.
  • the WiFi on / off manager and the WiFi event manager operate in the background of the terminal.
  • the WiFi on / off management unit monitors the generation of the MPTCP subflow (S420).
  • the WiFi on / off management unit may periodically check whether an MPTCP subflow is generated.
  • the flag (WiFi_MANAGER_FLAG) is information indicating that the event that the WiFi interface is turned on or off is caused by the WiFi on / off management unit.
  • the WiFi on / off management unit turns on WiFi (S432).
  • the WiFi on / off manager notifies the WiFi event manager that an event has occurred in WiFi.
  • the flag set to on is transmitted to the WiFi event manager.
  • the WiFi on / off management unit monitors the disappearance of the MPTCP subflow (S440).
  • the WiFi on / off management unit may periodically check whether the MPTCP subflow is destroyed.
  • the WiFi on / off management unit turns off WiFi (S452).
  • the WiFi on / off manager notifies the WiFi event manager that an event has occurred in WiFi.
  • the flag set to on is transmitted to the WiFi event manager.
  • the WiFi event manager When an event occurs in WiFi, the WiFi event manager operates, and the WiFi event manager determines whether the subject that generated the event is the WiFi on / off manager or the user (S460) based on the flag (WiFi_MANAGER_FLAG).
  • the WiFi event manager stops the operation of the WiFi on / off manager (S480). That is, the WiFi event manager determines that the WiFi event has occurred by the user. In this case, since the user turned off the WiFi, the WiFi automatic on / off function should be stopped because the WiFi on / off must be controlled regardless of whether the MPTCP subflow is generated.
  • the WiFi on / off manager is mounted on the terminal 100, and thus the battery consumption of the terminal is reduced since the WiFi on / off manager is activated / deactivated when the MPTCP subflow is created / deleted.
  • FIG. 14 is a view for explaining a conventional socket communication method
  • Figures 15 to 17 are views for explaining a socket communication method according to an embodiment of the present invention.
  • the current mobile terminal is set to allow only a communication connection through one interface at a time.
  • a terminal manufacturer or a terminal operating system provider sets a communication interface having a higher priority at one time, for example, a WiFi interface as a preferred network, and provides a technology for handing over to another network if the WiFi network cannot be accessed. do.
  • the application when an application is executed in the terminal, the application creates a network stack and a socket, and transmits and receives traffic through the socket. At this time, the application and the network stack create a socket through the designated communication interface 2 (eg, WiFi), and the network stack is connected to the communication interface 2 to process traffic.
  • the designated communication interface 2 eg, WiFi
  • the communication socket that an application requests to connect is unconditionally determined by the system global routing table. Therefore, in the conventional socket communication method, a socket is bound based on an interface set to higher routing throughout the system at the time of an application's communication socket request. Then, if a part of the end-to-end communication section is deteriorated (for example, WiFi communication error), and a communication is no longer possible, a notification of disconnection of the corresponding socket communication is made at the system level. Inform the user of abnormal termination and other information. The application service is in a state of being unavailable. This is a problem that occurs with normal Unix / Linux-based communication structures.
  • the communication session mainly deals with the socket communication structure of the network stack corresponding to the connection oriented service such as TCP, but it is natural that the communication session can be extended to similar transport layer protocols.
  • the socket interworking manager 500 separates a socket (application socket) viewed by an application of the terminal 100 and a socket (system socket) viewed by the network stack of the terminal 100.
  • the socket interworking manager 500 fixes the communication interface of the socket viewed by the application to a specific communication interface (for example, LTE), and connects to the actual access network through the communication interface set based on a routing table set system-wide. That is, the socket interworking manager 500 fixes a communication interface capable of anytime and anywhere in an always-on state, such as LTE, to a communication interface of a socket bound to an application, thereby always establishing an IP address and providing global mobility. Support.
  • the socket interworking manager 500 includes an application socket communication unit 510, a routing information checking unit 530, and an interface connection unit 550.
  • the socket interworking manager 500 may be included in the MPTCP management unit 110 / user-kernel interface unit 140 as software, or may be separately installed in some areas of the Android framework / Linux kernel, and may be developed as an application. .
  • the socket interworking manager 500 is described as being included in the MPTCP management unit 110 to operate, it is natural that the terminal mounting area of the socket interworking manager can be changed as necessary.
  • the application socket communication unit 510 is connected to the application by the socket generated by the programming code of the application.
  • the socket may be created by a general socket application programming interface (API).
  • API general socket application programming interface
  • the application socket communication unit 510 does not create a socket based on a routing table set system-wide, but creates a socket using a designated communication interface among multiple interfaces as a source address.
  • the session requested by the application may use the source address assigned to the LTE interface as the socket creation address.
  • the session requested by the application may include the same source address as the communication interface set as default gateway information among the information in the routing table set system-wide, or may include a source address of another communication interface.
  • the application socket communication unit 510 may generate a socket through the LTE interface for all applications of the terminal, and generate the socket through the LTE interface only for a specific application (for example, an application included in the white list). .
  • the routing information checking unit 530 checks the routing information by accessing a routing table managed by the network stack included in the operating system of the terminal.
  • the routing table may be a system global routing table managed by the user-kernel interface unit 140.
  • the routing information checking unit 530 determines the actual source address through the routing table for the session of the application requested to be created through the application socket communication unit 510 before the actual socket is created.
  • the interface connector 550 maps and manages global routing information referenced by the routing information checker 530 and socket information generated by the application socket communication unit 510, and connects the sockets to a communication interface based on the mapping information.
  • the interface connector 550 regenerates the socket so that the application socket communication unit 510 actually communicates with the communication interface of the higher rank referred to by the routing information checking unit 530 instead of the fixed communication interface.
  • the application when the application is executed in the terminal 100, the application requests the socket generation to be connected to the fixed communication interface 1 (eg, LTE interface) to the application socket communication unit 510.
  • the fixed communication interface 1 eg, LTE interface
  • the interface connector 550 refers to the routing table through the routing information checker 530.
  • communication interface 2 for example, WiFi
  • the interface connection unit 550 maps and stores the interface of the application socket as interface 1 and the interface of the system socket as interface 2 in the mapping table.
  • the interface connector 550 connects the interface 1 viewed by the application socket and the interface 2 viewed by the system socket based on the mapping table.
  • the socket interworking manager 500 connects the communication interface 1 of the application socket and the communication interface 2 of the system socket so that actual traffic is transmitted through the communication interface 2.
  • the terminal 100 may be in a state capable of merge transmission through multiple paths such as MPTCP.
  • the routing table may store dual socket interface information that can be connected to the communication interface 1 and the communication interface 2.
  • the interface connector 550 adds interface 1 to the interface of the system socket. That is, a subflow through communication interface 1 is added.
  • the interface connection unit 550 refers to the routing table, and the interface of the application socket is interface 1, and the interface of the system socket is stored in the mapping table as interface 1 and interface 2.
  • the application maintains the session connected to the communication interface 1, but the socket interworking manager 500 connects the communication interface 1 of the application socket, the communication interface 1 and the communication interface 2 of the system socket, and the actual traffic is communicated with the communication interface 1 and the communication interface. To be transmitted through at least one of two.
  • network connection by the communication interface 2 may be released by the same situation as when the terminal moves.
  • the routing table changes the interface of the upper rank to the communication interface 1.
  • the interface connector 550 updates the mapping table that the interface socket of the application socket is interface 1 and the interface of the system socket is interface 1.
  • the application maintains the session connected to the communication interface 1, but the socket interworking manager 500 connects the communication interface 1 of the application socket and the communication interface 1 of the system socket, so that actual traffic is transmitted through the communication interface 1.
  • the communication interface socket that the application looks at is maintained regardless of the actual connection interface, so that the communication session can be maintained seamlessly.
  • the socket interworking manager 500 distinguishes communication interfaces of the application sockets and the system sockets, and connects the communication interfaces of the application sockets and the system sockets based on the mapping table.
  • the interface used for the actual communication refers to the routing table set system-wide, but the communication interface of the socket bound to the application is always-on such as LTE, and can be used anytime and anywhere communication interface as the communication interface of the socket bound to the application. Fix it.
  • the socket interworking manager 500 may solve an application level session disconnection problem occurring when the access network is changed in the conventional manner, and also reduce overhead for additional signaling such as tunneling.
  • FIG. 18 is a diagram illustrating a general proxy communication method
  • FIG. 19 is a diagram illustrating a proxy communication method according to an embodiment of the present invention
  • FIG. 20 is a flowchart of a proxy communication method according to an embodiment of the present invention. .
  • traffic generated from a wired / wireless terminal is an intermediate node based on a source address and a destination address, which are IP (Internet Protocol) header information, which is a third layer of seven OSI (Open Systems Interconnection) layers. Routed by a router or switch. However, depending on the situation, it is necessary to make the traffic through the intermediate node that wants to do this. For example, if it is necessary to forward certain traffic from the mobile network to the outside of the mobile network, change the settings or rules / policies of the gateway device (for example, P-GW, GGSN, etc.), which is the mobile network equipment, to direct traffic to the specific router Forced forwarding
  • IP Internet Protocol
  • OSI Open Systems Interconnection
  • a proxy technology exists as a terminal client technology for routing specific traffic to a specific node without the help of an intermediate node.
  • Proxy technology is typical of technologies such as SOCKS and HTTP.
  • the proxy client forwards the traffic to a proxy server on the network, but notifies the proxy server of its original destination address.
  • the proxy server forwards the traffic received from the terminal to the original destination address.
  • the general proxy communication method has a disadvantage in that it must accommodate a large amount of traffic included in the proxy technology itself. If the traffic of all mobile terminals interworking with the mobile communication network is to be delivered to the proxy server, a large amount of traffic generated by the terminal should be considered.
  • proxy to specific traffic type (for example, http protocol) only, but not to all kinds of applications, and only limited types of applications such as web browser application to proxy server. There is a limit to routing.
  • specific traffic type for example, http protocol
  • the proxy client used in the mobile terminal transmits the traffic to the proxy server based on the information of the proxy server, wherein the administrator who manages the proxy server (for example, the mobile network operator) needs the proxy information and the proxy.
  • the administrator who manages the proxy server for example, the mobile network operator
  • the proxy information and the proxy There is a limitation that there is no way to dynamically distribute application information (whitelist).
  • the terminal 100 and the gateway 200 operate as proxy clients and proxy servers.
  • the terminal 100 includes a policy applying unit 610 and a proxy agent 630.
  • the function of the policy applying unit 610 and the proxy agent unit 630 may be implemented in the user-kernel interface unit 140. However, the functions of the policy applying unit 610 and the proxy agent 630 may be implemented in the MPTCP management unit 110 or the MPTCP processing unit 130, or may be separately installed in some areas of the Android framework / Linux kernel, It may be developed as, but it will be described by the operation of the policy application unit 610 and the proxy agent 630.
  • the policy distribution apparatus 700 distributes a policy including proxy information to the terminal 100.
  • the policy includes various information such as proxy server connection information, white list information, and execution method.
  • the proxy server access information and the white list information may be managed as one piece of data or separated data, and are based on the information of the terminal receiving the policy (that is, the subscription type of the terminal, the access path, and various information for the convenience of the user). Policy can be applied differently.
  • the policy distribution device 700 synchronizes the policy information with the policy application unit 610 of the terminal.
  • the policy distribution apparatus 700 may distribute the policy in a push / pull manner.
  • the policy distribution device 700 may be implemented in a device separate from the gateway 200, or may be implemented in the gateway 200.
  • the policy applying unit 610 receives a policy distributed by the policy distribution device 700.
  • the policy applying unit 610 determines whether to route the traffic to the proxy server (ie, the gateway 200) or the original destination server based on the policy. In this case, the policy applying unit 610 applies the policy to be delivered to the gateway 200 through the proxy agent 630 to the application included in the white list.
  • the policy applying unit 610 parses the policy information and processes the policy information to correspond to the distributed structure of the proxy server.
  • the policy applying unit 610 parses the white list included in the policy information to control the operation of the proxy agent 630.
  • the communication function for communicating with the policy distributing apparatus 700 and the function for executing the policy may be separately implemented according to the terminal design, and for example, may be divided into an application area and an operating system kernel area.
  • the proxy agent 630 transmits the traffic of the application determined to proxy communication according to the policy applying unit 610 to the designated proxy server.
  • the proxy agent 630 connects to the proxy server address (gateway 200 address) included in the policy information and performs proxy communication.
  • the policy distribution apparatus 700 generates a policy including proxy server access information and white list information (S510).
  • the proxy server connection information is dynamically provided information and includes one or more proxy server connection information including an IP address, a domain address, port information, and the like. Proxy server connection information provides a bypass path in case of redundancy, load balancing, and failover.
  • the policy distribution apparatus 700 may determine the access path of the terminal by assigning proxy priority. The terminal 100 may attempt to connect to the lower rank proxy server by the proxy agent 630 when the upper rank proxy server is difficult to access according to the priority of the proxy server.
  • Proxy server connection information may be configured as follows.
  • Proxy Server Connection Information ⁇ Proxy Server Accessible Number (n), ⁇ Proxy Server URI.1, Procedure Server Port Information.1 ⁇ ... ⁇ Proxy Server URI.n, Procedure Server Port Information.n ⁇
  • Proxy server access information may be configured as a URI IP address or domain information.
  • the proxy server connection information may be configured as follows.
  • Proxy server connection information ⁇ 3, ⁇ 1.1.1.1, 1111 ⁇ , ⁇ 2.2.2.2, 2222 ⁇ , ⁇ 3.3.3.3, 3333 ⁇
  • the whitelist information includes information about the application group or the application itself for applying proxy communication. That is, the white list information may be information of MPTCP application target applications via the gateway 200.
  • the application information includes information such as a package name (eg, YouTube's package name is com.google.youtube) that is unique to each application, an application attribute group (eg, web browser, media streaming), and the like.
  • the application does not create a communication session by itself and entrusts the session creation to another application registered in the system.
  • file download through a web browser may be entrusted to a download manager application, or execution of video / audio streaming content may be entrusted to a media player application.
  • the whitelist information may be configured to include information of related applications as sub information when configuring application information.
  • the white list information may be configured as follows.
  • the type is information for distinguishing whether an application package, an application attribute group, and sub information are included.
  • Whitelist information ⁇ number of target groups (n), ⁇ type, package name / attributes ⁇ , ... ⁇ type, package name / attributes ⁇
  • the type can be classified as "package + sub-application", and the white list information of two cases that apply the entire web browser type attribute group to the white list can be as follows. have.
  • Whitelist information ⁇ 2, ⁇ package + sub-application, com.google.youtube, mediaplayer ⁇ , ⁇ property group, web browser ⁇
  • the policy distribution device 700 distributes policy information to the terminal 100 (S520).
  • the terminal 100 receives policy information from the policy distribution device 700 when a specific event occurs or periodically to update the policy information.
  • the terminal 100 sets the received policy information so that the white list traffic is transmitted to the proxy server (S530).
  • the terminal 100 resets the routing table of the traffic occurring in the corresponding application based on the application package included in the white list information.
  • the package name in the form of a string may be converted into an identifier in the terminal, for example, a UID, and the sub-application information may be converted into a UID or a system ID to obtain a unique value throughout the terminal.
  • the obtained application identifier may be used as a filter value when referencing a routing table. That is, the terminal 100 may determine whether to apply the routing path via the gateway 200 based on the application identifier. Common applications that are not included in the white list are established based on the system routing information according to the existing method, and performs data communication.
  • the terminal 100 sets a routing table based on the policy information. For example, referring to Table 2, if the application with the package name com.google.youtube is included in the whitelist, the terminal 100 is not the application's original destination address / default gateway address but the access address of the proxy server (eg For example, change the routing table to 1.1.1.1/1111).
  • an application included in the white list When an application included in the white list generates traffic, that is, when the application generates a communication session (eg, TCP handshaking) by a user's input or a programmed code, the terminal 100 generates policy information.
  • An application included in the whitelist is identified based on the reference, and the routing table is referred to (S540).
  • the terminal 100 transmits the white list traffic to the proxy server 200 (S550).
  • the terminal 100 obtains an access address of the proxy server and communicates with the proxy server 200 through the proxy agent 630.
  • the terminal 100 may attempt to connect to at least one proxy server included in the policy information, but may attempt to connect to the lower priority proxy server when the access proxy server is inaccessible.
  • the terminal 100 transmits and receives white list traffic by securing a data path with the proxy server 200 according to a proxy method (SOCKS, HTTP, etc.).
  • SOCKS Secure Socket Transfer Protocol
  • HTTP HyperText Transfer Protocol
  • a proxy communication structure may be provided for each application.
  • the service provider can divert traffic to any proxy server according to the purpose and purpose of the application.
  • 21 is a hardware block diagram of a terminal according to an embodiment of the present invention.
  • the terminal 100 includes a processor 810, a memory device 820, a storage device 830, a display 840, a communication device 850, and a speaker / microphone 860. It is composed of hardware and stores a program executed in combination with hardware in a designated place.
  • the hardware has the configuration and performance to implement the method of the present invention.
  • the operation method of the present invention described with reference to FIGS. 1 to 20 is written as a software program in a program language.
  • the program executes the present invention in combination with hardware such as processor 810 and memory device 820.
  • the network device including the gateway 200 and the policy distribution device 700 is also composed of hardware including a processor, a memory device, a storage device, a communication device, and the like, and stores a program executed in combination with the hardware at a designated place. .
  • the hardware has the configuration and performance to implement the method of the present invention.
  • the operation method of the present invention described with reference to FIGS. 1 to 20 is written as a software program in a program language.
  • the program executes the present invention in combination with hardware such as a processor and a memory device.
  • a terminal may be connected to a plurality of access networks at a time, and one service / application may merge and communicate a plurality of networks as one network regardless of the type of network or the number of networks.
  • a large amount of data can be quickly transmitted and received using a plurality of available network resources.
  • the terminal may perform multipath TCP-based data communication with a general server that does not support multipath transmission.
  • the embodiments of the present invention described above are not only implemented through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiments of the present invention or a recording medium on which the program is recorded.

Landscapes

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

Abstract

A method for performing multi-path communication by a terminal through a gateway comprises the steps of: storing a whitelist including applications to be subject to multi-path communication; and generating the gateway and at least one path, using at least one multi-communication interface, when a first application included in the whitelist is executed.

Description

다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램Network device and terminal for multipath communication, operation method thereof, and program implementing the method
본 발명은 다중 경로 통신에 관한 것이다.The present invention relates to multipath communication.
병합 전송(aggregation transmission)은 복수의 무선망을 동시에 사용하여 데이터를 전송하는 기술로서, 각 경로로 전송된 데이터를 하나의 세션으로 처리한다. 병합 전송 기술을 통해, 단말은 한 시점에 복수의 접속망에 연결될 수 있고, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신한다. 따라서, 병합 전송 시스템은 가용한 복수의 망자원을 이용하여 대량의 데이터를 빠르게 송수신할 수 있다.Aggregation transmission (aggregation transmission) is a technique for transmitting data using a plurality of wireless networks at the same time, and processes the data transmitted in each path as a session. Through a merge transmission technology, a terminal may be connected to a plurality of access networks at a time, and one service / application may merge and communicate a plurality of networks as one network regardless of network type or number of networks. Therefore, the merge transmission system can quickly transmit and receive a large amount of data using a plurality of available network resources.
다중 경로 TCP(Multi-Path TCP, MPTCP) 기술은 복수의 IP 인터페이스를 동시에 사용하기 위한 L4 기술이다. 복수의 물리적 인터페이스를 구비한 단말은 MPTCP 기술을 통해, 한 시점에 복수의 접속망에 연결될 수 있고, 서브플로우(subflow) 단위로 세션을 생성하여 단대단 통신한다. Multi-path TCP (MPTCP) technology is an L4 technology for using multiple IP interfaces simultaneously. A terminal having a plurality of physical interfaces may be connected to a plurality of access networks at one time through the MPTCP technology, and end-to-end communication is generated by creating a session in subflow units.
이와 같이, 복수의 무선망을 동시에 사용하여 데이터를 전송하는 기술에 대한 연구가 진행되고 있으나, 아직까지 모든 서버가 다중 경로 통신을 지원하지 않는다. 따라서, 현재 다중 통신 인터페이스를 구비한 단말이 모든 서버와 다중 경로 통신을 하기 어려운 한계가 있다. As such, researches on a technology for transmitting data using a plurality of wireless networks at the same time have been conducted, but not all servers support multipath communication. Therefore, there is a limit in that a terminal having a multi-communication interface currently does not have multi-path communication with all servers.
본 발명이 해결하고자 하는 과제는 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램을 제공하는 것이다.The problem to be solved by the present invention is to provide a network device and a terminal for multi-path communication, an operation method thereof, and a program implementing the operation method.
본 발명의 한 실시예에 따라 단말이 게이트웨이를 통해 다중 경로 통신하는 방법으로서, 다중 경로 통신 대상에 해당하는 어플리케이션들을 포함하는 화이트리스트를 저장하는 단계, 그리고 상기 화이트리스트에 포함된 제1 어플리케이션이 실행되면, 다중 통신 인터페이스의 적어도 하나를 이용하여 상기 게이트웨이와 적어도 하나의 경로를 생성하는 단계를 포함한다.According to an embodiment of the present invention, a terminal performs a multipath communication through a gateway, the method comprising: storing a whitelist including applications corresponding to a multipath communication target, and executing a first application included in the whitelist And generating at least one path with the gateway using at least one of multiple communication interfaces.
상기 다중 경로 통신 방법은 상기 제1 어플리케이션이 실행되면, 상기 제1 어플리케이션의 식별자를 기초로 상기 제1 어플리케이션이 상기 화이트리스트에 포함된 어플리케이션인지 판단하는 단계를 더 포함할 수 있다.The multi-path communication method may further include determining whether the first application is an application included in the whitelist based on an identifier of the first application when the first application is executed.
상기 게이트웨이와 적어도 하나의 경로를 생성하는 단계는 복수의 망 각각을 통해 상기 게이트웨이와 연결되는 서브플로우를 생성하고, 상기 복수의 망 중 임의 망과의 접속이 끊어지면, 접속이 유지된 망의 서브플로우를 통해 상기 제1 어플리케이션의 트래픽을 처리하는 단계를 더 포함할 수 있다.The generating of the at least one path with the gateway may include generating a subflow connected to the gateway through each of a plurality of networks, and if the connection with any one of the plurality of networks is lost, the sub-network of the maintained network is connected. The method may further include processing traffic of the first application through a flow.
상기 화이트리스트를 저장하는 단계는 네트워크 장치로부터 적어도 하나의 어플리케이션 목록을 수신하는 단계, 그리고 수신한 어플리케이션 목록을 상기 화이트리스트에 저장하는 단계를 포함할 수 있다.The storing of the white list may include receiving at least one application list from a network device, and storing the received application list in the white list.
상기 다중 경로 통신 방법은 상기 화이트리스트에 포함된 어플리케이션에서 발생한 트래픽이 상기 게이트웨이로 중계되도록 라우팅 테이블을 설정하는 단계를 더 포함할 수 있다.The multi-path communication method may further include setting a routing table so that traffic generated from an application included in the white list is relayed to the gateway.
상기 다중 경로 통신 방법은 상기 화이트리스트에 포함되지 않은 제2 어플리케이션이 실행되면, 상기 게이트웨이를 경유하지 않는 경로로 상기 제2 어플리케이션의 트래픽을 전송하는 단계를 더 포함할 수 있다.The multi-path communication method may further include transmitting traffic of the second application through a path not passing through the gateway when a second application not included in the whitelist is executed.
본 발명의 다른 실시예에 따라 게이트웨이가 단말과 다중 경로 통신하는 방법으로서, 상기 단말에서 실행된 어플리케이션의 트래픽 처리를 위해, 제1망을 통해 상기 단말과 제1 세션을 생성하는 단계, 상기 어플리케이션의 트래픽 처리를 위해 제2망을 통해 상기 단말과 제2 세션을 생성하는 단계, 그리고 상기 제1 세션과 상기 제2 세션을 통해 상기 어플리케이션 트래픽을 처리하는 단계를 포함한다.According to another embodiment of the present invention, a method for multi-way communication with a terminal by a gateway, the method comprising: generating a first session with the terminal through a first network for traffic processing of an application executed in the terminal; Generating a second session with the terminal through a second network for traffic processing; and processing the application traffic through the first session and the second session.
상기 어플리케이션 트래픽을 처리하는 단계는 상기 제1 세션 정보를 기초로 상기 제1망의 종류를 판단하는 단계, 그리고 상기 제1망이 지정된 선호망인 경우, 상기 제2 세션을 통한 트래픽 처리를 제한하는 단계를 포함할 수 있다.The processing of the application traffic may include determining the type of the first network based on the first session information, and if the first network is a designated preferred network, restricting traffic processing through the second session. It may include.
상기 지정된 선호망은 WiFi망일 수 있다.The designated preference network may be a WiFi network.
상기 어플리케이션 트래픽을 처리하는 단계는 상기 제1망의 통신 상태를 모니터링하는 단계, 그리고 모니터링 결과 상기 제1망이 기준 이하의 품질을 제공하는 경우, 상기 제2 세션을 통한 트래픽 처리 제한을 해제하는 단계를 포함할 수 있다.The processing of the application traffic may include monitoring a communication state of the first network, and if the first network provides a substandard quality as a result of the monitoring, releasing the restriction of traffic processing through the second session. It may include.
상기 어플리케이션 트래픽을 처리하는 단계는 상기 단말의 요금제를 기초로 상기 제1 세션과 상기 제2 세션을 통한 트래픽 처리를 제어할 수 있다.The processing of the application traffic may control traffic processing through the first session and the second session based on a rate plan of the terminal.
본 발명의 또 다른 실시예에 따라 정책 배포 장치와 단말이 다중 경로 통신을 위해 동작하는 방법으로서, 상기 정책 배포 장치가, 프록시 서버 접속 정보 그리고 화이트리스트 정보를 포함하는 프록시 정책을 생성하는 단계, 상기 정책 배포 장치가, 상기 프록시 정책을 단말에 배포하는 단계, 그리고 상기 단말이, 상기 프록시 정책을 기초로 임의 어플리케이션의 트래픽을 지정된 프록시 서버로 전송하는 단계를 포함하고, 상기 화이트리스트 정보는 다중 경로 통신 대상에 해당하는 어플리케이션 목록이다.According to another embodiment of the present invention, a method for operating a policy distribution device and a terminal for multipath communication, comprising: generating, by the policy distribution device, a proxy policy including proxy server access information and white list information; Distributing the proxy policy to a terminal by the policy distributing device, and transmitting, by the terminal, traffic of an arbitrary application to a designated proxy server based on the proxy policy, wherein the whitelist information is multi-path communication. List of applications corresponding to the target.
상기 지정된 프록시 서버로 전송하는 단계는 상기 단말이, 상기 화이트리스트에 포함된 제1 어플리케이션의 트래픽이 제1 프록시 서버로 중계되도록 라우팅 테이블을 설정하여 상기 프록시 정책을 적용하는 단계, 실행되는 어플리케이션의 식별 정보를 기초로 상기 제1 어플리케이션을 식별하는 단계, 그리고 상기 제1 어플리케이션에 관계된 라우팅 테이블을 참조하여 상기 제1 어플리케이션의 트래픽을 상기 제1 프록시 서버로 전송하는 단계를 포함할 수 있다.The transmitting to the designated proxy server may include: setting, by the terminal, a routing table so that traffic of the first application included in the whitelist is relayed to the first proxy server, and applying the proxy policy to identify the executed application. Identifying the first application based on the information, and transmitting the traffic of the first application to the first proxy server with reference to a routing table related to the first application.
상기 제1 프록시 서버로 전송하는 단계는 상기 제1 프록시 서버와 연결된 다중 경로로 상기 제1 어플리케이션의 트래픽을 전송할 수 있다.In the transmitting of the first proxy server, the traffic of the first application may be transmitted through multiple paths connected to the first proxy server.
본 발명의 또 다른 실시예에 따라 단말이 다중 경로 통신을 위해 동작하는 방법으로서, 어플리케이션의 소켓 생성 시 사용하는 원천 주소를 제1 통신 인터페이스로 설정하는 단계, 상기 어플리케이션이 상기 제1 통신 인터페이스를 원천 주소로 사용하여 생성한 제1 소켓의 정보, 그리고 라우팅 테이블에 설정된 적어도 하나의 통신 인터페이스를 원천 주소로 사용하여 생성한 제2 소켓의 정보를 매핑하고, 매핑한 정보를 매핑 테이블에 저장하는 단계, 그리고 상기 매핑 테이블을 기초로 상기 어플리케이션의 트래픽을 상기 라우팅 테이블에 설정된 적어도 하나의 통신 인터페이스를 통해 송수신하는 단계를 포함한다.According to another embodiment of the present invention, a method in which a terminal operates for multipath communication, comprising: setting a source address used when a socket of an application is created as a first communication interface, wherein the application sources the first communication interface; Mapping information of the first socket created using the address and information of the second socket created using the at least one communication interface set in the routing table as a source address, and storing the mapped information in the mapping table; And transmitting and receiving the traffic of the application through at least one communication interface set in the routing table based on the mapping table.
상기 동작 방법은 상기 제2 소켓이 원천 주소로 사용한 통신 인터페이스가 변경되는 경우, 변경된 인터페이스의 정보를 기초로 상기 매핑 테이블을 갱신하는 단계를 더 포함할 수 있다.The operation method may further include updating the mapping table based on the changed interface information when the communication interface used by the second socket as the source address is changed.
상기 제1 통신 인터페이스는 이동통신망 접속을 위한 인터페이스일 수 있다.The first communication interface may be an interface for accessing a mobile communication network.
본 발명의 또 다른 실시예에 따라 단말이 다중 경로 통신을 위해 동작하는 방법으로서, 다중 경로 통신을 위한 서브플로우 생성을 모니터링하는 단계, 상기 서브플로우가 생성되면 WiFi 인터페이스를 활성화하는 단계, 그리고 상기 서브플로우가 소멸되면 WiFi 인터페이스를 비활성화하는 단계를 포함한다.According to another embodiment of the present invention, a method in which a terminal operates for multipath communication, comprising: monitoring generation of a subflow for multipath communication, activating a WiFi interface when the subflow is generated, and Deactivating the WiFi interface if the flow is destroyed.
상기 동작 방법은 상기 서브플로우를 기초로 상기 WiFi 인터페이스를 활성화하거나 비활성화하는 경우, 플래그를 제1값으로 설정하는 단계, WiFi 온오프 이벤트가 발생한 경우, 상기 플래그를 확인하는 단계, 상기 플래그가 상기 제1값인 경우, 상기 플래그를 제2값으로 변경하는 단계, 그리고 상기 플래그가 상기 제1값이 아닌 경우, 사용자에 의한 WiFi 온오프 이벤트로 판단하는 단계를 더 포함할 수 있다.The operation method may further include: setting a flag to a first value when activating or deactivating the WiFi interface based on the subflow, checking the flag when a WiFi on / off event occurs, If the value is 1, changing the flag to a second value; and if the flag is not the first value, determining the WiFi on / off event by a user.
본 발명의 또 다른 실시예에 따라 다중 경로 통신을 수행하는 단말로서, 다중 경로 통신 관련 설정 및 정책 정보를 관리하는 다중 경로 관리부, 상기 설정 및 정책 정보를 기초로 어플리케이션별 라우팅 정책을 결정하는 사용자-커널 인터페이스부, 그리고 상기 라우팅 정책을 기초로 각 어플리케이션의 트래픽을 적어도 하나의 통신 인터페이스를 통해 전송하는 다중 경로 처리부를 포함한다.A terminal for performing multipath communication according to another embodiment of the present invention, a multipath management unit for managing multipath communication related settings and policy information, and a user for determining an application-specific routing policy based on the settings and policy information A kernel interface unit, and a multipath processor for transmitting traffic of each application through at least one communication interface based on the routing policy.
상기 다중 경로 관리부는 다중 경로 통신 대상에 해당하는 어플리케이션들을 포함하는 화이트리스트를 관리할 수 있다.The multipath manager may manage a whitelist including applications corresponding to a multipath communication target.
상기 사용자-커널 인터페이스부는 어플리케이션 식별 정보를 기초로 제1 어플리케이션이 상기 화이트리스트에 포함되는지 판단하고, 상기 제1 어플리케이션이 상기 화이트리스트에 포함되는 경우, 상기 제1 어플리케이션의 트래픽이 상기 설정 및 정책 정보에서 지정한 게이트웨이로 중계되도록 라우팅 테이블을 설정할 수 있다.The user-kernel interface unit determines whether a first application is included in the whitelist based on application identification information, and when the first application is included in the whitelist, traffic of the first application is determined by the setting and policy information. The routing table can be set to relay to the gateway specified by.
상기 다중 경로 처리부는 상기 적어도 하나의 통신 인터페이스를 통해 상기 게이트웨이에 연결되는 적어도 하나의 경로를 생성하고, 상기 적어도 하나의 경로를 통해 상기 제1 어플리케이션의 트래픽을 상기 게이트웨이로 전송할 수 있다.The multi-path processing unit may generate at least one path connected to the gateway through the at least one communication interface, and transmit traffic of the first application to the gateway through the at least one path.
본 발명의 실시예에 따르면 가용한 복수의 무선망을 동시에 사용하여 각 경로로 전송된 데이터를 하나로 병합 처리할 수 있다. 본 발명의 실시예에 따르면 가용한 복수의 망자원을 이용하여 대량의 데이터를 빠르게 송수신할 수 있다.According to an embodiment of the present invention, data transmitted through each path may be merged into one using a plurality of available wireless networks simultaneously. According to an embodiment of the present invention, a large amount of data can be quickly transmitted and received using a plurality of available network resources.
본 발명의 실시예에 따르면 단말은 한 시점에 복수의 접속망에 연결 가능하며, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신할 수 있다. According to an embodiment of the present invention, a terminal may be connected to a plurality of access networks at a time, and one service / application may merge and communicate a plurality of networks as one network regardless of the type of network or the number of networks.
본 발명의 실시예에 따르면 단말이 다중 경로를 통해서 다중 경로를 지원하지 않는 일반 서버에 연결될 수 있다. According to an embodiment of the present invention, the terminal may be connected to a general server that does not support the multipath through the multipath.
도 1은 본 발명의 한 실시예에 따른 망 병합 전송을 설명하는 개념도이다.1 is a conceptual diagram illustrating network merge transmission according to an embodiment of the present invention.
도 2는 본 발명의 한 실시예에 따른 다중 경로 전송 시스템의 구성도이다.2 is a block diagram of a multi-path transmission system according to an embodiment of the present invention.
도 3은 본 발명의 한 실시예에 따른 트래픽 흐름을 예시적으로 나타내는 도면이다.3 is a diagram illustrating traffic flow according to an embodiment of the present invention.
도 4부터 도 6은 본 발명의 한 실시예에 따른 MPTCP 관리부가 제공하는 사용자 설정 화면을 예시적으로 나타내는 도면이다.4 to 6 are diagrams exemplarily illustrating a user setting screen provided by the MPTCP management unit according to an embodiment of the present invention.
도 7은 본 발명의 한 실시예에 따라 WiFi로 세션을 시작한 경우의 다중 경로 전송 방법을 설명하는 흐름도이다. 7 is a flowchart illustrating a multi-path transmission method when a session is started with WiFi according to an embodiment of the present invention.
도 8은 본 발명의 한 실시예에 따라 LTE로 세션을 시작한 경우의 다중 경로 전송 방법을 설명하는 흐름도이다.8 is a flowchart illustrating a multipath transmission method when a session is started with LTE according to an embodiment of the present invention.
도 9와 도 10 각각은 본 발명의 한 실시예에 따른 단말별 트래픽 제어를 도식적으로 설명하는 도면이다.9 and 10 are diagrams for explaining the traffic control for each terminal according to an embodiment of the present invention.
도 11은 본 발명의 한 실시예에 따른 단말의 구성도이다.11 is a block diagram of a terminal according to an embodiment of the present invention.
도 12와 도 13 각각은 본 발명의 한 실시예에 따른 다중 경로 전송 단말의 WiFi 제어 방법을 설명하는 흐름도이다.12 and 13 are flowcharts illustrating a WiFi control method of a multipath transmission terminal according to an embodiment of the present invention.
도 14는 종래의 소켓 통신 방법을 설명하는 도면이다.14 is a diagram illustrating a conventional socket communication method.
도 15부터 도 17은 본 발명의 한 실시예에 따른 소켓 통신 방법을 설명하는 도면이다. 15 to 17 are diagrams illustrating a socket communication method according to an embodiment of the present invention.
도 18은 일반적인 프록시 통신 방법을 설명하는 도면이다.18 is a diagram for explaining a general proxy communication method.
도 19는 본 발명의 한 실시예에 따른 프록시 통신 방법을 설명하는 도면이다.19 is a diagram illustrating a proxy communication method according to an embodiment of the present invention.
도 20은 본 발명의 한 실시예에 따른 프록시 통신 방법의 흐름도이다.20 is a flowchart of a proxy communication method according to an embodiment of the present invention.
도 21은 본 발명의 한 실시예에 따른 단말의 하드웨어 블록도이다.21 is a hardware block diagram of a terminal according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.
본 명세서에서 단말은 이동국(Mobile Station, MS), 이동 단말(Mobile Terminal, MT), 가입자국(Subscriber Station, SS), 휴대 가입자국(Portable Subscriber Station, PSS), 사용자 장치(User Equipment, UE), 접근 단말(Access Terminal, AT) 등을 지칭할 수도 있고, 이동국, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치, 접근 단말 등의 전부 또는 일부의 기능을 포함할 수도 있다. In the present specification, a terminal is a mobile station (MS), a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), a user equipment (UE) It may also refer to an access terminal (AT) and the like, and may include all or some functions of a mobile station, a mobile terminal, a subscriber station, a portable subscriber station, a user device, an access terminal, and the like.
본 명세서의 단말은 기지국(base station, BS), 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 고도화 노드B(evolved NodeB, eNodeB), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등과 같은 네트워크 장치에 접속하여 원격의 서버에 연결될 수 있다.The terminal of the present specification includes a base station (BS), an access point (Access Point, AP), a radio access station (Radio Access Station, RAS), a Node B (Node B), an advanced NodeB (evolved NodeB, eNodeB), A network device such as a base transceiver station (BTS), a mobile multihop relay (MMR) -BS, or the like may be connected to a remote server.
본 명세서의 단말은 스마트폰과 같은 모바일 단말, 스마트패드/태블릿PC와 같은 태블릿 단말, 컴퓨터, 텔레비전 등 다양한 형태의 통신 단말로서, 복수의 통신 인터페이스를 구비할 수 있다. The terminal of the present specification may be a mobile terminal such as a smartphone, a tablet terminal such as a smart pad / tablet PC, a computer, a television, or other various types of communication terminals, and may include a plurality of communication interfaces.
통신 인터페이스는 다양할 수 있다. 예를 들면, 통신 인터페이스는 와이파이(WiFi)/WLAN/블루투스(bluetooth) 등의 근거리 무선망 인터페이스, 그리고 3G/LTE(Long Term Evolution)/LTE-A(Long Term Evolution-Advanced) 등의 이동통신망 인터페이스를 포함할 수 있고, 단말 제조사가 다양한 통신 인터페이스를 추가할 수 있다. 본 명세서에서는 WiFi 인터페이스와 LTE 인터페이스를 예로 들어 설명하나, 통신 인터페이스가 이에 한정되는 것은 아니다.The communication interface may vary. For example, the communication interface may be a short-range wireless network interface such as Wi-Fi / WLAN / Bluetooth, and a mobile network interface such as 3G / LTE (Long Term Evolution) / LTE-A (LTE-A). It may include, and the terminal manufacturer may add various communication interfaces. In the present specification, a WiFi interface and an LTE interface are described as an example, but the communication interface is not limited thereto.
도 1은 본 발명의 한 실시예에 따른 망 병합 전송을 설명하는 개념도이다.1 is a conceptual diagram illustrating network merge transmission according to an embodiment of the present invention.
도 1을 참고하면, 망 병합 전송은 복수의 통신망을 병합하여 데이터를 전송하는 기술로서, 하나의 경로로 전송된 데이터를 복수의 동종 망 또는 복수의 이종 망의 경로로 분할하여 전송하거나, 복수의 경로로 전송된 데이터를 하나의 경로로 묶어 전송할 수 있다. 망 병합 전송은 데이터를 복수의 경로로 동시에 전송하는 의미에서 다중 경로 전송이라고 부를 수 있다.Referring to FIG. 1, a network merge transmission is a technology for transmitting data by merging a plurality of communication networks, and splits and transmits data transmitted through one path into a plurality of homogeneous networks or a plurality of heterogeneous networks. Data transmitted through a path can be bundled and transmitted. Network merge transmission may be referred to as multipath transmission in the sense of simultaneously transmitting data through multiple paths.
단말(100)은 다중 통신 인터페이스를 구비하고, 다중 통신 인터페이스를 통해 한 시점에 복수의 망(예를 들면, WiFi망과 LTE망)에 연결될 수 있다. The terminal 100 may include multiple communication interfaces, and may be connected to a plurality of networks (for example, a WiFi network and an LTE network) at one time through the multiple communication interfaces.
게이트웨이(200)는 서버(300)가 단말(100)로 전송하는 데이터를 수신한다. 여기서, 서버(300)는 다중 통신 인터페이스를 지원하지 않는다고 가정한다. 게이트웨이(200)는 다중 경로 전송을 위한 네트워크 장치이다.The gateway 200 receives data transmitted from the server 300 to the terminal 100. Here, it is assumed that the server 300 does not support multiple communication interfaces. The gateway 200 is a network device for multipath transmission.
게이트웨이(200)는 수신한 데이터를 단말(100)의 다중 통신 인터페이스로 전달하기 위해 데이터를 분할한다. 그리고 게이트웨이(200)는 일부 데이터를 LTE망을 통해 단말(100)로 전송하고, 나머지 데이터를 WiFi망을 통해 단말(100)로 전송할 수 있다. 단말(100)은 복수의 통신 인터페이스를 통해 수신한 데이터를 병합한다. 마찬가지 방법으로, 게이트웨이(200)는 단말(100)이 다중 통신 인터페이스를 이용하여 전송한 데이터를 병합하여 서버(300)로 전송할 수 있다. The gateway 200 divides the data to transfer the received data to the multiple communication interfaces of the terminal 100. The gateway 200 may transmit some data to the terminal 100 through the LTE network, and transmit the remaining data to the terminal 100 through the WiFi network. The terminal 100 merges the data received through the plurality of communication interfaces. In a similar manner, the gateway 200 may merge the data transmitted by the terminal 100 using the multiple communication interface and transmit the merged data to the server 300.
WiFi망과 LTE망의 병합 기술은 병합 지점에 따라 다음과 같이 분류될 수 있다. The merging technology of the WiFi network and the LTE network may be classified as follows according to the merging point.
L2/링크 계층 병합은 LTE 코어망(core)와 접속망(access)의 경계 지점(즉, eNB)에서 WiFi AP로 전용 터널을 생성한다.L2 / link layer merging creates a dedicated tunnel to the WiFi AP at the boundary point of the LTE core and access network (ie, eNB).
L3/네트워크 계층 병합은 LTE망과 WiFi망에서 독립적으로 사용하는 IP 주소를 통합하기 위해 가상 IP 터널을 생성한다.L3 / network layer merging creates virtual IP tunnels to consolidate IP addresses used independently in LTE and WiFi networks.
L4/전송 계층 병합은 단일 접속망을 통해 세션을 생성한 후, 추가적인 접속망이 사용 가능한 경우, IP 주소체계와 상관없이 데이터 전송에 참여시킬 수 있다. 이때, 응용레벨의 통신 주체는 하나 이상의 접속망을 이용하여 단일 세션 기반의 데이터 통신이 가능한 구조를 지원한다. L4 / Transport layer merging can create a session over a single access network and then participate in data transmission regardless of the IP addressing system, if additional access networks are available. At this time, the communication subject at the application level supports a structure capable of data communication based on a single session using one or more access networks.
L7/응용 계층 병합은 전용 어플리케이션/에이전트가 자체적으로 LTE망과 WiFi망을 통해 수신한 데이터를 재조합하거나 응용 프로토콜 데이터를 분리하여 전송한다.L7 / application layer merging is a dedicated application / agent to recombine data received via the LTE network and WiFi network itself or transmit application protocol data separately.
이와 같이, 병합 전송 계층에 따라 다양한 병합 전송이 가능한데, 앞으로는 다중 경로 TCP(Multi-Path TCP, MPTCP)를 통한 병합 전송 위주로 설명한다. As described above, various merge transmissions are possible according to the merge transport layer. The following description will focus on merge transmission through multi-path TCP (MPTCP).
도 2는 본 발명의 한 실시예에 따른 다중 경로 전송 시스템의 구성도이다.2 is a block diagram of a multi-path transmission system according to an embodiment of the present invention.
도 2를 참고하면, 다중 경로 전송 시스템은 단말(100)과 네트워크 장치인 게이트웨이(200)를 포함한다. 단말(100)과 게이트웨이(200)는 MPTCP 기반으로 데이터를 송수신한다. 단말(100)은 게이트웨이(200)를 통해 서버(300)와 데이터를 송수신할 수 있고, 단말(100)은 게이트웨이(200)를 통하지 않고 서버(400)와 데이터를 송수신할 수 있다. 여기서, 서버(300. 400)는 단일 경로로 TCP 통신하는 일반적인 서버로 가정한다. Referring to FIG. 2, the multipath transmission system includes a terminal 100 and a gateway 200 as a network device. The terminal 100 and the gateway 200 transmit and receive data based on MPTCP. The terminal 100 may transmit / receive data with the server 300 through the gateway 200, and the terminal 100 may transmit / receive data with the server 400 without passing through the gateway 200. Here, the server 300. 400 is assumed to be a general server that performs TCP communication through a single path.
MPTCP를 지원하는 단말(100)은 MPTCP 관리부(110)와 MPTCP 처리부(130)를 포함하는 소프트웨어를 탑재하고, 복수의 물리적 통신 인터페이스(150, 160)를 포함한다. 예를 들면, 통신 인터페이스(150)는 LTE망에 접속하는 인터페이스이고, 통신 인터페이스(160)는 WiFi망에 접속하는 인터페이스일 수 있다. The terminal 100 supporting the MPTCP includes software including the MPTCP management unit 110 and the MPTCP processing unit 130, and includes a plurality of physical communication interfaces 150 and 160. For example, the communication interface 150 may be an interface for accessing an LTE network, and the communication interface 160 may be an interface for accessing a WiFi network.
MPTCP 관리부(110)는 사용자가 접근하여 MPTCP를 설정하거나 관리할 수 있는 어플리케이션이다. 또한, MPTCP 관리부(110)는 단말(100)에 적용되는 MPTCP 관련 다양한 설정 정보나 정책 정보를 관리할 수 있다. MPTCP 관리부(110)는 예를 들면, 기가 패스 매니저(GiGA path manager)라고 부를 수 있다. The MPTCP management unit 110 is an application that a user can access to set or manage MPTCP. In addition, the MPTCP management unit 110 may manage various setting information or policy information related to MPTCP applied to the terminal 100. The MPTCP management unit 110 may be called, for example, a Giga path manager.
MPTCP 처리부(130)는 단말(100)의 어플리케이션과 소켓(socket) 통신하고, 라우팅 테이블을 기초로 데이터를 전송한다. MPTCP 처리부(130)는 어플리케이션별 전송 정보를 기초로, 일부 어플리케이션은 MPTCP 전송하고, 일부 어플리케이션은 일반 TCP 전송할 수 있다.The MPTCP processor 130 communicates with an application of the terminal 100 and performs a socket, and transmits data based on a routing table. The MPTCP processor 130 may transmit MPTCP and some applications may transmit general TCP based on the transmission information for each application.
게이트웨이(200)는 MPTCP 데이터와 TCP 데이터를 중계(relay)한다. 게이트웨이(200)는 단말(100)이 일반 TCP 서버와 통신할 때, MPTCP를 통해 데이터를 송수신할 수 있도록 지원(Transparent CP supported)하는 프록시 서버일 수 있다. 게이트웨이(200)는 다중망의 접점에 위치하고, 예를 들면, LTE망과 WiFi망의 접점에 위치할 수 있다. 게이트웨이(200)는 다중망 병합 게이트웨이(MultiNet Aggregation-Gateway, MA-GW)라고 부를 수 있다.The gateway 200 relays MPTCP data and TCP data. The gateway 200 may be a proxy server that supports transmission and reception of data through MPTCP when the terminal 100 communicates with a general TCP server. The gateway 200 may be located at a contact point of a multiple network, for example, at a contact point of an LTE network and a WiFi network. The gateway 200 may be referred to as a multi-network aggregation gateway (MA-GW).
게이트웨이(200)는 MPTCP 중계부(210)를 포함하는 소프트웨어를 탑재하고, 복수의 물리적 통신 인터페이스(230, 240, 250)를 포함한다. 예를 들면, 통신 인터페이스(230)는 LTE망으로 데이터를 송수신하는 인터페이스이고, 통신 인터페이스(240)는 WiFi망으로 데이터를 송수신하는 인터페이스이며, 통신 인터페이스(250)는 서버(300)와 데이터를 송수신하는 인터페이스이다.The gateway 200 includes software including the MPTCP relay 210 and includes a plurality of physical communication interfaces 230, 240, and 250. For example, the communication interface 230 is an interface for transmitting and receiving data over the LTE network, the communication interface 240 is an interface for transmitting and receiving data over the WiFi network, and the communication interface 250 transmits and receives data with the server 300. It is an interface.
MPTCP는 하나 이상의 IP/인터페이스를 동시에 사용하여 데이터를 송수신하는 L4 기술이다. 따라서, 단말(100)의 어플리케이션은 일반 TCP를 통해 통신을 시도하지만, 실제로 단말(100)의 MPTCP 처리부(130)가 서브플로우 단위로 세션을 생성하여 적어도 하나의 통신 인터페이스로 데이터를 출력한다. MPTCP is an L4 technology that sends and receives data using more than one IP / interface at the same time. Therefore, the application of the terminal 100 attempts to communicate through general TCP, but actually, the MPTCP processing unit 130 of the terminal 100 generates a session in subflow units and outputs data to at least one communication interface.
이와 같이, MPTCP와 같은 망 병합 전송은 물리적으로 분리된 LTE망과 WiFi망을 논리적으로 하나의 망처럼 병합하여 두 망을 동시에 사용할 수 있다. 특히, MPTCP는 한 서비스에 대해 생성된 세션을 복수의 서브플로우로 분할할 수 있고, 이를 통해 동적으로 접속망을 추가하거나 해제할 수 있다. 따라서, MPTCP는 병합 전송이 가능한 경우에는 두 망을 병합하여 전송 속도를 높이면서도, 어느 무선망의 상태가 열악해지는 경우에는 다른 무선망으로 트래픽을 전송함으로써 물리적 환경 변화에 관계없이 안정적인 서비스를 제공할 수 있다. As such, network merge transmission such as MPTCP can use two networks simultaneously by merging physically separated LTE networks and WiFi networks logically as one network. In particular, MPTCP can split a session created for a service into a plurality of subflows, thereby dynamically adding or releasing access networks. Accordingly, MPTCP can provide stable service regardless of physical environment change by increasing traffic speed by merging two networks when merge transmission is possible, and by transmitting traffic to other wireless network when the status of one wireless network becomes poor. Can be.
결과적으로, MPTCP 시스템은 통신 자원을 효율적으로 사용할 수 있고, 이를 통해 전송 속도를 높이며, 통신 구간 실패에 대한 유연한 대처가 가능하다. 특히, MPTCP 시스템에서 게이트웨이(200)가 MPTCP 데이터와 TCP 데이터를 중계하므로, MPTCP를 지원하지 않는 일반 TCP 서버가 존재하더라도 단말(100)은 MPTCP를 통해 일반 서버에 접속할 수 있다. As a result, the MPTCP system can efficiently use the communication resources, thereby increasing the transmission speed, and can flexibly cope with the failure of the communication section. In particular, since the gateway 200 relays the MPTCP data and the TCP data in the MPTCP system, the terminal 100 may access the general server through the MPTCP even if a general TCP server does not support the MPTCP.
도 3은 본 발명의 한 실시예에 따른 트래픽 흐름을 예시적으로 나타내는 도면이고, 도 4부터 도 6은 본 발명의 한 실시예에 따른 MPTCP 관리부가 제공하는 사용자 설정 화면을 예시적으로 나타내는 도면이다.FIG. 3 is a diagram illustrating traffic flow according to an embodiment of the present invention, and FIGS. 4 to 6 are views illustrating a user setting screen provided by an MPTCP management unit according to an embodiment of the present invention. .
도 3을 참고하면, 단말(100)은 복수의 통신 인터페이스(예를 들면, LTE망에 접속하는 인터페이스와 WiFi망에 접속하는 인터페이스)를 구비하고 이를 통해 MPTCP를 지원한다. Referring to FIG. 3, the terminal 100 includes a plurality of communication interfaces (eg, an interface connecting to an LTE network and an interface connecting to a WiFi network) and support MPTCP.
단말(100)은 어플리케이션별 설정을 기초로 각 어플리케이션의 전송 경로를 선택할 수 있다. 예를 들면, 단말(100)은 일부 어플리케이션(예를 들면, 메신저 어플리케이션)의 서버와 LTE망을 통해 TCP 통신하고, 일부 어플리케이션(예를 들면, 소셜 네트워크 서비스 어플리케이션)의 서버와 WiFi망을 통해 TCP 통신하며, 일부 어플리케이션(예를 들면, 동영상 서비스 어플리케이션)의 서버와는 게이트웨이(MA-GW)(200)를 통해 MPTCP 통신할 수 있다. 즉, 단말(100)은 일부 어플리케이션에 대해, LTE망과 WiFi망을 동시에 가용 가능한 전송망으로 설정할 수 있다. The terminal 100 may select a transmission path of each application based on the setting for each application. For example, the terminal 100 communicates with a server of some applications (for example, a messenger application) through an LTE network, and the TCP through a WiFi network with a server of some applications (for example, a social network service application). In communication with the server of some applications (eg, a video service application), an MPTCP communication may be performed through the gateway (MA-GW) 200. That is, the terminal 100 may set the LTE network and the WiFi network as an available transmission network at the same time for some applications.
게이트웨이(200)를 통해 MPTCP 통신하는 어플리케이션들의 목록은 다중 경로 어플리케이션 목록 또는 화이트리스트(whitelist)라고 부를 수 있고, 앞으로는 간단히 화이트리스트라고 부른다. 화이트리스트는 사용자 선택 또는 통신 사업자 정책에 의해 설정될 수 있다. The list of applications for MPTCP communication through the gateway 200 may be referred to as a multipath application list or whitelist, and in the future simply referred to as a whitelist. The white list may be set by user selection or carrier policy.
단말(100)과 게이트웨이(200)는 프록시 클라이언트와 프록시 서버로 동작한다. 단말(100)은 프록시 기술을 이용하여 화이트리스트의 어플리케이션에서 발생된 트래픽만을 게이트웨이(200)로 라우팅한다. 게이트웨이(200)는 화이트리스트를 포함하는 프록시 정책을 동적으로 관리하고, 단말(100)에 배포할 수 있다. 또는, 별도의 정책 배포 장치가 프록시 정책을 생성 및 배포할 수 있다.The terminal 100 and the gateway 200 operate as proxy clients and proxy servers. The terminal 100 routes only the traffic generated by the whitelisted application to the gateway 200 using proxy technology. The gateway 200 may dynamically manage the proxy policy including the white list and distribute the proxy policy to the terminal 100. Alternatively, a separate policy distribution device may create and distribute a proxy policy.
도 4부터 도 6를 참고하면, 단말(100)은 사용자가 접근하여 통신 환경을 설정하고, 어플리케이션별 통신 경로를 설정할 수 있는 어플리케이션인 MPTCP 관리부를 탑재한다. 어플리케이션은 예를 들면, 기가 패스 매니저(GiGA path manager)라고 부를 수 있다.4 to 6, the terminal 100 includes an MPTCP management unit that is an application that allows a user to access and set a communication environment, and set a communication path for each application. The application may be called, for example, a Giga path manager.
먼저 도 4를 참고하면, MPTCP 관리부는 단말(100)에서 실행되고, 사용자가 접근하여 통신 환경을 설정할 수 있는 화면을 디스플레이에 표시한다. MPTCP 관리부는 WiFi 설정, 모바일 데이터 설정, 그리고 다중 경로(예를 들면, 기가 패스) 설정을 할 수 있는 화면을 표시한다. MPTCP 관리부는 단말(100)의 화면에 다중 경로 설정을 나타내는 이미지(10)를 표시할 수 있다.First, referring to FIG. 4, the MPTCP management unit is executed in the terminal 100 and displays a screen on which a user can access and set a communication environment on a display. The MPTCP management unit displays a screen that allows you to configure WiFi settings, mobile data settings, and multipath (eg, gigapath) settings. The MPTCP management unit may display the image 10 representing the multi-path setting on the screen of the terminal 100.
이미지(10)가 선택되면, MPTCP 관리부는 도 5와 같이 다중 경로(기가패스) 어플리케이션을 설정할 수 있는 화면을 표시한다. MPTCP 관리부는 다중 경로 전송이 가능한 어플리케이션들(21, 22, 23, 24, 25)을 표시한다. MPTCP 관리부는 어플리케이션을 추가할 수 있는 이미지(30)를 표시할 수 있다. 기본 어플리케이션은 도 3을 참고하면, LTE망이나 WiFi망 중 어느 하나를 이용하여 통신하는 어플리케이션이다.When the image 10 is selected, the MPTCP management unit displays a screen for setting a multipath (gigapath) application as shown in FIG. 5. The MPTCP management unit displays the applications 21, 22, 23, 24, and 25 capable of multipath transmission. The MPTCP management unit may display an image 30 to which an application may be added. Referring to FIG. 3, the basic application is an application that communicates using either an LTE network or a WiFi network.
이미지(30)가 선택되면, MPTCP 관리부는 도 6과 같이 화이트리스트에 포함된 어플리케이션들을 표시한다. 사용자는 새로운 어플리케이션을 화이트리스트에 추가할 수 있고, 화이트리스트에 포함된 어플리케이션을 화이트리스트에서 제외할 수 있다. When the image 30 is selected, the MPTCP management unit displays the applications included in the white list as shown in FIG. The user can add a new application to the whitelist and exclude the whitelisted application from the whitelist.
다시 도 3을 참고하면, 단말(100)은 화이트리스트에 포함된 어플리케이션의 트래픽만 게이트웨이(200)를 통과하도록 하고, 화이트리스트에 포함되지 않은 어플리케이션이 실행되면 해당 어플리케이션의 설정에 따라 LTE망/WiFi망을 통해 트래픽을 송수신한다. Referring to FIG. 3 again, the terminal 100 allows only traffic of the application included in the white list to pass through the gateway 200, and when an application not included in the white list is executed, the LTE network / WiFi is set according to the setting of the corresponding application. Send and receive traffic through the network.
단말(100)은 어플리케이션 식별자[예를 들면, UID(user identification)]를 기초로 화이트리스트에 포함된 어플리케이션의 트래픽인지 구분할 수 있다. The terminal 100 may distinguish whether the traffic of the application included in the white list is based on the application identifier (for example, user identification (UID)).
한편, 화이트리스트는 MPTCP 관리부와 같은 어플리케이션을 통해 사용자가 선택할 수 있고, 또는 통신 사업자 정책에 의해 설정될 수 있다. 단말(100)은 네트워크 장치, 예를 들면 게이트웨이(200)로부터 화이트리스트 정책을 수신하고, 수신한 화이트리스트 정책을 기초로 어플리케이션별 전송 경로를 결정할 수 있다. 당연히, 단말(100)은 별도의 네트워크 서버로부터 화이트리스트 정책을 수신할 수 있다.Meanwhile, the white list may be selected by the user through an application such as the MPTCP management unit, or may be set by a carrier policy. The terminal 100 may receive a white list policy from a network device, for example, the gateway 200, and determine a transmission path for each application based on the received white list policy. Naturally, the terminal 100 may receive a white list policy from a separate network server.
단말(100)과 게이트웨이(200)는 푸쉬/풀 방식 또는 별도 정의된 시그널링 등을 통해 화이트리스트 정책을 동기화할 수 있다.The terminal 100 and the gateway 200 may synchronize the whitelist policy through a push / pull scheme or separately defined signaling.
도 7은 본 발명의 한 실시예에 따라 WiFi로 세션을 시작한 경우의 다중 경로 전송 방법을 설명하는 흐름도이다.7 is a flowchart illustrating a multi-path transmission method when a session is started with WiFi according to an embodiment of the present invention.
도 7을 참고하면, 단말(100)이 WiFi망에 접속한다(S110). 그러면, 우선 접속 경로(Primary path)가 WiFi로 설정된다. 이렇게 사용자가 WiFi로 세션을 시작한 경우, WiFi 선호(WiFi preferred) 상태라고 할 수 있다.Referring to FIG. 7, the terminal 100 accesses a WiFi network (S110). First, the primary path is set to WiFi. When the user starts a session with WiFi in this way, it can be said to be a WiFi preferred state.
단말(100)이 화이트리스트에 포함되지 않은 서비스/어플리케이션(Non-whitelist Service)을 실행하면, 단말(100)은 WiFi망을 통해 서버(400)에 연결된다(S120). 화이트리스트 비포함 서비스의 트래픽은 게이트웨이(200)를 통과하지 않는다. 여기서, 서버(400)는 화이트리스트 비포함 서비스/어플리케이션에 관련된 서버이다. When the terminal 100 executes a non-whitelist service that is not included in the whitelist, the terminal 100 is connected to the server 400 through a WiFi network (S120). Traffic of the whitelist not included service does not pass through the gateway 200. Here, the server 400 is a server related to a whitelist non-service / application.
단말(100)이 화이트리스트에 포함된 서비스/어플리케이션(whitelist Service)을 실행하면, 단말(100)은 게이트웨이(200)를 통과하는 WiFi 경로로 서버(300)와의 세션을 시작한다(S130). 즉, 단말(100)이 WiFi망에서 화이트리스트 포함 서비스/어플리케이션의 세션을 시작하면, 단말(100)과 게이트웨이(200)는 WiFi 경로로 연결되어, 화이트리스트에 포함된 트래픽은 게이트웨이(200)를 통과한다.When the terminal 100 executes a service / application included in the whitelist, the terminal 100 starts a session with the server 300 through a WiFi path passing through the gateway 200 (S130). That is, when the terminal 100 starts a session of the whitelist service / application in the WiFi network, the terminal 100 and the gateway 200 are connected by a WiFi path, and the traffic included in the whitelist is connected to the gateway 200. To pass.
다중 경로 전송을 위해, 단말(100)은 LTE 인터페이스를 활성화한다(S140). 단말(100)에서 LTE/WiFi Dual On/off가 설정될 수 있고, LTE/WiFi Dual On이 되면 단말(100)은 LTE망과 WiFi망에 동시 접속할 수 있다. For multipath transmission, the terminal 100 activates the LTE interface (S140). LTE / WiFi Dual On / off may be set in the terminal 100, and when the LTE / WiFi Dual On is performed, the terminal 100 may simultaneously access the LTE network and the WiFi network.
단말(100)은 게이트웨이(200)와 연결되는 LTE 경로를 추가한다(S150). 이때, 우선 접속 경로는 여전히 WiFi 경로이고, 보조 접속 경로(secondary path)는 추가된 LTE 경로이다. 단말(100)과 게이트웨이(200)는 LTE 경로로 서브플로우 세션을 유지하지만, 화이트리스트에 포함된 서비스의 트래픽(화이트리스트 트래픽)은 주로 WiFi 경로로 송수신할 수 있다. 즉, 단말이 WiFi로 세션을 시작한 WiFi 선호 상태인 경우, 게이트웨이(200)는 LTE 경로가 추가되더라도 LTE 데이터 사용을 최소화하도록 제어할 수 있다.The terminal 100 adds an LTE path connected to the gateway 200 (S150). At this time, the primary access path is still the WiFi path, and the secondary access path (secondary path) is the added LTE path. Although the terminal 100 and the gateway 200 maintain a subflow session on the LTE path, the traffic (whitelist traffic) of a service included in the white list may mainly transmit and receive on the WiFi path. That is, when the UE is in a WiFi preferred state where the UE starts a session with WiFi, the gateway 200 may control to minimize the use of LTE data even though the LTE path is added.
어느 시점에 WiFi 경로로 데이터를 송수신하기 어려운 경우, 단말(100)은 우선 접속 경로를 LTE 경로로 전환한다(S160). 예를 들면, WiFi 경로의 품질이 낮아지거나 단말(100)이 WiFi 지역을 벗어나는 경우, 단말(100)에서 LTE/WiFi Dual off가 설정된다. 그러면, 단말(100)은 보조 접속 경로로 설정된 LTE 경로를 우선 접속 경로로 전환하여 끊김없는 서비스(seamless)를 지원한다. 이때, 단말(100)은 WiFi 경로를 삭제하여 WiFi 접속을 해제하지만, WiFi 인터페이스를 활성화 상태로 유지할 수 있다. If it is difficult to transmit and receive data via the WiFi path at any point, the terminal 100 first switches the access path to the LTE path (S160). For example, when the quality of the WiFi path is lowered or the terminal 100 is out of the WiFi region, LTE / WiFi Dual off is set in the terminal 100. Then, the terminal 100 supports a seamless service by converting the LTE path set as the auxiliary access path to the priority access path. In this case, the terminal 100 releases the WiFi connection by deleting the WiFi path, but may maintain the WiFi interface in an activated state.
이와 같이, 게이트웨이(200)를 통과하는 트래픽은 다중 경로(MPTCP)로 단말(100)에 전송될 수 있는 상태이므로, 단말(100)의 접속망이 변경되어 어느 하나의 경로가 삭제되더라도, 데이터는 끊김없이 단말(100)로 전송될 수 있다. 반면, 단말(100)이 게이트웨이(200)를 경유하지 않고 WiFi망을 통해 서버(400)에 연결된 후, WiFi 지역을 벗어나면, 연결된 세션은 끊어지고, LTE망을 통해 새로운 세션이 연결되어야 한다. As such, the traffic passing through the gateway 200 may be transmitted to the terminal 100 in a multi-path (MPTCP) state, and thus, even if any one path is deleted due to a change in the access network of the terminal 100, the data is disconnected. It may be transmitted to the terminal 100 without. On the other hand, after the terminal 100 is connected to the server 400 through the WiFi network without passing through the gateway 200, when the terminal 100 leaves the WiFi area, the connected session is disconnected and a new session must be connected through the LTE network.
도 8은 본 발명의 한 실시예에 따라 LTE로 세션을 시작한 경우의 다중 경로 전송 방법을 설명하는 흐름도이다.8 is a flowchart illustrating a multipath transmission method when a session is started with LTE according to an embodiment of the present invention.
도 8을 참고하면, 단말(100)이 LTE망에 접속한다(S210). 그러면, 우선 접속 경로가 LTE로 설정된다. 이렇게 LTE로 세션을 시작한 상태를 병합 전송(LTE-WiFi Aggregation MPTCP) 상태라고 할 수 있다.Referring to FIG. 8, the terminal 100 accesses an LTE network (S210). The preferred access path is then set to LTE. The state of starting a session with LTE may be referred to as LTE-WiFi Aggregation MPTCP.
단말(100)이 화이트리스트에 포함된 서비스/어플리케이션을 실행하면, 단말(100)은 게이트웨이(200)를 통과하는 LTE 경로로 서버(300)와의 세션을 시작한다(S220). 단말(100)과 게이트웨이(200)는 LTE 경로로 연결된다. 화이트리스트 비포함 서비스/어플리케이션이 실행되면, 단말(100)과 서버(400)는 LTE망을 통해 연결되지만, 트래픽은 게이트웨이(200)를 경유하지 않는다.When the terminal 100 executes a service / application included in the white list, the terminal 100 starts a session with the server 300 on the LTE path passing through the gateway 200 (S220). The terminal 100 and the gateway 200 are connected by an LTE path. When the whitelist-free service / application is executed, the terminal 100 and the server 400 are connected through the LTE network, but the traffic does not pass through the gateway 200.
단말(100)이 WiFi 지역으로 이동하면, 단말(100)은 접속가능한 WiFi AP를 탐색한다(S230). 단말(100)은 WiFi AP의 품질을 체크하고 설정에 따라 WiFi망으로의 접속을 시도한다. 이때, 단말(100)은 WiFi 통신 모듈을 자동으로 온(on)시켜 주변을 탐색할 수 있다.When the terminal 100 moves to the WiFi region, the terminal 100 searches for an accessible WiFi AP (S230). The terminal 100 checks the quality of the WiFi AP and attempts to access the WiFi network according to the setting. In this case, the terminal 100 may automatically turn on the WiFi communication module to search for the surroundings.
단말(100)은 다중 경로 전송을 위해, WiFi 인터페이스를 활성화한다(S240). 단말(100)에서 LTE/WiFi Dual On이 설정되면, 단말(100)은 LTE망과 WiFi망에 동시 접속할 수 있다. 이때, WiFi 경로가 우선 접속 경로로 설정되고, LTE 경로는 보조 접속 경로로 변경된다. 한편, 설정에 따라 우선 접속 경로를 여전히 LTE 경로로 유지할 수 있다. The terminal 100 activates the WiFi interface for multipath transmission (S240). When LTE / WiFi Dual On is set in the terminal 100, the terminal 100 may simultaneously access the LTE network and the WiFi network. In this case, the WiFi path is set as the priority access path, and the LTE path is changed to the auxiliary access path. Meanwhile, depending on the configuration, the preferred access path may still be maintained as the LTE path.
단말(100)은 게이트웨이(200)와 연결되는 WiFi 경로를 추가한다(S250). 단말(100)은 이미 연결된 LTE 경로와 추가된 WiFi 경로를 병합하여 병합 전송한다. 따라서, 화이트리스트에 포함된 어플리케이션은 LTE 경로와 WiFi 경로 각각의 서브플로우를 통해 데이터를 송수신할 수 있다. 만약, 기존에 게이트웨이(200)를 경유하지 않고 LTE망을 통해 연결된 세션이 있다면, 이 세션은 끊어지고, WiFi 경로로 새로운 세션을 시작한다(seamless 미지원). 이때, 화이트리스트 비포함 서비스/어플리케이션은 WiFi망에서 세션을 시작하지만, 트래픽은 게이트웨이(200)를 경유하지 않는다.The terminal 100 adds a WiFi path connected to the gateway 200 (S250). The terminal 100 merges and transmits the already connected LTE path and the added WiFi path. Accordingly, an application included in the white list may transmit and receive data through subflows of the LTE path and the WiFi path. If there is a session connected through the LTE network without passing through the gateway 200, the session is disconnected, and a new session is started by the WiFi path (seamless not supported). In this case, the whitelist-free service / application starts a session in the WiFi network, but the traffic does not pass through the gateway 200.
어느 시점에 WiFi 경로로 데이터를 송수신하기 어려운 경우, 단말(100)은 우선 접속 경로를 LTE 경로로 전환한다(S260). 예를 들면, WiFi 경로의 품질이 낮아지거나 단말(100)이 WiFi 지역을 벗어나는 경우, 단말(100)에서 LTE/WiFi Dual off가 설정된다. 단말(100)은 LTE 경로와 WiFi 경로를 동시에 이용하다가, 우선 접속 경로를 LTE 경로로 전환함으로써, 끊김없는 서비스(seamless)를 지원한다. 이때, 단말(100)은 WiFi 경로를 삭제하여 WiFi 접속을 해제하지만, WiFi 인터페이스를 활성화 상태로 유지할 수 있다. 단말(100)은 WiFi 통신 모듈을 자동으로 오프(off)시킬 수 있다.If it is difficult to transmit and receive data via the WiFi path at any point, the terminal 100 first switches the access path to the LTE path (S260). For example, when the quality of the WiFi path is lowered or the terminal 100 is out of the WiFi region, LTE / WiFi Dual off is set in the terminal 100. The terminal 100 simultaneously uses the LTE path and the WiFi path, and then switches the priority access path to the LTE path, thereby supporting seamless service. In this case, the terminal 100 releases the WiFi connection by deleting the WiFi path, but may maintain the WiFi interface in an activated state. The terminal 100 may automatically turn off the WiFi communication module.
도 9와 도 10 각각은 본 발명의 한 실시예에 따른 단말별 트래픽 제어를 도식적으로 설명하는 도면이다.9 and 10 are diagrams for explaining the traffic control for each terminal according to an embodiment of the present invention.
도 9를 참고하면, 병합 전송은 전송 속도를 높일 수 있고, 끊김없는 안정적인 서비스를 제공하는 장점이 있다. 하지만, 사용자는 데이터 사용량에 따라 요금을 지불하는데, 화이트리스트에 포함된 서비스/어플리케이션에 대해서 항상 병합 전송을 하면 데이터 사용량이 늘어날 수 있다. Referring to FIG. 9, merge transmission may increase transmission speed and provide a seamless and stable service. However, the user pays a fee according to the data usage. If the merged transmission is always performed for the service / application included in the whitelist, the data usage may increase.
따라서, 게이트웨이(200)는 사용자의 요금제 정보나 사용자 접속 정보를 기초로 단말의 등급을 구분하고, 등급을 기초로 단말별로 요금에 관계된 데이터 사용량, 즉 LTE 데이터 사용량을 조절한다. 등급은 복수 등급으로 나눌 수 있으나, 간단히 골드 등급과 실버 등급으로 설명한다. 게이트웨이(200)는 골드 등급 단말에 MPTCP를 적용하는 경우, LTE망과 WiFi망을 동시에 사용하여 트래픽을 전송한다. 게이트웨이(200)는 실버 등급 단말에 MPTCP를 적용하는 경우, LTE망으로 전송되는 트래픽을 일정 수준이하로 줄인다(LTE throttling).Accordingly, the gateway 200 classifies the class of the terminal based on the user's plan information or the user access information, and adjusts the data usage related to the rate, that is, the LTE data usage, for each terminal based on the class. Grades can be divided into multiple grades, but they are briefly described as gold grades and silver grades. When the MP200 is applied to the gold grade terminal, the gateway 200 transmits traffic using the LTE network and the WiFi network at the same time. When the MP200 is applied to the silver grade terminal, the gateway 200 reduces the traffic transmitted to the LTE network to a predetermined level or less (LTE throttling).
게이트웨이(200)는 단말(100)의 요금제 정보를 기초로 단말(100)의 등급을 구분할 수 있다. 예를 들어, 단말(100)이 LTE 데이터 무제한 가입자인 경우, 게이트웨이(200)는 단말(100)을 골드 등급으로 판단한다. 단말(100)이 사용 가능한 LTE 데이터량이 정해진 가입자인 경우, 게이트웨이(200)는 단말(100)을 실버 등급으로 판단한다. 또는, 사용 가능한 LTE 데이터량이 정해진 가입자이더라도, 게이트웨이(200)는 남아있는 LTE 데이터량을 기초로 단말(100)의 등급을 가변적으로 판단할 수 있다.The gateway 200 may classify the class of the terminal 100 based on the plan information of the terminal 100. For example, when the terminal 100 is an unlimited number of LTE data, the gateway 200 determines the terminal 100 as a gold grade. If the terminal 100 is a subscriber with a predetermined amount of available LTE data, the gateway 200 determines the terminal 100 as a silver grade. Or, even if the subscriber is available LTE data amount determined, the gateway 200 may variably determine the class of the terminal 100 based on the remaining LTE data amount.
게이트웨이(200)는 단말(100)의 최초 접속망을 기초로 단말(100)의 등급을 구분할 수 있다. The gateway 200 may classify the class of the terminal 100 based on the initial access network of the terminal 100.
단말(100)이 LTE망에서 어플리케이션을 실행한 경우(LTE-WiFi 병합 상태), 게이트웨이(200)는 단말(100)을 골드 등급으로 판단하고, LTE망과 WiFi망을 동시에 사용하여 트래픽을 전송한다. 즉, 게이트웨이(200)는 사용자가 LTE 데이터 사용을 동의한 경우로 가정하고, 필요 시 LTE-WiFi 병합을 통한 속도 증대 서비스를 제공한다. 단말(100)은 LTE망과 WiFi망의 통신 인터페이스를 모두 온(Dual on)시키고, LTE망과 WiFi망을 동시에 사용한다. 따라서, LTE-WiFi 병합 상태에서, 동영상/파일전송 서비스를 이용하는 경우, 영상 품질을 보장하고 파일 전송 속도를 높일 수 있다.When the terminal 100 executes the application in the LTE network (LTE-WiFi merged state), the gateway 200 determines the terminal 100 as a gold grade and transmits traffic using the LTE network and the WiFi network simultaneously. . That is, the gateway 200 assumes that the user agrees to use LTE data, and provides a speed increase service through LTE-WiFi merging when necessary. The terminal 100 turns on both communication interfaces of the LTE network and the WiFi network, and simultaneously uses the LTE network and the WiFi network. Therefore, when using a video / file transfer service in the LTE-WiFi merged state, it is possible to guarantee the video quality and to increase the file transfer speed.
단말(100)이 WiFi망에서 어플리케이션을 실행한 경우(WiFi 선호 상태), 게이트웨이(200)는 단말(100)을 실버 등급으로 판단하고, LTE망으로 전송되는 트래픽을 일정 수준 이하로 줄일 수 있다. 즉, 게이트웨이(200)는 사용자가 의도적으로 WiFi에 접속한 경우이므로, LTE 데이터 사용을 최소화하겠다는 의도로 판단한다. 단말(100)은 LTE망과 WiFi망의 통신 인터페이스를 모두 온(Dual on)시키고, 단말(100)과 게이트웨이(200) 사이에서 LTE망을 통한 TCP 서브플로우 세션은 유지하되, LTE 경로로는 데이터 송수신을 하지 않거나, 일정 수준 이하의 트래픽만 송수신할 수 있다. 이를 통해, 단말(100)은 WiFi망에서 최대한 많은 트래픽을 처리할 수 있다. 그리고, LTE망을 통한 서브플로우 세션으로 데이터를 전송하지 않더라도 단말(100)은 LTE 통신 인터페이스를 활성화 상태로 유지하고 있으므로, WiFi 품질 열화 시 LTE망으로 트래픽 경로를 전환하여 Fully seamless mobility를 지원할 수 있다. 따라서, WiFi 선호 상태에서, 동영상/파일전송 서비스를 이용하는 경우, 끊김없는 영상 재생 및 파일 전송이 가능하다.When the terminal 100 executes the application in the WiFi network (WiFi preferred state), the gateway 200 may determine the terminal 100 as a silver grade and reduce the traffic transmitted to the LTE network to a predetermined level or less. That is, the gateway 200 determines that the user intends to minimize the LTE data use since the user intentionally connected to WiFi. The terminal 100 turns on both communication interfaces of the LTE network and the WiFi network, and maintains a TCP subflow session through the LTE network between the terminal 100 and the gateway 200, but uses data through the LTE path. No transmission or reception, or only traffic below a certain level can be sent and received. Through this, the terminal 100 may process as much traffic as possible in the WiFi network. In addition, since the terminal 100 maintains the LTE communication interface in an active state even without transmitting data through a subflow session through the LTE network, the UE 100 may support full seamless mobility by switching traffic paths to the LTE network when WiFi quality deteriorates. . Therefore, when using a video / file transfer service in a WiFi preferred state, seamless video playback and file transfer are possible.
게이트웨이(200)는 MPTCP에서 단말(100)이 최초 TCP SYN이 올라와서 맺은 TCP 세션의 정보를 기초로 단말쪽 IP가 LTE망인지 WiFi망인지 즉, 접속망을 알 수 있다. 게이트웨이(200)는 접속망 정보를 기초로 단말을 골드 등급과 실버 등급으로 구분할 수 있다. 즉, 게이트웨이(200)는 단말쪽 IP가 LTE망의 IP인 경우, 단말(100)이 LTE망으로 최초 접속한 것으로 판단하고, 골드 등급으로 설정한다. 게이트웨이(200)는 단말쪽 IP가 WiFi망의 IP인 경우, 단말(100)이 WiFi망으로 최초 접속한 것으로 판단하고, 실버 등급으로 설정한다.The gateway 200 may know whether the terminal IP is the LTE network or the WiFi network, that is, the access network, based on the information of the TCP session that the terminal 100 has made through the initial TCP SYN in MPTCP. The gateway 200 may classify the terminal into a gold grade and a silver grade based on the access network information. That is, when the terminal IP is the IP of the LTE network, the gateway 200 determines that the terminal 100 is initially connected to the LTE network, and sets the gold level. If the terminal IP is the IP of the WiFi network, the gateway 200 determines that the terminal 100 is initially connected to the WiFi network, and sets the silver level.
도 10을 참고하면, 단말(100)이 WiFi망에서 어플리케이션을 실행한 경우(WiFi 선호 상태), 단말(100) 또는 게이트웨이(200)는 WiFi 경로를 통한 데이터 전송 시 재전송 탐지 알고리즘을 통해 WiFi 경로의 상태를 모니터링한다. 그리고, 게이트웨이(200)는 WiFi 경로의 상태를 기초로 LTE 경로를 통한 트래픽 처리를 제한(LTE throttling)/제한 해제한다.Referring to FIG. 10, when the terminal 100 executes an application in a WiFi network (a preferred state of WiFi), the terminal 100 or the gateway 200 may determine the path of the WiFi path through a retransmission detection algorithm when transmitting data through the WiFi path. Monitor the status. In addition, the gateway 200 restricts / restricts LTE traffic throttling based on the state of the WiFi path.
예를 들어, WiFi 선호 상태에서, WiFi 경로의 품질이 양호한 경우, 게이트웨이(200)는 LTE 경로를 통한 트래픽 처리를 제한한다. 만약, 어느 시점에, WiFi 경로의 품질이 떨어지는 경우, 게이트웨이(200)는 LTE 경로를 통한 트래픽 처리를 일시적으로 허용한다. 다시 WiFi 경로의 품질이 양호한 상태로 회복되는 경우, 게이트웨이(200)는 LTE 경로를 통한 트래픽 처리를 제한한다.For example, in the WiFi preference state, if the quality of the WiFi path is good, the gateway 200 restricts traffic processing over the LTE path. If, at some point, the quality of the WiFi path is poor, the gateway 200 temporarily allows traffic processing over the LTE path. When the quality of the WiFi path is restored to a good state again, the gateway 200 limits the traffic processing through the LTE path.
도 11은 본 발명의 한 실시예에 따른 단말의 구성도이다.11 is a block diagram of a terminal according to an embodiment of the present invention.
도 11을 참고하면, 단말(100)은 복수의 통신 모듈을 포함하는 하드웨어, 복수의 어플리케이션, 그리고 하드웨어와 어플리케이션 사이에서 하드웨어를 제어하여 어플리케이션을 처리하는 운영 체제 스택으로 구성되어 있다.Referring to FIG. 11, the terminal 100 is configured of a hardware including a plurality of communication modules, a plurality of applications, and an operating system stack for processing applications by controlling hardware between the hardware and the applications.
운영 체제 스택은 하드웨어와 어플리케이션 사이의 인터페이스 역할을 하며, 기능에 따라 구분된 복수의 소프트웨어 스택으로 구성될 수 있다. 예를 들면, 단말(100)은 리눅스 커널(Linux Kernel)과 안드로이드 프레임워크(Android Framework)를 탑재할 수 있으나, 이는 단말 제조사에 의해 다양하게 구현될 수 있다.The operating system stack serves as an interface between the hardware and the application, and may be composed of a plurality of software stacks divided according to functions. For example, the terminal 100 may include a Linux kernel and an Android framework, but it may be variously implemented by the terminal manufacturer.
MPTCP를 지원하는 단말(100)은 MPTCP 관리부(110), MPTCP 처리부(130), 그리고 사용자-커널 인터페이스부(140)를 탑재한다. The terminal 100 supporting the MPTCP includes the MPTCP management unit 110, the MPTCP processing unit 130, and the user-kernel interface unit 140.
MPTCP 관리부(110)는 어플리케이션 계층에 탑재되는 어플리케이션으로서, 기가 패스 매니저라고 부를 수 있다. MPTCP 관리부(110)는 단말(100)에 적용되는 MPTCP 관련 다양한 설정 정보나 정책 정보를 관리할 수 있다. MPTCP 관리부(110)는 사용자가 접근하여 MPTCP를 설정하거나 관리할 수 있는 사용자 UI를 제공할 수 있다.The MPTCP management unit 110 is an application mounted in the application layer and may be referred to as a giga path manager. The MPTCP management unit 110 may manage various setting information or policy information related to MPTCP applied to the terminal 100. The MPTCP management unit 110 may provide a user UI that a user may access to set or manage MPTCP.
MPTCP 관리부(110)는 MPTCP 사용 여부 제어 기능, 화이트리스트 관리 기능, 특정 AP 접속 여부 확인 기능, MPTCP 지원 AP 선택 기능, 그리고 WiFi on/off 제어 기능을 구현할 수 있다. The MPTCP management unit 110 may implement an MPTCP usage control function, a white list management function, a specific AP access check function, an MPTCP support AP selection function, and a WiFi on / off control function.
MPTCP 관리부(110)는 MPTCP 사용 여부 제어 기능을 통해, 사용자 선택에 의해 MPTCP 사용 여부를 결정할 수 있고, 서비스별/어플리케이션별로 MPTCP 사용 여부를 결정할 수 있다. 즉, 사용자는 도 4부터 도 6을 참고로 설명한 바와 같이, 다중 경로 설정을 나타내는 이미지(10)를 선택하여 MPTCP 사용을 선택할 수 있고, 다중 경로 어플리케이션을 설정하는 화면에서 어플리케이션을 화이트리스트에 추가하거나 제외할 수 있다. MPTCP 관리부(110)는 LTE/WiFi Dual On/off를 제어할 수 있다. MPTCP 사용 여부 제어부는 MPTCP 모드[풀메쉬(fullmesh)], TCP 모드[기본(default)]에 따라 LTE/WiFi Dual On/off를 제어할 수 있다. MPTCP 모드와 TCP 모드는 예를 들면 표 1과 같이 설정될 수 있다.The MPTCP management unit 110 may determine whether to use MPTCP by selecting a user through an MPTCP usage control function, and may determine whether to use MPTCP for each service / application. That is, the user may select the use of MPTCP by selecting the image 10 representing the multipath setting as described with reference to FIGS. 4 to 6, and add the application to the whitelist on the screen for setting the multipath application. Can be excluded. The MPTCP management unit 110 may control LTE / WiFi Dual On / off. The MPTCP usage control unit may control the LTE / WiFi Dual On / off according to the MPTCP mode (full mesh) and the TCP mode (default). MPTCP mode and TCP mode may be set as shown in Table 1, for example.
표 1
지원모드 MPTCP 모드 TCP 모드
특징 인터페이스별 복수 세션 생성(subflow) 통신 인터페이스당 단일 세션 생성(TCP) 통신
설정 -LTE/WiFi Dual On(MPTCP enabled)-WiFi미접속시우선접속경로=LTE-WiFi접속시우선접속경로=WiFi/보조접속경로=LTE -LTE/WiFi Dual off(MPTCP disabled)- WiFi 미접속시접속경로=LTE- WiFi 접속시접속경로=WiFi
Table 1
Support Mode MPTCP Mode TCP mode
Characteristic Multi session subflow communication by interface Single session-generated (TCP) communication per interface
Settings -LTE / WiFi Dual On (MPTCP enabled) -LTE / WiFi Dual off (MPTCP disabled)
MPTCP 관리부(110)는 화이트리스트 관리 기능을 통해, 화이트리스트 정보(MPTCP 대상 서비스/어플리케이션 목록)를 관리한다. MPTCP 관리부(110)는 화이트리스트 정보를 포함하는 MPTCP 정책을 게이트웨이(200) 또는 통신 사업자 정책 서버(미도시)와 동기화함으로써, 통신 사업자 정책을 기반으로 MPTCP 적용 대상 서비스/어플리케이션을 관리할 수 있다. 게이트웨이(200) 또는 통신 사업자 정책 서버와 동기화하는 화이트리스트 정보는 HTTP 기반 xml 또는 json 형식일 수 있다.The MPTCP management unit 110 manages white list information (MPTCP target service / application list) through a white list management function. The MPTCP management unit 110 may manage the MPTCP application service / application based on the service provider policy by synchronizing the MPTCP policy including the white list information with the gateway 200 or the service provider policy server (not shown). The white list information synchronized with the gateway 200 or the carrier policy server may be in HTTP-based xml or json format.
MPTCP 관리부(110)는 SSID/BSSID 등의 식별 정보를 기초로 특정 AP 접속 여부를 확인할 수 있다. MPTCP 관리부(110)는 MPTCP 지원 AP를 선택할 수 있다. MPTCP 관리부(110)는 우선접속 AP 대상으로 MPTCP 기능을 활성화/비활성화할 수 있다. 우선접속 AP는 통신사업자 AP(예를 들면, ollehWiFi), 개인/회사 AP(사용자 선호 등록), SSID, BSSID 기준으로 적용될 수 있다. The MPTCP management unit 110 may check whether a specific AP is connected based on identification information such as SSID / BSSID. The MPTCP management unit 110 may select an MPTCP support AP. The MPTCP management unit 110 may activate / deactivate the MPTCP function for the priority access AP. The preferred access AP may be applied based on a carrier AP (eg, ollehWiFi), personal / company AP (user preference registration), SSID, or BSSID.
MPTCP 관리부(110)는 LTE 망/WiFi망의 우선 사용 카테고리화 기능을 제공한다. 예를 들어, 어떤 응용/그룹/카테고리 서비스는 LTE 망을 우선적으로 사용하게 하고, 또 다른 응용/그룹/카테고리 서비스는 WiFi 망을 우선적으로, 혹은 LTE/WiFi 망을 동시에 사용하게 하는 기능(우선 접속 경로 결정)을 의미한다.The MPTCP management unit 110 provides a priority use categorization function of the LTE network / WiFi network. For example, some applications / groups / category services make use of LTE network preferentially, and another applications / groups / category service make use of WiFi network or LTE / WiFi network simultaneously. Route determination).
MPTCP 관리부(110)는 WiFi on/off 제어 기능을 제공한다. WiFi on/off는 사용자 결정, WiFi 연결 매니저(Connection Manager, CM) 결정, 또는 MPTCP에서의 WiFi 사용 여부에 따른 자동 결정에 의해 제어될 수 있다.The MPTCP management unit 110 provides a WiFi on / off control function. WiFi on / off may be controlled by user determination, WiFi connection manager (CM) determination, or automatic determination depending on whether WiFi is used in MPTCP.
MPTCP 처리부(130)는 어플리케이션과 소켓 통신하고, 라우팅 테이블을 기초로 데이터를 전송한다. MPTCP 처리부(130)는 일부 어플리케이션은 MPTCP 전송하고, 일부 어플리케이션은 일반 TCP 전송할 수 있다. MPTCP 처리부(130)는 MPTCP 프로토콜 패밀리(Protocol Family)를 포함하고, 운영 체제, 예를 들면 리눅스 커널 내에 탑재된다. MPTCP 처리부(130)는 TCP/IP 프로토콜 패밀리를 변경한 MPTCP/IP 프로토콜 패밀리를 탑재할 수 있다. MPTCP 프로토콜 패밀리는 안드로이드 플랫폼(android platform)용 MPTCP 오픈 소스를 이용하여 리눅스 커널에 구현될 수 있다.The MPTCP processor 130 performs socket communication with an application and transmits data based on a routing table. The MPTCP processing unit 130 may transmit some applications to MPTCP and some applications may transmit general TCP. The MPTCP processor 130 includes an MPTCP protocol family and is mounted in an operating system, for example, the Linux kernel. The MPTCP processor 130 may mount the MPTCP / IP protocol family in which the TCP / IP protocol family is changed. The MPTCP protocol family can be implemented in the Linux kernel using MPTCP open source for the Android platform.
MPTCP 처리부(130)는 리눅스 커널에 MPTCP 지원을 위한 포트를 제공하고, 기존 TCP와 호환성을 유지한다. MPTCP 처리부(130)는 단말 리눅스 커널 버전에 MPTCP 코드를 적용하고, 커널 설정(config)을 변경하여 MPTCP에 특화된 혼잡제어 알고리즘, TCP 혼잡제어 알고리즘, 그리고 MPTCP 경로 관리(path manager) 알고리즘을 탑재할 수 있다.The MPTCP processor 130 provides a port for MPTCP support to the Linux kernel and maintains compatibility with existing TCP. The MPTCP processor 130 may apply MPTCP code to the Linux kernel version of the terminal and change the kernel configuration to configure the MPTCP-specific congestion control algorithm, the TCP congestion control algorithm, and the MPTCP path manager algorithm. have.
사용자-커널 인터페이스부(140)는 시스템 권한 설정 및 명령(command) 설정 등 사용자와 커널 사이의 제어를 위한 각종 인터페이스(API)를 제공한다. 특히, 사용자-커널 인터페이스부(140)는 MPTCP 관리부(110)에서 커널 영역에 구현된 각종 기능 모듈의 정보/파라미터를 획득/설정/변경할 수 있는 인터페이스를 제공한다. 각종 기능 모듈의 정보/파라미터는 프로세스 처리 정보, 라우팅 정보, 커널 파라미터 등일 수 있다.The user-kernel interface unit 140 provides various interfaces (APIs) for controlling the user and the kernel, such as system authority setting and command setting. In particular, the user-kernel interface unit 140 provides an interface for the MPTCP management unit 110 to acquire / set / change information / parameters of various functional modules implemented in the kernel area. The information / parameters of the various functional modules may be process processing information, routing information, kernel parameters, and the like.
사용자-커널 인터페이스부(140)는 WiFi 연결 관리자(connection manager, CM)를 포함할 수 있고, MPTCP 관리부(110)에서 WiFi 연결 관리자를 통해 WiFi on/off를 제어할 수 있는 인터페이스를 제공한다.The user-kernel interface unit 140 may include a WiFi connection manager (CM), and the MPTCP manager 110 provides an interface for controlling WiFi on / off through the WiFi connection manager.
사용자-커널 인터페이스부(140)는 MPTCP 처리부(130)의 제어 인터페이스를 포함할 수 있고, 구체적으로 MPTCP/IP 프로토콜 패밀리의 파라미터 제어 기능을 제공한다. 사용자-커널 인터페이스부(140)는 TCP 시스템 파라미터 변경/추가(tx/rx memory 할당 등), MPTCP 시스템 파라미터 변경/추가(MPTCP 활성/비활성화, 동작 모드, syn_retry_limit 등) 등을 할 수 있다. 사용자-커널 인터페이스부(140)는 TCP/MPTCP 파라미터 정보를 추가할 수 있고, 예를 들면 TCP 옵션(option) 안에 원천 데이터(original data)의 목적지 주소/포트 정보를 추가할 수 있다.The user-kernel interface unit 140 may include a control interface of the MPTCP processing unit 130 and specifically provides a parameter control function of the MPTCP / IP protocol family. The user-kernel interface unit 140 may change / add TCP system parameters (tx / rx memory allocation, etc.), change / add MPTCP system parameters (MPTCP activation / deactivation, operation mode, syn_retry_limit, etc.). The user-kernel interface unit 140 may add TCP / MPTCP parameter information and, for example, add destination address / port information of original data in the TCP option.
사용자-커널 인터페이스부(140)는 라우팅 정보를 관리할 수 있고, MPTCP 관리부(110)에서 MPTCP/TCP에 따른 라우팅 경로를 제어할 수 있는 인터페이스를 제공한다. 사용자-커널 인터페이스부(140)는 어플리케이션별 프록시 서버 사용/미사용 여부를 판단하는 기능, 라우팅 테이블 관리 기능(경로, 규칙 등), MPTCP/IP 프로토콜 패밀리의 파라미터 제어 기능 등을 제공한다. 사용자-커널 인터페이스부(140)는 어플리케이션 식별 정보(예를 들면, UID)를 기초로 어플리케이션마다 프록시 서버를 사용할 것인지 판단한다. 사용자-커널 인터페이스부(140)는 화이트리스트에 포함된 어플리케이션은 프록시 서버를 경유하도록 결정하고, 라우팅 테이블을 참조하여 데이터를 전송한다. The user-kernel interface unit 140 may manage routing information, and the MPTCP management unit 110 may provide an interface for controlling a routing path according to MPTCP / TCP. The user-kernel interface unit 140 provides a function for determining whether to use or not use a proxy server for each application, a routing table management function (path, rule, etc.), a parameter control function of the MPTCP / IP protocol family, and the like. The user-kernel interface unit 140 determines whether to use a proxy server for each application based on the application identification information (for example, UID). The user-kernel interface unit 140 determines that the application included in the white list passes through the proxy server and transmits data with reference to the routing table.
사용자-커널 인터페이스부(140)는 화이트리스트에 포함된 어플리케이션을 분류하고, 예외 처리 설정 기능을 제공한다. 사용자-커널 인터페이스부(140)는 UID(Android App ID)와 PID(Process ID) 등의 조합으로 일반 라우팅 처리하고, 화이트리스트에 포함된 어플리케이션이 발생하는 트래픽에 대하여 게이트웨이(200)로 라우팅한다. 사용자-커널 인터페이스부(140)는 서비스 시나리오 별 조건부 라우팅 테이블을 관리(경로 및 규칙 추가/수정/삭제 등)할 수 있다. The user-kernel interface unit 140 classifies applications included in the white list and provides an exception handling setting function. The user-kernel interface unit 140 performs a general routing process using a combination of an UID (Android App ID) and a PID (Process ID), and routes the traffic generated by an application included in the white list to the gateway 200. The user-kernel interface unit 140 may manage the conditional routing table for each service scenario (eg, add / modify / delete paths and rules).
도 12와 도 13 각각은 본 발명의 한 실시예에 따른 다중 경로 전송 단말의 WiFi 제어 방법을 설명하는 흐름도이다.12 and 13 are flowcharts illustrating a WiFi control method of a multipath transmission terminal according to an embodiment of the present invention.
도 12를 참고하면, MPTCP를 지원하는 단말(100)은 복수의 통신 인터페이스를 이용해 다중 경로 전송을 한다. 따라서, 단말(100)이 MPTCP 모드로 설정되면, 트래픽이 발생하지 않을 때도 항상 WiFi 인터페이스가 활성화(enable)되어 있다. 결국, WiFi 인터페이스 활성화로 인해, 단말의 배터리가 불필요하게 소모되는 문제가 있다. Referring to FIG. 12, the terminal 100 supporting MPTCP performs multipath transmission using a plurality of communication interfaces. Therefore, when the terminal 100 is set in the MPTCP mode, the WiFi interface is always enabled even when no traffic is generated. As a result, due to the WiFi interface activation, there is a problem that the battery of the terminal is unnecessary.
이러한 문제를 해결하기 위해 단말(100)은 WiFi 온오프 관리자(WiFi on/off manager)를 탑재한다. WiFi 온오프 관리자는 MPTCP 트래픽을 모니터링하고, MPTCP 트래픽이 존재하면 WiFi를 활성화하고, MPTCP 트래픽이 존재하지 않으면 WiFi를 비활성화한다. 즉, WiFi 온오프 관리자는 MPTCP 적용 단말에서 필요한 경우에만 WiFi를 제어(WiFi auto on/off 제어)하여 배터리 소모를 줄인다. WiFi 온오프 관리자는 MPTCP 트래픽을 모니터링하고, WiFi 모듈을 제어할 수 있는 영역에 탑재된다. 예를 들면, WiFi 온오프 관리자는 MPTCP 관리부(110)/사용자-커널 인터페이스부(140)의 적어도 일부에 포함되거나, 안드로이드 프레임워크/리눅스 커널의 일부 영역에 별도로 탑재될 수 있고, 어플리케이션으로 개발될 수 있다. In order to solve this problem, the terminal 100 includes a WiFi on / off manager. The WiFi on / off manager monitors MPTCP traffic, enables WiFi if MPTCP traffic is present, and disables WiFi if MPTCP traffic is not present. That is, the WiFi on / off manager reduces the battery consumption by controlling WiFi (WiFi auto on / off control) only when the MPTCP application terminal is needed. The WiFi on / off manager is mounted in an area that can monitor MPTCP traffic and control the WiFi module. For example, the WiFi on / off manager may be included in at least a part of the MPTCP management unit 110 / user-kernel interface unit 140 or may be separately mounted in some areas of the Android framework / Linux kernel, and may be developed as an application. Can be.
WiFi 온오프 관리자가 구동된다(S310). 접속경로가 LTE인 경우, WiFi 온오프 관리자가 구동될 수 있다. The WiFi on / off manager is driven (S310). If the access path is LTE, the WiFi on / off manager may be driven.
WiFi 온오프 관리자는 MPTCP 서브플로우를 모니터링한다(S320). WiFi 온오프 관리자는 주기적으로 MPTCP 서브플로우를 검사하는 스레드(thread)와 WiFi 인터페이스에 관한 이벤트를 받는 스레드를 단말의 백그라운드에서 동작시킬 수 있다.The WiFi on / off manager monitors the MPTCP subflow (S320). The WiFi on / off manager may run a thread periodically inspecting the MPTCP subflow and a thread receiving an event related to the WiFi interface in the background of the terminal.
WiFi 온오프 관리자는 MPTCP 서브플로우가 생성되면 WiFi 인터페이스를 활성화한다(S330). 단말(100)에서 화이트리스트에 포함된 어플리케이션이 동작하면, 서브플로우가 생성된다.The WiFi on / off manager activates the WiFi interface when the MPTCP subflow is generated (S330). When the application included in the white list operates in the terminal 100, a subflow is generated.
WiFi 온오프 관리자는 MPTCP 서브플로우가 소멸되면 WiFi 인터페이스를 비활성화한다(S340). 단말(100)에서 화이트리스트에 포함된 어플리케이션이 종료되면, 서브플로우가 소멸된다.The WiFi on / off manager deactivates the WiFi interface when the MPTCP subflow expires (S340). When the application included in the white list is terminated in the terminal 100, the subflow is destroyed.
WiFi 온오프 관리자를 구동하는 프로그램은 종료될 수 있고, WiFi 온오프 관리자가 종료되면 WiFi auto on/off 제어가 중단된다. 만약, WiFi 온오프 관리자가 구동중인 상태에서, 사용자가 WiFi를 활성화/비활성화하면 WiFi 온오프 관리자는 WiFi auto on/off 제어를 중단한다.The program for driving the WiFi on / off manager may be terminated. When the WiFi on / off manager is terminated, the WiFi auto on / off control is stopped. If the WiFi on / off manager is running, if the user activates / deactivates the WiFi, the WiFi on / off manager stops the WiFi auto on / off control.
도 13을 참고하면, WiFi 온오프 관리자가 구동된다(S410). WiFi 온오프 관리자가 구동되면, WiFi 온오프 관리부가 동작한다. 그리고, WiFi 이벤트가 발생하면 WiFi 이벤트 관리부가 동작한다. 여기서, WiFi 온오프 관리부는 WiFi on/off를 수행하는 스레드이고, WiFi 이벤트 관리부는 WiFi 이벤트를 관리하는 스레드(WiFi broadcast receiver)이다. 이때, WiFi 이벤트 관리부는 WiFi 온오프 관리부뿐만 아니라, 사용자로부터 WiFi 이벤트 발생 정보를 수신한다. WiFi 온오프 관리부와 WiFi 이벤트 관리부는 단말의 백그라운드에서 동작한다.Referring to FIG. 13, the WiFi on / off manager is driven (S410). When the WiFi on / off manager is driven, the WiFi on / off manager operates. When the WiFi event occurs, the WiFi event manager operates. Here, the WiFi on / off management unit is a thread for performing WiFi on / off, and the WiFi event management unit is a thread for managing WiFi events (WiFi broadcast receiver). At this time, the WiFi event manager receives the WiFi event occurrence information from the user as well as the WiFi on / off manager. The WiFi on / off manager and the WiFi event manager operate in the background of the terminal.
WiFi 온오프 관리부는 MPTCP 서브플로우 생성을 모니터링한다(S420). WiFi 온오프 관리부는 주기적으로 MPTCP 서브플로우가 생성되는지 검사할 수 있다. The WiFi on / off management unit monitors the generation of the MPTCP subflow (S420). The WiFi on / off management unit may periodically check whether an MPTCP subflow is generated.
WiFi 온오프 관리부는 MPTCP 서브플로우가 생성되면 플래그를 온(WiFi_MANAGER_FLAG=on)으로 설정한다(S430). 디폴트 상태의 플래그는 오프(WiFi_MANAGER_FLAG=off)로 설정된다. 여기서, 플래그(WiFi_MANAGER_FLAG)는 WiFi 인터페이스가 켜지거나 꺼지는 이벤트가 WiFi 온오프 관리부에 의한 것임을 나타내는 정보이다.When the MPTCP subflow is generated, the WiFi on / off management unit sets the flag to on (WiFi_MANAGER_FLAG = on) (S430). The flag in the default state is set to off (WiFi_MANAGER_FLAG = off). Here, the flag (WiFi_MANAGER_FLAG) is information indicating that the event that the WiFi interface is turned on or off is caused by the WiFi on / off management unit.
WiFi 온오프 관리부는 WiFi를 켠다(S432). WiFi 온오프 관리부는 WiFi에서 이벤트가 발생했음을 WiFi 이벤트 관리부에 알린다. WiFi 이벤트 관리부로 온으로 설정된 플래그가 전달된다. The WiFi on / off management unit turns on WiFi (S432). The WiFi on / off manager notifies the WiFi event manager that an event has occurred in WiFi. The flag set to on is transmitted to the WiFi event manager.
WiFi 온오프 관리부는 MPTCP 서브플로우 소멸을 모니터링한다(S440). WiFi 온오프 관리부는 주기적으로 MPTCP 서브플로우가 소멸되는지 검사할 수 있다. The WiFi on / off management unit monitors the disappearance of the MPTCP subflow (S440). The WiFi on / off management unit may periodically check whether the MPTCP subflow is destroyed.
WiFi 온오프 관리부는 MPTCP 서브플로우가 소멸되면 플래그를 온(WiFi_MANAGER_FLAG=on)으로 설정한다(S450).The WiFi on / off management unit sets the flag to on (WiFi_MANAGER_FLAG = on) when the MPTCP subflow expires (S450).
WiFi 온오프 관리부는 WiFi를 끈다(S452). WiFi 온오프 관리부는 WiFi에서 이벤트가 발생했음을 WiFi 이벤트 관리부에 알린다. WiFi 이벤트 관리부로 온으로 설정된 플래그가 전달된다.The WiFi on / off management unit turns off WiFi (S452). The WiFi on / off manager notifies the WiFi event manager that an event has occurred in WiFi. The flag set to on is transmitted to the WiFi event manager.
WiFi에서 이벤트가 발생하면 WiFi 이벤트 관리부는 동작하고, WiFi 이벤트 관리부는 플래그(WiFi_MANAGER_FLAG)를 기초로 이벤트를 발생시킨 주체가 WiFi 온오프 관리부인지 사용자인지 판단한다(S460). When an event occurs in WiFi, the WiFi event manager operates, and the WiFi event manager determines whether the subject that generated the event is the WiFi on / off manager or the user (S460) based on the flag (WiFi_MANAGER_FLAG).
플래그가 온(WiFi_MANAGER_FLAG=on)이면, WiFi 이벤트 관리부는 플래그를 초기화(WiFi_MANAGER_FLAG=off)한다(S470). 즉, WiFi 이벤트 관리부는 어플리케이션인 WiFi 온오프 관리자에 의해 WiFi 이벤트가 발생한 것이라고 판단하고, 플래그를 오프로 설정한다.If the flag is on (WiFi_MANAGER_FLAG = on), the WiFi event manager initializes the flag (WiFi_MANAGER_FLAG = off) (S470). That is, the WiFi event manager determines that the WiFi event has occurred by the WiFi on / off manager as an application and sets the flag to off.
플래그가 오프(WiFi_MANAGER_FLAG=off)이면, WiFi 이벤트 관리부는 WiFi 온오프 관리부의 동작을 중지시킨다(S480). 즉, WiFi 이벤트 관리부는 사용자에 의해 WiFi 이벤트가 발생한 것이라고 판단한다. 이 경우, 사용자가 WiFi를 온오프한 것이므로, MPTCP 서브플로우의 생성 여부에 관계없이 WiFi 온오프가 제어되어야 하기 때문에, WiFi 자동 온오프 기능이 중단되어야 한다. If the flag is off (WiFi_MANAGER_FLAG = off), the WiFi event manager stops the operation of the WiFi on / off manager (S480). That is, the WiFi event manager determines that the WiFi event has occurred by the user. In this case, since the user turned off the WiFi, the WiFi automatic on / off function should be stopped because the WiFi on / off must be controlled regardless of whether the MPTCP subflow is generated.
이와 같이, WiFi 온오프 관리자는 단말(100)에 탑재돼서, MPTCP 서브플로우가 생성/소멸되는 시점에 WiFi 인터페이스를 활성화/비활성화하기 때문에 단말의 배터리 소모를 줄이는 효과가 있다.As such, the WiFi on / off manager is mounted on the terminal 100, and thus the battery consumption of the terminal is reduced since the WiFi on / off manager is activated / deactivated when the MPTCP subflow is created / deleted.
도 14는 종래의 소켓 통신 방법을 설명하는 도면이고, 도 15부터 도 17은 본 발명의 한 실시예에 따른 소켓 통신 방법을 설명하는 도면이다. 14 is a view for explaining a conventional socket communication method, Figures 15 to 17 are views for explaining a socket communication method according to an embodiment of the present invention.
도 14를 참고하면, 다중 통신 인터페이스WiFi를 지원하는 단말에서 소켓 통신을 끊김없이 제공하기 위한 방법으로, 가상 주소를 통한 터널링 방식, 모바일 아이피, 핸드오버 등의 기술이 존재한다. 그러나, 단말의 리소스 한계(네트워크 인터페이스에 따른 한정된 베터리 제공 상태 등)로 인하여 현재의 모바일 단말은 한 시점에 하나의 인터페이스를 통한 통신 연결만이 가능하도록 설정된다. 특히, 단말 제조사나 단말 운영 체제 제공자는 한 시점에 더 높은 우선순위를 가지는 통신 인터페이스, 예를 들면, WiFi 인터페이스를 우선 연결망으로 설정해 두고, WiFi망 접속이 불가능하면 다른 망으로 핸드오버하는 기술을 제공한다.Referring to FIG. 14, as a method for seamlessly providing socket communication in a terminal supporting multiple communication interfaces, there are technologies such as a tunneling scheme through a virtual address, a mobile IP, and a handover. However, due to the resource limitation of the terminal (such as limited battery provision state according to the network interface), the current mobile terminal is set to allow only a communication connection through one interface at a time. In particular, a terminal manufacturer or a terminal operating system provider sets a communication interface having a higher priority at one time, for example, a WiFi interface as a preferred network, and provides a technology for handing over to another network if the WiFi network cannot be accessed. do.
즉, 단말에서 어플리케이션이 실행되면, 어플리케이션은 네트워크 스택과 소켓을 생성하고, 소켓을 통해 트래픽을 송수신한다. 이때, 어플리케이션과 네트워크 스택은 지정된 통신 인터페이스2(예를 들면, WiFi)로 소켓을 생성하고, 네트워크 스택은 통신 인터페이스2에 연결되어 트래픽을 처리한다. That is, when an application is executed in the terminal, the application creates a network stack and a socket, and transmits and receives traffic through the socket. At this time, the application and the network stack create a socket through the designated communication interface 2 (eg, WiFi), and the network stack is connected to the communication interface 2 to process traffic.
이와 같이, 시스템 전역 라우팅 테이블에 통신 인터페이스2가 상위 인터페이스(상위 인터페이스=2)로 고정되어 있으면, 어플리케이션은 우선 순위가 높은 통신 인터페이스인 WiFi 기반으로 생성된 소켓을 이용한다. 따라서, 단말이 이동하여 통신 인터페이스2WiFi 접속이 어려워지면, 통신 인터페이스2를 통해 생성된 세션은 더 이상 사용할 수 없어, 어플리케이션이 일시적으로 중지된다. 결국, 어느 하나의 통신 인터페이스를 통해 생성된 소켓은 해당 통신 인터페이스를 이용할 수 없는 경우, 다른 통신 인터페이스로 끊김없이 변경되지 못하는 한계가 있다. As such, if communication interface 2 is fixed to the upper interface (high interface = 2) in the system global routing table, the application uses a socket created based on WiFi, which is a high priority communication interface. Therefore, when the terminal moves and communication interface 2 becomes difficult to connect, the session created through communication interface 2 is no longer available, and the application is temporarily suspended. As a result, if a socket created through one communication interface cannot use the corresponding communication interface, there is a limit that the socket cannot be changed without change to another communication interface.
즉, 지금까지는 어플리케이션이 연결 요청하는 통신 소켓이 무조건 시스템 전역 라우팅 테이블에 의해 결정된다. 따라서, 종래의 소켓 통신 방법은 어플리케이션의 통신 소켓 요청 시점에 시스템 전역으로 상위 라우팅으로 설정된 인터페이스를 기초로 소켓이 바인딩된다. 이후 단대단 통신 구간의 일부가 악화(예를 들어, WiFi 통신 오류 등)되어, 더 이상 통신이 불가능한 상황이 발생하면 해당 소켓 통신의 단절을 시스템 레벨에서 통지하게 되어 사용중인 어플리케이션은 통신 단절 메시지 혹은 비정상 종료 등의 정보를 사용자에게 알린다. 그리고 어플리케이션 서비스를 사용할 수 없는 상태에 다다른다. 이는 정상적인 유닉스/리눅스 기반의 통신 구조에서 발생하는 문제이다.That is, until now, the communication socket that an application requests to connect is unconditionally determined by the system global routing table. Therefore, in the conventional socket communication method, a socket is bound based on an interface set to higher routing throughout the system at the time of an application's communication socket request. Then, if a part of the end-to-end communication section is deteriorated (for example, WiFi communication error), and a communication is no longer possible, a notification of disconnection of the corresponding socket communication is made at the system level. Inform the user of abnormal termination and other information. The application service is in a state of being unavailable. This is a problem that occurs with normal Unix / Linux-based communication structures.
도 15부터 도 17을 참고하여, 다중 통신 인터페이스를 구비한 단말이 한 시점에 하나의 통신망을 사용하여 데이터 통신을 하는 구조에서, 사용 중인 통신 인터페이스를 통해 통신이 불가능한 상태로 변경되는 경우, 어플리케이션에서 생성한 통신 세션을 끊김없이 연속적으로 사용하는 방법에 대해 구체적으로 설명한다. 여기서, 통신 세션이란 TCP와 같은 연결 지향 서비스(connection oriented service)에 해당하는 네트워크 스택의 소켓 통신 구조를 주로 다루지만, 유사한 전송계층 프로토콜에 확대 적용할 수 있는 것은 당연하다.15 to 17, in a structure in which a terminal having multiple communication interfaces performs data communication using one communication network at a time point, when the communication is changed to a state where communication is not possible through a communication interface being used, The following describes in detail how to use the created communication session continuously and seamlessly. Here, the communication session mainly deals with the socket communication structure of the network stack corresponding to the connection oriented service such as TCP, but it is natural that the communication session can be extended to similar transport layer protocols.
소켓 연동 관리자(500)는 단말(100)의 어플리케이션이 바라보는 소켓(어플리케이션 소켓)과 단말(100)의 네트워크 스택이 바라보는 소켓(시스템 소켓)을 분리시킨다. 소켓 연동 관리자(500)는 어플리케이션이 바라보는 소켓의 통신 인터페이스는 특정 통신 인터페이스(예를 들면, LTE)에 고정해 두고, 시스템 전역으로 설정된 라우팅 테이블에 의거하여 설정된 통신 인터페이스로 실제 접속망에 연결한다. 즉, 소켓 연동 관리자(500)는 LTE 등과 같이 always-on 상태로 언제 어디서든지 가능한 통신 인터페이스를 어플리케이션에 바인딩되는 소켓의 통신 인터페이스로 고정함으로써, 항상 IP 주소를 확립시켜놓고 글로벌 모빌리티(global mobility)를 지원한다.The socket interworking manager 500 separates a socket (application socket) viewed by an application of the terminal 100 and a socket (system socket) viewed by the network stack of the terminal 100. The socket interworking manager 500 fixes the communication interface of the socket viewed by the application to a specific communication interface (for example, LTE), and connects to the actual access network through the communication interface set based on a routing table set system-wide. That is, the socket interworking manager 500 fixes a communication interface capable of anytime and anywhere in an always-on state, such as LTE, to a communication interface of a socket bound to an application, thereby always establishing an IP address and providing global mobility. Support.
소켓 연동 관리자(500)는 어플리케이션 소켓 통신부(510), 라우팅 정보 확인부(530), 그리고 인터페이스 연결부(550)를 포함한다. 소켓 연동 관리자(500)는 소프트웨어로서, MPTCP 관리부(110)/사용자-커널 인터페이스부(140)에 포함되거나, 안드로이드 프레임워크/리눅스 커널의 일부 영역에 별도로 탑재될 수 있고, 어플리케이션으로 개발될 수 있다. 여기서, 소켓 연동 관리자(500)는 MPTCP 관리부(110)에 포함되어 동작하는 것으로 설명하나, 소켓 연동 관리자의 단말 탑재 영역은 필요에 따라 변경될 수 있는 것은 당연하다.The socket interworking manager 500 includes an application socket communication unit 510, a routing information checking unit 530, and an interface connection unit 550. The socket interworking manager 500 may be included in the MPTCP management unit 110 / user-kernel interface unit 140 as software, or may be separately installed in some areas of the Android framework / Linux kernel, and may be developed as an application. . Here, although the socket interworking manager 500 is described as being included in the MPTCP management unit 110 to operate, it is natural that the terminal mounting area of the socket interworking manager can be changed as necessary.
어플리케이션 소켓 통신부(510)는 어플리케이션의 프로그래밍 코드에 의해 생성된 소켓으로 어플리케이션과 연결된다. 소켓은 일반적인 소켓 API(Application Programming Interface)에 의해 생성될 수 있다. 어플리케이션 소켓 통신부(510)는 시스템 전역으로 설정된 라우팅 테이블을 기반으로 소켓을 생성하는 것이 아니라, 다중 인터페이스 중 지정된 통신 인터페이스를 원천 주소(source address)로 사용하여 소켓을 생성한다. 예를 들면, 어플리케이션이 요청한 세션은 LTE 인터페이스에 할당된 원천 주소를 소켓의 생성 주소로 사용할 수 있다. 따라서, 어플리케이션이 요청한 세션은 시스템 전역으로 설정된 라우팅 테이블의 정보 중 기본 게이트웨이(default gateway) 정보로 설정된 통신 인터페이스와 동일한 원천 주소를 포함할 수도 있고, 다른 통신 인터페이스의 원천 주소를 포함할 수 있다. 이때, 어플리케이션 소켓 통신부(510)는 단말의 모든 어플리케이션에 대해 LTE 인터페이스로 소켓을 생성할 수 있고, 특정 어플리케이션(예를 들면, 화이트리스트에 포함된 어플리케이션)에 대해서만 LTE 인터페이스로 소켓을 생성할 수 있다.The application socket communication unit 510 is connected to the application by the socket generated by the programming code of the application. The socket may be created by a general socket application programming interface (API). The application socket communication unit 510 does not create a socket based on a routing table set system-wide, but creates a socket using a designated communication interface among multiple interfaces as a source address. For example, the session requested by the application may use the source address assigned to the LTE interface as the socket creation address. Accordingly, the session requested by the application may include the same source address as the communication interface set as default gateway information among the information in the routing table set system-wide, or may include a source address of another communication interface. In this case, the application socket communication unit 510 may generate a socket through the LTE interface for all applications of the terminal, and generate the socket through the LTE interface only for a specific application (for example, an application included in the white list). .
라우팅 정보 확인부(530)는 단말의 운영 체제에 포함된 네트워크 스택에 의해 관리되는 라우팅 테이블에 접근하여 라우팅 정보를 확인한다. 라우팅 테이블은 사용자-커널 인터페이스부(140)에서 관리되는 시스템 전역 라우팅 테이블일 수 있다. 라우팅 정보 확인부(530)는 실제 소켓이 생성되기 전에 어플리케이션 소켓 통신부(510)를 통해 생성 요청된 어플리케이션의 세션에 대해서, 라우팅 테이블을 통해 실제 원천 주소를 결정한다.The routing information checking unit 530 checks the routing information by accessing a routing table managed by the network stack included in the operating system of the terminal. The routing table may be a system global routing table managed by the user-kernel interface unit 140. The routing information checking unit 530 determines the actual source address through the routing table for the session of the application requested to be created through the application socket communication unit 510 before the actual socket is created.
인터페이스 연결부(550)는 라우팅 정보 확인부(530)에서 참조한 전역 라우팅 정보와 어플리케이션 소켓 통신부(510)에 의해 생성된 소켓 정보를 매핑하여 관리하고, 매핑 정보에 따른 통신 인터페이스로 소켓을 연결한다. 인터페이스 연결부(550)는 어플리케이션 소켓 통신부(510)에서 고정된 통신 인터페이스가 아니라, 라우팅 정보 확인부(530)에서 참조한 상위 순위의 통신 인터페이스로 실제로 통신하도록 소켓을 재생성한다. The interface connector 550 maps and manages global routing information referenced by the routing information checker 530 and socket information generated by the application socket communication unit 510, and connects the sockets to a communication interface based on the mapping information. The interface connector 550 regenerates the socket so that the application socket communication unit 510 actually communicates with the communication interface of the higher rank referred to by the routing information checking unit 530 instead of the fixed communication interface.
도 15를 참고하면, 단말(100)에서 어플리케이션이 실행되면, 어플리케이션은 어플리케이션 소켓 통신부(510)에게 고정된 통신 인터페이스1(예를 들면, LTE 인터페이스)로 연결되는 소켓 생성을 요청한다. Referring to FIG. 15, when the application is executed in the terminal 100, the application requests the socket generation to be connected to the fixed communication interface 1 (eg, LTE interface) to the application socket communication unit 510.
인터페이스 연결부(550)는 라우팅 정보 확인부(530)를 통해 라우팅 테이블을 참조한다. 라우팅 테이블에 통신 인터페이스2(예를 들면, WiFi)가 상위 인터페이스로 설정된 경우, 인터페이스 연결부(550)는 매핑 테이블에 어플리케이션 소켓의 인터페이스는 인터페이스1이고, 시스템 소켓의 인터페이스는 인터페이스2라고 매핑하여 저장한다. 인터페이스 연결부(550)는 매핑 테이블을 기초로 어플리케이션 소켓이 바라보는 인터페이스1과 시스템 소켓이 바라보는 인터페이스2를 연결한다.  The interface connector 550 refers to the routing table through the routing information checker 530. When communication interface 2 (for example, WiFi) is set as an upper interface in the routing table, the interface connection unit 550 maps and stores the interface of the application socket as interface 1 and the interface of the system socket as interface 2 in the mapping table. . The interface connector 550 connects the interface 1 viewed by the application socket and the interface 2 viewed by the system socket based on the mapping table.
어플리케이션은 통신 인터페이스1로 세션을 생성했지만, 소켓 연동 관리자(500)은 어플리케이션 소켓의 통신 인터페이스1과 시스템 소켓의 통신 인터페이스2를 연결하여, 실제 트래픽은 통신 인터페이스2를 통해 전송되도록 한다.Although the application has created a session with the communication interface 1, the socket interworking manager 500 connects the communication interface 1 of the application socket and the communication interface 2 of the system socket so that actual traffic is transmitted through the communication interface 2.
도 16을 참고하면, 단말(100)은 MPTCP와 같이 다중 경로를 통한 병합 전송이 가능한 상태가 될 수 있다. 이때, 라우팅 테이블은 통신 인터페이스1과 통신 인터페이스2로의 연결이 가능한 듀얼 소켓 인터페이스 정보를 저장할 수 있다.Referring to FIG. 16, the terminal 100 may be in a state capable of merge transmission through multiple paths such as MPTCP. In this case, the routing table may store dual socket interface information that can be connected to the communication interface 1 and the communication interface 2.
병합 전송이 가능한 경우, 인터페이스 연결부(550)는 시스템 소켓의 인터페이스에 인터페이스1을 추가한다. 즉, 통신 인터페이스1을 통한 서브플로우가 추가된다. 인터페이스 연결부(550)는 라우팅 테이블을 참조하고, 어플리케이션 소켓의 인터페이스는 인터페이스1이고, 시스템 소켓의 인터페이스는 인터페이스1과 인터페이스2라고 매핑 테이블에 저장한다.When the merge transmission is possible, the interface connector 550 adds interface 1 to the interface of the system socket. That is, a subflow through communication interface 1 is added. The interface connection unit 550 refers to the routing table, and the interface of the application socket is interface 1, and the interface of the system socket is stored in the mapping table as interface 1 and interface 2.
어플리케이션은 통신 인터페이스1로 연결된 세션을 그대로 유지하지만, 소켓 연동 관리자(500)은 어플리케이션 소켓의 통신 인터페이스1과 시스템 소켓의 통신 인터페이스1 및 통신 인터페이스2를 연결하여, 실제 트래픽은 통신 인터페이스1과 통신 인터페이스2 중 적어도 하나를 통해 전송되도록 한다.The application maintains the session connected to the communication interface 1, but the socket interworking manager 500 connects the communication interface 1 of the application socket, the communication interface 1 and the communication interface 2 of the system socket, and the actual traffic is communicated with the communication interface 1 and the communication interface. To be transmitted through at least one of two.
도 17을 참고하면, 단말이 이동하는 경우와 같은 상황에 의해, 통신 인터페이스2에 의한 망접속이 해제될 수 있다. 이때, 라우팅 테이블은 상위 순위의 인터페이스를 통신 인터페이스1로 변경한다.Referring to FIG. 17, network connection by the communication interface 2 may be released by the same situation as when the terminal moves. At this time, the routing table changes the interface of the upper rank to the communication interface 1.
인터페이스 연결부(550)는 라우팅 테이블을 참조하고, 어플리케이션 소켓의 인터페이스는 인터페이스1이고, 시스템 소켓의 인터페이스는 인터페이스1이라고 매핑 테이블을 갱신한다.The interface connector 550 updates the mapping table that the interface socket of the application socket is interface 1 and the interface of the system socket is interface 1.
어플리케이션은 통신 인터페이스1로 연결된 세션을 그대로 유지하지만, 소켓 연동 관리자(500)은 어플리케이션 소켓의 통신 인터페이스1과 시스템 소켓의 통신 인터페이스1을 연결하여, 실제 트래픽은 통신 인터페이스1을 통해 전송되도록 한다. 즉, 어플리케이션이 바라보는 통신 인터페이스 소켓은 실제 접속 인터페이스에 관계없이 그대로 유지되므로 통신 세션이 끊김없이 유지될 수 있다. The application maintains the session connected to the communication interface 1, but the socket interworking manager 500 connects the communication interface 1 of the application socket and the communication interface 1 of the system socket, so that actual traffic is transmitted through the communication interface 1. In other words, the communication interface socket that the application looks at is maintained regardless of the actual connection interface, so that the communication session can be maintained seamlessly.
이와 같이, 소켓 연동 관리자(500)는 어플리케이션 소켓과 시스템 소켓 각각의 통신 인터페이스를 구분하고, 매핑 테이블을 기초로 어플리케이션 소켓과 시스템 소켓 각각의 통신 인터페이스를 연결한다. 실제 통신에 사용되는 인터페이스는 시스템 전역으로 설정된 라우팅 테이블을 참조하되, 어플리케이션에 바인딩되는 소켓의 통신 인터페이스는 LTE 등과 같이 always-on 상태로 언제 어디서든지 가능한 통신 인터페이스를 어플리케이션에 바인딩되는 소켓의 통신 인터페이스로 고정한다. As described above, the socket interworking manager 500 distinguishes communication interfaces of the application sockets and the system sockets, and connects the communication interfaces of the application sockets and the system sockets based on the mapping table. The interface used for the actual communication refers to the routing table set system-wide, but the communication interface of the socket bound to the application is always-on such as LTE, and can be used anytime and anywhere communication interface as the communication interface of the socket bound to the application. Fix it.
따라서, 실제 접속망에 연결되는 시스템 소켓의 통신 인터페이스가 달라지더라도, 어플리케이션은 항상 접속 가능한 통신 인터페이스1(예를 들면, LTE)로 생성된 소켓으로 세션을 유지할 수 있다. 그래서, 단말(100)이 WiFi망을 이용하기 어렵더라도, 소켓 연동 관리자(500)가 시스템 소켓의 WiFi 대신, 시스템 소켓의 LTE를 어플리케이션 소켓의 LTE 인터페이스로 전환하기만 하면, 어플리케이션이 바라보는 세션 정보를 그대로 유지시켜 끊김없는 LTE와 WiFi 사이의 어플리케이션 레벨의 세션 유지가 가능하다. 소켓 연동 관리자(500)는 종래 방식에서 접속망 변경 시 발생하는 어플리케이션 레벨 세션 단절 문제를 해결할 수 있고, 또한 터널링 등의 추가 시그널링 등을 위한 오버헤드를 줄일 수 있다.Therefore, even if the communication interface of the system socket connected to the actual access network is different, the application can maintain the session with the socket created by the communication interface 1 (for example, LTE) that is always accessible. So, even if the terminal 100 is difficult to use the WiFi network, the socket interworking manager 500, instead of the WiFi of the system socket, simply switch the LTE of the system socket to the LTE interface of the application socket, the session information that the application looks at It is possible to maintain application-level sessions between LTE and WiFi without interruption. The socket interworking manager 500 may solve an application level session disconnection problem occurring when the access network is changed in the conventional manner, and also reduce overhead for additional signaling such as tunneling.
도 18은 일반적인 프록시 통신 방법을 설명하는 도면이고, 도 19는 본 발명의 한 실시예에 따른 프록시 통신 방법을 설명하는 도면이며, 도 20은 본 발명의 한 실시예에 따른 프록시 통신 방법의 흐름도이다.18 is a diagram illustrating a general proxy communication method, FIG. 19 is a diagram illustrating a proxy communication method according to an embodiment of the present invention, and FIG. 20 is a flowchart of a proxy communication method according to an embodiment of the present invention. .
도 18을 참고하면, 일반적으로 유/무선 단말에서 발생되는 트래픽은 OSI(Open Systems Interconnection) 7계층 중 3계층인 IP(Internet Protocol) 헤더 정보인 원천 주소와 목적지(destination) 주소를 기반으로 중간 노드인 라우터 혹은 스위치에 의해 라우팅된다. 하지만 상황에 따라 특정 트래픽을 원하는 중간 노드를 경유하게 만들어야 하며, 이는 중간 노드들을 인위적인 조작하거나 설정 변경하여 가능하다. 예를 들어, 이동 통신망의 특정 트래픽을 이동 통신망 외부로 전달해야 하는 경우, 이동 통신망 장비인 게이트웨이(예를 들면, P-GW, GGSN 등)의 설정이나 규칙/정책을 변경하여 트래픽을 특정 라우터로 강제 포워딩할 수 있다. Referring to FIG. 18, in general, traffic generated from a wired / wireless terminal is an intermediate node based on a source address and a destination address, which are IP (Internet Protocol) header information, which is a third layer of seven OSI (Open Systems Interconnection) layers. Routed by a router or switch. However, depending on the situation, it is necessary to make the traffic through the intermediate node that wants to do this. For example, if it is necessary to forward certain traffic from the mobile network to the outside of the mobile network, change the settings or rules / policies of the gateway device (for example, P-GW, GGSN, etc.), which is the mobile network equipment, to direct traffic to the specific router Forced forwarding
한편, 중간 노드의 도움 없이 특정 트래픽을 특정 노드로 라우팅하는 단말 클라이언트 기술로 프록시(proxy) 기술이 존재한다. 프록시 기술은 SOCKS, HTTP 등의 기술이 대표적이다. 프록시 클라이언트는 트래픽을 네트워크에 존재하는 프록시 서버로 전달하되, 프록시 서버에게 원래 목적지 주소를 알려준다. 프록시 서버는 단말로부터 수신한 트래픽을 원래 목적지 주소로 전달한다.  Meanwhile, a proxy technology exists as a terminal client technology for routing specific traffic to a specific node without the help of an intermediate node. Proxy technology is typical of technologies such as SOCKS and HTTP. The proxy client forwards the traffic to a proxy server on the network, but notifies the proxy server of its original destination address. The proxy server forwards the traffic received from the terminal to the original destination address.
하지만, 일반적인 프록시 통신 방법은 프록시 기술 자체에 내포된 대용량의 트래픽을 수용해야 하는 단점이 있다. 만약, 이동 통신망에 연동되는 모든 모바일 단말의 트래픽을 프록시 서버로 전달되게 하기 위해서는 단말이 발생시키는 대용량의 트래픽량을 고려해야 한다. However, the general proxy communication method has a disadvantage in that it must accommodate a large amount of traffic included in the proxy technology itself. If the traffic of all mobile terminals interworking with the mobile communication network is to be delivered to the proxy server, a large amount of traffic generated by the terminal should be considered.
이러한 문제를 해결하기 위해, 특정 트래픽 종류(예를 들면, http 프로토콜)만을 대상으로 프록시 적용이 가능하나, 모든 종류의 어플리케이션에 적용할 수 없고, 웹브라우저 어플리케이션과 같이 한정된 종류의 어플리케이션만 프록시 서버로 라우팅할 수 있는 한계가 있다. To solve this problem, it is possible to apply proxy to specific traffic type (for example, http protocol) only, but not to all kinds of applications, and only limited types of applications such as web browser application to proxy server. There is a limit to routing.
또한, 모바일 단말에서 이용되는 프록시 클라이언트는 프록시 서버의 정보를 기초로 트래픽을 프록시 서버로 전송하는데, 프록시 서버를 관리하는 관리자(예를 들면, 이동 통신망 사업자)가 프록시 정보와 프록시 경유를 필요로 하는 어플리케이션 정보(화이트리스트)를 동적으로 배포할 수 있는 방안이 없는 한계가 있다.In addition, the proxy client used in the mobile terminal transmits the traffic to the proxy server based on the information of the proxy server, wherein the administrator who manages the proxy server (for example, the mobile network operator) needs the proxy information and the proxy. There is a limitation that there is no way to dynamically distribute application information (whitelist).
도 3과 도 19를 참고하면, 다음에서, 단말(100)과 게이트웨이(200)는 프록시 클라이언트와 프록시 서버로 동작한다. 이를 위해, 단말(100)은 정책 적용부(610)와 프록시 에이전트부(630)를 포함한다. 정책 적용부(610)와 프록시 에이전트부(630)의 기능은 사용자-커널 인터페이스부(140)에서 구현될 수 있다. 그러나, 정책 적용부(610)와 프록시 에이전트부(630)의 기능은 MPTCP 관리부(110)나 MPTCP 처리부(130)에 구현되거나, 안드로이드 프레임워크/리눅스 커널의 일부 영역에 별도로 탑재될 수 있고, 어플리케이션으로 개발될 수 있으나, 여기서는 정책 적용부(610)와 프록시 에이전트부(630)의 동작으로 설명한다. 3 and 19, in the following, the terminal 100 and the gateway 200 operate as proxy clients and proxy servers. To this end, the terminal 100 includes a policy applying unit 610 and a proxy agent 630. The function of the policy applying unit 610 and the proxy agent unit 630 may be implemented in the user-kernel interface unit 140. However, the functions of the policy applying unit 610 and the proxy agent 630 may be implemented in the MPTCP management unit 110 or the MPTCP processing unit 130, or may be separately installed in some areas of the Android framework / Linux kernel, It may be developed as, but it will be described by the operation of the policy application unit 610 and the proxy agent 630.
정책 배포 장치(700)는 단말(100)로 프록시 정보를 포함하는 정책을 배포한다. 정책은 프록시 서버 접속 정보, 화이트리스트 정보, 실행 방법 등의 다양한 정보를 포함한다. 프록시 서버 접속 정보와 화이트리스트 정보는 하나의 데이터 혹은 분리된 데이터로 관리될 수 있고, 정책을 수신하는 단말의 정보(즉, 단말의 가입 유형, 접속 경로, 사용자의 편의를 위한 각종 정보)를 기초로 정책을 다르게 적용할 수 있다. 정책 배포 장치(700)는 단말의 정책 적용부(610)와 정책 정보를 동기화한다. 정책 배포 장치(700)는 푸쉬/풀 방식으로 정책을 배포할 수 있다. 정책 배포 장치(700)는 게이트웨이(200)와 별도 장치에 구현될 수 있고, 게이트웨이(200)에 구현될 수도 있다.The policy distribution apparatus 700 distributes a policy including proxy information to the terminal 100. The policy includes various information such as proxy server connection information, white list information, and execution method. The proxy server access information and the white list information may be managed as one piece of data or separated data, and are based on the information of the terminal receiving the policy (that is, the subscription type of the terminal, the access path, and various information for the convenience of the user). Policy can be applied differently. The policy distribution device 700 synchronizes the policy information with the policy application unit 610 of the terminal. The policy distribution apparatus 700 may distribute the policy in a push / pull manner. The policy distribution device 700 may be implemented in a device separate from the gateway 200, or may be implemented in the gateway 200.
정책 적용부(610)는 정책 배포 장치(700)에서 배포한 정책을 수신한다. 정책 적용부(610)는 정책 기반으로 프록시 서버(즉, 게이트웨이(200))로 트래픽을 라우팅할 것인지, 원래 목적지 서버로 트래픽을 라우팅할 것인지 결정한다. 이때, 정책 적용부(610)는 화이트리스트에 포함된 어플리케이션에 프록시 에이전트부(630)를 통해 게이트웨이(200)로 전달되도록 정책을 적용한다. 정책 적용부(610)는 정책 정보를 파싱하여 프록시 서버의 분산 구조에 대응할 수 있도록 처리한다. 정책 적용부(610)는 정책 정보에 포함된 화이트리스트를 파싱하여 프록시 에이전트부(630)의 동작을 제어한다. 정책 배포 장치(700)와 통신하는 통신 기능과 정책을 실행하는 기능은 단말 설계에 따라 분리되어 구현될 수 있고, 예를 들면, 어플리케이션 영역과 운영체제 커널 영역으로 분리될 수 있다.The policy applying unit 610 receives a policy distributed by the policy distribution device 700. The policy applying unit 610 determines whether to route the traffic to the proxy server (ie, the gateway 200) or the original destination server based on the policy. In this case, the policy applying unit 610 applies the policy to be delivered to the gateway 200 through the proxy agent 630 to the application included in the white list. The policy applying unit 610 parses the policy information and processes the policy information to correspond to the distributed structure of the proxy server. The policy applying unit 610 parses the white list included in the policy information to control the operation of the proxy agent 630. The communication function for communicating with the policy distributing apparatus 700 and the function for executing the policy may be separately implemented according to the terminal design, and for example, may be divided into an application area and an operating system kernel area.
프록시 에이전트부(630)는 정책 적용부(610)에 따라 프록시 통신하도록 결정된 어플리케이션의 트래픽에 대해 지정된 프록시 서버로 전송한다. 프록시 에이전트부(630)는 정책 정보에 포함된 프록시 서버 주소(게이트웨이(200) 주소)로 접속하여 프록시 통신을 수행한다. The proxy agent 630 transmits the traffic of the application determined to proxy communication according to the policy applying unit 610 to the designated proxy server. The proxy agent 630 connects to the proxy server address (gateway 200 address) included in the policy information and performs proxy communication.
도 20을 참고하면, 정책 배포 장치(700)는 프록시 서버 접속 정보와 화이트리스트 정보를 포함하는 정책을 생성한다(S510).Referring to FIG. 20, the policy distribution apparatus 700 generates a policy including proxy server access information and white list information (S510).
프록시 서버 접속 정보는 동적으로 제공되는 정보로서, IP 주소, 도메인 주소, 포트 정보 등으로 구성된 하나 이상의 프록시 서버 접속 정보이다. 프록시 서버 접속 정보는 이중화/로드 밸런싱/오류(failover) 시 우회 경로를 제공한다. 정책 배포 장치(700)는 프록시 우선 순위를 부여하여 단말의 접속 경로를 결정할 수 있다. 단말(100)은 프록시 서버의 우선순위에 따라 상위 순위 프록시 서버의 접속이 어려우면 프록시 에이전트부(630)에 의해 하위 순위 프록시 서버로 접속을 시도할 수 있다. The proxy server connection information is dynamically provided information and includes one or more proxy server connection information including an IP address, a domain address, port information, and the like. Proxy server connection information provides a bypass path in case of redundancy, load balancing, and failover. The policy distribution apparatus 700 may determine the access path of the terminal by assigning proxy priority. The terminal 100 may attempt to connect to the lower rank proxy server by the proxy agent 630 when the upper rank proxy server is difficult to access according to the priority of the proxy server.
프록시 서버 접속 정보는 다음과 같이 구성될 수 있다. Proxy server connection information may be configured as follows.
프록시 서버 접속정보 = {프록시 서버 접속 가능 수(n), {프록시 서버 URI.1, 프로시 서버 포트 정보.1 } ... {프록시 서버 URI.n, 프로시 서버 포트 정보.n}}Proxy Server Connection Information = {Proxy Server Accessible Number (n), {Proxy Server URI.1, Procedure Server Port Information.1} ... {Proxy Server URI.n, Procedure Server Port Information.n}}
프록시 서버 접속 정보는 URI를 IP 주소 또는 도메인 정보로 구성할 수 있다. Proxy server access information may be configured as a URI IP address or domain information.
프록시 서버가 1.1.1.1:1111, 2.2.2.2:2222, 3.3.3.3:3333 의 3식으로 분산된 경우, 프록시 서버 접속 정보는 다음과 같이 구성될 수 있다.When the proxy server is distributed in the following manners: 1.1.1.1:1111, 2.2.2.2:2222, and 3.3.3.3:3333, the proxy server connection information may be configured as follows.
프록시 서버 접속정보 = {3, { 1.1.1.1, 1111 }, { 2.2.2.2, 2222 }, { 3.3.3.3, 3333 }}  Proxy server connection information = {3, {1.1.1.1, 1111}, {2.2.2.2, 2222}, {3.3.3.3, 3333}}
화이트리스트 정보는 프록시 통신을 적용하기 위한 어플리케이션 그룹 혹은 어플리케이션 그 자체에 대한 정보를 포함한다. 즉, 화이트리스트 정보는 게이트웨이(200)를 경유하는 MPTCP 적용 대상 어플리케이션들의 정보일 수 있다. 어플리케이션 정보는 어플리케이션별로 유일한 정보인 패키지 이름(예를 들면, YouTube의 패키지 이름은 com.google.youtube), 어플리케이션 속성 그룹(예를 들면, web browser, media streaming) 등의 정보를 포함한다. The whitelist information includes information about the application group or the application itself for applying proxy communication. That is, the white list information may be information of MPTCP application target applications via the gateway 200. The application information includes information such as a package name (eg, YouTube's package name is com.google.youtube) that is unique to each application, an application attribute group (eg, web browser, media streaming), and the like.
단말(100)에서, 어플리케이션이 자체적으로 통신 세션을 생성하지 않고 시스템에 등록된 다른 어플리케이션으로 세션 생성을 의탁하는 경우가 존재한다. 예를 들면, 웹브라우져를 통한 파일 다운로드는 다운로드 매니저(download manager) 어플리케이션에 의탁하거나, 비디오/오디오 스트리밍 컨텐츠의 실행은 미디어 플레이어(media player) 어플리케이션에 의탁할 수 있다. 이러한 경우를 위해, 화이트리스트 정보는 어플리케이션 정보 구성 시, 관련된 어플리케이션의 정보를 보조(sub) 정보로 포함하여 구성할 수 있다. In the terminal 100, there is a case in which the application does not create a communication session by itself and entrusts the session creation to another application registered in the system. For example, file download through a web browser may be entrusted to a download manager application, or execution of video / audio streaming content may be entrusted to a media player application. For this case, the whitelist information may be configured to include information of related applications as sub information when configuring application information.
화이트리스트 정보는 다음과 같이 구성될 수 있다. 여기서, 타입은 어플리케이션 패키지, 어플리케이션 속성 그룹, sub 정보 포함 여부를 구분하는 정보이다.The white list information may be configured as follows. Here, the type is information for distinguishing whether an application package, an application attribute group, and sub information are included.
화이트리스트 정보= {대상 그룹수(n), {타입, 패키지명/속성}, ... {타입, 패키지명/속성}}Whitelist information = {number of target groups (n), {type, package name / attributes}, ... {type, package name / attributes}}
예를 들어, YouTube 어플리케이션은 mediaplayer 어플리케이션을 사용하므로 "패키지+서브어플리케이션"으로 타입을 구분할 수 있고, 웹브라우저 형태의 속성그룹 전체를 화이트리스트로 적용하는 2건에 대한 화이트리스트 정보는 다음과 같을 수 있다. For example, since the YouTube application uses the mediaplayer application, the type can be classified as "package + sub-application", and the white list information of two cases that apply the entire web browser type attribute group to the white list can be as follows. have.
화이트리스트 정보= {2, {패키지+서브어플리케이션, com.google.youtube, mediaplayer}, {속성그룹, 웹브라우저}}Whitelist information = {2, {package + sub-application, com.google.youtube, mediaplayer}, {property group, web browser}}
정책 배포 장치(700)은 단말(100)로 정책 정보를 배포한다(S520). 단말(100)은 특정 이벤트 발생시 또는 주기적으로 정책 배포 장치(700)부터 정책 정보를 수신하여 정책 정보를 업데이트를 한다.The policy distribution device 700 distributes policy information to the terminal 100 (S520). The terminal 100 receives policy information from the policy distribution device 700 when a specific event occurs or periodically to update the policy information.
단말(100)은 화이트리스트 트래픽이 프록시 서버로 전달되도록 수신한 정책 정보를 설정한다(S530). 단말(100)은 화이트리스트 정보에 포함된 어플리케이션 패키지 기반으로 해당 어플리케이션에서 발생하는 트래픽의 라우팅 테이블을 재설정한다. 문자열 형태의 패키지명은 단말에서의 식별자, 예를 들면, UID로 변환될 수 있고, 서브 어플리케이션 정보는 UID 또는 시스템 ID로 변환되어 단말 전역으로 유일한 값을 획득할 수 있다. 이렇게 획득된 어플리케이션 식별자는 라우팅 테이블 참조 시 필터값으로 사용될 수 있다. 즉, 단말(100)은 어플리케이션 식별자를 기초로 게이트웨이(200)를 경유하는 라우팅 경로를 적용할 것인지 판단할 수 있다. 화이트리스트에 포함되지 않는 일반 어플리케이션은 기존 방식에 따라 시스템 라우팅 정보를 기반으로 통신 세션이 생성되고 데이터 통신을 수행한다.The terminal 100 sets the received policy information so that the white list traffic is transmitted to the proxy server (S530). The terminal 100 resets the routing table of the traffic occurring in the corresponding application based on the application package included in the white list information. The package name in the form of a string may be converted into an identifier in the terminal, for example, a UID, and the sub-application information may be converted into a UID or a system ID to obtain a unique value throughout the terminal. The obtained application identifier may be used as a filter value when referencing a routing table. That is, the terminal 100 may determine whether to apply the routing path via the gateway 200 based on the application identifier. Common applications that are not included in the white list are established based on the system routing information according to the existing method, and performs data communication.
단말(100)은 정책 정보를 기초로 라우팅 테이블을 설정한다. 예를 들어, 표 2를 참고하면, 패키지명이 com.google.youtube인 어플리케이션이 화이트리스트에 포함된 경우, 단말(100)은 어플리케이션의 원래 목적지 주소/기본 게이트웨이 주소가 아니라 프록시 서버의 접속 주소(예를 들면, 1.1.1.1/1111)로 라우팅 테이블을 변경한다. The terminal 100 sets a routing table based on the policy information. For example, referring to Table 2, if the application with the package name com.google.youtube is included in the whitelist, the terminal 100 is not the application's original destination address / default gateway address but the access address of the proxy server (eg For example, change the routing table to 1.1.1.1/1111).
표 2
com.google.youtube UID = 99999
정책 적용 전: 목적지=*/* --> 192.168.0.1/*
정책 적용 후: 목적지=*/* && UID==99999 --> 1.1.1.1/1111
TABLE 2
com.google.youtube UID = 99999
Before applying policy: Destination = * / *-> 192.168.0.1/*
After applying the policy: Destination = * / * && UID == 99999-> 1.1.1.1/1111
화이트리스트에 포함된 어플리케이션이 트래픽을 발생시키는 경우, 즉, 해당 어플리케이션이 사용자의 입력 혹은 프로그래밍된 코드에 의해 통신 세션을 발생(예를 들면, TCP 핸드쉐이킹)하는 경우, 단말(100)은 정책 정보를 기초로 화이트리스트에 포함된 어플리케이션을 식별하고, 라우팅 테이블을 참조한다(S540). When an application included in the white list generates traffic, that is, when the application generates a communication session (eg, TCP handshaking) by a user's input or a programmed code, the terminal 100 generates policy information. An application included in the whitelist is identified based on the reference, and the routing table is referred to (S540).
단말(100)은 화이트리스트 트래픽을 프록시 서버(200)로 전송한다(S550). 단말(100)은 라우팅 테이블을 참조한 결과, 프록시 서버의 접속 주소를 획득하고, 프록시 에이전트부(630)를 통해 프록시 서버(200)와 통신한다. 단말(100)은 정책 정보에 포함된 하나 이상의 프록시 서버로 접속을 시도하되, 우선 접속 프록시 서버의 접근 불가시 하위순위 프록시 서버로 우회하여 접속 시도할 수 있다. 단말(100)은 프록시 방식(SOCKS, HTTP 등)에 따라 프록시 서버(200)와 데이터 경로를 확보하여 화이트리스트 트래픽을 송수신한다. 프록시 에이전트부(630)와 프록시 서버(200) 사이에 생성된 세션은 프록시 통신으로 유지된다.The terminal 100 transmits the white list traffic to the proxy server 200 (S550). As a result of referring to the routing table, the terminal 100 obtains an access address of the proxy server and communicates with the proxy server 200 through the proxy agent 630. The terminal 100 may attempt to connect to at least one proxy server included in the policy information, but may attempt to connect to the lower priority proxy server when the access proxy server is inaccessible. The terminal 100 transmits and receives white list traffic by securing a data path with the proxy server 200 according to a proxy method (SOCKS, HTTP, etc.). The session created between the proxy agent 630 and the proxy server 200 is maintained in proxy communication.
이와 같이, 정책 배포 장치(700)를 이용하는 경우, 종래의 목적지 주소 또는 특정 어플리케이션 기반의 전역 설정에 의한 프록시 통신과 달리, 어플리케이션별로 프록시 통신 구조를 제공할 수 있다. 따라서, 통신 사업자는 어플리케이션의 목적 및 용도에 따라 트래픽을 임의 프록시 서버로 우회시킬 수 있다. 특히, 이러한 프록시 기반 통신을 통해 다중 경로 전송의 병합 지점(게이트웨이)을 유연하게 구현할 수 있고, 통신 사업자가 어플리케이션별 병합 전송을 제어 및 관리할 수 있다.As such, when using the policy distributing apparatus 700, unlike a proxy communication based on a global destination based on a conventional destination address or a specific application, a proxy communication structure may be provided for each application. Thus, the service provider can divert traffic to any proxy server according to the purpose and purpose of the application. In particular, through such proxy-based communication, it is possible to flexibly implement a merge point (gateway) of multi-path transmission, and a carrier can control and manage application-specific merged transmission.
도 21은 본 발명의 한 실시예에 따른 단말의 하드웨어 블록도이다.21 is a hardware block diagram of a terminal according to an embodiment of the present invention.
도 21을 참고하면, 단말(100)은 프로세서(810), 메모리 장치(820), 저장 장치(830), 디스플레이(840), 통신 장치(850), 그리고 스피커/마이크(860) 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 도 1부터 도 20을 참고로 설명한 본 발명의 동작 방법은 프로그램 언어에 의해 소프트웨어 프로그램으로 작성된다. 프로그램은 프로세서(810)와 메모리 장치(820) 등의 하드웨어와 결합하여 본 발명을 실행한다.Referring to FIG. 21, the terminal 100 includes a processor 810, a memory device 820, a storage device 830, a display 840, a communication device 850, and a speaker / microphone 860. It is composed of hardware and stores a program executed in combination with hardware in a designated place. The hardware has the configuration and performance to implement the method of the present invention. The operation method of the present invention described with reference to FIGS. 1 to 20 is written as a software program in a program language. The program executes the present invention in combination with hardware such as processor 810 and memory device 820.
게이트웨이(200)와 정책 배포 장치(700)를 포함하는 네트워크 장치 역시, 프로세서, 메모리 장치, 저장 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 도 1부터 도 20을 참고로 설명한 본 발명의 동작 방법은 프로그램 언어에 의해 소프트웨어 프로그램으로 작성된다. 프로그램은 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.The network device including the gateway 200 and the policy distribution device 700 is also composed of hardware including a processor, a memory device, a storage device, a communication device, and the like, and stores a program executed in combination with the hardware at a designated place. . The hardware has the configuration and performance to implement the method of the present invention. The operation method of the present invention described with reference to FIGS. 1 to 20 is written as a software program in a program language. The program executes the present invention in combination with hardware such as a processor and a memory device.
이와 같이, 본 발명의 실시예에 따르면 가용한 복수의 무선망을 동시에 사용하여 각 경로로 전송된 데이터를 하나의 세션으로 처리할 수 있다. 본 발명의 실시예에 따르면 단말은 한 시점에 복수의 접속망에 연결 가능하며, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신할 수 있다. 본 발명의 실시예에 따르면 가용한 복수의 망자원을 이용하여 대량의 데이터를 빠르게 송수신할 수 있다. 본 발명의 실시예에 따르면 단말이 다중 경로 전송을 지원하지 않은 일반 서버와 다중 경로 TCP 기반 데이터 통신을 할 수 있다. As described above, according to an exemplary embodiment of the present invention, data transmitted through each path may be processed as one session using a plurality of available wireless networks simultaneously. According to an embodiment of the present invention, a terminal may be connected to a plurality of access networks at a time, and one service / application may merge and communicate a plurality of networks as one network regardless of the type of network or the number of networks. According to an embodiment of the present invention, a large amount of data can be quickly transmitted and received using a plurality of available network resources. According to an embodiment of the present invention, the terminal may perform multipath TCP-based data communication with a general server that does not support multipath transmission.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not only implemented through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiments of the present invention or a recording medium on which the program is recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (17)

  1. 단말이 게이트웨이를 통해 다중 경로 통신하는 방법으로서,As a method for the terminal to multi-path communication through the gateway,
    다중 경로 통신 대상에 해당하는 어플리케이션들을 포함하는 화이트리스트를 저장하는 단계, 그리고Storing a white list including applications corresponding to a multi-path communication target, and
    상기 화이트리스트에 포함된 제1 어플리케이션이 실행되면, 다중 통신 인터페이스의 적어도 하나를 이용하여 상기 게이트웨이와 적어도 하나의 경로를 생성하는 단계 Generating at least one path with the gateway using at least one of multiple communication interfaces when the first application included in the whitelist is executed;
    를 포함하는 다중 경로 통신 방법.Multipath communication method comprising a.
  2. 제1항에서,In claim 1,
    상기 제1 어플리케이션이 실행되면, 상기 제1 어플리케이션의 식별자를 기초로 상기 제1 어플리케이션이 상기 화이트리스트에 포함된 어플리케이션인지 판단하는 단계If the first application is executed, determining whether the first application is an application included in the whitelist based on the identifier of the first application
    를 더 포함하는 다중 경로 통신 방법.Multipath communication method further comprising.
  3. 제1항에서,In claim 1,
    상기 게이트웨이와 적어도 하나의 경로를 생성하는 단계는Creating at least one route with the gateway
    복수의 망 각각을 통해 상기 게이트웨이와 연결되는 서브플로우를 생성하고, Create a subflow connected to the gateway through each of a plurality of networks,
    상기 복수의 망 중 임의 망과의 접속이 끊어지면, 접속이 유지된 망의 서브플로우를 통해 상기 제1 어플리케이션의 트래픽을 처리하는 단계If the connection with any one of the plurality of networks is lost, processing traffic of the first application through a subflow of the maintained network;
    를 더 포함하는 다중 경로 통신 방법.Multipath communication method further comprising.
  4. 제1항에서,In claim 1,
    상기 화이트리스트를 저장하는 단계는Storing the white list
    네트워크 장치로부터 적어도 하나의 어플리케이션 목록을 수신하는 단계, 그리고Receiving at least one application list from a network device, and
    수신한 어플리케이션 목록을 상기 화이트리스트에 저장하는 단계Storing the received application list in the white list
    를 포함하는 다중 경로 통신 방법.Multipath communication method comprising a.
  5. 제1항에서,In claim 1,
    상기 화이트리스트에 포함된 어플리케이션에서 발생한 트래픽이 상기 게이트웨이로 중계되도록 라우팅 테이블을 설정하는 단계 Setting a routing table so that traffic generated from an application included in the whitelist is relayed to the gateway;
    를 더 포함하는 다중 경로 통신 방법.Multipath communication method further comprising.
  6. 제1항에서,In claim 1,
    상기 화이트리스트에 포함되지 않은 제2 어플리케이션이 실행되면, 상기 게이트웨이를 경유하지 않는 경로로 상기 제2 어플리케이션의 트래픽을 전송하는 단계If a second application not included in the whitelist is executed, transmitting traffic of the second application via a path not passing through the gateway;
    를 더 포함하는 다중 경로 통신 방법.Multipath communication method further comprising.
  7. 제1항에서,In claim 1,
    상기 게이트웨이와 적어도 하나의 경로를 생성하는 단계는Creating at least one route with the gateway
    상기 제1 어플리케이션의 소켓 생성 시 사용하는 원천 주소를 제1 통신 인터페이스로 설정하는 단계, Setting a source address used when creating a socket of the first application as a first communication interface,
    상기 제1어플리케이션이 상기 제1 통신 인터페이스를 원천 주소로 사용하여 생성한 제1 소켓의 정보, 그리고 라우팅 테이블에 설정된 적어도 하나의 통신 인터페이스를 원천 주소로 사용하여 생성한 제2 소켓의 정보를 매핑하고, 매핑한 정보를 매핑 테이블에 저장하는 단계, 그리고Mapping information of a first socket generated by the first application using the first communication interface as a source address, and information of a second socket generated using at least one communication interface set in a routing table as a source address; Storing the mapped information in a mapping table, and
    상기 매핑 테이블을 기초로 상기 제1어플리케이션의 트래픽을 상기 라우팅 테이블에 설정된 적어도 하나의 통신 인터페이스를 통해 송수신하는 단계Transmitting and receiving the traffic of the first application through at least one communication interface configured in the routing table based on the mapping table;
    를 포함하는 다중 경로 통신 방법.Multipath communication method comprising a.
  8. 제7항에서,In claim 7,
    상기 게이트웨이와 적어도 하나의 경로를 생성하는 단계는Creating at least one route with the gateway
    상기 제2 소켓이 원천 주소로 사용한 통신 인터페이스가 변경되는 경우, 변경된 인터페이스의 정보를 기초로 상기 매핑 테이블을 갱신하는 단계When the communication interface used by the second socket as a source address is changed, updating the mapping table based on information on the changed interface.
    를 더 포함하는 동작 방법.Operation method further comprising.
  9. 제7항에서,In claim 7,
    상기 제1 통신 인터페이스는 이동통신망 접속을 위한 인터페이스인, 동작 방법.And the first communication interface is an interface for a mobile communication network connection.
  10. 게이트웨이가 단말과 다중 경로 통신하는 방법으로서,The gateway is a multi-path communication with the terminal,
    상기 단말에서 실행된 어플리케이션의 트래픽 처리를 위해, 제1망을 통해 상기 단말과 제1 세션을 생성하는 단계,Generating a first session with the terminal through a first network to process traffic of an application executed in the terminal;
    상기 어플리케이션의 트래픽 처리를 위해 제2망을 통해 상기 단말과 제2 세션을 생성하는 단계, 그리고Generating a second session with the terminal through a second network to process the traffic of the application, and
    상기 제1 세션과 상기 제2 세션을 통해 상기 어플리케이션 트래픽을 처리하는 단계Processing the application traffic through the first session and the second session
    를 포함하는 다중 경로 통신 방법.Multipath communication method comprising a.
  11. 제10항에서,In claim 10,
    상기 어플리케이션 트래픽을 처리하는 단계는Processing the application traffic
    상기 제1 세션 정보를 기초로 상기 제1망의 종류를 판단하는 단계, 그리고Determining the type of the first network based on the first session information, and
    상기 제1망이 지정된 선호망인 경우, 상기 제2 세션을 통한 트래픽 처리를 제한하는 단계If the first network is the designated preferred network, restricting traffic processing through the second session
    를 포함하는 다중 경로 통신 방법.Multipath communication method comprising a.
  12. 제11항에서,In claim 11,
    상기 지정된 선호망은 WiFi망인 다중 경로 통신 방법.The designated preferred network is a WiFi network multi-path communication method.
  13. 제11항에서,In claim 11,
    상기 어플리케이션 트래픽을 처리하는 단계는Processing the application traffic
    상기 제1망의 통신 상태를 모니터링하는 단계, 그리고Monitoring the communication status of the first network, and
    모니터링 결과 상기 제1망이 기준 이하의 품질을 제공하는 경우, 상기 제2 세션을 통한 트래픽 처리 제한을 해제하는 단계Releasing the restriction of the traffic handling through the second session if the first network provides substandard quality
    를 포함하는 다중 경로 통신 방법.Multipath communication method comprising a.
  14. 제10항에서,In claim 10,
    상기 어플리케이션 트래픽을 처리하는 단계는Processing the application traffic
    상기 단말의 요금제를 기초로 상기 제1 세션과 상기 제2 세션을 통한 트래픽 처리를 제어하는 다중 경로 통신 방법.And controlling traffic processing through the first session and the second session based on a rate plan of the terminal.
  15. 정책 배포 장치와 단말이 다중 경로 통신을 위해 동작하는 방법으로서,A method of operating a policy distribution device and a terminal for multipath communication,
    상기 정책 배포 장치가, 프록시 서버 접속 정보 그리고 화이트리스트 정보를 포함하는 프록시 정책을 생성하는 단계, Generating, by the policy distribution device, a proxy policy including proxy server access information and whitelist information;
    상기 정책 배포 장치가, 상기 프록시 정책을 단말에 배포하는 단계, 그리고The policy distributing device distributing the proxy policy to a terminal; and
    상기 단말이, 상기 프록시 정책을 기초로 임의 어플리케이션의 트래픽을 지정된 프록시 서버로 전송하는 단계를 포함하고, Sending, by the terminal, traffic of an arbitrary application to a designated proxy server based on the proxy policy;
    상기 화이트리스트 정보는 다중 경로 통신 대상에 해당하는 어플리케이션 목록인 동작 방법.The white list information is an application list corresponding to a multi-path communication target.
  16. 제15항에서,The method of claim 15,
    상기 지정된 프록시 서버로 전송하는 단계는The step of transmitting to the designated proxy server
    상기 단말이, 상기 화이트리스트에 포함된 제1 어플리케이션의 트래픽이 제1 프록시 서버로 중계되도록 라우팅 테이블을 설정하여 상기 프록시 정책을 적용하는 단계, Setting, by the terminal, a routing table so that traffic of a first application included in the whitelist is relayed to a first proxy server, and applying the proxy policy;
    실행되는 어플리케이션의 식별 정보를 기초로 상기 제1 어플리케이션을 식별하는 단계, 그리고Identifying the first application based on identification information of an application to be executed, and
    상기 제1 어플리케이션에 관계된 라우팅 테이블을 참조하여 상기 제1 어플리케이션의 트래픽을 상기 제1 프록시 서버로 전송하는 단계Transmitting traffic of the first application to the first proxy server by referring to a routing table related to the first application;
    를 포함하는 동작 방법.Operation method comprising a.
  17. 제16항에서,The method of claim 16,
    상기 제1 프록시 서버로 전송하는 단계는The step of transmitting to the first proxy server
    상기 제1 프록시 서버와 연결된 다중 경로로 상기 제1 어플리케이션의 트래픽을 전송하는, 동작 방법.And transmitting traffic of the first application in a multipath connected with the first proxy server.
PCT/KR2015/005484 2014-06-27 2015-06-01 Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method WO2015199340A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
SG11201610128QA SG11201610128QA (en) 2014-06-27 2015-06-01 Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method
EP15812323.2A EP3163809B1 (en) 2014-06-27 2015-06-01 Methods for multi-path tcp communication
US15/322,407 US10355982B2 (en) 2014-06-27 2015-06-01 Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method
EP18152806.8A EP3331219B1 (en) 2014-06-27 2015-06-01 Method for multi-path communication
AU2015280947A AU2015280947B2 (en) 2014-06-27 2015-06-01 Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method
PH12016502442A PH12016502442B1 (en) 2014-06-27 2016-12-06 Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2014-0079669 2014-06-27
KR20140079669 2014-06-27
KR10-2015-0014615 2015-01-29
KR1020150014615A KR101746191B1 (en) 2014-06-27 2015-01-29 Network apparatus and terminal for multi-path transmission, operating method of the same, and program of the same method

Publications (1)

Publication Number Publication Date
WO2015199340A1 true WO2015199340A1 (en) 2015-12-30

Family

ID=54938385

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/005484 WO2015199340A1 (en) 2014-06-27 2015-06-01 Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method

Country Status (1)

Country Link
WO (1) WO2015199340A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017119690A1 (en) * 2016-01-05 2017-07-13 삼성전자 주식회사 Electronic device and method for operating same
WO2018156681A1 (en) * 2017-02-24 2018-08-30 Alcatel-Lucent Usa Inc. Methods and network elements for multi-connectivity control
CN111406437A (en) * 2017-09-29 2020-07-10 诺基亚技术有限公司 Multi-path data communication
CN113169935A (en) * 2018-10-01 2021-07-23 思杰系统有限公司 System and method for multilink wide area network connectivity for SAAS applications
EP3968578A1 (en) * 2020-09-11 2022-03-16 Deutsche Telekom AG Multipath-capable communication device
US11432357B2 (en) * 2018-02-06 2022-08-30 Huawei Technologies Co., Ltd. Multipath establishment method and apparatus
US11445534B2 (en) 2016-02-05 2022-09-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Communication method, terminal equipment, and network equipment
US11997020B2 (en) 2020-09-11 2024-05-28 Deutsche Telekom Ag Multipath-capable communication device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110018235A (en) * 2009-08-17 2011-02-23 주식회사 엘지유플러스 Mobile terminal for providing web service and operating method thereof, system and method for providing web service
KR20120050805A (en) * 2010-11-11 2012-05-21 에스케이 텔레콤주식회사 System and method for changing access in heterogeneous networks
KR20130006385A (en) * 2012-08-24 2013-01-16 주식회사에어플러그 Apparatus and method for enabling to transceive data using a plurality of heterogeneous networks selectively through a fixed host address
US20130195004A1 (en) * 2012-01-31 2013-08-01 Karl Georg Hampel Method and apparatus for multipath protocol packet relay

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110018235A (en) * 2009-08-17 2011-02-23 주식회사 엘지유플러스 Mobile terminal for providing web service and operating method thereof, system and method for providing web service
KR20120050805A (en) * 2010-11-11 2012-05-21 에스케이 텔레콤주식회사 System and method for changing access in heterogeneous networks
US20130195004A1 (en) * 2012-01-31 2013-08-01 Karl Georg Hampel Method and apparatus for multipath protocol packet relay
KR20130006385A (en) * 2012-08-24 2013-01-16 주식회사에어플러그 Apparatus and method for enabling to transceive data using a plurality of heterogeneous networks selectively through a fixed host address

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALAN FORD ET AL.: "TCP Extensions for Multipath Operation with Multiple Addresses", INTERNET ENGINEERING TASK FORCE (IETF), REGUEST FOR COMMENTS (RFC) 6824, January 2013 (2013-01-01), pages 1 - 64, XP055248782, ISSN: 2070-1721, Retrieved from the Internet <URL:http://www.rfc-editor.org/info/rfc6824> *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108605261B (en) * 2016-01-05 2022-03-15 三星电子株式会社 Electronic device and operation method thereof
KR20170081903A (en) * 2016-01-05 2017-07-13 삼성전자주식회사 Electronic device and method for operating thereof
KR102458444B1 (en) * 2016-01-05 2022-10-25 삼성전자주식회사 Electronic device and method for operating thereof
CN108605261A (en) * 2016-01-05 2018-09-28 三星电子株式会社 Electronic equipment and its operating method
EP3389336A4 (en) * 2016-01-05 2018-11-14 Samsung Electronics Co., Ltd. Electronic device and method for operating same
WO2017119690A1 (en) * 2016-01-05 2017-07-13 삼성전자 주식회사 Electronic device and method for operating same
US10979867B2 (en) 2016-01-05 2021-04-13 Samsung Electronics Co., Ltd. Electronic device and method for operating same
US11445534B2 (en) 2016-02-05 2022-09-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Communication method, terminal equipment, and network equipment
US11096109B2 (en) 2017-02-24 2021-08-17 Alcatel Lucent S.A.S. Methods and network elements for multi-connectivity control
WO2018156681A1 (en) * 2017-02-24 2018-08-30 Alcatel-Lucent Usa Inc. Methods and network elements for multi-connectivity control
CN111406437A (en) * 2017-09-29 2020-07-10 诺基亚技术有限公司 Multi-path data communication
CN111406437B (en) * 2017-09-29 2024-04-02 诺基亚技术有限公司 Multipath data communication
US11432357B2 (en) * 2018-02-06 2022-08-30 Huawei Technologies Co., Ltd. Multipath establishment method and apparatus
CN113169935A (en) * 2018-10-01 2021-07-23 思杰系统有限公司 System and method for multilink wide area network connectivity for SAAS applications
EP3968578A1 (en) * 2020-09-11 2022-03-16 Deutsche Telekom AG Multipath-capable communication device
US11997020B2 (en) 2020-09-11 2024-05-28 Deutsche Telekom Ag Multipath-capable communication device

Similar Documents

Publication Publication Date Title
WO2015199340A1 (en) Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method
KR101905867B1 (en) Network apparatus and terminal for multi-path transmission, operating method of the same, and program of the same method
WO2017176013A1 (en) Method for processing access request from ue, and network node
WO2018038490A1 (en) Method and system for regional data network configuration in wireless communication network
WO2020251240A1 (en) Method and apparatus for improving service reliability in wireless communication system
WO2016003248A1 (en) Apparatus and method for providing a service connection through access layer in wireless communication system
WO2022035177A1 (en) Method and device for providing local mbs in wireless communication system
WO2018004106A1 (en) Method, device and computer-readable recording medium for communication on wi-fi direct multi-group network
WO2018038412A1 (en) Method and user equipment for connecting by means of plurality of accesses in next generation network
US20160261490A1 (en) Bonding router
WO2021235880A1 (en) Method and device for providing local data network information to terminal in wireless communication system
WO2020256484A1 (en) Network device and method for searching for edge service implemented in network device
WO2023146314A1 (en) Communication method and device for xr service in wireless communication system
WO2015002436A1 (en) Method and apparatus for optimizing data route in mobile communication system
WO2020067849A1 (en) Method and device for managing connectivity of iot terminal using low power mode
WO2023018149A1 (en) Methods and systems for af control of network slice quota
WO2017003064A1 (en) Network device and terminal for multi-net aggregation transmission, and operating method thereof
WO2017003065A1 (en) Network device and terminal for multi-net aggregation transmission, and operating method thereof
WO2023234694A1 (en) Method and system for replacing pin element with gateway capability in personal iot network
WO2023191479A1 (en) Method and apparatus for configuring artificial intelligence and machine learning traffic transport in wireless communications network
WO2023214818A1 (en) Method and apparatus for controlling data transmission according to quality of service in wireless communication system
WO2021075762A1 (en) Method and apparatus for transmitting or receiving data packet in wireless communication system
WO2023214729A1 (en) Method and device for dynamic backhaul network delay-based session management in wireless communication system
WO2022005173A1 (en) Base station device and method for operating base station device
WO2024096685A1 (en) Method and device for managing security domain access information of migrated users

Legal Events

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

Ref document number: 15812323

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2016/03230

Country of ref document: TR

WWE Wipo information: entry into national phase

Ref document number: 12016502442

Country of ref document: PH

REEP Request for entry into the european phase

Ref document number: 2015812323

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015812323

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015280947

Country of ref document: AU

Date of ref document: 20150601

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15322407

Country of ref document: US