Patent ID: 8909758

Claim:
A virtual server system comprising: a plurality of physical servers; a plurality of switches; a virtual frame director including a policy module, the virtual frame director performing: direct provisioning of a plurality of virtual servers on the plurality of physical servers, each virtual server concurrently executing a different operating system; monitoring respective events generated by the plurality of switches and related to a link state between the plurality of physical servers and the plurality of switches and, in response to the events: contacting, over a network, a subnet manager to refresh a connection topology; determining from the connection topology a particular one of the plurality of switches that generated an event of the events; determining a communication port on the particular switch that generated the event based upon an identification received as part of the event; determining a remote communication port of a particular one of the plurality of physical servers from the connection topology, the determined switch, and the communication port of the switch; retrieving a record of the remote communication port stored in a virtual server database, the virtual server database storing networking configuration information of the virtual servers; determining that one of the plurality of virtual servers is provisioned on the particular physical server based upon binding information in the record of the remote communication port and information in the virtual server database; determining that the event indicates that a link between the particular physical server and the particular switch is down; responsive to determining that the event indicates that the link is down and that one of the plurality of virtual servers is provisioned on the particular physical server, sending a signal to the policy module to bypass a normal schedule and prioritize checking the particular physical server and ping the particular physical server to determine if the particular physical server is reachable on a different link between the particular physical server and a different switch of the plurality of switches; determining that another event of the events indicates that a link between the particular physical server and the particular switch of the plurality of switches is up in response to checking the particular server; waiting to receive an additional event that indicates that the different link between the particular physical server and the different switch of the plurality switches is up; and in response to receiving the another event and the additional event, refreshing, using the subnet manager, the connection topology, the connection topology indicative of the current state of the plurality of physical servers and the plurality of switches.