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: 20240001230
    Abstract: 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: Application
    Filed: September 7, 2023
    Publication date: January 4, 2024
    Inventors: Paul Lalonde, Jean-François Roy, Paul Leventis
  • Patent number: 11813521
    Abstract: 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: Grant
    Filed: March 29, 2021
    Date of Patent: November 14, 2023
    Assignee: GOOGLE LLC
    Inventors: Paul Lalonde, Paul Leventis, Jean-François Roy
  • Publication number: 20230330533
    Abstract: 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: Application
    Filed: June 23, 2023
    Publication date: October 19, 2023
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Patent number: 11701587
    Abstract: 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: Grant
    Filed: November 8, 2021
    Date of Patent: July 18, 2023
    Assignee: GOOGLE LLC
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Patent number: 11684849
    Abstract: 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: Grant
    Filed: April 9, 2020
    Date of Patent: June 27, 2023
    Assignee: GOOGLE LLC
    Inventors: Jack Buser, Gregory Canessa, Garret Kelly, Paul Leventis
  • Patent number: 11662051
    Abstract: 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: Grant
    Filed: November 14, 2019
    Date of Patent: May 30, 2023
    Assignee: GOOGLE LLC
    Inventors: Dov Zimring, Paul Leventis
  • Patent number: 11654354
    Abstract: 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: Grant
    Filed: April 6, 2021
    Date of Patent: May 23, 2023
    Assignee: GOOGLE LLC
    Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
  • Publication number: 20230117969
    Abstract: 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: Application
    Filed: December 15, 2022
    Publication date: April 20, 2023
    Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
  • Patent number: 11369873
    Abstract: 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: Grant
    Filed: April 15, 2020
    Date of Patent: June 28, 2022
    Assignee: Google LLC
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Publication number: 20220054940
    Abstract: 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: Application
    Filed: November 8, 2021
    Publication date: February 24, 2022
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Patent number: 11198065
    Abstract: 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: Grant
    Filed: April 15, 2020
    Date of Patent: December 14, 2021
    Assignee: Google LLC
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Publication number: 20210365328
    Abstract: 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: Application
    Filed: November 14, 2019
    Publication date: November 25, 2021
    Inventors: Dov Zimring, Paul Leventis
  • Patent number: 11110348
    Abstract: 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: Grant
    Filed: April 10, 2019
    Date of Patent: September 7, 2021
    Assignee: GOOGLE LLC
    Inventors: Paul Lalonde, Paul Leventis, Jean-Francois Roy
  • Patent number: 11077364
    Abstract: 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: Grant
    Filed: March 28, 2019
    Date of Patent: August 3, 2021
    Assignee: Google LLC
    Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
  • Publication number: 20210220733
    Abstract: 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: Application
    Filed: April 6, 2021
    Publication date: July 22, 2021
    Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
  • Publication number: 20210213354
    Abstract: 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: Application
    Filed: March 29, 2021
    Publication date: July 15, 2021
    Inventors: Paul Lalonde, Paul Leventis, Jean-François Roy
  • Publication number: 20200238175
    Abstract: 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: Application
    Filed: April 15, 2020
    Publication date: July 30, 2020
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Publication number: 20200230499
    Abstract: 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: Application
    Filed: April 9, 2020
    Publication date: July 23, 2020
    Inventors: Jack Buser, Gregory Canessa, Garret Kelly, Paul Leventis
  • Publication number: 20190321725
    Abstract: 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: Application
    Filed: March 28, 2019
    Publication date: October 24, 2019
    Inventors: Dov Zimring, Paul Leventis, Benjamin Frenkel, Matthew Rodgers, Clinton Smullen, Robert McCool
  • Publication number: 20190308099
    Abstract: 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: Application
    Filed: April 10, 2019
    Publication date: October 10, 2019
    Inventors: Paul Lalonde, Paul Leventis, Jean-Francois Roy