US11451464B2ActiveUtilityA1

Central authority for service and topology exchange

86
Assignee: 128 TECH INCPriority: May 13, 2019Filed: May 13, 2019Granted: Sep 20, 2022
Est. expiryMay 13, 2039(~12.8 yrs left)· nominal 20-yr term from priority
H04L 45/02H04L 67/51H04L 41/5019H04L 67/563H04L 41/5058H04L 45/04H04L 67/01
86
PatentIndex Score
5
Cited by
116
References
19
Claims

Abstract

A routing system for implementing a service and topology exchange protocol (STEP) comprises a primary STEP server configured to maintain a STEP repository and a plurality of routers, each router including a STEP client in communication with the primary STEP server. The STEP client of each router is configured to transmit, using the service and topology exchange protocol, service and topology state information for at least one route or service available through the router to the primary STEP server for storage in the STEP repository. The primary STEP server is configured to determine, for each router, whether the STEP repository includes any service and topology state information changes for the router based at least in part on the service and topology state information received from the routers and to transmit to the STEP client of each router for which there are service and topology state information changes, using the service and topology exchange protocol, only the service and topology state information changes.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system comprising:
 a server comprising one or more processors; and 
 a plurality of routers including a first router and a second router, 
 wherein one or more interfaces of the first router are configured with one or more logical groupings and one or more interfaces of the second router are configured with the one or more logical groupings, each logical grouping of the one or more logical groupings comprising one or more labels, wherein each label of the one or more labels is associated with a different Layer-3 network; 
 wherein the first router is configured to:
 transmit, to the server, first state information of the first router for each logical grouping with which the one or more interfaces of the first router are configured, the first state information comprising first service availability information indicating an availability of a service through the one or more interfaces of the first router and first service topology information indicating a first network topology for reaching the service via the one or more first interfaces of the first router; 
 
 wherein the one or more processors of the server are configured to:
 determine at least one change between the first state information and second state information of the first router, the second state information comprising second service availability information indicating the availability of the service through the one or more interfaces of the first router and second service topology information indicating the network topology for reaching the service via the one or more first interfaces of the first router; and 
 responsive to the determination of the at least one change between the first state information and the second state information of the first router, publish, to the second router that is subscribed to the server to receive changes in state information of the one or more logical groupings, the at least one change between the first state information and the second state information. 
 
 
     
     
       2. The system of  claim 1 , wherein the one or more processors of the server are configured to publish the at least one change between the first state information and the second state information as at least one JavaScript Object Notation (JSON) patch document. 
     
     
       3. The system of  claim 1 ,
 wherein the one or more processors of the server are configured to store the first state information with a path tree database of the server, and 
 wherein the first state information further comprises a path definition specifying a hierarchical organization of the first router within the path tree database. 
 
     
     
       4. The system of  claim 1 ,
 wherein the server comprises a first server, and 
 wherein the system further comprises a second server configured to:
 receive, from the second router, a request for the first state information of the first router; and 
 transmit, to the first server, a proxy request for the first state information of the first router. 
 
 
     
     
       5. The system of  claim 1 , wherein the first router is further configured to:
 receive, for each logical grouping with which the one or more interfaces of the first router are configured, changes in state information of the second router for the one or more logical groupings, the changes in the state information of the second router comprising service availability information indicating an availability of a service through the one or more interfaces of the second router and service topology information indicating a network topology for reaching the service via the one or more interfaces of the second router. 
 
     
     
       6. The system of  claim 1 , wherein the one or more processors of the server are further configured to store the first state information in a volatile datastore of the server such that the volatile datastore does not retain the first state information after the server is restarted. 
     
     
       7. The system of  claim 1 , wherein the first state information further comprises a Service Level Agreement (SLA) requirement for the service and an indication of whether or not the service is within the SLA requirement. 
     
     
       8. The system of  claim 1 ,
 wherein the one or more interfaces of the first router are configured with one or more first logical groupings of the plurality of logical groupings, and 
 wherein service topology information of the first state information comprises a route for one or more second logical groupings of the plurality of logical groupings with which the one or more interfaces of the first router are not configured. 
 
     
     
       9. The system of  claim 1 , wherein first state information further comprises at least one path metric for a route to the service. 
     
     
       10. The system of  claim 1 , wherein the one or more processors of the server are further configured to receive, from the second router, a subscription to the changes in the first state information of the first router. 
     
     
       11. The system of  claim 1 , wherein the server comprises a third router of the plurality of routers that is different from the first router and the second router. 
     
     
       12. The system of  claim 1 , wherein the one or more processors are further configured to:
 determine, based on the first service availability information and the first service topology information of the first state information, a route to the service; and 
 distribute the route to the second router of the plurality of routers. 
 
     
     
       13. A server comprising one or more processors configured to:
 receive, from a first router of a plurality of routers, first state information of the first router for one or more logical groupings with which one or more interfaces of the first router are configured, the first state information comprising first service availability information indicating an availability of a service through the one or more interfaces of the first router and first service topology information indicating a first network topology for reaching the service via the one or more interfaces of the first router,
 wherein the one or more interfaces of the first router are configured with the one or more logical groupings and one or more interfaces of a second router of the plurality of routers are configured with the one or more logical groupings, each logical grouping of the one or more logical groupings comprising one or more labels, wherein each label of the one or more labels is associated with a different Layer-3 network; 
 
 determine at least one change between the first state information and second state information of the first router, the second state information comprising second service availability information indicating the availability of the service through the one or more interfaces of the first router and second service topology information indicating the network topology for reaching the service via the one or more interfaces of the first router; and 
 responsive to the determination of the at least one change between the first state information and the second state information, publish, to the second router that is subscribed to the server to receive changes in state information of the one or more logical groupings, the at least one change between the first state information and the second state information. 
 
     
     
       14. The server of  claim 13 , wherein the one or more processors of the server are configured to publish the at least one change between the first state information and the second state information as at least one JavaScript Object Notation (JSON) patch document. 
     
     
       15. The server of  claim 13 ,
 wherein the one or more processors of the server are configured to store the first state information with a path tree database of the server, and 
 wherein the first state information further comprises a path definition specifying a hierarchical organization of the first router within the path tree database. 
 
     
     
       16. The server of  claim 13 , wherein the one or more processors of the server are further configured to store the first state information in a volatile datastore of the server such that the volatile datastore does not retain the first state information after the server is restarted. 
     
     
       17. The server of  claim 13 , wherein the one or more processors of the server are further configured to receive, from the second router, a subscription to the changes in the first state information of the first router. 
     
     
       18. The server of  claim 13 , wherein the one or more processors are further configured to:
 determine, based on the first service availability information and the first service topology information of the first state information, a route to the service; and 
 distribute the route to the second router of the plurality of routers. 
 
     
     
       19. A non-transitory, computer-readable medium comprising instructions that, when executed, are configured to cause one or more processors of a server to:
 receive, from a first router of a plurality of routers, first state information of the first router for one or more logical groupings with which the one or more interfaces of the first router are configured, the first state information comprising first service availability information indicating an availability of a service through one or more interfaces of the first router and first service topology information indicating a first network topology for reaching the service via the one or more interfaces of the first router,
 wherein the one or more interfaces of the first router are configured with the one or more logical groupings and one or more interfaces of a second router of the plurality of routers are configured with the one or more logical groupings, each logical grouping of the one or more logical groupings comprising one or more labels, wherein each label of the one or more labels is associated with a different Layer-3 network; 
 
 determine at least one change between the first state information and second state information of the first router, the second state information comprising second service availability information indicating the availability of the service through the one or more interfaces of the first router and second service topology information indicating the network topology for reaching the service via the one or more interfaces of the first router; and 
 responsive to the determination of the at least one change between the first state information and the second state information, publish, to the second router that is subscribed to the server to receive changes in state information of the one or more logical groupings, the at least one change between the first state information and the second state information.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.