KR102345473B1 - 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치 - Google Patents

사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치 Download PDF

Info

Publication number
KR102345473B1
KR102345473B1 KR1020200164141A KR20200164141A KR102345473B1 KR 102345473 B1 KR102345473 B1 KR 102345473B1 KR 1020200164141 A KR1020200164141 A KR 1020200164141A KR 20200164141 A KR20200164141 A KR 20200164141A KR 102345473 B1 KR102345473 B1 KR 102345473B1
Authority
KR
South Korea
Prior art keywords
proxy
client
protocol
quic
service
Prior art date
Application number
KR1020200164141A
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 KR1020200164141A priority Critical patent/KR102345473B1/ko
Application granted granted Critical
Publication of KR102345473B1 publication Critical patent/KR102345473B1/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/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)

Abstract

사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치를 개시한다. QUIC-Proxy를 이용한 데이터 전달 방법은 제1 프록시 및 제2 프록시를 포함하는 네트워크의 상기 제1 프록시가, 상기 클라이언트로부터 스트림 생성 요청을 수신하는 단계와, 상기 제1 프록시가, 상기 스트림 생성 요청에 포함된 정보에 기초하여 상기 제2 프록시와의 QUIC Connection을 확인하는 단계와, 상기 제1 프록시가, 상기 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 상기 클라이언트로 전달하는 단계 및 상기 제1 프록시가 상기 클라이언트로부터 서비스 요청을 수신하면, 상기 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달하는 단계를 포함한다.

Description

사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치{METHOD AND APPARATUS FOR DATA TRANSMISSION USING QUIC-PROXY TO PROVIDE INTERNET OF THINGS SERVICE}
본 발명은 사물 인터넷 서비스를 제공하기 위한 데이터 전달 방법 및 장치에 관한 것으로서, QUIC-Proxy를 이용한 데이터 전달 방법 및 장치에 관한 것이다.
최근 다양한 사물인터넷 및 모바일 인터넷 서비스가 급격히 증가함에 따라 인터넷 트래픽을 더욱 빠르고 효율적으로 전송하기 위한 기술 개발의 중요성이 커지고 있다.
사물 인터넷의 대표 프로토콜인 CoAP(Constrained Application Protocol)는 TCP, UDP 모두를 수송 프로토콜로 사용할 수 있다.
기존의 수송 프로토콜의 문제를 해결하기 위하여 UDP를 기반으로 작동하는 차세대 수송 프로토콜인 QUIC(Quick UDP Internet Connection)이 개발되었다. 그러나, QUIC 프로토콜은 아직까지 웹 서비스 영역에서 활발히 사용되고 있을 뿐, 개방형 사물 인터넷은 QUIC를 지원하지 않고 있다.
따라서, 스트리밍 또는 사물 인터넷 서비스와 같이 서비스 제공 중에 연결이 지속되어야 하는 서비스 제공을 위한 데이터 전달 방법 및 장치가 요구된다.
선행문헌1: 미국특허 US10187312B2(Communication protocol for multiplexing data streams over UDP, 등록일자: 2019.07.22) 선행문헌2: 미국특허 US 10791485(Systems and methods for quick user datagram protocol internet connection (QUIC) with multipath, 등록일자: 2020.09.29) 선행문헌3: 한국공개특허 10-2019-0109237(하드웨어 오프로드들을 이용한 가속화된 QUIC 패킷 프로세싱을 위한 기술들, 공개일자: 2019.09.25)
본 발명의 실시예는 사물인터넷 및 스트리밍 서비스와 같이 클라이언트와 서버 사이의 연결이 지속되면서 제공되는 서비스의 효율성 증대를 위한 방법 및 장치를 제공하고자 한다.
또한, 본 발명의 실시예는 기존 수송 프로토콜의 문제를 해결하기 위해 도입된 QUIC 프로토콜을 사물인터넷 및 스트리밍 서비스에 도입하기 위한 방법 및 장치를 제공하고자 한다.
또한, 본 발명의 실시예는 웹 서비스에 국한된 QUIC 프로토콜의 손쉬운 도입을 위한 통신 규격을 제공하고자 한다.
본 발명의 실시예에 따른 QUIC-Proxy를 이용한 데이터 전달 방법은 제1 프록시 및 제2 프록시를 포함하는 네트워크의 상기 제1 프록시가, 상기 클라이언트로부터 스트림 생성 요청을 수신하는 단계와, 상기 제1 프록시가, 상기 스트림 생성 요청에 포함된 정보에 기초하여 상기 제2 프록시와의 QUIC Connection을 확인하는 단계와, 상기 제1 프록시가, 상기 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 상기 클라이언트로 전달하는 단계 및 상기 제1 프록시가 상기 클라이언트로부터 서비스 요청을 수신하면, 상기 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달하는 단계를 포함한다.
상기 제2 프록시와의 QUIC Connection을 확인하는 단계는, 상기 스트림 생성 요청에 포함된 목적지 주소에 대응하는 NQUIC-Proxy와의 사전 연결 여부를 확인하는 단계 및 상기 NQUIC-Proxy와의 사전 연결이 있는 경우, 스트림을 설립하고 설립한 스트림을 식별하기 위한 쿠키 값을 생성하는 단계를 포함할 수 있다.
상기 NQUIC-Proxy와의 사전 연결이 없는 경우 상기 NQUIC-Proxy와 QUIC Connection을 설립한 후 상기 스트림을 설립하고, 설립한 스트림을 식별하기 위한 쿠키 값을 생성할 수 있다.
상기 클라이언트는 서비스 서버와 연결 지속의 필요성이 있는 경우 서비스 서버로 NQUIC-Proxy에 대한 정보 및 억세스 토큰(Access Token)을 요청하고, 상기 서비스 서버는 상기 제2 프록시와 Access Token을 교환하고 상기 제2 프록시에 대한 정보 및 상기 억세스 토큰을 상기 클라이언트로 전달할 수 있고, 상기 스트림 생성 요청은 상기 서비스 서버로부터 수신한 상기 제2 프록시에 대한 정보 및 상기 억세스 토큰에 대한 정보를 포함할 수 있다.
상기 클라이언트와 상기 제1 프록시는 UDP(User Datagram Protocol) 기반의 CoAP(Constrained Application Protocol)을 사용하고, 상기 제2 프록시와 서비스 서버는 TCP 기반의 CoAP를 사용하여 통신을 수행할 수 있다.
상기 제1 프록시는 상기 클라이언트로부터 서비스 요청 메시지를 수신하면 서비스 요청 메시지를 QUIC 패킷으로 변환하여 상기 제2 프록시로 전달하고, 상기 서비스 요청 메시지에 대한 응답메시지를 상기 제2 프록시로부터 수신하면 상기 응답 메시지를 상기 클라이언트에서 사용하는 프로토콜로 변환하여 상기 클라이언트로 전달할 수 있다.
상기 제1 프록시 또는 제2 프록시는, 사용하는 프로토콜의 버전 정보를 기록하는 버전(Version) 필드와, QUIC 메시지로 변환되기 전의 프로토콜을 나타내는 프로토콜 필드와, 요청 및 응답의 쌍을 표현하는 넌스(Nonce) 값을 나타내는 토큰 필드와, 메시지 전체 길이를 나타내는 랭스(Length) 필드 및 변환 전의 프로토콜 메시지를 원형 그대로 포함하는 페이로드(payload) 필드를 포함하는 헤더 포맷을 이용하여 상기 클라이언트 또는 서비스 서버에서 사용하는 메시지를 QUIC 메시지로 변환할 수 있다.
상기 토큰 필드 및 랭스 필드의 첫 2비트는 각 필드의 길이에 대한 정보를 나타낼 수 있다.
일 실시예에 따른 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 시스템은 클라이언트로부터 스트림 생성 요청을 수신하고, 상기 스트림 생성 요청에 포함된 정보에 기초하여 제2 프록시와의 QUIC Connection을 확인하고, 상기 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 상기 클라이언트로 전달하고, 상기 클라이언트로부터 서비스 요청을 수신하면 상기 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달하는 제1 프록시 및 서비스 서버와 Access Token을 교환하고 상기 제1 프록시로부터 수신한 서비스 요청을 상기 서비스 서버로 전달하고, 상기 서비스 서버로부터 수신한 서비스 응답을 상기 제1 프록시로 전달하는 제2 프록시를 포함한다.
상기 제1 프록시 및 제2 프록시는 상기 클라이언트 또는 상기 서비스 서버로부터 서비스 관련 메시지를 수신하면, 서비스 관련 메시지를 QUIC 프로토콜로 변환할 수 있다.
QUIC-Proxy를 이용한 데이터 전달 장치는 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 장치는 클라이언트 또는 서버측 프록시와 통신을 수행하는 통신부와, 상기 클라이언트로부터 수신한 메시지를 QUIC(Quick UDP Internet Connection) 메시지로 변환하기 위한 프로토콜의 헤더를 생성하는 헤더 생성부와, 상기 헤더를 이용하여 상기 클라이언트로부터 수신한 서비스 관련 메시지를 QUIC 프로토콜로 변환하고, 상기 서버측 프록시로부터 수신된 메시지를 상기 클라이언트에서 사용하는 프로토콜로 변환하는 프로토콜 변환부 및 상기 클라이언트로부터 스트림 생성 요청을 수신하면 상기 스트림 생성 요청에 포함된 정보에 기초하여 상기 서버측 프록시와의 QUIC Connection을 확인하고, 상기 서버측 프록시와 설립한 대한 쿠키 정보를 상기 클라이언트로 전달하도록 상기 통신부를 제어하고, 상기 클라이언트로부터 서비스 요청을 수신하면 상기 서버측 프록시로 상기 서비스 요청을 전달하도록 상기 통신부 및 상기 프로토콜 변환부를 제어하는 제어부를 포함한다.
일 실시예에 따른 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 장치는 서비스 서버 또는 클라이언트측 프록시와 통신을 수행하는 통신부와, 상기 서비스 서버로부터 수신한 메시지를 QUIC(Quick UDP Internet Connection) 메시지로 변환하기 위한 프로토콜의 헤더를 생성하는 헤더 생성부와, 상기 헤더를 이용하여 상기 서비스 서버로부터 수신한 서비스 관련 메시지를 QUIC 프로토콜로 변환하고, 상기 클라이언트측 프록시로부터 수신된 메시지를 상기 서비스 서버에서 사용하는 프로토콜로 변환하는 프로토콜 변환부와, 상기 서비스 서버의 요청에 따라 억세스 토큰을 생성하고, 상기 서비스 서버와 억세스 토큰을 교환하는 억세스 토큰 관리부 및 상기 클라이언트측 프록시와 QUIC Connection 및 스트림을 설립하고, 상기 클라이언트측 프록시로부터 서비스 요청을 수신하거나 상기 서비스 서버로부터 서비스 응답을 수신하면 메시지 변환 및 메시지 전달을 수행하도록 상기 프로토콜 변환부 및 상기 통신부를 제어하는 제어부를 포함한다.
본 발명의 실시예에 따르면, 기존의 TCP 또는 UDP 기반 통신이 가지는 문제를 해결하기 위해 개발된 QUIC 프로토콜을 사물 인터넷과 같은 커넥티드 서비스에 적용할 수 있다.
본 발명의 실시예에 따르면, 기존 시스템의 큰 수정 없이 QUIC 프로토콜을 용이하게 서비스에 적용함으로써, QUIC 프로토콜의 장점을 활용할 수 있다.
또한, 서비스 사용을 위한 단말 노드들이 각자 서비스 서버와 연결을 맺고 서비스를 사용하는 종래 기술과 달리, 프록시 사이에만 연결이 유지되고 단말 노드들은 연결을 유지할 필요가 없어지기 때문에 연결 유지를 위한 오버헤드를 큰 폭을 줄일 수 있다.
도 1은 종래기술에 따른 사물 인터넷 서비스의 통신 구조를 설명하기 위한도면이다.
도 2는 본 발명의 일 실시예에 따른 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 시스템의 개념을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 QUIC-Proxy를 이용한 데이터 전달 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 제1 프록시 및 제2 프록시의 구성 및 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 메시지 변환을 위해 사용되는 헤더 포맷을 나타낸다.
도 6은 도 5에 도시된 Token 필드 및 Length 필드의 구조를 나타내는 도면이다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 사용되는 "실시예", "예", "측면", "예시" 등은 기술된 임의의 양상(aspect) 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되어야 하는 것은 아니다.
또한, '또는' 이라는 용어는 배타적 논리합 'exclusive or' 이기보다는 포함적인 논리합 'inclusive or' 를 의미한다. 즉, 달리 언급되지 않는 한 또는 문맥으로부터 명확하지 않는 한, 'x가 a 또는 b를 이용한다' 라는 표현은 포함적인 자연 순열들(natural inclusive permutations) 중 어느 하나를 의미한다.
또한, 본 명세서 및 청구항들에서 사용되는 단수 표현("a" 또는 "an")은, 달리 언급하지 않는 한 또는 단수 형태에 관한 것이라고 문맥으로부터 명확하지 않는 한, 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
또한, 본 명세서 및 청구항들에서 사용되는 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
한편, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 종래기술에 따른 사물 인터넷 서비스의 통신 구조를 설명하기 위한도면이다.
사물인터넷 대표 프로토콜 CoAP은 TCP, UDP 모두를 수송 프로토콜로 사용할 수 있다. UDP 및 TCP 기반 CoAP은 각각 단점을 가진다. UDP 기반 CoAP은 TCP의 단점을 가지지 않으며, TCP 보다 가볍지만, TCP의 sequence number와 같은 재정렬을 위한 필드를 포함하지 않으며, 에러 발생 시 timeout에 의한 재전송 기반 에러 처리만을 지원한다. 이러한 특징으로 빠른 재전송 또는 재정렬 기능을 필요로하는 스트리밍 서비스에서 좋지 않은 성능을 보여준다.
또한 TCP 기반 CoAP은 TCP의 단점을 그대로 상속한다. 이러한 단점들을 극복하기 위해 일반적인 사물인터넷 플랫폼 및 서비스들은 TCP와 UDP를 함께 사용하여 성능을 높인다.
UDP 기반 CoAP은 주로 센서에서 주위의 Proxy 또는 Gateway 사이 통신에 주로 사용되며, Gateway와 Server 사이의 통신에는 TCP 기반 CoAP이 주로 사용된다.
기존 수송 프로토콜이 가지는 문제를 해결하기 위해 QUIIC 프로토콜이 개발되었다.
QUIIC 프로토콜은 TCP가 가지는 단점을 상속하지 않으며, TCP가 제공하는 강력한 기능을 제공한다. 그러나, 아직까지 QUIC 프로토콜은 웹 서비스에서 활발히 사용되고 있을 뿐 개방형 사물인터넷 플랫폼은 QUIIC 프로토콜을 지원하지 않고 있다.
도 2는 본 발명의 일 실시예에 따른 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 시스템의 개념을 설명하기 위한 도면이다.
도 2를 참조하면, 시스템은 클라이언트측(210)에 구비되는 제1 프록시(220) 및 서비스 서버(240) 사이드에 구비되는 제2 프록시(230)를 포함한다.
본 명세서에서 '제1 프록시'는 'SQUIC-Proxy', '제1 프록시 서버' 또는 '클라이언트측 프록시'로 칭해질 수 있다. 또한, '제2 프록시'는 'NQUIC-Proxy', '제2 프록시 서버', 또는 '서버측 프록시'로 칭해질 수 있다.
제1 프록시(220)는 클라이언트 사이드에 구비되는 프록시 서버일 수 있다.
제1 프록시(220)는 클라이언트와 제2 프록시(230)을 이어주는 기능을 수행한다. 따라서, 제1 프록시(220)는 클라이언트와의 연결(Connection)과 제2 프록시(230)와의 스트림을 대응시켜서 관리하는 역할을 담당한다.
제1 프록시(220)는 클라이언트로부터 수신한 메시지를 QUIC 프로토콜 패킷을 변환하고, 변환된 패킷을 제2 프록시(230)로 전달한다. 또한, 제1 프록시(220)는 제2 프록시(230)로부터 수신한 응답 메시지를 다시 클라이언트가 사용하는 프로토콜로 변경하고, 변경된 패킷을 클라이언트로 전달한다.
예를 들어, 클라이언트는 센서들인 Sensor1, Sensor2, Sensor3 중 어느 하나를 포함하는 단말 장치일 수 있다. 클라이언트는 제1 프록시(220)와 UDP 기반 CoAP 프로토콜(도 2에 'CoAP/UDP'로 표기함)을 사용하여 통신을 수행할 수 있다.
제1 프록시(220)는 하나의 NQUIC-Proxy와 오직 하나의 연결(Connection) 만을 유지할 수 있다. 이때, 2개 이상의 클라이언트가 같은 서비스 서버에 서비스를 요청할 경우 1개의 연결 내에 다른 스트림으로 서비스를 제공할 수 있다.
제2 프록시(230)는 서버 사이드에 구비되는 프록시 서버일 수 있다.
제2 프록시(230)는 제1 프록시(220)로부터 전달받은 요청 메시지를 서비스 서버(240)에서 사용하는 프로토콜 메시지로 변환하고, 변환된 요청 메시지를 서비스 서버(240)에게 전달한다.
제2 프록시(230)는 서버(240)로부터 응답 메시지를 수신하면 QUIC 프로토콜 메시지로 변환한 후 제1 프록시(220)에게 전달한다.
예를 들어, 서비스 서버(240)는 제2 프록시(230)와 TCP 기반 CoAP 프로토콜(도 2에 'CoAP/TCP'로 표기함)을 사용하여 통신을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 QUIC-Proxy를 이용한 데이터 전달 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 제1 프록시(220) 및 제2 프록시(230)를 포함하는 네트워크에서, 제1 프록시가 클라이언트(210)로부터 스트림 생성 요청을 수신하는 단계(340), 상기 스트림 생성 요청에 포함된 정보에 기초하여 제2 프록시와의 QUIC Connection을 확인하는 단계(350), 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 클라이언트(210)로 전달하는 단계(360) 및 클라이언트(210)로부터 서비스 요청을 수신하면, 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달하는 단계(370, 380, 390)를 포함한다.
도 3에서 클라이언트(210)와 서버(240)간, 제1 프록시(220)와 클라이언트(210)간, 제2 프록시(230)와 서비스 서버(240)간에는 HTTP 또는 CoAP 기반 통신을 수행할 수 있고, 제1 프록시(220)와 제2 프록시는 QUIC 프로토콜에 기반하여 통신을 수행할 수 있다.
제1 프록시(220) 및 제2 프록시(230)를 포함하는 네트워크에서 서비스 서버(240)와 연결을 지속하고 싶은 클라이언트(210)는 서비스 서버(240)로 연결 지속을 위한 정보를 요청할 수 있다.
즉, 클라이언트(210)는 310단계에서 서비스 서버와 연결 지속의 필요성이 있는 경우 서비스 서버로 NQUIC-Proxy에 대한 정보 및 억세스 토큰(Access Token)을 요청한다.
서비스 서버(240)는 320단계에서 제2 프록시(230)와 Access Token을 교환한다. Access Token의 교환을 통해, 서비스 서버(240)는 제2 프록시(220)의 Access Token을 획득할 수 있다.
서비스 서버(240)는 330단계에서 제2 프록시(220)에 대한 정보(예를 들어, 식별자, IP 주소 등) 및 제2 프록시(220)의 Access Token을 클라이언트(210)에게 전송한다.
클라이언트(210)는 340단계에서 스트림 생성 요청을 제1 프록시(220)에게 전송한다.
이때, 340단계의 스트림 생성 요청은 서비스 서버(240)로부터 수신한 제2 프록시(230)에 대한 정보 및 제2 프록시(230)의 Access Token 정보를 포함한다.
클라이언트(210)로부터 스트림 생성 요청을 수신한 제1 프록시(220)는 스트림 생성 요청의 목적지 주소에 해당하는 NQUIC-Proxy가 제2 프록시(230)임을 확인할 수 있다.
제1 프록시(220)는 350단계에서 제2 프록시(230)와의 QUIC 연결 여부를 확인한다.
이때, 제1 프록시(220)는 스트림 생성 요청에 포함된 목적지 주소에 대응하는 NQUIC-Proxy와의 사전 연결 여부를 확인하고, NQUIC-Proxy와의 사전 연결이 있는 경우, 스트림을 설립하고 설립한 스트림을 식별하기 위한 쿠키 값을 생성한다.
즉, 제1 프록시(220)는 제2 프록시(230)와의 사전에 설립된 연결이 없는 경우 제2 프록시와 연결을 설립한 후 스트림을 생성하고, 사전에 설립된 연결이 있는 경우 바로 스트림을 생성하고, 생성된 스트림을 식별하기 위한 쿠키(Cookie) 값을 생성한다.
제1 프록시(220)는 360단계에서 스트림 정보 응답을 통해 생성된 스트림을 식별하기 위한 쿠키(Cookie) 값을 클라이언트(210)에게 전달한다.
클라이언트(210)는 제1 프록시(220)로부터 수신한 쿠키 값을 포함하는 서비스 요청 메시지를 제1 프록시(220)에 전달함으로써, 서비스를 제공받을 수 있다.
예를 들어, 쿠키 값은 CoAP 프로토콜의 경우 옵션 필드에 포함될 수 있고, HTTP 프로토콜의 경우 Query Parameter 필드에 포함될 수 있다.
클라이언트(210)는 서비스를 제공 받기 위해 370단계에서 서비스 요청 메시지를 제1 프록시(220)로 전송할 수 있다.
제1 프록시(220)는 클라이언트로부터 서비스 요청 메시지를 수신하면, 380단계에서 서비스 요청 메시지를 QUIC 패킷으로 변환하여 제2 프록시(230)로 전달한다.
서비스 요청은 380단계에서 제2 프록시(230)를 거쳐 서비스 서버(240)로 포워딩된다.
제2 프록시(230)는 390단계에서 서비스 서버(240)로부터 서비스 요청 메시지에 대한 응답메시지를 수신하고, 응답 메시지를 QUIC 패킷으로 변환한 후 395단계에서 제1 프록시(220)로 전달한다.
제1 프록시(220)는 응답 메시지를 클라이언트(210)에서 사용하는 프로토콜 패킷으로 변환한 후 클라이언트(210)로 전달함으로써, 서비스 응답 포워딩을 수행한다.
도 4는 본 발명의 일 실시예에 따른 제1 프록시 및 제2 프록시의 구성 및 동작을 설명하기 위한 도면이다.
제1 프록시(220)는 클라이언트로부터 스트림 생성 요청을 수신하고, 상기 스트림 생성 요청에 포함된 정보에 기초하여 제2 프록시와의 QUIC Connection을 확인하고, 상기 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 상기 클라이언트로 전달하고, 상기 클라이언트로부터 서비스 요청을 수신하면 상기 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달한다.
도 4를 참조하면, 제1 프록시(220)는 통신부(421), 헤더 생성부(423), 프로토콜 변환부(425) 및 제어부(427)을 포함한다.
통신부(421)는 클라이언트 또는 서버측 프록시와 통신을 수행한다.
헤더 생성부(423)는 클라이언트로부터 수신한 메시지를 QUIC(Quick UDP Internet Connection) 메시지로 변환하기 위한 프로토콜의 헤더를 생성한다.
이때, 프로토콜의 헤더 포맷은 도 5에 도시된 바와 같다.
프로토콜 변환부(425)는 프로토콜의 헤더를 이용하여 클라이언트로부터 수신한 서비스 관련 메시지를 QUIC 프로토콜로 변환하고, 상기 서버측 프록시로부터 수신된 메시지를 상기 클라이언트에서 사용하는 프로토콜로 변환한다.
제어부(427)는 클라이언트로부터 스트림 생성 요청을 수신하면 상기 스트림 생성 요청에 포함된 정보에 기초하여 상기 서버측 프록시와의 QUIC Connection을 확인하고, 상기 서버측 프록시와 설립한 대한 쿠키 정보를 상기 클라이언트로 전달하도록 상기 통신부를 제어하고, 상기 클라이언트로부터 서비스 요청을 수신하면 상기 서버측 프록시로 상기 서비스 요청을 전달하도록 상기 통신부 및 상기 프로토콜 변환부를 제어한다.
제2 프록시(230)는 서비스 서버와 Access Token을 교환하고 상기 제1 프록시로부터 수신한 서비스 요청을 상기 서비스 서버로 전달하고, 상기 서비스 서버로부터 수신한 서비스 응답을 상기 제1 프록시로 전달한다.
도 4를 참조하면, 제2 프록시(230)는 통신부(431), 헤더 생성부(433), 프로토콜 변환부(435), 억세스 토큰 관리부(439) 및 제어부(437)를 포함한다.
통신부(431)는 서비스 서버 또는 클라이언트측 프록시와 통신을 수행한다.
헤더 생성부(433)는 서비스 서버로부터 수신한 메시지를 QUIC(Quick UDP Internet Connection) 메시지로 변환하기 위한 프로토콜의 헤더를 생성한다.
프로토콜 변환부(435)는 헤더를 이용하여 상기 서비스 서버로부터 수신한 서비스 관련 메시지를 QUIC 프로토콜로 변환하고, 상기 클라이언트측 프록시로부터 수신된 메시지를 상기 서비스 서버에서 사용하는 프로토콜로 변환한다.
억세스 토큰 관리부(439)는 서비스 서버의 요청에 따라 억세스 토큰을 생성하고, 상기 서비스 서버와 억세스 토큰을 교환한다.
제어부(437)는 클라이언트측 프록시와 QUIC Connection 및 스트림을 설립하고, 상기 클라이언트측 프록시로부터 서비스 요청을 수신하거나 상기 서비스 서버로부터 서비스 응답을 수신하면 메시지 변환 및 메시지 전달을 수행하도록 상기 프로토콜 변환부 및 상기 통신부를 제어한다.
도 5는 본 발명의 일 실시예에 따른 메시지 변환을 위해 사용되는 헤더 포맷을 나타낸다.
제1 프록시 또는 제2 프록시는 메시지를 수신한 후 해당 메시지를 QUIC 메시지에 포함시켜서 상대측으로 전달할 수 있다.
도 5에 도시된 프로토콜 해더 포맷은 프록시 간에 파라미터 교환을 위한 정보를 포함하도록 구성된다.
도 5를 참조하면, 프로토콜 해더 포맷은 사용하는 프로토콜의 버전 정보를 기록하는 버전(Version) 필드(510)를 포함한다.
프로토콜 필드(520)는 QUIC 메시지로 변환되기 전의 프로토콜을 나타낸다. 예를 들어, QUIC 메시지로 변환되기 전의 프로토콜은 CoAP 또는 HTTP 프로토콜 일 수 있다.
토큰 필드(530)는 요청 및 응답의 쌍을 표현하는 넌스(Nonce) 값을 나타낸다.
예를 들어, QUIC 프로토콜로 변환되기 전의 메시지가 UDP 기반 메시지인 경우 Token 필드 다음에 메시지 전체 길이를 나타내는 랭스(Length) 필드(540)가 포함될 수 있다.
페이로드(payload) 필드(550)는 변환 전의 프로토콜 메시지를 원형 그대로 포함할 수 있다.
버전(Version) 필드(510)의 크기는 4bits이고, 프로토콜 필드(520)의 크기는 4bits이고, 토큰 필드(530)의 크기는 8~32bits이고, 랭스(Length) 필드(540)의 크기는 8~32bits일 수 있다.
도 6은 도 5에 도시된 Token 필드 및 Length 필드의 구조를 나타내는 도면이다.
도 6을 참조하면, 토큰 및 랭스 필드의 처음 2비트(610)는 각 필드의 길이를 표현하기 위해 사용될 수 있다.
예를 들어, 참조부호 620은 처음 2비트(610)의 값이 '00'으로 필드의 길이가 6bits이고, 참조부호 630은 처음 2비트(610)의 값이 '01'으로 필드의 길이가 14bits이고, 참조부호 640은 처음 2비트(610)의 값이 '10'으로 필드의 길이가 22bits이고, 참조부호 650은 처음 2비트(610)의 값이 '11'으로 필드의 길이가 32bits인 경우를 나타낸다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (12)

  1. 제1 프록시 및 제2 프록시를 포함하는 네트워크의 데이터 전달 방법에 있어서,
    상기 제1 프록시가, 클라이언트로부터 스트림 생성 요청을 수신하는 단계;
    상기 제1 프록시가, 상기 스트림 생성 요청에 포함된 정보에 기초하여 상기 제2 프록시와의 QUIC Connection을 확인하는 단계;
    상기 제1 프록시가, 상기 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 상기 클라이언트로 전달하는 단계; 및
    상기 제1 프록시가 상기 클라이언트로부터 서비스 요청을 수신하면, 상기 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달하는 단계를 포함하고,
    상기 클라이언트는 서비스 서버와 연결 지속의 필요성이 있는 경우 서비스 서버로 NQUIC-Proxy에 대한 정보 및 억세스 토큰(Access Token)을 요청하고, 상기 서비스 서버는 상기 제2 프록시와 Access Token을 교환하고 상기 제2 프록시에 대한 정보 및 상기 제2 프록시의 억세스 토큰을 상기 클라이언트로 전달하고,
    상기 스트림 생성 요청은 상기 서비스 서버로부터 수신한 상기 제2 프록시에 대한 정보 및 상기 억세스 토큰에 대한 정보를 포함하는
    QUIC-Proxy를 이용한 데이터 전달 방법.
  2. 제1항에 있어서,
    상기 제2 프록시와의 QUIC Connection을 확인하는 단계는,
    상기 스트림 생성 요청에 포함된 목적지 주소에 대응하는 NQUIC-Proxy와의 사전 연결 여부를 확인하는 단계; 및
    상기 NQUIC-Proxy와의 사전 연결이 있는 경우, 스트림을 설립하고 설립한 스트림을 식별하기 위한 쿠키 값을 생성하는 단계를 포함하는
    QUIC-Proxy를 이용한 데이터 전달 방법.
  3. 제2항에 있어서,
    상기 NQUIC-Proxy와의 사전 연결이 없는 경우 상기 NQUIC-Proxy와 QUIC Connection을 설립한 후 상기 스트림을 설립하고, 설립한 스트림을 식별하기 위한 쿠키 값을 생성하는 것을 특징으로하는
    QUIC-Proxy를 이용한 데이터 전달 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 클라이언트와 상기 제1 프록시는 UDP(User Datagram Protocol) 기반의 CoAP(Constrained Application Protocol)을 사용하고, 상기 제2 프록시와 서비스 서버는 TCP 기반의 CoAP를 사용하여 통신을 수행하는
    QUIC-Proxy를 이용한 데이터 전달 방법.
  6. 제1 프록시 및 제2 프록시를 포함하는 네트워크의 데이터 전달 방법에 있어서,
    상기 제1 프록시가, 클라이언트로부터 스트림 생성 요청을 수신하는 단계;
    상기 제1 프록시가, 상기 스트림 생성 요청에 포함된 정보에 기초하여 상기 제2 프록시와의 QUIC Connection을 확인하는 단계;
    상기 제1 프록시가, 상기 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 상기 클라이언트로 전달하는 단계; 및
    상기 제1 프록시가 상기 클라이언트로부터 서비스 요청을 수신하면, 상기 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달하는 단계를 포함하고,
    상기 제1 프록시는 상기 클라이언트로부터 서비스 요청 메시지를 수신하면 서비스 요청 메시지를 QUIC 패킷으로 변환하여 상기 제2 프록시로 전달하고, 상기 서비스 요청 메시지에 대한 응답메시지를 상기 제2 프록시로부터 수신하면 상기 응답 메시지를 상기 클라이언트에서 사용하는 프로토콜로 변환하여 상기 클라이언트로 전달하고,
    상기 제1 프록시 또는 제2 프록시는,
    사용하는 프로토콜의 버전 정보를 기록하는 버전(Version) 필드;
    QUIC 메시지로 변환되기 전의 프로토콜을 나타내는 프로토콜 필드;
    요청 및 응답의 쌍을 표현하는 넌스(Nonce) 값을 나타내는 토큰 필드;
    메시지 전체 길이를 나타내는 랭스(Length) 필드; 및
    변환 전의 프로토콜 메시지를 원형 그대로 포함하는 페이로드(payload) 필드
    를 포함하는 헤더 포맷을 이용하여 상기 클라이언트 또는 서비스 서버에서 사용하는 메시지를 QUIC 메시지로 변환하는
    QUIC-Proxy를 이용한 데이터 전달 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 토큰 필드 및 랭스 필드의 첫 2비트는 각 필드의 길이에 대한 정보를 나타내는
    QUIC-Proxy를 이용한 데이터 전달 방법.
  9. 삭제
  10. 클라이언트로부터 스트림 생성 요청을 수신하고, 상기 스트림 생성 요청에 포함된 정보에 기초하여 제2 프록시와의 QUIC Connection을 확인하고, 상기 제2 프록시와 설립한 스트림에 대한 쿠키 정보를 상기 클라이언트로 전달하고, 상기 클라이언트로부터 서비스 요청을 수신하면 상기 제2 프록시로 서비스 요청을 전달하고 상기 제2 프록시로부터 수신한 서비스 응답을 상기 클라이언트로 전달하는 제1 프록시; 및
    서비스 서버와 Access Token을 교환하고 상기 제1 프록시로부터 수신한 서비스 요청을 상기 서비스 서버로 전달하고, 상기 서비스 서버로부터 수신한 서비스 응답을 상기 제1 프록시로 전달하는 제2 프록시를 포함하고,
    상기 제1 프록시 및 제2 프록시는 상기 클라이언트 또는 상기 서비스 서버로부터 서비스 관련 메시지를 수신하면, 서비스 관련 메시지를 QUIC 프로토콜로 변환하되,
    상기 서비스 관련 메시지를 QUIC 프로토콜로 변환하기 위한 헤더 포맷은,
    사용하는 프로토콜의 버전 정보를 기록하는 버전(Version) 필드;
    QUIC 메시지로 변환되기 전의 프로토콜을 나타내는 프로토콜 필드;
    요청 및 응답의 쌍을 표현하는 넌스(Nonce) 값을 나타내는 토큰 필드;
    메시지 전체 길이를 나타내는 랭스(Length) 필드; 및
    변환 전의 프로토콜 메시지를 원형 그대로 포함하는 페이로드(payload) 필드를 포함하는
    사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 시스템.
  11. 클라이언트 또는 서버측 프록시와 통신을 수행하는 통신부;
    상기 클라이언트로부터 수신한 메시지를 QUIC(Quick UDP Internet Connection) 메시지로 변환하기 위한 프로토콜의 헤더를 생성하는 헤더 생성부;
    상기 헤더를 이용하여 상기 클라이언트로부터 수신한 서비스 관련 메시지를 QUIC 프로토콜로 변환하고, 상기 서버측 프록시로부터 수신된 메시지를 상기 클라이언트에서 사용하는 프로토콜로 변환하는 프로토콜 변환부; 및
    상기 클라이언트로부터 스트림 생성 요청을 수신하면 상기 스트림 생성 요청에 포함된 정보에 기초하여 상기 서버측 프록시와의 QUIC Connection을 확인하고, 상기 서버측 프록시와 설립한 대한 쿠키 정보를 상기 클라이언트로 전달하도록 상기 통신부를 제어하고, 상기 클라이언트로부터 서비스 요청을 수신하면 상기 서버측 프록시로 상기 서비스 요청을 전달하도록 상기 통신부 및 상기 프로토콜 변환부를 제어하는 제어부를 포함하고,
    상기 서비스 관련 메시지를 QUIC 프로토콜로 변환하기 위한 헤더 포맷은,
    사용하는 프로토콜의 버전 정보를 기록하는 버전(Version) 필드;
    QUIC 메시지로 변환되기 전의 프로토콜을 나타내는 프로토콜 필드;
    요청 및 응답의 쌍을 표현하는 넌스(Nonce) 값을 나타내는 토큰 필드;
    메시지 전체 길이를 나타내는 랭스(Length) 필드; 및
    변환 전의 프로토콜 메시지를 원형 그대로 포함하는 페이로드(payload) 필드를 포함하는
    사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 장치.
  12. 서비스 서버 또는 클라이언트측 프록시와 통신을 수행하는 통신부;
    상기 서비스 서버로부터 수신한 메시지를 QUIC(Quick UDP Internet Connection) 메시지로 변환하기 위한 프로토콜의 헤더를 생성하는 헤더 생성부;
    상기 헤더를 이용하여 상기 서비스 서버로부터 수신한 서비스 관련 메시지를 QUIC 프로토콜로 변환하고, 상기 클라이언트측 프록시로부터 수신된 메시지를 상기 서비스 서버에서 사용하는 프로토콜로 변환하는 프로토콜 변환부;
    상기 서비스 서버의 요청에 따라 억세스 토큰을 생성하고, 상기 서비스 서버와 억세스 토큰을 교환하는 억세스 토큰 관리부; 및
    상기 클라이언트측 프록시와 QUIC Connection 및 스트림을 설립하고, 상기 클라이언트측 프록시로부터 서비스 요청을 수신하거나 상기 서비스 서버로부터 서비스 응답을 수신하면 메시지 변환 및 메시지 전달을 수행하도록 상기 프로토콜 변환부 및 상기 통신부를 제어하는 제어부를 포함하고,
    상기 서비스 관련 메시지를 QUIC 프로토콜로 변환하기 위한 헤더 포맷은,
    사용하는 프로토콜의 버전 정보를 기록하는 버전(Version) 필드;
    QUIC 메시지로 변환되기 전의 프로토콜을 나타내는 프로토콜 필드;
    요청 및 응답의 쌍을 표현하는 넌스(Nonce) 값을 나타내는 토큰 필드;
    메시지 전체 길이를 나타내는 랭스(Length) 필드; 및
    변환 전의 프로토콜 메시지를 원형 그대로 포함하는 페이로드(payload) 필드를 포함하는
    사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 장치.
KR1020200164141A 2020-11-30 2020-11-30 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치 KR102345473B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200164141A KR102345473B1 (ko) 2020-11-30 2020-11-30 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200164141A KR102345473B1 (ko) 2020-11-30 2020-11-30 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102345473B1 true KR102345473B1 (ko) 2021-12-30

Family

ID=79178704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200164141A KR102345473B1 (ko) 2020-11-30 2020-11-30 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102345473B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086396A (zh) * 2022-04-29 2022-09-20 阿里巴巴(中国)有限公司 传输媒体数据的方法以及系统
CN115297098A (zh) * 2022-08-04 2022-11-04 北京沃东天骏信息技术有限公司 边缘服务获取方法和装置、边缘计算系统、介质、设备
CN116319733A (zh) * 2022-09-09 2023-06-23 中央军委政治工作部军事人力资源保障中心 一种跨网服务交换系统及方法
CN117729253A (zh) * 2024-02-18 2024-03-19 上海任意门科技有限公司 一种聊天场景复现方法、系统、存储介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213241A (zh) * 2019-05-09 2019-09-06 阿里巴巴集团控股有限公司 一种数据传输方法、设备、介质以及装置
KR20190109237A (ko) 2018-03-16 2019-09-25 인텔 코포레이션 하드웨어 오프로드들을 이용한 가속화된 quic 패킷 프로세싱을 위한 기술들
WO2020155148A1 (zh) * 2019-02-02 2020-08-06 华为技术有限公司 一种传输数据的方法和装置
US20200358886A1 (en) * 2018-01-25 2020-11-12 Huawei Technologies Co., Ltd. Data Transmission Method, Apparatus, And System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200358886A1 (en) * 2018-01-25 2020-11-12 Huawei Technologies Co., Ltd. Data Transmission Method, Apparatus, And System
KR20190109237A (ko) 2018-03-16 2019-09-25 인텔 코포레이션 하드웨어 오프로드들을 이용한 가속화된 quic 패킷 프로세싱을 위한 기술들
WO2020155148A1 (zh) * 2019-02-02 2020-08-06 华为技术有限公司 一种传输数据的方法和装置
CN110213241A (zh) * 2019-05-09 2019-09-06 阿里巴巴集团控股有限公司 一种数据传输方法、设备、介质以及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
남혜빈 외 3, 사물인터넷 서비스에서 통신 효율성 증가를 위한 QUIC-Proxy 적용 기법 설계, 2020년도 한국통신학회 추계종합학술발표회 논문집, p.295-296, 2020.11.13* *
선행문헌1: 미국특허 US10187312B2(Communication protocol for multiplexing data streams over UDP, 등록일자: 2019.07.22)
선행문헌2: 미국특허 US 10791485(Systems and methods for quick user datagram protocol internet connection (QUIC) with multipath, 등록일자: 2020.09.29)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086396A (zh) * 2022-04-29 2022-09-20 阿里巴巴(中国)有限公司 传输媒体数据的方法以及系统
CN115297098A (zh) * 2022-08-04 2022-11-04 北京沃东天骏信息技术有限公司 边缘服务获取方法和装置、边缘计算系统、介质、设备
CN116319733A (zh) * 2022-09-09 2023-06-23 中央军委政治工作部军事人力资源保障中心 一种跨网服务交换系统及方法
CN116319733B (zh) * 2022-09-09 2024-06-11 中央军委政治工作部军事人力资源保障中心 一种跨网服务交换系统及方法
CN117729253A (zh) * 2024-02-18 2024-03-19 上海任意门科技有限公司 一种聊天场景复现方法、系统、存储介质和电子设备
CN117729253B (zh) * 2024-02-18 2024-05-03 上海任意门科技有限公司 一种聊天场景复现方法、系统、存储介质和电子设备

Similar Documents

Publication Publication Date Title
KR102345473B1 (ko) 사물 인터넷 서비스를 제공하기 위한 QUIC-Proxy를 이용한 데이터 전달 방법 및 장치
US8769021B2 (en) Method and system for light-weight SOAP transport for web services based management
US7685287B2 (en) Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
CN104272290B (zh) 用于实时通信的冗余
US9021134B1 (en) Media stream transport conversion within an intermediate network device
US9246819B1 (en) System and method for performing message-based load balancing
US7636353B2 (en) Method and system for transmitting data over a network
US8224966B2 (en) Reproxying an unproxied connection
US7624184B1 (en) Methods and apparatus for managing access to data through a network device
EP3110110B1 (en) Flexible command and control in content centric networks
CN109417548B (zh) 封装媒体流量在基于数据报的传输层上的高效传输
US20150373135A1 (en) Wide area network optimization
WO2023151264A1 (zh) 负载均衡方法、装置、节点及存储介质
US8443057B1 (en) System, method, and/or apparatus for establishing peer-to-peer communication
US20070226745A1 (en) Method and system for processing a service request
WO2023116165A1 (zh) 网络负载均衡方法、装置、电子设备、介质和程序产品
US7564848B2 (en) Method for the establishing of connections in a communication system
US11706290B2 (en) Direct server reply for infrastructure services
WO2009053878A1 (en) Methods and systems for offload processing
WO2019041332A1 (zh) 一种加速网络传输优化方法以及系统
CN116582590A (zh) 数据传输方法及装置
Ko et al. Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA)
KR102530913B1 (ko) 패킷의 콘텐츠 기반으로 dsr 로드 밸런싱을 수행하는 방법 및 패킷 콘텐츠 기반 dsr 로드 밸런싱 시스템
Chodorek et al. Light-Weight Congestion Control for the DCCP: Implementation in the Linux Kernel
EP1977557A2 (en) Method and system for light-weight soap transport for web services based management

Legal Events

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