KR102484674B1 - Method, device and system for sending packet through header compression - Google Patents

Method, device and system for sending packet through header compression Download PDF

Info

Publication number
KR102484674B1
KR102484674B1 KR1020220149224A KR20220149224A KR102484674B1 KR 102484674 B1 KR102484674 B1 KR 102484674B1 KR 1020220149224 A KR1020220149224 A KR 1020220149224A KR 20220149224 A KR20220149224 A KR 20220149224A KR 102484674 B1 KR102484674 B1 KR 102484674B1
Authority
KR
South Korea
Prior art keywords
packet
field
receiving device
header
neural network
Prior art date
Application number
KR1020220149224A
Other languages
Korean (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 KR1020220149224A priority Critical patent/KR102484674B1/en
Application granted granted Critical
Publication of KR102484674B1 publication Critical patent/KR102484674B1/en

Links

Images

Classifications

    • 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/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

According to one embodiment of the present invention, in a method of transmitting a packet through header compression, performed by a transmitting device, provided is the method of transmitting the packet through header compression, which includes the following steps of: obtaining a first packet to be transmitted to a receiving device; determining a first field to be compressed in a header of the first packet; generating a second packet in which the header of the first packet is compressed by compressing the first field using a first compression method set to compress the first field; and transmitting the second packet to the receiving device. Therefore, it is possible to stably transmit the packets by performing header compression as efficiently as possible.

Description

헤더 압축을 통한 패킷 전송 방법, 장치 및 시스템 {METHOD, DEVICE AND SYSTEM FOR SENDING PACKET THROUGH HEADER COMPRESSION}Packet transmission method, apparatus and system through header compression {METHOD, DEVICE AND SYSTEM FOR SENDING PACKET THROUGH HEADER COMPRESSION}

아래 실시예들은 헤더 압축을 통해 패킷을 전송하기 위한 기술에 관한 것이다.The embodiments below relate to techniques for transmitting packets with header compression.

인터넷 프로토콜(Internet Protocol: IP) 프로토콜 기술을 무선 통신 환경에 적용하게 되는 경우 패킷 헤더에 의한 오버헤드가 과도하게 되여 무선 링크 상의 낮은 전송율 및 높은 비트 에러율과 같은 문제가 발생하게 될 수 있다. 일 예로 IPv6(IP version 6) 음성 통신 패킷의 경우 패킷 페이로드는 일반적으로 전체 패킷의 22%만을 점유하게 되며, 이에 따라 대역폭의 낭비가 발생하고 패킷 에러로 인하여 패킷이 폐기되는 확률이 높아지는 문제점들이 발생할 수 있다.When an Internet Protocol (IP) protocol technology is applied to a wireless communication environment, overhead due to a packet header becomes excessive, and problems such as a low transmission rate and a high bit error rate on a wireless link may occur. For example, in the case of IPv6 (IP version 6) voice communication packets, the packet payload generally occupies only 22% of the total packets, and as a result, bandwidth is wasted and the probability of packets being discarded due to packet errors increases. can happen

헤더 압축은 상기한 바와 같은 문제점들을 해소하기 위하여 개발된 것으로서, 대표적인 헤더 압축 메커니즘으로 ROHC(Robust Header Compression)가 있다. 네트워크 상에서의 데이터 전송시 동일 스트림 내 패킷들의 대부분의 헤더 필드들은 동일한 필드 값을 가진다. ROHC 메커니즘은 하나의 패킷을 기준 패킷으로 사용하고, 다른 패킷들에 대해서는 기준 패킷 대비 변경된 정보 만을 헤더 필드 내에 포함시킴으로써 패킷 헤더를 압축하여, 패킷 헤더 오버헤드를 절약하고 대역폭을 효율적으로 사용할 수 있도록 한다.Header compression was developed to solve the above problems, and ROHC (Robust Header Compression) is a representative header compression mechanism. When data is transmitted over a network, most header fields of packets within the same stream have the same field value. The ROHC mechanism compresses packet headers by using one packet as a reference packet and including only information changed from the reference packet in the header field for other packets, thereby saving packet header overhead and efficiently using bandwidth. .

이동 통신 시스템에서 ROHC는 무선 트래픽 스택의 계층 중 하나인 PDCP(Packet Data Convergence Protocol) 계층 내의 압축기(compressor) 및 압축복원기 (decompressor)에 의해 처리될 수 있다. 그런데 헤더 압축된 패킷들 중 하나가 하위 계층에서 드롭(drop) 혹은 손실(miss)된 경우, PDCP 계층 내의 압축기는 상기한 드롭 혹은 손실을 즉시 인식할 수 없다. 특히 ROHC의 동작 모드들 중 U(Unidirectional) 모드에서 패킷들은 압축기로부터 압축복원기로 향하는 단지 한 방향으로만 송신되며, 압축복원기는 압축기로 피드백을 전송하지 않는다. 따라서 패킷의 드롭이 발생한 경우 새로운 기준 패킷이 전송되기 이전까지 모든 패킷들이 삭제되며 이로 인해 통화 중단(call drop)이 발생하게 될 수 있다.In a mobile communication system, ROHC may be processed by a compressor and a decompressor in a Packet Data Convergence Protocol (PDCP) layer, which is one of the layers of a radio traffic stack. However, when one of the header-compressed packets is dropped or lost in a lower layer, a compressor in the PDCP layer cannot immediately recognize the drop or loss. Particularly, in the U (Unidirectional) mode among ROHC operation modes, packets are transmitted in only one direction from the compressor to the decompressor, and the decompressor does not transmit feedback to the compressor. Accordingly, when a packet drop occurs, all packets are deleted until a new reference packet is transmitted, which may cause a call drop.

따라서, 헤더 압축을 최대한 효율적으로 수행하고, 이를 통해 패킷을 안정적으로 전송하고자 하는 요구가 증대되고 있어, 이와 관련된 기술에 대한 연구가 요구된다.Therefore, there is an increasing demand for performing header compression as efficiently as possible and stably transmitting packets through this, and research on technologies related to this is required.

한국등록특허 제10-2300300호Korea Patent No. 10-2300300 한국등록특허 제10-2117445호Korean Patent Registration No. 10-2117445 한국공개특허 제10-2021-0064345호Korean Patent Publication No. 10-2021-0064345 한국공개특허 제10-2014-0036874호Korean Patent Publication No. 10-2014-0036874

일실시예에 따르면, 수신 장치로 전송될 제1 패킷을 획득하고, 제1 패킷의 헤더에서 압축될 제1 필드를 결정하고, 제1 필드를 압축하기 위해 설정되어 있는 제1 압축 방식을 통해 제1 필드를 압축하여, 제1 패킷의 헤더가 압축된 제2 패킷을 생성하고, 제2 패킷을 수신 장치로 전송하는, 헤더 압축을 통한 패킷 전송 방법, 장치 및 시스템을 제공하기 위한 것을 그 목적으로 한다.According to an embodiment, a first packet to be transmitted to a receiving device is obtained, a first field to be compressed is determined in a header of the first packet, and a first compression method is used to compress the first field. To provide a method, apparatus, and system for transmitting a packet through header compression, which compresses one field, generates a second packet in which the header of the first packet is compressed, and transmits the second packet to a receiving device. do.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.The object of the present invention is not limited to the object mentioned above, and other objects not mentioned will be clearly understood from the description below.

일실시예에 따르면, 송신 장치에 의해 수행되는, 헤더 압축을 통한 패킷 전송 방법에 있어서, 수신 장치로 전송될 제1 패킷을 획득하는 단계; 상기 제1 패킷의 헤더에서 압축될 제1 필드를 결정하는 단계; 상기 제1 필드를 압축하기 위해 설정되어 있는 제1 압축 방식을 통해 상기 제1 필드를 압축하여, 상기 제1 패킷의 헤더가 압축된 제2 패킷을 생성하는 단계; 및 상기 제2 패킷을 상기 수신 장치로 전송하는 단계를 포함하는, 헤더 압축을 통한 패킷 전송 방법이 제공된다.According to one embodiment, in a method of transmitting a packet through header compression, performed by a transmitting device, obtaining a first packet to be transmitted to a receiving device; determining a first field to be compressed in a header of the first packet; generating a second packet in which a header of the first packet is compressed by compressing the first field using a first compression method set to compress the first field; and transmitting the second packet to the receiving device. A packet transmission method through header compression is provided.

상기 제2 패킷을 생성하는 단계는, 상기 송신 장치와 상기 수신 장치 간의 데이터 전송 속도인 제1 수치를 확인하는 단계; 상기 제1 수치가 미리 설정된 제1 기준 범위 내에 포함되어 있는 것으로 확인되면, 상기 제1 압축 방식의 기본 압축률로 설정되어 있는 제1 비율을 확인하고, 상기 제1 비율로 상기 제1 필드를 압축하는 단계; 상기 제1 수치가 상기 제1 기준 범위를 벗어나 상기 제1 기준 범위의 최소값 보다 작은 것으로 확인되면, 상기 제1 수치가 작을수록 상기 제1 비율을 높은 값으로 변경하여 제2 비율을 설정하고, 상기 제2 비율로 상기 제1 필드를 압축하는 단계; 및 상기 제1 수치가 상기 제1 기준 범위를 벗어나 상기 제1 기준 범위의 최대값 보다 큰 것으로 확인되면, 상기 제1 수치가 클수록 상기 제1 비율을 낮은 값으로 변경하여 제3 비율을 설정하고, 상기 제3 비율로 상기 제1 필드를 압축하는 단계를 포함할 수 있다.The generating of the second packet may include checking a first numerical value that is a data transmission rate between the transmitting device and the receiving device; When it is determined that the first numerical value is within a preset first reference range, a first ratio set as a basic compression rate of the first compression method is checked, and the first field is compressed at the first ratio. step; When it is determined that the first numerical value is out of the first reference range and smaller than the minimum value of the first reference range, the first ratio is changed to a higher value to set a second ratio as the first numerical value is smaller, compressing the first field at a second ratio; and when it is determined that the first numerical value is out of the first reference range and is greater than the maximum value of the first reference range, setting the third ratio by changing the first ratio to a lower value as the first numerical value is larger, and compressing the first field at the third ratio.

상기 헤더 압축을 통한 패킷 전송 방법은, 상기 제2 패킷을 상기 수신 장치로 전송하는 단계 이후, 상기 수신 장치로 전송된 상기 제2 패킷이 손실된 것으로 확인되면, 상기 제1 패킷의 헤더에서 상기 제1 필드 이외에 추가로 압축될 제2 필드를 결정하는 단계; 상기 제1 압축 방식을 통해 상기 제1 필드를 압축하고 상기 제2 필드를 압축하기 위해 설정되어 있는 제2 압축 방식을 통해 상기 제2 필드를 압축하여, 상기 제1 패킷의 헤더가 압축된 제3 패킷을 생성하는 단계; 및 상기 제3 패킷을 상기 수신 장치로 전송하는 단계를 더 포함할 수 있다.In the method of transmitting a packet through header compression, when it is determined that the second packet transmitted to the receiving device is lost after the step of transmitting the second packet to the receiving device, the first packet is stored in the header of the first packet. determining a second field to be additionally compressed in addition to the first field; Compressing the first field through the first compression method and compressing the second field through a second compression method configured to compress the second field, the header of the first packet is compressed into a third packet. generating packets; and transmitting the third packet to the receiving device.

일실시예에 따르면, 수신 장치로 전송될 제1 패킷을 획득하고, 제1 패킷의 헤더에서 압축될 제1 필드를 결정하고, 제1 필드를 압축하기 위해 설정되어 있는 제1 압축 방식을 통해 제1 필드를 압축하여, 제1 패킷의 헤더가 압축된 제2 패킷을 생성하고, 제2 패킷을 수신 장치로 전송함으로써, 헤더 압축을 최대한 효율적으로 수행하여 패킷을 안정적으로 전송할 수 있는 효과가 있다.According to an embodiment, a first packet to be transmitted to a receiving device is obtained, a first field to be compressed is determined in a header of the first packet, and a first compression method is used to compress the first field. By compressing one field, generating a second packet in which the header of the first packet is compressed, and transmitting the second packet to the receiving device, the header compression is performed as efficiently as possible to stably transmit the packet.

한편, 실시예들에 따른 효과들은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.On the other hand, the effects according to the embodiments are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 일실시예에 따른 네트워크 패킷을 압축하여 전송하는 과정을 설명하기 위한 순서도이다.
도 3은 일실시예에 따른 데이터 전송 속도에 따라 압축률을 조정하는 과정을 설명하기 위한 순서도이다.
도 4는 일실시예에 따른 패킷 손실에 따라 추가 압축한 패킷을 더 전송하는 과정을 설명하기 위한 순서도이다.
도 5는 일실시예에 따라 공격 횟수에 따라 패킷을 재전송하는 과정을 설명하기 위한 순서도이다.
도 6은 일실시예에 따른 수신 장치의 상태가 경고 상태로 판단된 경우 추가 압축한 패킷을 더 전송하는 과정을 설명하기 위한 순서도이다.
도 7은 일실시예에 따른 인공 신경망의 학습을 설명하기 위한 도면이다.
도 8은 일실시예에 따른 인공지능 기반 광고 콘텐츠 모니터링 자동화 과정을 설명하기 위한 순서도이다.
도 9는 일실시예에 따른 인공지능 기반 광고 콘텐츠 모니터링 자동화 과정의 개념도이다.
도 10은 일실시예에 따른 기준 제품 노출 요소를 도출하는 과정을 설명하기 위한 순서도이다.
도 11은 일실시예에 따른 데이터베이스에 저장된 각 프로그램에 매칭된 요소 및 지표의 점수를 나타내는 개념도이다.
도 12는 일실시예에 따른 광고 효과 지표와 기준 제품 노출 요소를 생성하는 과정을 설명하기 위한 개념도이다.
도 13은 일실시예에 따른 제1 인공 신경망을 학습하는 방법을 설명하기 위한 도면이다.
도 14는 일실시예에 따른 제2 인공 신경망을 학습하는 방법을 설명하기 위한 도면이다.
1 is a diagram schematically showing the configuration of a system according to an embodiment.
2 is a flowchart illustrating a process of compressing and transmitting network packets according to an embodiment.
3 is a flowchart illustrating a process of adjusting a compression rate according to a data transmission rate according to an embodiment.
4 is a flowchart illustrating a process of further transmitting additionally compressed packets according to packet loss according to an embodiment.
5 is a flowchart illustrating a process of retransmitting packets according to the number of attacks according to an embodiment.
6 is a flowchart illustrating a process of further transmitting an additionally compressed packet when the state of a receiving device is determined to be in a warning state according to an embodiment.
7 is a diagram for explaining learning of an artificial neural network according to an embodiment.
8 is a flowchart illustrating a process of automating monitoring of advertisement content based on artificial intelligence according to an embodiment.
9 is a conceptual diagram of an artificial intelligence-based advertisement content monitoring automation process according to an embodiment.
10 is a flowchart illustrating a process of deriving a reference product exposure factor according to an embodiment.
11 is a conceptual diagram illustrating scores of factors and indicators matched to each program stored in a database according to an exemplary embodiment.
12 is a conceptual diagram for explaining a process of generating an advertising effect index and standard product exposure elements according to an embodiment.
13 is a diagram for explaining a method of learning a first artificial neural network according to an embodiment.
14 is a diagram for explaining a method of learning a second artificial neural network according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes can be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents or substitutes to the embodiments are included within the scope of rights.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be modified and implemented in various forms. Therefore, the embodiments are not limited to the specific disclosed form, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various components, such terms should only be construed for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used only for descriptive purposes and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.

실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.The embodiments may be implemented in various types of products such as personal computers, laptop computers, tablet computers, smart phones, televisions, smart home appliances, intelligent vehicles, kiosks, and wearable devices.

인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.An artificial intelligence (AI) system is a computer system that implements human-level intelligence, and unlike existing rule-based smart systems, machines learn and judge on their own. The more AI systems are used, the higher the recognition rate and the more accurate understanding of user preferences. Conventional rule-based smart systems are gradually being replaced by deep learning-based AI systems.

인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Artificial intelligence technology consists of machine learning and element technologies using machine learning. Machine learning is an algorithm technology that classifies/learns the characteristics of input data by itself, and element technology is a technology that uses machine learning algorithms such as deep learning to mimic functions such as recognition and judgment of the human brain. It consists of technical fields such as understanding, inference/prediction, knowledge expression, and motion control.

인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.The various fields where artificial intelligence technology is applied are as follows. Linguistic understanding is a technology for recognizing and applying/processing human language/characters, including natural language processing, machine translation, dialogue systems, question and answering, voice recognition/synthesis, and the like. Visual understanding is a technology for recognizing and processing objects like human vision, and includes object recognition, object tracking, image search, person recognition, scene understanding, space understanding, image improvement, and the like. Inference prediction is a technique of reasoning and predicting logically by judging information, and includes knowledge/probability-based reasoning, optimization prediction, preference-based planning, and recommendation. Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data creation/classification) and knowledge management (data utilization). Motion control is a technology for controlling the autonomous driving of a vehicle and the movement of a robot, and includes motion control (navigation, collision, driving), manipulation control (action control), and the like.

일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.In general, in order to apply machine learning algorithms to real life, learning is performed in a trial and error method due to the nature of the basic methodology of machine learning. In particular, deep learning requires hundreds of thousands of iterations. It is impossible to execute this in an actual physical external environment, so instead, the actual physical external environment is virtually implemented on a computer and learning is performed through simulation.

도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.1 is a diagram schematically showing the configuration of a system according to an embodiment.

도 1을 참조하면, 일실시예에 따른 시스템은 네트워크로 연결된 송신 장치(100) 및 수신 장치(200)를 포함할 수 있다.Referring to FIG. 1 , a system according to an embodiment may include a transmitting device 100 and a receiving device 200 connected through a network.

송신 장치(100)와 수신 장치(200)는 네트워크로 연결되어, 무선 링크를 통해 통신을 수행할 수 있다. 여기서, 무선 링크는 제어 정보나 시그널링, 데이터 트래픽 등을 담은 패킷들을 운반할 수 있다. 네트워크는 기지국(Node B: NB or Evolved Node B: ENB or Base Station: BS) 및 적어도 하나의 코어 네트워크 노드들로 구성되어, 송신 장치(100)로부터의 패킷들을 수신 장치(200)로 전달하거나 수신 장치(200)로부터의 패킷들을 송신 장치(100)로 전달할 수 있다. 송신 장치(100)와 수신 장치(200) 사이의 무선 링크에서는 요구되는 서비스 품질(Quality of Service: QoS)을 만족시키기 위하여 HARQ(Hybrid Automatic Retransmission request)가 지원된다.The transmitting device 100 and the receiving device 200 are connected through a network and may perform communication through a wireless link. Here, the radio link may carry packets containing control information, signaling, or data traffic. The network is composed of a base station (Node B: NB or Evolved Node B: ENB or Base Station: BS) and at least one core network node, and transmits or receives packets from the transmitter 100 to the receiver 200 Packets from the device 200 may be forwarded to the transmitting device 100 . A hybrid automatic retransmission request (HARQ) is supported in a wireless link between the transmitting device 100 and the receiving device 200 to satisfy a required Quality of Service (QoS).

LTE와 같은 이동통신 시스템에서는 IP를 통한 음성통화(Voice over IP: VoIP)와 같은 실시간 서비스를 비롯한 모든 사용자 트래픽이 공용 채널(shared channel)을 통해 서비스되며, 기지국은 셀 내 단말들의 상황 정보를 취합해서 스케줄링을 수행할 수 있다. 이와 같이 LTE를 기반으로 하는 VoIP를 VoLTE라고 칭한다. VoLTE는 기존 회선 교환(Circuit Switched: CS)의 음성 통화를 대체하기 위해 제안된 IMS(IP Multimedia Subsystem) 기반의 VoIP 서비스, 즉 멀티미디어 통화(multimedia telephony: MMTel) 서비스이다.In a mobile communication system such as LTE, all user traffic including real-time services such as Voice over IP (VoIP) is serviced through a shared channel, and a base station collects situation information of terminals in a cell. You can do scheduling. VoIP based on LTE as described above is referred to as VoLTE. VoLTE is an IMS (IP Multimedia Subsystem)-based VoIP service, that is, a multimedia telephony (MMTel) service proposed to replace voice calls of an existing circuit switched (CS).

VoIP 패킷은 IP 네트워크를 통한 실시간 음성 트래픽의 전송을 지원하기 위하여 IP/UDP(User Datagram Protocol)/RTP(Real Time Protocol) 헤더와 VoIP 프레임으로 구성되는데, IP/UDP/RTP헤더는 ROHC를 통해 일 예로 1 내지 15 바이트 정도로 압축될 수 있다. ROHC는 음성 통화 동안 교환되는 IP, UDP/TCP 및 RTP 패킷들의 헤더를 압축하기 위한 기술로서 패킷 페이로드가 아닌 패킷 헤더들만을 압축한다. RTP 압축 프로토콜은 음성 및 비디오 RTP 트래픽의 IP/UDP/RTP 헤더들을 일 예로 40 바이트에서 4 바이트 미만으로 압축할 수 있다. ROHC는 또한 IP/UDP, IP/TCP, IP 헤더에 대한 압축을 지원할 수 있다.VoIP packets are composed of IP/UDP (User Datagram Protocol)/RTP (Real Time Protocol) headers and VoIP frames to support transmission of real-time voice traffic over IP networks. For example, it can be compressed to about 1 to 15 bytes. ROHC is a technology for compressing headers of IP, UDP/TCP and RTP packets exchanged during voice calls, and compresses only packet headers, not packet payloads. The RTP compression protocol may compress IP/UDP/RTP headers of voice and video RTP traffic, for example, from 40 bytes to less than 4 bytes. ROHC can also support compression for IP/UDP, IP/TCP, and IP headers.

일실시예에 따르면, 송신 장치(100) 및 수신 장치(200) 각각은 단말, 서버, 네트워크 노드 등일 수 있고, 일 예로 기지국이 될 수 있다. 예를 들어, 상향링크(Uplink: UL) 통신의 경우, 송신 장치(100)는 단말이 되고 수신 장치(200)는 기지국이 될 수 있으며, 하향링크(Downlink: DL) 통신의 경우, 송신 장치(100)는 기지국이 되고 수신 장치(200)는 단말이 될 수 있다.According to an embodiment, each of the transmitting device 100 and the receiving device 200 may be a terminal, a server, a network node, and the like, and may be, for example, a base station. For example, in the case of uplink (UL) communication, the transmitting device 100 may be a terminal and the receiving device 200 may be a base station, and in the case of downlink (DL) communication, the transmitting device ( 100) may be a base station and the receiving device 200 may be a terminal.

송신 장치(100)는 패킷 생성부(110), 헤더 압축부(120) 및 송수신부(130)를 포함하여 구성될 수 있다.The transmitter 100 may include a packet generator 110, a header compression unit 120, and a transceiver 130.

패킷 생성부(110), 헤더 압축부(120) 및 송수신부(130)의 적어도 일부는 하나 혹은 그 이상의 프로세서로서 구현될 수 있다.At least some of the packet generator 110, header compression unit 120, and transmission/reception unit 130 may be implemented as one or more processors.

패킷 생성부(110)는 어플리케이션 계층을 담당하는 어플리케이션 프로세서가 될 수 있으며, 사용자 트래픽을 담은 IP 패킷을 생성한다. 일 예로 VoLTE의 경우 패킷 생성부(110)는 VoIP 패킷들을 생성하여 헤더 압축부(120)로 전달할 수 있다.The packet generating unit 110 may be an application processor in charge of an application layer, and generates an IP packet containing user traffic. For example, in the case of VoLTE, the packet generator 110 may generate VoIP packets and transmit them to the header compression unit 120 .

헤더 압축부(120)는 ROHC 방식에 따른 압축기(compressor)를 포함하며, 패킷 생성부(110)로부터 전달되는 VoIP 패킷들의 헤더를 압축할 수 있다. 일 실시예로서 헤더 압축부(120)는 LTE 무선 프로토콜 스택의 한 계층인 PDCP(Packet Data Convergence Protocol) 계층에 대응할 수 있다.The header compression unit 120 may include a compressor according to the ROHC scheme and compress headers of VoIP packets transmitted from the packet generation unit 110 . As an embodiment, the header compression unit 120 may correspond to a Packet Data Convergence Protocol (PDCP) layer, which is one layer of an LTE radio protocol stack.

송수신부(130)는 헤더 압축부(120)로부터 전달된 헤더가 압축된 패킷 혹은 기준 패킷을 정해진 통신 프로토콜에 따라 무선 신호에 실어 무선 링크를 통해 전송하는 전송 계층에 해당한다. 송수신부(130)는 이를 위해 HARQ 프로세싱과 무선 링크 제어(Radio Link Control) 계층 및 물리 계층의 동작을 담당할 수 있다. VoIP 패킷이 담긴 무선 신호는 무선 링크를 통해 수신 장치(200)로 도달한다.The transmitting/receiving unit 130 corresponds to a transport layer that transmits a packet or a standard packet having a compressed header transmitted from the header compression unit 120 on a wireless signal according to a predetermined communication protocol and transmitted through a wireless link. For this purpose, the transceiver 130 may be in charge of HARQ processing, radio link control (Radio Link Control) layer, and physical layer operations. A radio signal containing a VoIP packet arrives at the receiving device 200 through a radio link.

수신 장치(200)는 송수신부(230), 헤더 복원부(220) 및 패킷 분석부(210)를 포함하여 구성될 수 있다.The receiving device 200 may include a transmission/reception unit 230, a header recovery unit 220, and a packet analysis unit 210.

송수신부(230)는 무선 링크를 통해 수신된 무선 신호를 처리하여 데이터 패킷들을 추출한 후 헤더 복원부(220)로 전달한다.The transceiver 230 extracts data packets by processing the radio signals received through the radio link, and transmits them to the header recovery unit 220 .

헤더 복원부(220)는 ROHC 방식에 따른 압축복원기(decompressor)를 포함하며, 입력된 데이터 패킷의 포맷을 검사하여 압축된 헤더가 포함된 경우 원래의 전체 헤더를 복원한 후 입력된 데이터 패킷의 페이로드에 복원된 헤더의 컨텍스트를 첨부함으로써 원래의 VoIP 패킷을 복구한다. 복구된 VoIP 패킷은 패킷 분석부(210)로 전달된다.The header restoration unit 220 includes a decompressor according to the ROHC method, checks the format of the input data packet, restores the entire original header if the compressed header is included, and then restores the output of the input data packet. The original VoIP packet is restored by attaching the restored header context to the payload. The recovered VoIP packets are delivered to the packet analyzer 210.

패킷 분석부(210)는 송신 장치(100)의 패킷 생성부(110)에 대응하여 동작하며, 입력된 VoIP 패킷에서 사용자 트래픽을 추출하고 처리(processing)한다.The packet analyzer 210 operates in response to the packet generator 110 of the transmitter 100, extracts user traffic from the input VoIP packet, and processes it.

VoIP 패킷은 IP 헤더와 UDP 헤더 및 RTP 헤더를 포함하며, 이들을 IP/UDP/RTP 헤더라 칭한다. IP 헤더는 일반적으로 여분의 정적 정보(static information)를 포함한다. 4비트의 프로토콜 버전(Protocol Version)은 인터넷 헤더의 포맷을 나타낸다.A VoIP packet includes an IP header, a UDP header, and an RTP header, which are referred to as IP/UDP/RTP headers. The IP header usually contains extra static information. A 4-bit protocol version indicates the format of the Internet header.

이하 IP 헤더에 포함될 수 있는 정보 필드들은 다음과 같으며, 각 필드 별로 압축 방식이 설정되어 있어, 각 필드를 압축하기 위한 압축 방식이 상이할 수 있다.Hereinafter, the information fields that can be included in the IP header are as follows, and since a compression method is set for each field, a compression method for compressing each field may be different.

헤더 길이(Header Length)는 인터넷 헤더의 길이이며 데이터의 시작을 지시한다. 서비스 유형(Type Of Service)은 지연(Delay)과 신뢰성(Reliability) 및 효율성(Throughput)의 측면에서 원하는 서비스의 품질을 나타내는 정보이다. 전체 길이(Total Length)는 옥텟 단위로 측정된 패킷(헤더 및 데이터)의 길이이다. 패킷 식별자(Packet Identifier)는 데이터그램의 조각들(fragments)을 조립하기 위해 송신 노드에서 할당한 식별값이다. 각각 1비트인 3개의 플래그들 중 첫번째 예비된 비트는 0으로 설정되며, 두 번째 비트인 DF는 조각(Fragment)인지의 여부를 나타내는 플래그이고, 세 번째 비트인 MF는 마지막 조각인지의 여부를 나타내는 플래그이다. 조각 옵셋(Fragment Offset)은 해당 조각이 데이터그램의 어느 위치에 속하는지를 나타낸다. 유효시간(Time To Live:TTL)은 해당 데이터그램이 잔류할 수 있는 최대 시간을 나타낸다. 프로토콜 식별자(Protocol Identifier)는 데이터그램의 데이터 부분에서 사용되는 프로토콜(여기서는 TCP)을 나타낸다. 헤더 체크섬(Header Checksum)은 헤더 만의 오류정정 정보이다. 근원지 주소(Source Address)와 목적지 주소(Destination Address)는 각각 근원지와 목적지의 IP 주소를 나타낸다. 이들 중 변화하는 정보, 즉 동적 정보(Dynamic information)는 전체 길이와 패킷 식별자와 헤더 체크섬이다.Header Length is the length of the Internet header and indicates the start of data. The type of service is information representing desired service quality in terms of delay, reliability, and throughput. Total Length is the length of the packet (header and data) measured in octets. A packet identifier is an identification value assigned by a transmitting node to assemble fragments of a datagram. Among the three flags, each of which is 1 bit, the first reserved bit is set to 0, the second bit DF is a flag indicating whether it is a fragment, and the third bit MF indicates whether it is the last fragment. it's a flag Fragment Offset indicates where in the datagram the corresponding fragment belongs. Time To Live (TTL) represents the maximum time that the corresponding datagram can remain. Protocol Identifier indicates the protocol used in the data part of the datagram (TCP in this case). The header checksum is error correction information of only the header. The source address and destination address indicate the IP address of the source and destination, respectively. Among them, information that changes, that is, dynamic information, is a total length, a packet identifier, and a header checksum.

이하 TCP 헤더에 포함될 수 있는 정보 필드들은 다음과 같으며, 각 필드 별로 압축 방식이 설정되어 있어, 각 필드를 압축하기 위한 압축 방식이 상이할 수 있다.Hereinafter, the information fields that can be included in the TCP header are as follows, and since a compression method is set for each field, a compression method for compressing each field may be different.

근원지 포트(Source Port)와 목적지 포트(Destination Port)는 각각 근원지와 목적지의 포트번호를 나타낸다. 시퀀스 번호(Sequence Number)는 첫 번째 데이터 옥텟의 시퀀스 번호를 나타낸다. 응답 번호(Acknowledge Number)는 송신 노드에서 수신하기를 기대하는 다음 시퀀스 번호이다. 데이터 옵셋은 헤더의 길이를 나타낸다. 표준화된 TCP 응답(Acknowledge: ACK)의 경우에 응답(Acknowledge)의 유형을 결정하는데 사용되는 제어 비트들이 더 포함될 수도 있다. 제어 비트들의 의미는 하기에 나타낸 바와 같다.The source port and the destination port represent port numbers of the source and destination, respectively. Sequence Number represents the sequence number of the first data octet. The Acknowledge Number is the next sequence number the sending node expects to receive. The data offset indicates the length of the header. In the case of a standardized TCP response (Acknowledge: ACK), control bits used to determine the type of response (Acknowledge) may be further included. The meaning of the control bits is as shown below.

URG(Urgent Pointer) : 긴급 지시자(Urgent Pointer) 필드의 유효 여부를 나타냄.URG (Urgent Pointer): Indicates whether the Urgent Pointer field is valid.

ACK(Acknowledge) : 패킷이 응답을 구성하는지의 여부를 나타냄.ACK (Acknowledge): Indicates whether the packet constitutes a response.

PSH(Push) : "푸쉬(Push)" 기능이 요구되었는지를 나타냄.PSH (Push): Indicates whether the "Push" function is requested.

RST(Reset) : 접속 리셋이 요구되었는지를 나타냄.RST (Reset): Indicates whether connection reset is requested.

SYN(Synchronization) : 시퀀스 번호들을 동기화함.SYN (Synchronization): Synchronize sequence numbers.

FIN(Final) : 송신 노드에서 더 이상 전송할 데이터가 없음을 나타냄.FIN (Final): Indicates that there is no more data to transmit from the sending node.

윈도우 크기(Window Size)는 송신 노드에서 수용할 수 있는 시퀀스 번호의 최대 크기를 나타낸다. TCP 체크섬은 헤더와 데이터의 체크섬이다. 긴급 지시자(Urgent Pointer)는 이어지는 긴급 데이터의 시퀀스 번호를 나타낸다. 상기한 TCP 헤더의 필드들 중에서 동적 정보는 근원지 및 목적지 포트와 데이터 옵셋 및 제어 비트들 중 일부를 제외한 나머지이다.The window size represents the maximum size of a sequence number that can be accommodated by a transmitting node. The TCP checksum is the checksum of the header and data. An Urgent Pointer indicates a sequence number of subsequent urgent data. Among the fields of the above TCP header, dynamic information is the remainder except for some of the source and destination ports, data offset, and control bits.

헤더 압축부(120)와 헤더 복원부(220)는 ROHC 방식에 따른 패킷들의 처리를 담당한다. ROHC 방식에 따르면, 헤더 압축부(120)는 3개의 상태들(states), 즉 IR(Initial and Refresh) 상태, FO(First Order) 상태, 및 SO(Second Order) 상태를 가질 수 있다. IR 상태는 압축기가 방금 생성(create)되거나 재설정(reset)된 상태로서, IR 상태에서는 압축되지 않은 헤더, 즉 전체 헤더(full header)가 전송된다. IR 상태에서 전송되는 패킷들을 IR 패킷들이라 칭한다. 다시 말해서 IR 패킷들은 압축기가 IR 상태로 동작할 때 헤더 컨텍스트의 정적 부분(static part)을 통신하기 위하여 사용된다.The header compression unit 120 and the header restoration unit 220 process packets according to the ROHC scheme. According to the ROHC scheme, the header compression unit 120 may have three states, that is, an Initial and Refresh (IR) state, a First Order (FO) state, and a Second Order (SO) state. The IR state is a state in which the compressor has just been created or reset. In the IR state, an uncompressed header, that is, a full header is transmitted. Packets transmitted in the IR state are referred to as IR packets. In other words, IR packets are used to communicate the static part of the header context when the compressor is operating in the IR state.

FO 상태에서는 압축기가 IP 주소, 포트 번호와 같은 정적 필드들을 인식하고 저장한다. 또한 FO 상태에서 압축기는 동적 필드들의 차이값들을 전송한다. 즉, FO 상태는 정적 필드들을 압축하면서 부분적으로 동적 필드들이 압축되는 상태이다. IR-DYN(initialization and refresh-dynamic part: IR-DYN) 패킷들은 FO 상태에서 동적 부분(dynamic part)을 통신하기 위하여 사용된다. SO 상태에서 압축기는 RTP 시퀀스 번호와 같은 모든 동적 필드들을 압축하며, 단지 논리 시퀀스 번호(logical sequence number)와 다음 패킷을 검증하기 위한 일부 체크섬(partial checksum)만을 전송한다. 일반적으로 FO 상태에서는 모든 정적 필드들과 대부분의 동적 필드들이 압축되고, SO 상태에서는 시퀀스 번호와 체크섬을 사용하여 모든 동적 필드들을 예측 가능하게(predictively) 압축한다.In the FO state, the compressor recognizes and stores static fields such as IP address and port number. Also, in the FO state, the compressor transmits difference values of dynamic fields. That is, the FO state is a state in which dynamic fields are partially compressed while static fields are compressed. IR-DYN (initialization and refresh-dynamic part: IR-DYN) packets are used to communicate a dynamic part in the FO state. In SO state, the compressor compresses all dynamic fields such as RTP sequence number, and transmits only the logical sequence number and partial checksum to verify the next packet. In general, all static fields and most dynamic fields are compressed in the FO state, and all dynamic fields are compressed predictively using a sequence number and checksum in the SO state.

ROHC 방식은 U 모드(Unidirectional mode), O 모드(Bidirectional Optimistic mode), R 모드(Bidirectional Reliable mode) 라는 3가지의 동작 모드들을 제공한다. 압축기와 압축복원기 모두는 U 모드로 시작한다. U 모드에서 패킷들은 압축기로부터 압축복원기로 향하는 단지 한 방향으로만 송신되며, 압축복원기는 압축기로 피드백을 전송하지 않는다. 복원 에러를 처리하기 위하여 압축기는 압축복원기로 향하는 패킷들을 주기적으로 리프레쉬(refresh)하기 위해 IR-DYN 패킷을 전송할 수 있다.The ROHC scheme provides three operation modes: U mode (Unidirectional mode), O mode (Bidirectional Optimistic mode), and R mode (Bidirectional Reliable mode). Both the compressor and decompressor start in U mode. In U mode, packets are sent in only one direction from the compressor to the decompressor, and the decompressor sends no feedback to the compressor. To deal with recovery errors, the compressor may transmit IR-DYN packets to periodically refresh packets destined for the decompressor.

피드백 채널을 사용할 수 있고 압축복원기가 압축기로 애크(acknowledgement)를 전송하였을 때, 압축기와 압축복원기는 O 모드로 천이한다. O 모드에서는 에러 복구 요청을 전송하기 위해 피드백 채널이 사용될 수 있다. O 모드는 압축 효율을 최대화하면서 간헐적으로 피드백 채널을 사용하는 특징을 가진다. R 모드는 압축기와 압축복원기 간에 컨텍스트 동기화(context synchronization)를 유지하기 위하여 사용될 수 있다. R 모드는 신뢰도있는 압축(reliable compressing)을 보장하기 위하여 보다 빈번한 피드백 전송을 지원한다.When the feedback channel is available and the decompressor sends an acknowledgment to the compressor, the compressor and decompressor transition to O mode. In O mode, a feedback channel can be used to transmit an error recovery request. The O mode has a feature of intermittently using a feedback channel while maximizing compression efficiency. R mode can be used to maintain context synchronization between the compressor and the decompressor. R mode supports more frequent feedback transmission to ensure reliable compression.

U 모드나 O 모드에서는 피드백이 존재하지 않거나 혹은 피드백이 수신되기까지의 지연이 존재한다. 압축기는 하위 계층에서의 패킷 드롭을 알 수 없으며 ROHC의 낙관적 접근 방식(optimistic approach)에 따라 상태를 변경하게 된다. VoIP 통신 도중 하위 계층의 패킷 드롭이 발생하거나 무선 링크의 블록 에러율(Block Error Rate: BLER)이 높은 경우에, 압축복원에 실패한 패킷은 손실될 수 밖에 없다. 이 경우 압축복원기가 ROHC의 U 모드로 동작중이라면, 압축복원기는 압축기로 상기 손실된 패킷에 대한 피드백을 보내지 않는다. 또한 압축복원기가 송신 장치에서의 패킷 드롭으로 인해 사용자 트래픽을 담은 컨텍스트를 잃은 경우, 이후의 모든 패킷들이 삭제된다. 압축복원기에서 상기 손실된 패킷의 컨텍스트를 복원할 수 있는 유일한 방법은 압축기가 IR 패킷 혹은 IRDYN 패킷을 전송하는 것이다.In U mode or O mode, feedback does not exist or there is a delay until feedback is received. The compressor is unaware of packet drops at lower layers and changes state according to ROHC's optimistic approach. When a packet drop occurs in a lower layer during VoIP communication or when a block error rate (BLER) of a radio link is high, packets that fail to decompress are inevitably lost. In this case, if the decompressor is operating in the U mode of ROHC, the decompressor does not send feedback about the lost packet to the compressor. In addition, if the decompressor loses the context containing user traffic due to packet drop at the transmitting device, all subsequent packets are deleted. The only way to restore the context of the lost packet in the compressor/decompressor is for the compressor to transmit IR packets or IRDYN packets.

U 모드에서 압축기는 IR 혹은 FO 타이머가 만기된 이후에 IR 상태 혹은 FO 상태로 이동할 수 있다. IR 혹은 FO 타이머의 값은 구현에 따라 RTP 타임아웃 값보다 클 수 있기 때문에, 상기 타이머가 만기되기 이전에 RTP 타임 아웃이 발생할 수 있으며, 상기 RTP 타임아웃으로 인해 RTP 기반의 통화가 종료될 수 있다.In U mode, the compressor can move to IR state or FO state after the IR or FO timer expires. Since the value of the IR or FO timer may be greater than the RTP timeout value depending on the implementation, the RTP timeout may occur before the timer expires, and the RTP-based call may be terminated due to the RTP timeout. .

송신 장치(100)는 프로세서 및 메모리를 포함할 수 있다. 송신 장치(100)의 프로세서는 도 2 내지 도 14를 참조하여 후술될 적어도 하나의 방법을 수행할 수 있다. 송신 장치(100)를 이용하는 자 또는 단체는 도 2 내지 도 14를 참조하여 후술될 방법들 일부 또는 전부와 관련된 서비스를 제공할 수 있다.The transmitting device 100 may include a processor and memory. The processor of the transmitter 100 may perform at least one method to be described later with reference to FIGS. 2 to 14 . A person or organization using the transmission device 100 may provide services related to some or all of the methods described later with reference to FIGS. 2 to 14 .

송신 장치(100)의 메모리는 도 2 내지 도 14를 참조하여 후술될 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.The memory of the transmitting device 100 may store information related to methods to be described later with reference to FIGS. 2 to 14 or may store a program in which methods to be described later are implemented. The memory may be volatile memory or non-volatile memory.

송신 장치(100)의 프로세서는 프로그램을 실행하고, 송신 장치(100)를 제어할 수 있다. 송신 장치(100)의 프로세서에 의하여 실행되는 프로그램의 코드는 송신 장치(100)의 메모리에 저장될 수 있다. 송신 장치(100)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.A processor of the transmission device 100 may execute a program and control the transmission device 100 . Program codes executed by the processor of the transmitter 100 may be stored in the memory of the transmitter 100 . The transmission device 100 may be connected to an external device (eg, a personal computer or network) through an input/output device (not shown) and exchange data through wired/wireless communication.

도 2는 일실시예에 따른 네트워크 패킷을 압축하여 전송하는 과정을 설명하기 위한 순서도이다.2 is a flowchart illustrating a process of compressing and transmitting network packets according to an embodiment.

도 2를 참조하면, 먼저, S201 단계에서, 송신 장치(100)는 수신 장치(200)로 전송될 제1 패킷을 획득할 수 있다.Referring to FIG. 2 , first, in step S201, the transmitting device 100 may obtain a first packet to be transmitted to the receiving device 200.

예를 들어, 송신 장치(100)는 패킷 생성부(110)에서 제1 패킷을 생산한 경우, 패킷 생성부(110)로부터 제1 패킷을 획득할 수 있다.For example, when the packet generator 110 produces the first packet, the transmitter 100 may obtain the first packet from the packet generator 110 .

또한, 송신 장치(100)는 외부 기기로부터 제1 패킷을 수신한 경우, 외부 기기로부터 수신된 제1 패킷을 획득할 수 있다.Also, when receiving the first packet from the external device, the transmitter 100 may obtain the first packet received from the external device.

S202 단계에서, 송신 장치(100)는 제1 패킷의 헤더에서 압축될 제1 필드를 결정할 수 있다.In step S202, the transmitter 100 may determine a first field to be compressed in the header of the first packet.

예를 들어, 제1 패킷이 IP 패킷인 경우, 제1 패킷의 헤더는 IP의 버전을 나타내는 4 비트의 버전(version) 필드, 사용자 데이터의 시작을 나타내기 위한 4 비트의 헤더 길이(header length) 필드, 8 비트의 총 길이(total length), 16 비트의 식별(identification) 필드, 서비스 타입 및 수준을 표시하는 3 비트 플래그(frag) 필드, 13 비트 플래그먼트 오프셋(fragment offset) 필드, 8 비트의 TTL(Time To Live) 필드, 8 비트의 프로토콜 필드, 16 비트의 헤더 체크섬(header checksum) 필드 및 각각 32 비트의 수신 및 송신 IP 어드레스 필드를 포함할 수 있다. 이때, 송신 장치는 제1 패킷의 헤더에 포함되어 있는 복수의 필드 중 압축이 가능한 필드를 선정하여, 선정된 필드를 제1 필드로 결정할 수 있다.For example, if the first packet is an IP packet, the header of the first packet includes a 4-bit version field indicating the IP version and a 4-bit header length indicating the start of user data. field, 8-bit total length, 16-bit identification field, 3-bit flag field indicating service type and level, 13-bit fragment offset field, 8-bit It may include a Time To Live (TTL) field, an 8-bit protocol field, a 16-bit header checksum field, and each 32-bit receiving and transmitting IP address fields. In this case, the transmitting device may select a field capable of compression among a plurality of fields included in the header of the first packet, and determine the selected field as the first field.

S203 단계에서, 송신 장치(100)는 제1 필드를 압축하기 위해 설정되어 있는 제1 압축 방식을 확인할 수 있다. 이를 위해, 송신 장치(100)의 메모리에는 필드 별로 구분되어 있는 압축 방식에 대한 정보가 저장되어 있으며, 송신 장치(100)는 메모리에 저장된 정보를 조회하여, 제1 필드의 압축 방식 정보를 획득한 후, 제1 필드의 압축 방식 정보를 기반으로 제1 압축 방식을 확인할 수 있다.In step S203, the transmitter 100 may check a first compression method set to compress the first field. To this end, the memory of the transmission device 100 stores compression method information classified for each field, and the transmission device 100 searches the information stored in the memory to obtain compression method information of the first field. Afterwards, the first compression method may be checked based on the compression method information of the first field.

예를 들어, 송신 장치(100)는 제1 필드가 체크섬 필드인 경우, 체크섬 필드를 삭제하는 방식을 제1 압축 방식으로 확인할 수 있고, 제1 필드가 어드레스 필드인 경우, 클래스에 따라 어드레스 필드를 압축하는 방식을 제1 압축 방식으로 확인할 수 있다. 이때, 수신 및 송신 IP 어드레스는 각각 4바이트를 사용하고 있으나, 송신측 및 수신측이 클래스 C에 해당하는 경우는 최대 256 개의 IP 어드레스를 가지며, 이는 1바이트 정보로 압축할 수 있다. 클래스 B를 지원하는 경우 역시 최대 65535 개의 IP 어드레스가 가능하며 이는 2바이트 정보로 대체하여 압축할 수 있다.For example, if the first field is a checksum field, the transmitter 100 may check a method of deleting the checksum field as a first compression method, and if the first field is an address field, the address field may be deleted according to a class. The compression method may be identified as the first compression method. At this time, the receiving and transmitting IP addresses each use 4 bytes, but when the transmitting side and the receiving side correspond to class C, they have a maximum of 256 IP addresses, which can be compressed into 1 byte information. When class B is supported, up to 65535 IP addresses are also possible, which can be compressed by replacing them with 2-byte information.

S204 단계에서, 송신 장치(100)는 제1 압축 방식을 통해 제1 필드를 압축할 수 있다. 이때, 송신 장치(100)는 제1 압축 방식을 기반으로, 제1 필드를 제거할 수 있고, 제1 압축 방식을 기반으로, 제1 필드의 컨텍스트를 미리 정해진 규칙에 따라 더 짧은 컨텍스트로 변경하여 압축할 수 있다.In step S204, the transmitter 100 may compress the first field through a first compression method. In this case, the transmitter 100 may remove the first field based on the first compression method, and change the context of the first field to a shorter context based on a predetermined rule based on the first compression method. can be compressed.

S205 단계에서, 송신 장치(100)는 제1 압축 방식을 통해 제1 필드를 압축하여, 제1 패킷의 헤더가 압축된 제2 패킷을 생성할 수 있다. 즉, 송신 장치(100)는 제1 패킷의 헤더에 포함되어 있는 복수의 필드 중 제1 필드만을 압축하여, 제1 패킷의 헤더에 대한 압축을 통해 제2 패킷을 생성할 수 있다.In step S205, the transmitter 100 may generate a second packet in which the header of the first packet is compressed by compressing the first field through a first compression method. That is, the transmitter 100 may compress only the first field among a plurality of fields included in the header of the first packet and generate the second packet through compression of the header of the first packet.

S206 단계에서, 송신 장치(100)는 제2 패킷을 수신 장치(200)로 전송할 수 있다.In step S206, the transmitter 100 may transmit the second packet to the receiver 200.

도 3은 일실시예에 따른 데이터 전송 속도에 따라 압축률을 조정하는 과정을 설명하기 위한 순서도이다.3 is a flowchart illustrating a process of adjusting a compression rate according to a data transmission rate according to an embodiment.

도 3을 참조하면, 먼저, S301 단계에서, 송신 장치(100)는 송신 장치(100)와 수신 장치(200) 간의 데이터 전송 속도인 제1 수치를 확인할 수 있다. 이를 위해, 송신 장치(100)는 데이터 전송 속도를 측정하기 위한 속도 측정부를 더 포함하여 구성될 수 있다.Referring to FIG. 3 , first, in step S301 , the transmitting device 100 may check a first numerical value that is a data transmission rate between the transmitting device 100 and the receiving device 200 . To this end, the transmitting device 100 may further include a speed measuring unit for measuring the data transmission speed.

S302 단계에서, 송신 장치(100)는 제1 수치가 제1 기준 범위 내에 포함되어 있는지 여부를 확인할 수 있다. 여기서, 제1 기준 범위는 실시예에 따라 상이하게 설정될 수 있다.In step S302, the transmitter 100 may check whether the first numerical value is included in the first reference range. Here, the first reference range may be set differently according to embodiments.

S302 단계에서 제1 수치가 제1 기준 범위 내에 포함되어 있는 것으로 확인되면, S303 단계에서, 송신 장치(100)는 제1 압축 방식의 기본 압축률로 설정되어 있는 제1 비율을 확인할 수 있다. 이때, 기본 압축률은 압축 방식 별로 상이하게 설정될 수 있다.If it is determined in step S302 that the first value is within the first reference range, in step S303, the transmitter 100 may check the first ratio set as the basic compression rate of the first compression method. In this case, the basic compression rate may be set differently for each compression method.

예를 들어, 제1 기준 범위가 5Mbps부터 10Mbps까지로 설정되어 있고, 제1 압축 방식의 기본 압축률이 60%로 설정되어 있는 경우, 송신 장치(100)는 제1 수치가 7Mbps로 확인되면, 60%를 제1 비율로 확인할 수 있다.For example, when the first reference range is set to 5 Mbps to 10 Mbps and the basic compression rate of the first compression method is set to 60%, the transmitter 100 determines that the first value is 7 Mbps, 60 % can be identified as the first ratio.

S304 단계에서, 송신 장치(100)는 제1 비율로 제1 필드를 압축할 수 있다. 즉, 송신 장치(100)는 제1 필드의 컨텍스트가 제1 비율 만큼 짧아지도록, 제1 필드를 압축할 수 있다. 이를 위해, 제1 압축 방식에는 각 비율 별로 어떠한 방식을 통해 제1 필드를 압축할 것인지에 대한 압축 방식이 정해져 있으며, 송신 장치(100)는 제1 비율일 때의 압축 방식을 이용하여, 제1 비율로 제1 필드를 압축할 수 있다.In step S304, the transmitter 100 may compress the first field at a first ratio. That is, the transmitter 100 may compress the first field so that the context of the first field is shortened by a first ratio. To this end, in the first compression method, a compression method for compressing the first field through which method is determined for each ratio, and the transmitter 100 uses the compression method at the first ratio, The first field can be compressed with

S302 단계에서 제1 수치가 제1 기준 범위를 벗어나는 것으로 확인되면, S305 단계에서, 송신 장치(100)는 제1 수치가 제1 기준 범위의 최소값 보다 작은지 여부를 확인할 수 있다.If it is confirmed that the first numerical value is out of the first reference range in step S302, in step S305, the transmitter 100 may check whether the first numerical value is smaller than the minimum value of the first reference range.

S305 단계에서 제1 수치가 제1 기준 범위의 최소값 보다 작은 것으로 확인되면, S306 단계에서, 송신 장치(100)는 제1 수치가 작을수록 제1 비율을 높은 값으로 변경하여 제2 비율을 설정할 수 있다.When it is determined in step S305 that the first value is smaller than the minimum value of the first reference range, in step S306, the transmitter 100 may set the second ratio by changing the first ratio to a higher value as the first numerical value is smaller. there is.

제1 기준 범위가 5Mbps부터 10Mbps까지로 설정되어 있고, 제1 압축 방식의 기본 압축률이 60%로 설정되어 있는 경우, 송신 장치(100)는 제1 수치가 4Mbps로 확인되면, 제2 비율을 65%로 설정할 수 있고, 제1 수치가 3Mbps로 확인되면, 제2 비율을 70%로 설정할 수 있다.When the first reference range is set from 5 Mbps to 10 Mbps and the basic compression rate of the first compression method is set to 60%, the transmitter 100 sets the second ratio to 65 when the first value is confirmed to be 4 Mbps. It can be set as %, and if the first value is confirmed as 3 Mbps, the second ratio can be set as 70%.

S307 단계에서, 송신 장치(100)는 제2 비율로 제1 필드를 압축할 수 있다. 즉, 송신 장치(100)는 제1 필드의 컨텍스트가 제2 비율 만큼 짧아지도록, 제1 필드를 압축할 수 있다.In step S307, the transmitter 100 may compress the first field at a second ratio. That is, the transmitter 100 may compress the first field so that the context of the first field is shortened by the second ratio.

송신 장치(100)는 제1 수치가 제1 기준 범위를 벗어나 제1 기준 범위의 최소값 보다 작은 것으로 확인되면, 제1 수치가 작을수록 제1 비율을 높은 값으로 변경하여 제2 비율을 설정하고, 제2 비율로 제1 필드를 압축함으로써, 데이터 전송 속도가 느릴수록 더 높은 수치로 압축률을 조정하여, 데이터 전송이 느린 상황에서 더 많이 압축된 패킷이 전송되도록 처리할 수 있다.When the first numerical value is out of the first reference range and is smaller than the minimum value of the first reference range, the transmitting device 100 sets the second ratio by changing the first ratio to a higher value as the first numerical value is smaller, By compressing the first field at the second ratio, the compression rate may be adjusted to a higher value as the data transmission speed is slower, so that more compressed packets may be transmitted in a situation where the data transmission speed is slower.

S305 단계에서 제1 수치가 제1 기준 범위의 최소값 보다 큰 것으로 확인되면, 제1 수치가 제1 기준 범위를 벗어나 있으므로, 제1 수치가 제1 기준 범위의 최대값 보다 큰 것으로 확인될 수 있으며, 제1 수치가 제1 기준 범위의 최대값 보다 큰 것으로 확인되면, S308 단계에서, 송신 장치(100)는 제1 수치가 클수록 제1 비율을 낮은 값으로 변경하여 제3 비율을 설정할 수 있다.If it is confirmed in step S305 that the first numerical value is greater than the minimum value of the first reference range, since the first numerical value is out of the first reference range, it can be confirmed that the first numerical value is greater than the maximum value of the first reference range, If it is confirmed that the first value is greater than the maximum value of the first reference range, in step S308, the transmitting device 100 may set a third ratio by changing the first ratio to a lower value as the first numerical value is greater.

제1 기준 범위가 5Mbps부터 10Mbps까지로 설정되어 있고, 제1 압축 방식의 기본 압축률이 60%로 설정되어 있는 경우, 송신 장치(100)는 제1 수치가 11Mbps로 확인되면, 제3 비율을 55%로 설정할 수 있고, 제1 수치가 12Mbps로 확인되면, 제3 비율을 50%로 설정할 수 있다.When the first reference range is set from 5 Mbps to 10 Mbps and the basic compression rate of the first compression method is set to 60%, the transmitter 100 sets the third ratio to 55 when the first numerical value is confirmed to be 11 Mbps. It can be set as %, and if the first value is confirmed as 12 Mbps, the third ratio can be set as 50%.

S309 단계에서, 송신 장치(100)는 제3 비율로 제1 필드를 압축할 수 있다. 즉, 송신 장치(100)는 제1 필드의 컨텍스트가 제3 비율 만큼 짧아지도록, 제1 필드를 압축할 수 있다.In step S309, the transmitter 100 may compress the first field at a third ratio. That is, the transmitter 100 may compress the first field so that the context of the first field is shortened by a third ratio.

송신 장치(100)는 제1 수치가 제1 기준 범위를 벗어나 제1 기준 범위의 최대값 보다 큰 것으로 확인되면, 제1 수치가 클수록 제1 비율을 낮은 값으로 변경하여 제3 비율을 설정하고, 제3 비율로 제1 필드를 압축함으로써, 데이터 전송 속도가 빠를수록 더 낮은 수치로 압축률을 조정하여, 데이터 전송이 빠른 상황에서 더 적게 압축된 패킷이 전송되도록 처리할 수 있다.When the first numerical value is out of the first reference range and is greater than the maximum value of the first reference range, the transmitting device 100 sets a third ratio by changing the first ratio to a lower value as the first numerical value is larger, By compressing the first field at the third ratio, the compression rate may be adjusted to a lower value as the data transmission speed increases, so that less compressed packets may be transmitted in a situation where the data transmission speed is fast.

도 4는 일실시예에 따른 패킷 손실에 따라 추가 압축한 패킷을 더 전송하는 과정을 설명하기 위한 순서도이다.4 is a flowchart illustrating a process of further transmitting additionally compressed packets according to packet loss according to an embodiment.

도 4를 참조하면, 먼저, S401 단계에서, 송신 장치(100)는 수신 장치(200)로 전송된 제2 패킷이 손실된 것을 확인할 수 있다.Referring to FIG. 4 , first, in step S401, the transmitting device 100 may confirm that the second packet transmitted to the receiving device 200 is lost.

구체적으로, 송신 장치(100)가 수신 장치(200)로 제2 패킷을 전송한 경우, 수신 장치(200)는 제2 패킷이 수신된 것을 알려주는 응답 신호를 송신 장치(100)로 전송할 수 있으며, 송신 장치(100)는 수신 장치(200)로부터 응답 신호가 수신되면, 수신 장치(200)로 전송된 제2 패킷이 손실되지 않고 정상적으로 전송된 것으로 확인할 수 있으며, 일정 시간이 지나도 수신 장치(200)로부터 응답 신호가 수신되지 않으면, 수신 장치(200)로 전송된 제2 패킷이 손실된 것으로 확인할 수 있다.Specifically, when the transmitting device 100 transmits the second packet to the receiving device 200, the receiving device 200 may transmit a response signal indicating that the second packet has been received to the transmitting device 100, When the response signal is received from the receiving device 200, the transmitting device 100 can confirm that the second packet transmitted to the receiving device 200 is normally transmitted without being lost, and even after a certain period of time, the receiving device 200 ), it can be confirmed that the second packet transmitted to the receiving device 200 is lost.

S402 단계에서, 송신 장치(100)는 제1 패킷의 헤더에서 제1 필드 이외에 추가로 압축될 제2 필드를 결정할 수 있다. 이를 위해, 제1 패킷의 헤더에 포함되어 있는 복수의 필드 각각에는 우선순위가 설정되어 있으며, 송신 장치(100)는 복수의 필드 중 우선순위가 1순위로 설정되어 있는 필드를 제1 필드로 결정하고, 복수의 필드 중 우선순위가 2순위로 설정되어 있는 필드를 제2 필드로 결정할 수 있다. 복수의 필드 각각에 설정되는 우선순위는 관리자 요청에 의해 수동으로 설정될 수 있고, 송신 장치(100)에 의해 미리 정해진 규칙에 따라 자동으로 설정될 수도 있다.In step S402, the transmitter 100 may determine a second field to be additionally compressed in addition to the first field in the header of the first packet. To this end, priorities are set for each of a plurality of fields included in the header of the first packet, and the transmitter 100 determines a field whose priority is set to 1 among the plurality of fields as the first field. And, among the plurality of fields, a field whose priority is set to second may be determined as the second field. The priorities set for each of the plurality of fields may be manually set according to a manager's request, or may be automatically set by the transmission device 100 according to a predetermined rule.

S403 단계에서, 송신 장치(100)는 제2 필드를 압축하기 위해 설정되어 있는 제2 압축 방식을 확인할 수 있다.In step S403, the transmitter 100 may check a second compression method set to compress the second field.

S404 단계에서, 송신 장치(100)는 제1 압축 방식을 통해 제1 필드를 압축하고 제2 압축 방식을 통해 제2 필드를 압축할 수 있다. 이때, 송신 장치(100)는 제1 압축 방식을 기반으로, 제1 필드를 제거하거나 제1 필드의 컨텍스트를 미리 정해진 규칙에 따라 더 짧은 컨텍스트로 변경하여 압축할 수 있고, 제2 압축 방식을 기반으로, 제2 필드를 제거하거나 제2 필드의 컨텍스트를 미리 정해진 규칙에 따라 더 짧은 컨텍스트로 변경하여 압축할 수 있다.In step S404, the transmitter 100 may compress the first field through a first compression method and compress the second field through a second compression method. In this case, the transmitting device 100 may compress the first field by removing the first field or changing the context of the first field to a shorter context according to a predetermined rule based on the first compression method, and performing compression based on the second compression method. , compression may be performed by removing the second field or changing the context of the second field to a shorter context according to a predetermined rule.

S405 단계에서, 송신 장치(100)는 제1 압축 방식을 통해 제1 필드를 압축하고 제2 압축 방식을 통해 제2 필드를 압축하여, 제1 패킷의 헤더가 압축된 제3 패킷을 생성할 수 있다. 즉, 송신 장치(100)는 제1 패킷의 헤더에 포함되어 있는 복수의 필드 중 제1 필드 및 제2 필드만을 압축하여, 제1 패킷의 헤더에 대한 압축을 통해 제3 패킷을 생성할 수 있다.In step S405, the transmitter 100 may generate a third packet in which the header of the first packet is compressed by compressing the first field through the first compression method and compressing the second field through the second compression method. there is. That is, the transmitter 100 may generate a third packet by compressing only the first field and the second field among a plurality of fields included in the header of the first packet, and compressing the header of the first packet. .

S406 단계에서, 송신 장치(100)는 제3 패킷을 수신 장치(200)로 전송할 수 있다.In step S406, the transmitter 100 may transmit the third packet to the receiver 200.

도 5는 일실시예에 따라 공격 횟수에 따라 패킷을 재전송하는 과정을 설명하기 위한 순서도이다.5 is a flowchart illustrating a process of retransmitting packets according to the number of attacks according to an embodiment.

도 5를 참조하면, S501 단계에서, 송신 장치(100)는 수신 장치(200)로 전송된 제3 패킷이 손실된 것을 확인할 수 있다.Referring to FIG. 5 , in step S501 , the transmitting device 100 may confirm that the third packet transmitted to the receiving device 200 is lost.

S502 단계에서, 송신 장치(100)는 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보를 획득할 수 있다. 이때, 송신 장치(100)는 수신 장치(200)로부터 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보를 수신하여 획득할 수 있다. 여기서, 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보는 수신 장치(200)에서 어느 포트로 접속이 이루어져 트래픽이 발생하였는지에 대한 모니터링 정보, 수신 장치(200)에 접속한 IP 주소 별로 시간당 얼마만큼의 트래픽을 발생시켰는지에 대한 모니터링 정보 등을 포함할 수 있다.In step S502, the transmitting device 100 may obtain monitoring information on network traffic of the receiving device 200. In this case, the transmitting device 100 may receive and obtain monitoring information on network traffic of the receiving device 200 from the receiving device 200 . Here, the monitoring information for the network traffic of the receiving device 200 is monitoring information on which port the receiving device 200 is connected to and traffic is generated, and how much per hour for each IP address connected to the receiving device 200. Monitoring information on whether or not traffic is generated may be included.

일실시예에 따르면, 송신 장치(100)는 인공지능을 기반으로 장치에 공격으로 추정되는 접근이 있는지 여부를 검출할 수 있다.According to an embodiment, the transmitting device 100 may detect whether there is an approach estimated as an attack to the device based on artificial intelligence.

본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.In the present invention, artificial intelligence (AI) means a technology that imitates human learning ability, reasoning ability, perception ability, etc., and implements it with a computer, and concepts such as machine learning and symbolic logic can include Machine learning (ML) is an algorithm technology that classifies or learns the characteristics of input data by itself. Artificial intelligence technology is a machine learning algorithm that analyzes input data, learns the result of the analysis, and can make judgments or predictions based on the result of the learning. In addition, technologies that mimic the functions of the human brain, such as cognition and judgment, using machine learning algorithms, can also be understood as artificial intelligence. For example, technical fields such as linguistic understanding, visual understanding, inference/prediction, knowledge expression, and motion control may be included.

기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시키는 것을 의미할 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.Machine learning may refer to processing that trains a neural network model using experience of processing data. Through machine learning, computer software can mean improving its own data processing capabilities. A neural network model is constructed by modeling a correlation between data, and the correlation may be expressed by a plurality of parameters. The neural network model derives a correlation between data by extracting and analyzing features from given data, and optimizing the parameters of the neural network model by repeating this process can be referred to as machine learning. For example, a neural network model may learn a mapping (correlation) between an input and an output with respect to data given as an input/output pair. Alternatively, even when only input data is given, the neural network model may learn the relationship by deriving a regularity between given data.

인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망 모델(Artificial Neural Network), 컨볼루션 신경망 모델(Convolution Neural Network: CNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안 망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.An artificial intelligence learning model or a neural network model may be designed to implement a human brain structure on a computer, and may include a plurality of network nodes having weights while simulating neurons of a human neural network. A plurality of network nodes may have a connection relationship between them by simulating synaptic activities of neurons that transmit and receive signals through synapses. In the artificial intelligence learning model, a plurality of network nodes can send and receive data according to a convolutional connection relationship while being located in layers of different depths. The artificial intelligence learning model may be, for example, an artificial neural network model, a convolutional neural network model (CNN), and the like. As an embodiment, the artificial intelligence learning model may be machine-learned according to methods such as supervised learning, unsupervised learning, and reinforcement learning. Machine learning algorithms for performing machine learning include Decision Tree, Bayesian Network, Support Vector Machine, Artificial Neural Network, Ada-boost , Perceptron, Genetic Programming, Clustering, etc. may be used.

이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.Of these, CNNs are a type of multilayer perceptrons designed to use minimal preprocessing. A CNN consists of one or several convolution layers and general artificial neural network layers on top, and additionally utilizes weights and pooling layers. Thanks to this structure, CNN can fully utilize the input data with a two-dimensional structure. Compared to other deep learning structures, CNN shows good performance in both video and audio fields. CNNs can also be trained via standard back-propagation. CNNs are easier to train than other feedforward artificial neural network techniques and have the advantage of using fewer parameters.

컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.Convolutional networks are neural networks that contain sets of nodes with bound parameters. The increasing size of available training data and the availability of computational power, combined with algorithmic advances such as piecewise linear unit and dropout training, have greatly improved many computer vision tasks. With huge data sets, such as those available for many tasks today, overfitting is not critical, and increasing the size of the network improves test accuracy. Optimal use of computing resources becomes a limiting factor. To this end, a distributed, scalable implementation of deep neural networks can be used.

S503 단계에서, 송신 장치(100)는 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보를 송신 장치(100) 내에서 미리 학습된 인공 신경망에 적용할 수 있다.In step S503, the transmitting device 100 may apply the monitoring information on the network traffic of the receiving device 200 to the artificial neural network trained in advance in the transmitting device 100.

일실시예에 따르면, 인공 신경망은 장치의 네트워크 트래픽에 대한 모니터링 정보를 입력 받은 후, 장치에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력하는 알고리즘일 수 있다.According to an embodiment, the artificial neural network may be an algorithm that receives monitoring information on network traffic of a device and then outputs a detection result of whether an approach presumed to be an attack is detected by the device.

S504 단계에서, 송신 장치(100)는 인공 신경망의 출력을 기초로, 수신 장치(200)에 공격으로 추정되는 접근이 감지되었는지 여부를 검출할 수 있다.In step S504, the transmitting device 100 may detect whether an approach estimated as an attack to the receiving device 200 is detected based on the output of the artificial neural network.

예를 들어, 송신 장치(100)는 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보를 인공 신경망에 적용하여, 인공 신경망의 출력을 확인한 결과, 출력값이 0으로 확인되면, 수신 장치(200)에 공격으로 추정되는 접근이 감지되지 않은 것으로 검출하고, 출력값이 1로 확인되면, 수신 장치(200)에 공격으로 추정되는 접근이 감지된 것으로 검출할 수 있다.For example, the transmitting device 100 applies the monitoring information on the network traffic of the receiving device 200 to the artificial neural network, and as a result of checking the output of the artificial neural network, if the output value is confirmed as 0, the receiving device 200 When it is detected that the approach estimated as an attack is not detected and the output value is confirmed to be 1, it is possible to detect that the approach estimated as an attack is detected to the receiving device 200 .

인공 신경망은 장치의 네트워크 트래픽에 대한 모니터링 정보를 통해, 장치에 공격으로 추정되는 접근이 감지되었는지 분석하도록 학습될 수 있다. 인공 신경망은 도 7을 참조하여 후술되는 방법을 통해 학습될 수 있다. 이를 통해, 인공 신경망은 장치의 네트워크 트래픽에 대한 변동 상태를 고려하여, 장치에 공격으로 추정되는 접근이 감지되었는지를 분석하여 출력할 수 있다.The artificial neural network may be trained to analyze whether an approach presumed to be an attack has been detected through monitoring information on network traffic of the device. The artificial neural network may be learned through a method described later with reference to FIG. 7 . Through this, the artificial neural network may analyze and output whether an approach presumed to be an attack has been detected in consideration of a change in network traffic of the device.

S505 단계에서, 송신 장치(100)는 기준 기간 동안 수신 장치(200)에 공격으로 추정되는 접근이 몇 번 감지되었는지 확인하여, 수신 장치(200)가 기준 기간 동안 공격받은 횟수인 제1 공격 횟수를 산출할 수 있다. 여기서, 기준 기간은 실시예에 따라 상이하게 설정될 수 있으며, 기준 기간 동안 S502 단계부터 S504 단계까지의 과정이 반복 수행될 수 있다. 이를 통해, 송신 장치(100)는 기준 기간 동안 수신 장치(200)에 공격으로 추정되는 접근이 몇 번 감지되었는지 확인하여, 제1 공격 횟수를 산출할 수 있다.In step S505, the transmitting device 100 checks how many times an approach presumed to be an attack has been detected to the receiving device 200 during the reference period, and determines the number of first attacks, i.e., the number of times the receiving device 200 has been attacked during the reference period. can be calculated Here, the reference period may be set differently according to embodiments, and processes from step S502 to step S504 may be repeatedly performed during the reference period. Through this, the transmitting device 100 may calculate the number of first attacks by checking how many times an approach presumed to be an attack has been detected by the receiving device 200 during the reference period.

S506 단계에서, 송신 장치(100)는 제1 공격 횟수가 제1 기준 횟수 보다 적은지 여부를 확인할 수 있다. 여기서, 제1 기준 횟수는 기준 기간의 길이에 비례하여 상이하게 설정될 수 있다.In step S506, the transmitter 100 may check whether the number of first attacks is less than the first reference number. Here, the first reference number of times may be differently set in proportion to the length of the reference period.

S506 단계에서 제1 공격 횟수가 제1 기준 횟수 보다 적은 것으로 확인되면, S507 단계에서, 송신 장치(100)는 수신 장치(200)의 상태를 정상 상태로 판단할 수 있다.If it is confirmed in step S506 that the number of first attacks is less than the first reference number, in step S507, the transmitting device 100 may determine the state of the receiving device 200 as a normal state.

S508 단계에서, 송신 장치(100)는 수신 장치(200)의 상태가 정상 상태로 판단된 경우, 제3 패킷을 수신 장치(200)로 재전송할 수 있다.In step S508, the transmitting device 100 may retransmit the third packet to the receiving device 200 when it is determined that the receiving device 200 is in a normal state.

S509 단계에서, 송신 장치(100)는 수신 장치(200)로 재전송된 제3 패킷이 손실되었는지 여부를 확인할 수 있다.In step S509, the transmitting device 100 may check whether the third packet retransmitted to the receiving device 200 is lost.

S509 단계에서 수신 장치(200)로 재전송된 제3 패킷이 손실된 것으로 확인되면, S502 단계로 되돌아가, 송신 장치(100)는 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보를 다시 획득하여, 제1 공격 횟수를 다시 산출할 수 있다.When it is determined that the third packet retransmitted to the receiving device 200 is lost in step S509, the step returns to step S502, and the transmitting device 100 obtains monitoring information on the network traffic of the receiving device 200 again, The number of first attacks may be recalculated.

S506 단계에서 제1 공격 횟수가 제1 기준 횟수 보다 많은 것으로 확인되면, S510 단계에서, 송신 장치(100)는 제1 공격 횟수가 제2 기준 횟수 보다 적은지 여부를 확인할 수 있다. 여기서, 제2 기준 횟수는 제1 기준 횟수 보다 많은 값으로 설정될 수 있다.If it is determined in step S506 that the first number of attacks is greater than the first reference number, in step S510, the transmitter 100 may determine whether the first number of attacks is less than the second reference number. Here, the second reference number of times may be set to a value greater than the first reference number of times.

S510 단계에서 제1 공격 횟수가 제2 기준 횟수 보다 적은 것으로 확인되면, S511 단계에서, 송신 장치(100)는 수신 장치(200)의 상태를 경고 상태로 판단할 수 있다.If it is confirmed in step S510 that the number of first attacks is less than the second reference number, in step S511, the transmitting device 100 may determine the state of the receiving device 200 as a warning state.

S511 단계 이후 S601 단계가 수행될 수 있으며, 이와 관련된 자세한 설명은 도 6을 참조하여 후술하기로 한다.Step S601 may be performed after step S511, and a detailed description related thereto will be described later with reference to FIG. 6.

S510 단계에서 제1 공격 횟수가 제2 기준 횟수 보다 많은 것으로 확인되면, S512 단계에서, 송신 장치(100)는 수신 장치(200)의 상태를 위험 상태로 판단할 수 있다.If it is confirmed in step S510 that the number of first attacks is greater than the second reference number, in step S512, the transmitting device 100 may determine the state of the receiving device 200 as a dangerous state.

S513 단계에서, 송신 장치(100)는 수신 장치(200)의 상태가 위험 상태로 판단된 경우, 수신 장치(200)로 패킷이 전송되지 않도록 제어할 수 있다.In step S513, when the state of the receiving device 200 is determined to be in a dangerous state, the transmitting device 100 may control packets not to be transmitted to the receiving device 200.

S513 단계 이후, 일정 기간이 지나면, S502 단계로 되돌아가, 송신 장치(100)는 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보를 다시 획득하여, 제1 공격 횟수를 다시 산출할 수 있다.After step S513, when a certain period of time has elapsed, returning to step S502, the transmitting device 100 may re-acquire monitoring information on network traffic of the receiving device 200 and calculate the number of first attacks again.

도 6은 일실시예에 따른 수신 장치의 상태가 경고 상태로 판단된 경우 추가 압축한 패킷을 더 전송하는 과정을 설명하기 위한 순서도이다.6 is a flowchart illustrating a process of further transmitting an additionally compressed packet when the state of a receiving device is determined to be in a warning state according to an embodiment.

도 6을 참조하면, 먼저, S601 단계에서, 송신 장치(100)는 수신 장치(200)의 상태가 경고 상태로 판단된 것을 확인할 수 있다.Referring to FIG. 6 , first, in step S601, the transmitting device 100 may confirm that the state of the receiving device 200 is determined to be a warning state.

S602 단계에서, 송신 장치(100)는 송신 장치(100)는 제1 패킷의 헤더에서 제1 필드 및 제2 필드 이외에 추가로 압축될 제3 필드를 결정할 수 있다. 이를 위해, 제1 패킷의 헤더에 포함되어 있는 복수의 필드 각각에는 우선순위가 설정되어 있으며, 송신 장치(100)는 복수의 필드 중 우선순위가 1순위로 설정되어 있는 필드를 제1 필드로 결정하고, 복수의 필드 중 우선순위가 2순위로 설정되어 있는 필드를 제2 필드로 결정하고, 복수의 필드 중 우선순위가 3순위로 설정되어 있는 필드를 제3 필드로 결정할 수 있다.In step S602, the transmitter 100 may determine a third field to be additionally compressed in addition to the first field and the second field in the header of the first packet. To this end, priorities are set for each of a plurality of fields included in the header of the first packet, and the transmitter 100 determines a field whose priority is set to 1 among the plurality of fields as the first field. A field whose priority is set to 2nd among the plurality of fields may be determined as a second field, and a field whose priority is set to 3rd among the plurality of fields may be determined as a third field.

S603 단계에서, 송신 장치(100)는 제3 필드를 압축하기 위해 설정되어 있는 제3 압축 방식을 확인할 수 있다.In step S603, the transmitter 100 may check a third compression method set to compress the third field.

S604 단계에서, 송신 장치(100)는 제1 압축 방식을 통해 제1 필드를 압축하고 제2 압축 방식을 통해 제2 필드를 압축하고 제3 압축 방식을 통해 제3 필드를 압축할 수 있다. 이때, 송신 장치(100)는 제1 압축 방식을 기반으로, 제1 필드를 제거하거나 제1 필드의 컨텍스트를 미리 정해진 규칙에 따라 더 짧은 컨텍스트로 변경하여 압축할 수 있고, 제2 압축 방식을 기반으로, 제2 필드를 제거하거나 제2 필드의 컨텍스트를 미리 정해진 규칙에 따라 더 짧은 컨텍스트로 변경하여 압축할 수 있고, 제3 압축 방식을 기반으로, 제3 필드를 제거하거나 제3 필드의 컨텍스트를 미리 정해진 규칙에 따라 더 짧은 컨텍스트로 변경하여 압축할 수 있다.In step S604, the transmitter 100 may compress the first field through a first compression method, compress the second field through a second compression method, and compress the third field through a third compression method. In this case, the transmitting device 100 may compress the first field by removing the first field or changing the context of the first field to a shorter context according to a predetermined rule based on the first compression method, and performing compression based on the second compression method. As a result, the second field may be removed or the context of the second field may be compressed by changing to a shorter context according to a predetermined rule, and based on the third compression method, the third field may be removed or the context of the third field may be compressed. It can be compressed by changing to a shorter context according to predetermined rules.

S605 단계에서, 송신 장치(100)는 제1 압축 방식을 통해 제1 필드를 압축하고 제2 압축 방식을 통해 제2 필드를 압축하고 제3 압축 방식을 통해 제3 필드를 압축하여, 제1 패킷의 헤더가 압축된 제4 패킷을 생성할 수 있다. 즉, 송신 장치(100)는 제1 패킷의 헤더에 포함되어 있는 복수의 필드 중 제1 필드, 제2 필드 및 제3 필드만을 압축하여, 제1 패킷의 헤더에 대한 압축을 통해 제4 패킷을 생성할 수 있다.In step S605, the transmitting device 100 compresses the first field through the first compression method, compresses the second field through the second compression method, and compresses the third field through the third compression method, thereby generating the first packet. A fourth packet in which the header of is compressed may be generated. That is, the transmitter 100 compresses only the first field, the second field, and the third field among a plurality of fields included in the header of the first packet, and compresses the header of the first packet to obtain a fourth packet. can create

S606 단계에서, 송신 장치(100)는 제4 패킷을 수신 장치(200)로 전송할 수 있다.In step S606, the transmitter 100 may transmit the fourth packet to the receiver 200.

S607 단계에서, 송신 장치(100)는 수신 장치(200)로 전송된 제4 패킷이 손실되었는지 여부를 확인할 수 있다.In step S607, the transmitting device 100 may check whether the fourth packet transmitted to the receiving device 200 is lost.

S607 단계에서 수신 장치(200)로 전송된 제4 패킷이 손실된 것으로 확인되면, S502 단계로 되돌아가, 송신 장치(100)는 수신 장치(200)의 네트워크 트래픽에 대한 모니터링 정보를 다시 획득하여, 제1 공격 횟수를 다시 산출할 수 있다.If it is confirmed in step S607 that the fourth packet transmitted to the receiving device 200 is lost, returning to step S502, the transmitting device 100 obtains monitoring information on the network traffic of the receiving device 200 again, The number of first attacks may be recalculated.

도 7은 일실시예에 따른 인공 신경망의 학습을 설명하기 위한 도면이다.7 is a diagram for explaining learning of an artificial neural network according to an embodiment.

일실시예에 따르면, 인공 신경망은 장치의 네트워크 트래픽에 대한 모니터링 정보를 입력 받은 후, 장치에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력하는 알고리즘일 수 있다. 인공 신경망의 학습이 이루어지는 장치는 학습된 인공 신경망을 이용하여 장치가 공격을 받았는지 여부를 분석하는 송신 장치(100)와 동일한 장치일 수 있고, 별개의 장치일 수도 있다. 이하에서는 인공 신경망이 학습되는 과정을 설명한다.According to an embodiment, the artificial neural network may be an algorithm that receives monitoring information on network traffic of a device and then outputs a detection result of whether an approach presumed to be an attack is detected by the device. The device in which the artificial neural network is learned may be the same device as the transmitter 100 that analyzes whether or not the device has been attacked using the learned artificial neural network, or may be a separate device. Hereinafter, a process of learning an artificial neural network will be described.

먼저, S701 단계에서, 학습 장치는 특정 장치의 네트워크 트래픽에 대한 모니터링 정보를 기초로 입력을 생성할 수 있다.First, in step S701, the learning device may generate an input based on monitoring information on network traffic of a specific device.

구체적으로, 학습 장치는 특정 장치의 네트워크 트래픽에 대한 모니터링 정보를 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 장치의 네트워크 트래픽에 대한 모니터링 정보를 인공 신경망의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.Specifically, the learning device may perform a process of pre-processing monitoring information about network traffic of a specific device. The monitoring information on the network traffic of the preprocessed device may be used as input to the artificial neural network, or the input may be generated through a normal process of removing unnecessary information.

S702 단계에서, 학습 장치는 인공 신경망에 입력을 적용할 수 있다. 인공 신경망은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 인공 신경망은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다.In step S702, the learning device may apply input to the artificial neural network. The artificial neural network may be an artificial neural network that is trained according to reinforcement learning. The artificial neural network may be a Q-Network, a Depp Q-Network (DQN), or a relational network (RL) structure suitable for outputting abstract inference through reinforcement learning.

강화 학습에 따라 학습되는 인공 신경망은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다. 예를 들어, 제1 보상은 장치의 네트워크 트래픽이 과다하게 발생할수록 장치에 공격으로 추정되는 접근이 감지된 것으로 검출하면 보상값이 높아질 수 있으며, 제2 보상은 동일한 IP 주소로 과다한 접속이 이루어질수록 장치에 공격으로 추정되는 접근이 감지된 것으로 검출하면 보상값이 높아질 수 있다.An artificial neural network trained by reinforcement learning may be updated and optimized by reflecting evaluations on various rewards. For example, the first reward may increase the reward value when it is detected that an approach presumed to be an attack is detected as network traffic of the device is excessively generated, and the second reward may be increased as excessive access to the same IP address is made. If it is detected that an approach presumed to be an attack on the device has been detected, the reward value may be increased.

S703 단계에서, 송신 장치(100)는 인공 신경망으로부터 출력을 획득할 수 있다. 인공 신경망의 출력은 장치에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과이다.In step S703, the transmitter 100 may obtain an output from the artificial neural network. The output of the artificial neural network is the detection result of whether or not an approach presumed to be an attack has been detected.

인공 신경망은 장치의 네트워크 트래픽에 대한 모니터링 정보를 통해, 장치에 공격으로 추정되는 접근이 감지되었는지 분석하여, 장치에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력할 수 있다.The artificial neural network may analyze whether an approach presumed to be an attack is detected through monitoring information on network traffic of the device, and output a detection result indicating whether an approach presumed to be an attack is detected.

S704 단계에서, 송신 장치(100)는 인공 신경망의 출력을 평가하여 보상을 지급할 수 있다. 이때, 출력의 평가는 제1 보상, 제2 보상 등으로 나뉠 수 있다.In step S704, the transmitter 100 may evaluate the output of the artificial neural network and provide a reward. At this time, the evaluation of the output may be divided into first compensation, second compensation, and the like.

구체적으로, 송신 장치(100)는 장치의 네트워크 트래픽이 과다하게 발생할수록 장치에 공격으로 추정되는 접근이 감지된 것으로 검출하면 제1 보상을 많이 수여하고, 동일한 IP 주소로 과다한 접속이 이루어질수록 장치에 공격으로 추정되는 접근이 감지된 것으로 검출하면 제2 보상을 많이 수여할 수 있다.Specifically, the transmitting device 100 awards a large number of first rewards when it detects that an approach presumed to be an attack is detected as network traffic of the device is excessively generated, and as excessive access to the same IP address is made, the device When it is detected that an approach presumed to be an attack has been detected, many second rewards may be awarded.

S705 단계에서, 송신 장치(100)는 평가를 기초로 인공 신경망을 갱신할 수 있다.In step S705, the transmitter 100 may update the artificial neural network based on the evaluation.

구체적으로, 송신 장치(100)는 인공 신경망이 장치의 네트워크 트래픽에 대한 모니터링 정보를 통해 장치에 공격으로 추정되는 접근이 감지되었는지 여부를 분석하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 인공 신경망을 갱신할 수 있다.Specifically, the transmitting device 100 expects the sum of reward values in an environment in which an artificial neural network analyzes whether or not an approach presumed to be an attack has been detected through monitoring information on network traffic of the device. The artificial neural network may be updated through a process of optimizing a policy for determining actions to be taken in specific states so as to maximize an expectation.

한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다.Meanwhile, the process of optimizing the policy may be performed through a process of estimating the maximum value of the expected value of the sum of rewards or the maximum value of the Q-function, or estimating the minimum value of the loss function of the Q-function. Estimation of the minimum value of the loss function may be performed through stochastic gradient descent (SGD) or the like. The process of optimizing the policy is not limited thereto, and various optimization algorithms used in reinforcement learning may be used.

송신 장치(100)는 상기와 같은 인공 신경망의 학습 과정을 반복함으로써, 인공 신경망을 점진적으로 갱신시킬 수 있다. 이를 통해, 송신 장치(100)는 장치의 네트워크 트래픽에 대한 모니터링 정보를 통해, 장치에 공격으로 추정되는 접근이 감지되었는지 여부에 대한 검출 결과를 출력하는 인공 신경망을 학습시킬 수 있다.The transmitting device 100 may gradually update the artificial neural network by repeating the learning process of the artificial neural network as described above. Through this, the transmitting device 100 may train an artificial neural network that outputs a detection result of whether an approach presumed to be an attack has been detected by the device through monitoring information on network traffic of the device.

즉, 송신 장치(100)는 장치의 네트워크 트래픽에 대한 모니터링 정보를 통해 장치에 공격으로 추정되는 접근이 감지되었는지 여부에 대해 분석할 때, 제1 보상, 제2 보상 등을 통한 강화 학습을 반영하여, 분석 기준을 조정함으로써, 인공 신경망을 학습시킬 수 있다.That is, when analyzing whether or not an approach presumed to be an attack has been detected through monitoring information on network traffic of the device, the transmitting device 100 reflects reinforcement learning through first compensation, second compensation, and the like, , the artificial neural network can be trained by adjusting the analysis criteria.

일실시예에 따르면, 송신 장치(100)는 방송국으로 구현되고, 수신 장치(200)는 방송 프로그램을 표시하는 디스플레이 기기로 구현될 수 있다. 이때, 방송국은 방송 프로그램을 제공하는 곳으로, 방송 프로그램은 지상파 방송, 케이블 방송, IPTV 방송, 라디오 방송 등을 포함할 수 있다.According to an embodiment, the transmitting device 100 may be implemented as a broadcasting station, and the receiving device 200 may be implemented as a display device displaying a broadcasting program. In this case, a broadcasting station is a place that provides a broadcasting program, and the broadcasting program may include terrestrial broadcasting, cable broadcasting, IPTV broadcasting, radio broadcasting, and the like.

송신 장치(100)는 인공지능을 통해 방송 프로그램에 광고 콘텐츠가 미리 정의된 기준으로 포함되었는지 확인하는 모니터링을 자동화할 수 있다.The transmitting device 100 may automate monitoring to determine whether advertising content is included in a broadcast program based on a predefined standard through artificial intelligence.

또한, 송신 장치(100)는 광고 콘텐츠가 포함된 방송 프로그램이 방영된 후 실제 광고 효과가 있었는지 확인할 수 있고, 예산, 제품과 프로그램의 매칭도, 시청률을 통해 프로그램의 제품 노출 요소를 확인할 수 있고, 각 제품 광고에 적합한 프로그램을 추천할 수 있다.In addition, the transmitting device 100 can check whether there is an actual advertising effect after the broadcasting program including advertising content is aired, and can check product exposure elements of the program through budget, matching between products and programs, and viewership ratings. , can recommend suitable programs for each product advertisement.

도 8은 일실시예에 따른 인공지능 기반 광고 콘텐츠 모니터링 자동화 과정을 설명하기 위한 순서도이다.8 is a flowchart illustrating a process of automating monitoring of advertisement content based on artificial intelligence according to an embodiment.

도 8을 참조하면, 먼저, S801 단계에서, 송신 장치(100)는 제1 제품의 광고 콘텐츠가 미리 정의된 조건에 따라 제1 방송 프로그램에 포함되는 것으로 설정되어 있는 것을 확인할 수 있다.Referring to FIG. 8 , first, in step S801, the transmission device 100 may check that the advertisement content of the first product is set to be included in the first broadcasting program according to a predefined condition.

S802 단계에서, 송신 장치(100)는 패킷 전송을 통해 수신 장치(200)로 제1 방송 프로그램의 비디오인 제1 비디오가 전송된 것을 확인할 수 있다. 이를 위해, 송신 장치(100)는 제1 제품의 광고 콘텐츠가 포함된 제1 방송 프로그램으로부터 비디오 타입을 추출하여 제1 비디오를 생성할 수 있다. 즉, 송신 장치(100)는 제1 제품의 광고 콘텐츠가 미리 정의된 조건에 따라 방송 프로그램에 포함되어 있는지 여부를 모니터링하고자 하는 제1 방송 프로그램으로부터 비디오 타입을 추출하여 제1 비디오를 생성할 수 있다. 이때, 미리 정의된 조건은 광고사와 방송프로그램을 만드는 제작진이 프로그램에 제품의 이미지를 어떻게 얼마나 넣을 것인지 미리 협의한 조건으로 예를 들어 제품의 이미지가 정면으로 나와야 하는지, 몇 분 이상 제품이 노출되어야 하는지 등이 포함될 수 있다.In step S802, the transmitting device 100 may confirm that a first video, which is a video of a first broadcasting program, is transmitted to the receiving device 200 through packet transmission. To this end, the transmitting device 100 may generate a first video by extracting a video type from a first broadcasting program including advertising content of the first product. That is, the transmitting device 100 may generate a first video by extracting a video type from a first broadcasting program to be monitored whether advertisement content of the first product is included in the broadcasting program according to a predefined condition. . At this time, the predefined condition is the condition in which the advertising company and the producers who make the broadcasting program agree in advance on how and how much the product image will be included in the program. etc. may be included.

S803 단계에서, 송신 장치(100)는 제1 비디오로부터 미리 정의된 주기마다 프레임들을 추출할 수 있다. 구체적으로, 송신 장치(100)는 제1 비디오를 모니터링할 때 몇 개의 샘플을 추출할지 미리 설정하여 정의된 주기마다 프레임들을 추출할 수 있다. 예를 들어, 프레임이 많이 바뀌는 다채로운 프로그램일 경우, 프레임이 적게 바뀌는 단조로운 프로그램보다 주기를 짧게 하여 많은 프레임 샘플들을 추출할 수 있다.In step S803, the transmitting device 100 may extract frames from the first video every predefined period. Specifically, when monitoring the first video, the transmitting device 100 may pre-set the number of samples to be extracted and extract frames at defined intervals. For example, in the case of a colorful program with many frame changes, many frame samples can be extracted by shortening the cycle compared to a monotonous program with few frame changes.

S804 단계에서, 송신 장치(100)는 추출된 프레임들 중 어느 하나의 제1 프레임으로부터 제1 제품에 대응하는 제1 제품 객체의 유무를 판단하고 제1 제품 객체를 검출할 수 있다. In step S804, the transmission device 100 may determine whether or not a first product object corresponding to the first product exists from any one of the extracted first frames and detect the first product object.

S805 단계에서, 송신 장치(100)는 제1 제품 객체의 유무, 제1 프레임 내 제1 제품 객체가 차지하는 비율, 제1 제품 객체의 위치, 제1 제품 객체가 노출되는 방향, 제1 제품 객체 내 브랜드 로고의 유무 및 제1 제품 색상 중 적어도 하나를 포함하는 제1 제품 노출 변수를 생성할 수 있다. In step S805, the transmission device 100 determines the presence or absence of the first product object, the ratio occupied by the first product object in the first frame, the position of the first product object, the direction in which the first product object is exposed, and the first product object within the first product object. A first product exposure variable including at least one of the presence or absence of a brand logo and the first product color may be generated.

S806 단계에서, 송신 장치(100)는 프레임들에 대응하는 제품 노출 변수들을 이용하여, 제1 비디오에서 제1 제품 광고 콘텐츠가 노출된 정도와 방식을 지표화한 제품 노출 요소를 생성할 수 있다.In step S806 , the transmitting device 100 may generate a product exposure element indicating the degree and method of exposure of the first product advertisement content in the first video using product exposure variables corresponding to the frames.

S807 단계에서, 송신 장치(100)는 방송 프로그램의 평균 시청률, 방송 프로그램의 시청 연령대와 제1 제품의 구매층과의 매칭도 및 광고 콘텐츠의 예산에 기초하여 기준 제품 노출 요소를 생성할 수 있다.In step S807, the transmitting device 100 may generate a reference product exposure factor based on the average viewing rate of the broadcasting program, the degree of matching between the viewing age group of the broadcasting program and the purchasing group of the first product, and the budget of the advertising content.

S808 단계에서, 송신 장치(100)는 제품 노출 요소가 기준 제품 노출 요소를 충족하였는지 여부를 기준으로 제1 제품의 광고 콘텐츠가 미리 정의된 조건에 따라 제1 방송 프로그램에 포함되어 있는지 여부를 판단할 수 있다.In step S808, the transmitting device 100 determines whether the advertisement content of the first product is included in the first broadcasting program according to a predefined condition based on whether the product exposure factor meets the reference product exposure factor. can

도 9는 일실시예에 따른 인공지능 기반 광고 콘텐츠 모니터링 자동화 과정의 개념도이다.9 is a conceptual diagram of an artificial intelligence-based advertisement content monitoring automation process according to an embodiment.

일 실시 예에서, 송신 장치(100)는 제1 방송 프로그램의 프레임들로부터 프레임들 중 n개의 샘플 프레임을 추출하고, 제1 프레임에 대응하는 제1 제품 노출 변수, 제2 프레임에 대응하는 제2 제품 노출 변수, 제n 프레임에 대응하는 제n 제품 노출 변수 등 추출한 프레임에 대응하는 제품 노출 변수를 생성하고, 제품 노출 변수를 이용하여 제품 노출 요소를 생성하고, 생성된 제품 노출 요소와 기준 제품 노출 요소를 비교하여 광고 콘텐츠가 방송 프로그램에 미리 정의된 조건에 따라 포함되었는지 모니터링할 수 있다.In one embodiment, the transmission device 100 extracts n sample frames from among the frames of the first broadcast program, a first product exposure variable corresponding to the first frame, and a second product exposure variable corresponding to the second frame. Create product exposure variables corresponding to the extracted frames, such as product exposure variables and n-th product exposure variables corresponding to the n-th frame, create product exposure factors using the product exposure variables, and create product exposure factors and standard product exposure. By comparing the elements, it is possible to monitor whether advertising content is included in a broadcast program according to predefined conditions.

도 10은 일실시예에 따른 기준 제품 노출 요소를 도출하는 과정을 설명하기 위한 순서도이다.10 is a flowchart illustrating a process of deriving a reference product exposure factor according to an embodiment.

도 10을 참조하면, 먼저, S1001 단계에서, 송신 장치(100)는 예산 정보에 기초하여 제1 입력 신호를 생성할 수 있다.Referring to FIG. 10 , first, in step S1001, the transmitter 100 may generate a first input signal based on budget information.

구체적으로, 송신 장치(100)는 예산 정보를 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 예산 정보는 제1 인공 신경망의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.Specifically, the transmitter 100 may perform a process of pre-processing budget information. The preprocessed budget information may be used as an input to the first artificial neural network, or input may be generated through a normal process of removing unnecessary information.

S1002 단계에서, 송신 장치(100)는 제1 입력 신호를 제1 인공 신경망에 적용하여 제1 출력 신호를 생성할 수 있다. 제1 인공 신경망은 입력된 예산 정보에 따라 광고 효과를 추론하는 인공지능 모델로 트레이닝 예산 정보들, 트레이닝 예산 정보들에 각각 대응하는 트레이닝 광고 효과 지표들 및 제1 출력 신호들에 기초하여 학습될 수 있다. 제1 인공 신경망은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 제1 인공 신경망은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다. 강화 학습에 따라 학습되는 제1 인공 신경망은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다. 예를 들어, 제1 보상은 예산 정보에 적합한 광고 효과 지표를 선정할수록 보상값이 높아질 수 있으며, 제2 보상은 예산 정보에 적합하지 않은 광고 효과 지표를 선정하지 않을수록 보상값이 높아질 수 있다.In step S1002, the transmitter 100 may generate a first output signal by applying the first input signal to the first artificial neural network. The first artificial neural network is an artificial intelligence model that infers advertisement effects according to input budget information, and can be learned based on training budget information, training advertisement effect indicators corresponding to the training budget information, and first output signals. there is. The first artificial neural network may be an artificial neural network trained according to reinforcement learning. The first artificial neural network may be a Q-Network, a Depp Q-Network (DQN), or a relational network (RL) structure suitable for outputting abstract inference through reinforcement learning. The first artificial neural network learned through reinforcement learning may be updated and optimized by reflecting evaluations on various rewards. For example, the reward value of the first reward may increase as an advertisement effect index suitable for the budget information is selected, and the reward value of the second compensation may increase as an advertisement effect index unsuitable for the budget information is not selected.

S1003 단계에서, 송신 장치(100)는 제1 출력 신호에 기초하여 제1 광고 효과 지표를 생성할 수 있다. 여기서, 광고 효과 지표는 판매 증가율, 브랜드 인지도, 호감도 증가율, SNS 검색/ 조회 건수 증가율을 포함할 수 있다.In step S1003, the transmitting device 100 may generate a first advertisement effect indicator based on the first output signal. Here, the advertising effect index may include a sales increase rate, brand awareness, a favorable impression increase rate, and an increase rate of SNS searches/reviews.

광고 효과 지표는 판매 증가율 지표, 호감도 증가율 지표 및 조회수 증가율 지표에 기초하여 정의될 수 있고, 판매 증가율 지표는 방송 프로그램의 방영에 따라 방영 전후 대비 미리 정의된 기간 동안에 제품의 판매량이 증가한 정도를 나타내는 것이고, 호감도 증가율 지표는 방송 프로그램의 방영에 따라 방영 전후 대비 미리 정의된 기간 동안에 제품에 대한 호감도가 증가한 정도를 나타내는 것이고, 조회수 증가율 지표는 방송 프로그램의 방영에 따라 방영 전후 대비 미리 정의된 기간 동안에 제품에 대해 미리 정의된 SNS(Social Network Service)상 조회건수가 증가한 정도를 나타내는 것이다.The advertising effect index may be defined based on a sales growth rate index, a favorable impression growth rate index, and a view increase rate index, and the sales growth rate index indicates the degree to which the sales volume of a product has increased during a predefined period compared to before and after airing according to the airing of a broadcasting program. , The preference increase rate index indicates the degree to which the preference for a product has increased during a pre-defined period compared to before and after airing according to the airing of a broadcast program, and the number of views increase rate indicator indicates the degree to which a product has increased during a pre-defined period compared to before and after airing according to the airing of a broadcast program. It indicates the degree of increase in the number of views on a predefined SNS (Social Network Service).

제1 인공 신경망은 예산 정보를 통해, 예산 정보에 적합한 광고 효과 지표를 선정하여, 선정된 광고 효과 지표에 대한 정보를 출력할 수 있다. The first artificial neural network may select an advertisement effect index suitable for the budget information through the budget information, and output information on the selected advertisement effect index.

이때, 출력을 평가하여 보상을 지급할 수 있다. 송신 장치(100)는 예산 정보에 적합한 광고 효과 지표를 선정할수록 제1 보상을 많이 수여하고, 예산 정보에 적합하지 않은 광고 효과 지표를 선정하지 않을수록 제2 보상을 많이 수여할 수 있다.At this time, the output may be evaluated and compensation may be provided. The transmitting device 100 may award more first rewards as advertising effect indicators suitable for the budget information are selected, and may award more second rewards as advertisement effect indicators unsuitable for the budget information are not selected.

또한, 보상에 대한 평가를 기초로 제1 인공 신경망을 갱신할 수 있다. 제1 인공 신경망이 예산 정보를 통해, 광고 효과 지표를 선정하여 추출하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 제1 인공 신경망을 갱신할 수 있다. 한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다. 상기와 같은 제1 인공 신경망의 학습 과정을 반복함으로써, 제1 인공 신경망을 점진적으로 갱신시킬 수 있다.In addition, the first artificial neural network may be updated based on the evaluation of the reward. In an environment in which the first artificial neural network selects and extracts an advertising effect index through budget information, actions to be taken in specific states so that the expectation of the sum of rewards is maximized ( The first artificial neural network may be updated through a process of optimizing a policy for determining actions. Meanwhile, the process of optimizing the policy may be performed through a process of estimating the maximum value of the expected value of the sum of rewards or the maximum value of the Q-function, or estimating the minimum value of the loss function of the Q-function. Estimation of the minimum value of the loss function may be performed through stochastic gradient descent (SGD) or the like. The process of optimizing the policy is not limited thereto, and various optimization algorithms used in reinforcement learning may be used. By repeating the learning process of the first artificial neural network as described above, the first artificial neural network can be gradually updated.

이를 통해, 송신 장치(100)는 예산 정보를 통해 광고 효과 지표를 출력하는 제1 인공 신경망을 학습시킬 수 있다. Through this, the transmitter 100 may train the first artificial neural network that outputs the advertisement effect index through the budget information.

S1004 단계에서, 송신 장치(100)는 제1 광고 효과 지표, 평균 시청률 및 매칭도에 기초하여 제2 입력 신호를 생성할 수 있다.In step S1004, the transmitting device 100 may generate a second input signal based on the first advertising effect index, average viewership rating, and matching degree.

구체적으로, 송신 장치(100)는 제1 광고 효과 지표, 평균 시청률 및 매칭도를 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 제1 광고 효과 지표, 평균 시청률 및 매칭도는 제2 인공 신경망의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.Specifically, the transmitting device 100 may perform a process of pre-processing the first advertising effect index, average viewership rating, and matching degree. The preprocessed first advertising effect index, average viewership rating, and matching degree may be used as inputs to the second artificial neural network, or input may be generated through a normal process of removing unnecessary information.

S1005 단계에서, 송신 장치(100)는 제2 입력 신호를 제2 인공 신경망에 적용하여 제2 출력 신호를 생성할 수 있다. 제2 인공 신경망은 입력된 광고 효과 지표, 시청률, 시청 연령대와 구매층과의 매칭도에 따라 제품이 방송 프로그램에 노출이 어느정도 되어야 하는지에 대한 정도를 추론하는 인공지능 모델로, 트레이닝 광고 효과 지표들, 트레이닝 평균 시청률들, 트레이닝 매칭도들 및 트레이닝 광고 효과 지표들에 각각 대응하는 트레이닝 기준 제품 노출 요소들 및 제2 출력 신호들에 기초하여 학습될 수 있다. 제2 인공 신경망은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 제2 인공 신경망은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다. 강화 학습에 따라 학습되는 제2 인공 신경망은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다. 예를 들어, 제1 보상은 제1 광고 효과 지표, 평균 시청률 및 매칭도에 적합한 기준 제품 노출 요소를 선정할수록 보상값이 높아질 수 있으며, 제2 보상은 제1 광고 효과 지표, 평균 시청률 및 매칭도에 적합하지 않은 기준 제품 노출 요소를 선정하지 않을수록 보상값이 높아질 수 있다.In step S1005, the transmitter 100 may generate a second output signal by applying the second input signal to the second artificial neural network. The second artificial neural network is an artificial intelligence model that infers the extent to which a product should be exposed to a broadcast program according to the input advertising effect index, viewership rating, matching degree between viewing age group and purchasing group, and trains advertising effectiveness indicators , training average viewership ratings, training matching degrees, and training advertisement effect indexes respectively corresponding to training reference product exposure factors and second output signals. The second artificial neural network may be an artificial neural network trained according to reinforcement learning. The second artificial neural network may be a Q-Network, a Depp Q-Network (DQN), or a relational network (RL) structure suitable for outputting abstract inference through reinforcement learning. The second artificial neural network learned through reinforcement learning may be updated and optimized by reflecting evaluations on various rewards. For example, the first reward may increase the reward value as a standard product exposure element suitable for the first advertising effect index, average viewership rating, and matching degree is selected, and the second reward may increase the first advertising effectiveness index, average viewership rating, and matching degree. The compensation value can be increased as the standard product exposure factor that is not suitable for the product is not selected.

S1006 단계에서, 송신 장치(100)는 제2 출력 신호에 기초하여 기준 제품 노출 요소를 생성할 수 있다. 제2 인공 신경망은 제1 광고 효과 지표, 평균 시청률 및 매칭도를 통해, 제1 광고 효과 지표, 평균 시청률 및 매칭도에 적합한 기준 제품 노출 요소를 선정하여, 선정된 기준 제품 노출 요소에 대한 정보를 출력할 수 있다. In step S1006, the transmission device 100 may generate a reference product exposure element based on the second output signal. The second artificial neural network selects a reference product exposure element suitable for the first advertisement effect index, average viewership rating, and matching degree through the first advertisement effectiveness index, average viewership rating, and matching degree, and provides information on the selected reference product exposure element. can be printed out.

이때, 출력을 평가하여 보상을 지급할 수 있다. 송신 장치(100)는 제1 광고 효과 지표, 평균 시청률 및 매칭도에 적합한 기준 제품 노출 요소를 선정할수록 제1 보상을 많이 수여하고, 제1 광고 효과 지표, 평균 시청률 및 매칭도에 적합하지 않은 기준 제품 노출 요소를 선정하지 않을수록 제2 보상을 많이 수여할 수 있다.At this time, the output may be evaluated and compensation may be provided. The transmitting device 100 awards more first rewards as the standard product exposure elements suitable for the first advertising effect index, average viewership rating, and matching degree are selected, and the criterion not suitable for the first advertising effect index, average viewership rating, and matching degree. As product exposure factors are not selected, more second rewards may be awarded.

또한, 보상에 대한 평가를 기초로 제2 인공 신경망을 갱신할 수 있다. 제1 인공 신경망이 제1 광고 효과 지표, 평균 시청률 및 매칭도를 통해, 기준 제품 노출 요소를 선정하여 추출하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 제1 인공 신경망을 갱신할 수 있다. 한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다. 상기와 같은 제2 인공 신경망의 학습 과정을 반복함으로써, 제2 인공 신경망을 점진적으로 갱신시킬 수 있다.In addition, the second artificial neural network may be updated based on the evaluation of the reward. In an environment in which the first artificial neural network selects and extracts standard product exposure elements through the first advertising effect index, average viewership rating, and matching degree, the expectation of the sum of rewards is maximized, The first artificial neural network may be updated through a process of optimizing a policy for determining actions to be taken in specific states. Meanwhile, the process of optimizing the policy may be performed through a process of estimating the maximum value of the expected value of the sum of rewards or the maximum value of the Q-function, or estimating the minimum value of the loss function of the Q-function. Estimation of the minimum value of the loss function may be performed through stochastic gradient descent (SGD) or the like. The process of optimizing the policy is not limited thereto, and various optimization algorithms used in reinforcement learning may be used. By repeating the learning process of the second artificial neural network as described above, the second artificial neural network can be gradually updated.

이를 통해, 송신 장치(100)는 제1 광고 효과 지표, 평균 시청률 및 매칭도를 통해 기준 제품 노출 요소를 출력하는 제2 인공 신경망을 학습시킬 수 있다. Through this, the transmitting device 100 may train the second artificial neural network that outputs the reference product exposure factor through the first advertising effect index, average viewership rating, and matching degree.

도 11은 일실시예에 따른 데이터베이스에 저장된 각 프로그램에 매칭된 요소 및 지표의 점수를 나타내는 개념도이다.11 is a conceptual diagram illustrating scores of factors and indicators matched to each program stored in a database according to an exemplary embodiment.

도 11을 참조하여 예를 들면, 제1 프로그램에서 제1 제품을 광고하는데 예산이 2,000만원이고, 제품 노출 요소가 0.1이고, 제1 제품의 구매층과 제1 프로그램의 시청층의 매칭도를 계산한 결과 0.3이고, 제1 프로그램의 평균 시청률이 3%인 경우, 광고 효과 지표가 20으로 낮을 수 있다.Referring to FIG. 11, for example, a first program advertises a first product, the budget is 20 million won, the product exposure factor is 0.1, and the degree of matching between the purchase group of the first product and the audience group of the first program is calculated. If the result is 0.3 and the average viewing rate of the first program is 3%, the advertising effect index may be as low as 20.

또한, 제2 프로그램에서 제1 제품을 광고하는데 제1 제품을 광고하는데 예산이 4,000만원이고, 제품 노출 요소가 0.3이고, 제1 제품 구매층과 제2 프로그램의 시청층의 매칭도를 계산한 결과 0.8이고, 제2 프로그램의 평균 시청률이 10%인 경우, 광고 효과 지표가 80으로 높을 수 있다.In addition, when advertising the first product in the second program, the budget for advertising the first product is 40 million won, the product exposure factor is 0.3, and the result of calculating the degree of matching between the purchasers of the first product and the audience of the second program is 0.8 , and when the average viewing rate of the second program is 10%, the advertising effect index may be as high as 80.

도 12는 일실시예에 따른 광고 효과 지표와 기준 제품 노출 요소를 생성하는 과정을 설명하기 위한 개념도이다.12 is a conceptual diagram for explaining a process of generating an advertising effect index and standard product exposure elements according to an embodiment.

일 실시 예에서, 송신 장치(100)는 예산 정보를 통해 제1 입력 신호를 생성하고, 제1 입력 신호를 제1 인공 신경망에 입력하여 제1 출력 신호를 생성하고, 제1 광고 효과 지표를 생성할 수 있다.In one embodiment, the transmitter 100 generates a first input signal through budget information, inputs the first input signal to a first artificial neural network to generate a first output signal, and generates a first advertising effect indicator. can do.

일 실시 예에서, 송신 장치(100)는 생성된 제1 광고 효과 지표와 평균 시청률 및 매칭도를 통해 제2 입력 신호를 생성하고, 제2 입력 신호를 제2 인공 신경망에 입력하여 제2 출력 신호를 생성하고, 기준 제품 노출 요소를 생성할 수 있다.In one embodiment, the transmitting device 100 generates a second input signal through the generated first advertisement effect index, average viewership rating, and matching degree, and inputs the second input signal to the second artificial neural network to generate a second output signal. and create a reference product exposure factor.

일 실시 예에서, 송신 장치(100)는 이와 같은 과정으로 생성된 기준 제품 노출 요소를 제품 노출 요소와 비교하여 제1 방송 프로그램에 광고 콘텐츠가 적절히 포함되었는지 모니터링할 수 있다.In an embodiment, the transmission device 100 may compare the reference product exposure element generated through the above process with the product exposure element to monitor whether the advertisement content is appropriately included in the first broadcasting program.

도 13은 일실시예에 따른 제1 인공 신경망을 학습하는 방법을 설명하기 위한 도면이다.13 is a diagram for explaining a method of learning a first artificial neural network according to an embodiment.

일실시예에 따르면, 학습 장치는 제1 인공 신경망을 학습시킬 수 있다. 학습 장치는 장치와 다른 별개의 주체일 수 있지만, 이에 제한되는 것은 아니다.According to an embodiment, the learning device may train the first artificial neural network. The learning device may be a separate entity different from the device, but is not limited thereto.

일실시예에 따르면, 제1 인공 신경망은 트레이닝 샘플들이 입력되는 입력 레이어와 트레이닝 출력들을 출력하는 출력 레이어를 포함하고, 제1 출력 신호들과 트레이닝 광고 효과 지표들 사이의 차이에 기초하여 학습될 수 있다. 제1 인공 신경망은 복수의 노드들의 그룹으로 연결되어 있고, 연결된 노드들 사이의 가중치들과 노드들을 활성화시키는 활성화 함수에 의해 정의된다. According to an embodiment, the first artificial neural network may include an input layer into which training samples are input and an output layer which outputs training outputs, and may be learned based on differences between the first output signals and training advertisement effect indicators. there is. The first artificial neural network is connected to a group of a plurality of nodes, and is defined by weights between the connected nodes and an activation function for activating the nodes.

학습 장치는 GD(Gradient Decent) 기법 또는 SGD(Stochastic Gradient Descent) 기법을 이용하여 제1 인공 신경망을 학습시킬 수 있다. 학습 장치는 제1 인공 신경망의 출력들 및 레이블들 의해 설계된 손실 함수를 이용할 수 있다.The learning device may train the first artificial neural network using a gradient descent (GD) technique or a stochastic gradient descent (SGD) technique. The learning device may use a loss function designed by the outputs and labels of the first artificial neural network.

학습 장치는 미리 정의된 손실 함수(loss function)을 이용하여 트레이닝 에러를 계산할 수 있다. 손실 함수는 레이블, 출력 및 파라미터를 입력 변수로 미리 정의될 수 있고, 여기서 파라미터는 제1 인공 신경망 내 가중치들에 의해 설정될 수 있다. 예를 들어, 손실 함수는 MSE(Mean Square Error) 형태, 엔트로피(entropy) 형태 등으로 설계될 수 있는데, 손실 함수가 설계되는 실시예에는 다양한 기법 또는 방식이 채용될 수 있다.The learning device may calculate a training error using a predefined loss function. The loss function may be predefined with labels, outputs and parameters as input variables, where the parameters may be set by weights in the first artificial neural network. For example, the loss function may be designed in a mean square error (MSE) form, an entropy form, and the like, and various techniques or methods may be employed in an embodiment in which the loss function is designed.

학습 장치는 역전파(backpropagation) 기법을 이용하여 트레이닝 에러에 영향을 주는 가중치들을 찾아낼 수 있다. 여기서, 가중치들은 제1 인공 신경망 내 노드들 사이의 관계들이다. 학습 장치는 역전파 기법을 통해 찾아낸 가중치들을 최적화시키기 위해 레이블들 및 출력들을 이용한 SGD 기법을 이용할 수 있다. 예를 들어, 학습 장치는 레이블들, 출력들 및 가중치들에 기초하여 정의된 손실 함수의 가중치들을 SGD 기법을 이용하여 갱신할 수 있다.The learning device may find weights affecting the training error using a backpropagation technique. Here, weights are relations between nodes in the first artificial neural network. The learning device may use the SGD technique using labels and outputs to optimize the weights found through the backpropagation technique. For example, the learning device may update weights of a loss function defined based on labels, outputs, and weights using the SGD technique.

일실시예에 따르면, 학습 장치는 데이터베이스로부터 트레이닝 예산 정보들을 획득할 수 있다. According to one embodiment, the learning device may obtain training budget information from a database.

일실시예에 따르면, 학습 장치는 트레이닝 예산 정보들을 제1 인공 신경망에 적용하여 제1 출력 신호들을 획득할 수 있다. 학습 장치는 제1 출력 신호들 및 트레이닝 광고 효과 지표들에 기초하여 제1 인공 신경망을 학습시킬 수 있다. 학습 장치는 제1 출력 신호들에 대응하는 트레이닝 에러들을 계산하고, 그 트레이닝 에러들을 최소화하기 위해 제1 인공 신경망 내 노드들의 연결 관계를 최적화하여 제1 인공 신경망을 학습시킬 수 있다. 장치는 학습이 완료된 제1 인공 신경망을 이용하여 예산 정보를 통해 광고 효과 지표를 생성할 수 있다.According to an embodiment, the learning device may obtain first output signals by applying training budget information to the first artificial neural network. The learning device may train the first artificial neural network based on the first output signals and the training advertisement effect indicators. The learning device may train the first artificial neural network by calculating training errors corresponding to the first output signals and optimizing a connection relationship between nodes in the first artificial neural network to minimize the training errors. The device may generate an advertisement effect index through the budget information using the first artificial neural network for which learning has been completed.

도 14는 일실시예에 따른 제2 인공 신경망을 학습하는 방법을 설명하기 위한 도면이다.14 is a diagram for explaining a method of learning a second artificial neural network according to an embodiment.

일실시예에 따르면, 학습 장치는 제2 인공 신경망을 학습시킬 수 있다. 학습 장치는 장치와 다른 별개의 주체일 수 있지만, 이에 제한되는 것은 아니다.According to one embodiment, the learning device may train the second artificial neural network. The learning device may be a separate entity different from the device, but is not limited thereto.

일실시예에 따르면, 제2 인공 신경망은 트레이닝 샘플들이 입력되는 입력 레이어와 트레이닝 출력들을 출력하는 출력 레이어를 포함하고, 제2 출력 신호들과 트레이닝 기준 제품 노출 요소들 사이의 차이에 기초하여 학습될 수 있다. 제2 인공 신경망은 복수의 노드들의 그룹으로 연결되어 있고, 연결된 노드들 사이의 가중치들과 노드들을 활성화시키는 활성화 함수에 의해 정의된다. According to an embodiment, the second artificial neural network includes an input layer into which training samples are input and an output layer which outputs training outputs, and is to be learned based on differences between the second output signals and training reference product exposure factors. can The second artificial neural network is connected to a group of a plurality of nodes, and is defined by weights between the connected nodes and an activation function for activating the nodes.

학습 장치는 GD(Gradient Decent) 기법 또는 SGD(Stochastic Gradient Descent) 기법을 이용하여 제2 인공 신경망을 학습시킬 수 있다. 학습 장치는 제2 인공 신경망의 출력들 및 레이블들 의해 설계된 손실 함수를 이용할 수 있다.The learning device may train the second artificial neural network using a gradient descent (GD) technique or a stochastic gradient descent (SGD) technique. The learning device may use a loss function designed by outputs and labels of the second artificial neural network.

학습 장치는 미리 정의된 손실 함수(loss function)을 이용하여 트레이닝 에러를 계산할 수 있다. 손실 함수는 레이블, 출력 및 파라미터를 입력 변수로 미리 정의될 수 있고, 여기서 파라미터는 제2 인공 신경망 내 가중치들에 의해 설정될 수 있다. 예를 들어, 손실 함수는 MSE(Mean Square Error) 형태, 엔트로피(entropy) 형태 등으로 설계될 수 있는데, 손실 함수가 설계되는 실시예에는 다양한 기법 또는 방식이 채용될 수 있다.The learning device may calculate a training error using a predefined loss function. The loss function may be predefined with labels, outputs and parameters as input variables, where the parameters may be set by weights in the second artificial neural network. For example, the loss function may be designed in a mean square error (MSE) form, an entropy form, and the like, and various techniques or methods may be employed in an embodiment in which the loss function is designed.

학습 장치는 역전파(backpropagation) 기법을 이용하여 트레이닝 에러에 영향을 주는 가중치들을 찾아낼 수 있다. 여기서, 가중치들은 제2 인공 신경망 내 노드들 사이의 관계들이다. 학습 장치는 역전파 기법을 통해 찾아낸 가중치들을 최적화시키기 위해 레이블들 및 출력들을 이용한 SGD 기법을 이용할 수 있다. 예를 들어, 학습 장치는 레이블들, 출력들 및 가중치들에 기초하여 정의된 손실 함수의 가중치들을 SGD 기법을 이용하여 갱신할 수 있다.The learning device may find weights affecting the training error using a backpropagation technique. Here, weights are relations between nodes in the second artificial neural network. The learning device may use the SGD technique using labels and outputs to optimize the weights found through the backpropagation technique. For example, the learning device may update weights of a loss function defined based on labels, outputs, and weights using the SGD technique.

일실시예에 따르면, 학습 장치는 데이터베이스로부터 트레이닝 평균 시청률들, 트레이닝 매칭도들 및 트레이닝 광고 효과 지표들을 획득할 수 있다. According to an embodiment, the learning device may obtain training average viewing rates, training matching degrees, and training advertisement effect indicators from a database.

일실시예에 따르면, 학습 장치는 트레이닝 평균 시청률들, 트레이닝 매칭도들 및 트레이닝 광고 효과 지표들을 제2 인공 신경망에 적용하여 제2 출력 신호들을 획득할 수 있다. 학습 장치는 제2 출력 신호들 및 트레이닝 기준 제품 노출 요소들에 기초하여 제2 인공 신경망을 학습시킬 수 있다. 학습 장치는 제2 출력 신호들에 대응하는 트레이닝 에러들을 계산하고, 그 트레이닝 에러들을 최소화하기 위해 제2 인공 신경망 내 노드들의 연결 관계를 최적화하여 제2 인공 신경망을 학습시킬 수 있다. 장치는 학습이 완료된 제2 인공 신경망을 이용하여 평균 시청률, 매칭도 및 광고 효과 지표를 통해 기준 제품 노출 요소를 생성할 수 있다.According to an embodiment, the learning device may obtain second output signals by applying training average viewer ratings, training matching degrees, and training advertisement effect indexes to the second artificial neural network. The learning device may train the second artificial neural network based on the second output signals and the training reference product exposure factors. The learning device may train the second artificial neural network by calculating training errors corresponding to the second output signals and optimizing a connection relationship between nodes in the second artificial neural network to minimize the training errors. The device may generate a reference product exposure factor through an average viewership rating, a matching degree, and an advertising effect index by using the second artificial neural network that has been trained.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (3)

송신 장치에 의해 수행되는, 헤더 압축을 통한 패킷 전송 방법에 있어서,
수신 장치로 전송될 제1 패킷을 획득하는 단계;
상기 제1 패킷의 헤더에서 압축될 제1 필드를 결정하는 단계;
상기 제1 필드를 압축하기 위해 설정되어 있는 제1 압축 방식을 통해 상기 제1 필드를 압축하여, 상기 제1 패킷의 헤더가 압축된 제2 패킷을 생성하는 단계;
상기 제2 패킷을 상기 수신 장치로 전송하는 단계;
상기 수신 장치로 전송된 상기 제2 패킷이 손실된 것으로 확인되면, 상기 제1 패킷의 헤더에서 상기 제1 필드 이외에 추가로 압축될 제2 필드를 결정하는 단계;
상기 제1 압축 방식을 통해 상기 제1 필드를 압축하고 상기 제2 필드를 압축하기 위해 설정되어 있는 제2 압축 방식을 통해 상기 제2 필드를 압축하여, 상기 제1 패킷의 헤더가 압축된 제3 패킷을 생성하는 단계;
상기 제3 패킷을 상기 수신 장치로 전송하는 단계;
상기 수신 장치로 전송된 상기 제3 패킷이 손실된 것으로 확인되면, 상기 수신 장치의 네트워크 트래픽에 대한 모니터링 정보를 획득하는 단계;
상기 수신 장치의 네트워크 트래픽에 대한 모니터링 정보를 미리 학습된 인공 신경망에 적용하여, 상기 인공 신경망의 출력을 기초로, 상기 수신 장치에 공격으로 추정되는 접근이 감지되었는지 여부를 검출하는 단계;
미리 설정된 기준 기간 동안 상기 수신 장치에 공격으로 추정되는 접근이 몇 번 감지되었는지 확인하여, 상기 수신 장치가 상기 기준 기간 동안 공격받은 횟수인 제1 공격 횟수를 산출하는 단계;
상기 제1 공격 횟수가 미리 설정된 제1 기준 횟수 보다 적은지 여부를 확인하는 단계;
상기 제1 공격 횟수가 상기 제1 기준 횟수 보다 적은 것으로 확인되면, 상기 수신 장치의 상태를 정상 상태로 판단하는 단계;
상기 제1 공격 횟수가 상기 제1 기준 횟수 보다 많은 것으로 확인되면, 상기 제1 공격 횟수가 미리 설정된 제2 기준 횟수 보다 적은지 여부를 확인하는 단계;
상기 제1 공격 횟수가 상기 제2 기준 횟수 보다 적은 것으로 확인되면, 상기 수신 장치의 상태를 경고 상태로 판단하는 단계;
상기 제1 공격 횟수가 상기 제2 기준 횟수 보다 많은 것으로 확인되면, 상기 수신 장치의 상태를 위험 상태로 판단하는 단계;
상기 수신 장치의 상태가 정상 상태로 판단된 경우, 상기 제3 패킷을 상기 수신 장치로 재전송하는 단계;
상기 수신 장치의 상태가 경고 상태로 판단된 경우, 상기 제1 패킷의 헤더에서 상기 제1 필드 및 상기 제2 필드 이외에 추가로 압축될 제3 필드를 결정한 후, 상기 제1 압축 방식을 통해 상기 제1 필드를 압축하고 상기 제2 압축 방식을 통해 상기 제2 필드를 압축하고 상기 제3 필드를 압축하기 위해 설정되어 있는 제3 압축 방식을 통해 상기 제3 필드를 압축하여, 상기 제1 패킷의 헤더가 압축된 제4 패킷을 생성한 후, 상기 제4 패킷을 상기 수신 장치로 전송하는 단계; 및
상기 수신 장치의 상태가 위험 상태로 판단된 경우, 상기 수신 장치로 패킷이 전송되지 않도록 제어하는 단계를 포함하는,
헤더 압축을 통한 패킷 전송 방법.
A method of transmitting a packet through header compression, performed by a transmitting device, comprising:
obtaining a first packet to be transmitted to a receiving device;
determining a first field to be compressed in a header of the first packet;
generating a second packet in which a header of the first packet is compressed by compressing the first field using a first compression method set to compress the first field;
transmitting the second packet to the receiving device;
determining a second field to be additionally compressed in addition to the first field in a header of the first packet when it is confirmed that the second packet transmitted to the receiving device is lost;
Compressing the first field through the first compression method and compressing the second field through a second compression method configured to compress the second field, the header of the first packet is compressed into a third packet. generating packets;
transmitting the third packet to the receiving device;
obtaining monitoring information on network traffic of the receiving device when it is determined that the third packet transmitted to the receiving device is lost;
applying monitoring information on network traffic of the receiving device to a pre-learned artificial neural network and detecting whether an approach estimated as an attack to the receiving device is detected based on an output of the artificial neural network;
checking how many times an approach presumed to be an attack has been detected in the receiving device during a preset reference period, and calculating a first attack count, which is the number of times the receiving device has been attacked during the reference period;
checking whether the first number of attacks is less than a preset first reference number;
determining that the state of the receiving device is in a normal state when it is confirmed that the first number of attacks is less than the first reference number;
if it is confirmed that the first number of attacks is greater than the first reference number, determining whether the first number of attacks is less than a preset second reference number;
determining that the state of the receiving device is in a warning state when it is confirmed that the first number of attacks is less than the second reference number;
determining that the state of the receiving device is in a dangerous state when it is determined that the first number of attacks is greater than the second reference number;
retransmitting the third packet to the receiving device when the state of the receiving device is determined to be normal;
When the state of the receiving device is determined to be in a warning state, a third field to be additionally compressed in addition to the first field and the second field is determined in the header of the first packet, and then the first compression method is used. The header of the first packet is compressed by compressing the first field, compressing the second field through the second compression method, and compressing the third field through a third compression method configured to compress the third field. generating a compressed fourth packet, and then transmitting the fourth packet to the receiving device; and
When the state of the receiving device is determined to be in a dangerous state, controlling so that packets are not transmitted to the receiving device,
Packet transmission method through header compression.
제1항에 있어서,
상기 제2 패킷을 생성하는 단계는,
상기 송신 장치와 상기 수신 장치 간의 데이터 전송 속도인 제1 수치를 확인하는 단계;
상기 제1 수치가 미리 설정된 제1 기준 범위 내에 포함되어 있는 것으로 확인되면, 상기 제1 압축 방식의 기본 압축률로 설정되어 있는 제1 비율을 확인하고, 상기 제1 비율로 상기 제1 필드를 압축하는 단계;
상기 제1 수치가 상기 제1 기준 범위를 벗어나 상기 제1 기준 범위의 최소값 보다 작은 것으로 확인되면, 상기 제1 수치가 작을수록 상기 제1 비율을 높은 값으로 변경하여 제2 비율을 설정하고, 상기 제2 비율로 상기 제1 필드를 압축하는 단계; 및
상기 제1 수치가 상기 제1 기준 범위를 벗어나 상기 제1 기준 범위의 최대값 보다 큰 것으로 확인되면, 상기 제1 수치가 클수록 상기 제1 비율을 낮은 값으로 변경하여 제3 비율을 설정하고, 상기 제3 비율로 상기 제1 필드를 압축하는 단계를 포함하는,
헤더 압축을 통한 패킷 전송 방법.
According to claim 1,
Generating the second packet,
checking a first numerical value that is a data transmission rate between the transmitting device and the receiving device;
When it is determined that the first numerical value is within a preset first reference range, a first ratio set as a basic compression rate of the first compression method is checked, and the first field is compressed at the first ratio. step;
When it is determined that the first numerical value is out of the first reference range and is smaller than the minimum value of the first reference range, the first ratio is changed to a higher value to set a second ratio as the first numerical value is smaller, compressing the first field at a second ratio; and
When it is confirmed that the first numerical value is out of the first reference range and is greater than the maximum value of the first reference range, the first ratio is changed to a lower value to set a third ratio as the first numerical value is larger, Compressing the first field at a third ratio,
Packet transmission method through header compression.
삭제delete
KR1020220149224A 2022-11-10 2022-11-10 Method, device and system for sending packet through header compression KR102484674B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220149224A KR102484674B1 (en) 2022-11-10 2022-11-10 Method, device and system for sending packet through header compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220149224A KR102484674B1 (en) 2022-11-10 2022-11-10 Method, device and system for sending packet through header compression

Publications (1)

Publication Number Publication Date
KR102484674B1 true KR102484674B1 (en) 2023-01-03

Family

ID=84924554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220149224A KR102484674B1 (en) 2022-11-10 2022-11-10 Method, device and system for sending packet through header compression

Country Status (1)

Country Link
KR (1) KR102484674B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102653448B1 (en) 2023-09-14 2024-04-01 주식회사 태마루 A system of transmitting data using the ret protocol for rolling stock in rail transport

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513274B1 (en) * 2003-07-30 2005-09-09 이디텍 주식회사 A controlling method for a high speed DVI using compression technique and a DVI transmitter and Receiver using the method
KR20140036874A (en) 2012-09-18 2014-03-26 주식회사 비츠로시스 Method for compressing tcp header and recording-medium recorded program thereof
KR102117445B1 (en) 2013-04-17 2020-06-01 톰슨 라이센싱 Method and apparatus for packet header compression
KR20200114978A (en) * 2019-03-27 2020-10-07 삼성전자주식회사 Method and apparatus for transmitting and receiving data in a wireless communication system
KR20210064345A (en) 2018-09-27 2021-06-02 후아웨이 테크놀러지 컴퍼니 리미티드 Communication method and device
KR102300300B1 (en) 2015-07-03 2021-09-09 삼성전자주식회사 Method and apparatus for communicating packets using header compression

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513274B1 (en) * 2003-07-30 2005-09-09 이디텍 주식회사 A controlling method for a high speed DVI using compression technique and a DVI transmitter and Receiver using the method
KR20140036874A (en) 2012-09-18 2014-03-26 주식회사 비츠로시스 Method for compressing tcp header and recording-medium recorded program thereof
KR102117445B1 (en) 2013-04-17 2020-06-01 톰슨 라이센싱 Method and apparatus for packet header compression
KR102300300B1 (en) 2015-07-03 2021-09-09 삼성전자주식회사 Method and apparatus for communicating packets using header compression
KR20210064345A (en) 2018-09-27 2021-06-02 후아웨이 테크놀러지 컴퍼니 리미티드 Communication method and device
KR20200114978A (en) * 2019-03-27 2020-10-07 삼성전자주식회사 Method and apparatus for transmitting and receiving data in a wireless communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102653448B1 (en) 2023-09-14 2024-04-01 주식회사 태마루 A system of transmitting data using the ret protocol for rolling stock in rail transport

Similar Documents

Publication Publication Date Title
CN111784002B (en) Distributed data processing method, device, computer equipment and storage medium
KR20190119548A (en) Method and apparatus for processing image noise
KR102484674B1 (en) Method, device and system for sending packet through header compression
KR20190109337A (en) Apparatus for controlling device based on augmentded reality and method thereof
US11363479B2 (en) Method and device for people counting
US10599975B2 (en) Scalable parameter encoding of artificial neural networks obtained via an evolutionary process
WO2023056808A1 (en) Encrypted malicious traffic detection method and apparatus, storage medium and electronic apparatus
US20210150660A1 (en) Method and device for image processing
CN111611129B (en) Performance monitoring method and device of PaaS cloud platform
CN112286666B (en) Fine-grained data stream reliable unloading method based on callback mechanism
CN112053327B (en) Video target detection method and system, storage medium and server
CN111312264A (en) Voice transmission method, system, device, computer readable storage medium and equipment
US20230049550A1 (en) Making an Enabled Capability
Yao et al. Eugene: Towards deep intelligence as a service
US8326781B2 (en) Method for the compressed transmission of data packet header fields in a packet-oriented data stream, method for compressing data packet header fields in a packet-oriented data stream, method for decompressing data packet header fields in a packet-oriented data stream, compression/decompression system, compression apparatus and decompression apparatus
Itahara et al. Communication-oriented model fine-tuning for packet-loss resilient distributed inference under highly lossy IoT networks
CN111597376B (en) Image data processing method and device and computer readable storage medium
Hernandez et al. Online stream sampling for low-memory on-device edge training for WiFi sensing
Smirnov et al. Real-time data transmission optimization on 5G remote-controlled units using deep reinforcement learning
Rani et al. Hybrid evolutionary computing algorithms and statistical methods based optimal fragmentation in smart cloud networks
US11983246B2 (en) Data analysis system, learning device, method, and program
US11190317B2 (en) Transmitting terminal, transmitting method, information processing terminal, and information processing method
Li et al. Spatiotemporal Attention-based Semantic Compression for Real-time Video Recognition
Chen et al. DynamicFL: Balancing Communication Dynamics and Client Manipulation for Federated Learning
CN116745779A (en) Machine learning model and apparatus

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