Summary
- RFC 3483 separated monitoring, recording, reporting and clearing: a Policy Decision Point could silence unsolicited reports while a Policy Enforcement Point continued to count usage.
- It also required reports to retain timing, clearing and assignment identity, with final boundaries at context deactivation, request deletion and cached-policy expiry.
Imagine a monitoring screen that has shown no new number for ten minutes. The tempting conclusion is that nothing happened. RFC 3483 made that conclusion unsafe. Its Policy Enforcement Point, or PEP, could still be observing and accumulating policy use while its Policy Decision Point, or PDP, had deliberately suspended reports. Silence described the reporting channel. It did not describe the measured world.
The distinction mattered because COPS policy usage feedback was not one indivisible accounting action. The framework separated three questions. A selection policy identified what should be watched. A usage-feedback class identified which metrics should be collected. A linkage policy joined those choices to conditions for delivery. A later report therefore carried the result of a particular selection, metric and schedule, not a self-explanatory total.
The Accounting Timer supplied the outer pace. It set the maximum frequency for unsolicited accounting-type reports accepted on the COPS connection. RFC 3483 was explicit that this was traffic pacing, not precision synchronization. A linkage policy could wait for several timer intervals, report at a threshold, report only after a value changed, or report periodically even when it had not changed. The absence of a packet at one imagined deadline proved little unless the applicable rule was also known.
The sharpest case was a timer value of zero. Zero meant that the PEP sent no unsolicited usage feedback. It did not mean that the PEP stopped monitoring. The device continued tracking whatever the PDP's policy selected and held the result until the PDP asked for it. In operational evidence, zero on the delivery control was not zero in the counter.
Suspension widened that gap. The PDP could suspend report messages while monitoring continued, then later resume delivery. Or it could suspend monitoring itself, which necessarily suppressed reports because no new use was being tracked. In either case the instruction also specified whether current accumulated usage should be reported at the transition. The framework could apply this state change to one feedback policy or to all of them. An investigator therefore needs both state variables. “Reporting off” and “measurement off” are not interchangeable annotations.
On-demand feedback created another trap. A PDP could solicit an immediate report in the middle of an accounting interval. If the usage policy said to clear an attribute after reporting, the PEP cleared it. Yet the original periodic schedule continued; the solicitation did not reset the clock. Two reports close together might be perfectly correct: one answered the request, and another arrived at the already scheduled boundary. Their values cannot be added or compared without knowing whether the first cleared the counter.
Identity was just as important as time. Some COPS objects represented a unique configuration item. Others were shared templates from which the PEP created several actual assignments, each capable of collecting independent statistics. RFC 3483 required the selection-criteria PRC and the usage-feedback PRC together to contain enough information to identify the finest granularity the PEP supported. A shared IP object, for example, might need a port to distinguish the assignment that generated the count. A precise number attached to an ambiguous object was still weak evidence.
The document recommended putting a complete unique key in selection criteria. It also permitted an optional form in which incomplete criteria selected several matching assignments and the feedback record supplied the missing differentiator. That choice changes how records must be joined. Looking only at the selection side can merge several counters; looking only at the returned metric can lose the policy that authorized collection.
Context switches drew a formal edge around the evidence. COPS-PR could maintain several disjoint policy contexts while only one was active. Usage was monitored, recorded and reported while its context was active. Deactivation required a report containing the context's feedback; afterward the PEP did no monitoring, tracking or reporting for that inactive context. The last report was a closing record, not just another periodic sample.
Delete Request State had an equally strict ending. Immediately before issuing the deletion, the PEP had to send outstanding usage data. This applied even when the PDP initiated the deletion. The ordering matters: erase request state after preserving the final evidence, not before and not on the assumption that the previous periodic report was close enough.
Connection failure did not erase those distinctions. If the PEP lost contact with the PDP, it continued tracking usage only for as long as it continued enforcing cached policy. When that installed policy expired, the feedback data expired and monitoring ended with it. After reconnection, the PDP had to state deterministically that reporting could resume. The PEP then reported cached usage and adjusted its schedule to the Accounting Timer accepted on the new connection.
That rule tied the life of the evidence to the life of the decision being enforced. The counter did not survive merely because a database row or a process survived. Nor did reconnection authorize the PEP to invent continuity beyond policy expiry. RFC 3483 made the policy boundary the evidentiary boundary.
The RFC's limits are important. It was Informational and called itself a framework. Charging, rating and billing models were outside scope. The exact content of a soliciting Decision belonged to later implementing documents. Nothing in the record proves that a named network deployed the framework, that its counters were accurate, that vendors interoperated, or that a usage report represented customer-visible service.
Its historical contribution was conceptual discipline. RFC 3060 had distinguished policy data from local execution; RFC 3084 had described provisioning state and caching; RFC 3159 had addressed policy-row identity. RFC 3483 began after a policy was installed and asked a different question: what evidence of use existed, when did it speak, and what exactly did its number refer to?
Heng Lu's reality-layer method turns that question into a reconstruction. Preserve the active context and actual assignment. Join selection, metric and linkage policy. Record every timer, threshold, change condition and clear-after-report rule. Place solicitations, suspensions, resumptions and final reports on one chronology. During failure, stop the evidence where cached enforcement stopped.
Only then can a quiet channel be interpreted. It may mean no use. It may mean no unsolicited reporting, a suspended delivery state, an unfinished interval, or accumulated evidence waiting behind a request boundary. RFC 3483's enduring lesson is that a counter and its messenger have separate lives. The report went silent. The counter did not necessarily stop.
Sources
Member Briefing
Deeper Profile Context
Sign in with the right membership level to unlock the full briefing and source notes.
Only for Strategic Circle
Strategic Circle
Open to all readers. Unlock profile briefings after joining and signing in.
Join Strategic CircleOnly for Leadership Alliance
Leadership Alliance
For qualified IP-asset owners and management; sign in to unlock alliance briefings.
Join Leadership Alliance
