Patent ID: 7089304

Claim:
In a computer network that comprises one or more servers providing one or more services to at least one client, and wherein the at least one client accesses the one or more services through the one or more servers during a plurality of sessions created in response to a login request from the at least one client, with at least some of the plurality of sessions occurring simultaneously, and wherein access to the one or more services during a particular session includes at least one of a charged time portion and a free time portion, a method of tracking the at least one client usage of the one or more services during each session the method comprising acts of: receiving at one of the one or more servers one or more metering packets from the at least one client, each of the one or more metering packets being generated at the at least one client and each metering packet being used at the at least one client to store data for tracking usage of one or more services during each session, and each metering packet comprising a data structure for storing the following data: a session identifier element that links a particular metering packet with a particular session; a time element indicating the at least one client usage of the one or more services, the time element comprising a charged time portion and a free time portion, wherein the charged time portion corresponds to access to one or more services that incurs an access charge, and wherein the free time portion corresponding to access to one or more services that does not incur an access charge; and a sequence number element; and the one or more servers updating a usage database based on the received one or more metering packets by using the sequence number element to determine whether each received metering packet is redundant of any prior metering packet already stored in the usage database, and if so, discarding it, and if not, then storing each received metering packet that is not redundant in the usage database in order to store the data contained in each received metering packet that is not redundant, and from which it can be determined from the time element whether the at least client usage of the one or more services during the particular session for that received metering packet is a charged time portion or a free time portion.