IP Library › Granted Patent US 12,650,838
Granted Patent B1
US 12,650,838 · App. 18/305,721 · Granted Jun 9, 2026

Systems and methods for remote client access to server-based software development

Inventor: Nader Khalil (San Francisco, CA)
Assignee: NVIDIA Corporation
G06F8/77G06F8/65G06F9/5077H04L41/0893H04L63/0272G06F2212/264
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 12,650,838
App. No.
18/305,721
Granted
Jun 9, 2026
Kind
B1
Abstract

Systems and methods to support remote client access to server-based software development within a server that manages a container cluster, are disclosed. Exemplary implementations may launch one or more pods that may include sets of containers, including a first pod that executes a container management software application; launch a first set of containers including a first container; receive a connection instruction to establish a secure channel between a client computing platform and a remotely-accessible server-based software development environment (SDE) in the first container; establish the secure channel; receive user input for particular execution in the remotely-accessible server-based software development environment; perform the particular execution; and/or other actions.

Claims (41)

1 . A system configured to support remote client access to server-based software development within a server configured to manage a container cluster, the system comprising:

one or more hardware processors configured by machine-readable instructions to: launch, using the container cluster, one or more pods that include at least one set of containers, wherein the one or more pods include a first pod configured to execute a container management software application;

launch, using the container management software application of the first pod, a first set of the at least one set of containers including a first container and a second container, wherein the first container of the first pod is configured to provide a first remotely-accessible server-based software development environment (SDE) and the second container of the first pod is configured to provide a second remotely-accessible server-based SDE, wherein the first container is associated with a plurality of hierarchical states including at least a current SDE state and a current state of the first container;

receive, through a public uniform resource locator (URL) accessible from a client computing platform associated with a remote user, a connection instruction to establish a secure channel between the client computing platform and the first remotely-accessible server-based SDE;

establish the secure channel between the client computing platform through the public URL and the first remotely-accessible server-based SDE such that the remote user has root access to the first remotely accessible server based SDE;

receive, through a software application executing locally on the client computing platform, user input from the remote user, wherein the user input includes an instruction to execute one or more commands in the first remotely-accessible server-based SDE; and

execute the one or more commands in the first container in accordance with the instruction such that execution of the one or more commands triggers updates across the plurality of hierarchical states including modifying the current state of the first container into a modified state, wherein the modified state corresponds to an update to a deployed software application, wherein the update to the deployed software application is immediately accessible within the first remotely-accessible server-based SDE to one or more different remote users through a resource.

2 . The system of claim 1 , wherein the container management software application is DOCKER™.

3 . The system of claim 1 , wherein the connection instruction is received through a Secure Shell (SSH) command.

4 . The system of claim 1 , wherein the software application executing locally on the client computing platform provides a command line interface to the remote user.

5 . The system of claim 1 , wherein the software application executing locally on the client computing platform provides text editing to the remote user.

6 . The system of claim 1 , wherein at least some persistent data for the first remotely-accessible server-based SDE is stored on the server.

7 . The system of claim 1 , wherein the first remotely-accessible server-based SDE includes a container runtime in accordance with an Open Container Initiative (OCI™) specification.

8 . The system of claim 7 , wherein the container runtime includes “runc”.

9 . The system of claim 1 , wherein at least some of the current state is stored in persistent data storage, and wherein at least some of the persistent data storage is provided locally by the server.

10 . The system of claim 1 , wherein the user input received through the software application executing locally on the client computing platform is provided to the first remotely-accessible server-based SDE via the secure channel.

11 . The system of claim 1 , wherein the one or more commands include a particular command to preserve a particular current state of one or more of:

(i) a particular process running in the first remotely-accessible server-based SDE,

(ii) a particular container in the first set of the at least one set of containers, and/or

(iii) a particular data set in the first remotely-accessible server-based SDE, into a preserved particular state, wherein the preserved particular state is stored in persistent data storage.

12 . The system of claim 11 , wherein the one or more hardware processors are further configured to:

receive a particular restore instruction from the remote user for creation and/or modification of a specific current state of the first set of the at least one set of containers, wherein the specific current state corresponds to the preserved particular state; and

execute the particular restore instruction such that the first set of the at least one set of containers has a state that corresponds to the preserved particular state.

13 . A method of supporting remote client access to server-based software development within a server that manages a container cluster, the method comprising:

launching, using the container cluster, one or more pods that include at least one set of containers, wherein the one or more pods include a first pod that executes a container management software application;

launching, using the container management software application of the first pod, a first set of the at least one set of containers including a first container and a second container, wherein the first container of the first pod provides a first remotely-accessible server-based software development environment (SDE) and the second container of the first pod is configured to provide a second remotely-accessible server-based SDE, wherein the first container is associated with a plurality of hierarchical states including at least a current SDE state and a current state of the first container;

receiving, through a public uniform resource locator (URL) accessible from a client computing platform associated with a remote user, a connection instruction to establish a secure channel between the client computing platform and the first remotely-accessible server-based SDE;

establishing the secure channel between the client computing platform through the public URL and the first remotely-accessible server-based SDE;

receiving, through a software application executing locally on the client computing platform, user input from the remote user, wherein the user input includes an instruction to execute one or more commands in the remotely-accessible server-based SDE; and

executing the one or more commands in the first container in accordance with the instruction such that execution of the one or more commands triggers updates across the plurality of hierarchical states including modifying the current state of the first container into a modified state, wherein the modified state corresponds to an update to a deployed software application, wherein the update to the deployed software application is immediately accessible within the first remotely-accessible server-based SDE to one or more different remote users through a resource.

14 . The method of claim 13 , wherein the container management software application is DOCKER™.

15 . The method of claim 13 , wherein the connection instruction is received through a Secure Shell (SSH) command.

16 . The method of claim 13 , wherein the software application executing locally on the client computing platform provides a command line interface to the remote user.

17 . The method of claim 13 , wherein at least some persistent data for the first remotely-accessible server-based SDE is stored on the server.

18 . The method of claim 13 , wherein the one or more commands include a particular command to preserve a particular current state of one or more of:

(i) a particular process running in the first remotely-accessible server-based SDE,

(ii) a particular container in the first set of the at least one set of containers, and/or

(i) a particular data set in the first remotely-accessible server-based SDE, into a preserved particular state, wherein the preserved particular state is stored in persistent data storage.

19 . The method of claim 18 , further comprising:

receiving a particular restore instruction from the remote user for creation and/or modification of a specific current state of the first set of the at least one set of containers, wherein the specific current state corresponds to the preserved particular state; and

executing the particular restore instruction such that the first set of the at least one set of containers has a state that corresponds to the preserved particular state.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 063418 FRAME 0546. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 2, 2023
From: KHALIL, NADER
To: BREV.DEV, INC.
Reel/Frame 064103/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2023
From: KHALIL, NADER
To: KHALIL, NADER
Reel/Frame 063418/0546 →
Continuity (1)
Provisional Application 63340608 · May 11, 2022
References Cited (27)
US 10782959B1 · Schambureck · 2020 [cited by examiner]
US 10922064B2 · Wei et al. · 2021 [cited by applicant]
US 10938641B1 · Fritz · 2021 [cited by examiner]
US 11108629B1 · Cahyadi · 2021 [cited by examiner]
US 11599376B1 · Viswanathan et al. · 2023 [cited by applicant]
US 11811878B1 · Van Henten · 2023 [cited by examiner]
US 12032977B2 · Rodriguez et al. · 2024 [cited by applicant]
US 12141554B2 · Masad et al. · 2024 [cited by applicant]
US 20130347077A1 · Marum · 2013 [cited by examiner]
US 20170244593A1 · Rangasamy et al. · 2017 [cited by applicant]
US 20190028336A1 · Coronado et al. · 2019 [cited by applicant]
US 20190065619A1 · Kuo et al. · 2019 [cited by applicant]
US 20190260855A1 · Thomas · 2019 [cited by examiner]
US 20190318240A1 · Kulkarni et al. · 2019 [cited by applicant]
US 20210103499A1 · Alluboyina et al. · 2021 [cited by applicant]
US 20210174248A1 · Wetherbee et al. · 2021 [cited by applicant]
US 20220138004A1 · Nandakumar · 2022 [cited by applicant]
US 20220391124A1 · Darji et al. · 2022 [cited by applicant]
US 20220391176A1 · Gupte et al. · 2022 [cited by applicant]
US 20220417215A1 · Parthasarathi et al. · 2022 [cited by applicant]
US 20230266989A1 · Van Welzen et al. · 2023 [cited by applicant]
US 20230359457A1 · Van Der Hoorn et al. · 2023 [cited by applicant]
US 20230409528A1 · Chirayath et al. · 2023 [cited by applicant]
US 20240184897A1 · Yin et al. · 2024 [cited by applicant]
US 20240411544A1 · Vijaywargiya et al. · 2024 [cited by applicant]
EP 2775397A2 · 2014 [cited by examiner]
Valstar, Sander, et al., Using DevContainers to Standardize Student Development Environments: An Experience Report, Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education, Jun.… [cited by examiner]