KR20170020358A - 전력선 통신 네트워크들에 대한 슬롯형 메시지 액세스 프로토콜 - Google Patents

전력선 통신 네트워크들에 대한 슬롯형 메시지 액세스 프로토콜 Download PDF

Info

Publication number
KR20170020358A
KR20170020358A KR1020167035343A KR20167035343A KR20170020358A KR 20170020358 A KR20170020358 A KR 20170020358A KR 1020167035343 A KR1020167035343 A KR 1020167035343A KR 20167035343 A KR20167035343 A KR 20167035343A KR 20170020358 A KR20170020358 A KR 20170020358A
Authority
KR
South Korea
Prior art keywords
network device
message
communication
encryption key
slot
Prior art date
Application number
KR1020167035343A
Other languages
English (en)
Inventor
시드니 브로워 주니어 슈룸
로렌스 윈스턴 3세 영
스리니바스 카타르
하오 추
리차드 어네스트 뉴만
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 KR20170020358A publication Critical patent/KR20170020358A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/54Systems for transmission via power distribution lines
    • H04B3/542Systems for transmission via power distribution lines the information being in digital form
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/54Systems for transmission via power distribution lines
    • H04B3/544Setting up communications; Call and signalling arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2203/00Indexing scheme relating to line transmission systems
    • H04B2203/54Aspects of powerline communications not already covered by H04B3/54 and its subgroups
    • H04B2203/5404Methods of transmitting or receiving signals via power distribution lines
    • H04B2203/5408Methods of transmitting or receiving signals via power distribution lines using protocols
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

통신 네트워크에서 메시지들을 송신하기 위한 슬롯형 메시지 액세스 프로토콜이 구현될 수 있다. 비콘 기간은 다수의 통신 슬롯들로 분할될 수 있다. 마스터 네트워크 디바이스는 제 1 클라이언트 네트워크 디바이스를 등록하고, 등록 정보를 제 1 클라이언트 네트워크 디바이스에 제공할 수 있다. 등록 정보는, 통신 네트워크에서 제 1 클라이언트 네트워크 디바이스가 메시지들을 안전하게 송신하도록 하기 위한 하나 또는 그 초과의 인크립션 키들을 포함할 수 있다. 클라이언트 네트워크 디바이스는 제 2 클라이언트 네트워크 디바이스와 연관된 인크립션 키를 사용하여, 제 2 클라이언트 네트워크 디바이스로부터 수신된 메시지들을 디크립팅할 수 있다. 또한, 제 1 클라이언트 네트워크 디바이스는 경쟁-기반 통신 슬롯을 사용하여, 후속 송신들을 위한 비경쟁 통신 슬롯들의 할당을 요청할 수 있다. 마스터 네트워크 디바이스는 특정된 지속기간에 대해 클라이언트 네트워크 디바이스에 비경쟁 통신 슬롯들을 임시로 할당할 수 있다.

Description

전력선 통신 네트워크들에 대한 슬롯형 메시지 액세스 프로토콜{SLOTTED MESSAGE ACCESS PROTOCOL FOR POWERLINE COMMUNICATION NETWORKS}
관련 사항들
[0001] 본 출원은 2014년 6월 20일자로 출원된 U.S. 가 출원 일련 번호 제 62/015,085호 및 2015년 6월 17일자로 출원된 U.S. 출원 일련 번호 제 14/743,836호에 대한 우선권 이득을 주장한다.
[0002] 본 개시내용의 실시예들은 일반적으로 통신 네트워크들의 분야에 관한 것으로, 더 상세하게는, 전력선 통신(PLC;powerline communication) 네트워크들에 대한 슬롯형 메시지 액세스 프로토콜에 관한 것이다.
[0003] 다양한 타입들의 비히클(vehicle)들, 이를테면, 자동차들은 통상적으로, 비히클의 컴포넌트들 사이에 통신 신호들 또는 전기 전력을 제공하는 전기 와이어들의 모음을 포함한다. 비히클의 전기 와이어들의 모음은 또한, 낮은 레이트의 데이터 버스들, 이를테면, 차량 내 통신들을 위한 로컬 인터커넥트 네트워크(LIN;local interconnect network) 버스 및 제어기 영역 네트워크(CAN;controller area network) 버스를 구현하기 위한 와이어들을 포함할 수 있다. 그러나, LIN 및 CAN 버스들은 비히클들 안으로 추가적인 와이어들 및 복잡한 와이어링 하니스들을 도입시키며, 따라서 데이터 통신들을 위해 사용하는 것은 통상적으로 바람직하지 않다.
[0004] 전력선 통신은, 전기 전력 라인들이 전기 전력을 분배 및 전도하는 것 외에도 로컬 영역 및 광역 네트워크들에서 다양한 네트워크 노드들을 서로 연결시키기 위한 통신 매체로서 사용되도록 한다. 비히클들이 통상적으로 기존 전력 분배 인프라스트럭처를 갖기 때문에, 기존 전력 라인들은 데이터 통신들을 위해 그리고 비히클의 컴포넌트들을 서로 그리고 인터넷에 연결하기 위해 활용될 수 있다. 그러나, 차량 통신 시스템들은 통상적으로, 현재 PLC 프로토콜들, 이를테면, IEEE 1901 통신 프로토콜에 의해 특정된 것들 및 전력선 통신을 통한 브로드밴드에 대한 HomePlug AV/AV2/GreenPHY 통신 프로토콜에 의해 지원되지 않는 엄격한 레이턴시 및 신뢰성 요건들을 갖는다.
[0005] 슬롯형 메시지 액세스 프로토콜의 다양한 실시예들이 개시된다. 일부 실시예들에서, 네트워크 디바이스 등록을 위한 방법은, 통신 네트워크의 제 1 네트워크 디바이스에서, 제 2 네트워크 디바이스를 통신 네트워크에 등록하기로 결정하는 단계; 제 2 네트워크 디바이스를 등록하기로 결정한 이후에, 키 교환을 위해 비콘 기간의 제 1 통신 슬롯을 제 2 네트워크 디바이스에 할당하는 단계; 제 1 통신 슬롯 동안에 수행된 키 교환으로부터 제 2 네트워크 디바이스와 연관된 디바이스 인크립션 키를 결정하는 단계; 및 디바이스 인크립션 키에 적어도 부분적으로 기초하여, 제 2 네트워크 디바이스를 통신 네트워크에 등록하기 위한 등록 정보를 제공하는 단계를 포함한다.
[0006] 일부 실시예들에서, 제 2 네트워크 디바이스를 등록하기로 결정하는 단계는 제 2 네트워크 디바이스로부터 등록 요청을 수신하는 것에 적어도 부분적으로 기초한다.
[0007] 일부 실시예들에서, 방법은, 키 교환을 위해 제 1 통신 슬롯 및 제 2 통신 슬롯을 할당하는 단계; 제 1 통신 슬롯 동안에 제 2 네트워크 디바이스로부터 키 교환 요청을 수신하는 단계;
제 2 통신 슬롯 동안에 제 2 네트워크 디바이스에 키 교환 응답을 송신하는 단계; 및 키 교환 요청 및 키 교환 응답에 적어도 부분적으로 기초하여 디바이스 인크립션 키를 결정하는 단계를 더 포함한다.
[0008] 일부 실시예들에서, 디바이스 인크립션 키를 결정하는 단계는 키 교환 동안에 제 2 네트워크 디바이스로부터 수신된 메시지에 적어도 부분적으로 기초하여 제 1 채널 특성을 결정하는 단계; 및 제 1 채널 특성에 적어도 부분적으로 기초하여 디바이스 인크립션 키를 결정하는 단계를 포함한다.
[0009] 일부 실시예들에서, 방법은, 제 2 네트워크 디바이스로부터의 인증서를 제 1 네트워크 디바이스에서 수신하는 단계; 및 인증서를 인증한 이후에 디바이스 인크립션 키를 결정하는 단계를 더 포함한다.
[0010] 일부 실시예들에서, 등록 정보는 제 2 네트워크 디바이스와 통신 네트워크의 제 3 네트워크 디바이스 사이의 통신들을 인크립팅하기 위한 적어도 하나의 그룹 인크립션 키를 포함한다.
[0011] 일부 실시예들에서, 방법은, 비콘 기간에 수신된 비콘 메시지의 정보와 디바이스 인크립션 키를 결합하는 것에 적어도 부분적으로 기초하여, 제 2 네트워크 디바이스에 송신될 메시지를 인크립팅하기 위한 제 1 인크립션 키를 결정하는 단계를 더 포함한다.
[0012] 일부 실시예들에서, 등록 정보는, 제 2 네트워크 디바이스가 제 3 네트워크 디바이스로부터 송신되는 메시지들을 중계하기 위한 중계 디바이스로서 구성된다는 표시 및 제 3 네트워크 디바이스로부터 수신된 메시지들을 디크립팅하기 위한, 제 3 네트워크 디바이스와 연관된 인크립션 키로 구성된 그룹으로부터 선택된 적어도 하나의 멤버를 포함한다.
[0013] 일부 실시예들에서, 방법은, 경쟁-기반(contention-based) 통신 슬롯 동안에 제 2 네트워크 디바이스로부터의 예약 요청을 제 1 네트워크 디바이스에서 수신하는 단계; 및 예약 요청에 적어도 부분적으로 기초하여 비경쟁(contention-free) 통신 슬롯을 제 2 네트워크 디바이스에 할당하는 단계를 더 포함한다.
[0014] 일부 실시예들에서, 예약 요청은 예약 요청 식별자, 요청되고 있는 비경쟁 통신 슬롯들의 개수, 및 비경쟁 통신 슬롯들이 요청되고 있는 지속기간으로 구성된 그룹으로부터 선택된 적어도 하나의 멤버를 포함한다.
[0015] 일부 실시예들에서, 방법은, 제 1 경쟁-기반 통신 슬롯 동안에 제 2 네트워크 디바이스로부터의 제 1 예약 요청 및 제 2 경쟁-기반 통신 슬롯 동안에 제 3 네트워크 디바이스로부터의 제 2 예약 요청을 제 1 네트워크 디바이스에서 수신하는 단계; 제 1 예약 요청 및 제 2 예약 요청에 적어도 부분적으로 기초하여, 제 1 비경쟁 통신 슬롯을 제 2 네트워크 디바이스에, 그리고 제 2 비경쟁 통신 슬롯을 제 3 네트워크 디바이스에 할당하는 단계; 및 제 1 비경쟁 통신 슬롯의 표시를 제 2 네트워크 디바이스에, 그리고 제 2 비경쟁 통신 슬롯의 표시를 제 3 네트워크 디바이스에 동일한 예약 응답에서 제공하는 단계를 더 포함한다.
[0016] 일부 실시예들에서, 제 1 네트워크 디바이스 및 제 2 네트워크 디바이스는 비히클의 통신 네트워크에 포함된다.
[0017] 일부 실시예들에서, 제 1 네트워크 디바이스 및 제 2 네트워크 디바이스는 적어도 하나의 전력선 통신(PLC;powerline communication) 프로토콜을 구현하도록 구성된다.
[0018] 일부 실시예들에서, 메시지 인크립션을 위한 방법은, 통신 네트워크의 제 1 네트워크 디바이스에서, 비콘 기간의 제 1 통신 슬롯 동안에 제 1 메시지를 제 2 네트워크 디바이스에 송신하기로 결정하는 단계; 제 1 메시지의 특성들에 적어도 부분적으로 기초하여, 제 1 메시지를 인크립팅하기 위한 제 1 인크립션 키를 결정하는 단계; 통신 네트워크의 조정 네트워크 디바이스로부터 수신된 비콘 메시지의 정보에 적어도 부분적으로 기초하여, 제 1 메시지를 인크립팅하기 위한 초기화 벡터를 결정하는 단계; 및 제 1 인크립션 키 및 초기화 벡터에 적어도 부분적으로 기초하여, 제 2 네트워크 디바이스로의 송신을 위한 제 1 메시지를 인크립팅하는 단계를 포함한다.
[0019] 일부 실시예들에서, 제 1 인크립션 키를 결정하는 단계는, 조정 네트워크 디바이스로부터 제 1 네트워크 디바이스에서 수신된 복수의 초기 인크립션 키들을 식별하는 단계; 및 제 1 메시지의 타입, 제 1 통신 슬롯이 경쟁-기반 통신 슬롯인지 또는 비경쟁 통신 슬롯인지 여부, 및 제 2 네트워크 디바이스의 식별자로 구성된 그룹으로부터 선택된 적어도 하나의 멤버에 적어도 부분적으로 기초하여 복수의 초기 인크립션 키들로부터 제 1 초기 인크립션 키를 선택하는 단계를 포함한다.
[0020] 일부 실시예들에서, 방법은, 비콘 메시지의 정보와 제 1 초기 인크립션 키를 결합하는 것에 적어도 부분적으로 기초하여 제 1 인크립션 키를 결정하는 단계를 더 포함한다.
[0021] 일부 실시예들에서, 초기화 벡터를 결정하는 단계는 제 1 통신 슬롯의 식별자와, 제 1 통신 슬롯을 포함하는 비콘 기간의 식별자를 결합하는 것에 적어도 부분적으로 기초하여 초기화 벡터를 결정하는 것을 포함한다.
[0022] 일부 실시예들에서, 제 1 메시지를 인크립팅하는 단계는 제 1 메시지의 데이터 부분과 제 1 메시지의 오류 검사 부분의 결합을 인크립팅하는 것에 적어도 부분적으로 기초하여 송신을 위한 인크립팅된 제 1 메시지를 생성하는 단계를 포함한다.
[0023] 일부 실시예들에서, 방법은, 제 2 통신 슬롯 동안에 제 2 네트워크 디바이스로부터의 제 2 메시지를 제 1 네트워크 디바이스에서 수신하는 단계; 제 2 네트워크 디바이스와 연관되는 복수의 인크립션 키들을 결정하는 단계 ―복수의 인크립션 키들은 조정 네트워크 디바이스로부터 제 1 네트워크 디바이스에서 수신됨―; 및 제 2 메시지를 디크립팅하기 위해, 제 2 메시지 및 제 2 통신 슬롯에 적어도 부분적으로 기초하여 복수의 인크립션 키들로부터 적어도 제 2 인크립션 키를 선택하는 단계를 더 포함한다.
[0024] 일부 실시예들에서, 방법은, 제 2 메시지 및 제 2 통신 슬롯에 적어도 부분적으로 기초하여 복수의 인크립션 키들로부터 제 2 인크립션 키 및 제 3 인크립션 키를 선택하는 단계; 및 제 2 인크립션 키 및 제 3 인크립션 키 각각에 대해, 대응하는 인크립션 키에 적어도 부분적으로 기초하여 제 2 메시지를 디크립팅하는 단계 및 디크립팅된 제 2 메시지에 적어도 부분적으로 기초하여 제 2 메시지가 성공적으로 디크립팅되었는지 여부를 결정하는 단계를 더 포함한다.
[0025] 일부 실시예들에서, 방법은, 제 2 인크립션 키를 사용하여 제 2 메시지를 디크립팅하는 것에 적어도 부분적으로 기초하여, 디크립팅된 제 2 메시지의 디크립팅된 오류 검사 부분을 결정하는 단계; 디크립팅된 오류 검사 부분이 유효한지 여부를 결정하는 단계; 디크립팅된 오류 검사 부분이 유효함을 결정하는 것에 대한 응답으로, 제 2 메시지가 성공적으로 디크립팅되었음을 결정하는 단계; 및 디크립팅된 오류 검사 부분이 유효하지 않음을 결정하는 것에 대한 응답으로, 제 2 메시지가 성공적으로 디크립팅되지 않았음을 결정하고, 제 2 메시지를 폐기하는 단계를 더 포함한다.
[0026] 일부 실시예들에서, 방법은, 제 1 네트워크 디바이스에서, 비콘 기간의 경쟁-기반 통신 슬롯을 결정하는 단계; 경쟁-기반 통신 슬롯 동안에, 제 1 네트워크 디바이스로부터 조정 네트워크 디바이스로 예약 요청을 송신하는 단계; 조정 네트워크 디바이스로부터 예약 응답을 수신하는 단계; 및 예약 응답으로부터 비경쟁 통신 슬롯을 결정하는 단계를 더 포함하고, 비경쟁 통신 슬롯은 예약 요청에 적어도 부분적으로 기초하여 조정 네트워크 디바이스에 의해 할당된다.
[0027] 일부 실시예들에서, 방법은, 제 1 네트워크 디바이스와 연관된 우선순위 레벨에 적어도 부분적으로 기초하여 경쟁-기반 통신 슬롯의 제어를 획득하기 위해 경쟁-기반 통신 슬롯에서 경쟁 동작들을 실행하는 단계를 더 포함하고, 예약 요청을 송신하는 단계는 경쟁-기반 통신 슬롯의 제어를 획득하는 것에 적어도 부분적으로 기초한다.
[0028] 일부 실시예들에서, 예약 응답은 통신 네트워크의 제 3 네트워크 디바이스를 통해 제 1 네트워크 디바이스에서 수신되고, 제 3 네트워크 디바이스는 조정 네트워크 디바이스에 의해 본래 송신된 예약 응답을 중계하도록 구성된다.
[0029] 일부 실시예들에서, 예약 요청은 예약 요청 식별자, 요청되고 있는 비경쟁 통신 슬롯들의 개수, 및 비경쟁 통신 슬롯들이 요청되고 있는 지속기간으로 구성된 그룹으로부터 선택된 적어도 하나의 멤버를 포함한다.
[0030] 일부 실시예들에서, 통신 네트워크의 제 1 네트워크 디바이스는, 프로세서; 및 명령들을 저장하기 위한 메모리를 포함하고, 명령들은, 프로세서에 의해 실행될 때, 제 1 네트워크 디바이스로 하여금, 제 2 네트워크 디바이스를 통신 네트워크에 등록하기로 결정하게 하고; 제 2 네트워크 디바이스를 등록하기로 결정한 이후에, 키 교환을 위해 비콘 기간의 제 1 통신 슬롯을 제 2 네트워크 디바이스에 할당하게 하고; 제 1 통신 슬롯 동안에 수행된 키 교환으로부터 제 2 네트워크 디바이스와 연관된 디바이스 인크립션 키를 결정하게 하고; 그리고 디바이스 인크립션 키에 적어도 부분적으로 기초하여, 제 2 네트워크 디바이스를 통신 네트워크에 등록하기 위한 등록 정보를 제공하게 한다.
[0031] 일부 실시예들에서, 명령들은 추가로, 제 1 네트워크 디바이스로 하여금, 키 교환을 위해 제 1 통신 슬롯 및 제 2 통신 슬롯을 할당하게 하고; 제 1 통신 슬롯 동안에 제 2 네트워크 디바이스로부터 키 교환 요청을 수신하게 하고; 제 2 통신 슬롯 동안에 제 2 네트워크 디바이스에 키 교환 응답을 송신하게 하고; 그리고 키 교환 요청 및 키 교환 응답에 적어도 부분적으로 기초하여 디바이스 인크립션 키를 결정하게 한다.
[0032] 일부 실시예들에서, 명령들은 추가로, 제 1 네트워크 디바이스로 하여금, 키 교환 동안에 제 2 네트워크 디바이스로부터 수신된 메시지에 적어도 부분적으로 기초하여 제 1 채널 특성을 결정하게 하고; 그리고 제 1 채널 특성에 적어도 부분적으로 기초하여 디바이스 인크립션 키를 결정하게 한다.
[0033] 일부 실시예들에서, 통신 네트워크의 제 1 네트워크 디바이스는, 프로세서; 및 명령들을 저장하기 위한 메모리를 포함하고, 명령들은, 프로세서에 의해 실행될 때, 제 1 네트워크 디바이스로 하여금, 비콘 기간의 제 1 통신 슬롯 동안에 제 1 메시지를 제 2 네트워크 디바이스에 송신하기로 결정하게 하고; 제 1 메시지의 특성들에 적어도 부분적으로 기초하여, 제 1 메시지를 인크립팅하기 위한 제 1 인크립션 키를 결정하게 하고; 통신 네트워크의 조정 네트워크 디바이스로부터 수신된 비콘 메시지의 정보에 적어도 부분적으로 기초하여, 제 1 메시지를 인크립팅하기 위한 초기화 벡터를 결정하게 하고; 그리고 제 1 인크립션 키 및 초기화 벡터에 적어도 부분적으로 기초하여, 제 2 네트워크 디바이스로의 송신을 위한 제 1 메시지를 인크립팅하게 한다.
[0034] 일부 실시예들에서, 제 1 네트워크 디바이스로 하여금 제 1 인크립션 키를 결정하게 하는 것은, 제 1 네트워크 디바이스로 하여금, 조정 네트워크 디바이스로부터 제 1 네트워크 디바이스에서 수신된 복수의 초기 인크립션 키들을 식별하게 하는 것; 제 1 메시지의 타입, 제 1 통신 슬롯이 경쟁-기반 통신 슬롯인지 또는 비경쟁 통신 슬롯인지 여부, 및 제 2 네트워크 디바이스의 식별자로 구성된 그룹으로부터 선택된 적어도 하나의 멤버에 적어도 부분적으로 기초하여, 복수의 초기 인크립션 키들로부터 제 1 초기 인크립션 키를 선택하게 하는 것; 그리고 비콘 메시지의 정보와 제 1 초기 인크립션 키를 결합하는 것에 적어도 부분적으로 기초하여 제 1 인크립션 키를 결정하게 하는 것을 포함한다.
[0035] 첨부된 도면들을 참조함으로써, 본 실시예들이 더욱 잘 이해되고, 많은 목표들, 특징들, 및 장점들이 기술분야의 당업자들에게 명백해질 수 있다.
[0036] 도 1은 통신 네트워크에서 메시지들을 송신하기 위해 S-MAP을 구현하기 위한 메커니즘을 포함하는 예시적 블록도이다.
[0037] 도 2는 비히클의 네트워크 디바이스들 사이에 메시지를 송신하기 위한 메커니즘을 포함하는 예시적 블록도이다.
[0038] 도 3은 마스터 네트워크 디바이스가 클라이언트 네트워크 디바이스를 통신 네트워크에 안전하게 등록하기 위한 예시적 동작들을 예시하는 흐름도이다.
[0039] 도 4는 마스터 네트워크 디바이스가 클라이언트 네트워크 디바이스를 통신 네트워크에 안전하게 등록하기 위한 예시적 동작들을 예시하는 흐름도이다.
[0040] 도 5는 메시지를 인크립팅하기 위한 예시적 동작들을 예시하는 흐름도이다.
[0041] 도 6은 메시지를 디크립팅하기 위한 예시적 동작들을 예시하는 흐름도이다.
[0042] 도 7은 메시지를 디크립팅하기 위한 예시적 동작들을 예시하는 흐름도이다.
[0043] 도 8은 통신 네트워크에서 통신 슬롯들의 할당을 예시하는 예시적 슬롯 할당 스케줄이다.
[0044] 도 9는 통신 매체의 경쟁 예약 요청/비경쟁 액세스에 대한 예시적 동작들을 예시하는 흐름도이다.
[0045] 도 10은 다수의 예약 요청 메시지들을 프로세싱하기 위한 예시적 동작들을 예시하는 흐름도이다.
[0046] 도 11은 메시지들을 송신하기 위한 슬롯 할당 메커니즘을 포함하는 전자 디바이스의 일 실시예의 블록도이다.
[0047] 이어지는 설명은, 본 개시내용의 다양한 실시예들을 설명하는 예시적 시스템들, 방법들, 기술들, 명령 시퀀스들, 및 컴퓨터 프로그램 제품들을 포함한다. 그러나, 설명된 실시예들이 개시된 특정 세부사항들 없이 실시될 수 있음이 이해된다. 예컨대, 일부 실시예들이 HomePlug® AV/AV2/GreenPHY 또는 IEEE 1901 통신 프로토콜들을 사용하여 PLC 네트워크에서 메시지들을 송신하는 것을 설명하지만, 본원에 설명된 동작들은 다른 유선 통신 프로토콜들(예컨대, MoCA(multimedia over coax alliance) 프로토콜들, 이더넷 프로토콜들 등) 또는 무선 통신 프로토콜들(예컨대, IEEE 802.11 프로토콜들과 같은 무선 로컬 영역 네트워크(WLAN;wireless local area network) 프로토콜들)로 확장될 수 있다. 다른 인스턴스들에서, 잘 알려진 명령 인스턴스들, 프로토콜들, 구조들, 및 기술들은 설명을 불명료하게 하지 않기 위하여 상세히 도시되지 않았다.
[0048] 전력선 네트워크는 다수의 네트워크 디바이스들이 전력선 매체에 커플링되는 공유 통신 네트워크이다. 전기 전력을 제공하는 것 외에도, 전력선 매체는 또한, PLC 디바이스들 사이, 이를테면, 비히클 내의 PLC 네트워크의 네트워크 디바이스들 사이의 통신들을 용이하게 할 수 있다. 비히클은 차량 내 통신들을 위해 PLC 프로토콜들(예컨대, HomePlug AV/AV2/GreenPHY 프로토콜들, IEEE 1901 프로토콜들 등)을 사용하도록 구성될 수 있다. 통신을 위해 PLC 프로토콜들을 사용하는 것은, 비히클에서 와이어링 하네스들의 복잡성을 최소화하고 추가적인 데이터 버스들(예컨대, LIN 버스 및 CAN 버스)에 대한 필요성을 제거하거나 또는 감소시킬 수 있다.
[0049] 일부 실시예들에서, 네트워크 디바이스는 통신 네트워크에서 메시지들을 효율적으로 송신하기 위해 슬롯형 메시지 액세스 프로토콜(S-MAP;slotted message access protocol)을 구현하도록 구성된다. S-MAP에서, 통신 매체 상의 송신 시간("타임-온-와이어")은 통신 슬롯들("통신 시간 슬롯들" 또는 "S-MAP 슬롯들"로 또한 지칭됨)로 분할될 수 있다. 마스터 네트워크 디바이스는 S-MAP을 구현하기 위해 클라이언트 네트워크 디바이스를 통신 네트워크에 등록할 수 있다. 등록 동작들의 일부로서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스들과의 후속 통신을 위해 (예컨대, 디바이스 식별자 관점에서) 상이한 클라이언트 네트워크 디바이스들 사이를 구별할 수 있다. 마스터 네트워크 디바이스는 통신 네트워크에서의 후속 통신을 위해 클라이언트 네트워크 디바이스에 인크립션 키들을 할당할 수 있다. 등록 동작들에 관한 추가적인 개시내용이 도 3 및 도 4를 참조하여 설명될 것이다. 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스에 의해 송신될 상이한 타입들의 메시지들에 따라 통신 슬롯들을 클라이언트 네트워크 디바이스에 할당할 수 있다. 클라이언트 네트워크 디바이스는 도 5 - 도 7에서 설명될 바와 같이 통신 네트워크에서의 보안 통신을 위해 인크립션 키들을 사용하여 메시지들을 인크립팅 및 디크립팅할 수 있다. 부가적으로, 도 8 - 도 10에서 설명될 바와 같이 경쟁-기반 및 비경쟁 통신 슬롯들 둘 모두를 사용하는 하이브리드 매체 액세스 기술이 또한 구현될 수 있다. 클라이언트 네트워크 디바이스는 경쟁-기반 통신 슬롯을 사용하여, 후속 송신들을 위한 비경쟁 통신 슬롯들의 할당을 요청할 수 있다. 마스터 네트워크 디바이스는 특정된 지속기간에 대해 클라이언트 네트워크 디바이스에 비경쟁 통신 슬롯들을 임시로 할당할 수 있다. 클라이언트 네트워크 디바이스는 특정된 지속기간에 대해 비경쟁 통신 슬롯들에서 후속 송신들을 개시할 수 있다. 할당된 통신 슬롯들 동안에 메시지들을 송신하도록 기존 통신 프로토콜들을 적응시키는 것은, 오버헤드 및 메시지 충돌들을 최소화하고 통신 효율성 및 신뢰성을 개선시킬 수 있다.
[0050] 도 1은 통신 네트워크(100)에서 메시지들을 송신하기 위해 S-MAP을 구현하기 위한 메커니즘을 포함하는 예시적 블록도이다. 통신 네트워크(100)는 네트워크 디바이스들(102, 104, 및 114)을 포함한다. 네트워크 디바이스(102)는 프로세서(105), 등록 모듈(106), 스케줄링 모듈(108), 메시지 생성 모듈(110), 및 트랜시버(112)를 포함한다. 단순성을 위해 도 1에 도시되지 않았지만, 네트워크 디바이스들(104 및 114)이 또한 프로세서, 등록 모듈, 스케줄링 모듈, 메시지 생성 모듈, 및/또는 트랜시버를 포함할 수 있다. 네트워크 디바이스들(102, 104, 및 114)은 도 1에서 파선들을 사용하여 묘사된 유선 및/또는 무선 통신 링크들을 사용하여 서로 통신가능하게 커플링될 수 있다. 네트워크 디바이스들(102, 104, 및 114)은 아래에 추가로 설명될 바와 같이 S-MAP을 사용하여 할당되는 통신 슬롯들 동안에 통신할 수 있다.
[0051] 일 실시예에서, 통신 네트워크(100)는 PLC 네트워크이고, 네트워크 디바이스들(102, 104, 및 114)은 PLC-가능 디바이스들이다. 네트워크 디바이스들(102, 104, 및 114)은 HomePlug 1.0/AV/AV2/GreenPHY 통신 프로토콜, IEEE 1901 통신 프로토콜, IEEE 1905 통신 프로토콜, 및/또는 다른 적절한 PLC 프로토콜을 사용하여 동작하도록 구성될 수 있다. PLC 프로토콜 외에도(또는 대신에), 네트워크 디바이스들(102, 104, 및 114)은 다른 적절한 유선 통신 프로토콜들(예컨대, 이더넷 프로토콜들, MoCA 프로토콜들 등) 및/또는 무선 통신 프로토콜들(예컨대, WLAN 프로토콜들, 이를테면, IEEE 802.11 프로토콜들)을 구현하도록 구성될 수 있다.
[0052] 일 실시예에서, 네트워크 디바이스(102)는 마스터 네트워크 디바이스이고, 네트워크 디바이스들(104 및 114)은 클라이언트 네트워크 디바이스들이다. 다른 실시예들에서, 네트워크 디바이스들(102, 104, 및 114) 중 임의의 하나가 마스터 네트워크 디바이스일 수 있고, 나머지 네트워크 디바이스들이 클라이언트 네트워크 디바이스들일 수 있다. 일부 실시예들에서, 등록 모듈(106)은, 프로세서(105)에 의해 실행될 때 클라이언트 네트워크 디바이스를 등록하고 등록 정보를 클라이언트 네트워크 디바이스에 제공하는 명령들을 포함한다. 등록 정보는 클라이언트 네트워크 디바이스의 디바이스 식별자, 메시지들을 송신 및 수신하기 위한 인크립션 키들, 메시지들을 송신 및 수신하기 위한 통신 슬롯들 등을 포함할 수 있다. 등록 모듈(106)은 또한, 클라이언트 네트워크 디바이스와 연관된 하나 또는 그 초과의 인크립션 키들을 결정하기 위해 키 교환을 수행할 수 있다. 일부 실시예들에서, 등록 모듈(106)은, 프로세서(105)에 의해 실행될 때 마스터 네트워크 디바이스와 다양한 등록 메시지들을 교환하고 후속 통신에 사용될 등록 정보를 마스터 네트워크 디바이스로부터 수신하는 명령들을 포함한다. 예들은 마스터 네트워크 디바이스가 클라이언트 네트워크 디바이스를 등록하는 것을 설명하지만, 다른 실시예들에서는, 앞서 등록된 클라이언트 네트워크 디바이스가 미등록 클라이언트 네트워크 디바이스를 통신 네트워크에 등록하도록 구성될 수 있다. 등록 동작들은 도 3 및 도 4에서 추가로 설명될 것이다.
[0053] 일부 실시예들에서, 스케줄링 모듈(108)은, 프로세서(105)에 의해 실행될 때 통신 매체의 비경쟁 액세스 및/또는 경쟁-기반 액세스를 위한 통신 슬롯들을 할당하는 명령들을 포함한다. 비경쟁 액세스를 위해 할당되는 통신 슬롯들은 또한 "비경쟁 통신 슬롯들"로 지칭될 수 있다. 경쟁-기반 액세스를 위해 할당되는 통신 슬롯들은 또한 "경쟁-기반 통신 슬롯들"로 지칭될 수 있다. 스케줄링 모듈(108)은 클라이언트 네트워크 디바이스에 의해 송신될 메시지들에 관련된 일정한 파라미터들(예컨대, 개수, 타입, 주파수, 및/또는 레이턴시)에 기초하여 통신 슬롯들을 할당할 수 있다. 스케줄링 모듈(108)은 등록 동작들 동안에 또는 등록 동작들이 완료된 이후에 통신 슬롯들을 할당할 수 있다. 통신 슬롯 할당은 도 8 - 도 10에서 설명될 것이다. 일부 실시예들에서, 스케줄링 모듈(108)은 또한, 프로세서(105)에 의해 실행될 때 메시지를 송신하기 위해 비경쟁 통신 슬롯 또는 경쟁-기반 통신 슬롯을 선택하는 명령들을 포함한다.
[0054] 일부 실시예들에서, 메시지 생성 모듈(110)은, 프로세서(105)에 의해 실행될 때 메시지들의 보안 통신을 위해 메시지들을 인크립팅 및 디크립팅하는 명령들을 포함한다. 메시지 생성 모듈(110)은 인크립션 키, 및/또는 비콘 메시지의 정보에 적어도 부분적으로 기초하여 메시지를 인크립팅/디크립팅할 수 있다. 일부 실시예들에서, 메시지 생성 모듈(110)은, 등록 정보의 일부로서 마스터 네트워크 디바이스로부터 인크립션 키를 수신한다. 다른 실시예들에서, 메시지 생성 모듈(110)은 등록 동작들 동안에 인크립션 키를 결정한다. 메시지 인크립션 및 디크립션은 도 5 - 도 7에서 설명될 것이다.
[0055] 일부 실시예들에서, 메시지 생성 모듈(110)은, 프로세서(105)에 의해 실행될 때 통신 네트워크에서 데이터를 송신하기 위한 적절한 메시지 포맷을 결정하는 명령들을 더 포함한다. 메시지 생성 모듈(110)은 결정된 메시지 포맷을 사용하여, 네트워크 디바이스에 할당된 통신 슬롯 동안의 송신을 위한 메시지를 생성할 수 있다. 예컨대, 메시지 생성 모듈(110)은, 비히클에서의 일정한 기능들을 제어하기 위해(예컨대, 비히클 엔터테인먼트 시스템을 제어하고, 도어들을 오프닝/클로징하고, 비히클 미러들을 조절하기 위해 등) 자동차용 버스를 통해 짧은 페이로드를 송신하기 위해서 짧은 메시지 포맷을 사용하여 메시지를 생성할 수 있다. 짧은 페이로드는, 임계치 페이로드 길이와 동일하거나 또는 그 미만의 길이를 갖는 페이로드이다. 임계치 페이로드 길이는 바이트들의 임계치 개수일 수 있다. 일 예에서, 짧은 페이로드는, 12개 바이트들과 동일하거나 또는 그 미만의 개수의 바이트들을 갖는 페이로드이다. 메시지가 일반적으로 물리적 계층 프로토콜 데이터 유닛(PPDU;physical layer protocol data unit), 매체 액세스 제어(MAC;medium access control) 프로토콜 데이터 유닛(MPDU;MAC protocol data unit), 프레임, 또는 패킷을 지칭할 수 있음이 주목된다. 예컨대, 메시지는 HomePlug 통신 프로토콜들에 대한 PLC PPDU일 수 있다.
[0056] 트랜시버(112)는 수신기 및 송신기를 포함할 수 있다. 수신기 및 송신기는 동일한 집적 회로(IC;integrated circuit) 상에, 동일한 칩 상의 별개의 컴포넌트들로서, 또는 별도의 칩들 상의 별개의 컴포넌트들로서 구현될 수 있다. 수신기는 수신 신호들을 증폭하기 위한 증폭기, 수신 신호들로부터 원치 않는 주파수들을 제거하기 위한 필터, 수신 신호를 하향변환하기 위한 믹서, 자동 이득 제어(AGC;automatic gain control) 모듈, 및 아날로그-디지털 컨버터(ADC;analog-to-digital converter)를 포함하는 아날로그 프론트 엔드(AFE;analog front end)를 포함할 수 있다. 수신기는 또한, 시간 도메인 표현으로부터 주파수 도메인 표현으로 수신 신호를 변환하기 위한 고속 푸리에 변환(FFT;fast Fourier transform) 모듈 및/또는 디크립션 및 디코딩 모듈을 포함할 수 있다. 송신기는 송신될 신호들을 증폭하기 위한 증폭기, 송신될 신호들로부터 원치 않는 주파수들을 제거하기 위한 필터, 신호를 적절한 송신 주파수로 상향변환하기 위한 믹서, 및 디지털-아날로그 컨버터(DAC;digital-to-analog converter)를 포함하는 AFE를 포함할 수 있다. 송신기는 또한, 송신될 신호를 주파수 도메인 표현으로부터 시간 도메인 표현으로 변환하기 위한 역 고속 푸리에 변환(IFFT;inverse fast Fourier transform) 모듈 및/또는 인크립션 및 인코딩 모듈을 포함할 수 있다.
[0057] 일부 실시예들에서, 네트워크 디바이스들(102, 104, 및 114)은 전자 디바이스들, 이를테면, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 모바일폰, 스마트 어플라이언스, 내비게이션 디바이스, 미디어 플레이어, 게임 콘솔, 네트워크 브릿징 디바이스, 액세스 포인트, 또는 유선 및/또는 무선 통신 프로토콜들을 구현하는 다른 전자 디바이스들이다. 네트워크 디바이스들(102, 104, 및 114) 중 하나 또는 그 초과는 PLC 네트워크의 교류 전류(AC;alternating current) 콘센트(미도시)에 직접적으로 연결되는 독립형 또는 전용 PLC 디바이스일 수 있다. 일부 실시예들에서, 네트워크 디바이스들(102, 104, 및 114)은 비히클, 기계류, 또는 다른 전자 시스템의 통신 네트워크의 일부이다.
[0058] 통신 네트워크(100)는 도 2에 묘사된 바와 같이 비히클(200)에서 구현될 수 있다. 비히클(200)은 네트워크 디바이스들(202, 204, 및 206)을 포함한다. 네트워크 디바이스들(202, 204, 및 206)은 도 1의 네트워크 디바이스(102)와 유사하게 구성될 수 있다. 비히클(200)은 전기 비히클, 플러그-인 전기 비히클(PEV;plug-in electric vehicle), 하이브리드 전기 비히클, 가스 동력식 비히클, 항공기, 전자 기계류 등일 수 있다. 네트워크 디바이스들(202, 204, 및 206)은 비히클(200)의 전자 디바이스들/컴포넌트들, 이를테면, 비히클의 중앙 컴퓨터, 가열 및 냉각 시스템 컴포넌트들, 충전 및 배터리 시스템 컴포넌트들, 엔터테인먼트 디바이스들, 보안 시스템 컴포넌트들(예컨대, 윈도우들, 도어 잠금들, 알람 등), 및/또는 다른 적절한 전자 디바이스들/컴포넌트들일 수 있다. 네트워크 디바이스들(202, 204, 및 206)은 자동차용 버스를 통한 비히클(200) 내에서의 내부 통신들을 위해 S-MAP을 구현한다. 예컨대, 네트워크 디바이스들(202, 204, 및 206)은 비히클의 다양한 동작들을 제어하기 위해, 이를테면, 비히클 미러들을 조절하고, 비히클 도어들을 오프닝/클로징하고, 비히클 상의 광들을 스위칭 온/오프하는 것 등을 위해 S-MAP을 구현할 수 있다. 자동차용 버스는 비히클(200) 내의 네트워크 디바이스들(202, 204, 및 206)을 커플링하는 PLC 매체(즉, 전기 와이어들)일 수 있다. 도 2가 세 개의 네트워크 디바이스들(202, 204, 및 206)을 포함하는 비히클(200)을 묘사하지만, 비히클(200)은 S-MAP을 구현하도록 구성된 임의의 적절한 개수의 네트워크 디바이스들을 포함할 수 있다.
[0059] S-MAP은 통신 매체 상의 송신 시간을 통신 슬롯들로 분할하는 시간 도메인 다중 액세스(TDMA;time domain multiple access) 기반 프로토콜일 수 있다. 일부 실시예들에서, 비콘 기간은 도 8을 참조하여 묘사된 바와 같이 다수의 통신 슬롯들로 분할된다. 비콘 기간 내의 통신 슬롯들의 개수는 구현되고 있거나 또는 구성가능할 수 있는 통신 프로토콜에 적어도 부분적으로 기초하여 결정될 수 있다. 예컨대, HomePlug GreenPHY 통신 프로토콜이 구현될 때, 비콘 기간은 33.3 ㎳일 수 있다. 다른 예에서, 비콘 기간은 20 ㎳가 되도록 구성될 수 있다. 이 예에서, 비콘 기간은 320개 통신 슬롯들로 분할되는데, 각각의 통신 슬롯은 62.5 ㎲의 지속기간을 갖는다. 예가 동일한 지속기간을 갖는 비콘 기간의 각각의 통신 슬롯을 설명하지만, 비콘 기간의 일부/모든 통신 슬롯이 상이한 지속기간을 가질 수 있다. 마스터 네트워크 디바이스("조정 네트워크 디바이스"로 또한 지칭됨)는 비콘 메시지를 송신하기 위한 비콘 기간마다 통신 슬롯들 중 하나 또는 그 초과를 할당할 수 있다. 비콘 메시지는 비콘 기간의 시작에 송신되거나, 또는 비콘 기간에서의 적절한 포지션들(예컨대, 비콘 기간의 중간, 비콘 기간의 끝 등)에 위치된 임의의 적절한 개수의 통신 슬롯들에서 송신될 수 있다.
[0060] 일부 실시예들에서, 마스터 네트워크 디바이스는 마스터 네트워크 디바이스와 연관된 로컬 물리적 계층(PHY) 클록을 참조하여 매 비콘 기간마다 비콘 메시지를 송신한다. 비콘 메시지는, 클라이언트 네트워크 디바이스들이 그들의 개개의 통신 슬롯들의 시작/정지 시간 순간들을 추정할 수 있도록 타이밍 레퍼런스를 제공할 수 있다. 클라이언트 네트워크 디바이스는, 클라이언트 네트워크 디바이스가 마스터 네트워크 디바이스로부터 비콘 메시지들을 수신하는 시간 순간들에 기초하여 마스터 네트워크 디바이스의 PHY 클록에 자신의 로컬 PHY 송신/수신 클록들을 동기화할 수 있다. 클라이언트 네트워크 디바이스는 비콘 메시지 수신의 다수의 인스턴스들을 사용하여, 클라이언트 네트워크 디바이스에서의 타이밍 차이를 추정하고 마스터 네트워크 디바이스의 PHY 클록과 자신의 로컬 PHY 클록들을 동기화할 수 있다. 클라이언트 네트워크 디바이스에서의 PHY 클록 동기화를 가능하게 하기 위해, 마스터 네트워크 디바이스는 마스터 네트워크 디바이스에 있는 동일한 클록으로부터 비콘 메시지를 송신하기 위한 시간 순간 및 PHY 클록 타이밍을 도출할 수 있다.
[0061] 마스터 네트워크 디바이스는 비콘 기간의 하나 또는 그 초과의 연속적인 통신 슬롯들을 클라이언트 네트워크 디바이스들에 할당하여, 클라이언트 네트워크 디바이스들이 관리 또는 데이터 메시지들을 송신하도록 할 수 있다. 데이터 메시지들은 애플리케이션 데이터 메시지들일 수 있다. 다른 실시예들에서, 비콘 기간에서 클라이언트 네트워크 디바이스에 할당되는 통신 슬롯들은 연속적이지 않을 수 있다. 비콘 기간은 식별자("비콘 기간 식별자"), 이를테면, 비콘 기간 넘버와 연관될 수 있다. 마스터 네트워크 디바이스는 비콘 기간 식별자를 선택하고, 비콘 메시지에서 비콘 기간 식별자를 표시할 수 있다. 예컨대, 마스터 네트워크 디바이스는 시동시 비콘 기간 식별자를 선택하고, 각각의 후속 비콘 기간에 대해 비콘 기간 식별자를 증가시킬 수 있다. 비콘 기간 식별자는 무작위로 선택되거나, 미리결정되거나, 또는 일정한 기준들에 기초하여 선택될 수 있다. 부가적으로, 비콘 기간 내의 각각의 통신 슬롯은 "슬롯 식별자"로 또한 지칭되는 통신 슬롯 식별자와 또한 연관될 수 있다. 마스터 네트워크 디바이스는 비콘 기간마다의 통신 슬롯들의 서브세트를 클라이언트 네트워크 디바이스에(또는 클라이언트 네트워크 디바이스들의 그룹들에) 할당할 수 있다. 대안적으로, 마스터 네트워크 디바이스는 매 N개 비콘 기간들마다 하나 또는 그 초과의 통신 슬롯들을 클라이언트 네트워크 디바이스에 할당할 수 있다. 어떠한 클라이언트 네트워크 디바이스에도 할당되지 않은 통신 슬롯들은 동적 슬롯 할당을 위해 또는 클라이언트 네트워크 디바이스들(예컨대, 비히클에 연결되는 플러그-앤드-플레이 디바이스들)로의 미래 할당을 위해 예약될 수 있다.
[0062] 마스터 네트워크 디바이스는 슬롯 할당 스케줄(S-MAP 스케줄로 또한 지칭됨)을 생성할 수 있다. 도 8은 슬롯 할당 스케줄의 일 예를 예시한다. 슬롯 할당 스케줄은, 네트워크 디바이스들(또는 네트워크 디바이스들의 그룹들)에 할당되는 통신 슬롯들, 각각의 통신 슬롯에서 송신될 수 있는 메시지들의 타입, 각각의 통신 슬롯에서 송신될 수 있는 트래픽의 클래스("트래픽 클래스"), 및/또는 각각의 통신 슬롯에서 통신하기 위해 사용되어야 하는 매체 액세스 기술들을 표시할 수 있다. 메시지의 타입은 메시지의 컨텐츠, 이를테면, 메시지가 가열 및 냉각 시스템 제어 및/또는 상태 메시지인지, 충전 및 배터리 제어 및/또는 상태 메시지인지, 엔터테인먼트 디바이스 제어 및/또는 상태 메시지인지, 보안 시스템 제어 및/또는 상태 메시지인지 등을 지칭할 수 있다. 일부 실시예들에서, 마스터 네트워크 디바이스는 비콘 메시지에서 또는 브로드캐스트 관리 메시지에서 슬롯 할당 스케줄을 등록된 클라이언트 네트워크 디바이스들에 송신한다. 일부 실시예들에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스에 관련되는 슬롯 할당 스케줄의 부분을 유니캐스트 메시지에서 클라이언트 네트워크 디바이스에 송신한다. 슬롯 할당 스케줄의 부분은, 클라이언트 네트워크 디바이스가 상이한 타입들/클래스들의 메시지들을 언제 송신할 수 있는지 그리고 클라이언트 네트워크 디바이스가 메시지들을 언제 청취해야 하는지를 표시할 수 있다. 마스터 네트워크 디바이스는, 슬롯 할당 스케줄의 부분을 포함하는 유니캐스트 메시지를 클라이언트 네트워크 디바이스에 송신하는 것에 대한 응답으로 확인응답(예컨대, 애플리케이션 레벨 확인응답)을 기다릴 수 있다. 확인응답이 타임아웃 인터벌 내에 수신되지 않으면, 마스터 네트워크 디바이스는 유니캐스트 메시지를 재송신할 수 있다.
[0063] 마스터 네트워크 디바이스는 또한, 마스터 네트워크 디바이스가 클라이언트 네트워크 디바이스를 등록한 이후에 슬롯 할당 스케줄 업데이트들을 송신할 수 있다. 마스터 네트워크 디바이스는 슬롯 할당 스케줄을 주기적으로 업데이트할 수 있다(예컨대, 매 X 시간마다, 매 Y 일마다 등). 마스터 네트워크 디바이스는 또한, 클라이언트 네트워크 디바이스의 구성이 변하면, 클라이언트 네트워크 디바이스가 통신 네트워크에 추가되거나 또는 이 통신 네트워크로부터 제거되면, 그리고/또는 컴포넌트 또는 피처가 비히클에 추가/이 비히클로부터 제거되면 등의 경우에 슬롯 할당 스케줄을 업데이트할 수 있다. 클라이언트 네트워크 디바이스들은 슬롯 할당 스케줄을 사용하여, 그들의 개개의 송신들을 언제 개시할지 그리고 다른 클라이언트 네트워크 디바이스들로부터의 송신들을 언제 청취할지를 결정할 수 있다.
[0064] 마스터 네트워크 디바이스는 웨이크/슬립 스케줄을 등록된 클라이언트 네트워크 디바이스에 제공할 수 있다. 일부 실시예들에서, 클라이언트 네트워크 디바이스들은 마스터 네트워크 디바이스에 의해 제공된 슬롯 할당 스케줄에 적어도 부분적으로 기초하여 그들의 개개의 웨이크/슬립 스케줄을 결정한다. 예컨대, 클라이언트 네트워크 디바이스들은 (슬롯 할당 스케줄에 표시된 바와 같은) 관련 메시지들을 송신/수신하기 위해 할당되는 통신 슬롯들 동안에 액티브 동작 상태로 동작할 수 있다. 클라이언트 네트워크 디바이스는 마스터 네트워크 디바이스로부터의 유니캐스트 메시지에서 수신된 슬롯 할당 스케줄의 부분에 적어도 부분적으로 기초하여 웨이크/슬립 스케줄을 결정할 수 있다. 예컨대, 클라이언트 네트워크 디바이스는, 메시지들을 수신하기 위해 그리고 (클라이언트 네트워크 디바이스들이 송신할 메시지들을 가질 때) 메시지들을 송신하기 위해 할당된 통신 슬롯들 동안에만 액티브 동작 상태로 남아 있을 수 있다. 일부 실시예들에서, 마스터 네트워크 디바이스는 슬롯 할당 스케줄과 별개의 웨이크/슬립 스케줄을 송신한다. 웨이크/슬립 스케줄은, 클라이언트 네트워크 디바이스가 메시지들을 송신하거나 또는 수신하기 위해 액티브 동작 상태로 동작해야 하는 비콘 기간에서의 통신 슬롯들을 표시할 수 있다. 클라이언트 네트워크 디바이스는, 클라이언트 네트워크 디바이스가 메시지들을 송신/수신하도록 스케줄링되지 않았을 때의 통신 슬롯들 동안에 저전력 동작 상태 또는 "슬립 동작 상태"로 전이될 수 있다. 슬립 동작 상태 동안에, 클라이언트 네트워크 디바이스는 하나 또는 그 초과의 컴포넌트들을 디스에이블하거나 또는 하나 또는 그 초과의 컴포넌트들을 저전력 동작 상태로 구성할 수 있다. 클라이언트 네트워크 디바이스들은, 슬립 동작 상태로 구성될 때 메시지들을 수신하지 않을 수 있다. 클라이언트 네트워크 디바이스가 연장된 시간 기간들(예컨대, 다수의 비콘 기간들)에 대해 메시지들을 송신/수신하도록 스케줄링되지 않으면, 클라이언트 네트워크 디바이스는 "딥 슬립"(또는 인액티브) 동작 상태로 전이될 수 있다. 클라이언트 네트워크 디바이스의 통신 및/또는 프로세싱 컴포넌트들 중 대다수는 딥 슬립 동작 상태에서 디스에이블될 수 있다. 슬립 동작 상태는 액티브 동작 상태와 딥 슬립 동작 상태 사이의 중간 동작 상태일 수 있다. 슬립 동작 상태로부터 액티브 동작 상태로 전이되는 시간은 딥 슬립 동작 상태로부터 액티브 동작 상태로 전이되는 시간보다 더 짧을 수 있다. 또한, 마스터 네트워크 디바이스는, 각각의 클라이언트 네트워크 디바이스가 슬립 동작 상태에서 통신 네트워크에서의 전력 소모를 최소화하도록 구성되는 시간량을 최대화하기 위해 슬롯 할당 스케줄 및 웨이크/슬립 스케줄을 최적화할 수 있다. 일부 구현들에서, 마스터 네트워크 디바이스는 선택적으로, 전체 통신 네트워크(예컨대, 비히클의 자동차용 버스)를 딥 슬립 동작 상태에 배치시킬 수 있다. 통신 네트워크에서의 모든 통신들은, 전체 통신 네트워크가 딥 슬립 동작 상태로 있을 때 다수의 비콘 기간들에 대해 중단될 수 있다.
[0065] 웨이크/슬립 스케줄 및 슬롯 할당 스케줄을 생성 및 분배하는 것 외에도, 마스터 네트워크 디바이스는 또한, 클라이언트 네트워크 디바이스를 통신 네트워크에 등록하고, 디바이스 식별자들(예컨대, 단말 장비 식별자(terminal equipment identifier) 또는 TEI)을 등록된 클라이언트 네트워크 디바이스에 할당하며, 하나 또는 그 초과의 인크립션 키들을 등록된 클라이언트 네트워크 디바이스에 분배할 수 있다. 클라이언트 네트워크 디바이스는 메시지들(예컨대, 데이터)을 통신 네트워크에서 송신하기 이전에 마스터 네트워크 디바이스에 등록될 수 있다. 마스터 네트워크 디바이스 및 클라이언트 네트워크 디바이스의 등록 동작들은 도 3 및 도 4에서 추가로 설명된다.
[0066] 도 3은 마스터 네트워크 디바이스가 클라이언트 네트워크 디바이스를 통신 네트워크에 안전하게 등록하기 위한 예시적 동작들을 예시하는 흐름도("흐름")(300)이다. 흐름은 블록(302)에서 시작한다.
[0067] 블록(302)에서, 통신 네트워크의 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스를 통신 네트워크에 등록하기로 결정한다. 일부 실시예들에서, 마스터 네트워크 디바이스(예컨대, 제 1 네트워크 디바이스)는 클라이언트 네트워크 디바이스(예컨대, 제 2 네트워크 디바이스)로부터의 등록 요청을 수신하는 것에 대한 응답으로 클라이언트 네트워크 디바이스를 등록하기 위한 등록 동작들을 개시한다. 등록 요청은 클라이언트 네트워크 디바이스에 의해 선택된 제 1 임시 식별자(TID;temporary identifier)를 포함할 수 있다. 제 1 TID는 무작위로 선택되거나, 미리결정되거나, 또는 일정한 기준들에 기초하여 선택될 수 있다. 다른 실시예에서, 마스터 네트워크 디바이스는 사용자 입력에 대한 응답으로 또는 제조 프로세스 동안에 등록 동작들을 개시한다. 흐름은 블록(304)에서 계속된다.
[0068] 블록(304)에서, 마스터 네트워크 디바이스는 키 교환을 위해 비콘 기간의 통신 슬롯을 클라이언트 네트워크 디바이스에 할당한다. 마스터 네트워크 디바이스는 키 교환 메시지들을 송신하기 위해 하나 또는 그 초과의 통신 슬롯들을 클라이언트 네트워크 디바이스에 할당할 수 있다("키 교환 통신 슬롯"). 클라이언트 네트워크 디바이스에 할당된 제 1 키 교환 통신 슬롯 및 마스터 네트워크 디바이스에 할당된 제 2 키 교환 통신 슬롯은 비콘 기간 내에서 시간상 서로 가까울 수 있다. 예컨대, 제 1 키 교환 통신 슬롯 및 제 2 키 교환 통신 슬롯은 임계치를 초과하지 않는 시간 인터벌에 의해 분리될 수 있다. 또한, 클라이언트 네트워크 디바이스에 할당된 키 교환 통신 슬롯은 비콘 기간 내에서 마스터 네트워크 디바이스에 할당된 키 교환 통신 슬롯에 앞서 위치될 수 있다. 마스터 네트워크 디바이스는 시간상 서로 가까이 있는 통신 슬롯들에서 클라이언트 네트워크 디바이스와 메시지들을 교환함으로써 중간자 공격의 가능성을 최소화할 수 있다. 키 교환 통신 슬롯들은, 인크립션 키를 협상하기 위해 사용될 수 있다. 흐름은 블록(306)에서 계속된다.
[0069] 블록(306)에서, 마스터 네트워크 디바이스는 하나 또는 그 초과의 통신 슬롯들 동안에 수행된 키 교환으로부터 클라이언트 네트워크 디바이스와 연관된 디바이스 인크립션 키(DEK;device encryption key)를 결정한다. 일 실시예에서, 마스터 네트워크 디바이스 및 클라이언트 네트워크 디바이스는 DEK로 지칭되는 공통 비밀 키를 생성하기 위해 Diffie-Hellman DEK 교환을 수행한다. 대안적으로, 마스터 네트워크 디바이스 및 클라이언트 네트워크 디바이스는 DEK를 생성하기 위해 다른 적절한 키 교환 기술들을 수행할 수 있다. 클라이언트 네트워크 디바이스는 클라이언트 네트워크 디바이스에 할당된 키 교환 통신 슬롯 동안에 키 교환 요청을 마스터 네트워크 디바이스에 송신함으로써 마스터 네트워크 디바이스와 키 교환을 개시할 수 있다. 마스터 네트워크 디바이스는 마스터 네트워크 디바이스에 할당된 키 교환 통신 슬롯 동안에 키 교환 응답을 클라이언트 네트워크 디바이스에 송신할 수 있다. DEK는 클라이언트 네트워크 디바이스와의 보안 통신을 위해 생성될 수 있다. 클라이언트 네트워크 디바이스는 DEK를 사용하여, (예컨대, 등록 동작들 동안에) 마스터 네트워크 디바이스로의 송신을 위한 유니캐스트 메시지들을 인크립팅할 수 있다. 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스와 연관된 DEK를 사용하여, 클라이언트 네트워크 디바이스에 대해 의도되는 유니캐스트 메시지들을 인크립팅할 수 있다. 예컨대, 마스터 네트워크 디바이스 및 클라이언트 네트워크 디바이스는 DEK를 사용하여, 후속 등록 메시지들을 인크립팅할 수 있다.
[0070] 일부 실시예들에서, 마스터 네트워크 디바이스는 등록 메시지들, 미리결정된 데이터를 포함하는 데이터 메시지들, 및/또는 클라이언트 네트워크 디바이스로부터 수신된 다른 적절한 메시지들에 기초하여 클라이언트 네트워크 디바이스와 연관된 물리적 계층(PHY) 채널 특성들을 결정한다. 마스터 네트워크 디바이스는, 이들 PHY 채널 특성들이 예상되는 등록 클라이언트 네트워크 디바이스의 것들과 일치하는지 여부를 결정할 수 있다. PHY 채널 특성들이 매칭하지 않으면, 마스터 네트워크 디바이스는 키 교환 및 등록 동작들을 종료할 수 있다. 일부 실시예들에서, 마스터 네트워크 디바이스 및 클라이언트 네트워크 디바이스를 인증하기 위해 인증서들이 사용된다. 예컨대, 마스터 네트워크 디바이스는 꼬리등 모듈을 등록하기 위해 비히클(즉, 클라이언트 네트워크 디바이스)의 꼬리등 모듈로부터 인증서를 수신한다. 마스터 네트워크 디바이스는 키 교환을 개시하기 이전에 인증서를 검증할 수 있다. 흐름은 블록(308)에서 계속된다.
[0071] 블록(308)에서, 마스터 네트워크 디바이스는, 디바이스 인크립션 키에 적어도 부분적으로 기초하여, 클라이언트 네트워크 디바이스를 통신 네트워크에 등록하기 위한 등록 정보를 제공한다. 등록 정보는 디바이스 식별자, 슬롯 할당 스케줄, 웨이크/슬립 스케줄, 클라이언트 네트워크 디바이스가 중계 디바이스로서 지정되는지 여부의 표시, 하나 또는 그 초과의 인크립션 키들 등을 포함할 수 있다. 디바이스 식별자는, 통신 네트워크 상에서 고유하며 성공적인 등록 이후에 클라이언트 네트워크 디바이스를 식별하기 위해 사용될 수 있는 TEI일 수 있다. TEI는 8-비트 디바이스 식별자일 수 있거나, 또는 임의의 적절한 개수의 비트들을 포함할 수 있다. 부가적으로, 하나 또는 그 초과의 TEI들이 "특별 TEI들"로서 예약될 수 있고, 어떠한 등록된 클라이언트 네트워크 디바이스들에도 할당되지 않을 수 있다. 예컨대, TEI 0x00는 마스터 네트워크 디바이스에 의해 등록되지 않은 클라이언트 네트워크 디바이스들을 표현할 수 있고; TEI 0x01은 마스터 네트워크 디바이스에 할당될 수 있으며; TEI 0xFF는 브로드캐스트 통신들을 위한 브로드캐스트 TEI를 표현할 수 있는 식이다.
[0072] 마스터 네트워크 디바이스는 또한, 클라이언트 네트워크 디바이스가 중계 디바이스로서 지정되는지 여부, 그리고 다른 관련 정보, 이를테면, 클라이언트 네트워크 디바이스가 중계하도록 구성되는 메시지들의 타입과 메시지들을 중계하기 위해 어느 통신 슬롯들이 사용되어야 하는지를 표시할 수 있다. 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스에 의해 수행되는 실제 기능에 관계없이 임의의 클라이언트 네트워크 디바이스를 중계 디바이스로서 지정할 수 있다. 예컨대, LED 모듈들, 도어 잠금 스위치들 등이 중계 디바이스들로서 지정될 수 있다. 마스터 네트워크 디바이스는 통신 네트워크의 토폴로지에 기초하여 중계 디바이스들을 지정할 수 있다. 통신 네트워크의 토폴로지가 변하면, 마스터 네트워크 디바이스는 중계 디바이스들로서 지정되는 클라이언트 네트워크 디바이스들을 변경할 수 있다. 중계 디바이스들은 비히클이 제조/설계될 때 지정될 수 있으며, 추가적인 네트워크 디바이스들이 비히클에 추가될 때 (예컨대, 판매점들에 의해) 구성가능할 수 있다. 마스터 네트워크 디바이스는 동일한 통신 슬롯들 동안에 동일한 메시지들을 중계하도록 다수의 클라이언트 네트워크 디바이스들을 선택할 수 있다.
[0073] 일부 실시예들에서, 마스터 네트워크 디바이스는, 클라이언트 네트워크 디바이스가 다른 네트워크 디바이스들과 교환되는 메시지들을 인크립팅 및 디크립팅하는 것을 가능하게 하기 위해 하나 또는 그 초과의 그룹 인크립션 키들(GEK들)을 클라이언트 네트워크 디바이스에 제공한다. GEK는, 멀티캐스트 관리 메시지들 및/또는 데이터 메시지들을 인크립팅하기 위해 사용될 수 있다. 마스터 네트워크 디바이스는 통신 네트워크의 각각의 클라이언트 네트워크 디바이스에 대해 GEK들을 생성할 수 있다. 마스터 네트워크 디바이스는, 클라이언트 네트워크 디바이스와 연관된 DEK를 사용하여 인크립팅되는 유니캐스트 메시지에서 하나 또는 그 초과의 GEK들을 클라이언트 네트워크 디바이스에 송신할 수 있다. 클라이언트 네트워크 디바이스가 중계 디바이스로서 지정될 때, GEK들은 중계 디바이스에 제공될 수 있다. 중계 디바이스는 다른 네트워크 디바이스로 중계될 메시지들을 디크립팅하기 위해 GEK들을 사용할 수 있다. 마스터 네트워크 디바이스는 또한, 클라이언트 네트워크 디바이스에 의해 송신되는 메시지들을 인크립팅하기 위해 어느 GEK들이 사용되어야 하는지를 표시할 수 있다. 등록 정보는 또한, 상이한 타입들의 통신들 및/또는 클라이언트 네트워크 디바이스와 연관된 웨이크/슬립 스케줄에 대해 클라이언트 네트워크 디바이스에 할당된 통신 슬롯들을 표시하는 슬롯 할당 스케줄을 포함할 수 있다. TEI, DEK, GEK들, 슬롯 할당 스케줄, 웨이크/슬립 스케줄, 등록된 클라이언트 네트워크 디바이스가 또한 중계 디바이스로서 지정되는지 여부의 표시, 및/또는 다른 적절한 정보가 집합적으로 또는 개별적으로 등록 정보로 지칭될 수 있다. 마스터 네트워크 디바이스는 DEK 인크립팅된 메시지를 사용하여 등록 정보를 클라이언트 네트워크 디바이스에 송신할 수 있다. 블록(308)으로부터, 흐름이 종료된다.
[0074] 도 4는 마스터 네트워크 디바이스가 클라이언트 네트워크 디바이스를 통신 네트워크에 안전하게 등록하기 위한 예시적 동작들을 예시하는 흐름도(400)이다. 흐름(400)은 블록(402)에서 시작한다.
[0075] 블록(402)에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스를 통신 네트워크에 등록하기로 결정한다. 일 실시예에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스로부터 등록 요청을 수신하는 것 또는 사용자 입력을 수신하는 것에 대한 응답으로 등록 동작들을 개시한다. 다른 실시예에서, 마스터 네트워크 디바이스는 제조 프로세스 동안에 등록 동작들을 수행한다.
[0076] 클라이언트 네트워크 디바이스는, 통신 네트워크에 가입하고 메시지들을 통신 네트워크에서 송신하기 위해 정적 등록 또는 동적 등록을 경험할 수 있다. 정적 등록은, 비히클의 일부로서 설치되는 클라이언트 네트워크 디바이스들에 대해 사용될 수 있다. 예컨대, 빌트-인 프로세싱 및 제어 모듈들, 이를테면, 조명 제어 모듈들, 점화 제어 모듈, 도어/윈도우 활성화 모듈들 등이 "정적으로" 등록될 수 있다. 이들 클라이언트 네트워크 디바이스들이 비히클의 일부이기 때문에, 통신 네트워크에서 동작하기 위해 이들 클라이언트 네트워크 디바이스들에 의해 사용되는 등록 정보(예컨대, 슬롯 할당 스케줄, 디바이스 식별자들 등)가 또한 정적일 수 있다. 정적 등록 정보는 비-휘발성 메모리에 저장될 수 있으며, 클라이언트 네트워크 디바이스는 마스터 네트워크 디바이스에 재등록될 필요 없이 통신 네트워크에서 메시지들을 송신하기 위해 등록 정보를 재사용할 수 있다. 클라이언트 네트워크 디바이스들은 재등록할 필요성을 제거하거나 또는 감소시킴으로써 더 빠르게 동작하기 시작할 수 있다. 예컨대, 조명 제어 모듈은, 비히클이 시작되거나 또는 조명 제어 모듈이 파워 업될 때마다, 이전에 결정된 등록 정보를 재사용할 수 있다.
[0077] 동적 등록은 비히클에 부수적인 클라이언트 네트워크 디바이스들, 이를테면, 12-볼트 실내 콘센트, 진단 액세스 포트 커넥터, 유니버셜 직렬 버스(USB;universal serial bus) 포트 등에 플러깅함으로써 통신 네트워크(예컨대, 자동차용 버스)로의 액세스를 획득하는 클라이언트 네트워크 디바이스들에 대해 사용될 수 있다. 동적 등록의 경우, 클라이언트 네트워크 디바이스 및 마스터 네트워크 디바이스가 파워 온된 채로 남아 있고 그리고/또는 클라이언트 네트워크 디바이스가 통신 네트워크(예컨대, 자동차용 버스)에 부착된 채로 남아 있는 한, 등록 정보는 유효하게 남아 있을 수 있다. 동적 등록은, 클라이언트 네트워크 디바이스가 통신 네트워크에 연결될 때마다(예컨대, 클라이언트 네트워크 디바이스가 비히클의 실내 콘센트에 플러깅될 때마다) 수행될 수 있다. 동적 등록의 경우, 이전 통신 세션에서 사용된 등록 정보는 현재 또는 미래 통신 세션에서의 사용을 위해 유효하지 않을 수 있다. 흐름은 블록(404)에서 계속된다.
[0078] 블록(404)에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스와 등록 셋업 메시지들을 교환한다. 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스로부터 등록 요청을 수신할 수 있다. 등록 요청은 클라이언트 네트워크 디바이스의 제 1 임시 식별자(TID;temporary identifier)를 포함할 수 있다. TID는 클라이언트 네트워크 디바이스에 의해 무작위로 선택되거나, 미리결정되거나, 또는 일정한 기준들에 기초하여 선택될 수 있다. 등록 요청을 수신한 이후에, 마스터 네트워크 디바이스는 제 2 임시 식별자 및 적어도 하나의 임시 통신 슬롯을 클라이언트 네트워크 디바이스에 할당(또는 배분)할 수 있다. 일부 실시예들에서, 제 2 임시 식별자는 임시 TEI이다. 임시 통신 슬롯들은 등록 동작들 동안에 등록 메시지들을 교환하기 위해 클라이언트 네트워크 디바이스에 할당될 수 있다. 일부 실시예들에서, 임시 통신 슬롯들은, 다른 등록된 또는 미등록 클라이언트 네트워크 디바이스들이 메시지들을 송신할 수 없는 비경쟁 통신 슬롯들이다. 다른 실시예들에서, 임시 통신 슬롯들은 경쟁-기반 통신 슬롯들이며, 클라이언트 네트워크 디바이스는 임시 통신 슬롯들의 제어를 획득하기 위해 다른 미등록 클라이언트 네트워크 디바이스들과 경쟁할 수 있다. 클라이언트 네트워크 디바이스는 임시 통신 슬롯들의 제어를 획득한 이후에 후속 등록 메시지들을 송신할 수 있다. 마스터 네트워크 디바이스는 키 교환 메시지들을 송신하기 위해 적어도 하나의 키 교환 통신 슬롯을 클라이언트 네트워크 디바이스에 할당할 수 있다. 마스터 네트워크 디바이스는 제 2 임시 식별자, 임시 통신 슬롯들의 표시, 및 키 교환 통신 슬롯들의 표시를 등록 응답의 일부로서 클라이언트 네트워크 디바이스에 제공할 수 있다. 임시 통신 슬롯들 및/또는 키 교환 통신 슬롯들은 등록 동작들 동안에 클라이언트 네트워크 디바이스에 제공되는 임시 통신 스케줄의 일부로서 포함될 수 있다. 등록 응답은, 등록 응답이 클라이언트 네트워크 디바이스에 대해 의도됨을 표시하기 위해, 클라이언트 네트워크 디바이스로부터 수신된 제 1 임시 식별자를 포함할 수 있다. 마스터 네트워크 디바이스는 제 2 임시 식별자를 사용하여, 임시 통신 슬롯들에서 클라이언트 네트워크 디바이스와 후속 등록 메시지들을 교환할 수 있다. 도 3을 참조하여 설명된 바와 같이, 키 교환 통신 슬롯들은 (비콘 기간 내에서) 시간상 서로 가까이 있을 수 있으며, 인크립션 키를 협상하기 위해 사용될 수 있다. 흐름은 블록(406)에서 계속된다.
[0079] 블록(406)에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스와 연관된 디바이스 인크립션 키를 결정한다. 마스터 네트워크 디바이스 및 클라이언트 네트워크 디바이스는 도 3을 참조하여 위에서 설명된 바와 같이 디바이스 인크립션 키를 생성하기 위해 키 교환을 실행할 수 있다. 위에서 설명된 바와 같이, 마스터 네트워크 디바이스는 키 교환 통신 슬롯들에서 키 교환 메시지들을 클라이언트 네트워크 디바이스에 송신하고/클라이언트 네트워크 디바이스로부터 수신할 수 있다. 흐름은 블록(408)에서 계속된다.
[0080] 블록(408)에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스와 연관된 디바이스 정보를 수신한다. 클라이언트 네트워크 디바이스와 연관된 디바이스 정보는 부품 넘버, 시리얼 넘버, 다른 적절한 식별자, 또는 클라이언트 네트워크 디바이스에 특정한 다른 정보를 지칭할 수 있다. 클라이언트 네트워크 디바이스는 또한, 클라이언트 네트워크 디바이스가 디바이스 정보를 송신했음을 표시하기 위해 제 2 임시 식별자를 포함시킬 수 있다. 디바이스 정보는 임시 통신 슬롯들에서 표시된 통신 슬롯 동안에 수신될 수 있다. 마스터 네트워크 디바이스는 디바이스 정보를 사용하여, 클라이언트 네트워크 디바이스의 기능을 결정할 수 있다. 이는 마스터 네트워크 디바이스가 클라이언트 네트워크 디바이스에 대해 적절한 개수의 통신 슬롯들을 할당하고 다른 등록 정보(예컨대, TEI)를 결정하도록 할 수 있다. 흐름은 블록(410)에서 계속된다.
[0081] 블록(410)에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스와 연관된 하나 또는 그 초과의 인크립션 키들을 포함하는 등록 정보를 클라이언트 네트워크 디바이스에 송신한다. 마스터 네트워크 디바이스는 도 3에서 위에서 설명된 바와 같이 클라이언트 네트워크 디바이스에 대한 등록 정보를 결정할 수 있다. 마스터 네트워크 디바이스는 DEK 인크립팅된 메시지를 사용하여 등록 정보를 클라이언트 네트워크 디바이스에 송신할 수 있다. 마스터 네트워크 디바이스는, 등록 정보가 클라이언트 네트워크 디바이스에 대해 의도됨을 표시하기 위해, 클라이언트 네트워크 디바이스에 할당된 제 2 임시 식별자를 사용할 수 있다. 마스터 네트워크 디바이스는 또한, 클라이언트 네트워크 디바이스에 할당된 하나 또는 그 초과의 임시 통신 슬롯들에서 등록 정보를 송신할 수 있다. 흐름은 블록(412)에서 계속된다.
[0082] 블록(412)에서, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스와 연관된 등록 정보를 저장한다. 등록 정보는 클라이언트 네트워크 디바이스가 정적으로 등록되는지 또는 동적으로 등록되는지에 따라 적절한 데이터 구조에 저장될 수 있다. 클라이언트 네트워크 디바이스가 정적으로 등록될 때, 등록 정보(예컨대, DEK, TEI, 슬롯 할당 스케줄 등) 중 일부 또는 전부는 다수의 전력 온/오프 사이클들에 걸친 사용을 위해 비-휘발성 메모리에 저장될 수 있다. 파워-업시, 마스터 네트워크 디바이스는 또한, 정적으로 등록되는 클라이언트 네트워크 디바이스들이 통신 네트워크 상에서 신속하게 동작하기 시작하도록 하기 위한 추가적인 정보(예컨대, 비콘 기간 식별자 등)를 제공하기 위해 관리 메시지들을 송신할 수 있다. 마스터 네트워크 디바이스는 시동 동안에, 주기적으로, 요구될 때, 또는 새로운 정보가 이용가능할 때 관리 메시지들 또는 비콘 메시지들에서 등록 정보 업데이트들을 통신할 수 있다.
[0083] 클라이언트 네트워크 디바이스가 동적으로 등록될 때, 마스터 네트워크 디바이스 및 클라이언트 네트워크 디바이스가 파워 온된 채로 남아 있고 그리고/또는 클라이언트 네트워크 디바이스가 통신 네트워크에 연결된 채로 남아 있는 한, 등록 정보는 유효하게 남아 있을 수 있다. 마스터 네트워크 디바이스는 동적으로 등록되는 클라이언트 네트워크 디바이스와 연관된 등록 정보를 휘발성 메모리에 저장할 수 있다. 동적으로 등록되는 클라이언트 네트워크 디바이스는 새로운 통신 세션이 개시될 때마다 등록하고 DEK를 도출할 수 있다. 그러나, 정적으로 등록되는 클라이언트 네트워크 디바이스 및 동적으로 등록되는 클라이언트 네트워크 디바이스 둘 모두에 대해, GEK들이 마스터 네트워크 디바이스에 의해 각각의 통신 세션에 대해 생성 및 제공될 수 있다. 등록 정보를 적절한 데이터 구조에 저장한 이후에, 마스터 네트워크 디바이스는 등록 동작들의 시작시 클라이언트 네트워크 디바이스에 할당되었던 제 2 임시 식별자 및 임시 통신 슬롯들을 폐기할 수 있다. 블록(412)으로부터, 흐름이 종료된다.
[0084] 일부 실시예들에서, 마스터 네트워크 디바이스는 등록 정보를 클라이언트 네트워크 디바이스에 송신하기 이전에 사용자 확인을 요청한다. 예컨대, 마스터 네트워크 디바이스는, 사용자가 클라이언트 네트워크 디바이스가 통신 네트워크에 등록되어야 하는지 여부를 확인하도록 요청하는 통지를 제시할 수 있다. 다른 예로서, 클라이언트 네트워크 디바이스는 사용자가 어느 클라이언트 네트워크 디바이스가 등록되고 있는지를 식별하는 것을 돕기 위한 동작(예컨대, 광/LED 스위치 온/오프, 도어 잠금 동작, 윈도우 오픈/클로즈, 에어-컨디셔닝 모듈 파워 온 등)을 수행할 수 있다. 사용자가 거절하거나 또는 클라이언트 네트워크 디바이스가 등록되지 않아야 함을 표시하면, 마스터 네트워크 디바이스는 등록 동작들을 종료하고, 제 2 임시 식별자 및 임시 통신 슬롯들을 철회하며, 등록 정보를 폐기할 수 있다.
[0085] 일부 실시예들에서, 동적으로 등록되는 클라이언트 네트워크 디바이스는 통신 네트워크에서의 자신의 존재를 마스터 네트워크 디바이스에 주기적으로 표시한다. 마스터 네트워크 디바이스는 동적으로 등록되는 클라이언트 네트워크 디바이스가 통신 네트워크를 떠났는지 여부를 결정하기 위해 메시지 타임아웃을 사용할 수 있다. 동적으로 등록되는 클라이언트 네트워크 디바이스가 송신할 어떠한 메시지들도 갖고 있지 않으면, 동적으로 등록되는 클라이언트 네트워크 디바이스는 자신의 동적 등록을 유지시키기 위해 텅 빈("더미") 메시지를 송신할 수 있다. 마스터 네트워크 디바이스가 임계치를 초과하는 시간 인터벌에 대해 동적으로 등록되는 클라이언트 네트워크 디바이스로부터 메시지를 수신하지 않으면, 마스터 네트워크 디바이스는 동적으로 등록되는 클라이언트 네트워크 디바이스가 더 이상 통신 네트워크의 일부가 아님을 결정할 수 있다. 임계치는 미리결정되거나, 구성가능하거나, 또는 적응적일 수 있다. 일부 실시예들에서, 마스터 네트워크 디바이스는 통신 네트워크를 떠났을지도 모르는 동적으로 등록되는 클라이언트 네트워크 디바이스에 메시지를 송신한다. 마스터 네트워크 디바이스가 미리결정된 개수의 재송신들 이후에 동적으로 등록되는 클라이언트 네트워크 디바이스로부터 응답을 수신하지 않으면, 마스터 네트워크 디바이스는 동적으로 등록되는 클라이언트 네트워크 디바이스가 더 이상 통신 네트워크의 일부가 아님을 결정할 수 있다. 마스터 네트워크 디바이스는 동적으로 등록되는 클라이언트 네트워크 디바이스와 연관된 임의의 등록 정보를 폐기할 수 있다.
[0086] 일부 실시예들에서, 마스터 네트워크 디바이스는 동적으로 등록되는 클라이언트 네트워크 디바이스들에 할당하기 위해 통신 슬롯들의 세트를 예약한다. 클라이언트 네트워크 디바이스를 통신 네트워크에 동적으로 등록한 이후에, 마스터 네트워크 디바이스는 예약된 통신 슬롯들 중 하나 또는 그 초과를 동적으로 등록되는 클라이언트 네트워크 디바이스에 할당할 수 있다. 마스터 네트워크 디바이스는 동적으로 등록되는 클라이언트 네트워크 디바이스에 할당된 통신 슬롯들에 관하여 통신 네트워크의 클라이언트 네트워크 디바이스들 전부에 통지하기 위해 관리 메시지를 송신할 수 있다.
[0087] 일부 통신 네트워크들에서, 차량 전기 와이어링을 통해 송신되는 인크립팅되지 않은 메시지들은, (예컨대, 비히클에 있는 전력 콘센트들을 사용하여) 전기 와이어링 상의 메시지들을 스니핑함으로써 검출될 수 있다. 보안을 제공하기 위해, 차량 전기 와이어링을 통해 송신되는 메시지들은 인크립팅될 수 있으며, 인크립션 키가 통신 네트워크의 네트워크 디바이스들에 분배될 수 있다. 메시지들을 안전하게 교환하기 위한 이들 및 다른 동작들이 도 5, 도 6, 및 도 7에서 설명될 것이다.
[0088] 도 5는 메시지를 인크립팅하기 위한 예시적 동작들을 예시하는 흐름도(500)이다. 흐름(500)은 블록(502)에서 시작한다.
[0089] 블록(502)에서, 통신 네트워크의 제 1 네트워크 디바이스는 비콘 기간의 제 1 통신 슬롯 동안에 메시지를 제 2 네트워크 디바이스에 송신하기로 결정한다. 제 1 네트워크 디바이스는 마스터 네트워크 디바이스 또는 다른 클라이언트 네트워크 디바이스와 통신하는 클라이언트 네트워크 디바이스일 수 있거나, 또는 제 1 네트워크 디바이스는 클라이언트 네트워크 디바이스와 통신하는 마스터 네트워크 디바이스일 수 있다. 제 1 통신 슬롯은 경쟁 인터벌 동안에 제 1 네트워크 디바이스가 제어를 획득했던 경쟁-기반 통신 슬롯일 수 있다. 대안적으로, 제 1 통신 슬롯은, 메시지들을 송신하기 위해 마스터 네트워크 디바이스에 의해 제 1 네트워크 디바이스에 할당되었던 비경쟁 통신 슬롯일 수 있다. 흐름은 블록(504)에서 계속된다.
[0090] 블록(504)에서, 제 1 네트워크 디바이스는 메시지의 특성들에 적어도 부분적으로 기초하여 메시지를 인크립팅하기 위한 인크립션 키를 결정한다. 인크립션 키는 마스터 네트워크 디바이스로부터 등록 정보에서 수신된 DEK 및/또는 GEK일 수 있다. 등록 정보는 또한, 메시지의 타입에 적어도 부분적으로 기초하여 메시지를 인크립팅하기 위해 어느 인크립션 키가 사용되어야 하는지, 메시지가 송신될 통신 슬롯, 제 2(수신) 네트워크 디바이스, 및/또는 다른 적절한 팩터들을 표시할 수 있다. 제 1 네트워크 디바이스는 송신될 메시지의 특성들에 따라 적절한 인크립션 키를 선택할 수 있다. 메시지의 특성들은, 송신될 메시지의 타입, 수신 네트워크 디바이스(들), 메시지가 송신될 통신 슬롯의 타입, 메시지가 송신될 통신 슬롯의 식별자, 및/또는 다른 적절한 팩터들을 지칭할 수 있다. 통신 슬롯의 타입은, 메시지가 경쟁-기반 통신 슬롯에서 송신될 것인지 또는 비경쟁 통신 슬롯에서 송신될 것인지를 지칭할 수 있다. 예컨대, 제 1 네트워크 디바이스는 비경쟁 통신 슬롯들에서 메시지들을 송신하기 위한 제 1 인크립션 키 및 경쟁-기반 통신 슬롯들에서 메시지들을 송신하기 위한 제 2 인크립션 키를 사용할 수 있다. 다른 예로서, 제 1 네트워크 디바이스는 수신 네트워크 디바이스들의 제 1 그룹과 통신하기 위한 제 1 인크립션 키 및 수신 네트워크 디바이스들의 제 2 그룹과 통신하기 위한 제 2 인크립션 키를 사용할 수 있다. 다른 예로서, 제 1 네트워크 디바이스는 DEK를 사용하여, 유니캐스트 메시지를 제 2 네트워크 디바이스에 송신할 수 있다. 다른 예로서, 제 1 네트워크 디바이스는 데이터를 제 2 네트워크 디바이스에 송신하기 위해 적절한 GEK를 선택할 수 있다.
[0091] 일부 실시예들에서, 제 1 네트워크 디바이스는 인크립션 키를 생성하기 위해 비콘 메시지의 정보와 DEK 또는 GEK를 결합한다. 위에서 논의된 바와 같이, 비콘 기간은 비콘 메시지에서 표시되는 비콘 기간 식별자와 연관될 수 있다. 각각의 비콘 기간에서, 마스터 네트워크 디바이스는 비콘 기간 식별자를 증가시키고, 증가된 비콘 기간 식별자를 대응하는 비콘 메시지에 포함시킬 수 있다. 제 1 네트워크 디바이스는 인크립션 키를 생성하기 위해 비콘 기간 식별자와 DEK/GEK를 결합할 수 있다. 예컨대, 제 1 네트워크 디바이스는 인크립션 키를 생성하기 위해, 적절한 해싱 알고리즘을 사용하여 비콘 기간 식별자와 DEK 또는 GEK를 결합할 수 있다. 다른 실시예들에서, 다른 적절한 결합 동작들(예컨대, 연쇄, 불린 논리 연산들 등)이, 비콘 기간 식별자와 DEK/GEK를 결합하고 인크립션 키를 생성하도록 실행될 수 있다. 흐름은 블록(506)에서 계속된다.
[0092] 블록(506)에서, 제 1 네트워크 디바이스는 비콘 메시지의 정보에 적어도 부분적으로 기초하여 메시지를 인크립팅하기 위한 초기화 벡터(IV;initialization vector)를 결정한다. 제 1 네트워크 디바이스는 비콘 기간 식별자 및 메시지를 송신하기 위해 사용될 통신 슬롯의 슬롯 식별자에 적어도 부분적으로 기초하여 IV를 결정할 수 있다. 메시지를 송신하기 위해 다수의 연속적인 통신 슬롯들이 사용될 것이라면, IV를 결정하기 위해 통신 슬롯들 중 하나(예컨대, 제 1 통신 슬롯, 마지막 통신 슬롯 등)의 슬롯 식별자가 사용될 수 있다. 예컨대, 통신 슬롯 오프셋은 연속적인 통신 슬롯들의 개수의 함수로써 결정될 수 있다. 대안적으로, 메시지를 송신하기 위해 다수의 연속적인 통신 슬롯들이 사용될 것이라면, IV를 결정하기 위해 통신 슬롯 오프셋이 사용될 수 있다. 일부 실시예들에서, IV의 길이(예컨대, 비트들의 개수)는 인크립션 메커니즘에 의해 사용되는 블록 코드의 블록 길이, 또는 인크립션 메커니즘에 의해 사용되는 하나 또는 그 초과의 스트림 암호들의 상태 정보에 따라 좌우된다. 예컨대, IV를 결정하기 위해, 비콘 기간 식별자와 슬롯 식별자의 결합은 공유 비밀(shared secret)을 이용하여 또는 공유 비밀 없이 (예컨대, 적절한 해싱 알고리즘을 사용하여) 해싱될 수 있다. 공유 비밀은 또한 "해시 키"로 지칭될 수 있다. 마스터 네트워크 디바이스는 해시 키를 등록 정보의 일부로서 비콘 메시지 또는 다른 적절한 관리 메시지에서 제공할 수 있다. 해시 키는 시동시, 요구될 때, 그리고/또는 주기적 인터벌들로 제공될 수 있다. 다른 적절한 결합 동작들(예컨대, 연쇄, 불린 논리 연산들 등)이 IV를 결정하도록 실행될 수 있음이 주목된다. 또한, 일부 실시예들에서, 제 2(수신) 네트워크 디바이스는 IV를 결정하여 인크립팅되지 않은 메시지에서 제 1(송신) 네트워크 디바이스에 제공할 수 있다.
[0093] 일부 실시예들에서, IV를 결정하기 위해 사용되는 정보는, 결과적 IV가 미리결정된 길이를 갖도록 패딩된다. IV의 길이는 사용되고 있는 인크립션 메커니즘에 적어도 부분적으로 기초하여 미리결정될 수 있다. 예컨대, 고급 인크립션 표준(AES;advanced encryption standard)이 인크립션을 위해 사용될 때, 블록 사이즈는 (해시 키 길이에 관계없이) 128개 비트들일 수 있다. 그러므로, IV는 또한 128개 비트들일 수 있다. 64개 비트들을 사용하여 비콘 기간 식별자가 표현되고, 9개 비트들을 사용하여 슬롯 식별자가 표현되면, 비콘 기간 식별자와 슬롯 식별자를 연쇄시키는 것은 64 + 9 = 73개 비트들(IV의 예상 길이 미만임)을 산출한다. 이에 따라, 결과적 73개 비트들이 추가적인 55개 비트들("패드 비트들")로 패딩되어, 128-비트 IV가 생성될 수 있다. 일부 실시예들에서, 마스터 네트워크 디바이스는 시동시 또는 주기적 인터벌들로 패드 비트들을 (예컨대, 비콘 메시지에서) 송신한다. 다른 실시예들에서, 패드 비트들의 미리결정된 세트(예컨대, 0들의 세트)가 사용된다. 해시 키는 패드 비트들과 별도일 수 있거나, 패드 비트들의 서브세트일 수 있거나, 또는 패드 비트들을 포함할 수 있다. 또한, 해시 키 및/또는 패드 비트들은 각각의 인크립션 키에 대해 또는 인크립션 키들의 서브세트에 대해 상이할 수 있다. 해시 함수가 IV에 의해 요구되는 것보다 더 많은 개수의 출력 비트들을 (해시 값으로서) 생성하면, 해시 값이 절단되어, IV의 미리결정된 개수의 비트들이 생성될 수 있다. 예컨대, 256-비트 보안 해시 알고리즘(SHA-256)은 256개 비트들의 해시 값을 산출한다. 256-비트 해시 값은, AES를 사용하는 인크립션의 경우 128-비트 IV를 생성하도록 절단될 수 있다. 다른 실시예들에서, IV의 길이가 구성가능할 수 있음이 주목된다.
[0094] 일부 실시예들에서, 제 1 네트워크 디바이스는 인크립션을 위해 어느 인크립션 키가 사용되고 있는지, 송신되고 있는 메시지의 타입, 수신 네트워크 디바이스들, 메시지가 송신될 통신 슬롯, 및/또는 다른 적절한 팩터들에 따라 상이한 IV를 결정한다. 부가적으로, 제 2 네트워크 디바이스에서의 재결합을 용이하게 하기 위해, 메시지의 오리지널 송신에 사용되었던 동일한 IV가 메시지의 후속 재송신들을 인크립팅하는데 사용될 수 있다. 흐름은 블록(508)에서 계속된다.
[0095] 블록(508)에서, 제 1 네트워크 디바이스는 인크립션 키 및 초기화 벡터에 적어도 부분적으로 기초하여 제 2 네트워크 디바이스로의 송신을 위한 메시지를 인크립팅한다. 제 1 네트워크 디바이스는 또한, 송신될 메시지에 대한 암호 메시지 무결성 코드(MIC;message integrity code)를 결정할 수 있다. 일 실시예에서, 적절한 블록 암호가 암호 블록 체이닝(CBC;cipher block chaining) 모드에서 사용될 때, MIC는 선형 체크섬, 이를테면, 순환 중복 검사(CRC;cyclic redundancy check) 값이다. 다른 실시예들에서, 블록 암호가 스트림 모드에서 사용될 때, MIC는 참된 암호 해시이다. MIC는 메시지의 페이로드 부분에 걸쳐 또는 메시지의 프레임 제어 부분 및 페이로드 부분에 걸쳐 결정될 수 있다. 페이로드 부분은 또한 메시지의 "데이터 부분"으로 지칭될 수 있다. MIC는 또한 메시지의 "오류 검사 부분"으로 지칭될 수 있다. MIC가 페이로드 부분에 첨부되어, 송신을 위한 결과적 메시지가 형성될 수 있다. 메시지의 MIC 및 페이로드 부분은, 인크립션 키 및 IV를 사용하여 인크립팅될 수 있다. 예컨대, 제 1 네트워크 디바이스는 송신을 위한 메시지를 인크립팅하기 위해 CBC 모드(예컨대, HomePlug GreenPHY 통신 프로토콜에서 표시됨)에서 128-비트 AES를 사용할 수 있다. 다른 실시예들에서, 제 1 네트워크 디바이스가 다른 적절한 인크립션 메커니즘을 사용할 수 있음이 주목된다. 이후, 제 1 네트워크 디바이스는 통신 매체(예컨대, 비히클의 자동차용 버스)를 통해 메시지를 송신할 수 있다. 블록(508)으로부터, 흐름이 종료된다.
[0096] 도 6은 메시지를 디크립팅하기 위한 예시적 동작들을 예시하는 흐름도(600)이다. 흐름(600)은 블록(602)에서 시작한다.
[0097] 블록(602)에서, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스로부터 인크립팅된 메시지를 수신한다. 제 1 네트워크 디바이스는 마스터 네트워크 디바이스 또는 다른 클라이언트 네트워크 디바이스와 통신하는 클라이언트 네트워크 디바이스일 수 있거나, 또는 제 1 네트워크 디바이스는 클라이언트 네트워크 디바이스와 통신하는 마스터 네트워크 디바이스일 수 있다. 인크립팅된 메시지는 인크립팅된 페이로드 부분 및 인크립팅된 MIC를 포함할 수 있다. 일부 구현들에서, 인크립션 메커니즘에 따라, MIC는 CRC 값일 수 있다. 흐름은 블록(604)에서 계속된다.
[0098] 블록(604)에서, 제 1 네트워크 디바이스는 이 제 1 네트워크 디바이스가 제 2 네트워크 디바이스와 연관된 인크립션 키들을 식별할 수 있는지 여부를 결정한다. 일부 실시예들에서, 제 2 네트워크 디바이스는 다수의 인크립션 키들과 연관된다. 제 2 네트워크 디바이스는 제 1 네트워크 디바이스와의 유니캐스트 통신을 위해 DEK를 가질 수 있다. 제 2 네트워크 디바이스는 또한, 브로드캐스트/멀티캐스트 관리 메시지들 또는 데이터 메시지들을 다른 네트워크 디바이스들에 송신하기 위해 다수의 GEK들을 가질 수 있다. 제 2 네트워크 디바이스는 수신 네트워크 디바이스들, 메시지가 송신되는 통신 슬롯들, 송신되고 있는 메시지의 타입, 및/또는 다른 적절한 팩터들에 따라 메시지를 인크립팅하기 위해 상이한 GEK를 사용할 수 있다. 제 2 네트워크 디바이스가 다수의 인크립션 키들과 연관될 수 있기 때문에, 메시지를 인크립팅하기 위해 어느 인크립션 키가 제 2 네트워크 디바이스에 의해 사용되었는지에 관하여 어떤 애매성이 제 1 네트워크 디바이스에서 있을 수 있다. 제 1 네트워크 디바이스는 제 2 네트워크 디바이스와 연관되는 인크립션 키들(예컨대, DEK 및 GEK들) 전부를 식별할 수 있다. 이후, 제 2 네트워크 디바이스와 연관되는 인크립션 키들로부터, 제 1 네트워크 디바이스는 수신 메시지의 타입 및/또는 메시지가 수신되었던 통신 슬롯에 대해 유효한 인크립션 키들의 서브세트를 식별할 수 있다. 제 1 네트워크 디바이스는 아래에서 추가로 설명될 바와 같이 인크립션 키들의 서브세트에 대해 추가적인 분석을 수행할 수 있다. 제 1 네트워크 디바이스가 제 2 네트워크 디바이스와 연관된 인크립션 키들을 식별하면, 흐름은 블록(606)에서 계속된다. 제 1 네트워크 디바이스가 제 2 네트워크 디바이스와 연관된 어떠한 인크립션 키들도 식별할 수 없다면, 제 1 네트워크 디바이스는 메시지를 폐기할 수 있고, 흐름은 종료된다.
[0099] 블록(606)에서, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스와 연관된 인크립션 키를 선택한다. 위의 예를 참조하면, 제 2 네트워크 디바이스와 연관된 인크립션 키들의 서브세트가 수신 메시지의 타입 및/또는 메시지가 수신되었던 통신 슬롯에 대해 유효할 수 있다. 이 예에서, 제 1 네트워크 디바이스는 수신 메시지를 디크립팅하려고 시도하기 위해 인크립션 키들의 서브세트로부터 인크립션 키를 선택할 수 있다. 흐름은 블록(608)에서 계속된다.
[00100] 블록(608)에서, 제 1 네트워크 디바이스는 선택된 인크립션 키에 적어도 부분적으로 기초하여 제 2 네트워크 디바이스로부터 수신된 메시지를 디크립팅한다. 제 1 네트워크 디바이스는 메시지를 디크립팅하기 위해 인크립션 키와 함께 적절한 디크립션 알고리즘을 사용할 수 있다. 일부 실시예들에서, 제 1 네트워크 디바이스는 또한 메시지를 디크립팅하기 위한 IV를 결정한다. 제 1 네트워크 디바이스에서 메시지를 디크립팅하기 위해 사용되는 IV는 제 2 네트워크 디바이스에서 메시지를 인크립팅하기 위해 사용되었던 IV와 동일할 수 있다. 예컨대, IV는, 비콘 메시지에서 표시되고, 메시지에서 표시된 정보(예컨대, 비콘 메시지들에서 표시된 정보)로부터 도출되고, 그리고/또는 메시지와 연관된 정보(예컨대, 메시지가 수신되는 통신 슬롯)로부터 도출될 수 있는 난수/의사난수일 수 있다. 다른 예로서, IV는 비콘 기간 식별자와, 메시지가 수신되었던 통신 슬롯의 슬롯 식별자의 결합으로서 결정될 수 있다. 다른 예로서, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스로부터 IV를 플레인-텍스트(즉, 인크립팅되지 않음)로 수신할 수 있다. 제 1 네트워크 디바이스에서 IV를 결정하기 위해 다른 적절한 기술들 및 비콘 메시지 정보가 사용될 수 있음이 주목된다. 일부 실시예들에서, 제 1 네트워크 디바이스는 메시지를 디크립팅하기 위해 인크립션 키와 IV(제 1 네트워크 디바이스에 알려짐)의 각각의 가능한 결합을 반복적으로 사용한다. 제 1 네트워크 디바이스는 디크립팅된 메시지로부터 디크립팅된 MIC를 결정할 수 있다. 흐름은 블록(610)에서 계속된다.
[00101] 블록(610)에서, 제 1 네트워크 디바이스는 디크립팅된 MIC가 유효한지 여부를 결정한다. MIC를 검증하는 것은, 인크립션 키를 사용하여 수신 메시지가 디코딩 및 디크립팅 둘 모두가 정확하게 이루어졌는지 여부를 표시하는 것을 도울 수 있다. 디크립팅된 MIC가 유효하지 않으면, 이는 메시지가 부정확하게 디코딩되었거나 또는 메시지가 부정확하게 디크립팅되었음을 표시할 수 있다. 다시 말해, 유효하지 않은 MIC는, 디크립션을 위해 사용되었던 인크립션 키가 인크립션을 위해 사용되었던 인크립션 키와 상이함을 표시할 수 있다. 디크립팅된 MIC가 유효하면, 흐름은 블록(612)에서 계속된다. 디크립팅된 MIC가 유효하지 않으면, 흐름은 블록(614)에서 계속된다.
[00102] 블록(612)에서, 디크립팅된 MIC가 유효하면, 제 1 네트워크 디바이스는 디크립팅된 메시지를 후속 프로세싱을 위해 제공한다. 예컨대, 제 1 네트워크 디바이스는 메시지의 디크립팅된 페이로드 부분을 분석하고, 디크립팅된 페이로드 부분에서 표시된 동작들을 실행할 수 있다. 다른 예로서, 제 1 네트워크 디바이스는 메시지를 리-인크립팅하고, 메시지를 통신 네트워크에서 중계할 수 있다. 블록(612)으로부터, 흐름이 종료된다.
[00103] 블록(614)에서, 디크립팅된 MIC가 유효하지 않으면, 제 1 네트워크 디바이스는 분석할, 제 2 네트워크 디바이스와 연관된 추가적인 인크립션 키들이 있는지 여부를 결정한다. 위의 예를 참조하면, 제 2 네트워크 디바이스와 연관된 인크립션 키들의 서브세트가 수신 메시지의 타입 및/또는 메시지가 수신되었던 통신 슬롯에 대해 유효할 수 있다. 이 예에서, 제 1 네트워크 디바이스는 수신 메시지를 디크립팅하기 위해 인크립션 키들의 서브세트로부터의 다른 인크립션 키를 사용할지 여부를 결정할 수 있다. 분석할 추가적인 인크립션 키들이 있다면, 흐름은 블록(606)으로 루프 백되며, 여기서 제 1 네트워크 디바이스는 다른 인크립션 키를 선택한다. 제 1 네트워크 디바이스가 유효한 인크립션 키들 전부를 사용하여 메시지를 디크립팅하려고 시도하는데 성공하지 못했다면, 흐름은 종료된다.
[00104] 도 7은 메시지를 디크립팅하기 위한 예시적 동작들을 예시하는 흐름도(700)이다. 흐름은 블록(702)에서 시작한다.
[00105] 블록(702)에서, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스로부터 인크립팅된 메시지를 수신한다. 예컨대, 제 1 네트워크 디바이스는 마스터 네트워크 디바이스 또는 다른 클라이언트 네트워크 디바이스일 수 있는 제 2 네트워크 디바이스와 통신하고 있는 클라이언트 네트워크 디바이스일 수 있다. 다른 예로서, 제 1 네트워크 디바이스는 클라이언트 네트워크 디바이스와 통신하고 있는 마스터 네트워크 디바이스일 수 있다. 인크립팅된 메시지는 인크립팅된 페이로드 부분 및 인크립팅된 MIC를 포함할 수 있다. 흐름은 블록(704)에서 계속된다.
[00106] 블록(704)에서, 제 1 네트워크 디바이스는 이 제 1 네트워크 디바이스가 제 2 네트워크 디바이스와 연관된 인크립션 키들을 식별할 수 있는지 여부를 결정한다. 예컨대, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스와 연관되는 인크립션 키들 전부를 식별할 수 있다. 이후, 도 6을 참조하여 위에서 유사하게 설명된 바와 같이, 제 1 네트워크 디바이스는 유효한 인크립션 키들의 서브세트를 식별할 수 있다. 제 1 네트워크 디바이스가 제 2 네트워크 디바이스와 연관된 인크립션 키들을 식별하면, 흐름은 블록(706)에서 계속된다. 제 1 네트워크 디바이스가 제 2 네트워크 디바이스와 연관된 어떠한 인크립션 키들도 식별할 수 없다면, 제 1 네트워크 디바이스는 메시지를 폐기할 수 있고, 흐름은 종료된다.
[00107] 블록(706)에서, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스와 연관된 인크립션 키를 선택한다. 예컨대, 제 2 네트워크 디바이스와 연관된 인크립션 키들의 서브세트가 수신 메시지의 타입 및/또는 메시지가 수신되었던 통신 슬롯에 대해 유효할 수 있다. 이 예에서, 제 1 네트워크 디바이스는 수신 메시지를 디크립팅하려고 시도하기 위해 인크립션 키들의 서브세트로부터 인크립션 키를 선택할 수 있다. 흐름은 블록(708)에서 계속된다.
[00108] 블록(708)에서, 제 1 네트워크 디바이스는 선택된 인크립션 키에 적어도 부분적으로 기초하여 제 2 네트워크 디바이스로부터 수신된 메시지를 디크립팅한다. 제 1 네트워크 디바이스는 메시지를 디크립팅하기 위해 인크립션 키와 함께 적절한 디크립션 알고리즘을 사용할 수 있다. 도 6을 참조하여 위에서 유사하게 설명된 바와 같이, 제 1 네트워크 디바이스는 또한 메시지를 디크립팅하기 위한 IV를 결정할 수 있다. 제 1 네트워크 디바이스는 디크립팅된 메시지로부터 디크립팅된 MIC를 결정할 수 있다. 흐름은 블록(710)에서 계속된다.
[00109] 블록(710)에서, 제 1 네트워크 디바이스는 디크립팅된 MIC가 유효한지 여부를 결정한다. MIC를 검증하는 것은, 인크립션 키를 사용하여 수신 메시지가 디코딩 및 디크립팅 둘 모두가 정확하게 이루어졌는지 여부를 표시할 수 있다. 유효하지 않은 MIC는, 디크립션을 위해 사용되었던 인크립션 키가 인크립션을 위해 사용되었던 인크립션 키와 상이함을 표시할 수 있다. 일부 실시예들에서, 제 1 네트워크 디바이스는 인크립션 키 및 IV와 연관된 디크립팅된 MIC가 유효한지 또는 유효하지 않은지의 표시를 저장한다. 다른 실시예들에서, 디크립팅된 MIC가 유효했다면, 제 1 네트워크 디바이스는 인크립션 키 및 IV의 표시를 저장한다. 흐름은 블록(712)에서 계속된다.
[00110] 블록(712)에서, 제 1 네트워크 디바이스는 분석할, 제 2 네트워크 디바이스와 연관된 추가적인 인크립션 키들이 있는지 여부를 결정한다. 위의 예를 참조하면, 제 1 네트워크 디바이스는 수신 메시지를 디크립팅하기 위해 인크립션 키들의 서브세트로부터의 다른 인크립션 키를 사용할지 여부를 결정할 수 있다. 부가적으로, 제 1 네트워크 디바이스는 메시지를 디크립팅하기 위해 인크립션 키와 IV(제 1 네트워크 디바이스에 알려짐)의 각각의 가능한 결합을 반복적으로 사용할 수 있다. 분석할 추가적인 인크립션 키들(또는 인크립션 키와 IV의 결합들)이 있다면, 흐름은 블록(706)으로 루프 백되며, 여기서 제 1 네트워크 디바이스는 다른 인크립션 키(또는 인크립션 키와 IV의 다른 결합)를 선택한다. 메시지를 디크립팅하기 위해 인크립션 키들(또는 인크립션 키들과 IV들의 결합들) 전부가 사용되었다면, 흐름은 블록(714)에서 계속된다.
[00111] 블록(714)에서, 인크립션 키들 전부가 사용되었다면, 제 1 네트워크 디바이스는 다수의 인크립션 키들이 유효한 MIC를 생성했는지 여부를 결정한다. 인크립션 키를 사용하여 메시지를 디크립팅하는 것은, 심지어 제 2 네트워크 디바이스가 메시지를 인크립팅하기 위해 상이한 인크립션 키를 사용했더라도, 제 1 네트워크 디바이스에서 유효한 MIC를 산출할 수 있다. 위양성들의 가능성을 최소화하기 위해, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스와 연관된 각각의 인크립션 키를 사용하여 메시지를 디크립팅할 수 있다. 제 1 네트워크 디바이스는 어느 인크립션 키(또는 인크립션 키와 IV의 결합)가 유효한 MIC를 생성했는지를 추적할 수 있다. 다수의 인크립션 키들이 유효한 MIC를 생성했다면, 흐름은 블록(722)에서 계속된다. 그렇지 않으면, 흐름은 블록(716)에서 계속된다.
[00112] 블록(716)에서, 다수의 인크립션 키들이 유효한 MIC를 생성하지 않았다면, 제 1 네트워크 디바이스는 단일 인크립션 키가 유효한 MIC를 생성했는지 여부를 결정한다. 단 한 개의 인크립션 키만이 유효한 MIC를 생성했다면, 흐름은 블록(720)에서 계속된다. 그렇지 않으면, 제 1 네트워크 디바이스는 인크립션 키들(또는 인크립션 키와 IV의 결합들) 중 아무것도 유효한 MIC를 생성하지 않았음을 결정할 수 있다. 이 경우, 흐름은 블록(718)에서 계속된다.
[00113] 블록(718)에서, 인크립션 키들 중 아무것도 유효한 MIC를 생성하지 않았다면, 제 1 네트워크 디바이스는 메시지를 폐기한다. 제 1 네트워크 디바이스가 유효한 인크립션 키들(또는 인크립션 키와 IV의 결합들) 전부를 사용하여 메시지를 디크립팅하려고 시도하는데 성공하지 못했다면, 제 1 네트워크 디바이스는 메시지를 폐기할 수 있다. 블록(718)으로부터, 흐름이 종료된다.
[00114] 블록(720)에서, 단 한 개의 인크립션 키가 유효한 MIC를 생성했다면, 제 1 네트워크 디바이스는 디크립팅된 메시지를 후속 프로세싱을 위해 제공한다. 단 한 개의 인크립션 키가 유효한 MIC를 산출하면, 제 1 네트워크 디바이스는 이 인크립션 키가 제 2 네트워크 디바이스에 의해 본래 사용되었음을 결정할 수 있다. 이후, 제 1 네트워크 디바이스는 메시지의 디크립팅된 페이로드 부분을 분석하고, 디크립팅된 페이로드 부분에서 표시된 동작들을 실행할 수 있다. 일부 실시예들에서, 제 1 네트워크 디바이스는 제 2 네트워크 디바이스로부터 수신된 메시지들을 중계하도록 구성되는 중계 디바이스이다. 디크립팅된 메시지와 연관된 MIC를 검증한 이후에, 제 1 네트워크 디바이스는 메시지를 리-인크립팅하고, 인크립팅된 메시지를 통신 네트워크에서 중계할 수 있다. 블록(720)으로부터, 흐름이 종료된다.
[00115] 블록(722)에서, 다수의 인크립션 키들이 유효한 MIC를 생성했다면, 제 1 네트워크 디바이스는 메시지의 다른 필드들을 분석하여, 메시지의 어느 디크립팅된 버전이 후속 프로세싱을 위해 제공되어야 하는지를 결정한다. 다수의 인크립션 키들이 유효한 MIC를 산출하면, 제 1 네트워크 디바이스는 다수의 인크립션 키들 중 적어도 하나가 유효한 MIC를 부정확하게 생성했음을 결정할 수 있다. 제 1 네트워크 디바이스는 다른 적절한 기술들(이를테면, 유효하지 않은 메시지 필드 값들 또는 값들의 결합들)을 사용하여, 어느 인크립션 키가 제 2 네트워크 디바이스에서 본래 사용되었는지를 결정할 수 있다. 유효한 MIC를 생성했던 각각의 디크립팅된 메시지에 대해, 제 1 네트워크 디바이스는 예상 값에 대조하여 메시지 필드 값을 비교할 수 있다. 미스매치가 있다면, 제 1 네트워크 디바이스는 디크립팅된 메시지를 폐기할 수 있다. 매치가 있다면, 제 1 네트워크 디바이스는 디크립팅된 메시지를 프로세싱을 위해 제공할 수 있다. 예컨대, 다른 메시지 필드들이 예상되지 않은 메시지 타입, 부정확한 필드 값들, 필드 값들의 부정확한 결합들 등을 표시하면, 디크립팅된 메시지는 폐기될 수 있다. 폐기되지 않은 디크립팅된 메시지는 후속 프로세싱을 위해 제공될 수 있다. 블록(722)으로부터, 흐름이 종료된다. 일부 실시예들에서, 제 1 네트워크 디바이스는, 유효한 MIC를 생성했던 인크립션 키들 각각에 의해 생성된 디크립팅된 메시지가 부정확함을 결정할 수 있다. 이에 따라, 제 1 네트워크 디바이스는, 메시지가 유효하지 않고 디크립팅될 수 없음을 결정할 수 있다. 이후, 제 1 네트워크 디바이스는 메시지를 폐기할 수 있다.
[00116] 일부 실시예들에서, 도 6 및 도 7에서, 클라이언트 네트워크 디바이스가 마스터 네트워크 디바이스로부터 유니캐스트 메시지를 수신하면, 클라이언트 네트워크 디바이스는 그것의 DEK를 사용하여, 수신 메시지를 디크립팅할 수 있다. 클라이언트 네트워크 디바이스가 인크립팅되지 않은 메시지를 수신하면, 클라이언트 네트워크 디바이스는 메시지를 프로세싱할지 또는 폐기할지를 결정하기 위해 MIC를 검증할 수 있다. 다른 클라이언트 네트워크 디바이스로부터 수신되는 다른 메시지들의 경우, 클라이언트 네트워크 디바이스들은 블록들(604-614) 또는 블록들(704-722)에서 위에서 설명된 동작들을 실행할 수 있다.
[00117] 다양한 매체 액세스 기술들이 PLC 자동차용 버스 통신(PLC-AB 트래픽)을 위해 지원될 수 있다. 예컨대, 비경쟁 액세스 기술들, 경쟁-기반 액세스 기술들, 및 경쟁 예약 요청/비경쟁 액세스(CRR-CFA;contention reservation request/contention-free access)가 지원될 수 있다. 마스터 네트워크 디바이스는, 통신 매체 상에서 메시지를 송신하기 위해 사용될 매체 액세스 기술들에 적어도 부분적으로 기초하여 통신 슬롯들을 클라이언트 네트워크 디바이스에 할당할 수 있다.
[00118] 일부 실시예들에서, 마스터 네트워크 디바이스는 통신 매체의 비경쟁 액세스(CFA;contention-free access)를 위해 통신 슬롯들을 할당한다. 이들 통신 슬롯들은 또한, "CFA 통신 슬롯들" 또는 "비경쟁 통신 슬롯들"로 지칭될 수 있다. 마스터 네트워크 디바이스는, 클라이언트 네트워크 디바이스로부터의 요청에 대한 응답으로 또는 클라이언트 네트워크 디바이스를 통신 네트워크에 등록한 이후에, 이들 통신 슬롯들을 할당할 수 있다. 비경쟁 통신 슬롯들은 통신 네트워크의 단일 클라이언트 네트워크 디바이스에 할당될 수 있다. 마스터 네트워크 디바이스는, 통신 네트워크의 하나 또는 그 초과의 클라이언트 네트워크 디바이스들에 할당되는 비경쟁 통신 슬롯들을 표시하기 위해 슬롯 할당 스케줄을 사용할 수 있다. 마스터 네트워크 디바이스는 또한, 비경쟁 통신 슬롯에서 송신될 수 있는 메시지들의 타입, 레이턴시, 기간, 및/또는 다른 송신 파라미터들을 표시할 수 있다.
[00119] 도 8은 통신 슬롯들의 할당을 예시하는 예시적 슬롯 할당 스케줄을 묘사한다. 마스터 네트워크 디바이스는 비콘 기간을 서브-인터벌들로 분할할 수 있고, 각각의 서브-인터벌은 추가로, 통신 슬롯들("통신 시간 슬롯들"로 또한 지칭됨)로 분할될 수 있다. 도 8은 비콘 기간 내의 서브-인터벌들(Y-축) 대 서브-인터벌마다의 통신 슬롯들(X-축)의 예시적 그래프를 묘사한다. 도 8의 예에서, 비콘 기간은 20 ㎳이며, 비콘 기간은 2 ㎳ 서브-인터벌들(Y-축 상에 묘사됨)로 분할된다. 따라서, 도 8에 도시된 20 ㎳ 비콘 기간은 0-2 ㎳ 서브-인터벌로 시작하여 18 ㎳-20 ㎳ 서브-인터벌로 끝나는 열 개의 2 ㎳ 서브-인터벌들을 포함할 수 있다. 도 8에 도시된 각각의 서브-인터벌이 32개 통신 슬롯들(X-축 상에 묘사됨)로 분할되어, 각각의 통신 슬롯은 62.5 ㎲이다. 비콘 기간, 비콘 기간 내의 서브-인터벌들, 및/또는 통신 슬롯들이 다른 적절한 지속기간을 가질 수 있음이 주목된다. 일부 구현들에서, 마스터 네트워크 디바이스는, 어느 쪽이 더 짧든 레이턴시 파라미터들 또는 시간 사이클(즉, 기간) 파라미터들에 기초하여 비경쟁 통신 슬롯들을 할당할 수 있다. 마스터 네트워크 디바이스는 2 ㎳ 레이턴시를 갖는 메시지들을 송신하기 위해 20 ㎳ 비콘 기간에서 열 개의 비경쟁 통신 슬롯들을 할당한다. 마스터 네트워크 디바이스는 10 ㎳ 레이턴시를 갖는 메시지들을 송신하기 위해 20 ㎳ 비콘 기간에서 두 개의 비경쟁 통신 슬롯들을 할당한다. 마스터 네트워크 디바이스는 20 ㎳ 레이턴시를 갖는 메시지들을 송신하기 위해 20 ㎳ 비콘 기간에서 한 개의 비경쟁 통신 슬롯을 할당한다. 마스터 네트워크 디바이스가 마스터 네트워크 디바이스에 의해 이전에 할당된 통신 슬롯들에 따라, 도 8에 묘사된 것들과 상이한 통신 슬롯들을 할당할 수 있음이 주목된다. 또한, 마스터 네트워크 디바이스는 다른 타입들의 송신 정보를 사용하여, 통신 슬롯들을 클라이언트 네트워크 디바이스에 할당할 수 있다. 예컨대, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스에 의해 송신된 메시지들의 타입에 적어도 부분적으로 기초하여 비경쟁 통신 슬롯들을 클라이언트 네트워크 디바이스에 할당할 수 있다.
[00120] 클라이언트 네트워크 디바이스는 클라이언트 네트워크 디바이스에 할당된 비경쟁 통신 슬롯들 동안에 메시지들을 송신할 수 있다. 클라이언트 네트워크 디바이스는 다른 클라이언트 네트워크 디바이스에 할당되는 비경쟁 통신 슬롯들 동안에 메시지들을 송신하지 않을 수 있다. 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스들로부터의 비경쟁 통신 슬롯들에 대한 미래 요청들을 예상하고 통신 슬롯들을 예약할 수 있다. 예컨대, 도 8을 참조하면, 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스들로부터의 미래 요청들을 예상하고 각각의 비콘 기간의 각각의 서브-인터벌에 대해 통신 슬롯들(9-11)을 예약할 수 있다. 비경쟁 통신 슬롯들의 미래 할당을 위해 예약되는 통신 슬롯들의 개수는 미리정의되고 구성가능할 수 있다.
[00121] 일정한 타입들의 메시지들은 통신 네트워크에서 덜 빈번히 송신될 수 있다. 예컨대, 도어 잠금/잠금해제 메시지들, 점화 시작/정지 메시지들 등은 엔터테인먼트 시스템 메시지들보다 통신 네트워크에서 덜 빈번히 송신될 수 있다. 이에 따라, 마스터 네트워크 디바이스는 이들 빈번하지 않은 메시지들을 송신하기 위한 경쟁-기반 통신 슬롯들로서 하나 또는 그 초과의 통신 슬롯들을 지정할 수 있다. 일부 실시예들에서, 경쟁-기반 통신 슬롯은 통신 매체의 비-충돌 경쟁 액세스(CFCA;collision-free contention access)를 위해 할당되는 통신 슬롯("CFCA 통신 슬롯")이다. 클라이언트 네트워크 디바이스는 통신 네트워크의 마스터 네트워크 디바이스에 의해 송신된 등록 정보에 적어도 부분적으로 기초하여 CFCA 통신 슬롯을 식별할 수 있다. 도 8의 예를 참조하면, 비콘 기간의 6-8 ㎳ 서브-인터벌 동안의 통신 슬롯들(8, 9, 및 10)이 CFCA 통신 슬롯들로서 할당될 수 있다. CFCA를 위해, 마스터 네트워크 디바이스는 우선순위 레졸루션 표시자("PRI" 또는 "우선순위 레벨"로 또한 지칭됨)를 클라이언트 네트워크 디바이스에 할당할 수 있다. 클라이언트 네트워크 디바이스가 각각의 비콘 기간에 대해(또는 미리결정된 개수의 비콘 기간들에 대해) 상이한 우선순위 레졸루션 표시자를 갖도록, 우선순위 레졸루션 표시자는 미리결정된 방식으로 회전/업데이트(예컨대, 무작위 순서로 또는 정의된 순서로 회전)될 수 있다. 우선순위 레졸루션 표시자는, CFCA 통신 슬롯들의 제어에 대해 경쟁하기 위해 사용될 수 있다.
[00122] 다른 실시예에서, 경쟁-기반 통신 슬롯은 통신 매체의 무작위 우선순위 경쟁 액세스(RPCA;randomized priority contention access)를 위해 할당되는 통신 슬롯("RPCA 통신 슬롯")이다. 클라이언트 네트워크 디바이스는 마스터 네트워크 디바이스에 의해 송신된 등록 정보 또는 마스터 네트워크 디바이스에 의해 송신된 비콘 메시지의 정보에 적어도 부분적으로 기초하여 RPCA 통신 슬롯을 식별할 수 있다. 도 8의 예를 참조하면, 비콘 기간의 8-10 ㎳ 서브-인터벌 동안의 통신 슬롯들(12, 13, 및 14)이 통신 매체의 무작위 우선순위 경쟁 액세스를 위해 할당될 수 있다. RPCA를 위해, 마스터 네트워크 디바이스는 우선순위 레졸루션 표시자를 클라이언트 네트워크 디바이스에 할당하지 않을 수 있다. 대신에, 클라이언트 네트워크 디바이스는 RPCA 통신 슬롯의 제어에 대해 경쟁하기 위해 우선순위 레졸루션 표시자를 무작위로 생성할 수 있다. 대안적으로, 클라이언트 네트워크 디바이스는 마스터 네트워크 디바이스에 의해 할당된 우선순위 레졸루션 표시자들의 범위로부터 우선순위 레졸루션 표시자를 무작위로 선택할 수 있다. 클라이언트 네트워크 디바이스는, 이 클라이언트 네트워크 디바이스가 RPCA 통신 슬롯의 제어에 대해 경쟁할 때마다 새로운 우선순위 레졸루션 표시자를 무작위로 생성할 수 있다.
[00123] 경쟁-기반 통신 슬롯은 경쟁 인터벌과 그 뒤에 메시지 송신 인터벌 및 프레임 간 간격(IFS;inter-frame spacing)을 포함할 수 있다. 경쟁 인터벌 동안에, 동일한 경쟁-기반 통신 슬롯을 할당받은 클라이언트 네트워크 디바이스들이 그 경쟁-기반 통신 슬롯의 제어를 획득하기 위해 서로 경쟁한다. 경쟁-기반 통신 슬롯은, 클라이언트 네트워크 디바이스들이 마스터 네트워크 디바이스에 의해 우선순위 레졸루션 표시자를 할당받는지 여부 또는 클라이언트 네트워크 디바이스들이 우선순위 레졸루션 표시자를 무작위로 선택하는지 여부에 따라 CFCA 통신 슬롯 또는 RPCA 통신 슬롯일 수 있다. 다른 실시예들에서, 임의의 클라이언트 네트워크 디바이스가 경쟁-기반 통신 슬롯, 이를테면, 마스터 네트워크 디바이스에 의해 동적으로 할당되는 RPCA 통신 슬롯의 제어에 대해 경쟁할 수 있다. 클라이언트 네트워크 디바이스는, 이 클라이언트 네트워크 디바이스가 경쟁-기반 통신 슬롯의 제어를 획득할 수 있는지 여부를 결정하기 위해, 우선순위 레졸루션 심볼(PRS;priority resolution symbol)들을 사용하는 우선순위 경쟁을 구현할 수 있다. 클라이언트 네트워크 디바이스와 연관된 우선순위 레졸루션 심볼들은 클라이언트 네트워크 디바이스와 연관된 우선순위 레졸루션 표시자에 적어도 부분적으로 기초하여 결정될 수 있다. 일 예에서, 우선순위 레졸루션 표시자는 고정된 비트-길이 정수 값이다. 고정 비트-길이 정수 값은 비트들의 어레이 PRI[0], PRI[1] 등일 수 있으며, 여기서 PRI[0]는 정수 값의 최상위 비트를 표현한다. 경쟁-기반 통신 슬롯의 경쟁 인터벌은 다수의 PRS 시그널링 슬롯들로 세분될 수 있다. 클라이언트 네트워크 디바이스는, 대응하는 우선순위 레졸루션 심볼이 값 = 1을 갖는다면 PRS 시그널링 슬롯에서 미리정의된 심볼(또는 다른 미리정의된 신호)을 송신할 수 있다. 클라이언트 네트워크 디바이스는, 대응하는 우선순위 레졸루션 심볼이 값 = 0을 가질 때 PRS 시그널링 슬롯에서 미리정의된 심볼을 송신하지 않기로 결정할 수 있다. 클라이언트 네트워크 디바이스는, 클라이언트 네트워크 디바이스가 PRS 시그널링 슬롯에서 미리정의된 심볼을 송신하지 않을 때 다른 클라이언트 네트워크 디바이스들로부터의 송신들을 청취할 수 있다. 우선순위 레졸루션 심볼들이 다른 클라이언트 네트워크 디바이스로부터 검출되지 않으면, 클라이언트 네트워크 디바이스는 경쟁-기반 통신 슬롯의 제어를 획득할 수 있다. 위의 예를 참조하면, 하기의 두 개의 조건들이 충족되면, 클라이언트 네트워크 디바이스는 PRS 시그널링 슬롯(i)에서 PRS를 송신할 수 있다 ― (a) 클라이언트 네트워크 디바이스에 대해, PRI[i] = 1임, 그리고 (b) 클라이언트 네트워크 디바이스가 어떠한 PRS 슬롯(j)에서도 PRS를 검출하지 않았음(j < i)(이 경우, PRI[j] = 0임). 클라이언트 네트워크 디바이스는 경쟁-기반 통신 슬롯의 제어를 획득한 이후에 메시지 송신 인터벌 동안에 관리 메시지 또는 데이터 메시지를 송신할 수 있다. 우선순위 레졸루션 심볼들이 다른 클라이언트 네트워크 디바이스로부터 검출되면, 클라이언트 네트워크 디바이스는 경쟁-기반 통신 슬롯의 제어를 포기할 수 있다.
[00124] CRR-CFA 메커니즘은, 통신 매체의 비경쟁 액세스 및 경쟁-기반 액세스의 특징들을 결합하는 하이브리드 매체 액세스 기술일 수 있다. 아래에서 도 9 및 도 10에서 추가로 설명될 바와 같이, CRR-CFA 메커니즘은, 마스터 네트워크 디바이스가 임시 비경쟁 통신 슬롯들을 클라이언트 네트워크 디바이스에 동적으로 할당하도록 하기 위해 사용될 수 있다.
[00125] 도 9는 통신 매체의 경쟁 예약 요청/비경쟁 액세스에 대한 예시적 동작들을 예시하는 흐름도(900)이다. 흐름(900)은 블록(902)에서 시작한다.
[00126] 블록(902)에서, 클라이언트 네트워크 디바이스는 경쟁-기반 통신 슬롯 동안에 예약 요청을 마스터 네트워크 디바이스에 송신한다. 예컨대, 클라이언트 네트워크 디바이스는 예약 요청들의 송신을 위해 할당되는 경쟁-기반 통신 슬롯들에서 예약 요청을 송신할 수 있다. 이들 통신 슬롯들은 슬롯 할당 스케줄에서 표시될 수 있다. 도 8을 참조하면, 비콘 기간의 6-8 ㎳ 서브-인터벌 동안의 통신 슬롯들(8, 9, 및 10)이 예약 요청들의 송신을 위해 할당된 경쟁-기반 통신 슬롯들일 수 있다. 클라이언트 네트워크 디바이스는 경쟁-기반 통신 슬롯의 제어에 대해 경쟁하기 위해 우선순위 경쟁 동작들을 실행할 수 있다. 클라이언트 네트워크 디바이스는 마스터 네트워크 디바이스에 의해 할당되는 우선순위 레졸루션 표시자 또는 클라이언트 네트워크 디바이스에 의해 무작위로 선택되는 우선순위 레졸루션 표시자를 사용할 수 있다. 예약 요청은 예약 요청 식별자, 요청되고 있는 비경쟁 통신 슬롯들의 개수 및 주파수, 및/또는 송신의 지속기간을 포함할 수 있다. 클라이언트 네트워크 디바이스는 이 클라이언트 네트워크 디바이스가 새로운 예약 요청을 송신할 때마다 예약 요청 식별자를 증가시킬 수 있다. 흐름은 블록(904)에서 계속된다.
[00127] 블록(904)에서, 클라이언트 네트워크 디바이스는 마스터 네트워크 디바이스로부터 예약 응답이 수신되었는지 여부를 결정한다. 클라이언트 네트워크 디바이스는 마스터 네트워크 디바이스에 할당되는 비경쟁 통신 슬롯 동안에 및/또는 예약 응답들을 송신하기 위해 할당되는 통신 슬롯(예컨대, 슬롯 할당 스케줄에서 표시됨) 동안에 예약 응답을 청취할 수 있다. 도 8을 참조하면, 비콘 기간의 각각의 서브-인터벌 동안의 통신 슬롯(12)은 예약 응답들을 송신하기 위해 제 2 네트워크 디바이스에 할당되는 비경쟁 통신 슬롯일 수 있다. 예약 응답이 수신되면, 흐름은 블록(906)에서 계속된다. 클라이언트 네트워크 디바이스가 예약 응답을 수신하지 않으면, 흐름은 블록(902)으로 루프 백되며, 여기서 클라이언트 네트워크 디바이스는 예약 요청을 재송신한다. 클라이언트 네트워크 디바이스가 다른 경쟁-기반 통신 슬롯의 제어를 획득할 때, 클라이언트 네트워크 디바이스는 예약 요청을 재송신할 수 있다.
[00128] 블록(906)에서, 클라이언트 네트워크 디바이스는 예약 응답에 적어도 부분적으로 기초하여 마스터 네트워크 디바이스에 의해 할당된 비경쟁 통신 슬롯을 결정한다. 예약 응답은 예약 요청에 포함되었던 예약 요청 식별자, 클라이언트 네트워크 디바이스에 임시로 할당된 비경쟁 통신 슬롯들의 표시, 및 비경쟁 통신 슬롯들이 할당되었던 지속기간을 포함할 수 있다. 비경쟁 통신 슬롯들은 CRR-CFA 메커니즘에 대해 예약되는 통신 슬롯들의 풀로부터 할당될 수 있다. 이후, 클라이언트 네트워크 디바이스는 임시로 할당된 비경쟁 통신 슬롯들에서 하나 또는 그 초과의 메시지들을 송신할 수 있다. 블록(906)으로부터, 흐름이 종료된다.
[00129] 도 10은 다수의 예약 요청 메시지들을 프로세싱하기 위한 예시적 동작들을 예시하는 흐름도(1000)이다. 흐름(1000)은 블록(1002)에서 시작한다.
[00130] 블록(1002)에서, 마스터 네트워크 디바이스는 제 1 클라이언트 네트워크 디바이스로부터의 제 1 예약 요청 및 제 2 클라이언트 네트워크 디바이스로부터의 제 2 예약 요청을 수신한다. 제 1 클라이언트 네트워크 디바이스는 제 1 경쟁-기반 통신 슬롯의 제어에 대해 경쟁하여 이 제어를 획득하고, 제 1 경쟁-기반 통신 슬롯에서 제 1 예약 요청을 송신할 수 있다. 제 2 클라이언트 네트워크 디바이스는 제 2 경쟁-기반 통신 슬롯의 제어에 대해 경쟁하여 이 제어를 획득하고, 제 2 경쟁-기반 통신 슬롯에서 제 2 예약 요청을 송신할 수 있다. 위에서 논의된 바와 같이, 제 1 예약 요청 및 제 2 예약 요청 각각은, 하나 또는 그 초과의 비경쟁 통신 슬롯들에 대한 요청을 포함할 수 있다. 흐름은 블록(1004)에서 계속된다.
[00131] 블록(1004)에서, 마스터 네트워크 디바이스는, 제 1 예약 요청 및 제 2 예약 요청에 적어도 부분적으로 기초하여, 제 1 비경쟁 통신 슬롯을 제 1 클라이언트 네트워크 디바이스에, 그리고 제 2 비경쟁 통신 슬롯을 제 2 클라이언트 네트워크 디바이스에 할당한다. 일부 실시예들에서, 마스터 네트워크 디바이스는 예약 요청들을 순차적으로 -이 예약 요청들이 수신되는 순서로- 프로세싱한다. 예컨대, 마스터 네트워크 디바이스는 제 1 예약 요청을 프로세싱하고, 비경쟁 통신 슬롯들의 제 1 세트를 제 1 클라이언트 네트워크 디바이스에 할당할 수 있다. 다음 차례로, 마스터 네트워크 디바이스는 제 2 예약 요청을 프로세싱하고, 비경쟁 통신 슬롯들의 제 2 세트를 제 2 클라이언트 네트워크 디바이스에 할당할 수 있다. 다른 실시예에서, 마스터 네트워크 디바이스는 다수의 예약 요청들을 병렬로 프로세싱한다. 예컨대, 마스터 네트워크 디바이스는 비경쟁 통신 슬롯들의 제 1 세트 및 비경쟁 통신 슬롯들의 제 2 세트를 할당하기 위해 제 1 및 제 2 예약 요청들 둘 모두를 동시에 프로세싱할 수 있다. 흐름은 블록(1006)에서 계속된다.
[00132] 블록(1006)에서, 마스터 네트워크 디바이스는 제 1 비경쟁 통신 슬롯의 표시를 제 1 클라이언트 네트워크 디바이스에, 그리고 제 2 비경쟁 통신 슬롯의 표시를 제 2 클라이언트 네트워크 디바이스에 제공한다. 일 예에서, 마스터 네트워크 디바이스는 제 1 비경쟁 통신 슬롯의 표시 및 제 2 비경쟁 통신 슬롯의 표시를 동일한 예약 응답에서 제공한다. 위에서 설명된 예에서, 제 1 예약 요청 및 제 2 예약 요청이 순차적으로 프로세싱되는지 또는 병렬로 프로세싱되는지에 관계없이, 마스터 네트워크 디바이스는 비경쟁 통신 슬롯들의 제 1 세트 및 비경쟁 통신 슬롯들의 제 2 세트를 동일한 예약 응답에서 할당한다. 블록(1006)으로부터, 흐름이 종료된다.
[00133] 도 10이 두 개의 클라이언트 네트워크 디바이스들에 대해 예약 요청들을 프로세싱하고 비경쟁 통신 슬롯들을 할당하는 것을 설명하지만, 다른 실시예들에서, 마스터 네트워크 디바이스는 임의의 적절한 개수의 클라이언트 네트워크 디바이스들로부터 수신되는 예약 요청들을 프로세싱할 수 있다. 예약 요청들이 순차적으로 프로세싱되는지 또는 병렬로 프로세싱되는지에 관계없이, 마스터 네트워크 디바이스가 각각의 클라이언트 네트워크 디바이스에 할당된 비경쟁 통신 슬롯들을 별개의 예약 응답들에서 표시할 수 있음이 주목된다. 또한, 도 10에서 유사하게 설명된 바와 같이, 마스터 네트워크 디바이스는 다른 타입들의 메시지들(예컨대, 등록 메시지들)을 프로세싱할 수 있다.
[00134] 일부 실시예들에서, 예약 요청을 마스터 네트워크 디바이스에 송신하는 것 대신에, 클라이언트 네트워크 디바이스는 미리결정된 우선순위 레졸루션 표시자를 사용하여 우선순위 경쟁 동작들을 수행한다. 미리결정된 우선순위 레졸루션 표시자는 예약 요청을 표현할 수 있고, 클라이언트 네트워크 디바이스와 마스터 네트워크 디바이스 사이의 이전의 합의에 의해 결정될 수 있다. CRR-CFA 메커니즘을 구현하는 클라이언트 네트워크 디바이스는 예약 요청을 표현하는 고유한 우선순위 레졸루션 표시자 또는 우선순위 레졸루션 표시자들의 고유한 범위를 할당받을 수 있다. 클라이언트 네트워크 디바이스는, 예약 요청 송신을 표시하는 우선순위 경쟁 동작들을 수행하기 위해, 할당된 범위로부터 우선순위 레졸루션 표시자를 선택할 수 있다. 예약 요청 송신을 표시하는 우선순위 경쟁 동작들을 수행하기 위해 경쟁-기반 통신 슬롯이 할당될 수 있다. 마스터 네트워크 디바이스는, 할당된 경쟁-기반 통신 슬롯 동안에 클라이언트 네트워크 디바이스로부터의 우선순위 레졸루션 표시자를 검출하는 것에 대한 응답으로, 클라이언트 네트워크 디바이스가 예약 요청을 송신하고 있음을 결정할 수 있다. 마스터 네트워크 디바이스는, 예약 요청을 송신하기 위해 사용되었던 우선순위 레졸루션 표시자에 적어도 부분적으로 기초하여, 어느 클라이언트 네트워크 디바이스가 예약 요청을 송신했는지를 결정할 수 있다. 마스터 네트워크 디바이스는 클라이언트 네트워크 디바이스와 연관된 예약 파라미터들을 결정하기 위해 데이터 구조에 액세스할 수 있다. 예컨대, 데이터 구조의 정보에 기초하여, 마스터 네트워크 디바이스는 얼마나 많은 비경쟁 통신 슬롯들이 할당되어야 하는지, 얼마나 오랫동안 비경쟁 통신 슬롯들이 할당되어야 하는지, 얼마나 자주 비경쟁 통신 슬롯들이 할당되어야 하는지 등을 결정할 수 있다. 이후, 마스터 네트워크 디바이스는 도 9를 참조하여 위에서 유사하게 설명된 바와 같이 예약 응답을 클라이언트 네트워크 디바이스에 송신할 수 있다.
[00135] 통신 네트워크의 모든 네트워크 디바이스들이 통신 네트워크에서 송신되는 메시지를 신뢰성 있게 수신 및 디코딩할 확률을 개선시키기 위해 반복 및 중계가 사용될 수 있다. "반복"은 메시지를 본래 송신했던 네트워크 디바이스("오리지널 송신 네트워크 디바이스")에 의한 동일한 메시지의 다수의 송신들을 지칭할 수 있다. 반복은 수신 네트워크 디바이스가 메시지의 적어도 하나의 복사본을 성공적으로 수신할 확률을 증가시킬 수 있다. 메시지를 반복하는 것은 또한, 수신 네트워크 디바이스가 수신 재결합을 사용하여 디코딩 신뢰성을 개선시키도록 할 수 있다. 부가적으로, 오리지널 송신 네트워크 디바이스는 송신 신뢰성을 개선시키기 위해 다수의 통신 슬롯들에서 메시지를 재송신할 수 있다. "중계"는 다른 네트워크 디바이스로부터 네트워크 디바이스에 의해 이전에 수신되었던 메시지를 재송신하는 것을 지칭할 수 있다. 중계는 "숨겨진 노드들" 및 주변적인 링크들의 효과들을 완화시킬 수 있다. 오리지널 송신 네트워크 디바이스로부터 수신된 메시지들을 재송신하도록 구성되는 네트워크 디바이스들은 "중계 디바이스들" 또는 "리피터 디바이스들"로 지칭될 수 있다. 중계 디바이스들은 오리지널 송신 네트워크 디바이스로부터 메시지의 오리지널 송신을 수신할 수 있다. 이후, 중계 디바이스들은 오리지널 송신 네트워크 디바이스에 할당된 후속 통신 슬롯들에서 메시지를 재송신할 수 있다. 중계 디바이스는 마스터 네트워크 디바이스로부터 수신된 재송신 스케줄(또는 슬롯 할당 스케줄)로부터 오리지널 송신 네트워크 디바이스에 할당되는 통신 슬롯을 결정할 수 있다. 중계 디바이스는, 오리지널 송신 네트워크 디바이스가 메시지를 재송신할 때 동일한 통신 슬롯 동안에 메시지를 동시에 재송신할 수 있다. 메시지를 송신하는 중계 디바이스가 메시지의 오리지널 송신을 재송신(또는 반복)하는 중계 디바이스로 또한 지칭될 수 있음이 주목된다. 수신 네트워크 디바이스는 또한, 메시지를 신뢰성 있게 수신 및 디코딩하기 위해 재송신 스케줄(또는 슬롯 할당 스케줄)을 사용할 수 있다. 메시지의 오리지널 송신 및 재송신들의 컨텐츠가 동일하기 때문에, 수신 네트워크 디바이스가 메시지들을 디코딩하는 능력을 저해하지 않고, 메시지의 다수의 복사본들은 다중경로로서 수신 네트워크 디바이스들에게 보인다.
[00136] 일부 실시예들에서, 마스터 네트워크 디바이스는 예약 요청을 중계하기 위한 중계 디바이스를 지정한다. 예컨대, 마스터 네트워크 디바이스는 예약 요청들을 송신하기 위해 두 개의 경쟁-기반 통신 슬롯들(예컨대, CFCA 통신 슬롯들 또는 RPCA 통신 슬롯들)을 할당할 수 있다. 제 1 경쟁-기반 통신 슬롯은 서로(그러나, 마스터 네트워크 디바이스와는 아님) 신뢰성 있게 통신할 수 있는 클라이언트 네트워크 디바이스들의 제 1 그룹에 할당될 수 있다. 제 2 경쟁-기반 통신 슬롯은 서로 그리고 또한 마스터 네트워크 디바이스와 신뢰성 있게 통신할 수 있는 클라이언트 네트워크 디바이스들의 제 2 그룹에 할당될 수 있다. 제 2 그룹의 임의의 클라이언트 네트워크 디바이스는 제 1 그룹의 클라이언트 네트워크 디바이스에 대한 중계 디바이스로서 동작할 수 있다. 제 1 그룹의 제 1 클라이언트 네트워크 디바이스로부터의 예약 요청을 검출하는 것에 대한 응답으로, 제 2 그룹의 제 2 클라이언트 네트워크 디바이스는 제 2 경쟁-기반 통신 슬롯의 제어를 획득하려고 시도할 수 있다. 제 2 클라이언트 네트워크 디바이스는 제 2 경쟁-기반 통신 슬롯의 제어를 획득한 이후에 예약 요청을 중계할 수 있다.
[00137] 일부 실시예들에서, 예약 응답들은 또한 마스터 네트워크 디바이스에 의해 그리고/또는 중계 디바이스에 의해 재송신된다. 슬롯 할당 스케줄은, 예약 응답들을 재송신하기 위해 사용될 수 있는 비경쟁 또는 경쟁-기반 통신 슬롯들을 표시할 수 있다. 중계 디바이스는 마스터 네트워크 디바이스에 의해 송신된 예약 응답을 검출할 수 있고, 할당된 통신 슬롯 동안에 예약 응답을 재송신할 수 있다. 예약 요청을 송신했던 클라이언트 네트워크 디바이스가 마스터 네트워크 디바이스와의 약한/불량한 통신 링크을 갖는다면, 클라이언트 네트워크 디바이스는 중계 디바이스를 통해 예약 응답을 수신할 수 있다.
[00138] 일부 실시예들에서, 클라이언트 네트워크 디바이스에 의해 비경쟁 통신 슬롯들(CRR-CFA 메커니즘에서 할당됨)에서 송신된 메시지들이 또한 반복/중계된다. 예약 응답은 이들 메시지들이 반복/중계될 수 있는 통신 슬롯들, 그리고 비경쟁 통신 슬롯들에서 송신되었던 메시지들을 어느 중계 디바이스들이 중계해야 하는지를 표시할 수 있다. 메시지의 오리지널 송신 및 재송신들을 위해 할당되는 통신 슬롯들은 동일한 비콘 기간의 일부일 수 있거나 또는 다수의 비콘 기간들에 걸쳐 퍼져 있을 수 있다.
[00139] 일부 실시예들에서, 마스터 네트워크 디바이스는 하나 또는 그 초과의 클라이언트 네트워크 디바이스들을 등록 중계 디바이스들로서 지정한다. 등록 중계 디바이스들은, 마스터 네트워크 디바이스와 신뢰성 있게 통신할 수 있는 그러한 클라이언트 네트워크 디바이스들을 포함할 수 있다. 마스터 네트워크 디바이스는 또한, 등록 요청들을 중계하기 위한 하나 또는 그 초과의 통신 슬롯들을 할당할 수 있다. 등록 중계 디바이스는 미등록 클라이언트 네트워크 디바이스에 의해 송신된 등록 요청을 검출할 수 있다. 등록 중계 디바이스는 할당된 통신 슬롯 동안에 등록 요청을 재송신할 수 있다. 등록 요청들을 재송신하기 위해 경쟁-기반 통신 슬롯이 할당되면, 등록 중계 디바이스는 경쟁-기반 통신 슬롯의 제어를 획득한 이후에 등록 요청(미등록 클라이언트 네트워크 디바이스에 의해 본래 송신됨)을 재송신할 수 있다. 대안적으로, 등록 요청을 중계하기 위해 비경쟁 통신 슬롯이 할당될 수 있다. 마스터 네트워크 디바이스는 또한, 등록 응답들을 중계하기 위한 하나 또는 그 초과의 비경쟁 또는 경쟁-기반 통신 슬롯들을 할당할 수 있다. 등록 중계 디바이스는 마스터 네트워크 디바이스에 의해 송신된 등록 응답을 검출할 수 있고, 할당된 통신 슬롯 동안에 등록 응답을 재송신할 수 있다.
[00140] 도 1-도 10은 실시예들을 이해하는 것을 돕는 것으로 여겨지는 예들이며, 실시예들을 제한하거나 또는 청구항들의 범위를 제한하기 위해 사용되지 않아야 함이 이해되어야 한다. 실시예들은 추가적인 회로 컴포넌트들, 상이한 회로 컴포넌트들을 포함할 수 있으며, 그리고/또는 추가적인 동작들을 수행하고, 더 적은 개수의 동작들을 수행하며, 동작들을 상이한 순서로, 동작들을 병렬로, 그리고 일부 동작들을 상이하게 수행할 수 있다. 예들이 PLC 환경에서 통신 슬롯들을 적응식으로 할당하기 위한 그리고 보안 메시지 통신을 위한 동작들을 설명하지만, 본원에 설명된 동작들은 다른 통신 네트워크들 및 통신 프로토콜들로 확장될 수 있다. 예컨대, 통신 슬롯들을 적응식으로 할당하기 위한 그리고 보안 메시지 통신을 위한 동작들은 WLAN 통신 프로토콜들(예컨대, IEEE 802.11 통신 프로토콜들), MoCA 통신 프로토콜들, 이더넷 통신 프로토콜들, G.hn 홈 네트워킹 프로토콜들, Bluetooth® 통신 프로토콜들 등을 구현하는 네트워크 디바이스들에 의해 실행될 수 있다. 다른 실시예들에서, 위에서 설명된 동작들은 통신 프로토콜들의 결합으로 확장될 수 있다. 예컨대, 통신 슬롯들을 적응식으로 할당하기 위한 그리고 보안 메시지 통신을 위한 동작들은 PLC 프로토콜들과 WLAN 통신 프로토콜들의 결합을 사용하여 실행될 수 있다.
[00141] 일부 실시예들에서, 도 2의 비히클(200)은 충전 스테이션(미도시)과 커플링되는 전기 비히클이다. 충전 스테이션은 도 1의 네트워크 디바이스(102)와 유사하게 구성된 하나 또는 그 초과의 네트워크 디바이스들을 포함할 수 있다. 전기 비히클 및 충전 스테이션의 네트워크 디바이스들은 할당된 통신 슬롯들 동안에 전기 비히클과 충전 스테이션 사이의 통신들을 위해 S-MAP을 사용할 수 있다. 예컨대, 네트워크 디바이스들은 헬스 및 상태 정보, 커맨드/제어 정보, 빌링 정보 등에 대해 전기 비히클과 충전 스테이션 사이의 메시지들을 교환할 수 있다. 전기 비히클 내의 네트워크 디바이스들은 제 1 내부 PLC 네트워크, 이를테면, 제 1 내부 HomePlug AV 네트워크를 형성할 수 있다. 마찬가지로, 충전 스테이션 내의 네트워크 디바이스들은 제 2 내부 PLC 네트워크, 이를테면, 제 2 HomePlug AV 네트워크를 형성할 수 있다. 전기 비히클의 네트워크 디바이스들 및 충전 스테이션의 네트워크 디바이스들은 전기 비히클이 충전 스테이션에 연결(또는 플러깅)될 때 제 3 PLC 네트워크를 형성할 수 있다.
[00142] 기술분야의 당업자에 의해 인식될 바와 같이, 본 개시내용의 양상들은 시스템, 방법, 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 이에 따라, 본 개시내용의 양상들은 전적으로 하드웨어 실시예, 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함함) 또는 소프트웨어 및 하드웨어 양상들을 결합하는 실시예의 형태를 취할 수 있으며, 이들 전부는 일반적으로 "회로", "모듈", "유닛" 또는 "시스템"으로 본원에서 지칭될 수 있다. 또한, 본 개시내용의 양상들은 컴퓨터 판독가능 프로그램 코드가 구현되어 있는 하나 또는 그 초과의 컴퓨터 판독가능 매체(들)에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
[00143] 하나 또는 그 초과의 비-일시적 컴퓨터 판독가능 매체(들)의 임의의 결합이 활용될 수 있다. 비-일시적 컴퓨터-판독가능 미디어는 모든 컴퓨터-판독가능 미디어를 포함하는데, 유일한 예외는 일시적 전파 신호이다. 비-일시적 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는, 예컨대, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 이들의 임의의 적절한 결합일 수 있지만, 이에 제한되지 않는다. 컴퓨터 판독가능 저장 매체의 더 구체적인 예들(비-철저 목록)은 하기를 포함할 것이다: 하나 또는 그 초과의 와이어들을 갖는 전기 연결, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM;random access memory), 판독-전용 메모리(ROM;read-only memory), 삭제가능 프로그래머블 판독-전용 메모리(EPROM(erasable programmable read-only memory) 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 판독-전용 메모리(CD-ROM;portable compact disc read-only memory), 광학 저장 디바이스, 자기 저장 디바이스, 또는 이들의 임의의 적절한 결합. 본 명세서의 맥락에서, 컴퓨터 판독가능 저장 매체는, 명령 실행 시스템, 장치, 또는 디바이스에 의해 또는 이와 관련하여 사용하기 위한 프로그램을 포함하거나 또는 저장할 수 있는 임의의 유형의 매체일 수 있다.
[00144] 본 개시내용의 양상들에 대한 동작들을 수행하기 위해 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램 코드는, 객체 지향 프로그래밍 언어, 이를테면, 자바, 스몰토크, C++ 등 그리고 통상적인 절차적 프로그래밍 언어들, 이를테면, "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어들을 비롯해, 하나 또는 그 초과의 프로그래밍 언어들의 임의의 결합으로 쓰여질 수 있다. 프로그램 코드는 전적으로 사용자의 컴퓨터 상에서, 부분적으로 사용자의 컴퓨터 상에서, 독립형 소프트웨어 패키지로서, 부분적으로 사용자의 컴퓨터 상에서 그리고 부분적으로 원격 컴퓨터 상에서, 또는 전적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 로컬 영역 네트워크(LAN;local area network) 또는 광역 네트워크(WAN;wide area network)를 비롯한 임의의 타입의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있거나, 또는 외부 컴퓨터에 대한 연결이 (예컨대, 인터넷 서비스 제공자를 사용하여 인터넷을 통해) 이루어질 수 있다.
[00145] 본 개시내용의 양상들은 본 개시내용의 실시예들에 따른 방법들, 장치(시스템들) 및 컴퓨터 프로그램 제품들의 흐름도 예시들 및/또는 블록도들을 참조하여 설명된다. 흐름도 예시들 및/또는 블록도들의 각각의 블록, 그리고 흐름도 예시들 및/또는 블록도들의 블록들의 결합들이 컴퓨터 프로그램 명령들에 의해 구현될 수 있음이 이해될 것이다. 이들 컴퓨터 프로그램 명령들은 머신을 생성하기 위해 범용 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그래머블 데이터 프로세싱 장치의 프로세서에 제공될 수 있으며, 따라서 명령들은, 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 장치의 프로세서를 통해 실행될 때, 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능들/행동들을 구현하기 위한 수단을 생성한다.
[00146] 이들 컴퓨터 프로그램 명령들은 또한, 특정한 방식으로 기능하도록 컴퓨터, 다른 프로그래머블 데이터 프로세싱 장치, 또는 다른 디바이스들에게 지시할 수 있는 컴퓨터 판독가능 매체에 저장될 수 있고, 따라서 컴퓨터 판독가능 매체에 저장된 명령들은 흐름도 및/또는 블록도의 블록 또는 블록들에 특정된 기능/행동을 구현하는 명령들을 포함하는 제조 아티클을 생성한다.
[00147] 컴퓨터 프로그램 명령들은 또한, 컴퓨터, 다른 프로그래머블 데이터 프로세싱 장치, 또는 다른 디바이스들 상에 로딩되어, 일련의 동작 단계들로 하여금 컴퓨터, 다른 프로그래머블 장치 또는 다른 디바이스들 상에서 수행되어 컴퓨터 구현 프로세스가 생성되도록 할 수 있으며, 따라서 컴퓨터 또는 다른 프로그래머블 장치 상에서 실행되는 명령들은 흐름도 및/또는 블록도의 블록 또는 블록들에 특정된 기능들/행동들을 구현하기 위한 프로세스들을 제공한다.
[00148] 도 11은 통신을 위한 슬롯 할당 메커니즘을 포함하는 전자 디바이스(1100)의 일 실시예의 블록도이다. 일부 실시예들에서, 전자 디바이스(1100)는 시스템, 이를테면, 플러그-인 전기 비히클(PEV;plug-in electric vehicle), 하이브리드 전기 비히클, 가스 동력식 비히클, 전기 비히클 서플라이 장비(EVSE(electric vehicle supply equipment) 또는 충전 스테이션), 항공기, 전자 기계류, 또는 통신 능력들을 갖는 다른 시스템 내의 통신 컴포넌트이다. 다른 실시예에서, 전자 디바이스(1100)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 모바일폰, 스마트 어플라이언스, PLC 디바이스, 게임 콘솔, 네트워크 브릿징 디바이스, 액세스 포인트, 전기 비히클, 가스 동력식 비히클, 충전 스테이션, 또는 통신 능력들을 갖는 다른 전자 디바이스이다. 전자 디바이스(1100)는 다수의 프로세서들, 다수의 코어들, 다수의 노드들을 포함하고, 그리고/또는 멀티-스레딩 등을 구현할 수 있는 프로세서(1102)를 포함한다. 전자 디바이스(1100)는 메모리(1106)를 포함한다. 메모리(1106)는 시스템 메모리(예컨대, 캐시, SRAM, DRAM, 제로 커패시터 RAM, 트윈 트랜지스터 RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS(Silicon-Oxide-Nitride-Oxide-Silicon), PRAM 등 중에서 하나 또는 그 초과) 또는 컴퓨터-판독가능 저장 미디어의 위에서 이미 설명된 가능한 구현들 중 임의의 하나 또는 그 초과일 수 있다. 전자 디바이스(1100)는 또한 버스(1110)(예컨대, PCI(Peripheral Component Interconnect), ISA(Industry Standard Architecture), PCI-Express, HyperTransport®, InfiniBand®, NuBus, AHB(Advanced High-performance Bus), AXI(Advanced eXtensible Interface) 등), 및 무선 네트워크 인터페이스(예컨대, WLAN 인터페이스, Bluetooth® 인터페이스, WiMAX 인터페이스, ZigBee® 인터페이스, 무선 USB 인터페이스 등) 및 유선 네트워크 인터페이스(예컨대, PLC 인터페이스, 이더넷 인터페이스 등) 중 적어도 하나를 포함하는 네트워크 인터페이스(1104)를 포함한다. 프로세서(1102), 메모리(1106), 및 네트워크 인터페이스(1104)는 버스(1110)에 커플링된다.
[00149] 전자 디바이스(1100)는 또한 통신 모듈(1108)을 포함한다. 통신 모듈(1108)은 등록 모듈(1112), 스케줄링 모듈(1114), 메시지 생성 모듈(1116), 및 트랜시버(1118)를 포함한다. 등록 모듈(1112)은, 도 3 및 도 4를 참조하여 위에서 설명된 바와 같이 네트워크 디바이스를 통신 네트워크에 등록하고 후속 통신을 위해 하나 또는 그 초과의 인크립션 키들을 결정하기 위한 동작들을 실행할 수 있다. 메시지 생성 모듈(1116)은 도 5, 도 6, 및 도 7을 참조하여 위에서 설명된 바와 같이 메시지들의 보안 통신을 위해 메시지들을 인크립팅 및 디크립팅할 수 있다. 메시지 생성 모듈(1116)은 또한, 통신 네트워크에서의 송신을 위한 적절한 메시지 포맷을 사용하여 메시지를 생성할 수 있다. 스케줄링 모듈(1114)은 도 8-도 10에서 위에서 설명된 바와 같이 통신 매체의 비경쟁 액세스 및/또는 경쟁-기반 액세스를 위해 통신 슬롯들을 네트워크 디바이스들에 할당할 수 있다. 트랜시버(1118)는 도 1을 참조하여 위에서 설명된 수신기 및 송신기를 포함할 수 있다. 일부 실시예들에서, 트랜시버(1118)는 네트워크 인터페이스(1104)의 일부로서 구현된다. 다른 실시예들에서, 트랜시버(1118)는 네트워크 인터페이스(1104) 또는 통신 모듈(1108)과 별개로 구현되며, 버스(1110)와 커플링될 수 있다.
[00150] 이들 기능성들 중 임의의 하나는 하드웨어에 그리고/또는 프로세서(1102) 상에 부분적으로(또는 전적으로) 구현될 수 있다. 예컨대, 기능성은 시스템-온-어-칩(SoC;system-on-a-chip)으로, 주문형 집적 회로(ASIC;application specific integrated circuit)로, 프로세서(1102)로 구현되는 로직으로, 주변 디바이스 또는 카드 상의 코-프로세서 등으로 구현될 수 있다. 추가로, 구현들은 도 11에 예시되지 않은 더 적은 개수의 또는 추가적인 컴포넌트들(예컨대, 비디오 카드들, 오디오 카드들, 추가적인 네트워크 인터페이스들, 주변 디바이스들 등)을 포함할 수 있다. 예컨대, 버스(1110)와 커플링된 프로세서(1102) 외에도, 통신 모듈(1108)은 적어도 하나의 추가적인 프로세서를 포함할 수 있다. 다른 예로서, 통신 모듈(1108)은 하나 또는 그 초과의 라디오 트랜시버들, 프로세서들, 메모리, 및 통신 프로토콜들 및 관련 기능성을 구현하기 위한 다른 로직을 포함할 수 있다. 다른 예로서, 버스(1110)에 커플링된 것으로서 예시되지만, 메모리(1106)는 프로세서(1102)에 커플링될 수 있다.
[00151] 다양한 구현들 및 이용들을 참조하여 실시예들이 설명되지만, 이들 실시예들이 예시적이며 본 개시내용의 범위가 이들 실시예들로 제한되지 않음이 이해될 것이다. 일반적으로, 본원에 설명된 바와 같은, 통신 네트워크에서 메시지들을 송신하기 위한 슬롯 할당 기술들은 임의의 하드웨어 시스템 또는 하드웨어 시스템들과 일관된 설비들로 구현될 수 있다. 많은 변형들, 수정들, 추가들, 및 개선들이 가능하다.
[00152] 본원에서 단일 인스턴스로서 설명된 컴포넌트들, 동작들, 또는 구조들에 대해 복수의 인스턴스들이 제공될 수 있다. 마지막으로, 다양한 컴포넌트들, 동작들, 및 데이터 스토어들 사이의 경계들은 다소 임의적이며, 특정한 동작들은 특정 예시적 구성들의 맥락에서 예시된다. 기능성의 다른 할당들이 창안되며, 본 개시내용의 범위 내에 속할 수 있다. 일반적으로, 예시적 구성들에서 별개의 컴포넌트들로서 제시된 구조들 및 기능성은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조들 및 기능성은 별개의 컴포넌트들로서 구현될 수 있다. 이들 및 다른 변형들, 수정들, 추가들, 및 개선들은 본 개시내용의 범위 내에 속할 수 있다.

Claims (30)

  1. 네트워크 디바이스 등록을 위한 방법으로서,
    통신 네트워크의 제 1 네트워크 디바이스에서, 제 2 네트워크 디바이스를 상기 통신 네트워크에 등록하기로 결정하는 단계;
    상기 제 2 네트워크 디바이스를 등록하기 위한 키 교환을 위해 비콘 기간의 제 1 통신 슬롯을 상기 제 2 네트워크 디바이스에 할당하는 단계;
    상기 제 1 통신 슬롯 동안에 수행된 상기 키 교환으로부터 상기 제 2 네트워크 디바이스와 연관된 디바이스 인크립션 키를 결정하는 단계;
    상기 디바이스 인크립션 키에 적어도 부분적으로 기초하여, 상기 제 2 네트워크 디바이스를 상기 통신 네트워크에 등록하기 위한 등록 정보를 제공하는 단계; 및
    상기 제 2 네트워크 디바이스에 송신될 메시지를 인크립팅하기 위한 메시지 인크립션 키를 결정하는 단계
    를 포함하고,
    상기 메시지 인크립션 키는 상기 디바이스 인크립션 키 및 상기 비콘 기간과 연관된 비콘 기간 식별자에 적어도 부분적으로 기초하여 결정되는,
    네트워크 디바이스 등록을 위한 방법.
  2. 제 1 항에 있어서,
    상기 제 2 네트워크 디바이스를 등록하기로 결정하는 단계는 상기 제 2 네트워크 디바이스로부터 등록 요청을 수신하는 것에 적어도 부분적으로 기초하는,
    네트워크 디바이스 등록을 위한 방법.
  3. 제 1 항에 있어서,
    상기 키 교환을 위해 상기 제 1 통신 슬롯 및 제 2 통신 슬롯을 할당하는 단계;
    상기 제 1 통신 슬롯 동안에 상기 제 2 네트워크 디바이스로부터 키 교환 요청을 수신하는 단계;
    상기 제 2 통신 슬롯 동안에 상기 제 2 네트워크 디바이스에 키 교환 응답을 송신하는 단계; 및
    상기 키 교환 요청 및 상기 키 교환 응답에 적어도 부분적으로 기초하여 상기 디바이스 인크립션 키를 결정하는 단계
    를 더 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  4. 제 1 항에 있어서,
    상기 디바이스 인크립션 키를 결정하는 단계는,
    상기 키 교환 동안에 상기 제 2 네트워크 디바이스로부터 수신된 메시지에 적어도 부분적으로 기초하여 제 1 채널 특성을 결정하는 단계; 및
    상기 제 1 채널 특성에 적어도 부분적으로 기초하여 상기 디바이스 인크립션 키를 결정하는 단계
    를 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  5. 제 1 항에 있어서,
    상기 제 2 네트워크 디바이스로부터의 인증서를 상기 제 1 네트워크 디바이스에서 수신하는 단계; 및
    상기 인증서를 인증한 이후에 상기 디바이스 인크립션 키를 결정하는 단계
    를 더 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  6. 제 1 항에 있어서,
    상기 등록 정보는 상기 제 2 네트워크 디바이스와 상기 통신 네트워크의 제 3 네트워크 디바이스 사이의 통신들을 인크립팅하기 위한 적어도 하나의 그룹 인크립션 키를 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  7. 제 1 항에 있어서,
    상기 메시지 인크립션 키는 상기 비콘 기간 식별자와 상기 디바이스 인크립션 키를 결합하는 것에 적어도 부분적으로 기초하여 결정되는,
    네트워크 디바이스 등록을 위한 방법.
  8. 제 1 항에 있어서,
    상기 등록 정보는,
    상기 제 2 네트워크 디바이스가 제 3 네트워크 디바이스로부터 송신되는 메시지들을 중계하기 위한 중계 디바이스로서 구성된다는 표시, 및
    상기 제 3 네트워크 디바이스로부터 수신된 상기 메시지들을 디크립팅하기 위한, 상기 제 3 네트워크 디바이스와 연관된 인크립션 키
    로 구성된 그룹으로부터 선택된 적어도 하나의 멤버를 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  9. 제 1 항에 있어서,
    경쟁-기반(contention-based) 통신 슬롯 동안에 상기 제 2 네트워크 디바이스로부터의 예약 요청을 상기 제 1 네트워크 디바이스에서 수신하는 단계; 및
    상기 예약 요청에 적어도 부분적으로 기초하여 비경쟁(contention-free) 통신 슬롯을 상기 제 2 네트워크 디바이스에 할당하는 단계
    를 더 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  10. 제 9 항에 있어서,
    상기 예약 요청은 예약 요청 식별자, 요청되고 있는 비경쟁 통신 슬롯들의 개수, 및 비경쟁 통신 슬롯들이 요청되고 있는 지속기간으로 구성된 그룹으로부터 선택된 적어도 하나의 멤버를 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  11. 제 1 항에 있어서,
    제 1 경쟁-기반 통신 슬롯 동안에 상기 제 2 네트워크 디바이스로부터의 제 1 예약 요청 및 제 2 경쟁-기반 통신 슬롯 동안에 제 3 네트워크 디바이스로부터의 제 2 예약 요청을 상기 제 1 네트워크 디바이스에서 수신하는 단계;
    상기 제 1 예약 요청 및 상기 제 2 예약 요청에 적어도 부분적으로 기초하여, 제 1 비경쟁 통신 슬롯을 상기 제 2 네트워크 디바이스에, 그리고 제 2 비경쟁 통신 슬롯을 상기 제 3 네트워크 디바이스에 할당하는 단계; 및
    상기 제 1 비경쟁 통신 슬롯의 표시를 상기 제 2 네트워크 디바이스에, 그리고 상기 제 2 비경쟁 통신 슬롯의 표시를 상기 제 3 네트워크 디바이스에 동일한 예약 응답에서 제공하는 단계
    를 더 포함하는,
    네트워크 디바이스 등록을 위한 방법.
  12. 제 1 항에 있어서,
    상기 제 1 네트워크 디바이스 및 상기 제 2 네트워크 디바이스는 비히클(vehicle)의 상기 통신 네트워크에 포함되는,
    네트워크 디바이스 등록을 위한 방법.
  13. 제 1 항에 있어서,
    상기 제 1 네트워크 디바이스 및 상기 제 2 네트워크 디바이스는 적어도 하나의 전력선 통신(PLC;powerline communication) 프로토콜을 구현하도록 구성되는,
    네트워크 디바이스 등록을 위한 방법.
  14. 메시지 인크립션을 위한 방법으로서,
    통신 네트워크의 제 1 네트워크 디바이스에서, 비콘 기간의 제 1 통신 슬롯 동안에 제 1 메시지를 제 2 네트워크 디바이스에 송신하기로 결정하는 단계;
    상기 제 1 메시지의 특성들에 적어도 부분적으로 기초하여, 상기 제 1 메시지를 인크립팅하기 위한 제 1 인크립션 키를 결정하는 단계;
    상기 제 1 통신 슬롯의 슬롯 식별자 및 상기 제 1 통신 슬롯을 포함하는 상기 비콘 기간의 비콘 기간 식별자에 적어도 부분적으로 기초하여, 상기 제 1 메시지를 인크립팅하기 위한 초기화 벡터를 결정하는 단계 ―상기 슬롯 식별자 및 상기 비콘 기간 식별자는 상기 통신 네트워크의 조정 네트워크 디바이스로부터 수신되는 비콘 메시지에 포함됨―; 및
    상기 제 1 인크립션 키 및 상기 초기화 벡터에 적어도 부분적으로 기초하여, 상기 제 2 네트워크 디바이스로의 송신을 위한 상기 제 1 메시지를 인크립팅하는 단계
    를 포함하는,
    메시지 인크립션을 위한 방법.
  15. 제 14 항에 있어서,
    상기 제 1 인크립션 키를 결정하는 단계는,
    상기 조정 네트워크 디바이스로부터 상기 제 1 네트워크 디바이스에서 수신된 복수의 초기 인크립션 키들을 식별하는 단계; 및
    상기 제 1 메시지의 타입,
    상기 제 1 통신 슬롯이 경쟁-기반 통신 슬롯인지 또는 비경쟁 통신 슬롯인지 여부, 및
    상기 제 2 네트워크 디바이스의 식별자
    로 구성된 그룹으로부터 선택된 적어도 하나의 멤버에 적어도 부분적으로 기초하여 상기 복수의 초기 인크립션 키들로부터 제 1 초기 인크립션 키를 선택하는 단계
    를 포함하는,
    메시지 인크립션을 위한 방법.
  16. 제 15 항에 있어서,
    상기 비콘 메시지의 정보와 상기 제 1 초기 인크립션 키를 결합하는 것에 적어도 부분적으로 기초하여 상기 제 1 인크립션 키를 결정하는 단계
    를 더 포함하는,
    메시지 인크립션을 위한 방법.
  17. 제 14 항에 있어서,
    상기 초기화 벡터는 상기 슬롯 식별자와 상기 비콘 기간 식별자의 결합에 적어도 부분적으로 기초하여 결정되는,
    메시지 인크립션을 위한 방법.
  18. 제 14 항에 있어서,
    상기 제 1 메시지를 인크립팅하는 단계는,
    상기 제 1 메시지의 데이터 부분과 상기 제 1 메시지의 오류 검사 부분의 결합을 인크립팅하는 것에 적어도 부분적으로 기초하여 송신을 위한 인크립팅된 제 1 메시지를 생성하는 단계
    를 포함하는,
    메시지 인크립션을 위한 방법.
  19. 제 14 항에 있어서,
    제 2 통신 슬롯 동안에 상기 제 2 네트워크 디바이스로부터의 제 2 메시지를 상기 제 1 네트워크 디바이스에서 수신하는 단계;
    상기 제 2 네트워크 디바이스와 연관되는 복수의 인크립션 키들을 결정하는 단계 ―상기 복수의 인크립션 키들은 상기 조정 네트워크 디바이스로부터 상기 제 1 네트워크 디바이스에서 수신됨―; 및
    상기 제 2 메시지를 디크립팅하기 위해, 상기 제 2 메시지 및 상기 제 2 통신 슬롯에 적어도 부분적으로 기초하여 상기 복수의 인크립션 키들로부터 적어도 제 2 인크립션 키를 선택하는 단계
    를 더 포함하는,
    메시지 인크립션을 위한 방법.
  20. 제 19 항에 있어서,
    상기 제 2 메시지 및 상기 제 2 통신 슬롯에 적어도 부분적으로 기초하여 상기 복수의 인크립션 키들로부터 상기 제 2 인크립션 키 및 제 3 인크립션 키를 선택하는 단계; 및
    상기 제 2 인크립션 키 및 상기 제 3 인크립션 키 각각에 대해,
    대응하는 인크립션 키에 적어도 부분적으로 기초하여 상기 제 2 메시지를 디크립팅하는 단계, 및
    디크립팅된 제 2 메시지에 적어도 부분적으로 기초하여 상기 제 2 메시지가 성공적으로 디크립팅되었는지 여부를 결정하는 단계
    를 더 포함하는,
    메시지 인크립션을 위한 방법.
  21. 제 19 항에 있어서,
    상기 제 2 인크립션 키를 사용하여 상기 제 2 메시지를 디크립팅하는 것에 적어도 부분적으로 기초하여, 상기 디크립팅된 제 2 메시지의 디크립팅된 오류 검사 부분을 결정하는 단계;
    상기 디크립팅된 오류 검사 부분이 유효한지 여부를 결정하는 단계;
    상기 디크립팅된 오류 검사 부분이 유효함을 결정하는 것에 대한 응답으로, 상기 제 2 메시지가 성공적으로 디크립팅되었음을 결정하는 단계; 및
    상기 디크립팅된 오류 검사 부분이 유효하지 않음을 결정하는 것에 대한 응답으로, 상기 제 2 메시지가 성공적으로 디크립팅되지 않았음을 결정하고, 상기 제 2 메시지를 폐기하는 단계
    를 더 포함하는,
    메시지 인크립션을 위한 방법.
  22. 제 14 항에 있어서,
    상기 제 1 네트워크 디바이스에서, 상기 비콘 기간의 경쟁-기반 통신 슬롯을 결정하는 단계;
    상기 경쟁-기반 통신 슬롯 동안에, 상기 제 1 네트워크 디바이스로부터 상기 조정 네트워크 디바이스로 예약 요청을 송신하는 단계;
    상기 조정 네트워크 디바이스로부터 예약 응답을 수신하는 단계; 및
    상기 예약 응답으로부터 비경쟁 통신 슬롯을 결정하는 단계
    를 더 포함하고,
    상기 비경쟁 통신 슬롯은 상기 예약 요청에 적어도 부분적으로 기초하여 상기 조정 네트워크 디바이스에 의해 할당되는,
    메시지 인크립션을 위한 방법.
  23. 제 22 항에 있어서,
    상기 제 1 네트워크 디바이스와 연관된 우선순위 레벨에 적어도 부분적으로 기초하여 상기 경쟁-기반 통신 슬롯의 제어를 획득하기 위해 상기 경쟁-기반 통신 슬롯에서 경쟁 동작들을 실행하는 단계
    를 더 포함하고,
    상기 예약 요청을 송신하는 단계는 상기 경쟁-기반 통신 슬롯의 제어를 획득하는 것에 적어도 부분적으로 기초하는,
    메시지 인크립션을 위한 방법.
  24. 제 22 항에 있어서,
    상기 예약 응답은 상기 통신 네트워크의 제 3 네트워크 디바이스를 통해 상기 제 1 네트워크 디바이스에서 수신되고, 상기 제 3 네트워크 디바이스는 상기 조정 네트워크 디바이스에 의해 본래 송신된 상기 예약 응답을 중계하도록 구성되는,
    메시지 인크립션을 위한 방법.
  25. 제 22 항에 있어서,
    상기 예약 요청은 예약 요청 식별자, 요청되고 있는 비경쟁 통신 슬롯들의 개수, 및 비경쟁 통신 슬롯들이 요청되고 있는 지속기간으로 구성된 그룹으로부터 선택된 적어도 하나의 멤버를 포함하는,
    메시지 인크립션을 위한 방법.
  26. 통신 네트워크의 제 1 네트워크 디바이스로서,
    프로세서; 및
    명령들을 저장하기 위한 메모리
    를 포함하고,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 제 1 네트워크 디바이스로 하여금,
    제 2 네트워크 디바이스를 상기 통신 네트워크에 등록하기로 결정하게 하고;
    상기 제 2 네트워크 디바이스를 등록하기 위한 키 교환을 위해 비콘 기간의 제 1 통신 슬롯을 상기 제 2 네트워크 디바이스에 할당하게 하고;
    상기 제 1 통신 슬롯 동안에 수행된 상기 키 교환으로부터 상기 제 2 네트워크 디바이스와 연관된 디바이스 인크립션 키를 결정하게 하고;
    상기 디바이스 인크립션 키에 적어도 부분적으로 기초하여, 상기 제 2 네트워크 디바이스를 상기 통신 네트워크에 등록하기 위한 등록 정보를 제공하게 하고; 그리고
    상기 제 2 네트워크 디바이스에 송신될 메시지를 인크립팅하기 위한 메시지 인크립션 키를 결정하게 하며,
    상기 메시지 인크립션 키는 상기 디바이스 인크립션 키 및 상기 비콘 기간과 연관된 비콘 기간 식별자에 적어도 부분적으로 기초하여 결정되는,
    통신 네트워크의 제 1 네트워크 디바이스.
  27. 제 26 항에 있어서,
    상기 명령들은 추가로, 상기 제 1 네트워크 디바이스로 하여금,
    상기 키 교환을 위해 상기 제 1 통신 슬롯 및 제 2 통신 슬롯을 할당하게 하고;
    상기 제 1 통신 슬롯 동안에 상기 제 2 네트워크 디바이스로부터 키 교환 요청을 수신하게 하고;
    상기 제 2 통신 슬롯 동안에 상기 제 2 네트워크 디바이스에 키 교환 응답을 송신하게 하고; 그리고
    상기 키 교환 요청 및 상기 키 교환 응답에 적어도 부분적으로 기초하여 상기 디바이스 인크립션 키를 결정하게 하는,
    통신 네트워크의 제 1 네트워크 디바이스.
  28. 제 26 항에 있어서,
    상기 명령들은 추가로, 상기 제 1 네트워크 디바이스로 하여금,
    상기 키 교환 동안에 상기 제 2 네트워크 디바이스로부터 수신된 메시지에 적어도 부분적으로 기초하여 제 1 채널 특성을 결정하게 하고; 그리고
    상기 제 1 채널 특성에 적어도 부분적으로 기초하여 상기 디바이스 인크립션 키를 결정하게 하는,
    통신 네트워크의 제 1 네트워크 디바이스.
  29. 통신 네트워크의 제 1 네트워크 디바이스로서,
    프로세서; 및
    명령들을 저장하기 위한 메모리
    를 포함하고,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 제 1 네트워크 디바이스로 하여금,
    비콘 기간의 제 1 통신 슬롯 동안에 제 1 메시지를 제 2 네트워크 디바이스에 송신하기로 결정하게 하고;
    상기 제 1 메시지의 특성들에 적어도 부분적으로 기초하여, 상기 제 1 메시지를 인크립팅하기 위한 제 1 인크립션 키를 결정하게 하고;
    상기 제 1 통신 슬롯의 슬롯 식별자 및 상기 제 1 통신 슬롯을 포함하는 상기 비콘 기간의 비콘 기간 식별자에 적어도 부분적으로 기초하여, 상기 제 1 메시지를 인크립팅하기 위한 초기화 벡터를 결정하게 하고 ―상기 슬롯 식별자 및 상기 비콘 기간 식별자는 상기 통신 네트워크의 조정 네트워크 디바이스로부터 수신되는 비콘 메시지에 포함됨―; 그리고
    상기 제 1 인크립션 키 및 상기 초기화 벡터에 적어도 부분적으로 기초하여, 상기 제 2 네트워크 디바이스로의 송신을 위한 상기 제 1 메시지를 인크립팅하게 하는,
    통신 네트워크의 제 1 네트워크 디바이스.
  30. 제 29 항에 있어서,
    상기 제 1 네트워크 디바이스로 하여금 상기 제 1 인크립션 키를 결정하게 하는 것은, 상기 제 1 네트워크 디바이스로 하여금,
    상기 조정 네트워크 디바이스로부터 상기 제 1 네트워크 디바이스에서 수신된 복수의 초기 인크립션 키들을 식별하게 하는 것;
    상기 제 1 메시지의 타입,
    상기 제 1 통신 슬롯이 경쟁-기반 통신 슬롯인지 또는 비경쟁 통신 슬롯인지 여부, 및
    상기 제 2 네트워크 디바이스의 식별자
    로 구성된 그룹으로부터 선택된 적어도 하나의 멤버에 적어도 부분적으로 기초하여 상기 복수의 초기 인크립션 키들로부터 제 1 초기 인크립션 키를 선택하게 하는 것; 그리고
    상기 비콘 메시지의 정보와 상기 제 1 초기 인크립션 키를 결합하는 것에 적어도 부분적으로 기초하여 상기 제 1 인크립션 키를 결정하게 하는 것
    을 포함하는,
    통신 네트워크의 제 1 네트워크 디바이스.
KR1020167035343A 2014-06-20 2015-06-19 전력선 통신 네트워크들에 대한 슬롯형 메시지 액세스 프로토콜 KR20170020358A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462015085P 2014-06-20 2014-06-20
US62/015,085 2014-06-20
US14/743,836 US20150372996A1 (en) 2014-06-20 2015-06-18 Slotted message access protocol for powerline communication networks
US14/743,836 2015-06-18
PCT/US2015/036776 WO2015196132A2 (en) 2014-06-20 2015-06-19 Slotted message access protocol for powerline communication networks

Publications (1)

Publication Number Publication Date
KR20170020358A true KR20170020358A (ko) 2017-02-22

Family

ID=54870712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035343A KR20170020358A (ko) 2014-06-20 2015-06-19 전력선 통신 네트워크들에 대한 슬롯형 메시지 액세스 프로토콜

Country Status (4)

Country Link
US (1) US20150372996A1 (ko)
JP (1) JP2017524288A (ko)
KR (1) KR20170020358A (ko)
WO (1) WO2015196132A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880279B2 (en) 2018-11-02 2020-12-29 Sony Corporation Virtual broadcast of unicast data stream in secured wireless local area network

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10686914B2 (en) * 2014-11-04 2020-06-16 Texas Instruments Incorporated Automatic selection of MAC protocol to support multiple prime PLC standards
US9432340B1 (en) * 2015-05-07 2016-08-30 Bogart Associates System and method for secure end-to-end chat system
WO2016205991A1 (zh) * 2015-06-23 2016-12-29 华为技术有限公司 免授权传输的方法、用户设备、接入网设备和核心网设备
EP3437298A1 (en) * 2016-05-01 2019-02-06 Argus Cyber Security Ltd Net sleuth for in-vehicle network anomaly detection
US10728101B2 (en) 2016-05-01 2020-07-28 Argus Cyber Security Ltd. In-vehicle network anomaly detection
CN106130877A (zh) * 2016-06-23 2016-11-16 瓦戈科技(上海)有限公司 一种跨系统的手机短信发送方法
US10111275B2 (en) * 2016-08-05 2018-10-23 Abl Ip Holding Llc Scheduling failover for lighting controls
US10560443B2 (en) * 2017-03-16 2020-02-11 Amzetta Technologies, Llc Scheduled power mode switch for thin client devices
EP3714656A4 (en) * 2017-11-22 2020-11-18 ZTE Corporation COEXISTENCE OF VARIOUS RANDOM ACCESS RESOURCES AND ASSOCIATIONS
CN117156563B (zh) * 2023-08-17 2024-03-19 武汉船舶通信研究所(中国船舶集团有限公司第七二二研究所) 一种适应高动态、强随机业务变化的信道资源接入分配方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2691317B1 (fr) * 1992-05-15 1995-05-19 Sgs Thomson Microelectronics Procédé d'adressage automatique dans une installation, notamment une installation domestique.
GB2301734B (en) * 1995-05-31 1999-10-20 Motorola Ltd Communications system and method of operation
AU753949B2 (en) * 1999-09-01 2002-10-31 Motorola, Inc. Method and device for bandwidth allocation in multiple access protocols with contention-based reservation
US6952428B1 (en) * 2001-01-26 2005-10-04 3Com Corporation System and method for a specialized dynamic host configuration protocol proxy in a data-over-cable network
US20040036594A1 (en) * 2002-08-21 2004-02-26 Robert Ladow Light bar control system
US7551606B2 (en) * 2004-08-20 2009-06-23 Sony Corporation Isochronous transmission for IP-oriented network
JP5094004B2 (ja) * 2005-10-20 2012-12-12 パナソニック株式会社 データ中継装置及びデータ中継方法
US8874898B2 (en) * 2012-12-14 2014-10-28 Intel Corporation Power line based theft protection of electronic devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880279B2 (en) 2018-11-02 2020-12-29 Sony Corporation Virtual broadcast of unicast data stream in secured wireless local area network

Also Published As

Publication number Publication date
US20150372996A1 (en) 2015-12-24
WO2015196132A3 (en) 2016-03-17
WO2015196132A2 (en) 2015-12-23
JP2017524288A (ja) 2017-08-24
WO2015196132A9 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
KR20170020358A (ko) 전력선 통신 네트워크들에 대한 슬롯형 메시지 액세스 프로토콜
US9762496B2 (en) Slotted message access protocol for powerline communication networks
US20150372717A1 (en) Slotted message access protocol for powerline communication networks
KR101884748B1 (ko) 통신 네트워크들에서의 감쇠 레벨 기반 연계
KR101820862B1 (ko) 전력선 통신 네트워크에서 숏 패킷 통신
US11102619B2 (en) Systems and methods for transmitting conditional access information
US9003492B2 (en) Secure client authentication and service authorization in a shared communication network
KR101740957B1 (ko) 차량용 데이터의 인증 및 획득 방법
CN109168150B (zh) 一种蓝牙快速组网方法
KR101481403B1 (ko) 차량용 데이터의 인증 및 획득 방법
US20180316558A1 (en) Fast joining in wireless mesh networks with predetermined physical topologies
CN113141333A (zh) 入网设备的通信方法、设备、服务器、系统及存储介质
KR20200020515A (ko) Can 시스템 및 메시지 인증 방법
CN104662804A (zh) 在对通信信道进行共享的通信网络之间的信道重用