KR102294918B1 - 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법 - Google Patents

복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법 Download PDF

Info

Publication number
KR102294918B1
KR102294918B1 KR1020200047833A KR20200047833A KR102294918B1 KR 102294918 B1 KR102294918 B1 KR 102294918B1 KR 1020200047833 A KR1020200047833 A KR 1020200047833A KR 20200047833 A KR20200047833 A KR 20200047833A KR 102294918 B1 KR102294918 B1 KR 102294918B1
Authority
KR
South Korea
Prior art keywords
message
channel
information
server
block data
Prior art date
Application number
KR1020200047833A
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 KR1020200047833A priority Critical patent/KR102294918B1/ko
Application granted granted Critical
Publication of KR102294918B1 publication Critical patent/KR102294918B1/ko

Links

Images

Classifications

    • H04L51/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-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/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • H04L51/26
    • H04L51/30
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

메시지 전송채널 자동선택을 위한 시스템의 제어 방법이 개시된다. 상기 제어 방법은, 상기 서버가, 전송대상 메시지에 대한 메시지정보를 획득하는 단계; 상기 서버가, 상기 사용자 단말로부터 상기 메시지의 수신자에 대한 정보 및 상기 사용자 단말에 대한 정보 중 적어도 하나를 포함하는, 수신자정보를 획득하는 단계; 상기 서버가, 상기 메시지정보 및 상기 수신자정보에 기초하여 하나 이상의 수신가능채널에 대한 정보를 획득하는 단계; 상기 서버가, 상기 하나 이상의 수신가능채널 중 적어도 하나의 채널을 선택하는 단계; 및 상기 서버가, 상기 선택된 적어도 하나의 채널을 통해 상기 메시지를 전송하는 단계;를 포함하고, 상기 채널을 선택하는 단계는, 상기 하나 이상의 수신가능채널 중 적어도 일부에 대한 우선순위를 결정하는 단계; 및 상기 결정된 우선순위에 따라 상기 적어도 하나의 채널을 선택하는 단계; 를 포함하고, 상기 우선순위를 결정하는 단계는, 상기 하나 이상의 수신가능채널 각각에 대한 메신저 사용 패턴에 기초하여 상기 우선순위를 결정하는 단계; 를 포함한다.

Description

복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법 {SYSTEM AND METHOD FOR AUTOMATIC SELECTION OF MESSAGE TRANSMISSION CHANNELS AND DEDUPLICATION OF MESSAGES BASED ON MULTIPLE BLOCKCHAINS}
본 발명은 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법에 관한 것이다.
단말 간 메시지를 전송할 수 있는 기술이 다변화되어, 최근에는 문자메시지(SMS, MMS)뿐 아니라 데이터 통신망을 이용하는 메신저 애플리케이션이 널리 이용되고 있다. 또한, 스마트폰의 보급으로 인해 기존과 다른 다양한 채널과 푸시 메시지를 이용하여 메시지를 전송할 수 있는 기술들이 개발 및 이용되고 있다. 이러한 메시지 전송채널들은 그 종류에 따라 다른 특성을 가지고 있어, 어떤 채널을 통해 메시지를 전송하는가에 따라 비용이나 시스템 부하가 결정될 수 있다.
한편, 블록체인은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다.
기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 블록체인 네트워크에 참여한 사용자 모두의 공동 작업을 통하여 블록을 생성하며, 생성된 블록을 모든 참여자가 검증하고 이를 승인함으로써 모두가 동일한 블록을 보유하는 것과 일부 사용자에 의해 데이터 위조를 막는 방식을 사용한다. 블록체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 이 기록을 검증하여 해킹을 막는다.
블록체인은 단순히 비트코인에만 적용되는 기술이 아니며, 여러 데이터를 보관하는 데에도 적용함으로써 데이터베이스(DB)의 유지 보수와 보안에 따른 막대한 비용을 줄일 수 있는 효과를 가진 기술이다.
등록특허공보 제10-1948863호, 2019.02.15
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 블록체인의 블록에 포함된 정보를 이용하여 블록체인 네트워크 참여자가 모두 동일한 블록체인 데이터를 생성하고 별도의 관리 장치 없이도, 개개인 각각이 블록체인에 기반을 둔 메시지 전송채널을 자동으로 선택하고 중복 메시지를 제거하는 시스템을 제공하는 것을 목적으로 한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일면에 따른 서버 및 사용자 단말에 의하여 수행되는 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택을 위한 시스템의 제어 방법은, 상기 서버가, 전송대상 메시지에 대한 메시지정보를 획득하는 단계; 상기 서버가, 상기 사용자 단말로부터 상기 메시지의 수신자에 대한 정보 및 상기 사용자 단말에 대한 정보 중 적어도 하나를 포함하는, 수신자정보를 획득하는 단계; 상기 서버가, 상기 메시지정보 및 상기 수신자정보에 기초하여 하나 이상의 수신가능채널에 대한 정보를 획득하는 단계; 상기 서버가, 상기 하나 이상의 수신가능채널 중 적어도 하나의 채널을 선택하는 단계; 및 상기 서버가, 상기 선택된 적어도 하나의 채널을 통해 상기 메시지를 전송하는 단계;를 포함하고, 상기 채널을 선택하는 단계는, 상기 하나 이상의 수신가능채널 중 적어도 일부에 대한 우선순위를 결정하는 단계; 및 상기 결정된 우선순위에 따라 상기 적어도 하나의 채널을 선택하는 단계; 를 포함하고, 상기 우선순위를 결정하는 단계는, 상기 하나 이상의 수신가능채널 각각에 대한 메신저 사용 패턴에 기초하여 상기 우선순위를 결정하는 단계; 를 포함한다.
이때, 상기 메시지를 전송하는 단계는, 상기 선택된 채널을 통해 전송된 메시지가 상기 수신자에게 제공될 수 없거나, 기 설정된 시간 이상 상기 수신자에 의하여 확인되지 않는 경우, 상기 결정된 우선순위에 따라 상기 선택된 채널의 차순위 채널을 선택하는 단계; 및 상기 차순위 채널을 통해 상기 메시지를 재전송하는 단계; 를 포함할 수 있다.
이때, 상기 제어 방법은, 상기 우선순위에 의해 선택된 최우선 채널 및 차순위 채널로 상기 메시지가 중복 전송된 경우, 상기 최우선 채널로 전송된 메시지의 수신 확인 여부 및 상기 차순위 채널로 전송된 메시지의 수신확인 여부를 판단하는 단계; 및 상기 최우선 채널로 전송된 메시지 및 상기 차순위 채널로 전송된 메시지 중 하나의 메시지만 수신확인된 경우, 수신확인되지 않은 메시지를 삭제하는 단계; 를 포함할 수 있다.
이때, 상기 메시지를 전송하는 단계는, 상기 메시지 발송 전 인증 메시지를 통한 인증이 필요한 경우, 상기 우선순위에 의해 선택된 최우선 채널 및 차순위 채널로 전송하기 위한 메시지를 획득하는 단계; 상기 최우선 채널로 전송하기 위한 인증 메시지 및 상기 차순위 채널로 전송하기 위한 인증 메시지를 동일한 시간에 전송하도록 예약 발송 시간을 설정하는 단계; 및 상기 예약 발송 시간에 상기 최우선 채널 및 상기 차순위 채널로 상기 인증 메시지를 전송하는 단계; 를 포함하고, 상기 인증 메시지를 인증을 위한 식별 번호를 포함하며, 상기 최우선 채널로 전송되는 인증 메시지의 식별 번호와 상기 차순위 채널을 통해 전송되는 인증 메시지의 식별 번호는 상이하며, 상기 우선순위를 결정하는 단계는, 상기 인증 메시지에 대응되는 식별번호를 수신하는 단계; 상기 수신된 식별번호에 대응되는 채널을 판단하는 단계; 및 상기 판단된 채널이 상기 차순위 채널인 경우, 상기 차순위 채널을 최우선 채널로 변경하는 단계; 를 포함할 수 있다.
이때, 상기 메시지가 첨부파일을 포함하는 경우, 상기 메시지를 발송하는 단계는, 상기 최우선 채널로 상기 첨부파일이 포함된 메시지를 전송하고 상기 차순위 채널로 상기 첨부파일을 포함하지 않는 메시지를 전송하는 단계;를 포함하고, 상기 메시지를 삭제하는 단계는, 상기 차순위 채널로 전송된 메시지가 상기 최우선 채널로 전송된 메시지보다 먼저 수신확인된 경우, 상기 최우선 채널로 전송된 메시지를 삭제하는 단계; 및 상기 차순위 채널로 상기 첨부파일을 포함하는 메시지를 재전송하는 단계; 를 포함하고, 상기 첨부파일을 포함하지 않는 메시지는 상기 첨부파일이 포함된 메시지가 전송된 최우선 채널에 대한 정보를 더 포함할 수 있다.
이때, 상기 제어 방법은, 상기 서버가, 상기 메시지의 전송기록에 포함된 메시지 정보획득 블록 데이터를 메시지 정보획득 블록체인 노드로부터 수신하여 저장하는 단계; 상기 서버가, 복수의 사용자별로 사용자 정보를 획득하여 사용자 정보획득 블록 데이터를 사용자 정보획득 블록체인 노드로부터 수신하여 저장하는 단계; 상기 서버가, 메시지 전송 정보를 포함하는 메시지 전송 블록 데이터를 메시지 전송 블록체인 노드로부터 수신하여 저장하는 단계; 상기 서버가, 메시지 전송 채널 및 메시지 내용을 포함하는 메시지 저장 블록 데이터를 메시지 저장 블록체인 노드로부터 수신하여 저장하는 단계; 상기 서버가, 상기 메시지 정보획득 블록 데이터, 상기 사용자 정보획득 블록 데이터, 상기 메시지 전송 블록 데이터 및 상기 메시지 저장 블록 데이터를 적어도 하나의 블록체인에 결합하여 저장하는 단계; 및 상기 서버가, 상기 메시지 정보획득 블록 데이터, 상기 사용자 정보획득 블록 데이터, 상기 메시지 전송 블록 데이터 및 상기 메시지 저장 블록 데이터를 네트워크에 연결된 복수의 사용자 단말로 전송하는 단계;를 포함할 수 있다.
이때, 상기 메시지 정보획득 블록 데이터를 저장하는 단계는, 상기 메시지 정보를 획득하는 단계에 의해 획득된 정보를 메시지 정보 획득 데이터에 저장하고, 상기 사용자 정보획득 블록 데이터를 저장하는 단계는, 상기 수신자정보를 획득하는 단계에 의해 획득된 정보를 사용자 정보획득 블록 데이터에 저장할 수 있다.
이때, 상기 메시지 전송 블록 데이터를 저장하는 단계는, 상기 수신가능채널에 대한 정보를 획득하는 단계와, 적어도 하나의 채널을 선택하는 단계에 의해 획득된 정보를 메시지 블록 데이터에 저장하고, 상기 메시지 저장 블록 데이터를 저장하는 단계는, 상기 선택된 채널을 통해 메시지를 전송하는 단계에 의해 획득된 정보를 메시지 블록 데이터에 저장할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 개시된 실시 예에 따르면, 메시지의 종류와 디바이스의 상태, 수신자 정보에 따라 최적의 메시지 전송채널을 선택 및 메시지를 전송함으로써, 메시지 전송의 경제성을 극대화하고, 메시지 전송에 따른 시스템 부하를 최소화할 수 있는 효과가 있다.
또한 본 발명은 블록체인의 블록에 포함된 정보를 이용하여 데이터를 저장하기 때문에 위변조가 어렵고, 다수의 데이터를 저장, 증명하기 때문에 중앙관리자가 존재하지 않아도 시스템의 기능 상의 문제가 없는 자동화가 가능하다는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 시스템을 도시한 시스템도이다.
도 2는 본 발명의 일 실시예에 따른 메시지 전송 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 또 다른 실시예에 따른 메시지 전송 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 중복 메시지 제거 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 채널 선택 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 첨부파일이 포함된 메시지를 전송하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 데이터 저장 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 블록체인의 동작을 설명하기 위한 예시도이다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 장치의 구성도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 시스템을 도시한 시스템도이다.
도 1을 참조하면, 서버(10)와, 서버(10)를 통해 통신하는 발신자 단말(100) 및 수신자 단말(200)이 도시되어 있다.
일 실시 예에서, 발신자 단말(100) 및 수신자 단말(200)은 스마트폰을 포함하는 모바일 장치를 의미할 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에서, 발신자 단말(100), 수신자 단말(200) 및 서버(10)는 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치를 의미할 수 있다. 예를 들어, 컴퓨팅 장치는 스마트폰, 태블릿 PC, 데스크톱, 노트북 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에서, 발신자 단말(100)은 수신자 단말(200)에 메시지를 전송할 수 있으며, 메시지는 서버(10)를 통해 수신자 단말(200)에 전송될 수 있으나, 이에 제한되는 것은 아니다. 또한, 발신자 단말(100) 및 수신자 단말(200)은 메시지를 전달하는 일 실시 예에서의 역할을 기준으로 명명된 것이며, 수신자 단말(200) 또한 발신자 단말(100)에 메시지를 전송할 수 있고, 발신자 단말(100)과 수신자 단말(200)의 하드웨어적 구성이나 소프트웨어적 기능에 차이가 있는 것은 아니다.
본 명세서에서는, 발신자 단말(100)이 수신자 단말(200)에 메시지를 전송하는 실시 예에서, 메시지 전송채널을 자동으로 선택하고, 선택된 채널을 통해 메시지를 전송하는 방법에 대하여 설명한다.
이때, 본 명세서에서 메시지 전송채널을 자동으로 선택하는 것의 의미는, 본 발명의 일 실시예에 따라 결정된 우선순위에 따라 메시지 전송채널을 선택하는 것을 의미할 수 있다. 즉, 우선순위가 기 설정된 조건 또는 사용자에 의해 수동으로 지정된 경우, 메시지 전송 채널을 자동 선택하는 것은 사용자에 의해 수동으로 설정된 우선순위에 따라 메시지 전송채널을 선택하는 것을 의미할 수 있다.
또 다른 실시예에 따라, 메시지 전송채널을 자동으로 선택한다는 것의 의미는 메시지를 가장 먼저 발송하는 최선순위 채널을 고정한 상태에서 최선순위 채널로 발송한 메시지 이외에 추가 채널을 통한 메시지 발송이 필요한 경우, 메시지 전송채널을 자동으로 선택하는 것을 의미할 수 있다.
결론적으로, 메시지 전송채널을 자동으로 선택한다 함은, 메시지 전송 채널을 자동 또는 수동으로 선택하는 것을 포괄하는 개념일 수 있다.
개시된 실시 예에 따른 메시지 전송채널 자동선택 및 메시지 전송방법의 적어도 일부 또는 전부는 발신자 단말(100) 및 서버(10)에서 모두 수행될 수 있으나, 이하에서는 설명의 편의를 위한 예시로써 각 단계의 주체를 분리하여 설명한다. 하지만, 각 단계의 주체는 이하에서 설명되는 예시에 의하여 제한되는 것은 아니며, 모든 종류의 컴퓨팅 장치에 의하여 각 단계가 수행될 수 있다.
도 2는 본 발명의 일 실시예에 따른 메시지 전송 방법을 설명하기 위한 흐름도이다.
단계 S110에서, 서버(10)가, 전송대상 메시지에 대한 메시지정보를 획득할 수 있다.
예를 들어, 메시지정보는 메시지의 종류(예를 들어, 텍스트, 이미지, 음성, 동영상, 혼합콘텐츠 등), 메시지의 크기(예를 들어, 80byte 이하 또는 이상), 단문, 장문, 기호, 신호정보 등을 포함할 수 있으나, 이에 제한되지 않는다.
일 실시 예에서, 메시지정보는 메시지의 파일사이즈, 포멧정보, 헤더정보 및 속성정보 중 적어도 일부에 기초하여 획득될 수 있으나, 이에 제한되는 것은 아니다.
단계 S120에서, 서버(10)가, 사용자 단말(200)로부터 메시지의 수신자에 대한 정보 및 사용자 단말(200)에 대한 정보 중 적어도 하나를 포함하는, 수신자정보를 획득할 수 있다.
예를 들어, 수신자정보는 수신자의 특정 서비스(예를 들어, 사이트나 애플리케이션 등)에 대한 회원가입 정보, 개인정보, 수신동의 정보 등을 포함하는 수신자 개인정보와, 수신자 단말(200)과 관련된 디바이스 정보를 포함할 수 있다.
예를 들어, 디바이스 정보는 피쳐폰, 스마트폰 등 디바이스의 종류와, 2G, 3G, 4G, 5G 등 디바이스가 이용할 수 있는 네트워크 정보, 안드로이드, ios, 윈도우 등 디바이스의 운영체제 정보, 각 디바이스에 설치된 애플리케이션(프로그램) 정보 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.
단계 S130에서, 서버(10)가, 메시지정보 및 수신자정보에 기초하여 하나 이상의 수신가능채널에 대한 정보를 획득할 수 있다.
예를 들어, 수신가능채널에 대한 정보는 푸시 메시지(예를 들어, 경량 메시지, 중량 메시지, apns, gcm(c2dm), RCS, 타사 push, oma-mms, 타사 SNS채널 등), 이동통신사 메시지(예를 들어, SMS, MMS 등) 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에서, 수신가능채널은, 메시지의 종류 및 용량 중 적어도 하나에 기초하여 상기 메시지를 전송할 수 있는 채널을 의미할 수 있으나, 이에 제한되는 것은 아니다.
단계 S140에서, 서버(10)가, 하나 이상의 수신가능채널 중 적어도 하나의 채널을 선택할 수 있다.
단계 S150에서, 서버(10)가, 선택된 적어도 하나의 채널을 통해 메시지를 전송할 수 있다.
구체적으로, 서버(10)는 선택된 채널을 통해 수신자 단말(200)에 상기 메시지를 전송한다.
단계 S160에서, 하나 이상의 수신가능채널 중 적어도 일부에 대한 우선순위를 결정할 수 있다.
일 실시 예에서, 우선순위는 상기 하나 이상의 수신가능채널 각각의 경제성에 기초하여 결정될 수 있다. 예를 들어, 더 저렴한 비용으로 메시지를 전송할 수 있는 채널일수록 우선순위가 높게 설정될 수 있다.
또 다른 실시예로, 우선순위는 사용자의 메신저 사용 패턴을 바탕으로 획득될 수 있다. 예를 들어, 서버(10)는 사용자의 메신저 사용 패턴 정보를 획득하고, 획득된 메신저 사용 패턴을 바탕으로 우선순위를 획득할 수 있다. 이 경우, 서버(10)는 사용자의 개인정보를 보호하는 한도에서 사용자의 메신저 패턴 정보를 획득할 수 있다.
예를 들어, 서버(10)는 각 메신저별 메시지 전송 용량 및 수신 용량을 바탕으로 메신저 사용 패턴을 획득할 수 있다. 예컨대, 서버(10)는 메신저 수신용량이 클수록 우선순위를 높게 설정할 수 있다. 또는, 서버(10)는 메시지 전송 용량 및 수신 용량의 합이 클수록 우선순위를 높게 설정할 수 있다.
또 다른 예로, 서버(10)는 각 메신저별 메시지 전송 및 수신 횟수를 바탕으로 메신저 사용 패턴을 획득할 수 있다. 예컨대, 서버(10)는 메신저 수신 횟수가 많을수록 우선순위를 높게 설정할 수 있다. 또는, 서버(10)는 메시지 전송 및 수신 횟수의 합이 클수록 우선순위를 높게 설정할 수 있다. 또는, 서버(10)는 메시지 수신 횟수와 메시지 전송 횟수와의 비율을 바탕으로 우선순위를 설정할 수 있다. 즉, 서버(10)는 메시지 수신 횟수가 메시지 전송 횟수보다 많을수록, 해당 어플리케이션을 메시지 수신용 어플리케이션인 것으로 판단하여 우선순위를 높게 설정할 수 있다. 다만, 반대로, 서버(10)는 메시지 전송 횟수가 메시지 수신 횟수보다 많을수록, 우선순위를 높게 설정할 수 있다. 이는, 메시지 전송을 자주할수록 해당 메신저에 많이 접근할 수 있으므로, 수신확인의 가능성이 크기 때문에 메시지 전송 횟수를 바탕으로 우선순위를 설정할 수 있다.
또 다른 예로, 서버(10)는 각 메신저별 메신저 사용 시간을 바탕으로 메신저 사용 패턴을 획득할 수 있다. 예컨대, 서버(10)는 메신저 사용 시간이 길수록 우선순위를 높게 설정할 수 있다.
또 다른 예로, 서버(10)는 각 메신저별 보안 설정 유무를 바탕으로 메신저 사용 패턴을 획득할 수 있다. 이 경우, 서버(10)가 전송하고자 하는 메시지가 광고성 메시지인 경우, 서버(10)는 보안 설정이 되지 않은 수신가능 채널을 메시지 전송 채널로 선택할 수 있다. 또는, 서버(10)가 전송하고자 하는 메시지가 사용자 개인 정보를 포함하는 경우, 서버(10)는 보안 설정이 된 수신가능 채널을 메시지 전송 채널로 획득할 수 있다. 또 다른 실시예로, 우선순위는 시스템의 부하정도에 기초하여 설정될 수도 있고, 사용자가 설정한 순서에 기초하여 우선순위가 부여될 수도 있다. 사용자가 설정한 순서에 따라서 우선순위가 부여되는 경우, 전적으로 사용자가 설정한 순서에 따라 우선순위가 부여될 수도 있고, 사용자가 선택한 채널에 가중치 또는 가점을 부여함으로써 우선순위를 산출할 수도 있다.
단계 S170에서, 결정된 우선순위에 따라 적어도 하나의 채널을 선택할 수 있다.
예를 들어, 서버(10)는 수신자가 수신할 수 있는 채널들 중, 가장 우선순위가 높은 채널을 선택하여 메시지를 전송할 수 있으며, 실시 예에 따라 가장 적은 비용으로 메시지를 전송할 수 있는 채널을 선택하여 메시지를 전송할 수 있다.
다른 실시 예에서, 수신자가 수신할 수 있는 채널들 중에서도 수신자가 실제로 메시지를 수신하거나, 확인할 수 있는 확률이 서로 상이한 채널이 있을 수 있다. 따라서, 일 실시 예에 따르면 서버(10)는 수신자가 수신할 수 있는 채널들 중, 수신자가 메시지를 확인할 확률이 높거나, 수신자가 메시지를 빨리 확인할 것으로 추정되는 채널에 대하여 높은 우선순위를 부여할 수 있다.
일 실시 예에서, 우선순위는 경제성, 수신자가 메시지를 확인할 확률, 수신자가 메시지를 확인할 것으로 예상되는 시간 등에 기초하여 설정될 수 있다.
이외에도, 우선순위는 데이터 사이즈 또는 사진여부(사이즈) 또는 영상여부(사이즈) 또는 해당 채널의 부하율 또는 전송 메시지의 긴급성(긴급도) 등의 다양한 요소를 포함하여 결정될 수 있으며, 이에 제한되지 않는다.
일 실시 예에서, 우선순위는 메시지 전송순서를 결정하는 데에도 이용될 수 있다. 예를 들어, push(경량메시지) 전송 큐(전송을 위해 대기한 공간)에 전송을 위해 대기하고 있는 기존 일반대기자가 있더라도 긴급성을 가지는 메시지가 큐로 올 경우 전송 순서(대기)가 우선하는 메시지를 우선 전송하도록 순서가 변경될 수 있다.
단계 S180에서, 하나 이상의 수신가능채널 각각에 대한 사용 패턴에 기초하여 우선순위를 결정할 수 있다.
도 3은 본 발명의 또 다른 실시예에 따른 메시지 전송 방법을 설명하기 위한 흐름도이다.
단계 S210선택된 채널을 통해 전송된 메시지가 수신자에게 제공될 수 없거나, 기 설정된 시간 이상 수신자에 의하여 확인되지 않는 경우, 결정된 우선순위에 따라 선택된 채널의 차순위 채널을 선택할 수 있다.
예를 들어, 특정 채널이 선택되어 메시지가 수신자에게 전송된 경우에, 수신자가 기 설정된 시간동안 메시지를 확인하지 않는 경우, 우선순위에 있어서 차순위인 채널을 선택할 수 있다.
단계 S220에서, 차순위 채널을 통해 메시지를 재전송할 수 있다.
일 실시 예에서, 수신자 단말(200)에서 아직 메시지가 다운로드되지 않은 경우, 서버(10)는 중복된 메시지를 삭제하거나 비활성화할 수 있다.
이미 수신자 단말(200)에 메시지가 다운로드된 경우, 서버(10)는 해당 메시지를 삭제할 권한이 있는 경우 메시지를 삭제하거나 비활성화할 수 있으며, 권한이 없는 경우 해당 메시지가 중복되었음을 알리는 정보를 수신자 단말(200)에 전송할 수도 있다.
한편, 본 발명의 다양한 실시예에 따라, 서버(10)는 다양한 방법으로 수신가능 채널의 정보를 획득할 수 있다.
일 실시예로, 서버(10)는 상기 수신자가 수신할 수 있는 하나 이상의 채널에 대한 정보를 획득할 수 있다. 예를 들어, 수신자가 수신할 수 있는 채널이란 수신자가 각 사이트나 애플리케이션에서 회원가입을 했는지 여부에 기초하여 결정될 수 있다.
나아가, 서버(10)는 상기 수신자가 수신할 수 있는 하나 이상의 채널에 대하여, 상기 수신자의 수신허용여부에 대한 정보를 획득할 수 있다. 예를 들어, 수신자가 기술적으로 수신할 수 있는 채널인 경우에도, 수신자가 해당 채널에 의한 수신을 거부했을 수 있다. 이 경우 메시지 전송이 불가능하므로, 서버(10)는 사용자의 수신허용여부에 대한 정보를 미리 획득한다.
또한, 서버(10)는 상기 수신자가 수신할 수 있고, 상기 수신자가 수신을 허용한 하나 이상의 수신가능채널에 대한 정보를 획득할 수 있다. 즉, 서버(10)는 수신자가 기술적으로 수신할 수 있으면서, 수신자가 수신을 허용한 채널을 선택하여 메시지를 전송함으로써 메시지의 전달확률을 상승시킬 수 있다.
일 실시 예에서, 서버(10)는 상기 수신자의 디바이스의 종류 및 상기 수신자의 디바이스에 설치된 애플리케이션에 대한 정보에 기초하여, 상기 수신자의 디바이스에서 수신가능한 하나 이상의 수신가능채널에 대한 정보를 획득할 수 있다.
예를 들어, 서버(10)는 수신자의 디바이스 종류, 즉 수신자 단말(200)의 종류에 따라 이용가능한 채널에 대한 정보를 획득할 수 있다.
예를 들어, 디바이스 정보는 피쳐폰, 스마트폰 등 디바이스의 종류와, 2G, 3G, 4G, 5G 등 디바이스가 이용할 수 있는 네트워크 정보, 안드로이드, ios, 윈도우 등 디바이스의 운영체제 정보, 각 디바이스에 설치된 애플리케이션(프로그램) 정보 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.
또 다른 실시예로, 서버(10)는 상기 수신자의 디바이스에 설치된 애플리케이션의 상태에 대한 정보를 획득할 수 있다. 예를 들어, 서버(10)는 수신자의 디바이스 자체뿐 아니라, 수신자의 디바이스에 설치된 애플리케이션에 대한 정보를 획득하고, 각 애플리케이션의 상태에 대한 정보를 획득할 수 있다. 또 다른 예로, 애플리케이션은 수신자 단말(200)에 설치되어 있으나 비활성화되어 있을 수도 있고, 푸시 알림이 허용되어 있지 않을 수 있다.
예를 들어, 특정 메신저 애플리케이션이 설치되어 있고, 활성화되어 있는 경우에도, 알림 설정이 꺼져 있을 수 있다. 서버(10)는 해당 정보를 수신자 단말(200)로부터 수집할 수 있다.
또한, 애플리케이션은 수신자 단말(200)에 설치되었을 뿐 아니라, 푸시 알림도 허용되어 있을 수 있다. 하지만, 수신자 단말(200)에서 해당 애플리케이션이 백그라운드에서 적어도 하나의 프로세스를 동작시키며, 푸시 알림 요청이 오는 경우 푸시 알림을 제공할 수 있는 상태에 있는지 여부를 추가적으로 확인하여야 한다.
예를 들어, 수신자 단말(200)에서 배터리 절약 등을 위해 해당 애플리케이션의 백그라운드 프로세스를 강제로 종료시키는 경우가 있을 수 있다. 이 경우, 메시지가 전송되는 경우에도 푸시 알림을 제공할 수 없을 수 있다.
따라서, 서버(10)는 수신자 단말(200)과의 통신을 통해(예를 들어, 푸시 메시지를 보낼 수 있는지를 확인하는 신호를 테스트로 먼저 보낼 수 있다) 수신자 단말(200)이 해당 채널로 알림을 제공할 수 있는 상태인지 여부를 확인할 수 있다.
이후, 서버(10)는 상기 애플리케이션의 상태에 대한 정보에 기초하여, 상기 수신자의 디바이스에서 상기 수신자에게 알림을 제공할 수 있는 하나 이상의 수신가능채널에 대한 정보를 획득할 수 있다.
서버(10)는 획득된 정보에 기초하여, 수신자의 디바이스, 즉 수신자 단말(200)에 특정 채널로 메시지를 전송하는 경우, 수신자 단말(200)에서 알림을 제공할 수 있는 것으로 판단되는 채널로 메시지를 전송할 수 있다.
따라서, 서버(10)는 전송되는 메시지가 수신자에 의하여 확인될 확률을 높일 수 있으며, 또한 확인되는 속도를 높일 수 있다.
도 4는 본 발명의 일 실시예에 따른 중복 메시지 제거 방법을 설명하기 위한 흐름도이다.
단계 S310에서, 서버(10)가, 우선순위에 의해 선택된 최우선 채널 및 차순위 채널로 메시지가 중복 전송된 경우, 최우선 채널로 전송된 메시지의 수신 확인 여부 및 차순위 채널로 전송된 메시지의 수신확인 여부를 판단할 수 있다.
단계 S320에서, 서버(10)가, 최우선 채널로 전송된 메시지 및 차순위 채널로 전송된 메시지 중 하나의 메시지만 수신확인된 경우, 수신확인되지 않은 메시지를 삭제할 수 있다.
일 실시예로, 서버(100)는 최우선 채널로 메시지를 전송한 후 기 설정된 시간동안 수신확인이 이루어지지 않은 경우, 차순위 채널로 메시지를 전송할 수 있다. 차순위 채널로 전송된 메시지가 수신확인된 경우, 서버(100)는 최우선 채널로 전송된 메시지를 삭제할 수 있다.
또는, 서버(10)는 최우선 채널 및 차순위 채널로 메시지가 중복 전송된 경우, 차순위 채널로 전송된 메시지가 먼저 수신확인되는 경우에는 최우선 채널로 전송된 메시지를 삭제하고, 최우선 채널로 전송된 메시지가 먼저 수신확인되는 경우에는 차순위 채널로 전송된 메시지를 삭제할 수 있다.
도 5는 본 발명의 일 실시예에 따른 채널 선택 방법을 설명하기 위한 흐름도이다.
단계 S410에서, 서버(10)는 메시지 발송 전 인증 메시지를 통한 인증이 필요한 경우, 우선순위에 의해 선택된 최우선 채널 및 차순위 채널로 전송하기 위한 메시지를 획득할 수 있다.
단계 S420에서, 서버(10)는 최우선 채널로 전송하기 위한 인증 메시지 및 차순위 채널로 전송하기 위한 인증 메시지를 동일한 시간에 전송하도록 예약 발송 시간을 설정할 수 있다.
예를 들어, 예약 발송 시간은, 메시지 발송을 위한 제어 신호가 서버(10)로 수신된 후 1분 후의 시간일 수 있다. 서버(10)는 예약 발송 기능을 통해 복수의 채널로 동일한 시간에 인증 번호를 발송할 수 있다.
단계 S430에서, 서버(10)는 예약 발송 시간에 최우선 채널 및 차순위 채널로 인증 메시지를 전송할 수 있다.
이때, 인증 메시지는 인증 메시지를 인증하기 위한 식별 번호를 포함하며, 최우선 채널로 전송되는 인증 메시지의 식별 번호와 차순위 채널을 통해 전송되는 인증 메시지의 식별 번호는 상이할 수 있다.
단계 S440에서, 서버(10)는 인증 메시지에 대응되는 식별번호를 수신할 수 있다.
단계 S450에서, 서버(10)는 수신된 식별번호에 대응되는 채널을 판단할 수 있다.
즉, 서버(10)는 최우선 채널을 통해 전송하는 식별번호와 차순위 채널을 통해 발송하는 채널을 다르게 설정함으로써, 인증 번호를 수신한 경우, 사용자가 어떤 채널을 통해 메시지에 응답하였는지 여부를 판단할 수 있다.
단계 S460에서, 서버(10)는 판단된 채널이 차순위 채널인 경우, 차순위 채널을 최우선 채널로 변경할 수 있다.
도 6은 본 발명의 일 실시예에 따른 첨부파일이 포함된 메시지를 전송하는 방법을 설명하기 위한 흐름도이다.
단계 S510에서, 서버(10)는 메시지가 첨부파일을 포함하는 경우, 최우선 채널로 첨부파일이 포함된 메시지를 전송하고 차순위 채널로 첨부파일을 포함하지 않는 메시지를 전송할 수 있다.
단계 S520에서, 서버(10)는 차순위 채널로 전송된 메시지가 최우선 채널로 전송된 메시지보다 먼저 수신확인된 경우, 최우선 채널로 전송된 메시지를 삭제할 수 있다.
단계 S530에서, 서버(10)는 차순위 채널로 첨부파일을 포함하는 메시지를 재전송할 수 있다.
즉, 서버(10)는 메시지가 첨부파일을 포함하여 메시지 크기가 큰 경우, 사용자가 먼저 확인할 것으로 예상되는 최우선 채널에만 첨부파일을 전송하되, 사용자가 차순위 채널을 먼저 확인하면, 차순위 채널로 첨부파일을 전송할 수 있다. 이때, 서버(10)는 첨부파일의 크기가 기 설정된 크기 이상인 경우에만 단계 S510 내지 단계 S530의 방법을 수행하고, 첨부파일의 크기가 기 설정된 크기 미만인 경우, 단뎨 S210 내지 단계 220의 방법을 수행할 수 있다.
또 다른 실시예로, 이 경우, 단계 S510에서, 차순위 채널을 통해 전송한 메시지는 선순위 채널이 첨부파일을 포함하고 있음을 가이드하기 위한 가이드 정보를 포함할 수 있다. 차순위 채널이 먼저 수신확인 된 경우, 서버(10)는 기 설정된 시간 내에 최우선 채널로 전송된 메시지가 수신확인 되는지 여부를 판단할 수 있다. 기 설정된 시간 내에 최우선 채널로 전송된 메시지가 수신확인 되는 경우, 서버(10)는 선순위 채널 및 차순위 채널의 우선순위를 그대로 유지할 수 있다. 다만, 기 설정된 시간 내에 최우선 채널로 전송된 메시지가 수신확인 되지 않은 경우, 서버(10)는 차순위 채널을 통해 첨부파일을 전송하고, 선순위 채널 및 차순위 채널의 우선순위를 변경할 수 있다.
도 7은 본 발명의 일 실시예에 따른 데이터 저장 방법을 설명하기 위한 흐름도이다.
단계 S610에서, 서버(10)가, 메시지의 전송기록에 포함된 메시지 정보획득 블록 데이터를 메시지 정보획득 블록체인 노드로부터 수신하여 저장할 수 있다.
단계 S620에서, 서버(10)가, 복수의 사용자별로 사용자 정보를 획득하여 사용자 정보획득 블록 데이터를 사용자 정보획득 블록체인 노드로부터 수신하여 저장할 수 있다.
단계 S630에서, 서버(10)가, 메시지 전송 정보를 포함하는 메시지 전송 블록 데이터를 메시지 전송 블록체인 노드로부터 수신하여 저장할 수 있다.
단계 S640에서, 서버(10)가, 메시지 전송 채널 및 메시지 내용을 포함하는 메시지 저장 블록 데이터를 메시지 저장 블록체인 노드로부터 수신하여 저장할 수 있다.
단계 S650에서, 서버(10)가, 메시지 정보획득 블록 데이터, 사용자 정보획득 블록 데이터, 메시지 전송 블록 데이터 및 메시지 저장 블록 데이터를 적어도 하나의 블록체인에 결합하여 저장할 수 있다.
단계 S660에서, 서버(10)가, 메시지 정보획득 블록 데이터, 사용자 정보획득 블록 데이터, 메시지 전송 블록 데이터 및 메시지 저장 블록 데이터를 네트워크에 연결된 복수의 사용자에게 전달할 수 있다.
이때, 단계 S610은, 단계 S110에 의해 획득된 정보를 메시지 정보 획득 데이터에 저장하고, 단계 S620은, 단계 S120에 의해 획득된 정보를 사용자 정보획득 블록 데이터에 저장하고, 단계 S630은, 단계 S130 및 단계 S140에 의해 획득된 정보를 메시지 블록 데이터에 저장하고, 단계 S640은, 단계 S160 및 단계 S170에 의해 획득된 정보를 메시지 블록 데이터에 저장할 수 있다.
구체적으로, 도 8을 참조하면, 네트워크와, 네트워크를 통해 통신하는 발신자 단말(100) 및 수신자 단말(200)이 도시되어 있다. 실시 예에서, 발신자 단말(100)은 수신자 단말(200)에 메시지를 전송할 수 있으며, 메시지는 네트워크를 통해 수신자 단말(200)에 전송될 수 있으나, 이에 제한되는 것은 아니다. 또한, 발신자 단말(100) 및 수신자 단말(200)은 메시지를 전달하는 일 실시 예에서의 역할을 기준으로 명명된 것이며, 수신자 단말(200) 또한 발신자 단말(100)에 메시지를 전송할 수 있고, 발신자 단말(100)과 수신자 단말(200)의 하드웨어적 구성이나 소프트웨어적 기능에 차이가 있는 것은 아니다.
개시된 실시 예에 따른 메시지 전송채널 자동선택 및 메시지 전송방법의 적어도 일부 또는 전부는 발신자 단말(100) 및 서버에서 모두 수행될 수 있다. 하지만, 각 단계의 주체는 이하에서 설명되는 예시에 의하여 제한되는 것은 아니며, 모든 종류의 컴퓨팅 장치에 의하여 각 단계가 수행될 수 있다.
블록체인 노드는 사용자의 특정한 메시지 전송요청에 따라 해당 메시지를 탐색한 후 블록 데이터로 생성할 수 있다. 또한, 블록체인 노드는 보안성을 높이기 위해 네트워크에서 제공하는 인증키, 공개키를 기반으로 전송하는 블록 데이터를 암호화하고, 네트워크로부터 블록 데이터를 수신하는 블록체인 노드는 공개키 기반으로 복호화할 수 있다.
각각의 노드서버는 사용자에 의해 요청되는 메시지 데이터를 네트워크가 요구하는 기준포맷으로 변환하고, 메시지를 포함하는 블록 데이터 수신 시 기준포맷을 각 단말기 및 네트워크에서 사용하는 포맷으로 변환하는 포맷변환에이전트를 포함할 수 있다. 예를 들어, 메시지 데이터는 각 나라별 국가별 모델별 제조사별로 사용하는 장치의 종류 등에 의해 포맷이 상이할 수 있으므로, 네트워크는 특정한 포맷으로 변환하여 저장할 필요가 있다. 따라서 블록체인 노드는 네트워크가 요구하는 특정한 포맷으로 생성하여 전송할 수 있다.
일 실시예에 따라, 본 발명에 따라 산출되는 다양한 정보는 복수의 블록체인에 저장될 수 있다. 예를 들어, 메시지 정보획득 블록체인(20)은, 메시지의 종류(예를 들어, 텍스트, 이미지, 음성, 동영상, 혼합콘텐츠 등), 메시지의 크기(예를 들어, 80byte 이하 또는 이상), 단문, 장문, 기호, 신호정보 등을 포함하는 메시지 정보를 저장하거나, 메시지의 파일사이즈, 포멧정보, 헤더정보 및 속성정보를 포함하는 메시지 정보를 저장할 수 있다.
사용자 정보 획득 블록체인(30)은, 수신자의 특정 서비스(예를 들어, 사이트나 애플리케이션 등)에 대한 회원가입 정보, 개인정보, 수신동의 정보 등을 포함하는 수신자 개인정보와, 수신자 단말(200) 과 관련된 디바이스 정보를 포함하는 사용자 정보를 저장할 수 있다. 예를 들어 사용자 정보 획득 블록체인(30)은, 피쳐폰, 스마트폰 등 디바이스의 종류와, 2G, 3G, 4G, 5G 등 디바이스가 이용할 수 있는 네트워크 정보, 안드로이드, ios, 윈도우 등 디바이스의 운영체제 정보, 각 디바이스에 설치된 애플리케이션(프로그램) 정보를 포함하는 디바이스 정보를 사용자 정보로 저장할 수 있다.
메시지 전송 블록체인(40)은, 수신가능채널에 대한 정보를 저장할 수 있다. 예를 들어, 수신가능채널에 대한 정보는 푸시 메시지(예를 들어, 경량 메시지, 중량 메시지, apns, gcm(c2dm), RCS, 타사 push, oma-mms, 타사 SNS채널 등), 이동통신사 메시지(예를 들어, SMS, MMS 등) 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.
메시지 저장 블록체인(50)은, 우선순위 결정 기준 및 결정 기준에 의해 선택된 적어도 하나의 채널 정보 및 선택된 채널로 전송된 메시지 정보를 저장할 수 있다. 일 실시 예에서, 우선순위는 상기 하나 이상의 수신가능채널 각각의 경제성에 기초하여 결정될 수 있다. 예를 들어, 더 저렴한 비용으로 메시지를 전송할 수 있는 채널일수록 우선순위가 높게 설정될 수 있다. 또 다른 실시예로, 우선순위는 사용자의 메신저 사용 패턴을 바탕으로 획득될 수 있다. 또 다른 실시예로, 우선순위는 시스템의 부하정도에 기초하여 설정될 수도 있고, 사용자가 설정한 순서에 기초하여 우선순위가 부여될 수도 있다. 사용자가 설정한 순서에 따라서 우선순위가 부여되는 경우, 전적으로 사용자가 설정한 순서에 따라 우선순위가 부여될 수도 있고, 사용자가 선택한 채널에 가중치 또는 가점을 부여함으로써 우선순위를 산출할 수도 있다.
한편, 본 발명의 다양한 실시예에 따라, 메시지 정보획득 블록체인(20), 사용자 정보 획득 블록체인(30), 메시지 전송 블록체인(40) 및 메시지 저장 블록체인(50) 중 어느 두개의 블록체인은 서로 매칭되어 정보를 송수신할 수 있다.
일 실시예로, 서버(10)는 메시지 정보획득 블록체인(20)로부터 하나 이상의 블록 데이터를 수신할 수 있으며, 이는 사용자의 요청에 따라 메시지 정보획득 블록체인(20)에서 추출되어 서버(100)로 전송될 수 있다.
이후, 서버(10)는 메시지 정보 획득 블록체인(20)으로부터 수신한 블록 데이터를 별도의 독립된 블록체인에 저장할 수 있다.
이후, 서버(10)는 상술한 블록 데이터를 별도의 독립된 블록체인에서 메시지 저장 블록체인(50)으로 전송할 수 있다.
메시지 저장 블록체인(50)은, 기 저장된 메시지 저장 블록 데이터 및 별도의 독립된 블록체인으로부터 수신한 메시지 정보획득 블록 데이터를 비교할 수 있다. 구체적으로, 메시지 정보획득 블록 데이터 및 메시지 저장 블록 데이터는 모두 메시지 정보에 대한 데이터를 포함하고 있으므로, 서버(10)는 메시지 저장 블록 데이터에 저장된 메시지 정보와 메시지 정보획득 블록 데이터에 저장된 메시지 정보를 비교하여 블록 데이터의 위변조 여부를 판단할 수 있다. 즉, 서버(10)는 메시지 저장 블록 데이터에 저장된 메시지 정보와 메시지 정보획득 블록 데이터에 저장된 메시지 정보가 동일한 경우, 데이터의 위변조가 발생하지 않은 것으로 판단하고, 메시지 저장 블록 데이터에 저장된 메시지 정보와 메시지 정보획득 블록 데이터에 저장된 메시지 정보가 상이한 경우, 데이터가 위변조된 것으로 판단할 수 있다.
또 다른 실시예로, 서버(10)는 메시지 정보획득 블록체인(20)으로부터 수신한 블록 데이터를 단위 블록 데이터로 저장할 수 있다. 서버(10)는 특정 블록체인의 노드 서버로부터 수신되는 블록 데이터를 다른 블록체인의 노드 서버로 전송할 수 있다. 메시지 정보획득 블록체인(20)은 서버(10)를 통해 메시지 저장 블록체인(50)으로 블록 데이터를 전송할 수 있다. 한편, 서버(10)는 공개키를 포함하는 인증모듈을 저장하여 각각의 블록체인으로부터 송수신되는 블록 데이터를 암호화 및 복호화 할 수 있다.
또한, 서버(10)는 각 노드서버에서 제공받은 블록 데이터를 내부 저장공간에 저장할 수 있다. 상술한 바와 같이, 서버(10)에 저장된 블록 데이터는 위변조 확인을 위한 단위 데이터로 활용될 수 있다. 즉, 서버는 메시지 정보획득 블록체인(20), 메시지 저장 블록체인(50)에 저장된 블록 데이터 및 단위 블록 데이터를 바탕으로 블록 데이터의 위변조 여부를 판단할 수 있다.
한편, 각각의 블록체인의 노드 서버는 다양한 데이터를 서버(10)가 요구하는 기준포맷으로 변환하고, 블록 데이터 수신 시에 기준포맷을 발신자 단말(100) 또는 수신자 단말(200)에서 사용하는 포맷으로 변환하는 포맷변환에이전트를 포함할 수 있다.
사용자로부터 위변조 확인 요청이 전송되면, 서버(10)는 메시지 정보획득 블록체인(20)에 저장된 블록데이터, 서버(10)에 저장된 단위 블록 데이터, 및 메시지 저장 블록체인(50)에 저장된 블록 데이터를 비교할 수 있다. 이때, 메시지 저장 블록체인(50)에 저장된 블록 데이터는 서버(10)로부터 수신한 메시지 정보획득 블록체인(20)에 저장된 블록데이터임은 물론이다.
서버(10)는 상술한 세개의 블록 데이터가 모두 동일한 경우, 위변조가 발생하지 않은 것으로 판단할 수 있다.
또한, 서버(10)는 상술한 세개의 데이터 중 두개의 데이터만 동일한 경우, 상이한 하나의 데이터가 위변조된 것으로 판단할 수 있다.
또한, 서버(10)는 상술한 세개의 데이터가 모두 상이한 경우, 메시지 정보획득 블록체인(20)으로부터 블록 데이터(예를 들어 제1 블록 데이터)를 수신하고, 메시지 저장 블록체인(50)으로부터 블록 데이터(예를 들어, 제2 블록 데이터)를 수신할 수 있다. 이때, 메시지 저장 블록체인(50)으로부터 수신한 블록 데이터는 단계 S640에 의해 생성된 블록데이터일 수 있다. 서버(10)는 제1 블록 데이터로부터 제1 메시지 정보를 획득하고, 제2 블록 데이터로부터 제2 메시지 정보를 획득할 수 있다. 제1 메시지 정보 및 제2 메시지 정보가 동일한 경우, 서버(10)는 상술한 세개의 데이터 중 제1 메시지 정보와 동일한 정보를 포함하는 블록 데이터가 위변조가 되지 않은 데이터인 것으로 판단할 수 있다. 한편, 제1 메시지 정보 및 제2 메시지 정보가 상이한 경우, 서버(10)는 상술한 세개의 데이터 중 제1 메시지 정보를 포함하는 블록 데이터의 개수인 제1 값과, 상술한 세개의 데이터 중 제2 메시지 정보를 포함하는 블록데이터의 개수인 제2 값을 획득할 수 있다. 서버(10)는 제1 값 및 제2 값 중 더 큰 값을 가지는 블록데이터가 위변조되지 않은 것으로 판단할 수 있다.
결론적으로, 서버(10)는 두개의 블록체인의 노드 및 서버(10)가 동일한 데이터를 저장하여 데이터의 위변조 여부를 판단하되, 저장된 데이터가 모두 상이한 경우에는 두개의 블록체인에 각기 저장된 블록 데이터(즉, 단계 S610에 의해 저장된 블록 데이터 및 단계 S640에의해 저장된 블록 데이터) 중 동일한 데이터가 포함되어 있는지를 바탕으로 데이터의 위변조 여부를 판단할 수 있다.
이 경우, 서버(10)는 두개의 블록체인에 각기 저장된 블록 데이터(즉, 단계 S610에 의해 저장된 블록 데이터 및 단계 S640에의해 저장된 블록 데이터) 중 동일한 데이터에 대하여 추가적인 암호화를 수행할 수 있다. 예컨대, 서버(10)는 블록 데이터 중 메시지 정보를 포함하는 데이터를 추가 암호화할 수 있다. 이를 통해 전체 블록 데이터를 이중으로 암호화하는 것이 아닌, 메시지 정보에 대응되는 데이터만 암호화함으로써, 암호화에 소요되는 리소스를 줄이고, 더욱 강력한 보안성을 가질 수 있는 효과가 존재하게 된다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 장치의 구성도이다.
도 9를 참조하면, 전자서명 관리 장치는 제어부, 시드 생성부, 키 생성부, 전자서명 생성부, 전자 서명된 데이터 생성부, 검증부, 통신부 및 저장부를 이용해서 메시지 보안 인증을 생성하고 검증한다.
통신부는 수신기(Receiver)와 송신기(transmitter)를 포함하는 통신 인터페이스 장치로서 통신부는 유선 또는 무선으로 데이터를 송수신한다. 통신부는 블록체인 네트워크와 통신하여 블록체인의 블록들을 검색하고 수신할 수 있다.
저장부는 블록체인 네트워크를 통해 수신한 블록체인을 저장할 수 있고, 전자서명 및 전자서명을 생성하는 과정에서 생성 또는 사용한 정보들을 저장할 수도 있다.
시드 생성부는 전자 서명할 트랜잭션을 포함하는 블록의 블록 해시를 확인하고, 블록 해시를 이용해서 시드(seed)를 생성한다. 이때, 시드 생성부는 블록 해시를 기설정된 함수의 인자 값으로 하여 획득한 결과 값을 시드로 설정하거나 또는 블록 해시 자체를 시드로 설정할 수 있다.
키 생성부는 시드를 이용해서 개인키(Private Key)와 공개키(Public Key)를 생성한다. 이때, 키 생성부는 시드를 키 생성 함수의 인자 값으로 하여 개인키와 공개키를 생성하거나, 또는 시드 자체를 개인키로 설정하고 이에 대응하는 공개키를 생성할 수도 있다.
전자 서명 생성부는 전자서명 알고리즘에 따라 개인키로 트랜잭션에 대한 전자서명을 생성한다.
전자 서명된 데이터 생성부는 전자서명과 트랜잭션을 포함하는 전자 서명된 데이터를 생성한다. 이때, 전자 서명된 데이터는 전자 서명된 데이터를 생성할 때 사용한 트랜잭션이 해당 블록에 존재하는 트랜잭션임을 확인해 주는 용도로 사용될 수 있다. 전자 서명된 데이터는 전자서명, 트랜잭션, 전자서명을 생성한 서명 생성자에 관한 정보, 전자서명을 생성하는데 사용된 알고리즘 정보, 블록을 식별할 수 있는 정보인 블록 식별정보 및 트랜잭션을 식별할 수 있는 정보인 트랜잭션 식별정보를 포함할 수 있다.
한편, 도 10에 도시된 바와 같이, 본 발명의 실시예에 따른 장치는 프로세서(102) 및 메모리(104)를 포함할 수 있다.
프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 2 내지 도 7과 관련하여 설명된 방법을 수행한다.
예를 들어, 프로세서(102)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 상기 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 상기 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 상기 추출된 제1 학습용 데이터를 상기 신규 학습용 데이터로부터 삭제하고, 상기 추출된 학습용 데이터가 삭제된 상기 신규 학습용 데이터를 이용하여 상기 학습된 모델을 다시 학습시킬 수 있다.
한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 발신자 단말
200 : 수신자 단말
10 : 서버

Claims (8)

  1. 서버 및 사용자 단말에 의하여 수행되는. 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택을 위한 시스템의 제어 방법에 있어서,
    상기 서버가, 전송대상 메시지에 대한 메시지정보를 획득하는 단계;
    상기 서버가, 상기 사용자 단말로부터 상기 메시지의 수신자에 대한 정보 및 상기 사용자 단말에 대한 정보 중 적어도 하나를 포함하는, 수신자정보를 획득하는 단계;
    상기 서버가, 상기 메시지정보 및 상기 수신자정보에 기초하여 하나 이상의 수신가능채널에 대한 정보를 획득하는 단계;
    상기 서버가, 상기 하나 이상의 수신가능채널 중 적어도 하나의 채널을 선택하는 단계; 및
    상기 서버가, 상기 선택된 적어도 하나의 채널을 통해 상기 메시지를 전송하는 단계;를 포함하고,
    상기 채널을 선택하는 단계는,
    상기 하나 이상의 수신가능채널 중 적어도 일부에 대한 우선순위를 결정하는 단계; 및
    상기 결정된 우선순위에 따라 상기 적어도 하나의 채널을 선택하는 단계; 를 포함하고,
    상기 우선순위를 결정하는 단계는,
    상기 하나 이상의 수신가능채널 각각에 대한 메신저 사용 패턴에 기초하여 상기 우선순위를 결정하는 단계; 를 포함하고,
    상기 메시지를 전송하는 단계는,
    상기 선택된 채널을 통해 전송된 메시지가 상기 수신자에게 제공될 수 없거나, 기 설정된 시간 이상 상기 수신자에 의하여 확인되지 않는 경우, 상기 결정된 우선순위에 따라 상기 선택된 채널의 차순위 채널을 선택하는 단계; 및
    상기 차순위 채널을 통해 상기 메시지를 재전송하는 단계;를 포함하고,
    상기 제어 방법은,
    상기 서버가, 상기 메시지의 전송기록에 포함된 메시지 정보획득 블록 데이터를 메시지 정보획득 블록체인 노드로부터 수신하여 저장하는 단계;
    상기 서버가, 복수의 사용자별로 사용자 정보를 획득하여 사용자 정보획득 블록 데이터를 사용자 정보획득 블록체인 노드로부터 수신하여 저장하는 단계;
    상기 서버가, 메시지 전송 정보를 포함하는 메시지 전송 블록 데이터를 메시지 전송 블록체인 노드로부터 수신하여 저장하는 단계;
    상기 서버가, 메시지 전송 채널 및 메시지 내용을 포함하는 메시지 저장 블록 데이터를 메시지 저장 블록체인 노드로부터 수신하여 저장하는 단계;
    상기 서버가, 상기 메시지 정보획득 블록 데이터, 상기 사용자 정보획득 블록 데이터, 상기 메시지 전송 블록 데이터 및 상기 메시지 저장 블록 데이터를 적어도 하나의 블록체인에 결합하여 저장하는 단계; 및
    상기 서버가, 상기 메시지 정보획득 블록 데이터, 상기 사용자 정보획득 블록 데이터, 상기 메시지 전송 블록 데이터 및 상기 메시지 저장 블록 데이터를 네트워크에 연결된 복수의 사용자 단말로 전송하는 단계;를 포함하고,
    상기 제어 방법은,
    상기 서버가, 상기 메시지 정보획득 블록체인에 저장된 블록데이터, 상기 서버에 저장된 단위 블록 데이터 및 상기 메시지 저장 블록체인에 저장된 블록 데이터를 바탕으로 블록 데이터의 위변조 여부를 판단하는 단계;를 더 포함하는 제어 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제어 방법은,
    상기 우선순위에 의해 선택된 최우선 채널 및 차순위 채널로 상기 메시지가 중복 전송된 경우, 상기 최우선 채널로 전송된 메시지의 수신 확인 여부 및 상기 차순위 채널로 전송된 메시지의 수신확인 여부를 판단하는 단계; 및
    상기 최우선 채널로 전송된 메시지 및 상기 차순위 채널로 전송된 메시지 중 하나의 메시지만 수신확인된 경우, 수신확인되지 않은 메시지를 삭제하는 단계; 를 포함하는 제어 방법.
  4. 제3항에 있어서,
    상기 메시지를 전송하는 단계는,
    상기 메시지 발송 전 인증 메시지를 통한 인증이 필요한 경우, 상기 우선순위에 의해 선택된 최우선 채널 및 차순위 채널로 전송하기 위한 메시지를 획득하는 단계;
    상기 최우선 채널로 전송하기 위한 인증 메시지 및 상기 차순위 채널로 전송하기 위한 인증 메시지를 동일한 시간에 전송하도록 예약 발송 시간을 설정하는 단계; 및
    상기 예약 발송 시간에 상기 최우선 채널 및 상기 차순위 채널로 상기 인증 메시지를 전송하는 단계; 를 포함하고,
    상기 인증메시지는 상기 인증 메시지를 인증하기 위한 식별 번호를 포함하며, 상기 최우선 채널로 전송되는 인증 메시지의 식별 번호와 상기 차순위 채널을 통해 전송되는 인증 메시지의 식별 번호는 상이하며,
    상기 우선순위를 결정하는 단계는,
    상기 인증 메시지에 대응되는 식별번호를 수신하는 단계;
    상기 수신된 식별번호에 대응되는 채널을 판단하는 단계; 및
    상기 판단된 채널이 상기 차순위 채널인 경우, 상기 차순위 채널을 최우선 채널로 변경하는 단계; 를 포함하는 제어 방법.
  5. 제4항에 있어서,
    상기 메시지가 첨부파일을 포함하는 경우, 상기 메시지를 발송하는 단계는,
    상기 최우선 채널로 상기 첨부파일이 포함된 메시지를 전송하고 상기 차순위 채널로 상기 첨부파일을 포함하지 않는 메시지를 전송하는 단계;를 포함하고,
    상기 메시지를 삭제하는 단계는,
    상기 차순위 채널로 전송된 메시지가 상기 최우선 채널로 전송된 메시지보다 먼저 수신확인된 경우, 상기 최우선 채널로 전송된 메시지를 삭제하는 단계; 및
    상기 차순위 채널로 상기 첨부파일을 포함하는 메시지를 재전송하는 단계; 를 포함하고,
    상기 첨부파일을 포함하지 않는 메시지는 상기 첨부파일이 포함된 메시지가 전송된 최우선 채널에 대한 정보를 더 포함하는 것을 특징으로 하는 제어 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 메시지 정보획득 블록체인 노드로부터 수신하여 저장하는 단계는,
    상기 메시지 정보를 획득하는 단계에 의해 획득된 정보를 메시지 정보 획득 데이터에 저장하고,
    상기 사용자 정보획득 블록체인 노드로부터 수신하여 저장하는 단계는,
    상기 수신자정보를 획득하는 단계에 의해 획득된 정보를 사용자 정보획득 블록 데이터에 저장하는 제어 방법.
  8. 제1항에 있어서,
    상기 메시지 전송 블록체인 노드로부터 수신하여 저장하는 단계는,
    상기 수신가능채널에 대한 정보를 획득하는 단계와, 적어도 하나의 채널을 선택하는 단계에 의해 획득된 정보를 메시지 블록 데이터에 저장하고,
    상기 메시지 저장 블록체인 노드로부터 수신하여 저장하는 단계는,
    상기 선택된 채널을 통해 메시지를 전송하는 단계에 의해 획득된 정보를 메시지 블록 데이터에 저장하는 것을 특징으로 하는 제어 방법.

KR1020200047833A 2020-04-21 2020-04-21 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법 KR102294918B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200047833A KR102294918B1 (ko) 2020-04-21 2020-04-21 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200047833A KR102294918B1 (ko) 2020-04-21 2020-04-21 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102294918B1 true KR102294918B1 (ko) 2021-08-27

Family

ID=77504322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200047833A KR102294918B1 (ko) 2020-04-21 2020-04-21 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102294918B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074790A (zh) * 2021-11-02 2023-05-05 中国联合网络通信集团有限公司 Mec业务调度方法、第一mec服务器及存储介质
KR20230137051A (ko) 2022-03-21 2023-10-04 주식회사 컬러버스 암호화폐 지갑을 이용한 메시지 전달 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130093818A (ko) * 2012-01-17 2013-08-23 한양대학교 산학협력단 Dag 토폴로지 네트워크에서의 데이터 패킷 전송 방법, 라우팅 테이블 생성방법 및 소스 브리지
KR101893729B1 (ko) * 2018-03-28 2018-10-04 주식회사 마크로젠 복수의 블록체인에 기반한 데이터 공유 방법
KR101946627B1 (ko) * 2018-07-09 2019-02-11 이니그마(주) 메시지 전송패턴 분석 및 정보제공 방법, 장치 및 프로그램
KR101948863B1 (ko) 2018-06-28 2019-02-15 이니그마(주) 메시지 전송채널 자동선택 및 메시지 전송방법, 장치 및 프로그램

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130093818A (ko) * 2012-01-17 2013-08-23 한양대학교 산학협력단 Dag 토폴로지 네트워크에서의 데이터 패킷 전송 방법, 라우팅 테이블 생성방법 및 소스 브리지
KR101893729B1 (ko) * 2018-03-28 2018-10-04 주식회사 마크로젠 복수의 블록체인에 기반한 데이터 공유 방법
KR101948863B1 (ko) 2018-06-28 2019-02-15 이니그마(주) 메시지 전송채널 자동선택 및 메시지 전송방법, 장치 및 프로그램
KR101946627B1 (ko) * 2018-07-09 2019-02-11 이니그마(주) 메시지 전송패턴 분석 및 정보제공 방법, 장치 및 프로그램

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074790A (zh) * 2021-11-02 2023-05-05 中国联合网络通信集团有限公司 Mec业务调度方法、第一mec服务器及存储介质
CN116074790B (zh) * 2021-11-02 2024-04-19 中国联合网络通信集团有限公司 Mec业务调度方法、第一mec服务器及存储介质
KR20230137051A (ko) 2022-03-21 2023-10-04 주식회사 컬러버스 암호화폐 지갑을 이용한 메시지 전달 시스템 및 방법

Similar Documents

Publication Publication Date Title
US10228926B2 (en) Remote support installation mechanism
CN107483419B (zh) 服务器认证接入终端的方法、装置、系统、服务器及计算机可读存储介质
CN109067724B (zh) 区块链数据交易方法、装置、设备及存储介质
CN109583898B (zh) 基于tee和区块链进行支付的智能终端及方法
CN110011958B (zh) 信息加密方法、装置、计算机设备及存储介质
KR102294918B1 (ko) 복수의 블록체인에 기반을 둔 메시지 전송채널 자동선택 및 메시지 중복 제거 시스템 및 방법
JP2017529711A (ja) 音声確認のための方法、装置、及びシステム
JP2017526995A (ja) デュアルチャネル識別認証
WO2019109817A1 (zh) 短信验证方法、装置、存储介质、短信验证系统及终端
WO2018133767A1 (zh) 通话控制方法、终端设备及存储介质
WO2006134434A1 (en) A method of authenticating a message transmitted on a communications network and a system therefor
CN109558294A (zh) 应用程序监控管理方法、装置、计算机设备和存储介质
US11057392B2 (en) Data security method utilizing mesh network dynamic scoring
CN109729000B (zh) 一种即时通信方法及装置
CN108183798A (zh) 应用的实名认证方法、服务器、移动终端及可读存储介质
US9332405B2 (en) Short message backup method, mobile terminal, and server
CN112346751A (zh) 应用程序的安装方法、装置、电子设备和存储介质
US11546284B2 (en) Offline email synchronization
US11310635B2 (en) Method, apparatus, and program for automatically selecting message transmission channel and transmitting message
JP2012226594A (ja) 認証サーバ装置、認証方法及び認証プログラム
CN110955905A (zh) 基于区块链的资产转移方法、装置、设备及可读存储介质
WO2017020389A1 (zh) 一种密话通信建立失败的处理方法及用户终端
CN113497827B (zh) 信息共享方法及设备
CN109460647A (zh) 一种多设备安全登录的方法
CN104796311B (zh) 一种发送信息的方法、客户端、服务器及发送信息的系统

Legal Events

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