IP Library Granted Patent US 8,209,433
Granted Patent B2
US 8,209,433 · App. 12/278,146 · Granted Jun 26, 2012

Congestion management and latency prediction in CSMA media

Assignee: CoCo Communications Corp.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,209,433
App. No.
12/278,146
Granted
Jun 26, 2012
Kind
B2
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.

Claims (55)

1. 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 periodically provided by the first network node to 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, as each new message is monitored, a log of data comprising a first number of bits, 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 each bit is one of a first binary number that indicates that the message was received and a second binary number that indicates 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;

dividing, as each new message is monitored, the log of data into a first log portion containing the bits associated with messages monitored during a first time period and a second log portion containing the 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, integrity of the first log portion, wherein the integrity of the first log portion corresponds to a number of the first bits in the first log portion;

determining, as each new message is monitored, integrity of the second log portion, wherein the integrity of the second log portion corresponds to a number of the first bits in the second log portion;

comparing, as each new message is monitored, the integrity of the first log portion and the integrity of the second log portion;

if the integrity of the first log portion is at least equal to the integrity of the second log portion by a predetermined criterion, continuing to generate the log of data using the first number of bits as a next message is provided; and

if the integrity of the first log portion is less than the integrity of the second log portion by the predetermined criterion, discarding the second log portion continuing to generate the log of data using a second number of bits as the next message is provided, wherein the second number of bits corresponds to the number of the bits in the first log portion.

2. The medium of claim 1 , wherein monitoring further includes monitoring the next message provided by the second network node to the first network node, wherein one of the first bit and the second bit is generated based on whether the next message is received or dropped, and wherein the generated bit is added as the current bit of the log of data.

3. The medium of claim 1 , wherein the first and second log portions comprise two halves of the log of data.

4. The medium of claim 1 , wherein the predetermined criterion comprises the integrity of the second log portion being greater than or equal to the integrity of the first log portion.

5. The medium of claim 1 , wherein the integrity of the first log portion corresponds to a ratio of first bits to the total number of bits in the first log portion, and wherein the integrity of the second log portion corresponds to a ratio of first bits to the total number of bits in the second log portion.

6. The medium of claim 1 , wherein determining the integrity of the first log portion and the integrity of the second log portion comprises:

determining, as each new message is monitored, a first log portion percentage, wherein the first log portion percentage corresponds to a number of the first bits and the second bits in the first log portion; and

determining, as each new message is monitored, a second log portion percentage, wherein the second log portion percentage corresponds to a number of the first bits and the second bits in the second log portion,

wherein if the first log portion percentage is at least equal to the second log portion percentage by a predetermined criterion, continuing to generate the log of data using the first number of bits as a next message is provided, and

wherein if the first log portion percentage is less than the second log portion percentage by the predetermined criterion, discarding the second log portion and continuing to generate the log of data using a second number of bits as the next message is provided, wherein the second number of bits corresponds to the number of bits in the first log portion.

7. The medium of claim 1 , wherein after the first log portion has been discarded in response to the previously compared integrity of the first log portion being less than the integrity of the second log portion by the predetermined criterion, and wherein the generated log of data has been generated using the second number of bits, the method further comprising:

dividing, as the next message is monitored, the generated log of data having the second number of bits into a new first log portion containing data associated with messages monitored during a new first time period and a new second log portion containing data associated with messages monitored during a new second time period occurring earlier than the new first time period, wherein a sum of the new first time period and the new second time period equals to a time period over which the bits of the generated log of data having the second number of bits was accumulated;

determining, as the next message is monitored, integrity of the new first log portion, wherein the integrity of the new first log portion corresponds to a number of the first bits in the new first log portion;

determining, as the next message is monitored, integrity of the new second log portion, wherein the integrity of the new second log portion corresponds to a number of the first bits in the new second log portion;

comparing, as the next message is monitored, the integrity of the new first log portion and the integrity of the new second log portion;

if the integrity of the new first log portion is at least equal to the integrity of the new second log portion by a predetermined criterion, continuing to generate the log of data using the second number of bits as a subsequent next message is provided; and

if the integrity of the new first log portion is less than the integrity of the new second log portion by the predetermined criterion, discarding the new second log portion and continuing to generate the log of data using a third number of bits as the subsequent next message is provided, wherein the third number of bits correspond to the number of bits in the new first log portion.

8. The medium of claim 7 , wherein the new first log portion and the new second log portion are two halves of the generated log of data.

9. 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 periodically provided by the first network node to 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 first 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;

compare, as each new message is monitored, an integrity of received messages represented by the first and second bits of the first log portion with an integrity of received messages represented by the first and second bits of the second log portion;

if the compared integrity of the first log portion is at least equal to the integrity of the second log portion by a predetermined criterion, continue to generate in the log of data the first and second portions; and

if the compared integrity of the first log portion is less than the integrity of the second log portion by the predetermined criterion, discard the second log portion.

10. The system of claim 9 , wherein the third network node is further configured to monitor a series of received and dropped messages periodically provided by the second network node to the first network node.

11. The system of claim 9 , wherein the first log portion and the second log portion are two halves of the log of data.

12. The system of claim 9 , wherein the second log portion is discarded.

13. The system of claim 9 , wherein the predetermined criterion comprises the integrity of the second log portion being greater than or equal to the integrity of the first log portion.

14. The system of claim 9 , wherein the third network node is further configured to:

determine, as each new message is monitored, the integrity of the first log portion, wherein the integrity of the first log portion corresponds to a number of the first bits in the first log portion; and

determine, as each new message is monitored, the integrity of the second log portion, wherein the integrity of the second log portion corresponds to a number of the first bits in the second log portion.

15. The system of claim 9 , wherein the third network node is further configured to:

determine, as each new message is monitored, the integrity of the first log portion, wherein the integrity of the first log portion corresponds to a percentage of a number of the first bits in the first log portion; and

determine, as each new message is monitored, the integrity of the second log portion, wherein the integrity of the second log portion corresponds to a percentage of a number of the first bits in the second log portion.

16. 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 periodically provided by the first network node to 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, as each new message is monitored, a log of data comprising a first number of bits, 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 each bit is one of a first binary number and a second binary, wherein the first binary number indicates that the associated said message was received, wherein the second binary number indicates that the associated said 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 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 bits associated with messages monitored during a first time period and a second log portion containing the 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, integrity of the first log portion, wherein the integrity of the first log portion corresponds to a number of the first bits in the first log portion;

determining, as each new message is monitored, integrity of the second log portion, wherein the integrity of the second log portion corresponds to a number of the first bits in the second log portion;

comparing, as each new message is monitored, the integrity of the first log portion and the integrity of the second log portion;

if the integrity of the first log portion is at least equal to the integrity of the second log portion by a predetermined criterion, continuing to generate the log of data using the first number of bits as a next message is provided; and

if the integrity of the first log portion is less than the integrity of the second log portion by the predetermined criterion, discarding the second log portion and continuing to generate the log of data using a second number of bits as the next message is provided, wherein the second number of bits corresponds to the number of bits in the first log portion.

17. The method of claim 16 , wherein monitoring further includes monitoring the next message provided by the second network node to the first network node, wherein one of the first bit and the second bit is generated based on whether the next message is received or dropped, and wherein the generated bit is added as the current bit of the log of data.

Assignments (9)
CERTIFICATE OF CONVERSION Recorded Nov 5, 2019
From: UNIUM INC.
To: UNIUM LLC
Reel/Frame 050936/0136 →
CHANGE OF NAME Recorded Nov 5, 2019
From: COCO COMMUNICATIONS CORP.
To: UNIUM INC.
Reel/Frame 050936/0100 →
CHANGE OF NAME Recorded Sep 24, 2019
From: COCO COMMUNICATIONS CORP.
To: UNIUM INC.
Reel/Frame 050468/0359 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2018
From: EAGLE RIVER HOLDINGS, LLC
To: COCO COMMUNICATIONS CORP.
Reel/Frame 044756/0813 →
RELEASE OF SECURITY INTEREST Recorded Nov 29, 2017
From: DEFEO, JOHN E; BARBO FAMILY INVESTMENTS LLC; BARBO, CHARLES; STACHOWIAK, JOHN; WBW TRUST NO. ONE; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST; VOLPE, INC.; MONKMAN, WILLIAM R
To: COCO COMMUNICATIONS CORP.
Reel/Frame 044251/0621 →
SECURITY INTEREST Recorded Nov 29, 2017
From: COCO COMMUNICATIONS CORP.
To: BARBO FAMILY INVESTMENTS LLC; VOLPE, INC.; STACHOWIAK, JOHN; MONKMAN, WILLIAM R; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST
Reel/Frame 044251/0172 →
RELEASE OF SECURITY INTEREST Recorded Feb 22, 2016
From: DEFEO, JOHN E.; BARBO FAMILY INVESTMENTS LLC; BARBO, CHARLES; STACHOWIAK, JOHN; WBW TRUST NO. ONE; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST; VOLPE, INC.; MONKMAN, WILLIAM R.
To: COCO COMMUNICATIONS CORP.
Reel/Frame 037790/0814 →
SECURITY AGREEMENT Recorded Apr 26, 2010
From: COCO COMMUNICATIONS CORP.
To: BARBO FAMILY INVESTMENTS LLC; VOLPE, INC.; STACHOWIAK, JOHN; MONKMAN, WILLIAM R.; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST
Reel/Frame 024286/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2009
From: ELLER, RILEY; EDWARDS, DENNIS; BRUESTLE, JEREMY; TUCKER, MARK L.
To: COCO COMMUNICATIONS CORP.
Reel/Frame 022750/0050 →
Continuity (4)
Provisional Application 60764013 · Feb 1, 2006
Provisional Application 60763977 · Feb 1, 2006
Provisional Application 60763959 · Feb 1, 2006
Related Publication 20090307372A1 · Dec 10, 2009