Detailed Action
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
The Office Action is in response to claims filed 6/27/2024 on where claims 1-20 are pending and ready for examination.
The information disclosure statement (IDS) submitted on 9/19/2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
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.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1 -7, 9-15, and 17-20 are rejected under 35 USC 102(a)(2) as being anticipated by Genge (US 20250112919), Filed October 3rd, 2023.
Regarding claim 1, Genge discloses A computer-implemented method comprising:
receiving, by a destination device, a plurality of data packets from a transmitting device, wherein each of the plurality of data packets comprises a connect header associated with dynamic connection (DC) establishment (Genge; Geng discloses communication “between the communicating parties “ via TCP packets. Those “communicating parties” correspond to the claimed transmitting device and destination device because TCP packet transfer necessarily involves a sender endpoint that transmits the packet and a receiver endpoint that receives the packet. The reference further discloses a TCP header in each packet (Fig. 8) which is a “connect header” because the TCP header includes control information used to initiate and establish a TCP session including a SYN flag explicitly described as marking a packet that initiates a TCP session as a step in establishing a connection;
[0059] “FIG. 8 illustrates an exemplary TCP header 36 as known in the art. Header 36 comprises a concatenation of multiple metadata fields, such as a Source Port, a Destination Port, a set of flags/control bits, and an Options field, among others. TCP header flags may be used to set a priority for the current data packet, to reset, or to finish a connection/session, for instance. A particular TCP header flag named SYN is used to mark a packet that initiates a TCP session, i.e., a first step in establishing a connection between the communicating parties. Some embodiments exclusively analyze data packets whose SYN flag is set. The content of the Options field varies among protocol versions and implementations and is used for extending the functionality and/or various optimizations of TCP. The Options field may include multiple sub-fields. In some embodiments, step 238 (FIG. 4) comprises fingerprinting module 20 identifying a packet having the SYN flag set, and extracting the following features, among others, from a TCP header of the respective packet
”); and
establishing a dynamic connection (DC) between the destination device and the transmitting device based on one or more of the data packets of the plurality of data packets (Genge;
see e.g. [0059]
Genge discloses that a packet having the TCP header flag named SYN initiates a TCP session, i.e. , a first step in establishing a connection “between” the communicating parties” Those communicating parties correspond to the claimed destination device and transmitting device, and the connection is established based on one or more packets exchanged/received for session initiation, thereby reading directly on establishing the dynamic connection between the devices based on one or more of the packets.),
wherein establishment of the dynamic connection (DC) occurs irrespective of an order in which each of the plurality of data packets are received by the destination device (Genge;
see e.g. [0059], Fig. 8.
Genge discloses that establishment of a TCP connection occurs upon receipt and processing of a packet having a TCP header named SYN, which initiates a TCP session. Connection establishment is triggered by the presence of the SYN-indicated connection establishment information in the packet header, rather than by a relative ordering among a plurality of packets, Accordingly, the establishment of the connection occurs irrespective of the order in which packets of the plurality are received
The examiner nots as the metes and bounds of the limitation recited “irrespective” under the broadest reasonable interpretation, one of ordinary skill in the art is not required to consider or address the order or sequence of packets exchanged to satisfy the limitation)
The examiner notes [0064] further evidences that the TCP headers discussed in the reference are associated with distinct hardware and software implementations of a communication stack on a device, thereby supporting that the communicating parties correspond to the claimed transmitting and destination device.
Regarding claim 2, Genge discloses the computer-implemented method according to Claim 1, wherein the plurality of data 2. packets further comprise:
a first set of data packets received by the destination device prior to establishment of the dynamic connection (DC) between the destination device and the transmitting device(Genge;
see e,g, p0059], Fig. 8;
The “first set” reads on the TCP session-initiation packets received at the destination device, including the packet having the SYN header bit set that initiates the TCP session and therefore occurs before the connection is established. Because [0059] ties SYN-marked packets to initiating the TCP session (i.e., the establishment process) and Fig. 8 shows the TCP header fields used in such packets, those SYN session-initiation packets constitute data packets received prior to establishment of the dynamic connection DC between the endpoints ); and
a second set of data packets received by the destination device after establishment of the dynamic connection (DC) between the destination device and the transmitting device (Genge;
See e.g. [0059], Fig. 8
The “second set” reads on TCP packets received at the destination device after the TCP session has been initiated and the connection is established, i.e. packets exchanged under the established session context rather than session -initiation signaling. Because [0059] distinguishes the SYN-marked initiation step from subsequent TCP packet exchange within the session, packets received after that initiation /establishment step constitute data packets received after establishment of the dynamic connection ).
Regarding claim 3, Genge discloses the computer-implemented method according to Claim 2, wherein the first set of data. packets further comprise a first data packet comprising one or more instructions for establishing the dynamic connection (DC) between the destination device and the transmitting device (Genge;
See e.g. [0059], Fig. 8
The packet carrying the SYN header bit coneys protocol defined control information that causes the destination device to initiate connection establishment. The header information in that first packet functions as instructions that trigger creation of connection state between the destination device and the transmitting device , thereby satisfying the requirement that the first data packet comprises instructions for establishing the dynamic connection).
Regarding claim 4, Genge discloses the computer-implemented method according to Claim 3, wherein the connect header for each of the data packets of the first set of data packets comprises one or more data entries for establishing the dynamic connection (DC). (Genge;
See e.g. [0059], Fig. 8
The header includes control and parameter fields that are used to initiate and progress connection establishment. These header fields constitute “data entries” in the connect header that are interpreted by the destination device to initiate communication state., thereby satisfying the requirement that the connect header comprises data entries for establishing the dynamic connection)
Regarding claim 5, Genge discloses the computer-implemented method according to Claim 3, wherein the connect header of 5. the first data packet comprises one or more data entries that identify an initial packet sequence number (PSN) associated with the dynamic connection (DC). (Genge;
See e.g. [0059], Fig. 8
The first packet establishes the starting sequence number for the connection. Since the dynamic connection does not exist prior to receipt of that packet, the sequence number carried in its header is the initial packet sequence number associated with the connection, thereby satisfying the requirement that the connect header of the first data packet identifies an initial PSN
Regarding claim 6, Genge discloses the computer-implemented method according to Claim 2, wherein each respective . connect header of the data packets forming the first set of data packets further comprises a packet sequence number (PSN) defining a position at which the respective packet is to be executed by the destination device (Genge;
See e.g. [0059], Fig. 8
The sequence number defines the position of the packet withing the connection context and governs the order in which received packets are processed by the destination device. The sequence number therefore functions as a PSN by defining the position at which the packet is handled relative to the connection, satisfying the claimed requirement that the PSN defines a position at which the packet is executed by the destination device.
Under the broadest reasonable interpretation, “executed” encompasses protocol level processing of a received packet by a destination device according to connection state and header -defined ordering information).
Regarding claim 7, Genge discloses the computer-implemented method according to Claim 6, wherein the dynamic. connection (DC) between the destination device and the transmitting device is associated with an initial packet sequence number (PSN), such that the destination device may order each of the plurality of data packets relative to the initial packet sequence number (PSN) (Genge;
see e.g. [0059], Fig. 8.
The initial sequence number is carried in the sequence number field of the first packet that initiates the connection, namely the packet having the SYN flag set in the TCP header. That first packet establishes the starting sequence number for the connection, thereby associating the dynamic connection with an initial packet sequence number. Once the initial sequence number is established by receipt of that first packet, the destination device orders subsequently received packets relative to that initial sequence number as part of processing packets within the connection context).
Regarding claim 9, Genge discloses a computing device comprising:
a non-transitory storage device (Genge;
see e.g. [0010] “... a non-transitory computer-readable medium stores instructions which, when executed by at least one hardware processor of a computer system ...”); and
a processor coupled to the non-transitory storage device, wherein the processor is configured to: receive a plurality of data packets from a transmitting device, wherein each of the plurality of data packets comprises a connect header associated with dynamic connection (DC) establishment establishment (Genge; Geng discloses communication “between the communicating parties “ via TCP packets. Those “communicating parties” correspond to the claimed transmitting device and destination device because TCP packet transfer necessarily involves a sender endpoint that transmits the packet and a receiver endpoint that receives the packet. The reference further discloses a TCP header in each packet (Fig. 8) which is a “connect header” because the TCP header includes control information used to initiate and establish a TCP session including a SYN flag explicitly described as marking a packet that initiates a TCP session as a step in establishing a connection;
[0059] “FIG. 8 illustrates an exemplary TCP header 36 as known in the art. Header 36 comprises a concatenation of multiple metadata fields, such as a Source Port, a Destination Port, a set of flags/control bits, and an Options field, among others. TCP header flags may be used to set a priority for the current data packet, to reset, or to finish a connection/session, for instance. A particular TCP header flag named SYN is used to mark a packet that initiates a TCP session, i.e., a first step in establishing a connection between the communicating parties. Some embodiments exclusively analyze data packets whose SYN flag is set. The content of the Options field varies among protocol versions and implementations and is used for extending the functionality and/or various optimizations of TCP. The Options field may include multiple sub-fields. In some embodiments, step 238 (FIG. 4) comprises fingerprinting module 20 identifying a packet having the SYN flag set, and extracting the following features, among others, from a TCP header of the respective packet”
See e.g. [0010]); and
establishing a dynamic connection (DC) between the computing device and the transmitting device based on one or more of the data packets of the plurality of data packets(Genge;
see e.g. [0059]
Genge discloses that a packet having the TCP header flag named SYN initiates a TCP session, i.e. , a first step in establishing a connection “between” the communicating parties” Those communicating parties correspond to the claimed destination device and transmitting device, and the connection is established based on one or more packets exchanged/received for session initiation, thereby reading directly on establishing the dynamic connection between the devices based on one or more of the packets.,
wherein establishment of the dynamic connection (DC) occurs irrespective of an order in which each of the plurality of data packets are received by the computing device(Genge;
see e.g. [0059], Fig. 8.
Genge discloses that establishment of a TCP connection occurs upon receipt and processing of a packet having a TCP header named SYN, which initiates a TCP session. Connection establishment is triggered by the presence of the SYN-indicated connection establishment information in the packet header, rather than by a relative ordering among a plurality of packets, Accordingly, the establishment of the connection occurs irrespective of the order in which packets of the plurality are received
The examiner nots as the metes and bounds of the limitation recited “irrespective” under the broadest reasonable interpretation, one of ordinary skill in the art is not required to consider or address the order or sequence of packets exchanged to satisfy the limitation)
The examiner notes [0064] further evidences that the TCP headers discussed in the reference are associated with distinct hardware and software implementations of a communication stack on a device, thereby supporting that the communicating parties correspond to the claimed transmitting and destination device..
Regarding claim 10, claim 10 is rejected based on the same rationale as claim 2.
Regarding claim 11, claim 11 is rejected based on the same rationale as claim 3.
Regarding claim 12, claim 12 is rejected based on the same rationale as claim 4.
Regarding claim 13, claim 13 is rejected based on the same rationale as claim 5.
Regarding claim 14, claim 14 is rejected based on the same rationale as claim 6.
Regarding claim 15, claim 15 is rejected based on the same rationale as claim 7.
Regarding claim 17, Genge discloses a computer program product comprising at least one non-transitory computer-readable storage medium having computer program code thereon that, in execution with at least one processor, configures the computer program product for:
receiving a plurality of data packets from a transmitting device, wherein each of the plurality of data packets comprises a connect header associated with dynamic connection (DC) establishment(Genge; Geng discloses communication “between the communicating parties “ via TCP packets. Those “communicating parties” correspond to the claimed transmitting device and destination device because TCP packet transfer necessarily involves a sender endpoint that transmits the packet and a receiver endpoint that receives the packet. The reference further discloses a TCP header in each packet (Fig. 8) which is a “connect header” because the TCP header includes control information used to initiate and establish a TCP session including a SYN flag explicitly described as marking a packet that initiates a TCP session as a step in establishing a connection;
[0059] “FIG. 8 illustrates an exemplary TCP header 36 as known in the art. Header 36 comprises a concatenation of multiple metadata fields, such as a Source Port, a Destination Port, a set of flags/control bits, and an Options field, among others. TCP header flags may be used to set a priority for the current data packet, to reset, or to finish a connection/session, for instance. A particular TCP header flag named SYN is used to mark a packet that initiates a TCP session, i.e., a first step in establishing a connection between the communicating parties. Some embodiments exclusively analyze data packets whose SYN flag is set. The content of the Options field varies among protocol versions and implementations and is used for extending the functionality and/or various optimizations of TCP. The Options field may include multiple sub-fields. In some embodiments, step 238 (FIG. 4) comprises fingerprinting module 20 identifying a packet having the SYN flag set, and extracting the following features, among others, from a TCP header of the respective packet
”; and
establishing a dynamic connection (DC) between a destination device and the transmitting device based on one or more of the data packets of the plurality of data packets(Genge;
see e.g. [0059]
Genge discloses that a packet having the TCP header flag named SYN initiates a TCP session, i.e. , a first step in establishing a connection “between” the communicating parties” Those communicating parties correspond to the claimed destination device and transmitting device, and the connection is established based on one or more packets exchanged/received for session initiation, thereby reading directly on establishing the dynamic connection between the devices based on one or more of the packets.,
wherein establishment of the dynamic connection (DC) occurs irrespective of an order in which each of the plurality of data packets are received by the destination device(Genge;
see e.g. [0059], Fig. 8.
Genge discloses that establishment of a TCP connection occurs upon receipt and processing of a packet having a TCP header named SYN, which initiates a TCP session. Connection establishment is triggered by the presence of the SYN-indicated connection establishment information in the packet header, rather than by a relative ordering among a plurality of packets, Accordingly, the establishment of the connection occurs irrespective of the order in which packets of the plurality are received
The examiner nots as the metes and bounds of the limitation recited “irrespective” under the broadest reasonable interpretation, one of ordinary skill in the art is not required to consider or address the order or sequence of packets exchanged to satisfy the limitation)
The examiner notes [0064] further evidences that the TCP headers discussed in the reference are associated with distinct hardware and software implementations of a communication stack on a device, thereby supporting that the communicating parties correspond to the claimed transmitting and destination device.
Regarding claim 18, claim 18 is rejected based on the same rationale as claim 2
Regarding claim 19, claim 19 is rejected based on the same rationale as claim 3.
Regarding claim 20, claim 20 is rejected based on the same rationale as claim 4.
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.
Claims 8 and 16 are rejected under 35 USC 103 as being unpatentable over Genge in view of Quinlan (US 20150121529)
Regarding claim 8, Genge discloses the computer-implemented method according to Claim 6, Genge does not expressly disclose wherein the dynamic connection (DC) between the destination device and the transmitting device is established in the absence of a connect packet transmission.
However in analogous art Quinlan discloses:
wherein the dynamic connection (DC) between the destination device and the transmitting device is established in the absence of a connect packet transmission (Quinlan; Quinlan discloses a service request may be issued as a TCP non YSN packet to a session for which no TCP SYN has been received, thereby initiating service communication without transmission of a dedicated connect packet. This disclosure teaches that a session or connection context may be established or utilized based on receipt of service request without a connect packet.
see e.g. [0081] Client computing device 706 (hereinafter, "client device 706") requests a service by issuing service request 720 to server 114. Service request 720 may specify a network layer (i.e., layer 3 or "L3") or other address of server 114, a transport layer protocol, and a port for the transport layer protocol. Server 114 may have its own address (e.g., IPv4 address) or may be load-balanced with at least one of servers 110 and 112 to have an address in common. Service request 720 may represent a TCP SYN ("Synchronize"), a TCP non-SYN for a session for which no TCP SYN has been received, or a UDP datagram, for instance. A TCP SYN is a TCP packet with the SYN flag set. A TCP non-SYN is a TCP packet without the SYN flag set. The service request 720 may specify a requested service by a value of a destination port field for the TCP packet or UDP datagram, for instance. For example, a TCP SYN with a destination port value of 80 is a service request for an HTTP service.
Therefore it would have been prima facie obvious to ne of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Quinlan’s scheme (i.e. not utilizing a connect packet). The motivation being the combined solution provides for implementing a known technique resulting in increased efficiencies of provisioning communication sessions.
Regarding claim 16, claim 16 comprises the same and/or similar subject matter as claim 8 and is considered an obvious variation; therefore it is rejected under the same rationale.
Any inquiry concerning this communication or earlier communications from the Examiner should be directed to TODD L. BARKER whose telephone number is (571) 270 0257. The Examiner can normally be reached on Monday through Friday, 7:30am to 5:00pm.
If attempts to reach the Examiner by telephone are unsuccessful, the Examiner's supervisor Vivek Srivastava can be reached on (571) 272 7304.
/TODD L BARKER/ Primary Examiner, Art Unit 2449