Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
184 words
A method of operating a switch to discard or retain cells received over a network operating in asynchronous transfer mode, the method including the steps of: A. determining if a received cell is an end-of-packet cell, and if so, retaining the cell and associating with the cell a high priority; B. determining if the received cell is the beginning of a packet, and if so, determining if a queue of received packets that is associated with an output port to which the cell is directed exceeds an early packet discard threshold, C. if the early packet discard threshold is exceeded discarding the received beginning-of-packet cell and setting an early packet discard flag associated with a virtual circuit identified in the cell, and otherwise retaining the cell; D. if the cell is not a beginning-of-packet cell or an end-of-packet cell, determining if the early packet discard flag associated with the virtual circuit identified in the cell is set, and if the flag is set discarding the cell or if the flag is not set retaining the cell; and F. repeating steps A-D for each cell.
Claim 2
Independent Claim
184 words
A method of operating a switch to discard or retain cells received over a network operating in asynchronous transfer mode, the method including the steps of: A. determining if a received cell is an end-of-packet cell, and if so, retaining the cell and associating with the cell a high priority; B. determining if the received cell is the beginning of a packet, and if so, determining if a queue of received packets that is associated with an output port to which the cell is directed exceeds an early packet discard threshold, C. if the early packet discard threshold is exceeded discarding the received beginning-of-packet cell and setting an early packet discard flag associated with a virtual circuit identified in the cell, and otherwise retaining the cell; D. if the cell is not a beginning-of-packet cell or an end-of-packet cell, determining if the early packet discard flag associated with the virtual circuit identified in the cell is set, and if the flag is set discarding the cell or if the flag is not set retaining the cell; and F. repeating steps A-D for each cell.
Claim 3
Dependent Claim
96 words
The method of claim 1 further including: a first step of L. determining if the cell is in violation of a usage or network parameter control, and if so, discarding the cell and setting the associated tail packet discard flag; and in the step of discarding or retaining the cell that is not a beginning-of-packet cell or an end-of-packet cell, further including M. determining if the tail packet discard flag associated with the virtual circuit identified in the cell is set and if so discarding each received cell that is not an end of packet cell.
Claim 4
Dependent Claim
75 words
The method of claim 2 further including, before the step of determining if the cell is an end-of-packet cell, the steps of: N. determining if the received cell has a low cell loss priority, and if so, comparing the length of the queue of received cells associated with the output port to a predetermined low-priority buffer threshold; Q. discarding the received cell if the threshold is exceeded, and setting the associated tail packet discard flag.
Claim 5
Dependent Claim
23 words
The method of claim 1 wherein the early packet discard threshold is a percentage of an associated service class per port queue limit.
Claim 6
Dependent Claim
21 words
The method of claim 1 wherein the early packet discard threshold is a percentage of an associated per connection queue limit.
Claim 7
Dependent Claim
30 words
The method of claim 4 wherein if the threshold based on the service class queue limit is exceeded, an associated threshold based on a per connection queue limit is checked.
Claim 8
Independent Claim
231 words
A method of operating a switch to discard or retain cells received over a network operating in asynchronous transfer mode, the method including the steps of: A. determining if a received cell violates usage or network parameter controls, and if so discarding the cell and setting a tail packet discard flag; B. if the tail packet discard flag is not set, determining if a queue of retained cells, that is associated with an output port that is part of the virtual circuit identified in the cell, exceeds an associated queue limit, and if the limit is exceeded, discarding the cell and setting the associated tail packet discard flag; C. determining, if the switch is operating in a CLP-selective discard mode and the cell has a low priority, and if so, comparing the length of the output port queue with a predetermined low-CLP threshold and discarding the cell and setting the associated tail packet discard flag if the threshold is exceeded; D. determining if the cell is an end-of-packet cell, and if so associating with the cell a high priority, retaining the cell and re-setting, as necessary, the associated tail packet discard flag; E. if the cell is not an end-of-packet cell, determining if the associated tail packet discard flag is set, and if so discarding the cell; and F. retaining the cell if the cell is not discard in steps A-E.
Claim 9
Independent Claim
231 words
A method of operating a switch to discard or retain cells received over a network operating in asynchronous transfer mode, the method including the steps of: A. determining if a received cell violates usage or network parameter controls, and if so discarding the cell and setting a tail packet discard flag; B. if the tail packet discard flag is not set, determining if a queue of retained cells, that is associated with an output port that is part of the virtual circuit identified in the cell, exceeds an associated queue limit, and if the limit is exceeded, discarding the cell and setting the associated tail packet discard flag; C. determining, if the switch is operating in a CLP-selective discard mode and the cell has a low priority, and if so, comparing the length of the output port queue with a predetermined low-CLP threshold and discarding the cell and setting the associated tail packet discard flag if the threshold is exceeded; D. determining if the cell is an end-of-packet cell, and if so associating with the cell a high priority, retaining the cell and re-setting, as necessary, the associated tail packet discard flag; E. if the cell is not an end-of-packet cell, determining if the associated tail packet discard flag is set, and if so discarding the cell; and F. retaining the cell if the cell is not discard in steps A-E.
Claim 10
Dependent Claim
109 words
The method of claim 7, further including the steps of: G. determining if the cell is a beginning-of-packet cell, and if so, determining if the queue associated with the output port exceeds an early packet discard buffer threshold; H. if the early packet discard threshold is exceeded, discarding the cell and setting an associated early packet discard flag; I. if the early packet discard flag is set, discarding each of the cells associated with the same virtual circuit until the end-of-packet cell is received; J. when the end-of-packet cell is received, resetting the associated early packet discard flag, associating a high priority with the cell and retaining the cell.
Claim 11
Dependent Claim
21 words
The method of claim 8, wherein the tail packet discard flag and the early packet discard flag are the same flag.
Claim 12
Dependent Claim
34 words
The method of claim 7 wherein the step of determining if the associated output port queue is exceeded further includes determining if an associated threshold based on a service class queue limit is exceeded.
Claim 13
Dependent Claim
23 words
The method of claim 10 further including determining if a second threshold based on a service class per port queue limit is exceeded.
Claim 14
Dependent Claim
298 words
A switch for discarding or retaining for further transmission cells received over a network operating in asynchronous transfer mode, the cells being associated with a packet that includes a plurality of cells, the switch including: A. plurality of input ports for receiving cells over the network; B. a plurality of output ports for transmitting cells over the network; C. a buffer with a plurality of locations for retaining in each of the locations a cell for transmission by one or more of the output ports; D. a controller for controlling the ports and the buffer, the controller including i. means for associating with each output port one or more queue limits that set maximum numbers of buffer locations that may be allocated to retained cells that are awaiting transmission by the port; ii. means for determining, when a cell is received, if the cell violates associated usage or network control parameters, and if so, discarding the cell; iii. means for determining if the queue of retained cells associated with the output port to which the cell is directed has reached the applicable queue limit, and if so, discarding the cell; iv. tail packet discard means for, when a cell is discarded, invoking tail packet discarding, said means discarding all the received cells that are associated with the same packet as the cell that caused the invocation of the tail packet discarding, except an associated end-of-packet cell; v. end-of-packet means for determining if the received cell is an end-of-packet cell, said means associating a high priority with the end-of-packet cell and retaining the cell, said means directing the tail packet discard means to revoke the tail packet discarding when the end-of-packet cell is retained; and vi. means for retaining in the buffer the cells that have not been discarded.
Claim 15
Dependent Claim
298 words
A switch for discarding or retaining for further transmission cells received over a network operating in asynchronous transfer mode, the cells being associated with a packet that includes a plurality of cells, the switch including: A. plurality of input ports for receiving cells over the network; B. a plurality of output ports for transmitting cells over the network; C. a buffer with a plurality of locations for retaining in each of the locations a cell for transmission by one or more of the output ports; D. a controller for controlling the ports and the buffer, the controller including i. means for associating with each output port one or more queue limits that set maximum numbers of buffer locations that may be allocated to retained cells that are awaiting transmission by the port; ii. means for determining, when a cell is received, if the cell violates associated usage or network control parameters, and if so, discarding the cell; iii. means for determining if the queue of retained cells associated with the output port to which the cell is directed has reached the applicable queue limit, and if so, discarding the cell; iv. tail packet discard means for, when a cell is discarded, invoking tail packet discarding, said means discarding all the received cells that are associated with the same packet as the cell that caused the invocation of the tail packet discarding, except an associated end-of-packet cell; v. end-of-packet means for determining if the received cell is an end-of-packet cell, said means associating a high priority with the end-of-packet cell and retaining the cell, said means directing the tail packet discard means to revoke the tail packet discarding when the end-of-packet cell is retained; and vi. means for retaining in the buffer the cells that have not been discarded.
Claim 16
Dependent Claim
88 words
The switch of claim 12, wherein the controller further includes vii. CLP-selective discarding means for determining if a received cell has associated with it a low priority, and if so, determining if the associated queue has reached a low-CLP threshold, discarding the cell if the queue has reached the threshold, and if the cell has a high priority, setting the priority of the cell to low and retaining the cell, said means directing the tail packet discard means to invoke tail packet discarding if the cell is discarded.
Claim 17
Dependent Claim
110 words
The switch of claim 13, wherein the controller further includes viii. an early packet discard means, said means determining if a cell is a beginning-of-packet cell, and if so, determining if the queue associated with the output port queue to which the cell is directed exceeds an early packet discard threshold, said means discarding the cell and invoking early packet discarding if the appropriate threshold is exceeded, wherein said means discards all received cells that are associated with the same packet as the cell that caused the invocation of the early packet discarding, except an end-of-packet cell, said means revoking the early packet discarding if the end-of-packet cell is retained.
Claim 18
Dependent Claim
25 words
The switch of claim 14, wherein the buffer is shared among the output ports, and the buffer locations are dynamically allocated to the output ports.
Claim 19
Dependent Claim
26 words
The switch of claim 15, wherein the early packet discard threshold associated with a particular output port is based on the expected traffic at the port.
Claim 20
Dependent Claim
19 words
The switch of claim 16, wherein the queue limits associated with the output ports vary by delay service class.
Claim 21
Dependent Claim
29 words
The switch of claim 17, wherein the controller determines if the received cell is the end-of-packet cell by determining the state of a status flag in the cell header.
Claim 22
Dependent Claim
19 words
The switch of claim 14, wherein the CLP and early packet discard thresholds are percentages of the queue limits.
Claim 23
Dependent Claim
22 words
The switch of claim 19, wherein the early packet discard threshold is a percentage of a service class per port queue limit.
Claim 24
Dependent Claim
21 words
The switch of claim 19, wherein the early packet discard threshold is a percentage of an associated per connection queue limit.
Claim 25
Dependent Claim
43 words
The switch of claim 20, wherein the early packet threshold further includes a second threshold based on a per connection queue limit, the early packet discard means determining if the second threshold is exceeded after it determines that the first threshold is exceeded.
Claim 26
Dependent Claim
32 words
The switch of claim 12 wherein the tail packet discard means discards successive packets in a transmission window once tail packet discarding is invoked for one of the packets in the window.
Claim 27
Dependent Claim
32 words
The switch of claim 14 wherein the early packet discard means discards successive packets in a transmission window once early packet discarding is invoked for one of the packets in the window.