Hierarchical anomaly localization and prioritization
Summary by NHIP
Hierarchical anomaly prioritization
The method identifies root cause nodes in a hierarchical topology by comparing counts of abnormal and indeterminate descendants against normal ones. It selects the candidate node covering the largest subset of abnormal nodes when multiple candidates exist.
Claim Score by NHIP
Abstract
Methods, apparatus and articles of manufacture for hierarchical anomaly localization and prioritization are disclosed. An example method disclosed herein comprises obtaining reported status for a plurality of nodes of a hierarchical topology, the reported status for a particular node being at least one of normal, abnormal or indeterminate, and determining a subset of root cause abnormal nodes, a root cause abnormal node included in the subset of root cause abnormal nodes having a total number of abnormal direct descendent nodes and indeterminate direct descendent nodes that is greater than a number of normal direct descendent nodes of the root cause abnormal node.

Term
Projected expiry 21 February 2032.
- Priority and filed
- Granted
- Today
- Projected expiry
17 claims: 3 independent, 14 dependent
- 1A method comprising:determining, with a processor, whether a first abnormal node included in a plurality of nodes of a hierarchical topology has a total number of (1) abnormal direct descendent nodes and (2) indeterminate direct descendent nodes that is greater than a number of normal direct descendent nodes of the first abnormal node;in response to determining that the total number of the abnormal direct descendent nodes and the indeterminate direct descendent nodes of the first abnormal node is greater than the number of the normal direct descendent nodes of the first abnormal node, including the first abnormal node in a set of candidate root cause abnormal nodes of the hierarchical topology;and determining a subset of root cause abnormal nodes from the set of candidate root cause abnormal nodes, wherein determining the subset of root cause abnormal nodes from the set of candidate root cause abnormal nodes comprises: determining, for a first candidate root cause abnormal node, a first subset of a set of abnormal nodes in the hierarchical topology covered by the first candidate root cause abnormal node;and selecting the first candidate root cause abnormal node for inclusion in the subset of root cause abnormal nodes if the first candidate root cause abnormal node covers a largest subset of the set of abnormal nodes in the hierarchical topology.
- 7Broadest claimClaim Score 25, narrow(NHIP)A tangible computer readable medium comprising computer readable instructions which, when executed, cause a computer to perform operations comprising:determining whether a first abnormal node included in a plurality of nodes of a hierarchical topology has a total number of (1) abnormal direct descendent nodes and (2) indeterminate direct descendent nodes that is greater than a number of normal direct descendent nodes of the first abnormal node;in response to determining that the total number of the abnormal direct descendent nodes and the indeterminate direct descendent nodes of the first abnormal node is greater than the number of the normal direct descendent nodes of the first abnormal node, including the first abnormal node in a set of candidate root cause abnormal nodes of the hierarchical topology;and determining a subset of root cause abnormal nodes from the set of candidate root cause abnormal nodes by further operations comprising: determining, for a first candidate root cause abnormal node, a first subset of a set of abnormal nodes in the hierarchical topology covered by the first candidate root cause abnormal node;and selecting the first candidate root cause abnormal node for inclusion in the subset of root cause abnormal nodes if the first candidate root cause abnormal node covers a largest subset of the set of abnormal nodes in the hierarchical topology.
- 13An apparatus comprising:a memory having computer readable instructions stored thereon;and a processor to execute the instructions to perform operations comprising: selecting a set of candidate root cause abnormal nodes from a set of abnormal nodes identified in a hierarchical topology, a first abnormal node being selected for inclusion in the set of candidate root cause abnormal nodes in response to determining that a sum of (1) abnormal direct descendent nodes and (2) indeterminate direct descendent nodes of the first abnormal node is greater than a number of normal direct descendent nodes of the first abnormal node;determining a subset of root cause abnormal nodes from the set of candidate root cause abnormal nodes, the subset of root cause abnormal nodes to cover the set of abnormal nodes identified in the hierarchical topology;determining, for a first candidate root cause abnormal node, a respective subset of the set of abnormal nodes identified in the hierarchical topology that are covered by the first candidate root cause abnormal node;and selecting the first candidate root cause abnormal node for inclusion in the subset of root cause abnormal nodes if the first candidate root cause abnormal node covers a largest subset of the set of abnormal nodes identified in the hierarchical topology.
Independent claims3
80 paragraphs in 4 sections, as filed
FIELD OF THE DISCLOSURE
p-0002This disclosure relates generally to anomaly processing and, more particularly, to hierarchical anomaly localization and prioritization.
BACKGROUND
p-0003In recent years, Internet Service Providers (ISPs) have been rolling out a wide range of value added services beyond basic connectivity, such as web hosting, content distribution network (CDN) services, database services, gaming services, cloud computing, e-commerce server hosting, etc. In many cases, customers access these value added services via an Internet connection and, as such, customers can be dispersed over a wide geographic area. Additionally, the value added services provided by an ISP are often hosted in geographically distributed data centers, which may be co-located with an ISP's different Points of Presence (PoPs). Detecting and localizing end-to-end performance issues for such wide-area services can be useful to an ISP operator for achieving desired end user service quality, such as by enabling fast service impairment detection and flexible mitigation control. Existing techniques for detecting and localizing performance issues and other network anomalies can involve using active probes placed strategically in an ISP's wide-area network that inject probe packets into the network to enable detection of anomalies associated with the locations of the active probes.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0004<figref idrefs="DRAWINGS">FIG. 1</figref> is block diagram of an example system to perform hierarchical anomaly localization and prioritization.
p-0005<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram of a first example hierarchical topology for which the example system of <figref idrefs="DRAWINGS">FIG. 1</figref> can perform hierarchical anomaly localization and prioritization.
p-0006<figref idrefs="DRAWINGS">FIG. 3</figref> is a block diagram of a second example hierarchical topology for which the example system of <figref idrefs="DRAWINGS">FIG. 1</figref> can perform hierarchical anomaly localization and prioritization.
p-0007<figref idrefs="DRAWINGS">FIG. 4</figref> is a block diagram of an example anomaly localizer that can be used to implement the example system of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0008<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates an example operation of the example anomaly localizer of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0009<figref idrefs="DRAWINGS">FIG. 6</figref> is a block diagram of an example anomaly prioritizer that can be used to implement the example system of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0010<figref idrefs="DRAWINGS">FIG. 7</figref> is a flowchart representative of example machine readable instructions that may be executed to implement the example system of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0011<figref idrefs="DRAWINGS">FIG. 8</figref> is a flowchart representative of example machine readable instructions that may be executed to implement the example anomaly localizer of <figref idrefs="DRAWINGS">FIG. 4</figref>.
p-0012<figref idrefs="DRAWINGS">FIG. 9</figref> is a flowchart representative of example machine readable instructions that may be executed to implement a greedy algorithm for use in implementing the example anomaly localizer of <figref idrefs="DRAWINGS">FIG. 4</figref> and/or the example machine readable instructions of <figref idrefs="DRAWINGS">FIG. 8</figref>.
p-0013<figref idrefs="DRAWINGS">FIG. 10</figref> depicts example pseudocode representative of example machine readable instructions that may be used to implement the flowchart of <figref idrefs="DRAWINGS">FIG. 9</figref>.
p-0014<figref idrefs="DRAWINGS">FIG. 11</figref> is a flowchart representative of example machine readable instructions that may be executed to implement the example anomaly prioritizer of <figref idrefs="DRAWINGS">FIG. 6</figref>.
p-0015<figref idrefs="DRAWINGS">FIG. 12</figref> is a block diagram of an example processing system that may execute the example machine readable instructions represented by <figref idrefs="DRAWINGS">FIGS. 7-10</figref> and/or <b>11</b> to implement the example system of <figref idrefs="DRAWINGS">FIG. 1</figref>, the example anomaly localizer of <figref idrefs="DRAWINGS">FIG. 4</figref> and/or the example anomaly prioritizer of <figref idrefs="DRAWINGS">FIG. 6</figref>.
DETAILED DESCRIPTION
p-0016Methods, apparatus and articles of manufacture for hierarchical anomaly localization and prioritization are disclosed herein. An example method disclosed herein includes obtaining reported status for a plurality of nodes of a hierarchical topology. The reported status for a particular node can be at least one of normal, abnormal or indeterminate. The example method also includes determining a subset of root cause abnormal nodes that covers a set of abnormal nodes in the hierarchical topology indicated by the reported status. In some examples, a root cause abnormal node that is included in the subset of root cause abnormal nodes has a total number of abnormal direct descendent nodes and indeterminate direct descendent nodes that is greater than a number of normal direct descendent nodes of the root cause abnormal node.
p-0017In some examples, to determine the subset of root cause abnormal nodes, the method further includes selecting a set of candidate root cause abnormal nodes from the set of abnormal nodes in the hierarchical topology. For example, a candidate root cause abnormal node can be any abnormal node that has a respective number of abnormal direct descendent nodes and indeterminate direct descendent nodes that is greater than a respective number of normal direct descendent nodes of the candidate root cause abnormal node. After selecting the set of candidate root cause abnormal nodes from the set of abnormal nodes, the example method then determines the subset of root cause abnormal nodes from the set of candidate root cause abnormal nodes. For example, for each respective candidate root cause abnormal node, the method can determine a respective subset of the set of abnormal nodes in the hierarchical topology covered by the respective candidate root cause abnormal node. A particular candidate root cause abnormal node covers an abnormal node if, for example, the abnormal node is the particular candidate root cause abnormal node itself, or the abnormal node is a descendent of the particular candidate root cause abnormal node, or the abnormal node is an ancestor of the particular candidate root cause abnormal node. In some examples, the method employs a greedy technique involving selecting a first candidate root cause abnormal node for inclusion in the subset of root cause abnormal nodes if the first candidate root cause abnormal node covers a largest subset of the set of abnormal nodes in the hierarchical topology. The method then continues to iteratively select a next candidate root cause abnormal node covering the next largest subset of the set of abnormal nodes for inclusion in the subset of root cause abnormal nodes.
p-0018An example apparatus disclosed herein includes an example candidate selector (e.g., implemented by a first processor) to select a set of candidate root cause abnormal nodes from a set of abnormal nodes identified in a hierarchical topology. As noted above, a particular candidate root cause abnormal node may be any abnormal node that has a total number of abnormal direct descendent nodes and indeterminate direct descendent nodes that is greater than a number of normal direct descendent nodes of the particular candidate root cause abnormal node. The example apparatus also includes an example root cause determiner (e.g., implemented by at least one of the first processor or a second processor) to determine a set of root cause abnormal nodes from the set of candidate root cause abnormal nodes selected by the candidate selector. The set of root cause abnormal nodes is to cover the set of abnormal nodes identified in the hierarchical topology. For example, the root cause determiner can iteratively select candidate root cause abnormal nodes for inclusion in the subset of root cause abnormal nodes based on sizes of the subsets of abnormal nodes in the hierarchical topology covered by the respective candidate root cause abnormal nodes.
p-0019In some examples, the apparatus further includes a prioritizer to determine a size (e.g., degree, severity, etc.) of a respective abnormality associated with each root cause abnormal node included in the subset of root cause abnormal nodes. The prioritizer can also determine a scope (e.g., number of end users affected, geographic region affected, etc.) for the respective abnormality associated with each root cause abnormal node included in the subset of root cause abnormal nodes. The prioritizer can further rank the root cause abnormal nodes included in the subset of root cause abnormal nodes based on size and/or scope.
p-0020In the preceding examples, the nodes of the hierarchical topology can include, for example, physical, logical and/or geographical network elements at different hierarchical levels in a network. For example, in a network employing the border gateway protocol (BGP), the nodes can include routers, autonomous systems (ASes), AS paths, BGP prefixes, etc., and/or the particular geographic location served by these physical and logical network elements. As another example, in a 3rd generation mobile network, the nodes can include serving GPRS supports nodes (SGSNs, where GPRS refers to the general packet radio service), radio network controllers (RNCs), etc., and/or the particular markets and sub-markets served by these physical and logical network elements.
p-0021As noted above, existing techniques for detecting and localizing performance issues and other network anomalies can involve using active probes placed at particular locations in an ISP's wide-area network. The active probes inject probe packets into the network to enable detection of anomalies associated with the locations of the active probes. Such active probe techniques are, therefore, limited in that network anomalies can be localized only to the particular locations at which the active probes are placed. In contrast, the example methods, apparatus and articles of manufacture disclosed herein can be used to localize network anomalies at any specified or identified physical, logical, geographic, etc., node in a network hierarchical topology. The example methods, apparatus and articles of manufacture disclosed herein can also localize anomalies to determine root cause abnormal node(s) using passive, as well as active, network monitoring. Furthermore, in some examples, the methods, apparatus and articles of manufacture disclosed herein can prioritize the root cause abnormal node based on one or more criteria, such as anomaly size, scope, etc.
p-0022Turning to the figures, a block diagram of an example system <b>100</b> to perform hierarchical anomaly localization and prioritization as disclosed herein is illustrated in <figref idrefs="DRAWINGS">FIG. 1</figref>. The example system <b>100</b> includes an example anomaly detector <b>105</b> to detect anomalies associated with one or more nodes of a hierarchical topology. In the illustrated example, the anomaly detector <b>105</b> is configured by an example user workstation <b>110</b>. The user workstation <b>110</b> may be implemented by any type of workstation for use by any type of user, operator, administrator, etc. For example, the user workstation <b>110</b> may be implemented by a computer workstation, a server, a desktop computer, a notebook computer, a tablet computer, a personal digital assistant (PDA), a smartphone, the example processing system <b>1200</b> illustrated in <figref idrefs="DRAWINGS">FIG. 12</figref>, etc., or any combination thereof.
p-0023In the illustrated example, the user workstation <b>110</b> can be used to configure a hierarchical topology <b>115</b> for which anomalies are to be detected by the anomaly detector <b>105</b>. Example hierarchical topologies <b>115</b> for which the anomaly detector <b>105</b> may be configured to perform anomaly detection are illustrated in <figref idrefs="DRAWINGS">FIGS. 2-3</figref>, which are described in greater detail below. Other configuration information <b>120</b>, such as anomaly criteria, measurement parameters, etc., for the anomaly detector <b>105</b> may additionally or alternatively be configured by the user workstation <b>110</b>. In some examples, one or more of the hierarchical topology <b>115</b> and/or other configuration information <b>120</b> may be predetermined (e.g., initialized, hard-coded, etc.) in the anomaly detector <b>105</b>.
p-0024Example hierarchical topologies <b>200</b> and <b>300</b> that may correspond to the hierarchical topology <b>115</b> configured by the user workstation <b>110</b> are illustrated in <figref idrefs="DRAWINGS">FIGS. 2 and 3</figref>, respectively. The example hierarchical topology <b>200</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> corresponds to a BGP-based network implementing an intelligent content distribution service (ICDS). The example hierarchical topology <b>300</b> of <figref idrefs="DRAWINGS">FIG. 3</figref> corresponds to a 3rd generation mobile communications network. The hierarchical topologies <b>200</b> and <b>300</b> include nodes representing physical, logical, geographical, etc., elements of the network aggregated at different levels in the network hierarchy. For a particular node in the hierarchical topology <b>200</b> or <b>300</b>, its descendent node(s) are the node(s) connected to the particular node by one or more edges and located at one or more lower hierarchical levels of the hierarchical topology, whereas its ancestor node(s) are the node(s) connected to the particular node by one or more edges and located at one or more higher hierarchical levels of the hierarchical topology <b>200</b>/<b>300</b>.
p-0025For example, in the hierarchical topology <b>200</b> of <figref idrefs="DRAWINGS">FIG. 2</figref>, the lowest levels of the hierarchy include nodes <b>205</b> and <b>210</b> representing different BGP prefixes of the BGP-based network, and nodes <b>215</b> and <b>220</b> representing different geographic regions (e.g., cities) served by the BGP-based network. In the illustrated example, the BGP prefix nodes <b>205</b> and <b>210</b> are aggregated into one or more ancestor nodes <b>225</b> and <b>230</b> representing the AS paths associated with these BGP prefixes. For example, the node <b>225</b> represents the AS path associated with the BGP prefixes represented by the descendent nodes <b>205</b> and <b>210</b>.
p-0026In the example hierarchical topology <b>200</b>, the BGP prefix nodes <b>205</b> and <b>210</b>, the city nodes <b>215</b> and <b>220</b>, and the AS path nodes <b>225</b> and <b>230</b> are aggregated into one or more ancestor nodes <b>235</b>, <b>240</b>, <b>245</b> and <b>250</b> representing the autonomous systems associated with each of these descendent nodes. For example, the node <b>240</b> represents an original autonomous system associated with the BGP prefix nodes <b>205</b>/<b>210</b> and the city nodes <b>215</b>/<b>220</b>, whereas the node <b>250</b> represents a next-hop autonomous system associated with the AS path nodes <b>225</b> and <b>230</b>. The hierarchical topology <b>200</b> of the illustrated example further aggregates the autonomous system nodes <b>235</b>-<b>250</b> into one or more ancestor nodes <b>255</b> and <b>260</b> representing the egress routers (e.g., provider edge routers) associated with these autonomous systems. The egress router nodes <b>255</b> and <b>260</b> are aggregated into a top-level node <b>265</b> of the hierarchical topology <b>200</b> representing the intelligent content distribution service provided by the BGP-based network.
p-0027Turning to the example hierarchical topology <b>300</b> of <figref idrefs="DRAWINGS">FIG. 3</figref>, the lowest level of the hierarchy include nodes <b>305</b> and <b>310</b> representing different cell sites of the mobile network. In the illustrated example, the site nodes <b>305</b> and <b>310</b> are aggregated into one or more ancestor nodes <b>315</b> and <b>320</b> representing the RNCs associated with these cell sites. For example, the node <b>320</b> represents the RNC associated with the cell sites represented by the descendent nodes <b>305</b> and <b>310</b>. In the hierarchical topology <b>300</b>, the RNC nodes <b>315</b> and <b>320</b> are aggregated into one or more ancestor nodes representing the SGSNs associated with these RNCs. For example, the node <b>330</b> represents the SGSN associated with the RNCs represented by the descendent nodes <b>315</b> and <b>320</b>. The SGSN nodes <b>325</b> and <b>330</b> are further aggregated into one or more ancestor nodes <b>335</b> and <b>340</b> representing the sub-markets associated with these SGSNs. For example, the node <b>335</b> represents the sub-market associated with the SGSNs represented by the descendent nodes <b>325</b> and <b>330</b>. The sub-market nodes <b>335</b> and <b>340</b> are aggregated into a top-level node <b>345</b> of the hierarchical topology <b>300</b> representing the market served by the mobile network.
p-0028Returning to the illustrated example of <figref idrefs="DRAWINGS">FIG. 1</figref>, the anomaly detector <b>105</b> included in the system <b>100</b> can perform any type of anomaly detection processing on measurements <b>125</b> obtained for the hierarchical topology <b>115</b> configured by the user workstation <b>110</b> to detect anomalies associated with one or more nodes of the hierarchical topology <b>115</b>. For example, the anomaly detector <b>105</b> can be configured to process end-to-end round-trip-time (RTT) measurements for communications between an end-user and a server providing a service, such as one or more of the value-added services mentioned above. In such an example, the hierarchical topology <b>115</b> can correspond to the network providing the service(s), and the other configuration information <b>120</b> can specify parameters for (1) processing the RTT measurements (e.g., averaging over time, segmenting/binning over time, etc.), (2) aggregating the RTT measurements at different nodes in the hierarchical topology <b>115</b>, (3) determining whether the RTT measurements are indicative of an anomaly (e.g., based on exceeding a specified threshold, deviating from a specified RTT range, etc.), etc.
p-0029The anomaly detector <b>105</b> of the illustrated example processes the measurements <b>125</b> to provide a reported status <b>130</b> for the nodes in the hierarchical topology <b>115</b>. For example, a node associated with a detected anomaly may have a reported status of “abnormal” to indicate that the node is an abnormal node, whereas a node that is not associated with a detected anomaly may have a reported status of “normal” to indicate that the node is a normal node. In some examples, the anomaly detector <b>105</b> can also support reporting a status of “indeterminate” for a particular node to indicate that the results of anomaly detection for the particular node were inconclusive (e.g., due to insufficient measurements for that particular node and/or for the associated level of the hierarchical topology <b>115</b>).
p-0030The example system <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> includes an example anomaly localizer <b>135</b> to receive or otherwise obtain the reported status from the anomaly detector <b>105</b> and to locate, or localize, the anomalies in the hierarchical topology <b>115</b>. As such, in the illustrated example, the anomaly localizer <b>135</b> is also configured by the user workstation <b>110</b> with the hierarchical topology <b>115</b>. The example anomaly localizer <b>135</b> obtains the reported status <b>130</b> from the anomaly detector <b>105</b> that indicates whether each node in the hierarchical topology <b>115</b> is an abnormal node, a normal node, or an indeterminate node. For example, the reported status <b>130</b> obtained from the anomaly detector <b>105</b> may include a value of “1” for an abnormal node, a value of “0” for a normal node, and a value of “−1” for an indeterminate node.
p-0031In the illustrated example, the anomaly localizer <b>135</b> uses the reported status from the anomaly detector <b>105</b> to localize the anomalies detected by the anomaly detector <b>105</b> in the hierarchical topology <b>115</b> into a subset of root cause abnormal nodes of the hierarchical topology <b>115</b>. For example, in the hierarchical topologies <b>200</b> and/or <b>300</b> representing communication networks, a single underlying network event (e.g., such as a link failure) may manifest itself as anomalies at different hierarchy levels. As an illustrative example, in the hierarchical topology <b>200</b>, assume that an underlying network event has caused an increase of RTT for all user requests associated with a particular BGP prefix. In such an example, the anomaly detector <b>105</b> can detect the RTT anomaly for the node of the hierarchical topology <b>200</b> corresponding to this BGP prefix. Additionally, due to the nature of BGP routing, these user requests may share the same origin AS and AS path. If the user requests from the abnormal BGP prefix experiencing the anomalous RTT dominate other user requests associated with the same origin AS or AS path, the anomaly detector <b>105</b> may also detect RTT anomalies for the nodes of the hierarchical topology <b>200</b> corresponding to this origin AS and the AS path. In such an example, the anomaly localizer <b>135</b> can localize the anomaly to a root cause abnormal node corresponding to the node representing the BGP prefix experiencing the RTT anomaly. As a converse example, if a network event has impacted a particular AS path and created a service anomaly, its associated descendent(s) in the hierarchical topology <b>200</b>, such as the particular BGP prefixes associated with this AS path, would experience service anomalies as well. In such an example, the anomaly localizer <b>135</b> localizes the anomaly to a root cause abnormal node corresponding to the node representing the AS path experiencing the anomaly.
p-0032More generally, in the example system <b>100</b>, the anomaly localizer <b>135</b> obtains the reported status <b>130</b> from the anomaly detector <b>105</b> that identifies a set of abnormal nodes that are associated with detected anomalies at one or more hierarchical levels of a specified hierarchical topology <b>115</b>. The anomaly localizer <b>135</b> then processes this set of reported abnormal nodes to determine and report a subset of root cause abnormal nodes <b>140</b>, such as a smallest subset of the reported abnormal nodes, that can account for (or cover) all, or a particular portion of, the set of reported abnormal nodes associated with anomalies detected by the anomaly detector <b>105</b>. In the illustrated example, the anomaly localizer <b>135</b> reports the subset of root cause abnormal nodes <b>140</b> to the user workstation <b>110</b> for display and/or other post-processing. An example implementation of the anomaly localizer <b>135</b> is illustrated in <figref idrefs="DRAWINGS">FIG. 4</figref>, which is described in greater detail below.
p-0033The system <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> additionally includes an example anomaly prioritizer <b>145</b> to also receive or otherwise obtain the subset of root cause abnormal nodes <b>140</b> reported by the anomaly localizer <b>135</b>. In the illustrated example, the anomaly prioritizer <b>145</b> prioritizes the root cause abnormal nodes included in the subset of root cause abnormal nodes <b>140</b>. For example, the anomaly prioritizer <b>145</b> can employ a ranking function to provide a ranking <b>150</b> of the root cause abnormal nodes included in the subset of root cause abnormal nodes <b>140</b>. In some examples, the ranking function is based on one or more ranking factors, such as the relative sizes (e.g., magnitude, degree, etc.) of the anomalies associated with the different root cause abnormal nodes, the relative scopes (e.g., number of users affected, number of nodes affected, etc.) of the anomalies associated with the different root cause abnormal nodes, etc. In the illustrated example, the anomaly prioritizer <b>145</b> reports the ranking <b>150</b> of the root cause abnormal nodes to the user workstation <b>110</b> for display and/or other post-processing. An example implementation of the anomaly prioritizer <b>145</b> is illustrated in <figref idrefs="DRAWINGS">FIG. 6</figref>, which is described in greater detail below.
p-0034A block diagram of an example implementation of the anomaly localizer <b>135</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> is illustrated in <figref idrefs="DRAWINGS">FIG. 4</figref>. The example anomaly localizer <b>135</b> of <figref idrefs="DRAWINGS">FIG. 4</figref> localizes anomaly events in a hierarchical topology <b>115</b>. The anomaly events are identified in the reported status <b>130</b> (e.g., obtained from the anomaly detector <b>105</b>) as a set of abnormal nodes included in the hierarchical topology <b>115</b>. In the illustrated, the anomaly localizer <b>135</b> localizes the anomaly events by determining a subset of root cause abnormal nodes <b>140</b>, such as a smallest number of the reported abnormal nodes, that cover (or account for) all, or a particular portion of, the set of reported abnormal nodes included in the reported status <b>115</b>. In some examples, the anomaly localizer <b>135</b> performs anomaly localization based on the following mathematical problem formulation.
p-0035For example, assume that the hierarchical topology <b>115</b> for which anomaly detection and localization is to be performed can be represented by a directed acyclic graph (DAG). Examples of such DAGs include, but are not limited to, the example hierarchical topologies <b>200</b> and <b>300</b> illustrated in <figref idrefs="DRAWINGS">FIGS. 2 and 3</figref>, respectively. Let N represent the set of nodes in the hierarchical topology <b>115</b>. For each node n in the set of nodes N (i.e., ∀nεN), let D(n) denote the set of n's descendants, which correspond to the set of zero or more nodes (e.g., referred to as descendent nodes) located at lower hierarchical levels that can be reached from the node n by traversing one or more edges (e.g., via zero or more intervening nodes). Also, for each node n in the set of nodes N (i.e., ∀nεN), let A(n) denote the set of n's ancestors, which correspond to the set of zero or more nodes (e.g., referred to as ancestor nodes) located at higher hierarchical levels that can be reached from the node n by traversing one or more edges (e.g., via zero or more intervening nodes). Additionally, for each node n in the set of nodes N (i.e., ∀nεN), let d(n) denote the set of n's direct descendants, which are the set of zero or more descendent nodes that can be reached from the node n by traversing only one edge. Furthermore, for each node n in the set of nodes N (i.e., ∀nεN), let a(n) denote the set of n's direct ancestors, which are the set of zero or more ancestor nodes that can be reached from the node n by traversing only one edge. Using the foregoing formulation, the reported status <b>130</b> for the hierarchical topology <b>115</b> is assumed to have the following two properties, referred to as property P<b>1</b> and property P<b>2</b>:
p-0036Property P<b>1</b>: The reported status <b>130</b> for a particular node n indicates that the node is at least one of abnormal, normal or indeterminate. Property P<b>1</b> can be stated mathematically as follows. Let f(n) denote the reported status for node n. Then, in some examples, for each node n in the set of nodes N (i.e., ∀nεN), the reported status f(n) is given by Equation 1:
p-0037<maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mo>∀</mo><mrow><mi>n</mi><mo>∈</mo><mrow><mi>N</mi><mo></mo><mstyle><mtext>:</mtext></mstyle><mo></mo><mrow><mi>f</mi><mo></mo><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mrow></mrow></mrow><mo>=</mo><mrow><mo>{</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>if</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>n</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>is</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>abnomal</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>if</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>n</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>is</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>normal</mi></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mrow><mi>if</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>n</mi><mo></mo><mstyle><mspace width="1.1em" height="1.1ex" /></mstyle><mo></mo><mi>is</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mi>indeterminate</mi></mrow></mtd></mtr></mtable></mrow></mrow></mtd><mtd><mrow><mi>Equation</mi><mo></mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mn>1</mn></mrow></mtd></mtr></mtable></math></maths>
p-0038Property P<b>2</b>: Each abnormal node n identified in the reported status <b>130</b> (e.g., each node n with a reported status <b>130</b> of f(n)=1), has at least one abnormal or indeterminate descendent node (e.g., at least one descendent node x with a reported status <b>130</b> of f(x)=1 or f(x)=−1). Property P<b>2</b> can be represented mathematically using Equation 2: <br />∀<i>nεN:f</i>(<i>n</i>)=1<img id="CUSTOM-CHARACTER-00001" he="2.46mm" wi="3.13mm" file="US08934352-20150113-P00001.TIF" alt="custom character" img-content="character" img-format="tif" orientation="portrait" inline="no" />∃<i>xεD</i>(<i>n</i>):<i>f</i>(<i>x</i>)=1<i>Vf</i>(<i>x</i>)=−1 Equation 2
p-0039Based on the foregoing problem formulation, the example anomaly localizer <b>135</b> of <figref idrefs="DRAWINGS">FIG. 4</figref> determines a smallest subset A of the set of nodes N in the hierarchical topology <b>115</b> (i.e., stated mathematically as choosing A such that arg min |A|) that covers the abnormal <ul><li id="ul0001-0001" num="0000"><ul><li id="ul0002-0001" num="0039">A<u>⊂</u>N <br /> nodes identified in the reported status <b>130</b> (e.g., that covers the nodes n having f(n)=1) subject to one or more constraints. In some examples, the anomaly localizer <b>135</b> determines the subset A that satisfies the following three constraints, referred to as constraint C<b>1</b>, constraint C<b>2</b> and constraint C<b>3</b>: </li></ul></li></ul>
p-0040Constraint C<b>1</b>: Each node a in A must be abnormal. Constraint C<b>1</b> can be represented mathematically using Equation 3: <br />∀<i>aεA:f</i>(<i>a</i>)=1 Equation 3
p-0041Constraint C<b>2</b>: The subset A covers all of the abnormal nodes in N. In other words, each abnormal node in N is either in A, or is a descendent of a node in A, or is an ancestor of a node in A. Constraint C<b>2</b> can be represented mathematically using Equation 4: <br />∀<i>nεN:f</i>(<i>n</i>)=1<img id="CUSTOM-CHARACTER-00002" he="2.46mm" wi="3.13mm" file="US08934352-20150113-P00001.TIF" alt="custom character" img-content="character" img-format="tif" orientation="portrait" inline="no" />∃<i>aεA:n=a</i><img id="CUSTOM-CHARACTER-00003" he="2.79mm" wi="1.78mm" file="US08934352-20150113-P00002.TIF" alt="custom character" img-content="character" img-format="tif" orientation="portrait" inline="no" /><i>nεD</i>(<i>a</i>)<img id="CUSTOM-CHARACTER-00004" he="2.79mm" wi="1.78mm" file="US08934352-20150113-P00002.TIF" alt="custom character" img-content="character" img-format="tif" orientation="portrait" inline="no" /><i>nεA</i>(<i>a</i>) Equation 4
p-0042Constraint C<b>3</b>: For any node a in A, the number of a's direct abnormal and indeterminate descendants is larger than the number of a's direct normal descendants. Constraint C<b>3</b> can be represented mathematically using Equation 5: <br />∀<i>aεA:|{xεd</i>(<i>a</i>)|<i>f</i>(<i>x</i>)=1<img id="CUSTOM-CHARACTER-00005" he="2.79mm" wi="1.78mm" file="US08934352-20150113-P00003.TIF" alt="custom character" img-content="character" img-format="tif" orientation="portrait" inline="no" /><i>f</i>(<i>x</i>)=−1}|>|{<i>xεd</i>(<i>a</i>)|<i>f</i>(<i>x</i>)=0}| Equation 5
p-0043The subset A determined by the anomaly localizer <b>135</b> is referred to as the subset of root cause abnormal nodes <b>140</b> that cover the abnormal nodes identified in the reported status <b>130</b>. As such, each abnormal node a included in the determined subset A is referred to as a root cause abnormal node.
p-0044In view of the foregoing formulation of the localization processing performed by the anomaly localizer <b>135</b>, the example anomaly localizer <b>135</b> of <figref idrefs="DRAWINGS">FIG. 4</figref> includes an example abnormal node identifier <b>405</b> to obtain the reported status <b>130</b> (e.g., from the anomaly detector <b>105</b>) and identify the abnormal nodes of the hierarchical topology <b>115</b> indicated by the reported status <b>130</b>. For example, the abnormal node identifier <b>405</b> can identify each abnormal node of the hierarchical topology <b>115</b> to be those nodes n having a reported status <b>130</b> of f(n)=1.
p-0045The example anomaly localizer <b>135</b> of <figref idrefs="DRAWINGS">FIG. 4</figref> further includes an example root cause candidate selector <b>410</b> and an example root cause determiner <b>415</b> to implement a greedy algorithm for determining the subset of root cause abnormal nodes <b>140</b> (denoted by A above) that cover the abnormal nodes identified by the abnormal node identifier <b>405</b>. In the illustrated example, the root cause candidate selector <b>410</b> selects a set of candidate root cause abnormal nodes (denoted as U) such that each node u in the candidate set U satisfies Constraints <b>1</b> and <b>3</b> described above. In other words, the root cause candidate selector <b>410</b> selects each abnormal node identified by the abnormal node identifier <b>405</b> and that has a number of direct abnormal descendents and direct indeterminate descendents that is greater than the number of its direct normal descendents for inclusion in the candidate set U.
p-0046In the illustrated example, the root cause candidate selector <b>410</b> provides the candidate set U to the root cause determiner <b>415</b>. The root cause determiner <b>415</b> selects the subset of root cause nodes A from the candidate set U such that the root cause subset A satisfies Constraint <b>2</b> described above. Furthermore, the root cause determiner <b>415</b> performs a greedy selection that attempts to yield the root cause subset A that contains the smallest number of candidate nodes c from the candidate set U. An example operation <b>500</b> of the root cause determiner <b>415</b> to determine the root cause subset A for an example candidate set U is illustrated in <figref idrefs="DRAWINGS">FIG. 5</figref>.
p-0047Turning to <figref idrefs="DRAWINGS">FIG. 5</figref>, in the illustrated example operation <b>500</b> of the root cause determiner <b>415</b>, the set of abnormal nodes includes nine (9) abnormal nodes u<sub>1 </sub>through u<sub>9 </sub>for an example hierarchical topology <b>115</b>. The example operation <b>500</b> also illustrates four example subsets S<sub>1 </sub>through S<sub>4 </sub>of the abnormal nodes u<sub>1 </sub>through u<sub>9 </sub>representing different groups of the candidate nodes covered in accordance with Constraint <b>2</b> by different candidate nodes satisfying Constraints <b>1</b> and <b>3</b> described above. For example, using set-covering terminology, all the abnormal nodes in the hierarchical topology <b>115</b> form a universe. For a particular candidate root cause abnormal node x from the set of abnormal nodes u<sub>1 </sub>through u<sub>9 </sub>satisfying Constraints C<b>1</b> and C<b>3</b>, a respective subset S<sub>x </sub>of the universe is formed by the root cause determiner <b>415</b>. The subset S<sub>x </sub>for a particular candidate root cause abnormal node x includes x itself, as well as all of x's descendents and ancestors in the hierarchical topology <b>115</b> (e.g., S<sub>x</sub>=x∪D(x)∪A(x)). The result is a family of n subsets (S<sub>1</sub>, S<sub>2</sub>, . . . , S<sub>n</sub>) that correspond to the n abnormal nodes that satisfy the Constraints C<b>1</b> and C<b>3</b>. The root cause determiner <b>415</b> implements a greedy algorithm to determine the smallest subfamily (or subset) of the n subsets (S<sub>1</sub>, S<sub>2</sub>, . . . , S<sub>n</sub>) that cover all of the abnormal nodes in the hierarchical topology <b>115</b>. For example, the root cause determiner <b>415</b> iteratively chooses candidate root cause abnormal nodes x that cover most uncovered abnormal nodes until all abnormal nodes of the hierarchical topology <b>115</b> are covered. In the illustrated example operation <b>500</b>, the root cause determiner <b>415</b> determines that the four subsets S<sub>1 </sub>through S<sub>4 </sub>cover all of the abnormal nodes of the hierarchical topology <b>115</b>. Accordingly, the root cause determiner <b>415</b> selects the candidate root cause abnormal nodes yielding the four subsets S<sub>1 </sub>through S<sub>4 </sub>of covered abnormal nodes for inclusion in the root cause abnormal set A.
p-0048Example machine readable instructions that may be used to implement the anomaly localizer <b>135</b> are illustrated in <figref idrefs="DRAWINGS">FIGS. 7-10</figref>, which are described in greater detail below. In particular, <figref idrefs="DRAWINGS">FIGS. 9 and 10</figref> illustrate example machine readable instructions to perform a greedy procedure for root cause abnormal node selection that may be used to implement the root cause determiner <b>415</b>.
p-0049A block diagram of an example implementation of the anomaly prioritizer <b>145</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> is illustrated in <figref idrefs="DRAWINGS">FIG. 6</figref>. The anomaly prioritizer <b>145</b> of the illustrated example obtains a subset of root cause abnormal nodes <b>140</b> (e.g., from the anomaly localizer <b>135</b>) covering the abnormal nodes detected in a hierarchical topology <b>115</b> and determines a ranking <b>150</b> of the root cause abnormal nodes. In the illustrated example of <figref idrefs="DRAWINGS">FIG. 6</figref>, the anomaly prioritizer <b>145</b> includes an example anomaly size determiner <b>605</b> to determine a size of an anomaly (e.g., such as an anomaly event) associated with a root cause abnormal node included in the subset of root cause abnormal nodes <b>140</b>. For example, if RTT is used for anomaly detection, then the anomaly size determined by the anomaly size determiner <b>605</b> for a root cause abnormal node can correspond to a deviation or variance from an expected RTT at that node in the hierarchical topology, or an RTT magnitude determine at the node in the hierarchical topology, etc. Additionally or alternatively, the anomaly size determiner <b>605</b> can determine the deviation, variance, magnitude, degree, etc., of one or more other parameters used to determine that a root cause abnormal node is associated with an anomalous event, anomalous behavior, etc.
p-0050The example anomaly prioritizer <b>145</b> of <figref idrefs="DRAWINGS">FIG. 6</figref> also includes an example anomaly scope determiner <b>610</b> to determine a scope of an anomaly (e.g., such as an anomaly event) associated with a root cause abnormal node included in the subset of root cause abnormal nodes <b>140</b>. For example, the anomaly scope determined by the anomaly scope determiner <b>610</b> may correspond to a number of users, network elements, Internet protocol addresses, prefixes, etc., affected by the anomaly associated with the root cause abnormal node. In some example, such as when the hierarchical topology corresponds to a communication network, the scope (or breadth) of an anomaly associated with a node at a higher level in the hierarchical topology is generally larger than the scope (or breadth) of an anomaly associated with a node at a lower level in the hierarchical topology. This is because nodes at higher hierarchical levels generally correspond to an aggregation of nodes at one or more lower hierarchical levels.
p-0051The example anomaly prioritizer <b>145</b> of <figref idrefs="DRAWINGS">FIG. 6</figref> further includes an example anomaly rank evaluator <b>615</b> to process anomaly sizes and scopes determined by the anomaly size determiner <b>605</b> and the anomaly scope determiner <b>610</b>, respectively, for the root cause abnormal nodes to determine the ranking <b>150</b> of the set of root cause abnormal nodes <b>140</b>. In some examples, the anomaly rank evaluator <b>615</b> implements a ranking function that multiplies the anomaly size for a particular root cause abnormal node and the anomaly scope for the particular root cause abnormal node to determine a ranking value for the particular root cause abnormal node. Other combining operations, such as addition of the anomaly sizes and scopes, normalization of the anomaly sizes and scopes by normalizing factors, etc., may additionally or alternatively be used by the anomaly rank evaluator <b>615</b> to combine the anomaly sizes and scopes determined by the anomaly size determiner <b>605</b> and the anomaly scope determiner <b>610</b>. In some examples, the anomaly rank evaluator <b>615</b> ranks the root cause abnormal nodes included in the set of root cause abnormal nodes <b>140</b> based on the ranking values determined by combining the anomaly sizes and scopes. The anomaly rank evaluator <b>615</b> then outputs this ranking <b>150</b>, which may be represented by an ordering of the root cause abnormal nodes included in the set of root cause abnormal nodes <b>140</b>, a numerical rank associated with each of the root cause abnormal nodes included in the set of root cause abnormal nodes <b>140</b>, etc. Additionally or alternatively, the anomaly rank evaluator <b>615</b> can report the raw ranking value determined for each root cause abnormal node by combining the respective anomaly scopes and sizes.
p-0052While example manners of implementing the system <b>100</b> have been illustrated in <figref idrefs="DRAWINGS">FIGS. 1</figref>, <b>4</b> and <b>6</b>, one or more of the elements, processes and/or devices illustrated in <figref idrefs="DRAWINGS">FIGS. 1</figref>, <b>4</b> and/or <b>6</b> may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example anomaly detector <b>105</b>, the example user workstation <b>110</b>, the example anomaly localizer <b>135</b>, the example anomaly prioritizer <b>145</b>, the example abnormal node identifier <b>405</b>, the example root cause candidate selector <b>410</b>, the example root cause determiner <b>415</b>, the example anomaly size determiner <b>605</b>, the example anomaly scope determiner <b>610</b>, the example anomaly rank evaluator <b>615</b> and/or, more generally, the example system <b>100</b> may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example anomaly detector <b>105</b>, the example user workstation <b>110</b>, the example anomaly localizer <b>135</b>, the example anomaly prioritizer <b>145</b>, the example abnormal node identifier <b>405</b>, the example root cause candidate selector <b>410</b>, the example root cause determiner <b>415</b>, the example anomaly size determiner <b>605</b>, the example anomaly scope determiner <b>610</b>, the example anomaly rank evaluator <b>615</b> and/or, more generally, the example system <b>100</b> could be implemented by one or more circuit(s), programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)), etc. When any of the appended apparatus or system claims are read to cover a purely software and/or firmware implementation, at least one of the example system <b>100</b>, the example anomaly detector <b>105</b>, the example user workstation <b>110</b>, the example anomaly localizer <b>135</b>, the example anomaly prioritizer <b>145</b>, the example abnormal node identifier <b>405</b>, the example root cause candidate selector <b>410</b>, the example root cause determiner <b>415</b>, the example anomaly size determiner <b>605</b>, the example anomaly scope determiner <b>610</b> and/or the example anomaly rank evaluator <b>615</b> are hereby expressly defined to include a tangible computer readable medium such as a memory, digital versatile disk (DVD), compact disk (CD), etc., storing such software and/or firmware. Further still, the example system <b>100</b>, the example anomaly localizer <b>135</b> and/or the example anomaly prioritizer <b>145</b> of <figref idrefs="DRAWINGS">FIGS. 1</figref>, <b>4</b> and <b>6</b>, respectively, may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in <figref idrefs="DRAWINGS">FIGS. 1</figref>, <b>4</b> and/or <b>6</b>, and/or may include more than one of any or all of the illustrated elements, processes and devices.
p-0053Flowcharts representative of example machine readable instructions that may be executed to implement the example system <b>100</b>, the example anomaly detector <b>105</b>, the example user workstation <b>110</b>, the example anomaly localizer <b>135</b>, the example anomaly prioritizer <b>145</b>, the example abnormal node identifier <b>405</b>, the example root cause candidate selector <b>410</b>, the example root cause determiner <b>415</b>, the example anomaly size determiner <b>605</b>, the example anomaly scope determiner <b>610</b> and/or the example anomaly rank evaluator <b>615</b> are shown in <figref idrefs="DRAWINGS">FIGS. 7-11</figref>. In these examples, the machine readable instructions represented by each flowchart may comprise one or more programs for execution by a processor, such as the processor <b>1212</b> shown in the example processing system <b>1200</b> discussed below in connection with <figref idrefs="DRAWINGS">FIG. 12</figref>. Alternatively, the entire program or programs and/or portions thereof implementing one or more of the processes represented by the flowcharts of <figref idrefs="DRAWINGS">FIGS. 7-11</figref> could be executed by a device other than the processor <b>1212</b> (e.g., such as a controller and/or any other suitable device) and/or embodied in firmware or dedicated hardware (e.g., implemented by an ASIC, a PLD, an FPLD, discrete logic, etc.). Also, one or more of the machine readable instructions represented by the flowchart of <figref idrefs="DRAWINGS">FIGS. 7-11</figref> may be implemented manually. Further, although the example machine readable instructions are described with reference to the flowcharts illustrated in <figref idrefs="DRAWINGS">FIGS. 7-11</figref>, many other techniques for implementing the example methods and apparatus described herein may alternatively be used. For example, with reference to the flowcharts illustrated in <figref idrefs="DRAWINGS">FIGS. 7-11</figref>, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, combined and/or subdivided into multiple blocks.
p-0054As mentioned above, the example processes of <figref idrefs="DRAWINGS">FIGS. 7-11</figref> may be implemented using coded instructions (e.g., computer readable instructions) stored on a tangible computer readable medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a CD, a DVD, a cache, a random-access memory (RAM) and/or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term tangible computer readable medium is expressly defined to include any type of computer readable storage and to exclude propagating signals. Additionally or alternatively, the example processes of <figref idrefs="DRAWINGS">FIGS. 7-11</figref> may be implemented using coded instructions (e.g., computer readable instructions) stored on a non-transitory computer readable medium, such as a flash memory, a ROM, a CD, a DVD, a cache, a random-access memory (RAM) and/or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable medium and to exclude propagating signals. Also, as used herein, the terms “computer readable” and “machine readable” are considered equivalent unless indicated otherwise.
p-0055Example machine readable instructions <b>700</b> that may be executed to implement the system <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> are represented by the flowchart shown in <figref idrefs="DRAWINGS">FIG. 7</figref>. With reference to the preceding figures, the machine readable instructions <b>700</b> of <figref idrefs="DRAWINGS">FIG. 7</figref> begin execution at block <b>705</b> at which the user workstation <b>110</b> is used to obtain configuration information, such as the hierarchical topology <b>115</b> for which anomaly detection, localization and prioritization is to be performed. Additionally or alternatively, at block <b>705</b> the user workstation <b>110</b> can be used to obtain the other configuration information <b>120</b> used in the system <b>100</b>.
p-0056At block <b>710</b>, the anomaly detector <b>105</b> processes the measurement information <b>125</b> to detect anomalies associated with one or more nodes of the hierarchical topology <b>115</b>. As described above, the anomaly detector <b>105</b> can employ any type of anomaly detection processing. At block <b>710</b>, the anomaly detector <b>105</b> also provides reported status <b>130</b> for the nodes in the hierarchical topology <b>115</b>. For example, the reported status <b>130</b> can use a value of “1” to indicate an abnormal node, a value of “0” to indicate a normal node, and a value of “−1” to indicate an indeterminate node. Other techniques for representing the status of the nodes in the hierarchical topology <b>115</b> may additionally or alternatively be used.
p-0057At block <b>715</b>, the anomaly localizer <b>135</b> uses the reported status <b>130</b> for the hierarchical topology <b>115</b> to perform anomaly localization. For example, the anomaly localizer <b>135</b> can identify the abnormal nodes indicated by the reported status <b>130</b> and determine a subset of root cause abnormal nodes <b>140</b> that cover (e.g., account for, explain, etc.) all, or a portion of, the abnormal nodes indicated by the reported status <b>130</b>. Example machine readable instructions that may be used to implement the processing at block <b>715</b> are illustrated in <figref idrefs="DRAWINGS">FIG. 8</figref>, which is described in greater detail below.
p-0058At block <b>720</b>, the anomaly prioritizer <b>145</b> prioritizes the root cause abnormal nodes included in the subset of root cause abnormal nodes <b>140</b> determined at block <b>715</b>. For example, the anomaly prioritizer <b>145</b> can rank the root cause abnormal nodes based on one or more parameters, such as an anomaly size, and anomaly scope, etc., or a combination thereof. Example machine readable instructions that may be used to implement the processing at block <b>720</b> are illustrated in <figref idrefs="DRAWINGS">FIG. 11</figref>, which is described in greater detail below.
p-0059Example machine readable instructions <b>715</b> that may be executed to implement the anomaly localizer <b>135</b> of <figref idrefs="DRAWINGS">FIGS. 1 and 4</figref> are represented by the flowchart shown in <figref idrefs="DRAWINGS">FIG. 8</figref>. With reference to the preceding figures, the machine readable instructions <b>715</b> of <figref idrefs="DRAWINGS">FIG. 8</figref> begin execution at block <b>805</b> at which the anomaly localizer <b>135</b> obtains the hierarchical topology <b>115</b> for which anomaly localization is to be performed. For example, the hierarchical topology <b>115</b> may be specified by the user workstation <b>110</b>, pre-configured, etc., or any combination thereof. The hierarchical topology <b>115</b> may be represented using any data structure, format, file, etc., or combination thereof capable of describing nodes, edges, descendent relationships, ancestor relationships, etc.
p-0060At block <b>810</b>, the abnormal node identifier <b>405</b> of the anomaly localizer <b>135</b> obtains the reported status <b>130</b> for the nodes included in the hierarchical topology <b>115</b>. For example, the reported status <b>130</b> can use a value of “1” to indicate an abnormal node, a value of “0” to indicate a normal node, a value of “−1” to indicate an indeterminate node, etc. Other techniques for representing the status of the nodes in the hierarchical topology <b>115</b> may additionally or alternatively be used.
p-0061At block <b>815</b>, the abnormal node identifier <b>405</b> uses the reported status <b>130</b> obtained at block <b>810</b> to identify the abnormal nodes detected in the hierarchical topology <b>115</b>. For example, the abnormal node identifier <b>405</b> can identify the abnormal nodes to be those nodes having a reported status set to “1” or another value representative of an abnormal status. At block <b>820</b>, the root cause candidate selector <b>410</b> of the anomaly localizer <b>135</b> selects a set of candidate root cause abnormal nodes such that each node in the candidate set satisfies Constraints <b>1</b> and <b>3</b> described above. In other words, at block <b>820</b>, the root cause candidate selector <b>410</b> selects a set of candidate root cause abnormal nodes such that each candidate root cause node in the set is an abnormal node and has a number of direct abnormal and indeterminate descendants that is larger than the number of its direct normal descendants.
p-0062At block <b>825</b>, the root cause determiner <b>415</b> of the anomaly localizer <b>135</b> determines a subset of root cause abnormal nodes from the set of candidate root cause abnormal nodes selected at block <b>820</b>. For example, at block <b>825</b> the root cause determiner <b>415</b> selects the subset of root cause nodes <b>140</b> from the candidate set such that the root cause subset <b>140</b> satisfies Constraint <b>2</b> described above and, thus, covers all, or a portion of, the abnormal nodes of the hierarchical topology <b>115</b>. In some examples, the root cause determiner <b>415</b> implements a greedy algorithm that attempts to select the smallest subset of root cause nodes <b>140</b> that covers all of the abnormal nodes identified in the hierarchical topology <b>115</b>. Example machine readable instructions that may be used to implement the processing at block <b>825</b> are illustrated in <figref idrefs="DRAWINGS">FIG. 9</figref>, which is described in greater detail below.
p-0063Example machine readable instructions <b>825</b> to perform an example greedy algorithm to implement the root cause determiner <b>415</b> of the anomaly localizer <b>135</b> of <figref idrefs="DRAWINGS">FIG. 4</figref> are represented by the flowchart shown in <figref idrefs="DRAWINGS">FIG. 9</figref>. Example pseudocode <b>1000</b> that may be used to implement the machine readable instructions <b>825</b> is illustrated in <figref idrefs="DRAWINGS">FIG. 10</figref>. For simplicity and clarity, the example pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref> is described together with the description of the example machine readable instructions <b>825</b> of <figref idrefs="DRAWINGS">FIG. 9</figref>. As such, and with reference to the preceding figures, the machine readable instructions <b>825</b> of <figref idrefs="DRAWINGS">FIG. 9</figref> begin execution at block <b>905</b> at which the root cause determiner <b>415</b> initializes the set of root cause abnormal nodes <b>140</b> to be empty (e.g., the null set). The processing at block <b>905</b> corresponds to section <b>1005</b> of the pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>.
p-0064At block <b>910</b> of <figref idrefs="DRAWINGS">FIG. 9</figref>, the root cause determiner <b>415</b> initializes a set representing the uncovered abnormal nodes to include all identified abnormal nodes of the hierarchical topology <b>115</b>. The processing at block <b>910</b> also corresponds to section <b>1005</b> of the pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>. The goal of the greedy algorithm implemented by the root cause determiner <b>415</b> is to iteratively select candidate root cause abnormal nodes to determine a smallest subset that covers the abnormal nodes included in the uncovered set. Each time a candidate root cause abnormal node is selected to be a root cause abnormal node for inclusion in the subset <b>140</b>, the abnormal nodes covered by this selected root cause abnormal node are removed from the uncovered set.
p-0065At block <b>915</b>, the root cause determiner <b>415</b> determines, for each candidate root cause abnormal node u (e.g., each abnormal node satisfying Constraints <b>1</b> and <b>3</b> described above), a respective subset of abnormal nodes SET<sub>u </sub>(also denoted by S<sub>u </sub>above) that are covered by the respective candidate root cause abnormal node u. The processing at block <b>910</b> corresponds to section <b>1010</b> of the pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>. In particular, pseudocode section <b>1010</b> includes pseudocode section <b>1015</b> in which the subset of abnormal nodes SET, for the candidate root cause abnormal node u is initialized to include the candidate node u itself. Pseudocode section <b>1020</b> included in pseudocode section <b>1010</b> adds the descendent abnormal nodes covered by the candidate node u to its covered node subset SET<sub>u</sub>. Pseudocode section <b>1025</b> included in pseudocode section <b>1010</b> adds the ancestor abnormal nodes covered by the candidate node u to its covered node subset SET<sub>u</sub>.
p-0066At block <b>920</b> of <figref idrefs="DRAWINGS">FIG. 9</figref>, the root cause determiner <b>415</b> selects the candidate root cause abnormal node u remaining in the uncovered set of abnormal nodes that has largest covered node subset SET<sub>u</sub>. In other words, at block <b>920</b> the root cause determiner <b>415</b> selects a next candidate root cause abnormal node u that covers the largest subset of abnormal nodes that have not yet been covered by a previously selected candidate root cause abnormal node. The processing at block <b>920</b> corresponds to pseudocode section <b>1030</b> included in the pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>.
p-0067At block <b>925</b> of <figref idrefs="DRAWINGS">FIG. 9</figref>, the root cause determiner <b>415</b> includes the candidate root cause abnormal node u selected at block <b>920</b> as a root cause abnormal node in the subset of root cause abnormal nodes <b>140</b>. The processing at block <b>925</b> corresponds to pseudocode section <b>1035</b> included in the pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>. At block <b>930</b> of <figref idrefs="DRAWINGS">FIG. 9</figref>, the root cause determiner <b>415</b> removes the subset SET<sub>u </sub>of abnormal nodes covered by the selected candidate root cause abnormal node u from the uncovered set (because these abnormal nodes are now covered by a root cause abnormal node in the subset of root cause abnormal nodes <b>140</b>). The processing at block <b>930</b> corresponds to pseudocode section <b>1040</b> included in the pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>. Additionally, at block <b>935</b> the root cause determiner <b>415</b> removes the subset SET<sub>u </sub>of abnormal nodes covered by the selected candidate root cause abnormal node u from the other covered subsets corresponding to the other remaining candidate root cause abnormal nodes. The processing at block <b>930</b> corresponds to pseudocode section <b>1045</b> included in the pseudocode <b>1000</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>.
p-0068At block <b>940</b>, the root cause determiner <b>415</b> determines whether the uncovered set of abnormal nodes is empty (e.g., because all abnormal nodes are covered by candidate nodes that have been selected to be root cause abnormal nodes included in the subset <b>140</b>). If the uncovered set is not empty (block <b>940</b>), processing returns to block <b>920</b> and blocks subsequent thereto to enable the root cause determiner <b>415</b> to select a next candidate root cause abnormal node u for inclusion in the subset of root cause abnormal nodes <b>140</b>. However, if the uncovered set is empty (block <b>940</b>), then at block <b>945</b> the root cause determiner <b>415</b> outputs the determined subset of root cause abnormal nodes <b>140</b>.
p-0069Example machine readable instructions <b>720</b> that may be executed to implement the anomaly prioritizer <b>145</b> of <figref idrefs="DRAWINGS">FIGS. 1 and 6</figref> are represented by the flowchart shown in <figref idrefs="DRAWINGS">FIG. 11</figref>. With reference to the preceding figures, the machine readable instructions <b>720</b> of <figref idrefs="DRAWINGS">FIG. 11</figref> begin execution at block <b>1105</b> at which the anomaly prioritizer <b>145</b> obtains the subset of root cause abnormal nodes <b>140</b> that covers the abnormal nodes detected in a hierarchical topology <b>115</b>. At block <b>1110</b>, the anomaly size determiner <b>605</b> of the anomaly prioritizer <b>145</b> determines sizes of the anomalies associated with the respective root cause abnormal nodes included in the subset <b>140</b> obtained at block <b>1105</b>. At block <b>1115</b>, the anomaly scope determiner <b>610</b> of the anomaly prioritizer <b>145</b> determines scopes of the anomalies associated with the respective root cause abnormal nodes included in the subset <b>140</b> obtained at block <b>1105</b>. At block <b>1120</b>, the anomaly rank evaluator <b>615</b> of the anomaly prioritizer <b>145</b> combines the anomaly sizes determined at block <b>1110</b> and the anomaly scopes determined at block <b>1115</b> to determine a ranking <b>150</b> of the root cause abnormal nodes included in the subset <b>140</b>.
p-0070<figref idrefs="DRAWINGS">FIG. 12</figref> is a block diagram of an example processing system <b>1200</b> capable of implementing the apparatus and methods disclosed herein. The processing system <b>1200</b> can be, for example, a server, a personal computer, a tablet computer, a personal digital assistant (PDA), an Internet appliance, or any other type of computing device.
p-0071The system <b>1200</b> of the instant example includes a processor <b>1212</b> such as a general purpose programmable processor. The processor <b>1212</b> includes a local memory <b>1214</b>, and executes coded instructions <b>1216</b> present in the local memory <b>1214</b> and/or in another memory device. The processor <b>1212</b> may execute, among other things, the machine readable instructions represented in <figref idrefs="DRAWINGS">FIGS. 7-11</figref>. The processor <b>1212</b> may be any type of processing unit, such as one or more Intel® microprocessors from the Pentium® family, the Itanium® family and/or the XScale® family, one or more microcontrollers from the ARM® and/or PIC® families of microcontrollers, etc. Of course, other processors from other families are also appropriate.
p-0072The processor <b>1212</b> is in communication with a main memory including a volatile memory <b>1218</b> and a non-volatile memory <b>1220</b> via a bus <b>1222</b>. The volatile memory <b>1218</b> may be implemented by Static Random Access Memory (SRAM), Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory <b>1220</b> may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory <b>1218</b>, <b>1220</b> is typically controlled by a memory controller (not shown).
p-0073The processing system <b>1200</b> also includes an interface circuit <b>1224</b>. The interface circuit <b>1224</b> may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a third generation input/output (3GIO) interface.
p-0074One or more input devices <b>1226</b> are connected to the interface circuit <b>1224</b>. The input device(s) <b>1226</b> permit a user to enter data and commands into the processor <b>1212</b>. The input device(s) can be implemented by, for example, a keyboard, a mouse, a touchscreen, a track-pad, a trackball, an isopoint and/or a voice recognition system.
p-0075One or more output devices <b>1228</b> are also connected to the interface circuit <b>1224</b>. The output devices <b>1228</b> can be implemented, for example, by display devices (e.g., a liquid crystal display, a cathode ray tube display (CRT)), by a printer and/or by speakers. The interface circuit <b>1224</b>, thus, typically includes a graphics driver card.
p-0076The interface circuit <b>1224</b> also includes a communication device such as a modem or network interface card to facilitate exchange of data with external computers via a network (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
p-0077The processing system <b>1200</b> also includes one or more mass storage devices <b>1230</b> for storing machine readable instructions and data. Examples of such mass storage devices <b>1230</b> include floppy disk drives, hard drive disks, compact disk drives and digital versatile disk (DVD) drives.
p-0078The coded instructions <b>1232</b> of <figref idrefs="DRAWINGS">FIGS. 7-11</figref> may be stored in the mass storage device <b>1230</b>, in the volatile memory <b>1218</b>, in the non-volatile memory <b>1220</b>, in the local memory <b>1214</b> and/or on a removable storage medium, such as a CD or DVD <b>1232</b>.
p-0079At least some of the above described example methods and/or apparatus are implemented by one or more software and/or firmware programs running on a computer processor. However, dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement some or all of the example methods and/or apparatus described herein, either in whole or in part. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the example methods and/or apparatus described herein.
p-0080To the extent the above specification describes example components and functions with reference to particular standards and protocols, it is understood that the scope of this patent is not limited to such standards and protocols. For instance, each of the standards for Internet and other packet switched network transmission (e.g., Transmission Control Protocol (TCP)/Internet Protocol (IP), User Datagram Protocol (UDP)/IP, HyperText Markup Language (HTML), HyperText Transfer Protocol (HTTP)) represent examples of the current state of the art. Such standards are periodically superseded by faster or more efficient equivalents having the same general functionality. Accordingly, replacement standards and protocols having the same functions are equivalents which are contemplated by this patent and are intended to be included within the scope of the accompanying claims.
p-0081Additionally, although this patent discloses example systems including software or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware or in some combination of hardware, firmware and/or software. Accordingly, while the above specification described example systems, methods and articles of manufacture, the examples are not the only way to implement such systems, methods and articles of manufacture. Therefore, although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims either literally or under the doctrine of equivalents.
Contents4
15 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15
Every citation, both waysCites: the store holds 16 of 17
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2015149828A1 | Cited by | United States of America | Search report |
| US2015149828A1 | Cited by | United States of America | Pre-grant |
| US10609578B1 | Cited by | United States of America | Applicant |
| US10552248B2 | Cited by | United States of America | Applicant |
| US10146607B2 | Cited by | United States of America | Search report |
| US11159363B2 | Cited by | United States of America | Search report |
| US11337087B2 | Cited by | United States of America | Applicant |
| US10169135B1 | Cited by | United States of America | Applicant |
| US10554518B1 | Cited by | United States of America | Applicant |
| US10075356B2 | Cited by | United States of America | Applicant |
| US10686668B2 | Cited by | United States of America | Search report |
| US2017230254A1 | Cited by | United States of America | Search report |
| US2015100680A1 | Cited by | United States of America | Pre-grant |
| US11483197B2 | Cited by | United States of America | Applicant |
| US9577910B2 | Cited by | United States of America | Search report |
| US2002174207A1 | Cites | United States of America | Search report |
| US2005259571A1 | Cites | United States of America | Search report |
| US2009048807A1 | Cites | United States of America | Search report |
| US2009135727A1 | Cites | United States of America | Applicant |
| US2009276404A1 | Cites | United States of America | Search report |
| US2009290488A1 | Cites | United States of America | Applicant |
| US2010284283A1 | Cites | United States of America | Applicant |
| US2010284288A1 | Cites | United States of America | Applicant |
| US2011131704A1 | Cites | United States of America | Search report |
| US2011154119A1 | Cites | United States of America | Search report |
| US2011317548A1 | Cites | United States of America | Search report |
| US7013084B2 | Cites | United States of America | Search report |
| US7113988B2 | Cites | United States of America | Applicant |
| US7577099B1 | Cites | United States of America | Applicant |
| US7836356B2 | Cites | United States of America | Applicant |
| US7907535B2 | Cites | United States of America | Applicant |
6 members in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 201113221544 | United States of America | A | |
| US201113221544 | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| US2013051248A1 | United States of America | A1 | |
| US8934352B2This record | United States of America | B2 | |
| US2015085675A1 | United States of America | A1 | |
| US9264331B2 | United States of America | B2 | |
| US2016149783A1 | United States of America | A1 | |
| US10075356B2 | United States of America | B2 |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 08934352
- Publication, DOCDB
- 8934352
- Publication, EPODOC
- US8934352
- Application
- 13221544
- Application, DOCDB
- 201113221544
- Application, EPODOC
- US201113221544
Titles
- English
- Hierarchical anomaly localization and prioritization
Classification
- CPC, 4
- H04L41/0677
- H04L43/0823
- H04L41/0618
- H04L43/0864
- IPC, 2
- G01R31 08
- H04L12 24
- USPC, 4
- 370245000
- 370242000
- 370243000
- 370255000