U.S. patent application number 15/926332 was filed with the patent office on 2018-07-26 for remote management of virtual machines hosted in a private network.
The applicant listed for this patent is KASEYA LIMITED. Invention is credited to Derek Rodrigues, George Runcie.
Application Number | 20180210746 15/926332 |
Document ID | / |
Family ID | 43125291 |
Filed Date | 2018-07-26 |
United States Patent
Application |
20180210746 |
Kind Code |
A1 |
Runcie; George ; et
al. |
July 26, 2018 |
REMOTE MANAGEMENT OF VIRTUAL MACHINES HOSTED IN A PRIVATE
NETWORK
Abstract
Management of virtual machines within a private network may be
provided from a server application, such as a web application, on a
machine remote from a private network. The server application
receives management commands and communications the management
commands in a vendor independent format to a client application
within the private network. The client application receives the
management commands, instantiates the management commands into a
vendor specific definition and redirects the management commands to
the virtual machine host for appropriate execution.
Inventors: |
Runcie; George; (Santa
Barbara, CA) ; Rodrigues; Derek; (Ojai, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
KASEYA LIMITED |
Dublin |
|
IE |
|
|
Family ID: |
43125291 |
Appl. No.: |
15/926332 |
Filed: |
March 20, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15438574 |
Feb 21, 2017 |
9921863 |
|
|
15926332 |
|
|
|
|
14501301 |
Sep 30, 2014 |
9582304 |
|
|
15438574 |
|
|
|
|
13855948 |
Apr 3, 2013 |
8849906 |
|
|
14501301 |
|
|
|
|
12469171 |
May 20, 2009 |
8438216 |
|
|
13855948 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 63/0272 20130101;
G06F 9/455 20130101; G06F 9/45533 20130101 |
International
Class: |
G06F 9/455 20060101
G06F009/455; H04L 29/06 20060101 H04L029/06 |
Claims
1. A method, comprising: communicating at least one virtual machine
management command to a client application within a private
network; and executing the at least one virtual machine management
command in the virtual machine host; wherein the at least one
virtual machine management command is generated in a server
application that resides in a machine remote from the private
network
2. The method according to claim 1 wherein the client application
provides an entry point into the private network.
3. The method according to claim 1 comprising executing the client
application from the virtual machine host.
4. The method according to claim 1 comprising redirecting the at
least one virtual machine management command from the client
application to a virtual machine host of the private network.
5. The method according to claim 1 wherein the client application
is configured with a communication channel permitting communication
with machines external to the private network, and wherein the
client application is configured to provide a communication channel
between the server application and the client application.
6. The method according to claim 1 comprising communicating the at
least one management command from the server application to the
client application in a vendor independent configuration.
7. The method according to claim 1 wherein the client application
instantiates the at least one management command into a vendor
specific virtual machine host format.
8. The method according to claim 1 comprising providing the server
application as a web application.
9. A system, comprising: a virtual machine host, including a
processor and memory, that resides within a private network; a
client application that resides on a machine within the private
network; and wherein the client application receives one or more
management commands, via a communication channel from a machine
external to the private network; wherein the client application
supports a pre-configured virtual machine that provides a minimum
execution environment.
10. The system according to claim 9 wherein the client application
is executed on a machine within the private network.
11. The system according to claim 9 wherein the client application
is executed on the virtual machine host.
12. The system according to claim 9 wherein the communication
channel comprises a firewall.
13. The system according to claim 9 comprising a server application
that resides on the machine external to the private network,
wherein the server application is configured to communicate the one
or more management commands to the client application in a vendor
independent format.
14. The system according to claim 12 wherein the client application
is configured to instantiate the one or more management commands
into a vendor specific definition.
15. The system according to claim 13 wherein the server application
is configured to download one or more client side management
utilities.
16. The system according to claim 9 a redirection channel that
redirects the one or more management commands from the client
application to the virtual machine host.
17. A non-transitory computer-readable storage medium comprising
computer-executable instructions for execution by a processor,
that, when executed, cause a processor to: receive one or more
virtual machine management commands in a host independent format
through an interface on a remote machine; and communicate the one
or more virtual machine management commands in a host independent
format to a client application; wherein the client application that
receives the one or more virtual machine management commands is
executed.
18. The non-transitory computer readable storage medium according
to claim 17 comprising instructions that cause the processor to
redirect the one or more virtual machine management commands to a
virtual machine host, wherein the client application is configured
with a communication channel that permits communication with
machines external to a private network.
19. The non-transitory computer readable storage medium according
to claim 18 wherein the client application is configured to perform
at least one of: determine a virtual machine host from the one or
more virtual machine management commands; and convert the one or
more virtual machine management commands into a host dependent
format.
20. The non-transitory computer readable storage medium according
to claim 18 comprising instructions that cause the virtual machine
host to execute the one or more virtual machine management
commands.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation of U.S. patent
application Ser. No. 15/438,574, filed Feb. 21, 2017, entitled
REMOTE MANAGEMENT OF VIRTUAL MACHINES HOSTED IN A PRIVATE NETWORK,
now issued U.S. Pat. No. 9,9,921,863, issued on Mar. 20, 2018,
which is a continuation of and claims priority from U.S. patent
application Ser. No. 14/501,301, filed Sep. 30, 2014, entitled
REMOTE MANAGEMENT OF VIRTUAL MACHINES HOSTED IN A PRIVATE NETWORK,
now issued U.S. Pat. No. 9,582,304, issued on Feb. 28, 2017, which
is a continuation of U.S. patent application Ser. No. 13/855,948,
filed Apr. 3, 2013, entitled REMOTE MANAGEMENT OF VIRTUAL MACHINES
HOSTED IN A PRIVATE NETWORK, now issued U.S. Pat. No. 8,849,906,
issued on Sep. 30, 2014, which is a continuation of U.S. patent
application Ser. No. 12/469,171, filed May 20, 2009, entitled
REMOTE MANAGEMENT OF VIRTUAL MACHINES HOSTED IN A PRIVATE NETWORK,
now issued U.S. Pat. No. 8,438,216, issued on May 7, 2013, the
entire contents of which are incorporated by reference herein.
FIELD OF THE INVENTION
[0002] This invention relates to virtual machines existing on a
private network and to the remote management of the network via a
virtual network host.
BACKGROUND OF THE INVENTION
[0003] Virtual machines are configured on virtual machine hosts, of
which Microsoft Virtual Server, VMWare Server, VMWare ESX Server,
are commercially available examples. Typically, the virtual machine
host is protected within a private network by a firewall which
prevents external communications from remote machines outside of
the network. It is therefore difficult to remotely manage the
private network from outside of the network.
[0004] What is required is a system, method and computer readable
medium for remotely managing virtual machines within a private
network.
SUMMARY OF THE INVENTION
[0005] In one aspect of the disclosure, there is provided a method
for managing one or more virtual machines in a private network. The
method comprises generating at least one virtual machine management
command in a server application, communicating the at least one
virtual machine management command from the server application to a
client application within the private network, redirecting the at
least one virtual machine management command from the client
application to a virtual machine host of the private network, and
executing the at least one virtual machine management command in
the virtual machine host.
[0006] In one aspect of the disclosure, there is provided a system
comprising a virtual machine host that resides within a private
network, a client application that resides on a machine within the
private network, a server application that resides on a machine
remote from the private network, a communication channel from the
server application to the client application for providing one or
more management commands from the server application to the client
application, and a redirection channel for redirecting the one or
more management commands from the client application to the virtual
network host.
[0007] In one aspect of the disclosure, there is provided a
computer-readable medium comprising computer-executable
instructions for execution by a processor, that, when executed,
cause a processor to provide an interface on a remote machine to
receive one or more virtual machine management commands in a host
independent format, receive one or more virtual machine management
commands through the interface, and communicate the one or more
virtual machine management commands in a host independent format to
a client application within a network.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Reference will now be made, by way of example only, to
specific embodiments and to the accompanying drawings in which:
[0009] FIG. 1 illustrates a system for remotely managing virtual
machines of a private network;
[0010] FIG. 2 illustrates a method for remotely managing virtual
machines of a private network;
[0011] FIG. 3 illustrates a processor and memory of a remote
machine that executes a server application;
[0012] FIG. 4 illustrates an instruction set that may be executed
on the processor and memory of FIG. 3; and
[0013] FIG. 5 illustrates the processor and memory of FIG. 3 in
association with a processor and memory of a network machine that
executes a client application.
DETAILED DESCRIPTION OF THE INVENTION
[0014] In FIG. 1, there is shown a system 10 in accordance with an
embodiment of the disclosure. In the system 10, a private network
13 includes a virtual machine host 16 such as a vendor specific
virtual machine server, of which Microsoft Virtual Server, VMWare
Server, VMWare ESX Server, are commercially available examples. The
private network 13 may include any number of additional physical
machines (not shown) that execute any number of applications. The
private network 13 may interact with a public wide area network 15
such as the internet. Protection of the private network may be
provided by a firewall 17 as is known.
[0015] A server application 12 is provided on a machine remote or
external to the private network 13. The server application may be
provided as a web application with a suitable interface allowing
the user 11 to enter network management commands and parameters. A
web application may be provided from a web server (not shown)
within the virtual network 13. The term remote as used herein
describes that the server application is not typically configured
on a machine within the machines of the private network 13. A
machine on which the server application executes to receive
management commands may be remote to the network by not being
configured as a machine of the private network, irrespective of any
geographic location of the remote machine.
[0016] Management commands may include reconfiguring virtual
machine settings, e.g. drives, memory, hard disk space allocations,
etc. Management commands may also include reading changed machine
settings, updating power states (e.g. stopping, starting,
suspending), etc. The server application 12 may be configured to
receive management commands from the user 11 in a format
independent of any virtual machine host vendor. In one embodiment,
the management commands may be entered via a web based form, though
a person skilled in the art will readily recognize other ways in
which these parameters may be entered.
[0017] As described above, the virtual machine host 16 is typically
provided with a firewall 17 which prevents direct communication
with the virtual machine host 16 from outside of the network 13. In
accordance with an embodiment of the disclosure, the virtual
network 13 includes a client application 14 which provides a
communication channel 19 between the server application 12 via the
outside network 15 on one end and between the virtual machine host
16 on the other end.
[0018] A method for managing one or more virtual machines in the
private network 13 is illustrated in the flowchart 100 of FIG. 2.
At step 101, a user provides one or more virtual machine management
commands. The management commands are received by the server
application and communicated to the client application 14 through
the network 15 (step 102). The client application 14 redirects the
management commands to the virtual machine host 16 (step 103) which
then executes the management commands accordingly (step 104).
[0019] The client application may reside on any machine within the
virtual network 13 including the virtual machine host 16 itself.
However, the client application 14 is configured with a
communication channel that allows it to communicate with outside
machines through any network firewalls 17.
[0020] The virtual machine management commands are specified
independent of the virtual machine vendor. Therefore, the user need
not be aware of the virtual machine platform vendor. The management
commands are communicated in a vendor independent format over the
network and are only transformed into a vendor specific definition
at the point of direct interaction with the virtual machine host
16. The virtual machine management operations (start, stop, pause,
etc.) are agnostic with respect to the virtual machine host
platform. When initiating these management operations from the
remote server, the end-user need not know or care that a particular
virtual machine is hosted by VMware ESX, Microsoft Virtual Server,
etc. It is only once the management operations are executed on the
host system by the client, that the generic operations are
translated (by the client) into vendor specific operations.
[0021] The server application 12 downloads the client side
management utilities which support an application command line
interface and an event messaging interface. Utilities are
downloaded to their corresponding hosts. The server application 12
will supports different virtualization platforms by providing their
corresponding set of management utilities. The command and
messaging interface allows the server application 12 to use a
single engine to manage any virtualization platforms without
specialization requirements.
[0022] In one specific example, MS Windows virtualization platforms
host a light preconfigured virtual machine to provide a minimum
execution environment for the downloaded utilities. This eliminates
the requirement for special platform support development. For
example, VMWare ESX server runs on a derived Linux OS. Having a
light virtual machine running MS Windows in ESX servers can
eliminate porting requirements.
[0023] Normalizing the features of the server application 12 to the
highest common denominator across different virtualization
platforms will require some utilities to encapsulate extra
functionalities than others. For example, MS Virtual Server 2005
does not provide extensive snapshot features that VMWare ESX or MS
Hyper-V support. ESX & Hyper-V provide historical snapshots
whereas VS2k5 only provides a single time snapshot which means
there is only one snapshot that can be restored at anytime. To
enhance VS2k5 snapshot functionality, the server's VS2k5 utility
will provide a mechanism to save away the VS2k5 snapshots when the
snapshot command is executed from the server. The utility will
create its own storage archive in the host machine to put away each
snapshot while cataloging snapshot properties for later retrievals.
In another example, VMWare platforms do not provide virtual machine
desktop thumbnails on their virtualization management platforms. MS
tools not only show the vms' desktop thumbnails, but also provide
APIs to retrieve them. The server web management interface will
provide desktop thumbnails for all virtualization platforms.
[0024] In a network having multiple virtual machine hosts 16, the
virtual machine management commands may include a specification of
which virtual machine host a virtual machine is resident on.
[0025] The components of the systems 10 may be embodied in
hardware, software, firmware or a combination of hardware, software
and/or firmware. In a hardware embodiment, the server application
12 may be executed on a device, such as a computer, etc including a
processor 61 operatively associated with a memory 62 as shown in
FIG. 3. The memory 62 may store instructions that are executable on
the processor 61. An instruction set 200 that may be executed on
the processor 61 is depicted in the flowchart of FIG. 3.
Specifically, when executed, the instruction set 200 allows the
processor to provide the server application through an interface
(step 201), which allows the user to enter virtual machine
management commands. The management commands are recorded by the
processor 61 (step 202) and communicated to the client application
(step 203) in a host independent format.
[0026] As shown in FIG. 5, the processor 61 may communicate through
a suitable communications link 65 with further processors, such as
a processor 71 of a machine within the network 13 with associated
memory 72. Through the communications link 65, the processor 61 may
provide the virtual machine management commands. The processor 71
may execute the client application in order to receive the virtual
machine management commands and transform the host independent
management commands into a host specific definition, thereby
allowing the virtual machine host to execute the management
commands for the relevant virtual machine.
[0027] Although embodiments of the present invention have been
illustrated in the accompanied drawings and described in the
foregoing description, it will be understood that the invention is
not limited to the embodiments disclosed, but is capable of
numerous rearrangements, modifications, and substitutions without
departing from the spirit of the invention as set forth and defined
by the following claims. For example, the capabilities of the
invention can be performed fully and/or partially by one or more of
the blocks, modules, processors or memories. Also, these
capabilities may be performed in the current manner or in a
distributed manner and on, or via, any device able to provide
and/or receive information. Further, although depicted in a
particular manner, various modules or blocks may be repositioned
without departing from the scope of the current invention. Still
further, although depicted in a particular manner, a greater or
lesser number of modules and connections can be utilized with the
present invention in order to accomplish the present invention, to
provide additional known features to the present invention, and/or
to make the present invention more efficient. Also, the information
sent between various modules can be sent between the modules via at
least one of a data network, the Internet, an Internet Protocol
network, a wireless source, and a wired source and via plurality of
protocols.
* * * * *