Fetching topologies using timestamp-callback map
US-12184500-B1 · Dec 31, 2024 · US
US9596141B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9596141-B2 |
| Application number | US-201313844021-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 15, 2013 |
| Priority date | Mar 15, 2013 |
| Publication date | Mar 14, 2017 |
| Grant date | Mar 14, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
System, method, and computer program product to represent a network using a programmable graph model, by generating a directed graph to represent a topology of the network, wherein each of a plurality of network elements in the network are represented, in the directed graph, by one of the plurality of nodes, identifying, through the directed graph, a subset of network elements, of the plurality of network elements, upon which to apply a requested operation, and applying the requested operation to the subset of network elements in a distributed manner through the directed graph.
Opening claim text (preview).
I claim: 1. A method to represent a network using a programmable graph model, comprising: providing, by each of a plurality of network elements in the network, a plurality of service sets, wherein each of the plurality of service sets provides a plurality of application programming interfaces (APIs); receiving, from a first API of a first service set provided by each of the plurality of network elements, location information for each of the plurality of network elements; receiving, from a first API of a second service set provided by each of the plurality of network elements, a set of attributes of each of the plurality of network elements; generating, based on the received location information and sets of attributes, a directed graph to represent a topology of the network, wherein each of the plurality of network elements are represented in the directed graph by one of the plurality of nodes, wherein each node stores an indication of the set of attributes of the respective network element represented by the node; identifying, through the indication of the sets of attributes stored in the directed graph, a subset of network elements, of the plurality of network elements, upon which to apply a requested operation, wherein at least two of the network elements in the subset of network elements execute different operating systems; and applying the requested operation to the subset of network elements in a distributed manner through the directed graph, wherein the requested operation is applied by a first API provided by a third service set provided by the subset of network elements. 2. The method of claim 1 , wherein each of the plurality of network elements supports a common programming model via the APIs, sets of attributes comprise: (i) link state information of the respective network element, (ii) routing information of the respective network element, (iii) source and destination information of application data flowing through the respective network element, (iv) hardware components of the respective network element, (v) capabilities of the respective element, and (vi) a set of neighboring network elements each respective network element is directly connected to. 3. The method of claim 2 , wherein receiving the location information and set of attributes of each network element comprises: prior to receiving the location information for each of the plurality of network elements, querying, via the first API of the first service set, each of the plurality of network elements; and prior to receiving the set of attributes from each of the plurality of network elements, querying, via the first API of the second service set, each of the plurality of network elements. 4. The method of claim 3 , further comprising: configuring an agent to receive updated attribute values from each of the plurality of network elements when a change is made to the current attribute values. 5. The method of claim 4 , wherein an edge in the directed graph represents a link between an input interface of a first node and an output interface second node, of the plurality of nodes. 6. The method of claim 5 , wherein the requested operation is a networking function supported by the input interface of the first node and the output interface of the second node, wherein the networking function is applied to the input interface of the first node and the output interface of the second node. 7. The method of claim 6 , wherein the networking function is not supported by a third node, wherein the networking function is not applied to the third node. 8. The method of claim 6 , wherein the common programming model applies the networking function equally across each of the plurality of network elements including the at least two networking elements in the subset executing different operating systems. 9. The method of claim 8 , wherein a first network element represented by a first node in the topology graph is one of: (i) a physical network element, and (ii) a virtual network element. 10. The method of claim 9 , wherein the subset of network elements is identified by: (i) filtering the directed graph, (ii) identifying a virtual path through the directed graph from a first node to a second node, (iii) identifying a logical path through the directed graph from the first node to the second node, (iv) identifying a subset of nodes having at least one specified attribute, and (v) identifying a flow from the first node to the second node. 11. A computer program product to represent a network using a programmable graph model, comprising: a non-transitory computer-readable storage medium having computer-readable program code embedded therewith, the computer-readable program code executable by a processor to perform an operation comprising: providing, by each of a plurality of network elements in the network, a plurality of service sets, wherein each of the plurality of service sets provides a plurality of application programming interfaces (APIs); receiving, from a first API of a first service set provided by each of the plurality of network elements, location information for each of the plurality of network elements; receiving, from a first API of a second service set provided by each of the plurality of network elements, a set of attributes of each of the plurality of network elements; generating, based on the received location information and sets of attributes, a directed graph to represent a topology of the network, wherein each of the plurality of network elements are represented in the directed graph by one of the plurality of nodes, wherein each node stores an indication of the set of attributes of the respective network element represented by the node; identifying, through the indication of the sets of attributes stored in the directed graph, a subset of network elements, of the plurality of network elements, upon which to apply a requested operation, wherein at least two of the network elements in the subset of network elements execute different operating systems; and applying the requested operation to the subset of network elements in a distributed manner through the directed graph, wherein the requested operation is applied by a first API provided by a third service set provided by the subset of network elements. 12. The computer program product of claim 11 , wherein each of the plurality of network elements supports a common programming model via the APIs, sets of attributes comprise: (i) link state information of the respective network element, (ii) routing information of the respective network element, (iii) source and destination information of application data flowing through the respective network element, (iv) hardware components of the respective network element, (v) capabilities of the respective element, and (vi) a set of neighboring network elements each respective network element is directly connected to. 13. The computer program product of claim 12 , wherein receiving the location information and set of attributes of each network element comprises: prior to receiving the location information for each of the plurality of network elements, querying, via the first API of the first service set, each of the plurality of network elements; and prior to receiving the set of attributes from each of the plurality of network elements, querying, via the first API of the second service set, each of the plurality of network elements. 14. The computer program product of claim 13 , the operation further comprising: configuring an agent to receive updated attribute values from each of the plurality of network elements when a change is made to the current attribute values.
Topology update or discovery · CPC title
Discovery or management of network topologies · CPC title
Connectivity information management, e.g. connectivity discovery or connectivity update · CPC title
for graphical visualisation of monitoring data · CPC title
Electricity · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.