Efficient resource status reporting apparatuses
First Claim
1. A networking apparatus comprising:
- communication hardware interfaces coupled to one or more networks, the communication hardware interfaces configured to receive and send messages;
a switching subsystem configured to process routable messages received over the communication hardware interfaces;
a tracking subsystem configured to track resources used by the apparatus while processing the routable messages, at least by tracking an aggregate count of resources assigned for each object in a first set of objects, each object in the first set corresponding to one of;
an ingress port, egress port, processing queue, or group of ports;
a status update system configured to update resource status information for each object in the first set by comparing a current aggregate count of resource assignments for the object to one or more thresholds for the object, the resource status information including a priority indicator indicating whether the object has a priority status;
a reporting subsystem configured to send, to a receiver, granular measures of resource assignments for priority objects within the first set, the priority objects being objects that currently have the priority status, each of the granular measures for a particular object reflecting how many resources have been assigned to a different combination of the particular object with another object in a second set of objects;
wherein the reporting subsystem is further configured to send the granular measures of resource assignments for the priority objects more frequently than granular measures of resource assignments for other objects in the first set that do not have the priority status.
2 Assignments
0 Petitions
Accused Products
Abstract
Described techniques enable the tracking and reporting of resource utilization at multiple levels of granularity, the highest of which involves tracking resource usage by a particular object in aggregate. When aggregate usage for the particular object is within certain parameters, actual resource usage is not reported at the lower level of granularity, but is replaced by placeholder values. When aggregate usage for the particular object exceeds a threshold, the particular object is considered to be a “hot spot.” Resource usage for the particular object can then be reported (and tracked, if not already) at the lower level of granularity until the particular object is no longer a “hot spot.” The efficiency of the tracking may be further enhanced by leveraging a bifurcated counting mechanism in which a full count is updated only at selected sample times, with intermediate counters used to store changes in between sample times.
-
Citations
26 Claims
-
1. A networking apparatus comprising:
-
communication hardware interfaces coupled to one or more networks, the communication hardware interfaces configured to receive and send messages; a switching subsystem configured to process routable messages received over the communication hardware interfaces; a tracking subsystem configured to track resources used by the apparatus while processing the routable messages, at least by tracking an aggregate count of resources assigned for each object in a first set of objects, each object in the first set corresponding to one of;
an ingress port, egress port, processing queue, or group of ports;a status update system configured to update resource status information for each object in the first set by comparing a current aggregate count of resource assignments for the object to one or more thresholds for the object, the resource status information including a priority indicator indicating whether the object has a priority status; a reporting subsystem configured to send, to a receiver, granular measures of resource assignments for priority objects within the first set, the priority objects being objects that currently have the priority status, each of the granular measures for a particular object reflecting how many resources have been assigned to a different combination of the particular object with another object in a second set of objects; wherein the reporting subsystem is further configured to send the granular measures of resource assignments for the priority objects more frequently than granular measures of resource assignments for other objects in the first set that do not have the priority status. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
tracking an aggregate count of resources assigned for each object in a first set of objects, the objects in the first set corresponding to components of a network device, the components including at least one of;
an ingress port, an egress port, a processing queue, or a group of ports;updating resource status information for each object in the first set by comparing a current aggregate count of resource assignments for the object to one or more aggregate thresholds for the object, the resource status information including a priority indicator indicating whether the object has a priority status; identifying priority objects within the first set that currently have the priority status; tracking granular counts of resource assignments for each particular object of at least the priority objects, each of the granular counts for the particular object counting resources assigned to a different combination of the particular object with another object in a second set of objects; based on the tracked granular counts, generating a report of granular measures of resource assignments for objects in the first set of objects, each of the granular measures for a particular object reflecting how many resources have been assigned to a different combination of the particular object with another object in the second set of objects; selecting specific objects in the first set for which to track the granular counts and/or whose granular measures are to be included in the report based on which objects in the first set are identified as priority objects. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. One or more non-transitory computer-readable storage media storing instructions that, when executed by one or more computing devices, cause performance of:
-
tracking an aggregate count of resources assigned for each object in a first set of objects, the objects in the first set corresponding to components of a network device, the components including at least one of;
an ingress port, an egress port, a processing queue, or a group of ports;updating resource status information for each object in the first set by comparing a current aggregate count of resource assignments for the object to one or more aggregate thresholds for the object, the resource status information including a priority indicator indicating whether the object has a priority status; identifying priority objects within the first set that currently have the priority status; tracking granular counts of resource assignments for each particular object of at least the priority objects, each of the granular counts for the particular object counting resources assigned to a different combination of the particular object with another object in a second set of objects; based on the tracked granular counts, generating a report of granular measures of resource assignments for objects in the first set of objects, each of the granular measures for a particular object reflecting how many resources have been assigned to a different combination of the particular object with another object in the second set of objects; selecting specific objects in the first set for which to track the granular counts and/or whose granular measures are to be included in the report based on which objects in the first set are identified as priority objects. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
Specification