KR102426621B1 - 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법 - Google Patents

애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR102426621B1
KR102426621B1 KR1020210128565A KR20210128565A KR102426621B1 KR 102426621 B1 KR102426621 B1 KR 102426621B1 KR 1020210128565 A KR1020210128565 A KR 1020210128565A KR 20210128565 A KR20210128565 A KR 20210128565A KR 102426621 B1 KR102426621 B1 KR 102426621B1
Authority
KR
South Korea
Prior art keywords
push notification
notification message
matrix
client terminals
time zone
Prior art date
Application number
KR1020210128565A
Other languages
English (en)
Inventor
김민혁
Original Assignee
김민혁
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김민혁 filed Critical 김민혁
Priority to KR1020210128565A priority Critical patent/KR102426621B1/ko
Application granted granted Critical
Publication of KR102426621B1 publication Critical patent/KR102426621B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법을 제시함으로써, 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들로 푸시 알림 메시지가 발송될 때, 대량의 트래픽으로 인해 상기 애플리케이션 서비스 서버가 불능이 되는 상황을 방지할 수 있도록 한다.

Description

애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법{APPLICATION SERVICE SERVER THAT HANDLES THE SENDING OF AN EFFICIENT PUSH NOTIFICATION MESSAGE TO THE CLIENT TERMINAL WHERE THE APPLICATION IS INSTALLED AND OPERATING METHOD THEREOF}
본 발명은 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법에 대한 것이다.
보통, 사용자가 전자 단말에 소정의 애플리케이션을 설치하는 경우, 사용자는 소정의 애플리케이션에 대한 알림 및 다양한 정보를 받기 위해 푸시 알림 메시지에 대한 수신 설정을 하고 있다.
한편, 푸시 알림 메시지를 발송하는 애플리케이션 서비스 서버는 짧은 시간 내 대량의 푸시 알림 메시지를 클라이언트 단말들로 발송하기 때문에, 대량의 트래픽이 발생할 수 있다. 이로 인해, 초기 단계의 기업들이나 또는 기술적 인프라가 제대로 갖춰지지 않은 기업들은 애플리케이션 서비스 서버가 불능이 되는 경우가 종종 발생하고 있다.
이러한 문제를 해결하기 위해서, 애플리케이션 서비스 서버를 확장하는 방법이 있지만, 초기 단계의 기업들이나 또는 기술적 인프라가 제대로 갖춰지지 않은 기업들은 상대적으로 애플리케이션 서비스 서버에 대한 확장으로 인해 발생하는 비용이 부담스러울 수 있다.
만약, 관리자가 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들로 푸시 알림 메시지를 발송하려고 할 때, 애플리케이션 서비스 서버가 상기 복수의 클라이언트 단말들로 푸시 알림 메시지를 서로 다른 시간대에 따라 분산 발송함과 동시에, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수를 고려하여, 푸시 알림 메시지의 발송여부를 조정할 수 있다면, 대량의 트래픽 발생으로 인해 상기 애플리케이션 서비스 서버가 불능이 되는 상황을 막을 수 있을 것이다.
따라서, 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리할 수 있는 서비스 기술과 관련된 연구가 필요하다.
본 발명은 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법을 제시함으로써, 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들로 푸시 알림 메시지가 발송될 때, 대량의 트래픽으로 인해 상기 애플리케이션 서비스 서버가 불능이 되는 상황을 방지할 수 있도록 한다.
본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버는 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들 각각에 대한 단말 식별 정보가 저장되어 있는 단말 식별 정보 저장부, 상기 복수의 클라이언트 단말들 각각에 대응되는 사전 설정된 푸시 알림 메시지의 수신 선호 시간대 - 상기 수신 선호 시간대는 사전 설정된 n(n은 2이상의 자연수)개의 시간대들 중 상기 복수의 클라이언트 단말들 각각을 소지하고 있는 사용자들 각각에 의해 사전 지정된 시간대임 - 에 대한 정보가 저장되어 있는 수신 선호 시간대 저장부, 관리자 단말로부터, 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 수신 선호 시간대 저장부로부터 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인하는 시간대 확인부, 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대가 확인되면, 동일한 수신 선호 시간대끼리 상기 복수의 클라이언트 단말들을 그룹화함으로써, 상기 n개의 시간대들 각각에 대응되는 n개의 그룹들을 생성하는 그룹 생성부 및 상기 n개의 그룹들이 생성되면, 현재 시간이 상기 n개의 시간대들 중 어느 하나의 시간대에 속하게 될 때마다, 상기 단말 식별 정보 저장부로부터 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송하는 발송부를 포함한다.
또한, 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법은 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들 각각에 대한 단말 식별 정보가 저장되어 있는 단말 식별 정보 저장부를 유지하는 단계, 상기 복수의 클라이언트 단말들 각각에 대응되는 사전 설정된 푸시 알림 메시지의 수신 선호 시간대 - 상기 수신 선호 시간대는 사전 설정된 n(n은 2이상의 자연수)개의 시간대들 중 상기 복수의 클라이언트 단말들 각각을 소지하고 있는 사용자들 각각에 의해 사전 지정된 시간대임 - 에 대한 정보가 저장되어 있는 수신 선호 시간대 저장부를 유지하는 단계, 관리자 단말로부터, 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 수신 선호 시간대 저장부로부터 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인하는 단계, 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대가 확인되면, 동일한 수신 선호 시간대끼리 상기 복수의 클라이언트 단말들을 그룹화함으로써, 상기 n개의 시간대들 각각에 대응되는 n개의 그룹들을 생성하는 단계 및 상기 n개의 그룹들이 생성되면, 현재 시간이 상기 n개의 시간대들 중 어느 하나의 시간대에 속하게 될 때마다, 상기 단말 식별 정보 저장부로부터 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송하는 단계를 포함한다.
본 발명은 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법을 제시함으로써, 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들로 푸시 알림 메시지가 발송될 때, 대량의 트래픽으로 인해 상기 애플리케이션 서비스 서버가 불능이 되는 상황을 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 애플리케이션 서비스 서버(110)는 단말 식별 정보 저장부(111), 수신 선호 시간대 저장부(112), 시간대 확인부(113), 그룹 생성부(114) 및 발송부(115)를 포함한다.
단말 식별 정보 저장부(111)에는 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들 각각에 대한 단말 식별 정보가 저장되어 있다.
수신 선호 시간대 저장부(112)에는 상기 복수의 클라이언트 단말들 각각에 대응되는 사전 설정된 푸시 알림 메시지의 수신 선호 시간대에 대한 정보가 저장되어 있다.
여기서, 상기 수신 선호 시간대는 사전 설정된 n(n은 2이상의 자연수)개의 시간대들 중 상기 복수의 클라이언트 단말들 각각을 소지하고 있는 사용자들 각각에 의해 사전 지정된 시간대를 의미한다.
예컨대, n을 '6'이라고 하고, '6'개의 시간대들을 '시간대 1(12시부터 16시까지), 시간대 2(16시부터 20시까지), 시간대 3(20시부터 24시까지), 시간대 4(24시부터 04시까지), 시간대 5(04시부터 08시까지), 시간대 6(08시부터 12시까지)'이라고 하는 경우, 수신 선호 시간대 저장부(112)에는 하기의 표 1과 같은 정보가 저장되어 있을 수 있다
복수의 클라이언트 단말들 푸시 알림 메시지의 수신 선호 시간대
클라이언트 단말 1 시간대 1(12시부터 16시까지)
클라이언트 단말 2 시간대 1(12시부터 16시까지)
클라이언트 단말 3 시간대 1(12시부터 16시까지)
... ...
클라이언트 단말 20 시간대 1(12시부터 16시까지)
클라이언트 단말 21 시간대 2(16시부터 20시까지)
... ...
클라이언트 단말 5000 시간대 6(12시부터 16시까지)
... ...
시간대 확인부(113)는 관리자 단말(150)로부터, 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 수신 선호 시간대 저장부(112)로부터 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인한다.
그룹 생성부(114)는 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대가 확인되면, 동일한 수신 선호 시간대끼리 상기 복수의 클라이언트 단말들을 그룹화함으로써, 상기 n개의 시간대들 각각에 대응되는 n개의 그룹들을 생성한다.
발송부(115)는 상기 n개의 그룹들이 생성되면, 현재 시간이 상기 n개의 시간대들 중 어느 하나의 시간대에 속하게 될 때마다, 단말 식별 정보 저장부(111)로부터 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송한다.
이하에서는, 시간대 확인부(113), 그룹 생성부(114) 및 발송부(115)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, n을 '6'이라고 하고, 관리자 단말(150)로부터, 제1 푸시 알림 메시지가 수신되면서, 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 애플리케이션 서비스 서버(110)에 수신되었다고 하는 경우, 시간대 확인부(113)는 수신 선호 시간대 저장부(112)로부터 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인할 수 있다.
관련해서, 상기 표 1에서 나타낸 복수의 클라이언트 단말들 중 '클라이언트 단말 1'에 대응되는 수신 선호 시간대를 확인한다고 하는 경우, 시간대 확인부(113)는 수신 선호 시간대 저장부(112)로부터 '클라이언트 단말 1'에 대응되는 수신 선호 시간대인 '시간대 1(12시부터 16시까지)'을 확인할 수 있다.
이러한 방식으로, 시간대 확인부(113)는 상기 복수의 클라이언트 단말들 중 '클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20, 클라이언트 단말 21, ..., 클라이언트 단말 5000, ...'과 같은 나머지 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인할 수 있다.
이렇게, 시간대 확인부(113)를 통해, 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대가 확인되면, 그룹 생성부(114)는 동일한 수신 선호 시간대끼리 상기 복수의 클라이언트 단말들을 그룹화함으로써, '6'개의 시간대들 각각에 대응되는 '6'개의 그룹들을 생성할 수 있다.
관련해서, '6'개의 시간대들 중 '시간대 1(12시부터 16시까지)'에 대응되는 그룹을 생성한다고 하는 경우, 그룹 생성부(114)는 상기 표 1에서 나타낸 바와 같이, 동일한 수신 선호 시간대인 '시간대 1(12시부터 16시까지)'에 대응되는 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'을 그룹화함으로써, '시간대 1(12시부터 16시까지)'에 대응되는 그룹을 생성할 수 있다.
이러한 방식으로, 그룹 생성부(114)는 '6'개의 시간대들 중 '시간대 2(16시부터 20시까지), 시간대 3(20시부터 24시까지), 시간대 4(24시부터 04시까지), 시간대 5(04시부터 08시까지), 시간대 6(08시부터 12시까지)'과 같은 나머지 시간대들 각각에 대응되는 그룹을 생성할 수 있다.
그러고 나서, 발송부(115)는 현재 시간이 '6'개의 시간대들 중 어느 하나의 시간대에 속하게 될 때마다, 단말 식별 정보 저장부(111)로부터 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 수 있다.
관련해서, 현재 시간이 '12시'라고 가정하자. 이때, '12시'가 '6'개의 시간대들 중 어느 하나의 시간대인 '시간대 1(12시부터 16시까지)'에 속하게 되므로, 발송부(115)는 단말 식별 정보 저장부(111)로부터 '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 수 있다.
예컨대, 전술한 예와 같이, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들을 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'이라고 하는 경우, 발송부(115)는 단말 식별 정보 저장부(111)로부터 '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들인 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'에 대한 단말 식별 정보를 확인한 후, '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'으로, 상기 제1 푸시 알림 메시지를 발송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 발송부(115)는 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수를 모니터링하여, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 사전 설정된 임계치를 초과하는 것으로 확인되는 경우, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단한 후, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하지 않는 것으로 확인되면, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 재개할 수 있다.
예컨대, 전술한 예와 같이, 상기 어느 하나의 시간대를 '시간대 1(12시부터 16시까지)'라고 하고, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들을 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'이라고 하며, 사전 설정된 임계치를 '1000'이라고 가정하자.
그러면, 발송부(115)는 '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들인 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'으로, 상기 제1 푸시 알림 메시지를 발송할 때, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수를 모니터링하여, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 상기 임계치인 '1000'을 초과하는 것으로 확인되는 경우, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단할 수 있다.
그 이후, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 상기 임계치인 '1000'을 초과하지 않는 것으로 확인되면, 발송부(115)는 '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'에 대한 상기 제1 푸시 알림 메시지의 발송을 재개할 수 있다.
또한, 본 발명의 일실시예에 따르면, 발송부(115)는 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들을 랜덤하게 그룹화하여 k(k는 2이상의 자연수)개의 부분 그룹들을 생성한 후, 상기 k개의 부분 그룹들 각각에 대해, 상기 제1 푸시 알림 메시지의 발송 순번을 랜덤하게 할당하고, 상기 k개의 부분 그룹들 각각에 할당된 발송 순번에 따라, 순차적으로 각 부분 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 일괄 발송하되, 상기 k개의 부분 그룹들 중 어느 하나의 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송이 완료될 때마다, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수를 모니터링하여, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하는 것으로 확인되는 경우, 상기 어느 하나의 부분 그룹의 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단한 후, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하지 않는 것으로 확인되면, 상기 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 재개할 수 있다.
예컨대, 전술한 예와 같이, 상기 어느 하나의 시간대를 '시간대 1(12시부터 16시까지)'라고 하고, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들을 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'이라고 하며, 상기 임계치를 '1000'이라고 하고, k를 '5'라고 가정하자.
그러면, 발송부(115)는 '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들인 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'으로, 상기 제1 푸시 알림 메시지를 발송할 때, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'을 랜덤하게 그룹화하여 '5'개의 부분 그룹들을 생성할 수 있다.
그 이후, 발송부(115)는 '5'개의 부분 그룹들 각각에 대해, 상기 제1 푸시 알림 메시지의 발송 순번을 랜덤하게 할당할 수 있다.
예컨대, '발송 순번 1'이 할당된 부분 그룹을 '부분 그룹 1'이라고 하고, '발송 순번 2'가 할당된 부분 그룹을 '부분 그룹 2'라고 하며, '발송 순번 3'이 할당된 부분 그룹을 '부분 그룹 3'이라고 하고, '발송 순번 4'가 할당된 부분 그룹을 '부분 그룹 4'라고 하며, '발송 순번 5'가 할당된 부분 그룹을 '부분 그룹 5'라고 하는 경우, 발송부(115)는 '5'개의 부분 그룹들 각각에 할당된 발송 순번에 따라, '부분 그룹 1'을 시작으로 하여 '부분 그룹 2', '부분 그룹 3', '부분 그룹 4', '부분 그룹 5'까지, 순차적으로 각 부분 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 일괄 발송할 수 있다.
이때, '5'개의 부분 그룹들 중 '발송 순번 1'이 할당된 '부분 그룹 1'에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송이 완료되면, 발송부(115)는 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수를 모니터링하여, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 상기 임계치인 '1000'을 초과하는 것으로 확인되는 경우, '부분 그룹 1'의 다음 발송 순번인 '발송 순번 2'를 갖는 '부분 그룹 2'에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단할 수 있다.
그 이후, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수가 상기 임계치인 '1000'을 초과하지 않는 것으로 확인되면, 발송부(115)는 '발송 순번 2'를 갖는 '부분 그룹 2'에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 재개할 수 있다.
또한, 본 발명의 일실시예에 따르면, 발송부(115)는 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 현재 시간이 상기 어느 하나의 시간대의 종료 시점으로부터 사전 설정된 임계 시간 이전이 되는 경우, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수에 상관없이, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들 중 아직까지 상기 제1 푸시 알림 메시지가 발송되지 않은 나머지 클라이언트 단말들 전체에 대해, 상기 제1 푸시 알림 메시지를 일괄 발송할 수 있다.
예컨대, 전술한 예와 같이, 상기 어느 하나의 시간대를 '시간대 1(12시부터 16시까지)'라고 하고, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들을 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'이라고 하며, 사전 설정된 임계 시간을 '30분'이라고 가정하자.
그러면, 발송부(115)는 '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 클라이언트 단말들인 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20'으로, 상기 제1 푸시 알림 메시지를 발송할 때, 현재 시간이 '시간대 1(12시부터 16시까지)'의 종료 시점인 '16시'로부터 상기 임계 시간인 '30분' 이전인 '15시 30분'이 되는 경우, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수에 상관 없이, '시간대 1(12시부터 16시까지)'에 대응되는 그룹에 속한 '클라이언트 단말 1, 클라이언트 단말 2, 클라이언트 단말 3, ..., 클라이언트 단말 20' 중 아직까지 상기 제1 푸시 알림 메시지가 발송되지 않은 나머지 클라이언트 단말들 전체에 대해, 상기 제1 푸시 알림 메시지를 일괄 발송할 수 있다.
즉, 발송부(115)는 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 현재 시간이 상기 어느 하나의 시간대의 종료 시점으로부터 사전 설정된 임계 시간 이전이 되면, 애플리케이션 서비스 서버(110)에 접속되어 있는 동시 접속자 수에 상관없이, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들 중 아직까지 상기 제1 푸시 알림 메시지가 발송되지 않은 나머지 클라이언트 단말들 전체에 대해, 상기 제1 푸시 알림 메시지를 일괄 발송함으로써, 상기 어느 하나의 시간대 내에서, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들 전체에 대해서 상기 제1 푸시 알림 메시지가 누락되지 않고 발송 완료될 수 있도록 처리할 수 있다.
본 발명의 일실시예에 따르면, 시간대 확인부(113)는 관리자 단말(150)로부터 상기 제1 푸시 알림 메시지가 수신되면서, 상기 제1 푸시 알림 메시지의 발송 요청이 수신되었을 때, 관리자 단말(150)이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인지 여부를 검증하기 위한 구성을 더 포함할 수 있다. 이와 관련해서, 시간대 확인부(113)는 인증 행렬 저장부(116), 이벤트 발생부(117), 치환 행렬 생성부(118), 피드백 요청부(119), 연산 행렬 생성부(120), 코드 확인부(121) 및 검증 완료부(122)를 포함할 수 있다.
인증 행렬 저장부(116)에는 관리자 단말(150)과 사전 공유하고 있는 사전 설정된 인증 행렬이 저장되어 있다.
여기서, 상기 인증 행렬은, p x p(p는 2이상의 자연수) 크기의 행렬로서, 상기 인증 행렬을 구성하는 p x p개의 성분들 중 랜덤하게 선택된 t(t는 p2보다 작은 자연수)개의 성분들이 랜덤한 홀수 값으로 지정되어 있고, 나머지 p2-t개의 성분들이 랜덤한 짝수 값으로 지정되어 있을 수 있다.
예컨대, p를 '3'이라고 하고, t를 '2'라고 하는 경우, 인증 행렬 저장부(116)에는 3 x 3 크기의 인증 행렬인 '
Figure 112021111704315-pat00001
'가 사전 설정된 인증 행렬로 저장되어 있을 수 있다.
이벤트 발생부(117)는 관리자 단말(150)로부터, 상기 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 관리자 단말(150)이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인지 여부를 검증하기 위한 검증 이벤트를 발생시킨다.
치환 행렬 생성부(118)는 상기 검증 이벤트가 발생되면, 인증 행렬 저장부(116)로부터 상기 인증 행렬을 추출한 후, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2(modulo-2) 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 제1 치환 행렬을 생성한다.
여기서, 모듈로-2 연산은 피제수를 2로 나누는 나눗셈을 수행하여, 그에 대한 나머지(remainder)를 산출하는 연산을 의미한다.
피드백 요청부(119)는 상기 제1 치환 행렬이 생성되면, t개의 인증 코드들과 p2-t개의 더미(dummy) 코드들을 랜덤하게 생성하여, 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들을 관리자 단말(150)로 전송하면서, 관리자 단말(150)로 피드백 행렬의 전송을 요청한다.
연산 행렬 생성부(120)는 관리자 단말(150)로부터 제1 피드백 행렬(상기 제1 피드백 행렬은, 관리자 단말(150)에 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들이 수신되면, 관리자 단말(150)이, 관리자 단말(150)의 메모리 상에 저장되어 있는 상기 인증 행렬을 추출하고, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 상기 제1 치환 행렬을 생성한 후, 상기 제1 치환 행렬을 구성하는 p x p개의 성분들 중 1의 성분들이 위치하는 지점에 상기 t개의 인증 코드들을 하나씩 삽입하고, 나머지 0의 성분들이 위치하는 지점에 상기 p2-t개의 더미 코드들을 하나씩 삽입하여 생성한, p x p 크기의 행렬임)이 수신되면, 상기 제1 치환 행렬과 상기 제1 피드백 행렬 간의 아다마르 곱(Hadamard product)을 연산하여 제1 연산 행렬을 생성한다.
여기서, 아다마르 곱이란, 같은 크기의 행렬에서 각 성분을 곱하는 연산을 의미한다. 예컨대, '[a b c]'와 '[x y z]'라는 행렬이 있을 때, 두 행렬 간의 아다마르 곱을 연산하면, '[ax by cz]'라는 행렬이 산출될 수 있다.
코드 확인부(121)는 상기 제1 연산 행렬이 생성되면, 상기 제1 연산 행렬을 구성하는 p x p개의 성분들 중 0이 아닌 성분들인 제1 성분들을 추출한 후, 상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는지 여부를 확인한다.
검증 완료부(122)는 상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는 것으로 확인되면, 관리자 단말(150)이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인 것으로 검증 완료 처리함으로써, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 과정이 수행되도록 처리한다.
이하에서는, 이벤트 발생부(117), 치환 행렬 생성부(118), 피드백 요청부(119), 연산 행렬 생성부(120), 코드 확인부(121) 및 검증 완료부(122)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 상기 인증 행렬을 '
Figure 112021111704315-pat00002
'라고 하고, 관리자 단말(150)로부터, 상기 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 푸시 알림 메시지의 발송 요청이 애플리케이션 서비스 서버(110)에 수신되었다고 하는 경우, 이벤트 발생부(117)는 관리자 단말(150)이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인지 여부를 검증하기 위한 검증 이벤트를 발생시킬 수 있다.
이렇게, 이벤트 발생부(117)를 통해 상기 검증 이벤트가 발생되면, 치환 행렬 생성부(118)는 인증 행렬 저장부(116)로부터 '
Figure 112021111704315-pat00003
'와 같은 상기 인증 행렬을 추출한 후, '
Figure 112021111704315-pat00004
'를 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 3 x 3 크기의 제1 치환 행렬을 '
Figure 112021111704315-pat00005
'과 같이 생성할 수 있다.
이렇게, 상기 제1 치환 행렬이 생성되면, 피드백 요청부(119)는 '2'개의 인증 코드들과 '7'개의 더미 코드들을 랜덤하게 생성할 수 있다.
관련해서, 'A1, A2'라고 하는 '2'개의 인증 코드들과 'D1, D2, D3, D4, D5, D6, D7'이라고 하는 '7'개의 더미 코드들이 생성되었다고 하는 경우, 피드백 요청부(119)는 '2'개의 인증 코드들인 'A1, A2'와 '7'개의 더미 코드들인 'D1, D2, D3, D4, D5, D6, D7'을 관리자 단말(150)로 전송하면서, 관리자 단말(150)로 피드백 행렬의 전송을 요청할 수 있다.
이때, 관리자 단말(150)은 관리자 단말(150)의 메모리 상에 '
Figure 112021111704315-pat00006
'와 같은 상기 인증 행렬을 사전 저장하고 있을 수 있는데, 관리자 단말(150)은 애플리케이션 서비스 서버(110)로부터 '2'개의 인증 코드들인 'A1, A2'와 '7'개의 더미 코드들인 'D1, D2, D3, D4, D5, D6, D7'이 수신되면서, 상기 피드백 행렬의 전송 요청이 수신되는 경우, 관리자 단말(150)의 메모리 상에 사전 저장되어 있는 상기 인증 행렬인 '
Figure 112021111704315-pat00007
'를 추출할 수 있다.
그러고 나서, 관리자 단말(150)은 상기 인증 행렬인 '
Figure 112021111704315-pat00008
'를 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 3 x 3 크기의 상기 제1 치환 행렬을 '
Figure 112021111704315-pat00009
'과 같이 생성한 후, 상기 제1 치환 행렬인 '
Figure 112021111704315-pat00010
'을 구성하는 '9'개의 성분들 중 1의 성분들이 위치하는 지점에 '2'개의 인증 코드들인 'A1, A2'를 하나씩 삽입하고, 나머지 0의 성분들이 위치하는 지점에 '7'개의 더미 코드들인 'D1, D2 D3, D4, D5, D6, D7'을 하나씩 삽입하여 3 x 3 크기의 제1 피드백 행렬을 생성할 수 있다.
이때, 관리자 단말(150)은 상기 제1 치환 행렬을 구성하는 '9'개의 성분들이 위치하는 지점에 상기 인증 코드들과 상기 더미 코드들을 하나씩 삽입할 때, 좌측열에서 우측열의 방향으로, 상단행에서 하단행의 방향으로 순차적으로 하나씩 코드를 삽입할 수 있다. 즉, 관리자 단말(150)은 상기 제1 치환 행렬에서 '1행 1열, 1행 2열, 1행 3열, 2행 1열, 2행 2열, 2행 3열, 3행 1열, 3행 2열, 3행 3열'의 순서로, 각 성분들이 위치하는 지점에 상기 인증 코드들과 상기 더미 코드들을 하나씩 삽입할 수 있다.
이러한 방식으로, 관리자 단말(150)은 상기 제1 치환 행렬인 '
Figure 112021111704315-pat00011
'을 구성하는 '9'개의 성분들 중 1의 성분들이 위치하는 지점에 '2'개의 인증 코드들인 'A1, A2'를 하나씩 삽입하고, 나머지 0의 성분들이 위치하는 지점에 '7'개의 더미 코드들인 'D1, D2 D3, D4, D5, D6, D7'을 하나씩 삽입하여 3 x 3 크기의 제1 피드백 행렬을 '
Figure 112021111704315-pat00012
'과 같이 생성할 수 있다.
이렇게, '
Figure 112021111704315-pat00013
'과 같은 상기 제1 피드백 행렬이 생성되면, 관리자 단말(150)은 상기 제1 피드백 행렬인 '
Figure 112021111704315-pat00014
'을 애플리케이션 서비스 서버(110)로 전송할 수 있다.
이로 인해, 관리자 단말(150)로부터 애플리케이션 서비스 서버(110)에 상기 제1 피드백 행렬인 '
Figure 112021111704315-pat00015
'이 수신되면, 연산 행렬 생성부(120)는 상기 제1 치환 행렬인 '
Figure 112021111704315-pat00016
'과 상기 제1 피드백 행렬인 '
Figure 112021111704315-pat00017
' 간의 아다마르 곱을 연산하여 제1 연산 행렬을 '
Figure 112021111704315-pat00018
'와 같이 생성할 수 있다.
그 이후, 코드 확인부(121)는 상기 제1 연산 행렬을 구성하는 '9'개의 성분들 중 0이 아닌 '2'개의 성분들인 'A1, A2'를, 제1 성분들로 하나씩 추출할 수 있다.
이때, 코드 확인부(121)는 상기 제1 연산 행렬을 구성하는 '9'개의 성분들 중 0이 아닌 '2'개의 성분들인 'A1, A2'를, 제1 성분들로 하나씩 추출할 때, 좌측열에서 우측열의 방향으로, 상단행에서 하단행의 방향으로 순차적으로 하나씩 제1 성분들을 추출할 수 있다. 즉, 코드 확인부(121)는 상기 제1 연산 행렬을 구성하는 '9'개의 성분들 중 0이 아닌 '2'개의 성분들을 '1행 1열, 1행 2열, 1행 3열, 2행 1열, 2행 2열, 2행 3열, 3행 1열, 3행 2열, 3행 3열'의 순서대로 하나씩 추출함으로써, 'A1, A2'라는 '2'개의 제1 성분들을 하나씩 추출할 수 있다.
그러고 나서, 코드 확인부(121)는 상기 제1 성분들인 'A1, A2'가 '2'개의 인증 코드들인 'A1, A2'와 모두 일치하는지 여부를 확인할 수 있다.
이때, 상기 제1 성분들인 'A1, A2'는 '2'개의 인증 코드들인 'A1, A2'와 모두 일치하기 때문에, 검증 완료부(122)는 관리자 단말(150)이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인 것으로 검증 완료 처리함으로써, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 과정이 수행되도록 처리할 수 있다.
도 2는 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 애플리케이션이 설치되어 있는 복수의 클라이언트 단말들 각각에 대한 단말 식별 정보가 저장되어 있는 단말 식별 정보 저장부를 유지한다.
단계(S220)에서는 상기 복수의 클라이언트 단말들 각각에 대응되는 사전 설정된 푸시 알림 메시지의 수신 선호 시간대(상기 수신 선호 시간대는 사전 설정된 n(n은 2이상의 자연수)개의 시간대들 중 상기 복수의 클라이언트 단말들 각각을 소지하고 있는 사용자들 각각에 의해 사전 지정된 시간대임)에 대한 정보가 저장되어 있는 수신 선호 시간대 저장부를 유지한다.
단계(S230)에서는 관리자 단말로부터, 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 수신 선호 시간대 저장부로부터 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인한다.
단계(S240)에서는 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대가 확인되면, 동일한 수신 선호 시간대끼리 상기 복수의 클라이언트 단말들을 그룹화함으로써, 상기 n개의 시간대들 각각에 대응되는 n개의 그룹들을 생성한다.
단계(S250)에서는 상기 n개의 그룹들이 생성되면, 현재 시간이 상기 n개의 시간대들 중 어느 하나의 시간대에 속하게 될 때마다, 상기 단말 식별 정보 저장부로부터 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송한다.
이때, 본 발명의 일실시예에 따르면, 단계(S250)에서는 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수를 모니터링하여, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 사전 설정된 임계치를 초과하는 것으로 확인되는 경우, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단한 후, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하지 않는 것으로 확인되면, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 재개할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S250)에서는 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들을 랜덤하게 그룹화하여 k(k는 2이상의 자연수)개의 부분 그룹들을 생성한 후, 상기 k개의 부분 그룹들 각각에 대해, 상기 제1 푸시 알림 메시지의 발송 순번을 랜덤하게 할당하고, 상기 k개의 부분 그룹들 각각에 할당된 발송 순번에 따라, 순차적으로 각 부분 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 일괄 발송하되, 상기 k개의 부분 그룹들 중 어느 하나의 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송이 완료될 때마다, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수를 모니터링하여, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하는 것으로 확인되는 경우, 상기 어느 하나의 부분 그룹의 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단한 후, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하지 않는 것으로 확인되면, 상기 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 재개할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S250)에서는 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 현재 시간이 상기 어느 하나의 시간대의 종료 시점으로부터 사전 설정된 임계 시간 이전이 되는 경우, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수에 상관없이, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들 중 아직까지 상기 제1 푸시 알림 메시지가 발송되지 않은 나머지 클라이언트 단말들 전체에 대해, 상기 제1 푸시 알림 메시지를 일괄 발송할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S230)에서는 상기 관리자 단말과 사전 공유하고 있는 사전 설정된 인증 행렬(상기 인증 행렬은, p x p(p는 2이상의 자연수) 크기의 행렬로서, 상기 인증 행렬을 구성하는 p x p개의 성분들 중 랜덤하게 선택된 t(t는 p2보다 작은 자연수)개의 성분들이 랜덤한 홀수 값으로 지정되어 있고, 나머지 p2-t개의 성분들이 랜덤한 짝수 값으로 지정되어 있음)이 저장되어 있는 인증 행렬 저장부를 유지하는 단계, 상기 관리자 단말로부터, 상기 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 관리자 단말이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인지 여부를 검증하기 위한 검증 이벤트를 발생시키는 단계, 상기 검증 이벤트가 발생되면, 상기 인증 행렬 저장부로부터 상기 인증 행렬을 추출한 후, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 제1 치환 행렬을 생성하는 단계, 상기 제1 치환 행렬이 생성되면, t개의 인증 코드들과 p2-t개의 더미 코드들을 랜덤하게 생성하여, 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들을 상기 관리자 단말로 전송하면서, 상기 관리자 단말로 피드백 행렬의 전송을 요청하는 단계, 상기 관리자 단말로부터 제1 피드백 행렬 - 상기 제1 피드백 행렬은, 상기 관리자 단말에 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들이 수신되면, 상기 관리자 단말이, 상기 관리자 단말의 메모리 상에 저장되어 있는 상기 인증 행렬을 추출하고, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 상기 제1 치환 행렬을 생성한 후, 상기 제1 치환 행렬을 구성하는 p x p개의 성분들 중 1의 성분들이 위치하는 지점에 상기 t개의 인증 코드들을 하나씩 삽입하고, 나머지 0의 성분들이 위치하는 지점에 상기 p2-t개의 더미 코드들을 하나씩 삽입하여 생성한, p x p 크기의 행렬임 - 이 수신되면, 상기 제1 치환 행렬과 상기 제1 피드백 행렬 간의 아다마르 곱을 연산하여 제1 연산 행렬을 생성하는 단계, 상기 제1 연산 행렬이 생성되면, 상기 제1 연산 행렬을 구성하는 p x p개의 성분들 중 0이 아닌 성분들인 제1 성분들을 추출한 후, 상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는지 여부를 확인하는 단계 및 상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는 것으로 확인되면, 상기 관리자 단말이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인 것으로 검증 완료 처리함으로써, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 과정이 수행되도록 처리하는 단계를 포함할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 애플리케이션 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 애플리케이션 서비스 서버
111: 단말 식별 정보 저장부 112: 수신 선호 시간대 저장부
113: 시간대 확인부 114: 그룹 생성부
115: 발송부 116: 인증 행렬 저장부
117: 이벤트 발생부 118: 치환 행렬 생성부
119: 피드백 요청부 120: 연산 행렬 생성부
121: 코드 확인부 122: 검증 완료부
150: 관리자 단말

Claims (12)

  1. 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버에 있어서,
    애플리케이션이 설치되어 있는 복수의 클라이언트 단말들 각각에 대한 단말 식별 정보가 저장되어 있는 단말 식별 정보 저장부;
    상기 복수의 클라이언트 단말들 각각에 대응되는 사전 설정된 푸시 알림 메시지의 수신 선호 시간대 - 상기 수신 선호 시간대는 사전 설정된 n(n은 2이상의 자연수)개의 시간대들 중 상기 복수의 클라이언트 단말들 각각을 소지하고 있는 사용자들 각각에 의해 사전 지정된 시간대임 - 에 대한 정보가 저장되어 있는 수신 선호 시간대 저장부;
    관리자 단말로부터, 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 수신 선호 시간대 저장부로부터 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인하는 시간대 확인부;
    상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대가 확인되면, 동일한 수신 선호 시간대끼리 상기 복수의 클라이언트 단말들을 그룹화함으로써, 상기 n개의 시간대들 각각에 대응되는 n개의 그룹들을 생성하는 그룹 생성부; 및
    상기 n개의 그룹들이 생성되면, 현재 시간이 상기 n개의 시간대들 중 어느 하나의 시간대에 속하게 될 때마다, 상기 단말 식별 정보 저장부로부터 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송하는 발송부
    를 포함하고,
    상기 발송부는
    상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들을 랜덤하게 그룹화하여 k(k는 2이상의 자연수)개의 부분 그룹들을 생성한 후, 상기 k개의 부분 그룹들 각각에 대해, 상기 제1 푸시 알림 메시지의 발송 순번을 랜덤하게 할당하고, 상기 k개의 부분 그룹들 각각에 할당된 발송 순번에 따라, 순차적으로 각 부분 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 일괄 발송하되, 상기 k개의 부분 그룹들 중 어느 하나의 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송이 완료될 때마다, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수를 모니터링하여, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 사전 설정된 임계치를 초과하는 것으로 확인되는 경우, 상기 어느 하나의 부분 그룹의 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단한 후, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하지 않는 것으로 확인되면, 상기 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 재개하는 것을 특징으로 하는 애플리케이션 서비스 서버.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 발송부는
    상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 현재 시간이 상기 어느 하나의 시간대의 종료 시점으로부터 사전 설정된 임계 시간 이전이 되는 경우, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수에 상관없이, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들 중 아직까지 상기 제1 푸시 알림 메시지가 발송되지 않은 나머지 클라이언트 단말들 전체에 대해, 상기 제1 푸시 알림 메시지를 일괄 발송하는 것을 특징으로 하는 애플리케이션 서비스 서버.
  5. 제1항에 있어서,
    상기 시간대 확인부는
    상기 관리자 단말과 사전 공유하고 있는 사전 설정된 인증 행렬 - 상기 인증 행렬은, p x p(p는 2이상의 자연수) 크기의 행렬로서, 상기 인증 행렬을 구성하는 p x p개의 성분들 중 랜덤하게 선택된 t(t는 p2보다 작은 자연수)개의 성분들이 랜덤한 홀수 값으로 지정되어 있고, 나머지 p2-t개의 성분들이 랜덤한 짝수 값으로 지정되어 있음 - 이 저장되어 있는 인증 행렬 저장부;
    상기 관리자 단말로부터, 상기 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 관리자 단말이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인지 여부를 검증하기 위한 검증 이벤트를 발생시키는 이벤트 발생부;
    상기 검증 이벤트가 발생되면, 상기 인증 행렬 저장부로부터 상기 인증 행렬을 추출한 후, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2(modulo-2) 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 제1 치환 행렬을 생성하는 치환 행렬 생성부;
    상기 제1 치환 행렬이 생성되면, t개의 인증 코드들과 p2-t개의 더미(dummy) 코드들을 랜덤하게 생성하여, 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들을 상기 관리자 단말로 전송하면서, 상기 관리자 단말로 피드백 행렬의 전송을 요청하는 피드백 요청부;
    상기 관리자 단말로부터 제1 피드백 행렬 - 상기 제1 피드백 행렬은, 상기 관리자 단말에 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들이 수신되면, 상기 관리자 단말이, 상기 관리자 단말의 메모리 상에 저장되어 있는 상기 인증 행렬을 추출하고, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 상기 제1 치환 행렬을 생성한 후, 상기 제1 치환 행렬을 구성하는 p x p개의 성분들 중 1의 성분들이 위치하는 지점에 상기 t개의 인증 코드들을 하나씩 삽입하고, 나머지 0의 성분들이 위치하는 지점에 상기 p2-t개의 더미 코드들을 하나씩 삽입하여 생성한, p x p 크기의 행렬임 - 이 수신되면, 상기 제1 치환 행렬과 상기 제1 피드백 행렬 간의 아다마르 곱(Hadamard product)을 연산하여 제1 연산 행렬을 생성하는 연산 행렬 생성부;
    상기 제1 연산 행렬이 생성되면, 상기 제1 연산 행렬을 구성하는 p x p개의 성분들 중 0이 아닌 성분들인 제1 성분들을 추출한 후, 상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는지 여부를 확인하는 코드 확인부; 및
    상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는 것으로 확인되면, 상기 관리자 단말이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인 것으로 검증 완료 처리함으로써, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 과정이 수행되도록 처리하는 검증 완료부
    를 포함하는 애플리케이션 서비스 서버.
  6. 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버의 동작 방법에 있어서,
    애플리케이션이 설치되어 있는 복수의 클라이언트 단말들 각각에 대한 단말 식별 정보가 저장되어 있는 단말 식별 정보 저장부를 유지하는 단계;
    상기 복수의 클라이언트 단말들 각각에 대응되는 사전 설정된 푸시 알림 메시지의 수신 선호 시간대 - 상기 수신 선호 시간대는 사전 설정된 n(n은 2이상의 자연수)개의 시간대들 중 상기 복수의 클라이언트 단말들 각각을 소지하고 있는 사용자들 각각에 의해 사전 지정된 시간대임 - 에 대한 정보가 저장되어 있는 수신 선호 시간대 저장부를 유지하는 단계;
    관리자 단말로부터, 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 수신 선호 시간대 저장부로부터 상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대를 확인하는 단계;
    상기 복수의 클라이언트 단말들 각각에 대응되는 수신 선호 시간대가 확인되면, 동일한 수신 선호 시간대끼리 상기 복수의 클라이언트 단말들을 그룹화함으로써, 상기 n개의 시간대들 각각에 대응되는 n개의 그룹들을 생성하는 단계; 및
    상기 n개의 그룹들이 생성되면, 현재 시간이 상기 n개의 시간대들 중 어느 하나의 시간대에 속하게 될 때마다, 상기 단말 식별 정보 저장부로부터 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들에 대한 단말 식별 정보를 확인한 후, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송하는 단계
    를 포함하고,
    상기 발송하는 단계는
    상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들을 랜덤하게 그룹화하여 k(k는 2이상의 자연수)개의 부분 그룹들을 생성한 후, 상기 k개의 부분 그룹들 각각에 대해, 상기 제1 푸시 알림 메시지의 발송 순번을 랜덤하게 할당하고, 상기 k개의 부분 그룹들 각각에 할당된 발송 순번에 따라, 순차적으로 각 부분 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 일괄 발송하되, 상기 k개의 부분 그룹들 중 어느 하나의 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송이 완료될 때마다, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수를 모니터링하여, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 사전 설정된 임계치를 초과하는 것으로 확인되는 경우, 상기 어느 하나의 부분 그룹의 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 임시 중단한 후, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수가 상기 임계치를 초과하지 않는 것으로 확인되면, 상기 다음 발송 순번을 갖는 부분 그룹에 속한 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송을 재개하는 것을 특징으로 하는 애플리케이션 서비스 서버의 동작 방법.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서,
    상기 발송하는 단계는
    상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들로, 상기 제1 푸시 알림 메시지를 발송할 때, 현재 시간이 상기 어느 하나의 시간대의 종료 시점으로부터 사전 설정된 임계 시간 이전이 되는 경우, 상기 애플리케이션 서비스 서버에 접속되어 있는 동시 접속자 수에 상관없이, 상기 어느 하나의 시간대에 대응되는 그룹에 속한 클라이언트 단말들 중 아직까지 상기 제1 푸시 알림 메시지가 발송되지 않은 나머지 클라이언트 단말들 전체에 대해, 상기 제1 푸시 알림 메시지를 일괄 발송하는 것을 특징으로 하는 애플리케이션 서비스 서버의 동작 방법.
  10. 제6항에 있어서,
    상기 수신 선호 시간대를 확인하는 단계는
    상기 관리자 단말과 사전 공유하고 있는 사전 설정된 인증 행렬 - 상기 인증 행렬은, p x p(p는 2이상의 자연수) 크기의 행렬로서, 상기 인증 행렬을 구성하는 p x p개의 성분들 중 랜덤하게 선택된 t(t는 p2보다 작은 자연수)개의 성분들이 랜덤한 홀수 값으로 지정되어 있고, 나머지 p2-t개의 성분들이 랜덤한 짝수 값으로 지정되어 있음 - 이 저장되어 있는 인증 행렬 저장부를 유지하는 단계;
    상기 관리자 단말로부터, 상기 제1 푸시 알림 메시지가 수신되면서, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 요청이 수신되면, 상기 관리자 단말이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인지 여부를 검증하기 위한 검증 이벤트를 발생시키는 단계;
    상기 검증 이벤트가 발생되면, 상기 인증 행렬 저장부로부터 상기 인증 행렬을 추출한 후, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2(modulo-2) 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 제1 치환 행렬을 생성하는 단계;
    상기 제1 치환 행렬이 생성되면, t개의 인증 코드들과 p2-t개의 더미(dummy) 코드들을 랜덤하게 생성하여, 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들을 상기 관리자 단말로 전송하면서, 상기 관리자 단말로 피드백 행렬의 전송을 요청하는 단계;
    상기 관리자 단말로부터 제1 피드백 행렬 - 상기 제1 피드백 행렬은, 상기 관리자 단말에 상기 t개의 인증 코드들과 상기 p2-t개의 더미 코드들이 수신되면, 상기 관리자 단말이, 상기 관리자 단말의 메모리 상에 저장되어 있는 상기 인증 행렬을 추출하고, 상기 인증 행렬을 구성하는 성분들 각각을, 각 성분에 대해 모듈로-2 연산을 수행하였을 때의 결과 값으로 치환함으로써, 0과 1로 구성된 p x p 크기의 상기 제1 치환 행렬을 생성한 후, 상기 제1 치환 행렬을 구성하는 p x p개의 성분들 중 1의 성분들이 위치하는 지점에 상기 t개의 인증 코드들을 하나씩 삽입하고, 나머지 0의 성분들이 위치하는 지점에 상기 p2-t개의 더미 코드들을 하나씩 삽입하여 생성한, p x p 크기의 행렬임 - 이 수신되면, 상기 제1 치환 행렬과 상기 제1 피드백 행렬 간의 아다마르 곱(Hadamard product)을 연산하여 제1 연산 행렬을 생성하는 단계;
    상기 제1 연산 행렬이 생성되면, 상기 제1 연산 행렬을 구성하는 p x p개의 성분들 중 0이 아닌 성분들인 제1 성분들을 추출한 후, 상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는지 여부를 확인하는 단계; 및
    상기 제1 성분들이 상기 t개의 인증 코드들과 모두 일치하는 것으로 확인되면, 상기 관리자 단말이, 푸시 알림 메시지를 발송할 권한이 있는 관리자의 관리자 단말인 것으로 검증 완료 처리함으로써, 상기 복수의 클라이언트 단말들에 대한 상기 제1 푸시 알림 메시지의 발송 과정이 수행되도록 처리하는 단계
    를 포함하는 애플리케이션 서비스 서버의 동작 방법.
  11. 제6항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020210128565A 2021-09-29 2021-09-29 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법 KR102426621B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210128565A KR102426621B1 (ko) 2021-09-29 2021-09-29 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210128565A KR102426621B1 (ko) 2021-09-29 2021-09-29 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR102426621B1 true KR102426621B1 (ko) 2022-07-29

Family

ID=82606678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210128565A KR102426621B1 (ko) 2021-09-29 2021-09-29 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102426621B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102636533B1 (ko) * 2023-07-04 2024-02-14 (주)래셔널아울 실시간 푸시수신확인을 위한 푸시 알림 솔루션 장치및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090013262A (ko) * 2006-12-22 2009-02-05 엘지전자 주식회사 메시지 수신 방법 및 그 단말기
KR20190028549A (ko) * 2016-07-22 2019-03-18 알리바바 그룹 홀딩 리미티드 애플리케이션 메시지를 푸싱하기 위한 방법 및 디바이스
KR102154053B1 (ko) * 2020-04-23 2020-09-09 주식회사 클레버소프트 지능형 부하분산장치 및 그 장치의 구동방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090013262A (ko) * 2006-12-22 2009-02-05 엘지전자 주식회사 메시지 수신 방법 및 그 단말기
KR20190028549A (ko) * 2016-07-22 2019-03-18 알리바바 그룹 홀딩 리미티드 애플리케이션 메시지를 푸싱하기 위한 방법 및 디바이스
KR102154053B1 (ko) * 2020-04-23 2020-09-09 주식회사 클레버소프트 지능형 부하분산장치 및 그 장치의 구동방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102636533B1 (ko) * 2023-07-04 2024-02-14 (주)래셔널아울 실시간 푸시수신확인을 위한 푸시 알림 솔루션 장치및 방법

Similar Documents

Publication Publication Date Title
CN107819828B (zh) 数据传输方法、装置、计算机设备和存储介质
CN109831487B (zh) 分片文件验证方法及终端设备
US8874908B2 (en) Process for storing data on a central server
EP3364310A1 (en) Data processing method and device
KR102266056B1 (ko) 블록체인을 기반으로 문서 정보의 관리를 가능하게 하는 문서 정보 관리 장치 및 그 동작 방법
KR102228210B1 (ko) 블록체인 네트워크에서의 트랜잭션의 삭제를 가능하게 하는 노드 장치 및 그 동작 방법
CN109409079B (zh) 弱口令核查方法及装置
CN112214519B (zh) 一种数据查询方法、装置、设备及可读介质
KR102426621B1 (ko) 애플리케이션이 설치되어 있는 클라이언트 단말에 대한 효율적인 푸시 알림 메시지의 발송을 처리하는 애플리케이션 서비스 서버 및 그 동작 방법
KR102168327B1 (ko) 차량용 단말의 위치 정보를 기초로 알림 메시지의 공유를 지원하는 알림 메시지 공유 서비스 장치 및 그 동작 방법
CN111262697A (zh) 一种芯片晶圆测试控制方法及装置、芯片
KR102316763B1 (ko) 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 응용 애플리케이션의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법
CN115935414A (zh) 基于区块链的数据校验方法、装置、电子设备和存储介质
KR101894566B1 (ko) 인증 및 오류 정정이 통합된 부호화가 가능한 데이터 전송 장치 및 방법
JP2017169147A (ja) 検証装置、電子機器、プログラムおよび検証システム
KR102442674B1 (ko) 사설 클라우드 서버에 대한 액세스를 관리하는 액세스 관리 서버 및 그 동작 방법
CN115563588A (zh) 一种软件离线鉴权的方法、装置、电子设备和存储介质
CN113568398B (zh) 一种分散控制系统组态删除方法和系统
CN114244620A (zh) 一种板卡入网验证方法、装置及板卡控制中心
CN113098880A (zh) 一种重放攻击识别的方法、系统、设备及可读存储介质
KR101974411B1 (ko) 차량 내 보안 통신 지원 장치 및 그 동작 방법
KR102545272B1 (ko) 클라우드 오피스 서비스를 제공하기 위한, 클라우드 스토리지와 클라이언트 단말 간의 인터페이싱을 지원하는 인터페이싱 지원 서버 및 그 동작 방법
CN107704557B (zh) 操作互斥数据的处理方法、装置、计算机设备和存储介质
KR102575679B1 (ko) 클라우드 기반의 가상 컴퓨팅 작업 환경을 제공하는 클라우드 서비스를 운영하기 위한 클라우드 서비스 운영 서버
CN110958211A (zh) 一种基于区块链的数据处理系统及方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant