Congestion management and latency prediction in CSMA media
First Claim
Patent Images
1. A method to determine data-transmission congestion, the method comprising:
- generating an ordered series of bits, the ordered series of bits representing a history of communication receipts and communication failures between two network devices;
splitting the ordered series of bits into a first portion of ordered series of bits and a second portion of ordered series of bits, wherein the first portion of ordered series of bits corresponds to earlier communication receipts and communication failures, and wherein the second portion of ordered series of bits corresponds to later communication receipts and communication failures that occur after the first portion of ordered series of bits;
determining a first number that corresponds to a number of communication receipts and a number of communication failures during the first portion of ordered series of bits;
determining a second number that corresponds to a number of communication receipts and a number of communication failures during the second portion of ordered series of bits;
defining a null hypothesis that the difference between the first number and the second number is not statistically significant;
determining an amount of data-transmission congestion using the entire ordered series of bits when the null hypothesis is true; and
determining the amount of data-transmission congestion using the second portion of ordered series of bits when the null hypothesis is false.
3 Assignments
0 Petitions
Accused Products
Abstract
A facility for congestion management and latency prediction is described. In various embodiments, the facility sums a series of fractional transmission delays wherein each fractional transmission delay is measured as a probability of a failed transmission attempt multiplied by the cost of the failed transmission attempt, and provides the sum.
16 Citations
16 Claims
-
1. A method to determine data-transmission congestion, the method comprising:
-
generating an ordered series of bits, the ordered series of bits representing a history of communication receipts and communication failures between two network devices; splitting the ordered series of bits into a first portion of ordered series of bits and a second portion of ordered series of bits, wherein the first portion of ordered series of bits corresponds to earlier communication receipts and communication failures, and wherein the second portion of ordered series of bits corresponds to later communication receipts and communication failures that occur after the first portion of ordered series of bits; determining a first number that corresponds to a number of communication receipts and a number of communication failures during the first portion of ordered series of bits; determining a second number that corresponds to a number of communication receipts and a number of communication failures during the second portion of ordered series of bits; defining a null hypothesis that the difference between the first number and the second number is not statistically significant; determining an amount of data-transmission congestion using the entire ordered series of bits when the null hypothesis is true; and determining the amount of data-transmission congestion using the second portion of ordered series of bits when the null hypothesis is false.
-
-
2. A non-transitory computer-readable medium comprising executable program code that when executed by a processing element implements a method to determine data-transmission congestion between a first network node and a second network node, the method comprising:
-
monitoring a series of received and dropped messages communicated between the first network node and the second network node, wherein the received messages are associated with a first bit and the dropped messages are associated with a second bit; generating a log of data as each new message is monitored, wherein the log of data is an ordered series of the first bits and the second bits ordered from a current bit associated with a current message to an oldest bit associated with an oldest message, wherein a first new bit or a second new bit associated with the new monitored message is added to the log of data as the current bit, and wherein the oldest bit is removed from the log of data; dividing, as each new message is monitored, the log of data into a first log portion containing bits associated with messages monitored during a first time period and a second log portion containing bits associated with messages monitored during a second time period, wherein the second time period is earlier than the first time period; determining, as each new message is monitored, a first number, wherein the first number corresponds to a number of the first bits in the first log portion; determining, as each new message is monitored, a second number, wherein the second number corresponds to a number of the first bits in the second log portion; if the first number is at least equal to the second number by a predetermined criterion, continuing to generate the log of data as a next message is provided; and if the first number is less than the second number by the predetermined criterion, discarding the second log portion and continuing to generate the log of data using a new number of bits as the next message is provided, wherein the new number of bits corresponds to the number of the bits in the first log portion. - View Dependent Claims (3, 4, 5, 6)
-
-
7. A system, comprising:
-
a first network node configured to provide messages to a second network node; and a third network node configured to; monitor a series of received and dropped messages between the first network node and the second network node; generate, as each new message is monitored, a log of data indicating whether each said message was received or dropped, wherein the log of data comprises a total number of bits in an ordered series that is ordered from a current bit associated with a current message to an oldest bit associated with an oldest message, wherein each bit is one of a first binary number indicating that the message was received and a second binary number indicating that the message was dropped, wherein the bit associated with the new monitored message is added as the current bit into the log of data, and wherein the oldest bit is removed from the log of data; divide the log of data into a first log portion containing data associated with messages monitored during a first time period and a second log portion containing data associated with messages monitored during a second time period occurring earlier than the first time period; determine, as each new message is monitored, a first number, wherein the first number corresponds to a number of first bits in the first log portion, or wherein the first number corresponds to a number of second bits in the first log portion; determine, as each new message is monitored, a second number, wherein the second number corresponds to a number of the first bits in the second log portion when the first number corresponds to the number of the first bits in the first log portion, or wherein the second number corresponds to a number of the second bits in the second log portion when the first number corresponds to the number of the second bits in the first log portion; if the first number is at least equal to the second number by a predetermined criterion, continuing to generate the log of data using the total number of bits as a next message is provided; and if the first number is less than the second number by the predetermined criterion, discarding the second log portion and continuing to generate the log of data using a new number of bits as the next message is provided, wherein the new number of bits corresponds to a number of the bits in the first log portion. - View Dependent Claims (8, 9)
-
-
10. A method to determine data-transmission congestion between a first network node and a second network node, the method comprising:
-
monitoring a series of new messages between the first network node and the second network node, wherein received messages are associated with a first bit and dropped messages are associated with a second bit; generating, in response to monitoring each new message, a log of data comprising a total number of bits corresponding to a predefined number of monitored messages, wherein the log of data is an ordered series of the first and second bits ordered from a current bit associated with a current message to an oldest bit associated with an oldest message, wherein a new bit associated with the new monitored message is added as the current bit into the log of data, and wherein a bit associated with the oldest message is removed from the log of data; dividing, in response to monitoring each new message, the log of data into a first log portion containing a first number of bits associated with a first number of messages monitored during a first time period and a second log portion containing a second number of bits associated with a second number of messages monitored during a second time period, wherein the second time period is earlier than the first time period, and wherein the first number of bits associated with the first number of messages and the second number of bits associated with the second number of messages equals the total number of bits; determining, in response to monitoring each new message, a first number corresponding to a number of the first bits in the first log portion; determining, as each new message is monitored, a second number corresponding to a number of the first bits in the second log portion; comparing, as each new message is monitored, the first number and the second number; if the first number is at least equal to the second number by a predetermined criterion, continuing to generate the log of data using the total number of bits as a next message is monitored; and if the first number is less than the second number by the predetermined criterion, discarding the second log portion and continuing to generate the log of data using a new number of bits as the next message is monitored, wherein the new number of bits corresponds to the first number of bits in the first log portion. - View Dependent Claims (11, 12)
-
-
13. A method to determine data-transmission congestion between a first network node and a second network node, wherein received messages are associated with a first bit and dropped messages are associated with a second bit, the method comprising:
-
generating, as each new message is monitored, a log of data comprising a total number of bits corresponding to a number of monitored messages, wherein the log of data is an ordered series of the first bits and the second bits ordered from a current bit associated with a current message to an oldest bit associated with an oldest message, wherein the bit associated with the new monitored message is added as the current bit into the log of data, and wherein a bit associated with the oldest message is removed from the log of data; dividing, as each new message is monitored, the log of data into a first log portion containing the first bits and the second bits associated with messages monitored during a first time period and a second log portion containing the first bits and the second bits associated with messages monitored during a second time period, wherein the second time period is earlier than the first time period; determining, as each new message is monitored, a first number corresponding to a number of the first bits in the first log portion; determining, as each new message is monitored, a second number corresponding to a number of the first bits in the second log portion; comparing, as each new message is monitored, the first number and the second number; if the first number is at least equal to the second number by a predetermined criterion, continuing to generate the log of data using the total number of bits; and if the first number is less than the second number by the predetermined criterion, discarding the second log portion and continuing to generate the log of data using a new number of bits as a next message is provided, wherein the new number of bits corresponds to the number of the first bits and the second bits in the first log portion. - View Dependent Claims (14, 15, 16)
-
Specification