BACKGROUND
[0001] Recent years have seen rapid development in communication technology, particularly
in the capabilities of electronic devices to communicate with one another over wireless
networks. For example, it is now common for individuals to own and use multiple computing
devices of different types to access and consume digital content (e.g., gaming content).
In addition, as cloud computing becomes more prevalent and communication capabilities
of computing devices continues to develop, a wider variety of devices are being used
to consume digital content for an increasingly diverse set of end-users.
[0002] In many cases, individuals find that different devices may be better suited for different
scenarios. For example, in the context of gaming, individuals may find that mobile
devices are ideal for consuming gaming content while traveling or when meeting at
a public place. Alternatively, the same individuals may prefer to consume gaming content
on a home console coupled to a television or other display device when consuming content
at their home. In some cases, individuals may wish to transition between different
gaming setups. Conventional gaming and communication systems, however, suffer from
a number of drawbacks and limitations.
[0003] In particular, conventional systems for handing off a gaming session from one device
to another often involves interrupting or otherwise causing friction to the continuity
of a gaming session. For example, many conventional systems involve interrupting a
gaming session to perform a setup process that involves manually pressing buttons
on multiple devices to cause those devices to connect with one another. As another
example, many conventional systems involve exiting a game or application in order
to modify settings or otherwise indicate a desire to modify a gaming setup for the
gaming session. In each of the above examples, delay and user frustration may occur,
particularly where a user is engaged with a gaming session that includes other users
(e.g., multiplayer applications).
[0004] These and other problems exist with regard to transitioning between different setups
or device environments when consuming digital content.
WO 2014/171870 A1 describes methods and apparatuses which are provided for session data stream management
and more particularly to enhance gaming experience by controlling a gaming session
data stream. The gaming client is detecting fulfillment of a criterion involving a
location of the first gaming client and then initiates transmission of the gaming
session data stream between the gaming server and a second gaming client. The gaming
server is receiving from the first client, following detection of fulfillment of a
criterion involving a location of the first gaming client, a request for transmission
of the gaming session data stream between the gaming server and the second gaming
client. The gaming server initializes a gaming session at the second gaming client
and transmits the gaming session data stream between the gaming server and the second
gaming client. The gaming client can trigger to the game server to control the game
session data stream once the user is in proximity of the home or any other location.
US 2014/0287836 A1 describes a technique and apparatus for backing up and restoring game application
state across multiple devices. The method includes running an instance of a game application
at a first device. Based on any of various criteria, such as the proximity between
the first device and a second device, a computer makes a determination to synchronize
the application state between the two devices. The computer causes the application
state data, which represents an application state of the game application running
on the first device, to be saved and made available to the second device, such as
by saving the application state data to cloud storage. The second device receives
the application state data and restores the game application state.
US 2017/0312626 A1 describes methods and systems to identify options of secondary client devices for
a device handover of game play include establishing a session of game play of a game
for a primary client device by executing the game on a server for streaming video
frames to the primary client device. A request is received to generate a profile of
one or more secondary client devices that are identified to be local to the primary
client device. The profile is configured to identify device attributes for the secondary
client devices. A handover option is provided to the primary client device during
game play, identifying one or more of the secondary client devices, based on the profile.
A selection of a secondary client device identified by the handover option received
from the primary client device causes pausing of the streaming of video frames to
the primary client device, saving a game state for the game and providing an option
to resume play of the game on the secondary client device. A resume request received
from the secondary client device causes the game state for the game to be accessed
and game play resumed so as to continue streaming video frames to the secondary client
device.
US 2014/0179428 A1 describes a method for providing remote control of a user's gameplay is provided.
A live video feed of a first user's gameplay is presented to a remote second user.
A request to transition control of the first user's gameplay to the second user is
processed.
Control of the first user's gameplay by the second user is initiated.
SUMMARY
[0005] The invention is set out in the appended set of claims
BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
FIG. 1 illustrates an example environment including a device management system for
managing connection of one or more devices with a gaming system in accordance with
one or more embodiments.
FIGS. 2A-2C illustrates an example implementation of transferring input control from
an input device to a client device in accordance with one or more embodiments.
FIGS. 3A-3C illustrate an example implementation of transferring input control between
client devices in accordance with one or more embodiments.
FIGS. 4 illustrates an example implementation of a graphical user interface for selectively
transferring control elements of a gaming session between devices in accordance with
one or more embodiments.
FIG. 5 illustrates an example series of acts for causing a transfer of input control
for a gaming session from an input device to a client device in accordance with one
or more embodiments.
FIG. 6 illustrates another example series of acts for causing a transfer of input
control for a gaming session from an input device to a client device in accordance
with one or more embodiments.
FIG. 7 illustrates certain components that may be included within a computer system.
DETAILED DESCRIPTION
[0007] The present disclosure relates to a device management system on an input device (e.g.,
a gaming controller) that facilitates a handoff of one or more gaming session control
elements (or simply "control elements") between computing devices without interrupting
a current gaming session. In particular, as will be discussed in further detail below,
a device management system may be implemented on an input device, such as a gaming
controller, to enable a convenient and friction-free transfer of control elements
of a gaming session from one device to another device. Indeed, as will be discussed
in further detail below, once an input device is paired to a client device, the input
device having the device management system implemented thereon may be used to facilitate
transfer of control for the gaming session to the client device at any point within
a gaming session.
[0008] For example, and as will be discussed in further detail below, an input device and
a client device may perform a pairing process in which the input device and client
device exchange information that enables the input device to identify a proximity
of the input device as well as enable the client device to connect to a gaming system.
While engaged in a gaming session in which the input device provides input commands
to a gaming system (e.g., a local console and/or a cloud-based gaming system), the
input device and client device may identify or otherwise detect a trigger condition
(e.g., a tap of a gaming controller and client device) that indicates a desire to
transfer control of a gaming session to the client device. In response to the trigger
condition, the client device can pull or otherwise obtain control of control elements
such as input control, video control, and any other control elements of the gaming
session.
[0009] The present disclosure includes a number of practical applications that provide benefits
and/or solve problems associated with conventional systems and techniques for dynamically
modifying a configuration of devices for an ongoing gaming session. In particular,
the systems described herein provide specific features and functionalities that allow
transfer of control elements for a gaming session from one device to another device
without interrupting a current gaming session hosted by a gaming system. Moreover,
systems described herein enable transfer of a gaming session independent of whether
the gaming session is hosted by a local console or on a console implemented as part
of a cloud computing system.
[0010] For example, in one or more embodiments described herein, an input device may facilitate
a fast and efficient transfer of input control (and other control elements) by storing
any number of device profiles corresponding to respective client devices that are
capable of pulling or otherwise receiving control of a gaming session from another
device. In particular, once paired to a given client device and after storing an associated
device profile as part of the pairing process, the device management system may utilize
the stored device profile to detect a trigger condition based on detecting proximity
of a client device that matches the device profile stored on the input device. In
this way, the device management system may be preconfigured to recognize the client
device and cause a portion of control (e.g., input control, video control) of the
gaming session to be transferred to the client device upon detecting the trigger condition.
[0011] In addition to reducing friction of transferring control elements by storing device
profiles, the device management system may utilize two or more communication protocols
to detect one of any number of client devices having a range of capabilities and cause
control of the gaming session to be transferred to a diverse set of client devices.
For instance, where the input device may be configured to communicate with a gaming
system using a first communication protocol that optimizes features of the input device
and/or gaming system in a given device environment, the same communication protocol
may be less optimal (or incompatible) for another client device. Accordingly, the
device management system can enhance the flexibility of engagement with the gaming
system by communicating with the gaming system using a first protocol (e.g., a proprietary
protocol unique or otherwise specific to the input device and/or gaming console) while
using a second protocol to communicate with or detect presence of a more generic client
device (e.g., a mobile device, laptop device, etc.).
[0012] In addition to providing additional flexibility in allowing a range of client devices
to communicate with a gaming system, communicating using different communication protocols
(e.g., using different antennas) can provide a frictionless handoff of control while
significantly improving power performance of the input device. For example, where
communicating using a first communication protocol consumes significantly more power
than communicating using a second protocol, utilizing the different communication
protocols enhances performance of the input device by consuming less power when transmitting
signals to detect a presence of a client device. Moreover, by allowing client devices
to communicate with the gaming system using a variety of communication protocols,
respective client devices may further optimize performance over systems that would
need to communicate with the gaming system using the same communication protocol as
the input device. Thus, by utilizing multiple antennas of different types or that
transmit signals using different communication protocols; one or more embodiments
described herein can improve power performance of the input device and other devices
within an environment of the gaming system.
[0013] As illustrated in the foregoing discussion, the present disclosure utilizes a variety
of terms to describe features and advantages of a device management system within
a variety of computing environments. Additional detail will now be provided regarding
the meaning of such terms. For example, as used herein, an "input device" may refer
to any electronic or computing device configured to communicate input commands with
a gaming system. In one or more embodiments described herein, an input device refers
specifically to a gaming controller or other dedicated hardware device associated
with a gaming system and including hardware and/or software thereon that enables the
gaming controller to communicate input commands using a first communication protocol.
As will be discussed in further detail below, an input device may include any number
of antennas capable of communicating with other devices using a number of different
communication protocols.
[0014] As used herein, a "gaming session" may refer to an application and associated duration
of time that a user or multiple users have access to the gaming session. In one or
more embodiments, the gaming session may refer to a period of time commencing when
an individual (e.g., a user or player) initiates a gaming application and ending when
the individual (or other individual) terminates the gaming session. For example, a
gaming session may begin when a user opens an application and end when the user closes
the gaming session, concludes a game, loses connectivity with a gaming system, and/or
when the user logs off or otherwise disconnects a device from the gaming session (e.g.,
for a threshold or other predetermined period of time). In one or more embodiments
described herein, a single gaming session may include a first portion of the gaming
session when a user engages with or consumes gaming content using a first device as
well as a second portion when the user engages with or consumes gaming content using
a second device upon completing transfer of one or more control elements to the second
device. The gaming session may continue for any number of transfers of control elements
between devices and end upon the user logging off, disconnecting, or otherwise disengaging
with the gaming system for a predetermined period of time.
[0015] As used herein, a "control element" of a gaming session may refer to one or more
elements of the gaming session associated with consuming the gaming session by an
individual. For example, a control element may refer to input control, video control,
audio control, voice control, or other control associated with how the individual
interacts with a gaming system and/or consumes gaming content. To illustrate, a device
(e.g., input device, client device) may have input control when the device has an
active communication link with the gaming system such that the gaming system recognizes
input commands transmitted by the device. As another example, a device may have video
control or audio control where the device receives a stream of video and/or audio
content from the gaming system for the gaming session.
[0016] As used herein, a "communication protocol" may refer to a particular format associated
with communicating information between two devices. In particular, a communication
protocol may refer to a set of rules, syntax, semantics, synchronization, and possible
error recovery methods associated with a method for communication between two respective
devices. In one or more embodiments described herein, a communication protocol refers
to the type of network or wireless connection over which two different devices communication.
For example, in one or more embodiments described herein, a communication protocol
refers to a proprietary protocol unique or otherwise specific to a gaming controller
and a gaming console (e.g., a manufacturer or brand of the respective devices/consoles).
Other example communication protocols may refer to WiFi, Bluetooth (e.g., Bluetooth
Low Energy (BLE)), near field communication (NFC) or other wireless protocol. Indeed,
the communication protocols described herein may refer to any number of communication
protocols that enable devices, such as an input device, client device, and/or gaming
system to communicate over a variety of different networks (e.g., wired or wireless
networks).
[0017] Additional detail will now be provided regarding a device management system in relation
to illustrative figures portraying example implementations. For example, FIG. 1 illustrates
an example environment 100 including one or more computing device(s) 102, an input
device 104, and a client device 106 (e.g., multiple client devices) in accordance
with one or more embodiments described herein. Each of the computing device(s) 102,
input device 104, and client device 106 may communicate over a network 108, which
may include one or multiple networks that use one or more communication protocols
or technologies for transmitting data. For example, the network 108 may include the
internet, a local area network (LAN), or any data link that enables transport of electronic
data between the computing device(s) 102, input device 104, and/or client device 106.
[0018] In one or more embodiments described herein, the computing device(s) 102 may refer
to a local gaming console, desktop computer, or other computing device capable of
hosting one or more gaming sessions for one or more gaming applications. Alternatively,
in one or more embodiments, the computing device(s) 102 refers to one or more server
devices and/or gaming consoles implemented within a datacenter or otherwise implemented
on a cloud computing system. As used herein, a cloud computing system may include
a collection of physical server devices organized in a hierarchical structure including
computing zones, virtual LANs, racks, fault domains, etc. In one or more embodiments
described herein, a cloud computing system may include any number of gaming consoles
capable of hosting gaming sessions for a variety of end-users.
[0019] As illustrated in FIG. 1, the computing device(s) 102 may include a gaming system
110 implemented thereon. The gaming system 110 may host a gaming session 112 accessible
to one or multiple users of the gaming system 110 for some duration of time. The gaming
system 110 may host or otherwise provide access to any number of additional gaming
sessions associated with the same application or a variety of applications. In one
or more embodiments, the gaming system 110 hosts or otherwise provides access to the
gaming session 112 hosted by one or more additional server devices (e.g., servers
owned or operated by third-party publishers).
[0020] As shown in FIG. 1, the gaming system 110 includes a data storage 114 including data
stored thereon or otherwise accessible to the gaming system 110. For example, as shown
in FIG. 1, the data storage 114 may include session data 116. The session data may
include any information associated with one or more gaming sessions. For example,
the session data 116 may include information about users or devices engaged within
the gaming session. The session data 116 may include a state of data for an application
associated with the gaming session. For example, the session data 116 may include
a current state of characters or a virtual environment for the gaming session at a
current time or at one or more previous times.
[0021] As further shown, the data storage 114 may include account data 118 associated with
one or more users of the gaming system 110. For example, the account data 118 may
include user identifiers, authentication information (e.g., passwords, security tokens,
etc.) or any information associated with users of the gaming system 110 and associated
client devices. In one or more embodiments described herein, the gaming system 110
can utilize the account data 118 to verify an identity of an input device 104 and/or
client device 106 in determining whether to allow the client device 106 to pull one
or more control elements for the gaming session 112 from the input device 104 (or
other device).
[0022] As mentioned above, the input device 104 may refer to an electronic or computing
device configured to communicate input commands to the gaming system 110 in connection
with a gaming session 112. In one or more embodiments described herein, the input
device 104 refers to a gaming controller or console controller associated with the
gaming system 110. For example, the input device 104 and hardware of the gaming system
110 (e.g., a gaming console) may originate from the same company or manufacturer and
may include compatible hardware, firmware, and/or software that enables the input
device 104 to communicate via a specific communication protocol (e.g., a proprietary
protocol unique to communications between the input device 104 and gaming system 110).
[0023] As shown in FIG. 1, the input device 104 may include a device management system 120
implemented thereon. As will be discussed in further detail herein, the device management
system 120 may provide features and functionality to facilitate communication between
the input device 104 and other devices of the environment 100. The device management
system 120 can additionally facilitate pairing with one or more client devices 106
in addition to facilitating handoff of one or more control elements for an ongoing
gaming session 112.
[0024] The device management system 120 may include a profile manager 122 and device profiles
124. The profile manager 122 may facilitate performing a pairing process with one
or more client devices 106. For example, the profile manager 122 may monitor proximity
of one or more devices in pairing mode and performing a pairing process by collecting
information about the device(s) and creating device profiles 124 associated with the
respective devices to store on the input device 104. The device management system
120 may include any number of device profiles 124 corresponding to any number of client
devices 106. In addition, or as an alternative, the device management system 120 may
include any number of device profiles 124 corresponding to a number of antennas (e.g.,
antennas 126a-n) on the input device 104.
[0025] In addition to performing a pairing process, the profile manager 122 can facilitate
detecting a trigger condition based on a detected proximity of the input device 104
relative to one or more client devices 106. For example, the profile manager 122 may
cause the input device 104 to announce, broadcast, or otherwise transmit a signal
to determine whether a client device 106 corresponding to one of the device profiles
124 comes into proximity of the input device 104. Further detail in connection with
detecting a proximity condition will be discussed in further detail below.
[0026] As shown in FIG. 1, the input device 104 further includes a number of antennas 126a-n
capable of communicating signals to and from the input device 104. As mentioned above,
the input device 104 may include a variety of different types of antennas 126a-n capable
of transmitting (and/or receiving) signals using different communication protocols.
The device management system 120 may include firmware, software, or a combination
of firmware and software that facilitate communication of data using each of the antennas
126a-n on the input device 104.
[0027] It will be appreciated that the input device 104 may include any number of antennas
126a-n. For example, in one or more embodiments, the input device 104 may include
2, 4, 8, or other specific number of antennas. In one or more implementations, the
number of antennas on the input device 104 may determine a number of device profiles
124 that may be registered or stored on the input device 104. For example, where the
input device 104 has four antennas, the input device 104 may utilize a first antennas
to communicate with the gaming system 110 using a first communication protocol and
register up to three device profiles associated with three different client devices
with which each of the remaining three antennas may communicate using one or more
additional communication protocols.
[0028] As an illustrative example, and as will be discussed in further detail below, a first
antenna 126a may refer to an antenna configured to communicate signals using a first
communication protocol. For example, the first antenna 126a may refer to a first type
of antenna unique to the input device 104 capable of transmitting input commands to
the gaming system 110 using a first communication protocol (e.g., a proprietary communication
protocol unique to the input device 104 and gaming system 110).
[0029] In contrast, the second antenna 126b (and one or more additional antennas) may refer
to a second type of antenna capable of communicating wirelessly with a variety of
client devices 106. For instance, the second antenna 126b may transmit signals using
a second communication protocol (e.g., WiFi, BLE, NFC, etc.) different from the first
communication protocol. Additional antennas of the plurality of antennas 126a-n may
refer to other types of antennas that are capable or otherwise configured to communicate
signals using other types of protocol s (e.g., the same or different from the second
antenna 126b). Additional information in connection with the plurality of antennas
126a-n will be discussed in further detail below in connection with various examples.
[0030] As mentioned above, the environment 100 may include one or more client device 106.
The client devices 106 may refer a variety of different types of devices. For example,
in one or more embodiments, the client device 106 may refer to a portable device such
as a mobile device (e.g., a smartphone, a tablet), a laptop, or other computing device
capable of being carried or transported by a user. Alternatively, the client device
may refer to a nonportable device such as a desktop, smart television, entertainment
system, or other system of devices having data processing and display capabilities.
Indeed, the client device(s) 106 may refer to any device capable of communicating
with the input device 104 using a second communication protocol and subsequently receiving
gaming content and/or transmitting input commands to the gaming system 110 in accordance
with one or more embodiments.
[0031] As shown in FIG. 1, the client device 106 may include a gaming system application
128 implemented thereon. The gaming system application 128 may refer to a software
application (e.g., stand-alone application, web browser, combination of multiple applications)
associated with the gaming system 110 including executable instructions enabling the
client device 106 to access or obtain control of one or more control elements for
the gaming session 112 (e.g., pulling input control from the input device 104). For
example, the gaming system application 128 may cause the client device 106 to register
the device and/or user with the gaming system 110 before or in conjunction with performing
a pairing process with the input device 104. In addition, the gaming system application
128 may include instructions that cause the client device 106 to communicate with
the gaming system 110 upon detecting a trigger condition associated with proximity
of the client device 106 to the input device 104.
[0032] Additional detail in connection with transferring one or more control elements for
a gaming session from one device to another device will now be described in connection
with example implementations. For example, FIGS. 2A-2C illustrate an example implementation
in which a gaming controller is used to transfer input control for a gaming session
to a client device (e.g., a mobile device) in accordance with one or more embodiments.
FIGS. 3A-3C illustrate another example implementation in which a gaming controller
is used to transfer one or more control elements for a gaming session between a first
client device (e.g., a laptop computer) to a second client device (e.g., a mobile
device) in accordance with one or more embodiments. FIG. 4 illustrates another example
implementation in which a gaming controller and a graphical user interface facilitate
selectively transferring one or more of a plurality of control elements for a gaming
session to a client device in accordance with one or more embodiments.
[0033] It will be understood that while FIGS. 2A-4 illustrate three implementations within
different environments of devices, features and functionality described in connection
with each of the individual examples may similarly apply to another example. For example,
features and functionality described in connection with FIGS. 2A-2C may apply to examples
described in connection with FIGS. 3A-4. Similarly, features and functionality described
in connection with FIGS. 3A-3C may apply to examples described in connection with
FIGS. 2A-2C and FIG. 4. Moreover, features and functionality described in connection
with FIG. 4 may apply to examples described in connection with FIGS. 2A-3B.
[0034] FIG. 2A illustrates an example environment 200 including a display device 202 having
a graphical user interface 204. The display device 202 may be in communication (e.g.,
have an active connection) with a gaming console 206. The gaming console 206 (and
the display device 202) may include similar features and functionality as the computing
device(s) 102 discussed above in connection with FIG. 1. In this example, the gaming
console 206 refers to a local gaming console having the gaming system 110 implemented
thereon and capable of hosting a gaming session for a user of the gaming console 206.
Alternatively, the gaming console 206 may receive gaming content from a server device
on a cloud computing system hosting one or more gaming sessions for the user of the
gaming console 206 and/or other users of the gaming system 110.
[0035] As shown in FIG. 2A, the environment 200 further includes a gaming controller 208
having antennas 210a-b thereon capable of communicating with other devices of the
environment 200. The gaming controller 208 may refer to one example of the input device
104 discussed above in connection with FIG. 1. As further shown, the environment 200
includes a client device 212 (e.g., a mobile device) having a graphical user interface
thereon 214. The client device 212 may refer to an example implementation of the client
device 106 having the gaming system application 128 thereon as discussed above in
connection with FIG. 1.
[0036] In accordance with subject matter discussed above, the gaming controller 208 and
the client device 212 may have previously performed a pairing process. For example,
as part of a pairing process, the gaming controller 208 may collect information about
the client device 212 to store within a device profile on the gaming controller 208.
As will be discussed further in FIGS. 2B-2C, the gaming controller 208 may utilize
the device profile(s) on the gaming controller 208 to identify the client device 212
and facilitate transfer of one or more control elements for a gaming session hosted
on the gaming console 206 to the client device 212.
[0037] As shown in FIG. 2A, the gaming console 206 may be connected to the display device
202 to provide video control for the gaming session to the display device 202. In
particular, the gaming console 206 may provide video control to the display device
202 by streaming or otherwise providing video content for the gaming session to display
via a graphical user interface 204 of the display device 202. In one or more embodiments,
the gaming console 206 additionally provides audio control by providing audio content
via one or more speakers of the display device 202. While not shown in FIG. 2A, the
gaming console 206 may provide audio control to one or more additional devices (e.g.,
a headset, auxiliary speaker) in communication with the gaming console 206 (or coupled
to the display device 202).
[0038] As further shown, the gaming console 206 may be connected to or have ongoing communication
with the gaming controller 208. In particular, the gaming console 206 and the gaming
controller 208 may communicate via a first antenna 210a on the gaming controller 208.
In accordance with one or more examples described herein, the first antenna 210a may
refer to a first type of antenna that communicates with the gaming console 206 using
a first communication protocol associated with the first antenna 210a. The first communication
protocol may refer to any of a number of communication protocols that enable the gaming
controller 208 to transmit input commands to the gaming console 206.
[0039] In one or more embodiments, the first communication protocol refers to a unique or
proprietary communication protocol associated with specialized or dedicated hardware
and/or firmware of the gaming controller 208 and the gaming console 206. For example,
in a gaming context where the gaming console 206 may communicate with as many as eight
or ten controllers at a given time, the gaming console 206 may be configured to receive
input commands from the gaming controller 208 using a proprietary protocol that is
optimized for gaming applications and configured to receive input commands across
a wide bandwidth of frequencies. In one or more embodiments described herein, the
gaming controller 208 communicates using a protocol unique to a manufacturer or specific
hardware component of the gaming console 206 and/or the gaming controller 208.
[0040] FIG. 2A illustrates the environment 200 prior to detecting a trigger event associated
with proximity of the gaming controller 208 and the client device 212. Proceeding
onto FIG. 2B, this illustration shows an implementation in which gaming controller
208 and the client device 212 come into contact (e.g., tap together) or within a predetermine
proximity of one another in accordance with a trigger condition. In particular, a
device management system 120 on the gaming controller 208 and a gaming system application
128 on the client device 212 may cooperatively determine (e.g., based on settings
that define what constitutes a trigger condition) whether there is an intent to transfer
one or more control elements to the client device 212 from the gaming controller 208
and/or the display device 202.
[0041] For example, in one or more embodiments, the gaming controller 208 may transmit a
signal from the second antenna 210b using a second communication protocol to determine
whether a client device (e.g., the client device 212) for which a device profile is
stored comes into contact with or moves within a threshold distance from the gaming
controller 208. In one or more implementations, the second antenna 210b transmits
a low power energy signal (e.g., BLE signal) at periodic intervals that may be received
and processed by the client device 212. In particular, the second antenna 210b may
transmit a low power energy signal that any client device having the gaming system
application 128 thereon and which has previously paired with the gaming controller
208 may receive and use to establish a connection with the gaming console 206.
[0042] As shown in FIG. 2B, the client device 212 may receive a signal transmit from the
second antenna 210b. In response to receiving the signal, the client device 212 can
establish a connection 216 with the gaming console 206 by sending an indication to
the gaming console 206 of the trigger condition associated with transferring control
of one or more control elements to the client device 212. For example, the client
device 212 can provide a request to the gaming console 206 for control of one or multiple
control elements for the gaming session. Where a gaming system application 128 on
the client device 212 has previously registered the client device 212 with the gaming
system 110, the client device 212 may have pre-authorization from the gaming system
110 to pull control of one or multiple control elements for the gaming session from
the gaming controller 208.
[0043] The client device 212 can pull any number of control elements for the gaming session
from other devices within the environment 200. For example, proceeding onto FIG. 2C,
the client device 212 can pull multiple control elements for the gaming session from
other devices within the environment 200. In particular, the client device 212 can
pull video control from the display device 202 by causing video content to be provided
via the graphical user interface 214 of the client device 212. As a result, the display
device 202 may no longer provide a display of video content for the gaming session.
[0044] In addition to pulling video control for the gaming session from the display device
202, the client device 212 may additionally pull input control for the gaming session
from the gaming controller 208. Indeed, the client device 212 (or other client device
registered on the gaming controller 208) can pull any number of control elements for
the gaming session from any number of devices in accordance with a configuration defined
by the gaming system application 128 running on the client device 212. For example,
where the client device 212 is configured to pull all control elements for the gaming
session, the client device 212 may automatically pull all control elements upon detecting
the trigger condition. Alternatively, where the client device 212 may input command
capabilities or where the client device 212 has some limitation for pulling control
of a specific control element, the client device 212 may be configured to only pull
a subset of control elements for a given gaming session from any of the devices currently
in control of one or more control elements for the gaming session.
[0045] As mentioned above, and in the example shown in FIG. 2C, the client device 212 may
pull each of the control elements from each of the devices of the environment 200
previously in control of the control elements prior to detecting the trigger condition.
Specifically, the client device 212 may pull input control from the gaming controller
208 as indicated by control icons 218 displayed on the graphical user interface 214
of the client device 212. In addition, the client device 212 may pull video and/or
audio control from the display device 202 as indicated by the display for the gaming
application being presented via the graphical user interface 214 of the client device
212 rather than on the graphical user interface 204 of the display device 202. While
not shown in FIG. 2C, in one or more embodiments, the video content may continue streaming
to the display device 202 at the same time as displayed on the client device 212.
[0046] As shown in FIG. 2C, the client device 212 may begin transmitting input commands
to the gaming console 206 upon obtaining input control from the gaming controller
208. In one or more embodiments, the client device 212 communicates input commands
to the gaming console 206 using a different communication protocol than the first
communication protocol used by the gaming controller 208 (e.g., the second communication
protocol or another communication protocol different from the first communication
protocol). For example, where the gaming controller 208 transmits input commands via
a first antenna 210a using a first communication protocol (e.g., a proprietary protocol,
WiFi protocol, etc.), the client device 212 may transmit input commands to the gaming
console 206 using a second communication protocol (e.g., WiFi, BLE) or any communication
protocol different from the first communication protocol.
[0047] As mentioned above, FIGS. 3A-3C illustrate another example implementation in which
a gaming controller may be used to facilitate one or more client devices obtaining
control of control elements for a gaming session. For example, FIGS. 3A illustrates
an environment 300 including a cloud computing system 302 having one or more server
device(s) 304. The server device(s) 304 may include a gaming system 110 including
similar features as discussed above in connection with FIG. 1.
[0048] As further shown, the environment 300 may include a first client device 306 (e.g.,
a laptop computer) having a graphical user interface 308. The environment 300 may
additionally include a gaming controller 310 having two antennas 312a-b for communicating
signals to devices of the environment 300. The gaming controller 310 may include additional
antennas. In the example shown in FIG. 3A, the gaming controller 310 includes a first
antenna for communicating directly with the gaming system 110 in addition to a plurality
of antennas corresponding to respective client devices that have been registered with
the gaming system 110 and associated with device profiles stored on the gaming controller
310. The environment 300 may further include a second client device 314 (e.g., a mobile
device) having a graphical user interface 316.
[0049] As shown in FIG. 3A, the first client device 306 may have an active connection with
the gaming system 110 on the cloud computing system 302. As shown in FIG. 3A, the
first client device 306 may additionally have control of various control elements
for a gaming session including input control, video control, audio control, and any
other control elements for the gaming session. The control of these control elements
may have been previously established (e.g., similar to the example shown in FIGS.
2A-2C) based on a trigger condition detected between the first client device 306 and
the gaming controller 310.
[0050] In FIG. 3B, the gaming controller 310 may be placed in contact with or within a proximity
of the second client device 314 such that the gaming controller 310 and second client
device 314 detect a trigger condition indicating a desire to transfer control of one
or more control elements for the gaming session to the second client device 314. In
particular, the second antenna 312b may transmit a signal that, when placed in a proximity
to the second client device 314, enables the client device 314 to receive the signal.
In response to receiving the signal and the devices authenticating one another, the
second client device 314 can establish a connection 318 with the gaming system 110
in accordance with instructions of a gaming system application 128 on the second client
device 314. For example, the second client device 314 can provide a request to the
gaming system 110 indicating one or more control elements that the second client device
314 intends to control based on the indicated desire to transfer one or more of the
control elements to the second client device 314.
[0051] In FIG. 3C, the second client device 314 can pull control of any number of control
elements for the gaming session. For example, the second client device 314 can receive
a video stream or audio stream from the cloud computing system 302 for presentation
on the graphical user interface 316 of the second client device 314. In addition to
receiving the video and/or audio content, the second client device 314 may obtain
control of an input control element and provide input icons 320 via the graphical
user interface 316 that enables a user of the second client device to indicate input
commands to send to the gaming system 110 via the established connection 318 between
the second client device 314 and the gaming system 110.
[0052] As shown in FIG. 3C, after completion of the transfer of control elements to the
second client device 314, the first client device 306 may no longer have an active
connection to the gaming system 110. Nevertheless, because the gaming controller 310
has a device profile corresponding to the first client device 306, the gaming controller
310 may be used at any time to tap the first client device 306 or be moved within
a proximity of the first client device 306 to indicate a desire to transfer the gaming
session back to the first client device 306. In response, the first client device
306 could take back control of one or more control elements of the gaming session
in accordance with one or more embodiments described herein.
[0053] Moving onto FIG. 4, this example illustrates features and functionality related to
a client device selectively taking control of one or more control elements in accordance
with one or more embodiments described herein. For example, FIG 4 illustrates an example
environment 400 similar to the environment 200 described above in connection with
FIGS. 2A-2C. In particular, the environment 400 includes a display device 402 having
a graphical user interface 404 thereon. The environment 400 further includes a gaming
console 406. Prior to detecting a trigger condition, the display device 402 may have
an active connection with the gaming console 406 to receive and display video content
for a gaming session.
[0054] The environment 400 further includes a gaming control 408 having a first antenna
410a and a second antenna 410b capable of communicating signals to various devices
using different communication protocols. For example, the first antenna 410a may communicate
input commands to the gaming console 406 using a first communication protocol. In
addition, the second antenna 410b may communicate low power signals to be detected
by the client device 412 using a second communication protocol (e.g., NFC, BLE, WiFi).
[0055] As shown in FIG. 4, the client device 412 includes a graphical user interface 414.
In contrast to one or more specific examples described above, upon detecting a trigger
condition, the client device 412 may provide (e.g., display) a list of control elements
416 for the gaming session that are supported by the client device 412. Different
client devices may present a different list of control elements depending on capabilities
of the client device, settings of a gaming system application 128 on the specific
client device, or information from a device profile stored on the gaming controller
408. In this example, the client device 412 may support control of control elements
including video control, audio control, and input control.
[0056] As shown in FIG. 4, the list of control elements 416 may include selectable options
418 that, when selected, cause the client device 412 to selectively pull control of
the selected control elements from a device previously in control of the control element.
In addition, the list of control elements 416 may provide an indicator or identifier
of a device that currently holds control of the corresponding control elements. For
example, the video control may be controlled by the display device 402 with an identifier
of "HD TV." Along similar lines, the audio control (e.g., audio feed and/or microphone
control) may be controlled by a device with an identifier of "Headset." Finally, the
input control may be controlled by the gaming controller 408 with an identifier of
"Gaming Controller."
[0057] As shown in this example, a user may select that the client device 412 should obtain
control of the video control element and the input control element for the gaming
session without also pulling control of the audio control element. Accordingly, in
response to detecting the trigger condition in addition to detecting a selection of
the corresponding control elements, the client device 412 can obtain video control
and input control while allowing the headset to continue receiving audio content from
the gaming console 406.
[0058] Turning now to FIGS. 5-6, these figures illustrates example flowcharts including
series of acts for transferring one or more control elements for a gaming session
between various devices. While FIGS. 5-6 illustrate acts according to one or more
embodiments, alternative embodiments may omit, add to, reorder, and/or modify any
of the acts shown in FIGS. 5-6. The acts of FIGS. 5-6 can be performed as part of
a method. Alternatively, a non-transitory computer-readable medium can comprise instructions
that, when executed by one or more processors, cause a computing device (e.g., input
device, gaming console, client device) to perform the acts of FIGS. 5-6. In still
further embodiments, a system can perform the acts of FIG. 5-6.
[0059] FIG. 5 illustrates an example series of acts 500 related to detecting a trigger condition
and causing a transfer of one or more control elements for a gaming session from an
input device to a client device. In particular, the series of acts 500 may include
an act 510 of performing a pairing process with a client device and storing a device
profile for the client device on an input device. For example, the act 510 may involve
performing a pairing process with a client device where performing the pairing process
includes storing a device profile on the input device including information associated
with the client device.
[0060] As further shown, the series of acts 500 may include an act 520 of transmitting input
commands to a gaming system via a first communication protocol. For example, the act
520 may include transmitting input commands for a gaming session to a gaming system
via a first communication protocol. In one or more embodiments, the gaming system
is implemented on one or more server devices on a cloud computing system. In one or
more embodiments, the gaming system is implemented on a local gaming console in communication
with the client device via a different communication protocol than the first communication
protocol.
[0061] As further shown, the series of acts 500 may include an act 530 of detecting a trigger
condition associated with proximity of the client device to the input device based
on a signal transmitted via a second communication protocol. For example, the act
530 may involve detecting, by the input device, a trigger condition associated with
proximity of the client device to the input device based on a signal transmitted by
the input device via a second communication protocol.
[0062] In one or more embodiments, the first communication protocol includes a proprietary
wireless communication protocol unique to the input device and the gaming system.
Further, the second communication protocol may include a different wireless communication
protocol from the proprietary wireless communication protocol. In one or more implementations,
the input device transmits input commands via the first communication protocol using
a first antenna on the input device. Further, the signal transmitted by the input
device using the second communication protocol may be transmitted using a second antenna
on the input device.
[0063] As further shown, the series of acts 500 may include an act 540 of causing a transfer
of input control for a gaming session to the client device in response to detecting
the trigger condition and verifying the client device. For example, the act 540 may
include causing a transfer of input control for the gaming session to the client device
in response to detecting the trigger condition and verifying that the client device
corresponds to the device profile. In one or more embodiments, video content for the
gaming session is received at a display device in communication with the gaming system
prior to detecting the trigger condition. Further, the series of acts 500 may include
causing the video content to be provided to the client device after detecting the
trigger condition.
[0064] In one or more embodiments, the series of acts 500 includes transmitting a low energy
wireless signal (e.g., BLE signal) via the second communication protocol in conjunction
with transmitting input commands for the gaming session to the gaming system via the
first communication protocol. Further, in one or more embodiments, detecting the trigger
condition includes detecting that the input device is within a threshold proximity
to the input device based on receiving, from the client device, a response to the
low energy wireless signal transmitted via the second communication protocol. In one
or more implementations, transmitting the low energy wireless signal includes periodically
transmitting a plurality of low energy wireless signals from the input device via
the second communication protocol.
[0065] In one or more embodiments, the series of acts 500 includes maintaining, on the input
device, a plurality of device profiles corresponding to a plurality of client devices
with which the input device has previously performed one or more pairing processes.
The series of acts 500 may further include detecting, by the input device, an additional
trigger condition associated with proximity of an additional client device associated
with an additional device profile from the plurality of device profiles via the second
communication protocol. In response to detecting the additional trigger condition,
the series of acts 500 may additionally include causing a transfer of input control
from the client device to the additional client device.
[0066] In one or more implementations, video content is provided for display via a display
device independent from the input device prior to detecting the trigger condition.
Further, in one or more implementations, the client device may include a mobile device
having an application associated with the gaming system implemented thereon and configured
to continue the gaming session thereon by pulling input control from the input device
to the client device and requesting that video content be provided to the client device
rather than the display device in response to detecting the trigger condition.
[0067] FIG. 6 illustrates another example series of acts 600 related to detecting a trigger
condition between an input device and client device and facilitating continuation
of a gaming session on the client device. As shown in FIG. 6, the series of acts 600
includes an act 610 of performing a pairing process with an input device by providing
information to include within a device profile stored on the input device. For example,
in one or more embodiments, the act 610 includes performing a pairing process with
an input device where performing the pairing process includes providing information
to include within a device profile associated with the client device stored on the
input device.
[0068] As further shown, the series of acts 600 may include an act 620 of detecting a trigger
condition associated with proximity of the client device with the input device based
on a signal transmitted via a different communication protocol than a communication
protocol used by the input device to transmit input commands. For example, in one
or more embodiments, the act 620 may include detecting a trigger condition associated
with proximity of the client device with the input device where the input device has
input control for a gaming session prior to detecting the trigger condition. The input
device may be connected with the gaming system hosting the gaming session via a first
communication protocol. In addition, the input device may detect the trigger condition
based on a signal transmitted by the input device via a second communication protocol.
[0069] As further shown, the series of acts 600 may include an act 630 of establishing a
connection with the gaming system and pulling input control for the gaming session
from the input device in response to detecting the trigger condition. For example,
the act 630 may include, in response to detecting the trigger condition, establishing,
by the client device, a connection with the gaming system and continuing the gaming
session with the gaming system by pulling input control for the gaming session from
the input device to the client device. The gaming session may be implemented on one
or more server devices on a cloud computing system. The gaming session may also be
implemented on a local gaming console in communication with the client device using
a different communication protocol than the first communication protocol.
[0070] In one or more embodiments, the first communication protocol includes a proprietary
wireless communication protocol unique to the input device and the gaming system while
the second communication protocol includes a different wireless communication protocol
from the proprietary wireless communication protocol. Further, in one or more embodiments,
continuing the gaming session includes providing, by the client device, a request
to receive video content for the gaming session from the gaming system, wherein the
video content is previously provided to a display device connected to the gaming system
prior to detecting the trigger condition. Continuing the gaming session may further
include receiving the video content for the gaming session to display via a graphical
user interface of the client device.
[0071] The series of acts 600 may further include, in response to detecting the trigger
condition, providing a plurality of selectable options associating with pulling control
of one or more gaming session control elements for the gaming session via a graphical
user interface of the client device. The one or more gaming session control elements
may include one or more of input control, video control, or audio control for the
gaming session. In addition, pulling input control from the gaming session may include
pulling input control from the input device to the client device based on a detected
selection of a first selectable option from the plurality of selectable options provided
via the graphical user interface. In one or more implementations, the series of acts
600 further includes detecting a selection of a second selectable option from the
plurality of selectable options associated with video control for the gaming session
and pulling video control for the gaming session by providing a request to receive
video content for the gaming session from the gaming system at the client device.
[0072] FIG. 7 illustrates certain components that may be included within a computer system
700. One or more computer systems 700 may be used to implement the various devices,
components, and systems described herein.
[0073] The computer system 700 includes a processor 701. The processor 701 may be a general
purpose single- or multi-chip microprocessor (e.g., an Advanced RISC (Reduced Instruction
Set Computer) Machine (ARM)), a special-purpose microprocessor (e.g., a digital signal
processor (DSP)), a microcontroller, a programmable gate array, etc. The processor
701 may be referred to as a central processing unit (CPU). Although just a single
processor 701 is shown in the computer system 700 of FIG. 7, in an alternative configuration,
a combination of processors (e.g., an ARM and DSP) could be used.
[0074] The computer system 700 also includes memory 703 in electronic communication with
the processor 701. The memory 703 may be any electronic component capable of storing
electronic information. For example, the memory 703 may be embodied as random access
memory (RAM), read-only memory (ROM), magnetic disk storage media, optical storage
media, flash memory devices in RAM, on-board memory included with the processor, erasable
programmable read-only memory (EPROM), electrically erasable programmable read-only
memory (EEPROM) memory, registers, and so forth, including combinations thereof.
[0075] Instructions 705 and data 707 may be stored in the memory 703. The instructions 705
may be executable by the processor 701 to implement some or all of the functionality
disclosed herein. Executing the instructions 705 may involve the use of the data 707
that is stored in the memory 703. Any of the various examples of modules and components
described herein may be implemented, partially or wholly, as instructions 705 stored
in memory 703 and executed by the processor 701. Any of the various examples of data
described herein may be among the data 707 that is stored in memory 703 and used during
execution of the instructions 705 by the processor 701.
[0076] A computer system 700 may also include one or more communication interfaces 709 for
communicating with other electronic devices. The communication interface(s) 709 may
be based on wired communication technology, wireless communication technology, or
both. Some examples of communication interfaces 709 include a Universal Serial Bus
(USB), an Ethernet adapter, a wireless adapter that operates in accordance with an
Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication
protocol, a Bluetooth
® wireless communication adapter, and an infrared (IR) communication port.
[0077] A computer system 700 may also include one or more input devices 711 and one or more
output devices 713. Some examples of input devices 711 include a keyboard, mouse,
microphone, remote control device, button, joystick, trackball, touchpad, and lightpen.
Some examples of output devices 713 include a speaker and a printer. One specific
type of output device that is typically included in a computer system 700 is a display
device 715. Display devices 715 used with embodiments disclosed herein may utilize
any suitable image projection technology, such as liquid crystal display (LCD), light-emitting
diode (LED), gas plasma, electroluminescence, or the like. A display controller 717
may also be provided, for converting data 707 stored in the memory 703 into text,
graphics, and/or moving images (as appropriate) shown on the display device 715.
[0078] The various components of the computer system 700 may be coupled together by one
or more buses, which may include a power bus, a control signal bus, a status signal
bus, a data bus, etc. For the sake of clarity, the various buses are illustrated in
FIG. 7 as a bus system 719.
[0079] The techniques described herein may be implemented in hardware, software, firmware,
or any combination thereof, unless specifically described as being implemented in
a specific manner. Any features described as modules, components, or the like may
also be implemented together in an integrated logic device or separately as discrete
but interoperable logic devices. If implemented in software, the techniques may be
realized at least in part by a non-transitory processor-readable storage medium comprising
instructions that, when executed by at least one processor, perform one or more of
the methods described herein. The instructions may be organized into routines, programs,
objects, components, data structures, etc., which may perform particular tasks and/or
implement particular data types, and which may be combined or distributed as desired
in various embodiments.
[0080] The term "determining" encompasses a wide variety of actions and, therefore, "determining"
can include calculating, computing, processing, deriving, investigating, looking up
(e.g., looking up in a table, a database or another data structure), ascertaining
and the like. Also, "determining" can include receiving (e.g., receiving information),
accessing (e.g., accessing data in a memory) and the like. Also, "determining" can
include resolving, selecting, choosing, establishing and the like.
[0081] The terms "comprising," "including," and "having" are intended to be inclusive and
mean that there may be additional elements other than the listed elements. Additionally,
it should be understood that references to "one embodiment" or "an embodiment" of
the present disclosure are not intended to be interpreted as excluding the existence
of additional embodiments that also incorporate the recited features. For example,
any element or feature described in relation to an embodiment herein may be combinable
with any element or feature of any other embodiment described herein, where compatible.
1. A method performed by an input device (104), comprising:
performing (510) a pairing process with a client device (106), wherein performing
the pairing process comprises storing a device profile (124) on the input device (104)
including information associated with the client device (106);
transmitting (520) input commands for a gaming session (112) to a gaming system (110)
via a first communication protocol;
periodically transmitting, via a second communication protocol, signals from the input
device to the client device;
determining that the input device and the client device are within a threshold distance
to be able to establish a connection over the periodically transmitted signals from
the input device to the client device;
identifying (530), by the input device (104), a trigger condition associated with
a desire to transfer control of one or more control elements from the input device
to the client device, based on a detected proximity of the input device and the client
device and based on the signal transmitted via the second communication protocol;
and
causing (540) a transfer of input control for the gaming session (112) to the client
device (106) in response to identifying the trigger condition and verifying that the
client device (106) corresponds to the device profile (124).
2. The method of claim 1, wherein the first communication protocol comprises a proprietary
wireless communication protocol unique to the input device and the gaming system,
and wherein the second communication protocol comprises a different wireless communication
protocol from the proprietary wireless communication protocol.
3. The method of claim 1, wherein the input device transmits input commands via the first
communication protocol using a first antenna on the input device, and wherein the
signal transmitted by the input device using the second communication protocol is
transmitted using a second antenna on the input device.
4. The method of claim
1, wherein the gaming system is implemented on one or more of:
one or more server devices on a cloud computing system; or
a local gaming console in communication with the client device via a different communication
protocol than the first communication protocol.
5. The method of claim 1, further comprising
wherein periodically transmitting the signals from the first input device to the client
device includes transmitting a low energy wireless signal via the second communication
protocol in conjunction with transmitting input commands for the gaming session to
the gaming system via the first communication protocol.
6. The method of claim 1, wherein video content for the gaming session is received from
the client device for display at a display device in communication with the gaming
system prior to identifying the trigger condition, the method further comprising causing
the video content to be provided to the client device after identifying the trigger
condition.
7. The method of claim 1, further comprising:
maintaining, on the input device, a plurality of device profiles corresponding to
a plurality of client devices with which the input device has previously performed
one or more pairing processes;
detecting, by the input device, an additional trigger condition associated with proximity
of an additional client device associated with an additional device profile from the
plurality of device profiles via the second communication protocol; and
in response to detecting the additional trigger condition, causing a transfer of input
control from the client device to the additional client device.
8. A method performed by a client device (106), comprising:
performing (610) a pairing process with an input device (104), wherein performing
the pairing process comprises providing information to include within a device profile
(124) associated with the client device (106) stored on the input device (104);
detecting a plurality of signals periodically transmitted from the input device via
a second communication protocol;
determining that the input device and the client device are within a threshold distance
to be able to establish a connection over the periodically transmitted signals from
the input device to the client device;
identifying (620) a trigger condition associated with a desire to transfer control
of one or more control elements from the input device to the client device, based
on a detected proximity of the input device and the client device and based on the
signal transmitted via the second communication protocol), wherein the input device
(104) has input control for a gaming session (112) prior to identifying the trigger
condition, wherein the input device (104) is connected with a gaming system (110)
hosting the gaming session (112) via a first communication protocol;
in response to identifying the trigger condition:
establishing (630), by the client device (106), a connection with the gaming system
(110); and
continuing (630) the gaming session (112) with the gaming system (110) by pulling
input control for the gaming session (112) from the input device (104) to the client
device (106).
9. The method of claim 8, wherein continuing the gaming session further comprises:
providing, by the client device, a request to receive video content for the gaming
session from the gaming system, wherein the video content is previously provided to
a display device connected to the gaming system prior to identifying the trigger condition;
and
receiving the video content for the gaming session to display via a graphical user
interface of the client device.
10. The method of claim 8, further comprising:
in response to identifying the trigger condition, providing a plurality of selectable
options associated with pulling control of one or more gaming session control elements
for the gaming session via a graphical user interface of the client device, the one
or more gaming session control elements including one or more of input control, video
control, or audio control for the gaming session, and
wherein pulling input control for the gaming session from the input device to the
client device is based on a detected selection of a first selectable option from the
plurality of selectable options provided via the graphical user interface.
11. The method of claim 10 further comprising:
detecting a selection of a second selectable option from the plurality of selectable
options associated with video control for the gaming session; and
pulling video control for the gaming session by providing a request to receive video
content for the gaming session from the gaming system at the client device.
12. The method of claim 8, wherein the gaming system is implemented on one or more of:
one or more server devices on a cloud computing system; or
a local gaming console in communication with the client device via a different communication
protocol than the first communication protocol.
13. The method of claim 8, wherein the first communication protocol comprises a proprietary
wireless communication protocol unique to the input device and the gaming system,
and wherein the second communication protocol comprises a different wireless communication
protocol from the first communication protocol.
14. A system, comprising:
one or more processors;
memory in electronic communication with the one or more processors; and
instructions stored in the memory, the instructions being executable by the one or
more processors to cause an input device to carry out the method of any one of claims
1 to 7.
15. A system, comprising:
one or more processors;
memory in electronic communication with the one or more processors; and
instructions stored in the memory, the instructions being executable by the one or
more processors to cause an input device to carry out the method of any one of claims
8 to 13.
1. Verfahren, das durch eine Eingabevorrichtung (104) durchgeführt wird, umfassend:
Durchführen (510) eines Kopplungsprozesses mit einer Client-Vorrichtung (106), wobei
das Durchführen des Kopplungsprozesses Speichern eines Vorrichtungsprofils (124) auf
der Eingabevorrichtung (104) umfasst, das Informationen beinhaltet, die der Client-Vorrichtung
(106) zugeordnet sind;
Übertragen (520) von Eingabebefehlen für eine Spielsitzung (112) an ein Spielsystem
(110) über ein erstes Kommunikationsprotokoll;
periodisches Übertragen von Signalen von der Eingabevorrichtung an die Client-Vorrichtung
über ein zweites Kommunikationsprotokoll;
Bestimmen, dass sich die Eingabevorrichtung und die Client-Vorrichtung innerhalb eines
Schwellenabstands befinden, um dazu in der Lage zu sein, eine Verbindung über die
periodisch übertragenen Signale von der Eingabevorrichtung an die Client-Vorrichtung
herzustellen;
Identifizieren (530), durch die Eingabevorrichtung (104), einer Auslösebedingung,
die einem Wunsch zugeordnet ist, die Steuerung von einem oder mehreren Steuerelementen
von der Eingabevorrichtung an die Client-Vorrichtung zu übertragen, basierend auf
einer erkannten Nähe der Eingabevorrichtung und der Client-Vorrichtung und basierend
auf dem Signal, das über das zweite Kommunikationsprotokoll übertragen wird; und
Veranlassen (540) einer Übertragung einer Eingabesteuerung für die Spielsitzung (112)
an die Client-Vorrichtung (106) als Reaktion auf das Identifizieren der Auslösebedingung
und Verifizieren, dass die Client-Vorrichtung (106) dem Vorrichtungsprofil (124) entspricht.
2. Verfahren nach Anspruch 1, wobei das erste Kommunikationsprotokoll ein proprietäres
drahtloses Kommunikationsprotokoll umfasst, das für die Eingabevorrichtung und das
Spielsystem einzigartig ist, und wobei das zweite Kommunikationsprotokoll ein anderes
drahtloses Kommunikationsprotokoll als das proprietäre drahtlose Kommunikationsprotokoll
umfasst.
3. Verfahren nach Anspruch 1, wobei die Eingabevorrichtung Eingabebefehle über das erste
Kommunikationsprotokoll unter Verwendung einer ersten Antenne an der Eingabevorrichtung
überträgt und wobei das von der Eingabevorrichtung unter Verwendung des zweiten Kommunikationsprotokolls
übertragene Signal unter Verwendung einer zweiten Antenne an der Eingabevorrichtung
übertragen wird.
4. Verfahren nach Anspruch 1, wobei das Spielsystem auf einem oder mehreren der Folgenden
implementiert ist:
einer oder mehreren Servervorrichtungen auf einem Cloud-Computing-System; oder
einer lokalen Spielkonsole, die über ein anderes Kommunikationsprotokoll als das erste
Kommunikationsprotokoll mit der Client-Vorrichtung in Kommunikation steht.
5. Verfahren nach Anspruch 1, ferner umfassend:
wobei periodisches Übertragen der Signale von der ersten Eingabevorrichtung an die
Client-Vorrichtung Übertragen eines drahtlosen Niedrigenergie-Signals über das zweite
Kommunikationsprotokoll in Verbindung mit Übertragen von Eingabebefehlen für die Spielsitzung
an das Spielsystem über das erste Kommunikationsprotokoll beinhaltet.
6. Verfahren nach Anspruch 1, wobei Videoinhalt für die Spielsitzung von der Client-Vorrichtung
zur Anzeige auf einer Anzeigevorrichtung in Kommunikation mit dem Spielsystem empfangen
wird, bevor die Auslösebedingung identifiziert wird, wobei das Verfahren ferner Veranlassen
umfasst, dass der Videoinhalt der Client-Vorrichtung nach dem Identifizieren der Auslösebedingung
bereitgestellt wird.
7. Verfahren nach Anspruch 1, ferner umfassend:
Pflegen, auf der Eingabevorrichtung, einer Vielzahl von Vorrichtungsprofilen, die
einer Vielzahl von Client-Vorrichtungen entsprechen, mit denen die Eingabevorrichtung
zuvor einen oder mehrere Kopplungsprozesse durchgeführt hat;
Detektieren, durch die Eingabevorrichtung, einer zusätzlichen Auslösebedingung, die
einer Nähe einer zusätzlichen Client-Vorrichtung zugeordnet ist, die einem zusätzlichen
Vorrichtungsprofil aus der Vielzahl von Vorrichtungsprofilen zugeordnet ist, über
das zweite Kommunikationsprotokoll; und
als Reaktion auf das Detektieren der zusätzlichen Auslösebedingung, Veranlassen einer
Übertragung der Eingabesteuerung von der Client-Vorrichtung an die zusätzliche Client-Vorrichtung.
8. Verfahren, das durch eine Client-Vorrichtung (106) durchgeführt wird, umfassend:
Durchführen (610) eines Kopplungsprozesses mit einer Eingabevorrichtung (104), wobei
das Durchführen des Kopplungsprozesses Bereitstellen von Informationen umfasst, die
in ein Vorrichtungsprofil (124) einzubeziehen sind, das der Client-Vorrichtung (106)
zugeordnet ist und das auf der Eingabevorrichtung (104) gespeichert ist;
Detektieren einer Vielzahl von Signalen, die periodisch von der Eingabevorrichtung
über ein zweites Kommunikationsprotokoll übertragen wird;
Bestimmen, dass sich die Eingabevorrichtung und die Client-Vorrichtung innerhalb eines
Schwellenabstands befinden, um dazu in der Lage zu sein, eine Verbindung über die
periodisch übertragenen Signale von der Eingabevorrichtung an die Client-Vorrichtung
herzustellen;
Identifizieren (620) einer Auslösebedingung, die einem Wunsch zugeordnet ist, die
Steuerung von einem oder mehreren Steuerelementen von der Eingabevorrichtung an die
Client-Vorrichtung zu übertragen, basierend auf einer erkannten Nähe der Eingabevorrichtung
und der Client-Vorrichtung und basierend auf dem Signal, das über das zweite Kommunikationsprotokoll
übertragen wird), wobei die Eingabevorrichtung (104) eine Eingabesteuerung für eine
Spielsitzung (112) vor dem Identifizieren der Auslösebedingung aufweist, wobei die
Eingabevorrichtung (104) mit einem Spielsystem (110), das die Spielsitzung (112) hostet,
über ein erstes Kommunikationsprotokoll verbunden ist;
als Reaktion auf das Identifizieren der Auslösebedingung:
Herstellen (630) einer Verbindung mit dem Spielsystem (110) durch die Client-Vorrichtung
(106); und
Fortsetzen (630) der Spielsitzung (112) mit dem Spielsystem (110) durch Ziehen der
Eingabesteuerung für die Spielsitzung (112) von der Eingabevorrichtung (104) zu der
Client-Vorrichtung (106) .
9. Verfahren nach Anspruch 8, wobei das Fortsetzen der Spielsitzung ferner Folgendes
umfasst:
Bereitstellen, durch die Client-Vorrichtung, einer Anforderung zum Empfangen von Videoinhalt
für die Spielsitzung von dem Spielsystem, wobei der Videoinhalt zuvor einer Anzeigevorrichtung
bereitgestellt wird, die mit dem Spielsystem verbunden ist, bevor die Auslösebedingung
identifiziert wird; und
Empfangen des Videoinhalts für die Spielsitzung zum Anzeigen über eine grafische Benutzerschnittstelle
der Client-Vorrichtung.
10. Verfahren nach Anspruch 8, ferner umfassend:
als Reaktion auf das Identifizieren der Auslösebedingung, Bereitstellen einer Vielzahl
von auswählbaren Optionen, die dem Ziehen der Steuerung eines oder mehrerer Spielsitzungssteuerelemente
für die Spielsitzung über eine grafische Benutzerschnittstelle der Client-Vorrichtung
zugeordnet sind, wobei das eine oder die mehreren Spielsitzungssteuerelemente eines
oder mehrere von Eingabesteuerung, Videosteuerung oder Audiosteuerung für die Spielsitzung
beinhalten, und
wobei das Ziehen der Eingabesteuerung für die Spielsitzung von der Eingabevorrichtung
zu der Client-Vorrichtung auf einer detektierten Auswahl einer ersten auswählbaren
Option aus der Vielzahl von auswählbaren Optionen basiert, die über die grafische
Benutzerschnittstelle bereitgestellt wird.
11. Verfahren nach Anspruch 10, ferner umfassend:
Detektieren einer Auswahl einer zweiten auswählbaren Option aus der Vielzahl von auswählbaren
Optionen, die einer Videosteuerung für die Spielsitzung zugeordnet ist; und
Ziehen der Videosteuerung für die Spielsitzung durch Bereitstellen einer Anforderung
zum Empfangen von Videoinhalt für die Spielsitzung von dem Spielsystem an der Client-Vorrichtung.
12. Verfahren nach Anspruch 8, wobei das Spielsystem auf einem oder mehreren der Folgenden
implementiert ist:
einer oder mehreren Servervorrichtungen auf einem Cloud-Computing-System; oder
einer lokalen Spielkonsole, die über ein anderes Kommunikationsprotokoll als das erste
Kommunikationsprotokoll mit der Client-Vorrichtung in Kommunikation steht.
13. Verfahren nach Anspruch 8, wobei das erste Kommunikationsprotokoll ein proprietäres
drahtloses Kommunikationsprotokoll umfasst, das für die Eingabevorrichtung und das
Spielsystem einzigartig ist, und wobei das zweite Kommunikationsprotokoll ein anderes
drahtloses Kommunikationsprotokoll als das erste Kommunikationsprotokoll umfasst.
14. System, umfassend:
einen oder mehrere Prozessoren;
Speicher in elektronischer Kommunikation mit dem einen oder den mehreren Prozessoren;
und
Anweisungen, die in dem Speicher gespeichert sind, wobei die Anweisungen durch den
einen oder die mehreren Prozessoren ausführbar sind, um eine Eingabevorrichtung zu
veranlassen, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
15. System, umfassend:
einen oder mehrere Prozessoren;
Speicher in elektronischer Kommunikation mit dem einen oder den mehreren Prozessoren;
und
Anweisungen, die in dem Speicher gespeichert sind, wobei die Anweisungen durch den
einen oder die mehreren Prozessoren ausführbar sind, um eine Eingabevorrichtung zu
veranlassen, das Verfahren nach einem der Ansprüche 8 bis 13 auszuführen.
1. Procédé réalisé par un dispositif d'entrée (104), comprenant :
la réalisation (510) d'un processus d'appairage avec un dispositif client (106), dans
lequel la réalisation du processus d'appairage comprend le stockage d'un profil de
dispositif (124) sur le dispositif d'entrée (104) comportant des informations associées
au dispositif client (106) ;
la transmission (520) des commandes d'entrée pour une session de jeu (112) à un système
de jeu (110) via un premier protocole de communication ;
la transmission de manière périodique, via un second protocole de communication, de
signaux du dispositif d'entrée au dispositif client ;
la détermination du fait que le dispositif d'entrée et le dispositif client se trouvent
à une distance seuil pour pouvoir établir une connexion via les signaux transmis de
manière périodique du dispositif d'entrée vers le dispositif client ;
l'identification (530), par le dispositif d'entrée (104), d'une condition de déclenchement
associée à un désir de transférer la commande d'un ou plusieurs éléments de commande
du dispositif d'entrée vers le dispositif client, sur la base d'une proximité détectée
du dispositif d'entrée et du dispositif client et sur la base du signal transmis via
le second protocole de communication ; et
le fait d'amener (540) un transfert de commande d'entrée pour la session de jeu (112)
au dispositif client (106) en réponse à l'identification de la condition de déclenchement
et à la vérification du fait que le dispositif client (106) correspond au profil de
dispositif (124).
2. Procédé selon la revendication 1, dans lequel le premier protocole de communication
comprend un protocole de communication sans fil propriétaire unique au dispositif
d'entrée et au système de jeu, et dans lequel le second protocole de communication
comprend un protocole de communication sans fil différent du protocole de communication
sans fil propriétaire.
3. Procédé selon la revendication 1, dans lequel le dispositif d'entrée transmet des
commandes d'entrée via le premier protocole de communication à l'aide d'une première
antenne sur le dispositif d'entrée, et dans lequel le signal transmis par le dispositif
d'entrée à l'aide du second protocole de communication est transmis à l'aide d'une
seconde antenne sur le dispositif d'entrée.
4. Procédé selon la revendication 1, dans lequel le système de jeu est mis en œuvre sur
un ou plusieurs des éléments suivants :
un ou plusieurs dispositifs de serveurs sur un système informatique en nuage ; ou
une console de jeu locale en communication avec le dispositif client via un protocole
de communication différent du premier protocole de communication.
5. Procédé selon la revendication 1, comprenant en outre : dans lequel la transmission
de manière périodique des signaux du premier dispositif d'entrée au dispositif client
comporte la transmission d'un signal sans fil à faible énergie via le second protocole
de communication en conjonction avec la transmission de commandes d'entrée pour la
session de jeu au système de jeu via le premier protocole de communication.
6. Procédé selon la revendication 1, dans lequel le contenu vidéo pour la session de
jeu est reçu du dispositif client pour être affiché sur un dispositif d'affichage
en communication avec le système de jeu avant d'identifier la condition de déclenchement,
le procédé comprenant en outre le fait d'amener le contenu vidéo à être fourni au
dispositif client après l'identification de la condition de déclenchement.
7. Procédé selon la revendication 1, comprenant en outre :
le maintien, sur le dispositif d'entrée, d'une pluralité de profils de dispositif
correspondant à une pluralité de dispositifs clients avec lesquels le dispositif d'entrée
a précédemment réalisé un ou plusieurs processus d'appairage ;
la détection, par le dispositif d'entrée, d'une condition de déclenchement supplémentaire
associée à la proximité d'un dispositif client supplémentaire associé à un profil
de dispositif supplémentaire parmi la pluralité de profils de dispositif via le second
protocole de communication ; et
en réponse à la détection de la condition de déclenchement supplémentaire, le fait
d'amener un transfert de la commande d'entrée du dispositif client vers le dispositif
client supplémentaire.
8. Procédé réalisé par un dispositif client (106), comprenant :
la réalisation (610) d'un processus d'appairage avec un dispositif d'entrée (104),
dans lequel la réalisation du processus d'appairage comprend la fourniture d'informations
à inclure dans un profil de dispositif (124) associé au dispositif client (106) stocké
sur le dispositif d'entrée (104) ;
la détection d'une pluralité de signaux transmis de manière périodique à partir du
dispositif d'entrée via un second protocol de communication;
la détermination du fait que le dispositif d'entrée et le dispositif client se trouvent
à une distance seuil pour pouvoir établir une connexion via les signaux transmis de
manière périodique du dispositif d'entrée vers le dispositif client ;
l'identification (620) d'une condition de déclenchement associée à un désir de transférer
la commande d'un ou plusieurs éléments de commande du dispositif d'entrée vers le
dispositif client, sur la base d'une proximité détectée du dispositif d'entrée et
du dispositif client et sur la base du signal transmis via le second protocole de
communication), dans lequel le dispositif d'entrée (104) a la commande d'entrée pour
une session de jeu (112) avant l'identification de la condition de déclenchement,
dans lequel le dispositif d'entrée (104) est connecté à un système de jeu (110) hébergeant
la session de jeu (112) via un premier protocole de communication ;
en réponse à l'identification de la condition de déclenchement :
l'établissement (630), par le dispositif client (106), d'une connexion avec le système
de jeu (110) ; et
le fait de continuer (630) la session de jeu (112) avec le système de jeu (110) en
transférant la commande d'entrée pour la session de jeu (112) du dispositif d'entrée
(104) vers le dispositif client (106).
9. Procédé selon la revendication 8, dans lequel le fait de continuer la session de jeu
comprend en outre :
la fourniture, par le dispositif client, d'une demande de réception de contenu vidéo
pour la session de jeu en provenance du système de jeu, dans lequel le contenu vidéo
est préalablement fourni à un dispositif d'affichage connecté au système de jeu avant
l'identification de la condition de déclenchement ; et
la réception du contenu vidéo pour la session de jeu à afficher via une interface
utilisateur graphique du dispositif client.
10. Procédé selon la revendication 8, comprenant en outre :
en réponse à l'identification de la condition de déclenchement, la fourniture d'une
pluralité d'options sélectionnables en transférant la commande d'un ou plusieurs éléments
de commande de session de jeu pour la session de jeu via une interface utilisateur
graphique du dispositif client, les un ou plusieurs éléments de commande de session
de jeu comportant une ou plusieurs commandes d'entrée, commandes vidéo ou commandes
audio pour la session de jeu, et
dans lequel le transfert de la commande d'entrée pour la session de jeu du dispositif
d'entrée vers le dispositif client est basée sur une sélection détectée d'une première
option sélectionnable parmi la pluralité d'options sélectionnables fournies via l'interface
utilisateur graphique.
11. Procédé selon la revendication 10, comprenant en outre :
la détection d'une sélection d'une seconde option sélectionnable parmi la pluralité
d'options sélectionnables associées à la commande vidéo pour la session de jeu ; et
le transfert de la commande vidéo pour la session de jeu en fournissant une demande
pour recevoir du contenu vidéo pour la session de jeu à partir du système de jeu sur
le dispositif client.
12. Procédé selon la revendication 8, dans lequel le système de jeu est mis en œuvre sur
un ou plusieurs des éléments suivants :
un ou plusieurs dispositifs de serveurs sur un système informatique en nuage ; ou
une console de jeu locale en communication avec le dispositif client via un protocole
de communication différent du premier protocole de communication.
13. Procédé selon la revendication 8, dans lequel le premier protocole de communication
comprend un protocole de communication sans fil propriétaire unique au dispositif
d'entrée et au système de jeu, et dans lequel le second protocole de communication
comprend un protocole de communication sans fil différent du premier protocole de
communication.
14. Système, comprenant :
un ou plusieurs processeurs ;
une mémoire en communication électronique avec les un ou plusieurs processeurs ; et
des instructions stockées dans la mémoire, les instructions étant exécutables par
les un ou plusieurs processeurs pour amener un dispositif d'entrée à exécuter le procédé
selon l'une quelconque des revendications 1 à 7.
15. Système, comprenant :
un ou plusieurs processeurs ;
une mémoire en communication électronique avec les un ou plusieurs processeurs ; et
des instructions stockées dans la mémoire, les instructions étant exécutables par
les un ou plusieurs processeurs pour amener un dispositif d'entrée à exécuter le procédé
selon l'une quelconque des revendications 8 à 13.