KR101914118B1 - Method and system for data transmitting - Google Patents
Method and system for data transmitting Download PDFInfo
- Publication number
- KR101914118B1 KR101914118B1 KR1020170044309A KR20170044309A KR101914118B1 KR 101914118 B1 KR101914118 B1 KR 101914118B1 KR 1020170044309 A KR1020170044309 A KR 1020170044309A KR 20170044309 A KR20170044309 A KR 20170044309A KR 101914118 B1 KR101914118 B1 KR 101914118B1
- Authority
- KR
- South Korea
- Prior art keywords
- messages
- client
- network
- generated
- server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
데이터 송수신 방법 및 시스템을 제공한다. 네트워크를 통한 서버의 데이터 전송 방법은, 기설정된 시간당 발생하는 메시지의 수를 모니터링하는 단계, 상기 모니터링된 메시지의 수를 기설정된 임계값과 비교하는 단계, 상기 모니터링된 메시지의 수가 상기 임계값 이하인 경우, 발생하는 메시지를 네트워크를 통해 순차적으로 클라이언트로 전송하는 단계, 상기 모니터링된 메시지의 수가 상기 임계값을 초과하는 경우, 기설정된 시간주기마다, 해당 시간주기에 발생하는 메시지들을 저장하고, 상기 해당 시간주기에 발생한 메시지들의 수를 네트워크를 통해 클라이언트로 전송하는 단계 및 상기 메시지들의 수를 수신한 클라이언트로부터의 요청에 따라, 상기 저장된 메시지들을 묶어서 네트워크를 통해 해당 클라이언트로 전송하는 단계를 포함할 수 있다.A data transmission / reception method and system are provided. A server data transmission method through a network includes monitoring a number of messages occurring per predetermined time, comparing the number of monitored messages with a predetermined threshold value, and when the number of monitored messages is equal to or less than the threshold value And transmitting the generated messages to the client sequentially through the network. When the number of the monitored messages exceeds the threshold value, messages occurring during the predetermined time period are stored in the predetermined time period, Transmitting the number of messages generated in the cycle to the client through the network, and transmitting the stored messages to the client through the network in response to a request from the client receiving the number of the messages.
Description
아래의 설명은 데이터 송수신 방법 및 시스템, 그리고 컴퓨터와 결합되어 데이터 전송 방법 또는 데이터 수신 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체에 관한 것이다.The following description relates to a data transmission / reception method and system, and a computer program and a recording medium stored in a computer-readable recording medium for causing a computer to execute a data transmission method or a data reception method in combination with a computer.
발생하는 데이터를 네트워크를 통해 전송해야 하는 경우가 존재한다. 예를 들어, 서버가 클라이언트로 지속적으로 발생하는 메시지에 대한 알림과 해당 메시지를 전송하는 경우가 존재한다. 다른 예로, 메시징 서비스에서 하나의 계정이 발생시키는 메시지는 통신 세션을 통해 해당 통신 세션에 연결된 다른 계정들로 전송되어야 한다. 예를 들어, 특허문헌 PCT/KR/2014/010167, US20140019540A1, US20130332543A1, US20130260893 등에서는 사용자들간의 통신 세션을 통해 메시지를 송수신하는 메시징 서비스에 대해 설명하고 있다.There is a case in which the generated data has to be transmitted through the network. For example, there is a case where the server notifies the client of the continuous occurrence of the message and transmits the message. As another example, a message generated by one account in a messaging service must be transmitted to the other accounts connected to that communication session via the communication session. For example, patent documents PCT / KR / 2014/010167, US20140019540A1, US20130332543A1, and US20130260893 describe a messaging service for sending and receiving messages through a communication session between users.
이러한 서비스들에서 서버는 전송해야 할 메시지가 매우 많아지는 경우에도 발생하는 모든 메시지들을 하나씩 순차적으로 해당 클라이언트에게 전송해야 한다. 그러나, 짧은 시간에 매우 많은 수의 메시지들을 처리해야 하는 경우가 존재하고, 이러한 처리가 서버의 능력을 넘어서는 경우에는 메시지에 지연이 발생하게 되며, 전송해야 할 데이터량도 증가하게 되며, 서버의 프로세스 과부하 등과 같은 많은 문제점들이 발생하게 된다. 또한, 클라이언트의 측면에서도 매우 많은 수의 알림이 한꺼번에 수신되고, 수신해야 할 데이터량이 증가하게 되고, 모바일 클라이언트의 경우에는 잦은 네트워크 수신으로 인한 배터리 소모량이 증가하게 되는 문제점이 발생하게 된다.In these services, the server must transmit all the messages that occur even when the number of messages to be transmitted is increased, one by one, to the corresponding client. However, there is a case in which a very large number of messages must be processed in a short time. If the processing exceeds the capability of the server, a delay occurs in the message, the amount of data to be transmitted increases, Overload and so on. Also, in the aspect of the client, a large number of notifications are simultaneously received, the amount of data to be received increases, and the mobile client has a problem that battery consumption due to frequent network reception increases.
데이터의 전송과 관련한 특정한 조건이 발생하는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우), 데이터를 수신하는 클라이언트측에서 화면에 표시할 수 있는 최소한의 데이터(일례로, 일정한 시간주기동안 발생한 메시지의 수)만을 클라이언트로 전송하고, 클라이언트에서 데이터의 내용을 확인하고자 발생시키는 요청에 따라 데이터를 한꺼번에 모아서 전송함으로써, 데이터의 발생 횟수나 데이터의 발생 주기와 무관하게 일정한 시간주기 이상의 주기로 데이터를 전송할 수 있는 데이터 전송 방법 및 데이터 전송 시스템을 제공한다.When a certain condition related to the transmission of data occurs (for example, when the number of messages occurring per predetermined time exceeds the predetermined threshold value), the minimum data that can be displayed on the screen at the client side receiving the data For example, the number of messages generated during a certain period of time is transmitted to the client, and the data is collected and transmitted in response to a request generated by the client to confirm the contents of the data. Thus, regardless of the number of data occurrences or the data occurrence period A data transmission method and a data transmission system capable of transmitting data at a period longer than a predetermined time period.
클라이언트에서 서버로부터 단말의 화면에 표시할 수 있는 최소한의 데이터만을 수신하고, 실제로 데이터의 내용을 확인하고자 하는 경우 데이터들을 요청 및 수신함으로써, 데이터의 발생 횟수나 데이터의 발생 주기와 무관하게 일정한 시간주기 이상의 주기로 데이터를 수신할 수 있는 데이터 수신 방법 및 데이터 수신 시스템을 제공한다.The client receives only the minimum data that can be displayed on the screen of the terminal from the server and requests and receives the data when it actually wants to check the contents of the data, A data receiving method and a data receiving system capable of receiving data at a predetermined cycle.
데이터의 전송과 관련한 특정한 조건이 발생하는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우), 데이터를 일정한 개수 단위로 묶어서 전송할 수 있는 데이터 전송 방법 및 데이터 전송 시스템을 제공한다.A data transmission method and a data transmission system capable of transmitting data in a predetermined number of units when a specific condition relating to data transmission occurs (for example, when the number of messages generated per predetermined time exceeds a predetermined threshold value) .
네트워크를 통한 서버의 데이터 전송 방법에 있어서, 기설정된 시간당 발생하는 메시지의 수를 모니터링하는 단계; 상기 모니터링된 메시지의 수를 기설정된 임계값과 비교하는 단계; 상기 모니터링된 메시지의 수가 상기 임계값 이하인 경우, 발생하는 메시지를 네트워크를 통해 순차적으로 클라이언트로 전송하는 단계; 상기 모니터링된 메시지의 수가 상기 임계값을 초과하는 경우, 기설정된 시간주기마다, 해당 시간주기에 발생하는 메시지들을 저장하고, 상기 해당 시간주기에 발생한 메시지들의 수를 네트워크를 통해 클라이언트로 전송하는 단계; 및 상기 메시지들의 수를 수신한 클라이언트로부터의 요청에 따라, 상기 저장된 메시지들을 묶어서 네트워크를 통해 해당 클라이언트로 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법을 제공한다.A method of transmitting data to a server via a network, the method comprising: monitoring a number of messages occurring per predetermined time; Comparing the number of monitored messages with a predetermined threshold value; If the number of monitored messages is less than or equal to the threshold value, transmitting the generated message to the client sequentially through the network; Storing messages occurring in a corresponding time period every predetermined time period when the number of monitored messages exceeds the threshold and transmitting the number of messages generated in the corresponding time period to a client over a network; And a step of grouping the stored messages according to a request from a client receiving the number of messages and transmitting the grouped messages to a corresponding client through a network.
네트워크를 통한 클라이언트의 데이터 수신 방법에 있어서, 서버로부터 네트워크를 통해 기설정된 시간주기마다 해당 시간주기에 발생하는 메시지들의 수를 수신하는 단계; 상기 메시지들의 내용을 확인하기 위한 제1 사용자 인터페이스의 활성화 및 상기 메시지들의 수와 연관하여 사용자의 단말의 화면에 표시된 제2 사용자 인터페이스에 대한 상기 사용자의 입력 중 적어도 하나에 따라 메시지들을 위한 요청을 생성하는 단계; 상기 생성된 요청을 상기 서버로 전송하는 단계; 상기 서버로부터 상기 요청에 대응하는 메시지들의 묶음을 수신하는 단계; 및 상기 제1 사용자 인터페이스를 통해 상기 단말의 화면에 상기 수신된 메시지들을 표시하는 단계를 포함하고, 상기 메시지들의 수는, 상기 서버에서 기설정된 시간당 발생하는 메시지의 수가 상기 서버에서 기설정된 임계값을 초과하는 경우에 상기 서버로부터 전송되는 것을 특징으로 하는 데이터 수신 방법을 제공한다.A method of receiving data from a client over a network, the method comprising: receiving a number of messages from a server over a network in a predetermined time period in a corresponding time period; Generating a request for messages according to at least one of activation of a first user interface for verifying the contents of the messages and input of the user for a second user interface displayed on a screen of the user's terminal in association with the number of the messages ; Transmitting the generated request to the server; Receiving a bundle of messages corresponding to the request from the server; And displaying the received messages on a screen of the terminal through the first user interface, wherein the number of messages occurring at a predetermined time in the server is a predetermined threshold value in the server And the data is transmitted from the server when it exceeds a predetermined value.
네트워크를 통한 서버의 데이터 전송 방법에 있어서, 기설정된 시간당 발생하는 메시지의 수를 모니터링하는 단계; 상기 모니터링된 메시지의 수를 기설정된 임계값과 비교하는 단계; 상기 모니터링된 메시지의 수가 상기 임계값 이하인 경우, 발생하는 메시지를 네트워크를 통해 순차적으로 클라이언트로 전송하는 단계; 상기 모니터링된 메시지의 수가 상기 임계값을 초과하는 경우, 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법을 제공한다.A method of transmitting data to a server via a network, the method comprising: monitoring a number of messages occurring per predetermined time; Comparing the number of monitored messages with a predetermined threshold value; If the number of monitored messages is less than or equal to the threshold value, transmitting the generated message to the client sequentially through the network; And if the number of the monitored messages exceeds the threshold value, transmitting the messages through a network by grouping the generated messages in a predetermined number of units.
상기 데이터 전송 방법 또는 상기 데이터 수신 방법을 컴퓨터에 실행시키기 위한 컴퓨터 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터 판독 가능한 기록매체를 제공한다.And a computer program for causing the computer to execute the data transmission method or the data reception method.
컴퓨터와 결합하여 상기 데이터 전송 방법 또는 상기 데이터 수신 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.There is provided a computer program stored in a computer-readable recording medium for causing a computer to execute the data transfer method or the data reception method in combination with a computer.
네트워크를 통해 데이터를 전송하는 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 기설정된 시간당 발생하는 메시지의 수를 모니터링하고, 상기 모니터링된 메시지의 수를 기설정된 임계값과 비교하고, 상기 모니터링된 메시지의 수가 상기 임계값 이하인 경우, 발생하는 메시지를 네트워크를 통해 순차적으로 클라이언트로 전송하고, 상기 모니터링된 메시지의 수가 상기 임계값을 초과하는 경우, 기설정된 시간주기마다, 해당 시간주기에 발생하는 메시지들을 저장하고, 상기 해당 시간주기에 발생한 메시지들의 수를 네트워크를 통해 클라이언트로 전송하고, 상기 메시지들의 수를 수신한 클라이언트로부터의 요청에 따라, 상기 저장된 메시지들을 묶어서 네트워크를 통해 해당 클라이언트로 전송하는 것을 특징으로 하는 데이터 전송 시스템을 제공한다.A system for transmitting data over a network, comprising: at least one processor configured to execute computer readable instructions, the at least one processor being configured to monitor the number of messages occurring per predetermined time, The number of monitored messages is compared with a predetermined threshold value, and if the number of monitored messages is less than or equal to the threshold value, the generated messages are sequentially transmitted to a client over a network, The number of messages generated in the corresponding time period is transmitted to the client through the network and the number of messages generated in the corresponding time period is transmitted to the client Accordingly, the stored messages are bundled Up to the transfer to the client over the network provides a data transfer system according to claim.
네트워크를 통해 데이터를 전송하는 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 기설정된 시간당 발생하는 메시지의 수를 모니터링하고, 상기 모니터링된 메시지의 수를 기설정된 임계값과 비교하고, 상기 모니터링된 메시지의 수가 상기 임계값 이하인 경우, 발생하는 메시지를 네트워크를 통해 순차적으로 클라이언트로 전송하고, 상기 모니터링된 메시지의 수가 상기 임계값을 초과하는 경우, 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 전송하는 것을 특징으로 하는 데이터 전송 시스템을 제공한다.A system for transmitting data over a network, comprising: at least one processor configured to execute computer readable instructions, the at least one processor being configured to monitor the number of messages occurring per predetermined time, The number of monitored messages is compared with a predetermined threshold value, and if the number of monitored messages is less than or equal to the threshold value, the generated messages are sequentially transmitted to a client over a network, The present invention provides a data transmission system in which messages generated are grouped in units of a predetermined number and transmitted through a network.
데이터의 전송과 관련한 특정한 조건이 발생하는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우), 데이터를 수신하는 클라이언트측에서 화면에 표시할 수 있는 최소한의 데이터(일례로, 일정한 시간주기동안 발생한 메시지의 수)만을 클라이언트로 전송하고, 클라이언트에서 데이터의 내용을 확인하고자 발생시키는 요청에 따라 데이터를 한꺼번에 모아서 전송함으로써, 데이터의 발생 횟수나 데이터의 발생 주기와 무관하게 일정한 시간주기 이상의 주기로 데이터를 전송할 수 있다.When a certain condition related to the transmission of data occurs (for example, when the number of messages occurring per predetermined time exceeds the predetermined threshold value), the minimum data that can be displayed on the screen at the client side receiving the data For example, the number of messages generated during a certain period of time is transmitted to the client, and the data is collected and transmitted in response to a request generated by the client to confirm the contents of the data. Thus, regardless of the number of data occurrences or the data occurrence period Data can be transmitted at a period longer than a predetermined time period.
클라이언트에서 서버로부터 단말의 화면에 표시할 수 있는 최소한의 데이터만을 수신하고, 실제로 데이터의 내용을 확인하고자 하는 경우 데이터들을 요청 및 수신함으로써, 데이터의 발생 횟수나 데이터의 발생 주기와 무관하게 일정한 시간주기 이상의 주기로 데이터를 수신할 수 있다.The client receives only the minimum data that can be displayed on the screen of the terminal from the server and requests and receives the data when it actually wants to check the contents of the data, Data can be received at the above cycle.
데이터의 전송과 관련한 특정한 조건이 발생하는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우), 데이터를 일정한 개수 단위로 묶어서 전송할 수 있다.When a specific condition relating to data transmission occurs (for example, when the number of messages generated per predetermined time exceeds the predetermined threshold value), the data can be transmitted in a predetermined number of units.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 따른 데이터 송수신 과정의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 하나의 클라이언트가 기설정된 시간주기마다 메시지들을 수신하는 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 클라이언트로 수신되는 메시지의 표시 예를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 7은 본 발명의 일실시예에 따른 서버가 수행할 수 있는 데이터 전송 방법의 예를 도시한 흐름도이다.
도 8은 본 발명의 일실시예에 따른 전자 기기의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 9는 본 발명의 일실시예에 따른 전자 기기가 수행할 수 있는 데이터 수신 방법의 예를 도시한 흐름도이다.
도 10은 본 발명의 일실시예에 있어서, 하나의 클라이언트가 수신하는 메시지들의 예를 도시한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 서버가 수행할 수 있는 데이터 전송 방법의 예를 도시한 흐름도이다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention.
3 is a diagram illustrating an example of a data transmission / reception process according to an embodiment of the present invention.
4 is a diagram illustrating an example in which one client receives messages at predetermined time intervals in an embodiment of the present invention.
5 is a diagram illustrating an example of a message received by a client according to an exemplary embodiment of the present invention.
FIG. 6 is a block diagram illustrating an example of components that a processor of a server according to an embodiment of the present invention may include.
7 is a flowchart illustrating an example of a data transmission method that can be performed by a server according to an embodiment of the present invention.
8 is a block diagram illustrating an example of components that a processor of an electronic device according to an embodiment of the present invention may include.
9 is a flowchart illustrating an example of a data receiving method that can be performed by an electronic device according to an embodiment of the present invention.
10 is a diagram illustrating an example of messages received by one client in an embodiment of the present invention.
11 is a flowchart illustrating an example of a data transmission method that can be performed by a server according to another embodiment of the present invention.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들에 따른 데이터 전송 시스템은 이후 설명될 서버를 통해 구현될 수 있으며, 본 발명의 실시예들에 따른 데이터 전송 방법은 상술한 서버를 통해 수행될 수 있다. 또한, 본 발명의 실시예들에 따른 데이터 수신 시스템은 이후 설명될 전자 기기를 통해 구현될 수 있으며, 본 발명의 실시예들에 따른 데이터 수신 방법은 상술한 전자 기기를 통해 수행될 수 있다. 예를 들어, 서버와 전자 기기는 서버-클라이언트 관계로서 서로 데이터를 송수신할 수 있다. 이때, 서버와 전자 기기 각각에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 서버와 전자 기기 각각은 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 일실시예에 따른 데이터 전송 방법이나 데이터 수신 방법을 수행하여 서로 데이터를 송수신할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터로 구현되는 서버 또는 컴퓨터로 구현되는 전자 기기와 결합되어 데이터 전송 방법 또는 데이터 수신 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.A data transmission system according to embodiments of the present invention can be implemented through a server to be described later, and a data transmission method according to embodiments of the present invention can be performed through the server described above. The data receiving system according to the embodiments of the present invention can be implemented through an electronic device to be described later, and a data receiving method according to embodiments of the present invention can be performed through the above-described electronic device. For example, a server and an electronic device can exchange data with each other as a server-client relationship. At this time, a computer program according to an embodiment of the present invention may be installed and operated in each of the server and the electronic device, and each of the server and the electronic device may be controlled by a computer program, Method and data receiving method to transmit and receive data to and from each other. The above-described computer program may be stored in a computer-readable recording medium for causing a computer to execute a data transfer method or a data receiving method in combination with a computer-implemented server or a computer-implemented electronic apparatus.
실시예에 따른 데이터 송수신의 주체는 반드시 서버-클라이언트로 구분될 필요는 없으며, 네트워크상에서 데이터를 전송하고자 하는 송신측과 해당 네트워크상에서 데이터를 수신하고자 하는 수신측으로 구분될 수도 있다. 단순히 데이터를 전송하고자 하는 송신측을 서버라 칭하고, 데이터를 수신하고자 하는 수신측을 클라이언트라 칭할 수도 있다. 이러한 송신측과 수신측은 각각 컴퓨터로 구현되는 하나의 장비 또는 둘 이상의 장비들의 결합으로 구현될 수도 있다.The subject of data transmission / reception according to the embodiment is not necessarily divided into a server and a client, and may be divided into a transmitting side for transmitting data on a network and a receiving side for receiving data on the network. A transmitting side that simply desires to transmit data may be referred to as a server and a receiving side that desires to receive data may be referred to as a client. The transmitting side and the receiving side may be implemented by a single device implemented by a computer or a combination of two or more devices, respectively.
본 발명의 실시예들에서 "메시지"는 네트워크상의 송신측이 네트워크상의 수신측으로 일회 전송하는 데이터를 의미할 수 있다. 다시 말해 메시지들의 수는 송신측이 수신측으로 데이터를 전송해야 할 횟수를 의미할 수 있다. 이러한 메시지는 이후 설명되는 메시징 서비스의 인스턴트 메시지와 구분될 수도 있고, 동일한 의미로 사용될 수도 있다.In the embodiments of the present invention, the term "message" may mean data that the transmitting side on the network once transmits to the receiving side on the network. In other words, the number of messages may mean the number of times the sender must transmit data to the receiver. These messages may be distinguished from instant messages of the messaging service described later, and may be used in the same sense.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. 1 shows an example in which a plurality of
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기 1(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기 1(110)은 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 장치들 중 하나를 의미할 수 있다.The plurality of
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제1 서비스를 제공하는 시스템일 수 있으며, 서버(160) 역시 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제2 서비스를 제공하는 시스템일 수 있다. 보다 구체적인 예로, 서버(150)는 복수의 전자 기기들(110, 120, 130, 140)에 설치되어 구동되는 컴퓨터 프로그램으로서의 어플리케이션을 통해, 해당 어플리케이션이 목적하는 서비스(일례로, 메시징 서비스, 메일 서비스 컨텐츠 전송 서비스 등)를 제1 서비스로서 제공할 수 있다. 다른 예로, 서버(160)는 상술한 어플리케이션의 설치 및 구동을 위한 파일을 복수의 전자 기기들(110, 120, 130, 140)로 배포하는 서비스를 제2 서비스로서 제공할 수 있다.Each of the
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 전자 기기에 대한 예로서 전자 기기 1(110), 그리고 서버(150)의 내부 구성을 설명한다. 또한, 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 상술한 전자 기기 1(110) 또는 서버(150)와 동일한 또는 유사한 내부 구성을 가질 수 있다.2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. 2 illustrates an internal configuration of the electronic device 1 (110) and the
전자 기기 1(110)과 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(211, 221)와는 구분되는 별도의 영구 저장 장치로서 전자 기기 1(110)나 서버(150)에 포함될 수도 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 전자 기기 1(110)에 설치되어 구동되는 브라우저나 특정 서비스의 제공을 위해 전자 기기 1(110)에 설치된 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로, 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.The electronic device 1 110 and the
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(170)를 통해 전자 기기 1(110)과 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 전자 기기 1(110) 및/또는 서버(150)가 다른 전자 기기(일례로 전자 기기 2(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기 1(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 전자 기기 1(110)의 통신 모듈(213)을 통해 전자 기기 1(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령, 컨텐츠, 파일 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기 1(110)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(215)는 전자 기기 1(110)과 하나의 장치로 구성될 수도 있다. 또한, 서버(150)의 입출력 인터페이스(224)는 서버(150)와 연결되거나 서버(150)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 보다 구체적인 예로, 전자 기기 1(110)의 프로세서(212)가 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 전자 기기 2(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.The input /
또한, 다른 실시예들에서 전자 기기 1(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기 1(110)은 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기 1(110)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기 1(110)에 더 포함되도록 구현될 수 있다.Also, in other embodiments, electronic device 1 110 and
도 3은 본 발명의 일실시예에 따른 데이터 송수신 과정의 예를 도시한 도면이다. 도 3은 메신저 서버(310)가 하나의 통신 세션에 연결된 N 개의 클라이언트들(320)과 데이터를 송수신하는 예를 나타내고 있다. 이때, 클라이언트 1이 통신 세션을 통해 하나의 인스턴트 메시지를 발생시키면, 메신저 서버(310)는 발생된 인스턴트 메시지를 N 개의 클라이언트들(320) 각각으로 전송할 수 있다. 즉, N 개의 클라이언트들(320)이 시간 t1 동안 발생시키는 인스턴트 메시지들의 수가 M 개라면, 메신저 서버(310)는 시간 t1 동안 MⅹN 개의 메시지들을 처리해야 한다. 만약 최대 5,000 명까지 입장 가능한 커뮤니티 대화방이 존재하고, 이들이 시간 30 초 동안 1,000 개의 인스턴트 메시지를 발생시킨다고 가정할 때, 메신저 서버(310)는 30 초 동안 5,000,000 개의 메시지의 전송을 처리해야 한다. 또한, N 개의 클라이언트들(320) 각각 역시 30 초 동안 1,000개의 메시지들을 수신하여 처리해야 한다. 이처럼 짧은 기간 동안 많은 수의 메시지를 처리하는 것은 이미 설명한 바와 같이 메신저 서버(310)의 측면에서도 N 개의 클라이언트들(320) 각각의 측면에서도 많은 문제점들을 발생시킨다.3 is a diagram illustrating an example of a data transmission / reception process according to an embodiment of the present invention. 3 shows an example in which the
이에 본 실시예에 따른 메신저 서버(310)는 특정한 조건이 만족되는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우)에는 모든 메시지들을 개별적으로 전송하지 않고, 일정 시간주기마다 최소한의 데이터만을 N 개의 클라이언트들(320)로 전송할 수 있다. 예를 들어, 특정 클라이언트(일례로 클라이언트 1)와 관련하여 일정한 시간주기마다 발생된 메시지들의 수를 해당 클라이언트로 전송할 수 있다. 예를 들어, 5 초 간격의 시간주기에서 첫 번째 5 초 동안 200 개의 인스턴트 메시지가 발생하였다면, 메신저 서버(310)는 메시지들의 수인 "200"을 N 개의 클라이언트들(320) 각각으로 전송할 수 있다. 다시 말해, 메신저 서버(310)는 첫 번째 5초에 대해 N 개의 메시지들(메시지들의 수 "200"을 포함하는 메시지들)을 전송할 수 있다. 두 번째 5초 동안 300 개의 인스턴트 메시지가 발생하였다면, 메신저 서버(310)는 메시지들의 수인 "300"을 N 개의 클라이언트들(320) 각각으로 전송할 수 있다. 이 경우에도 두 번째 5초에 대해 N 개의 메시지들이 전송될 수 있다. 이처럼, 메신저 서버(310)는 데이터(인스턴트 메시지)의 발생 횟수나 데이터의 발생 주기와 무관하게 일정한 시간주기 이상의 주기로 일정한 수의 메시지들만을 전송할 수 있으며, N 개의 클라이언트들(320) 각각은 일정한 시간주기마다 하나의 메시지만을 수신하게 되기 때문에 앞서 설명한 문제점들을 해결할 수 있다.Accordingly, the
이때, 실제 메시지들은 해당 클라이언트로부터의 요청에 따라 하나의 메시지들의 묶음으로서 해당 클라이언트로 전송할 수 있다. 예를 들어, 클라이언트 1이 메시지들의 수 "200"과 메시지들의 수 "300"을 수신한 후에 메시지들을 요청하면, 500 개의 메시지들이 하나의 묶음으로서 클라이언트 1로 전송될 수 있다. 따라서, 클라이언트 1은 500 번의 메시지 수신이 아니라, 메시지들의 수에 대한 두 번의 메시지 수신과 실제 인스턴트 메시지들을 확인하고자 하는 시점에 메시지들의 하나의 묶음에 대한 한번의 메시지 수신인 총 세 번의 메시지 수신만으로 500 개의 인스턴트 메시지들을 화면에 표시할 수 있게 된다.At this time, the actual messages can be transmitted as a bundle of one message to the corresponding client according to the request from the corresponding client. For example, if client 1 requests messages after receiving the number of messages "200" and the number of messages "300 ", 500 messages may be sent to client 1 as a bundle. Accordingly, the client 1 receives not only 500 messages but receives two messages about the number of messages and receives only one message for one batch of messages at the time of checking actual instant messages, Instant messages can be displayed on the screen.
도 4는 본 발명의 일실시예에 있어서, 하나의 클라이언트가 기설정된 시간주기마다 메시지들을 수신하는 예를 도시한 도면이다. 도 4는 다섯 개의 시간주기동안 총 27 개의 메시지가 발생하였으나, 클라이언트는 다섯 개의 시간주기에 대해 총 다섯 개의 메시지만을 수신하게 되는 예를 나타내고 있다. 또한, 클라이언트는 수신된 메시지들의 수에 따라 다섯 개의 시간주기동안 발생된 메시지들의 총 수(아직 읽지 않은 미독 메시지의 수)가 총 27 개임을 파악할 수 있다.4 is a diagram illustrating an example in which one client receives messages at predetermined time intervals in an embodiment of the present invention. FIG. 4 shows an example in which a total of 27 messages are generated during five time periods, but a client receives only five messages for five time periods. Also, the client can determine that the total number of messages (the number of unread messages that have not yet been read) generated in five time periods is 27, depending on the number of received messages.
이러한 도 4의 실시예에 따르면, 메신저 서버(310)는 N 개의 클라이언트들(320)에게 27ⅹN 개의 메시지 전송이 아닌 N 개의 메시지 전송만을 처리하면 되기 때문에 프로세싱을 위한 자원과 네트워크 자원의 소비를 줄일 수 있으며, N 개의 클라이언트들(320) 각각은 다섯 개의 시간주기동안 27 개의 메시지들의 수신이 아닌 다섯 개의 메시지만을 수신하면 되기 때문에 클라이언트의 관점에서 프로세싱을 위한 자원과 가용한 데이터의 소모를 줄일 수 있으며 모바일 클라이언트의 경우에는 배터리의 소모까지 줄일 수 있게 된다.According to the embodiment of FIG. 4, since the
한편, 실시예에 따라 해당 시간주기의 마지막 메시지가 해당 시간주기동안 발생하는 메시지들의 수와 함께 클라이언트로 전송될 수도 있다. 이 경우, 클라이언트는 마지막 메시지와 함께 해당 시간주기동안 발생한 메시지들의 수를 파악할 수 있게 되며, 마지막 메시지들을 통해 대화방 내에서의 개략적인 주제를 파악할 수 있게 된다.Meanwhile, according to the embodiment, the last message of the corresponding time period may be transmitted to the client together with the number of messages generated during the corresponding time period. In this case, the client can grasp the number of messages generated during the time period together with the last message, and can grasp a rough subject in the chat room through the last messages.
도 5는 본 발명의 일실시예에 있어서, 클라이언트로 수신되는 메시지의 표시 예를 도시한 도면이다. 도 5는 클라이언트(일례로 N 개의 클라이언트들(320) 중 하나)가 설치된 사용자의 단말(500)의 화면에 팝업(510)의 형태로, 특정 시간주기에서의 마지막 메시지의 내용과 특정 시간주기동안 발생된 메시지의 수(미독 메시지 (8))가 표시된 예를 나타내고 있다. 또한, 팝업(510)은 이러한 메시지를 대화방에서 확인할 것인지 아니면 무시할 것인가에 대한 버튼들(확인(520) 및 취소(530))을 더 포함할 수 있다. 이때, 사용자가 확인(520) 버튼과 같은 사용자 인터페이스에 대한 사용자의 입력에 기반하여 클라이언트에서 메신저 서버(310)로 메시지들이 요청될 수 있다. 예를 들어, 터치스크린 환경에서 사용자가 확인(520) 버튼이 표시된 화면의 영역을 손가락으로 터치하는 경우, 단말(500)은 해당 메시지와 관련된 요청을 생성하여 네트워크를 통해 메신저 서버(310)로 전송할 수 있으며, 메신저 서버(310)가 전송하는 메시지들의 묶음을 수신하여 대화방 화면에 표시할 수 있다.5 is a diagram illustrating an example of a message received by a client according to an exemplary embodiment of the present invention. 5 shows the contents of the last message in a specific time period in the form of a pop-
다른 실시예에서 메시지들을 요청하기 위한 트리거는 메시지의 내용을 확인하기 위한 사용자 인터페이스가 활성화되는 것일 수 있다. 예를 들어, 메시징 서비스에서 메시지의 내용을 확인하기 위한 사용자 인터페이스는 대화방일 수 있다. 이러한 대화방이 클라이언트에서 활성화되어 있는 동안에는 일정 시간주기마다 실제 메시지들이 클라이언트에서 메신저 서버(310)로 요청될 수 있다. 예를 들어, 대화방이 비활성화되어 있는 동안에는 시간주기마다 마지막 메시지와 메시지들의 수를 포함하는 메시지가 시간주기마다 수신될 수 있다. 이때, 사용자가 해당 대화방을 활성화시키는 것에 응답하여 클라이언트는 메신저 서버(310)로 그 동안 수신되지 않은 메시지들을 제공할 것을 요청하도록 단말(500)을 제어할 수 있으며, 이러한 요청에 따라 메신저 서버(310)가 제공하는 메시지들의 묶음을 대화방에 표시할 수 있다.In another embodiment, a trigger for requesting messages may be that a user interface for validating the contents of the message is activated. For example, the user interface for verifying the contents of a message in a messaging service may be a chat room. While this chat room is active on the client, actual messages may be requested from the client to the
또 다른 실시예에서 메시지들을 요청하기 위한 트리거는 대화방 내에 표시된 사용자 인터페이스에 대한 사용자의 입력일 수 있다. 예를 들어, 대화방에는 시간주기마다 수신되는 메시지를 통해 해당 시간주기의 마지막 메시지의 내용과 해당 시간주기동안 발생한 메시지들의 수가 표시될 수 있으며, 이러한 표시와 연관하여 아직 수신되지 않은 메시지들을 요청하기 위한 버튼이 표시될 수 있다. 사용자가 이러한 버튼을 선택(일례로, 터치스크린 환경에서 해당 버튼이 표시된 영역을 사용자가 손가락으로 터치)하는 경우, 해당 메시지들을 위한 요청이 메신저 서버(310)로 전송될 수 있다.In yet another embodiment, a trigger for requesting messages may be a user's input to the user interface displayed within the chat room. For example, the chat room may display the contents of the last message of the time period and the number of messages that occurred during the time period through a message received for each time period, and for requesting messages that have not yet been received Button may be displayed. If the user selects such a button (e.g., the user touches the area where the button is displayed in the touch screen environment with the user's finger), a request for those messages may be sent to the
이처럼, 아직 수신되지 않은 메시지들을 서버로 요청하기 위한 트리거는 다양한 방식으로 설정될 수 있다.As such, triggers for requesting messages to servers that have not yet been received can be configured in a variety of ways.
도 6은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 7은 본 발명의 일실시예에 따른 서버가 수행할 수 있는 데이터 전송 방법의 예를 도시한 흐름도이다.FIG. 6 is a block diagram illustrating an example of a component that a processor of a server according to an exemplary embodiment of the present invention may include; FIG. 7 is a diagram illustrating a data transmission method Fig.
본 발명의 실시예들에 따른 데이터 전송 시스템은 앞서 설명한 서버(150)와 같은 컴퓨터 장치의 형태로 구현될 수 있다. 또한, 도 6에 도시된 바와 같이 서버(150)의 프로세서(222)는 데이터 전송 시스템을 구현하기 위한 구성요소들로서 통신 세션 설정부(610), 라우팅부(620), 모니터링부(630), 비교부(640) 및 모드 설정부(650)를 포함할 수 있다. 이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 7의 데이터 전송 방법이 포함하는 단계들(710 내지 780)을 수행할 수 있다. 이때, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(222)의 구성요소들은 서버(150)에 저장된 코드가 제공하는 제어 명령에 따라 프로세서(222)에 의해 수행되는 프로세서(222)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(222)가 상술한 제어 명령에 따라 기설정된 시간당 발생하는 메시지의 수를 모니터링하는 프로세서(222)의 기능적 표현으로 모니터링부(610)가 사용될 수 있다.The data transmission system according to embodiments of the present invention may be implemented in the form of a computer device such as the
단계(710)에서 통신 세션 설정부(610)는 복수의 클라이언트들에 대한 메시징 서비스에서의 계정들간에 통신 세션을 설정할 수 있다. 이러한 통신 세션은 메시징 서비스에서 복수의 계정들이 속하는 대화방으로 클라이언트들에서 식별될 수 있다.In
단계(720)에서 라우팅부(620)는 통신 세션을 통해 복수의 클라이언트들간에 송수신되는 인스턴트 메시지를 라우팅할 수 있다. 하나의 대화방에서 특정 계정의 사용자가 입력하는 인스턴트 메시지는 해당 대화방에 속한 다른 계정의 사용자들에게 전달될 수 있으며, 이를 위해 서버(150)는 특정 사용자의 단말로부터 수신되는 인스턴트 메시지가 대화방의 다른 사용자들의 단말들로 전달되도록 인스턴트 메시지를 라우팅할 수 있다.In
도 6 및 도 7의 실시예에서는 메시징 서비스에서 서버(150)가 인스턴트 메시지들을 전송하는 기술에 본 발명의 실시예들에 따른 기술을 적용하고 있으나, 네트워크의 송신측에서 발생되는 다수의 메시지들을 수신측으로 전송하는 다른 기술에도 본 발명의 실시예들에 따른 기술이 적용될 수 있음을 본 명세서를 통해 당업자라면 용이하게 이해할 수 있을 것이다. 6 and 7, the
단계(730)에서 모니터링부(630)는 기설정된 시간당 발생하는 메시지의 수를 모니터링할 수 있다. 본 실시예에서 메시지는 앞서 설명한 인스턴트 메시지를 포함할 수 있으며, 서버(150)는 미리 설정된 시간동안 발생하는 메시지들의 수를 모니터링할 수 있다. 예를 들어, 매 5초마다 발생하는 메시지들의 수가 지속적으로 모니터링될 수 있다.In
단계(740)에서 비교부(640)는 모니터링된 메시지의 수를 기설정된 임계값과 비교할 수 있다. 예를 들어, 비교부(640)는 5초 동안 발생하는 메시지들의 수를 미리 설정된 임계값 100과 비교할 수 있다.In
단계(750)에서 모드 설정부(650)는 모니터링된 메시지의 수가 임계값 이하인 경우에는 일반전송모드를, 모니터링된 메시지의 수가 임계값을 초과하는 경우에는 통합전송모드를 설정할 수 있다. 이러한 전송 모드는 디폴트로 일반전송모드가 설정될 수 있다. 다시 말해, 모니터링된 메시지의 수가 임계값을 초과하는 경우에 일반전송모드가 통합전송모드로 변경될 수 있으며, 모니터링된 메시지의 수가 임계값 이하인 경우에 통합전송모드가 다시 일반전송모드로 변경될 수 있다.In
단계(760)에서 라우팅부(620)는 전송모드가 일반전송모드인 경우, 발생하는 메시지를 네트워크를 통해 순차적으로 클라이언트로 전송할 수 있다. 예를 들어, 단계(720)에서 설명한 라우팅의 과정이 계속 진행될 수 있다.In
단계(770)에서 라우팅부(620)는 전송모드가 통합전송모드인 경우, 기설정된 시간주기마다, 해당 시간주기에 발생하는 메시지들을 저장하고, 해당 시간주기에 발생한 메시지들의 수를 네트워크를 통해 클라이언트로 전송할 수 있다. 메시지들은 기본적으로 서버(150)에 저장될 수 있기 때문에 라우팅부(620)가 메시지들을 저장하는 것은, 통합전송모드 동안 발생하는 메시지들을 별도로 식별해놓는 것을 의미할 수도 있다. 이러한 식별은 추후 식별되는 메시지들을 해당 클라이언트로 전송하기 위한 것으로, 라우팅부(620)는 클라이언트마다 해당 클라이언트가 아직 읽지 않은 메시지들을 별도로 식별하여 관리할 수도 있다. 동일한 메시지에 대해, 해당 메시지를 읽은 클라이언트와 아직 해당 메시지를 읽지 않은 클라이언트가 존재할 수 있다. 따라서, 라우팅부(620)는 특정 클라이언트에서 메시지들을 요청할 때, 해당 특정 클라이언트로 묶어서 전송하기 위한 메시지들을 식별하기 위해 클라이언트마다 아직 읽지 않은 메시지들을 별도로 관리할 수 있다.If the transmission mode is the integrated transmission mode, the
또한, 이미 설명한 바와 같이, 해당 시간주기에 발생한 마지막 메시지를 해당 시간주기동안 발생한 메시지들의 수와 함께 클라이언트로 전송할 수 있다. 이러한 마지막 메시지는 클라이언트가 대화방을 활성화하지 않은 상태에서도 대화방에서 진행되고 있는 주제를 개략적으로 확인할 수 있도록 할 수 있다.In addition, as described above, the last message generated in the corresponding time period can be transmitted to the client together with the number of messages generated during the corresponding time period. This final message allows the client to roughly check the subject in progress in the chat room even without activating the chat room.
단계(780)에서 라우팅부(620)는 메시지들의 수를 수신한 클라이언트로부터의 요청에 따라, 저장된 메시지들을 묶어서 네트워크를 통해 해당 클라이언트로 전송할 수 있다. 이미 설명한 바와 같이 저장된 메시지들은 해당 클라이언트에 대해 별도로 관리된 메시지들을 의미할 수 있다.In
클라이언트로부터의 요청은 메시지들의 수를 수신한 클라이언트에서 메시지의 내용을 확인하기 위한 사용자 인터페이스가 활성화된 것에 의해 발생될 수 있다. 예를 들어, 사용자가 대화방을 오픈함으로써 대화방이 활성화되는 것이 클라이언트로부터의 요청을 발생시키는 트리거가 될 수 있다. 만약, 대화방이 활성화된 상태로 존재한다면, 이러한 대화방의 활성화된 상태 자체가 클라이언트로부터의 요청을 발생시키는 트리거가 될 수 있으며, 이 경우 매 시간주기마다 실제 메시지들의 묶음이 클라이언트로 전송될 수 있다.The request from the client may be generated by activating the user interface for confirming the contents of the message at the client receiving the number of messages. For example, activating a chat room by opening a chat room by a user can be a trigger that triggers a request from a client. If the chat room is active, the active state of the chat room itself can be a trigger that triggers a request from the client, in which case a batch of actual messages can be sent to the client at each time period.
다른 실시예로, 메시지들의 수는 클라이언트를 통해 사용자의 단말의 화면에 표시될 수 있다. 예를 들어, 별도의 팝업(일례로 도 5의 팝업(510))을 통해, 또는 대화방을 통해 메시지들의 수가 화면에 표시될 수 있다. 이 경우, 메시지들의 수와 연관하여 단말의 화면에 표시된 사용자 인터페이스에 대한 사용자의 입력에 기반하여 클라이언트로부터의 요청이 발생할 수도 있다. 예를 들어, 도 5의 팝업(510)이 포함하는 확인(520) 버튼을 사용자가 선택함에 따라, 또는 대화방에 표시되는 메시지들의 수와 연관하여 표시되는 버튼을 사용자가 선택함에 따라 클라이언트로부터의 요청이 발생할 수 있다.In another embodiment, the number of messages may be displayed on the screen of the user's terminal through the client. For example, the number of messages may be displayed on the screen via a separate pop-up (e.g., pop-
서버(150)는 이러한 다양한 방식으로 요청되는 클라이언트로부터의 요청에 따라 해당 클라이언트가 아직 읽지 않은(아직 클라이언트로 전송하지 않은) 메시지들을 하나의 묶음으로서 해당 클라이언트로 전송할 수 있다.In response to a request from the requested client, the
도 8은 본 발명의 일실시예에 따른 전자 기기의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 9는 본 발명의 일실시예에 따른 전자 기기가 수행할 수 있는 데이터 수신 방법의 예를 도시한 흐름도이다.FIG. 8 is a block diagram illustrating an example of components that a processor of an electronic device according to an embodiment of the present invention can include; FIG. 9 is a diagram illustrating data Fig. 8 is a flowchart showing an example of a receiving method. Fig.
본 발명의 실시예들에 따른 데이터 수신 시스템은 앞서 설명한 전자 기기 1(110)과 같은 컴퓨터 장치의 형태로 구현될 수 있다. 또한, 도 8에 도시된 바와 같이 전자 기기 1(110)의 프로세서(212)는 데이터 수신 시스템을 구현하기 위한 구성요소들로서 메시지 수 수신부(910), 요청 생성부(920), 요청 전송부(930), 메시지 수신부(940) 및 메시지 표시부(950)를 포함할 수 있다. 이러한 프로세서(212) 및 프로세서(212)의 구성요소들은 도 9의 데이터 수신 방법이 포함하는 단계들(910 내지 950)을 수행할 수 있다. 이때, 프로세서(212) 및 프로세서(212)의 구성요소들은 메모리(211)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(212)의 구성요소들은 전자 기기 1(110)에 저장된 코드가 제공하는 제어 명령에 따라 프로세서(212)에 의해 수행되는 프로세서(212)의 서로 다른 기능들(different functions)의 표현들일 수 있다.The data receiving system according to the embodiments of the present invention can be implemented in the form of a computer device such as the above-described electronic device 1 (110). 8, the
단계(910)에서 메시지 수 수신부(910)는 서버로부터 네트워크를 통해 기설정된 시간주기마다 해당 시간주기에 발생하는 메시지들의 수를 수신할 수 있다. 여기서 서버는 앞서 설명한 서버(150)에 대응할 수 있으며, 이미 설명한 바와 같이 서버(150)는 일반전송모드에서는 메시지들을 순차적으로 전송할 수 있다. 이러한 일반전송모드에서 전송되는 메시지들은 전자 기기 1(110) 역시 순차적으로 수신하여 표시할 수 있다. 반면, 서버(150)는 통합전송모드에서는 메시지들이 아닌 메시지들의 수를 전송할 수 있으며, 이에 따라 전자 기기 1(110)은 서버(150)가 전송하는 메시지들의 수를 수신할 수 있다. 실시예에 따라 서버(150)가 메시지들의 수와 함께 해당 시간주기의 마지막 메시지를 더 전송하는 경우, 전자 기기 1(110)은 메시지들의 수와 함께 마지막 메시지를 더 수신할 수 있다.In
단계(920)에서 요청 생성부(920)는 메시지들의 내용을 확인하기 위한 제1 사용자 인터페이스의 활성화 및 메시지들의 수와 연관하여 사용자의 단말의 화면에 표시된 제2 사용자 인터페이스에 대한 사용자의 입력 중 적어도 하나에 따라 메시지들을 위한 요청을 생성할 수 있다. 이러한 요청을 트리거링하기 위한 다양한 조건에 대해서는 이미 자세히 설명한 바 있으며, 이를 위해 전자 기기 1(110)에 설치된 클라이언트는 이러한 제1 사용자 인터페이스나 제2 사용자 인터페이스를 사용자에게 제공하기 위한 기능을 포함하도록 구현될 수 있다.In
단계(930)에서 요청 전송부(930)는 생성된 요청을 서버로 전송할 수 있다. 이미 설명한 바와 같이 서버는 이러한 요청에 따라 해당 클라이언트에 대해 저장(또는 식별)되어 있는 메시지들을 하나의 묶음으로서 해당 클라이언트로 전송할 수 있다.In
단계(940)에서 메시지 수신부(940)는 서버로부터 요청에 대응하는 메시지들의 묶음을 수신할 수 있다. 따라서, 전자 기기 1(110)은 모든 발생되는 메시지들을 개별적으로 수신하는 것이 아니라, 시간주기마다 메시지들의 수를 수신하고, 별도의 명시적인 요청을 서버로 전송하여 일정 시간주기들 동안 서버에서 식별되고 있는 메시지들을 한번에 수신할 수 있다. In
단계(950)에서 메시지 표시부(950)는 제1 사용자 인터페이스를 통해 단말의 화면에 수신된 메시지들을 표시할 수 있다.In
이미 설명한 바와 같이, 본 실시예에 따른 서버는 복수의 클라이언트들에 대한 메시징 서비스에서의 계정들간에 통신 세션을 설정하고, 상기 통신 세션을 통해 상기 복수의 클라이언트들간에 송수신되는 인스턴트 메시지를 라우팅하는 메신저 서버를 포함할 수 있으며, 이 경우 메시지는 복수의 클라이언트들로부터 서버로 수신되는 인스턴트 메시지를 포함할 수 있다.As described above, the server according to the present embodiment includes a messenger for establishing a communication session between accounts in a messaging service for a plurality of clients, and for routing an instant message sent and received between the plurality of clients through the communication session, Server, in which case the message may include an instant message received from the plurality of clients to the server.
그러나, 메시징 서비스가 아닌 발생하는 다수의 메시지들을 송신측이 수신측으로 네트워크를 통해 전송하고자 하는 다양한 서비스들에서 본 발명의 실시예들에 따른 기술이 적용될 수 있음을 당업자가 쉽게 이해할 수 있을 것이다. 예를 들어, 네트워크를 통해 송수신되는 패킷들에 대한 보안 관련 메시지를 관리자 단말로 전송하는 보안 서비스에 본 발명의 실시예들에 따른 기술이 적용될 수도 있다. 이 경우, 일정한 시간주기마다 매 시간주기의 보안 관련 메시지들의 수와 해당 시간주기의 마지막 메시지의 내용을 포함하는 메시지가 관리자 단말로 전송될 수 있으며, 관리자 단말로부터의 요청에 따라 전송되지 않은 보안 관련 메시지들을 하나의 묶음으로 한 번에 관리자 단말로 전송할 수도 있다. However, those skilled in the art will readily understand that the techniques according to embodiments of the present invention can be applied to various services in which a plurality of messages, which are not a messaging service, are transmitted through a network by a sender to a receiver. For example, a technique according to embodiments of the present invention may be applied to a security service that transmits a security-related message to packets transmitted and received through a network to an administrator terminal. In this case, a message including the number of security-related messages in each time period and the contents of the last message in the corresponding time period may be transmitted to the administrator terminal every predetermined time period, Messages may be sent in batches to the administrator terminal at one time.
또한 다른 실시예로, 데이터의 전송과 관련한 특정한 조건이 발생하는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우), 데이터를 기설정된 개수(일례로, N 개)의 단위로 묶어서 전송하는 것을 고려할 수 있다. 이 경우, 데이터의 전송 횟수가 1/N로 감소하기 때문에, 메시지를 라우팅하는 서버의 관점에서는 프로세싱을 위한 자원과 네트워크 자원의 소비를 줄일 수 있다. 또한, 클라이언트의 관점에서 프로세싱을 위한 자원과 가용한 데이터의 소모를 줄일 수 있으며 모바일 클라이언트의 경우에는 배터리의 소모까지 줄일 수 있게 된다.In another embodiment, when a specific condition relating to the transmission of data occurs (for example, when the number of messages occurring per predetermined time exceeds the predetermined threshold value), the data is divided into a predetermined number ) To be transmitted in units of units. In this case, since the number of data transmissions decreases to 1 / N, the consumption of resources for processing and the consumption of network resources can be reduced from the viewpoint of a server that routes messages. In addition, from the client's point of view, it is possible to reduce the consumption of resources and available data for processing, and the battery consumption of the mobile client can be reduced.
도 10은 본 발명의 일실시예에 있어서, 하나의 클라이언트가 수신하는 메시지들의 예를 도시한 도면이다. 도 10은 27개의 메시지들이 발생된 예를 나타내고 있다. 일반적인 경우라면, 27개의 메시지들은 메시지들이 발생된 순서에 따라 순차적으로 클라이언트로 전송되고, 클라이언트는 27개의 메시지들을 순차적으로 수신하게 된다. 그러나, 본 실시예에서 메신저 서버(310)는 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우, 메시지들을 일정한 개수(도 10의 실시예에서 N=5)의 단위로 묶어서 전송할 수 있다. 이러한 메시지들의 묶음의 개수 단위가 다양하게 설정될 수 있음을 당업자가 쉽게 이해할 수 있을 것이다.10 is a diagram illustrating an example of messages received by one client in an embodiment of the present invention. FIG. 10 shows an example in which 27 messages are generated. In the normal case, 27 messages are sequentially sent to the client in the order in which the messages are generated, and the client receives 27 messages sequentially. However, in the present embodiment, if the number of messages generated per predetermined time exceeds the predetermined threshold value, the
이때, 메신저 서버(310)는 다섯 개의 메시지들이 모일 때마다, 해당 다섯 개의 메시지들을 하나의 묶음으로 전송할 수 있고, 도 10의 실시예에서 클라이언트는 27번의 메시지 수신이 아니라 다섯 번의 메시지 수신만으로 26개의 메시지들을 수신할 수 있게 된다. 이때, 마지막 27 번째 메시지(1010)는 다른 네 개의 메시지들이 더 발생할 때까지 전송이 지연될 수 있다. 혹은, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값 이하가 되는 경우, 마지막 27 번째 메시지(1010)부터 메시지들이 다시 발생된 순서에 따라 순차적으로 클라이언트로 전송될 수 있다.At this time, the
이 경우에도 도 4의 실시예에서와 유사하게, 메시지들의 묶음을 바로 전송하는 것이 아니라, 메시지들의 수를 먼저 전송할 수 있다. 예를 들어, 메신저 서버(310)는 발생하는 메시지들을 기설정된 개수 단위로 묶어서 저장하고, 저장된 메시지들의 수를 네트워크를 통해 클라이언트로 전송할 수 있다. 이때, 메신저 서버(310)는 메시지들의 수를 수신한 클라이언트로부터의 요청에 따라, 상기 저장된 메시지들을 묶어서 네트워크를 통해 해당 클라이언트로 전송할 수 있다.In this case, similarly to the embodiment of FIG. 4, the number of messages can be transmitted first, instead of directly transmitting a bundle of messages. For example, the
도 11은 본 발명의 다른 실시예에 따른 서버가 수행할 수 있는 데이터 전송 방법의 예를 도시한 흐름도이다. 도 11의 데이터 전송 방법이 포함하는 단계들(1110 내지 1170)은 도 6을 통해 설명한 프로세서(222)의 제어에 따라 서버(150)에 의해 수행될 수 있다.11 is a flowchart illustrating an example of a data transmission method that can be performed by a server according to another embodiment of the present invention. The
단계(1110)에서 통신 세션 설정부(610)는 복수의 클라이언트들에 대한 메시징 서비스에서의 계정들간에 통신 세션을 설정할 수 있다. 이러한 통신 세션은 메시징 서비스에서 복수의 계정들이 속하는 대화방으로 클라이언트들에서 식별될 수 있다.In
단계(1120)에서 라우팅부(620)는 통신 세션을 통해 복수의 클라이언트들간에 송수신되는 인스턴트 메시지를 라우팅할 수 있다. 하나의 대화방에서 특정 계정의 사용자가 입력하는 인스턴트 메시지는 해당 대화방에 속한 다른 계정의 사용자들에게 전달될 수 있으며, 이를 위해 서버(150)는 특정 사용자의 단말로부터 수신되는 인스턴트 메시지가 대화방의 다른 사용자들의 단말들로 전달되도록 인스턴트 메시지를 라우팅할 수 있다.In
도 11의 실시예에서는 메시징 서비스에서 서버(150)가 인스턴트 메시지들을 전송하는 기술에 본 발명의 실시예들에 따른 기술을 적용하고 있으나, 네트워크의 송신측에서 발생되는 다수의 메시지들을 수신측으로 전송하는 다른 기술에도 본 발명의 실시예들에 따른 기술이 적용될 수 있음을 본 명세서를 통해 당업자라면 용이하게 이해할 수 있을 것이다. In the embodiment of FIG. 11, although the technique according to the embodiments of the present invention is applied to the technique in which the
단계(1130)에서 모니터링부(630)는 기설정된 시간당 발생하는 메시지의 수를 모니터링할 수 있다. 본 실시예에서 메시지는 앞서 설명한 인스턴트 메시지를 포함할 수 있으며, 서버(150)는 미리 설정된 시간동안 발생하는 메시지들의 수를 모니터링할 수 있다. 예를 들어, 매 5초마다 발생하는 메시지들의 수가 지속적으로 모니터링될 수 있다.In
단계(1140)에서 비교부(640)는 모니터링된 메시지의 수를 기설정된 임계값과 비교할 수 있다. 예를 들어, 비교부(640)는 5초 동안 발생하는 메시지들의 수를 미리 설정된 임계값 100과 비교할 수 있다.In
단계(1150)에서 모드 설정부(650)는 모니터링된 메시지의 수가 임계값 이하인 경우에는 일반전송모드를, 모니터링된 메시지의 수가 임계값을 초과하는 경우에는 통합전송모드를 설정할 수 있다. 이러한 전송 모드는 디폴트로 일반전송모드가 설정될 수 있다. 다시 말해, 모니터링된 메시지의 수가 임계값을 초과하는 경우에 일반전송모드가 통합전송모드로 변경될 수 있으며, 모니터링된 메시지의 수가 임계값 이하인 경우에 통합전송모드가 다시 일반전송모드로 변경될 수 있다.In
단계(1160)에서 라우팅부(620)는 전송모드가 일반전송모드인 경우, 발생하는 메시지를 네트워크를 통해 순차적으로 클라이언트로 전송할 수 있다. 예를 들어, 단계(720)에서 설명한 라우팅의 과정이 계속 진행될 수 있다.In
단계(1170)에서 라우팅부(620)는 전송모드가 통합전송모드인 경우, 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 전송할 수 있다. 예를 들어, 라우팅부(620)는 발생하는 메시지들의 전송을 지연시키고, 지연된 메시지들의 수가 기설정된 개수가 되는 경우, 기설정된 개수의 메시지들을 묶어서 한번에 전송할 수 있다. 이 경우, 클라이언트측에서는 한꺼번에 수신되는 복수의 메시지들을 메시지들의 발생 순서에 따라 화면에 표시할 수 있다.In
또한, 단계(1170)에서 라우팅부(620)는 메시지들의 묶음을 바로 전송하는 것이 아니라, 메시지들의 수를 먼저 전송하고, 이러한 메시지들의 수에 대한 클라이언트로부터의 요청에 따라 메시지들의 묶음을 전송할 수도 있다. 이를 위해, 라우팅부(620)는 단계(1170)에서 발생하는 메시지들을 기설정된 개수 단위로 묶어서 저장하고, 저장된 메시지들의 수를 네트워크를 통해 클라이언트로 전송할 수 있다. 또한, 라우팅부(620)는 메시지들의 수를 수신한 클라이언트로부터 실제 메시지들에 대한 요청이 수신되면, 이러한 요청에 응답하여 저장된 메시지들을 묶어서 네트워크를 통해 해당 클라이언트로 전송할 수 있다. 이 경우, 실제 메시지들이 전송되는 시점이 클라이언트의 요청 시점으로 미뤄질 수 있다. 또한, 다수의 클라이언트들을 고려할 때, 클라이언트들마다 요청 시점이 달라질 수 있기 때문에, 메시지들을 상대적으로 긴 기간에 걸쳐서 분산하여 전송할 수 있게 된다.Also, at
이상에서와 같이, 본 발명의 실시예들에 따르면, 데이터의 전송과 관련한 특정한 조건이 발생하는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우), 데이터를 수신하는 클라이언트측에서 화면에 표시할 수 있는 최소한의 데이터(일례로, 일정한 시간주기동안 발생한 메시지의 수)만을 클라이언트로 전송하고, 클라이언트에서 데이터의 내용을 확인하고자 발생시키는 요청에 따라 데이터를 한꺼번에 모아서 전송함으로써, 데이터의 발생 횟수나 데이터의 발생 주기와 무관하게 일정한 시간주기 이상의 주기로 데이터를 전송할 수 있다. 또한, 클라이언트에서 서버로부터 단말의 화면에 표시할 수 있는 최소한의 데이터만을 수신하고, 실제로 데이터의 내용을 확인하고자 하는 경우 데이터들을 요청 및 수신함으로써, 데이터의 발생 횟수나 데이터의 발생 주기와 무관하게 일정한 시간주기 이상의 주기로 데이터를 수신할 수 있다. 또한, 데이터의 전송과 관련한 특정한 조건이 발생하는 경우(일례로, 기설정된 시간당 발생하는 메시지의 수가 기설정된 임계값을 초과하는 경우), 데이터를 일정한 개수 단위로 묶어서 전송할 수 있다.As described above, according to the embodiments of the present invention, when a specific condition relating to data transmission occurs (for example, when the number of messages generated per predetermined time exceeds a predetermined threshold value) (For example, the number of messages generated during a certain period of time) that can be displayed on the screen at the client side is transmitted to the client, and the data is collected and transmitted according to a request generated by the client to check the contents of the data Data can be transmitted at a period longer than a predetermined time period irrespective of the number of times of data generation or the generation period of data. In addition, when a client receives only a minimum amount of data that can be displayed on a screen of a terminal from a server and actually requests and receives data in order to confirm the contents of the data, Data can be received at a period longer than the time period. Further, when a specific condition related to data transmission occurs (for example, when the number of messages generated per predetermined time exceeds a preset threshold value), the data can be transmitted in a bundle in a predetermined number of units.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 이러한 기록매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있으며, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Such a recording medium may be a variety of recording means or storage means in the form of a single or a plurality of hardware combined and is not limited to a medium directly connected to any computer system but may be dispersed on a network. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (19)
기설정된 시간당 발생하는 메시지들의 제1 수를 모니터링하는 단계;
상기 모니터링된 메시지들의 제1 수를 기설정된 임계값과 비교하는 단계;
상기 모니터링된 메시지들의 제1 수가 상기 임계값 이하인 경우, 클라이언트에 대해 발생하는 메시지들을 네트워크를 통해 순차적으로 상기 클라이언트로 전송하는 단계;
상기 모니터링된 메시지들의 제1 수가 상기 임계값을 초과하는 경우, 기설정된 시간주기마다, 해당 시간주기에 상기 클라이언트에 대해 발생하는 메시지들을 저장하고, 상기 해당 시간주기에 발생하여 저장된 메시지들의 제2 수를 네트워크를 통해 상기 클라이언트로 전송하는 단계; 및
상기 메시지들의 제2 수를 수신한 클라이언트로부터의 명시적인 요청에 따라, 상기 메시지들의 제2 수에 대응하는 저장된 메시지들을 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 단계
를 포함하는 것을 특징으로 하는 데이터 전송 방법.A method for transmitting data from a server over a network,
Monitoring a first number of messages occurring per predetermined time;
Comparing the first number of the monitored messages to a predetermined threshold value;
If the first number of the monitored messages is less than or equal to the threshold value, sending messages to the client sequentially through the network;
Storing messages generated for the client in a corresponding time period every predetermined period of time when the first number of monitored messages exceeds the threshold and storing a second number of messages To the client over a network; And
Grouping stored messages corresponding to a second number of the messages in response to an explicit request from a client receiving a second number of the messages and transmitting the messages to the client over the network
And transmitting the data.
복수의 클라이언트들에 대한 메시징 서비스에서의 계정들간에 통신 세션을 설정하고, 상기 통신 세션을 통해 상기 복수의 클라이언트들간에 송수신되는 인스턴트 메시지를 라우팅하는 단계
를 더 포함하고,
상기 클라이언트에 대해 발생하는 메시지들은 상기 복수의 클라이언트들로부터 수신되는 인스턴트 메시지를 포함하는 것을 특징으로 하는 데이터 전송 방법.The method according to claim 1,
Establishing a communication session between accounts in a messaging service for a plurality of clients and routing an instant message sent and received between the plurality of clients via the communication session
Further comprising:
Wherein the messages generated for the client include an instant message received from the plurality of clients.
상기 메시지들의 제2 수를 네트워크를 통해 상기 클라이언트로 전송하는 단계는,
상기 해당 시간주기에 발생한 마지막 메시지를 상기 메시지들의 제2 수와 함께 상기 클라이언트로 전송하는 것을 특징으로 하는 데이터 전송 방법.The method according to claim 1,
Wherein sending the second number of messages to the client over the network comprises:
And the last message generated in the corresponding time period is transmitted to the client together with the second number of the messages.
상기 메시지들의 제2 수를 수신한 상기 클라이언트에서 상기 메시지의 내용을 확인하기 위한 사용자 인터페이스가 활성화된 것에 의해 상기 클라이언트로부터의 요청이 발생하는 것을 특징으로 하는 데이터 전송 방법.The method according to claim 1,
Wherein a request from the client is generated by activating a user interface for confirming the contents of the message at the client receiving the second number of the messages.
상기 메시지들의 제2 수는 상기 클라이언트를 통해 사용자의 단말의 화면에 표시되고,
상기 메시지들의 제2 수와 연관하여 상기 단말의 화면에 표시된 사용자 인터페이스에 대한 상기 사용자의 입력에 기반하여 상기 클라이언트로부터의 요청이 발생하는 것을 특징으로 하는 데이터 전송 방법.The method according to claim 1,
The second number of messages is displayed on the screen of the user's terminal through the client,
Wherein a request from the client is generated based on the user's input to the user interface displayed on the screen of the terminal in association with a second number of the messages.
서버로부터 네트워크를 통해 기설정된 시간주기마다 해당 시간주기에 발생하는 메시지들의 제2 수를 수신하는 단계;
상기 메시지들의 내용을 확인하기 위한 제1 사용자 인터페이스의 활성화 및 상기 메시지들의 제2 수와 연관하여 사용자의 단말의 화면에 표시된 제2 사용자 인터페이스에 대한 상기 사용자의 입력 중 적어도 하나에 따라 메시지들을 위한 요청을 생성하는 단계;
상기 생성된 요청을 상기 서버로 전송하는 단계; 및
상기 서버로부터 상기 요청에 대응하는 메시지들의 묶음을 수신하는 단계; 및
상기 제1 사용자 인터페이스를 통해 상기 단말의 화면에 상기 수신된 메시지들을 표시하는 단계
를 포함하고,
상기 메시지들의 제2 수는, 상기 서버에서 기설정된 시간당 발생하는 메시지들의 제1 수가 상기 서버에서 기설정된 임계값을 초과하는 경우에 상기 서버로부터 전송되는 것을 특징으로 하는 데이터 수신 방법.A method for receiving data from a client over a network,
Receiving a second number of messages occurring in the corresponding time period from the server via the network every predetermined time period;
A request for messages in accordance with at least one of activation of a first user interface for verifying the contents of the messages and input of the user for a second user interface displayed on a screen of the user's terminal in association with a second number of the messages; ;
Transmitting the generated request to the server; And
Receiving a bundle of messages corresponding to the request from the server; And
Displaying the received messages on a screen of the terminal through the first user interface
Lt; / RTI >
Wherein the second number of messages is transmitted from the server when a first number of messages occurring at a predetermined time in the server exceeds a predetermined threshold at the server.
상기 서버는, 복수의 클라이언트들에 대한 메시징 서비스에서의 계정들간에 통신 세션을 설정하고, 상기 통신 세션을 통해 상기 복수의 클라이언트들간에 송수신되는 인스턴트 메시지를 라우팅하는 메신저 서버를 포함하고,
상기 발생하는 제2 수의 메시지들은 상기 복수의 클라이언트들로부터 수신되는 인스턴트 메시지를 포함하는 것을 특징으로 하는 데이터 수신 방법.The method according to claim 6,
Wherein the server comprises a messenger server for establishing a communication session between accounts in a messaging service for a plurality of clients and for routing instant messages sent and received between the plurality of clients via the communication session,
Wherein the second number of generated messages comprises an instant message received from the plurality of clients.
기설정된 시간당 발생하는 메시지들의 제1 수를 모니터링하는 단계;
상기 모니터링된 메시지들의 제1 수를 기설정된 임계값과 비교하는 단계;
상기 모니터링된 메시지들의 제1 수가 상기 임계값 이하인 경우, 클라이언트에 대해 발생하는 메시지들을 네트워크를 통해 순차적으로 상기 클라이언트로 전송하는 단계;
상기 모니터링된 메시지들의 제1 수가 상기 임계값을 초과하는 경우, 상기 클라이언트에 대해 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 단계
를 포함하는 것을 특징으로 하는 데이터 전송 방법.A method for transmitting data from a server over a network,
Monitoring a first number of messages occurring per predetermined time;
Comparing the first number of the monitored messages to a predetermined threshold value;
If the first number of the monitored messages is less than or equal to the threshold value, sending messages to the client sequentially through the network;
If the first number of the monitored messages exceeds the threshold value, transmitting messages to the client through a network by grouping messages generated for the client into a predetermined number of units
And transmitting the data.
상기 클라이언트에 대해 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 단계는,
상기 발생하는 메시지들을 기설정된 개수 단위로 묶어서 저장하고, 상기 저장된 메시지들의 제2 수를 네트워크를 통해 상기 클라이언트로 전송하는 단계; 및
상기 메시지들의 제2 수를 수신한 클라이언트로부터의 명시적인 요청에 따라, 상기 메시지들의 제2 수에 대응하는 저장된 메시지들을 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 단계
를 포함하는 것을 특징으로 하는 데이터 전송 방법.9. The method of claim 8,
Wherein the step of grouping messages generated for the client into a predetermined number of units and transmitting the grouped messages to the client via a network comprises:
Storing the generated messages in a predetermined number of units, and transmitting a second number of the stored messages to the client through a network; And
Grouping stored messages corresponding to a second number of the messages in response to an explicit request from a client receiving a second number of the messages and transmitting the messages to the client over the network
And transmitting the data.
상기 저장된 메시지들의 제2 수를 네트워크를 통해 상기 클라이언트로 전송하는 단계는,
상기 묶어서 저장된 메시지들 중 마지막 메시지를 상기 메시지들의 제2 수와 함께 클라이언트로 전송하는 것을 특징으로 하는 데이터 전송 방법.10. The method of claim 9,
Wherein sending the second number of stored messages to the client over the network comprises:
And the last message among the bundled and stored messages is transmitted to the client together with the second number of the messages.
상기 클라이언트에 대해 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 단계는,
상기 클라이언트에 대해 발생하는 메시지들의 전송을 지연시키고, 지연된 메시지들의 제2 수가 기설정된 개수가 되는 경우, 기설정된 개수의 메시지들을 묶어서 한번에 전송하는 것을 특징으로 하는 데이터 전송 방법.9. The method of claim 8,
Wherein the step of grouping messages generated for the client into a predetermined number of units and transmitting the grouped messages to the client via a network comprises:
Wherein the transmission of the messages to the client is delayed, and when the second number of the delayed messages becomes a predetermined number, the predetermined number of messages are bundled and transmitted at once.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
기설정된 시간당 발생하는 메시지들의 제1 수를 모니터링하고,
상기 모니터링된 메시지들의 제1 수를 기설정된 임계값과 비교하고,
상기 모니터링된 메시지들의 제1 수가 상기 임계값 이하인 경우, 클라이언트에 대해 발생하는 메시지들을 네트워크를 통해 순차적으로 상기 클라이언트로 전송하고,
상기 모니터링된 메시지들의 제1 수가 상기 임계값을 초과하는 경우, 기설정된 시간주기마다, 해당 시간주기에 발생하는 메시지들을 저장하고, 상기 해당 시간주기에 발생하여 저장된 메시지들의 제2 수를 네트워크를 통해 클라이언트로 전송하고,
상기 메시지들의 제2 수를 수신한 클라이언트로부터의 명시적인 요청에 따라, 상기 저장된 메시지들을 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 것
을 특징으로 하는 데이터 전송 시스템.1. A system for transmitting data over a network,
At least one processor configured to execute computer readable instructions,
Lt; / RTI >
Wherein the at least one processor comprises:
Monitoring a first number of messages occurring per predetermined time,
Compare the first number of the monitored messages with a predetermined threshold value,
If the first number of the monitored messages is less than or equal to the threshold, sending messages to the client sequentially through the network,
Storing messages occurring in a corresponding time period every predetermined time period when a first number of the monitored messages exceeds the threshold value and storing a second number of messages generated and stored in the corresponding time period on a network Client,
And sending the stored messages to the client over the network in response to an explicit request from a client receiving the second number of messages
The data transmission system comprising:
상기 적어도 하나의 프로세서는,
복수의 클라이언트들에 대한 메시징 서비스에서의 계정들간에 통신 세션을 설정하고, 상기 통신 세션을 통해 상기 복수의 클라이언트들간에 송수신되는 인스턴트 메시지를 라우팅하고,
상기 클라이언트에 대해 발생하는 메시지들은 상기 복수의 클라이언트들로부터 수신되는 인스턴트 메시지를 포함하는 것을 특징으로 하는 데이터 전송 시스템.14. The method of claim 13,
Wherein the at least one processor comprises:
Establishing a communication session between accounts in a messaging service for a plurality of clients, routing an instant message sent and received between the plurality of clients through the communication session,
Wherein the messages generated for the client include an instant message received from the plurality of clients.
상기 적어도 하나의 프로세서는,
상기 해당 시간주기에 발생한 마지막 메시지를 상기 메시지들의 제2 수와 함께 클라이언트로 전송하는 것을 특징으로 하는 데이터 전송 시스템.14. The method of claim 13,
Wherein the at least one processor comprises:
And transmits a last message generated in the corresponding time period to a client together with a second number of the messages.
상기 메시지들의 제2 수를 수신한 클라이언트에서 상기 메시지의 내용을 확인하기 위한 사용자 인터페이스가 활성화된 것에 의해 상기 클라이언트로부터의 요청이 발생하는 것을 특징으로 하는 데이터 전송 시스템.14. The method of claim 13,
Wherein a request from the client is generated by activating a user interface for confirming the contents of the message at a client receiving a second number of the messages.
상기 메시지들의 제2 수는 상기 클라이언트를 통해 사용자의 단말의 화면에 표시되고,
상기 메시지들의 제2 수와 연관하여 상기 단말의 화면에 표시된 사용자 인터페이스에 대한 상기 사용자의 입력에 기반하여 상기 클라이언트로부터의 요청이 발생하는 것을 특징으로 하는 데이터 전송 시스템.14. The method of claim 13,
The second number of messages is displayed on the screen of the user's terminal through the client,
And a request from the client is generated based on the user's input to the user interface displayed on the screen of the terminal in association with a second number of the messages.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
기설정된 시간당 발생하는 메시지들의 제1 수를 모니터링하고,
상기 모니터링된 메시지들의 제1 수를 기설정된 임계값과 비교하고,
상기 모니터링된 메시지들의 제1 수가 상기 임계값 이하인 경우, 클라이언트에 대해 발생하는 메시지들을 네트워크를 통해 순차적으로 상기 클라이언트로 전송하고,
상기 모니터링된 메시지들의 제1 수가 상기 임계값을 초과하는 경우, 상기 클라이언트에 대해 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 것
을 특징으로 하는 데이터 전송 시스템.1. A system for transmitting data over a network,
At least one processor configured to execute computer readable instructions,
Lt; / RTI >
Wherein the at least one processor comprises:
Monitoring a first number of messages occurring per predetermined time,
Compare the first number of the monitored messages with a predetermined threshold value,
If the first number of the monitored messages is less than or equal to the threshold, sending messages to the client sequentially through the network,
If the first number of the monitored messages exceeds the threshold value, sending messages to the client through a network by grouping messages generated for the client into a predetermined number of units
The data transmission system comprising:
상기 적어도 하나의 프로세서는,
상기 클라이언트에 대해 발생하는 메시지들을 기설정된 개수 단위로 묶어서 네트워크를 통해 전송하기 위해,
상기 클라이언트에 대해 발생하는 메시지들을 기설정된 개수 단위로 묶어서 저장하고, 상기 저장된 메시지들의 제2 수를 네트워크를 통해 상기 클라이언트로 전송하고,
상기 메시지들의 제2 수를 수신한 클라이언트로부터의 명시적인 요청에 따라, 상기 저장된 메시지들을 묶어서 네트워크를 통해 상기 클라이언트로 전송하는 것
을 특징으로 하는 데이터 전송 시스템.19. The method of claim 18,
Wherein the at least one processor comprises:
In order to transmit the messages generated on the client in a predetermined number unit and transmit the messages through the network,
Storing a group of messages generated for the client in a predetermined number unit and transmitting a second number of the stored messages to the client via a network,
And sending the stored messages to the client over a network in response to an explicit request from a client receiving a second number of the messages
The data transmission system comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170044309A KR101914118B1 (en) | 2017-04-05 | 2017-04-05 | Method and system for data transmitting |
JP2018046064A JP7127996B2 (en) | 2017-04-05 | 2018-03-13 | Data transmission/reception method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170044309A KR101914118B1 (en) | 2017-04-05 | 2017-04-05 | Method and system for data transmitting |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180113080A KR20180113080A (en) | 2018-10-15 |
KR101914118B1 true KR101914118B1 (en) | 2018-11-01 |
Family
ID=63865886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170044309A KR101914118B1 (en) | 2017-04-05 | 2017-04-05 | Method and system for data transmitting |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7127996B2 (en) |
KR (1) | KR101914118B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7272559B2 (en) * | 2019-01-25 | 2023-05-12 | 株式会社サテライトオフィス | Bot system program |
CN112751748B (en) * | 2020-12-28 | 2023-04-18 | 百果园技术(新加坡)有限公司 | Session message management method, device, server and readable storage medium |
CN113377792A (en) * | 2021-06-10 | 2021-09-10 | 上海微盟企业发展有限公司 | Data write-back method and device, electronic equipment and storage medium |
CN116539127B (en) * | 2023-06-09 | 2024-08-23 | 北京极达测控设备技术有限公司 | Natural gas flow meter verification method, device, equipment and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5870787B2 (en) | 2012-03-19 | 2016-03-01 | 富士通株式会社 | Wireless communication apparatus and control program therefor |
JP5706868B2 (en) | 2012-03-30 | 2015-04-22 | Line株式会社 | System and method for providing avatar / game / entertainment functionality on a messenger platform |
KR20140009778A (en) | 2012-07-13 | 2014-01-23 | 라인 가부시키가이샤 | Method and service platform system for providing various service based on social information of users in messenger platform |
JP2016099725A (en) | 2014-11-19 | 2016-05-30 | 株式会社日立システムズ | Incident Management System and Incident Management method |
-
2017
- 2017-04-05 KR KR1020170044309A patent/KR101914118B1/en active IP Right Grant
-
2018
- 2018-03-13 JP JP2018046064A patent/JP7127996B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018181314A (en) | 2018-11-15 |
KR20180113080A (en) | 2018-10-15 |
JP7127996B2 (en) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11290555B2 (en) | Push notification delivery system | |
KR101417722B1 (en) | Managing notification messages | |
CN112689828A (en) | Placing container workloads triggered by network traffic for efficient computation at network edge devices | |
KR101914118B1 (en) | Method and system for data transmitting | |
US9378437B2 (en) | Sending print jobs using trigger distances | |
JP7412490B2 (en) | Computer programs and electronic devices that generate, process, and manage messages and corresponding tasks | |
KR20130142961A (en) | Automatic application updates | |
KR102638580B1 (en) | Method, system, and non-transitory computer readable record medium for providing multiple group call in one chat room | |
KR102656642B1 (en) | Method, system, and computer program for providing chatroom embedded content | |
EP3342193B1 (en) | Notification system for providing a network service | |
US10958611B2 (en) | Method and system for providing message-based notification | |
KR102230875B1 (en) | Method for managing chatting rooms in portable terminal and apparatus therefore | |
CN107995150B (en) | Identity verification method and device | |
KR20210002979A (en) | Method and apparatus for processing notification using notification preset | |
JP6285579B2 (en) | Long polling processing method and system, and recording medium | |
KR102612067B1 (en) | Method, system, and non-transitory computer readable record medium for providing notice in multi-device environment | |
US20220276901A1 (en) | Batch processing management | |
KR102117963B1 (en) | Device, method and computer for calculating an expected psychological level of a message based on a user's behavior pattern | |
KR102600688B1 (en) | Method and system for providing automatic response function on messenger | |
EP3860044B1 (en) | Partial message delivery and status notification in an end-to-end secure messaging context | |
US12149571B2 (en) | Method, apparatus, device and medium for processing group information | |
KR20210009301A (en) | Methods and systems for dealing with chat rooms based on usage and non-transitory computer-readable recording media | |
KR20210134630A (en) | Efficient transmission restoration method and system according to network state transformation | |
KR20190043932A (en) | Device, method and computer for calculating an expected psychological level of a message based on a user’s behavior pattern | |
KR20220134108A (en) | Method and system for test automation based on remort control of terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |