METHOD FOR PROVIDING PUSH NOTIFICATIONS AND ELECTRONIC DEVICE SUPPORTING THE SAME - Patent application

By utilizing bidirectional communication and switching paths based on user connection attributes, the method optimizes push notification transmission, ensuring reliability and scalability, addressing the limitations of existing methods.

JP2026506417APending Publication Date: 2026-02-25COUPANG CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025524467
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-05-12
Filing Date
2023-05-15
Publication Date
2026-02-25

AI Technical Summary

Technical Problem

Existing push notification methods face challenges in ensuring reliability and efficiency, particularly when transmitting to multiple users with limited server resources, leading to network bottlenecks and reduced data processing capacity.

Method used

The method involves confirming user information and connection attributes to transmit push notifications through a first path using bidirectional communication, such as polling, long polling, or web socket connections, and switching to a second path via an external server if the user is offline, thereby optimizing message transmission.

Benefits of technology

This approach enhances the speed and reliability of push notifications, allowing for scalable transmission to a large number of users even with limited server resources, reducing network load and improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026506417000001_ABST
    Figure 2026506417000001_ABST
Patent Text Reader

Abstract

According to an embodiment, the present invention provides a method for providing a push notification and an electronic device supporting the same. In the electronic device according to various embodiments disclosed herein, the method for providing a push notification includes confirming a push notification request related to an application; confirming user information corresponding to the push notification request; confirming information on connection attributes of the user's device related to the application based on the user information; and transmitting a push notification message corresponding to the push notification request to the user's device via a first path based on the information on the connection attributes, where the first path may include a data transmission path through bidirectional communication between the electronic device and the user's device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a method and an electronic device for providing push notification, and more particularly to a method and an apparatus for transmitting a push notification message to a user terminal through a path based on connection attributes between the electronic device and the user terminal. [Background technology]

[0002] With the development of electronic technology, e-commerce has become established as a field of shopping. Customers can purchase goods online without visiting a shopping mall, market or store, and the goods purchased online can be delivered to the address requested by the customer.

[0003] In the case of e-commerce, providing detailed and accurate information about products has a significant impact on service satisfaction, and therefore, various methods for providing more detailed and accurate information are being discussed.

[0004] A push message may be a short message that pops up on a desktop browser, a mobile home screen, or the like. In particular, by periodically and appropriately providing application-related push messages to a user's device, the user's application-related experience and the user's application usage time can be significantly improved. When an electronic device associated with an application transmits push messages to multiple users associated with the application, a third-party messaging service can be used. While this has the advantage of reducing network bottlenecks and the data processing capacity of the electronic device, there is a need to propose an effective method for ensuring the reliability of push notifications. Summary of the Invention [Problem to be solved by the invention]

[0005] According to the method of the present invention, the electronic device may provide a push notification to the user's terminal.

[0006] The technical problems to be solved by the present invention are not limited to the technical problems mentioned above, and other unmentioned technical problems will be clearly understood by those skilled in the art to which the present invention pertains from the following description. [Means for solving the problem]

[0007] Various embodiments may provide a method for providing push notifications and an electronic device that supports the same.

[0008] In an electronic device according to various embodiments disclosed herein, a method for providing a push notification includes the steps of: confirming a push notification request related to an application; confirming user information corresponding to the push notification request; confirming information regarding connection attributes of the user's terminal related to the application based on the user information; and transmitting a push notification message corresponding to the push notification request to the user's terminal via a first path based on the information regarding the connection attributes, wherein the first path may include a data transmission path through bidirectional communication between the electronic device and the user's terminal.

[0009] In an embodiment, the two-way communication may include at least some of a polling, long polling, and web socket connection, and the transmitting step may include transmitting the push notification message based on a two-way communication connection confirmed based on connection attribute information corresponding to the user.

[0010] In an embodiment, the push notification providing method may further include receiving request information regarding the establishment of the two-way communication transmitted in response to execution of the application on the user's terminal; confirming information regarding the type of the two-way communication based on the request information; transmitting response information regarding the two-way communication to the user's terminal based on the information regarding the type; and generating information regarding connection attributes corresponding to the two-way communication.

[0011] In an embodiment, the information regarding the connection attributes may include at least some of connection status information, information regarding the type of the two-way communication, IP (Internet Protocol) information of the user terminal, identification information corresponding to the establishment of the two-way communication, and identification information regarding the user terminal.

[0012] In an embodiment, the method may further include transmitting a connection status request message to a user terminal with which the two-way communication has been established; and updating information about the connection attributes corresponding to the user terminal based on whether a connection status response message corresponding to the connection status request message has been received from the user terminal.

[0013] In some embodiments, the method may further include generating the push notification message corresponding to the push notification request based on information about the connection attributes.

[0014] In an embodiment, the push notification message may include at least a portion of identification information corresponding to the user's terminal, identification information of the user, and text information corresponding to the push notification.

[0015] In an embodiment, the method may further include generating a push notification message based on confirmation of the push notification request; and confirming information about the connection attributes based on the user information included in the push notification message.

[0016] In an embodiment, when the push notification message is transmitted through the first route, the method may further include receiving, from the user's terminal, a reception result message corresponding to the terminal's reception of the push notification message; and generating information regarding a transmission result of the push notification message transmitted through the first route based on the reception result message.

[0017] In some embodiments, the method may further include generating information about a current transmission status for each path regarding the transmitted push notification message based on the information about the connection attributes.

[0018] In an embodiment, the method may include: determining whether the user is online based on information about the connection attributes; and if the user is online, transmitting the push notification message to the user's terminal through the first route, and if the user is not online, transmitting the push notification message to the user's terminal through a second route, wherein the second route may include at least a portion of one or more connections between the electronic device and an external server providing a messaging service, which are determined based on the user's terminal information.

[0019] In an embodiment, the method may include: checking information regarding the number of one or more users maintaining two-way communication with the electronic device based on information regarding connection attributes of one or more users related to the application; and transmitting the push notification message through the second route corresponding to at least some of the one or more users based on the information regarding the number of the one or more users.

[0020] An electronic device according to various embodiments disclosed herein includes a communication unit; a memory; and a processor, wherein the processor is configured to: check a push notification request related to an application; check user information corresponding to the push notification request; check information regarding connection attributes of the user's terminal related to the application based on the user information; and transmit a push notification message corresponding to the push notification request to the user's terminal via a first path based on the information regarding the connection attributes, wherein the first path may include a data transmission path through bidirectional communication between the electronic device and the user's terminal.

[0021] In an electronic device according to various embodiments disclosed herein, a non-transitory recording medium having recorded thereon a program for causing a computer to execute the method for providing push notification may include the steps of: confirming a push notification request related to an application; confirming user information corresponding to the push notification request; confirming information regarding connection attributes of the user's terminal related to the application based on the user information; and transmitting a push notification message corresponding to the push notification request to the user's terminal via a first path based on the information regarding the connection attributes, wherein the first path includes a data transmission path through bidirectional communication between the electronic device and the user's terminal. [Effects of the Invention]

[0022] According to the method of the present invention, the electronic device transmits the push notification through the established two-way communication with the user terminal, thereby achieving the technical effect of improving the transmission speed and reliability of the message.

[0023] According to the method of the present invention, an electronic device transmits push notifications to a user terminal using continuous two-way communication, thereby enabling push notifications to be transmitted to a large number of users even when the server resources of the electronic device are limited, and enhancing scalability when linked with other services and infrastructure.

[0024] The effects obtained by the present invention are not limited to the effects mentioned above, and other effects not mentioned above will be clearly understood by those having ordinary skill in the art to which the present invention pertains from the following description. [Brief explanation of the drawings]

[0025] [Figure 1] 1 is a diagram illustrating a system 100 for providing push notifications in which a method for an electronic device to provide push notifications according to various embodiments may be implemented. [Figure 2] 1A and 1B are diagrams illustrating configurations of an electronic device, an administrator device, and a user terminal according to various embodiments. [Figure 3] 10 is a flowchart illustrating an operation of an electronic device transmitting a push notification message according to various embodiments. [Figure 4] 10A and 10B are diagrams illustrating a method in which an electronic device provides a push notification via a communication path according to various embodiments. [Figure 5] 10 is a flowchart illustrating an operation of transmitting a push notification message based on whether an electronic device is online or not, according to various embodiments. [Figure 6] 10 is a flowchart illustrating operations performed by an electronic device to generate information related to connection attributes, according to various embodiments. [Figure 7] 10 is a flowchart illustrating an operation of an electronic device updating information related to connection attributes according to various embodiments. [Figure 8] 10 is a flowchart illustrating an operation of an electronic device generating information about a transmission result according to various embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0026] The following embodiments combine elements and features of various embodiments in a predetermined form. Each element or feature may be considered optional unless otherwise explicitly stated. Each element or feature may be implemented in a form not combined with other elements or features. Also, some elements and features may be combined to form various embodiments. The sequence of operations described in various embodiments may be changed. Some elements or features of one embodiment may be included in another embodiment or may be replaced with corresponding elements or features of another embodiment.

[0027] In the description of the drawings, procedures, steps, etc. that would obscure the gist of various embodiments are not described, and procedures or steps that can be understood by a person with ordinary knowledge in the relevant technical field are not described.

[0028] Throughout the specification, when a part "comprising" or "including" a certain element(s), this does not mean excluding other elements, but may further include other elements, unless specifically stated to the contrary. Furthermore, terms such as "unit," "unit," and "module" used herein refer to a unit that processes at least one function or operation, and may be embodied in hardware, software, or a combination of hardware and software. Furthermore, in the context of describing various embodiments (particularly in the context of the claims below), the terms "a" (or "an"), "one," "the," and similar related terms may be used to include both the singular and the plural, unless otherwise indicated herein or clearly recited by context.

[0029] Preferred embodiments of various embodiments will be described in detail below with reference to the accompanying drawings. The detailed description disclosed below in conjunction with the accompanying drawings is intended to describe exemplary embodiments of various embodiments and is not intended to represent the only embodiments.

[0030] Furthermore, specific terms used in various embodiments are provided to aid in understanding the various embodiments, and the use of such specific terms may be changed to other forms without departing from the technical spirit of the various embodiments.

[0031] It will be understood that each block of the process flowchart diagrams and combinations of flowchart diagrams can be implemented by computer program instructions. These computer program instructions can be loaded into a processor of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that the instructions, executed by the processor of the computer or other programmable data processing device, create means for performing the functions described in the flowchart block(s). These computer program instructions can also be stored in computer-usable or computer-readable memory that can direct the computer or other programmable data processing device to implement the functions in a particular way, such that the instructions stored in the computer-usable or computer-readable memory can produce an article of manufacture containing instruction means for performing the functions described in the flowchart block(s). The computer program instructions may be embodied on a computer or other programmable data processing device such that a series of operational steps are performed on the computer or other programmable data processing device to create a computer-implemented process, and the instructions that cause the computer or other programmable data processing device to provide steps for performing the functions described in the flowchart block(s).

[0032] Also, each block may represent a module, segment, or portion of code that includes one or more executable instructions for performing specific logical function(s). Also, it should be noted that in some alternative implementations, the functions noted in the blocks may occur out of order. For example, two blocks shown in succession may actually be performed substantially simultaneously, or the blocks may sometimes be performed in reverse order depending on the function in question.

[0033] FIG. 1 is a diagram illustrating a system 100 for providing a push notification in which a method for an electronic device to provide a push notification according to various embodiments may be implemented.

[0034] 1, the system 100 for providing a push notification according to various embodiments may be embodied in various types of devices. For example, the system 100 for providing a push notification may be embodied in an electronic device 101, an administrator device 102, and a user terminal 104. In other words, the electronic device 101, the administrator device 102, and the user terminal 104 may perform operations according to various embodiments of the present disclosure based on the system 100 for providing a push notification embodied in each device. Meanwhile, the system 100 for providing a push notification according to various embodiments is not limited to that illustrated in FIG. 1 and may be embodied in various electronic devices and servers.

[0035] According to various embodiments, the electronic device 101 may be a device that performs wireless and wired communication with one or more administrator devices 102 and user terminals 104 and includes storage with a large storage capacity. For example, the electronic device 101 may be a cloud device connected to one or more administrator devices 102 and user terminals 104.

[0036] According to various embodiments, the administrator device 102 may be a device that can be used by a personal user, such as a desktop PC, a tablet PC, a mobile terminal, etc. Other electronic devices that perform similar functions may also be used as the administrator device 102.

[0037] In various embodiments, the user terminal 104 may be a device that can be used by a personal user, such as a desktop PC, a tablet PC, a mobile terminal, etc. Other electronic devices that perform similar functions may also be used as the administrator device 102.

[0038] The system 100 for providing a push notification according to various embodiments may include various modules for operation. The modules included in the system 100 for providing a push notification may be computer code or one or more instructions embodied to enable a physical device (e.g., an electronic device 101) in which the system 100 for providing a push notification is implemented (or included in a physical device) to perform a specified operation. In other words, the physical device in which the system 100 for providing a push notification is implemented stores multiple modules in the form of computer code in a memory, and when the multiple modules stored in the memory are executed, the multiple modules may cause the physical device to perform the specified operations corresponding to the multiple modules.

[0039] According to an embodiment, the system 100 for providing a push notification may further include a network that supports information transmission and reception between at least some of the electronic device 101, the administrator device 102, the user terminal 104, and other external devices (e.g., a messaging server 103). The messaging server 103 may be a third-party server that provides a messaging service for transmitting a push notification message from the electronic device 101 to the user terminal 104. The messaging server 103 used to provide the push notification message may include a server device that supports various services depending on information about the user terminal 104. For example, a different messaging server 103 (e.g., APNs (Apple Push Notification service) or GCM (Google Cloud Messaging)) may be used based on platform information of the operating system corresponding to the user terminal 104 (e.g., iOS or Android).

[0040] Meanwhile, although the electronic device 101, the worker device 102, and the user terminal 104 are referred to as separate devices and servers throughout the embodiments, these may be logically separated structures and may be implemented as separate functions from a single device or server. For example, at least a portion of the worker device 102 and the user terminal 104 may be included in the electronic device 101 or may be integrated and connected to the electronic device 101. However, even in such cases, a series of methods for providing push notifications performed by transmitting and receiving data between the electronic device 101, the administrator device 102, and the user terminal 104 may be performed in a similar manner. In the case of devices that are included in the electronic device 101 or integrated and connected to the electronic device 101, communication with the electronic device 101 may be understood as a process of exchanging data between its components within the device (e.g., with the processor of the electronic device 101).

[0041] For ease of explanation, the following describes an embodiment in which the worker device 102 and the user terminal 104 exist in a device or server separate from the electronic device 101, but the following description may also be applied mutatis mutandis to cases in which at least a portion of the worker device 102 and the user terminal 104 are included in the electronic device 101 or are combined with the electronic device 101 to form an integrated structure.

[0042] FIG. 2 is a diagram illustrating the configuration of an electronic device, an administrator device, and a user terminal according to various embodiments.

[0043] Referring to FIG. 2, the electronic device 101, the administrator device 102, and the user terminal 104 may include an input / output unit 210, a communication unit 220, a storage 230, and a processor 240.

[0044] The input / output unit 210 may be various interfaces, connection ports, etc. that receive user input or output information to a user. The input / output unit 210 may include an input module and an output module. The input module receives user input from a user. User input may be provided in various forms, including key input, touch input, and voice input. Examples of input modules that can receive such user input include traditional keypads, keyboards, and mice, as well as touch sensors that detect user touches, microphones that input voice signals, cameras that recognize gestures through image recognition, proximity sensors including at least one of an illuminance sensor and an infrared sensor that detect the approach of a user, motion sensors that recognize user movements through an acceleration sensor, a gyro sensor, etc., and various other input means for detecting or receiving user input. An input module according to an embodiment of the present disclosure may include at least one of the above devices. Here, the touch sensor may be implemented as a piezoelectric or electrostatic touch sensor that detects touch through a touch panel or touch film attached to a display panel, an optical touch sensor that detects touch through an optical method, etc. Alternatively, the input module may be embodied in the form of an input interface (such as a USB port or a PS / 2 port) that connects an external input device that receives user input, instead of a device that senses user input independently. The output module can output various types of information. The output module may include at least one of a display that outputs video, a speaker that outputs sound, a haptic device that generates vibration, and various other types of output means. Alternatively, the output module may be embodied in the form of a port-type output interface that connects the aforementioned individual output means.

[0045] For example, the output module in the form of a display may display text, still images, and moving images. The display may include at least one of various types of devices capable of performing an image output function, such as a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flat panel display (FPD), a transparent display, a curved display, a flexible display, a 3D display, a holographic display, a projector, and other devices. Such a display may be in the form of a touch display integrated with the touch sensor of the input module.

[0046] The communication unit 220 can communicate with other devices. Thus, the electronic device 101, the administrator device 102, and the user terminal 104 can send and receive information to and from other devices through the communication unit. For example, the electronic device 101, the administrator device 102, and the user terminal 104 can use the communication unit to communicate with each other or with other devices.

[0047] Here, communication, i.e., data transmission and reception, can be performed wired or wirelessly. To this end, the communication unit can be configured as a wired communication module that connects to the Internet or the like through a LAN (Local Area Network), a mobile communication module that connects to a mobile communication network via a mobile communication base station and transmits and receives data, a short-range communication module that uses a WLAN (Wireless Local Area Network) communication method such as Wi-Fi or a WPAN (Wireless Personal Area Network) communication method such as Bluetooth (registered trademark) or Zigbee (registered trademark), a satellite communication module that uses a GNSS (Global Navigation Satellite System) such as GPS (Global Positioning System), or a combination thereof.

[0048] The storage 230 may store various types of information. The storage may store data temporarily or semi-permanently. For example, the storage of the electronic device 101 may store an operating system (OS) for running the electronic device 101, data for hosting a website, and data related to a program or application (e.g., a web application) for generating Braille. The storage may also store modules in the form of computer code, as described above.

[0049] Examples of storage 230 include a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a read-only memory (ROM), a random access memory (RAM), etc. Such storage may be provided as an internal or removable type.

[0050] The processor 240 controls the overall operation of the electronic device 101, the administrator device 102, and the user terminal 104. To this end, the processor 240 may perform calculations and processing of various information and control the operation of the components of the electronic device 101. For example, the processor 240 may execute a program or application for providing push notifications. The processor 240 may be embodied as a computer or similar device using hardware, software, or a combination thereof. In terms of hardware, the processor 240 may be embodied in the form of an electronic circuit that processes electrical signals and performs control functions, and in terms of software, it may be embodied in the form of a program that drives the hardware processor 240. Meanwhile, unless otherwise specified in the following description, the operations of the electronic device 101, the administrator device 102, and the user terminal 104 may be interpreted as being performed under the control of the processor 240. In other words, when a module embodied in the above-described system 100 for providing push notifications is executed, the module may be interpreted as the processor 240 controlling the electronic device 101, the administrator device 102, and the user terminal 104 to perform the following operations.

[0051] In summary, the various embodiments may be implemented by various means, such as hardware, firmware, software, or a combination thereof.

[0052] In the case of a hardware implementation, the methods according to various embodiments may be implemented using one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, etc.

[0053] In the case of implementation by firmware or software, methods according to various embodiments may be implemented in the form of modules, procedures, or functions that perform the functions or operations described below. For example, software code may be stored in a memory and executed by a processor. The memory may be located inside or outside the processor, and data may be exchanged with the processor by various means known in the art.

[0054] Hereinafter, various embodiments will be described in more detail based on the above technical ideas. The above-described content may be applied to the various embodiments described below. For example, operations, functions, terms, etc. not defined in the various embodiments described below may be performed and explained based on the above-described content.

[0055] In the following description, various embodiments are described assuming that the electronic device 101 performs a push notification providing operation, and according to various embodiments, the electronic device 101 may send and receive information related to the push notification providing operation with the user terminal 104.

[0056] FIG. 3 is a flowchart illustrating an operation of an electronic device transmitting a push notification message according to various embodiments.

[0057] Referring to FIG. 3, it can be clearly understood that some operations performed by the electronic device 101 to provide a push notification may be modified or replaced, or the order of some operations may be changed, within the scope that would be clearly understood by a person skilled in the art in the technical field to which the present invention belongs.

[0058] In operation S301, the electronic device 101 may confirm a push notification request. The push notification request may include a request for a push notification to be transmitted to the user terminal 104. In one embodiment, the push notification request may include at least some of information about the user receiving the push notification, information about message content corresponding to the push notification, and information about the user's terminal 104. In one embodiment, the push notification request may be generated from the administrator device 102 and transmitted to the electronic device 101. In one embodiment, the push notification request may be generated in connection with a service (e.g., an e-commerce service) that the electronic device 101 provides to the user.

[0059] In operation S302, the electronic device 101 may confirm user information. According to an embodiment, the user information may include at least some of the user's account information, identification information corresponding to the user account, and information about the user's terminal 104. The electronic device 101 may confirm the push notification request S301 and confirm user information corresponding to the push notification request.

[0060] In operation S303, the electronic device 101 may check information about connection attributes of the user terminal related to the application. According to one embodiment, the information about the connection attributes may include attribute information about the communication connection between the electronic device 101 and the user terminal 104 generated by the electronic device 101. According to one embodiment, the information about the connection attributes may include information about the two-way communication established between the electronic device 101 and the user terminal 104. According to one embodiment, the information about the two-way communication established between the electronic device 101 and the user terminal 104 may include at least some of information about the type of two-way communication and whether the connection is maintained, Internet Protocol (IP) information of the user terminal, identification information corresponding to the establishment of the two-way communication, and identification information about the user terminal. According to one embodiment, the electronic device 101 may generate, store, and manage information about the connection attributes by assigning identification information to each corresponding user.

[0061] According to one embodiment, the type of bidirectional communication established between the electronic device 101 and the user terminal 104 may include at least some of polling, long polling, and a Web Socket connection. According to one embodiment, the bidirectional communication may include persistent bidirectional communication. The persistent bidirectional communication may be performed based on connection status messages transmitted and received between the electronic device 101 and the user terminal 104. For example, after bidirectional communication is established, the electronic device 101 may transmit a connection status request message to the user terminal 104 at a specified time interval and periodically update information about connection attributes based on whether a connection status response message corresponding to the connection status request message is received from the user terminal. Through persistent bidirectional communication, the electronic device 101 may persistently maintain a communication connection with the user terminal 104, transmit a response to a request received from the user terminal 104 while maintaining the communication connection with the user terminal 104, and reuse the communication connection to transmit a response to an additional request. This may reduce the number of Transmission Control Protocol (TCP) connections established with multiple user terminals 104, thereby reducing network load.

[0062] According to one embodiment, the electronic device 101 may establish a two-way communication connection with the user terminal 104 when the user is running an application using the user terminal 104, i.e., when the user is online with the application.

[0063] In operation S304, the electronic device 101 may transmit a push notification message through a first path based on the connection attributes. The electronic device 101 may check the connection attributes and transmit a push notification message corresponding to the push notification request through the first path. The first path may include a data transmission path through bidirectional communication between the electronic device 101 and the user terminal 104. The electronic device 101 may check whether the user is online based on the connection attribute information. For example, the electronic device 101 may check whether a bidirectional communication connection is maintained between the user terminal 104 and the electronic device 101 based on the connection attribute information (information regarding the connection attributes corresponding to the user information) between the electronic device 101 and the user terminal 104. If the bidirectional communication connection is maintained, the electronic device 101 may check whether the user is running an application, i.e., is online. If the electronic device 101 is online, it may transmit a push notification message through the first path. In this case, it is possible to check whether the message transmission was successful, and restrictions on the format and capacity of the transmitted message are reduced, making it possible to transmit messages of various formats and large capacities and ensuring the reliability of message transmission.

[0064] When the user is not online, the electronic device 101 may transmit the push notification message through a second path. The second path may include a path in which a connection between the user terminal 104 and the electronic device 101 is relayed through a messaging server. For example, the electronic device 101 may transmit the push notification message to the messaging server 103, and the messaging server 103 may transmit the push notification message to the user terminal 104. In this case, the data processing load of the electronic device 101 may be reduced.

[0065] FIG. 4 is a diagram illustrating a method for an electronic device to provide a push notification via a communication path according to various embodiments.

[0066] Referring to FIG. 4 , the processor 240 of the electronic device 101 may transmit a push notification request 410 to the message relay service 420. The push notification request 410 may include at least some of the following: information about the user receiving the push notification, information about the message content corresponding to the push notification, and information about the user's device 104. According to one embodiment, the push notification request 410 may include request information for transmitting the push notification and a push notification message. According to one embodiment, the push notification request 410 may include at least some of the following: identification information corresponding to the user device, identification information of the user, and content information corresponding to the push notification. The content information may include at least some of text, images, and videos. According to one embodiment, the push notification request 410 may include a token. The token may include at least some of the following: information about the validity of the push notification, identification information of the push notification, and information about whether the user device 104 receiving the push notification is a valid device. The message relay service 420 may refer to at least some of an information processing unit, application, or computer program implemented in the processor 240 or at least some of the memory (e.g., storage 230) of the electronic device 101.

[0067] 4, the message relay service 420 may check whether the user is online 430. The message relay service 420 may check connection attribute information corresponding to the user terminal 104 based on the push notification request 410, and may check whether the user is online based on the connection attribute information.

[0068] 4, when a user is online, the electronic device 101 may transmit a push notification message to the user terminal 104 via a first path 441. According to one embodiment, the first path 441 may include a data transmission path through two-way communication between the electronic device 101 and the user terminal 104. The two-way communication is communication established between the two-way communication service 440 and the user terminal 104, and according to one embodiment, may include persistent two-way communication. The electronic device 101 may transmit and receive data to and from the user terminal 104 via two-way communication, and through persistent two-way communication, the electronic device 101 may transmit and receive data continuously without establishing a new connection as long as the user terminal 104 is online.

[0069] Referring to FIG. 4 , when the user is not online, the electronic device 101 may select a platform based on information about the user terminal 104. The platform may include information about the operating system (OS) of the user terminal 104. The electronic device 101 may select one of a first messaging service 451 and a second messaging service 452 based on the information about the platform of the user terminal. The first messaging service 451 and the second messaging service 452 may include, for example, a message relay service provided by a third party and a messaging server 103 that provides the same. The electronic device 101 may transmit a push notification message to the selected messaging service (second route). According to an embodiment, when transmitting the push notification message through the second route, the push notification message may include identification information (e.g., PCID) corresponding to the user terminal, user identification information, body information corresponding to the push notification, and a token.

[0070] FIG. 5 is a flowchart illustrating an operation of an electronic device transmitting a push notification message based on whether a user is online, according to various embodiments.

[0071] Referring to FIG. 5, it can be clearly understood that some operations of the electronic device 101 transmitting a push notification message may be modified or replaced, or the order of some operations may be changed, within the scope that would be clearly understood by a person skilled in the art in the technical field to which the present invention belongs.

[0072] In operation S501, the electronic device 101 may check information about user terminal connection attributes. Operation S501 may include at least a portion of operation S303 of FIG. 3 . The electronic device 101 may check connection attributes related to a user's application. According to one embodiment, the information about the connection attributes may include information about two-way communication established between the electronic device 101 and the user terminal 104. According to one embodiment, the information about the two-way communication established between the electronic device 101 and the user terminal 104 may include at least some of information about the type of two-way communication and whether the connection is maintained, Internet Protocol (IP) information of the user terminal, identification information corresponding to the establishment of the two-way communication, and identification information about the user terminal. According to one embodiment, the electronic device 101 may generate, store, and manage information about the connection attributes by assigning identification information to each corresponding user.

[0073] In operation S502, the electronic device 101 may determine whether the user is online. The electronic device 101 may determine whether the user is online based on connection attribute information. For example, the electronic device 101 may determine whether a two-way communication connection is maintained between the user terminal 104 and the electronic device 101 based on connection attribute information (information related to connection attributes corresponding to user information) between the electronic device 101 and the user terminal 104. If the two-way communication connection is maintained, the electronic device 101 may determine that the user is running an application, i.e., is online. If the electronic device 101 is online, it may transmit a push notification message via the first path. If the user is online, the electronic device 101 may proceed to operation S503, and if the user is not online, it may proceed to operation S505.

[0074] In operation S503, the electronic device 101 may transmit a push notification message through a first path. The first path may include a data transmission path through bidirectional communication between the electronic device 101 and the user terminal 104. The electronic device 101 may determine the type of bidirectional communication established between the electronic device 101 and the user terminal 104 based at least in part on the information related to the connection attributes, and transmit the push notification message based on the type. According to an embodiment, at least a portion of the push notification message may be modified depending on the type of bidirectional communication.

[0075] In operation S504, the electronic device 101 may generate information regarding a transmission result. When the electronic device 101 transmits a push notification message through the first path, the electronic device 101 may receive a reception result message corresponding to the reception of the push notification message from the user's device 104. When the electronic device 101 receives a reception result message from the user's device 104 in response to transmitting the push notification message to the user's device 104, the electronic device 101 may confirm that the transmission of the push notification message has been successfully completed. When the electronic device 101 does not receive a reception result message within a specified time, the electronic device 101 may confirm that the transmission of the push notification message has failed. According to one embodiment, the reception result message may include information regarding the status of the transmitted push notification message. According to one embodiment, the electronic device 101 may generate information regarding the transmission result of the push notification message based on whether the reception result message has been received. The information regarding the transmission result may include log information including information regarding the completion or failure of transmission corresponding to an attempt to transmit the push notification message. The information regarding the transmission result may include information regarding the completion or failure of transmission for each transmission attempt corresponding to one or more users. The information about the transmission result may include information about the total number of push notifications attempted to be transmitted by time and the transmission success rate. According to one embodiment, the information about the transmission result may include information about the elapsed transmission time determined based on the transmission time of the push notification message and the reception time of the reception result message. The electronic device 101 may generate dashboard information based on the information about the transmission result and update the information about the transmission result in real time.

[0076] According to one embodiment, the electronic device 101 may change the ratio between transmitting push notification messages via the first route and transmitting push notification messages via the second route based on information about the transmission results. For example, even when a user is online, if there are too many online users, a lack of data resources in the electronic device 101 may occur, resulting in inconvenience to users in receiving push notifications. The electronic device 101 may check information about the number of one or more users maintaining two-way communication with the electronic device 101 and, based on the information, transmit push notification messages to at least some of the one or more users via the second route instead of the first route. According to one embodiment, if two-way communication connections are established for a number of users greater than a specified number, the electronic device 101 may terminate two-way connection communication for at least some of the users. According to one embodiment, the electronic device 101 may check information about the number of users maintaining two-way communication or who are online in real time.

[0077] In operation S505, when the user is not online, the electronic device 101 may transmit a push notification message through a second path. The second path may include a path in which a connection between the user terminal 104 and the electronic device 101 is relayed through a messaging server. For example, the electronic device 101 may transmit a push notification message to the messaging server 103, and the messaging server 103 may transmit the push notification message to the user terminal 104.

[0078] In operation S506, the electronic device 101 may generate information regarding the current transmission status for each route. The electronic device 101 may generate information regarding the current transmission status for each first route and each second route. The information regarding the current transmission status may include information regarding the total number of messages transmitted for each route. The electronic device 101 may generate information regarding the transmission route selected for transmitting push notifications for each time period and each user. According to an embodiment, the electronic device 101 may change the ratio between transmitting push notification messages via the first route and transmitting push notification messages via the second route based on the information regarding the current transmission status for each route.

[0079] FIG. 6 is a flowchart illustrating operations of an electronic device for generating information about connection attributes according to various embodiments.

[0080] In operation S601, the electronic device 101 may receive request information for establishing two-way communication. According to one embodiment, the user terminal 104 may transmit the request information for establishing two-way communication to the electronic device 101, and the electronic device 101 may receive the request information. According to one embodiment, the request information for establishing two-way communication may include an HTTP request corresponding to a WebSocket connection.

[0081] In operation S602, the electronic device 101 may check information regarding the type of two-way communication. The electronic device 101 may check information regarding the type of two-way communication included in the request information for establishing communication. For example, the electronic device 101 may check the type information based on whether a setting value corresponding to a WebSocket connection, a polling connection, or a long polling connection is included among field values ​​included in the header information of the received request. According to one embodiment, the request information for establishment may include the type of communication and / or a key corresponding to the user terminal 104.

[0082] In operation S603, the electronic device 101 may transmit response information based on the type information. The electronic device 101 may transmit response information regarding the two-way communication to the user terminal 104, the response information including a response header corresponding to the type information of the two-way communication. According to one embodiment, the response information may include a key value included in the request information. Alternatively, the response information may include an encrypted string generated by combining the key value included in the request information with an identifier pre-specified in the electronic device 101. In response to receiving the response information, the user terminal 104 may establish a two-way communication connection with the electronic device 101 and transmit a message to the electronic device 101 including information that the connection has been established. The electronic device 101 may confirm that the connection has been established.

[0083] In operation S604, the electronic device 101 may generate information about connection attributes. The electronic device 101 may generate information about connection attributes corresponding to at least a portion of user information, user identification information, and identification information corresponding to the user terminal 104, and corresponding to the communication connection established with the user's terminal 104. Immediately after the communication connection with the user terminal 104 is established, the electronic device 101 may generate information about the connection attributes indicating "connected." In one embodiment, the information about the connection attributes may include a WebSocket object created corresponding to the WebSocket connection. In one embodiment, the information about the connection attributes may include instance information corresponding to the established communication connection. In one embodiment, the information about the connection attributes may include information about the type of communication connection, status information of the communication connection such as a connection status and / or an error status, a message buffer, an event handler, connection information (e.g., the IP address of the user terminal, a connection ID, and a connection time), and protocol information corresponding to the type. The electronic device 101 may continuously and / or periodically transmit a connection status request message to the user terminal 104 and update the information about the connection attributes based on whether a response message is received in response.

[0084] FIG. 7 is a flowchart illustrating operations for an electronic device to update information related to connection attributes according to various embodiments.

[0085] In operation S701, the electronic device 101 may transmit a connection status request message to the user terminal. According to one embodiment, the type of bidirectional communication established between the electronic device 101 and the user terminal 104 may include at least some of a polling, long polling, and Web Socket connection. According to one embodiment, the bidirectional communication may include persistent bidirectional communication. The persistent bidirectional communication may be performed based on connection status messages transmitted and received between the electronic device 101 and the user terminal 104. For example, after bidirectional communication is established, the electronic device 101 may transmit a connection status request message to the user terminal 104 at a specified time interval. The electronic device 101 may transmit the connection status request message to the user terminal 104 continuously and / or periodically. The connection status request message may be referred to as a "heartbeat message."

[0086] In operation S702, the electronic device 101 may check whether a connection status response message has been received. The connection status response message may be understood as a message transmitted by the user terminal 104 to the electronic device 101 in response to the connection status request message. The connection status request message may include connection status information confirmed based on information on the connection attributes of the user terminal 104 generated by the user terminal 104. The user terminal 104 may include connection status information on the user terminal 104 side in the connection status response message and transmit the message to the electronic device 101. The electronic device 101 may check whether a connection status response message has been received. According to one embodiment, the electronic device 101 may check whether a connection status response message has been received within a specified time from the transmission time of the connection status request message, and if the connection status response message has not been received until the specified time has passed, the electronic device 101 may confirm that the response message has not been received.

[0087] In operation S703, the electronic device 101 may update information about the connection attributes based on whether or not it has received a connection status response message. If the electronic device 101 does not receive a connection status response message, it may determine that the connection has been terminated and update the information about the connection attributes to "connection terminated." The electronic device 101 may change the connection status information to a "connection terminated" state and update the information about the connection attributes. If the connection is still being maintained, i.e., if the electronic device 101 has received a connection status response message, it may determine that the connection is still being maintained and maintain the information about the connection attributes.

[0088] FIG. 8 is a flowchart illustrating an operation of an electronic device for generating information about a transmission result according to various embodiments.

[0089] In operation S801, the electronic device 101 may transmit a push notification message through a first route. Operation S801 may include at least a portion of operation S304 in Fig. 3 or operation S503 in Fig. 5. The electronic device 101 may transmit the push notification message through the first route to the user terminal 104 based on information about the connection attributes.

[0090] In operation S802, when the electronic device 101 transmits the push notification message through the first path, it may receive a reception result message corresponding to the reception of the push notification message from the user's terminal 104. When the electronic device 101 receives the reception result message from the user's terminal 104 in response to the transmission of the push notification message to the user's terminal 104, it may confirm that the transmission of the push notification message has been successfully completed. When the electronic device 101 does not receive the reception result message within a specified time, it may confirm that the transmission of the push notification message has failed. According to one embodiment, the reception result message may include information regarding the status of the transmitted push notification message.

[0091] In operation S803, the electronic device 101 may generate information about the transmission result. According to one embodiment, the electronic device 101 may generate information about the transmission result of the push notification message based on whether the reception result message has been received. The information about the transmission result may include log information including information about the completion or failure of transmission corresponding to an attempt to transmit the push notification message. The information about the transmission result may include information about the completion or failure of each transmission attempt corresponding to one or more users. The information about the transmission result may include information about the total number of push notifications attempted by time and their transmission success rate. According to one embodiment, the information about the transmission result may include information about the elapsed transmission time determined based on the transmission time of the push notification message and the reception time of the reception result message. The electronic device 101 may generate dashboard information based on the information about the transmission result and update the information about the transmission result in real time.

[0092] According to one embodiment, the electronic device 101 may change the ratio between transmitting push notification messages via the first route and transmitting push notification messages via the second route based on information about the transmission results. For example, even when a user is online, if there are too many online users, a lack of data resources in the electronic device 101 may occur, resulting in inconvenience to users in receiving push notifications. The electronic device 101 may check information about the number of one or more users maintaining two-way communication with the electronic device 101 and, based on the information, transmit push notification messages to at least some of the one or more users via the second route instead of the first route. According to one embodiment, if two-way communication connections are established for a number of users greater than a specified number, the electronic device 101 may terminate two-way connection communication for at least some of the users. According to one embodiment, the electronic device 101 may check information about the number of users maintaining two-way communication or who are online in real time.

[0093] While the present specification and drawings disclose preferred embodiments of the present invention and use specific terms, these terms are used in a general sense merely to facilitate the description of the technical content of the present invention and to aid in the understanding of the present invention, and are not intended to limit the scope of the present invention. It will be obvious to those skilled in the art to which the present invention pertains that, in addition to the embodiments disclosed herein, other modifications based on the technical concept of the present invention can be implemented.

[0094] The electronic device or terminal according to the above-described embodiments may include a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with external devices, and user interface devices such as a touch panel, keys, icons, etc. Methods embodied in software modules or algorithms may be stored on a computer-readable recording medium as computer-readable code or program instructions executable on the processor. Examples of computer-readable recording media include magnetic storage media (e.g., read-only memory (ROM), random-access memory (RAM), floppy disks, hard disks, etc.) and optically readable media (e.g., CD-ROMs, DVDs, etc.). The computer-readable recording media may be distributed across computer systems connected to a network, allowing the computer-readable code to be stored and executed in a distributed manner. The medium is computer-readable, can be stored in memory, and can be executed by a processor.

[0095] The present embodiments may be illustrated as functional blocks and various processing steps. These functional blocks may be embodied as various hardware and / or software components that perform specific functions. For example, the embodiments may employ integrated circuit components such as memory, processing, logic, look-up tables, etc., that can perform various functions under the control of one or more microprocessors or other control devices. Just as components may be implemented in software programming or software elements, the present embodiments include various algorithms embodied in a combination of data structures, processes, routines, or other programming components, and may be implemented in programming or scripting languages ​​such as C, C++, Java, assembler, Python, etc. Functional aspects may be embodied as algorithms executed by one or more processors. The present embodiments may also employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism," "element," "means," and "component" may be used broadly and are not limited to mechanical or physical components. These terms may include a series of software routines in cooperation with a processor or the like.

[0096] The above-described embodiments are merely examples, and other embodiments may be implemented within the scope of the following claims.

Claims

1. 1. A method for providing push notifications on an electronic device, comprising: checking a push notification request associated with the application; checking user information corresponding to the push notification request; checking information about connection attributes of the user's terminal related to the application based on the user information; transmitting a push notification message corresponding to the push notification request to the user's device through a first path based on the information about the connection attribute; The first path includes a data transmission path through bidirectional communication between the electronic device and the user's terminal.

2. The two-way communication includes: including at least some of Polling, Long Polling, and Web Socket connections; The transmitting step includes: The method of claim 1 , further comprising transmitting the push notification message based on a two-way communication connection confirmed based on connection attribute information corresponding to the user.

3. The push notification providing method includes: receiving request information for establishing the two-way communication, the request information being transmitted in response to execution of the application on a user terminal; confirming information about the type of the two-way communication based on the request information; transmitting response information regarding the interactive communication to the user terminal based on the information regarding the type; The method of claim 1 , further comprising: generating information about connection attributes corresponding to the two-way communication.

4. The information about the connection attributes includes: The push notification providing method of claim 3, including at least some of connection status information, information regarding the type of the two-way communication, IP (Internet protocol) information of the user terminal, identification information corresponding to the establishment of the two-way communication, and identification information regarding the user terminal.

5. transmitting a connection status request message to a user terminal with which the two-way communication has been established; 4. The method of claim 3, further comprising: updating information about the connection attributes corresponding to the user's terminal based on whether a connection status response message corresponding to the connection status request message is received from the user's terminal.

6. The method of claim 1 , further comprising generating the push notification message corresponding to the push notification request based on information about the connection attributes.

7. The method of claim 1 , wherein the push notification message includes at least a part of identification information corresponding to the user's terminal, identification information of the user, and text information corresponding to the push notification.

8. generating a push notification message based on confirmation of the push notification request; The method of claim 1 , further comprising: checking information about the connection attributes based on the user information included in the push notification message.

9. receiving, from the user's device, a reception result message corresponding to reception of the push notification message of the device when the push notification message is transmitted through the first path; The method of claim 1 , further comprising: generating information regarding a transmission result of the push notification message transmitted through the first path based on the reception result message.

10. The method of claim 1 , further comprising generating information about a path-by-path transmission status of the transmitted push notification message based on the information about the connection attribute.

11. determining whether the user is online based on the information about the connection attributes; If the user is online, transmitting the push notification message to the user's device through the first route, and if the user is not online, transmitting the push notification message to the user's device through a second route; The method of claim 1 , wherein the second path includes at least a portion of one or more connections between the electronic device and an external server that provides a messaging service, the connections being identified based on terminal information of the user.

12. determining information regarding the number of one or more users maintaining interactive communication with the electronic device based on information regarding connection attributes for one or more users associated with the application; and transmitting the push notification message through the second route corresponding to at least some of the one or more users based on information regarding the number of the one or more users.

13. 1. An electronic device comprising: The Communications Department and Memory and a processor, The processor: Check the push notification request related to the application, Check the user information corresponding to the push notification request, Based on the user information, confirm information regarding connection attributes of the user's terminal related to the application; configured to transmit a push notification message corresponding to the push notification request to the user's device through a first path based on the information about the connection attributes; The first path includes a data transmission path through bidirectional communication between the electronic device and the user's terminal.

14. A non-transitory computer-readable recording medium having a program recorded thereon for causing a computer to execute the method of claim 1.