System and method for generating virtual networks
First Claim
1. A virtual network management system comprising:
- a memory; and
a processor, operatively coupled to the memory, the processor executing computer-executable components, comprising;
a user interface component that receives requirements input by a user for a virtual network, the virtual network comprising one or more virtual devices that are interconnected, the user interface component generates an XML message comprising at least the requirements and empty fields reserved for configuration information of the virtual network, wherein the user interface component parses the message to retrieve the requirements and calculate resources required to support the requirements;
an identification component that receives the message generated by the user interface component and that identifies one or more server(s) from a plurality of servers available to the virtual network that fulfills the requirements from the message and has available resources, the identification component updates at least a subset of the empty fields of the received message with configuration information of the one or more server(s) identified with the identification component; and
a creation component that receives the updated message from the identification component and creates a virtual server session associated with the virtual network based, at least in part, upon the one or more server(s) identified by the identification component, wherein the creation component creates the virtual server session by performing the following;
creating a subdirectory to host the virtual server session,creating a differencing drive file that defines the deployment configuration,creating a virtual machine, and attaching the differencing file to the virtual machine,creating a virtual network, and attaching the virtual machine to the virtual network, andstarting the virtual network.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for generating and/or managing virtual network(s) is provided. The system provides an interface for end-user(s) to create a virtual network (e.g., on-demand). The virtual network comprises a plurality of servers that allow the user to, for example, develop and/or test software, migrate applications, apply tasks and/or troubleshoot scenarios in a simulated, distributed environment.
A user can communicate with the system via an interface (e.g., web-based) to create and/or manage the virtual network. Additionally, the system can employ a common infrastructure to facilitate creation and/or management of a variety of virtual deployment configurations. The common infrastructure can be designed, for example, by administrator(s) having knowledge of hardware and/or software available for employment within the virtual network.
The system can further provide a load-balancing mechanism to determine and/or distribute workload to computer(s) with available resource(s). Additionally, the system can expire virtual session(s) that are no longer in use thereby releasing resources for other user(s) and/or session(s).
-
Citations
17 Claims
-
1. A virtual network management system comprising:
-
a memory; and a processor, operatively coupled to the memory, the processor executing computer-executable components, comprising; a user interface component that receives requirements input by a user for a virtual network, the virtual network comprising one or more virtual devices that are interconnected, the user interface component generates an XML message comprising at least the requirements and empty fields reserved for configuration information of the virtual network, wherein the user interface component parses the message to retrieve the requirements and calculate resources required to support the requirements; an identification component that receives the message generated by the user interface component and that identifies one or more server(s) from a plurality of servers available to the virtual network that fulfills the requirements from the message and has available resources, the identification component updates at least a subset of the empty fields of the received message with configuration information of the one or more server(s) identified with the identification component; and a creation component that receives the updated message from the identification component and creates a virtual server session associated with the virtual network based, at least in part, upon the one or more server(s) identified by the identification component, wherein the creation component creates the virtual server session by performing the following; creating a subdirectory to host the virtual server session, creating a differencing drive file that defines the deployment configuration, creating a virtual machine, and attaching the differencing file to the virtual machine, creating a virtual network, and attaching the virtual machine to the virtual network, and starting the virtual network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17)
-
-
14. A method for allocating system resources in a virtual network environment comprising:
employing a processor executing computer-executable instructions stored on a computer-readable storage medium to implement the following acts; receiving user requirements associated with a virtual network, the virtual network comprising one or more virtual devices that are interconnected; creating an updateable XML message based, at least in part, upon the user requirements; sending the updateable message to a first message queue; retrieving the updateable message from the first message queue; parsing the user requirements from the message; calculating a quantity of resources to fulfill the user requirements for the virtual network; identifying available server(s) of a plurality of servers, if any, that fulfill the user requirements from a server data store having configuration information for the plurality of servers in a deployment infrastructure available for the virtual network; validating resources on the identified server(s) so as to verify that the identified server can fulfill the user requirements; updating the updateable message that has the user requirements to further include configuration information of the available identified server(s); sending the updateable message that has the user requirements and configuration information for the identified server(s) to a second message queue; retrieving the updateable message that has the user requirements and server configuration information from the second message queue; parsing the configuration information from the updateable message; and creating a virtual network based on the configuration information by performing the following; creating a subdirectory to host the virtual server session, creating a differencing drive file that defines the deployment configuration, creating a virtual machine, and attaching the differencing file to the virtual machine, creating a virtual network, and attaching the virtual machine to the virtual network, and starting the virtual network. - View Dependent Claims (15)
-
16. A computer-implemented system for managing a virtual server session comprising:
at least one processor that executes computer-executable code stored in memory to effect the following; receive requirements from a user for a virtual network, the virtual network comprising one or more virtual devices that are interconnected; generate an XML message having requirements, the message further provides empty elements retained for configuration information associated with the requirements; receive and parse the user requirements from the message; identify server(s) available to a deployment structure of the virtual server session from the requirements parsed from the message, the identification of the sewer(s) includes calculating resources necessary for the requirements, and determining resources of the servers using information stored in a server data store and information associated with current and scheduled load balancing of the sewers; update the empty elements of the message with configuration information of the identified server(s); receive and parse the message having the configuration information of the identified server(s); create a virtual server session from the parsed message having the configuration information of the identified sewer(s) by performing the following; creating a subdirectory to host the virtual server session, creating a differencing drive file that defines the deployment configuration, creating a virtual machine, and attaching the differencing file to the virtual machine, creating a virtual network, and attaching the virtual machine to the virtual network, and staffing the virtual network; update the message with the virtual machine and a time that the creation of the virtual server session is completed; and notify the user that initiated the request via email that the virtual server session has been created.
Specification