Method and apparatus for processing messages

The present disclosure relates to a method and apparatus for processing messages. The terminal message processing method According to one embodiment of the present disclosure, the method for processing terminal messages used by the apparatus for processing terminal messages can include the steps of: receiving a message from an application of the terminal; determining whether the message is from a pre-registered registration application; when the message is from the registration application, determining whether the message is a control message; and when the message is not from the registration application, transmitting the message to a device for processing server messages. According to one embodiment of the present disclosure, a message processing apparatus and method for reducing the transmission and reception of a control message for an application are provided, and battery consumption is reduced.

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application claims priority under 35 U.S.C. § 365 to International Patent Application No. PCT/KR2012/010419 filed Dec. 4, 2012, entitled “METHOD AND APPARATUS FOR PROCESSING MESSAGES”. International Patent Application No. PCT/KR2012/010419 claims priority under 35 U.S.C. § 365 and/or 35 U.S.C. § 119(a) to Korean Patent Application No. 10-2011-0139100 filed Dec. 21, 2011, both of which are incorporated herein by reference into the present disclosure as if fully set forth herein.

TECHNICAL FIELD

The present disclosure relates to a message processing method and apparatus and, in particular, to a method and apparatus for processing application messages of a terminal.

BACKGROUND ART

The number of smartphone users is increasing rapidly. As a consequence, the traffic generated by smartphone applications occupies the most part of the entire network traffic. Such traffic includes the messages generated by users and control messages associated with the operations of the applications. The control messages are generated for 24 hours a day at a relatively short interval even when the user does not use the applications.

Recently, various smartphone applications are introduced to the users. Among them, the most popular applications are Social Network Service (SNS), Instant Messenger (IM), and Mail service applications. Examples of the popular applications include kakaotalk, facebook, twitter, mypeople, gmail, etc.

Such applications are classified into one of two categories, i.e. Push service and Pull service types, depending on the network communication mode. According to the push service type, when user data occurs in network, the service initiates connection to send the data to the user in real time. An IM application responsible for communication between users is delay sensitive so as to be implemented in the push service type. In contrast, according to the pull service type, the terminal accesses the server periodically to receive the user data occurred in the network. The social network services are non-delay sensitive so as to be implement in the pull service type.

In order to providing the push service in the cellular network, a Transmission Control Protocol (TCP) session has to be established between the terminal and the application server. The cellular network assigns an internal network address to the network using Network Address Translation (NAT). Accordingly, the server outside the cellular network cannot know the public IP address of the terminal. When user data occurs, it is necessary to establish a TCP connection in order for the server to transmit the data to the terminal. However, since the server located outside the cellular network does not know the IP address of the terminal, it is impossible to establish a TCP session for data transmission. Accordingly, the terminal and the server maintain the TCP session constantly to provide the push service in the cellular network. For this purpose, the terminal sends the server a connection maintenance message or keepalive message periodically.

In the pull service mode, the terminal connects to the server at a predetermined time and/or periodically to check existence of any user update data. If there is any update data, the terminal brings the data from the server. Since the terminal initiates the TCP session in the pull service, there is no need of maintaining the TCP session. However, there is periodic TCP session setup cost of the terminal.

FIG. 1is a diagram illustrating network architecture for application service according to a conventional method.

Referring toFIG. 1, the network includes a terminal110and application services120,130, and140in the conventional method. In any of the push and pull service methods, the terminal110generates control messages to the service servers120,130, and140periodically regardless of application manipulation of the user. Typically, since a plurality of applications installed in the terminal and the smartphone users increases in number, the control messages causes overburden to the cellular network. In the following, the message generated by the user manipulation is referred to as user message, and the message generated periodically independently of the user manipulation is referred to as control message.

In the push service mode, the corresponding applications establish TCP sessions with the respective application server120,130, and140and exchange Keepalive messages to maintain the sessions. In the pull service mode, the corresponding applications perform periodic polling to the respective application servers120,130, and140. In order to solve this problem, coordination servers such as Android Cloud to Device Messaging (C2DM) server and Apple Push Notification Service (APNS) server have been introduced.

The coordination server such as APNS and C2DM servers makes it possible to substitute one TCP session for the TCP sessions between the terminal and several application servers in the cellular network. For example, the polling-based application which brings user update data periodically is capable of transmitting the control message for polling even when there is no user update.

Another problem is that the applications have to be modified to use the coordination server such as APNS and C2DM servers. The application servers and the applications installed in the terminal have to be provided with the interfaces for communication with the coordination server. This causes the necessity of cooperation with the application manufacturers.

The network provider may be interested in such solutions to reduce the network load. The terminal manufacturer may be interested in such solutions to reduce battery consumption. However, the application manufacturer may be relatively less interested in this problem and thus be uncooperative for solving the problem. There is therefore a need of a method capable of solving this problem without modification of applications.

DISCLOSURE OF INVENTION

Technical Problem

The present disclosure has been proposed to solve the above problem and aims to provide a message processing apparatus and method capable of reducing per-application control message exchanges and battery consumption.

Solution to Problem

In accordance with an aspect of the present disclosure, a terminal message processing method of a terminal message processing apparatus includes receiving a message from an application of a terminal, determining whether the message is generated by a registered application, determining, when the message is generated by the registered application, whether the message is a control message, and transmitting, when the message is the control message, the message to a server message processing apparatus.

In accordance with another aspect of the present disclosure, a terminal message processing apparatus includes an interface unit which receives a message from an application of the terminal, a filter unit which determines whether the message is generated by a registered application and determines, when the message is generated by the registered application, whether the message is a control message, and a message processing unit which transmits, when the message is the control message, the message to a server message processing apparatus.

In accordance with another aspect of the present disclosure, a server message processing method of a server message processing apparatus includes receiving a notification of execution of a predetermined target application from a terminal message processing apparatus, registering, when the execution notification is received, the target application as a registered application, and transmitting a control message to a server corresponding to the registered application periodically.

In accordance with still another aspect of the present disclosure, a server message processing apparatus includes an interface unit which receives a notification of execution of a predetermined target application from a terminal message processing apparatus, a control unit which registers, when the execution notification is received, the target application as a registered application, and a message processing unit which transmits a control message to a server corresponding to the registered application periodically.

Advantageous Effects of Invention

The message processing apparatus and method of the present disclosure is advantageous in terms of reducing per-application control message exchange and battery consumption.

MODE FOR THE INVENTION

Exemplary embodiments of the present disclosure are described with reference to the accompanying drawings in detail.

Detailed description of well-known functions and structures incorporated herein may be omitted to avoid obscuring the subject matter of the present disclosure. This aims to omit unnecessary description so as to make the subject matter of the present disclosure clear.

For the same reason, some of elements are exaggerated, omitted or simplified in the drawings and the elements may have sizes and/or shapes different from those shown in drawings, in practice. The same reference numbers are used throughout the drawings to refer to the same or like parts.

The message processing apparatus and method according to embodiments of the present disclosure are described hereinafter with reference to accompanying drawings.

In the following description, a target application is the application as a target of the message processing procedure of the present disclosure. For example, it may be assumed that the message processing apparatus processes a message of a predetermined application such as facebook and twitter. In this case, the target application is the facebook or twitter. The target application may be selected by the terminal manufacturer, network operator, or software developer.

In the following description, a registered application is the application registered for processing the current message among the target applications. It is necessary to check messages periodically in all the cases that a certain target application is running on the foreground and background and the user configure a target application to provide the push service. In such cases, the message processing apparatus registers the application requiring processing a message as the registered application to handle specially.

FIG. 2is a diagram illustrating a configuration of the network according to an embodiment of the present disclosure.

Referring toFIG. 2, the network includes a User Equipment (UE)300, an evolve Node B (eNB)210, a Serving Gateway (SGW)220, a Packet Data Network Gateway (PGW), and Internet240.

A plurality of applications380are installed in the terminal300. The messages generated by and destined to the applications380are processed by the UE message processing apparatus310. The UE message processing apparatus310may be a component of the UE300. According to an alternative embodiment, the UE message processing apparatus310may be an external device attached to the UE300.

The eNB210and SGW220are interposed in series between the UE200and the PGW230. The PGW230includes a server message processing apparatus410. The server message processing apparatus410processes the messages transmitted by or addressed to the application servers250. According to an alternative embodiment, the server message processing apparatus410may be an external device attached to the PGW230. The server message processing apparatus410may be a part of a component of the cellular network such as eNB210and SGW220and may be connected to the serving gateway or other cellular network. In the following description, it is assumed that the PGW230is included in the server message processing apparatus410. The UE message processing apparatus310and the server message processing apparatus410process the messages exchanged between the applications380and the application servers250appropriately to reduce the traffic in the cellular network. Detailed description thereon is made hereinafter with reference toFIGS. 3 to 10.

FIG. 3is a block diagram illustrating a configuration of the UE300according to an embodiment of the present disclosure.

The UE300includes a UE message processing apparatus310, an application manager370, applications380and a communication unit390.

The applications380provide application functions under the control of the user. For example, the facebook applications may connects to a facebook server to provide the user with the news feed and allow the user to post a new message. The applications380may be classified into target applications and other applications. As described above, the target applications may be preset by the UE manufacturer, network operator, and software developer.

The application manager370manages the execution states of the applications. Particularly, the application manager370monitors the applications execution and termination and push notification setting. If the target application is executed, if the user sets the push notification, if the target application is terminated, or if the user releases the push notification, this is notified to the UE message processing apparatus310.

The UE message processing apparatus310includes a filter unit320, an interface unit330, and a message processing unit340.

The interface unit330receives the messages from the applications380. The interface unit330receives the notification on the execution or termination of the target application from the application manager370.

The execution information is the information of indicating that it is the state of requiring the periodic message check for the application. The execution information may include application execution information and a push notification setting information. For example, it is the state of requiring periodic message check in the case where the application is running on the foreground/background or, although not executed, push notification is configured.

The termination information is the information of indicating that the periodic message check for the application is not required. The termination information may include the information indicating the termination of the application and/or the information indicating the push notification release for the corresponding application. For example, if the application is not running on the foreground/background and if push notification is not configured for the application, there is no need of checking messages periodically.

The filter unit320determines whether the received message is the message of a pre-registered application and, if the received message is of the registered application, determines whether the received message is a control message. If the received message is the control message, the filter unit320may ignore the message or generates a virtual response message to the corresponding application. If the interface unit330receives the execution information on the target application, the filter unit may register the executed target application as a registered application. If the interface unit330receives the termination information of the target application, the filter unit320may deregister the terminated target application.

If the received message is not a control message, the message processing unit340transfers the message to the server message processing apparatus410. The message processing unit340receives the server message from the server message processing apparatus410and delivers the server message to the corresponding application380. If the execution information of the target application is received, the message processing unit340may notify the server message processing apparatus410of the execution information. If the termination information of the target application is received, the message processing unit340may notify the server message processing apparatus410of the terminal information.

The communication unit390may perform voice and data communications using a radio communication protocol.

FIG. 4is a block diagram illustrating a configuration of the server message processing apparatus410according to an embodiment of the present disclosure.

The server message processing apparatus410includes a control unit420, an interface unit430, and a message processing unit440.

The interface unit430receives the target application execution information and/or termination information from the UE message processing apparatus310.

If the interface unit430receives the target application execution information, the control unit420registers the target application as a registered application. If the interface unit430receives the target application termination information, the control unit420deregisters the notified target application.

The detailed descriptions are made of the UE message processing apparatus310and the server message processing apparatus410hereinafter in detail with reference toFIGS. 5 to 10.

FIG. 5is a diagram illustrating a target application registration procedure according to an embodiment of the present disclosure. If the target application is executed or push notification is set for the application, the UE message processing apparatus310and the server message processing apparatus410registered the target application as a registered application.

The application manager370notifies the UE message processing apparatus310of the information indicating that the target application has been executed, i.e. indicating that periodic message transmission is required, at operation510. If the execution of the target application is notified, the UE message processing apparatus310registers the target application as the registered application at operation520. The UE message processing apparatus310may register a plurality of target applications. The UE message processing apparatus310notifies the server message processing apparatus410of the execution of the target application at operation530. If the target application execution is notified, the server message processing apparatus410registers the target application as the registered application. The server message processing apparatus410may register a plurality of target applications. The server message processing apparatus410may have a set of registered applications per UE.

FIG. 6is a diagram illustrating a target application deregistration procedure according to an embodiment of the present disclosure. If the target application is terminated or its push notification is turned off, the UE message processing apparatus310and the server message processing apparatus410deregisters the registered application.

The application manager370notifies the UE message processing apparatus310that the target application is terminated, i.e. that the periodic message transmission is not necessary any more, at operation610. If the target application termination information is received, the terminal message processing apparatus310deregisters the registration of the target application at operation620. The UE message processing apparatus310also notifies the server message processing apparatus410of the termination of the target application at operation630. Upon receipt of the target application termination information, the server message processing apparatus410deregisters the registration of the target application at operation640.

The registered application is managed through the procedures ofFIGS. 5 and 6. The UE message processing apparatus310and the server message processing apparatus410may filter through only the messages of the registered applications and processes the message in the procedures ofFIGS. 7 to 10.

FIG. 7is a diagram illustrating protocol layers of the UE300according to an embodiment of the present disclosure.

The protocol layers of the UE300include an application layer710, a Transmission Control Protocol/User Datagram Protocol (TCP/UDP) layer720, Internet Protocol (IP) layer730, and radio module layer740. The radio module layer410includes a Packet Data Convergence Protocol (PDCP) layer741, a Radio Link Control (RLC) layer742, a Media Access Control (MAC) layer743, and a Physical (PHY) layer744. The filter unit310is interposed between the IP layer730and the PDCP layer741. The message of the application380deliver to the filter unit310through the application layer710, the TCP/UDP layer720, and the IP layer730.

The filter unit310analyses the message and determines whether the message is of the registered application. For example, the filter310may check the message header, especially the destination IP address and message type. The message may be categorized differently depending on the characteristic of the application. If the received message is of the registered application, the filter unit310delivers the message to the message processing unit340. Otherwise if the received message is not of the registered message, the filter unit310delivers the message to the radio module740for normal message processing.

The message processing unit340analyzes the received message to determine whether it is a control message. The control message may include the keepalive and/or periodic update check message. If the received message is not a control message but a user message, the message processing unit340sends the user message to the server message processing apparatus410. If the received message is a control message, the message processing unit340processes the message for itself. That is, the message processing unit430may generate a virtual response message to the application or ignore the message.

In the case that the application is operating in the polling mode, when an update check message is received from the application, the message processor340generates a response notifying of not update to the application. However, if the update message is received from the server message processing apparatus410, the message processing unit340retains this message and, when the update check message is received, delivers the update message to the corresponding message.

In the case that the application is operating in the push mode, when a connection maintenance message is received from the application, the message processing unit340ignores or replies in an appropriate manner such that the application makes sure of the connection with the application server. Actually, the session is alive between the application and the message processing unit340. However, if an update message is received from the server message processing apparatus410, the message processing unit340may deliver the update message to the application in the push mode.

According to this method, there is no need for the UE300to maintain the TCP session with the application server250or transmit the update check message periodically. This makes it possible to improve poser conservation by blocking power to the radio module740. This makes it also possible to prevent the session maintenance and update check messages from being transmitted through the radio network redundantly, resulting in reduction of traffic load.

FIG. 8is a diagram illustrating protocol stacks of the PGW230and application server250according to an embodiment of the present disclosure.

The user message or application execution/termination notification transmitted by the UE message processing apparatus310is delivered through the L1/L2 layer850, IP layer880, UDP layer870, GPRS Tunneling Protocol User Plane (GTP-U) layer860, and IP layer840in the PGW230. This message is delivered to the L1/L2 layer again so as to be transmitted to the application server250. Before the delivery to the L1/L2 layer, the filter810determines whether the message is of the registered application. The filter810may checks the header, specially the destination IP address and message type. The message may be categorized differently depending on the characteristic of the application. The message associated with the registered application is transferred to the message processing apparatus410while other message to the application server in the conventional manner.

The server message processing unit410manages the registered application according to the application execution/termination message. The server message processing apparatus410also modifies the received user message for identification of the application of the corresponding UE. Afterward, the server message processing apparatus410sends the application server250the modified user message.

The server message processing apparatus410may maintain the TCP session with the application server250. For this purpose, the server message processing apparatus410may send the application server250a connection maintenance message associated with the registered application periodically. In this case, the server message processing apparatus410may receive the update message from the application server250in the push mode. If the update message is received, the server message processing apparatus410may forward the update message to the UE message processing apparatus310.

According to an alternative embodiment, the server message processing apparatus410may send the application server250the update check message periodically. In this case, the server message processing apparatus410may receive the update message from the application server250in response to the update check message. If the update message is received, the server message processing apparatus410may forward the update message to the UE message processing apparatus310.

In any case, the server message processing apparatus410sends the application server250the control message (update check message or connection maintenance message) periodically. However, since the PGW230and the application server240are connected through a wire, the traffic restriction is low as compared to the radio communication network. Also, since the server message processing apparatus410is positioned at the PGW230within the cellular network, it is possible to transmit a message to the terminal without difficulty when there is any update although there is no constant session.

FIG. 9is a flowchart illustrating the message handling procedure of the UE message processing apparatus310according to an embodiment of the present disclosure.

The UE message processing apparatus310receives a message from an application at operation910.

The UE message processing apparatus310determines whether the received message is of the registered application at operation920. If the received message is not of the registered application, the procedure goes to operation925for conventional message transmission. Otherwise if the received message is of the registered application, the procedure goes to operation930.

The UE message processing apparatus310determines whether the received message is a control message at operation930. If the received message is not a control message, the UE message processing apparatus310transmits the message to the server message processing apparatus. If the received message is the control message, the procedure goes to operation940.

The UE message processing apparatus310determines whether it is necessary to reply in response to the received message at operation940. For example, if the received message is the connection maintenance message requiring not reply, the UE message processing apparatus310ignores the received message at operation945. If the received message is the update check message requiring a reply, the UE message processing apparatus310generates a virtual response message notifying of not update to the application at operation950. Of course, if there is any update message received previously from the server message processing apparatus410, the UE message processing apparatus310sends the update message to the application. However, the update message has to be delivered to the application in the format recognized by the application as if the update message is received form the application server250directly.

FIG. 10is flowchart illustrating the message handling procedure of the server message processing apparatus410according to an embodiment of the present disclosure.

The server message processing apparatus410receives a notification of notifying that the target application has been executed at operation1010. The server message processing apparatus410registers the notified application as a registered application at operation1020.

The server message processing apparatus410determines whether it is the time of transmitting the connection maintenance message or update check message at operation1030. If it is the time of transmitting the message, the server message processing apparatus410sends the application server250the connection maintenance message or update check message of which header is modified as if the message has been transmitted by the application at operation1030.

If it is not the time of transmitting the message, the server message processing apparatus410determines whether an update message associated with the registered application is received from the serer message processing apparatus410at operation1040. Regardless of whether the operation mode is the polling or pushing mode, the server message processing apparatus410is capable of receiving the update message associated with the registration application promptly from the application server250. If the update message associated with the registered application, the server message processing apparatus410transmits the received update message to the UE message processing apparatus310at operation1045. The UE message processing apparatus310delivers the message to the application. If no update message is received, the procedure goes to operation1050.

The server message processing apparatus410determines whether a user message associated with the registered application is received from the UE at operation1050. The server message processing apparatus410may receive the user message from the UE message processing apparatus310. If the user message of the UE is received, the server message processing apparatus410forwards the user message to the corresponding application server at operation1055. However, the user message of the UE has to be modified in header as if the user message is transmitted from the UE to the application server250.

In the above message processing procedure, the message may be categorized by analyzing the header. The message may be categorized differently depending on the type of the application.

According to embodiments of the present disclosure, it is possible to reduce the control message traffic generated by UE applications in the radio network and increase the idle time of the radio module, resulting in reducing radio network traffic load and battery consumption. According to embodiments of the present disclosure, the UE message processing apparatus and the server message processing apparatus410are capable of working without modification of applications.

Furthermore, the respective block diagrams may illustrate parts of modules, segments or codes including at least one or more executable instructions for performing specific logic function(s). Moreover, it should be noted that the functions of the blocks may be performed in different order in several modifications. For example, two successive blocks may be performed substantially at the same time, or may be performed in reverse order according to their functions.

The UE according to an embodiment of the present disclosure may be a portable electronic device such as mobile phone, Personal Digital Assistant (PDA), navigator, digital broadcast receiver, and Portable Multimedia Player (PMP).

The foregoing disclosure has been set forth merely to illustrate the disclosure and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the spirit and substance of the disclosure may occur to persons skilled in the art, the disclosure should be construed to include everything within the scope of the appended claims and equivalents thereof.

Although exemplary embodiments of the present disclosure have been described in detail hereinabove with specific terminology, this is for the purpose of describing particular embodiments only and not intended to be limiting of the disclosure. While particular embodiments of the present disclosure have been illustrated and described, it would be obvious to those skilled in the art that various other changes and modifications can be made without departing from the spirit and scope of the disclosure.