KR102148612B1 - LoRa 서버의 네트워크 통신 복구 방법 - Google Patents
LoRa 서버의 네트워크 통신 복구 방법 Download PDFInfo
- Publication number
- KR102148612B1 KR102148612B1 KR1020190123040A KR20190123040A KR102148612B1 KR 102148612 B1 KR102148612 B1 KR 102148612B1 KR 1020190123040 A KR1020190123040 A KR 1020190123040A KR 20190123040 A KR20190123040 A KR 20190123040A KR 102148612 B1 KR102148612 B1 KR 102148612B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- information
- message
- lora
- terminal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
저전력 기반의 장거리 무선 네크워크 통신에 있어서, 서버의 네트워크 통신 복구 방법은 단말로부터 단말과의 세션 정보를 포함하는 제1 메시지를 수신하는 단계; 데이터베이스를 참조하여, 세션 정보와 대응되는 정보가 데이터베이스에 존재하지 않는 경우, 서버의 네트워크에 장애가 발생했음을 판단하는 단계, 판단에 기초하여, 특정 영역에 복구 정보가 설정(set)된 제2 메시지를 생성하는 단계 및 제2 메시지를 단말로 전송하는 단계를 포함하고, 단말은 제2 메시지의 특정 영역에 복구 정보가 설정된 경우, 서버와의 세션 연결을 해제한 후, 서버로 새로운 세션 연결 요청을 전송하고, 제2 메시지는, 특정 영역을 제외한 다른 영역의 비트 정보는 제1 메시지의 대응되는 영역의 비트 정보와 동일하다.
Description
LoRa 메시지를 이용하여 LoRa 단말과 LoRa 서버 간의 네트워크 통신을 복구하는 방법이 개시된다.
LoRa(LongRange) 네트워크는 서버 장애로 단말에 대한 세션 정보 유실 시 복구가 어렵다.
LoRa 단말이 전송한 LoRa 메시지를 처리하는 게이트웨이가 변경될 경우, 변경 전후의 게이트웨이가 서로 다른 LoRa 네트워크 서버와 연결되면 네트워크 서버 간 통신이 어렵다.
LoRa 서버와 LoRa 단말 간의 메시지 전송을 통해 세션 연결 및 해제를 수행하고, 네트워크 통신을 자동으로 복구하는 방법이 개시된다.
저전력 기반의 장거리 무선 네크워크 통신에 있어서, 서버의 네트워크 통신 복구 방법은 단말로부터 상기 단말과의 세션 정보를 포함하는 제1 메시지를 수신하는 단계; 데이터베이스를 참조하여, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하지 않는 경우, 상기 서버의 네트워크에 장애가 발생했음을 판단하는 단계; 상기 판단에 기초하여, 특정 영역에 복구 정보가 설정(set)된 제2 메시지를 생성하는 단계; 및 상기 제2 메시지를 상기 단말로 전송하는 단계를 포함하고, 상기 단말은 상기 제2 메시지의 상기 특정 영역에 상기 복구 정보가 설정된 경우, 상기 서버와의 세션 연결을 해제한 후, 상기 서버로 새로운 세션 연결 요청을 전송하고, 상기 제2 메시지는, 상기 특정 영역을 제외한 다른 영역의 비트 정보는 상기 제1 메시지의 대응되는 영역의 비트 정보와 동일하다.
상기 특정 영역은 MHDR(Mac Header)일 수 있고, 상기 복구 정보는 상기 MHDR에 포함된 특정 비트일 수 있다.
상기 복구 정보는, 상기 MHDR의 4번째 비트일 수 있고, 상기 비트를 1로 설정함으로써 상기 복구 정보를 설정할 수 있다.
상기 세션 정보는 상기 단말 정보를 포함할 수 있다.
상기 서버는, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하는 경우, 상기 제1 메시지를 IoT 앱 서버로 전송할 수 있다.
저전력 기반의 장거리 무선 네크워크 통신을 구성하는 서버는 제어 프로그램을 기록하는 메모리; 상기 제어 프로그램에 따라 동작하는 중앙 처리부; 단말과의 세션 정보를 포함하는 데이터베이스; 및 상기 단말 및 IoT 앱 서버와 정보를 송수신하는 통신 인터페이스를 포함하고, 상기 제어 프로그램은, 상기 단말로부터 상기 단말과의 세션 정보를 포함하는 제1 메시지를 수신하는 단계; 상기 데이터베이스를 참조하여, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하지 않는 경우, 서버의 네트워크에 장애가 발생했음을 판단하는 단계; 상기 판단에 기초하여, 상기 단말로 전송할 제2 메시지를 생성하는 단계; 및 상기 제2 메시지를 상기 단말로 전송하는 단계를 포함하고, 상기 단말은 상기 제2 메시지의 특정 영역에 포함된 복구 정보가 설정된 경우, 상기 서버와의 세션 연결을 해제한 후, 상기 서버로 새로운 세션 연결 요청을 전송하고, 상기 제2 메시지는, 상기 특정 영역에 상기 복구 정보가 설정(set)되고, 상기 특정 영역을 제외한 다른 영역의 비트 정보는 상기 제1 메시지의 대응되는 영역의 비트 정보와 동일한다.
상기 특정 영역은 MHDR(Mac Header)일 수 있고, 상기 복구 정보는 상기 MHDR에 포함된 특정 비트일 수 있다.
상기 복구 정보는, 상기 MHDR의 4번째일 수 있고, 상기 비트를 1로 설정함으로써 상기 복구 정보를 설정할 수 있다.
상기 세션 정보는 상기 단말 정보를 포함할 수 있다.
상기 서버는, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하는 경우, 상기 제1 메시지를 IoT 앱 서버로 전송할 수 있다.
서버와 단말 간의 신호 전송을 통해 서버 장애로 유실된 단말에 대한 세션 정보를 복구할 수 있다.
LoRa 단말이 전송한 제1 LoRa 메시지를 처리하는 게이트웨이가 변경될 경우, 변경 전후의 게이트웨이가 서로 다른 LoRa 네트워크 서버와 연결되더라도 네트워크 서버 간 통신이 가능하다.
도 1은 LoRa 서버의 블록도이다.
도 2는 LoRa 단말과 LoRa 서버 간의 네트워크 연결 복구 방법의 흐름도이다.
도 3은 LoRa 메시지의 블록도이다.
도 4a 및 도 4b는 제1 LoRa 메시지 및 제2 LoRa 메시지의 일실시예를 도시한다.
도 5는 LoRa 단말과 LoRa 서버 간의 네트워크 연결 복구 방법의 일실시예를 도시한다.
도 2는 LoRa 단말과 LoRa 서버 간의 네트워크 연결 복구 방법의 흐름도이다.
도 3은 LoRa 메시지의 블록도이다.
도 4a 및 도 4b는 제1 LoRa 메시지 및 제2 LoRa 메시지의 일실시예를 도시한다.
도 5는 LoRa 단말과 LoRa 서버 간의 네트워크 연결 복구 방법의 일실시예를 도시한다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 LoRa 서버의 블록도이다.
LoRa(LongRange) 네트워크는 대규모 저전력 장거리 무선 기술(LPWA: Low Power Wide Area) 중 하나로서 소량의 데이터를 전송하고 장거리 통신이 가능한 통신 기술을 의미한다. LoRa 네트워크는 소량의 데이터를 전송하므로 많은 양의 전력을 필요로 하지 않고, 통상적으로 20Km의 전파 도달 거리를 보장하고, 900MHz의 주파수 대역을 사용하며, 저속/저전력 소물(小物, IoST[Internet of Small Things]) 인터넷 기술에 이용된다. LoRa 네트워크는 스마트 디바이스 간의 원활한 상호 운용을 제공할 수 있다.
LoRa 네트워크는 통상적으로 성형들 간의(star-of-stars) 토폴로지(topology)로 구축되고, 단말 및 서버의 백엔드(backend) 사이에서 메시지를 연결시킬 수 있다. 게이트웨이는 단말이 싱글-홉(single-hop) 무선 통신을 적어도 하나 이상의 게이트웨이에 대해 이용하는 동안, 네트워크 서버에 연결될 수 있다. 엔드-포인트(end-point) 통신은 기본적으로 양방향으로 수행되지만, 대기 중인 통신 시간을 줄이기 위해 대기하거나, 기타 대량 배포되는 메시지를 통해 소프트웨어를 업그레이드 할 수 있는 멀티 캐스트 등의 작업도 지원할 수 있다.
단말과 게이트웨이 간의 통신은 다른 채널 및 데이터 속도에 영향을 미칠 수 있다. 데이터 속도의 선택은 통신 범위 및 메시지 기간(duration) 간의 트레이드-오프(trade-off) 관계에 있다. 확산 스펙트럼 기술에 의해, 다른 데이터 속도로 통신하는 것은 다른 장치들에게 간섭을 야기하지 않고, 게이트웨이의 용량을 증가시키는 가상의 채널 집합을 생성할 수 있다. LoRa 네트워크 데이터 속도의 범위는 0.3Kbps에서 50Kbps 사이일 수 있다. 단말의 배터리 수명 및 모든 네트워크 용량을 극대화하기 위해, LoRa 서버는 ADR(Adaptive Data Rate) 스킴(Scheme)을 통해 데이터 속도 및 각 단말에 대한 RF(Resonance Frequency) 아웃풋을 개별적으로 관리한다.
LoRa 네트워크는 통신 보안을 위해, 중요한(critical) 인프라스트럭쳐, 기밀 개인 정보 또는 사회에 대한 중요한 기능들과 같이 사물 인터넷(IoT)을 타겟으로 하는 전국적인 네트워크를 이용한다. 통신 보안은 여러 계층(Layer)의 암호화(예를 들어, 고유한 네트워크 키(EUI 64)와 네트워크 수준의 보안 보장, 고유한 애플리케이션 키(EUI 64)로 응용 프로그램 수준에서 종단(end-to-end)간의 보안 보장 및 장치 고유 키 등)에 의해 해결될 수 있다.
LoRa 네트워크는 광범위한 어플리케이션에 반영된 다른 요구사항들을 다루기 위해 아래와 같이 엔드-포인트(end-point)에서 서로 다른 클래스를 가진다.
양방향 단말(Class A)은, 각 단말의 업링크 전송이 2개의 짧은 다운링크가 복수의 윈도우에 의해 팔로잉(followed)되는 경우, 양방향 통신을 허용한다. 단말에 스케쥴링된 전송 슬롯은 랜덤 타임 베이시스(ALOHA-일종의 프로토콜)에 기초한 작은 변형(variation)을 포함하는 통신을 기초로 한다. 클래스 A는 단말이 업링크 전송을 보낸 직후 서버로부터 다운링크 통신을 요구하는 어플리케이션들을 위한 최저 전력 단말 시스템이다. 서버로부터의 다운링크 통신들은 다음 예정된 업링크까지 대기해야 할 수 있다.
슬롯 수신이 예정된 양방향 단말(Class B)은, 랜덤하게 윈도우를 수신하는 클래스 A에서 더 나아가, 예정된 시간에 여분의 수신 윈도우들을 오픈(Open)한다. 단말이 예정된 시간에 수신 윈도우를 오픈 하도록 하기 위해, 클래스 B는 게이트웨이로부터 시간적으로 동기화된 비콘을 수신한다. 이를 통해, 서버는 단말이 정보를 수신하고 있는지 여부를 알 수 있다.
슬롯 수신이 최대인 양방향 단말(Class C)는, 대부분의 경우 연속적으로 수신 윈도우를 오픈하고, 클래스 C를 전송할 경우에만 클로즈(Close)된다.
LoRa 서버(100)는 게이트웨이를 경유하여 LoRa 단말(200)과 네트워크 연결되는 장치를 의미한다. LoRa 서버(100)는, 제어 프로그램을 기록하는 메모리(110), 제어 프로그램에 따라 동작하는 중앙 처리부(120), LoRa 단말(200)과의 세션 정보를 포함하는 데이터베이스(130) 및, LoRa 단말(200) 및 IoT 앱 서버와 정보를 송수신하는 통신 인터페이스(140)를 포함한다. LoRa 단말(200)은 게이트웨이를 경유하여 LoRa 서버(100)와 네트워크 연결되는 장치를 의미한다.
도 2는 LoRa 단말 및 LoRa 서버 간의 네트워크 연결 복구 방법의 흐름도이다.
LoRa 단말(200)은 LoRa 서버(100)로 LoRa 단말(200)과 LoRa 서버(100) 간의 세션 정보를 포함하는 제1 LoRa 메시지를 전송한다(S100).
세션 정보는, LoRa 단말(200)의 고유값 정보, 접속 위치, 접속 빈도, LoRa 단말(200)이 LoRa 서버(100)로 전송한(또는 LoRa 서버(100)로부터 수신한) 데이터 또는 신호를 포함할 수 있다. 세션 정보는 쿠키와 달리 웹 브라우저에 정보를 보관하는 것이 아니라 서버에 포함된 웹 컨테이너에 정보를 보관하기 위해 사용된다. 세션 정보는 서버가 생성, 유지 및 관리한다. 통상적으로 하나의 웹 브라우저는 하나의 세션을 생성한다. 세션은 서버에 저장되므로 쿠키에 비해 보안성이 높다.
제1 LoRa 메시지의 일례가 도 3에 도시되어 있다.
도 3을 참조하면, 제1 LoRa 메시지는 Preamble, PHDR(Physical Header), PHDR_CRC(Cyclic Redundancy Check), PHY(Physical) Payload 및 CRC(Cyclic Redundancy Check)를 포함할 수 있다. 그 중, PHY Payload는 MHDR(Mac Header), MAC(Message Authentication Code) Payload 및 MIC(Message Integrity Check)를 포함할 수 있다. 상기 MHDR 및 MAC Payload는 무결성이 보장(Integrity Protected)되는 영역일 수 있다. MHDR는 1바이트를 포함할 수 있고, 상기 MHDR의 1바이트를 구성하는 8개의 비트는 각각 MType(3비트), Reserved(3비트), Major Version(2비트)로 구성될 수 있다. MHDR을 구성하는 비트 중 적어도 하나는 복구 정보 설정에 이용될 수 있다. 상기 MAC Payload는 FHDR(Frame Header), FPort(Frame Port) 및 FRMPayload를 포함할 수 있다. 상기 FHDR은 DevAddr(Device Address), FCtrl(Frame Control), FCnt(Frame Count) 및 FOpts(Frame Options)를 포함할 수 있다. 상기 FRMPayload는 암호화(Encrypted)된 영역일 수 있다. 제1 LoRa 메시지는 도 3에 도시된 것과 같이 LoRa WAN 표준 메시지의 구성을 따를 수 있다.
다시 도 2를 참조하면, LoRa 서버(100)는 데이터베이스(130)를 참조하여, 상기 제1 LoRa 메시지에 포함된 세션 정보와 대응되는 정보가 데이터베이스(130)에 존재하는지 판단한다(S110).
LoRa 서버(100)는 상기 세션 정보가 데이터베이스(130)에 존재하는지 여부에 기초하여, LoRa 네트워크에 장애 또는 문제가 발생했는지 여부를 판단할 수 있다. 구체적으로, LoRa 서버(100)는 상기 세션 정보가 데이터베이스(130)에 존재하는 경우, LoRa 네트워크가 정상적으로 동작하고 있다고 판단할 수 있고, 상기 세션 정보가 데이터베이스(130)에 존재하지 않는 경우, LoRa 네트워크에 장애 또는 문제가 발생했다고 판단할 수 있다. LoRa 서버(100)는 LoRa 네트워크에 장애 또는 문제가 발생했다고 판단하는 경우, LoRa 네트워크 문제 해결을 위해 제2 LoRa 메시지를 생성한다.
판단 결과, 상기 제1 LoRa 메시지에 포함된 세션 정보와 대응되는 정보가 데이터베이스(130)에 존재하지 않는 경우, LoRa 서버(100)는 특정 영역에 복구 정보가 설정(set)된 제2 LoRa 메시지를 생성한다(S120).
상기 제2 LoRa 메시지는 제1 LoRa 메시지와 구분되는 메시지로서, 상기 특정 영역을 제외한 다른 영역의 비트 정보는 상기 제1 LoRa 메시지의 대응되는 영역의 비트 정보와 동일하다.
일실시예에 있어서, 상기 제1 LoRa 메시지의 특정 영역은 MHDR(Mac Header)일 수 있다. 이 경우, 제2 LoRa 메시지의 복구 정보는 MHDR에 포함된 특정 비트일 수 있다. 즉, MHDR은 1바이트를 포함하므로, 상기 복구 정보는 상기 MHDR을 구성하는 1 바이트 중 하나의 비트일 수 있다.
다른 실시예에 있어서, 상기 제2 LoRa 메시지의 복구 정보는 제2 LoRa 메시지에 포함된 둘 이상의 비트일 수 있다. 즉, 상기 복구 정보는 상기 제2 LoRa 메시지의 임의의 위치의 적어도 둘 이상의 비트의 값에 의해 결정될 수 있다.
단계(S110)의 판단 결과, 상기 제1 LoRa 메시지에 포함된 세션 정보와 대응되는 정보가 데이터베이스(130)에 존재하는 경우, LoRa 서버(100)는 상기 제1 LoRa 메시지를 IoT 앱 서버로 전송할 수 있다(도시되지 않음). IoT 앱 서버는 LoRa 서버(100)로부터 제1 LoRa 메시지를 수신한 경우, LoRa 단말(200)과 LoRa 서버(100) 간의 세션이 정상적으로 연결되고, 네트워크가 정상적으로 동작한다고 판단할 수 있다.
LoRa 서버(100)는 생성한 제2 LoRa 메시지를 LoRa 단말(200)로 전송한다(S130).
일실시예에 있어서, LoRa 서버(100)는 복구 정보가 설정된 제2 LoRa 메시지를 LoRa 단말(200)로 전송할 수 있다.
다른 실시예에 있어서, LoRa 서버(100)는 제1 LoRa 메시지의 대응되는 영역의 비트 정보와 동일하되, MHDR에 포함된 특정 비트가 설정된 제2 LoRa 메시지를 LoRa 단말(200)로 전송할 수 있다.
또 다른 실시예에 있어서, LoRa 서버(100)는 제1 LoRa 메시지의 대응되는 영역의 비트 정보와 동일하되, 특정 비트들의 값을 미리 결정된 값으로 설정(예를 들어, 임의의 위치의 비트 3개를 이용하되 3번째 비트를 1로, 5번째 비트를 0으로, 7번째 비트를 1로 설정)된 제2 LoRa 메시지를 LoRa 단말(200)로 전송할 수도 있다.
LoRa 단말(200)은 제2 LoRa 메시지의 특정 영역에 복구 정보가 설정되어 있는지 판단한다(S140).
일실시예에 있어서, LoRa 단말(200)은 상기 제2 LoRa 메시지의 특정 영역에 복구 정보가 설정되어 있는지 판단할 수 있다.
다른 실시예에 있어서, LoRa 단말(200)은 상기 제2 LoRa 메시지의 MHDR에 포함된 특정 비트에 복구 정보가 설정되어 있는지 판단할 수 있다.
또 다른 실시예에 있어서, LoRa 단말(200)은 상기 제2 LoRa 메시지에 포함된 특정 비트들의 값이 미리 결정된 값으로 설정되어 있는지 판단할 수도 있다.
판단 결과, 제2 LoRa 메시지의 특정 영역에 복구 정보가 설정되어 있는 경우, LoRa 단말(200)은 LoRa 서버(100)와의 세션 연결을 해제한다(S150).
다른 실시예에 있어서, 제2 LoRa 메시지의 MHDR에 포함된 특정 비트가 설정된 경우, LoRa 단말(200)은 LoRa 서버(100)와의 세션 연결을 해제할 수 있다.
LoRa 서버(100)는 LoRa 단말(200)과의 세션 연결이 해제된 경우, 해제된 세션 정보를 삭제할 수 있다.
LoRa 서버(100)와 세션 연결이 해제된 후, LoRa 단말(200)은 LoRa 서버(100)로 새로운 세션 연결 요청을 전송할 수 있다(S160).
LoRa 단말(200)과 LoRa 서버(100)는 새롭게 세션 연결이 된 경우, LoRa 단말(200)과 LoRa 서버(100) 간의 네트워크 문제 해결을 위해 단계(S100) 내지 단계(S160)을 반복 수행할 수 있다.
도 5는 LoRa 단말과 LoRa 서버 간의 네트워크 연결 복구 방법의 일실시예를 도시한다.
LoRa 서버(100)는 LoRa 단말(200)로부터 LoRa 단말(200)과 LoRa 서버(100) 간의 세션 정보를 포함하는 제1 LoRa 메지시를 수신한다(S200).
도 3을 참조하면, 제1 LoRa 메시지는 Preamble, PHDR(Physical Header), PHDR_CRC(Cyclic Redundancy Check), PHY(Physical) Payload 및 CRC(Cyclic Redundancy Check)를 포함할 수 있다. 그 중, PHY Payload는 MHDR(Mac Header), MAC(Message Authentication Code) Payload 및 MIC(Message Integrity Check)를 포함할 수 있다. 상기 MHDR 및 MAC Payload는 무결성이 보장(Integrity Protected)되는 영역일 수 있다. MHDR는 1바이트를 포함할 수 있고, 상기 MHDR의 1바이트를 구성하는 8개의 비트는 각각 MType(3비트), Reserved(3비트), Major Version(2비트)로 구성될 수 있다. MHDR을 구성하는 비트 중 적어도 하나는 복구 정보 설정에 이용될 수 있다. 상기 MAC Payload는 FHDR(Frame Header), FPort(Frame Port) 및 FRMPayload를 포함할 수 있다. 상기 FHDR은 DevAddr(Device Address), FCtrl(Frame Control), FCnt(Frame Count) 및 FOpts(Frame Options)를 포함할 수 있다. 상기 FRMPayload는 암호화(Encrypted)된 영역일 수 있다. 제1 LoRa 메시지는 도 3에 도시된 것과 같이 LoRa WAN 표준 메시지의 구성을 따를 수 있다.
다시 도 5를 참조하면, LoRa 서버(100)는 데이터베이스(130)를 참조하여, 상기 제1 LoRa 메시지에 포함된 세션 정보와 대응되는 정보가 데이터베이스(130)에 존재하는지 판단할 수 있다(S210).
LoRa 서버(100)는 상기 세션 정보가 데이터베이스(130)에 존재하는지 여부에 기초하여, LoRa 네트워크의 문제 발생 여부를 판단할 수 있다. 구체적으로, LoRa 서버(100)는 상기 세션 정보가 데이터베이스(130)에 존재하는 경우, LoRa 네트워크가 정상적으로 동작하고 있다고 판단할 수 있고, 상기 세션 정보가 데이터베이스(130)에 존재하지 않는 경우, LoRa 네트워크에 문제가 발생했다고 판단할 수 있다. LoRa 서버(100)는 LoRa 네트워크에 문제가 발생했다고 판단하는 경우, LoRa 네트워크 문제 해결을 위해 특정 영역에 복구 정보가 설정된 제2 LoRa 메시지를 생성한다.
판단 결과, 상기 제1 LoRa 메시지에 포함된 세션 정보와 대응되는 정보가 데이터베이스(130)에 존재하지 않는 경우, LoRa 서버(100)는 특정 영역에 복구 정보가 설정(set)된 제2 LoRa 메시지를 생성할 수 있다(S220).
일실시예에 있어서, 상기 제2 LoRa 메시지는 제1 LoRa 메시지와 구분되는 메시지로서, MHDR의 4번째 비트가 복구 정보로 설정될 수 있다.
도 4a를 참조하면, MHDR은 1바이트를 포함하고, 1바이트를 구성하는 8 비트가 각각 Mtype 3비트, Reserved 3비트 및 Major Version 2비트인 경우, 상기 4번째 비트는 Reserved의 첫 번째 비트일 수 있다. LoRa 서버(100)는, 도 4b에 도시된 것과 같이, MHDR의 4번째 비트, 즉 Reserved의 첫 번째 비트가 설정된 제2 LoRa 메시지를 생성할 수 있다.
도 4a에는 이러한 제1 LoRa 메시지의 일례가 도시되어 있다.
도 4a를 참조하면, 상기 제1 LoRa 메시지의 MHDR은 MType(3비트), Reserved(3비트), Major Version(2비트)를 포함할 수 있다.
일실시예에 있어서, 임의의 값을 가지는 비트는 도 4a의 MType, Major Version과 같이 "X"로 표시될 수 있다. 즉, 상기 MType 및 Major Version을 구성하는 비트는 임의의 값(0 또는 1)을 가질 수 있다. 제1 LoRa 메시지는 도 4a에 도시된 것과 같이, 특정 영역이 MHDR의 4번째 비트(즉 Reserved의 1번째 비트)이고, 상기 MHDR의 4번째 비트가 0일 수 있다.
일실시예에 있어서, LoRa 서버(100)는 제1 LoRa 메시지의 특정 영역이 MHDR의 4번째 비트이고, 상기 제1 LoRa 메시지의 세션 정보가 데이터베이스(130)에 존재하지 않을 경우, 도 4b에 도시된 것과 같이 MHDR의 4번째 비트가 1로 설정된 제2 LoRa 메시지를 생성할 수 있다.
도 4b에는 LoRa 서버(100)가 생성한 제2 LoRa 메시지의 일례가 도시되어 있다. 도 4b를 참조하면, 생성된 제2 LoRa 메시지 중 MHDR의 4번째 비트가 1로 설정될 수 있다.
일실시예에 있어서, LoRa 서버(100)는 Reserved 영역 외에도 MType 또는 Major Version의 비트가 설정된 제2 LoRa 메시지를 생성할 수도 있다. 또 다른 실시예에 있어서, LoRa 서버(100)는 MHDR에 포함된 둘 이상의 비트가 설정된 제2 LoRa 메시지를 생성할 수도 있다.
다른 실시예에 있어서, LoRa 서버(100)는 특정 비트들의 값을 미리 결정된 값(예를 들어, 특정한 3비트가 010인 경우)으로 설정함으로써 제2 LoRa 메시지를 생성할 수도 있다.
단계(S210)의 판단 결과, 상기 제1 LoRa 메시지에 포함된 세션 정보와 대응되는 정보가 데이터베이스(130)에 존재하는 경우, LoRa 서버(100)는 LoRa 단말(200)로부터 다음 LoRa 메시지가 수신될 때까지 LoRa 단말(200)과 세션 연결을 유지할 수 있다(도시되지 않음).
LoRa 서버(100)는 생성한 제2 LoRa 메시지를 LoRa 단말(200)로 전송할 수 있다(S230).
일실시예에 있어서, LoRa 서버(100)는 MHDR의 4번째 비트가 1로 설정된 제2 LoRa 메시지를 생성하여 LoRa 단말(200)로 전송할 수 있다.
또 다른 실시예에 있어서, LoRa 서버(100)는 적어도 둘 이상의 비트를 설정하여 생성한 제2 LoRa 메시지를 LoRa 단말(200)로 전송할 수 있다.
LoRa 단말(200)은 제2 LoRa 메시지의 MHDR의 4번째 비트가 1로 설정되어 있는지 판단할 수 있다(S240).
일실시예에 있어서, LoRa 단말(200)은 상기 제2 LoRa 메시지의 MHDR의 4번째 비트가 1로 설정되어 있는지 판단할 수 있다.
다른 실시예에 있어서, LoRa 단말(200)은 상기 제2 LoRa 메시지에 포함된 비트 중 둘 이상의 특정 비트가 1로 설정되어 있는지 판단할 수 있다(도시되지 않음).
판단 결과, 제2 LoRa 메시지의 MHDR의 4번째 비트가 1로 설정되어 있는 경우, LoRa 단말(200)은 LoRa 서버(100)와의 세션 연결을 해제할 수 있다(S250).
일실시예에 있어서, 제2 LoRa 메시지의 MHDR의 4번째 비트가 1로 설정된 경우, LoRa 단말(200)은 LoRa 서버(100)와의 세션 연결을 해제할 수 있다.
다른 실시예에 있어서, LoRa 단말(200)은 상기 제2 LoRa 메시지에 포함된 비트 중 둘 이상의 특정 비트가 1로 설정되어 있는지 판단할 수 있다(도시되지 않음).
LoRa 단말(200)은 제2 LoRa 메시지의 MHDR의 4번째 비트가 1로 설정되어 있는 경우, LoRa 서버(100)와의 세션 연결을 해제할 수 있다.
LoRa 서버(100)는 LoRa 단말(200)과의 세션 연결이 해제한 후, 해제된 세션 정보를 삭제할 수 있다.
LoRa 서버(100)와 세션 연결이 해제된 후, LoRa 단말(200)은 LoRa 서버(100)로 새로운 세션 연결 요청을 전송할 수 있다(S260).
LoRa 단말(200)과 LoRa 서버(100)는 새롭게 세션 연결이 된 경우, LoRa 단말(200)과 LoRa 서버(100) 간의 네트워크 문제를 해결하기 위해 단계(S200) 내지 단계(S260)을 반복 수행할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: LoRa 서버
110: 메모리
120: 중앙 처리부
130: 데이터베이스
140: 통신 인터페이스
200: LoRa 단말
110: 메모리
120: 중앙 처리부
130: 데이터베이스
140: 통신 인터페이스
200: LoRa 단말
Claims (10)
- 저전력 기반의 장거리 무선 네크워크 통신에 있어서, 서버의 네트워크 통신 복구 방법은
단말로부터 상기 단말과의 세션 정보를 포함하는 제1 메시지를 수신하는 단계;
데이터베이스를 참조하여, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하지 않는 경우, 상기 서버의 네트워크에 장애가 발생했음을 판단하는 단계;
상기 판단에 기초하여, 특정 영역에 복구 정보가 설정(set)된 제2 메시지를 생성하는 단계; 및
상기 제2 메시지를 상기 단말로 전송하는 단계
를 포함하고,
상기 단말은 상기 제2 메시지의 상기 특정 영역에 상기 복구 정보가 설정된 경우, 상기 서버와의 세션 연결을 해제한 후, 상기 서버로 새로운 세션 연결 요청을 전송하고,
상기 제2 메시지는, 상기 특정 영역을 제외한 다른 영역의 비트 정보는 상기 제1 메시지의 대응되는 영역의 비트 정보와 동일한,
서버의 네트워크 통신 복구 방법.
- 제1항에 있어서,
상기 특정 영역은 MHDR(Mac Header)이고,
상기 복구 정보는 상기 MHDR에 포함된 특정 비트인,
서버의 네트워크 통신 복구 방법.
- 제2항에 있어서,
상기 복구 정보는,
상기 MHDR의 4번째 비트이고,
상기 비트를 1로 설정함으로써 상기 복구 정보를 설정하는,
서버의 네트워크 통신 복구 방법.
- 제1항에 있어서,
상기 세션 정보는 상기 단말에 관한 정보를 포함하는,
서버의 네트워크 통신 복구 방법.
- 제1항에 있어서,
상기 서버는, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하는 경우, 상기 제1 메시지를 IoT 앱 서버로 전송하는,
서버의 네트워크 통신 복구 방법.
- 저전력 기반의 장거리 무선 네크워크 통신을 구성하는 서버는
제어 프로그램을 기록하는 메모리;
상기 제어 프로그램에 따라 동작하는 중앙 처리부;
단말과의 세션 정보를 포함하는 데이터베이스; 및
상기 단말 및 IoT 앱 서버와 정보를 송수신하는 통신 인터페이스
를 포함하고,
상기 제어 프로그램은,
상기 단말로부터 상기 단말과의 세션 정보를 포함하는 제1 메시지를 수신하는 단계;
상기 데이터베이스를 참조하여, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하지 않는 경우, 서버의 네트워크에 장애가 발생했음을 판단하는 단계;
상기 판단에 기초하여, 상기 단말로 전송할 제2 메시지를 생성하는 단계; 및
상기 제2 메시지를 상기 단말로 전송하는 단계
를 포함하고,
상기 단말은 상기 제2 메시지의 특정 영역에 포함된 복구 정보가 설정된 경우, 상기 서버와의 세션 연결을 해제한 후, 상기 서버로 새로운 세션 연결 요청을 전송하고,
상기 제2 메시지는, 상기 특정 영역에 상기 복구 정보가 설정(set)되고, 상기 특정 영역을 제외한 다른 영역의 비트 정보는 상기 제1 메시지의 대응되는 영역의 비트 정보와 동일한,
서버.
- 제6항에 있어서,
상기 특정 영역은 MHDR(Mac Header)이고,
상기 복구 정보는 상기 MHDR에 포함된 특정 비트인,
서버.
- 제7항에 있어서,
상기 복구 정보는,
상기 MHDR의 4번째 비트이고,
상기 비트를 1로 설정함으로써 상기 복구 정보를 설정하는,
서버.
- 제6항에 있어서,
상기 세션 정보는 상기 단말에 관한 정보를 포함하는,
서버.
- 제6항에 있어서,
상기 서버는, 상기 세션 정보와 대응되는 정보가 상기 데이터베이스에 존재하는 경우, 상기 제1 메시지를 IoT 앱 서버로 전송하는,
서버.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190123040A KR102148612B1 (ko) | 2019-10-04 | 2019-10-04 | LoRa 서버의 네트워크 통신 복구 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190123040A KR102148612B1 (ko) | 2019-10-04 | 2019-10-04 | LoRa 서버의 네트워크 통신 복구 방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170028947A Division KR102032607B1 (ko) | 2017-03-07 | 2017-03-07 | LoRa 서버의 네트워크 통신 복구 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190116963A KR20190116963A (ko) | 2019-10-15 |
KR102148612B1 true KR102148612B1 (ko) | 2020-08-26 |
Family
ID=68209473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190123040A KR102148612B1 (ko) | 2019-10-04 | 2019-10-04 | LoRa 서버의 네트워크 통신 복구 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102148612B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101042745B1 (ko) | 2004-01-30 | 2011-06-20 | 삼성전자주식회사 | 클라이언트 단말장치와 서버 사이의 세션 재설정을 위한시스템 및 방법 |
WO2015064828A1 (ko) | 2013-10-29 | 2015-05-07 | 삼성에스디에스 주식회사 | 데이터 전송 장치 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100844999B1 (ko) * | 2006-10-13 | 2008-07-08 | 임승빈 | 로컬 네트워크를 통해 연결되어 있는 로컬 서버들과 외부서버간의 데이터 전송 방법 및 시스템 |
-
2019
- 2019-10-04 KR KR1020190123040A patent/KR102148612B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101042745B1 (ko) | 2004-01-30 | 2011-06-20 | 삼성전자주식회사 | 클라이언트 단말장치와 서버 사이의 세션 재설정을 위한시스템 및 방법 |
WO2015064828A1 (ko) | 2013-10-29 | 2015-05-07 | 삼성에스디에스 주식회사 | 데이터 전송 장치 및 방법 |
Non-Patent Citations (1)
Title |
---|
LoRa Alliance, "LoRaWAN Specification"(2015.01.) |
Also Published As
Publication number | Publication date |
---|---|
KR20190116963A (ko) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3713271B1 (en) | Method and device for requesting connection recovery | |
JP4812830B2 (ja) | 無線ネットワークデバイスの低電力送信プロビジョニング | |
CN114342439A (zh) | 用于无线网络中的集成接入和回程(iab)节点的认证的方法和装置 | |
EP4415475A2 (en) | Method and apparatus for redundancy improvement in a communication system | |
CN115104264A (zh) | 基于单dci的m-trp urllc传输的波束故障恢复 | |
EP3952213B1 (en) | Communication method, apparatus, and system | |
US20220303763A1 (en) | Communication method, apparatus, and system | |
US20130272199A1 (en) | Method and apparatus for communicating data packets in a cloud cell | |
WO2019096171A1 (zh) | 一种请求恢复连接的方法及装置 | |
US20240073998A1 (en) | Method and apparatus for controlling packet duplication transmission in wireless communication system | |
CN116018877A (zh) | 用于无线通信系统中的中继操作的方法和装置 | |
US20240163666A1 (en) | Method and device for authenticating network access request through terminal-to-terminal connection in mobile communication system | |
KR102032607B1 (ko) | LoRa 서버의 네트워크 통신 복구 방법 | |
KR101986466B1 (ko) | 로라 통신 시스템의 신뢰성 있는 통신을 위한 네트워크 코딩 방법 및 장치 | |
CN117501803A (zh) | 用户设备、调度节点、用户设备的方法和调度节点的方法 | |
KR102148612B1 (ko) | LoRa 서버의 네트워크 통신 복구 방법 | |
US20230136118A1 (en) | Improvements in and relating to improving disaster roaming service | |
KR20220078591A (ko) | 사용자 장비 및 스케줄링 노드 | |
CN114503451A (zh) | 基于组的scell波束故障恢复 | |
KR20220152213A (ko) | 분리형 기지국들에 대한 비활성 상태에서의 소형 데이터 송신들 | |
WO2022237733A1 (zh) | 组寻呼的方法和装置 | |
EP2028822A1 (en) | Method and system for securing a commercial grid network over non-trusted routes | |
WO2023071712A1 (zh) | 一种安全通信方法和相关设备 | |
US20240224032A1 (en) | Method and apparatus for providing or revoking resource owner's authorization information using oauth | |
US20230048891A1 (en) | Apparatus and method for verifying authenticity of a backhaul-radio link failure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |