Auto-discovery service and method of discovering applications within a virtual network
First Claim
1. A system comprising:
- a first host computing device comprising a first virtual machine (VM) and a first application executing on the first VM; and
a second host computing device communicatively coupled to the first host computing device to form a network, the second host computing device comprising;
a virtualization software layer;
a database;
a second VM, wherein a second application is executing within the second VM;
an auto-discovery service at least partially instantiated within the virtualization software layer and communicatively coupled to the second VM; and
a traffic interceptor module within the auto-discovery service, wherein the auto-discovery service is configured to;
register the second application with the auto-discovery service, wherein registering the second application includes receiving a message from the second application;
intercept, using the traffic interceptor module, a packet from the second application that is bound for the first host computing device;
determine whether the packet satisfies a first condition, the first condition being that the packet represents a new network connection for the second application;
receive, from the second application, one or more of a plurality of second conditions, the one or more of the plurality of second conditions being that the packet includes fields matching one or more of the following;
a source IP address, a destination IP address, and a destination port number stored in the database;
register the one or more of the plurality of second conditions with the traffic interceptor module;
determine whether the packet satisfies the one or more of the plurality of second conditions;
when the packet satisfies the first condition and the one or more of the plurality of second conditions, insert an option into the packet, wherein the option includes the message received from the second application and transmit the packet to the first host computing device to discover applications within the first host computing device;
in response to the packet transmitted to the first host computing device, receive, from the first host computing device, a second packet comprising a second message that includes an internet protocol (IP) address of the first application;
extract the second message from the second packet;
determining whether the second packet satisfies the one or more of the plurality of second conditions; and
based on the second packet satisfying the one or more of the plurality of second conditions, transmit the extracted second message to the second application.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments provide a system including a first host computing device that includes a first virtual machine (VM) and a first application. The system also includes a second host computing device including a virtualization software layer, a second VM, and an auto-discovery service at least partially instantiated within the virtualization software layer. The auto-discovery service is configured to receive a message and an auto-discovery packet from a second application executing on the second VM. The auto-discovery service inserts an option into the auto-discovery packet, and transmits the auto-discovery packet to the first application. The option in the auto-discovery packet includes the message received from the second application.
21 Citations
19 Claims
-
1. A system comprising:
-
a first host computing device comprising a first virtual machine (VM) and a first application executing on the first VM; and a second host computing device communicatively coupled to the first host computing device to form a network, the second host computing device comprising; a virtualization software layer; a database; a second VM, wherein a second application is executing within the second VM; an auto-discovery service at least partially instantiated within the virtualization software layer and communicatively coupled to the second VM; and a traffic interceptor module within the auto-discovery service, wherein the auto-discovery service is configured to; register the second application with the auto-discovery service, wherein registering the second application includes receiving a message from the second application; intercept, using the traffic interceptor module, a packet from the second application that is bound for the first host computing device; determine whether the packet satisfies a first condition, the first condition being that the packet represents a new network connection for the second application; receive, from the second application, one or more of a plurality of second conditions, the one or more of the plurality of second conditions being that the packet includes fields matching one or more of the following;
a source IP address, a destination IP address, and a destination port number stored in the database;register the one or more of the plurality of second conditions with the traffic interceptor module; determine whether the packet satisfies the one or more of the plurality of second conditions; when the packet satisfies the first condition and the one or more of the plurality of second conditions, insert an option into the packet, wherein the option includes the message received from the second application and transmit the packet to the first host computing device to discover applications within the first host computing device; in response to the packet transmitted to the first host computing device, receive, from the first host computing device, a second packet comprising a second message that includes an internet protocol (IP) address of the first application; extract the second message from the second packet; determining whether the second packet satisfies the one or more of the plurality of second conditions; and based on the second packet satisfying the one or more of the plurality of second conditions, transmit the extracted second message to the second application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of discovering network applications, the method comprising:
-
instantiate a traffic interceptor module within an auto-discovery service executing within a virtualization software layer of a first computing device; register the first application with the auto-discovery service, wherein registering the first application includes receiving, by the auto-discovery, a message from the first application executing on a first VM of the first computing device; intercepting, by the traffic interceptor module, a packet from the first application that is bound for a second computing device; determining, by the auto-discovery service, whether the packet satisfies a first condition, the first condition being that the packet represents a new network connection for the second application; receiving, by the auto-discovery service, one or more of a plurality of second conditions, the one or more of the plurality of second conditions being that the packet includes fields matching one or more of the following;
a source IP address, a destination IP address, and a destination port number stored in a database;register the one or more of the plurality of second conditions with the traffic interceptor module; determine whether the packet satisfies the first condition and the one or more of the plurality of second conditions; when the packet satisfies the first condition and the one or more of the plurality of second conditions, insert, by the auto-discovery service, an option into the packet, wherein the option includes the message received from the first application and transmitting, by the auto-discovery service, the packet to the second computing device to discover applications within the second computing device; in response to the packet transmitted to the second computing device, receiving, from the second computing device, a second packet comprising a second message that includes an internet protocol (IP) address of a second application that exists within the second computing device; extracting the second message from the second packet; determining whether the second packet satisfies the one or more of the plurality of second conditions; and based on the second packet satisfying the one or more of the plurality of second conditions, transmitting the extracted second message to the first application. - View Dependent Claims (10, 11, 18, 19)
-
-
12. A non-transitory computer-readable storage medium having computer executable instructions embodied thereon, wherein, when executed by a processor, the computer-executable instructions cause the processor to:
-
instantiate a traffic interceptor module within an auto-discovery service executing within a virtualization software layer of a first computing device; attach the traffic interceptor module to a virtual switch within the virtualization software layer; attach the traffic interceptor module to a first VM, wherein a first application is executing within the first VM; register the first application with the auto-discovery service, wherein registering the first application includes receiving a message from the first application; intercept, by the traffic interceptor module, a packet from the first application that is bound for a second computing device; receive, from the first application, one or more of a plurality of first conditions; register the one or more of the plurality of first conditions with the traffic interceptor module; determine whether the packet satisfies a second condition, the second condition being the packet represents a new network connection for the first application, and whether the packet satisfies the one or more of the plurality of first conditions being that the packet includes fields matching one or more of the following;
a source IP address, a destination IP address, and a destination port number stored in a database;when the packet satisfies the one or more of the plurality of first conditions and the second condition, insert the message into the packet and transmit the packet to the second computing device to discover applications within the second computing device; in response to the packet transmitted to the second computing device, receive, by the auto-discovery service from the second computing device, a second message within a second packet that includes internet protocol (IP) address of a second application that exists within the second computing device; extract the second message from the second packet; determine whether the second packet satisfies the one or more of the plurality of first conditions; and based on the second packet satisfying the one or more of the plurality of first conditions, transmit the extracted second message to the first application. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification