# US 9,438,481 B2 · Sample driven visual programming system for network management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,481 B2
- Document ID: US9438481B2
- Status: Granted
- Kind: B2
- Application number: 13/842,024
- Filed: 2013-03-15
- Published: 2014-09-18
- Granted: 2016-09-06
- Earliest claimed: 2013-03-15
- Assignees: NetBrain Technologies, Inc.
- Applicants: Lingping Gao; Guangdong Liao
- Inventors: Lingping Gao; Guangdong Liao
- Web page: https://patentgrep.com/patent/US9438481B2

## CPC

- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 41/20: {Network management software packages}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and system for sample-driven visual programming system. A Parser Utility and a Trigger Utility are provided. The Parser is defined based on a sample output from a device in real time, and data are parsed into a set of variables. The Trigger Utility visually displays the set of variables and automatically encodes a set of logic loops to analyze the data. A network engineer is therefore liberated from writing scripts for network data analysis. A system is provided to run in debugging mode for visually debugging the automatically generated programs.

## Claims

### Claim 1

A sample-driven visual programming system for network management system, comprising:
a computer processor wherein said computer processor executes a graphic computer program module to graphically manage a network system, said graphic computer program module further comprises:
a sample collecting unit graphically on a screen available to a user that issues a network managing command and collects and displays on a screen a sample output data from a network device resulting from running said network managing command wherein said sample output data indicates a network running status of said network system; and
a Parser Utility graphically on a screen available to a user who interacts with said sample output data to define a Parser using said sample output data, wherein said Parser Utility visually marks a set of features of said sample output data on screen in corresponding to a set of selected marking criteria by said user and processes the parsed data into a set of data variables.

### Claim 2 (depends on 1)

The sample-driven visual programming system of claim 1, wherein said sample output data is collected in real time.

### Claim 3 (depends on 1)

The sample-driven visual programming system of claim 1, wherein said Parser Utility includes a Keyword Parser, wherein a text-string is copied from said sample output data and defined as a Keyword marker that is used for collecting a value adjacent to said Keyword marker from a data output into said set of data variables.

### Claim 4 (depends on 1)

The sample-driven visual programming system of claim 1, wherein said Parser Utility includes a Paragraph Parser, wherein a pair of paragraph border-strings are copied from said sample output data and defined as a paragraph marker that is used for marking and collecting data within a marked paragraph marked by said paragraph marker from a data output into said set of data variables.

### Claim 5 (depends on 4)

The sample-driven visual programming system of claim 4, wherein said Paragraph Parser includes one or more child Keyword Parsers for further parsing a marked paragraph, wherein a text-string is copied from said sample output data and defined as a Keyword marker that is used for collecting a value adjacent to said Keyword marker into said set of data variables.

### Claim 6 (depends on 1)

The sample-driven visual programming system of claim 1, wherein said Parser Utility includes a Filter Parser, wherein a pair of a beginning-string and an end string are copied from said sample output data and defined as a filter marker that is used for marking and collecting a data marked within said beginning-string to said end string from a data output into said set of data variables.

### Claim 7 (depends on 1)

The sample-driven visual programming system of claim 1, wherein said Parser Utility includes a Table Parser, wherein a set of table headers are copied from said sample output data and defined as a table marker for a table to collect table data marked by said table marker from a data output into said set of data variables.

### Claim 8 (depends on 1)

The sample-driven visual programming system of claim 1, said graphic computer program module further comprising:
a visually graphic Trigger Utility available on a screen to a user that is configured to automatically encode a set of logic control flows and action loops using said set of data variables as triggering conditions for the set of logic control flows and action loops.

### Claim 9 (depends on 8)

The Trigger utility of claim 8, wherein said Trigger Utility includes a Threshold Trigger which compares a data variable with a threshold value visually pre-specified by a user.

### Claim 10 (depends on 8)

The Trigger utility of claim 8, wherein said Trigger Utility includes a Delta Trigger which checks a data variable within a time period visually pre-specified by a user.

### Claim 11 (depends on 8)

The Trigger utility of claim 8, wherein said Trigger Utility includes a Compare Trigger which checks a data variable against a baseline data visually pre-specified by a user.

### Claim 12 (depends on 8)

The sample-driven visual programming system of claim 8, said graphic computer program module further comprising:
a graphic debugging system available on a screen to a user for displaying all action loops and its data variables for each action loop when the system is run in a debugging mode.

### Claim 13 (depends on 1)

The sample-driven visual programming system of claim 1, said graphic computer program module further comprising:
a set of graphic components available on a screen to a user which automatically add logic loops through an array or a table of variables for a list of network devices visually pre-specified by the user.

### Claim 14

A sample-driven method for visual programming in network management, comprising the steps of:
collecting a sample output data from a target device by issuing a network managing command using a graphic computer software module, wherein said sample output data indicates a network device running status of said network system;
displaying said sample output data in text format on-screen;
defining a Parser Utility graphically on a screen using said sample output data as a guide, wherein Parser Utility is defined by a set of markers identified from a sample output data;
executing a network managing Procedure on the target device using said graphic computer software module;
collecting and parsing an output data resulting from said step of executing said network managing Procedure, using said Parser Utility, into a set of data variables; and
visually programming a Trigger Utility graphically available on screen to a user by using said set of data variables wherein a set of logic control flows and action loops are automatically encoded using said set of data variables as trigger conditions for the set of logic control flows and action loops.

### Claim 15 (depends on 14)

The sample-driven method of claim 14, wherein said sample output data is collected in real time.

### Claim 16 (depends on 14)

The sample-driven method of claim 14, wherein said Parser Utility includes a Keyword Parser, a Paragraph Parser, Filter Parser or Table Parser, or a combination thereof,
wherein for Keyword Parser, a text-string is copied from said sample output data as a Keyword marker for collecting a value adjacent to said Keyword marker from a data output into said set of data variables;
wherein for Paragraph Parser, a pair of paragraph border-strings are copied from said sample output data as a paragraph marker for collecting a data value within a marked paragraph marked by said paragraph marker into said set of data variables;
wherein for Filter Parser, a pair of a beginning-string and an end string are copied from said sample output data as filter marker for collecting a data marked within a boundary by said beginning-string to said end string into said set of data variables;
wherein for Table Parser, a set of table headers are copied from said sample output data as table marker to collect table data marked by said table marker into said set of data variables.

### Claim 17 (depends on 14)

The sample-driven method of claim 14, wherein said Trigger Utility includes a Threshold Trigger, a Delta Trigger, a Compare Trigger, or a combination thereof, wherein the Threshold Trigger compares a data variable with a threshold value visually pre-specified by the user, the Delta Trigger checks a data variable within a time period visually pre-specified by the user, and the Compare Trigger checks a data variable against a baseline data visually pre-specified by the user.

### Claim 18 (depends on 14)

The sample-driven method of claim 14, further comprising the step of:
providing a set of graphic components included in said graphic computer module which automatically add logic loops through an array or a table of variables for a list of network devices visually pre-specified by the user.

### Claim 19 (depends on 14)

The sample-driven method of claim 14, further comprising the step of:
providing a graphic debugging system for displaying all action loops and its data variables for each action loop when the system is run in a debugging mode.
