Discovering, defining, and implementing computer application topologies
First Claim
Patent Images
1. A method, performed by a computing device, comprising:
- providing a current application topology of a network, the current application topology specifying which computers are connected to which network and which of the computers are associated with which applications;
displaying graphical representations of the computers and the applications of the network represented by the current application topology using shapes and display names of a user interface store, the graphical representations being obtained from the user interface store storing descriptions of application shapes and display names according to a user interface schema;
receiving from a user selection of graphical representations of computers and applications to be associated with selected computers to define a desired application topology of the network;
automatically creating installation packages for the computers, based on the desired application topology of the network received from the user selection of graphical representations of the computers and applications, specifying the applications to be associated with the computers, the installation packages indicating that different applications are to be associated with different computers;
distributing the installation packages to the computers for configuration of the computers in accordance with the installation packages; and
after the computers are configured based on the distributed installation packages,discovering an actual application topology of the network, wherein the discovering of the actual application topology includes;
requesting, over a network, an identification of a domain controller of a domain of computers;
receiving the identification of the domain controller;
retrieving information of each computer of the domain on the network;
adding an indication of each computer to an application topology store; and
adding an indication of entities of each computer to the application topology store, wherein the entities comprise one or more applications; and
comparing the actual application topology of the network to the desired application topology of the network to determine whether the desired application topology of the network was implemented correctly.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for discovering, defining, and implementing an application topology through the user of a graphical user interface is provided. A topology system may analyze the topology of an enterprise and provide a graphical representation of the application topology. The topology system may discover the application topology of an enterprise by accessing various configuration data stores of the enterprise. The topology system provides a graphical representation of the application topology and allows a user to modify the topology using a graphical user interface. The topology system may then control the implementation of the application topology.
55 Citations
34 Claims
-
1. A method, performed by a computing device, comprising:
-
providing a current application topology of a network, the current application topology specifying which computers are connected to which network and which of the computers are associated with which applications; displaying graphical representations of the computers and the applications of the network represented by the current application topology using shapes and display names of a user interface store, the graphical representations being obtained from the user interface store storing descriptions of application shapes and display names according to a user interface schema; receiving from a user selection of graphical representations of computers and applications to be associated with selected computers to define a desired application topology of the network; automatically creating installation packages for the computers, based on the desired application topology of the network received from the user selection of graphical representations of the computers and applications, specifying the applications to be associated with the computers, the installation packages indicating that different applications are to be associated with different computers; distributing the installation packages to the computers for configuration of the computers in accordance with the installation packages; and after the computers are configured based on the distributed installation packages, discovering an actual application topology of the network, wherein the discovering of the actual application topology includes;
requesting, over a network, an identification of a domain controller of a domain of computers;
receiving the identification of the domain controller;
retrieving information of each computer of the domain on the network;
adding an indication of each computer to an application topology store; and
adding an indication of entities of each computer to the application topology store, wherein the entities comprise one or more applications; andcomparing the actual application topology of the network to the desired application topology of the network to determine whether the desired application topology of the network was implemented correctly. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method, performed by a computing device, the method comprising:
-
discovering a current application topology of the network by accessing various data stores of the network, wherein the discovering of the current application topology includes;
retrieving information of each computer on the network;
adding an indication of each computer to an application topology store; and
adding an indication of entities of each computer to the application topology store, wherein the entities comprise one or more applications, wherein an indication of an application is stored in the application topology store with a schema specifying properties and configuration data;displaying representations of computers and their associated applications as represented by the current application topology of the network, the displaying of the graphical representations of the computers and the applications of the network being based on the application topology described in the application topology store; receiving from a user selection of representations of computers and applications to be associated with selected computers to define a desired application topology of the network; automatically creating installation packages for the computers, based on the desired application topology of the network received from the user selection of graphical representations of the computers and applications, specifying the applications to be associated with the computers, the installation packages indicating that different applications are to be associated with different computers, wherein the creating of the installation packages comprises; for each selected computer;
adding entity information, as indicated by the desired application topology, of each entity associated with that selected computer to the installation package for that selected computer;
retrieving entity definitions for the each entity from an entity definition store;
adding properties of the each entity to the installation package for that selected computer and adding an indication of a setup file to the installation package for that selected computer; and
storing the installation package; anddistributing to each computer an installation package for that computer so that each computer will be configured in accordance with the installation package that is distributed to that computer and thus effect the implementation of the desired application topology of the network. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A computing device that controls the implementation of an application topology of a network that associates with each computer of the network the applications that are to execute on that computer, comprising:
-
a data store that stores a current application topology of the network; a memory storing computer-executable instructions of; a component that displays indications of computers and their associated applications as represented by the current application topology of the network; a component that receives selection of computers and applications to be associated with selected computers to define a desired application topology of the network; a component that creates configuration packages for the computers specifying the applications to be associated with the computers, the configuration packages indicating that different applications are to be associated with different computers, wherein the component that creates configuration packages for the computers, for each selected computer;
adds entity information, as indicated by the desired application topology, of each entity associated with that selected computer to the installation package for that selected computer;
retrieves entity definitions for the each entity from an entity definition store;
adds properties of the each entity to the installation package for that selected computer and adds an indication of a setup file to the installation package for that selected computer; and
stores the installation package; anda component that distributes to each computer a configuration package for that computer so that each computer can be configured in accordance with the configuration package that is distributed to that computer; and a component that, after the computers are configured, discovers an actual application topology of the network and compares the actual application topology of the network to the desired application topology of the network to determine whether the desired application topology of the network was implemented correctly, wherein the component that discovers the actual application topology retrieves information of computers in the network;
adds an indication of each computer to an application topology store; and
adds an indication of entities of each computer to the data store, wherein the entities comprise one or more applications; anda processor that executes the computer-executable instructions stored in the memory. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
-
33. A method performed by a computing system, the method comprising:
-
discovering a current application topology for an enterprise that indicates each computer of the enterprise along with the networks to which each computer is connected and applications installed on each computer by accessing data stores of the enterprise; presenting a graphical user interface of the current application topology that includes, for each computer, a graphical representation of that computer, an indication of the network to which that computer is connected, and indications of applications installed on that computer; creating a desired application topology by, for each of a plurality of computers, receiving from a user a selection of the graphical representations of that computer; identifying applications that are available to be installed on that computer based on that computer satisfying constraints of the applications; displaying indications of the identified applications that are available to be installed on the that computer; receiving from the user a selection of an identified application; and updating the graphical user interface to indicate that the selected identified application is to be installed on that computer; for each of the plurality of computers, creating an installation package for that computer specifying the applications that should be installed on that computer based on the desired application topology; for each of the plurality of computers, creating a virtual machine corresponding to that computer and installing applications on that virtual machine in accordance with the installation package for that computer; running tests on the virtual machines to identify unintended consequences of the desired application topology; distributing the installation packages to the computers so that each computer can install applications as needed based on its installation package; and after the computers are installed with applications in accordance with the installation packages, discovering an actual application topology of the network; and comparing the actual application topology of the network to the desired application topology of the network to determine whether the desired application topology of the network was implemented correctly.
-
-
34. A method performed by a computing system, the method comprising:
-
discovering a current application topology for an enterprise that indicates each computer of the enterprise along with the networks to which each computer is connected and applications installed on each computer by accessing data stores of the enterprise; presenting a graphical user interface of the current application topology that includes, for each computer, a graphical representation of that computer, an indication of the network to which that computer is connected, and indications of applications installed on that computer; creating a desired application topology by, for each of a plurality of computers, receiving from a user a selection of the graphical representations of that computer; identifying applications that are available to be installed on that computer based on that computer satisfying constraints of the applications; displaying indications of the identified applications that are available to be installed on the that computer; receiving from the user a selection of an identified application; and updating the graphical user interface to indicate that the selected identified application is to be installed on that computer; for each of the plurality of computers, creating an installation package for that computer specifying the applications that should be installed on that computer based on the desired application topology; distributing the installation packages to the computers so that each computer can install applications based on its installation package; and after the computers are installed with applications in accordance with the installation packages, discovering an actual application topology of the network; and comparing the actual application topology of the network to the desired application topology of the network to determine whether the desired application topology of the network was implemented correctly.
-
Specification