DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
The amendment filed 6/3/2026 has been placed of record in the file.
Claims 1, 8, and 16 have been amended.
Claims 6 and 14 have been canceled.
Claims 1-5, 7-13, and 15-20 are now pending.
The applicant’s arguments with respect to claims 1-5, 7-13, and 15-20 have been considered but are moot in view of the follow new grounds of rejection.
The IDS filed 6/3/2026 has been considered.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 6/3/2026 has been entered.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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-13, and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kutch et al. (U.S. Patent Application Publication Number 2021/0117360), hereinafter referred to as Kutch, in view of Sindhu et al. (U.S. Patent Application Publication Number 2022/0224564) as cited on the applicant’s IDS filed 6/3/2026, hereinafter referred to as Sindhu.
Kutch disclosed techniques for implementing packet processing in an offload processing device. In an analogous art, Sindhu disclosed techniques for implementing networking tasks in a data processing unit. Both systems are directed toward software-defined networking for a packet processing pipeline.
Regarding claim 1, Kutch discloses a data processing unit (DPU) comprising: DPU hardware comprising a processing device and an acceleration hardware engine (paragraph 56, integrated in xPU, and paragraph 311, xPU includes DPU, and paragraph 54, acceleration hardware); and a memory operatively coupled to the DPU hardware, the memory to store DPU software comprising a network pipeline abstraction layer (NPAL) supporting multiple network protocols and network functions in a network pipeline, wherein the network pipeline comprises a set of tables and logic organized in a specific order to be accelerated by the acceleration hardware engine, and wherein the acceleration hardware engine is to process network traffic data using the network pipeline (paragraph 61, mapping packet processing pipeline stages between software and accelerator hardware).
Kutch does not explicitly state the NPAL comprising a set of application programming interfaces (APIs) or classes that provide a unified interface to one or more applications executed by the processing device, wherein the network pipeline comprises a specific order of network functions. However, implementing DPU software in such a fashion was well known in the art as evidenced by Sindhu. Since the inventions encompass the same field of endeavor, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Kutch by adding the ability for the NPAL comprising a set of application programming interfaces (APIs) or classes that provide a unified interface to one or more applications executed by the processing device, wherein the network pipeline comprises a specific order of network functions as provided by Sindhu (see paragraph 88, APIs for directing processing tasks to DPU, and paragraph 83, maintains sequencing and ordering of operations within DPU). One of ordinary skill in the art would have recognized the benefit that utilizing a DPU in this way would assist in delivering significantly improved efficiency over other processors (see Sindhu, paragraph 79).
Regarding claim 2, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port to receive the network traffic data (Kutch, paragraph 85, packet input); a filtering network function operatively coupled to the input port, the filtering network function to filter the network traffic data (Kutch, paragraph 276, packet filtering); an ingress port operatively coupled to the filtering network function (Kutch, paragraph 276, ingress); a first network function operatively coupled to the ingress port, the first network function to process the network traffic data using one or more ingress Access Control Lists (ACLs) (Kutch, paragraph 276, classify ingress packets, and paragraph 85, ACL operations); a bridge operatively coupled to the first network function, the bridge to perform a layer 2 (L2) bridging operation (Kutch, paragraph 276, L2 level); one or more Switched Virtual Interface (SVI) ACLs operatively coupled to the bridge (Kutch, paragraph 276, packet inspection at L2, and paragraph 85, ACL operations); a router operatively coupled to the SVI ACLs, the router to perform a layer 3 (L3) routing operation (Kutch, paragraph 276, L3 level); a second network function operatively coupled to the router, the second network function to process the network traffic data using one or more egress ACLs (Kutch, paragraph 276, packet inspection at L3, and paragraph 85, ACL operations); and an egress port operatively coupled to the second network function (Kutch, paragraph 276, egress); and an output port to output the network traffic data (Kutch, paragraph 85, packet output).
Regarding claim 3, the combination of Kutch and Sindhu discloses wherein the ACLs comprise at least one of a static ACL or a dynamic ACL (Kutch, paragraph 66, accelerators for access control operations are fixed or programmable).
Regarding claim 4, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port to receive the network traffic data (Kutch, paragraph 85, packet input); a filtering network function operatively coupled to the input port, the filtering network function to filter the network traffic data (Kutch, paragraph 276, packet filtering); an ingress port operatively coupled to the filtering network function (Kutch, paragraph 276, ingress), the ingress port having a first network function to perform first virtual local area network (VLAN) mapping on the network traffic data (Kutch, paragraph 157, mapping with VLAN tags); a second network function operatively coupled to the ingress port, the second network function to process the network traffic data using one or more ingress Access Control Lists (ACLs) (Kutch, paragraph 276, classify ingress packets, and paragraph 85, ACL operations); a bridge operatively coupled to the second network function, the bridge to perform a layer 2 (L2) bridging operation (Kutch, paragraph 276, L2 level); one or more Switched Virtual Interface (SVI) ACLs operatively coupled to the bridge (Kutch, paragraph 276, packet inspection at L2, and paragraph 85, ACL operations); a router operatively coupled to the SVI ACLs, the router to perform a layer 3 (L3) routing operation (Kutch, paragraph 276, L3 level); a third network function operatively coupled to the router, the third network function to process the network traffic data using one or more egress ACLs (Kutch, paragraph 276, packet inspection at L3, and paragraph 85, ACL operations); and an egress port operatively coupled to the third network function (Kutch, paragraph 276, egress), the egress port having a fourth network function to perform second VLAN mapping on the network traffic data (Kutch, paragraph 157, mapping with VLAN tags); and an output port to output the network traffic data (Kutch, paragraph 85, packet output).
Regarding claim 5, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises two or more of the following: a first network function to perform layer 2 (L2) bridging; a second network function to perform layer 3 (L3) routing; a third network function to perform tunnel encapsulation or tunnel decapsulation; a fourth network function to perform a hash calculation; a fifth network function to perform an Equal-Cost Multi-Path (ECMP) operation; a sixth network function to perform a Connection Tracking (CT) operation; or a seventh network function to perform a network address translation (NAT) operation (Kutch, paragraph 276, VPN handling, routing and forwarding, NAT, etc.).
Regarding claim 7, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port (Kutch, paragraph 85, packet input); an ingress dynamic or static Access Control List (ACL) (Kutch, paragraph 276, ingress, and paragraph 85, ACL operations); a bridge (Kutch, paragraph 276, L2 level); a router (Kutch, paragraph 276, L3 level); an egress dynamic or static ACL (Kutch, paragraph 276, egress, and paragraph 85, ACL operations); and an output port (Kutch, paragraph 85, packet output).
Regarding claim 8, Kutch discloses a computing system comprising: a host device (paragraph 58, host); an integrated circuit coupled to the host device and a network (paragraph 56, chip package), wherein the integrated circuit comprises: a network interconnect coupled to the network (paragraph 58, Network Interface Manager); a host interconnect coupled to the host device (paragraph 58, Host Interface Manager); an acceleration hardware engine (paragraph 58, workload accelerator); a memory to store DPU software comprising a network pipeline abstraction layer (NPAL) supporting multiple network protocols and network functions in a network pipeline, wherein the network pipeline comprises a set of tables and logic organized in a specific order to be accelerated by the acceleration hardware engine, and wherein the acceleration hardware engine is to process network traffic data using the network pipeline (paragraph 61, mapping packet processing pipeline stages between software and accelerator hardware).
Kutch does not explicitly state the NPAL comprising a set of application programming interfaces (APIs) or classes that provide a unified interface to one or more applications executed by the integrated circuit, wherein the network pipeline comprises a specific order of network functions. However, implementing DPU software in such a fashion was well known in the art as evidenced by Sindhu. Since the inventions encompass the same field of endeavor, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Kutch by adding the ability for the NPAL comprising a set of application programming interfaces (APIs) or classes that provide a unified interface to one or more applications executed by the integrated circuit, wherein the network pipeline comprises a specific order of network functions as provided by Sindhu (see paragraph 88, APIs for directing processing tasks to DPU, and paragraph 83, maintains sequencing and ordering of operations within DPU). One of ordinary skill in the art would have recognized the benefit that utilizing a DPU in this way would assist in delivering significantly improved efficiency over other processors (see Sindhu, paragraph 79).
Regarding claim 9, the combination of Kutch and Sindhu discloses wherein the integrated circuit is at least one of a data processing unit (DPU), a network interface card (NIC), a network interface device, or a switch, wherein the DPU is a programmable data center infrastructure on a chip (Kutch, paragraph 56, chip package, and paragraph 56, integrated in xPU, and paragraph 311, xPU includes DPU).
Regarding claim 10, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port to receive the network traffic data (Kutch, paragraph 85, packet input); a filtering network function operatively coupled to the input port, the filtering network function to filter the network traffic data (Kutch, paragraph 276, packet filtering); an ingress port operatively coupled to the filtering network function (Kutch, paragraph 276, ingress); a first network function operatively coupled to the ingress port, the first network function to process the network traffic data using one or more ingress Access Control Lists (ACLs) (Kutch, paragraph 276, classify ingress packets, and paragraph 85, ACL operations); a bridge operatively coupled to the first network function, the bridge to perform a layer 2 (L2) bridging operation (Kutch, paragraph 276, L2 level); one or more Switched Virtual Interface (SVI) ACLs operatively coupled to the bridge (Kutch, paragraph 276, packet inspection at L2, and paragraph 85, ACL operations); a router operatively coupled to the SVI ACLs, the router to perform a layer 3 (L3) routing operation (Kutch, paragraph 276, L3 level); a second network function operatively coupled to the router, the second network function to process the network traffic data using one or more egress ACLs (Kutch, paragraph 276, packet inspection at L3, and paragraph 85, ACL operations); and an egress port operatively coupled to the second network function (Kutch, paragraph 276, egress); and an output port to output the network traffic data (Kutch, paragraph 85, packet output).
Regarding claim 11, the combination of Kutch and Sindhu discloses wherein the ACLs comprise at least one of a static ACL or a dynamic ACL (Kutch, paragraph 66, accelerators for access control operations are fixed or programmable).
Regarding claim 12, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port to receive the network traffic data (Kutch, paragraph 85, packet input); a filtering network function operatively coupled to the input port, the filtering network function to filter the network traffic data (Kutch, paragraph 276, packet filtering); an ingress port operatively coupled to the filtering network function (Kutch, paragraph 276, ingress), the ingress port having a first network function to perform first virtual local area network (VLAN) mapping on the network traffic data (Kutch, paragraph 157, mapping with VLAN tags); a second network function operatively coupled to the ingress port, the second network function to process the network traffic data using one or more ingress Access Control Lists (ACLs) (Kutch, paragraph 276, classify ingress packets, and paragraph 85, ACL operations); a bridge operatively coupled to the second network function, the bridge to perform a layer 2 (L2) bridging operation (Kutch, paragraph 276, L2 level); one or more Switched Virtual Interface (SVI) ACLs operatively coupled to the bridge (Kutch, paragraph 276, packet inspection at L2, and paragraph 85, ACL operations); a router operatively coupled to the SVI ACLs, the router to perform a layer 3 (L3) routing operation (Kutch, paragraph 276, L3 level); a third network function operatively coupled to the router, the third network function to process the network traffic data using one or more egress ACLs (Kutch, paragraph 276, packet inspection at L3, and paragraph 85, ACL operations); and an egress port operatively coupled to the third network function (Kutch, paragraph 276, egress), the egress port having a fourth network function to perform second VLAN mapping on the network traffic data (Kutch, paragraph 157, mapping with VLAN tags); and an output port to output the network traffic data (Kutch, paragraph 85, packet output).
Regarding claim 13, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises two or more of the following: a first network function to perform layer 2 (L2) bridging; a second network function to perform layer 3 (L3) routing; a third network function to perform tunnel encapsulation or tunnel decapsulation; a fourth network function to perform a hash calculation; a fifth network function to perform an Equal-Cost Multi-Path (ECMP) operation; a sixth network function to perform a Connection Tracking (CT) operation; or a seventh network function to perform a network address translation (NAT) operation (Kutch, paragraph 276, VPN handling, routing and forwarding, NAT, etc.).
Regarding claim 15, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port (Kutch, paragraph 85, packet input); an ingress dynamic or static Access Control List (ACL) (Kutch, paragraph 276, ingress, and paragraph 85, ACL operations); a bridge (Kutch, paragraph 276, L2 level); a router (Kutch, paragraph 276, L3 level); an egress dynamic or static ACL (Kutch, paragraph 276, egress, and paragraph 85, ACL operations); and an output port (Kutch, paragraph 85, packet output).
Regarding claim 16, Kutch discloses a method of operating a data processing unit (DPU) (paragraph 56, integrated in xPU, and paragraph 311, xPU includes DPU), the method comprising: executing one or more instructions of a network pipeline abstraction layer (NPAL) supporting multiple network protocols and network functions in a network pipeline, wherein the network pipeline comprises a set of tables and logic organized in a specific order to be accelerated by an acceleration hardware engine of the DPU (paragraph 61, mapping packet processing pipeline stages between software and accelerator hardware); receiving network traffic data over a network (paragraph 55, ingress traffic); and processing, using the acceleration hardware engine of the DPU, the network traffic data using the network pipeline (paragraph 61, mapping packet processing pipeline stages between software and accelerator hardware).
Kutch does not explicitly state the NPAL comprising a set of application programming interfaces (APIs) or classes that provide a unified interface to one or more applications executed by the DPU, wherein the network pipeline comprises a specific order of network functions. However, implementing DPU software in such a fashion was well known in the art as evidenced by Sindhu. Since the inventions encompass the same field of endeavor, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Kutch by adding the ability for the NPAL comprising a set of application programming interfaces (APIs) or classes that provide a unified interface to one or more applications executed by the DPU, wherein the network pipeline comprises a specific order of network functions as provided by Sindhu (see paragraph 88, APIs for directing processing tasks to DPU, and paragraph 83, maintains sequencing and ordering of operations within DPU). One of ordinary skill in the art would have recognized the benefit that utilizing a DPU in this way would assist in delivering significantly improved efficiency over other processors (see Sindhu, paragraph 79).
Regarding claim 17, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port to receive the network traffic data (Kutch, paragraph 85, packet input); a filtering network function operatively coupled to the input port, the filtering network function to filter the network traffic data (Kutch, paragraph 276, packet filtering); an ingress port operatively coupled to the filtering network function (Kutch, paragraph 276, ingress); a first network function operatively coupled to the ingress port, the first network function to process the network traffic data using one or more ingress Access Control Lists (ACLs) (Kutch, paragraph 276, classify ingress packets, and paragraph 85, ACL operations); a bridge operatively coupled to the first network function, the bridge to perform a layer 2 (L2) bridging operation (Kutch, paragraph 276, L2 level); one or more Switched Virtual Interface (SVI) ACLs operatively coupled to the bridge (Kutch, paragraph 276, packet inspection at L2, and paragraph 85, ACL operations); a router operatively coupled to the SVI ACLs, the router to perform a layer 3 (L3) routing operation (Kutch, paragraph 276, L3 level); a second network function operatively coupled to the router, the second network function to process the network traffic data using one or more egress ACLs (Kutch, paragraph 276, packet inspection at L3, and paragraph 85, ACL operations); and an egress port operatively coupled to the second network function (Kutch, paragraph 276, egress); and an output port to output the network traffic data (Kutch, paragraph 85, packet output).
Regarding claim 18, the combination of Kutch and Sindhu discloses wherein the ACLs comprise at least one of a static ACL or a dynamic ACL (Kutch, paragraph 66, accelerators for access control operations are fixed or programmable).
Regarding claim 19, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises: an input port to receive the network traffic data (Kutch, paragraph 85, packet input); a filtering network function operatively coupled to the input port, the filtering network function to filter the network traffic data (Kutch, paragraph 276, packet filtering); an ingress port operatively coupled to the filtering network function (Kutch, paragraph 276, ingress), the ingress port having a first network function to perform first virtual local area network (VLAN) mapping on the network traffic data (Kutch, paragraph 157, mapping with VLAN tags); a second network function operatively coupled to the ingress port, the second network function to process the network traffic data using one or more ingress Access Control Lists (ACLs) (Kutch, paragraph 276, classify ingress packets, and paragraph 85, ACL operations); a bridge operatively coupled to the second network function, the bridge to perform a layer 2 (L2) bridging operation (Kutch, paragraph 276, L2 level); one or more Switched Virtual Interface (SVI) ACLs operatively coupled to the bridge (Kutch, paragraph 276, packet inspection at L2, and paragraph 85, ACL operations); a router operatively coupled to the SVI ACLs, the router to perform a layer 3 (L3) routing operation (Kutch, paragraph 276, L3 level); a third network function operatively coupled to the router, the third network function to process the network traffic data using one or more egress ACLs (Kutch, paragraph 276, packet inspection at L3, and paragraph 85, ACL operations); and an egress port operatively coupled to the third network function (Kutch, paragraph 276, egress), the egress port having a fourth network function to perform second VLAN mapping on the network traffic data (Kutch, paragraph 157, mapping with VLAN tags); and an output port to output the network traffic data (Kutch, paragraph 85, packet output).
Regarding claim 20, the combination of Kutch and Sindhu discloses wherein the network pipeline comprises two or more of the following: a first network function to perform layer 2 (L2) bridging; a second network function to perform layer 3 (L3) routing; a third network function to perform tunnel encapsulation or tunnel decapsulation; a fourth network function to perform a hash calculation; a fifth network function to perform an Equal-Cost Multi-Path (ECMP) operation; a sixth network function to perform a Connection Tracking (CT) operation; or a seventh network function to perform a network address translation (NAT) operation (Kutch, paragraph 276, VPN handling, routing and forwarding, NAT, etc.).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Victor Lesniewski whose telephone number is (571)272-2812. The examiner can normally be reached Monday thru Friday, 9am to 5pm.
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, Carl Colin can be reached at 571-272-3862. 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.
/Victor Lesniewski/Primary Examiner, Art Unit 2493