DETAILED ACTION
Introduction
Claims 1-20 are pending. This Office action is in response to Application 18/662,951 filed on 5/13/2024.
Other Relevant Prior Art
Makineni (US 2006/0104303) teaches coalescing a plurality of packets into a single coalesced packet comprising the payloads of the plurality of packets and a single TCP/IP header. See par. 9; fig. 1A-1C.
Claim Rejections: 35 U.S.C. 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 8-9, and 15-16 are rejected under 35 U.S.C. 103 because they are unpatentable over Steinmacher-Burow (US 2017/0064051) in view of Katis (US 2012/0114108). Alternatively, claims 1-2, 8-9, and 15-16 are rejected under 35 U.S.C. 103 because they are unpatentable over Applicant Admitted Prior Art (hereinafter, “AAPA”) in view of Katis.
Regarding claims 1, 8, and 15, Steinmacher-Burow teaches a method for communicating data from a first device to a second device over a data link, comprising: receiving, by the first device, a plurality of data packets from a data source associated with the first device (A network interface card (NIC) of a source node receives a plurality of packets from an application on the source node. See par. 27); providing, by the first device, first header information based on at least one data packet of the plurality of data packets (The NIC generates a single TCP/IP header for the plurality of packets. See par. 53); sending, by the first device, the first header information to the second device over the data link (The NIC sends the single TCP/IP header to a destination node as part of a coalesced message. See par. 53, 64); providing a coalesced data packet, including aggregating, by the first device, the plurality of data packets into a payload of the coalesced data packet (The NIC generates the coalesced message by aggregating the payloads of the plurality of packets in the coalesced message. See par. 53, 64); and sending, by the first device, the coalesced data packet to the second device over the data link (The NIC sends the coalesced message to the destination node for de-coalescing by the destination node. See par. 64).
Alternatively, AAPA teaches a method for communicating data from a first device to a second device over a data link, comprising: receiving, by the first device, a plurality of data packets from a data source associated with the first device (A source receives a plurality of packets. See Applicant’s specification, par. 2); providing, by the first device, first header information based on at least one data packet of the plurality of data packets (The source generates a single TCP/IP header. Id.); sending, by the first device, the first header information to the second device over the data link (The NIC sends the single TCP/IP header to a destination as part of a coalesced message. Id.); providing a coalesced data packet, including aggregating, by the first device, the plurality of data packets into a payload of the coalesced data packet (The source generates the coalesced message by aggregating the payloads of the plurality of packets in the coalesced message. Id.); and sending, by the first device, the coalesced data packet to the second device over the data link (The source sends the coalesced message to the destination for de-coalescing by the destination. Id.).
However, Steinmacher-Burow/AAPA1 does not teach wherein sending the first header information is performed before aggregating the plurality of data packets is completed. Nonetheless, Katis teaches a system for sending a message across a network, whereby the message comprises a header and a payload, and whereby the header is sent before the payload is completed. See par. 99.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Steinmacher-Burow/AAPA so that the NIC separates the single TCP/IP header from the coalesced message and sends the single TCP/IP header to the destination node before aggregating the payloads of the plurality of packets in the coalesced message is completed, because doing so allows the single TCP/IP header to be transmitted immediately to the destination node as soon as it is defined, according to Katis. See par. 99.
Regarding claims 2, 9, and 16, Steinmacher-Burow/AAPA and Katis teach the method of claim 1, wherein: providing the first header information comprises providing a Transport Control Protocol (TCP) header and an Internet Protocol (IP) header; and sending the first header information comprises sending the TCP header and the IP header (As indicated in the discussion of claim 1 above, Steinmacher-Burow/AAPA teaches that the NIC/source provides first header information in the form of a single TCP/IP header for the coalesced message. See par. 53. As further indicated in the discussion of claim 1 above, Katis suggests modifying the system of Steinmacher-Burow/AAPA so that the destination receives and processes the single TCP/IP header before it receives the coalesced message).
Claims 3, 10, and 17 are rejected under 35 U.S.C. 103 because they are unpatentable over Steinmacher-Burow and Katis, as applied to claims 1, 8, and 15 above, in further view of de Kerhor (US 2025/0175437). Alternatively, claims 3, 10, and 17 are rejected under 35 U.S.C. 103 because they are unpatentable over AAPA and Katis, as applied to claims 1, 8, and 15 above, in further view of de Kerhor.
Regarding claims 3, 10, and 17, Steinmacher-Burow/AAPA and Katis do not teach the method of claim 1, wherein the providing the coalesced data packet includes providing second header information comprising a coalescing header. However, de Kerhor teaches a system for generating a coalesced message from a plurality of packets, whereby the coalesced message includes an outer IP header (i.e., second header information) that describes general information that a destination needs to extract the packets from the coalesced message, such as the number of packets and the size of each packet in the coalesced message. See par. 61.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Steinmacher-Burow/AAPA and Katis so that the NIC provides an outer IP header that provides the destination node with information that it needs to extract the packets from the coalesced message, such as the number of packets and the size of each packet in the coalesced message, because doing so allows the coalesced message to include variable-length packets.
Claims 4-6, 11-13, and 18-20 are rejected under 35 U.S.C. 103 because they are unpatentable over Steinmacher-Burow and Katis, as applied to claims 1, 8, and 15 above, in further view of Goel (US 8,498,305). Alternatively, claims 4-6, 11-13, and 18-20 are rejected under 35 U.S.C. 103 because they are unpatentable over AAPA and Katis, as applied to claims 1, 8, and 15 above, in further view of Goel.
Regarding claim 4, 11, and 18, Steinmacher-Burow/AAPA and Katis do not teach the method of claim 1, further comprising adjusting a size of the payload of the coalesced data packet. However, Goel teaches a system for generating an aggregated packet whereby the size of the aggregated packet may be adjusted based on various measured conditions. See col. 4, ln. 61-64.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Steinmacher-Burow/AAPA and Katis so that the system changes the size of the coalesced message based on measured conditions, because doing so can increased the performance of the system, according to Goel. See col. 4, ln. 64.
Regarding claims 5, 12, and 19, Steinmacher-Burow/AAPA, Katis, and Goel teach the method of claim 4, wherein adjusting the size of the payload of the coalesced data packet comprises: measuring a time interval during which all remaining data packets are received; and adjusting the size of the payload of the coalesced data packet based on a measured time interval (Goel teaches measuring a time over which a number of packets are received (i.e., burst size), and adjusting the size of the aggregated packet based on the measurement. See col. 4, ln. 64 – col. 5, ln. 6. Thus, Goel suggests further modifying the system of Steinmacher-Burow/AAPA, Katis, and Goel so that the system measures a time over which a number of packets are received and adjusts the size of the coalesced message based on the measurement, because doing so can reduce the latency of transmitting coalesced messages).
Regarding claims 6, 13, and 20, Steinmacher-Burow/AAPA, Katis, and Goel do not teach the method of claim 5, further comprising: setting a timer when beginning receiving the plurality of data packets; buffering the data packets in a buffer having a buffer size; setting the size of the payload of the coalesced data packet to the buffer size if a buffer fill level reaches the buffer size before the timer expires; and setting the size of the payload of the coalesced data packet to the buffer fill level if the timer expires before the buffer fill level reaches the buffer size (Goel teaches setting the size of an aggregated packet equal to a maximum allowed size if the aggregated packet achieves the maximum allowed size prior to expiration of a timeout interval, and otherwise setting the size of the aggregated packet equal to the cumulative size of all packets received during the timeout interval. However, Goel does not teach that the maximum size is equal to the size of the queue that stores packets for aggregation. See col. 3, ln. 53 – col. 4, ln. 10).
Nonetheless, Serres teaches a system for generating a coalesced packet from a plurality of packets stored in a queue, whereby the size of the coalesced packet is equal to the size of the queue or the cumulative size of the packets in the queue after a predetermined amount of time. See par. 35, 54.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Steinmacher-Burow/AAPA, Katis, and Goel so that the size of the aggregated packet is equal to the size of the queue that stores the plurality of packets if the queue becomes full prior to the expiration of a predetermined amount of time, and the size of the aggregated packet is otherwise equal to the cumulative size of the packets stored in the queue upon expiration of the predetermined amount of time, because doing so provides an alternative yet conventional way of setting the maximum allowed size of the aggregate packet.
Claims 7 and 14 are rejected under 35 U.S.C. 103 because they are unpatentable over Steinmacher-Burow and Katis, as applied to claims 1 and 8 above, in further view of Mitra (US 2023/0102614). Alternatively, claims 7 and 14 are rejected under 35 U.S.C. 103 because they are unpatentable over AAPA and Katis, as applied to claims 1 and 8 above, in further view of Mitra.
Regarding claims 7 and 14, Steinmacher-Burow/AAPA and Katis do not teach the method of claim 1, wherein the first device comprises a modem chip, and the second device comprises a host processor chip. However, Mitra teaches a system for coalescing packets whereby the packets are coalesced at a modem and sent by the modem to a processor. See fig. 3 and accompanying text.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Steinmacher-Burow/AAPA and Katis so that the first device is a modem and the second device is a processor, because doing so allows the method of Steinmacher-Burow/AAPA to be used to perform receive offloading in order to reduce processing times for a processor, according to Mitra. See par. 50.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Andrew Georgandellis whose telephone number is 571-270-3991. The examiner can normally be reached on Monday through Friday, 7:30-5:00 PM EST. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Tonia Dollinger, can be reached on 571-272-4170. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ANDREW C GEORGANDELLIS/Primary Examiner, Art Unit 2459
1 Examiner hereinafter uses the phrase “Steinmacher-Burow/AAPA” to refer to either Steinmacher-Burow or AAPA.