KR20160115814A - 메시 네트워크를 동적으로 형성하기 위한 메커니즘 - Google Patents

메시 네트워크를 동적으로 형성하기 위한 메커니즘 Download PDF

Info

Publication number
KR20160115814A
KR20160115814A KR1020160035693A KR20160035693A KR20160115814A KR 20160115814 A KR20160115814 A KR 20160115814A KR 1020160035693 A KR1020160035693 A KR 1020160035693A KR 20160035693 A KR20160035693 A KR 20160035693A KR 20160115814 A KR20160115814 A KR 20160115814A
Authority
KR
South Korea
Prior art keywords
ble
service
ble mesh
mesh
mesh network
Prior art date
Application number
KR1020160035693A
Other languages
English (en)
Other versions
KR102464668B1 (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 삼성전자주식회사
Publication of KR20160115814A publication Critical patent/KR20160115814A/ko
Application granted granted Critical
Publication of KR102464668B1 publication Critical patent/KR102464668B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/242Connectivity information management, e.g. connectivity discovery or connectivity update aging of topology database entries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • H04W72/1242
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)

Abstract

본 명세서에 기재된 실시예들은 서비스 인식 블루투스 저 에너지(BLE) 메시 네트워크를 동적으로 형성하는 방법을 달성한다. 상기 방법은 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하는 단계를 포함한다. 또한, 상기 방법은 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하는 단계를 포함한다. 또한, 상기 방법은 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하는 단계를 포함한다. BLE 메시 네트워크는 접속형 또는 비접속형 중 하나이다.

Description

메시 네트워크를 동적으로 형성하기 위한 메커니즘 {MECHANISMS FOR DYNAMICALLY FORMING MESH NETWORK}
본 발명은 무선 통신 서비스, 보다 구체적으로 서비스 인식 블루투스 저 에너지(Bluetooth Low energy, BLE) 메시(mesh) 네트워크를 동적으로 형성하기 위한 메커니즘에 관한 것이다.
최근, 홈 자동 어플리케이션, 개인 건강 관리 모니터링 시스템 및 응급 상황 감지 시스템의 증가는 연구 단체가 블루투스 저 에너지(BLE) 무선 메시 네트워크에 투자하는 데에 관심을 갖게 했다. 신뢰할 수 있고 보장된 데이터 전송은 모든 통신에 대한 기본적인 요구 사항이다.
전자 장치 어플리케이션들은 네이티브 어플리케이션(native application)으로서 BLE 메시 라이브러리를 포함할 수 있다. 상기 BLE 무선 메시 네트워크는 어플리케이션의 요구 사항들에 따라 구성될 수 있다. 즉, 엔드 노드(end node)들의 메시 형성 및 동작은 어플리케이션 요구 사항들을 기반으로 하여 결정될 수 있다. 예를 들어, 유니캐스트 또는 방송 메커니즘들의 사용은 어플리케이션 데이터 전송 신뢰성 측면을 기초로 결정될 수 있다. 메시 활용 솔루션 및 사용자 구성 가능한 메시 형성을 가능하게 하는 메시 솔루션들에 의해 고려되는 어플리케이션의 다양한 측면들이 있다. 어플리케이션 프로파일 및 범용 고유 식별자(universal unique identifier, UUID), 바람직한 암호화 방식 및 키, 데이터 전송 모드 등을 제공하기 위해 메시 어플리케이션 프로그램 인터페이스(API)가 프로그래머들에게 제공될 수 있다. 메시 라이브러리는 어플리케이션 개발을 위해 API를 제공한다. 상기 메시 라이브러리는 서비스 기준에 대한 어플리케이션에 의해 구성될 수 있다. 상기 메시 라이브러리는 접속 기반 메시 네트워크 및 방송 기반 메시 네트워크 등과 같이 서로 다른 구성들을 제공할 수 있다.
BLE 메시는 서비스의 유형(비접속형 또는 접속형), 어플리케이션의 전력 및 대기 시간 요구 사항들을 기반으로 하여 그들의 원하는 서비스 및 UUID, 필요한 메시의 성질을 언급하는 어플리케이션에 대한 어플리케이션 API, 원하는 BLE 접속 매개변수 등을 포함한다. BLE 메시는 광고 스캐닝 모드(비접속형), 공격적인 검색 모드 및 접속 모드를 지원한다.
메시 형성 논리는 노드 인증, 키 교환 절차 및 (활성화/비활성화될 수 있는) 데이터 암호화 기능을 수행하는 연상 논리를 포함한다. 또한, 메시 형성 논리는 최상의 다음 이웃 또는 홉(hop) 선택(접속형) 및 노드들 사이에서의 시드 기반 동기화(비접속형)에 대한 라우팅 테이블을 포함하는 토폴로지 형성을 포함한다.
데이터 전송 논리는, 도청을 사용하거나 사용하지 않고 최상의 경로/광고 이웃, 비접속형 데이터 전송을 알기 위해 메시 형성과 상호 작용하는 어플리케이션에 UUID 특정 메시 데이터를 전송하는 단계를 포함한다.
메시 트래픽 처리 단계는 데이터 처리 단계, 즉 메시와 어플리케이션 패킷 간의 변환, 및 다른 노드 및 서비스들에 메시 트래픽을 전송하는 단계를 포함한다.
기존의 BLE 메시 네트워크 방송 패킷들은 경로 검색 및 데이터의 전송을 위한 것이다. 그러나, 방송 패킷들은 임의의 무선 시스템들에서는 승인되지 않기 때문에 신뢰성이 떨어진다.
기존의 BLE 메시 네트워크 구현에서, 메시 네트워크에서의 통신 장치들은 최종 대상을 향해 하나의 노드에서 다른 노드로 메시 데이터를 중계하기 위해 광고/방송 패킷을 사용한다. 광고 채널의 총 개수는 고정(BLE의 경우에는 3개)이고, 광고/방송의 본질은 신뢰할 수 없다. 따라서, 중간 메시 노드에서 데이터 중계 동안 다른 노드들로부터(또는 심지어 Wi-Fi와 같은 다른 매체로부터)의 패킷 손실, 간섭 및 충돌 가능성이 있다. 그것은 데이터 전송에 대한 문제를 야기할 수 있고, 메시 네트워크의 용량 및 전체 효율을 감소시킨다.
메시 네트워크에서의 BLE 장치들은 동시에 패킷을 전송하고 수신할 수 없다. 상기 BLE 장치들은 이러한 작업들을 수행하기 위해 그들의 역할을 전환한다. 그들의 상태 때문에 이웃 노드들에 의한 패킷 손실 가능성이 있다. 특정 BLE 장치가 광고 상태에 있는 경우, 상기 특정 BLE 장치는 동시에 다른 장치들에 의해 전송되는 메시 데이터들을 수신할 수 없다.
상술한 내용은 독자가 본 발명을 이해하는 것을 돕기 위한 배경 정보로서만 제공된다. 출원인들은 상기 중 어느 하나가 본 출원에 관한 선행 기술로 적용될 수 있는 지 여부에 대해 어떠한 결정 및 주장도 하지 않는다.
본 명세서에 기재된 실시예들의 주요 목적은 서비스 인식 블루투스 저 에너지(BLE) 메시 네트워크를 동적으로 형성하기 위한 방법 및 시스템을 제공하는 것이다.
본 명세서에 기재된 실시예들의 다른 목적은 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하기 위한 방법을 제공하는 것이다.
본 명세서에 기재된 실시예들의 다른 목적은 하나 이상의 BLE 매개변수를 기반으로 하여 제공(프로비저닝; provisioning)될 BLE 메시 서비스를 결정하기 위한 방법을 제공하는 것이다.
따라서, 본 명세서에 기재된 실시예들은 서비스 인식 블루투스 저 에너지(BLE) 메시 네트워크를 동적으로 형성하는 방법을 제공한다. 상기 방법은 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하는 단계를 포함한다. 또한, 방법은 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하는 단계를 포함한다. 또한, 상기 방법은 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하는 단계를 포함한다. BLE 메시 네트워크는 접속형 또는 비접속형 중 하나일 수 있다.
또한, 본 명세서에 기재된 실시예들은 서비스 인식 블루투스 저 에너지(BLE) 메시 네트워크를 동적으로 형성하기 위한 장치를 제공한다. 상기 장치는 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하도록 구성된다. 또한, 상기 장치는 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하도록 구성된다. 또한, 상기 장치는 상기 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하도록 구성된다. BLE 메시 네트워크는 접속형 또는 비접속형 중 하나일 수 있다.
또한, 본 명세서에 기재된 실시예는 컴퓨터 판독 가능한 비 임시 저장 매체에 기록된 컴퓨터 실행 가능 프로그램 코드를 포함하는 컴퓨터 프로그램 저장 매체를 제공한다. 실행될 때 컴퓨터 실행 가능 프로그램 코드는 BLE 메시 서비스와 관련된 고유 식별자들을 기반으로 하여 BLE 메시에 대한 서비스 요구 사항들을 도출하는 단계를 포함하는 작업들을 일으킨다. 또한, 실행될 때 컴퓨터 실행 가능 프로그램 코드는 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하는 단계를 포함하는 작업들을 일으킨다. 또한, 실행될 때 컴퓨터 실행 가능 프로그램 코드는 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하는 단계를 포함하는 작업들을 일으킨다. BLE 메시 네트워크는 접속형 또는 비접속형 중 하나일 수 있다.
이들 및 본 명세서에 기재된 실시예들의 다른 양태들은 첨부 도면 및 다음의 설명과 함께 고려될 때 더 잘 평가되고 이해될 것이다. 그러나, 다음의 설명들은, 바람직한 실시예 및 이들의 많은 구체적인 세부 사항들을 표시하지만, 한정이 아닌 예시로 주어진다는 것을 이해해야 한다. 발명의 사상을 벗어나지 않고 본 명세서에 기재된 실시예들의 범위 내에서 많은 변경예 및 수정예들이 이루어질 수 있으며, 본 명세서에 기재된 실시예들은 이러한 수정예들을 모두 포함한다.
본 발명은 첨부 도면들에 도시되고, 다양한 도면들에서 유사한 참조 문자들은 해당 부품들을 표시한다. 본 명세서에 기재된 실시예들은 도면들을 참조한 다음의 설명으로부터 더 잘 이해될 것이다.
도 1은 본 명세서에 개시된 실시예들에 따른, 특히, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하는 시스템의 하이 레벨 개요를 일반적으로 도시한다.
도 2는 본 명세서에 개시된 실시예들에 따른, BLE 메시 네트워크를 도시한다.
도 3은 본 명세서에 개시된 실시예들에 따른, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하기 위한 제어기 내의 다양한 유닛들을 도시한다.
도 4는 본 명세서에 개시된 실시예들에 따른, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하기 위한 장치의 방법을 도시하는 흐름도이다.
도 5는 본 명세서에 개시된 실시예들에 따른, 이웃 목록 업데이트 절차를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 6은 본 명세서에 개시된 실시예들에 따른, 이웃 목록 삭제 절차를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 7a 내지 도 7b는 본 명세서에 개시된 실시예들에 따른, 도청 알고리즘을 도시하는 흐름도이다.
도 7c는 본 명세서에 개시된 실시예들에 따른, 패킷 MIC 초기화 및 관리를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 8은 본 명세서에 개시된 실시예들에 따른, 목록으로부터의 MIC 삭제를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 9는 본 명세서에 개시된 실시예들에 따른, 최근의 MIC 목록을 제공하기 위한 장치의 방법을 도시하는 흐름도이다.
도 10은 본 명세서에 개시된 실시예들에 따른, 이웃 항목 삭제 절차를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 11은 본 명세서에 개시된 실시예들에 따른, 도청 타이머 및 시드 중계 카운트의 타이밍 다이어그램을 도시한다.
도 12는 본 명세서에 개시된 실시예들에 따른, 광고 이벤트를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 13은 본 명세서에 개시된 실시예들에 따른, 이웃 목록을 생성하기 위한 장치의 방법을 도시하는 흐름도이다.
도 14는 본 명세서에 개시된 실시예들에 따른, 이웃 목록 관리를 나타내기 위한 장치의 방법을 도시하는 흐름도이다.
도 15는 본 명세서에 개시된 실시예들에 따른, 이웃 항목 목록 업데이트 절차를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 16은 본 명세서에 개시된 실시예들에 따른, 패킷 MIC 목록 초기화 및 관리를 수행하기 위한 장치의 방법을 도시하는 흐름도이다.
도 17은 본 명세서에 개시된 실시예들에 따른, 멀티 브릿지 및 멀티 경로 토폴로지를 도시한다.
도 18은 본 명세서에 개시된 실시예들에 따른, 멀티 브릿지 및 멀티 경로 토폴로지를 생성하기 위한 장치의 방법을 도시하는 흐름도이다.
도 19a 및 도 19b는 본 명세서에 개시된 실시예들에 따른, BLE 메시 네트워크를 구성하기 위한 예시적인 도시이다.
도 20은 본 명세서에 개시된 실시예들에 따른, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하기 위한 방법 및 시스템을 구현하는 컴퓨팅 환경을 도시한다.
본 명세서에 기재된 실시예 및 실시예들의 다양한 특징 및 유리한 세부 사항들이 다음의 상세 설명 및 첨부 도면들에 도시된 비-한정 실시예들을 참조하여 보다 자세히 설명된다. 잘 알려진 구성 요소 및 처리 기술들의 설명은 본 명세서에 기재된 실시예들을 불필요하게 모호하게 하지 않도록 하기 위해 생략된다. 또한, 일부 실시예들이 새로운 실시예들을 형성하기 위해 하나 이상의 다른 실시예들과 조합될 수 있기 때문에, 본 명세서에 기술된 다양한 실시예들이 반드시 상호 배타적인 것은 아니다. 본 명세서에서 사용되는 용어 "또는"은 달리 명시되지 않으면 비-독점을 의미한다. 본 명세서에서 사용된 예들은 단지 본 명세서에 기재된 실시예들이 실시될 수 있는 방법들의 이해를 용이하게 하고, 당업자들이 본 명세서에 기재된 실시예들을 실시할 수 있도록 하기 위한 것이다. 따라서, 예들은 본 명세서에 기재된 실시예들의 범위를 한정하는 것으로 해석되어서는 아니 된다.
본 명세서에 기재된 실시예들은 서비스 인식 블루투스 저 에너지(BLE) 메시 네트워크를 동적으로 형성하는 방법을 달성한다. 상기 방법은 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하는 단계를 포함할 수 있다.
일 실시예에서, 고유 식별자는 범용 고유 식별자(UUID)이다.
일 실시예에서, 서비스 요구 사항들은 사용자 선호도를 기반으로 하여 도출된다. 일 예에서, 사용자는 BLE 메시 서비스에 대한 우선 순위를 설정할 수 있고, 상기 방법은 BLE 메시 서비스와 관련된 UUID와 BLE 메시 서비스의 우선 순위를 매핑하는 단계를 포함할 수 있다.
일 실시예에서, 서비스 요구 사항들은 미리 구성된 설정을 기반으로 하여 도출된다. 일 예에서, 사용자 선호도가 없는 경우, 상기 방법은 디폴트 서비스 요구 사항을 선택하는 단계를 포함할 수 있다.
또한, 상기 방법은 하나 이상의 BLE 매개변수를 기반으로 하여 제공(프로비저닝; provisioning)될 BLE 메시 서비스를 결정하는 단계를 포함할 수 있다.
일 실시예에서, BLE 매개변수들은 참여 노드들의 전력 상태, BLE 메시 서비스와 관련된 우선 순위, 사용 가능한 다수의 참여 노드 중 적어도 하나, 및 참여 노드들의 역할 선호도이다.
또한, 상기 방법은 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하는 단계를 포함할 수 있다.
일 실시예에서, BLE 메시 네트워크는 접속형 또는 비접속형 중 하나일 수 있다.
일 실시예에서, 상기 방법은 참여 노드들이 전력 상태, 데이터 패킷들을 중계하고자 하는 의도, 및 BLE 메시 서비스를 기반으로 하여 역할에 대한 선호도를 표시할 수 있도록 하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은 복수의 이웃(또는 주변) 노드의 가용성 및 BLE 메시 서비스와 관련된 우선 순위를 기반으로 하여 참여 노드들에서 대상 노드쪽으로 복수의 경로를 형성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은 참여 노드들의 가용성을 기반으로 하여 BLE 메시 네트워크를 자동적으로 재구성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은 사용자로부터의 입력을 수신하여 BLE 메시 네트워크를 구성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은 서비스 요구 사항들을 충족시키는 디폴트 구성 값, 및 네트워크 구성 값들의 집합 중 하나를 기반으로 하여 BLE 메시 네트워크의 운영에 적합한 구성 매개변수를 결정하여 BLE 메시 네트워크를 구성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은 각각의 참여 노드 및 메시 성능 매개변수를 기반으로 하여 각각의 BLE 메시 서비스의 영향 및 각각의 BLE 메시 서비스의 우선 순위를 매핑하는 단계를 포함할 수 있다.
일 실시예에서, 참여 노드들의 노드는 데이터베이스에 각각의 노드를 통해 전송되는 각각의 데이터 패킷에 관한 정보를 유지할 수 있다.
일 실시예에서, 정보는 이웃 노드들의 주소, 메시지 무결성 검사(message integrity check, MIC), 재전송 횟수, 및 참여 노드들로부터 수신되는 명시적 승인 및/또는 상기 참여 노드들로부터 수신되는 다수의 도청 기반 승인 중 하나를 포함할 수 있다.
본 명세서에 기재된 실시예들은 서비스 인식 BLE 메시 네트워크를 동적으로 형성하는 장치를 개시한다. 상기 장치는 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출(또는 결정, 식별)하도록 구성된다. 또한, 상기 장치는 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하도록 구성된다. 또한, 상기 장치는 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하도록 구성된다. 상기 BLE 메시 네트워크는 접속형 또는 비접속형 중 하나일 수 있다.
종래의 메커니즘들과 달리, 제안된 방법 및 장치는 BLE 메시 네트워크에서의 신뢰성을 향상시키는 메커니즘을 제공한다. 상기 방법은 패킷을 도청(overhear)하고, 수신 신호 강도 표시자(received signal strength indicator, RSSI)의 변형을 관찰하여 재전송 횟수를 변경하는 것과 같은 다양한 방법으로 신뢰할 수 있는 전송을 달성하기 위해 네트워크 조건들에 동적으로 적응한다. 상기 방법은 충돌 및 간섭을 피하기 위해 RSSI 및 미리 정의된 시간 인스턴스 기반 재전송 백오프 논리를 포함할 수 있다. 상기 방법은 BLE 방송 네트워크들에서 그들의 다중 전송을 중지하는 것을 표시하기 위해 그의 이웃들에 대상으로부터의 명시적 ACK 패킷 및 다음의 홉 이웃들로부터의 묵시적 승인(ACK)을 제공하는 단계를 포함한다.
이제 도면들, 보다 구체적으로 유사한 참조 문자들이 도면 전체에 걸쳐서 지속적으로 해당 부품들을 나타내는 도 1 내지 도 20을 참조하면, 바람직한 실시예들이 도시된다.
도 1은 본 명세서에 개시된 실시예들에 따른, 특히, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하는 시스템(100)의 하이 레벨 개요를 일반적으로 도시한다. 시스템(100)은 소스 노드(102), 중계 노드들의 집합(104a 내지 104c)(이하, 중계 노드(104)로 언급), 대상 노드(106), 및 데이터베이스(108a 내지 108e)(이하, 데이터베이스(108)로 언급)를 포함한다. 상기 시스템(100)은 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하도록 구성된다. 일 실시예에서, 고유 식별자는 UUID이다.
또한, 상기 시스템(100)은 하나 이상의 BLE 매개변수들을 기반으로 하여 제공(프로비저닝; provisioning)될 BLE 메시 서비스를 결정하도록 구성된다. 일 실시예에서, BLE 매개변수들은 참여 노드들의 전력 상태, BLE 메시 서비스와 관련된 우선 순위, 사용 가능한 다수의 참여 노드 중 적어도 하나, 및 참여 노드들의 역할 선호도 중 적어도 하나일 수 있다. 또한, 상기 시스템(100)은 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수들을 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하도록 구성된다. 일 실시예에서, BLE 메시 네트워크는 접속형 또는 비접속형 중 하나일 수 있다.
BLE 메시 서비스는 예를 들어, 개체 추적 서비스, 시설 검색 서비스, 이벤트 기반 게임 서비스, 의료 응급 서비스 등 일 수 있지만, 이에 한정되지는 않는다. 일 실시예에서, 상기 시스템(100)은 BLE 메시 네트워크에 의해 제공되는 BLE 메시 서비스, 참여 노드들(즉, 소스 노드(102), 중계 노드(104), 및 대상 노드(106))의 전력 상태, 및 서비스와 관련된 우선 순위를 기반으로 하여 형성될 BLE 메시 네트워크를 결정하여 BLE 메시 네트워크를 동적으로 형성하도록 구성된다.
일 실시예에서, 상기 시스템(100)은 참여 노드들이 전력 상태, 데이터 패킷들을 중계하고자 하는 의도, 및 BLE 메시 서비스를 기반으로 하여 역할에 대한 선호도를 표시할 수 있도록 구성된다. 일 예에서, 참여 노드의 역할은 브릿지, 중계, 최종 소비자 등을 나타낸다.
일 실시예에서, 상기 시스템(100)은 이전 경로의 임의의 시점에서의 복수의 이웃 노드의 가용성 및 BLE 메시 서비스와 관련된 우선 순위를 기반으로 하여 참여 노드들에서 대상 노드(106)쪽으로 복수의 경로를 형성하도록 구성된다.
일 실시예에서, 상기 시스템(100)은 참여 노드들의 가용성을 기반으로 하여 BLE 메시 네트워크를 자동적으로 재구성하도록 구성된다.
일 실시예에서, BLE 메시 네트워크는 사용자로부터의 입력을 수신하여 구성된다.
일 실시예에서, BLE 메시 네트워크는 서비스 요구 사항들을 충족시키는 디폴트 구성 값, 및 네트워크 구성 값들 중 하나를 기반으로 하여 BLE 메시 네트워크의 운영에 적합한 구성 매개변수(예를 들어, 전력, 네트워크 등)를 결정함으로써 구성된다.
일 실시예에서, 상기 시스템(100)은 메시 성능 매개변수를 기반으로 하여 각각의 상기 BLE 메시 서비스의 영향 및 각각의 상기 BLE 메시 서비스의 우선 순위를 매핑하도록 또한 구성된다.
일 실시예에서, 참여 노드들의 각각의 노드는 데이터베이스(108)에 각각의 노드를 통해 전송되는 각각의 데이터 패킷에 관한 정보를 유지한다. 정보는 이웃 노드들의 주소, 메시지 무결성 검사(MIC), 재전송 횟수, 및 참여 노드들로부터 수신되는 명시적 승인 및/또는 상기 참여 노드들로부터 수신되는 다수의 도청 기반(overhearing based) 승인들 중 하나를 포함한다.
일 예에서, 놀이 공원과 같은 메가 이벤트 시설에서, 특정 시간에 다른 놀이 기구들의 상태에 대해 아는 것은 중요하다. 빠른 응답은 필수이다. 그러나, 이를 수행하는 동안, 전력 소비를 너무 많이 할 필요는 없고, 지연 역시 상당한 한도 내에 있어야 한다. 이러한 상황에 대해, 제안된 방법은 제어된 플러딩 기반 동기화된 광고/스캔 메커니즘을 가짐으로써 이들 특징을 달성하기 위해 조율한다.
도 1은 상기 시스템(100)의 한정된 개요를 도시하지만, 다른 실시예들이 이에 한정되지 않는다는 것을 이해해야 한다. 또한, 상기 시스템(100)은 서로 통신하는 임의의 개수의 다른 하드웨어 또는 소프트웨어 구성 요소들을 포함할 수 있다. 예를 들어, 구성 요소는 제어기나 프로세서에서 실행하는 프로세스, 개체, 실행 가능한 프로세스, 실행 스레드, 프로그램, 또는 컴퓨터일 수 있지만, 이에 한정되지는 않는다. 예로써, 장치 및 장치 자체에서 실행하는 어플리케이션 모두가 구성 요소일 수 있다.
도 2는 본 명세서에 개시된 실시예들에 따른, BLE 메시 네트워크를 도시한다. BLE 메시 네트워크는 제어기(202), 메시 브릿지(204), 메시 노드(206), 및 대상 노드(106)를 포함한다. 메시 노드(206)는 중계 노드일 수 있다. 각각의 노드는 이웃 노드들에 패킷들을 방송하고, 이웃 노드들이 대상 노드쪽으로 패킷들을 중계할 것이라는 것을 기대한다. 각각의 노드는 대상 노드에 도달할 것이라는 것을 보장하기 위해 여러 번 패킷들을 방송한다. BLE 기반 메시 네트워크들에 대한 신뢰할 수 있는 통신은 다음의 기술들을 이용함으로써 달성된다.
- 그의 최종 대상에 확실하게 전달하기 위해 패킷의 필요한 재전송의 횟수를 결정하기 위해 이웃 재전송의 도청, 채널 조건, 거리 및 승인과 같은 하나 이상의 매개변수가 고려된다.
- 초기 재전송 횟수는 채널 조건들(RSSI 및 경로 손실)을 기반으로 하여 결정된다.
- 재전송의 총 횟수는 이웃 도청 및 승인들을 기반으로 하여 최적화된다.
- 지능적이고 최적화된 재전송 백오프는 참여 노드들 간의 간섭 및 패킷 충돌을 감소시키기 위해 제공된다.
- 낮은 종단 간 패킷 대기 시간은 네트워크에서의 패킷 수의 감소에 의해 달성된다.
- 패킷 전송은 이웃 학습을 기반으로 하여 최적화된다.
도 3은 본 명세서에 개시된 실시예들에 따른, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하기 위한 장치, 즉 제어기(202)의 다양한 유닛들을 도시한다. 제어기(202)는 서비스 결정 유닛(302), 메시 형성 유닛(304), 구성 유닛(306), 재구성 유닛(308), 사용자 인터페이스 유닛(310), 및 타이머 유닛(312)을 포함할 수 있다. 상기 서비스 결정 유닛(302)은 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하도록 구성된다. 또한, 상기 서비스 결정 유닛(302)은 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하도록 구성된다.
상기 메시 형성 유닛(304)은 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 결정하여 BLE 메시 네트워크를 동적으로 형성하도록 구성된다.
상기 구성 유닛(306)은 참여 노드들의 전력 상태, 데이터 패킷들을 중계하고자 하는 의도, 및 BLE 메시 서비스를 기반으로 하여 역할에 대한 선호도를 표시할 수 있도록 구성된다. 일 실시예에서, 상기 구성 유닛(306)은 BLE 메시 서비스와 관련된 우선 순위를 기반으로 하여 참여 노드들에서 대상 노드쪽으로 복수의 경로를 형성하도록 구성된다.
일 실시예에서, 상기 구성 유닛(306)은 사용자로부터의 입력을 수신하여 BLE 메시 네트워크를 형성하도록 구성된다.
일 실시예에서, 상기 구성 유닛(306)은 서비스 요구 사항들을 충족시키는 네트워크 구성 값, 또는 디폴트 구성 값들을 기반으로 하여 BLE 메시 네트워크의 운영에 적합한 구성 매개변수들을 결정하여 BLE 메시 네트워크를 형성하도록 구성된다.
일 실시예에서, 상기 구성 유닛(306)은 메시 성능 매개변수를 기반으로 하여 각각의 BLE 메시 서비스의 영향 및 각각의 BLE 메시 서비스의 우선 순위를 매핑하도록 구성된다.
상기 재구성 유닛(308)은 참여 노드들의 가용성을 기반으로 하여 BLE 메시 네트워크를 자동적으로 재구성하도록 구성된다.
참여 노드들에서의 노드는 데이터베이스(108)에 각각의 노드를 통해 전송되는 각각의 데이터 패킷에 관한 정보를 유지한다. 정보는 이웃 노드들의 주소, 메시지 무결성 검사(MIC), 재전송 횟수, 및 상기 참여 노드들로부터 수신되는 명시적인 승인 및 상기 참여 노드들로부터 수신되는 다수의 도청 기반 승인 중 적어도 하나를 포함할 수 있다.
상기 타이머 유닛(312)은 이웃 목록 업데이트 절차, 이웃 목록 삭제 절차, 및 패킷 MIC 초기화 및 관리를 수행하도록 구성된다.
도 3은 제어기(202)의 예시적인 유닛들을 도시하지만, 다른 구현들에서, 제어기(202)는 더 적은 수의 구성 요소, 상이한 구성 요소, 상이하게 배치된 구성 요소, 또는 도 3에 도시된 구성 요소 이외의 추가적인 구성 요소들을 포함할 수 있다. 추가적으로 또는 대안적으로, 제어기(202)의 하나 이상의 구성 요소는 제어기(202)의 하나 이상의 다른 구성 요소들에 의해 수행되고 있는 것으로 기술되는 기능들을 수행할 수 있다.
이하에서 상기 제어기(202)는 장치로써 언급될 수 있다.
도 4는 본 명세서에 개시된 실시예들에 따른, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하기 위한 장치의 방법을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 402에서, 상기 장치는 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출할 수 있다.
일 실시예에서, 상기 서비스 요구 사항들은 사용자 선호도를 기반으로 하여 도출될 수 있다. 일 예에서, 사용자는 상기 BLE 메시 서비스에 대한 우선 순위를 설정할 수 있고, 장치는 상기 BLE 메시 서비스와 관련된 UUID와 상기 BLE 메시 서비스의 우선 순위를 매핑할 수 있다.
일 실시예에서, 상기 서비스 요구 사항들은 미리 구성된 설정을 기반으로 하여 도출될 수 있다. 일 예에서, 사용자 선호도가 없는 경우, 장치는 디폴트 서비스 요구 사항을 선택할 수 있다.
일 실시예에서, 장치는 서비스 결정 유닛(302)이 상기 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출할 수 있도록 한다.
단계 404에서, 장치는 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정할 수 있다. 일 실시예에서, 장치는 서비스 결정 유닛(302)이 하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정할 수 있다.
상기 BLE 매개변수들은 예를 들어, 참여 노드들의 전력 상태, BLE 메시 서비스와 관련된 우선 순위, 사용 가능한 참여 노드들의 개수, 참여 노드들의 역할 선호도 등일 수 있지만, 이에 한정되지는 않는다.
단계 406에서, 장치는 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성할 수 있다. 일 실시예에서, 장치는 메시 형성 유닛(304)이 결정된 BLE 메시 서비스, 서비스 요구 사항 및 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성할 수 있도록 한다.
일 실시예에서, BLE 메시 네트워크는 접속형이다.
일 실시예에서, BLE 메시 네트워크는 비접속형이다.
일 예에서, 서비스 인식 BLE 메시 네트워크는 사용자가 방송을 전송하고 좌표로서 응답을 돌려 받을 때 군중에서 친구 및 가족을 추적하는 데 도움이 될 수 있다.
상기 방법(400)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 5는 본 명세서에 개시된 실시예들에 따른, 이웃 목록 업데이트 절차를 수행하기 위한 장치의 방법(500)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있으며, 구체적으로 상기 타이머 유닛(312)일 수 있다. 기본적으로, 이웃 목록은 이웃들로부터 메시 패킷들(예를 들어, BLE 메시 서비스 id = 0xFEFE)을 얻은 후에 업데이트될 것이다. 상기 이웃 목록은 BLE 장치 주소를 포함한다. 일 실시예에서, 메모리 제약으로 인해 현재의 구현에서 지원되는 이웃들의 총 수는 32로 제한되지만 쉽게 확장될 수 있다.
단계 502에서, 상기 장치는 스캐닝 절차를 수행한다. 단계 504에서, 상기 장치는 광고 패킷들을 수신한다. 단계 506에서, 상기 장치는 수신된 패킷이 메시 패킷인지를 결정(또는 식별)하는 단계를 포함한다. 단계 508에서, 상기 장치는 이웃 장치 주소를 추출한다. 단계 510에서, 상기 장치는 이웃 장치 주소가 상기 장치내에 존재하고 있는 지 여부를 결정(또는 판단)한다. 상기 이웃 장치 주소가 상기 장치 내에 존재하면, 단계 512에서, 상기 장치는 다음 광고 패킷을 처리한다. 상기 이웃 장치 주소가 상기 장치 내에 존재하지 않으면, 단계 514에서, 상기 장치는 상기 추출된 이웃 장치 주소를 추가하거나 업데이트한다. 상기 이웃 장치 주소를 추가 또는 업데이트한 후, 단계 512에서, 상기 장치는 다음 광고 패킷을 처리한다.
상기 방법(500)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 6은 본 명세서에 개시된 실시예들에 따른, 이웃 목록 삭제 절차를 수행하기 위한 장치의 방법(600)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있으며, 구체적으로 상기 타이머 유닛(312)일 수 있다. 단계 602에서, 상기 장치는 메시 초기화 프로세스 동안 (주기적인) 이웃 항목 삭제 타이머를 초기화한다. 단계 604에서, 상기 장치는 특정 타임아웃을 기다린다. 일 실시예에서, 타임아웃은 20초로 고정될 수 있다. 단계 606에서, 상기 장치는 이웃 항목 삭제 시간이 만료되는 지 여부를 결정(또는 판단)한다. 상기 이웃 항목 삭제 시간이 만료되면, 단계 608에서, 상기 장치는 상기 이웃 목록에서 오래된 이웃 항목에 대해 확인한다. 상기 이웃 항목 삭제 시간이 만료되지 않으면, 단계 604에서, 상기 장치는 특정 타임아웃을 기다린다. 단계 610에서, 상기 장치는 이웃 항목이 오래된 것인지 여부를 결정한다. 일 실시예에서, 오래된 이웃 항목 상태는 이웃 목록에서 이웃으로부터 보여지는 마지막 패킷을 기반으로 하여 결정된다. 상기 이웃 항목이 오래된 것이면, 단계 612에서, 상기 장치는 오래된 이웃의 항목을 삭제한다. 일 실시예에서, 이웃 항목이 적어도 마지막 세 번의 업데이트 동안 업데이트되지 않았다면, 오래된 항목으로서 간주되어 삭제될 수 있다. 상기 이웃 항목이 오래된 것이 아니면, 단계 604에서, 상기 장치는 특정 타임아웃을 기다린다.
상기 방법(600)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 7a 내지 도 7b는 본 명세서에 개시된 실시예들에 따른, 장치의 도청(overhear) 알고리즘을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있으며, 구체적으로 상기 재구성 유닛(308)일 수 있다. 단계 702a에서, 상기 장치는 BLE 메시 재전송을 수행한다. 단계 704a에서, 상기 장치는 i번째 메시지(초기: i=0, i < MAX_NGHBRS)의 반복을 수행한다. 단계 706a에서, 상기 장치는 tid가 pkt_tid와 동일한 지 여부를 결정(또는 판단)한다. 타이머 id(tid)가 패킷에서의 수신된 타이머 id(pkt_tid)이면, 단계 710a에서, 상기 장치는 타이머 값을 삭제한다. 상기 tid가 pkt_tid와 동일하지 않으면, 단계 708a에서, 상기 장치는 i를 1만큼 증가시킨다. 타이머 값을 삭제한 후에, 단계 712a에서, 상기 장치는 num_nghbrs가 0인지 여부를 결정한다. 단계 714a에서, 상기 장치는 Num_acks가 (num_nghbrs/2)보다 큰 지 여부를 결정한다. Num_acks가 (num_nghbrs/2)보다 크면, 단계 716a에서, 상기 장치는 Relay_cnt가 Th2(임계값 2)보다 큰 지를 결정한다. 상기 Num_acks가 (num_nghbrs/2)보다 크지 않으면, 단계 718a에서, 상기 장치는 Num_acks가 0인지 및 Relay_cnt가 Th1보다 작은지 여부를 결정한다. Relay_cut이 Th2보다 크면, 단계 720a에서, 상기 장치는 TX 전력에서 relay_cnt를 수행한다. Relay_cnt이 Th2보다 크지 않으면, 단계 722a에서, 상기 장치는 Relay_cnt 값을 설정한다. 일 실시예에서, Relay_cnt 값은 Th1일 수 있다. Num_acks가 0이고 Relay_cnt가 Th1보다 작으면, 상기 장치는 단계(722a)를 수행한다. 단계(726a)에서, 상기 장치는 메시지 목록으로부터 BLE 메시를 제거한다.
제안된 도청 알고리즘은 주변에 적응할 수 있고, 그에 따라서 재전송 횟수/중계를 조정할 수 있다.
상기 방법(700a)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 7c는 본 명세서에 개시된 실시예들에 따른, 패킷 MIC 초기화 및 관리를 수행하기 위한 장치의 방법(700b)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있으며, 구체적으로 상기 타이머 유닛(312)일 수 있다. 단계 702b에서, 상기 장치는 스캐닝 절차를 수행한다. 단계 704b에서, 상기 장치는 스캐닝 절차를 기반으로 하여 광고 패킷들을 수신한다. 단계 706b에서, 상기 장치는 상기 수신된 패킷이 메시 패킷인지를 확인한다. 단계 708b에서, 상기 장치는 메시지 무결성 검사(MIC)를 추출한다. 예를 들어, 상기 장치는 메시지 무결성 검사 결과를 추출할 수 있다. 단계 710b에서, 상기 장치는 MIC가 상기 장치 내에 존재하고 있는 지 여부를 결정한다. 상기 MIC가 상기 장치 내에 존재하면, 단계 714b에서, 상기 장치는 다른 이웃 장치 주소를 도청하기 위해 타이머를 재시작한다. 상기 MIC가 상기 장치 내에 존재하지 않으면, 단계 712b에서, 상기 장치는 MIC 목록에 새로운 메시지의 MIC를 추가한다. 단계 716b에서, 상기 장치는 저장된 MIC에 대한 도청 타이머_MIC를 개시한다. 단계 718b에서, 상기 장치는 메시 패킷에 대한 다음 MIC를 처리한다. 다른 이웃 장치 주소를 도청하기 위해 타이머를 재시작한 후에, 단계 720b에서, 상기 장치는 타이머_MIC가 만료되었는 지 여부를 결정한다. 타이머가 도청 또는 명시적 승인 없이 만료되면, 패킷이 재전송되고, 그렇지 않으면 상기 패킷은 재전송될 필요가 없다. 그 후, 단계 722b에서, 상기 장치는 메시 패킷에 대한 다음 MIC를 처리할 수 있다.
Msg MIC는 고유 메시지 식별자이고, MIC 목록에 저장될 수 있다. 각각의 고유 MIC에 대해, Timer_MIC라 불리는 새로운 타이머가 생성되어 도청을 위해 사용될 것이다. Timer_MIC는 이웃의 ACK를 캡처하기 위해 계속해서 다시 스케줄링될 것이다. 단계 724b에서, Timer_MIC가 만료된 후에, 중계 횟수 업데이트 알고리즘이 호출될 것이다. 단계 726b에서, Timer_MIC 및 msg MIC는 타이머 만료 시에 삭제될 것이다. MIC_Timer는 이웃으로부터 어떠한 ACK도 도청하지 않고 만료되었고, 중계 횟수가 최대 값(Relay_cnt = Th1)으로 업데이트되었고, 이후 그것은 연속적으로 1 씩 증가시키고 사용 가능한 검사들을 모두 바이패스하였다.
상기 방법(700b)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 8은 본 명세서에 개시된 실시예들에 따른, 목록에서의 MIC 삭제를 수행하기 위한 장치의 방법(800)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 802에서, 상기 장치는 새로운 MIC를 수신한다. 단계 804에서, 상기 장치는 원형 버퍼 위치(즉, 원형 목록)에 수신된 MIC를 저장한다. 단계 806에서, 원형 목록에 버퍼 오버플로우가 존재하는 경우, 상기 장치는 오래된 MIC를 새로운 MIC로 대체한다. 단계 808에서, 상기 장치는 새로운 MIC에 대한 인덱스 번호를 설정한다.
상기 방법(800)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 9는 본 명세서에 개시된 실시예들에 따른, 최근의 MIC 목록을 제공하기 위한 장치의 방법(900)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 902에서, 상기 장치는 타이머가 만료된 것을 검출하는 단계를 포함한다. 일 실시예에서, 메시 노드들은 고정된 간격 내에서 그들의 이웃들로부터의 승인들을 도청할 수 없다. 고정된 간격은 간섭 및 노드의 스케줄(즉, 광고, 스캔 상태 등)을 기반으로 하여 달라질 수 있다. 단계 904에서, 상기 장치는 목록에 MIC가 존재하는 지 여부를 결정한다. 목록에 MIC가 존재하면, 단계 906에서, 상기 장치는 1만큼 승인 수신 횟수를 증가시킨다. 목록에 MIC가 존재하지 않으면, 단계 908에서, 상기 장치는 원형 목록에 MIC를 삽입하고, 원형 목록에 승인 번호를 업데이트한다. 단계 906 및 단계 908이 실행된 후에, 상기 장치는 도 7a에서 기술된 바와 같이 단계 714a부터 단계 724a까지 계속 실행한다.
도 10은 본 명세서에 개시된 실시예들에 따른, 이웃 항목 삭제 절차를 수행하기 위한 장치의 방법(1000)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 1002에서, 상기 장치는 타이머 만료된 값을 삭제한다. 단계 1004에서, 상기 장치는 "I"가 MAX_NEIGHBOURS보다 작은 지 여부를 결정한다. 상기 "I"가 MAX_NEIGHBOURS보다 작으면, 단계 1010에서, 상기 장치는 (BLE_Globel_Timestamp - BLE_Local_Timestamp[Ith])가 Delete_time_threshold보다 크거나 같은지 여부를 결정한다. 상기 "I"가 MAX_NEIGHBOURS보다 작지 않으면, 단계 1006에서, 상기 장치는 삭제 타이머 값을 다시 스케줄링한다. 단계 1008에서, 상기 장치는 타이머의 만료를 기다린다. (BLE_Globel_Timestamp - BLE_Local_Timestamp[Ith]) 가 Delete_time_threshold보다 크거나 같으면, 단계 1012에서, 상기 장치는 (BLE_Global_Reference_Count - BLE_Global_Reference_Count[Ith])가 Delete_Reference_threshold보다 크거나 같은지 여부를 결정한다. (BLE_Global_Reference_Count - BLE_Global_Reference_Count[Ith])가 Delete_Reference_threshold보다 크거나 같으면, 단계 1014에서, 상기 장치는 이웃 목록에서 I번째 이웃을 삭제한다. (BLE_Global_Reference_Count - BLE_Global_Reference_Count[Ith])가 Delete_Reference_threshold보다 크거나 같지 않으면, 단계 1004에서, 상기 장치는 I가 MAX_NEIGHBOURS보다 작은 지 여부를 결정한다.
BLE 메시 네트워크는 이벤트 기반이고, 연속적인 패킷 흐름을 갖지 않을 가능성이 있다. 따라서, (전통적인 라우팅 프로토콜들과 유사한) 타임스탬프만을 기반으로 하여 임의의 항목을 삭제하는 것은 가능하지 않을 수 있다. 메시 항목은 오래된 것일 수 있지만, 메시 네트워크가 이러한 기간 사이에 임의의 데이터 이벤트를 수신하지 못할 가능성이 있다.
상기 글로벌 타임스탬프(BLE_Globel_Timestamp)는 메시 노드가 그의 이웃으로부터 고유 ACK를 수신한 마지막 시간을 의미한다. 상기 글로벌 기준 카운트(BLE_Global_Reference_Count)는 고유 ACK가 그의 모든 이웃으로부터 메시 노드에 의해 수신된 횟수를 의미한다. 상기 로컬 타임스탬프(BLE_Local_Timestamp)는 메시 노드가 특정 이웃으로부터 고유 ACK를 수신한 마지막 시간을 의미한다. 상기 로컬 기준 카운트(BLE_Local_Reference_Count)는 고유 ACK가 그의 특정 노드로부터 메시 노드에 의해 수신된 횟수를 의미한다.
도 10에 따른 실시 예에서 초기시(Init) 삭제 타이머 "Nbhr_del_timer_id"는 메시 노드 초기화 동안 생성되고, 각각의 "Del_timer_timeout" 이후 주기적으로 스케줄링될 것이다.
도 10에 따른 실시 예에서 타이머 만료 시 상기 삭제 타이머는 이웃 목록을 확인하고, 다음의 규칙들을 기반으로 하여 오래된 이웃 항목들을 확인할 것이다.
상기 방법(1000)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 11은 본 명세서에 개시된 실시예들에 따른, 도청 타이머 및 시드 중계 카운트의 타이밍 다이어그램을 도시한다.
알고리즘은 메시 장치 부트 업 시 실행될 것이다.
Max_Relay_Count은 6 으로, Min_Relay_Count은 2로 정의한다.
유사 코드(Pseudo code):
단계 1: 스타트업에서 디폴트 초기화
Relay_count=Max_Relay_Count
단계 2: 스타트업 후, 메시 노드(M)는 그의 이웃으로부터 "서비스 광고 패킷들"을 관찰하는 단계를 시작하고, 다음의 목록을 유지할 것이다(이러한 프로세스는 "t" 시간, 예를 들어 1초 동안 실행될 것이다)
이웃 RSSI
(수신된 패킷)
TX 전력
(수신된 패킷)
경로 손실
XX.XX.XX.XX.XX.XX -60(dBm) +4(dBm) +64 dB
YY.YY.YY.YY.YY.YY -62(dBm) +5(dBm) +67 dB
경로 손실 = Tx 전력 레벨 - RSSI
(가장 높은 경로 손실 값을 갖는 경로 손실이 가장 높은 패킷 손실 확률을 갖는다)
단계 3: 메시 노드(M)는 최대 "경로 손실"을 계산하고, 다음의 계산을 수행한다
MAX_PATH_LOSS=max(경로 손실(XX.XX.XX,XX.XX.XX), 경로 손실(YY.YY.YY.YY.YY.YY))
단계 4: 이하를 수행한다.
if(MAX_PATH_LOSS > 75 dB)
{
Relay_count=max_Relay_Count;
}
Else
{
if(60 dB<=MAX_PATH_LOSS<=75 dB)
{
Relay_count=max_Relay_Count-2;
}
Else
{
if(60 dB>MAX_PATH_LOSS)
{
Relay_count=Min_Relay_Count;
}
}
}
주석: 우리는 몇 개의 수치 값들을 사용했다; 그것은 구현 및 테스트 동안 수정될 것이다.
도청 타임아웃(overhearing timeout, OT) 계산:
도청 메커니즘은 그의 이웃들로부터 (도청 ACK로서 처리되는) 동일한 패킷들의 재전송을 도청하기 위해 도청 타이머를 사용한다. 이러한 타이머는 도청 타임아웃(OT) 이후 만료된다. 아래의 알고리즘은 채용하는 방법으로 OT의 값을 결정한다.
매개변수:
IOT(initial overhearing timeout): 초기 OT(고정 값, 예를 들어 3초)
COT(current overhearing timeout): 현재의 OT(측정)
AOT(actual overhearing timeout): 이웃들로부터 모든 ACK를 도청하기 위한 실제 OT
주석: 우리는 실제 타임아웃을 측정하기 위해 진보적인 타이머 스케줄링의 지원을 가질 것이다(그것은 모든 진보적인 스케줄링된 타임아웃의 합이 될 것이다)
OTVAR(variance in COT and ACT): 다음의 도청 에피소드 동안의 COT와 ACT의 차이
알고리즘:
단계 1: 노드 부트 업 시, 메시 노드는 다음을 설정한다
COT=IOT;
OTVAR=IOT/2;
단계 2: 후속 COT 측정이 이루어질 때, 메시 노드는 다음을 설정한다
OTVAR=값(COT, AOT)의 차이
CTO=AOT
CTO=CTO + (또는 -) OTVAR
단계 3: 다음(next) 도청 타이머가 다음(next)의 고유 MIC/패킷들의 수신 시 COT 타임아웃으로 설정될 것이다.
도 12는 본 명세서에 개시된 실시예들에 따른, 광고 이벤트를 수행하기 위한 장치의 방법(1200)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 1202에서, 상기 장치는 광고 이벤트를 수행한다. 단계 1204에서, 상기 장치는 해당 타이머가 만료된 패킷들의 라인의 선두를 선택한다. 단계 1206에서, 사용 가능한 타임아웃 패킷이 없는 경우, 상기 장치는 아직 전송을 시도하지 않은 패킷들 중 하나를 선택한다. 단계 1208에서, 패킷이 선택되면, 상기 장치는 패킷을 광고하고, 해당 패킷에 대한 타이머를 시작하고, 및 상기 장치의 버퍼 이력(즉, 제어기 버퍼 이력)을 업데이트한다. 단계 1210에서, 상기 장치는 상기 전송된 패킷에 대한 상기 장치의 버퍼 이력에 패킷 전송 횟수를 업데이트한다.
일 실시예에서, 각각의 메시 장치는 다음의 목록들을 유지할 수 있다.
- 전송될 패킷들의 대기 행렬
상기 대기 행렬은 노드 내에 생성되거나 중계를 위해 존재할 수 있다.
대기 행렬에서의 각각의 이러한 패킷에 대해, 노드는 다음을 유지한다.
- 해당 MIC
- 시도된 전송 횟수
- 수신된 도청 기반 또는 명시적 승인의 개수
상기 방법(1200)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 13은 본 명세서에 개시된 실시예들에 따른, 이웃 목록을 생성하기 위한 장치의 방법(1300)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 1302에서, 상기 장치는 스캐닝 이벤트를 수행한다. 단계 1304에서, 상기 장치는 BLE 메시 서비스 광고가 수신되는 지 여부를 결정(또는 판단)한다.
BLE 메시 서비스 광고가 수신되면, 단계 1306에서, 상기 장치는 이웃 항목이 목록에 이미 존재하는 지, 즉 그것이 중복 항목인지 여부를 확인한다. BLE 메시 서비스 광고가 수신되지 않으면, 단계 1302에서, 상기 장치는 스캐닝 이벤트를 수행한다.
이웃이 목록에 이미 존재하면, 단계 1302에서, 상기 장치는 스캐닝 이벤트를 수행한다. 이웃이 이웃 목록에 존재하지 않으면, 단계 1308에서, 상기 장치는 이웃 목록에 광고주(advertiser) 주소를 추가한다. 일 예로 상기 광고주는 광고를 하는 주체를 의미할 수 있다.
상기 방법(1300)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 14는 본 명세서에 개시된 실시예들에 따른, 이웃 목록 관리를 나타내기 위한 장치의 방법(1400)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 1402에서, 상기 장치는 스캐닝 이벤트를 수행한다. 단계 1404에서, 상기 장치는 스마트 메시 메시지가 수신되는 지 여부를 결정(또는 판단)한다. 스마트 메시 메시지가 수신되지 않으면, 단계 1402에서, 상기 장치는 스캐닝 이벤트를 수행한다.
스마트 메시 메시지가 수신되면, 단계 1406에서, 상기 장치는 MIC가 버퍼링된 패킷들 중 하나와 일치하는 지 여부를 결정한다. MIC가 버퍼링된 패킷들 중 하나와 일치하지 않으면, 단계 1402에서, 상기 장치는 스캐닝 이벤트를 수행한다.
MIC가 버퍼링된 패킷들 중 하나와 일치하면, 단계 1408에서, 상기 장치는 광고주를 얻는 단계, 이웃 목록을 추가하고 확인한다. 단계 1410에서, 상기 장치는 전체 이웃 목록이 소스로부터 떨어져 있는 지 여부를 결정한다. 전체 이웃 목록이 소스로부터 떨어져 있지 않으면, 단계 1402에서, 상기 장치는 스캐닝 이벤트를 수행한다. 전체 이웃 목록이 소스로부터 떨어져 있으면, 단계 1412에서, 상기 장치는 전송 프로세스를 완료한다.(즉, 모든 이웃들이 승인되었다.)
상기 방법(1400)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 15는 본 명세서에 개시된 실시예들에 따른, 이웃 항목 목록 업데이트 절차를 수행하기 위한 장치의 방법(1500)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 1502에서, 상기 장치는 메시 초기화 프로세스 동안 (주기적인) 이웃 항목 삭제 타이머를 개시한다. 단계 1504에서, 상기 장치는 특정 타임아웃을 기다린다. 일 실시예에서, 타임아웃은 20초로 고정될 수 있다. 단계 1506에서, 상기 장치는 이웃 항목 삭제 시간이 만료되는 지 여부를 결정한다. 이웃 항목 삭제 시간이 만료되면, 단계 1508에서, 상기 장치는 이웃 목록에서 오래된 이웃 항목에 대해 확인한다. 이웃 항목 삭제 시간이 만료되지 않으면, 단계 1504에서, 상기 장치는 특정 타임아웃을 기다린다. 단계 1510에서, 상기 장치는 이웃 항목이 오래된 것이지 여부를 결정한다. 일 실시예에서, 오래된 이웃 항목 상태는 이웃 목록에서 이웃으로부터 본 마지막 패킷을 기반으로 하여 결정될 수 있다. 이웃 항목이 오래된 것이 아니면, 단계 1512에서, 상기 장치는 이웃 장치 주소를 추출한다. 이웃 항목이 오래된 것이면, 단계 1504에서, 상기 장치는 특정 타임아웃을 기다린다.
상기 방법(1500)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 16은 본 명세서에 개시된 실시예들에 따른, 패킷 MIC 목록 초기화 및 관리를 수행하기 위한 장치의 방법(1600)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 1602에서, 상기 장치는 스캐닝 절차를 수행한다. 단계 1604에서, 상기 장치는 광고 패킷들을 수신한다. 단계 1606에서, 상기 장치는 메시 패킷들을 수신한다. 단계 1608에서, 상기 장치는 MIC를 추출한다. 단계 1610에서, 상기 장치는 MIC가 상기 장치 내에 존재하고 있는 지 여부를 결정한다. 상기 MIC가 상기 장치 내에 존재하면, 단계 1612에서, 상기 장치는 진보적인 방법으로 다른 이웃들을 도청하기 위해 타이머를 재시작한다. 단계 1614에서, 상기 장치는 메시 패킷에 대한 다음 MIC를 처리한다.
상기 MIC가 상기 장치 내에 존재하지 않으면, 단계 1616에서, 상기 장치는 MIC 목록에서 MIC를 추가한다. 단계 1618에서, 상기 장치는 도청 타이머를 시작한다. 일 실시예에서, 단계 1620에서, 상기 장치는 도청 타이머를 시작한 후에 도청 타이머의 만료 시 상기 MIC를 삭제한다. 다른 실시예에서, 단계 1622에서, 상기 장치는 도청 타이머를 시작한 후 메시 패킷에 대한 다음 MIC를 처리한다.
상기 방법(1600)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 17은 본 명세서에 개시된 실시예들에 따른, 멀티 브릿지 및 멀티 경로 토폴로지(1700)를 도시한다, 각각의 노드(예: 마스터 노드(M), 브릿지 노드(B), 및 중계 노드(R))는 이웃 목록 정보를 유지한다. 상기 이웃 목록 정보는 마스터 제어기와 주기적으로 공유된다. 상기 이웃 목록 정보를 공유한 후에, 상기 마스터 제어기는 홉 카운트/RSSI를 기반으로 하여 최적의 경로 정보를 유지한다. 상기 홉 카운트/RSSI를 기반으로 하여, 상기 마스터 제어기는 최적의 경로를 통해 대상 노드에 도달하기 위한 브릿지 노드를 선택한다. 상기 브릿지 노드는 대상 노드에 정보를 방송한다. 상기 브릿지 노드는 최적의 경로 노드들로부터만 도청하고, 도청 알고리즘에 따라 재전송 결정을 내린다. 각각의 노드는 이전 노드로부터 도청된 마지막 노드의 경로 정보를 업데이트한다. 상기 브릿지 노드는 최적의 경로 업데이트들을 방송한다.
도 18은 본 명세서에 개시된 실시예들에 따른, 멀티 브릿지 및 멀티 경로 토폴로지를 생성하기 위한 장치의 방법(1800)을 도시하는 흐름도이다. 상기 장치는 도 3의 제어기(202)일 수 있다. 단계 1802에서, 상기 장치는 각각의 노드에 의해 이웃 목록 정보를 유지한다. 단계 1804에서, 상기 장치는 주기적으로 마스터 제어기와 이웃 목록 정보를 공유한다. 단계 1806에서, 상기 장치는 홉 카운트/RSSI를 기반으로 하여, 마스터 제어기에 의해 최적의 경로 정보를 유지한다. 단계 1808에서, 상기 장치는 마스터 제어기에 의해 최적의 경로를 통해 대상 노드에 도달하기 위해 브릿지 노드를 선택한다. 단계 1810에서, 상기 장치는 브릿지 노드에 의해 대상 노드에 정보를 방송한다. 단계 1812에서, 상기 장치는 최적의 경로 노드들로부터만 도청을 수행한다. 단계 1814에서, 상기 장치는 도청 알고리즘에 따라 재전송 결정을 내린다. 단계 1816에서, 상기 장치는 이전 노드로부터 도청된 마지막 노드의 경로 정보를 업데이트한다. 단계 1818에서, 상기 장치는 최적의 경로 업데이트들을 방송한다.
상기 장치의 RSSI 정보를 기반으로 하여, 상기 장치는 전자 장치로부터의 거리를 추정하고, 그에 따라 전송 횟수 값 및 재-방송을 현명하게 결정할 수 있다.
상기 방법(1800)에서의 다양한 작업, 행동, 블록, 단계 등은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 일부 작업, 행동, 블록, 단계 등은 본 발명의 범위를 벗어나지 않고 생략, 추가, 수정, 및 스킵될 수 있다.
도 19a 및 도 19b는 본 명세서에 개시된 실시예들에 따른, BLE 메시 네트워크를 구성하기 위한 예시적인 도시이다. 일 실시예에서, BLE 메시 네트워크는 사용자로부터 입력을 수신하도록 구성될 수 있다. 일 실시예에서, BLE 메시 네트워크는 서비스 요구 사항들을 충족시키는 네트워크 구성 값, 또는 디폴트 구성 값들을 기반으로 하여 BLE 메시 네트워크의 운영에 적합한 구성 매개변수들을 결정하여 구성될 수 있다. 도 19a에 도시된 바와 같이, BLE 메시 네트워크는 BLE 메시 제어기(또는 장치)의 어플리케이션 메시 설정 사용 및 자신의 설정 제공에 의해 구성된다. 도 19b에 도시된 바와 같이, BLE 메시 네트워크는 매개변수(예를 들어, 보안, 신뢰성 지연, 스루풋, 지리적 한계, 및 전력 소비)에 의해 구성된다.
도 20은 본 명세서에 개시된 실시예들에 따른, 서비스 인식 BLE 메시 네트워크를 동적으로 형성하기 위한 방법 및 시스템을 구현하는 컴퓨팅 환경(2002)을 도시한다. 도시된 바와 같이, 컴퓨팅 환경(2002)은 제어 유닛(2004) 및 산술 논리 유닛(Arithmetic Logic Unit, ALU)(2006)이 장착되어 있는 적어도 하나의 처리 유닛(2008), 메모리(2010), 저장 유닛(2012), 적어도 하나의 네트워킹 장치(2016) 및 적어도 하나의 입출력(I/O) 장치(2014)를 포함할 수 있다. 상기 처리 유닛(2008)은 기술의 지시들을 처리하는 책임이 있다. 상기 처리 유닛(2008)은 그의 처리를 수행하기 위해 제어기 유닛으로부터의 명령들을 수신한다. 또한, 지시들의 실행에 관련된 논리 및 산술 연산들은 ALU(2006)의 도움으로 계산된다.
전체 컴퓨팅 환경(2002)은 복수의 동종 및/또는 이종 코어, 서로 다른 종류의 복수의 CPU, 특정 매체 및 다른 가속도계로 구성될 수 있다. 상기 처리 유닛(2008)은 기술의 지시들을 처리하는 책임이 있다. 또한, 복수의 처리 유닛(2008)이 하나의 칩 또는 복수의 칩에 배치될 수 있다.
구현에 필요한 코드 및 지시들을 포함하는 기술은 메모리(2010) 또는 저장 유닛(2012) 또는 둘 다에 저장될 수 있다. 실행 시, 해당 메모리(2010) 및/또는 저장 유닛(2012)으로부터 지시들을 불러낼 수 있고, 지시들은 상기 처리 유닛(2008)에 의해 실행될 수 있다.
모든 하드웨어 구현의 경우에서, 네트워킹 유닛 및 I/O 장치 유닛을 통해 구현을 지원하기 위해 다양한 네트워킹 장치들(2016) 또는 외부 I/O 장치들(2014)이 컴퓨팅 환경에 연결될 수 있다.
컴퓨팅 환경(2002)는 상술한 제어기의 구성을 나타낸 일 예이기도 하다.
본 명세서에 개시된 실시예들은 요소들을 제어하기 위해 네트워크 관리 기능들을 수행하고 적어도 하나의 하드웨어 장치에서 실행되는 적어도 하나의 소프트웨어 프로그램을 통해 구현될 수 있다. 도 1, 도 2, 도 3, 도 18, 도 19a, 도 19b, 및 도 20에 도시된 요소들은 하드웨어 장치, 또는 하드웨어 장치와 소프트웨어 모듈의 조합 중 적어도 하나일 수 있는 블록들을 포함한다.
특정 실시예들의 상기 설명은 다른 사람들이 현재의 지식을 적용하여 일반적인 개념을 벗어나지 않고 이러한 특정 실시예들을 쉽게 수정하고 및/또는 다양한 어플리케이션에 적용할 수 있도록 본 명세서에 기재된 실시예들의 일반적인 특성을 충분히 드러내보일 것이고, 따라서 이러한 적응예 및 수정예들은 개시된 실시예들의 등가물의 의미 및 범위 내에서 이해되어야 하고 이해되도록 의도된다. 본 명세서에서 사용된 어법이나 용어는 한정이 아닌 설명을 위한 것이라는 것을 이해해야 한다. 따라서, 본 명세서에 기재된 실시예들은 바람직한 실시예들의 관점에서 기술되었지만, 당업자들은 본 명세서에 기재된 실시예들이 본 명세서에 기술된 실시예들의 사상 및 범위 내에서 수정되어 실시될 수 있음을 인식할 것이다.

Claims (19)

  1. 서비스 인식 블루투스 저 에너지(BLE) 메시 네트워크를 동적으로 형성하는 방법으로서, 상기 방법은
    BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 상기 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하는 단계;
    하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하는 단계; 및
    상기 결정된 BLE 메시 서비스, 상기 서비스 요구 사항 및 상기 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하는 단계를 포함하고, 상기 BLE 메시 네트워크는 접속형 또는 비접속형 중 하나인 방법.
  2. 제1항에 있어서, 상기 고유 식별자는 범용 고유 식별자(UUID)이고, 상기 하나 이상의 BLE 매개변수는 참여 노드들의 전력 상태, BLE 메시 서비스와 관련된 우선 순위, 사용 가능한 다수의 참여 노드 중 적어도 하나, 및 상기 참여 노드들의 역할 선호도인 방법.
  3. 제1항에 있어서, 상기 방법은
    상기 참여 노드들이 상기 전력 상태, 데이터 패킷들을 중계하고자 하는 의도, 상기 BLE 메시 서비스 중 하나를 기반하여 역할에 대한 선호도를 표시할 수 있도록 하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 방법은
    상기 BLE 메시 서비스와 관련된 우선 순위를 기반으로 하여 상기 참여 노드들에서 대상 노드쪽으로 복수의 경로를 형성하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서, 상기 방법은
    상기 참여 노드들의 가용성을 기반으로 하여 상기 BLE 메시 네트워크를 자동적으로 재구성하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 BLE 메시 네트워크는 사용자로부터의 입력을 수신하여 구성되는 방법.
  7. 제1항에 있어서, 상기 BLE 메시 네트워크는 상기 서비스 요구 사항들을 충족시키는 디폴트 구성 값, 및 네트워크 구성 값들 중 적어도 하나를 기반으로 하여 상기 BLE 메시 네트워크의 운영에 적합한 구성 매개변수들을 결정하여 구성되는 방법.
  8. 제1항에 있어서, 상기 방법은 각각의 상기 참여 노드 및 메시 성능 매개변수를 기반으로 하여 각각의 상기 BLE 메시 서비스의 영향 및 각각의 상기 BLE 메시 서비스의 우선 순위를 매핑하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서, 상기 참여 노드들에서 각각의 노드는 데이터베이스에 각각의 상기 노드를 통해 전송되는 각각의 데이터 패킷에 관한 정보를 유지하고, 상기 정보는 이웃 노드들의 주소, 메시지 무결성 검사(MIC), 재전송 횟수, 및 상기 참여 노드들로부터 수신되는 명시적 승인 및 상기 참여 노드들로부터 수신되는 다수의 도청 기반 승인들 중 적어도 하나를 포함하는 방법.
  10. 서비스 인식 블루투스 저 에너지(BLE) 메시 네트워크를 형성하는 장치로써, 상기 장치는
    BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 상기 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하고;
    하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하고; 및
    상기 결정된 BLE 메시 서비스, 상기 서비스 요구 사항 및 상기 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하도록 구성되고, 상기 BLE 메시 네트워크는 접속형 또는 비접속형 중 하나인 장치.
  11. 제10항에 있어서, 상기 고유 식별자는 범용 고유 식별자(UUID)이고, 상기 하나 이상의 BLE 매개변수는 참여 노드들의 전력 상태, 상기 BLE 메시 서비스, 사용 가능한 다수의 참여 노드 중 적어도 하나, 및 상기 참여 노드들의 역할 선호도인 장치.
  12. 제10항에 있어서, 상기 장치는
    상기 참여 노드들이 상기 전력 상태, 데이터 패킷들을 중계하고자 하는 의도, 상기 BLE 메시 서비스 중 하나를 기반하여 역할에 대한 선호도를 표시할 수 있도록 더 구성되는 장치.
  13. 제10항에 있어서, 상기 장치는
    상기 BLE 메시 서비스와 관련된 우선 순위를 기반으로 하여 상기 참여 노드들에서 대상 노드 쪽으로 복수의 경로를 형성하도록 더 구성되는 장치.
  14. 제13항에 있어서, 상기 장치는 상기 참여 노드들의 가용성을 기반으로 하여 상기 BLE 메시 네트워크를 자동적으로 재구성하도록 더 구성되는 장치.
  15. 제10항에 있어서, 상기 BLE 메시 네트워크는 사용자로부터의 입력을 수신하여 구성되는 장치.
  16. 제10항에 있어서, 상기 장치는 서비스 요구 사항들을 충족시키는 디폴트 구성 값, 및 네트워크 구성 값들 중 적어도 하나를 기반으로 하여 상기 BLE 메시 네트워크의 운영에 적합한 구성 매개변수를 결정하여 상기 BLE 메시 네트워크를 형성하도록 구성되는 장치.
  17. 제10항에 있어서, 상기 장치는 각각의 참여 노드 및 메시 성능 매개변수를 기반으로 하여 각각의 상기 BLE 메시 서비스의 영향 및 각각의 상기 BLE 메시 서비스의 우선 순위를 매핑하도록 더 구성되는 장치.
  18. 제10항에 있어서, 상기 참여 노드들에서 각각의 노드는 데이터베이스에 각각의 상기 노드를 통해 전송되는 각각의 데이터 패킷에 관한 정보를 유지하고, 상기 정보는 이웃 노드들의 주소, 메시지 무결성 검사(MIC), 재전송 횟수, 및 상기 참여 노드들로부터 수신되는 명시적 승인 및 상기 참여 노드들로부터 수신되는 다수의 도청 기반 승인들 중 적어도 하나 포함하는 장치.
  19. 컴퓨터 판독 가능 비임시 저장 매체에 기록된 컴퓨터 실행 가능 프로그램 코드를 포함하는 컴퓨터 프로그램 저장 매체로서, 상기 컴퓨터 실행 가능 프로그램 코드는 실행될 때
    상기 BLE 메시 서비스와 관련된 고유 식별자를 기반으로 하여 BLE 메시 서비스에 대한 서비스 요구 사항들을 도출하는 단계;
    하나 이상의 BLE 매개변수를 기반으로 하여 제공될 BLE 메시 서비스를 결정하는 단계; 및
    상기 결정된 BLE 메시 서비스, 상기 서비스 요구 사항 및 상기 하나 이상의 BLE 매개변수를 기반으로 하여 BLE 메시 네트워크를 동적으로 형성하는 단계를 포함하는 작업들을 일으키고, 상기 BLE 메시 네트워크는 접속형 또는 비접속형 중 하나인 컴퓨터 프로그램 저장 매체.

KR1020160035693A 2015-03-27 2016-03-25 메시 네트워크를 동적으로 형성하기 위한 메커니즘 KR102464668B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1592CH2015 2015-03-27
IN1592/CHE/2015 2015-11-26

Publications (2)

Publication Number Publication Date
KR20160115814A true KR20160115814A (ko) 2016-10-06
KR102464668B1 KR102464668B1 (ko) 2022-11-10

Family

ID=57188775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160035693A KR102464668B1 (ko) 2015-03-27 2016-03-25 메시 네트워크를 동적으로 형성하기 위한 메커니즘

Country Status (2)

Country Link
US (1) US9788257B2 (ko)
KR (1) KR102464668B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10932107B2 (en) 2017-12-21 2021-02-23 Samsung Electronics Co., Ltd. Electronic device and method for controlling node in network

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6724436B2 (ja) * 2016-03-11 2020-07-15 オムロン株式会社 ネットワークシステム、機能設定方法および機能設定プログラム
US10623274B2 (en) * 2016-12-12 2020-04-14 Arris Enterprises Llc Mechanism and apparatus for set-top box power off to internet of things device status display
WO2018236265A1 (en) 2017-06-22 2018-12-27 Telefonaktiebolaget Lm Ericsson (Publ) DATA COMMUNICATION MANAGEMENT IN A LOW ENERGY BLUETOOTH (BLE) MESH NETWORK
US10812993B2 (en) * 2017-07-31 2020-10-20 Silicon Laboratories Inc. Systems and methods for configuring and providing mesh communication between wireless devices
US10447394B2 (en) 2017-09-15 2019-10-15 Qualcomm Incorporated Connection with remote internet of things (IoT) device based on field of view of camera
KR102477589B1 (ko) 2017-12-26 2022-12-15 삼성전자주식회사 Nan 기반의 통신 제어 방법 및 이를 지원하는 전자 장치
US11516682B2 (en) * 2018-03-16 2022-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes for obtaining information regarding a bluetooth mesh network
EP4170992A1 (en) 2018-03-23 2023-04-26 Telefonaktiebolaget LM Ericsson (publ) Message cache management in a mesh network
US10455519B1 (en) * 2018-09-19 2019-10-22 International Business Machines Corporation Broadcast message transmission
US11601862B2 (en) 2018-11-28 2023-03-07 Guy McIlroy Heat mapping in a flood fill mesh radio network
RU2703332C1 (ru) * 2019-03-04 2019-10-16 Общество с ограниченной ответственностью "ДиС ПЛЮС" Способ организации сети передачи данных
US11546096B2 (en) * 2019-06-21 2023-01-03 Carrier Corporation Method and system for data transfer in a Bluetooth low energy network
US11153038B2 (en) * 2019-11-22 2021-10-19 Qualcomm Incorporated MIC recovery of BR/EDR links
CN113259916A (zh) * 2020-02-12 2021-08-13 阿里巴巴集团控股有限公司 一种基于蓝牙网络的通信方法、及其节点和通信系统
CN112822643B (zh) * 2021-01-14 2021-11-30 深圳市芯中芯科技有限公司 一种基于ble广播的蓝牙设备多联组网方法和系统
CN114302433B (zh) * 2021-12-28 2023-09-01 深圳市创维软件有限公司 多台设备Mesh组网方法、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009500914A (ja) * 2005-06-30 2009-01-08 マイクロソフト コーポレーション アドホック・ネットワークの効率的な形成
KR20110120787A (ko) * 2010-04-29 2011-11-04 경기대학교 산학협력단 경로 설정 장치 및 방법
JP2013179605A (ja) * 2007-08-31 2013-09-09 Fisher Rosemount Systems Inc 無線メッシュ型ネットワークの構成および最適化
KR20140009070A (ko) * 2012-07-12 2014-01-22 삼성전자주식회사 블루투스 인프라스트럭처 네트워크, 마스터, 허브 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100008293A1 (en) * 2008-07-09 2010-01-14 Qualcomm Incorporated X2 interfaces for access point base stations in self-organizing networks (son)
GB2512733B (en) * 2014-02-25 2018-09-05 Qualcomm Technologies Int Ltd Broadcast retransmission
US9912594B2 (en) * 2014-06-10 2018-03-06 Google Llc Probabilistic message filtering and grouping
US9980082B2 (en) * 2014-08-26 2018-05-22 Kooltechs Inc. System and method for tracking locations and activities
US10111071B2 (en) * 2014-09-19 2018-10-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Bluetooth low energy automation mesh network
US9094407B1 (en) * 2014-11-21 2015-07-28 Citrix Systems, Inc. Security and rights management in a machine-to-machine messaging system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009500914A (ja) * 2005-06-30 2009-01-08 マイクロソフト コーポレーション アドホック・ネットワークの効率的な形成
JP2013179605A (ja) * 2007-08-31 2013-09-09 Fisher Rosemount Systems Inc 無線メッシュ型ネットワークの構成および最適化
KR20110120787A (ko) * 2010-04-29 2011-11-04 경기대학교 산학협력단 경로 설정 장치 및 방법
KR20140009070A (ko) * 2012-07-12 2014-01-22 삼성전자주식회사 블루투스 인프라스트럭처 네트워크, 마스터, 허브 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:TSSIO CARVALHO ET AL., *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10932107B2 (en) 2017-12-21 2021-02-23 Samsung Electronics Co., Ltd. Electronic device and method for controlling node in network

Also Published As

Publication number Publication date
US20170156102A1 (en) 2017-06-01
US9788257B2 (en) 2017-10-10
KR102464668B1 (ko) 2022-11-10

Similar Documents

Publication Publication Date Title
KR102464668B1 (ko) 메시 네트워크를 동적으로 형성하기 위한 메커니즘
US9220050B2 (en) Mesh network defragmentation
KR102304699B1 (ko) 통신 네트워크들 내의 에러 검출
US10075892B2 (en) Mobile device for use in a dynamic and stochastic asynchronously updated wireless ad-hoc network
US9585113B2 (en) Method and device for time-synchronization in ad hoc network
US11038767B2 (en) Discovery of a set of nodes in a network
US9450830B2 (en) Node apparatus and communication method
US20070211681A1 (en) Method and System for Frequency Agility in a Wireless Sensor Network
US11290942B2 (en) System and method for independent dominating set (IDS) based routing in mobile AD hoc networks (MANET)
CN105794284B (zh) 使节点同步至数据宿的方法以及用于形成无线网络的节点
CN108605300A (zh) 一种nan设备发送同步信标消息的方法和设备
Zhao et al. CoCo+: Exploiting correlated core for energy efficient dissemination in wireless sensor networks
US9504020B2 (en) Method for exchanging information between communication terminals, and communication terminal
Zhao et al. Exploiting link correlation for core-based dissemination in wireless sensor networks
CN108476579B (zh) 用于操作通信装置的方法和通信装置
US11197224B1 (en) Systems and methods for routing messages through wireless networks
US11968252B2 (en) Peer selection for data distribution in a mesh network
US11044771B2 (en) Method and device for sharing an established connection between a primary device and one of a plurality of secondary devices in a network
JP7326230B2 (ja) 通信システム、ノード、通信方法及びプログラム
KR100953866B1 (ko) 센서 네트워크의 모빌리티 에이전트 장치
Bokar et al. Scalable energy-aware dynamic task allocation
Banerjee et al. Low-Energy Aware Routing Mechanism for Wireless Sensor Networks
JP2015065653A (ja) アドホックネットワーク内で容量を共有する分散システムおよび方法
Tao et al. Low‐jitter slot assignment algorithm for deadline‐aware packet transmission in wireless video surveillance sensor networks
US11812374B2 (en) Time-multiplexing of multiple listening schedules and physical layer modes in a mesh network

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right