IP Library Granted Patent US 12,192,299
Granted Patent B2
US 12,192,299 · App. 17/715,084 · Granted Jan 7, 2025

Common-framework controller for multiple device types

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 12,192,299
App. No.
17/715,084
Filed
Apr 7, 2022
Granted
Jan 7, 2025
Kind
B2
Art Unit
2457
USPC
709/224
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 (37)

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.

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

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

4. 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.

5. 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.

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.

7. 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.

8. 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.

9. 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.

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.

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

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

13. 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.

14. 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.