IP Library Granted Patent US 8,682,940
Granted Patent B2
US 8,682,940 · App. 12/830,154 · Granted Mar 25, 2014

Operating a network using relational database methodology

Inventors: Jacobus E Van de Merwe (New Providence, NJ); Xu Chen (Ann Arbor, MI); Yun Mao (Jersey City, NJ); Zhuoqing M Mao (Ann Arbor, MI)
Assignee: AT&T Intellectual Property I, L. P.
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 8,682,940
App. No.
12/830,154
Granted
Mar 25, 2014
Kind
B2
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.

Claims (62)

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. The method of claim 1 , further comprising writing a change to one of the cells in the relational database.

3. The method of claim 1 , further comprising transmitting the change to the physical component.

4. The method of claim 1 , further comprising changing the configuration data of the one router.

5. The method of claim 1 , further comprising:

determining the one router is directly connected to a second router in the communications network;

determining both the one router and the second router are administratively enabled from the list of enabled interfaces;

determining both the one router and the second router are configured as open shortest path first; and

propagating a route from the one router to the second router in response.

6. The method of claim 1 wherein the relational database is a centralized database.

7. The method of claim 1 , further comprising:

retrieving a constraint associated with the one router;

applying the constraint to a configuration change to the one router;

receiving an empty list in response to application of the constraint;

determining satisfaction of the constraint in response to the empty list; and

propagating the configuration change to another router in response to the empty list.

8. The method of claim 1 , further comprising:

retrieving a constraint associated with the one router;

applying the constraint to a configuration change to the one 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 another router in response to the violation.

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.

10. The system according to claim 9 , wherein the operations of further comprise:

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 another router in response to the violation.

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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2014
From: MAO, ZHUOQING M.; CHEN, XU
To: THE REGENTS OF THE UNIVERSITY OF MICHIGAN
Reel/Frame 032654/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2011
From: VAN DER MERWE, JACOBUS, MR.; MAO, YUN, MR.
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 025845/0779 →
Continuity (1)
Related Publication 20120005243A1 · Jan 5, 2012