WO2013094895A1 - 메시지 처리 방법 및 장치 - Google Patents

메시지 처리 방법 및 장치 Download PDF

Info

Publication number
WO2013094895A1
WO2013094895A1 PCT/KR2012/010419 KR2012010419W WO2013094895A1 WO 2013094895 A1 WO2013094895 A1 WO 2013094895A1 KR 2012010419 W KR2012010419 W KR 2012010419W WO 2013094895 A1 WO2013094895 A1 WO 2013094895A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
application
server
terminal
processing apparatus
Prior art date
Application number
PCT/KR2012/010419
Other languages
English (en)
French (fr)
Inventor
권기석
김길연
강현진
박용석
홍영기
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US14/367,811 priority Critical patent/US10003516B2/en
Publication of WO2013094895A1 publication Critical patent/WO2013094895A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/103Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
    • 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
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements

Definitions

  • the present invention relates to a method and apparatus for processing a message, and more particularly, to a method and apparatus for processing a message relating to an application of a terminal.
  • Smartphone users are growing rapidly. As a result, the amount of traffic generated by smartphone applications is also rapidly increasing, accounting for most of the total traffic volume of the network.
  • This traffic includes user generated messages and control messages for application operation. Control messages are generated 24 hours a day even when the user is not using the application and the generation cycle is quite short.
  • SNS social network service
  • IM instant messenger
  • mail service Specific examples of applications used include kakaotalk, facebook, twitter, mypeople, and gmail.
  • push service when user data occurs in a network, a server drives a connection to send data to a user in real time.
  • IM applications that transmit conversations between users are primarily implemented as push services because of their real-time importance.
  • the terminal is driven to periodically access the server to bring the user data generated in the network.
  • Social network services are often implemented in a full-service manner because they are less important in real time.
  • a TCP (Transmission Control Protocol) session must always be established between a terminal and an application server.
  • the cellular network assigns an internal network address to the terminal using network address translation (NAT). Therefore, the server located outside the cellular network can not know the public IP address of the terminal.
  • NAT network address translation
  • the server located outside the cellular network can not know the public IP address of the terminal.
  • the server located outside the cellular network does not know the IP address of the terminal, it cannot establish a TCP session and transmit data. Therefore, in order to provide a push service in the cellular network, the terminal and the server maintain a TCP session. To this end, the terminal periodically transmits a connection maintenance message or a keepalive message to the server.
  • the terminal checks whether there is user update data by accessing the server at a set time and / or periodically. If there is update data, the terminal gets data from the server.
  • the full service does not need to maintain a TCP session like a push service because the terminal establishes a TCP session. However, the terminal periodically costs a TCP session.
  • FIG. 1 is a diagram illustrating a network configuration for an application service according to a conventional scheme.
  • a conventional network includes a terminal 110 and application servers 120, 130, and 140.
  • the terminal 110 According to either the push service method or the pull service method, regardless of whether a user manipulates an application, the terminal 110 periodically generates a control message and transmits the control message to the application servers 120, 130, and 140.
  • a control message is a significant burden on the cellular network because several applications are installed in one terminal and the number of users of the smartphone has increased significantly.
  • a message generated according to a user's operation is called a user message, and a message periodically generated regardless of the user's operation is called a control message.
  • each application establishes a TCP session with each application server 120, 130, and 140, and sends and receives a connection maintenance message (Keepalive) to maintain it.
  • each application periodically polls each application server 120, 130, or 140.
  • a coordination server such as an Android Cloud to Device Messaging (C2DM) server and an Apple Push Notification Service (APNS) server has been introduced.
  • C2DM Android Cloud to Device Messaging
  • APNS Apple Push Notification Service
  • Cooperative servers such as APNS and C2DM allow a TCP session between a terminal and several application servers in a cellular network to replace one TCP session.
  • a cooperative server does not substantially reduce the amount of control messages transmitted.
  • a polling-based application that periodically retrieves user update data sends a control message to the network for polling even when there is no user update.
  • Application servers must provide an interface for communicating with a cooperative server, and applications installed in a terminal must also provide an interface for communicating with a cooperative server. In the end, it requires cooperation from the application manufacturer.
  • Network providers may be interested in these solutions to reduce network load.
  • Terminal manufacturers may also be interested in these solutions to reduce battery consumption.
  • application makers are less concerned about these issues and may not cooperate in solving them. Therefore, there is a need for a solution to this problem without application modification.
  • the present invention has been proposed to solve the above problems, and an object thereof is to provide a message processing apparatus and a method capable of reducing transmission and reception of control messages for an application and reducing battery consumption.
  • a method for processing a message of a terminal by the terminal message processing apparatus receiving a message from the application of the terminal, the message of the registered application registered in advance Determining whether the message is a message of the registration application; if the message is a control message; and if the message is not a control message, transmitting the message to a server message processing apparatus.
  • the terminal message processing apparatus for processing a message of the terminal according to an embodiment of the present invention, the interface unit for receiving a message from the application of the terminal, the message of the registered application, the message is registered in advance And determining whether the message is a message of the registration application, and determining whether the message is a control message or a message processing unit which transmits the message to a server message processing apparatus if the message is not a control message. .
  • a method for processing a server message by the server message processing apparatus may include registering the notified target application as a registered application and periodically transmitting a control message to a server corresponding to the registered application.
  • the server message processing apparatus for processing a server message may include a control unit for registering the received target application as a registered application and a message processing unit for periodically transmitting a control message to the server corresponding to the registered application.
  • FIG. 1 is a diagram illustrating a network configuration for an application service according to a conventional scheme.
  • FIG. 2 is a diagram illustrating a network configuration according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of a terminal 300 according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of a server message processing apparatus 410 according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a registration process of a target application according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a deregistration process of a target application according to one embodiment of the present invention.
  • FIG. 7 is a hierarchical diagram of a terminal 300 according to an embodiment of the present invention.
  • FIG. 8 is a hierarchical diagram of the P-GW 230 and the application server 250 according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a message processing process of the terminal message processing apparatus 310 according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a message processing process of the server message processing apparatus 410 according to an embodiment of the present invention.
  • the target application refers to an application that is subject to message processing provided by the present invention.
  • the message processing apparatus processes a message regarding a preset application, for example, Facebook and Twitter.
  • the target applications are Facebook and Twitter.
  • the target application may be selected by a terminal manufacturer, a network provider, a software developer, or the like.
  • a registration application is an application registered to require current message processing among target applications. Periodic message checking is required both when the target application is running in the foreground, when it is running in the background, and when the user has set up a push service for the target application. Therefore, in such a case, the message processing apparatus registers and specially treats an application requiring message processing as a registered application.
  • FIG. 2 is a diagram illustrating a network configuration according to an embodiment of the present invention.
  • the network includes a terminal 300, a base station 210 (eNB), a serving gateway 220 (S-GW), and a packet data network gateway 230 (P-GW; PDN-GW; Packet Data Network Gateway) And the Internet 240.
  • eNB base station 210
  • S-GW serving gateway 220
  • P-GW packet data network gateway 230
  • P-GW Packet Data Network Gateway
  • the terminal message processing apparatus 310 may be a component of the terminal 300. According to a modified example, the terminal message processing apparatus 310 may be attached and connected to the terminal 300 as an external device of the terminal 300.
  • the terminal 300 and the P-GW 230 are connected through the base station 210 and the S-GW 220.
  • the P-GW 230 includes a server message processing device 410.
  • the server message processing apparatus 410 processes a message from the application servers 250 and a message targeting the application servers 250.
  • the server message processing device 410 may be connected to the P-GW 230 as an external device of the P-GW 230.
  • the server message processing apparatus 410 may be a component of the base station 210 or the serving gateway 220 or other cellular networks, or may be connected to the base station 210 or the serving gateway 220 or other cellular networks.
  • the P-GW 230 includes a server message processing device 410.
  • the terminal message processing apparatus 310 and the server message processing apparatus 410 reduce the traffic in the cellular network by appropriately processing a message between the applications 380 and the application servers 250. The detailed configuration will be described later with reference to FIGS. 3 to 10.
  • FIG. 3 is a block diagram of a terminal 300 according to an embodiment of the present invention.
  • the terminal 300 includes a terminal message processing apparatus 310, an application manager 370, applications 380, and a communication unit 390.
  • the applications 380 provide application functionality under user control.
  • a Facebook application connects to a Facebook server to provide news feeds to users or allow users to post new posts.
  • the applications 380 may be divided into a target application and other applications.
  • the target application may be preset by the terminal manufacturer, the network provider, the software developer, and the like.
  • the application manager 370 manages an execution state of the application. In particular, the application manager 370 monitors execution and termination of the application 380 and push notification settings. The terminal message processing apparatus 310 is notified when the target application is executed or when the user sets up the push notification, and when the target application is terminated or when the user releases the push notification.
  • the terminal message processing apparatus 310 includes a filter unit 320, an interface unit 330, and a message processing unit 340.
  • the interface unit 330 receives a message from the applications 380.
  • the interface unit 330 is notified of the execution or termination of the target application from the application manager 370.
  • Execution facts may include the fact that the application has been executed and / or the fact of setting up push notifications for that application. For example, if the application is running in the foreground / background or if push notification is set for it even if it is not running, periodic message checking is required.
  • the termination fact is that the periodic message confirmation regarding the application is not required.
  • the termination fact may include the fact that the application has terminated and / or the fact that the push notification is released for the application. For example, if the application is not running in the foreground / background and no push notifications have been set for it, periodic message checking is not required.
  • the filter unit 320 determines whether the received message is a message of a registered application registered in advance, and if the received message is a message of a registered application, determines whether the received message is a control message. If the received message is a control message, the filter unit 320 may ignore the message or generate a virtual response message for the message and deliver it to the corresponding application 380. In addition, the filter unit 320 may register the executed target application as a registered application when the interface unit 330 is notified of the execution of the target application. The filter unit 320 may deregister the terminated target application from the registered application when the interface unit 330 is notified of the termination of the target application.
  • the message processor 340 transmits the message to the server message processing device 410.
  • the message processor 340 may receive a server message from the server message processing device 410 and transfer the server message to the corresponding application 380. Also, when the message processor 340 is notified of the execution of the target application, the message processor 340 may notify the server message processing apparatus 410 of the execution. In addition, when the message processing unit 340 is notified of the termination of the target application, the message processing unit 410 may notify the server message processing unit 410.
  • the communication unit 390 is responsible for the communication of the terminal 300.
  • the communication unit 390 may perform voice communication, data communication, and the like through a wireless communication protocol.
  • FIG. 4 is a block diagram of a server message processing apparatus 410 according to an embodiment of the present invention.
  • the server message processing apparatus 410 includes a control unit 420, an interface unit 430, and a message processing unit 440.
  • the interface unit 430 is notified of the execution and / or termination of the target application from the terminal message processing apparatus 310.
  • the controller 420 registers the notified target application as a registered application.
  • the controller 420 deregisters the notified target application from the registered application.
  • the message processor 440 may periodically transmit a connection maintenance message or an update confirmation message to a server corresponding to the registered application.
  • a keep-alive or update confirmation message is sent periodically to ensure that there is an update on the application server side in a timely manner.
  • the message processor 440 does not transmit a message to the deregistered application.
  • the message processor 440 receives an update message regarding the registration application from the server and transfers the received update message to the terminal message processing apparatus 310.
  • the message processor 440 receives a user message, that is, a user's post registration command, etc. from the terminal message processing apparatus 310 and transmits the message to the corresponding server.
  • terminal message processing apparatus 310 and the server message processing apparatus 410 will be described later in detail with reference to FIGS. 5 to 10.
  • FIG. 5 is a diagram illustrating a registration process of a target application according to an embodiment of the present invention.
  • the terminal message processing apparatus 310 and the server message processing apparatus 410 register the target application as a registered application.
  • the application manager 370 notifies the terminal message processing apparatus 310 of the fact that the target application is executed, that is, periodic transmission of a message is required.
  • the terminal message processing apparatus 310 registers the target application as a registered application.
  • the terminal message processing apparatus 310 may register a plurality of target applications as registered applications.
  • the terminal message processing apparatus 310 notifies the server message processing apparatus 410 of the execution of the target application.
  • the server message processing apparatus 410 registers the target application as a registered application.
  • the server message processing apparatus 410 may register a plurality of target applications as a registered application.
  • the server message processing device 410 may maintain a separate set of registered applications for each terminal.
  • FIG. 6 is a diagram illustrating a deregistration process of a target application according to one embodiment of the present invention.
  • the terminal message processing apparatus 310 and the server message processing apparatus 410 deregister the target application from the registered application.
  • the application manager 370 notifies the terminal message processing apparatus 310 of the fact that the target application is terminated, that is, periodic transmission of the message is not necessary.
  • the terminal message processing apparatus 310 releases the target application from the registered application.
  • the terminal message processing apparatus 310 notifies the server message processing apparatus 410 of the termination of the target application.
  • the server message processing apparatus 410 deregisters the target application from the registered application.
  • the registration application is maintained through the process of FIGS. 5 and 6.
  • the terminal message processing apparatus 310 and the server message processing apparatus 410 filter only messages related to a registered application and process the same in a manner as illustrated in FIGS. 7 to 10.
  • FIG. 7 is a hierarchical diagram of a terminal 300 according to an embodiment of the present invention.
  • the layer of the terminal 300 includes an application layer 710 TCP / UDP (User Datagram Protocol) layer 720, an Internet Protocol (IP) layer 730, and a radio module layer 740.
  • the radio module layer 410 includes a Packet Data Convergence Protocol (PDCP) layer 741, a Radio Link Control (RLC) layer 742, a Media Access Control (MAC) layer 743, and a physical (HY) layer 744. Include.
  • the filter unit 310 is located between the IP layer 730 and the PDCP layer 741.
  • the message of the application 380 is passed to the filter unit 310 through the application layer 710 TCP / UDP layer 720 and the IP layer 730.
  • the filter unit 310 analyzes the message and determines whether the message is a message of a registered application. For example, the filter unit 310 may refer to a header of the message or refer to a destination IP address, message type information, and the like. The method of classifying messages may vary according to the characteristics of each application.
  • the filter unit 310 transmits the received message to the message processor 340 when the received message is a message of a registration application. On the contrary, if the received message is not a message of the registration application, the message is transmitted through the radio module 740 in a conventional manner.
  • the message processor 340 analyzes the received message and determines whether the message is a control message.
  • the control message may include, for example, a keepalive message and / or a periodic update confirmation message. If the received message is not a control message but a user message, the message processor 340 transmits the user message to the server message processing device 410. If the received message is a control message, the message processing unit 340 processes this by itself. That is, a virtual response message can be generated and passed to the application or ignored.
  • the message processing unit 340 may generate and respond to a message indicating that there is no update content when receiving an update confirmation message from the application.
  • the message processing unit 340 may store the message and deliver the updated message to the application when the update confirmation message is received.
  • the message processing unit 340 upon receiving the connection maintenance message from the application, ignores it or responds appropriately to recognize the application as if it is connected to the application server. In reality, the session between the application and the message processor 340 is connected. However, when receiving the update message from the server message processing device 410, the message processing unit 340 may deliver the update message to the application in a push method.
  • the terminal 300 does not need to maintain a TCP session with the application server 250 or periodically transmit an update confirmation message to the application server 250. Therefore, the power supply of the radio module layer 740 may be kept off, thereby conserving power. It also helps to reduce traffic by preventing session keep-alive or update confirmation messages from being repeatedly transmitted through the wireless network.
  • FIG. 8 is a hierarchical diagram of the P-GW 230 and the application server 250 according to an embodiment of the present invention.
  • the user message or the application execution / termination notification sent by the terminal message processing apparatus 310 may be transmitted in the P-GW 230 by the L1 / L2 layer 850, the IP layer 880, the UDP layer 870, and the GTP-. It is delivered to the U (GPRS Tunneling Protocol User Plane) layer 860 and the IP layer 840. The message is passed back to the L1 / L2 layer for delivery to the application server 250.
  • the filter 810 determines whether the received message is a message about a registered application.
  • the filter 810 may refer to a header of the message or refer to a destination IP address, message type information, and the like.
  • the method of classifying messages may vary according to the characteristics of each application. Messages relating to the registration application may be delivered to the server message processing device 410, and other messages may be delivered to the application server in a conventional manner.
  • the server message processing apparatus 410 changes the registered application according to the application run / end message.
  • the server message processing apparatus 410 may change the received user message to confirm that the application of the terminal. Thereafter, the server message processing apparatus 410 transmits the changed user message to the application server 250.
  • the server message processing device 410 may maintain a TCP session with the application server 250. To this end, the server message processing apparatus 410 may periodically transmit a connection maintenance message regarding the registered application to the application server 250. In this case, the server message processing apparatus 410 may receive an update message from the application server 250 in a push manner. When receiving the update message, the server message processing apparatus 410 may transmit it to the terminal message processing apparatus 310.
  • the server message processing apparatus 410 may periodically transmit an update confirmation message to the application server 250.
  • the server message processing apparatus 410 may receive an update message as a response to the update confirmation message from the application server 250.
  • the server message processing apparatus 410 may transmit it to the terminal message processing apparatus 310.
  • the server message processing apparatus 410 periodically transmits a control message (update confirmation message or connection maintenance message) to the application server 250.
  • a control message update confirmation message or connection maintenance message
  • the traffic restriction is less than that of the wireless communication network.
  • the server message processing apparatus 410 is located in the P-GW 230 in the cellular network, even if the session is not maintained, the server message processing apparatus 410 can easily transmit a message to the terminal 300.
  • FIG. 9 is a flowchart illustrating a message processing process of the terminal message processing apparatus 310 according to an embodiment of the present invention.
  • the terminal message processing apparatus 310 receives a message from an application.
  • the terminal message processing apparatus 310 determines whether the received message is a message of a registered application. If the received message is not a message of the registration application, the process proceeds to step 925 where the message is sent or processed in a conventional manner. If the received message is a message of a registration application, the process proceeds to step 930.
  • the terminal message processing apparatus 310 determines whether the received message is a control message. If the received message is not a control message, the process proceeds to step 935 where the message is delivered to the server message processing apparatus. If the received message is a control message, the process proceeds to step 940.
  • the terminal message processing apparatus 310 determines whether a response message is required for the received message. For example, if the received message is a connection maintenance message and no separate response is required, the process proceeds to step 945 and the terminal message processing apparatus 310 ignores the received message. If the received message is an update confirmation message and a response is required, the process proceeds to step 950 and the terminal message processing apparatus 310 generates a virtual response message indicating that there is no update content and responds to the application. Of course, if there is an update message previously received from the server message processing device 410, it may be delivered to the application. However, since the update message is recognized by the application, it should be transformed into a form that can be recognized as received directly from the application server 250 and transmitted to the application.
  • FIG. 10 is a flowchart illustrating a message processing process of the server message processing apparatus 410 according to an embodiment of the present invention.
  • the server message processing apparatus 410 is notified that the target application is executed.
  • the server message processing apparatus 410 registers the notified destination application as a registered application.
  • the server message processing apparatus 410 determines whether the transmission period of the connection maintenance message or the update confirmation message has been reached. If the cycle is reached, in step 1035 the server message processing device 410 maintains the connection to the application server 250 by changing the header so that the application can recognize it as if the application is sending by replacing the keep-alive or update confirmation message sent by the application. Send a message or update confirmation message.
  • the server message processing device 410 determines in step 1040 whether an update message regarding the registered application has been received from the application server 250. Regardless of the polling method or the pushing method, the server message processing apparatus 410 may receive an update message regarding the registered application from the application server 250 in a short time. When the server message processing apparatus 410 receives the update message about the registration application, the process proceeds to 1045 and the server message processing apparatus 410 transfers the received update message to the terminal message processing apparatus 310. The terminal message processing apparatus 310 will deliver this to the application. If the server message processing apparatus 410 does not receive an update message regarding the registered application, the process proceeds to step 1050.
  • the server message processing apparatus 410 determines whether a user message of the terminal regarding the registration application is received.
  • the server message processing device 410 may receive the user message through the terminal message processing device 310.
  • the process proceeds to step 1055 and the server message processing apparatus 410 may deliver it to the corresponding application server.
  • the user message of the terminal may need to modify the header so that the application can recognize it as being delivered to the application server 250.
  • the server message processing apparatus 410 periodically transmits a control message (connection maintenance message or update confirmation message) to the application server for the registered application, and communicates between the application server 250 and the terminal message processing apparatus 310.
  • a control message connection maintenance message or update confirmation message
  • the classification of the message may be implemented through header analysis or similar.
  • the actual classification may vary depending on the type of application.
  • the control message generated by the terminal application is reduced through the wireless network, thereby reducing the wireless network load and increasing the idle time of the radio module of the terminal, thereby reducing battery consumption.
  • the terminal message processing apparatus 310 and the server message processing apparatus 410 may operate without modification of an application.
  • each block of the flowchart illustrations and combinations of flowchart illustrations may be performed by computer program instructions. Since these computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, those instructions executed through the processor of the computer or other programmable data processing equipment may be described in flow chart block (s). It creates a means to perform the functions. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block (s).
  • Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions for performing the processing equipment may also provide steps for performing the functions described in the flowchart block (s).
  • each block may represent a portion of a module, segment, or code that includes one or more executable instructions for executing a specified logical function (s).
  • logical function e.g., a module, segment, or code that includes one or more executable instructions for executing a specified logical function (s).
  • the functions noted in the blocks may occur out of order.
  • the two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the corresponding function.
  • ' ⁇ part' used in the present embodiment refers to software or a hardware component such as an FPGA or an ASIC, and ' ⁇ part' performs certain roles.
  • ' ⁇ ' is not meant to be limited to software or hardware.
  • ' ⁇ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors.
  • ' ⁇ ' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
  • the functionality provided within the components and the 'parts' may be combined into a smaller number of components and the 'parts' or further separated into additional components and the 'parts'.
  • the components and ' ⁇ ' may be implemented to play one or more CPUs in the device or secure multimedia card.
  • a terminal refers to a portable electronic device such as a mobile phone, a personal digital assistant (PDA), navigation, a digital broadcast receiver, a portable multimedia player (PMP), and the like.
  • PDA personal digital assistant
  • PMP portable multimedia player

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 메시지 처리 방법 및 장치에 관한 것으로, 본 발명의 일 실시 예에 따르는 단말 메시지 처리 장치가 단말의 메시지를 처리하는 방법은, 상기 단말의 애플리케이션으로부터 메시지를 수신하는 단계, 상기 메시지가 미리 등록된 등록 애플리케이션의 메시지인지 판단하는 단계, 상기 메시지가 상기 등록 애플리케이션의 메시지이면, 상기 메시지가 제어 메시지인지 판단하는 단계 및 상기 메시지가 제어 메시지가 아니면, 상기 메시지를 서버 메시지 처리 장치로 송신하는 단계를 포함할 수 있다. 본 발명의 일 실시 예에 따르면 애플리케이션에 관한 제어 메시지 송수신을 감소시키고 배터리 소모를 감소시키는 메시지 처리 장치 및 방법을 제공할 수 있는 효과가 있다.

Description

메시지 처리 방법 및 장치
본 발명은 메시지 처리 방법 및 장치에 관한 것으로, 더욱 상세하게는 단말의 애플리케이션에 관한 메시지를 처리하는 방법 및 장치에 관한 것이다.
스마트 폰 사용자가 빠르게 증가하고 있다. 그에 따라 스마트 폰 애플리케이션에 의해서 생성되는 트래픽 양도 급격히 늘어나, 망 전체 트래픽 양의 대부분을 차지하고 있다. 이러한 트래픽은 사용자가 생성한 메시지와 애플리케이션 동작을 위한 컨트롤 메시지를 포함한다. 컨트롤 메시지는 사용자가 애플리케이션을 사용하지 않을 때에도 하루 24시간 생성되고 그 생성 주기도 상당히 짧다.
현재 다양한 스마트 폰 애플리케이션들이 사용자들에게 소개되고 있다. 그 중 가장 많이 사용되고 있는 애플리케이션들은 소셜 네트워크 서비스(Social Network Service; SNS), 인스턴트 메신저(Instant Messenger; IM), 메일 서비스(Mail Service) 등이다. 사용되는 애플리케이션의 구체적인 예로는 카카오톡(kakaotalk), 페이스북(facebook), 트위터(twitter), 마이피플(mypeople), 지메일(gmail) 등이 있다.
이러한 애플리케이션은 크게 두 가지 방식, 즉 푸시(Push) 서비스 및 풀(Pull) 서비스 방식 중 어느 한 가지 방식으로 네트워크와 통신을 한다. 푸시 서비스 방식에 따르면, 네트워크에 사용자 데이터가 발생할 때 서버가 연결을 주도하여 사용자에게 실시간으로 데이터를 보내 준다. 사용자간의 대화를 전송하는 IM 애플리케이션은 실시간성이 중요하기 때문에 주로 푸시 서비스 방식으로 구현된다. 이에 반면 풀 서비스 방식에 따르면, 단말이 주도하여 주기적으로 서버에 접속하여 네트워크에 발생한 사용자 데이터를 가져온다. 소셜 네트워크 서비스들은 상대적으로 실시간성이 덜 중요하기 때문에 주로 풀 서비스 방식으로 구현된다.
셀룰러 망에서 푸시 서비스를 제공하기 위해서는 단말과 애플리케이션 서버 사이에 TCP(Transmission Control Protocol) 세션이 항상 설정되어 있어야 한다. 셀룰러 망은 네트워크 주소 변환(Network Address Translation; NAT)을 사용하여 단말에게 내부 네트워크 주소를 할당한다. 따라서 셀룰러 망 밖에 위치한 서버는 단말의 공인 IP 주소를 알 수가 없다. 사용자 데이터가 발생하였을 때 서버가 단말에게 데이터를 전송하기 위해서는 TCP 연결을 설정해야 한다. 하지만 셀룰러 망 밖에 위치한 서버는 단말의 IP 주소를 모르기 때문에 TCP 세션을 설정하고 데이터를 전송할 수 없다. 따라서 셀룰러 망에서 푸시 서비스를 제공하기 위해서 단말과 서버는 TCP 세션을 계속 유지한다. 이를 위해서 단말은 주기적으로 연결 유지 메시지 또는 킵얼라이브(Keepalive) 메시지를 서버에게 전송한다.
풀 서비스 방식에 따르면, 단말은 설정된 시각에, 및/또는 주기적으로 서버에 접속하여 사용자 갱신 데이터가 있는 지 확인한다. 만약 갱신 데이터가 있으면 단말은 서버로부터 데이터를 가져온다. 풀 서비스는 단말이 TCP 세션을 설정하기 때문에 푸시 서비스와 같이 TCP 세션을 유지할 필요는 없다. 다만 단말이 주기적으로 TCP 세션을 설정하는 비용이 소요된다.
도 1은 종래 방식에 따르는 애플리케이션 서비스를 위한 네트워크 구성도이다.
도 1을 참조하면 종래 방식의 네트워크는 단말(110) 및 애플리케이션 서버들(120, 130, 140)을 포함한다. 푸시 서비스 방식 또는 풀 서비스 방식 중 어느 방식에 따르더라도, 사용자의 애플리케이션 조작 여부와 관계 없이 단말(110)은 주기적으로 제어 메시지를 생성하고 애플리케이션 서버들(120, 130, 140)에 송신한다. 통상 하나의 단말에는 여러 개의 애플리케이션이 설치되고 또한 스마트 폰의 사용자가 크게 증가하였기 때문에 이러한 제어 메시지는 셀룰러 망에 상당한 부담이 된다. 이하에서 사용자의 조작에 따라 생성되는 메시지를 사용자 메시지라고 칭하고 사용자 조작과 관계없이 주기적으로 생성되는 메시지를 제어 메시지라고 칭한다.
푸시 서비스 방식에 따르면, 각 애플리케이션은 각 애플리케이션 서버(120, 130, 140)와 TCP 세션을 맺고, 이를 유지하기 위해서 연결 유지 메시지(Keepalive)를 주고 받는다. 풀 서비스 방식에 따르면, 각 애플리케이션은 각 애플리케이션 서버(120, 130, 140)에 대해 주기적인 폴링(polling)을 한다. 이러한 문제를 해결하기 위해서 C2DM(Android Cloud to Device Messaging) 서버와 APNS(Apple Push Notification Service) 서버와 같은 협력(Coordination) 서버가 소개되었다.
APNS나 C2DM과 같은 협력 서버는 셀룰러 망에서의 단말과 여러 애플리케이션 서버들 간의 TCP 세션을 하나의 TCP 세션을 대체할 수 있도록 한다. 하지만 이러한 협력 서버는 실질적으로 전송되는 제어 메시지의 양을 줄이지는 않는다. 예를 들어 주기적으로 사용자 업데이트 데이터를 가져오는 폴링 기반의 애플리케이션은 사용자 업데이트가 없는 경우에도 폴링을 위한 제어 메시지를 망에 전송하게 된다.
또 하나의 문제는 애플리케이션들이 APNS나 C2DM과 같은 서버들을 사용하기 위해서는 애플리케이션을 수정해야 한다는 것이다. 애플리케이션 서버들은 협력 서버와 통신을 하기 위한 인터페이스를 마련해야 하고 단말에 설치되는 애플리케이션들도 마찬가지로 협력 서버와의 통신을 위한 인터페이스를 마련해야 한다. 결국 애플리케이션 제작 업체의 협력이 필요하다.
네트워크 제공 기업은 망의 부하를 줄이기 위해 이러한 솔루션에 관심을 가질 수 있다. 또한 단말 제작 업체는 배터리 소모를 줄이기 위해 이러한 솔루션에 관심을 가질 수 있다. 하지만 애플리케이션 제작 업체는 상대적으로 이러한 문제와 이해관계가 적어서 문제 해결에 협력하지 않을 우려가 있다. 따라서 애플리케이션 수정 없이 이러한 문제를 해결할 방안이 필요하다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로 애플리케이션에 관한 제어 메시지 송수신을 감소시키고 배터리 소모를 감소시킬 수 있는 메시지 처리 장치 및 방법을 제공하는데 그 목적이 있다.
상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 단말 메시지 처리 장치가 단말의 메시지를 처리하는 방법은, 상기 단말의 애플리케이션으로부터 메시지를 수신하는 단계, 상기 메시지가 미리 등록된 등록 애플리케이션의 메시지인지 판단하는 단계, 상기 메시지가 상기 등록 애플리케이션의 메시지이면, 상기 메시지가 제어 메시지인지 판단하는 단계 및 상기 메시지가 제어 메시지가 아니면, 상기 메시지를 서버 메시지 처리 장치로 송신하는 단계를 포함할 수 있다.
상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 단말의 메시지를 처리하는 단말 메시지 처리 장치는, 상기 단말의 애플리케이션으로부터 메시지를 수신하는 인터페이스부, 상기 메시지가 미리 등록된 등록 애플리케이션의 메시지인지 판단하고, 상기 메시지가 상기 등록 애플리케이션의 메시지이면, 상기 메시지가 제어 메시지인지 판단하는 필터부 및 상기 메시지가 제어 메시지가 아니면, 상기 메시지를 서버 메시지 처리 장치로 송신하는 메시지 처리부를 포함할 수 있다.
상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 서버 메시지 처리 장치가 서버의 메시지를 처리하는 방법은, 단말 메시지 처리 장치로부터 미리 설정된 목적 애플리케이션의 실행 사실을 통지받는 단계, 상기 실행 사실을 통지받으면, 상기 통지받은 목적 애플리케이션을 등록 애플리케이션으로 등록하는 단계 및 상기 등록 애플리케이션에 상응하는 서버에 주기적으로 제어 메시지를 송신하는 단계를 포함할 수 있다.
상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 서버의 메시지를 처리하는 서버 메시지 처리 장치는, 단말 메시지 처리 장치로부터 미리 설정된 목적 애플리케이션의 실행 사실을 통지받는 인터페이스부, 상기 실행 사실을 통지받으면, 상기 통지받은 목적 애플리케이션을 등록 애플리케이션으로 등록하는 제어부 및 상기 등록 애플리케이션에 상응하는 서버에 주기적으로 제어 메시지를 송신하는 메시지 처리부를 포함할 수 있다.
본 발명의 일 실시 예에 따르면 애플리케이션에 관한 제어 메시지 송수신을 감소시키고 배터리 소모를 감소시키는 메시지 처리 장치 및 방법을 제공할 수 있는 효과가 있다.
도 1은 종래 방식에 따르는 애플리케이션 서비스를 위한 네트워크 구성도이다.
도 2는 본 발명의 일 실시 예에 따르는 네트워크 구성도이다.
도 3은 본 발명의 일 실시 예에 따르는 단말(300)의 블록구성도이다.
도 4는 본 발명의 일 실시 예에 따르는 서버 메시지 처리 장치(410)의 블록구성도이다.
도 5는 본 발명의 일 실시 예에 따르는 목적 애플리케이션의 등록 과정을 나타낸 도면이다.
도 6은 본 발명의 일 실시 예에 따르는 목적 애플리케이션의 등록 해제 과정을 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 따르는 단말(300)의 계층도이다.
도 8은 본 발명의 일 실시 예에 따르는 P-GW(230) 및 애플리케이션 서버(250)의 계층도이다.
도 9는 본 발명의 일 실시 예에 따르는 단말 메시지 처리 장치(310)의 메시지 처리 과정의 순서도이다.
도 10은 본 발명의 일 실시 예에 따르는 서버 메시지 처리 장치(410)의 메시지 처리 과정의 순서도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
이하, 본 발명의 실시 예들에 의하여 메시지 처리 장치 및 방법을 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
이하 본 명세서에서 목적 애플리케이션은 본 발명이 제공하는 메시지 처리의 대상이 되는 애플리케이션을 말한다. 예를 들어 메시지 처리 장치는 미리 설정된 애플리케이션, 예를 들어 페이스북 및 트위터에 관한 메시지를 처리한다고 가정할 수 있다. 이 경우 목적 애플리케이션은 페이스북 및 트위터이다. 목적 애플리케이션은 단말 제조자, 망 제공자, 소프트웨어 개발자 등에 의하여 선정될 수 있다.
이하 본 명세서에서 등록 애플리케이션은 목적 애플리케이션 중 현재 메시지 처리가 필요하다고 등록된 애플리케이션이다. 특정 목적 애플리케이션이 포어그라운드에서 실행되는 경우, 백그라운드에서 실행되는 경우, 그리고 사용자가 목적 애플리케이션에 대해 푸시 서비스를 제공받도록 설정한 경우 모두 주기적인 메시지 확인이 필요하다. 따라서 이러한 경우 메시지 처리 장치는 메시지 처리가 필요한 애플리케이션을 등록 애플리케이션으로 등록하고 특별하게 취급한다.
도 2는 본 발명의 일 실시 예에 따르는 네트워크 구성도이다.
도 2를 참조하면 네트워크는 단말(300), 기지국(210, eNB), 서빙 게이트웨이(220, S-GW), 패킷 데이터 네트워크 게이트웨이(230)(P-GW; PDN-GW; Packet Data Network Gateway) 및 인터넷(240)을 포함한다.
단말(300)에는 애플리케이션들(380)이 설치돼 있다. 또한 애플리케이션들(380)로부터의 메시지 및 애플리케이션들(380)을 목표로 하는 메시지는 단말 메시지 처리 장치(310)에 의해 처리된다. 단말 메시지 처리 장치(310)는 단말(300)의 일 구성부가 될 수 있다. 변형 예에 따르면 단말 베시지 처리 장치(310)는 단말(300)의 외부 장치로서 단말(300)에 부착 및 연결될 수 있다.
단말(300)과 P-GW(230) 사이는 기지국(210) 및 S-GW(220)를 통해 연결된다. P-GW(230)는 서버 메시지 처리 장치(410)를 포함한다. 서버 메시지 처리 장치(410)는 애플리케이션 서버들(250)로부터의 메시지 및 애플리케이션 서버들(250)을 목표로 하는 메시지를 처리한다. 변형 예에 따르면 서버 메시지 처리 장치(410)는 P-GW(230)의 외부 장치로서 P-GW(230)에 연결될 수 있다. 또한 서버 메시지 처리 장치(410)는 기지국(210) 또는 서빙 게이트웨이(220) 기타 셀룰러 네트워크의 구성 요소의 일 구성부가 되거나 기지국(210) 또는 서빙 게이트웨이(220) 기타 셀룰러 네트워크와 연결될 수도 있다. 다만 이하에서는 P-GW(230)가 서버 메시지 처리 장치(410)를 포함하는 것으로 가정한다. 단말 메시지 처리 장치(310) 및 서버 메시지 처리 장치(410)는 애플리케이션들(380)과 애플리케이션 서버들(250) 사이에서 메시지를 적절히 처리하여 셀룰러 망에서의 트래픽을 줄인다. 상세한 구성은 도 3 내지 도 10을 참조하여 후술한다.
도 3은 본 발명의 일 실시 예에 따르는 단말(300)의 블록구성도이다.
단말(300)은 단말 메시지 처리 장치(310) 애플리케이션 관리자(370), 애플리케이션들(380) 및 통신부(390)를 포함한다.
애플리케이션들(380)은 사용자의 제어에 따라 애플리케이션 기능을 제공한다. 예를 들어 페이스북 애플리케이션은 페이스북 서버에 접속해서 사용자에게 뉴스피드를 제공하거나 사용자가 새로운 글을 올릴 수 있도록 한다. 애플리케이션들(380)은 목적 애플리케이션 및 그 외의 애플리케이션으로 구분할 수 있다. 상술한 바와 같이 목적 애플리케이션은 단말 제조자, 망 제공자, 소프트웨어 개발자 등이 미리 설정할 수 있다.
애플리케이션 관리자(370)는 애플리케이션의 실행 상태를 관리한다. 특히 애플리케이션 관리자(370)는 애플리케이션(380)의 실행 및 종료, 푸시 알림 설정을 모니터링한다. 목적 애플리케이션이 실행되거나 사용자가 푸시 알림을 설정한 경우, 그리고 목적 애플리케이션이 종료되거나 사용자가 푸시 알림을 해제한 경우 이를 단말 메시지 처리 장치(310)에게 통지한다.
단말 메시지 처리 장치(310)는 필터부(320) 인터페이스부(330) 및 메시지 처리부(340)를 포함한다.
인터페이스부(330)는 애플리케이션들(380)로부터 메시지를 수신한다. 인터페이스부(330)는 애플리케이션 관리자(370)로부터 목적 애플리케이션의 실행 사실 또는 종료 사실을 통지받는다.
이하 본 명세서에서 실행 사실은 애플리케이션에 관한 주기적 메시지 확인이 필요한 상태가 되었다는 사실이다. 실행 사실은 애플리케이션이 실행된 사실 및/또는 해당 애플리케이션에 대한 푸시 알림 설정 사실을 포함할 수 있다. 예를 들어 애플리케이션이 포어그라운드/백그라운드에서 실행 중이거나, 실행 중이 아니더라도 그에 대한 푸시 알림이 설정된 경우 주기적 메시지 확인이 필요한 상태이다.
이하 본 명세서에서 종료 사실은 애플리케이션에 관한 주기적 메시지 확인이 필요하지 않은 상태가 되었다는 사실이다. 종료 사실은 애플리케이션이 종료된 사실 및/또는 해당 애플리케이션에 대한 푸시 알림 해제 사실을 포함할 수 있다. 예를 들어 애플리케이션이 포어그라운드/백그라운드에서 실행 중이 아니고 또한 그에 대한 푸시 알림이 설정되지 않은 경우 주기적 메시지 확인이 필요하지 않은 상태이다.
필터부(320)는 수신한 메시지가 미리 등록된 등록 애플리케이션의 메시지인지 판단하고, 수신한 메시지가 등록 애플리케이션의 메시지이면, 수신한 메시지가 제어 메시지인지 판단한다. 필터부(320)는 수신한 메시지가 제어 메시지이면, 그 메시지를 무시하거나, 그 메시지에 대한 가상 응답 메시지를 생성하여 상응하는 애플리케이션(380)에게 전달할 수 있다. 또한 필터부(320)는 인터페이스부(330)가 목적 애플리케이션의 실행 사실을 통지받으면 실행된 목적 애플리케이션을 등록 애플리케이션으로 등록할 수 있다. 필터부(320)는 인터페이스부(330)가 목적 애플리케이션의 종료 사실을 통지받으면 종료된 목적 애플리케이션을 등록 애플리케이션으로부터 등록 해제할 수 있다.
메시지 처리부(340)는 수신한 메시지가 제어 메시지가 아니면, 그 메시지를 서버 메시지 처리 장치(410)로 송신한다. 메시지 처리부(340)는 서버 메시지 처리 장치(410)로부터 서버 메시지를 수신하고, 그 서버 메시지를 상응하는 애플리케이션(380)에 전달할 수 있다. 또한 메시지 처리부(340)는 목적 애플리케이션의 실행 사실을 통지받으면 그 실행 사실을 서버 메시지 처리 장치(410)로 통지할 수 있다. 또한 메시지 처리부(340)는 목적 애플리케이션의 종료 사실을 통지받으면 그 종료 사실을 서버 메시지 처리 장치(410)로 통지할 수 있다.
통신부(390)는 단말(300)의 통신을 담당한다. 통신부(390)는 무선 통신 프로토콜을 통해 음성 통신, 데이터 통신 등을 수행할 수 있다.
도 4는 본 발명의 일 실시 예에 따르는 서버 메시지 처리 장치(410)의 블록구성도이다.
서버 메시지 처리 장치(410)는 제어부(420), 인터페이스부(430) 및 메시지 처리부(440)를 포함한다.
인터페이스부(430)는 단말 메시지 처리 장치(310)로부터 목적 애플리케이션의 실행 사실 및/또는 종료 사실을 통지받는다.
제어부(420)는 인터페이스부(430)가 목적 애플리케이션의 실행 사실을 통지받으면 통지받은 목적 애플리케이션을 등록 애플리케이션으로 등록한다. 제어부(420)는 인터페이스부(430)가 반대로 목적 애플리케이션의 종료 사실을 통지받으면 통지받은 목적 애플리케이션을 등록 애플리케이션으로부터 등록 해제한다.
메시지 처리부(440)는 그 등록 애플리케이션에 상응하는 서버에 주기적으로 연결 유지 메시지 또는 갱신 확인 메시지를 송신할 수 있다. 연결 유지 메시지 또는 갱신 확인 메시지는 애플리케이션 서버 측에 갱신된 내용이 있는 경우 빠른 시간 내에 확인할 수 있도록 하기 위해 주기적으로 송신된다. 반대로 메시지 처리부(440)는 등록 해제된 애플리케이션에 대해서는 메시지를 송신하지 않는다. 메시지 처리부(440)는 서버로부터 등록 애플리케이션에 관한 갱신 메시지를 수신하고 수신한 갱신 메시지를 단말 메시지 처리 장치(310)로 전달한다. 또한 메시지 처리부(440)는 단말 메시지 처리 장치(310)로부터 사용자 메시지, 즉 사용자의 글 등록 명령 등을 수신하면 이를 상응하는 서버에 송신한다.
단말 메시지 처리 장치(310) 및 서버 메시지 처리 장치(410)의 구체적인 동작에 대해서는 도 5 내지 도 10을 참조하여 상세히 후술한다.
도 5는 본 발명의 일 실시 예에 따르는 목적 애플리케이션의 등록 과정을 나타낸 도면이다. 목적 애플리케이션이 실행되거나 그에 대한 푸시 알림이 설정되면 단말 메시지 처리 장치(310) 및 서버 메시지 처리 장치(410)는 그 목적 애플리케이션을 등록 애플리케이션으로 등록한다.
단계 510에서 애플리케이션 관리자(370)는 단말 메시지 처리 장치(310)에게 목적 애플리케이션이 실행된 사실, 즉 메시지의 주기적 송신이 필요함을 통지한다. 단계 520에서 단말 메시지 처리 장치(310)는 목적 애플리케이션 실행 사실을 통지받으면 그 목적 애플리케이션을 등록 애플리케이션으로 등록한다. 단말 메시지 처리 장치(310)는 복수의 목적 애플리케이션을 등록 애플리케이션으로 등록할 수 있다. 또한 단계 530에서 단말 메시지 처리 장치(310)는 그 목적 애플리케이션의 실행 사실을 서버 메시지 처리 장치(410)로 통지한다. 단계 540에서 서버 메시지 처리 장치(410)는 목적 애플리케이션 실행 사실을 통지받으면 그 목적 애플리케이션을 등록 애플리케이션으로 등록한다. 서버 메시지 처리 장치(410)는 복수의 목적 애플리케이션을 등록 애플리케이션으로 등록할 수 있다. 또한 서버 메시지 처리 장치(410)는 각 단말에 대해 별도의 등록 애플리케이션 집합을 유지할 수 있다.
도 6은 본 발명의 일 실시 예에 따르는 목적 애플리케이션의 등록 해제 과정을 나타낸 도면이다. 목적 애플리케이션이 종료되거나 푸시 알림이 해제되면 단말 메시지 처리 장치(310) 및 서버 메시지 처리 장치(410)는 그 목적 애플리케이션을 등록 애플리케이션으로부터 등록 해제한다.
단계 610에서 애플리케이션 관리자(370)는 단말 메시지 처리 장치(310)에게 목적 애플리케이션이 종료된 사실, 즉 메시지의 주기적 송신이 필요하지 않음을 통지한다. 단계 620에서 단말 메시지 처리 장치(310)는 목적 애플리케이션 종료 사실을 통지받으면 그 목적 애플리케이션을 등록 애플리케이션으로부터 해제한다. 또한 단계 630에서 단말 메시지 처리 장치(310)는 그 목적 애플리케이션의 종료 사실을 서버 메시지 처리 장치(410)로 통지한다. 단계 640에서 서버 메시지 처리 장치(410)는 목적 애플리케이션 종료 사실을 통지받으면 그 목적 애플리케이션을 등록 애플리케이션으로부터 등록 해제한다.
도 5 및 도 6의 과정을 통해 등록 애플리케이션이 유지된다. 단말 메시지 처리 장치(310) 및 서버 메시지 처리 장치(410)는 등록 애플리케이션에 관한 메시지만을 필터링하여 도 7 내지 도 10과 같은 방식으로 처리한다.
도 7은 본 발명의 일 실시 예에 따르는 단말(300)의 계층도이다.
단말(300)의 계층(layer)은 애플리케이션 계층(710) TCP/UDP(User Datagram Protocol) 계층(720), IP(Internet Protocol) 계층(730) 및 라디오 모듈 계층(740)을 포함한다. 라디오 모듈 계층(410)은 PDCP(Packet Data Convergence Protocol) 계층(741), RLC(Radio Link Control) 계층(742), MAC(Media Access Control) 계층(743) 및 PHY(physical) 계층(744)을 포함한다. 필터부(310)는 IP 계층(730)과 PDCP 계층(741) 사이에 위치한다. 애플리케이션(380)의 메시지는 애플리케이션 계층(710) TCP/UDP 계층(720) 및 IP 계층(730)을 지나 필터부(310)로 전달된다.
필터부(310)는 메시지를 분석하여 그 메시지가 등록 애플리케이션의 메시지인지 판단한다. 예를 들어 필터부(310)는 메시지의 헤더를 참조하거나 목적 IP 주소, 메시지 타입 정보 등을 참조할 수 있다. 메시지의 분류 방법은 각 애플리케이션의 특성에 따라 달라질 수 있다. 필터부(310)는 수신한 메시지가 등록 애플리케이션의 메시지인 경우 메시지 처리부(340)로 전달한다. 반대로 수신한 메시지가 등록 애플리케이션의 메시지가 아닌 경우 라디오 모듈(740)을 통해 통상적인 방식으로 송신한다.
메시지 처리부(340)는 수신한 메시지를 분석하여 그 메시지가 제어 메시지인지 판단한다. 제어 메시지는 예를 들어 연결 유지 메시지(Keepalive) 및/또는 주기적인 갱신 확인 메시지를 포함할 수 있다. 수신한 메시지가 제어 메시지가 아니고 사용자 메시지라면, 메시지 처리부(340)는 그 사용자 메시지를 서버 메시지 처리 장치(410)로 송신한다. 수신한 메시지가 제어 메시지라면, 메시지 처리부(340)는 이를 스스로 처리한다. 즉, 가상 응답 메시지를 생성하여 애플리케이션에 전달하거나, 무시할 수 있다.
예를 들어 애플리케이션이 폴링 방식의 서비스를 지원한다면, 메시지 처리부(340)는 애플리케이션으로부터 갱신 확인 메시지를 수신하였을 때 갱신 내용이 없다는 메시지를 생성하여 응답할 수 있다. 다만 서버 메시지 처리 장치(410)로부터 갱신 메시지를 수신할 경우 메시지 처리부(340)는 이를 저장하고 있다가 갱신 확인 메시지를 수신하였을 때 저장하고 있던 갱신 메시지를 애플리케이션에게 전달할 수 있다.
애플리케이션이 푸시 방식의 서비스를 지원한다면, 메시지 처리부(340)는 애플리케이션으로부터 연결 유지 메시지를 수신하면, 이를 무시하거나 적절히 응답하여 애플리케이션이 애플리케이션 서버와 연결된 것처럼 인식할 수 있도록 한다. 실제로는 애플리케이션과 메시지 처리부(340) 사이의 세션이 연결된 상태이다. 다만 서버 메시지 처리 장치(410)로부터 갱신 메시지를 수신할 경우 메시지 처리부(340)는 푸시 방식으로 애플리케이션에 갱신 메시지를 전달할 수 있다.
이러한 방식에 따르면 단말(300)은 애플리케이션 서버(250)와 TCP 세션을 유지하거나 애플리케이션 서버(250)에 주기적으로 갱신 확인 메시지를 송신할 필요가 없다. 따라서 라디오 모듈 계층(740)의 전원을 차단한 상태로 유지할 수 있어 전원 절약에 도움이 된다. 또한 무선 망을 통해 세션 유지 메시지나 갱신 확인 메시지가 반복적으로 전달되는 것을 막을 수 있어 트래픽을 감소시키는 데에도 도움을 준다.
도 8은 본 발명의 일 실시 예에 따르는 P-GW(230) 및 애플리케이션 서버(250)의 계층도이다.
단말 메시지 처리 장치(310)가 송신한 사용자 메시지 또는 애플리케이션 실행/종료 사실 통지는 P-GW(230) 내에서 L1/L2 계층(850), IP 계층(880), UDP 계층(870), GTP-U(GPRS Tunneling Protocol User Plane) 계층(860) 및 IP 계층(840)으로 전달된다. 메시지는 다시 애플리케이션 서버(250)로 전달되기 위해 L1/L2 계층으로 전달된다. 다만 그 이전에 필터(810)는 수신한 메시지가 등록 애플리케이션에 관한 메시지인지 판단한다. 필터(810)는 메시지의 헤더를 참조하거나 목적 IP 주소, 메시지 타입 정보 등을 참조할 수 있다. 메시지의 분류 방법은 각 애플리케이션의 특성에 따라 달라질 수 있다. 등록 애플리케이션에 관한 메시지는 서버 메시지 처리 장치(410)로 전달되고, 그 외의 메시지는 종래의 방식대로 애플리케이션 서버로 전달될 수 있다.
서버 메시지 처리 장치(410)는 애플리케이션 실행/종료 메시지에 따라 등록 애플리케이션을 변경한다. 또한 서버 메시지 처리 장치(410)는 수신한 사용자 메시지를 변경하여 해당 단말의 애플리케이션이 송신한 것을 확인할 수 있도록 한다. 이후 서버 메시지 처리 장치(410)는 변경된 사용자 메시지를 애플리케이션 서버(250)에게 송신한다.
서버 메시지 처리 장치(410)는 애플리케이션 서버(250)와 TCP 세션을 유지할 수 있다. 이를 위해 서버 메시지 처리 장치(410)는 애플리케이션 서버(250)에 주기적으로 등록 애플리케이션에 관한 연결 유지 메시지를 송신할 수 있다. 이 경우 서버 메시지 처리 장치(410)는 애플리케이션 서버(250)로부터 갱신 메시지를 푸시 방식으로 수신할 수 있다. 갱신 메시지를 수신하면 서버 메시지 처리 장치(410)는 단말 메시지 처리 장치(310)에게 이를 송신할 수 있다.
변형 예에 따르면 서버 메시지 처리 장치(410)는 애플리케이션 서버(250)에게 주기적으로 갱신 확인 메시지를 송신할 수 있다. 이 경우 서버 메시지 처리 장치(410)는 애플리케이션 서버(250)로부터 갱신 확인 메시지에 대한 응답으로서 갱신 메시지를 수신할 수 있다. 갱신 메시지를 수신하면 서버 메시지 처리 장치(410)는 단말 메시지 처리 장치(310)에게 이를 송신할 수 있다.
어느 경우든 서버 메시지 처리 장치(410)는 애플리케이션 서버(250)에게 주기적으로 제어 메시지(갱신 확인 메시지 또는 연결 유지 메시지)를 송신한다. 다만 P-GW(230)와 애플리케이션 서버(240)는 유선으로 연결돼 있으므로 무선 통신망에 비해 트래픽 제한이 적다. 또한, 서버 메시지 처리 장치(410)는 셀룰러 망 내인 P-GW(230)에 위치하므로, 세션을 유지하지 않더라도 갱신이 있는 경우 쉽게 단말(300)에게 메시지를 송신할 수 있다.
도 9는 본 발명의 일 실시 예에 따르는 단말 메시지 처리 장치(310)의 메시지 처리 과정의 순서도이다.
단계 910에서 단말 메시지 처리 장치(310)는 애플리케이션으로부터 메시지를 수신한다.
단계 920에서 단말 메시지 처리 장치(310)는 수신 메시지가 등록 애플리케이션의 메시지인지 판단한다. 수신 메시지가 등록 애플리케이션의 메시지가 아닌 경우 과정은 단계 925로 진행하여 종래의 방식대로 메시지가 송신되거나 처리된다. 수신 메시지가 등록 애플리케이션의 메시지인 경우 과정은 단계 930으로 진행한다.
단계 930에서 단말 메시지 처리 장치(310)는 수신한 메시지가 제어 메시지인지 판단한다. 수신 메시지가 제어 메시지가 아닌 경우 과정은 단계 935로 진행하여 메시지는 서버 메시지 처리 장치로 전달된다. 수신 메시지가 제어 메시지인 경우 과정은 단계 940으로 진행한다.
단계 940에서 단말 메시지 처리 장치(310)는 수신한 메시지에 대한 응답 메시지가 필요한지 판단한다. 예를 들어 수신한 메시지가 연결 유지 메시지이며 별도의 응답이 필요하지 않은 경우 과정은 단계 945로 진행하여 단말 메시지 처리 장치(310)는 수신 메시지를 무시한다. 수신한 메시지가 갱신 확인 메시지이며, 그에 대한 응답이 필요한 경우 과정은 단계 950으로 진행하여 단말 메시지 처리 장치(310)는 갱신 내용이 없다는 내용의 가상 응답 메시지를 생성하여 애플리케이션에 응답한다. 물론 이전에 서버 메시지 처리 장치(410)로부터 수신한 갱신 메시지가 있는 경우 이를 애플리케이션에게 전달할 수 있다. 다만 갱신 메시지는 애플리케이션이 인식하기에 애플리케이션 서버(250)로부터 직접 수신한 것으로 인식할 수 있는 형태로 변형되어 애플리케이션에게 전달되어야 한다.
도 10은 본 발명의 일 실시 예에 따르는 서버 메시지 처리 장치(410)의 메시지 처리 과정의 순서도이다.
단계 1010에서 서버 메시지 처리 장치(410)는 목적 애플리케이션이 실행된 사실을 통지받는다. 단계 1020에서 서버 메시지 처리 장치(410)는 통지받은 목적 애플리케이션을 등록 애플리케이션으로 등록한다.
단계 1030에서 서버 메시지 처리 장치(410)는 연결 유지 메시지 또는 갱신 확인 메시지의 송신 주기에 도달했는지 판단한다. 주기에 도달한 경우 단계 1035에서 서버 메시지 처리 장치(410)는 애플리케이션이 송신하는 연결 유지 메시지 또는 갱신 확인 메시지 대체하여 애플리케이션이 송신하는 것처럼 인식할 수 있도록 헤더를 변경하여 애플리케이션 서버(250)에 연결 유지 메시지 또는 갱신 확인 메시지를 송신한다.
주기에 도달하지 않은 경우 단계 1040에서 서버 메시지 처리 장치(410)는 애플리케이션 서버(250)로부터 등록 애플리케이션에 관한 갱신 메시지를 수신하였는지 판단한다. 폴링 방식 또는 푸시 방식에 관계없이 서버 메시지 처리 장치(410)는 애플리케이션 서버(250)로부터 등록 애플리케이션에 관한 갱신 메시지를 빠른 시간 내에 수신할 수 있다. 서버 메시지 처리 장치(410)가 등록 애플리케이션에 관한 갱신 메시지를 수신한 경우 과정은 1045로 진행하여 서버 메시지 처리 장치(410)는 수신한 갱신 메시지를 단말 메시지 처리 장치(310)로 전달한다. 단말 메시지 처리 장치(310)는 이를 애플리케이션에 전달할 것이다. 서버 메시지 처리 장치(410)가 등록 애플리케이션에 관한 갱신 메시지를 수신하지 않은 경우 과정은 단계 1050으로 진행한다.
단계 1050에서 서버 메시지 처리 장치(410)는 등록 애플리케이션에 관한 단말의 사용자 메시지를 수신하였는지 판단한다. 단말의 사용자 메시지가 발생하면 서버 메시지 처리 장치(410)는 단말 메시지 처리 장치(310)를 통해 사용자 메시지를 수신할 수 있다. 서버 메시지 처리 장치(410)가 단말의 사용자 메시지를 수신하면, 과정은 단계 1055로 진행하여 서버 메시지 처리 장치(410)가 이를 상응하는 애플리케이션 서버에게 전달할 수 있다. 다만 단말의 사용자 메시지는 애플리케이션이 애플리케이션 서버(250)에 전달하는 것으로 인식할 수 있도록 헤더를 수정해야 할 것이다.
즉, 서버 메시지 처리 장치(410)는 등록 애플리케이션에 대한 애플리케이션 서버에 주기적으로 제어 메시지(연결 유지 메시지 또는 갱신 확인 메시지)를 송신하고, 애플리케이션 서버(250)와 단말 메시지 처리 장치(310) 사이의 통신을 중개한다.
상술한 메시지 처리 과정에서 메시지의 분류는 헤더 분석 기타 유사한 방식을 통해 구현될 수 있다. 실제 분류는 애플리케이션의 종류에 따라 달라질 수 있다.
상술한 본 발명의 실시 예들에 따르면, 단말 애플리케이션이 발생하는 제어 메시지가 무선 망을 통해 전달되는 것을 줄여서 무선 망 부하를 줄이고 또한 단말의 라디오 모듈의 유휴 시간을 늘려 배터리 소모를 줄일 수 있다. 본 발명의 실시 예들에 따르면 단말 메시지 처리 장치(310) 및 서버 메시지 처리 장치(410)는 애플리케이션의 수정 없이도 동작할 수 있다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 발명의 일 실시 예에 따른 단말은 휴대폰, PDA(Personal Digital Assistant), 내비게이션(navigation), 디지털 방송 수신기, PMP(Portable Multimedia Player) 등과 같은 휴대용 전자기기 장치를 말한다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (14)

  1. 단말 메시지 처리 장치가 단말의 메시지를 처리하는 방법에 있어서
    상기 단말의 애플리케이션으로부터 메시지를 수신하는 단계;
    상기 메시지가 미리 등록된 등록 애플리케이션의 메시지인지 판단하는 단계;
    상기 메시지가 상기 등록 애플리케이션의 메시지이면, 상기 메시지가 제어 메시지인지 판단하는 단계; 및
    상기 메시지가 제어 메시지가 아니면, 상기 메시지를 서버 메시지 처리 장치로 송신하는 단계를 포함하는 메시지 처리 방법.
  2. 제1항에 있어서,
    상기 메시지가 제어 메시지이면, 상기 메시지를 무시하거나, 상기 메시지에 대한 가상 응답 메시지를 생성하여 상기 애플리케이션에 전달하는 단계를 더 포함하는 메시지 처리 방법.
  3. 제1항에 있어서,
    상기 서버 메시지 처리 장치로부터 서버 메시지를 수신하는 단계; 및
    상기 서버 메시지를 상응하는 애플리케이션에 전달하는 단계를 더 포함하는 메시지 처리 방법.
  4. 제1항에 있어서,
    상기 단말의 애플리케이션 관리자로부터 미리 설정된 목적 애플리케이션의 실행 사실을 통지받는 단계;
    상기 실행 사실을 통지받으면, 상기 실행된 목적 애플리케이션을 등록 애플리케이션으로 등록하는 단계; 및
    상기 실행 사실을 통지받으면, 상기 실행 사실을 상기 서버 메시지 처리 장치로 통지하는 단계를 더 포함하는 메시지 처리 방법.
  5. 단말의 메시지를 처리하는 단말 메시지 처리 장치에 있어서
    상기 단말의 애플리케이션으로부터 메시지를 수신하는 인터페이스부;
    상기 메시지가 미리 등록된 등록 애플리케이션의 메시지인지 판단하고, 상기 메시지가 상기 등록 애플리케이션의 메시지이면, 상기 메시지가 제어 메시지인지 판단하는 필터부; 및
    상기 메시지가 제어 메시지가 아니면, 상기 메시지를 서버 메시지 처리 장치로 송신하는 메시지 처리부를 포함하는 메시지 처리 장치.
  6. 제5항에 있어서,
    상기 필터부는 상기 메시지가 제어 메시지이면, 상기 메시지를 무시하거나, 상기 메시지에 대한 가상 응답 메시지를 생성하여 상기 애플리케이션에 전달하는 것을 특징으로 하는 메시지 처리 장치.
  7. 제5항에 있어서,
    상기 메시지 처리부는 상기 서버 메시지 처리 장치로부터 서버 메시지를 수신하고, 상기 서버 메시지를 상응하는 애플리케이션에 전달하는 것을 특징으로 하는 메시지 처리 장치.
  8. 제5항에 있어서,
    상기 인터페이스부는 상기 단말의 애플리케이션 관리자로부터 미리 설정된 목적 애플리케이션의 실행 사실을 통지받고,
    상기 필터부는 상기 실행 사실을 통지받으면, 상기 실행된 목적 애플리케이션을 등록 애플리케이션으로 등록하고,
    상기 메시지 처리부는 상기 실행 사실을 통지받으면, 상기 실행 사실을 상기 서버 메시지 처리 장치로 통지하는 것을 특징으로 하는 메시지 처리 방법.
  9. 서버 메시지 처리 장치가 서버의 메시지를 처리하는 방법에 있어서
    단말 메시지 처리 장치로부터 미리 설정된 목적 애플리케이션의 실행 사실을 통지받는 단계;
    상기 실행 사실을 통지받으면, 상기 통지받은 목적 애플리케이션을 등록 애플리케이션으로 등록하는 단계; 및
    상기 등록 애플리케이션에 상응하는 서버에 주기적으로 제어 메시지를 송신하는 단계를 포함하는 메시지 처리 방법.
  10. 제9항에 있어서,
    상기 서버로부터 갱신 메시지를 수신하는 단계; 및
    상기 갱신 메시지를 상기 단말 메시지 처리 장치로 송신하는 단계를 더 포함하는 메시지 처리 방법.
  11. 제9항에 있어서,
    상기 단말 메시지 처리 장치로부터 사용자 메시지를 수신하는 단계; 및
    상기 사용자 메시지를 상기 서버에 송신하는 단계를 더 포함하는 메시지 처리 방법.
  12. 서버의 메시지를 처리하는 서버 메시지 처리 장치에 있어서
    단말 메시지 처리 장치로부터 미리 설정된 목적 애플리케이션의 실행 사실을 통지받는 인터페이스부;
    상기 실행 사실을 통지받으면, 상기 통지받은 목적 애플리케이션을 등록 애플리케이션으로 등록하는 제어부; 및
    상기 등록 애플리케이션에 상응하는 서버에 주기적으로 제어 메시지를 송신하는 메시지 처리부를 포함하는 메시지 처리 장치.
  13. 제12항에 있어서,
    상기 메시지 처리부는 상기 서버로부터 갱신 메시지를 수신하고, 상기 갱신 메시지를 상기 단말 메시지 처리 장치로 송신하는 것을 특징으로 하는 메시지 처리 장치.
  14. 제12항에 있어서,
    상기 메시지 처리부는 상기 단말 메시지 처리 장치로부터 사용자 메시지를 수신하고, 상기 사용자 메시지를 상기 서버에 송신하는 것을 특징으로 하는 메시지 처리 장치.
PCT/KR2012/010419 2011-12-21 2012-12-04 메시지 처리 방법 및 장치 WO2013094895A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/367,811 US10003516B2 (en) 2011-12-21 2012-12-04 Method and apparatus for processing messages

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110139100A KR20130071723A (ko) 2011-12-21 2011-12-21 메시지 처리 방법 및 장치
KR10-2011-0139100 2011-12-21

Publications (1)

Publication Number Publication Date
WO2013094895A1 true WO2013094895A1 (ko) 2013-06-27

Family

ID=48668737

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/010419 WO2013094895A1 (ko) 2011-12-21 2012-12-04 메시지 처리 방법 및 장치

Country Status (3)

Country Link
US (1) US10003516B2 (ko)
KR (1) KR20130071723A (ko)
WO (1) WO2013094895A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
WO2013009337A2 (en) 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
GB2505272B (en) 2012-05-04 2014-07-09 Box Inc Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
GB2513671A (en) 2012-08-27 2014-11-05 Box Inc Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9195519B2 (en) * 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9344373B2 (en) * 2014-06-13 2016-05-17 International Business Machines Corporation Packet I/O support for a logical switch router architecture
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040045803A (ko) * 2002-11-25 2004-06-02 와이더덴닷컴 주식회사 무선단말기에 대한 정보서비스 제공 방법 및 이에 적합한프로그램 제공 방법
KR20060108474A (ko) * 2005-04-14 2006-10-18 주식회사 케이티프리텔 멀티미디어 데이터 전송 방법, 장치 및 이를 위한프로그램이 기록된 기록매체 및 멀티미디어 데이터 전송제어 방법
KR100724429B1 (ko) * 2005-12-22 2007-06-04 엘지전자 주식회사 수신측 클라이언트에서의 메시지 전달을 제어하는휴대단말기 및 그 방법
WO2011093982A1 (en) * 2010-01-26 2011-08-04 Motorola Mobility, Inc. A mobile computing device and method for maintaining application continuity
KR20110129731A (ko) * 2010-05-26 2011-12-02 주식회사 케이티 푸시 통지 시스템 및 푸시 통지 제공 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188143B2 (en) * 2001-07-06 2007-03-06 Yahoo! Inc. Messenger-controlled applications in an instant messaging environment
CA2476697A1 (en) * 2003-08-19 2005-02-19 Karim Moheb Zaki Remote reminders application system
JP4331195B2 (ja) * 2006-10-26 2009-09-16 株式会社東芝 電話システム
JP5682996B2 (ja) * 2010-02-04 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
JP6023054B2 (ja) * 2011-06-30 2016-11-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 通信システム、ユーザ端末並びに通信装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040045803A (ko) * 2002-11-25 2004-06-02 와이더덴닷컴 주식회사 무선단말기에 대한 정보서비스 제공 방법 및 이에 적합한프로그램 제공 방법
KR20060108474A (ko) * 2005-04-14 2006-10-18 주식회사 케이티프리텔 멀티미디어 데이터 전송 방법, 장치 및 이를 위한프로그램이 기록된 기록매체 및 멀티미디어 데이터 전송제어 방법
KR100724429B1 (ko) * 2005-12-22 2007-06-04 엘지전자 주식회사 수신측 클라이언트에서의 메시지 전달을 제어하는휴대단말기 및 그 방법
WO2011093982A1 (en) * 2010-01-26 2011-08-04 Motorola Mobility, Inc. A mobile computing device and method for maintaining application continuity
KR20110129731A (ko) * 2010-05-26 2011-12-02 주식회사 케이티 푸시 통지 시스템 및 푸시 통지 제공 방법

Also Published As

Publication number Publication date
US10003516B2 (en) 2018-06-19
KR20130071723A (ko) 2013-07-01
US20150019723A1 (en) 2015-01-15

Similar Documents

Publication Publication Date Title
WO2013094895A1 (ko) 메시지 처리 방법 및 장치
TWI551112B (zh) 用於電路交換音訊通話及視訊通話間轉變之非暫時性有形機器可讀媒體及用戶端器件
WO2012115385A2 (en) Apparatus and method for providing universal plug and play service based on wi-fi direct connection in portable terminal
EP2721805A2 (en) Apparatus and method for exchanging data between upnp based devices
CN101282336A (zh) 支持参与会话初始化协议(sip)会话的电子设备的无缝移动性的技术
WO2013077594A1 (ko) 채팅 중 http를 이용한 파일 전송을 위한 장치 및 기록매체
CN107172572B (zh) 基于低功耗蓝牙的虚连接方法及利用该方法的无线充电协议
WO2013012184A2 (ko) 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법
WO2013165088A1 (en) Distributed transcoding apparatus and method using multiple servers
WO2013069979A1 (ko) Http를 이용한 파일 전송 시스템, 그의 메시지 서버, 단말 및 방법
EP2583423A2 (en) Apparatus and method for configuring personal network using pn routing table
WO2014092372A1 (en) Method and apparatus for cloud based power management of local network devices
CN113194550B (zh) 数据通道的构建方法、服务器及数据集群系统
CN101778244B (zh) 一种无线视频会议系统及加入普通语音用户的方法
WO2017092387A1 (zh) 一种可穿戴设备的通信实现方法及系统
WO2009128616A2 (ko) 인터넷 프로토콜 비디오폰 및 광고제공 시스템
CN103533054B (zh) 多终端间实现协同处理的方法及多终端协同处理装置
US11457390B2 (en) Method and system for automatically resuming call after network handover
WO2018182245A1 (en) Method and apparatus for transmitting and receiving data in mission critical data communication system
WO2020085539A1 (en) Method for establishing peer to peer service session over infrastructure link
CN102282886B (zh) 一种实现语音业务的方法、移动终端、装置和系统
WO2012144828A2 (en) Method and apparatus for managing push service
WO2019024850A1 (zh) 一种传输信息的方法、基站的工作方法及基站
CN110809242B (zh) 一种dect网络集群下的媒体交互方法
KR100700020B1 (ko) 휴지 상태의 단말로 패킷 데이터 서비스를 제공하는 방법및 그 시스템

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14367811

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12861032

Country of ref document: EP

Kind code of ref document: A1