← Back to Patent Explorer
US6151633A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for routing and congestion control in multicast networks

Assignee: Oracle America Inc
•
Filing: 1998-04-20
•
Granted: 2000-11-21
•
Expires: 2018-04-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An embodiment consistent with the present invention includes a method and apparatus for distributing multicast data. The method may be performed by a data processor and comprises the steps of forming a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers, wherein at least one head is associated with the sender and at least one receiver is associated with the head; sending, by a sender to the plurality of heads and the plurality of receivers, a plurality of multicast messages at a data rate; receiving, by the sender from one of the plurality of heads, a congestion status associated with a receiver of the head; and slowing the data rate, by the sender, in accordance with the congestion status.

Inventors

  • 👤 Stephen A. Hurst
  • 👤 Joseph Wesley
  • 👤 Stephen R. Hanna
  • 👤 Miriam C. Kadansky
  • 👤 Philip M. Rosenzweig

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 15:39
CPC Classifications
H; H04; H04L; H04L1/00; H04L1/12; H04L1/16; H04L1/18; H04L1/1867; H04L12/00; H04L12/02; H04L12/16; H04L12/18; H04L12/185; H04L12/1863; H04L2001/0092; H04L2001/0093; H04L2001/0097

Claims Analysis

Total Claims: 62
Claim 1
Independent Claim 124 words
A method of distributing multicast data, comprising the steps of: forming a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers, wherein at least one head is associated with the sender, and at least one receiver is associated with the head; sending, by the sender to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; receiving, by the sender from one of the plurality of heads, a status associated with a receiver of the at least one head; slowing the data rate, by the sender, in accordance with the status; and signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 2
Independent Claim 124 words
A method of distributing multicast data, comprising the steps of: forming a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers, wherein at least one head is associated with the sender, and at least one receiver is associated with the head; sending, by the sender to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; receiving, by the sender from one of the plurality of heads, a status associated with a receiver of the at least one head; slowing the data rate, by the sender, in accordance with the status; and signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 3
Dependent Claim 12 words
The method of claim 1, wherein the status is a congestion status.
Claim 4
Dependent Claim 39 words
The method of claim 1, wherein the step of signaling includes the step of setting an indicator in at least one of the multicast messages to indicate that the heads should begin to monitor their receivers for pruning candidates.
Claim 5
Dependent Claim 47 words
The method of claim 1, wherein the step of signaling includes the step of determining when a minimum data rate has been reached and setting a prune indicator in at least one of the multicast messages to indicate that the heads can begin to prune their receivers.
Claim 6
Dependent Claim 27 words
The method of claim 2, further comprising the step of: incrementally increasing, by the sender, the data rate if there is no congestion reported in the system.
Claim 7
Independent Claim 127 words
An apparatus that distributes multicast data, comprising: circuitry configured to form a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers, wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; circuitry configured to send to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; circuitry configured to receive from one of the plurality of heads, a status associated with a receiver of the head; circuitry configured to slow the data rate in accordance with the status; and circuitry configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 8
Independent Claim 127 words
An apparatus that distributes multicast data, comprising: circuitry configured to form a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers, wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; circuitry configured to send to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; circuitry configured to receive from one of the plurality of heads, a status associated with a receiver of the head; circuitry configured to slow the data rate in accordance with the status; and circuitry configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 9
Dependent Claim 12 words
The apparatus of claim 6, wherein the status is a congestion status.
Claim 10
Dependent Claim 41 words
The apparatus of claim 6, wherein the circuitry configured to signal further includes circuitry configured to set an indicator in at least one of the multicast messages to indicate that the heads should begin to monitor their receivers for pruning candidates.
Claim 11
Dependent Claim 50 words
The apparatus of claim 6, wherein the circuitry configured to signal further includes circuitry configured to determine when a minimum data rate has been reached and to set a prune indicator in at least one of the multicast messages to indicate that the heads can begin to prune their receivers.
Claim 12
Dependent Claim 27 words
The apparatus of claim 7, further comprising: circuitry configured to increase incrementally, by the sender, the data rate if there is no congestion reported in the system.
Claim 13
Independent Claim 122 words
An apparatus for distributing multicast data, comprising: means for forming a multicast repair tree including a sender, a plurality of head, and a plurality of receivers wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; means for sending to the plurality of heads and to the plurality of receivers, a plurality of multicast messages having a data rate; means for receiving from one of the plurality of heads, a status associated with a receiver of the head; means for slowing the data rate in accordance with the status; and means for signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 14
Independent Claim 122 words
An apparatus for distributing multicast data, comprising: means for forming a multicast repair tree including a sender, a plurality of head, and a plurality of receivers wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; means for sending to the plurality of heads and to the plurality of receivers, a plurality of multicast messages having a data rate; means for receiving from one of the plurality of heads, a status associated with a receiver of the head; means for slowing the data rate in accordance with the status; and means for signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 15
Dependent Claim 12 words
The apparatus of claim 11, wherein the status is a congestion status.
Claim 16
Dependent Claim 39 words
The apparatus of claim 11, wherein the means for signaling further includes means for setting an indicator in at least one of the multicast messages to indicate that the heads should begin to monitor their receivers for pruning candidates.
Claim 17
Dependent Claim 48 words
The apparatus of claim 11, wherein the means for signaling further includes means for determining when a minimum data rate has been reached and for setting a prune indicator in at least one of the multicast messages to indicate that the heads can begin to prune their receivers.
Claim 18
Dependent Claim 27 words
The apparatus of claim 12, further comprising the step of: incrementally increasing, by the sender, the data rate if there is no congestion reported in the system.
Claim 19
Dependent Claim 178 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: first computer readable program code devices configured to form a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; second computer readable program code devices configured to send, by the sender to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; third computer readable program code devices configured to receive, by the sender from one of the plurality of heads, a status associated with a receiver of the head; fourth computer readable program code devices configured to slow the data rate, by the sender, in accordance with the status; and fifth computer readable program code devices configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 20
Dependent Claim 178 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: first computer readable program code devices configured to form a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; second computer readable program code devices configured to send, by the sender to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; third computer readable program code devices configured to receive, by the sender from one of the plurality of heads, a status associated with a receiver of the head; fourth computer readable program code devices configured to slow the data rate, by the sender, in accordance with the status; and fifth computer readable program code devices configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 21
Dependent Claim 51 words
The computer program product of claim 16, wherein the fifth computer readable program code devices configured to signal further include computer readable program code devices to set an indicator in at least one of the multicast messages to indicate that the heads should begin to monitor their receivers for pruning candidates.
Claim 22
Dependent Claim 60 words
The computer program product of claim 16, wherein the fifth computer readable program code devices configured to signal includes computer readable program code devices configured to determine when a minimum data rate has been reached and to set a prune indicator in at least one of the multicast messages to indicate that the heads can begin to prune their receivers.
Claim 23
Dependent Claim 32 words
The computer program product of claim 17, further comprising computer readable program code devices configured to increase, by the sender, the data rate if there is no congestion reported in the system.
Claim 24
Dependent Claim 176 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing a first computer program to form a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers, wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; executing a second computer program to send, by the sender to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; executing a third computer program to receive, by the sender from one of the plurality of heads, a status associated with a receiver of the head; executing a fourth computer program to slow the data rate, by the sender, in accordance with the status; and executing a fifth computer program to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 25
Dependent Claim 176 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing a first computer program to form a multicast repair tree including a sender, a plurality of heads, and a plurality of receivers, wherein at least one head is associated with the sender, and at least one receiver is associated with the at least one head; executing a second computer program to send, by the sender to the plurality of heads and to the plurality of receivers, a plurality of multicast messages at a data rate; executing a third computer program to receive, by the sender from one of the plurality of heads, a status associated with a receiver of the head; executing a fourth computer program to slow the data rate, by the sender, in accordance with the status; and executing a fifth computer program to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 26
Dependent Claim 14 words
The computer data signal of claim 20, wherein the status is a congestion status.
Claim 27
Dependent Claim 47 words
The computer data signal of claim 20, wherein the step of executing the fifth computer program to signal includes the step of setting an indicator in at least one of the multicast messages to indicate that the heads should begin to monitor their receivers for pruning candidates.
Claim 28
Dependent Claim 55 words
The computer data signal of claim 20, wherein the step of executing the fifth computer program to signal includes the step of determining when a minimum data rate has been reached and setting a prune indicator in at least one of the multicast messages to indicate that the heads can begin to prune their receivers.
Claim 29
Dependent Claim 35 words
The computer data signal of claim 21, further comprising the steps of: executing a sixth computer program to increase incrementally, by the sender, the data rate if there is no congestion reported in the system.
Claim 30
Independent Claim 63 words
An apparatus that distributes multicast data, comprising: circuitry configured to receive a plurality of multicast messages from a sender at a data rate; circuitry configured to determine a receiver status; circuitry configured to send a congestion report to a head in accordance with the receiver status; and circuitry configured to receive a disowned message from the head in accordance with the congestion report.
Claim 31
Independent Claim 63 words
An apparatus that distributes multicast data, comprising: circuitry configured to receive a plurality of multicast messages from a sender at a data rate; circuitry configured to determine a receiver status; circuitry configured to send a congestion report to a head in accordance with the receiver status; and circuitry configured to receive a disowned message from the head in accordance with the congestion report.
Claim 32
Independent Claim 59 words
An apparatus for distributing multicast data, comprising: means for receiving a plurality of multicast messages from a sender at a data rate; means for determining a receiver status; means for sending a congestion report to a head in accordance with the receiver status; and means for receiving a disowned message from the head in accordance with the congestion report.
Claim 33
Independent Claim 59 words
An apparatus for distributing multicast data, comprising: means for receiving a plurality of multicast messages from a sender at a data rate; means for determining a receiver status; means for sending a congestion report to a head in accordance with the receiver status; and means for receiving a disowned message from the head in accordance with the congestion report.
Claim 34
Dependent Claim 96 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: computer readable program code devices configured to receiv a plurality of multicast messages from a sender at a data rate; computer readable program code devices configured to determine a receiver status; computer readable program code devices configured to send a congestion report to a head in accordance with the receiver status; and computer readable program code devices configured to receive a disowned message from the head in accordance with the congestion report.
Claim 35
Dependent Claim 96 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: computer readable program code devices configured to receiv a plurality of multicast messages from a sender at a data rate; computer readable program code devices configured to determine a receiver status; computer readable program code devices configured to send a congestion report to a head in accordance with the receiver status; and computer readable program code devices configured to receive a disowned message from the head in accordance with the congestion report.
Claim 36
Dependent Claim 96 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing a computer program to receive a plurality of multicast messages from a sender at a data rate; executing the computer program to determine a receiver status; executing the computer program to send a congestion report to a head in accordance with the receiver status; and executing the computer program to receive a disowned message from the head in accordance with the congestion report.
Claim 37
Dependent Claim 96 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing a computer program to receive a plurality of multicast messages from a sender at a data rate; executing the computer program to determine a receiver status; executing the computer program to send a congestion report to a head in accordance with the receiver status; and executing the computer program to receive a disowned message from the head in accordance with the congestion report.
Claim 38
Dependent Claim 28 words
The method of claim 1, wherein the predetermined criteria is that at least one of the receivers runs at a data rate lower than the sender data rate.
Claim 39
Dependent Claim 20 words
The method of claim 1, wherein the predetermined criteria is that at least one of the receivers is not responsive.
Claim 40
Dependent Claim 29 words
The method of claim 1, wherein the predetermined criteria is that at least one of the receivers requests an excessive number of repairs from the at least one head.
Claim 41
Independent Claim 77 words
A method of distributing multicast data, performed by a data processor, comprising the steps of: sending a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; receiving a status associated with a receiver of one of the plurality of heads; slowing the data rate in accordance with the status; nd signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 42
Independent Claim 77 words
A method of distributing multicast data, performed by a data processor, comprising the steps of: sending a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; receiving a status associated with a receiver of one of the plurality of heads; slowing the data rate in accordance with the status; nd signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 43
Independent Claim 81 words
An apparatus that distributes multicast data, comprising: circuitry configured to send a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; circuitry configured to receive a status associated with a receiver of one of the plurality of heads; circuitry configured to slow the data rate in accordance with the status; and circuitry configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 44
Independent Claim 81 words
An apparatus that distributes multicast data, comprising: circuitry configured to send a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; circuitry configured to receive a status associated with a receiver of one of the plurality of heads; circuitry configured to slow the data rate in accordance with the status; and circuitry configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 45
Independent Claim 77 words
An apparatus for distributing multicast data, comprising: means for sending a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; means for receiving a status associated with a receiver of one of the plurality of heads; means for slowing the data rate in accordance with the status; and means for signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 46
Independent Claim 77 words
An apparatus for distributing multicast data, comprising: means for sending a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; means for receiving a status associated with a receiver of one of the plurality of heads; means for slowing the data rate in accordance with the status; and means for signaling, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 47
Dependent Claim 114 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: computer readable program code devices configured to send a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; computer readable program code devices configured to receive a status associated with a receiver of one of the plurality of heads; computer readable program code devices configured to slow the data rate in accordance with the status; and computer readable program code devices configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 48
Dependent Claim 114 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: computer readable program code devices configured to send a plurality of multicast messages at a data rate to a plurality of heads and to a plurality of receivers; computer readable program code devices configured to receive a status associated with a receiver of one of the plurality of heads; computer readable program code devices configured to slow the data rate in accordance with the status; and computer readable program code devices configured to signal, by the sender, the heads to monitor receivers for pruning candidates if predetermined criteria are satisfied.
Claim 49
Dependent Claim 108 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing a computer program to send a plurality of multicast messages at a data rate to a plurality of heads and a plurality of receivers; executing the computer program to receive a status associated with a receiver of one of the plurality of heads; and executing the computer program to slow the data rate in accordance with the status; indicating that the head should not respond to a repair request from the receiver in the future.
Claim 50
Dependent Claim 108 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing a computer program to send a plurality of multicast messages at a data rate to a plurality of heads and a plurality of receivers; executing the computer program to receive a status associated with a receiver of one of the plurality of heads; and executing the computer program to slow the data rate in accordance with the status; indicating that the head should not respond to a repair request from the receiver in the future.
Claim 51
Independent Claim 71 words
A method of distributing multicast data, performed by a data processor, comprising the steps of: receiving a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; monitoring a receiver in response to the congestion signal; marking a receiver for pruning in response to the prune signal; and sending a disowned message to the receiver marked for pruning.
Claim 52
Independent Claim 71 words
A method of distributing multicast data, performed by a data processor, comprising the steps of: receiving a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; monitoring a receiver in response to the congestion signal; marking a receiver for pruning in response to the prune signal; and sending a disowned message to the receiver marked for pruning.
Claim 53
Independent Claim 75 words
An apparatus that distributes multicast data, comprising: circuitry configured to receive a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; circuitry configured to monitor a receiver in response to the congestion signal; circuitry configured to mark a receiver for pruning in response to the prune signal; and circuitry configured to send a disowned message to the receiver marked for pruning.
Claim 54
Independent Claim 75 words
An apparatus that distributes multicast data, comprising: circuitry configured to receive a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; circuitry configured to monitor a receiver in response to the congestion signal; circuitry configured to mark a receiver for pruning in response to the prune signal; and circuitry configured to send a disowned message to the receiver marked for pruning.
Claim 55
Independent Claim 71 words
An apparatus for distributing multicast data, comprising: means for receiving a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; means for monitoring a receiver in response to the congestion signal; means for marking a receiver for pruning in response to the prune signal; and means for sending a disowned message to the receiver marked for pruning.
Claim 56
Independent Claim 71 words
An apparatus for distributing multicast data, comprising: means for receiving a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; means for monitoring a receiver in response to the congestion signal; means for marking a receiver for pruning in response to the prune signal; and means for sending a disowned message to the receiver marked for pruning.
Claim 57
Dependent Claim 108 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: computer readable program code devices configured to receive a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; computer readable program code devices configured to monitor a receiver in response to the congestion signal; computer readable program code devices configured to mark a receiver for pruning in response to the prune signal; and computer readable program code devices configured to send a disowned message to the receiver marked for pruning.
Claim 58
Dependent Claim 108 words
A computer program product comprising: a computer usable medium having computer readable code embodied therein for distributing multicast data, the computer program product including: computer readable program code devices configured to receive a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; computer readable program code devices configured to monitor a receiver in response to the congestion signal; computer readable program code devices configured to mark a receiver for pruning in response to the prune signal; and computer readable program code devices configured to send a disowned message to the receiver marked for pruning.
Claim 59
Dependent Claim 108 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing the computer program to receive a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; executing the computer program to monitor a receiver in response to the congestion signal; executing the computer program to mark a receiver for pruning in response to the prune signal; and executing the computer program to send a disowned message to the receiver marked for pruning.
Claim 60
Dependent Claim 108 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to distribute multicast data by performing the steps of: executing the computer program to receive a plurality of multicast messages from a sender at a data rate, wherein each multicast message contains a congestion signal and a prune signal; executing the computer program to monitor a receiver in response to the congestion signal; executing the computer program to mark a receiver for pruning in response to the prune signal; and executing the computer program to send a disowned message to the receiver marked for pruning.
Claim 61
Independent Claim 59 words
A method of distributing multicast data, performed by a data processor, comprising the steps of: receiving a plurality of multicast messages from a sender at a data rate; determining a receiver status; sending a congestion report to a head in accordance with the receiver status; and receiving a disowned message from the head in accordance with the congestion report.
Claim 62
Independent Claim 59 words
A method of distributing multicast data, performed by a data processor, comprising the steps of: receiving a plurality of multicast messages from a sender at a data rate; determining a receiver status; sending a congestion report to a head in accordance with the receiver status; and receiving a disowned message from the head in accordance with the congestion report.

References Cited (Backward Citations)

US5313454A Cited
US5289460A Cited
US5361256A Cited
US5331637A Cited
US5675576A Cited
US5831975A Cited
US5905871A Cited
US5903559A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-11-21 2004-05-22 2004-11-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-11-21 2008-05-22 2008-11-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-11-21 2012-05-22 2012-11-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag