1. A method of topology discovery in a virtual environment, the method comprising: tracking change events in said virtual environment and responsive to a change event, rediscovering dependencies between devices in said virtual environment; maintaining a dependency mapping between said devices in said virtual environment; responsive to a fault event, building a first topology model of said virtual environment and generating a first set of said devices in said virtual environment which said first topology model is dependent on; responsive to a resolution event, wherein the resolution event resolves the fault event, building a second topology model of said virtual environment and generating a second set of said devices in said virtual environment which said second topology model is dependent on after the resolution of the fault event; generating a fault device set by combining said first set of said devices and said second set of said devices and deleting any of said devices which appears in both of said first set of said devices and said second set of said devices; and displaying, via a graphical user interface, the generated device set to determine which of said devices are more likely to be associated with future fault events.