DETAILED ACTION
This Action is in response to the Preliminary Amendment for Application Number 18839635 received on 8/19/2024.
Claims 15-34 are presented for examination.
This application claims foreign priority to 202210513481.0, filed 05/11/2022.
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 .
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.
Claims 15-25 are 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.
Claim 15 is directed to a method, and recites the contingent limitation, “in response to detecting… a service request packet initiated by a request client through a preset service port, determining…”, which, includes the condition precedent, “in response to detecting…a service request packet”. Under the broadest reasonable interpretation of the claim, “a service request packet” is not detected (i.e. the condition doesn’t happen). As the claim may be practiced without detecting “a service request packet”, the “determining” step is not required by the broadest reasonable interpretation. Additionally, as all of the other limitations of the claim are dependent on “the service request packet”, they are also not required by the broadest reasonable interpretation of the claim. Therefore, in the instance that the service packet is not detected, the scope of the claim is found indefinite as none of the claim limitations are required under the broadest reasonable interpretation.
See MPEP 2111.04, II., which recites, “The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met. For example, assume a method claim requires step A if a first condition happens and step B if a second condition happens. If the claimed invention may be practiced without either the first or second condition happening, then neither step A or B is required by the broadest reasonable interpretation of the claim.”
It is suggested that claim 15 be amended to include an initial limitation, “detecting a service request packet”, and the existing limitation be amended to recite, “in response to detecting…the [[a]] service request packet”, as doing such would positively recite the detecting to occur, thereby requiring the limitations of the claim. For examination purposes, claim 15 will be interpreted as positively reciting the step of detecting the service request packet, such that the limitations are required.
Claims 16-25 are rejected for the same reasons above by virtue of their dependencies to claim 15.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 34 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because claim 34 is directed to a “storage medium”. While Applicant’s Specification provides examples of a “storage medium”, such examples do not explicitly define the term. Such is evident in Applicant’s Specification, at paragraph [0120], which recites, “The computer-readable storage medium may be, for example but not limited to”. Under the broadest reasonable interpretation, a “storage medium” reasonably covers embodiments that do not fall within at least one of the four categories of patent eligible subject matter, such as a signal/carrier wave. As such, claim 34, being directed to a “storage medium”, does not fall within at least one of the four categories.
It should be noted that Applicant’s Specification recites, “For example, this embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium” (Spec, [0116]), to which it appears that Applicant intends the term “non-transitory” to cover carrier mediums (i.e. signals) as well. As such, an amendment to include the term “non-transitory” does not correct the deficiency above.
Claim Rejections - 35 USC § 103
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.
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) 15-18, 24-29, 32-34 are rejected under 35 U.S.C. 103 as being unpatentable over Gangasharan et al. (US 7827152) in view of Craig et al. (US 20030053448).
Regarding claim 15, Gangasharan disclosed a service response method, comprising:
in response to detecting, using a socket detection mechanism, a service request packet initiated by a request client through a preset service port (Gangasharan, Fig. 6, 600-630, Gangasharan disclosed Application server with initialized socket service, and at 640, the Application server is “ready to receive network services requests”; 650, “Receive network service request”; col. 2, lines 5-10, “The application server's socket service may include an on-demand service initiator, which may intercept service client requests. When a client request is received the socket service may initialize the required network service”; col. 4, line 63 through col. 5, line 19, Gangasharan disclosed application server configuring socket service selectors for each network service; col. 8, lines 1-15, Gangasharan disclosed if a client request is received, the socket services may initialize a requested service; and col. 8, lines 38-44, servicing the request if all services are already initialized), determining target client identification information corresponding to the request client based on the service request packet (Gangasharan, col. 6, line 49 through col. 7, line 16, Gangasharan disclosed, “When a client issues a request for a previously un-initialized service, socket services 177 may compare the timeout period for the request with the initialization time for the requested service”; The service request specifies both the specific service being requested, and the timeout period of the request, either of which, reasonably amounts to target client identification information corresponding to the request client, and as both are from the service request, they are based on the service request packet);
determining a target socket corresponding to the service request packet based on the target client identification information and a pre-established service data file (Gangasharan, col. 4, lines 44-48, Gangasharan disclosed, “in one embodiment, an individual network service may not be initialized until a client request is received for that service”; col. 6, line 49 through col. 7, line 16, Gangasharan uses the information of the service request to identify the service; col. 7, lines 38-54. Gangasharan disclosed, as part of its initialization, socket services 177 may access information on network service endpoints (e.g. ports)…information regarding network service endpoints may be read from a configuration file, such as from an XML file defining specific ports and their use. At block 530, the socket services 177 may bind server sockets for each port so that the server can receive client requests”; col. 8, lines 22-44, a network service may, during initialization, bind a server socket to an appropriate port and the service may be given a socket channel (or socket channel wrapper) that was created by the application server's socket services during application server initialization; col. 9, lines 54-61, Gangasharan disclosed the network service bound to a server socket and the socket services 177 may provide the service with the socket channel object, and the network service may process the client request), and
sending the service request packet to a target service response process through the target socket (col. 8, lines 22-44, a network service may, during initialization, bind a server socket to an appropriate port and the service may be given a socket channel (or socket channel wrapper) that was created by the application server's socket services during application server initialization; col. 9, lines 54-61, Gangasharan disclosed the network service bound to a server socket and the socket services 177 may provide the service with the socket channel object, and the network service may process the client request).
Gangasharan did not explicitly disclose wherein client identification information of a connected client having connected to a service response process and a socket of the service response process connected to the connected client are stored in correspondence in the service data file.
Craig disclosed wherein client identification information of a connected client having connected to a service response process and a socket of the service response process connected to the connected client are stored in correspondence in the service data file (Craig, [0046], Craig disclosed, “Once the client socket 350 and server socket 360 have been established and the connection information associated with each socket has been stored in the connection table 332, the classifier 325 may then classify subsequent packets by searching the connection table 332 to determine whether the packets correspond to an on-going connection. If the packet header of an incoming packet matches an entry stored in the connection table 332, the classifier 325 may then access the redirected destination address and destination port stored in the connection table 332 and modify the destination address and destination port of the packet header as described above”).
One of ordinary skill in the art would have been motivated to combine the teachings of Gangasharan and Craig as they both provide teachings for providing network services, and as such, they are within similar environments.
Therefore it would have been obvious to one of ordinary skill in the art at the time the invention was filed to incorporate the utilization of a connection table, as disclosed by Craig, within the teachings of Gangasharan in order to increase processing efficiency associated with classifying service request packets by avoiding the need to re-classify additional packets that correspond to on-going connections, which may comprise the majority of packets forwarded through the system (Craig, [0046]).
Claim 26 recites an electronic device, comprising at least one processor and a storage apparatus configured to store at least one program, wherein the at least one program, when executed by the at least one processor, causes the at least one processor to perform limitations that are substantially similar to the limitations of claim 15.
Claim 34 recites a storage medium comprising computer executable instructions, wherein the computer executable instructions, when executed by a computer processor, are configured to perform limitations that are substantially similar to the limitations of claim 15.
The combination of Gangasharan and Craig disclosed such an apparatus comprising processor and storage for performing the limitations (Gangasharan, col. 9, line 65 through col. 10, line 10, application server having “processor” and “memory”) and storage medium (Gangasharan, col. 10, lines 11-25).
Therefore claims 26 and 34 are rejected under the same rationale applied above.
Regarding claims 16 and 27, Gangasharan and Craig disclosed the service response method according to claim 15 and electronic device of claim 16, wherein the service request packet carries a protocol port of a request client, an Internet protocol address of the request client, a protocol port of a service response process, an Internet protocol address of the service response process, and a transport layer protocol (Craig, [0009], Craig disclosed the packet to include fields including “source address, destination address, source port, destination port, protocol field and device ID”; [0062], “TCP/IP packet header” “source or destination IP address”); and
the determining target client identification information corresponding to the request client based on the service request packet comprises: generating the target client identification information corresponding to the request client based on the protocol port of the request client, the Internet protocol address of the request client, the protocol port of the service response process, the Internet protocol address of the service response process, and the transport layer protocol (Craig, [0062] Craig disclosed performing classification on these fields of the header; [0046] Craig disclosed matching the packet header to an entry in the connection table). See motivation to combine above.
Regarding claims 17 and 28, Gangasharan and Craig disclosed the service response method according to claim 16 and electronic device of claim 27, wherein the generating the target client identification information corresponding to the request client based on the protocol port of the request client, the Internet protocol address of the request client, the protocol port of the service response process, the Internet protocol address of the service response process, and the transport layer protocol comprises:
performing calculation by using a preset hash algorithm based on the protocol port of the request client, the Internet protocol address of the request client, the protocol port of the service response process, the Internet protocol address of the service response process, and the transport layer protocol, and using a calculated hash value as the target client identification information corresponding to the request client (Craig, [0066]-[0068], Craig disclosed, “The hashing tables may then be searched by dividing the packet header into plurality of hash fields based on the packet dimensions used by the hashing tables” and “the classification rules may be stored in five hashing tables, one for the source address, one for the destination address, one for the source port and destination port, one for the protocol field, and one for the device ID field.” Craig additionally disclosed the use of additional hash algorithms to determine if a packet header matches a classification rule with respect to hash fields of the packet).
Regarding claims 18 and 29, Gangasharan and Craig disclosed the service response method according to claim 15 and electronic device of claim 26, wherein the determining a target socket corresponding to the service request packet based on the target client identification information and a pre-established service data file comprises:
in response to having not found the target client identification information or a socket of a service response process corresponding to the target client identification information based on the pre-established service data file, determining the target socket corresponding to the service request packet based on a preset socket option of at least one socket for detecting the preset service port (Craig, [0046], Craig disclosed, “Once the client socket 350 and server socket 360 have been established and the connection information associated with each socket has been stored in the connection table 332, the classifier 325 may then classify subsequent packets by searching the connection table 332“; In other words, a brand new connection between client socket and server socket occurs before storing such information in the connection table. Also in [0046], Craig disclosed, “If the incoming packet does not match an entry stored in the connection table 332, the classifier 325 may classify the packet in accordance with the classification rules 330 to determine whether to redirect the packet to the service application 250”; For servicing requests, Craig at [0044] explicitly disclosed opening a server socket 360 for the connection for the service; Therefore, upon no match found, redirecting the packet to the service application includes determining a target socket for the connection, and once established, the information of the client and server sockets are stored in the connection table).
Regarding claims 24 and 32, Gangasharan and Craig disclosed the service response method according to claim 18 and electronic device of claim 29, wherein after the sending the service request packet to a target service response process through the target socket, the method further comprises: storing the target client identification information corresponding to the request client and the target socket in correspondence in the service data file (Craig, [0046], Craig disclosed, “Once the client socket 350 and server socket 360 have been established and the connection information associated with each socket has been stored in the connection table 332, the classifier 325 may then classify subsequent packets by searching the connection table 332“).
Regarding claims 25 and 33, Gangasharan and Craig disclosed the service response method according to claim 18 and electronic device of claim 29, further comprising: in response to finding a socket of a service response process corresponding to the target client identification information based on the pre-established service data file, using the found socket of the service response process corresponding to the target client identification information as the target socket corresponding to the service request packet (Craig, [0046], Craig disclosed, “Once the client socket 350 and server socket 360 have been established and the connection information associated with each socket has been stored in the connection table 332, the classifier 325 may then classify subsequent packets by searching the connection table 332 to determine whether the packets correspond to an on-going connection. If the packet header of an incoming packet matches an entry stored in the connection table 332, the classifier 325 may then access the redirected destination address and destination port stored in the connection table 332 and modify the destination address and destination port of the packet header as described above.“; While the limitation has been mapped, it is noted that in the broadest reasonable interpretation of method claim 25, a socket of the service response process is not found, and therefore the limitations of claim 25 do not take place).
Claim(s) 19, 30 are rejected under 35 U.S.C. 103 as being unpatentable over Gangasharan et al. (US 7827152) in view of Craig et al. (US 20030053448) and further in view of Forman (US 7376955).
Regarding claims 19 and 30, Gangasharan and Craig disclosed the service response method according to claim 18 and electronic device of claim 26, but did not explicitly disclose wherein the preset socket option comprises a process flag, and the process flag is used to reflect a correspondence between a socket and a service response process; and the determining the target socket corresponding to the service request packet based on a preset socket option of at least one socket for detecting the preset service port comprises: determining the target socket corresponding to the service request packet based on a process flag of the at least one socket for detecting the preset service port.
Forman disclosed wherein the preset socket option comprises a process flag, and the process flag is used to reflect a correspondence between a socket and a service response process; and the determining the target socket corresponding to the service request packet based on a preset socket option of at least one socket for detecting the preset service port comprises: determining the target socket corresponding to the service request packet based on a process flag of the at least one socket for detecting the preset service port (Forman, col. 3, lines 34-53, Forman disclosed a configuration file defining the services provided by the server and corresponding ports that are used to provide those services, and “One or more service interface subclasses are derived from the abstract base class. The service interface subclasses represent the services provided by the server on corresponding sockets. When a client connects to a socket, then a service interface subclass defined for that socket services the client connection.”; col. 5, lines 1-22, Forman disclosed the configuration file including description of parameters for the sockets, including a type of service to be created for the port, to which sockets are created and having socket descriptors. The descriptors amount to the process flag that reflect a correspondence between a socket and a service).
One of ordinary skill in the art would have been motivated to combine the teachings of Gangasharan and Craig with Forman as they both provide teachings for providing network services, and as such, they are within similar environments.
Therefore it would have been obvious to one of ordinary skill in the art at the time the invention was filed to incorporate the utilization of descriptors in Forman’s configuration file within the combined teachings of Gangasharan and Craig in order to allow for the handling of multiple client requests, enabling the processing of client requests on different sockets corresponding to the client request (Forman, col. 1, lines 30-40), thereby increasing processing efficiency associated with socket assignment.
Allowable Subject Matter
Claims 20-23 would be allowable if rewritten to overcome the rejection(s) under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), 2nd paragraph, set forth in this Office action and to include all of the limitations of the base claim and any intervening claims.
Claim 31 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.
The following is a statement of reasons for the indication of allowable subject matter:
Regarding claim 20, Gangasharan and Craig disclosed the service response method according to claim 19, but did not explicitly disclose wherein the service response process comprises an old service response process for connecting to a service resource before a service version update and a new service response process for connecting to a service resource after the service version update; and the determining the target socket corresponding to the service request packet based on a process flag of the at least one socket for detecting the preset service port comprises:
determining, based on the process flag of the at least one socket for detecting the preset service port, a socket corresponding to the new service response process as a candidate socket; and determining the target socket corresponding to the service request packet based on the candidate socket.
Claims 21-22 are objected to by virtue of their dependencies to claim 20.
Regarding claims 23 and 31, Gangasharan and Craig disclosed the service response method according to claim 18, and electronic device of claim 29, wherein the preset socket option further comprises a protocol flag, and the protocol flag is used to reflect a correspondence between a socket and a packet type of the service request packet; and the determining the target socket corresponding to the service request packet based on a preset socket option of at least one socket for detecting the preset service port comprises: determining a socket corresponding to the packet type corresponding to the service request packet as a candidate socket based on the protocol flag of the at least one socket for detecting the preset service port; and determining the target socket corresponding to the service request packet based on the candidate socket.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JERRY B DENNISON whose telephone number is (571)272-3910. The examiner can normally be reached M-F 8:30-5:50.
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, Hadi Armouche can be reached on 571-270-3618. 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.
/JERRY B DENNISON/Primary Examiner, Art Unit 2409