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 .
Response to Amendment
This office action is in response to applicant’s amendment and RCE filed, 03 March 2026, of application filed, with the above serial number, on 04 August 2021 in which claims 1, 7, 16 have been amended and claim 21 has been cancelled. Claims 1-19 are pending in the application.
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) 1-17, 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over DeGrace et al (hereinafter “Degrace”, 2022/0329528) in view of Ballard et al (hereinafter “Ballard”, 2021/0226846), Brogle et al (hereinafter “Brogle”, 2022/0303137), and MILOJICIC et al (hereinafter “Milojicic”, 2022/0291952).
As per Claim 1, Degrace discloses a computer-implemented method, comprising:
receiving, by an accelerator of a smart network interface card (smartNIC), a first instruction received from a memory of the accelerator and the first instruction instructing the accelerator to register a pairing between the accelerator and a remote programming data plane of a device of a plurality of devices that is physically distinct from the smart network interface card and is communicatively connected to the smart network interface card via a network path (at least paragraph 116-118, 57, 74-75; see also para. 364-370; sNIC (smartNIC) pairing between two different appliances; SDN appliance may separate physical assembly);
accessing, by the accelerator, a pairing rule from a programming data plane that is local to the smart network interface card (smartNIC), the pairing rule indicating the plurality of devices are available for pairing with the accelerator (at least paragraph 116-127, 169; [0124] In case of outage (e.g., the entire SDN appliance is not available for a longer period of time), the “Pairing” relationship might be changed by the control plane. [0125] In this case the control plane can: [0126] Withdraw the “pairing” relationship from sNIC (unpair the sNIC) [0127] Establish a new “pairing” relationship to another sNIC (pair different sNIC));
storing, by the accelerator, registration data indicating the pairing between the accelerator and the remote programming data plane of the device based at least in part on the {instructions} (at least paragraph 116-124; paired);
receiving, by the accelerator from the remote programming data plane, a second instruction over the network path, the second instruction associated with processing one or more flows (at least paragraph 116-124; Once the “pairing” relationship is established, flows may start being replicated and synced. SNICs may be responsible for replicating and syncing flows across sNICs in the “paired” relationship);
processing, by the accelerator, instruction data corresponding to the second instruction based at least in part on determining that the second instruction was received from the remote programming data plane of the device over the network path based at least in part on determining that the accelerator is paired with the remote programming plane of the device (at least paragraph 116-129; 205; flow table and Once the “pairing” relationship is established, flows may start being replicated and synced).
DeGrace fails to explicitly disclose wherein a memory of the accelerator is programmed with the first instruction during a manufacturing of the smart NIC. However, the use and advantages for using such a system was well known to one skilled in the art before the effective filing date of the claimed invention as evidenced by the teachings of Ballard. Ballard discloses, in an analogous art, factory provisioning a smartNIC with instructions allowing the smartNIC to be sent to the end user and upon powering up registering with the provisioning server and subsequent network booting to the respective host the smartNIC is programmed to connect (at least paragraph 38, 48-53). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the use of Ballard’s smartNIC deployment with DeGrace as Ballard teaches simplifying the end user experience, allowing the user to power up the device with the smartNIC and the smartNIC is registered and provisioned automatically.
DeGrace and Ballard fail to explicitly disclose validating, by the accelerator, the first instruction based at least in part on i) the first instruction instructing the accelerator to register the pairing between the accelerator and the remote programming data plane of the device, ii) the pairing rule indicating the device for pairing with the accelerator. However, the use and advantages for using such a system was well known to one skilled in the art before the effective filing date of the claimed invention as evidenced by the teachings of Brogle. Brogle discloses, in an analogous art, a secure circuit accelerator validating host pairing data including encrypting and decrypting the pairing data (at least paragraph 33, 45-47). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the use of Brogle’s validation with DeGrace/ Ballard as Brogle teaches before pairing the accelerator secure circuit with the host, the authenticity of the pairing can be verified and attesting to the received data before pairing the devices together to ensure security of the communication channel.
Degrace, Ballard and Brogle fail to explicitly disclose iii) a determination that the device is a highest ranked device of the plurality of devices for pairing with the accelerator based at least in part on the pairing rules. However, the use and advantages for using such a system was well known to one skilled in the art before the effective filing date of the claimed invention as evidenced by the teachings of Milojicic. Milojicic discloses accelerator assignment / pairing to smart NIC being prioritized (at least Milojicic paragraph 52-54). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the use of Milojicic’s ranking or prioritizing with Degrace / Ballard/ Brogle, as Milojicic teaches it being well known that some accelerator perform better for some particular requests than others and for best quality of service, pairing with the prioritized accelerator would be a well known and obvious choice and modification to Degrace’s pairing having options but Degrace not describing how one pairing changing to the other pairing is explicitly determined.
As per Claim 2. The computer-implemented method of claim 1, wherein the pairing indicates that the accelerator is configured to perform at least one of: (I) accepting subsequent programming instructions from the remote programming data plane to program the accelerator, (II) rejecting subsequent programming instructions from other devices to program the accelerator, or (III) forwarding at least a portion of packets received by the accelerator to the remote programming data plane (at least paragraph 81-82, 117-124, 369; stateful network policy-based forwarding and security 1350 performed on SmartNICs 1340; Once the “pairing” relationship is established, flows may start being replicated and synced).
As per Claim 3. The computer-implemented method of claim 1, wherein the second instruction is included within a single control packet, the single control packet having characteristics corresponding to at least one of: (I) being formatted according to an Internet Protocol (IP) header, a source address of the header identifying the remote programming data plane, (II) having a payload that fits within a jumbo frame, or (III) including the second instruction within a predefined data structure of the payload of the single control packet (at least paragraph 50, 69, 239; header information including source and/or destination addresses, protocol identifiers, etc; virtual IP).
As per Claim 4. The computer-implemented method of claim 1, wherein processing the instruction data further comprises storing the instruction data as programming instructions, the method further comprising:
forwarding, by the accelerator, the data packet to the remote programming data plane via the network path based at least in part on the stored programming instructions (at least paragraph 116-129; 205; flow table and Once the “pairing” relationship is established, flows may start being replicated and synced).
As per Claim 5. Degrace fails to explicitly disclose wherein the first instruction is encrypted within an encrypted packet using a cryptographic key and transmitted to the smart network interface card via the network path. However, the use and advantages for using such a system was well known to one skilled in the art before the effective filing date of the claimed invention as evidenced by the teachings of Brogle. Brogle discloses, in an analogous art, a secure circuit accelerator validating host pairing data including encrypting and decrypting the pairing data with encryption keys (at least paragraph 33, 45-47). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the use of Brogle’s validation with DeGrace as Brogle teaches before pairing the accelerator secure circuit with the host, the authenticity of the pairing can be verified and attesting to the received data before pairing the devices together to ensure security of the communication channel.
As per Claim 6. The computer-implemented method of claim 5, wherein the first instruction is received from: (I) a local programming data plane that is local to the smart network interface card, or (II) a third device that is remote to the smart network interface card (at least paragraph 116-118, 57, 74-75; see also para. 364-370; sNIC (smartNIC) pairing between two different appliances; SDN appliance may separate physical assembly).
As per Claim 8. The smart network interface card of claim 7, wherein the memory comprises further computer-executable instructions that, when executed by the one or more of the plurality of processors, further cause the smart network interface card to: determine, by the accelerator, that a second pairing between the accelerator and a second remote programming data plane of the second device is defective based at least in part on determining that the second device is unreachable via the network path, and wherein the first device corresponds to an alternative device for pairing the remote programming data plane with the accelerator in an event when the second device is unreachable (at least paragraph 104-115, 124, 150; Single link failure—Single link between TOR and single sNIC becomes unavailable; Passive Appliance becoming active; In case of outage (e.g., the entire SDN appliance is not available for a longer period of time), the pPairing” relationship might be changed by the control plane.).
As per Claim 9. The smart network interface card of claim 7, further comprising: a programming data plane comprising a second set of one or more processors of the plurality of processors, wherein the memory comprises further computer-executable instructions that, when executed by the one or more of the plurality of processors, further cause the smart network interface card to: receive, by the accelerator, a second instruction to register a new pairing between the accelerator and the programming data plane; and store, by the accelerator, second registration data indicating the new pairing between the accelerator and the programming data plane (at least paragraph 118, 126-129; Withdraw the “pairing” relationship from sNIC (unpair the sNIC), Establish a new “pairing” relationship to another sNIC (pair different sNIC)).
As per Claim 10. The smart network interface card of claim 7, wherein the memory comprises further computer-executable instructions that, when executed by the one or more of the plurality of processors, further cause the smart network interface card to: receive, by the accelerator, a third instruction from a second remote programming data plane of a second device via the network path; and reject, by the accelerator, the third instruction based at least in part on the stored registration data indicating the pairing with the remote programming data plane of the first device (at least paragraph 118, 126-129; “pairing” with only one other device; if paired and pairing relationship not withdrawn, cant establish new pairing and new pairing attempt would result in error; Withdraw the “pairing” relationship from sNIC (unpair the sNIC), Establish a new “pairing” relationship to another sNIC (pair different sNIC)).
As per Claim 12. Degrace fails to explicitly disclose wherein the second instruction is included within a single control packet that is encrypted, and wherein the memory comprises further computer-executable instructions that, when executed by the one or more of the plurality of processors, further cause the smart network interface card to: retrieve, by the accelerator, a cryptographic key that is associated with the remote programming data plane and operable for decrypting the single control packet; and validate, by the accelerator, that the single control packet is associated with a currently paired remote programming data plane based at least in part on decrypting the encrypted single control packet to obtain the second instruction. However, the use and advantages for using such a system was well known to one skilled in the art before the effective filing date of the claimed invention as evidenced by the teachings of Brogle. Brogle discloses, in an analogous art, a secure circuit accelerator validating host pairing data including encrypting and decrypting the pairing data with encryption keys (at least paragraph 33, 45-47). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the use of Brogle’s validation with DeGrace as Brogle teaches before pairing the accelerator secure circuit with the host, the authenticity of the pairing can be verified and attesting to the received data before pairing the devices together to ensure security of the communication channel.
As per Claim 13. The smart network interface card of claim 12, wherein processing the instruction data further comprises programming, by the accelerator, the memory with instructions for processing subsequent packets received by the accelerator that are associated with the one or more flows (at least paragraph 119-129; processing flows).
As per Claim 14. The smart network interface card of claim 7, wherein the memory comprises further computer-executable instructions that, when executed by the one or more of the plurality of processors, further cause the smart network interface card to: receive, by the accelerator, a data packet; determine, by the accelerator, that the data packet should be further processed by the remote programming data plane; transmit, by the accelerator, the data packet to the remote programming data plane via the network path; receive, by the accelerator, the second instruction via a single control packet, the second instruction including instructions to add a new cache entry to an accelerator cache, the new cache entry associated with a new approved flow; and forwarding, by the accelerator, the data packet based at least in part on determining that the data packet is associated with the new approved flow (at least paragraph 186-205, 248-250; as the online SNIC receives traffic, adding new flows to the flow table with the assigned color and replicated new flows to paired sNICs, wherein all connections use the same color until the pairing fails, and continues using the same color if there is no active pairing; when pairing is re-established, changing the assigned color to a new color; using the new color for new flows that are added to the flow table and replicating new flows to the paired sNIC).
As per Claim 15. The smart network interface card of claim 7, wherein the memory comprises further computer-executable instructions that, when executed by the one or more of the plurality of processors, further cause the smart network interface card to: establish, by the accelerator, a Transport Control Protocol (TCP) connection with the remote programming data plane, wherein the second instruction is transmitted by the remote programming data plane to the accelerator via at least one control packet over the Transport Control Protocol connection (at least paragraph 69; preservation of transient states (for example, TCP flow state)).
As per Claim 17. The one or more non-transitory computer-readable storage media of claim 16, wherein the second instruction is received within a single control packet, a payload of the single control packet including programming instructions associated with at least one of: (I) a flow expiry, (II) a newly approved flow, (III) a flow policy, (IV) a security list update, or (V) flow statistics (at least paragraph 189-198; new flows added to flow table).
Claims 7, 11, 16, 19 do not, in substance, add or define any additional limitations over claims 1, 4, 9 and therefore are rejected for similar reasons, supra.
Claim(s) 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Degrace in view of Ballard, Brogle and Milojicic, further in view of McDowall et al (hereinafter “McDowall”, 2022/0353240).
Degrace, Brogle, and Milojicic fail to explicitly disclose wherein the instructions further cause the one or more processor to: retrieve, by the accelerator, a flow statistics log; and transmit, by the accelerator to the remote programming data plane, the flow statistics log to be used by the remote programming data plane to generate a statistics report. However, the use and advantages for using such a system was well known to one skilled in the art before the effective filing date of the claimed invention as evidenced by the teachings of McDowall. McDowall teaches, in an analogous Smart NIC art, offloading processing to a Smart NIC including flow statistics (at least paragraph 53-61). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to incorporate the use of McDowall’s Smart NIC flow statistics with Degrace, Ballard, Brogle and Milojicic as Degrace’s Smart NIC would have the flow information and this would further be processing the Smart NIC could perform to offload unnecessary processing from a host device.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GREGORY TODD whose telephone number is (303)297-4763. The examiner can normally be reached 8:30-5 MST.
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, Nicholas Taylor can be reached on 571-272-3889. 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.
/GREGORY TODD/Primary Examiner, Art Unit 2443