System and method for storing program code and data within an application hosting center
First Claim
1. A computer-implemented method comprising:
- receiving, by a server center, control signals from a client over the Internet, wherein the server center includes a plurality of servers, wherein the plurality of servers include a first server and a second server;
executing, by the first server of the server center, a first interactive online video game in response to the control signals received from the client;
executing, by the second server of the server center, a second interactive online video game;
generating, by the server center, an interactive video stream including at least two frames resulting from the execution of the first and second interactive online video games, wherein the at least two frames include a first frame and a second frame, wherein the first frame is generated by the first server and the second frame is generated by the second server;
receiving, by the server center from the client via the Internet, a video stream of a player interfacing with the client;
identifying, by the server center, first server executing the first interactive video game;
providing, by the server center, the video stream of the player to the first server determined to execute the first interactive video game for integration of the video stream of the player with the first frame of the interactive video stream;
integrating, by the server center, a portion of the video stream of the player with the first frame of the interactive video stream to generate a first integrated video frame;
compressing, by a shared hardware compressor of the server center, the first integrated video frame to generate a first compressed frame;
saving, by the shared hardware compressor, a state of compression of the first compressed frame;
compressing, by the shared hardware compressor, the second video frame after compressing the first integrated video frame, to generate a second compressed frame;
saving, by the shared hardware compressor, a state of compression of the second compressed frame, wherein the state of compression used for the second compressed frame is different from the state of compression used for the first compressed frame; and
transmitting, by the server center, an interactive compressed video stream having the first and second compressed frames to another client over the Internet for display of an image of the first interactive online video game, an image of the second interactive online video game, and an image of the player by the other client, wherein the image of the player is configured to be displayed in a display area along with the image resulting from the execution of the first interactive online video game.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method are described for storing program code and data within an application hosting center. For example, one embodiment of a computer-implemented method comprises: subdividing program code and/or data used to execute an online application into a first type and a second type; storing program code and data of the first type in a first type of memory, the first type of memory providing relatively low latency memory access; storing program code and data of the second type in a second type of memory, the second type of memory providing relatively higher latency memory access compared to the first type of memory; retrieving program code and data from the first memory and the second memory in response to a client request to execute an online application; and transmitting a streaming interactive video stream representing images generated by the application to the client.
26 Citations
41 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a server center, control signals from a client over the Internet, wherein the server center includes a plurality of servers, wherein the plurality of servers include a first server and a second server; executing, by the first server of the server center, a first interactive online video game in response to the control signals received from the client; executing, by the second server of the server center, a second interactive online video game; generating, by the server center, an interactive video stream including at least two frames resulting from the execution of the first and second interactive online video games, wherein the at least two frames include a first frame and a second frame, wherein the first frame is generated by the first server and the second frame is generated by the second server; receiving, by the server center from the client via the Internet, a video stream of a player interfacing with the client; identifying, by the server center, first server executing the first interactive video game; providing, by the server center, the video stream of the player to the first server determined to execute the first interactive video game for integration of the video stream of the player with the first frame of the interactive video stream; integrating, by the server center, a portion of the video stream of the player with the first frame of the interactive video stream to generate a first integrated video frame; compressing, by a shared hardware compressor of the server center, the first integrated video frame to generate a first compressed frame; saving, by the shared hardware compressor, a state of compression of the first compressed frame; compressing, by the shared hardware compressor, the second video frame after compressing the first integrated video frame, to generate a second compressed frame; saving, by the shared hardware compressor, a state of compression of the second compressed frame, wherein the state of compression used for the second compressed frame is different from the state of compression used for the first compressed frame; and transmitting, by the server center, an interactive compressed video stream having the first and second compressed frames to another client over the Internet for display of an image of the first interactive online video game, an image of the second interactive online video game, and an image of the player by the other client, wherein the image of the player is configured to be displayed in a display area along with the image resulting from the execution of the first interactive online video game. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
a plurality of servers configured to receive control signals from a client over the Internet, wherein the plurality of servers include a first server and a second server; a memory coupled to first server; wherein the first server is configured to execute a first interactive online video game in response to the control signals received from the client, wherein to execute the first interactive online video game, wherein the second server is configured to execute a second online interactive video game, wherein the servers are configured to generate an interactive video stream including at least two frames resulting from the execution of the first and second interactive online video games, wherein the at least two frames include a first frame and a second frame, wherein the first frame is generated by the first server and the second frame is generated by the second server, wherein the first server is configured to receive a video stream of a player interfacing with the client; an inbound routing network coupled to the servers, wherein the inbound routing network is configured to identify the first server executing the first interactive video game, wherein the inbound routing network is configured to provide the video stream of the player to the first server determined to execute the first interactive video game for integration of a portion of the video stream of the player with the first frame of the interactive video stream, wherein the first server is configured to integrate the portion of the video stream with the first frame of the interactive video stream, a compression device coupled to the server, wherein the compression device is configured to compress the first frame of the interactive video stream to generate a first compressed frame, wherein the compression device is configured to save a state of compression of the first compressed frame, wherein the compression device is configured to compress the second frame to generate a second compressed frame after compressing the first frame, wherein the compression device is configured to save a state of the second compressed frame, wherein the state of compression of the second compressed frame is different from the state of compression of the first compressed frame; and a routing network coupled to the compression device, wherein the routing network is configured to send an interactive compressed video stream having the first and second compressed frames to another client over the Internet for display of an image of the first interactive online video game, an image of the second interactive online video game, and an image of the player by the other client, wherein the image of the player is configured to be displayed in a display area along with the image resulting from the execution of the first interactive online video game. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A non-transitory computer readable medium containing program instructions, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out operations comprising:
-
receiving, by a server center, control signals from a client over the Internet, wherein the server center includes a plurality of servers, wherein the plurality of servers include a first server and a second server; executing, by the first server of the server center, a first interactive online video game in response to the control signals received from the client; executing, by the second server of the server center, a second interactive online video game; generating, by the server center, an interactive video stream including at least two frames resulting from the execution of the first and second interactive online video games, wherein the at least two frames include a first frame and a second frame, wherein the first frame is generated by the first server and the second frame is generated by the second server; receiving, by the server center from the client via the Internet, a video stream of a player interfacing with the client; identifying, by the server center, the first server executing the first interactive video game; providing, by the server center, the video stream of the player to the first server determined to execute the first interactive video game for integration of the video stream of the player with the first frame of the interactive video stream; integrating, by the server center, a portion of the video stream of the player with the first frame of the interactive video stream to generate a first integrated video frame; compressing, by a shared hardware compressor of the server center, the first integrated video frame to generate a first compressed frame; saving, by the shared hardware compressor, a state of compression of the first compressed frame; compressing, by the shared hardware compressor, the second video frame after compressing the first integrated video frame, to generate a second compressed frame; saving, by the shared hardware compressor, a state of compression of the second compressed frame, wherein the state of compression used for the second compressed frame is different from the state of compression used for the first compressed frame; and transmitting, by the server center, an interactive compressed video stream having the first and second compressed frames to another client over the Internet for display of an image of the first interactive online video game, an image of the second interactive online video game, and an image of the player by the other client, wherein the image of the player is configured to be displayed in a display area along with the image resulting from the execution of the first interactive online video game. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
-
Specification