DETAILED ACTION
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 .
This Office Action is in response to the filing date of 2/19/2024.
Claims 1-20 are pending and have been considered below.
Claim Objection
Regarding claims 1, 3, 11, and 13, when the claim includes parentheses for plural forms (i.e. (s)), it renders the claim unclearly define singular or plural because it can be interpreted in different ways, potentially broadening or narrowing the claim. Applicant is respectfully suggested to use the phrase “at least one or more” for pluralization. For example, “at least one or more protocol and functionality specifications”
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.
Claim 1 recites the limitations “a computer-implemented method for API driven application development and execution, wherein the method comprises: defining, at the development phase, based on the protocol and functionality specification(s), the expected service behaviors with one or more process flows and storing the definition results in storage device; loading, upon application execution, the application definitions from the storage device and validating the correctness and completeness of the definitions; initiating the event process engine by linking the methods, operations defined in the protocol and specification(s) with corresponding process flow identifier(s) associated with sequences of activities, service calls; determining the execution mode for each process flow.” There are insufficient antecedent bases for these limitations in the claim. Examiner interprets claim 1 to read as “A computer-implemented method for API driven application development and execution, wherein the method comprises: defining, at development phase, based on at least one or more protocol and functionality specifications, expected service behaviors with one or more process flows and storing definition results in a storage device; loading, upon application execution, application definitions from the storage device and validating correctness and completeness of the application definitions; initiating event process engine by linking methods, operations defined in the one or more protocol and functionality specifications with corresponding one or more process flow identifiers associated with sequences of activities, and service calls; determining an execution mode for each process flow.”
Claim 11 recites the limitations “a system comprising: a memory to store instructions; a processor to execute instructions; a network interface coupled to the processor to enable communication over a network; an application execution engine software stored in the storage device, wherein an execution of the software by the processor configures the computing device to perform acts comprising: loading, upon application execution, the application definitions from the storage device or via the network interface, where the definitions include protocol specification, process and flow definitions based on the business requirement; validating the correctness and completeness of the definitions; initiating the event process engine by linking the methods, operations defined in the protocol specification(s) with corresponding process flow identifier(s) associated with sequences of activities, service calls; determining the execution mode for each process flow” There are insufficient antecedent bases for these limitations in the claim. Examiner interprets claim 11 to read as “a system comprising: a memory to store instructions; a processor to execute instructions; a network interface coupled to the processor to enable communication over a network; an application execution engine software stored in a storage device, wherein an execution of the application execution engine software by the processor configures the system to perform acts comprising: loading, upon application execution, application definitions from the storage device or via the network interface, where the application definitions include protocol specification, process and flow definitions based on the business requirement; validating the correctness and completeness of the application definitions; initiating the event process application execution engine software by linking the methods, operations defined in the protocol specification with corresponding process flow identifier associated with sequences of activities, service calls; determining an execution mode for each process flow.
Claim 2 recites the limitations “…upon determining a process flow to run in the producer mode, wherein the method further comprises: converting, dynamically in the process memory, the protocol specification into event handlers and registering in the event process engine with the process flow definition; establishing, based on definition, one or more server sockets to listen for incoming events over the networks; upon receiving incoming events, decoding the received packets, associating with corresponding event handlers, validating the request data against the data schemas defined in the protocol specification; upon successful validation, triggering the event process engine to execute the associated process flow, convert the returned success flow execution results into the response format defined in the protocol specification, and returning the response messages to the requesting party upon failed validations or failed flow results, generating an error response message according to the protocol specification and returning the error response to the requesting party.” There are insufficient antecedent bases for these limitations in the claim. Examiner interprets claim 2 to read as “…upon determining a process flow to run in a producer mode, wherein the method further comprises: converting, dynamically in a process memory, the protocol and functionality specification into event handlers and registering in the event process engine with a process flow definition; establishing, based on the process flow definition, one or more server sockets to listen for incoming events over the networks; upon receiving incoming events, decoding received packets, associating with corresponding event handlers, validating request data against data schemas defined in the protocol and functionality specification; upon successful validation, triggering the event process engine to execute the associated process flow, convert returned success flow execution results into response messages defined in the protocol and functionality specification, and returning the response messages to a requesting party upon failed validations or failed flow results, generating an error response message according to the protocol and functionality specification…”
Claim 12 recites similar limitations and therefore are rejected for the same reasons given for claim 2 above.
Claim 3 recites the limitations “…upon determining a process flow to run in the consumer mode, wherein the method further comprises: converting, dynamically in the process memory, the protocol specification into action handler and registering in the event process engine with the process flow definition; establishing, based on definition, network socket(s) to the specified component(s), or selecting a client a client socket from established connection pool(s); upon executed by the process flow, collecting and transforming the parameters, creating the request packets based on the schemas defined in the protocol specification, and sending to the specified component over the selected client socket(s); upon receiving the response packet, decoding the response packet, identifying the corresponding process flow identifier for the responding handling, validating the corresponding content against the protocol specification; upon successful validation, converting the returned results into the format required by the next hop of the process flow, triggering the event process engine to resume the remaining process flow; upon failed validation, results or exceptions, triggering the exception or error handling to complete the remaining process flow.” There are insufficient antecedent bases for these limitations in the claim. Examiner interprets claim 3 to read as “…upon determining a process flow to run in a consumer mode, wherein the method further comprises: converting, dynamically in a process memory, the protocol and functionality specification into action handler and registering in the event process engine with a process flow definition; establishing, based on the process flow definition, at least one or more network sockets to a specified component, or selecting a client socket from at least one or more established connection pools; upon executing the process flow, collecting and transforming parameters, creating request packets based on schemas defined in the protocol specification, and sending to the specified component over the selected client socket(s); upon receiving the requested packets, decoding the requested packets, identifying the corresponding process flow identifier for the responding action handler, validating corresponding content against the protocol and functionality specification; upon successful validation, converting returned results into a format required by a next hop of the process flow, triggering the event process engine to resume remaining process flow; upon failed validation, results or exceptions, triggering an exception or error handling to complete the remaining process flow.”
Claim 13 recites similar limitations and therefore are rejected for the same reasons given for claim 3 above.
Claims 1-20 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.
With respect to claim 1, recites:
“defining…expected service behaviors with one or more process flows and storing the definition results…” but it is unclear whether or not the expected service behaviors are defined for the process flows or the process flow are defined to include the expected service behaviors. It is also unclear whether or not the defined service behaviors are the definition results of the defining step. What is the relationship between the expected service behaviors, process flow and the definition results?
“loading, upon application execution, the application definitions from the storage device” but it is unclear whether the application definitions are the definition results defined and stored in the storage device in the previous step. It’s also unclear whether or not the application definitions belong to the application execution. It’s further unclear whether “upon application execution” means “upon executing an application”?
“initiating the event process engine by linking the methods, operations defined in the protocol and functionality specification(s) with corresponding process flow identifier(s) associated with sequences of activities, service calls” but it is unclear whether the event process engine performs the linking process or by linking the methods, operations and service calls, the event process engine is initiating? What are the methods and service calls? Are they part of the executed application?
“determining the execution mode for each process flow” and it’s unclear when did the process flows get executed. Whether the process flows are executed after initiating the event process engine. What is the relationship between the application being executed and the process flow?
With respect to claim 11, recites similar limitations as in claim 1 and therefore is rejected for the same reason given for claim 1 above.
Claims 2-10 and 12-20 directly or indirectly depend on claims 1 and 11 respective, and therefore are rejected for the same reasons given for claim 1 above.
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 1 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Under Prong 1, the claim recites “defining, at development phase, based on protocol and functionality specification, expected service behaviors with one or more process flows”, “validating correctness and completeness of the application definitions”, “linking methods, operations defined in the protocol and functionality specification with corresponding process flow identifier associated with sequences of activities, and service call”, and “determining an execution mode for each process flow” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitation as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
Under Prong 2, Step 2A, the judicial exception is not integrated into a practical application. The claim recites the following additional elements “storing definition results in storage device” and “initiating event process engine” are merely instructions to implement the abstract idea on a computer, or merely uses a computer, with instructions, as a tool to perform the abstract idea according to MPEP 2106.05(f), thus, not indicative of an integration into a practical application. The additional elements “loading, upon application execution, application definitions from the storage device” does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements “storing definition results in storage device” and “initiating event process engine” are generic computer components used as the tools to perform the abstract idea. The additional elements “loading, upon application execution, application definitions from the storage device” the courts have identified that receiving data or data gathering and displaying/presenting the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claim 11 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim recites a system for performing the steps recited in claim 1 and therefore is rejected for the same reason given for claim 1 above.
Claims 4-10 and 14-20 recite the additional elements that integrate the abstract idea into a practical application. The post-solution activity is well understood, routine, and conventional activity. Therefore, it does not amount to significantly more than the abstract idea. Accordingly, the claims do not appear to be patent eligible under 35 USC 101. See MPEP 2106.05(d).
Allowable Subject Matter
With respect to independent claim 1, applicant’s claimed invention is allowable over the prior arts of record as the prior arts do not teach or suggest, either solely or in any reasonable combination limitations “defining, at the development phase, based on protocol and functionality specification, expected service behaviors with one or more process flows and storing definition results in storage device; loading, upon application execution, application definitions from the storage device and validating correctness and completeness of the application definitions; initiating event process engine by linking methods, operations defined in the protocol and functionality specification with corresponding process flow identifier associated with sequences of activities, service calls; determining an execution mode for each process flow.” However, claim 1 is rejected under 35 U.S.C. 101 as being directed to an abstract idea.
Independent claim 11 recites similar limitations as in claim 1 and therefore is allowable over the prior arts of record for the same reason given for claim 1 above. However, claim 11 is rejected under 35 U.S.C. 101 as being directed to an abstract idea.
Claims 2, 3, 12, and 13 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent from including all of the limitations of the base claims.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reason for Allowance.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PHILLIP H NGUYEN whose telephone number is (571)270-1070. The examiner can normally be reached Monday-Friday 9:00AM-5: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, Wei Zhen can be reached at (571) 272-3708. 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.
/PHILLIP H NGUYEN/Primary Examiner, Art Unit 2191