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 .
Status of Claims
Claims 1-20 filed on July 17, 2024 are pending.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on February 04, 2026 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner and an initialed and dated copy of the Applicant’s IDS form 1449 is attached to the instant Office Action.
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.
Claims 1-5, 7-14 and 17-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rahman et al. (US 2023/0403233 A1, hereinafter "Rahman") in view of Kim et al. (US 10,419,366 B2, hereinafter "Kim").
Regarding claim 1, Rahman discloses an apparatus (Rahman, Fig. 4 400) comprising:
one or more ingress points configured to receive one or more first packets from one or more external sources (Rahman, [0062] Receive queue 408 can include data or references to data that was received by network interface from a network);
one or more internal packet sources configured to generate one or more second packets (Rahman, [0061-62] instead of copying the packet to an intermediate buffer at the host and then using another copy operation from the intermediate buffer to the destination buffer; Transmit queue 406 can include data or references to data for transmission by network interface);
a memory management unit (Rahman, Fig. 5A) comprising:
an internal queueing engine coupled to the one or more internal packet sources, the internal queueing engine comprising (Rahman, [0063, 0066-67] Packet processing pipelines 512 can implement access control list (ACL) or packet drops due to queue overflow. Packet processing pipelines 512 can be configured to provide a transport layer and security protocol endpoint and perform computations on received data):
one or more first queues, wherein the internal queueing engine is configured to obtain the one or more second packets from the one or more internal packet sources and enqueue each of the one or more second packets in a respective first queue of the one or more first queues (Rahman, [0073] Traffic manager (TM) 550 can include a packet replicator 552 and output buffer 554; Traffic manager (TM) 550 can include a packet replicator 552 and output buffer 554);
arbitration logic configured to determine an order in which the one or more second packets are dequeued from the one or more first queues based, at least in part, on an arbitration scheme (Rahman, [0066] Traffic manager 513 (i.e. arbitration logic) can perform hierarchical scheduling and transmit rate shaping and metering of packet transmissions from one or more packet queues. Traffic manager 513 can perform congestion management such as flow control, congestion notification message (CNM) generation and reception, priority flow control (PFC)) and Rahman discloses the packet data store in shared output buffer in [0074] but does not explicitly disclose merge function logic configured to combine the one or more second packets from the internal queueing engine with the one or more first packets.
Kim from the same field endeavor discloses merge function logic configured to combine the one or more second packets from the internal queueing engine with the one or more first packets (Kim, Col. 10 line 53-59 the deparser of the ingress pipeline 140 reconstitutes the received data message by combining its payload with the metadata that is stored in this message's header vector, which was processed by the message-processing stages 152 of the ingress pipeline. This reconstituted message has a field that directs the traffic manager to forward this message to the controller-message queue).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have modified multi-queue disclosed by Rahman and combining state disclosed by Kim with a motivation to make this modification in order to improve the fault-tolerance of the forwarding element (Kim, Col.16 line 14).
Regarding claim 2, Rahman discloses wherein each respective first queue of the one or more first queues is configured to store second packets of a respective traffic class (Rahman, [0049] utilization can be set to cause a decrease in packet transmission rate for a traffic class where a queue associated with the traffic class stores one or more packets ), wherein enqueueing the one or more second packets comprises enqueuing the one or more second packets based, at least in part, on the respective traffic class of each second packet of the one or more second packets (Rahman, [0049] Utilization can be set to cause an increase in packet transmission rate for a traffic class where a queue associated with the traffic class stores no packet or a number of packets below a configured level).
Regarding claim 3, Rahman discloses wherein a first queue of the one or more first queues is configured to store one or more second packets of a first traffic class (Rahman, abstract The telemetry data is based on congestion information of a first queue associated with a first traffic class).
Regarding claim 4, Rahman discloses wherein the respective traffic class is one of network instrumentation traffic, multicast traffic, or notification traffic (Rahman, [0073] Traffic manager (TM) 550 can include a packet replicator 552…Packet replicator 552 of some examples performs replication for broadcast/multicast packets).
Regarding claim 5, Rahman discloses wherein the arbitration scheme includes strict priority or weighted round robin (Rahman, [0066] Traffic manager 513 can perform congestion management such as flow control, congestion notification message (CNM) generation and reception, priority flow control (PFC), and others).
Regarding claim 7, Rahman does not explicitly disclose wherein internal queueing engine is configured to rate limit output of the one or more second packets from the one or more first queues based, at least in part, on an amount of first packets received at the one or more ingress points.
Kim from the same field of endeavor discloses wherein internal queueing engine is configured to rate limit output of the one or more second packets from the one or more first queues based, at least in part, on an amount of first packets received at the one or more ingress points (Kim, Col. 14 line 54-64 The TM also replicates the received message and directs this replicated message to the TM's recirculation queue 182 (which in some embodiments is another egress queue 410 of the TM). The recirculation queue in some embodiments is a rate-limited queue that stores the messages that it receives for a time period that can be configured by the configurator 135. Storing the replicated message in the rate-limited queue allows the data plane to reduce the rate at which the replicated message recirculates through the data plane 120 while waiting for the remote controller 105 to acknowledge receiving the message from the configurator 135).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have modified multi-queue disclosed by Rahman and combining state disclosed by Kim with a motivation to make this modification in order to improve the fault-tolerance of the forwarding element (Kim, Col.16 line 14).
Regarding claim 8, Rahman discloses a network device (Rahman, Fig. 4 400) comprising:
one or more ingress points configured to receive one or more external packets
from one or more external sources (Rahman, [0062] Receive queue 408 can include data or references to data that was received by network interface from a network);
one or more internal packet sources configured to generate one or more internally generated packets (Rahman, [0061-62] instead of copying the packet to an intermediate buffer at the host and then using another copy operation from the intermediate buffer to the destination buffer; Transmit queue 406 can include data or references to data for transmission by network interface);
a memory management unit (Rahman, Fig. 5A) comprising:
a traffic manager configured to receive one or more external packets and the
one or more internally generated packets (Rahman, [0073] Traffic manager (TM) 550 can include a packet replicator 552 and output buffer 554; Traffic manager (TM) 550 can include a packet replicator 552 and output buffer 554), wherein the traffic manager comprises:
an internal queueing engine coupled to the one or more internal packet sources, the internal queueing engine comprising:
one or more internal packet queues, wherein the internal queueing engine is configured to obtain the one or more internally generated packets from the one or more
internal packet sources and enqueue each of the one or more internally generated packets in a respective internal packet queue of the one or more internal packet
queues (Rahman, [0063, 0066-67] Packet processing pipelines 512 can implement access control list (ACL) or packet drops due to queue overflow. Packet processing pipelines 512 can be configured to provide a transport layer and security protocol endpoint and perform computations on received data);
arbitration logic configured to determine an order in which the one or more internally generated packets are dequeued from the one or more internal packet queues
based, at least in part, on an arbitration scheme (Rahman, [0066] Traffic manager 513 (i.e. arbitration logic) can perform hierarchical scheduling and transmit rate shaping and metering of packet transmissions from one or more packet queues. Traffic manager 513 can perform congestion management such as flow control, congestion notification message (CNM) generation and reception, priority flow control (PFC)); and Rahman discloses the packet data store in shared output buffer in [0074] but does not explicitly disclose merge function logic configured to combine the internally generated packets from the internal queueing engine with the external packets.
Kim from the same field endeavor discloses merge function logic configured to combine the internally generated packets from the internal queueing engine with the external packets (Kim, Col. 10 line 53-59 the deparser of the ingress pipeline 140 reconstitutes the received data message by combining its payload with the metadata that is stored in this message's header vector, which was processed by the message-processing stages 152 of the ingress pipeline. This reconstituted message has a field that directs the traffic manager to forward this message to the controller-message queue).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have modified multi-queue disclosed by Rahman and combining state disclosed by Kim with a motivation to make this modification in order to improve the fault-tolerance of the forwarding element (Kim, Col.16 line 14).
Regarding claim 9, Rahman discloses wherein each respective internal packet queue of the one or more internal packet queues is configured to store internally generated packets of a respective traffic class (Rahman, [0049] utilization can be set to cause a decrease in packet transmission rate for a traffic class where a queue associated with the traffic class stores one or more packets ), wherein enqueueing the one or more internally generated packets comprises enqueuing the one or more internally generated packets based, at least in part, on the respective traffic class of each internally generated packets of the one or more internally generated packets (Rahman, [0049] Utilization can be set to cause an increase in packet transmission rate for a traffic class where a queue associated with the traffic class stores no packet or a number of packets below a configured level).
Regarding claim 10, Rahman discloses wherein a first internal packet queue of the one or more internal packet queues is configured to store internally generated packets of a first traffic class (Rahman, abstract The telemetry data is based on congestion information of a first queue associated with a first traffic class).
Regarding claim 11, Rahman discloses wherein the respective traffic class is one of network instrumentation traffic, multicast traffic, or notification traffic (Rahman, [0073] Traffic manager (TM) 550 can include a packet replicator 552…Packet replicator 552 of some examples performs replication for broadcast/multicast packets).
Regarding claim 12, Rahman discloses wherein the arbitration scheme includes strict priority or weighted round robin (Rahman, [0066] Traffic manager 513 can perform congestion management such as flow control, congestion notification message (CNM) generation and reception, priority flow control (PFC), and others).
Regarding claim 13, Rahman does not explicitly disclose wherein internal queueing engine is configured to rate limit output of the one or more internally generated packets from the one or more internal packet queues.
Kim from the same field of endeavor discloses wherein internal queueing engine is configured to rate limit output of the one or more internally generated packets from the one or more internal packet queues (Kim, Col. 14 line 54-64 The TM also replicates the received message and directs this replicated message to the TM's recirculation queue 182 (which in some embodiments is another egress queue 410 of the TM). The recirculation queue in some embodiments is a rate-limited queue that stores the messages that it receives for a time period that can be configured by the configurator 135. Storing the replicated message in the rate-limited queue allows the data plane to reduce the rate at which the replicated message recirculates through the data plane 120 while waiting for the remote controller 105 to acknowledge receiving the message from the configurator 135).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have modified multi-queue disclosed by Rahman and combining state disclosed by Kim with a motivation to make this modification in order to improve the fault-tolerance of the forwarding element (Kim, Col.16 line 14).
Regarding claim 14, Rahman discloses wherein the rate at which the internal
queueing engine dequeues the one or more internally generate packets from the one or
more internal packet queues is based, at least in part, on an amount of external packets
received at the one or more ingress points (Rahman, abstract the utilization of the first queue is based on a drain rate of the first queue and a transmit rate from the
egress port).
Regarding claim 17, Rahman discloses a memory management unit (Rahman, Fig. 5A) comprising:
a traffic manager configured to receive one or more external packets and one or more internally generated packets (Rahman, [0073] Traffic manager (TM) 550 can include a packet replicator 552 and output buffer 554; Traffic manager (TM) 550 can include a packet replicator 552 and output buffer 554), wherein the traffic manager comprises:
an internal queueing engine coupled to one or more internal packet sources, the internal queueing engine comprising:
one or more internal packet queues, wherein the internal queueing engine is configured to obtain the one or more internally generated packets from the one or more internal packet sources and enqueue each of the one or more internally generated packets in a respective internal packet queue of the one or more internal packet queues (Rahman, [0063, 0066-67] Packet processing pipelines 512 can implement access control list (ACL) or packet drops due to queue overflow. Packet processing pipelines 512 can be configured to provide a transport layer and security protocol endpoint and perform computations on received data);
arbitration logic configured to determine an order in which the one or more internally generated packets are dequeued from the one or more internal packet queues based, at least in part, on an arbitration scheme (Rahman, [0066] Traffic manager 513 (i.e. arbitration logic) can perform hierarchical scheduling and transmit rate shaping and metering of packet transmissions from one or more packet queues. Traffic manager 513 can perform congestion management such as flow control, congestion notification message (CNM) generation and reception, priority flow control (PFC)); and Rahman discloses the packet data store in shared output buffer in [0074] but does not explicitly disclose merge function logic configured to combine the internally generated packets from the internal queueing engine with the external packets received from the one or more external source.
Kim from the same field endeavor discloses merge function logic configured to combine the internally generated packets from the internal queueing engine with the external packets received from the one or more external source (Kim, Col. 10 line 53-59 the deparser of the ingress pipeline 140 reconstitutes the received data message by combining its payload with the metadata that is stored in this message's header vector, which was processed by the message-processing stages 152 of the ingress pipeline. This reconstituted message has a field that directs the traffic manager to forward this message to the controller-message queue).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have modified multi-queue disclosed by Rahman and combining state disclosed by Kim with a motivation to make this modification in order to improve the fault-tolerance of the forwarding element (Kim, Col.16 line 14).
Regarding claim 18, Rahman discloses wherein each respective internal packet queue of the one or more internal packet queues is configured to store internally generated packets of a respective traffic class (Rahman, [0049] utilization can be set to cause a decrease in packet transmission rate for a traffic class where a queue associated with the traffic class stores one or more packets ), wherein enqueueing the one or more internally generated packets comprises enqueuing the one or more internally generated packets based, at least in part, on the respective traffic class of each internally generated packets of the one or more internally generated packets (Rahman, [0049] Utilization can be set to cause an increase in packet transmission rate for a traffic class where a queue associated with the traffic class stores no packet or a number of packets below a configured level).
Regarding claim 19, Rahman discloses wherein the arbitration scheme includes strict priority or weighted round robin (Rahman, [0066] Traffic manager 513 can perform congestion management such as flow control, congestion notification message (CNM) generation and reception, priority flow control (PFC), and others).
Regarding claim 20, Rahman discloses wherein the rate at which the internal
queueing engine dequeues the one or more internally generate packets from the one or
more internal packet queues is based, at least in part, on an amount of external packets
received at the one or more ingress points (Rahman, abstract the utilization of the first queue is based on a drain rate of the first queue and a transmit rate from the egress port) but does not explicitly disclose wherein internal queueing engine is configured to rate limit output of the one or more internally generated packets from the one or more internal packet queues.
Kim from the same field of endeavor discloses wherein internal queueing engine is configured to rate limit output of the one or more internally generated packets from the one or more internal packet queues (Kim, Col. 14 line 54-64 The TM also replicates the received message and directs this replicated message to the TM's recirculation queue 182 (which in some embodiments is another egress queue 410 of the TM). The recirculation queue in some embodiments is a rate-limited queue that stores the messages that it receives for a time period that can be configured by the configurator 135. Storing the replicated message in the rate-limited queue allows the data plane to reduce the rate at which the replicated message recirculates through the data plane 120 while waiting for the remote controller 105 to acknowledge receiving the message from the configurator 135).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have modified multi-queue disclosed by Rahman and combining state disclosed by Kim with a motivation to make this modification in order to improve the fault-tolerance of the forwarding element (Kim, Col.16 line 14).
Claim 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rahman et al. (US 2023/0403233 A1, hereinafter "Rahman") in view of Kim et al. (US 10,419,366 B2, hereinafter "Kim") as applied to claim above, and further in view of Wu et al. (US 10,735,340 B2, hereinafter "Wu").
Regarding claim 6, Rahman does not explicitly disclose wherein the internal queueing engine further comprises a multiplexer comprising a first number of inputs, each of the first number of inputs coupled to a respective internal packet source of the one or more internal packet sources, and a second number of outputs, each output of the second number of outputs coupled to a respective first queue of the one or more first queues.
Wu from the same field of endeavor discloses wherein the internal queueing engine further comprises a multiplexer comprising a first number of inputs, each of the first number of inputs coupled to a respective internal packet source of the one or more internal packet sources, and a second number of outputs, each output of the second number of outputs coupled to a respective first queue of the one or more first queues (Wu, Col. 3 line 43-51 the transmit portion includes a multiplexer that connects the data paths in the first set of data paths to a number of different data ports that belong to the network interface. The multiplexer may facilitate the aggregation of the data paths in the first set of data paths. The multiplexer may receive inputs from a set of transmission buffers and the set of transmission buffers may couple the first set of data paths to the multiplexer).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have modified multi-queue disclosed by Rahman and maximizing port bandwidth disclosed by Wu with a motivation to make this modification in order to improve the transmission efficiency between any two types of nodes (Wu, Col.3 line 6-7).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have to include the teachings of Wu’s system for Multiplexer into Rahman’s switch as modified by Kim with a motivation to make this modification in order to improve the transmission efficiency between any two types of nodes (Wu, Col.3 line 6-7).
Claims 15-16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rahman et al. (US 2023/0403233 A1, hereinafter "Rahman") in view of Kim et al. (US 10,419,366 B2, hereinafter "Kim") as applied to claim above, and further in view of Xie et al. (US 2007/0008986 A1, hereinafter "Xie").
Regarding claim 15, Rahman in view of Kim does not explicitly disclose wherein the traffic manager further comprises admission control logic configured to determine whether to allow a respective packet of the combined one or more internally generated packets and one or more external packets output by the merge function logic be placed into a packet buffer.
Xie from the same field of endeavor discloses wherein the traffic manager further comprises admission control logic configured to determine whether to allow a respective packet of the combined one or more internally generated packets and one or more external packets output by the merge function logic be placed into a packet buffer (Xie, claim 21 packet admission control comprising: hardware logic for (i) associating a series of threshold queue sizes with entries in a threshold lookup table; (ii) packet processing to assign an input logical queue and an output logical queue for each incoming packet, (iii) identifying the current queue depth, (iv) obtaining a SPI and a DPI value from a packet classifier, wherein the SPI value determines a sub-queue within the logical queue, (v) retrieving a threshold index for the sub-queue determined by the SPI value, and (vi) combining the threshold index with the DPI to lookup a TQS.sub.DPI, wherein the lookup returns a maximum allowed queue depth for packet admission control).
It would have been obvious for one with ordinary skill in the art before the effective filing date of the claimed invention to have to include the teachings of Xie’s system for admission control into Rahman’s switch as modified by Kim with a motivation to make this modification in order to allow for more rapid processing, reduces system complexity and cost (Xie, [0039]).
Regarding claim 16, Rahman discloses wherein the traffic manager further
comprises queueing logic configured to enqueue packets from the packet buffer into a
respective output queue of one or more logical queues (Rahman, [0010] scheduler 110 of switch 100 can allocate bandwidth to packets from queues for traffic classes 0 to 2. Separate queues can be allocated to traffic classes to buffer packets of a traffic class. In this example, queues 0 to 2 are allocated to packets of respective traffic classes (TCs) 0 to 2).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LUNA WEISSBERGER whose telephone number is (571)272-3315. The examiner can normally be reached Monday-Friday 8:00am-5:30pm.
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, Jeffrey Rutkowski can be reached at (571)270-1215. 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.
/LUNA WEISSBERGER/Examiner, Art Unit 2415