DETAILED ACTION
1. 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 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.
Status of the application
2. This Office Action is in response to Applicant's amendments and arguments filed on 12/10/2025. Claims 1-7 are pending for this examination.
Acknowledgement
Claims 4, 6 and 7 have been amended.
Claims 8-9 were canceled previously.
In light of the applicant’s amendment to drawings, objection to Fig. 2 has been withdrawn.
In light of applicant’s amendment to claim 4, objection to claim 4 has been withdrawn.
Objection to the drawing/specification page 18 has not been addressed. As such, the objection still holds.
Response to Amendment/Arguments
Applicants' arguments have been carefully and respectfully considered and addressed but found not persuasive. Accordingly, this action has been made FINAL. Applicant's arguments in substance are as follows:Applicant argues on page 7, paragraph 1 of the “Remarks” section, " The rejection of Claim I asserts that Gruby teaches "establishing a connection relationship
between the functional modules by using the communication components," at Paragraph 21, citing, "FIG. IB then illustrates a block diagram of a device, in accordance with an example embodiment, for communications between independent component blocks" (Office Action, Page 5). As shown in Figure IB, however, the Block Comm. Application modules 133 do not establish a connection relationship between the component blocks 131 and 136 of the second application module. Rather, they all communicate solely with the URL Handler Module 140:".
Examiner's Response: Examiner respectfully disagrees. Connections between two nodes most of the time are logical links. Logical links go through multiple intermediate nodes including a router. Gruby shows a URL Handler module which is an intermediate node and it includes a router 149. As such, Gruby teaches “establishing a connection relationship between the functional modules”.
Examiner’s comments: Applicant can set up an interview to discuss further amendments for advancing prosecution. At this time, examiner does not have any suggestion.
Objection to Drawings/Specification
The specification, on page 18, refers to figures labeled “5557”, “5558” and “5559”. However, these labels are missing from the drawings. Appropriate correction or explanation is required.
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)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 3 and 4 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Gruby et al (hereinafter Gruby, Publication No.: US 2016/0124782).
As per claim 1, Gruby teaches,
An application program construction method comprising:
determining a plurality of functional modules that constituting an application program; (Gruby recites in [0017] “An "independent component block" may refer an
independent application, but an independent component block may also refer to a portion of an application if the application has multiple independent component blocks. In certain embodiments, a first independent application may be integrated with a second independent application to create a third independent application that has a first component block and a second component block.” Here an independent block is equivalent to a functional module. Please note that an independent application can be a collection of independent blocks.)
attaching a pre-configured communication component to each functional module; (Gruby Fig. 1B shows each component block [e.g., 131 and 136] is attached to a block communication module [e.g., 133 and 138]. Gruby recites in [0019] “This structure allows both independent applications and independent component blocks to be created and used modularly without a need to customize communications between the blocks in different implementations.” This shows that the communication blocks are preconfigured.)
establishing a connection relationship between the functional modules by using the communication components; and (Gruby recites in [0021] “FIG. 1B then illustrates a block diagram of a device, in accordance with an example embodiment, for communications between independent component blocks.”)
storing the connection relationship in a configuration file. (Gruby recites in [0022] starting at line 5 “First application module 120 may thus operate as an independent element which uses 1st resource identifier 122 and block communication module 123
to register a protocol name with the URL handler module 140. A record of this association may be stored in URL Association module 142. This record may be part of a table, a linked list, or any other record that may be used by the URL handler module 140 to route subsequent messages using communication routing module 149.” Here the URL associate module 142 saves the record in a table or linked list, etc. This is the connection configuration file.)
As per claim 3, Gruby teaches,
wherein the communication component comprises at least one of an input communication interface and an output communication interface. (Gruby Fig. 2 shows block communication module 233 outputs 250 and inputs 260. This shows input and output interface.)
As per claim 4, (Currently amended) Gruby teaches,
wherein the communication component further comprises at least one of:
a monitoring module, a caching module, and a load balancing module. (Gruby recites in [0047] last sentence “Further, sending the second message 260 in response to the performing of the first process may involve a trigger message being sent by the first process, a second process monitoring resource usage to determine when the first process is complete, or any other such indication associated with the first process.” This shows that the second process is monitoring resource usage.)
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 2 and 5 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Gruby as applied to claim 1 in view of Chen (hereinafter Chen, Publication No.: US 2020/0293383).
As per claim 2, Gruby teaches creation of application using independent component blocks. Gruby does not explicitly teach, “wherein the functional modules comprise threads or processes to implement independent functions.” However, in analogous art of application creation using component blocks, Chen teaches,
wherein the functional modules comprise threads or processes to implement independent functions. (Chen recites in [0070] starting at line 2, “FIG. 3A shows an application 12" in its execution phase, where the module implementation definition is translated by runtime into hardware-executable instructions 22A' 22 B', which are in tum executed in computer hardware as processes ( or threads) 24A 24B that perform the modules' intended tasks.”)
Therefore, it would have been obvious to a person of the ordinary skill in the art before the effective filling date of the invention to modify the above teaching of Gruby of application creation by incorporating the teaching “wherein the functional modules comprise threads or processes to implement independent functions” of Chen. The modification would have been obvious because one of the ordinary skills of the art would have implemented the function of executing each independent function as a task or as a thread to perform the function it is supposed to perform.
As per claim 5, Chen teaches,
further comprising modifying execution logic of the application program by modifying the configuration file. (Chen recites in [0003] starting at line 5, “One character of application module is that it exposes its attributes or parameters through the application-building environment (i.e. an IDE), where a developer can change the application's setting or behaviour by configuring these parameters.”)
Claims 6 and 7 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Comer (Pub. No.: US 2023/0058197) in view of Chen Publication No.: US 2020/0293383) and further in view of Gruby et al. (hereinafter Gruby, Pub. No.: US 2016/0124782).
As per claim 6, (Currently amended) Comer teaches,
An execution method of an application program, the method comprising:
initializing an application program, and loading an application program configuration file; (Comer recites in claim 1, last 3 limitations “programmatically build the software application, by: registering a plurality of reusable software modules from the set to the software application; and …. initialize the software application as a configuration file, wherein the initialization automatically applies a theme to each activity of each reusable software module registered to the software application,..”.)
wherein the output communication interface of the first functional module connects directly to an input communication interface of the second functional module. (Comer Fig. 2A and 2B show software module 2 and software module 3 communicates directly. Comer recites in [0065] starting at line 7, “For example, modules may reference each other by utilizing 'deeplinks' which are managed by example frameworks described herein ( .g., the module 22 can 'fire' a deep link which is intended for the module 23, ….).” Please note that here “deeplinks” provides output and input communication interfaces.)
Comer teaches creation of software applications. Comer does not explicitly teach, “a pre-configured port in an output communication interface of the second functional module” and “a pre-configured port in an output communication interface of the second functional module”. However, in analogous art of software application creation Gruby teaches,
“a pre-configured port in an output communication interface of the second functional module” and “a pre-configured port in an output communication interface of the second functional module” (Gruby Fig. 1B shows each component block or functional module [e.g., 131 and 136] is attached to a block communication module [e.g., 133 and 138]. Gruby recites in [0019] “This structure allows both independent applications and independent component blocks to be created and used modularly without a need to customize communications between the blocks in different implementations.” This shows that the communication blocks are preconfigured. Fig. 1B also shows that the communication blocks have both input and output interfaces.)
Therefore, it would have been obvious to a person of the ordinary skill in the art before the effective filling date of the invention to modify the above teaching of Comer of application creation by incorporating the teaching “a pre-configured port in an output communication interface of the second functional module” and “a pre-configured port in an output communication interface of the second functional module” of Gruby. The modification would have been obvious because one of the ordinary skills of the art would have implemented the function of providing input and output ports to each function modules for inter-process communication.
Comer and Gruby teach software application creation using independent software modules. They do not explicitly teach, “when a first functional module of the application program receives data, triggering execution of the first functional module; and sending, by the first functional module, data to a [preconfigured port in an output communication interface of the first functional module] according to an execution result of the first functional module, so as to trigger execution of a second functional module bound to the port, sending, by the second functional module, data to a [pre-configured port in an output communication interface of the second functional module] according to an execution result of the second functional module, so as to trigger execution of a third functional module bound to the port, and so on, until execution of the application program ends.” However, Chen and Gruby together teach,
when a first functional module of the application program receives data, triggering execution of the first functional module; and (Chen recites in [0069] and [0070] “Application Runtime Process. An application enters its execution phase when its
implementation is executed by a runtime.” Chen recites in [0079] “The "Reading" task, which reads input files and parses the file content for retrieving HL 7 records,
output retrieved records;”. Please refer to Fig. 4. This shows that the first functional module [or task] receives input file and triggering execution of parsing the file and retrieves HL7 records.)
sending, by the first functional module, data to a preconfigured port in an output communication interface of the first functional module according to an execution result of the first functional module, so as to trigger execution of a second functional module bound to the port, (Chen Fig. 4 shows output from the “reading” task [or function] to the filtering task and triggers the filtering task. Please note it has been shown above that Gruby teaches preconfigured port in an output communication interface.)
sending, by the second functional module, data to a pre-configured port in an output communication interface of the second functional module according to an execution result of the second functional module, so as to trigger execution of a third functional module bound to the port, and (Chen Fig. 4 shows output from the filtering task sends input to the “writing” task and triggers the writing task. Please note it has been shown above that Gruby teaches preconfigured port in an output communication interface.)
so on, until execution of the application program ends[[.]]; (Chen Fig. 4 shows out from the “writing” task ends the application program.)
Therefore, it would have been obvious to a person of the ordinary skill in the art before the effective filling date of the invention to modify the above teaching of Comer and Gruby of application creation by incorporating the teaching “when a first functional module of the application program receives data, triggering execution of the first functional module; and sending, by the first functional module, data to a [preconfigured port in an output communication interface of the first functional module] according to an execution result of the first functional module, so as to trigger execution of a second functional module bound to the port, sending, by the second functional module, data to a [pre-configured port in an output communication interface of the second functional module] according to an execution result of the second functional module, so as to trigger execution of a third functional module bound to the port, and so on, until execution of the application program ends” of Chen and Gruby. The modification would have been obvious because one of the ordinary skills of the art would have implemented the function of inter-process communication for an application to work using independent software modules.
As per claim 7, this is a device claim that substantially parallels the limitations of the method claim 6. It would have been obvious to one of ordinary skill in the art before the time of the effective filing date of the invention to implement the prescribed method steps as a device.
References of Note
Examiner has cited particular columns, line numbers, references, or figures in the references applied to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses to fully consider the reference in entirety, as potentially teaching all or part of the claimed invention. See MPEP §§ 2141.02 and 2123.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HOSSAIN MORSHED whose telephone number is (571)272-3335. The examiner can normally be reached on Monday – Friday12:00 PM – 9 PM Eastern Time. The email address for the examiner is hossain.morshed@uspto.gov.
Examiner interviews are available via telephone or 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 Mui can be reached on (571)272-3708.
/HOSSAIN M MORSHED/Primary Examiner, Art Unit 2191
January 24, 2026