Illustrative Figure
Abstract
Aspects of the present disclosure relate to the implementation of a gaming environment including gaming servers for instantiating instances of games requested by a user. The gaming environment includes a game device for obtaining game inputs corresponding to the instantiated game. Additionally, the gaming environment includes one or more output devices for obtaining outputs generated by the processing of the inputs by the gaming server. Illustratively, the game device and one or more output devices form game device groups. Within each game device group, the inputs obtained by game device are transmitted independent of the outputs transmitted to the output devices. The transmission of input data from the game device and the transmission of the output audio data, output video data or other data from the gaming server may be individually optimized.
Description
DETAILED DESCRIPTION Generally, the present disclosure relates to a gaming environment. More specifically, aspects of the present disclosure relate to the implementation of a gaming environment including gaming servers for instantiating instances of games requested by a user. The gaming environment includes a game device for obtaining game inputs corresponding to the instantiated game. Additionally, the gaming environment includes one or more output devices for obtaining outputs generated by the processing of the inputs by the gaming server. Illustratively, the game device and one or more output devices form game device groups. Within each game device group, the inputs obtained by game device are transmitted independent of the outputs transmitted to the output devices. In some embodiments, the transmission of input data from the game device and the transmission of the output audio data, output video data or other data from the gaming server may be individually optimized. Additionally, the configuration of the game device group may be dynamically modified according the preset configurations/criteria set by the provider of the game, the user or upon receipt of a request/command. With reference toFIG. 1, a gaming device100can include a set of gaming devices, or gaming controllers102. The gaming devices102can be associated with one or more users. Illustratively, the gaming devices102can include various embodiments of hardware or software components for obtaining inputs provided by a user for use in conjunction with the configuration of the game device, game device groups and for execution of games hosted by the gaming environment. Illustrative components of a game device102will be described with regard toFIG. 2B. In conjunction with the game devices102, the gaming environment100includes a number of displays devices104for displaying outputs generated in accordance with the execution of gaming software commands. Similarly, the gaming environment100includes a number of audio devices106for rendering audio outputs generated in ...
DETAILED DESCRIPTION
Generally, the present disclosure relates to a gaming environment. More specifically, aspects of the present disclosure relate to the implementation of a gaming environment including gaming servers for instantiating instances of games requested by a user. The gaming environment includes a game device for obtaining game inputs corresponding to the instantiated game. Additionally, the gaming environment includes one or more output devices for obtaining outputs generated by the processing of the inputs by the gaming server. Illustratively, the game device and one or more output devices form game device groups. Within each game device group, the inputs obtained by game device are transmitted independent of the outputs transmitted to the output devices. In some embodiments, the transmission of input data from the game device and the transmission of the output audio data, output video data or other data from the gaming server may be individually optimized. Additionally, the configuration of the game device group may be dynamically modified according the preset configurations/criteria set by the provider of the game, the user or upon receipt of a request/command.
With reference toFIG. 1, a gaming device100can include a set of gaming devices, or gaming controllers102. The gaming devices102can be associated with one or more users. Illustratively, the gaming devices102can include various embodiments of hardware or software components for obtaining inputs provided by a user for use in conjunction with the configuration of the game device, game device groups and for execution of games hosted by the gaming environment. Illustrative components of a game device102will be described with regard toFIG. 2B. In conjunction with the game devices102, the gaming environment100includes a number of displays devices104for displaying outputs generated in accordance with the execution of gaming software commands. Similarly, the gaming environment100includes a number of audio devices106for rendering audio outputs generated in accordance with the execution of gaming software commands. Although the present disclosure illustratively discloses the processing of audio and video outputs, one skilled in the relevant art will appreciate that additional or alternative forms of outputs and output devices, such as force feedback, may be incorporated in the gaming environment100. Thus, the examples should not be viewed as limiting. As will be explained in detail below, one or more game devices102and one or more output devices, such as display devices104and audio devices106, form the basis of a game device group.
As illustrative inFIG. 1, the game devices102, display devices104and audio devices106can establish communications via communication network108, either directly or indirectly. The communication network108can correspond to a private network, public network or collection of networks. Illustratively, the game devices102, display devices104and audio devices106can each include one or more components and software code for communicating with the other devices via the communication network108. One skilled in the relevant art will appreciate that various other hardware or software components may be utilized to facilitate the exchange data such as wired or wireless components (e.g., routers), mobile or Internet service providers, and the like. Additionally, one or more of the components such as the game device may function as a proxy that allows other devices to establish communications with the communication network. Still further, the game devices102, display devices104and audio devices106may have optimized or dedicated communication channels for transmission of the respective data to and from the game devices102, display devices104and audio devices106. Alternatively, communications from the game devices102, display devices104and audio devices106may be transmitted via common communication channels.
With continued reference toFIG. 1, the gaming environment100can include a number of gaming servers112for processing inputs from game devices102, executing gaming software code to process the inputs and generating one or more outputs to display devices104and audio devices106via the communication network. In one embodiment, the gaming server112may corresponds to a virtualized instance of a gaming server hosted on one or more physical computing devices110. In this embodiment, each gaming server instance112may be optimized based on organizational criteria, such as per customer or other criteria. In an alternative embodiment, instances of the gaming servers112may be instantiated based on actual or anticipated volume of requests. In other embodiments, the gaming servers112may be physical computing devices hosting a single instance of a gaming server.
The gaming environment can further include a gaming management service114for processing game device group registration information from users, gaming server registrations and facilitating the instantiation of gaming sessions between a gaming server and a game device group. In some embodiments, the gaming management service114may further facilitate the processing of some aspects of the communications between an instance of a gaming server112and a game device group102,104,106. Although the gaming management service114is illustrated as a single component inFIG. 1, one skilled in the relevant art will appreciate that the gaming management service114can corresponds to any one of a number of physical or virtual components for utilization in the functionality associated with the gaming management service114.
With reference now toFIG. 2A, a block diagram illustrative of components of the gaming management service114will be described. As illustrated inFIG. 2A, the gaming management service114can include a gaming instance server interface component202for obtaining registration information associated with available gaming servers112. The gaming instance server interface component202can obtain various information identifying the gaming server112instances, criteria for determining which gaming server instances may be utilized in conjunction with a connection requests or other information related to the processing of gaming requests by customers. The gaming management service114can also include a game device and output device interface component204for obtaining registration of gaming devices102, display devices104, audio devices106and the configuration of game device groups. Additionally, the game device and output device interface component204can also obtain criteria determining which configured game device groups may be appropriate. Still further, the gaming device and output device interface component204can process requests for instantiation of a game session that can include selection of a gaming server112and game device group. The gaming management service114can further include a data processing component206for facilitating the registration of gaming server112, game devices102, display devices104and audio devices106and the processing requests to establish a gaming session. The components of the gaming management service114may be considered to logical components that be executive in various combinations or in accordance with various hardware or software configurations.
With reference toFIG. 2B, illustrative components of a game device210for collecting game device registration information, game device group configuration information or game session input data will be described. The game device210may include system memory210, which may correspond to any combination of volatile or non-volatile storage mechanisms. The system memory210may store information that provides an operating system component212, various program modules214, program data216, and/or other components. The game device210performs functions by using the processing unit(s)208to execute instructions provided by the system memory210. The game device210may also include one or more input devices218(keyboard, mouse device, specialized selection keys, joysticks, etc.) and one or more output devices220(displays, audio output mechanisms, etc.).
With continued reference toFIG. 2B, the game device210may also include one or more types of removable storage222and one or more types of non-removable storage224. Still further, the game device210can include communication components226for facilitating communication via wired and wireless communication networks, such as the communication network108(FIG. 1). The game device102may include hardware or software components that are configured specifically to a specific gaming platform, such as a gaming controller associated with a specific gaming console. Alternatively, the game device102can correspond to a generic controller or input device not associated with any particular gaming console. Still further, the game device102can have hardware or software components that allow the game device102to emulate at least aspects of a specific game controller without being limited to such emulation. For example, a game device102may have display screen that has representations of virtualized controls emulating physical controls
With reference toFIG. 2C, illustrative components of a game server112for collecting game session input data from game devices210, executing software code and generating outputs to display devices104, audio devices106or other output devices will be described. As previously described, the illustrated components of the game server112may be hardware components associated with device or virtualized components generated by appropriate hardware or software devices. The game server112may include system memory250, which may correspond to any combination of volatile or non-volatile storage mechanisms. The system memory250may store information that provides an operating system component252, various program modules254, program data256, and/or other components. The game server112performs functions by using the processing unit(s)258to execute instructions provided by the system memory250. The game server112may also include one or more optional input devices258(keyboard, etc.) and one or more optional output devices260(displays, audio output mechanisms, etc.).
With continued reference toFIG. 2C, the game server112may also include one or more application interfaces262for communicating with other gaming servers112or the gaming management service114. The game server112can also include a controller interface264for communicating with the game devices102via the communication network, a display interface266for communicating with display devices104and an audio interface268for communicating with audio devices106. As previously described, the game server112can also include additional interfaces for communicating with different output devices. Still further, the game server112may include multiple interfaces to communicate with different categories or types of output devices. For example, a game server112instances may have multiple audio interface components268to facilitate communications in accordance with different types of audio communication protocols. Illustratively, the game server112includes the controller interface264, display interface266, and audio interface268that allows for the independent transmission of input data, video data and audio data. Additionally, the transmission of the data may be accomplished by each controller by utilization of different communication protocols, security protocols or verification techniques without interface with the other transmission of data. For example, audio data may be transmitted utilizing a communication protocol optimized for audio communications, such as for latency, quality, etc. Video data may be transmitted utilizing a communication protocol optimal for security.
Turning now toFIGS. 3 and 4, various embodiments illustrating the interaction between the components of the gaming environment100will be described. For purposes of illustration, however, many of the components and processes involved in the illustrated actions have been simplified and not illustrated. Accordingly, one skilled in the relevant art will appreciated that the embodiments inFIGS. 3 and 4are illustrative in nature and should not be construed as limiting.
With reference toFIG. 3A, an embodiment for the registration of gaming servers112will be described. In this embodiment, one or more gaming servers112provide registration information to the gaming management service114via the communication network108. The registration information can include information identifying the particular gaming server, such as unique identifiers, authentication information and the like. Additional the registration information can include information identifying communication preference information such as valid network address information, preferred or supported communication protocols, performance information, current load information, and the like. Still further, the registration information can include information utilized to pair the gaming server to a game device group, such as gaming sessions supported (e.g., which games can be executed), supported game device groups and the like.
In some embodiments, the gaming server112registration can corresponds to a class of virtualized gaming servers114that can be instantiated upon request. Still further, the registration information can include identifiers or authentication information that allows the gaming management service114to locate additional registration information without requiring the retransmission from the gaming server112. Based on the received information, the gaming management service114processes the information for utilization in identifying the gaming server responsive to request to initiate a gaming session.
With reference toFIG. 3B, an embodiment for the registration of game devise102, display devices104and audio devices106and the formation/configuration of game device groups will be described. As illustrated inFIG. 3B, the game device102A and display device104A independent transmit device registration or group registration information. The audio device106A utilizes the communication network capabilities of the display device104A to facilitate transmission. Illustratively, the registration of the game devices102, display devices104and audio devices106can include the identification of the devices, authentication of the devices to a user or set of users and the specification of communication protocol preferences. For example, an audio device106may specify a preferred order of audio protocols to utilize.
In some embodiments, the game device102(or other device) may include the configuration of one or more game device groups. In one aspect, the game device groups may be made up of a game device and one or more output devices. In another aspect, a game device group can include a game device102that may be associated with multiple display devices104and multiple audio devices106that form the group. Additionally, in some embodiments, the game device102may configure multiple game device groups. In such embodiments, the configuration of the game device groups can include the specification of game device group evaluation criteria that determines which game device group may receive game device output data. For example, the game device group evaluation criteria can specify which game device groups should be active based on location information obtained from the game device102(e.g., GPS data, location attribute information (e.g., home router) or other location information).
The game device evaluation criteria can also specify categories of game device groups, such as a low volume configuration, late night configuration, party configuration. The game device group category can be specified in a gaming session request or determined based on external inputs. For example, a gaming server may determine a time of day or use microphone inputs to determine an appropriate game device group. In another example, the game device can include specific controls that allow a user to select from multiple game device group criteria and transmit the selection during a gaming session to the gaming server112.
The game device group evaluation criteria can further include the specification of specific events or criteria that may be evaluated during a gaming session. In one example, a gaming device group may be automatically changed during a gaming session based on a command issued by the game being executed by the gaming server or achievement of a specific goal, score, event, etc. In another example, a different game device group can include additional display devices such that video data is transmitted to a television if a user achieves a high score or surpasses a defined event/challenge. In a further example, a gaming device group may change based on a determined context of the output being generated by the gaming server, such as mature content, private or confidential content.
With continued reference toFIG. 3B, the registration information is processed by the gaming management service114. Additionally, at least some portion of the registration or configuration information may be optionally transmitted to one or more gaming servers112for utilization in subsequent or current gaming sessions.
Turning now toFIG. 4A, in an illustrative embodiment, a user can instantiate a new gaming session or attempt to connect to a previously instantiated gaming session by transmitting a request via a game device102to the gaming management service114. The request can include various identification information and authentication information utilized to identify one or more users and the requesting game device102. Additionally, the request can include game device group selection information that specifies a configuration of a game device group. Alternatively, the request can include information that allows the gaming management service114to determine one or more appropriate game device groups.
The gaming management service processes the request to identify match a gaming server112and game device group. In one embodiment, the gaming management service114may utilize location information, latency information, service level information and other network information to identify the gaming server112most appropriate for the selected game device group. The selection of the gaming server112and configuration of the game device group can then be transmitted to the appropriate gaming server112, game device102and output devices in the determined game device group.
In other embodiments, the request and processing of the gaming session request from the game device102may be transmitted directly to a gaming server112previously designated by the gaming management service114or otherwise previously identified to a game device102.
Turning now toFIG. 4B, once the gaming server112and game device group have been identified, the game device102A establishes a communication and gaming session with the gaming server112. The establishment of the communication and gaming session can include the instantiation of an instance of a gaming server112if such an instance is not otherwise available. Additionally, the gaming server112can establish a communication session with one or more video devices104and audio devices104associated with the identified game device group.
Thereafter, as part of the gaming session, the gaming server processes inputs transmitted by the game device102A via the communication network108in accordance with the optimization associated with the transmission of inputs to the gaming server112. The gaming server processes the inputs according the software code of the game being executed by the gaming server112. The gaming server then transmits output data to each of the output devices, display device104A and audio device106A. The transmission of the audio and video data is independent of the input data and each other, respectively, in accordance with a specified communication protocol (or other protocol).
With reference now toFIG. 4C, as previously described, the selection of the game device group may be modified based on the evaluation of the game device group criteria during a gaming session. In this embodiment, as illustrated inFIG. 4C, the game device102provides updated game session inputs via the established protocols for transmitting inputs. The gaming server processes the inputs according the software code of the game being executed by the gaming server112. Additionally, the gaming server112can then determine whether the updated inputs results in a modification of which game device group may be applicable. For example, the gaming server112can determine whether a command to switch game device groups was generated by the software code or transmitted by the game device102A. If so, the gaming server112can establish a communication session with one or more video devices104and audio devices104associated with the updated game device group. The gaming server then transmits output data to each of the output devices, display device104A and audio device106A. The transmission of the audio and video data is independent of the input data and each other, respectively, in accordance with a specified communication protocol (or other protocol).
Turning now toFIG. 5, a flow diagram illustrative of a routine500for processing game device group information will be described. Routine500may be illustrative implemented by the gaming management service114, a gaming server112, other device or combination thereof. For purposes of illustration, however, routine500will be described with regard to the gaming management service114.
At block502, the gaming management service114obtain game server registration information and game server selection criteria. As previously discussed, the registration information can include information identifying the particular gaming server, such as unique identifiers, authentication information and the like. Additional the registration information can include information identifying communication preference information such as valid network address information, preferred or supported communication protocols, performance information, current load information, and the like. Still further, the registration information can include information utilized to pair the gaming server to a game device group, such as gaming sessions supported (e.g., which games can be executed), supported game device groups and the like.
In some embodiments, the registration information can include identifiers or authentication information that allows the gaming management service114to locate additional registration information without requiring the retransmission from the gaming server112. Based on the received information, the gaming management service114processes the information for utilization in identifying the gaming server responsive to request to initiate a gaming session.
At block504, the gaming management service114obtains game device and game device group information. As previously described, the registration of the game devices102, display devices104and audio devices106can include the identification of the devices, authentication of the devices to a user or set of users and the specification of communication protocol preferences.
In some embodiments, the game device102(or other device) may include the configuration of one or more game device groups. The game device groups may be made up of a game device and one or more output devices. A game device102may also be associated with multiple display devices104and multiple audio devices106that form the group. Additionally, in some embodiments, the game device102may configure multiple game device groups. In such embodiments, the configuration of the game device groups can include the specification of game device group evaluation criteria that determines which game device group may receive game device output data. For example, the game device group evaluation criteria can specify which game device groups should be active based on location information obtained from the game device102(e.g., GPS data, location attribute information (e.g., home router) or other location information).
The game device evaluation criteria can also specify categories of game device groups, such as a low volume configuration, late night configuration, party configuration. The game device group category can be specified in a gaming session request or determined based on external inputs. For example, a gaming server may determine a time of day or use microphone inputs to determine an appropriate game device group. In another example, the game device can include specific controls that allow a user to select from multiple game device group criteria and transmit the selection during a gaming session to the gaming server112.
The game device group evaluation criteria can further include the specification of specific events or criteria that may be evaluated during a gaming session. In one example, a gaming device group may be automatically changed during a gaming session based on a command issued by the game being executed by the gaming server or achievement of a specific goal, score, event, etc. In another example, a different game device group can include additional display devices such that video data is transmitted to a television if a user achieves a high score or surpasses a defined event/challenge. In a further example, a gaming device group may change based on a determined context of the output being generated by the gaming server, such as mature content, private or confidential content
At block506, the gaming management service114obtains a request for instantiation of a gaming session and game device group selection information. As previously described, the request can include various identification information and authentication information utilized to identify one or more users and the requesting game device102. Additionally, the request can include game device group selection information that specifies a configuration of a game device group. Alternatively, the request can include information that allows the gaming management service114to determine one or more appropriate game device groups. At block508, the gaming management service114processes the gaming session request and identifies an applicable gaming server112and one or more applicable game device groups. At block510, the gaming management service114transmits the selection of the gaming server and game device group in response to the request. At block510, the routine terminates.
Turning now toFIG. 6, a routine600to process gaming data will be described. Illustratively, routine600is illustrative implemented by a gaming server112as part of a gaming session with a game device group. Alternatively, some aspect of routine600may be implemented by the gaming management service. At block602, the gaming server obtains game input data from the game device102. Illustratively, the communications between the game device102and the gaming server are transmitted via the communication network108in accordance with the optimization associated with the transmission of inputs to the gaming server112.
At block604, the gaming server112processes the inputs according the software code of the game being executed by the gaming server112. The gaming server then transmits output data to each of the output devices, display device104A and audio device106A. The transmission of the audio and video data is independent of the input data and each other, respectively, in accordance with a specified communication protocol (or other protocol). At block606, the gaming server determines whether the processed inputs results in a modification of which game device group may be applicable or otherwise determines the applicable output devices. For example, the gaming server112can determine whether a command to switch game device groups was generated by the software code or transmitted by the game device102A.
At block608, the gaming server114, the gaming server112can establish a communication session with one or more video devices104and audio devices104associated with the updated game device group (if not previously accomplished) and transmits output data to each of the output devices, such as display devices104and audio devices106The transmission of the audio and video data is independent of the input data and each other, respectively, in accordance with a specified communication protocol (or other protocol).
At decision block610, the gaming server114determines whether the gaming session has been terminated. If not, the routine600returns to block602to process further input from the game device102. Alternatively, the routine600terminates at block612.
It will be appreciated by those skilled in the art and others that all of the functions described in this disclosure may be embodied in software executed by one or more processors of the disclosed components and mobile communication devices. The software may be persistently stored in any type of non-volatile storage.
Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
Any process descriptions, elements, or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those skilled in the art. It will further be appreciated that the data and/or components described above may be stored on a computer-readable medium and loaded into memory of the computing device using a drive mechanism associated with a computer readable storing the computer executable components such as a CD-ROM, DVD-ROM, or network interface further, the component and/or data can be included in a single device or distributed in any manner. Accordingly, general purpose computing devices may be configured to implement the processes, algorithms and methodology of the present disclosure with the processing and/or execution of the various data and/or components described above.
It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims
- A system for implementing a gaming session comprising: one or more gaming controllers, wherein the one or more gaming controllers include at least one wireless network communication component;and a game management component implemented in a computing system associated with at least one processor and memory, the gaming management component operative to: obtain a request to initiate a gaming session, the request to initiate the gaming session independently identifying at least one user, a game, an output device, and a gaming controller;process the request to initiate the gaming session;determine a first protocol associated with the output device based at least in part on the information independently identifying the output device;determine a second protocol associated with the gaming controller based at least in part on the information independently identifying the gaming controller;and cause the instantiation of a gaming session instance corresponding to the request, the gaming session instance executed by a network-based computing device having at least one input port to receive game control information from the identified gaming controller using the second protocol and at least one output port for transmitting gaming data to the identified output device using the first protocol.
- The system as recited in claim 1 , wherein the one or more gaming controllers are operative to wirelessly receive gaming session information associated with the instantiated gaming session using the wireless network communication component.
- The system as recited in claim 1 , wherein at least one gaming controller of the one or more gaming controllers includes a display device.
- The system as recited in claim 1 , wherein at least one gaming controller of the one or more gaming controllers includes an input device for obtaining registration information.
- The system as recited in claim 1 , wherein at least one gaming controller of the one or more gaming controllers is operative to transmit at least a portion of the request to initiate the gaming session.
- The system as recited in claim 5 , wherein the at least one gaming controller is operative to transmit an identification of a gaming controller.
- The system as recited in claim 5 , wherein the at least one gaming controller is operative to transmit an identification of a user.
- The system as recited in claim 5 , wherein the at least one gaming controller is operative to transmit an identification of an output device.
- The system as recited in claim 1 , wherein at least one gaming controller of the one or more gaming controllers includes one or more memory components for maintain information related to gaming sessions.
- The system as recited in claim 9 , wherein the at least one gaming controller maintains authentication information related to one or more users in the one or more memory components.
- The system as recited in claim 9 , wherein the at least one gaming controller maintains gaming progress information related to one or more gaming session in the one or more memory components.
- The system as recited in claim 1 further comprising one or more computing devices for hosting gaming session instances.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.