Method and system for transferring control elements for a game session between devices

By integrating a device management system into the input device and utilizing multiple antennas and different communication protocols, the system automatically detects and pairs with nearby devices, solving the problem of interruption when switching game sessions between different devices. This enables seamless and rapid transfer of control elements, improving the user experience.

CN115209962BActive Publication Date: 2025-11-04MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180017410.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-02-26
Filing Date
2021-01-20
Publication Date
2025-11-04
Estimated Expiration
2041-01-20

AI Technical Summary

Technical Problem

Existing game session switching systems often cause interruptions or delays, especially when switching between different devices, impacting the user experience, particularly in multiplayer games.

Method used

By implementing a device management system on the input device, utilizing multiple antennas and different communication protocols, it automatically detects and pairs nearby devices, enabling seamless transfer of game session control elements, including input, video, and audio controls.

Benefits of technology

It enables quick and efficient switching of game session control elements between different devices without interrupting the game session, improving device flexibility and power performance, and reducing user wait time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115209962B_ABST
    Figure CN115209962B_ABST
Patent Text Reader

Abstract

The present disclosure relates to systems, methods, and computer-readable media for facilitating the convenient transfer of control elements for a game session from one device to another device without interrupting the game session for one or more players. For example, the systems disclosed herein include pairing an input device (e.g., a game controller) with one or more client devices. Once paired, the input device can detect a triggering condition based on the proximity of a registered client device to the input device. The client device can pull control over one or more control elements for a game session. The client device can then continue the game session without interrupting the experience of users or other users who can be participating within the game session.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] In recent years, communication technologies have developed rapidly, especially the ability of electronic devices to communicate with each other via 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). Furthermore, as cloud computing becomes more popular and the communication capabilities of computing devices continue to evolve, an increasingly diverse set of end-users is using a wider variety of devices to consume digital content.

[0002] In many situations, individuals find different devices better suited to different scenarios. For example, in gaming, an individual might find a mobile device ideal for consuming game content while traveling or meeting in public. Alternatively, the same individuals might prefer consuming content at home on a home console coupled to a television or other display device. In some cases, individuals may wish to switch between different gaming setups. However, conventional gaming and communication systems suffer from several drawbacks and limitations.

[0003] Specifically, conventional systems used to switch a game session from one device to another often involve interrupting the game session or otherwise hindering its continuity. For example, many conventional systems involve interrupting the game session to perform a setup process that involves manually pressing buttons on multiple devices to connect them to each other. As another example, many conventional systems involve exiting the game or application to modify settings or otherwise indicating a need to modify the game setup used for the game session. In each of these examples, delays and user frustration can occur, especially when the user is involved in a game session that includes other users (e.g., a multiplayer application).

[0004] There are these and other issues related to switching between different setups or device environments when consuming digital content. Attached Figure Description

[0005] Figure 1 An example environment is shown, according to one or more embodiments, including a device management system for managing connections between one or more devices and a gaming system.

[0006] Figure 2A-2C An example implementation of transferring input control from an input device to a client device according to one or more embodiments is shown.

[0007] Figures 3A-3C An example implementation of transferring input control between client devices is shown, according to one or more embodiments.

[0008] Figure 4An example implementation of a graphical user interface for selectively transferring game sessions between devices, according to one or more embodiments, is shown.

[0009] Figure 5 An example sequence of actions, according to one or more embodiments, is shown for causing a transfer of input control of a game session from an input device to a client device.

[0010] Figure 6 Another example sequence of actions, according to one or more embodiments, is shown for causing a transfer of input control of a game session from an input device to a client device.

[0011] Figure 7 It explains certain components that can be included within a computer system. Detailed Implementation

[0012] This disclosure relates to a device management system on an input device (e.g., a game controller) that facilitates the switching of one or more game session control elements (or simply "control elements") between computing devices without interrupting the current game session. Specifically, as will be discussed in more detail below, the device management system can be implemented on an input device such as a game controller to enable the convenient and seamless transfer of game session control elements from one device to another. In fact, as will be discussed in more detail below, once an input device is paired with a client device, the input device on which the device management system is implemented can be used to facilitate the transfer of control of the game session to the client device at any point in time during the game session.

[0013] For example, and as will be discussed in more detail below, the input device and client device may perform a pairing process in which they exchange information that enables the input device to identify its proximity and that enables the client device to connect to the game system. When participating in a game session in which the input device provides input commands to the game system (e.g., a local console and / or a cloud-based game system), the input device and client device may identify or otherwise detect triggering conditions (e.g., a tap on the game controller and the client device) that indicate a need to transfer control of the game session to the client device. In response to this triggering condition, the client device may pull or otherwise acquire control of control elements such as input controls, video controls, and any other control elements of the game session.

[0014] This disclosure includes several practical applications that provide benefits and / or solve problems associated with conventional systems and techniques for dynamically modifying the configuration of a device for an ongoing game session. Specifically, the system described herein provides specific features and functions that allow the transfer of control elements for a game session from one device to another without interrupting the current game session in the game system's main memory. Furthermore, the system described herein enables the transfer of game sessions independent of whether the game session is stored in local console main memory or on a console implemented as part of a cloud computing system.

[0015] For example, in one or more embodiments described herein, an input device can facilitate a rapid and efficient transfer of input control (and other control elements) by storing any number of device profiles corresponding to a respective client device capable of pulling or otherwise receiving control of a game session from another device. Specifically, once paired with a given client device and with the associated device profile stored as part of the pairing process, the device management system can utilize the stored device profiles to detect trigger conditions based on the proximity of client devices that match the device profiles stored on the input device. In this way, the device management system can be pre-configured to identify a client device and cause a portion of the control of the game session (e.g., input control, video control) to that client device upon detection of a trigger condition.

[0016] In addition to reducing resistance to transferring control elements by storing device profiles, the device management system can also utilize two or more communication protocols to detect one of any number of client devices with a range of capabilities and cause control of the game session to be transferred to a diverse set of client devices. For example, where an input device can be configured to communicate with the game system using a first communication protocol optimized for the characteristics of that input device and / or the game system in a given device environment, the same communication protocol may be suboptimal (or incompatible) for another client device. Therefore, the device management system can increase the flexibility of participating in the game system by using a first protocol (e.g., a proprietary protocol specific to or otherwise dedicated to that input device and / or game console) to communicate with the game system, while using a second protocol to communicate with or detect the presence of more general client devices (e.g., mobile devices, laptops, etc.).

[0017] In addition to providing additional flexibility in allowing a range of client devices to communicate with the game system, using different communication protocols (e.g., using different antennas) enables seamless switching of control while significantly improving the power performance of the input devices. For example, where using a first communication protocol consumes significantly more power than using a second protocol, utilizing different communication protocols improves the performance of the input device by consuming less power when transmitting signals to detect the presence of client devices. Furthermore, by allowing client devices to use various communication protocols to communicate with the game system, the respective client devices can further optimize their performance to outperform systems that would require the same communication protocol as the input devices to communicate with the game system. Thus, by utilizing multiple antennas of different types or using different communication protocols to transmit signals, one or more embodiments described herein can improve the power performance of other devices within the environment of the input devices and the game system.

[0018] As illustrated in the foregoing discussion, this disclosure utilizes various terms to describe the features and advantages of device management systems within various computing environments. Additional details regarding the meaning of such terms will now be provided. For example, as used herein, "input device" can 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 specifically refers to a game controller or other dedicated hardware device associated with a gaming system and including hardware and / or software thereon that enables the game controller to transmit input commands using a first communication protocol. As will be discussed in more detail below, an input device may include any number of antennas capable of communicating with other devices using multiple different communication protocols.

[0019] As used herein, "game session" can refer to an application and the associated time duration during which one or more users can access the game session. In one or more embodiments, a game session can refer to a period of time that begins when a person (e.g., a user or player) launches the game application and ends when that person (or another person) terminates the game session. For example, a game session can begin when a user opens the application and end when the user closes the game session, ends the game, loses connection to the game system, and / or logs out or otherwise disconnects the device from the game session (e.g., upon reaching a threshold or other predetermined time period). In one or more embodiments described herein, a single game session can include a first portion of the game session when a user uses a first device to engage in or consume game content and a second portion when the user uses a second device to engage in or consume game content upon completing a transfer of one or more control elements to a second device. A game session can continue during any number of transfers of control elements between devices and end when the user logs out, disconnects, or otherwise disconnects from the game system for a predetermined time period.

[0020] As used herein, a “control element” of a game session can refer to one or more elements of a game session associated with a person’s consumption of that game session. For example, a control element can refer to input control, video control, audio control, voice control, or other controls associated with how a person interacts with the game system and / or consumes game content. For illustration, a device (e.g., an input device, a client device) may have input control if the device has an active communication link with the game system such that the game system recognizes input commands transmitted by the device. As another example, a device may have video control or audio control if the device receives video and / or audio content streams from the game system used for the game session.

[0021] As used herein, "communication protocol" can refer to a specific format associated with the transmission of information between two devices. Specifically, a communication protocol can refer to a set of rules, syntax, semantics, synchronization, and possible error recovery methods associated with a method for communicating between two respective devices. In one or more embodiments described herein, a communication protocol refers to the type of network or wireless connection on which two different devices communicate. For example, in one or more embodiments described herein, a communication protocol refers to a proprietary protocol that is unique to or otherwise dedicated to game controllers and game consoles (e.g., the manufacturer or brand of the respective device / console). Other example communication protocols can refer to WiFi, Bluetooth (e.g., Bluetooth Low Energy (BLE)), Near Field Communication (NFC), or other wireless protocols. In fact, a communication protocol described herein can refer to any number of communication protocols that enable devices such as input devices, client devices, and / or gaming systems to communicate over a variety of different networks (e.g., wired or wireless networks).

[0022] Additional details regarding the device management system will now be provided with reference to the illustrative accompanying drawings depicting the example implementation. For example, Figure 1 An example environment 100 according to one or more embodiments described herein is illustrated. This example environment 100 includes one or more computing devices 102, input devices 104, and client devices 106 (e.g., multiple client devices). Each of the computing devices 102, input devices 104, and client devices 106 can communicate over a network 108, which may include one or more networks using one or more communication protocols or technologies for transmitting data. For example, network 108 may include the Internet, a local area network (LAN), or any data link that enables the transmission of electronic data between the computing devices 102, input devices 104, and / or client devices 106.

[0023] In one or more embodiments described herein, computing device 102 may refer to a local game console, a desktop computer, or other computing device capable of storing one or more game sessions for one or more game applications. Alternatively, in one or more embodiments, computing device 102 refers to one or more server devices and / or game consoles implemented within a data center 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 compute zones, virtual LANs, racks, fault domains, etc. In one or more embodiments described herein, a cloud computing system may include any number of game consoles capable of storing game sessions for a variety of end users.

[0024] like Figure 1As shown, computing device 102 may include a game system 110 implemented thereon. Game system 110 may store game sessions 112 accessible to one or more users of game system 110 over a period of time. Game system 110 may store or otherwise provide access to any number of additional game sessions associated with the same application or various applications. In one or more embodiments, game system 110 stores or otherwise provides access to game sessions 112 stored by one or more additional server devices (e.g., servers owned or operated by a third-party publisher).

[0025] like Figure 1 As shown, the game system 110 includes a data storage 114, which includes data stored thereon or otherwise accessible by the game system 110. For example, such as... Figure 1 As shown, data storage 114 may include session data 116. Session data may include any information associated with one or more game sessions. For example, session data 116 may include information about users or devices participating in a game session. Session data 116 may include the state of data used by applications associated with the game session. For example, session data 116 may include the current state of a character or virtual environment used in the game session at the current time or at one or more previous times.

[0026] As further illustrated, data storage 114 may include account data 118 associated with one or more users of the game system 110. For example, account data 118 may include user identifiers, authentication information (e.g., passwords, security tokens, etc.), or any information associated with the user of the game system 100 and associated client devices. In one or more embodiments described herein, the game system 110 may utilize account data 118 to verify the identity of input device 104 and / or client device 106 to determine whether client device 106 is permitted to pull one or more control elements for game session 112 from input device 104 (or other devices).

[0027] As described above, input device 104 can refer to an electronic or computing device configured to transmit input commands to game system 110 in conjunction with game session 112. In one or more embodiments described herein, input device 104 refers to a game controller or console controller associated with game system 110. For example, the hardware of input device 104 and game system 110 (e.g., game console) may originate from the same company or manufacturer and may include compatible hardware, firmware, and / or software that enables input device 104 to communicate via a specific communication protocol (e.g., a proprietary protocol specifically for communication between input device 104 and game system 110).

[0028] like Figure 1 As shown, input device 104 may include a device management system 120 implemented thereon. As will be discussed in more detail below, device management system 120 may provide features and functions to facilitate communication between input device 104 and other devices in environment 100. In addition to facilitating the switching of one or more control elements for an ongoing game session 112, device management system 120 may also facilitate pairing with one or more client devices 106.

[0029] The device management system 120 may include a profile manager 122 and device profiles 124. The profile manager 122 facilitates a pairing process with one or more client devices 106. For example, the profile manager 122 may monitor the proximity of one or more devices in pairing mode and perform the pairing process by collecting information about the devices and creating device profiles 124 associated with the respective devices for storage 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. Alternatively, the device management system 120 may include any number of device profiles 124 corresponding to multiple antennas (e.g., antennas 126a-n) on the input device 104.

[0030] In addition to performing the pairing process, profile manager 122 can facilitate the detection of triggering conditions based on the detected proximity of input device 104 relative to one or more client devices 106. For example, profile manager 122 can cause 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 has arrived in the neighborhood of input device 104. Additional details related to detecting proximity conditions will be discussed in more detail below.

[0031] like Figure 1 As shown, the input device 104 further includes a plurality of antennas 126a-n capable of transmitting signals to and from the input device 104. As described above, the input device 104 may include various 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 the transmission of data using each of the antennas 126a-n on the input device 104.

[0032] It will be understood that input device 104 may include any number of antennas 126a-n. For example, in one or more embodiments, input device 104 may include two, four, eight, or other specific numbers of antennas. In one or more implementations, the number of antennas on input device 104 may determine the number of device profiles 124 that can be registered or stored on input device 104. For example, in the case where input device 104 has four antennas, input device 104 may use a first antenna to communicate with game system 110 using a first communication protocol, and register up to three device profiles associated with three different client devices that can communicate with each of the remaining three antennas using one or more additional communication protocols.

[0033] As an illustrative example, and as will be discussed in more detail below, the first antenna 126a may refer to an antenna configured to transmit signals using a first communication protocol. For example, the first antenna 126a may refer to a first type of antenna dedicated to the input device 104 and capable of transmitting input commands to the game system 110 using a first communication protocol (e.g., a proprietary communication protocol dedicated to both the input device 104 and the game system 110).

[0034] In contrast, the second antenna 126b (and one or more additional antennas) can refer to a second type of antenna capable of wireless communication with various client devices 106. For example, the second antenna 126b may use a second communication protocol (e.g., WiFi, BLE, NFC, etc.) different from the first communication protocol to transmit signals. The additional antennas among the multiple antennas 126a-n can refer to other types of antennas capable of or otherwise configured to transmit signals using other types of protocols (e.g., the same or different from the second antenna 126b). Additional information regarding the multiple antennas 126a-n will be discussed in more detail below with various examples.

[0035] As described above, environment 100 may include one or more client devices 106. Client device 106 may refer to various types of devices. For example, in one or more embodiments, client device 106 may refer to portable devices, such as mobile devices (e.g., smartphones, tablets), laptop devices, or other computing devices that can be carried or transported by a user. Alternatively, client device may refer to non-portable devices, such as desktop computers, smart TVs, entertainment systems, or other systems with data processing and display capabilities. In fact, according to one or more embodiments, client device 106 may refer to any device capable of communicating with input device 104 using a second communication protocol and subsequently receiving game content and / or transmitting input commands to game system 110.

[0036] like Figure 1As shown, client device 106 may include a game system application 128 implemented thereon. Game system application 128 may refer to a software application (e.g., a standalone application, a web browser, or a combination of applications) associated with game system 110, which includes executable instructions enabling client device 106 to access one or more control elements for game session 112 or to acquire control over those one or more control elements (e.g., pulling input control from input device 104). For example, game system application 128 may cause client device 106 to register the device and / or user with game system 110 before or in conjunction with performing a pairing process with input device 104. Additionally, game system application 128 may include instructions causing client device 106 to communicate with game system 110 upon detecting a trigger condition associated with the proximity of client device 106 to input device 104.

[0037] Additional details regarding the transfer of one or more control elements used in a game session from one device to another will now be described in conjunction with an example implementation. For example, Figure 2A-2C An example implementation according to one or more embodiments is shown, in which a game controller is used to transfer input control of a game session to a client device (e.g., a mobile device). Figures 3A-3C Another example implementation according to one or more embodiments is shown, in which a game controller is used to transfer one or more control elements for a game session between a first client device (e.g., a laptop computer) and a second client device (e.g., a mobile device). Figure 4 Another example implementation according to one or more embodiments is shown, in which the game controller and graphical user interface facilitate the selective transfer of one or more of a plurality of control elements for a game session to a client device.

[0038] Will understand, although Figure 2A-4 Three implementations within different device environments are shown, but the features and functionalities described in each example can be similarly applied to another example. For example, combining... Figure 2A-2C The described features and functions can be applied to combinations Figure 3A-4 Examples of descriptions. Similarly, in combination Figures 3A-3C The described features and functions can be applied to combinations Figure 2A-2C and Figure 4 Examples described. Furthermore, in conjunction with... Figure 4 The described features and functions can be applied to combinations Figures 2A-3B Example of the description.

[0039] Figure 2AAn example environment 200 is shown, including a display device 202 with a graphical user interface 204. The display device 202 can communicate with a game console 206 (e.g., have an active connection). The game console 206 (and the display device 202) may include components combined with the above. Figure 1 Similar features and functions are discussed for the computing devices 102. In this example, game console 206 refers to a local game console on which game system 110 is implemented and capable of storing game sessions of the user of game console 206. Alternatively, game console 206 may receive game content from a server device on a cloud computing system, which stores one or more game sessions of the user of game console 206 and / or other users of game system 110.

[0040] like Figure 2A As shown, environment 200 further includes a game controller 208 having antennas 210a-b thereon capable of communicating with other devices in environment 200. Game controller 208 may refer to the combination described above. Figure 1 An example of the input device 104 discussed. As further shown, environment 200 includes a client device 212 (e.g., a mobile device) having a graphical user interface 214 thereon. Client device 212 may refer to a device having a game system application 128 (as described above). Figure 1 Example implementation of client device 106 (discussed).

[0041] Based on the topics discussed above, the game controller 208 and the client device 212 may have previously undergone a pairing process. For example, as part of the pairing process, the game controller 208 may have collected information about the client device 212 for use in a device profile stored on the game controller 208. Figure 2B-2C As further discussed, the game controller 208 may use device profiles on the game controller 208 to identify the client device 212 and facilitate the transfer of one or more control elements for a game session hosted on the game console 206 to the client device 212.

[0042] like Figure 2A As shown, the game console 206 can be connected to the display device 202 to provide video control of the game session to the display device 202. Specifically, the game console 206 can provide video content for the game session via streaming or otherwise to provide video control to the display device 202 via the graphical user interface 204 of the display device 202. In one or more embodiments, the game console 206 also provides audio control by providing audio content via one or more speakers of the display device 202. Although not explicitly stated in the original text... Figure 2AAs shown, however, the game console 206 may provide audio control to one or more additional devices (e.g., headphones, auxiliary speakers) that communicate with (or are coupled to the display device 202).

[0043] As further illustrated, the game console 206 may be connected to or have ongoing communication with the game controller 208. Specifically, the game console 206 and the game controller 208 may communicate via a first antenna 210a on the game controller 208. According to one or more examples described herein, the first antenna 210a may refer to a first type of antenna that communicates with the game console 206 using a first communication protocol associated with the first antenna 210a. The first communication protocol may refer to any of a plurality of communication protocols that enable the game controller 208 to transmit input commands to the game console 206.

[0044] In one or more embodiments, the first communication protocol refers to a proprietary or exclusive communication protocol associated with dedicated or special-purpose hardware and / or firmware of the game controller 208 and the game console 206. For example, in a game scenario where the game console 206 can communicate with up to eight or ten controllers at a given time, the game console 206 may be configured to use a proprietary protocol to receive input commands from the game controller 208, the proprietary protocol being optimized for the game application and configured to receive input commands across a wide frequency bandwidth. In one or more embodiments described herein, the game controller 208 communicates using a protocol specific to the game console 206 and / or a manufacturer-specific hardware component of the game controller 208.

[0045] Figure 2A An environment 200 is shown prior to detecting a trigger event associated with the proximity of the game controller 208 and the client device 212. Continuing to... Figure 2B The diagram illustrates an implementation where game controller 208 and client device 212 initiate contact (e.g., tapping together) or are within a predetermined proximity to each other based on triggering conditions. Specifically, device management system 120 on game controller 208 and game system application 128 on client device 212 can collaboratively determine (e.g., based on settings defining what constitutes a triggering condition) whether there is an intention to transfer one or more control elements from game controller 208 and / or display device 202 to client device 212.

[0046] For example, in one or more embodiments, the game controller 208 may use a second communication protocol to transmit signals from the second antenna 210b to determine whether a client device (e.g., client device 212) for which a device profile is stored has begun to contact the game controller 208 or has moved within a threshold distance of the game controller 208. In one or more implementations, the second antenna 210b transmits low-power energy signals (e.g., BLE signals) that can be received and processed by the client device 212 at periodic intervals. Specifically, the second antenna 210b may transmit low-power energy signals that can be received and used by any client device having the game system application 128 on it and that has previously been paired with the game controller 208 to establish a connection with the game console 206.

[0047] like Figure 2B As shown, client device 212 can receive signals transmitted from second antenna 210b. In response to receiving this signal, client device 212 can establish a connection 216 with game console 206 by sending an indication to game console 206 of a trigger condition associated with transferring control of one or more control elements to client device 212. For example, client device 212 can provide game console 206 with a request for control of one or more control elements for a game session. If game system application 128 on client device 212 has previously registered client device 212 with game system 110, client device 212 may have pre-authorization from game system 110 to pull control of one or more control elements for a game session from game controller 208.

[0048] Client device 212 can pull any number of control elements for a game session from other devices within environment 200. For example, continuing to Figure 2C Client device 212 can retrieve multiple control elements for the game session from other devices within environment 200. Specifically, client device 212 can retrieve video controls from display device 202 by causing video content to be provided via graphical user interface 214 of client device 212. As a result, display device 202 may no longer provide the display of video content for the game session.

[0049] In addition to retrieving video controls for the game session from display device 202, client device 212 can also retrieve input controls for the game session from game controller 208. In fact, client device 212 (or other client devices registered to game controller 208) can retrieve any number of control elements for the game session from any number of devices, depending on the configuration defined by the game system application 128 running on client device 212. For example, if client device 212 is configured to retrieve all control elements for the game session, it can automatically retrieve all control elements upon detecting a trigger condition. Alternatively, if client device 212 has command input capabilities or if it has some restriction on retrieving control of specific control elements, client device 212 can be configured to retrieve only a subset of control elements for the game session from any of the devices currently controlling one or more control elements for a given game session.

[0050] As mentioned above, and in Figure 2C In the example shown, client device 212 can pull each of these control elements from each device in environment 200 that previously controlled the control elements before the trigger condition was detected. Specifically, client device 212 can pull input controls from game controller 208, as indicated by control icon 218 displayed on the graphical user interface 214 of client device 212. Additionally, client device 212 can pull video and / or audio controls from display device 202, as indicated by the display of the game application being presented via the graphical user interface 214 of client device 212 rather than on the graphical user interface 204 of display device 202. Although not explicitly stated... Figure 2C As shown in the figure, but in one or more embodiments, the video content may continue to be streamed to the display device 202 at the same time as it is displayed on the client device 212.

[0051] like Figure 2C As shown, client device 212 can begin transmitting input commands to game console 206 upon receiving input control from game controller 208. In one or more embodiments, client device 212 uses a communication protocol different from the first communication protocol used by game controller 208 (e.g., a second communication protocol or another communication protocol different from the first communication protocol) to transmit input commands to game console 206. For example, if game controller 208 uses a first communication protocol (e.g., proprietary protocol, WiFi protocol, etc.) to transmit input commands via first antenna 210a, client device 212 may use a second communication protocol (e.g., WiFi, BLE) or any communication protocol different from the first communication protocol to transmit input commands to game console 206. As described above, Figures 3A-3C Another example implementation is shown where the game controller can be used to facilitate one or more client devices gaining control over control elements used in a game session. For example, Figure 3A An environment 300 is shown, including a cloud computing system 302 having one or more server devices 304. The server devices 304 may include a gaming system 110, which includes components in conjunction with the above. Figure 1 The features discussed are similar to those discussed.

[0052] As further shown, environment 300 may include a first client device 306 (e.g., a laptop computer) having a graphical user interface 308. Environment 300 may also include a game controller 310 having two antennas 312a-b for transmitting signals to devices within environment 300. Game controller 310 may include additional antennas. Figure 3A In the example shown, in addition to multiple antennas corresponding to respective client devices that have been registered with the game system 110 and associated with device profiles stored on the game controller 310, the game controller 310 also includes a first antenna for direct communication with the game system 110. The environment 300 may further include a second client device 314 (e.g., a mobile device) having a graphical user interface 316.

[0053] like Figure 3A As shown, the first client device 306 may have an active connection with the game system 110 on the cloud computing system 302. For example... Figure 3A As shown, the first client device 306 may also have control over various control elements for the game session, including input control, video control, audio control, and any other control elements for the game session. Control over these control elements may have been previously established based on triggering conditions detected between the first client device 306 and the game controller 310 (e.g., similar to...). Figure 2A-2C (Example shown).

[0054] exist Figure 3BIn this configuration, the game controller 310 may be placed in contact with or within the vicinity of the second client device 314, such that the game controller 310 and the second client device 314 detect triggering conditions indicating a need to transfer control of one or more control elements for a game session to the second client device 314. Specifically, the second antenna 312b may transmit a signal that, when placed adjacent 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 to each other, the second client device 314 may establish a connection 318 with the game system 110 according to instructions from the game system application 128 on the second client device 314. For example, the second client device 314 may provide a request to the game system 110 indicating one or more control elements it intends to control based on the indicated need to transfer control of one or more control elements to the second client device 314.

[0055] exist Figure 3C In this context, the second client device 314 can acquire control over any number of control elements used in the game session. For example, the second client device 314 can receive video or audio streams from the cloud computing system 302 for display on the graphical user interface 316 of the second client device 314. In addition to receiving video and / or audio content, the second client device 314 can also acquire control over input control elements and provide input icons 320 via the graphical user interface 316, which enables the user of the second client device to indicate input commands to be sent to the game system 110 via the connection 318 established between the second client device 314 and the game system 110.

[0056] like Figure 3C As shown, after the transfer of control elements to the second client device 314 is completed, the first client device 306 may no longer have an active connection to the game system 110. However, because the game controller 310 has a device profile corresponding to the first client device 306, the game controller 310 can be used at any time to tap the first client device 306 or move to the vicinity of the first client device 306 to indicate the need to transfer the game session back to the first client device 306. According to one or more embodiments described herein, in response, the first client device 306 may regain control of one or more control elements of the game session.

[0057] Move to Figure 4 This example illustrates features and functionality related to a client device selectively obtaining control over one or more control elements, according to one or more embodiments described herein. For example, Figure 4 This shows the combination with the above. Figure 2A-2C The described environment 200 is similar to the example environment 400. Specifically, environment 400 includes a display device 402 having a graphical user interface 404 thereon. Environment 400 further includes a game console 406. Before a trigger condition is detected, the display device 402 may have an active connection to the game console 406 to receive and display video content for a game session.

[0058] Environment 400 further includes a game controller 408 having a first antenna 410a and a second antenna 410b capable of transmitting signals to various devices using different communication protocols. For example, the first antenna 410a can use a first communication protocol to transmit input commands to the game console 406. Additionally, the second antenna 410b can use a second communication protocol (e.g., NFC, BLE, WiFi) to transmit low-power signals that will be detected by the client device 412.

[0059] like Figure 4 As shown, client device 412 includes a graphical user interface 414. In contrast to one or more specific examples described above, upon detecting a trigger condition, client device 412 can provide (e.g., display) a list of control elements 416 supported by client device 412 for a game session. Different client devices may present different lists of control elements depending on the capabilities of the client device, the settings of the game system application 128 on the specific client device, or information from a device profile stored on the game controller 408. In this example, client device 412 may support control of control elements including video control, audio control, and input control.

[0060] like Figure 4 As shown, the list of control elements 416 may include optional options 418, which, when selected, cause the client device 412 to selectively pull control of the selected control element from the device that previously controlled it. Additionally, the list of control elements 416 may provide an indicator or identifier of the device currently holding control over the corresponding control element. For example, video control may be controlled by a display device 402 with the identifier "HD TV". Similarly, audio control (e.g., audio feed and / or microphone control) may be controlled by a device with the identifier "headphones". Finally, input control may be controlled by a game controller 408 with the identifier "game controller".

[0061] As illustrated in this example, the user may choose that client device 412 acquires control over video and input control elements for the game session without pulling control over audio control elements. Therefore, in response to the detection of a trigger condition in addition to the detection of selection of the respective control element, client device 412 can acquire video and input control while allowing the headset to continue receiving audio content from game console 406.

[0062] Turn now Figure 5-6 These accompanying figures illustrate example flowcharts including sequences of actions for transferring one or more control elements used in a game session between various devices. While Figure 5-6 Actions according to one or more embodiments are illustrated, but alternative embodiments may omit, add, reorder, and / or modify them. Figure 5-6 Any action shown. Figure 5-6 The action can be performed as part of a method. Alternatively, a non-transient computer-readable medium can include actions that cause a computing device (e.g., an input device, a game console, a client device) to perform when executed by one or more processors. Figure 5-6 The system can execute instructions for actions. In a further embodiment, the system can execute... Figure 5-6 The action.

[0063] Figure 5 An example action sequence 500 is shown that involves detecting triggering conditions and causing a transfer of one or more control elements used in a game session from an input device to a client device. Specifically, action sequence 500 may include action 510 of performing a pairing process with the client device and storing a device profile of the client device on the input device. For example, action 510 may involve performing a pairing process with the client device, wherein performing the pairing process includes storing a device profile including information associated with the client device on the input device.

[0064] As further illustrated, action sequence 500 may include action 520 of transmitting input commands to the game system via a first communication protocol. For example, action 520 may include transmitting input commands for a game session to the game system via the first communication protocol. In one or more embodiments, the game system is implemented on one or more server devices on a cloud computing system. In one or more embodiments, the game system is implemented on a local game console that communicates with client devices via a communication protocol different from the first communication protocol.

[0065] As further illustrated, action sequence 500 may include action 530 of detecting trigger conditions associated with the proximity of the client device and the input device based on signals transmitted via a second communication protocol. For example, action 530 may involve the input device detecting trigger conditions associated with the proximity of the client device and the input device based on signals transmitted by the input device via the second communication protocol.

[0066] In one or more embodiments, the first communication protocol includes a proprietary wireless communication protocol specific to the input device and the gaming system. Furthermore, the second communication protocol may include a wireless communication protocol different from the proprietary wireless communication protocol. In one or more implementations, the input device uses a first antenna on the input device to transmit input commands via the first communication protocol. Additionally, signals transmitted by the input device using the second communication protocol may be transmitted using a second antenna on the input device.

[0067] As further illustrated, action sequence 500 may include action 540, which causes input control of the game session to be transferred to the client device in response to detecting the trigger condition and verifying that the client device corresponds to a device profile. For example, action 540 may include causing input control of the game session to be transferred to the client device in response to detecting the trigger condition and verifying that the client device corresponds to a device profile. In one or more embodiments, video content for the game session is received at a display device communicating with the game system prior to detecting the trigger condition. Furthermore, action sequence 500 may include causing video content to be provided to the client device after the trigger condition is detected.

[0068] In one or more embodiments, the action sequence 500 includes transmitting a low-energy wireless signal (e.g., a BLE signal) via a second communication protocol in conjunction with transmitting input commands for a game session to the game system via a first communication protocol. Furthermore, in one or more embodiments, detecting a trigger condition includes detecting that the input device is within a threshold proximity to the client device based on receiving a response from the client device 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.

[0069] In one or more embodiments, the action sequence 500 includes maintaining multiple device profiles on the input device corresponding to multiple client devices with which the input device has previously performed one or more pairing procedures. The action sequence 500 may further include the input device detecting, via a second communication protocol, additional trigger conditions associated with the proximity of additional client devices to additional device profiles from the multiple device profiles. In response to detecting the additional trigger condition, the action sequence 500 may further include causing input control to transfer from the client device to the additional client device.

[0070] In one or more implementations, video content is provided independently of the input device for display via a display device before a trigger condition is detected. Furthermore, in one or more implementations, the client device may include a mobile device on which an application associated with the game system is implemented and configured to continue the game session on the mobile device by: in response to detecting a trigger condition, transferring input control from the input device to the client device and requesting that video content be provided to the client device instead of the display device.

[0071] Figure 6 Another example action sequence 600 is shown, involving detecting triggering conditions between the input device and the client device and facilitating the continuation of the game session on the client device. (See example 600.) Figure 6 As shown, action sequence 600 includes action 610 of performing a pairing process with the input device by providing information for inclusion in a device profile stored on the input device. For example, in one or more embodiments, action 610 includes performing a pairing process with the input device, wherein performing the pairing process includes providing information for inclusion in a device profile associated with the client device stored on the input device.

[0072] As further illustrated, action sequence 600 may include action 620 of detecting a trigger condition associated with the proximity of the client device and the input device based on a signal transmitted via a communication protocol different from the communication protocol used by the input device to transmit input commands. For example, in one or more embodiments, action 620 may include detecting a trigger condition associated with the proximity of the client device and the input device, wherein the input device has input control over the game session prior to detecting the trigger condition. The input device may be connected to the game system of the main memory game session via a first communication protocol. Alternatively, the input device may detect the trigger condition based on a signal transmitted by the input device via a second communication protocol.

[0073] As further illustrated, action sequence 600 may include action 630, in response to detecting the trigger condition, establishing a connection with the game system and retrieving input control for the game session from the input device. For example, action 630 may include, in response to detecting the trigger condition, the client device establishing a connection with the game system and continuing the game session with the game system by retrieving input control for the game session from the input device to the client device. The game session may be implemented on one or more server devices on a cloud computing system. The game session may also be implemented on a local game console that communicates with the client device using a communication protocol different from the first communication protocol.

[0074] In one or more embodiments, the first communication protocol includes a proprietary wireless communication protocol specific to the input device and the game system, while the second communication protocol includes a wireless communication protocol different from the proprietary wireless communication protocol. Furthermore, in one or more embodiments, continuing the game session includes a request provided by the client device to receive video content for the game session from the game system, wherein the video content had previously been provided to a display device connected to the game system before a triggering condition was detected. Continuing the game session may further include receiving the video content for the game session for display via a graphical user interface of the client device.

[0075] Action sequence 600 may further include providing, in response to detecting the triggering condition, via a graphical user interface of the client device, a plurality of optional options associated with pulling control over one or more game session control elements for the game session. The one or more game session control elements may include one or more of input control, video control, or audio control for the game session. Additionally, pulling input control from the game session may include pulling input control from an input device to the client device based on a detected selection of a first optional option from the plurality of optional options provided via the graphical user interface. In one or more implementations, action sequence 600 further includes detecting a selection of a second optional option from the plurality of optional options associated with video control for the game session and pulling video control for the game session by providing a request to receive video content for the game session from the game system at the client device.

[0076] Figure 7 Certain components that may be included within computer system 700 are described. One or more computer systems 700 may be used to implement the various devices, components, and systems described herein.

[0077] Computer system 700 includes processor 701. Processor 701 can be a general-purpose single-chip 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. Processor 701 can be referred to as a central processing unit (CPU). Although in Figure 7 The computer system 701 shows only a single processor 700, but in alternative configurations, a combination of processors (e.g., ARM and DSP) can be used.

[0078] The computer system 700 also includes a memory 703 that is in electronic communication with the processor 701. The memory 703 can be any electronic component capable of storing electronic information. For example, the memory 703 can be embodied as random access memory (RAM), read-only memory (ROM), disk storage media, optical storage media, flash memory devices in RAM, onboard memory included in the processor, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, and combinations thereof.

[0079] Instruction 705 and data 707 may be stored in memory 703. Instruction 705 may be executed by processor 701 to implement some or all of the functions disclosed herein. Execution of instruction 705 may involve using data 707 stored in memory 703. Any of the various examples of modules and components described herein may be implemented in part or in whole as instruction 705 stored in memory 703 and executed by processor 701. Any example of the various examples of data described herein may be in data 707 stored in memory 703 and used during execution of instruction 705 by processor 701.

[0080] The computer system 700 may also include one or more communication interfaces 709 for communicating with other electronic devices. The communication interface 709 may be based on wired communication technology, wireless communication technology, or both. Some examples of the communication interface 709 include Universal Serial Bus (USB), Ethernet adapters, and wireless adapters operating according to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol. Wireless communication adapter and infrared (IR) communication port.

[0081] 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 keyboards, mice, microphones, remote control devices, buttons, joysticks, trackballs, touchpads, and light pens. Some examples of output devices 713 include speakers and printers. A particular type of output device typically included in computer system 700 is a display device 715. The display device 715 used with the embodiments disclosed herein may utilize any suitable image projection technology, such as liquid crystal displays (LCDs), light-emitting diodes (LEDs), gas plasma, electroluminescence, etc. A display controller 717 may also be provided for converting data 707 stored in memory 703 into text, graphics, and / or moving images (as applicable) displayed on the display device 715.

[0082] Various components of the computer system 700 can be coupled together by one or more buses, which may include power buses, control signal buses, status signal buses, data buses, etc. For clarity, the various buses are... Figure 7 The example is 719, which is a bus system.

[0083] Unless specifically described as implemented in a particular manner, the techniques described herein can be implemented in hardware, software, firmware, or any combination thereof. Any feature described as a module, component, etc., can also be implemented together in an integrated logic device or separately as a discrete but interoperable logic device. If implemented in software, the techniques can be implemented at least in part by a non-transient processor-readable storage medium comprising instructions that, when executed by at least one processor, perform one or more methods described herein. Instructions can be organized into routines, programs, objects, components, data structures, etc., which perform specific tasks and / or implement specific data types, and can be combined or distributed as needed in various embodiments.

[0084] The steps and / or actions of the methods described herein can be interchanged without departing from the scope of the claims. In other words, unless the proper operation of the described methods requires a specific order of steps or actions, the order and / or use of specific steps and / or actions can be modified without departing from the scope of the claims.

[0085] The term "determine" encompasses a wide variety of actions; therefore, "determine" can include calculation, computation, processing, derivation, research, searching (e.g., looking in a table, database, or other data structure), ascertainment, and similar actions. Furthermore, "determine" can include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), and similar actions. Likewise, "determine" can also include parsing, selecting, choosing, building, and similar actions.

[0086] The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that additional elements may be included in addition to those listed. Additionally, it will be understood that references to “one embodiment” or “an embodiment” in this disclosure are not intended to exclude the existence of additional embodiments that also incorporate the described features. For example, where compatible, any element or feature described with respect to embodiments herein may be combined with any element or feature of any other embodiment described herein.

[0087] This disclosure may be embodied in other specific forms without departing from its spirit or characteristics. The described embodiments are to be considered illustrative rather than restrictive. Thus, the scope of the invention is indicated by the appended claims rather than the foregoing description. Changes falling within the meaning and scope of equivalents of the claims should be covered by the scope of the claims.

Claims

1. A method for transferring control elements for a game session between devices, the method being performed by an input device, the method comprising: Performing a pairing process with a client device, wherein performing the pairing process includes storing a device profile on the input device that includes information associated with the client device; Input commands for the game session are transmitted to the game system via the first communication protocol; Signals are periodically transmitted from the input device to the client device via a second communication protocol; The input device detects a trigger condition associated with the proximity of the client device and the input device based on a signal transmitted by the input device via the second communication protocol, wherein the trigger condition is based on the client device being within a threshold proximity to the input device; as well as In response to detecting the triggering condition and verifying that the client device corresponds to the device profile, input control of the game session is transferred to the client device.

2. The method of claim 1, wherein the first communication protocol includes a proprietary wireless communication protocol specific to the input device and the game system, and wherein the second communication protocol includes a wireless communication protocol different from the proprietary wireless communication protocol.

3. The method of claim 1, wherein the input device uses a first antenna on the input device to transmit an input command via the first communication protocol, and wherein a 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 game system is implemented on one or more server devices on a cloud computing system.

5. The method of claim 1, wherein the game system is implemented on a local game console that communicates with the client device via a communication protocol different from the first communication protocol.

6. The method as described in claim 1, The periodic transmission of signals from the input device to the client device includes: In conjunction with transmitting input commands for the game session to the game system via the first communication protocol, low-energy wireless signals are transmitted via the second communication protocol, and The detection of the triggering condition includes detecting that the input device is within the threshold proximity of the client device based on receiving a response from the client device to the low-energy wireless signal transmitted via the second communication protocol.

7. The method of claim 6, wherein transmitting the low-energy wireless signal comprises periodically transmitting a plurality of low-energy wireless signals from the input device via the second communication protocol.

8. The method of claim 1, wherein the video content for the game session is received at a display device communicating with the game system before the trigger condition is detected, the method further comprising causing the video content to be provided to the client device after the trigger condition is detected.

9. The method of claim 1, further comprising: The input device maintains multiple device profiles corresponding to multiple client devices for which the input device has previously performed one or more pairing procedures; The input device detects additional triggering conditions associated with the proximity of additional client devices to additional device profiles from the plurality of device profiles via the second communication protocol; as well as In response to the detection of the additional triggering condition, input control is transferred from the client device to the additional client device.

10. The method as described in claim 1, The video content is provided independently of the input device for display via the display device before the trigger condition is detected, and The client device may include a mobile device on which an application associated with the game system is implemented and configured to continue the game session on the mobile device by: pulling input control from the input device to the client device in response to detecting the triggering condition and requesting that video content be provided to the client device instead of the display device.

11. A method for transferring control elements for a game session between devices, the method being performed by a client device, the method comprising: Performing a pairing process with an input device, wherein performing the pairing process includes providing information for inclusion in a device profile associated with the client device stored on the input device, wherein the input device has input control over the game session prior to detecting a trigger condition, wherein the input device is connected to a game system storing the game session via a first communication protocol; Detect multiple signals periodically transmitted from the input device via a second communication protocol; Detecting a trigger condition associated with the proximity of the client device and the input device, wherein the input device detects the trigger condition based on a signal transmitted by the input device via the second communication protocol, wherein the trigger condition is based on the client device being within a threshold proximity to the input device; In response to the detection of the triggering condition: The client device establishes a connection with the game system; as well as The game session with the game system is continued by pulling input control of the game session from the input device to the client device.

12. The method of claim 11, wherein the first communication protocol includes a proprietary wireless communication protocol unique to the input device and the game system, and wherein the second communication protocol includes a wireless communication protocol different from the first communication protocol.

13. The method of claim 11, wherein continuing the game session further comprises: The client device provides a request to receive video content from the game system for the game session, wherein the video content was previously provided to a display device connected to the game system before the triggering condition was detected; as well as The video content for the game session is received for display via the graphical user interface of the client device.

14. The method of claim 11, further comprising: In response to the detection of the triggering condition, multiple optional options are provided via the graphical user interface of the client device, associated with pulling control over one or more game session control elements for the game session, the one or more game session control elements including one or more of input control, video control, or audio control for the game session, and Input control from the game session is pulled from the input device to the client device based on the detected selection of a first optional option from the plurality of optional options provided via the graphical user interface.

15. The method of claim 14, further comprising: Detect the selection of a second optional option from the plurality of optional options that is associated with video control of the game session; as well as Video control of the game session is retrieved by providing a request to receive video content for the game session from the game system at the client device.

16. The method of claim 11, wherein the game system is implemented on one or more server devices on a cloud computing system.

17. The method of claim 11, wherein the game system is implemented on a local game console that communicates with the client device using a communication protocol different from the first communication protocol.

18. A system for transferring control elements for a game session between devices, comprising: One or more processors; A memory that communicates electronically with the one or more processors; as well as Instructions stored in the memory, which can be executed by the one or more processors to cause the input device to: Performing a pairing process with a client device, wherein performing the pairing process includes storing a device profile on the input device that includes information associated with the client device; Input commands for the game session are transmitted to the game system via the first communication protocol; Signals are periodically transmitted from the input device to the client device via a second communication protocol; The triggering condition is detected based on the signal transmitted by the input device via the second communication protocol, which is associated with the proximity of the client device to the input device, wherein the triggering condition is based on the client device being within a threshold proximity to the input device; as well as In response to detecting the triggering condition and verifying that the client device corresponds to the device profile, input control of the game session is transferred to the client device.

19. The system as described in claim 18, The input device uses a first antenna on the input device to transmit input commands via a first wireless communication protocol, and The signal transmitted by the input device via the second communication protocol is transmitted via the second wireless communication protocol using the second antenna on the input device.

20. The system of claim 18, wherein the video content for the game session is received at a display device communicating with the game system prior to the detection of the trigger condition, the system further comprising instructions executable by the one or more processors to cause the input device to provide the video content to the client device after the trigger condition is detected.

21. A computer system including means for performing the method as claimed in any one of claims 1-17.

22. A computer-readable storage medium having instructions that, when executed, cause a machine to perform the method as described in any one of claims 1-17.

Citation Information

Patent Citations

  • System and method for remote control gaming sessions using a mobile device

    CN106462910A

  • Location based game state synchronization

    US20140287836A1

  • Cloud Gaming Device Handover

    US20170312626A1