Prosecution Insights
Last updated: August 17, 2026
Application No. 18/884,471

PACKET PROCESSING METHOD, PACKET CHECK METHOD, AND APPARATUS

Non-Final OA §101§103
Filed
Sep 13, 2024
Priority
Mar 18, 2022 — CN 202210276210.8 +1 more
Examiner
WILLIAMS, ALYSSA RENEE
Art Unit
Tech Center
Assignee
Huawei Technologies Co., Ltd.
OA Round
1 (Non-Final)
52%
Grant Probability
Moderate
1-2
OA Rounds
1y 1m
Est. Remaining
72%
With Interview

Examiner Intelligence

Grants 52% of resolved cases
52%
Career Allowance Rate
11 granted / 21 resolved
-7.6% vs TC avg
Strong +20% interview lift
Without
With
+20.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
27 currently pending
Career history
63
Total Applications
across all art units

Statute-Specific Performance

§101
1.5%
-38.5% vs TC avg
§103
61.5%
+21.5% vs TC avg
§102
28.7%
-11.3% vs TC avg
§112
7.2%
-32.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 21 resolved cases

Office Action

§101 §103
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 . Priority Acknowledgment is made of applicant's claim for foreign priority based on an application no. 202210276210.8 filed in PEOPLE’S REPUBLIC OF CHINA on 03/18/2022. It is noted that the applicant has filed a certified copy of the application as required by 37 CFR 1.55. Information Disclosure Statement The information disclosure statement (IDS) submitted on 05/12/2025 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 19-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claims do not fall within at least one of the four categories of patent eligible subject matter because “a computer-readable storage medium storing a computer program…” in Claim 19 and “a computer program…” in Claim 20 are directed to software per se. Examiner advises applicant to amend “a computer-readable storage medium storing a computer program” to “a non-transitory computer-readable storage medium storing a computer program” in Claim 19 and either cancel Claim 20 or amend Claim 20 so it is directed to non-statutory subject matter. 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. 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 factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-2, 8, 13-14, 16 and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over Grewal et al. (US 2006/0227773), Grewal hereinafter, and further in view of Nyugen et al. (US 7,453,874), Nyugen hereinafter. Re. Claim 1, Grewal teaches a packet processing method, comprising: (Fig. 5-6 & ¶0015-¶0016); receiving, by a storage server, (Fig. 2 & ¶0018 - A computing device 200 is connected to another computing device 240 via a communication path 270. One or more intermediary devices 220, 230 may also be optionally coupled to the communication path 270. ¶0019 - Communication path 270 may be any type of connection that enables communication, such as, for example, a Storage Area Network (SAN)… ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240); a first packet comprising a first service layer and a check value of the first service layer comprising payload data; (Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240. ¶0061 - Furthermore, embodiments may be used with any layer of the OSI model, and define a mechanism that transcends any logical or hierarchical divides in a given network stack. Additionally, embodiments may be employed at any OSI layer (e.g., with changes to the scope of data used to calculate the integrity check value and subsequent application of this within the packet). For example, for a Layer 2 solution, the integrity check value may be calculated over the IP, TCP/IP, VLAN and MAC headers, whereas in a Layer 3 solution, the integrity check value may be calculated over the IP and TCP/IP headers. Please also see Fig. 1 & ¶0005 - FIG. 1 illustrates a prior art packet 100 and Fig. 4); obtaining, by the storage server, a check value of the payload data through calculation based on the first service layer and/or the check value of the first service layer; (Fig. 6 & ¶0053 - In block 606, the authenticity system 210 determines whether a data integrity operation was performed … In block 608, the authenticity system 210 performs a data integrity operation to calculate an integrity check value over one selectable portion of the packet using a secret key. ¶0054 - In block 610, the authenticity system 210 performs a data transformation operation to unroll the integrity check value from another selectable portion of the packet to retrieve data); and sending, by the storage server, a second packet to a gateway device, (Fig. 2 & ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 5 & ¶0047 - In FIG. 5A, control begins at block 500 with the authenticity system 210 determining that a packet is about to be transmitted from a computing device 200, 240. The computing device 200, 240 may be an intermediary through which the packet has passed before reaching a final destination or may be the original sender of the packet. The packet is transmitted from a computing device 200, 240); Yet, Grewal does not explicitly teach wherein the second packet comprises a second service layer, a check value of the second service layer, and the check value of the payload data; and the second service layer is obtained based on the first service layer, and the check value of the second service layer is obtained through calculation based on the second service layer and the check value of the payload data. However, in the analogous art, Nyugen explicitly teaches wherein the second packet comprises a second service layer, a check value of the second service layer, and the check value of the payload data; (Fig. 1-5 & Page 4, ¶20 - a packet processor divides an IP packet encapsulating a TCP segment or UDP datagram into two parts: a reduced header part and a payload-plus part. ¶21 - The result is a checksum value for the payload-plus portion of the IP packet. ¶22 - Next, the processor modifies one or more fields of the reduced header part during layer 3 or layer 4 processing and calculates a checksum value on the modified reduced header part); and the second service layer is obtained based on the first service layer, and the check value of the second service layer is obtained through calculation based on the second service layer and the check value of the payload data (Fig. 1-5 & Abstract - A partial one's complement sum is first computed by subtracting the checksum value of certain packet header fields from the original data packet checksum. One or more of the packet header fields are then modified. An incrementally updated checksum is then computed by adding a checksum value of the modified packet header fields to the previously calculated partial one's complement sum. The updated checksum then replaces the original data packet checksum in the network data packet. Page 4, ¶22 - It then adds this checksum value to the partial one's complement sum to produce the incrementally updated checksum. The incrementally updated checksum then replaces the original checksum in the TCP segment or UDP datagram header before the data packet is forwarded to its next hop). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Re. Claim 2, Grewal and Nyugen teach Claim 1. Grewal further teaches the first service layer further comprises a first transmission control header, (Fig. 1,4 & ¶0005 - The packet 100 includes a header 110 and a payload 130. The header 110 includes an Ethernet field 112, an optional Virtual Local Area Network (VLAN) field 114, an Internet Protocol (IP) field 116, and a Transmission Control Protocol (TCP)/User Datagram Protocol (UDP) field 118. Please also see ¶0036); Yet, Grewal does not explicitly teach and the second service layer comprises a second transmission control header and the payload data; and the second transmission control header is generated based on session information to which the first transmission control header is linked. However, in the analogous art, Nyugen explicitly teaches and the second service layer comprises a second transmission control header and the payload data; (Fig. 1-5 & Page 5, ¶13 - FIG. 2 shows the headers encapsulation of a TCP segment as an IP datagram. The source address 110, destination address 120, protocol bits 140, and other fields are part of the IP packet header 102. The IP packet header 102 precedes the TCP segment 104 in the IP packet 100. The TCP segment 104 consists of a TCP header 106 and the data or payload 108); and the second transmission control header is generated based on session information to which the first transmission control header is linked (Page 2, ¶9 - For a network switch to route a data packet properly, the structure of the data packet must conform to the protocol of the network … Once translated, the information is then queued in the Session layer (layer 5) for managed control of the transmission. The Transport layer (layer 4), which receives the information from the Session layer, ensures that the data packet is successfully transferred between the two end nodes. Page 5, ¶14 - Because the processor receives the IP header 102 and TCP header 106 before it receives the payload 108, the processor does not need to buffer the entire IP packet 100 before it begins processing the header fields. More importantly, because the method and system of this invention update the TCP checksum 210 without recalculating it over any portion of the payload 108, the method and system reduce network switch latency by limiting the number of mathematical computations to simple arithmetic computations over the header fields). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Re. Claim 8, Grewal teaches a packet processing method, comprising: (Fig. 5-6 & ¶0015-¶0016); obtaining, by a storage server, a third transmission control header and a check value of payload data, (Fig. 4, 6 & ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 1 & ¶0005 - The packet 100 includes a header 110 and a payload 130. The header 110 includes an Ethernet field 112, an optional Virtual Local Area Network (VLAN) field 114, an Internet Protocol (IP) field 116, and a Transmission Control Protocol (TCP)/User Datagram Protocol (UDP) field 118 …The payload 130 includes a data field 132 for storing data and an Integrity Check Value (ICV) field 134 for storing the integrity check value. In FIG. 1, a data integrity operation is performed on the information in the VLAN field 414, the IP field 416, the TCP/UDP field 418, and the data field 132, which fields are also referred to as an authenticated portion 240 of the packet. ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240); the first transmission control header and the payload data are located in the first service layer in a first packet received by the storage server, (Fig. 2 & ¶0018 - A computing device 200 is connected to another computing device 240 via a communication path 270. One or more intermediary devices 220, 230 may also be optionally coupled to the communication path 270. ¶0019 - Communication path 270 may be any type of connection that enables communication, such as, for example, a Storage Area Network (SAN)… ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240); and the first packet comprises the first service layer and the check value of the first service layer; (Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240. ¶0061 - Furthermore, embodiments may be used with any layer of the OSI model, and define a mechanism that transcends any logical or hierarchical divides in a given network stack. Additionally, embodiments may be employed at any OSI layer (e.g., with changes to the scope of data used to calculate the integrity check value and subsequent application of this within the packet). For example, for a Layer 2 solution, the integrity check value may be calculated over the IP, TCP/IP, VLAN and MAC headers, whereas in a Layer 3 solution, the integrity check value may be calculated over the IP and TCP/IP headers. Please also see Fig. 1 & ¶0005 - FIG. 1 illustrates a prior art packet 100 and Fig. 4); and sending, by the storage server, a third packet to a user device or a gateway device, (Fig. 2 & ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 5 & ¶0047 - In FIG. 5A, control begins at block 500 with the authenticity system 210 determining that a packet is about to be transmitted from a computing device 200, 240. The computing device 200, 240 may be an intermediary through which the packet has passed before reaching a final destination or may be the original sender of the packet. The packet is transmitted from a computing device 200, 240); Yet, Grewal does not explicitly teach and obtaining a check value of a third service layer through calculation based on the third transmission control header and the check value of the payload data, wherein the third service layer comprises the third transmission control header and the payload data; and the third transmission control header is obtained based on a first transmission control header, the check value of the payload data is obtained through calculation based on the first transmission control header and a check value of a first service layer, wherein the third packet comprises the third service layer and the check value of the third service layer. However, in the analogous art, Nyugen explicitly teaches and obtaining a check value of a third service layer through calculation based on the third transmission control header and the check value of the payload data, (Fig. 1-5 & Page 5, ¶15 - Once the processor locates the header fields that make up the reduced header part, the processor performs an intermediate arithmetic calculation on the TCP checksum 210 (step 30) … The result is the ones-complement sum of the payload plus portion of the IP packet 100 and, for purposes of this invention, is called the partial one's complement sum); wherein the third service layer comprises the third transmission control header and the payload data; (Fig. 2 & Page 5, ¶13 - FIG. 2 shows the headers encapsulation of a TCP segment as an IP datagram. The source address 110, destination address 120, protocol bits 140, and other fields are part of the IP packet header 102. The IP packet header 102 precedes the TCP segment 104 in the IP packet 100. The TCP segment 104 consists of a TCP header 106 and the data or payload 108. The TCP header 106 includes a source port 160, a destination port 170, a sequence number 180, an acknowledgement number 190, control and offset fields 200, a TCP checksum 210, an urgent pointer 220, options 230, and padding 240 fields); and the third transmission control header is obtained based on a first transmission control header, the check value of the payload data is obtained through calculation based on the first transmission control header and a check value of a first service layer, wherein the third packet comprises the third service layer and the check value of the third service layer (Fig. 1-5 & Abstract - A partial one's complement sum is first computed by subtracting the checksum value of certain packet header fields from the original data packet checksum. One or more of the packet header fields are then modified. An incrementally updated checksum is then computed by adding a checksum value of the modified packet header fields to the previously calculated partial one's complement sum. The updated checksum then replaces the original data packet checksum in the network data packet. Page 4, ¶22 - It then adds this checksum value to the partial one's complement sum to produce the incrementally updated checksum. The incrementally updated checksum then replaces the original checksum in the TCP segment or UDP datagram header before the data packet is forwarded to its next hop). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Re. Claim 13, Grewal teaches a storage device comprising a processor, a memory, and a communication interface, (Fig. 2-3 & ¶0032); wherein the communication interface is configured to receive a first packet, (Fig. 2 & ¶0018 - A computing device 200 is connected to another computing device 240 via a communication path 270. One or more intermediary devices 220, 230 may also be optionally coupled to the communication path 270. ¶0019 - Communication path 270 may be any type of connection that enables communication, such as, for example, a Storage Area Network (SAN)… ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240.); wherein the first packet comprises a first service layer and a check value of the first service layer, and the first service layer comprises payload data; (Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240. ¶0061 - Furthermore, embodiments may be used with any layer of the OSI model, and define a mechanism that transcends any logical or hierarchical divides in a given network stack. Additionally, embodiments may be employed at any OSI layer (e.g., with changes to the scope of data used to calculate the integrity check value and subsequent application of this within the packet). For example, for a Layer 2 solution, the integrity check value may be calculated over the IP, TCP/IP, VLAN and MAC headers, whereas in a Layer 3 solution, the integrity check value may be calculated over the IP and TCP/IP headers. Please also see Fig. 1 & ¶0005 - FIG. 1 illustrates a prior art packet 100 and Fig. 4); the processor is configured to obtain a check value of the payload data through calculation based on the first service layer and/or the check value of the first service layer; (Fig. 6 & ¶0053 - In block 606, the authenticity system 210 determines whether a data integrity operation was performed … In block 608, the authenticity system 210 performs a data integrity operation to calculate an integrity check value over one selectable portion of the packet using a secret key. ¶0054 - In block 610, the authenticity system 210 performs a data transformation operation to unroll the integrity check value from another selectable portion of the packet to retrieve data); the communication interface is further configured to forward a second packet to a gateway device, (Fig. 2 & ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 5 & ¶0047 - In FIG. 5A, control begins at block 500 with the authenticity system 210 determining that a packet is about to be transmitted from a computing device 200, 240. The computing device 200, 240 may be an intermediary through which the packet has passed before reaching a final destination or may be the original sender of the packet. The packet is transmitted from a computing device 200, 240); Yet, Grewal does not explicitly teach wherein the second packet comprises a second service layer, a check value of the second service layer, and the check value of the payload data; and the second service layer is obtained based on the first service layer, and the check value of the second service layer is obtained through calculation based on the second service layer and the check value of the payload data. However, in the analogous art, Nyugen explicitly teaches wherein the second packet comprises a second service layer, a check value of the second service layer, and the check value of the payload data; (Page 4, ¶20 - a packet processor divides an IP packet encapsulating a TCP segment or UDP datagram into two parts: a reduced header part and a payload-plus part. ¶21 - The result is a checksum value for the payload-plus portion of the IP packet. ¶22 - Next, the processor modifies one or more fields of the reduced header part during layer 3 or layer 4 processing and calculates a checksum value on the modified reduced header part); and the second service layer is obtained based on the first service layer, and the check value of the second service layer is obtained through calculation based on the second service layer and the check value of the payload data (Abstract - A partial one's complement sum is first computed by subtracting the checksum value of certain packet header fields from the original data packet checksum. One or more of the packet header fields are then modified. An incrementally updated checksum is then computed by adding a checksum value of the modified packet header fields to the previously calculated partial one's complement sum. The updated checksum then replaces the original data packet checksum in the network data packet. Page 4, ¶22 - It then adds this checksum value to the partial one's complement sum to produce the incrementally updated checksum. The incrementally updated checksum then replaces the original checksum in the TCP segment or UDP datagram header before the data packet is forwarded to its next hop). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Re. Claim 14, Grewal and Nyugen teach Claim 13. Grewal further teaches the first service layer further comprises a first transmission control header, (Fig. 1,4 & ¶0005 - The packet 100 includes a header 110 and a payload 130. The header 110 includes an Ethernet field 112, an optional Virtual Local Area Network (VLAN) field 114, an Internet Protocol (IP) field 116, and a Transmission Control Protocol (TCP)/User Datagram Protocol (UDP) field 118. Please also see ¶0036); Yet, Grewal does not explicitly teach the second service layer comprises a second transmission control header and the payload data, and the second transmission control header is generated based on session information to which the first transmission control header is linked. However, in the analogous art, Nyugen explicitly teaches the second service layer comprises a second transmission control header and the payload data, (Fig. 1-5 & Page 5, ¶13 - FIG. 2 shows the headers encapsulation of a TCP segment as an IP datagram. The source address 110, destination address 120, protocol bits 140, and other fields are part of the IP packet header 102. The IP packet header 102 precedes the TCP segment 104 in the IP packet 100. The TCP segment 104 consists of a TCP header 106 and the data or payload 108); and the second transmission control header is generated based on session information to which the first transmission control header is linked (Page 2, ¶9 - For a network switch to route a data packet properly, the structure of the data packet must conform to the protocol of the network … Once translated, the information is then queued in the Session layer (layer 5) for managed control of the transmission. The Transport layer (layer 4), which receives the information from the Session layer, ensures that the data packet is successfully transferred between the two end nodes. Page 5, ¶14 - Because the processor receives the IP header 102 and TCP header 106 before it receives the payload 108, the processor does not need to buffer the entire IP packet 100 before it begins processing the header fields. More importantly, because the method and system of this invention update the TCP checksum 210 without recalculating it over any portion of the payload 108, the method and system reduce network switch latency by limiting the number of mathematical computations to simple arithmetic computations over the header fields). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Re. Claim 16, Grewal teaches a storage device, comprising: a processor configured to: (Fig. 2-3 & ¶0019, ¶0032); obtain a third transmission control header and a check value of payload data, (Fig. 4, 6 & ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 1 & ¶0005 - The packet 100 includes a header 110 and a payload 130. The header 110 includes an Ethernet field 112, an optional Virtual Local Area Network (VLAN) field 114, an Internet Protocol (IP) field 116, and a Transmission Control Protocol (TCP)/User Datagram Protocol (UDP) field 118 …The payload 130 includes a data field 132 for storing data and an Integrity Check Value (ICV) field 134 for storing the integrity check value. In FIG. 1, a data integrity operation is performed on the information in the VLAN field 414, the IP field 416, the TCP/UDP field 418, and the data field 132, which fields are also referred to as an authenticated portion 240 of the packet. ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240); the first transmission control header and the payload data are located in the first service layer in a first packet received by the storage server, (Fig. 2 & ¶0018 - A computing device 200 is connected to another computing device 240 via a communication path 270. One or more intermediary devices 220, 230 may also be optionally coupled to the communication path 270. ¶0019 - Communication path 270 may be any type of connection that enables communication, such as, for example, a Storage Area Network (SAN)… ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240); and the first packet comprises the first service layer and the check value of the first service layer; (Fig. 6 & ¶0053 - In FIG. 6A, control begins at block 600 with the authenticity system 210 determining that a packet has been received at a computing device 200, 240. ¶0061 - Furthermore, embodiments may be used with any layer of the OSI model, and define a mechanism that transcends any logical or hierarchical divides in a given network stack. Additionally, embodiments may be employed at any OSI layer (e.g., with changes to the scope of data used to calculate the integrity check value and subsequent application of this within the packet). For example, for a Layer 2 solution, the integrity check value may be calculated over the IP, TCP/IP, VLAN and MAC headers, whereas in a Layer 3 solution, the integrity check value may be calculated over the IP and TCP/IP headers. Please also see Fig. 1 & ¶0005 - FIG. 1 illustrates a prior art packet 100 and Fig. 4); and a communication interface configured to forward a third packet to a user device or a gateway device, (Fig. 2 & ¶0030 - The network adapter 328 includes a network protocol for implementing a physical communication layer 332 to send and receive network packets to and from remote data storages over the network 370. Fig. 5 & ¶0047 - In FIG. 5A, control begins at block 500 with the authenticity system 210 determining that a packet is about to be transmitted from a computing device 200, 240. The computing device 200, 240 may be an intermediary through which the packet has passed before reaching a final destination or may be the original sender of the packet. The packet is transmitted from a computing device 200, 240); Yet, Grewal does not explicitly teach and obtain a check value of a third service layer through calculation based on the third transmission control header and the check value of the payload data, wherein the third service layer comprises the third transmission control header and the payload data; and the third transmission control header is obtained based on a first transmission control header, the check value of the payload data is obtained through calculation based on the first transmission control header and a check value of a first service layer, wherein the third packet comprises the third service layer and the check value of the third service layer. However, in the analogous art, Nyugen explicitly teaches and obtain a check value of a third service layer through calculation based on the third transmission control header and the check value of the payload data, (Fig. 1-5 & Page 5, ¶15 - Once the processor locates the header fields that make up the reduced header part, the processor performs an intermediate arithmetic calculation on the TCP checksum 210 (step 30) … The result is the ones-complement sum of the payload plus portion of the IP packet 100 and, for purposes of this invention, is called the partial one's complement sum); wherein the third service layer comprises the third transmission control header and the payload data; (Fig. 2 & Page 5, ¶13 - FIG. 2 shows the headers encapsulation of a TCP segment as an IP datagram. The source address 110, destination address 120, protocol bits 140, and other fields are part of the IP packet header 102. The IP packet header 102 precedes the TCP segment 104 in the IP packet 100. The TCP segment 104 consists of a TCP header 106 and the data or payload 108. The TCP header 106 includes a source port 160, a destination port 170, a sequence number 180, an acknowledgement number 190, control and offset fields 200, a TCP checksum 210, an urgent pointer 220, options 230, and padding 240 fields); and the third transmission control header is obtained based on a first transmission control header, the check value of the payload data is obtained through calculation based on the first transmission control header and a check value of a first service layer, wherein the third packet comprises the third service layer and the check value of the third service layer (Fig. 1-5 & Abstract - A partial one's complement sum is first computed by subtracting the checksum value of certain packet header fields from the original data packet checksum. One or more of the packet header fields are then modified. An incrementally updated checksum is then computed by adding a checksum value of the modified packet header fields to the previously calculated partial one's complement sum. The updated checksum then replaces the original data packet checksum in the network data packet. Page 4, ¶22 - It then adds this checksum value to the partial one's complement sum to produce the incrementally updated checksum. The incrementally updated checksum then replaces the original checksum in the TCP segment or UDP datagram header before the data packet is forwarded to its next hop). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Re. Claim 18, Grewal teaches a chip system comprising a processor, a memory, and an interface circuit; the memory, the interface circuit, and the processor are interconnected through a line; the memory stores instructions; and when the instructions are executed by the processor, the method according to claim 1 is implemented (Fig. 2-3, 5-6 & ¶0021, ¶0062). Re. Claim 19, Grewal teaches a computer-readable storage medium storing a computer program, and when the computer program is executed, the method according to claim 1 is implemented (Fig. 2-3, 5-6 & ¶0062). Re. Claim 20, Grewal teaches a computer program, wherein the computer program comprises instructions, and when the computer program is executed, the method according to claim 1 is implemented (Fig. 2-3, 5-6 & ¶0021, ¶0062). Claims 3-4, 9-10, 15 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Grewal and Nyugen, and further in view of Shcherbyna (US 11,652,571), Shcherbyna hereinafter. Re. Claim 3, Grewal and Nyugen teach Claim 2. Yet, Grewal and Nyugen do not explicitly teach the check value of the second service layer is obtained by performing an exclusive OR operation on a check value of the second transmission control header and the check value of the payload data, and the check value of the second transmission control header is obtained by performing cyclic redundancy check (CRC) on the second transmission control header. However, in the analogous art, Shcherbyna explicitly teaches the check value of the second service layer is obtained by performing an exclusive OR operation on a check value of the second transmission control header and the check value of the payload data, (Fig. 1-3 & Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received. Page 5, ¶20 - Thereafter, in step 220, software application 50 generates an Intermediate CRC value by performing a third cyclic redundancy check (CRC) on a number of zero values corresponding to the size of the payload that was determined in step 16. The third CRC performed in step 220 uses the result obtained in step 218 as an initial value (also known as a CRC register) of the CRC algorithm. Page 5, ¶21 - Thereafter, in step 222, software application 50 may generate updated CRC value 152 (which is the constant time CRC value) by performing an XOR operation on the Intermediate CRC value of step 220 and the CRC value 150, which is the original CRC value contained within data packet 30 upon receipt by computer system 60). and the check value of the second transmission control header is obtained by performing cyclic redundancy check (CRC) on the second transmission control header (Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Shcherbyna to the teaching of Grewal and Nyugen. The motivation would be because the invention relates to data verification performed on exchanged data packets (Page 2, ¶1, Shcherbyna). Re. Claim 4, Grewal and Nyugen teach Claim 2. Yet, Grewal and Nyugen do not explicitly teach the obtaining the check value of the payload data through calculation based on the first service layer and/or the check value of the first service layer comprises: performing, by a processor in the storage server, CRC on the first transmission control header to obtain a check value of the first transmission control header, and performing an exclusive OR operation on the check value of the first transmission control header and the check value of the first service layer to obtain the check value of the payload data. However, in the analogous art, Shcherbyna explicitly teaches the obtaining the check value of the payload data through calculation based on the first service layer and/or the check value of the first service layer comprises: performing, by a processor in the storage server (Fig. 3), CRC on the first transmission control header to obtain a check value of the first transmission control header, (Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received); and performing an exclusive OR operation on the check value of the first transmission control header and the check value of the first service layer to obtain the check value of the payload data (Abstract - A first CRC is performed on an original header of the packet and a second CRC is performed on a modified header of the packet … An XOR operation is performed on the results of the first and second CRC to calculate a third result. Fig. 1-3 & Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received. Page 5, ¶20 - Thereafter, in step 220, software application 50 generates an Intermediate CRC value by performing a third cyclic redundancy check (CRC) on a number of zero values corresponding to the size of the payload that was determined in step 16. The third CRC performed in step 220 uses the result obtained in step 218 as an initial value (also known as a CRC register) of the CRC algorithm. Page 5, ¶21 - Thereafter, in step 222, software application 50 may generate updated CRC value 152 (which is the constant time CRC value) by performing an XOR operation on the Intermediate CRC value of step 220 and the CRC value 150, which is the original CRC value contained within data packet 30 upon receipt by computer system 60). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Shcherbyna to the teachings of Grewal and Nyugen. The motivation would be because the invention relates to data verification performed on exchanged data packets (Page 2, ¶1, Shcherbyna). Re. Claim 9, Grewal and Nyugen teach Claim 8. Yet, Grewal and Nyugen do not explicitly teach the obtaining the check value of the third service layer through calculation based on the third transmission control header and the check value of the payload data comprises: performing, by a processor in the storage server, cyclic redundancy check (CRC) on the third transmission control header to obtain a check value of the third transmission control header, and performing an exclusive OR operation on the check value of the third transmission control header and the check value of the payload data to obtain the check value of the third service layer. However, in the analogous art, Shcherbyna explicitly teaches the obtaining the check value of the third service layer through calculation based on the third transmission control header and the check value of the payload data comprises: performing, by a processor in the storage server (Fig. 3), cyclic redundancy check (CRC) on the third transmission control header to obtain a check value of the third transmission control header, (Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received); and performing an exclusive OR operation on the check value of the third transmission control header and the check value of the payload data to obtain the check value of the third service layer (Abstract - A first CRC is performed on an original header of the packet and a second CRC is performed on a modified header of the packet … An XOR operation is performed on the results of the first and second CRC to calculate a third result. Fig. 1-3 & Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received. Page 5, ¶20 - Thereafter, in step 220, software application 50 generates an Intermediate CRC value by performing a third cyclic redundancy check (CRC) on a number of zero values corresponding to the size of the payload that was determined in step 16. The third CRC performed in step 220 uses the result obtained in step 218 as an initial value (also known as a CRC register) of the CRC algorithm. Page 5, ¶21 - Thereafter, in step 222, software application 50 may generate updated CRC value 152 (which is the constant time CRC value) by performing an XOR operation on the Intermediate CRC value of step 220 and the CRC value 150, which is the original CRC value contained within data packet 30 upon receipt by computer system 60). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Shcherbyna to the teachings of Grewal and Nyugen. The motivation would be because the invention relates to data verification performed on exchanged data packets (Page 2, ¶1, Shcherbyna). Re. Claim 10, Grewal and Nyugen teach Claim 8. Yet, Grewal and Nyugen do not explicitly teach the check value of the payload data is obtained by a processor in the storage server by performing an exclusive OR operation on a check value of the first transmission control header and the check value of the first service layer; and the check value of the first transmission control header is obtained by the processor by performing CRC on the first transmission control header. However, in the analogous art, Shcherbyna explicitly teaches the check value of the payload data is obtained by a processor in the storage server by performing an exclusive OR operation on a check value of the first transmission control header and the check value of the first service layer; (Abstract - A first CRC is performed on an original header of the packet and a second CRC is performed on a modified header of the packet … An XOR operation is performed on the results of the first and second CRC to calculate a third result. Fig. 1-3 & Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received. Page 5, ¶20 - Thereafter, in step 220, software application 50 generates an Intermediate CRC value by performing a third cyclic redundancy check (CRC) on a number of zero values corresponding to the size of the payload that was determined in step 16. The third CRC performed in step 220 uses the result obtained in step 218 as an initial value (also known as a CRC register) of the CRC algorithm. Page 5, ¶21 - Thereafter, in step 222, software application 50 may generate updated CRC value 152 (which is the constant time CRC value) by performing an XOR operation on the Intermediate CRC value of step 220 and the CRC value 150, which is the original CRC value contained within data packet 30 upon receipt by computer system 60). and the check value of the first transmission control header is obtained by the processor by performing CRC on the first transmission control header (Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Shcherbyna to the teaching of Grewal and Nyugen. The motivation would be because the invention relates to data verification performed on exchanged data packets (Page 2, ¶1, Shcherbyna). Re. Claim 15, Grewal and Nyugen teach Claim 14. Yet, Grewal and Nyugen do not explicitly teach the check value of the second service layer is obtained by performing an exclusive OR operation on a check value of the second transmission control header and the check value of the payload data, and the check value of the second transmission control header is obtained by performing CRC on the second transmission control header. However, in the analogous art, Shcherbyna explicitly teaches the check value of the second service layer is obtained by performing an exclusive OR operation on a check value of the second transmission control header and the check value of the payload data, (Fig. 1-3 & Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received. Page 5, ¶20 - Thereafter, in step 220, software application 50 generates an Intermediate CRC value by performing a third cyclic redundancy check (CRC) on a number of zero values corresponding to the size of the payload that was determined in step 16. The third CRC performed in step 220 uses the result obtained in step 218 as an initial value (also known as a CRC register) of the CRC algorithm. Page 5, ¶21 - Thereafter, in step 222, software application 50 may generate updated CRC value 152 (which is the constant time CRC value) by performing an XOR operation on the Intermediate CRC value of step 220 and the CRC value 150, which is the original CRC value contained within data packet 30 upon receipt by computer system 60). and the check value of the second transmission control header is obtained by performing CRC on the second transmission control header (Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Shcherbyna to the teaching of Grewal and Nyugen. The motivation would be because the invention relates to data verification performed on exchanged data packets (Page 2, ¶1, Shcherbyna). Re. Claim 17, Grewal and Nyugen teach Claim 16. Yet, Grewal and Nyugen do not explicitly teach when obtaining the check value of the third service layer through calculation based on the third transmission control header and the check value of the payload data, the processor is configured to: perform cyclic redundancy check (CRC) on the third transmission control header to obtain a check value of the third transmission control header, and perform an exclusive OR operationon the check value of the third transmission control header and the check value of the payload data to obtain the check value of the third service layer. However, in the analogous art, Shcherbyna explicitly teaches when obtaining the check value of the third service layer through calculation based on the third transmission control header and the check value of the payload data, the processor is configured to: perform cyclic redundancy check (CRC) on the third transmission control header to obtain a check value of the third transmission control header, (Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received); and perform an exclusive OR operation on the check value of the third transmission control header and the check value of the payload data to obtain the check value of the third service layer (Abstract - A first CRC is performed on an original header of the packet and a second CRC is performed on a modified header of the packet … An XOR operation is performed on the results of the first and second CRC to calculate a third result. Fig. 1-3 & Page 4, ¶15 - In an embodiment, initially in step 212 in FIG. 2, a first cyclic redundancy check (CRC) is performed by software application 50 on a byte stream of header 160 of packet 30 as received. Page 5, ¶20 - Thereafter, in step 220, software application 50 generates an Intermediate CRC value by performing a third cyclic redundancy check (CRC) on a number of zero values corresponding to the size of the payload that was determined in step 16. The third CRC performed in step 220 uses the result obtained in step 218 as an initial value (also known as a CRC register) of the CRC algorithm. Page 5, ¶21 - Thereafter, in step 222, software application 50 may generate updated CRC value 152 (which is the constant time CRC value) by performing an XOR operation on the Intermediate CRC value of step 220 and the CRC value 150, which is the original CRC value contained within data packet 30 upon receipt by computer system 60). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Shcherbyna to the teachings of Grewal and Nyugen. The motivation would be because the invention relates to data verification performed on exchanged data packets (Page 2, ¶1, Shcherbyna). Claims 5 and 11 are rejected under 35 U.S.C. 103 as being unpatentable over Grewal and Nyugen and Shcherbyna, and further in view of Strong et al. (US 2015/0199298), Strong hereinafter. Re. Claim 5, Grewal and Nyugen and Shcherbyna teach Claim 4. Yet, Grewal and Nyugen and Shcherbyna do not explicitly teach writing, by the storage server, the payload data and the check value of the payload data into a memory in the storage server; and after the storage server receives a data read request, reading the payload data and the check value of the payload data from the memory, and checking the payload data based on the check value of the payload data. However, in the analogous art, Strong explicitly teaches writing, by the storage server, the payload data and the check value of the payload data into a memory in the storage server; and after the storage server receives a data read request, reading the payload data and the check value of the payload data from the memory, and checking the payload data based on the check value of the payload data (Fig. 4 & ¶0035 - The process 400 begins with receiving a write request through a network interface of a dual interface device in step 402. ¶0036 - Then in step 404, a controller (e.g., a processor or other control device) of the dual interface device can parse the write request to payload data and control data … The payload data is stored in a local memory of the dual interface device in step 406 and the control data is sent to a host processor in step 408. ¶0037 - In step 410, the host processor processes the write request referencing a storage system data structure(s) (e.g., file object namespace, storage object metadata, or data block metadata) available to the host processor (e.g., stored in the host memory or on a persistent storage directly available to the host processor) … In response to the response instruction, the controller of the dual interface device retrieves the payload data from the local memory to send through the storage interface for writing to the one or more storage devices according to the response instruction in step 414). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Strong to the teachings of Grewal and Nyugen and Shcherbyna. The motivation would be because the invention pertains to data storage systems, and more particularly, to network and storage interfaces of a storage system (¶0001, Strong). Re. Claim 11, Grewal and Nyugen and Shcherbyna teach Claim 10. Yet, Grewal and Nyugen and Shcherbyna do not explicitly teach writing, by the storage server, the payload data and the check value of the payload data into a memory in the storage server; and after the storage server receives a data read request, reading the payload data and the check value of the payload data from the memory, and checking the payload data based on the check value of the payload data. However, in the analogous art, Strong explicitly teaches writing, by the storage server, the payload data and the check value of the payload data into a memory in the storage server; and after the storage server receives a data read request, reading the payload data and the check value of the payload data from the memory, and checking the payload data based on the check value of the payload data (Fig. 4 & ¶0035 - The process 400 begins with receiving a write request through a network interface of a dual interface device in step 402. ¶0036 - Then in step 404, a controller (e.g., a processor or other control device) of the dual interface device can parse the write request to payload data and control data … The payload data is stored in a local memory of the dual interface device in step 406 and the control data is sent to a host processor in step 408. ¶0037 - In step 410, the host processor processes the write request referencing a storage system data structure(s) (e.g., file object namespace, storage object metadata, or data block metadata) available to the host processor (e.g., stored in the host memory or on a persistent storage directly available to the host processor) … In response to the response instruction, the controller of the dual interface device retrieves the payload data from the local memory to send through the storage interface for writing to the one or more storage devices according to the response instruction in step 414). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Strong to the teachings of Grewal and Nyugen and Shcherbyna. The motivation would be because the invention pertains to data storage systems, and more particularly, to network and storage interfaces of a storage system (¶0001, Strong). Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Grewal and Nyugen, and further in view of Das et al. (US 2013/0166960), Das hereinafter. Re. Claim 6, Grewal and Nyugen teach Claim 2. Yet, Grewal and Nyugen do not explicitly teach the second transmission control header comprises a first identifier; and the obtaining the check value of the payload data through calculation based on the first service layer and/or the check value of the first service layer comprises: after identifying the first identifier, performing, by a network interface card in the storage server, CRC on the payload data to obtain the check value of the payload data. However, in the analogous art, Das explicitly teaches the second transmission control header comprises a first identifier; (Fig. 1, 3, 6-7 & ¶0053 - The payload header 340 may, as a minimum, include a content identifier 342 that identifies which of the plurality of random data patterns was used to fill the subsequent payload content 350); and the obtaining the check value of the payload data through calculation based on the first service layer and/or the check value of the first service layer comprises: after identifying the first identifier, performing, by a network interface card in the storage server (Fig. 1 & ¶0030, ¶0033), CRC on the payload data to obtain the check value of the payload data (¶0054 - The payload header 340 may include other data 344 in addition to the content ID 342 … The payload header 340 may also include a cyclic redundancy check value or checksum 348 calculated over the other fields of the payload header. Inclusion of the CRC 348 in each transmitted packet may allow a destination port unit that receives the packet to verify the integrity of the payload header. Fig. 6 & ¶0067 - At 632, a content identifier may be selected. The content identifier may be selected by generating a random value, by incrementing or otherwise modifying a previous value, or by extracting a value from some other information such as a real time clock or portions of the packet header. The content ID may be selected in some other manner. ¶0068 - At 634, the block header may be compiled. The block header may include the content ID from 632, a block length, and optional other information such as a timestamp. At 636, a cyclic redundancy check value may be calculated over the information from 634. Fig. 7 & ¶0076 - When a determination is made at 735 that the CRC was correct, the expected content of the block payload may be obtained at 740). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Das to the teachings of Grewal and Nyugen. The motivation would be because the invention relates to a process for generating a packet and checking the data integrity of a received packet (¶0023-¶0024, Das). Claims 7 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Grewal and Nyugen, and further in view of Chang et al. (US 2023/0291797), Chang hereinafter. Re. Claim 7, Grewal and Nyugen teach Claim 2. Yet, Grewal does not explicitly teach both the first transmission control header and the second transmission control header comprise a network layer header and a transport layer header; and a network layer protocol comprises at least one of an internet protocol version IPv4, an IPv6, an address resolution protocol (ARP), or a multiprotocol label switching (MPLS) protocol, a transport layer protocol comprises at least one of a transmission control protocol (TCP), a user datagram protocol (UDP), a generic routing encapsulation (GRE) protocol, a datagram congestion control protocol (DCCP), an InfiniBand (IB) protocol, or a stream control transmission protocol (SCTP), and the payload data is InfiniBand payload (IB payload) data. However, in the analogous art, Nyugen explicitly teaches both the first transmission control header and the second transmission control header comprise a network layer header and a transport layer header; (Fig. 1-5 & Page 3, ¶12 - A network switch configured for layer 3 processing (usually referred to as a router) processes information added by the Network Layer. In an Internet Protocol (IP) based network, the layer 3 switch uses information from the IP header to calculate routes based upon logical addresses, such as IP addresses, rather than physical addresses. Page 4, ¶20 - In accordance with an embodiment of the invention, a packet processor divides an IP packet encapsulating a TCP segment or UDP datagram into two parts: a reduced header part and a payload-plus part. The reduced header part contains the header fields normally modified during layer 4 processing); and a network layer protocol comprises at least one of an internet protocol version IPv4, an IPv6, an address resolution protocol (ARP), or a multiprotocol label switching (MPLS) protocol, (Fig. 4 & Page 7, ¶22 - FIG. 4 illustrates an IPv4 header 400. The IPv4 header 400 includes, among other fields, protocol bits 410, an IPv4 header checksum 420, an IP source address 430, and an IP destination address 440. The IPv4 header 400 normally prefixes the TCP segment 104 of FIG. 2 or the UDP datagram 304 of FIG. 3 in a network data packet when a sending node utilizes version 4 of the Internet Protocol. Fig. 5 & Page 7, ¶23 - FIG. 5 illustrates an IPv6 header 500. Like the IPv4 header 400 of FIG. 4 and the IP header 102 of FIG. 2, it contains protocol bits 520, a source address 540, and a destination address 550 … The method disclosed herein treats data packets containing version 6 headers no differently than the IP data packets 100, 300, 400 described above…); a transport layer protocol comprises at least one of a transmission control protocol (TCP), a user datagram protocol (UDP), a generic routing encapsulation (GRE) protocol, a datagram congestion control protocol (DCCP), an InfiniBand (IB) protocol, or a stream control transmission protocol (SCTP), (Page 3, ¶13 - Layer 4 network switches process information supplied by the Transport Layer. In the Internet environment, the Transport Layer includes Transmission Control Protocol (TCP) segments and/or Universal Data Protocol (UDP) datagrams. A layer 4 network switch uses information, such as port numbers, protocol bits, and IP source and destination addresses, to move network traffic across the Internet); Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Yet, Grewal and Nyugen do not explicitly teach and the payload data is InfiniBand payload (IB payload) data. However, in the analogous art, Chang explicitly teaches and the payload data is InfiniBand payload (IB payload) data (Fig. 5 & ¶0069 - As illustrated in FIG. 5, the RoCEv2 packet 500 includes an Infiniband payload 510, an Extended Transport Header (ETH) 520, a Base Transport Header (BTH) 530, a UDP Header 540, an IP Header 550, an Ethernet Header 560, and a CRC 570). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Chang to the teachings of Grewal and Nyugen. The motivation would be because the invention relates to communication systems and, more particularly but not exclusively, to communication between applications in communication systems (¶0001, Chang). Re. Claim 12, Grewal and Nyugen teach Claim 8. Yet, Grewal does not explicitly teach the third transmission control header is generated based on session information to which the first transmission control header is linked, and both the first transmission control header and the third transmission control header comprise a network layer header and a transport layer header; and a network layer protocol comprises at least one of an internet protocol version IPv4, an IPv6, an address resolution protocol (ARP), or a multiprotocol label switching (MPLS) protocol, a transport layer protocol comprises at least one of a transmission control protocol (TCP), a user datagram protocol (UDP), a generic routing encapsulation (GRE) protocol, a datagram congestion control protocol (DCCP), an InfiniBand (IB) protocol, or a stream control transmission protocol (SCTP), and the payload data is InfiniBand payload (IB payload) data. However, in the analogous art, Nyugen explicitly teaches the third transmission control header is generated based on session information to which the first transmission control header is linked, (Page 2, ¶9 - For a network switch to route a data packet properly, the structure of the data packet must conform to the protocol of the network … Once translated, the information is then queued in the Session layer (layer 5) for managed control of the transmission. The Transport layer (layer 4), which receives the information from the Session layer, ensures that the data packet is successfully transferred between the two end nodes. Page 5, ¶14 - Because the processor receives the IP header 102 and TCP header 106 before it receives the payload 108, the processor does not need to buffer the entire IP packet 100 before it begins processing the header fields. More importantly, because the method and system of this invention update the TCP checksum 210 without recalculating it over any portion of the payload 108, the method and system reduce network switch latency by limiting the number of mathematical computations to simple arithmetic computations over the header fields). and both the first transmission control header and the third transmission control header comprise a network layer header and a transport layer header; (Fig. 1-5 & Page 3, ¶12 - A network switch configured for layer 3 processing (usually referred to as a router) processes information added by the Network Layer. In an Internet Protocol (IP) based network, the layer 3 switch uses information from the IP header to calculate routes based upon logical addresses, such as IP addresses, rather than physical addresses. Page 4, ¶20 - In accordance with an embodiment of the invention, a packet processor divides an IP packet encapsulating a TCP segment or UDP datagram into two parts: a reduced header part and a payload-plus part. The reduced header part contains the header fields normally modified during layer 4 processing); and a network layer protocol comprises at least one of an internet protocol version IPv4, an IPv6, an address resolution protocol (ARP), or a multiprotocol label switching (MPLS) protocol, (Fig. 4 & Page 7, ¶22 - FIG. 4 illustrates an IPv4 header 400. The IPv4 header 400 includes, among other fields, protocol bits 410, an IPv4 header checksum 420, an IP source address 430, and an IP destination address 440. The IPv4 header 400 normally prefixes the TCP segment 104 of FIG. 2 or the UDP datagram 304 of FIG. 3 in a network data packet when a sending node utilizes version 4 of the Internet Protocol. Fig. 5 & Page 7, ¶23 - FIG. 5 illustrates an IPv6 header 500. Like the IPv4 header 400 of FIG. 4 and the IP header 102 of FIG. 2, it contains protocol bits 520, a source address 540, and a destination address 550 … The method disclosed herein treats data packets containing version 6 headers no differently than the IP data packets 100, 300, 400 described above…); a transport layer protocol comprises at least one of a transmission control protocol (TCP), a user datagram protocol (UDP), a generic routing encapsulation (GRE) protocol, a datagram congestion control protocol (DCCP), an InfiniBand (IB) protocol, or a stream control transmission protocol (SCTP), (Page 3, ¶13 - Layer 4 network switches process information supplied by the Transport Layer. In the Internet environment, the Transport Layer includes Transmission Control Protocol (TCP) segments and/or Universal Data Protocol (UDP) datagrams. A layer 4 network switch uses information, such as port numbers, protocol bits, and IP source and destination addresses, to move network traffic across the Internet); Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Nyugen to the teaching of Grewal. The motivation would be because the invention relates to computer networks and, specifically, to an improved technique for incrementally updating a one's complement checksum in a network data packet (Page 2, ¶5, Nyugen). Yet, Grewal and Nyugen do not explicitly teach and the payload data is InfiniBand payload (IB payload) data. However, in the analogous art, Chang explicitly teaches and the payload data is InfiniBand payload (IB payload) data (Fig. 5 & ¶0069 - As illustrated in FIG. 5, the RoCEv2 packet 500 includes an Infiniband payload 510, an Extended Transport Header (ETH) 520, a Base Transport Header (BTH) 530, a UDP Header 540, an IP Header 550, an Ethernet Header 560, and a CRC 570). Therefore, it would have been obvious to one of the ordinary skilled in the art before the effective filing date of the claimed invention to add the teaching of Chang to the teachings of Grewal and Nyugen. The motivation would be because the invention relates to communication systems and, more particularly but not exclusively, to communication between applications in communication systems (¶0001, Chang). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Entelis et al. (US 2022/0046114) – Please see Abstract and Fig. 1-17. Singh et al. (US 10,735,282) – Please see Abstract and Fig. 1-8. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALYSSA WILLIAMS whose telephone number is (571)270-7673. The examiner can normally be reached Mon-Fri 8-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, Ayman Abaza can be reached on (571) 270-0422. 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. /ALYSSA WILLIAMS/Examiner, Art Unit 2465B /CHRISTOPHER T WYLLIE/Examiner, Art Unit 2465
Read full office action

Prosecution Timeline

Sep 13, 2024
Application Filed
Jul 13, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12696334
ELECTRONIC DEVICE FOR SUPPORTING DUAL SIM AND CELLULAR COMMUNICATION CONVERTING METHOD OF ELECTRONIC DEVICE
3y 5m to grant Granted Jul 28, 2026
Patent 12666400
RESOURCE ALLOCATION IN CELLULAR SYSTEMS
3y 6m to grant Granted Jun 23, 2026
Patent 12665710
TRANSMISSION CONFIGURATION INDICATOR (TCI) CONFIGURATION OF A COMPONENT CARRIER (CC)
3y 6m to grant Granted Jun 23, 2026
Patent 12652087
UPLINK FREQUENCY SELECTIVE PRECODER
2y 11m to grant Granted Jun 09, 2026
Patent 12556949
METHOD AND DEVICE FOR COMMUNICATION USING FRONTHAUL INTERFACE
2y 9m to grant Granted Feb 17, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
52%
Grant Probability
72%
With Interview (+20.0%)
3y 0m (~1y 1m remaining)
Median Time to Grant
Low
PTA Risk
Based on 21 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month