WO2012096438A2 - Push message transmitting method - Google Patents

Push message transmitting method Download PDF

Info

Publication number
WO2012096438A2
WO2012096438A2 PCT/KR2011/008867 KR2011008867W WO2012096438A2 WO 2012096438 A2 WO2012096438 A2 WO 2012096438A2 KR 2011008867 W KR2011008867 W KR 2011008867W WO 2012096438 A2 WO2012096438 A2 WO 2012096438A2
Authority
WO
WIPO (PCT)
Prior art keywords
push
server
terminal
private network
public
Prior art date
Application number
PCT/KR2011/008867
Other languages
French (fr)
Korean (ko)
Other versions
WO2012096438A3 (en
Inventor
김대영
Original Assignee
Kim Dae Young
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 Kim Dae Young filed Critical Kim Dae Young
Publication of WO2012096438A2 publication Critical patent/WO2012096438A2/en
Publication of WO2012096438A3 publication Critical patent/WO2012096438A3/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Definitions

  • the disclosed technology relates to a push message transmission method, and more particularly, to a push message transmission method capable of flexibly connecting a push server to a private network.
  • terminals With the development of mobile technology, terminals have increased in processing speed and capacity and are able to perform communication through various communication networks. With the development of terminals, various services are provided for terminals, and push services are provided as various service models as one of such services.
  • NAT Network Address Translation
  • the push server is connectable with the application server and at least one terminal.
  • the push server maintains a public network communication module for communicating through a public network, a private network communication module for communicating through a private network, a private network address for a private network and a public network address for a public network, and the private network communication module.
  • a controller for transmitting a push message transmitted from the application server to a corresponding terminal using at least one of the public network communication modules.
  • the controller may allocate a push service ID to the at least one terminal and provide the allocated push service ID to the application server.
  • the push server may be connected to a lookup server through the public network and / or private network.
  • the push server comprises a terminal information database including at least one of a push service ID, a private network address and a public network address of the terminal, and a socket ID of the communication module of the terminal for each terminal of the equator; It may further include.
  • the controller may perform communication with the corresponding terminal via the public network or private network determined according to the service included in the push message.
  • the terminal is connectable to an application server that transmits a push message, a lookup server, and at least one push server.
  • the terminal requests the lookup server for a public network communication module for communicating through a public network, a private network communication module for communicating through a private network, and a network address of the push server, and displays public and private network addresses of the push server.
  • It includes a push client module to determine.
  • the terminal may further comprise a push server database that stores public and private network addresses of the push server.
  • the push client module may perform communication with the private network address stored in the push server database, and if the communication is not made, may request the private network address of the push server from the lookup server.
  • the push client module may perform communication using the private network address, and if communication is not performed, perform communication using the public network address. In one embodiment, the push client module may maintain both the first communication path connected with the push server and the private network address and the second communication path connected with the public network address. In one embodiment, if the terminal is connected to the push server via the public network, the terminal may perform data transmission and reception by performing encryption, otherwise, the terminal may transmit and receive data without performing encryption.
  • the push server comprises a first push server and a second push server, and if the terminal communicated using either the public or private network address of the first push server, the terminal pushes the first push The communication may be performed using the other of the server's public and private network addresses. In one embodiment, the push server includes a first push server and a second push server, and wherein the terminal is connected to the first push server. If communicating using the public network address, the terminal may communicate using the private network address of the first push server.
  • the push message transmission system is connectable with the terminal and the application server.
  • the push message transmission system uses a private network address and a public address for each of the at least one push server and at least one push server for transmitting a push message received from the application server to the terminal using at least one of a private network and a public network.
  • a lookup server that stores a network address and provides the terminal with a private and public network address of the push server.
  • the push server may provide the changed private network address to the lookup server.
  • the public network may be a Wi-Fi network
  • the private network may be a cellular communication network.
  • the push server may select any one of the public network or private network based on the service included in the push message to communicate with the terminal. In one embodiment, if the push server is connected to the terminal through the public network, the push server may perform data transmission and reception by performing encryption, otherwise, the push server may transmit and receive data without performing encryption. In an embodiment, the push server may allocate a push service ID to the terminal and provide the push service ID to the application server.
  • the push message transmission method is performed in a push message transmission system for transmitting a push message received from the application server to the terminal.
  • the push message transmission system includes a lookup server and at least one push server.
  • the method for transmitting push messages may include storing, by the lookup server, a private network address and a public network address of each of the at least one push server, and providing the terminal with the private network address of the corresponding push server. Include.
  • the push message transmission method may further include providing, by the lookup server, a public and / or private network address of the push server to the application server according to a request.
  • the push message transmission method may further include the push server assigning a push service ID to the terminal and providing the allocated push service ID to the application server.
  • the server may be dynamically connected to the terminal capable of performing communication over a public or private network through the public or seo network.
  • the server maintains a public network communication module for communicating through the public network, a private network communication module for communicating through the private network and a private network address for the private network and a public network address for the public network.
  • a controller configured to communicate with the terminal using at least one of a private network communication module and the public network communication module.
  • the server may be a push server for sending push messages.
  • the terminal may be dynamically connected to at least one server capable of communicating through a public network or a private network through the public network or a standing network.
  • the at least one server includes a lookup server that stores public and private network addresses of a particular server.
  • the terminal requests at least one communication module for performing communication over a public or private network, the lookup server for public and / or private network addresses of the specific server, and the public and / or private network according to a current estimation situation.
  • a client module for communicating with the particular server using at least one of the addresses.
  • FIG. 1 is a block diagram of a general push message transmission system.
  • FIG. 2 is a configuration diagram according to an embodiment of a push message system to which the disclosed technology may be applied.
  • FIG. 3 is a configuration diagram according to another embodiment of a push message system to which the disclosed technology may be applied.
  • FIG. 4 is a configuration diagram according to an embodiment of the push server of FIG. 2.
  • FIG. 5 is a diagram illustrating an embodiment of a terminal of FIG. 2.
  • FIG. 6 is a block diagram according to an embodiment of a push message transmission method to which the disclosed technology can be applied.
  • FIG. 7 is a flowchart illustrating a push message transmission method according to FIG. 6.
  • 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 is clearly in a specific order. Unless stated otherwise, it may occur out of the stated order. 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 of a general push message transmission system.
  • an application server 110 and a push server 120 are connected to a public network (for example, an internet network), and the terminal 140 is a public network (for example, Wi-Fi network) and private network (for example, cellular network) are connected wirelessly.
  • NAT Network Address Translator, 130
  • NAT Network Address Translator 130
  • the push server 120 transmits the push message received from the application server 110 to the terminal 140 through a public network or a private network. If the terminal is accessible to the public network, the push server 120 may transmit a push message to the public network. If not, the push server 120 transmits a push message through the private network. In order to send the push message over the private network, the push server 120 is connected to the private network via the NAT 130 over the public network.
  • the NAT 130 maintains matching between the public network IP address and the private network IP address for communication between the push server 120 and the terminal 140. As the number of terminals receiving the push service increases, the number of matching that the NAT 130 needs to maintain increases, and high performance is required. That is, the NAT 130 needs to be expanded to provide a smooth push service.
  • the NAT 130 sets a limited port binding time to match the private IP address with the public IP address.
  • the terminal 140 receives the push service through the private network, since the port binding time of the NAT 130 is not infinite, it must transmit a message for maintaining the port binding to the NAT 130 every predetermined time. This message transmission increases the power consumption of the terminal 140.
  • 2 is a configuration diagram according to an embodiment of a push message system to which the disclosed technology may be applied. 2 illustrates the push server 220 and the terminal 240 as one for convenience of description, the push server 220 and the terminal 240 may be configured in plural.
  • the push message system includes a lookup server 230 and a push server 220 and may be connected to an application server 210 and a terminal 240.
  • the lookup server 230 and the application server 210 may also be configured to be connected to both a public network and a private network.
  • the push server 220 receives the push message received from the application server 210 from the public network (eg, Wi). -Fi network) or a private network (for example, a cellular network) using at least one of the transmission to the terminal 240.
  • the push server 220 is directly connected to public and private networks, and has a public network address (for example, a public IP address) for the public network and a private network address (for example, a private IP address) for the private network. have.
  • the push server 220 may allocate a push service ID to the terminal 240 to which communication is performed in order to smoothly provide a push service.
  • the application of the terminal 240 may provide a push service ID assigned to the application server 210 to the application server 210.
  • the application server 210 may display the application of the terminal to be serviced by the push service ID and request the push server 220 to transmit the push message.
  • the push server 220 may establish a connection with the terminal through both a private network and a public network, and set a priority of any one of them. For example, if the priority is set in the public network, the push server 220 may first transmit a push message to the terminal through the public network, and if the communication is not made, may transmit the terminal to the terminal through the private network.
  • the push server 220 may select one of a private network or a public network to communicate with the terminal 240 according to a push service.
  • the push server 220 may know the information about the quality of service (QoS) of the service provided by the push message, and if a large data transmission is required based on the information about the QoS of the service,
  • the terminal 240 may communicate with the terminal 240 through the Wi-Fi network, and may communicate with the terminal 240 through the cellular network when real-time data transmission is required.
  • the push server 220 may connect the communication with the terminal via only the private network or public network. For example, you can always use a public network if you can connect to a public network, and only use a private network if not.
  • push server 220 may consist of multiple servers, and lookup server 230 may include an address for each of the multiple push servers.
  • the lookup server 230 may store an address (first push server) of the first push server. It has a public network address and the private network address of the first push server and the address of the second push server (public network address of the second push server and private network address of the second push server).
  • the lookup server 230 may give an address of the first push server and / or an address of the second push server at the request of the terminal 240.
  • the terminal 240 may receive both the address of the first push server and the address of the second push server. If the terminal 240 uses the public network address of the first push server, the terminal 240 may use the private network address of the first push server and may not use the private network address of the second push server. This is because it may be desirable for the terminal to communicate with the same push server.
  • the terminal when using multiple push servers, the terminal must use the public network address and private network address of the same push server as described above to be connected to the same push server and provide a stable push service.
  • one or more L7 switches may be installed in front of a network of push servers in a push server farm, and the address of the L7 switch may be provided to the terminal as the address of the push server.
  • the L7 switch may interpret the received packet (e.g., there is information identifying the push server in the packet) and may always send the packet to the same push server.
  • the lookup server 230 stores the public network address and the private network address of the push server 220, and provides the public and private network addresses of the corresponding push server 220 according to a request of the terminal. Since the push server 220 may be configured in plurality, the lookup server 230 may establish a database including public and private network addresses for each of the plurality of push servers.
  • the lookup server 230 may communicate with the push server 220 using a pre-stored private network address in order to update the private network address of the push server. If the communication is connected, the lookup server 230 determines that the private network address is valid, and if the communication is not connected, the lookup server 230 may request the changed private network address using the public network address of the corresponding push server. .
  • the push server 220 since the push server 220 itself has a private network address, the push server 220 may communicate using a private network without passing through the NAT 250, and thus, the terminal 240 periodically. As a result, it is not necessary to frequently transmit a message for maintaining port binding, and there is an advantage of reducing power consumption and an advantage of not installing a lot of NAT 250.
  • 3 is a configuration diagram according to another embodiment of a push message system to which the disclosed technology may be applied. 3 illustrates the push server 220 and the terminal 240 as one for convenience of description, the push server 220 and the terminal 240 may be configured in plural.
  • the push server 220 is located in a private network. That is, the push server 220 is directly connected to the private network, but the public network may be connected through the NAT 250.
  • the NAT 250 has a static mapping between the public IP address and the private IP address of the push server 220, and converts the two addresses. Therefore, when a connection attempt is made with the public network address of the push server 220, the packet reaches the NAT 250, and the NAT 250 changes the public IP address of the packet to a private IP address to push the packet. The packet is transmitted to the server 220.
  • Other contents of FIG. 3 correspond to the embodiment of FIG.
  • the server may be dynamically connected through a public network or a private network with a terminal capable of communicating over a public or private network.
  • the server includes a public network communication module, a private network communication module, and a control unit.
  • the public only communication module performs communication through the public network.
  • the private network communication module performs communication through a private network.
  • the control unit maintains a private network address for the private network and a public network address for the public network, and controls to communicate with the terminal using at least one of the private network communication module or the public network communication module according to the current estimation situation of the terminal.
  • the estimation situation may be a communication network (eg, a public network and / or a private network) to which the terminal can be connected, a load situation of the network, which network the terminal is currently connected to the push server, bandwidth required for services, and the like.
  • the terminal 240 may include objective indices of an environment in which the terminal 240 may receive a service.
  • the server may be a push server that sends a push message received from the application server to the terminal.
  • FIG. 4 is a configuration diagram according to an embodiment of the push server of FIG. 2.
  • the push server 220 may include a common network communication module 410, a private network communication module 420, and a controller 430, and further include a terminal information database 440 according to an embodiment. have.
  • the public network communication module 410 may perform communication through the public network
  • the private network communication module 420 may perform communication through the private network.
  • the disclosed push server 220 has a private network communication module 420 because it is directly connected to the private network.
  • the control unit 430 maintains a private and / or public network connection, and transmits a push message to the corresponding terminal 240 through at least one of a private network and a public network. As described above, the push message is transmitted from the application server 210, and the control unit 430 may receive the terminal and identify the target terminal and transmit the push message to the corresponding terminal.
  • the controller 430 may allocate a push service ID for identifying each terminal. For example, a unique push service ID may be allocated to terminals, and the allocated push service ID may be provided to the application server 210.
  • the application server 210 may transmit a push message by designating a target of the service by using the provided push service ID.
  • the push server 220 may be connected to the lookup server 230 through the public network, and the controller 430 may include a lookup notification unit 431.
  • the lookup notification unit 431 may provide the lookup server 230 with at least a private network address (eg, both public and private network addresses).
  • the lookup notification unit 431 may provide the changed private network address to the lookup server 230 whenever the private network address changes.
  • the lookup notification unit 431 may provide the private network address or the public network address to the application server 210.
  • the controller 430 may include a message transmitter 432.
  • the message transmitter 432 may provide a push message to a terminal that is a target of a push service in cooperation with the terminal information database 440.
  • the controller 430 may have already maintained the connection.
  • the push message may be provided to the terminal 240 using a communication network.
  • the controller 430 may select a private network or a public network according to a service provided by a push message and communicate with the corresponding terminal.
  • the control unit 430 may select a private network or a public network based on communication network information required for providing a service, and in order to obtain communication network information for a service, the control unit 430 may request the corresponding information from the application server 210. .
  • the network information may be included in the original push message.
  • the push server 220 may select a communication network capable of real-time communication, that is, a private network (cellular network), to communicate with the terminal in order to provide a service.
  • push server 220 may include a terminal information database 440.
  • the terminal information database 440 may include a push service ID, a private and / or public network address of a corresponding terminal, or a socket ID of a private network communication module and / or a public network communication module capable of sending data toward the corresponding terminal. It may include at least one.
  • the push server 220 may use the terminal information database 440 to communicate by obtaining an address or socket ID of a target terminal.
  • the push server 220 may exchange data without performing encryption when the terminal 240 is connected to the terminal 240 through a private network, and in other cases, that is, when the connection is performed using a public network, encryption (for example, TLS) may be used to exchange data.
  • encryption For example, TLS
  • FIG. 5 is a diagram illustrating an embodiment of a terminal of FIG. 2.
  • the terminal has WiFi and a cellular modem.
  • two or more communication can be easily extended.
  • a case of communicating with a push server toward a public network using a WiFi modem will be described as a connection through a public network communication module, and a case of communicating with a push server through a cellular network using a cellular modem. It is expressed as a connection through.
  • the terminal does not necessarily have a public IP address. For example, it may have a private IP address assigned by a NAT on the WiFi network. Similarly, a private network communication module does not always have a private IP address.
  • a public IP address may be assigned to the cellular modem (ie, a private network communication module) of the terminal.
  • a module for accessing through a WiFi network will be referred to as a common network communication module of a terminal, and a module for accessing via a cellular network will be described as a private network communication module of a terminal.
  • the terminal 240 may be dynamically connected to at least one server capable of communicating through a public or private network through a public or seo network.
  • At least one server may include a lookup server that stores public and private network addresses of a particular server.
  • the terminal 240 requests public and / or private network addresses of a specific server from at least one communication module and a lookup server that communicates through a public network or a private network, and according to a current estimation situation, the public and / or private network. It includes a client module for communicating with a particular server using at least one of the addresses.
  • the estimation situation is an objective for an environment in which the terminal 240 can receive services, such as a communication network to which the terminal 240 can be connected (for example, a public network and / or a private network), a load situation of the network, and bandwidth required for service. May include indicators.
  • a communication network to which the terminal 240 can be connected for example, a public network and / or a private network
  • bandwidth required for service May include indicators.
  • the terminal 240 includes a public network communication module 510, a private network communication module 520, a push client module 530, and an application client module 550.
  • terminal 240 may further include a push server database that stores public and private network addresses of push server 220.
  • the public network communication module 510 communicates through the public network
  • the private network communication module 520 communicates through the private network.
  • the push client module 530 communicates using the public network communication module 510 and / or the private network communication module 520, and receives a push message from the application server 210 transmitted by the push server 220. To the application client module 550.
  • the push client module 530 already knows the public network address of the lookup server 230. For example, when the push client module 530 is generated, it may already have a public network address of the lookup server 230, or may be a DNS (Domain Name Service) query based on the domain name of the lookup server 230. May be obtained. The push client module 530 may request the lookup server 230 to find and communicate with the public and private network addresses of the push server 220.
  • DNS Domain Name Service
  • push client module 530 communicates through private network communication module 520 with the private network address of the push server stored in push server database 540, If communication is not established, the lookup server 230 may request the private network address of the push server 220 again, and perform communication using the received private network address of the push server 220. This is more effective in situations such as when the private network address of push server 220 is changed.
  • the push client module 530 communicates through the private network communication module 520 using the private network address of the push server 220, and if communication is not made, the public of the push server 220 is shared. Communication can be performed using a network address.
  • the push client module 530 performs a communication to the cellular network using the private network address of the push server 220 using the private network communication module 520 (in this case, the push client module is a private IP of the private network communication module).
  • the public network communication module (510 ) To communicate with the public network address of the push server 220 to the Wi-Fi network.
  • the terminal 240 may confirm that the terminal is currently in the private network, and thus, the communication may continue using the private network in subsequent communication.
  • the terminal 240 may include only a private network communication module.
  • the push client module 530 communicates through the private network communication module 520 using the private network address of the push server 220, and if the communication is not made (for example, roaming, etc.) Communication may be performed through the private network communication module 520 using the public network address of 220.
  • the push client module 530 communicates through the private network communication module 520 of the terminal using the private network address of the push server 220, and if the communication is not made (for example, in case of roaming, communication may be performed through the private network communication module 520 using the public network address of the push server 220. If this also fails, communication is performed through the public network communication module 520 using the private network address of the push server 220 (if there is a device such as PDG and the terminal is connected to the WiFi through PDG, communication may be connected. If communication is not performed, communication may be performed through the public network communication module 520 using the public network address of the push server 220.
  • push client module 530 may maintain communication with both push server 220 and private and public networks.
  • the client module 530 may connect cellular communication using the private network address of the push server 220 and Wi-Fi communication using the public network address.
  • the terminal 240 when the terminal 240 receives a push message from the push server 220 through either the public network or the private network, the terminal 240 communicates with the push server 220 through the other of the public network or the private network. Can be.
  • This example may be applied to the case where there are a plurality of push servers 220.
  • the push server includes a first push server and a second push server
  • the terminal 240 if the terminal 240 communicated using either the public or private network address of the first push server, the terminal 240 May perform communication using the other of the public and private network addresses of the first push server. That is, communication can be continuously maintained for the first push server other than the second push server.
  • data when the push server 220 and the terminal 240 are connected through a private network, data may be transmitted and received without performing encryption during data communication. Otherwise, encryption (for example, TLS) may be performed. You can send and receive data by executing.
  • encryption for example, TLS
  • FIG. 6 is a block diagram according to an embodiment of a push message transmission method to which the disclosed technology can be applied
  • FIG. 7 is a flowchart of the push message transmission method according to FIG. 6.
  • the lookup server stores a private network address and a public network address of each of the at least one push server (step S610), and the lookup server stores the private and / or corresponding push servers in the terminal.
  • Providing a public network address step S620).
  • the lookup server 230 may store a private network address and a public network address of each of the at least one push server 220 (step S710).
  • the lookup server 230 may provide the terminal 240 with the public and private network addresses of the push server (step S720). .
  • the lookup server 230 may provide a public and / or private network address of the corresponding push server 220 according to a request of the application server 210 (step S730) (step S740).
  • the push server 220 may allocate a push service ID to the application of the terminal 240 (step S750).
  • the terminal 240 If there are multiple push servers 220 If the terminal 240 previously used the first push server, a change in the network (for example, a change from WiFi network to 3G network) occurs or the terminal is turned off Even when there is a change such as turning on again, it is more efficient to use the first push server. This is because the received push data from the application server is received through the first push server that was used previously. Accordingly, the terminal 240 has information in which a public network address and a private network address of the first push server are configured as a pair, and the addresses of the first push server and the second push server from the lookup server 230. Even if the received all, if you used the private network or public network address of the first push server can continue to use only the address of the first push server to ensure the efficiency of communication.
  • a change in the network for example, a change from WiFi network to 3G network
  • 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.
  • a push message transmission method and a push server, a terminal, and a push message transmission system may provide a large amount of push services without expanding NAT. This is because the push server is directly connected to the private network, and there is no need to pass through NAT when communicating with the terminal and the private network.
  • the terminal and the push server are directly connected to the private network, the risk of eavesdropping is very small, and thus encryption between the terminal and the push server can be omitted, thereby reducing the load on the push server and the terminal.
  • a push message transmission method and a push server, a terminal, and a push message transmission system for the same may reduce power consumption of the terminal. Because the terminal is directly connected to the push server and the private network, there is no need to send a message to maintain NAT and port binding.
  • a push message transmission method and a push server, a terminal, and a push message transmission system may provide a push service using both a private network and a public network. This is because the push server is directly connected to the private network.

Abstract

A push message transmitting system according to an embodiment of the disclosed technology may be connected to a terminal and an application server. The push message transmitting system includes: at least one push server for transmitting a push message, which is received from the application server, to the terminal via at least one of a private network or a public network; and a lookup server for storing a private network address and a public network address with respect to each of the at least one push server and providing the private and public network addresses of a corresponding push server to the terminal.

Description

푸시 메시지 전송 방법How to send push messages
개시된 기술은 푸시 메시지 전송 방법에 관한 것으로, 특히 푸시 서버를 사설망과 직접 연결하여 네트워크 연결을 유연하게 할 수 있는 푸시 메시지 전송 방법에 관한 것이다.The disclosed technology relates to a push message transmission method, and more particularly, to a push message transmission method capable of flexibly connecting a push server to a private network.
모바일 기술의 발전에 따라 단말기는 처리속도와 용량이 더욱 증대되고 있고, 다양한 통신망을 통하여 통신을 수행할 수 있게 되었다. 단말기의 발전에 따라 단말기를 대상으로 다양한 서비스들이 제공되고 있고, 푸시 서비스도 그러한 서비스의 하나로서 여러 서비스 모델로서 제공되고 있다. With the development of mobile technology, terminals have increased in processing speed and capacity and are able to perform communication through various communication networks. With the development of terminals, various services are provided for terminals, and push services are provided as various service models as one of such services.
기존의 푸시 서비스의 경우에는 푸시 서버가 단말기와 셀룰러 망으로 연결되면 셀룰러 망이 IP주소자원을 효율적으로 사용하기 위해서는 NAT(Network Address Translation)를 거쳐서 통신을 수행 한다. 이로 인하여, 푸시 서버와 단말기 간 통신경로 설정 유지 시간에 제한이 있으며, 통신 수행을 위하여 단말기는 NAT에게 일정 시간마다 포트 바인딩을 유지하기 위한 메시지(예를 들어, PING 메시지)를 송신해야 하는 문제점이 있고 또한 푸시 서비스를 위해 NAT를 증설해야 하는 문제점이 있다.In the case of the conventional push service, when the push server is connected to the cellular network, the cellular network communicates through NAT (Network Address Translation) in order to use IP address resources efficiently. As a result, there is a limitation in the communication path setting maintenance time between the push server and the terminal, and in order to perform communication, the terminal needs to send a message (eg, a PING message) to maintain port binding to the NAT every predetermined time. Also, there is a problem that NAT must be added for the push service.
실시예들 중에서, 푸시 서버는 어플리케이션 서버 및 적어도 하나의 단말기와 연결 가능하다. 상기 푸시 서버는 공용망을 통하여 통신을 수행하는 공용망 통신모듈, 사설망을 통하여 통신을 수행하는 사설망 통신모듈 및 사설망을 위한 사설 네트워크 주소와 공용망을 위한 공용 네트워크 주소를 유지하고, 상기 사설망 통신모듈 또는 상기 공용망 통신모듈 중 적어도 하나를 이용하여 상기 어플리케이션 서버로부터 전송된 푸시 메시지를 해당 단말기에 전송하는 제어부를 포함한다. 일 실시예에서, 상기 제어부는 상기 적어도 하나의 단말기에 대하여 푸시 서비스 ID를 할당하고 상기 어플리케이션 서버에 상기 할당된 푸시 서비스 ID를 제공할 수 있다. 일 실시예에서, 상기 푸시 서버는 상기 공용망 및/또는 사설망을 통해 룩업 서버와 연결될 수 있다. 일 실시예에서, 상기 푸시 서버는 상기 적도 하나의 단말기 각각에 대하여 푸시 서비스 ID, 해당 단말기의 사설 네트워크 주소 및 공용 네트워크 주소 및 해당 단말기의 통신모듈의 소켓 아이디 중 적어도 하나를 포함하는 단말기 정보 데이터베이스를 더 포함할 수 있다. 일 실시예에서, 상기 제어부는 상기 푸시 메시지에 포함된 서비스에 따라 결정된 상기 공용망 또는 사설망을 통하여 상기 해당 단말기와 통신을 수행할 수 있다.Among the embodiments, the push server is connectable with the application server and at least one terminal. The push server maintains a public network communication module for communicating through a public network, a private network communication module for communicating through a private network, a private network address for a private network and a public network address for a public network, and the private network communication module. Or a controller for transmitting a push message transmitted from the application server to a corresponding terminal using at least one of the public network communication modules. In an embodiment, the controller may allocate a push service ID to the at least one terminal and provide the allocated push service ID to the application server. In one embodiment, the push server may be connected to a lookup server through the public network and / or private network. In one embodiment, the push server comprises a terminal information database including at least one of a push service ID, a private network address and a public network address of the terminal, and a socket ID of the communication module of the terminal for each terminal of the equator; It may further include. In one embodiment, the controller may perform communication with the corresponding terminal via the public network or private network determined according to the service included in the push message.
실시예들 중에서, 단말기는 푸시 메시지를 송신하는 어플리케이션 서버, 룩업 서버 및 적어도 하나의 푸시 서버와 연결 가능하다. 상기 단말기는 공용망을 통하여 통신을 수행하는 공용망 통신 모듈, 사설망을 통하여 통신을 수행하는 사설망 통신 모듈 및 상기 푸시 서버의 네트워크 주소를 상기 룩업 서버에 요청하여 상기 푸시 서버의 공용 및 사설 네트워크 주소들을 결정하는 푸시 클라이언트 모듈을 포함한다. 일 실시예에서, 상기 단말기는 상기 푸시 서버의 공용 및 사설 네트워크 주소들을 저장하는 푸시 서버 데이터베이스를 더 포함할 수 있다. 일 실시예에서, 상기 푸시 클라이언트 모듈은 상기 푸시 서버 데이터베이스에 저장된 상기 사설 네트워크 주소로 통신을 수행하고, 만일 통신이 이루어지지 않으면 상기 룩업 서버에 해당 푸시 서버의 사설 네트워크 주소를 재요청할 수 있다. 일 실시예에서, 상기 푸시 클라이언트 모듈은 상기 사설 네트워크 주소를 이용하여 통신을 수행하고, 만일 통신이 이루어지지 않으면 상기 공용 네트워크 주소를 이용하여 통신을 수행할 수 있다. 일 실시예에서, 상기 푸시 클라이언트 모듈은 상기 푸시 서버와 상기 사설 네트워크 주소를 이용하여 연결된 제1 통신경로 및 상기 공용 네트워크 주소를 이용하여 연결된 제2 통신경로 모두를 유지할 수 있다. 일 실시예에서, 상기 단말기는 만일 상기 공용망을 통해서 상기 푸시 서버와 연결되면 암호화를 수행하여 데이터를 송수신하고, 그렇지 아니하면 암호화 수행 없이 데이터를 송수신할 수 있다. 일 실시예에서, 상기 푸시 서버는 제1 푸시 서버와 제2 푸시 서버를 포함하고, 상기 단말기가 제1 푸시 서버의 공용 및 사설 네트워크 주소 중 어느 하나를 사용하여 통신하였다면, 상기 단말기는 제1 푸시 서버의 공용 및 사설 네트워크 주소 중 나머지 하나를 사용하여 통신을 수행할 수 있다.일 실시예에서, 상기 푸시 서버는 제1 푸시 서버와 제2 푸시 서버를 포함하고, 상기 단말기가 제1 푸시 서버의 공용 네트워크 주소를 사용하여 통신하였다면, 상기 단말기는 제1 푸시 서버의 사설 네트워크 주소를 사용하여 통신을 수행할 수 있다.Among the embodiments, the terminal is connectable to an application server that transmits a push message, a lookup server, and at least one push server. The terminal requests the lookup server for a public network communication module for communicating through a public network, a private network communication module for communicating through a private network, and a network address of the push server, and displays public and private network addresses of the push server. It includes a push client module to determine. In one embodiment, the terminal may further comprise a push server database that stores public and private network addresses of the push server. In one embodiment, the push client module may perform communication with the private network address stored in the push server database, and if the communication is not made, may request the private network address of the push server from the lookup server. In one embodiment, the push client module may perform communication using the private network address, and if communication is not performed, perform communication using the public network address. In one embodiment, the push client module may maintain both the first communication path connected with the push server and the private network address and the second communication path connected with the public network address. In one embodiment, if the terminal is connected to the push server via the public network, the terminal may perform data transmission and reception by performing encryption, otherwise, the terminal may transmit and receive data without performing encryption. In one embodiment, the push server comprises a first push server and a second push server, and if the terminal communicated using either the public or private network address of the first push server, the terminal pushes the first push The communication may be performed using the other of the server's public and private network addresses. In one embodiment, the push server includes a first push server and a second push server, and wherein the terminal is connected to the first push server. If communicating using the public network address, the terminal may communicate using the private network address of the first push server.
실시예들 중에서, 푸시 메시지 전송 시스템은 단말기 및 어플리케이션 서버와 연결 가능하다. 상기 푸시 메시지 전송 시스템은 상기 어플리케이션 서버로부터 수신한 푸시 메시지를 사설망 또는 공용망 중 적어도 하나를 이용하여 상기 단말기에 전송하는 적어도 하나의 푸시 서버 및 상기 적어도 하나의 푸시 서버 각각에 대해 사설 네트워크 주소와 공용 네트워크 주소를 저장하고, 상기 단말기에 해당 푸시 서버의 사설 및 공용 네트워크 주소를 제공하는 룩업 서버를 포함한다. 일 실시예에서, 상기 푸시 서버는 상기 사설 네트워크 주소의 변경이 발생하면, 변경된 사설 네트워크 주소를 상기 룩업 서버에 제공할 수 있다. 일 실시예에서, 상기 공용망은 Wi-Fi 망이고, 상기 사설망은 셀룰러 통신망일 수 있다. 일 실시예에서, 상기 푸시 서버는 상기 푸시 메시지에 포함된 서비스를 기초로 상기 공용망 또는 사설망 중 어느 하나를 선택하여 상기 단말기와 통신할 수 있다. 일 실시예에서, 상기 푸시 서버는 만일 상기 공용망을 통해서 상기 단말기와 연결되면 암호화를 수행하여 데이터를 송수신하고, 그렇지 아니하면 암호화 수행 없이 데이터를 송수신할 수 있다. 일 실시예에서, 상기 푸시 서버는 상기 단말기에 대해 푸쉬 서비스 ID를 할당하고, 상기 푸쉬 서비스 ID를 상기 어플리케이션 서버에 제공할 수 있다.Among the embodiments, the push message transmission system is connectable with the terminal and the application server. The push message transmission system uses a private network address and a public address for each of the at least one push server and at least one push server for transmitting a push message received from the application server to the terminal using at least one of a private network and a public network. And a lookup server that stores a network address and provides the terminal with a private and public network address of the push server. In one embodiment, when the change of the private network address occurs, the push server may provide the changed private network address to the lookup server. In one embodiment, the public network may be a Wi-Fi network, and the private network may be a cellular communication network. In one embodiment, the push server may select any one of the public network or private network based on the service included in the push message to communicate with the terminal. In one embodiment, if the push server is connected to the terminal through the public network, the push server may perform data transmission and reception by performing encryption, otherwise, the push server may transmit and receive data without performing encryption. In an embodiment, the push server may allocate a push service ID to the terminal and provide the push service ID to the application server.
실시예들 중에서, 푸시 메시지 전송 방법은 어플리케이션 서버로부터 수신된 푸시 메시지를 단말기로 전송하는 푸시 메시지 전송 시스템에서 이루어진다. 상기 푸시 메시지 전송 시스템은 룩업 서버와 적어도 하나의 푸시 서버를 포함한다. 상기 푸시 메시지 전송 방법은 상기 룩업 서버가 상기 적어도 하나의 푸시 서버 각각의 사설 네트워크 주소와 공용 네트워크 주소를 저장하는 단계 및 상기 룩업 서버가 상기 단말기에 해당 푸시 서버의 상기 사설 네트워크 주소를 제공하는 단계를 포함한다. 일 실시예에서, 상기 푸시 메시지 전송 방법은 상기 룩업 서버는 요청에 따라 상기 어플리케이션 서버에 해당 푸시 서버의 공용 및/또는 사설 네트워크 주소를 제공하는 단계를 더 포함할 수 있다. 일 실시예에서, 상기 푸시 메시지 전송 방법은 상기 푸시 서버가 상기 단말기에 대하여 푸시 서비스 ID를 할당하고, 할당된 푸시 서비스 ID를 상기 어플리케이션 서버에 제공하는 단계를 더 포함할 수 있다. Among the embodiments, the push message transmission method is performed in a push message transmission system for transmitting a push message received from the application server to the terminal. The push message transmission system includes a lookup server and at least one push server. The method for transmitting push messages may include storing, by the lookup server, a private network address and a public network address of each of the at least one push server, and providing the terminal with the private network address of the corresponding push server. Include. In one embodiment, the push message transmission method may further include providing, by the lookup server, a public and / or private network address of the push server to the application server according to a request. In one embodiment, the push message transmission method may further include the push server assigning a push service ID to the terminal and providing the allocated push service ID to the application server.
실시예들 중에서, 서버는 공용망 또는 사설망을 통해 통신을 수행할 수 있는 단말기와 상기 공용망 또는 서설망을 통해 동적으로 연결될 수 있다. 상기 서버는 상기 공용망을 통하여 통신을 수행하는 공용망 통신모듈, 상기 사설망을 통하여 통신을 수행하는 사설망 통신모듈 및 상기 사설망을 위한 사설 네트워크 주소와 상기 공용망을 위한 공용 네트워크 주소를 유지하고, 상기 사설망 통신모듈 또는 상기 공용망 통신모듈 중 적어도 하나를 이용하여 상기 단말기와 통신을 수행하는 제어부를 포함한다. 일 실시예에서, 상기 서버는 푸시 메시지를 전송하는 푸시 서버일 수 있다.Among the embodiments, the server may be dynamically connected to the terminal capable of performing communication over a public or private network through the public or seo network. The server maintains a public network communication module for communicating through the public network, a private network communication module for communicating through the private network and a private network address for the private network and a public network address for the public network. And a controller configured to communicate with the terminal using at least one of a private network communication module and the public network communication module. In one embodiment, the server may be a push server for sending push messages.
실시예들 중에서, 단말기는 공용망 또는 사설망을 통해 통신을 수행할 수 있는 적어도 하나의 서버와 상기 공용망 또는 서설망을 통해 동적으로 연결될 수 있다. 상기 적어도 하나의 서버는 특정 서버의 공용 및 사설 네트워크 주소를 저장하는 룩업 서버를 포함한다. 상기 단말기는 공용망 또는 사설망을 통하여 통신을 수행하는 적어도 하나의 통신 모듈, 상기 룩업 서버에 상기 특정 서버의 공용 및/또는 사설 네트워크 주소들을 요청하고, 현재 추정 상황에 따라 상기 공용 및/또는 사설 네트워크 주소 중 적어도 하나를 이용하여 상기 특정 서버와 통신하는 클라이언트 모듈을 포함한다.Among the embodiments, the terminal may be dynamically connected to at least one server capable of communicating through a public network or a private network through the public network or a standing network. The at least one server includes a lookup server that stores public and private network addresses of a particular server. The terminal requests at least one communication module for performing communication over a public or private network, the lookup server for public and / or private network addresses of the specific server, and the public and / or private network according to a current estimation situation. And a client module for communicating with the particular server using at least one of the addresses.
도 1은 일반적인 푸시 메시지 전송 시스템의 구성도이다. 1 is a block diagram of a general push message transmission system.
도 2는 개시된 기술이 적용될 수 있는 푸시 메시지 시스템의 일 실시예에 따른 구성도이다.2 is a configuration diagram according to an embodiment of a push message system to which the disclosed technology may be applied.
도 3은 개시된 기술이 적용될 수 있는 푸시 메시지 시스템의 다른 일 실시예에 따른 구성도이다.3 is a configuration diagram according to another embodiment of a push message system to which the disclosed technology may be applied.
도 4는 도 2의 푸시 서버의 일 실시예에 따른 구성도이다.4 is a configuration diagram according to an embodiment of the push server of FIG. 2.
도 5는 도 2의 단말기의 일 실시예에 따른 구성도이다.FIG. 5 is a diagram illustrating an embodiment of a terminal of FIG. 2.
도 6은 개시된 기술이 적용될 수 있는 푸시 메시지 전송 방법의 일실시예에 따른 블록도이다.6 is a block diagram according to an embodiment of a push message transmission method to which the disclosed technology can be applied.
도 7은 도 6에 따른 푸시 메시지 전송 방법의 순서도이다.7 is a flowchart illustrating a push message transmission method according to FIG. 6.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.Description of the disclosed technology is only an embodiment for structural or functional description, the scope of the disclosed technology should not be construed as limited by the embodiments described in the text. That is, the embodiments may be variously modified and may have various forms, and thus the scope of the disclosed technology should be understood to include equivalents capable of realizing the technical idea.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.
"및/또는"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및/또는 제3 항목"의 의미는 제1, 제2 또는 제3 항목뿐만 아니라 제1, 제2 또는 제3 항목들 중 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.The term “and / or” should be understood to include all combinations that can be presented from one or more related items. For example, the meaning of "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.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 어떠한 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when a component is referred to as being "directly connected" to another component, it should be understood that there is no component in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "comprise" or "have" refer to features, numbers, steps, operations, components, parts, or parts thereof described. It is to be understood that the combination is intended to be present and does not exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c, 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, 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 is clearly in a specific order. Unless stated otherwise, it may occur out of the stated order. 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.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Generally, the terms defined in the dictionary used are to be interpreted to coincide with the meanings in the context of the related art, and should not be interpreted as having ideal or excessively formal meanings unless clearly defined in the present application.
도 1은 일반적인 푸시 메시지 전송 시스템의 구성도이다. 1 is a block diagram of a general push message transmission system.
도 1을 참조하면, 푸시 메시지 전송 시스템은 어플리케이션 서버(110)와 푸시 서버(120)가 공용망 (예를 들어, 인터넷망)에 연결되어 있고, 단말기(140)는 공용망(예를 들어, Wi-Fi 망)과 사설망(예를 들어, 셀룰러 망)에 무선으로 연결된다. NAT(Network Address Translator, 130)는 공용망과 사설망 사이에 위치하여 공용 IP 주소와 사설 IP 주소를 변환하여 제공할 수 있다.Referring to FIG. 1, in a push message transmission system, an application server 110 and a push server 120 are connected to a public network (for example, an internet network), and the terminal 140 is a public network (for example, Wi-Fi network) and private network (for example, cellular network) are connected wirelessly. NAT (Network Address Translator, 130) is located between the public network and private network can be provided by converting the public IP address and private IP address.
도 1에 따른 일반적인 푸시 메시지 전송 시스템의 푸시 서비스 제공 방법을 살핀다. 푸시 서버(120)는 어플리케이션 서버(110)로부터 수신한 푸시 메시지를 공용망 또는 사설망을 통하여 단말기(140)에 송신한다. 만일 단말기가 공용망에 접속 가능한 경우라면, 푸시 서버(120)는 공용망으로 푸시 메시지를 송신할 수도 있다. 접속 불가능한 경우라면, 푸시 서버(120)는 사설망을 통하여 푸시 메시지를 송신한다. 사설망을 통하여 푸시 메시지를 송신하기 위해서, 푸시 서버(120)는 공용망을 거쳐 NAT(130)를 통하여 사설망에 연결된다. A push service providing method of a general push message transmission system according to FIG. 1 will be described. The push server 120 transmits the push message received from the application server 110 to the terminal 140 through a public network or a private network. If the terminal is accessible to the public network, the push server 120 may transmit a push message to the public network. If not, the push server 120 transmits a push message through the private network. In order to send the push message over the private network, the push server 120 is connected to the private network via the NAT 130 over the public network.
NAT(130)는 푸시 서버(120)와 단말기(140) 간의 통신을 위한 공용망 IP주소와 사설망 IP주소와의 매칭을 유지한다. 푸시 서비스를 받는 단말기의 대수가 많아질수록, NAT(130)가 유지해야 하는 매칭의 수가 많아지고 높은 성능이 요구된다. 즉, 푸시 서비스의 원활한 제공을 위해서는 NAT(130)의 증설이 필요하다. The NAT 130 maintains matching between the public network IP address and the private network IP address for communication between the push server 120 and the terminal 140. As the number of terminals receiving the push service increases, the number of matching that the NAT 130 needs to maintain increases, and high performance is required. That is, the NAT 130 needs to be expanded to provide a smooth push service.
NAT(130)는 한정된 포트 바인딩 시간을 설정하여 사설 IP 주소와 공용 IP 주소를 매칭시켜 놓는다. 단말기(140)가 사설망을 통하여 푸시 서비스를 받는 경우, NAT(130)의 포트 바인딩 시간이 무한정이 아니므로, 일정 시간마다 NAT(130)에 포트 바인딩을 유지하기 위한 메시지를 전송해야만 한다. 이러한 메시지 전송은 단말기(140)의 전력 소비를 증가시킨다.The NAT 130 sets a limited port binding time to match the private IP address with the public IP address. When the terminal 140 receives the push service through the private network, since the port binding time of the NAT 130 is not infinite, it must transmit a message for maintaining the port binding to the NAT 130 every predetermined time. This message transmission increases the power consumption of the terminal 140.
도 2는 개시된 기술이 적용될 수 있는 푸시 메시지 시스템의 일 실시예에 따른 구성도이다. 도 2는 설명의 편의를 위하여 푸시 서버(220) 및 단말기(240)를 한 개로 도시하였으나, 푸시 서버(220) 및 단말기(240)는 각각 복수 개로 구성될 수 있다. 2 is a configuration diagram according to an embodiment of a push message system to which the disclosed technology may be applied. 2 illustrates the push server 220 and the terminal 240 as one for convenience of description, the push server 220 and the terminal 240 may be configured in plural.
도 2를 참조하면, 푸시 메시지 시스템은 룩업 서버(230)와 푸시 서버(220)를 포함하고, 어플리케이션 서버(210) 및 단말기(240)와 연결 가능하다. 여기에서, 룩업 서버(230) 및 어플리케이션 서버(210)도 공용망과 사설망 모두에 연결되도록 구성될 수도 있으나, 이하에서는 설명의 편의를 위하여 공용망에만 연결되어 있는 것으로 가정하여 설명한다. 그러나 이는 설명의 편의를 위한 것일 뿐, 이러한 가정에 의하여 본 출원의 권리범위를 한정하는 것은 아니다.푸시 서버(220)는 어플리케이션 서버(210)로부터 수신한 푸시 메시지를 공용망(예를 들어, Wi-Fi 망) 또는 사설망(예를 들어, 셀룰러 망) 중 적어도 하나를 이용하여 단말기(240)에 전송한다. 푸시 서버(220)는 공용망과 사설망에 직접 연결되어 있으며, 공용망을 위한 공용 네트워크 주소(예를 들어, 공용 IP 주소)와 사설망을 위한 사설 네트워크 주소(예를 들어, 사설 IP 주소)를 가지고 있다. Referring to FIG. 2, the push message system includes a lookup server 230 and a push server 220 and may be connected to an application server 210 and a terminal 240. Here, the lookup server 230 and the application server 210 may also be configured to be connected to both a public network and a private network. Hereinafter, for convenience of description, it is assumed that the connection is made only to the public network. However, this is only for convenience of description, and this assumption does not limit the scope of the present application. The push server 220 receives the push message received from the application server 210 from the public network (eg, Wi). -Fi network) or a private network (for example, a cellular network) using at least one of the transmission to the terminal 240. The push server 220 is directly connected to public and private networks, and has a public network address (for example, a public IP address) for the public network and a private network address (for example, a private IP address) for the private network. have.
일 실시예에서, 푸시 서버(220)는 푸시 서비스를 원활히 제공하기 위하여 통신 대상이 되는 단말기(240)에 푸시 서비스 ID를 할당할 수 있다. 단말기(240)의 어플리케이션은 자신에게 할당된 푸시 서비스 ID를 어플리케이션 서버(210)에 제공할 수 있다. 어플리케이션 서버(210)는 푸시 서비스 ID로 서비스 대상이 되는 단말기의 어플리케이션을 표시하여 푸시 서버(220)에 푸시 메시지의 전송을 요청할 수 있다.In an embodiment, the push server 220 may allocate a push service ID to the terminal 240 to which communication is performed in order to smoothly provide a push service. The application of the terminal 240 may provide a push service ID assigned to the application server 210 to the application server 210. The application server 210 may display the application of the terminal to be serviced by the push service ID and request the push server 220 to transmit the push message.
일 실시예에서, 푸시 서버(220)는 사설망 또는 공용망 모두를 통해 단말기와 연결을 맺어놓고 이중 어느 하나에 대하여 우선 순위를 설정할 수 있다. 예를 들어, 공용망에 우선 순위를 설정하면, 푸시 서버(220)는 먼저 공용망을 통하여 푸시 메시지를 단말기에 전송하고, 통신이 이루어지지 않으면 사설망을 통하여 단말기에 전송할 수 있다. In an embodiment, the push server 220 may establish a connection with the terminal through both a private network and a public network, and set a priority of any one of them. For example, if the priority is set in the public network, the push server 220 may first transmit a push message to the terminal through the public network, and if the communication is not made, may transmit the terminal to the terminal through the private network.
일 실시예에서, 푸시 서버(220)는 푸시 서비스에 따라 사설망 또는 공용망 중 하나를 선택하여 단말기(240)와 통신할 수 있다. 예를 들어, 푸시 서버(220)는 푸시 메시지에 의하여 제공되는 서비스의 QoS(Quality of Service)에 대한 정보를 알 수 있으며, 이러한 서비스의 QoS에 대한 정보를 기초로 대용량 데이터 전송이 필요한 경우는 Wi-Fi 망을 통하여 단말기(240)와 통신할 수 있고, 실시간 데이터 전송이 필요한 경우는 셀룰러 망을 통하여 단말기(240)와 통신할 수 있다. 일 실시예에서, 푸시 서버(220)는 사설망 또는 공용망중 어느 하나만을 통해 단말기와 통신을 연결할 수 있다. 예를 들어, 공용망으로 연결이 가능한 경우 항상 공용망을 사용하고, 그렇지 않은 경우만 사설망을 사용하도록 실시할수 있다.According to an embodiment, the push server 220 may select one of a private network or a public network to communicate with the terminal 240 according to a push service. For example, the push server 220 may know the information about the quality of service (QoS) of the service provided by the push message, and if a large data transmission is required based on the information about the QoS of the service, The terminal 240 may communicate with the terminal 240 through the Wi-Fi network, and may communicate with the terminal 240 through the cellular network when real-time data transmission is required. In one embodiment, the push server 220 may connect the communication with the terminal via only the private network or public network. For example, you can always use a public network if you can connect to a public network, and only use a private network if not.
일 실시예에서, 푸시 서버(220)는 여러 대의 서버로 구성될 수 있고,룩업 서버(230)는 여러 개의 푸시 서버 각각에 대한 주소를 포함할 수 있다. 예를 들어 룩업 서버(230)에 2대의 푸시 서버 (제1 푸시 서버, 제2 푸시 서버)의 주소가 저장되어 있다고 가정하면, 룩업 서버(230)는 제1 푸시 서버의 주소(제1 푸시 서버의 공용 네트워크 주소 및 제1 푸시 서버의 사설 네트워크 주소)와 제2 푸시 서버의 주소(제2 푸시 서버의 공용 네트워크 주소 및 제2 푸시 서버의 사설 네트워크 주소)를 가지고 있다. 룩업 서버(230)는 단말기(240)의 요청 시, 제1 푸시 서버의 주소 및/또는 제2 푸시 서버의 주소를 줄 수 있다.In one embodiment, push server 220 may consist of multiple servers, and lookup server 230 may include an address for each of the multiple push servers. For example, assuming that the addresses of two push servers (first push server and second push server) are stored in the lookup server 230, the lookup server 230 may store an address (first push server) of the first push server. It has a public network address and the private network address of the first push server and the address of the second push server (public network address of the second push server and private network address of the second push server). The lookup server 230 may give an address of the first push server and / or an address of the second push server at the request of the terminal 240.
다른 일 실시예에서, 단말기(240)는 제1 푸시 서버의 주소와 제2 푸시 서버의 주소 모두를 받을 수 있다. 만일 단말기(240)가 제1 푸시 서버의 공용 네트워크 주소를 사용하면, 단말기(240)는 제1 푸시 서버의 사설 네트워크 주소를 사용하고, 제2 푸시 서버의 사설 네트워크 주소를 사용하지 않을 수 있다. 왜냐하면, 단말기가 동일한 푸시 서버와 통신을 수행하는 것이 바람직할 수 있기 때문이다. In another embodiment, the terminal 240 may receive both the address of the first push server and the address of the second push server. If the terminal 240 uses the public network address of the first push server, the terminal 240 may use the private network address of the first push server and may not use the private network address of the second push server. This is because it may be desirable for the terminal to communicate with the same push server.
전술한 예와 같이, 여러 대의 푸시 서버를 사용하는 경우, 상기처럼 단말기가 동일한 푸시 서버의 공용 네트워크 주소와 사설 네트워크 주소를 사용하여야 동일한 푸시 서버와 연결이 되고 안정적인 푸시 서비스를 제공할 수 있다. As in the above example, when using multiple push servers, the terminal must use the public network address and private network address of the same push server as described above to be connected to the same push server and provide a stable push service.
상기의 예와 달리, 푸시 서버 팜(farm)을 잘 구현하고 단말의 id 체계 등을 잘 구성함으로서 안정적인 푸시 서비스를 제공할 수도 있다. 예를 들면, 푸시 서버 팜의 푸시 서버들의 네트워크 상의 앞단에 하나 또는 여러 개의 L7 스위치(L7 switch)를 설치하고, 이 L7 스위치의 주소를 푸시 서버의 주소로서 단말기에 제공하도록 실시할 수 있다. 이 경우, L7 스위치는 수신된 패킷을 해석하여 (예를 들면, 패킷에 푸시 서버를 식별하는 정보가 존재) 항상 동일한 푸시 서버로 패킷을 보내도록 실시할 수 있다.Unlike the above example, it is also possible to provide a stable push service by implementing a push server farm (farm) well and by configuring the identity system of the terminal well. For example, one or more L7 switches may be installed in front of a network of push servers in a push server farm, and the address of the L7 switch may be provided to the terminal as the address of the push server. In this case, the L7 switch may interpret the received packet (e.g., there is information identifying the push server in the packet) and may always send the packet to the same push server.
룩업 서버(230)는 푸시 서버(220)의 공용 네트워크 주소와 사설 네트워크 주소를 저장하고, 단말기의 요청에 따라 해당 푸시 서버(220)의 공용 및 사설 네트워크 주소를 제공한다. 푸시 서버(220)는 복수 개로 구성될 수 있으므로, 룩업 서버(230)는 복수의 푸시 서버 각각에 대하여 공용 및 사설 네트워크 주소를 포함하는 데이터베이스를 구축할 수 있다. The lookup server 230 stores the public network address and the private network address of the push server 220, and provides the public and private network addresses of the corresponding push server 220 according to a request of the terminal. Since the push server 220 may be configured in plurality, the lookup server 230 may establish a database including public and private network addresses for each of the plurality of push servers.
일 실시예에서, 룩업 서버(230)는 푸시 서버의 사설 네트워크 주소를 최신화하기 위하여, 기 저장되어 있는 사설 네트워크 주소를 이용하여 해당 푸시 서버(220)와 통신을 수행할 수 있다. 만약 통신이 연결되면 룩업 서버(230)는 그 사설 네트워크 주소는 유효한 것으로 판단하고, 통신이 연결되지 않으면 룩업 서버(230)는 해당 푸시 서버의 공용 네트워크 주소를 이용하여 변경된 사설 네트워크 주소를 요청할 수 있다.In one embodiment, the lookup server 230 may communicate with the push server 220 using a pre-stored private network address in order to update the private network address of the push server. If the communication is connected, the lookup server 230 determines that the private network address is valid, and if the communication is not connected, the lookup server 230 may request the changed private network address using the public network address of the corresponding push server. .
도 2에 도시된 일 실시예에 따르면, 푸시 서버(220) 자체가 사설 네트워크 주소를 가지고 있으므로, NAT(250)를 거치지 않고 사설망을 이용하여 통신할 수 있으며, 이에 따라, 단말기(240)는 주기적으로 포트 바인딩을 유지하기 위한 메시지를 자주 송신하지 않아도 되어 전력 소모를 줄일 수 있는 장점과 NAT(250)을 많이 설치 하지 않아도 되는 장점이 있다.According to one embodiment illustrated in FIG. 2, since the push server 220 itself has a private network address, the push server 220 may communicate using a private network without passing through the NAT 250, and thus, the terminal 240 periodically. As a result, it is not necessary to frequently transmit a message for maintaining port binding, and there is an advantage of reducing power consumption and an advantage of not installing a lot of NAT 250.
도 3은 개시된 기술이 적용될 수 있는 푸시 메시지 시스템의 다른 일 실시예에 따른 구성도이다. 도 3은 설명의 편의를 위하여 푸시 서버(220) 및 단말기(240)를 한 개로 도시하였으나, 푸시 서버(220) 및 단말기(240)는 각각 복수 개로 구성될 수 있다.3 is a configuration diagram according to another embodiment of a push message system to which the disclosed technology may be applied. 3 illustrates the push server 220 and the terminal 240 as one for convenience of description, the push server 220 and the terminal 240 may be configured in plural.
도 3을 참조하면, 푸시 서버(220)는 사설망 내에 위치한다. 즉, 푸시 서버(220)는 사설망과는 직접 연결되어 있으나, 공용망은 NAT(250)를 통하여 연결될 수 있다. 여기에서, NAT(250)에서는 푸시 서버(220)의 공용 IP 주소와 사설 IP 주소에 대한 정적인 맵핑(static mapping)을 가지고 있고, 이 두 주소간의 변환을 해 준다. 따라서, 푸시 서버(220)의 공용망 주소를 가지고 접속을 시도하면 해당 패킷은 일단 NAT(250)에 도달하게 되고, NAT(250)는 해당 패킷의 공용 IP 주소를 사설 IP 주소로 변경함으로써 해당 푸시 서버(220)에 패킷이 전송되게 된다.도 3의 기타 내용들은 도 2의 실시예와 상응한다.Referring to FIG. 3, the push server 220 is located in a private network. That is, the push server 220 is directly connected to the private network, but the public network may be connected through the NAT 250. Here, the NAT 250 has a static mapping between the public IP address and the private IP address of the push server 220, and converts the two addresses. Therefore, when a connection attempt is made with the public network address of the push server 220, the packet reaches the NAT 250, and the NAT 250 changes the public IP address of the packet to a private IP address to push the packet. The packet is transmitted to the server 220. Other contents of FIG. 3 correspond to the embodiment of FIG.
개시된 발명의 다른 일 실시예에서, 서버는 공용망 또는 사설망을 통해 통신을 수행할 수 있는 단말기와 공용망 또는 사설망을 통해 동적으로 연결될 수 있다. 서버는 공용망 통신모듈, 사설망 통신 모듈 및 제어부를 포함한다. 공용만 통신 모듈은 공용망을 통하여 통신을 수행한다. 사설망 통신 모듈은 사설망을 통하여 통신을 수행한다. 제어부는 사설망을 위한 사설 네트워크 주소와 공용망을 위한 공용 네트워크 주소를 유지하고, 단말기의 현재 추정 상황에 따라 사설망 통신모듈 또는 공용망 통신모듈 중 적어도 하나를 이용하여 단말기와 통신을 수행하도록 제어한다. 여기서, 여기에서 추정 상황은 단말기가 접속 가능한 통신망(예를 들어, 공용망 및/또는 사설망), 망의 부하상황, 단말기가 현재 푸시서버와 연결을 맺고 있는 망이 어느 것인지, 서비스에 필요한 대역폭 등 단말기(240)가 서비스를 받을 수 있는 환경에 대한 객관적인 지표들을 포함할 수 있다.In another embodiment of the disclosed invention, the server may be dynamically connected through a public network or a private network with a terminal capable of communicating over a public or private network. The server includes a public network communication module, a private network communication module, and a control unit. The public only communication module performs communication through the public network. The private network communication module performs communication through a private network. The control unit maintains a private network address for the private network and a public network address for the public network, and controls to communicate with the terminal using at least one of the private network communication module or the public network communication module according to the current estimation situation of the terminal. Here, the estimation situation may be a communication network (eg, a public network and / or a private network) to which the terminal can be connected, a load situation of the network, which network the terminal is currently connected to the push server, bandwidth required for services, and the like. The terminal 240 may include objective indices of an environment in which the terminal 240 may receive a service.
일 실시예에서, 서버는 어플리케이션 서버로부터 수신된 푸시 메시지를 단말기에 전송하는 푸시 서버일 수 있다.In one embodiment, the server may be a push server that sends a push message received from the application server to the terminal.
도 4는 도 2의 푸시 서버의 일 실시예에 따른 구성도이다.4 is a configuration diagram according to an embodiment of the push server of FIG. 2.
도 4를 참조하면, 푸시 서버(220)는 공용망 통신모듈(410),사설망 통신모듈(420) 및 제어부(430)를 포함하고, 실시예에 따라 단말기 정보 데이터베이스(440)를 더 포함할 수 있다.Referring to FIG. 4, the push server 220 may include a common network communication module 410, a private network communication module 420, and a controller 430, and further include a terminal information database 440 according to an embodiment. have.
공용망 통신 모듈(410)은 공용망을 통하여 통신을 수행할 수 있고, 사설망 통신 모듈(420)은 사설망을 통하여 통신을 수행할 수 있다. 공용망에 위치한 일반적인 푸시 서버(220)와 다르게, 개시된 푸시 서버(220)는 사설망과 직접 연결되어 있으므로 사설망 통신모듈(420)을 구비한다.The public network communication module 410 may perform communication through the public network, and the private network communication module 420 may perform communication through the private network. Unlike the general push server 220 located in the public network, the disclosed push server 220 has a private network communication module 420 because it is directly connected to the private network.
제어부(430)는 사설 및/또는 공용 네트워크 연결을 유지하고, 사설망 또는 공용망 중 적어도 하나를 통하여 푸시 메시지를 해당 단말기(240)에 전송한다. 푸시 메시지는 전술한 바와 같이 어플리케이션 서버(210)로부터 전송된 것이고, 제어부(430)는 이를 수신하고 대상이 되는 단말기를 식별하여 해당 단말기에 푸시 메시지를 전송할 수 있다.The control unit 430 maintains a private and / or public network connection, and transmits a push message to the corresponding terminal 240 through at least one of a private network and a public network. As described above, the push message is transmitted from the application server 210, and the control unit 430 may receive the terminal and identify the target terminal and transmit the push message to the corresponding terminal.
일 실시예에서, 제어부(430)는 각 단말기를 식별하기 위한 푸시 서비스 ID를 할당할 수 있다. 예를 들어, 단말기들에 대하여 각각 고유한 푸시 서비스 ID를 할당하고, 할당된 푸시 서비스 ID를 어플리케이션 서버(210)에 제공할 수 있다. 어플리케이션 서버(210)는 제공된 푸시 서비스 ID를 이용하여, 서비스의 대상을 지정하여 푸시 메시지를 전송할 수 있다.In an embodiment, the controller 430 may allocate a push service ID for identifying each terminal. For example, a unique push service ID may be allocated to terminals, and the allocated push service ID may be provided to the application server 210. The application server 210 may transmit a push message by designating a target of the service by using the provided push service ID.
일 실시예에서, 푸시 서버(220)는 공용망을 통하여 룩업 서버(230)와 연결될 수 있고, 제어부(430)는 룩업 통지부(431)를 포함할 수 있다. 룩업 통지부(431)는 룩업 서버(230)에 대하여, 적어도 사설 네트워크 주소(예를 들어, 공용 및 사설 네트워크 주소 모두)를 제공할 수 있다. 룩업 통지부(431)는 사설 네트워크 주소의 변동이 생길 때 마다, 룩업 서버(230)에 변동된 사설 네트워크 주소를 제공할 수 있다. 어플리케이션 서버(210)로부터 사설 네트워크 주소에 대한 요청이 수신되면, 룩업 통지부 (431)는 사설 네트워크 주소 또는 공용 네트워크 주소를 어플리케이션 서버(210)에 제공할 수 있다.In an embodiment, the push server 220 may be connected to the lookup server 230 through the public network, and the controller 430 may include a lookup notification unit 431. The lookup notification unit 431 may provide the lookup server 230 with at least a private network address (eg, both public and private network addresses). The lookup notification unit 431 may provide the changed private network address to the lookup server 230 whenever the private network address changes. When the request for the private network address is received from the application server 210, the lookup notification unit 431 may provide the private network address or the public network address to the application server 210.
일 실시예에서, 제어부(430)는 메시지 전송부(432)를 포함할 수 있다. 메시지 전송부(432)는 단말기 정보 데이터베이스(440)와 연동하여 푸시 서비스의 대상이 되는 단말기에게 푸시 메시지를 제공할 수 있다.In one embodiment, the controller 430 may include a message transmitter 432. The message transmitter 432 may provide a push message to a terminal that is a target of a push service in cooperation with the terminal information database 440.
일 실시예에서, 푸시 서버(220)와 단말기(240) 사이에 사설망 또는 공용망 중 어느 하나의 연결만이 유지되는 경우도 있을 수 있고, 이러한 경우, 제어부(430)는 이미 연결이 유지되어 있는 통신망을 이용하여 푸시 메시지를 단말기(240)에 제공할 수 있다.In one embodiment, there may be a case in which only a connection between a private network or a public network is maintained between the push server 220 and the terminal 240, and in this case, the controller 430 may have already maintained the connection. The push message may be provided to the terminal 240 using a communication network.
일 실시예에서, 제어부(430)는 푸시 메시지에 의하여 제공되는 서비스에 따라 사설망 또는 공용망을 선택하여 해당 단말기와 통신할 수 있다. 제어부(430)는 서비스 제공에 요구되는 통신망 정보를 기초로 사설망 또는 공용망을 선택할 수 있고, 서비스를 위한 통신망 정보를 얻기 위하여, 제어부(430)는 해당 정보를 어플리케이션 서버(210)에 요청할 수 있다. 또는 통신망 정보는 최초의 푸시 메시지에 포함될 수 있다. 예를 들어, 푸시 서비스가 라이브 채팅 서비스인 경우, 푸시 서버(220)는 서비스를 제공하기 위해서 대역폭 보다는 실시간 통신이 가능한 통신망, 즉 사설망(셀룰러 망)을 선택하여, 단말기와 통신할 수 있다.According to an embodiment, the controller 430 may select a private network or a public network according to a service provided by a push message and communicate with the corresponding terminal. The control unit 430 may select a private network or a public network based on communication network information required for providing a service, and in order to obtain communication network information for a service, the control unit 430 may request the corresponding information from the application server 210. . Alternatively, the network information may be included in the original push message. For example, when the push service is a live chat service, the push server 220 may select a communication network capable of real-time communication, that is, a private network (cellular network), to communicate with the terminal in order to provide a service.
일 실시예에서, 푸시 서버(220)는 단말기 정보 데이터베이스(440)를 포함할 수 있다. 단말기 정보 데이터베이스(440)는 단말기들 각각에 대하여 푸시 서비스 ID, 해당 단말기의 사설 및/또는 공용 네트워크 주소 또는 해당단말기를 향해 데이터를 보낼 수 있는 사설망 통신모듈 및/또는 공용망 통신모듈의 소켓 아이디 중 적어도 하나를 포함할 수 있다. 푸시 서버(220)는 단말기 정보 데이터베이스(440)를 이용하여, 대상이 되는 단말기의 주소 또는 소켓아이디를 획득하여 통신을 할 수 있다.In one embodiment, push server 220 may include a terminal information database 440. The terminal information database 440 may include a push service ID, a private and / or public network address of a corresponding terminal, or a socket ID of a private network communication module and / or a public network communication module capable of sending data toward the corresponding terminal. It may include at least one. The push server 220 may use the terminal information database 440 to communicate by obtaining an address or socket ID of a target terminal.
일 실시예에서, 푸시 서버(220)는 단말기(240)와 사설망을 통해서 연결되는 경우에는 암호화 수행없이 데이터를 주고받을 수 있고, 그 이외의 경우, 즉 공용망을 이용하여 연결되는 경우에는 암호화(예를 들면, TLS)를 수행하여 데이터를 주고받을 수 있다.In an embodiment, the push server 220 may exchange data without performing encryption when the terminal 240 is connected to the terminal 240 through a private network, and in other cases, that is, when the connection is performed using a public network, encryption ( For example, TLS) may be used to exchange data.
도 5는 도 2의 단말기의 일 실시예에 따른 구성도이다. FIG. 5 is a diagram illustrating an embodiment of a terminal of FIG. 2.
본 설명에서는 단말에 WiFi와 셀룰러 모뎀이 있는 것을 가정하여 설명한다. 물론 다른 형태의 통신모듈이 있는 경우나, 2개 이상의 통신도 쉽게 확장 적용이 가능하다. 이하에서는, WiFi 모뎀을 이용하여 공용망 쪽으로 푸시 서버와 통신을 하는 경우를 공용망 통신 모듈을 통한 연결로 표현하고, 셀룰러 모뎀을 이용하여 셀룰러망을 통하여 푸시 서버와 통신을 하는 경우를 사설망 통신 모듈을 통한 연결이라 표현하였다. 여기에서, 공용망 통신모듈이라 하더라도, 꼭 단말기가 공용 IP주소를 가지고 있는 것은 아니다. 예를 들어 WiFi망의 NAT가 할당해 주는 사설 IP주소를 가지고 있을 수도 있다. 마찬가지로, 사설망 통신 모듈이라고 해서 항상 사설 IP주소를 가지는 것은 아니다. 실제로는 로밍(roaming)등의 경우에는 공용 IP주소가 단말의 셀룰러 모뎀 (즉, 사설망 통신 모듈)에 할당될 수도 있다. 이하에서는, 설명의 편의를 위해서 WiFi망을 통한 접속을 위한 모듈을 단말의 공용망 통신 모듈이라 부르고, 셀룰러망을 통한 접속을 위한 모듈을 단말의 사설망 통신 모듈이라 칭하여 설명한다.In this description, it is assumed that the terminal has WiFi and a cellular modem. Of course, if there are other types of communication module, two or more communication can be easily extended. Hereinafter, a case of communicating with a push server toward a public network using a WiFi modem will be described as a connection through a public network communication module, and a case of communicating with a push server through a cellular network using a cellular modem. It is expressed as a connection through. Here, even in the case of a public network communication module, the terminal does not necessarily have a public IP address. For example, it may have a private IP address assigned by a NAT on the WiFi network. Similarly, a private network communication module does not always have a private IP address. In practice, in the case of roaming or the like, a public IP address may be assigned to the cellular modem (ie, a private network communication module) of the terminal. Hereinafter, for convenience of description, a module for accessing through a WiFi network will be referred to as a common network communication module of a terminal, and a module for accessing via a cellular network will be described as a private network communication module of a terminal.
일 실시예에서, 단말기(240)는 공용망 또는 사설망을 통해 통신을 수행할 수 있는 적어도 하나의 서버와 공용망 또는 서설망을 통해 동적으로 연결될 수 있다. 적어도 하나의 서버는 특정 서버의 공용 및 사설 네트워크 주소를 저장하는 룩업 서버를 포함할 수 있다. 단말기(240)는 공용망 또는 사설망을 통하여 통신을 수행하는 적어도 하나의 통신 모듈 및 룩업 서버에 특정 서버의 공용 및/또는 사설 네트워크 주소들을 요청하고, 현재 추정 상황에 따라 상기 공용 및/또는 사설 네트워크 주소 중 적어도 하나를 이용하여 특정 서버와 통신하는 클라이언트 모듈을 포함한다. 여기에서 추정 상황은 단말기(240)가 접속 가능한 통신망(예를 들어, 공용망 및/또는 사설망), 망의 부하상황, 서비스에 필요한 대역폭 등 단말기(240)가 서비스를 받을 수 있는 환경에 대한 객관적인 지표들을 포함할 수 있다.In an embodiment, the terminal 240 may be dynamically connected to at least one server capable of communicating through a public or private network through a public or seo network. At least one server may include a lookup server that stores public and private network addresses of a particular server. The terminal 240 requests public and / or private network addresses of a specific server from at least one communication module and a lookup server that communicates through a public network or a private network, and according to a current estimation situation, the public and / or private network. It includes a client module for communicating with a particular server using at least one of the addresses. In this case, the estimation situation is an objective for an environment in which the terminal 240 can receive services, such as a communication network to which the terminal 240 can be connected (for example, a public network and / or a private network), a load situation of the network, and bandwidth required for service. May include indicators.
다른 일 실시예에서, 도 5를 참조하면, 단말기(240)는 공용망 통신모듈(510), 사설망 통신모듈(520), 푸시 클라이언트 모듈(530) 및 어플리케이션 클라이언트 모듈(550)을 포함한다. 일 실시예에서, 단말기(240)는 푸시 서버(220)의 공용 및 사설 네트워크 주소를 저장하는 푸시 서버 데이터베이스를 더 포함할 수 있다. 공용망 통신모듈(510)은 공용망을 통하여 통신을 수행하고, 사설망 통신모듈(520)은 사설망을 통하여 통신을 수행한다.In another embodiment, referring to FIG. 5, the terminal 240 includes a public network communication module 510, a private network communication module 520, a push client module 530, and an application client module 550. In one embodiment, terminal 240 may further include a push server database that stores public and private network addresses of push server 220. The public network communication module 510 communicates through the public network, and the private network communication module 520 communicates through the private network.
푸시 클라이언트 모듈(530)은 공용망 통신모듈(510) 및/또는 사설망 통신모듈(520)을 이용하여 통신을 수행하고, 푸시 서버(220)가 전송한 어플리케이션 서버(210)의 푸시 메시지를 수신하여 어플리케이션 클라이언트 모듈(550)에 제공한다. The push client module 530 communicates using the public network communication module 510 and / or the private network communication module 520, and receives a push message from the application server 210 transmitted by the push server 220. To the application client module 550.
여기에서, 푸시 클라이언트 모듈(530)은 룩업 서버(230)의 공용 네트워크 주소를 이미 알고 있다. 예를 들어, 푸시 클라이언트 모듈(530) 생성 시 이미 룩업 서버(230)의 공용 네트워크 주소를 가지고 있을 수 있고, 또는 룩업 서버(230)의 도메인 네임을 기초로 DNS(Domain Name Service) 질의를 하여 주소를 획득할 수도 있다. 푸시 클라이언트 모듈(530)은 룩업 서버(230)에 요청하여 푸시 서버(220)의 공용 및 사설 네트워크 주소를 알아내어 통신할 수 있다.Here, the push client module 530 already knows the public network address of the lookup server 230. For example, when the push client module 530 is generated, it may already have a public network address of the lookup server 230, or may be a DNS (Domain Name Service) query based on the domain name of the lookup server 230. May be obtained. The push client module 530 may request the lookup server 230 to find and communicate with the public and private network addresses of the push server 220.
일 실시예에서, 푸시 서버(220)와 통신하기 위하여, 푸시 클라이언트 모듈(530)은 푸시 서버 데이터베이스(540)에 저장된 푸시 서버의 사설 네트워크 주소로 사설망 통신 모듈(520)을 통하여 통신을 수행하고, 만일 통신이 이루어지지 않으면 룩업 서버(230)에 해당 푸시 서버(220)의 사설 네트워크 주소를 재요청하여, 수신된 푸시 서버(220)의 사설 네트워크 주소를 이용하여 통신을 수행할 수 있다. 이는 푸시 서버(220)의 사설 네트워크 주소가 변경된 경우 등과 같은 상황에서 더욱 유효하다.In one embodiment, to communicate with push server 220, push client module 530 communicates through private network communication module 520 with the private network address of the push server stored in push server database 540, If communication is not established, the lookup server 230 may request the private network address of the push server 220 again, and perform communication using the received private network address of the push server 220. This is more effective in situations such as when the private network address of push server 220 is changed.
일 실시예에서, 푸시 클라이언트 모듈(530)은 푸시 서버(220)의 사설 네트워크 주소를 이용하여 사설망 통신 모듈 (520)을 통하여 통신을 수행하고, 만일 통신이 이루어지지 않으면 푸시 서버(220)의 공용 네트워크 주소를 이용하여 통신을 수행할 수 있다. 예를 들어, 푸시 클라이언트 모듈(530)은 사설망 통신모듈(520)을 이용하여 셀룰러 통신망으로 푸시 서버(220)의 사설 네트워크 주소로 통신을 수행해보고 (이때, 푸시 클라이언트 모듈은 사설망 통신모듈의 사설 IP주소와 푸시 서버의 사설 IP주소를 비교하여 같은 사설 IP망 안에 있는지 아닌지를 먼저 확인하고 같은 사설 IP주소일 확률이 있는 경우만 이 과정을 수행할 수 있음), 연결되지 않으면 공용망 통신모듈(510)을 이용하여 Wi-Fi 망으로 푸시 서버(220)의 공용 네크워크 주소로 통신을 수행할 수 있다. 여기에서, 사설망으로 먼저 통신이 이루어지면, 단말기(240)는 현재 사설망 네트워크 안에 있는 것을 확인할 수 있으므로, 이후 통신에 있어서도 사설망을 사용하여 통신을 계속 수행할 수 있다. In one embodiment, the push client module 530 communicates through the private network communication module 520 using the private network address of the push server 220, and if communication is not made, the public of the push server 220 is shared. Communication can be performed using a network address. For example, the push client module 530 performs a communication to the cellular network using the private network address of the push server 220 using the private network communication module 520 (in this case, the push client module is a private IP of the private network communication module). Compare the address with the private IP address of the push server to see if it is in the same private IP network first, and only if there is a possibility that it is the same private IP address), if not connected, the public network communication module (510 ) To communicate with the public network address of the push server 220 to the Wi-Fi network. In this case, when communication is first performed in the private network, the terminal 240 may confirm that the terminal is currently in the private network, and thus, the communication may continue using the private network in subsequent communication.
다른 일 실시예에서, 단말기(240)는 사설망 통신모듈만을 포함할 수 있다. 푸시 클라이언트 모듈(530)은 푸시 서버(220)의 사설 네트워크 주소를 사용하여 사설망 통신 모듈(520)을 통하여 통신을 수행하고, 만일 통신이 이루어지지 않으면(예를 들면, Roaming하는 경우 등) 푸시 서버(220)의 공용 네트워크 주소를 사용하여 사설망 통신 모듈 (520)을 통하여 통신을 수행할 수 있다.In another embodiment, the terminal 240 may include only a private network communication module. The push client module 530 communicates through the private network communication module 520 using the private network address of the push server 220, and if the communication is not made (for example, roaming, etc.) Communication may be performed through the private network communication module 520 using the public network address of 220.
또 다른 일 실시예에서, 푸시 클라이언트 모듈(530)은 푸시 서버(220)의 사설 네트워크 주소를 사용하여 단말의 사설망 통신 모듈(520)을 통하여 통신을 수행하고, 만일 통신이 이루어지지 않으면(예를 들면, Roaming하는 경우 등) 푸시 서버(220)의 공용 네트워크 주소를 사용하여 사설망 통신 모듈 (520)을 통하여 통신을 수행할 수 있다. 이것도 실패할 경우 푸시 서버(220)의 사설 네트워크 주소를 사용하여 공용망 통신 모듈(520)을 통하여 통신을 수행하고(PDG 등의 장비가 존재하고 단말기가 PDG를 통해 WiFi연결을 하고 있으면 통신이 연결될 수 있음), 만일 통신이 이루어지지 않으면 푸시 서버(220)의 공용 네트워크 주소를 사용하여 공용망 통신 모듈 (520)을 통하여 통신을 수행할 수 있다In another embodiment, the push client module 530 communicates through the private network communication module 520 of the terminal using the private network address of the push server 220, and if the communication is not made (for example For example, in case of roaming, communication may be performed through the private network communication module 520 using the public network address of the push server 220. If this also fails, communication is performed through the public network communication module 520 using the private network address of the push server 220 (if there is a device such as PDG and the terminal is connected to the WiFi through PDG, communication may be connected. If communication is not performed, communication may be performed through the public network communication module 520 using the public network address of the push server 220.
일 실시예에서, 푸시 클라이언트 모듈(530)은 푸시 서버(220)와 사설망 및 공용망 모두에 대하여 통신을 유지할 수 있다. 예들 들어, 클라이언트 모듈(530)은 푸시 서버(220)의 사설 네트워크 주소를 이용하여 셀룰러 통신을 연결하고, 공용 네트워크 주소를 이용하여 Wi-Fi 통신을 연결할 수 있다. In one embodiment, push client module 530 may maintain communication with both push server 220 and private and public networks. For example, the client module 530 may connect cellular communication using the private network address of the push server 220 and Wi-Fi communication using the public network address.
일 실시예에서, 단말기(240)는 푸시 서버(220)로부터 공용망 또는 사설망 중 어느 하나를 통하여 푸시 메시지를 수신하면, 공용망 또는 사설망 중 나머지 하나를 통하여 푸시 서버(220)와 통신을 수행할 수 있다. 이러한 예는 푸시 서버(220)가 복수 개인 경우도 마찬가지로 적용될 수 있다. 예를 들어, 푸시 서버는 제1 푸시 서버와 제2 푸시 서버를 포함한다고 가정하면, 단말기(240)가 제1 푸시 서버의 공용 및 사설 네트워크 주소 중 어느 하나를 사용하여 통신하였다면, 단말기(240)는 제1 푸시 서버의 공용 및 사설 네트워크 주소 중 나머지 하나를 사용하여 통신을 수행할 수 있다. 즉, 제2 푸시 서버가 아닌 제1 푸시 서버에 대하여 통신을 계속하여 유지할 수 있다.In one embodiment, when the terminal 240 receives a push message from the push server 220 through either the public network or the private network, the terminal 240 communicates with the push server 220 through the other of the public network or the private network. Can be. This example may be applied to the case where there are a plurality of push servers 220. For example, assuming that the push server includes a first push server and a second push server, if the terminal 240 communicated using either the public or private network address of the first push server, the terminal 240 May perform communication using the other of the public and private network addresses of the first push server. That is, communication can be continuously maintained for the first push server other than the second push server.
일 실시예에서, 푸시 서버(220)와 단말기(240)가 사설망을 통해서 연결되는 경우에는 데이터 통신 시에 암호화 수행없이 데이터를 주고받을 수 있고, 그 이외의 경우는 암호화(예를 들면, TLS)를 수행하여 데이터를 주고받을 수 있다. In an embodiment, when the push server 220 and the terminal 240 are connected through a private network, data may be transmitted and received without performing encryption during data communication. Otherwise, encryption (for example, TLS) may be performed. You can send and receive data by executing.
도 6은 개시된 기술이 적용될 수 있는 푸시 메시지 전송 방법의 일실시예에 따른 블록도이고, 도 7은 도 6에 따른 푸시 메시지 전송 방법의 순서도이다.6 is a block diagram according to an embodiment of a push message transmission method to which the disclosed technology can be applied, and FIG. 7 is a flowchart of the push message transmission method according to FIG. 6.
도 6을 참조하면, 푸시 메시지 전송 방법은 룩업 서버가 적어도 하나의 푸시 서버 각각의 사설 네트워크 주소와 공용 네트워크 주소를 저장하는 단계(단계 S610), 룩업 서버가 단말기에 해당 푸시 서버의 사설 및/또는 공용 네트워크 주소를 제공하는 단계(단계 S620) 을 포함한다.Referring to FIG. 6, in the push message transmission method, the lookup server stores a private network address and a public network address of each of the at least one push server (step S610), and the lookup server stores the private and / or corresponding push servers in the terminal. Providing a public network address (step S620).
도 7을 참조하여 도 6의 각 단계를 상세히 설명한다. 룩업 서버(230)는 적어도 하나의 푸시 서버(220) 각각의 사설 네트워크 주소와 공용 네트워크 주소를 저장할 수 있다(단계 S710). Referring to Figure 7, each step of Figure 6 will be described in detail. The lookup server 230 may store a private network address and a public network address of each of the at least one push server 220 (step S710).
단말기(240)가 푸시 서비스의 대상이 되는 푸시 서버에 대한 네트워크 주소를 요청하면, 룩업 서버(230)는 단말기(240)에 해당 푸시 서버의 공용 및 사설 네트워크 주소를 제공할 수 있다(단계 S720). When the terminal 240 requests the network address of the push server that is the target of the push service, the lookup server 230 may provide the terminal 240 with the public and private network addresses of the push server (step S720). .
룩업 서버(230)는 어플리케이션 서버(210)의 요청에 따라(단계 S730) 해당 푸시 서버(220)의 공용 및/또는 사설 네트워크 주소를 제공할 수 있다(단계 S740) The lookup server 230 may provide a public and / or private network address of the corresponding push server 220 according to a request of the application server 210 (step S730) (step S740).
푸시 서버(220)는 단말기(240)의 어플리케이션에 대하여 푸시 서비스 ID를 할당할 수 있다 (단계 S750).The push server 220 may allocate a push service ID to the application of the terminal 240 (step S750).
푸시 서버(220)가 여러 대 있을경우 단말기(240)는 이전에 제1 푸시 서버를 이용하였다면, 망의 변경(예를 들면, WiFi망에서 3G망으로의 변경 등) 이 발생하거나 단말기가 꺼졌다가 다시 켜지는 등의 변동이 있을 때에도, 제1 푸시 서버를 사용하는 것이 더 효율적이다. 이는 어플리케이션 서버()로부터의 수신 받은 푸시 데이터가 전에 사용되었던 제1 푸시 서버를 통하여 수신되었기 때문이다. 따라서, 단말기(240)는 제1 푸시 서버의 공용망 주소와 사설망 주소가 하나의 페어(pair)로 구성되는 정보를 가지고 있으며, 룩업 서버(230)로부터 제1 푸시 서버와 제2 푸시 서버의 주소를 모두 받았다 하더라도, 제1 푸시 서버의 사설망 또는 공용망 주소를 사용했다면 계속해서 제1 푸시 서버의 주소만을 사용함으로써 통신의 효율성을 확보할 수 있다.If there are multiple push servers 220 If the terminal 240 previously used the first push server, a change in the network (for example, a change from WiFi network to 3G network) occurs or the terminal is turned off Even when there is a change such as turning on again, it is more efficient to use the first push server. This is because the received push data from the application server is received through the first push server that was used previously. Accordingly, the terminal 240 has information in which a public network address and a private network address of the first push server are configured as a pair, and the addresses of the first push server and the second push server from the lookup server 230. Even if the received all, if you used the private network or public network address of the first push server can continue to use only the address of the first push server to ensure the efficiency of communication.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다. 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.
일 실시예에 따른 푸시 메시지 전송 방법과 그를 위한 푸시 서버, 단말기 및 푸시 메시지 전송 시스템은 NAT의 증설 없이도 대량의 푸시 서비스를 제공할 수 있다. 푸시 서버가 사설망과 직접 연결되어 있어, 단말기와 사설망을 이용한 통신 시 NAT를 경유할 필요가 없기 때문이다.A push message transmission method and a push server, a terminal, and a push message transmission system according to an embodiment may provide a large amount of push services without expanding NAT. This is because the push server is directly connected to the private network, and there is no need to pass through NAT when communicating with the terminal and the private network.
또한 일 실시예에서 단말과 푸시 서버가 사설망으로 바로 연결이 되므로 감청 등의 위험이 매우 적으므로 단말과 푸시 서버간에 암호화를 생략할 수 있어서 푸시 서버와 단말의 부하를 줄여줄 수 있다.In addition, in one embodiment, since the terminal and the push server are directly connected to the private network, the risk of eavesdropping is very small, and thus encryption between the terminal and the push server can be omitted, thereby reducing the load on the push server and the terminal.
또한, 일 실시예에 따른 푸시 메시지 전송 방법과 그를 위한 푸시 서버, 단말기 및 푸시 메시지 전송 시스템은 단말기의 전력 소모를 줄일 수 있다. 단말기는 푸시 서버와 사설망으로 직접 연결되므로, NAT와 포트 바인딩을 유지하기 위한 메시지를 송신할 필요가 없기 때문이다.In addition, a push message transmission method and a push server, a terminal, and a push message transmission system for the same may reduce power consumption of the terminal. Because the terminal is directly connected to the push server and the private network, there is no need to send a message to maintain NAT and port binding.
또한, 일 실시예에 따른 푸시 메시지 전송 방법과 그를 위한 푸시 서버, 단말기 및 푸시 메시지 전송 시스템은 사설망과 공용망 모두를 활용하여 푸시 서비스를 제공할 수 있다. 푸시 서버가 사설망과 직접 연결되어 있기 때문이다.In addition, a push message transmission method and a push server, a terminal, and a push message transmission system according to an embodiment may provide a push service using both a private network and a public network. This is because the push server is directly connected to the private network.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to the preferred embodiment of the present application, those skilled in the art various modifications and changes to the present application without departing from the spirit and scope of the present application described in the claims below I can understand that you can.

Claims (24)

  1. 어플리케이션 서버 및 적어도 하나의 단말기와 연결 가능한 푸시 서버에 있어서,In the push server connectable to the application server and at least one terminal,
    공용망을 통하여 통신을 수행하는 공용망 통신모듈; Public network communication module for performing communication through the public network;
    사설망을 통하여 통신을 수행하는 사설망 통신모듈; 및A private network communication module for performing communication through a private network; And
    사설망을 위한 사설 네트워크 주소와 공용망을 위한 공용 네트워크 주소를 유지하고, 상기 사설망 통신모듈 또는 상기 공용망 통신모듈 중 적어도 하나를 이용하여 상기 어플리케이션 서버로부터 전송된 푸시 메시지를 해당 단말기에 전송하는 제어부를 포함하는 것을 특징으로 하는 푸시 서버.A control unit for maintaining a private network address for a private network and a public network address for a public network, and transmitting a push message transmitted from the application server to a corresponding terminal using at least one of the private network communication module and the public network communication module. Push server comprising a.
  2. 제1항에 있어서, 상기 제어부는The method of claim 1, wherein the control unit
    상기 적어도 하나의 단말기에 대하여 푸시 서비스 ID를 할당하고 상기 어플리케이션 서버에 상기 할당된 푸시 서비스 ID를 제공하는 것을 특징으로 하는 푸시 서버.And a push service ID for the at least one terminal and providing the allocated push service ID to the application server.
  3. 제2항에 있어서, 상기 푸시 서버는 The method of claim 2, wherein the push server
    상기 공용망 및/또는 사설망을 통해 룩업 서버와 연결되는 것을 특징으로 하는 푸시 서버.Push server, characterized in that connected to the lookup server through the public and / or private network.
  4. 제2항에 있어서, 상기 푸시 서버는The method of claim 2, wherein the push server
    상기 적도 하나의 단말기 각각에 대하여 푸시 서비스 ID, 해당 단말기의 사설 네트워크 주소 및 공용 네트워크 주소 및 해당 단말기의 통신모듈의 소켓 아이디 중 적어도 하나를 포함하는 단말기 정보 데이터베이스를 더 포함하는 것을 특징으로 하는 푸시 서버.And a terminal information database including at least one of a push service ID, a private network address and a public network address of the terminal, and a socket ID of the communication module of the terminal, for each terminal of the equator. .
  5. 제1항에 있어서, 상기 제어부는The method of claim 1, wherein the control unit
    상기 푸시 메시지에 포함된 서비스에 따라 결정된 상기 공용망 또는 사설망을 통하여 상기 해당 단말기와 통신을 수행하는 것을 특징으로 하는 푸시 서버.The push server, characterized in that for communicating with the terminal via the public or private network determined in accordance with the service included in the push message.
  6. 푸시 메시지를 송신하는 어플리케이션 서버, 룩업 서버 및 적어도 하나의 푸시 서버와 연결 가능한 단말기에 있어서,An application server for transmitting a push message, a lookup server, and a terminal connectable to at least one push server,
    공용망을 통하여 통신을 수행하는 공용망 통신 모듈;A public network communication module for performing communication through a public network;
    사설망을 통하여 통신을 수행하는 사설망 통신 모듈; 및A private network communication module for performing communication through a private network; And
    상기 푸시 서버의 네트워크 주소를 상기 룩업 서버에 요청하여 상기 푸시 서버의 공용 및 사설 네트워크 주소들을 결정하는 푸시 클라이언트 모듈을 포함하는 단말기.And a push client module for requesting a network address of the push server to the lookup server to determine public and private network addresses of the push server.
  7. 제6항에 있어서, 상기 단말기는The terminal of claim 6, wherein the terminal
    상기 푸시 서버의 공용 및 사설 네트워크 주소들을 저장하는 푸시 서버 데이터베이스를 더 포함하는 것을 특징으로 하는 단말기.And a push server database storing public and private network addresses of the push server.
  8. 제7항에 있어서, 상기 푸시 클라이언트 모듈은The method of claim 7, wherein the push client module
    상기 푸시 서버 데이터베이스에 저장된 상기 사설 네트워크 주소로 통신을 수행하고, 만일 통신이 이루어지지 않으면 상기 룩업 서버에 해당 푸시 서버의 사설 네트워크 주소를 재요청하는 것을 특징으로 하는 단말기.And perform communication with the private network address stored in the push server database, and if communication is not made, request the private network address of the push server to the lookup server again.
  9. 제6항에 있어서, 상기 푸시 클라이언트 모듈은The method of claim 6, wherein the push client module
    상기 사설 네트워크 주소를 이용하여 통신을 수행하고, 만일 통신이 이루어지지 않으면 상기 공용 네트워크 주소를 이용하여 통신을 수행하는 것을 특징으로 하는 단말기.And perform communication using the private network address, and if communication is not performed, perform communication using the public network address.
  10. 제6항에 있어서, 상기 푸시 클라이언트 모듈은The method of claim 6, wherein the push client module
    상기 푸시 서버와 상기 사설 네트워크 주소를 이용하여 연결된 제1 통신경로 및 상기 공용 네트워크 주소를 이용하여 연결된 제2 통신경로 모두를 유지하는 것을 특징으로 하는 단말기.And a first communication path connected using the push server and the private network address, and a second communication path connected using the public network address.
  11. 제6항에 있어서, 상기 단말기는The terminal of claim 6, wherein the terminal
    만일 상기 공용망을 통해서 상기 푸시 서버와 연결되면 암호화를 수행하여 데이터를 송수신하고,If connected to the push server through the public network performs encryption to send and receive data,
    그렇지 아니하면 암호화 수행 없이 데이터를 송수신하는 것을 특징으로 하는 단말기.Otherwise, the terminal characterized in that the data transmission and reception without performing encryption.
  12. 제6항에 있어서, The method of claim 6,
    상기 푸시 서버는 제1 푸시 서버와 제2 푸시 서버를 포함하고,The push server includes a first push server and a second push server,
    상기 단말기가 제1 푸시 서버의 공용 및 사설 네트워크 주소 중 어느 하나를 사용하여 통신하였다면, 상기 단말기는 제1 푸시 서버의 공용 및 사설 네트워크 주소 중 나머지 하나를 사용하여 통신을 수행하는 것 을 특징으로 하는 단말기.If the terminal communicates using any one of the public and private network address of the first push server, the terminal performs communication using the other of the public and private network address of the first push server terminal.
  13. 단말기 및 어플리케이션 서버와 연결 가능한 푸시 메시지 전송 시스템에 있어서,In the push message transmission system connectable to the terminal and the application server,
    상기 어플리케이션 서버로부터 수신한 푸시 메시지를 사설망 또는 공용망 중 적어도 하나를 이용하여 상기 단말기에 전송하는 적어도 하나의 푸시 서버; 및At least one push server transmitting the push message received from the application server to the terminal using at least one of a private network and a public network; And
    상기 적어도 하나의 푸시 서버 각각에 대해 사설 네트워크 주소와 공용 네트워크 주소를 저장하고, 상기 단말기에 해당 푸시 서버의 사설 및 공용 네트워크 주소를 제공하는 룩업 서버를 포함하는 것을 특징으로 하는 푸시 메시지 전송 시스템.And a lookup server that stores a private network address and a public network address for each of the at least one push server, and provides a private and public network address of the push server to the terminal.
  14. 제13항에 있어서, 상기 푸시 서버는The method of claim 13, wherein the push server
    상기 사설 네트워크 주소의 변경이 발생하면, 변경된 사설 네트워크 주소를 상기 룩업 서버에 제공하는 것을 특징으로 하는 푸시 메시지 전송 시스템.And when the change of the private network address occurs, providing the changed private network address to the lookup server.
  15. 제13항에 있어서, The method of claim 13,
    상기 공용망은 Wi-Fi 망이고, 상기 사설망은 셀룰러 통신망인 것을 특징으로 하는 푸시 메시지 전송 시스템.The public network is a Wi-Fi network, the private network is a push message transmission system, characterized in that the cellular communication network.
  16. 제15항에 있어서, 상기 푸시 서버는The method of claim 15, wherein the push server
    상기 푸시 메시지에 포함된 서비스를 기초로 상기 공용망 또는 사설망 중 어느 하나를 선택하여 상기 단말기와 통신하는 것을 특징으로 하는 푸시 메시지 전송 시스템.Push message transmission system, characterized in that for communicating with the terminal by selecting any one of the public network or a private network based on the service included in the push message.
  17. 제13항에 있어서The method of claim 13,
    만일 상기 푸시 서버가 상기 공용망을 통해서 상기 단말기와 연결되면 암호화를 수행하여 데이터를 송수신하고,If the push server is connected to the terminal through the public network, it performs encryption to transmit and receive data,
    그렇지 아니하면 암호화 수행 없이 데이터를 송수신하는 것을 특징으로 하는 푸시 메시지 전송 시스템.Otherwise, the push message transmission system, characterized in that the data transmission and reception without performing encryption.
  18. 제13항에 있어서, 상기 푸시 서버는The method of claim 13, wherein the push server
    상기 단말기에 대해 푸시쉬 서비스 ID를 할당하고, 상기 푸시쉬 서비스 ID를 상기 어플리케이션 서버에 제공하는 것을 특징으로 하는 푸시 메시지 전송 시스템.And a push-sh service ID for the terminal and providing the push-sh service ID to the application server.
  19. 어플리케이션 서버로부터 수신된 푸시 메시지를 단말기로 전송하는 푸시 메시지 전송 시스템에서 이루어지는 푸시 메시지 전송 방법에 있어서, - 상기 푸시 메시지 전송 시스템은 룩업 서버와 적어도 하나의 푸시 서버를 포함함-A push message transmission method in a push message transmission system for transmitting a push message received from an application server to a terminal, the push message transmission system including a lookup server and at least one push server.
    상기 룩업 서버는 상기 적어도 하나의 푸시 서버 각각의 사설 네트워크 주소와 공용 네트워크 주소를 저장하는 단계; 및The lookup server storing a private network address and a public network address of each of the at least one push server; And
    상기 룩업 서버는 상기 단말기에 해당 푸시 서버의 상기 사설 네트워크 주소를 제공하는 단계를 포함하는 것을 특징으로 하는 푸시 메시지 전송 방법.And the lookup server provides the terminal with the private network address of the corresponding push server.
  20. 제19항에 있어서, 상기 푸시 메시지 전송 방법은The method of claim 19, wherein the push message transmission method
    상기 룩업 서버는 요청에 따라 상기 어플리케이션 서버에 해당 푸시 서버의 공용 및/또는 사설 네트워크 주소를 제공하는 단계를 더 포함하는 것을 특징으로 하는 푸시 메시지 전송 방법.The lookup server further comprises the step of providing a public and / or private network address of the push server to the application server on request.
  21. 제19항에 있어서, 상기 푸시 메시지 전송 방법은The method of claim 19, wherein the push message transmission method
    상기 푸시 서버는 상기 단말기에 대하여 푸시 서비스 ID를 할당하고, 할당된 푸시 서비스 ID를 상기 어플리케이션 서버에 제공하는 단계를 더 포함하는 것을 특징으로 하는 푸시 메시지 전송 방법.The push server further comprises the step of assigning a push service ID to the terminal, and providing the assigned push service ID to the application server.
  22. 공용망 또는 사설망을 통해 통신을 수행할 수 있는 단말기와 상기 공용망 또는 서설망을 통해 동적으로 연결될 수 있는 서버에 있어서,In a terminal capable of communicating through a public or private network and a server that can be dynamically connected through the public or standing network,
    상기 공용망을 통하여 통신을 수행하는 공용망 통신모듈; A public network communication module for performing communication through the public network;
    상기 사설망을 통하여 통신을 수행하는 사설망 통신모듈; 및A private network communication module for performing communication through the private network; And
    상기 사설망을 위한 사설 네트워크 주소와 상기 공용망을 위한 공용 네트워크 주소를 유지하고, 상기 사설망 통신모듈 또는 상기 공용망 통신모듈 중 적어도 하나를 이용하여 상기 단말기와 통신을 수행하는 제어부를 포함하는 것을 특징으로 하는 서버.And a controller configured to maintain a private network address for the private network and a public network address for the public network, and to communicate with the terminal using at least one of the private network communication module and the public network communication module. Server.
  23. 제22항에 있어서,The method of claim 22,
    상기 서버는 푸시 메시지를 전송하는 푸시 서버인 것을 특징으로 하는 서버.And said server is a push server for sending push messages.
  24. 공용망 또는 사설망을 통해 통신을 수행할 수 있는 적어도 하나의 서버와 상기 공용망 또는 서설망을 통해 동적으로 연결될 수 있는 단말기에 있어서, -상기 적어도 하나의 서버는 특정 서버의 공용 및 사설 네트워크 주소를 저장하는 룩업 서버를 포함함-At least one server capable of communicating through a public network or a private network and a terminal that can be dynamically connected through the public network or a Seo network, the at least one server is a public and private network address of a specific server Include a lookup server to save
    공용망 또는 사설망을 통하여 통신을 수행하는 적어도 하나의 통신 모듈; At least one communication module for performing communication through a public network or a private network;
    상기 룩업 서버에 상기 특정 서버의 공용 및/또는 사설 네트워크 주소들을 요청하고, 현재 추정 상황에 따라 상기 공용 및/또는 사설 네트워크 주소 중 적어도 하나를 이용하여 상기 특정 서버와 통신하는 클라이언트 모듈을 포함하는 것을 특징으로 하는 단말기.Requesting the lookup server for public and / or private network addresses of the particular server and communicating with the specific server using at least one of the public and / or private network addresses according to current estimates; Terminal characterized in that.
PCT/KR2011/008867 2011-01-14 2011-11-21 Push message transmitting method WO2012096438A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110003815A KR101190307B1 (en) 2011-01-14 2011-01-14 Method of transmitting push message
KR10-2011-0003815 2011-01-14

Publications (2)

Publication Number Publication Date
WO2012096438A2 true WO2012096438A2 (en) 2012-07-19
WO2012096438A3 WO2012096438A3 (en) 2012-09-07

Family

ID=46507527

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/008867 WO2012096438A2 (en) 2011-01-14 2011-11-21 Push message transmitting method

Country Status (2)

Country Link
KR (1) KR101190307B1 (en)
WO (1) WO2012096438A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014035194A1 (en) * 2012-08-30 2014-03-06 Samsung Electronics Co., Ltd. Push message service system and method
CN103856902A (en) * 2014-03-17 2014-06-11 深圳市中兴移动通信有限公司 Information pushing method and mobile terminal
CN105208521A (en) * 2014-05-29 2015-12-30 中国电信股份有限公司 Information push method and system
US10148449B2 (en) 2012-08-30 2018-12-04 Samsung Electronics Co., Ltd Push message service system and method
CN114039695A (en) * 2021-12-24 2022-02-11 浙江中控技术股份有限公司 Time synchronization method of redundant network, redundant network system and equipment

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101682233B1 (en) * 2015-01-19 2016-12-05 주식회사 탐생 Providing method for data of study using mobile terminal
KR20160131632A (en) * 2015-05-08 2016-11-16 주식회사 카우치그램 Method and System for Sending and Receiving Push Data
KR101687152B1 (en) * 2016-08-27 2016-12-15 주식회사 탐생 Blocking method of mobile terminal using vpn
KR101709454B1 (en) * 2016-11-28 2017-02-22 주식회사 탐생 Providing method for data of study using mobile terminal
KR101709453B1 (en) * 2016-11-28 2017-02-22 주식회사 탐생 Providing method for data of study using mobile terminal
KR101709455B1 (en) * 2016-11-28 2017-02-22 주식회사 탐생 Providing method for data of study using mobile terminal
KR102220994B1 (en) * 2016-12-26 2021-02-25 주식회사 케이티 Data push function providing system and method in enterprise network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138622A1 (en) * 2001-03-21 2002-09-26 Motorola, Inc. Apparatus and method of using long lived addresses in a private network for push messaging to mobile devices
US20050198310A1 (en) * 2004-03-08 2005-09-08 Samsung Electronics Co., Ltd. Method of communicating with server having flexible address
US7328280B2 (en) * 2003-01-15 2008-02-05 Matsushita Electric Industrial Co., Ltd. Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138622A1 (en) * 2001-03-21 2002-09-26 Motorola, Inc. Apparatus and method of using long lived addresses in a private network for push messaging to mobile devices
US7328280B2 (en) * 2003-01-15 2008-02-05 Matsushita Electric Industrial Co., Ltd. Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
US20050198310A1 (en) * 2004-03-08 2005-09-08 Samsung Electronics Co., Ltd. Method of communicating with server having flexible address

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014035194A1 (en) * 2012-08-30 2014-03-06 Samsung Electronics Co., Ltd. Push message service system and method
US10148449B2 (en) 2012-08-30 2018-12-04 Samsung Electronics Co., Ltd Push message service system and method
CN103856902A (en) * 2014-03-17 2014-06-11 深圳市中兴移动通信有限公司 Information pushing method and mobile terminal
CN105208521A (en) * 2014-05-29 2015-12-30 中国电信股份有限公司 Information push method and system
CN114039695A (en) * 2021-12-24 2022-02-11 浙江中控技术股份有限公司 Time synchronization method of redundant network, redundant network system and equipment

Also Published As

Publication number Publication date
KR20120082522A (en) 2012-07-24
KR101190307B1 (en) 2012-10-12
WO2012096438A3 (en) 2012-09-07

Similar Documents

Publication Publication Date Title
WO2012096438A2 (en) Push message transmitting method
WO2012067382A2 (en) Method for tethering network connection, method for connecting to network, and wireless communication group applying the same
AU2009342169B2 (en) Scalable WLAN gateway
US6393488B1 (en) System and method for supporting internet protocol subnets with network address translators
WO2012115385A2 (en) Apparatus and method for providing universal plug and play service based on wi-fi direct connection in portable terminal
WO2015020502A1 (en) Service discovery technique in wireless communication network for forming p2p group
WO2021141348A1 (en) Method and apparatus for providing plurality of virtual networks for single application in mobile communication network
EP3476106A1 (en) Method for transferring signaling messages of terminal between network functions
EP2075959A1 (en) Apparatus amd method for concurently accessing multiple wireless networks (WLAN/WPAN)
WO2014163254A1 (en) P2p connection system and terminal, and p2p connection method using same in mobile environment
EP2583423A2 (en) Apparatus and method for configuring personal network using pn routing table
US7299287B1 (en) Secure network outlet for supporting IP device address assigning functionality
JP2006352572A (en) Wireless access system
WO2023113463A1 (en) Method and apparatus for triggered txop sharing for peer-to-peer communication with twt operation
WO2015037911A1 (en) Method, device, system and computer-readable recording medium for supporting communication between user terminal device and local host by using open flow
WO2022035010A1 (en) Real-time lightweight nat keep-alive interval optimization for multi-sim mobile devices
US20050044271A1 (en) Method for allocating a non-data device to a voice vlan object of the invention
WO2011027937A1 (en) Network interworking system and a method for the same
WO2010140739A1 (en) System for optimizing communication paths between mobile stations in a proxy mobile internet protocol version 6 network, and method for same
WO2019212268A1 (en) Method and device for managing mobile node of sdn controller
CN116208551B (en) Data transmission method, device, equipment and storage medium
WO2017034055A1 (en) Mode converting method of wired/wireless router
WO2024010388A1 (en) Tdls discovery and setup for multi-link operation
CN112714202B (en) Equipment configuration method and device
WO2013005982A2 (en) Apparatus and method of establishing interface in a local network

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

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11855799

Country of ref document: EP

Kind code of ref document: A2