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 .
DETAILED ACTION
Claims 21-40 are pending.
Priority
The examiner notice that the Bibliographic Data does not appear to list both U.S. Patent Application No. 16/217,007, filed December 11, 2018, now Issued Patent No. 11,223,708 and U.S. Provisional Application No. 62/690,275 filed June 26, 2018 as being parent applications of the instant application. See also the PG Pub. of the instant application, US Pub. NO. 2025/0350670, where they are also absent.
These applications are listed in the instant specification and appear proper on the ADS, however. The examiner advises the applicant review this potential issue and is invited to call the examiner with any questions or concerns.
Claim Objections
Claim 30 recites, “the plurality of hash tables are positioned in a lower portion of a network stack used o parse and identify received UDP packets.” The examiner assumes it was intended to recite, “the plurality of hash tables are positioned in a lower portion of a network stack used to parse and identify received UDP packets.” Appropriate correction is required.
Claim 32 recites, “synchronizing second UDP flow of the network traffic using a second send buffer and a second receive buffer corresponding to the first UDP socket.” The examiner assumes it was intended to recite, “the second UDP socket” recited in claim 31 otherwise it does not appear to make sense. Appropriate correction is required.
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 21-28,31-35, and 37-40 are rejected under 35 U.S.C. 103 as being unpatentable over Minami et al (US Pub. No. 2006/0083246), hereafter, “Minami,” in view of Li et al (US Pub. No. 2019/0387434), hereafter, “Li.”
As to claim 21, Minami a computing device comprising: a processor; and memory comprising computer executable instructions that, when executed, perform operations (Abstract) comprising:
identifying a first user datagram protocol (UDP) socket of a plurality of UDP sockets of the computing device by performing a first network stack lookup of a first UDP packet, wherein the first UDP packet corresponds to a first remote client, and the first remote client connects to the first UDP socket via a first UDP connection (Fig. 1 and [0049]-[0056], particularly, “In use, the TCP RX parser 414 is responsible for parsing the received TCP and user datagram protocol (UDP) packets. As an option, all UDP packets…may be processed in a similar manner to TCP data packets... If the packet is a data packet, a socket hash is computed by the socket locator module 402. By way of background, each data packet has associated therewith both a pair of IP addresses and a pair of TCP or UDP ports. The hash may be generated based on such IP addresses and ports (i.e. by utilizing the "socket 4-tuple," etc. This hash may then be used to index into the CB look-up table 318. A sample CB look-up table 318 is shown in Table 1… It is then determined, based on a comparison of the socket handle and the actual socket associated with the current packet, whether the socket associated with the CB is the correct socket or not.”);
determining the first UDP connection is to be used to communicate network traffic by tracking the network traffic using a first socket object for the first UDP connection (Fig. 1 and [0049]-[0056], particularly, “It is then determined, based on a comparison of the socket handle and the actual socket associated with the current packet, whether the socket associated with the CB is the correct socket or not.”); and
synchronizing a first UDP flow of the network traffic using a first send buffer and a first receive buffer corresponding to the first UDP socket.
However Minami does not explicitly disclose synchronizing a first UDP flow of network traffic using a first send buffer and a first receive buffer corresponding to a first UDP socket.
But, Li discloses synchronizing a first UDP flow of network traffic using a first send buffer and a first receive buffer corresponding to a first UDP socket ([0047]-[0050], particularly, “The memory space of the socket corresponding to first TCP/UDP endpoint 330 may include a state information (info) component 332, a send buffer 334, and a receive buffer 336. State info component 332 may store the state information for the socket. Send buffer 334 may store packets that are to be sent to a destination device associated with the socket. Receive buffer 336 may store packets received from a source device associated with the socket… TCP/UDP endpoint 330 may receive packets from UE device application 310, store the packets in send buffer 334, and forward the packets from send buffer 334 to TCP/UDP endpoint 350 via network device switching fabric 340. TCP/UDP endpoint 350 may receive the packets and store the packets in receive buffer 356 before forwarding the packets to server application 370.”)
Therefore it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Minami and Li in order to provide a known and reliable means to effectively manage buffers so as to reduce lost packets.
As to claim 33 and 40, they are rejected by a similar rationale by that set forth in claim 21’s rejection.
As to claim 22, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose the computing device enables scalable UDP sockets for supporting multiple UDP connections (Minami, [0049]-[0056]).
As to claim 23, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose prior to identifying the first UDP socket, identifying a plurality of UDP connections and a plurality of remote clients connecting to corresponding UDP connections of the plurality of UDP connections (Minami, [0049]-[0056]).
As to claims 24 and 34, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose performing the first network stack lookup of the first UDP packet comprises: using a network stack to: identify the first UDP packet as corresponding to the first remote client, and identify the first remote client as corresponding to the first UDP socket (Minami, [0049]-[0056]).
As to claim 26, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose creating the first socket object for the first UDP connection; tracking the network traffic using the first socket object; and based on tracking the network traffic, identifying the first UDP connection is to be used to communicate the network traffic (Minami, [0049]-[0056]).
As to claim 27, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose identifying the first UDP connection is to be used to communicate the network traffic comprises: comparing the first socket object to a tuple comprising connection information (Minami, [0049]-[0056]).
As to claim 28, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose the connection information comprises a source internet protocol (IP) address, a source port, a destination IP address, and a destination port (Minami, [0049]-[0056]).
As to claim 31, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose identifying a second UDP socket of the plurality of UDP sockets of the computing device by performing a second network stack lookup of a second UDP packet, wherein the second UDP packet corresponds to a second remote client, and the second remote client connects to the second UDP socket via a second UDP connection (Minami, [0049]-[0056]).
As to claim 32, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose determining to use the second UDP connection to communicate network traffic by tracking the network traffic using a second socket object for the second UDP connection (Minami, [0049]-[0056]); and synchronizing second UDP flow of the network traffic using a second send buffer and a second receive buffer corresponding to the first UDP socket (Lin, [0047]-[0050]).
As to claim 35, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose the network stack performs flow classification to associate the first UDP packet with the first UDP flow (Minami, [0049]-[0056]).
As to claim 37, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose identifying a plurality of UDP connections and a plurality of remote clients connecting to corresponding UDP connections of the plurality of UDP connections, wherein the first UDP connection is included in the plurality of UDP connections (Minami, [0049]-[0056]).
As to claim 38, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose each UDP connection of the plurality of UDP connections is associated with a different UDP socket of the plurality of UDP sockets (Minami, [0049]-[0056]).
As to claim 39, the teachings of Minami and Lin as combined for the same reasons set forth in claim 21’s rejection further disclose identifying a second user datagram protocol (UDP) socket of the plurality of UDP sockets by performing a second network stack lookup of a second UDP packet, wherein the second UDP packet corresponds to a second remote client, and the second remote client connects to the second UDP socket via a second UDP connection (Minami, [0049]-[0056]).; using the second UDP connection to communicate network traffic based on tracking the network traffic using a second socket object for the second UDP connection (Minami, [0049]-[0056]).; and synchronizing a second UDP flow of the network traffic using a second send buffer and a second receive buffer corresponding to the second UDP socket (Lin, [0047]-[0050]).
Claims 29,30 and 36 are rejected under 35 U.S.C. 103 as being unpatentable over Minami and Li in view of Riikonen (US Pub. No. 2014/0237097).
As to claim 29, the teachings of Minami and Lin disclose the tuple is stored in a first hash table of a plurality of hash tables (Minami, [0049]-[0056]) but do not disclose each hash table of the plurality of hash tables corresponds to a different processor of lookup logic associated with the first network stack lookup. However, Riikonen disclose each hash table of a plurality of hash tables corresponds to a different processor of lookup logic associated with a first network stack lookup ([0048] and further [0053]).
Therefore it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Minami and Li with Riikonen in order to provide a known and reliable means to effectively use multiprocessor systems and thereby increase overall processing capacity and efficiency.
As to claim 30, the teachings of Minami, Lin and Riikonen as combined for the same reasons set forth in claim 29’s rejection further disclose the plurality of hash tables are positioned in a lower portion of a network stack used o parse and identify received UDP packets (Minami, [0049]-[0056]).
As to claim 36, the teachings of Minami and Lin disclose the parent claim but do not disclose the flow classification is performed using a receive side scaling (RSS) hash. However, Riikonen discloses the flow classification is performed using a receive side scaling (RSS) hash (Riikonen, [0077]-[0078]).
Therefore it would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Minami and Li with Riikonen in order to provide a known and reliable of process network flows so as to improve efficiency and effectiveness.
Allowable Subject Matter
Claim 25 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THOMAS J DAILEY whose telephone number is (571)270-1246. The examiner can normally be reached 9:30am-6:00pm.
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, Umar Cheema can be reached on 571-270-3037. 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.
/THOMAS J DAILEY/Primary Examiner, Art Unit 2458