Patents by Inventor Paul Leventis
Paul Leventis has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20240001230Abstract: Some implementations of this application are directed to a server system including one or more CPUs, a plurality of GPUs, main dynamic memory storing programs and data for use by the CPUs and/or GPUs during program execution, a static memory pool stored in a non-volatile memory, and a memory controller configured to manage the static memory pool. Each of the GPUs includes a local cache and is configured to access the static memory pool via the memory controller. The server system executes a plurality of gaming sessions for a gaming title in parallel on the one or more CPUs. Each of the plurality of gaming sessions is associated with a static data item stored in the static memory pool, and requires a graphics operation executable by a respective GPU using the static data item.Type: ApplicationFiled: September 7, 2023Publication date: January 4, 2024Inventors: Paul Lalonde, Jean-François Roy, Paul Leventis
-
Patent number: 11813521Abstract: Some implementations of this application are directed to a server system including one or more CPUs, a plurality of GPUs, main dynamic memory storing programs and data for use by the CPUs and/or GPUs during program execution, a static memory pool stored in a non-volatile memory, and a memory controller configured to manage the static memory pool. Each of the GPUs includes a local cache and is configured to access the static memory pool via the memory controller. The server system executes a plurality of gaming sessions for a gaming title in parallel on the one or more CPUs. Each of the plurality of gaming sessions is associated with a static data item stored in the static memory pool, and requires a graphics operation executable by a respective GPU using the static data item.Type: GrantFiled: March 29, 2021Date of Patent: November 14, 2023Assignee: GOOGLE LLCInventors: Paul Lalonde, Paul Leventis, Jean-François Roy
-
Publication number: 20230330533Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.Type: ApplicationFiled: June 23, 2023Publication date: October 19, 2023Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
-
Patent number: 11701587Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.Type: GrantFiled: November 8, 2021Date of Patent: July 18, 2023Assignee: GOOGLE LLCInventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
-
Patent number: 11684849Abstract: This application is directed to real-time game profiling and analysis. While a game server executes multiple game instances for a gaming title in parallel, a profiling server generates a game profiling instruction to collect data samples associated with a subset of the game instances and sends the game profiling instruction to the game server. In response to the game profiling instruction, the game server identifies the subset of the plurality of game instances, and collects data samples associated with each game instance in the identified subset. Each collected data sample includes at least game state data and system performance data associated with synchronous gaming sessions corresponding to the respective game instance. The game server sends the collected data samples associated with each game instance in the identified subset to the profiling server, which provides the plurality of data samples to an analytics server for further analysis.Type: GrantFiled: April 9, 2020Date of Patent: June 27, 2023Assignee: GOOGLE LLCInventors: Jack Buser, Gregory Canessa, Garret Kelly, Paul Leventis
-
Patent number: 11662051Abstract: An electronic computing system preserves a pre-error state of a processing unit by receiving a first stream of inputs; buffering the first stream of inputs to generate a buffered stream of inputs identical to the first stream of inputs; conveying the first stream to a primary instance of a first program; conveying the buffered stream to a secondary instance of the first program; executing the primary instance on the first stream in real time; executing the secondary instance on the buffered stream with a predefined time delay with respect to execution of the primary instance on the first stream; detecting an error state resulting from execution of the primary instance; and in response to detecting the error state, pausing the secondary instance and preserving a current state of the secondary instance, wherein the current state of the secondary instance corresponds to a pre-error state of the primary instance.Type: GrantFiled: November 14, 2019Date of Patent: May 30, 2023Assignee: GOOGLE LLCInventors: Dov Zimring, Paul Leventis
-
Patent number: 11654354Abstract: An electronic game server receives a request from a client device to establish a real-time interactive gaming session, determines a device capability of an output device associated with the client device, determines a connection capability of the network connection, determines one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability, selects a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, establishes the real-time interactive gaming session with the client device, and provides to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session.Type: GrantFiled: April 6, 2021Date of Patent: May 23, 2023Assignee: GOOGLE LLCInventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
-
Publication number: 20230117969Abstract: An electronic game server receives a request from a client device to establish a real-time interactive gaming session, determines a device capability of an output device associated with the client device, determines a connection capability of the network connection, determines one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability, selects a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, establishes the real-time interactive gaming session with the client device, and provides to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session.Type: ApplicationFiled: December 15, 2022Publication date: April 20, 2023Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
-
Patent number: 11369873Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.Type: GrantFiled: April 15, 2020Date of Patent: June 28, 2022Assignee: Google LLCInventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
-
Publication number: 20220054940Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.Type: ApplicationFiled: November 8, 2021Publication date: February 24, 2022Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
-
Patent number: 11198065Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.Type: GrantFiled: April 15, 2020Date of Patent: December 14, 2021Assignee: Google LLCInventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
-
Publication number: 20210365328Abstract: An electronic computing system preserves a pre-error state of a processing unit by receiving a first stream of inputs; buffering the first stream of inputs to generate a buffered stream of inputs identical to the first stream of inputs; conveying the first stream to a primary instance of a first program; conveying the buffered stream to a secondary instance of the first program; executing the primary instance on the first stream in real time; executing the secondary instance on the buffered stream with a predefined time delay with respect to execution of the primary instance on the first stream; detecting an error state resulting from execution of the primary instance; and in response to detecting the error state, pausing the secondary instance and preserving a current state of the secondary instance, wherein the current state of the secondary instance corresponds to a pre-error state of the primary instance.Type: ApplicationFiled: November 14, 2019Publication date: November 25, 2021Inventors: Dov Zimring, Paul Leventis
-
Patent number: 11110348Abstract: Some implementations of this application are directed to a server system including one or more CPUs, a plurality of GPUs, main dynamic memory storing programs and data for use by the CPUs and/or GPUs during program execution, a static memory pool stored in a non-volatile memory, and a memory controller configured to manage the static memory pool. Each of the GPUs includes a local cache and is configured to access the static memory pool via the memory controller. The server system executes a plurality of gaming sessions for a gaming title in parallel on the one or more CPUs. Each of the plurality of gaming sessions is associated with a static data item stored in the static memory pool, and requires a graphics operation executable by a respective GPU using the static data item.Type: GrantFiled: April 10, 2019Date of Patent: September 7, 2021Assignee: GOOGLE LLCInventors: Paul Lalonde, Paul Leventis, Jean-Francois Roy
-
Patent number: 11077364Abstract: An electronic game server receives a request from a client device to establish a real-time interactive gaming session, determines a device capability of an output device associated with the client device, determines a connection capability of the network connection, determines one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability, selects a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, establishes the real-time interactive gaming session with the client device, and provides to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session.Type: GrantFiled: March 28, 2019Date of Patent: August 3, 2021Assignee: Google LLCInventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
-
Publication number: 20210220733Abstract: An electronic game server receives a request from a client device to establish a real-time interactive gaming session, determines a device capability of an output device associated with the client device, determines a connection capability of the network connection, determines one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability, selects a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, establishes the real-time interactive gaming session with the client device, and provides to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session.Type: ApplicationFiled: April 6, 2021Publication date: July 22, 2021Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
-
Publication number: 20210213354Abstract: Some implementations of this application are directed to a server system including one or more CPUs, a plurality of GPUs, main dynamic memory storing programs and data for use by the CPUs and/or GPUs during program execution, a static memory pool stored in a non-volatile memory, and a memory controller configured to manage the static memory pool. Each of the GPUs includes a local cache and is configured to access the static memory pool via the memory controller. The server system executes a plurality of gaming sessions for a gaming title in parallel on the one or more CPUs. Each of the plurality of gaming sessions is associated with a static data item stored in the static memory pool, and requires a graphics operation executable by a respective GPU using the static data item.Type: ApplicationFiled: March 29, 2021Publication date: July 15, 2021Inventors: Paul Lalonde, Paul Leventis, Jean-François Roy
-
Publication number: 20200238175Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.Type: ApplicationFiled: April 15, 2020Publication date: July 30, 2020Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
-
Publication number: 20200230499Abstract: This application is directed to real-time game profiling and analysis. While a game server executes multiple game instances for a gaming title in parallel, a profiling server generates a game profiling instruction to collect data samples associated with a subset of the game instances and sends the game profiling instruction to the game server. In response to the game profiling instruction, the game server identifies the subset of the plurality of game instances, and collects data samples associated with each game instance in the identified subset. Each collected data sample includes at least game state data and system performance data associated with synchronous gaming sessions corresponding to the respective game instance. The game server sends the collected data samples associated with each game instance in the identified subset to the profiling server, which provides the plurality of data samples to an analytics server for further analysis.Type: ApplicationFiled: April 9, 2020Publication date: July 23, 2020Inventors: Jack Buser, Gregory Canessa, Garret Kelly, Paul Leventis
-
Publication number: 20190321725Abstract: An electronic game server receives a request from a client device to establish a real-time interactive gaming session, determines a device capability of an output device associated with the client device, determines a connection capability of the network connection, determines one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability, selects a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, establishes the real-time interactive gaming session with the client device, and provides to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session.Type: ApplicationFiled: March 28, 2019Publication date: October 24, 2019Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
-
Publication number: 20190308099Abstract: Some implementations of this application are directed to a server system including one or more CPUs, a plurality of GPUs, main dynamic memory storing programs and data for use by the CPUs and/or GPUs during program execution, a static memory pool stored in a non-volatile memory, and a memory controller configured to manage the static memory pool. Each of the GPUs includes a local cache and is configured to access the static memory pool via the memory controller. The server system executes a plurality of gaming sessions for a gaming title in parallel on the one or more CPUs. Each of the plurality of gaming sessions is associated with a static data item stored in the static memory pool, and requires a graphics operation executable by a respective GPU using the static data item.Type: ApplicationFiled: April 10, 2019Publication date: October 10, 2019Inventors: Paul Lalonde, Paul Leventis, Jean-Francois Roy