KR101877123B1 - 시간에 민감한 애플리케이션들을 위한 단거리 무선 패킷들의 우선순위화 - Google Patents

시간에 민감한 애플리케이션들을 위한 단거리 무선 패킷들의 우선순위화 Download PDF

Info

Publication number
KR101877123B1
KR101877123B1 KR1020160111563A KR20160111563A KR101877123B1 KR 101877123 B1 KR101877123 B1 KR 101877123B1 KR 1020160111563 A KR1020160111563 A KR 1020160111563A KR 20160111563 A KR20160111563 A KR 20160111563A KR 101877123 B1 KR101877123 B1 KR 101877123B1
Authority
KR
South Korea
Prior art keywords
communications
packets
accessory
accessory device
client station
Prior art date
Application number
KR1020160111563A
Other languages
English (en)
Other versions
KR20170038659A (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 KR20170038659A publication Critical patent/KR20170038659A/ko
Application granted granted Critical
Publication of KR101877123B1 publication Critical patent/KR101877123B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Abstract

실시예들에서, 클라이언트 스테이션은, 혼잡한 무선 환경에서, 시간에 민감한 BTLE(Bluetooth Low Energy) 패킷들과 같은, 시간에 민감한 단거리 무선 패킷들을 식별 및 우선순위화하도록 동작한다. 클라이언트 스테이션은, 예를 들어, 패킷들을 제공하는 디바이스의 타입, 패킷들을 제공하는 디바이스의 상태, 및/또는 패킷들에 포함된 데이터의 타입을 사용하여 시간에 민감한 패킷들을 식별할 수 있다. 클라이언트 스테이션은, 시간에 민감한 패킷들에 우선순위 스케줄링을 제공하는 것; A2DP 패킷들과 같은, 다른 타입들의 블루투스 패킷들의 통신을 일시정지하는 것; A2DP 패킷들과 같은, 다른 타입들의 블루투스 패킷들의 데이터 레이트를 감소시키는 것; 및/또는 시간에 민감한 BTLE 패킷들의 데이터 패킷 사이즈를 확대하는 것을 포함하는 다양한 방식으로 시간에 민감한 패킷들을 우선순위화할 수 있다. 따라서, 시간에 민감한 패킷들은 동일한 무선 프로토콜 및/또는 상이한 무선 프로토콜과 연관된 패킷들보다 우선순위화될 수 있다.

Description

시간에 민감한 애플리케이션들을 위한 단거리 무선 패킷들의 우선순위화{PRIORITIZING SHORT-RANGE WIRELESS PACKETS FOR TIME-SENSITIVE APPLICATIONS}
본 출원은, 무선 네트워킹 시스템에서 무선 스테이션들과 액세서리 디바이스들 사이의 무선 통신을 위한 기법들을 포함하는, 무선 통신에 관한 것이다.
무선 통신 시스템들에 대한 사용이 급격히 증가하고 있다. 또한, 무선 통신 기술은 음성 전용 통신으로부터 인터넷 및 멀티미디어 콘텐츠와 같은 데이터의 송신을 또한 포함하도록 진화되었다. 대중적인 단거리/중거리 무선 통신 표준은 WLAN(wireless local area network)이다. 최신 WLAN들은 IEEE 802.11 표준(또는 간략히, 802.11)에 기반을 두며, Wi-Fi라는 브랜드명으로 판매된다. WLAN 네트워크들은 하나 이상의 디바이스를 무선 액세스 포인트에 링크시키는데, 이는 결국 더 광역인 인터넷으로의 접속성을 제공한다.
802.11 시스템들에서, 무선으로 서로 접속하는 디바이스들은 간략히 "무선 스테이션들(wireless stations)", "스테이션들(stations)", "모바일 스테이션들(mobile stations)", "사용자 디바이스들(user devices)" 또는 STA나 UE로 지칭된다. 무선 스테이션들은 무선 액세스 포인트들 또는 무선 클라이언트들(또는 모바일 스테이션들)일 수 있다. 무선 라우터들이라고도 지칭되는, AP들(Access points)은 무선 네트워크를 위한 기지국들로서 역할한다. AP들은 무선 클라이언트 디바이스들과의 통신을 위해 라디오 주파수 신호들을 송수신한다. AP들은 또한 유선 방식으로 인터넷에 통상적으로 결합할 수 있다. 802.11 네트워크에서 동작하는 무선 클라이언트들은 다양한 디바이스들, 이를테면, 랩톱들, 태블릿 디바이스들, 스마트폰들, 또는 데스크톱 컴퓨터들, 비디오 게임 시스템들 혹은 다른 엔터테인먼트 디바이스들과 같은 고정된 디바이스들 중 임의의 것일 수 있다.
다른 대중적인 단거리 무선 통신 표준은, BTLE(Bluetooth Low Energy) 프로토콜을 포함하는, BT(Bluetooth)이다. 블루투스(Bluetooth) 통신은 헤드 세트들, 헤드폰들, 스피커들, 키보드들, 마우스들, 트랙패드들, 스타일러스들, 리모컨들, 게임 제어기들, 웨어러블 디바이스들(예를 들어, 스마트 시계들 또는 스마트 안경들), 홈 오토메이션 디바이스들 등과 같은, 다양한 액세서리 디바이스들에 무선 디바이스들을 접속하는데 특히 대중적이다. 블루투스는 모바일 디바이스로부터 스마트 텔레비전, 디지털 미디어 플레이어, 또는 다른 엔터테인먼트 디바이스로의 디스플레이를 위한 오디오/비디오 컨텐츠를 스트리밍하거나; 또는 무선 디바이스들 사이에서 사용자 파일들 또는 다른 데이터를 직접 전송하는 것과 같이, 무선 디바이스들 사이의 통신을 제공하는데 또한 사용될 수 있다.
와이-파이(Wi-Fi) 및 블루투스 양자 모두는 2.4 GHz ISM 주파수 대역의 섹션을 차지한다. Wi-Fi 지원 무선 스테이션들(Wi-Fi-enabled wireless stations)과의 통신에 사용하기 위해 블루투스 지원 액세서리들(Bluetooth-enabled accessories)이 점점 많아지게 됨에 따라, 이러한 주파수 대역의 혼잡 또한 증가한다. 이는 통신 레이턴시의 증가로 이어질 수 있는데, 그 이유는 스케줄링 제약들 및 간섭이 통신 패킷들이 지연되거나 또는 재송신되게 하기 때문이다.
본 명세서에 설명되는 실시예들은 시간에 민감한(time-sensitive) 블루투스 통신을 우선순위화하는 시스템 및 방법에 관한 것이다.
일부 실시예들은 액세서리 디바이스와 클라이언트 스테이션 사이에서 데이터 패킷들을 통신하기 위한 방법들에 관한 것이다. 클라이언트 스테이션은 복수의 액세서리 디바이스와의 통신을 수립하고, 복수의 액세서리 디바이스 중 제1 액세서리 디바이스와의 통신이 시간에 민감한 통신이라는 것을 결정하고, 제1 액세서리 디바이스와의 통신이 시간에 민감한 통신이라는 결정에 응답하여 제1 액세서리 디바이스와의 통신을 우선순위화할 수 있다. 제1 액세서리 디바이스와의 통신은 BTLE(Bluetooth Low Energy) 통신을 포함할 수 있다.
클라이언트 스테이션은 제1 액세서리 디바이스가 클라이언트 스테이션을 제어하도록 구성되는 리모컨(remote control)이라는 결정에 의해 제1 액세서리 디바이스와의 통신이 시간에 민감한 것을 결정할 수 있다. 클라이언트 스테이션은 리모컨의 마이크로폰이 음성 명령들을 수신하기 위해 활성(active)이라는 것을 더 결정할 수 있다. 클라이언트 스테이션은 제1 액세서리 디바이스와의 통신이 오디오 데이터를 포함한다는 것을 더 결정할 수 있다.
클라이언트 스테이션은 제1 액세서리 디바이스가 스타일러스라는 결정에 의해 제1 액세서리 디바이스와의 통신이 시간에 민감한 것을 결정할 수 있다. 클라이언트 스테이션은 스타일러스가 로우 레이턴시 모드에 있다는 것을 더 결정할 수 있다.
클라이언트 스테이션은 복수의 액세서리 디바이스가 적어도 임계 개수의 액세서리 디바이스들을 포함하는 것으로 결정할 수 있다. 제1 액세서리 디바이스와의 통신을 우선순위화하는 것은 복수의 액세서리 디바이스가 적어도 임계 개수의 액세서리 디바이스들을 포함한다는 결정에 더 응답하는 것일 수 있다.
제1 액세서리 디바이스와의 통신을 우선순위화하는 것은 연속적 접속 구간들(successive connection intervals) 동안 제1 액세서리 디바이스와 하나 이상의 패킷의 통신을 스케줄링하는 것을 더 포함할 수 있는데, 여기서, 제1 액세서리 디바이스와 하나 이상의 패킷의 통신을 스케줄링하는 것을 허용하기 위해, 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와 하나 이상의 패킷의 통신은 지연된다.
클라이언트 스테이션은 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와의 통신이 A2DP(Advanced Audio Distribution Profile) 패킷들을 포함하는 것으로 결정할 수 있는데, 여기서, 제1 액세서리 디바이스와의 통신을 우선순위화하는 것은 제1 액세서리 디바이스가 자신의 가용 데이터의 전송을 완료할 때까지 A2DP 패킷들을 일시정지하는 것을 포함한다. 대안적으로 또는 추가적으로, 제1 액세서리 디바이스와의 통신을 우선순위화하는 것은 A2DP 패킷들의 데이터 레이트를 감소시키는 것을 포함한다.
제1 액세서리 디바이스와의 통신을 우선순위화하는 것은 제1 액세서리 디바이스와 통신하는 하나 이상의 BTLE 패킷에 대해 데이터 패킷 사이즈를 확대하는 것을 포함할 수 있다.
클라이언트 스테이션은 제1 액세서리 디바이스로부터 통신 패킷을 수신할 수 있다. 이에 응답하여, 클라이언트 스테이션은 수신확인 패킷(acknowledgement packet)을 송신할 수 있다. 제1 액세서리 디바이스는 수신확인 패킷을 수신할 때까지 활성 상태(active state)를 유지하도록 구성될 수 있다.
일부 실시예들은, 본 명세서에 설명되는 단계들 또는 액션들 중 임의의 것을 수행하도록 구성된, 위에 설명된 클라이언트 스테이션과 같은, 무선 스테이션들에 관한 것이다.
일부 실시예들은, 무선 통신 디바이스가 본 명세서에 설명되는 단계들 또는 액션들 중 임의의 것을 수행하게 하는, 무선 통신 디바이스의 하나 이상의 프로세서에 의해 실행가능한 소프트웨어 명령어들을 저장하는 컴퓨터 판독가능 매체에 관한 것이다.
이러한 요약은 본 문헌에서 설명되는 요지 중 일부에 대한 간략한 개요를 제공하도록 의도된다. 그에 따라, 위에 설명된 특징들은 단지 예들이고, 본 명세서에 설명되는 요지의 범위 또는 의도를 어떤 식으로든 좁히는 것으로 해석되어서는 안 된다는 점이 이해될 것이다. 본 명세에서 설명되는 요지의 다른 특징들, 양태들, 및 이점들은 다음의 상세한 설명, 도면들, 및 청구범위로부터 명백하게 될 것이다.
실시예들에 대한 다음의 상세한 설명이 다음의 도면들과 함께 고려될 때, 본 요지가 더 잘 이해될 수 있다.
도 1은 일부 실시예들에 따른, WLAN 통신 시스템의 예를 예시한다.
도 2는 일부 실시예들에 따른, WLAN AP(Access Point)의 간략화된 블록도의 예를 예시한다.
도 3은 일부 실시예들에 따른, 클라이언트 스테이션의 간략화된 블록도의 예를 예시한다.
도 4는 일부 실시예들에 따른, 액세서리 디바이스의 간략화된 블록도의 예를 예시한다.
도 5는 일부 실시예들에 따른, 무선 클라이언트 스테이션이 혼잡한 무선 환경에서 액세서리 디바이스들과의 로우 레이턴시 통신을 요구할 수 있는 시나리오의 예를 예시한다.
도 6-9는 일부 실시예들에 따른, 클라이언트 스테이션과 리모컨 사이의 통신에 대한 타이밍도들의 예를 제공한다.
도 10은 일부 실시예들에 따른, 무선 클라이언트 스테이션이 혼잡한 무선 환경에서 액세서리 디바이스들과의 로우 레이턴시 통신을 요구할 수 있는 시나리오의 예를 예시한다.
도 11은 일부 실시예들에 따른, 예시적인 스타일러스에 의한 실행에 대한 상태도의 예를 예시한다.
도 12는 일부 실시예들에 따른, 프레임 집성(frame aggregation)이 없는 일련의 데이터 프레임을 포함하는 Wi-Fi 신호의 예를 예시한다.
도 13은 일부 실시예들에 따른, 프레임 집성이 있는 일련의 데이터 프레임을 포함하는 Wi-Fi 신호의 예를 예시한다.
도 14는 일부 실시예들에 따른, 시간에 민감한 패킷들을 우선순위화하기 위한 특징들을 구현하는 Wi-Fi 스테이션의 실험적 성능 특성들을 예시한다.
도 15a 및 15b는 일부 실시예들에 따른, BTLE 패킷들이 혼잡한 무선 환경에서 낮은 우선순위 패킷들로서 그리고 높은 우선순위 패킷들로서 처리되는 시나리오들을 예시한다.
도 16a 내지 16c는 일부 실시예들에 따른, 마스터 디바이스와 슬레이브 디바이스 사이의 블루투스 통신 시나리오들의 예를 예시한다.
본 명세서에 설명되는 특징들은 다양한 수정들 및 대안적인 형태들이 가능한 한편, 그에 대한 구체적인 실시예들은 도면에서 예로써 도시되며 본 명세서에 상세히 설명된다. 그러나, 도면들 및 그에 대한 상세한 설명은 개시되는 특정한 형태로 제한하도록 의도되는 것이 아니라, 그와 반대로, 첨부된 청구범위들에 의해 정의되는 바와 같은 요지의 의도 및 범위 내에 있는 모든 수정들, 등가물들 및 대안들을 커버하려는 의도라는 점이 이해되어야 한다.
두문자어(Acronyms)
본 출원의 전체에 걸쳐 다양한 두문자어들이 사용된다. 본 출원의 전체에 걸쳐 등장하는 가장 현저하게 사용되는 두문자어들에 대한 정의들이 아래에 제공된다:
AP: Access Point
A2DP: Advanced Audio Distribution Profile
BT: Bluetooth
BTLE: Bluetooth Low Energy
MAC: Media Access Control
TX: Transmission/Transmit
RX: Reception/Receive
LAN: Local Area Network
WLAN: Wireless LAN
RAT: Radio Access Technology
용어(Terminology)
다음은 본 개시내용에 사용되는 용어들의 해설 목록이다:
메모리 매체(Memory Medium) - 임의의 다양한 타입들의 비일시적 메모리 디바이스들 또는 스토리지 디바이스들. "메모리 매체(memory medium)"라는 용어는, 설치 매체(installation medium), 예를 들어, CD-ROM, 플로피 디스크들, 또는 테이프 디바이스; 컴퓨터 시스템 메모리 또는 랜덤 액세스 메모리, 이를테면, DRAM, DDR RAM, SRAM, EDO RAM, 램버스(Rambus) RAM 등; 비-휘발성 메모리, 이를테면, 플래시, 자기 매체, 예를 들어, 하드 드라이브, 또는 광학 스토리지; 레지스터들, 또는 다른 유사한 타입들의 메모리 엘리먼트들 등을 포함하도록 의도된다. 메모리 매체는 다른 타입들의 비일시적 메모리는 물론 이들의 조합을 포함할 수 있다. 또한, 메모리 매체는 프로그램들이 실행되는 제1 컴퓨터 시스템에 위치될 수 있거나, 또는 인터넷과 같은 네트워크를 통해 제1 컴퓨터 시스템에 접속하는 상이한 제2 컴퓨터 시스템에 위치될 수 있다. 후자의 경우에, 제2 컴퓨터 시스템은 실행을 위해 프로그램 명령어들을 제1 컴퓨터에 제공할 수 있다. "메모리 매체"라는 용어는 상이한 위치들, 예를 들어, 네트워크를 통해 접속되는 상이한 컴퓨터 시스템들에 상주할 수 있는 둘 이상의 메모리 매체들을 포함할 수 있다. 메모리 매체는 하나 이상의 프로세서에 의해 실행될 수 있는 (예를 들어, 컴퓨터 프로그램들로서 구현되는) 프로그램 명령어들을 저장할 수 있다.
캐리어 매체(Carrier Medium) - 위에서 설명한 바와 같은 메모리 매체는 물론, 물리적 송신 매체, 이를테면, 버스, 네트워크, 및/또는 전기, 전자기, 또는 디지털 신호들과 같은 신호들을 전달하는 다른 물리적 송신 매체.
컴퓨터 시스템(Computer System) - PC(personal computer system), 메인프레임 컴퓨터 시스템, 워크스테이션, 네트워크 기기, 인터넷 기기, PDA(personal digital assistant), 텔레비전 시스템, 그리드 컴퓨팅 시스템, 또는 다른 디바이스 혹은 디바이스들의 조합들을 포함하는 임의의 다양한 타입들의 컴퓨팅 또는 프로세싱 시스템들. 일반적으로, "컴퓨터 시스템"이라는 용어는 메모리 매체로부터의 명령어들을 실행하는 적어도 하나의 프로세서를 갖는 임의의 디바이스(또는 디바이스들의 조합)을 포괄하도록 넓게 정의될 수 있다.
모바일 디바이스(또는 모바일 스테이션)(Mobile Device(or Mobile Station)) - 모바일 또는 포터블로서, WLAN 통신을 사용하여 무선 통신을 수행하는 임의의 다양한 타입들의 컴퓨터 시스템 디바이스들. 모바일 디바이스들의 예들은, 모바일 전화들 또는 스마트폰들(예를 들어, iPhone™, Android™ 기반의 전화들), 또는 iPad™, Samsung Galaxy™ 등과 같은 태블릿 컴퓨터들을 포함한다. 다양한 다른 타입들의 디바이스들은, 그들이 랩톱 컴퓨터들(예를 들어, MacBook™), 포터블 게임 디바이스들(예를 들어, Nintendo DS™, PlayStation Portable™, Gameboy Advance™, iPhone™), 포터블 인터넷 디바이스들, 및 다른 핸드헬드 디바이스들뿐만 아니라, 스마트 시계들, 스마트 안경들, 헤드폰들, 펜던트들(pendants), 이어피스들(earpieces) 등의 웨어러블 디바이스들과 같이, Wi-Fi 또는 셀룰러 통신 능력과 Wi-Fi 통신 능력 양자 모두를 포함하면, 본 카테고리 안에 들어갈 것이다. 일반적으로, "모바일 디바이스"라는 용어는 사용자들에 의해 용이하게 운송되고 WLAN 또는 Wi-Fi를 사용하여 무선 통신할 수 있는 임의의 전자, 컴퓨팅, 및/또는 텔레커뮤니케이션 디바이스(또는 디바이스들의 조합)를 포괄하도록 넓게 정의될 수 있다.
무선 디바이스(또는 무선 스테이션)(Wireless Device(or Wireless Station)) - WLAN 통신을 사용하여 무선 통신을 수행하는 임의의 다양한 타입들의 컴퓨터 시스템 디바이스들. 본 명세서에 사용되는 바와 같은, "무선 디바이스"라는 용어는, 위에 설명된 바와 같은, 모바일 디바이스, 또는 고정 무선 클라이언트 혹은 무선 기지국과 같은 고정 디바이스를 지칭할 수 있다. 예를 들어, 무선 디바이스는 AP(access point) 또는 클라이언트 스테이션(STA 또는 UE)과 같은, 802.11 시스템의 임의의 타입의 무선 스테이션일 수 있다. 추가적 예들은 텔레비전들, 미디어 플레이어들(예를 들어, AppleTV™, Roku™, Amazon FireTV™, Google Chromecast™ 등), 냉장고들, 세탁기들, 온도조절기들 등을 포함한다.
액세서리 디바이스(Accessory Device) - 위에 정의된 바와 같이, 무선 디바이스의 능력을 강화하기 위해 단거리 또는 중거리 무선 통신 프로토콜을 사용하여, 무선 디바이스와 통신하도록 구성되는 임의의 다양한 타입들의 전자 디바이스들. 액세서리 디바이스는 Wi-Fi 또는 블루투스와 같은, 임의의 다양한 통신 프로토콜들을 사용하여 무선 디바이스와 통신할 수 있다. 액세서리 디바이스들의 예들은 헤드 세트들, 헤드폰들, 스피커들, 키보드들, 마우스들, 트랙패드들, 스타일러스들, 리모컨들, 게임 제어기들, 웨어러블 디바이스들(예를 들어, 스마트 시계들 또는 스마트 안경들), 홈 오토메이션 디바이스들 등을 포함한다.
WLAN - "WLAN"이란 용어는 그의 보통의 의미의 전체 범위를 갖고, WLAN 액세스 포인트들에 의해 서비스되며 이러한 액세스 포인트들을 통해 인터넷으로의 접속성을 제공하는 무선 통신 네트워크 또는 RAT를 적어도 포함한다. 최신 WLAN들은 IEEE 802.11 표준들에 기반을 두고, "Wi-Fi"라는 명칭으로 판매된다. WLAN 네트워크는 셀룰러 네트워크와 상이하다.
프로세싱 엘리먼트(Processing Element) - 컴퓨터 시스템에서 기능을 수행하는 디지털 회로의 다양한 구현들을 지칭한다. 추가적으로, 프로세싱 엘리먼트는 컴퓨터 또는 컴퓨터 시스템에서 기능(또는 기능들)을 수행하는 아날로그 또는 혼합 신호(아날로그와 디지털의 조합) 회로의 다양한 구현들을 지칭할 수 있다. 프로세싱 엘리먼트들은, 예를 들어, 회로들, 이를테면, IC(Integrated Circuit), ASIC(Application Specific Integrated Circuit), 개별 프로세서 코어들, 전체 프로세서 코어들, 개별 프로세서들, FPGA(field programmable gate array)와 같은 프로그램가능 하드웨어 디바이스들의 부분들 또는 회로들, 및/또는 다수의 프로세서들을 포함하는 시스템들의 더 큰 부분들을 포함한다.
자동으로(Automatically) - 액션 또는 동작을 직접적으로 명시하거나 수행하는 사용자 입력 없이, 컴퓨터 시스템(예를 들어, 컴퓨터 시스템에 의해 실행되는 소프트웨어) 또는 디바이스(예를 들어, 회로, 프로그램가능 하드웨어 엘리먼트들, ASIC들 등)에 의해 수행되는 액션 또는 동작을 지칭한다. 따라서, "자동으로"라는 용어는 사용자에 의해 수동으로 수행되거나 명시되는 동작 - 여기서 사용자는 동작을 직접적으로 수행하기 위해 입력을 제공함 - 과 대조된다. 자동 프로시저는 사용자에 의해 제공되는 입력에 의해 착수될 수 있지만, "자동으로" 수행되는 후속 액션들은 사용자에 의해 명시되지 않고, 즉, "수동으로(manually)" 수행되지 않는다 - 여기서 사용자는 수행할 각 액션을 명시함 - . 예를 들어, 컴퓨터 시스템이 사용자 액션들에 응답하여 폼(form)을 업데이트해야 하더라도, (예를 들면, 정보를 타이핑하는 것, 체크 박스들을 선택하는 것, 라디오 선택들 등에 의해) 각 필드를 선택하고 정보를 명시하는 입력을 제공함으로써 전자 폼을 작성하는 사용자는 수동으로 폼을 작성한다. 폼은 컴퓨터 시스템에 의해 자동적으로 작성될 수 있는데, 여기서 컴퓨터 시스템(예를 들어, 컴퓨터 시스템에서 실행되는 소프트웨어)은 폼의 필드들을 분석하고 필드들에 대한 대답들을 명시하는 임의의 사용자 입력 없이 폼을 채운다. 위에 나타난 바와 같이, 사용자는 폼의 자동 작성(automatic filling)을 호출할 수 있지만, 폼의 실제 작성(actual filling)에 관여되는 것은 아니다(예를 들어, 사용자는 필드들에 대한 대답들을 수동으로 명시하지 않으며 이들은 오히려 자동으로 완성된다). 본 명세서는 사용자가 취한 액션들에 응답하여 자동으로 수행되는 동작들의 다양한 예들을 제공한다.
~ 하도록 구성되는(Configured to ~) - 다양한 컴포넌트들은 태스크 또는 태스크들을 수행"하도록 구성되는"으로 설명될 수 있다. 그러한 맥락에서, "~하도록 구성되는"은 동작 동안 태스크 또는 태그크들을 수행하는 "구조를 갖는"을 일반적으로 의미하는 넓은 설명이다. 이와 같이, 컴포넌트는, 컴포넌트가 현재 그 태스크를 수행하지 않을 경우에도 태스크를 수행하도록 구성될 수 있다(예를 들어, 두 개의 모듈들이 접속되지 않는 경우에도, 전기 전도체들의 세트는 한 모듈을 다른 모듈에 전기적으로 접속하도록 구성될 수 있다). 일부 맥락들에서, "~하도록 구성되는"은 동작 동안 태스크 또는 태스크들을 수행하는 "회로를 갖는"을 일반적으로 의미하는 구조의 넓은 설명일 수 있다. 이와 같이, 컴포넌트는, 컴포넌트가 현재 온상태(on)가 아닌 경우에도 태스크를 수행하도록 구성될 수 있다. 일반적으로, "~하도록 구성되는"에 대응하는 구조를 형성하는 회로는 하드웨어 회로들을 포함할 수 있다.
다양한 컴포넌트들은 설명에서의 편의상 태스크 또는 태스크들을 수행하는 것으로서 설명될 수 있다. 이러한 설명들은 "~하도록 구성되는"이라는 어구를 포함하는 것으로서 해석되어야 한다. 하나 이상의 태스크를 수행하도록 구성되는 컴포넌트에 대한 설명은 분명히 35 U.S.C. § 112의 6 단락을 적용하여 해당 컴포넌트를 해석하려는 의도는 아니다.
도 1 - WLAN 시스템
도 1은 일부 실시예들에 따른 WLAN 시스템의 예를 예시한다. 도시된 바와 같이, 예시적인 WLAN 시스템은 하나 이상의 무선 클라이언트 스테이션 혹은 디바이스, 또는 UE(user equipment)들(106A-106N), 이를테면, 무선 통신 채널(142)을 통해 Wi-Fi 액세스 포인트와 같은 AP(Access Point)(112)와 통신하도록 구성되는, 모바일 디바이스들, 셋-톱 박스들, 미디어 디바이스들, 게임 콘솔들 등을 포함한다. 하나 이상의 무선 클라이언트 스테이션(106)은 다양한 IEEE 802.11 표준들과 같은 임의의 다양한 통신 표준들에 따라 AP(112)와 통신하도록 구성될 수 있다. AP(112)는 하나 이상의 다른 전자 디바이스(도시되지 않음)와의 유선 또는 무선 통신 채널(150) 및/또는 인터넷과 같은 네트워크(152)를 통해 통신할 수 있다. 원격 디바이스(154)와 같은 추가적 전자 디바이스들이 네트워크(152)를 통해 WLAN 시스템의 컴포넌트들과 통신할 수 있다. 예를 들어, 원격 디바이스(154)는 다른 무선 클라이언트 스테이션일 수 있다.
일부 실시예들에서, 적어도 하나의 클라이언트 스테이션(106)(예를 들어, 106N)은 액세스 포인트(112)의 사용 없이 하나 이상의 인접 클라이언트 스테이션(예를 들어, 106B)과 직접 통신하도록 구성된다.
도시된 바와 같이, 예시적인 WLAN 시스템은 또한 무선 통신 채널(144)을 통해 하나 이상의 무선 클라이언트 스테이션(106)과 통신하도록 구성되는 하나 이상의 액세서리 디바이스(108)를 포함한다. 하나 이상의 액세서리 디바이스는 다양한 IEEE 802.11 표준들 또는 블루투스 표준들과 같은 임의의 다양한 통신 표준들을 사용하여 클라이언트 스테이션들(106)과 통신할 수 있다.
클라이언트 스테이션(106), 액세스 포인트(112), 및/또는 액세서리 디바이스(108) 중 하나 이상은 이하 더 설명되는 바와 같이 하나 이상의 다른 무선 통신 디바이스와의 시간에 민감한 통신들을 우선순위화하도록 구성될 수 있다.
도 2 - 액세스 포인트 블록도
도 2는 AP(access point)(112)의 예시적인 블록도를 예시한다. 도 2의 AP의 블록도는 가능한 시스템의 단지 하나의 예라는 점이 주목된다. 도시된 바와 같이, AP(112)는 AP(112)에 대한 프로그램 명령어들을 실행할 수 있는 프로세서(들)(204)를 포함할 수 있다. 프로세서(들)(204)는 또한 프로세서(들)(204)로부터 어드레스들을 수신하고 이러한 어드레스들을 메모리(예를 들어, 메모리(260) 및 ROM(read only memory)(250)) 내의 위치들로 또는 다른 회로들 또는 디바이스들로 변환하도록 구성될 수 있는, MMU(memory management unit)(240)에 결합될 수 있다. 프로세서(들)(204)는 하나 이상의 프로세싱 엘리먼트를 포함할 수 있다는 점에 주목하자. 따라서, 프로세서(들)(204)는 프로세서(들)(204)의 기능들을 수행하도록 구성되는 하나 이상의 IC(integrated circuits)를 포함할 수 있다. 또한, 각각의 집적 회로는 프로세서(들)(204)의 기능들을 수행하도록 구성되는 회로(예를 들어, 제1 회로, 제2 회로 등)를 포함할 수 있다.
AP(112)는 적어도 하나의 네트워크 포트(270)를 포함할 수 있다. 네트워크 포트(270)는, 유선 네트워크에 결합하도록, 그리고 클라이언트 스테이션들(106)과 같은 복수의 디바이스들에게 인터넷으로의 액세스를 제공하도록 구성될 수 있다. 예를 들어, 네트워크 포트(270)(또는 추가적 네트워크 포트)는 홈 네트워크 또는 기업 네트워크와 같은 로컬 네트워크에 결합하도록 구성될 수 있다. 예를 들어, 포트(270)는 이더넷 포트일 수 있다. 로컬 네트워크는 인터넷과 같은 추가적 네트워크들로의 접속성을 제공할 수 있다.
AP(112)는 적어도 하나의 안테나(234)를 포함할 수 있다. 적어도 하나의 안테나(234)는 무선 송수신기로서 동작하도록 구성될 수 있고, 무선 통신 회로(또는 라디오)(230)를 통해 클라이언트 스테이션(106)과 통신하도록 더 구성될 수 있다. 안테나(234)는 통신 체인(232)을 통해 무선 통신 회로(230)와 통신한다. 통신 체인(232)은 하나 이상의 수신 체인, 하나 이상의 송신 체인, 또는 양자 모두를 포함할 수 있다. 무선 통신 회로(230)는 Wi-Fi 또는 WLAN, 예를 들어, 802.11을 통해 통신하도록 구성될 수 있다. 802.11a, b, g, n, ac, 및 ax를 포함하는, 임의의 802.11 프로토콜이 사용될 수 있다. 무선 통신 회로(230)는 또한 또는 대안적으로, 예를 들어, AP가 스몰 셀의 경우에 기지국과 동일 위치에 있을 때, 또는 다른 경우들에서 AP(112)가 다양한 상이한 무선 통신 기술들을 통해 통신하는 것이 바람직할 수 있을 때, 이에 제한되는 것은 아니지만, LTE(Long-Term Evolution), LTE-A(LTE Advanced), GSM(Global System for Mobile), WCDMA(Wideband Code Division Multiple Access), CDMA2000 등을 포함하는, 다양한 다른 무선 통신 기술들을 통해 통신하도록 구성될 수 있다.
AP(112)는 이하 보다 상세히 설명되는 바와 같이, 시간에 민감한 통신을 우선순위화하기 위한 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다.
도 3 - 클라이언트 스테이션 블록도
도 3은 클라이언트 스테이션(106)의 간략화된 블록도의 예를 예시한다. 다양한 실시예들에 따르면, 클라이언트 스테이션(106)은 UE(user equipment device), 모바일 디바이스 혹은 모바일 스테이션, 및/또는 무선 디바이스 혹은 무선 스테이션일 수 있다. 도시된 바와 같이, 클라이언트 스테이션(106)은, 다양한 목적들을 위한 부분들을 포함할 수 있는, SOC(system on chip)(300)를 포함할 수 있다. SOC(300)는 클라이언트 스테이션(106)의 다양한 다른 회로들에 결합될 수 있다. 예를 들어, 클라이언트 스테이션(106)은 다양한 타입들의 메모리(예를 들어, NAND 플래시(310)를 포함함), (예를 들어, 컴퓨터 시스템, 독(dock), 충전 스테이션, 텔레비전, 이더넷 등에 결합하기 위한) 커넥터 인터페이스(또는 독(dock) I/F)(320), 디스플레이(360), LTE, GSM 등을 위한 것과 같은 셀룰러 통신 회로(330), 및/또는 단거리 내지 중거리 무선 통신 회로(329)(예를 들어, Bluetooth 및 WLAN 회로)를 포함할 수 있다. 클라이언트 스테이션(106)은, 하나 이상의 UICC(들)(Universal Integrated Circuit Card(s)) 카드들(370)과 같이, SIM(Subscriber Identity Module) 기능성을 포함하는 하나 이상의 스마트 카드(370)를 더 포함할 수 있다. 셀룰러 통신 회로(330)는 도시된 바와 같이 안테나들(335 및 336)과 같은 하나 이상의 안테나에 결합될 수 있다. 단거리 내지 중거리 무선 통신 회로(329) 또한 도시된 바와 같이 안테나들(337 및 338)과 같은 하나 이상의 안테나에 결합할 수 있다. 대안적으로, 단거리 내지 중거리 무선 통신 회로(329)는 안테나들(337 및 338) 외에도, 또는 이들에 결합하는 대신에, 안테나들(335 및 336)에 결합할 수 있다. 단거리 내지 중거리 무선 통신 회로(329)는 MIMO(multiple-input multiple output) 구성에서와 같이 다수의 공간 스트림들을 수신 및/또는 송신하기 위해 다수의 수신 체인들 및/또는 다수의 송신 체인들을 포함할 수 있다.
도시된 바와 같이, SOC(300)는 클라이언트 스테이션(106)에 대한 프로그램 명령어들을 실행할 수 있는 프로세서(들)(302), 및 그래픽 프로세싱을 수행하고 디스플레이 신호들을 디스플레이(360)에 제공할 수 있는 디스플레이 회로(304)를 포함할 수 있다. 프로세서(들)(302)는 또한 프로세서(들)(302)로부터 어드레스들을 수신하고 이러한 어드레스들을 메모리(예를 들어, 메모리(306), ROM(read only memory)(350), NAND 플래시 메모리(310)) 내의 위치들로 및/또는 디스플레이 회로(304), 셀룰러 통신 회로(330), 단거리 무선 통신 회로(329), 커넥터 인터페이스(I/F)(320), 및/또는 디스플레이(360)와 같은 다른 회로들 또는 디바이스들로 변환하도록 구성될 수 있는, MMU(memory management unit)(340)에 결합될 수 있다. MMU(340)는 메모리 보호 및 페이지 테이블 변환 또는 셋업을 수행하도록 구성될 수 있다. 일부 실시예들에서, MMU(340)는 프로세서(들)(302)의 일부로서 포함될 수 있다.
위에 언급된 바와 같이, 클라이언트 스테이션(106)은 하나 이상의 액세서리 디바이스와 무선으로 통신하도록 구성될 수 있다. 예를 들어, 클라이언트 스테이션(106)은 도 1에 도시된 바와 같이, 블루투스 RAT에 따라 하나 이상의 액세서리 디바이스와 통신하도록 구성될 수 있다.
본 명세서에 설명되는 바와 같이, 클라이언트 스테이션(106)은 본 명세서에서 설명되는 특징들을 구현하기 위한 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다. 구체적으로, 클라이언트 스테이션(106)은 이하 더 설명되는 바와 같이 시간에 민감한 통신을 우선순위화하기 위한 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다. 예를 들어, 클라이언트 스테이션(106)의 프로세서(302)는, 예를 들어, 메모리 매체(예를 들어, 비일시적 컴퓨터 판독가능 메모리 매체) 상에 저장되는 프로그램 명령어들을 실행함으로써, 본 명세서에 설명되는 특징들의 일부 또는 전부를 구현하도록 구성될 수 있다. 대안적으로(또는 추가적으로), 프로세서(302)는 FPGA(Field Programmable Gate Array)와 같은 프로그램가능 하드웨어 엘리먼트로서, 또는 ASIC(Application Specific Integrated Circuit)로서 구성될 수 있다. 대안적으로(또는 추가적으로), 클라이언트 스테이션(106)의 프로세서(302)는, 다른 컴포넌트들(300, 304, 306, 310, 320, 239, 330, 335, 336, 337, 338, 340, 350, 360, 및 370) 중 하나 이상과 관련하여, 본 명세서에 설명되는 특징들의 일부 또는 전부를 구현하도록 구성될 수 있다.
또한, 본 명세서에 설명되는 바와 같이, 프로세서(302)는 하나 이상의 프로세싱 엘리먼트를 포함할 수 있다. 따라서, 프로세서(302)는 프로세서(302)의 기능들을 수행하도록 구성되는 하나 이상의 IC(integrated circuits)를 포함할 수 있다. 또한, 각각의 집적 회로는 프로세서(들)(304)의 기능들을 수행하도록 구성되는 회로(예를 들어, 제1 회로, 제2 회로 등)를 포함할 수 있다.
또한, 본 명세서에 설명되는 바와 같이, 셀룰러 통신 회로(330) 및 단거리 무선 통신 회로(329)는 각각 하나 이상의 프로세싱 엘리먼트를 포함할 수 있다. 따라서, 셀룰러 통신 회로(330) 및 단거리 무선 통신 회로(329) 각각은 셀룰러 통신 회로(330) 및 단거리 무선 통신 회로(329)의 기능들을 각각 수행하도록 구성되는 하나 이상의 IC(integrated circuits)를 포함할 수 있다. 또한, 각각의 집적 회로는 셀룰러 통신 회로(330) 및 단거리 무선 통신 회로(329)의 기능들을 수행하도록 구성되는 회로(예를 들어, 제1 회로, 제2 회로 등)를 포함할 수 있다. 각각의 집적 회로는 프로세싱 엘리먼트들에 의해 실행될 소프트웨어 명령어들을 저장하는 메모리를 더 포함할 수 있다.
도 4 - 액세서리 디바이스 블록도
도 4는 액세서리 디바이스(108)의 간략화된 블록도의 예를 예시한다. 도시된 바와 같이, 액세서리 디바이스(108)는, 다양한 목적들을 위한 부분들을 포함할 수 있는, SOC(system on chip)(400)를 포함할 수 있다. SOC(400)는 액세서리 디바이스(108)의 다양한 다른 회로들에 결합될 수 있다. 예를 들어, 액세서리 디바이스(108)는 (예를 들어, NAND 플래시(410)를 포함하는) 다양한 타입들의 메모리, (예를 들어, 컴퓨터 시스템, 독(dock), 충전 스테이션, 텔레비전, 이더넷 등에 결합하기 위한) 커넥터 인터페이스(또는 독(dock) I/F)(420), 입/출력 I/F(460), 단거리 내지 중거리 무선 통신 회로(429)(예를 들어, Bluetooth 및 WLAN 회로), 및/또는 센서들(470)을 포함할 수 있다. 단거리 내지 중거리 무선 통신 회로(429)는 도시된 바와 같이 안테나들(437 및 438)과 같은 하나 이상의 안테나에 결합할 수 있다. 단거리 내지 중거리 무선 통신 회로(429)는 MIMO(multiple-input multiple output) 구성에서와 같이 다수의 공간 스트림들을 수신 및/또는 송신하기 위해 다수의 수신 체인들 및/또는 다수의 송신 체인들을 포함할 수 있다.
도시된 바와 같이, SOC(400)는 액세서리 디바이스(108)에 대한 프로그램 명령어들을 실행할 수 있는 프로세서(들)(402)을 포함할 수 있다. 프로세서(들)(402)는 또한 프로세서(들)(402)로부터 어드레스들을 수신하고 이러한 어드레스들을 메모리(예를 들어, 메모리(406), ROM(read only memory)(450), NAND 플래시 메모리(410)) 내의 위치들로 및/또는 단거리 무선 통신 회로(429), 커넥터 인터페이스(I/F)(420), 및/또는 I/O 인터페이스들(460)과 같은 다른 회로들 또는 디바이스들로 변환하도록 구성될 수 있는, MMU(memory management unit)(440)에 결합될 수 있다. MMU(440)는 메모리 보호 및 페이지 테이블 변환 또는 셋업을 수행하도록 구성될 수 있다. 일부 실시예들에서, MMU(440)는 프로세서(들)(402)의 일부로서 포함될 수 있다.
I/O 인터페이스들(460)은, 디스플레이 스크린들, 터치 스크린들, 버튼들, 스위치들, 다이얼들, 스피커들, 마이크로폰들, 햅틱 피드백 생성기들, 카메라들 등과 같은, 임의의 수많은 입력 및/또는 출력 인터페이스들 중 하나 이상을 포함할 수 있다. 센서들(470)은 힘 센서들, 압력 센서들, 모션 센서들, 자이로스코프들, 가속도계들, 나침반들, 온도계들, 기압계들, 광검출기들, 화학적 센서들, 근접성 검출기들 등과 같은, 임의의 수많은 센서들 중 하나 이상을 포함할 수 있다.
위에 언급된 바와 같이, 액세서리 디바이스(108)는 하나 이상의 클라이언트 스테이션과 무선으로 통신하도록 구성될 수 있다. 예를 들어, 액세서리 디바이스(108)는 도 1에 도시된 바와 같이, 블루투스 RAT에 따라 하나 이상의 클라이언트 스테이션과 통신하도록 구성될 수 있다.
다양한 액세서리 디바이스들은 형태 및 기능에 있어서 다른 액세서리 디바이스들과 상당히 상이할 수 있다. 액세서리 디바이스(108)가 도 4에 도시된 특징들의 임의의 조합 또는 서브세트를 포함할 수 있다는 점이 이해되어야 한다.
본 명세서에 설명되는 바와 같이, 액세서리 디바이스(108)는 본 명세서에서 설명되는 특징들을 구현하기 위한 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다. 구체적으로, 액세서리 디바이스(108)는 이하 더 설명되는 바와 같이 시간에 민감한 통신을 우선순위화하기 위한 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다. 예를 들어, 액세서리 디바이스(108)의 프로세서(402)는, 예를 들어, 메모리 매체(예를 들어, 비일시적 컴퓨터 판독가능 메모리 매체) 상에 저장되는 프로그램 명령어들을 실행함으로써, 본 명세서에 설명되는 특징들의 일부 또는 전부를 구현하도록 구성될 수 있다. 대안적으로(또는 추가적으로), 프로세서(402)는 FPGA(Field Programmable Gate Array)와 같은 프로그램가능 하드웨어 엘리먼트로서, 또는 ASIC(Application Specific Integrated Circuit)로서 구성될 수 있다. 대안적으로(또는 추가적으로), 액세서리 디바이스(108)의 프로세서(402)는, 예시된 다른 컴포넌트들 중 하나 이상과 관련하여, 액세서리 디바이스에 의해 수행되는 것으로서 본 명세서에 설명되는 특징들의 일부 또는 전부를 구현하도록 구성될 수 있다.
또한, 본 명세서에 설명되는 바와 같이, 프로세서(402)는 하나 이상의 프로세싱 엘리먼트를 포함할 수 있다. 따라서, 프로세서(402)는 프로세서(402)의 기능들을 수행하도록 구성되는 하나 이상의 IC(integrated circuits)를 포함할 수 있다. 또한, 각각의 집적 회로는 프로세서(들)(404)의 기능들을 수행하도록 구성되는 회로(예를 들어, 제1 회로, 제2 회로 등)를 포함할 수 있다.
또한, 본 명세서에 설명되는 바와 같이, 단거리 무선 통신 회로(429)는 하나 이상의 프로세싱 엘리먼트를 포함할 수 있다. 따라서, 단거리 무선 통신 회로(429)는 단거리 무선 통신 회로(429)의 기능들을 수행하도록 구성되는 하나 이상의 IC(integrated circuits)를 포함할 수 있다. 또한, 각각의 집적 회로는 단거리 무선 통신 회로(429)의 기능들을 수행하도록 구성되는 회로(예를 들어, 제1 회로, 제2 회로 등)를 포함할 수 있다. 각각의 집적 회로는 프로세싱 엘리먼트들에 의해 실행될 소프트웨어 명령어들을 저장하는 메모리를 더 포함할 수 있다.
블루투스/Wi-Fi 사용 사례들
무선 스테이션과 통신하기 위해 블루투스를 활용하는 액세서리 디바이스들의 수와 종류가 증가하고 있다. 이것은 블루투스 및 Wi-Fi에 의해 사용되는 2.4 GHz ISM 대역에서의 통신에 대한 혼잡 증가 및 레이턴시로 이어지고 있다. 동시에, 많은 새로운 액세서리 디바이스들은 이전 세대들의 액세서리 디바이스들보다 더 높은 레벨들의 성능을 요구한다.
이전에는, 무선 환경들 및 무선 스테이션들을 설계할 때, 다음과 같은 가정들이 통상적이었다:
무선 스테이션은 일반적으로 Wi-Fi 및 블루투스 양자 모두를 위한 하나의 공유된 안테나를 가지고 있어서, Wi-Fi 및 블루투스는 시간 공유(TDD)를 구현하여야 한다.
무선 스테이션은 보통 임의의 주어진 시간에 단 하나의 블루투스 디바이스와 접속하려고 시도한다.
블루투스 헤드 세트가 접속을 착수하면, 무선 스테이션은 그것이 블루투스 헤드 세트에 접속될 때 블루투스 슬레이브(제어되는 디바이스)의 역할을 한다. 모바일 디바이스는 통상적으로 역할 전환을 요청하지 않을 것이다.
블루투스 헤드 세트는 레이턴시를 최소화하기 위해 가장 높은 우선순위를 유지하여야 한다. 헤드 세트의 동작 상태에 무관하게, 높은 데이터 레이트를 유지할 필요성이 있는 것으로 가정된다.
BTLE는 최선의 접근법을 사용하는데, 그 이유는 데이터가 고정된 스케줄로 전송되는 것은 아니기 때문이다.
최소 가용 채널들은 고전적 블루투스에 대한 것만큼 BTLE에 대해 엄격하지 않은데, 그 이유는 BTLE 디바이스가 원거리에 있을 가능성이 있기 때문이다.
BTLE 패킷은 작은데, 그 이유는 이것이 단지 소량의 데이터만 포함하기 때문이다. 통상적인 예는 헬스 센서와 같은 센서로부터의 패킷일 수 있다.
전술한 가정들은 때때로 무선 환경들에서 저하된 성능을 초래하였다. 더욱이, 이러한 가정들은 모바일 스테이션들 및 액세서리 디바이스들의 기능 및 성능에 대한 요구 증가를 수용하지 못한다. 예를 들어, 무선 스테이션(심지어 모바일 스테이션이)이 다수의 블루투스 접속들을 동시에 유지할 수 있는 사용 사례들이 개발되고 있다. 추가적으로, BTLE은 더 이상, 센서들로부터의 것들과 같은, 작은 패킷들로 제한되지 않는다. 그 대신에, BTLE은 액세서리 디바이스들로부터 실시간 음성 명령들을 송신하는 것과 같이, 더 높은 데이터 레이트 애플리케이션들을 위해 (예를 들어, 길이 확장 특징을 갖거나 갖지 않고) 사용되고 있다. 또한, BTLE은 이전에 언급된 음성 명령들, 스타일러스 입력, 및/또는 게임 제어기 입력과 같은, 극도로 시간에 민감한 데이터를 송신하는데 사용되고 있다.
표 1은 BTLE의 다양한 구성들을 사용하여 달성될 수 있는 데이터 레이트들을 예시한다.
심볼 레이트 데이터 길이 오버헤드 오버헤드를 갖는 총 패킷 길이 1Msps에 대해 2*TIFS +80us 그리고 2Msps Ack에 대해 44us를 포함하는 패킷 반복 레이트 L2CAP 애플리케이션 데이터 레이트(오버헤드 제거됨)
1Msps 27 바이트 14 바이트 41 바이트 = 328 us 708 us 305 kbps
2Msps 27 바이트 15 바이트 42 바이트 = 168 us 512 us 422 kbps
1Msps +
길이
확장
251 바이트 14 바이트 265 바이트 = 2120 us 2500 us 803 kbps
2 Msps +
길이
확장
251 바이트 15 바이트 266 바이트 = 1064 us 1408 us 1426 kbps
BTLE (1Msps 및 2Msps) 패킷 사이즈
도 5는 디지털 미디어 플레이어(502)(예를 들어, 애플사에 의한, Apple TV™), 또는 다른 컴퓨팅 또는 엔터테인먼트 디바이스가 혼잡한 환경에서 액세서리 디바이스들과의 로우 레이턴시 통신을 요구할 수 있는 시나리오의 예를 예시한다. 디지털 미디어 플레이어(502)는 클라이언트 스테이션(106)의 일례일 수 있거나 또는 이를 포함할 수 있다. 디지털 미디어 플레이어(502)는, 예를 들어, 유선 또는 무선 접속을 통해, 다양한 소스로부터 텔레비전(504)으로 오디오/비디오 데이터를 제공하도록 구성될 수 있다. 하나의 예로서, 디지털 미디어 플레이어(502)는, 예를 들어, AP(506)를 통해 인터넷으로부터 오디오/비디오 데이터를 제공할 수 있다. 일부 경우들에서, 디지털 미디어 플레이어(502)는 Wi-Fi를 사용하여 AP(506)와 통신할 수 있다. 다른 예로서, 디지털 미디어 플레이어(502)는, 랩톱 컴퓨터(508), 태블릿 컴퓨터(510), 또는 스마트폰(512)과 같은, 로컬 디바이스로부터 오디오-비디오 데이터를 제공할 수 있다. 일부 경우들에서, 디지털 미디어 플레이어(502)는 Wi-Fi 및/또는 블루투스를 사용하여 로컬 디바이스와 통신할 수 있다.
디지털 미디어 플레이어(502)는 추가적으로 또는 대안적으로, 예를 들어, 블루투스를 사용하여, 하나 이상의 액세서리 디바이스와 무선으로 통신할 수 있다. 도 5에 도시된 바와 같이, 디지털 미디어 플레이어(502)는, 다른 가능한 액세서리 디바이스들 중에서, 리모컨(514), 키보드(516), 헤드폰(518), 및/또는 게임 제어기들(520)과 무선으로 통신할 수 있다.
사용자는 이러한 액세서리 디바이스들 중 하나 이상과의 통신에 있어서 로우 레이턴시를 예상하거나 요구할 수 있다. 예를 들어, 게임 제어기(520)는 디지털 미디어 플레이어(502) 상에 실행되는 게임을 제어하기 위한 사용자 입력들(예를 들어, 버튼 누름)을 나타내는 신호들을 디지털 미디어 플레이어(502)에 송신할 수 있다. 이러한 통신에서의 하이 레이턴시는 게임에서 사용자 경험의 저하를 초래할 수 있는데, 그 이유는 입력들이 늦게 수신되기 때문이다.
다른 예로서, 리모컨(514)은 디지털 미디어 플레이어(502)를 제어하기 위한 물리적 사용자 입력들(예를 들어, 버튼 누름들, 트랙패드 제스처들, 모션 제스처들) 및/또는 음성 명령들을 나타내는 신호들을 디지털 미디어 플레이어(502)에 송신할 수 있다. 예를 들어, 리모컨(514)은 사용자의 발언을 수용하기 위한 마이크로폰을 포함할 수 있다. 리모컨(514)은 발언을 디지털 미디어 플레이어(502)에 송신할 수 있거나, 발언을 해석할 수 있거나, 또는, 예를 들어, AP(506)를 통한, 해석을 위해 발언을 원격 서버(도시되지 않음)에 송신할 수 있다. 디지털 미디어 플레이어(502) 및/또는 원격 서버는, 디지털 미디어 플레이어(502)에서 명령들(예를 들어, 재생 제어 명령들, 콘텐츠 검색 명령들)을 실행하는 것, 인터넷 검색들을 수행하는 것, 네트워크 기반 기능들(예를 들어, 통신 기능들, 홈 오토메이션 기능들)과 인터페이스하는 것 등에 의해서와 같이, 해석된 발언에 응답하도록 구성되는 디지털 보조 기능성(예를 들어, 애플사에 의한, Siri)을 포함할 수 있다. 사용자는 구두 명령들(verbal commands)에 대한 이러한 응답들이 현저한 지연 없이 일어날 것을 예상 또는 요구할 수 있다. 따라서, 리모컨(514)과 디지털 미디어 플레이어(502) 사이의 통신에서의 하이 레이턴시는 불만족스러운 사용자 경험을 초래할 수 있다.
도 6-9는 위에 설명된 리모컨(514)과 같은, 리모컨을 수반하는 통신 타이밍의 예들을 제공한다. 도 6은 디지털 미디어 플레이어(502)에 의한 BTLE 및 Wi-Fi 통신의 스케줄링을 예시한다. 도시된 바와 같이, 리모컨(514)과 디지털 미디어 플레이어(502) 사이의 BTLE 접속 구간은 15 ms일 수 있다. 2개 디바이스들 사이의 BTLE 통신은 하나 이상의 BTLE TX/RX 쌍을 포함할 수 있다. 예를 들어, 디지털 미디어 플레이어(502)는 이전에 수신된 BTLE 패킷의 폴(polling) 및/또는 ACK(acknowledgement)를 포함하는, 제1 BTLE 패킷(602)을 송신할 수 있다. 제1 BTLE 패킷은 리모컨(514)에 의해 수신될 수 있다. 도시된 바와 같이, 제1 BTLE 패킷은 80 us의 지속시간을 가질 수 있다. 150 us의 지속시간을 가질 수 있는, IFS(inter-frame space)에 이어, 리모컨(514)은 데이터를 포함하는 제2 BTLE 패킷(604)을 송신할 수 있다. 제2 BTLE 패킷은 디지털 미디어 플레이어(502)에 의해 수신될 수 있다. 도시된 바와 같이, 제2 BTLE 패킷은 27 바이트의 데이터를 포함할 수 있고, 328 us의 지속시간을 가질 수 있다. 제2 BTLE 패킷 뒤에는 150 us의 지속시간을 가질 수 있는 다른 IFS가 이어질 수 있다. 따라서, BTLE TX/RX 쌍은 708 us의 총 지속시간을 가질 수 있다.
하나 이상의 BTLE TX/RX 쌍에 이어, BTLE 접속 구간에 남아있는 시간의 일부 또는 전부가 Wi-Fi 통신에 의해 차지될 수 있다. 예를 들어, 도 6에 도시된 BTLE 접속 구간은 총 2.8 ms를 차지하는 4개 BTLE TX/RX 쌍들과, 뒤이어 접속 구간의 나머지 12.2 ms를 차지하는 Wi-Fi 통신을 포함한다. 리모컨(514) 및/또는 디지털 미디어 플레이어(502)에서의 블루투스 송수신들은, 전력 소모를 줄이기 위해, 예를 들어, 접속 구간의 이러한 부분 동안 슬립 상태로 전이할 수 있다. 도 6에 도시된 타이밍들은 예시적이고, 다른 타이밍들이 사용될 수 있다는 점이 이해되어야 한다.
도 7은 리모컨(514)이 음성 데이터 없이 사용되는 여러 BTLE 접속 구간들의 스케줄링을 도시한다. 이러한 시나리오에서는, 각각의 접속 구간에서 (TX/RX 쌍(702)과 같은) 하나의 BTLE TX/RX 쌍을 포함하는 것은 물리적 사용자 입력들(예를 들어, 버튼 누름들, 트랙패드 제스처들, 모션 제스처들)을 나타내는 데이터를 통신하기에 충분할 수 있다. 그러나, 음성 명령들과 같은, 오디오 입력은 실질적으로 더 많은 데이터를 포함할 수 있다. 도 8은 리모컨(514)이 음성 입력과 함께 사용되는 여러 BTLE 접속 구간들의 스케줄링을 도시한다. 도 8에 도시된 바와 같이, 이러한 시나리오는, 음성 입력을 나타내는 추가적 데이터를 수용하기 위해, 일부 접속 구간들 동안 4개 BTLE TX/RX 쌍들을 통신할 수 있다. 일부 시나리오들에서, 일부 접속 구간들은 더 적은 BTLE TX/RX 쌍들을 포함할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 네 번째 패킷은 모두 비어있는 패킷이다. 도 9는 리모컨이 물리적 사용자 입력들 및 음성 입력 양자 모두와 사용되는 여러 BTLE 접속 구간들의 스케줄링을 도시한다. 도 9에 도시된 바와 같이, 이러한 시나리오는, 전체 입력 데이터를 수용하기 위해, 각각의 접속 구간마다 최고 6개의 BTLE TX/RX 쌍들을 통신할 수 있다. 도 7-9 각각의 시나리오에서, BTLE 접속 구간들에 남아있는 시간의 일부 또는 전부는 Wi-Fi 통신에 의해 차지될 수 있다(도시되지 않음).
도 10은, 혼잡한 환경에서, 태블릿 컴퓨터(1002)(예를 들어, iPadTM) 또는 다른 터치 디바이스가 하나 이상의 액세서리 디바이스와의 로우 레이턴시 통신을 요구(demand)할(또는 필요(require)로 할) 수 있는 다른 예시적인 시나리오를 예시한다. 도 10에 도시된 바와 같이, 태블릿 컴퓨터(1002)는 무선 클라이언트 스테이션(106)의 일례일 수 있거나 또는 이를 포함할 수 있다. 태블릿 컴퓨터(1002)는 WLAN에서 하나 이상의 다른 무선 스테이션과 통신할 수 있다. 예를 들어, 태블릿 컴퓨터(1002)는 AP(1004), 예를 들어, 인터넷과 통신하기 위한 게이트웨이와 통신할 수 있다. 태블릿 컴퓨터(1002)는, 예를 들어, Wi-Fi를 사용하여 AP(1004)와 통신할 수 있다. 다른 예로서, 태블릿 컴퓨터(1002)는, 디지털 미디어 플레이어(1006) 또는 랩톱 컴퓨터(1008)와 같은, 로컬 디바이스에, 오디오/비디오 데이터와 같은, 데이터를 제공할 수 있다. 태블릿 컴퓨터(1002)는, Wi-Fi 또는 블루투스와 같은, 하나 이상의 무선 통신 프로토콜을 사용하여 로컬 디바이스(1006)와 통신할 수 있다.
태블릿 컴퓨터(1002)는 추가적으로 또는 대안적으로, 예를 들어, 블루투스를 사용하여, 하나 이상의 액세서리 디바이스와 무선으로 통신할 수 있다. 도 10에 도시된 바와 같이, 태블릿 컴퓨터(1002)는, 다른 가능한 액세서리 디바이스들 중에서, iBeaconTM 디바이스들(1010), 헤드폰들(1012), 웨어러블 디바이스들(1014)(예를 들어, 스마트 시계들, 스마트 안경들), 홈 오토메이션 센서들(1016), 헬스 및 피트니스 센서들(1018), 키보드들(1020), 및/또는 (애플사에 의한, Apple PencilTM과 같은) 스타일러스들(1022)과 무선으로 통신할 수 있다.
사용자는 이러한 액세서리 디바이스들 중 하나 이상과의 통신에 있어서 로우 레이턴시를 예상하거나 요구할 수 있다. 예를 들어, 사용자는, 스타일러스(1022)가 터치 표면에 관하여 이동되는 동안, 현저한 지체 없이; 즉, 스타일러스(1022)의 팁과 그려지는 라인 사이에 현저한 갭이 없이, 태블릿 컴퓨터(1002)의 터치 스크린 상에서 스타일러스(1022)로 그릴 것을 예상할 수 있다. 스타일러스(1022)의 다양한 예들에서, 스타일러스는, 다른 데이터 중에서, (예를 들어, 그것의 팁 상의 힘 센서로부터의) 힘 데이터, (예를 들어, 자이로스코프로부터의) 배향 데이터, 및/또는 (예를 들어, 가속도계로부터의) 모션 데이터를 생산할 수 있다. 일부 시나리오들에서, 스타일러스(1022)는, 예를 들어, 블루투스를 통해, 이러한 데이터의 일부 또는 전부를 태블릿 컴퓨터(1002)에 송신할 수 있다. 추가적으로, 스타일러스(1022)가 태블릿 컴퓨터(1002)의 터치 스크린에 접촉하고 있는 곳을 나타내는 위치 데이터와 같은, 관련 데이터가 태블릿 컴퓨터(1002)에 의해 생산될 수 있다. 태블릿 컴퓨터(1002)와 스타일러스(1022) 사이의 통신은 또한, 스타일러스(1022)에 의해 생산되는 데이터를 태블릿 컴퓨터(1002)에 의해 생산되는 대응 데이터와 동기화하는데 사용하기 위한, 동기 신호를 포함할 수 있다. 일부 시나리오들에서, 태블릿 컴퓨터(1002)는, 스타일러스(1022)에 의해 생산된 데이터를 수신 및 처리하는 것에 응답하여, 태블릿 컴퓨터(1002)의 GUI(graphical user interface) 상에 실시간으로 그려지는, 라인을 디스플레이할 수 있다. 따라서, 이러한 데이터를 통신하는데 있어서의 하이 레이턴시는 라인을 그리는데 있어서의 지연의 원인이 될 수 있어, 사용자 경험의 저하를 초래한다.
도 11은, 스타일러스(1022)와 같은, 예시적인 스타일러스에 의한 실행에 대한 상태도를 예시한다. 도 11의 상태 머신은 사용자 입력에 대한 응답성을 유지하면서 스타일러스(1022)에서의 절전을 촉진하도록 설계된다. 활성(Active) 상태(1110)에서, 스타일러스(1022)는, 예를 들어, 15 ms의 접속 구간으로, BTLE을 통해 태블릿 컴퓨터(1002)와 통신할 수 있다. 스타일러스(1022)는, 모든 접속 구간 동안, 또는, 대안적으로, 스타일러스(1022) 및/또는 태블릿 컴퓨터(1002)가 통신할 데이터를 갖는 임의의 접속 구간 동안, 태블릿 컴퓨터(1002)와 통신할 수 있어, 접속 구간들의 레이턴시 0을 초래한다. 예를 들어, 일부 시나리오들에서, 태블릿 컴퓨터(1002)는 모든 접속 구간 동안 동기 신호를 송신할 수 있다. 유사하게, 스타일러스(1022)는 모든 접속 구간 동안 힘 데이터를 나타내는 데이터를 포함하는 하나 이상의 패킷을 송신할 수 있다.
활성 상태(1110)에 있는 동안, 스타일러스(1022)는, 1112에서, 스타일러스(1022)의 팁(tip)이, 예를 들어, 태블릿 컴퓨터(1002)의 터치 표면에서 올라갔다는 것을 검출할 수 있다. 예를 들어, 스타일러스(1022)의 힘 센서는 어떠한 힘도 인가되고 있지 않다는 것을 나타낼 수 있다. 스타일러스(1022)의 팁이 올라갔다는 결정에 응답하여, 스타일러스(1022)는 준비완료(Ready) 상태(1120)로 전이할 수 있다. 준비완료 상태(1120)에서, 스타일러스(1022)는, 예를 들어, 전력 소모를 줄이기 위해, 덜 빈번히 태블릿 컴퓨터(1002)와 통신할 수 있다. 예를 들어, 태블릿 컴퓨터(1002)는, 활성 상태(1110)에서와 같이, 모든 접속 구간 동안과는 대조적으로, 4 접속 구간마다(즉, 60 ms 마다) 동기 신호를 송신할 수 있다. 준비완료 상태(1120)에서, 스타일러스(1022)는 태블릿 컴퓨터(1002)에 송신할 데이터를 갖지 않을 수 있다.
준비완료 상태(1120)에 있는 동안, 스타일러스(1022)는, 1122에서, 스타일러스(1022)의 팁이 태블릿 컴퓨터(1002)의 터치 표면 상에 놓이거나 또는 기입 위치에 달리 배향되었다는 것을 검출할 수 있다. 예를 들어, 스타일러스(1022)의 힘 센서는 힘이 인가되고 있는 것을 나타낼 수 있다. 스타일러스(1022)의 팁이 터치 표면 상에 놓이거나 또는 달리 "팁 다운"이라는 결정에 응답하여, 스타일러스(1022)는 활성 상태(1110)로 전이할 수 있다. 따라서, 스타일러스(1022)는 스타일러스(1022)의 팁이 터치 표면 상에 놓이거나 또는 달리 "팁 다운"으로 배향되었다는 검출로부터 60 ms 이내에 준비완료 상태(1120)로부터 활성 상태(1110)로 전이할 수 있다.
준비완료 상태(1120)에 있는 동안, 스타일러스(1022)는, 1124에서, 유휴 트리거(idle trigger)가 발생한 것을 결정할 수 있다. 예를 들어, 유휴 트리거는, 5 분과 같은, 미리 결정된 제1 시간량 동안 스타일러스(1022)가 계속 준비완료 상태(1120)에 있는 것을 포함할 수 있다. 다른 예로서, 유휴 트리거는, 예를 들어, 자이로스코프 및/또는 가속도계에 의해 결정되는 바와 같이, 미리 결정된 제1 시간량 동안 스타일러스(1022)가 정지해 있다는 것을 포함할 수 있다. 다른 예로서, 유휴 트리거는 태블릿 컴퓨터(1002)의 터치 스크린이 턴 오프되는 것을 포함할 수 있다. 일부 시나리오들에서, 터치 스크린의 상태는 태블릿 컴퓨터(1002)에 의해 송신되어, 스타일러스(1022)가 이러한 결정을 행하게 할 수 있다. 유휴 트리거가 발생했다는 결정에 응답하여, 스타일러스(1022)는 유휴(Idle) 상태(1130)로 전이될 수 있다. 유휴 상태(1130)에서, 스타일러스(1022)는 준비완료 상태(1120)에서 보다 훨씬 덜 빈번히 태블릿 컴퓨터(1002)와 통신할 수 있다. 예를 들어, 접속 구간은, 예를 들어, 112.5 ms까지 길이가 증가될 수 있다. 태블릿 컴퓨터(1002)는 접속 구간마다(즉, 112.5 ms마다) 동기 신호를 송신할 수 있다. 유휴 상태(1130)에서, 스타일러스는 태블릿 컴퓨터(1002)에 송신할 데이터를 갖지 않을 수 있다.
유휴 상태(1130)에 있는 동안, 스타일러스(1022)는, 1132에서, 스타일러스(1022)가 이동되었다는 것을, 예를 들어, 자이로스코프 및/또는 가속도계를 사용하여 검출할 수 있다. 스타일러스(1022)가 이동되었다는 결정에 응답하여, 스타일러스(1022)는 준비완료 상태(1120)로 전이될 수 있다.
유휴 상태(1130)에 있는 동안, 스타일러스(1022)는, 1134에서, 대기 트리거가 발생한 것을 결정할 수 있다. 예를 들어, 대기 트리거는, 10 분과 같은, 미리 결정된 제2 시간량 동안, 스타일러스(1022)가 계속 유휴 상태(1130)로 있다는 것을 포함할 수 있다. 다른 예로서, 대기 트리거는, 예를 들어, 자이로스코프 및/또는 가속도계에 의해 결정되는 바와 같이, 미리 결정된 제2 시간량 동안 스타일러스(1022)가 정지되어 있었다는 것을 포함할 수 있다. 대기 트리거가 발생했다는 결정에 응답하여, 스타일러스(1022)는 대기(Standby) 모드(1140)로 전이될 수 있다. 대기 모드(1140)에서, 스타일러스(1022)는 태블릿 컴퓨터(1002)로부터 분리될 수 있다. 예를 들어, 스타일러스(1022)는 태블릿 컴퓨터(1002)와의 BTLE 세션을 종료할 수 있다.
대기 모드(1140)에 있는 동안, 스타일러스(1022)는, 1142에서, 스타일러스(1022)가 이동되었다는 것을, 예를 들어, 자이로스코프 및/또는 가속도계를 사용하여 검출할 수 있다. 스타일러스(1022)가 이동되었다는 결정에 응답하여, 스타일러스(1022)는 준비완료 상태(1120)로 전이될 수 있다.
도 11에 도시된 타이밍들은 예시적인 것으로, 다른 타이밍들이 사용될 수 있다는 점이 이해되어야 한다.
전술한 사용 시나리오들에서, 시간에 민감한 데이터를 포함하는 블루투스 패킷들의 경우, 예상된 스케줄 외의 패킷들을 통신하는 것(예를 들어, 패킷들을 나중 접속 구간으로 범핑하는 것)은 사용자 경험의 저하를 초래할 수 있다. 전술한 사용 시나리오들에 따라서와 같이, 2.4 GHz 주파수 대역이 점점 혼잡해짐에 따라, 이러한 시간에 민감한 패킷을 스케줄링하는 것은 더 어렵게 된다.
동시 블루투스/ Wi - Fi 통신
일부 시나리오들에서, 클라이언트 스테이션(106)과 같은, 무선 클라이언트 스테이션은, Wi-Fi 통신과 블루투스 통신을 동시에 발생하도록 스케줄링하는 것에 의해, 무선 혼잡을 감소시킴으로써 사용자 경험을 개선할 수 있다.
제1 예로서, 클라이언트 스테이션(106)은 블루투스 RX 동작들과 동시에 발생하도록 Wi-Fi RX 동작들을 스케줄링할 수 있다. 많은 사용 시나리오에서, 클라이언트 스테이션(106)은 자신이 전송하는 것보다 상당히 더 많은 데이터를 수신할 수 있다. 따라서, Wi-Fi 신호 및 블루투스 신호 양자 모두를 동시에 수신하는 것은 실질적으로 스케줄링 충돌들을 감소시킬 수 있다. 일부 시나리오들에서, 클라이언트 스테이션(106)은 Wi-Fi RX 신호 및 블루투스 RX 신호 양자 모두가 충분히 강하다(예를 들어, 각각은 명시된 임계값을 충족하는 RSSI 값을 가짐)고 결정하는 것에 응답하여 Wi-Fi RX 동작들 및 블루투스 RX 동작들을 동시에 발생하도록 스케줄링할 수 있다.
제2 예로서, 클라이언트 스테이션(106)은 블루투스 대역폭이 특정 임계값 아래라는 결정에 응답하여 Wi-Fi 프레임 집성(Wi-Fi frame aggregation)을 구현할 수 있다. 도 12-13은 Wi-Fi 프레임 집성의 이점들을 예시한다.
도 12는 프레임 집성이 없는 일련의 데이터 프레임들을 포함하는 Wi-Fi 신호의 예를 예시한다. 예시된 바와 같이, 송신기(예를 들어, AP(112)와 같은 AP)는 RTS(Request-to-Send frame)와, 뒤이어 일련의 데이터 프레임들(예를 들어, MAC 프레임들)을 송신할 수 있다. 각각의 데이터 프레임에 이어, 송신기는 다음 데이터 프레임을 송신하기 전에 데이터 프레임의 수신을 확인하는 ACK(acknowledge frame)을 수신하기를 기다린다. 수신기(예를 들어, 클라이언트 스테이션(106)과 같은 클라이언트 스테이션)는 CTS(Clear-to-Send frame)를 송신함으로써 RTS에 응답할 수 있다. 수신기는 ACK를 송신함으로써 각각의 데이터 프레임에 응답할 수 있다. 따라서, 각각의 디바이스는 송신과 수신 사이의 상대적으로 짧은 구간들에서 전이한다. 일부 시나리오들에서, 블루투스 대역폭이 특정 임계값을 충족하거나 초과할 때와 같이, 송신기와 수신기는, 블루투스 레이턴시에 용납할 수 없을 정도의 영향은 미치지 않고, 도 12에 예시된 것과 같이, 프레임 집성 없이 Wi-Fi 통신을 수행할 수 있다.
도 13은 프레임 집성이 있는 일련의 데이터 프레임들을 포함하는 Wi-Fi 신호의 예를 예시한다. 도시된 바와 같이, 송신기는 RTS와, 뒤이어, 각각이 복수의 데이터 프레임을 포함할 수 있는, 일련의 집성 프레임을 송신할 수 있다. 따라서, 각각의 집성 프레임은 도 12의 복수의 데이터 프레임들과 동등한 양의 데이터를 포함할 수 있다. 각각의 집성 프레임에 이어, 송신기는 다음 집성 프레임을 송신하기 전에 집성 프레임에 포함된 각각의 데이터 프레임들의 수신을 확인하는 B-ACK(block acknowledge frame)를 수신하기를 기다린다. 수신기는 CTS를 송신함으로써 RTS에 응답할 수 있다. 수신기는 B-ACK를 전송함으로써 각각의 집성 프레임에 응답할 수 있다. 따라서, 수신기는 도 12의 시나리오에서보다 덜 빈번히 송신할 수 있고, 데이터는 더 효율적으로 전송될 수 있는데, 그 이유는 TX와 RX 상태들 사이에서 전이하는데 더 적은 시간이 낭비되기 때문이다.
일부 시나리오들에서, 클라이언트 스테이션(106)은, 각각의 블루투스 접속 구간이 Wi-Fi 집성 프레임을 허용하기에 충분한 개방 시간(즉, 어떠한 블루투스 통신도 발생하고 있지 않은 시간)을 포함하는 것을 보장하도록, 블루투스 대역폭이 특정 임계값 아래라고 결정하는 것에 응답하여서만, Wi-Fi 프레임 집성을 구현할 수 있다.
제3 예로서, 클라이언트 스테이션(106)은, 블루투스 통신이 발생하고 있다고 결정하는 것에 응답하여 Wi-Fi 송신 전력을 동적으로 수정할 수 있다. 예를 들어, 클라이언트 스테이션(106)이 블루투스 RX 동작들과 동시에 발생하도록 Wi-Fi RX 동작들을 스케줄링한 시나리오에서, 클라이언트 스테이션(106)이 여전히 블루투스 통신을 수신하고 있는 동안, 전송중인 Wi-Fi 스테이션(예를 들어, AP(112)와 같은 AP)은 클라이언트 스테이션(106)에 의해 하나 이상의 데이터 프레임이 수신되는 것에 응답하여 클라이언트 스테이션(106)이 ACK 또는 B-ACK를 송신할 것으로 예상할 수 있다. 클라이언트 스테이션(106)은 전송중인 Wi-Fi 스테이션과 신뢰성 있게 통신하는데 사용될 수 있는 감소된(예를 들어, 최소의) 전력 레벨을 결정할 수 있고, 결정된 감소된 전력 레벨로 ACK 또는 B-ACK를 송신할 수 있다. 이것은 진행중인 블루투스 통신에 야기되는 간섭을 감소시킬 수 있다.
제4 예로서, 클라이언트 스테이션(106)은 Wi-Fi 통신과 동시의 블루투스 통신 사이의 채널 사용을 조정할 수 있다. 예를 들어, 클라이언트 스테이션(106) 내의(예를 들어, 무선 통신 회로(329) 내의) Wi-Fi 라디오는 현재의 및/또는 다가올 Wi-Fi 통신의 타이밍 및/또는 채널 정보를 클라이언트 스테이션(106) 내의(예를 들어, 무선 통신 회로(329) 내의) 블루투스 라디오에 제공할 수 있다. 예를 들어, Wi-Fi 라디오는 식별된 시간 윈도우동안 차지될 채널의 세트를 식별할 수 있다. 타이밍 및/또는 채널 정보를 수신하는 것에 응답하여, 블루투스 라디오는 Wi-Fi 통신에 의해 차지되는 채널들을 스킵하도록 구성되는 채널-호핑 스케줄을 구현할 수 있다. 예를 들어, 구현된 채널-호핑 스케줄은 식별된 시간 윈도우동안 식별된 채널들의 세트를 배제할 수 있다. 이는 Wi-Fi 통신과 블루투스 통신 사이의 실시간 주파수 다이버시티를 보존할 수 있고, 이는 둘 사이의 간섭을 감소시킬 수 있다.
도 14는 전술한 4가지 예들에서 설명된 특징들을 구현하는 Wi-Fi 스테이션의 실험적 성능 특성들을 예시한다. 구체적으로, 도 14는 신호 감쇠의 범위에 걸쳐서 Wi-Fi 스테이션에서 수신되는 처리율을 (Mbps 단위로) 예시한다. 커브(1402)는 블루투스 신호들이 없는 경우에 Wi-Fi 스테이션에 의해 수신되는 Wi-Fi 처리율을 예시한다. 커브(1404)는 Wi-Fi 스테이션이 BTLE 리모컨, 블루투스 헤드 세트, 및 블루투스 게임 제어기와 블루투스를 통해 동시에 통신되는 동안 Wi-Fi 스테이션에 의해 수신되는 Wi-Fi 처리율을 예시한다. 도 14는, 전술한 4가지 예들의 경우, 다른 방식으로 Wi-Fi 처리율을 실질적으로 감소시킬 수 있는 블루투스 통신들로 혼잡한 환경들에서 종래 기술에 비해 Wi-Fi 성능을 향상시킨다는 것을 예시한다.
감소된 BTLE 지연
패킷들이 클라이언트 스테이션(106)과 같은 클라이언트 스테이션과 하나 이상의 다른 무선 디바이스 사이에서 수신되거나 송신되도록 이용가능할 때, 클라이언트 스테이션(106)은 패킷 타입들 또는 소스들의 우선순위화에 적어도 일부 기초하여 패킷들의 송신을 스케줄링할 수 있다. 예를 들어, 블루투스 접속 구간 내에서, 클라이언트 스테이션은 TX와 RX 통신을 위한 하나 이상 시간 슬롯을 각각의 액세서리 디바이스에 할당할 수 있다. 높은 우선순위 액세서리 디바이스가 추가적 통신 시간을 필요로 하면, 클라이언트 스테이션은 더 낮은 우선순위 액세서리 디바이스로부터의 하나 이상의 슬롯을 재할당할 수 있다.
과거에, 일부 타입들의 블루투스 패킷들은 낮은 우선순위 패킷들로서 취급되었다. 예를 들어, BTLE 패킷들은 그들이 통상적으로 센서 데이터와 같은, 시간에 민감하지 않은 애플리케이션들에 사용되었기 때문에 역사적으로 낮은 우선순위 패킷들로서 취급되었다. 그러나, 이는 BTLE 패킷들이 음성 명령들 또는 스타일러스 입력과 같은 시간에 민감한 데이터를 포함한다면 용납할 수 없는 레이턴시로 이어질 수 있다.
일부 시나리오들에서, 클라이언트 스테이션(106)과 같은, 무선 클라이언트 스테이션은, 일반적으로 BTLE 패킷들, 또는 구체적으로 높은 우선순위 BTLE 패킷들의 지연을 감소시킴으로써 사용자 경험을 향상시킬 수 있다. 클라이언트 스테이션(106)은 다양한 방식들 중 임의의 것으로 패킷들을 높은 우선순위 패킷들로서 식별할 수 있다. 일부 시나리오들에서, 클라이언트 스테이션(106)은 특정 액세서리 디바이스 또는 특정 부류의 액세서리 디바이스들로부터의 모든 패킷들을 높은 우선순위로서 취급할 수 있다. 예를 들어, 클라이언트 스테이션(106)은 리모컨, 스타일러스, 또는 게임 제어기로부터의 패킷들을 높은 우선순위로서 취급할 수 있다. 다른 시나리오들에서, 클라이언트 스테이션(106)은 특정 조건들이 충족된다면 특정 액세서리 디바이스 또는 특정 부류의 액세서리 디바이스들로부터의 패킷들을 높은 우선순위로서 취급할 수 있다. 예를 들어, 클라이언트 스테이션(106)은, 스타일러스가, 도 11을 참조하여 위에 정의된 바와 같이, 활성(Active) 상태 및/또는 준비완료(Ready) 상태와 같은, 로우 레이턴시 모드에 있는 동안 스타일러스로부터의 패킷들을 높은 우선순위로서 취급할 수 있다. 유사하게, 클라이언트 스테이션(106)은 리모컨의 마이크로폰이 음성 명령들을 수신하기 위해 활성인 동안 리모컨으로부터 패킷들을 높은 우선순위로서 취급할 수 있다. 다른 시나리오들에서, 클라이언트 스테이션(106)은, 패킷들이 음성 데이터와 같은 명시된 타입의 데이터를 포함한다면, 또는 패킷들이 명시된 블루투스 프로파일에 따라 구성된다면, 패킷들을 높은 우선순위로서 취급할 수 있다. 또 다른 시나리오들에서, 클라이언트 스테이션(106)은 모든 BTLE 패킷들을 높은 우선순위로서 취급할 수 있다.
일부 실시예들에서, 클라이언트 스테이션은, 전술한 기준들 중 명시된 것 또는 전술한 기준들 중 임의의 명시된 조합이 충족된다면, 패킷들을 높은 우선순위로서 취급할 수 있고, 명시된 기준들이 충족되지 않는다면 패킷들을 높은 우선순위로서 취급하지 않을 수 있다(예를 들어, 패킷들을 낮은 우선순위로서 취급할 수 있다). 일부 실시예들에서, 클라이언트 스테이션(106)은 2.4 GHz 주파수 대역이 혼잡하다는 결정에 응답하여, 전술한 기준들 중 임의의 하나 이상에 따라서, 패킷들을 높은 우선순위로서 취급할 수 있다. 예를 들어, 클라이언트 스테이션은, 적어도 액세서리 디바이스들의 임계 개수가 블루투스를 통해 클라이언트 스테이션(106)과 통신중이거나, 또는 클라이언트 스테이션(106)의 부근에 있다는 결정에 응답하여 패킷들을 높은 우선순위로서 취급할 수 있다.
표 2는 지연이 높은 우선순위 패킷에 대해 어떻게 감소될 수 있는지의 여러 예들을 열거하는데, 이들 중 일부 또는 전부는 단독으로 또는 조합으로 사용될 수 있다.
제1 옵션 BT 원격/음성 명령 패킷들은 모든 BT 패킷들에 대해 최고 우선순위를 갖는다 BT FW
제2 옵션 음성 명령 및 A2DP가 동시에 활성일 때, A2DP를 일시정지한다 BT 호스트
제3 옵션 A2DP 데이터 레이트를 감소시킨다 BT 호스트
제4 옵션 BTLE에 대한 데이터 패킷 사이즈를 확대한다 BT FW
제5 옵션 어떠한 BTLE 원격/음성 명령 패킷들도 거부하지 않는다 Wi-Fi ucode
제6 옵션 리모컨은 클라이언트 스테이션으로부터 ACK를 수신할 때까지 슬립이 되지 않을 것이다 리모컨에서 BT FW
BTLE 레이턴시를 감소시키고 접속성 강건성을 향상시키기 위한 옵션들
제1 옵션으로서, 클라이언트 스테이션(106)은 패킷들의 수신을 스케줄링하는 동안 높은 우선순위 블루투스 패킷들을 우선순위화할 수 있다. 일부 실시예들에서, 우선순위화된 블루투스 패킷들은 BTLE 패킷들일 수 있다. 도 15a-15b는 이러한 제1 옵션의 효과를 예시한다.
도 15a-15b는, 시간이 좌측에서 우측으로 진행함에 따른, 클라이언트 스테이션(106)에 의해 수신된 다양한 통신을 예시한다. 도시된 바와 같이, 하나 이상의 BTLE 패킷(1510-1518)은 각각의 블루투스 접속 구간 동안 클라이언트 스테이션(106)에 의해 수신되거나 송신되도록 이용가능할 수 있다. 예시된 시나리오는 도 8의 시나리오와 일관되고, 여기서, 음성 데이터를 포함하는 4개의 BTLE TX/RX 쌍들은 각각의 15 ms 접속 구간 동안 리모컨로부터 이용가능하다. 복수의 Wi-Fi 패킷(1520-1522)과 오디오 패킷(1530-1532), 이를테면, A2DP(Advanced Audio Distribution Profile) 패킷은 또한 다양한 시점에 클라이언트 스테이션(106)에 의해 수신될 수 있거나 송신되도록 이용가능하다.
도 15a는 BTLE 패킷들이 낮은 우선순위 패킷들로서 처리된 시나리오를 예시한다. 도시된 바와 같이, 클라이언트 스테이션(106)은 제1 블루투스 접속 구간 동안 하나 이상의 BTLE 패킷(1510)을 수신하거나 송신한다. 제1 접속 구간의 끝 근처에서, 하나 이상의 A2DP 패킷(1530)이 이용가능하게 되고, 클라이언트 스테이션(106)에 의해 송신되어, 제2 블루투스 접속 구간으로 확대된다. 따라서, BTLE 패킷들(1512)은, 그들이 더 높은 우선순위의 A2DP 패킷들(1530)이 없을 때에는 수신되거나 송신되도록 스케줄링되어 있었더라도, 제2 접속 구간 동안에는 수신되거나 송신되도록 스케줄링되지 않는다. A2DP 패킷들은 실시간 오디오 재생을 지원하기 때문에, A2DP 패킷들에게는 보통 더 높은 우선순위가 주어진다. 제2 접속 구간의 끝 근처에서, 하나 이상의 Wi-Fi 패킷(1522)이 이용가능하게 되고, 클라이언트 스테이션(106)에 의해 수신되거나 송신되어, 제3 블루투스 접속 구간으로 확대된다. 따라서, BTLE 패킷들(1514)은, 그들이 더 높은 우선순위의 Wi-Fi 패킷들(1522)이 없을 때에는 수신되거나 송신되도록 스케줄링되어 있었더라도, 제3 접속 구간 동안에는 수신되거나 송신되지 않는다. 제4 접속 구간 동안, 클라이언트 스테이션(106)은 하나 이상의 BTLE 패킷(1516)을 수신하거나 송신한다. 따라서, 클라이언트 스테이션(106)은 예상된 15 ms보다 오히려, 45 ms의 효과적인 BTLE 접속 구간을 경험했다. BTLE 패킷들(1512 및/또는 1514)에 포함된 데이터는 드롭될 수 있거나, 또는 BTLE 패킷들(1516) 및/또는 BTLE 패킷들(1518)에 포함을 위해 지연될 수 있다. 이러한 지연은, 음성 명령 또는 스타일러스 입력과 같은, 시간에 민감한 입력의 프로세싱 및 실행에서의 지연을 야기할 수 있고, 이는 용납할 수 없는 사용자 경험을 초래할 수 있다.
도 15b는 BTLE 패킷들이 높은 우선순위 패킷으로서 프로세싱된 시나리오를 예시한다. 일부 시나리오들에서는, 모든 BTLE 패킷이 높은 우선순위 패킷으로서 프로세싱될 수 있는 한편, 다른 시나리오들에서는, 단지, 스타일러스로부터와 같이, 특정 소스들로부터의 BTLE 패킷들만, 또는 음성 명령 또는 스타일러스 입력과 같이, 특정 타입의 데이터를 포함하는 BTLE 패킷들만 높은 우선순위 데이터로서 프로세싱될 수 있다. 도시된 바와 같이, 클라이언트 스테이션(106)은 제1 블루투스 접속 구간 동안 하나 이상의 BTLE 패킷(1510)을 수신하거나 송신한다. 제1 접속 구간의 끝 근처에서, A2DP 패킷들(1530)이 이용가능하게 된다. 그러나, 클라이언트 스테이션(106)은 A2DP 또는 Wi-Fi 패킷들보다 BTLE 패킷들을 우선순위화한다. 따라서, 클라이언트 스테이션(106)은 BTLE 패킷들(1512)의 수신 또는 송신 이후까지 A2DP 패킷(1530)들을 지연시킨다. A2DP 패킷들(1530)은 제2 접속 구간의 개방 부분 동안 송신을 위해 스케줄링된다. 그와 같이 하나의 타입의 블루투스 패킷들을 다른 타입의 블루투스 패킷들보다 우선순위화하는 것은, 예를 들어, 클라이언트 스테이션(106)의 블루투스 라디오의 펌웨어에서, 수행될 수 있다. 제2 접속 구간의 끝 근처에서, 하나 이상의 Wi-Fi 패킷(1522)이 이용가능하게 되고, Wi-Fi 패킷들(1522)의 서브세트가 클라이언트 스테이션(106)에 의해 수신되거나 송신된다. BTLE 패킷들(1514)은 Wi-Fi 패킷들(1522)보다 우선순위화되기 때문에, 클라이언트 스테이션(106)은 제3 접속 구간의 처음에 BTLE 패킷들(1514)의 수신 또는 송신을 스케줄링하여, Wi-Fi 패킷들(1522)의 수신 또는 송신을 중단시킨다. Wi-Fi 패킷들(1522)의 나머지는 제3 접속 구간의 개방 부분 동안 수신 또는 송신을 위해 스케줄링된다. 따라서, BTLE 패킷들은 지연없이 수신되거나 송신되는 한편, Wi-Fi 패킷들 또는 다른 블루투스 패킷들은 나머지 시간 슬롯 동안 수신 또는 송신을 위해 스케줄링된다. 이는 시간에 민감한 BTLE 통신에서 레이턴시를 감소시킴으로써 사용자 경험을 개선할 수 있다.
그와 같이 Wi-Fi 패킷들보다 블루투스 패킷들을 우선순위화하는 것은 블루투스 프로세싱 컴포넌트들과 Wi-Fi 프로세싱 컴포넌트들 사이에서의 통신을 포함할 수 있다. 예를 들어, 블루투스 기저대역 프로세서는 블루투스 접속 구간의 타이밍 및 블루투스 패킷들이 특정한 접속 구간 동안 송신을 위해 스케줄링되는지와 같은, 다양한 정보를 Wi-Fi 기저대역 프로세서로 통신할 수 있다. 이에 응답하여, Wi-Fi 기저대역 프로세서는 Wi-Fi 패킷들의 수신 또는 송신을 인터럽트 수신 또는 송신을 중단시킬 수 있다.
제2 옵션으로서, 클라이언트 스테이션(106)은, 다른 블루투스 기능이 활성인 동안 하나 이상의 블루투스 기능을 디스에이블함으로써 높은 우선순위 블루투스 패킷들을 다른 블루투스 패킷들보다 우선순위화할 수 있다. 예를 들어, 높은 우선순위 블루투스 패킷들이 이용가능하다는 결정에 응답하여, 클라이언트 스테이션(106)은 A2DP 패킷들과 같은, 하나 이상의 다른 타입의 블루투스 통신을 일시적으로 디스에이블할 수 있다. 따라서, 다른 타입들의 블루투스 통신은 높은 우선순위 패킷들과 충돌하지 않을 것이다. 일부 실시예들에서, 접속 구간 내에서 디스에이블된 블루투스 통신들을 위해 이전에 스케줄링되었던 시간 슬롯들은 높은 우선순위 패킷들을 위해 재할당될 수 있다. 일부 실시예들에서, 클라이언트 스테이션(106)은 음악 플레이어 소프트웨어와 같은, 디스에이블된 블루투스 통신들의 소스의 역할을 하는 기능을 추가적으로 일시정지할 수 있다.
제3 옵션으로서, 클라이언트 스테이션(106)은, 다른 블루투스 패킷들의 데이터 레이트를 감소시킴으로써, 높은 우선순위 블루투스 패킷들을 다른 블루투스 패킷들보다 우선순위화할 수 있다. 예를 들어, 높은 우선순위 블루투스 패킷들이 이용가능하다는 결정에 응답하여, 클라이언트 스테이션(106)은, 일시적으로, 감소된 데이터 레이트로 A2DP 데이터를 암호화할 수 있다.
제4 옵션으로서, 클라이언트 스테이션(106)은 높은 우선순위 BTLE 통신들을 위한 데이터 패킷 사이즈를 확대할 수 있다. 예를 들어, 음성 명령 데이터와 같은 특정 타입들의 데이터의 경우, 데이터는 상기 표 1에 도시된 바와 같이, 길이 확장을 갖는 BTLE 패킷들에 포함될 수 있다. 이는 길이 확장 없이 BTLE 패킷들을 사용하여 달성될 수 있는 것보다 더 높은 애플리케이션 데이터 레이트를 야기할 수 있다. 길이 확장은, 예를 들어, 클라이언트 스테이션(106)의 블루투스 라디오의 펌웨어에서, 수행될 수 있다.
제5 옵션으로서, 클라이언트 스테이션(106)은 임의의 높은 우선순위 블루투스 패킷들을 거부하는 것을 피하도록 구성될 수 있다. 예를 들어, 클라이언트 스테이션(106)이 낮은 우선순위 패킷들로부터의 접속 구간 내에 있는 시간 슬롯들을 높은 우선순위 패킷들에게 재할당하고 있다면, 클라이언트 스테이션은 다른 높은 우선순위 패킷들에 할당된 시간 슬롯들을 재할당하지 않도록 구성될 수 있다. 구체적인 예로서, 클라이언트 스테이션(106)은, 시간 슬롯이 현재 스타일러스 또는 리모컨와 같은, 특정 타입의 액세서리 디바이스에 할당된다면, 예를 들어, Wi-Fi 패킷들 또는 A2DP 패킷들을 위한, 시간 슬롯들을 재할당하지 않을 수 있다. 다른 예로서, 클라이언트 스테이션(106)은 특정 상태에 있는 특정 타입의 액세서리 디바이스에게 할당된 시간 슬롯들, 이를테면, 스타일러스가, 도 11과 관련하여 위에서 정의된 바와 같이, 활성 상태 및/또는 준비완료 상태와 같은, 로우 레이턴시 모드에 있는 동안 스타일러스에게 할당된 시간 슬롯들, 또는 리모컨의 마이크로폰이 음성 명령을 수신하기 위해 활성인 동안 리모콘에게 할당된 시간 슬롯들을 재할당하지 않도록 구성될 수 있다.
제6 옵션으로서, 액세서리 디바이스는, 그것이 클라이언트 스테이션(106)으로부터 ACK를 수신할 때까지, 패킷, 예를 들어, 폴링 응답 패킷(polling response packet)의 송신에 이어 활성 상태로 남아 있을 수 있다. 도 16a-16c는 이러한 옵션의 효과를 예시한다. 도 16a-16c는, 시간이 좌측에서 우측으로 진행함에 따른, 마스터 디바이스(예를 들어, 클라이언트 스테이션(106))과 슬레이브 디바이스(예를 들어, 액세서리 디바이스) 사이에서의 3가지 블루투스 통신 시나리오를 예시한다. 구체적으로, 도 16a-16c는 슬레이브 디바이스가 현재 마스터 디바이스로 통신할 데이터가 없는 시나리오를 예시한다. 이러한 시나리오에서, 슬레이브 디바이스는 전력 소모를 줄이기 위해 슬립 상태로 전이할 수 있다. 그러나, 마스터 디바이스가 슬레이브 디바이스로부터 어떠한 통신도 수신하지 않는 동안 미리 결정된 시간 길이("타임아웃 기간(timeout period)")이 지난다면, 예를 들어, 마스터 디바이스로부터의 폴링 메시지들에 응답하여, 마스터 디바이스와 슬레이브 디바이스 사이의 블루투스 접속은 소멸될 수 있는데; 즉, 마스터 디바이스는 미리 결정된 시간 길이가 끝났다는 결정에 응답하여 슬레이브 디바이스와의 블루투스 접속을 종료시킬 수 있다. 블루투스 접속의 종료에 이어, 슬레이브 디바이스에서 마스터 디바이스로의 추가 데이터 전송은 접속의 재설정을 필요로 하고, 이는 현저한 지연을 도입할 수 있으며, 그로 인해 사용자 경험을 저하시킬 수 있다. 따라서, 슬레이브 디바이스는 하나 이상의 패킷을 마스터 디바이스로 송신하기 위해 정기적으로 슬립 상태에서 활성 상태로 전이시킬 수 있다. 슬레이브 디바이스는 그리고 나서 슬립 상태로 돌아갈 수 있다. 이러한 폴링-응답 프로세스는 따라서 블루투스 접속이 소멸되는 것을 방지할 수 있다.
도 16a는 폴링-응답 프로세스가 성공적으로 실행된 시나리오의 예를 예시한다. 도시된 바와 같이, 마스터 디바이스는 ACK(1602)를 송신한다. ACK(1602)는, 예를 들어, 블루투스 접속의 소멸을 방지하기 위해, 슬레이브 디바이스에 의해 이전에 송신된 프레임의 수신에 대한 수신확인 및/또는 슬레이브 디바이스로부터의 응답을 요청하는 폴링 요청을 포함할 수 있다. ACK(1602)를 수신하는 것에 응답하여, 슬레이브 디바이스는 RSP(response packet)(1604)을 송신한다. RSP(1604)는 슬레이브 디바이스가 여전히 마스터 디바이스와의 블루투스 접속을 유지하고 있다는 것을 마스터 디바이스에게 나타낼 수 있다. RSP(1604)의 송신에 이어, 슬레이브 디바이스는, 마스터 디바이스로부터 추가적인 통신을 기다리지 않고, 미리 결정된 시간 기간(예를 들어, 1.2 초)동안 슬립 상태로의 전이한다. 예를 들어, ACK(1602)와 RSP(1604)는 블루투스 접속 구간동안 송신될 수 있고, 슬레이브 디바이스는 접속 구간 바로 뒤에, 또는 슬레이브 디바이스에 의해 사용하기 위해 스케줄링된 접속 구간의 부분 바로 뒤에, 또는 RSP(1604)의 송신 바로 뒤에 슬립 상태로 전이할 수 있다.
RSP(1604)의 수신에 응답하여, 마스터 디바이스는 RSP(1604)의 수신에 확인응답하는 ACK(1606)를 송신할 수 있다. 그러나, 슬레이브 디바이스는 슬립 상태에 있기 때문에, 슬레이브 디바이스는 ACK(1606)를 수신하지 못한다. 마스터 디바이스는 RSP(1604)의 수신에 확인응답하고/하거나 슬레이브 디바이스로부터의 응답을 요청하는 ACK 프레임들을 정기적으로 송신한다.
미리 결정된 시간 기간이 끝났다는 결정에 응답하여, 슬레이브 디바이스는 활성 상태로 전이한다. 활성 상태에 있는 동안, 슬레이브 디바이스는 마스터 디바이스에 의해 송신된 ACK(1608)를 수신한다. ACK(1608)를 수신하는 것에 응답하여, 슬레이브 디바이스는 다른 RSP(1610)를 송신한다. 이러한 프로세스는, 예를 들어, 마스터 디바이스 또는 슬레이브 디바이스가 데이터 패킷들을 송신하는 경우, 접속이 종료되는 경우 등등 중단될 때까지 같은 방식으로 계속될 수 있다.
도 16b는 폴링-응답 프로세스가 시도되지만 통신 장애가 발생하는 시나리오의 예를 예시한다. 도시된 바와 같이, 마스터 디바이스는 도 16a의 ACK(1602)와 유사한 ACK(1622)를 송신한다. ACK(1622)를 수신하는 것에 응답하여, 슬레이브 디바이스는 도 16a의 RSP(1604)와 유사한 RSP(1624)를 송신한다. RSP(1624)의 송신에 이어, 슬레이브 디바이스는, 도 16a의 시나리오에서와 같이, 마스터 디바이스로부터 추가적인 통신들을 기다리지 않고, 미리 결정된 시간 기간(예를 들어, 1.2 초)동안 슬립 상태로 전이한다. 그러나, 도 16b의 시나리오에서, 마스터 디바이스는, 예를 들어, 간섭 또는 불충분한 신호 강도로 인해, RSP(1624)를 수신하지 못한다.
예상된 시간 윈도우 내에 RSP(1624)를 수신하지 못하는 것에 응답하여, 마스터 디바이스는 NAK(no-acknowledge packet)(1626)을 송신한다. 그러나, 슬레이브 디바이스는 슬립 상태에 있기 때문에, 슬레이브 디바이스는 NAK(1626)를 수신하지 못한다. 마스터 디바이스는 어떠한 RSP도 수신되지 않았다는 것을 보고하고/하거나 슬레이브 디바이스로부터의 응답을 요청하는 NAK 프레임들을 정기적으로 송신한다.
미리 결정된 시간 기간이 끝났다는 결정에 응답하여, 슬레이브 디바이스는 활성 상태로 전이한다. 활성 상태에 있는 동안, 슬레이브 디바이스는 마스터 디바이스에 의해 송신되는 NAK(1628)를 수신한다. NAK(1628)를 수신하는 것에 응답하여, 슬레이브 디바이스는 다른 RSP(1630)를 송신하고, 다시 슬립 상태로 전이한다. 그러나, 마스터 디바이스는 다시 RSP(1630)을 수신하는 데 실패하고, 다른 NAK( 1632)를 송신하는 것을 통해 응답한다. 열악한 무선 환경(예를 들어, 혼잡하거나, 시끄럽거나, 장거리 환경)에서, 이러한 프로세스는, 마스터 디바이스가 슬레이브 디바이스로부터 통신을 수신하지 않고 타임아웃 기간이 지났다고 결정할 때까지 같은 방식으로 계속될 수 있으며, 이 때, 마스터 디바이스는 마스터 디바이스와 슬레이브 디바이스 사이의 블루투스 접속을 종료할 수 있다. 따라서, 폴링-응답 프로세스는 열악한 무선 시나리오에서 블루투스 접속이 소멸되는 것을 방지하는데 실패할 수 있다.
도 16c는 폴링-응답 프로세스가 시도된 다음, 제6 옵션에 따라, 통신 장애에 응답하여 조절되는, 시나리오의 예를 예시한다. 도시된 바와 같이, 도 16b와 유사하게, 마스터 디바이스는, RSP(1644)를 송신하도록 슬레이브 디바이스를 프롬프트하는, ACK(1642)를 송신한다. 도 16b의 시나리오와 유사하게, RSP(1644)의 송신에 이어, 슬레이브 디바이스는, 마스터 디바이스로부터의 추가적인 통신을 기다리지 않고, 미리 결정된 시간 기간(예를 들어, 1.2 초) 동안 슬립 상태로 전이하지만, 마스터 디바이스는, 예를 들어, 간섭 또는 불충분한 신호 강도로 인해, RSP(1644)를 수신하지 못한다. 도 16b의 시나리오와 유사하게, 슬레이브 디바이스가 다시 활성 상태로 전이되어 NAK(1648)를 수신하는 경우에, 슬레이브 디바이스는, 마스터 디바이스에 의해 수신되지 않은, RSP(1650)을 전송하여, 다른 NAK(1652)를 프롬프트한다.
도시된 바와 같이, 미리 결정된 시간 기간이 다시 끝났다는 결정에 응답하여, 슬레이브 디바이스는 활성 상태로 전이한다. 활성 상태에 있는 동안, 슬레이브 디바이스는 제2 NAK(1654)를 수신한다(즉, 다른 NAK들이 전송되었을 수도 있지만, NAK(1654)는 슬레이브 디바이스에 의해 수신된 제2 NAK이다). 제2 NAK(1654)를 수신하는 것에 응답하여(즉, 2개의 NAK를 연속적으로 수신하는 것에 응답하여), 슬레이브 디바이스는 RSP(1656)을 송신할 수 있고, 그 다음에 도 16b의 시나리오에서처럼, 슬립 상태로 전이하기 보다는, ACK를 기다리기 위해 활성 상태로 남아 있을 수 있다. 도 16c의 시나리오에서, 마스터 디바이스는 RSP(1656)을 수신하지 않고, 마스터 디바이스는 따라서 다른 NAK(1658)를 송신한다. NAK(1658)를 수신하는 것에 응답하여, 슬레이브 디바이스는 다시 RSP(1660)을 송신하고, ACK를 기다리기 위해 활성 상태로 남아 있는다. 따라서, 슬레이브 디바이스는, 슬립 상태로 다시 전이되지 않고, 각각의 후속 NAK가 수신되는 것에 응답하여 계속해서 RSP들을 송신한다. 도 16c의 시나리오에서, 마스터 디바이스는 RSP(1660)를 수신하고, ACK(1662)를 송신하는 것을 통해 응답한다. ACK(1662)를 수신하는 것에 응답하여, 슬레이브 디바이스는 미리 결정된 시간 기간(예를 들어, 1.2 초) 동안 슬립 상태로 전이한다. 제6 옵션에 따라 수정된, 이러한 폴링-응답 프로세스는 따라서 열악한 무선 환경에서도, 블루투스 접속이 소멸되는 것을 방지할 수 있다. 이는, 마스터 디바이스와 슬레이브 디바이스 사이의 블루투스 접속을 재설정하기 위한 필요에 의해 초래될 수 있는, 후속하는 시간에 민감한 패킷들을 송신하는데 있어서의 지연을 피할 수 있다.
다른 시나리오들에서, 슬레이브 디바이스는, (도 16c의 예에서, 2개의 NAK를 연속적으로 수신하는 것과 대조적으로) 일부 다른 개수의 NAK들을 연속적으로 수신하는 것에 응답하여, 이를테면, 1개 NAK 또는 3개의 NAK를 수신하는 것에 응답하여, (즉, ACK를 수신할 때까지) 활성 상태에 남아 있도록 구성될 수 있다. 대안적으로, 슬레이브 디바이스는, 먼저 NAK를 수신하지 않고, 각각의 RSP에 이어(즉, ACK를 수신할 때까지) 활성 상태로 남이 있도록 구성될 수 있다. 제6 옵션의 수정을 포함하는, 폴링-응답 프로세스는, 예를 들어, 슬레이브 디바이스의 블루투스 라디오(예를 들어, 액세서리 디바이스)의 펌웨어에서 제어될 수 있다.
표 2의 옵션들 중 하나 이상을 적용함으로써, 시간에 민감한 블루투스 패킷들을 통신하는데 있어서의 지연은 사용자에 현저하지 않은 레벨로 감소될 수 있다.
본 개시내용의 실시예들은 임의의 다양한 형태들로 실현될 수 있다. 예를 들어, 일부 실시예들은 컴퓨터로 구현된 방법, 컴퓨터 판독가능 메모리 매체, 또는 컴퓨터 시스템으로서 실현될 수 있다. 다른 실시예들은 ASIC들과 같은 하나 이상의 주문형 설계 하드웨어 디바이스를 사용하여 실현될 수 있다. 다른 실시예들은 FPGA들과 같은 하나 이상의 프로그램가능 하드웨어 엘리먼트들을 사용하여 실현될 수 있다.
일부 실시예들에서, 프로그램 명령어들 및/또는 데이터를 저장하도록 비일시적 컴퓨터 판독가능 메모리 매체가 구성될 수 있는데, 여기서 프로그램 명령어들은, 컴퓨터 시스템에 의해 실행되는 경우, 컴퓨터 시스템으로 하여금 방법, 예를 들어, 본 명세서에 설명되는 다양한 방법 실시예들 중 임의의 것, 또는, 본 명세서에 설명되는 방법 실시예들의 임의의 조합, 또는, 본 명세서에 설명되는 방법 실시예들 중 임의의 것의 임의의 서브 세트, 또는, 이러한 서브 세트들의 임의의 조합인 방법을 수행하게 한다.
일부 실시예들에서, 무선 디바이스(또는 무선 스테이션)은 프로세서(또는 프로세서들의 세트) 및 메모리 매체를 포함하도록 구성될 수 있는데, 여기서 메모리 매체는 프로그램 명령어들을 저장하고, 프로세서는 메모리 매체로부터 프로그램 명령어들을 판독 및 실행하도록 구성되며, 프로그램 명령어들은 무선 디바이스로 하여금 본 명세서에 설명되는 방법 실시예들 중 임의의 것(또는, 본 명세서에 설명되는 방법 실시예들의 임의의 조합, 또는, 본 명세서에 설명되는 방법 실시예들 중 임의의 것의 임의의 서브 세트, 또는, 이러한 서브 세트들의 임의의 조합)을 구현하게 하도록 실행될 수 있다. 디바이스는 임의의 다양한 형태로 실현될 수 있다.
상기 실시예들은 상당히 상세하게 설명되었지만, 상기 개시내용이 완전히 이해되면, 본 기술분야의 통상의 기술자들에게는 수많은 변형 및 수정이 명백하게 될 것이다. 다음의 청구항들은 이러한 모든 변형들 및 수정들을 포괄하는 것으로 해석되도록 의도된다.

Claims (20)

  1. 데이터 패킷들을 통신하기 위한 방법으로서,
    클라이언트 스테이션에서,
    복수의 액세서리 디바이스와의 통신들을 설정하는 단계;
    상기 복수의 액세서리 디바이스 중 제1 액세서리 디바이스와의 통신들이 시간에 민감한 통신들(time-sensitive communications)을 포함하는 것으로 결정하는 단계; 및
    상기 결정하는 단계에 응답하여, 상기 제1 액세서리 디바이스와의 상기 통신들을 우선순위화하는 단계
    를 포함하고,
    상기 제1 액세서리 디바이스와의 상기 통신들을 우선순위화하는 단계는 또한, 상기 복수의 액세서리 디바이스가 적어도 임계 개수(threshold number)의 액세서리 디바이스를 포함하는 것으로 결정하는 단계에 응답하는 데이터 패킷 통신 방법.
  2. 제1항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들은 BTLE(Bluetooth Low Energy) 통신들을 포함하는 데이터 패킷 통신 방법.
  3. 제1항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들이 시간에 민감한 통신들을 포함하는 것으로 결정하는 단계는,
    상기 제1 액세서리 디바이스가 상기 클라이언트 스테이션에 제어 입력을 제공하도록 구성된 리모컨(remote control)을 포함하는 것으로 결정하는 단계를 더 포함하는 데이터 패킷 통신 방법.
  4. 제3항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들이 시간에 민감한 통신들을 포함하는 것으로 결정하는 단계는,
    상기 리모컨의 마이크로폰이 음성 명령들(voice commands)을 수신하기 위해 활성이라는 것을 결정하는 단계를 더 포함하는 데이터 패킷 통신 방법.
  5. 제3항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들이 시간에 민감한 통신들을 포함하는 것으로 결정하는 단계는,
    상기 제1 액세서리 디바이스와의 상기 통신들이 오디오 데이터를 포함하는 것으로 결정하는 단계를 더 포함하는 데이터 패킷 통신 방법.
  6. 제1항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들이 시간에 민감한 통신들을 포함하는 것으로 결정하는 단계는,
    상기 제1 액세서리 디바이스가 스타일러스(stylus)를 포함하는 것으로 결정하는 단계를 더 포함하는 데이터 패킷 통신 방법.
  7. 제6항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들이 시간에 민감한 통신들을 포함하는 것으로 결정하는 단계는,
    상기 스타일러스가 로우 레이턴시 모드(low-latency mode)에 있는 것으로 결정하는 단계를 더 포함하는 데이터 패킷 통신 방법.
  8. 삭제
  9. 제1항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들을 우선순위화하는 단계는,
    연속적인 접속 구간들(successive connection intervals) 동안 상기 제1 액세서리 디바이스와의 상기 통신들의 하나 이상 패킷을 스케줄링하는 단계; 및
    상기 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와의 통신들에 대응하는 하나 이상의 패킷을 지연시키는 단계를 더 포함하는 데이터 패킷 통신 방법.
  10. 제9항에 있어서, 하나 이상의 패킷을 지연시키는 단계는,
    Wi-Fi 액세스 포인트와 상기 클라이언트 스테이션 사이에서의 Wi-Fi 통신들의 하나 이상의 패킷을 지연시키는 단계를 더 포함하는 데이터 패킷 통신 방법.
  11. 제1항에 있어서, 상기 통신들을 우선순위화하는 단계는, 상기 클라이언트 스테이션에 의해,
    상기 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와의 통신들이 A2DP(Advanced Audio Distribution Profile) 패킷들을 포함하는 것으로 결정하는 단계; 및
    상기 제1 액세서리 디바이스가 자신의 가용 데이터를 송신하는 것을 완료할 때까지 상기 A2DP 패킷들을 일시정지하는 단계를 더 포함하는 데이터 패킷 통신 방법.
  12. 제1항에 있어서, 상기 통신들을 우선순위화하는 단계는,
    상기 클라이언트 스테이션에 의해,
    상기 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와의 통신들이 A2DP(Advanced Audio Distribution Profile) 패킷들을 포함하는 것으로 결정하는 단계; 및
    상기 A2DP 패킷들의 데이터 레이트를 감소시키는 단계를 더 포함하는 데이터 패킷 통신 방법.
  13. 제1항에 있어서, 상기 제1 액세서리 디바이스와의 상기 통신들을 우선순위화하는 단계는 상기 제1 액세서리 디바이스와의 상기 통신들의 하나 이상의 BTLE 패킷을 위한 데이터 패킷 사이즈를 확대하는 단계를 포함하는 데이터 패킷 통신 방법.
  14. 제1항에 있어서,
    상기 클라이언트 스테이션에 의해,
    상기 제1 액세서리 디바이스로부터 통신 패킷을 수신하는 단계; 및
    상기 수신된 통신 패킷에 응답하여 수신확인 패킷(acknowledgement packet)을 송신하는 단계를 더 포함하고, 상기 제1 액세서리 디바이스는 상기 수신확인 패킷을 수신할 때까지 활성 상태로 남아 있도록 구성되는 데이터 패킷 통신 방법.
  15. 무선 스테이션으로서,
    적어도 하나의 안테나;
    복수의 액세서리 디바이스와 무선 통신을 수행하도록 구성되는 적어도 하나의 라디오; 및
    상기 적어도 하나의 라디오에 통신가능하게 결합되는 적어도 하나의 프로세싱 엘리먼트
    를 포함하며, 상기 적어도 하나의 프로세싱 엘리먼트는, 상기 무선 스테이션으로 하여금,
    복수의 액세서리 디바이스와의 통신들을 설정하게 하고,
    상기 복수의 액세서리 디바이스 중 제1 액세서리 디바이스와의 통신들이 실시간 응답을 필요로 하는 인터페이스로부터의 입력을 통신하는 BTLE(Bluetooth Low Energy) 통신들을 포함하는 것으로 결정하게 하고;
    상기 결정에 응답하여, 상기 제1 액세서리 디바이스와의 상기 통신들을 적어도 상기 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와의 통신들보다 우선순위화하게 하도록 - 상기 우선순위화는 또한, 상기 복수의 액세서리 디바이스가 적어도 임계 개수의 액세서리 디바이스를 포함하는 것으로 결정하는 것에 응답함 -
    구성되는 무선 스테이션.
  16. 제15항에 있어서, 상기 적어도 하나의 프로세싱 엘리먼트는, 상기 무선 스테이션으로 하여금,
    상기 제1 액세서리 디바이스와의 시간에 민감한 BTLE 통신들에 대한 스케줄링을 허용하기 위해, 상기 다른 액세서리 디바이스와 상기 무선 스테이션 사이에서의 Wi-Fi 통신들의 하나 이상의 패킷을 지연시키게 하도록 더 구성되는 무선 스테이션.
  17. 삭제
  18. 무선 통신 디바이스의 하나 이상의 프로세서에 의해 실행가능한 소프트웨어 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어들은, 상기 무선 통신 디바이스로 하여금,
    복수의 액세서리 디바이스와의 통신들을 설정하게 하고;
    상기 복수의 액세서리 디바이스 중 제1 액세서리 디바이스와의 통신들이 시간에 민감한 통신들을 포함하는 것으로 결정하게 하고;
    상기 제1 액세서리 디바이스와의 상기 통신들을 우선순위화하게 하도록 - 상기 우선순위화는, 상기 제1 액세서리 디바이스와의 통신들이 시간에 민감한 통신들을 포함하는 것으로 결정하고, 상기 복수의 액세서리 디바이스가 적어도 임계 개수의 액세서리 디바이스를 포함하는 것으로 결정하는 것에 응답함 -
    구성되며,
    상기 제1 액세서리 디바이스와의 상기 통신들을 우선순위화하는 것은,
    연속적인 접속 구간들 동안 상기 제1 액세서리 디바이스와의 상기 통신들의 하나 이상 패킷을 스케줄링하는 것과,
    상기 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와의 통신들에 대응하는 하나 이상의 패킷을 지연시키는 것을 더 포함하는 비일시적 컴퓨터 판독가능 매체.
  19. 제18항에 있어서, 상기 명령어들은, 상기 무선 통신 디바이스로 하여금,
    상기 복수의 액세서리 디바이스 중 다른 액세서리 디바이스와의 통신들이 A2DP(Advanced Audio Distribution Profile) 패킷들을 포함하는 것으로 결정하게 하고;
    상기 제1 액세서리 디바이스가 자신의 가용 데이터를 전송하는 것을 완료할 때까지 상기 A2DP 패킷들을 일시정지하게 하도록 더 구성되는 비일시적 컴퓨터 판독가능 매체.
  20. 제19항에 있어서, 상기 A2DP 패킷들을 일시정지하는 것은 상기 A2DP 패킷들의 소스의 역할을 하는 기능을 일시정지하는 것을 포함하는 비일시적 컴퓨터 판독가능 매체.
KR1020160111563A 2015-09-30 2016-08-31 시간에 민감한 애플리케이션들을 위한 단거리 무선 패킷들의 우선순위화 KR101877123B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562235528P 2015-09-30 2015-09-30
US62/235,528 2015-09-30
US15/062,360 US10237193B2 (en) 2015-09-30 2016-03-07 Prioritizing short-range wireless packets for time-sensitive applications
US15/062,360 2016-03-07

Publications (2)

Publication Number Publication Date
KR20170038659A KR20170038659A (ko) 2017-04-07
KR101877123B1 true KR101877123B1 (ko) 2018-07-10

Family

ID=58282136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160111563A KR101877123B1 (ko) 2015-09-30 2016-08-31 시간에 민감한 애플리케이션들을 위한 단거리 무선 패킷들의 우선순위화

Country Status (5)

Country Link
US (1) US10237193B2 (ko)
KR (1) KR101877123B1 (ko)
CN (1) CN106559738B (ko)
DE (1) DE102016212392B4 (ko)
SG (1) SG10201605110XA (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105451369B (zh) * 2015-12-04 2018-10-19 小米科技有限责任公司 低功耗蓝牙设备的连接参数更新方法及装置
US10880932B2 (en) * 2017-02-15 2020-12-29 Koninklijke Philips N.V. Central priority advertisement for medical devices
AU2018242048B2 (en) * 2017-03-30 2021-05-27 Nec Corporation Information processing device, information processing method and computer-program
CN113470668B (zh) * 2017-08-14 2024-03-12 海信视像科技股份有限公司 显示设备及调节蓝牙a2dp编码设置的方法
WO2019050556A1 (en) * 2017-09-11 2019-03-14 Intel IP Corporation BLUETOOTH COMMUNICATIONS IN MIXED MODE
DE102018206785A1 (de) * 2018-05-03 2019-11-07 Audi Ag Datenübertragung mittels des Bluetooth Low Energy (BLE)-Standards
US10897705B2 (en) 2018-07-19 2021-01-19 Tectus Corporation Secure communication between a contact lens and an accessory device
US10602513B2 (en) * 2018-07-27 2020-03-24 Tectus Corporation Wireless communication between a contact lens and an accessory device
CN111083651B (zh) * 2018-10-22 2022-07-22 中兴通讯股份有限公司 通话处理方法、装置、移动终端及计算机可读存储介质
KR20200072209A (ko) * 2018-12-12 2020-06-22 삼성전자주식회사 무선 통신 시스템에서 서비스 망을 제공하기 위한 장치 및 방법
US11146934B2 (en) * 2019-03-29 2021-10-12 Aptiv Technologies Limited System and method of reducing a communication range
CN112566145A (zh) * 2019-09-25 2021-03-26 深圳市中兴微电子技术有限公司 一种拥塞控制的方法、装置、计算机存储介质及终端
CN112822663B (zh) * 2019-10-31 2022-06-14 华为技术有限公司 蓝牙连接方法及相关装置
TWI726488B (zh) * 2019-11-19 2021-05-01 元太科技工業股份有限公司 非接觸式智慧卡及其操作方法
US11122506B2 (en) * 2019-12-27 2021-09-14 Intel Corporation Idle connection optimization for wireless devices
CN111866827B (zh) * 2019-12-31 2024-04-12 北京骑胜科技有限公司 蓝牙设备状态检测方法、装置、电子设备及介质
KR20210111539A (ko) * 2020-03-03 2021-09-13 삼성전자주식회사 복수의 통신 방식들을 이용하는 전자 장치 및 그 제어 방법
US20210314768A1 (en) * 2020-04-01 2021-10-07 Google Llc Bluetooth multipoint algorithm and private notifications
CN114079893B (zh) * 2020-08-13 2023-10-13 华为技术有限公司 蓝牙通信方法、终端设备及计算机可读存储介质
CN112367646B (zh) * 2020-09-22 2023-06-23 粒恩医疗科技(深圳)有限公司 一种基于蓝牙和云平台的多数据安全传输方法及系统
US11588230B2 (en) 2020-11-12 2023-02-21 Aptiv Technologies Limited System for transmitting radio frequency signals from a vehicle
CN113498049B (zh) * 2021-04-28 2023-11-14 广州芯之联科技有限公司 蓝牙数据传输事件调度方法、装置及蓝牙设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070098004A1 (en) * 2005-10-31 2007-05-03 Lada Henry F Systems and methods for arbitrating multiple communications

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003218763A (ja) * 2002-01-17 2003-07-31 Matsushita Electric Ind Co Ltd 無線通信可能な機器
JP4312633B2 (ja) * 2004-03-15 2009-08-12 Okiセミコンダクタ株式会社 送信方法および送信装置
JP4983005B2 (ja) 2005-04-12 2012-07-25 富士通株式会社 電子機器、優先接続装置、優先接続方法及び優先接続プログラム
US20060274704A1 (en) * 2005-06-01 2006-12-07 Prasanna Desai Method and apparatus for collaborative coexistence between Bluetooth and IEEE 802.11 G with both technologies integrated onto a system-on-a-chip (SOC) device
US20070238475A1 (en) 2006-03-30 2007-10-11 Goedken Terrance J Wireless communications device with priority list
US7844222B2 (en) 2006-05-24 2010-11-30 Broadcom Corporation Method and system for changing priority of slave frames in multiwire coexistence
US8265017B2 (en) * 2008-04-11 2012-09-11 Apple Inc. Methods and apparatus for network capacity enhancement for wireless device coexistence
US8472427B1 (en) 2009-04-06 2013-06-25 Marvell International Ltd. Packet exchange arbitration for coexisting radios
US8184560B2 (en) 2010-02-18 2012-05-22 At&T Mobility Ii Llc Systems and methods for managing PDP contexts in a wireless data communications network
US9188460B2 (en) * 2010-09-30 2015-11-17 Fitbit, Inc. Methods, systems and devices for generating real-time activity data updates to display devices
US8744803B2 (en) * 2010-09-30 2014-06-03 Fitbit, Inc. Methods, systems and devices for activity tracking device data synchronization with computing devices
US20120182939A1 (en) 2011-01-14 2012-07-19 Qualcomm Incorporated Telehealth wireless communication hub and service platform system
JP5423731B2 (ja) 2011-06-30 2014-02-19 株式会社デンソー 近距離無線通信装置
WO2013064907A2 (en) * 2011-11-03 2013-05-10 Marvell World Trade Ltd. Method and apparatus for arbitration of time-sensitive data transmissions
KR101319795B1 (ko) 2011-12-23 2013-10-17 삼성전기주식회사 액세스포인트 운용방법 및 액세스포인트를 이용한 무선통신 시스템
US8817725B2 (en) * 2012-01-13 2014-08-26 Blackberry Limited Scheduling transmission of traffic treated less preferentially despite timing requirements
CN103391121A (zh) * 2013-07-31 2013-11-13 北京爱德发科技有限公司 多设备配对和连接蓝牙设备的方法
US9357492B2 (en) * 2013-08-05 2016-05-31 Qualcomm Incorporated WLAN-capable remote control device
EP3036933B1 (en) * 2013-08-20 2019-01-09 Nokia Technologies Oy Steering traffic between cellular networks and wlan networks
US20150237641A1 (en) 2014-02-20 2015-08-20 Qualcomm Incorporated Methods and apparatus for prioritizing ims clients over softap
WO2015199584A1 (en) * 2014-06-23 2015-12-30 Telefonaktiebolaget L M Ericsson (Publ) Prioritizing data traffic from and/or to devices in a wireless network
KR101531924B1 (ko) * 2014-07-11 2015-06-26 현대자동차주식회사 블루투스 부하 제어 방법 및 장치
US9532370B2 (en) * 2014-08-29 2016-12-27 Intel Corporation Apparatus, method and system of controlling communications of a multi-radio device
CA2959044C (en) * 2014-09-03 2021-10-26 CloudLeaf, Inc. Systems, methods and devices for asset status determination
US9641964B2 (en) * 2014-09-03 2017-05-02 CloudLeaf, Inc. Systems, methods and devices for asset status determination
US10375620B2 (en) * 2015-03-06 2019-08-06 Apple Inc. Determining routing of proxy traffic between mobile client and proxy devices
US10085294B2 (en) * 2015-03-06 2018-09-25 Apple Inc. Determining when to establish connection between mobile client and proxy devices
US20160262205A1 (en) * 2015-03-06 2016-09-08 Apple Inc. Cloud support for discovery and data transfer for mobile client devices
CN112887360A (zh) * 2015-03-16 2021-06-01 利维帕尔森有限公司 资源的优先级排序及通信信道的建立

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070098004A1 (en) * 2005-10-31 2007-05-03 Lada Henry F Systems and methods for arbitrating multiple communications

Also Published As

Publication number Publication date
CN106559738B (zh) 2020-03-27
CN106559738A (zh) 2017-04-05
US10237193B2 (en) 2019-03-19
KR20170038659A (ko) 2017-04-07
SG10201605110XA (en) 2017-04-27
DE102016212392B4 (de) 2020-06-04
DE102016212392A1 (de) 2017-03-30
US20170093727A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
KR101877123B1 (ko) 시간에 민감한 애플리케이션들을 위한 단거리 무선 패킷들의 우선순위화
US11582791B2 (en) PUCCH collision processing method and terminal
US9485778B2 (en) WiFi real-time streaming and bluetooth coexistence
US9848026B2 (en) Simultaneous wireless connections with improved efficiency
WO2022037664A1 (zh) 非连续接收drx配置方法、装置和设备
CN111818659B (zh) sidelink信息发送方法、接收方法、终端和控制节点
US10091802B2 (en) Electonic apparatus, wireless communication method thereof, and non-transitory computer readable recording medium
CN111148262A (zh) 一种数据传输方法、信息配置方法、终端及网络设备
US20080026696A1 (en) Method and system for transmitting voice data by using wireless LAN and bluetooth
US11849472B2 (en) Wi-fi traffic aware system with wireless accessories
WO2023213257A1 (zh) 数据传输方法、通信设备及存储介质
US20210250960A1 (en) Data processing method and device
US20210076402A1 (en) Negative-Block ACK Based Wi-Fi MAC Protocol
CN113038437B (zh) 数据传输方法、装置、存储介质及终端设备
CN113556217B (zh) 通信方法、网络设备、终端设备及存储介质
WO2022199095A1 (zh) 数据传输方法、装置、存储介质及无线节点
US11553506B2 (en) Multi-radio coexistence aware intelligent WiFi data aggregation
JP2022517837A (ja) 情報伝送方法及び端末
JP5252490B2 (ja) 無線パケット通信方法及びシステム
WO2023011286A1 (zh) 反馈方法、相关设备及可读存储介质
WO2023216036A1 (zh) 处理方法、通信设备及存储介质
CN110830157B (zh) 传输控制信息的方法和装置
WO2023246880A1 (zh) 副链路传输处理方法、副链路传输配置方法、装置、终端和网络侧设备
WO2022213277A1 (zh) 处理方法、设备、系统及存储介质
WO2023133693A1 (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