Patent ID: 9497039
Filing Date: 2016-11-15
CPC Classification: H04L

Claim Text:
1. A method of providing a virtual layer-2 network over a layer-3 infrastructure connecting a plurality of machines including a first machine and a second machine by assigning application addresses to individual machines of the plurality of machines and location addresses to components of the layer-3 infrastructure, the method comprising: intercepting, by an agile agent associated with the first machine, a virtual layer-2 packet with an assigned application address of a destination server associated with the second machine, wherein individual machines of the plurality of machines are associated with different agile agents; determining, by the agile agent associated with the first machine, that the destination server is in a defined server group for a service, the defined server group being stored in an agile directory service; based on the destination server being in the defined server group, utilizing, by the agile agent, the agile directory service to retrieve an individual location address associated with the application address; selecting, by the agile agent, a switch of the layer-3 infrastructure through which to send the virtual layer-2 packet to the individual location address, the switch being selected from a plurality of switches of the layer-3 infrastructure to provide load balancing; encapsulating, by the agile agent, the virtual layer-2 packet in a layer-3 packet, wherein the layer-3 packet is assigned the individual location address of the switch of the layer-3 infrastructure; and transmitting the layer-3 packet to the switch, wherein the switch is configured to decapsulate the encapsulated virtual layer-2 packet and transmit the decapsulated virtual layer-2 packet to the second machine over a physical network connection, wherein, where the destination server is not in the defined server group, the agile directory service refuses to provide the individual location address.