KR102130005B1 - 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버 - Google Patents

응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버 Download PDF

Info

Publication number
KR102130005B1
KR102130005B1 KR1020200047009A KR20200047009A KR102130005B1 KR 102130005 B1 KR102130005 B1 KR 102130005B1 KR 1020200047009 A KR1020200047009 A KR 1020200047009A KR 20200047009 A KR20200047009 A KR 20200047009A KR 102130005 B1 KR102130005 B1 KR 102130005B1
Authority
KR
South Korea
Prior art keywords
message
microservice
client
docker container
application
Prior art date
Application number
KR1020200047009A
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 KR1020200047009A priority Critical patent/KR102130005B1/ko
Application granted granted Critical
Publication of KR102130005B1 publication Critical patent/KR102130005B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

일 실시예에 따른 웹 환경에서 서버의 응용프로그램 간 데이터 전송 지원 방법은, 도커 컨테이너 내의 제 1 마이크로서비스가 제 1 사용자 클라이언트의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓을 통하여 수신하는 단계와, 상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하는 단계와, 상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하는 단계와, 상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 2 웹소켓을 통하여 송신하는 단계를 포함한다.

Description

응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버{METHOD AND SERVER FOR SUPPORTING TRANSFER OF DATA BETWEEN APPLICATIONS}
본 발명은 웹 환경에서 응용프로그램 간의 데이터 전송을 지원하는 방법과 이러한 응용프로그램 간 데이터 전송 지원 방법을 수행하는 서버에 관한 것이다.
군용 지휘통제체계의 응용서비스 구축 및 개발은 포괄적으로 개발 및 배포하는 모놀리식(Monolith) 방식이 사용되고 있고, 상황도(COP, Common Operation Picture) 서비스와 메신저 서비스 등과 같이 지휘통제체계에 필수적인 응용프로그램들의 서비스 환경이 상이한 경우가 다반사이다. 예를 들어, 상황도(COP, Common Operational Picture) 응용프로그램은 ActiveX 컨트롤(.ocx 파일)을 사용하고, 메신저의 경우는 클라이언트/서버 기반 클라이언트 응용프로그램을 배포하고 있다.
그런데, 이처럼 지휘통제체계에 필수적인 응용프로그램들의 개발 및 배포 환경이 상이한 경우에는 동적 요구사항에 대한 적시 대응이 제한되는 단점이 있다.
한편, 최근 몇 년 동안 클라우드 기술발전에 따라 민첩한 업무 서비스 지원이 요구되는 응용프로그램 개발 및 서비스 배포에 대한 새로운 기술들이 등장하였다. 즉, 과거 포괄적으로 개발 및 배포하던 모놀리식 방식에서 가상머신을 활용한 분산 어플리케이션으로 발전하였고, 도메인 서비스 단위로 분류한 마이크로서비스 아키텍처(MSA, MicroService Architecture)로 개발 및 배포 환경 기술이 진화하였다. 이로써, 과거에 수일 또는 수주 소요되던 배포주기를 수분 내로 단축할 수 있게 되었다.
따라서, 군용 지휘통제체계 또한 웹 프로그램 기반의 클라우드 컴퓨팅 관련 신기술 적용을 활성화할 필요성이 대두되고 있고, 컨테이너 기반의 마이크로서비스 기술과 모든 지휘통제체계에서 필요한 상황도와 메신저 등의 필수적인 응용프로그램은 웹 환경에서 구동이 요구된다.
한국 공개특허공보 제10-2018-0095155호 (2018.08.27. 공개)
일 실시예에 따르면, 웹 환경에서 마이크로서비스로 구현할 수 있는 상황도 응용프로그램과 메신저 프로그램 등과 같은 필수적인 응용프로그램 간에 유실없이 순차적으로 데이터를 전송할 수 있도록 지원하는 데이터 전송 지원 방법을 제공한다.
또한, 웹 환경에서 마이크로서비스로 구현된 응용프로그램 간의 데이터 전송 지원 방법을 수행할 수 있는 장치를 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
제 1 관점에 따라 웹 환경에서 서버의 응용프로그램 간 데이터 전송 지원 방법은, 도커 컨테이너(Docker Container) 내의 제 1 마이크로서비스(Microservice)가 제 1 사용자 클라이언트(User Client)의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓(Websocket)을 통하여 수신하는 단계와, 상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하는 단계와, 상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하는 단계와, 상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 2 웹소켓을 통하여 송신하는 단계를 포함한다.
제 2 관점에 따라 웹 환경에서 응용프로그램 간 데이터 전송을 지원하는 서버로서, 제 1 사용자 클라이언트 및 제 2 사용자 클라이언트와 통신을 수행하는 통신부와, 상기 통신부를 제어하는 제어부를 포함하고, 상기 제어부는, 도커 컨테이너 내의 제 1 마이크로서비스가 상기 제 1 사용자 클라이언트의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓 및 상기 통신부를 통하여 수신하며, 상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하고, 상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하며, 상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 상기 통신부 및 제 2 웹소켓을 통하여 송신한다.
제 3 관점에 따라 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램이, 프로세서에 의해 실행되면, 도커 컨테이너 내의 제 1 마이크로서비스가 제 1 사용자 클라이언트의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓을 통하여 수신하는 단계와, 상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하는 단계와, 상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하는 단계와, 상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 2 웹소켓을 통하여 송신하는 단계를 포함하는, 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
제 4 관점에 따라 컴퓨터 판독 가능 기록매체에 저장되어 있는 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 도커 컨테이너 내의 제 1 마이크로서비스가 제 1 사용자 클라이언트의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓을 통하여 수신하는 단계와, 상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하는 단계와, 상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하는 단계와, 상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 2 웹소켓을 통하여 송신하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
일 실시예에 따르면, 메신저나 상황도와 같은 특수한 응용프로그램에서 메시지 전송이나 공유를 위해 큐(Queue)에 발간하고 발간된 데이터는 웹브라우저의 특정 웹소켓에서 곧바로 구독을 함으로써, 서버-클라이언트 간 요청을 감소하여 서버의 부하를 줄일 수 있다. 그리고 마이크로서비스 환경에서 큐 방식를 사용할 수 있어 메시지 유실을 방지하고, 클라이언트는 요청시간 및 대기시간이 없어 메시지 연동 시 End-to-End 간 연동 시간을 단축할 수 있다.
이러한 데이터 교환 구조는 클라우드 기반 시스템 구축 시 참조모델로서 기여할 수 있고, 특히 상황도와 메신저를 클라우드 환경에 구축하고 관련된 어플리케이션을 마이크로서비스로 개발할 수 있다.
또한, 지휘통제체계를 컨테이너 기반 마이크로서비스 기술을 활용한 응용프로그램으로 구현 시 서비스 간 데이터 교환방식에 활용될 수 있으며, 이를 국방 지휘통제체계에 적용함으로써 서비스 및 체계 간 상호운용능력을 향상 시킬 수 있고, 클라우드를 위한 통합데이터센터 구축 시 IaaS와 PaaS 서비스 환경에서 적용 가능하다. 구체적으로는 마이크로서비스 응용프로그램 구현 시 서비스 간 문자데이터 전송 및 공유, 순차적인 명령 메시지 데이터 전송 등에 적용 가능하여 클라우드 마이크로서비스 환경으로 전환 이후 데이터 교환 효율성 및 상호운용성 증진의 효과를 제공한다.
도 1은 본 발명의 일 실시예에 따른 서버를 포함하는 통신 네트워크 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 통신 네트워크 시스템에서 서로 다른 사용자 단말에 각각 설치된 사용자 클라이언트 간에 웹소켓 및 도커 컨테이너를 이용하여 메시지를 전송하는 경로를 나타낸 것이다.
도 3은 도 2에 도시된 도커 컨테이너 내부의 데이터 흐름을 나타낸 것이다.
도 4는 도 2에 도시된 사용자 클라이언트로부터 메시지 큐까지의 메시지 전송 과정을 설명하기 위한 흐름도이다.
도 5는 도 2에 도시된 메시지 큐로부터 사용자 클라이언트까지의 메시지 전송 과정을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 '부'라는 용어는 소프트웨어 또는 FPGA나 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 발명의 일 실시예에 따른 서버를 포함하는 통신 네트워크 시스템의 구성도이고, 도 2는 본 발명의 일 실시예에 따른 통신 네트워크 시스템에서 서로 다른 사용자 단말에 각각 설치된 사용자 클라이언트 간에 웹소켓 및 도커 컨테이너를 이용하여 메시지를 전송하는 경로를 나타낸 것이다.
도 1 및 도 2를 참조하여, 일 실시예에 따른 통신 네트워크 시스템(100)의 구성에 대하여 살펴보기로 한다.
통신 네트워크 시스템(100)은 복수의 사용자 단말(110)과 서버(120)가 통신망을 통하여 연결될 수 있다. 각 사용자 단말(110)에는 복수의 응용프로그램 클라이언트(211, 213, 231, 233)를 포함하는 사용자 클라이언트(User Client)(210, 230)가 설치되고, 서버(120)는 복수의 마이크로서비스(Microservice)(221, 223)가 포함된 도커 컨테이너(Docker Container)(220)를 포함한다.
사용자 단말(110)에 설치된 사용자 클라이언트(210, 230)는 복수의 마이크로서비스(221, 223)를 위한 복수의 응용프로그램 클라이언트(211, 213, 231, 233)를 포함한다. 예를 들어, 사용자 클라이언트(210, 230)는 상황도 서비스를 제공하는 상황도 응용프로그램 클라이언트(211, 231)와 메신저 서비스를 제공하는 메신저 응용프로그램 클라이언트(213, 234)를 포함할 수 있다. 이하에서는 설명의 이해를 돕기 위하여, 복수의 사용자 단말(110) 중 제 1 사용자 단말에 설치된 제 1 사용자 클라이언트(210)가 상황도 응용프로그램 클라이언트(211) 및 메신저 응용프로그램 클라이언트(213)를 포함하고, 제 2 사용자 단말에 설치된 제 2 사용자 클라이언트(230) 또한 상황도 응용프로그램 클라이언트(231) 및 메신저 응용프로그램 클라이언트(233)를 포함하는 실시예를 고려하여 설명하기로 한다. 다만, 사용자 클라이언트(210, 230)가 상황도 응용프로그램 클라이언트(211) 및 메신저 응용프로그램 클라이언트(213)을 포함하는 것은 예시에 불과하며, 응용프로그램 클라이언트의 종류 및 개수는 변화될 수 있다.
이러한 사용자 단말(110)의 응용프로그램 클라이언트들(211, 213, 231, 233)은 응용프로그램 클라이언트별 웹소켓(212, 214, 232, 234) 및 서버(220)를 통하여 다른 사용자 단말(110)의 응용프로그램 클라이언트(211, 213, 231, 233)와 데이터 및 메시지를 송신할 수 있다.
서버(120)는 통신부(121) 및 제어부(122)를 포함하고, 저장부(123)를 더 포함할 수 있다.
통신부(121)는 제어부(122)의 제어에 따라 사용자 단말(110)에 설치된 사용자 클라이언트(210, 230)와 통신을 수행한다. 예를 들어, 복수의 사용자 단말(110) 중 제 1 사용자 단말에 설치된 제 1 사용자 클라이언트(210) 및 제 2 사용자 단말에 설치된 제 2 사용자 클라이언트(230)와 통신을 수행할 수 있다.
제어부(122)는 통신부(121)를 제어하여 사용자 단말(110)에 설치된 사용자 클라이언트(210, 230)와 데이터를 송수신한다.
이러한 제어부(122)는 복수의 사용자 단말(110) 중 제 1 사용자 단말에 설치된 제 1 사용자 클라이언트로(210)부터 수신된 메시지를 복수의 사용자 단말(110) 중 제 2 사용자 단말에 설치된 제 2 사용자 클라이언트(230)에게 전송할 수 있다. 예를 들어, 도커 컨테이너(Docker Container)(220) 내의 상황도 마이크로서비스(221)가 제 1 사용자 클라이언트(210)의 상황도 응용프로그램 클라이언트(211)으로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓(212) 및 통신부(121)를 통하여 수신할 수 있다. 그리고, 상황도 마이크로서비스(221)가 제 1 메시지를 도커 컨테이너(220) 내의 메시지 큐(222)로 전송할 수 있다. 그리고, 도커 컨테이너(220) 내의 메신저 마이크로서비스(223)가 메시지 큐(222)로부터 제 1 메시지를 수신할 수 있다. 그리고, 메신저 마이크로서비스(223)가 목적지 정보에 기초하여 제 2 사용자 클라이언트(230)의 메신저 응용프로그램 클라이언트(233)에게 제 1 메시지를 통신부(121) 및 제 2 웹소켓(234)을 통하여 송신할 수 있다. 여기서, 메신저 마이크로서비스(223)가 제 1 메시지의 목적지 정보에 기초하여 제 1 사용자 클라이언트(210)의 메신저 응용프로그램 클라이언트(213)에게 제 1 메시지를 통신부(121) 및 제 3 웹소켓(214)을 통하여 송신할 수 있다.
또한, 제어부(122)는 메신저 마이크로서비스(223)가 메신저 응용프로그램 클라이언트(233)으로부터 좌표정보가 포함된 제 2 메시지를 통신부(121)를 통하여 수신할 수 있고, 메신저 마이크로서비스(223)가 제 2 메시지를 메시지 큐(222)로 전송할 수 있다. 그리고, 상황도 마이크로서비스(221)가 메시지 큐(222)로부터 제 2 메시지를 수신할 수 있고, 상황도 마이크로서비스(221)가 제 2 사용자 클라이언트(230)의 상황도 응용프로그램 클라이언트(231)에게 제 2 메시지를 통신부(121) 및 제 4 웹소켓(232)을 통하여 송신할 수 있다. 예컨대, 제 2 메시지는 좌표정보에 대응하는 상황도를 호출하는 신호를 포함할 수 있다.
도 3은 도 2에 도시된 도커 컨테이너(220) 내부의 데이터 흐름을 나타낸 것이고, 도 4는 도 2에 도시된 사용자 클라이언트(210)로부터 메시지 큐(222)까지의 메시지 전송 과정을 설명하기 위한 흐름도이며, 도 5는 도 2에 도시된 메시지 큐(222)로부터 사용자 클라이언트(230)까지의 메시지 전송 과정을 설명하기 위한 흐름도이다.
이하, 도 1 내지 도 5를 참조하여 일 실시예에 따른 통신 네트워크 시스템에서 서버의 지원에 의하여 사용자 클라이언트 간에 메시지는 전송하는 과정에 대해서 자세히 살펴보기로 한다.
먼저, 사용자 단말에 설치된 사용자 클라이언트(210)의 상황도 응용프로그램 클라이언트(211)는 상황도 상의 좌표정보 및 목적지 정보가 포함된 메시지를 웹소켓(212)을 이용하여 서버(120)로 전송한다(S1).
S1의 처리 과정을 상술하면, 사용자가 상황도 응용프로그램 클라이언트(211)에 의해 제공되는 상황도에서 송신할 좌표정보 입력함과 아울러 전송 목적지 대화방을 선택하면 웹소켓(212)은 roomdata(roomId, userId) 명으로 좌표정보를 메시지로 생성할 수 있다. 그리고, 웹소켓(212)은 sendCoordinate를 이용하여 Websocket Endpoint를 설정 및 등록하여 STOMP를 활성화할 수 있다(401). 이때, 웹소켓(212)은 springframework의 MessageBrokerRegistry를 이용하여 서버(120)의 큐 컨트롤러()에서 상황도 응용프로그램 클라이언트(211)로부터 메시지를 받을 접두사(ex: "/app")로 구성한 setApplicationDestinationPrefixes를 설정할 수 있다(402).
그리고, 웹소켓(212)은 설정된 addEndpoint로 구성된 websocket Connection을 연결할 수 있다(403). 예를 들어, 웹서비스 프로토콜 기반으로 기존 단방향의 HTTP 프로토콜과 호환되어, 상황도 응용프로그램 클라이언트(210)와 서버(120) 사이에 지속적인 전이중 통신(Full-Duplex) 연결 스트림을 만들어 준다. 이때 텍스트 지향 메시징 프로토콜인 STOMP를 이용하여 웹소켓(212)과 상호작용하여 메시지 큐(222)의 송신 topic으로 발간(publish)할 수 있다.
그리고, 웹소켓(212)의 sendCoordinate는 서버(120) 내 도커 컨테이너(200)에 포함된 상황도 마이크로서비스(221)의 큐 컨트롤러(QueueController)(301)로 전송할 메시지를 조회하고(404), 메시지 객체(sendData)가 존재할 경우에 좌표정보에 기초하여 큐 컨트롤러(301)로 전송하기 위한 경로를 할당한 후, 할당된 큐 컨트롤러(301)로 해당 메시지를 전송하고 그 처리결과를 반환한다(405, 405). 여기서, 좌표정보가 유효하지 않으면 전송 처리 결과를 실패한 경우로서 종료할 수 있다(405, 406).
S1의 처리 과정에 연계하여, 서버(120)측에서는 도커 컨테이너(220) 내의 상황도 마이크로서비스(221)가 상황도 응용프로그램 클라이언트(211)으로부터 좌표정보 및 목적지 정보가 포함된 메시지를 제 1 웹소켓(212) 및 통신부(121)를 통하여 수신하고, 상황도 마이크로서비스(221)가 수신된 메시지를 도커 컨테이너(220) 내의 메시지 큐(222)로 전송한다(S2).
S2의 처리 과정을 상술하면, 상황도 마이크로서비스(221)의 큐 컨트롤러(301)는 springframework에서 제공하는 메시지 큐(222)로 전송처리 Template인 큐 센더(QueueSender)(302)를 설정하고(408), 메시지를 저장할 메시지 큐(222)의 Topic을 설정하며(409), 상황도 응용프로그램 클라이언트(211)가 전송한 경로와 큐 컨트롤러(301)의 Method(="sendMessage")를 맵핑(Mapping)한다(410). 여기서, 웹소켓(212)에서 설정한 setApplicationDestinationPrefixes(="/app") 와 MessageMapping의 경로(="/message")가 합쳐진 값(="/app/message")은 configureMessageBroker에 의해 메시지 큐(222)에 맵핑된다(410). 수신된 메시지를 메시지 큐(222)로 전송 요청을 위해 springframework에서 제공하는 전송처리 Template인 큐 센더(302)를 설정하고 전송 요청하고(411), 큐 센더(302)는 pringframework에서 제공하는 전송처리 Template인 QueueTemplate을 이용하여 메시지 큐(221)로 전송한다(412).
여기서, 도커 컨테이너(220)의 메시지 큐(222)는 MessageMapping 된 메시지를 수신하여 producer(구현체: QueueTemplate)를 이용하여 메시지 큐(222)의 topic에 저장한다. 메시지 큐(222)는 발행-구독(pub-sub) 모델을 기반으로 동작하며, producer consumer, broker로 구성된다. 메시지 큐(222)는 topic을 기준으로 메시지를 관리하며, producer는 해당 topic에 메시지를 생성하고 broker에 전달한다. Broker가 메시지를 topic 별로 분류하여 쌓아 놓으면, 해당 topic을 구독하는 consumer들이 메시지를 가져간다.
다음으로, 도커 컨테이너(220) 내의 메신저 마이크로서비스(223)가 메시지 큐(222)로부터 메시지를 수신할 수 있다(S3).
S3의 처리 과정을 상술하면, 메신저 마이크로 서비스(223)의 큐 리시버(Queue Receiver)(223)는 메시지를 수신할 Target Topic 정보를 담은 QueueListner를 설정하고(501), 메시지 큐(222)로부터 메시지를 수신한다(502).
그리고, 메신저 마이크로서비스(223)가 목적지 정보에 기초하여 사용자 클라이언트(230)의 메신저 응용프로그램 클라이언트(233)에게 메시지를 통신부(121) 및 웹소켓(234)을 통하여 송신할 수 있다(S4-1).
S4-1의 처리 과정을 상술하면, 메신저 마이크로서비스(223)의 큐 리시버(303)는 수신 메시지로부터 세부정보 추출하고 수신한 메시지를 json에서 String으로 변환 추출한다(503). 그리고, 웹소켓(234)에서 구독(Subscribe)을 위한 매핑 키워드 주소를 할당하며(504), Websocket Subscribe 매핑 키워드 주소로 등록한 메신저 클라이언트(233)로 메시지를 전송한다(505).
아울러, 메신저 마이크로서비스(223)가 메시지의 목적지 정보에 기초하여 사용자 클라이언트(210)의 메신저 응용프로그램 클라이언트(213)에게 메시지를 통신부(121) 및 웹소켓(214)을 통하여 송신할 수 있다(S4-2).
다음으로, 웹소켓(214)은 메신저 마이크로서비스(223)로부터 송신되는 메시지를 사용자 클라이언트(230) 내 메신저 응용프로그램 클라이언트(233)에게 전달한다. 여기서, 웹소켓(234)는 메신저 응용프로그램 클라이언트(233)가 구독할 Websocket Subscribe를 등록하여 메신저 마이크로서비스(223)로부터 메시지를 수신 처리한다. 그리고, 웹소켓(234)는 springframework의 StompEndpointRegistry를 이용하여 접두사(ex: "/websocket") 값으로 Websocket Endpoint를 설정 및 등록하여 STOMP를 활성화한다(506). 그리고, 설정된 addEndpoint로 구성된 websocket Connection 연결하고(507), springframework의 MessageBrokerRegistry를 이용하여 접두사(ex: "/topic")로 구성한 경로를 subscribe하는 메신저 응용프로그램 클라이언트(233)에게 메시지를 전달하는 작업을 하는 SimpleBroker를 설정한다(508). 그리고, Websocket Subscribe 등록을 위한 구독등록정보(RoomId, MessageType) 조회하고(509), 구동 등록 정보(SubscribeInfo)가 유효(Not Null)한 경우에 Websocket Subscribe 등록 URL 구성을 위한 세부정보 추출 및 할당하며(512). 여기서, 구독 등록 정보가 무효(Null)인 경우에 수신 메시지가 없는 경우로서 미 동작 처리할 수 있다.
다음으로, 수신 메시지를 구독할 메신저 응용프로그램 클라이언트(233)에서 Websocket Subscribe 등록하고(513), 웹소켓(234)으로부터 메시지를 수신한 후(514), 수신 메시지를 메신저 화면(예컨대, 채팅창)에 출력한다(515).
한편, 사용자 클라이언트(230)의 사용자는 메신저 화면에 표시된 좌표를 확인한 후 해당 좌표정보를 클릭하여 상황도를 호출할 수 있고, 이렇게 좌표정보에 대응하는 상황도를 호출하는 신호를 포함하는 메시지는 S5, S6, S7 및 S8의 메시지 처리 흐름에 따라 사용자 클라이언트(230)의 상황도 응용프로그램 클라이언트(231)에 전송된다. 이를 위해, 메신저 마이크로서비스(223)가 메신저 응용프로그램 클라이언트(233)으로부터 좌표정보가 포함된 메시지를 통신부(121)를 통하여 수신하고, 메신저 마이크로서비스(223)가 메시지를 메시지 큐(222)로 전송한다. 예를 들어. 메신저 마이크로서비스(223)는 상황도 호출을 위해 roomdata(roomId)명으로 좌표정보를 message에 담아 메시지 큐(222)의 송신 topic으로 발간(publish)할 수 있다. 메시지 큐(222)에서는 topic에 전달된 메시지를 broker가 분류한 뒤 consumer들이 메시지를 가져갈 수 있다.
그리고, 상황도 마이크로서비스(221)가 메시지 큐(222)로부터 제 2 메시지를 수신할 수 있고, 상황도 마이크로서비스(221)가 제 2 사용자 클라이언트(230)의 상황도 응용프로그램 클라이언트(231)에게 제 2 메시지를 통신부(121) 및 웹소켓(232)을 통하여 송신할 수 있다. 예를 들어, 상황도 마이크로서비스(221)는 메신저 마이크로서비스(223)가 전송한 topic으로 구독(subscribe)을 등록한다. 이때. 구독명칭은 websocket의 구독(subscribe)명으로 등록할 수 있다. 상황도 마이크로서비스(221)는 websocket server를 구축하고, 메시지 큐(222)의 topic을 구독하는 consumer를 이용하여 메시지를 가져와 웹소켓(232)으로 전달할 수 있다. 웹소켓(232)으로의 전달을 위해 상황도 마이크로서비스(221) 기동 시 생성된 대화방의 userId 명으로 구현체(QueueListener)에 websocket용 구독(subscribe)을 등록할 수 있다. STOMP와 웹소켓(232) 간 상호작용으로 사용자 클라이언트(230)의 상황도 응용프로그램 클라이언트(231)에 메시지가 전달되고, 상황도 응용프로그램 클라이언트(231)는 좌표정보에 대응하는 상황도를 표시하여 제공할 수 있다.
한편, 전술한 일 실시예에 따른 웹 환경에서 서버의 응용프로그램 간 데이터 전송 지원 방법에 포함된 각각의 단계는, 이러한 단계를 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 프로그램을 기록하는 컴퓨터 판독가능한 기록매체에서 구현될 수 있다.
또한, 전술한 일 실시예에 따른 웹 환경에서 서버의 응용프로그램 간 데이터 전송 지원 방법에 포함된 각각의 단계는, 이러한 단계를 수행하도록 위한 명령어를 포함하도록 프로그램된, 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램의 형태로 구현될 수 있다.
지금까지 설명한 바와 같이, 메신저나 상황도와 같은 특수한 응용프로그램에서 메시지 전송이나 공유를 위해 큐(Queue)에 발간하고 발간된 데이터는 웹브라우저의 특정 웹소켓에서 곧바로 구독을 함으로써, 서버-클라이언트 간 요청을 감소하여 서버의 부하를 줄일 수 있다. 그리고 마이크로서비스 환경에서 큐 방식를 사용할 수 있어 메시지 유실을 방지하고, 클라이언트는 요청시간 및 대기시간이 없어 메시지 연동 시 End-to-End 간 연동 시간을 단축할 수 있다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 통신 네트워크 시스템
110: 사용자 단말
120: 서버

Claims (12)

  1. 웹 환경에서 서버의 응용프로그램 간 데이터 전송 지원 방법으로서,
    도커 컨테이너(Docker Container) 내의 제 1 마이크로서비스(Microservice)가 제 1 사용자 클라이언트(User Client)의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓(Websocket)을 통하여 수신하는 단계와,
    상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하는 단계와,
    상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하는 단계와,
    상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 2 웹소켓을 통하여 송신하는 단계를 포함하는
    데이터 전송 지원 방법.
  2. 제 1 항에 있어서,
    상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 상기 제 1 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 3 웹소켓을 통하여 송신하는 단계를 더 포함하는
    데이터 전송 지원 방법.
  3. 제 1 항에 있어서,
    상기 제 2 마이크로서비스가 상기 제 2 응용프로그램 클라이언트로부터 상기 좌표정보가 포함된 제 2 메시지를 수신하는 단계와,
    상기 제 2 마이크로서비스가 상기 제 2 메시지를 상기 메시지 큐로 전송하는 단계와,
    상기 제 1 마이크로서비스가 상기 메시지 큐로부터 상기 제 2 메시지를 수신하는 단계와,
    상기 제 1 마이크로서비스가 상기 제 2 사용자 클라이언트의 제 1 응용프로그램 클라이언트에게 상기 제 2 메시지를 제 4 웹소켓을 통하여 송신하는 단계를 포함하는
    데이터 전송 지원 방법.
  4. 제 3 항에 있어서,
    상기 제 1 마이크로서비스 및 상기 제 1 응용프로그램 클라이언트는 상황도 서비스를 제공하고, 상기 제 2 마이크로서비스 및 상기 제 2 응용프로그램 클라이언트는 메신저 서비스를 제공하는
    데이터 전송 지원 방법.
  5. 제 4 항에 있어서,
    상기 제 2 메시지는 상기 좌표정보에 대응하는 상황도를 호출하는 신호를 포함하는
    데이터 전송 지원 방법.
  6. 웹 환경에서 응용프로그램 간 데이터 전송을 지원하는 서버로서,
    제 1 사용자 클라이언트 및 제 2 사용자 클라이언트와 통신을 수행하는 통신부와,
    상기 통신부를 제어하는 제어부를 포함하고,
    상기 제어부는,
    도커 컨테이너(Docker Container) 내의 제 1 마이크로서비스가 상기 제 1 사용자 클라이언트의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓 및 상기 통신부를 통하여 수신하며,
    상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하고,
    상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하며,
    상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 상기 통신부 및 제 2 웹소켓을 통하여 송신하는
    서버.
  7. 제 6 항에 있어서,
    상기 제어부는,
    상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 상기 제 1 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 상기 통신부 및 제 3 웹소켓을 통하여 송신하는
    서버.
  8. 제 6 항에 있어서,
    상기 제어부는,
    상기 제 2 마이크로서비스가 상기 제 2 응용프로그램 클라이언트로부터 상기 좌표정보가 포함된 제 2 메시지를 상기 통신부를 통하여 수신하고,
    상기 제 2 마이크로서비스가 상기 제 2 메시지를 상기 메시지 큐로 전송하며,
    상기 제 1 마이크로서비스가 상기 메시지 큐로부터 상기 제 2 메시지를 수신하고,
    상기 제 1 마이크로서비스가 상기 제 2 사용자 클라이언트의 제 1 응용프로그램 클라이언트에게 상기 제 2 메시지를 상기 통신부 및 제 4 웹소켓을 통하여 송신하는
    서버.
  9. 제 8 항에 있어서,
    상기 제 1 마이크로서비스 및 상기 제 1 응용프로그램 클라이언트는 상황도 서비스를 제공하고, 상기 제 2 마이크로서비스 및 상기 제 2 응용프로그램 클라이언트는 메신저 서비스를 제공하는
    서버.
  10. 제 9 항에 있어서,
    상기 제 2 메시지는 상기 좌표정보에 대응하는 상황도를 호출하는 신호를 포함하는
    서버.
  11. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    도커 컨테이너(Docker Container) 내의 제 1 마이크로서비스가 제 1 사용자 클라이언트의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓을 통하여 수신하는 단계와, 상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하는 단계와, 상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하는 단계와, 상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 2 웹소켓을 통하여 송신하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 기록매체.
  12. 컴퓨터 판독 가능 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    도커 컨테이너(Docker Container) 내의 제 1 마이크로서비스가 제 1 사용자 클라이언트의 제 1 응용프로그램 클라이언트로부터 좌표정보 및 목적지 정보가 포함된 제 1 메시지를 제 1 웹소켓을 통하여 수신하는 단계와, 상기 제 1 마이크로서비스가 상기 제 1 메시지를 상기 도커 컨테이너 내의 메시지 큐로 전송하는 단계와, 상기 도커 컨테이너 내의 제 2 마이크로서비스가 상기 메시지 큐로부터 상기 제 1 메시지를 수신하는 단계와, 상기 제 2 마이크로서비스가 상기 목적지 정보에 기초하여 제 2 사용자 클라이언트의 제 2 응용프로그램 클라이언트에게 상기 제 1 메시지를 제 2 웹소켓을 통하여 송신하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 프로그램.
KR1020200047009A 2020-04-17 2020-04-17 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버 KR102130005B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200047009A KR102130005B1 (ko) 2020-04-17 2020-04-17 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200047009A KR102130005B1 (ko) 2020-04-17 2020-04-17 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버

Publications (1)

Publication Number Publication Date
KR102130005B1 true KR102130005B1 (ko) 2020-07-03

Family

ID=71571831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200047009A KR102130005B1 (ko) 2020-04-17 2020-04-17 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버

Country Status (1)

Country Link
KR (1) KR102130005B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367328A (zh) * 2020-11-13 2021-02-12 四川长虹电器股份有限公司 基于websocket进入Kubernetes集群容器的方法
CN113965628A (zh) * 2020-12-03 2022-01-21 广州三叠纪元智能科技有限公司 消息调度方法、服务器和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007018A (ja) * 2000-06-23 2002-01-11 Toshiba Corp 状況表示システム
KR20020015453A (ko) * 2000-08-22 2002-02-28 서평원 네트워크 상에서의 프로그램간 데이터 통신 방법
KR100566238B1 (ko) * 1999-12-16 2006-03-29 주식회사 케이티 복수개의 클라이언트 프로세스와 복수개의 서버프로세스간 tcp/ip 소켓 통신처리 방법
JP2016502806A (ja) * 2012-11-20 2016-01-28 ドロップボックス, インコーポレイテッド メッセージクライアントにサービスを提供するシステム及び方法
KR20180095155A (ko) 2017-02-16 2018-08-27 고려대학교 산학협력단 웹소켓 서버의 오리진 관리 시스템 및 방법
KR20190078450A (ko) * 2017-12-26 2019-07-04 숭실대학교산학협력단 마이크로서비스 기반의 디지털 사이니지 시스템 및 그 제어 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100566238B1 (ko) * 1999-12-16 2006-03-29 주식회사 케이티 복수개의 클라이언트 프로세스와 복수개의 서버프로세스간 tcp/ip 소켓 통신처리 방법
JP2002007018A (ja) * 2000-06-23 2002-01-11 Toshiba Corp 状況表示システム
KR20020015453A (ko) * 2000-08-22 2002-02-28 서평원 네트워크 상에서의 프로그램간 데이터 통신 방법
JP2016502806A (ja) * 2012-11-20 2016-01-28 ドロップボックス, インコーポレイテッド メッセージクライアントにサービスを提供するシステム及び方法
KR20180095155A (ko) 2017-02-16 2018-08-27 고려대학교 산학협력단 웹소켓 서버의 오리진 관리 시스템 및 방법
KR20190078450A (ko) * 2017-12-26 2019-07-04 숭실대학교산학협력단 마이크로서비스 기반의 디지털 사이니지 시스템 및 그 제어 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367328A (zh) * 2020-11-13 2021-02-12 四川长虹电器股份有限公司 基于websocket进入Kubernetes集群容器的方法
CN113965628A (zh) * 2020-12-03 2022-01-21 广州三叠纪元智能科技有限公司 消息调度方法、服务器和存储介质

Similar Documents

Publication Publication Date Title
EP2854376B1 (en) Transmission method, device and system for media stream
US8606859B2 (en) Method and system to communicate messages in a computer network
CN107040416B (zh) 一种基于Cairngorm框架的虚拟数据中心可视化管理方法
US10365941B2 (en) Systems and methods for providing availability to resources
KR102130005B1 (ko) 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버
US11221981B2 (en) Asynchronous channel based bus architecture enabling decoupled services
US20200404031A1 (en) System and method for providing a media communication conversation service
CN103312528B (zh) 一种心跳消息发送方法及用户终端
CN109327513B (zh) 交互方法、装置及计算机可读存储介质
CN110612716B (zh) 数据消息网络路由的中间设备
US10133696B1 (en) Bridge, an asynchronous channel based bus, and a message broker to provide asynchronous communication
WO2013078062A1 (en) Creating and managing virtual areas
US7577705B2 (en) Extensible communication controls
KR101157039B1 (ko) Ddsb 통신 시스템 및 방법
US10740273B2 (en) Schema to ensure payload validity for communications on an asynchronous channel based bus
US10579577B2 (en) Bridge and asynchronous channel based bus to provide UI-to-UI asynchronous communication
CN112235749B (zh) 组队出行方法及相关设备
CN115437810A (zh) 渲染任务处理方法、装置、设备和介质
US9112870B1 (en) Processing device having session component with integrated support for message queuing protocol
CN112532534A (zh) 一种数据传输方法、装置以及计算机可读存储介质
CN114189488B (zh) 一种消息共享方法及服务器
US20230171830A1 (en) Apparatus and method for configuring data communication between robot components in different networks
CN116760704A (zh) 算力网络状态更新方法、装置、设备及存储介质
CN115296952A (zh) 一种设备调度方法、装置、设备及存储介质
CN107819734A (zh) 一种基于网络套接字的程序间通讯方法及通讯系统

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant