# US 2018/0324045 A1 · Unified device and service discovery across multiple network types

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

- Number: US 2018/0324045 A1
- Document ID: US20180324045A1
- Status: Published application
- Kind: A1
- Application number: 15/654,930
- Filed: 2017-07-20
- Published: 2018-11-08
- Earliest claimed: 2017-05-05
- Assignees: ServiceNow, Inc.
- Applicants: ServiceNow, Inc.
- Inventors: Gregory Grisco; Steve Francis; Shridar Bylahalli
- Web page: https://patentgrep.com/patent/US20180324045A1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 41/0866: Checking the configuration
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L 41/0856: {by backing up or archiving configuration information}
- H04L 41/5064: {Customer relationship management}
- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- 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)

## Abstract

A computer network discovery system may involve a computing system and a database disposed within a remote network management platform, and a proxy server application disposed within an enterprise network. The computing system may be configured to: transmit first instructions causing the proxy server application to obtain configuration and operational information for virtual machines; store the configuration and operational information for the virtual machines in a first set of tables of the database; transmit second instructions causing the server device to obtain configuration and operational information for services; and store the configuration and operational information for the services in a second set of tables of the database, where the first set and the second set of tables have tables in common that store at least part of the configuration and operational information for the virtual machines and the services.

## Claims

### Claim 1

A computer network discovery system comprising:
a computing system disposed within a remote network management platform;
a database disposed within the remote network management platform;
a proxy server application operating on a proxy server device disposed within an enterprise network, wherein the enterprise network uses the computing system to manage devices and services on the enterprise network; and
wherein the computing system is configured to:
transmit first instructions to the proxy server application, wherein reception of the first instructions cause the proxy server application to obtain, from a virtual machine manager device of the enterprise network, configuration and operational information for a plurality of virtual machines managed by the virtual machine manager device,
receive, from the proxy server application, the configuration and operational information for the plurality of virtual machines,
store the configuration and operational information for the plurality of virtual machines in a first set of tables of the database,
transmit second instructions to a server device, wherein reception of the second instructions cause the server device to obtain configuration and operational information for a plurality of services leased to the enterprise network, wherein the server device is not in the enterprise network,
receive, from the server device, the configuration and operational information for the plurality of services, and
store the configuration and operational information for the plurality of services in a second set of tables of the database, wherein the first set of tables and the second set of tables have tables in common that store at least part of the configuration and operational information for the plurality of virtual machines and the plurality of services.

### Claim 2 (depends on 1)

The computer network discovery system of claim 1, wherein the tables in common include entries for processor, memory, storage, or networking resources respectively available to the plurality of virtual machines and the plurality of services.

### Claim 3 (depends on 1)

The computer network discovery system of claim 1, wherein each of the tables in common is a parent table to a respective pair of tables, wherein each respective pair of tables includes a first table storing configuration and operational information specific to the plurality of virtual machines managed by the virtual machine manager device, and wherein each respective pair of tables includes a second table storing configuration and operational information specific to the plurality of services leased to the enterprise network.

### Claim 4 (depends on 1)

The computer network discovery system of claim 1, wherein the plurality of services includes one or more virtual machines, applications, web sites, or databases leased to the enterprise network.

### Claim 5 (depends on 1)

The computer network discovery system of claim 1, wherein the plurality of services leased to the enterprise network are operated by a third party that is neither an operator of the enterprise network nor an operator of the remote network management platform, and wherein the plurality of services are available in multiple physical data centers in different geographic locations.

### Claim 6 (depends on 1)

The computer network discovery system of claim 1, wherein transmitting the second instructions to the server device comprises transmitting a representation of the second instructions to the proxy server application, and wherein reception of the representation of the second instructions causes the proxy server application to transmit the second instructions to the server device.

### Claim 7 (depends on 1)

The computer network discovery system of claim 1, wherein obtaining configuration and operational information for the plurality of virtual machines managed by the virtual machine manager device occurs without the proxy server application communicating directly with any of the plurality of virtual machines.

### Claim 8 (depends on 1)

The computer network discovery system of claim 1, wherein transmitting the second instructions to the server device comprises logging on to the server device using account credentials related to the enterprise network, and wherein the configuration and operational information for the plurality of services leased to the enterprise network are obtained by way of application programming interfaces.

### Claim 9 (depends on 1)

The computer network discovery system of claim 1, wherein the computing system is further configured to:
provide, to a client device, a graphical user interface representing data in the first set of tables and the second set of tables, wherein the graphical user interface allows the data to be modified.

### Claim 10 (depends on 9)

The computer network discovery system of claim 9, wherein modifying the data involves defining relationships and dependencies between the plurality of virtual machines and the plurality of services.

### Claim 11

A method comprising:
transmitting, by a computing system, first instructions to a proxy server device of an enterprise network, wherein reception of the first instructions cause the proxy server device to obtain, from a virtual machine manager device of the enterprise network, configuration and operational information for a plurality of virtual machines managed by the virtual machine manager device;
receiving, by the computing system and from the proxy server device, the configuration and operational information for the plurality of virtual machines;
storing, by the computing system, the configuration and operational information for the plurality of virtual machines in a first set of tables of a database;
transmitting, by the computing system, second instructions to a server device, wherein reception of the second instructions cause the server device to obtain configuration and operational information for a plurality of services leased to the enterprise network, wherein the server device is not in the enterprise network;
receiving, by the computing system and from the server device, the configuration and operational information for the plurality of services; and
storing, by the computing system, the configuration and operational information for the plurality of services in a second set of tables of the database, wherein the first set of tables and the second set of tables have tables in common that store at least part of the configuration and operational information for the plurality of virtual machines and the plurality of services.

### Claim 12 (depends on 11)

The method of claim 11, wherein the tables in common include entries for processor, memory, storage, or networking resources respectively available to the plurality of virtual machines and the plurality of services.

### Claim 13 (depends on 11)

The method of claim 11, wherein each of the tables in common is a parent table to a respective pair of tables, wherein each respective pair of tables includes a first table storing configuration and operational information specific to the plurality of virtual machines managed by the virtual machine manager device, and wherein each respective pair of tables includes a second table storing configuration and operational information specific to the plurality of services leased to the enterprise network.

### Claim 14 (depends on 11)

The method of claim 11, wherein the plurality of services includes one or more virtual machines, applications, web sites, or databases leased to the enterprise network.

### Claim 15 (depends on 11)

The method of claim 11, wherein the plurality of services leased to the enterprise network are operated by a third party that is neither the enterprise network nor the operator of the computing system, and wherein the plurality of services are available in multiple physical data centers in different geographic locations.

### Claim 16 (depends on 11)

The method of claim 11, wherein transmitting the second instructions to the server device comprises transmitting a representation of the second instructions to the proxy server device, and wherein reception of the representation of the second instructions causes the proxy server device to transmit the second instructions to the server device.

### Claim 17 (depends on 11)

The method of claim 11, wherein obtaining configuration and operational information for the plurality of virtual machines managed by the virtual machine manager device occurs without the proxy server device communicating directly with any of the plurality of virtual machines.

### Claim 18 (depends on 11)

The method of claim 11, wherein transmitting the second instructions to the server device comprises logging on to the server device using account credentials related to the enterprise network, and wherein the configuration and operational information for the plurality of services leased to the enterprise network are obtained by way of application programming interfaces.

### Claim 19 (depends on 11)

The method of claim 11, further comprising:
providing, by the computing system and to a client device, a graphical user interface representing data in the first set of tables and the second set of tables, wherein the graphical user interface allows the data to be modified.

### Claim 20

An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing device, cause the computing device to perform operations comprising:
transmitting first instructions to a proxy server device of an enterprise network, wherein reception of the first instructions cause the proxy server device to obtain, from a virtual machine manager device of the enterprise network, configuration and operational information for a plurality of virtual machines managed by the virtual machine manager device;
receiving, from the proxy server device, the configuration and operational information for the plurality of virtual machines;
storing the configuration and operational information for the plurality of virtual machines in a first set of tables of a database;
transmitting second instructions to a server device, wherein reception of the second instructions cause the server device to obtain configuration and operational information for a plurality of services leased to the enterprise network, wherein the server device is not in the enterprise network;
receiving, from the server device, the configuration and operational information for the plurality of services from the server device; and
storing the configuration and operational information for the plurality of services in a second set of tables of the database, wherein the first set of tables and the second set of tables have tables in common that store at least part of the configuration and operational information for the plurality of virtual machines and the plurality of services.
