IP Library Granted Patent US 11,362,903
Granted Patent B2
US 11,362,903 · App. 16/801,369 · Granted Jun 14, 2022

High performance and scalable multi-layer topology discovery systems and methods

Inventors: John Wade Cherrington (Salt Spring Island, CA); Ankur Jain (Gurgaon, IN)
Assignee: Ciena Corporation
H04L41/12H04L67/42
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 11,362,903
App. No.
16/801,369
Granted
Jun 14, 2022
Kind
B2
Abstract

High performance and scalable multi-layer topology discovery systems and methods provide awareness of what services are present across a multi-layer network. The present disclosure achieves a high level of performance in service discovery, and, in addition, provides a form of scalability in proportion to network size by distributing service observation across servers in a cluster. The present disclosure defines a concept of change-proportional online run-time efficiency and thus provides an optimal design. Further, the present disclosure achieves horizontal scale, leveraging multiple cores across multiple servers.

Claims (39)

1. A non-transitory computer-readable medium having instructions stored thereon for programming a processing device to perform steps of:

obtaining incoming data on a per network element basis, from network elements in a multi-layer network having a plurality of network elements and having at least a server layer and a client layer that operates over the server layer;

structuring the incoming data for topology discovery into atoms, each atom is a unit of data representing a server-server relationship or a client-server relationship;

processing the atoms at various layers including the server layer and the client layer in parallel to determine topology changes of services in the multi-layer network, wherein the various layers include any of Layer 0, 1, 2, and/or 3, wherein the server-server relationship models connectivity within one of the any of Layer 0, 1, 2, and/or 3, and wherein the client-server relationship models connectivity between adjacent layers of the any of Layer 0, 1, 2, and/or 3; and

detecting the topology changes by comparing the processed atoms to existing atoms, wherein the atoms are utilized to detect a complete service, for the topology changes, through a connected trail of atoms and a client-server relationship on both ends of the connected trail of atoms.

2. The non-transitory computer-readable medium of claim 1 , wherein the instructions further program the processing device to perform steps of

publishing output responsive to changes based on the incoming data and based on the processing the atoms.

3. The non-transitory computer-readable medium of claim 2 , wherein an amount of the processing is proportional to ultimate output change.

4. The non-transitory computer-readable medium of claim 1 , wherein the instructions further program the processing device to perform steps of

performing the processing the atoms concurrently across the server layer and the client layer.

5. The non-transitory computer-readable medium of claim 1 , wherein the instructions further program the processing device to perform steps of

utilizing a data structure in the structuring to detect a service completion at a layer, wherein the data structure represents connections in a graph, supporting a constant time lookup.

6. The non-transitory computer-readable medium of claim 1 , wherein the incoming data is asynchronous from the network elements.

7. An apparatus comprising:

a processor and memory including instructions that, when executed, cause the processor to

obtain incoming data on a per network element basis, from network elements in a multi-layer network having a plurality of network elements and having at least a server layer and a client layer that operates over the server layer,

structure the incoming data for topology discovery into atoms, each atom is a unit of data representing a server-server relationship or a client-server relationship,

process the atoms at various layers including the server layer and the client layer in parallel to determine topology changes of services in the multi-layer network, wherein the various layers include any of Layer 0, 1, 2, and/or 3, wherein the server-server relationship models connectivity within one of the any of Layer 0, 1, 2, and/or 3, and wherein the client-server relationship models connectivity between adjacent layers of the any of Layer 0, 1, 2, and/or 3; and

detect the topology changes by comparing the processed atoms to existing atoms, wherein the atoms are utilized to detect a complete service, for the topology changes, through a connected trail of atoms and a client-server relationship on both ends of the connected trail of atoms.

8. The apparatus of claim 7 , wherein the instructions that, when executed, further cause the processor to

publish output responsive to changes based on the incoming data and based on the processing the atoms.

9. The apparatus of claim 8 , wherein an amount of the processing is proportional to ultimate output change.

10. The apparatus of claim 7 , wherein the instructions that, when executed, further cause the processor to

perform the processing the atoms concurrently across the server layer and the client layer.

11. The apparatus of claim 7 , wherein the instructions that, when executed, further cause the processor to

utilize a data structure in the structuring to detect a service completion at a layer, wherein the data structure represents connections in a graph, supporting a constant time lookup.

12. The apparatus of claim 7 , wherein the incoming data is asynchronous from the network elements.

13. A method comprising:

obtaining incoming data on a per network element basis, from network elements in a multi-layer network having a plurality of network elements and having at least a server layer and a client layer that operates over the server layer;

structuring the incoming data for topology discovery into atoms, each atom is a unit of data representing a server-server relationship or a client-server relationship;

processing the atoms at various layers including the server layer and the client layer in parallel to determine topology changes of services in the multi-layer network, wherein the various layers include any of Layer 0, 1, 2, and/or 3, wherein the server-server relationship models connectivity within one of the any of Layer 0, 1, 2, and/or 3, and wherein the client-server relationship models connectivity between adjacent layers of the any of Layer 0, 1, 2, and/or 3; and

detecting the topology changes by comparing the processed atoms to existing atoms, wherein the atoms are utilized to detect a complete service, for the topology changes, through a connected trail of atoms and a client-server relationship on both ends of the connected trail of atoms.

14. The method of claim 13 , further comprising

publishing output responsive to changes based on the incoming data and based on the processing the atoms.

15. The method of claim 14 , wherein an amount of the processing is proportional to ultimate output change.

16. The method of claim 13 , further comprising

performing the processing the atoms concurrently across the server layer and the client layer.

17. The method of claim 13 , further comprising

utilizing a data structure in the structuring to detect a service completion at a layer, wherein the data structure represents connections in a graph, supporting a constant time lookup.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: CHERRINGTON, JOHN WADE; JAIN, ANKUR
To: CIENA CORPORATION
Reel/Frame 051932/0234 →
Priority Claims (1)
IN 202011001395 · Jan 13, 2020 · national
Continuity (1)
Related Publication 20210218635A1 · Jul 15, 2021
Cited By (1)
US 12,513,077