KR102071955B1 - 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버 - Google Patents

분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버 Download PDF

Info

Publication number
KR102071955B1
KR102071955B1 KR1020180065708A KR20180065708A KR102071955B1 KR 102071955 B1 KR102071955 B1 KR 102071955B1 KR 1020180065708 A KR1020180065708 A KR 1020180065708A KR 20180065708 A KR20180065708 A KR 20180065708A KR 102071955 B1 KR102071955 B1 KR 102071955B1
Authority
KR
South Korea
Prior art keywords
message
specific
acknowledgment
distributed cache
messages
Prior art date
Application number
KR1020180065708A
Other languages
English (en)
Other versions
KR20190139096A (ko
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 KR1020180065708A priority Critical patent/KR102071955B1/ko
Priority to US16/012,098 priority patent/US10701170B2/en
Publication of KR20190139096A publication Critical patent/KR20190139096A/ko
Application granted granted Critical
Publication of KR102071955B1 publication Critical patent/KR102071955B1/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/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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1861Physical mapping arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/1002
    • H04L67/2842
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로 소정의 메시지들을 전송하고, 특정 분산 캐시 서버가 전송한 소정의 메시지들 중 각각의 클라이언트 노드들로부터의 확인응답 메시지를 수신하지 못한 미응답 메시지들을 미응답 메시지 맵에 순차적으로 등록하며, 미응답 메시지 맵에 등록되어 있는 미응답 메시지들의 개수를 확인하여 기설정된 제1 개수값에 도달하면 멀티캐스트를 통한 클라이언트 노드들로의 소정의 메시지 전송을 중단하는 방법 및 이를 이용한 분산 캐시 서버에 관한 것이다.

Description

분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버{METHOD FOR PROCESSING MULTICAST IN DISTRIBUTED CACHE ENVIRONMENT, AND DISTRIBUTED CACHE SERVER USING THE SAME}
본 발명은 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버에 관한 것으로, 보다 상세하게는, 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로 소정의 메시지들을 전송하고, 특정 분산 캐시 서버가 전송한 소정의 메시지들 중 각각의 클라이언트 노드들로부터의 확인응답 메시지를 수신하지 못한 미응답 메시지들을 미응답 메시지 맵에 순차적으로 등록하며, 미응답 메시지 맵에 등록되어 있는 미응답 메시지들의 개수를 확인하여 기설정된 제1 개수값에 도달하면 멀티캐스트를 통한 클라이언트 노드들로의 소정의 메시지 전송을 중단하는 방법 및 이를 이용한 분산 캐시 서버에 관한 것이다.
최근 페이스북, 유튜브, 트위터 등과 같은 소셜 미디어의 성장과 모바일 장치와 같은 디지털 기기의 확산에 따라 사용자는 더 이상 단순히 데이터 소비자가 아닌 데이터 생산자의 역할도 함께 수행하게 되었다. 이로 인해, 데이터의 양이 급증했을 뿐만 아니라 데이터의 유형도 다양화되면서 빅 데이터 시대가 도래되었다. 이러한 빅 데이터를 처리하기 위해 하둡(hadoop), 병렬 DBMS(database management system)와 같은 분산 저장 관리 기술이 활용되고 있다.
일반적인 분산 저장 관리 기술은 디스크에 데이터를 저장하고 처리하기 위한 기술이다. 따라서, 분산 저장 관리 기술에서 I/O(input/output) 속도로 인한 처리 비용이 증가되고 노드에 병목 현상이 증가되는 문제점이 있다. 이러한 문제점을 해결하기 위하여 데이터에 대응하는 캐시 데이터를 복수의 분산 캐시 서버에 저장하여 사용하는 분산 캐시 기술이 이용되고 있으며, 분산 캐시 기술은 클라우드 인프라에서 저비용의 신뢰할 수 있는 데이터 저장을 제공하는 수단으로 인기를 얻고 있다.
이러한 분산 캐시 기술에서는 캐시 데이터 등의 제어에 멀티캐스트 기반의 통신 프로토콜을 사용하고 있으며, 보다 빠르고 효율적으로 네트워크에 분산되어 있는 캐시 데이터 등을 처리함에 있어서 신뢰성이 기반되어야 한다.
하지만, 신뢰성 멀티캐스트 기술은 지금까지 많은 분야에서 다루어지고 사용되고 있으나, 분산 캐시 환경에서 멀티캐스트에 대한 신뢰성은 다소 떨어지는 문제점이 있다.
즉, 멀티캐스트는 다수의 수신자를 대상으로 한 처리가 기본이 되고 그에 더해 TCP 통신에 준하는 신뢰성을 확보하기 위해서는 수신자들로부터의 확인응답(ACK: acknowledgement) 처리가 필수적이다.
그러나, 다수의 수신자로부터의 확인응답을 처리해야 하므로 효율적인 알고리즘이 적용되지 않으면 과도한 네트워크의 부하, 확인응답 처리 시의 CPU 및 메모리 자원의 소모, 그로 인한 응답시간 저하 등의 부작용이 빈번하게 발생할 여지가 있다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 분산 환경에서의 멀티캐스트에 대한 신뢰성을 향상시킬 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 분산 환경에서 빠르고 안정적인 멀티캐스트 프로토콜 기반의 캐시 데이터 제어가 가능하도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 분산 환경에서 확인응답 메시지의 전송을 최소화할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 실시예에 따르면, 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에 있어서, (a) 분산 캐시 환경의 복수의 분산 캐시 서버 중 특정 분산 캐시 서버가, 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로 소정의 메시지들을 전송하며, 상기 특정 분산 캐시 서버가 전송한 상기 소정의 메시지들 중 상기 각각의 클라이언트 노드들로부터의 확인응답 메시지를 수신하지 못한 미응답 메시지들을 미응답 메시지 맵에 순차적으로 등록하는 단계; 및 (b) 상기 특정 분산 캐시 서버가, 상기 미응답 메시지 맵에 등록되어 있는 상기 미응답 메시지들의 개수를 확인하여 기설정된 제1 개수값에 도달하면 상기 멀티캐스트를 통한 상기 클라이언트 노드들로의 상기 소정의 메시지의 전송을 중단하는 단계; 를 포함하는 멀티캐스트 수행 방법이 제공된다.
또한, 본 발명의 일 실시예에 따르면, 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에 있어서, (a) 분산 캐시 환경의 복수의 분산 캐시 서버 중 특정 분산 캐시 서버가, 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로부터 전송되는 소정의 메시지들을 획득하며, 상기 획득된 상기 소정의 메시지들에 대응하여 상기 클라이언트 노드들로 수신 확인을 알리기 위한 확인응답 메시지들을 확인응답 메시지 큐에 순차적으로 등록하여 관리하는 단계; 및 (b) 상기 특정 분산 캐시 서버가, 상기 확인응답 메시지 큐에 등록된 상기 확인응답 메시지들을 상기 클라이언트 노드별로 가장 큰 메시지 번호를 가지는 특정 확인응답 메시지들을 각각 확인하고, 상기 확인된 특정 확인응답 메시지들을 상기 클라이언트 노드별로 전송하여 주며 상기 특정 확인응답 메시지보다 작은 메시지 번호를 가지는 상기 확인응답 메시지들에 대해서는 확인된 것으로 자동 처리하는 단계; 를 포함하는 멀티캐스트 수행 방법이 제공된다.
또한, 본 발명의 일 실시예에 따르면, 상기의 방법들을 수행하는 분산 캐시 서버가 제공된다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 분산 환경에서 효율적인 확인응답 메시지의 처리를 통해 확인응답 메시지의 전송을 최소화할 수 있게 된다.
또한, 본 발명은 분산 환경에서 확인응답 메시지의 효율적인 처리를 통해 네트워크 부하를 감소시키며 컴퓨팅 자원의 사용을 최고할 수 있게 되며, 그에 따라 빠르고 안정적인 멀티캐스트를 수행할 수 있게 된다.
또한, 본 발명은 확인응답 통신의 최소화, 능동형 재전송, 멀티캐스트 인스트럭션 메시지와 확인응답 메시지의 묶음 전송 등의 기능을 통해 빠르고 안정적인 멀티캐스트 프로토콜 기반의 캐시 데이터 제어가 가능하게 된다.
도 1은 본 발명의 일 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 분산 캐시 서버를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 방법을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에서 미응답 메시지 맵에 등록된 미응답 메시지를 처리하는 상태를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에서 재전송을 수행하는 상태를 개략적으로 도시한 것이고,
도 5는 본 발명의 다른 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 상태를 개략적으로 도시한 것이고,
도 6은 본 발명의 다른 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에서 부정확인응답 메시지를 전송하는 상태를 개략적으로 도시한 것이고,
도 7은 본 발명의 다른 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에서 미리 도착한 메시지를 처리하는 상태를 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 분산 캐시 서버를 개략적으로 도시한 것으로, 분산 캐시 서버(100)는 통신부(110), 프로세스(120), 및 저장부(130)를 포함할 수 있다.
먼저, 통신부(110)는 정보의 송수신을 지원하는 것으로, 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로 소정의 메시지들을 전송하거나, 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시를 포함하는 클라이언트 노드들로부터 전송되는 소정의 메시지들을 획득할 수 있다.
다음으로, 프로세서(120)는 정보를 처리하는 것으로, 분산 캐시 환경에서의 멀티캐스트에 따른 과도한 네트워크의 부하, 확인응답 처리시의 컴퓨팅 자원의 소모, 및 이로 인한 응답시간 저하 등의 부작용을 최소화하기 위해 확인응답 통신 최소화, 능동형 재전송, 멀티캐스트 인스트럭션 메시지와 확인응답 메시지 묶음 전송 등의 기능을 통해 빠르고 안정적인 멀티캐스트 프로토콜 기반의 캐시 데이터 제어가 이루어지도록 한다.
다음으로, 저장부(130)는 데이터를 저장하는 것으로, 프로세서(120)의 동작을 위한 인스트럭션 및 분산 환경에서의 캐시 데이터 등을 저장할 수 있다.
상기에서 분산 캐시 서버(100)는 분산 캐시 환경의 복수의 분산 캐시 서버 중 어느 하나의 분산 캐시 서버로 소정의 메시지를 전송하거나 획득하는 것으로 설명되었으나, 이와는 달리 소정의 메시지 전송과 소정의 메시지의 획득을 하는 분산 캐시 서버를 서로 다른 서버로 구현할 수도 있다.
이와 같이 구성된 분산 캐시 서버(100)를 통해 본 발명의 일 실시예에 따른 분산 캐시 환경에서 멀티캐스트를 수행하는 방법을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 분산 캐시 환경의 복수의 분산 캐시 서버 중 특정 분산 캐시 서버(100)의 프로세서(120)가 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로 소정의 메시지들을 통신부(110)를 통해 전송한다(S100). 이때, 소정의 메시지는 분산 캐시 환경에서의 캐시 데이터 제어 명령일 수 있으나 이에 한정되는 것은 아니며, 캐시 데이터 제어 명령은 클러스터 멤버 제어를 위한 제어 명령, 캐시 엔트리 인밸리데이션을 위한 제어 명령, 병렬 처리 수행 인스트럭션에 따른 제어 명령 등을 포함할 수 있다.
다음으로, 특정 분산 캐시 서버(100)는 전송한 소정의 메시지들 중 각각의 클라이언트 노드들로부터의 확인응답(ACK) 메시지를 수신하지 못한 미응답(UNACK) 메시지들을 미응답 메시지 맵에 순차적으로 등록하고 미응답 메시지 맵을 관리한다(S110).
이후, 특정 분산 캐시 서버(100)는 미응답 메시지 맵에 등록되어 있는 미응답(UNACK) 메시지들의 개수를 확인하여 기설정된 제1 개수값에 도달하면 멀티캐스트를 통한 클라이언트 노드들로의 소정의 메시지의 전송을 중단한다(S120).
일 예로, 네트워크 처리가 지연되는 상황에서 사용자 어플리케이션, 즉, 클라이언트 노드들부터 대량의 캐시 연산 지속 유입 시, 미응답 메시지 맵이 비대해지는 문제가 발생하고 미응답(UNACK) 메시지가 증가함으로써 해당 미응답 메시지에 대한 재전송을 발생시킬 가능성이 높아진다. 따라서, 특정 분산 캐시 서버(100)는 미응답 메시지 맵의 사이즈를 판단 조건으로 정의하고, 허용된 최대 미응답 메시지 번호를 초과하는 경우 처리 지연으로 판단하여 더 이상의 멀티캐스트 네트워크 연산 발생을 중단한다.
이후, 미응답 메시지 맵의 미응답(UNACK) 메시지의 개수가 기설정된 제2 개수값 이하가 되면 멀티캐스트 네트워트 연산 발생을 재개한다.
한편, 특정 분산 캐시 서버(100)는 각각의 클라이언트 노드들로부터 특정 확인응답(ACK) 메시지가 수신되면, 미응답 메시지 맵에 등록된 미응답(UNACK) 메시지들 중 특정 확인응답(ACK) 메시지에 대응되는 특정 미응답 메시지(UNACK)가 있는지를 확인하며, 특정 미응답(UNACK) 메시지가 확인되면 특정 미응답(UNACK) 메시지를 확인 처리하여 미응답 메시지 맵으로부터 삭제할 수 있다.
이때, 특정 분산 캐시 서버(100)는 특정 미응답(UNACK) 메시지에 대응하는 특정 확인응답(ACK) 메시지의 번호보다 작은 번호를 가지는 확인응답(ACK) 메시지에 대응하되 확인 처리가 되지 않은 상태로 미응답 메시지 맵에 등록된 관련 미응답(UNACK) 메시지들을 모두 확인 처리함으로써 미응답 메시지 맵으로부터 삭제할 수 있다.
일 예로, 도 3을 참조하면, 클라이언트 노드(C2)에 대응되는 미응답 메시지 맵(131)에서 미응답 메시지의 4번까지 확인 처리된 상태에서 클라이언트 노드(C2)로부터 수신되는 확인응답 메시지(ACK7)가 7번으로 미응답 메시지의 5번과 6번에 대한 확인응답 메시지(ACK5)(ACK6)보다 먼저 수신될 경우, 특정 분산 캐시 서버(100)는 7번째 미응답 메시지를 확인 처리할 수 있는데, 이때 확인응답 메시지(ACK5)(ACK6)에 대응되는 5번째와 6번째 미응답 메시지도 자동으로 확인 처리하여 해당 메시지에 대한 처리를 완료한다. 여기서, "자동으로 확인 처리한다"는 표현은 확인을 위한 별도의 프로세스를 수행한다는 의미는 아니고, 확인된 것으로 간주한다는 의미일 수 있다. 이때, 도 3에서는 일부의 클라이언트 노드에 대해서만 도시하고 설명하였으나, 클라이언트 노드는 다수 개로 형성될 수 있으며, 특정 분산 캐시 서버(100)는 클라이언트 노드별로 상기와 같은 방법에 의해 미응답 메시지 맵에 등록된 미응답 메시지들을 처리할 수 있다.
또한, 특정 분산 캐시 서버(100)는 미응답 메시지 맵에 등록된 미응답(UNACK)메시지들 각각의 메시지 전송 시간과 현재의 RTO(Retransmission TimeOut)를 참조하여 메시지 재전송할지 여부를 확인하며, 메시지 재전송을 해야 하는 것으로 확인된 미응답 메시지들을 재전송할 수 있다. 이때, 특정 분산 캐시 서버(100)는 미응답(UNACK) 메시지의 메시지 전송시간으로부터의 경과 시간이 적어도 현재 RTO를 초과하는 경우 메시지 재전송을 해야 하는 것으로 확인할 수 있다.
일 예로, 도 4를 참조하면, 특정 분산 캐시 서버(100)는 멀티캐스트에 의해 다수의 인스트럭션인 Instruction:0001, Instruction:0002, Instruction:0003을 순차적으로 전송한다.
그러면, 특정 분산 캐시 서버(100)로부터의 인스트럭션을 수신한 각각의 클라이언트 노드(C1)(C2)(C3)(C4)는 인스트럭션에 대응하는 각각의 확인응답 메시지(ACK:0001)(ACK:0002)(ACK:0003)를 송신하게 되며, 다음의 표 1에서 알 수 있는 바와 같이, 특정 분산 캐시 서버(100)는 각각의 클라이언트 노드(C1)(C2)(C3)(C4)들로부터 수신되는 확인응답 메시지(ACK:0001)(ACK:0002)(ACK:0003)를 통해 전송한 인스트럭션들에 의한 클라이언트 노드들의 수신 여부를 확인하게 된다.
구분 C1 C2 C3 C4
Instruction:0001 ACK ACK ACK ACK
Instruction:0002 ACK ACK ACK ACK
Instruction:0003 ACK ACK ACK
이때, 클라이언트 노드(C2)로부터 인스트럭션(Instruction:0003)에 대한 확인응답 메시지(ACK:003) 또는 부정확인응답(NACK) 메시지를 아직 수신하지 못하고 있으므로, 특정 분산 캐시 서버(100)는 인스트럭션(Instruction:0003)을 미응답(UNACK) 메시지로 미응답 메시지 맵에 보관한 후, 메시지를 보낸 시간과 현재의 RTO를 비교하여 수신이 비정상적으로 늦어지는 것으로 판단되면 재전송을 실행한다. 상기에서는 분산 캐시 서버(100)가 분산 캐시 환경에서 멀티캐스트에 의해 소정의 메시지를 전송하는 메시지 전송자인 상태에서의 멀티캐스트를 수행하는 방법에 대해 설명하였으나, 이하에서는 도 5 내지 도 7을 참조하여 분산 캐시 서버(100)가 분산 캐시 환경에서 멀티캐스트에 의해 송신된 소정의 메시지를 수신하는 수신자인 상태에서의 멀티캐스트를 수행하는 방법에 대해 설명한다.
먼저, 도 5를 참조하면, 특정 분산 캐시 서버(100)는 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로부터 전송되는 소정의 메시지들을 획득하며, 획득된 소정의 메시지들에 대응하여 클라이언트 노드별로 수신 확인을 알리기 위한 확인응답 메시지(ACK1)(ACK2)(ACK3)(ACK4)(ACK5)들을 확인응답 메시지 큐(132)에 순차적으로 등록하여 관리한다.
그리고, 특정 분산 캐시 서버(100)의 프로세서(120)는 송신하기 위한 메시지를 확인한다. 이때, 송신 메시지의 확인은 확인응답 메시지 큐(132)에 등록된 확인응답 메시지(ACK1)(ACK2)(ACK3)(ACK4)(ACK5)들과 인스트럭션 메시지 큐(133)에 등록된 인스트럭션 메시지(INS1)(INS2)를 포함할 수 있으며, 이를 송신 순서에 따라 인스트럭션 메시지(INS1), 확인응답 메시지(ACK1), 인스트럭션 메시지(INS2), 확인응답 메시지(ACK2), 확인응답 메시지(ACK3), 확인응답 메시지(ACK4), 및 확인응답 메시지(ACK5)의 순서로 정렬할 수 있다.
이후, 특정 분산 캐시 서버(100)는 확인응답 메시지들 중 가장 큰 메시지 번호를 가지는 특정 확인응답 메시지(ACK5)들을 각각 확인하고, 확인된 특정 확인응답 메시지(ACK5)들을 각각의 클라이언트 노드별로 전송하여 주며 특정 확인응답 메시지(ACK5)보다 작은 메시지 번호를 가지는 확인응답 메시지(ACK1)(ACK2)(ACK3)(ACK4)들에 대해서는 확인된 것으로 자동 처리한다.
즉, 도 5의 확인응답 메시지 큐(132)는 편의상 한 개만 도시하였는데, 도 5에 도시된 확인응답 메시지 큐(132)는 이에 대응되는 하나의 클라이언트 노드에 송신하기 위한 메시지들을 포함하고 있다. 복수의 클라이언트 노드들을 상정하면, 각각에 대응되는 복수의 확인응답 메시지 큐(132)를 상정할 수 있음은 물론이라 할 것이다.
다시 도 5를 참조하면, 확인응답 메시지 큐(132)에 들어가 있는 모든 메시지에 대해서 멀티캐스트 처리를 수행할 경우에는 네트워크 메시지 폭증을 유발하는 등의 부작용을 발생시킬 수가 있으며, 이러한 부작용을 최소화하기 위해 확인응답 메시지 큐를 검사하여 각 클라이언트 노드별로 가장 큰 메시지 번호를 구하여 처리된 가장 큰 메시지 번호만 전송하고 그 이하는 자동으로 확인 처리하도록 함으로써 확인응답 메시지의 전송량을 감소시킬 수 있게 된다.
이때, 특정 분산 캐시 서버(100)의 프로세서(120)는 특정 확인응답 메시지(ACK5)의 전송시, 피기백 방식에 의해 전송할 수 있는데, 구체적으로는, 특정 분산 캐시 서버가 클라이언트 노드별 각각의 신규 메시지(INS1)를 전송할 때, 메시지 어셈블링을 통해 신규 메시지(INS1)에 특정 확인응답 메시지(ACK5)를 포함시켜 전송할 수 있다.
일 예로, 도 5에서와 같이, 메시지 전송 순서가 인스트럭션 메시지(INS1), 확인응답 메시지(ACK1), 인스트럭션 메시지(INS2), 확인응답 메시지(ACK2), 확인응답 메시지(ACK3), 확인응답 메시지(ACK4), 및 확인응답 메시지(ACK5)로 확인된 상태에서, 인스트럭션 메시지(INS1)의 전송시 피기백에 의해 확인응답 메시지(ACK5)를 포함시켜 전송하며, 다음 순서로 인스트럭션 메시지(INS2)를 전송하게 된다.
다음으로, 도 6을 참조하면, 특정 분산 캐시 서버(100)는 확인응답 메시지 큐에 등록된 확인응답 메시지들을 상기 클라이언트 노드별로 확인한 결과, 특정 클라이언트 노드(C1)로 전송하기 위한 확인 응답 메시지들에서 메시지 번호가 누락(ACK:002)된 경우, 기설정된 대기 시간 동안 누락된 메시지 번호에 해당하는 확인 응답 메시지(ACK:002)가 확인응답 메시지 큐에 등록되지 않으면, 특정 클라이언트 노드(C1)로 누락된 메시지 번호에 대응하는 소정의 메시지에 대하여 부정확인응답(NACK) 메시지(NACK:002)를 전송하여 준다.
즉, 분산 캐시 환경에서의 멀티캐스트 신뢰성을 확보하기 위하여, 송신 측의 메시지 시퀀스(Sequence)와 수신 측의 메시지 시퀀스를 정확히 동기화하여야 하므로, 수신 측의 메시지 번호 역전 발생 시 일정 시간 대기한 후 유실로 간주하여 부정확인응답(NACK)을 송신 측에게 보내어 재전송을 요청한다.
다음으로, 도 7을 참조하면, 특정 분산 캐시 서버(100)는 획득되는 소정의 메시지들을 확인 결과, 특정 클라이언트 노드(C1)로부터 획득되는 특정 메시지(M6)(M8)가 자신에 해당되는 메시지 처리 요청 순서보다 미리 온 메시지로 판단되는 경우, 특정 메시지(M6)(M8)를 디퍼드(deferred) 메시지 큐(134)에 등록하며, 특정 클라이언트 노드(C1)로부터 다음 메시지(M5)가 획득되면, 다음 메시지(M5)에 해당되는 메시지 처리 요청 순서 및 디퍼드 메시지 큐(134)에 등록된 특정 메시지(M6(M8)에 해당되는 메시지 처리 요청 순서를 참조로 하여, 메시지를 처리한다.
즉, 분산 캐시 환경에서의 멀티캐스트 신뢰성을 확보하기 위하여, 메시지의 수신 측은 송신 측 관련 정보를 관리하고 있으며 송신 측으로부터 메시지 순서보다 미리 온 메시지 정보를 디퍼드 큐에 저장한 다음, 메시지 수신 시 마다 디퍼드 큐를 검사하여 메시지 정렬 순서(M5
Figure 112018056084804-pat00001
M6
Figure 112018056084804-pat00002
M7
Figure 112018056084804-pat00003
M8)에 해당하는 처리 수행 후 디퍼드 큐에서 제거한다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 분산 캐시 서버,
110: 통신부,
120: 프로세서,
130: 저장부
C1, C2, C3, C4: 클라이언트 노드

Claims (18)

  1. 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에 있어서,
    (a) 분산 캐시 환경의 복수의 분산 캐시 서버 중 특정 분산 캐시 서버가, 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로 소정의 메시지들을 전송한 후, 상기 특정 분산 캐시 서버가 전송한 상기 소정의 메시지들 중 상기 각각의 클라이언트 노드들로부터의 확인응답 메시지를 수신하지 못한 미응답 메시지들을 미응답 메시지 맵에 순차적으로 등록하는 단계; 및
    (b) 상기 특정 분산 캐시 서버가, 상기 미응답 메시지 맵에 등록되어 있는 상기 미응답 메시지들의 개수를 확인하여 기설정된 제1 개수값에 도달하면 상기 멀티캐스트를 통한 상기 클라이언트 노드들로의 상기 소정의 메시지의 전송을 중단하는 단계;
    를 포함하되,
    상기 (a) 단계는,
    상기 각각의 클라이언트 노드들로부터 특정 확인응답 메시지가 수신되면, 상기 특정 분산 캐시 서버가, 상기 미응답 메시지 맵에 등록된 상기 미응답 메시지들 중 상기 특정 확인응답 메시지에 대응되는 특정 미응답 메시지가 있는지를 확인하며, 상기 특정 미응답 메시지가 확인되면 상기 특정 미응답 메시지를 확인 처리하여 상기 미응답 메시지 맵으로부터 삭제하는 단계;
    를 더 포함하고,
    상기 (a) 단계에서,
    상기 특정 분산 캐시 서버는, 상기 특정 미응답 메시지에 대응하는 상기 특정 확인응답 메시지의 번호보다 작은 번호를 가지는 확인응답 메시지에 대응하되 확인 처리가 되지 않은 상태로 상기 미응답 메시지 맵에 등록된 관련 미응답 메시지들을 모두 확인 처리하여 상기 미응답 메시지 맵으로부터 삭제하는 것을 특징으로 하는 멀티캐스트 수행 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 (a) 단계는,
    상기 특정 분산 캐시 서버가, 상기 미응답 메시지 맵에 등록된 상기 미응답 메시지들 각각의 메시지 전송 시간과 현재의 RTO를 참조하여 메시지 재전송할지 여부를 확인하며, 메시지 재전송을 해야 하는 것으로 확인된 미응답 메시지들을 재전송하는 단계를 더 포함하는 것을 특징으로 하는 멀티캐스트 수행 방법.
  5. 제4항에 있어서,
    상기 특정 분산 캐시 서버는, 상기 미응답 메시지의 메시지 전송시간으로부터의 경과 시간이 적어도 상기 현재 RTO를 초과하는 경우 메시지 재전송을 해야 하는 것으로 확인하는 것을 특징으로 하는 멀티캐스트 수행 방법.
  6. 분산 캐시 환경에서 멀티캐스트를 수행하는 방법에 있어서,
    (a) 분산 캐시 환경의 복수의 분산 캐시 서버 중 특정 분산 캐시 서버가, 멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로부터 전송되는 소정의 메시지들을 획득한 후, 상기 획득된 상기 소정의 메시지들에 대응하여 상기 클라이언트 노드들로 수신 확인을 알리기 위한 확인응답 메시지들을 확인응답 메시지 큐에 순차적으로 등록하여 관리하는 단계; 및
    (b) 상기 특정 분산 캐시 서버가, 상기 확인응답 메시지 큐에 등록된 상기 확인응답 메시지들을 상기 클라이언트 노드별로 가장 큰 메시지 번호를 가지는 특정 확인응답 메시지들을 각각 확인하고, 상기 확인된 특정 확인응답 메시지들을 상기 클라이언트 노드별로 전송하여 주며 상기 특정 확인응답 메시지보다 작은 메시지 번호를 가지는 상기 확인응답 메시지들에 대해서는 확인된 것으로 자동 처리하는 단계;
    를 포함하는 것을 특징으로 하는 멀티캐스트 수행 방법.
  7. 제6항에서,
    상기 (b) 단계에서,
    상기 특정 분산 캐시 서버는, 상기 특정 확인응답 메시지들 각각의 전송시, 피기백 방식에 의해, 상기 특정 분산 캐시 서버가 상기 클라이언트 노드별 각각의 신규 메시지를 전송할 때, 상기 각각의 신규 메시지에 상기 특정 확인응답 메시지들 각각을 포함시켜 전송하는 것을 특징으로 하는 멀티캐스트 수행 방법.
  8. 제6항에 있어서,
    상기 (b) 단계에서,
    상기 특정 분산 캐시 서버는, 상기 확인응답 메시지 큐에 등록된 상기 확인응답 메시지들을 상기 클라이언트 노드별로 확인한 결과, 특정 클라이언트 노드로 전송하기 위한 상기 확인 응답 메시지들에서 메시지 번호가 누락된 경우, 기설정된 대기 시간 동안 상기 누락된 메시지 번호에 해당하는 확인 응답 메시지가 상기 확인응답 메시지 큐에 등록되지 않을 경우, 상기 특정 클라이언트 노드로 상기 누락된 메시지 번호에 대응하는 소정의 메시지에 대하여 부정확인응답 메시지를 전송하는 것을 특징으로 하는 멀티캐스트 수행 방법.
  9. 제6항에 있어서,
    상기 (a) 단계에서,
    상기 특정 분산 캐시 서버는, 상기 획득되는 상기 소정의 메시지들을 확인 결과, 특정 클라이언트 노드로부터 획득되는 특정 메시지가 자신에 해당되는 메시지 처리 요청 순서보다 미리 온 메시지로 판단되는 경우, 상기 특정 메시지를 디퍼드 메시지 큐에 등록하며, 상기 특정 클라이언트 노드로부터 다음 메시지가 획득되면, 상기 다음 메시지에 해당되는 메시지 처리 요청 순서 및 상기 디퍼드 메시지 큐에 등록된 상기 특정 메시지에 해당되는 메시지 처리 요청 순서를 참조로 하여, 메시지를 처리하는 것을 특징으로 하는 멀티캐스트 수행 방법.
  10. 분산 캐시 환경에서 멀티캐스트를 수행하는 분산 캐시 서버에 있어서,
    멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로 소정의 메시지들을 전송하는 통신부; 및
    상기 통신부를 통해 전송한 상기 소정의 메시지들 중 상기 각각의 클라이언트 노드들로부터의 확인응답 메시지를 수신하지 못한 미응답 메시지들을 미응답 메시지 맵에 순차적으로 등록하는 프로세스와, 상기 미응답 메시지 맵에 등록되어 있는 상기 미응답 메시지들의 개수를 확인하여 기설정된 제1 개수값에 도달하면 상기 멀티캐스트를 통한 상기 클라이언트 노드들로의 상기 소정의 메시지의 전송을 중단하는 프로세스를 수행하는 프로세서;
    를 포함하되,
    상기 프로세서는, 상기 각각의 클라이언트 노드들로부터 특정 확인응답 메시지가 수신되면, 상기 미응답 메시지 맵에 등록된 상기 미응답 메시지들 중 상기 특정 확인응답 메시지에 대응되는 특정 미응답 메시지가 있는지를 확인하며, 상기 특정 미응답 메시지가 확인되면 상기 특정 미응답 메시지를 확인 처리하여 상기 미응답 메시지 맵으로부터 삭제하는 프로세스를 더 수행하고,
    상기 프로세서는, 상기 특정 미응답 메시지에 대응하는 상기 특정 확인응답 메시지의 번호보다 작은 번호를 가지는 확인응답 메시지에 대응하되 확인 처리가 되지 않은 상태로 상기 미응답 메시지 맵에 등록된 관련 미응답 메시지들을 모두 확인 처리하여 상기 미응답 메시지 맵으로부터 삭제하는 것을 특징으로 하는 분산 캐시 서버.
  11. 삭제
  12. 삭제
  13. 제10항에 있어서,
    상기 프로세서는, 상기 미응답 메시지 맵에 등록된 상기 미응답 메시지들 각각의 메시지 전송 시간과 현재의 RTO를 참조하여 메시지 재전송할지 여부를 확인하며, 메시지 재전송을 해야 하는 것으로 확인된 미응답 메시지들을 재전송하는 프로세스를 더 수행하는 것을 특징으로 하는 분산 캐시 서버.
  14. 제13항에 있어서,
    상기 프로세서는, 상기 미응답 메시지의 메시지 전송시간으로부터의 경과 시간이 적어도 상기 현재 RTO를 초과하는 경우 메시지 재전송을 해야 하는 것으로 확인하는 것을 특징으로 하는 분산 캐시 서버.
  15. 분산 캐시 환경에서 멀티캐스트를 수행하는 분산 캐시 서버에 있어서,
    멀티캐스트를 통해 적어도 하나 이상의 다른 분산 캐시 서버를 포함하는 클라이언트 노드들로부터 전송되는 소정의 메시지들을 획득하는 통신부; 및
    상기 통신부를 통해 획득된 상기 소정의 메시지들에 대응하여 상기 클라이언트 노드들로 수신 확인을 알리기 위한 확인응답 메시지들을 확인응답 메시지 큐에 순차적으로 등록하여 관리하는 프로세스와, 상기 확인응답 메시지 큐에 등록된 상기 확인응답 메시지들을 상기 클라이언트 노드별로 가장 큰 메시지 번호를 가지는 특정 확인응답 메시지들을 각각 확인하고, 상기 확인된 특정 확인응답 메시지들을 상기 클라이언트 노드별로 전송하여 주며 상기 특정 확인응답 메시지보다 작은 메시지 번호를 가지는 상기 확인응답 메시지들에 대해서는 확인된 것으로 자동 처리하는 프로세스를 수행하는 프로세서;
    를 포함하는 것을 특징으로 하는 분산 캐시 서버.
  16. 제15항에서,
    상기 프로세서는, 상기 특정 확인응답 메시지들 각각의 전송시, 피기백 방식에 의해, 상기 프로세서가 상기 클라이언트 노드별 각각의 신규 메시지를 전송할 때, 상기 각각의 신규 메시지에 상기 특정 확인응답 메시지들 각각을 포함시켜 전송하는 것을 특징으로 하는 분산 캐시 서버.
  17. 제15항에 있어서,
    상기 프로세서는, 상기 확인응답 메시지 큐에 등록된 상기 확인응답 메시지들을 상기 클라이언트 노드별로 확인한 결과, 특정 클라이언트 노드로 전송하기 위한 상기 확인 응답 메시지들에서 메시지 번호가 누락된 경우, 기설정된 대기 시간 동안 상기 누락된 메시지 번호에 해당하는 확인 응답 메시지가 상기 확인응답 메시지 큐에 등록되지 않을 경우, 상기 특정 클라이언트 노드로 상기 누락된 메시지 번호에 대응하는 소정의 메시지에 대하여 부정확인응답 메시지를 전송하는 것을 특징으로 하는 분산 캐시 서버.
  18. 제15항에 있어서,
    상기 프로세서는, 상기 획득되는 상기 소정의 메시지들을 확인 결과, 특정 클라이언트 노드로부터 획득되는 특정 메시지가 자신에 해당되는 메시지 처리 요청 순서보다 미리 온 메시지로 판단되는 경우, 상기 특정 메시지를 디퍼드 메시지 큐에 등록하며, 상기 특정 클라이언트 노드로부터 다음 메시지가 획득되면, 상기 다음 메시지에 해당되는 메시지 처리 요청 순서 및 상기 디퍼드 메시지 큐에 등록된 상기 특정 메시지에 해당되는 메시지 처리 요청 순서를 참조로 하여, 메시지를 처리하는 것을 특징으로 하는 분산 캐시 서버.
KR1020180065708A 2018-06-07 2018-06-07 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버 KR102071955B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180065708A KR102071955B1 (ko) 2018-06-07 2018-06-07 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버
US16/012,098 US10701170B2 (en) 2018-06-07 2018-06-19 Multicasting method in distributed cache environment, and distributed cache server using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180065708A KR102071955B1 (ko) 2018-06-07 2018-06-07 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버

Publications (2)

Publication Number Publication Date
KR20190139096A KR20190139096A (ko) 2019-12-17
KR102071955B1 true KR102071955B1 (ko) 2020-03-02

Family

ID=68764426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180065708A KR102071955B1 (ko) 2018-06-07 2018-06-07 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버

Country Status (2)

Country Link
US (1) US10701170B2 (ko)
KR (1) KR102071955B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102502364B1 (ko) * 2020-11-17 2023-02-21 주식회사 카카오뱅크 금융 거래 처리 시스템 및 방법
KR102282699B1 (ko) * 2020-12-24 2021-07-28 쿠팡 주식회사 분산 메시징 시스템을 이용한 데이터 처리 시스템 및 그 정보 처리 방법
CN115102807B (zh) * 2022-05-27 2023-11-28 深圳技术大学 物联网网关数据传输的方法、装置、服务器、客户端及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101564965B1 (ko) * 2015-05-14 2015-11-03 주식회사 티맥스 소프트 분산 서버 환경에서 벡터 클럭을 사용하여 메시지에 상대적인 순서를 부여하고 상기 부여된 상대적인 순서에 따라 메시지를 전달하기 위한 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505253B1 (en) * 1998-06-30 2003-01-07 Sun Microsystems Multiple ACK windows providing congestion control in reliable multicast protocol
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6269085B1 (en) * 2000-02-03 2001-07-31 Sun Microsystems, Inc. Method and apparatus for hierarchical discovery and pruning of slow members of a multicast group
US7586930B2 (en) * 2005-05-10 2009-09-08 Harris Corporation Multicast data communication method and network
KR100773778B1 (ko) * 2006-03-10 2007-11-12 (주)게임어스 멀티캐스트 방식의 분산 서버 제어 방법 및 그 시스템
US9660768B2 (en) * 2015-01-26 2017-05-23 Link Labs, Inc. Dense acknowledgement broadcast/multicast

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101564965B1 (ko) * 2015-05-14 2015-11-03 주식회사 티맥스 소프트 분산 서버 환경에서 벡터 클럭을 사용하여 메시지에 상대적인 순서를 부여하고 상기 부여된 상대적인 순서에 따라 메시지를 전달하기 위한 방법 및 장치

Also Published As

Publication number Publication date
KR20190139096A (ko) 2019-12-17
US20190379758A1 (en) 2019-12-12
US10701170B2 (en) 2020-06-30

Similar Documents

Publication Publication Date Title
US11251911B2 (en) Data transmission method and related device
KR102071955B1 (ko) 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버
KR101533870B1 (ko) 메시지 전송 시스템에서의 메시지 재전송 장치 및 방법
JP2014524092A (ja) 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法
JP5857135B2 (ja) 複数の受信機にメッセージを伝送する装置および方法
US8275905B2 (en) System and method for store-and-forward for highly available message production
US9049015B2 (en) Allowing TCP ACK to pass a gateway while queuing data for parsing
EP2995028B1 (en) Tuple recovery
Dong et al. In-packet network coding for effective packet wash and packet enrichment
US20190370353A1 (en) Change notifications for object storage
US20100235702A1 (en) Transmitter, file distribution system, file distribution control method and file distribution control program in system
CN109120385B (zh) 一种基于数据传输系统的数据传输方法、装置及系统
US20160173235A1 (en) Method for redelivering a subset of messages in a packet to a receiver application
WO2011124167A2 (zh) 编码方法及设备、解码方法及设备、编解码系统
US8370443B2 (en) Reliable messaging using publish subscribe mechanism
US11283719B2 (en) Content addressable memory (CAM) based hardware architecture for datacenter networking
CN108614820B (zh) 实现流式源数据解析的方法和装置
KR102235671B1 (ko) 통신 방법 및 장치
US20180167168A1 (en) Low latency communications
KR101255909B1 (ko) 데이터 로컬리티를 보장하는 하둡 파일 시스템
US9794183B2 (en) Interconnect flow control
KR101151615B1 (ko) Udp기반의 p2p 데이터 전송 방법 및 시스템
JP2015165349A (ja) 一次応答装置、制御方法及びコンピュータプログラム
KR102284874B1 (ko) 메시지 처리 장치 및 방법
KR20160010293A (ko) 컨텐츠 중심 네트워크에서 노드의 통신 방법 및 그 노드

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