WO2012124891A2 - 다중 통신 경로 기반의 서비스 제공 시스템 - Google Patents

다중 통신 경로 기반의 서비스 제공 시스템 Download PDF

Info

Publication number
WO2012124891A2
WO2012124891A2 PCT/KR2012/000506 KR2012000506W WO2012124891A2 WO 2012124891 A2 WO2012124891 A2 WO 2012124891A2 KR 2012000506 W KR2012000506 W KR 2012000506W WO 2012124891 A2 WO2012124891 A2 WO 2012124891A2
Authority
WO
WIPO (PCT)
Prior art keywords
communication path
mobile
server
communication
mobile terminal
Prior art date
Application number
PCT/KR2012/000506
Other languages
English (en)
French (fr)
Other versions
WO2012124891A3 (ko
Inventor
김대영
Original Assignee
주식회사 네이블커뮤니케이션즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 네이블커뮤니케이션즈 filed Critical 주식회사 네이블커뮤니케이션즈
Publication of WO2012124891A2 publication Critical patent/WO2012124891A2/ko
Publication of WO2012124891A3 publication Critical patent/WO2012124891A3/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the disclosed technology relates to a multipath based service providing technology, and more particularly, to a multipath based service providing technology capable of maintaining an optimized communication path according to a connection environment of a mobile terminal.
  • a communication path for performing a service is not efficient because the range of the communication area is different for each mobile device and communication network.
  • the use of the WiFi network is advantageous in terms of bandwidth or communication cost, but there are frequent problems between the 3G network and the WiFi network due to the instability of the WiFi network and low throughput in the WiFi unstable area. Handoff may occur and thus the user's haptic quality is deteriorated.
  • the communication path must be updated according to the change of the communication network, and if a change of the communication network occurs in a secure communication environment such as HTTPS or a communication environment requiring login, the necessary procedures must be re-run again. Therefore, it is difficult to secure the continuity of services.
  • the present application provides a multi-path based service providing technology capable of maintaining an optimized communication path according to a connection environment of a mobile terminal.
  • first and second are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms.
  • first component may be named a second component, and similarly, the second component may also be named a first component.
  • first item, second item and / or third item may be given from two or more of the first, second or third items as well as the first, second or third items. Any combination of the possible items.
  • an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
  • FIG. 1 is a block diagram illustrating a multiple communication path based service providing system of the disclosed technology.
  • a multi-communication path based service providing system 100 (hereinafter, referred to as a service providing system) includes an application server 110, a connecting server 120, and a mobile terminal 130.
  • the application server 110 may exchange data with an application of the mobile terminal 130 and provide a service desired by a user.
  • the application server 110 may be a web server, a VoD server, a VoIP server, and the like
  • the application of the mobile terminal 130 may be a web browser, a VoD client, a VoIP client, or the like.
  • the connecting server 120 transmits data (hereinafter, referred to as mobile data) received from the application server 110 to the mobile terminal 130 through one of the plurality of communication paths, and also transmits a plurality of communication paths from the mobile terminal 130. Transmit the data received through one of the application server.
  • a plurality of communication paths are generalized and described as a first communication path and a second communication path. Also, for convenience of description, it is assumed that the first communication path is a path established through the 3G communication network, and the second communication path is a path established through the WiFi communication network, but it is apparent that this assumption does not limit the disclosed invention.
  • a detailed description of the connecting server 120 will be described later with reference to FIGS. 2 to 3.
  • the mobile terminal 130 may receive a corresponding service from the application server 110 via the connecting server 120.
  • the mobile terminal 130 may be equipped with a connecting client for communicating with the connecting server 120, and the connecting client may provide mobile data to an application program executed in the mobile terminal 130.
  • the mobile terminal 130 may be implemented as a portable terminal (eg, a smart phone) having a plurality of communication functions.
  • a description will be given on the assumption of a mobile terminal 130 having a 3G communication function and a WiFi communication function, but it is obvious that communication is possible using three or more different communication methods according to the needs of those skilled in the art. A detailed description of the mobile terminal 130 will be described later with reference to FIGS. 4 to 6.
  • the IP address of the application server 110 is an "AS IP address"
  • the address of the connecting server 120 based on the first communication path is the "first server IP address”
  • the connecting server based on the second communication path is the address of 120
  • the address of 120 is a "second server IP address”
  • the address of the mobile terminal 130 based on the first communication path is the "first mobile IP address”
  • the address of the mobile terminal 130 based on the second communication path “Second mobile IP address”
  • the Internet address managed by the connecting client of the mobile terminal 130 is expressed as "mobile IP address”.
  • the "first server IP address” and the "second server IP address” may be the same.
  • the application server 110 and the application of the mobile terminal 130 may transmit and receive data only with the "AS IP address" and "mobile IP address", the data transmission according to the switching of the communication path is connected to the connecting server ( 120) and the connecting client. Therefore, the application server 110 and the application of the mobile terminal 130 may provide a service while operating in the same manner as when only one network exists, regardless of whether data is actually transmitted through any communication network.
  • a direction from the application server 110 to the mobile terminal 130 is referred to as a downlink
  • a direction from the mobile terminal 130 to the application server 110 is referred to as an uplink.
  • the WiFi IP address of the mobile terminal and the address of the mobile terminal through the WiFi network viewed by the connecting server are used as the "second mobile IP address", the NAT (Network Address Translation) may exist in the WiFi communication network.
  • the actual WiFi IP address of the terminal and the WiFi IP address viewed by the connecting server may be different.
  • second mobile IP address on the assumption that there is no NAT, but even if NAT exists, it can be easily understood and implemented at the level of those skilled in the art. Belonging is self-evident. The same assumptions will be made for the 3G communication network.
  • the application may directly use the "first mobile IP address" or "second mobile IP address” without using.
  • a specific application may be provided with a service using a connecting client, and another application may be directly provided with a service without using a connecting client.
  • a specific application and another application may be simultaneously mounted on one mobile terminal 130.
  • FIG. 2 is a block diagram illustrating an embodiment of the connecting server of FIG. 1
  • FIG. 3 is a flowchart illustrating an embodiment of an operation of the connecting server of FIG. 2.
  • the connecting server 120 includes an IP communication module 210, a data converter 220, a communication path selector 230, a 3G communication module 240, a WiFi communication module 250, and an IP.
  • the address manager 260 may be included.
  • the connecting server 120 may further include a communication network identification unit 270 or a history storage unit 280.
  • the IP communication module 210 may receive a downlink packet destined for the mobile terminal 130 from the application server 110 or transmit an uplink packet received from the mobile terminal 130 to the application server 110.
  • the data converter 220 may encapsulate mobile data or decapsulate the encapsulated data.
  • the data converter 220 may encapsulate the mobile data by using a first or second mobile IP address selected from the communication path selector 230 as a destination. Through the encapsulation / restore of the data conversion unit 220, (1) the mobile IP address and (2) the first or second mobile IP address may be converted into each other.
  • the data converter 220 may perform encryption or decryption on mobile data.
  • the data converter 220 may establish a key for encryption by communicating with the connecting client and perform encryption (downlink) or decryption (uplink) using the set key.
  • various encryption techniques such as a public key based encryption method or a secret key based encryption method may be used for encryption / decryption, and the data conversion unit 220 may include a module or algorithm for corresponding encryption / decryption. have.
  • the data converter 220 may encapsulate or encrypt mobile data differently for each path selected by the communication path selector 230.
  • the data conversion unit 220 may specify a source Internet address and / or a destination Internet address differently according to a communication path when performing encapsulation. Or you can specify different protocols for encapsulation (UDP, TCP, GRE, etc.).
  • the data converter 220 may use different encryption techniques according to a communication path.
  • the communication path selector 230 may dynamically select a communication path for performing uplink or downlink communication with the connecting client 430 of the mobile terminal.
  • the communication path selector 230 may provide the data converter 220 with the IP address of the connecting client 430 mapped to the selected communication path. For example, if the first communication path has been selected, the communication path selector 230 may provide the “first mobile IP address” to the data conversion unit 220, and as a result connect the encapsulated mobile data to the client. 430 may be provided.
  • the communication path selector 230 may check the state of the first and second communication paths, select a communication path of a better state, and perform downlink communication.
  • the communication path selector 230 may select a communication path by checking a history of uprank packets received from the mobile terminal 130-more specifically, the connecting client 430. .
  • the communication path selector 230 may be selected based on the reception time of the uplink packet received through the second communication path WiFi. In other words, the communication path selector 230 checks the reception time of the most recently received uplink packet from the connecting client 430 through the second communication path (WiFi), and if it is within the set time from the confirmed reception time. The second communication path may be selected. If the set time has elapsed from the reception time of the latest uplink packet, the first communication path may be selected.
  • the uplink packet may be periodic data transmitted by the mobile terminal 130 for port binding of NAT of the WiFi communication network, or may be response data to the application server 110.
  • the set time may be set in consideration of the port binding time of the NAT of the WiFi communication network.
  • the communication path selector 230 may send a KeepAlive packet to confirm whether data can go to a specific communication path. For example, when there is a downlink packet to send, if there is no uplink packet received through the second communication path for a certain time, the mobile terminal 130 may request that the mobile terminal 130 respond by sending a KeepAlive packet to the second communication path. When the corresponding response is received from the mobile terminal 130, the communication path selector 230 may confirm that the second communication path is available and send downlink data through the identified second communication path. The communication path selector 230 may be buffering the downlink packet until a corresponding response is received, or may be transmitted to the mobile terminal 130 through the first communication path, which is an available channel.
  • the communication path selector 230 may check the history of the uplink packet to confirm the latest uplink, and if the verified recent uplink is valid by validating the corresponding uplink, It is possible to select the communication path that received the uplink packet.
  • the communication path selector 230 may transmit an acknowledgment packet requesting a response through the corresponding communication path. For example, as a result of checking the history of the uplink packet, if a recent uplink is a packet received through the second communication path, a confirmation packet for requesting a response to the mobile terminal 130 is transmitted through the second communication path. In response to the response being received, it is possible to verify whether the second communication path is valid.
  • the communication path selector 230 checks the state of the first and second communication paths, selects a communication path of a better state, and provides the information to the connecting client 430 about it. can do.
  • the mobile terminal 130 which is the main body of the uplink, may have a problem in power management if a pre-communication for checking a more advantageous communication path occurs frequently, and thus a better communication path in the connecting server 120 may be achieved.
  • the 3G communication module 240 may transmit and receive a packet with the mobile terminal 130 through the first communication path.
  • the connecting server 110 may be connected to the mobile terminal 130 through the 3G-based IP communication network using the 3G communication module 240.
  • the mobile terminal 130 may maintain the "first mobile IP address" and the connecting server 120
  • the connecting client 430 may maintain a state that can always be connected to the mobile terminal 130 by continuously maintaining a TCP connection. That is, when the connecting server 120 sends data through the TCP connection to the address "first mobile IP address", the mobile terminal 130 may receive it at any time as long as the connection is maintained.
  • the WiFi communication module 250 may transmit and receive a packet with the mobile terminal 130 through the second communication path.
  • the connecting server 110 may be connected to the mobile terminal 130 through the WiFi-based IP communication network using the WiFi communication module 250.
  • the connecting server 120 may be selectively connected with the mobile terminal 130 through the WiFi communication module 250. Can be.
  • the reason why the connecting server 120 and the mobile terminal 130 are selectively connected is as follows.
  • the mobile terminal 130 may operate so as not to receive a WiFi-based wireless communication signal in order to minimize battery consumption.
  • the mobile terminal 130 may maintain port binding only by periodically transmitting a packet due to a network address translation (NAT) existing between the WiFi communication module 250 and in this case. Only downlink data can be received, but depending on the NAT, this time can be very short, and if the periodic data for port binding continues to be sent, battery consumption may increase. Accordingly, the mobile terminal 130 may be selectively connected since the mobile terminal 130 may not transmit a packet for port binding in order to reduce battery consumption. In addition, since the mobile terminal 130 may turn off the WiFi communication network or make a "sleep" mode in order to reduce battery consumption, the mobile terminal 130 may be switched to a state in which reception is not possible even in a region in which a WiFi communication signal is present.
  • NAT network address translation
  • the 3G communication module 240 and the WiFi communication module 250 are separately shown, but may be implemented as one module in an actual implementation. Therefore, the value of "first server IP address" and the value of "second server IP address” may be implemented differently or identically.
  • the IP address value of the IP communication module 210 may also be implemented in the same manner as the "first server IP address" and / or "second server IP address”.
  • the IP address manager 260 may store (1) the first and second mobile IP addresses assigned to the mobile terminal and (2) the "mobile IP address" mapped thereto.
  • “mobile IP address” may be mapped to “first mobile IP address” and “second mobile IP address”
  • “first mobile IP address” is “first server IP address”
  • “iii) the” second mobile IP address may be mapped to the" second server IP address ".
  • the IP address manager 260 may maintain a pool of mobile IP addresses that store unassigned " mobile IP addresses, " and in order to assign " mobile IP addresses " The route selector 230 may select a "mobile IP address” from the mobile IP address pool and provide the same to the connecting client 430.
  • the communication network checking unit 270 may check the states of the first and second communication paths.
  • the communication network confirmation unit 270 respectively to confirm the state of the first and second communication paths, the confirmation packet requesting a response to the mobile terminal 130, respectively the first and second communication paths Can be transmitted via
  • the communication network confirmation unit 270 may perform a response to the confirmation packet for requesting a response from the mobile terminal 130.
  • the communication network checker 270 may provide the communication path selector 230 with the checked first and second communication paths.
  • the history storage unit 280 stores a history of packets that communicate with each mobile terminal. As described above, the communication path selector 230 may determine a communication path to be used as the downlink using the history of the packet stored in the history storage unit 280.
  • the history storage unit 280 may store it and start counting.
  • the history storage unit 280 may notify the communication path selector 230 when the count value exceeds a set time (eg, 1 minute).
  • the communication path selector 230 requests confirmation for a packet having a predetermined condition (for example, a specific 5 tuple-source address, source port, destination address, destination port, protocol- Packet)
  • the history storage unit 280 may inform when the last time the packet was received in the corresponding uplink.
  • the history storage unit 280 may perform the same operation on the downlink packet through the second communication path. For example, the history storage unit 280 may transmit the count information to the communication path selector 230 for the uplink and the downlink, respectively, and map the information for the two links (last downlink or uplink). And time information elapsed from the time when the packet is turned on. In one embodiment, the reason for using only the uplink information without using the downlink information is that there is no guarantee that the downlink packet is sent to the mobile terminal 130 because the downlink packet was sent through the second communication path. to be.
  • the arrival of data to the connecting server 120 through the uplink transmission means that the WiFi communication network coming from the mobile terminal 130 to the connecting server 120 is alive, and the downlink transmission is also connected to the connecting server through the WiFi communication network ( This is because the mobile terminal 130 may go to the mobile terminal 130 for a predetermined time.
  • FIG. 3 is a flow chart illustrating one embodiment of an operation of a connecting server—selecting a downlink communication path using uplink packets received on a second communication path.
  • the communication path selecting unit 230 receives the most recent uplink packet received through the second communication path stored in the history storage unit 280. The time can be confirmed (step S320). If the count value from the corresponding reception time has not passed the set time (step S330, YES), the communication path selector 230 selects the second communication path and passes the downlink packet through the WiFi communication module 250. To the connecting client 430 (step S340). Alternatively, if the count value has passed the set time (step S330, YES), the communication path selector 230 selects the first communication path and transmits the downlink packet to the connecting client 340 through the 3G communication module 240. Can be transmitted (step S350).
  • the operation may be performed in parallel with the command-based transmission method from the connecting client to be described with reference to FIG. 6.
  • the downlink packet may be transmitted to the connecting client 340 through both the first communication path and the second communication path.
  • the uplink packets received by the connecting server 120 may arrive in duplicate or in a different order.
  • the connecting server 120 may remove the duplicated uplink packet and correct the order of the uplink packet, and transmit the corrected uplink packet to the application server 110.
  • FIG. 4 is a block diagram illustrating an embodiment of a mobile terminal of FIG. 1.
  • the mobile terminal 130 may include a 3G communication module 410, a WiFi communication module 420, a connecting client 430, and an application module 440.
  • the application module 440 may perform operations on the plurality of application modules 440 simultaneously or sequentially.
  • the 3G communication module 410 may transmit and receive a packet with the connecting server 120 through the first communication path.
  • the mobile terminal 130 may be connected to the connecting server 110 through the 3G-based IP communication network using the 3G communication module 410.
  • the mobile terminal 130 may continue to maintain the "first mobile IP address" and the connecting server 120 Since the connecting client 430 and the TCP connection is continuously made can always be connected to. That is, when the connecting server 120 sends data through the TCP connection to the "first mobile IP address", the mobile terminal 130 may receive it.
  • the WiFi communication module 420 may transmit and receive a packet with the connecting server 120 through the second communication path.
  • the mobile terminal 130 may be connected to the connecting server 110 through the WiFi-based IP communication network using the WiFi communication module 420.
  • the WiFi communication module 420 may be selectively connected to the connecting server 120. The reason why the mobile terminal 130 and the connecting server 120 are selectively connected is the same as described in the description of FIG. 2.
  • the connecting client 430 may restore the encapsulated mobile data received from the connecting server 120 through the first or second communication path and provide the encapsulated mobile data to the application module 440.
  • encapsulation may be performed using ME (Minimal Encapsulation), UDP encapsulation, TCP encapsulation, or Generic Routing Encapsulation (GRE).
  • ME Minimum Encapsulation
  • UDP encapsulation UDP encapsulation
  • TCP encapsulation Transmission Control Protocol encapsulation
  • GRE Generic Routing Encapsulation
  • the connecting client 430 knows the IP address of the connecting server 120 in advance (for example, may be preset and stored) or the IP address of the connecting server 120 through "DNS lookup" or the like. I can figure it out.
  • the connecting client 430 may be assigned a "mobile IP address" from the connecting server 120.
  • the connecting client 430 may check whether the first and / or second communication paths are connectable and provide them to the connecting server 120. In such an embodiment, whether the first and / or second communication paths can be connected may be made periodically, and the connecting client 430 may dynamically control the period according to the remaining power of the mobile terminal 130. have. For example, if the amount of power remaining in the mobile terminal 130 is high, whether or not connection to the first and / or second communication paths may be made at a shorter period, and if the amount of power remaining is low, the first and / or second communication may be performed. Whether a path can be connected can be made every longer period. In this embodiment, confirmation of whether the first and / or second communication paths are connectable may be made when the connecting client 430 has a packet to send on the uplink or when receiving a packet on the downlink.
  • the connecting client 430 can decrypt it.
  • encryption and decryption may use IP-SEC, TLS, or the like.
  • the connecting client 430 if the downlink data received by the connecting client 430 is duplicated or reordered, the connecting client 430 removes the duplicate packets and corrects the reordered packets so that the application module 440 is corrected. ) Can be provided.
  • the connecting client 430 may encapsulate the mobile data (uplink data) received from the application module 440 and transmit the encapsulated mobile data to the connecting server 120 through the first or second communication path.
  • the connecting client 430 may send the uplink data using either the WiFi communication module 420 or the 3G communication module 410 ( Assume that both WiFi signal and 3G signal are received). This is different from the case in which the downlink data is sent from the connecting server 120 to the connecting client 430. For this reason, first, when there is NAT between the connecting server 120 and the connecting client 430, data can always be sent in the uplink direction, but only while port binding of NAT is in the downlink direction. Secondly, because the mobile terminal 130 can turn on the modem whenever necessary and establish a connection with the server and send data, whereas the server cannot make this operation to the modem of the terminal.
  • the connecting client 430 may receive information regarding the status of the first and second communication paths from the connecting server 120 and use the received information to determine a communication path for uplink transmission. have.
  • the connecting client 430 may check whether the second communication path is connected and transmit data through the WiFi communication module 420 when the second communication path is connected, and the second communication path is not connected.
  • data may be transmitted through the 3G communication module 410.
  • the confirmation of whether the second communication path is connected may correspond to the reception of a WiFi-based wireless communication signal.
  • data may be actually transmitted to check whether the communication path is connected. That is, the connecting client 430 transmits a "packet requesting a response" to the connecting server 120 through the corresponding communication path (here, WiFi network), and confirms the response of the connecting server to connect the communication path. You can check.
  • information on whether the downlink data has been recently received through the corresponding communication path may be used to check whether the second communication path is connected.
  • the application module 440 may execute an application executed in the mobile terminal 130.
  • the application module 440 may communicate with the application server 110 using only the "mobile IP address” and "AS server IP address”.
  • the application module 440 may provide the connecting client 430 with mobile data to send to the application server 110.
  • the application module 440 does not need to know the "first mobile IP address”, “second mobile IP address”, “first server IP address” and “second server IP address", the application server 110 Even if only the address (“AS IP address") is known, the communicating client 430 may perform communication.
  • FIG. 5 is a block diagram illustrating an embodiment of the connecting client of FIG. 4, and FIG. 6 is a flowchart illustrating an embodiment of an operation of the connecting client of FIG. 5.
  • the connecting client 430 may include a communication network checker 510, a communication path selector 520, a data converter 530, and an IP address storage 540.
  • the communication network checking unit 510 may check whether the mobile terminal 130 can connect to the 3G and / or WiFi communication network. For example, the connection can be confirmed by detecting the sensitivity of the corresponding communication path. Alternatively, the response confirmation packet may be sent to the connecting server 120, and the response may be checked to determine whether the packet can be connected to the communication path. In one embodiment, the 3G communication module 410 and the WiFi communication module 420 may inform the communication network identification unit 510 whether they can connect to the corresponding communication network, respectively.
  • the communication path selector 520 may receive a result of confirming the communication network confirmer 510, and may select a communication path for transmitting an uplink packet based on the received information.
  • the communication path selector 520 may designate a priority for the first or second communication path. For example, the communication path selector 520 may preferentially use the second communication path. That is, when the second communication path is not connected, the first communication path may be selected for communication.
  • the communication path selection unit 520 together with the result of the confirmation of the communication network confirmation unit 510, the received information and / or other information (e.g., to finally give data through the second communication path Received time) may be further used to select a communication path to receive the downlink packet and inform the connecting server 120 of the selected path. If the situation of the communication paths is changed so that the communication path for receiving the downlink packet is changed, the selected server may be informed of the selected path. In this embodiment, the connecting server 120 may transmit a mobile message to the connecting client 430 through the communication path informed by the communication path selector 520.
  • the communication path selector 520 may not notify the connecting server 120 of the selected path. In this case, the connecting server 120 may directly select a communication path for transmitting the downlink packet.
  • the connecting server 120 may select the communication path selecting unit 520.
  • the data converter 530 may convert the received data in the case of a downlink packet. In one embodiment, when the data is encapsulated or encrypted, the data converter 530 may restore or decrypt the encapsulated or encrypted data. The data converter 530 encapsulates and / or encrypts the uplink packet according to the communication path selected by the communication path selector 520.
  • the IP address storage unit 540 maps the "mobile IP address” and the Internet addresses ("first mobile IP address” and “second mobile IP address”) of the connecting client by the first communication path and the second communication path.
  • an Internet address (“first server IP address” and “second server IP address”) of the connecting server by the first communication path and the second communication path may be mapped and stored.
  • “mobile IP address” is mapped to "first mobile IP address” and “second mobile IP address”
  • “first mobile IP address” is mapped to "first server IP address” and "second The mobile IP address "may be mapped and stored with the" second server IP address ".
  • the communication path selector 520 may check the state of each communication path according to the result of the confirmation of the communication network checker 510 (step S610), and if there is a communication network that can be connected (step S620).
  • the communication path may be informed to the connecting server 120 as a communication path for the downlink (step S630), and mobile data may be received from the connecting server 120 through the corresponding communication path (step S640).
  • FIG. 7 is a diagram illustrating a packet structure of the disclosed technique.
  • the connecting server 120 and the connecting client 430 may transmit and receive data based on mapping information stored in the IP address manager 260 or the IP address storage 540, respectively.
  • data transmission between the connecting server 120 and the connecting client 430 may be performed while performing an encapsulation process.
  • the encapsulation process may be performed by ME (minimal encapsulation), TCP encapsulation, UDP encapsulation or GRE, and of course, various encapsulation methods may be applied according to the needs of those skilled in the art.
  • ME minimal encapsulation
  • TCP encapsulation TCP encapsulation
  • UDP encapsulation UDP encapsulation
  • GRE GRE
  • one example will be described as encapsulation using GRE. This is because when NAT performs the operation of changing port number, encapsulation using GRE may cause problems.
  • NAT is an IP address. It is assumed that only the port number is changed and the port number is not changed.
  • the message may include a sending IP address and a receiving IP address, a GRE header and a downlink / uplink packet corresponding to the communication path to be transmitted.
  • a NAT may exist in a normal WiFi network and may be involved in IP allocation, and thus may be different from a second mobile IP address known by the mobile terminal 130 and a second mobile IP address known by the connecting server 120. have.
  • NAT does not perform an operation such as changing an IP.
  • the NAT may exist in the 3G communication network, but for the same reason, it is assumed that the NAT does not perform an operation such as changing an IP.
  • an application server (not shown) in the application module 440 is connected through a first communication path. Referring to the process of transmitting data (shown as an uplink packet in FIG.
  • the application module 440 includes a sender Internet address as a "mobile IP” and a receiver Internet address as an "AS server IP”. Generating data to be transmitted to the connecting client 430, and the connecting client 430 sets the sender's Internet address as the “first mobile IP” and the receiver's Internet based on the mapping information stored in the IP address storage unit 540.
  • the address may be “first server IP” and a packet encapsulated by GRE may be generated and transmitted to the connecting server 120.
  • the connecting server 120 decompresses the GRE encapsulation and restores the original data including the sender's Internet address as the “first mobile IP” and the receiver's Internet address as the “first server IP” to the application server 110. Can transmit
  • FIG. 7 a process of transmitting data (shown as a downlink packet in FIG. 7) from the application server 110 to the application module 440 through the second communication path is described.
  • the Internet network views the “mobile IP” address and routes the data to the connecting server ( 120, and the connecting server 120 sets the sender's Internet address as the "second server IP” and the receiver as the Internet address based on the mapping information stored in the IP address storage unit 270.
  • IP "and GRE encapsulated packets can be generated and sent to the connecting client 430.
  • the connecting client 430 decompresses the GRE to send the Internet address of the sending server to the" AS server IP "and the receiving Internet. Restore the original data including a predetermined as "Mobile IP” to be sent to the application module 440.
  • the application of the mobile terminal 130 may request the connecting client 430 to open a data communication socket in order to communicate with the application server 110.
  • the connecting client 430 may open the socket using the assigned "mobile IP” address and inform the application of the "mobile IP” address.
  • the application can then use the "mobile IP” address as its source IP address through this socket.
  • the application server 110 and the application module 440 can perform efficient data transmission only with the "mobile IP” and the "AS server IP”. Therefore, it can be easily applied without changing the existing application server and the application.
  • FIG. 8 is a flowchart illustrating an operation between each component for allocating an IP address.
  • the connecting client 430 may transmit a message (mobile IP_Req) requesting a “mobile IP” address to the connecting server 120 through the first communication path (step S901).
  • the connecting server 120 may select one mobile IP address from the mobile IP address pool and transmit a message (AS mobile IP_Res) including the “mobile IP” address of the corresponding connecting client 430 to the connecting client 430.
  • This step may be implemented using well known DHCP, for example.
  • the “mobile IP” address may be uniquely defined by the connecting server 120.
  • the above-described request is shown to be implemented through the 3G communication module 110. This is because the connection area of the 3G network is generally larger than the WiFi network.
  • the request for the "mobile IP" address can be made only by the 3G communication module 110. That is, this request may be used by any communication module that can be connected. Although omitted in the figure, a TCP connection may be continuously established between the connecting client 430 and the connecting server 120, and for this, there may be a periodic KeepAlive. In addition, a predetermined step for the connecting server 120 to authenticate the connecting client 430 may be performed.
  • the connecting server 120 may automatically recognize the “first mobile IP” without any additional process. If the communication is performed through a communication path other than the first communication path, a process of notifying the connecting server 120 of the "first mobile IP” may be necessary. Thereafter, the connecting client 430 may map and store the received “mobile IP” address and the IP address (“first mobile IP”) of the connecting client 430 by the first communication path (step S903). Although not shown, the mapping server 120 also maps and stores the "mobile IP” and the IP address ("first mobile IP”) of the connecting client 430 by the first communication path of the mobile terminal 110. Can be.
  • the connecting client 430 may provide the allocated "mobile IP” address to the application (step S904).
  • the application may request to open a socket required by the connecting client 430 to communicate with the application server 110.
  • the application may send uplink data to be sent to the application server 110 through the established socket (step S905).
  • the source IP address is the "mobile IP” address and the destination address is the application server's IP ("AS server IP").
  • the connecting client 430 may view the network state, select a communication path to send uplink data (step S906), and transmit uplink data through the selected communication path. In the following description, it is assumed that the 3G communication path is selected to perform the uplink.
  • the connecting client 430 may encapsulate and transmit the uplink data to the connecting server through the 3G communication path (step S907).
  • the source IP address is "first mobile IP” and the destination IP address is "first server IP”.
  • the connecting server 120 may receive this data, release the encapsulation (step S908), and then send the released mobile data to the application server 110 (step S909).
  • the application server 110 may receive this data and, if necessary, transmit the mobile data to be transmitted with the source IP address set to "AS server IP" and the destination IP address set to "mobile IP”.
  • the transmitted mobile data may reach the connecting server 120 (step S910).
  • the connecting server 120 receiving the mobile data for the downlink from the application server 110 determines the communication path for sending the downlink data (assuming that the first communication path-3G communication module- is selected, step S911). After performing encapsulation, the encapsulated packet may be transmitted to the connecting client 430 (step S912).
  • the connecting client 430 may recapsulate the encapsulated packet (step S913), and then transmit the restored mobile data to the application module 440 (step S914).
  • the connecting server 120 and the connecting client 430 exchange encryption keys (Key) with each other, encrypt them using this, or hashing for authentication. ) Process and the like.
  • the disclosed technique can have the following effects. However, since a specific embodiment does not mean to include all of the following effects or only the following effects, it should not be understood that the scope of the disclosed technology is limited by this.
  • the service communication system based on the multiple communication paths may increase the efficiency of service transmission. This is because it is not necessary to maintain continuous packet transmission for NAT devices existing in the Wifi communication network, thereby minimizing data traffic of the WiFi communication network and minimizing battery consumption of the mobile terminal.
  • the multiple communication path based service providing system can effectively reduce the load of the 3G network. This is because the data can be stably distributed between the 3G network and the WiFi network, thereby reducing the load on the 3G network while using the WiFi network stably.
  • the multiple communication path based service providing system may manage the IP address more efficiently. This is because a separate IP address is generated for the communication network selected by the connecting server and the connecting client to perform communication, and the application server and the application do not need to register a new IP address to switch the communication network.
  • the multiple communication path based service providing system can be easily applied to a conventional application service system. This is because it is possible to add and operate only the connecting server and the connecting client without changing the applications mounted on the conventional application server and the mobile terminal.
  • FIG. 1 is a block diagram illustrating a multiple communication path based service providing system of the disclosed technology.
  • FIG. 2 is a block diagram illustrating an embodiment of the connecting server of FIG. 1.
  • FIG. 3 is a flowchart illustrating an embodiment of an operation of the connecting server of FIG. 2.
  • FIG. 4 is a block diagram illustrating an embodiment of a mobile terminal of FIG. 1.
  • FIG. 5 is a block diagram illustrating an embodiment of the connecting client of FIG. 4.
  • FIG. 6 is a flowchart illustrating an embodiment of an operation of the connecting client of FIG. 5.
  • FIG. 7 is a diagram illustrating a packet structure of the disclosed technique.
  • FIG. 8 is a flowchart illustrating an operation between each component for allocating an IP address.
  • the communication path connection method is performed in a connecting server that connects an application server and a mobile terminal and can be connected to the mobile terminal through a first or second communication path.
  • the mobile terminal has a third mobile IP address in view of the application server and has a first or second mobile IP address in view of the connecting server, and the first mobile IP address is in the first communication path.
  • the second mobile IP address is mapped to the second communication path.
  • the communication path connection method may include (a) receiving mobile data having the third mobile IP address from the application server, (b) selecting the first or second mobile IP address as a destination, and receiving the received mobile data. Encapsulating the data, and (c) transmitting the encapsulated mobile data to the selected destination via the corresponding communication path to the mobile terminal.
  • the communication path connection method is performed at a connecting client of a mobile terminal communicating with an application server via a connecting server.
  • the mobile terminal may be connected to the connecting server through a first or second communication path.
  • the communication path connection method includes (a) receiving mobile data to be transmitted from an application of a mobile terminal to the application server, (b) dynamically selecting at least one of the first or second communication paths, and (c) Encapsulating the provided mobile data and transmitting it over the selected communication path.
  • the multiple communication path based service providing system includes an application server, a mobile terminal having a connecting client, and a connecting server connecting the connecting client and the application server.
  • the connecting server and the mobile terminal may be connected by a first or second communication path.
  • the connecting server encapsulates mobile data received from the application server, selects one of a first or second communication path, and transmits the encapsulated data to the mobile terminal.
  • the connecting client decapsulates the encapsulated mobile data and provides it to an application module.

Landscapes

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

Abstract

개시된 기술의 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 어플리케이션 서버, 커넥팅 클라이언트를 구비한 모바일 단말 및 상기 커넥팅 클라이언트와 상기 어플리케이션 서버를 연결하는 커넥팅 서버를 포함한다. 여기에서, 상기 커넥팅 서버와 상기 모바일 단말은 제1 또는 제2 통신 경로로 연결 가능하다. 상기 커넥팅 서버는 상기 어플리케이션 서버로부터 수신된 모바일 데이터를 캡슐화하고, 제1 또는 제2 통신 경로 중 어느 하나를 선택하여 상기 캡슐화된 데이터를 상기 모바일 단말에 전송한다. 상기 커넥팅 클라이언트는 상기 캡슐화된 모바일 데이터를 복원(decapsulation)하여 어플리케이션 모듈에 제공한다.

Description

다중 통신 경로 기반의 서비스 제공 시스템
개시된 기술은 다중 경로 기반의 서비스 제공 기술에 관한 것으로, 특히 모바일 단말의 접속 환경에 따라 최적화된 통신 경로를 유지할 수 있는 다중 경로 기반의 서비스 제공 기술에 관한 것이다.
통신 기술의 발전에 따라 모바일 단말은 다양한 통신망에 접속이 가능하다. 그러나, 모바일 기기의 이동성 및 통신망마다 통신 가능 지역의 범위가 달라, 서비스를 수행하기 위한 통신 경로의 설정이 효율적이지 못한 문제점이 있다. 가령 WiFi 모듈과 3G 모듈을 가진 스마트 폰의 경우, WiFi 망을 사용하는 것이 대역폭이나 통신 비용 측면에서 유리하나 WiFi망의 불안정, WiFi 불안정 지역에서의 낮은 처리량 등의 문제로 3G망과 WiFi망간의 잦은 핸드오프(handoff)가 발생할 수 있고 이에 따라 사용자의 체감 품질이 저하되는 문제가 있다. 또한 스마트 폰의 어플리케이션을 개발함에 있어서도 통신망의 변경에 따라 통신 경로를 갱신할 수 있도록 개발해야 하고, HTTPS 등과 같은 보안 통신 환경 또는 로그인이 필요한 통신 환경에서 통신망의 변경이 발생하면 다시 필요한 절차를 재수행해야 하므로 서비스의 연속성(seamless)을 확보하는 것이 어려운 문제점이 있다.
본 출원은 모바일 단말의 접속 환경에 따라 최적화된 통신 경로를 유지할 수 있는 다중 경로 기반의 서비스 제공기술을 제공한다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
"및/또는"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및/또는 제3 항목"의 의미는 제1, 제2 또는 제3 항목뿐만 아니라 제1, 제2 또는 제3 항목들 중 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 개시된 기술의 다중 통신 경로 기반의 서비스 제공 시스템을 설명하는 구성도이다.
도 1을 참조하면, 다중 통신 경로 기반의 서비스 제공 시스템(100, 이하 서비스 제공 시스템)은 어플리케이션 서버(110), 커넥팅 서버(120) 및 모바일 단말(130)을 포함한다.
어플리케이션 서버(110)는 모바일 단말(130)의 어플리케이션과 데이터를 주고 받아서 사용자가 원하는 서비스를 제공할 수 있다. 예를 들면, 어플리케이션 서버(110)는 웹 서버, VoD 서버, VoIP 서버 등이 될 수 있고, 모바일 단말(130)의 어플리케이션은 그에 대한 웹 브라우저, VoD 클라이언트, VoIP 클라이언트 등이 될 수 있다.
커넥팅 서버(120)는 어플리케이션 서버(110)로부터 수신된 데이터(이하, 모바일 데이터)를 복수의 통신 경로 중 하나를 통하여 모바일 단말(130)에 전송하고, 또한 모바일 단말 (130)으로부터 복수의 통신경로중 하나를 통하여 수신된 데이터를 어플리케이션 서버로 전송한다. 이하에서는, 복수의 통신 경로를 제1 통신 경로 및 제2 통신 경로로서 일반화하여 설명한다. 또한, 설명의 편의를 위하여 제1 통신 경로는 3G 통신망을 통하여 설정된 경로로서, 제2 통신 경로는 WiFi 통신망을 통하여 설정된 경로로서 가정하고 설명하나, 이러한 가정이 개시된 발명을 제한하지 않음은 명백하다. 커넥팅 서버(120)의 구체적인 설명에 대해서는 도 2 내지 도 3을 참조하여 후술한다.
모바일 단말(130)은 커넥팅 서버(120)를 경유하여 어플리케이션 서버(110)로부터 해당 서비스를 제공받을 수 있다. 모바일 단말(130)은 커넥팅 서버(120)와 통신하기 위한 커넥팅 클라이언트가 탑재될 수 있고, 커넥팅 클라이언트는 모바일 단말(130)에서 수행되는 어플리케이션 프로그램에 모바일 데이터를 제공할 수 있다. 이러한 모바일 단말(130)은 복수의 통신 기능을 구비한 휴대용 단말(예컨대, 스마트 폰)로서 구현될 수 있다. 이하에서는, 3G 통신 기능 및 WiFi 통신 기능을 가진 모바일 단말(130)을 가정하여 설명하나, 당업자의 요구에 따라 서로 다른 세가지 이상의 통신 방법으로 통신 가능함은 자명하다. 모바일 단말(130)의 구체적인 설명에 대해서는 도 4 내지 도 6을 참조하여 후술한다.
도 1에서, 어플리케이션 서버(110)의 IP 주소는 "AS IP 주소"로, 제1 통신 경로에 기초한 커넥팅 서버(120)의 주소는 "제1 서버 IP 주소", 제2 통신 경로에 기초한 커넥팅 서버(120)의 주소는 "제2 서버 IP 주소"로, 제1 통신 경로에 기초한 모바일 단말(130)의 주소는 "제1 모바일 IP 주소", 제2 통신 경로에 기초한 모바일 단말(130)의 주소는 "제2 모바일 IP 주소", 모바일 단말(130)의 커넥팅 클라이언트가 관리하는 인터넷 주소는 "모바일 IP 주소"로 표현한다. 일 실시예에서, "제1 서버 IP 주소"와 "제2 서버 IP 주소"는 동일할 수 있다. 일 실시예에서, 어플리케이션 서버(110)와 모바일 단말(130)의 어플리케이션은 "AS IP 주소" 및 "모바일 IP 주소"만으로 데이터를 송수신할 수 있고, 통신 경로의 전환에 따른 데이터 전송은 커넥팅 서버(120) 및 커넥팅 클라이언트 사이에서만 수행될 수 있다. 따라서, 어플리케이션 서버(110)와 모바일 단말(130)의 어플리케이션은 실제 어느 통신망을 통해서 데이터가 전송이 되어도 무관하며, 하나의 망만 존재할 경우와 동일하게 동작하면서도 서비스를 제공할 수 있다.
이하, 어플리케이션 서버(110)로부터 모바일 단말(130)로 향하는 방향을 다운링크라 하고, 모바일 단말(130)로부터 어플리케이션 서버(110)로 향하는 방향을 업링크라 표현하다.
이하에서는, 모바일 단말의 WiFi IP 주소와 커넥팅 서버가 보는 WiFi망을 통한 모바일 단말의 주소를 동일하게 "제2 모바일 IP 주소"로 사용하나, WiFi 통신망에는 NAT(Network Address Translation)가 존재할 수 있으며 이러한 경우 단말의 실제 WiFi IP 주소와 커넥팅 서버가 보는 WiFi IP 주소는 다를 수 있다. 이하에서는 설명의 편의를 위하여 NAT가 없는 경우를 가정하여 "제2 모바일 IP 주소"로서 설명을 하나, NAT가 존재하는 경우라도 당업자의 수준에서 용이하게 이해되고 실시될 수 있으며 개시된 발명의 권리 범위에 속함은 자명하다. 3G 통신망에 대해서도 마찬가지로 가정하고 설명한다.
모바일 단말(130)의 어플리케이션에 따라서는 " 모바일 IP 주소"를 이용하지 않고, 어플리케이션이 직접 "제1 모바일 IP 주소" 또는 " 제2 모바일 IP 주소"를 이용할 수 있다. 다시 말해, 어플리케이션의 종류에 따라 특정 어플리케이션은 커넥팅 클라이언트를 이용하여 서비스를 제공받을 수 있고, 다른 어플리케이션은 커넥팅 클라이언트를 이용하지 않고 직접 서비스를 제공받을 수 있다. 또한, 하나의 모바일 단말(130)에 특정 어플리케이션과 다른 어플리케이션이 동시에 탑재될 수도 있다.
도 2는 도 1의 커넥팅 서버의 일 실시예를 설명하기 위한 블록도이고, 도 3은 도 2의 커넥팅 서버의 동작에 대한 일실시예를 설명하는 순서도이다.
도 2를 참조하면, 커넥팅 서버(120)는 IP 통신 모듈(210), 데이터 변환부(220), 통신 경로 선택부(230), 3G 통신 모듈(240), WiFi 통신 모듈(250), 및 IP 주소 관리부(260)를 포함할 수 있다. 일 실시예에서, 커넥팅 서버(120)는 통신망 확인부 (270) 또는 히스토리 저장부(280)를 더 포함할 수 있다.
IP 통신 모듈(210)은 어플리케이션 서버(110)로부터 모바일 단말(130)로 향하는 다운링크 패킷를 수신하거나, 모바일 단말(130)로부터 수신된 업링크 패킷을 어플리케이션 서버(110)로 송신 할 수 있다.
데이터 변환부(220)는 모바일 데이터를 캡슐화(encapsulation)하거나 캡슐화된 데이터를 복원(decapsulation)할 수 있다. 다운링크 전송을 위한 일 실시예에서, 데이터 변환부(220)는 통신 경로 선택부(230)로부터 선택된 제1 또는 제2 모바일 IP 주소를 목적지로 하여 모바일 데이터를 캡슐화할 수 있다. 이러한 데이터 변환부(220)의 캡슐화/복원을 통하여 (1) 모바일 IP 주소와 (2) 제1 또는 제2 모바일 IP 주소가 상호 변환되는 효과를 가질 수 있다.
일 실시예에서, 데이터 변환부(220)는 모바일 데이터에 대하여 암호화 또는 복호화를 수행할 수 있다. 이를 위하여, 데이터 변환부(220)는 커넥팅 클라이언트와 통신하여 암호화를 위한 키(KEY)를 설정하고, 그 설정된 키를 이용하여 암호화(다운링크) 또는 복호화(업링크)를 수행할 수 있다. 여기에서, 암호/복호화를 위하여 공개키 기반의 암호 방법이나 비밀키 기반의 암호 방법 등 다양한 암호 기술이 사용될 수 있고, 데이터 변환부(220)는 해당 암호/복호화를 위한 모듈이나 알고리즘을 구비할 수 있다.
일 실시예에서, 데이터 변환부(220)는 통신 경로 선택부(230)에서 선택한 경로 마다 서로 상이하게 모바일 데이터를 캡슐화 또는 암호화할 수 있다. 캡슐화의 일 예를 들면, 데이터 변환부(220)는 캡슐화 수행시 발신 인터넷 주소 및/또는 수신 인터넷 주소를 통신 경로에 따라 다르게 지정할 수 도 있다. 또는 캡슐화의 프로토콜 (UDP, TCP, GRE등)을 다르게 지정할 수도 있다. 암호화의 일 예를 들면, 데이터 변환부(220)는 통신 경로에 따라 다른 암호 기술을 사용할 수 있다.
통신 경로 선택부(230)는 모바일 단말의 커넥팅 클라이언트(430)와 업링크 또는 다운링크 통신을 수행할 통신 경로를 동적으로 선택할 수 있다. 통신 경로 선택부(230)는 선택된 통신 경로에 매핑되는 커넥팅 클라이언트(430)의 IP 주소를 데이터 변환부(220)에 제공할 수 있다. 예를 들어, 제1 통신 경로를 선택하였다면, 통신 경로 선택부(230)는 "제1 모바일 IP 주소"를 데이터 변환부(220)에 제공할 수 있고, 그 결과로 캡슐화된 모바일 데이터를 커넥팅 클라이언트(430)에 제공할 수 있다.
다운링크 통신의 일 실시예에서, 통신 경로 선택부(230)는 제1 및 제2 통신 경로의 상태를 확인하여, 보다 양호한 상태의 통신 경로를 선택하여 다운링크 통신을 실시할 수 있다.
다운링크 통신의 다른 일 실시예에서, 통신 경로 선택부(230)는 모바일 단말(130)-더 상세히는 커넥팅 클라이언트(430)-로부터 수신된 업랭크 패킷의 히스토리를 확인하여 통신 경로를 선택할 수 있다.
예를 들어, 통신 경로 선택부(230)는 제2 통신 경로(WiFi)를 통해 수신된 업링크 패킷의 수신 시간에 기초하여 선택될 수 있다. 다시 말해, 통신 경로 선택부(230)는 제2 통신 경로(WiFi)를 통해 커넥팅 클라이언트(430)로부터 가장 최근에 수신된 업링크 패킷의 수신 시각을 확인하고, 확인된 수신 시각으로부터 설정된 시간 이내이면 제2 통신 경로를 선택할 수 있다. 만약, 최근의 업링크 패킷의 수신 시간으로부터 설정된 시간이 경과되었다면 제1 통신 경로를 선택할 수 있다. 업링크 패킷은 WiFi 통신망의 NAT의 포트 바인딩(port binding)을 위하여 모바일 단말(130)이 송신한 주기적인 데이터일 수 있고, 또는 어플리케이션 서버(110)에 대한 응답 데이터일 수 있다. 여기에서, 설정된 시간은 WiFi 통신망의 NAT의 포트 바인딩(port binding) 시간을 고려하여 설정될 수 있다.
일 실시예에서, 통신경로 선택부(230)는 특정 통신 경로로 데이터가 갈 수 있나 확인을 하기 위하여 KeepAlive 패킷을 보낼수 있다. 예를 들어, 보낼 다운 링크 패킷 있을 때, 일정 시간 동안 제2 통신 경로를 통해 수신된 업링크 패킷이 없었으면 제 2 통신 경로로 KeepAlive 패킷을 보내어 모바일 단말(130)이 이에 응답하도록 요청할 수 있다. 모바일 단말(130)부터 해당 응답이 수신되면, 통신경로 선택부(230)는 제2 통신 경로가 사용 가능함을 확인하고 확인된 제2 통신 경로를 통하여 다운링크 데이터를 보낼 수 있다. 통신경로 선택부(230)는 해당 응답이 수신될 때 까지 다운링크 패킷을 버퍼링하고 있을 수도 있고, 또는 사용 가능한 채널인 제1 통신경로를 통하여 모바일 단말(130)로 전송할 수도 있다.
다운링크 통신의 또 다른 일 실시예에서, 통신 경로 선택부(230)는 업링크 패킷의 히스토리를 확인하여 최근의 업링크를 확인할 수 있고, 확인된 최근의 업링크가 유효한지 검증하여 유효하면 해당 업링크 패킷을 수신한 통신 경로를 선택할 수 있다. 여기에서, 업링크를 확인하기 위하여 통신 경로 선택부(230)는 응답을 요구하는 확인용 패킷을 해당 통신 경로를 통하여 송신할 수 있다. 예를 들어, 업링크 패킷의 히스토리를 확인한 결과, 최근의 업링크가 제2 통신 경로를 통하여 수신된 패킷이면, 제2 통신 경로를 통하여 모바일 단말(130)에 응답을 요청하는 확인용 패킷을 전송하여 그에 대한 응답이 수신되면 제2 통신 경로가 유효한지 검증할 수 있다.
업링크 통신의 일 실시예에서, 통신 경로 선택부(230)는 제1 및 제2 통신 경로의 상태를 확인하여, 보다 양호한 상태의 통신 경로를 선택하여 그에 대한 정보를 커넥팅 클라이언트(430)에 제공할 수 있다. 이러한 실시예는, 업링크의 주체가 되는 모바일 단말(130)은 보다 유리한 통신 경로를 확인하기 위한 사전 통신이 자주 발생하면 전원관리 상의 문제가 발생할 수 있으므로, 커넥팅 서버(120)에서 보다 양호한 통신 경로에 대한 정보를 제공하도록 하는 것이다.
3G 통신 모듈(240)은 제1 통신 경로를 통해 모바일 단말(130)과 패킷을 송수신할 수 있다. 다시 말해, 커넥팅 서버(110)는 3G 통신 모듈(240)을 이용하여 3G 기반의 IP 통신망을 통해 모바일 단말(130)와 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 3G 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면 모바일 단말(130)은 "제1 모바일 IP 주소"를 계속 유지할 수 있고, 커넥팅 서버(120)와 커넥팅 클라이언트(430)는 TCP 연결을 계속적으로 유지하여 모바일 단말(130)과 항상 연결될 수 있는 상태를 유지할 수 있다. 즉, 커넥팅 서버(120)가 주소 "제1 모바일 IP 주소"로 TCP 연결을 통해서 데이터를 보내면 모바일 단말(130)은 이를 연결이 유지되는 한 언제든지 수신할 수 있다.
WiFi 통신 모듈(250)은 제2 통신 경로를 통해 모바일 단말(130)과 패킷을 송수신할 수 있다. 다시 말해, 커넥팅 서버(110)는 WiFi 통신 모듈(250)을 이용하여 WiFi 기반의 IP 통신망을 통해 모바일 단말(130)과 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 WiFi 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면, 커넥팅 서버(120)는 WiFi 통신 모듈(250)을 통해 모바일 단말(130)와 선택적으로 연결될 수 있다. 여기에서,커넥팅 서버(120)와 모바일 단말(130)이 선택적으로 연결되는 이유는 다음과 같다. 모바일 단말(130)의 경우 배터리의 소모를 최소화하기 위하여 WiFi 기반의 무선 통신 신호를 수신하지 않도록 동작할 수 있다. 예를 들어, 모바일 단말(130)은 WiFi 통신 모듈(250)과의 사이에 존재하는 NAT(Network Address Translation)로 인해 주기적으로 패킷을 전송해야만 포트 바인딩(port binding)이 유지될 수 있고, 이러한 경우에 한하여 다운링크 데이터를 수신할 수 있으나, NAT에 따라서는 이 시간이 매우 짧을 수 있어서 포트 바인딩을 위한 주기적 데이터를 계속 보내면 배터리 소모가 많아지는 문제가 발생할 수 있다. 따라서, 모바일 단말(130)은 배터리의 소모를 줄이기 위하여 포트 바인딩을 위한 패킷을 전송하지 않을 수 있기 때문에 선택적으로 연결될 수 있는 것이다. 또한, 모바일 단말(130)은 배터리 소모를 줄이기 위해 WiFi 통신망을 끄거나 "sleep" 모드로 만들수도 있으므로, WiFi 통신 신호가 있는 지역이라해도 수신을 못하는 상태로 전환될 수 있다.
도 2에서는, 3G 통신 모듈(240)과 WiFi 통신 모듈(250)을 별도로 도시하였으나, 실제 구현에서는 하나의 모듈로 구현될 수 있다. 따라서, "제1 서버 IP 주소"의 값과 "제2 서버 IP 주소"의 값이 다르게 구현될 수도 있고 동일하게 구현 될 수도 있다. 또한, IP 통신모듈(210)의 IP 주소값도 "제1 서버 IP 주소" 및/또는 "제2 서버 IP 주소"와 동일하게 구현될수도 있다.
IP 주소 관리부(260)는 모바일 단말에 할당된 (1)제1 및 제2 모바일 IP 주소 및 (2)그에 매핑되는 "모바일 IP 주소"를 저장할 수 있다. 여기에서, (i)"모바일 IP 주소"는 "제1 모바일 IP 주소" 및 "제2 모바일 IP 주소"와 매핑될 수 있고, (ii)"제1 모바일 IP 주소"는 "제1 서버 IP 주소"와 매핑될 수 있고, (iii)"제2 모바일 IP 주소"는 "제2 서버 IP 주소"와 매핑될 수 있다.
일 실시예에서, IP 주소 관리부(260)는 할당되지 않은 "모바일 IP 주소"를 저장한 모바일 IP 주소 풀을 보유할 수 있으며, 모바일 단말(130)에 "모바일 IP 주소"를 할당하기 위하여, 통신 경로 선택부(230)는 모바일 IP 주소 풀에서 "모바일 IP 주소"를 선택하여 커넥팅 클라이언트(430)에 제공할 수 있다.
통신망 확인부(270)는 제1 및 제2 통신 경로들의 상태를 확인할 수 있다. 일 실시예에서, 통신망 확인부(270)는 제1 및 제2 통신 경로들의 상태를 확인하기 위하여, 해당 모바일 단말(130)에 응답을 요구하는 확인용 패킷을 제1 및 제2 통신 경로들 각각을 통하여 송신할 수 있다. 일 실시예에서, 통신망 확인부(270)는 해당 모바일 단말(130)로부터 응답을 요구하는 확인용 패킷을 수신하면 이에 대한 응답을 수행할 수 있다. 일 실시예에서, 통신망 확인부(270)는 확인된 제1 및 제2 통신 경로들의 상태를 통신 경로 선택부(230)에 제공할 수 있다.
히스토리 저장부(280)는 각각의 모바일 단말과 통신을 수행한 패킷의 히스토리를 저장하고 있다. 전술한 바와 같이, 통신 경로 선택부(230)는 히스토리 저장부(280)에 저장된 패킷의 히스토리를 이용하여 다운링크로 사용할 통신 경로를 결정할 수 있다.
히스토리 저장부(280)에 저장되는 데이터 및 그를 이용하는 통신 경로 선택부(230)의 예시에 대하여 설명한다. 이는 하나의 예시에 불과하며, 다른 형태로서 구현될 수도 있다. 제2 통신 경로를 통해 커넥팅 클라이언트(430)로부터 업링크 패킷이 수신되면, 히스토리 저장부(280)는 이를 저장하고 카운트를 시작할 수 있다. 히스토리 저장부(280)는 카운트 값이 설정 시간(예를 들어, 1분)을 초과하면 통신 경로 선택부(230)에 이를 알릴 수 있다. 일 실시예에서, 통신 경로 선택부(230)가 일정 조건을 가지는 패킷에 대하여 확인을 요청하는 경우(예를 들어, 특정 5 tuple-source주소, source port, destination 주소, destination port, protocol-을 가지는 패킷), 히스토리 저장부(280)는 그에 해당하는 업링크로 패킷을 받은 마지막 시간이 언제인지 알려줄 수도 있다. 다른 일 실시예에서, 히스토리 저장부(280)는 제2 통신 경로를 통한 다운링크 패킷에 대해서도 동일한 동작을 할 수 있다. 예를 들어, 히스토리 저장부(280)는 업링크와 다운링크에 대해 카운트 정보를 각각 통신 경로 선택부(230)에게 전송할 수도 있고, 두 개의 링크에 대한 정보를 매핑(마지막으로 다운링크 또는 업링크 패킷이 온 시점으로부터 현재까지 경과된 시간 정보를 포함)하여 전송할 수도 있다. 일 실시예에서, 다운링크의 정보는 사용하지 않고 업링크의 정보만 사용한 이유는, 다운링크 패킷이 제2 통신 경로를 통해서 보내졌다고 해서 이것이 반드시 모바일 단말(130)에 도달하였다는 보장이 없기 때문이다. 또한, 데이터가 업링크 전송으로 커넥팅 서버(120)에 도착하였다는 것은 모바일 단말(130)로부터 커넥팅 서버(120)로 오는 WiFi 통신망이 살아있다는 것을 의미하고 다운링크 전송도 WiFi 통신망을 통해 커넥팅 서버(120)에서 모바일 단말(130)로 일정 시간동안은 갈수 있음을 알 수 있기 때문이다.
도 3은 커넥팅 서버의 동작에 대한 일실시예-제2 통신 경로로 수신된 업링크 패킷을 이용하여 다운링크 통신 경로를 선택-를 설명하는 순서도이다.
통신 경로 선택부(230)는 IP 통신 모듈(210)에서 다운링크 데이터가 수신되면(단계 S310), 히스토리 저장부(280)에 저장된 제2 통신 경로를 통하여 수신된 가장 최근의 업링크 패킷의 수신 시각을 확인할 수 있다(단계 S320). 만일 해당 수신 시각으로부터의 카운트 값이 설정 시간을 경과하지 않은 경우(단계 S330,예), 통신 경로 선택부(230)는 제2 통신 경로를 선택하고, WiFi 통신 모듈(250)을 통해 다운링크 패킷을 커넥팅 클라이언트(430)에 송신할 수 있다(단계 S340). 또는 카운트 값이 설정 시간을 경과하였다면(단계 S330,예), 통신 경로 선택부(230)는 제1 통신 경로를 선택하고, 3G 통신 모듈(240)을 통해 다운링크 패킷을 커넥팅 클라이언트(340)에 송신할 수 있다(단계 S350). 다른 일 실시예로, 도 6을 참조하여 설명될 커넥팅 클라이언트로부터의 명령기반의 전송 방법과 병행하여 수행할 수 있다. 일 실시예에서,단계 S330에서 설정시간 이내가 아닌 경우 제1 통신 경로 및 제2 통신 경로 모두를 통하여 다운링크 패킷을 커넥팅 클라이언트(340)로 송신할 수 있다.
커넥팅 서버(120)가 업링크 동작을 수행하는 일 실시예에서, 커넥팅 서버(120)가 수신한 업링크 패킷은 서로 중복되어서 도착하거나 또는 순서가 바뀌어서 도착할 수가 있다. 이러한 경우, 커넥팅 서버(120)는 중복된 업링크 패킷은 제거하고 순서가 바뀐 업링크 패킷은 순서를 바로 잡아서 어플리케이션 서버(110)에 전송할 수 있다.
도 4는 도 1의 모바일 단말의 일 실시예를 설명하기 위한 블록도이다.
도 4를 참조하면, 모바일 단말(130)은 3G 통신 모듈(410), WiFi 통신 모듈(420), 커넥팅 클라이언트(430) 및 어플리케이션 모듈(440)을 포함할 수 있다. 여기에서, 어플리케이션 모듈(440)은 하나로 도시되어 있으나, 커넥팅 클라이언트(430)는 동시 또는 순차로 복수의 어플리케이션 모듈들(440)에 대하여 동작을 수행할 수 있다. 3G 통신 모듈(410)은 제1 통신 경로를 통해 커넥팅 서버(120)와 패킷을 송수신할 수 있다. 다시 말해, 모바일 단말(130)은 3G 통신 모듈(410)을 이용하여 3G 기반의 IP 통신망을 통해 커넥팅 서버(110)와 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 3G 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면, 모바일 단말(130)은 "제1 모바일 IP 주소"를 계속 유지할 수 있고 커넥팅 서버(120)와 커넥팅 클라이언트(430)는 TCP 연결을 계속해서 맺고 있으므로 항상 연결될 수 있는 상태를 유지할 수 있다. 즉, 커넥팅 서버(120)가 "제1 모바일 IP 주소"로 TCP 연결을 통해서 데이터를 보내면 모바일 단말(130)은 이를 수신할 수 있다.
WiFi 통신 모듈(420)은 제2 통신 경로를 통해 커넥팅 서버(120)와 패킷을 송수신할 수 있다. 다시 말해, 모바일 단말(130)은 WiFi 통신 모듈(420)을 이용하여 WiFi 기반의 IP 통신망을 통해 커넥팅 서버(110)와 연결될 수 있다. 일 실시예에서, 모바일 단말(130)이 WiFi 기반의 무선 통신 신호를 수신할 수 있는 지역에 위치하면, WiFi 통신 모듈(420)은 커넥팅 서버(120)와 선택적으로 연결될 수 있다. 모바일 단말(130)와 커넥팅 서버(120)가 선택적으로 연결되는 이유는 도 2의 설명에서 설명된 내용과 동일하다.
커넥팅 클라이언트(430)는 제1 또는 제2 통신 경로를 통하여 커넥팅 서버(120)로부터 수신한 캡슐화된 모바일 데이터를 복원하여 어플리케이션 모듈(440)에 제공할 수 있다. 여기에서, 캡슐화는 ME(Minimal Encapsulation), UDP encapsulation, TCP encapsulation이나 GRE(Generic Routing Encapsulation)등을 이용하여 실시될 수 있다. 여기에서, 커넥팅 클라이언트(430)는 커넥팅 서버(120)의 IP 주소를 미리 알고 있거나(예를 들어, 미리 설정되어 저장될 수 있다) "DNS lookup" 등을 통하여 커넥팅 서버(120)의 IP 주소를 알아낼 수 있다. 또한 커넥팅 클라이언트(430)는 커넥팅 서버(120)로부터 "모바일 IP 주소"를 할당받을 수 있다.
일 실시예에서, 커넥팅 클라이언트(430)는 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부를 확인하여 커넥팅 서버(120)에 제공할 수 있다. 이러한 실시예에서, 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부는 주기적 시간마다 이루어질 수 있고, 커넥팅 클라이언트(430)는 모바일 단말(130)의 잔여 전력에 따라 동적으로 주기를 제어할 수 있다. 예를 들어, 모바일 단말(130)의 잔여 전력량이 많으면 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부는 보다 짧은 주기마다 이루어질 수 있고, 잔여 전력량이 적으면 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부는 보다 긴 주기마다 이루어질 수 있다. 이러한 실시예에서, 제1 및/또는 제2 통신 경로에 대한 연결 가능 여부의 확인은 커넥팅 클라이언트(430)가 업링크로 보낼 패킷이 있는 경우 또는 다운링크로 패킷을 받는 경우에 이루어 질수 있다.
일 실시예에서, 데이터가 암호화된 경우, 커넥팅 클라이언트(430)는 이를 복호화할 수 있다. 여기에서, 암호화 및 복호화는 IP-SEC, TLS등을 이용할 수 있다.
일 실시예에서, 커넥팅 클라이언트(430)가 수신한 다운링크 데이터가 중복되거나 또는 순서가 바뀐 경우, 커넥팅 클라이언트(430)는 중복된 패킷은 제거하고 순서가 바뀐 패킷은 순서를 바로 잡아서 어플리케이션 모듈(440)에 제공할 수 있다.
커넥팅 클라이언트(430)는 어플리케이션 모듈(440)로부터 전달받은 모바일 데이터(업링크 데이터)를 캡슐화하고, 제1 또는 제2 통신 경로를 통하여 커넥팅 서버(120)에 송신할 수 있다. 더 상세히 설명하면, 커넥팅 서버(120)에 보낼 업링크 데이터가 있을 때, 커넥팅 클라이언트(430)는 WiFi 통신 모듈(420) 이나 3G통신 모듈(410) 중 아무 것이나 이용하여 업링크 데이터를 보낼수 있다(WiFi 신호와 3G 신호가 모두 수신되는 경우로 가정). 이것은 커넥팅 서버(120)에서 커넥팅 클라이언트(430)로 다운링크 데이터를 보내는 경우와는 상이하다. 그 이유로는 첫째, 커넥팅 서버(120)와 커넥팅 클라이언트(430) 사이에 NAT등이 있을 때 업링크 방향으로는 항상 데이터를 보낼 수 있으나 다운링크 방향으로는 NAT 의 port binding이 살아 있는 동안에만 보낼 수가 있기 때문이고, 둘째, 모바일 단말(130)에서는 필요하면 언제든지 모뎀을 켜고 서버와 연결을 맺고 데이터를 보낼 수 있는데 반해, 서버는 단말의 모뎀에 이런 동작을 하게 할 수 없기 때문이다.
일 실시예에서, 커넥팅 클라이언트(430)는 커넥팅 서버(120)로부터 제1 및 제2 통신 경로의 상태에 관한 정보를 수신하고, 수신된 정보를 이용하여 업링크 전송을 실시할 통신 경로를 결정할 수 있다.
일 실시예에서, 커넥팅 클라이언트(430)는 제2 통신 경로의 연결 여부를 확인하여 제2 통신 경로가 연결된 경우 WiFi 통신 모듈(420)을 통해 데이터를 전송할 수 있고, 제2 통신 경로가 연결되지 않은 경우 3G 통신 모듈(410)을 통해 데이터를 전송할 수 있다. 여기에서, 제2 통신 경로의 연결 여부의 확인은 WiFi 기반의 무선 통신 신호의 수신 여부에 상응할 수 있다. 또는 통신 경로의 연결 여부를 확인하기 위하여 실제로 데이터를 송신할 수 있다. 즉, 커넥팅 클라이언트(430)는 해당 통신경로(여기서는, WiFi 망)을 통하여 커넥팅 서버(120)에 "응답을 요구하는 패킷"을 송신하고, 그에 대한 커넥팅 서버의 응답을 확인하여 통신 경로의 연결 여부를 확인할 수 있다. 또한, 최근에 해당 통신 경로를 통하여 다운링크 데이터를 받은 적이 있는지의 정보도 활용하여 제2 통신 경로의 연결 여부를 확인할 수도 있다.
어플리케이션 모듈(440)은 모바일 단말(130)에서 수행되는 어플리케이션을 실행할 수 있다. 여기에서, 어플리케이션 모듈(440)은 "모바일 IP 주소"와 "AS 서버 IP 주소"만을 이용하여 어플리케이션 서버(110)와 통신을 수행할 수 있다.
일 실시예에서, 어플리케이션 모듈(440)은 어플리케이션 서버(110)로 전송할 모바일 데이터를 커텍팅 클라이언트(430)에 제공할 수 있다. 다시 말해, 어플리케이션 모듈(440)은 "제1 모바일 IP 주소", "제2 모바일 IP 주소", "제1서버 IP 주소" 및 "제2 서버 IP 주소"를 알 필요 없이, 어플리케이션 서버(110)의 주소("AS IP 주소)만 알아도 커텍팅 클라이언트(430)를 통하여 통신을 수행할 수 있다.
도 5는 도 4의 커넥팅 클라이언트의 일 실시예를 설명하기 위한 블록도이고, 도 6은 도 5의 커넥팅 클라이언트의 동작에 대한 일 실시예를 설명하기 위한 순서도이다.
도 5를 참조하면, 커넥팅 클라이언트(430)는 통신망 확인부(510), 통신 경로 선택부(520), 데이터 변환부(530) 및 IP 주소 저장부(540)을 포함할 수 있다.
통신망 확인부(510)는 모바일 단말(130)이 3G 및/또는 WiFi 통신망에 연결 가능여부를 확인할 수 있다. 예를 들어, 연결 여부는 해당 통신 경로의 감도를 감지하여 확인할 수 있다. 또는 응답 확인용 패킷을 커넥팅 서버(120)에 보내보고, 그에 대한 응답을 확인하여 통신 경로에 연결 가능한지 여부를 확인할 수 있다. 일 실시예에서, 3G 통신 모듈(410)과 WiFi 통신 모듈(420)은 자신들이 각각 해당 통신망에 연결 가능한지를 통신망 확인부(510)에 알려줄 수 있다.
통신 경로 선택부(520)는 통신망 확인부(510)의 확인 결과를 수신하며, 수신된 정보를 기초로 업링크 패킷을 송신할 통신 경로를 선택할 수 있다. 일 실시예에서, 통신 경로 선택부(520)는 제1 또는 제2 통신 경로에 대하여 우선 순위를 지정할 수 있다. 예를 들어, 통신 경로 선택부(520)는 제2 통신 경로를 우선적으로 사용할 수 있다. 즉, 제2 통신 경로가 연결되지 않은 경우 제1 통신 경로를 선택하여 통신할 수 있다.
일 실시예에서, 통신 경로 선택부(520)는 통신망 확인부(510)의 확인 결과와 함께, 수신된 정보 및/또는 다른 정보들 (예를 들면, 제 2 통신 경로를 통해 마지막으로 데이터를 주고받은 시간)등을 더 이용하여 다운링크 패킷을 수신할 통신 경로를 선택하고 선택된 경로를 커넥팅 서버(120)에 알려줄 수 있다. 만일, 통신 경로들의 상황이 바뀌어 다운링크 패킷을 수신할 통신 경로가 바뀌게 되면 그때마다 선택된 경로를 커넥팅 서버에 알려줄 수 있다. 이러한 실시예의 경우, 커넥팅 서버(120)는 통신 경로 선택부(520)에서 알려준 통신 경로를 통해 모바일 메시지를 커넥팅 클라이언트(430)로 전송할 수 있다.
다른 일 실시예에서, 통신 경로 선택부(520)는 선택된 경로를 커넥팅 서버(120)에 알리지 않을 수 있다. 이러한 경우 커넥팅 서버(120)는 다운링크 패킷을 전송할 통신 경로를 직접 선택할 수 있다.
또 다른 일 실시예에서, 통신 경로 선택부(520)가 다운링크 패킷을 수신할 통신 경로를 선택하여 이를 커넥팅 서버(120)에 알려준 경우라 하더라도, 커넥팅 서버(120)는 통신 경로 선택부(520)에서 선택된 통신 경로와 커넥팅 서버(120)가 얻어낸 정보 (예를 들면, 히스토리 정보 등)를 모두 이용하여 다운링크 패킷을 전송할 통신 경로를 직접 선택할 수 있다.
*
*데이터 변환부(530)는 다운링크 패킷의 경우 수신된 데이터를 변환할 수 있다. 일 실시예에서, 데이터가 캡슐화 또는 암호화된 경우, 데이터 변환부(530)는 캡슐화 또는 암호화된 데이터를 복원 또는 복호화할 수 있다. 데이터 변환부(530)는 업링크 패킷의 경우 통신 경로 선택부(520)가 선택한 통신 경로에 맞게 갭슐화 및/또는 암호화를 진행한다.
IP 주소 저장부(540)는 "모바일 IP 주소"와 제1 통신 경로 및 제2 통신 경로에 의한 커넥팅 클라이언트의 인터넷 주소("제1 모바일 IP 주소" 및 "제2 모바일 IP 주소")를 매핑하고, 제1 통신 경로 및 제2 통신 경로에 의한 커넥팅 서버의 인터넷 주소("제1 서버 IP 주소" 및 "제2 서버 IP 주소")를 매핑하여 저장할 수 있다. 예를 들어, "모바일 IP 주소"는 "제1 모바일 IP 주소" 및 "제2 모바일 IP 주소"와 매핑되고, "제1 모바일 IP 주소"는 "제1 서버 IP 주소"와 매핑되고 "제2 모바일 IP 주소"는 "제2 서버 IP 주소"와 매핑되어 저장될 수 있다.
도 6에서, 통신 경로 선택부(520)는 통신망 확인부(510)의 확인 결과에 따라 각각의 통신 경로의 상태를 확인할 수 있고(단계 S610), 연결이 가능한 통신망이 있는 경우(단계 S620) 해당 통신 경로를 다운링크를 위한 통신 경로로서 커넥팅 서버(120)에 알려줄 수 있으며(단계 S630), 커넥팅 서버(120)로부터 해당 통신 경로를 통해 모바일 데이터를 수신할 수 있다(단계 S640).
도 7은 개시된 기술의 패킷 구조를 설명하는 도면이다.
도 7을 참조하면, 커넥팅 서버(120)와 커넥팅 클라이언트(430)는 각각 IP 주소 관리부 (260) 또는 IP 주소 저장부(540)에 저장된 매핑 정보에 기초하여 데이터를 송수신할 수 있다. 일 실시예에서, 커넥팅 서버(120)와 커넥팅 클라이언트(430)간의 데이터 전송은 캡슐화 과정을 수행하며 이루어질 수 있다. 여기에서, 캡슐화 과정은 ME(Minimal Encapsulation), TCP encapsulation, UDP encapsulation이나 GRE 등으로 실시될 수 있으며, 당업자의 요구에 따라 다양한 캡슐화 방식을 적용할 수 있음은 물론이다. 개시된 기술에서는 하나의 예로 GRE를 이용하여 캡슐화하는 것으로 설명하기로 한다. 이는 NAT가 Port 번호도 바꾸는 동작을 수행하는 경우는 GRE를 이용하여 캡슐화를 수행하면 문제가 발생할 수 있으므로 실제적으로는 TCP나 UDP로 캡슐화를 수행해야 하나, 여기서는 설명을 간단하게 하기 위해 NAT가 IP주소만 바꾸고 Port 번호는 바꾸지 않는다고 가정하고 GRE로 캡슐화 하는 것으로 설명한다. 예를 들어, 메시지는 전송될 통신 경로에 상응하는 송신측 IP 주소 및 수신측 IP 주소, GRE 헤더(Header) 및 다운링크/업링크 패킷을 포함할 수 있다.
또한, 실제로는 보통 WiFi 망에 NAT가 존재하여 IP 할당 등에 관여할 수 있어,모바일 단말(130)이 알고 있는 제2 모바일 IP 주소와 커넥팅 서버(120)가 알고 있는 제2 모바일 IP 주소와 다를 수 있다. 그러나 여기서는 설명의 편의를 위하여 마치 NAT가 IP를 변경하는 등의 동작을 수행하지 않는 것으로 가정하여 설명한다. 실제로는 3G 통신망에도 NAT가 존재할 수 있으나 같은 이유로 NAT가 IP를 변경하는 등의 동작을 수행하지 않는 것으로 가정하여 설명한다.도 7에서, 제1 통신 경로를 통해 어플리케이션 모듈(440)에서 어플리케이션 서버(110)로 데이터(도 7에서 업링크 패킷으로 도시함)를 전송하는 과정을 살펴보면, 어플리케이션 모듈(440)은 송신측 인터넷 주소를 "모바일 IP", 수신측 인터넷 주소를 "AS 서버 IP "로 포함하는 데이터를 생성하여 커넥팅 클라이언트(430)로 전송할 수 있고, 커넥팅 클라이언트(430)는 IP 주소 저장부(540)에 저장된 매핑정보에 기초하여 송신측 인터넷 주소를 "제1 모바일 IP", 수신측 인터넷 주소를 " 제1 서버 IP "로 하고 GRE로 캡슐화된 패킷을 생성하여 커넥팅 서버(120)로 전송할 수 있다. 이를 수신한 커넥팅 서버(120)는 GRE 캡슐화를 풀어서 송신측 인터넷 주소를 "제1 모바일 IP", 수신측 인터넷 주소를 " 제1 서버 IP "으로 포함하는 원 데이터를 복원하여 어플리케이션 서버(110)로 전송할 수 있다.
도 7에서, 제2 통신 경로를 통해 어플리케이션 서버(110)에서 어플리케이션 모듈(440)로 데이터(도 7에서 다운링크 패킷으로 도시함)를 전송하는 과정을 살펴보면, 어플리케이션 서버(110)는 송신측 인터넷 주소를 "AS 서버 IP", 수신측 인터넷 주소를 "모바일 IP"로 포함하는 데이터를 생성하여 인터넷 망으로 전송하면 인터넷 망은 해당 데이터를 "모바일 IP" 주소를 보고 라우팅(routing)하여 커넥팅 서버(120)에 도착하도록 할 수 있고, 커넥팅 서버(120)는 IP 주소 저장부(270)에 저장된 매핑정보에 기초하여 송신측 인터넷 주소를 "제2 서버 IP", 수신측 인터넷 주소를 "제2 모바일 IP"로 포함하고 GRE로 캡슐화된 패킷을 생성하여 커넥팅 클라이언트(430)로 전송할 수 있으며, 커넥팅 클라이언트(430)는 GRE 캡슐화를 풀어서 송신측 인터넷 주소를 "AS 서버 IP", 수신측 인터넷 주소를 "모바일 IP"로 포함하는 원 데이터를 복원하여 어플리케이션 모듈(440)로 전송할 수 있다.
도 7을 참조하면, 제1 통신 경로를 통한 다운링크 패킷의 전송 과정과 제2 경로를 통한 업링크 패킷의 전송과정은 이상의 설명에 상응함을 알 수 있다.
여기에서, 모바일 단말(130)의 어플리케이션은 어플리케이션 서버(110)와 통신을 하기 위하여 커넥팅 클라이언트(430)에 데이터 통신 소켓을 열어달라고 요청을 할 수 있다. 이때, 커넥팅 클라이언트(430)는 할당받은 "모바일 IP" 주소를 이용하여 소켓을 열어주고 "모바일 IP" 주소를 어플리케이션에게 알려줄 수 있다. 어플리케이션은 이후 이 소켓을 통해서 "모바일 IP" 주소를 자신의 source IP주소로 사용할 수 있다.
결과적으로 어플리케이션 서버(110) 및 어플리케이션 모듈(440)은 "모바일 IP"와 "AS 서버 IP"만으로도 효율적인 데이터 전송을 수행할 수 있다. 따라서, 기존의 어플리케이션 서버와 어플리케이션을 변경하지 않고서도 쉽게 적용할 수 있다.
이하에서, 도 8을 설명함에 있어, 개시된 기술의 일 실시예를 설명하기 위한 중요 메시지를 중심으로 나타내었으며, 당업자의 요구에 따라 추가될 수 있는 메시지들은 생략하여 설명한다. 도 8은 IP 주소를 할당하기 위한 각 구성요소 간의 동작을 설명하기 위한 흐름도이다.
도 8을 참조하면, 커넥팅 클라이언트(430)는 제1 통신 경로를 통하여 "모바일 IP" 주소를 요청하는 메시지(모바일 IP_Req)를 커넥팅 서버(120)에 전송할 수 있다(단계 S901). 커넥팅 서버(120)는 모바일 IP 주소 풀에서 하나의 모바일 IP 주소를 선택하여 해당 커넥팅 클라이언트(430)의 "모바일 IP" 주소를 포함하는 메시지(AS 모바일 IP_Res)를 커넥팅 클라이언트(430)에 전송할 수 있다(단계 S902). 이 단계는 잘 알려진 DHCP등을 이용하여 구현될 수도 있다. 일 실시예에서, "모바일 IP" 주소는 커넥팅 서버(120)에 의하여 고유하게 정의 될 수 있다. 여기에서, 전술한 요청이 3G 통신모듈(110)을 통하여 실시되는 것으로 도시되었다. 이는 일반적으로 3G 통신망의 접속 가능 지역이 WiFi 통신망보다 넓기 때문이다. 그러나 반드시 "모바일 IP" 주소를 위한 요청이 3G 통신모듈(110)에 의해서만 실시될 수 있다고 한정하는 것은 아니다. 즉, 이러한 요청은 연결 가능한 어느 통신 모듈이든 사용될 수 있다. 그림에서는 생략하였지만 커넥팅 클라이언트(430)와 커넥팅 서버(120) 사이에는 TCP연결이 계속 맺어져 있을 수 있고, 이를 위해서 주기적인 KeepAlive등이 있을 수 있다. 또한 커넥팅 서버(120)가 커넥팅 클라이언트(430)를 인증하기 위한 소정의 단계가 실시될 수도 있다.
도시된 예에서처럼, 제1 통신 경로를 통해 통신을 수행한 경우 별도의 과정이 없이도 커넥팅 서버(120)는 "제1 모바일 IP"를 자동적으로 알 수 있다. 만약, 제1 통신 경로가 아닌 다른 통신 경로로 통신을 수행한 경우 커넥팅 서버(120)에 "제1 모바일 IP"를 알려주는 과정이 필요할 수 있다. 이후, 커넥팅 클라이언트(430)는 수신된 "모바일 IP" 주소와 제1 통신 경로에 의한 커넥팅 클라이언트(430)의 IP 주소("제1 모바일 IP")를 매핑하여 저장할 수 있다(단계 S903). 도시되지 않았으나, 커넥팅 서버(120)도 전송한 "모바일 IP"와 해당 모바일 단말(110)의 제1 통신 경로에 의한 커넥팅 클라이언트(430)의 IP 주소("제1 모바일 IP")를 매핑하여 저장할 수 있다.
커넥팅 클라이언트(430)는 할당받은 "모바일 IP" 주소를 어플리케이션에 제공할 수 있다(단계 S904). 어플리케이션은 어플리케이션 서버(110)와 통신을 하기 위하여 커넥팅 클라이언트(430)에 필요한 소켓을 열어달라고 요청할 수 있다. 또한 어플리케이션은 어플리케이션 서버(110)에 보낼 업링크 데이터를 상기 맺은 소켓을 통해 보낼 수 있다(단계 S905). 이때 source IP주소는 "모바일 IP" 주소이고 destination주소는 어플리케이션 서버의 IP("AS 서버 IP")이다. 커넥팅 클라이언트(430)는 망의 상태를 보고 업링크 데이터를 보낼 통신 경로를 선택하고(단계 S906), 선택된 통신 경로를 통하여 업링크 데이터를 송신할 수 있다. 이하에서는, 3G 통신 경로를 선택하여 업링크를 수행하는 것으로 가정하고 설명한다. 커넥팅 클라이언트(430)는 3G 통신 경로를 통해 커넥팅 서버에 업링크 데이터를 캡슐화하여서 전송할 수 있다(단계 S907). 이때 소스 IP 주소는 "제1 모바일 IP"이고 destination IP 주소는 "제1 서버 IP"이다.
커넥팅 서버(120)는 이 데이터를 받아서 캡슐화를 해제한 후(단계 S908), 해제된 모바일 데이터를 어플리케이션 서버(110)에 보낼 수 있다(단계 S909).
어플리케이션 서버(110)는 이 데이터를 받고 필요시 source IP주소는 "AS 서버 IP", destination IP 주소는 "모바일 IP"로 설정된 송신하고자 하는 모바일 데이터을 송신할 수 있다. 송신된 모바일 데이터는 커넥팅 서버(120)에 도달할 수 있다(단계 S910).
어플리케이션 서버(110)로부터 다운링크를 위한 모바일 데이터를 수신받은 커넥팅 서버(120)는 다운링크 데이터를 보내기 위한 통신 경로를 결정하고(제1 통신 경로-3G 통신모듈-를 선택했다고 가정함, 단계 S911), 캡슐화(Encapsulation)를 수행한 후 캡슐화된 패킷을 커넥팅 클라이언트(430)로 전송할 수 있다(단계 S912).
커넥팅 클라이언트(430)는 캡슐화된 패킷을 복원(Recapsulation)한 후(단계 S913), 복원된 모바일 데이터를 어플리케이션 모듈(440)로 전송할 수 있다(단계 S914).
여기에서, 통신 과정에 대한 보안성을 향상시키고자 할 경우, 커넥팅 서버(120)와 커넥팅 클라이언트(430)가 암호화키(Key)를 서로 주고 받고, 이를 이용하여 암호화하거나, 인증을 위한 해싱(hashing) 과정 등을 수행할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 서비스 전송의 효율성을 높일 수 있다. Wifi 통신망에 존재하는 NAT 장치에 대하여 지속적인 패킷 전송을 유지할 필요가 없으므로, WiFi 통신망의 데이터 트래픽을 최소화할 수 있고 모바일 단말의 배터리 소모를 최소화할 수 있기 때문이다.
또한 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 3G망의 부하를 효과적으로 줄여줄 수 있다. 데이터을 안정적으로 3G망과 WiFi망 사이에 나누어 보낼 수 있으므로 WiFi 망을 안정적으로 사용하면서 3G망의 부하를 줄일 수 있기 때문이다.
또한, 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 보다 효율적으로 IP 주소를 관리할 수 있다. 커넥팅 서버와 커넥팅 클라이언트가 선택하는 통신망에 대하여 별도의 IP 주소를 생성하여 통신을 수행하고, 어플리케이션 서버 및 어플리케이션은 통신망의 전환을 위하여 새로운 IP 주소를 등록하지 않아도 되기 때문이다.
또한, 일 실시예에 따른 다중 통신 경로 기반의 서비스 제공 시스템은 종래의 어플리케이션 서비스 시스템에 쉽게 적용할 수 있다. 종래의 어플리케이션 서버 및 모바일 단말에 탑재된 어플리케이션을 변경하지 않고, 커넥팅 서버와 커넥팅 클라이언트만을 추가하여 운용이 가능하기 때문이다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 개시된 기술의 다중 통신 경로 기반의 서비스 제공 시스템을 설명하는 구성도이다.
도 2는 도 1의 커넥팅 서버의 일 실시예를 설명하기 위한 블록도이다.
도 3은 도 2의 커넥팅 서버의 동작에 대한 일실시예를 설명하는 순서도이다.
도 4는 도 1의 모바일 단말의 일 실시예를 설명하기 위한 블록도이다.
도 5는 도 4의 커넥팅 클라이언트의 일 실시예를 설명하기 위한 블록도이다.
도 6은 도 5의 커넥팅 클라이언트의 동작에 대한 일 실시예를 설명하기 위한 순서도이다.
도 7은 개시된 기술의 패킷 구조를 설명하는 도면이다.
도 8은 IP 주소를 할당하기 위한 각 구성요소 간의 동작을 설명하기 위한 흐름도이다.
실시예들 중에서, 통신 경로 연결 방법은 어플리케이션 서버와 모바일 단말을 연결시키고 상기 모바일 단말과 제1 또는 제2 통신 경로로 연결될 수 있는 커넥팅 서버에서 수행된다. 여기에서, 상기 모바일 단말은 상기 어플리케이션 서버의 관점에서 제3 모바일 IP 주소를 가지고 상기 커넥팅 서버의 관점에서 제1 또는 제2 모바일 IP 주소를 가지며, 상기 제1 모바일 IP 주소는 상기 제1 통신 경로에 매핑되고 상기 제2 모바일 IP 주소는 상기 제2 통신 경로에 매핑된다. 상기 통신 경로 연결 방법은 (a) 상기 어플리케이션 서버로부터 상기 제3 모바일 IP 주소를 가지는 모바일 데이터를 수신하는 단계, (b) 상기 제1 또는 제2 모바일 IP 주소를 목적지로 선택하여 상기 수신된 모바일 데이터를 캡슐화(encapsulation)하는 단계 및 (c) 상기 모바일 단말에 해당 통신 경로를 통해 상기 선택된 목적지로 상기 캡슐화된 모바일 데이터를 송신하는 단계를 포함한다.
실시예들 중에서, 통신 경로 연결 방법은 커넥팅 서버를 경유하여 어플리케이션 서버와 통신하는 모바일 단말의 커넥팅 클라이언트에서 수행된다. 상기 모바일 단말은 제1 또는 제2 통신 경로를 통하여 상기 커넥팅 서버와 연결 가능하다. 상기 통신 경로 연결 방법은 (a) 모바일 단말의 어플리케이션으로부터 상기 어플리케이션 서버로 전송할 모바일 데이터를 제공받는 단계, (b) 상기 제1 또는 제2 통신 경로 중 적어도 하나를 동적으로 선택하는 단계 및 (c) 상기 제공된 모바일 데이터를 캡슐화(encapsulation)하여 상기 선택된 통신 경로를 통해 송신하는 단계를 포함한다.
실시예들 중에서, 다중 통신 경로 기반의 서비스 제공 시스템은 어플리케이션 서버, 커넥팅 클라이언트를 구비한 모바일 단말 및 상기 커넥팅 클라이언트와 상기 어플리케이션 서버를 연결하는 커넥팅 서버를 포함한다. 여기에서, 상기 커넥팅 서버와 상기 모바일 단말은 제1 또는 제2 통신 경로로 연결 가능하다. 상기 커넥팅 서버는 상기 어플리케이션 서버로부터 수신된 모바일 데이터를 캡슐화하고, 제1 또는 제2 통신 경로 중 어느 하나를 선택하여 상기 캡슐화된 데이터를 상기 모바일 단말에 전송한다. 상기 커넥팅 클라이언트는 상기 캡슐화된 모바일 데이터를 복원(decapsulation)하여 어플리케이션 모듈에 제공한다.

Claims (19)

  1. 어플리케이션 서버와 모바일 단말을 연결시키고 상기 모바일 단말과 제1 또는 제2 통신 경로로 연결될 수 있는 커넥팅 서버에서 수행되는 통신 경로 연결 방법에 있어서, -상기 모바일 단말은 상기 어플리케이션 서버의 관점에서 제3 모바일 IP 주소를 가지고 상기 커넥팅 서버의 관점에서 제1 또는 제2 모바일 IP 주소를 가지며, 상기 제1 모바일 IP 주소는 상기 제1 통신 경로에 매핑되고 상기 제2 모바일 IP 주소는 상기 제2 통신 경로에 매핑됨-
    (a) 상기 어플리케이션 서버로부터 상기 제3 모바일 IP 주소를 가지는 모바일 데이터를 수신하는 단계;
    (b) 상기 제1 또는 제2 모바일 IP 주소를 목적지로 선택하여 상기 수신된 모바일 데이터를 캡슐화(encapsulation)하는 단계; 및
    (c) 상기 모바일 단말에 해당 통신 경로를 통해 상기 선택된 목적지로 상기 캡슐화된 모바일 데이터를 송신하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  2. 제1항에 있어서, 상기 (b) 단계는
    (b-1) 상기 제1 또는 제2 통신 경로 중 어느 하나를 동적으로 선택하는 단계; 및
    (b-2) 상기 동적으로 선택된 통신 경로에 매핑되는 제1 또는 제2 모바일 IP 주소 중 어느 하나를 상기 목적지로 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  3. 제2항에 있어서, 상기 (b-1) 단계는
    상기 제1 및 제2 통신 경로들의 상태를 확인하는 단계; 및
    상기 확인한 결과, 보다 양호한 상태의 통신 경로를 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  4. 제2항에 있어서, 상기 (b-1) 단계는
    상기 모바일 단말로부터 수신된 업링크 패킷의 히스토리를 확인하는 단계; 및
    상기 확인한 결과 최근의 업링크가 유효하면, 상기 업링크 패킷을 수신한 통신 경로를 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  5. 제2항에 있어서, 상기 (b-1) 단계는
    상기 모바일 단말로부터 수신된 업링크 패킷의 히스토리를 확인하는 단계; 및
    상기 확인한 결과, 상기 제2 통신 경로를 통하여 최근에 수신된 업링크 패킷의 수신시각으로부터 설정된 시간 이내이면, 상기 제2 통신 경로를 선택하는 단계를 포함하고, 상기 제2 통신 경로는 WiFi 통신망을 경유하는 것을 특징으로 하는 통신 경로 연결 방법.
  6. 제1항에 있어서, 상기 통신 경로 연결 방법은 상기 (b) 단계 이전에
    상기 모바일 단말에 대하여 상기 제3 모바일 IP 주소를 할당하는 단계를 더 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  7. 제6항에 있어서, 상기 제3 모바일 IP 주소를 할당하는 단계는
    모바일 단말에 할당된 상기 제3 모바일 IP 주소를 상기 모바일 단말에 제공하는 단계를 더 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  8. 제1항에 있어서, 상기 (b) 단계는
    (b-1) 상기 모바일 단말과 암호화를 위한 키(KEY)를 설정하는 단계; 및
    (b-1) 상기 암호화를 위한 키를 이용하여 상기 수신된 모바일 데이터를 암호화하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  9. 커넥팅 서버를 경유하여 어플리케이션 서버와 통신하는 모바일 단말의 커넥팅 클라이언트에서 수행되는 통신 경로 연결 방법에 있어서, -상기 모바일 단말은 제1 또는 제2 통신 경로를 통하여 상기 커넥팅 서버와 연결 가능함-
    (a) 모바일 단말의 어플리케이션으로부터 상기 어플리케이션 서버로 전송할 모바일 데이터를 제공받는 단계;
    (b) 상기 제1 또는 제2 통신 경로 중 적어도 하나를 동적으로 선택하는 단계; 및
    (c) 상기 제공된 모바일 데이터를 캡슐화(encapsulation)하여 상기 선택된 통신 경로를 통해 송신하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  10. 제9항에 있어서, 상기 (b) 단계는
    (b-1) 상기 제1 및 제2 통신 경로들 각각에 대해 연결이 가능한지 확인하는 단계; 및
    (b-2) 상기 확인한 결과를 기초로 통신 경로를 선택하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  11. 제10항에 있어서, 상기 (b) 단계는
    상기 제1 및 제2 통신 경로를 통하여 상기 커넥팅 서버에 응답을 요구하는 패킷을 송신하고, 그에 대한 상기 커넥팅 서버의 응답을 확인하는 단계; 및
    상기 제1 및 제2 통신 경로에 대한 무선 통신 신호의 수신 여부를 확인하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  12. 제 10항에 있어서, 상기 (b-1) 단계는
    상기 제1 및 제2 통신 경로를 통한 패킷의 히스토리 정보를 확인하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  13. 제9항에 있어서, 상기 (c) 단계는
    (c-1) 상기 커넥팅 서버와 암호화를 위한 키(KEY)를 설정하는 단계; 및
    (c-1) 상기 암호화를 위한 키를 이용하여 상기 제공된 모바일 데이터를 암호화하는 단계를 포함하는 것을 특징으로 하는 통신 경로 연결 방법.
  14. 어플리케이션 서버, 커넥팅 클라이언트를 구비한 모바일 단말 및 상기 커넥팅 클라이언트와 상기 어플리케이션 서버를 연결하는 커넥팅 서버를 포함하는 서비스 제공 시스템에 있어서, -상기 커넥팅 서버와 상기 모바일 단말은 제1 또는 제2 통신 경로로 연결 가능함-
    상기 어플리케이션 서버로부터 수신된 모바일 데이터를 캡슐화하고, 제1 또는 제2 통신 경로 중 어느 하나를 선택하여 상기 캡슐화된 데이터를 상기 모바일 단말에 전송하는 커넥팅 서버; 및
    상기 캡슐화된 모바일 데이터를 복원(decapsulation)하여 어플리케이션 모듈에 제공하는 커넥팅 클라이언트를 포함하는 모바일 단말을 포함하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  15. 제14항에 있어서, 상기 커넥팅 서버는
    상기 제1 또는 제2 통신 경로 중 어느 하나를 동적으로 선택하는 통신 경로 선택부를 포함하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  16. 제15항에 있어서, 상기 커넥팅 서버는
    상기 커넥팅 클라이언트로부터 수신된 업랭크 패킷을 저장하는 히스토리부를 포함하고,
    상기 통신 경로 선택부는 상기 저장된 업랭크 패킷을 이용하여 상기 제2 통신 경로의 유효성을 판단하고, 만일 유효하면 상기 제2 통신 경로를 선택하고,
    상기 제2 통신경로는 WiFi 통신망을 경유하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  17. 제15항에 있어서, 상기 커넥팅 서버는
    상기 제1 및 제2 통신 경로들의 상태를 확인하는 통신망 확인부를 더 포함하고,
    상기 통신 경로 선택부는 상기 확인된 제1 및 제2 통신 경로들의 상태를 기초로 통신 경로를 선택하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  18. 제14항에 있어서, 상기 커넥팅 서버는
    상기 제1 및 제2 통신 경로에서 상기 모바일 단말에 해당하는 제1 및 제2 모바일 IP 주소를 할당하는 모바일 IP 관리부를 더 포함하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
  19. 제14항에 있어서, 상기 커넥팅 클라이언트는
    상기 제1 및 제2 통신 경로들에 대한 연결 가능 여부를 확인하여 상기 커넥팅 서버에 제공하는 것을 특징으로 하는 다중 통신 경로 기반의 서비스 제공 시스템.
PCT/KR2012/000506 2011-03-16 2012-01-19 다중 통신 경로 기반의 서비스 제공 시스템 WO2012124891A2 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0023526 2011-03-16
KR1020110023526A KR20120105846A (ko) 2011-03-16 2011-03-16 다중 통신 경로 기반의 서비스 제공 시스템

Publications (2)

Publication Number Publication Date
WO2012124891A2 true WO2012124891A2 (ko) 2012-09-20
WO2012124891A3 WO2012124891A3 (ko) 2012-11-08

Family

ID=46831145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/000506 WO2012124891A2 (ko) 2011-03-16 2012-01-19 다중 통신 경로 기반의 서비스 제공 시스템

Country Status (2)

Country Link
KR (1) KR20120105846A (ko)
WO (1) WO2012124891A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506852B1 (ko) * 2013-06-26 2015-04-08 모다정보통신 주식회사 네트워크 모드 선택 방법과 그를 위한 모바일 라우터
KR101976840B1 (ko) * 2017-02-22 2019-05-09 한남대학교 산학협력단 다중채널 데이터 전송 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050031987A (ko) * 2003-09-30 2005-04-06 삼성전자주식회사 이동통신 시스템과 무선랜간의 연동을 위한 시스템 및 방법
KR20060114482A (ko) * 2005-04-29 2006-11-07 삼성전자주식회사 셀룰러 망과 무선 랜간의 연동을 위한 시스템 및 방법
US7441043B1 (en) * 2002-12-31 2008-10-21 At&T Corp. System and method to support networking functions for mobile hosts that access multiple networks
US20090052415A1 (en) * 2005-04-05 2009-02-26 Hidenori Ishii Radio Communication System and Radio Communication Method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441043B1 (en) * 2002-12-31 2008-10-21 At&T Corp. System and method to support networking functions for mobile hosts that access multiple networks
KR20050031987A (ko) * 2003-09-30 2005-04-06 삼성전자주식회사 이동통신 시스템과 무선랜간의 연동을 위한 시스템 및 방법
US20090052415A1 (en) * 2005-04-05 2009-02-26 Hidenori Ishii Radio Communication System and Radio Communication Method
KR20060114482A (ko) * 2005-04-29 2006-11-07 삼성전자주식회사 셀룰러 망과 무선 랜간의 연동을 위한 시스템 및 방법

Also Published As

Publication number Publication date
WO2012124891A3 (ko) 2012-11-08
KR20120105846A (ko) 2012-09-26

Similar Documents

Publication Publication Date Title
EP2148518B1 (en) Packet communication method using node identifier and locator
US8824480B2 (en) Method and apparatus for end-host based mobility, multi-homing and multipath protocols
US8743879B2 (en) Label switched routing to connect low power network domains
WO2012074198A1 (en) Terminal and intermediate node in content oriented networking environment and communication method of terminal and intermediate node
WO2011069399A1 (zh) 地址映射方法及接入业务节点
JPWO2006093299A1 (ja) トンネリング装置及びそれに用いるトンネルフレーム振分方法並びにそのプログラム
JP2009212875A (ja) 通信装置及びそれに用いる運用管理方法
JP2009049635A (ja) ネットワークシステム、ネットワーク装置及び中継装置
JP2013504956A (ja) 新たなネットワークとインターネットとの相互通信の実現方法、システム及び通信端
US8086210B2 (en) Flow based layer 2 handover mechanism for mobile node with multi network interfaces
CN102281165A (zh) 一种基于服务质量的故障检测方法、系统和装置
JP2017028393A (ja) 通信システム、通信装置およびvpn構築方法
WO2012124891A2 (ko) 다중 통신 경로 기반의 서비스 제공 시스템
CN107547347B (zh) 基于vni的路径调整方法和装置
WO2020180123A1 (en) Method and system for mpquic over qsocks in wireless network
JP2013135397A (ja) ラベルスイッチングネットワーク
EP2043300A1 (en) Data transmission network, method, network element and pro-gram
WO2012005440A2 (ko) Push 서비스 제공 방법 및 이를 수행하는 push 서비스 제공 시스템
JP2005260594A (ja) ネットワークシステム及び通信装置
WO2007108124A1 (ja) パケット中継装置
WO2012018190A2 (ko) 트래픽 기반 통신 시스템 및 방법
JP4615435B2 (ja) ネットワーク中継装置
JP4698571B2 (ja) Naptルータを介して接続された端末のハンドオフ方法及びシステム
JP2020102692A (ja) メディアアダプタ装置、分散通信管理方法および分散通信管理プログラム
JP3936319B2 (ja) 疎通確認方法、データ中継装置、データ中継システム

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: 12758284

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 22/01/2014)

122 Ep: pct application non-entry in european phase

Ref document number: 12758284

Country of ref document: EP

Kind code of ref document: A2