DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant’s arguments, with respect to the rejection(s) of independent claims claim(s) under the combination of prior arts have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Vangala (US pg. no. 20240195531).
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
The term “more types” in claim 9 is a relative term which renders the claim indefinite. The term “more types” is not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. The limits and bounds of the relative term is not ascertained hence rendering the claim indefinite.
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, 3-4, and 7-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Vangala (US pg. no. 20240195531), further in view of Makineni (US pg. no. 20110090920).
Vangala discloses a network interface device comprising at least one processor and at least one memory, the at least one memory includes (fig. 4 discloses UE 110 that corresponds to the network interface device comprising a processor and memory):
a first table having a plurality of entries respectively corresponding to a plurality of TCP connections (fig. 4 discloses queue 410 (table) storing generated ACKs (entries) between time 420 and 425; fig. 6 discloses queue 660 comprising plurality entries for corresponding TCP connections), and , when executed by the at least one processor (fig. 4, and fig. 6 discloses UE comprising processor), configured to, in response to at least two TCP events occurring sequentially for a first TCP connection among the plurality of TCP connections from a first time point (fig. 4, timer start 420; fig. 6 timer) to a second time point (fig. 4, timer end 425), sequentially accumulate the at least two TCP events by updating a first entry of the plurality of entries, the first entry corresponding to the first TCP connection (fig. 4, fig. 5, and fig. 6 accumulating ACK events to different connections between time gaps; [0044] The TCP engine 235 generates four cumulative ACKs 401-404 (sequentially generated where each generation corresponds to event) which are then placed in the queue 410 (first table). RLC CM may utilize a LIFO approach where a most recently generated cumulative ACK is transmitted and other cumulative ACKs are discarded. To provide an example, the UE 110 (e.g., RLC CM engine 240) may execute a timer. When the timer expires, the UE 110 may be triggered to transmit the most recently generated ACK stored in the queue 410 (e.g., ACK 404) over the RLC CM bearer 405 and discard the other cumulative ACKs stored in the queue 410 (e.g., ACKs 401-403; fig. 6 discloses ACK accumulated for each TCP flow 610-630 (TCP connection) in queue 660 where timer is initiated for accumulating ACKs until the end of the timer window as indicated in fig. 4 to send one ACK after expiry of the timer);
a second table, when executed by the at least one processor, configured to store a transmission control block (TCB) for the plurality of TCP connections (It is known in the art that each TCP is connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc. That data structure corresponds to the second table); and
a TCP processing logic, when executed by the at least one processor, configured to, after the second time point (fig. 4, timer end 425) has elapsed, perform a single TCP operation (fig. 4, send ACK 404) based on the updated first entry of the first table and the TCB stored in the second table to generate a TCP processing result for updating the TCB in the second table ([0044] The TCP engine 235 generates four cumulative ACKs 401-404 (sequentially generated where each generation corresponds to event) which are then placed in the queue 410 (first table). RLC CM may utilize a LIFO approach where a most recently generated cumulative ACK is transmitted and other cumulative ACKs are discarded. To provide an example, the UE 110 (e.g., RLC CM engine 240) may execute a timer. When the timer expires, the UE 110 may be triggered to transmit the most recently generated ACK stored in the queue 410 (e.g., ACK 404) over the RLC CM bearer 405 and discard the other cumulative ACKs stored in the queue 410 (e.g., ACKs 401-403; fig. 6 discloses ACK accumulated for each TCP flow 610-630 (TCP connection) in queue 660 where timer is initiated for accumulating ACKs until the end of the timer window as indicated in fig. 4 to send one ACK (operation) after expiry of the timer. It is known in the art that each TCP is connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table and used by the TCP stack to perform TCP transmission operation);
wherein the TCB comprises a plurality of TCP state parameters for the plurality of TCP connections (It is known in the art that each TCP is connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table), and the single TCP operation comprises at least one of determining data to be transmitted(fig. 4, determining ACK data to be transmitted); [0044] The TCP engine 235 generates four cumulative ACKs 401-404 (sequentially generated where each generation corresponds to event) which are then placed in the queue 410 (first table). RLC CM may utilize a LIFO approach where a most recently generated cumulative ACK is transmitted and other cumulative ACKs are discarded. To provide an example, the UE 110 (e.g., RLC CM engine 240) may execute a timer. When the timer expires, the UE 110 may be triggered to transmit the most recently generated ACK stored in the queue 410 (e.g., ACK 404) over the RLC CM bearer 405 and discard the other cumulative ACKs stored in the queue 410 (e.g., ACKs 401-403; fig. 6 discloses ACK accumulated for each TCP flow 610-630 (TCP connection) in queue 660 where timer is initiated for accumulating ACKs until the end of the timer window as indicated in fig. 4 to send one ACK (operation) after expiry of the timer).
But, Vangala does not explicitly disclose: the single TCP operation comprises at least one of, handling an acknowledgment (ACK) for received data.
However, in the same field of endeavor, Makineni discloses the single TCP operation comprises at least one of handling an acknowledgment (ACK) for received data ([0014] the controller 100 may alter the TCP header's ACK sequence number to coalesce (handling) incoming ACK messages).
Makineni further discloses a TCP processing logic configured to perform a single TCP operation for the at least two TCP events after the second time point has elapsed ([0015] Eventually (e.g., after a coalescing window ends), as shown in FIG. 1C, the controller 100 (TCP processing engine) may write the headers 110a of the coalesced packet and the flow's descriptor to memory 102. The controller 100 may then signal an interrupt ( single TCP operation)to initiate receive processing (e.g., network and/or transport layer processing) of the coalesced packet 110. For example, TCP receive processing can include reassembly, reordering, generation of ACKs, navigating the TCP state machine for a flow that corresponds to TCP operation), and so forth; the process combines 256 the payloads of packets in the same flow and prepares 258 a single TCP segment header and a single IP header for the combined payloads. An interrupt may then be generated (TCP operation) to initiate processing of the coalesced packet by a TCP/IP stack; [0009] The system also includes a network interface controller (NIC) (a.k.a. network adapter) 100 that receives packets from a network. Instead of writing each received packet into memory 102 for subsequent processing, the controller 100 features logic 112 that coalesces packets. This logic 112 combines the TCP payloads of different packets belonging to the same flow and prepares a single TCP header and a single IP header for the combined TCP payloads. The combination of the IP header, TCP header, and combined TCP payloads forms a single coalesced packet. The protocol stack can, thus, perform receiving processing for fewer but larger packets, reducing the per packet processing penalty incurred; ([0016] discloses after the coalesce window expires, the controller 100 prepares headers, writes the descriptors to memory, signals an interrupt at the end of the interrupt moderation time, and clears data (data corresponds to valid bit) used to coalesce packets during the preceding window. The coalescing process then begins anew).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of Vangala with Makineni. The modification would allow a network interface controller (NIC) (a.k.a. network adapter) that receives packets from a network. Instead of writing each received packet into memory for subsequent processing, the controller coalesces packets by combining the TCP payloads of different packets belonging to the same flow and prepares a single TCP header and a single IP header for the combined TCP payloads. The combination of the IP header, TCP header, and combined TCP payloads forms a single coalesced packet. The protocol stack can, thus, perform receiving processing for fewer but larger packets, reducing the per packet processing penalty incurred (Makineni[0009]).
Regarding claim 3. The combination discloses network interface device of claim 1.
Makineni discloses, wherein the first entry comprises a valid bit field configured to store a valid bit indicating whether the corresponding TCP event among the at least two TCP events has been updated ([0016] discloses after the coalesce window expires, the controller 100 prepares headers, writes the descriptors to memory, signals an interrupt at the end of the interrupt moderation time, and clears data (data corresponds to valid bit) used to coalesce packets during the preceding window. The coalescing process then begins anew. The information entry before expiration of window that indicates that updated information corresponds to valid bit entry; [0020] The table 212 may also tally the number of packets being coalesced for the flow, the number of ACK segments coalesced, and may store an aging counter (valid bit) to support "descriptor aging" to close idle descriptors before the end of a coalesce window).
Regarding claim 4. The combination discloses network interface device of claim 3.
Makineni discloses, wherein the valid bit is reset when an event information for the at least two TCP events is delivered to the TCP processing logic [(0016] after the coalesce window expires (an event information for the at least two TCP events is delivered), the controller 100 prepares headers, writes the descriptors to memory, signals an interrupt at the end of the interrupt moderation time, and clears data (reset) used to coalesce packets during the preceding window. The coalescing process then begins anew. The entry before expiration of window corresponds to first entry. The cleared information that indicates the window expired and a new one started corresponds to reset valid bit; [0020] The table 212 may also tally the number of packets being coalesced for the flow, the number of ACK segments coalesced, and may store an aging counter (valid bit) to support "descriptor aging" to close idle descriptors before the end of a coalesce window).
Regarding claim 7. The combination discloses network interface device of claim 1.
Vangala discloses, wherein the at least one memory comprises: a first memory including the first table and the second table accessed by input/output ports that are different from each other (fig. 6 discloses queue 660 comprises storage of ACKs from each corresponding flow respectively (first table) and It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table).
Regarding claim 8. The combination discloses network interface device of claim 1.
Vangala discloses, wherein the at least one memory comprises: a first memory including the first table; and a second memory including the second table ((fig. 6 discloses queue 660 comprises storage of ACKs from each corresponding flow respectively (first table) and It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table).
Regarding claim 9. The combination discloses network interface device of claim 1.
Vangala discloses, wherein the second table comprises more types of TCP parameter fields than the first table (fig. 6 discloses queue 660 comprises storage of ACKs from each corresponding flow respectively (first table) and It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, that data structure corresponds to the second table. The TCB parameters can be more in types).
Regarding claim 10. The combination discloses network interface device of claim 1.
Vangala discloses further comprising: a TCP control manager configured to schedule an event information of the first table and a control information of the second table and deliver the event information and the control information to the TCP processing logic (fig. 6 discloses queue 660 comprises storage of ACKs from each corresponding flow respectively (first table) and It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table. When TCP connection is processed, both information from first table and second table are used to enable connection oriented communication).
Wherein the event information and the control information are each required by the TCP processing logic for processing the plurality of TCP connections, and the control information corresponds to the TCP processing result stored in the second table (fig. 6 discloses queue 660 comprises storage of ACKs from each corresponding flow respectively (first table) and It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table. When TCP connection is processed, both information from first table and second table are used to enable connection oriented communication).
Regarding claim 11. The combination discloses network interface device of claim 10.
Vangala discloses, wherein the control information is delivered to the TCP control manager in the form of the transmission control block (fig. 6 discloses queue 660 comprises storage of ACKs from each corresponding flow respectively (first table) and It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table. When TCP connection is processed, both information from first table and second table are used to enable connection oriented communication such as: TCP).
Regarding claim 12. The combination discloses network interface device of claim 1.
Vangala discloses wherein the TCP processing logic, when executed by the at least one processor, is configured to perform TCP operations for a TCP event of the first TCP connection (fog. 6, flow ID 1) at a third time point and a TCP event of a second TCP connection input (flow ID 2) at a fourth time point simultaneously (fig. 6 discloses ACKs of different flow IDs are processed in the corresponding time window simultaneously for corresponding flow ID where corresponding time window for corresponding connection corresponds to time point).
Regarding claim 13. Vangala discloses a server device comprising the network interface device([0027] discloses the network services backbone 160 may be generally described as a set of components (e.g., servers) that implement a suite of services that may be used to extend the functionalities of the UE 110 in communication with the various networks).
All other limitations of claim 13 are similar with the limitations of claim 1 rejected above.
Regarding claim 14. Vangala discloses an operation method of a network interface device, the method comprising:
Sequentially accumulating a first TCP event through an Nth TCP event, wherein N is an integer greater than or equal to 2, sequentially received from a first time point to a second time point for a first TCP connection by updating a first entry of a first table of the network interface device by an event handler of the network interface device (fig. 4 discloses ACK is received/generated for TCP connection from start time 410 to end time 420), the first table having a plurality of entries respectively corresponding to a plurality of TCP connections (fig. 6 discloses queue comprising accumulation of ACKs for each respective flow (connection) between start time and end time window)and
Vangala discloses performing a single TCP operation (fig. 4 sending a single packet comprising the ACK 4040 and header 415) based on the updated first entry of the first table (fig. 4 queue 410; fig. 6, queue 610) and a transmission control block (TCB) stored in a second table of the network interface device to generate a TCP processing result for updating the TCB in the second table (It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table, after the second time point (fig. 4 timer end 425) by a TCP processing logic of the network interface device (fig. 4; [0044] discloses The TCP engine 235 generates four cumulative ACKs 401-404 which are then placed in the queue 410. RLC CM may utilize a LIFO approach where a most recently generated cumulative ACK is transmitted and other cumulative ACKs are discarded. To provide an example, the UE 110 (e.g., RLC CM engine 240) may execute a timer. When the timer expires, the UE 110 may be triggered to transmit the most recently generated ACK stored in the queue 410 (e.g., ACK 404) over the RLC CM bearer 405 and discard the other cumulative ACKs stored in the queue 410 (e.g., ACKs 401-403). The operation of this timer is illustrated in the example 400 by the dotted lines timer start 420 and timer end 425; fig. 6 discloses queue 660 comprises storage of ACKs from each corresponding flow respectively (first table) and It is known in the art that each TCP connection stores TCB for connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table. When TCP connection is processed, both information from first table and second table are used to enable connection oriented communication such as: TCP ).
But, Vangala does not explicitly disclose: the single TCP operation comprises at least one of, handling an acknowledgment (ACK) for received data.
However, in the same field of endeavor, wherein the TCB comprises a plurality of TCP state parameters for the plurality of TCP connections (It is known in the art that each TCP is connection oriented communication with sequenced communication of packets. All TCP connection is associated with a data structure such as TCB (transmission control block) where the TCP stack uses it to keep track of the state and details of the connection such as: sequence numbers, ACK numbers, window sizes retransmission timers, connection state etc, That data structure corresponds to the second table), and the single TCP operation comprises at least one of determining data to be transmitted(fig. 4, determining ACK data to be transmitted); [0044] The TCP engine 235 generates four cumulative ACKs 401-404 (sequentially generated where each generation corresponds to event) which are then placed in the queue 410 (first table). RLC CM may utilize a LIFO approach where a most recently generated cumulative ACK is transmitted and other cumulative ACKs are discarded. To provide an example, the UE 110 (e.g., RLC CM engine 240) may execute a timer. When the timer expires, the UE 110 may be triggered to transmit the most recently generated ACK stored in the queue 410 (e.g., ACK 404) over the RLC CM bearer 405 and discard the other cumulative ACKs stored in the queue 410 (e.g., ACKs 401-403; fig. 6 discloses ACK accumulated for each TCP flow 610-630 (TCP connection) in queue 660 where timer is initiated for accumulating ACKs until the end of the timer window as indicated in fig. 4 to send one ACK (operation) after expiry of the timer).
But, Vangala does not explicitly disclose: the single TCP operation comprises at least one of, handling an acknowledgment (ACK) for received data.
However, in the same field of endeavor, Makineni discloses the single TCP operation comprises at least one of handling an acknowledgment (ACK) for received data ([0014] the controller 100 may alter the TCP header's ACK sequence number to coalesce (handling) incoming ACK messages).
Makineni further discloses a TCP processing logic configured to perform a single TCP operation for the at least two TCP events after the second time point has elapsed ([0015] Eventually (e.g., after a coalescing window ends), as shown in FIG. 1C, the controller 100 (TCP processing engine) may write the headers 110a of the coalesced packet and the flow's descriptor to memory 102. The controller 100 may then signal an interrupt ( single TCP operation)to initiate receive processing (e.g., network and/or transport layer processing) of the coalesced packet 110. For example, TCP receive processing can include reassembly, reordering, generation of ACKs, navigating the TCP state machine for a flow that corresponds to TCP operation), and so forth; the process combines 256 the payloads of packets in the same flow and prepares 258 a single TCP segment header and a single IP header for the combined payloads. An interrupt may then be generated (TCP operation) to initiate processing of the coalesced packet by a TCP/IP stack; [0009] The system also includes a network interface controller (NIC) (a.k.a. network adapter) 100 that receives packets from a network. Instead of writing each received packet into memory 102 for subsequent processing, the controller 100 features logic 112 that coalesces packets. This logic 112 combines the TCP payloads of different packets belonging to the same flow and prepares a single TCP header and a single IP header for the combined TCP payloads. The combination of the IP header, TCP header, and combined TCP payloads forms a single coalesced packet. The protocol stack can, thus, perform receiving processing for fewer but larger packets, reducing the per packet processing penalty incurred; ([0016] discloses after the coalesce window expires, the controller 100 prepares headers, writes the descriptors to memory, signals an interrupt at the end of the interrupt moderation time, and clears data (data corresponds to valid bit) used to coalesce packets during the preceding window. The coalescing process then begins anew).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of Vangala with Makineni. The modification would allow a network interface controller (NIC) (a.k.a. network adapter) that receives packets from a network. Instead of writing each received packet into memory for subsequent processing, the controller coalesces packets by combining the TCP payloads of different packets belonging to the same flow and prepares a single TCP header and a single IP header for the combined TCP payloads. The combination of the IP header, TCP header, and combined TCP payloads forms a single coalesced packet. The protocol stack can, thus, perform receiving processing for fewer but larger packets, reducing the per packet processing penalty incurred (Makineni[0009]).
Regarding claim 15. The combination discloses method of claim 14.
Vangala discloses , further comprising: omitting a TCP operation for a TCP event received prior to the Nth TCP event among any of the first TCP event through the Nth TCP event by the TCP processing logic ([0044] The TCP engine 235 generates four cumulative ACKs 401-404 which are then placed in the queue 410. RLC CM may utilize a LIFO approach where a most recently generated cumulative ACK is transmitted and other cumulative ACKs are discarded (omitting)).
Regarding claim 16. The combination discloses method of claim 14.
Vangala discloses, further comprising: delivering the result of the single TCP operation to a first entry of the second table of by the TCP processing logic (fig. 4 discloses when the time period expires, the last ACK event is sent to the remote communication. Selecting the last AK event corresponds to delivering the result for transmission).
Regarding claim 17. The combination discloses method of claim 14.
Vanagala discloses, wherein, the sequentially accumulating the first through the Nth TCP events to the first entry comprises, setting a valid bit indicating whether the corresponding TCP event among the first through the Nth TCP events has been updated on a valid bit field of the first entry by the event handler (fig. 4, discloses storing a sequence ACK events from first event to fourth event (Nth event) accumulated. The information stored to track the sequence of Acks corresponds to valid bit).
Regarding claim 18. The method of claim 14,
Makineni discloses wherein, the performing of the single TCP operation by the TCP processing logic comprises:
delivering an updated value of the first entry of in the first table TCB stored in the second table of the network interface device to the TCP processing logic by a TCP control manager of the network interface device (fig. 3 discloses table 212 storing parameters to TCP events to be coalesced. The table cand be divided in to two tables that corresponds to the first and the second table. Storing information in different tables and fetching the information that would have been stored in one table from different tables is an obvious variation. Information in one of the table corresponds to TCP event and information in the other table corresponds to transmission control block; [0009] discloses a network interface controller (NIC) (a.k.a. network adapter) that receives packets from a network. Instead of writing (TCP operation) each received packet into memory for subsequent processing, the controller coalesces packets by combining the TCP payloads of different packets belonging to the same flow and prepares a single TCP header and a single IP header for the combined TCP payloads. The combination of the IP header, TCP header, and combined TCP payloads forms a single coalesced packet (TCP operation of all coalesced packet is omitted and only one operation representing the batched packets is done). The protocol stack can, thus, perform receiving processing for fewer but larger packets, reducing the per packet processing penalty incurred);
applying a TCP algorithm for the Nth TCP event based on the delivered first entry TCB by the TCP processing logic ([0009] discloses a network interface controller (NIC) (a.k.a. network adapter) that receives packets from a network. Instead of writing (TCP operation) each received packet into memory for subsequent processing, the controller coalesces packets by combining the TCP payloads of different packets belonging to the same flow and prepares a single TCP header and a single IP header for the combined TCP payloads. The combination of the IP header, TCP header, and combined TCP payloads forms a single coalesced packet (TCP operation of all coalesced packet is omitted and only one operation representing the batched packets is done). The protocol stack can, thus, perform receiving processing for fewer but larger packets, reducing the per packet processing penalty incurred); and
updating the TCB stored in the second table as the result of applying the TCP algorithm for the Nth TCP event by the TCP processing logic (fig. 3 discloses table 212 storing parameters to TCP events to be coalesced. The table cand be divided in to two tables that corresponds to the first and the second table. Storing information in different tables and fetching the information that would have been stored in one table from different tables is an obvious variation. Information in one of the table corresponds to TCP event and information in the other table corresponds to transmission control block. Updating the information in corresponding tables within coalescing window corresponds to updating).
Regarding claim 19. The method of claim 14, further comprising:
Vangala discloses performing a TCP operation for a TCP event of a second TCP connection among the plurality of TCP connections simultaneously by the TCP processing logic, when performing a TCP operation for the Nth TCP event (fig. 6, discloses processing cumulative ACK for different flows with respective flow ID (connection) simultaneously).
Regarding claim 20. The combination discloses method of claim 14,
Vangala further discloses comprising: updating an (N+1)th TCP event for the first TCP connection to the first entry by the event handler simultaneously with performing a TCP operation for the Nth TCP event for the first TCP connection by the TCP processing logic (fig. 4 discloses after timer end 425 is expired and ACK 404 (nth event) is transmitted, ACK 405 (Nth+1 event) would be stored in queue 410 with a new timer start 420 and timer end 425).
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MESSERET F. GEBRE whose telephone number is (571)272-8272. The examiner can normally be reached 9:00 am-5:30PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Oscar Louie can be reached at 5712701684. 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.
/MESSERET F GEBRE/Primary Examiner, Art Unit 2445