This disclosure is directed, in general, to cloud computing and, more specifically, to a cloud arrangement for quickly resuming/suspending applications, such as a game application, running on a cloud server.
Video gaming, played on a local gaming device (such as a personal computer), is a rapidly growing commercial field that is receiving a great deal of attention due to its universal interest and appeal. Many times, users play these games to certain places in the game and decide that they have reached a point where they want to quit playing the game and resume it later. Some games do have a “saved games” feature, which allows a player to resume playing the game from different locations inside the game. However, users have to start the game, wait for it to load, wait through menus, then select the saved game to restore, and wait for the game to finally load.
In one embodiment, a cloud server is provided. The cloud server is configured to: generate display rendering information for a computer application employing a graphics processor; encode the display rendering information as a video stream; send the video stream to a remote client; and directly suspend and resume the video stream at a current frame of the computer application based on user initiated suspend and resume control commands.
In another aspect, a method for operating a cloud server is provided. The method includes: generating display rendering information for a computer application employing a graphics processor in a cloud server; encoding the display rendering information as a video stream; sending the video stream to a remote client; and directly suspending and resuming the video stream at a current frame of the computer application based on user initiated suspend and resume control commands.
The foregoing has outlined preferred and alternative features of the present disclosure so that those skilled in the art may better understand the detailed description of the disclosure that follows. Additional features of the disclosure will be described hereinafter that form the subject of the claims of the disclosure. Those skilled in the art will appreciate that they can readily use the disclosed conception and specific embodiment as a basis for designing or modifying other structures for carrying out the same purposes of the present disclosure.
Reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
In the illustrated embodiment, the general purpose computer 105 includes a system central processing unit (CPU) 106, a system memory 107, a graphics processing unit (GPU) 108 and a frame memory 109. The general purpose computer 105 also includes a gaming control module 110. The system CPU 106 is coupled to the system memory 107 and the GPU 108 and provides general computing processes and control of operations for the local computer 105. The system memory 107 includes long term memory storage (e.g., a hard drive) for computer applications and random access memory (RAM) to facilitate computation by the system CPU 106. The GPU 108 is further coupled to the frame memory 109 and provides monitor display and frame control of the local monitor 130.
The gaming control module 110 is generally indicated in the local computer 105, and in one embodiment is a software module that corresponds to software included with a video game or software that is independent of the video game. The gaming control module 110 may operationally reside in the system memory 107, the frame memory 109 or in portions of both.
The gaming control module 110 is coupled within the general purpose computer 105 to suspend and resume playing of the video game at a current display frame (e.g., the display frame indicated on the local monitor 130) based on user initiated suspend and subsequent resume control commands, respectively. That is, a player of the video game can suspend and later resume the video game at an exact point in time inside the video game, thereby allowing the player to skip past all startup screens, menus, and saved game selection processes.
This process is illustrated in
Embodiments of the present disclosure allow a user to employ a keyboard stroke of the keyboard 115 to act as the suspend and resume control commands. Of course, the same or different keys and keyboard strokes may be employed to suspend and resume the video game at the current display frame. Correspondingly, successive clicks of the computer mouse 120 may be employed to accomplish the suspending and resuming of the video game at the same computer display frame. Additionally, the user may employ the specialized game board 125 to suspend and resume the computer display frame. If the game device is a laptop or notebook computer having general purpose computing capabilities, the suspend and resume control commands may correspond to closing and opening the laptop or notebook computer, respectively.
In the standalone, quick-resume gaming system 100, the suspend control command causes the contents of memory locations controlling the current game display frame to be stored in the long term memory portion of the system memory 107. As illustrated in
As before, each of the first and second game devices 306, 316 is configured to support playing a video game by a user. Correspondingly, each of the first and second gaming control modules 307, 317 is coupled to its respective game device and is configured to suspend and resume playing of the video game at a current display frame based on respective user initiated suspend and resume control commands. Additionally, each of the first and second Internet token modules 308, 318 is configured to store an Internet token in its respective game device 306, 316 corresponding to the Internet server 325, wherein the Internet token facilitates suspending and resuming the current display frame for the Internet server 325. Each of the first and second Internet tokens are generally computer files that store data specific to their respective first or second Internet gaming systems 305, 315 and the Internet server 325 and depend on the gaming environment.
The first and second game devices 306, 316 may employ standalone computer systems corresponding to the one discussed with respect to
The Internet server 325 serves as a gaming server in this embodiment and maintains specific data about a game world (environment) being played as well as data corresponding to the first and second gaming computers 305, 315. Of course, more than two gaming computers and multiple gaming servers may be employed in this gaming environment.
The Internet gaming arrangement 300 allows online game playing between the first and second Internet gaming systems 305, 315. The first and second Internet token modules 308, 318 serve to respectively store first and second Internet tokens that correspond to the Internet server 325. Each of the first and second Internet tokens is employed by the Internet server 325 and respectively indicates suspending and resuming current gaming display frames in the first and second game devices 306, 316.
As indicated, the first and second Internet tokens are computer files that are configured to store data that is specific to their respective first and second game devices 306, 316 and the Internet server 325. These Internet tokens allow the Internet server 325 to keep track of game information for the first and second Internet gaming systems 305, 315, especially during a period when one of them is employed to suspend or resume playing a game. In the illustrated embodiment of
Additionally, when either of the first and second Internet gaming systems 305, 315 enters a game suspended state, contents of memory locations controlling its current game display frame along with its corresponding Internet token are stored in the long term memory portion of its system memory, as indicated before. Resumption of the game reverses this action thereby making the stored game display frame and the Internet token active again.
Generally, a thin client is a dedicated device (in this case, a game device) that depends heavily on a server to assist in or fulfill its traditional roles. The thin client may employ a computer having limited capabilities (compared to a standalone computer) and one that accommodates only a reduced set of essential applications. Typically, the thin client computer system is devoid of optical drives (CD-ROM or DVD drives), for example. The thin client depends on a central processing server, such as the cloud server 425, to function operationally. In the illustrated example of the cloud gaming arrangement 400, the first and second cloud gaming systems 405, 415 employ game devices that are respectively a cell phone and a computer tablet (i.e., a tablet) having touch sensitive screens, which are employed by a user to provide user initiated suspend and resume control commands. Other applicable thin clients include television sets, cable TV control boxes and netbooks, for example. Of course, other embodiments may employ standalone computers systems (i.e., thick clients) although they are generally not required.
The cloud server 425 serves as a gaming server in this embodiment and maintains specific data about a game world environment being played as well as data corresponding to the first and second cloud gaming systems 405, 415. As before, more than two cloud gaming systems and multiple gaming servers may be employed in this gaming environment. In the illustrated embodiment, the cloud server 425 provides a cloud gaming environment wherein a cloud gaming graphic processor is employed in the cloud server 425. The operating system in the cloud server 425 senses when one of the thin clients connects to it and starts or includes the thin client in a game that is rendered on the cloud gaming graphics processor. This display rendering information is then encoded as a compressed video stream and sent to the thin client for display.
The cloud gaming arrangement 400 provides another approach to online game playing between the first and second cloud gaming systems 405, 415. As noted earlier, the first and second cloud token modules 407, 417 serve to respectively store first and second cloud tokens that correspond to the cloud server 425 in the first and second game devices of the first and second cloud gaming systems 405, 415. Each of the first and second cloud tokens is employed by the cloud server 425 and respectively indicates suspending and resuming current gaming display frames in the first and second cloud gaming systems 405, 415.
The first and second cloud tokens are computer files that store data specific to their respective first or second cloud gaming systems 405, 415 and the cloud server 425. These cloud tokens allow the cloud server 425 to track game information for the first and second cloud gaming systems 405, 415, especially during a period when one of them suspends or resumes playing a game. In the illustrated embodiment of
In the illustrated embodiment of
An Internet token is stored in the game device corresponding to an Internet server, wherein the Internet token facilitates suspending and resuming the current display frame for Internet gaming, in a step 525. A cloud token is stored in the game device corresponding to a cloud server, wherein the cloud token facilitates suspending and resuming the current display frame for cloud gaming, in a step 530.
In one embodiment, display rendering information for the current display frame is stored in and retrieved from a memory contained in the game device. In another embodiment, a software module controls suspending and resuming the playing of the video game at the current display frame. Correspondingly, the software module corresponds to software included with the video game or software that is independent of the video game.
In yet another embodiment, the suspend and resume control commands correspond to actions employing at least one selected from the group consisting of a keyboard, a pointing device, a touch sensitive screen and a specialized game board. In still another embodiment, the game device is a laptop or a notebook computer and the suspend and resume control commands correspond to closing and opening the laptop or notebook computer, respectively. In a further embodiment, the game device is a thin client and display rendering information for the current display frame is provided by the cloud server. Additionally, the display rendering information is provided to the thin client employing a compressed video stream. The method 500 ends in a step 535.
While the method disclosed herein has been described and shown with reference to particular steps performed in a particular order, it will be understood that these steps may be combined, subdivided, or reordered to form an equivalent method without departing from the teachings of the present disclosure. Accordingly, unless specifically indicated herein, the order or the grouping of the steps is not a limitation of the present disclosure.
Those skilled in the art to which this application relates will appreciate that other and further additions, deletions, substitutions and modifications may be made to the described embodiments.
This application is a continuation of U.S. patent application Ser. No. 13/655,510, entitled “QUICK-RESUME GAMING”, filed on Oct. 19, 2012, by Andrew Fear, which is currently pending, is commonly assigned with this application, and incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4948138 | Pease et al. | Aug 1990 | A |
6758757 | Luciano, Jr. et al. | Jul 2004 | B2 |
6811486 | Luciano, Jr. | Nov 2004 | B1 |
7182690 | Giobbi et al. | Feb 2007 | B2 |
7814081 | Futagawa | Oct 2010 | B2 |
7979740 | Taylor et al. | Jul 2011 | B2 |
8162747 | Hayasaka | Apr 2012 | B2 |
9138644 | Perlman | Sep 2015 | B2 |
20020055381 | Tarantino | May 2002 | A1 |
20040224772 | Canessa | Nov 2004 | A1 |
20050192087 | Friedman et al. | Sep 2005 | A1 |
20060068870 | Crawford, III et al. | Mar 2006 | A1 |
20060247021 | Bulthuis | Nov 2006 | A1 |
20100227691 | Karsten | Sep 2010 | A1 |
20100285878 | Tarantino | Nov 2010 | A1 |
20100293115 | Seyed Momen | Nov 2010 | A1 |
20110122063 | Perlman | May 2011 | A1 |
20120322537 | Antkowiak et al. | Dec 2012 | A1 |
20150121402 | Pajuelo Gonzalez et al. | Apr 2015 | A1 |
20160184712 | Colenbrander | Jun 2016 | A1 |
Entry |
---|
“Coop Pausing”, https://forums.beamdog.com/discussion/2055/co-op-pausing, Jul. 2012 (Year: 2012). |
“Pausing the game in multiplayer”, https://gamedev.net/forums/topic/607290-pausing-the-game-in-multiplayer/4842031/ (Year: 2011). |
Gookin, D., “How to Change What Closing the Lapton Lid Does” Troubleshooting your PCT for Dummies, 3rd Edition, Mar. 2008, 2 pages, <URL: http://www.dummies.com/how-to/content/how-to-change-what-closing-the-laptop-lid-does.html>. |
Snex9x: The Portable Super Nintendo Entertainment System Emulator, Apr. 2011, <URL: http://files.ipherswipsite.com/snes9x/snes9x-1.53-win32-x64.zip>. |
Number | Date | Country | |
---|---|---|---|
20190351321 A1 | Nov 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13655510 | Oct 2012 | US |
Child | 16530512 | US |