KR102185379B1 - 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법 - Google Patents

호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법 Download PDF

Info

Publication number
KR102185379B1
KR102185379B1 KR1020200007761A KR20200007761A KR102185379B1 KR 102185379 B1 KR102185379 B1 KR 102185379B1 KR 1020200007761 A KR1020200007761 A KR 1020200007761A KR 20200007761 A KR20200007761 A KR 20200007761A KR 102185379 B1 KR102185379 B1 KR 102185379B1
Authority
KR
South Korea
Prior art keywords
message
adaptation
protocol
sequence
tree
Prior art date
Application number
KR1020200007761A
Other languages
English (en)
Inventor
이동만
손희석
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020200007761A priority Critical patent/KR102185379B1/ko
Application granted granted Critical
Publication of KR102185379B1 publication Critical patent/KR102185379B1/ko

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/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • 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/22Parsing or analysis of headers

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치는, 프로토콜의 메시지 구조 및 업데이트 정보를 포함하는 프로토콜 지식을 저장하고, 상기 프로토콜 지식을 기반으로 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 적응 확률 트리를 구축하며, 상기 적응 확률 트리를 기초로 의미있는 상호 작용이 발생할 가능성이 가장 높은 적응 시퀀스를 반환하는 적응 시퀀스 계획 트리를 구축하는 지식 베이스; 사용자 에이전트가 개시되면, 대상 IoT 장치로부터 오류가 없는 응답 메시지가 반환되거나 시도할 적응 방법 후보가 없을 때까지 상기 지식 베이스로 적응 시퀀스를 쿼리하며, 반환된 적응 시퀀스를 프로브 메시지 트랜시버로 전달하는 적응 제어기; 상기 적응 시퀀스에 대한 비트 레벨 메시지 적응을 수행하여 적응된 요청 메시지를 작성하는 프로브 메시지 작성기; 및 상기 프로브 메시지 작성기로 상기 적응 시퀀스에 대한 요청 메시지 작성을 요청하고, 상기 요청 메시지를 상기 대상 IoT 장치로 전송하며, 상기 대상 IoT 장치로부터 수신한 응답을 상기 적응 제어기로 보고하는 프로브 메시지 트랜시버를 포함할 수 있다.

Description

호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법 {Runtime Message Inference Apparatus and Method for Incompatible IoT Protocol Updates}
본 출원은 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법에 관한 것이다.
사물 인터넷(IoT; Internet of Things) 장치 및 이의 컴퓨팅 기능이 주변 환경에 널리 보급됨에 따라 엣지 환경과 같은 새로운 컴퓨팅 환경이 많은 관심을 받고 있다. 새로운 환경의 다양한 요구 사항을 충족시키기 위해 5G, 차량 통신, 네트워크 가상화 등에 대한 새로운 아키텍처가 제시되었다. 이러한 환경에서 사용자는 주변 장치와 상호 작용할 수 있는 기회가 더 많아지는데, 양 당사자는 일반적으로 동일한 버전의 상호 작용 프로토콜을 사용한다고 가정한다. 그러나 높은 수준의 요구 사항 변경으로 인해 프로토콜 업데이트가 종종 발생하며, 이는 스마트 객체가 서로 협업하는 것을 방해한다. 특히, 이전 버전과의 호환성없이 프로토콜 메시지 구조를 업데이트하면 서로 다른 버전 간의 요청-응답과 같은 간단한 상호 작용도 비활성화 된다. 예를 들어, 사용자가 SLP 버전 2(SLPv2; Service Location Protocol version 2)를 실행하는 주변 IoT 장치를 발견하기 위해 이와 호환되지 않는 메시지 구조를 가진 SLPv1 에이전트를 실행하는 휴대폰을 가지고 있다고 가정하면, 두 장치는 런타임에 상호발견을 할 수 없다.
이전 버전과 호환되지 않는 업데이트를 해결하기 위해 두 대상 프로토콜 인터페이스 간의 구문 불일치를 식별하고 유사성 기반 클러스터링을 기반으로 해결하는 인터페이스 적응 방식을 적용할 수 있다. 그러나 업데이트된 메시지 구문의 스펙을 적시에 사용할 수 없는 경우 이러한 방식은 업데이트된 프로토콜에 대한 유효한 인터페이스 적응을 제공할 수 없다.
사전 지식 없이 업데이트된 프로토콜의 알 수 없는 메시지 구문을 도출하기 위해 자동 프로토콜 리버스 엔지니어링(APRE; tomatic Protocol Reverse Engineering) 툴을 적용할 수도 있다. 캡쳐된 프로토콜 메시지 트레이스로부터 키워드 후보 및 이들의 속성(예를 들어, 키워드 전환 확률, 필드 위치 등)이 계산되고 대상 메시지 구문이 추출된다. 실행 가능 기반 APRE 방식은 출력 버퍼에서 메시지 필드와 이들의 시퀀스를 추출하기 위해 대상 프로토콜의 실행 파일을 활용한다. 그러나 특히 모바일 환경에서는 상호 작용 기회가 사라지기 전에 특정 프로토콜 에이전트가 생성한 충분한 네트워크 트레이스를 수집하기는 어렵다. 또한 네트워크 모니터링, 패킷 집계 및 구조 학습에 필요한 노력과 자원 역시 적용 가능성을 낮춘다. 또한, 대부분의 IoT 환경에서는 대상 프로토콜의 실행 파일을 얻는 것이 불가능하다.
성공적인 메시지 교환을 위한 대안은 대상 프로토콜의 메시지 구문을 추론하는 것이다. 가장 원시적인 추론 방법은 임의의 무차별 대입 추측(random brute force guess)이다. 그러나 너무 많은 가능성으로 인해 합리적인 시간에 성공적인 메시지 교환이 불가능하다.
상호 작용 기회가 사라지기 전에 업데이트된 프로토콜과의 의미있는 상호 작용을 가능하게 하려면 가능한 업데이트를 신속하게 추론할 수 있는 기반을 구성해야 한다. 또한, 단일 메시지 필드가 아니라 프로토콜 업데이트가 수반되는 일련의 메시지 필드 업데이트가 올바른 순서로 올바르게 추론되어야 하기 때문에 추론이 더욱 어려워진다. 이 경우 가능성이 급격히 증가하기 때문에, 유효한 시퀀스 검출의 복잡성을 줄이기 위해 검색 공간을 좁힐 필요가 있다.
따라서, 당해 기술분야에서는 호환되지 않는 프로토콜 버전 간의 의미있는 상호 작용을 위한 효율적인 프로토콜 메시지 추론을 위한 방안이 요구되고 있다.
상기 과제를 해결하기 위해서, 본 발명의 일 실시예는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치를 제공한다.
상기 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치는, 프로토콜의 메시지 구조 및 업데이트 정보를 포함하는 프로토콜 지식을 저장하고, 상기 프로토콜 지식을 기반으로 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 적응 확률 트리를 구축하며, 상기 적응 확률 트리를 기초로 의미있는 상호 작용이 발생할 가능성이 가장 높은 적응 시퀀스를 반환하는 적응 시퀀스 계획 트리를 구축하는 지식 베이스; 사용자 에이전트가 개시되면, 대상 IoT 장치로부터 오류가 없는 응답 메시지가 반환되거나 시도할 적응 방법 후보가 없을 때까지 상기 지식 베이스로 적응 시퀀스를 쿼리하며, 반환된 적응 시퀀스를 프로브 메시지 트랜시버로 전달하는 적응 제어기; 상기 적응 시퀀스에 대한 비트 레벨 메시지 적응을 수행하여 적응된 요청 메시지를 작성하는 프로브 메시지 작성기; 및 상기 프로브 메시지 작성기로 상기 적응 시퀀스에 대한 요청 메시지 작성을 요청하고, 상기 요청 메시지를 상기 대상 IoT 장치로 전송하며, 상기 대상 IoT 장치로부터 수신한 응답을 상기 적응 제어기로 보고하는 프로브 메시지 트랜시버를 포함할 수 있다.
또한, 본 발명의 다른 실시예는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 방법을 제공한다.
상기 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 방법은, 사용자 에이전트가 개시되면, 지식 베이스에서 프로토콜의 메시지 구조 및 업데이트 정보를 포함하는 프로토콜 지식을 기반으로, 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 적응 확률 트리를 구축하는 단계; 상기 지식 베이스에서 상기 적응 확률 트리를 기초로, 의미있는 상호 작용이 발생할 가능성이 가장 높은 적응 시퀀스를 반환하는 적응 시퀀스 계획 트리를 구축하는 단계; 적응 제어기로부터 수신한 적응 시퀀스 쿼리에 따라, 상기 지식 베이스가 가능성이 가장 높은 적응 시퀀스를 상기 적응 제어기로 반환하는 단계; 상기 반환된 적응 시퀀스가 프로브 메시지 트랜시버로 전달되면, 상기 프로브 메시지 트랜시버는 프로브 메시지 작성기로 적응된 요청 메시지 작성을 요청하는 단계; 상기 프로브 메시지 작성기에 의해 작성된 요청 메시지가 상기 프로브 메시지 트랜시버로 전달되면, 상기 프로브 메시지 트랜시버는 상기 요청 메시지를 대상 IoT 장치로 전송하는 단계; 및 상기 대상 IoT 장치로부터 응답 메시지를 수신하면, 상기 프로브 메시지 트랜시버는 상기 적응 제어기에 결과를 보고하는 단계를 포함할 수 있다.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따르면, 프로토콜 도메인 지식을 활용하여 해당 프로토콜의 스펙, 프로토콜 메시지 샘플 및 프로토콜 실행 파일없이도 레거시 메시지를 런타임에 업데이트된 버전에 적응시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 프로토콜 메시지 온톨로지를 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 적응 확률 트리 구조를 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따라 SLPv1 사용자 에이전트에 대한 정리된 적응 확률 트리를 도시하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 적응 시퀀스 계획 트리 구조를 도시하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 SLPv1에 대한 적응 시퀀스 탐지 예를 도시하는 도면이다.
도 7은 본 발명의 일 실시예에 따른 프로브 메시지 작성기의 비트 레벨 메시지 적응 예를 도시하는 도면이다.
도 8 내지 도 10은 본 발명의 일 실시예에 따라 적응된 SLPv1 메시지 헤더를 도시하는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
우선, 본 발명의 실시예에 따른 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법을 설명하기에 앞서, 지식 기반의 효율적인 추론을 위한 요구 사항에 대해 설명한다.
런타임에 해당 프로토콜의 스펙없이 의미있는 상호 작용을 달성하려면 도메인 지식을 기반으로 가능성을 좁힐 필요가 있다.
여기서, 의미있는 상호 작용은 수신자가 i) 요청 메시지의 의도를 이해하고 ii) 오류가 아닌 메시지를 반환하는 상호 작용으로 정의될 수 있다.
일반적으로 프로토콜 업데이트는 새로운 요구 사항이 합의로 이루어질 때 시작된다. 따라서 요구 사항 변경 가능성과 해당 프로토콜 업데이트의 가능성을 이해하면 대상 프로토콜의 새 버전이 어떻게 다르게 작동하는지와 프로토콜의 현재 동작을 변경 사항에 적응하는 방법을 추측할 수 있다. 그러나 이러한 일반적인 이해는 다양한 프로토콜의 공통 특성을 수용하므로 특정 레거시 프로토콜에서 이의 업데이트된 버전으로의 적응에 대한 관련 지식도 포함된다. 잘못된 적응이 기존 레거시 프로토콜에 반복적으로 영향을 미치고 많은 시간을 낭비하는 경우, 의미없는 메시지 교환으로 인해 모바일 사용자의 상호 작용 기회가 사라진다. 따라서, 임의의 선택이 방지되고 합법적인 상호 작용이 계속 달성될 수 있도록 가능한 요구 사항 변경 및 적응 방법 후보의 올바른 세트를 지능적으로 파악할 필요가 있다.
또한, 프로토콜 구문 업데이트는 일반적으로 삭제, 추가, 길이 변경 등과 같은 다양한 메시지 필드에서 다양한 업데이트 시퀀스를 수반한다. 다시 말해, 다른 버전의 대상 프로토콜과 상호 작용하기 위해 하나의 유효한 메시지 필드 적응을 찾는 것만으로는 충분하지 않다. 대신, 대상 프로토콜 메시지의 레거시 버전을 업데이트하기 위해 유효한 적응 세트를 찾아 적용해야 한다. 문제는 유효한 적응 순서도 중요하다는 것이다. 순서가 정확하지 않은 경우, 메시지 필드에 대한 하나의 적응(예를 들어, 추가 및 삭제)으로 인해 다른 필드가 잘못된 위치에서 시작되어 수신자가 그러한 적응에 의해 수정된 메시지를 구문 분석하지 못할 수 있다. 따라서 의미없는 메시지 교환을 피하고 상호 작용 기회를 유효하게 유지하기 위해 올바른 일련의 유효한 적응 방법을 찾기 위한 메커니즘을 설계하는 것이 중요하다.
이처럼, 하나의 적응이 아니라 올바른 시퀀스의 유효한 적응을 추론하는 것이므로 가능성의 수가 크게 증가한다. 예를 들어, 10 개의 적응 방법 후보가 식별되면, 가능한 시퀀스의 수는 거의 천만이며, 올바른 시퀀스를 제 시간에 결정하는 것은 불가능하다. 또한, 이 모든 정보를 메모리에 저장하고 큰 검색 공간을 찾으려면 많은 컴퓨팅 자원 오버 헤드가 필요하다. 더 많은 프로토콜을 타겟팅할수록 더 많은 자원 오버 헤드가 필요하다. 따라서 자원이 제한된 장치를 포함하는 실제 시나리오에서 런타임 상호 운용성을 달성하려면 가능한 한 검색 공간을 줄이는 것이 중요하다.
상술한 바와 같은 요구 사항을 고려하여 도출된 본 발명의 실시예에 대해 도 1 내지 도 10을 참조하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시예에 따른 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치의 구성도이다.
도 1을 참조하면, 2개의 상호 작용 당사자, 즉 상호 작용 요청자(사용자 에이전트) 및 대상 IoT 장치(서비스 에이전트)가 존재한다. 여기서, 상호 작용 요청자는 레거시 프로토콜을 실행하고 업데이트된 버전의 프로토콜을 실행하는 대상 IoT 장치와 상호 작용하려고 한다.
본 발명의 일 실시예에 따른 런타임 메시지 추론 장치(100)는 상호 작용 요청자 측에 위치하며, 지식 베이스(KB; Knowledge Base)(110), 적응 제어기(AC; Adaptation Controller)(120), 프로브 메시지 작성기(PMC; Probe Message Composer)(130) 및 프로브 메시지 트랜시버(PMT; Probe Message Transceiver)(140)를 포함하여 구성될 수 있다.
여기서, 지식 베이스(110)는 프로토콜의 메시지 구조 및 업데이트 정보를 포함하는 프로토콜 지식을 저장하고, 프로토콜 지식을 기반으로 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 적응 확률 트리를 구축하며, 적응 확률 트리를 기초로 의미있는 상호 작용이 발생할 가능성이 가장 높은 적응 시퀀스를 반환하는 적응 시퀀스 계획 트리를 구축할 수 있다.
적응 제어기(120)는 사용자 에이전트가 개시되면, 대상 IoT 장치(200)로부터 오류가 없는 응답 메시지가 반환되거나 시도할 적응 방법 후보가 없을 때까지 지식 베이스(110)로 적응 시퀀스를 쿼리하며, 반환된 적응 시퀀스를 프로브 메시지 트랜시버(140)로 전달할 수 있다.
프로브 메시지 작성기(130)는 적응 시퀀스에 대한 비트 레벨 메시지 적응을 수행하여 적응된 요청 메시지를 작성할 수 있다.
프로브 메시지 트랜시버(140)는 프로브 메시지 작성기(130)로 적응 시퀀스에 대한 요청 메시지 작성을 요청하고, 요청 메시지를 대상 IoT 장치(200)로 전송하며, 대상 IoT 장치(200)로부터 수신한 응답을 적응 제어기(120)로 보고할 수 있다.
이의 동작 과정을 살펴보면, 우선 상호 작용 요청자(즉, 사용자 에이전트)가 개시되면(1), 지식 베이스에서 프로토콜의 메시지 구조 및 업데이트 정보를 포함하는 프로토콜 지식을 로드하고, 이를 기반으로, 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 적응 확률 트리를 구축하고, 또한 적응 확률 트리를 기초로, 의미있는 상호 작용이 발생할 가능성이 가장 높은 적응 시퀀스를 반환하는 적응 시퀀스 계획 트리를 구축할 수 있다(2).
적응 제어기로부터 수신한 적응 시퀀스 쿼리에 따라(3), 지식 베이스가 가능성이 가장 높은 적응 시퀀스를 적응 제어기로 반환할 수 있다(4).
반환된 적응 시퀀스가 프로브 메시지 트랜시버로 전달되면(5), 프로브 메시지 트랜시버는 프로브 메시지 작성기로 적응된 요청 메시지 작성을 요청할 수 있다(6).
프로브 메시지 작성기에 의해 작성된 요청 메시지가 프로브 메시지 트랜시버로 전달되면(7), 프로브 메시지 트랜시버는 요청 메시지를 대상 IoT 장치로 전송할 수 있다(8).
이에 따라, 대상 IoT 장치로부터 응답 메시지를 수신하면(9), 프로브 메시지 트랜시버는 적응 제어기에 결과를 보고할 수 있다(10).
상술한 과정을 프로빙 절차라 하며, 해당 과정은 오류가 없는 응답 메시지가 성공적으로 반환되거나 시도할 적응 방법 후보가 더 이상 없을 때까지 반복하여 수행될 수 있다.
이하, 런타임 메시지 추론 장치(100)의 각 구성 요소 및 이의 동작 방법에 대해 보다 구체적으로 설명한다.
먼저, 지식 베이스(110)는 기존 프로토콜의 메시지 구조 및 업데이트 패턴을 추상화하는 프로토콜 지식을 저장할 수 있다.
지식 베이스(110)의 구축을 위해서, 프로토콜의 주요 기능, 요구 사항 변경 및 해당 메시지 레벨 변경 간의 관계를 이해하려면 다양한 프로토콜 메시지 구조와 통계를 조사해야 한다. 이를 위해 프로토콜 스펙 문서와 기존 프로토콜 설문 조사를 사용하여 IoT 도메인의 애플리케이션 계층 프로토콜에 대한 철저한 분석을 수행하였다. 분석에는 예를 들어 SLP, DNS-SD/mDNS 및 SSDP/UPnP와 같은 잘 알려진 서비스 검색 프로토콜과 MQTT, CoAP, AMQP 및 SIP와 같은 IoT 데이터 교환 프로토콜이 포함될 수 있다. 표 1은 19 개의 기본 메시지 필드와 기능 측면에서의 분류를 나타낸다. 해당 결과는 각 프로토콜 메시지를 성공적으로 구문 분석하고 원하는 작업을 수행하는데 필요한 필드 집합을 포함한다.
[표 1]
Figure 112020006824714-pat00001
또한, 분석을 기초로 하여, 프로토콜 업데이트 방법을 추론하는데 도움이 되는 추가 지식을 구성할 수도 있다. 예를 들어, 메시지 필드가 어떻게 업데이트 되었는지를 추론하면 프로토콜 메시지에 대한 많은 이론적 근거가 프로토콜 엔지니어링의 일반적인 근거로 수행되기 때문에 동일한 업데이트 패턴과 기본 철학을 활용하여 다른 필드의 향후 업데이트를 추론할 수 있다. 또한 특정 필드의 값이 통합되어 더 이상 다른 최신 프로토콜에 나타나지 않으면 해당하는 오래된 필드가 다음 버전에서 제거될 수 있다. 이러한 지식은 가능한 메시지 업데이트에 대한 임의의 추측보다 더 나은 추론을 만들고 더 의미있는 상호 작용에 더 빨리 도달하도록 할 수 있다.
잘 정의된 지식 베이스 구축을 위해 먼저 요구 사항, 기능 및 해당 메시지 구조 간의 관계를 나타내는 프로토콜 메시지 온톨로지를 설계할 수 있다. 도 2는 본 발명의 일 실시예에 따른 프로토콜 메시지 온톨로지를 도시하는 도면이다.
도 2를 참조하면, 프로토콜 메시지 온톨로지는 프로토콜(Protocol), 프로토콜 요구사항(ProtocolRequirement), 기능(Functionality), 프로토콜 메시지(ProtocolMessage), 프로토콜 메시지 필드(ProtocolMessageField) 및 업데이트(Update)의 6 가지 핵심 클래스로 구성될 수 있다. 이러한 핵심 클래스는 다음과 같이 서로 관련된다. 원칙적으로 프로토콜은 요구사항 목록과 관련하여 설계되며, 각 요구사항은 서비스 검색, 프로토콜 동작, 내용 파싱 등과 같은 특정 기능과 관련된다. 또한, 기능은 각 필드가 숫자 또는 텍스트 값을 포함할 수 있는 복수의 프로토콜 메시지 필드에 의해 실현된다. 또한, 시간이 지남에 따라 메시지 필드는 필드별 요구 사항 변경으로 업데이트된다. 이러한 이론적 근거를 나타내기 위해 도 2에 도시된 바와 같이 {Protocol-hasRequirement-ProtocolRequirement}, {ProtocolRequirement-relatedTo-Functionality}, {ProtocolMessage-hasField-ProtocolMessageField} 등과 같은 술어를 설계할 수 있다. 또한, 추가 클래스(예를 들어, RequirementChange, UpdatePattern 등) 및 데이터 속성(예를 들어, 'Data'로 표시된 녹색 원)이 정의된 클래스의 개별 객체 간의 관계를 설명하기 위해 추가될 수 있다.
상술한 바와 같이, 동일한 도메인의 프로토콜 정보가 온톨로지에 작성되고 온톨로지 서술문 세트가 지식 베이스(110)에 저장되면, 적응 제어기(120)는 후술하는 통계를 분석하여 추가 지식을 생성할 수 있다.
● 이전의 그리고 잠재적인 업데이트(예를 들어, 필드 길이 변경(L), 필드 삭제(D), 새 필드 추가(A), 어휘 변경(V) 및 숫자 값 변경(C) 등)는 다른 버전의 프로토콜을 비교하여 인식할 수 있다. 이 비교는 높은 수준의 요구 사항 변경 및 주요 업데이트 패턴에 대한 통찰력을 제공할 수 있다.
● 각 출현 빈도를 카운트하여 각 필드 유형의 출현 확률을 추정할 수 있다. 이 값은 대상 프로토콜 도메인에서 각 필드가 얼마나 일반적이거나 중요한지를 나타낸다. 특정 필드 유형이 중요한 경우 다양한 프로토콜 메시지에서 자주 나타난다.
● 각 필드 유형에 대한 비트 할당 분포를 계산할 수 있다. 이 정보는 적응되어야 할 메시지 필드의 길이를 결정하기 위해 활용될 수 있다.
표 2는 상술한 통계 계산에 사용될 SDP(service discovery protocol) 도메인의 서비스 요청 메시지 분석 결과를 나타낸다.
[표 2]
Figure 112020006824714-pat00002
표 2에서 헤더 필드 값은 'h.x'로 표시되고, 본문 필드 값은 'b.x'로 표시된다. 여기서, x는 해당 필드에 할당된 비트 수를 나타낸다. 문자 'v'는 필드의 길이가 가변적임을 의미한다. SDP 메시지에 없는 필드 유형은 기호 '-'로 표시된다. 테이블 셀의 값은 온톨로지 개별 또는 데이터 속성으로 작성되며 지식 베이스에 온톨로지 서술문으로 저장된다. 예를 들어, 지식 베이스에는 {ProtocolBasicInfo-type-Functionality}, {Version-hasType-VersionInfo}, {Version-encodes-ProtocolBasicInfo} 등과 같은 트리플이 포함된다. 테이블 항목을 채우고 이를 온톨로지로 변환한 후, 필드 출현 확률과 비트 할당 분포가 계산되어 지식 베이스(110)에 저장될 수 있다.
표 3은 메시지 구조 분석에서 식별된 업데이트 인스턴스 및 해당 동기를 나타낸다.
[표 3]
Figure 112020006824714-pat00003
표 3에서 각 업데이트 인스턴스의 요구사항 변경 사항은 수동으로 분류될 수 있다. IoT 데이터 교환 프로토콜을 통해 동일한 분석이 수행될 수 있으며, 별도의 지식 베이스가 다른 프로토콜 도메인(예를 들어, SDP 및 IoT 데이터 교환 프로토콜)에 대해 구성될 수 있다. 이와 같은 분리는 현재 대상 프로토콜 업데이트와 관련이 없는 다른 도메인의 속성이 효율적이고 정확한 추론을 방해하지 않도록 하기 위한 것이다.
다음으로, 상술한 바와 같이 구축된 지식 베이스에 기초하여 적응 확률 트리를 구축할 수 있다. 여기서, 적응 확률 트리는 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 것이다.
도 3은 본 발명의 일 실시예에 따른 적응 확률 트리 구조를 도시하는 도면으로, 도 3에 도시된 바와 같이 적응 확률 트리는 유향 그래프이며, 그 에지에 할당된 가중치 값에 의해 가능한 적응 방법 후보들의 상대 확률을 계산할 수 있다. 표 4는 도 3에 도시된 적응 확률 트리에서 각 깊이의 의미를 나타낸다.
[표 4]
Figure 112020006824714-pat00004
루트(depth-1) 노드에서 리프(depth-5) 노드로의 경로는 메시지 필드 적응 방법 후보를 나타낸다. 메시지 내용(깊이-2, 기능)에 대한 더 긴 설명(깊이-3, 요구 사항 변경)을 허용하기 위해 더 많은 비트를 '메시지 길이' 필드(깊이-4, 관련 필드)로 지정할 수 있다(깊이-5, 적응 유형). 모든 에지에서 숫자 값은 연결된 자식 노드에 대한 전이 확률로 할당된다. 기존의 전이 그래프와 다른 점은 노드의 아웃 바운드 에지에 있는 가중치 값의 합계가 반드시 하나일 필요는 없다는 것이다. 메시지 필드 업데이트 가능성이 다른 필드의 가능성을 높이거나 억제하지 않기 때문이다.
적응 확률 트리는 특정 프로토콜 인스턴스가 아니라 목표 프로토콜 도메인에서 가능한 모든 적응을 포함할 수 있다. 따라서, 적응 확률 트리에는 사용자 장치의 레거시 프로토콜에 적용되지 않을 수 있는 적응이 포함될 수 있다. 예를 들어, 서비스 요청자의 메시지에 'Character Encoding'이라는 메시지 필드가 있으면 새로운 'Character Encoding' 필드(깊이-4)의 'Addition'(깊이 -5)에 중복된 필드가 생성된다. 반면, 적응 방법 후보가 레거시 프로토콜 메시지에 없는 필드를 삭제할 것을 제안하면, 그러한 적응은 적용될 수 없다. 따라서 유효하지 않은 후보를 필터링하고 검색 공간 크기를 줄이려면 초기 트리가 정리되어야 한다.
적응 방법 후보의 최종 목록이 결정되면, 가능한 가능성이 높은 후보를 먼저 시도하기 위해 확률이 계산될 수 있으며, 이는 수학식 1과 같이 할당된 가중치 값의 함수로 수행될 수 있다.
[수학식 1]
Figure 112020006824714-pat00005
여기서, x는 적응 방법 후보이거나 깊이 5의 리프 노드이고, p(x)는 이의 확률이며,
Figure 112020006824714-pat00006
는 루트 노드에서 x까지 경로의 모든 에지에 할당된 가중치이다. 두 개의 인덱스 i 및 j는 각각 이러한 에지를 포함하는 시작 노드 및 목적지 노드의 깊이를 나타낸다. 후보 탐지의 성능은 가중치 값 할당 및 함수 f의 정의에 따라 다음과 같이 계산될 수 있다.
1.
Figure 112020006824714-pat00007
: 이 가중치 값은 프로토콜 기능 업데이트 가능성을 나타낸다. 특정 기능에 해당하는 메시지 필드가 다양한 방식으로 업데이트되는 빈도가 높을수록 기능이 더 업데이트될 가능성이 높다. 따라서, 하기의 수학식 2에 따라 두 측정값, 즉 업데이트 빈도와 다양성의 조합으로
Figure 112020006824714-pat00008
를 계산할 수 있다.
[수학식 2]
Figure 112020006824714-pat00009
여기서, fi는 리프 노드 x 로의 경로의 기능을 의미한다. NormUpdateFreq(fi)는 업데이트 빈도를 의미하는 것으로, 각 기능에 해당하는 메시지 필드가 몇 번 업데이트 되었는지와 그러한 업데이트가 발생할 가능성을 측정한 것이다. 따라서, 이를 산출하기 위해 하기의 수학식 3과 같이 프로토콜 메시지 필드의 업데이트 기록을 활용할 수 있다.
[수학식 3]
Figure 112020006824714-pat00010
여기서, UpdateHistory(fi)는 주어진 기능 fi에 해당하는 메시지 필드의 업데이트 인스턴스 집합이며, F는 모든 기능 집합이다(표 3 참조).
또한, NormDiv(fi)는 다양성을 의미하는 것으로, 프로토콜 메시지에서 대상 기능에 해당하는 메시지 필드가 얼마나 다양하게 구현되는지 측정한 것이다. 특정 기능에 해당하는 메시지 필드가 다양하지 않을수록 업데이트 될 가능성이 줄어든다. 기능에 해당하는 모든 메시지 필드가 동일한 방식으로 구현되면 확실한 합의가 이루어지고 필드가 업데이트되지 않을 것이다. 하기의 수학식 4에 따라 다양성을 계산할 수 있다.
[수학식 4]
Figure 112020006824714-pat00011
여기서, MaxDiv(F)는 F의 모든 기능 중에서 최대 Div(fi) 값을 나타낸다. 업데이트 빈도 및 다양성 측정을 위해, 정규화된 값을 사용하여 측정값과
Figure 112020006824714-pat00012
값을 0에서 1 사이의 범위로 조정할 수 있다. 본 발명의 실시예에 따르면, Shannon의 Entropy가 여러 도메인에 걸쳐 대표적인 다양성 측정 수단으로 사용되었다는 점을 고려하여 수학식 5 내지 수학식 7에 따라 Div(fi)을 계산할 수 이다.
[수학식 5]
Figure 112020006824714-pat00013
[수학식 6]
Figure 112020006824714-pat00014
[수학식 7]
Figure 112020006824714-pat00015
여기서, J는 fi에 해당하는 메시지 필드 유형 집합을 의미하고, K는 각 필드에 대한 비트 할당 유형의 집합을 의미하고, Vi,j는 기능 fi 및 메시지 필드 유형 j를 위한 비트 할당 인스턴스의 집합을 의미하고, freq(k, Vi,j)는 Vi,j에서 k의 총 출현 횟수를 의미한다. 수학식 5에서, Div (fi)는 대상 기능 fi의 모든 메시지 필드 유형의 평균 엔트로피 H(fi, j)로 계산된다. 각각의 엔트로피 값은 공지된 엔트로피 수학식 6에 따라 계산되고, 여기서 비트 할당 유형 k의 확률
Figure 112020006824714-pat00016
이 수학식 7에 따라 계산된다. 예를 들어, fi가 'Session Management'이고 표 2의 모든 프로토콜을 고려하면 J = {'Comms.Session Mgmt.'}, K = {0, 16}, Vi, j = {16, 16, 0, 0, 16, 16} 및 NormDiv(Fi) = 0.4787이다.
2.
Figure 112020006824714-pat00017
: 이 가중치 값은 연결된 상위 노드, 즉 상위 기능에 대해 각 요구 사항이 어떻게 변경될 수 있는지를 나타낸다. 이를 계산하기 위해 증거(evidence)와 가능성이라는 두 가지 측정 값을 추가한다. 증거는 프로토콜 업데이트 기록에 따라 요구 사항이 얼마나 자주 변경되었는지를 나타낸다. 예를 들어 'Content Parsing' 기능이 제공되면 표 3의 기능과 관련된 세 가지 유형의 요구 사항 변경이 관련되며 각 유형의 출현 횟수를 증거 값으로 활용할 수 있다. 가능성은 업데이트 기록과 관계없이 현재 요구 사항 변경에서 가능한 적응 수(깊이 5 노드)를 의미한다. 기능 (깊이-2)에 연결된 모든 깊이-3 노드에 대해 이 추가를 수행하면 가중치 값
Figure 112020006824714-pat00018
은 하기의 수학식 8과 같이 계산될 수 있다.
[수학식 8]
Figure 112020006824714-pat00019
여기서, p와 c'는 각각 기능 및 루트 노드에서 x로의 경로에 대한 요구 사항 변경을 의미하고, evip,c 및 posp,c는 기능 p에 대한 요구 사항 변경 c의 증거 및 가능성이며, Cp는 기능 p에 대해 연결된 요구 사항 변경 집합이다. 수학식 8을 기초로 하면, 기능 p로부터 나가는 에지에 대한 가중치의 합은 1이다. 따라서, 나가는 에지의 가중치는 다른 나가는 에지에 대한 상대 확률을 의미하며, 이는 다른 요구 사항 변경(예를 들어, Cp-{c'}의 요소)에 대한 요구 변화(c')의 상대적 확률을 의미한다.
3.
Figure 112020006824714-pat00020
: 깊이-4 및 깊이-5 노드는 의미적으로 분리할 수 없다. 예를 들어 'addition of the query count field' 가능성에 관심이 있을 수 있다. 따라서 깊이-3에서 깊이-4 노드까지의 모든 에지에 가중치 값 1을 할당하고 깊이-3에서 깊이-5 노드까지의 경로에 단일 가중치
Figure 112020006824714-pat00021
를 사용할 수 있다.
4.
Figure 112020006824714-pat00022
: 이 가중치 값은 각각의 연결된 적응 유형(예를 들어, A, D, L, V, C)이 얼마나 가능한지를 나타낸다. 이를 계산하기 위해 전체 업데이트 기록에서 각 메시지 필드 업데이트 패턴의 일부가 사용될 수 있다. 그러나 필드의 추가 또는 삭제는 존재 확률에 따라 결정되어야 한다. 예를 들어 'version information' 필드는 대부분의 SDP 메시지에 표시되지만, DNS-SD/mDNS 프로토콜 메시지의 메시지에는 이 필드가 없다(표 2 참조). 그러면, 향후 업데이트에 버전 정보 필드를 추가할 수 있다. 이를 반영하기 위해 필드의 추가 확률에 존재 확률을 곱한다.
깊이-5 적응 방법 후보를 발견하기 위해, 연결된 모든 상위 레벨 노드를 동시에 구현해야 한다. 따라서 최종 확률 p(x)를 계산하기 위해 수학식 9와 같이 모든 관련 가중치 값을 곱할 수 있다.
[수학식 9]
Figure 112020006824714-pat00023
한편, 서로 다른 요구 사항 변경으로 인해 동일한 필드가 동일한 패턴으로 적응될 수 있다. 예를 들어, 도 4에는 두 가지 중복 후보, 즉 'Control flag & Rsvd'의 어휘 변경이 있다. 하나는 보안 요구 사항 변경에서 파생되고 다른 하나는 비보안 제어 옵션 변경에서 파생된다. 이 경우 최종 메시지에 여러 번 적용되는 것을 방지하기 위해 이들을 하나로 통합할 필요가 있다. 가중치 값을 평균하고 다음 단계인 시퀀스 계획 트리 구성으로 전달하는 것이 가장 간단한 방법이다.
도 4는 본 발명의 일 실시예에 따라 SLPv1 사용자 에이전트에 대한 정리된 적응 확률 트리를 도시하는 도면으로, 표 2 및 표 3의 SDP 지식 베이스에 기초하여 구성된 적응 확률 트리의 예를 도시한다. 각 전이 에지에는 계산된 가중치 값이 할당된다. 전체적으로, 25 개의 적응 방법 후보가 식별되고, 10 개의 후보가 제거되고, 2 개의 후보(제어 플래그의 어휘 변경)가 SLPv1 에이전트에 통합된다.
상술한 바와 같이 적응 방법 후보의 확률이 계산되면, 유효한 것의 올바른 시퀀스를 찾아야 한다. 그러나 상술한 정리 과정을 통해 후보의 수를 줄이더라도 실행 가능한 시퀀스 수가 너무 많아 런타임시 하나씩 시도할 수 없다. 따라서, 본 발명의 실시예에 따르면 휴리스틱이 있는 게임 트리를 활용하여 트리의 깊이와 너비를 줄일 수 있다. 즉, 노드가 적응 방법 후보인 게임 트리를 구축하고 프로토콜 지식을 휴리스틱으로 활용하여 검색 공간을 줄일 수 있다. 이 트리를 적응 시퀀스 계획 트리라고 하며, 해당 트리는 의미있는 상호 작용이 발생할 가능성이 가장 높은 시퀀스를 반환할 수 있다.
도 5는 본 발명의 일 실시예에 따른 적응 시퀀스 계획 트리 구조를 도시하는 도면이다.
도 5를 참조하면, 적응 시퀀스 계획 트리는 유효 및 무효한 것을 포함할 수 있는 적응 방법 후보의 N + M 층으로 구성될 수 있다. 여기서, 깊이가 낮은 후보는 유효할 확률이 높으며, 동일한 계층에서 가장 왼쪽 후보가 확률이 가장 높다. 시퀀스를 구성하기 위해 깊이 우선 트리 검색 알고리즘을 활용할 수 있다. 알고리즘이 후보들을 하나씩 순회함에 따라, 선택된 후보가 적응 시퀀스에 추가된다. 예를 들어, 현재까지 N 개의 후보를 시퀀스에 추가하면 M 개의 후보를 더 추가 할 수 있다. 그러면, 적응 시퀀스 계획 트리가 생성할 수 있는 적응 시퀀스의 수는 M의 순열보다 작다. 최종 시퀀스는 프로브 메시지 트랜시버(140)로 반환될 수 있다.
시퀀스 순회를 위해 전체 게임 트리를 구축하면 메모리 공간이 너무 많이 필요할 수 있다. 많은 IoT 장치의 설치 공간이 작다는 점을 고려하면 메모리 사용량을 낮게 유지할 필요가 있다. 이에, 본 발명의 실시예에서는 전체 트리를 작성하는 대신 순회해야 하지만 트리에 현재 존재하지 않는 트리 노드를 점진적으로 추가할 수 있다. 또한 할당된 메모리가 사용자 장치의 용량을 초과하지 않도록 다시 방문하지 않는 트리 노드에 할당된 메모리 공간을 비워서 메모리를 사용할 수 있다. 예를 들어, 트리 노드의 모든 서브 시퀀스가 유효하지 않은 것으로 발견되면 해당 트리 노드는 사용 불능으로 표시되며 서브 시퀀스에 할당된 모든 메모리 공간을 비울 수 있다.
또한, 검색 공간을 줄이기 위해 트리 노드 정리를 위한 휴리스틱을 깊이와 너비의 두 가지로 채택한다. 깊이를 줄이기 위해 적응 시퀀스 길이를 제한할 수 있다. 트리에는 유효하고 유효하지 않은 적응이 혼합되어 있기 때문에 나열된 모든 적응이 수행되지는 않는다. 따라서, 적응 시퀀스의 가장 가능성 있는 길이를 결정하고 그 길이만큼 트리 순회를 제한할 수 있다. 이러한 길이 제한은 검색 공간을 기하 급수적으로 줄일 수 있다. 시퀀스 길이를 결정하기 위해 도메인 당 지식 베이스 데이터베이스의 모든 프로토콜 업데이트 기록에 대한 분포를 사용할 수 이다. 한편, 너비를 줄이기 위해 높은 수준의 지식을 채택하고 의미없는 적응을 피할 수 있다. 예를 들어, 필드 삭제가 이전에 추가된 경우 해당 필드의 이후 적응은 무시될 수 있다.
도 6은 본 발명의 일 실시예에 따른 SLPv1에 대한 적응 시퀀스 탐지 예를 도시하는 도면으로, 여기서 올바른 적응 시퀀스를 강조하고 이 전에 시도된 적응 시퀀스를 도시하였다.
이후, 적응 시퀀스가 리턴되면 프로브 메시지 작성기(130)로 전달될 수 있다. 이에 따라, 프로브 메시지 작성기(130)는 메시지 구조 분석 및 지식 베이스(110) 내의 필드 길이 업데이트 기록을 기반으로 주어진 메시지 레벨 후보에 해당하는 비트 레벨 적응 옵션을 결정할 수 있다. 도 7은 본 발명의 일 실시예에 따른 프로브 메시지 작성기의 비트 레벨 메시지 적응 예를 도시하는 도면이다.
가장 가능성 있는 옵션이 계산되면 해당 조합이 원래 프로토콜 메시지에 적용될 수 있다. 각 적응 타입에 대한 비트 레벨 적응은 다음과 같이 수행될 수 있다.
구체적으로, 새 필드를 추가할 때([A]) 새로 추가된 필드의 올바른 의미를 비트 레벨로 인코딩하여 새 프로토콜과 호환되도록 하는 것이 좋다. 그러나 이 작업은 너무 많은 시간 복잡성, O(2n)을 야기할 수 있다. 여기서, n은 할당된 비트 수이다. 이에, 필드 추가라는 목표를 다음 필드의 시작점과 메시지의 총 크기를 조정하는 것으로 대체할 수 있다. 오직 잘 확립된 필드를 추가해야 할 때만 널리 사용되는 표준 값을 먼저 시도할 수 있다(예를 들어, "Language Code" 필드의 경우 "en"). 올바른 의미가 전달되지 않더라도 수신자가 구조와 필요한 정보를 이해할 수 있으면 의미있는 상호 작용으로 정의할 수 있다. 따라서 적응 옵션이 제안하는 만큼 값이 0 인 비트를 추가한다.
삭제([D])의 경우 대상 필드를 삭제하고 삭제된 필드가 차지하는 비트 수만큼 빈 필드를 채우도록 다음 필드를 가져올 수 있다.
필드 추가와 동일한 이유로 필드의 어휘([V])를 변경할 때 대상 프로토콜과 의미적으로 호환되는 완벽한 적응을 달성할 수 없다. 또한 어휘 변경에는 추가 비트를 추가할 필요가 없다. 따라서, 본 발명의 일 실시예에 따르면, 이 유형의 비트 레벨 적응을 수행하지 않으며 이는 오류가 발생하기 쉬운 응답 메시지를 유발한다. 다른 실시예에 따르면, IANA의 데이터베이스 및 공급업체별 어휘와 같은 표준 어휘를 저장하는 온라인 저장소를 확인하고 업데이트가 있는 경우 다운로드하는 구성 요소를 추가할 수 있다.
필드 길이 변경([L])은 증가 또는 감소일 수 있다. 프로토콜 필드 업데이트 기록에서 패딩을 위해 확장된 필드 공간에 여러 개의 0 비트가 추가된 패턴을 찾을 수 있다. 증가 변경의 경우 동일한 방법을 채택하고 0 값 비트를 추가할 수 있다. 감소 변경의 경우 중요하지 않은 비트가 보통 가장 오른쪽 필드에 있다는 점을 고려하여 마지막 필드를 삭제할 수 있다.
숫자 값 변경([C])은 대부분 증가이며 버전 관련 필드에 적용된다. 이 후보의 경우 지식 베이스에서 제안한 대로 원래 숫자 값이 변경된다.
상술한 바와 같은 일련의 비트 레벨 적응 후에, 적응된 메시지는 프로브 메시지 트랜시버(140)로 리턴되어 전송될 수 있다.
상술한 본 발명의 실시예에 대한 성능을 평가하기 위해 서로 다른 도메인에서 프로토콜 업데이트 시나리오를 사용하여 두 가지 사례 연구를 수행하였다.
첫 번째 사례 연구는 IoT 환경에서 많이 사용되는 SDP(Service Discovery Protocol)로 설계되었다. 이 시나리오에서 사용자 장치는 SLPv1을 사용하고, SLPv2를 사용하는 스마트 장치를 만난다. SLPv2 메시지 구조가 SLPv1 메시지 구조와 상이하므로, 사용자 장치는 SLPv2를 사용하는 스마트 장치를 검색할 수 없다. 의미있는 상호 작용을 위해 SLPv1 사용자 에이전트는 응답 메시지가 반환될 때까지 서비스 요청 메시지를 계속 적응한다.
두 번째 사례 연구에는 "A. Rayes, S. Salam, Iot protocol stack: A layered view, in: Internet of Things From Hype to Reality, Springer, 2017, pp. 93-138"에 제시된 IoT 데이터 교환 프로토콜이 활용된다. 이 시나리오에서 사용자 장치는 MQTT 버전 3.1.1을 사용하고, 대응하는 브로커는 MQTT 버전 5를 사용한다. 많은 프로토콜 메시지 중에서 CONNECT 메시지에 중점을 둔다. 이는 MQTT 에이전트가 추가 상호 작용을 위해 교환해야 하는 첫 번째 메시지이기 때문이다.
표 5는 사례 연구를 수행하기 위한 구현 및 실험 설정을 나타낸다.
[표 5]
Figure 112020006824714-pat00024
본 발명의 실시예에 따른 메시지 추론의 정확도를 평가하기 위해, 의미있는 상호 작용을 위해 프로토콜 메시지를 적응하기 위해 내린 결정에 대한 정확도 및 회수율을 측정한다. 여기서, 결정에는 적용된 적응 방법뿐만 아니라 관련 필드가 변경되지 않은 '정지' 작업도 포함된다. 또한 메시지 적응에서 야기된 시맨틱 손실을 측정한다. 의미있는 상호 작용은 여러 필드가 의미적으로 호환되지 않을 수 있음을 의미할 수 있다. 해당 지표는 정확도와 함께 본 발명의 실시예에 따른 구문 추론이 해당 시맨틱에 미치는 영향과 의미있는 상호 작용에 적합한 시맨틱 손실의 정도에 대한 통찰력을 제공할 수 있다. 이 값은 누락된 필드 및/또는 오류없이 구문 분석되었지만 의미가 스펙과 상이한 필드의 수 대비 업데이트된 프로토콜 메시지의 총 예상 필드 수의 비율로 계산할 수 있다. 예를 들어, 업데이트된 프로토콜 메시지가 10개의 필드로 구성되어 있고 의미있는 상호 작용이 수행되었다고 가정하면, 8개의 필드가 구문 분석되었지만 그 중 하나가 의미적으로 호환되지 않는 경우 시맨틱 손실은 0.3이다.
한편, 본 발명의 실시예가 실제 IoT 시나리오, 즉 많은 참가자가 자원 제한 장치이고 상호 작용 기회가 영구적이지 않은 경우에도 적용 가능한지 확인할 필요가 있다. 이를 위해, 의미있는 상호 작용까지 필요한 반복 횟수를 분석하고 본 발명의 실시예에 따른 메시지 구문 추론에 걸리는 시간을 측정한다. 추론이 성공적으로 완료되었지만 시간이 너무 오래 걸리면 추론된 메시지 구문이 활용되지 않으므로, 추론이 빠르게 수행되어야 한다. 또한, 메모리 소비를 측정하여 본 발명의 실시예가 어떠한 종류의 IoT 장치에 적용 가능한지 확인한다.
첫 번째 사례 연구 결과에 따르면, 본 발명의 실시예는 적응 정확도 0.7과 평균 시맨틱 손실 0.25에도 불구하고 의미있는 상호 작용을 가능하게 한다. 표 6은 서로 다른 적응 시퀀스 길이에 대해 의미있는 상호 작용이 이루어질 때까지 반복 횟수 및 해당 정확도와 시맨틱 손실을 나타낸다.
[표 6]
Figure 112020006824714-pat00025
적응 시퀀스 길이가 4인 경우, 본 발명의 실시예는 반복 횟수 측면에서 최고의 성능을 나타내나, 다른 지표에서는 성능이 가장 낮음을 알 수 있다.
도 8은 (a) 원본 SLPv1 서비스 요청 메시지의 헤더, (b) 적응된 SLPv1 서비스 요청 메시지의 헤더, 그리고 (c) SLPv2 에이전트에 의해 예상된 서비스 요청 메시지의 헤더를 도시하며, 이를 비교함으로써 비교적 낮은 정확도로도 어떻게 의미있는 상호 작용을 빠르게 수행할 수 있는지 설명한다.
도 8을 참조하면, SLPv1 메시지 헤더의 처음 세 필드는 SLPv2 에이전트가 예상한 대로 구성된다. 그러나 'Control' 플래그의 확장 길이는 예상보다 2 바이트 짧으며, 이 2 바이트는 SLPv2에서 삭제될 'Language Code' 필드에 할당된다. 이 두 가지 오류는 정확도를 낮추지만 SLPv2 에이전트 측에서 시맨틱 손실을 일으키지 않는다. SLPv2 에이전트는 제어 플래그의 첫 1 바이트만 구문 분석하고 확장을 위해 예약될 다음 4 바이트를 무시하기 때문이다. 적응형 헤더의 'Char Encoding' 필드는 SLPv2 에이전트 측에서 'XID' 필드로 구문 분석되므로 정확도가 떨어지고 오류가 발생할 수 있다. 그러나 간단한 SLP 요청-응답 루틴에서 일관되지 않은 XID는 상호 작용을 방해하지 않지만 이를 시맨틱 손실로 간주할 수 있다. 마지막으로 'Language Tag' 필드에는 길이 정보가 포함되므로 SLPv2 에이전트 측에서 2 바이트의 'Language Tag Length' 필드는 무시된다. 결과적으로 정확도가 낮고(정확도 0.625, 회수율 0.5), 28.57%의 정보가 손실된 경우에도 SLPv2 에이전트는 요청 메시지에서 필요한 필드를 구문 분석하고 요청된 서비스에 대한 정보를 응답할 수 있다.
한편, 적응 시퀀스 길이가 9인 경우, 본 발명의 실시예는 정확도 측면에서는 최고의 성능을 보여 주지만 반복 횟수가 크게 증가함을 알 수 있다. 도 9는 해당 결과를 도시하는 것이다. 이 경우, 대부분의 유효한 적응 방법을 수행하며 높은 회수율 0.9를 나타낸다. 그러나 'Control & Flags' 필드의 길이가 잘못 추론되고 다음 헤더 필드가 모두 함께 이동되므로 SLPv2 에이전트 측에 오류가 발생할 수 있다. 다행히도, 적응 시퀀스 길이가 4 일 때와 동일한 이유로, 바이트 인덱스 6과 14 사이의 필드는 SLPv2 에이전트에 의해 무시되거나 사용되지 않는다. 따라서, 잘못된 적응 방법이 숨겨지고 SLPv2 에이전트가 서비스 요청 메시지에 성공적으로 응답할 수 있게 된다. 한편, 반복 카운트의 증가는 적응 시퀀스 길이의 증가에 기인한다. 적응 시퀀스 길이가 길수록 단순한 순열이기 때문에 더 많은 시퀀스를 구성할 수 있다. 또한 길이가 길면 유효하지 않은 후보를 출력 시퀀스에 넣은 후 복구하는데 더 많은 반복이 필요하다.
한편, 적응 시퀀스 길이가 7인 경우, 본 발명의 실시예는 중간 반복 횟수, 거의 최적의 정확도 및 최소 시맨틱 손실로 최상의 성능을 발휘한다고 할 수 있다.
도 10은 적응 시퀀스 길이가 7일 때의 적응된 메시지 헤더를 도시하는 것으로, 예상되는 SLPv2 메시지의 길이와 매우 유사하게 보인다. 이 경우 XID 필드도 정확하게 배치되므로 일관된 세션 ID가 필요한 보다 복잡한 상호 작용이 가능하다.
표 7은 표 6의 열 항목 사이의 상관 계수를 보여 주며, 상술한 상관 관계를 포함한 통계적 결과를 의미한다.
[표 7]
Figure 112020006824714-pat00026
먼저, 적응 시퀀스 길이와 반복 횟수 사이에 강한 양의 상관 관계가 발견되며, 이는 길이 9의 경우에 설명된다. 또한, 적응 시퀀스 길이와 회수율 사이에도 강한 양의 상관 관계가 있다. 이는 의미있는 상호 작용을 가능하게 하는 적응 방법의 수가 10 개이기 때문이다. 길이가 4에서 11까지 변하는 적응 시퀀스를 찾는다는 점을 고려하면, 적응 시퀀스의 수가 많을수록, 즉 10에 가까워질수록 더 높은 회수율을 얻는다. 마지막으로, 정확도와 시맨틱 손실 사이에 강한 음의 상관 관계가 있다. 이는 시맨틱 손실을 방지하기 위해 보다 정확한 적응 방법을 수행해야 함을 의미한다.
결론적으로, 14 개의 적응 방법 후보로부터 2.37E + 11 개의 가능한 시퀀스를 가지고 있다는 것을 고려할 때, 높은 수준의 시맨틱을 이용하는 것이 검색 공간을 좁히고 유효한 적응 방법을 효율적으로 검출하는 데 효과적임을 알 수 있다. 특히 시퀀스 길이가 4, 6 또는 7 인 경우 1000 회 미만의 반복이 필요하며 이는 기존의 임의 추측과 비교하여 크게 개선된 것이다.
두 번째 사례 연구는 첫 번째 사례 연구와 비교하여 간단한 시나리오를 사용한다. 구체적으로, 적응 확률 트리는 11 개의 후보를 반환하고, 그 중 첫 번째 및 여섯 번째 후보는 유효한 적응 시퀀스를 구성한다. (1) 'Version info'의 숫자 값을 변경하고 (2) 'Property Length' 값을 포함하도록 'Offset' 필드를 추가한다. 유효한 시퀀스는 두 개의 후보로 구성되므로 시퀀스 길이가 1인 경우 의미있는 적응을 할 수 없다. 또한 길이가 9보다 길면 실패한다. 반환된 11 개의 후보자에'Addition of language code'(5 번째 확률) 및'Addition of character encoding(최소 확률)가 포함되어 있기 때문에 적용되는 경우 의미있는 상호 작용이 중단된다. 길이가 9보다 길면 이러한 '반드시 피해야 하는' 적응 방법 중 하나 이상이 반드시 적용된다.
[표 8]
Figure 112020006824714-pat00027
표 8은 두 번째 사례 연구의 실험 결과를 나타내는 것으로, 표 8로부터 정확도가 지속적으로 감소하는 반면, 회수율과 시맨틱 손실은 각각 1과 0에서 변하지 않는다는 것을 관찰할 수 있다. 이는 적용된 적응 방법의 수가 증가하기는 하지만 두 개의 유효한 후보만 있기 때문이다. 이에 적응 방법이 많을수록 잘못된 동작을 수행한다. 한편, 모든 수행된 의미있는 상호 작용이 전술한 두 가지 유효한 적응 방법에 기인하기 때문에 회수율은 저하되지 않는다. 또한 CONNECT 메시지에 적용되는 다른 잘못된 적응 방법은 모두 'Vocabulary change'이므로 해당 업데이트 패턴으로 아무 것도 수행할 수 없으므로 시맨틱 손실이 발생하지 않는다.
또한, 적응 시퀀스 길이가 5일 때 상호 작용 횟수가 가장 작고, 그 후에 길이가 커질수록 상호 작용 횟수가 급격히 증가함을 알 수 있다. 기본적으로 의미있는 상호작용을 위한 필요충분 조건은 두 개의 유효한 후보를 적용하고'Addition of language code' 및 'Addition of character encoding'을 제외하는 것이다. 유효한 후보와 '피해야 하는' 후보의 순서를 고려할 때, 유효한 후보를 선택하면 시퀀스 길이가 5 이상으로 증가함에 따라 '피해야 하는' 후보 중 하나 이상이 선택될 확률이 높아진다. 이는 상호 작용 횟수의 증가 추세를 설명한다.
첫 번째 사례 연구와 마찬가지로, 결과는 높은 수준의 시맨틱을 활용하는 것이 가능성을 좁히고 의미있는 상호 작용을 효율적으로 이끌어내는 데 효과적임을 알 수 있다.
표 9 및 표 10은 각각 첫 번째 및 두 번째 사례 연구에서 효율성 측정, 경과 시간 및 메모리 사용량을 분석한 결과를 나타낸다.
[표 9]
Figure 112020006824714-pat00028
[표 10]
Figure 112020006824714-pat00029
경과 시간은 상술한 반복 횟수에 비례함을 알 수 있다. 또한, 시퀀스 길이는 평균 값이 프로토콜 버전 업데이트 당 평균 필드 변경 수의 평균값인 가우시안 분포에 따른 랜덤 변수라는 점을 고려할 때 첫 번째 사례 연구에서는 6 또는 7을 선택하고 두 번째 사례 연구에서 3을 첫 번째로 시도할 시퀀스 길이로서 선택할 가능성이 높다. 그러면, 첫 번째 사례 연구의 경우 메시지 추론에 5 ~ 8 초의 시간이 걸린다. 응답 시간 분석에 따르면, 이 시간은 사용자의 관심을 현재 상호 작용에 집중시킬 수 있을 만큼 짧다. SLP는 본질적으로 수동적이고 시간이 중요하지 않은 프로토콜이라는 점을 고려하면 업데이트된 프로토콜로 서비스 에이전트를 발견하기 위해 사용자의 주의를 기울이면 충분하다. 한편, 두 번째 사례 연구의 경우, 적응 시퀀스 길이가 3 일 때 533ms가 걸린다. 응답 시간 분석에 따르면, 이 경과 시간은 사용자가 상호 작용을 원활하게 인식할 수 있을 정도로 짧다. MQTT 통신이 적시에 분리 되더라도 많은 IoT 애플리케이션에서 거의 실시간에 가까운 데이터 교환이 필요하다. 이러한 관점에서 상술한 본 발명의 실시예는 다른 버전의 서비스와 사용자 에이전트가 서로 상호 작용하더라도 MQTT의 성능을 저하시키지 않는다. 또한 여러 CPU 벤치 마크 점수에 따르면, 본 발명이 스마트 폰과 같은 보다 강력한 IoT 장치에서 실행될 때 이 경과 시간을 단축할 수 있다.
한편, 첫 번째 및 두 번째 사례 연구에서 힙(heap)(가비지 콜렉션 이전) 및 비힙 공간을 포함한 메모리 사용량은 최악의 경우 각각 27.24MB 및 12.92MB이다. 가비지 콜렉션 후에는 메모리 사용량이 18.13MB 및 10.42MB로 줄어 든다. 그러나 상술한 본 발명의 실시예에서는 지식 베이스 시퀀스 길이 제한으로 인해 최악의 경우가 거의 없다. 결국 본 발명은 자원이 제한된 IoT 장치에서도 제공할 수 있는 작은 메모리 오버 헤드를 유발한다.
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.
100: 런타임 메시지 추론 장치
110: 지식 베이스
120: 적응 제어기
130: 프로브 메시지 작성기
140: 프로브 메시지 트랜시버
200: IoT 장치

Claims (10)

  1. 프로토콜의 메시지 구조 및 업데이트 정보를 포함하는 프로토콜 지식을 저장하고, 상기 프로토콜 지식을 기반으로 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 적응 확률 트리를 구축하며, 상기 적응 확률 트리를 기초로 의미있는 상호 작용이 발생할 가능성이 가장 높은 적응 시퀀스를 반환하는 적응 시퀀스 계획 트리를 구축하는 지식 베이스;
    사용자 에이전트가 개시되면, 대상 IoT 장치로부터 오류가 없는 응답 메시지가 반환되거나 시도할 적응 방법 후보가 없을 때까지 상기 지식 베이스로 적응 시퀀스를 쿼리하며, 반환된 적응 시퀀스를 프로브 메시지 트랜시버로 전달하는 적응 제어기;
    상기 적응 시퀀스에 대한 비트 레벨 메시지 적응을 수행하여 적응된 요청 메시지를 작성하는 프로브 메시지 작성기; 및
    상기 프로브 메시지 작성기로 상기 적응 시퀀스에 대한 요청 메시지 작성을 요청하고, 상기 요청 메시지를 상기 대상 IoT 장치로 전송하며, 상기 대상 IoT 장치로부터 수신한 응답을 상기 적응 제어기로 보고하는 프로브 메시지 트랜시버를 포함하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치.
  2. 제 1 항에 있어서, 상기 프로토콜 지식은,
    프로토콜(Protocol), 프로토콜 요구사항(ProtocolRequirement), 기능(Functionality), 프로토콜 메시지(ProtocolMessage), 프로토콜 메시지 필드(ProtocolMessageField) 및 업데이트(Update)를 포함하는 클래스로 구성되는 프로토콜 메시지 온톨로지로 구축되는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치.
  3. 제 2 항에 있어서, 상기 프로토콜 지식은,
    각 필드 유형의 출현 확률 및 각 필드 유형에 대한 비트 할당 분포를 기초로 생성된 추가 지식을 더 저장하는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치.
  4. 제 1 항에 있어서,
    상기 적응 확률 트리는 유향 그래프이고, 상기 적응 확률 트리의 루트 노드에서 리프 노드로의 경로가 상기 적응 방법 후보를 나타내며, 에지에 할당된 가중치 값에 의해 가능한 적응 방법 후보들의 상대 확률을 계산하도록 하는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치.
  5. 제 4 항에 있어서,
    상기 상대 확률을 하기의 수학식 1,
    Figure 112020006824714-pat00030

    에 따라 계산되며, x는 적응 방법 후보이거나 깊이 5의 리프 노드이고, p(x)는 상대 확률이며,
    Figure 112020006824714-pat00031
    는 루트 노드에서 x까지 경로의 모든 에지에 할당된 가중치이고, 인덱스 i 및 j는 상기 에지를 포함하는 시작 노드 및 목적지 노드의 깊이를 나타내는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치.
  6. 제 1 항에 있어서, 상기 지식 베이스는,
    상기 적응 시퀀스 계획 트리의 노드를 점진적으로 추가하며, 트리 노드의 모든 서브 시퀀스가 유효하지 않은 것으로 발견되면 상기 트리 노드는 사용 불능으로 표시되며 상기 서브 시퀀스에 할당된 모든 메모리 공간을 비우는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치.
  7. 사용자 에이전트가 개시되면, 지식 베이스에서 프로토콜의 메시지 구조 및 업데이트 정보를 포함하는 프로토콜 지식을 기반으로, 레거시 메시지를 이의 업데이트로 적응하기 위한 메시지 필드의 적응 방법 후보를 식별하고 시퀀스를 계산하기 위한 적응 확률 트리를 구축하는 단계;
    상기 지식 베이스에서 상기 적응 확률 트리를 기초로, 의미있는 상호 작용이 발생할 가능성이 가장 높은 적응 시퀀스를 반환하는 적응 시퀀스 계획 트리를 구축하는 단계;
    적응 제어기로부터 수신한 적응 시퀀스 쿼리에 따라, 상기 지식 베이스가 가능성이 가장 높은 적응 시퀀스를 상기 적응 제어기로 반환하는 단계;
    상기 반환된 적응 시퀀스가 프로브 메시지 트랜시버로 전달되면, 상기 프로브 메시지 트랜시버는 프로브 메시지 작성기로 적응된 요청 메시지 작성을 요청하는 단계;
    상기 프로브 메시지 작성기에 의해 작성된 요청 메시지가 상기 프로브 메시지 트랜시버로 전달되면, 상기 프로브 메시지 트랜시버는 상기 요청 메시지를 대상 IoT 장치로 전송하는 단계; 및
    상기 대상 IoT 장치로부터 응답 메시지를 수신하면, 상기 프로브 메시지 트랜시버는 상기 적응 제어기에 결과를 보고하는 단계를 포함하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 방법.
  8. 제 7 항에 있어서,
    상기 적응 제어기로 반환하는 단계 내지 상기 결과를 보고하는 단계는,
    상기 대상 IoT 장치로부터 오류가 없는 응답 메시지가 반환되거나 시도할 적응 방법 후보가 없을 때까지 반복 수행되는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 방법.
  9. 제 7 항에 있어서,
    상기 적응 시퀀스 계획 트리를 구축하는 단계는,
    상기 적응 시퀀스 계획 트리의 노드를 점진적으로 추가하며, 트리 노드의 모든 서브 시퀀스가 유효하지 않은 것으로 발견되면 상기 트리 노드는 사용 불능으로 표시되며 상기 서브 시퀀스에 할당된 모든 메모리 공간을 비우는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 방법.
  10. 제 7 항에 있어서,
    상기 적응 시퀀스 계획 트리의 순회 깊이 및 너비가 제한되는 것을 특징으로 하는 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 방법.
KR1020200007761A 2020-01-21 2020-01-21 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법 KR102185379B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200007761A KR102185379B1 (ko) 2020-01-21 2020-01-21 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200007761A KR102185379B1 (ko) 2020-01-21 2020-01-21 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102185379B1 true KR102185379B1 (ko) 2020-12-01

Family

ID=73790575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200007761A KR102185379B1 (ko) 2020-01-21 2020-01-21 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102185379B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225582A (zh) * 2022-06-10 2022-10-21 国家计算机网络与信息安全管理中心 一种基于动态知识图谱的动环平台协议适配方法及装置
CN116841243A (zh) * 2023-06-19 2023-10-03 浙江大学 一种智能化plc协议格式推断方法、模糊测试方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050011745A (ko) * 2002-04-19 2005-01-29 컴퓨터 어소시에이츠 싱크, 인코포레이티드 추론 서비스 제공 시스템 및 방법
KR20060086824A (ko) * 2005-01-27 2006-08-01 마이크로소프트 코포레이션 런타임 타입 추론을 통해 데이터 액세스를 용이하게 하기위한 시스템
JP2011108245A (ja) * 2009-11-20 2011-06-02 Palo Alto Research Center Inc 文脈情報からユーザに対する行動種別を決定する推論モデルを生成するプログラム
US20190354574A1 (en) * 2018-05-17 2019-11-21 Oracle International Corporation Systems and methods for scalable hierarchical coreference

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050011745A (ko) * 2002-04-19 2005-01-29 컴퓨터 어소시에이츠 싱크, 인코포레이티드 추론 서비스 제공 시스템 및 방법
KR20060086824A (ko) * 2005-01-27 2006-08-01 마이크로소프트 코포레이션 런타임 타입 추론을 통해 데이터 액세스를 용이하게 하기위한 시스템
JP2011108245A (ja) * 2009-11-20 2011-06-02 Palo Alto Research Center Inc 文脈情報からユーザに対する行動種別を決定する推論モデルを生成するプログラム
US20190354574A1 (en) * 2018-05-17 2019-11-21 Oracle International Corporation Systems and methods for scalable hierarchical coreference

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225582A (zh) * 2022-06-10 2022-10-21 国家计算机网络与信息安全管理中心 一种基于动态知识图谱的动环平台协议适配方法及装置
CN115225582B (zh) * 2022-06-10 2024-03-08 国家计算机网络与信息安全管理中心 一种基于动态知识图谱的动环平台协议适配方法及装置
CN116841243A (zh) * 2023-06-19 2023-10-03 浙江大学 一种智能化plc协议格式推断方法、模糊测试方法及装置
CN116841243B (zh) * 2023-06-19 2024-01-09 浙江大学 一种智能化plc协议格式推断方法、模糊测试方法及装置

Similar Documents

Publication Publication Date Title
JP4982501B2 (ja) 無線装置と通信するためにデータを圧縮/解凍するための方法及び装置
Alur et al. Realizability and verification of MSC graphs
US8688686B2 (en) SQL queries for simple network management protocol management information base tables
Goldreich et al. A theory of goal-oriented communication
EP0843441B1 (en) Computer implemented methods and apparatus for testing a telecommunications management network (TMN) agent
CN106664224B (zh) 通信系统的元数据增强型库存管理的方法和系统
US8312128B2 (en) Identification of management information base object identifiers supported by a managed device
KR102185379B1 (ko) 호환되지 않는 IoT 프로토콜 업데이트를 위한 런타임 메시지 추론 장치 및 방법
US7685566B2 (en) Structured message process calculus
Motahari-Nezhad et al. Deriving protocol models from imperfect service conversation logs
Jekjantuk et al. Modelling and reasoning in metamodelling enabled ontologies
CN113032465A (zh) 数据查询方法、装置、电子设备及存储介质
Turhan et al. DIG 2.0–towards a flexible interface for description logic reasoners
Cámara et al. Composition and Run-time Adaptation of Mismatching Behavioural Interfaces.
Alegria et al. IT Architecture automatic verification: A network evidence-based approach
Son et al. Towards interactive networking: Runtime message inference approach for incompatible protocol updates in IoT environments
Eiter et al. Reasoning about evolving nonmonotonic knowledge bases
Venzke Specifications using XQuery expressions on traces
Cubo et al. A model to design and verify context-aware adaptive service composition
Wallin et al. The semantics of alarm definitions: enabling systematic reasoning about alarms
Karunamurthy et al. A formal description framework and a matchmaking technique for web service composition
Son et al. An intelligent SDP discovery scheme using knowledge-based adaptive probing
Ciancia et al. A class of automata for the verification of infinite, resource-allocating behaviours
Son et al. An Efficient Interaction Protocol Inference Scheme for Incompatible Updates in IoT Environments
Robinson Context management in mobile environments

Legal Events

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