DETAILED ACTION
This is in response to US App. 19/020,501, a CON of 18/389,130 (now US 12,232,196), in turn a CON of 17/212,941 (now US 11,849,493), and further a CON of 17/280,072 (now US 12,048,032), which claims priority to PCT/IB2019/058338. Claims 1-20 have been examined.
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 . 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.
Double Patenting
A rejection based on double patenting of the “same invention” type finds its support in the language of 35 U.S.C. 101 which states that “whoever invents or discovers any new and useful process... may obtain a patent therefor...” (Emphasis added). Thus, the term “same invention,” in this context, means an invention drawn to identical subject matter. See Miller v. Eagle Mfg. Co., 151 U.S. 186 (1894); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Ockert, 245 F.2d 467, 114 USPQ 330 (CCPA 1957).
A statutory type (35 U.S.C. 101) double patenting rejection can be overcome by canceling or amending the claims that are directed to the same invention so they are no longer coextensive in scope. The filing of a terminal disclaimer cannot overcome a double patenting rejection based upon 35 U.S.C. 101.
Claims 1, 5, 7, 9-11, 15, 17, and 19-20 are rejected under 35 U.S.C. 101 as claiming the same invention as that of claims 1-2, 5, 8-12, 15, and 18-20 of prior U.S. Patent No. 12,232,196 (hereafter US PAT ‘196). This is a statutory double patenting rejection. Limitations of claims 1, 5, 7, 9-11, 15, 17, and 19-20 in the instant application recite the same structural elements and associated functions (e.g. establishing a plurality of tunnels, sending data through one tunnel of the plurality of tunnels, transmitting data using first (TCP) or second (UDP) protocols, determining performance of data transmission, selecting a protocol, and further transmission regardless of a receive window size limit) as those in US PAT ‘196. Moreover, in the case of one apparently different element in the claims of instant application as compared to those in US PAT ‘196, limitations of claims 1, 5, 7, 9-11, 15, 17, and 19-20 in the instant application recite “… first sending process and the second sending process are sending application layer process and sending transport layer process of the first network node … the first receiving process and the second receiving process are receiving application layer process and receiving transport layer process of the second network node …”, whereas those in US PAT ‘196 recite “… the first process and the third process is a sending transport layer process; and each of the second process and the fourth process is a receiving transport layer process ….” Here too, “first sending process” being “sending application layer process” and “first receiving process” being “receiving application layer process” in the limitations of the instant application are inherently the same as “first process” being “sending transport layer process” and “second process” being “receiving transport layer process” as in US PAT ‘196 because datagrams sent from an application layer of a first network node go through its transport layer before being sent to a second network node (as per well-known 7-layer OSI model). Also, datagrams on a second network node are first received by its transport layer before being passed on to its application layer (as per well-known 7-layer OSI model). Therefore, absent a recitation of any particular processing at an application layer compared to a transport layer, any reference to an application layer of a network node sending data inherently means sending it to a transport layer of the network node before its actual transmission; and any reference to an application layer of a network node receiving data inherently means first receiving it at a transport layer of the network node before its reception at an application layer of the network node. For further comparison, please see the table below.
Instant Application
US PAT ‘196
1. A method of sending datagrams at a first network node, comprising: (a) establishing a plurality of tunnels with a second network node; (b) receiving at least one byte at a first sending process; (c) sending the at least one byte to a second sending process to send to a first receiving process; (d) sending the at least one byte to a second receiving process using both a first protocol and a second protocol; (e) determining performance of data transmission of the at least one byte over the first protocol and the second protocol;(f) sending the datagrams through a selected protocol; wherein: the first sending process and the second sending process are sending application layer process and sending transport layer process of the first network node; the first receiving process and the second receiving process are receiving application layer process and receiving transport layer process of the second network node; the selected protocol is the first protocol or the second protocol and is selected based on the determination at step (e); the first protocol is Transmission Control Protocol (TCP) and the second protocol is User Datagram Protocol (UDP); the datagrams are sent through one tunnel in the plurality of tunnels; and the first network node is configured to send further datagrams using the second sending process to the second network node regardless of a receive-window size (rwnd) limit set by the second network node.
5. The method of claim 1, wherein the determination of the data transmission performance is based on one of: a throughput rate, a latency, and a rate of packet loss.
7. The method of claim 1, wherein the at least one byte received at step (b) are data bytes of datagrams received from at least one host locally connected to the first network node.
9. The method of claim 1, wherein the datagrams are encapsulated into respective TCP packets when the datagrams are sent over the TCP.
10. The method of claim 1, wherein the datagrams are encapsulated into respective UDP packets when the datagrams are sent over the UDP.
1. A method of sending datagrams at a first network node, comprising: (a) establishing a plurality of tunnels; (b) sending at least one byte to a second network node over a first protocol using a first process of the first network node and a second process of the second network node; (c) if the at least one byte is sent to the second network node successfully, sending the datagrams over the first protocol using the first process and the second process; and (d) if the at least one byte is not sent to the second network node successfully, sending the datagrams over a second protocol using a third process of the first network node and a fourth process of the second network node; wherein: the datagrams are sent through one selected tunnel in the plurality of tunnels; the first process and the second process do not handle retransmission; the first network node is configured to send further datagrams using the first process and the second process to the second network node regardless of a receive-window size (rwnd) limit set by the second network node; the first network node is configured to receive a flow control message from the second network node when at least one of the datagrams is received by the second network node; the first network node is configured to continue or to hold off sending the further datagrams based on the flow control message; each of the first process and the third process is a sending transport layer process; and each of the second process and the fourth process is a receiving transport layer process.
2. The method of claim 1, wherein the first protocol is Transmission Control Protocol (TCP) and the second protocol is User Datagram Protocol (UDP).
5. The method of claim 3, wherein the determination is based on one of: a throughput rate, a latency, and a rate of packet-loss.
8. The method of claim 1, wherein the datagrams are encapsulated into respective TCP packets when the datagrams are sent over the TCP.
9. The method of claim 1, wherein the datagrams are encapsulated into respective UDP packets when the datagrams are sent over the UDP.
10. The method of claim 1, wherein the datagrams belong to at least one session and are originated from at least one host connected locally to the first network node.
11. A first network node, comprising: at least one processing unit; at least one transitory main memory; and at least one non-transitory storage medium storing program instructions executable by the at least one processing unit and configured to cause the at least one processing unit to perform:(a) establishing a plurality of tunnels with a second network node;(b) receiving at least one byte at a first sending process;(c) sending the at least one byte to a second sending process to send to a first receiving process;(d) sending the at least one byte to a second receiving process using both a first protocol and a second protocol; (e) determining performance of data transmission of the at least one byte over the first protocol and the second protocol; (f) sending the datagrams through a selected protocol; wherein: the first sending process and the second sending process are sending application layer process and sending transport layer process of the first network node; the first receiving process and the second receiving process are receiving application layer process and receiving transport layer process of the second network node; the selected protocol is the first protocol or the second protocol and is selected based on the determination at step (e);the first protocol is Transmission Control Protocol (TCP) and the second protocol is User Datagram Protocol (UDP);the determination of performance at step (e) is performed by the first network node by using the first sending process; the datagrams are sent through one tunnel in the plurality of tunnels; and the first network node is configured to send further datagrams using the second sending process to the second network node regardless of a receive-window size (rwnd) limit set by the second network node.
15. The first network node of claim 11, wherein the determination of the data transmission performance is based on one of: a throughput rate, a latency, and a rate of packet loss.
17. The first network node of claim 11, wherein the at least one byte received at step (b) are data bytes of datagrams received from at least one host locally connected to the first network node.
19. The first network node of claim 11, wherein the datagrams are encapsulated into respective TCP packets when the datagrams are sent over the TCP.
20. The first network node of claim 11, wherein the datagrams are encapsulated into respective UDP packets when the datagrams are sent over the UDP.
11. A first network node, comprising: at least one processing unit; at least one main memory; and at least one secondary storage storing program instructions executable by the at least one processing unit and configured to cause the at least one processing unit to perform: (a) establishing a plurality of tunnels; (b) sending at least one byte to a second network node over a first protocol using a first process of the first network node and a second process of the second network node; (c) if the at least one byte is sent to the second network node successfully, sending the datagrams over the first protocol using the first process and the second process; and (d) if the at least one byte is not sent to the second network node successfully, sending the datagrams over a second protocol using a third process of the first network node and a fourth process of the second network node; wherein: the datagrams are sent through one selected tunnel in the plurality of tunnels; the first process and the second process do not handle retransmission; the first network node is configured to send further datagrams using the first process and the second process to the second network node regardless of a receive-window size (rwnd) limit set by the second network node; the first network node is configured to receive a flow control message from the second network node when at least one of the datagrams is received by the second network node; the first network node is configured to continue or to hold off sending the further datagrams based on the flow control message; each of the first process and the third process is a sending transport layer process; and each of the second process and the fourth process is a receiving transport layer process.
12. The first network node of claim 11, wherein the first protocol is Transmission Control Protocol (TCP) and the second protocol is User Datagram Protocol (UDP).
15. The first network node of claim 13, wherein the determination is based on one of: a throughput rate, a latency, and a rate of packet-loss.
18. The first network node of claim 11, wherein the datagrams are encapsulated into respective TCP packets when the datagrams are sent over the TCP.
19. The first network node of claim 11, wherein the datagrams are encapsulated into respective UDP packets when the datagrams are sent over the UDP.
20. The first network node of claim 11, wherein the datagrams belong to at least one session and are originated from at least one host connected locally to the first network node.
Claim Objections
Claims 4 and 14 are objected to because of the following informalities: “the predetermined time period” lacks antecedent basis. Appropriate correction is required.
Allowable Subject Matter
Claims 2-4, 6, 8, 12-14, 16, and 18 are 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 SAAD A WAQAS whose telephone number is (571)270-5642. The examiner can normally be reached 8:30 - 5:00 PM.
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, Marcus Smith can be reached at (571) 270-1096. 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.
SAAD A. WAQAS
Primary Examiner
Art Unit 2468
/Saad A. Waqas/Primary Examiner, Art Unit 2468