Patent ID: 7577096

Claim:
A network device for processing data on a data network, the network device comprising: a plurality of ports, configured to receive data from a data network and to send processed data to the data network; a memory management unit, in communication with and controlling memory external to the network device, configured store data on and retrieve data from the memory; and a metering unit, in communication with the plurality of ports and the memory management unit, configured to police a flow of the processed data to be sent to the network device; wherein the metering unit is configured to utilize a series of leaky bucket units, where each particular leaky bucket unit is decremented when processed data is sent and incremented through a background timestamp method, where tokens are added to each leaky bucket unit only when that particular leaky bucket unit is accessed; wherein the metering unit is configured to add the tokens based on a prior timestamp value, a current timing value and an established rate and a multiplication to establish the tokens is accomplished by shifting a register of the established rate; and wherein the metering unit is configured to set a new timestamp value as the current timing value less a difference between the shift in the register of the established rate and a difference between the prior timestamp value and the current timing value.