# US 12,192,299 B2 · Common-framework controller for multiple device types

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

- Number: US 12,192,299 B2
- Document ID: US12192299B2
- Status: Granted
- Kind: B2
- Application number: 17/715,084
- Filed: 2022-04-07
- Published: 2022-11-03
- Granted: 2025-01-07
- Earliest claimed: 2021-04-28
- Assignees: Ruckus IP Holdings LLC
- Applicants: Ruckus IP Holdings LLC
- Inventors: Cheng-Ming Chien
- Web page: https://patentgrep.com/patent/US12192299B2

## CPC

- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 41/0826: for reduction of network costs (H04L41/0833 takes precedence)
- H04L 41/12: Discovery or management of network topologies
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer system is described. This computer system may implement a controller for multiple different types of computer network devices (CNDs), such as: an access point, a switch, a router, and a dataplane. Moreover, the computer system may have a common framework for program modules (with sets of program instructions) associated with the different types of CNDs. Furthermore, configuration and management of a given type of CND using the program modules may be specified by metadata associated with the given type of CND. Additionally, the common framework may include a unified protocol layer for the program modules, and one or more of the program modules may be modified or configured via the unified protocol layer using a common communication Alternatively or additionally, the computer system may communicate with the different types of CNDs via the unified protocol layer using a second common communication protocol.

## Claims

### Claim 1

A computer system, comprising:
an interface circuit;
a memory configured to store program modules and metadata associated with different types of computer network devices (CNDs), wherein each of the program modules comprises a set of instructions; and
a processor coupled to the interface circuit and the memory, wherein the processor is configured to execute the program modules, and wherein, when executed by the processor, the program modules cause the computer system to perform operations comprising:
providing a controller for multiple different types of CNDs based at least in part on the program modules and the metadata, wherein the providing comprises using a common framework in the computer system for the program modules,
wherein configuration and management of a given type of CND using the program modules is specified by a subset of the metadata associated with the given type of CND,
wherein the common framework comprises a unified protocol layer for the program modules,
wherein the operations comprise communicating with the different types of CNDs via the unified protocol layer using a common communication protocol, which is compatible with a HyperText Transfer Protocol Secure (HTTPS) communication protocol,
wherein the controller configures and manages the different types of CNDs,
wherein the memory stores a first data structure and a second data structure, and the operations comprise using common query responsibility segregation (CQRS) for streaming data and microservices, and seamless data synchronization based at least in part on the first data structure and the second data structure; and
wherein, for data reported by the given type of CND, the CQRS comprises storing the data to the first data structure, and, for a command associated with a configuration of the given type of CND, the CQRS comprises storing the data to the second data structure and synchronizing the second data structure with the first data structure.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein the types of CNDs comprise: an access point, a switch, a router, and a dataplane.

### Claim 3 (depends on 1)

The computer system of claim 1, wherein the communicating with the different types of CNDs occurs via a common access port.

### Claim 4 (depends on 1)

The computer system of claim 1, wherein a given program module is associated with one or more device-specific functions of at least the given type of CND.

### Claim 5 (depends on 1)

The computer system of claim 1, wherein one or more of a user interface, an application programming interface (API), storage, or a configuration of the given type of CND associated with at least a subset of the program modules are specified by the subset of the metadata associated with the given type of CND.

### Claim 6

A non-transitory computer-readable storage medium for use in conjunction with a computer system, the computer-readable storage medium storing program modules, wherein each of the program modules comprises a set of instructions, and wherein, when executed by the computer system, the program modules cause the computer system to perform operations comprising:
receiving, associated with a second computer, metadata associated with different types of computer network devices (CNDs), wherein configuration and management of a given type of CND using the program modules is specified by a subset of the metadata associated with the given type of CND; and
providing a controller for the multiple different types of CNDs based at least in part on the program modules and the metadata, wherein providing the controller comprises using a common framework in the computer system for the program modules, wherein the common framework comprises a unified protocol layer for the program modules,
wherein the operations comprise communicating with the different types of CNDs via the unified protocol layer using a common communication protocol, which is compatible with a HyperText Transfer Protocol Secure (HTTPS) communication protocol,
wherein the controller configures and manages the different types of CNDs,
wherein the computer-readable storage medium stores a first data structure and a second data structure, and the operations comprise using common query responsibility segregation (CQRS) for streaming data and microservices, and seamless data synchronization based at least in part on the first data structure and the second data structure; and
wherein, for data reported by the given type of CND, the operations comprises storing, using the CQRS, the data to the first data structure, and, for a command associated with a configuration of the given type of CND, the operations comprises storing, using the CQRS, the data to the second data structure and synchronizing, using the CQRS, the second data structure with the first data structure.

### Claim 7 (depends on 6)

The non-transitory computer-readable storage medium of claim 6, wherein the types of CNDs comprise: an access point, a switch, a router, and a dataplane.

### Claim 8 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the communicating with the different types of CNDs occurs via a common access port.

### Claim 9 (depends on 6)

The non-transitory computer-readable storage medium of claim 6, wherein a given program module is associated with one or more device-specific functions of at least the given type of CND.

### Claim 10

A method for providing a controller for multiple different types of computer network devices (CNDs), comprising:
by a computer system:
receiving, associated with a second computer, metadata associated with the different types of CNDs, wherein configuration and management of a given type of CND uses program modules and is specified by a subset of the metadata associated with the given type of CND, and wherein each of the program modules comprises a set of instructions; and
providing the controller for the multiple different types of CNDs based at least in part on the program modules and the metadata, wherein providing the controller comprises using a common framework in the computer system for the program modules, wherein the common framework comprises a unified protocol layer for the program modules,
wherein the operations comprise communicating with the different types of CNDs via the unified protocol layer using a common communication protocol, which is compatible with a HyperText Transfer Protocol Secure (HTTPS) communication protocol,
wherein the controller configures and manages the different types of CNDs,
wherein the computer system stores a first data structure and a second data structure, and the method comprises using common query responsibility segregation (CQRS) for streaming data and microservices, and seamless data synchronization based at least in part on the first data structure and the second data structure; and
wherein, for data reported by the given type of CND, the method comprises storing, using the CQRS, the data to the first data structure, and, for a command associated with a configuration of the given type of CND, the method comprises storing, using the CQRS, the data to the second data structure and synchronizing, using the CQRS, the second data structure with the first data structure.

### Claim 11 (depends on 10)

The method of claim 10, wherein the types of CNDs comprise: an access point, a switch, a router, and a dataplane.

### Claim 12 (depends on 11)

The method of claim 11, wherein the communicating with the different types of CNDs occurs via a common access port.

### Claim 13 (depends on 10)

The method of claim 10, wherein a given program module is associated with one or more device-specific functions of at least the given type of CND.

### Claim 14 (depends on 10)

The method of claim 10, wherein one or more of a user interface, an application programming interface (API), storage, or a configuration of the given type of CND associated with at least a subset of the program modules are specified by the subset of the metadata associated with the given type of CND.
