WO2017107018A1 - 应用拓扑关系发现的方法、装置和*** - Google Patents
应用拓扑关系发现的方法、装置和*** Download PDFInfo
- Publication number
- WO2017107018A1 WO2017107018A1 PCT/CN2015/098125 CN2015098125W WO2017107018A1 WO 2017107018 A1 WO2017107018 A1 WO 2017107018A1 CN 2015098125 W CN2015098125 W CN 2015098125W WO 2017107018 A1 WO2017107018 A1 WO 2017107018A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- api call
- call information
- virtual machine
- api
- virtual
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000003993 interaction Effects 0.000 claims abstract description 108
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 77
- 239000003795 chemical substances by application Substances 0.000 description 51
- 238000010586 diagram Methods 0.000 description 26
- 238000003860 storage Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to the field of IT technologies, and in particular, to a method, an apparatus, and a system for applying a topology relationship discovery.
- network management mainly includes five functional domains: fault management, configuration management, performance management, security management, and billing management.
- Configuration management is the foundation in the five functional domains. Its main functions include discovering the topology of the network, and monitoring and managing the configuration of network devices. All other functions are based on the topology of the network.
- the network topology discovery is aimed at the end-to-end connection relationship in the network. The main purpose is to acquire and maintain the existence information of the network nodes and the connection relationship information between them, and draw the entire network topology diagram based on this.
- an applied topology in an IT system is a network communication relationship between virtual machines, and network communication between virtual machines is generated based on an application running by a virtual machine.
- the application topology is the deployment relationship between the components of the application (such as programs, services, components, virtual machines running the application, etc.) on the hosts (such as servers) of the IT system and the components of the deployed applications. Interactions (such as service requests and responses).
- the discovery of existing application topologies is the active detection discovery. Active probing is to study the structure of the application and the behavior of the application user by sending relevant probe packets to the network target, observing and recording the returned results. Due to the need to send a large amount of data to the network, the load on the network is increased, and the accuracy of topology discovery is not high. There is a lack of prior art methods for application topology discovery that does not employ probe packets in a virtualized environment.
- the present application describes a method, an apparatus, and a system for applying topological relationship discovery, and provides an application topology discovery solution for a virtualized environment, which reduces the complexity of establishing an application topology relationship between virtual machines.
- the present application provides a method for applying topology relationship discovery, and collects at least two sets of API call information, where each group of API call information corresponds to one API call, and each set of API call information includes an identifier of a virtual machine corresponding to the API call.
- the calling information and the second API call information satisfying the first condition include: the flow of the message in the first API call information flows in the opposite direction to the flow in the second API call information, and The API tune in the first API call information
- the difference between the occurrence time of the use and the occurrence time of the API call in the second API call information is less than or equal to a preset threshold; satisfying the first condition above means the first API call information and the second API
- a second condition if the frequency of the interaction between the first virtual machine and the second virtual machine meets the second condition, determining that an application topology relationship exists between the first virtual machine and the second virtual machine.
- the method for applying the topology relationship discovery in the present application collects the API call information in the message transmission process, and determines whether the two virtual machines corresponding to the two sets of API call information exist by matching whether the two sets of API call information meet the first condition.
- the topology discovery server can determine the interaction frequency between the virtual machines involved in the collected API call information, and determine the application topology relationship between the virtual machines according to the interaction frequency between the virtual machines.
- the above solution provides a method for discovering the application topology relationship between virtual machines in a virtualization scenario.
- the application topology information between virtual machines is determined by analyzing the API call information generated during the packet transmission process, and the solution complexity is low.
- each group of API call information further includes a communication protocol; correspondingly, the first API call information and the second API call information satisfying the first condition further includes: the communication in the first API call information
- the protocol is the same as the communication protocol in the second API call information.
- the two virtual machines corresponding to the two sets of API call information may have an application topology relationship; when the communication protocols in the two sets of API call information are different, even if the message is satisfied
- the requirement of the difference between the flow direction and the occurrence time of the API call cannot be considered as interaction between the two virtual machines corresponding to the two sets of API call information.
- the determining whether the frequency of interaction between the first virtual machine and the second virtual machine meets the second condition comprises: analyzing at least two sets of API calls of the first virtual machine Information and at least two sets of API call information of the second virtual machine, determining an interaction frequency between the first virtual machine and the second virtual machine, comparing the interaction frequency and a preset frequency, when the interaction frequency More than the preset frequency, determining that the interaction frequency satisfies the second condition.
- the preset frequency as a criterion for determining whether the application topology relationship exists between the virtual machines, those skilled in the art can adjust the preset frequency to control the strictness of the application topology relationship determination.
- the preset frequency can also be set as needed. This embodiment of the present invention does not limit this.
- the method before comparing the interaction frequency and the preset frequency, further includes: determining whether the first virtual machine and the second virtual machine belong to the same network segment, when the first When the virtual machine and the second virtual machine belong to the same network segment, the interaction frequency or one of the preset frequencies is modified according to a preset weighting coefficient;
- the comparing the interaction frequency and the preset frequency comprises: comparing the corrected interaction frequency with the preset frequency; or comparing the interaction frequency with the corrected preset frequency.
- the topology discovery server can determine whether the first virtual machine and the second virtual machine belong to the same network segment by using at least the following two methods:
- the method may be as follows: determining whether the IP address of the first virtual machine and the IP address of the second virtual machine belong to the same network segment;
- the second method is to determine whether the VXLAN (Virtual Extensible Local Area Network) identifier of the first virtual machine is the same as the VXLAN identifier of the second virtual machine, and if the same, the first virtual machine is The second virtual machine belongs to the same network segment.
- VXLAN Virtual Extensible Local Area Network
- the probability of applying the topology relationship between the virtual machines on the same network segment is larger than that of the virtual machines on different network segments. Therefore, in the embodiment of the present invention, the frequency of interaction between virtual machines on the same network segment is weighted or the preset frequency is decreased. To increase the accuracy of the application topology relationship discovery.
- the API call information may be saved in a log file on the deployment host of the first virtual machine and the second virtual machine,
- the topology discovery server reads the API call information from the log file.
- a proxy module is installed on each host, and the topology discovery server receives the API call information reported by the proxy module of the host.
- the API call information is written to the log file, and the following methods may be used:
- the virtual machine invokes the API to send a message to the VMM where the virtual machine is located, the virtual machine, the virtual switch in the VMM, or the VMM writes the API call information to the log on the deployment host of the virtual machine.
- the proxy module on the deployment host of the virtual machine monitors the transmission process of the packet on the host, and writes the API call information corresponding to the API call in the transmission process to the log file on the deployment host of the virtual machine;
- the proxy module on the deployment host of the virtual machine receives the API call information corresponding to the API call in the message transmission process of the virtual machine, the virtual switch, or the VMM, and writes the received API call information to the In the log file on the deployment host of the virtual machine; or,
- any one of the virtual machine, the virtual switch in the VMM, or the VMM may write the API call information to the deployment host of the virtual machine. In the log file.
- any one of the virtual machine, the virtual switch, or the VMM on the host may report the API call information to the proxy module by calling a topology reporting API function.
- a proxy module is installed on each host to collect API call information on the host, and the proxy module can monitor the virtual machine, the virtual switch, and the VMM on the host to obtain API call information. And the obtained API call information is written to the log file; or, after the proxy module obtains the API call information, it is reported to the topology discovery server.
- the API call includes an input API function call and an output API function call.
- the VMM in which the virtual machine is located calls the output API function to send a message to the virtual machine; the virtual machine invokes the input API function to send a message to the VMM where the virtual machine is located.
- the API call information may further include a source virtual machine identifier and a destination virtual machine identifier. At this time, according to a set of API call information, it may be known that the source virtual machine and the destination virtual machine have one interaction.
- the topology discovery server determines an application topology relationship between the virtual machines in the virtual machine cluster, and generates an application topology view of the virtual machine cluster.
- the topology discovery server is an independent physical server; or the topology discovery server is combined with other physical servers in the system in the form of functional modules.
- a virtual machine that specifically applies a topology relationship may run on the same host or on a different host.
- the two hosts transmit the message over an external physical network.
- the specific transmission method may adopt various existing network transmission protocols and transmission settings, and the network structure corresponding to the transmission in this application is not limited.
- the embodiment of the present invention provides another method for applying the topology relationship discovery, which is different from the foregoing method for applying the topology relationship discovery.
- the identifier of the virtual machine in each group of API information recorded in this embodiment includes The identifier of the source virtual machine at the sending end of the packet also includes the identifier of the destination virtual machine at the receiving end of the packet.
- the API call information is obtained, where the API call information includes an identifier of the source virtual machine and an identifier of the destination virtual machine, where the API call information corresponds to one API call; and it is determined that the source virtual machine and the destination virtual machine exist once.
- the interaction is performed; the collected API call information is analyzed, and according to the frequency of interaction between the first virtual machine and the second virtual machine, an application topology relationship exists between the first virtual machine and the second virtual machine.
- an embodiment of the present invention provides a topology discovery server, where the topology discovery server specifically implements the functions in the foregoing method.
- the functions may be implemented by hardware or by corresponding software implemented by hardware.
- the hardware or software includes one or more modules corresponding to the functions described above.
- the topology discovery server includes a processor and a memory configured to support the topology discovery server to perform the corresponding functions in the above methods.
- the topology discovery server can also include a memory for coupling with the processor that holds program instructions and data necessary for the topology discovery server to perform the functions described above.
- the embodiment of the present invention provides a system for applying topology discovery, including a topology discovery server and at least one host, where the at least one host runs multiple virtual machines, and the topology discovery server obtains a packet transmission process.
- the API call information generated by the API is used to determine whether there is an application topology relationship between the two virtual machines.
- the topology discovery server, the virtual machine, the proxy module, and the like perform the functions in the method for applying the topology relationship discovery in the first aspect.
- the functions may be implemented by hardware or by corresponding software implemented by hardware.
- the hardware or software includes one or more modules corresponding to the functions described above.
- the system for performing the method for applying the topology relationship discovery may further include a database, configured to store the application topology relationship and apply the topology view.
- the system may further include a management node, and the management root node manages the virtual machine according to an application topology relationship between the virtual machines, thereby providing management efficiency.
- the host includes a processor and a memory configured to support the host in performing the corresponding functions in the system described above.
- the host can also include a memory for coupling with the processor that holds program instructions and data necessary for the processor to perform the functions described above.
- an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by the topology discovery server, which includes a program designed to perform the above aspects.
- an embodiment of the present invention provides a computer storage medium for storing computer software instructions for use by the host, including a program designed to perform the above aspects.
- the method, device and system for applying topological relationship discovery collect API call information during message transmission, and determine two virtual machines corresponding to two sets of API call information by matching whether two sets of API call information meet the first condition.
- the topology discovery server can determine the interaction frequency between the virtual machines involved in the collected API call information, and determine the application topology relationship between the virtual machines according to the interaction frequency between the virtual machines.
- the above solution provides a method for discovering the application topology relationship between virtual machines in a virtualization scenario.
- the application topology information between virtual machines is determined by analyzing the API call information generated during the packet transmission process, and the solution complexity is low.
- FIG. 1A is a schematic structural diagram of a possible virtualization system according to an embodiment of the present invention.
- FIG. 1B is a schematic structural diagram of still another virtualization system according to an embodiment of the present disclosure.
- FIG. 1C is a schematic structural diagram of still another virtualization system according to an embodiment of the present invention.
- FIG. 2 is a schematic diagram of a computer device according to an embodiment of the present invention.
- 3A is a schematic diagram of a virtualization structure on a host according to an embodiment of the present invention.
- FIG. 3B is a schematic diagram of a virtualization structure on a host in a NIC passthrough scenario according to an embodiment of the present disclosure
- FIG. 3C is a schematic diagram of a virtualization structure on a host in another NIC passthrough scenario according to an embodiment of the present disclosure
- FIG. 4 is a schematic diagram of an acquisition proxy obtaining API call information by means of active discovery according to an embodiment of the present invention
- FIG. 5 is a schematic diagram of an acquisition proxy obtaining API call information by means of passive discovery according to an embodiment of the present invention
- FIG. 6 is a schematic flowchart of acquiring API call information by an acquisition agent when communicating between two virtual machines on the same host according to an embodiment of the present invention
- FIG. 7 is a schematic flowchart of acquiring API call information by an acquisition agent when communicating between two virtual machines on different hosts according to an embodiment of the present disclosure
- FIG. 8 is a schematic structural diagram of an application topology relationship discovery system according to an embodiment of the present disclosure.
- FIG. 9 is a schematic structural diagram of a topology discovery server according to an embodiment of the present invention.
- the network architecture and the service scenario described in the embodiments of the present invention are used to more clearly illustrate the technical solutions of the embodiments of the present invention, and do not constitute a limitation of the technical solutions provided by the embodiments of the present invention.
- the technical solutions provided by the embodiments of the present invention are equally applicable to similar technical problems.
- the method for discovering application topology relationships between virtual machines in a virtualized environment is provided, and the method and device for discovering application topology relationships between virtual machines in a virtualized environment are provided.
- the system can accurately identify the application topology relationship among VMs in a VM cluster.
- the embodiment of the present invention provides a topology discovery server, which is used to collect call information of an API (Application Programming Interface) when communicating between virtual machines on each host.
- the topology discovery server analyzes the API call information collected from each host to generate an application topology relationship between the virtual machines.
- FIG. 1A a schematic diagram of a virtualization system architecture is provided.
- the topology discovery server is connected to each host to collect API call information on each host, and the topology discovery server can also connect the virtual machine.
- the application topology relationship is stored in the database.
- the management node needs to perform the management operation according to the application topology relationship between the virtual machines, the management node acquires the application topology relationship between the virtual machines.
- the functions of the various components shown in FIG. 1A are as follows:
- Each host is a physical server running on a number of virtual machines.
- the Collect Agent is deployed on the host to collect API call information generated when each virtual machine, virtual machine switch, or virtual machine monitor (VMM) on the host delivers packets.
- the collection agent sends the collected API call information to the topology discovery server (Topology Discovery Server), and the topology discovery server analyzes the collected API information, and finally obtains the application topology relationship between the virtual machines.
- the collection agent can monitor the virtual machine, the virtual switch, or the VMM (Virtual Machine Monitor) on the host.
- the API call information is recorded; or, by the virtual machine or the virtual machine.
- the switch or VMM sends or receives a packet, it reports the API call information to the collection agent.
- the collected API call information may be sent to the topology discovery server periodically or at other suitable times (eg, when the host or the network is idle).
- the collection agent may actively push the API call information to the topology discovery server, or passively receive the request of the topology discovery server and then push the API call information to the topology discovery server; or the collection agent stores the API call information.
- the storage space shared with the topology discovery server is read autonomously by the topology discovery server.
- the embodiment of the present invention does not limit the specific manner of API call information transmission between the collection agent and the topology discovery server, as long as the topology discovery server can obtain the API call information on each host.
- the foregoing collection agent is optional.
- the virtual machine, the virtual switch, or the VMM may report the API call information to the topology discovery server in a manner similar to the collection agent.
- the topology discovery server collects API call information from each host connected to it, analyzes the collected API call information, and obtains the application topology relationship between the virtual machines and stores them in the database. Further, the topology discovery server may generate an application topology view according to the applied topology relationship between the obtained virtual machines.
- Each group of API call information includes: the virtual machine ID, the time when the API call occurs, and the flow of the packet.
- the virtual machine identifier is the identifier of the virtual machine that receives or sends the packet.
- the time of the API call is the time when the API call is executed.
- the packet flow direction includes input or output.
- the input means that the packet is sent by the virtual machine to the VMM.
- the output means that the message is output to the virtual machine by the VMM.
- the time of the API call can also be the time of logging, the duration of the entire call, or the time when the call was detected.
- Each set of API call information may further include a communication protocol, which is a communication protocol used by the virtual machine to communicate, and the communication protocol may be a HyperText Transfer Protocol (HTTP) or a User Datagram protocol (User Datagram). Protocol, UDP protocol, Transmission Control Protocol/Internet Protocol (TCP/IP), etc.; the virtual machine identifier can be the IP address of the virtual machine.
- the API call information is (VM1, t1, P1, In), indicating that VM1 invokes the input function to transfer the message to the virtual switch VSwitch or VMM by using the protocol P1 at time t1; the API call information is (VM2, t2, P2). , Out), indicating that the virtual switch or VMM invokes the output function to send a message to VM2 at protocol t2 at time t2.
- the packet transmission does not pass through the virtual switch, but is transmitted to the physical network card through the VMM.
- the topology discovery server analyzes the API call information collected from each host, identifies the frequency of interaction between the virtual machines, and determines the application topology relationship between the virtual machines.
- the API for the API call information is an input API function and an output API function.
- the source virtual machine sends a packet to the destination virtual machine.
- the same protocol is used, and the source virtual machine invokes the API to send the packet with the time Ts and the destination virtual.
- the time Te of the API call of the machine receiving the message is within an acceptable custom preset threshold, and the source virtual machine and the destination virtual machine are considered to have one interaction. Further, if the frequency of interaction between the two virtual machines is greater than the preset frequency within a certain period of time, it is determined that there is an application topology relationship between the two virtual machines.
- API call information collected by the topology discovery server is as follows:
- VMn Timen, protocol, In
- VMn' Timen', protocol, Out
- the topology discovery server analyzes the foregoing API call information, and determines first API call information and second API call information that meet the first condition, where the first API call information and the second API call information satisfy the first condition
- the method includes: the flow of the message in the first API call information flows in the opposite direction to the flow in the second API call information, and the occurrence time of the API call in the first API call information is The difference between the occurrence time of the API call in the second API call information is less than or equal to a preset threshold; and satisfying the foregoing first condition means that two of the first API call information and the second API call information
- the virtual machine has an interaction, and determining whether the frequency of interaction between the first virtual machine indicated by the first API call information and the second virtual machine indicated by the second API call information satisfies the second condition; The frequency of the interaction between the first virtual machine and the second virtual machine meets the second condition, and the application topological relationship exists between the first virtual machine and the second virtual machine.
- the above analysis process gives a method for the topology discovery server to determine the application topology relationship between the virtual machines according to the API call information. Specifically, when considering the communication protocol, the analysis process can be summarized into the following three judgment processes:
- Judgment 1 The flow of messages in the two sets of API call information is input and output respectively;
- Judgment 3 The difference between the occurrence times of the API calls in the two sets of API call information is less than or equal to a preset threshold (that is, the second condition described above).
- VM1 and VM1' have an interaction.
- the embodiment of the present invention does not limit the topology discovery server to perform the above three determination processes at the same time, and the topology discovery server may perform the foregoing three determination processes in different orders according to requirements.
- the topology discovery server may first filter the API call information according to the occurrence time of the API call, select the API call information that meets the judgment 3, and further The API call information of the judgment one is filtered out, and the frequency of interaction between the virtual machines in which the interaction relationship is finally selected in the API call information is determined, thereby The application topology relationship between virtual machines.
- the API call information may not include the communication protocol, and accordingly, The topology discovery server also does not need to determine whether the communication protocols in the two sets of API call information are the same. At this time, the efficiency of applying the topology relationship discovery is improved, and the accuracy may be lowered.
- the threshold value in the third determination may be set according to the requirements.
- the actual network load situation may be considered, which is not limited by the embodiment of the present invention.
- the topology discovery server traverses the collected API call information to obtain the interaction frequency between any two virtual machines. When the interaction frequency is greater than the preset frequency, the application topology relationship is considered between the two virtual machines.
- the topology discovery server stores the application topology relationship between the virtual machines in the database. It should be noted that the topology discovery server can traverse the API call information of the API call occurring in a certain period of time, and the number of interactions between the obtained virtual machines is used as the interaction frequency, and the duration of the time period can be set according to requirements.
- the preset frequency can also be set according to needs. This embodiment of the present invention does not limit this.
- the virtual machine identifier in the API call information may include both the source virtual machine identifier and the destination virtual machine identifier.
- a set of API call information records may be determined. There is an interaction between the source virtual machine and the destination virtual machine.
- the present application in order to ensure the calculation efficiency, whether the API call information includes the identifier of the communication party or only the identifier of the communication party, the present application can determine whether there is interaction between the virtual machines according to the above analysis method, that is, the flow of the message is input.
- API call information using only the API of the source virtual machine in the API call information
- the three judgment processes are used to determine whether there is interaction between the virtual machines, and the format of the two API call information is not separately calculated, which can effectively improve the efficiency of the analysis.
- Management node A functional entity that needs to obtain the network topology of a virtual machine for VMware Vcenter, FusionManager, and so on.
- the management node reads the application topology relationship from the topology discovery server or the above database.
- the topology discovery server can be a separate physical server, or the topology discovery server can be combined as a functional module with other physical servers such as management nodes.
- FIG. 1B is a schematic diagram of another virtualization system architecture provided by an embodiment of the present invention. The difference from FIG. 1A is that the host does not include a collection proxy, but the VM, the virtual machine switch, or the VMM invokes the API. Stored in a log file or sent directly to the topology discovery server.
- FIG. 1C is a schematic diagram of another virtualization system architecture provided by an embodiment of the present invention.
- the topology discovery server and the management node are combined, and the function of the foregoing topology discovery server is implemented by a topology discovery module in the management node. .
- the virtualization architecture shown in FIG. 1B and FIG. 1C is an improvement on the basis of FIG. 1A.
- the functions of the components in the virtualization architecture are similar to those of FIG. 1A, and the API call information can also be implemented according to the adaptability of the architecture change.
- the functions of the components in FIG. 1B and FIG. 1C will not be described again in the embodiments of the present invention.
- the application of topology relationships has a wide range of uses. For example, virtual machines belonging to the same application topology cluster should be placed in the network covered by the same switch or in a similar network to save interaction time. If you need to upgrade the virtual machine clusters in the system in batches, The virtual machines of the same application topology cluster should be upgraded in the same batch as possible; the virtual machine clusters with application topology should be placed on the same server or the nearest server; the virtual machine cluster with application topology relationship and the corresponding backup The cluster should be on different servers; when migrating, you should try to migrate the virtual machines corresponding to the entire application topology cluster. When the management node performing the above functions needs to use the application topology of the virtual machine, it can be obtained from the topology discovery server.
- the collection agent and the topology discovery server may be implemented by hardware/software.
- FIG. 2 it is a schematic diagram of a computer device provided by an embodiment of the present invention.
- the computer device 200 includes at least one processor 201, a communication bus 202, a memory 203, and at least one communication interface 204.
- the processor 201 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention.
- CPU central processing unit
- ASIC application-specific integrated circuit
- Communication bus 202 can include a path for communicating information between the components described above.
- the communication interface 304 using any A device such as a transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), and the like.
- a device such as a transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), and the like.
- RAN Radio Access Network
- WLAN Wireless Local Area Networks
- the memory 203 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions.
- the dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this.
- the memory can exist independently and be connected to the processor via a bus.
- the memory can also be integrated with the processor.
- the memory 203 is used to store application code for executing the solution of the present invention, and is controlled by the processor 201 for execution.
- the processor 201 is configured to execute application code stored in the memory 203.
- processor 201 may include one or more CPUs, such as CPU0 and CPU1 in FIG.
- computer device 200 can include multiple processors, such as processor 201 and processor 208 in FIG. Each of these processors can be a single-CPU processor or a multi-core processor.
- a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data, such as computer program instructions.
- computer device 200 may also include an output device 205 and an input device 206.
- Output device 205 is in communication with processor 201 and can display information in a variety of ways.
- the output device 205 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector.
- Input device 206 is in communication with processor 201 and can accept user input in a variety of ways.
- input device 206 can be a mouse, keyboard, touch screen device or sensing device, and the like.
- the computer device 200 described above can be a general purpose computer device or a special purpose computer device.
- the computer device 200 can be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet, a wireless terminal device, a communication device, an embedded device, or have FIG. A device of similar structure.
- Embodiments of the invention do not limit the type of computer device 200.
- the collection agent, host and topology discovery server in Figures 1A, 1B and 1C can be the device shown in Figure 2, storing One or more software modules are stored in the device for implementing functions of the collection agent, host, and topology discovery server (for example, API call information analysis function in the topology discovery server, etc.).
- the collection agent, host, and topology discovery server can implement the method of application topology discovery between virtual machines through the processor and the program code in the memory.
- the computer device shown in FIG. 2 only gives possible hardware implementation manners of various parts in the application topology discovery system, and may add or delete hardware components of the computer device according to different functions or changes of various parts of the system. To match the functionality of the various parts of the system.
- FIG. 3A is a schematic diagram of a virtualization structure on a host provided by an embodiment of the present invention.
- the host is a physical server.
- the bottom layer of the physical server is the hardware layer.
- the hardware layer mainly includes hardware resources such as a central processing unit (CPU), memory, hard disk, and network card.
- Server virtualization is a virtualized operating environment for multiple virtual machines (VMs) on a physical server with virtualization software such as VMWare ESX and Citrix XEN.
- the software layer that is installed on the server to implement the virtualized environment is called VMM.
- the VMM running on top of the hardware layer assumes the scheduling, allocation, and management of hardware resources in the hardware layer. Multiple virtual machine VMs are run on the VMM.
- the VMM provides virtualized CPU, memory, storage, IO devices (such as network cards) and Ethernet switches for each virtual machine to ensure that multiple virtual machines run in isolation.
- the VMM creates a virtual network interface card (vNIC) for each virtual machine.
- the virtual switch VSwitch provides communication between virtual machines and between virtual machines and external networks.
- the virtual NIC of each virtual machine corresponds to a logical port of the VSwitch.
- the physical NIC of the host corresponds to the port that the VSwitch connects to the external physical switch.
- the process of receiving the virtual machine packet is as follows: The VSwitch receives the Ethernet packet from the physical NIC, and then the virtual machine media access control (MAC) address and the VSwitch logical port mapping table (that is, the static MAC table). To forward the message.
- MAC virtual machine media access control
- VPON packet sending process When the MAC address of the packet is on the external network, the VSwitch sends the packet directly from the physical NIC to the external network. When the destination MAC address of the packet is connected to the VM on the same VSwitch, the VSwitch is used. The packet is forwarded through a static MAC table.
- FIG. 3B a schematic diagram of a virtualization structure on a host in a NIC pass-through scenario is provided.
- the physical NIC does not perform a virtual machine, and each egress port of the physical NIC is assigned to a virtual machine.
- FIG. 3C is a schematic diagram of a virtualization structure on a host in another NIC passthrough scenario according to an embodiment of the present invention.
- the difference between FIG. 3B and the physical NIC is virtualized by the virtual machine as multiple virtual function devices.
- Virtual Function (VF) the above NIC virtualization technology can be Single-Root I/O Virtualization (SR-IOV) and multiple roots.
- IO Virtualization Multi-Root I/O Virtualization, MR-IOV).
- Each virtual function device can share physical resources (such as a network card port) of the physical network card, and each virtual function device can also be associated with the virtual machine system on the host.
- the method for discovering the application topology relationship is also applicable to the scenario shown in FIG. 3B and FIG. 3C.
- the virtual machine can directly invoke the outgoing interface of the physical network card to deliver the packet, thereby bypassing the virtual in the VMM. switch.
- the proxy module can obtain API call information from the virtual machine or VMM.
- the virtual machine or the VMM may record the API call information into the log file or directly to the collection agent;
- the collection agent monitors the transmission of packets between the virtual machine, the VMM, and the physical network card, and records the API call information into the log file.
- the collection agent can use active discovery or passive discovery of two acquisition API call information.
- FIG. 4 it is a schematic diagram of an acquisition proxy that obtains API call information in the form of active discovery according to an embodiment of the present invention.
- FIG. 5 a schematic diagram of obtaining, by a collection agent, API call information by means of passive discovery according to an embodiment of the present invention.
- the active discovery means that when the virtual machine calls the input API function (Port_Input API), the virtual machine, the virtual switch or the VMM writes the API call information to the log log file, or when the virtual switch calls the output API function (Port_Output API).
- the virtual machine, the virtual switch, or the VMM writes the API call information to the log file.
- the collection agent can obtain the API call information by scanning the log file.
- the passive discovery means that the topology information of the API information reported to the collection agent is newly reported.
- API function Topic_Info_API
- the virtual machine calls the input API function (Port_Input API) to transmit the message through the VMM
- the virtual machine, virtual switch or VMM calls the topology information report API function, and sends the API call information of the call to the collection agent.
- the virtual switch invokes the output API function (Port_Output API)
- the virtual machine, the virtual switch, or the VMM invokes the topology information reporting API function, and sends the API call information of the current call to the collection agent.
- API functions can be found through the API function tool list.
- the "Windows API Function Reference Manual” published by People's Posts and Telecommunications Press is a reference manual for Microsoft Win32 API functions.
- Other versions and other types of operating systems can also be related. Find the corresponding input API function and output API function in the tool book.
- API call information in the log file is only an example, and the API call information can be stored in other files or other locations, and the collection agent can acquire it.
- the topology discovery server collects API call information from each host, and each set of API call information corresponds to one API call.
- the API call specifically includes an input API function call and an output API function call, wherein the report
- the source virtual machine of the text sending end calls the input API function to deliver the message to the VMM.
- the VMM transmits the packet to the VMM of the receiving end of the packet through the network, and the VMM of the receiving end of the packet calls the output API function to send the packet to the destination virtual machine.
- the host at the sending end of the message and the host at the receiving end of the message record a set of API call information, and each set of API call information includes the identifier of the virtual machine corresponding to the API call, the time when the API call occurs, and the API call.
- the flow of the message may also include a communication protocol.
- the topology discovery server analyzes the collected API call information, when the difference between the occurrence times of the API calls in the two sets of API call information is less than a preset threshold, and the flow of the packets in the two sets of API call information is opposite to each other (a If there is an input, the other one is the output), there is an interaction relationship between the two virtual machines corresponding to the two virtual machine identifiers in the two sets of API call information, thereby determining the frequency of interaction between the two virtual machines.
- the interaction frequency between the first virtual machine and the second virtual machine meets the second condition, and the application topological relationship exists between the first virtual machine and the second virtual machine.
- determining an interaction frequency between the first virtual machine and the second virtual machine comparing the interaction frequency and a preset frequency, and when the interaction frequency is greater than a preset frequency, determining that the interaction frequency meets the Second condition.
- the two virtual machines corresponding to the two virtual machine identifiers in the two sets of API call information are different.
- the above solution provides a method for discovering the application topology relationship between virtual machines in a virtualization scenario.
- the application topology information between virtual machines is determined by analyzing the API call information generated during the packet transmission process, and the solution complexity is low.
- FIG. 6 is a schematic diagram of a process of acquiring an API call information by a collection agent when communicating between two virtual machines on the same host according to the embodiment of the present invention.
- the collection agent runs in the host as a function module of the host.
- the host runs VM1 and VM2 (in the embodiment of the present invention, two VMs are taken as an example), the virtual network card of VM1 is vNIC1, and the virtual network card of VM2 is vNIC2.
- the port on the virtual switch corresponding to vNIC1 is Port1, and the port on the VM switch corresponding to vNIC2 is Port2.
- the virtual network card is allocated to the virtual machine, and the corresponding relationship between the virtual network card and the virtual switch port is not mentioned in detail in the embodiment of the present invention.
- the method shown in Figure 6 includes:
- Step 601 When VM1 needs to send a message to VM2, VM1 invokes the input API function (Port_Input API) of the VMM, and sends the message to Port1 of the virtual switch through vNIC1;
- VM1 invokes the input API function (Port_Input API) of the VMM, and sends the message to Port1 of the virtual switch through vNIC1;
- Step 602 The virtual switch determines the destination MAC address of the packet to determine the port of the virtual switch corresponding to VM2 as Port2 by searching the static MAC address table.
- the virtual switch broadcasts the message of VM1, and sends the message of VM1 to all VMs under the virtual machine switch by means of broadcast.
- VM2 can receive the message of VM1 and return a response.
- Step 603 The virtual switch invokes an output API function (Port_Output API), and sends the packet to the virtual network card vNIC2 of the VM2 through the port 2, and the VM2 receives the packet sent by the VM1.
- an output API function (Port_Output API)
- step 601 in view of the VM1 calling the input API function, an API call occurs, so the API call information needs to be recorded, and VM1 can record the API call information in two ways:
- Method 1 The interface between the VM1 and the collection agent is reported, and the API call information is reported. Specifically, the VM1 invokes the topology report API function (Topo_Info API) of the collection agent, and sends the API call information to the collection agent. It should be noted that the embodiment of the present invention does not limit the timing at which the VM1 sends the API call information to the collection proxy. Alternatively, the VM1 may send the API call information when the network is under load.
- Topo_Info API topology report API function
- VM1 writes the API call information to a log file, which is read by the collection agent. It should be noted that, in the embodiment of the present invention, the timing for obtaining the API call information from the log file by the collection agent is not limited. Alternatively, the collection agent may periodically read from the log file or the VM1 is in the API call information. Notify the collection agent to read after writing the log file.
- the virtual machine switch or the VMM may also record the API call information. Specifically, when the virtual switch or the VMM receives the message sent by the VM1, the API call information is written to The log file is either sent to the collection agent.
- the API call information includes a virtual machine identifier, an occurrence time of an API call, a communication protocol, and a packet flow direction.
- the virtual machine identifier in the API call information may include the source virtual machine identifier and the destination virtual machine identifier.
- the source virtual machine and the destination virtual machine may be directly identified according to only one API call information.
- An interaction It should be noted that when the VM1 knows the address of the communication peer VM2, the source virtual machine identifier and the destination virtual machine identifier may be included in the recorded API call information.
- the above communication protocol may be an HTTP protocol, a TCP/IP protocol, a UDP protocol, or the like.
- step 603 since the virtual switch invokes the output API function (Port_Output API), an API call occurs, and therefore, the API call information needs to be recorded. Similar to VM1, a virtual switch can also record API call information in two ways:
- Manner 1 The virtual switch invokes an interface between the virtual agent and the collection agent, and reports the API call information. Specifically, the virtual switch invokes the topology report API function (Topo_Info API) of the collection agent, and sends the API call information to the collection agent. It should be noted that the embodiment of the present invention does not limit the timing at which the virtual switch sends the API call information to the collection agent.
- the implementation of the topology reporting API function may use a HOOK function or modify the code as long as the API call information can be provided.
- Manner 2 The virtual switch writes the API call information to a log file, and is read by the collection agent. It should be noted that the timing of obtaining the API call information from the log file by the collection agent is not limited in the embodiment of the present invention.
- the API call information may be recorded by the virtual machine (VM2) or the VMM, which is not described in the embodiment of the present invention.
- FIG. 6 shows a process in which the acquisition agent acquires API call information when two virtual machines on the same host communicate.
- FIG. 7 a schematic diagram of a process of acquiring API call information by a collection agent when communicating between two virtual machines on different hosts according to an embodiment of the present invention is shown in FIG. 7 .
- the two hosts can adopt the virtualization structure shown in Figure 3A, and the hosts are connected by physical switches.
- VM1 and virtual switch 1 are running on the host 1
- VM2 and virtual switch 2 are running on the host 2.
- the virtual network card of VM1 is vNIC1
- the virtual network card of VM2 is vNIC2.
- the port on virtual switch 1 is Port1
- the port on VM switch 2 corresponding to vNIC2 is Port2.
- the virtual network card is allocated to the virtual machine, and the corresponding relationship between the virtual network card and the virtual switch port is not mentioned in detail in the embodiment of the present invention.
- the method shown in Figure 7 includes:
- Step 701 When VM1 needs to send a message to VM2, VM1 invokes the input API function (Port_Input API) of VMM, and sends the message to Port1 of virtual switch 1 through vNIC1;
- VM1 invokes the input API function (Port_Input API) of VMM, and sends the message to Port1 of virtual switch 1 through vNIC1;
- Step 702 The virtual switch 1 receives the packet on the port 1 and determines the destination MAC address of the packet.
- the virtual switch 1 sends the packet to the external network through the physical network card of the host 1;
- Step 703 The packet is routed to the physical network card of the host where the VM2 is located according to the existing packet forwarding rule.
- Step 704 The host 2 receives the packet by using its own physical network card.
- Step 705 The virtual switch 2 determines that the port corresponding to the VM2 is Port2, and the virtual switch 2 sends the packet to the virtual network card vNIC2 of the VM2 through the port Port2.
- VM2 receives the message sent by VM1.
- the packet may be encapsulated and decapsulated according to the existing rules, which is not repeatedly described in the embodiment of the present invention.
- VM1 records the API call information in a manner similar to that defined in step 601.
- the collection agent of host 1 acquires API call information.
- step 705 the virtual switch 2 records the API call information in the manner defined in step 603.
- the collection agent of host 2 obtains API call information.
- the embodiment of the present invention may adopt a distributed virtual machine switch.
- the distributed virtual switch may span multiple hosts, so that the virtual machines on multiple hosts are connected to the same virtual machine switch.
- the virtual machine may be in the above manner. Multiple hosts can be migrated, or multiple distributed virtual switches can exist on a single host.
- distribution In the case of a virtual switch, the manner in which the collection agent obtains the API call information is similar to the foregoing, and is not described herein again.
- the virtual machine or the virtual switch can directly report the API call information to the topology discovery server in the manner defined in FIG. 6 and FIG. 7 .
- the method for applying the topology relationship discovery in the present application records the API call information in the message transmission process, and determines whether the two virtual machines corresponding to the two sets of API call information are determined by matching whether the two sets of API call information meet the first condition.
- the topology discovery server may further determine the interaction frequency between the virtual machines involved in the collected API call information, and determine the application topology relationship between the virtual machines according to the interaction frequency between the virtual machines.
- the system 80 includes a topology discovery server 81 and at least one host 82.
- the at least one host 82 runs multiple virtual machines.
- An application programming interface is generated when one of the plurality of virtual machines 822 sends a message or the VMM on the at least one host 82 forwards a message to one of the plurality of virtual machines 822 API call information;
- the topology discovery server 81 is configured to collect at least two sets of application programming interface API call information, where each set of API call information corresponds to one API call, and each set of API call information includes an identifier of a virtual machine corresponding to the API call, and an occurrence of an API call. Time and message flow of the API call;
- the topology discovery server 81 is further configured to analyze the at least API call information, determine first API call information and second API call information that meet the first condition, where the first API call information and the second API call
- the information satisfying the first condition includes: the flow of the message in the first API call information flows in the opposite direction to the flow in the second API call information, and the first API call information
- the difference between the occurrence time of the API call and the occurrence time of the API call in the second API call information is less than or equal to a preset threshold;
- the topology discovery server 81 is further configured to determine whether the frequency of interaction between the first virtual machine 822 indicated by the first API call information and the second virtual machine 822 indicated by the second API call information satisfies And determining, if it is determined that the frequency of interaction between the first virtual machine 822 and the second virtual machine 822 meets the second condition, determining that the first virtual machine 822 and the second virtual machine 822 are present Apply topology relationships.
- each group of API call information further includes a communication protocol; correspondingly, the first API call information and the second API call information satisfying the first condition further includes: the communication in the first API call information
- the protocol is the same as the communication protocol in the second API call information.
- the topology discovery server 81 is configured to analyze at least two sets of API call information of the first virtual machine 822 and at least two sets of API call information of the second virtual machine 822, and determine the first virtual machine 822 and Second virtual machine The frequency of interaction between the 822, comparing the interaction frequency and the preset frequency, and when the interaction frequency is greater than the preset frequency, determining that the interaction frequency satisfies the second condition.
- the topology discovery server 81 is specifically configured to determine whether the first virtual machine 822 and the second virtual machine 822 belong to the same network segment, when the first virtual machine 822 and the second virtual machine 822 belong to When the same network segment is used, the interaction frequency or one of the preset frequencies is corrected according to a preset weighting coefficient, and the corrected interaction frequency is compared with the preset frequency; or the interaction frequency and the corrected pre-comparison are compared. Set the frequency.
- the topology discovery server 81 is configured to separately read the at least two sets of API call information from log files on the deployment host 82 of the multiple virtual machines; or
- the topology discovery server 81 is configured to receive the at least two sets of API call information reported by the proxy module on the deployment host of the multiple virtual machines.
- the API call includes an input API function call and an output API function call.
- the system 80 for applying topology discovery further includes:
- the virtual machine 822 is further configured to write the API call information to the deployment host 82 of the virtual machine 822 when the calling API sends a message to the VMM where the virtual machine 822 is located or receives the message forwarded by the VMM.
- the proxy file on the deployment host of the virtual machine 822 is used to write the API call information corresponding to the API call in the message transmission process to the log file on the deployment host 82 of the virtual machine 822. in.
- a topology discovery server includes: an obtaining unit 91, configured to collect at least two sets of application programming interface API call information, and each group of API call information Corresponding to an API call, each set of API call information includes an identifier of a virtual machine corresponding to the API call, an occurrence time of the API call, and a packet flow direction of the API call;
- the analyzing unit 92 is configured to analyze the at least two sets of application programming interface API call information, and determine first API call information and second API call information that meet the first condition, where the first API call information and the second
- the first condition of the API call information is: the flow of the message in the first API call information flows in the opposite direction to the flow in the second API call information, and the first API call
- the difference between the occurrence time of the API call in the information and the occurrence time of the API call in the second API call information is less than or equal to a preset threshold;
- the analyzing unit 92 is further configured to determine whether an interaction frequency between the first virtual machine indicated by the first API call information and the second virtual machine indicated by the second API call information satisfies a second condition, If the frequency of the interaction between the first virtual machine and the second virtual machine meets the second condition, determining that an application topology relationship exists between the first virtual machine and the second virtual machine.
- each group of API call information further includes a communication protocol; correspondingly, the first API call information and the second The API call information satisfying the first condition further includes: the communication protocol in the first API call information is the same as the communication protocol in the second API call information.
- the analyzing unit 92 is configured to analyze at least two sets of API call information of the first virtual machine and at least two sets of API call information of the second virtual machine, to determine the first virtual machine and the second virtual
- the frequency of the interaction between the machines compares the interaction frequency with the preset frequency. When the interaction frequency is greater than the preset frequency, it is determined that the interaction frequency satisfies the second condition.
- the analyzing unit 92 is specifically configured to determine whether the first virtual machine and the second virtual machine belong to the same network segment, when the first virtual machine and the second virtual machine belong to the same network segment, Correcting the interaction frequency or one of the preset frequencies according to a preset weighting coefficient;
- the analyzing unit 92 is specifically configured to compare the corrected interaction frequency with the preset frequency; or compare the interaction frequency with the corrected preset frequency.
- the obtaining unit 91 is specifically configured to separately read the at least two sets of API call information from log files on the deployment host of the multiple virtual machines; or
- the obtaining unit 91 is configured to receive the at least two sets of API call information reported by the proxy module on the deployment host of the multiple virtual machines.
- the API call includes an input API function call and an output API function call.
- the method, device and system for applying topological relationship discovery collect API call information during packet transmission, and determine two sets of API call information corresponding by matching two sets of API call information to meet the first condition.
- the topology discovery server can determine the interaction frequency between the virtual machines involved in the collected API call information, and determine the application topology relationship between the virtual machines according to the interaction frequency between the virtual machines. .
- the above solution provides a method for discovering the application topology relationship between virtual machines in a virtualization scenario.
- the application topology information between virtual machines is determined by analyzing the API call information generated during the packet transmission process, and the solution complexity is low.
- the virtual machine, the collection agent, the virtual switch, and the topology discovery server are presented in the form of functional units/function modules.
- a "unit/module” herein may refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and/or the like.
- ASIC application-specific integrated circuit
- the device for the above functions may take the form shown in FIG.
- the acquisition unit 901 and the processing unit 902 can be implemented by the processor and memory of FIG.
- An embodiment of the present invention further provides a computer storage medium for storing computer software instructions for use in the apparatus shown in Figures 8 and 9 above, including a program designed to execute the above method embodiments. By executing the stored program, A method for applying topology relationship discovery can be implemented.
- embodiments of the present invention can be provided as a method, apparatus (device), or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- the computer program is stored/distributed in a suitable medium, provided with other hardware or as part of the hardware, or in other distributed forms, such as over the Internet or other wired or wireless telecommunication systems.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims (21)
- 一种应用拓扑关系发现的方法,其特征在于,所述方法包括:收集至少两组应用程序编程接口API调用信息,每组API调用信息对应一次API调用,所述每组API调用信息包括API调用对应的虚拟机的标识、API调用的发生时间以及API调用的报文流向;分析所述至少两组API调用信息,确定满足第一条件的第一API调用信息与第二API调用信息,其中,所述第一API调用信息与第二API调用信息满足所述第一条件包括:所述第一API调用信息中的报文流向与所述第二API调用信息中的报文流向为互为相反的流向,且所述第一API调用信息中的API调用的发生时间与所述第二API调用信息中的API调用的发生时间的差值小于或等于预设阈值;确定所述第一API调用信息所指示的第一虚拟机和所述第二API调用信息所指示的第二虚拟机之间的交互频率是否满足第二条件;若所述第一虚拟机和所述第二虚拟机之间的交互频率满足所述第二条件,确定所述第一虚拟机和所第二虚拟机之间存在应用拓扑关系。
- 如权利要求1所述的方法,其特征在于,所述每组API调用信息还包括通信协议;相应地,所述第一API调用信息与第二API调用信息满足所述第一条件还包括:所述第一API调用信息中的通信协议与所述第二API调用信息中的通信协议相同。
- 如权利要求1或2所述的方法,其特征在于,所述确定所述第一虚拟机和所述第二虚拟机之间的交互频率是否满足第二条件包括:分析所述第一虚拟机的至少两组API调用信息和所述第二虚拟机的至少两组API调用信息,确定所述第一虚拟机和所第二虚拟机之间的交互频率,比较所述交互频率和预设频率,当所述交互频率大于所述预设频率,确定所述交互频率满足所述第二条件。
- 如权利要求3所述的方法,其特征在于,所述比较所述交互频率和预设频率之前,还包括:确定所述第一虚拟机与所述第二虚拟机是否属于相同的网段,当所述第一虚拟机与所述第二虚拟机属于相同网段时,根据预设的加权系数修正所述交互频率或所述预设频率之一;所述比较所述交互频率和预设频率包括:比较修正后的交互频率与所述预设频率;或者,比较所述交互频率与修正后的预设频率。
- 如权利要求1-4任一所述的方法,其特征在于,所述收集至少两组API调用信息包括:从所述多台虚拟机的部署主机上的日志文件中分别读取所述至少两组API调用信息;或 者,接收所述多台虚拟机的部署主机上的代理模块上报的所述至少两组API调用信息。
- 如权利要求5所述的方法,其特征在于,在从所述多台虚拟机的部署主机上的日志文件中分别读取所述至少两组API调用信息之前,所述方法还包括以下至少一种:第一种、在虚拟机调用API向所述虚拟机所在的VMM发送报文时,所述虚拟机、所述VMM中的虚拟交换机或所述VMM任意之一将API调用信息写入所述虚拟机的部署主机上的日志文件中;第二种、虚拟机的部署主机上的代理模块将报文传输过程中的API调用对应的API调用信息写入所述虚拟机的部署主机上的日志文件中;第三种、在虚拟机的VMM调用API向所述虚拟机发送报文时,所述虚拟机、所述VMM中的虚拟交换机或所述VMM任意之一将API调用信息写入所述虚拟机的部署主机上的日志文件中。
- 如权利要求5所述的方法,其特征在于,在接收所述多台虚拟机的部署主机上的代理模块上报的所述至少两组API调用信息之前,所述方法还包括:虚拟机的部署主机上的代理模块监控报文在所述主机上的传输过程,记录所述传输过程中的API调用对应的API调用信息;或,虚拟机的部署主机上的代理模块接收所述虚拟机、虚拟交换机或者VMM发送的在所述主机上的报文传输过程中的API调用对应的API调用信息。
- 如权利要求1所述的方法,其特征在于,所述API调用包括输入API函数调用和输出API函数调用。
- 一种拓扑发现服务器,其特征在于,包括:获取单元,用于收集至少两组应用程序编程接口API调用信息,每组API调用信息对应一次API调用,所述每组API调用信息包括API调用对应的虚拟机的标识、API调用的发生时间以及API调用的报文流向;分析单元,用于分析所述至少两组API调用信息,确定满足第一条件的第一API调用信息与第二API调用信息,其中,所述第一API调用信息与第二API调用信息满足所述第一条件包括:所述第一API调用信息中的报文流向与所述第二API调用信息中的报文流向为互为相反的流向,且所述第一API调用信息中的API调用的发生时间与所述第二API调用信息中的API调用的发生时间的差值小于或等于预设阈值;所述分析单元,还用于确定所述第一API调用信息所指示的第一虚拟机和所述第二API调用信息所指示的第二虚拟机之间的交互频率是否满足第二条件,若所述第一虚拟机和所述 第二虚拟机之间的交互频率满足所述第二条件,确定所述第一虚拟机和所第二虚拟机之间存在应用拓扑关系。
- 如权利要求9所述的拓扑发现服务器,其特征在于,所述每组API调用信息还包括通信协议;相应地,所述第一API调用信息与第二API调用信息满足所述第一条件还包括:所述第一API调用信息中的通信协议与所述第二API调用信息中的通信协议相同。
- 如权利要求9或10所述的拓扑发现服务器,其特征在于,所述分析单元,具体用于分析所述第一虚拟机的至少两组API调用信息和所述第二虚拟机的至少两组API调用信息,确定所述第一虚拟机和所第二虚拟机之间的交互频率,比较所述交互频率和预设频率,当所述交互频率大于所述预设频率,确定所述交互频率满足所述第二条件。
- 如权利要求9-11任一所述的拓扑发现服务器,其特征在于,所述分析单元,具体用于确定所述第一虚拟机与所述第二虚拟机是否属于相同的网段,当所述第一虚拟机与所述第二虚拟机属于相同网段时,根据预设的加权系数修正所述交互频率或所述预设频率之一;所述分析单元,具体用于比较修正后的交互频率与所述预设频率;或者,比较所述交互频率与修正后的预设频率。
- 如权利要求9-12任一所述的拓扑发现服务器,其特征在于,所述获取单元,具体用于从所述多台虚拟机的部署主机上的日志文件中分别读取所述至少两组API调用信息;或者,所述获取单元,具体用于接收所述多台虚拟机的部署主机上的代理模块上报的所述至少两组API调用信息。
- 如权利要求9所述的拓扑发现服务器,其特征在于,所述API调用包括输入API函数调用和输出API函数调用。
- 一种应用拓扑关系发现的***,其特征在于,所述***包括拓扑发现服务器以及至少一个主机,所述至少一个主机上运行有多台虚拟机,所述多台虚拟机中的一台虚拟机发送报文或者所述至少一个主机上的VMM向所述多台虚拟机中的一台虚拟机转发报文时,产生应用程序编程接口API调用信息;拓扑发现服务器,用于收集至少两组API调用信息,每组API调用信息对应一次API调用,所述每组API调用信息包括API调用对应的虚拟机的标识、API调用的发生时间以及API调用的报文流向;所述拓扑发现服务器,还用于分析所述至少API调用信息,确定满足第一条件的第一API 调用信息与第二API调用信息,其中,所述第一API调用信息与第二API调用信息满足所述第一条件包括:所述第一API调用信息中的报文流向与所述第二API调用信息中的报文流向为互为相反的流向,且所述第一API调用信息中的API调用的发生时间与所述第二API调用信息中的API调用的发生时间的差值小于或等于预设阈值;所述拓扑发现服务器,还用于确定所述第一API调用信息所指示的第一虚拟机和所述第二API调用信息所指示的第二虚拟机之间的交互频率是否满足第二条件,若所述第一虚拟机和所述第二虚拟机之间的交互频率满足所述第二条件,确定所述第一虚拟机和所第二虚拟机之间存在应用拓扑关系。
- 如权利要求15所述的***,其特征在于,所述每组API调用信息还包括通信协议;相应地,所述第一API调用信息与第二API调用信息满足所述第一条件还包括:所述第一API调用信息中的通信协议与所述第二API调用信息中的通信协议相同。
- 如权利要求15或16所述的***,其特征在于,所述拓扑发现服务器,具体用于分析所述第一虚拟机的至少两组API调用信息和所述第二虚拟机的至少两组API调用信息,确定所述第一虚拟机和所第二虚拟机之间的交互频率,比较所述交互频率和预设频率,当所述交互频率大于所述预设频率,确定所述交互频率满足所述第二条件。
- 如权利要求15-17任一所述的***,其特征在于,所述拓扑发现服务器,具体用于确定所述第一虚拟机与所述第二虚拟机是否属于相同的网段,当所述第一虚拟机与所述第二虚拟机属于相同网段时,根据预设的加权系数修正所述交互频率或所述预设频率之一,比较修正后的交互频率与所述预设频率;或者,比较所述交互频率与修正后的预设频率。
- 如权利要求15-18任一所述的***,其特征在于,所述拓扑发现服务器,具体用于从所述多台虚拟机的部署主机上的日志文件中分别读取所述至少两组API调用信息;或者,所述拓扑发现服务器,具体用于接收所述多台虚拟机的部署主机上的代理模块上报的所述至少两组API调用信息。
- 如权利要求15所述的***,其特征在于,所述API调用包括输入API函数调用和输出API函数调用。
- 如权利要求19所述的***,其特征在于,还包括:所述虚拟机,还用于在调用API向所述虚拟机所在的VMM发送报文或者接收所述VMM转发的报文时,将API调用信息写入所述虚拟机的部署主机上的日志文件中;或,虚拟机的部署主机上的代理模块,用于将报文传输过程中的API调用对应的API调用信息写入所述虚拟机的部署主机上的日志文件中。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201580031988.0A CN106489251B (zh) | 2015-12-21 | 2015-12-21 | 应用拓扑关系发现的方法、装置和*** |
EP15908488.8A EP3226493B1 (en) | 2015-12-21 | 2015-12-21 | Method, device, and system for discovering the relationship of applied topology |
PCT/CN2015/098125 WO2017107018A1 (zh) | 2015-12-21 | 2015-12-21 | 应用拓扑关系发现的方法、装置和*** |
KR1020177001923A KR101979363B1 (ko) | 2015-12-21 | 2015-12-21 | 애플리케이션 토폴로지 관계의 발견 방법, 장치, 및 시스템 |
CN201910940823.5A CN110865867B (zh) | 2015-12-21 | 2015-12-21 | 应用拓扑关系发现的方法、装置和*** |
BR112017000458-5A BR112017000458B1 (pt) | 2015-12-21 | Método, aparelho e sistema para descobrir uma relação de topologia de aplicativo | |
JP2017505627A JP6571161B2 (ja) | 2015-12-21 | 2015-12-21 | アプリケーショントポロジ関係を探索するための方法、装置、およびシステム |
US15/786,159 US10459754B2 (en) | 2015-12-21 | 2017-10-17 | Method, apparatus, and system for discovering application topology relationship |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/098125 WO2017107018A1 (zh) | 2015-12-21 | 2015-12-21 | 应用拓扑关系发现的方法、装置和*** |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/786,159 Continuation US10459754B2 (en) | 2015-12-21 | 2017-10-17 | Method, apparatus, and system for discovering application topology relationship |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017107018A1 true WO2017107018A1 (zh) | 2017-06-29 |
Family
ID=58238289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/098125 WO2017107018A1 (zh) | 2015-12-21 | 2015-12-21 | 应用拓扑关系发现的方法、装置和*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US10459754B2 (zh) |
EP (1) | EP3226493B1 (zh) |
JP (1) | JP6571161B2 (zh) |
KR (1) | KR101979363B1 (zh) |
CN (2) | CN106489251B (zh) |
WO (1) | WO2017107018A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115333966A (zh) * | 2022-08-11 | 2022-11-11 | 天翼数字生活科技有限公司 | 一种基于拓扑的Nginx日志分析方法、***及设备 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912739B1 (en) * | 2017-01-12 | 2018-03-06 | Red Hat Israel, Ltd. | Open virtualized multitenant network scheme servicing virtual machine and container based connectivity |
CN108964959B (zh) * | 2017-05-27 | 2022-02-25 | 阿里巴巴集团控股有限公司 | 一种用于虚拟化平台的网卡直通***及数据包监管方法 |
CN109428824B (zh) * | 2017-08-28 | 2021-09-17 | 中国电信股份有限公司 | 主机拓扑生成方法和*** |
CN107861821B (zh) * | 2017-10-26 | 2022-02-25 | 北京百度网讯科技有限公司 | 模块调用关系的挖掘方法、装置及计算机可读介质 |
CN109802842B (zh) * | 2017-11-16 | 2021-12-03 | 华为技术有限公司 | 应用拓扑的生成方法及相关设备 |
CN109905436A (zh) * | 2017-12-08 | 2019-06-18 | 华为软件技术有限公司 | 根因事件的确定方法、装置及存储介质 |
US10698664B2 (en) * | 2017-12-21 | 2020-06-30 | Fujitsu Limited | API mashup generation |
CN108038236A (zh) * | 2017-12-27 | 2018-05-15 | 深信服科技股份有限公司 | 文件共享方法、装置、***及可读存储介质 |
CN108388501B (zh) * | 2018-01-10 | 2021-09-17 | 贝壳找房(北京)科技有限公司 | 一种***间集成测试方法 |
CN110196750B (zh) * | 2018-02-26 | 2023-02-24 | 华为技术有限公司 | 一种设备的分配方法及其相关设备 |
US11057862B2 (en) | 2018-08-26 | 2021-07-06 | Celeno Communications (Israel) Ltd. | Wi-Fi radar detection using synchronized wireless access point |
CN109525515B (zh) * | 2018-10-23 | 2021-04-30 | 郑州云海信息技术有限公司 | 一种云平台中网卡的管理方法和装置 |
US11240160B2 (en) * | 2018-12-28 | 2022-02-01 | Alibaba Group Holding Limited | Method, apparatus, and computer-readable storage medium for network control |
EP3906426A4 (en) | 2018-12-31 | 2022-09-28 | Celeno Communications (Israel) Ltd. | CONSISTENT WI-FI RADAR USING WIRELESS ACCESS POINT |
US11102750B2 (en) * | 2019-01-01 | 2021-08-24 | Celeno Communications (Israel) Ltd. | Positioning system based on distributed transmission and reception of Wi-Fi signals |
US11108642B2 (en) | 2019-04-22 | 2021-08-31 | Vmware, Inc. | Method and apparatus for non-intrusive agentless platform-agnostic application topology discovery |
US11055191B2 (en) * | 2019-05-17 | 2021-07-06 | Citrix Systems, Inc. | Service graph highlights missing nodes and links |
US20210173688A1 (en) * | 2019-12-04 | 2021-06-10 | Vmware, Inc. | Machine learning based application discovery method using networks flow information within a computing environment |
CN113722020B (zh) * | 2020-05-26 | 2024-06-11 | 腾讯科技(深圳)有限公司 | 接口调用方法、装置和计算机可读存储介质 |
US11262990B2 (en) * | 2020-05-26 | 2022-03-01 | International Business Machines Corporation | Application topology discovery |
CN114157931A (zh) * | 2020-09-07 | 2022-03-08 | 中兴通讯股份有限公司 | 波分设备的拓扑关系确定方法、***、设备及存储介质 |
CN114697319B (zh) * | 2020-12-30 | 2023-06-16 | 华为云计算技术有限公司 | 一种公有云的租户业务管理方法及装置 |
US20220286914A1 (en) * | 2021-03-05 | 2022-09-08 | Vmware, Inc. | Ric sdk |
CN113778423B (zh) * | 2021-09-10 | 2024-03-01 | 上海幻电信息科技有限公司 | 接口文档生成方法及*** |
CN114327748B (zh) * | 2021-11-29 | 2022-10-18 | 北京志凌海纳科技有限公司 | 虚拟机交互方法、装置、非易失性存储介质及处理器 |
CN113992428B (zh) * | 2021-11-29 | 2024-02-09 | 天融信雄安网络安全技术有限公司 | 容器环境下的入侵防御方法及装置、电子设备、存储介质 |
US20230171303A1 (en) * | 2021-12-01 | 2023-06-01 | X Development Llc | Dynamic allocation of platform-independent machine learning state machines between edge-based and cloud-based computing resources |
CN114726909A (zh) * | 2022-03-15 | 2022-07-08 | 阿里云计算有限公司 | 云服务迁移信息处理方法、装置、设备、介质及产品 |
KR102486087B1 (ko) * | 2022-09-16 | 2023-01-09 | 오픈나루 주식회사 | Msa에서의 호출관계 추적 및 이에 따른 로그정보 디스플레이 방법 |
US20240205808A1 (en) | 2022-12-19 | 2024-06-20 | VMware LLC | Multi-component configurations in a ran system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137007A (zh) * | 2011-01-17 | 2011-07-27 | 华为技术有限公司 | 网络拓扑生成方法、***、协调者 |
CN103281248A (zh) * | 2013-06-09 | 2013-09-04 | 北京星网锐捷网络技术有限公司 | 网络拓扑的发现方法、装置和*** |
CN104468219A (zh) * | 2014-12-11 | 2015-03-25 | 杭州华三通信技术有限公司 | 虚拟组网网络拓扑发现方法和设备 |
CN104618246A (zh) * | 2015-02-12 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种面向xen虚拟化环境的网络拓扑发现方法 |
CN104639406A (zh) * | 2013-11-07 | 2015-05-20 | 国际商业机器公司 | 基于动态使用关系建模计算机网络拓扑 |
US20150358235A1 (en) * | 2014-06-05 | 2015-12-10 | Futurewei Technologies, Inc. | Service Chain Topology Map Construction |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099580B1 (en) * | 2001-11-02 | 2006-08-29 | Ciena Corporation | Method and system for communicating network topology in an optical communications network |
US8255546B2 (en) * | 2005-09-30 | 2012-08-28 | Microsoft Corporation | Peer name resolution protocol simple application program interface |
US7774446B2 (en) * | 2005-12-30 | 2010-08-10 | Microsoft Corporation | Discovering, defining, and implementing computer application topologies |
JP5458308B2 (ja) * | 2010-06-11 | 2014-04-02 | 株式会社日立製作所 | 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 |
CN102082692B (zh) | 2011-01-24 | 2012-10-17 | 华为技术有限公司 | 基于网络数据流向的虚拟机迁移方法、设备和集群*** |
CN102306156A (zh) * | 2011-07-05 | 2012-01-04 | 成都智汇科技有限公司 | 用于交互式地编辑gis拓扑数据集的方法 |
US8943499B2 (en) * | 2012-04-30 | 2015-01-27 | Hewlett-Packard Development Company, L.P. | Providing a virtual network topology in a data center |
US9898317B2 (en) * | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9183033B2 (en) * | 2012-12-06 | 2015-11-10 | Industrial Technology Research Institute | Method and system for analyzing root causes of relating performance issues among virtual machines to physical machines |
WO2014110447A1 (en) * | 2013-01-12 | 2014-07-17 | Lyatiss, Inc. | User interface for visualizing resource performance and managing resources in cloud or distributed systems |
US20130227529A1 (en) * | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US10069677B2 (en) * | 2013-04-06 | 2018-09-04 | Citrix Systems, Inc. | Systems and methods to collect logs from multiple nodes in a cluster of load balancers |
CN104363159B (zh) * | 2014-07-02 | 2018-04-06 | 北京邮电大学 | 一种基于软件定义网络的开放虚拟网络构建***和方法 |
CN105446792B (zh) * | 2014-08-27 | 2019-09-24 | 联想(北京)有限公司 | 一种虚拟机的部署方法、部署装置和管理节点 |
-
2015
- 2015-12-21 WO PCT/CN2015/098125 patent/WO2017107018A1/zh active Application Filing
- 2015-12-21 JP JP2017505627A patent/JP6571161B2/ja active Active
- 2015-12-21 EP EP15908488.8A patent/EP3226493B1/en active Active
- 2015-12-21 KR KR1020177001923A patent/KR101979363B1/ko active IP Right Grant
- 2015-12-21 CN CN201580031988.0A patent/CN106489251B/zh active Active
- 2015-12-21 CN CN201910940823.5A patent/CN110865867B/zh active Active
-
2017
- 2017-10-17 US US15/786,159 patent/US10459754B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137007A (zh) * | 2011-01-17 | 2011-07-27 | 华为技术有限公司 | 网络拓扑生成方法、***、协调者 |
CN103281248A (zh) * | 2013-06-09 | 2013-09-04 | 北京星网锐捷网络技术有限公司 | 网络拓扑的发现方法、装置和*** |
CN104639406A (zh) * | 2013-11-07 | 2015-05-20 | 国际商业机器公司 | 基于动态使用关系建模计算机网络拓扑 |
US20150358235A1 (en) * | 2014-06-05 | 2015-12-10 | Futurewei Technologies, Inc. | Service Chain Topology Map Construction |
CN104468219A (zh) * | 2014-12-11 | 2015-03-25 | 杭州华三通信技术有限公司 | 虚拟组网网络拓扑发现方法和设备 |
CN104618246A (zh) * | 2015-02-12 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种面向xen虚拟化环境的网络拓扑发现方法 |
Non-Patent Citations (1)
Title |
---|
"Windows API Function Reference Manual", POST & TELCOM |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115333966A (zh) * | 2022-08-11 | 2022-11-11 | 天翼数字生活科技有限公司 | 一种基于拓扑的Nginx日志分析方法、***及设备 |
CN115333966B (zh) * | 2022-08-11 | 2023-05-12 | 天翼数字生活科技有限公司 | 一种基于拓扑的Nginx日志分析方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3226493A4 (en) | 2018-01-03 |
EP3226493B1 (en) | 2020-03-25 |
JP2018503275A (ja) | 2018-02-01 |
CN110865867A (zh) | 2020-03-06 |
CN110865867B (zh) | 2023-08-25 |
BR112017000458A8 (pt) | 2022-08-23 |
US10459754B2 (en) | 2019-10-29 |
JP6571161B2 (ja) | 2019-09-04 |
KR101979363B1 (ko) | 2019-05-16 |
CN106489251B (zh) | 2019-10-18 |
EP3226493A1 (en) | 2017-10-04 |
BR112017000458A2 (pt) | 2017-11-07 |
US20180121226A1 (en) | 2018-05-03 |
CN106489251A (zh) | 2017-03-08 |
KR20180088577A (ko) | 2018-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017107018A1 (zh) | 应用拓扑关系发现的方法、装置和*** | |
US11296960B2 (en) | Monitoring distributed applications | |
US11870702B1 (en) | Dynamic resource allocation of cloud instances and enterprise application migration to cloud architecture | |
US9600319B2 (en) | Computer-readable medium, apparatus, and method for offloading processing from a virtual switch to a physical switch | |
US11829797B1 (en) | Dynamic configuration of virtual machines | |
JP5458308B2 (ja) | 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 | |
EP3281360B1 (en) | Virtualized network function monitoring | |
EP3606008A1 (en) | Method and device for realizing resource scheduling | |
WO2018072612A1 (zh) | 一种切片实例的管理方法及装置 | |
US10592266B1 (en) | Dynamic consolidation of virtual machines | |
US10089128B2 (en) | Application aware service policy enforcement and autonomous feedback-based remediation | |
US20140032753A1 (en) | Computer system and node search method | |
US20190334776A1 (en) | Creating and Using Service Control Functions | |
CN111258627A (zh) | 一种接口文档生成方法和装置 | |
US10423439B1 (en) | Automatic determination of a virtual machine's dependencies on storage virtualization | |
US20140337471A1 (en) | Migration assist system and migration assist method | |
WO2019129118A1 (zh) | Vnf服务实例化方法及装置 | |
US7966394B1 (en) | Information model registry and brokering in virtualized environments | |
US20220224586A1 (en) | Intent-based distributed alarm service | |
KR20190114495A (ko) | 네트워크 기능 가상화 환경에서 네트워크 자원 관리를 위한 장치 및 방법 | |
TWI767427B (zh) | 監控伺服器及其設備資源監控方法 | |
JP2022087808A (ja) | ストレージ・エリア・ネットワーク輻輳のエンドポイント通知を行う方法、システム、およびコンピュータ・プログラム | |
WO2016000430A1 (zh) | 虚拟机对之间流量速率的估算方法和相关设备 | |
WO2020000409A1 (en) | Managing quality of storage service in virtual network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 20177001923 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2017505627 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2015908488 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15908488 Country of ref document: EP Kind code of ref document: A1 |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112017000458 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112017000458 Country of ref document: BR Kind code of ref document: A2 Effective date: 20170109 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |