Operating a network using relational database methodology
First Claim
1. A method, comprising:
- populating cells in a relational database with network configuration data, each cell containing the network configuration data for one router in a communications network;
receiving, at a configuration server, a configuration query specifying the one router in the communications network;
querying the relational database for the one router specified in the database query;
retrieving, from memory of the configuration server, a rule associated with the one router, the rule expressed as a list of enabled interfaces in the communications network and a router inventory of routers in the communications network;
determining a prefix of an Internet Protocol address assigned to the one router exists in response to the one router being matched to both the list of enabled interfaces and to the router inventory of routers;
deriving a view table by applying the rule; and
sending the view table to the one router as a response to the configuration query.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosed technology involves the use of relational databases in conjunction with declarative language and network-wide, database abstractions to manage and operate networks. The data model creates a logically centralized database abstraction and access point for managing data relevant to network management. Exemplary managed data includes router configurations, network status and provisioning data. This information resides in a single database system which is tightly integrated with the operational network. Transactional write operations are used to change network configurations, and enforce constraints to detect and prevent policy violations during operation. In accordance with one aspect of the disclosed technology, a network operation is implemented by means of a series of database commands—read and/or write—from and to database view tables.
25 Citations
11 Claims
-
1. A method, comprising:
-
populating cells in a relational database with network configuration data, each cell containing the network configuration data for one router in a communications network; receiving, at a configuration server, a configuration query specifying the one router in the communications network; querying the relational database for the one router specified in the database query; retrieving, from memory of the configuration server, a rule associated with the one router, the rule expressed as a list of enabled interfaces in the communications network and a router inventory of routers in the communications network; determining a prefix of an Internet Protocol address assigned to the one router exists in response to the one router being matched to both the list of enabled interfaces and to the router inventory of routers; deriving a view table by applying the rule; and sending the view table to the one router as a response to the configuration query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a processor; and memory storing code that when executed causes the processor to perform operations, the operations comprising; storing router configuration data in cells of a relational database, each cell containing the router configuration data for a router in a communications network; receiving a configuration query specifying the router in the communications network; querying the relational database for the router specified in the database query; retrieving, from memory of the configuration server, a rule associated with the router, the rule expressed as a list of enabled interfaces in the communications network and a router inventory of routers in the communications network; determining a prefix of an Internet Protocol address assigned to the router exists in response to the router being matched to both the list of enabled interfaces and to the router inventory of routers; determining a direct connection between the router and a second router in the communications network; determining both the router and the second router are administratively enabled from the list of enabled interfaces; determining both the router and the second router are configured as open shortest path first; and propagating a route from the router to the second router in response to the query. - View Dependent Claims (10)
-
-
11. A memory storing processor executable code that when executed causes a processor to perform operations, the operations comprising:
-
storing router configuration data in cells of a relational database, each cell containing the router configuration data for a router in a communications network; receiving a configuration query specifying the router in the communications network; querying the relational database for the router specified in the database query; retrieving a rule associated with the router, the rule expressed as a list of enabled interfaces in the communications network and a router inventory of routers in the communications network; determining a prefix of an Internet Protocol address assigned to the router exists in response to the router being matched to both the list of enabled interfaces and to the router inventory of routers; determining a direct connection between the router and a second router in the communications network; determining both the router and the second router are administratively enabled from the list of enabled interfaces; determining both the router and the second router are configured as open shortest path first; deriving a view table by applying the rule; retrieving a constraint associated with the router; applying the constraint to a configuration change to the router; determining the view table contains data in response to application of the constraint; determining violation of the constraint in response to the data in the view table; and rejecting propagation of the configuration change to the second router in response to the violation.
-
Specification