# US 12,009,977 B2 · Guided configuration item class creation in a remote network management platform

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

- Number: US 12,009,977 B2
- Document ID: US12009977B2
- Status: Granted
- Kind: B2
- Application number: 17/663,580
- Filed: 2022-05-16
- Published: 2022-09-01
- Granted: 2024-06-11
- Earliest claimed: 2017-10-04
- Assignees: ServiceNow, Inc.
- Applicants: ServiceNow, Inc.
- Inventors: Vivian Tero; Chinna Polinati; Madhavi Puvvada; Purushottam Amradkar; Manish Gupta; Brandon Trudel; Guarav Yakhmi; Jesus Antonio Castro Cisneros; Viral Shah
- Web page: https://patentgrep.com/patent/US12009977B2

## CPC

- G06F 8/34: Graphical or visual programming
- H04L 41/0859: by keeping history of different configuration generations or by rolling back to previous configuration versions
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F 3/0486: Drag-and-drop
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/461: {Saving or restoring of program or task context}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 11/14: Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16)
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3452: {Performance evaluation by statistical analysis}
- G06F 16/1873: {Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files}
- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/24578: {using ranking}
- G06F 16/2474: {Sequence data queries, e.g. querying versioned data}
- G06F 16/2477: {Temporal data queries}
- G06F 16/248: Presentation of query results
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/30: of unstructured textual data (document management systems G06F16/93)
- G06F 16/904: Browsing; Visualisation therefor (for navigating the web G06F16/954; browsing optimisation for the web G06F16/957)
- G06F 16/951: Indexing; Web crawling techniques
- G06F 40/18: of spreadsheets (form-filling G06F40/174)
- G06F 40/186: Templates
- G06Q 10/06314: {Calendaring for a resource}
- G06Q 10/06315: {Needs-based resource requirements planning or analysis}
- G06Q 10/0635: Risk analysis of enterprise or organisation activities
- G06Q 10/06393: {Score-carding, benchmarking or key performance indicator [KPI] analysis}
- G06Q 10/067: Enterprise or organisation modelling
- G06Q 30/018: Certifying business or products
- G06Q 30/0603: {Catalogue creation or management}
- G06Q 30/0635: {replenishment orders; recurring orders}
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- G06Q 40/12: Accounting
- G06Q 50/184: {Intellectual property management}
- H04L 41/0803: Configuration setting
- H04L 41/0843: {based on generic templates}
- H04L 41/085: Retrieval of network configuration; Tracking network configuration history
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/12: Discovery or management of network topologies
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 41/5006: Creating or negotiating SLA contracts, guarantees or penalties
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/50: Testing arrangements
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/1433: {Vulnerability analysis}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L 67/55: Push-based network services
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 21/577: {Assessing vulnerabilities and evaluating computer system security}
- H04L 41/0879: {Manual configuration through operator}
- H04L 41/5016: {based on statistics of service availability, e.g. in percentage or over a given time}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A system may include a database disposed within a remote network management platform, a server device disposed in the platform, and a client device. The database may contain representations of configuration items, such as computing devices and software applications associated with the managed network. The server device may provide a graphical user interface including a sequence of panes to the client device. The sequence of panes may include an identifier pane, an identification rules pane, and a reconciliation pane. Each pane may include data entry fields that are operable to define a new class of configuration item. The server device may receive, by way of the graphical user interface, a definition of the new class that uniquely identifies configuration items of a particular type using at least the attributes. The server may store, in the database, the definition of the new class.

## Claims

### Claim 1

A system, comprising:
a hardware processor; and
a non-transitory memory storing instructions that, when executed by the hardware processor, cause the hardware processor to perform operations comprising:
displaying, via a graphical user interface (GUI), a first section, wherein the first section comprises a first set of data fields configured to receive a first set of inputs associated with a plurality of configuration items (CIs), and wherein the plurality of CIs are representative of:
one or more software applications;
one or more hardware components; and
one or more relationships among the one or more software applications, the one or more hardware components, or both;
receiving, via the GUI, one or more first inputs of the first set of inputs;
displaying, via the GUI, a second section, wherein the second section comprises a second set of data fields configured to receive a second set of inputs associated with the plurality of CIs, wherein the second section is not displayed until the one or more first inputs have been received;
receiving, via the GUI, one or more second inputs of the second set of inputs; and
storing one or more attributes of the plurality of CIs in a configuration management database (CMDB) based on the one or more first inputs and the one or more second inputs.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more first inputs have been received when all of the first set of data fields receive the first set of inputs, and wherein the one or more second inputs have been received when all of the second set of data fields receive the second set of inputs.

### Claim 3 (depends on 1)

The system of claim 1, wherein the one or more first inputs is less than a first quantity of respective first inputs for all of the first set of data fields, and wherein the one or more second inputs is less than a second quantity of respective second inputs for all of the second set of data fields.

### Claim 4 (depends on 1)

The system of claim 1, wherein the first set of inputs are associated with an identifier of a class of the plurality of CIs.

### Claim 5 (depends on 1)

The system of claim 1, wherein the second set of inputs are associated with the one or more attributes of the plurality of CIs.

### Claim 6 (depends on 1)

The system of claim 1, wherein the operations comprise:
displaying, via the GUI, a third section, wherein the third section comprises a third set of data fields configured to receive a third set of inputs associated with the plurality of CIs, wherein the third section is not displayed until the one or more second inputs of the second set of inputs have been received; and
receiving, via the GUI, one or more third inputs of the third set of inputs.

### Claim 7 (depends on 6)

The system of claim 6, wherein the third set of inputs define a set of rules for identifying a new class of the plurality of CIs.

### Claim 8 (depends on 1)

The system of claim 1, wherein the first set of data fields and the second set of data fields are configured to receive respective inputs via a text field, a drop down menu, a pop-up menu, or a combination thereof.

### Claim 9 (depends on 1)

The system of claim 1, wherein the plurality of CIs are representative of one or more configurations of the one or more software applications, the one or more hardware components, or both.

### Claim 10 (depends on 1)

The system of claim 1, wherein each software application of one or more software applications is representative of one or more processes, one or more threads, one or more programs, one or more client modules, or one or more server modules, or any combination thereof, configured to execute on a device or a group of devices.

### Claim 11

A method, comprising:
displaying, via a graphical user interface (GUI), a first section, wherein the first section comprises a first set of data fields configured to receive a first set of inputs associated with a plurality of configuration items (CIs), and wherein the plurality of CIs are representative of:
one or more software applications;
one or more hardware components; and
one or more relationships among the one or more software applications, the one or more hardware components, or both;
receiving, via the GUI, one or more first inputs of the first set of inputs;
displaying, via the GUI, a second section, wherein the second section comprises a second set of data fields configured to receive a second set of inputs associated with the plurality of CIs, wherein the second section is not displayed until the one or more first inputs have been received;
receiving, via the GUI, one or more second inputs of the second set of inputs; and
storing one or more attributes of the plurality of CIs in a configuration management database (CMDB) based on the one or more first inputs and the one or more second inputs.

### Claim 12 (depends on 11)

The method of claim 11, wherein the one or more first inputs have been received when all of the first set of data fields receive the first set of inputs, and wherein the one or more second inputs have been received when all of the second set of data fields receive the second set of inputs.

### Claim 13 (depends on 11)

The method of claim 11, wherein the one or more first inputs is less than a first quantity of respective first inputs for all of the first set of data fields, and wherein the one or more second inputs is less than a second quantity of respective second inputs for all of the second set of data fields.

### Claim 14 (depends on 11)

The method of claim 11, wherein the first set of inputs are associated with an identifier of a class of the plurality of CIs.

### Claim 15 (depends on 11)

The method of claim 11, wherein the second set of inputs are associated with the one or more attributes of the plurality of CIs.

### Claim 16 (depends on 11)

The method of claim 11, wherein each software application of one or more software applications is representative of one or more processes, one or more threads, one or more programs, one or more client modules, or one or more server modules, or any combination thereof, configured to execute on a device or a group of devices.

### Claim 17

A non-transitory computer-readable medium comprising computer readable code, that when executed by one or more hardware processors, causes the one or more hardware processors to perform operations comprising:
displaying, via a graphical user interface (GUI), a first section, wherein the first section comprises a first set of data fields configured to receive a first set of inputs associated with a plurality of configuration items (CIs), and wherein the plurality of CIs are representative of:
one or more software applications;
one or more hardware components; and
one or more relationships among the one or more software applications, the one or more hardware components, or both;
receiving, via the GUI, one or more first inputs of the first set of inputs;
displaying, via the GUI, a second section, wherein the second section comprises a second set of data fields configured to receive a second set of inputs associated with the plurality of CIs, wherein the second section is not displayed until the one or more first inputs have been received;
receiving, via the GUI, one or more second inputs of the second set of inputs; and
storing one or more attributes of the plurality of CIs in a configuration management database (CMDB) based on the one or more first inputs and the one or more second inputs.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the one or more first inputs have been received when all of the first set of data fields receive the first set of inputs, and wherein the one or more second inputs have been received when all of the second set of data fields receive the second set of inputs.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the one or more first inputs is less than a first quantity of respective first inputs for all of the first set of data fields, and wherein the one or more second inputs is less than a second quantity of respective second inputs for all of the second set of data fields.

### Claim 20 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein each software application of one or more software applications is representative of one or more processes, one or more threads, and one or more programs, one or more client modules, or one or more server modules, or any combination thereof, configured to execute on a device or a group of devices.
