KR102038571B1 - 메쉬 네트워크 커미셔닝 - Google Patents

메쉬 네트워크 커미셔닝 Download PDF

Info

Publication number
KR102038571B1
KR102038571B1 KR1020197013751A KR20197013751A KR102038571B1 KR 102038571 B1 KR102038571 B1 KR 102038571B1 KR 1020197013751 A KR1020197013751 A KR 1020197013751A KR 20197013751 A KR20197013751 A KR 20197013751A KR 102038571 B1 KR102038571 B1 KR 102038571B1
Authority
KR
South Korea
Prior art keywords
mesh network
commissioning
participating
network
steering data
Prior art date
Application number
KR1020197013751A
Other languages
English (en)
Other versions
KR20190058660A (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 KR20190058660A publication Critical patent/KR20190058660A/ko
Application granted granted Critical
Publication of KR102038571B1 publication Critical patent/KR102038571B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/37Managing security policies for mobile devices or for controlling mobile applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/088Access security using filters or firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • 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
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/32Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/51Allocation or scheduling criteria for wireless resources based on terminal or device properties
    • 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
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Abstract

메쉬 네트워크 커미셔닝의 실시예들에서, 커미셔닝 디바이스는 하나 이상의 참가 디바이스들을 메쉬 네트워크에 참가하기 위한 네트워크 통신 세션들을 보안적으로 설정하기 위하여 커미셔닝 디바이스와 메쉬 네트워크의 경계 라우터 사이에 보안 커미셔닝 통신 세션을 설정한다. 커미셔닝 디바이스는 메쉬 네트워크에 대한 참가를 활성화시킬 수 있으며, 메쉬 네트워크에 참가하기 위한 요청을 참가 디바이스로부터 수신할 수 있다. 커미셔닝 디바이스는 커미셔닝 디바이스와 참가 디바이스 사이에 보안 참가자 통신 세션을 설정하고, 암호화된 디바이스 식별자를 사용하여 참가 디바이스를 인증하며, 참가 디바이스를 메쉬 네트워크에 참가할 수 있다.

Description

메쉬 네트워크 커미셔닝{MESH NETWORK COMMISSIONING}
관련된 출원들에 대한 상호 참조
본 출원은 35 U.S.C.§119(e)에 의거, 2014년 6월 24일 출원된 미국 가특허 출원 일련번호 제 62/016,450호에 대해 우선권을 주장한다. 본 출원은 또한 2014년 10월 13일 출원된 미국 가특허 출원 일련번호 제 62/063,135호에 대한 우선권을 청구한다. 본 출원은 또한 2015년 2월 12일 출원된 미국 가특허 출원 일련번호 제 62/115,601호에 대한 우선권을 청구한다. 본 출원은 또한 2015년 4월 2일 출원된 미국 가특허 출원 일련번호 제 62/141,853호에 대한 우선권을 청구한다.
디바이스들을 서로에 대해 그리고 클라우드 기반 서비스들에 대해 연결하기 위해 무선 메쉬 네트워킹을 사용하는 것은, 환경 조건들을 감지하고, 장비를 제어하고, 그리고 정보 및 경보들을 사용자에게 제공하기 위해 점점 더 인기가 많아지고 있다. 그러나 메쉬 네트워크들 상의 많은 디바이스들은, 디바이스들에서의 이용가능한 컴퓨팅, 사용자 인터페이스 및 라디오 자원들을 제한하는 배터리 파워로 오랜 시간 동안 동작하도록 디자인된다. 부가적으로, 메쉬 네트워크들의 보안을 보장하기 위해, 디바이스들로 커미셔닝되는 크리덴셜들을 기초로, 메쉬 네트워크에 참가하고 메쉬 네트워크에서 동작하는 디바이스들의 아이덴티티가 인증되고, 메쉬 네트워크 내의 통신이 암호화된다. 그러나 메쉬 네트워크들의 증가하는 유비퀴티(ubiquity) 및 스케일로 인해, 커미셔닝 기술들은, 커미셔닝을 위한 사용자 경험의 품질, 디바이스를 메쉬 네트워크로 참가시키는 것의 정확도, 크리덴셜들을 디바이스들로 안전하게 주입(inject)하는 것 그리고 디바이스 특정 및 애플리케이션 특정 정보를 커미셔닝 동안 디바이스로 프로비저닝(provisioning)하는 것을 제한한다.
본 요약은 메쉬 네트워크 커미셔닝의 간략화된 개념들을 소개하기 위해 제공된다. 간략화된 개념들은 이하의 발명을 실시하기 위한 구체적인 내용 부분에서 추가로 설명된다. 본 요약은 청구 대상의 필수적인 특징들을 식별하도록 의도된 것도 아니고 청구 대상의 범위를 결정하는데 사용하도록 의도된 것도 아니다.
메쉬 네트워크에 노드들을 참가시키는 것과 일반적으로 관련된 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 참가자 라우터(joiner router)는 참가 디바이스로부터 비콘 요청을 수신할 수 있고, 그 다음 참가자 라우터로부터 참가 디바이스로 비콘을 전송하며, 여기서 비콘은 메쉬 네트워크가 참가를 위해 이용가능하다는 표시를 제공한다. 전송된 비콘은 또한, 참가 디바이스가 참가 디바이스와 참가자 라우터 사이에 로컬 링크를 설정하는 것을 가능하게 한다. 참가자 라우터는 메쉬 네트워크에 참가하기 위해 요청하는 참가 디바이스로부터 메시지를 수신한다. 참가 디바이스로부터 수신되는 메시지는 참가 디바이스를 인증할 수 없는 디바이스 식별자를 포함하고, 참가 디바이스는 J-PAKE(Password Authenticated Key Exchange by Juggling) 또는 임의의 다른 적절한 암호 스위트(cipher suite)를 사용하여 인증되고, 인증은 커미셔닝 디바이스와 참가 디바이스 사이에서 보안 통신 세션을 설정하는데 효과적이다. 참가자 라우터는 수신된 메시지를 메쉬 네트워크의 커미셔닝 디바이스에 포워드하는데, 이는 참가자 라우터와 커미셔닝 디바이스 사이의 통신 경로에 있는 상기 메쉬 네트워크의 하나 이상의 라우터들을 통해 수신된 메시지를 포워드하는 것을 포함한다. 구현들에서, 라우터들 중 하나는 상기 메쉬 네트워크를 외부 네트워크에 연결하는 경계 라우터(border router)일 수 있고, 상기 커미셔닝 디바이스는 상기 외부 네트워크에 부착된다. 그 다음, 참가자 라우터는 메쉬 네트워크에 참가하기 위해 커미셔닝 디바이스로부터 참가 디바이스에 대한 인증을 수신하고, 참가자 라우터는 네트워크 정보를 참가 디바이스에 송신하며, 여기서 네트워크 정보는 참가 디바이스가 메쉬 네트워크게 참가 가능하게 한다.
메쉬 네트워크에서 노드들을 참가시키는 것과 일반적으로 관련된 메쉬 네트워크 커미셔닝이 설명된다. 일부 실시예들에서, 참가자 라우터는 참가 디바이스로부터 비콘 요청을 수신할 수 있고, 그 다음 참가자 라우터로부터 참가 디바이스로 비콘을 송신하며, 여기서 비콘은 메쉬 네트워크가 참가를 위해 이용가능하다는 표시를 제공한다. 송신된 비콘은 또한 참가 디바이스가 참가 디바이스와 참가자 라우터 사이의 로컬 링크를 설정하는 것을 가능하게 한다. 참가자 라우터는 메쉬 네트워크에 참가할 것을 요청하는, 참가 디바이스로부터의 DTLS-ClientHello 메시지를 DTLS 중계 수신 통보 메시지로 중계하며, 이는 메쉬 네트워크의 커미셔닝 디바이스에 송신된다. 참가자 라우터는 DTLS 중계 송신 통보 메시지를 커미셔닝 디바이스로부터 수신하고, DTLS 중계 송신 통보 메시지의 콘텐츠를 참가 디바이스에 송신하며, 콘텐츠는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하고, 커미셔닝 디바이스와 참가 디바이스 사이에 보안 통신 세션을 설정하는데 효과적이다. 참가자 라우터는 메쉬 네트워크에 대한 네트워크 크리덴셜들을 수신하도록 참가 디바이스가 위임되어야 한다는 표시를 커미셔닝 디바이스로부터 수신하고, 커미셔닝 디바이스와 상기 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK; Key Encryption Key)를 수신한다. 그 다음, 참가자 라우터는 네트워크 크리덴셜들을 안전하게 통신하기 위해, MAC(Media Access Control) 계층에서 메시지를 암호화 및 인증하기 위해 KEK를 사용하여 참가자 라우터로부터 참가 디바이스로, 네트워크 크리덴셜들 및 다른 필수 네트워크 파라미터들을 송신한다. 보안 통신 세션은 참가 디바이스의 프로비저닝을 수행할 수 없다.
커미셔닝 세션을 설정하는 것에 일반적으로 관련되는 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 경계 라우터는 메쉬 네트워크에 디바이스들을 참가시키기 위한 커미셔너가 되기 위한 신청을 커미셔닝 디바이스로부터 수신한다. 경계 라우터는 커미셔닝 디바이스들에게 메쉬 네트워크의 가용성을 통지한다. 통지를 수신하는 것에 대한 응답으로, 커미셔너는 커미셔닝 디바이스가 통지를 수신한 것에 대한 응답으로 신청을 전송한다. 경계 라우터는 메쉬 네트워크의 리더 디바이스(leader device)에 수신된 신청을 송신하고, 리더 디바이스로부터 신청에 대한 응답을 수신할 수 있는데, 그 응답은 신청의 수락 또는 거절을 표시한다. 경계 라우터는 신청의 수락 또는 거절의 표시를 커미셔닝 디바이스에 송신한다. 리더 디바이스에 의한 신청의 수락은 메쉬 네트워크에 대한 커미셔너가 되도록 커미셔닝 디바이스를 허가하고, 보안 커미셔닝 세션이 설정된다. 신청의 수락은 또한 리더 디바이스로 하여금 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태를 업데이트하고, 메쉬 네트워크에 걸쳐 참가를 가능하게 하고, 메쉬 네트워크에 참가하도록 허용되는 디바이스들의 세트를 통신하며, 메쉬 네트워크 내에서 커미셔닝 데이터세트를 전파하게 할 수 있다.
메쉬 네트워크 커미셔닝의 다른 양상들에서, 경계 라우터는 또한, 강화된(예컨대, 암호적으로 해싱된) 커미셔닝 크리덴셜을 경계 라우터에 제공하는 것을 비롯해서, 보안 커미셔닝 통신 세션을 설정하기 위해 커미셔닝 디바이스의 아이덴티티를 등록할 수 있는데, 그 강화된 커미셔닝 크리덴셜은 사용자에 의해서 커미셔닝 디바이스에 입력되어진 커미셔닝 크리덴셜 패스프레이즈로부터 유도되었다. 경계 라우터는 메쉬 네트워크에 커미셔닝 디바이스를 인증하기 위해 사용가능한 암호화된 커미셔닝 크리덴셜의 복사본을 포함하는데, 그 암호화된 커미셔닝 크리덴셜의 복사본은 커미셔닝 크리덴셜로부터 미리 유도되었다. 커미셔닝 크리덴셜은 암호화된 커미셔닝 크리덴셜의 복사본을 유도한 메쉬 네트워크의 리더 디바이스로 주입되었고, 리더 디바이스는 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터에 보안적으로 통신하였다.
커미셔닝 세션을 설정하는 것에 일반적으로 관련된 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 메쉬 네트워크의 리더 디바이스는 참가 디바이스들을 그 메쉬 네트워크에 참가하도록 커미셔닝하기 위한 커미셔너로서 커미셔닝 디바이스를 수락하라는 신청을 수신한다. 리더 디바이스는 수신된 신청을 수락할지 또는 거절할지의 여부를 결정하고, 수신된 신청이 수락될지 또는 거절될지의 여부의 표시를 통해 커미셔닝 디바이스에 응답을 송신할 수 있다. 커미셔닝 디바이스로부터 수신된 신청을 수락할지 또는 거절할지의 여부에 관한 결정은 메쉬 네트워크에 대한 단일 액티브 커미셔너가 존재함을 보장하는 것을 포함할 수 있다. 수신된 신청이 수락되었다는 결정에 대한 응답으로, 리더 디바이스는 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태를 업데이트할 수 있다.
메쉬 네트워크 커미셔닝의 다른 양상들에서, 리더 디바이스는 메쉬 네트워크에 대한 참가 모드를 개시하라는 명령을 커미셔닝 디바이스로부터 수신하고, 메쉬 네트워크 내에서 커미셔닝 데이터세트를 전파할 수 있다. 강화된 커미셔닝 크리덴셜이 리더 디바이스의 커미셔닝 동안 리더 디바이스로 주입되었던 커미셔닝 크리덴셜로부터 유도될 수 있다. 리더 디바이스는 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터에 전송하여, 경계 라우터로 하여금 메쉬 네트워크에 대해서 커미셔닝 디바이스를 인증할 수 있게 할 수 있다.
다수의 커미셔닝 세션들에 일반적으로 관련되는 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 커미셔닝 디바이스는 메쉬 네트워크에 하나 이상의 참가 디바이스들을 참가시키기 위한 네트워크 통신 세션들을 보안적으로 설정하기 위해서 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에 보안 커미셔닝 통신 세션을 설정한다. 보안 커미셔닝 통신 세션은 메쉬 네트워크에 대한 액티브 커미셔너로서 커미셔닝 디바이스의 수락을 요청하기 위해 메쉬 네트워크의 리더 디바이스에 신청을 전송하고 그 리더 디바이스로부터 그 신청에 대한 수락의 표시를 수신하기 위해서 커미셔닝 디바이스에 의해 사용된다. 커미셔닝 디바이스는 메쉬 네트워크에 대한 참가를 활성화하고, 메쉬 네트워크에 참가하기 위한 요청을 참가 디바이스로부터 수신할 수 있다. 메쉬 네트워크에 대한 참가를 활성화하기 위해서, 커미셔닝 디바이스는 참가 모드를 개시할 수 있는데, 그 참가 모드는 메쉬 네트워크의 라우터들로 하여금 메쉬 네트워크가 참가 요청들을 수락함을 통지하게 한다.
메쉬 네트워크 커미셔닝의 다른 양상들에서, 커미셔닝 디바이스는 또한 메쉬 네트워크를 참가 가능하게 만들기 위해 관리 메시지를 리더 디바이스에 전송할 수 있고, 그 관리 메시지는 리더 디바이스로 하여금 메쉬 네트워크에 대한 네트워크 데이터를 업데이트하게 할 수 있다. 그 관리 메시지는 메쉬 네트워크에 참가하도록 허용되는 참가 디바이스들을 표시하는 스티어링 데이터를 포함할 수 있다. 이어서, 네트워크 데이터는 메쉬 네트워크의 라우터 디바이스들에 전파되는데, 그 네트워크 데이터는 메쉬 네트워크가 참가를 위해 이용가능하다는 표시를 포함한다. 참가 디바이스는 커미셔닝 디바이스와의 보안 참가자(joiner) 통신 세션을 설정한다. 커미셔닝 디바이스는 참가 디바이스에 대한 PSKd(Pre-Shared Key for the Device)를 사용하여 그 참가 디바이스를 인증하고, 그 참가 디바이스를 메쉬 네트워크에 참가시킨다. 보안 참가자 통신 세션은, 참가 디바이스로부터 수신된 암호화된 디바이스 식별자가 커미셔닝 디바이스로의 입력으로서 사용자로부터 수신되는 디바이스 식별자의 복사본로부터 커미셔닝 디바이스에 의해 유도된 암호화된 디바이스 식별자에 매칭한다고 결정하고 또한 참가자 통신 세션을 보안화하기 위해 공유 시그리트로서 그 암호화된 디바이스 식별자를 사용하는 커미셔닝 디바이스에 의해 설정될 수 있다.
메쉬 네트워크에 참가하기 위한 참가 디바이스로부터의 요청이 참가자 라우터를 통해 수신될 수 있고, 커미셔닝 디바이스는, 커미셔닝 디바이스와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK:Key Encryption Key) 및 참가 디바이스가 메쉬 네트워크에 대한 네트워크 크리덴셜을 수신하도록 위임되어야 한다는 표시를 참가자 라우터에 송신한다. 참가자 라우터를 통한 참가 디바이스로의 송신은, 참가 디바이스를 메쉬 네트워크에 커미셔닝하기 위해, 참가자 라우터가 수신된 KEK를 사용하여 네트워크 크리덴셜들을 참가 디바이스에 안전하게 송신하는 것을 가능하게 하는데 효과적이다. 참가 디바이스로부터 수신되는 요청은 참가 디바이스의 암호화된 디바이스 식별자를 포함할 수 있고, 여기서 암호화된 디바이스 식별자는 J-PAKE(Password Authentication Key Exchange by Juggling)를 사용하여 참가 디바이스의 디바이스 식별자로부터 유추된다.
일반적으로 참가 디바이스를 프로비저닝하는 것과 관련된 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 커미셔닝 디바이스는 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에 커미셔닝 통신 세션을 설정할 수 있고 그리고 또한 참가 디바이스와 커미셔닝 디바이스 사이에 참가자 통신 세션을 설정할 있다. 이후, 커미셔닝 디바이스는 커미셔닝 정보를 참가 디바이스에 전송할 수 있으며, 여기서 커미셔닝 정보는 메쉬 네트워크에 참가하기 위해 참가 디바이스에 의해 이용될 수 있다. 커미셔닝 디바이스는 참가 디바이스로부터 커미셔너 애플리케이션의 로케이션의 표시를 수신하고, 수신된 표시를 활용하여 커미셔너 애플리케이션을 리트리브하고, 그리고 참가 디바이스를 프로비저닝하기 위하여 커미셔너 애플리케이션을 실행한다.
일반적으로 헌팅(hunting) 및 스티어링에 관련된 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 메쉬 네트워크의 커미셔닝 디바이스는 메쉬 네트워크에 대한 스티어링 데이터를 결정할 수 있고, 여기서 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시이다. 이후, 커미셔닝 디바이스는 메쉬 네트워크에 대한 커미셔닝 디바이스로부터의 스티어링 데이터를 메쉬 네트워크의 하나 이상의 라우터들에 전파할 수 있고, 스티어링 데이터는 커미셔너가 메쉬 네트워크상에서 활성임을 표시한다. 스티어링 데이터를 전파하는 커미셔닝 디바이스는 하나 이상의 라우터들이 비콘 메시지에서 스티어링 데이터를 송신하는 것을 가능하게 하며, 스티어링 데이터는, 디바이스 식별자와 연관된 디바이스가, 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 식별하는 것을 가능하게 하는데 효과적이다. 구현들에서, 스티어링 데이터는 EUI-64(IEEE 64-bit Extended Unique Identifier)인 디바이스 식별자의 CRC16(16-bit Cyclic Redundancy Check)이다. 커미셔닝 디바이스는 메쉬 네트워크에 참가하도록 허용되는 추가의 디바이스들과 연관된 추가의 디바이스 식별자들에 대한 스티어링 데이터를 결정함으로써 메쉬 네트워크에 대한 스티어링 데이터를 결정할 수 있다. 스티어링 데이터를 전파하는 커미셔닝 디바이스는, 디바이스가 다른 네트워크들(여기서, 다른 네트워크들은 IEEE 802.15.4 네트워크들임)로부터 메쉬 네트워크를 구분하는 것을 가능하게 하는데 효과적이다.
일반적으로 헌팅 및 스티어링에 관련된 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 메쉬 네트워크의 커미셔닝 디바이스는 메쉬 네트워크에 대한 스티어링 데이터를 결정할 수 있으며, 여기서 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함하며, 이 표시는 블룸 필터(Bloom filter)에 한 세트의 값들(디바이스 식별자를 표현함)로서 표현된다. 이후, 커미셔닝 디바이스는 메쉬 네트워크에 대한 커미셔닝 디바이스로부터의 스티어링 데이터를 메쉬 네트워크의 하나 이상의 라우터들로 전파할 수 있다. 스티어링 데이터를 전파하는 것은, 라우터들이 비콘 메시지에서 스티어링 데이터를 송신하는 것을 가능하게 하며, 여기서 스티어링 데이터는, 디바이스 식별자와 연관된 디바이스가, 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 식별하기 위해, 블룸 필터에서의 세트의 값들을 디바이스에서 결정된 제 2 세트의 값들에 비교하는 것을 가능하게 한다.
메쉬 네트워크 커미셔닝의 다른 양상들에서, 커미셔닝 디바이스는, 제 1 해시 값을 생성하기 위해 디바이스 식별자에 제 1 해시 함수를 적용하고, 그리고 제 2 해시 값을 생성하기 위해 디바이스 식별자에 제 2 해시 함수를 적용함으로써 스티어링 데이터를 결정한다. 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)일 수 있으며, 여기서 디바이스 식별자는 EUI-64의 최하위 24 비트들이다. 구현들에서, 제 1 및 제 2 해시 함수들은 CRC(Cyclic Redundancy Checks)이며, 제 1 해시 함수는 CRC16-CCITT이고, 제 2 해시 함수는 CRC16-ANSI이다. 이후, 커미셔닝 디바이스는 블룸 필터에서 제 1 비트 필드 로케이션을 결정하기 위해 제 1 해시 값에 대한 모듈러 연산을 수행하고, 블룸 필터에서 제 2 비트 필드 로케이션을 결정하기 위해 제 2 해시 값에 대한 모듈러 연산을 수행한다. 모듈러 연산에 대한 약수(divisor)는 블룸 필터의 비트 어레이의 길이일 수 있다. 커미셔닝 디바이스는 블룸 필터의 제 1 비트 필드 로케이션의 값을 1로 설정하고, 블룸 필터의 제 2 비트 필터 로케이션의 값을 1로 설정할 수 있다. 커미셔닝 디바이스는 스티어링 데이터의 비트 필드 값들 전부를 1의 값으로 설정하여 메쉬 네트워크가 임의의 디바이스에 대해 참가 가능함을 표시할 수 있다. 대안적으로, 커미셔닝 디바이스는 스티어링 데이터의 비트 필드 값들을 0(zero)의 값으로 설정할 수 있으며, 이는 메쉬 네트워크에 대한 참가를 디스에이블한다.
일반적으로 메쉬 네트워크에서 노드들을 파티셔닝하는 것과 관련된 메쉬 네트워크 커미셔닝이 설명된다. 실시예들에서, 메쉬 네트워크의 노드 디바이스는, 커미셔닝 데이터세트를 수신하고, 수신된 커미셔닝 데이터세트의 타임스탬프를, 노드에 저장된 커미셔닝 데이터세트의 저장된 타임스탬프와 비교한다. 노드 디바이스는, 비교로부터, 저장된 타임스탬프가 수신된 타임스탬프보다 더 최근의 것이라고 결정할 수 있고, 응답으로, 메쉬 네트워크의 리더 디바이스에 메시지를 송신할 수 있고, 여기서 메시지는 저장된 커미셔닝 데이터세트를 포함한다. 리더 디바이스는, 저장된 커미셔닝 데이터세트를, 메쉬 네트워크에 대한 가장 최근의 커미셔닝 데이터세트로서 수락하고, 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 전파한다. 대안적으로, 노드 디바이스는, 수신된 타임스탬프가 저장된 타임스탬프보다 더 최근의 것이라고 결정할 수 있고, 결정에 대한 응답으로, 저장된 커미셔닝 데이터세트를, 수신된 커미셔닝 데이터세트에 매칭하도록 업데이트할 수 있다.
메쉬 네트워크 커미셔닝의 다른 양상들에서, 수신된 커미셔닝 데이터세트는 수신된 타임스탬프, 커미셔닝 크리덴셜, 메쉬 네트워크의 네트워크 명칭, 및 메쉬 네트워크에서 어떤 보안-관련 동작들이 허용되는지를 표시하는 보안 정책을 포함한다. 수신된 타임스탬프는, 시간 값, 및 그 시간 값이 UTC(Coordinated Universal Time)에 대해 추적가능하다는 표시를 포함한다. 구현들에서, 노드 디바이스 및 리더 디바이스는 메쉬 네트워크에 이전에 커미셔닝되었고, 이전 커미셔닝은 노드 디바이스 및 리더 디바이스에 동일한 커미셔닝 데이터세트들을 저장하였다. 노드 디바이스에 저장된 커미셔닝 데이터세트는, 메쉬 네트워크를 통한 노드 디바이스와 리더 디바이스 사이의 통신을 중지시키는 메쉬 네트워크의 스플릿 이후 업데이트될 수 있다. 스플릿은 메쉬 네트워크를 분리시키고, 메쉬 네트워크의 제 1 파티션은 리더 디바이스를 포함하고, 메쉬 네트워크의 제 2 파티션은 노드 디바이스를 포함한다. 노드 디바이스는, 메쉬 네트워크의 제 1 파티션 및 제 2 파티션의 병합 이후 커미셔닝 데이터세트를 수신할 수 있고, 여기서 병합은, 메쉬 네트워크를 통한 노드 디바이스와 리더 디바이스 사이의 통신 경로를 재설정한다.
메쉬 네트워크 커미셔닝의 실시예들이 하기 도면들을 참조하여 설명된다. 동일한 특징들 및 컴포넌트들을 참조하기 위해 도면들 전반에 걸쳐 동일한 부호들이 사용된다.
도 1은, 메쉬 네트워크 커미셔닝의 다양한 실시예들이 구현될 수 있는 예시적인 메쉬 네트워크 시스템을 예시한다.
도 2는, 메쉬 네트워크 커미셔닝의 다양한 실시예들이 구현될 수 있는 예시적인 환경을 예시한다.
도 3a 내지 도 3d는, 메쉬 네트워크 커미셔닝의 실시예들에 따라 구현되는 디바이스들을 갖는 예시적인 메쉬 네트워크 환경의 단순화된 버전들을 예시한다.
도 4는, 메쉬 네트워크 커미셔닝의 실시예들에 따른 메쉬 네트워크 환경에서 디바이스들 사이의 데이터 트랜잭션들의 예를 예시한다.
도 5는, 메쉬 네트워크 커미셔닝의 실시예들에 따라 설정된 커미셔너 세션 및 설정된 참가자 세션을 갖는 커미셔닝 환경의 예를 예시한다.
도 6은, 메쉬 네트워크 커미셔닝의 실시예들에 따라 커미셔너 세션을 설정하기 위한, 메쉬 네트워크 환경에서 디바이스들 사이의 데이터 트랜잭션들의 예를 예시한다.
도 7은, 메쉬 네트워크 커미셔닝의 실시예들에 따라 참가자 세션을 설정하기 위한, 메쉬 네트워크 환경에서 디바이스들 사이의 데이터 트랜잭션들의 예를 예시한다.
도 8은, 메쉬 네트워크 커미셔닝의 실시예들에 따라 참가 디바이스들에 대한 디바이스 식별자들을 인코딩하기 위해 블룸 필터를 이용하여 생성되는 스티어링 데이터의 예를 예시한다.
도 9는, 메쉬 네트워크 커미셔닝의 실시예들에 따라 메쉬 네트워크를 파티셔닝하는 예를 예시한다.
도 10은, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 참가 노드들과 관련되는 메쉬 네트워크 커미셔닝의 예시적인 방법을 예시한다.
도 11은, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 참가 노드들과 관련되는 메쉬 네트워크 커미셔닝의 다른 예시적인 방법을 예시한다.
도 12는, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 커미셔닝 세션을 설정하는 것과 관련되는 메쉬 네트워크 커미셔닝의 예시적인 방법을 예시한다.
도 13은, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 커미셔닝 세션을 설정하는 것과 관련되는 메쉬 네트워크 커미셔닝의 다른 예시적인 방법을 예시한다.
도 14는, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 다수의 커미셔닝 세션들을 관리하는 것과 관련되는 메쉬 네트워크 커미셔닝의 예시적인 방법을 예시한다.
도 15는, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 참가 디바이스를 프로비저닝하는 것과 관련되는 메쉬 네트워크 커미셔닝의 예시적인 방법을 예시한다.
도 16은, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 헌팅 및 스티어링과 관련되는 메쉬 네트워크 커미셔닝의 예시적인 방법을 예시한다.
도 17은, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 헌팅 및 스티어링과 관련되는 메쉬 네트워크 커미셔닝의 다른 예시적인 방법을 예시한다.
도 18은, 본 명세서에서 설명된 기술들의 실시예들에 따라, 메쉬 네트워크에서 일반적으로 파티셔닝 노드들과 관련되는 메쉬 네트워크 커미셔닝의 예시적인 방법을 예시한다.
도 19는, 본 명세서에서 설명되는 기술들의 실시예들에 따라 메쉬 네트워크가 구현될 수 있는 예시적인 환경을 예시한다.
도 20은, 본 명세서에서 설명되는 기술들의 하나 이상의 실시예들에 따라 메쉬 네트워크 환경에서 구현될 수 있는 예시적인 메쉬 네트워크 디바이스를 예시한다.
도 21은, 메쉬 네트워크 커미셔닝의 실시예들을 구현할 수 있는 예시적인 디바이스를 갖는 예시적인 시스템을 예시한다.
무선 메쉬 네트워크는, 메쉬 네트워크 내의 트래픽에 대해 신뢰가능하고 풍부한 통신 경로들을 제공하는 메쉬 토폴로지에서 연결된 무선 노드들을 갖는 통신 네트워크들이다. 무선 메쉬 네트워크들은, 메쉬 네트워크 내의 디바이스들 사이에서 트래픽을 포워딩하기 위해, 다수의 라디오 링크들 또는 홉들을 이용한다. 이것은, 단일 라디오 링크에 의해 커버되는 영역보다 큰 영역들에 대한 커버리지를 제공한다.
무선 메쉬 네트워크들은, 사유 기술들 또는 표준-기반 기술들에 기초할 수 있다. 예컨대, 무선 메쉬 네트워크들은 IEEE 802.15.4 표준에 기초할 수 있고, 이는, 메쉬 네트워킹 스택의 상위 계층들의 애플리케이션들에 의한 이용을 위해 물리(PHY) 계층 및 MAC(Media Access Control) 계층 특징들 및 서비스들을 정의한다. 상위 계층 애플리케이션들은 메쉬 네트워크에 걸친 애플리케이션-레벨 보안 통신(예컨대, 암호화 및 인증)을 구현하기 위해 이러한 표준-정의된 서비스들을 이용한다.
메쉬 네트워크들에 대한 표준-기반 기술들은 보안 통신을 위한 서비스들을 제공하는 한편, 이러한 기술들은, 메쉬 네트워크들의 보안 커미셔닝에 대한 완전한 솔루션을 제공하지는 않는다. 표준-기반 솔루션들은, 디바이스들이 보안 메쉬 네트워크의 대역 외에서 커미셔닝되고, 애플리케이션 개발자에 의해 설계되도록 남아 있다고 가정할 수 있다. 예컨대, 대역 외 커미셔닝 솔루션들은, 참가 디바이스가 메쉬 네트워크에 대한 라디오 기반 연결을 행하려 시도하기 전에, 유선 연결을 통해 네트워크 크리덴셜들을 주입하는 것을 포함한다. 대안적으로, 네트워크 크리덴셜들은, 메쉬 네트워크가 형성될 때 보안되지 않은 라디오 링크를 통해 송신된다.
메쉬 네트워크를 통한 참가 디바이스의 안전한 커미셔닝은 전문화된 커미셔닝 툴들에 필요, 크리덴셜 주입을 위한 참가 디바이스에 대한 부가적인 인터페이스들, 및 안전하지 않은 통신 링크를 통한 크리덴션들을 송신하는 위험성을 제거한다. 다양한 실시예들은 메쉬 네트워크에 참가하는 디바이스들의 커미셔닝을 개선하기 위하여 메쉬 네트워크 커미셔닝 기술들을 제공한다.
인터넷에 연결된 네트워크들에서 사용된 인증 기술들은 인증 기관에 의해 발행된 인증서들을 사용하는 것에 의존할 수 있다. 인증서는 네트워크 상의 다른 디바이스의 아이덴티티를 인증하기 위하여 유효화될 수 있다. 인터넷 상의 디바이스들과 달리, 메쉬 네트워크 내 디바이스들은 커미셔닝을 위한 디바이스들을 인증하기 위하여 인터넷-연결된, 인증서-기반 인증에 액세스를 가질 수 없다. 메쉬 네트워크 커미셔닝 기술들은 설명되고 외부 인증 기관에 대한 필요 없이 커미셔닝 디바이스들 및 참가 디바이스들의 안전한 인증을 메쉬 네트워크에 제공한다.
메쉬 네트워크들에 대한 표준들은 메쉬 네트워크들 내에서 통신들을 안전하게 하기 위한 서비스들, 예컨대 네트워크 키(네트워크 마스터 키) 및 메쉬 네트워크에서 디바이스들 사이의 통신을 위한 MAC-계층 암호화 기술을 정의하는 것을 제공한다. 그러나, 메쉬 네트워크에 참가하는 디바이스에, 네트워크 키 같은 크리덴셜들의 삽입은 표준-정의 PHY 및 MAC 서비스들의 범위를 넘는다. 종종, 처음에 크리덴셜들을 참가 디바이스에 로딩하기 위한 대역외 기술들은, 참가 디바이스가 메쉬 네트워크에 연결을 시도하기 전에 사용된다. 메쉬 네트워크 커미셔닝 기술들은 설명되고 메쉬 네트워크를 통한 커미셔닝 동안 네트워크 크리덴셜들을 참가 디바이스에 안전하게 통신시킨다.
메쉬 네트워크들을 위하여 설계된 많은 디바이스들은 제한된 사용자 인터페이스 능력을 가지거나 사용자 인터페이스 능력이 없다. 메쉬 네트워크 디바이스들 상에서 제한된 사용자 인터페이스들은 사용자에게 어렵고 오류 발생이 쉬운 참가 디바이스들을 위하여 패스프레이즈(passphrase)들, 디바이스 식별자들, 및/또는 디바이스 어드레스들 같은 정보를 입력하게 한다. 메쉬 네트워크 커미셔닝 기술들은 설명되고 메쉬 네트워크에 참가 디바이스들의 커미셔닝 동안 사용자 효율성 및 데이터 입력 정확도를 증가시킨다.
메쉬 네트워킹을 사용하는 시스템들이 점점 흔하게 되기 때문에, 많은 참가 디바이스들은 메쉬 네트워크의 커미셔닝 동안 부가될 필요가 있을 수 있다. 많은 메쉬 네트워크 디바이스들의 제한된 자원들 및 사용자 인터페이스들은, 특히 다수의 참가 디바이스들이 커미셔닝되거나 리커미셔닝될 필요가 있을 때 길고 값비싼 커미셔닝을 초래한다. 메쉬 네트워크 커미셔닝 기술들은 설명되고 참가 디바이스들을 메쉬 네트워크에 커미셔닝하는 범위성(scalability)을 증가시킨다.
무선 메쉬 네트워크들은 라이센싱(license)되거나 라이센싱되지 않은(또한 라이센스-면제 또는 라이센스-없음) 라디오 스펙트럼을 사용할 수 있다. IEEE 802.15.4 같은 표준들은 다수의 메쉬 네트워크들이 라이센싱되지 않은 스펙트럼의 대역 내에서 동작하게 하는 채널 주파수들, 채널 대역폭들, 데이터 레이트들, 변조, 액세스 기술들 등 같은 라이센싱되지 않은 라디오 스펙트럼의 사용량을 정의한다. 메쉬 네트워크 커미셔닝 기술들은 설명되고 다수의 메쉬 네트워크들이 동일한 라디오 스펙트럼 및/또는 근본적 산업-표준 네트워킹 프로토콜들을 공유하는 환경에서 참가 디바이스를 올바른 메쉬 네트워크에 안전하게 참가시킨다.
커미셔닝 동안 참가 디바이스에 네트워크 크리덴션들의 삽입에 더하여, 부가적인 프로비저닝(provisioning)은 메쉬 네트워크에 사용하기 위한 참가 디바이스를 업데이트하거나 구성하기 위하여 참가 디바이스를 위하여 요구될 수 있다. 이런 프로비저닝은 정보의 안전한 통신, 예컨대 클라우드 디바이스의 사용자 계정에 참가 디바이스를 링킹, 등을 요구할 수 있다. 메쉬 네트워크 커미셔닝 기술들은 커미셔닝 동안 참가 디바이스를 안전하게 프로비저닝하기 위하여 설명된다.
메쉬 네트워크 커미셔닝을 위해 설명된 시스템들 및 방법들의 피처들 및 개념들이 임의의 수의 상이한 환경들, 시스템들, 디바이스들, 및/또는 다양한 구성들로 구현될 수 있지만, 메쉬 네트워크 커미셔닝의 실시예들은 다음 예시적 디바이스들, 시스템들, 및 구성들의 맥락에서 설명된다.
도 1은, 메쉬 네트워크 커미셔닝의 다양한 실시예들이 구현될 수 있는 예시적 메쉬 네트워크 시스템(100)을 예시한다. 메쉬 네트워크(100)는 라우터들(102), 라우터-적격 엔드 디바이스(104), 및 엔드 디바이스들(106)을 포함하는 무선 메쉬 네트워크이다. 라우터들(102), 라우터-적격 엔드 디바이스(104), 및 엔드 디바이스들(106)은 각각 메쉬 네트워크를 통한 통신을 위한 메쉬 네트워크 인터페이스를 포함한다. 라우터들(102)은 메쉬 네트워크 인터페이스를 통하여 패킷 데이터를 수신 및 송신한다. 라우터들(102)은 또한 메쉬 네트워크(100)를 가로질러 트래픽을 라우팅한다. 라우터들(102) 및 라우터-적격 엔드 디바이스들(104)은 하기 논의된 바와 같이, 메쉬 네트워크(100) 내에서 커미셔닝을 위한 다양한 역할들, 및 역할들의 결합들을 맡는다.
라우터-적격 엔드 디바이스들(104)은 메쉬 네트워크 토폴로지의 리프(leaf) 노드들에 위치되고 트래픽을 메쉬 네트워크(100)의 다른 노드들에 능동적으로 라우팅하지 않는다. 라우터-적격 디바이스(104)는, 라우터-적격 디바이스(104)가 부가적인 디바이스들에 연결될 때 라우터(102)가 될 수 있다. 엔드 디바이스들(106)은 메쉬 네트워크(100)를 사용하여 통신할 수 있지만, 메쉬 네트워크(100)에서 트래픽을 라우팅하기 위하여, 자신의 페어런트(parent) 라우터(102)에 간단히 포워딩하는 것을 넘어서는 능력이 부족한 디바이스들이다. 예컨대, 배터리-전력 공급 센서는 엔드 디바이스(106)의 하나의 타입이다.
라우터들(102), 라우터-적격 엔드 디바이스(104), 및 엔드 디바이스들(106)은 다수의 메쉬 네트워크(100)의 멤버인 것으로 이들 디바이스들의 아이덴티티를 인증하기 위하여 사용된 네트워크 크리덴션들을 포함한다. 라우터들(102), 라우터-적격 엔드 디바이스(104), 및 엔드 디바이스들(106)은 또한 메쉬 네트워크에서 통신들을 암호화하기 위하여 네트워크 크리덴션들을 사용한다.
도 2는, 메쉬 네트워킹 커미셔닝 기술들의 다양한 실시예들이구현될 수 있는 예시적 환경(200)을 예시한다. 환경(200)은 메쉬 네트워크(100)를 포함하고, 여기서 일부 라우터들(102)은 메쉬 네트워크(100)에서 특정 역할들을 수행한다. 파선에 의해 예시된 바와 같은, 메쉬 네트워크(100) 내의 디바이스들은 네트워크 크리덴션들을 사용하여 메쉬 네트워크(100)를 통해 안전하게 통신한다. 메쉬 네트워크(100) 외측에 도시된 디바이스들은 메쉬 네트워크(100)에 대한 네트워크 크리덴션들의 복사본을 가지지 않고 안전하게 통신하기 위하여 메쉬 네트워크 계층 보안을 사용할 수 없다.
경계 라우터(202)(또한 게이트웨이 및/또는 에지 라우터로서 알려짐)는 라우터들(102) 중 하나이다. 경계 라우터(202)는 메쉬 네트워크(100) 외측 외부 네트워크와 통신을 위한 제 2 인터페이스를 포함한다. 경계 라우터(202)는 외부 네트워크를 통하여 액세스 포인트(204)에 연결된다. 예컨대, 액세스 포인트(204)는 이더넷 라우터, Wi-Fi 액세스 포인트, 또는 상이한 타입들의 네트워크들을 브리징(bridging)하기 위한 임의의 다른 적당한 디바이스일 수 있다. 액세스 포인트(204)는 인터넷 같은 통신 네트워크(206)에 연결된다. 통신 네트워크(206)를 통하여 연결된 클라우드 서비스(208)는 메쉬 네트워크(100) 내의 디바이스들에 관련되고 및/또는 상기 디바이스들을 사용하여 서비스들을 제공한다. 예로써, 그리고 제한 없이, 클라우드 서비스(208)는 takxm 폰들, 태블릿들 등 같은 엔드 사용자 디바이스들을 메쉬 네트워크(100)의 디바이스들에 연결하고, 메쉬 네트워크(100)에서 요구된 데이터를 프로세싱하고 엔드 사용자들에게 제시하고, 하나 이상의 메쉬 네트워크들(100)의 디바이스들을 클라우드 서비스(208)의 사용자 계정들에 링킹하고, 메쉬 네트워크(100)의 디바이스들을 프로비저닝 및 업데이팅, 등을 포함하는 애플리케이션들을 제공한다.
메쉬 네트워크(100)에 참가하기 위해 새로운 디바이스를 커미셔닝할 것을 선택하는 사용자는, 새로운 디바이스를 커미셔닝하기 위해 커미셔닝 디바이스(210)를 이용할 수 있으며, 커미셔닝 디바이스(210)는 액세스 포인트(204)의 외부 네트워크 기술을 통해 경계 라우터(202)에 연결된다. 커미셔닝 디바이스(210)는 임의의 컴퓨팅 디바이스, 예컨대, 메쉬 네트워크(100)에 디바이스들을 참가시키는 커미셔너의 역할로 동작하기 위한 통신 성능들 및 적절한 사용자 인터페이스를 갖는, 스마트 폰, 태블릿, 노트북 컴퓨터 등일 수 있다. 하기에서 상세히 설명되는 바와 같이, 메쉬 네트워크(100)에 대한 커미셔너가 되기 위하여, 커미셔닝 디바이스(210)는 커미셔너가 될 것을 신청한다.
참가 디바이스(212)는, 사용자가 메쉬 네트워크(100)에 참가하기 위해 선택하는, 임의의 라우터-적격 엔드 디바이스(104) 또는 엔드 디바이스(106)이다. 커미셔닝하기 전에는, 참가 디바이스(212)는 메쉬 네트워크(100)에 대한 네트워크 크리덴셜들을 수신하지 않으며, 메쉬 네트워크(100)에 대해 인증될 수 없거나 또는 메쉬 네트워크(100)를 통해 안전하게 통신할 수 없다. 하기에서 상세히 설명되는 바와 같이, 커미셔닝 동안, 참가 디바이스(212)는 참가자(또는 참가 디바이스)의 역할을 수행한다.
메쉬 네크워크(100)에 참가하기 위해 참가 디바이스(212)를 커미셔닝하는 동안, 라우터들(102) 중 하나가 참가자 라우터(214)의 역할을 수행한다. 참가자 라우터(214)의 역할은, 참가 디바이스(212)의 하나의 라디오 링크 내에 있는 임의의 라우터(102)에 의해 수행될 수 있다. 하기에서 상세히 설명되는 바와 같이, 참가자 라우터(214)는 참가자 세션을 위해 참가 디바이스(212)에 로컬-전용 라디오 링크를 제공한다.
라우터들(102) 중 하나는 메쉬 네트워크(100)에 대한 리더(216)의 역할을 수행한다. 리더(216)는 라우터 식별자 할당을 관리하며, 그리고 리더(216)는 메쉬 네트워크(100)에 대한 네트워크 구성 정보의 중앙 조정자이다. 리더(216)는 또한, 임의의 주어진 시간에, 어떤 커미셔닝 디바이스(210)가 메쉬 네트워크(100)에 대한 유일한 액티브 커미셔너로서 수락되는 지를 제어한다.
도 2에 도시된 바와 같은 환경(200)은, 상기 설명된 다양한 역할들 중에서 단일의 역할 만을 수행하는 디바이스들을 도시한다. 하기에서 도시되고 설명되는 도 3a-3d는, 메쉬 네트워크 커미셔닝 기법들에 대한 커미셔닝 역할들의 다른 분배들을, 제한이 아닌 예로서 예시한다.
도 3a는 예시적인 환경(200)의 단순화된 버전(300)을 예시하는 바, 여기에서는 명확성을 위하여 커미셔닝-특정의 역할들을 갖는 그러한 디바이스들 만이 도시된다. 이러한 예에서, 도 3a의 각각의 디바이스는 메쉬 네트워크 커미셔닝의 실시예들에서 단일의 커미셔닝 역할을 수행하고 있다. 도 3a는 또한, 커미셔닝 프로세스 동안 이용되는 통신 링크들을 예시한다. 메쉬 네트워크(100)에 참가되어 있는 디바이스들 간에는 보안 메쉬 통신 링크들(302)이 사용된다. 메쉬 네트워크(100)에 참가 디바이스(212)를 커미셔닝하기 위해 참가자 라우터(214)에 참가 디바이스(212)를 연결하기 위하여, 보안되지 않은 로컬-전용 라디오 링크(304)가 설정된다. 외부 네트워크(306)는 도시된 바와 같은 통신 링크들, 예컨대, 외부 네트워크를 통한 경계 라우터(202)와 커미셔닝 디바이스(210) 간의 포인트-투-포인트 링크(308)를 갖는다.
도 3b는 또한, 예시적인 환경(200)의 단순화된 버전(320)을 예시하며, 그리고 참가자 라우터(214)의 역할을 부가적으로 수행하는 경계 라우터(202)인 경계/참가자 라우터(322)를 도시한다. 도 3c는 또한, 예시적인 환경(200)의 단순화된 버전(340)을 예시하며, 그리고 커미셔닝 디바이스(210)의 역할을 부가적으로 수행하는 경계 라우터(202)인 커미셔너/경계 라우터(342)를 도시한다. 이러한 예에서, 커미셔너/경계 라우터(342)는 메쉬 네트워크 인터페이스를 포함한다. 커미셔너/경계 라우터(342)가 네시 네트워크(100)에 연결된다는 점에서, 이러한 커미셔너/경계 라우터(342)는 온-메쉬 커미셔너로서 또한 지칭될 수 있다.
도 3d는 예시적인 환경(200)의 단순화된 버전(360)을 또한 예시하며, 그리고 참가자 라우터(214) 및 커미셔닝 디바이스(210)의 역할을 부가적으로 수행하는 경계 라우터(202)인 커미셔너/경계 라우터/참가자 라우터(362)를 도시한다. 도 3a-3d는, 임의의 라우터-적격 엔드 디바이스(104)가 (참가 디바이스(212)의 역할을 제외한) 다수의 역할들을 수행할 수 있는, 메쉬 네트워크 커미셔닝 역할들의 가능한 조합들의 샘플을 예시한다.
도 4는 다양한 메쉬 네트워크 커미셔닝 역할들을 수행하고 있는, 메쉬 네트워크(100) 내의 디바이스들 간의 트랜잭션들을 도시함으로써 커미셔닝 프로세스(400)를 예시한다. 커미셔닝 프로세스(400)는, 커미셔닝 디바이스(210), 예컨대, 모바일 폰이 경계 라우터(202)로부터의 통지(402)로부터 메쉬 네트워크(100)가 커미셔너들에 대해 이용가능하다는 것을 발견할 때에 시작된다. 이후, 커미셔닝 디바이스(210)는 PSKc(Pre-Shared Key for the Commissioner)를 이용하여 경계 라우터(202)와 보안 소켓 연결을 설정한다. 이러한 보안 연결은 커미셔닝 세션(404)을 설정한다. 한번에 단지 하나의 액티브 커미셔너 만이 있을 수 있으며, 따라서, 커미셔닝 디바이스(210)는, 경계 라우터(202)에 신청(406)을 전송(이는 차례로, 경계 라우터(202)에 의해 리더(216)에 신청(408)으로서 포워드된다)함으로써, 메쉬 네트워크(100)에 대한 액티브 커미셔닝 디바이스(210)가 되기 위해 리더(216)에게 신청한다.
리더(216)가 커미셔닝 디바이스(210)를 액티브 커미셔너로서 수락하는 경우, 리더는 경계 라우터(202)에 신청 응답(410)을 전송하며, 경계 라우터(202)는 차례로, 신청 응답(412)을 커미셔닝 디바이스에 포워드한다. 리더(216)는 또한, 메쉬 네트워크(100) 상의 디바이스들에게, 업데이트된 네트워크 데이터(414)를 메쉬 네트워크(100)를 통해 전파함으로써 액티브 커미셔너가 존재함을 표시한다.
커미셔너로서 액티브하게 되면, 커미셔닝 디바이스(210)는 메쉬 네트워크(100)에 대한 참가를 가능하게 한다. 선택적으로, 커미셔닝 디바이스(210)는, 메쉬 네트워크(100)에 참가할 것으로 예상되는 참가 디바이스들(212)의 디바이스 식별자들을 표시하는 스티어링 데이터를 제공한다. 커미셔닝 디바이스(210)는 또한, 예컨대 네트워크 네임 및 보안 구성과 같은 네트워크 파라미터들을 질의 및 세트시킬 수 있다.
참가 디바이스(212)는 참가자 세션을 설정하기 위한 요청(416)을 참가자 라우터(214)에 전송하며, 참가자 라우터(214)는 이후, 참가 디바이스(212)로부터의 요청(418)을 경계 라우터(202)에 중계한다. 요청 중계(418)는, 참가자 라우터(214)와 경계 라우터(202) 사이에서, 메쉬 네트워크 내의 임의의 개수의 라우터들(102)에 의해 포워드될 수 있음을 주목해야 한다. 경계 라우터(202)는 참가자 세션을 설정하기 위한 요청(420)을 커미셔닝 디바이스(210)에 포워드한다. 커미셔닝 디바이스(210)는 참가자 세션에 대한 요청에 대한 응답(422)을 경계 라우터(202)에 전송하며, 경계 라우터(202)는 차례로, 응답(424)을 참가자 라우터(214)에 중계한다. 참가자 라우터(214)는 426에서 참가자 세션의 설정을 끝낸다. 도 4에서의 참가자 세션의 설정은 명확성을 위해 단순화된 방식으로 도시되며; 부가적인 중계된 DTLS 메시지들이 참가자 세션을 설정하기 위해 DTLS 핸드쉐이크의 일부로서 교환될 수 있다.
416 내지 426 에서 도시된 바와 같이, 참가 디바이스(212) 및 커미셔닝 디바이스(210)는, 참가 디바이스(212)에 대한 PSKd(Pre-Shared Key for the Device)를 이용하여 TLS(Transport Layer Security) 또는 DTLS(Datagram Transport Layer Security)를 이용하여, 핸드쉐이크를 수행한다. 하기에서 상세히 설명되는 바와 같이, 핸드쉐이크는 메쉬 네트워크(100)를 통한 중계를 통해 수행된다. 커미셔닝 디바이스(210)는, 예컨대 QR 코드 또는 바 코드를 스캐닝함으로써, 전형적으로 커미셔닝 디바이스(210)의 사용자 인터페이스를 통해 입력되는, 메쉬 네트워크(100)의 대역 외에서 수신되는 참가 디바이스 크리덴셜로부터 PSKd를 도출한다. 일단 핸드쉐이크가 완료되면, PSKd로부터 생성되는 공유 시크릿을 이용하여, 참가자 세션을 설정하고, 메쉬 네크워크(100)에 대한 네트워크 크리덴셜들을 참가자 라우터(214)로부터 참가 디바이스(212)에 전달한다. 선택적으로, 메쉬 네트워크(100)에 대한 네트워크 크리덴셜을 전달하는 것에 부가하여, 428에 도시된 바와 같이, 커미셔너 세션 및 참가자 세션은 참가자를 프로비저닝(provisioning)하는 데에 이용될 수 있다.
도 5는 설정된 커미셔너 세션 및 설정된 참가자 세션을 갖는 커미셔닝 환경(500)을 예시한다. 커미셔너 세션(502)은 커미셔닝 디바이스(210)로부터 경계 라우터(202)로의 보안 통신 터널이다. 참가자 세션(504)은 커미셔닝 디바이스(210)로부터 참가 디바이스(212)로의 보안 통신 터널이다. 다른 메쉬 통신 링크들 및 외부 네트워크 통신 링크들은 명확성을 위해 생략되었다.
제 1 디바이스 페어링
메쉬 네트워크(100)에 디바이스들을 참가시키기 위해, 제 1 디바이스가, 메쉬 네트워크(100)에 참가하기 위한 디바이스들을 커미셔닝하기 위한 커미셔닝 크리덴셜, 및 메쉬 네트워크(100)의 보안 동작을 위한 네트워크 크리덴셜들을 설정하도록 커미셔닝될 수 있다. 커미셔닝 디바이스(210)는 임의의 라우터-적격 엔드 디바이스(104)일 수 있는 제 1 디바이스에 연결된다. 제 1 디바이스는 메쉬 네트워크(100)의 대역 외에서 커미셔닝된다. 커미셔닝 디바이스(210)에 제 1 디바이스를 연결하기 위해, 임의의 적합한 연결, 예컨대, USB, 애드 혹 Wi-Fi, 블루투스, 포인트-투-포인트 IEEE 802.15.4 등이 사용될 수 있다.
커미셔닝 디바이스(210)가 제 1 디바이스에 연결되면, 커미셔닝 디바이스는 메쉬 네트워크(100)에 대한 네트워크 명칭 및 PSKc를 제 1 디바이스에 프로그래밍한다. PSKc는 위에서 그리고 아래에서 설명되는 바와 같이, 메쉬 네트워크(100)에 대해 커미셔닝 디바이스(210)를 인증하고 커미셔닝 세션을 설정하는 데 사용된다. 네트워크 명칭은 Wi-Fi 네트워크들의 SSID(Service Set Identifier)와 비슷한 휴먼-판독가능 형태이다. 제 1 디바이스가 커미셔닝되면, 제 1 디바이스가 메쉬 네트워크(100)의 리더(216)가 된다. 제 1 디바이스는 메쉬 네트워크(100)에 대한 고유 PAN ID(Personal Area Network Identifier) 및 고유 XPANID(Extended PAN ID) 그리고 메쉬 네트워크(100)에 대한 네트워크 키를 결정하는 것을 포함하여, 메쉬 네트워크(100)를 형성한다.
커미셔닝 크리덴셜로부터 PSKc가 유도되는데, PSKc는 메쉬 네트워크(100)를 관리하는 사용자에 의해 커미셔닝 디바이스(210)에 입력되는 휴먼-스케일 암호문이다. 커미셔닝 크리덴셜은 PSKc를 유도하도록 (예컨대, 복수회 암호화 해시함으로써) 강화되며, PSKc는 리더(216) 및 커미셔닝 디바이스(210)에 의해 저장된다. 임의의 적당한 암호화 해시 기술이 PSKc를 유도하는 데 사용될 수 있다.
PSKc의 보안을 개선하기 위해, 사용자에 의해 입력된 동등한 휴먼-스케일링된 커미셔닝 크리덴셜 암호문에 비해, 유도된 PSKc에서 커미셔닝 크리덴셜의 엔트로피를 증가시키도록 암호화 기술들이 적용될 수도 있다. 키 스트레칭을 사용함으로써, 유도된 키가 물리적으로 손상될 수도 있는 임베드된 노드들 상에 안전하게 저장될 수 있으며, 사용자의 암호문은 손상되지 않을 것이다. 이는 사용자들이 흔히 다수의 웹사이트들 및 계정들에 대한 암호문들을 재사용하기 때문에 도움이 된다. 예컨대, 임의의 적당한 암호화 기술, 예컨대 암호화 해시를 복수회 적용하는 것이 키를 스트레칭하는 데 사용될 수도 있다. 예컨대, PBKDF2(Password-Based Key Derivation Function 2)가 AES-CMAC-PRF-128(Advanced Encryption Standard-Cipher-based Message Authentication Code-Pseudo-Random Function-128)을 적용하는 데 사용될 수 있다. 예컨대, PSKc는 식(1)에 도시된 바와 같이 유도될 수도 있으며:
Figure 112019048768928-pat00001
(1)
여기서 PRF는 PBKDF2에 의해 사용할 의사-랜덤 함수 타입이고, P는 커미셔닝 크리덴셜이고, S는 암호화 함수에 대한 솔트(예컨대, 네트워크 명칭과 연결된 네트워크 타입과 같은 문자열)이고, cPRF의 반복들의 수이고, dkLen은 유도된 키(PSKc)의 원하는 길이이다.
커미셔닝 세션 설정
도 6은 커미셔닝 디바이스(210), 경계 라우터(202) 그리고 리더(216) 간의 트랜잭션들을 도시함으로써 커미셔너 세션을 설정하는 프로세스(600)를 예시한다. 메쉬 네트워크(100)는 한정된 수의 액티브 커미셔닝 디바이스들(210)을 가질 수도 있지만, 커미셔너의 역할을 수행할 수 있는 다수의 잠재적 커미셔닝 디바이스들(210)이 존재할 수도 있다. 리더(216)는 메쉬 네트워크(100)에 대해 유한한 세트의 액티브 커미셔너들만이 존재함을 확인하는 데 책임이 있다. 한정이 아닌 예로서, 유한한 세트의 액티브 커미셔너들은 단일 액티브 커미셔너로 제한될 수도 있다. 액티브 커미셔너가 되기 위해, 커미셔닝 디바이스(210)는 메쉬 네트워크에 대한 커미셔너가 되도록 리더(216)에 신청한다.
602에서, 경계 라우터(202)는 외부 네트워크 인터페이스 상에서, 메쉬 네트워크(100)가 커미셔닝 디바이스들(210)에 대해 이용 가능함을 통지한다. 경계 라우터(202)는 서비스 발견 프로토콜 내의 멀티캐스트 요청(즉, 스캔 또는 조회)에 응답하여 통지를 할 수도 있다. 예컨대, 통지(602)는 임의의 적당한 서비스 발견, 예컨대 mDNS(Multicast Domain Name Service)를 사용하여 이루어질 수도 있다. 구체적으로, 무선 네트워크들의 경우, 경계 라우터들(202)은 DNS-SD(DNS Service Discovery)를 사용하여 URL(Uniform Resource Locator)을 통해 커미셔닝 서비스를 통지한다. 다음에, 룩업 서버가 액세스 가능한 서로 다른 무선 네트워크들, 메쉬 네트워크(100)의 네트워크 명칭, 및 커미셔닝 포트 모두에 응답할 것이다.
커미셔닝 디바이스(210)는 커미셔닝 디바이스(210)와 경계 라우터(202) 간의 커미셔닝 세션에 대한 보안 연결을 요청함으로써 경계 라우터(202)로부터의 통지에 응답(604)한다. 예컨대, 커미셔닝 세션은 임의의 적당한 방식으로, 예컨대 DTLS 또는 TLS를 사용하여 커미셔닝 세션을 설정하도록 PSKc를 사용하여 설정될 수 있다. 한정이 아닌 예로서, 커미셔닝 디바이스(210)와 경계 라우터(202)는 커미셔닝 디바이스를 식별하여 메쉬 네트워크(100)에 대해 인증하고 커미셔너 세션에 대한 보안 연결을 설정하도록 DTLS 메시지들(606-616)을 교환한다.
커미셔닝 세션은 임의의 적당한 네트워크 포트, 예컨대 커미셔닝 세션에 대한 소스 및 목적지 포트 둘 다로서 UDP(User Datagram Protocol) 또는 TCP(Transmission Control Protocol) 포트를 사용할 수도 있다. 예컨대, 커미셔닝 세션은 네트워크 발견 동안 발견된 커미셔닝 포트를 사용한다. 각각의 경계 라우터(202)는 커미셔닝 포트를 할당하거나 디폴트 커미셔닝 포트를 사용할 수 있다.
메쉬 네트워크(100)에 대한 액티브 커미셔너가 되기 위해, 커미셔닝 디바이스(210)는 커미셔너가 될 것을 요청하도록 리더(216)에 신청(618)한다. 커미셔닝 세션을 사용하여, 커미셔닝 디바이스(210)는 메쉬 네트워크(100)에 대한 액티브 커미셔너가 되기 위한 신청(620)을 경계 라우터(202)에 전송한다. 경계 라우터(202)는 신청(622)을 리더(216)에 포워드한다. 예컨대, 커미셔닝 디바이스(210)가 인증 및 식별된 후, 경계 라우터(202)는 커미셔너 신청 요청 메시지(620)(예컨대, COMM_PET.req)를 리더(216)에 유니캐스트한다. 커미셔너 신청 요청은 커미셔닝 디바이스(210)가 메쉬 네트워크(100)에 대한 액티브 커미셔닝 디바이스(210)로서 수락될 것을 요청하는 요청(622)으로서(예컨대, LEAD_PET.req로서) 경계 라우터(202)에 의해 리더(216)로 포워드된다. 예컨대, 커미셔너 식별 문자열을 포함하는 커미셔너 신청 요청 메시지는 메쉬 네트워크(100)를 통해 안전하게 전송된다.
리더(216)는 메쉬 네트워크(100)에 대한 액티브 커미셔너가 존재하는지 여부를 결정한다. 액티브 커미셔너가 있다면, 리더는 커미셔닝 디바이스(210)로부터의 신청을 거절한다. 메쉬 네트워크(100)에 대한 어떠한 액티브 커미셔너도 존재하지 않는다면, 리더(216)는 커미셔닝 디바이스(210)로부터의 신청을 수락한다. 리더(216)는 커미셔닝 데이터세트가 커미셔닝 디바이스(210)의 아이덴티티 및 액티브 커미셔너가 존재함을 반영한다면 그 복사본을 업데이트한다. 리더(216)는 메쉬 네트워크(100)에 대한 참가-허가 플래그를 참으로 설정한다. 다음에, 리더(216)는 네트워크 데이터 및 업데이트된 커미셔닝 데이터세트를 메쉬 네트워크(100)에 전파(624)하는데, 이는 메쉬 네트워크(100)가 참가 가능함을 표시한다.
예컨대, 리더(216)는 메쉬 네트워크(100)에 대한 액티브 커미셔너로서 커미셔닝 디바이스(210)를 수락 또는 거절함으로써 커미셔너 신청 요청 메시지에 응답할 것이다. 수락시, 리더(216)는 네트워크 데이터의 복사본을 새로운 커미셔너 정보로 업데이트하고, 대한 참가-허가 플래그를 참으로 설정하고, 업데이트된 네트워크 데이터 및 커미셔닝 데이터세트를 메쉬 네트워크(100)를 통해 임의의 적당한 프로토콜, 예컨대 MPL(Multicast Protocol for Low Power and Lossy Networks)을 사용하거나, MLE-UPDATE 메시지의 멀티캐스트를 사용하여 전파할 것이다.
잠재적 참가자 라우터(214)(즉, 라우터들(102) 및 라우터-적격 엔드 디바이스들(104))가 리더(216)에 의해 전파되는 업데이트된 네트워크 정보 및 커미셔닝 데이터세트를 저장한다. 업데이트된 네트워크 정보 및 커미셔닝 데이터세트는 임의의 참가 디바이스(212)를 커미셔닝할 때 사용할 커미셔닝 디바이스(210)와의 직접 통신을 허용한다. 커미셔닝 데이터세트는 임의의 디바이스가, 액티브 커미셔너에 대한 프록시 역할을 하고 있는 현재 액티브 경계 라우터(202)에 메시지를 전송하도록 허용하는 RLOC(border router locator)를 포함한다.
커미셔닝 디바이스(210)로부터의 신청을 수락할지 아니면 거절할지를 결정한 후, 리더(216)는 그 결정의 표시로 경계 라우터(202)에 응답(626)한다. 경계 라우터(202)는 리더(216)에 의한 신청을 수락 또는 거절할 결정의 표시를 포함하는 응답(628)을 커미셔닝 디바이스(210)에 전송한다. 예컨대, 리더(216)는 메쉬 네트워크(100)에 대한 액티브 커미셔너로서 커미셔닝 디바이스(210)를 수락 또는 거절할 리더(216)의 결정을 표시하는 리더 신청 응답 메시지(예컨대, LEAD_PET.rsp)를 경계 라우터(202)에 전송한다. 리더(216)로부터의 리더 신청 응답 메시지의 수신에 응답하여, 경계 라우터(202)는 메쉬 네트워크(100)에 대한 액티브 커미셔너로서 커미셔닝 디바이스(210)를 수락 또는 거절할 리더(216)의 결정을 표시하는 커미셔너 신청 응답 메시지(예컨대, COMM_PET.rsp)를 커미셔닝 디바이스(210)에 전송할 것이다.
대안으로 630에 도시된 바와 같이, 리더(216)는 커미셔닝 디바이스(210)가 액티브 커미셔너가 되기 위한 신청을 수락한 후, 참가-허가 플래그를 참으로 설정하지만, 리더(216)가 업데이트된 네트워크 데이터를 메쉬 네트워크(100)로 전파하도록 허용하기 위한 커미셔닝 디바이스(210)로부터의 표시를 포함하는 설정 관리 데이터 요청 메시지(632)(예컨대, MGMT_SET.req)의 수신을 대기한다. 리더(216)는 업데이트된 네트워크 데이터를 전파하기 위한 요청을 확인 응답하기 위해 설정 관리 데이터 응답 메시지(634)(예컨대, MGMT_SET.rsp)로 커미셔닝 디바이스에 응답한다. 리더(216)는 네트워크 데이터 및 업데이트된 커미셔닝 데이터세트를 메쉬 네트워크(100)에 전파(636)하는데, 이는 메쉬 네트워크(100)가 참가 가능함을 표시한다.
커미셔닝 디바이스(210)가 리더(216)가 업데이트된 네트워크 정보를 전파하도록 허용하기 위한 설정 관리 데이터 요청 메시지를 전송하기 전에, 커미셔닝 디바이스(210)는, 메쉬 네트워크(100)가 참가 가능하게 하지 않고서도, 디바이스들의 구성, 네트워크 설정들의 변경 등과 같이 메쉬 네트워크(100)를 관리할 수 있다. 커미셔닝 데이터세트는 커미셔너 세션 식별자, 커미셔닝 데이터세트 타임스탬프 및 PSKc를 포함한다. 커미셔닝 디바이스(210)가 메쉬 네트워크(100) 상에서 액티브 커미셔너일 때, 커미셔닝 데이터세트는 또한 경계 라우터(202)의 위치를 포함한다. 메쉬 네트워크(100)가 참가 가능할 때, 커미셔닝 데이터세트는 또한 어떠한 참가 디바이스들(212)이 메쉬 네트워크(100)에 참가하도록 허용되는지를 표시하는 스티어링 데이터를 포함한다. 메쉬 네트워크(100)가 참가 가능할 때, 메쉬 네트워크(100) 내의 라우터들(102)은 허가-참가 플래그 및 스티어링 데이터를 라우터들(102)에 의해 송신되는 비콘들에 포함한다.
커미셔닝 디바이스(210)는 메쉬 네트워크 인터페이스를 포함할 수 있어서, 커미셔닝 디바이스(210)가 메쉬 네트워크(100) 상에서 네이티브 커미셔너로서 동작하는 것을 가능하게 한다. 네이티브 커미셔너 비트가 비콘에서 설정되고, 커미셔닝 디바이스(210)가 메쉬 네트워크 인터페이스를 포함할 때, 커미셔닝 디바이스(210)는 메쉬 네트워크(100)에 대한 액티브 커미셔너가 되도록 리더(216)에 청원할 수 있다.
일단 액티브 커미셔너로서 수용되면, 커미셔닝 디바이스(210)는 메쉬 네트워크(100)의 네트워크 파라미터들을 획득 및 설정하기 위해 설정 관리 데이터 요청 메시지들 및 획득 관리 데이터 응답 메시지들을 사용하여 네트워크를 관리할 수 있다. 네트워크 파라미터들은 PSKc, 네트워크 명칭, 네트워크 키, 네트워크 키 시퀀스 넘버, 네트워크 PAN ID, 네트워크 확장 PAN ID, 네트워크 고유 로컬 어드레스(ULA) 및/또는 메쉬 네트워크(100)에 대한 라디오 채널을 포함한다. 부가적인 관리 능력들, 예컨대, 메쉬 네트워크(100)로부터 이전에 참가된 디바이스들을 방출하기 위한 설비들이 고려된다. 설정 관리 데이터 요청 메시지들 및 획득 관리 데이터 응답 메시지들은 커미셔닝 세션을 통해 경계 라우터(202)를 경유하여 리더(216)로 중계된다. 네트워크 파라미터 명령들을 획득 및 설정하기 위한 메시지들이 글로벌 전체 네트워크 상태에 영향을 주기 때문에, 메시지들은 리더(216)로 포워딩되어 리더(216)에 의해 저장된다. 임의의 디바이스는 네트워크 정보를 획득하기 위한 요청을 직접적으로 리더(216)로 어드레싱하고, 멀티-홉 어드레싱을 회피할 수 있다.
참가자 세션의 설정
새로운 디바이스를 메쉬 네트워크(100)에 안전하게 커미셔닝하기 위해, 커미셔닝 디바이스(210)와 참가 디바이스(212) 사이에 참가자 세션이 설정된다. 참가자 세션은 커미셔닝 디바이스(210) 및 참가 디바이스(212) 사이의 메쉬 네트워크(100)를 통한 통신 터널이다. 참가 디바이스 크리덴셜은, 참가 디바이스(212)가 메쉬 네트워크(100)에 참가할 자격이 있다는 것을 인증하는데 사용되는 인간-스케일링된 패스프레이즈이다. 참가 디바이스 크리덴셜은 임의의 적절한 대역외 메커니즘에 의해 참가 디바이스(212)와 커미셔닝 디바이스(210) 사이에서 통신된다. 예컨대, 참가 디바이스 크리덴셜은 참가 디바이스(212) 상에 위치된 QR 코드 또는 바코드를 커미셔닝 디바이스(210)에 포함된 카메라를 통해 스캐닝함으로써, 참가 디바이스(212)의 시리얼 넘버를 커미셔닝 디바이스(210)의 사용자 인터페이스에 입력함으로써 등에 의해 통신될 수 있다.
도 7은 커미셔닝 디바이스(210), 경계 라우터(202), 참가자 라우터(214) 및 참가 디바이스(212) 사이의 트랜잭션들을 도시함으로써 참가자 세션을 설정하는 프로세스(700)를 예시한다. 일부 실시예들에서, 참가자 세션을 설정하는 것은, 참가 디바이스(212)가 참가할 잠재적인 메쉬 네트워크들(100)을 찾기 위해 IEEE 802.15.4 규격에 정의된 채널들과 같은 라디오 채널들을 스캐닝하면서 시작된다. 참가 디바이스(212)는 채널 스캔 동안에 발견된 각각의 메쉬 네트워크(100)에 비콘 요청(702)을 발행하고, 모든 메쉬 네트워크들(100)은 이에 응답할 것이다.
예컨대, 참가 디바이스(212)는 모든 각각의 채널 상에서 802.15.4 MAC-BEACON.request를 송신함으로써 활성 스캔을 수행한다. 비콘 요청을 수신하는 것에 응답하여, 참가자 라우터(214)는 참가 디바이스(212)가 참가할 정확한 메쉬 네트워크(100)를 발견하는 것을 돕기 위한 스티어링 데이터를 포함하는 비콘 응답(704)을 송신한다. 참가자 라우터(214)는 802.15.4 MAC-BEACON.response의 페이로드에 스티어링 데이터를 포함하는 802.15.4 MAC-BEACON.response를 송신한다. 스티어링 데이터를 생성, 송신 및 사용하는 것의 세부사항들이 아래에 더 상세히 설명된다. 일단 참가 디바이스(212)가 참가할 메쉬 네트워크(100)를 발견하면, 참가 디바이스(212)는 참가자 라우터(214)에 대한 안전하지 않은 로컬-전용 라디오 링크, 포인트-투-포인트 통신 링크를 설정한다.
예컨대, 참가 디바이스(212)는 채널 스캔으로부터 수신된 비콘으로부터 모인 MAY-계층 네트워크 파라미터들(예컨대, 채널, PAN ID 등)을 구성함으로써 참가자 라우터(214)에 대한 로컬-전용 라디오 링크(706)를 설정한다. 참가 디바이스(212)는 로컬-전용 라디오 링크를 설정하기 위해 참가자 라우터(214)의 안전하지 않은 인터페이스(예컨대, 포트 넘버 5684 ":coaps") 상에서 패킷들을 참가자 포트(예컨대, UDP 포트)로 전송한다. 참가자 포트는 또한 비콘으로 통신된다. 참가자 포트가 분실되면, 참가 디바이스(212)에 의해 디폴트 포트가 사용된다.
참가 디바이스(212)는 메쉬 네트워크(100)에 참가하기 위한 요청을 참가자 라우터(214)로 전송한다. 메쉬 네트워크(100)에 참가하기 위한 요청의 수신 시에, 참가자 라우터(214)는 참가하기 위한 인가를 위한 요청을 커미셔닝 디바이스(210)로 전송한다. 참가자 라우터(214)는 안전하지 않은 참가자 포트 상에서 참가 디바이스(212)에 의해 전송된 모든 트래픽을 포워딩한다. 참가자 라우터(214)는, 커미셔닝 디바이스(210)에 의해 이해되는 DTLS 핸드쉐이크의 콘텐츠를 프로세싱 또는 이해하지 않는다. 일부 실시예들에서, 참가자 라우터(214)는 커미셔닝 디바이스(210)의 위치, 또는 커미셔닝 디바이스(210)에 대한 프록시인 경계 라우터(202)를 자신의 메모리에 저장하고, 다른 디바이스(예컨대, 리더(216), 또는 경계 라우터(202))로부터 커미셔닝 디바이스(210)의 위치 또는 몇몇의 다른 위치(예컨대, 원격 서비스)를 리트리브할 수 있다. PSKd는 메쉬 네트워크(100)에 대해 참가 디바이스(212)를 인증하고, 커미셔닝 디바이스(210)와 참가 디바이스(212) 사이의 참가자 세션을 확보하는데 사용된다. PSKd는 참가 디바이스 크리덴셜로부터 도출된다.
일부 실시예들에서, 참가자 세션은 DTLS뿐만 아니라 인증 프로토콜, 예컨대, J-PAKE(Password Authenticated Key Exchange by Juggling), SRP(Secure Remote Password) 프로토콜 및/또는 임의의 다른 적절한 패스워드 인증 키 교환 프로토콜과 같은 인증 프로토콜을 사용하여 설정될 수 있다. 예컨대, NIST P-256 타원 곡선을 사용하는 EC-JPAKE(elliptic curve variant of J-PAKE)는 인증 및 키 동의에 사용될 수 있다. PSKd를 통해 J-PAKE를 사용하는 것은, 참가 디바이스(212)를 커미셔닝하는 사용자가 참가 디바이스(212)의 물리적 소유를 갖는다는 것을 증명할 뿐만 아니라, 커미셔닝 디바이스(210)가 참가자 세션을 통해 정확한 참가 디바이스(212)에 연결된 것을 증명한다.
참가자 라우터(214)는 메쉬 네트워크(100)에 참가하기 위한 요청을 커미셔닝 디바이스(210)로 포워딩하고, 요청은 참가자 세션을 통해 참가 디바이스(212)로부터 수신된다. 메쉬 네트워크(100)에 참가하기 위한 인증 시에, 네트워크 키는 참가자 세션을 통해 커미셔닝 디바이스(210)로부터 안전하게 참가 디바이스(214)로 송신된다.
예컨대, 참가 디바이스(212)는 참가 디바이스(212)에 대한 인간-판독 가능 명칭을 제공하기 위한 참가자 식별 메시지를 참가자 라우터(214)로 전송할 수 있다. 참가자 라우터(214)는 참가자 식별 메시지 내의 정보를 중계 메시지에 캡슐화하고, 커미셔너 프리픽스, 애니캐스트 어드레스 또는 경계 라우터 로케이터를 사용하여 중계 메시지를 경계 라우터(202)로 포워딩한다. 중계 메시지의 수신 시에, 경계 라우터(202)는 중계 메시지의 끝에서 전송자 어드레스(이러한 경우에, 참가자 라우터(214)의 어드레스)를 다음 중계 어드레스들의 리스트에 첨부하고, 참가자 세션을 통해 중계 메시지를 포워딩한다.
예컨대, 참가 디바이스(212)는 DTLS 및 UDP를 사용하여 핸드쉐이크 메시지들(708)을 참가자 라우터(214)로 전송한다. 참가자 라우터(214)는 커미셔닝 디바이스(210)로의 전달을 위해 DTLS 핸드쉐이크 메시지들(710)을 경계 라우터(202)로 중계한다. 참가자 라우터(214)는 중계된 DTLS 핸드쉐이크 메시지들의 콘텐츠의 어떠한 지식도 갖지 않는다. 참가자 라우터(214)는 안전하지 않은 로컬-전용 라디오 링크를 통해 참가 디바이스(212)로부터 수신되는 수신된 DTLS 핸드쉐이크 메시지들을, 앞서 설명된 참가자 UDP 포트에 대한 협정에 기초하여 필터링한다. 참가자 라우터(214)는 지정된 참가자 UDP 포트 상에서 수신된 모든 메시지들을 중계한다. 참가자 라우터(214)는 메쉬 네트워크(100)에 대한 DOS(Denial of Service) 공격들을 방지하기 위해 안전하지 않은 메시지들의 포워딩을 레이트 제한할 수 있다.
추가의 예로서, 참가 디바이스(212)는 DTLS-ClientHello 메시지를 참가자 라우터(214)로 전송함으로써 커미셔닝 디바이스(210)에 대해 자신을 초기에 식별한다. 이러한 초기 DTLS-ClientHello는 커미셔닝 교환의 나머지 동안에 사용하기 위한 DTLS 쿠키를 커미셔닝 디바이스(210)가 참가 디바이스(212)에 할당하도록 허용하도록 의도된다. 참가자 라우터(214)는 DTLS-ClientHello UDP 페이로드를 DTLS 중계 수신 통지 메시지(예컨대, RLY_RX.ntf)에 캡슐화하여, 캡슐화된 패킷의 소스 어드레스, 이러한 경우에, 참가 디바이스(212)의 링크 로컬 64-비트 어드레스를 중계 홉으로서 부가한다. DTLS 쿠키는 참가 디바이스(212)로 전송되고, 이어서 참가 디바이스(212)는 참가 디바이스(212)가 진짜임을 보장하기 위해 DTLS 쿠키를 커미셔닝 디바이스(210)로 반환한다.
참가자 라우터(214)는 또한 중계 지점으로서 자신의 어드레스를 DTLS 중계 수신 통보 메시지에 부가한다. 참가자 라우터(214)는 DTLS 중계 수신 통보 메시지를 경계 라우터(202)에 전송한다. 경계 라우터(202)는 DTLS 중계 수신 통보 메시지의 수신 시에, 커미셔닝 세션을 통해 DTLS 중계 수신 통보 메시지(712)를 커미셔닝 디바이스(210)에 포워딩한다.
참가 디바이스(212)로부터 수신된 참가자 식별 메시지에 기초하여, 커미셔닝 디바이스(210)는 PSKd에 기초하여 DTLS-HelloVerify 메시지를 개시하도록 참가자 식별 메시지를 이용한다. DTLS-HelloVerify 메시지 및 DTLS 중계 송신 통보 메시지(예를 들어, RLY_TX.ntf)는 714에서 경계 라우터(202)에 전송된다. 경계 라우터(202)는 716에서 DTLS-HelloVerify 메시지 및 DTLS 중계 송신 통보 메시지를 참가자 라우터(214)에 중계한다. 참가자 라우터(214)는 718에서 DTLS-HelloVerify 메시지를 참가 디바이스(212)에 전송한다.
대안적으로, 커미셔닝 디바이스(210)는 커미셔닝될 다수의 참가 디바이스(212)에 대한 정보를 가질 수 있다. 커미셔닝 디바이스(210)는, 다수의 참가 디바이스(212) 중 특정 하나로부터 DTLS-ClientHello 메시지의 수신 시에, DTLS-ClientHello 메시지를 전송한 참가 디바이스(212)의 IEEE EUI-64(64-bit Extended Unique Identifier) 어드레스를 검사한다. 커미셔닝 디바이스(210)는 특정 참가 디바이스(212)에 대한 DTLS 핸드쉐이크를 지속하도록 커미셔닝될 다수의 참가 디바이스(212)에 대한 정보에서 PSKd를 찾는다. 커미셔닝 디바이스(210)는 참가자 라우터(214)를 통해 DTLS-ServerHello, DTLS-ServerKeyEx, 및 DTLS-ServerHelloDone를 참가 디바이스(212)에 역으로 중계한다. 이 DTLS 핸드쉐이크의 완료 시에, 참가자 세션의 설정이 완료된다.
커미셔닝 디바이스(210)가 참가 디바이스(212)를 인증하면, 커미셔닝 디바이스(210)는 메쉬 네트워크(100)에 대한 네트워크 크리덴셜들을 참가 디바이스(212)에 위탁한다. 예를 들어, 커미셔닝 디바이스(210)는 경계 라우터(202)로부터 네트워크 크리덴셜들을 요청하고, 커미셔닝 세션을 통해 DTLS 중계 송신 통보 메시지에 의해 전달된 네트워크 크리덴셜들을, 참가자 세션을 통해 참가자 위탁 메시지에서 참가 디바이스(212)에 전송한다. 대안적으로, 커미셔닝 디바이스(210)는 커미셔닝 디바이스(210)와 참가 디바이스(212) 간의 공유 시크릿으로서 KEK(Key Exchange Key)를 이용하여 메쉬 네트워크(100)에 대한 네트워크 크리덴셜들을 참가 디바이스(212)에 위탁한다. KEK는 참가 디바이스(212)에 대한 참가자 라우터(214)에 전송되고 로컬-전용 라디오 링크를 통한 송신을 위해 네트워크 크리덴셜들을 암호화하는데 이용된다.
참가 디바이스 프로비저닝
참가 디바이스(212)가 메쉬 네트워크(100)에 참가될 때, 참가 디바이스(212)는 또한 프로비저닝을 요구할 수 있다. 프로비저닝은 참가 디바이스(212)의 펌웨어를 업데이트하는 것, 참가 디바이스(212)를 구성하는 것, 메쉬 네트워크(100) 상의 다른 디바이스들에 관련된 로컬 구성을 제공하는 것, 클라우드 서비스(208) 상의 사용자의 계정에 참가 디바이스(212)를 링크하는 것, 클라우드-기반 애플리케이션 서버에 참가 디바이스(212)를 링크하는 것 등을 포함할 수 있다. 여전히 설정되어 있는 동안, 커미셔너 세션 및 참가자 세션은, 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 네트워크 크리덴셜들을 이용하기 이전에 참가 디바이스(212)를 프로비저닝하기 위한 안전 연결을 제공하는데 이용된다.
참가 디바이스(212)는 참가 디바이스(212)의 프로비저닝을 수행하도록 커미셔닝 디바이스(210)에 의해 실행될 커미셔너 애플리케이션에 대한 위치의 표시를 전송한다. 위치의 표시는 커미셔닝 디바이스(210)의 메모리에서 커미셔너 애플리케이션을 발견하는데 이용될 수 있거나, 또는 클라우드 서비스(208)로부터 커미셔너 애플리케이션을 리트리브하도록 커미셔닝 디바이스(210)에 의해 이용될 수 있다. 표시는 임의의 적합한 형태 예를 들어, URL(Uniform Resource Locator)일 수 있다. 참가 디바이스(212)의 프로비저닝이 마무리될 때, 참가 디바이스(212)는 참가자 세션 및 로컬-전용 라디오 링크를 종결한다. 참가 디바이스(212)는 메쉬 네트워크(100)에 참가하기 위해 네트워크 크리덴셜들을 이용한다.
스티어링 데이터
무선 메쉬 네트워크들은 라디오 스펙트럼을 공유할 수 있다. IEEE 802.15.4와 같은 표준들은 다수의 네트워크들이 라디오 스펙트럼의 대역 내에서 동작하는 것을 가능케 하는 다수의 채널들을 정의한다. 부가적으로, 메쉬 네트워크(100)에 대한 커미션을 위한 다수의 디바이스들이 있을 때, 참가를 위한 올바른 메쉬 네트워크(100)에 대해 참가 디바이스(212)가 헌팅하는 것을 보조하도록 비콘의 스티어링 데이터를 이용하여 다수의 참가 디바이스(212)에 대한 다수의 디바이스 식별자들을 효율적으로 통신하는 것이 바람직하다. 다수의 메쉬 네트워크들이 동일한 라디오 스펙트럼 및/또는 근본적인 산업-표준 네트워킹 프로토콜들을 공유하는 환경에서, 올바른 메쉬 네트워크(100)에 다수의 참가 디바이스(212)를 안전하게 참가시키는 메쉬 네트워크 커미셔닝 기술들이 설명된다.
커미셔닝 디바이스(210)가 원하는 참가 디바이스(212)에 대한 PSKd 및 EUI-64 MAC 어드레스를 획득할 때, 커미셔닝 디바이스(210)는 어느 메쉬 네트워크(100)에 참가할지 원하는 참가 디바이스(212)에 시그널링하는 스티어링 데이터를 구성한다. 스티어링 데이터는 다른 802.15.4-기반 네트워크들로부터 메쉬 네트워크(100)를 구분하기 위한 몇 개의 방식을 포함하는데, 하나의 방식은 메쉬 네트워크(100) 상에서 액티브 커미셔너가 존재하는지를 통신하는 것이고, 하나의 방식은 어느 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 현재 허용되는지를 특정하는 것이다.
스티어링 데이터는 커미셔닝 디바이스(210)에 의해 결정되고 메쉬 네트워크(100)에 참가하도록 허용되는 하나 이상의 참가 디바이스(212)의 디바이스 식별자들을 표시한다. 커미셔닝 디바이스(210)는 메쉬 네트워크(100)에서 라우터들(102)에 스티어링 데이터를 전파한다. 라우터들(102)은 결국, 메쉬 네트워크(100)에 대한 비콘에 스티어링 데이터를 포함시키고, 메쉬 네트워크(100)가 참가 가능하고 잠재적인 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 허용되는지 여부에 관한 표시에 따라, 스티어링 데이터를 잠재적인 참가 디바이스(212)에 제공하도록 비콘을 송신한다. 예를 들어, 커미셔닝 디바이스(210)는 위에서 논의된 바와 같이 원하는 참가 디바이스(212)에 대한 PSKd 및 EUI-64 MAC 어드레스를 획득한다. 이 EUI-64로부터, 커미셔닝 디바이스(210)는 원하는 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 허용된다고 원하는 참가 디바이스(212)에 시그널링하기 위한 스티어링 데이터를 구성한다.
추가의 예에서, 스티어링 데이터는 메쉬 네트워크(100)에 참가하도록 허용되는 참가 디바이스(212)의 CRC16(16-bit Cyclic Redundancy Check) 인코딩 EUI-64 어드레스들의 리스트를 포함할 수 있다. CRC16은 EUI-64 어드레스들의 간결한 표현을 제공하며, CRC16-인코딩 어드레스들에서 2개의 상이한 EUI-64 어드레스들 간의 충돌들의 기회는 적다. CRC16의 이용은, 참가 디바이스(212)의 디바이스 식별자들에 대해 요구되는 비콘 페이로드의 크기를 감소시킴으로써 메쉬 네트워크(100)의 자원들을 효율적으로 이용하면서, 적절한 참가 디바이스(212)가 참가할 올바른 메쉬 네트워크(100)를 효율적으로 발견하는 것을 가능케 한다.
다수의 메쉬 네트워크들(100)이 액티브 커미셔너들을 갖는 경우에, 참가 디바이스(212)는 활성 스캔으로부터 비콘들을 수집함으로써 올바른 메쉬 네트워크(100)를 헌팅한다. 참가 디바이스(212)는 비-메쉬 네트워크들로부터 수집된 비콘들, 틀린 프로토콜을 갖는 비콘들, 틀린 버전을 갖는 비콘들, 틀린 XPANID를 갖는 비콘들, 틀린 네트워크 명칭을 갖는 비콘들 및/또는 참가가 디스에이블되어 있는 비콘들에 관한 비콘들을 폐기한다. 참가 디바이스(212)는 수집된 비콘들의 스티어링 데이터에서 참가 디바이스(212)의 디바이스 식별자에 대한 정확한 매칭을 갖는 수집된 비콘들을 우선시하고, 최상의 신호 강도의 순서로 매칭하는 수집된 비콘들을 차선시한다. 참가 디바이스(212)는, 참가 디바이스(212)가 메쉬 네트워크(100)에 성공적으로 참가할 때까지 (위에서 설명된 바와 같이) 한 번에 하나씩 우선시되는 네트워크들에 참가하도록 시도한다. 참가 디바이스가 메쉬 네트워크(100)에 성공적으로 참가하지 못하고 네트워크들의 우선시된 리스트가 고갈된 경우, 참가 디바이스(212)는 지연 기간 이후 또는 즉시 재차 메쉬 네트워크(100)에 대한 헌팅을 시작하도록 활성 스캔을 수행할 수 있다.
스티어링 데이터는 어느 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 시도할 수 있거나 시도할 수 없는지를 안내한다. 또한, 스티어링 데이터의 모든 비트들은 메쉬 네트워크(100)가 참가를 위해 이용 가능하지 않다고 표시하도록 0의 값으로 세팅될 수 있다. 대안적으로, 스티어링 데이터의 모든 비트들은, 메쉬 네트워크(100)가 임의의 참가 디바이스(212)에 의한 참가를 위해 이용 가능하다는 것을 표시하도록 1의 값으로 세팅될 수 있다.
일부 커미셔닝 디바이스(210)는 QR 코드를 스캐닝함으로써 용이하게 EUI-64 및 결합 디바이스 크레덴셜을 추출할 자원들이 부족할 수 있다. 이 경우, EUI-64의 최하위 24 비트들은, 스티어링 데이터를 결정할 경우, 참가 디바이스(212)에 대한 디바이스 식별자로서 사용된다. 비콘의 S-비트는, 참가 디바이스(212)에 대한 짧은 또는 긴 디바이스 식별자가 스티어링 데이터를 결정하기 위해 사용되는지 여부를 나타낸다. EUI-64가 스티어링 데이터의 결정을 위해 디바이스 식별자로서 사용되는 경우 S-비트가 0의 값으로 설정된다. EUI-64의 최하위 24-비트가 스티어링 데이터의 결정을 위해 디바이스 식별자로서 사용되는 경우 S-비트가 1의 값으로 설정된다.
도 8은 참가 디바이스들(212)에 대한 디바이스 식별자들을 스티어링 데이터로 인코딩하기 위해 사용되는, 블룸 필터를 이용하여 생성된 스티어링 데이터의 예(800)를 도시한다. 블룸 필터는, 상이한 디바이스 식별자들의 인코딩된 값들 사이에서 충돌들의 가능성이 낮은, 디바이스들 식별자들의 효율적인 인코딩을 제공한다. 스티어링 데이터에 포함시키기 위해서, 각각의 디바이스 식별자(802)는, 제 1 해시 값을 생성하기 위해서 제 1 해시 함수(804)에 의해 인코딩되고, 제 2 해시 값을 생성하기 위해서 제 2 해시 함수(806)에 의해 인코딩된다. 예를 들어, 제 1 해시 함수(804)는 CRC16-CCITT이고 제 2 해시 함수(806)는 CRC16-ANSI이다. 디바이스 식별자(802)는 참가 디바이스(212)의 EUI-64이다. 대안적으로, EUI-64의 24 최하위 비트들은 디바이스 식별자(802)로서 사용된다.
모듈로 연산(808)은 제 1 해시 값과 제 2 해시 값에 관해 수행된다. 모듈로 연산의 경우, 제수는 블룸 필터의 비트 어레이(810)의 길이(비트 어레이(810)의 비트 포지션들이 812로 도시되고, 비트 값들이 814로 도시됨)이고, 비트 어레이의 각각의 비트는 스티어링 데이터의 결정 전에 0의 값으로 초기화된다. 각각의 모듈로 연산의 결과는 비트 어레이 내의 위치를 결정한다. 비트 어레이 내 2개의 결정된 위치들에 있는 값은 1의 값으로 셋팅되고, 2개의 결정된 비트필드들은 디바이스 식별자로 매핑을 제공한다.
예를 들어, 가상의 디바이스 식별자(802)의 경우, 제 1 해시 함수(804)의 결과에 대해 모듈로 연산(808)을 수행하는 것은 디바이스 식별자(802)에 대해 3의 값을 발생시킨다. 제 2 해시 함수(806)의 결과에 대해 모듈로 연산(808)을 수행하는 것은 디바이스 식별자(802)에 대해 6의 값을 발생시킨다. 비트의 포지션들 삼(3)과 육(6)에서의 값들은, 가상의 디바이스 식별자(802)의 블룸-필터링 값을 나타내기 위해 1의 값으로 셋팅된다.
참가 디바이스(212)는 또한 참가 디바이스(212)의 디바이스 식별자를 나타내는 블룸 필터 비트 위치들을 계산한다. 참가 디바이스(212)는, 계산된 비트 포지션들 둘 모두가, 수집된 비콘들의 스티어링 데이터에서 1의 값을 포함하고 있는지를 결정한다. 포지티브 결정은, 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 허용된다는 것을 참가 디바이스(212)에 나타낸다. 임의의 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 허용된다는 것을 나타내기 위해서 블룸 필터의 비트 어레이의 비트들의 값들 모두가 1의 값으로 설정될 수 있다. 블룸 필터 비트 어레이의 비트들 모두를 0의 값으로 셋팅하는 것은, 메쉬 네트워크(100)에 대한 액티브 커미셔너가 없다는 것과 메쉬 네트워크(100)가 참가를 위해 이용가능하지 않다는 것을 나타낸다. 블룸 필터는 디바이스 식별자들에 대해 익명으로 컴팩트 표현을 제공하는 한편, 적절한 참가 디바이스들(212)로 하여금 참가할 정확한 메쉬 네트워크(100)를 효율적으로 찾을 수 있게 하며, 특정 참가 디바이스가 참가하도록 허용되지 않을 경우 그 특정 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하도록 허용된다는 것을 나타내는 오류 포지티브들의 확률이 낮다.
블룸 필터에 대한 파라미터들은: k, 디바이스 식별자를 해시하는 데 사용되는 해쉬 함수들의 수; m, 블룸 필터의 비트 어레이 내 비트들의 수; 및 n, 스티어링 데이터 내에 나타낼 참가 디바이스들(212)의 수이다. 예로서, 그리고 비제한적으로, 파라미터 k가 2로 셋팅되며, 이는, 다항식 0x1021을 갖는 CRC16-CCITT 및 다항식 0x8005를 갖는 CRC16-ANSI와 같은 2개의 해시 함수들이 사용된다는 것을 나타낸다. k, 해시 함수, 및 다항식들의 다른 값들이 고려된다.
블룸 필터에 대한 충돌의 확률, p가 다음과 같이 계산될 수 있다:
Figure 112019048768928-pat00002
커미셔닝 디바이스(212)는 스티어링 데이터에서 상당히 낮은 충돌 확률을 얻도록 요구됨에 따라 비트 어레이의 길이, m을 셋팅할 수 있다. 블룸 필터의 사용은, 참가 디바이스들(212) 대다수가 메쉬 네트워크(100)에 참가하는 것을 지원하는 한편 낮은 확률의 충돌들을 유지하기 위해서 스티어링 데이터를 확장시킨다. 다음 표는, m = 127(즉, 16 바이트)일 경우, n의 다양한 값들과 충돌들 p의 확률에 대해 보여준다.
Figure 112019048768928-pat00003
대다수의 참가 디바이스들(212)(예를 들어, 1000)을 참가시키기 위해서, 커미셔닝 디바이스(210)는 각각의 더 작은 세트가 스티어링 데이터에서 더 낮은 확률의 충돌들(오류 포지티브들)을 갖도록 큰 세트를 더 작은 세트들로 나눌 수 있다.
메쉬 네트워크 분할들에 대한 커미셔닝 데이터의 관리
도 9는, 메쉬 네트워크(100)의 분할(split) 또는 파티셔닝이 발생한 경우의 메쉬 네트워크(100)를 도시한다. 예를 들어, 라우터들(102) 중 하나는 전력 손실이 있을 수 있는데, 그 결과, 다른 분할과의 통신으로부터 메쉬 네트워크(100)의 하나의 파티션 또는 프래그먼트를 방지하는 메쉬 네트워크(100)의 분할이 발생한다. 반면, 무선 간섭은, 메쉬 네트워크(100)의 분할을 생성하는 메쉬 네트워크(100)의 일 부분에서 통신들을 차단했을 수 있다. 메쉬 네트워크(100)를 2개의 네트워크 프래그먼트들(902 및 904)로 나눌 경우, 네트워크 프래그먼트(904)는, 프래그먼트(904)에 대한 리더를 선택할 것이고, 프래그먼트(902)에 대한 커미셔너와는 상이한 프래그먼트(904)에 대한 커미셔너를 또한 수락할 수 있다. 프래그먼트들 중 어느 하나 또는 둘 모두가 분할 동안 네트워크 크레덴셜들을 업데이트 수 있다.
메쉬 네트워크(100)는, 2개의 파티션들 사이의 연결이 단절될 경우 전적으로 기능성 네트워크들인 2개의 별개의 프래그먼트들로 완전히(cleanly) 그리고 신뢰할 수 있게 분할할 수 있다. 파티션들은, 계속되는 상태로 파티션 내에 전적으로 포함되고 정상 키 순환을 계속할 수 있는 임의의 뛰어난 통신들을 계속할 수 있다. 2개의 파티션들 간의 연결이 복원될 때, 2개의 메쉬 네트워크 파티션들, 이전에 하나의 부분이었던 메쉬 네트워크(100)가 자율적으로 병합할 수 있다.
커미셔닝 크레덴셜이 분할 동안 네트워크 프레그먼트(902)에서 변경되는 경우, 커미셔닝 크레덴셜 변경은, 연결이 네트워크 프레그먼트들(902 및 904) 사이에서 복원될 경우 네트워크 프래그먼트(904) 내의 디바이스들로 전파될 것이다. 즉, 일부 실시예들에서, 커미셔닝 크레덴셜이 가장 최근에 채용된 크레덴셜로 업데이트된다. 그러나, 네트워크 프래그먼트들(902 및 904) 둘 모두는 상이한 커미셔너들에게 권한을 부여하고, 분할 동안 새로운 그리고 상이한 커미셔닝 크레덴셜들을 수신하는 경우, 가장 최근의 크레덴셜을 결정하는 것이 더욱 곤란할 수 있다.
이전에 프래그먼트화되었지만 현재는 병합된 임의의 2개의 메쉬 네트워크 프래그먼트들 사이의 커미셔닝 크레덴셜들의 리졸루션이, 가장 최근에 변경된 커미셔닝 데이터셋을 메쉬 네트워크(100) 내의 디바이스들로 전파한다. 프래그먼트(902)에 변경이 있을 경우, 사용자는, 그 또는 그녀가 전체 메쉬 네트워크(100)에 관한 커미셔닝 크레덴셜을 변경시키고 있지만, 파티셔닝으로 인해, 프래그먼트(902)에 관한 크레덴셜을 단지 효율적으로 변경시키고 있다고 믿는다. 얼마 후의 시점에, 프래그먼트들(902 및 904)이 병합된다. 단편(904)에 대한 원래의 크레덴셜이 프레그멘테이션 이후에 변경되지 않은 상태로 남아있게 되는 반면, 프레그먼트(902) 상의 크레덴셜이 변경되었기 때문에, 병합된 프래그먼트들은, 프래그먼테이션 동안 프래그먼트(902) 상에 확립된 새로운 크레덴셜을 가정한다. 프래그먼트(904)에 관한 커미셔닝 크레덴셜로 분할 동안 변경이 있었던 경우, 프래그먼트(904)에 대해 이루어지는 변경은, 병합 후 프래그먼트(902) 내의 디바이스들로 전파된다.
2명의 사용자들이 분할 동안 각각의 2개의 프래그먼트들(902 및 904) 상에서 커미셔닝 크리덴셜들을 변경시키는 경우에서, 2명의 사용자들 각각은, 그들이 전체 메쉬 네트워크(100) 상에서 커미셔닝 크리덴셜을 변경시키고 있다고 믿는다. 그러나, 메쉬 네트워크(100)가 프래그먼트되기 때문에, 사용자들 둘 모두는, 네트워크 커미셔너로서 그들을 설정하고, 그들 각각의 네트워크 프래그먼트들 상에서 커미셔닝 크리덴셜를 변경시킬 수 있다. 일부의 추후 시점에서, 프래그먼트들(902 및 904)은 병합되지만, 2개의 프래그먼트로부터 어떤 리더가 병합된 메쉬 네트워크에 대한 리더로서 유력할지를 알지 못할 수 있다. 유력한 리더는 가장 최근에 변경된 커미셔닝 크리덴셜들의 복사본을 갖지 않을 수 있다. 커미셔닝 크리덴셜들이 2개의 프래그먼트들 상에서 독립적으로 변경되었으므로, 가장 최근에 업데이트된 커미셔닝 크리덴셜을 갖는 프래그먼트가 우선권을 취한다.
2개 중 어떤 네트워크 크리덴셜이 가장 최근인지를 결정하기 위해, 커미셔닝 데이터세트는 타임스탬프 정보, 뿐만 아니라 메쉬 네트워크가 병합하는 경우 커미셔닝 크리덴셜들 사이의 차이들을 해결하기 위한 커미셔닝 크리덴셜을 포함한다. 타임스탬프 정보는, 메쉬 네트워크(100) 내의 노드들이 임의의 프래그먼트 내의 커미셔닝 크리덴셜들에 대한 가장 최근의 업데이트를 결정하고, 메쉬 네트워크(100) 내의 디바이스들의 커미셔닝 데이터세트를 가장 최근에 업데이트된 커미셔닝 크리덴셜들에 동기화할 수 있게 한다.
타임스탬프 정보는, 타임스탬프, 및 타임스탬프가 UTC(Coordinated Universal Time)에 추적가능한지, 또는 메쉬 네트워크(100) 내의 상대적인 시간 기준인지의 표시를 포함한다. 예컨대, 커미셔닝 디바이스(210)가 예컨대 네트워크 시간 프로토콜(NTP), 셀룰러 네트워크를 통해 제공된 시간에 대한 액세스, 글로벌 포지셔닝 시스템(GPS) 수신기로부터의 타이밍 정보 등을 사용하는 네트워크 시간에 대한 액세스를 갖는 스마트폰 또는 컴퓨터과 같은 디바이스라면, 타임스탬프는 UTC에 추적가능하다. 제한이 아닌 예로서, UTC에 추적가능한 타임스탬프인 경우,타임스탬프는, 알려진 시대에 추적가능한 초의 단위들, 예컨대, UNIX® 시간의 시작 이후의 2-15 초의 단위들로 표현된다. 타임스탬프가 UTC-추적가능한 시간인 경우, U-비트와 같은 표시는, 타임스탬프가 UTC에 추적가능하다는 것을 표시하도록 셋팅된다.
커미셔닝 디바이스(210)가 UTC-추적가능한 시간에 대한 액세스를 갖지 않는 네이티브 커미셔너와 같은 임베디드 시스템인 이벤트에서, 타임스탬프는 그 후에 상대적인 시간값을 포함한다. 상대적인 시간값은, 리더(216)에 의해 제공된 바와 같은 타임스탬프의 이전의 값을 사용하며, 업데이트된 커미셔닝 데이터세트에 대한 타임스탬프를 생성하기 위해 이전의 타임스탬프에 클록 틱들의 증분을 부가함으로써 결정된다. 제한이 아닌 예로서, 시간 틱들은 네이티브 커미셔너의 32kHz 클록으로부터 도출된 1초-미만 시간 틱들의 15-비트 표현일 수 있다. 타임스탬프가 상대적인 시간인 경우, U-비트와 같은 표시는, 타임스탬프가 상대적인 시간으로서 표현된다는 것을 표시하도록 제로의 값으로 셋팅된다. 상대적인 시간에 대한 타임스탬프의 증분은 커미셔닝 데이터에 대한 변경들이 검출되게 한다. 분할들이 병합되는 경우, 커미셔닝 타임스탬프들 중 하나가 UTC에 추적가능하고 초가 상대적인 시간이면, UTC-추적가능한 타임스탬프를 갖는 커미셔닝 데이터는 더 높은 우선순위를 제공받을 것이다.
분할 동안 별개로 업데이트되었던 타임스탬프들이 커미셔닝 크리덴셜들 사이에서 동일한 이벤트에서, 대안적인 수단이 타임스탬프들 사이의 결합을 파괴하기 위해 사용될 수 있다. 일부 실시예들에서, 사전편집 비교(예컨대, memcmp)는 어떤 크리덴셜이 더 최근인지를 결정하기 위해 수행될 수 있다. 특정한 실시예들에서, 네트워크 프래그먼트들이 우선순위화될 수 있어서, 네트워크 프래그먼트 상의 커미셔닝 크리덴셜에 대한 변경들이 타임스탬프들 사이의 결합의 이벤트에서 채택될 것이다. 예컨대, 경계 라우터(202)를 갖는 네트워크 프래그먼트는 가장 높은 우선순위 프래그먼트로서 간주될 수 있어서, 네트워크 프래그먼트들(902 및 904) 각각이 동일한 타임스탬프들을 포함하는 커미셔닝 크리덴셜 변경들을 수신하면, 네트워크 프래그먼트(902)에서의 변경이 2개의 프래그먼트들의 커미셔닝 데이터세트 내의 동일한 타임스탬프 값들의 이벤트에서 채택될 것이다.
메쉬 네트워크 커미셔닝의 하나 이상의 실시예들에 따른 예시적인 방법들(1000 내지 1800)은 각각의 도 10-18을 참조하여 설명된다. 일반적으로, 본 명세서에 설명된 컴포넌트들, 모듈들, 방법들, 및 동작들 중 임의의 것은 소프트웨어, 펌웨어, 하드웨어(예컨대, 고정된 로직 회로), 수동 프로세싱, 또는 이들의 임의의 결합을 사용하여 구현될 수 있다. 예시적인 방법들의 일부 동작들은, 컴퓨터 프로세싱 시스템에 대해 로컬 및/또는 원격인 컴퓨터-판독가능 저장 메모리 상에 저장된 실행가능 명령어들의 일반적인 맥락에서 설명될 수 있으며, 구현들은 소프트웨어 애플리케이션들, 프로그램들, 함수들 등을 포함할 수 있다. 대안적으로 또는 부가적으로, 본 명세서에 설명된 기능 중 임의의 것은, 필드-프로그래밍가능 게이트 어레이(FPGA)들, 주문형 집적 회로(ASIC)들, 주문형 표준 제품(ASSP)들, 시스템-온-칩 시스템(SoC)들, 복잡한 프로그래밍가능 로직 디바이스(CPLD)들 등과 같지만 이에 제한되지 않는 하나 이상의 하드웨어 로직 컴포넌트들에 의해 적어도 부분적으로 수행될 수 있다.
도 10은, 메쉬 네트워크에서 참가 노드들에 일반적으로 관련되는 바와 같은 메쉬 네트워크 커미셔닝의 예시적인 방법(들)(1000)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 해석되도록 의도되지 않으며, 임의의 수의 설명된 방법 블록들은 방법을 구현하거나 방법을 대체하기 위해 임의의 순서로 결합될 수 있다.
블록(1002)에서, 비콘 요청은 참가 디바이스로부터 수신되고, 블록(1004)에서, 비콘은 참가자 라우터로부터 참가 디바이스로 송신되며, 비콘은 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 제공한다. 예컨대, 메쉬 네트워크(100) 내의 참가자 라우터(214)는, 참가 디바이스(212)로부터 비콘 요청을 수신하고, 그 후, 참가 디바이스에 비콘을 송신하며, 비콘은 참가를 위해 메쉬 네트워크(100)가 이용가능하다는 표시를 제공한다. 송신된 비콘은, 참가 디바이스(212)가 참가 디바이스와 참가자 라우터 사이의 로컬 링크를 설정할 수 있기에 효과적이다.
블록(1006)에서, 메시지는 메쉬 네트워크에 참가할 것을 요청하는 메시지가 참가 디바이스로부터 수신된다. 예컨대, 메쉬 네트워크(100) 내의 참가자 라우터(214)는 메쉬 네트워크에 참가할 것을 요청하는 메시지를 참가 디바이스(212)로부터 수신한다. 참가 디바이스(212)로부터 수신된 메시지는, J-PAKE(Password Authenticated Key Exchange by Juggling)를 사용하여 인증되는 참가 디바이스를 인증하기 위해 사용가능한 암호화된 디바이스 식별자를 포함할 수 있으며, 인증은, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)와 참가 디바이스 사이에 보안 통신 세션을 설정하는데 효과적이다.
블록(1008)에서, 수신된 메시지는 메쉬 네트워크의 커미셔닝 디바이스에 포워딩된다. 예컨대, 참가자 라우터(214)는, 메쉬 네트워크(100)의 참가 디바이스(212)로부터 커미셔닝 디바이스(210)로 수신된 메시지를 포워딩한다. 구현들에서, 메시지는, 데이터그램 전송 계층 보안(DTLS)을 사용하거나 사용자 데이터그램 프로토콜(UDP)을 사용하여 수신 및 포워딩될 수 있다. 부가적으로, 참가자 라우터(214)가 수신된 메시지를 커미셔닝 디바이스(210)에 포워딩하는 것은, 참가자 라우터(214)와 커미셔닝 디바이스(210) 사이의 통신 경로에서 메쉬 네트워크(100)의 하나 이상의 라우터들을 통해, 수신된 메시지를 포워딩하는 것을 포함할 수 있다. 구현들에서, 라어트들 중 하나는, 메쉬 네트워크(100)를 외부 네트워크에 연결시키는 경계 라우터(202)일 수 있으며, 커미셔닝 디바이스는 외부 네트워크에 부착된다.
블록(1010)에서, 참가 디바이스가 메쉬 네트워크에 참가하기 위한 허가가 수신되며, 블록(1012)에서, 네트워크 정보는 참가 디바이스에 송신되고, 네트워크 정보는, 참가 디바이스가 메쉬 네트워크(100)에 참가할 수 있기에 효과적이다. 예컨대, 참가자 라우터(214)는, 참가 디바이스(212)가 메쉬 네트워크(100)에 참가하기 위한 허가를 커미셔닝 디바이스(210)로부터 수신하고, 참가자 라우터(214)는 네트워크 정보를 참가 디바이스에 송신하며, 여기서, 네트워크 정보는 참가 디바이스(212)가 메쉬 네트워크에 참가할 수 있기에 효과적이다.
도 11은, 메쉬 네트워크에서 참가 노드들에 일반적으로 관련되는 바와 같은 메쉬 네트워크 커미셔닝의 예시적인 방법(들)(1100)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 해석되도록 의도되지 않으며, 임의의 수의 설명된 방법 블록들은 방법을 구현하거나 방법을 대체하기 위해 임의의 순서로 결합될 수 있다.
블록(1102)에서, 비콘 요청은 참가 디바이스로부터 수신되고, 블록(1104)에서, 비콘은 참가자 라우터로부터 참가 디바이스로 송신되며, 비콘은 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 제공한다. 예컨대, 메쉬 네트워크(100) 내의 참가자 라우터(214)는, 참가 디바이스(212)로부터 비콘 요청을 수신하고, 그 후, 참가 디바이스에 비콘을 송신하며, 비콘은 참가를 위해 메쉬 네트워크(100)가 이용가능하다는 표시를 제공한다. 비콘은, 메쉬 네트워크(100)의 네트워크 명칭, 및 메쉬 네트워크에 참가하도록 허용되는 하나 이상의 참가 디바이스들(212)을 표시하는 스티어링 데이터를 포함한다. 송신된 비콘은, 참가 디바이스가 참가 디바이스와 참가자 라우터 사이의 로컬 링크를 설정할 수 있기에 효과적이다.
블록(1106)에서, 메쉬 네트워크에 참가할 것을 요청하는 DTLS-ClientHello 메시지가 참가 디바이스로부터 수신되고, 그리고 블록(1108)에서, 수신된 DTLS-ClientHello 메시지가 DTLS 중계 수신 통보 메시지로 캡슐화된다. 예컨대, 참가자 라우터는 메쉬 네트워크(100)에 참가할 것을 요청하는 DTLS-ClientHello 메시지를 참가 디바이스(212)로부터 수신하고, 그리고 수신된 DTLS-ClientHello 메시지를 DTLS 중계 수신 통보 메시지로 캡슐화한다. DTLS-ClientHello 메시지는, 참가 디바이스(212)로부터 UDP(User Datagram Protocol)를 활용하여 수신될 수 있고, 그리고 DTLS 중계 수신 통보 메시지는, 참가 디바이스(212)의 어드레스, 참가자 라우터(214)의 어드레스, 및 수신된 DTLS-ClientHello 메시지를 포함한다.
블록(1110)에서, DTLS 중계 수신 통보 메시지가 메쉬 네트워크의 커미셔닝 디바이스에 송신된다. 예컨대, 참가자 라우터는 DTLS 중계 수신 통보 메시지를 메쉬 네트워크(100)의 커미셔닝 디바이스(210)에 송신한다. 구현들에서, 참가자 라우터는 참가 디바이스들로부터 커미셔닝 디바이스(210)에 송신되는 DTLS 중계 수신 통보 메시지들의 송신에 레이트 제한을 적용할 수 있다.
블록(1112)에서, 커미셔닝 디바이스로부터 DTLS 중계 송신 통보 메시지가 수신되고, 그리고 블록(1114)에서, DTLS 중계 송신 통보 메시지의 콘텐츠가 참가 디바이스에 송신되는데, 콘텐츠는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 허용한다. 예컨대, 참가자 라우터는 커미셔닝 디바이스(210)로부터 DTLS 중계 송신 통보 메시지를 수신하고, 그리고 DTLS 중계 송신 통보 메시지의 콘텐츠를 참가 디바이스(212)에 송신하는데, 콘텐츠는 참가 디바이스가 메쉬 네트워크(100)에 참가하는 것을 허용하고, 그리고 콘텐츠는 커미셔닝 디바이스(210)와 참가 디바이스 사이의 보안 통신 세션을 설정하기에 유효하다. DTLS 중계 송신 통보 메시지는 참가 디바이스(212)의 어드레스, 참가자 라우터(214)의 어드레스, 및 DTLS-HelloVerify 메시지를 포함한다.
블록(1116)에서, 메쉬 네트워크에 대한 네트워크 크리덴셜들을 수신하도록 참가 디바이스가 위임되어야 한다는 표시가 커미셔닝 디바이스로부터 수신되고, 그리고 블록(1118)에서, 커미셔닝 디바이스와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)가 수신된다. 예컨대, 참가자 라우터(214)는, 메쉬 네트워크(100)에 대한 네트워크 크리덴셜들을 수신하도록 참가 디바이스(212)가 위임되어야 한다는 표시를 커미셔닝 디바이스(210)로부터 수신할 뿐만 아니라, 커미셔닝 디바이스(210)와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)를 수신한다.
블록(1120)에서, 네트워크 크리덴셜들의 통신을 안전하게 하기 위하여, 네트워크 크리덴셜들은 KEK를 사용하여 참가 디바이스에 송신된다. 예컨대, 참가자 라우터는, 네트워크 크리덴셜들의 통신을 안전하게 하기 위하여, 네트워크 마스터 키를 포함하는 네트워크 크리덴셜들을 KEK를 사용하여 참가 디바이스(212)에 송신하고, 그리고 보안 통신 세션은 참가 디바이스의 프로비저닝을 수행하기 위하여 사용 가능하다.
도 12는, 일반적으로 메쉬 네트워크에서의 커미셔닝 세션을 설정하는 것에 관련된, 메쉬 네트워크 커미셔닝의 예시적 방법(들)(1200)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 이해되는 것으로 의도되지 않으며, 그리고 설명된 방법 블록들 중 임의의 개수의 방법 블록이 방법 또는 대안적 방법을 구현하기 위하여 임의의 순서로 결합될 수 있다.
블록(1202)에서, 커미셔닝 디바이스들에 대한 메쉬 네트워크의 가용성이 통지되고, 그리고 블록(1204)에서, 메쉬 네트워크에 대한 커미셔너가 되기 위한 신청이 커미셔닝 디바이스로부터 수신된다. 예컨대, 메쉬 네트워크(100)의 경계 라우터(202)는 커미셔닝 디바이스들에 대한 메쉬 네트워크의 가용성을 통지하고, 그리고 메쉬 네트워크에 대한 커미셔너가 되기 위한 신청을 커미셔닝 디바이스(210)로부터 수신한다. 신청은, 메쉬 네트워크의 가용성을 통지하는 것에 대한 응답으로, 커미셔닝 디바이스(210)로부터 수신될 수 있다. 커미셔닝 디바이스(210)는 또한, 경계 라우터(202)에 안전하게 연결될 것을 요청할 수 있고, 그리고 보안 연결은 DTLS(Datagram Transport Layer Security)를 사용하여 설정된다. 부가적으로, 커미셔닝 디바이스(210) 및 경계 라우터(202)는 메쉬 네트워크 이외의 네트워크를 통해, 예컨대, Wi-Fi 네트워크 또는 이더넷 네트워크를 통해 통신할 수 있다.
블록(1206)에서, 수신된 신청은 메쉬 네트워크의 리더 디바이스에 송신되고, 그리고 블록(1208)에서, 리더 디바이스로부터 신청에 대한 응답이 수신되며, 응답은 신청의 수락 또는 거절을 표시한다. 예컨대, 경계 라우터(202)는 커미셔닝 디바이스(210)로부터 수신된 신청을 메쉬 네트워크(100)의 리더 디바이스(216)에 송신하고, 그 후에, 리더 디바이스(216)로부터 신청에 대한 응답을 수신하는데, 응답은 신청의 수락 또는 거절을 표시한다. 통지는, mDNS(Multicast Domain Name System)인 서비스 발견 프로토콜을 사용하여 수행될 수 있다.
블록(1210)에서, 신청의 수락 또는 거절의 표시가 커미셔닝 디바이스에 송신된다. 예컨대, 경계 라우터(202)는 신청의 수락 또는 거절의 표시를 커미셔닝 디바이스(210)에 송신하고, 그리고 리더 디바이스(216)에 의한 신청의 수락은, 메쉬 네트워크에 대한 커미셔너가 되도록 커미셔닝 디바이스(210)를 허가한다. 신청의 수락은 보안 커미셔닝 세션을 설정하고, 그리고 신청의 수락은 리더 디바이스(216)가, 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태를 업데이트하고, 메쉬 네트워크에 대한 퍼밋-참가 플래그를 참이 되도록 셋팅하고, 그리고 메쉬 네트워크 내에서 커미셔닝 데이터세트를 전파하는 것을 허용한다.
블록(1212)에서, 보안 커미셔닝 통신 세션을 설정하기 위하여, 경계 라우터에 커미셔닝 디바이스의 아이덴티티가 등록된다. 예컨대, 경계 라우터(202)는, 보안 커미셔닝 통신 세션을 설정하기 위하여, 경계 라우터(202)에 커미셔닝 디바이스(210)의 아이덴티티를 등록한다. 커미셔닝 디바이스(210)의 아이덴티티를 등록하는 것은, 암호화된 커미셔닝 크리덴셜을 경계 라우터(202)에 제공하는 것을 포함하는데, 암호화된 커미셔닝 크리덴셜은 커미셔닝 디바이스(210)에 입력되는 커미셔닝 크리덴셜로부터 사용자에 의해 유도되었다. 경계 라우터(202)는, 메쉬 네트워크(100)에 대해 커미셔닝 디바이스(210)를 인증하기 위하여 사용 가능한 암호화된 커미셔닝 크리덴셜의 복사본을 포함하는데, 암호화된 커미셔닝 크리덴셜의 복사본은 커미셔닝 크리덴셜로부터 이전에 유도되었고, 커미셔닝 크리덴셜은 암호화된 커미셔닝 크리덴셜의 복사본을 유도했던 메쉬 네트워크(100)의 리더 디바이스(216)에 주입되었으며, 그리고 리더 디바이스(216)는 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터에 안전하게 통신했다.
도 13은, 일반적으로 메쉬 네트워크에서의 커미셔닝 세션을 설정하는 것에 관련된, 메쉬 네트워크 커미셔닝의 예시적 방법(들)(1300)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 이해되는 것으로 의도되지 않으며, 그리고 설명된 방법 블록들 중 임의의 개수의 방법 블록이 방법 또는 대안적 방법을 구현하기 위하여 임의의 순서로 결합될 수 있다.
블록(1302)에서, 참가 디바이스들을 메쉬 네트워크에 참가하도록 커미셔닝하기 위한 커미셔너로서 커미셔닝 디바이스를 수락하라는 신청이 수신된다. 예컨대, 메쉬 네트워크(100)의 리더 디바이스(216)는 참가 디바이스들(212)을 메쉬 네트워크에 참가하도록 커미셔닝하기 위한 커미셔너로서 커미셔닝 디바이스(210)를 수락하라는 신청을 수신한다. 신청은 메쉬 네트워크를 통해 리더 디바이스(216)에 연결되는 경계 라우터(202)로부터 수신되고, 그리고 커미셔닝 디바이스(210)는 다른 네트워크, 예컨대, Wi Fi 네트워크 또는 이더넷 네트워크를 통해 경계 라우터(202)에 연결된다. 추가로, 신청은, 경계 라우터(202)와 커미셔닝 디바이스(210) 사이의 보안 통신 세션을 사용하여 수신되는데, 보안 통신 세션은 DTLS(Datagram Transport Layer Security)를 사용하여 설정된다. 리더 디바이스(216)는 메쉬 네트워크에 대한 네트워크 인터페이스를 포함하는 커미셔닝 디바이스(210)로부터 메쉬 네트워크(100)를 통해 신청을 수신할 수 있고, 그리고 커미셔닝 디바이스(210)는, 네트워크 비콘에서 네이티브 커미셔너 비트를 참이 되도록 셋팅함으로써, 커미셔너가 되기 위하여 신청한다. 커미셔닝 디바이스(210)는, CoAP(Constrained Application Protocol) 포트 위의 IEEE 802.15.4 인터페이스를 사용하여 신청을 리더 디바이스에 통신할 수 있다.
블록(1304)에서, 수신된 신청을 수락할지 또는 거절할지의 여부가 결정되고, 블록(1306)에서, 수신된 신청이 수락되는지 또는 거절되는지에 대한 표시를 가진 응답이 커미셔닝 디바이스에 송신된다. 예컨대, 리더 디바이스(216)는 수신된 신청을 수락할지 또는 거절할지의 여부를 결정하고, 그 이후, 수신된 신청이 수락되는지 또는 거절되는지에 대한 표시를 가진 응답을 커미셔닝 디바이스(210)에 송신한다. 리더 디바이스(216)는, 메쉬 네트워크(100)에 대한 단일 액티브 커미셔너가 있음을 보장하는 것에 기초하여, 수신된 신청을 수락할지 또는 거절할지의 여부를 결정한다.
블록(1308)에서, 수신된 신청이 수락되었다는 결정에 대한 응답으로 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태가 업데이트된다. 예컨대, 리더 디바이스(216)는 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태를 업데이트한다.
블록(1310)에서, 메쉬 네트워크에 대한 참가 모드를 개시하기 위한 명령이 커미셔닝 디바이스로부터 수신되고, 블록(1312)에서, 커미셔닝 데이터세트가 메쉬 네트워크 내에서 전파된다. 예컨대, 리더 디바이스(216)는 메쉬 네트워크(100)에 대한 참가 모드를 개시하기 위하여 커미셔닝 디바이스(210)로부터 명령을 수신하고, 메쉬 네트워크 내에서 커미셔닝 데이터세트를 전파한다. 커미셔닝 데이터세트는 커미셔너 세션 식별자, 커미셔너 타임스탬프, 암호화된 커미셔너 크리덴셜 및 보안-관련 동작들이 메쉬 네트워크에서 허용된다고 표시하는 보안 정책을 포함한다. 커미셔너가 메쉬 네트워크(100) 상에서 액티브인 경우, 커미셔닝 데이터세트는 경계 라우터(202)의 위치를 더 포함한다. 참가 모드가 메쉬 네트워크에서 인에이블되는 경우, 커미셔닝 데이터세트는 참가 디바이스들(212) 중 어느 것이 메쉬 네트워크에 참가하도록 허용되는지를 표시하는 스티어링 데이터를 더 포함한다.
블록(1314)에서, 암호화된 커미셔닝 크리덴셜이 리더 디바이스의 커미셔닝 동안 리더 디바이스(216)에 주입되었던 커미셔닝 크리덴셜로부터 유도된다. 예컨대, 리더 디바이스(216)는 리더 디바이스의 커미셔닝 동안 리더 디바이스에 주입되었던 커미셔닝 크리덴셜로부터 암호화된 커미셔닝 크리덴셜을 유도한다. 암호화된 커미셔닝 크리덴셜의 유도는 키 유도 함수를 적용시킴으로써 수행되고, 여기서, 키 유도 함수는 CMAC(Cipher-based Message Authentication Code)를 사용하여 해싱을 다수 회 수행한다. 구현들에서, 커미셔닝 크리덴셜은 인간-스케일링된 패스프레이즈이고, 암호화된 커미셔닝 크리덴셜의 유도는 커미셔닝 크리덴셜의 길이를 늘이는데 효과적이다.
블록(1316)에서, 암호화된 커미셔닝 크리덴셜의 복사본이 경계 라우터에 전송되어, 경계 라우터가 메쉬 네트워크에 대해 커미셔닝 디바이스를 인증하는 것을 허용한다. 예컨대, 리더 디바이스(216)는 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터(202)에 전송하여, 경계 라우터(202)가 메쉬 네트워크에 대해 커미셔닝 디바이스(210)를 인증하는 것을 허용한다.
도 14는, 일반적으로 메쉬 네트워크에서 다수의 커미셔닝 세션들을 관리하는 것과 관련되는 바와 같은, 메쉬 네트워크 커미셔닝의 예시적인 방법(들)(1400)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 이해되도록 의도되지 않고, 임의의 수의 설명되는 방법 블록들은 방법 또는 대안적인 방법을 구현하기 위하여 임의의 순서로 결합될 수 있다.
블록(1402)에서, 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에 보안 커미셔닝 통신 세션이 설정된다. 예컨대, 커미셔닝 디바이스(210)는 하나 이상의 참가 디바이스들(212)을 메쉬 네트워크에 참가하기 위하여 네트워크 통신 세션들을 안전하게 설정하기 위하여 메쉬 네트워크(100)의 경계 라우터(202)와 커미셔닝 디바이스 사이에 보안 커미셔닝 통신 세션을 설정한다. 커미셔닝 디바이스(210)는 메쉬 네트워크에 대한 액티브 커미셔너로서 커미셔닝 디바이스(210)의 수락을 요청하기 위하여 커미셔닝 디바이스로부터 메쉬 네트워크(100)의 리더 디바이스(216)로 신청을 전송함으로써 보안 커미셔닝 통신 세션을 설정하고, 커미셔닝 디바이스는 리더 디바이스로부터 신청의 수락의 표시를 수신한다.
블록(1404)에서, 메쉬 네트워크에 대한 참가가 활성화된다. 예컨대, 커미셔닝 디바이스는 메쉬 네트워크 내의 하나 이상의 라우터들로 하여금 메쉬 네트워크가 참가 요청들을 수락하고 있다고 광고하게 하는 참가 모드를 개시함으로써 메쉬 네트워크에 대한 참가를 활성화한다. 커미셔닝 디바이스(210)는 또한, 메쉬 네트워크가 참가 가능하게 하기 위하여 관리 메시지를 리더 디바이스(216)에 전송함으로써 메쉬 네트워크(100)에 대한 참가를 활성화할 수 있고, 여기서, 관리 메시지는 리더 디바이스(216)가 메쉬 네트워크에 대한 네트워크 데이터를 업데이트하는 것을 허용한다. 네트워크 데이터는 메쉬 네트워크 내의 하나 이상의 라우터 디바이스들에 전파되고, 여기서, 네트워크 데이터는 메쉬 네트워크(100)가 참가를 위하여 이용가능하다는 표시를 포함한다. 네트워크 데이터는 라우터 디바이스들에 의해 비콘에서 브로드캐스팅될 수 있고, 관리 메시지는 커미셔닝 디바이스(210)가 메쉬 네트워크에 참가하도록 구성된다고 하나 이상의 참가 디바이스들(212)에 표시하는 스티어링 데이터를 포함한다.
블록(1406)에서, 메쉬 네트워크에 참가하기 위한 요청이 참가 디바이스들 중 하나로부터 수신된다. 예컨대, 커미셔닝 디바이스(210)는 메쉬 네트워크(100)에 참가하기 위한 요청을 참가 디바이스들(212) 중 하나로부터 수신하고, 그 요청은 참가자 라우터를 통해 수신될 수 있다. 커미셔닝 디바이스(210)는 메쉬 네트워크(100)에 대한 네트워크 크리덴셜들 및 커미셔닝 디바이스(210)와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)를 수신하도록 참가 디바이스(212)가 위임되어야 한다는 표시를 참가자 라우터(214)에 송신할 수 있다. 참가자 라우터(214)에 송신되는 표시는, 참가자 라우터가, 참가 디바이스를 메쉬 네트워크에 커미셔닝하기 위하여, 수신된 KEK를 사용하여 네트워크 크리덴셜들을 참가 디바이스(212)에 안전하게 송신하는 것을 허용한다. 참가 디바이스(212)로부터 수신되는 요청은 참가 디바이스의 암호화된 디바이스 식별자를 포함할 수 있고, 여기서, 암호화된 디바이스 식별자는 J-PAKE(Password Authentication Key Exchange by Juggling)를 사용하여 참가 디바이스의 디바이스 식별자로부터 유도된다.
블록(1408)에서, 커미셔닝 디바이스와 참가 디바이스 사이에 보안 참가자 통신 세션이 설정된다. 예컨대, 커미셔닝 디바이스(210)는 커미셔닝 디바이스와 참가 디바이스(212) 사이에 보안 참가자 통신 세션을 설정한다. 커미셔닝 디바이스(210)는 참가 디바이스(212)로부터 수신되는 암호화된 디바이스 식별자가 사용자로부터 커미셔닝 디바이스로의 입력으로서 수신되는 디바이스 식별자의 복사본으로부터 커미셔닝 디바이스(210)에 의해 유도되는 암호화된 디바이스 식별자와 매칭한다고 결정함으로써 보안 참가자 통신 세션을 설정할 수 있고, 커미셔닝 디바이스(210)는 암호화된 디바이스 식별자를 공유되는 비밀(secret)로서 사용하여 참가자 통신 세션을 안전하게 한다.
블록(1410)에서, 암호화된 디바이스 식별자를 사용하여 참가 디바이스가 인증되고, 블록(1412)에서, 참가 디바이스가 메쉬 네트워크에 참가된다. 예컨대, 커미셔닝 디바이스(210)는 암호화된 디바이스 식별자를 사용하여 참가 디바이스(212)를 인증하며, 참가 디바이스(212)를 메쉬 네트워크에 참가한다.
도 15는, 일반적으로 메쉬 네트워크 내의 참가 디바이스를 프로비저닝하는 것과 관련되는 바와 같은, 메쉬 네트워크 커미셔닝의 예시적인 방법(들)(1500)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 이해되도록 의도되지 않고, 임의의 수의 설명되는 방법 블록들은 방법 또는 대안적인 방법을 구현하기 위하여 임의의 순서로 결합될 수 있다.
블록(1502)에서, 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에 커미셔닝 통신 세션이 설정된다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)는 메쉬 네트워크의 경계 라우터(202)와 커미셔닝 디바이스(210) 사이에 커미셔닝 통신 세션을 설정한다. 블록(1504)에서, 참가 디바이스와 커미셔닝 디바이스 사이에 참가자 통신 세션이 설정된다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)는 참가 디바이스(212)와 커미셔닝 디바이스 사이에 참가자 통신 세션을 설정한다.
블록(1506)에서, 커미셔닝 정보가 참가 디바이스에 전송되고, 여기서, 커미셔닝 정보는 메쉬 네트워크에 참가하기 위하여 참가 디바이스에 의해 사용가능하다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)는 참가 디바이스(212)가 메쉬 네트워크에 참가하기 위하여 사용할 수 있는 커미셔닝 정보를 참가 디바이스에 전송한다.
블록(1508)에서, 커미셔너 애플리케이션의 로케이션의 표시가 참가 디바이스로부터 수신되고, 1510에서, 수신된 표시를 활용하여 커미셔너 애플리케이션이 리트리브된다. 예컨대, 커미셔닝 디바이스(210)는 참가 디바이스로부터 커미셔너 애플리케이션의 로케이션의 표시를 수신하고, 여기서, 수신된 로케이션 표시는 URL(Uniform Resource Locator)일 수 있고, 커미셔닝 애플리케이션은 클라우드 서비스로부터 인터넷을 통해 커미셔너 애플리케이션을 리트리브한다. 커미셔닝 디바이스(210)는 또한, 커미셔너 애플리케이션이 커미셔닝 디바이스의 메모리에 저장되는지 여부를 결정하기 위해 수신된 URL을 사용할 수 있다.
블록(1512)에서, 참가 디바이스를 프로비저닝하기 위하여 커미셔너 애플리케이션이 실행된다. 예컨대, 커미셔닝 디바이스(210)는 참가 디바이스를 프로비저닝하기 위하여 커미셔너 애플리케이션을 활용한다. 참가 디바이스(212)의 프로비저닝은 참가 디바이스에 대한 소프트웨어를 업데이트하는 것, 클라우드 서비스 상의 사용자 계정으로 참가 디바이스를 링크하는 것 및/또는 참가 디바이스를 구성시키는 것을 포함할 수 있고, 여기서, 구성은 메쉬 네트워크 내의 다른 디바이스들과 관련되는 로컬 구성이다. 블록(1514)에서, 참가 디바이스의 커미셔닝이 완결되어 참가 디바이스가 메쉬 네트워크에 참가하는 것을 허용한다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)는 커미셔닝을 완결하여 참가 디바이스(212)가 메쉬 네트워크에 참가하는 것을 허용한다.
도 16은, 일반적으로 메쉬 네트워크에서의 헌팅 및 스티어링과 관련되는 바와 같은, 메쉬 네트워크 커미셔닝의 예시적인 방법(들)(1600)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 이해되도록 의도되지 않고, 임의의 수의 설명되는 방법 블록들은 방법 또는 대안적인 방법을 구현하기 위하여 임의의 순서로 결합될 수 있다.
블록(1602)에서, 메쉬 네트워크에 대한 스티어링 데이터가 결정되고, 여기서, 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함한다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)가 메쉬 네트워크에 대한 스티어링 데이터를 결정하고, 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함한다. 구현예들에서, 스티어링 데이터는 IEEE EUI-64(64-bit Extended Unique Identifier)인 디바이스 식별자의 CRC16(16-bit Cyclic Redundancy Check)이다. 커미셔닝 디바이스(210)는 또한, 메쉬 네트워크에 참가하도록 허용되는 부가적인 디바이스들과 연관된 부가적인 디바이스 식별자들에 대한 스티어링 데이터를 결정함으로써, 메쉬 네트워크(100)에 대한 스티어링 데이터를 결정할 수 있다.
블록(1604)에서, 스티어링 데이터는 메쉬 네트워크에 대한 커미셔닝 디바이스로부터 메쉬 네트워크 내의 라우터들에 전파된다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)는 메쉬 네트워크 내의 라우터들에 스티어링 데이터를 전파하고, 스티어링 데이터는 커미셔너가 메쉬 네트워크 상에서 액티브하다는 것을 표시한다. 스티어링 데이터를 전파하는 것은 라우터들(102)이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하고, 스티어링 데이터는 디바이스 식별자와 연관된 디바이스로 하여금, 디바이스가 메쉬 네트워크에 참가하도록 허용되는 것을 식별하는 것을 가능하게 하는데 유효하다. 스티어링 데이터를 전파하는 커미셔닝 디바이스(210)는 디바이스가 다른 네트워크들로부터 메쉬 네트워크를 구별하는 것을 가능하게 하는데 유효하고, 여기서, 다른 네트워크들은 IEEE 802.15.4 네트워크들이다.
도 17은 일반적으로 메쉬 네트워크에서의 스티어링 및 헌팅에 관련된 메쉬 네트워크 커미셔닝의 예시적인 방법(들)(1700)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 해석되도록 의도되지 않고, 임의의 수의 설명되는 방법 블록들이, 방법 또는 대안 방법을 구현하기 위해, 임의의 순서로 조합될 수 있다.
블록(1702)에서, 메쉬 네트워크에 대한 스티어링 데이터가 결정되고, 여기서, 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함하고, 표시는 디바이스 식별자를 표현하는 값들의 세트로서 블룸 필터에서 표현된다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)는 메쉬 네트워크에 대한 스티어링 데이터를 결정하고, 스티어링 데이터는 디바이스 식별자를 표현하는 값들의 세트로서 블룸 필터에서 표현되는 표시를 포함한다. 구현예들에서, 커미셔닝 디바이스(210)는, 제 1 해시 값을 생성하기 위해 디바이스 식별자에 제 1 해시 함수를 적용하고, 제 2 해시 값을 생성하기 위해 디바이스 식별자에 제 2 해시 함수를 적용함으로써, 스티어링 데이터를 결정한다. 디바이스 식별자는 IEEE EUI-64(64-bit Extended Unique Identifier)일 수 있고, 여기서, 디바이스 식별자는 EUI-64의 최하위 24 비트이다. 구현예들에서, 제 1 및 제 2 해시 함수들은 CRC(Cyclic Redundancy Check)들이고, 제 1 해시 함수는 CRC16-CCITT이고, 제 2 해시 함수는 CRC16-ANSI이다.
그 후에, 커미셔닝 디바이스(210)는 블룸 필터에서의 제 1 비트 필드 로케이션을 결정하기 위해 제 1 해시 값에 대해 모듈러 연산을 수행하고, 블룸 필터에서의 제 2 비트 필드 로케이션을 결정하기 위해 제 2 해시 값에 대해 모듈러 연산을 수행한다. 모듈러 연산에 대한 제수는 블룸 필터의 비트 어레이의 길이일 수 있다. 커미셔닝 디바이스(210)는 블룸 필터의 제 1 비트 필드 로케이션에서의 값을 일로 세팅할 수 있고, 블룸 필터의 제 2 비트 필드 로케이션에서의 값을 일로 세팅할 수 있다. 커미셔닝 디바이스(210)는, 메쉬 네트워크에 임의의 디바이스가 참가 가능한 것을 표시하기 위해, 스티어링 데이터에서의 모든 비트 필드 값들을 일의 값으로 세팅할 수 있다. 대안적으로, 커미셔닝 디바이스(210)는 스티어링 데이터의 비트 필드 값들을 제로의 값으로 세팅할 수 있고, 이는 메쉬 네트워크에 대한 참가를 불가능하게 한다.
블록(1704)에서, 스티어링 데이터는 메쉬 네트워크에 대한 커미셔닝 디바이스로부터 메쉬 네트워크 내의 라우터들에 전파된다. 예컨대, 메쉬 네트워크(100)의 커미셔닝 디바이스(210)는 메쉬 네트워크 내의 라우터들에 스티어링 데이터를 전파하고, 스티어링 데이터는 커미셔너가 메쉬 네트워크 상에서 액티브하다는 것을 표시한다. 스티어링 데이터를 전파하는 것은 라우터들(102)이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하고, 스티어링 데이터는 디바이스 식별자와 연관된 디바이스로 하여금, 디바이스가 메쉬 네트워크에 참가하도록 허용되는 것을 식별하기 위해, 디바이스에서 결정된 값들의 제 2 세트와 블룸 필터에서의 값들의 세트를 비교하는 것을 가능하게 한다.
도 18은 일반적으로 메쉬 네트워크에서 노드들을 파티셔닝하는 것에 관련된 메쉬 네트워크 커미셔닝의 예시적인 방법(들)(1800)을 예시한다. 방법 블록들이 설명되는 순서는 제한으로서 해석되도록 의도되지 않고, 임의의 수의 설명되는 방법 블록들이, 방법 또는 대안 방법을 구현하기 위해, 임의의 순서로 조합될 수 있다.
블록(1802)에서, 메쉬 네트워크 내의 노드 디바이스에서 커미셔닝 데이터세트가 수신된다. 예컨대, 메쉬 네트워크(100)에서의 노드에서의 노드 디바이스(예컨대, 라우터(102) 또는 엔드 디바이스(106))는, 수신된 타임스탬프, 커미셔닝 크리덴셜, 메쉬 네트워크의 네트워크 이름, 및 메쉬 네트워크에서 어떤 보안-관련된 동작들이 허용되는지를 표시하는 보안 폴리시를 포함하는 커미셔닝 데이터세트를 수신한다. 수신된 타임스탬프는 시간 값, 및 시간 값이 UTC(Coordinated Universal Time)에서 유래한 것이라는 표시를 포함한다.
블록(1804)에서, 수신된 커미셔닝 데이터세트에 포함된 수신된 타임스탬프가, 노드 디바이스에 저장된 커미셔닝 데이터세트에 포함된 저장된 타임스탬프와 비교된다. 예컨대, 메쉬 네트워크(100) 내의 노드 디바이스는, 노드 디바이스에 저장된 커미셔닝 데이터세트에 포함된 저장된 타임스탬프와 수신된 커미셔닝 데이터세트에서의 수신된 타임스탬프를 비교한다. 구현예들에서, 노드 디바이스 및 리더 디바이스는 메쉬 네트워크에 이전에 커미셔닝되었었고, 이전의 커미셔닝은 노드 디바이스 및 리더 디바이스에 동일한 커미셔닝 데이터세트들을 저장하였었다. 노드 디바이스에서의 저장된 커미셔닝 데이터세트는, 메쉬 네트워크를 통한 리더 디바이스와 노드 디바이스 사이의 통신을 중단시키는, 메쉬 네트워크의 분할 후에, 업데이트될 수 있다. 분할은 메쉬 네트워크를 분리시키고, 메쉬 네트워크의 제 1 파티션은 리더 디바이스를 포함하고, 메쉬 네트워크의 제 2 파티션은 노드 디바이스를 포함한다. 노드 디바이스는 메쉬 네트워크의 제 1 파티션 및 제 2 파티션의 병합 후에 커미셔닝 데이터세트를 수신할 수 있고, 여기서, 병합은 메쉬 네트워크를 통한 리더 디바이스와 노드 디바이스 사이의 통신 경로를 재설정한다.
블록(1806)에서, 노드 디바이스에 저장된 커미셔닝 데이터세트에 포함된 저장된 타임스탬프가 수신된 커미셔닝 데이터세트에 포함된 타임스탬프보다 더 최근인지 여부에 대한 결정이 이루어진다. 예컨대, (블록(1806)에서의) 비교에 기초하여, 노드 디바이스는, 노드 디바이스에 저장된 커미셔닝 데이터세트에 포함된 저장된 타임스탬프가 수신된 커미셔닝 데이터세트에 포함된 타임스탬프보다 더 최근인지 여부를 결정한다.
저장된 타임스탬프가 수신된 타임스탬프보다 더 최근인 경우에(즉, 1806으로부터 "예"), 1808에서, 메쉬 네트워크의 리더 디바이스에 메시지가 송신되고, 메시지는 저장된 커미셔닝 데이터세트를 포함한다. 예컨대, 메쉬 네트워크 내의 노드 디바이스는 저장된 커미셔닝 데이터세트를 포함하는 메시지를 메쉬 네트워크(100)의 리더 디바이스에 송신한다. 송신된 메시지는, 리더 디바이스로 하여금, 메쉬 네트워크에 대한 가장 최근의 커미셔닝 데이터세트로서 저장된 커미셔닝 데이터세트를 수락하는 것을 가능하게 하고, 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 전파하는 것을 가능하게 한다. 대안적으로, 수신된 타임스탬프가 저장된 타임스탬프보다 더 최근인 경우에(즉, 1806으로부터 "아니오"), 1810에서, 저장된 커미셔닝 데이터세트는 수신된 커미셔닝 데이터세트와 매칭되도록 업데이트된다. 예컨대, 메쉬 네트워크 내의 노드 디바이스는 수신된 커미셔닝 데이터세트와 매칭되도록 저장된 커미셔닝 데이터세트를 업데이트한다.
도 19는 (도 1을 참조하여 설명된 바와 같은) 메쉬 네트워크(100), 및 메쉬 네트워크 커미셔닝의 실시예들이 구현될 수 있는 예시적 환경(1900)을 예시한다. 일반적으로, 환경(1900)은 메쉬 네트워크에서의 통신을 위해 구성된 임의의 수의 메쉬 네트워크 디바이스들을 가진 스마트-홈 또는 다른 타입의 구조의 부분으로서 구현된 메쉬 네트워크(100)를 포함한다. 예컨대, 메쉬 네트워크 디바이스들은 서모스탯(1902), (예컨대, 연기 및/또는 일산화탄소에 대한) 위험 검출기들(1904), 카메라들(1906)(예컨대, 실내 및 실외), 조명 유닛들(1908)(예컨대, 실내 및 실외), 및 (예컨대, 스마트-홈 환경 내의) 구조(1912)의 내측 및/또는 외측에 구현되는 임의의 다른 타입들의 메쉬 네트워크 디바이스들(1910)을 포함할 수 있다. 이러한 예에서, 메쉬 네트워크 디바이스들은 또한, 커미셔닝 디바이스(210), 경계 라우터(202), 참가자 라우터(214)와 같은 이전에 설명된 디바이스들 중 임의의 디바이스뿐만 아니라, 라우터(102), 엔드 디바이스(106), 및/또는 참가 디바이스(212)로서 구현되는 디바이스들 중 임의의 디바이스를 포함할 수 있다.
환경(1900)에서, 임의의 수의 메쉬 네트워크 디바이스들은, 무선 상호연결을 위해 서로 무선으로 통신 및 상호작용하도록 구현될 수 있다. 메쉬 네트워크 디바이스들은, 다양한 유용한 스마트-홈 목적들 및 구현들 중 임의의 것을 제공하기 위해, 서로 그리고/또는 중앙 서버 또는 클라우드-컴퓨팅 시스템과 끊김없이 통합될 수 있는 모듈러, 지능형, 멀티-감지, 네트워크-연결된 디바이스들이다. 본원에서 설명되는 디바이스들 중 임의의 디바이스로서 구현될 수 있는 메쉬 네트워크 디바이스의 예는 도 20을 참조하여 도시 및 설명된다.
구현들에서, 서모스탯(1902)은, 주변 기후 특징들(예컨대, 온도 및/또는 습도)을 검출하고 스마트-홈 환경에서 HVAC 시스템을 제어하는 Nest® 학습 서모스탯을 포함할 수 있다. 학습 서모스탯(1902) 및 다른 스마트 디바이스들은 디바이스들에 대한 거주자 설정들을 캡쳐함으로써 "학습한다". 예컨대, 서모스탯은 아침 및 저녁, 그리고 구조의 거주자들이 잠들 때 또는 깨어날 때뿐만 아니라 거주자들이 통상적으로 외출했을 때 또는 집에 있을 때를 위한 바람직한 온도 설정점들을 학습한다.
위험 검출기(1904)는 유해 물질 또는 유해 물질을 표시하는 물질(예컨대, 연기, 화재, 또는 일산화탄소)의 존재를 검출하도록 구현될 수 있다. 무선 상호연결의 예들에서, 위험 검출기(1904)는 연기의 존재를 검출할 수 있으며, 연기는 구조에서의 화재를 표시하며, 이러한 경우, 연기를 처음 검출한 위험 검출기는 연결된 메쉬 네트워크 디바이스들 모두에 저전력 웨이크-업 신호를 브로드캐스팅할 수 있다. 그 다음으로, 다른 위험 검출기들(1904)은 브로드캐스팅된 웨이크-업 신호를 수신하고, 위험 검출을 위해 그리고 경보 메시지들의 무선 통신들을 수신하기 위해 고전력 상태를 개시할 수 있다. 또한, 조명 유닛들(1908)은 브로드캐스팅된 웨이크-업 신호를 수신하고, 문제 있는 영역을 조명 및 식별하도록 검출된 위험 구역에서 활성화될 수 있다. 다른 예에서, 조명 유닛들(1908)은, 검출된 화재 또는 침입에 대해서와 같이, 구조의 문제 있는 영역 또는 구역을 표시하기 위해 하나의 조명 색으로 활성화되고 그리고 구조의 안전한 구역들 및/또는 구조로부터의 탈출 루트들을 표시하기 위해 상이한 조명 색으로 활성화될 수 있다.
다양한 구성들에서, 메쉬 네트워크 디바이스들(1910)은 출입구 인터페이스 디바이스를 포함할 수 있으며, 출입구 인터페이스 디바이스는 네트워크-연결된 도어 록 시스템과 협력하여 기능하고 그리고 구조(1912)의 외측 도어와 같은 위치로의 사람의 접근 또는 그 위치로부터의 사람의 떠남을 검출하여 그에 응답한다. 출입구 인터페이스 디바이스는, 누군가가 스마트-홈 환경에 접근하는지 또는 진입하는지에 기초하여 다른 메쉬 네트워크 디바이스들과 상호작용할 수 있다. 출입구 인터페이스 디바이스는 도어벨 기능을 제어하고, 오디오 또는 시각적 수단을 통해 사람의 접근 또는 떠남을 알리고, 그리고 거주자들이 오갈 때 보안 시스템을 활성화 또는 비활성화하는 것과 같이 보안 시스템에 대한 설정들을 제어할 수 있다. 메쉬 네트워크 디바이스들(1910)은 또한, 예컨대, 주변 조명 컨디션들을 검출하고, (예컨대, 점유 센서를 이용하여) 룸-점유 상태들을 검출하고, 그리고 하나 이상의 조명들의 전력 및/또는 조도조절 상태(dim state)를 제어하기 위한 다른 센서들 및 검출기들을 포함할 수 있다. 일부 예들에서, 센서들 및 검출기들은 또한, 천장 팬과 같은 팬의 전력 상태 또는 속도를 제어할 수 있다. 또한, 센서들 및/또는 검출기들은 룸 또는 인클로저의 점유를 검출하고, 그리고 예컨대, 룸 또는 구조가 점유되지 않은 경우에 전기 콘센트(electrical outlet) 또는 디바이스들에 대한 전력의 공급을 제어할 수 있다.
메쉬 네트워크 디바이스들(1910)은 또한, 냉장고들, 스토브들 및 오븐들, 세탁기들, 건조기들, 에어 컨디셔너들, 풀 히터들, 관개 시스템들, 보안 시스템들 등과 같은 연결된 어플라이언스들 및/또는 제어되는 시스템들뿐만 아니라 텔레비전들, 엔터테인먼트 시스템들, 컴퓨터들, 인터컴 시스템들, 차고-도어 개폐기들, 천장 팬들, 제어 패널들 등과 같은 다른 전자 및 컴퓨팅 디바이스들을 포함할 수 있다. 플러그인될 때, 어플라이언스, 디바이스, 또는 시스템은 위에서 설명된 바와 같은 메쉬 네트워크에 자신을 알릴 수 있고, 예컨대, 스마트 홈의 메쉬 네트워크의 제어부들 및 디바이스들과 자동으로 통합될 수 있다. 메쉬 네트워크 디바이스들(1910)이, 스위밍 풀 히터 또는 관개 시스템을 제어하는 디바이스와 같이, 물리적으로 구조의 외측에 로케이팅되지만 무선 통신 범위 내에 있는 디바이스들을 포함할 수 있음이 유의되어야 한다.
위에서 설명된 바와 같이, 메쉬 네트워크(100)는, 메쉬 네트워크(100) 외측의 외부 네트워크와의 통신을 위해 인터페이싱하는 경계 라우터(202)를 포함한다. 경계 라우터(202)는 액세스 포인트(204)에 연결되고, 액세스 포인트(204)는 인터넷과 같은 통신 네트워크(206)에 연결된다. 통신 네트워크(206)를 통해 연결되는 클라우드 서비스(208)는, 메쉬 네트워크(100) 내의 디바이스들과 관련된 그리고/또는 그 디바이스들을 이용한 서비스들을 제공한다. 예로서, 클라우드 서비스(208)는, 스마트폰들, 태블릿들 등과 같은 최종 사용자 디바이스들을 메쉬 네트워크의 디바이스들에 연결하고, 메쉬 네트워크(100)에서 포착된 데이터를 프로세싱하여 최종 사용자들에게 제공하고, 하나 이상의 메쉬 네트워크들(100)의 디바이스들을 클라우드 서비스(208)의 사용자 계정들에 링크하고, 메쉬 네트워크(100)의 디바이스들을 프로비저닝 및 업데이팅하는 등을 위한 애플리케이션들을 포함할 수 있다. 예컨대, 사용자는 모바일 폰 또는 태블릿 디바이스와 같은 네트워크-연결된 컴퓨터 또는 휴대용 디바이스를 이용하여 스마트-홈 환경의 서모스탯(1902) 및 다른 메쉬 네트워크 디바이스들을 제어할 수 있다. 또한, 메쉬 네트워크 디바이스들은 경계 라우터(202) 및 액세스 포인트(204)를 통해 임의의 중앙 서버 또는 클라우드-컴퓨팅 시스템에 정보를 통신할 수 있다. 데이터 통신들은, 다양한 커스텀 또는 표준 무선 프로토콜들(예컨대, Wi-Fi, 저전력용 ZigBee, 6LoWPAN 등) 중 임의의 것을 이용하고 그리고/또는 다양한 커스텀 또는 표준 유선 프로토콜들(CAT6 이더넷, 홈플러그(HomePlug) 등) 중 임의의 것을 이용함으로써 수행될 수 있다.
메쉬 네트워크(100)의 메쉬 네트워크 디바이스들 중 임의의 메쉬 네트워크 디바이스는, 스마트 홈 환경에서 메쉬 네트워크(100)를 생성하기 위해 저전력 및 통신 노드들의 역할을 할 수 있다. 네트워크의 개별 저전력 노드들은 자신들이 감지하는 것에 관한 메시지들을 규칙적으로 전송할 수 있고, 환경의 다른 저전력형 노드들은 ― 자기 자신들의 메시지들을 전송하는 것에 추가하여 ― 메시지들을 반복할 수 있고, 이에 의해, 메쉬 네트워크 전체에 걸쳐 메시지들이 노드로부터 노드로(즉, 디바이스로부터 디바이스로) 통신된다. 메쉬 네트워크 디바이스들은, 특히 배터리-전원식일 때, 메시지들을 수신하기 위해 저전력형 통신 프로토콜들을 활용하여 전력을 절약하도록, 메시지들을 다른 통신 프로토콜들에 대해 번역하도록, 그리고 번역된 메시지들을 다른 노드들 및/또는 중앙 서버 또는 클라우드-컴퓨팅 시스템에 전송하도록 구현될 수 있다. 예컨대, 점유 및/또는 주변 광 센서는 룸의 거주자를 검출할 뿐만 아니라 주변 광을 측정할 수 있고, 룸이 어두움을 주변 광 센서가 검출할 때 그리고 룸에 누군가가 있음을 점유 센서가 검출할 때, 광원을 활성화할 수 있다. 또한, 센서는, 룸에서의 사람의 존재를 검출하는 점유 센서와 일치하는(coincident) 순간 메시지들을 비롯하여, 룸의 점유 및 룸의 광의 양에 관한 메시지들을 규칙적으로 전송하는 저전력 무선 통신 칩(예컨대, ZigBee 칩)을 포함할 수 있다. 위에서 언급된 바와 같이, 이러한 메시지들은 무선으로, 메쉬 네트워크를 이용하여 스마트-홈 환경 내의 노드로부터 노드로(즉, 스마트 디바이스로부터 스마트 디바이스로) 전송될 수 있을 뿐만 아니라 인터넷을 통해 중앙 서버 또는 클라우드-컴퓨팅 시스템에 전송될 수 있다.
다른 구성들에서, 메쉬 네트워크 디바이스들 중 다양한 메쉬 네트워크 디바이스들은 스마트-홈 환경에서 경보 시스템을 위해 "트립와이어(tripwire)들"로 기능할 수 있다. 예컨대, 범죄자가 윈도우들, 도어들, 및 구조 또는 환경의 다른 진입 지점들에 로케이팅된 경보 센서들에 의한 검출을 회피하는 이벤트에서, 경보는, 메쉬 네트워크의 저전력형 메쉬 노드들 중 하나 이상으로부터 점유, 모션, 열, 소리 등의 메시지를 수신함으로써 계속 트리거될 수 있다. 다른 구현들에서, 메쉬 네트워크는, 구조 내에서 사람이 룸으로부터 룸으로 옮겨감에 따라 조명 유닛들(1908)을 자동으로 턴온 및 턴오프하기 위해 이용될 수 있다. 예컨대, 메쉬 네트워크 디바이스들은 구조를 통하는 사람의 이동을 검출하여, 메쉬 네트워크의 노드들을 통해 대응 메시지들을 통신할 수 있다. 어느 룸들이 점유되는지를 표시하는 메시지들을 이용하여, 그 메시지들을 수신하는 다른 메쉬 네트워크 디바이스들이 그에 따라 활성화 및/또는 비활성화될 수 있다. 위에서 나타낸 바와 같이, 메쉬 네트워크는 또한, 예컨대, 안전한 출구로 이어지는 적절한 조명 유닛들(1908)을 턴온함으로써, 응급 이벤트에서 출구 조명을 제공하기 위해 활용될 수 있다. 조명 유닛들(1908)은 또한, 사람이 그 구조를 안전하게 빠져나가기 위해 이동해야 하는 출구 루트를 따라서 방향을 표시하도록 턴온될 수 있다.
다양한 메쉬 네트워크 디바이스들은 또한, 웨어러블 컴퓨팅 디바이스들과 통합되고 통신하도록 구현될 수 있는데, 예컨대, 구조물의 거주자를 식별하고 로케이팅하며, 그에 따라서 온도, 조명, 및 사운드 시스템, 등을 조절하는 데에 사용될 수 있다. 다른 구현예들에서, RFID 감지(예컨대, RFID 팔찌, 목걸이, 또는 열쇠 고리를 갖는 사람), 합성 비전 기술들(예컨대, 비디오 카메라들 및 안면 인식 프로세서들), 오디오 기술들(예컨대, 음성, 사운드 패턴, 진동 패턴 인식), 초음파 감지/이미징 기술들, 및 적외선 또는 근거리 무선 통신(NFC) 기술들(예컨대, 적외선 또는 NFC-가능한 스마트폰을 착용한 사람)은, 규칙-기반 추론 엔진들 또는 인공 지능 기술들과 함께, 구조물 또는 환경에 있는 거주자의 위치에 관하여 감지된 정보로부터 유용한 결론을 도출한다.
다른 구현예들에서, 개인 안락-지역 네트워크들, 개인 건강-지역 네트워크들, 개인 안전-지역 네트워크들, 및/또는 서비스 로봇들의 그러한 다른 인간-대면 기능들은, 이러한 기능들의 더 나은 성능을 달성하기 위한 규칙-기반 추론 기술들 또는 인공 지능 기술들에 따른, 환경 내의 다른 메쉬 네트워크 디바이스들 및 센서들과의 논리적 통합에 의해 강화될 수 있다. 개인 건강-지역과 관련된 예에서, 시스템은, (예컨대, 메쉬 네트워크 디바이스들 및 센서들 중 임의의 것을 사용하여) 규칙-기반 추론 및 인공 지능 기술들에 따라, 애완 동물이 거주자의 현재 위치를 향하여 이동하고 있는지를 검출할 수 있다. 유사하게, 위험 검출기 서비스 로봇은, 주방에서 온도 및 습도 레벨들이 상승하여, 위험 검출 임계값, 예컨대, 연기 검출 임계값을 일시적으로 상승시키는 것을, 주변 연기 레벨들의 임의의 작은 증가들은 아마도 요리 활동에 기인할 것이고, 진짜로 위험한 조건에 기인한 것은 아닐 것이라는 추론 하에서, 통지받을 수 있다. 임의의 유형의 모니터링, 검출, 및/또는 서비싱에 대해 구성된 임의의 서비스 로봇은 메쉬 네트워크 상의 메쉬 노드 디바이스로서 구현될 수 있고, 메쉬 네트워크 상에서의 통신을 위해 무선 상호연결 프로토콜들을 준수한다.
메쉬 네트워크 디바이스들(1910)은 또한, 스마트-홈 환경에서 구조물의 개별 거주자들 각각을 위한 스마트 알람 시계를 포함할 수 있다. 예컨대, 거주자는, 예컨대, 다음 날 또는 다음 주를 위한 기상 시간을 위해 알람 디바이스를 커스터마이징할 수 있고 설정할 수 있다. 알람들이 울릴 때 알람들에 응답하는 거주자를 고찰하고 시간에 따른 바람직한 수면 패턴들에 대해 결론을 내리기 위해, 인공 지능이 사용될 수 있다. 그러면, 개별 거주자는, 사람의 고유한 특징에 기초하여, 메쉬 네트워크에서 트랙킹될 수 있고, 그러한 고유한 특징은, 메쉬 네트워크 디바이스들에 로케이팅된 센서들, 예컨대, 초음파 센서들, 및 패시브 IR 센서들, 등을 포함하는 센서들로부터 획득된 데이터에 기초하여 결정된다. 거주자의 고유한 특징은, 움직임, 음성, 높이, 크기, 등의 패턴들의 조합뿐만 아니라 안면 인식 기술들의 사용에 기초할 수 있다.
무선 상호연결의 예에서, 개인을 위한 기상 시간은, 구조물을 원하는 수면 및 기상 온도 설정들로 예열하거나 냉각하기 위해, 효율적인 방식으로 HVAC 시스템을 제어하도록, 온도 조절 장치(1902)와 연관될 수 있다. 바람직한 설정들은, 예컨대, 사람이 잠들기 전에 그리고 기상 시에 온도 조절 장치에 설정된 온도들을 캡쳐링하는 것에 의해서, 시간에 걸쳐서 학습될 수 있다. 수집된 데이터는 또한, 사람의 생체 측정 표시들, 예컨대, 호흡 패턴들, 심박수, 움직임, 등을 포함할 수 있고, 이러한 데이터에 기초하여, 언제 사람이 실제로 기상했는지를 나타내는 데이터와 조합하여 추론들이 이루어진다. 다른 메쉬 네트워크 디바이스들은, 다른 스마트-홈 목적들, 예컨대, 환경을 원하는 설정으로 예열하거나 냉각하기 위해 온도 조절 장치(1902)를 조절하는 것, 그리고 조명들(1908)을 턴-온하거나 턴-오프하는 것을 제공하기 위해, 데이터를 사용할 수 있다.
구현예들에서, 메쉬 네트워크 디바이스들은 또한, 예컨대, 흐르는 물을 검출하고 물 사용 및 소비에 대한 맵핑 및 알고리즘들에 기초하여 스마트-홈 환경에서의 물 사용에 관한 추론들을 결정하기 위해서, 사운드, 진동, 및/또는 동작 감지를 위해 활용될 수 있다. 이는, 홈의 각각의 물 소스의 핑거프린트 또는 특징을 결정하기 위해 사용될 수 있고, 또한, "오디오 핑거프린팅 물 사용"으로 지칭된다. 유사하게, 메쉬 네트워크 디바이스들은, 원치않는 해충, 예컨대, 쥐들 및 다른 설치류들 뿐만 아니라, 흰개미들, 바퀴벌레들, 및 다른 벌레들의 미세한 사운드, 진동, 및/또는 동작을 검출하기 위해 활용될 수 있다. 그러면, 시스템은, 조기 검출 및 예방을 용이하게 하는 것을 돕기 위해, 예컨대, 경고 메시지들과 함께, 환경에서 의심가는 해충들을 거주자에게 통보할 수 있다.
도 20은, 본원에서 설명되는 바와 같은 메쉬 네트워크 커미셔닝의 하나 이상의 실시예들에 따른 메쉬 네트워크의 메쉬 네트워크 디바이스들 중 임의의 디바이스로 구현될 수 있는 예시적인 메쉬 네트워크 디바이스(2000)를 도시한다. 디바이스(2000)는 전자 회로망, 마이크로프로세서들, 메모리, 입력 출력(I/O) 로직 제어, 통신 인터페이스들 및 컴포넌트들뿐만 아니라, 메쉬 네트워크의 디바이스를 구현하기 위한 다른 하드웨어, 펌웨어, 및/또는 소프트웨어와 통합될 수 있다. 게다가, 메쉬 네트워크 디바이스(2000)는, 다양한 컴포넌트들과 함께, 예컨대, 도 21에 도시된 예시적인 디바이스와 관련하여 추가적으로 설명되는 바와 같은 상이한 컴포넌트들의 임의의 개수 및 조합으로 구현될 수 있다.
이러한 예에서, 메쉬 네트워크 디바이스(2000)는, 실행 가능한 명령어들을 프로세싱하는, 저-전력 마이크로프로세서(2002) 및 고-전력 마이크로프로세서(2004)(예컨대, 마이크로제어기들 또는 디지털 신호 프로세서들)를 포함한다. 디바이스는 또한, (예컨대, 전자 회로망을 포함하기 위해) 입력-출력(I/O) 로직 제어(2006)를 포함한다. 마이크로프로세서들은, 집적 회로, 프로그래밍 가능한 로직 디바이스, 하나 이상의 반도체들을 사용하여 형성된 로직 디바이스, 및 실리콘 및/또는 하드웨어 형태의 다른 구현예들, 예컨대, 시스템-온-칩(SoC)으로서 구현된 프로세서 및 메모리 시스템의 컴포넌트들을 포함할 수 있다. 대안적으로 또는 부가적으로, 디바이스는, 소프트웨어, 하드웨어, 펌웨어, 또는 프로세싱 및 제어 회로들로 구현될 수 있는 고정형 로직 회로망 중 임의의 하나 또는 조합으로 구현될 수 있다. 저-전력 마이크로프로세서(2002) 및 고-전력 마이크로프로세서(2004)는 또한, 디바이스의 하나 이상의 상이한 디바이스 기능들을 지원할 수 있다. 예컨대, 고-전력 마이크로프로세서(2004)는 계산 집약적인 동작들을 실행할 수 있는 반면에, 저-전력 마이크로프로세서(2002)는 덜 복잡한 프로세스들, 예컨대, 하나 이상의 센서들(2008)로부터 온도 또는 위험을 검출하는 것을 다룰 수 있다. 저 전력 프로세서(2002)는 또한, 계산 집약적인 프로세스들을 위해, 고-전력 프로세서(2004)를 깨우거나 초기화할 수 있다.
하나 이상의 센서들(2008)은 다양한 특성들, 예컨대, 가속도, 온도, 습도, 물, 공급되는 전력, 근접성, 외부 동작, 디바이스 동작, 사운드 신호들, 초음파 신호들, 광 신호들, 불, 연기, 일산화탄소, GPS(global-positioning-satellite) 신호들, RF(radio-frequency), 또는 다른 전자기 신호들 또는 전자기장들, 등을 검출하도록 구현될 수 있다. 이로써, 센서들(2008)은, 온도 센서들, 습도 센서들, 위험-관련된 센서들, 다른 환경 센서들, 가속도계들, 마이크로폰들, 카메라들(예컨대, 고체 촬상 소자 또는 비디오 카메라들)까지의 그리고 카메라들을 포함하는 광 센서들, 액티브 또는 패시브 방사선 센서들, GPS 수신기들, 및 라디오 주파수 식별 검출기들 중 임의의 하나 또는 조합을 포함할 수 있다. 구현예들에서, 메쉬 네트워크 디바이스(2000)는 하나 이상의 일차 센서들뿐만 아니라, 하나 이상의 이차 센서들을 포함할 수 있고, 일차 센서들은 디바이스의 주요 동작(예컨대, 온도 조절 장치에서 온도를 감지하는 것 또는 연기 검출기에서 연기를 감지하는 것)에 대해 핵심적인 데이터를 감지하는 반면에, 이차 센서들은 다른 유형들의 데이터(예컨대, 동작, 광 또는 사운드)를 감지할 수 있으며, 그러한 다른 유형들의 데이터는 에너지-효율 목표들을 위해 또는 스마트-동작 목표들을 위해 사용될 수 있다.
메쉬 네트워크 디바이스(2000)는, 메모리 디바이스 제어기(2010), 및 임의의 타입의 비휘발성 메모리 및/또는 다른 적절한 전자 데이터 저장 디바이스와 같은 메모리 디바이스(2012)를 포함한다. 메쉬 네트워크 디바이스(2000)는 또한, 다양한 펌웨어 및/또는 소프트웨어, 예컨대 메모리에 의해 컴퓨터 실행가능 명령어들로서 유지되고 마이크로프로세서들에 의해 실행되는 운영 시스템(2014)을 포함할 수 있다. 디바이스 소프트웨어는 또한, 메쉬 네트워크 커미셔닝의 실시예들을 구현하는 커미셔닝 애플리케이션(2106)을 포함할 수 있다. 메쉬 네트워크 디바이스(2000)는 또한, 다른 디바이스 또는 주변기기 컴포넌트와 인터페이싱하기 위한 디바이스 인터페이스(2018)를 포함하고, 컴포넌트들 간의 데이터 통신을 위해 메쉬 네트워크 디바이스의 다양한 컴포넌트들을 커플링시키는 통합형 데이터 버스(2020)를 포함한다. 메쉬 네트워크 디바이스에서의 데이터 버스는 또한, 상이한 버스 구조들 및/또는 버스 아키텍쳐들 중 임의의 하나 또는 이들의 결합으로 구현될 수 있다.
디바이스 인터페이스(2018)는, (예컨대, 사용자 인터페이스로) 사용자로부터 입력을 수신하고 그리고/또는 정보를 사용자에게 제공할 수 있으며, 수신된 입력은 셋팅을 결정하는데 사용될 수 있다. 디바이스 인터페이스(2018)는 또한, 사용자 입력에 대해 응답하는 기계적 또는 가상의 컴포넌트들을 포함할 수 있다. 예컨대, 사용자가 슬라이딩 또는 회전가능 컴포넌트를 기계적으로 이동시킬 수 있거나, 터치패드를 따라 모션이 검출될 수 있고, 그러한 모션들은 디바이스의 셋팅 조정에 대응할 수 있다. 물리적으로 그리고 가상적으로 이동가능한 사용자-인터페이스 컴포넌트들은, 사용자가 명백한 연속체(continuum)의 일 부분을 따라 셋팅을 설정하게 할 수 있다. 디바이스 인터페이스(2018)는 또한, 버튼들, 키패드, 스위치, 마이크로폰, 및 이미저(예컨대, 카메라 디바이스)와 같은 많은 주변기기들로부터 입력들을 수신할 수 있다.
메쉬 네트워크 디바이스(2000)는, 메쉬 네트워크 내의 다른 메쉬 네트워크 디바이스들과의 통신을 위한 메쉬 네트워크 인터페이스, 및 예컨대 인터넷을 통한 네트워크 통신을 위한 외부 네트워크 인터페이스와 같은 네트워크 인터페이스들(2022)을 포함할 수 있다. 메쉬 네트워크 디바이스(2000)는 또한, 메쉬 네트워크 인터페이스를 통한 다른 메쉬 네트워크 디바이스들과의 무선 통신을 위한 그리고 다수의 상이한 무선 통신 시스템들을 위한 무선 라디오 시스템들(2024)을 포함한다. 무선 라디오 시스템들(2024)은, Wi-Fi, BluetoothTM, 모바일 브로드밴드, 및/또는 포인트-투-포인트 IEEE 802.15.4를 포함할 수 있다. 상이한 라디오 시스템들 각각은, 특정한 무선 통신 기술에 대해 구현되는 라디오 디바이스, 안테나, 및 칩셋을 포함할 수 있다. 메쉬 네트워크 디바이스(2000)는 또한, 전력 소스(2026), 예컨대 배터리 및/또는 디바이스를 라인 전압에 연결시키기 위한 것을 포함한다. AC 전력 소스가 또한 디바이스의 배터리를 충전시키는데 사용될 수 있다.
도 21은, 앞선 도 1-20을 참조하여 설명된 바와 같은 메쉬 네트워크 커미셔닝의 실시예들을 구현하는 메쉬 네트워크 디바이스들 중 임의의 디바이스로서 구현될 수 있는 예시적인 디바이스(2102)를 포함하는 예시적인 시스템(2100)을 예시한다. 예시적인 디바이스(2102)는, 임의의 타입의 컴퓨팅 디바이스, 클라이언트 디바이스, 모바일 폰, 태블릿, 통신, 엔터테인먼트, 게이밍, 미디어 재생, 및/또는 다른 타입의 디바이스일 수 있다. 추가로, 예시적인 디바이스(2102)는, 메쉬 네트워크를 통한 통신을 위해 구성되는 임의의 다른 타입의 메쉬 네트워크 디바이스, 예컨대 서모스탯, 해저드 검출기, 카메라, 광 유닛, 커미셔닝 디바이스, 라우터, 경계 라우터, 참가자 라우터, 참가 디바이스, 엔드 디바이스, 리더, 액세스 포인트, 및/또는 다른 메쉬 네트워크 디바이스들로서 구현될 수 있다.
디바이스(2102)는, 메쉬 네트워크 내의 디바이스들 간에 통신되는 데이터, 수신되는 데이터, 브로드캐스트에 대해 스케줄링되는 데이터, 데이터의 데이터 패킷들, 디바이스들 간에 동기화된(synched) 데이터 등과 같은 디바이스 데이터(2106)의 유선 및/또는 무선 통신을 가능하게 하는 통신 디바이스들(2104)을 포함한다. 디바이스 데이터는, 임의의 타입의 통신 데이터 뿐만 아니라, 디바이스 상에서 실행되는 애플리케이션들에 의해 생성되는 오디오, 비디오, 및/또는 이미지 데이터를 포함할 수 있다. 통신 디바이스(2104)는 또한, 셀룰러 폰 통신 및/또는 네트워크 데이터 통신을 위한 트랜시버들을 포함할 수 있다.
디바이스(2102)는 또한, 디바이스, 데이터 네트워크들(예컨대, 메쉬 네트워크, 외부 네트워크 등), 및 다른 디바이스들 간에 연결 및/또는 통신 링크들을 제공하는 데이터 네트워크 인터페이스들과 같은 입력/출력(I/O) 인터페이스들(2108)을 포함한다. I/O 인터페이스들은, 디바이스를 임의의 타입의 컴포넌트들, 주변기기들, 및/또는 액세서리 디바이스들에 커플링시키는데 사용될 수 있다. I/O 인터페이스들은 또한 데이터 입력 포트들을 포함하는데, 그 데이터 입력 포트들을 통해, 디바이스에 대한 사용자 입력들, 그에 더하여 임의의 타입의 통신 데이터, 그에 더하여 임의의 컨텐츠 및/또는 데이터 소스로부터 수신되는 오디오, 비디오, 및/또는 이미지 데이터와 같은 임의의 타입의 데이터, 미디어 컨텐츠, 및/또는 입력들이 수신될 수 있다.
디바이스(2102)는, 하드웨어에서 적어도 부분적으로 구현될 수 있는 프로세싱 시스템(2110)을 포함하는데, 예컨대 임의의 타입의 마이크로프로세서들로, 제어기들로, 그리고 실행가능 명령어들을 프로세싱하는 것 등으로 구현될 수 있다. 프로세싱 시스템은, 집적 회로, 프로그래밍가능 로직 디바이스, 하나 이상의 반도체들을 사용하여 형성되는 로직 디바이스, 및 실리콘 및/또는 하드웨어에서의 다른 구현들의 컴포넌트들을 포함할 수 있는데, 예컨대 시스템-온-칩(Soc)으로서 구현되는 프로세서 및 메모리 시스템을 포함할 수 있다. 대안적으로 또는 부가하여, 디바이스는, 소프트웨어, 하드웨어, 펌웨어, 또는 프로세싱 및 제어 회로들로 구현될 수 있는 고정형 로직 회로 중 임의의 하나 또는 이들의 결합으로 구현될 수 있다. 디바이스(2102)는 추가로, 임의의 타입의 시스템 버스, 또는 디바이스 내의 다양한 컴포넌트들을 커플링시키는 다른 데이터 및 명령 전달 시스템을 포함할 수 있다. 시스템 버스는, 상이한 버스 구조들 및 아키텍쳐들 중 임의의 하나 또는 이들의 결합 뿐만 아니라 제어 및 데이터 라인들을 포함할 수 있다.
디바이스(2102)는 또한, 컴퓨팅 디바이스에 의해 액세스될 수 있고 데이터 및 실행가능 명령어들(예컨대, 소프트웨어 애플리케이션들, 모듈들, 프로그램들, 함수들 등)의 영구적인 저장을 제공하는 데이터 저장 디바이스들과 같은 컴퓨터-판독가능 저장 메모리(2112)를 포함한다. 본원에서 설명되는 컴퓨터-판독가능 저장 메모리는 전파 신호들을 제외한다. 컴퓨터-판독가능 저장 메모리의 예들은, 휘발성 메모리 및 비-휘발성 메모리, 고정형 및 착탈식 매체 디바이스들, 및 컴퓨팅 디바이스 액세스를 위한 데이터를 유지하는 임의의 적절한 메모리 디바이스 또는 전자 데이터 저장부를 포함한다. 컴퓨터-판독가능 저장 메모리는, RAM(random access memory), ROM(read-only memory), 플래시 메모리, 및 다양한 메모리 디바이스 구성들의 다른 타입들의 저장 메모리의 다양한 구현들을 포함할 수 있다.
컴퓨터-판독가능 저장 메모리(2112)는, 디바이스 데이터(2106) 및 다양한 디바이스 애플리케이션들(2114), 예컨대 컴퓨터-판독가능 저장 메모리를 이용하여 소프트웨어 애플리케이션으로서 유지되고 프로세싱 시스템(2110)에 의해 실행되는 운영 시스템의 저장을 제공한다. 디바이스 애플리케이션들은 또한 디바이스 관리자를 포함할 수 있는데, 예컨대 임의의 형태의 제어 애플리케이션, 소프트웨어 애플리케이션, 신호 프로세싱 및 제어 모듈, 특정한 디바이스에 고유한 코드, 특정한 디바이스에 대한 하드웨어 추상화 계층 등을 포함할 수 있다. 이러한 예에서, 디바이스 애플리케이션들은 또한, 예컨대 예시적인 디바이스(2102)가 본원에 설명되는 메쉬 네트워크 디바이스들 중 임의의 디바이스로 구현되는 경우 메쉬 네트워크 커미셔닝의 실시예들을 구현하는 커미셔닝 애플리케이션(2116)을 포함한다.
디바이스(2102)는 또한, 오디오 디바이스(2120)에 대한 오디오 데이터를 생성하고 그리고/또는 디스플레이 디바이스(2122)에 대한 디스플레이 데이터를 생성하는 오디오 및/또는 비디오 시스템(2118)을 포함한다. 오디오 디바이스 및/또는 디스플레이 디바이스는, 오디오, 비디오, 디스플레이, 및/또는 디지털 포토의 이미지 컨텐츠와 같은 이미지 데이터를 프로세싱하고, 디스플레이하고, 그리고/또는 다른 방식으로 렌더링하는 임의의 디바이스들을 포함한다. 구현들에서, 오디오 디바이스 및/또는 디스플레이 디바이스는 예시적인 디바이스(2102)에 대한 통합된 컴포넌트들이다. 대안적으로, 오디오 디바이스 및/또는 디스플레이 디바이스는, 예시적인 디바이스 외부의 주변기기 컴포넌트들이다. 실시예들에서, 메쉬 네트워크 커미셔닝에 대해 설명되는 기술들 중 적어도 일부는, 플랫폼(2126) 내의 "클라우드"(2124)를 통해서와 같이 분산형 시스템으로 구현될 수 있다. 클라우드(2124)는 서비스들(2128) 및/또는 자원들(2130)을 위한 플랫폼(2126)을 나타내고 그리고/또는 이를 포함한다.
플랫폼(2126)은, (예컨대, 서비스들(2128)에 포함된) 서버 디바이스들 및/또는 (예컨대, 자원들(2130)에 포함된) 소프트웨어 자원들과 같은 하드웨어의 기저 기능을 추상화하고, 예시적인 디바이스(2102)를 다른 디바이스들, 서버들 등과 연결시킨다. 자원들(2130)은 또한, 예시적인 디바이스(2102)로부터 멀리 떨어져 있는 서버들 상에서 컴퓨터 프로세싱이 실행되는 동안 이용될 수 있는 애플리케이션들 및/또는 데이터를 포함할 수 있다. 부가적으로, 서비스들(2128) 및/또는 자원들(2130)은, 예컨대 인터넷, 셀룰러 네트워크, 또는 Wi-Fi 네트워크를 통해 가입자 네트워크 서비스들을 가능하게 할 수 있다. 플랫폼(2126)은 또한, 자원들을 추상화 및 스케일링하여, 예컨대 시스템(2100)에 전체에 걸쳐 분산되는 기능을 갖는 상호연결된 디바이스 실시예에서와 같이, 플랫폼을 통해 구현되는 자원들(2130)에 대한 수요를 서비스하도록 기능할 수 있다. 예컨대, 기능은, 예시적인 디바이스(2102) 뿐만 아니라 클라우드(2124)의 기능을 추상화하는 플랫폼(2126)을 통해 일부가 구현될 수 있다.
메쉬 네트워크 커미셔닝의 실시예들이 특성들 및/또는 방법들에 특정한 언어로 설명되었더라도, 첨부된 청구항들의 대상은 설명된 특정한 특성들 또는 방법들에 제한될 필요는 없다. 오히려, 특정한 특성들 및 방법들은 메쉬 네트워크 커미셔닝의 예시적인 구현들로서 개시되며, 다른 등가의 특성들 및 방법들이 첨부된 청구항들의 범위 내에 있는 것으로 의도된다. 추가로, 다양한 상이한 실시예들이 설명되며, 각각의 설명된 실시예는 하나 이상의 다른 설명된 실시예들과 독립적으로 또는 그와 결합하여 구현될 수 있다는 것이 인식될 것이다.
메쉬 네트워크에 참가 디바이스(joining device)를 보안적으로 참가시키는(securely joining) 방법은 메쉬 네트워크에 참가(join)할 것을 요청하는, 참가 디바이스로부터의 메시지를 참가자 라우터(joiner router)에서 수신하는 단계; 수신된 메시지를 메쉬 네트워크의 커미셔닝 디바이스(commissioning device)에 포워드하는 단계; 참가 디바이스가 메쉬 네트워크에 참가하기 위한 허가를 커미셔닝 디바이스로부터 수신하는 단계; 및 네트워크 정보를 참가 디바이스에 송신하는 단계를 포함하며, 네트워크 정보는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하는데 효과적이다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 방법은 참가 디바이스로부터 비콘 요청을 수신하는 단계 및 참가자 라우터로부터 참가 디바이스로 비콘을 송신하는 단계를 더 포함하며, 비콘은 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 제공하며; 비콘을 송신하는 상기 단계는 참가 디바이스가 참가 디바이스와 참가자 라우터 사이에 로컬 링크를 설정하는 것을 가능하게 하는데 효과적이며, 메시지를 수신하는 상기 단계 및 수신된 메시지를 포워드하는 상기 단계는 DTLS(Datagram Transport Layer Security)을 사용하여 수행되며; 메시지를 수신하는 상기 단계 및 수신된 메시지를 포워드하는 상기 단계는 UDP(User Datagram Protocol)를 사용하여 수행되며; 참가 디바이스로부터 수신되는 메시지는 참가 디바이스를 인증할 수 있는 암호화된 디바이스 식별자를 포함하며, 참가 디바이스는 J-PAKE(Password Authenticated Key Exchange by Juggling)를 사용하여 인증되며 그리고 인증은 커미셔닝 디바이스와 참가 디바이스 사이에 보안 통신 세션을 설정하는데 효과적이며, 수신된 메시지를 커미셔닝 디바이스에 포워드하는 상기 단계는 참가자 라우터와 커미셔닝 디바이스 사이의 통신 경로에 있는 메쉬 네트워크의 하나 이상의 라우터들을 통해 수신된 메시지를 포워드하는 단계를 포함하며; 하나 이상의 라우터들 중 하나는 메쉬 네트워크를 외부 네트워크에 연결하는 경계 라우터(border router)이며, 커미셔닝 디바이스는 외부 네트워크에 부착된다.
참가자 라우터로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 메쉬 네트워크에 참가할 것을 요청하는, 참가 디바이스로부터의 메시지를 메쉬 네트워크 인터페이스를 통해 수신하며; 수신된 메시지를 메쉬 네트워크의 커미셔닝 디바이스에 포워드하며; 참가 디바이스가 메쉬 네트워크에 참가하기 위한 허가를 커미셔닝 디바이스로부터 수신하며; 그리고 네트워크 정보를 참가 디바이스에 송신하는 것을 개시하도록 구성되며, 네트워크 정보는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하는데 효과적이다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 메쉬 네트워크 인터페이스를 통해 참가 디바이스로부터 비콘 요청을 수신하며, 그리고 참가자 라우터로부터 참가 디바이스로 비콘을 송신하는 것을 개시하도록 구성되며, 비콘은 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 제공하며; 비콘은 참가 디바이스가 참가 디바이스와 참가자 라우터 사이에 로컬 링크를 설정하는 것을 가능하게 하는데 효과적이며; 커미셔닝 애플리케이션은 메시지를 수신하고 수신된 메시지를 DTLS(Datagram Transport Layer Security)을 사용하여 포워드하도록 구성되며; 커미셔닝 애플리케이션은 메시지를 수신하고, 수신된 메시지를 UDP(User Datagram Protocol)를 사용하여 포워드하도록 구성되며; 참가 디바이스로부터 수신되는 메시지는 참가 디바이스를 인증할 수 있는 암호화된 디바이스 식별자를 포함하며, 참가 디바이스는 J-PAKE(Password Authenticated Key Exchange by Juggling)를 사용하여 인증되며 그리고 인증은 커미셔닝 디바이스와 참가 디바이스 사이에 보안 통신 세션을 설정하는데 효과적이며; 커미셔닝 애플리케이션은 참가자 라우터와 커미셔닝 디바이스 사이의 통신 경로에 있는 메쉬 네트워크의 하나 이상의 라우터들을 통해 수신된 메시지를 포워드하도록 구성되며; 하나 이상의 라우터들 중 하나는 메쉬 네트워크를 외부 네트워크에 연결하는 경계 라우터이며, 커미셔닝 디바이스는 외부 네트워크에 부착된다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가하는 것을 요청하도록 구성된 참가 디바이스 및 참가자 라우터를 포함하며; 참가자 라우터는 메쉬 네트워크에 참가할 것을 요청하는, 참가 디바이스로부터의 메시지를 수신하며, 수신된 메시지를 메쉬 네트워크의 커미셔닝 디바이스에 포워드하며, 참가 디바이스가 메쉬 네트워크에 참가하기 위한 허가를 커미셔닝 디바이스로부터 수신하며 그리고 네트워크 정보를 참가 디바이스에 송신하도록 구성되며, 네트워크 정보는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하는데 효과적이다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 참가자 라우터는 참가 디바이스로부터 비콘 요청을 수신하며 그리고 참가 디바이스로 비콘을 송신하도록 구성되며, 비콘은 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 제공하며, 비콘은 참가 디바이스가 참가 디바이스와 참가자 라우터 사이에 로컬 링크를 설정하는 것을 가능하게 하는데 효과적이며; 참가 디바이스로부터 수신되는 메시지는 참가 디바이스를 인증할 수 있는 암호화된 디바이스 식별자를 포함하며, 참가 디바이스는 J-PAKE(Password Authenticated Key Exchange by Juggling)를 사용하여 인증되며 그리고 인증은 커미셔닝 디바이스와 참가 디바이스 사이에 보안 통신 세션을 설정하는데 효과적이며; 참가자 라우터는 참가자 라우터와 커미셔닝 디바이스 사이의 통신 경로에 있는 메쉬 네트워크의 하나 이상의 라우터들을 통해 수신된 메시지를 커미셔닝 디바이스에 포워드하도록 구성되며, 라우터들 중 하나는 메쉬 네트워크를 외부 네트워크에 연결하는 경계 라우터이다.
메쉬 네트워크에 참가 디바이스를 보안적으로 참가시키는 방법은 메쉬 네트워크에 참가할 것을 요청하는, 참가 디바이스로부터의 DTLS-ClientHello 메시지를 참가자 라우터에서 수신하는 단계, 수신된 DTLS-ClientHello 메시지를 DTLS 중계 수신 통보 메시지로 캡슐화하는 단계, DTLS 중계 수신 통보 메시지를 메쉬 네트워크의 커미셔닝 디바이스에 송신하는 단계, DTLS 중계 송신 통보 메시지를 커미셔닝 디바이스로부터 수신하는 단계, DTLS 중계 송신 통보 메시지의 콘텐츠를 참가 디바이스에 송신하는 단계 ― 콘텐츠는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하는데 효과적임 ―, 메쉬 네트워크에 대한 네트워크 크리덴셜들을 수신하도록 참가 디바이스가 위임되어야 한다는 표시를 커미셔닝 디바이스로부터 수신하는 단계, 커미셔닝 디바이스와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)를 커미셔닝 디바이스로부터 수신하는 단계 및 표시를 수신하는 것에 대한 응답으로, 네트워크 크리덴셜들의 통신을 안전하게 하기 위하여 네트워크 크리덴셜들을 KEK를 사용하여 참가자 라우터로부터 참가 디바이스로 송신하는 단계를 포함한다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 방법은 참가 디바이스로부터 비콘 요청을 수신하는 단계 및 참가자 라우터로부터 참가 디바이스로 비콘을 송신하는 단계를 더 포함하며; 비콘은 네트워크 이름, 및 메쉬 네트워크에 참가하도록 허용되는 하나 이상의 참가 디바이스들을 표시하는 스티어링 데이터를 포함하며; 참가 디바이스로부터 DTLS-ClientHello 메시지를 수신하는 단계는 UDP(User Datagram Protocol)를 활용하는 단계를 포함하며; DTLS 중계 수신 통보 메시지는 참가 디바이스의 어드레스, 참가자 라우터의 어드레스 및 수신된 DTLS-ClientHello 메시지를 포함하며; DTLS 중계 송신 통보 메시지는 참가 디바이스의 어드레스, 참가자 라우터의 어드레스 및 DTLS-HelloVerify 메시지를 포함하며; DTLS 중계 송신 통보 메시지의 콘텐츠를 참가 디바이스에 송신하는 단계는 커미셔닝 디바이스와 참가 디바이스 사이에 보안 통신 세션을 설정하는데 효과적이며; 보안 통신 세션은 참가 디바이스의 프로비저닝을 수행할 수 있으며; 방법은 참가 디바이스들로부터 커미셔닝 디바이스로 송신된 DTLS 중계 수신 통보 메시지들의 송신에 대해 레이트 제한(rate limiting)을 적용하는 단계를 더 포함한다.
참가자 라우터로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스, 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 메쉬 네트워크에 참가할 것을 요청하는, 참가 디바이스로부터의 DTLS-ClientHello 메시지를 메쉬 네트워크 인터페이스를 통해 수신하며, 수신된 DTLS-ClientHello 메시지를 DTLS 중계 수신 통보 메시지로 캡슐화하며, DTLS 중계 수신 통보 메시지를 메쉬 네트워크의 커미셔닝 디바이스에 송신하는 것을 개시하며, DTLS 중계 송신 통보 메시지를 커미셔닝 디바이스로부터 수신하며, DTLS 중계 송신 통보 메시지의 콘텐츠를 참가 디바이스에 송신하는 것을 개시하며 ― 콘텐츠는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하는데 효과적임 ―, 메쉬 네트워크에 대한 네트워크 크리덴셜들을 수신하도록 참가 디바이스가 위임되어야 한다는 표시를 커미셔닝 디바이스로부터 수신하며, 커미셔닝 디바이스와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)를 커미셔닝 디바이스로부터 수신하며; 그리고 표시에 대한 응답으로, 네트워크 크리덴셜들의 통신을 안전하게 하기 위하여 네트워크 크리덴셜들을 KEK를 사용하여 참가자 라우터로부터 참가 디바이스로 송신하는 것을 개시하도록 구성된다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 메쉬 네트워크 인터페이스를 통해 참가 디바이스로부터 비콘 요청을 수신하며, 그리고 참가자 라우터로부터 참가 디바이스로 비콘을 송신하는 것을 개시하도록 구성되며; 커미셔닝 애플리케이션은 UDP(User Datagram Protocol)를 활용하여 참가 디바이스로부터 DTLS-ClientHello 메시지를 수신하도록 구성되며; DTLS 중계 수신 통보 메시지는 참가 디바이스의 어드레스, 참가자 라우터의 어드레스, 및 수신된 DTLS-ClientHello 메시지를 포함하며, DTLS 중계 송신 통보 메시지는 참가 디바이스의 어드레스, 참가자 라우터의 어드레스, 및 DTLS-HelloVerify 메시지를 포함하며; 참가 디바이스에 송신되는 DTLS 중계 송신 통보 메시지의 콘텐츠는 커미셔닝 디바이스와 참가 디바이스 사이의 보안 통신 세션을 설정하는데 효과적이며; 보안 통신 세션은 참가 디바이스의 프로비저닝을 수행할 수 있다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가할 것을 요청하도록 구성된 참가 디바이스; 및 참가자 라우터를 포함하며, 참가자 라우터는 메쉬 네트워크에 참가할 것을 요청하는, 참가 디바이스로부터의 DTLS-ClientHello 메시지를 수신하며;수신된 DTLS-ClientHello 메시지를 DTLS 중계 수신 통보 메시지로 캡슐화하며; DTLS 중계 수신 통보 메시지를 메쉬 네트워크의 커미셔닝 디바이스에 송신하며; DTLS 중계 송신 통보 메시지를 커미셔닝 디바이스로부터 수신하며; DTLS 중계 송신 통보 메시지의 콘텐츠를 참가 디바이스에 송신하며 ― 콘텐츠는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하는데 효과적임 ―; 메쉬 네트워크에 대한 네트워크 크리덴셜들을 수신하도록 참가 디바이스가 위임되어야 한다는 표시를 커미셔닝 디바이스로부터 수신하며; 커미셔닝 디바이스와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)를 커미셔닝 디바이스로부터 수신하며; 그리고 표시에 대한 응답으로, 네트워크 크리덴셜들의 통신을 안전하게 하기 위하여 네트워크 크리덴셜들을 KEK를 사용하여 참가자 라우터로부터 참가 디바이스로 송신하도록 구성된다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 참가자 라우터는 참가 디바이스로부터 비콘 요청을 수신하며 그리고 참가자 라우터로부터 참가 디바이스로 비콘을 송신하도록 구성되며; 비콘은 네트워크 이름, 및 메쉬 네트워크에 참가하도록 허용되는 하나 이상의 참가 디바이스들을 표시하는 스티어링 데이터를 포함하며; 참가자 라우터는 UDP(User Datagram Protocol)를 활용하여 참가 디바이스로부터 DTLS-ClientHello 메시지를 수신하도록 구성되며; DTLS 중계 수신 통보 메시지는 참가 디바이스의 어드레스, 참가자 라우터의 어드레스, 및 수신된 DTLS-ClientHello 메시지를 포함하며, DTLS 중계 송신 통보 메시지는 참가 디바이스의 어드레스, 참가자 라우터의 어드레스, 및 DTLS-HelloVerify 메시지를 포함한다.
메쉬 네트워크에 참가할 하나 이상의 참가 디바이스들을 커미셔닝하기 위한 커미셔너가 되도록 커미셔닝 디바이스를 허가하는 방법은 메쉬 네트워크에 대한 커미셔너가 되기 위한, 커미셔닝 디바이스로부터의 신청을 경계 라우터에서 수신하는 단계; 수신된 신청을 메쉬 네트워크의 리더 디바이스에 송신하는 단계; 신청에 대한 응답을 리더 디바이스로부터 수신하는 단계 ― 응답은 신청의 수락 또는 거절을 표시함 ―; 및 응답을 수신하는 것에 대한 응답으로, 신청의 수락 또는 거절의 표시를 커미셔닝 디바이스에 송신하는 단계를 포함한다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 상기 방법은 커미셔닝 디바이스들에 대한 메쉬 네트워크의 가용성을 경계 라우터에 의해 통지하는 단계 ― 신청을 수신하는 것은 커미셔닝 디바이스가 통지를 수신하는 것에 대한 응답임 ― 경계 라우터에 보안적으로 연결하기 위한, 커미셔닝 디바이스로부터의 요청을 경계 라우터에서 수신하는 단계를 더 포함하며; 보안 연결은 DTLS(Datagram Transport Layer Security)을 사용하여 설정되며; 신청의 수락의 표시를 송신하는 단계는 보안 커미셔닝 세션을 설정하며; 상기 방법은 보안 커미셔닝 통신 세션을 설정하기 위하여 경계 라우터에 커미셔닝 디바이스의 아이엔티티를 등록하는 단계를 더 포함하며, 등록 단계는 암호화된 커미셔닝 크리덴셜을 경계 라우터에 제공하는 단계를 포함하며, 암호화된 커미셔닝 크리덴셜은 사용자에 의해 커미셔닝 디바이스에 입력된 커미셔닝 크리덴셜로부터 유도되며; 경계 라우터는 메쉬 네트워크에 대해 커미셔닝 디바이스를 인증할 수 있는 암호화된 커미셔닝 크리덴셜의 복사본(copy)을 포함하며; 암호화된 커미셔닝 크리덴셜의 복사본은 커미셔닝 크리덴셜로부터 사전에 유도되었으며, 커미셔닝 크리덴셜은 암호화된 커미셔닝 크리덴셜의 복사분을 유도한 메쉬 네트워크의 리더 디바이스에 주입되었으며 그리고 리더 디바이스는 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터에 보안적으로 통신하였다.
경계 라우터로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 메쉬 네트워크에 참가할 하나 이상의 참가 디바이스들을 커미셔닝하기 위한, 메쉬 네트워크에 대한 커미셔너가 되기 위한 신청을 커미셔닝 디바이스로부터 메쉬 네트워크 인터페이스를 통해 수신하며; 수신된 신청을 메쉬 네트워크의 리더 디바이스에 송신하는 것을 개시하며, 신청에 대한 응답을 리더 디바이스로부터 수신하며 ― 응답은 신청의 수락 또는 거절을 표시함 ―; 및 신청에 대한 응답을 수신하는 것에 대한 응답으로, 신청의 수락 또는 거절의 표시를 커미셔닝 디바이스에 송신하는 것을 개시하도록 구성된다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 커미셔닝 디바이스들에 대한 메쉬 네트워크의 가용성을 통지하고 커미셔닝 디바이스가 통지된 가용성을 수신하는 것에 대한 응답으로 신청을 수신하도록 구성되며; 그리고 통지된 가용성은 mDNS(Multicast Domain Name System)을 포함하는 서비스 발견 프로토콜을 사용하여 수행되며; 커미셔닝 애플리케이션은 경계 라우터에 보안적으로 연결하기 위한 요청을 커미셔닝 디바이스로부터 수신하도록 구성되며 그리고 DTLS(Datagram Transport Layer Security)를 사용하여 보안 연결이 설정되며; 리더 디바이스에 의한 신청의 수락은 커미셔닝 디바이스가 메쉬 네트워크에 대한 커미셔너가 될 것을 허가하며; 리더 디바이스가 메쉬 네트워크에 대한 액티브 커미셔너(active commissioner)를 추적하는 내부 상태를 업데이트하는 것을 가능하게 하는 신청의 수락은 메쉬 네트워크에 대한 허락-참가 플래그(permit-join flag)를 참(true)으로 세팅하며, 메쉬 네트워크 내에서 커미셔닝 데이터세트를 전파하며 그리고 신청의 수락의 송신된 표시는 보안 커미셔닝 세션을 설정하며; 커미셔닝 애플리케이션은 경계 라우터에 제공되는 암호화된 커미셔닝 크리덴셜을 비롯한 보안 커미셔닝 통신 세션을 설정하기 위하여 경계 라우터에 커미셔닝 디바이스의 아이덴티티를 등록하도록 구성되며, 암호화된 커미셔닝 크리덴셜은 사용자에 의해 커미셔닝 디바이스에 입력된 커미셔닝 크리덴셜로부터 유도되었으며 그리고 경계 라우터는 메쉬 네트워크에 대해 커미셔닝 디바이스를 인증할 수 있는 암호화된 커미셔닝 크리덴셜의 복사본을 포함하며; 커미셔닝 디바이스 및 경계 라우터는 메쉬 네트워크와 다른 네트워크를 통해 통신하며; 다른 네트워크는 Wi-Fi 네트워크 또는 이더넷 네트워크 중 하나이다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가할 하나 이상의 참가 디바이스들을 커미셔닝하기 위한 커미셔너가 될 것을 신청하도록 구성되는 커미셔닝 디바이스 및 경계 라우터를 포함하며; 경계 라우터는 메쉬 네트워크에 대한 커미셔너가 되기 위한 신청을 커미셔닝 디바이스로부터 수신하며, 수신된 신청을 메쉬 네트워크의 리더 디바이스에 송신하며, 리더 디바이스로부터 신청에 대한 응답을 수신하며 ― 응답은 신청의 수락 또는 거절을 표시함 ― 그리고 신청의 수락 또는 거절의 표시를 커미셔닝 디바이스에 송신하도록 구성된다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 경계 라우터는 커미셔닝 디바이스들에 대한 메쉬 네트워크의 가용성을 통지하고 커미셔닝 디바이스가 통지를 수신하는 것에 대한 응답으로 신청을 수신하도록 구성되며; 커미셔닝 디바이스 및 경계 라우터는 메쉬 네트워크와 다른 네트워크를 통해 통신하며; 다른 네트워크는 Wi-Fi 네트워크 또는 이더넷 네트워크 중 하나이며; 경계 라우터는 보안 커미셔닝 세션을 설정하기 위하여 신청의 수락의 표시를 송신하도록 구성된다.
메쉬 네트워크의 리더 디바이스에 의해 구현되는 방법은 참가 디바이스들을 메쉬 네트워크에 참가하도록 커미셔닝하기 위한 커미셔너로서 커미셔닝 디바이스를 수락하라는 신청을 리더 디바이스에 의해 수신하는 단계; 수신된 신청을 수락할지 또는 거절할지의 여부를 결정하는 단계; 결정의 표시를 포함하는 응답을 송신하는 단계; 및 결정이 수락이라는 것에 대한 응답으로, 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태를 업데이트하는 단계를 포함한다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 상기 방법은 메쉬 네트워크에 대한 참가 모드를 개시하기 위한 명령을 커미셔닝 디바이스로부터 수신하는 단계; 및 메쉬 네트워크내에서 커미셔닝 데이터세트를 전파하는 단계를 더 포함하며; 커미셔닝 데이터세트는 커미셔너 세션 식별자, 커미셔너 타임스탬프, 암호화된 커미셔너 크리덴셜 및 메쉬 네트워크에서 어떤 보안-관련 동작들이 허용되는지를 표시하는 보안 정책(security policy)을 포함하며; 상기 방법은 리더 디바이스의 커미셔닝 동안 리더 디바이스내에 주입된 커미셔닝 크리덴셜로부터, 암호화된 커미셔닝 크리덴셜을 유도하는 단계를 더 포함하며; 암호화된 커미셔닝 크리덴셜의 유도는 키 유도 함수를 적용함으로써 수행되며, 키 유도 함수는 CMAC(Cipher-based Message Authentication Code)을 사용하여 해싱(hashing)을 복수회 수행하며; 상기 방법은 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터에 송신하는 단계를 더 포함하며, 복사본은 경계 라우터가 메쉬 네트워크에 대해 커미셔닝 디바이스를 인증하는 것을 가능하게 하는데 효과적이며; 커미셔너는 메쉬 네트워크상에서 액티브할 때, 커미셔닝 데이터세트는 경계 라우터의 로케이션을 더 포함한다.
메쉬 네트워크의 리더 디바이스로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 참가 디바이스들을 메쉬 네트워크에 참가하도록 커미셔닝하기 위한 커미셔너로서 커미셔닝 디바이스를 수락하라는 신청을 메쉬 네트워크 인터페이스를 통해 수신하며; 수신된 신청을 수락할지 또는 거절할지의 여부를 결정하며; 수신된 신청을 수락할지 또는 거절할지의 여부에 대한 결정의 표시를 포함하는 응답을 송신하는 것을 개시하며; 그리고 결정이 수신된 신청의 수락이라는 것에 대한 응답으로, 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태를 업데이트하도록 구성된다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 메쉬 네트워크에 대한 참가 모드를 개시하기 위한 명령을 커미셔닝 디바이스로부터 수신하도록 구성되며; 커미셔닝 애플리케이션은 메쉬 네트워크내에서 커미셔닝 데이터세트를 전파하도록 구성되며; 커미셔닝 데이터세트는 커미셔너 세션 식별자, 커미셔너 타임스탬프, 암호화된 커미셔너 크리덴셜, 및 메쉬 네트워크에서 어떤 보안-관련 동작들이 허용되는지를 표시하는 보안 정책을 포함하며; 커미셔닝 애플리케이션은 리더 디바이스의 커미셔닝 동안 리더 디바이스내에 주입된 커미셔닝 크리덴셜로부터, 암호화된 커미셔닝 크리덴셜을 유도하도록 추가로 구성되며, 암호화된 커미셔닝 크리덴셜의 유도는 키 유도 함수를 적용함으로써 수행되며, 키 유도 함수는 CMAC(Cipher-based Message Authentication Code)을 사용하여 해싱을 복수회 수행하며; 커미셔닝 애플리케이션은 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터에 전송하도록 구성되며, 복사본은 경계 라우터가 메쉬 네트워크에 대해 커미셔닝 디바이스를 인증하는 것을 가능하게 하는데 효과적이며; 커미셔너가 메쉬 네트워크상에서 액티브할 때, 커미셔닝 데이터세트는 경계 라우터의 로케이션을 더 포함한다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가할 하나 이상의 참가 디바이스들을 커미셔닝하기 위한 커미셔너가 될 것을 신청하도록 구성된 커미셔닝 디바이스; 및 메쉬 네트워크의 리더 디바이스를 포함하며; 리더 디바이스는 메쉬 네트워크에 참가할 참가 디바이스들을 커미셔닝하기 위한 커미셔너로서 커미셔닝 디바이스를 수락하라는 신청을 수신하며; 수신된 신청을 수락할지 또는 거절할지의 여부를 결정하며; 수신된 신청을 수락할지 또는 거절할지의 여부에 대한 결정의 표시를 포함하는 응답을 송신하며; 그리고 결정이 수락이라는 것에 대한 응답으로, 메쉬 네트워크에 대한 액티브 커미셔너를 추적하는 내부 상태를 업데이트하도록 구성된다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 리더 디바이스는 메쉬 네트워크에 대한 참가 모드를 개시하기 위한 명령을 커미셔닝 디바이스로부터 수신하도록 구성되며; 리더 디바이스는 메쉬 네트워크내에서 커미셔닝 데이터세트를 전파하도록 구성되며; 커미셔닝 데이터세트는 커미셔너 세션 식별자, 커미셔너 타임스탬프, 암호화된 커미셔너 크리덴셜, 및 메쉬 네트워크에서 어떤 보안-관련 동작들이 허용되는지를 표시하는 보안 정책을 포함하며; 리더 디바이스는 리더 디바이스의 커미셔닝 동안 리더 디바이스내에 주입된 커미셔닝 크리덴셜로부터, 암호화된 커미셔닝 크리덴셜을 유도하도록 추가로 구성되며, 암호화된 커미셔닝 크리덴셜의 유도는 키 유도 함수를 적용함으로써 수행되며, 키 유도 함수는 CMAC(Cipher-based Message Authentication Code)을 사용하여 해싱을 복수회 수행하며; 리더 디바이스는 암호화된 커미셔닝 크리덴셜의 복사본을 경계 라우터에 전송하도록 구성되며, 복사본은 경계 라우터가 메쉬 네트워크에 대해 커미셔닝 디바이스를 인증하는 것을 가능하게 하는데 효과적이며; 커미셔너가 메쉬 네트워크상에서 액티브할 때, 커미셔닝 데이터세트는 경계 라우터의 로케이션을 더 포함한다.
메쉬 네트워크에 하나 이상의 참가 디바이스들을 참가시키기 위한 네트워크 통신 세션들을 보안적으로 설정하는 방법은 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에 보안 커미셔닝 통신 세션을 설정하는 단계; 메쉬 네트워크에 대한 참가를 활성화하는 단계; 메쉬 네트워크에 참가하기 위한 요청을 참가 디바이스들 중 하나로부터 커니셔닝 디바이스에 의해 수신하는 단계; 커미셔닝 디바이스와 참가 디바이스 사이에 보안 참가자 통신 세션을 설정하는 단계; 및 메쉬 네트워크에 참가 디바이스를 참가시키는 단계를 포함한다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 보안 커미셔닝 통신 세션을 설정하는 단계는 메쉬 네트워크에 대한 액티브 커미셔너로서 커미셔닝 디바이스의 수락을 요청하는 신청을 커미셔닝 디바이스로부터 메쉬 네트워크의 리더 디바이스로 전송하는 단계; 및 리더 디바이스로부터 신청의 수락의 표시를 수신하는 단계를 포함하며; 메쉬 네트워크에 대한 참가를 활성화하는 단계는 메쉬 네트워크가 참가 요청들을 수락중이라는 것을 메쉬 네트워크 내의 하나 이상의 라우터들이 통지하도록 하는 참가 모드를 커미셔닝 디바이스가 개시하는 단계를 포함하며, 메쉬 네트워크에 대한 참가를 활성화하는 단계는 메쉬 네트워크를 참가 가능하게 만드는 관리 메시지를 리더 디바이스에 전송하는 단계를 포함하며, 관리 메시지는 리더 디바이스가 메쉬 네트워크에 대한 네트워크 데이터를 업데이트하고 네트워크 데이터를 메쉬 네트워크내의 하나 이상의 라우터 디바이스들에 전파하는 것을 가능하게 하는데 효과적이며, 네트워크 데이터는 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 포함하며; 상기 방법은 암호화된 디바이스 식별자를 사용하여 참가 디바이스를 인증하는 단계를 더 포함하며; 메쉬 네트워크에 참가하기 위해 참가 디바이스들 중 하나로부터 수신된 요청은 참가자 라우터를 통해 수신되며, 상기 방법은 메쉬 네트워크에 대한 네트워크 크리덴셜들 및 커미셔닝 디바이스와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)를 수신하도록 참가 디바이스가 위임되어야 한다는 표시를 참가자 라우터에 송신하는 단계를 더 포함하며, 송신하는 것은 참가자 라우터가 메쉬 네트워크에 대해 참가 디바이스를 커미셔닝하기 위한 네트워크 크리덴셜들을 참가 디바이스에 보안적으로 송신하기 위하여 수신된 KEK를 사용하는 것을 가능하게 하는데 효과적이며; 참가 디바이스로부터 요청을 수신하는 단계는 참가 디바이스의 암호화된 디바이스 식별자를 수신하는 단계를 포함하며, 암호화된 디바이스 식별자는 J-PAKE(Password Authentication Key Exchange by Juggling)를 사용하여 참가 디바이스의 디바이스 식별자로부터 유도되며; 보안 참가자 통신 세션을 설정하는 단계는 참가 디바이스로부터 수신된 암호화된 디바이스 식별자가 사용자로부터 커미셔닝 디바이스에 대한 입력으로서 수신되는 디바이스 식별자의 복사본으로부터 커미셔닝 디바이스에 의해 유도되는 암호화된 디바이스 식별자와 매칭됨을 커미셔닝 디바이스에 의해 결정하는 단계; 및 참가자 통신 세션을 안전하게 하기 위하여 공유 시크릿(shared secret)으로서 암호화된 디바이스 식별자를 사용하는 단계를 포함한다.
메쉬 네트워크에 하나 이상의 참가 디바이스들을 참가시키기 위한 커미셔닝 디바이스로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에 보안 커미셔닝 통신 세션을 설정하며; 메쉬 네트워크에 대한 참가를 활성화하며; 메쉬 네트워크에 참가하기 위한 요청을 참가 디바이스들 중 하나로부터 메쉬 네트워크 인터페이스를 통해 수신하며; 커미셔닝 디바이스와 참가 디바이스 사이에 보안 참가자 통신 세션을 설정하며; 그리고 메쉬 네트워크에 참가 디바이스를 참가시키도록 구성된다.
앞서 설명된 메쉬 네트워크 인터페이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 메쉬 네트워크에 대한 액티브 커미셔너로서 커미셔닝 디바이스의 수락을 요청하는 신청을 커미셔닝 디바이스로부터 메쉬 네트워크의 리더 디바이스로 전송하며; 그리고 리더 디바이스로부터 신청의 수락의 표시를 수신하도록 구성되며; 커미셔닝 애플리케이션은 메쉬 네트워크가 참가 요청들을 수락중이라는 것을 메쉬 네트워크 내의 하나 이상의 라우터들이 통지하도록 하는 참가 모드를 개시함으로써 메쉬 네트워크에 대한 참가를 활성화하도록 구성되며; 커미셔닝 애플리케이션은 메쉬 네트워크를 참가 가능하게 만드는 관리 메시지를 리더 디바이스에 전송함으로써 메쉬 네트워크에 대한 참가를 활성화하도록 구성되며, 관리 메시지는 리더 디바이스가 메쉬 네트워크에 대한 네트워크 데이터를 업데이트하고 네트워크 데이터를 메쉬 네트워크내의 하나 이상의 라우터 디바이스들에 전파하는 것을 가능하게 하고, 네트워크 데이터는 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 포함하며; 참가 디바이스로부터 수신된 요청은 참가 디바이스의 암호화된 디바이스 식별자를 포함하며, 암호화된 디바이스 식별자는 J-PAKE(Password Authentication Key Exchange by Juggling)를 사용하여 참가 디바이스의 디바이스 식별자로부터 유도되며; 커미셔닝 애플리케이션은 참가 디바이스로부터 수신된 암호화된 디바이스 식별자가 사용자로부터 커미셔닝 디바이스에 대한 입력으로서 수신되는 디바이스 식별자의 복사본으로부터 커미셔닝 디바이스에 의해 유도되는 암호화된 디바이스 식별자와 매칭됨을 결정하고 그리고 참가자 통신 세션을 안전하게 하기 위하여 공유 시크릿으로서 암호화된 디바이스 식별자를 사용하도록 추가로 구성된 보안 참가자 통신 세션을 설정하도록 구성되며; 커미셔닝 애플리케이션은 메쉬 네트워크에 참가하기 위한, 참가 디바이스로부터의 요청을 포워드하도록 구성되며, 요청은 메쉬 네트워크의 하나 이상의 라우터 디바이스들에 의해 커미셔닝 디바이스에 포워드된다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가하는 것을 요청하도록 구성된 하나 이상의 참가 디바이스들; 및 메쉬 네트워크의 커미셔닝 디바이스를 포함하며; 커미셔닝 디바이스는 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에 보안 커미셔닝 통신 세션을 설정하며, 메쉬 네트워크에 대한 참가를 활성화하며, 메쉬 네트워크에 참가하기 위한 요청을 참가 디바이스들 중 하나로부터 수신하며, 커미셔닝 디바이스와 참가 디바이스 사이에 보안 참가자 통신 세션을 설정하며, 그리고 메쉬 네트워크에 참가 디바이스를 참가시키도록 구성된다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 커미셔닝 디바이스는, 보안 커미셔닝 통신 세션을 설정하기 위하여, 메쉬 네트워크에 대한 액티브 커미셔너로서 커미셔닝 디바이스를 수락할 것을 요청하는 신청을 커미셔닝 디바이스로부터 메쉬 네트워크의 리더 디바이스로 전송하며; 그리고 리더 디바이스로부터 신청의 수락의 표시를 수신하도록 구성되며; 커미셔닝 디바이스는 메쉬 네트워크가 참가 요청들을 수락중인 것을 메쉬 네트워크내의 하나 이상의 라우터들이 통지하도록 하는 참가 모드를 개시함으로써 메쉬 네트워크에 대한 참가를 활성화하도록 구성되며; 커미셔닝 디바이스는 메쉬 네트워크를 참가 가능하게 만들기 위한 관리 메시지를 리더 디바이스에 전송함으로써 메쉬 네트워크에 대한 참가를 활성화하도록 구성되며, 관리 메시지는 리더 디바이스가 메쉬 네트워크에 대한 네트워크 데이터를 업데이트하고 네트워크 데이터를 메쉬 네트워크내의 하나 이상의 라우터 디바이스들에 전파하는 것을 가능하게 하며, 네트워크 데이터는 참가를 위해 메쉬 네트워크가 이용가능하다는 표시를 포함하며; 커미셔닝 디바이스는 메쉬 네트워크에 참가하기 위한 요청을 참가 디바이스들 중 하나로부터 참가자 라우터를 통해 수신하며, 그리고 메쉬 네트워크에 대한 네트워크 크리덴셜들 및 커미셔닝 디바이스와 참가 디바이스 사이에서 공유되는 키 암호화 키(KEK)를 수신하도록 참가 디바이스가 위임되어야 한다는 표시를 참가자 라우터에 송신하도록 구성되며, 송신된 표시는 참가자 라우터가 메쉬 네트워크에 대해 참가 디바이스를 커미셔닝하기 위한 네트워크 크리덴셜들을 참가 디바이스에 보안적으로 송신하기 위하여 수신된 KEK를 사용하는 것을 가능하게 한다.
메쉬 네트워크에서 참가 디바이스를 프로비저닝하는 방법은 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에서 커미셔닝 통신 세션을 설정하는 단계; 참가 디바이스와 커미셔닝 디바이스 사이에서 참가자 통신 세션을 설정하는 단계; 메쉬 네트워크에 참가하기 위하여 참가 디바이스에 의해 사용가능한 커미셔닝 정보를 참가 디바이스에 전송하는 단계; 커미셔너 애플리케이션의 로케이션의 표시를 참가 디바이스로부터 수신하는 단계; 및 참가 디바이스를 프로비저닝하기 위하여 커미셔너 애플리케이션을 실행하는 단계를 포함한다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 상기 방법은 수신된 표시를 활용하여 커미셔너 애플리케이션을 리트리브하는 단계를 더 포함하며; 커미셔너 애플리케이션의 로케이션의 수신된 표시는 URL(Uniform Resource Locator)이며; 커미셔너 애플리케이션은 클라우드 서비스로부터 인터넷을 통해 리트리브되며; 커미셔닝 디바이스는 커미셔너 애플리케이션이 커미셔닝 디바이스의 메모리에 저장되는지를 결정하기 위하여 수신된 URL을 사용하며; 상기 방법은 참가 디바이스의 프로비저닝을 완료하는 것에 대한 응답으로, 참가 디바이스의 커미셔닝을 완결하는 단계를 더 포함하며, 완결 단계는 참가 디바이스가 메쉬 네트워크에 참가하는 것을 가능하게 하는데 효과적이며; 참가 디바이스의 프로비저닝은 참가 디바이스상의 소프트웨어를 업데이트하는 단계를 포함하며; 참가 디바이스의 프로비저닝은 클라우드 서비스를 통해 참가 디바이스를 사용자 계정에 링크하는 단계를 포함하며; 참가 디바이스의 프로비저닝은 참가 디바이스를 구성하는 단계를 포함하며; 구성은 메쉬 네트워크의 다른 디바이스들과 관련된 로컬 구성이다.
커미셔닝 디바이스로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에서 커미셔닝 통신 세션을 설정하며; 참가 디바이스와 커미셔닝 디바이스 사이에 참가자 통신 세션을 설정하며; 메쉬 네트워크에 참가하기 위하여 참가 디바이스에 의해 사용가능한 커미셔닝 정보를 참가 디바이스에 전송하며; 커미셔너 애플리케이션의 로케이션의 표시를 참가 디바이스로부터 수신하며; 그리고 참가 디바이스를 프로비저닝하기 위하여 커미셔너 애플리케이션을 실행하도록 구성된다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 수신된 표시를 활용하여 커미셔너 애플리케이션을 리트리브하도록 구성되며; 커미셔너 애플리케이션의 로케이션의 수신된 표시는 URL(Uniform Resource Locator)이며; 커미셔너 애플리케이션은 클라우드 서비스로부터 인터넷을 통해 리트리브되며; 커미셔닝 디바이스는 커미셔너 애플리케이션이 커미셔닝 디바이스의 메모리에 저장되는지를 결정하기 위하여 수신된 URL을 사용한다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가하는 것을 요청하도록 구성된 참가 디바이스; 및 메쉬 네트워크의 커미셔닝 디바이스를 포함하며, 커미셔닝 디바이스는 메쉬 네트워크의 경계 라우터와 커미셔닝 디바이스 사이에서 커미셔닝 통신 세션을 설정하며; 참가 디바이스와 커미셔닝 디바이스 사이에 참가자 통신 세션을 설정하며; 메쉬 네트워크에 참가하기 위하여 참가 디바이스에 의해 사용가능한 커미셔닝 정보를 참가 디바이스에 전송하며; 커미셔너 애플리케이션의 로케이션의 표시를 참가 디바이스로부터 수신하며; 그리고 참가 디바이스를 프로비저닝하기 위하여 커미셔너 애플리케이션을 실행하도록 구성된다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 수신된 표시를 활용하여 커미셔너 애플리케이션을 리트리브하도록 구성되며; 커미셔너 애플리케이션의 로케이션의 수신된 표시는 URL(Uniform Resource Locator)이며; 커미셔너 애플리케이션은 클라우드 서비스로부터 인터넷을 통해 리트리브되며; 커미셔닝 디바이스는 커미셔너 애플리케이션이 커미셔닝 디바이스의 메모리에 저장되는지를 결정하기 위하여 수신된 URL을 사용한다.
메쉬 네트워크에 참가하도록 허용되는 디바이스들을 식별하는 방법은 메쉬 네트워크에 대한 스티어링 데이터를 결정하는 단계 ― 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함함 ―; 및 스티어링 데이터를 메쉬 네트워크에 대한 커미셔닝 디바이스로부터 메쉬 네트워크 내의 하나 이상의 라우터들에 전파하는 단계를 포함하며, 전파 단계는 하나 이상의 라우터들이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하며, 스티어링 데이터는 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 디바이스 식별자와 연관된 디바이스가 식별하는 것을 가능하게 하는데 효과적이다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 스티어링 데이터는 디바이스 식별자의 CRC16(16 bit Cyclic Redundancy Check)를 포함하며; 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)이며; 메쉬 네트워크에 대한 스티어링 데이터를 결정하는 단계는 메쉬 네트워크에 참가하도록 허용되는 추가 디바이스들과 연관된 추가 디바이스 식별자들에 대한 스티어링 데이터를 결정하는 단계를 더 포함하며; 스티어링 데이터를 전파하는 단계는 디바이스가 다른 네트워크들로부터 메쉬 네트워크를 구별하는 것을 가능하게 하는데 효과적이며; 다른 네트워크는 IEEE 802.15.4 네트워크들이며; 스티어링 데이터는 커미셔너가 메쉬 네트워크상에서 액티브하다는 것을 표시한다.
커미셔닝 디바이스로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 메쉬 네트워크에 대한 스티어링 데이터를 결정하며 ― 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함함 ―; 및 스티어링 데이터를 메쉬 네트워크에 대한 커미셔닝 디바이스로부터 메쉬 네트워크 내의 하나 이상의 라우터들에 전파하도록 구성되며, 전파하는 것은 하나 이상의 라우터들이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하며, 스티어링 데이터는 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 디바이스 식별자와 연관된 디바이스가 식별하는 것을 가능하게 하는데 효과적이다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 스티어링 데이터는 디바이스 식별자의 CRC16(16 bit Cyclic Redundancy Check)를 포함하며; 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)이며; 커미셔닝 애플리케이션은, 메쉬 네트워크에 대한 스티어링 데이터를 결정하기 위하여, 메쉬 네트워크에 참가하도록 허용되는 추가 디바이스들과 연관된 추가 디바이스 식별자들에 대한 스티어링 데이터를 결정하도록 구성되며; 스티어링 데이터는 다른 네트워크들로부터 메쉬 네트워크를 구별하기 위하여 디바이스에 의해 사용가능하며; 다른 네트워크들은 IEEE 802.15.4 네트워크들이며; 스티어링 데이터는 커미셔너가 메쉬 네트워크상에서 액티브하다는 것을 표시한다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가하는 것을 요청하도록 구성된 참가 디바이스; 및 메쉬 네트워크의 커미셔닝 디바이스를 포함하며, 커미셔닝 디바이스는 메쉬 네트워크에 대한 스티어링 데이터를 결정하며 ― 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함함 ―; 및 스티어링 데이터를 메쉬 네트워크에 대한 커미셔닝 디바이스로부터 메쉬 네트워크 내의 하나 이상의 라우터들에 전파하도록 구성되며, 전파는 하나 이상의 라우터들이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하며, 스티어링 데이터는 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 디바이스 식별자와 연관된 디바이스가 식별하는 것을 가능하게 하는데 효과적이다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 스티어링 데이터는 디바이스 식별자의 CRC16(16 bit Cyclic Redundancy Check)를 포함하며; 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)이며; 커미셔닝 디바이스는 메쉬 네트워크에 대한 스티어링 데이터를 결정하기 위하여, 메쉬 네트워크에 참가하도록 허용되는 추가 디바이스들과 연관된 추가 디바이스 식별자들에 대한 스티어링 데이터를 결정하도록 구성되며; 스티어링 데이터는 디바이스가 다른 네트워크들로부터 메쉬 네트워크를 구별하는 것을 가능하게 하며; 스티어링 데이터는 커미셔너가 메쉬 네트워크상에서 액티브하다는 것을 표시한다.
메쉬 네트워크에 참가하도록 허용되는 디바이스들을 식별하는 방법은 메쉬 네트워크에 대한 스티어링 데이터를 결정하는 단계 ― 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함하며, 표시는 디바이스 식별자를 나타내는 값들의 세트로서 블룸 필터에서 표현됨 ―; 및 스티어링 데이터를 메쉬 네트워크에 대한 커미셔닝 디바이스로부터 메쉬 네트워크내의 하나 이상의 라우터들에 전파하는 단계를 포함하며, 전파는 하나 이상의 라우터들이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하며, 스티어링 데이터는 디바이스 식별자와 연관된 디바이스가, 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 식별하기 위하여 블룸 필터의 값들의 세트를 디바이스에서 결정된 값들의 제 2 세트와 비교하는 것을 가능하게 한다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 스티어링 데이터를 결정하는 단계는 제 1 해시 값을 생성하기 위하여 디바이스 식별자에 제 1 해시 함수를 적용하는 단계; 제 2 해시 값을 생성하기 위하여 디바이스 식별자에 제 2 해시 함수를 적용하는 단계; 블룸 필터에서 제 1 비트 필드 로케이션을 결정하기 위하여 제 1 해시 값에 대해 모듈러 연산을 수행하는 단계; 블룸 필터에서 제 2 비트 필드 로케이션을 결정하기 위하여 제 2 해시 값에 대해 모듈러 연산을 수행하는 단계; 블룸 필터의 제 1 비트 필드 로케이션의 값을 1로 세팅하는 단계; 및 블룸 필터의 제 2 비트 필드 로케이션의 값을 1로 세팅하는 단계를 포함하며; 제 1 및 제 2 해시 함수들은 CRC(Cyclic Redundancy Check)들이며, 제 1 해시 함수는 CRC16-CCITT이며, 제 2 해시 함수는 CRC16-ANSI이며; 모듈러 연산을 위한 약수(divisor)는 블룸 필터의 비트 어레이의 길이이며; 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)이며; 디바이스 식별자는 EUI-64의 최하위 24 비트이며; 메쉬 네트워크에 대한 스티어링 데이터를 결정하는 단계는 메쉬 네트워크에 참가하도록 허용되는 추가 디바이스들과 연관된 추가 디바이스 식별자들에 대한 스티어링 데이터를 결정하는 단계를 더 포함하며; 상기 방법은 스티어링 데이터의 값을 0의 값으로 세팅하는 단계를 더 포함하며, 0의 값은 메쉬 네트워크에 대한 참가를 디스에이블(disable)하며; 상기 방법은 임의의 디바이스에 대하여 메쉬 네트워크가 참가 가능하다는 것을 표시하기 위하여 스티어링 데이터의 모든 비트 필드 값들을 1의 값으로 세팅하는 단계를 더 포함한다.
커미셔닝 디바이스로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 메쉬 네트워크에 대한 스티어링 데이터를 결정하며 ― 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함하며, 표시는 디바이스 식별자를 나타내는 값들의 세트로서 블룸 필터에서 표현됨 ―; 및 스티어링 데이터를 메쉬 네트워크내의 하나 이상의 라우터들에 전파하며, 전파는 하나 이상의 라우터들이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하는데 효과적이며, 스티어링 데이터는 디바이스 식별자와 연관된 디바이스가, 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 식별하기 위하여 블룸 필터의 값들의 세트를 디바이스에서 결정된 값들의 제 2 세트와 비교하는 것을 가능하게 한다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 제 1 해시 값을 생성하기 위하여 디바이스 식별자에 제 1 해시 함수를 적용하며; 제 2 해시 값을 생성하기 위하여 디바이스 식별자에 제 2 해시 함수를 적용하며; 블룸 필터에서 제 1 비트 필드 로케이션을 결정하기 위하여 제 1 해시 값에 대해 모듈러 연산을 수행하며; 블룸 필터에서 제 2 비트 필드 로케이션을 결정하기 위하여 제 2 해시 값에 대해 모듈러 연산을 수행하며; 블룸 필터의 제 1 비트 필드 로케이션의 값을 1로 세팅하며; 그리고 블룸 필터의 제 2 비트 필드 로케이션의 값을 1로 세팅하도록 구성되며; 제 1 및 제 2 해시 함수들은 CRC(Cyclic Redundancy Check)들이며, 제 1 해시 함수는 CRC16-CCITT이며, 제 2 해시 함수는 CRC16-ANSI이며; 모듈러 연산을 위한 약수는 블룸 필터의 비트 어레이의 길이이며; 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)이다.
메쉬 네트워크 시스템은 메쉬 네트워크에 참가하는 것을 요청하도록 구성된 참가 디바이스; 및 커미셔닝 디바이스를 포함하며; 커미셔닝 디바이스는 메쉬 네트워크에 대한 스티어링 데이터를 결정하며 ― 스티어링 데이터는 메쉬 네트워크에 참가하도록 허용되는 디바이스와 연관된 디바이스 식별자의 표시를 포함하며, 표시는 디바이스 식별자를 나타내는 값들의 세트로서 블룸 필터에서 표현됨 ―; 및 스티어링 데이터를 메쉬 네트워크내의 하나 이상의 라우터들에 전파하도록 구성되며, 전파는 하나 이상의 라우터들이 비콘 메시지로 스티어링 데이터를 송신하는 것을 가능하게 하는데 효과적이며, 스티어링 데이터는 디바이스 식별자와 연관된 디바이스가, 디바이스가 메쉬 네트워크에 참가하도록 허용됨을 식별하기 위하여 블룸 필터의 값들의 세트를 디바이스에서 결정된 값들의 제 2 세트와 비교하는 것을 가능하게 한다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 커미셔닝 디바이스는 제 1 해시 값을 생성하기 위하여 디바이스 식별자에 제 1 해시 함수를 적용하며; 제 2 해시 값을 생성하기 위하여 디바이스 식별자에 제 2 해시 함수를 적용하며; 블룸 필터에서 제 1 비트 필드 로케이션을 결정하기 위하여 제 1 해시 값에 대해 모듈러 연산을 수행하며; 블룸 필터에서 제 2 비트 필드 로케이션을 결정하기 위하여 제 2 해시 값에 대해 모듈러 연산을 수행하며; 블룸 필터의 제 1 비트 필드 로케이션의 값을 1로 세팅하며; 그리고 블룸 필터의 제 2 비트 필드 로케이션의 값을 1로 세팅하도록 구성되며; 제 1 및 제 2 해시 함수들은 CRC(Cyclic Redundancy Check)들이며, 제 1 해시 함수는 CRC16-CCITT이며, 제 2 해시 함수는 CRC16-ANSI이며; 모듈러 연산을 위한 약수는 블룸 필터의 비트 어레이의 길이이며; 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)이며; 컴퓨팅 디바이스는, 메쉬 네트워크에 대한 스티어링 데이터를 결정하기 위하여, 메쉬 네트워크에 참가하도록 허용되는 추가 참가자 디바이스들과 연관된 추가 디바이스 식별자들에 대한 스티어링 데이터를 결정하도록 구성된다.
메쉬 네트워크의 노드들에서 커미셔닝 데이터를 업데이트하는 방법은 메쉬 네트워크의 노드 디바이스에서 커미셔닝 데이터세트를 수신하는 단계; 노드 디바이스에 저장되는 커미셔닝 데이터세트에 포함된 저장된 타임스탬프와 수신된 커미셔닝 데이터세트에 포함된 타임스탬프를 비교하는 단계; 저장된 타임스탬프가 수신된 타임스탬프보다 더 최근임을 비교로부터 결정하는 단계; 및 결정에 대한 응답으로, 저장된 커미셔닝 데이터세트를 포함하고, 리더 디바이스가 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 대한 가장 최근의 커미셔닝 데이터세트로서 수락하고 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 전파하는 것을 가능하게 하는데 효과적인 메시지를 메쉬 네트워크의 리더 디바이스에 송신하는 단계를 포함한다.
앞서 설명된 방법에 대안적으로 또는 추가적으로, 상기 방법은 수신된 타임스탬프가 저장된 타임스탬프보다 최근임을 비교로부터 결정하는 단계; 및 수신된 타임스탬프가 저장된 타임스탬프 보다 더 최근이라는 결정에 대한 응답으로, 수신된 커미셔닝 데이터세트와 매칭되도록 저장된 커미셔닝 데이터세트를 업데이트하는 단계를 더 포함하며; 수신된 커미셔닝 데이터세트는 수신된 타임스탬프; 커미셔닝 크리덴셜; 메쉬 네트워크의 네트워크 이름; 및 메쉬 네트워크에서 어떤 보안-관련 동작들이 허용되는지를 표시하는 보안 정책을 포함하며; 수신된 타임스탬프는 시간 값, 및 UTC(Coordinated Universal Time)에 대해 시간 값이 추적가능하다는 표시를 포함하며; 노드 디바이스 및 리더 디바이스는 메쉬 네트워크에 사전에 커미셔닝되었으며, 사전 커미셔닝은 노드 디바이스 및 리더 디바이스에 동일한 커미셔닝 데이터세트들을 저장하며; 노드 디바이스에 저장된 커미셔닝 데이터세트는 메쉬 네트워크의 스플릿(split) 이후에 업데이트되며, 스플릿은 메쉬 네트워크를 복수의 구획들로 분할하며, 메쉬 네트워크의 제 1 구획은 리더 디바이스를 포함하며, 메쉬 네트워크의 제 2 구획은 노드 디바이스를 포함하며; 스플릿은 메쉬 네트워크를 통한, 노드 디바이스와 리더 디바이스간의 통신을 중지하며; 노드 디바이스에서 커미셔닝 데이터세트를 수신하는 단계는 메쉬 네트워크의 제 1 구획 및 제 2 구획의 병합 이후에 발생하며, 병합은 메쉬 네트워크를 통한, 노드 디바이스와 리더 디바이스 간의 통신 경로를 재설정하며; 노드 디바이스는 라우터 디바이스 또는 라우터-적격 디바이스이다.
라우터로서 구현되는 메쉬 네트워크 디바이스는 메쉬 네트워크에서의 통신을 위해 구성된 메쉬 네트워크 인터페이스; 커미셔닝 애플리케이션을 구현하기 위한 메모리 및 프로세서 시스템을 포함하며; 커미셔닝 애플리케이션은 커미셔닝 데이터세트를 수신하며; 라우터에 저장되는 커미셔닝 데이터세트에 포함된 저장된 타임스탬프와 수신된 커미셔닝 데이터세트에 포함된 타임스탬프를 비교하며; 저장된 타임스탬프가 수신된 타임스탬프보다 더 최근임을 비교로부터 결정하며; 그리고 결정에 대한 응답으로, 저장된 커미셔닝 데이터세트를 포함하고, 리더 디바이스가 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 대한 가장 최근의 커미셔닝 데이터세트로서 수락하고 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 전파하는 것을 가능하게 하는데 효과적인 메시지를 메쉬 네트워크의 리더 디바이스에 송신하도록 구성된다.
앞서 설명된 메쉬 네트워크 디바이스에 대안적으로 또는 추가적으로, 커미셔닝 애플리케이션은 수신된 타임스탬프가 저장된 타임스탬프보다 더 최근임을 비교로부터 결정하며; 그리고 수신된 타임스탬프가 저장된 타임스탬프 보다 더 최근이라는 결정에 대한 응답으로, 수신된 커미셔닝 데이터세트와 매칭되도록 저장된 커미셔닝 데이터세트를 업데이트하도록 구성되며; 수신된 커미셔닝 데이터세트는 수신된 타임스탬프; 커미셔닝 크리덴셜; 메쉬 네트워크의 네트워크 이름; 및 메쉬 네트워크에서 어떤 보안-관련 동작들이 허용되는지를 표시하는 보안 정책을 포함하며; 수신된 타임스탬프는 시간 값, 및 UTC(Coordinated Universal Time)에 대해 시간 값이 추적가능하다는 표시를 포함하며; 라우터 및 리더 디바이스는 메쉬 네트워크에 사전에 커미셔닝되었으며, 사전 커미셔닝은 라우터 및 리더 디바이스에 동일한 커미셔닝 데이터세트들을 저장하며; 라우터에 저장된 커미셔닝 데이터세트는 메쉬 네트워크의 스플릿 이후에 업데이트되며, 스플릿은 메쉬 네트워크들을 복수의 구획들로 분할하며, 메쉬 네트워크의 제 1 구획은 리더 디바이스를 포함하며, 메쉬 네트워크의 제 2 구획은 라우터를 포함한다.
메쉬 네트워크 시스템은 메쉬 네트워크에 대한 커미셔닝 데이터를 유지하도록 구성된 리더 디바이스; 및 라우터 디바이스를 포함하며; 라우터 디바이스는 커미셔닝 데이터세트를 수신하며; 라우터에 저장되는 커미셔닝 데이터세트에 포함된 저장된 타임스탬프와 수신된 커미셔닝 데이터세트에 포함된 타임스탬프를 비교하며; 저장된 타임스탬프가 수신된 타임스탬프보다 더 최근임을 비교로부터 결정하며; 그리고 결정에 대한 응답으로, 저장된 커미셔닝 데이터세트를 포함하고, 리더 디바이스가 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 대한 가장 최근의 커미셔닝 데이터세트로서 수락하고 저장된 커미셔닝 데이터세트를 메쉬 네트워크에 전파하는 것을 가능하게 하는데 효과적인 메시지를 메쉬 네트워크의 리더 디바이스에 송신하도록 구성된다.
앞서 설명된 메쉬 네트워크 시스템에 대안적으로 또는 추가적으로, 라우터 디바이스는 수신된 타임스탬프가 저장된 타임스탬프보다 더 최근임을 비교로부터 결정하며; 그리고 수신된 타임스탬프가 저장된 타임스탬프 보다 더 최근이라는 결정에 대한 응답으로, 수신된 커미셔닝 데이터세트와 매칭되도록 저장된 커미셔닝 데이터세트를 업데이트하도록 구성되며; 수신된 커미셔닝 데이터세트는 수신된 타임스탬프; 커미셔닝 크리덴셜; 메쉬 네트워크의 네트워크 이름; 및 메쉬 네트워크에서 어떤 보안-관련 동작들이 허용되는지를 표시하는 보안 정책을 포함하며; 수신된 타임스탬프는 시간 값, 및 UTC(Coordinated Universal Time)에 대해 시간 값이 추적가능하다는 표시를 포함하며; 라우터 및 리더 디바이스는 메쉬 네트워크에 사전에 커미셔닝되었으며, 사전 커미셔닝은 라우터 및 리더 디바이스에 동일한 커미셔닝 데이터세트들을 저장하였다.

Claims (20)

  1. 메쉬 네트워크에 참가하도록 허가된 디바이스들을 식별하는 방법으로서,
    상기 메쉬 네트워크에 대한 스티어링 데이터를 결정하는 단계 ― 상기 스티어링 데이터는 블룸 필터에서 값들의 세트로서 표현되는 디바이스 식별자의 표시 및 상기 디바이스 식별자의 길이를 포함하고, 상기 디바이스 식별자는 상기 디바이스 식별자의 표시에 대한 상기 메쉬 네트워크에 참가하도록 허가된 디바이스 및 상기 값들의 세트를 결정하는데 이용가능한 상기 디바이스 식별자의 길이와 연관됨 ―; 및
    상기 메쉬 네트워크에 대한 커미셔닝 디바이스로부터 상기 메쉬 네트워크의 하나 또는 그 초과의 라우터들로 상기 스티어링 데이터를 전파하는 단계
    를 포함하고,
    상기 전파하는 단계는 상기 하나 또는 그 초과의 라우터들이 비콘 메시지로 상기 스티어링 데이터를 전송할 수 있도록 하고,
    상기 스티어링 데이터는 상기 메쉬 네트워크에 참가하도록 허가된 상기 디바이스를 식별하기 위해, 상기 디바이스 식별자와 연관된 상기 디바이스가 상기 블룸 필터의 값들의 세트와 상기 디바이스에서 결정된 제2 값들의 세트를 비교하도록 할 수 있는,
    방법.
  2. 제 1 항에 있어서,
    상기 스티어링 데이터를 결정하는 단계는:
    제1 해쉬 값을 생성하기 위해 상기 디바이스 식별자에 제1 해쉬 함수를 적용하는 단계;
    제2 해쉬 값을 생성하기 위해 상기 디바이스 식별자에 제2 해쉬 함수를 적용하는 단계;
    상기 블룸 필터에서의 제1 비트 필드 로케이션을 결정하기 위해 상기 제1 해쉬 값에 모듈러 연산을 수행하는 단계;
    상기 블룸 필터에서의 제2 비트 필드 로케이션을 결정하기 위해 상기 제2 해쉬 값에 모듈러 연산을 수행하는 단계;
    상기 블룸 필터의 상기 제1 비트 필드 로케이션의 값을 1로 설정하는 단계; 및
    상기 블룸 필터의 상기 제2 비트 필드 로케이션의 값을 1로 설정하는 단계
    를 포함하는,
    방법.
  3. 제 2 항에 있어서,
    상기 제1 해쉬 함수 및 상기 제2 해쉬 함수는 CRC(cyclic redundancy checks)이고, 상기 제1 해쉬 함수는 CRC16-CCITT이고, 그리고 상기 제2 해쉬 함수는 CRC16-ANSI인,
    방법.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 모듈러 연산에 대한 약수(divisor)는 블룸 필터의 비트 어레이의 길이인,
    방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)인,
    방법.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 디바이스 식별자는 EUI-64의 최하위 24 비트인,
    방법.
  7. 제 1 항에 있어서,
    상기 메쉬 네트워크에 대한 스티어링 데이터를 결정하는 단계는,
    상기 메쉬 네트워크에 참가하도록 허가된 추가 디바이스들과 연관된 추가 디바이스 식별자들에 대한 스티어링 데이터를 결정하는 단계를 더 포함하는,
    방법.
  8. 제 1 항에 있어서,
    상기 스티어링 데이터의 값을 상기 메쉬 네트워크에 대한 참가를 불가하게 하는 0의 값으로 설정하는 단계를 더 포함하는,
    방법.
  9. 제 1 항에 있어서,
    상기 메쉬 네트워크가 임의의 디바이스에 대해 참가 가능하다는 것을 표시하기 위해 상기 스티어링 데이터의 모든 비트 필드 값들을 1의 값으로 설정하는 단계를 더 포함하는,
    방법.
  10. 커미셔닝 디바이스로서 구현되는 메쉬 네트워크 디바이스로서,
    메쉬 네트워크에서의 통신을 위해 구성되는 메쉬 네트워크 인터페이스;
    커미셔닝 애플리케이션을 구현하는 메모리 및 프로세서 시스템을 포함하고,
    상기 커미셔닝 애플리케이션은:
    상기 메쉬 네트워크에 대한 스티어링 데이터를 결정하고 ― 상기 스티어링 데이터는 블룸 필터에서 값들의 세트로서 표현되는 디바이스 식별자의 표시 및 상기 디바이스 식별자의 길이를 포함하고, 상기 디바이스 식별자는 상기 디바이스 식별자의 표시에 대한 상기 메쉬 네트워크에 참가하도록 허가된 디바이스 및 상기 값들의 세트를 결정하는데 이용가능한 상기 디바이스 식별자의 길이와 연관됨 ―; 그리고
    상기 메쉬 네트워크의 하나 또는 그 초과의 라우터들로 상기 스티어링 데이터를 전파하도록 구성되며,
    상기 전파는 상기 하나 또는 그 초과의 라우터들이 비콘 메시지로 상기 스티어링 데이터를 전송할 수 있도록 하는데 효과적이고, 상기 스티어링 데이터는 상기 메쉬 네트워크에 참가하도록 허가된 상기 디바이스를 식별하기 위해 상기 디바이스 식별자에 연관된 디바이스가 상기 블룸 필터의 값들의 세트와 상기 디바이스에서 결정된 제2 값들의 세트를 비교하도록 할 수 있는,
    메쉬 네트워크 디바이스.
  11. 제 10 항에 있어서,
    상기 커미셔닝 애플리케이션은:
    제1 해쉬 값을 생성하기 위해 상기 디바이스 식별자에 제1 해쉬 함수를 적용하고;
    제2 해쉬 값을 생성하기 위해 상기 디바이스 식별자에 제2 해쉬 함수를 적용하고;
    상기 블룸 필터에서의 제1 비트 필드 로케이션을 결정하기 위해 상기 제1 해쉬 값에 모듈러 연산을 수행하며;
    상기 블룸 필터에서의 제2 비트 필드 로케이션을 결정하기 위해 상기 제2 해쉬 값에 모듈러 연산을 수행하고;
    상기 블룸 필터의 상기 제1 비트 필드 로케이션의 값을 1로 설정하고; 그리고
    상기 블룸 필터의 상기 제2 비트 필드 로케이션의 값을 1로 설정하도록 구성되는,
    메쉬 네트워크 디바이스.
  12. 제 11 항에 있어서,
    상기 제1 해쉬 함수 및 상기 제2 해쉬 함수는 CRC(cyclic redundancy checks)이고, 상기 제1 해쉬 함수는 CRC16-CCITT이고, 그리고 상기 제2 해쉬 함수는 CRC16-ANSI인,
    메쉬 네트워크 디바이스.
  13. 제 11 항 또는 제 12 항에 있어서,
    상기 모듈러 연산에 대한 약수는 블룸 필터의 비트 어레이의 길이인,
    메쉬 네트워크 디바이스.
  14. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)인,
    메쉬 네트워크 디바이스.
  15. 메쉬 네트워크 시스템으로서,
    메쉬 네트워크에 참가하는 것을 요청하도록 구성되는 참가 디바이스; 및
    커미셔닝 디바이스를 포함하고,
    상기 커미셔닝 디바이스는,
    상기 메쉬 네트워크에 대한 스티어링 데이터를 결정하고 ― 상기 스티어링 데이터는 블룸 필터에서 값들의 세트로서 표현되는 디바이스 식별자의 표시, 및 상기 디바이스 식별자의 길이를 포함하며, 상기 디바이스 식별자는 상기 디바이스 식별자의 표시에 대한 상기 메쉬 네트워크에 참가하도록 허가된 참가 디바이스 및 상기 값들의 세트를 결정하는데 이용가능한 상기 디바이스 식별자의 길이와 연관됨 ―; 그리고
    상기 메쉬 네트워크의 하나 또는 그 초과의 라우터들로 상기 스티어링 데이터를 전파하도록 구성되며,
    상기 전파는 상기 하나 또는 그 초과의 라우터들이 비콘 메시지로 상기 스티어링 데이터를 전송할 수 있도록 하는데 효과적이고, 상기 스티어링 데이터는 상기 메쉬 네트워크에 참가하도록 허가된 상기 디바이스를 식별하기 위해 상기 디바이스 식별자에 연관된 디바이스가 상기 블룸 필터의 값들의 세트와 상기 참가 디바이스에서 결정된 제2 값들의 세트를 비교하도록 할 수 있는,
    메쉬 네트워크 시스템.
  16. 제 15 항에 있어서,
    상기 커미셔닝 디바이스는:
    제1 해쉬 값을 생성하기 위해 상기 디바이스 식별자에 제1 해쉬 함수를 적용하고;
    제2 해쉬 값을 생성하기 위해 상기 디바이스 식별자에 제2 해쉬 함수를 적용하고;
    상기 블룸 필터에서의 제1 비트 필드 로케이션을 결정하기 위해 상기 제1 해쉬 값에 모듈러 연산을 수행하며;
    상기 블룸 필터에서의 제2 비트 필드 로케이션을 결정하기 위해 상기 제2 해쉬 값에 모듈러 연산을 수행하고;
    상기 블룸 필터의 상기 제1 비트 필드 로케이션의 값을 1로 설정하고; 그리고
    상기 블룸 필터의 상기 제2 비트 필드 로케이션의 값을 1로 설정하도록 구성되는,
    메쉬 네트워크 시스템.
  17. 제 16 항에 있어서,
    상기 제1 해쉬 함수 및 상기 제2 해쉬 함수는 CRC(cyclic redundancy checks)이고, 상기 제1 해쉬 함수는 CRC16-CCITT이고, 그리고 상기 제2 해쉬 함수는 CRC16-ANSI인,
    메쉬 네트워크 시스템.
  18. 제 16 항 또는 제 17 항에 있어서,
    상기 모듈러 연산에 대한 약수는 블룸 필터의 비트 어레이의 길이인,
    메쉬 네트워크 시스템.
  19. 제 15 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 디바이스 식별자는 EUI-64(IEEE 64-bit Extended Unique Identifier)인,
    메쉬 네트워크 시스템.
  20. 제 15 항에 있어서,
    상기 메쉬 네트워크에 대한 상기 스티어링 데이터를 결정하기 위해, 컴퓨터 디바이스는 상기 메쉬 네트워크에 참가하도록 허가된 추가 참가 디바이스들과 연관된 추가 디바이스 식별자들에 대한 스티어링 데이터를 결정하도록 구성되는,
    메쉬 네트워크 시스템.
KR1020197013751A 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝 KR102038571B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201462016450P 2014-06-24 2014-06-24
US62/016,450 2014-06-24
US201462063135P 2014-10-13 2014-10-13
US62/063,135 2014-10-13
US201562115601P 2015-02-12 2015-02-12
US62/115,601 2015-02-12
US201562141853P 2015-04-02 2015-04-02
US62/141,853 2015-04-02
PCT/US2015/037549 WO2015200558A1 (en) 2014-06-24 2015-06-24 Mesh network commissioning

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187017294A Division KR101979935B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197031299A Division KR102121625B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝

Publications (2)

Publication Number Publication Date
KR20190058660A KR20190058660A (ko) 2019-05-29
KR102038571B1 true KR102038571B1 (ko) 2019-11-26

Family

ID=53674291

Family Applications (9)

Application Number Title Priority Date Filing Date
KR1020207032493A KR102251202B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020207016083A KR102179962B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020187017294A KR101979935B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020197013751A KR102038571B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020177003442A KR101775089B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020197031299A KR102121625B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020177024382A KR101870835B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020217013550A KR102306628B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020167013153A KR101706581B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020207032493A KR102251202B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020207016083A KR102179962B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020187017294A KR101979935B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020177003442A KR101775089B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020197031299A KR102121625B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020177024382A KR101870835B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020217013550A KR102306628B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝
KR1020167013153A KR101706581B1 (ko) 2014-06-24 2015-06-24 메쉬 네트워크 커미셔닝

Country Status (8)

Country Link
US (10) US9363732B2 (ko)
EP (5) EP3141010B1 (ko)
JP (8) JP6262353B2 (ko)
KR (9) KR102251202B1 (ko)
CN (2) CN107889090B (ko)
AU (9) AU2015279883B2 (ko)
CA (3) CA3172139A1 (ko)
WO (1) WO2015200558A1 (ko)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102161443B1 (ko) * 2013-12-20 2020-10-06 삼성전자 주식회사 스마트 홈 시스템의 피 제어 장치 검색 및 제어 방법과 장치
CN107889090B (zh) * 2014-06-24 2019-09-10 谷歌有限责任公司 网状网络调试
US9385953B1 (en) 2015-02-03 2016-07-05 Google Inc. Mesh network addressing
US11343222B2 (en) 2015-04-02 2022-05-24 Google Llc Efficient network stack for wireless application protocols
US10277686B2 (en) * 2015-07-29 2019-04-30 Cisco Technology, Inc. Service discovery optimization in a network based on bloom filter
EP3345461B1 (en) 2015-09-04 2020-05-13 Signify Holding B.V. Installing and commissioning transceivers coupled to loads
US10326595B1 (en) * 2015-09-29 2019-06-18 Amazon Technologies, Inc. Load balancing probabilistic robot detection
US9762571B2 (en) * 2015-10-19 2017-09-12 Team Internet Ag Securing connections to unsecure internet resources
KR102370286B1 (ko) * 2015-10-28 2022-03-03 에스케이플래닛 주식회사 무선 메시 네트워크 인증 방법 및 이를 위한 장치, 이를 수행하는 컴퓨터 프로그램을 기록한 기록 매체
JP6580462B2 (ja) * 2015-11-02 2019-09-25 PicoCELA株式会社 ネットワークシステム、ノード、フレーム通信方法及びプログラム
US20200327083A1 (en) * 2016-01-08 2020-10-15 Crane Payment Innovations, Inc. Secondary bus communication between devices in an automated transaction machine
US10462137B2 (en) 2016-01-29 2019-10-29 Cisco Technology, Inc. Secure confirmation exchange for offline industrial machine
DE102016203648A1 (de) * 2016-03-07 2017-09-07 Zumtobel Lighting Gmbh Drahtlose Datenübertragung mittels Transponder in einem Beleuchtungssystem
GB2559310B (en) * 2016-03-11 2021-10-06 Tridonic Gmbh & Co Kg Building technology device communication system with IoT-network devices
EP3406089B1 (en) * 2016-03-17 2020-04-01 Siemens Aktiengesellschaft Adapting beacon transmission rate and/or power based on a received signal
US10129228B1 (en) * 2016-03-30 2018-11-13 Amazon Technologies, Inc. Authenticated communication between devices
US20170302663A1 (en) * 2016-04-14 2017-10-19 Cisco Technology, Inc. BLOCK CHAIN BASED IoT DEVICE IDENTITY VERIFICATION AND ANOMALY DETECTION
US9596606B1 (en) * 2016-04-25 2017-03-14 Verizon Patent And Licensing Inc. Application programming interface gateway for sponsored data services
KR101761648B1 (ko) * 2016-04-27 2017-07-26 주식회사 삼진엘앤디 무선 메시 네트워크의 동적 브리지 노드 형성 방법
US10433272B2 (en) 2016-05-17 2019-10-01 Googel LLC Distributed coordination of mesh network configuration updates
US20170343991A1 (en) * 2016-05-26 2017-11-30 Maverick Technologies Holdings, LLC Electronic Commissioning System for Production Facilities
US10681610B2 (en) * 2016-06-07 2020-06-09 Texas Instruments Incorporated Node configuration and self-healing for ad hoc networks
WO2017222449A1 (en) * 2016-06-23 2017-12-28 Telefonaktiebolaget Lm Ericsson (Publ) Path optimized multi-hop network
EP3273635B1 (en) * 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
EP3488304B1 (en) * 2016-07-25 2021-08-25 Eaton Intelligent Power Limited Auto-commissioning of electrical devices
KR101869154B1 (ko) * 2016-07-25 2018-06-19 이화여자대학교 산학협력단 복수의 스마트 기기에 대한 CoAP 메시지 기반의 비콘 서비스 제공 방법
RU2631154C1 (ru) * 2016-07-28 2017-09-19 Общество с ограниченной ответственностью "ВЕРИМАГ" (ООО "ВЕРИМАГ") Способ и система организации mesh-сети
US10484201B2 (en) 2016-09-28 2019-11-19 Samsung Electronics Co., Ltd. Distributed platform for robust execution of smart home applications
US10104549B2 (en) * 2016-09-30 2018-10-16 Mitsubishi Electric Corporation Network provisioning system and method for collection of endpoints
CN106533851A (zh) * 2016-10-14 2017-03-22 普天智能照明研究院有限公司 基于mesh网络技术的控制系统
US20180139275A1 (en) * 2016-11-11 2018-05-17 Qualcomm Incorporated Neighbor aware network operation for network onboarding and configuration
US10785809B1 (en) * 2016-12-19 2020-09-22 Cisco Technology, Inc. Coordinating zero touch network joins
GB2558004B (en) 2016-12-21 2021-12-08 Tridonic Gmbh & Co Kg Commissioning of one or more installed devices of a lighting system
JP6865385B2 (ja) * 2017-02-15 2021-04-28 パナソニックIpマネジメント株式会社 照明器具
JP6827840B2 (ja) * 2017-02-20 2021-02-10 キヤノン株式会社 管理システム、管理方法およびプログラム
US10547613B1 (en) * 2017-05-17 2020-01-28 Amazon Technologies, Inc. Simplified association of devices with a network using unique codes on the devices and side channel communication
US20180376516A1 (en) * 2017-06-21 2018-12-27 Aruba Networks, Inc. Establishing a Datagram Transport Layer Security Connection between Nodes in a Cluster
US11102194B2 (en) * 2017-06-27 2021-08-24 Applied Invention, Llc Secure communication network
US11856027B2 (en) 2017-06-27 2023-12-26 Applied Invention, Llc Secure communication system
US20190008017A1 (en) * 2017-06-30 2019-01-03 Echelon Corporation Discovery message and provisioning request interface for lighting networks
US10362633B2 (en) * 2017-07-21 2019-07-23 Itron Networked Solutions, Inc. Method and system for communicating between private mesh network and public network
EP3679693B1 (en) * 2017-09-06 2021-07-21 Signify Holding B.V. Commissioning in multi-hop networks by using a single-hop connection
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
US10588009B2 (en) * 2017-10-27 2020-03-10 Toyota Jidosha Kabushiki Kaisha PSM message-based device discovery for a vehicular mesh network
CN109803244B (zh) * 2017-11-17 2020-10-23 华为技术有限公司 数据传输的方法和装置
US10779342B2 (en) * 2017-11-27 2020-09-15 Cypress Semiconductor Corporation Load balance for dual interface automotive wi-fi controllers for P2P devices
SG11202004890WA (en) * 2017-12-07 2020-06-29 Mcom Media Communications Dmcc Managing content casting
US10897489B2 (en) 2017-12-07 2021-01-19 Mcom Media Comunications Dmcc Managing content casting
CN109936867A (zh) * 2017-12-19 2019-06-25 英华达(上海)科技有限公司 一种定位方法及定位系统
KR102331886B1 (ko) * 2017-12-21 2021-11-29 삼성전자주식회사 네트워크에서 노드를 제어하는 전자 장치 및 제어 방법
DE102018100718A1 (de) * 2018-01-15 2019-07-18 Gcs Gmbh Lüftersystem, Lüfter und Verfahren zum Betrieb und zur Installation eines Lüfters
CN108391238A (zh) * 2018-02-01 2018-08-10 乐鑫信息科技(上海)有限公司 无线mesh网络的配网方法
KR102357233B1 (ko) * 2018-03-23 2022-01-28 한국전자통신연구원 다중 홉 기반의 통신 네트워크에서 접속 제어를 위한 통신 노드의 동작 방법
US10791118B2 (en) * 2018-03-29 2020-09-29 Mcafee, Llc Authenticating network services provided by a network
US10530638B2 (en) * 2018-05-08 2020-01-07 Landis+ Gyr Innovations, Inc. Managing connectivity for critical path nodes
US10609573B2 (en) 2018-05-08 2020-03-31 Landis+Gyr Innovations, Inc. Switching PANs while maintaining parent/child relationships
CN110493758B (zh) 2018-05-14 2023-01-13 阿里巴巴集团控股有限公司 蓝牙Mesh网络及其配网方法、设备与存储介质
CN110505606B (zh) 2018-05-18 2022-12-02 阿里巴巴集团控股有限公司 蓝牙Mesh网络及其配网鉴权方法、设备和存储介质
CN110636478B (zh) 2018-06-22 2023-04-14 阿里巴巴集团控股有限公司 蓝牙Mesh网络系统及其通信方法、设备与存储介质
CN108990170B (zh) * 2018-07-20 2020-08-28 新华三技术有限公司 Mesh链路建立方法、装置、胖AP及存储介质
US20210315032A1 (en) * 2018-08-10 2021-10-07 Telefonaktiebolaget Lm Ericsson (Publ) User Equipment Discovery
GB2578864B (en) * 2018-09-24 2022-09-21 Metrarc Ltd Trusted ring
US11832184B2 (en) 2018-12-13 2023-11-28 Lg Electronics Inc. System and method for exchanging data or signals for vehicle
CN111343589A (zh) * 2018-12-18 2020-06-26 南京新联电子股份有限公司 通信组网方法、子节点设备及主节点设备
US10957134B2 (en) 2019-01-14 2021-03-23 Schlage Lock Company Llc Ripple network access control system
JP7204534B2 (ja) 2019-03-04 2023-01-16 株式会社東芝 通信システム
US11212870B2 (en) * 2019-04-02 2021-12-28 Elear Solutions Tech Private Limited Method and system for managing a private, decentralized, secure, IP-based peer-to-peer mesh overlay network
US11725838B2 (en) * 2019-04-05 2023-08-15 Johnson Controls Tyco IP Holdings LLP Environmental control system for reduced power consumption through utilization of wake-up radios
US20200344599A1 (en) * 2019-04-29 2020-10-29 Sonicwall Inc. Streamlined creation and expansion of a wireless mesh network
US20200396613A1 (en) * 2019-04-29 2020-12-17 Sonicwall Inc. Securing transmission paths in a mesh network
US20200359349A1 (en) * 2019-04-29 2020-11-12 Sonicwall Inc. Establishing simultaneous mesh node connections
US10972916B2 (en) 2019-04-29 2021-04-06 Sonicwall Inc. Instant secure wireless network setup
US11277276B2 (en) * 2019-05-31 2022-03-15 Nxp Usa, Inc. Multicast processing for neighbor discovery proxy devices using hardware filtering
US11012296B2 (en) 2019-07-03 2021-05-18 Cisco Technology, Inc. Handling unsolicited requests from devices
WO2021014897A1 (ja) * 2019-07-19 2021-01-28 パナソニックIpマネジメント株式会社 エリア判定システム、エリア判定方法及びプログラム
CN110830854A (zh) * 2019-11-28 2020-02-21 江苏扬天智慧科技有限公司 一种高性能多功能路由器装置
CN111010622A (zh) * 2019-12-20 2020-04-14 扬州扬吉信息科技有限公司 一种底座网关装置
CN113015201A (zh) 2019-12-20 2021-06-22 华为技术有限公司 一种信号强度测量方法、信号强度获取方法以及相关装置
KR102263391B1 (ko) * 2019-12-24 2021-06-10 한전케이디엔주식회사 보호협조를 위한 배전 지능화용 보안 장치
US11284476B1 (en) * 2020-01-23 2022-03-22 Synapse Wireless, Inc. Systems and methods for commissioning nodes of a wireless network
US11323283B2 (en) * 2020-02-27 2022-05-03 Haier Us Appliance Solutions, Inc. Domestic appliance commissioning
US11297504B2 (en) * 2020-05-04 2022-04-05 Lennox Industries Inc. Provisioning and servicing mesh networks
JP7355389B2 (ja) 2020-05-20 2023-10-03 有限会社苫米地庵 メッシュネットワークシステム
CN111918380B (zh) * 2020-07-27 2021-08-20 深圳大学 电子设备与无线网络中的参考节点同步的方法及电子设备
JP2022032216A (ja) 2020-08-11 2022-02-25 東芝テック株式会社 通信システム、通信装置及び通信方法
US11674704B2 (en) * 2020-08-28 2023-06-13 Lennox Industries Inc. Load balancing wireless mesh networks for heating, ventilation, and air conditioning systems
CN112654038A (zh) * 2020-12-15 2021-04-13 深圳市豪恩安全科技有限公司 一种Mesh网络数据解密的方法、装置及系统
US11785012B2 (en) 2021-06-07 2023-10-10 Bank Of America Corporation Data processing for internet of things (IoT) devices based on recorded user behavior
US20220415179A1 (en) * 2021-06-23 2022-12-29 Qualcomm Incorporated Sub-platoons within vehicle-to-everything technology
WO2023278447A1 (en) * 2021-06-28 2023-01-05 Ofinno, Llc Timing resiliency service
US11704027B2 (en) * 2021-11-12 2023-07-18 Western Digital Technologies, Inc. Optimizing recovery of recurrent blocks using bloom filter
US11575739B1 (en) * 2021-11-15 2023-02-07 Itron, Inc. Peer selection for data distribution in a mesh network
WO2024053872A1 (ko) * 2022-09-08 2024-03-14 삼성전자 주식회사 스레드 네트워크들을 관리하는 전자 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203480A (ja) 2005-01-20 2006-08-03 Mitsubishi Electric Corp ネットワーク及びネットワーク管理方法

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088591A (en) * 1996-06-28 2000-07-11 Aironet Wireless Communications, Inc. Cellular system hand-off protocol
US7302704B1 (en) * 2000-06-16 2007-11-27 Bbn Technologies Corp Excising compromised routers from an ad-hoc network
US6581075B1 (en) * 2000-12-28 2003-06-17 Nortel Networks Limited System and method for database synchronization
US7089298B2 (en) * 2001-08-20 2006-08-08 Nokia Corporation Naming distribution method for ad hoc networks
US6665269B1 (en) * 2002-01-30 2003-12-16 Networks Associates Technology, Inc. Method and apparatus for filtering network traffic based on the correct channel in an IEEE 802.11(b) wireless lan
EP2375690B1 (en) * 2002-03-01 2019-08-07 Extreme Networks, Inc. Locating devices in a data network
JP3848235B2 (ja) * 2002-10-04 2006-11-22 ソニー株式会社 通信処理装置、通信処理システム、および方法、並びにコンピュータ・プログラム
US7263357B2 (en) * 2003-01-14 2007-08-28 Samsung Electronics Co., Ltd. Method for fast roaming in a wireless network
US7460865B2 (en) 2003-06-18 2008-12-02 Fisher-Rosemount Systems, Inc. Self-configuring communication networks for use with process control systems
US7701858B2 (en) * 2003-07-17 2010-04-20 Sensicast Systems Method and apparatus for wireless communication in a mesh network
KR100579834B1 (ko) * 2003-10-20 2006-05-15 삼성전자주식회사 모바일 애드혹 네트워크에서 ip 사이트로컬 프리픽스풀을 이용한 주소 할당방법
US7464378B1 (en) * 2003-12-04 2008-12-09 Symantec Operating Corporation System and method for allowing multiple sub-clusters to survive a cluster partition
US7292870B2 (en) * 2003-12-24 2007-11-06 Zipit Wireless, Inc. Instant messaging terminal adapted for Wi-Fi access points
US8185653B2 (en) * 2004-08-09 2012-05-22 Johnny Yau Method and apparatus for ad hoc mesh routing
KR100643761B1 (ko) * 2005-01-28 2006-11-10 삼성전자주식회사 애드 혹 네트워크에서 주소 할당 방법 및 시스템
TW201006182A (en) 2005-03-11 2010-02-01 Interdigital Tech Corp Mesh network configured to autonomously commission a network and manage the network topology
US8159349B2 (en) 2005-08-19 2012-04-17 Adasa Inc. Secure modular applicators to commission wireless sensors
US7539488B2 (en) * 2005-11-09 2009-05-26 Texas Instruments Norway As Over-the-air download (OAD) methods and apparatus for use in facilitating application programming in wireless network devices of ad hoc wireless communication networks
US7814478B2 (en) 2005-11-09 2010-10-12 Texas Instruments Norway As Methods and apparatus for use in updating application programs in memory of a network device
US7715354B2 (en) * 2005-12-30 2010-05-11 Samsung Electronics Co., Ltd. Method of beacon exchange between devices with asymmetric links and system using the method
US7333464B2 (en) * 2006-02-01 2008-02-19 Microsoft Corporation Automated service discovery and wireless network set-up
US8107414B2 (en) * 2006-02-14 2012-01-31 At&T Intellectual Property I, L.P. Method and communication device for expanded coverage in a mesh network
US8023478B2 (en) 2006-03-06 2011-09-20 Cisco Technology, Inc. System and method for securing mesh access points in a wireless mesh network, including rapid roaming
US20070288638A1 (en) * 2006-04-03 2007-12-13 British Columbia, University Of Methods and distributed systems for data location and delivery
US7894408B2 (en) * 2006-05-12 2011-02-22 Motorola Solutions, Inc. System and method for distributing proxying error information in wireless networks
US20070280140A1 (en) * 2006-05-30 2007-12-06 Thiruvengadam Venketesan Self-optimizing network tunneling protocol
JP4732972B2 (ja) * 2006-06-30 2011-07-27 株式会社エヌ・ティ・ティ・ドコモ アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム
US7773575B2 (en) * 2006-07-24 2010-08-10 Harris Corporation System and method for communicating using a plurality of TDMA mesh networks having efficient bandwidth use
US20080031283A1 (en) 2006-08-07 2008-02-07 Martin Curran-Gray Time synchronization for network aware devices
US7496078B2 (en) * 2006-08-15 2009-02-24 Cisco Technology, Inc. Route tree building in a wireless mesh network
US8634342B2 (en) * 2006-10-05 2014-01-21 Cisco Technology, Inc. Upgrading mesh access points in a wireless mesh network
WO2008046089A2 (en) * 2006-10-13 2008-04-17 Firetide, Inc. Mesh node mobility across static and mobile mesh networks
US8102814B2 (en) * 2006-11-14 2012-01-24 Cisco Technology, Inc. Access point profile for a mesh access point in a wireless mesh network
GB0623101D0 (en) * 2006-11-20 2006-12-27 British Telecomm Secure network architecture
US8000334B2 (en) * 2007-01-11 2011-08-16 Sprint Spectrum L.P. Methods and improvements for joining wireless mesh networks
US7830834B2 (en) 2007-03-22 2010-11-09 Eaton Corporation Wireless communication network including network coordinator assigning time slots and channels to nodes to provide collision-free schedules and data aggregation method for the same
WO2008127688A1 (en) 2007-04-13 2008-10-23 Hart Communication Foundation Synchronizing timeslots in a wireless communication protocol
US8406248B2 (en) * 2007-04-13 2013-03-26 Hart Communication Foundation Priority-based scheduling and routing in a wireless network
KR101321398B1 (ko) * 2007-04-17 2013-12-19 삼성전자주식회사 단일의 와이파이 인터페이스로 다수의 메쉬 동작 모드를지원하는 방법 및 시스템
US8204230B2 (en) * 2007-05-08 2012-06-19 Infineon Technologies Ag Communication device, method for establishing a communication connection and method for using a communication connection
US7839856B2 (en) * 2007-06-06 2010-11-23 Cisco Technology, Inc. Centrally controlled routing with tagged packet forwarding in a wireless mesh network
US20090010178A1 (en) 2007-07-03 2009-01-08 Digi International Inc. Cordless mains powered form factor for mesh network router node
US9848372B2 (en) * 2007-07-10 2017-12-19 Qualcomm Incorporated Coding Methods of communicating identifiers in peer discovery in a peer-to-peer network
US9301121B2 (en) * 2007-07-11 2016-03-29 Qualcomm Incorporated Peer to peer multiple identifiers
US8325922B1 (en) * 2007-07-20 2012-12-04 Apple Inc. Group key security in a multihop relay wireless network
US7894378B2 (en) * 2007-08-16 2011-02-22 Motorola Solutions, Inc. Method for updating a multicast state of a multicast group
GB2452251B (en) * 2007-08-21 2010-03-24 Motorola Inc Method and apparatus for authenticating a network device
WO2009143287A1 (en) * 2008-05-20 2009-11-26 Live Meters, Inc. Remote monitoring and control system comprising mesh and time synchronization technology
US8510560B1 (en) * 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
JP2012501146A (ja) * 2008-08-27 2012-01-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ネットワークシステムを試運転
US9191625B2 (en) 2008-09-26 2015-11-17 Janos Redei System and methods for transmitting and distributing media content
US8583919B2 (en) * 2008-10-23 2013-11-12 Telefonaktiegolaget L M Ericsson (Publ) Mobility handling for multicast services
US9026656B2 (en) * 2008-11-04 2015-05-05 Qualcomm Incorporated Resource sharing over wireless personal area networks
US8384947B2 (en) * 2008-11-17 2013-02-26 Image Trends, Inc. Handheld scanner and system comprising same
JP5606674B2 (ja) 2008-12-12 2014-10-15 横河電機株式会社 ゲートウェイ装置及びこれを用いた無線制御ネットワーク管理システム
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
KR20100074463A (ko) * 2008-12-24 2010-07-02 삼성전자주식회사 매체 독립 핸드 오버 메시지 전송의 보안 방법
US7961674B2 (en) * 2009-01-27 2011-06-14 Sony Corporation Multi-tier wireless home mesh network with a secure network discovery protocol
US8116336B2 (en) * 2009-01-27 2012-02-14 Sony Corporation Distributed IP address assignment protocol for a multi-hop wireless home mesh network with collision detection
KR101042908B1 (ko) * 2009-02-12 2011-06-21 엔에이치엔(주) 네트워크 분리 장애 상황에서 메이저 그룹을 결정하기 위한방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체
US8918631B1 (en) * 2009-03-31 2014-12-23 Juniper Networks, Inc. Methods and apparatus for dynamic automated configuration within a control plane of a switch fabric
US8171292B2 (en) * 2009-04-08 2012-05-01 Research In Motion Limited Systems, devices, and methods for securely transmitting a security parameter to a computing device
TWI491300B (zh) * 2009-06-10 2015-07-01 皇家飛利浦電子股份有限公司 無線網路系統、使用於一無線網路系統中之加入器件、用於委任一無線網路系統之方法及電腦程式產品
US9179305B2 (en) * 2009-06-11 2015-11-03 Qualcomm Incorporated Bloom filter based device discovery
US8812833B2 (en) * 2009-06-24 2014-08-19 Marvell World Trade Ltd. Wireless multiband security
KR20110003210A (ko) * 2009-07-03 2011-01-11 주식회사 케이티 센서 네트워크의 자율 구성 방법
US8385321B2 (en) * 2009-07-31 2013-02-26 Alcatel Lucent Method and system for synchronizing a data base at a plurality of nodes in an ad hoc network
WO2011083389A1 (en) * 2010-01-06 2011-07-14 Koninklijke Philips Electronics N.V. Election of broadcast routers in a multihop network
US8265674B2 (en) 2010-01-08 2012-09-11 Daintree Networks, Pty. Ltd. Wireless system commissioning
CN101841442B (zh) 2010-02-08 2011-11-16 电子科技大学 一种在名址分离网络中对网络异常进行检测的方法
CN102170386B (zh) 2010-02-26 2016-02-10 中兴通讯股份有限公司 身份标识与位置分离的实现方法、系统及数据封装方法
US8422401B1 (en) * 2010-05-11 2013-04-16 Daintree Networks, Pty. Ltd. Automated commissioning of wireless devices
US8856883B2 (en) * 2010-07-06 2014-10-07 Intel Corporation System and method for protecting MAC control messages
JP5170585B2 (ja) * 2010-08-09 2013-03-27 横河電機株式会社 プロビジョニング装置
US8909786B2 (en) * 2010-08-26 2014-12-09 Futurewei Technologies, Inc. Method and system for cross-stratum optimization in application-transport networks
EP2518932A3 (en) * 2010-10-05 2015-11-18 Brandenburgische Technische Universität Cottbus-Senftenberg A method of password-based authentication and session key agreement for secure data transmission, a method for securely transmitting data, and an electronic data transmission system
US8406153B2 (en) * 2010-11-09 2013-03-26 Cisco Technology, Inc. Affecting node association through load partitioning
WO2012087188A1 (en) * 2010-12-20 2012-06-28 Telefonaktiebolaget L M Ericsson (Publ) Searching in peer to peer networks
US9398471B2 (en) * 2010-12-22 2016-07-19 Aruba Networks, Inc. Identifying a wireless communication channel and a power setting for use by an access point to advertise a particular SSID
US8913746B2 (en) * 2010-12-22 2014-12-16 Schneider Electric It Corporation Wireless communication system and method
US9787490B2 (en) * 2011-01-04 2017-10-10 Motorola Solutions, Inc. Method of aggregating conventional resources upon losing connectivity to a master system site
US9510239B2 (en) * 2011-02-09 2016-11-29 Interdigital Patent Holdings, Inc. Configurable architecture with a converged coordinator
US8612386B2 (en) * 2011-02-11 2013-12-17 Alcatel Lucent Method and apparatus for peer-to-peer database synchronization in dynamic networks
CN102202427A (zh) * 2011-04-22 2011-09-28 赛特斯网络科技(南京)有限责任公司 无线自组织网状网络系统
WO2012168888A1 (en) 2011-06-10 2012-12-13 Koninklijke Philips Electronics N.V. Secure data transmission to network nodes in a network
WO2013014609A1 (en) * 2011-07-25 2013-01-31 Koninklijke Philips Electronics N.V. Methods, devices and systems for establishing end-to-end secure connections and for securely communicating data packets
US8553688B2 (en) 2011-07-28 2013-10-08 Cisco Technology, Inc. Dynamic allocation of context identifiers for header compression
DE102011080876A1 (de) * 2011-08-12 2013-02-14 Tridonic Gmbh & Co Kg Management des Gerätebesitzes und Inbetriebnahme in drahtlosen Netzwerken mit Verschlüsselung durch öffentliche Schlüssel
US20130104197A1 (en) * 2011-10-23 2013-04-25 Gopal Nandakumar Authentication system
KR101828412B1 (ko) * 2011-12-13 2018-02-13 삼성전자주식회사 통신 방법, 통신 장치 및 통신 시스템
US9247492B2 (en) * 2011-12-29 2016-01-26 Sonos, Inc. Systems and methods for multi-network audio control
EP4068827A1 (en) * 2012-01-11 2022-10-05 Interdigital Patent Holdings, Inc. Method and apparatuses for accelerated link setup
US9246757B2 (en) * 2012-01-23 2016-01-26 Zonoff, Inc. Commissioning devices for automation systems
EP2829160B1 (en) 2012-03-19 2021-04-21 Digital Lumens Incorporated Methods, systems, and apparatus for providing variable illumination
US9198204B2 (en) * 2012-04-11 2015-11-24 Google Inc. Apparatus and method for seamless commissioning of wireless devices
US20130288601A1 (en) * 2012-04-26 2013-10-31 Apple Inc. Automatic configuration of electronic devices
EP2661112A1 (en) * 2012-05-03 2013-11-06 Itron, Inc. Authentication using DHCP Services in Mesh Networks
JP2014022808A (ja) * 2012-07-13 2014-02-03 Panasonic Corp ゲートウェイ装置、ネットワークシステム及び通信方法
US9455903B2 (en) * 2012-07-31 2016-09-27 Cisco Technology, Inc. Recording packet routes using bloom filters
US9290104B2 (en) * 2012-08-24 2016-03-22 The Regents Of The University Of California Power control apparatus and methods for electric vehicles
CN103686709B (zh) * 2012-09-17 2017-09-08 中兴通讯股份有限公司 一种无线网格网认证方法和系统
US9712433B2 (en) * 2012-10-16 2017-07-18 Cisco Technology, Inc. Maintaining and communicating nodal neighboring information
US8792645B2 (en) * 2012-12-18 2014-07-29 Honeywell International Inc. Authentication and data security for wireless networks
US9226231B2 (en) * 2013-01-30 2015-12-29 Qualcomm Incorporated Systems and methods for monitoring the size of a wireless network
US9408059B2 (en) * 2013-02-05 2016-08-02 Terranet Ab Method and apparatus for communicating between mobile devices
US9313103B2 (en) * 2013-03-08 2016-04-12 Qualcomm Incorporated Systems and methods for discovering devices in a neighborhood aware network
US8824444B1 (en) * 2013-04-19 2014-09-02 Cubic Corporation Null interface feature in wireless mesh networking device
US10003970B2 (en) * 2013-05-16 2018-06-19 Telefonaktiebolaget L M Ericsson (Publ) Coordinator and device in a radio communication network
JP5929834B2 (ja) * 2013-05-24 2016-06-08 横河電機株式会社 情報設定方法及び無線通信システム
US9531704B2 (en) * 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US9571386B2 (en) * 2013-07-08 2017-02-14 Nicira, Inc. Hybrid packet processing
US8891588B1 (en) * 2013-08-06 2014-11-18 Cisco Technology, Inc. On-demand medium to low transmission power channel switching in computer networks
US9241355B2 (en) * 2013-09-30 2016-01-19 Sonos, Inc. Media system access via cellular network
US9077652B2 (en) * 2013-09-30 2015-07-07 Silicon Laboratories Inc. Methods for limiting number of routers in a mesh network
US9220050B2 (en) * 2013-09-30 2015-12-22 Silicon Laboratories Inc. Mesh network defragmentation
US9362978B2 (en) * 2013-10-18 2016-06-07 Elster Solutions, Llc Synchronous frequency hopping spread spectrum method for mesh networks
US9763310B2 (en) 2013-11-01 2017-09-12 Kenall Manufacturing Company Systems and methods for commissioning a lighting system
US10021554B2 (en) * 2013-11-18 2018-07-10 Qualcomm Incorporated Wireless discovery location and ranging
US9379979B2 (en) * 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US9351224B2 (en) * 2014-02-21 2016-05-24 Qualcomm Incorporated System and method for access point selection
US10827539B2 (en) * 2014-03-06 2020-11-03 Gainspan Corporation Remote provisioning of wireless stations with confirmation
WO2015184410A1 (en) * 2014-05-30 2015-12-03 Highfive Technologies, Inc. Domain trusted video network
US9628502B2 (en) * 2014-06-09 2017-04-18 Meadow Hills, LLC Active attack detection system
CN107889090B (zh) 2014-06-24 2019-09-10 谷歌有限责任公司 网状网络调试
US9716984B2 (en) * 2015-01-22 2017-07-25 Gainspan Corporation Multicast packet delivery in a wireless network operating in non-storing mode

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203480A (ja) 2005-01-20 2006-08-03 Mitsubishi Electric Corp ネットワーク及びネットワーク管理方法

Also Published As

Publication number Publication date
US9628338B2 (en) 2017-04-18
KR102306628B1 (ko) 2021-09-28
JP2023123584A (ja) 2023-09-05
AU2017202069A1 (en) 2017-04-20
KR101870835B1 (ko) 2018-06-25
AU2019275648A1 (en) 2020-01-02
KR20190058660A (ko) 2019-05-29
JP7202498B2 (ja) 2023-01-11
AU2020260392A1 (en) 2020-11-19
KR20200129200A (ko) 2020-11-17
US20150372876A1 (en) 2015-12-24
EP3141010A1 (en) 2017-03-15
KR20170102076A (ko) 2017-09-06
US9276818B2 (en) 2016-03-01
EP3790300A1 (en) 2021-03-10
CA3074353C (en) 2022-11-15
CN106105142A (zh) 2016-11-09
KR20160062203A (ko) 2016-06-01
JP2017503414A (ja) 2017-01-26
KR20180069938A (ko) 2018-06-25
KR102121625B1 (ko) 2020-06-10
JP6759405B2 (ja) 2020-09-23
US9413613B2 (en) 2016-08-09
US20150373750A1 (en) 2015-12-24
US9351232B2 (en) 2016-05-24
AU2020260392B2 (en) 2020-12-10
WO2015200558A1 (en) 2015-12-30
CA2945360C (en) 2020-04-21
US20160014671A1 (en) 2016-01-14
CA2945360A1 (en) 2015-12-30
KR101775089B1 (ko) 2017-09-19
JP7102476B2 (ja) 2022-07-19
AU2020289744B2 (en) 2021-09-02
US20150373752A1 (en) 2015-12-24
EP4216589A1 (en) 2023-07-26
AU2015279883B2 (en) 2016-06-02
KR20200067942A (ko) 2020-06-12
EP3141010B1 (en) 2019-09-11
US20160029290A1 (en) 2016-01-28
KR101979935B1 (ko) 2019-08-28
AU2017279718A1 (en) 2018-01-25
EP3972311A1 (en) 2022-03-23
US20150373751A1 (en) 2015-12-24
KR20170018464A (ko) 2017-02-17
AU2016266084B1 (en) 2017-01-05
US9363732B2 (en) 2016-06-07
AU2019275648B2 (en) 2020-10-15
CN107889090B (zh) 2019-09-10
KR20190122898A (ko) 2019-10-30
JP2020205616A (ja) 2020-12-24
JP2023040075A (ja) 2023-03-22
US9999090B2 (en) 2018-06-12
JP6262353B2 (ja) 2018-01-17
KR102251202B1 (ko) 2021-05-12
JP7298005B2 (ja) 2023-06-26
US20150373691A1 (en) 2015-12-24
JP2022141746A (ja) 2022-09-29
AU2016213750B2 (en) 2016-09-08
EP3627871A1 (en) 2020-03-25
JP2019062544A (ja) 2019-04-18
AU2017202069B2 (en) 2017-06-15
JP2018042246A (ja) 2018-03-15
EP3627871B1 (en) 2020-12-09
KR102179962B1 (ko) 2020-11-17
AU2017279718B2 (en) 2019-11-07
US20180242379A1 (en) 2018-08-23
US9408133B2 (en) 2016-08-02
KR101706581B1 (ko) 2017-02-15
AU2016213750A1 (en) 2016-08-25
CN107889090A (zh) 2018-04-06
AU2016266084C1 (en) 2018-12-20
US20150372875A1 (en) 2015-12-24
JP2019126087A (ja) 2019-07-25
CN106105142B (zh) 2017-12-15
AU2020289744A1 (en) 2021-01-21
US9363733B2 (en) 2016-06-07
AU2017216479A1 (en) 2017-08-31
AU2017216479B2 (en) 2017-09-28
CA3074353A1 (en) 2015-12-30
CA3172139A1 (en) 2015-12-30
JP6441430B2 (ja) 2018-12-19
EP3790300B1 (en) 2021-12-22
US9948516B2 (en) 2018-04-17
KR20210054060A (ko) 2021-05-12
JP6506879B2 (ja) 2019-04-24
US20150373753A1 (en) 2015-12-24
EP3972311B1 (en) 2023-03-29

Similar Documents

Publication Publication Date Title
KR102038571B1 (ko) 메쉬 네트워크 커미셔닝
AU2015279883A1 (en) Mesh network commissioning

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant