DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 21-27 and 33-40 is/are rejected under 35 U.S.C. 103 as being unpatentable over Yin, USPN 6219728 B1 (hereafter referred to as Yin)
Claim 33, Yin teaches an apparatus, applied to a first device (“shared memory switch” and column 3, lines 66-column 4, line 3; “As shown in FIG. 2, switch 100 includes a plurality of address queues 104. Address queues 104 may be first-in first-out (FIFO) buffers or similar queuing devices. Each address queue 104 is associated with a particular output port of switch 100.”), and the apparatus comprising:
at least one processor (column 6, lines 16-24; “FIG. 8A illustrates a portion of the shared memory switch shown in FIG. 2.”); and a memory storing program instructions, which, when executed by the at least one processor (Inherent to a memory switch.), cause the apparatus to:
obtain a cell drop parameter of a first queue (column 4, lines 25-30; “Thus, when a data cell is received by switch 100, the cell is stored at a particular available cell buffer in shared memory 102. The memory address is then added to the appropriate address queue associated with a particular port, provided that the appropriate address queue is not full.” Determined based on full.), wherein the cell drop parameter of the first queue is determined based on a cell that is dropped because the cell cannot be added to the first queue (column 4, lines 57-61; “Each queue has at least one threshold for determining whether to accept or discard incoming data destined for the queue. Each discard threshold is adaptive; i.e., the threshold value is dynamic and updated in response to changes in the usage of shared memory 102.”)); and
increase a first cache parameter when the cell drop parameter of the first queue is greater than a first cell drop (column 9, lines 29-45; “The first column of Table 1 indicates the global memory usage; i.e., what portion of the shared memory is currently being used to store data cells.” See Table 1), wherein the first cache parameter is configured for adjusting a queue threshold of the first queue threshold (column 9, lines 52-56), and the queue threshold of the first queue indicates a maximum total quantity of bytes of packets that are allowed to be cached in the first queue (column 8, lines 15-22; “Packet discard thresholds are used in a manner similar to the cell discard thresholds discussed above. When a packet discard threshold has been reached for a particular queue, any incoming data cells belonging to the same packet will be discarded in their entirety. The discarding of incoming data cells may continue to the end of the packet, even if the queue usage subsequently drops below the packet discard threshold.” And column 7, lines 26-31; “In this embodiment, discard determiner 132 (FIG. 8B) generates a request for all threshold values associated with a particular address queue. In response, discard threshold determiner 126 receives information regarding available memory and determines one or more threshold values using a look-up table or calculating the thresholds.”). Yin does not specifically teach dropping cells but reveals a packet comprises a plurality of cells. It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to modify Yin to drop packets however a packet comprises a plurality of cells. The motivation would have been to expand utility to networks switching packets.
Claim 21 is a method comprising steps similar to the operations of the apparatus of claim 33 above. Claim 21 is rejected on as similar rationale.
Claim 40 is a non-transitory computer-readable storage medium, comprising instructions, a program, or code, and when the instructions, the program, or the code is executed on a computer to perform steps similar to the operations of the apparatus of claim 33 above. Claim 40 is rejected on as similar rationale.
Claim 34, Yin teaches the apparatus according to claim 33, wherein the first cache parameter indicates a ratio of cache space that is able to be occupied by the first queue to remaining cache space of a port on which the first queue is located, and the remaining cache space is cache space that is unoccupied in total cache space of the port (column 10, lines 53-63; “Free Memory represents the number of available memory buffers in shared memory 102. The value of Free Memory is determined by shared memory usage monitor 128 (FIG. 8A).” And column 11, lines 21-25; “For example, assume F is set to 1/N (where N is the number of queues sharing the memory resources), and C is set to 1/N. In this example, each queue is guaranteed 1/N of the total memory resources and permitted to share up to 1/N of the free memory.”); and
wherein the program instructions, when executed by the at least one processor, further cause the apparatus to control adding of a first packet to the first queue based on the queue threshold of the first queue (column 9, lines 7-13; “Referring to FIG. 11, a flow diagram illustrates the operation of timer 140 (FIG. 8C) for periodically updating discard threshold values. At periodic intervals, determined by a timeout value, the current usage of shared memory 102 is sampled or monitored.”).
Claim 22 is a method comprising steps similar to the operations of the apparatus of claim 34 above. Claim 22 is rejected on as similar rationale.
Claim 35, Yin teaches the apparatus according to claim 33, wherein the program instructions, when executed by the at least one processor, further cause the apparatus to:
increase the first cache parameter when the packet drop parameter of the first queue is greater than the first packet drop threshold, and the first cache parameter is less than an upper limit of a cache parameter (column 4, lines 61-65; “As the overall usage of shared memory 102 increases, the individual discard threshold values are decreased. As the overall usage of shared memory 102 decreases, the individual discard threshold values are increased.”).
Claim 23 is a method comprising steps similar to the operations of the apparatus of claim 35 above. Claim 23 is rejected on as similar rationale.
Claim 36, Yin teaches the apparatus according to claim 33, wherein the program instructions, when executed by the at least one processor, further cause the apparatus to:
decrease the first cache parameter when the packet drop parameter of the first queue is less than a second packet drop threshold, wherein the second packet drop threshold is less than or equal to the first packet drop threshold (column 4, lines 61-65; “As the overall usage of shared memory 102 increases, the individual discard threshold values are decreased. As the overall usage of shared memory 102 decreases, the individual discard threshold values are increased.”).
Claim 24 is a method comprising steps similar to the operations of the apparatus of claim 36 above. Claim 24 is rejected on as similar rationale.
Claim 37, Yin teaches the apparatus according to claim 36, wherein the packet drop parameter of the first queue is a packet drop parameter of the first queue in an i-th period, and i is a positive integer (column 9, lines 14-18; “Referring to FIG. 11, a flow diagram illustrates the operation of timer 140 (FIG. 8C) for periodically updating discard threshold values. At periodic intervals, determined by a timeout value, the current usage of shared memory 102 is sampled or monitored.”);
wherein the program instructions, when executed by the at least one processor, further cause the apparatus to obtain a packet drop parameter of the first queue in each of M periods ahead of the i-th period, wherein M is a positive integer less than I (column 9, lines 14-28; “Referring to FIG. 11, a flow diagram illustrates the operation of timer 140 (FIG. 8C) for periodically updating discard threshold value…” “At periodic intervals, determined by a timeout value, the current usage of shared memory 102 is sampled or monitored.”); and
determine that the packet drop parameter of the first queue in each of the M periods ahead of the i-th period is less than the second packet drop threshold (column 9, lines 25-29; “Based on the current memory usage, the discard threshold values are updated as necessary. The threshold values may be updated using a look-up table or by calculating new threshold values.”).
Claim 25 is a method comprising steps similar to the operations of the apparatus of claim 37 above. Claim 25 is rejected on as similar rationale.
Claim 38, Yin teaches the apparatus according to claim 37, wherein the program instructions, when executed by the at least one processor, further cause the apparatus to:
determine that when each of the M periods ahead of the i-th period ends (column 9, lines 14-17; “Referring to FIG. 11, a flow diagram illustrates the operation of timer 140 (FIG. 8C) for periodically updating discard threshold values. At periodic intervals, determined by a timeout value, the current usage of shared memory 102 is sampled or monitored.”), a total quantity of bytes of packets cached in the first queue is less than or equal to a preset threshold (column 8, lines 15-22; “Packet discard thresholds are used in a manner similar to the cell discard thresholds discussed above. When a packet discard threshold has been reached for a particular queue, any incoming data cells belonging to the same packet will be discarded in their entirety. The discarding of incoming data cells may continue to the end of the packet, even if the queue usage subsequently drops below the packet discard threshold.”).
Claim 26 is a method comprising steps similar to the operations of the apparatus of claim 38 above. Claim 26 is rejected on as similar rationale.
Claim 39, the apparatus according to claim 37, wherein the program instructions, when executed by the at least one processor, further cause the apparatus to store the packet drop parameter of the first queue in the i-th period.
Claim 27 is a method comprising steps similar to the operations of the apparatus of claim 39 above. Claim 27 is rejected on as similar rationale.
Allowable Subject Matter
Claim 28-32 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter:
The prior art of record fails to teach or suggest
wherein the first queue is for forwarding a packet of a first flow, a quantity of packets comprised in the first flow is less than or equal to N, and N is a positive integer; and
wherein the method further comprises:
determining, by the first device, a forwarding parameter of the first queue and a forwarding parameter of a second queue, wherein the second queue belongs to a port on which the first queue is located, the second queue is for forwarding a packet of a second flow, a quantity of packets comprised in the second flow is greater than N, and the forwarding parameter comprises an average packet length or a forwarding rate; and
adjusting, by the first device, N when a ratio of the forwarding parameter of the first queue to the forwarding parameter of the second queue does not match a target ratio.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Mitulal et al., US 20230145162 A1, teaches determining if a fill level of a queue in a shared buffer of the network switch exceeds a dynamic queue threshold, and in an event that the fill level of the shared buffer exceeds the dynamic queue threshold, determining if a fill level of the first network queue is less than a static queue minimum threshold.
Aibester et al., US 20230283575 A1, teaches a shared-reserve memory pool for use by a defined subset of the queues, to identify in the subset a queue that (i) requires additional memory resources, (ii) is not eligible for additional allocation from the shared buffer, and (iii) meets an eligibility condition for the shared-reserve memory pool, and to allocate memory resources to the identified queue from the shared-reserve memory pool.
Anand et al., US 20140105218 A1, teaches dynamic queue threshold is applied for admission control to the assigned queue in the shared buffer. A check is made whether the queue length of the assigned queue is equal to or exceeds the dynamic queue threshold. The data packet is enqueued in the assigned queue where the queue length is not equal to or exceeding the dynamic queue threshold, and the data packet is discarded in the assigned queue where the queue length is equal to or exceeds the dynamic queue threshold.
Gafni et al., US 20160294696 A1, teaches r a given queue length, the congestion control fraction for a given queue will increase as the allocation size of the queue in the shared buffer decreases in response to increasing buffer occupancy by other queues.
Seely et al., US 20230068902 A1, teaches using element/queue 410 as an example, if its final queue utilization reaches a predetermined threshold (which can depend on the type of queue and the system configuration), incoming packets destined to queue 410 will be discarded. Note that other factors (e.g., bias) that affect the buffer utilization of each element are not shown in FIG. 4.
Anand et al., US 20140105218 A, teaches a dynamic queue threshold computation component 111 receives quantized total shared buffer usage (parameter 1), individual queue length (parameter 2) and individual queue bandwidth usage (parameter 3). These quantized values are utilized to determine maximum queue threshold and minimum queue threshold for a given queue or for each queue. The input parameters can be used in any combination or subcombination to select these queue threshold values.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PATRICE L WINDER whose telephone number is (571)272-3935. The examiner can normally be reached M-F 10am-6pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, KAMAL B DIVECHA can be reached at (571)272-5863. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Patrice L Winder/Primary Examiner, Art Unit 2453