KR102611388B1 - 데이터 패킷들의 선택적 중계 - Google Patents

데이터 패킷들의 선택적 중계 Download PDF

Info

Publication number
KR102611388B1
KR102611388B1 KR1020217022013A KR20217022013A KR102611388B1 KR 102611388 B1 KR102611388 B1 KR 102611388B1 KR 1020217022013 A KR1020217022013 A KR 1020217022013A KR 20217022013 A KR20217022013 A KR 20217022013A KR 102611388 B1 KR102611388 B1 KR 102611388B1
Authority
KR
South Korea
Prior art keywords
bitmap
data packet
time slots
portions
listening
Prior art date
Application number
KR1020217022013A
Other languages
English (en)
Other versions
KR20210108405A (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 KR20210108405A publication Critical patent/KR20210108405A/ko
Application granted granted Critical
Publication of KR102611388B1 publication Critical patent/KR102611388B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • 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
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Radio Relay Systems (AREA)

Abstract

본 개시내용은 일반적으로 무선 통신에 관한 것으로, 더 구체적으로는 데이터 패킷들의 선택적 중계(selective relay)에 관한 것이다. 방법은, 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하는 단계, 비트맵의 하나 이상의 비트맵 부분들을 식별하는 단계 ―식별된 하나 이상의 비트맵 부분들은 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에 대응함―; 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 호스트 디바이스로부터 효과적으로 수신되는지 여부를 결정하는 단계, 및 상기 비트맵을 하나 이상의 대응하는 시그니파이어들로 파퓰레이팅하는 단계를 포함한다.

Description

데이터 패킷들의 선택적 중계
[0001] 본 특허 출원은, "SELECTIVE RELAY OF DATA PACKETS"이라는 명칭으로 2019년 1월 3일자로 출원된 정규출원 제16/239,450호를 우선권으로 주장하며, 이 출원은 본 출원의 양수인에게 양도되었고, 이로써 인용에 의해 본원에 명백히 포함된다.
[0002] 본 개시내용의 양상들은 일반적으로 무선 통신에 관한 것으로, 더 구체적으로는 데이터 패킷들 등의 선택적 중계(selective relay)에 관한 것이다.
[0003] 무선 디바이스들은 점점 더, 다수의 네트워크들을 동시에 사용함으로써 통신한다. 더욱이, 이들은 통신 매체에 액세스하기 위해 다른 디바이스들과 경쟁할 수 있다. 예를 들어, 호스트 디바이스는 통신 매체를 사용하여 제1 네트워크(예를 들어, 블루투스와 같은 단거리 네트워크)에 따라 제1 디바이스와 통신하면서 동시에 통신 매체를 사용하여, 상이한 네트워크(예를 들어, WiFi와 같은 중간 범위 네트워크)에 따라 다른 디바이스들과 통신할 수 있다. 한편, 제1 디바이스는 또한, 그 자체가 다수의 네트워크들 상에서 통신할 수 있는 제2 디바이스와 통신하고 있을 수 있다.
[0004] 다수의 디바이스들이 동일한 통신 매체를 동시에 사용하는 경우, 공존 문제들이 발생할 수 있다. 예를 들어, 호스트 디바이스는, 제1 디바이스 및 제2 디바이스에 의해 수신될 수 있는 데이터 패킷들을 송신할 수 있다. 인근에서 동작하는 다른 디바이스가 호스트 디바이스의 통신들과의 간섭을 야기한다면, 제1 디바이스 및/또는 제2 디바이스는 데이터 패킷을 누락할 수 있다. 이는 에러들 또는 과도한 레이턴시를 야기할 수 있다. 블루투스의 A2DP(Advanced Audio Distribution Profile)와 같은 스트리밍 오디오 프로토콜들에 따라 동작하기 위해 클래식 BR/EDR(Bluetooth Basic Rate/Enhanced Data Rate)을 사용하는 통신들과 같은 특정 시간-임계적 통신들의 경우, 에러들을 제한하고 레이턴시를 감소시키는 것이 특히 중요하다. 이를 달성하기 위해, 새로운 기법들이 필요하다.
[0005] 다음의 요약은, 본 개시내용의 다양한 양상들의 설명을 보조하기 위해서만 제공된 개요이며, 양상들의 제한이 아니라 이들의 예시를 위해서만 제공된다.
[0006] 본 개시내용의 양상들에 따라, 방법이 제공된다. 방법은, 호스트 피코넷(host piconet)의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하는 단계; 비트맵의 하나 이상의 비트맵 부분들을 식별하는 단계 ―식별된 하나 이상의 비트맵 부분들은 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에 대응함―; 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 호스트 디바이스로부터 효과적으로 수신되는지 여부를 결정하는 단계; 및 하나 이상의 대응하는 시그니파이어(signifier)들로 비트맵을 파퓰레이팅하는 단계를 포함하며, 파퓰레이팅하는 단계는, 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되었다는 결정에 대한 응답으로, 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로 그리고 하나 이상의 비트맵 부분들의 임의의 나머지 비트맵 부분들을 널(null) 시그니파이어로 파퓰레이팅하는 단계, 및 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 널 시그니파이어로 파퓰레이팅하는 단계를 포함한다.
[0007] 본 개시내용의 양상들에 따라, 다른 방법이 제공된다. 다른 방법은, 호스트 피코넷의 복수의 리스닝 타임 슬롯들 동안 호스트 피코넷을 통해 호스트 디바이스로부터 송신되는 일련의 송신 데이터 패킷(transmitted data packet)들로부터 하나 이상의 수신 데이터 패킷(received data packet)들을 수신하는 단계; 1차/2차(primary/secondary) 피코넷을 통해 비트맵을 수신하는 단계 ―비트맵은 복수의 비트맵 부분들을 포함하며, 각각의 비트맵 부분은 호스트 피코넷의 복수의 리스닝 타임 슬롯들 중 하나에 각각 대응함―; 호스트 디바이스로부터 수신되지 않은, 일련의 송신 데이터 패킷들로부터의 하나 이상의 누락된 데이터 패킷들을 식별하기 위해, 수신된 비트맵을 분석하는 단계; 및 비트맵의 분석에 기반하여, 누락된 데이터 패킷들의 중계 리스트를 생성하는 단계를 포함한다.
[0008] 본 개시내용의 또 다른 양상들에 따라, 장치가 제공된다. 장치는 트랜시버 시스템, 메모리 시스템 및 프로세싱 시스템을 포함한다. 트랜시버 시스템은, 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하도록 구성된다. 프로세싱 시스템은, 비트맵의 하나 이상의 비트맵 부분들을 식별하고 ―식별된 하나 이상의 비트맵 부분들은 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에 대응함―; 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 호스트 디바이스로부터 효과적으로 수신되는지 여부를 결정하고; 그리고 하나 이상의 대응하는 시그니파이어들로 비트맵을 파퓰레이팅하도록 구성되며, 비트맵을 파퓰레이팅하기 위해, 프로세싱 시스템은 추가로, 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되었다는 결정에 대한 응답으로, 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로 그리고 하나 이상의 비트맵 부분들의 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅하고, 그리고 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 널 시그니파이어로 파퓰레이팅하도록 구성된다.
[0009] 본 개시내용의 또 다른 양상들에 따라, 다른 장치가 제공된다. 다른 장치는 트랜시버 시스템, 메모리 시스템 및 프로세싱 시스템을 포함한다. 트랜시버 시스템은, 호스트 피코넷의 복수의 리스닝 타임 슬롯들 동안 호스트 피코넷을 통해 호스트 디바이스로부터 송신되는 일련의 송신 데이터 패킷들로부터의 하나 이상의 수신 데이터 패킷들을 수신하고; 그리고 1차/2차 피코넷을 통해 비트맵을 수신하도록 구성되며, 비트맵은 복수의 비트맵 부분들을 포함하며, 각각의 비트맵 부분은 호스트 피코넷의 복수의 리스닝 타임 슬롯들 중 하나에 각각 대응한다. 프로세싱 시스템은, 호스트 디바이스로부터 수신되지 않은, 일련의 송신 데이터 패킷들로부터의 하나 이상의 누락된 데이터 패킷들을 식별하기 위해, 수신된 비트맵을 분석하고, 그리고 비트맵의 분석에 기반하여, 누락된 데이터 패킷들의 중계 리스트를 생성하도록 구성된다.
[0010] 본 개시내용의 또 다른 양상들에 따라, 또 다른 장치가 제공된다. 또 다른 장치는, 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하기 위한 수단; 비트맵의 하나 이상의 비트맵 부분들을 식별하기 위한 수단 ―식별된 하나 이상의 비트맵 부분들은 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에 대응함―; 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 호스트 디바이스로부터 효과적으로 수신되는지 여부를 결정하기 위한 수단; 및 하나 이상의 대응하는 시그니파이어들로 비트맵을 파퓰레이팅하기 위한 수단을 포함하며, 파퓰레이팅하기 위한 수단은, 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되었다는 결정에 대한 응답으로, 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로 그리고 하나 이상의 비트맵 부분들의 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅하기 위한 수단, 및 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 널 시그니파이어로 파퓰레이팅하기 위한 수단을 포함한다.
[0011] 본 개시내용의 또 다른 양상들에 따라, 또 다른 장치가 제공된다. 또 다른 장치는, 호스트 피코넷의 복수의 리스닝 타임 슬롯들 동안 호스트 피코넷을 통해 호스트 디바이스로부터 송신되는 일련의 송신 데이터 패킷들로부터의 하나 이상의 수신 데이터 패킷들을 수신하기 위한 수단; 1차/2차 피코넷을 통해 비트맵을 수신하기 위한 수단 ―비트맵은 복수의 비트맵 부분들을 포함하며, 각각의 비트맵 부분은 호스트 피코넷의 복수의 리스닝 타임 슬롯들 중 하나에 각각 대응함―; 호스트 디바이스로부터 수신되지 않은, 일련의 송신 데이터 패킷들로부터의 하나 이상의 누락된 데이터 패킷들을 식별하기 위해, 수신된 비트맵을 분석하기 위한 수단; 및 비트맵의 분석에 기반하여, 누락된 데이터 패킷들의 중계 리스트를 생성하기 위한 수단을 포함한다.
[0012] 본 개시내용의 또 다른 양상들에 따르면, 프로세서로 하여금. 동작들을 수행하게 하기 위한 적어도 하나의 명령을 포함하는 비-일시적 컴퓨터-판독가능 매체가 제공된다. 비-일시적 컴퓨터-판독가능 매체는, 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하기 위한 코드; 비트맵의 하나 이상의 비트맵 부분들을 식별하기 위한 코드― 식별된 하나 이상의 비트맵 부분들은 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에 대응함―; 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 호스트 디바이스로부터 효과적으로 수신되는지 여부를 결정하기 위한 코드; 및 하나 이상의 대응하는 시그니파이어들로 비트맵을 파퓰레이팅하기 위한 코드를 포함하며, 파퓰레이팅하기 위한 코드는, 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되었다는 결정에 대한 응답으로, 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로 그리고 하나 이상의 비트맵 부분들의 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅하기 위한 코드, 및 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 효과적으로 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 널 시그니파이어로 파퓰레이팅하기 위한 코드를 포함한다.
[0013] 본 개시내용의 또 다른 양상들에 따르면, 프로세서로 하여금. 동작들을 수행하게 하기 위한 적어도 하나의 명령을 포함하는 다른 비-일시적 컴퓨터-판독가능 매체가 제공된다. 다른 비-일시적 컴퓨터-판독가능 매체는, 호스트 피코넷의 복수의 리스닝 타임 슬롯들 동안 호스트 피코넷을 통해 호스트 디바이스로부터 송신되는 일련의 송신 데이터 패킷들로부터의 하나 이상의 데이터 패킷들을 수신하기 위한 코드; 1차/2차 피코넷을 통해 비트맵을 수신하기 위한 코드 ―비트맵은 복수의 비트맵 부분들을 포함하며, 각각의 비트맵 부분은 호스트 피코넷의 복수의 리스닝 타임 슬롯들 중 하나에 각각 대응함―; 호스트 디바이스로부터 수신되지 않은, 일련의 송신 데이터 패킷들로부터의 하나 이상의 누락된 데이터 패킷들을 식별하기 위해, 수신된 비트맵을 분석하기 위한 코드; 및 비트맵의 분석에 기반하여, 누락된 데이터 패킷들의 중계 리스트를 생성하기 위한 코드를 포함한다.
[0014] 첨부한 도면들은, 본 개시내용의 다양한 양상들의 설명을 보조하도록 제시되며, 양상들의 제한이 아니라 이들의 예시를 위해서만 제공된다.
[0015] 도 1은 일반적으로, 본 개시내용의 양상들에 따른 1차 디바이스, 2차 디바이스 및 호스트 디바이스를 포함하는 무선 환경을 예시한다.
[0016] 도 2는 일반적으로, 본 개시내용의 양상들에 따른, 일련의 데이터 패킷들을 1차 디바이스에 송신하기 위한, 도 1에 도시된 호스트 디바이스에 대한 방법을 예시한다.
[0017] 도 3은 일반적으로, 본 개시내용의 양상들에 따른, 도 1에 도시된 무선 환경의 엘리먼트들 간의 통신들을 도시하는 예시적인 신호 흐름도를 예시한다.
[0018] 도 4는 일반적으로, 본 개시내용의 양상들에 따른, 비트맵 준비 정보를 생성하고 송신하기 위한 방법 및 비트맵 준비 정보를 수신하고 분석하기 위한 방법을 예시한다.
[0019] 도 5는 일반적으로, 본 개시내용의 양상들에 따른, 비트맵을 파퓰레이팅하기 위한, 도 1에 도시된 1차 디바이스 및/또는 2차 디바이스에 대한 방법을 예시한다.
[0020] 도 6은 일반적으로, 본 개시내용의 양상들에 따른, 비트맵을 파퓰레이팅하기 위한, 도 1에 도시된 1차 디바이스 및/또는 2차 디바이스에 대한 다른 방법을 예시한다.
[0021] 도 7은 일반적으로, 본 개시내용의 양상들에 따른, 비트맵에 기반하여 중계 리스트를 생성하기 위한, 도 1에 도시된 1차 디바이스 및/또는 2차 디바이스에 대한 방법을 예시한다.
[0022] 도 8은 일반적으로, 1차 디바이스가 도 7의 중계 리스트를 생성하는 방법을 예시한다.
[0023] 도 9는 일반적으로, 2차 디바이스가 도 7의 중계 리스트를 생성하는 방법을 예시한다.
[0024] 도 10은 일반적으로, 도 1에 도시된 1차 디바이스, 2차 디바이스 및 호스트 디바이스 간의 예시적인 통신들에 대한 타이밍 다이어그램을 예시한다.
[0025] 도 11은 일반적으로, 도 10에 도시된 통신들에 대한 응답으로 1차 디바이스에 의해 파퓰레이팅되는 복수의 예시적인 비트맵들을 예시한다.
[0026] 도 12는 일반적으로, 도 10에 도시된 통신들에 대한 응답으로 2차 디바이스에 의해 파퓰레이팅되는 복수의 예시적인 비트맵들을 예시한다.
[0027] 도 13은 일반적으로, 도 11 및 도 12로부터의 비트맵들의 예시적인 병렬(side-by-side) 비트맵 분석을 예시한다.
[0028] 도 1은 일반적으로, 1차 디바이스(110), 2차 디바이스(120) 및 호스트 디바이스(130)를 포함하는 무선 환경(100)을 예시한다. 1차 디바이스(110) 및 호스트 디바이스(130)는 1차 디바이스(110)와 호스트 디바이스(130) 간의 통신을 가능하게 하기 위해 호스트 피코넷(140)을 설정할 수 있다. 1차 디바이스(110) 및 2차 디바이스(120)는 1차 디바이스(110)와 하나 이상의 다른 디바이스들 간의 통신을 가능하게 하기 위해 1차/2차(P/S) 피코넷(150)을 설정할 수 있다. 본 예에서, 하나 이상의 다른 디바이스들은 적어도 2차 디바이스(120)를 포함한다.
[0029] 호스트 디바이스(130)는 다른 네트워크들(도 1에 도시되지 않음)과 공존해야 할 수 있다. 예를 들어, 호스트 디바이스(130)는, 인근 WiFi 네트워크와의 과도한 간섭을 피하기 위해 호스트 피코넷(140) 상에서 통신할 때 불연속 송신/수신 방식을 관찰하도록 요구될 수 있다. 결과적으로, 1차 디바이스(110)는 호스트 디바이스(130)로부터 데이터 패킷들의 간헐적인 버스트들을 수신할 수 있다. 버스트들은 예측불가능한 시간들에 도달할 수 있고, 무기한 감소된 네트워크 활동에 의해 중단(punctuate)될 수 있다.
[0030] 1차 디바이스(110)는 P/S 피코넷(150)을 통한 2차 디바이스(120)와의 통신들과 관련하여 그 자체의 의무들을 가질 수 있다. 일부 구현들에서, 호스트 디바이스(130)는 (예를 들어, 스트리밍 오디오 애플리케이션과 연관된) 데이터 패킷들을 1차 디바이스(110) 및 2차 디바이스(120) 둘 다에 제공할 수 있다. 2차 디바이스(120)는 호스트 디바이스(130)와 직접 통신하도록 구성되지 않을 수 있고, 대신에, 누락된 임의의 데이터 패킷들을 선택적으로 중계하기 위해 1차 디바이스(110)에 의존할 수 있다. 선택적 중계를 수행하기 위해, 1차 디바이스(110) 및/또는 2차 디바이스(120)가 2차 디바이스(120)에 의해 누락된 패킷들을 식별한 다음, 1차 디바이스(110)로부터 2차 디바이스(120)로의 누락된 데이터 패킷들의 선택적인 중계를 가능하게 하도록 조정할 필요가 있을 수 있다.
[0031] 도 2를 참조하여 아래에서 더 상세히 논의되는 바와 같이, 호스트 디바이스(130)는 호스트 피코넷(140)과 연관된 TDD(Time-Division Duplexed) 통신 방식의 교번하는 타임 슬롯들을 사용하여 데이터 패킷들을 송신하도록 구성될 수 있다. 본 개시내용의 양상들에 따르면, 1차 디바이스(110) 및 2차 디바이스(120)는 시스템의 전체 효율이 개선되도록 특정 규칙들을 따르도록 구성된다.
[0032] 1차 디바이스(110)는 트랜시버 시스템(112), 메모리 시스템(114), 프로세싱 시스템(116) 및 선택적인 다른 컴포넌트들(118)을 포함할 수 있다. 트랜시버 시스템(112)은 호스트 피코넷(140), P/S 피코넷(150) 및/또는 임의의 다른 매체를 통해 신호들을 송신 및/또는 수신하도록 구성될 수 있다. 트랜시버 시스템(112)은 블루투스 프로토콜, WLAN(wireless land area network) 프로토콜, WWAN(wireless wide area network) 프로토콜, 및/또는 임의의 다른 적절한 프로토콜에 따라 동작하도록 구성될 수 있다. 예로서, 트랜시버 시스템(112)은 스트리밍 오디오 데이터를 송신 및/또는 수신하도록 구성될 수 있다. 스트리밍 오디오 데이터는, 예를 들어, BR/EDR(Bluetooth Basic Rate/Enhanced Data Rate) 프로토콜을 사용하여 비동기식으로 송신될 수 있다.
[0033] 메모리 시스템(114)은 데이터, 명령들, 또는 이들의 조합을 저장하도록 구성될 수 있다. 메모리 시스템(114)은 RAM(Random-Access Memory), 플래시 메모리, ROM(Read-only Memory), EPROM(Erasable Programmable Read-only Memory), EEPROM(electrically Erasable Programmable Read-only Memory), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 임의의 다른 형태의 비-일시적 저장 매체를 포함할 수 있다. 본원에서 사용되는 바와 같이, "비-일시적"이라는 용어는 임의의 물리적 저장 매체 또는 메모리를 배제하지 않으며, 특히 동적 메모리(예를 들어, RAM)를 배제하는 것이 아니라, 오히려 매체가 일시적인 전파 신호로서 이해될 수 있다는 해석만을 배제한다.
[0034] 프로세싱 시스템(116)은 트랜시버 시스템(112), 메모리 시스템(114) 및 다른 컴포넌트들(118)에 커플링될 수 있다. 프로세싱 시스템(116)은 메모리 시스템(114)에 저장된 명령들에 따라 동작들을 수행하도록 구성될 수 있다. 프로세싱 시스템(116)은 1차 디바이스(110)의 다른 컴포넌트들에 커맨드들을 송신하도록 구성될 수 있다. 커맨드들은, 특정 주파수로의 튜닝, 특정 타이밍에 따른 송신 및 수신, 또는 트랜시버 시스템(112)으로 또는 트랜시버 시스템(112)으로부터의 데이터 전달과 연관된 트랜시버 커맨드들일 수 있다. 부가적으로 또는 대안적으로, 커맨드들은 데이터 및/또는 명령들을 저장 및/또는 리트리브하는 것과 연관된 메모리 커맨드들일 수 있다.
[0035] 다른 컴포넌트들(118)은 하나 이상의 사용자 입력들, 하나 이상의 사용자 출력, 배터리, 및/또는 임의의 다른 적절한 컴포넌트들을 포함할 수 있다. 본 개시내용의 양상들에 따르면, 다른 컴포넌트들(118)은 오디오 신호를 송신하도록 구성된 스피커를 포함할 수 있다. 특히, 스피커는, 1차 디바이스(110)에서 부터의 전자 신호를 수신하고 전자 신호를 오디오 신호로 변환하도록 구성될 수 있다.
[0036] 2차 디바이스(120)는 트랜시버 시스템(122), 메모리 시스템(124), 프로세싱 시스템(126) 및 선택적인 다른 컴포넌트들(128)을 포함할 수 있다. 트랜시버 시스템(122), 메모리 시스템(124), 프로세싱 시스템(126), 및 다른 컴포넌트들(128)은, 1차 디바이스(110)에 포함된 트랜시버 시스템(112), 메모리 시스템(114), 프로세싱 시스템(116) 및 다른 컴포넌트들(118)과 유사할 수 있다. 간결성을 위해, 이들 컴포넌트들의 추가적인 설명은 생략될 것이다.
[0037] 일부 구현들에서, 1차 디바이스(110) 및 2차 디바이스(120)는 집합적으로 무선 이어버드(earbud)들로서 제공될 수 있다. 예를 들어, 무선 이어버드들은 청취자의 귀들에, 좌측 및 우측 오디오 스트림들을 포함하는 스테레오 사운드를 플레이하도록 구성될 수 있다. 1차 디바이스(110)는 좌측 오디오 스트림을 송신하는 한편, 2차 디바이스(120)는 우측 오디오 스트림을 송신하거나, 그 반대일 수 있다.
[0038] 호스트 디바이스(130)는 트랜시버 시스템(132), 메모리 시스템(134), 프로세싱 시스템(136) 및 선택적인 다른 컴포넌트들(138)을 포함할 수 있다. 트랜시버 시스템(132), 메모리 시스템(134), 프로세싱 시스템(136), 및 다른 컴포넌트들(138)은, 1차 디바이스(110)에 포함된 트랜시버 시스템(112), 메모리 시스템(114), 프로세싱 시스템(116) 및 다른 컴포넌트들(118)과 유사할 수 있다. 간결성을 위해, 이들 컴포넌트들의 추가적인 설명은 생략될 것이다. 호스트 디바이스(130)는 셋톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, PDA(personal digital assistant), 고정 위치 데이터 유닛, 컴퓨터, 랩톱, 태블릿, 통신 디바이스, 모바일 폰, 또는 임의의 다른 적절한 디바이스를 포함할 수 있다.
[0039] 본 개시내용의 양상들에 따르면, 호스트 디바이스(130)는 호스트 피코넷(140)을 통해 1차 디바이스(110)에 오디오 데이터를 송신할 수 있다. 호스트 피코넷(140)과 관련된 제어 데이터는 2차 디바이스(120)와 공유될 수 있으며, 2차 디바이스(120)는 호스트 디바이스(130)와 1차 디바이스(110) 간의 통신들을 도청(때때로 "스니핑(sniffing)"으로 지칭됨)할 수 있다. 이러한 방식으로, 호스트 데이터(예를 들어, 스트리밍 스테레오 오디오 데이터)는 호스트 디바이스(130)에 의해 1차 디바이스(110) 및 2차 디바이스(120) 둘 다에 송신될 수 있다.
[0040] 그러나, 무선 환경(100)에서의 특정 조건들은 데이터의 일관된 송신 및/또는 수신을 방해할 수 있다. 이에 따라, 무선 환경(100)과 유사한 무선 환경에서 호스트 데이터의 송신을 개선하기 위한 새로운 기법들이 요구된다. 도 2는 일반적으로, 본 개시내용의 양상들에 따른, 일련의 데이터 패킷들을 1차 디바이스(110)에 송신하기 위한, 도 1에 도시된 호스트 디바이스(130)에 대한 방법(200)을 예시한다.
[0041] 210에서, 호스트 디바이스(130)는 송신을 위해 일련의 데이터 패킷들 중 제1 데이터 패킷을 선택한다. 210에서 선택된 데이터 패킷은 0의 SEQN(sequence number)를 가질 수 있다. 220에서, 호스트 디바이스(130)는 호스트 피코넷(140)을 통해 데이터 패킷을 1차 디바이스(110)에 송신한다. 위에서 언급된 바와 같이, 호스트 피코넷(140)에 관련된 제어 데이터가 2차 디바이스(120)와 공유되면, 2차 디바이스(120)는 220에서 송신된 데이터 패킷들을 리스닝할 수 있다. 230에서, 호스트 디바이스(130)는, 확인 응답(ACK)이 1차 디바이스(110)로부터 수신되었는지 여부를 결정한다. ACK가 수신되지 않았다면(230에서 '아니오'), 방법(200)은 220으로 리턴하며, 여기서, 방법(200)은, 210에서 선택된 데이터 패킷(SEQN=0을 가짐)을 송신(또는 경우에 따라 재송신)한다. ACK가 수신되었다면(230에서 '예'), 방법(200)은 240으로 진행한다.
[0042] 240에서, 호스트 디바이스(130)는 송신을 위해 일련의 데이터 패킷들 중 제2 데이터 패킷을 선택한다. 210에서 선택된 데이터 패킷과는 대조적으로, 240에서 선택된 데이터 패킷은 1의 SEQN(sequence number)을 가질 수 있다. 250에서, 호스트 디바이스(130)는, 240에서 선택된 데이터 패킷을 호스트 피코넷(140)을 통해 1차 디바이스(110)에 송신한다. 250에서, 호스트 디바이스(130)는, 확인 응답(ACK)이 1차 디바이스(110)로부터 수신되었는지 여부를 결정한다. ACK가 수신되지 않았다면(260에서 '아니오'), 방법(200)은 250으로 리턴하며, 여기서, 방법(200)은, 210에서 선택된 데이터 패킷(SEQN=1을 가짐)을 송신(또는 경우에 따라 재송신)한다. ACK가 수신되었다면(260에서 '예'), 방법(200)은 210으로 리턴한다.
[0043] 도 2로부터 이해되는 바와 같이, 방법(200)은, 일련의 데이터 패킷들 내의 모든 각각의 데이터 패킷(예를 들어, 제3 데이터 패킷, 제4 데이터 패킷 등)이 1차 디바이스(110)에 송신되고 각각의 데이터 패킷에 대해 1차 디바이스(110)로부터 ACK가 수신될 때까지 되풀이될 수 있다. 더욱이, 각각의 데이터 패킷은, 마지막 데이터 패킷과 상이하고 그 다음 데이터 패킷과 상이한 SEQN을 가질 것이다. 예를 들어, SEQN=0을 갖는 2개의 상이한 데이터 패킷들은, SEQN=1을 갖는 또 다른 데이터 패킷에 의해 서로 시간상 분리될 것이다.
[0044] 특정 데이터 패킷의 송신은 호스트 피코넷(140)과 연관된 특정 타임 슬롯 그룹에서 발생할 수 있다. 특정 타임 슬롯 그룹은 1개, 3개, 또는 5개의 슬롯들을 포함할 수 있고, TDD(time-division duplexing) 방식의 미리정의된 세그먼트일 수 있다. TDD 방식은 호스트 피코넷(140)을 통해 통신하기 위한 프레임워크일 수 있다. 호스트 피코넷(140)은 마스터 및 적어도 하나의 슬레이브를 가질 수 있다. 마스터는 임의로 선택될 수 있다. 마스터는 슬레이브가 수신하는 동안 특정 슬롯 그룹의 지속기간 동안 송신한다. 그런 다음, 역할들이 역전될 수 있어, 후속 슬롯에서, 마스터가 수신하는 동안 슬레이브가 송신한다. 마스터가 송신한 다음 슬레이브가 송신하는 연속적인 슬롯 그룹들의 각각의 쌍이 "프레임"으로 지칭될 수 있다. 블루투스에서, 예를 들어, 단일 타임 슬롯은 625 마이크로초[625μs]의 지속기간을 가질 수 있다. 단일 슬롯 그룹은 1개, 3개, 또는 5개의 슬롯들을 점유할 수 있다. 이에 따라, 프레임은 2개, 4개, 6개, 8개 또는 10개의 슬롯들을 점유할 수 있다.
[0045] 호스트 피코넷(140)은, TDD 방식의 슬롯들이 호스트 디바이스(130) 및 1차 디바이스(110) 둘 다에 알려져 있는 균일한 지속기간 및 정렬을 갖도록 설정될 수 있다. 호스트 디바이스(130) 및/또는 1차 디바이스(110)가 다른 것과의 동기화를 잃게 되는 것을 방지하기 위해 때때로 타이밍 조정들이 필요할 수 있다. P/S 피코넷(150)은, TDD 방식의 슬롯들이 1차 디바이스(110) 및 2차 디바이스(120) 둘 다에 알려져 있는 균일한 지속기간 및 정렬을 갖도록, 유사하게 설정될 수 있다.
[0046] 도 3은 일반적으로, 본 개시내용의 양상들에 따른, 도 1에 도시된 무선 환경(100)의 엘리먼트들 간의 통신들을 도시하는 예시적인 신호 흐름도를 예시한다.
[0047] 301에서, 호스트 디바이스(130) 및 1차 디바이스(110)는 호스트 피코넷(140)을 설정하도록 조정한다. 302에서, 1차 디바이스(110) 및 2차 디바이스(120)는 P/S 피코넷(150)을 설정하도록 조정한다. 1차 디바이스(110)는, 위에서 언급된 바와 같이, 호스트 피코넷(140)과 관련된 제어 데이터를 2차 디바이스(120)와 공유할 수 있다.
[0048] 303에서, 1차 디바이스(110) 및 2차 디바이스(120)는 P/S 피코넷(150)의 타임 슬롯들을 호스트 피코넷(140)의 타임 슬롯들과 정렬시킬 것이다. 이는, P/S 피코넷(150)과 연관된 프레임 시퀀스의 시작의 타이밍을 지연시키거나 전진시킴으로써 행해질 수 있다. 특히, 2차 디바이스(120)의 수신 타임 슬롯들은 1차 디바이스(110)의 수신 타임 슬롯들과 (실질적으로 동시에) 매칭되어야 한다. 이에 따라, 1차 디바이스(110) 및 2차 디바이스(120) 둘 다의 수신 슬롯들은 호스트 피코넷(140) 상의 호스트 디바이스(130)의 송신 슬롯들과 정렬될 것이다. 결과적으로, 2차 디바이스(120)는 호스트 디바이스(130)의 데이터 패킷 송신들을 도청할 수 있다. 일부 구현들에서, 303에서의 정렬은 302에서의 P/S 피코넷(150)의 설정 동안 수행될 수 있다.
[0049] 310에서, 1차 디바이스(110) 및 2차 디바이스(120)는, 도 4에 더 상세히 도시되는 바와 같이, 비트맵 준비 정보를 교환한다. 비트맵 준비 정보는, 1차 디바이스(110) 및 2차 디바이스(120)가, 향후 비트맵 교환(아래에서 더 상세히 논의됨)이 실행가능한 정보를 산출하는 것을 보장하도록 조정하는 것을 가능하게 할 수 있다.
[0050] 320에서, 호스트 디바이스(130)는 일련의 데이터 패킷들로부터의 데이터 패킷을 송신하며, 각각의 데이터 패킷은 교번하는 SEQN를 갖는다. 320에서의 송신은, 이전에 설명된 도 2에 도시된 방법(200)에 따라 수행될 수 있다. 321에서, 호스트 디바이스(130)는 320에서의 송신을 반복한다. 321에서의 반복은, 320에서 일련의 데이터 패킷들의 각각의 데이터 패킷이 송신될 때까지 수행될 수 있다.
[0051] 331에서, 1차 디바이스(110)는 잠재적으로, 호스트 디바이스(130)에 의해 송신된 데이터 패킷을 수신한다. 332에서, 2차 디바이스(120)도 데이터 패킷을 수신한다. 위에서 주목된 바와 같이, 303에서의 정렬은, 1차 디바이스(110) 및 2차 디바이스(120) 둘 다의 리스닝 타임 슬롯들이 호스트 디바이스(130)의 송신 슬롯들과 일치함을 보장해야 한다.
[0052] 341에서, 1차 디바이스(110)는, 331에서 잠재적으로 발생할 수 있는 수신을 고려하여 비트맵을 파퓰레이팅한다. 342에서, 2차 디바이스(120)도 비트맵을 파퓰레이팅한다. 도 2의 설명에서 앞서 논의된 바와 같이, 호스트 디바이스(130)는 자신이 ACK를 수신할 때까지 동일한 데이터 패킷을 송신 및 재송신할 수 있다. 1차 디바이스(110)는 ACK를 송신하는 디바이스(도 3에 도시되지 않음) 일 수 있다. 호스트 디바이스(130)는 ACK가 수신될 때까지 그 다음 데이터 패킷으로 진행하지 않기 때문에, 1차 디바이스(110)는 호스트 디바이스(130)에 의해 송신되는(또는 재송신되는) 각각의 모든 데이터 패킷의 적어도 하나의 성공적인 수신을 나타내는 비트맵을 파퓰레이팅할 수 있다. 대조적으로, 2차 디바이스(120)는 ACK를 하지 않으며, 따라서 각각의 모든 데이터 패킷을 효과적으로 수신하는 것이 보장되지 않는다. 특히, 호스트 디바이스(130)는, 특정 데이터 패킷을 송신한 다음, 2차 디바이스(120)가 그 특정 데이터 패킷을 성공적으로 수신했는지 여부에 관계없이, 1차 디바이스(110)로부터의 ACK에 대한 응답으로 그 다음 데이터 패킷으로 이동할 수 있다. 341및/또는 342에서 수행되는 비트맵들의 파퓰레이션은, 아래에서 더 상세히 논의되는 바와 같이, 도 5 또는 도 6에 따라 수행될 수 있다.
[0053] 350에서, 1차 디바이스(110) 및 2차 디바이스(120)는 비트맵 교환을 수행한다. 일부 구현들에서, 1차 디바이스(110)에 의해 생성된 비트맵은 2차 디바이스(120)에 송신될 수 있다. 다른 구현들에서, 2차 디바이스(120)에 의해 생성된 비트맵은 1차 디바이스(110)에 송신될 수 있다. 또 다른 구현들에서, 1차 디바이스(110) 및 2차 디바이스(120) 둘 다가 비트맵들을 생성하고 이들을 서로 통신할 수 있다.
[0054] 361에서, 1차 디바이스(110)는 350에서 (350에서의 교환 동안 비트맵이 수신되었다고 가정하여) 수신된 비트맵을 분석한다. 362에서, 2차 디바이스(120)도 비트맵을 분석한다. 361및/또는 362에서 수행되는 비트맵들의 분석은, 아래에서 더 상세히 논의되는 바와 같이, 도 7 내지 도 9 중 하나 이상에 따라 수행될 수 있다.
[0055] 371에서, 1차 디바이스(110)는 361에서 수행된 분석에 기반하여 중계 리스트를 생성한다. 372에서, 2차 디바이스(120)도 중계 리스트를 생성한다. 위에서 주목된 바와 같이, 일부 구현들에서, 1-방향 비트맵 교환이 존재한다. 1-방향 비트맵 교환의 경우, 다른 디바이스로부터 비트맵을 수신하는 디바이스 만이 비트맵의 분석 및 중계 리스트의 생성을 수행할 것이라는 것이 이해될 것이다.
[0056] 380에서, 1차 디바이스(110) 및 2차 디바이스(120)는 누락된 패킷들의 선택적 중계를 수행한다. 1차 디바이스(110)가 371에서 중계 리스트를 생성했다면, 380에서의 선택적 중계는 중계 리스트에서 식별된 누락된 데이터 패킷들의 2차 디바이스(120)로의 송신을 포함할 수 있다. 2차 디바이스(120)가 372에서 중계 리스트를 생성했다면, 380에서의 선택적 중계는 2차 디바이스(120)로부터 1차 디바이스(110)로의 중계 리스트의 송신으로 시작할 수 있다. 그런 다음, 1차 디바이스(110)는 누락된 데이터 패킷들의 2차 디바이스(120)로의 송신을 착수할 수 있다.
[0057] 도 4는 일반적으로, 본 개시내용의 양상들에 따른, 비트맵 준비 정보를 생성하고 송신하기 위한 방법(410) 및 비트맵 준비 정보를 수신하고 분석하기 위한 방법(420)을 예시한다. 일부 구현들에서, 1차 디바이스(110)는 방법(410)을 수행하고, 2차 디바이스(120)는 방법(420)을 수행한다. 대안적으로, 2차 디바이스(120)는 방법(410)을 수행할 수 있고, 1차 디바이스(110)는 방법(420)을 수행할 수 있다. 위에서 주목된 바와 같이, 비트맵 준비 정보의 교환은, 1차 디바이스(110) 및 2차 디바이스(120)가 누락된 데이터 패킷들의 선택적 중계를 위해 비트맵들의 파퓰레이션 및 분석을 조정하는 것을 가능하게 한다.
[0058] 412에서, 방법(410)은 복수의 타임 슬롯들에 각각 대응하는 복수의 비트맵 부분들을 선택하며, 복수의 비트맵 부분들은 비트맵 시작 및 비트맵 끝을 갖는 비트맵을 구성한다. 412에서의 선택은, 비트맵 준비 정보를 생성하는 프로세스를 시작할 수 있고, 임의의 수의 적절한 트리거들에 의해 프롬프팅될 수 있다. 예를 들어, 방법(410)은, 마지막 시간 선택적 중계가 수행된 이후 특정 시간량이 경과되었거나 특정 수의 패킷들이 수신되었다는 것을 결정할 수 있다. 부가적으로 또는 대안적으로, 방법(410)은, 호스트 디바이스(130)가 어떤 이유로 침묵했고, 이것이 선택적 중계를 수행하기에 적절한 시간일 것임을 결정했다는 것을 결정할 수 있다.
[0059] 414에서, 방법(410)은, 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 타임 슬롯을 식별한다. 비트맵 오리진 타임 슬롯은, 특정 패킷 카운터 넘버, 특정 시퀀스 넘버, 호스트 피코넷의 특정 클록 값, 및/또는 1차/2차 피코넷의 특정 클록 값과 연관될 수 있다.
[0060] 416에서, 방법(410)은 비트맵 길이를 식별하며, 비트맵 길이는 비트맵에서 표현된 다수의 타임 슬롯들 및/또는 비트맵에서의 다수의 비트맵 부분들을 포함한다. 길이의 방향(오리진 타임 슬롯에 대해 시간상 전방향 또는 시간상 역방향)은, 미리결정될 수 있고 1차 디바이스(110) 및 2차 디바이스(120) 둘 다에 알려질 수 있다. 부가적으로 또는 대안적으로, 비트맵 준비 정보는 길이의 방향을 명시적으로 표시할 수 있다. 길이의 방향은, 비트맵 오리진 타임 슬롯이 비트맵에 의해 표현된 가장이른 타임 슬롯(즉, 시작) 또는 비트맵에 의해 표현된 가장늦은 타임 슬롯(즉, 끝)을 구성하는지 여부를 결정할 수 있다.
[0061] 418에서, 방법(410)은 비트맵 준비 정보를 다른 디바이스(예를 들어, 1차 디바이스(110) 또는 2차 디바이스(120))에 송신한다. 418에서의 송신은 P/S 피코넷(150)을 사용하여 수행될 수 있다.
[0062] 412에서의 선택, 414에서의 식별 및 416에서 식별은, 예를 들어, 도 1에 도시된 1차 디바이스(110)의 메모리 시스템(114) 및 프로세싱 시스템(116)에 의해 수행될 수 있다. 이에 따라, 도 1에 도시된 메모리 시스템(114) 및 프로세싱 시스템(116)은, 복수의 타임 슬롯들에 각각 대응하는 복수의 비트맵 부분들을 선택하기 위한 수단― 복수의 비트맵 부분들은 비트맵을 구성함―, 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 타임 슬롯을 식별하기 위한 수단 ―비트맵 오리진 타임 슬롯은, 특정 패킷 카운터 넘버, 특정 시퀀스 넘버, 호스트 피코넷의 특정 클록 값, 및/또는 1차/2차 피코넷의 특정 클록 값과 연관됨―, 및 비트맵 길이를 식별하기 위한 수단을 구성할 수 있고, 비트맵 길이는 비트맵에서의 다수의 타임 슬롯들 및/또는 다수의 비트맵 부분들을 포함한다. 418에서의 송신은, 예를 들어 도 1에 도시된 트랜시버 시스템(112)에 의해 수행될 수 있다. 이에 따라, 도 1에 도시된 트랜시버 시스템(112)은 1차/2차 피코넷을 통해 다른 디바이스에 비트맵 준비 정보를 송신하기 위한 수단을 구성할 수 있다. 대안적으로, 2차 디바이스(120)가 방법(410)을 수행하면, 메모리 시스템(124) 및 프로세싱 시스템(126)은, 개개의 선택하기 위한 수단, 식별하기 위한 수단 및 식별하기 위한 수단을 구성할 수 있는 반면, 트랜시버 시스템(122)은 송신하기 위한 수단을 구성할 수 있다.
[0063] 422에서, 방법(420)은 1차 디바이스(110)로부터 비트맵 준비 정보를 수신한다. 수신은 P/S 피코넷(150)을 사용하여 수행될 수 있다.
[0064] 424에서, 방법(420)은 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 타임 슬롯을 식별한다. 위에서 주목된 바와 같이, 비트맵 오리진 타임 슬롯은, 특정 패킷 카운터 넘버, 특정 시퀀스 넘버, 호스트 피코넷의 특정 클록 값, 및/또는 1차/2차 피코넷의 특정 클록 값과 연관될 수 있다. 비트맵 오리진 타임 슬롯은 과거 타임 슬롯, 현재 타임 슬롯, 또는 향후 타임 슬롯일 수 있다.
[0065] 426에서, 방법(420)은 비트맵 길이를 식별한다. 위에서 주목된 바와 같이, 비트맵 길이는 비트맵에서 다수의 타임 슬롯들 및/또는 다수의 비트맵 부분들을 포함할 수 있다.
[0066] 428에서, 방법(420)은, 424에서 식별된 비트맵 오리진 타임 슬롯 및 426에서 식별된 비트맵 길이에 기반하여 비트맵을 구성하는 복수의 타임 슬롯들 및/또는 비트맵 부분들을 식별한다.
[0067] 422에서의 수신은, 예를 들어, 도 1에 도시된 트랜시버 시스템(122)에 의해 수행될 수 있다. 이에 따라, 2차 디바이스(120)의 트랜시버 시스템(122)은 1차/2차 피코넷을 통해 다른 디바이스로부터 비트맵 준비 정보를 수신하기 위한 수단을 구성할 수 있다. 424에서의 식별, 426에서의 식별 및 428에서의 식별은, 예를 들어, 도 1에 도시된 2차 디바이스(120)의 메모리 시스템(124) 및 프로세싱 시스템(126)에 의해 수행될 수 있다. 이에 따라, 메모리 시스템(124) 및 프로세싱 시스템(126)은, 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 타임 슬롯을 식별하기 위한 수단, 비트맵 길이를 식별하기 위한 수단, 및 비트맵 오리진 타임 슬롯 및 비트맵 길이에 기반하여 비트맵을 구성하는 복수의 타임 슬롯들 및/또는 비트맵 부분들을 식별하기 위한 수단을 구성할 수 있다. 대안적으로, 1차 디바이스(110)가 방법(420)을 수행하면, 메모리 시스템(114) 및 프로세싱 시스템(116)은, 개개의 식별하기 위한 수단을 구성할 수 있는 반면, 트랜시버 시스템(112)은 수신하기 위한 수단을 구성할 수 있다.
[0068] 도 5는 일반적으로, 본 개시내용의 양상들에 따른, 비트맵을 파퓰레이팅하기 위한, 도 1에 도시된 1차 디바이스(110) 및/또는 2차 디바이스(120)에 대한 방법(500)을 예시한다. 아래에서 더 상세히 논의될 바와 같이, 방법(500)에 따라 파퓰레이팅된 비트맵은 1-비트 비트맵 부분들을 포함할 수 있으며, 각각의 비트맵 부분은 2개의 가능한 상태들 중 하나를 표현할 수 있다.
[0069] 510에서, 방법(500)은 호스트 피코넷(140)의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스(130)를 리스닝한다.
[0070] 520에서, 방법(500)은 비트맵의 하나 이상의 비트맵 부분들을 식별하고, 식별된 하나 이상의 비트맵 부분들은 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에 대응한다.
[0071] 530에서, 방법(500)은, 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 호스트 디바이스로부터 효과적으로 수신되는지 여부를 결정한다. 효과적으로 수신된 시그널링은 데이터 패킷 또는 그 일부를 포함할 수 있다. 대안적으로, 효과적으로 수신되지 않은 시그널링은, 송신되지 않은 시그널링, 수신되지 않은 시그널링, 또는 불완전하게 수신된 또는 에러들을 갖게 수신된 시그널링을 포함할 수 있다. 530에서의 결정은, 예를 들어, 하나 이상의 리스닝 타임 슬롯들 동안 데이터 패킷 헤더를 수신하는 것― 데이터 패킷 헤더는, 데이터 패킷이 데이터 패킷 페이로드를 포함하는지 여부를 표시함―, 및 데이터 패킷이 데이터 패킷 페이로드를 포함함을 데이터 패킷 헤더가 표시한다는 것을 결정하는 것을 포함할 수 있다. 방법(500)이 시그널링이 효과적으로 수신되지 않았다는 것을 결정하면(530에서 '아니오'), 방법(500)은 550으로 진행한다. 방법(500)이 시그널링이 효과적으로 수신되었다는 것을 결정하면(530에서 '예'), 방법은 542으로 진행한다.
[0072] 542에서, 방법(500)은 선택적으로, 데이터 패킷을 암호해독한다.
[0073] 544에서, 방법(500)은 선택적으로, 데이터 패킷의 암호해독이 메시지 무결성 검사(MIC) 에러를 야기했는지를 결정한다. 방법(500)이 데이터 패킷의 암호해독이 MIC 에러를 야기했다고 결정하면(544에서 '예'), 방법(500)은 550으로 진행한다. 방법(500)이 데이터 패킷의 암호해독이 MIC 에러를 야기하지 않았다고 결정하면(544에서 '아니오'), 방법(500)은 570으로 진행한다.
[0074] 550에서, 방법(500)은 하나 이상의 비트맵 부분들 각각을 널 시그니파이어로 파퓰레이팅한다. 도 5에 따라 파퓰레이팅된 1-비트 비트맵에서, 널 시그니파이어는 제로('0') 또는 일('1')에 의해 표현될 수 있다. 널 시그니파이어를 표현하는 이 값이 비트맵들을 파퓰레이팅 및/또는 분석하는 디바이스들에 알려져 있는 한, 이 값은 임의로 선택될 수 있다는 것이 이해될 것이다. 전술한 바로부터 이해되는 바와 같이, 550에서의 파퓰레이팅은, (530에서와 같이) 데이터 패킷 페이로드를 갖는 데이터 패킷이 수신되지 않았다는 결정에 대한 응답으로, 또는 542에서의 암호해독이 544에서의 MIC 에러를 초래했다는 결정에 대한 응답으로 발생할 수 있다.
[0075] 570에서, 방법(500)은 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로 파퓰레이팅한다. 도 5에 따라 파퓰레이팅된 1-비트 비트맵에서, 수신 시그니파이어는 널 시그니파이어를 표현하는 값의 반대값에 의해 표현될 수 있다.
[0076] 590에서, 방법(500)은 하나 이상의 비트맵 부분들의 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅한다. 위에서 주목된 바와 같이, 데이터 패킷은, 예를 들어, 1개의 슬롯, 3개의 슬롯들 또는 5개의 슬롯들의 지속기간에 걸쳐 송신될 수 있다. 데이터 패킷들이 1개의 슬롯의 지속기간에 걸쳐 송신되면, 그 슬롯은 '제1' 비트맵 부분(이는 수신 시그니파이어로 570에서 파퓰레이팅됨)에 대응하고, 나머지 비트맵 부분들이 없다(따라서 590에서 파퓰레이팅되는 것은 아무것도 없다). 데이터 패킷들이 3개 또는 5개의 슬롯들의 지속기간에 걸쳐 송신되면, 가장이른 슬롯은 '제1' 비트맵 부분(이는 570에서 수신 시그니파이어로 파퓰레이팅됨)에 대응하고, 나중 슬롯들은 나머지 비트맵 부분들(이는 590에서 널 시그니파이어로 파퓰레이팅됨)을 구성한다.
[0077] 방법(500)이 1차 디바이스(110)에 의해 수행되면, 510에서의 리스닝은, 예를 들어, 도 1에 도시된 트랜시버 시스템(112)에 의해 수행될 수 있다. 이에 따라, 트랜시버 시스템(112)은 호스트 피코넷의 리스닝 타임 슬롯에서 호스트 디바이스를 리스닝하기 위한 수단을 구성할 수 있다. 도 5에 도시된 나머지 동작들은, 예를 들어, 도 1에 도시된 메모리 시스템(114) 및/또는 프로세싱 시스템(116)에 의해 수행될 수 있다. 이에 따라, 메모리 시스템(114) 및/또는 프로세싱 시스템(116)은, 비트맵의 하나 이상의 비트맵 부분들을 식별하기 위한 수단 ―식별된 하나 이상의 비트맵 부분들은 호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에 대응함―; 데이터 패킷 페이로드를 갖는 데이터 패킷이 하나 이상의 리스닝 타임 슬롯들 동안 호스트 디바이스로부터 효과적으로 수신되는지 여부를 결정하기 위한 수단, 데이터 패킷을 암호해독하기 위한 수단, 암호해독이 메시지 무결성 검사를 통과하는지 여부를 결정하기 위한 수단, 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로 파퓰레이팅하기 위한 수단, 하나 이상의 비트맵 부분들의 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅하기 위한 수단, 및 하나 이상의 값들 각각을 널 시그니파이어로 파퓰레이팅하기 위한 수단을 구성할 수 있다. 대안적으로, 방법(500)이 2차 디바이스(120)에 의해 수행되면, 트랜시버 시스템(122)은 리스닝하기 위한 수단을 구성할 수 있는 반면, 메모리 시스템(124) 및/또는 프로세싱 시스템(126)은 메모리 시스템(114) 및/또는 프로세싱 시스템(116)과 유사한 동작들을 수행하기 위한 수단을 구성할 수 있다.
[0078] 도 6은 일반적으로, 본 개시내용의 양상들에 따른, 비트맵을 파퓰레이팅하기 위한, 도 1에 도시된 1차 디바이스(110) 및/또는 2차 디바이스(120)에 대한 다른 방법(600)을 예시한다. 방법(500)과 대조적으로, 방법(600)에 따라 파퓰레이팅된 비트맵은 2-비트 비트맵 부분들을 포함할 수 있으며, 각각의 비트맵 부분은 4개의 가능한 상태들 중 하나를 표현할 수 있다.
[0079] 방법(500)과 방법(600) 간의 차이는 제1 비트맵 부분의 파퓰레이팅에 관한 것이다. 그러나, 방법(500) 및 방법(600)에 공통인 몇몇 동작들이 존재한다. 특히, 510에서의 리스닝, 520에서의 식별, 530에서의 결정, 542에서의 선택적인 암호해독, 544에서의 선택적인 결정, 및 550에서의 파퓰레이팅은 위에서 설명된 바와 동일할 수 있다. 이에 따라, 이의 추가적인 설명은 간결성을 위해 생략된다.
[0080] 위에서 주목된 바와 같이, 방법(600)은 선택적으로, (542에서) 암호해독 및 (544에서) 암호해독이 메시지 무결성 검사를 통과하는지 여부에 대한 결정을 포함할 수 있다. 도 5에 따라 파퓰레이팅된 1-비트 비트맵(여기서, 방법(500)이 530 또는 544로부터 진행되는지 여부에 관계없이, 하나 이상의 비트맵 부분들이 파퓰레이팅됨)과는 달리, 도 6에 따라 파퓰레이팅된 2-비트 비트맵은 수신 실패들과 MIC 에러들 간을 구별하기 위해 사용될 수 있다.
[0081] 이에 따라, 650에서, 방법(600)은, 하나 이상의 비트맵 부분 중 제1 비트맵 부분을 MIC-에러 시그니파이어로 파퓰레이팅한 다음, 690으로 진행한다. 690에서의 파퓰레이팅은 590에서의 파퓰레이팅과 유사할 수 있다(여기서, 임의의 나머지 비트맵 부분들은 널 시그니파이어로 파퓰레이팅됨). 이에 따라, 이의 추가적인 설명은 간결성을 위해 생략될 것이다.
[0082] 660에서, 방법(600)은 데이터 패킷과 연관된 시퀀스 넘버를 결정한다. 위에서 주목된 바와 같이, 660에서의 결정으로 진행하기 위한 조건들 중 하나는, 데이터 패킷 페이로드를 갖는 데이터 패킷이, 530에서, 수신된 것으로 결정되어야 한다는 것이다. 데이터 패킷은, 데이터 패킷이 데이터 패킷 페이로드 및/또는 데이터 패킷과 연관된 SEQN를 갖는지 여부를 표시하는 데이터 패킷 헤더를 포함할 수 있다. 방법(600)이 시퀀스 넘버가 SEQN=0인 것을 결정하면(660에서 '0'), 방법(600)은 670으로 진행한다. 방법(600)이 시퀀스 넘버가 SEQN=1인 것을 결정하면(660에서 '1'), 방법은 671로 진행한다.
[0083] 670에서, 방법(600)은 제1 비트맵 부분을 시퀀스-넘버-0 수신 시그니파이어로 파퓰레이팅한다. 671에서, 방법(600)은 제1 비트맵 부분을 시퀀스-넘버-1 수신 시그니파이어로 파퓰레이팅한다.
[0084] 도 5와 관련하여 위에서 주목된 바와 같이, 널 시그니파이어 및 수신 시그니파이어는 단일 비트를 사용하여 표시될 수 있다. 예를 들어, 0은 널 시그니파이어를 표현할 수 있고, 1은 수신 시그니파이어를 표현할 수 있다. 그러나, 어느 시그니파이어가 어느 값에 해당하는지는 임의로 선택되고 개개의 디바이스들에 알려진다. 유사하게, 도 6에 따라 파퓰레이팅된 2-비트 비트맵과 연관된 4개의 시그니파이어들은 또한, 임의적으로 선택된 값들에 대응할 수 있다. 예를 들어, 널 시그니파이어는 '00'으로 표현될 수 있고, MIC-에러 시그니파이어는 '01'로 표현될 수 있고, 시퀀스-넘버-제로 시그니파이어는 '10'으로 표현될 수 있으며, 시퀀스-넘버-1 시그니파이어는 '11'로 표현될 수 있다.
[0085] 도 5 및 도 6에 따라 파퓰레이팅된 비트맵들은 비트맵 패키지로 패키징되어 송신될 수 있다. 비트맵 패키지는 또한, 부가적인 정보, 예를 들어, 데이터 패킷이 수신될 수 있는 슬롯들의 최대 수를 표시하는 슬롯 카운트 정보, 데이터 패킷의 타입을 표시하는 패킷 타입 정보, 데이터 패킷이 새로운 데이터 패킷인지 아니면 재송신 데이터 패킷인지를 여부를 나타내는 재송신 정보, 또는 이들의 임의의 조합을 포함할 수 있다.
[0086] 도 7은 일반적으로, 본 개시내용의 양상들에 따른, 비트맵에 기반하여 중계 리스트를 생성하기 위한, 도 1에 도시된 1차 디바이스(110) 및/또는 2차 디바이스(120)에 대한 방법(700)을 예시한다.
[0087] 710에서, 방법(700)은, 호스트 피코넷(140)의 복수의 리스닝 타임 슬롯들 동안 호스트 피코넷(140)을 통해 호스트 디바이스(130)로부터 송신되는 일련의 송신 데이터 패킷들로부터 하나 이상의 수신 데이터 패킷들을 수신한다.
[0088] 720에서, 방법(700)은 P/S 피코넷(150)을 통해 비트맵을 수신하며, 비트맵은 복수의 비트맵 부분들을 포함하며, 각각의 비트맵 부분은 호스트 피코넷(140)의 복수의 리스닝 타임 슬롯들 중 하나에 각각 대응한다.
[0089] 730에서, 방법(700)은, 호스트 디바이스(130)로부터 수신되지 않은, 일련의 송신 데이터 패킷들로부터의 하나 이상의 누락된 데이터 패킷들을 식별하기 위해 비트맵을 분석한다.
[0090] 740에서, 방법(700)은 비트맵의 분석에 기반하여, 누락된 데이터 패킷들의 중계 리스트를 생성한다.
[0091] 1차 디바이스(110)가 방법(700)을 수행하면, 방법(700)은 도 7에 표시된 바와 같이, 선택적으로 750으로 진행할 수 있다. 750에서, 방법(700)은, 중계 리스트에서의 누락된 데이터 패킷들에 대응하는 하나 이상의 데이터 패킷들을 2차 디바이스(120)에 송신한다.
[0092] 2차 디바이스(120)가 방법(700)을 수행하면, 방법(700)은 도 7에 표시된 바와 같이, 선택적으로 760 및 770으로 진행할 수 있다. 760에서, 방법(700)은 중계 리스트를 1차 디바이스(110)에 송신한다. 770에서, 방법(700)은, 중계 리스트에서의 누락된 데이터 패킷들에 대응하는 하나 이상의 데이터 패킷들을 1차 디바이스(110)로부터 수신한다.
[0093] 1차 디바이스(110)가 방법(700)을 수행하면, 710에서의 수신 및 720에서의 수신은, 예를 들어, 도 1에 도시된 1차 디바이스(110)의 트랜시버 시스템(112)에 의해 수행될 수 있다. 이에 따라, 트랜시버 시스템(112)은, 호스트 피코넷의 복수의 리스닝 타임 슬롯들 동안 호스트 피코넷을 통해 호스트 디바이스로부터 송신되는 일련의 송신 데이터 패킷들로부터의 하나 이상의 수신 데이터 패킷들을 수신하기 위한 수단, 및 1차/2차 피코넷을 통해 비트맵을 수신하기 위한 수단을 구성할 수 있으며, 비트맵은 복수의 비트맵 부분들을 포함하며, 각각의 비트맵 부분은 호스트 피코넷의 복수의 리스닝 타임 슬롯들 중 하나에 각각 대응한다. 730에서의 분석 및 740에서의 생성은, 예를 들어, 도 1에 도시된 1차 디바이스(110)의 메모리 시스템(114) 및/또는 프로세싱 시스템(116)에 의해 수행될 수 있다. 이에 따라, 메모리 시스템(114 및/또는 116)은, 호스트 디바이스로부터 수신되지 않은, 일련의 송신 데이터 패킷들로부터의 하나 이상의 누락된 데이터 패킷들을 식별하기 위해 비트맵을 분석하기 위한 수단, 및 비트맵의 분석에 기반하여, 누락된 데이터 패킷들의 중계 리스트를 생성하기 위한 수단을 구성할 수 있다. 대안적으로, 2차 디바이스(120)가 방법(700)을 수행하면, 710에서의 수신 및 720에서의 수신은 트랜시버 시스템(122)에 의해 수행될 수 있는 반면, 730에서의 분석 및 740에서의 생성은 메모리 시스템(124) 및/또는 프로세싱 시스템(126)에 의해 수행될 수 있다. 이에 따라, 트랜시버 시스템(122)은 개개의 수신하기 위한 수단 및 수신하기 위한 수단을 구성할 수 있는 반면, 메모리 시스템(124) 및/또는 프로세싱 시스템(126)은 분석하기 위한 수단 및 생성하기 위한 수단을 구성할 수 있다. 750에서의 송신은, 예를 들어, 트랜시버 시스템(112)에 의해 수행될 수 있다. 이에 따라, 트랜시버 시스템(112)은 중계 리스트에서의 누락된 데이터 패킷들에 대응하는 하나 이상의 데이터 패킷들을 2차 디바이스에 송신하기 위한 수단을 구성할 수 있다. 760에서의 송신 및 770에서의 수신은, 예를 들어, 트랜시버 시스템(122)에 의해 수행될 수 있다. 이에 따라, 트랜시버 시스템(112)은 중계 리스트를 1차 디바이스에 송신하기 위한 수단, 및 중계 리스트에서의 누락된 데이터 패킷들에 대응하는 하나 이상의 데이터 패킷들을 1차 디바이스로부터 수신하기 위한 수단을 구성할 수 있다.
[0094] 도 8은 일반적으로, 1차 디바이스(100)가 도 7의 중계 리스트를 생성하는 방법(800)을 예시한다. 도 7과 관련하여 위에서 주목된 바와 같이, 730에서의 분석 및 740에서의 생성은 1차 디바이스(110) 또는 2차 디바이스(120)에 의해 수행될 수 있다. 도 8에 도시된 830에서의 분석은, 도 7에 도시된 730에서의 분석에 대응하지만, 분석이 1차 디바이스(110)에 의해 수행되고 있는 경우에 수행될 수 있는 부가적인 동작들을 포함한다. 마찬가지로, 도 8에 도시된 840에서의 생성은, 도 7에 도시된 740에서의 생성에 대응하지만, 분석이 1차 디바이스(110)에 의해 수행되고 있는 경우에 수행될 수 있는 부가적인 동작들을 포함한다.
[0095] 832에서, 방법(800)은, 일련의 특정 수신 데이터 패킷에 대해, 특정 수신 데이터 패킷이 수신되었던 하나 이상의 특정 타임 슬롯들을 식별한다.
[0096] 834에서, 방법(800)은 하나 이상의 특정 타임 슬롯들을 2차-디바이스 비트맵의 하나 이상의 대응하는 비트맵 부분들에 매칭시킨다.
[0097] 836에서, 방법(800)은, 하나 이상의 대응하는 비트맵 부분들이 적어도 하나의 수신 시그니파이어를 포함하는지 여부를 결정한다. 적어도 하나의 수신 시그니파이어는 도 5와 관련하여 위에서 설명된 수신 시그니파이어, 도 6과 관련하여 위에서 설명된 시퀀스-넘버-0 수신 시그니파이어, 또는 도 6과 관련하여 위에서 설명된 시퀀스-넘버-1 수신 시그니파이어와 유사할 수 있다.
[0098] 838에서, 방법(800)은, 하나 이상의 대응하는 비트맵 부분들이 적어도 하나의 수신 시그니파이어를 포함하지 않는다는 결정에 대한 응답으로, 데이터 패킷을 누락된 데이터 패킷으로서 인식한다.
[0099] 842에서, 방법(800)은 누락된 데이터 패킷에 대응하는 패킷 카운터 넘버 또는 클록 값을 결정한다.
[00100] 844에서, 방법(800)은 결정된 패킷 카운터 넘버 또는 클록 값을 중계 리스트에 부가한다.
[00101] 도 9는 일반적으로, 2차 디바이스(120)가 도 7의 중계 리스트를 생성하는 방법(900)을 예시한다. 도 7과 관련하여 위에서 주목된 바와 같이, 730에서의 분석 및 740에서의 생성은 1차 디바이스(110) 또는 2차 디바이스(120)에 의해 수행될 수 있다. 도 9에 도시된 930에서의 분석은, 도 7에 도시된 730에서의 분석에 대응하지만, 분석이 2차 디바이스(120)에 의해 수행되고 있는 경우에 수행될 수 있는 부가적인 동작들을 포함한다. 마찬가지로, 도 9에 도시된 940에서의 생성은, 도 7에 도시된 740에서의 생성에 대응하지만, 분석이 2차 디바이스(120)에 의해 수행되고 있는 경우에 수행될 수 있는 부가적인 동작들을 포함한다.
[00102] 932에서, 방법(900)은, 1차-디바이스 비트맵의 복수의 비트맵 부분들을 하나 이상의 섹션들로 분할하며, 하나 이상의 섹션들 각각은, 일련의 송신 데이터 패킷들에서의 특정 송신 데이터 패킷의 데이터 패킷 헤더가 송신되었을 수 있는 리스닝 타임 슬롯들의 대응하는 범위에 각각 대응한다.
[00103] 934에서, 방법(900)은, 하나 이상의 섹션들 각각에 대해, 하나 이상의 수신 데이터 패킷들 중 적어도 하나에 대응하는 적어도 하나의 데이터 패킷 헤더가 리스닝 타임 슬롯들의 대응하는 범위 동안 수신되었는지 여부를 결정한다.
[00104] 936에서, 방법(900)은, 하나 이상의 수신 데이터 패킷들 중 적어도 하나에 대응하는 데이터 패킷 헤더가 리스닝 타임 슬롯들의 대응하는 범위 동안 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 섹션들 중 특정 섹션이 누락된 데이터 패킷에 대응한다는 것을 인식한다.
[00105] 942에서, 방법(900)은 특정 섹션에 대응하는 패킷 카운터 넘버 또는 클록 값을 결정한다.
[00106] 944에서, 방법(900)은 결정된 패킷 카운터 넘버 또는 클록 값을 중계 리스트에 부가한다.
[00107] 도 10-도 13은 도 1에 도시된 디바이스들 간의 통신들이 다양한 성공 정도로 수행되는 예시적인 시나리오에 관한 것이다. 본 개시내용에 따른 동작들을 수행함으로써(즉, 도 2-도 9에 도시된 방법들을 실시함으로써), 1차 디바이스(110) 및/또는 2차 디바이스(120)가, 감소된 오버헤드 및/또는 더 적은 재송신들로, 누락된 데이터 패킷들의 선택적 중계를 효과적으로 수행할 수 있다는 것이 예시될 것이다.
[00108] 도 10은 일반적으로, 도 1에 도시된 1차 디바이스(110), 2차 디바이스(120) 및 호스트 디바이스(130) 간의 예시적인 통신들에 대한 타이밍 다이어그램(1000)을 예시한다. 도 10에 도시된 시나리오는 단지 예시를 위해 제공된 구체적인 예이며, 도 5-도 9에 도시된 다양한 방법들은 도 10에 도시된 시나리오와는 상이한 시나리오들에서 실시될 수 있다는 것이 이해될 것이다.
[00109] 타이밍 다이어그램(1000)은 1차 디바이스(110)의 동작들을 도시하는 1차 디바이스 타임라인(1001), 2차 디바이스(120)의 동작들을 도시하는 2차 디바이스 타임라인(1002), 및 호스트 디바이스(130)의 동작들을 도시하는 호스트 디바이스 타임라인(1003)을 포함한다. 타이밍 다이어그램(1000)은 라벨들 '0' 내지 '27'로 인덱싱된 28개의 타임 슬롯들로 분할된다. 도 10에 도시된 예시적인 시나리오에서, 이들 28개의 타임 슬롯들은 비트맵에 의해 표현될 것이다. 영차(zeroth) 타임 슬롯으로 시작하는 28개의 타임 슬롯들이 도시되지만, 이는 예시적 목적들을 위한 것이며, 임의의 특정 타임 슬롯 인덱스에서 시작되거나 또는 끝나는 임의의 수의 타임 슬롯들이 존재할 수 있다는 것이 이해될 것이다.
[00110] 이전의 논의를 고려하여, 호스트 디바이스(130)와 1차 디바이스(110) 간의 통신들이 호스트 피코넷(140)을 통해 수행될 수 있다는 것이 이해될 것이다. 더욱이, 타임 슬롯들은 프레임들로 구성될 수 있으며, 호스트 피코넷(140)의 마스터(이 특정 예에서 호스트 디바이스(130))는 프레임의 제1 타임 슬롯에서 송신하며 호스트 피코넷(140)의 슬레이브(1차 디바이스(110))는 프레임의 제2 타임 슬롯에서 송신한다. 이에 따라, 호스트 디바이스(130)는, 1차 디바이스(110)가 수신하는 동안, 짝수 넘버의 타임 슬롯들('0', '2', '4' 등)에서 송신할 것이고, 1차 디바이스(110)는, 호스트 디바이스(130)가 수신하는 동안, 홀수 넘버의 타임 슬롯들('1', '3', '5' 등)에서 송신할 것이다.
[00111] P/S 피코넷(150)의 타임 슬롯들이 호스트 피코넷(140)의 타임 슬롯들과 정렬된다는 것이 추가로 이해될 것이다. 이는 2차 디바이스(120)의 부분에 대한 도청을 가능하게 한다.
[00112] 이 시나리오에서, 호스트 디바이스(130)는 일련의 데이터 패킷들을 송신하는 중간 지점에 있다. 각각의 데이터 패킷은 3-슬롯 데이터 패킷이며, 이는 데이터 패킷의 시작은 호스트 피코넷(140)의 제1 송신 타임 슬롯(예를 들어, 타임 슬롯 '0')에서 송신되고 데이터 패킷의 끝은 호스트 피코넷(140)(즉, 타임 슬롯 '2')의 그 다음 송신 타임 슬롯(이는, 수신 타임 슬롯(즉, 타임 슬롯 '1')에 의해 제1 송신 타임 슬롯과 분리됨)에서 송신된다는 것을 의미한다. 3-슬롯 데이터 패킷들이 도 10에 도시되지만, 데이터 패킷들은 임의의 적절한 수의 슬롯들, 예를 들어, 1개의 슬롯, 3개의 슬롯들, 5개의 슬롯들 등을 점유할 수 있다는 것이 이해될 것이다.
[00113] 도 10에 도시된 첫번째 데이터 패킷은, SEQN=0을 갖는 패킷 #21이다. 예로서, 패킷 #21은, 비트맵에 의해 표현되는 28개의 타임 슬롯들 동안 송신되지 않았기 때문에 도 10에는 도시되지 않은 20개의 이전 패킷들이 선행될 수 있다. 이 예시적 시나리오에서, 패킷 #21의 시작 및 패킷 #21의 끝은 타임 슬롯들 '0' 및 '2'에서 각각 1차 디바이스(110)에 의해 수신된다. 1차 디바이스(110)는, 호스트 피코넷(140)의 나중의 송신 슬롯(특히, 타임 슬롯 '3') 동안 호스트 디바이스(130)에 ACK를 송신함으로써 응답한다. 어떤 이유로(가능하게는 간섭), 호스트 디바이스(130)는 1차 디바이스(110)에 의해 송신된 ACK를 수신하지 않는다(도 10에서, 1차 디바이스 타임라인(1001)과 호스트 디바이스 타임라인(1003) 사이에 도시된 "x"로 표시됨). 본 예에서, 2차 디바이스(120)는 (어떠한 이유로든) 이 시점에서는 수신하지 않고, 따라서 패킷 #21의 초기 송신을 누락한다.
[00114] 호스트 디바이스(130)는 타임 슬롯 '3'에서 송신된 ACK를 수신하지 않기 때문에, 호스트 디바이스(130)는 패킷 #21을 재송신하기로 결정한다. 결과적으로, 패킷 #21의 시작 및 패킷 #21의 끝은 타임 슬롯들 '4' 및 '6'에서 각각 1차 디바이스(110)에 의해 재송신된다. 이때, 재송신된 패킷 #21은 1차 디바이스(110) 및 2차 디바이스(120) 둘 다에 의해 수신된다. 1차 디바이스(110)가 패킷 #21을 성공적으로 수신했기 때문에, 다른 ACK가 타임 슬롯 '7'에서 송신될 수 있다. 이때, ACK는 호스트 디바이스(130)에 의해 수신되며, 이는 일련의 그 다음 데이터 패킷, 특히, SEQN=1을 갖는 패킷 #22로 진행한다.
[00115] 이 시점부터 전방향으로, 본 예에서, 각각의 패킷은 1차 디바이스(110)에 성공적으로 송신되고, 각각의 ACK는 호스트 디바이스(130)에 의해 성공적으로 수신된다. 이에 따라, 슬롯들 '12' 및 '14'에서 SEQN=0을 갖는 패킷 #23이 송신되고, 슬롯들 '16' 및 '18'에서, SEQN=1을 갖는 패킷 #24이 송신되고, 슬롯들 '20' 및 '22'에서 SEQN=0을 갖는 패킷 #25가 송신되고, 그리고 슬롯들 '24' 및 '26'에서 패킷 #26이 송신된다. 본 예에서, 2차 디바이스(120)는 패킷 #23을 제외한 모든 데이터 패킷을 수신한다.
[00116] 결과적으로, 2차 디바이스(120)는, 패킷 #23이 누락된 데이터 패킷인 불완전한 일련의 데이터 패킷들을 갖는다. 더욱이, 아래에서 더 상세히 논의되는 바와 같이, 성공적으로 수신된 데이터 패킷들의 프로세싱에서 에러들이 발생할 수 있다. 본 개시내용의 양상들에 따르면, 패킷 #23이 누락된 데이터 패킷이라는 것을 결정하고 패킷 #23을 2차 디바이스(120)에 선택적으로 중계할 목적으로 1차 디바이스(110)와 2차 디바이스(120) 간에 비트맵들이 교환될 수 있다. 도 11 및 도 12는 도 10에 도시된 것과 동일한 시나리오를 표현하지만, 1차 디바이스(110) 및 2차 디바이스(120)에 의해 각각 생성될 수 있는 비트맵들을 추가로 예시한다.
[00117] 도 11은 일반적으로, 도 10에 도시된 통신들에 대한 응답으로 1차 디바이스(110)에 의해 파퓰레이팅되는 복수의 예시적인 비트맵들을 예시한다. 도 11로부터 이해되는 바와 같이, 1차 디바이스 타임라인(1001)이 도 10으로부터 재현되고, 그에 대해 수행되는 동작들은 도 10에 도시된 동작들과 동일하다. 명확성을 위해, 타임 슬롯 인덱스가 또한 도시되고(정확하게는 도 10에 도시됨), 패킷 송신의 타이밍이 표시된다(정확하게는 도 10에 도시됨).
[00118] 도 11에 도시된 바와 같이, 도 10의 예시적인 시나리오에서 1차 디바이스(110)에 의해 생성될 수 있는 2개의 예시적인 비트맵들이 존재한다. 제1 예에서, 비트맵(1110)은, 도 5에 도시된 방법(500)에 따라, 각각의 비트맵 부분이 2개의 가능한 상태들을 표현할 수 있는 1-비트 비트맵이다. 제2 예에서, 비트맵(1120)은, 도 6에 도시된 방법(600)에 따라, 각각의 비트맵 부분이 최대 4개의 상태들을 표현할 수 있는 2-비트 비트맵이다.
[00119] 비트맵(1110)은 다음과 같이 설명될 것이다. 위에서 주목된 바와 같이, 비트맵(1110)은 1-비트 부분들을 갖는 비트맵이다. 각각의 비트맵 부분은 널 시그니파이어 또는 수신 시그니파이어로 파퓰레이팅될 수 있다. 도 11에서, 널 시그니파이어 및 수신 시그니파이어는 각각 'N' 및 'R'로 표현된다.
[00120] 비트맵(1110)은 비트맵(1110)의 오리진 타임 슬롯을 마킹하는 비트맵 경계(1130)를 포함한다. 비트맵(1110)의 특성들(오리진 타임 슬롯, 길이 등)은 도 4와 관련하여 위에서 설명된 바와 같이 비트맵 준비 정보에서 정의될 수 있다. 본 예에서, 비트맵 준비 정보는, 비트맵(1110)이 오리진 타임 슬롯 '0'에서 시작하고 28개의 타임 슬롯들의 길이만큼 시간상 뒤로 연장되어야 함을 표시할 수 있다. 비트맵(1110)에 의해 표현될 28개의 타임 슬롯들 중, 14개만이 리스닝 타임 슬롯들이라는 것이 이해될 것이다. 이에 따라, 이러한 28개의 타임 슬롯들을 표현하는 비트맵(1110)은 리스닝 타임 슬롯들 각각에 대응하는 14개의 비트맵 부분들(즉, 짝수 넘버의 타임 슬롯들 '0', '2' 등)을 포함할 수 있다.
[00121] 비트맵을 파퓰레이팅하기 위해, 1차 디바이스(110)는 먼저, 데이터 패킷 페이로드를 갖는 데이터 패킷이 타임 슬롯들 '0' 및 '2' 동안 효과적으로 수신되는지 여부를 결정할 수 있다. 도 5와 관련하여 위에서 논의된 바와 같이, (570에서와 같이) 1차 디바이스(110)는 제1 비트맵 부분(즉, 비트맵 부분은 가장이른 타임 슬롯, 타임 슬롯 '0'에 대응함)을 수신 시그니파이어(도 11에서 'R')로 파퓰레이팅하도록 진행할 수 있다. 게다가, 1차 디바이스(110)는 임의의 나머지 비트맵 부분들(즉, 타임 슬롯 '2'에 대응하는 비트맵 부분)을 널 시그니파이어(도 11의 'N')로 파퓰레이팅하도록 진행할 수 있다. 본 예에서, 1차 디바이스(110)는 데이터 패킷을 누락하지 않는다. 이에 따라, 예시적인 비트맵(1110)은 완전히 교번하는 수신 시그니파이어들 및 널 시그니파이어들로 구성된다.
[00122] 비트맵(1120)은 다음과 같이 설명될 것이다. 1-비트 비트맵(1110)과 같이, 비트맵(1120)은 널 시그니파이어('N'로서 다시 표현됨)를 포함할 수 있다. 비트맵(1110)과 유사하게, 비트맵(1120)은 각각의 모든 다른 비트맵 부분에 널 시그니파이어를 포함한다. 비트맵(1120)은 비트맵(1110)과 동일한 비트맵 준비 정보에 기반하여 파퓰레이팅될 수 있고, 따라서 동일한 비트맵 경계(1130) 및 비트맵 길이를 가질 수 있다.
[00123] 비트맵(1110)과는 달리, 비트맵(1120)은 SEQN=0과 연관된 수신들과 SEQN=1과 연관된 수신들을 구별한다. 각각의 수신 데이터 패킷에 대해, 데이터 패킷 헤더는 패킷의 시퀀스 넘버를 표시할 수 있다. 모든 각각의 수신이 'R'로 마킹된 비트맵(1110)과 대조적으로, 비트맵(1120)은 수신된 패킷의 시퀀스 넘버, 즉, '0'(SEQN=0을 갖는 데이터 패킷의 헤더가 수신되었음을 나타냄) 또는 '1'(SEQN=1을 갖는 데이터 패킷의 헤더가 수신되었음을 나타냄)로 파퓰레이팅된다. 이에 따라, 비트맵(1110)의 교번 수신 시그니파이어들 'R'은 비트맵(1120)에서 상이하게 표현된다. 특히, 7개의 수신 시그니파이어들 'R'은 각각 '0', '0', '1', '0', '1', '0', '1'로서 제시된다.
[00124] 1차 디바이스(110)는, 어느 패킷들이 2차 디바이스(120)에 선택적으로 중계되어야 하는지를 결정하기 위해, 비트맵(1110) 및/또는 비트맵(1120)을 사용할 수 있다. 하나의 가능한 시나리오에서, 1차 디바이스(110)는 2차 디바이스(120)로부터 수신된 비트맵에 대한 비교를 위한 기초로서 비트맵(1110) 및/또는 비트맵(1120)을 사용할 수 있다. (이 시나리오에서, 1차 디바이스(110)는, 사실상(literally) 비트맵을 생성하거나 이를 메모리에 저장할 필요가 없지만, 대신에, 임의의 적절한 방식으로 이전의 수신 동작들의 지식을 단순히 보유 및/또는 획득할 수 있다는 것이 이해될 것이다.) 다른 가능한 시나리오에서, 1차 디바이스(110)는, 사실상 비트맵(1110) 및/또는 비트맵(1120)을 생성하고 생성된 비트맵을 2차 디바이스(120)에 송신할 수 있다. 2차 디바이스(120)는 분석을 수행하고, 필요하다면, 누락된 데이터 패킷들의 선택적 중계를 요청할 수 있다.
[00125] 도 12는 일반적으로, 도 10에 도시된 통신들에 대한 응답으로 2차 디바이스(120)에 의해 파퓰레이팅되는 복수의 예시적인 비트맵들을 예시한다. 도 12로부터 이해되는 바와 같이, 2차 디바이스 타임라인(1002)이 도 10으로부터 재현되고, 그에 대해 수행되는 동작들은 도 10에 도시된 동작들과 동일하다. 명확성을 위해, 타임 슬롯 인덱스가 또한 도시되고(정확하게는 도 10에 도시됨), 패킷 송신의 타이밍이 표시된다(정확하게는 도 10에 도시됨).
[00126] 도 12에 도시된 바와 같이, 도 10의 예시적인 시나리오에서 1차 디바이스(110)에 의해 생성될 수 있는 2개의 예시적인 비트맵들이 존재한다. 제1 예에서, 비트맵(1210)은 도 11에 도시된 비트맵(1110)과 유사한 1-비트 비트맵이다. 제2 예에서, 비트맵(1220)은 도 11에 도시된 비트맵(1120)과 유사한 2-비트 비트맵이다. 비트맵(1110) 및 비트맵(1120)과 유사하게, 비트맵(1210) 및 비트맵(1220)은 오리진 타임 슬롯을 마킹하는 비트맵 경계(1230)를 포함한다.
[00127] 비트맵(1210)은 비트맵(1110)과 동일한 방식으로 생성될 수 있다. 비트맵(1210)과 비트맵(1110) 간의 차이들은, 이들이 2차 디바이스(120)에 의해 경험되는 상이한 조건들에 기반하여 상이한 값들로 파퓰레이팅된다는 것이다. 1차 디바이스(110)와 유사하게, 2차 디바이스(120)는 타임 슬롯들 '2', '6', '10', '14', '18', '22' 또는 '26' 중 임의의 타임 슬롯에서 데이터 패킷 페이로드를 갖는 데이터 패킷을 효과적으로 수신하지 않는다. 이에 따라, 이들 타임 슬롯들은 제2, 제4, 제6, 제8, 제10, 제12 및 제14 비트맵 부분들에서 7개의 널 시그니파이어들('N')에 의해 표현된다. 또한, 1차 디바이스(110)와 유사하게, 2차 디바이스(120)는 타임 슬롯들 '4', '8', '16', '20' 및 '24' 각각에서 데이터 패킷 페이로드를 갖는 데이터 패킷을 효과적으로 수신한다. 이에 따라, 이러한 타임 슬롯들은 제3, 제5, 제9, 제11 및 제13 비트맵 부분들에서 5개의 수신 시그니파이어들('R')에 의해 표현된다. 1차 디바이스(110)와 달리, 2차 디바이스(120)는 타임 슬롯들 '0' 및 '12'에서 데이터 패킷 페이로드를 갖는 데이터 패킷을 효과적으로 수신하는 데 실패한다. 이에 따라, 이들 타임 슬롯은 제1 및 제5 비트맵 부분들에서 2개의 부가적인 널 시그니파이어들('N')에 의해 표현된다.
[00128] 비트맵(1220)은 비트맵(1120)과 동일한 방식으로 생성될 수 있다. 특히, 데이터 패킷 페이로드를 갖는 데이터 패킷이 효과적으로 수신되지 않는 각각의 타임 슬롯에 대해, 대응하는 비트맵 부분은 널 시그니파이어('N')로 파퓰레이팅될 것이고, 데이터 패킷 페이로드를 갖는 데이터 패킷이 효과적으로 수신되는 각각의 타임 슬롯에 대해, 대응하는 비트맵 부분은, 헤더가 SEQN=0을 포함하면 SEQN=0 시그니파이어('0')로, 또는 헤더가 SEQN=1를 포함하면 SEQN=1 시그니파이어('1')로 파퓰레이팅될 것이다.
[00129] 위에서 주목된 바와 같이, 최대 4개의 상태들이 비트맵(1220)의 비트맵 부분들에 의해 표현될 수 있다. 4개의 상태들 중 3개는 시그니파이어들 'N', '0', 및 '1'에 의해 표현되는 반면, 제4 상태는 임의의 적절한 목적들을 위해 사용될 수 있다. 예를 들어, 비트맵의 파퓰레이터(populator)는 (624에서) MIC 에러가 발생한 경우 데이터 패킷을 암호해독하려는 시도에 기반하여 결정할 수 있고, MIC 에러가 발생했다는 결정에 대한 응답으로 (641에서) MIC-에러 시그니파이어로 비트맵을 파퓰레이팅할 수 있다는 것을 도 6으로부터 상기한다. 비트맵(1220)에 도시된 바와 같이, MIC-에러 시그니파이어는 'E'로서 표현될 수 있다. 이에 따라, 2-비트 비트맵(1220)의 4개의 상태들은 'N', 'E', '0' 및 '1'에 대응할 수 있다.
[00130] (호스트 디바이스(130)에 의해 송신된 각각의 모든 데이터 패킷을 성공적으로 수신한) 1차 디바이스(110)와 달리, 2차 디바이스(120)는 2개의 송신들(즉, 패킷 #21의 초기 송신 및 패킷 #23의 유일한 송신)을 누락했다. 이에 따라, 타임 슬롯 '0'에 대응하는 비트맵 부분은 'N'으로 파퓰레이팅되고, 타임 슬롯 '12'에 대응하는 비트맵 부분은 또한 'N'으로 파퓰레이팅된다.
[00131] 아래에서 더 상세히 논의되는 바와 같이, 패킷 #23의 누락은 MIC 에러들의 형태로 다운스트림 효과들을 가질 수 있다. 암호화의 목적들을 위해, 2차 디바이스(120)는 PCN(packet counter number)을 저장하는 패킷 카운터를 유지한다. PCN은 데이터를 암호해독하기 위해 사용될 수 있다. 데이터가 성공적으로 암호해독되지 않으면, 이는 다음의 두 가지 것 중 하나를 표시할 수 있다: 첫째, 호스트 디바이스(130)로부터의 데이터 스트림이 제3 자에 의해 공격을 받고 있다는 것, 또는 둘째, 2차 디바이스(120)가 PCN의 정확한 카운트를 잃었다는 것.
[00132] 2차 디바이스(120)는, 2차 디바이스(120)가 이전 수신 데이터 패킷과 상이한 SEQN을 갖는 데이터 패킷을 수신할 때마다 패킷 카운터를 증분시킴으로써 PCN을 유지한다. 예를 들어, 2차 디바이스(120)가, PCN =1(SEQN=0을 가짐) 내지 PCN =20(SEQN=1을 가짐)로 넘버링된 호스트 디바이스(130)에 의해 송신된 처음 20개의 데이터 패킷들을 성공적으로 수신했다고 가정한다. 2차 디바이스(120)가 타임 슬롯 '4'에서 데이터 패킷의 헤더를 새롭게 수신할 때, 2차 디바이스(120)는 새로운 수신 데이터 패킷의 SEQN(SEQN=0)이 이전 수신 데이터 패킷 #20의 SEQN(SEQN=1)과 상이하다는 것을 결정할 수 있다. 새로운 수신 데이터 패킷은 상이한 SEQN을 가지므로, 2차 디바이스(120)는 패킷 카운터를 PCN = 21로 증분시키고 새로운 수신 데이터 패킷이 패킷 #21이라는 것을 가정할 수 있다. 도 10-도 12의 시나리오에 기반하여, 이러한 가정은 정확할 수 있다. 그러나, 도 12를 참조하여 아래에서 더 상세히 논의되는 바와 같이, 가정은 때때로 실패할 수 있다.
[00133] 위에서 주목된 바와 같이, 패킷 카운터는, SEQN가 교번할 때 증분한다. 그러나, 2차 디바이스(120)가 타임 슬롯 '12'에서 (SEQN=0을 갖는) 패킷 #23의 헤더를 수신하는 데 실패하는 도 12의 시나리오를 고려한다.
[00134] (SEQN=0을 갖는) 패킷 #23이 수신되었다면, 2차 디바이스(120)는 그의 SEQN가 이전 수신 데이터 패킷(즉, 패킷 #22)과 상이하다는 사실로 인해 그것이 새로운 패킷이라는 것을 추론했을 것이다. 2차 디바이스(120)는 패킷 카운터를 증분시켰을 것이고, 새로운 수신 패킷이 패킷 #23이라는 것이 추론했을 것이다. 패킷 #23은 PCN = 23을 사용하여 암호해독될 것이고, 암호해독은 성공했을 것이다.
[00135] 그러나, 본 예에서, (SEQN=0을 갖는) 패킷 #23은 타임 슬롯 '12'에서 수신되지 않았고, 따라서 패킷 카운터는 PCN=22에 머무를 것이다. 대신에, 2차 디바이스(120)에 의해 수신된 그 다음 패킷은 타임 슬롯 '16'에서 (SEQN=1을 갖는) 패킷 #24이다. 따라서, 패킷 #24가 2차 디바이스(120)에 의해 수신될 때, 이는 이전 수신 패킷과 동일한 SEQN을 갖는다(이 경우, 패킷 #23이 수신되지 않았기 때문에, 이전 수신 패킷은 패킷 #22임). 결과적으로, 2차 디바이스(120)는 타임 슬롯 '16'에서 수신된 데이터 패킷이 패킷 #22의 재송신임을 (부정확하게) 추론할 수 있다.
[00136] 일부 종래의 접근법들에서, 리던던트한 재송신 패킷은 단순히 폐기될 것이다. 이에 따라, 패킷 #24가 (타임 슬롯 '8'에서 이미 성공적으로 수신된) 패킷 #22의 재송신으로 오인될 때, 종래의 접근법은 패킷 #24가 폐기되도록 지시할 수 있다. 본 개시내용의 양상들에 따르면, 리던던트인 것으로 여겨지는 데이터 패킷들은, 아래에서 더 상세히 논의될 바와 같이, 폐기되기보다는 보존될 수 있다.
[00137] 예시적인 시나리오로 돌아가면, 2차 디바이스(120)는 타임 슬롯 '20'에서 (SEQN=0을 갖는) 패킷 #25를 수신할 수 있다. 새로운 수신 데이터 패킷의 SEQN가 이전 수신 데이터 패킷(SEQN=1)과 상이하기 때문에, 2차 디바이스(120)는 그것이 새로운 패킷이라고 추론하고 패킷 카운터를 PCN=22에서 PCN=23으로 증분시킬 수 있다. 패킷 #25는 실제로 새로운 패킷이지만, 2차 디바이스(120)가 예상하고 있는 것은 패킷은 아니다. 2차 디바이스(120)가 패킷 #25를 암호해독하려고 시도할 때, 2차 디바이스(120)는 PCN=23을 사용하여 그렇게 할 것이다. 결과적으로, 암호해독은 실패할 것이고, 결과는 MIC 에러일 것이다.
[00138] 일부 종래의 접근법들에서, MIC 에러와 연관된 데이터 패킷은 단순히 폐기될 것이다. 이에 따라, 패킷 #25가 패킷 #23으로 오인될 때, 종래의 접근법은 패킷 #24가 폐기되도록 지시할 수 있다. 본 개시내용의 양상들에 따르면, MIC 에러와 연관된 데이터 패킷들은, 아래에서 더 상세히 논의될 바와 같이, 폐기되기보다는 보존될 수 있다.
[00139] 예를 들어, 2차 디바이스(120)는, 타임 슬롯 '20'에서 수신된 데이터 패킷과 연관된 MIC 에러의 결과로서, MIC-에러 시그니파이어 'E'로 제11 비트맵 부분을 파퓰레이팅할 수 있다. 더욱이, 패킷 #26이 수신될 때, 이는 패킷 #24로 오인될 것이며, 이는 다른 MIC 에러를 초래할 것이다. 이에 따라, 제13 비트맵 부분은 또한, MIC-에러 시그니파이어 'E'를 포함한다.
[00140] 도 13은 일반적으로, 도 11에 도시된 비트맵(1120) 및 도 12에 도시된 비트맵(1220)의 예시적인 병렬 비트맵 분석을 예시한다. 분석은 누락된 데이터 패킷들의 중계 리스트의 생성을 가능하게 할 수 있다. 위에서 주목된 바와 같이, 비트맵(1120) 및 비트맵(1220)은 4개의 가능한 상태들을 갖는 비트맵 부분들을 갖는 2-비트 비트맵들이다.
[00141] 예시의 목적들을 위해, (도 12에서와 같이) 2차 디바이스(120)에 의해 파퓰레이팅된 비트맵(1220)이 분석의 목적들을 위해 1차 디바이스(110)에 송신된다고 가정한다. 1차 디바이스(110)는 비트맵(1120)을 사용하여 (비트맵(1220)에 표현된) 2차 디바이스(120)에 의해 경험되는 수신 패턴을 1차 디바이스(110)에 의해 경험되는 수신 패턴과 비교할 수 있다. 1차 디바이스(110)는, 도 13에 도시된 바와 같이, 비교를 수행하기 위해 사실상 비트맵(1120)을 생성(즉, 메모리에 비트맵(1120)을 저장함)할 수 있다. 그러나, 이는 예시의 용이함을 위한 것이며, 비트맵(1120)이 메모리 시스템에 전체적으로 저장되거나 전체적으로 생성될 필요가 없다는 것이 이해될 것이다. 반대로, 1차 디바이스(110)에 의해 경험되는 수신 패턴은 임의의 적절한 방식으로 결정되거나 또는 기록될 수 있다.
[00142] 도 4와 관련하여 위에서 설명된 바와 같이, 1차 디바이스(110) 및 2차 디바이스(120)는 비트맵 준비 정보를 공유할 수 있다. 비트맵 준비 정보는, 개개의 디바이스들이 비트맵에 대한 오리진 타임 슬롯 및 비트맵에 대한 비트맵 길이를 식별하는 것을 가능하게 할 수 있다. 본 예에서, 비트맵 준비 정보는 비트맵 경계(1300)의 설정을 용이하게 할 수 있다. 예를 들어, 비트맵 준비 정보는, 타임 슬롯 '0'이 오리진 타임 슬롯이고 비트맵 길이가 28개의 타임 슬롯들과 동일함을 표시할 수 있다.
[00143] 1차 디바이스(110)는 비트맵 경계(1300) 내에 일련의 SEQN 경계들을 설정함으로써 비트맵(1120)을 섹션들로 분할할 수 있다. 도 13으로부터 이해되는 바와 같이, SEQN 경계들의 도면은, 모든 각각의 SEQN 경계의 바로 좌측에 하나의 특정의 SEQN 시그니파이어(예를 들어, SEQN=0)가 있는 반면, 교번 SEQN 시그니파이어는 SEQN 경계의 우측에서 발견되는 첫 번째 SEQN인 것을 보장한다. 게다가, 분할된 비트맵의 각각의 섹션(즉, SEQN 경계들 사이의 영역)은 한 가지 타입의 SEQN 시그니파이어만을 포함한다.
[00144] SEQN 경계들을 설정하기 위해, 1차 디바이스(110)는 오리진 타임 슬롯 '0'에서 시작하고, SEQN이 발견될 때까지 전방향으로 진행할 수 있다. 이 경우에, 제1 비트맵 부분에서 SEQN=0 시그니파이어('0')가 발견될 수 있다. 비트맵과 연관된 제1 데이터 패킷이 0의 SEQN를 갖는다는 것을 설정하면, 1차 디바이스(110)는 SEQN=1을 포함하는 비트맵 부분에 도달할 때까지 전방향으로 진행할 수 있다. 이 경우에, 제5 비트맵 부분에서 SEQN=1 시그니파이어가 발견될 수 있다. 일련의 제1 시퀀스 경계를 설정하기 위해, 이후 1차 디바이스(110)는 다시 한번 SEQN=0 시그니파이어에 도달할 때까지 (제5 비트맵 부분의 SEQN=1 시그니파이어로부터) 역방향으로 진행할 수 있다. 이 경우에, 제3 비트맵 부분에서, SEQN=0 시그니파이어가 발견될 수 있다. 결과적으로, 1차 디바이스(110)는 제3 비트맵 부분 이후에 SEQN 경계(1303)를 설정할 수 있다.
[00145] 유사한 방법을 사용하여, 1차 디바이스(110)는 SEQN 경계들을 설정하는 비트맵 전체를 통해 진행할 수 있다. 특히, 제3 비트맵 부분에서 SEQN=0 시그니파이어의 인스턴스 다음에 SEQN 경계(1303)를 설정하면, 1차 디바이스(110)는, (A) 반대의 SEQN 시그니파이어(즉, 본 예에서 제5 비트맵 부분의 SEQN=1 시그니파이어)를 발견할 때까지 전방향으로 진행할 수 있고, (B) 동일한 SEQN 시그니파이어(즉, 본 예에서 제7 비트맵 부분의 SEQN=0 시그니파이어)를 발견할 때까지 전방향으로 계속 진행하며, (C) 최종 반대의 SEQN 시그니파이어(즉, 본 예에서 제5 비트맵 부분의 SEQN=1 시그니파이어)를 식별할 때까지 후방으로 진행하고, 그리고 (D) 식별된 비트맵 부분 바로 다음에 SEQN 경계(1305)를 설정할 수 있다. SEQN 경계(1307), SEQN 경계(1309), SEQN 경계(1311) 및 SEQN 경계(1313)는 동일한 방식으로 설정될 수 있다.
[00146] 제3 비트맵 부분 이후에 제1 SEQN 경계(1303)를 설정하면, 1차 디바이스(110)는 적어도 하나의 매칭하는 SEQN 시그니파이어에 대해 비트맵(1220)의 제1 섹션(즉, 처음 3개의 비트맵 부분들)을 검사할 수 있다. 본 예에서, 제3 비트맵 부분은 매칭하는 SEQN 시그니파이어(특히, SEQN=0 시그니파이어)를 포함한다. 이에 따라, 1차 디바이스(110)는, 패킷 #21이 2차 디바이스(120)에 의해 성공적으로 수신되었다는 것을 결정하고, 패킷 #21을 중계 리스트에 부가하는 것을 억제할 수 있다.
[00147] 제5 비트맵 부분 이후에 제2 SEQN 경계(1305)를 설정하면, 1차 디바이스(110)는 매칭 시그니파이어에 대해 비트맵(1220)의 제2 섹션(즉, 제4 및 제5 비트맵 부분들)을 검사할 수 있다. 본 예에서, 비트맵(1220)의 제5 비트맵 부분은 적어도 하나의 매칭하는 SEQN 시그니파이어(제5 비트맵 부분의 SEQN=1)를 포함한다. 이에 따라, 1차 디바이스(110)는, 패킷 #22가 2차 디바이스(120)에 의해 성공적으로 수신되었다는 것을 결정하고, 패킷 #22를 중계 리스트에 부가하는 것을 억제할 수 있다.
[00148] 제7 비트맵 부분 이후에 제3 SEQN 경계(1307)를 설정하면, 1차 디바이스(110)는 매칭 시그니파이어에 대해 비트맵(1220)의 제3 섹션(즉, 제6 및 제7 비트맵 부분들)을 검사할 수 있다. 본 예에서, 비트맵(1220)의 제6 비트맵 부분이나 제7 비트맵 부분은 매칭하는 SEQN 시그니파이어를 포함하지 않는다. 이에 따라, 1차 디바이스(110)는, 패킷 #23이 2차 디바이스(120)에 의해 누락되었다는 것을 결정하고, 패킷 #23을 중계 리스트에 부가할 수 있다.
[00149] 비트맵(1220)의 나머지 부분의 분석은, 패킷 #24가 2차 디바이스(120)에 의해 수신되었지만 패킷 #22의 재송신으로서 잘못 해석될 가능성이 있다는 것을 1차 디바이스(110)에게 나타낼 것이다. 제11 및 제13 비트맵 부분들의 MIC-에러 시그니파이어들은, 패킷 #25 및 패킷 #26이 또한 2차 디바이스(120)에 의해 수신되었지만 부정확한 패킷 카운터에 대한 의존으로 인해 에러들을 갖게 암호해독되었을 가능성이 있음을 1차 디바이스(110)에 나타낼 것이다. 패킷 카운터가 뒤쳐지면, 패킷 카운터는 패킷 카운터가 수정될 때까지 뒤에 남아있을 것이라는 점을 감안하면, MIC 에러들이 예측 가능하다.
[00150] 본 예에서, 중계 리스트는 패킷 #23만을 포함할 수 있다. 본 개시내용의 양상들에 따르면, 2차 디바이스(120)는 (재전송으로 잘못 해석되었더라도) 패킷 #24뿐만 아니라 (성공적으로 암호해독되지 않았더라도) 패킷 #25 및 패킷 #26을 보존할 수 있다. 선택적 중계를 수행하기 위해, 1차 디바이스(110)는 2차 디바이스(120)에 패킷 #23을 송신할 수 있다. 1차 디바이스(110)는, 선택적으로 중계된 패킷이 패킷 #23임을(데이터 패킷에서 또는 다른 곳에서) 표시할 수 있다. 부가적으로 또는 대안적으로, 1차 디바이스(110)는, 패킷 #23이 중계 리스트 상에서 유일한 패킷이며 그리고/또는 마지막 패킷임을 (데이터 패킷에서 또는 다른 곳에서) 표시할 수 있다.
[00151] 1차 디바이스(110)에 의해 수행되는 선택적 중계에 기반하여, 2차 디바이스(120)는 일련의 패킷들을 재구성하도록 구성될 수 있다. 선택적 중계 이전에, 2차 디바이스(120)는 이미 패킷 #21 및 패킷 #22를 성공적으로 수신하고 암호해독했을 것이다. 선택적 중계 이후에, 2차 디바이스(120)는 PCN=23을 사용하여 패킷 #23을 성공적으로 수신 및 암호해독하고, 패킷 카운터를 PCN=24로 증분시킬 수 있다. 그런 다음, 2차 디바이스(120)는 타임 슬롯들 '16' 내지 '18'에서 수신된 데이터 패킷을 리트리브하고, PCN=24를 사용하여 이를 암호해독할 수 있다. (위에 주목된 바와 같이, 패킷 #24가 재송신인 것으로 추정되었더라도, 이는 2차 디바이스(120)에 의해 폐기되는 것이 아니라, 오히려 저장소에 보존된다.) 그런 다음, 패킷 카운터는 패킷 #25 및 패킷 #26의 성공적인 재-암호해독을 가능하게 하기 위해 증분될 수 있다. 정확한 PCN을 이용한 재-암호해독 이전에, MIC 에러를 야기한 부정확한 PCN을 사용하여 패킷을 재-암호화할 필요가 있을 수 있다는 것이 이해될 것이다. 예를 들어, 2차 디바이스(120)는 PCN=23을 사용하여 패킷 #25를 암호해독하고 MIC 에러를 획득할 수 있다. MIC 에러에 대한 응답으로, 2차 디바이스(120)는 MIC 에러(즉, PCN=23)를 초래한 PCN을 사용하여 패킷을 재-암호화하도록 구성될 수 있다. PCN=23을 사용한 재-암호화가 완료된 후에만, PCN=25를 사용한 재-암호해독이 에러 없는 암호해독을 초래할 것이다. MIC 에러와 연관된 패킷을 저장소에 보존하기 전에 2차 디바이스(120)가 재-암호화를 수행할 수 있다는 것이 이해될 것이다. 대안적으로, 2차 디바이스(120)는 보존된 패킷이 저장소로부터 리트리브된 후에 재-암호화를 수행할 수 있다.
[00152] 1차 디바이스(110)는, 2차 디바이스(120)에 의해 수신된 데이터 패킷들 어느 것도, 이들이 재-송신들로서(패킷 #24로서) 해석되거나 (패킷 #25 및 패킷 #26로서) 암호해독에 실패하더라도 폐기되지 않았는다는 것을 가정할 수 있다는 것이 이해될 것이다. 결과적으로, 중계 리스트는, 단지 오인식된 또는 부적절하게 암호해독된 데이터 패킷들이 아니라, 2차 디바이스(120)에 의해 완전히 누락된 데이터 패킷들만을 포함하도록 구성될 수 있다.
[00153] 본원에서 사용된 용어는 특정 실시예들만을 설명하려는 목적을 위한 것이며, 본원에 개시된 임의의 실시예들을 제한하는 것이 아니다. 본원에서 사용되는 바와 같이, 단수 표현들은, 문맥상 명확하게 달리 표시되지 않으면, 복수형들을 또한 포함하도록 의도된다. 본원에서 사용되는 경우, "포함하다(comprises)", "포함하는(comprising)", "포함하다(includes)" 및/또는 "포함하는(including)"이란 용어들은, 언급된 특징들, 인티저(integer)들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 인티저들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지는 않는다는 것이 추가로 이해될 것이다. 유사하게, 본원에서 사용되는 "~에 기반하여"라는 어구는 반드시 다른 팩터들의 영향을 배제하는 것은 아니며 모든 경우에서 예를 들어 "~에만 전적으로 기반하여"가 아닌 "~에 적어도 부분적으로 기반하여"로 해석되어야 한다. 더욱이, 전기적 맥락에서 "~에 커플링된"이라는 어구는 제1 노드로부터 제2 노드로 전기 신호를 전달하기 위한 임의의 적절한 방법을 포함한다. 이에 따라, "~에 커플링된"은 (예를 들어, 구리 와이어, 솔더 볼 등과 같은 직접적인 전도성 연결에 의해) "~에 직접적으로 커플링되는"뿐만 아니라 "~에 간접적으로 커플링되는"(예를 들어, 스위치, 버퍼, 필터 등과 같이, 그 사이에 하나 이상의 중간 구조가 있음)을 포괄할 수 있다. "최상부" 및 "최하부", "좌측" 및 "우측", "수직" 및 "수평" 등과 같은 용어들은, 엄격하게 서로에 관련하여 사용되는 상대적인 용어들이며, 중력, 본원에 설명된 컴포넌트들을 제조하는 데 사용되는 제조 디바이스, 또는 본원에 설명된 컴포넌트들이 커플링되고, 장착되는 식인 일부 다른 디바이스에 대한 임의의 관계를 표현하거나 암시하지 않는다는 것이 추가로 이해될 것이다. "제1", "제2" 등과 같은 지정을 사용한 본원에서 엘리먼트에 대한 임의의 참조는 일반적으로, 그 엘리먼트들의 수량 또는 순서를 제한하지 않는다는 것이 이해되어야 한다. 오히려, 이들 지정들은, 2개 이상의 엘리먼트들 또는 엘리먼트의 인스턴스들 간을 구별하는 편리한 방법으로서 본원에서 사용될 수 있다. 따라서, 제1 및 제2 엘리먼트들에 대한 참조는 단지 2개의 엘리먼트들이 있다는 것을 암시하지 않으며, 추가로, 제1 엘리먼트가 어떠한 방식으로 제2 엘리먼트에 선행해야 한다는 것을 암시하지 않는다. 또한, 달리 나타내지 않으면, 엘리먼트들의 세트는 하나 또는 그 초과의 엘리먼트들을 포함할 수 있다. 부가적으로, 본 설명 또는 청구항들에서 사용되는 "A, B, 또는 C 중 적어도 하나" 또는 "A, B, 또는 C 중 하나 또는 그 초과" 또는 "A, B, 및 C로 구성된 그룹 중 적어도 하나"의 형태의 용어는 "A 또는 B 또는 C 또는 이들 엘리먼트들의 임의의 결합"을 의미한다.
[00154] 위의 설명들 및 기술들의 관점에서, 당업자는, 본 명세서에 개시된 양상들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능 관점들에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제약들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 개시내용의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
[00155] 따라서, 예를 들어, 장치 또는 장치의 임의의 컴포넌트는 본원에 교시된 바와 같은 기능을 제공하도록 구성(또는 제공하도록 동작가능하게 또는 제공하도록 적응)될 수 있다는 것이 인식될 것이다. 이는, 예를 들어, 장치 또는 컴포넌트가 기능을 제공하도록 그 장치 또는 컴포넌트를 제작(예를 들어, 제조)함으로써; 장치 또는 컴포넌트가 기능을 제공하도록 그 장치 또는 컴포넌트를 프로그래밍함으로써; 또는 몇몇 다른 적절한 구현 기법의 사용을 통해 달성될 수 있다. 일 예로서, 집적 회로는 필수적인 기능을 제공하도록 제조될 수 있다. 다른 예로서, 집적 회로는 필수적인 기능을 지원하도록 제조되며, 그 후, 필수적인 기능을 제공하도록 (예를 들어, 프로그래밍을 통해) 구성될 수 있다. 또 다른 예로서, 프로세서 회로는 필수적인 기능을 제공하기 위한 코드를 실행할 수 있다.
[00156] 또한, 본원에 개시된 양상들과 관련하여 설명된 방법들, 시퀀스들, 및/또는 알고리즘들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수 있다. 소프트웨어 모듈은 RAM(Random-Access Memory), 플래시 메모리, ROM(Read-only Memory), EPROM(Erasable Programmable Read-only Memory), EEPROM(electrically Erasable Programmable Read-only Memory), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당해 기술 분야에 알려진 임의의 다른 형태의 비-일시적 저장 매체에 상주할 수 있다 본원에서 사용되는 바와 같이, "비-일시적"이라는 용어는 임의의 물리적 저장 매체 또는 메모리를 배제하지 않으며, 특히 동적 메모리(예를 들어, RAM)를 배제하는 것이 아니라, 오히려 매체가 일시적인 전파 신호로서 이해될 수 있다는 해석만을 배제한다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 읽고 저장 매체에 정보를 기록할 수 있도록 프로세서에 결합된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다(예를 들어, 캐시 메모리).
[00157] 전술한 본 개시내용이 다양한 예시적인 양상들을 도시하지만, 첨부된 청구항들에 의해 정의된 범위를 벗어나지 않으면서 다양한 변경들 및 변형들이 예시된 예들에 행해질 수 있다는 것을 유의해야 한다. 본 개시내용은 구체적으로 예시된 예들만으로 제한되도록 의도되지 않는다. 예를 들어, 달리 언급되지 않으면, 본 명세서에 설명된 본 개시내용의 양상들에 따른 방법 청구항들의 기능들, 단계들, 및/또는 액션들은 임의의 특정한 순서로 수행될 필요가 없다. 또한, 특정한 양상들이 단수로 설명 또는 청구될 수 있지만, 단수로의 제한이 명시적으로 나타나지 않으면, 복수가 고려된다.

Claims (60)

  1. 방법으로서,
    호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하는 단계;
    비트맵의 하나 이상의 비트맵 부분들을 식별하는 단계 ―상기 식별된 하나 이상의 비트맵 부분들은 상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임 슬롯들에 대응함―;
    데이터 패킷 페이로드를 갖는 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 상기 호스트 디바이스로부터 유효하게(effectively) 수신되는지 여부를 결정하는 단계 ―상기 비트맵은 상기 데이터 패킷의 수신 성공을 보여주기 위해 사용됨―; 및
    상기 비트맵을 하나 이상의 대응하는 시그니파이어(signifier)들로 파퓰레이팅(populating)하는 단계를 포함하고, 상기 파퓰레이팅하는 단계는,
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 유효하게 수신되었다는 결정에 대한 응답으로, 상기 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로, 상기 하나 이상의 비트맵 부분들 중 임의의 나머지 비트맵 부분들을 널(null) 시그니파이어로 파퓰레이팅하는 단계; 및
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 유효하게 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 상기 널 시그니파이어로 파퓰레이팅하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 하나 이상의 비트맵 부분들 중 제1 비트맵 부분은 상기 하나 이상의 리스닝 타임 슬롯들 중 가장 빠른 타임 슬롯에 대응하는, 방법.
  3. 제1항에 있어서, 상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 유효하게 수신된다는 것을 결정하는 단계를 추가로 포함하고, 상기 결정하는 단계는,
    상기 하나 이상의 리스닝 타임 슬롯들 동안 데이터 패킷 헤더를 수신하는 단계 ―상기 데이터 패킷 헤더는 상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함하는지 여부를 표시함―; 및
    상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함함을 상기 데이터 패킷 헤더가 표시한다는 것을 결정하는 단계를 포함하는, 방법.
  4. 제3항에 있어서,
    상기 하나 이상의 비트맵 부분들은 각각 2 이상의 비트들을 포함하고,
    상기 수신된 데이터 패킷 헤더는 상기 데이터 패킷의 시퀀스 넘버를 표시하고, 그리고
    상기 제1 비트맵 부분을 상기 수신 시그니파이어로 파퓰레이팅하는 것은,
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-0 수신 시그니파이어로 파퓰레이팅하는 것; 또는
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-1 수신 시그니파이어로 파퓰레이팅하는 것을 포함하는, 방법.
  5. 제1항에 있어서,
    상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임 슬롯들 동안 상기 호스트 디바이스로부터 상기 데이터 패킷을 수신하는 단계;
    상기 데이터 패킷과 연관된 패킷 카운터 넘버 값을 결정하기 위해 패킷 카운터를 유지하는 단계;
    상기 패킷 카운터를 사용하여 상기 데이터 패킷을 암호해독 하는 단계; 및
    상기 암호해독이 메시지 무결성 검사를 통과하는지 여부를 결정하는 단계를 추가로 포함하는, 방법.
  6. 제5항에 있어서, 상기 제1 비트맵 부분을 파퓰레이팅하는 것은,
    상기 암호해독이 상기 메시지 무결성 검사를 통과하지 않았다는 결정에 대한 응답으로, 상기 제1 비트맵 부분을 메시지-무결성-검사-에러 시그니파이어로 파퓰레이팅 하는 것을 추가로 포함하는, 방법.
  7. 제1항에 있어서, 상기 비트맵을 추가 정보로 파퓰레이팅하는 단계를 추가로 포함하고, 상기 추가 정보는,
    상기 데이터 패킷이 수신될 수 있는 슬롯들의 최대 개수를 표시하는 슬롯 카운트 정보;
    상기 데이터 패킷의 타입을 표시하는 패킷 타입 정보;
    상기 데이터 패킷이 새로운 데이터 패킷인지 또는 재전송 데이터 패킷인지 여부를 표시하는 재전송 정보; 또는
    이들의 임의의 조합을 포함하는, 방법.
  8. 제1항에 있어서, 상기 하나 이상의 리스닝 타임 슬롯들은,
    하나의 리스닝 슬롯;
    2개의 연속적인 리스닝 슬롯들 ―각각의 연속적인 리스닝 슬롯은 전송 슬롯에 의해 이전 또는 이후의 리스닝 슬롯으로부터 분리됨―; 또는
    3개의 연속적인 리스닝 슬롯들 ―각각의 연속적인 리스닝 슬롯은 전송 슬롯에 의해 이전 또는 이후의 리스닝 슬롯으로부터 분리됨― 을 포함하는, 방법.
  9. 제1항에 있어서,
    상기 하나 이상의 비트맵 부분들을 포함하는 복수의 비트맵 부분들을 선택하는 단계 ―상기 복수의 비트맵 부분들은 상기 하나 이상의 리스닝 타임 슬롯들을 포함하는 복수의 타임 슬롯들에 각각 대응하고, 상기 복수의 비트맵 부분들은 상기 비트맵을 구성함―;
    비트맵 준비 정보를 생성하는 단계 ―상기 생성하는 단계는,
    상기 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 슬롯을 식별하는 단계 ―상기 비트맵 오리진 슬롯은 특정 패킷 카운터 넘버, 특정 시퀀스 넘버, 상기 호스트 피코넷의 특정 클록 값, 및/또는 피코넷의 특정 클록 값과 연관됨―; 및
    비트맵 길이를 식별하는 단계를 포함하고, 상기 비트맵 길이는 타임 슬롯들의 개수 및/또는 상기 비트맵의 비트맵 부분들의 개수를 포함함―; 및
    1차/2차(primary/secondary) 피코넷을 통해 상기 비트맵 준비 정보를 다른 디바이스에게 전송하는 단계를 추가로 포함하고, 상기 비트맵 준비 정보는 상기 식별된 비트맵 오리진 슬롯 및 상기 식별된 비트맵 길이를 포함하는, 방법.
  10. 제1항에 있어서,
    1차/2차 피코넷을 통해 비트맵 준비 정보를 다른 디바이스로부터 수신하는 단계; 및
    상기 비트맵 준비 정보에 기반하여, 상기 비트맵에 대응하는 복수의 타임 슬롯들 및/또는 비트맵 부분들을 식별하는 단계를 추가로 포함하고, 상기 식별하는 단계는,
    상기 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 슬롯을 식별하는 단계 ―상기 비트맵 오리진 슬롯은 특정 패킷 카운터 넘버, 특정 시퀀스 넘버, 상기 호스트 피코넷의 특정 클록 값, 및/또는 상기 1차/2차 피코넷의 특정 클록 값과 연관됨―;
    비트맵 길이를 식별하는 단계 ―상기 비트맵 길이는 타임 슬롯들의 개수 및/또는 상기 비트맵 내의 비트맵 부분들의 개수를 포함함―; 및
    상기 식별된 비트맵 오리진 슬롯 및 상기 식별된 비트맵 길이에 기반하여 상기 비트맵을 구성하는 상기 복수의 타임 슬롯들 및/또는 비트맵 부분들을 식별하는 단계를 포함하는, 방법.
  11. 장치로서,
    호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하도록 구성된 트랜시버 시스템, 데이터, 명령들, 또는 이들의 조합을 저장하도록 구성된 메모리 시스템, 및 상기 트랜시버 시스템 및 상기 메모리 시스템에 커플링 된 프로세싱 시스템을 포함하고, 상기 프로세싱 시스템은,
    비트맵의 하나 이상의 비트맵 부분들을 식별하고 ―상기 식별된 하나 이상의 비트맵 부분들은 상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임 슬롯들에 대응함―,
    데이터 패킷 페이로드를 갖는 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 상기 호스트 디바이스로부터 유효하게(effectively) 수신되는지 여부를 결정하고 ―상기 비트맵은 상기 데이터 패킷의 수신 성공을 보여주기 위해 사용됨―, 그리고
    상기 비트맵을 하나 이상의 대응하는 시그니파이어들로 파퓰레이팅하도록 구성되고, 상기 비트맵을 파퓰레이팅하기 위해 상기 프로세싱 시스템은,
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 유효하게 수신되었다는 결정에 대한 응답으로, 상기 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로, 상기 하나 이상의 비트맵 부분들 중 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅 하고, 그리고
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 유효하게 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 상기 널 시그니파이어로 파퓰레이팅하도록 추가로 구성되는, 장치.
  12. 제11항에 있어서, 상기 하나 이상의 비트맵 부분들 중 상기 제1 비트맵 부분은 상기 하나 이상의 리스닝 타임 슬롯들 중 가장 빠른 타임 슬롯에 대응하는, 장치.
  13. 제11항에 있어서, 상기 프로세싱 시스템은 상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 유효하게 수신된다는 것을 결정하도록 추가로 구성되고, 상기 데이터 패킷이 유효하게 수신된다는 것을 결정하기 위해 상기 프로세싱 시스템은,
    상기 하나 이상의 리스닝 타임 슬롯들 동안 데이터 패킷 헤더를 수신하고 ―상기 데이터 패킷 헤더는 상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함하는지 여부를 표시함―, 그리고
    상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함함을 상기 데이터 패킷 헤더가 표시한다는 것을 결정하도록 추가로 구성되는, 장치.
  14. 제13항에 있어서,
    상기 하나 이상의 비트맵 부분들은 각각 2 이상의 비트들을 포함하고,
    상기 수신된 데이터 패킷 헤더는 상기 데이터 패킷의 시퀀스 넘버를 표시하고, 그리고
    상기 비트맵을 파퓰레이팅하기 위해, 상기 프로세싱 시스템은,
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-0 수신 시그니파이어로 파퓰레이팅 하거나, 또는
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-1 수신 시그니파이어로 파퓰레이팅 하도록 추가로 구성되는, 장치.
  15. 제11항에 있어서, 상기 프로세싱 시스템은,
    상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임 슬롯들 동안 상기 호스트 디바이스로부터 상기 데이터 패킷을 수신하고,
    상기 데이터 패킷과 연관된 패킷 카운터 넘버 값을 결정하기 위해 패킷 카운터를 유지하고,
    상기 패킷 카운터를 사용하여 상기 데이터 패킷을 암호해독 하고, 그리고
    상기 암호해독이 메시지 무결성 검사를 통과하는지 여부를 결정하도록 추가로 구성되는, 장치.
  16. 제15항에 있어서, 상기 비트맵을 파퓰레이팅하기 위해, 상기 프로세싱 시스템은,
    상기 암호해독이 상기 메시지 무결성 검사를 통과하지 않았다는 결정에 대한 응답으로, 상기 제1 비트맵 부분을 메시지-무결성-검사-에러 시그니파이어로 파퓰레이팅하도록 추가로 구성되는, 장치.
  17. 제11항에 있어서, 상기 비트맵을 파퓰레이팅하기 위해, 상기 프로세싱 시스템은 상기 비트맵을 추가 정보로 파퓰레이팅하도록 추가로 구성되고, 상기 추가 정보는,
    상기 데이터 패킷이 수신될 수 있는 슬롯들의 최대 개수를 표시하는 슬롯 카운터 정보,
    상기 데이터 패킷의 타입을 표시하는 패킷 타입 정보,
    상기 데이터 패킷이 새로운 데이터 패킷인지 또는 재전송 데이터 패킷인지 여부를 표시하는 재전송 정보, 또는
    이들의 임의의 조합을 포함하는, 장치.
  18. 제11항에 있어서, 상기 하나 이상의 리스닝 타임 슬롯들은,
    하나의 리스닝 슬롯,
    2개의 연속적인 리스닝 슬롯들 ―각각의 연속적인 리스닝 슬롯은 전송 슬롯에 의해 이전 또는 이후의 리스닝 슬롯으로부터 분리됨―, 또는
    3개의 연속적인 리스닝 슬롯들 ―각각의 연속적인 리스닝 슬롯은 전송 슬롯에 의해 이전 또는 이후의 리스닝 슬롯으로부터 분리됨― 을 포함하는, 장치.
  19. 제11항에 있어서, 상기 프로세싱 시스템은,
    상기 하나 이상의 비트맵 부분들을 포함하는 복수의 비트맵 부분들을 선택하고 ―상기 복수의 비트맵 부분들은 상기 하나 이상의 리스닝 타임 슬롯들을 포함하는 복수의 타임 슬롯들에 각각 대응하고, 상기 복수의 비트맵 부분들은 상기 비트맵을 구성함―,
    비트맵 준비 정보를 생성하고 ―상기 비트맵 준비 정보를 생성하기 위해, 상기 프로세싱 시스템은,
    상기 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 슬롯을 식별하고 ―상기 비트맵 오리진 슬롯은 특정 패킷 카운터 넘버, 특정 시퀀스 넘버, 상기 호스트 피코넷의 특정 클록 값, 및/또는 피코넷의 특정 클록 값과 연관됨―, 그리고
    비트맵 길이를 식별하도록 추가로 구성되고, 상기 비트맵 길이는 타임 슬롯들의 개수 및/또는 상기 비트맵의 비트맵 부분들의 개수를 포함함―, 그리고
    1차/2차 피코넷을 통해 상기 비트맵 준비 정보를 다른 디바이스에게 전송하도록 추가로 구성되고, 상기 비트맵 준비 정보는 상기 식별된 비트맵 오리진 슬롯 및 상기 식별된 비트맵 길이를 포함하는, 장치.
  20. 제11항에 있어서, 상기 프로세싱 시스템은,
    1차/2차 피코넷을 통해 다른 디바이스로부터 비트맵 준비 정보를 수신하고, 그리고
    상기 비트맵 준비 정보에 기반하여, 상기 비트맵에 대응하는 복수의 타임 슬롯들 및/또는 비트맵 부분들을 식별하도록 추가로 구성되고, 상기 복수의 타임 슬롯들 및/또는 비트맵 부분들을 식별하기 위해, 상기 프로세싱 시스템은,
    상기 비트맵의 시작 또는 끝을 마킹하는 비트맵 오리진 슬롯을 식별하고 ―상기 비트맵 오리진 슬롯은 특정 패킷 카운터 넘버, 특정 시퀀스 넘버, 상기 호스트 피코넷의 특정 클록 값, 및/또는 상기 1차/2차 피코넷의 특정 클록 값과 연관됨―,
    비트맵 길이를 식별하고 ―상기 비트맵 길이는 타임 슬롯들의 개수 및/또는 상기 비트맵 내의 비트맵 부분들의 개수를 포함함―, 그리고
    상기 식별된 비트맵 오리진 슬롯 및 상기 식별된 비트맵 길이에 기반하여 상기 비트맵을 구성하는 상기 복수의 타임 슬롯들 및/또는 비트맵 부분들을 식별하도록 추가로 구성되는, 장치.
  21. 장치로서,
    호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하기 위한 수단;
    비트맵의 하나 이상의 비트맵 부분들을 식별하기 위한 수단 ―상기 식별된 하나 이상의 비트맵 부분들은 상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임 슬롯들에 대응함―;
    데이터 패킷 페이로드를 갖는 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 상기 호스트 디바이스로부터 유효하게(effectively) 수신되는지 여부를 결정하기 위한 수단 ―상기 비트맵은 상기 데이터 패킷의 수신 성공을 보여주기 위해 사용됨―; 및
    상기 비트맵을 하나 이상의 대응하는 시그니파이어들로 파퓰레이팅하기 위한 수단을 포함하고, 상기 파퓰레이팅하기 위한 수단은,
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 유효하게 수신되었다는 결정에 대한 응답으로, 상기 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로, 상기 하나 이상의 비트맵 부분들 중 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅하기 위한 수단; 및
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 타임 슬롯들 동안 유효하게 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 상기 널 시그니파이어로 파퓰레이팅하기 위한 수단을 포함하는, 장치.
  22. 제21항에 있어서, 상기 하나 이상의 비트맵 부분들 중 상기 제1 비트맵 부분은 상기 하나 이상의 리스닝 타임 슬롯들 중 가장 빠른 타임 슬롯에 대응하는, 장치.
  23. 제21항에 있어서, 상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 유효하게 수신된다는 것을 결정하기 위한 수단을 추가로 포함하고, 상기 결정하기 위한 수단은,
    상기 하나 이상의 리스닝 타임 슬롯들 동안 데이터 패킷 헤더를 수신하기 위한 수단 ―상기 데이터 패킷 헤더는 상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함하는지 여부를 표시함―; 및
    상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함함을 상기 데이터 패킷 헤더가 표시한다는 것을 결정하기 위한 수단을 포함하는, 장치.
  24. 제23항에 있어서,
    상기 하나 이상의 비트맵 부분들은 각각 2 이상의 비트들을 포함하고,
    상기 수신된 데이터 패킷 헤더는 상기 데이터 패킷의 시퀀스 넘버를 표시하고, 그리고
    상기 제1 비트맵 부분을 상기 수신 시그니파이어로 파퓰레이팅하기 위한 수단은,
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-0 수신 시그니파이어로 파퓰레이팅하기 위한 수단, 또는
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-1 수신 시그니파이어로 파퓰레이팅하기 위한 수단을 포함하는, 장치.
  25. 제21항에 있어서,
    상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임 슬롯들 동안 상기 호스트 디바이스로부터 상기 데이터 패킷을 수신하기 위한 수단;
    상기 데이터 패킷과 연관된 패킷 카운터 넘버 값을 결정하기 위해 패킷 카운터를 유지하기 위한 수단;
    상기 패킷 카운터를 사용하여 상기 데이터 패킷을 암호해독 하기 위한 수단; 및
    상기 암호해독이 메시지 무결성 검사를 통과하는지 여부를 결정하기 위한 수단을 추가로 포함하고,
    상기 제1 비트맵 부분을 파퓰레이팅하기 위한 수단은, 상기 암호해독이 상기 메시지 무결성 검사를 통과하지 않았다는 결정에 대한 응답으로, 상기 제1 비트맵 부분을 메시지-무결성-검사-에러 시그니파이어로 파퓰레이팅하기 위한 수단을 추가로 포함하는, 장치.
  26. 프로세서로 하여금 동작들을 수행하게 하기 위한 적어도 하나의 명령을 포함하는 비-일시적 컴퓨터-판독가능 저장 매체로서,
    호스트 피코넷의 하나 이상의 리스닝 타임 슬롯들에서 호스트 디바이스를 리스닝하기 위한 코드;
    비트맵의 하나 이상의 비트맵 부분들을 식별하기 위한 코드 ―상기 식별된 하나 이상의 비트맵 부분들은 상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임 슬롯들에 대응함―;
    데이터 패킷 페이로드를 갖는 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 상기 호스트 디바이스로부터 유효하게(effectively) 수신되는지 여부를 결정하기 위한 코드 ―상기 비트맵은 상기 데이터 패킷의 수신 성공을 보여주기 위해 사용됨―; 및
    상기 비트맵을 하나 이상의 대응하는 시그니파이어들로 파퓰레이팅하기 위한 코드를 포함하고, 상기 파퓰레이팅하기 위한 코드는,
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 유효하게 수신되었다는 결정에 대한 응답으로, 상기 하나 이상의 비트맵 부분들 중 제1 비트맵 부분을 수신 시그니파이어로, 상기 하나 이상의 비트맵 부분들 중 임의의 나머지 비트맵 부분들을 널 시그니파이어로 파퓰레이팅하기 위한 코드; 및
    상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 상기 하나 이상의 리스닝 타임 슬롯들 동안 유효하게 수신되지 않았다는 결정에 대한 응답으로, 하나 이상의 값들 각각을 상기 널 시그니파이어로 파퓰레이팅하기 위한 코드를 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체.
  27. 제26항에 있어서, 상기 하나 이상의 비트맵 부분들 중 상기 제1 비트맵 부분은 상기 하나 이상의 리스닝 타임 슬롯들 중 가장 빠른 타임 슬롯에 대응하는, 비-일시적 컴퓨터-판독가능 저장 매체.
  28. 제26항에 있어서, 상기 데이터 패킷 페이로드를 갖는 상기 데이터 패킷이 유효하게 수신된다는 것을 결정하기 위한 코드를 추가로 포함하고, 상기 결정하기 위한 코드는,
    상기 하나 이상의 리스닝 타임 슬롯들 동안 데이터 패킷 헤더를 수신하기 위한 코드 ―상기 데이터 패킷 헤더는 상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함하는지 여부를 표시함―; 및
    상기 데이터 패킷이 상기 데이터 패킷 페이로드를 포함함을 상기 데이터 패킷 헤더가 표시한다는 것을 결정하기 위한 코드를 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  29. 제28항에 있어서,
    상기 하나 이상의 비트맵 부분들은 각각 2 이상의 비트들을 포함하고,
    상기 수신된 데이터 패킷 헤더는 상기 데이터 패킷의 시퀀스 넘버를 표시하고, 그리고
    상기 제1 비트맵 부분을 상기 수신 시그니파이어로 파퓰레이팅하기 위한 코드는,
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-0 수신 시그니파이어로 파퓰레이팅하기 위한 코드, 또는
    상기 표시된 시퀀스 넘버에 기반하여 상기 제1 비트맵 부분을 시퀀스-넘버-1 수신 시그니파이어로 파퓰레이팅하기 위한 코드를 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체.
  30. 제26항에 있어서,
    상기 호스트 피코넷의 상기 하나 이상의 리스닝 타임들 동안 상기 호스트 디바이스로부터 상기 데이터 패킷을 수신하기 위한 코드;
    상기 데이터 패킷과 연관된 패킷 카운터 넘버 값을 결정하기 위해 패킷 카운터를 유지하기 위한 코드;
    상기 패킷 카운터를 사용하여 상기 데이터 패킷을 암호해독 하기 위한 코드; 및
    상기 암호해독이 메시지 무결성 검사를 통과하는지 여부를 결정하기 위한 코드를 추가로 포함하고,
    상기 제1 비트맵 부분을 파퓰레이팅하기 위한 코드는, 상기 암호해독이 상기 메시지 무결성 검사를 통과하지 못했다는 결정에 대한 응답으로, 상기 제1 비트맵 부분을 메시지-무결성-검사-에러 시그니파이어로 파퓰레이팅하기 위한 코드를 추가로 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체.
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
KR1020217022013A 2019-01-03 2019-12-18 데이터 패킷들의 선택적 중계 KR102611388B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/239,450 US11582638B2 (en) 2019-01-03 2019-01-03 Selective relay of data packets
US16/239,450 2019-01-03
PCT/US2019/067185 WO2020142214A1 (en) 2019-01-03 2019-12-18 Selective relay of data packets

Publications (2)

Publication Number Publication Date
KR20210108405A KR20210108405A (ko) 2021-09-02
KR102611388B1 true KR102611388B1 (ko) 2023-12-06

Family

ID=69173466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217022013A KR102611388B1 (ko) 2019-01-03 2019-12-18 데이터 패킷들의 선택적 중계

Country Status (6)

Country Link
US (2) US11582638B2 (ko)
EP (1) EP3906628B1 (ko)
KR (1) KR102611388B1 (ko)
CN (1) CN113366783B (ko)
TW (1) TWI811507B (ko)
WO (1) WO2020142214A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582638B2 (en) 2019-01-03 2023-02-14 Qualcomm Incorporated Selective relay of data packets
KR102652380B1 (ko) * 2019-03-05 2024-03-29 삼성전자주식회사 블루투스 네트워크 환경에서 응답 메시지를 전송하기 위한 전자 장치 및 그에 관한 방법
US20230062363A1 (en) * 2021-08-31 2023-03-02 Apple Inc. Techniques for synchronizing ultra-wide band communications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090217119A1 (en) * 2006-06-22 2009-08-27 Huawei Technologies Co., Ltd. Method, system and relay station for realizing hybrid automatic retransmission
US20160365952A1 (en) * 2015-06-12 2016-12-15 Apple Inc. Hybrid automatic repeat request (h-arq) for a wireless local area network
US20170230338A1 (en) * 2016-02-04 2017-08-10 Cisco Technology, Inc. Encrypted and authenticated data frame
WO2017150042A1 (en) * 2016-03-03 2017-09-08 Panasonic Intellectual Property Management Co., Ltd. Communication method and communication apparatus for block acknowledgment transmission

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526022B1 (en) * 1998-06-30 2003-02-25 Sun Microsystems Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
US6628636B1 (en) * 1999-06-28 2003-09-30 Rockwell Collins Method and apparatus for managing communication resources using neighbor segregation
JP3858746B2 (ja) * 2001-05-08 2006-12-20 ソニー株式会社 無線通信システム、無線通信制御装置及び無線通信制御方法、並びにコンピュータ・プログラム
US7894381B2 (en) * 2003-03-04 2011-02-22 Samsung Electronics Co., Ltd. System and method of reliably broadcasting data packet under ad-hoc network environment
KR100547116B1 (ko) * 2003-05-23 2006-01-26 삼성전자주식회사 무선 네트워크를 통한 통신 방법 및 그 장치
CA2560603C (en) * 2004-03-24 2014-07-22 Koninklijke Philips Electronics N.V. Distributed beaconing periods for ad-hoc networks
EP1741230B1 (en) * 2004-04-02 2009-04-01 Fondazione Silvio Tronchetti Provera Controlling access to a shared communication medium of a mobile adhoc network
US7433314B2 (en) * 2004-06-01 2008-10-07 Samsung Electronics Co., Ltd. Method and system for acknowledging the receipt of a transmitted data stream in a wireless personal area network
PL1858190T3 (pl) * 2006-05-16 2012-06-29 Nokia Solutions & Networks Gmbh & Co Kg Sposób bezpiecznego transmitowania krótkich map bitowych potwierdzeń ACK/NACK w procesie ARQ w systemach zgodnych z edge
US7889713B2 (en) * 2006-07-03 2011-02-15 Nokia Corporation Transmission of management messages for relay networks
CN101867937B (zh) * 2009-04-14 2014-08-13 中兴通讯股份有限公司 基于恒定调度的混合自动重传实现方法
KR20100117951A (ko) * 2009-04-27 2010-11-04 삼성전자주식회사 이동 애드 혹 네트워크에서 통신 방법 및 장치
KR101683795B1 (ko) * 2009-05-08 2016-12-08 한국전자통신연구원 Wpan 디바이스의 동작 방법
KR101506041B1 (ko) * 2009-07-13 2015-03-26 삼성전자주식회사 Wban에서 통신 방법 및 장치
US8560848B2 (en) * 2009-09-02 2013-10-15 Marvell World Trade Ltd. Galois/counter mode encryption in a wireless network
CN102577212B (zh) * 2009-10-30 2015-06-17 三星电子株式会社 无线通信系统中产生自动重传请求反馈消息的装置及方法
CN104702331B (zh) * 2009-10-30 2018-01-16 谷歌技术控股有限责任公司 将数据分组的递送通信至用户设备的方法和装置
JP5470075B2 (ja) * 2010-02-05 2014-04-16 京セラ株式会社 無線通信システム、主通信装置、従通信装置、およびチャネル割当情報通知方法
US8473821B2 (en) * 2010-11-09 2013-06-25 Qualcomm, Incorporated Packet-level erasure protection coding in aggregated packet transmissions
US8989211B2 (en) * 2011-10-18 2015-03-24 Electronics And Telecommunications Research Institute Apparatus and method for managing channel resource
US9325457B2 (en) * 2012-10-02 2016-04-26 Electronics And Telecommunications Research Institute Method of providing HARQ feedback information
KR102191761B1 (ko) * 2013-12-17 2020-12-16 한국전자통신연구원 저전력 무선 센서 통신을 위한 재전송 장치 및 방법
KR102233358B1 (ko) * 2014-10-22 2021-03-29 삼성전자주식회사 멀티 레이트 전송을 위한 블록 애크 기법과 링크 어댑테이션을 지원하는 코디네이터 및 노드의 동작 방법
CA2969344C (en) * 2014-12-09 2021-07-06 University Of South Australia Multicarrier communications system
WO2016175684A1 (en) * 2015-04-27 2016-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Method for providing transmission and/or reception time coordination between piconets
US20190124575A1 (en) * 2016-05-26 2019-04-25 Qualcomm Incorporated Method to improve one subscription data throughput after turn way on dsds phone
CN109417771B (zh) * 2016-06-27 2021-10-19 庄卫华 转播信息以用于可靠的车辆通信的系统和方法
US10855402B2 (en) * 2016-07-11 2020-12-01 Lg Electronics Inc. Method for transmitting or receiving ACK/NACK signal in wireless communication system and apparatus for same
US11375558B2 (en) * 2016-12-02 2022-06-28 Apple Inc. LWIP (LTE/WLAN radio level integration using IPSEC tunnel) packet acknowledgement using GRE (generic routing encapsulation) header
US10440707B2 (en) * 2016-12-19 2019-10-08 Electronics And Telecommunications Research Institute Transmission method and apparatus using shared timeslot and broadcast, and firmware update method and apparatus using the same
CN106713047A (zh) * 2017-01-12 2017-05-24 泰凌微电子(上海)有限公司 一种网状网络中的节点升级方法与系统
US10567070B2 (en) * 2017-04-02 2020-02-18 Ahmad Jalali Air to ground network for broadband access to aerial platforms
CN110915244B (zh) * 2017-07-17 2022-02-22 庄卫华 在车辆通信网络中管理单跳和多跳广播的方法及其装置
US10992603B2 (en) * 2017-09-27 2021-04-27 Apple Inc. Block acknowledgement with out-of-order packets
CN109803453B (zh) * 2017-11-17 2023-07-07 华为技术有限公司 一种通信方法,通信设备及其通信系统
WO2019129748A1 (en) * 2017-12-28 2019-07-04 Dopple Ip B.V. Wireless stereo headset with diversity
CN110035453B (zh) * 2018-01-12 2022-05-13 华为技术有限公司 数据处理方法及相关设备
US11716613B2 (en) * 2018-07-27 2023-08-01 Mediatek Singapore Pte. Ltd. Encryption mechanism used in multi-band channel access
US10686861B2 (en) * 2018-10-02 2020-06-16 Google Llc Live stream connector
US11553343B2 (en) * 2018-12-12 2023-01-10 Qualcomm Incorporated Real-time soft combining, CRC validation, and MIC validation of decrypted packets
US10772112B2 (en) * 2018-12-13 2020-09-08 Qualcomm Incorporated Network neighborhood alignment
US11582638B2 (en) 2019-01-03 2023-02-14 Qualcomm Incorporated Selective relay of data packets
US11085964B2 (en) * 2019-05-03 2021-08-10 Intel Corporation Systems and methods for intellectual property-secured, remote debugging

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090217119A1 (en) * 2006-06-22 2009-08-27 Huawei Technologies Co., Ltd. Method, system and relay station for realizing hybrid automatic retransmission
US20160365952A1 (en) * 2015-06-12 2016-12-15 Apple Inc. Hybrid automatic repeat request (h-arq) for a wireless local area network
US20170230338A1 (en) * 2016-02-04 2017-08-10 Cisco Technology, Inc. Encrypted and authenticated data frame
WO2017150042A1 (en) * 2016-03-03 2017-09-08 Panasonic Intellectual Property Management Co., Ltd. Communication method and communication apparatus for block acknowledgment transmission

Also Published As

Publication number Publication date
WO2020142214A1 (en) 2020-07-09
TW202031086A (zh) 2020-08-16
TWI811507B (zh) 2023-08-11
EP3906628A1 (en) 2021-11-10
US11582638B2 (en) 2023-02-14
US11785502B2 (en) 2023-10-10
US20230137847A1 (en) 2023-05-04
EP3906628B1 (en) 2023-02-08
KR20210108405A (ko) 2021-09-02
CN113366783A (zh) 2021-09-07
CN113366783B (zh) 2024-06-11
US20200221336A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
KR102611388B1 (ko) 데이터 패킷들의 선택적 중계
US20190104424A1 (en) Ultra-low latency audio over bluetooth
CN110519742A (zh) 一种音频同步播放方法、装置及tws蓝牙耳机
CN112771941B (zh) 数据同步方法、装置、设备、系统及存储介质
CN110708142A (zh) 一种音频数据通信方法、系统及设备
US10784993B1 (en) Soft combining packets received from different piconets
US11653318B2 (en) Network coordination
US20230344535A1 (en) Robust broadcast via relayed retransmission
CN111818496B (zh) 基于载波监听的tws耳机通信方法及系统、tws耳机
US20210266102A1 (en) Systems and Methods for Relaying and Updating Payload Counter Data Between Hearing Devices
EP3416320B1 (en) Devices and method for wirelessly broadcasting media packets
US11882448B2 (en) System and method for packet detail detection and precision blocking
CN110933617B (zh) Wifi音频数据发送方法及装置、计算机可读存储介质
TWI710225B (zh) 無線藍牙裝置的控制器及方法
Dong et al. RTC: link schedule based MAC design in multi-hop wireless network
CN116614150A (zh) 音频收发同步方法、音频接收芯片和无线传声系统
CN114422987A (zh) Tws设备发射无缝中继方法及tws设备
CN118119005A (zh) 数据同步方法及相关产品

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant