IP Library Granted Patent US 11,583,768
Granted Patent B2
US 11,583,768 · App. 17/507,303 · Granted Feb 21, 2023

Systems and methods for secure concurrent streaming of applications

Inventors: Qunshu Zhang (Sammamish, WA); Carlos Lopez Menendez (Madrid, ES); Francisco Javier Merino Guardiola (Madrid, ES)
Assignee: Meta Platforms, Inc.
A63F13/355A63F13/352A63F13/48A63F13/49A63F13/79G06F9/45558H04L65/612H04L65/65H04L67/01H04L67/10H04L67/131H04L67/141H04L67/145H04L67/306H04L67/568A63F2300/538A63F2300/5546A63F2300/636G06F2009/45587G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,583,768
App. No.
17/507,303
Granted
Feb 21, 2023
Kind
B2
Abstract

The disclosed computer-implemented method may include (1) provisioning a cloud gaming environment with a plurality of containers that share a single operating system instance, (2) allocating each container within the plurality of containers to a corresponding user, (3) executing, concurrently, within each container within the plurality of containers a corresponding video game instance and (4) streaming, concurrently, from the cloud gaming environment, a video game instance from each container within the plurality of containers to a corresponding client system. Various other methods, systems, and computer-readable media are also disclosed.

Claims (46)

1. A computer-implemented method comprising:

provisioning a cloud gaming environment with a plurality of containers that share a single operating system instance;

allocating each container within the plurality of containers to a corresponding user;

executing, concurrently, within each container within the plurality of containers a corresponding video game instance; and

streaming, concurrently, from the cloud gaming environment, a video game instance from each container within the plurality of containers to a corresponding client system.

2. The computer-implemented method of claim 1 , wherein each container within the plurality of containers comprises a corresponding sandbox that intermediates between the video game instance for the container and the operating system instance.

3. The computer-implemented method of claim 2 , wherein, for each container within the plurality of containers, the corresponding sandbox is configured to intercept and modify one or more system calls performed by the video game instance for the container.

4. The computer-implemented method of claim 3 , wherein intercepting and modifying one or more system calls comprises:

intercepting an attempt to store persistent data; and

redirecting the attempt to store the persistent data to a storage location that is configured for data persistence for the corresponding user across sessions.

5. The computer-implemented method of claim 3 , wherein intercepting and modifying one or more system calls comprises:

intercepting and modifying a call to a physical graphics processing unit; and

passing the modified call to the physical graphics processing unit.

6. The computer-implemented method of claim 3 , wherein intercepting and modifying one or more system calls comprises:

intercepting a system call to access a system resource that is unique for the operating system instance; and

modifying the system call to access the system resource that is unique for the operating system instance to access a different resource.

7. The computer-implemented method of claim 3 , wherein intercepting and modifying one or more system calls comprises modifying a user-facing behavior of the video game instance.

8. The computer-implemented method of claim 1 , wherein each container within the plurality of containers isolates corresponding users from each other, such that no user data within one container is accessible by another container.

9. The computer-implemented method of claim 1 , wherein the plurality of containers are deployed within a single virtual machine.

10. The computer-implemented method of claim 1 , wherein, for each container within the plurality of containers, a corresponding server intermediates between a corresponding client system of a corresponding user and the container, capturing display and audio data from the container to forward to the corresponding client system and receiving input data from the corresponding client system to forward to the container.

11. A system comprising:

at least one physical processor;

physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to:

provision a cloud gaming environment with a plurality of containers that share a single operating system instance;

allocate each container within the plurality of containers to a corresponding user;

execute, concurrently, within each container within the plurality of containers a corresponding video game instance; and

stream, concurrently, from the cloud gaming environment, a video game instance from each container within the plurality of containers to a corresponding client system.

12. The system of claim 11 , wherein each container within the plurality of containers comprises a corresponding sandbox that intermediates between the video game instance for the container and the operating system instance.

13. The system of claim 12 , wherein, for each container within the plurality of containers, the corresponding sandbox is configured to intercept and modify one or more system calls performed by the video game instance for the container.

14. The system of claim 13 , wherein intercepting and modifying one or more system calls comprises:

intercepting an attempt to store persistent data; and

redirecting the attempt to store the persistent data to a storage location that is configured for data persistence for the corresponding user across sessions.

15. The system of claim 13 , wherein intercepting and modifying one or more system calls comprises:

intercepting and modifying a call to a physical graphics processing unit; and

passing the modified call to the physical graphics processing unit.

16. The system of claim 13 , wherein intercepting and modifying one or more system calls comprises:

intercepting a system call to access a system resource that is unique for the operating system instance; and

modifying the system call to access the system resource that is unique for the operating system instance to access a different resource.

17. The system of claim 13 , wherein intercepting and modifying one or more system calls comprises modifying a user-facing behavior of the video game instance.

18. The system of claim 11 , wherein each container within the plurality of containers isolates corresponding users from each other, such that no user data within one container is accessible by another container.

19. The system of claim 11 , wherein the plurality of containers are deployed within a single virtual machine.

20. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

provision a cloud gaming environment with a plurality of containers that share a single operating system instance;

allocate each container within the plurality of containers to a corresponding user;

execute, concurrently, within each container within the plurality of containers a corresponding video game instance; and

stream, concurrently, from the cloud gaming environment, a video game instance from each container within the plurality of containers to a corresponding client system.

Assignments (2)
CHANGE OF NAME Recorded Jan 11, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058685/0901 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2021
From: ZHANG, QUNSHU; MENENDEZ, CARLOS LOPEZ; GUARDIOLA, FRANCISCO JAVIER MERINO
To: FACEBOOK, INC.
Reel/Frame 058233/0795 →
Continuity (3)
Provisional Application 63194821 · May 28, 2021
Provisional Application 63105320 · Oct 25, 2020
Related Publication 20220126199A1 · Apr 28, 2022