Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
HANDHELD GAMING CONSOLE
Document Type and Number:
WIPO Patent Application WO/2014/085714
Kind Code:
A1
Abstract:
A gaming console including a housing configured for handheld manipulation. A processor is contained within the housing and configured for executing a gaming application. Memory is contained within the housing and configured for storing executables of the gaming application. At least one control button is exposed on the housing and is configured for receiving input from a user that provides an instruction for the gaming application. The gaming console includes a high definition (HD) display for displaying the gaming application.

Inventors:
HUANG JEN-HSUN (US)
TAMASI ANTHONY MICHAEL (US)
DIARD FRANCK (US)
Application Number:
PCT/US2013/072417
Publication Date:
June 05, 2014
Filing Date:
November 27, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NVIDIA CORP (US)
HUANG JEN-HSUN (US)
TAMASI ANTHONY MICHAEL (US)
DIARD FRANCK (US)
International Classes:
A63F13/20; A63F13/92
Domestic Patent References:
WO2007016660A22007-02-08
Foreign References:
US20120220372A12012-08-30
US20110218025A12011-09-08
US20120172088A12012-07-05
US20120149464A12012-06-14
Attorney, Agent or Firm:
HSU, Lin, C. (Hao & Barnes LLP,2 N. Market St.,3rd Floo, San Jose CA, US)
Download PDF:
Claims:
CLAIMS

What is claimed:

1. A computing device, comprising:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing a gaming application;

memory contained within said housing and configured for storing executables of said gaming application;

at least one control button exposed on said housing and configured for receiving input from a user that provides an instruction for said gaming application; and

a high definition (HD) display for displaying video from said gaming application.

2. The computing device of Claim 1, wherein said HD display comprises a touch screen display.

3. The computing device of Claim 1, further comprising:

an Android® operating system.

4. The computing device of Claim 1, further comprising:

an active cooling system configured for cooling said handheld computing device.

5. The computing device of Claim 1, further comprising:

an internal battery source.

6. The computing device of Claim 1, further comprising:

a communication interface configured to connect said computing device to a network;

a front-end portal application executable by said handheld computing device, wherein said application is affiliated with an entity associated with said handheld computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld computing device, wherein upon receiving a selection by a user for purchasing said gaming application said portal application is configured to navigate to a third party content provider selling said gaming application, and facilitating installation of said gaming application on said handheld device.

7. The computing device of Claim 6, wherein said front-end portal application comprises a social networking platform.

8. The computing device of Claim 6, wherein said front-end portal application periodically receives updates from a back end server associated with said entity.

9. The computing device of Claim 1, further comprising:

a video encoder for encoding video from said gaming application into a video stream; and a peer-to-peer communication interface configured to transmit said video stream to a second device for display.

10. The computing device of Claim 9, wherein said video encoder encodes said video using an H.264 format.

11. The computing device of Claim 9, wherein said second device is taken from a group consisting essentially of:

a display receiver;

a cable set-top box;

a micro-console;

an HD television;

an HD monitor;

a second computing device configured as said computing device of Claim 1.

12. The computing device of Claim 9, wherein said communication interface comprises a wired interface or a wireless interface.

13. A method for computing, comprising:

executing a gaming application on a handheld computing device; receiving an input originating from at least one control button, wherein said input provides an instruction for said gaming application; and

displaying video of said gaming application on a high definition display of said handheld computing device.

14. The method of Claim 13, further comprising:

executing a front-end portal application on said handheld computing device, wherein said application is affiliated with an entity associated with said handheld computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld computing device;

receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface; navigating to a third party content provider selling said gaming application through said network; and

facilitating installation of said gaming application on said handheld device.

15. The method of Claim 13, further comprising:

encoding video from said gaming application into a video stream; and

establishing a peer-to-peer communication with a second device;

transmitting said video stream over said peer-to-peer communication to said second device for display.

16. The method of Claim 15, wherein said video encoder encodes said video using an H.264 format.

17. The method of Claim 15, wherein said second device is taken from a group consisting essentially of:

a display receiver;

a cable set-top box;

a micro-console;

an HD television;

an HD monitor; a second handheld computing device configured to execute another version of said gaming application for purposes of multi-player gaming.

18. A no n- transitory computer-readable medium having computer-executable instructions for causing a computer system to perform a method comprising:

executing a gaming application on a handheld computing device;

receiving an input originating from at least one control button, wherein said input provides an instruction for said gaming application; and

displaying video of said gaming application on a high definition display of said handheld computing device.

19. The computer-readable medium of Claim 18, wherein said method further comprises: encoding video from said gaming application into a video stream; and

establishing a peer-to-peer communication with a second device;

transmitting said video stream over said peer-to-peer communication to said second device for display.

20. The computer-readable medium of Claim 18, wherein said method further comprises: executing a front-end portal application on said handheld computing device, wherein said application is affiliated with an entity associated with said handheld computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld computing device,

receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface; navigating to a third party content provider selling said gaming application through said network; and

facilitating installation of said gaming application on said handheld device.

Description:
HANDHELD GAMING CONSOLE

CROSS-REFERENCE TO RELATED APPLICATIONS

[001] The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Serial No. 61/730,940, entitled "CLOUD BASED

VIRTU ALZIED GRAPHICS PROCESSING FOR REMOTE DISPLAYS," with filing date November 28, 2012, and having attorney docket number NVID-P-SC-12-0727-US0, which is herein incorporated by reference in its entirety.

[002] The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Serial No. 61/730,939, entitled "CLOUD BASED

VIRTU ALZIED GRAPHICS PROCESSING FOR REMOTE DISPLAYS," with filing date November 28, 2012, and having attorney docket number NVID-P-SC-12-0728-US0, which is herein incorporated by reference in its entirety.

[003] The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Serial No. 61/749,224, entitled "NETWORK- ATTACHED GPU DEVICE," with filing date January 4, 2013, and having attorney docket number NVID-P-SC- 12- 0814-USO, which is herein incorporated by reference in its entirety.

[004] The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Serial No. 61/749,231 , entitled "THOR SYSTEM

ARCHITECTURE," with filing date January 4, 2013, and having attorney docket number NVID-P- SC- 12-0470-USO, which is herein incorporated by reference in its entirety.

[005] The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Serial No. 61/874,056, entitled "THOR SYSTEM

ARCHITECTURE," with filing date September 5, 2013, and having attorney docket number NVID- P-SC-12-0470-USX, which is herein incorporated by reference in its entirety.

[006] The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Serial No. 61/874,078, entitled "NETWORK- ATTACHED GPU DEVICE," with filing date September 5, 2013, and having attorney docket number NVID-P-SC-12- 0814-USX, which is herein incorporated by reference in its entirety.

[007] The present application is related to copending U.S. Patent Application Serial No.

13/727,357, "VIRTU ALIZED GRAPHICS PROCESSING FOR REMOTE DISPLAY," filed on December 26, 2012, with Attorney Docket No. NVID-P-SC-09-0210-US1, which is incorporated herein by reference for all purposes.

BACKGROUND

[008] Historically, an application such as a video game was executed (played) using a personal computer (PC) or using a console attached to a television. A user purchased or rented a game, which was loaded onto the PC or inserted into the game console and then played in a well-known manner.

[009] More recently, online gaming has become popular. An online game is played over a network such as the Internet. The game is loaded onto a user's device while other software needed to play the game resides on a server that is accessed via the network. Online gaming allows multiple users to compete against each other in the game environment provided by the software on the server.

[0010] In addition, mobile gaming has become popular. For example, a mobile device (e.g., phone) may provide a video game to a user that can be controlled through, for example, the touchscreen controls of the mobile phone. These controls are virtually created and displayed on the touchscreen. Because such mobile phones are not manufactured specifically for gaming, the processing power of such mobile phones is often too low for many games. Another problem with mobile phones is that they are often unable to support certain games because such games require a certain operating system environment to run. Further, the virtual buttons take up valuable screen space, thereby reducing the overall display of the game to the user.

[0011 ] Furthermore, virtual control buttons simulated through the touchscreen of the display provides a poor interface between the user and the game. It is difficult to gain a tactile interaction with a virtual button since the button is virtualized on a flat screen. Without a tactile reference, the only way to ensure that the virtual button is being engaged is to physically look at the finger and the virtual button simultaneously. This may take the eye of the gamer away from the screen at a crucial point in a game. Also, the buttons are limited to the front surface of the mobile device. Since the buttons are virtually created, these buttons can only be presented on the touch screen display.

Competition for screen space may cause the number of buttons to be reduced, or to be rendered so small that they are difficult to use.

SUMMARY

[0012] In embodiments of the present invention, a computing device is disclosed. The computing device includes a housing configured for handheld manipulation. A processor is contained within the housing and configured for executing a gaming application. Memory is also continued within the housing and is configured for storing executables of the gaming application. The computing device includes at least one control button that is exposed on the housing, and is configured for receiving input from a user that provides an instruction for the gaming application. The computing device includes a high definition (HD) display for displaying video from the gaming application.

[0013] In another embodiment, a computer implemented method for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer- executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application on a handheld computing device. The method further includes receiving an input originating from at least one control button, wherein the input provides an instruction for the gaming application. The method further includes displaying video of the gaming application on an HD display of the handheld computing device.

[0014] In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application on a handheld gamin console, wherein the gaming console comprises a housing configured for handheld manipulation, a processor configured for executing the gaming application, memory configured for storing the gaming application, and at least one controlling device exposed on the housing and configured for receiving input from an interaction of a controlling device that provides an instruction handled by the gaming app. The method includes generating video of the executed gaming application. The method includes streaming the video to a second device for displaying the video.

[0015] In still another embodiment, a computing device is described. The computing device comprises a housing configured for handheld manipulation. The computing device comprises a processor contained within the housing and configured for executing the gaming application. The computing device comprises memory contained within the housing and configured for storing executables of the gaming application. The computing device includes at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by the gaming application. The computing device includes a video encoder for encoding video from the gaming application. The computing device includes a peer-to-peer communication interface configured to transmit the encoded video to a second device for display.

[0016] In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes receiving at a handheld computing device encoded video from a remote computing device over a communication network, wherein the remote device is configured for executing a gaming application generating video that is encoded into the encoded video, wherein the handheld computing device comprises a housing configured for handheld manipulation and at least one controlling device exposed on the housing. The method includes decoding the encoded video. The method includes displaying the decoded video on a display of the handheld computing device.

[0017] In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application one remote device. The method includes generating video f the gaming application at the remote device, and encoding the video. The method includes transmitting the encoded video to a handheld computing device over a communication network, wherein the handheld computing device comprises a housing configured for handheld manipulation and at least one controlling device exposed on the housing, wherein the handheld computing device displays decoded video based on the encoded video.

[0018] In still another embodiment, a computing device is described. The computing device comprises a housing configured for handheld manipulation. The device includes at least one controlling device exposed on the housing and configured for receiving input from a user that provides an instruction handled by a gaming application executed by a remote computing device. The device further includes a communication interface for establishing communication over a communication network between the computing device and the remote computing device, wherein the remote coupling device is configured for generating video of the gaming application and encoding the video. The device includes a receiver for receiving the encoded video, and a decoder for decoding the encoded video. The device includes an HD display for displaying the decoded video.

[0019] In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application at a first computing device. The method includes generating video of the gaming application at the first computing device. The method includes encoding the video into an encoded video stream at the first computing device. The method includes receiving an input based on an interaction with at least one controlling device of a second computing device, wherein the input provides an instruction handled by the gaming application, wherein the second computing device comprises a handheld computing device, wherein communication is established between the first and second computing device over a communication network. The method includes receiving the encoded video stream at a third device, wherein the encoded video stream is transmitted from the first computing device to the third device over the communication network.

[0020] In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application at a first electronic device. The method includes generating video of the gaming application at the first electronic device. The method includes encoding the video into an encoded video stream at the first electronic device. The method includes receiving an input based on an interaction with at least one controlling device of a second electronic device, wherein the input provides an instruction handled by the gaming application, wherein the second electronic device comprises a handheld computing device, wherein communication is established between the first and second electronic device over a communication network. The method includes displaying at a third electronic device the encoded video stream that is decoded

[0021] In another embodiment, a system for computing is described. The system includes a first electronic device configured for executing a gaming application and for generating video of the gaming application. The system includes a video encoder at the first electronic device for encoding the video into an encoded video stream. The system includes a second electronic device comprising a handheld computing device, wherein the second electronic device is configured for receiving an input based on an interaction with at least one controlling device of a second electronic device, wherein the input provides an instruction handled by the gaming application. The system includes a communication network for delivering the input from the second electronic device to the first electronic device. The system includes a third electronic device for displaying the encoded video stream that is decoded

[0022] In still another embodiment, a method for computing is described. The method includes executing a plurality of gaming applications at a plurality of handheld computing devices, wherein each of the plurality of handheld computing devices comprises: a housing configured for handheld manipulation; a processor contained within the housing and configured for executing the gaming application; memory contained within the housing and configured for storing executables of the gaming application; and at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by the gaming application. The method includes generating a plurality of videos of the plurality of gaming applications at the plurality of handheld computing devices. The method includes establishing communication between the plurality of handheld computing devices over a communication network. The method includes integrating execution of the plurality of gaming applications in a multi-player mode. The method includes displaying the plurality of videos at the plurality of handheld computing devices.

[0023] In another embodiment, a system for computing is described. The system includes a plurality of handheld computing devices configured for executing a plurality of gaming applications, wherein each of the plurality of handheld computing device comprises: a housing configured for handheld manipulation; a processor contained within the housing and configured for executing one of the plurality of gaming applications; memory contained within the housing and configured for storing executables of the gaming application; and at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by one of the gaming applications. The system includes a plurality of videos of the plurality of gaming applications generated by the plurality of handheld computing devices, wherein execution of the plurality of gaming applications is integrated in a multi-player mode. The system includes a communication network facilitating communication between the plurality of handheld computing devices. The system includes a plurality of displays at the plurality of handheld computing devices for displaying the plurality of videos.

[0024] In another embodiment, a method for computing is described. The method includes executing a plurality of gaming applications at a plurality of handheld computing devices, wherein each of the handheld computing devices comprises: a housing configured for handheld

manipulation; a processor contained within the housing and configured for executing the gaming application; memory contained within the housing and configured for storing executables of the gaming application; and at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by the gaming application; generating a plurality of videos of the plurality of gaming applications at the plurality of handheld computing devices. The method includes establishing communication between the plurality of handheld computing devices over a communication network. The method includes integrating execution of the plurality of gaming applications in a multi-player mode. The method includes displaying the plurality of videos at a second electronic device.

[0025] In another embodiment, a system for computing is described. The stem includes a plurality of handheld computing devices, wherein each of said plurality of handheld computing device comprises: a housing configured for handheld manipulation; a processor contained within said housing and configured for executing said gaming application; memory contained within said housing and configured for storing executables of said gaming application; and at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said gaming application. The system includes a plurality of videos of said plurality of gaming applications generated by said plurality of handheld computing devices, wherein execution of said plurality of gaming applications is integrated in a multi-player mode. The system includes a communication network facilitating communication between said plurality of handheld computing devices. The system includes a second electronic device configured for displaying said plurality of videos in a plurality of windows.

[0026] These and other objects and advantages of the various embodiments of the present disclosure will be recognized by those of ordinary skill in the art after reading the following detailed description of the embodiments that are illustrated in the various drawing figures.

BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The accompanying drawings, which are incorporated in and form a part of this specification and in which like numerals depict like elements, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the disclosure.

[0028] FIG. 1 depicts a block diagram of an exemplary computer system suitable for implementing embodiments according to the present disclosure.

[0029] FIG. 2 is a block diagram of an example of a client device capable of implementing embodiments according to the present invention.

[0030] FIG. 3 is a block diagram of an example of a network architecture in which client systems and servers may be coupled to a network, according to embodiments of the present invention. [0031] FIG. 4A is a diagram of an exemplary handheld gaming console, according to embodiments of the present invention.

[0032] FIG. 4B is a diagram of an exemplary handheld gaming console, according to embodiments of the present invention.

[0033] FIG. 5 is a diagram of an exemplary handheld gaming console coupled with an external display, according to embodiments of the present invention.

[0034] FIG. 6A is a block diagram of a handheld gaming console communicatively coupled with an app store, according to embodiments of the present invention.

[0035] FIG. 6B is a flow diagram 600B illustrating a method for providing support for a gaming application, in accordance with one embodiment of the present disclosure.

[0036] FIG. 7 is a block diagram of a handheld gaming console communicatively coupled with a client application (app) store and a third party gaming source, according to embodiments of the present invention.

[0037] FIG. 8 is an illustration of a exemplary network environment 800 within which a handheld gaming console and/or computing device 890 is configured for controlling the actions within a gaming application, in accordance with one embodiment of the present disclosure.

[0038] FIG. 9A is a block diagram 900A of a handheld gaming console 720 communicatively coupled with a display 950, according to embodiments of the present invention.

[0039] FIG. 9B is a block diagram of a handheld gaming console communicatively coupled with a display, according to embodiments of the present invention.

[0040] FIG. 10A is a block diagram of a handheld gaming console 1000A, in accordance with one embodiment of the present disclosure.

[0041] FIG. 10B is a flow diagram illustrating a method for providing support for a gaming application executable on a handheld gaming console and a display on a second device, in accordance with one embodiment of the present disclosure. [0042] FIG. 11 A is a block diagram of a handheld gaming console communicatively coupled with a locally-based server, according to embodiments of the present invention.

[0043] Figure 1 IB is a block diagram 1 100B of the handheld gaming console 720

communicatively coupled with the cloud-based server 1110 that is in turn communicatively coupled with a set-top box 11 15, according to embodiments of the present invention.

[0044] FIGS. 12A-B are flow diagrams illustrating methods for executing a gaming application on a remote processing device and displaying video on a handheld gaming console, in accordance with embodiments of the present disclosure.

[0045] FIGS. 13A-B are block diagrams of a handheld gaming console providing input controls to a back-end server executing a gaming application, and a third electronic device displaying video from the gaming application, in accordance with embodiments of the present disclosure.

[0046] FIG. 14 is a flow diagram 1400 illustrating a method for implementing a gaming application across multiple devices, in accordance with one embodiment of the present disclosure.

[0047] FIG. 15 is an illustration of a system environment 1500 in which a plurality of handheld gaming consoles are executing a plurality of gaming applications in a multi-player mode, in accordance with one embodiment of the present disclosure.

[0048] FIG. 16 is a flow diagram illustrating a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi -player mode, wherein a plurality of videos is displayed at the plurality of handheld gaming consoles in accordance with embodiments of the present disclosure.

[0049] FIG. 17 is a flow diagram illustrating a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi -player mode, wherein a plurality of videos is displayed at a plurality of windows of a display, in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

[0050] Reference will now be made in detail to the various embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. While described in conjunction with these embodiments, it will be understood that they are not intended to limit the disclosure to these embodiments. On the contrary, the disclosure is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the disclosure as defined by the appended claims. Furthermore, in the following detailed description of the present disclosure, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.

[0051] Some portions of the detailed descriptions that follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those utilizing physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.

[0052] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present disclosure, discussions utilizing terms such as "executing," "receiving," "connecting," "navigating," "facilitating," "installing," or the like, refer to actions and processes (e.g., in flowcharts 6B, 10A-B, 12A-B, and 13, 14, 16, and 17 of the present Application) of a computer system or similar electronic computing device or processor (e.g., computer system 100 and client device 200). The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the computer system memories, registers or other such information storage, transmission or display devices. [0053] FIGS. 6B, 10A-B, 12A-B, and 13, 14, 16, and 17 are flowcharts of examples of computer-implemented methods for implementing a handheld device that is configured for playing gaming applications, according to embodiments of the present invention. Although specific steps are disclosed in the flowcharts, such steps are exemplary. That is, embodiments of the present invention are well-suited to performing various other steps or variations of the steps recited in the flowcharts.

[0054] Other embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of computer-readable storage medium, such as program modules, executed by one or more computers or other devices. By way of example, and not limitation, computer-readable storage media may comprise non-transitory computer storage media and communication media. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.

[0055] Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer- readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can accessed to retrieve that information.

[0056] Communication media can embody computer-executable instructions, data structures, and program modules, and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. Combinations of any of the above can also be included within the scope of computer- readable media. [0057] FIG. 1 is a block diagram of an example of a computing system 100 capable of implementing embodiments of the present disclosure. Computing system 100 broadly represents any single or multi-processor computing device or system capable of executing computer-readable instructions. Examples of computing system 100 include, without limitation, workstations, laptops, client-side terminals, servers, distributed computing systems, handheld devices, or any other computing system or device. In its most basic configuration, computing system 100 may include at least one processor 105 and a system memory 110.

[0058] It is appreciated that computer system 100 described herein illustrates an exemplary configuration of an operational platform upon which embodiments may be implemented to advantage. Nevertheless, other computer system with differing configurations can also be used in place of computer system 100 within the scope of the present invention. That is, computer system 100 can include elements other than those described in conjunction with FIG. 1. Moreover, embodiments may be practiced on any system which can be configured to enable it, not just computer systems like computer system 100. It is understood that embodiments can be practiced on many different types of computer systems 100. System 100 can be implemented as, for example, a desktop computer system or server computer system having a power general-purpose CPUs coupled to a dedicated graphics rendering GPU. In such an embodiment, components can be included that add peripheral buses, specialized audio/video components, I/O devices, and the like. Similarly system 100 can be implemented as a handheld device (e.g., cell phone, etc.) or a set-top video game console device, such as, for example Xbox®, available from Microsoft corporation of Redmond, Washington, or the PlayStation3®, available from Sony Computer Entertainment Corporation of Tokyo, Japan. System 100 can also be implemented as a "system on a chip", where the electronics (e.g., the components 105, 110, 115, 120, 125, 130, 150, and the like) of a computing device are wholly contained within a single integrated circuit die. Examples include a hand-held instrument with a display, a car navigation system, a portable entertainment system, and the like.

[0059] In the example of FIG. 1 , the computer system 100 includes a central processing unit (CPU) 105 for running software applications and optionally an operating system. Memory 110 stores applications and data for use by the CPU 105. Storage 115 provides no n- volatile storage for applications and data and may include fixed disk drives, removable disk drives, flash memory devices, and CD-ROM, DVD-ROM or other optical storage devices. The optional user input 120 includes devices that communicate user inputs from one or more users to the computer system 100 and may include keyboards, mice, joysticks, touch screens, and/or microphones.

[0060] The communication or network interface 125 allows the computer system 100 to communicate with other computer systems via an electronic communications network, including wired and/or wireless communication and including the Internet. The optional display device 150 may be any device capable of displaying visual information in response to a signal from the computer system 100. The components of the computer system 100, including the CPU 105, memory 110, data storage 115, user input devices 120, communication interface 125, and the display device 150, may be coupled via one or more data buses 160.

[0061 ] In the embodiment of FIG. 1 , a graphics system 130 may be coupled with the data bus 160 and the components of the computer system 100. The graphics system 130 may include a physical graphics processing unit (GPU) 135 and graphics memory. The GPU 135 generates pixel data for output images from rendering commands. The physical GPU 135 can be configured as multiple virtual GPUs that may be used in parallel (concurrently) by a number of applications executing in parallel.

[0062] Graphics memory may include a display memory 140 (e.g., a frame buffer) used for storing pixel data for each pixel of an output image. In another embodiment, the display memory 140 and/or additional memory 145 may be part of the memory 110 and may be shared with the CPU 105. Alternatively, the display memory 140 and/or additional memory 145 can be one or more separate memories provided for the exclusive use of the graphics system 130.

[0063] In another embodiment, graphics processing system 130 includes one or more additional physical GPUs 155, similar to the GPU 135. Each additional GPU 155 may be adapted to operate in parallel with the GPU 135. Each additional GPU 155 generates pixel data for output images from rendering commands. Each additional physical GPU 155 can be configured as multiple virtual GPUs that may be used in parallel (concurrently) by a number of applications executing in parallel. Each additional GPU 155 can operate in conjunction with the GPU 135 to simultaneously generate pixel data for different portions of an output image, or to simultaneously generate pixel data for different output images. [0064] Each additional GPU 155 can be located on the same circuit board as the GPU 135, sharing a connection with the GPU 135 to the data bus 160, or each additional GPU 155 can be located on another circuit board separately coupled with the data bus 160. Each additional GPU 155 can also be integrated into the same module or chip package as the GPU 135. Each additional GPU 155 can have additional memory, similar to the display memory 140 and additional memory 145, or can share the memories 140 and 145 with the GPU 135.

[0065] FIG. 2 is a block diagram of an example of an end user or client device 200 capable of implementing embodiments according to the present invention. In the example of FIG. 2, the client device 200 includes a CPU 205 for running software applications and optionally an operating system. The user input 220 includes devices that communicate user inputs from one or more users and may include keyboards, mice, joysticks, touch screens, and/or microphones.

[0066] The communication interface 225 allows the client device 200 to communicate with other computer systems (e.g., the computer system 100 of FIG. 1) via an electronic communications network, including wired and/or wireless communication and including the Internet. The decoder 255 may be any device capable of decoding (decompressing) data that may be encoded

(compressed). For example, the decoder 255 may be an H.264 decoder. The display device 250 may be any device capable of displaying visual information, including information received from the decoder 255. The display device 250 may be used to display visual information generated at least in part by the client device 200. However, the display device 250 may be used to display visual information received from the computer system 100. The components of the client device 200 may be coupled via one or more data buses 260. Further, the components may or may not be physically included inside the housing of the client device 200. For example, the display 250 may be a monitor that the client device 200 communicates with either through cable or wirelessly.

[0067] Relative to the computer system 100, the client device 200 in the example of FIG. 2 may have fewer components and less functionality and, as such, may be referred to as a thin client. However, the client device 200 may include other components including all those described above with regard to the computer system 100, for example, graphics system 230 that may be similar to graphics system 130 of FIG. 1. In general, the client device 200 may be any type of device that has display capability, the capability to decode (decompress) data, and the capability to receive inputs from a user and send such inputs to the computer system 100. However, the client device 200 may have additional capabilities beyond those just mentioned. The client device 200 may be, for example, a personal computer, a tablet computer, a television, a hand-held gaming system, or the like.

[0068] FIG. 3 is a block diagram of an example of a network architecture 300 in which client systems 310, 320, and 330 and servers 340 and 345 may be coupled to a network 350. Client systems 310, 320, and 330 generally represent any type or form of computing device or system, such as computing system 110 of FIG. 1.

[0069] Similarly, servers 340 and 345 generally represent computing devices or systems, such as application servers or database servers, configured to provide various database services and/or run certain software applications. Network 350 generally represents any telecommunication or computer network including, for example, an intranet, a wide area network (WAN), a local area network (LAN), a personal area network (PAN), or the Internet.

[0070] With reference to computing system 100 of FIG. 1 , a communication interface, such as communication interface 125, may be used to provide connectivity between each client system 310, 320, and 330 and network 350. Client systems 310, 320, and 330 may be able to access information on server 340 or 345 using, for example, a Web browser or other client software. Such software may allow client systems 310, 320, and 330 to access data hosted by server 340, server 345, storage devices 360(1)-(L), storage devices 370(1)-(N), storage devices 390(1)-(M), or intelligent storage array 395. Although FIG. 3 depicts the use of a network (such as the Internet) for exchanging data, the embodiments described herein are not limited to the Internet or any particular network-based environment.

[0071] In one embodiment, all or a portion of one or more of the example embodiments disclosed herein are encoded as a computer program and loaded onto and executed by server 340, server 345, storage devices 360(1)-(L), storage devices 370(1)-(N), storage devices 390(1)-(M), intelligent storage array 395, or any combination thereof. All or a portion of one or more of the example embodiments disclosed herein may also be encoded as a computer program, stored in server 340, run by server 345, and distributed to client systems 310, 320, and 330 over network 350.

Methods and Systems for Implementing a Handheld Gaming Console [0072] FIG. 4A is a diagram of an exemplary handheld gaming console 410, according to embodiments of the present invention. The gaming console 410 includes a main console body 415 coupled with a console display 450, in one embodiment.

[0073] The handheld gaming console 410 is similar to the computer system 100 of FIG. 1 or the client device 200 of FIG. 2 in embodiments. For example, the handheld gaming console 410 includes a CPU or processer, memory, storage, graphics system, communication interface, and so on. Further, the handheld gaming console 410 includes additional components like an audio processing system or other components as discussed below. In embodiments, these components are partially or fully coupled with one another in different configurations through, for example, a data bus.

[0074] As discussed above, the handheld gaming console 410 runs at least one operating system and/or software application. For example, the software application includes interactive media like a video game or any application operable to display video content, e.g. movies, web browser, etc.

[0075] The software application is coupled with a graphics system, which in turn is coupled with the console display 450, in one embodiment. For example, the graphics system processes data from the software application in order to generate pixel data for display as images or video, on for example, the console display 450. In still another example, the software application provides instructions, commands, and/or other data to the graphics system in order for the graphics system to generate an image intended for display or known by the software application.

[0076] The main console body 415 includes a user interface, in one embodiment. The user interface includes physically manipulatable controls including but not limited to analog joysticks 425, individual buttons 422, and button groups 420 with various buttons. In addition, the console display 450 may be a touchscreen display operable for physical interaction, for example by a finger or a stylus. In one embodiment, the display 450 comprises a high definition (HD) display that is capable of displaying video of a higher resolution than standard video, such as 720p, 1080p, etc. In another embodiment, the display is a 3D display. These improved displays are suitable for displaying images from games that take advantage of the current trends in technology, and give the user an enhanced viewing experience. [0077] As a result, a user is able to hold the handheld gaming console 410 and interact with the software application, for example a video game, movie, web browser, and so on, by using the physically manipulatable controls. While the handheld gaming console 410 includes a touchscreen console display 450 in one embodiment, a user may have more control through the physically manipulatable controls and therefore enjoy an improved gaming experience.

[0078] Further, because the handheld gaming console 410 is a standalone computer gaming system that is comparatively smaller and lighter than a traditional gaming console that is stationary, and because the handheld gaming console 410 includes both physically manipulatable controls and a display, the handheld gaming console 410 is mobile. For example, a user is able to carry the handheld gaming console 410 between different rooms in a house, or leave the house entirely while still able to interact with the handheld gaming console 410.

[0079] The handheld gaming console 410 includes one or more communication interface components. For example, the handheld gaming console 410 includes a wireless network adapter operable to communicate with a wireless access point (e.g., a wireless router) and ultimately communicate with further networks (e.g., the Internet), in one embodiment. Alternatively or in addition, the adaptive game controller 310 includes a Bluetooth adapter operable to communicate with other Bluetooth devices, in another embodiment. In some embodiments, the wireless connection includes Wi-Fi, Wi-Fi Direct for peer-to-peer communication. In still other

embodiments, the handheld gaming console 410 comprises a wired communication interface.

[0080] In some embodiments, the handheld gaming console 410 includes a cellular network adapter operable to communicate over a cellular network. For example, the communication interface supports wireless 3G and/or wireless long term evolution LTE (4G) communication. As a result, when the handheld gaming console 410 is within the range of a wireless network, it is configurable to connect to the wireless network or the cellular network. When the handheld gaming console 410 is outside the range of a wireless network, it is configurable to connect to the cellular network to continue receiving network access.

[0081] The handheld gaming console 410 includes an environmental motion-tracking component that also includes a camera, in one embodiment. The environmental motion-tracking component tracks movement in the surrounding environment (e.g., the movement of a user's body) and provide information associated with the tracked movement to the handheld gaming console 410. As a result, the handheld gaming console 410 is controlled based in part on motions or movement of a user, in one embodiment.

[0082] In another embodiment, the handheld gaming console 410 includes an internal motion- tracking component that may include a gyroscopic sensor, accelero meter sensor, or the like. The handheld gaming console 410 also includes an electronic compass sensor, in one embodiment. The internal motion-tracking component tracks movement of the handheld gaming console 410, for example by movements made by a user. As such, information associated with the tracked movement is provided to the handheld gaming console 410. As a result, the handheld gaming console 410 is controllable based in part on the motion of the handheld gaming console 410.

[0083] The console display 450 is operable to fold over the main console body 415, thereby at least partially covering the physically manipulatable controls, in one embodiment. The console display 450 may be coupled with the main console body 415 with one or more hinges that allow the console display 450 to swing open and closed. In still another embodiment, a cover (not shown) is configured to cover and protect the display 450. For example, a cover is attachable by magnetic attraction at one or more magnetic contact points. Removal of the cover is achieved by overcoming the magnetic attraction.

[0084] The handheld gaming console 410 includes batteries that provide power. The batteries may be rechargeable batteries. That is, an internal power source is configured to a sole source of power to the gaming console 410. In one embodiment, the power source is sufficient to provide extended hours of gaming. For example, a user may play games for 4-6 hours, watching moves for 10+ hours, web browsing for 20+ hours, or play music for 40+ hours, in embodiments.

Alternatively, or in addition, the handheld gaming console 410 may be operable to connect to a power outlet to be directly powered or to recharge rechargeable batteries. In this manner, the handheld gaming console 410 is configured as a stand-alone system capable of storing, executing and displaying gaming applications for a user. In some embodiments, the form factor is larger than a mobile phone to give the user a more enhanced and prolonged viewing experience.

[0085] The handheld gaming console 410 includes a force feedback vibration component, in one embodiment. The force feedback vibration component causes the handheld gaming console 410 to vibrate in response to events of a software application. For example, the force feedback vibration component vibrates when a character shoots a weapon or takes on damage in a video game. [0086] FIG. 4B is a diagram of the exemplary handheld gaming console 410, according to embodiments of the present invention. The view shown in FIG. 4B is a backside view of the handheld gaming console 410 of FIG. 4A. The handheld gaming console 410 includes various communication ports. For example, the handheld gaming console 410 includes a removable storage port 435, a bus port 436, an external display port 437, and/or an audio port 438.

[0087] The removable storage port 435 is operable to connect with storage media, such as, an SD card or CompactFlash. Such media stores information stored by a game, for example, checkpoints or user profiles. Such media stores information like movies, music, and photos. The bus port 436 allows the handheld gaming console 410 to connect with other devices, in one embodiment. For example, the bus port 436 includes a USB port, Fire Wire port, Ethernet port, and so on. The bus port 436 allows connection to USB thumb drives or USB external drives for read/write access to additional storage.

[0088] The external display port 437 allows the handheld gaming console 410 to connect with external displays. For example, the external display port 437 includes an HDMI port, Thunderbolt port, or the like. The audio port 438 is operable to provide audio generated by the handheld gaming console 410. For example, the audio port 438 includes a mini jack port, micro jack port, TOSLINK port, or the like. Accordingly, a user is able to connect a sound system or headset to the audio port 438.

[0089] In one embodiment, the handheld gaming console 410 includes built-in speakers 445 that are operable to play back audio associated with the software application or operating system running on the handheld gaming console 410. The handheld gaming console 410 includes an acoustic waveguide system or physical structure for guiding sound waves to enhance the quality, effect, and/or amplitude of the audio associated with the software application or operating system, in embodiments.

[0090] Alternatively, the handheld gaming console 410 includes a Bluetooth component, in one embodiment. In addition to being capable of connecting with various devices, the Bluetooth component is operable to send and receive audio wirelessly.

[0091] In one embodiment, the display 450 includes a built-in camera 440, which may allow a software application or operating system running on the handheld gaming console 410 capture photos, video, or other visual data (e.g. surrounding light intensity, movement of the console 410, movement of objects in the surrounding area).

[0092] The camera 440 includes a lens and/or sensor that allow fast high dynamic range (HDR) imaging, in one embodiment. HDR provides a larger dynamic range between the lightest and darkest areas of an image than conventional digital imaging methods or photographic methods. HDR processed images more accurately represent the range of intensity levels found in real scenes and is often captured by way of multiple photos of the same scene at different exposures.

[0093] However, conventional methods are often very slow to create an HDR processed image, for example, because they require multiple images to be taken and then processed. Embodiments of the present invention provide a lens and/or sensor that captures multiple exposure levels of a scene within one capture of a scene, and thereby shortening the amount of time necessary for capturing the necessary images. Embodiments of the present invention further provide fast image processing within an integrated chip of a camera system of the camera 440 or a GPU coupled thereto. As a result, the speed of generating HDR photos is greatly increased, and because the delay between subsequent HDR photos is greatly decreased, HDR processed videos are produced, in one embodiment. For example, HDR photos may be generated at the rate of 20 frames per second, 30 frames per second, or more. As a result, the consecutive photos may together form HDR video.

[0094] It should be noted that the physically manipulatable controls, ports, and other components of the handheld gaming console 410 are not limited to being either on a front or backside of the handheld gaming console 410 or the main console body 415. For example, some or all ports and a built-in camera may be included on the front side of main console body 415 or a housing of the console display 450. Or, for example, the handheld gaming console 410 may include backside buttons 430.

[0095] FIG. 5 is a diagram of the exemplary handheld gaming console and/or computing device 510 coupled with an external display 555, according to embodiments of the present invention. The external display may be any display, e.g., a large screen High Definition television. The handheld gaming console 510 may connect with the external display 555 to provide video, audio, and other data to the external display 555. [0096] The handheld gaming console 510 and the external display 555 may be operable to provide similar embodiments as those discussed below, for example, with respect to FIGS. 9A and 9B, except that the handheld gaming console 510 may communicate with the external display 555 through a wired connection. For example, the handheld gaming console 510 may display the same video on the console display 550 and the external display 555. Alternatively, the handheld gaming console 510 may display a private view on the console display 550 and a spectator view on the external display 555.

[0097] Handheld gaming console 510 includes gaming controller 515 that may include various physically manipulatable controls such as one or more analog joysticks 525 and button groups 520 with various buttons.

[0098] In addition, as shown in FIG. 5, a handheld gaming controller 550 includes a wireless or wired communication interface that is operable to communicate with the handheld gaming console 510. In one embodiment, the handheld gaming controller 550 may communicate with the handheld gaming console 510 through a wireless network or through Bluetooth technology. As a result, a user may play games or control other content being executed on the handheld gaming console 510 through the handheld gaming controller 550. It should be appreciated that the handheld gaming controller 510 may be operable to communicate with multiple handheld gaming controllers simultaneously through a wired or wireless connection.

[0099] More particularly, FIG. 6A is a block diagram of a handheld gaming console 600A, in accordance with one embodiment of the present disclosure. The handheld gaming console 600A provides additional functionality to the computer system 100 and/or client device 200. For instance, the handheld gaming console 600A includes a housing configured for handheld manipulation. The handheld gaming console 600A includes a processor contained within the housing and configured for executing, at least, a gaming application, and memory for storing executables of the gaming application. For example, the processor includes a multi-core processor (not shown), and multiple parallel based GPUs for video encoding and graphics processing. The CPU and GPU processors are included in a system on a chip (SOC) form, (e.g., ARM architecture), in one embodiment. For example, four fully powered CPU cores and a single lower powered CPU core provides general processing power. For instance, the lower powered CPU is configurable to perform less demanding tasks, such as, playing music. In one embodiment, the handheld gaming console 600A is run on an Android® operating system, and as such is configured to run any Android based gaming application. The handheld gaming console 600A includes at least one control button that is exposed on the housing and configured for receiving input from an end user that provides an instruction for the gaming application. An HD display is included for displaying video and/or images of the gaming application. In one further, embodiment, the handheld gaming console 600A includes an active cooling system configured for cooling. As such, the gaming console 600A is a stand-alone computing platform configured for executing and displaying a gaming application.

[00100] As shown, the handheld gaming console 600 A includes a native gaming resource application 605 that is installed on the device. The native application 605 comprises a front-end portal application executable by the console 600A. That is, the end user is presented with the front end portal application when running the gaming console 600A (e.g., upon startup). In particular, the native application 605 is configured for executing a front end portal application that is affiliated with an entity associated with the handheld device. As an example, the native application is configured to provide notification of gaming applications that are supported by the handheld computing console.

[00101] More particularly, in one embodiment, the native application is associated with and supports the gaming experience surrounding the gaming console 600A. That is, the native application includes multiple features to enhance the end user's gaming environment and experience with the console 600A, and acts as a dashboard for facilitating these features. For instance, the native application provides an interface to a social network that is supported by a web client content provider. In addition, the native application 605 is periodically updated through a connection to the client provider. In another implementation, the native application includes a list of recommended games produced and customized for execution on the handheld device 600A. For example, the portal application 605 is configured to provide notification of games such as, gaming applications that are supported by and customized for execution by the gaming console 600A. The native application 605 also includes a list of games installed, associated with, and/or accessible by the gaming console 600A, and includes a link to begin execution of a selected game.

[00102] The handheld gaming console 600A includes a navigator 610 that is configured to provide a direction connection to a third party content provider. For instance, upon receiving a selection by an end user for purchasing a gaming application, the native/portal application 605 is configured to navigate to a third party content provider selling the selected gaming application. The native/portal application is configured for facilitating installation of the newly purchased gaming application on the gaming console 600A. In particular, when the end user selects a game for purchase that is listed and recommended through the native gaming resource application 605, the navigator 610 establishes communication between the gaming console 600A and the back-end content provider through a communication network (e.g., internet) and/or interface. The content provider includes a third party content provider, and/or a content provider that is associated with the gaming console 600A.

[00103] The handheld gaming console 600A includes a communication network interface 620 configured to connect the console 600A to a network. The interface 620 is configured to provide wired, wireless, and/or peer-to-peer communication, as previously described in relation to systems 100 and 200. For instance, interface 200 provides a communication link to a communication network (e.g., LAN, WAN, internet) so that the console 600A is able to communicate with a second device (e.g., a display receiver, a cable set-top box, a micro-console, an HD television, an HD monitor, a second handheld gaming console 600A, etc.), in embodiments. In other embodiments, local communication is provided through a wired or peer-to-peer (e.g., Wi-Fi Direct)

communication network.

[00104] The handheld gaming console 600A includes a video encoder/decoder 630. In that manner, the gaming console 600A is configurable to encode images into a video stream that is delivered over a network or direct connection to a second computing device and/or display for display. For instance, the video encoder is configured to encode video using the H.264 protocol or format in one implementation, wherein other video compression formats are also supported. Also, the gaming console 600A is configurable to receive encoded images in a video stream over a network or direct connection from a second computing device, and decode the video stream to display images on a local display of the gaming console 600A. As an example, the handheld computing console is configurable for establishing a peer-to-peer communication with a second device (e.g., an HD monitor or TV), and transmitting the video stream to the second device for display, over the communication channel.

[00105] FIG. 6B is a flow diagram 600B illustrating a method for providing support for a gaming application executable on a standalone, handheld gaming console, in accordance with one embodiment of the present disclosure. In still another embodiment, flow diagram 600B illustrates a computer implemented method for providing support for a gaming application executable on a standalone, handheld gaming console. In another embodiment, flow diagram 600B is implemented within a computer system including a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system causes the system to execute a method for providing support for a gaming application executable on a standalone, handheld gaming console. In still another embodiment, instructions for performing a method as outlined in flow diagram 600B are stored on a non-transitory computer-readable storage medium having computer- executable instructions for causing a computer system to perform a method for providing support for a gaming application executable on a standalone, handheld gaming console. The method outlined in flow diagram 600B is implementable by one or more components of the computer system 100 and client device 200 of FIGS. 1 and 2, respectively, as well as handheld computing consoles described throughout this Application (e.g., console 600A of FIG. 6A).

[00106] As shown in flow chart 600B, at 650, the method includes executing a gaming application on a processor of a handheld gaming console and/or handheld computing device. In one implementation, the handheld gaming console is a stand-alone device that is capable of executing a stored gaming application for end-user participation. For example, the handheld gaming console includes a housing configured for handheld manipulation. At 660, the method includes receiving an input originating from at least one controlling device (e.g., button, joystick) located on the handheld console. The handheld gaming console includes at least one controlling device that is exposed on the housing and configured for receiving input from the end user that provides an instruction for the gaming application. At 670, the method includes displaying video of the gaming application on an HD display of the handheld gaming console. As such, flow chart 600B provides for the

implementation of a stand-alone handheld gaming console for executing a gaming application.

[00107] FIG. 7 is a block diagram 700 of a handheld gaming console 720 communicatively coupled with a client application (app) store 770 and a third party gaming source 720, according to embodiments of the present invention. The handheld gaming console 720 of FIG. 7 performs similar functionality as the handheld gaming console and/or computing device 410 of FIGS. 4A and 4B. For example, the gaming console 720 may include a display 750 similar to the console display 450 of FIG. 4A. [00108] The gaming console 720 may be communicatively coupled with the client app store 770 through a network 760. The network 760 may be similar to the network 350 of FIG. 3 and may include local area network (LAN) and/or wide area network (WAN) portions, in embodiments. The client app store 770 is affiliated with an entity supporting a gaming environment and/or community accessible through the handheld gaming console 720, such as, TegraZone associated with Nvidia Corp. that manages a suite of Google Android based gaming applications suitable for execution on the handheld gaming console 720. For instance, the client app store 770 may be operable to provide data in the form of software applications and/or media to the gaming console 720. For example, the app store 770 may be operable to provide video games, other software applications, movies, TV shows, music, photos, and so on. In one, the app store 710 provides periodic updates the front end portal, native gaming resource application that is running on the handheld gaming console 740. For example, the native application includes a list 760 of supported and available applications that are customized for execution on the handheld gaming console 740. For instance, list 760 includes GAME X, GAME Y, GAME Z, GAME AA, etc.

[00109] The gaming console 720 may locally store the software applications and media provided by the app store 770 and may be operable to execute such content. For example, the gaming console 720 may run the software applications or playback media content. The app store 770 may provide the data to the gaming console 720 for free, through a paid subscription, and/or on a per unit purchase basis.

[00110] The gaming console 720 may be communicatively coupled with more than one app store. For example, the gaming console may connect with an app store 771 in addition to the app store 770. The app store 771 may provide the same or different content, pricing, package offerings, etc, than the app store 770. The app stores may be, but are not limited to being, app stores like the one supported by NVIDIA to support the native application TegraZone running on the gaming console. For example, upon selection of one of the gaming applications for purchase (e.g., GAME X), the handheld gaming console facilitates communicative coupling between the console 740 and a third party content provider 771 through a network 730 for finalizing the purchase and delivery of GAME X. For example, a navigator module (e.g., navigator 610 of FIG. 6A is able to facilitate delivery of GAME X from provider 720 to console 740, and install GAME X on console 740. In that manner, client app store 770 acts as a broker brining the end users through the handheld gaming console 720 and the third party app store 771. [00111] Because the gaming console 720 may receive data from the app store 770 through the network 760, the gaming console 720 may receive such data at any location while connected to the network 760. For example, if the gaming console 720 is connected to the internet through a home Wi-Fi router while inside a home or through a cellular data connection while outside of the home, the gaming console 720 may still receive data from the app store 770.

[00112] Further, because the gaming console 720 may locally store the data, the gaming console 720 may execute the data even while not connected with the network 760. As a result, a user of the gaming console 720 may receive software applications and media while inside or outside the home. Further, a user may interact with the software applications and media through the gaming console 720 while inside or outside the home.

[00113] A user may be linked with more than one gaming console. For example, a user may be linked with the gaming console 720 and a second gaming console 722. If a user downloads data on one gaming console, the second gaming console may receive the same data. For example, if the user downloads an app on the gaming console 720, the gaming console 752 may also receive the same app. The additional instances of the app on the additional gaming consoles may be automatic.

Further, the additional instances may either be free even when the first instance of the app was paid for, or each additional instance may require additional payment.

TABLE 1

LISTING OF CLAIMS

1. A computing device, comprising:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing a gaming

application;

memory contained within said housing and configured for storing executables of

said gaming application;

at least one control button exposed on said housing and configured for receiving

input from a user that provides an instruction for said gaming application; and

a high definition (HD) display for displaying video from said gaming application. 2. The computing device of Claim 1, wherein said HD display comprises a touch screen display.

3. The computing device of Claim 1, further comprising:

an Android® operating system.

4. The computing device of Claim 1, further comprising:

an active cooling system configured for cooling said handheld computing device.

5. The computing device of Claim 1, further comprising:

an internal battery source.

6. The computing device of Claim 1, further comprising:

a communication interface configured to connect said computing device to a network;

a front-end portal application executable by said handheld computing device, wherein said application is affiliated with an entity associated with said handheld computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld computing device, wherein upon receiving a selection by a user for purchasing said gaming application said portal application is configured to navigate to a third party content provider selling said gaming application, and facilitating installation of said gaming application on said handheld device.

7. The computing device of Claim 6, wherein said front-end portal application comprises a social networking platform.

8. The computing device of Claim 6, wherein said front-end portal application periodically receives updates from a back end server associated with said entity.

9. The computing device of Claim 1, further comprising: a video encoder for encoding video from said gaming application into a video stream; and

a peer-to-peer communication interface configured to transmit said video stream to a second device for display.

10. The computing device of Claim 9, wherein said video encoder encodes said video using an H.264 format.

11. The computing device of Claim 9, wherein said second device is taken from a group consisting essentially of: a display receiver; a cable set-top box; a micro-console; an HD television; an HD monitor; and a second computing device configured as said computing device of Claim 1.

12. The computing device of Claim 9, wherein said communication interface comprises a wired interface or a wireless interface.

13. A method for computing, comprising:

executing a gaming application on a handheld computing device;

receiving an input originating from at least one control button, wherein said input provides an instruction for said gaming application; and

displaying video of said gaming application on a high definition display of said handheld computing device.

14. The method of Claim 13, further comprising:

executing a front-end portal application on said handheld computing device, wherein said application is affiliated with an entity associated with said handheld computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld computing device; receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface;

navigating to a third party content provider selling said gaming application through said network; and

facilitating installation of said gaming application on said handheld device.

15. The method of Claim 13, further comprising:

encoding video from said gaming application into a video stream; and establishing a peer-to-peer communication with a second device;

transmitting said video stream over said peer-to-peer communication to said second device for display.

16. The method of Claim 15, wherein said video encoder encodes said video using an H.264 format.

17. The method of Claim 15, wherein said second device is taken from a group consisting essentially of: a display receiver; a cable set-top box; a micro-console; an HD television; an HD monitor; a second handheld computing device configured to execute another version of said gaming application for purposes of multi-player gaming.

18. A no n- transitory computer-readable medium having computer-executable instructions for causing a computer system to perform a method comprising:

executing a gaming application on a handheld computing device;

receiving an input originating from at least one control button, wherein said input provides an instruction for said gaming application; and

displaying video of said gaming application on a high definition display of said handheld computing device.

19. The computer- readable medium of Claim 18, wherein said method further comprises:

encoding video from said gaming application into a video stream; and establishing a peer-to-peer communication with a second device;

transmitting said video stream over said peer-to-peer communication to said second device for display. 20. The computer-readable medium of Claim 18, wherein said method further comprises:

executing a front-end portal application on said handheld computing device,

wherein said application is affiliated with an entity associated with said handheld

computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld computing device,

receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface;

navigating to a third party content provider selling said gaming application

through said network; and

facilitating installation of said gaming application on said handheld device.

Gaming Console Environment

[00114] FIG. 8 is an illustration of a exemplary network environment 800 within which a handheld gaming console and/or computing device 890 is configured for controlling the actions within a gaming application, in accordance with one embodiment of the present disclosure.

Although a general description is provided for the implementation of the handheld console 890 within the network environment 800, other various implementations are described more fully below in relation to FIGS. 9-17, in other embodiments.

[00115] As shown in FIG. 8, a handheld held gaming console 890 includes a HD display 895 for the display of various images, including video from a locally executing gaming application, video from a remotely executing gaming application, secondary or supplemental video of a gaming application related to a gaming application, etc. The gaming console 890 is communicatively coupled to various secondary, local devices, such as, those within a short distance of each other, like in a home environment. For example, gaming console is communicatively coupled to one or more of a PC 870, mobile device 875, and an HD TV/monitor 880.

[00116] In one embodiment, gaming console 890 is communicatively coupled to a secondary device through peer-to-peer communication, such as, Wi-Fi Direct, that facilitates a connection between the gaming console 890 and a second device (e.g., micro-console, gaming console, set-top box, HD TV/monitor 880, etc.) without the use of a wireless access point. These connections are shown as being formed below line A—A. For example, gaming console is communicatively coupled through a peer-to-peer wireless protocol (e.g., Wi-Fi Direct) to PC 870 along path 871. In this manner, the PC is able to execute a gaming application using its powerful CPU and graphics processing capabilities and display the associated video on the display 895 of the gaming console 890 and/or a separately connected HD TV/monitor 880 (e.g., connected through wired, or wireless communication). Also, in another implementation, the gaming console 890 is able to execute a gaming application and display the associated video on the HD TV/monitor 880 connected directly either through a wired or wireless connection. In the case of a wireless connection, if the HD TV does not have a peer-to-peer interface, a communication dongle 885 is used to couple the HD TV/monitor 880 to the gaming console 890 via a peer-to-peer connection. That is, dongle 885 acts as a display receiver.

[00117] In another implementation, the gaming console is coupled to an access point 860 above line A—A to facilitate communication with a network 850 (e.g., WAN, LAN, and internet, etc.) to facilitate communication with local devices (e.g., PC 870, mobile device 875, HD TV/monitor 880), and to facilitate communication with remote web servers (e.g., GRID servers 830, mobile based app store 840 and PC based app store 845. For instance, in one embodiment, a gaming application is running on a virtual computer of the GRID servers 830, and video of the gaming application is streamed to the display 895 of the gaming console 890 or to the HD TV/monitor 880 through network 850. In that case, the end user provides instructions through controls on the gaming console 890 to the gaming application executed by the virtual computing device running on the GRID servers 830.

[00118] As shown in FIG. 8, the gaming console 890 is coupled to one or more app stores through network 850. For instance, gaming console 890 is coupled to the mobile based app store 840. In one implementation, the app store 840 is affiliated with an entity supporting a gaming environment and/or community accessible through the handheld gaming console 890, such as, TegraZone associated with Nvidia Corp. that manages a suite of Google Android based gaming applications suitable for execution on the handheld gaming console 890. In another instance, gaming console is coupled to the PC based app store 845. The app store 845 provides more computationally intensive gaming applications that are executable on PC based computing devices, as opposed to less computationally powerful mobile devices, such as, handheld gaming console 890. In that case, gaming applications may be purchased through the app store 845 using the gaming console 890 or PC 870 and downloaded and/or delivered to the PC 870. These PC based games are executed on the PC 870 but controlled through the gaming console 890 and displayed either on the display 895 of the gaming console 890 or on the HD TV/monitor 880, in various embodiments, as will be further described below.

Methods and Systems for Interfacing a Handheld Gaming Console with an Electronic Display

[00119] FIG. 9A is a block diagram 900A of a handheld gaming console 720 communicatively coupled with a display 950, according to embodiments of the present invention. The handheld gaming console 720 shown in FIG. 9A is described in relation to FIG. 7A, and in one embodiment is the same as or similar to the handheld gaming console 410 of FIGS. 4A and 4B. For example, the gaming console 620 may include a display 750 similar to the console display 450 of FIG. 4A.

[00120] The gaming console 720 may be communicatively coupled with the display 950 through a network 965 , for example, through wired or wireless interfaces. The network 965 may be similar to the network 350 of FIG. 3 and may include local area network (LAN) and/or wide area network (WAN) options or portions. In another embodiment, the network 965 comprises a peer-to-peer communication network that provides direction communication between the gaming console 720 and the display 950.

[00121] The display 950 may be any display, for example, a large display like a flat panel HDTV. The gaming console 720 may transmit images, video, audio, and other data to the display 950 through the network 965 . The display 950 may then be able to display the video, playback the audio. Further, the display 950 may make use of the transmitted data. For example, the data may include instructions to the display 950 to change to different audio or video modes.

[00122] In various embodiments, the gaming console 720 may execute a video game using components discussed above with reference to FIGS. 1 , 2, 4, and 5, like a processor, graphics processing system, memory, and so on. The gaming console 720 may send video and audio related to the video game to the display 950, which in turn may display the content. As a result, the display 950 may show the output of a video game played on the gaming console 920. [00123] While the display 950 shows and plays the video game content, the display 750 of the gaming console 720 may not display any content at all or any content related to the video game, in one embodiment. Alternatively, the display 650 shows content related to the video game different from what is shown by the display 950, in another embodiment. For example, the display 750 may show statistics related to game play, taunts from other players, hints related to game play, and so on. In another example, the display 950 shows video, such as a cockpit view of a driving game, while the display 750 shows a rear view mirror view.

[00124] More than one gaming console may be communicatively coupled with the display 950. As illustrated in FIG. 9A, a second gaming console 722 may be coupled with the display 950 through the network 965 . In one embodiment, the second gaming console 722 establishes another peer-to-peer connection with display 950. In one embodiment, one of the gaming consoles is a master console while the others are slave consoles. Accordingly, both gaming consoles may transmit audio, video, and/or other data to the display 950. For example, a first half of the display's 950 screen shows video transmitted by gaming console 720 while a second half of the display's 950 screen shows video transmitted by gaming console 722.

[00125] In another implementation, the second gaming console 722 is paired with the first gaming console 720, such that a second video of the gaming application executing on the first gaming console 720 is displayable on display 752 of the second gaming console 722, such as, a spectator view, or statistics, etc. In another case, the second gaming console 722 is executing the same gaming application, and as such the gaming application is executing on both consoles 720 and 722 for the benefit of one player. The two gaming applications as executed are integrated, such that a first view of the gaming application is generated by the gaming application executed on the first gaming console 720 and displayed on display 750 of the first gaming console 720. Further, a second view of the gaming application is generated by the gaming application executed on the second gaming console 722 and is displayed on display 752 of the second gaming console 722.

[00126] It should be appreciated that there may be more than one display coupled with the gaming consoles. For example, a second display shows a different spectator view than a spectator view shown by a first display. Alternatively, each display shows a private view of each gaming console. It should be appreciated that embodiments discussed below with respect to the following figures may also include multiple displays in the same way. [00127] The gaming consoles may communicate with each other, for example, through the network 965 (e.g., access points, LAN, WAN, internet, peer-to-peer communication, etc.).

However, the gaming consoles may be communicatively coupled directly with one another, for example through a wireless or wired interface. As a result, the gaming consoles may cooperate with one another to support multiplayer games. For example, a game being executed on the gaming console 720 may communicate with another instance of the same game being executed on the gaming console 722 to provide a multiplayer gaming experience.

[00128] In various embodiments, the gaming consoles 720 and 722 provides private views on their respective displays 750 and 752 while providing a spectator view on the display 755. The private views are shown only on each respective display to help prevent other users or players of a multiplayer game being played on the consoles from seeing other players' views. In this way, a player's view will be private and prevent others from anticipating future actions from the player, learn information about the player (e.g., health statistics, available weaponry, etc), learn about a location of the player (e.g., a location in the map or level), and so on. In addition, players will be less distracted by other players' views, providing a more realistic gaming experience.

[00129] For example, the spectator view shown on the display 950 includes a general view of the game that the players of the game or others may view. For illustration, in a football game, the spectator view may show angles similar to those shown when watching a televised football game, thereby providing a more realistic experience to viewers of the display 950. Alternatively, the spectator view chooses to follow different players of the game at random, either revealing their private view or other views (e.g., a bird's eye view of a player's character instead of the character's personal view). Or, the display 950 shows statistics related to the game play. For example, player rankings, remaining game time, and so on.

[00130] It should be appreciated that the gaming consoles may cooperate with each other to provide a multiplayer gaming experience without the display 950. For example, the gaming consoles 720 and 722 may provide a private view on their respective displays 750 and 752 so that players of a game may benefit from the advantages discussed above. However, a spectator view may not be necessary or preferable. In fact, the gaming consoles 720 and 722 may provide the multiplayer gaming experience without the existence of an additional display like the display 950. [00131 ] It should be borne in mind that the gaming consoles may execute different games.

Further, it should be appreciated that the gaming consoles may both transmit information to the display 950 even while playing different games. For example, a portion of the display 950 may show the game being played on the gaming console 720 and a portion of the display 950 may show the game being played on the gaming console 722.

[00132] The video, audio, and/or other data transmitted from the gaming consoles to the display 950 may or may not be compressed before sending, and decompressed and/or decoded when received by the display 755. For example, see copending U.S. Patent Application Serial No.

13/727,357, "VIRTU ALIZED GRAPHICS PROCESSING FOR REMOTE DISPLAY," filed on December 26, 2012, with Attorney Docket No. NVID-P-SC-09-0210-US1, which is incorporated herein by reference for all purposes. For example, the gaming console 720 may compress the data into H.264 format for transmittal to the display 950. Once the display 950 receives the data to be displayed, it may decompress and display the video, audio, and/or other data. It should be noted that in all embodiments of the invention, the file formats used are not limited to H.264 and that the communication protocols may be but are not limited to IEEE 802.1 1 protocols, but for example, Bluetooth.

[00133] It should be noted that a communication interface component 920, as discussed with respect to FIG. 9B below, may be coupled with the display 950. As a result, even though the gaming consoles 720 and 722 may communicate with the display 950 through the network 965 , the display 950 may be coupled with the network 965 through the communication interface component 920 (e.g., through a peer-to-peer interface). In other words, the communication interface component 920 may be operable to allow the display 950 to communicate through the network 965. For example, the communication interface component 920 includes a dongle that enables peer-to-peer communication for display 950. In other embodiments, the communication interface component 920 is integrated within display 950.

[00134] FIG. 9B is a block diagram 900B of a handheld gaming console 720 communicatively coupled with a display 950, according to embodiments of the present invention. FIG. 9B includes a communication interface component 920 that is operable to allow the gaming console 720 to communicate with the display 755 without a network. [00135] The communication interface component 920 may be, for example, a cable set-top box operable to provide video and audio from the handheld gaming console 920 to the display 950. The communication interface component 920 may be, for example, a dongle with an HDMI port that is operable to connect with the display's 950 HDMI port. It should be appreciated that the interface component 920 may support other interfaces that are operable to provide video, audio, and/or data. For example, a DVI connection. The interface component 920 may also be operable to wirelessly communicate with the gaming console 720. As a result, the gaming console may transmit video, audio, and/or data to the interface component 920, which in turn may provide such information to the display 950, such as, through a peer-to-peer wireless connection. Ultimately, the video, audio, and/or other data sent by the gaming console 720 may be displayed or played by the display 950 similarly to the embodiments discussed with respect to FIG. 9A.

[00136] It should be appreciated that multiple gaming consoles may transmit data to the interface component 920, in other words, the interface component 920 may be operable to communicate with more than one gaming console. As a result, various embodiments involving more than one gaming console, like those discussed with respect to FIG. 9A, are possible with the use of the interface component 920 and without a network. It should also be noted that multiple gaming consoles may communicate with one another through the interface component 920.

[00137] More particularly, FIG. 10A is a block diagram of a handheld gaming console 1000A, in accordance with one embodiment of the present disclosure. The handheld gaming console 1000A provides additional functionality to the computer system 100 and/or client device 1000, and includes similar components as gaming console 600A of FIG. 6A. For instance, the handheld gaming console 1000A includes a housing configured for handheld manipulation, and a CPU and/or GPU processor contained within the housing configured for executing, at least, a gaming application, and memory for storing executables of the gaming application. In one embodiment, the handheld gaming console 1000A is run on an Android® operating system. The handheld gaming console 1000A includes at least one control button that is exposed on the housing and configured for receiving input from an end user that provides an instruction for the gaming application. An HD display is included for displaying video and/or images of the gaming application.

[00138] As shown, the handheld gaming console 1000A includes a native gaming resource application 605 that is installed on the device. The native application 605 comprises a front-end portal application executable by the console 1000A, wherein the portal application 605 is affiliated with an entity that provides and promotes a gaming experience using the gaming console 1000A, as previously described.

[00139] The handheld gaming console 600A includes a navigator 610 that is configured to provide a direction connection to a third party content provider. For instance, upon receiving a selection by an end user for purchasing a gaming application, the native/portal application 605 is configured to navigate to a third party content provider selling the selected gaming application, and for facilitating installation of the newly purchased gaming application on the gaming console 1000A.

[00140] The handheld gaming console 1000A includes a communication network interface 620 configured to connect the console 1000A to a network. The interface 620 is configured to provide wired, wireless, and/or peer-to-peer communication, as previously described in relation to systems 100 and 200. For instance, interface 200 provides a communication link to a communication network (e.g., LAN, WAN, internet) so that the console 1000A is able to communicate with a second device (e.g., a display receiver, a cable set-top box, a micro-console, an HD television, an HD monitor, a second handheld gaming console 600A, etc.), in embodiments

[00141] The handheld gaming console 600A includes a video encoder/decoder 630. In that manner, the gaming console 600A is configurable to encode images into a video stream that is delivered over a network or direct connection to a second computing device and/or display for display (e.g., using the H.264 format), and to receive and decode an encoded video stream for local display.

[00142] Also, the gaming console 1000A is configurable to receive encoded images in a video stream over a network or direct connection from a second computing device, and decode the video stream to display images on a local display of the gaming console 600A.

[00143] Gaming console 1000A, also includes a peer-to-peer communication transmitter/receiver 1040. As such, direct communication between local devices is provided through a peer-to-peer (e.g., Wi-Fi Direct) communication network. As an example, the handheld computing console 1000A is configurable for establishing a peer-to-peer communication with a second device (e.g., an HD monitor or TV), and transmitting the video stream to the second device for display, over the communication channel.

[00144] In one embodiment, the gaming console 1000A is configured to execute a front-end portal application. The application is affiliated with an entity associated with the handheld gaming console in order to provide an overall gaming experience. For instance, the native application provides notification of games that are supported by the gaming console, and where upon receiving a selection by an end user for purchasing a gaming application, the native, portal application is configured to navigate to a third party content provider (e.g., web site) to facilitate the purchase gaming application, receive rights to the gaming application, and/or installation of the gaming application on the handheld gaming console.

[00145] FIG. 10B is a flow diagram 1000B illustrating a method for providing support for a gaming application executable on a handheld gaming console and a display on a second device, in accordance with one embodiment of the present disclosure. In still another embodiment, flow diagram 1000B illustrates a computer implemented method for providing support for a gaming application executable on a handheld gaming console and a display on a second device. In another embodiment, flow diagram 1000B is implemented within a computer system including a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system causes the system to execute a method for providing support for a gaming application executable on a handheld gaming console and a display on a second device. In still another embodiment, instructions for performing a method as outlined in flow diagram 1000B are stored on a non-transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method for providing support for a gaming application executable on a handheld gaming console and a display on a second device. The method outlined in flow diagram 1000B is implementable by one or more components of the computer system 100 and client device 200 of FIGS. 1 and 2, respectively, as well as handheld computing consoles described throughout this Application (e.g., console 1000A of FIG. 10A).

[00146] As shown in flow chart 1000B, at 1050, the method includes executing a gaming application on a processor of a handheld gaming console and/or handheld computing device. In one implementation, the handheld gaming console is a stand-alone device that is capable of executing a stored gaming application for end-user participation. For example, the handheld gaming console includes a housing configured for handheld manipulation, a processor (e.g., CPU and GPU configurations) configured for executing the gaming application, memory for storing executables of the gaming application, and at least one controlling device exposed on the housing that is configured for receiving input from an end user, wherein the input provides an instruction that is handled by the gaming application.

[00147] At 1060, the method includes generating video of the executed gaming application. That is, as the gaming application is executed and played by an end user, corresponding video is generated for display. In one embodiment, one or more video streams are generated. For instance, a first video includes a player's view, wherein a second video includes a spectator view. Other views are also capable of being generated, such as, informational views (e.g., heads up display showing statistical information, a second player's view, etc.).

[00148] At 1070, the method includes streaming the video to a second device for displaying the video. That is, instead of displaying the video on the gaming console that is executing the gaming application, the video is transmitted to a second device for display. For instance, the second display may be an HD TV/monitor that can show the video on a larger screen for the increased enjoyment of the end user playing the game. In other implementations, the second device includes a display receiver (e.g., dongle), a cable set-top box allowing the video to be displayed through a cable channel, a micro-console, an HD TV/monitor, or a second handheld gaming console. In one embodiment, the video that is streamed is uncompressed, and delivered over a wired connection (e.g., HDMI), or a wireless connection.

[00149] In another embodiment, the video is compressed. That is, at 1080, the video is optionally encoded. For instance, the video is encoded using the H.264 compression protocol, as previously described. The encoded video is then transmitted over a wired or wireless connection (e.g., through an access point, LAN, WAN, etc.) to the second device for display. In one embodiment, at 1090, the method optionally establishes a peer-to-peer connection between the handheld gaming console and the second device. As such, the encoded video is streamed to the second device over the peer- to-peer connection, wherein the second device decodes the encoded video and displays the decoded video.

[00150] In one embodiment, a dongle is communicatively coupled to the second device. The dongle is configured for peer-to-peer communication, and as such, is able to provide an interface allowing for peer-to-peer communication for the second device. In particular, the method includes establishing a peer-to-peer connection between the handheld gaming console and the dongle. In that manner, the encoded video is delivered to the dongle and decoded for delivery to the second device for display.

[00151] In one embodiment, two different views are generated. For instance, the encoded video comprises a first view of the gaming application, and is streamed to the second device for display. As an illustration, the first view includes a player's view of the gaming application. A second view is also generated by the gaming application. For instance, the second view includes statistical information (e.g., included in a heads up display, also referred to as a HUD), or map, or other types of information beneficial to the player. The second video (e.g., of the second view) is displayed on the gaming console, in one embodiment.

[00152] In one embodiment, the method includes receiving an input originating from a controlling device on the gaming console. The input provides an instruction that is handled by the gaming application. As such, the input is generated through interaction with the gaming console, and corresponding video is generated by the gaming application. The corresponding video is then transmitted to a second device for display, either through a wired or wireless connection.

[00153] In one embodiment, the method includes executing a front end application on the handheld gaming console, wherein the native application is associated with and supports the gaming experience surrounding the gaming console. For instance, the native application is configured to provide notification of games that are supported by the corresponding handheld gaming console. In one embodiment, a selection of a game is received for purchase. A connection is made between the handheld gaming console to a third party content provider through a communication network. The third party is capable of selling the gaming application through the network. Installation of the gaming application is facilitated by the native application onto the gaming console, so that the gaming application is executable on the gaming console.

[00154] That is, the native application includes multiple features to enhance the end user's gaming environment and experience with the console 600A, and acts as a dashboard for facilitating these features. For instance, the native application provides an interface to a social network that is supported by a web client content provider. In addition, the native application 605 is periodically updated through a connection to the client provider. In another implementation, the native application includes a list of recommended games produced and customized for execution on the handheld device 600A. For example, the portal application 605 is configured to provide notification of games such as, gaming applications that are supported by and customized for execution by the gaming console 600A. The native application 605 also includes a list of games installed, associated with, and/or accessible by the gaming console 600 A, and includes a link to begin execution of a selected game.

TABLE 2

LISTING OF CLAIMS

1. A method for computing, comprising:

executing a gaming application on a handheld computing device, wherein said

handheld computing device comprises:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing said gaming application;

memory contained within said housing and configured for storing

executables of said gaming application; and

at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said

gaming application;

generating video of said executed gaming application; and

streaming said video to a second device for displaying said video.

2. The method of Claim 1 , further comprising:

encoding said video; and

streaming said encoded video to said second device for displaying said video

stream.

3. The method of Claim 2, wherein said streaming said encoded video further

comprises: establishing a peer-to-peer connection between said handheld computing device and said second device.

4. The method of Claim 2, wherein said streaming said encoded video further comprises:

establishing a peer-to-peer connection between said handheld computing device and a dongle, wherein said dongle is communicatively coupled to said second device and comprises a peer-to-peer interface between said second device and said handheld computing device; and

streaming said encoded video to said dongle.

5. The method of Claim 3, wherein said streaming said encoded video further comprises:

streaming said encoded video, wherein said encoded video comprises a first view of said gaming application;

generating a second video for said gaming application, wherein said second video comprises a second view of said gaming application; and

displaying said second video on an HD display of said gaming console.

6. The method of Claim 5, wherein said video is streamed using an HDMI protocol.

7. The method of Claim 1 , wherein said second device is taken from a group consisting essentially of:

a display receiver; a cable set-top box; a micro-console; an HD television; an HD monitor; and a second computing device configured as said computing device of Claim 1.

8. The method of Claim 2, wherein said encoding said video comprises:

encoding said video using an H.264 format.

9. The method of Claim 1 , further comprising:

receiving an input originating from a controlling device, wherein said input provides an instruction handled by said gaming application.

10. The method of Claim 1 , further comprising:

executing a front-end portal application on said handheld gaming console, wherein said application is affiliated with an entity associated with said handheld gaming console, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld gaming console;

receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface;

navigating to a third party content provider selling said gaming application through said network; and

facilitating installation of said gaming application on said handheld gaming console.

11. A computing device, comprising:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing said gaming application;

memory contained within said housing and configured for storing executables of said gaming application;

at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said gaming application;

a video encoder for encoding video from said gaming application; and a peer-to-peer communication interface configured to transmit said encoded video to a second device for display.

12. The computing device of Claim 11, further comprising:

an Android® operating system.

13. The computing device of Claim 11, further comprising: a communication interface configured to couple said computing device to a network;

a front-end portal application executable by said handheld computing device, wherein said application is affiliated with an entity associated with said handheld computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld computing device, wherein upon receiving a selection by a user for purchasing said gaming application said portal application is configured to navigate to a third party content provider selling said gaming application, and facilitating installation of said gaming application on said handheld device.

14. The computing device of Claim 11 , wherein said peer-to-peer

communication interface is configured to establishing a peer-to-peer connection between said handheld gaming console and a dongle, wherein said dongle is communicatively coupled to said second device and comprises a peer-to-peer interface between said second device and said handheld gaming console, wherein said encoded video is streamed to said dongle over said peer-to-peer connection.

15. The computing device of Claim 1 1, wherein said video encoder encodes said video using an H.264 format.

16. The computing device of Claim 1 1, wherein said second device is taken from a group consisting essentially of: a display receiver; a cable set-top box; a micro-console; an HD television; and an HD monitor; a second computing device configured as said computing device of Claim 1.

17. A no n- transitory computer readable medium having computer executable instructions for causing a computer system to perform a method for computing, wherein said method comprises:

executing a gaming application on a handheld gaming console, wherein said handheld gaming console comprises:

a housing configured for handheld manipulation; a processor contained within said housing and configured for executing said gaming application;

memory contained within said housing and configured for storing executables of said gaming application; and

at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said gaming application;

generating video of said executed gaming application; and

streaming said video to a second device for displaying said video.

18. The computer readable medium of Claim 17, wherein said method further comprises:

encoding said video; and

streaming said encoded video to said second device for displaying said video stream.

19. The computer readable medium of Claim 17, wherein said streaming said encoded video in said method further comprises:

establishing a peer-to-peer connection between said handheld gaming console and said second device.

20. The computer readable medium of Claim 17, wherein said method further comprises:

executing a front-end portal application on said handheld gaming console, wherein said application is affiliated with an entity associated with said handheld gaming console, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said handheld gaming console;

receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface;

navigating to a third party content provider selling said gaming application through said network; and facilitating installation of said gaming application on said handheld gaming

console.

Methods and Systems for Interfacing a Remote Server with a Handheld Gaming Console

[00155] FIG. 11 A is a block diagram 1 100A of a handheld gaming console 720 communicatively coupled with a locally -based server 1 185 or cloud based server 1180, according to embodiments of the present invention. The handheld gaming console 720 of FIG. 11 A is described in relation to FIG. 7 A, and in one embodiment is the same as or similar to the handheld gaming console 410 of FIGS. 4A and 4B. For example, the gaming console 720 may include a display 750 similar to the console display 450 of FIG. 4A.

[00156] In one embodiment, the gaming console 720 may be communicatively coupled with the locally-based server 1 185 through a network 1165, for example, through wired or wireless interfaces. The network 1 165 may be similar to the network 350 of FIG. 3 and may be, for example, a local area network (LAN), or a wide area network (WAN) for purposes of facilitating

communication over the internet.

[00157] The locally-based server 1185 may be a computer system that is located proximately to the gaming console 720. For example, the locally -based server 1185 may be located in the same house or building as the gaming console 720, or connected with the gaming console 720 primarily through a LAN (e.g., through a wireless access point, otherwise referred to as a "WAP"). In other words, the locally-based server 1185 could be a household personal desktop computer.

[00158] The locally -based server 1185 may be communicatively coupled with an app store 1 175 through a network 1160. The network 660 may be similar to the network 350 of FIG. 3 and may include LAN and/or WAN portions. The app store 1175 may be operable to provide data in the form of software applications and/or media to the gaming console 720 that are suitable for execution by the handheld gaming console 720. For example, the app store 1175 may be operable to provide video games, other software applications, movies, TV shows, music, photos, and so on. [00159] In some cases, at least some of the content provided by the app store 1175 may not be executable by the gaming console 720. For example, the app store 1175 may provide content that requires certain platforms or operating systems for execution that the gaming console 720 does not or cannot support. Alternatively, the app store 1 175 content may not be executable by the gaming console 720 because the content requires greater processing power than the gaming console 720 may be able to provide. Or, the app store 1175 content may not be executable by the gaming console 720 because the app store 1175 is not compatible with the gaming console 720 for various reasons, e.g., there is no container or application to allow communication between the gaming console 720 and the app store 1 175.

[00160] Importantly, the locally -based server 1185 may be operable to execute the content provided by the app store 1 175. For example, the locally-based server 1185 may provide a compatible platform or operating system, may provide the necessary processing power, or may be able to communicate with the app store 1 175 to execute the app store 1175 content. Accordingly, the content may be downloaded from the app store 1175, installed on the locally-based server 1185, and executed on the locally-based server 1185. For example, the locally-based server 1 185 may download, install, and execute a game provided by the app store 1175.

[00161 ] Further, the gaming console 720 may receive data from the locally -based server 1185 related to or representing the app store 1 175 content. For example, the locally -based server 1185 may send video, audio, and/or other data related to the app store 1 175 content through the network 1165 to the gaming console 720. The other data may include, for example, instructions to activate a force feedback vibration component in the gaming console 720.

[00162] In one example, the locally -based server 1185 may execute a software application requiring graphics and audio processing. The locally-based server 1185 may then transmit the graphics and audio to the gaming console 720 for display and playback. Accordingly, the gaming console 720 may provide the app store 1175 content with the aid of the locally -based server 1185 that the gaming console may not have otherwise been able to provide. Even if the gaming console 720 may have been able to provide the same app store 1175 content, it may be able to do so at a lower quality or with limitations, but the locally-based server 1185 may be capable of providing higher quality and limitation-free content generation to the gaming console 720. [00163] The video, audio, and/or other data transmitted from the locally-based server 1185 may or may not be compressed before sending, and decompressed and/or decoded when received by the gaming console 720. For example, see copending U.S. Patent Application Serial No. 13/727,357, " VIRTU ALIZED GRAPHICS PROCESSING FOR REMOTE DISPLAY," filed on December 26, 2012, with Attorney Docket No. NVID-P-SC-09-0210-US1, previously referenced. For example, the locally -based server 1 185 may compress the data into H.264 format for transmittal to the gaming console 720. Once the gaming console 720 receives the data to be displayed, it may decompress and display the video, audio, and/or other data.

[00164] The gaming console 720 may be operable to send user inputs to the locally -based server 1185. For example, the gaming console 720 may send data representing user interaction with the physical controls, touchscreen, internal/external motion tracking components, and so on, to the locally-based server 1 185. In this way, a user may control software applications or content that is being executed on the locally-based server 1 185. The gaming console 720 may send user inputs through the network 1 165.

[00165] It should be appreciated that embodiments of the present invention may not require an app store. For example, an application may be locally installed on the locally-based server 1185, for example, through DVD media. The locally-based server 1 185 may still provide generated video and audio related to the application to the gaming console 720. Alternatively, the locally-based server 1185 may playback media that requires stronger processing than the gaming console 720 is able to provide. For example, the locally -based server 1185 may decode a high-resolution movie that is unable to be processed by the gaming console 720 by itself, and then send video and audio related to the movie to the gaming console 720 for display.

[00166] The various embodiments discussed with respect to other figures may be used with the locally-based server 1185. For example, there may be more than one gaming console, e.g., FIG. 11 A also includes the second gaming console 722.

[00167] The locally -based server 1185 may provide content to the second gaming console 722 simultaneously with gaming console 720. The content provided to multiple gaming consoles may be related or unrelated to each other. For example, the locally -based server 1 185 may provide a movie to the gaming console 720 and provide video and graphics for a video game to the second gaming console 722. Alternatively, the locally-based server 1185 may provide related content to more than one gaming console. For example, the locally-based server 1185 may provide different video and audio to the gaming consoles 720 and 722 for different characters within a multiplayer video game environment.

[00168] FIG. 11 A includes the display 1155 that may be coupled with the locally-based server 1185 and multiple gaming consoles 720 and 722 through the network 1 165 or directly through a communication interface component. The gaming consoles 720 and 722 may continue to display video and playback audio sent by the locally -based server 1 185, while the display 1155 displays a spectator view sent by the locally-based server 1185. Alternatively, the gaming consoles 720 and 722 may act as controllers while the display 1155 displays the main content, optionally with the gaming consoles 720 and 722 game-related information like statistics sent by the locally-based server 1185. The locally-based server 1 185 may communicate with the display through the network 1165 or directly through a communication interface component.

[00169] In addition, gaming console 720 may be communicatively coupled with a cloud based server 1180 through network 1160 and/or network 1165, for example, through wired or wireless interfaces. For example, network 1 160 and/or network 1165 forms a LAN in part, and a WAN in parts to enable communication between the gaming console 720 and the cloud based server 1 180. In still other embodiments, the network connectivity includes a cellular network. For example, the communication interface (e.g.,, wireless modem) implemented on the gaming console 720 and servers 1180 and 1185 supports wireless 3G and/or wireless long term evolution LTE (4G) communication. As a result, when the handheld gaming console 720 is within the range of a wireless network, it is configurable to connect to the wireless network or the cellular network. When the handheld gaming console 410 is outside the range of a wireless network, it is configurable to connect to the cellular network to continue receiving network access.

[00170] The cloud-based server 1180 may be part of a cloud-based computing system. Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the internet). Therefore, the cloud-based server 1180 may be remotely located from the gaming console 720. For example, the cloud-based server 1180 may be located in a separate building or city as the gaming console 720.

[00171 ] In one embodiment, the cloud-based server 1180 provides virtual machines configurable for executing gaming applications. For example, the cloud-based server 1180 is configured to provide virtual and/or physical GPU-based processing for purposes of image rendering and other executables. In one implementation, a virtual machine is configurable to render video for a corresponding gaming application, and is configurable for executing the gaming application.

[00172] The cloud-based server 1 180 may include or be communicatively coupled with the app store 1175, previously described. As such, the app store 1 175 is operable to provide data in the form of software applications and/or media to the gaming console 720 and/or a virtual machine of the cloud-based server 1180, as previously described. For example, the app store 1 175 may be operable to provide video games, other software applications, movies, TV shows, music, photos, etc.

Importantly, the cloud-based server 1180 is operable to execute the content provided by the app store 1175. For example, the cloud-based server 1 180 may provide a compatible platform or operating system, may provide the necessary processing power, or may be able to communicate with the app store 1 175 to execute the app store 1175 content. Accordingly, the content may be downloaded from the app store 1175, installed on the cloud-based server 1 180, and executed on the cloud-based server 1180. For example, the cloud-based server 980 may download, install, and execute a game provided by the app store 1175.

[00173] Operation of the cloud-based server 1180 is similar to the operation of the locally based server 1185, as previously described. For instance, the cloud based server 1180 executes a gaming application requiring graphics and audio processing, and transmits the graphics and audio to the gaming console 720 for display and playback. In one implementation, the cloud based server 1180 comprises a virtual machine. Because of the higher processing power provided, the cloud-based server 1180 provides higher quality of video and audio data back to the gaming console 720.

Further, user inputs are generated at the gaming console 720 is received at the cloud based server 1180 for processing and handling by the gaming application. In addition, the cloud based server 1180 is configurable to provide content simultaneously to the second gaming console 722 with gaming console 720.

[00174] Because the cloud-based server 980 is remotely communicatively coupled with the gaming console 720, the gaming console 720 is able to receive data from the cloud-based server 1180 at different locations. For example, the gaming console 720 may be able to receive data from the cloud-based server 1180 at different homes, outdoors, or even while located in different countries. Accordingly, a user of the gaming console 720 is free to travel between different locations and continue to benefit from the continuous services of the cloud-based server 1180 when executing a particular application, such as, a gaming application.

[00175] The cloud-based server 1180 provides content to the gaming console 720 through a subscription-based model, in one embodiment. For example, a user of the gaming console 720 pays a monthly fee to be able to receive services and/or content from the cloud-based server 1180, like processed video and audio related to game play of a video game. Alternatively, the cloud-based server 1180 provides content to the gaming console 720 through a pay-per-use model. Regardless of the type of payment model used, piracy may be prevented or minimized since the software application will be withheld from the gaming console 720, and instead only video, audio, and/or other data is simply sent to the gaming console 720.

[00176] Figure 1 IB is a block diagram 1 100B of the handheld gaming console 720

communicatively coupled with the cloud-based server 1110 that is in turn communicatively coupled with a set-top box 11 15, according to embodiments of the present invention. The handheld gaming console 720 of FIG. 1 IB may be the same as or similar to the handheld gaming console 410 of FIGS. 4A and 4B. For example, the gaming console 720 may include a display 750 similar to the console display 450 of FIG. 4A.

[00177] Similar to Figure 11 A, the gaming console 720 may be communicatively coupled with the cloud-based server 1110 through a network, for example, through the network 1 135. As discussed with respect to FIG. 11 A, the cloud-based server 1 110 may be part of a cloud-based computing system that provides a plurality of virtual computing devices based upon demand, wherein in one implementation, one or more the virtual computing devices are configured for GPU processing. Therefore, the cloud-based server 1110 may be remotely located from the gaming console 720.

[00178] The cloud-based server 1 110 may include or be communicatively coupled with an app store 1175, which may be similar to the app store 1175 of FIG. 11A, and other app stores described herein. The app store 1175 may be operable to provide data in the form of software applications and/or media to the gaming console 720. For example, the app store 1 175 may be operable to provide video games, other software applications, movies, TV shows, music, photos, and so on. [00179] As previously discussed, in some cases, at least some of the content provided by the app store 1175 may not be optimally executable or executable at all by the gaming console 720.

Importantly, the cloud-based server 1 110 may be operable to execute the content provided by the app store 1175.

[00180] FIG. 1 IB also includes a set-top box (STB) 1115 communicatively coupled with the cloud-based server 1110. The STB 11 15 may be a device that may contain a tuner and connects to a television set and an external source of signal, turning the source signal into content in a form that can then be displayed on the television screen or other display device. For example, the STB 1 115 may be used to provide content from cable or satellite television sources to a television. For example, the STB 1115 may be located inside a house or a hotel room and connected to a television, e.g., the display 1145.

[00181 ] The STB 1115 may receive data from the cloud-based server 1 110 related to or representing the app store 1175 content. For example, the cloud-based server 1110 may send video, audio, and/or other data related to the app store 1 175 content through cable or satellite distribution paths to the STB 11 15. In another example, the cloud-based server 1110 may send video, audio, and/or other data related to the app store 1175 content through the network 1 135 to the STB 1115 when the STB 1 115 is coupled with the network 1135.

[00182] The cloud-based server 1110 may send video and audio to the STB 11 15 through a specific channel that the STB 1115 may be operable to tune into. For example, when the STB 1115 tunes into channel X, channel X may provide the video and audio representing the content processed by the cloud-based server 1110. The STB 11 15 may send the content to the display 1 145 for display.

[00183] In one example, the cloud-based server 1 110 may execute a software application requiring graphics and audio processing. The cloud-based server 1110 may then transmit the graphics and audio to the STB 1115 through a certain channel for display and playback ultimately on the display 1 145. Accordingly, the STB 1115 may provide the app store 1175 content with the aid of the cloud-based server 1 110 that the gaming console 720 may not have otherwise been able to provide. Even if the gaming console 720 may have been able to provide the same app store 1175 content, it may be able to do so at a lower quality or with limitations, but the cloud-based server

11 10 may be capable of providing higher quality and limitation free content generation. [00184] The gaming console 720 may be operable to send user inputs to the cloud-based server 11 10. For example, the gaming console 720 may send data representing user interaction with the physical controls, touchscreen, internal/external motion tracking components, and so on, to the cloud-based server 1110. In this way, a user may control software applications or content that is being executed on the cloud-based server 1 110. The gaming console 620 may send user inputs through the network 1135. As a result, the video and audio representing the content may be displayed through the STB 11 15 but controlled through the gaming console 720.

[00185] It should be appreciated that embodiments of the present invention may not require an app store. For example, an application may be already installed on the cloud-based server 1110. The cloud-based server 11 10 may still provide generated video and audio related to the application to the STB 1115. Alternatively, the cloud-based server 1 110 may playback media that requires stronger processing than the gaming console 720 is able to provide. For example, the cloud-based server 110 may decode a high-resolution movie that is unable to be processed by the gaming console 720 by itself, and then send video and audio related to the movie to the STB 1115 for display.

[00186] The various embodiments discussed with respect to other figures may be used with the cloud-based server 1110 and STB 1 115. For example, there may be more than one gaming console, e.g., FIG. 1 IB also includes the second gaming console 722.

[00187] The cloud-based server 1110 may provide content to the second gaming console 722 simultaneously with gaming console 720. The content provided to multiple gaming consoles may be related or unrelated to each other. For example, the cloud-based server 11 10 may provide a movie to the STB 1115 and provide video and graphics for a video game to the gaming consoles 720 and 722. Alternatively, the cloud-based server 11 10 may provide related content to more than one gaming console. For example, the cloud-based server 11 10 may provide private or statistics views to the gaming consoles 720 and 722 and a spectator view to the STB 1 115.

[00188] FIG. 1 IB includes a communication interface component 1 125 coupled with the cloud- based server 1110 and a display 1140. The display 1140 may be similar to the display 1145. The communication interface component 1125 is coupled with the cloud-based server 11 10 through the network 1 135. For example, the communication interface component 1125 may be a dongle with an HDMI port that is operable to connect with the display's 1140 HDMI port. In another embodiment, the communication interface component 1 125 is a dongle providing peer-to-peer capabilities and interfacing for the display 1140. The communication interface component 1125 may not process the software application or content, but may instead be operable to provide the video and audio processed by the cloud-based server 1110 to the display 1140. In other words, while the

communication interface component 1125 may not be a traditional STB, it may provide similar functionality as the STB 1115 for channeling content processed and sent from the cloud-based server 11 10.

[00189] FIG. 12A is a flow diagram 1200A illustrating a method for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console, in accordance with one embodiment of the present disclosure. In still another embodiment, flow diagram 1200A illustrates a computer implemented method for providing support for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console. In another embodiment, flow diagram 1200A is implemented within a computer system including a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system causes the system to execute a method for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console. In still another embodiment, instructions for performing a method as outlined in flow diagram 1200A are stored on a non- transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console. The method outlined in flow diagram 1200A is implementable by one or more components of the computer system 100 and client device 200 of FIGS. 1 and 2, respectively, as well as handheld computing consoles described throughout this Application (e.g., console 600A of FIG. 6A).

[00190] At 1205, the method includes receiving at a handheld gaming console encoded video from a remote computing device over a communication network. The remote device is configured for executing a gaming application, wherein video is generated from the executed gaming application based on input provided by the handheld gaming console. The video is encoded into encoded video. In one embodiment, the handheld gaming console includes a housing configured for handheld manipulation and at least one controlling device exposed on the housing. Also, the handheld gaming console also includes an HD display for displaying images. [00191 ] In one embodiment, the encoded video is transmitted over a wired or wireless network that couples the remote device and the handheld gaming console. That is, the handheld gaming console includes a receiver for receiving the encoded video. For instance, in one embodiment, the communication network includes a wireless access point enabling connection to the communication network. In one implementation, the communication network comprises a LAN, and the remote device is a local computing device (e.g., a home computer is coupled to a handheld gaming console operated at home). In another implementation the communication network comprises a WAN, possibly in combination with a LAN, and the remote device is a virtual machine supported by a cloud based virtual computing service. The cloud based service provides one or more high powered virtual machines suitable for processing graphics.

[00192] At 1210, the method includes decoding the encoded video. Specifically, the encoded video received at the handheld gaming console is uncompressed or decoded. For example, in one implementation the encoded video is decoded using an H.264 protocol. At 1215, the method includes displaying the decoded video on the display of the handheld gaming console. In that manner, the gaming application is executed on a remote server (e.g., locally based server, or a cloud based server) that has more processing power, yet displayed on a display of the handheld gaming console. As such, the gaming application can be more complex than applications designed for execution on a mobile platform.

[00193] At 1220, the method optionally includes generating an input originating from a controller device located on the handheld gaming console. The controller input is generated in response to an interaction with the controller device by a user. Further, at 1225, the method includes transmitting the input to the remote device over the communication network for processing. That is, the input corresponds to an instruction that is interpreted and handheld by the gaming application as executed by the remote device.

[00194] In one embodiment, the method optimally includes executing a front-end portal application on the handheld gaming console. The front-end, native application is designed to enhance a users gaming experience when using the handheld gaming console. For instance, the native application is configured to provide notification of plurality of gaming applications that are supported by the remote device as controlled by the handheld computing device. Other features of the native application have been previously described, such as, providing access to a social gaming network, listing installed gaming applications available for execution on the handheld gaming console or the remote device, etc.

[00195] Further, the method optionally includes integrating the front-end application native to the handheld gaming console with a client application executing on the remote computing device. The client application is associated with a third party content provider that provides access to a plurality of gaming applications supported by the remote device and/or the handheld gaming console, in combination. That is, the front-end application and the client application are integrated to give the end user at the handheld gaming console a seamless interface to the client application running on the remote device. For example, the client application facilitates purchasing and installation of gaming applications onto the remote device. As such, the method includes generating a selection of the gaming application or a selected gaming application at the front end portal application. The selection is intended for purchase of the gaming application. The method includes transmitting the selection of the gaming application to the client application from the front-end application. The client device is connected to the back-end content provider through a communication network, wherein the content provider provides rights to the selected gaming application, at a purchase price (including free purchase with limitations and other revenue generation possibilities). The client application facilitates purchase and installation of the gaming application on the remote device.

[00196] In one embodiment, the front-end application and the client application work together to determine the plurality of gaming applications suitable for execution on the remote device and display on the handheld gaming console. For instance, one or both of the applications determines a first configuration settings for the handheld gaming console, and determines second configuration settings for the remote device. The plurality of gaming applications is determined based on the first and second configuration settings. That is, the plurality of gaming applications is suited and/or supported for execution the gaming application on the remote device and for display on the handheld gaming console.

[00197] FIG. 12B is a flow diagram 1200B illustrating a method for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console, in accordance with one embodiment of the present disclosure. In still another embodiment, flow diagram 1200B illustrates a computer implemented method for providing support for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console. In another embodiment, flow diagram 1200B is implemented within a computer system including a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system causes the system to execute a method for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console. In still another embodiment, instructions for performing a method as outlined in flow diagram 1200B are stored on a non- transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method for providing support for a gaming application executable on a remote processing device and displaying video on a handheld gaming console. The method outlined in flow diagram 1200B is implementable by one or more components of the computer system 100 and client device 200 of FIGS. 1 and 2, respectively.

[00198] At 1250, the method includes executing a gaming application on a remote device. For instance, the remote device is a computing device local to a handheld gaming console, in one embodiment. In another embodiment, the remote device is a virtual machine providing by a cloud computing service.

[00199] At 1255, the method includes generating video of the gaming application at the remote device. That is, as the gaming application is executing, a resulting video stream is generated responsive to the inputs provided by the end user that is manipulating gaming controlling deices at the handheld gaming console. For instance, the handheld gaming console includes a housing configured for handheld manipulation and at least one controlling device exposed on the housing. Also, the handheld gaming console also includes an HD display for displaying images. At 1260, the video is encoded (e.g., compressed) for purposes of streaming. For example, the video is encoded using the H.264, or any suitable compression protocol.

[00200] At 1265, the method includes transmitting the encoded video to a handheld computing device over a communication network. For instance, in one embodiment, the communication network includes a wireless access point enabling connection to the communication network. In one implementation, the communication network comprises a LAN, and the remote device is a local computing device (e.g., a home computer is coupled to a handheld gaming console operated at home). In another implementation the communication network comprises a WAN, possibly in combination with a LAN, and the remote device is a virtual machine supported by a cloud based virtual computing service. The cloud based service provides one or more high powered virtual machines suitable for processing graphics.

[00201] The method includes receiving at the remote device over the communication network an input generated by an interaction with a controlling device of the handheld gaming console. The input control is transmitted from the handheld gaming console to the remote device. At the remote device, the input is translated into an instruction. In one embodiment, this is performed by the gaming application, which is configured to cross reference control inputs and instructions suitable for execution within the gaming application. As a result, the instruction is handled by the gaming application in the remote device, and the resultant video is generated. The process continues with each new input received.

TABLE 3

LISTING OF CLAIMS

1. A method for computing, comprising:

receiving at a handheld computing device encoded video from a remote

computing device over a communication network, wherein said remote device is

configured for executing a gaming application generating video that is encoded into said encoded video, wherein said handheld computing device comprises a housing configured for handheld manipulation and at least one controlling device exposed on said housing;

decoding said encoded video; and

displaying said decoded video on a display of said handheld computing device.

2. The method of Claim 1 , further comprising:

generating an input originating from at least one controlling device of said

handheld computing device;

transmitting said input to said remote device over said communication network, wherein said input corresponds to an instruction handled by said gaming application at

said remote device. 3. The method of Claim 1, wherein said communication network comprises a wireless access point enabling connection to said communication network.

4. The method of Claim 3, wherein said communication network is taken from a group consisting essentially of a LAN; a WAN; and internet.

5. The method of Claim 1 , further comprising:

establishing communication with said remote device through said communication network comprising a LAN, wherein said remote device comprises a local computing device.

6. The method of Claim 1 , further comprising:

establishing communication with said remote device through said communication network comprising a WAN, wherein said remote device comprises a virtual machine supported by a cloud based virtual computing service.

7. The method of Claim 1 , further comprising:

executing a front-end portal application on said handheld computing device, wherein said application is configured to provide notification of plurality of gaming applications that are supported by said remote device as controlled by said handheld computing device;

integrating said front-end portal application with a client application executing on said remote device, wherein said client application is associated with a third party content provider providing access to said plurality of gaming applications supported by said remote device;

generating at said front-end portal application a selection of said gaming application from said plurality of gaming applications for purchasing said gaming application; and

transmitting said selection to said client application, wherein said client device is connected to said content provider through said communication network in order to facilitate purchase and installation of said gaming application on said remote device. 8. The method of Claim 7, further comprising:

determining first configuration settings for said handheld computing device; determining second configuration settings for said remote device; and

determining said plurality of gaming applications based on said first and second configuration settings.

9. A method for computing, comprising:

executing a gaming application on a remote device;

generating video of said gaming application at said remote device;

encoding said video; and

transmitting said encoded video to a handheld computing device over a communication network, wherein said handheld computing device comprises a housing configured for handheld manipulation and at least one controlling device exposed on said housing, wherein said handheld computing device displays decoded video based on said encoded video.

10. The method of Claim 9, further comprising:

receiving at said remote device over said communication network from said handheld computing device an input generated by an interaction with a controlling device of said handheld computing device; and

translating said input into an instruction; and

handling said instruction in said gaming application in said remote device.

11. The method of Claim 9, wherein said communication network is taken from a group consisting essentially of: a LAN; a WAN; and internet.

12. The method of Claim 9, further comprising:

establishing communication with said handheld computing device through said communication network comprising a LAN, wherein said remote device comprises a local computing device.

13. The method of Claim 9, further comprising: establishing communication with said handheld computing device through said communication network comprising a WAN, wherein said remote device comprises a virtual machine supported by a cloud based virtual computing service.

14. The method of Claim 9, further comprising:

executing a client application on said remote device, wherein said client application is associated with a third party content provider providing access to said plurality of gaming applications supported by said remote device;

integrating said client application with a front-end portal application on said handheld computing device, wherein said front-end application is configured to provide notification of a plurality of gaming applications that are supported by said remote device as controlled by said handheld computing device;

receiving at said client application from said front-end portal application a selection of said gaming application from said plurality of gaming applications for purchasing said gaming application;

navigating to a third party content provider selling said gaming application through said network;

facilitating installation of said gaming application on said remote device.

15. The method of Claim 14, further comprising:

determining first configuration settings for said handheld computing device; determining second configuration settings for said remote device; and

determining said plurality of gaming applications based on said first and second configuration settings.

16. A computing device, comprising:

a housing configured for handheld manipulation;

at least one controlling device exposed on said housing and configured for receiving input from a user that provides an instruction handled by a gaming application executed by a remote computing device;

a communication interface for establishing communication over a communication network between said computing device and said remote computing device, wherein said remote coupling device is configured for generating video of said gaming application and encoding said video;

a receiver for receiving said encoded video;

a decoder for decoding said encoded video; and

a high definition (HD) display for displaying decoded video.

17. The computing device of Claim 16, future comprising:

a controlling device generating an input based on an interaction by an end user

with a controlling device; and

a transmitter for transmitting said input to said remote device over said

communication network, wherein said input corresponds to an instruction handled by said gaming application at said remote device.

18. The computing device of Claim 16, wherein said communication network

comprises a LAN, and wherein said remote device comprises a local computing device.

19. The computing device of Claim 16, wherein said communication network

comprises a WAN, and wherein said remote device comprises a virtual machine

supported by a cloud based virtual computing service.

20. The computing device of Claim 16, wherein said video decoder decodes said video using an H.264 format.

Methods and Svstems for a Multi-Hop Implementation for Interfacing a Remote Server with a Handheld Gaming Console

[00202] FIGS. 13A-B are block diagrams of a handheld gaming console providing input controls to a back-end server executing a gaming application, and a third electronic device displaying video from the gaming application, in accordance with embodiments of the present disclosure. The system environments described in FIGS. 13A-B are identical; however, FIG. 13B illustrates the addition of a companion application that is integrated within the execution of a gaming app. [00203] As shown in FIG. 13A, a gaming application is implemented across multiple devices. In particular, a first electronic device is configured for executing a gaming application and for generating video of the gaming application. For instance, in one embodiment the first electronic device is the locally based server 1385 (e.g., a home PC, laptop) that is coupled to other electronic devices through a communication network 1365 (e.g., access points, LAN, WAN, peer-to-peer, Wi- Fi, cellular, 4GLTE, etc.). In another embodiment, the first electronic device is a cloud based server (e.g., a virtual machine supported by a cloud based service) this is coupled through the same and/or extended communication network 1365.

[00204] By executing the gaming application, on a server platform, no processing limitations are placed on the type of gaming application that can be enjoyed by the end user. That is, the execution of the gaming application occurs on a first electronic device, but the display of the video from that gaming application is streamed to other electronic devices, such as, a third electronic device. As such, video encoding is performed by a video encoder at the first electronic device, to encode the video into an encoded video stream that can be streamed to other devices.

[00205] A second electronic device comprising a handheld computing device 720, such as a gaming console, is communicatively coupled to the first electronic device through the network 1365. The handheld gaming console 720 shown in FIGS. 13A-B in one embodiment is described in relation to FIG. 7A, and in one embodiment is the same as or similar to the handheld gaming console 410 of FIGS. 4A and 4B. For example, the gaming console 720 may include a display similar to the console display 450 of FIG. 4A. In particular, the handheld computing device is configured for receiving an input based on an interaction with at least one controlling device (e.g., a button, joystick, etc.). The control input provides an instruction that is handled by the gaming application. As such, the control input is delivered from the handheld gaming console 720 to either the locally based sever 1385 or cloud based server 1380 through the communication network 1365 where the gaming application is executed, through wired and/or wireless interfaces.

[00206] In addition, a third electronic device displays the video from the gaming application. The display 1355 may be any display, for example, a large display like a flat panel HDTV, and is configured to display streaming video originating from the gaming application.

[00207] In one embodiment, the handheld gaming console 750 is configured for receiving the encoded video stream from either the locally based sever 1385 or cloud based server 1380 through the communication network 1365 where the gaming application is executed, such as through wired and/or wireless interfaces and may include local area network (LAN) and/or wide area network (WAN) options or portions. In that case, the gaming console 750 decodes the encoded video stream, and streams the decoded video stream to the third electronic device, such as, display 1355. For instance, the decoded video is delivered via an HDMI cable. In still another embodiment, the gaming console 720 delivers decoded or encoded video to the display 1355 through a wired or wireless network to the display 1355. For instance, a peer-to-peer connection may be established for the delivery of the video.

[00208] In another embodiment, the encoded video stream is delivered from either the locally based sever 1385 or cloud based server 1380 where the gaming application is executed to the third electronic device, such as, display 1355, through the communication network 1365, such as through wired and/or wireless interfaces and may include local area network (LAN) and/or wide area network (WAN) options or portions. The display 1355 is configured to decode the encoded video stream for display. In one implementation, the communication interface dongle 1310 optionally receives the encoded video that is streamed to the display 1355, decodes the encoded video stream, and sends decoded video to the display 1355.

[00209] In another embodiment, the encoded video is delivered to a third party web service (e.g., YouTube, gaming storage services, etc.) that is configured to store and provide access to the video stream generated by the gaming application. As such, the encoded video stream is delivered from either the locally based sever 1385 or cloud based server 1380 where the gaming application is executed to the third electronic device, which in this implementation is a web service. The web service is configured to handle the video stream in multiple forms (e.g., encoded, decoded, etc.).

[00210] FIG. 14 is a flow diagram 1400 illustrating a method for implementing a gaming application across multiple devices, in accordance with one embodiment of the present disclosure. In still another embodiment, flow diagram 1400 illustrates a computer implemented method for implementing a gaming application across multiple devices. In another embodiment, flow diagram 1400 is implemented within a computer system including a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system causes the system to execute a method for implementing a gaming application across multiple devices. In still another embodiment, instructions for performing a method as outlined in flow diagram 1400 are stored on a non-transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method for implementing a gaming application across multiple devices. The method outlined in flow diagram 1400 is implementable by one or more components of the computer system 100 and client device 200 of FIGS. 1 and 2, respectively, as well as handheld computing consoles described throughout this Application (e.g., console 600A of FIG. 6A).

[00211] As shown in FIG. 14, at 1410 the method includes executing a gaming application at a first electronic device. For instance, the gaming application is executed by a locally based server (e.g., in a home environment), or a cloud based server, as previously described. By executing the gaming application, on a server platform, no processing limitations are placed on the type of gaming application that can be enjoyed by the end user. As such, video from the gaming application is generated at the first electronic device, at 1420. For purposes of delivery over a communication network, the video is encoded into an encoded video stream at the first electronic device, at 1430. In that manner, encoded video is streamed to a different device over a communication network for display.

[00212] At 1440, a control input is received at the first electronic device over the communication network. Although the gaming application is executed at the first electronic device (e.g., server), the end user is provide control input at a second electronic device, such as, a handheld gaming console. The input is generated at the gaming console based on an interaction with at least one controlling device. The input provides an instruction that is handled by the gaming application. As such, delivery of the control input is made over a communication network communicatively coupling the first and second electronic devices.

[00213] At 1450, the method includes displaying at a third electronic device (e.g., HD display) the encoded video stream that is decoded. Various system configurations may be implemented to deliver video to the third electronic device. For instance, in one embodiment, the video is delivered via a second electronic device, such as, the gaming console. In another embodiment, the video is delivered directly from the first electronic device to the third electronic device.

[00214] In the case where the video is delivered from the second electronic device to the display, the method includes streaming the encoded video stream from the first electronic device to the second electronic device over a communication network. That is, server that is executing the gaming application delivers the encoded video stream to the gaming console. The gaming console then decodes the encoded videos stream, and delivers a decoded video stream directly to the third electronic device, such as, an HD display.

[00215] On the other hand, the video may be directly delivered to the third electronic device. In that case, the encoded video stream is delivered from the server that is executing the gaming application to the third electronic device over a communication network. The encoded video stream is decoded at the third electronic device for display. In one implementation, a communication interface dongle is used to receive the encoded video stream, decode the encoded video, and deliver decoded video to the third electronic device, such as, a display.

[00216] In one embodiment, the third electronic device comprises a web service, or web content provider. That is, the video stream is delivered to the web service for storage and access. For example, the web service may store video that is continually streaming from an end user's computer.

[00217] In one embodiment, the gaming console is configured to display a second video that is generated by the gaming application. The method includes generating first video of the gaming application at the first electronic device (e.g., server), wherein the first video comprises first information. In addition, second video of the gaming app is generated at the first electronic device. Both that first and second video are encoded by the first electronic device. In one case, the first encoded video is streamed and/or transmitted to the third electronic device (e.g., HD display) for display. The second encoded video is streamed and/or transmitted to the second electronic device or gaming console for display. For example, the first video may be the main view of the game, whereas the second video may show a secondary view (e.g., spectator view, map information, drone video, life information, HUD information, etc.), or statistics related to game play, hints related to game play, etc. For instance in a car racing gaming application, the third electronic device shows a video of a cockpit view, while the gaming console shows a view originating from rear view mirror.

[00218] In one embodiment, the second information displayed on the second electronic device is generated by a companion application executing on the second electronic device. For instance, a gaming console may execute a companion application that supports or is running in parallel with the gaming application that is executing on the first electronic device (e.g., server). FIG. 13B illustrates a companion application 1310 that is executing on the gaming console 720, wherein the video generated by the companion application 1310 is displayed on display 750. [00219] In that case, first video of the gaming application is generated at the first electronic device, and comprises first information. The first video is encoded and streamed to the third electronic device for display. In parallel, a companion application to the gaming application is executed on the second electronic device, such as, a gaming console. In particular, second video of the companion application is generated and comprises second information, wherein the companion application is executing on the second electronic device. The second video is displayed at the second electronic device, such as, the gaming console. As illustration, the companion application may provide updates to the game, or provide information related to other users who are playing the game. In one implementation, the companion application is integrated with the gaming application as executed on the first electronic device, wherein information is passed between the gaming application and the companion application that are executed on the first and second electronic devices.

TABLE 4

LISTING OF CLAIMS

1. A method for computing, comprising:

executing a gaming application at a first electronic device;

generating video of said gaming application at said first electronic device;

encoding said video into an encoded video stream at said first electronic device;

receiving an input based on an interaction with at least one controlling device of a second electronic device, wherein said input provides an instruction handled by said

gaming application, wherein said second electronic device comprises a handheld

computing device, wherein communication is established between said first and second

electronic device over a communication network; and

displaying at a third electronic device said encoded video stream that is decoded.

2. The method of Claim 1 , wherein said displaying said encoded video stream

comprises:

streaming said encoded video stream from said first electronic device to said

second electronic device over said communication network; decoding said encoded video stream at said second electronic device; streaming said encoded video stream that is decoded from said second electronic device to said third electronic device.

3. The method of Claim 1 , where said displaying said encoded video stream comprises:

streaming said encoded video stream from said first electronic device to said third electronic device over said communication network; and

decoding said encoded video stream at said third electronic device.

4. The method of Claim 3, wherein said third electronic device comprises a computer interface dongle configured for receiving said encoded video stream and decoding said encoded video stream.

5. The method of Claim 1, wherein said first electronic device comprises a locally based server computer, and wherein said third electronic device comprises an HD display.

6. The method of Claim 1, wherein said first electronic device comprises a locally based server computer, and wherein said third electronic device comprises a web service.

7. The method of Claim 1 , wherein said first computing device comprises a virtual machine supported by a cloud based server, and wherein said third electronic device comprises an HD display.

8. The method of Claim 1 , wherein said first computing device comprises a virtual machine supported by a cloud based server, and wherein said third electronic device comprises a web service.

9. The method of Claim 1, wherein said generating video further comprises: generating a first video of said gaming application comprising first information at said first electronic device;

encoding said first video;

transmitting said encoded first video to said third device for display;

generating a second video of said gaming application comprising second information at said first electronic device;

encoding said second video; and

transmitting said encoded second video to said second electronic device for display.

10. The method of Claim 1, wherein said generating video further comprises: generating a first video of said gaming application comprising first information at said first computing device;

encoding said first video;

transmitting said encoded first video to said third electronic device for display; executing a companion application to said gaming application at said second electronic device;

generating a second video of said companion application comprising second information at said second electronic device; and

displaying said second video at said second computing device.

11. The method of Claim 10, wherein said second information is taken from a group consisting essentially of:

map information;

drone view;

spectator view;

life information; and

heads up display information.

10. A system for computing, comprising:

a first electronic device configured for executing a gaming application and for generating video of said gaming application;

a video encoder at said first electronic device for encoding said video into an encoded video stream;

a second electronic device comprising a handheld computing device, wherein said second electronic device is configured for receiving an input based on an interaction with at least one controlling device of a second electronic device, wherein said input provides an instruction handled by said gaming application;

a communication network for delivering said input from said second electronic device to said first electronic device; and

a third electronic device for displaying said encoded video stream that is decoded.

11. The system of Claim 10, wherein said second electronic device is configured for receiving said encoded video stream from said first electronic device, decoding said encoded video stream, and streaming said decoded video stream to said third electronic device.

12. The system of Claim 10, wherein said third electronic device is configured for receiving said encoded video stream from said first electronic device, and decoding said encoded video stream for display.

13. The system of Claim 10, wherein said first electronic device comprises a locally based server computer, and wherein said third electronic device comprises an HD display.

14. The system of Claim 10, wherein said first computing device comprises a virtual machine supported by a cloud based server, and wherein said third electronic device comprises an HD display.

15. A no n- transitory computer readable medium having computer executable instructions for causing a computer system to perform a method for computing, wherein said method comprises:

executing a gaming application at a first electronic device;

generating video of said gaming application at said first electronic device;

encoding said video into an encoded video stream at said first electronic device; receiving an input based on an interaction with at least one controlling device of a second electronic device, wherein said input provides an instruction handled by said gaming application, wherein said second electronic device comprises a handheld computing device, wherein communication is established between said first and second electronic device over a communication network; and

displaying at a third electronic device said encoded video stream that is decoded.

16. The computer readable medium of Claim 15, wherein said displaying said encoded video stream in said method comprises:

streaming said encoded video stream from said first electronic device to said second electronic device over said communication network;

decoding said encoded video stream at said second electronic device;

streaming said encoded video stream that is decoded from said second electronic device to said third electronic device.

17. The computer readable medium of Claim 15, where said displaying said encoded video stream in said method comprises:

streaming said encoded video stream from said first electronic device to said third electronic device over said communication network; and

decoding said encoded video stream at said third electronic device.

18. The computer readable medium of Claim 15, wherein in said method said first electronic device comprises a locally based server computer, and wherein said third electronic device comprises an HD display.

19. The computer readable medium of Claim 15, wherein in said method said first computing device comprises a virtual machine supported by a cloud based server, and wherein said third electronic device comprises an HD display.

20. The computer readable medium of Claim 15, wherein said generating video in said method further comprises:

generating a first video of said gaming application comprising first information at said first electronic device;

encoding said first video;

transmitting said encoded first video to said third device for display;

generating a second video of said gaming application comprising second

information at said first electronic device;

encoding said second video; and

transmitting said encoded second video to said second electronic device for

display.

Methods and Systems for a Multi-Player Gaming System Implemented Across a Plurality of Handheld Gaming Consoles and other Electronic Devices

[00220] FIG. 15 is an illustration of a system environment 1500 in which a plurality of handheld gaming consoles are executing a plurality of gaming applications in a multi-player mode, in accordance with one embodiment of the present disclosure. In particular, system 1500 comprises a plurality of various electronic devices used for execution and display of a plurality of gaming applications.

[00221] As shown in FIG. 15, a plurality of handheld computing devices 720A-N is configured for executing a plurality of gaming applications in a multi-player mode. That is, multiple players are playing the same gaming application, but in multi-player mode. Each of the plurality of handheld computing devices executes a corresponding gaming application for a corresponding end user. In various embodiments, each of the gaming consoles 720 A-N may execute a video game using components discussed above with reference to FIGS. 1 , 2, 4, and 5, like a processor, graphics processing system, memory, and so on.

[00222] In particular, each handheld computing device 720A-N is described in relation to FIG. 7A, and in one embodiment is the same as or similar to the handheld gaming console of 410 of FIGS. 4a and 4B. For example, each of the gaming consoles 720A-N may include a corresponding display 750A-N similar to the console display 450 of FIG. 4A. Specifically, a representative handheld computing device 720 includes a housing configured for handheld manipulation, a processor contained within the housing that is configured for executing the gaming application, memory contained within the housing that is configured for storing executables of the gaming application, and at least one controlling device (e.g., stick, button, etc.). In particular, the handheld computing device 720 is configured for receiving an input based on an interaction with the controlling device. The control input provides an instruction that is handled by the gaming application that is executing on the corresponding handheld computing device.

[00223] As shown in FIG. 15, each of the handheld computing device 720A-N is

communicatively coupled to each other to facilitate a multi -player mode. In one embodiment, the handheld computing devices 720A-N communicate directly with each other through a peer-to-peer network. In another embodiment, the handheld computing devices 720A-N communicate with each other through communication network 1565, e.g., through wired or wireless interfaces. The network 1565 may be similar to the network 350 of FIG. 3 and may include all or portions of access points, LAN, WAN, peer-to-peer, Wi-Fi, cellular, 4GLTE, etc.

[00224] In one embodiment, the plurality of handheld computing devices generates a plurality of videos of the gaming applications, wherein execution of the gaming applications is integrated in multi-player mode. The plurality of videos operating system displayed at each of the plurality of handheld computing devices across a plurality of displays. For instance, a handheld computing device executes a corresponding gaming application, generates corresponding video, and displays that video on a corresponding display of the handheld device.

[00225] In another embodiment, the plurality of handheld computing devices generates a plurality of videos of the gaming applications, encodes the plurality of videos and streams the plurality of encoded videos to a second electronic device for display. For instance, the plurality of videos is displayed in a plurality of windows of a second electronic device such as, device 1555. In one implementation, a communication interface dongle 1510 optionally receives the encoded video that is streamed to the display 1555 from each of the plurality of handheld devices, decodes the encoded video streams, and sends decoded video to the second electronic device 1555. In one

implementation, the second electronic device is a flat panel HD television. The display is configured to display the plurality of videos in a plurality of windows that are streamed from the plurality of handheld computing devices 720A-N executing a plurality of gaming applications in multi -player mode. [00226] FIG. 16 is a flow diagram 1600 illustrating a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi -player mode, wherein a plurality of videos is displayed at the plurality of handheld gaming consoles, in accordance with embodiments of the present disclosure. In still another embodiment, flow diagram 1600 illustrates a computer implemented method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi-player mode, wherein a plurality of videos is displayed at the plurality of handheld gaming consoles. In another embodiment, flow diagram 1600 is implemented within a computer system including a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system causes the system to execute a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi-player mode, wherein a plurality of videos is displayed at the plurality of handheld gaming consoles. In still another embodiment, instructions for performing a method as outlined in flow diagram 1600 are stored on a non-transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi-player mode, wherein a plurality of videos is displayed at the plurality of handheld gaming consoles. The method outlined in flow diagram 1600 is implementable by one or more components of the computer system 100 and client device 200 of FIGS. 1 and 2, respectively, as well as handheld computing consoles described throughout this Application (e.g., console 600A of FIG. 6A).

[00227] At 1610, the method includes executing a plurality of gaming applications at a plurality of handheld computing devices. That is, multiple players are playing the same gaming application, but in multi-player mode. Each of the plurality of handheld computing devices executes a corresponding gaming application for a corresponding end user. Each handheld computing device includes a housing configured for handheld manipulation, a processor contained within the housing that is configured for executing the gaming application, memory contained within the housing that is configured for storing executables of the gaming application, and at least one controlling device (e.g., stick, button, etc.). In particular, a corresponding handheld computing device is configured for receiving an input based on an interaction with the controlling device. The control input provides an instruction that is handled by the gaming application that is executing on the corresponding handheld computing device. [00228] At 1620, the method includes generating a plurality of videos of the plurality of gaming applications. That is, at each handheld computing device, a corresponding gaming application is executed, and a corresponding video from that gaming application is generated. That corresponding video is associated with a particular end user playing the gaming application on the corresponding handheld computing device.

[00229] At 1630, the method includes establishing communication between the plurality of handheld computing devices over a communication network. At 1640, the method includes integrating execution of the plurality of gaming applications in a multi-player mode. That is, each of the plurality of handheld computing devices are communicatively coupled to each other to facilitate a multi-player mode. The handheld electronic devices may communicate with each other, for example, through a communication network (e.g., access points, LAN, WAN, internet, peer-to-peer communication, etc.). However, the handheld computing devices may be communicatively coupled directly with one another, for example through a wireless (e.g., peer-to-peer) or wired interface. As a result, the gaming consoles may cooperate with one another to support multiplayer games. For example, a game being executed on one handheld computing device may communicate with another instance of the same game being executed on another handheld computing device to provide a multiplayer gaming experience.

[00230] At 1650, the method includes displaying the plurality of videos at the plurality of handheld computing devices. That is, the plurality of videos is displayed at each of the plurality of handheld computing devices across a plurality of displays. For instance, a handheld computing device executes a corresponding gaming application, such that the gaming application is an instantiation of a common gaming application used for multi -player gaming. The handheld computing device generates corresponding video, and displays that video on a corresponding display of the handheld device.

[00231] In another embodiment, additional content and/or video is generated that is related to the gaming applications executed in multi-player mode. For example, at one of the plurality of handheld computing devices, a second video is generated from a corresponding gaming applications executing on the corresponding handheld computing device. The second video is related to the multi-player gaming experience. For instance, the second video may provide a spectator view of the gaming application, or mapping information, or statistics, etc. the second video is encoded into an encoded video stream (e.g., following the H.264 standard), and streamed to a second electronic device over a communication network. The second electronic device decodes the encoded video stream, and displays the decoded video stream at the second electronic device (e.g., an HD display). In that particular case, the handheld computing device is still generating first video that may provide a specific player's view (e.g., cockpit view of a driving application) of a corresponding gaming application as that player is playing. That first video is displayed at the handheld computing device, as previously described.

[00232] In one embodiment, the method includes executing a front end application on the handheld gaming console, wherein the native application is associated with and supports the gaming experience surrounding the handheld computing device, such as, a gaming console. For instance, the native application is configured to provide notification of games that are supported by the corresponding handheld gaming console. In one embodiment, a selection of a game is received for purchase. A connection is made between the handheld gaming console to a third party content provider through a communication network. The third party is capable of selling the gaming application through the network. Installation of the gaming application is facilitated by the native application onto the gaming console, so that the gaming application is executable on the gaming console.

[00233] FIG. 17 is a flow diagram 1700 illustrating a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi -player mode, wherein a plurality of videos is displayed at a plurality of windows of a display, in accordance with embodiments of the present disclosure. In another embodiment, flow diagram 1700 is implemented within a computer system including a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system causes the system to execute a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi-player mode, wherein a plurality of videos is displayed at a plurality of windows of a display. In still another embodiment, instructions for performing a method as outlined in flow diagram 1700 are stored on a non-transitory computer-readable storage medium having computer- executable instructions for causing a computer system to perform a method for implementing a plurality of gaming applications across a plurality of handheld gaming consoles in a multi-player mode, wherein a plurality of videos is displayed at a plurality of windows of a display. The method outlined in flow diagram 1700 is implementable by one or more components of the computer system 100 and client device 200 of FIGS. 1 and 2, respectively, as well as handheld computing consoles described throughout this Application (e.g., console 600A of FIG. 6A).

[00234] At 1710, the method includes executing a plurality of gaming applications at a plurality of handheld computing devices. That is, multiple players are playing the same gaming application, but in multi-player mode. Each of the plurality of handheld computing devices executes a corresponding gaming application for a corresponding end user. Each handheld computing device includes a housing configured for handheld manipulation, a processor contained within the housing that is configured for executing the gaming application, memory contained within the housing that is configured for storing executables of the gaming application, and at least one controlling device (e.g., stick, button, etc.). In particular, a corresponding handheld computing device is configured for receiving an input based on an interaction with the controlling device. The control input provides an instruction that is handled by the gaming application that is executing on the corresponding handheld computing device.

[00235] At 1720, the method includes generating a plurality of videos of the plurality of gaming applications. That is, at each handheld computing device, a corresponding gaming application is executed, and a corresponding video from that gaming application is generated. That corresponding video is associated with a particular end user playing the gaming application on the corresponding handheld computing device. Each of the gaming applications comprises an instantiation of a common gaming application that is executing in multi-player mode.

[00236] At 1730, the method includes establishing communication between the plurality of handheld computing devices over a communication network. At 1740, the method includes integrating execution of the plurality of gaming applications in a multi-player mode. That is, each of the plurality of handheld computing devices are communicatively coupled to each other to facilitate a multi-player mode. The handheld electronic devices may communicate with each other, for example, through a communication network (e.g., access points, LAN, WAN, internet, peer-to-peer communication, etc.). However, the handheld computing devices may be communicatively coupled directly with one another, for example through a wireless (e.g., peer-to-peer) or wired interface. As a result, the gaming consoles may cooperate with one another to support multiplayer games. For example, a game being executed on one handheld computing device may communicate with another instance of the same game being executed on another handheld computing device to provide a multiplayer gaming experience.

[00237] At 1750, the method includes displaying the plurality of videos at a second electronic device. In particular, the plurality of videos is encoded at each of the plurality of handheld computing devices to generate a plurality of encoded videos (e.g., using the H.264 format, or any other compression format). The plurality of encoded videos is streamed from the plurality of handheld computing devices to the second electronic device. The plurality of encoded videos is decoded to generate a plurality of decoded videos. In one embodiment, the decoding is performed by the second electronic device. In another embodiment, the decoding is performed by a communication interface dongle that is configured to decode encoded video, and send the decoded videos streams to the second electronic device.

[00238] In one embodiment, the plurality of decoded videos is displayed in a plurality of windows of the second electronic device. In one embodiment, the second electronic device may any type of display, for example, a large display like a flat panel HDTV, and is configured to display streaming video originating from the plurality of gaming applications

[00239] While the second electronic device shows and plays the plurality of videos generated from the plurality of executed gaming applications, one or more displays of the plurality of handheld computing devices may not display any content at all or any content related to the video game, in one embodiment. However, in another embodiment, additional content and/or video is generated that is related to the gaming applications executed in multi-player mode. For example, at one of the plurality of handheld computing devices, a second video is generated from a corresponding gaming applications executing on the corresponding handheld computing device. The second video is related to the multi-player gaming experience. For instance, the second video may provide information related to a player, such as, statistical information, taunts from other players, hints related to game play, and/or a secondary view of the application (e.g., cockpit view of the instrumentation in a driving game).

[00240] In one embodiment, the second video is displayed at the handheld computing device that generated the second video. In still another embodiment, the second video is displayed at another device, such as, the second electronic device (e.g., in another window). In that case, the second video is encoded into an encoded video stream, and streamed to the other electronic device over a communication network, where it is decoded and displayed. In still another embodiment, a third video is generated by the handheld computing device. As such, the handheld computing device generates one or more video streams, which may be streamed to one or more electronic devices for display, including the handheld computing device that generates the streams.

[00241 ] It should be appreciated that there may be more than one display coupled with the plurality of handheld electronic devices. For example, if the numbers of players is large, then more than one display may be required to accommodate the various videos generated by the gaming applications.

TABLE 5

LISTING OF CLAIMS

1. A method for computing, comprising:

executing a plurality of gaming applications at a plurality of handheld computing devices, wherein each of said plurality of handheld computing device comprises:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing said gaming application;

memory contained within said housing and configured for storing

executables of said gaming application; and

at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said

gaming application;

generating a plurality of videos of said plurality of gaming applications at said

plurality of handheld computing devices;

establishing communication between said plurality of handheld computing

devices over a communication network;

integrating execution of said plurality of gaming applications in a multi-player

mode; and

displaying said plurality of videos at said plurality of handheld computing devices.

2. The method of Claim 1 , further comprising:

generating second video of one of said plurality of gaming applications at one of said plurality of handheld computing devices;

encoding said second video into an encoded video stream;

receiving said encoded video stream at an second electronic device over a communication network;

decoding said encoded video stream; and

displaying said decoded video at said second electronic device.

3. The method of Claim 2, further comprising;

generating first video of one of said plurality of gaming applications at said one of said plurality of handheld computing devices;

displaying said first video at a corresponding display of said one of said plurality of handheld computing devices.

4. The method of Claim 2, wherein said second electronic device comprises an HD display.

5. The method of Claim 2, wherein said encoding said second video comprises: generating a spectator view of said plurality of gaming applications executed on said plurality of handheld electronic devices.

6. The method of Claim 1 , wherein said generating a plurality of videos comprises:

generating a corresponding video at a corresponding handheld computing device, wherein each of said plurality of gaming applications comprises an instantiation of a common gaming application.

7. The method of Claim 2, wherein said encoding said second video comprises encoding said second video using an H.264 format. 8. The method of Claim 1 , further comprising:

executing a front-end portal application on at least one handheld computing device, wherein said application is affiliated with an entity associated with said at least one handheld computing device, wherein said application is configured to provide notification of games including said gaming application that are supported by said at least one handheld computing device;

receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface;

navigating to a third party content provider selling said gaming application through said network; and

facilitating installation of said gaming application on said handheld computing device.

9. A system for computing, comprising:

a plurality of handheld computing devices configured for executing a plurality of gaming applications, wherein each of said plurality of handheld computing device comprises:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing one of said plurality of gaming applications;

memory contained within said housing and configured for storing executables of said gaming application; and

at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by one of said gaming applications;

a plurality of videos of said plurality of gaming applications generated by said plurality of handheld computing devices, wherein execution of said plurality of gaming applications is integrated in a multi-player mode;

a communication network facilitating communication between said plurality of handheld computing devices; a plurality of displays at said plurality of handheld computing devices for displaying said plurality of videos.

10. The system of Claim 9, wherein one of said plurality of handheld computing devices is configured for generating and encoding second video of a gaming application executed at one of said plurality of handheld computing devices; and

a second electronic device configured to receive said encoded second video, decode said encoded second video and display said decoded second video.

11. A method for computing, comprising:

executing a plurality of gaming applications at a plurality of handheld computing devices, wherein each of said handheld computing devices comprises:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing said gaming application;

memory contained within said housing and configured for storing executables of said gaming application; and

at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said gaming application;

generating a plurality of videos of said plurality of gaming applications at said plurality of handheld computing devices;

establishing communication between said plurality of handheld computing devices over a communication network;

integrating execution of said plurality of gaming applications in a multi-player mode; and

displaying said plurality of videos at a second electronic device.

12. The method of Claim 1 1, wherein said second electronic device comprises an HD display.

13. The method of Claim 1 1, further comprising: encoding said plurality of videos at said plurality of handheld computing devices to generate a plurality of encoded videos;

streaming said plurality of encoded videos from said plurality of handheld computing devices to said second electronic device;

decoding said plurality of encoded videos at said second electronic device to generate a plurality of decoded videos; and

displaying said plurality of decoded video in a plurality of windows of said second electronic device.

14. The method of Claim 11 , wherein said generating a plurality of videos comprises:

generating a corresponding video at a corresponding handheld computing device, wherein each of said plurality of gaming applications comprises an instantiation of a common gaming application executing in said multi -player mode.

15. The method of Claim 1 1 , wherein said encoding said plurality of videos comprises encoding said plurality of videos using an H.264 format.

16. The method of Claim 1 1, further comprising:

executing a front-end portal application on at least one handheld computing device, wherein said application is affiliated with an entity associated with said at least one handheld computing device, wherein said application is configured to provide notification of games such as, said gaming application that are supported by said at least one handheld computing device;

receiving a selection by a user for purchasing said gaming application;

connecting said handheld computing device to network through a communication interface;

navigating to a third party content provider selling said gaming application through said network; and

facilitating installation of said gaming application on said handheld computing device. 17. The method of Claim 1 1, further comprising:

generating second video of one of said plurality of gaming applications at one of said plurality of handheld computing devices;

encoding said second video into an encoded video stream;

receiving said encoded video stream at said second electronic device over a communication network;

decoding said encoded video stream at said second electronic device; and displaying said decoded video in a window at said second electronic device.

18. The method of Claim 17, further comprising;

generating third video of one of said plurality of gaming applications at said one of said plurality of handheld computing devices;

displaying said third video at a corresponding display of said one of said plurality of handheld computing devices.

19. The method of Claim 1 1, further comprising:

generating second video of one of said plurality of gaming applications at one of said plurality of handheld computing devices;

displaying said second video at said one of said plurality of handheld computing devices.

20. A system for computing, comprising:

a plurality of handheld computing devices, wherein each of said plurality of handheld computing device comprises:

a housing configured for handheld manipulation;

a processor contained within said housing and configured for executing said gaming application;

memory contained within said housing and configured for storing executables of said gaming application; and

at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said gaming application; a plurality of videos of said plurality of gaming applications generated by said plurality of handheld computing devices, wherein execution of said plurality of gaming

applications is integrated in a multi-player mode;

a communication network facilitating communication between said plurality of

handheld computing devices;

a second electronic device configured for displaying said plurality of videos in a

plurality of windows.

[00242] Thus, according to embodiments of the present disclosure, systems and methods are described providing for the implementation of a gaming application across one or more electronic device.

[00243] While the foregoing disclosure sets forth various embodiments using specific block diagrams, flowcharts, and examples, each block diagram component, flowchart step, operation, and/or component described and/or illustrated herein may be implemented, individually and/or collectively, using a wide range of hardware, software, or firmware (or any combination thereof) configurations. In addition, any disclosure of components contained within other components should be considered as examples in that many architectural variants can be implemented to achieve the same functionality.

[00244] The process parameters and sequence of steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various example methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.

[00245] While various embodiments have been described and/or illustrated herein in the context of fully functional computing systems, one or more of these example embodiments may be distributed as a program product in a variety of forms, regardless of the particular type of computer- readable media used to actually carry out the distribution. The embodiments disclosed herein may also be implemented using software modules that perform certain tasks. These software modules may include script, batch, or other executable files that may be stored on a computer-readable storage medium or in a computing system. These software modules may configure a computing system to perform one or more of the example embodiments disclosed herein. One or more of the software modules disclosed herein may be implemented in a cloud computing environment. Cloud computing environments may provide various services and applications via the Internet. These cloud-based services (e.g., software as a service, platform as a service, infrastructure as a service, etc.) may be accessible through a Web browser or other remote interface. Various functions described herein may be provided through a remote desktop environment or any other cloud-based computing environment.

[00246] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as may be suited to the particular use contemplated.

[00247] Embodiments according to the present disclosure are thus described. While the present disclosure has been described in particular embodiments, it should be appreciated that the disclosure should not be construed as limited by such embodiments, but rather construed according to the below claims.