KR20240012443A - 컴패니언 디바이스 지원 게임 컨트롤러 페어링 - Google Patents

컴패니언 디바이스 지원 게임 컨트롤러 페어링 Download PDF

Info

Publication number
KR20240012443A
KR20240012443A KR1020237043179A KR20237043179A KR20240012443A KR 20240012443 A KR20240012443 A KR 20240012443A KR 1020237043179 A KR1020237043179 A KR 1020237043179A KR 20237043179 A KR20237043179 A KR 20237043179A KR 20240012443 A KR20240012443 A KR 20240012443A
Authority
KR
South Korea
Prior art keywords
gaming system
game controller
pairing
companion device
paired
Prior art date
Application number
KR1020237043179A
Other languages
English (en)
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 KR20240012443A publication Critical patent/KR20240012443A/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/323Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi® or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/61Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor using advertising information
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • A63F2300/1031Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection using a wireless connection, e.g. Bluetooth, infrared connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Abstract

게임 컨트롤러는 제1 통신 프로토콜을 사용하여 컴패니언 디바이스와 그리고 제2 통신 프로토콜을 사용하여 하나 이상의 게이밍 시스템과 선택적으로 페어링하도록 구성된다. 게임 컨트롤러는 게임 컨트롤러의 스토리지 서브시스템에 저장된 컴패니언 디바이스 페어링 데이터에 기초하여 제1 통신 프로토콜을 사용하여 컴패니언 디바이스에 페어링 요청을 전송하도록 구성된다. 게임 컨트롤러는 스토리지 서브시스템에 저장된 게이밍 시스템 페어링 데이터에 기초하여, 게임 컨트롤러가 제2 통신 프로토콜을 사용하여 마지막으로 페어링된 마지막 페어링 게이밍 시스템에 페어링 요청을 전송하도록 구성된다. 게임 컨트롤러가 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것에 응답하여, 게임 컨트롤러가 컴패니언 디바이스와 페어링되는 동안, 게임 컨트롤러는 제1 통신 프로토콜을 사용하여 컴패니언 디바이스에 에러 통지를 전송하도록 구성된다.

Description

컴패니언 디바이스 지원 게임 컨트롤러 페어링
게임 컨트롤러는 통신 프로토콜을 사용하여 게이밍 시스템과 페어링될 수 있다. 일부 실시예에서, 게임 컨트롤러는 상이한 통신 프로토콜들을 사용하여 상이한 게임밍 시스템들과 페어링될 수 있다. 일부 시나리오들에서, 다수의 게이밍 시스템들이 게임 컨트롤러와 페어링하는 데 이용가능할 수 있다. 이러한 시나리오에서, 통상적인 게임 컨트롤러는 이용가능한 게이밍 시스템들 중 가장 높은 통신 신호 강도를 갖는 게이밍 시스템과 페어링될 수 있다.
게임 컨트롤러는 제1 통신 프로토콜을 사용하여 컴패니언 디바이스와 그리고 제2 통신 프로토콜을 사용하여 하나 이상의 게이밍 시스템과 선택적으로 페어링하도록 구성된다. 게임 컨트롤러는 게임 컨트롤러의 스토리지 서브시스템에 저장된 컴패니언 디바이스 페어링 데이터에 기초하여 제1 통신 프로토콜을 사용하여 컴패니언 디바이스에 페어링 요청을 전송하도록 구성된다. 게임 컨트롤러는 스토리지 서브시스템에 저장된 게이밍 시스템 페어링 데이터에 기초하여, 게임 컨트롤러가 제2 통신 프로토콜을 사용하여 마지막으로 페어링된 마지막 페어링 게이밍 시스템에 페어링 요청을 전송하도록 구성된다. 게임 컨트롤러가 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것에 응답하여, 게임 컨트롤러가 컴패니언 디바이스와 페어링되는 동안, 게임 컨트롤러는 제1 통신 프로토콜을 사용하여 컴패니언 디바이스에 에러 통지를 전송하도록 구성된다.
이하 상세한 설명에서 더 개시되는 간략한 형태의 컨셉의 선택을 소개하기 위해 본 요약(Summary)이 제공된다. 본 요약은 청구되는 대상(subject matter)의 본질적 특징이나 중요 특징(key feature)의 식별을 의도하지 않고, 청구되는 대상의 범위를 한정하는데 사용되는 것도 의도하지 않는다. 또한, 청구되는 대상은 본 명세서의 임의의 부분에서 언급되는 임의의 또는 모든 단점을 해결하는 구현에 한정되지 않는다.
도 1a 및 도 1b는 게임 컨트롤러가 상이한 게이밍 시스템과 페어링되는 상이한 예시적인 시나리오를 도시한다.
도 2a 및 도 2b는 예시적인 게임 컨트롤러를 도시한다.
도 3은 게임 컨트롤러 및 게임 컨트롤러와 페어링가능한 복수의 컴퓨팅 시스템을 포함하는 예시적인 컴퓨팅 환경을 도시한다.
도 4는 게임 컨트롤러가 게이밍 시스템과 페어링하는 것을 돕도록 구성된 예시적인 컴패니언 디바이스를 도시한다.
도 5a 및 도 5b는 도 2a 및 도 2b에 도시된 게임 컨트롤러의 디스플레이를 통해 시각적으로 제시된 상이한 예시적인 페어링 상태 통지들을 도시한다.
도 6a 및 도 6b는 도 2a 및 도 2b의 게임 컨트롤러의 상이한 컨트롤 세트들이 상이한 게이밍 시스템과 게임 컨트롤러를 페어링하기 위한 상이한 페어링 함수들에 매핑되는 상이한 예시적인 시나리오들을 도시한다.
도 7 내지 도 10은 상이한 게이밍 시스템과 페어링하기 위해 게임 컨트롤러를 동작시키기 위한 예시적인 방법을 도시한다.
도 11은 예시적 컴퓨팅 시스템을 도시한다.
도 1a 및 도 1b는 게임 컨트롤러가 상이한 게이밍 시스템과 페어링되는 상이한 예시적인 시나리오를 도시한다. 본원에서 사용되는 바와 같이, 용어 "게이밍 시스템"은 비디오 게임을 실행하도록 구성될 수 있는 하나 이상의 컴퓨팅 디바이스를 포함할 수 있고, "비디오 게임 실행"이라는 문구는 게임 비디오 및/또는 오디오를 렌더링하는 프로그램이 로컬 또는 원격으로 위치되는지에 관계없이 비디오 게임 비디오 및/또는 오디오를 제시하는 것을 포함할 수 있다. 도 1a에서, 게임 콘솔(100)의 형태의 게이밍 시스템은 대형 디스플레이(102) 상의 시각적 표현을 위한 비디오 게임을 실행한다. 게임 컨트롤러(104)는 게임 콘솔(100)과 페어링되어, 사용자(106)가 게임 콘솔에 의해 실행되는 비디오 게임을 플레이하기 위한 사용자 입력을 게임 콘솔(100)에 제공할 수 있다. 본원에서 사용되는 바와 같이, “페어(pair)” 및 “페어링(pairing)”이라는 용어는 특정 통신 프로토콜을 사용하여 컴퓨팅 디바이스들 간의 통신을 가능하게 하기 위해 컴퓨팅 디바이스들 간의 초기 링크를 구축하는 프로세스를 지칭한다. 일 실시예에서, 게임 컨트롤러(104)는 WiFi 기반 통신 프로토콜(예컨대, WiFi-direct)과 같은 제1 통신 프로토콜을 사용하여 게임 콘솔(100)과 페어링된다.
도 1b에서, 사용자(106)는 태블릿 컴퓨터(108)의 형태로 상이한 게이밍 시스템에서 실행되는 비디오 게임을 플레이하기를 원한다. 게임 컨트롤러(104)는 태블릿 컴퓨터(108)와 페어링되어, 사용자(106)가 비디오 게임을 플레이하기 위해 사용자 입력을 태블릿 컴퓨터(108)에 제공할 수 있다. 일 실시예에서, 게임 컨트롤러(104)는 BLE(Bluetooth Low Energy) 통신 프로토콜과 같은 제2 통신 프로토콜을 사용하여 태블릿 컴퓨터(108)와 페어링된다. 일부 실시예에서, 게임 컨트롤러(104)는 제1 및 제2 통신 프로토콜들 중 어느 하나를 사용하여 게임 콘솔(100) 및/또는 태블릿 컴퓨터(108)와 페어링되도록 구성될 수 있다.
일부 시나리오들에서, 다수의 게이밍 시스템들이 게임 컨트롤러와 페어링하는 데 이용가능할 수 있다. 위의 실시예를 참조하면, 게임 콘솔(100) 및 태블릿 컴퓨터(108)는 게임 컨트롤러(104)와 페어링하는 데 이용가능할 수 있다. 이러한 시나리오에서, 통상적인 게임 컨트롤러는 이용가능한 게이밍 시스템들 중 가장 높은 통신 신호 강도를 갖는 게이밍 시스템과 페어링될 수 있다.
그러나, 사용자는 가장 높은 통신 신호 강도를 가질 필요가 없는 상이한 게이밍 시스템과 게임 콘솔을 페어링하기를 원할 수 있다. 위의 실시예를 참조하면, 게임 콘솔(100)이 태블릿 컴퓨터(108)보다 더 높은 통신 신호 강도를 갖는 경우, 사용자가 게임 컨트롤러를 태블릿 컴퓨터(108)에 페어링할 수 있는 방법이 명확하지 않을 수 있으며, 이것은 이러한 전형적인 게임 컨트롤러가 상이한 게이밍 시스템들과 페어링하기 위한 직관적인 방법을 제공하지 않기 때문이다. 더욱이, 통상적인 게임 컨트롤러만으로는 게임 컨트롤러가 특정 게이밍 시스템과 페어링되는 쉽게 관찰가능한 표시를 제공하지 않는다.
따라서, 본원은 컴패니언 디바이스의 도움으로 상이한 통신 프로토콜을 사용하여 매우 다양한 상이한 게이밍 시스템과 페어링하도록 구성된 게임 컨트롤러에 관한 것이다. 컴패니언 디바이스는 일반적인 게임 컨트롤러만으로는 제공할 수 없는 직관적이고 직접적이며 쉽게 관찰가능한 방식으로 게임 컨트롤러와 상이한 게이밍 시스템의 페어링을 사용자가 관리하는 것을 돕는 다양한 피처들을 제공할 수 있다.
도 2a 내지 도 2b는 예시적 게임 컨트롤러(200)를 도시한다. 게임 컨트롤러(200)는, 로컬 게이밍 시스템(304) 또는 도 3에 도시된 다른 게이밍 시스템과 같은 게임 컨트롤러(200)와 페어링된 게이밍 시스템에 전송되는 제어 데이터로 사용자 입력을 변환하도록 구성될 수 있다. 예를 들어, 사용자 입력 제어 데이터는 비디오 게임, 애플리케이션, 또는 게이밍 시스템에 의해 실행되는 다른 동작들을 제어하기 위한 명령들에 매핑될 수 있다. 일부 실시예에서, 게임 컨트롤러(200)는 사용자 입력 제어 데이터를 비디오 게임 특유적 또는 애플리케이션 특유적 명령들에 매핑하도록 구성될 수 있다. 다른 실시예에서, 게이밍 시스템은 사용자 입력 제어 데이터를 비디오 게임 특유적 또는 애플리케이션 특유적 명령들에 매핑하도록 구성될 수 있다.
게임 컨트롤러(200)는 제어부들(202)의 손가락 조작에 응답하여 제어 신호들을 생성하는 게임 컨트롤러(200) 내부의 전자 입력 센서들(218)과 인터페이스하도록 구성된 복수의 제어부들(202)을 포함한다. 특히, 복수의 제어부들(202)은 복수의 버튼들(204)(예컨대, 204A, 204B, 204C, 204D, 204E, 204F, 204G, 204H, 204I), 복수의 조이스틱(206)(예컨대, 좌측 조이스틱(206A) 및 우측 조이스틱(206B)), 복수의 트리거(208)(예컨대, 좌측 트리거(208A) 및 우측 트리거(208B)), 복수의 범퍼 버튼(210)(예컨대, 좌측 범퍼 버튼(210A) 및 우측 범퍼 버튼(210B), 및 방향 패드(212)를 포함한다. 게임 컨트롤러(200)는 본 개시의 범위로부터 벗어나지 않으면서 임의의 수의 제어부들, 임의의 타입의 제어부들, 임의의 수의 전자 입력 센서들, 및 임의의 타입의 전자 입력 센서들을 포함할 수 있다.
복수의 제어부들(204)은 게임 컨트롤러(200) 내의 하나 이상의 내부 프레임들(214)에 커플링될 수 있다. 하나 이상의 인쇄 회로 보드(216)가 프레임(들)(214)에 커플링될 수 있다. 인쇄 회로 보드(들)(216)는 복수의 전자 입력 센서들(218)을 포함할 수 있다. 각각의 전자 입력 센서(218)는 대응하는 제어부(202)와의 상호작용에 응답하여 제어 신호들을 생성하도록 구성될 수 있다. 전자 입력 센서들의 비제한적인 예들은 돔 스위치(dome switch)들, 촉각 스위치(tactile switch)들, 홀 효과 센서(Hall Effect sensor)들, 전위차계들, 및 다른 전자 센싱 컴포넌트들을 포함할 수 있다. 임의의 적합한 센서는 인쇄 회로 보드 아키텍처 또는 임의의 다른 적합한 아키텍처를 사용하여 게임 컨트롤러(200)에서 구현될 수 있다.
버튼들(204) 각각은 (예컨대, 손가락 조작을 통해) 눌려진 것에 응답하여 활성화 제어 신호를 생성하기 위해 대응하는 전자 입력 센서(218)를 활성화하도록 구성될 수 있다. 조이스틱들(206) 각각은 디폴트 “중심” 위치에 대한 조이스틱의 위치에 기초한 2차원 입력을 제공하도록 구성될 수 있다. 예를 들어, 조이스틱(206) 각각은 아날로그 입력 제어 신호를 제공하기 위해 연속적인 전기 활동을 사용하는 전위차계의 형태로 전자 입력 센서와 상호작용할 수 있다. 트리거들(208) 각각은 디폴트 위치에 대한 트리거의 위치에 기초하여 가변 제어 신호를 제공하도록 구성될 수 있다. 예를 들어, 트리거가 디폴트 위치로부터 더 멀리 당겨질 때, 생성된 제어 신호의 특성은 크기가 증가할 수 있다.
방향 패드(212)는 방향 패드(212)에 터치 힘이 가해지지 않을 때 디폴트 자세로 상주하도록 구성될 수 있다. 디폴트 자세에서, 방향 패드(212)는 복수의 전자 입력 센서들(218) 중 어느 것도 터치 입력을 나타내는 활성화 제어 신호를 생성하게 하지 않는다. 또한, 방향 패드(212)는 방향 패드(212)에 가해지는 터치 힘에 응답하여 디폴트 자세로부터 선택된 활성화 자세로 이동하도록 구성될 수 있다. 선택된 활성화 자세는 상이한 전자 입력 센서들과 인터페이싱함으로써 상이한 활성화 제어 신호 또는 활성화 제어 신호들의 조합을 각각 생성하는 복수의 상이한 활성화 자세들 중 하나일 수 있다.
대응하는 제어부(202)가 활성화 자세에 있을 때 전자 입력 센서(218)에 의해 생성되는 활성화 신호는 디폴트 자세에서 전자 입력 센서(218)에 의해 생성되는 신호 또는 이의 결여와는 상이한 임의의 신호일 수 있다는 것을 유념한다. 예를 들어, 일부 구현예에서, 활성화 신호는 게임 컨트롤러(200)의 공급 전압(예컨대, VDD)에 대응할 수 있고, 디폴트 상태에서 생성된 신호는 상대 접지(relative ground)(예컨대, 0)에 대응할 수 있다. 다른 구현예들에서, 활성화 신호는 상대 접지에 대응할 수 있고, 디폴트 상태에서 생성된 신호는 게임 컨트롤러(200)의 공급 전압에 대응할 수 있다.
게임 컨트롤러(200)는 페어링 및 사용자가 상이한 게이밍 시스템과의 게임 컨트롤러(200)의 페어링을 관리하는 것을 도울 수 있는 다른 상태 정보를 시각적으로 제시하도록 구성된 디스플레이(220)를 포함한다. 일부 구현예에서, 디스플레이(220)는 게임 컨트롤러(200)로부터 생략될 수 있다. 일부 구현예에서, 게임 컨트롤러(200)와 페어링된 컴패니언 디바이스의 디스플레이는 게임 컨트롤러(200)의 페어링 및 다른 상태 정보를 시각적으로 제시할 수 있다.
게임 컨트롤러(200)는 프레임(들)(214)에 커플링된 마이크로 트롤러(222)를 포함한다. 마이크로 컨트롤러(222)는 아래에서 더 상세히 논의되는 바와 같이 상이한 게이밍 시스템과 페어링 동작들을 수행하도록 구성될 수 있다. 또한, 마이크로 컨트롤러(222)는 복수의 전자 센서들(218)에 의해 생성된 제어 신호들을 게임 컨트롤러(200)와 페어링된 게이밍 시스템에 전송되는 사용자 입력 제어 데이터로 변환하도록 구성될 수 있다.
도 3은 게임 컨트롤러 및 게임 컨트롤러와 페어링가능한 복수의 컴퓨팅 시스템을 포함하는 예시적인 컴퓨팅 환경을 도시한다. 복수의 컴퓨팅 시스템들은 컴패니언 디바이스(302), 로컬 게이밍 시스템(304), 스트리밍 디바이스(306), 무선 액세스 포인트(wireless access point; WAP)(310), 및 원격 클라우드 기반 게이밍 시스템(312)을 포함한다.
게임 컨트롤러(200)는 컴패니언 디바이스(302)가 게임 컨트롤러(200)의 페어링 기능을 확장할 수 있도록 하기 위해 컴패니언 디바이스(302)와 페어링되도록 구성될 수 있다. 특히, 컴패니언 디바이스(302)는 게임 컨트롤러(200)가 비디오 게임을 제어하거나 “플레이(play)”하기 위한 사용자 입력을 제공할 수 있는 비디오 게임을 실행하는 게이밍 시스템과 페어링함에 있어서 게임 컨트롤러(200)를 보조하도록 구성될 수 있다. 전형적으로, 컴패니언 디바이스(302)는 비디오 게임을 실행하는 게이밍 시스템으로부터 분리될 수 있다. 그러나, 일부 실시예에서, 컴패니언 디바이스는 페어링 기능을 제공하고 비디오 게임을 실행할 수 있다. 이러한 실시예에서, 컴패니언 디바이스(302)는 컴패니언 디바이스(302) 상의 비디오 게임의 실행과 별개이고 독립적인 별개의 페어링 애플리케이션 프로그램을 실행할 수 있다. 예를 들어, 컴패니언 디바이스(302)는 반드시 어떠한 비디오 게임을 실행하지 않고서 페어링 애플리케이션 프로그램을 실행할 수 있다. 컴패니언 디바이스(302)는, 스마트폰, 태블릿 컴퓨터, 가상/증강/혼합 현실 디바이스, 데스크탑 컴퓨터, 웨어러블 컴퓨터, 또는 일부 다른 적합한 타입의 컴퓨터를 포함하지만 이것에 한정되지 않는 게이밍 시스템과 게임 컨트롤러(200)의 페어링을 보조하도록 구성될 수 있는 임의의 적합한 타입의 컴퓨팅 시스템으로서 구현될 수 있다.
로컬 게이밍 시스템(304)은 비디오 게임을 실행하도록 구성될 수 있다. 일부 실시예에서, 로컬 게이밍 시스템(304)은 로컬 게이밍 시스템(304)에 로컬로 “온보드(on board)”로 비디오 게임 전체를 실행하도록 구성될 수 있다. 다른 실시예에서, 로컬 게이밍 시스템(304)은 비디오 게임의 적어도 일부 양태들을 실행하도록 구성될 수 있고, 원격 클라우드 기반 게이밍 시스템(312)과 같은 원격 컴퓨팅 시스템은 비디오 게임의 적어도 일부 양태들을 실행하도록 구성될 수 있다. 본 실시예에서, 로컬 및 원격 게임 시스템이 함께 작동하여 비디오 게임을 실행한다. 로컬 게이밍 시스템(304)은 게임 콘솔, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 대형 스마트 텔레비전, 웨어러블 컴퓨터, 가상/증강/혼합 현실 디바이스, 차량 내 컴퓨터, 셋톱 박스 컴퓨터, 또는 일부 다른 적합한 타입의 컴퓨터를 포함하지만 이것에 한정되지 않는 비디오 게임을 실행하도록 구성된 임의의 적합한 타입의 컴퓨팅 시스템으로서 구현될 수 있다.
스트리밍 디바이스(306)는 다른 게이밍 시스템에 의해 렌더링되는 비디오 게임의 비디오 프레임 및 대응하는 동기화된 오디오 데이터를 수신하도록 구성될 수 있다. 다시 말하면, 스트리밍 디바이스(306)는 비디오 게임을 스트리밍 디바이스(306)에 로컬로 온보드로 실제로 렌더링하지 않고서 비디오 게임을 제시하도록 구성된다. 일부 실시예에서, 스트리밍 디바이스(306)는 로컬 게이밍 시스템(304)에 의해 실행되는 비디오 게임의 렌더링된 오디오/비디오 데이터를 수신하기 위해 WAP(310)를 통해 로컬 게이밍 시스템(304)과 페어링되거나 또는 그렇지 않으면 연결될 수 있다. 다른 실시예에서, 스트리밍 디바이스(306)는 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임의 렌더링된 오디오/비디오 데이터를 수신하기 위해 WAP(310)를 통해 원격 클라우드 기반 게이밍 시스템(312)과 페어링되거나 또는 그렇지 않으면 연결될 수 있다.
WAP(310)는, 게임 컨트롤러(200), 컴패니언 디바이스(302), 로컬 게이밍 시스템(304), 및 스트리밍 디바이스(306)를 포함하는 로컬 컴퓨팅 시스템이, 광역 네트워크(wide area network; WAN)(314)를 통해 원격 클라우드 기반 게이밍 시스템(312)을 포함하는 다른 원격 컴퓨팅 시스템과 통신할 수 있게 하도록 구성될 수 있다. WAP(310)는 다양한 원격 컴퓨팅 시스템들과 통신하기 위해 다수의 로컬 컴퓨팅 시스템들의 WAN(314)과의 동시 페어링/연결을 지원하도록 구성될 수 있다. WAP(310)는 임의의 적합한 통신 프로토콜을 지원하도록 구성될 수 있다. 일부 실시예에서, WAP(310)는 다수의 상이한 통신 프로토콜들을 지원하도록 구성될 수 있다.
원격 클라우드 기반 게이밍 시스템(312)은 비디오 게임을 실행하고 결과적인 렌더링된 오디오/비디오 데이터를 프리젠테이션을 위해 WAN(314) 및 WAP(310)를 통해 로컬 컴퓨팅 디바이스에 전송하도록 구성될 수 있다. 추가적으로, 원격 클라우드 기반 게이밍 시스템(312)은 아래에서 더 상세히 논의되는 바와 같이 WAP(310)를 통해 게임 컨트롤러(200)로부터 사용자 입력 제어 데이터를 수신하도록 구성될 수 있다.
게임 컨트롤러(200)는 마이크로 컨트롤러(222), 복수의 제어부(202), 전자 입력 센서들(218), 디스플레이(220), 및 통신 인터페이스(316)를 포함한다. 통신 인터페이스(316)는 게임 컨트롤러(200)가 상이한 통신 프로토콜들을 사용하여 다수의 컴퓨팅 시스템들과 개별적으로 페어링할 수 있게 하도록 구성될 수 있다.
상이한 통신 프로토콜들은 상이한 장점들을 제공할 수 있다. 예를 들어, BLE 통신 프로토콜과 같은 저에너지 통신 프로토콜들은 속도, 대역폭, 또는 범위(range)보다 낮은 전력 소비를 우선순위화할 수 있다. 이러한 저에너지 통신 프로토콜들은 배터리 수명을 연장시키기 위해 배터리 구동 디바이스들에 의해 이용될 수 있다. 대조적으로, 전력 소스(예컨대, 파워 아웃렛(power outlet))에 플러그인된 디바이스는 저전력 소비보다 속도, 대역폭, 범위를 우선순위화하는 상이한 통신 프로토콜을 이용할 수 있다.
일부 실시예에서, 게임 컨트롤러(200)에 의해 이용된 적어도 하나의 통신 프로토콜이 표준화될 수 있다. 일부 실시예에서, 게임 컨트롤러(200)에 의해 이용된 적어도 하나의 통신 프로토콜이 표준화될 수 있다. 예를 들어, 게임 컨트롤러(200)는 로컬 게이밍 시스템(304)에 의해 지원되는 독점적 통신 프로토콜을 사용하고, 독점적 프로토콜을 활용하지 않는 다른 제조사들로부터의 컴퓨터들 및 디바이스들과 페어링하기 위해 표준화된 통신 프로토콜을 사용하도록 구성될 수 있다.
게임 컨트롤러(200)가 상이한 디바이스와 통신하기 위해 사용하도록 구성될 수 있는 비제한정 실시예의 통신 프로토콜은, BLE와 같은 저에너지 비코닝(beaconing) 프로토콜, IrDA(infrared data association), 무선 USB(universal serial bus), ZigBee 등의 무선 퍼스널 에어리어 네트워크 프로토콜, 2개의 디바이스가 통신을 위해 한정된(예컨대, <50m) 범위 내에 있도록 요구되는 NAN(near-me area network) 프로토콜 또는 다른 저에너지, 저대역폭 무선 프로토콜, WIFI(예컨대, WIFI-direct) 또는 다른 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준 프로토콜(예컨대, 802.1 lax) 등의 WLAN(wireless local area network)을 포함하지만 이것에 한정되지 않는다.
게임 컨트롤러(200)는 임의의 적합한 수의 상이한 디바이스들 및 임의의 적합한 상이한 타입의 디바이스들과 통신하기 위해 현재 및 미래의 통신 프로토콜들을 포함하는 임의의 적합한 수의 통신 프로토콜들 및 임의의 적합한 타입의 통신 프로토콜을 이용하도록 구성될 수 있다.
통신 인터페이스(316)는 이러한 페어링/통신을 지원하기 위해 다수의 타입의 와이어리스(wireless) 또는 라디오(radio) 기술을 구현할 수 있다. 예를 들어, 통신 인터페이스(316)는 WiFi 라디오, BLE 라디오, 셀룰러 라디오, 및 임의의 다른 적합한 타입의 라디오 또는 다른 통신 하드웨어와 같은 다수의 라디오들을 구현할 수 있다. 일부 구현예에서, 통신 인터페이스(316)는 컴퓨터 네트워크(예컨대, 범용 직렬 버스), 게이밍 시스템, 또는 다른 타입의 디바이스에 대한 유선 연결을 용이하게 하기 위한 물리적 포트들을 더 포함할 수 있다. 일 실시예에서, 게임 컨트롤러(200)는 BLE 통신 프로토콜과 같은 제1 통신 프로토콜을 사용하여 컴패니언 디바이스(302)와 페어링하도록 구성될 수 있다. 또한, 게임 컨트롤러(200)는, 표준화된 WAN 프로토콜의 범위 외부의 독점적 양태들과 함께 802.1 lax와 같은 고속 WAN 프로토콜의 양태들을 통합하는 독점적 통신 프로토콜과 같은, 제1 통신 프로토콜과는 상이한 제2 통신 프로토콜을 사용하여 로컬 게이밍 시스템(304)과 페어링하도록 구성될 수 있다. 일부 구현예에서, 추가적으로 또는 대안적으로, 게임 컨트롤러(200)는 제1 통신 프로토콜(예컨대, BLE 통신 프로토콜)을 사용하여 로컬 게이밍 시스템(304)과 페어링하도록 구성될 수 있다. 게임 컨트롤러(200)는 표준화된 WIFI 기반 통신 프로토콜과 같은 제3 통신 프로토콜을 사용하여 WAP(310)와 페어링하도록 구성될 수 있다. 다른 실시예에서, 게임 컨트롤러(200)는 로컬 게이밍 시스템(304) 및 WAP(310)와 페어링하기 위해 동일한 통신 프로토콜을 사용할 수 있다. 게임 컨트롤러(200)는 임의의 적합한 통신 프로토콜을 사용하여 WAP(310)와 페어링할 수 있다.
WAP(310)와의 페어링은 게임 콘솔, 데스크탑 컴퓨터, 또는 스마트폰과 같은 로컬 게이밍 디바이스와의 중간 연결을 요구하지 않고서 게임 컨트롤러가 원격 클라우드 기반 게이밍 시스템(312)과 통신할 수 있게 할 수 있다. 게임 컨트롤러(200)를 WAP(310)를 통해 원격 클라우드 기반 게이밍 시스템(312)과 페어링함으로써, 게임 컨트롤러(200)는, 게임 컨트롤러(200)로부터의 사용자 입력 제어 데이터가 컴퓨팅 디바이스 또는 로컬 게이밍 시스템(304)을 통해 WAP(310)으로 릴레이되는 구성보다 더 빠르게 사용자 입력 제어 데이터를 원격 클라우드 기반 게이밍 시스템(312)으로 전송하는 것이 가능하게 될 수 있다.
또한, 게임 컨트롤러(200)가 원격 클라우드 기반 게이밍 시스템(312)과 페어링될 때, 원격 클라우드 기반 게이밍 시스템(312)은 프리젠테이션을 위해 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 로컬 컴퓨팅 시스템에 전송하도록 구성될 수 있다. 원격 클라우드 기반 게이밍 시스템(312)이 비디오 게임의 실행을 처리할 수 있게 함으로써, 더 적은 프로세싱 리소스들을 갖는 컴퓨팅 디바이스들은 여전히 비디오 게임을 로컬로 제시할 수 있고, 이는 사용자에게 상이한 게이밍 시스템들을 사용하여 비디오 게임을 플레이할 수 있는 더 큰 유연성을 제공할 수 있다.
일 실시예로서, 원격 클라우드 기반 게이밍 시스템(312)은 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 프리젠테이션을 위해 스트리밍 디바이스(306)에 전송할 수 있다. 다른 실시예로서, 원격 클라우드 기반 게이밍 시스템(312)은 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 프리젠테이션을 위해 컴패니언 디바이스(302)에 전송할 수 있다. 원격 클라우드 기반 게이밍 시스템(312)은 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 프리젠테이션을 위해 임의의 적합한 컴퓨팅 시스템에 전송할 수 있다. 이러한 구성에 따르면, 게임 컨트롤러(200)가 WAP(310)를 통해 원격 클라우드 기반 게이밍 시스템(312)에 사용자 입력 제어 데이터를 전송하고 있기 때문에, 게임 컨트롤러(200)는 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 제시하는 디바이스와 페어링될 필요가 없다는 것을 유의한다.
마이크로 컨트롤러(222)는 로직 서브시스템(318) 및 다양한 페어링 동작들 및 관련 기능을 수행하기 위해 실행가능한 명령어들을 포함하는 스토리지 서브시스템(320)을 포함한다. 또한, 게임 컨트롤러(200)는 사용자가 직감적이고 직관적이며 쉽게 관찰가능한 방식으로 게임 컨트롤러(200)의 상이한 게이밍 시스템과의 페어링을 관리하는 것을 돕는 다양한 피처(feature)들을 포함한다. 스토리지 서브시스템(320)은 게임 컨트롤러(200)가 이전에 페어링했던 컴퓨팅 디바이스들의 페어링 데이터를 저장하도록 구성된 페어링 데이터베이스(322)를 포함할 수 있다. 예를 들어, 이러한 페어링 데이터는 특정 통신 프로토콜, 자격 증명(credential), 패스워드, 미리 공유된 키(pre-shared key; PSK), 및 서비스 세트 식별자(service set identifier; SSID) 정보 중, 하나 이상을 포함할 수 있다. 페어링 데이터베이스(322)는 게임 컨트롤러(200)가 컴패니언 디바이스(302)와 페어링하기 위해 사용할 수 있는 컴패니언 디바이스 페어링 데이터(324)를 저장하도록 구성될 수 있다. 컴패니언 디바이스 페어링 데이터(324)는 게임 컨트롤러(200)에 의해 수신될 수 있고, 게임 컨트롤러(200)와 컴패니언 디바이스(302)의 초기 페어링에 기초하여 페어링 데이터베이스(322)에 저장될 수 있다. 페어링 데이터베이스(322)는 게임 컨트롤러(200)가 이전에 페어링된 이전 페어링 게이밍 시스템과 게임 컨트롤러를 페어링하기 위해 게임 컨트롤러가 사용할 수 있는 게이밍 시스템 페어링 데이터(326)를 저장하도록 구성될 수 있다. 컴패니언 디바이스 페어링 데이터(326)는 게임 컨트롤러(200)에 의해 수신될 수 있고, 게임 컨트롤러(200)와 컴패니언 디바이스(302)의 초기 페어링에 기초하여 페어링 데이터베이스(322)에 저장될 수 있다.
예시된 실시예에서, 이전에 페어링된 게이밍 시스템들은 로컬 게이밍 시스템(304), 무선 액세스 포인트(310), 및 스트리밍 디바이스(306)를 포함할 수 있다. 컴패니언 디바이스(302)가 컴패니언 페어링 애플리케이션 프로그램 및 비디오 게임 둘 다를 실행하도록 구성된 일부 실시예에서, 컴패니언 디바이스(302)는 또한 이전에 페어링된 게이밍 시스템으로서 작용할 수 있다.
게임 컨트롤러(200) 온보드의 페어링 데이터베이스(322)는 게임 컨트롤러(200)가 상이한 물리적 위치들에서 상이한 통신 프로토콜들을 사용하여 상이한 게이밍 시스템들과 신속하게 페어링될 수 있는 유연성을 제공한다. 예를 들어, 페어링 데이터베이스(322)는 가정(home)에서의 사용자의 개인 게이밍 시스템에 대한 페어링 데이터를 저장할 수 있다. 또한, 사용자가 친구의 게이밍 시스템 상에서 비디오 게임을 플레이할 때, 게임 컨트롤러(200)는 친구의 게이밍 시스템에 대한 페어링 데이터를 저장하도록 구성될 수 있다. 이와 같이, 사용자가 사용자 자신의 게이밍 시스템과 친구의 게이밍 시스템 사이를 오갈 때에도, 게임 컨트롤러(200)는 게이밍 시스템 페어링 데이터를 온보드(on-board)에 저장할 수 있고, 그리하여 게임 컨트롤러(200)는 어느 한 게이밍 시스템과 신속하게 페어링할 수 있다.
임의의 적합한 컴퓨팅 디바이스에 대한 페어링 정보는 페어링 데이터베이스(322)에 저장될 수 있으며, 그리하여 이러한 페어링 데이터는 게임 컨트롤러(200)가 사용되는 곳이면 어디에서나 게임 컨트롤러(200)를 지정된 이전에 페어링된 컴퓨팅 디바이스와 신속하게 페어링하는 데 사용될 수 있다. 다시 말하면, 게임 컨트롤러(200)는 게임 컨트롤러(200)가 게이밍 시스템과 페어링할 때마다 게이밍 시스템으로부터 페어링 데이터를 재획득할 필요가 없다. 또한, 게임 컨트롤러(200)는 게임 컨트롤러(200)가 페어링 데이터베이스(322)에 마지막으로 페어링된 마지막 페어링된 게이밍 시스템(328)을 저장하도록 구성될 수 있다.
일부 구현예에서, 게임 컨트롤러(200)는 처음에 게임 컨트롤러(200)의 부트 업/활성화 시에 컴패니언 디바이스(302)와의 페어링을 시도할 수 있다. 이와 같이, 컴패니언 디바이스(302)는 게임 컨트롤러(200)가 게이밍 시스템과 페어링하는 것을 돕기 위해 이용가능할 수 있다. 일 실시예에서, 게임 컨트롤러(200)는 BLE 통신 프로토콜과 같은 제1 통신 프로토콜을 사용하여 컴패니언 디바이스(302)와 페어링하도록 구성될 수 있다.
게임 컨트롤러(200)가 컴패니언 디바이스(302)와 페어링할 수 없는 경우, 게임 컨트롤러(200)는 페어링 에러가 있다는 표시를 제시할 수 있다. 일 실시예로서, 에러 통지는 게임 컨트롤러(200)의 디스플레이(220)를 통해 시각적으로 제시될 수 있다. 다른 실시예로서, 게임 컨트롤러(200)는 페어링 에러의 표시를 제공하기 위해 게임 컨트롤러(200)의 햅틱 모터들 또는 블링크 라이트들을 진동시킬 수 있다. 페어링 에러의 이러한 표시들은, 예를 들어, 일체형 디스플레이가 없는 게임 컨트롤러의 구현에서 이용될 수 있다.
또한, 일부 구현예에서, 게임 컨트롤러(200)는 게임 컨트롤러(200)의 부트 업/활성화 시 페어링 데이터베이스(322)에 저장된 마지막 페어링된 게이밍 시스템(328)과의 페어링을 시도할 수 있다. 게임 컨트롤러(200)는 이러한 방식으로 구성될 수 있는데, 그 이유는 사용자가 이전에 페어링된 다른 게이밍 시스템에 비해 마지막 페어링된 게이밍 시스템(328)과 함께 게임 컨트롤러(200)를 사용하기를 원할 가능성이 높기 때문이다. 게임 컨트롤러(200)는 페어링 데이터베이스(322)에 저장된 게이밍 시스템 페어링 데이터(326)에 의해 지정된 통신 프로토콜을 사용하여 마지막 페어링된 게이밍 시스템(328)과의 페어링을 시도할 수 있다.
일부 실시예에서, 게임 컨트롤러(200)를 마지막 페어링된 게이밍 시스템(328)과 페어링하기 위해 사용되는 통신 프로토콜은 컴패니언 디바이스(302)와 페어링하기 위해 게임 컨트롤러(200)에 의해 사용되는 제1 통신 프로토콜과는 상이한 제2 통신 프로토콜일 수 있다. 게임 컨트롤러(200)는 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 있는지 여부를 결정하도록 구성될 수 있다. 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 있는 경우, 게임 컨트롤러(200)는 통신 인터페이스(316)를 통해 제2 통신 프로토콜을 사용하여 마지막 페어링된 게이밍 시스템(328)에 사용자 입력 제어 데이터를 전송하도록 구성될 수 있다. 사용자 입력 제어 데이터는 게임 컨트롤러(200)의 제어부(202)의 활성화에 응답하여 생성될 수 있다. 사용자 입력 제어 데이터는 마지막 페어링된 게이밍 시스템(328)에 의해 실행되는 비디오 게임을 제어하기 위해 사용될 수 있다.
한편, 게임 컨트롤러(200)는 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 없을 수 있다. 게임 컨트롤러(200)는 임의의 다양한 이유들로 인해 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 없을 수 있다. 일 실시예로서, 마지막 페어링된 게이밍 시스템(328)은 턴오프될 수 있다. 다른 실시예로서, 마지막 페어링된 게이밍 시스템(328)은 게임 컨트롤러(200)의 통신 범위를 벗어날 수 있다. 또 다른 실시예로서, 페어링 데이터베이스(322)에 저장된 마지막 페어링된 게이밍 시스템(328)에 대한 페어링 데이터는 마지막 페어링된 게이밍 시스템(328)에 대한 현재 페어링 데이터에 비해 오래된 것일 수 있다.
게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 있는 경우, 게임 컨트롤러(200)는 통신 인터페이스(316)를 통해 제2 통신 프로토콜을 사용하여 마지막 페어링된 게이밍 시스템(328)에 사용자 입력 제어 데이터를 전송하도록 구성될 수 있다. 에러 통지는 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 없음을 나타낼 수 있다.
도 4는 스마트폰(400)으로서 구현되는 예시적인 컴패니언 디바이스를 도시한다. 스마트폰(400)은 도 3의 컴패니언 디바이스(302)에 대응할 수 있다. 스마트폰(400)은 게임 컨트롤러(200)와 페어링될 수 있다. 스마트폰(400)은 게임 컨트롤러(200)로부터 에러 통지를 수신한 것에 기초하여 에러 메시지(402)를 시각적으로 제시한다. 에러 통지는 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 없음을 나타낼 수 있다.
일부 구현예에서, 스마트폰(400)은 페어링 에러의 대안적인 또는 추가적인 표시를 제공하도록 구성될 수 있다. 일 실시예에서, 스마트폰(400)은 페어링 에러 및/또는 에러 메시지(402)를 사용자에게 알리기 위해 스마트폰(400)의 햅틱 모터를 진동시키도록 구성될 수 있다.
또한, 스마트폰(400)은 게임 컨트롤러(200)와 페어링될 수 있는 게이밍 시스템들을 식별하도록 구성될 수 있다. 예를 들어, 스마트폰(400)은 페어링에 이용가능한 상이한 게이밍 시스템들로부터 페어링 요청 및/또는 페어링 데이터를 수신할 수 있다. 스마트폰(400)은 수신된 페어링 요청 및/또는 페어링 정보에 기초하여 게임 컨트롤러(200)와 페어링하기 위해 이용가능한 추천된 게이밍 시스템들의 리스트(404)를 시각적으로 제시하도록 구성될 수 있다. 예시된 실시예에서, 리스트(404)는 로컬 게이밍 시스템 및 원격 클라우드 기반 게이밍 시스템을 포함한다. 스마트폰(400)은 리스트(404)로부터 게이밍 시스템의 선택을 표시하는 사용자 입력을 수신할 수 있다. 스마트폰(400)은 제1 통신 프로토콜을 사용하여 선택된 추천 게이밍 시스템에 대한 페어링 정보를 게임 컨트롤러(200)에 전송할 수 있다. 스마트폰(400)으로부터 추천된 게이밍 시스템 페어링 데이터를 수신한 것에 응답하여, 게임 컨트롤러(200)는 추천된 게이밍 시스템 페어링 데이터를 사용하여 추천된 게이밍 시스템에 페어링 요청을 전송할 수 있다. 이러한 방식으로, 스마트폰(400)은 게임 컨트롤러(200)가 단독으로 페어링할 수 없는 게이밍 시스템과 페어링함에 있어서 게임 컨트롤러(200)를 보조할 수 있다.
또한, 추천 게이밍 시스템과의 성공적인 페어링에 응답하여, 게임 컨트롤러(200)는 추천 게이밍 시스템 페어링 데이터를 페어링 데이터베이스(322)에 저장하도록 구성될 수 있다. 또한, 게임 컨트롤러(200)는 페어링 데이터베이스(322) 내의 추천된 게이밍 시스템에 대응하도록 마지막 페어링된 게이밍 시스템(328)을 업데이트하도록 구성될 수 있다. 게임 컨트롤러(200)가 원격 클라우드 기반 게이밍 시스템(312)과 페어링하려고 시도하는 일부 구현예에서, 마지막 페어링된 게이밍 시스템은 원격 클라우드 기반 게이밍 시스템(312)과 페어링하는 데 사용되는 무선 액세스 포인트일 수 있다. 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템으로서 저장된 무선 액세스 포인트와 페어링할 수 없는 경우, 스마트폰(400)은 게임 컨트롤러(200)를 원격 클라우드 기반 게이밍 시스템(312)과 페어링하기 위해 상이한 무선 액세스 포인트를 사용하는 것을 추천할 수 있다.
도 3으로 돌아가서, 일부 구현예에서, 컴패니언 디바이스(302)는 컴패니언 디바이스(302)의 위치를 결정하도록 구성된 GPS(global positioning system) 디바이스(330)를 포함할 수 있다. 일부 실시예에서, 컴패니언 디바이스(302)의 위치는, 컴패니언 디바이스가 연결되는 WIFI 네트워크에 기초하는 것과 같은, 다른 접근법을 사용하여 결정될 수 있다. 컴패니언 디바이스(302)는 게이밍 시스템이 게임 컨트롤러(200)와 페어링할 것을 추천하기 위해 결정된 위치를 사용하도록 구성될 수 있다. 일부 실시예에서, 게이밍 시스템들은 GPS 디바이스들을 갖거나 또는 다른 방식으로 위치 정보를 결정하는 것에 기초하여 대응하는 위치들과 연관될 수 있다. 컴패니언 디바이스(302)는 컴패니언 디바이스(302)의 위치에 어느 게이밍 시스템(또는 원격 클라우드 기반 게이밍 시스템의 경우 연관된 WAP)이 가장 근접한지를 결정하도록 구성될 수 있다. 일부 실시예에서, 컴패니언 디바이스(302)는 컴패니언 디바이스(302)의 임계 거리[예컨대, 게임 컨트롤러(200)의 통신 범위] 내에 있는 게이밍 시스템을 추천할 수 있다. 일부 실시예에서, 컴패니언 디바이스(302)의 위치로부터 더 멀리 있는 다른 게이밍 시스템에 비해 컴패니언 디바이스(302)의 위치에 더 가까운 게임 시스템이 추천될 수 있다. 컴패니언 디바이스(302)는 게임 컨트롤러(200)와 페어링하기 위한 게이밍 시스템들을 추천하기 위해 임의의 적절한 방식으로 위치 정보를 사용할 수 있다. 일 실시예에서, 컴패니언 디바이스(302)(예컨대, 스마트 폰)는 위치의 변경을 인식하고, 위치의 변화에 기초하여 게임 컨트롤러를 원격 클라우드 기반 게이밍 시스템(312)과 연결하기 위해 게임 컨트롤러와 페어링할 상이한 로컬 콘솔 또는 상이한 WAP를 추천할 수 있다. 이러한 특징은 사용자가 상이한 위치의 플랫폼들과 디바이스들 사이에서 게임 컨트롤러(200)를 이동시킬 수 있게 하고, 게임 컨트롤러(200)는 컴패니언 디바이스(302)의 도움으로 이러한 디바이스들과 자동으로 페어링할 수 있다. 일부 구현예에서, 컴패니언 디바이스(302)는 로컬 게이밍 시스템(304)과 페어링하도록 구성될 수 있다. 또한, 컴패니언 디바이스(302)는 GPS 디바이스(330)로부터의 신호들에 기초하여 생성된 위치 데이터를 로컬 게이밍 시스템(304)에 전송하도록 구성될 수 있다. 로컬 게이밍 시스템(304)은 수신된 위치 데이터를 저장하도록 구성될 수 있다. 로컬 게이밍 시스템(304)은 위치 데이터를 사용하여 위치 근처에 있고 로컬 게이밍 시스템(304)과 페어링하여 지리적 위치에 기초한 자동 페어링을 용이하게 하는 다양한 컴패니언 디바이스 및/또는 게임 컨트롤러를 식별하도록 구성될 수 있다.
일부 구현예에서, 게임 컨트롤러(200)는 선택적으로, 마지막 페어링된 게이밍 시스템과 페어링하려고 시도하는 대신, 컴패니언 디바이스(302)에 의해 제공된 위치에 가장 가까운 게이밍 시스템과 페어링하려고 자동적으로 시도할 수 있다. 다시 말하면, 선택적으로 페어링을 위한 위치 데이터의 이용가능성은 페어링 프로세스의 계층구조에서 마지막 페어링된 게이밍 시스템을 오버라이드(override)할 수 있다.
일부 구현예에서, 게임 컨트롤러(200)가 클라우드 게이밍을 사용하는 원격 클라우드 기반 게이밍 시스템(312)와 페어링될 때, 컴패니언 디바이스(302)의 위치가 원격 클라우드 기반 컴퓨팅 시스템(312)에 전송될 수 있고, 원격 클라우드 기반 컴퓨팅 시스템(312)은 스트리밍 디바이스 상의 제시를 위한 비디오 게임의 렌더링된 오디오/비디오를 전송하도록 게임 컨트롤러(200)의 위치에 근접한 스트리밍 디바이스를 식별하기 위한 위치를 사용할 수 있다.
일부 구현예에서, 컴패니언 디바이스(302)는 GPS 디바이스(330)로부터의 신호들에 기초하여 생성된 위치 데이터를 게임 컨트롤러(200)에 전송하도록 구성될 수 있다. 게임 컨트롤러(200)는 수신된 위치 데이터(332)를 페어링 데이터베이스(322)에 저장하도록 구성될 수 있다. 게임 컨트롤러(200)는 위치 데이터(332)를 사용하여 게임 컨트롤러(200)와 페어링하기 위해 이용가능한 게이밍 시스템들을 식별하고 그리고/또는 우선순위화하도록 구성될 수 있다. 위치 데이터(332)를 게임 컨트롤러(200)에 온보드로 저장함으로써, 컴패니언 디바이스(302)가 게임 컨트롤러(200)와 페어링되지 않을 때에도 위치 데이터(332)는 이용가능할 수 있다.
위치 데이터가 저장, 액세스, 및/또는 프로세싱될 때마다, 위치 데이터는 프라이버시 및/또는 보안 표준에 따라 처리될 수 있다. 위치 데이터가 수집될 때마다, 데이터를 소유한 사용자는 통지되어야 하고, 위치 데이터는 사용자 프라이버시를 최우선으로 고려하여 수집되어야 한다(예컨대, 데이터를 소유한 사용자가 긍정적 동의를 제공할 때에만 사용자 데이터가 수집될 수 있고 그리고/또는 데이터를 소유한 사용자는 사용자 데이터가 수집될 때마다 통지될 수 있다). 사용자는 언제든지 위치 데이터 수집을 옵트인(opt-in) 및/또는 옵트아웃(opt-out)할 수 있다.
일부 구현예에서, 게임 컨트롤러(200)는 디스플레이(220)를 통해 페어링 상태 정보를 시각적으로 제시하도록 구성될 수 있다. 도 5a 내지 도 5b는 게임 컨트롤러의 디스플레이를 통해 시각적으로 제시될 수 있는 예시적인 페어링 상태 통지들을 도시한다. 도 5a에서, 게임 컨트롤러(200)는 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것에 응답하여 디스플레이(220)를 통해 페어링 에러 메시지(500)를 시각적으로 제시하도록 구성될 수 있다. 도 5b에서, 게임 컨트롤러(200)는 로컬 게이밍 시스템(304)과 페어링하는 게임 컨트롤러(200)에 응답하여 페어링 통지 또는 성공적인 페어링 메시지(502)를 시각적으로 제시하도록 구성될 수 있다. 일부 실시예에서, 성공적인 페어링 메시지는 게임 컨트롤러가 컴패니언 디바이스(302)에 의해 추천된 게이밍 시스템과 페어링하는 것에 기초하여 시각적으로 제시될 수 있다.
게임 컨트롤러(200)는 게임 컨트롤러(200)의 페어링 상태를 표시하기 위해 임의의 적합한 페어링 상태 정보를 시각적으로 제시하도록 구성될 수 있다. 일부 구현예에서, 게임 컨트롤러(200)는 디스플레이(220)를 통해 페어링 상태 정보를 시각적으로 제시하도록 구성될 수 있다. 예를 들어, 게임 컨트롤러(200)는 페어링 버튼(204G)과 같은, 게임 컨트롤러(200)의 지정된 제어부의 활성화에 응답하여 페어링 상태 정보를 시각적으로 제시하도록 구성될 수 있다.
일부 구현예에서, 게임 컨트롤러(200)는 게임 컨트롤러(200)가 페어링될 수 있는 이용가능한 게이밍 시스템들의 리스트(예컨대, 도 4에 도시된 스마트폰(400)에 의해 시각적으로 제시된 리스트(404)와 유사함)를 시각적으로 제시하도록 구성될 수 있다. 게임 컨트롤러(200)는 리스트로부터 게이밍 시스템의 선택을 표시하는 사용자 입력을 수신하고, 선택된 게이밍 시스템에 대응하는 게이밍 시스템 페어링 데이터에 기초하여 통신 프로토콜을 사용하여 선택된 게이밍 시스템에 페어링 요청을 전송하도록 구성될 수 있다. 일부 구현예에서, 원격 클라우드 기반 게이밍 시스템이 선택될 때, 게임 컨트롤러(200)는 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 원격 클라우드 기반 게이밍 시스템이 전송할 수 있는 스트리밍 디바이스들의 리스트를 시각적으로 제시하도록 구성될 수 있다. 게임 컨트롤러(200)는 리스트로부터 스트리밍 디바이스의 선택을 표시하는 사용자 입력을 수신하고, 렌더링된 오디오/비디오 데이터를 선택된 스트리밍 디바이스에 전송하라는 통지를 원격 클라우드 기반 게이밍 시스템에 전송하도록 구성될 수 있다.
일부 구현예에서, 게임 컨트롤러(200)는 게임 컨트롤러(200)가 상이한 게이밍 시스템들(또는 다른 컴퓨팅 디바이스들)과 신속하게 페어링할 수 있게 하는 페어링 “쇼트 커트(short cut)”를 제공하도록 구성될 수 있다. 특히, 게임 컨트롤러(200)는 상이한 페어링 기능을 복수의 제어부(202) 중 상이한 제어부에 매핑하도록 구성될 수 있다. 게임 컨트롤러(200)는 수신된 위치 데이터(334)를 페어링 데이터베이스(320)에 저장하도록 구성될 수 있다. 제어 매핑 데이터(334)는 복수의 제어부들(202) 중 하나 이상의 제어부들의 복수의 상이한 세트들 중 어느 것이 페어링 데이터베이스(322)에 저장된 상이한 이전에 페어링된 게이밍 시스템에 매핑되는지를 나타낼 수 있다. 제어 매핑 데이터(334)는 특정 제어부 세트(들)가 활성화될 때, 게임 컨트롤러(200)가 게이밍 시스템과 게임 컨트롤러를 페어링하기 위해 특정 제어부 세트에 매핑되는 페어링 요청을 게이밍 시스템에 전송하도록 지정한다(specify). 도 6a 및 도 6b는 상이한 페어링 기능에 대한 게임 컨트롤러의 제어부들의 세트들의 예시적인 매핑들을 도시한다. 도 6a에서, 사용자가 방향 패드(212)의 좌측 방향(600)을 또한 누르면서 페어링 버튼(204G)을 누를 때, 게임 컨트롤러(200)는 게이밍 시스템 페어링 데이터(326)에 의해 지정된 통신 프로토콜을 사용하여 로컬 게이밍 시스템(304)에 페어링 요청을 전송한다. 본 실시예에서, 페어링 버튼(204G) 및 방향 패드(212)의 좌측 방향(600)은 로컬 게이밍 시스템(304)에 대한 페어링 기능에 매핑되는 제1 제어부 세트에 대응한다. 게임 컨트롤러(200)는 게임 컨트롤러가 디스플레이(220)를 통해 로컬 게이밍 시스템과 성공적으로 페어링되었음을 나타내는 페어링 통지(602)를 시각적으로 제시하도록 구성될 수 있다.
도 6a에서, 사용자가 방향 패드(212)의 좌측 방향(604)을 또한 누르면서 페어링 버튼(204G)을 누를 때, 게임 컨트롤러(200)는 게이밍 시스템 페어링 데이터(326)에 의해 지정된 통신 프로토콜을 사용하여 로컬 게이밍 시스템(310)에 페어링 요청을 전송한다. 본 실시예에서, 페어링 버튼(204G) 및 방향 패드(212)의 아래 방향(604)은 원격 클라우드 기반 게이밍 시스템(312)에 대한 페어링 기능에 매핑되는 제2 제어부 세트에 대응한다. 게임 컨트롤러(200)는 게임 컨트롤러가 디스플레이(220)를 통해 로컬 게이밍 시스템과 성공적으로 페어링되었음을 나타내는 페어링 통지(606)를 시각적으로 제시하도록 구성될 수 있다.
일부 구현예에서, 제2 제어부 세트가 원격 클라우드 기반 게이밍 시스템(312)과 게이밍 컨트롤러(200)를 페어링하기 위해 활성화될 때, 게임 컨트롤러(200)는 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행된 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 원격 클라우드 기반 게이밍 시스템(312)이 전송할 수 있는 스트리밍 디바이스의 리스트를 시각적으로 제시하도록 구성될 수 있다. 게임 컨트롤러(200)는 리스트로부터 스트리밍 디바이스의 선택을 표시하는 사용자 입력을 수신하고, 렌더링된 오디오/비디오 데이터를 선택된 스트리밍 디바이스에 전송하라는 통지를 원격 클라우드 기반 게이밍 시스템에 전송하도록 구성될 수 있다.
일부 구현예에서, WAP(310)에 대한 페어링 데이터는 페어링 데이터베이스(322)에 저장될 수 있고, 제2 제어부 세트는 원격 클라우드 기반 게이밍 시스템(312) 대신에 WAP(310)에 대한 페어링 기능에 매핑될 수 있다.
다른 실시예에서, 제3 제어부 세트는 마지막 페어링된 게이밍 시스템(328)에 매핑될 수 있다. 또 다른 실시예에서, 제4 제어부 세트는 BLE 통신 프로토콜 또는 마지막 WIFI 기반 통신 프로토콜을 통해 페어링된 마지막 디바이스에 매핑될 수 있다. 또 다른 실시예에서, 제5 제어부 세트는 마지막 페어링된 WAP에 매핑될 수 있다. 일부 구현예에서, 원격 클라우드 기반 게이밍 시스템이 선택될 때, 게임 컨트롤러(200)는 원격 클라우드 기반 게이밍 시스템(312)에 의해 실행되는 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 원격 클라우드 기반 게이밍 시스템이 전송할 수 있는 스트리밍 디바이스들의 리스트를 시각적으로 제시하도록 구성될 수 있다. 게임 컨트롤러(200)는 리스트로부터 스트리밍 디바이스의 선택을 표시하는 사용자 입력을 수신하고, 렌더링된 오디오/비디오 데이터를 선택된 스트리밍 디바이스에 전송하라는 통지를 원격 클라우드 기반 게이밍 시스템에 전송하도록 구성될 수 있다.
게임 컨트롤러(200)는 임의의 적합한 제어부 또는 제어부 세트를 임의의 적합한 게이밍 시스템 또는 다른 컴퓨팅 디바이스(예컨대, 컴패니언 디바이스(302))에 대한 임의의 적합한 페어링 기능에 매핑하도록 구성될 수 있다. 일부 구현예에서, 제어 매핑 데이터(334)는 컴패니언 디바이스(302)를 통해 업데이트될 수 있고, 컴패니언 디바이스(302)는 업데이트된 제어 매핑 데이터를 게임 컨트롤러(200)에 전송할 수 있다. 또한, 게임 컨트롤러(200)는 업데이트된 제어 매핑 데이터를 스토리지 서브시스템(320)에 저장할 수 있다.
도 7 내지 도 10은 상이한 게이밍 시스템과 페어링하기 위해 게임 컨트롤러를 동작시키기 위한 예시적인 방법을 도시한다. 예를 들어, 방법(700)은 도 2a, 도 2b, 도 3, 도 5a, 도 5b, 도 6a, 및 도 6b에 도시된 게임 컨트롤러(200), 또는 일반적으로 본 명세서에서 설명된 이러한 기능을 입증할 수 있는 임의의 적합한 게임 컨트롤러에 의해 수행될 수 있다. 본 실시예에서, 상이한 게이밍 시스템은 로컬 게이밍 시스템 및 원격 클라우드 기반 게이밍 시스템으로 제한되지만, 방법(700)은 게임 컨트롤러를 임의의 적합한 수의 게이밍 시스템에 페어링하는 데 광범위하게 적용가능하다. 또한, 본 실시예에서 통신 프로토콜의 수는 2개로 제한된다. 방법(700)은 임의의 적합한 수의 상이한 통신 프로토콜을 사용하여 게임 컨트롤러를 상이한 컴퓨팅 디바이스와 페어링하는 데 광범위하게 적용가능하다.
도 7에 있어서, 702에서, 방법(700)은 제1 통신 프로토콜을 사용하여 게임 컨트롤러를 컴패니언 디바이스와 페어링하기 위한 컴패니언 디바이스 페어링 데이터를 게임 컨트롤러의 스토리지 서브시스템에 저장하는 단계를 포함한다. 예를 들어, 제1 통신 프로토콜은 BLE 통신 프로토콜을 포함할 수 있다.
704에서, 방법(700)은, 게임 컨트롤러가 이전에 페어링된 하나 이상의 이전에 페어링된 게이밍 시스템과 게임 컨트롤러를 페어링하기 위한 게이밍 시스템 페어링 데이터를 스토리지 서브시스템에 저장하는 단계를 포함한다.
706에서, 방법(700)은, 게임 컨트롤러가 마지막으로 페어링된 하나 이상의 이전에 페어링된 게이밍 시스템 중 마지막 페어링된 게이밍 시스템을 스토리지 서브시스템에 저장하는 단계를 포함한다. 일부 구현예에서, 708에서, 방법(700)은, 게임 컨트롤러와 게이밍 시스템 사이의 유선 연결이 검출되는지 여부를 결정하는 단계를 선택적으로 포함할 수 있다. 유선 연결이 검출되면, 게임 컨트롤러는 유전 연결을 통해 게이밍 시스템과 통신할 수 있고, 방법(700)은 종료된다. 그렇지 않으면, 방법(700)은 710으로 이동한다.
710에서, 방법(700)은, 게임 컨트롤러의 통신 인터페이스를 통해, 컴패니언 디바이스 페어링 데이터에 기초한 제1 통신 프로토콜을 사용하여 컴패니언 디바이스에 페어링 요청을 전송하는 단계를 포함한다.
712에서, 방법(700)은 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는지 여부를 결정하는 단계를 포함한다. 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는 경우, 방법(700)은 716으로 이동한다. 그렇지 않으면, 방법(700)은 714으로 이동한다.
714에서, 방법(700)은 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 없는 것에 기초하여 페어링 에러 표시를 제시하는 단계를 포함한다. 게임 컨트롤러가 디스플레이를 포함하는 구현예에서, 페어링 에러 표시는 디스플레이를 통해 에러 메시지를 시각적으로 제시하는 것을 포함할 수 있다. 일부 실시예에서, 페어링 에러 표시는 햅틱 모터를 진동시키는 것, 라이트들을 깜박이는 것, 및/또는 게임 컨트롤러의 스피커로부터 청각적인 “비프음”을 출력하는 것을 포함할 수 있다. 게임 컨트롤러는 게임 컨트롤러와 컴패니언 디바이스 사이의 페어링 에러를 나타내는 임의의 적합한 타입의 피드백을 제시하도록 구성될 수 있다. 게임 컨트롤러가 페어링 에러 표시를 제시하면, 방법(700)은 도 8에서의 718로 이동한다.
716에서, 방법(700)은 제1 통신 프로토콜을 사용하여 게임 컨트롤러를 컴패니언 디바이스와 페어링하는 단계를 포함한다. 게임 컨트롤러가 페어링 에러 표시를 제시하면, 방법(700)은 도 8에서의 718로 이동한다.
도 8에서, 718에서, 방법(700)은 마지막 페어링된 게이밍 시스템이 로컬 게이밍 시스템인지 여부를 결정하는 단계를 포함한다. 예를 들어, 로컬 게이밍 시스템은 게임 컨트롤러와 동일한 물리적 공간에 있는 게임 콘솔 또는 데스크탑 컴퓨터를 포함할 수 있다. 마지막 페어링된 게이밍 시스템이 로컬 게이밍 시스템인 경우, 방법은 720으로 이동한다. 그렇지 않은 경우, 방법(700)은 도 9에서의 734로 이동한다.
720에서, 방법(700)은, 통신 인터페이스를 통해, 로컬 게이밍 시스템에 대한 게이밍 시스템 페어링 데이터에 기초한 제2 통신 프로토콜을 사용하여 로컬 게이밍 시스템에 페어링 요청을 전송하는 단계를 포함한다. 일부 실시예에서, 제2 통신 프로토콜은 제1 통신 프로토콜과는 상이할 수 있다. 예를 들어, 제2 통신 프로토콜은 WIFI 기반 통신 프로토콜을 포함할 수 있다.
722에서, 방법(700)은 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는지 여부를 결정하는 단계를 포함한다. 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는 경우, 방법(700)은 724으로 이동한다. 그렇지 않으면, 방법(700)은 730으로 이동한다.
724에서, 방법(700)은 제1 통신 프로토콜을 사용하여 게임 컨트롤러를 컴패니언 디바이스와 페어링하는 단계를 포함한다.
일부 구현예에서, 726에서, 방법(700)은 선택적으로, 게임 컨트롤러의 디스플레이를 통해, 게임 컨트롤러가 로컬 게이밍 시스템과 성공적으로 페어링되었음을 나타내는 성공적인 페어링 메시지를 시각적으로 제시하는 단계를 포함할 수 있다. 일부 구현예에서, 컴패니언 디바이스는 선택적으로 성공적인 페어링 메시지를 시각적으로 제시할 수 있다. 예를 들어, 컴패니언 디바이스는 게임 컨트롤러가 디스플레이를 포함하지 않는 구현예에서 성공적인 페어링 메시지를 시각적으로 제시할 수 있다. 일부 구현예에서, 로컬 게이밍 시스템과 연결된 디스플레이는 성공적인 페어링 메시지를 시각적으로 제시할 수 있다.
728에서, 게임 컨트롤러의 제어부의 활성화에 응답하여, 게임 컨트롤러가 로컬 게이밍 시스템과 페어링되는 동안, 방법(700)은 통신 인터페이스를 통해, 제2 통신 프로토콜을 사용하여 제어부에 대응하는 사용자 입력 제어 데이터를 로컬 게이밍 시스템에 전송하는 단계를 포함한다. 로컬 게이밍 시스템은 사용자 입력 제어 데이터에 기초하여 비디오 게임의 실행을 제어할 수 있고, 방법(700)은 종료될 수 있다.
730에서, 방법(700)은 게임 컨트롤러가 로컬 게이밍 시스템과 페어링할 수 없는 것에 기초하여, 통신 인터페이스를 통해, 제1 통신 프로토콜을 사용하여 컴패니언 디바이스에 에러 통지를 전송하는 단계를 포함한다. 에러 통지는 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 없음을 나타낼 수 있다. 컴패니언 디바이스는, 에러 통지를 수신한 것에 기초하여, 게임 컨트롤러가 로컬 게이밍 시스템과 페어링할 수 없다는 것을 표시하는 에러 메시지를 제시하도록 구성될 수 있다.
732에서, 방법(700)은 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 없는 것에 기초하여 페어링 에러 표시를 제시하는 단계를 포함한다. 게임 컨트롤러가 디스플레이를 포함하는 구현예에서, 페어링 에러 표시는 디스플레이를 통해 에러 메시지를 시각적으로 제시하는 것을 포함할 수 있다. 일부 실시예에서, 페어링 에러 표시는 햅틱 모터를 진동시키는 것, 라이트들을 깜박이는 것, 및/또는 게임 컨트롤러의 스피커로부터 청각적인 “비프음”을 출력하는 것을 포함할 수 있다. 게임 컨트롤러는 게임 컨트롤러와 컴패니언 디바이스 사이의 페어링 에러를 나타내는 임의의 적합한 타입의 피드백을 제시하도록 구성될 수 있다. 게임 컨트롤러가 페어링 에러 표시를 제시하면, 방법(700)은 도 9에서의 734로 이동한다.
도 9에서, 734에서, 방법(700)은 마지막 페어링된 게이밍 시스템이 원격 클라우드 기반 게이밍 시스템인지 여부를 결정하는 단계를 포함한다. 예를 들어, 원격 클라우드 기반 게이밍 시스템은 게임 컨트롤러의 스토리지 서브시스템에 저장된 페어링 데이터를 갖는 WAP와 통신할 수 있다. 마지막 페어링된 게이밍 시스템이 원격 클라우드 기반 게이밍 시스템인 경우, 방법은 736으로 이동한다. 그렇지 않으면, 로컬 게이밍 시스템 또는 원격 클라우드 기반 게이밍 시스템 둘 다 마지막 페어링 게이밍 시스템에 대응하지 않으며, 방법은 도 10에서의 750으로 이동한다.
736에서, 방법(700)은, 통신 인터페이스를 통해, 로컬 게이밍 시스템에 대한 게이밍 시스템 페어링 데이터에 기초한 제3 통신 프로토콜을 사용하여 원격 클라우드 기반 게이밍 시스템에 페어링 요청을 전송하는 단계를 포함한다. 제3 통신 프로토콜은 제1 및 제2 통신 프로토콜들과는 상이할 수 있다.
738에서, 방법(700)은 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는지 여부를 결정하는 단계를 포함한다. 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는 경우, 방법(700)은 740으로 이동한다. 그렇지 않으면, 방법(700)은 746으로 이동한다.
740에서, 방법(700)은 제3 통신 프로토콜을 사용하여 WAP를 통해 게임 컨트롤러를 원격 클라우드 기반 게이밍 시스템과 페어링하는 단계를 포함한다.
일부 구현예에서, 742에서, 방법(700)은 선택적으로, 게임 컨트롤러의 디스플레이를 통해, 게임 컨트롤러가 로컬 게이밍 시스템과 성공적으로 페어링되었음을 나타내는 성공적인 페어링 메시지를 시각적으로 제시하는 단계를 포함할 수 있다. 일부 구현예에서, 컴패니언 디바이스는 선택적으로 성공적인 페어링 메시지를 시각적으로 제시할 수 있다. 예를 들어, 컴패니언 디바이스는 게임 컨트롤러가 디스플레이를 포함하지 않는 구현예에서 성공적인 페어링 메시지를 시각적으로 제시할 수 있다. 일부 구현예에서, 원격 클라우드 기반 게이밍 시스템이 렌더링된 오디오/비디오 데이터를 전송하도록 디렉팅되는 스트리밍 디바이스의 디스플레이는 성공적인 페어링 메시지를 시각적으로 제시할 수 있다.
744에서, 게임 컨트롤러의 제어부의 활성화에 응답하여, 게임 컨트롤러가 로컬 게이밍 시스템과 페어링되는 동안, 방법(700)은 통신 인터페이스를 통해, 제2 통신 프로토콜을 사용하여 제어부에 대응하는 사용자 입력 제어 데이터를 로컬 게이밍 시스템에 전송하는 단계를 포함한다. 원격 클라우드 기반 게이밍 시스템은 사용자 입력 제어 데이터에 기초하여 비디오 게임의 실행을 제어할 수 있다. 원격 클라우드 기반 게이밍 시스템은, 비디오 게임 데이터를 렌더링할 수 있고 제3 통신 프로토콜을 사용하여 WAP를 통해 렌더링된 비디오 게임 데이터를 스트리밍 디바이스에 전송할 수 있다. 스트리밍 디바이스는 렌더링된 비디오 게임 데이터에 기초하여 비디오 게임을 제시할 수 있고, 방법(700)은 종료될 수 있다.
746에서, 방법(700)은 게임 컨트롤러가 로컬 게이밍 시스템과 페어링할 수 없는 것에 기초하여, 통신 인터페이스를 통해, 제1 통신 프로토콜을 사용하여 컴패니언 디바이스에 에러 통지를 전송하는 단계를 포함한다. 에러 통지는 게임 컨트롤러(200)가 마지막 페어링된 게이밍 시스템(328)과 페어링할 수 없음을 나타낼 수 있다. 컴패니언 디바이스는, 에러 통지를 수신한 것에 기초하여, 게임 컨트롤러가 로컬 게이밍 시스템과 페어링할 수 없다는 것을 표시하는 에러 메시지를 제시하도록 구성될 수 있다.
748에서, 방법(700)은 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 없는 것에 기초하여 페어링 에러 표시를 제시하는 단계를 포함한다. 게임 컨트롤러가 디스플레이를 포함하는 구현예에서, 페어링 에러 표시는 디스플레이를 통해 에러 메시지를 시각적으로 제시하는 것을 포함할 수 있다. 일부 실시예에서, 페어링 에러 표시는 햅틱 모터를 진동시키는 것, 라이트들을 깜박이는 것, 및/또는 게임 컨트롤러의 스피커로부터 청각적인 “비프음”을 출력하는 것을 포함할 수 있다. 게임 컨트롤러는 게임 컨트롤러와 컴패니언 디바이스 사이의 페어링 에러를 나타내는 임의의 적합한 타입의 피드백을 제시하도록 구성될 수 있다. 게임 컨트롤러가 페어링 에러 표시를 제시하면, 방법(700)은 도 10에서의 750로 이동한다.
도 10에서, 750에서, 방법(700)은, 통신 인터페이스를 통해, 제1 통신 프로토콜을 사용하여 컴패니언 디바이스로부터 추천 게이밍 시스템 페어링 데이터를 수신하는 단계를 포함한다. 추천 게이밍 시스템 페어링 데이터는 게임 컨트롤러와 페어링하기 위해 컴패니언 디바이스에 의해 추천되는 게이밍 시스템에 대응한다. 추천 게이밍 시스템 페어링 데이터는 게임 컨트롤러가 추천 게이밍 시스템과 페어링하기 위해 사용할 수 있는 추천 게이밍 시스템에 대응하는 통신 프로토콜을 식별할 수 있다. 컴패니언 디바이스는 임의의 적합한 방식으로 게이밍 시스템을 추천할 수 있다. 일 실시예에서, 추천된 게이밍 시스템은 컴패니언 디바이스에 대한 사용자 입력에 기초하여 선택될 수 있다. 다른 실시예에서, 추천된 게이밍 시스템은 게임 컨트롤러 및/또는 컴패니언 디바이스의 위치에 대한 추천된 게이밍 시스템의 위치에 기초하여 결정될 수 있다.
일부 구현예에서, 방법(700)은 선택적으로, 게임 컨트롤러를 마지막 페어링된 게이밍 시스템과 페어링하려고 시도(예컨대, 단계 718 내지 단계 224)하기 전에, 게임 컨트롤러를 추천된 게이밍 시스템과 페어링하는 것(예컨대, 단계 750 내지 단계 756)을 자동으로 시도하는 단계를 포함할 수 있다. 이러한 구현예들에서, 게임 컨트롤러가 추천 게이밍 시스템과 페어링할 수 없는 경우, 게임 컨트롤러는 마지막 페어링된 게임 컨트롤러와 페어링하려고 시도할 수 있다.
752에서, 방법(700)은, 통신 인터페이스를 통해, 추천 게이밍 시스템 페어링 데이터에 기초하여 대응하는 통신 프로토콜을 사용하여 추천 게이밍 시스템에 페어링 요청을 전송하는 단계를 포함한다.
754에서, 방법(700)은 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는지 여부를 결정하는 단계를 포함한다. 게임 컨트롤러가 컴패니언 디바이스와 페어링할 수 있는 경우, 방법(700)은 756으로 이동한다. 그렇지 않으면, 방법(700)은 762으로 이동한다.
756에서, 방법(700)은 제1 통신 프로토콜을 사용하여 게임 컨트롤러를 컴패니언 디바이스와 페어링하는 단계를 포함한다.
일부 구현예에서, 758에서, 방법(700)은 선택적으로, 게임 컨트롤러의 디스플레이를 통해, 게임 컨트롤러가 로컬 게이밍 시스템과 성공적으로 페어링되었음을 나타내는 성공적인 페어링 메시지를 시각적으로 제시하는 단계를 포함할 수 있다.
758에서, 방법(700)은, 스토리지 서브시스템에서, 추천된 게이밍 시스템에 대응하도록 마지막 페어링된 게이밍 시스템을 업데이트하는 단계를 포함한다. 따라서, 다음에 게임 컨트롤러가 턴온될 때, 게임 컨트롤러는 추천된 게이밍 시스템과 페어링을 시도할 수 있다. 스토리지 서브시스템에서 마지막 페어링된 게이밍 시스템을 업데이트하면, 방법(700)이 종료될 수 있다.
762에서, 방법은 선택적으로, 추천된 게이밍 시스템과 페어링할 수 없는 것에 기초하여 페어링 에러 표시를 제시하는 단계를 포함할 수 있다. 일부 구현예에서, 추가적으로 또는 대안적으로, 컴패니언 디바이스는 페어링 에러 표시를 제시할 수 있다. 게임 컨트롤러가 페어링 에러 표시를 제시하면, 방법(700)은 종료될 수 있다.
방법(700)은 컴패니언 디바이스가 직관적이고 직접적이며 쉽게 관찰할 수 있는 방식으로 상이한 게이밍 시스템들과 페어링함에 있어서 게임 컨트롤러를 보조하도록 수행될 수 있다. 컴패니언 디바이스는 게임 컨트롤러의 페어링 기능을 확장하기 위해 게임 컨트롤러로부터 부족한 컴패니언 디바이스의 추가적인 특징들 및 기능들(예컨대, 다른 것들 중 디스플레이, 더 기능적이고/더 광범위한 사용자 인터페이스, 프로그래밍가능성, 및 위치 추적 등)을 활용할 수 있다.
일부 구현예에서, 여기에 개시된 방법들과 프로세스들은 하나 이상의 컴퓨팅 디바이스의 컴퓨팅 시스템과 관련될 수 있다. 특히, 이러한 방법들 및 프로세스들은 컴퓨터-애플리케이션 프로그램 또는 서비스, 애플리케이션-프로그래밍 인터페이스(API: application-programming interface), 라이브러리(library), 및/또는 다른 컴퓨터-프로그램 제품으로서 구현될 수 있다.
도 11은 상기 방법들 및 프로세스들 중 하나 이상을 수행할 수 있는 컴퓨팅 시스템(1100)의 비제한 구현을 개략적으로 나타낸다. 컴퓨팅 시스템(1100)은 간략한 형태로 도시되어 있다. 컴퓨팅 시스템(1100)은, 도 1a에 도시된 게임 콘솔, 도 1b에 도시된 태블릿 컴퓨터(108), 도 2a, 2b, 3, 5a, 5b, 6a, 및 6b에 도시된 게임 컨트롤러(200), 도 3에 도시된 컴패니언 디바이스(302), 로컬 게이밍 시스템(304), 스트리밍 디바이스(306), 무선 액세스 포인트(310), 또는 원격 클라우드 기반 게이밍 시스템(312), 및/또는 도 4에 도시된 스마트폰(400)을 구현할 수 있다. 컴퓨팅 시스템(1100)은 하나 이상의 퍼스널 컴퓨터, 서버 컴퓨터, 태블릿 컴퓨터, 홈 엔터테인먼트 컴퓨터, 네트워크 컴퓨팅 디바이스, 게이밍 디바이스, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스(예컨대, 스마트폰), 및/또는 다른 컴퓨팅 디바이스, 및 스마트 손목시계, 백팩 호스트 컴퓨터, 및 헤드 마운트형 증강/혼합 가상 현실 디바이스 등의 웨어러블 컴퓨팅 디바이스의 형태를 취할 수 있다.
컴퓨팅 시스템(1100)은 로직 프로세서(1102), 휘발성 메모리(1104), 및 비휘발성 스토리지 디바이스(1106)를 포함한다. 컴퓨팅 디바이스(1100)는 선택적으로, 디스플레이 서브시스템(1108), 입력 서브시스템(1110), 통신 서브시스템(1112), 및/또는 도 11에 도시되지 않은 다른 콤포넌트를 포함할 수 있다.
로직 서브시스템으로도 지칭되는 로직 프로세서(1102)는 명령어를 실행하도록 구성된 하나 이상의 물리적 디바이스를 포함한다. 예컨대, 로직 프로세서는 하나 이상의 애플리케이션, 프로그램, 루틴(routine), 라이브러리, 오브젝트(object), 콤포넌트(component), 데이터 구조, 또는 다른 논리 구성(logical construct)의 부분인 하나 이상의 명령어들을 실행하도록 구성될 수 있다. 작업 수행하고, 데이터 타입을 구현하고, 하나 이상의 콤포넌트의 상태를 변환하고, 기술적 효과를 달성하거나 그렇지 않으면 원하는 결과에 도달하기 위해, 이러한 명령어들이 구현될 수 있다.
로직 프로세서(1102)는 소프트웨어 명령어를 실행하도록 구성되는 하나 이상의 물리적 프로세서(하드웨어)를 포함할 수 있다. 추가적으로 또는 대안적으로, 로직 프로세서는 하드웨어로 구현된 로직 또는 펌웨어 명령어를 실행하도록 구성된 하나 이상의 하드웨어 로직 회로 또는 펌웨어 디바이스를 포함할 수 있다. 로직 프로세서(1102)의 프로세서는 싱글-코어(single-core) 또는 멀티-코어(multi-core)가 될 수 있고, 여기서 실행되는 명령어들은 순차적 프로세싱, 병렬 프로세싱, 및/또는 분산 프로세싱을 위해 구성될 수 있다. 로직 프로세서의 개별 콤포넌트들은 선택적으로 통합된 프로세싱을 위해 원격으로 배치될 수 있는 그리고/또는 구성될 수 있는 2개 이상의 개별 디바이스들 중에 분산될 수 있다. 로직 프로세서의 양태는 원격 액세스 가능한, 클라우드-컴퓨팅 구조로 구성되는 네트워킹된 컴퓨팅 디바이스에 의해 가상화되고 실행될 수 있다. 이러한 경우, 이러한 가상화된 양태들은 다양한 상이한 머신들의 상이한 물리적 로직 프로세서들 상에서 실행되며, 이해될 것이다.
비휘발성 스토리지 디바이스(1106)는 여기에 설명된 방법 및 프로세스를 구현하기 위해 로직 프로세서에 의해 실행 가능한 명령어를 보유하도록 구성된 하나 이상의 물리적 디바이스를 포함한다. 이러한 방법 및 프로세스가 구현되면, 비휘발성 스토리지 디바이스(1106)의 상태는 예를 들어 상이한 데이터를 유지하기 위해 변환될 수 있다.
비휘발성 스토리지 디바이스(1106)는 착탈식 및/또는 내장형 물리적 디바이스를 포함할 수 있다. 비휘발성 스토리지 디바이스(1106)는 다른 것들 중에서 광학 메모리(예컨대, CD, DVD, HD-DVD, 블루레이 디스크 등), 반도체 메모리(예컨대, ROM, EPROM, EEPROM, FLASH 메모리 등), 및/또는 자기 메모리(예컨대, 하드 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, MRAM 등), 또는 다른 대용량 스토리지 디바이스 기술을 포함할 수 있다. 비휘발성 스토리지 디바이스(1106)는 비휘발성, 동적, 정적, 판독/기입, 판독전용, 순차-액세스, 로케이션-어드레서블(location-addressable), 파일-어드레서블(file-addressable), 및/또는 콘텐트-어드레서블(content-addressable) 디바이스를 포함할 수 있다. 비휘발성 스토리지 디바이스(1106)는 비휘발성 스토리지 디바이스(1106)에 전력이 차단될 때에도 명령어를 유지하도록 구성된다는 것이 이해될 것이다.
휘발성 메모리(1104)는 랜덤 액세스 메모리를 포함하는 물리적 디바이스들을 포함할 수 있다. 휘발성 메모리(1104)는 일반적으로 소프트웨어 명령어들의 프로세싱 동안 정보를 일시적으로 저장하기 위해 로직 프로세서(1102)에 의해 활용된다. 휘발성 메모리(1104)는 전형적으로 휘발성 메모리(1104)에 전력이 차단될 때 명령어들을 계속 저장하지 않는다는 것이 이해될 것이다.
로직 프로세서(1102), 휘발성 메모리(1104), 및 비휘발성 스토리지 디바이스(1106)의 양태는 하나 이상의 하드웨어 로직 콤포넌트로 함께 통합될 수 있다. 이러한 하드웨어-로직 콤포넌트는 예를 들어 FPGA(field-programmable gate array), PASIC / ASIC(program- and application-specific integrated circuit), PSSP / ASSP(program- and application-specific standard product), SOC(system-on-a-chip), 및 CPLD(complex programmable logic device)를 포함할 수 있다.
일부 구현예에서, 휘발성 메모리(1104) 및/또는 비휘발성 스토리지 디바이스(1106)의 양태들은 스토리지 서브시스템으로 지칭될 수 있다.
디스플레이 서브시스템이 포함되는 경우에, 디스플레이 서브시스템(1108)은 비휘발성 스토리지 디바이스(1106)에 의해 유지되는 데이터의 시각적 표현을 제시하는데 사용될 수 있다. 이 시각적 표현은 GUI(graphical user interface)의 형태를 취할 수 있다. 여기에 개시된 방법들 및 프로세스들이 비휘발성 스토리지 디바이스에 의해 유지되는 데이터를 변경하고 이에 따라 스토리지 디바이스의 상태를 변환하기 때문에, 아래에 놓인 데이터의 변경을 시각적으로 표시하기 위해 디스플레이 서브시스템(1108)의 상태가 마찬가지로 변환될 수 있다. 디스플레이 서브시스템(1108)은 임의의 타입의 기술을 가상으로 사용하는 하나 이상의 디스플레이 디바이스를 포함할 수 있다. 이러한 디스플레이 디바이스는 공유 인클로저에서 로직 프로세서(1102), 휘발성 메모리(1104) 및/또는 비휘발성 스토리지 디바이스(1106)와 결합될 수 있거나, 이러한 디스플레이 디바이스는 주변 디스플레이 디바이스일 수 있다.
포함되는 경우에, 입력 서브시스템(1110)은 키보드, 마우스, 터치 스크린, 또는 스피치를 위한 마이크로폰, 및/또는 음성 인식, 카메라(예컨대, 웹캠), 또는 게임 컨트롤러 등의 하나 이상의 사용자 입력 디바이스를 포함하거나 이들과 인터페이싱할 수 있다.
포함되는 경우에, 통신 서브시스템(1112)은 여기에서 설명된 다수의 컴퓨팅 디바이스를 서로 그리고 다른 디바이스와 통신 가능하게 커플링하도록 구성될 수 있다. 통신 서브시스템(1112)은 하나 이상의 상이한 통신 프로토콜과 호환가능한 유선 및/또는 무선 통신 디바이스를 포함할 수 있다. 비제한적 실시예로서, 통신 서브시스템은 무선 전화 네트워크, 또는 HDMI over WIFI 연결과 같은 유선 또는 무선 근거리 또는 광역 네트워크를 통한 통신을 위해 구성될 수 있다. 일부 구현들에서, 통신 서브시스템은 컴퓨팅 시스템(1100)이 인터넷 등의 네트워크를 통해 다른 디바이스로 및/또는 다른 디바이스로부터 메시지를 전송 및/또는 수신하게 할 수 있다.
실시예에서, 게임 컨트롤러는, 복수의 제어부; 상기 게임 컨트롤러를 제1 통신 프로토콜을 사용하여 컴패니언 디바이스(companion device)와 그리고 제2 통신 프로토콜을 사용하여 하나 이상의 게이밍 시스템과 선택적으로 페어링하도록 구성된 통신 인터페이스; 로직 서브시스템; 및 명령어를 유지하는 스토리지 서브시스템을 포함하고, 상기 명령어는, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스와 상기 게임 컨트롤러를 페어링하기 위한 컴패니언 디바이스 페어링 데이터를 상기 스토리지 서브시스템에 저장하도록; 상기 게임 컨트롤러가 상기 제2 통신 프로토콜을 사용하여 이전에 페어링된 하나 이상의 이전 페어링된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하도록; 상기 게임 컨트롤러가 마지막에 페어링된 상기 하나 이상의 이전 페어링된 게이밍 시스템 중 마지막 페어링된 게이밍 시스템을 상기 스토리지 서브시스템에 저장하도록; 상기 통신 인터페이스를 통해, 상기 컴패니언 디바이스 페어링 데이터에 기초하여 상기 제2 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 페어링 요청을 전송하도록; 상기 통신 인터페이스를 통해, 상기 게이밍 시스템 페어링 데이터에 기초하여 상기 제2 통신 프로토콜을 사용하여 상기 마지막 페어링된 게이밍 시스템에 페어링 요청을 전송하도록; 상기 복수의 제어부 중의 제어부의 활성화에 응답하여, 상기 마지막 페어링된 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 제2 통신 프로토콜을 사용하여 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 마지막 페어링된 게이밍 시스템에 전송하도록; 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것에 응답하여, 상기 게임 컨트롤러가 상기 컴패니언 디바이스와 페어링된 동안, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 에러 통지를 전송하도록 - 상기 에러 통지는 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없다는 것을 표시하고, 상기 컴패니언 디바이스는 상기 에러 통지를 수신하는 것에 기초하여 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것을 표시하는 에러 메시지를 제시하도록 구성됨 - ; 상기 로직 서브시스템에 의해 실행 가능하다. 본 실시예 및/또는 다른 실시예에서, 상기 제1 통신 프로토콜은 BLE(Bluetooth Low Energy) 통신 프로토콜을 포함할 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 제2 통신 프로토콜은 802.1 lax WLAN(wireless local area network) 통신 프로토콜을 포함할 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 명령어는, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스로부터 추천된 게이밍 시스템 페어링 데이터를 수신하도록 - 상기 추천된 게이밍 시스템 페어링 데이터는 상기 컴패니언 디바이스에 의해 지정된(specified) 추천된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것임 - ; 상기 통신 인터페이스를 통해, 상기 추천된 게이밍 시스템 페어링 데이터에 기초하여 상기 추천된 게이밍 시스템에 대응하는 통신 프로토콜을 사용하여 상기 추천된 게이밍 시스템에 페어링 요청을 전송하도록; 상기 로직 서브시스템에 의해 실행 가능할 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 명령어는, 상기 추천된 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 것에 응답하여, 상기 추천된 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하도록; 상기 추천된 게이밍 시스템에 대응하도록 상기 마지막 페어링된 게이밍 시스템을 상기 스토리지 서브시스템에서 업데이트하도록 상기 로직 서브시스템에 의해 실행 가능할 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 컴패니언 디바이스는 상기 컴패니언 디바이스의 위치를 결정하도록 구성된 GPS(global positioning system) 디바이스를 포함하고, 상기 추천된 게이밍 시스템은, 상기 컴패니언 디바이스의 위치에 상대적인 상기 추천된 게이밍 시스템에 액세스하기 위한 연관된 무선 액세스 포인트의 위치 또는 상기 추천된 게이밍 시스템의 위치에 기초하여 상기 컴패니언 디바이스에 의해 지정될 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 추천된 게이밍 시스템은 원격 클라우드 기반 게이밍 시스템이고, 상기 추천된 게이밍 시스템 페어링 데이터는, 무선 액세스 포인트를 통해 상기 원격 클라우드 기반 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것일 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 명령어는, 상기 복수의 제어부 중 제어부의 활성화에 응답하여, 상기 무선 액세스 포인트를 통해 상기 원격 클라우드 기반 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 대응하는 통신 프로토콜을 사용하여 상기 무선 액세스 포인트를 통해 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 원격 클라우드 기반 게이밍 시스템에 전송하도록, 상기 로직 서브시스템에 의해 실행 가능한 것일 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 게임 컨트롤러는 디스플레이를 더 포함할 수 있고, 상기 명령어는, 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링될 수 없는 것에 응답하여, 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링될 수 없는 것을 표시하는 페어링 에러 메시지를 시각적으로 제시하도록, 상기 로직 서브시스템에 의해 실행 가능한 것일 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 게이밍 시스템 페어링 데이터는 자격 증명, 비밀번호, 사전 공유 키(pre-shared key; PSK), 및 서비스 세트 식별자(service set identifier; SSID) 정보 중, 하나 이상을 포함할 수 있다.
다른 실시예에서, 게임 컨트롤러의 동작 방법은, 제1 통신 프로토콜을 사용하여 컴패니언 디바이스와 상기 게임 컨트롤러를 페어링하기 위한 컴패니언 디바이스 페어링 데이터를 상기 게임 컨트롤러의 스토리지 서브시스템에 저장하는 단계; 상기 게임 컨트롤러가 제2 통신 프로토콜을 사용하여 이전에 페어링된 하나 이상의 이전 페어링된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하는 단계; 상기 게임 컨트롤러가 마지막에 페어링된 상기 하나 이상의 이전 페어링된 게이밍 시스템 중 마지막 페어링된 게이밍 시스템을 상기 스토리지 서브시스템에 저장하는 단계; 상기 게임 컨트롤러의 통신 인터페이스를 통해, 상기 컴패니언 디바이스 페어링 데이터에 기초하여 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 페어링 요청을 전송하는 단계; 상기 게임 컨트롤러가 상기 컴패니언 디바이스와 페어링할 수 있는지 여부를 결정하는 단계; 상기 게임 컨트롤러가 상기 컴패니언 디바이스와 페어링할 수 있는 것에 기초하여, 상기 제1 통신 프로토콜을 사용하여 상기 게임 컨트롤러를 상기 컴패니언 디바이스와 페어링하는 단계; 상기 통신 인터페이스를 통해, 상기 게이밍 시스템 페어링 데이터에 기초하여 상기 제2 통신 프로토콜을 사용하여 상기 마지막 페어링된 게이밍 시스템에 페어링 요청을 전송하는 단계; 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 있는지 여부를 결정하는 단계; 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 있는 것에 기초하여, 상기 제2 통신 프로토콜을 사용하여 상기 게임 컨트롤러를 상기 마지막 페어링된 게이밍 시스템과 페어링하는 단계; 상기 게임 컨트롤러의 제어부의 활성화에 응답하여, 상기 마지막 페어링된 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 제2 통신 프로토콜을 사용하여 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 마지막 페어링된 게이밍 시스템에 전송하는 단계; 및 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것에 기초하여, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 에러 통지를 전송하는 단계 - 상기 에러 통지는 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없다는 것을 표시하고, 상기 컴패니언 디바이스는 상기 에러 통지를 수신하는 것에 기초하여 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것을 표시하는 에러 메시지를 제시하도록 구성됨 - ; 를 포함한다. 본 실시예 및/또는 다른 실시예에서, 상기 명령어는, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스로부터 추천된 게이밍 시스템 페어링 데이터를 수신하도록 - 상기 추천된 게이밍 시스템 페어링 데이터는 상기 컴패니언 디바이스에 의해 지정된(specified) 추천된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것임 - ; 상기 통신 인터페이스를 통해, 상기 추천된 게이밍 시스템 페어링 데이터에 기초하여 상기 추천된 게이밍 시스템에 대응하는 통신 프로토콜을 사용하여 상기 추천된 게이밍 시스템에 페어링 요청을 전송하도록; 상기 로직 서브시스템에 의해 실행 가능할 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 명령어는, 상기 추천된 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 것에 응답하여, 상기 추천된 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하도록; 상기 추천된 게이밍 시스템에 대응하도록 상기 마지막 페어링된 게이밍 시스템을 상기 스토리지 서브시스템에서 업데이트하도록 상기 로직 서브시스템에 의해 실행 가능할 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 컴패니언 디바이스는 상기 컴패니언 디바이스의 위치를 결정하도록 구성된 GPS(global positioning system) 디바이스를 포함하고, 상기 추천된 게이밍 시스템은, 상기 컴패니언 디바이스의 위치에 상대적인 상기 추천된 게이밍 시스템에 액세스하기 위한 연관된 무선 액세스 포인트의 위치 또는 상기 추천된 게이밍 시스템의 위치에 기초하여 상기 컴패니언 디바이스에 의해 지정될 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 추천된 게이밍 시스템은 원격 클라우드 기반 게이밍 시스템이고, 상기 추천된 게이밍 시스템 페어링 데이터는, 무선 액세스 포인트를 통해 상기 원격 클라우드 기반 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것일 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 명령어는, 상기 복수의 제어부 중 제어부의 활성화에 응답하여, 상기 무선 액세스 포인트를 통해 상기 원격 클라우드 기반 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 대응하는 통신 프로토콜을 사용하여 상기 무선 액세스 포인트를 통해 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 원격 클라우드 기반 게이밍 시스템에 전송하도록, 상기 로직 서브시스템에 의해 실행 가능한 것일 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 게임 컨트롤러는 디스플레이를 더 포함할 수 있고, 상기 명령어는, 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링될 수 없는 것에 응답하여, 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링될 수 없는 것을 표시하는 페어링 에러 메시지를 시각적으로 제시하도록, 상기 로직 서브시스템에 의해 실행 가능한 것일 수 있다.
또 다른 실시예에서, 게임 컨트롤러를 동작하기 위한 방법은, 상기 게임 컨트롤러의 스토리지 서브시스템에, 제1 통신 프로토콜을 사용하여 상기 게임 컨트롤러를 컴패니언 디바이스와 페어링하기 위한 컴패니언 디바이스 페어링 데이터를 저장하는 단계; 상기 스토리지 서브시스템에, 상기 게임 컨트롤러가 이전에 페어링된 하나 이상의 이전 페어링된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 게이밍 시스템 페어링 데이터를 저장하는 단계 ? 상기 하나 이상의 이전 페어링된 게이밍 시스템은 상기 게임 컨트롤러가 무선 액세스 포인트를 통해 이전에 페어링된 원격 클라우드 기반 게이밍 시스템을 포함함 - ; 상기 스토리지 서브시스템에, 상기 게임 컨트롤러가 마지막에 페어링된 상기 하나 이상의 이전 페어링된 게이밍 시스템 중 마지막 페어링된 게이밍 시스템을 저장하는 단계 - 상기 마지막 페어링된 게이밍 시스템은 상기 원격 클라우드 기반 게이밍 시스템에 대응함 - ; 상기 게임 컨트롤러의 통신 인터페이스를 통해, 상기 컴패니언 디바이스 페어링 데이터에 기초하여 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 페어링 요청을 전송하는 단계; 상기 게임 컨트롤러가 상기 컴패니언 디바이스와 페어링할 수 있는 것에 기초하여, 상기 제1 통신 프로토콜을 사용하여 상기 게임 컨트롤러를 상기 컴패니언 디바이스와 페어링하는 단계; 상기 통신 인터페이스를 통해, 상기 마지막 페어링된 게이밍 시스템에 대응하는 상기 원격 클라우드 기반 게이밍 시스템에 기초하여 제2 프로토콜을 사용하여 상기 무선 액세스 포인트를 통해 상기 원격 클라우드 기반 게이밍 시스템에 페어링 요청을 전송하는 단계; 상기 무선 액세스 포인트를 통해 상기 게임 컨트롤러가 상기 원격 클라우드 기반 게이밍 시스템에 페어링할 수 있는지 여부를 결정하는 단계; 상기 게임 컨트롤러가 상기 원격 클라우드 기반 게이밍 시스템과 페어링할 수 있는 것에 기초하여, 상기 제2 통신 프로토콜을 사용하여 상기 무선 액세스 포인트를 통해 상기 게임 컨트롤러를 상기 원격 클라우드 기반 게이밍 시스템에 페어링하는 단계; 상기 게임 컨트롤러의 제어부의 활성화에 응답하여, 상기 게임 컨트롤러가 상기 원격 클라우드 기반 게이밍 시스템과 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 제2 통신 프로토콜을 사용하여 상기 무선 액세스 포인트를 통해 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 원격 클라우드 기반 게이밍 시스템에 전송하는 단계; 및 상기 게임 컨트롤러가 상기 원격 클라우드 기반 게이밍 시스템과 페어링할 수 없는 것에 기초하여, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 에러 통지를 전송하는 단계를 포함하고, 상기 에러 통지는 상기 게임 컨트롤러가 상기 원격 클라우드 기반 게이밍 시스템과 페어링할 수 없는 것을 나타내고, 상기 컴패니언 디바이스는 상기 에러 통지를 수신하는 것에 기초하여 상기 게임 컨트롤러가 상기 원격 클라우드 기반 게이밍 시스템과 페어링될 수 없는 것을 나타내는 에러 메시지를 제시하도록 구성된다. 본 실시예 및/또는 다른 실시예에서, 상기 명령어는, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스로부터 추천된 게이밍 시스템 페어링 데이터를 수신하도록 - 상기 추천된 게이밍 시스템 페어링 데이터는 상기 컴패니언 디바이스에 의해 지정된(specified) 추천된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것임 - ; 상기 통신 인터페이스를 통해, 상기 추천된 게이밍 시스템 페어링 데이터에 기초하여 상기 추천된 게이밍 시스템에 대응하는 통신 프로토콜을 사용하여 상기 추천된 게이밍 시스템에 페어링 요청을 전송하도록; 상기 로직 서브시스템에 의해 실행 가능할 수 있다. 본 실시예 및/또는 다른 실시예에서, 상기 원격 클라우드 기반 게이밍 시스템은, 상기 게임 컨트롤러로부터 수신된 상기 사용자 입력 제어 데이터에 기초하여 상기 원격 클라우드 기반 게이밍 시스템에 의해 실행된 비디오 게임에 대한 오디오/비디오 데이터를 렌더링하도록 구성될 수 있고, 상기 원격 클라우드 기반 게이밍 시스템은, 상기 무선 액세스 포인트를 통해 상기 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 스트리밍 디바이스에 전송하도록 구성될 수 있고, 상기 스트리밍 디바이스는 상기 비디오 게임에 대한 렌더링된 오디오/비디오 데이터를 제시하도록 구성된다.
여기에 개시된 구성 및/또는 방법은 사실상 예시라는 것과 이 특정 실시형태 또는 실시예는 다수의 변형이 가능하기 때문에 한정의 의미로 간주되지 않는다는 것이 이해될 것이다. 여기에 개시된 특정 루틴 또는 방법은 임의의 수의 프로세싱 방식(processing strategy) 중 하나 이상을 대표할 수 있다. 따라서, 예시된 및/또는 개시된 다양한 동작들은 예시된 및/또는 개시된 순서로, 다른 순서로, 병렬적으로 수행되거나 생략될 수 있다. 마찬가지로, 상기 프로세스의 순서는 변경될 수 있다.
본 명세서의 대상은 임의의 그리고 모든 등가물에 더하여 다양한 프로세스, 시스템, 및 구성과 여기에 개시된 다른 피처, 기능, 동작, 및/또는 속성의 모든 새롭고 명백하지 않은 조합 및 하부조합(sub-combination)을 포함한다.

Claims (15)

  1. 게임 컨트롤러로서,
    복수의 제어부;
    상기 게임 컨트롤러를 제1 통신 프로토콜을 사용하여 컴패니언 디바이스(companion device)와 그리고 제2 통신 프로토콜을 사용하여 하나 이상의 게이밍 시스템과 선택적으로 페어링하도록 구성된 통신 인터페이스;
    로직 서브시스템; 및
    명령어를 유지하는 스토리지 서브시스템
    을 포함하고,
    상기 명령어는,
    상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스와 상기 게임 컨트롤러를 페어링하기 위한 컴패니언 디바이스 페어링 데이터를 상기 스토리지 서브시스템에 저장하도록;
    상기 게임 컨트롤러가 상기 제2 통신 프로토콜을 사용하여 이전에 페어링된 하나 이상의 이전 페어링된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하도록;
    상기 게임 컨트롤러가 마지막에 페어링된 상기 하나 이상의 이전 페어링된 게이밍 시스템 중 마지막 페어링된 게이밍 시스템을 상기 스토리지 서브시스템에 저장하도록;
    상기 통신 인터페이스를 통해, 상기 컴패니언 디바이스 페어링 데이터에 기초하여 상기 제2 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 페어링 요청을 전송하도록;
    상기 통신 인터페이스를 통해, 상기 게이밍 시스템 페어링 데이터에 기초하여 상기 제2 통신 프로토콜을 사용하여 상기 마지막 페어링된 게이밍 시스템에 페어링 요청을 전송하도록;
    상기 복수의 제어부 중의 제어부의 활성화에 응답하여, 상기 마지막 페어링된 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 제2 통신 프로토콜을 사용하여 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 마지막 페어링된 게이밍 시스템에 전송하도록;
    상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것에 응답하여, 상기 게임 컨트롤러가 상기 컴패니언 디바이스와 페어링된 동안, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 에러 통지를 전송하도록 - 상기 에러 통지는 상기 게임 컨트롤로가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없다는 것을 표시하고, 상기 컴패니언 디바이스는 상기 에러 통지를 수신하는 것에 기초하여 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것을 표시하는 에러 메시지를 제시하도록 구성됨 - ;
    상기 로직 서브시스템에 의해 실행 가능한 것인, 게임 컨트롤러.
  2. 제1항에 있어서,
    상기 제1 통신 프로토콜은 BLE(Bluetooth Low Energy) 통신 프로토콜을 포함하는 것인, 게임 컨트롤러.
  3. 제1항에 있어서,
    상기 제2 통신 프로토콜은 802.1 lax WLAN(wireless local area network) 통신 프로토콜을 포함하는 것인, 게임 컨트롤러.
  4. 제1항에 있어서,
    상기 명령어는,
    상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스로부터 추천된 게이밍 시스템 페어링 데이터를 수신하도록 - 상기 추천된 게이밍 시스템 페어링 데이터는 상기 컴패니언 디바이스에 의해 지정된(specified) 추천된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것임 - ;
    상기 통신 인터페이스를 통해, 상기 추천된 게이밍 시스템 페어링 데이터에 기초하여 상기 추천된 게이밍 시스템에 대응하는 통신 프로토콜을 사용하여 상기 추천된 게이밍 시스템에 페어링 요청을 전송하도록
    상기 로직 서브시스템에 의해 실행 가능한 것인, 게임 컨트롤러.
  5. 제4항에 있어서,
    상기 명령어는,
    상기 추천된 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 것에 응답하여, 상기 추천된 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하도록;
    상기 추천된 게이밍 시스템에 대응하도록 상기 마지막 페어링된 게이밍 시스템을 상기 스토리지 서브시스템에서 업데이트하도록
    상기 로직 서브시스템에 의해 실행 가능한 것인, 게임 컨트롤러.
  6. 제4항에 있어서,
    상기 컴패니언 디바이스는 상기 컴패니언 디바이스의 위치를 결정하도록 구성된 GPS(global positioning system) 디바이스를 포함하고, 상기 추천된 게이밍 시스템은, 상기 컴패니언 디바이스의 위치에 상대적인 상기 추천된 게이밍 시스템에 액세스하기 위한 연관된 무선 액세스 포인트의 위치 또는 상기 추천된 게이밍 시스템의 위치에 기초하여 상기 컴패니언 디바이스에 의해 지정되는 것인, 게임 컨트롤러.
  7. 제4항에 있어서,
    상기 추천된 게이밍 시스템은 원격 클라우드 기반 게이밍 시스템이고, 상기 추천된 게이밍 시스템 페어링 데이터는, 무선 액세스 포인트를 통해 상기 원격 클라우드 기반 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것인, 게임 컨트롤러.
  8. 제7항에 있어서,
    상기 명령어는,
    상기 복수의 제어부 중 제어부의 활성화에 응답하여, 상기 무선 액세스 포인트를 통해 상기 원격 클라우드 기반 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 대응하는 통신 프로토콜을 사용하여 상기 무선 액세스 포인트를 통해 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 원격 클라우드 기반 게이밍 시스템에 전송하도록, 상기 로직 서브시스템에 의해 실행 가능한 것인, 게임 컨트롤러.
  9. 제1항에 있어서,
    디스플레이를 더 포함하고,
    상기 명령어는,
    상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링될 수 없는 것에 응답하여, 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링될 수 없는 것을 표시하는 페어링 에러 메시지를 시각적으로 제시하도록, 상기 로직 서브시스템에 의해 실행 가능한 것인, 게임 컨트롤러.
  10. 제1항에 있어서,
    상기 게이밍 시스템 페어링 데이터는 자격 증명, 비밀번호, 사전 공유 키(pre-shared key; PSK), 및 서비스 세트 식별자(service set identifier; SSID) 정보 중, 하나 이상을 포함하는 것인, 게임 컨트롤러.
  11. 게임 컨트롤러의 동작 방법으로서,
    제1 통신 프로토콜을 사용하여 컴패니언 디바이스와 상기 게임 컨트롤러를 페어링하기 위한 컴패니언 디바이스 페어링 데이터를 상기 게임 컨트롤러의 스토리지 서브시스템에 저장하는 단계;
    상기 게임 컨트롤러가 제2 통신 프로토콜을 사용하여 이전에 페어링된 하나 이상의 이전 페어링된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하는 단계;
    상기 게임 컨트롤러가 마지막에 페어링된 상기 하나 이상의 이전 페어링된 게이밍 시스템 중 마지막 페어링된 게이밍 시스템을 상기 스토리지 서브시스템에 저장하는 단계;
    상기 게임 컨트롤러의 통신 인터페이스를 통해, 상기 컴패니언 디바이스 페어링 데이터에 기초하여 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 페어링 요청을 전송하는 단계;
    상기 게임 컨트롤러가 상기 컴패니언 디바이스와 페어링할 수 있는지 여부를 결정하는 단계;
    상기 게임 컨트롤러가 상기 컴패니언 디바이스와 페어링할 수 있는 것에 기초하여, 상기 제1 통신 프로토콜을 사용하여 상기 게임 컨트롤러를 상기 컴패니언 디바이스와 페어링하는 단계;
    상기 통신 인터페이스를 통해, 상기 게이밍 시스템 페어링 데이터에 기초하여 상기 제2 통신 프로토콜을 사용하여 상기 마지막 페어링된 게이밍 시스템에 페어링 요청을 전송하는 단계;
    상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 있는지 여부를 결정하는 단계;
    상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 있는 것에 기초하여, 상기 제2 통신 프로토콜을 사용하여 상기 게임 컨트롤러를 상기 마지막 페어링된 게이밍 시스템과 페어링하는 단계;
    상기 게임 컨트롤러의 제어부의 활성화에 응답하여, 상기 마지막 페어링된 게이밍 시스템과 상기 게임 컨트롤러가 페어링되는 동안, 상기 통신 인터페이스를 통해, 상기 제2 통신 프로토콜을 사용하여 상기 제어부에 대응하는 사용자 입력 제어 데이터를 상기 마지막 페어링된 게이밍 시스템에 전송하는 단계; 및
    상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것에 기초하여, 상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스에 에러 통지를 전송하는 단계 - 상기 에러 통지는 상기 게임 컨트롤로가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없다는 것을 표시하고, 상기 컴패니언 디바이스는 상기 에러 통지를 수신하는 것에 기초하여 상기 게임 컨트롤러가 상기 마지막 페어링된 게이밍 시스템과 페어링할 수 없는 것을 표시하는 에러 메시지를 제시하도록 구성됨 - ;
    를 포함하는, 게임 컨트롤러의 동작 방법.
  12. 제11항에 있어서,
    상기 통신 인터페이스를 통해, 상기 제1 통신 프로토콜을 사용하여 상기 컴패니언 디바이스로부터 추천된 게이밍 시스템 페어링 데이터를 수신하는 단계 ? 상기 추천된 게이밍 시스템 페어링 데이터는 상기 컴패니언 디바이스에 의해 지정된 추천된 게이밍 시스템과 상기 게임 컨트롤러를 페어링하기 위한 것임 ? ; 및
    상기 통신 인터페이스를 통해, 상기 추천된 게이밍 시스템 페어링 데이터에 기초하여 상기 추천된 게이밍 시스템에 대응하는 통신 프로토콜을 사용하여 상기 추천된 게이밍 시스템에 페어링 요청을 전송하는 단계
    를 더 포함하는, 방법.
  13. 제12항에 있어서,
    상기 게임 컨트롤러를 상기 추천된 게이밍 시스템과 페어링하는 것에 응답하여, 상기 추천된 게이밍 시스템 페어링 데이터를 상기 스토리지 서브시스템에 저장하는 단계; 및
    상기 스토리지 서브시스템에서, 상기 마지막 페어링된 게이밍 시스템을 상기 추천된 게이밍 시스템에 대응하도록 업데이트하는 단계
    를 더 포함하는, 방법.
  14. 제12항에 있어서,
    상기 컴패니언 디바이스는 상기 컴패니언 디바이스의 위치를 결정하도록 구성된 GPS(global positioning system) 디바이스를 포함하고, 상기 추천된 게이밍 시스템은 상기 컴패니언 디바이스의 위치에 상대적인 상기 추천된 게이밍 시스템에 액세스하기 위한 연관된 무선 액세스 포인트의 위치 또는 상기 추천된 게이밍 시스템의 위치에 기초하여, 상기 컴패니언 디바이스에 의해 지정되는 것인, 방법.
  15. 제12항에 있어서,
    상기 추천된 게이밍 시스템은 원격 클라우드 기반 게이밍 시스템이고, 상기 추천된 게이밍 시스템 페어링 데이터는 무선 액세스 포인트를 통해 상기 게임 컨트롤러를 상기 원격 클라우드 기반 게이밍 시스템과 페어링하기 위한 것인, 방법.
KR1020237043179A 2021-05-25 2022-05-05 컴패니언 디바이스 지원 게임 컨트롤러 페어링 KR20240012443A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/330,204 2021-05-25
US17/330,204 US11547932B2 (en) 2021-05-25 2021-05-25 Companion device aided game controller pairing
PCT/US2022/027745 WO2022250911A1 (en) 2021-05-25 2022-05-05 Companion device aided game controller pairing

Publications (1)

Publication Number Publication Date
KR20240012443A true KR20240012443A (ko) 2024-01-29

Family

ID=81750837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237043179A KR20240012443A (ko) 2021-05-25 2022-05-05 컴패니언 디바이스 지원 게임 컨트롤러 페어링

Country Status (4)

Country Link
US (1) US11547932B2 (ko)
EP (1) EP4347068A1 (ko)
KR (1) KR20240012443A (ko)
WO (1) WO2022250911A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11964197B2 (en) * 2021-09-16 2024-04-23 Voyetra Turtle Beach, Inc. Video game controller with performance tracking
US12011657B2 (en) 2021-09-16 2024-06-18 Voyetra Turtle Beach, Inc. Video game controller with customizable response
US11794097B2 (en) 2021-09-16 2023-10-24 Voyetra Turtle Beach, Inc. Video game controller with audio control
US11989466B2 (en) * 2022-04-08 2024-05-21 Brother Kogyo Kabushiki Kaisha Device and computer-readable storage medium for providing appropriate error notification
CN116036578B (zh) * 2023-01-28 2023-06-13 腾讯科技(深圳)有限公司 数据处理方法、装置及相关设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI283523B (en) 2005-11-03 2007-07-01 Acer Inc Login method for establishing a wireless local area network connection with a keeping-secret function and its system thereof
JP4334602B1 (ja) 2008-06-17 2009-09-30 任天堂株式会社 情報処理装置、情報処理システム、および情報処理プログラム
US8700819B2 (en) 2011-03-09 2014-04-15 Apple Inc. Host device suspending communication link to client device based on client device notification
WO2013059759A1 (en) 2011-10-21 2013-04-25 Gamestop, Inc. Wireless controller
WO2014171870A1 (en) 2013-04-17 2014-10-23 Telefonaktiebolaget L M Ericsson (Publ) Session data stream management
US10630773B2 (en) 2015-11-12 2020-04-21 Nvidia Corporation System and method for network coupled cloud gaming
US10238965B2 (en) 2016-04-28 2019-03-26 Sony Interactive Entertainment America Llc Cloud gaming device handover
EP3773953B1 (en) * 2018-04-02 2024-06-19 Google LLC Methods, devices, and systems for interactive cloud gaming
EP3837829B1 (en) 2019-03-18 2021-11-10 Google LLC Cloud-based discovery service for end-user devices
US11000759B2 (en) 2019-03-29 2021-05-11 Valve Corporation Game controller operable in bluetooth low energy (BLE) mode
US11540137B2 (en) 2019-04-17 2022-12-27 Apple Inc. Pairing devices based on distance

Also Published As

Publication number Publication date
US11547932B2 (en) 2023-01-10
US20220379199A1 (en) 2022-12-01
EP4347068A1 (en) 2024-04-10
WO2022250911A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
KR20240012443A (ko) 컴패니언 디바이스 지원 게임 컨트롤러 페어링
US10741061B1 (en) Mobile computing device for use in controlling wirelessly controlled vehicles
KR102657527B1 (ko) 계정 관련 정보에 기반하여 장치를 설정하는 방법 및 그 전자 장치
CN113646828B (zh) 可在蓝牙低功耗(ble)模式下操作的游戏控制器
US20140184508A1 (en) Universal adaptive game controller
WO2019195300A2 (en) Input device for an electronic system
US11027206B2 (en) Multi-device gaming interface
CN111225722A (zh) 将游戏控制器用作鼠标或游戏手柄
JP2024526019A (ja) コンパニオンデバイスの支援によるゲームコントローラのペアリング
US10915945B2 (en) Method and apparatuses for intelligent TV startup based on consumer behavior and real time content availability
US20220401826A1 (en) Controller system with module mountable on base
US11872476B2 (en) Input device for an electronic system
EP4383732A1 (en) Electronic device and method for sharing screens and audio signals corresponding to screens
US10235514B2 (en) Game controller-based captcha
KR20240040590A (ko) 전자 장치 및 전자 장치의 제어 방법
CN117957846A (zh) 用于共享屏幕和与屏幕对应的音频信号的电子设备和方法