# US 2010/0165872 A1 · Estimating Wireless Processing Device Queue Length and Estimating Signal Reception Quality in a Wireless Network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2010/0165872 A1
- Document ID: US20100165872A1
- Status: Published application
- Kind: A1
- Application number: 12/226,239
- Filed: 2007-04-09
- Published: 2010-07-01
- Earliest claimed: 2006-04-13
- Assignees: Dolby Laboratories Licensing Corporation
- Inventors: Wenyu Jiang
- Web page: https://patentgrep.com/patent/US20100165872A1

## CPC

- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- H04L 43/0817: by checking functioning
- H04L 47/11: Identifying congestion
- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04L 49/90: Buffering arrangements
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present invention may be used to estimate operational characteristics of devices that transmit and receive streams of information in a communication system. In one application, the level of occupancy of a FIFO buffer in a processing device such as a router or wireless access point is estimated by monitoring packets transmitted by the processing device. Estimates of the operational characteristics can be used to control communications in the system so that the overall performance is improved. Techniques that can be used to mitigate effects of low signal-to-noise ratio conditions are also disclosed.

## Claims

### Claim 1

A method for determining an estimated level of occupancy for a buffer of a processing device in a communication system that comprises:
a first data source that sends packets of information;
the processing device that receives the packets of information from the first data source, stores information for at least some of the packets in the buffer, and transmits packets of information along a communication channel for reception by one or more receivers;
a receiver that receives packets of information from the communication channel that were transmitted by one or more devices including at least some of the packets of information that were transmitted by the processing device; and
the method comprises:
recording receiving times for respective packets of information when received by the receiver;
identifying a selected packet from the respective packets received by the receiver that is identified as having been transmitted by the processing device;
deriving a start time from data conveyed by the selected packet, the start time corresponding to when the information conveyed by the selected packet was received by the processing device;
obtaining an end time from the receiving time of the selected packet;
examining information conveyed by packets of information that are received by the receiver prior to the selected packet and are identified as having been transmitted by the processing device to determine which of the packets received by the receiver are unique packets transmitted by the processing device during an interval from the start-time to the end-time; and
deriving the estimated level of occupancy for the buffer from the determination of which packets are the unique packets and generating a signal that represents the estimated level of occupancy for the buffer.

### Claim 2 (depends on 1)

The method according to claim 1 that derives the estimated level of occupancy by deriving a number of the unique packets.

### Claim 3 (depends on 2)

The method according to claim 2, where each unique packet is identified by a respective sequence number, and the method comprises:
recognizing an increment between the sequence numbers of adjacent packets that is larger than one; and
if the increment is less than a sequence-gap threshold, increasing the number of unique packets by an amount derived from the increment.

### Claim 4 (depends on 2)

The method according to claim 2, where each unique packet is identified by a respective sequence number, and the method comprises calculating the number of unique packets from a difference between the sequence numbers of packets received closest to but not before the start time and closest to but not after the end time.

### Claim 5 (depends on 2)

The method according to claim 2, where each packet conveys an indication of a queuing priority and the processing device uses one or more buffers to implement a multiple-class queuing scheme according to the queuing priority of each packet, and the method comprises:
obtaining numbers of unique packets for multiple queuing classes;
adjusting the numbers of unique packets for multiple queuing classes to account for unclassified packets transmitted by the processing device but not received by the receiver; and
using the adjusted numbers of unique packets to determine respective estimated levels of occupancy for the one or more buffers of the queuing classes and generating one or more signals that represent the respective estimated level of occupancy for the one or more buffers.

### Claim 6 (depends on 5)

The method of claim 5 that comprises:
using numbers of the unique packets for multiple queuing classes to estimate respective relative probabilities for a plurality of the queuing classes; and
adjusting the numbers of unique packets for multiple queuing classes in response to the relative probabilities and a number of the unclassified packets.

### Claim 7 (depends on 6)

The method of claim 6 that comprises adjusting the numbers of unique packets only for those queuing classes having a queuing priority greater than or equal to the priority of the highest-priority queuing class with a respective estimated level of occupancy for the buffer that is greater than zero.

### Claim 8 (depends on 1)

The method according to claim 1, where each packet conveys an indication of a queuing priority and the processing device uses one or more buffers to implement a multiple-class queuing scheme according to the queuing priority of each packet, and the method comprises:
obtaining a probability of receipt by the receiver for unique packets in the multiple queuing classes;
estimating amounts of data conveyed by unique packets for multiple queuing classes to account for data conveyed by unclassified packets transmitted by the processing device but not received by the receiver; and
using the estimated amounts of data to determine respective estimated levels of occupancy for the one or more buffers of the queuing classes and generating one or more signals that represent the respective estimated levels of occupancy for the one or more buffers.

### Claim 9 (depends on 1)

The method according to claim 1 that estimates the maximum level of occupancy for the buffer, the method comprises:
having one or more data sources send packets to the processing device at a rate and for a period of time that drives the level of occupancy for the buffer to its maximum value; and
setting the estimated maximum level of occupancy equal to the determined estimated level of occupancy for the buffer and generating a signal that represents the estimated maximum level of occupancy.

### Claim 10 (depends on 1)

The method according to claim 1 that comprises using the estimated level of occupancy for the buffer to derive communication rates of packets in the communication system.

### Claim 11 (depends on 10)

The method of claim 10, where the communication system comprises:
one or more other data source in addition to the first data source that send packets of information, and
the processing device receives packets of information from the one or more other data sources in addition to those packets of information received from the first data source; and
the method comprises:
determining a plurality of estimated levels of occupancy for the buffer for a plurality of selected packets;
deriving a rate of buffer fill from the plurality of estimated levels of occupancy for the buffer;
obtaining an estimated rate of arrival of primary packets for packets of information received by the processing device from the first data source;
obtaining an estimated rate of transmission of unique packets of information by the processing device; and
deriving an estimated arrival rate of competing packets for packets of information received by the processing device from the one or more other data sources and generating a signal that represents the estimated arrival rate of competing packets.

### Claim 12 (depends on 10)

The method of claim 10 that comprises:
determining a plurality of estimated levels of occupancy for the buffer for a plurality of selected packets;
monitoring the plurality of estimated levels of occupancy for the buffer; and
when the estimated level of occupancy for the buffer is greater than zero, determining a number of unique packets of information transmitted by the processing device within an interval of time to derive an estimated rate of transmission of unique packets of information by the processing device and generating a signal that represents the estimated rate of transmission of unique packets of information by the processing device.

### Claim 13 (depends on 1)

The method of claim 1 that comprises:
determining a plurality of estimated levels of occupancy for the buffer for a plurality of selected packets;
monitoring the plurality of estimated levels of occupancy for the buffer; and
when the estimated level of occupancy for the buffer exceeds an occupancy threshold, sending a notification to the first data source to reduce its sending rate of packets.

### Claim 14 (depends on 1)

The method of claim 1, where each unique packet is identified by a respective sequence number, and the method comprises:
obtaining a first number of unique packets transmitted by the processing device during the interval from the start-time to the end-time by counting the packets of information observed by the receiver;
obtaining a second number of unique packets transmitted by the processing device during the interval from the start-time to the end-time by calculating a difference between the sequence numbers of packets received closest to but not before the start time and closest to but not after the end time; and
deriving a measure of signal-reception quality that varies inversely to a difference between the first number and the second number and generating a signal that represents the measure of signal-reception quality.

### Claim 15 (depends on 14)

The method according to claim 14 that improves accuracy of the first number of unique packets transmitted by the processing device and comprises excluding a selected packet from the first number when the packets of information received by the receiver indicate:
the processing device transmitted the selected packet a number of times that exceeds a retry threshold; and
a subsequent packet of information transmitted next by the processing device has a sequence number that exceeds the sequence number of the selected packet by an amount that is greater than one.

### Claim 16 (depends on 14)

The method according to claim 14 that comprises:
estimating respective bit-error rates in the packets of information that are received by the receiver from the processing device at different transmission rates; and
deriving the measure of signal-reception quality from the estimated bit-error rates when the difference between the first number and the second number indicates signal-reception quality may be poor.

### Claim 17 (depends on 14)

The method according to claim 14 that comprises applying a set of threshold tests to a sliding interval of most recently derived measures of signal-reception quality.

### Claim 18 (depends on 1)

The method according to claim 1 that comprises obtaining a count of the unique packets to determine the estimated level of occupancy for the buffer in numbers of packets.

### Claim 19 (depends on 1)

The method according to claim 1 that comprises obtaining a sum of bytes conveyed by the unique packets to determine the estimated level of occupancy for the buffer in bytes.

### Claim 20

A method for determining an estimated level of occupancy for a buffer of a processing device in a communication system that comprises:
a data source that sends packets of information;
the processing device that receives the packets of information from the data source, stores information for at least some of the packets in the buffer, and transmits packets of information along a communication channel for reception by one or more receivers;
a receiver that receives packets of information from the communication channel that were transmitted by one or more devices including at least some of the packets of information that were transmitted by the processing device; and
the method comprises:
identifying a selected packet from the packets of information received by the receiver that conveys data indicating the selected packet was received by the receiver as a result of a first attempt by the processing device to transmit the selected packet;
recording a receiving time for the selected packet when it was received by the receiver;
monitoring the communication channel to detect transmissions by any of the one or more devices;
calculating a length of time immediately prior to the receiving time of the selected packet during which no transmissions along the communication channel were detected;
comparing the length of time to a first wait-interval threshold; and
determining the estimated level of occupancy for the buffer to be zero if the length of time exceeds the first wait-interval threshold and generating a signal conveying information that represents the estimated level of occupancy for the buffer.

### Claim 21 (depends on 20)

The method according to claim 20 that calculates a clock adjustment value for use in synchronizing a first clock in the receiver with a second clock in the data source when the level of occupancy of the buffer is determined to be zero, the method comprising:
obtaining a sending time from data conveyed by the selected packet that indicates relative to the second clock in the data source when the information conveyed by the selected packet was sent by the data source;
obtaining an estimated processing delay in the processing device that delays transmissions of packets when the level of occupancy for the buffer is zero;
calculating the clock adjustment value by subtracting the sending time of the selected packet and the estimated processing delay from the receiving time of the selected packet, the receiving time indicating relative to the first clock in the receiver when the selected packet was received by the receiver; and
generating a signal that represents the clock adjustment value.

### Claim 22 (depends on 21)

The method according to claim 21 that comprises calculating the estimated processing delay if the length of time is equal to a second wait-interval threshold that is smaller than the first wait-interval threshold.

### Claim 23 (depends on 21)

The method according to claim 21 that comprises:
calculating a plurality of adjustment values for a plurality of selected packets;
examining the plurality of adjustment values to estimate whether any of the plurality of selected packets encountered a queuing delay in the processing device prior to transmission by the processing device; and
obtaining the clock adjustment value from those adjustment values corresponding to selected packets that are estimated not to have encountered queuing delays.

### Claim 24 (depends on 20)

The method according to claim 20 that comprises:
monitoring the communication channel to derive communication traffic statistics, wherein the processing device uses a communication protocol to transmit packets of information along the communication channel;
obtaining estimated individual times required by the processing device to transmit unique packets of information from a model based on the communication traffic statistics, the estimated individual times being sums of wait intervals and transmit intervals where:
a respective wait interval is an amount of time imposed by the communication protocol that the processing device must wait before transmitting packets of information along the communication channel, and
a respective transmit time is an amount of time required by the processing device to inject data representing the packet of information into the communication channel;
obtaining a sum of the estimated individual times required by the processing device to transmit each of a number of unique packets of information; and
deriving an estimated rate of transmission of unique packets of information by the processing device from a division of the number of unique packets by the sum of estimated individual times and generating a signal that represents the estimated rate of transmission of unique packets of information by the processing device.

### Claim at position 25

25-26. (canceled)

### Claim 27

An apparatus for determining an estimated level of occupancy for a buffer of a processing device in a communication system that comprises:
a first data source that sends packets of information;
the processing device that receives the packets of information from the first data source, stores information for at least some of the packets in the buffer, and transmits packets of information along a communication channel for reception by one or more receivers;
a receiver that receives packets of information from the communication channel that were transmitted by one or more devices including at least some of the packets of information that were transmitted by the processing device; and
the apparatus comprises:
means for recording receiving times for respective packets of information when received by the receiver;
means for identifying a selected packet from the respective packets received by the receiver that is identified as having been transmitted by the processing device;
means for deriving a start time from data conveyed by the selected packet, the start time corresponding to when the information conveyed by the selected packet was received by the processing device;
means for obtaining an end time from the receiving time of the selected packet;
means for examining information conveyed by packets of information that are received by the receiver prior to the selected packet and are identified as having been transmitted by the processing device to determine which of the packets received by the receiver are unique packets transmitted by the processing device during an interval from the start-time to the end-time; and
means for deriving the estimated level of occupancy for the buffer from the determination of which packets are the unique packets and generating a signal that represents the estimated level of occupancy for the buffer.

### Claim 28 (depends on 27)

The apparatus according to claim 27 that derives the estimated level of occupancy by deriving a number of the unique packets.

### Claim 29 (depends on 28)

The apparatus according to claim 28, where each unique packet is identified by a respective sequence number, and the apparatus comprises:
means for recognizing an increment between the sequence numbers of adjacent packets that is larger than one; and
means for increasing the number of unique packets by an amount derived from the increment if the increment is less than a sequence-gap threshold.

### Claim 30 (depends on 28)

The apparatus according to claim 28, where each unique packet is identified by a respective sequence number, and the apparatus comprises means for calculating the number of unique packets from a difference between the sequence numbers of packets received closest to but not before the start time and closest to but not after the end time.

### Claim 31 (depends on 28)

The apparatus according to claim 28, where each packet conveys an indication of a queuing priority and the processing device uses one or more buffers to implement a multiple-class queuing scheme according to the queuing priority of each packet, and the apparatus comprises:
means for obtaining numbers of unique packets for multiple queuing classes;
means for adjusting the numbers of unique packets for multiple queuing classes to account for unclassified packets transmitted by the processing device but not received by the receiver; and
means for using the adjusted numbers of unique packets to determine respective estimated levels of occupancy for the one or more buffers of the queuing classes and generating one or more signals that represent the respective estimated level of occupancy for the one or more buffers.

### Claim 32 (depends on 31)

The apparatus of claim 31 that comprises:
means for using numbers of the unique packets for multiple queuing classes to estimate respective relative probabilities for a plurality of the queuing classes; and
means for adjusting the numbers of unique packets for multiple queuing classes in response to the relative probabilities and a number of the unclassified packets.

### Claim 33 (depends on 32)

The apparatus of claim 32 that comprises means for adjusting the numbers of unique packets only for those queuing classes having a queuing priority greater than or equal to the priority of the highest-priority queuing class with a respective estimated level of occupancy for the buffer that is greater than zero.

### Claim 34 (depends on 27)

The apparatus according to claim 27, where each packet conveys an indication of a queuing priority and the processing device uses one or more buffers to implement a multiple-class queuing scheme according to the queuing priority of each packet, and the apparatus comprises:
means for obtaining a probability of receipt by the receiver for unique packets in the multiple queuing classes;
means for estimating amounts of data conveyed by unique packets for multiple queuing classes to account for data conveyed by unclassified packets transmitted by the processing device but not received by the receiver; and
means for using the estimated amounts of data to determine respective estimated levels of occupancy for the one or more buffers of the queuing classes and generating one or more signals that represent the respective estimated levels of occupancy for the one or more buffers.

### Claim 35 (depends on 27)

The apparatus according to claim 27 that estimates the maximum level of occupancy for the buffer, the apparatus comprises:
means for causing one or more data sources to send packets to the processing device at a rate and for a period of time that drives the level of occupancy for the buffer to its maximum value; and
means for setting the estimated maximum level of occupancy equal to the determined estimated level of occupancy for the buffer and generating a signal that represents the estimated maximum level of occupancy.

### Claim 36 (depends on 27)

The apparatus according to claim 27 that comprises means for using the estimated level of occupancy for the buffer to derive communication rates of packets in the communication system.

### Claim 37 (depends on 36)

The apparatus of claim 36, where the communication system comprises:
one or more other data source in addition to the first data source that send packets of information, and
the processing device receives packets of information from the one or more other data sources in addition to those packets of information received from the first data source; and
the apparatus comprises:
means for determining a plurality of estimated levels of occupancy for the buffer for a plurality of selected packets;
means for deriving a rate of buffer fill from the plurality of estimated levels of occupancy for the buffer;
means for obtaining an estimated rate of arrival of primary packets for packets of information received by the processing device from the first data source;
means for obtaining an estimated rate of transmission of unique packets of information by the processing device; and
means for deriving an estimated arrival rate of competing packets for packets of information received by the processing device from the one or more other data sources and generating a signal that represents the estimated arrival rate of competing packets.

### Claim 38 (depends on 36)

The apparatus of claim 36 that comprises:
means for determining a plurality of estimated levels of occupancy for the buffer for a plurality of selected packets;
means for monitoring the plurality of estimated levels of occupancy for the buffer; and
means for, when the estimated level of occupancy for the buffer is greater than zero, determining a number of unique packets of information transmitted by the processing device within an interval of time to derive an estimated rate of transmission of unique packets of information by the processing device and generating a signal that represents the estimated rate of transmission of unique packets of information by the processing device.

### Claim 39 (depends on 27)

The apparatus of claim 27 that comprises:
means for determining a plurality of estimated levels of occupancy for the buffer for a plurality of selected packets;
means for monitoring the plurality of estimated levels of occupancy for the buffer; and
means for sending a notification to the first data source to reduce its sending rate of packets when the estimated level of occupancy for the buffer exceeds an occupancy threshold.

### Claim 40 (depends on 27)

The apparatus of claim 27, where each unique packet is identified by a respective sequence number, and the apparatus comprises:
means for obtaining a first number of unique packets transmitted by the processing device during the interval from the start-time to the end-time by counting the packets of information observed by the receiver;
means for obtaining a second number of unique packets transmitted by the processing device during the interval from the start-time to the end-time by calculating a difference between the sequence numbers of packets received closest to but not before the start time and closest to but not after the end time; and
means for deriving a measure of signal-reception quality that varies inversely to a difference between the first number and the second number and generating a signal that represents the measure of signal-reception quality.

### Claim 41 (depends on 40)

The apparatus according to claim 40 that improves accuracy of the first number of unique packets transmitted by the processing device and comprises means for excluding a selected packet from the first number when the packets of information received by the receiver indicate:
the processing device transmitted the selected packet a number of times that exceeds a retry threshold; and
a subsequent packet of information transmitted next by the processing device has a sequence number that exceeds the sequence number of the selected packet by an amount that is greater than one.

### Claim 42 (depends on 40)

The apparatus according to claim 40 that comprises:
means for estimating respective bit-error rates in the packets of information that are received by the receiver from the processing device at different transmission rates; and
means for deriving the measure of signal-reception quality from the estimated bit-error rates when the difference between the first number and the second number indicates signal-reception quality may be poor.

### Claim 43 (depends on 40)

The apparatus according to claim 40 that comprises means for applying a set of threshold tests to a sliding interval of most recently derived measures of signal-reception quality.

### Claim 44 (depends on 27)

The apparatus according to claim 27 that comprises means for obtaining a count of the unique packets to determine the estimated level of occupancy for the buffer in numbers of packets.

### Claim 45 (depends on 27)

The apparatus according to claim 27 that comprises means for obtaining a sum of bytes conveyed by the unique packets to determine the estimated level of occupancy for the buffer in bytes.

### Claim 46

An apparatus for determining an estimated level of occupancy for a buffer of a processing device in a communication system that comprises:
a data source that sends packets of information;
the processing device that receives the packets of information from the data source, stores information for at least some of the packets in the buffer, and transmits packets of information along a communication channel for reception by one or more receivers;
a receiver that receives packets of information from the communication channel that were transmitted by one or more devices including at least some of the packets of information that were transmitted by the processing device; and
the apparatus comprises:
means for identifying a selected packet from the packets of information received by the receiver that conveys data indicating the selected packet was received by the receiver as a result of a first attempt by the processing device to transmit the selected packet;
means for recording a receiving time for the selected packet when it was received by the receiver;
means for monitoring the communication channel to detect transmissions by any of the one or more devices;
means for calculating a length of time immediately prior to the receiving time of the selected packet during which no transmissions along the communication channel were detected;
means for comparing the length of time to a first wait-interval threshold; and
means for determining the estimated level of occupancy for the buffer to be zero if the length of time exceeds the first wait-interval threshold and generating a signal conveying information that represents the estimated level of occupancy for the buffer.

### Claim 47 (depends on 46)

The apparatus according to claim 46 that calculates a clock adjustment value for use in synchronizing a first clock in the receiver with a second clock in the data source when the level of occupancy of the buffer is determined to be zero, the apparatus comprising:
means for obtaining a sending time from data conveyed by the selected packet that indicates relative to the second clock in the data source when the information conveyed by the selected packet was sent by the data source;
means for obtaining an estimated processing delay in the processing device that delays transmissions of packets when the level of occupancy for the buffer is zero;
means for calculating the clock adjustment value by subtracting the sending time of the selected packet and the estimated processing delay from the receiving time of the selected packet, the receiving time indicating relative to the first clock in the receiver when the selected packet was received by the receiver; and
means for generating a signal that represents the clock adjustment value.

### Claim 48 (depends on 47)

The apparatus according to claim 47 that comprises means for calculating the estimated processing delay if the length of time is equal to a second wait-interval threshold that is smaller than the first wait-interval threshold.

### Claim 49 (depends on 47)

The apparatus according to claim 47 that comprises:
means for calculating a plurality of adjustment values for a plurality of selected packets;
means for examining the plurality of adjustment values to estimate whether any of the plurality of selected packets encountered a queuing delay in the processing device prior to transmission by the processing device; and
means for obtaining the clock adjustment value from those adjustment values corresponding to selected packets that are estimated not to have encountered queuing delays.

### Claim 50 (depends on 46)

The apparatus according to claim 46 that comprises:
means for monitoring the communication channel to derive communication traffic statistics, wherein the processing device uses a communication protocol to transmit packets of information along the communication channel;
means for obtaining estimated individual times required by the processing device to transmit unique packets of information from a model based on the communication traffic statistics, the estimated individual times being sums of wait intervals and transmit intervals where:
a respective wait interval is an amount of time imposed by the communication protocol that the processing device must wait before transmitting packets of information along the communication channel, and
a respective transmit time is an amount of time required by the processing device to inject data representing the packet of information into the communication channel;
means for obtaining a sum of the estimated individual times required by the processing device to transmit each of a number of unique packets of information; and
means for deriving an estimated rate of transmission of unique packets of information by the processing device from a division of the number of unique packets by the sum of estimated individual times and generating a signal that represents the estimated rate of transmission of unique packets of information by the processing device.

### Claim 51

A storage medium recording a program of instructions that is executable by a device to perform a method for determining an estimated level of occupancy for a buffer of a processing device in a communication system that comprises:
a first data source that sends packets of information;
the processing device that receives the packets of information from the first data source, stores information for at least some of the packets in the buffer, and transmits packets of information along a communication channel for reception by one or more receivers;
a receiver that receives packets of information from the communication channel that were transmitted by one or more devices including at least some of the packets of information that were transmitted by the processing device; and
the method comprises:
recording receiving times for respective packets of information when received by the receiver;
identifying a selected packet from the respective packets received by the receiver that is identified as having been transmitted by the processing device;
deriving a start time from data conveyed by the selected packet, the start time corresponding to when the information conveyed by the selected packet was received by the processing device;
obtaining an end time from the receiving time of the selected packet;
examining information conveyed by packets of information that are received by the receiver prior to the selected packet and are identified as having been transmitted by the processing device to determine which of the packets received by the receiver are unique packets transmitted by the processing device during an interval from the start-time to the end-time; and
deriving the estimated level of occupancy for the buffer from the determination of which packets are the unique packets and generating a signal that represents the estimated level of occupancy for the buffer.

### Claim 52

A storage medium recording a program of instructions that is executable by a device to perform a method for determining an estimated level of occupancy for a buffer of a processing device in a communication system that comprises:
a data source that sends packets of information;
the processing device that receives the packets of information from the data source, stores information for at least some of the packets in the buffer, and transmits packets of information along a communication channel for reception by one or more receivers;
a receiver that receives packets of information from the communication channel that were transmitted by one or more devices including at least some of the packets of information that were transmitted by the processing device; and
the method comprises:
identifying a selected packet from the packets of information received by the receiver that conveys data indicating the selected packet was received by the receiver as a result of a first attempt by the processing device to transmit the selected packet;
recording a receiving time for the selected packet when it was received by the receiver;
monitoring the communication channel to detect transmissions by any of the one or more devices;
calculating a length of time immediately prior to the receiving time of the selected packet during which no transmissions along the communication channel were detected;
comparing the length of time to a first wait-interval threshold; and
determining the estimated level of occupancy for the buffer to be zero if the length of time exceeds the first wait-interval threshold and generating a signal conveying information that represents the estimated level of occupancy for the buffer.
