IP Library Granted Patent US 11,922,185
Granted Patent B2
US 11,922,185 · App. 17/734,122 · Granted Mar 5, 2024

Deployment and isolation of plugins in a virtualized computing environment

Inventors: Tony Ganchev (Sofia, BG); Plamen Dimitrov (Sofia, BG); Aleksandar Marinov (Sofia, BG)
Assignee: VMware, Inc.
G06F9/44526G06F8/61G06F9/452G06F9/455H04L67/56G06F9/45533
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,922,185
App. No.
17/734,122
Granted
Mar 5, 2024
Kind
B2
Abstract

In an architecture of a virtualized computing system plugins are less tightly integrated with a core user interface of a management server. Rather than being installed and executed at the management server as local plugins, the plugins are served as remote plugins from a plugin server, and may be accessed by a web client through a reverse proxy at the management server. Plugin operations may be executed at the plugin server and/or invoked from a user device where the web client resides. Furthermore, a plugin sandbox and other isolation configurations are provided at the user device, so as to further control access capability and interaction of the plugins.

Claims (42)

1. A method to operate plugins in a virtualized computing environment, the method comprising:

installing the plugins at a plugin server, wherein the plugin server resides at a first computing device that is remote from a second computing device where a management server for the virtualized computing environment resides, and wherein the plugin server communicates with the management server via a reverse proxy of the management server;

loading, via a first port of the reverse proxy of the management server and into a user interface of a web client residing at a third computing device, elements of a core user interface from the management server;

loading, via a second port of the reverse proxy of the management server and into the user interface of the web client, a first plugin from the plugin server; and

isolating, at the third computing device, at least some elements of the loaded first plugin from the core user interface;

loading, via the second port of the reverse proxy of the management server and into the user interface of the web client, a second plugin from the plugin server; and

isolating, at the web client, the elements of the loaded first plugin from elements of the loaded second plugin, by using sandboxes,

wherein the loaded first plugin is executed at the third computing device outside of the management server and is prevented from executing at the management server.

2. The method of claim 1 , wherein isolating at least some of the elements of the loaded first plugin from the core user interface includes using a sandbox at the web client to isolate the at least some of the elements of the loaded first plugin from the loaded elements of the core user interface.

3. The method of claim 1 , wherein at least some of the plugins installed at the plugin server execute at the plugin server, and wherein the execution at the plugin server is triggered by the web client.

4. The method of claim 1 , further comprising registering the plugins installed at the plugin server with an extension manager of the management server.

5. The method of claim 1 , wherein forwarding/redirection rules to the plugin server are registered with the reverse proxy.

6. A non-transitory computer-readable medium having instructions stored thereon, which in response to execution by one or more processors, cause the one or more processors to perform or control performance of operations that pertain to a plurality of plugins in a virtualized computing environment, the operations comprising:

installing the plurality of plugins at a plugin server, wherein the plugin server resides at a first computing device that is remote from a second computing device where a management server for the virtualized computing environment resides, and wherein the plugin server communicates with the management server via a reverse proxy of the management server;

isolating a first plugin, of the plurality of plugins, from a core user interface provided by the management server; and

facilitating execution of the first plugin to support operation of elements of the core user interface that have been loaded by the management server to a web client, wherein isolating the first plugin from the core user interface includes loading elements of the first plugin into a first sandbox at the web client, wherein the web client communicates with each of the management server and the plugin server via the reverse proxy of the management server, and wherein the first plugin and the plugins at the plugin server are executed outside of the management server and are prevented from executing at the management server.

7. The non-transitory computer-readable medium of claim 6 , wherein facilitating the execution of the first plugin includes executing the first plugin at the plugin server, and wherein the execution at the plugin server is triggered by the web client.

8. The non-transitory computer-readable medium of claim 6 , wherein facilitating the execution of the first plugin includes:

enabling execution of the first plugin at the web client.

9. The non-transitory computer-readable medium of claim 6 , wherein the operations further comprise:

loading a second plugin, of the plurality of plugins, into a second sandbox the web client; and

enabling execution of the second plugin at the web client, wherein the first and second sandboxes provide isolation between the execution of the first and second plugins at the web client.

10. The non-transitory computer-readable medium of claim 6 , wherein the operations further comprise:

registering the plugins installed at the plugin server with an extension manager of the management server.

11. The non-transitory computer-readable medium of claim 6 , wherein forwarding/redirection rules to the plugin server are registered with the reverse proxy.

12. A plugin server, comprising:

one or more processors; and

a non-transitory computer-readable medium having instructions stored thereon, which in response to execution by the one or more processors, cause the one or more processors to perform or control performance of operations, pertaining to a plurality of plugins in a virtualized computing environment, to:

install the plurality of plugins at the plugin server, wherein the plugin server resides at a first computing device that is remote from a second computing device where a management server for the virtualized computing environment resides, and wherein the plugin server communicates with the management server via a reverse proxy of the management server;

isolate a first plugin, of the plurality of plugins, from a core user interface provided by the management server; and

facilitate execution of the first plugin to support operation of elements of the core user interface that have been loaded by the management server to a web client residing at a third computing device, wherein the web client communicates with each of the management server and the plugin server via the reverse proxy of the management server, wherein the first plugin and the plugins at the plugin server are configured to execute outside of the management server and are prevented from being executed at the management server, and wherein the first plugin is configured to execute at the third computing device,

wherein the operations to isolate the first plugin from the core user interface include operations to:

load the first plugin into a first sandbox at the web client, and

wherein the instructions, in response to execution by the one or more processors, further cause the one or more processors to perform or control performance of operations to:

load a second plugin, of the plurality of plugins, into a second sandbox at the web client; and

enable execution of the second plugin at the web client, wherein the first and second sandboxes provide isolation between the execution of the first and second plugins at the web client.

13. The plugin server of claim 12 , wherein at least some other plugins of the plurality of plugins installed at the plugin server are configured to execute at the plugin server, and wherein the execution at the plugin server is triggered by the web client.

14. The plugin server of claim 12 , wherein the operations to facilitate the execution of the first plugin include operations to:

enable execution of the first plugin at the web client.

15. The plugin server of claim 12 , wherein the instructions, in response to execution by the one or more processors, further cause the one or more processors to perform or control performance of operations to:

register the plugins installed at the plugin server with an extension manager of the management server.

16. The plugin server of claim 12 , wherein forwarding/redirection rules to the plugin server are registered with the reverse proxy.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
Continuity (2)
Continuation 16507035 · Jul 10, 2019
Related Publication 20220261259A1 · Aug 18, 2022