IP Library Granted Patent US 10,365,915
Granted Patent B2
US 10,365,915 · App. 15/289,115 · Granted Jul 30, 2019

Systems and methods of monitoring a network topology

Inventors: Abhinav A. Vora (San Francisco, CA); Aiyesha Lowe Ma (Sunnyvale, CA); Amit Sasturkar (San Jose, CA); Oliver Kempe (Santa Clara, CA); Narayanan Arunachalam (Fremont, CA); Alan Ngai (Santa Clara, CA); Vishal Surana (Sunnyvale, CA); Omer Emre Velipasaoglu (San Francisco, CA)
Assignee: Lightbend, Inc.
G06F8/65H04L41/0853H04L41/12H04L43/0817H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,365,915
App. No.
15/289,115
Granted
Jul 30, 2019
Kind
B2
Abstract

The technology disclosed relates to maintaining up to date software version data in a network. In particular, it relates to accessing a network topology that records node data and connection data including processes running on numerous hosts grouped into local services on the hosts, the local services running on multiple hosts grouped into service clusters and sub-clusters of service clusters, and network connections used by the service clusters to connect the hosts grouped into service connections. It further relates to collecting current software version information for the processes, updating the network topology with the current software version for particular process running on a particular host when it differs from a stored software version in the network topology, reassigning the particular host to a sub-cluster within the service cluster according to the current software version, and monitoring the updated sub-cluster within the service cluster.

Claims (54)

1. A method of maintaining up to date software version data in a network, the method including:

accessing via a processor a network topology that records node data and connection data including processes running on numerous hosts grouped into local services on the hosts, the local services running on multiple hosts grouped into service clusters and sub-clusters of service clusters, and network connections used by the service clusters to connect the hosts grouped into service connections;

wherein the node data includes software versions of the processes and process data with configuration files;

collecting via the processor current software version information for the processes;

updating the network topology with the current software version for particular process running on a particular host when it differs from a stored software version in the network topology;

reassigning the particular host to a sub-cluster within the service cluster according to the current software version;

monitoring via the processor the sub-cluster within the service cluster to detect anomalies or events, wherein the anomalies or events are a connectivity patterns of sub-groups, co-location of local services and software versions of sub-groups; and

triggering an alert for the anomalies or events identified by monitoring.

2. The method of claim 1 , wherein the collecting further includes:

periodically re-parsing application startup data for the numerous hosts for version information present in a command in the startup data.

3. The method of claim 1 , wherein the collecting further includes:

periodically re-parsing application startup data for the numerous hosts for version information present in a configuration file referenced by a command in the startup data.

4. The method of claim 1 , wherein the collecting further includes:

periodically requesting via an application program interface (API) version information from running particular process on the particular host.

5. A non-transitory computer readable storage medium impressed with computer program instructions, the instructions, when executed on a processor, implement the method of claim 1 .

6. A system including one or more processors coupled to memory, the memory loaded with computer instructions, the instructions, when executed on the processors, implement actions of claim 1 .

7. A method of detecting and progress monitoring software deployment to numerous hosts, the method including:

monitoring via a processor connections with the numerous hosts to detect communication patterns suggestive of a software deployment,

wherein the communication patterns suggestive of a software deployment include:

detecting via a processor that a process goes down for a short duration on a substantial number of the numerous hosts and becomes active again after a duration consistent with software deployment;

detecting via a processor that a host goes out of rotation for a short duration on a substantial number of the numerous hosts and returns to the rotation after a duration consistent with software deployment; and

collecting via a processor current software version information;

maintaining a deployment in process status for the hosts while the communication patterns suggestive of a software deployment continue;

monitoring via a processor of hosts in service clusters running a process that is subject to the software deployment to detect software deployment failure based on extended unavailability of the hosts for a duration exceeding the short duration by a predetermined amount or ratio; and

alerting a deployment operator of the extended unavailability of the hosts upon detection.

8. A non-transitory computer readable storage medium impressed with computer program instructions, the instructions, when executed on a processor, implement the method of claim 7 .

9. A system including one or more processors coupled to memory, the memory loaded with computer instructions, the instructions, when executed on the processors, implement actions of claim 7 .

10. The method of claim 7 , further including:

adjusting monitoring of the hosts having the deployment in process status set, thereby avoiding noisy reporting of short duration unavailability resulting from the deployment.

11. A method of monitoring processes on hosts to detect anomalies or events in service clusters, including:

accessing via a processor a network topology that records node data and connection data including processes running on numerous hosts grouped into local services on the hosts, the local services running on multiple hosts grouped into service clusters and sub-clusters of service clusters, and network connections used by the service clusters to connect the hosts grouped into service connections;

supplementing the network topology with a further view of the process, hosts, local services and service clusters that groups the processes, hosts, and local services into additional service clusters based at least in part on a run time environment used to support the processes;

monitoring via a processor metrics specific to the service clusters for anomalies or events of the service clusters and the additional service clusters as two logical views of the same physical hosts and processes, wherein the anomalies or events are a connectivity patterns of sub-groups, co-location of local services and software versions of sub-groups; and

triggering an alert for the anomalies or events.

12. The method of claim 11 , wherein the run time environment is a Java virtual machine (JVM).

13. The method of claim 11 , wherein the run time environment is a container executed by a computer program that performs operating-system-level virtualization running on a general purpose operating system.

14. A non-transitory computer readable storage medium impressed with computer program instructions, the instructions, when executed on a processor, implement the method of claim 11 .

15. A system including one or more processors coupled to memory, the memory loaded with computer instructions, the instructions, when executed on the processors, implement actions of claim 11 .

16. A method of monitoring processes on external devices outside monitored service clusters, including:

accessing via a processor a network topology that records node data and connection data including processes running on numerous hosts grouped into local services on the hosts, the local services running on multiple hosts grouped into service clusters and sub-clusters of service clusters, and network connections used by the service clusters to connect the hosts grouped into service connections;

receiving filtered network feature data and processing the filtered network feature data against the network topology, including:

detecting via a processor new connections with new hosts that are outside monitored service clusters;

determining via a processor ports on which the new connections with new hosts are conducted;

inferring, from a combination of at least processes in the monitored service clusters that are involved in the new connections and the ports on which the new connections are conducted, types of services running on the new hosts that are outside the monitored service clusters and updating the network topology with the new hosts and the inferred types of services;

using the network topology as updated, identifying one or more anomalies in the processes on external devices outside monitored service clusters, wherein the one or more anomalies are connectivity patterns of sub-groups, co-location of local services and software versions of sub-groups; and

triggering an alert for the one or more anomalies identified.

17. The method of claim 16 , further including:

inferring, from the combination of at least processes in the monitored service clusters that are involved in the new connections and the ports on which the new connections are conducted, selected metrics to monitor for the new connections.

18. The method of claim 16 , further including:

inferring, from the combination of at least processes in the monitored service clusters that are involved in the new connections and the ports on which the new connections are conducted, service connections to which to assign the new connections and updating the network topology with assignments of the new connections.

19. The method of claim 16 , further including:

inferring, from the combination of at least processes in the monitored service clusters that are involved in the new connections and the ports on which the new connections are conducted, selected metrics to monitor for the service clusters in which the new connections should be clustered.

20. A non-transitory computer readable storage medium impressed with computer program instructions, the instructions, when executed on a processor, implement the method of claim 16 .

21. A system including one or more processors coupled to memory, the memory loaded with computer instructions, the instructions, when executed on the processors, implement actions of claim 16 .

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2026
From: COMERICA BANK
To: LIGHTBEND, INC.
Reel/Frame 073891/0063 →
FIRST AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 11, 2025
From: LIGHTBEND, INC.
To: ESPRESSO CAPITAL LTD.
Reel/Frame 071557/0332 →
SECURITY INTEREST Recorded Aug 15, 2024
From: LIGHTBEND, INC.
To: COMERICA BANK
Reel/Frame 068299/0618 →
RELEASE OF SECURITY INTEREST Recorded Aug 6, 2024
From: NH EXPANSION CREDIT FUND HOLDINGS LP
To: LIGHTBEND, INC.
Reel/Frame 068202/0017 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 1, 2024
From: LIGHTBEND, INC.
To: ESPRESSO CAPITAL LTD.
Reel/Frame 068233/0670 →
SECURITY INTEREST Recorded Mar 24, 2021
From: LIGHTBEND, INC.
To: COMERICA BANK
Reel/Frame 055707/0278 →
RELEASE OF SECURITY INTEREST Recorded Feb 22, 2021
From: HERCULES CAPITAL, INC.
To: LIGHTBEND, INC.
Reel/Frame 055358/0862 →
SECURITY INTEREST Recorded Nov 5, 2020
From: LIGHTBEND, INC.
To: NH EXPANSION CREDIT FUND HOLDINGS LP
Reel/Frame 054283/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: OPSCLARITY, INC.
To: LIGHTBEND, INC.
Reel/Frame 045511/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2018
From: VORA, ABHINAV; MA, AIYESHA; SASTURKAR, AMIT; KEMPE, OLIVER; ALAN, NGAI; SURANA, VISHAL; ARUNACHALAM, NARAYANAN; VELIPASAOGLU, OMER EMRE
To: OPSCLARITY, INC.
Reel/Frame 045499/0043 →
SECURITY INTEREST Recorded Feb 22, 2018
From: LIGHTBEND, INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 045011/0525 →
Continuity (2)
Provisional Application 62239224 · Oct 8, 2015
Related Publication 20170102933A1 · Apr 13, 2017