Prosecution Insights
Last updated: October 01, 2026
Application No. 18/742,068

METHODS AND SYSTEMS FOR ENABLING A HYBRID ARCHITECTURE IN AN ENTERPRISE APPLICATION

Non-Final OA §103§112
Filed
Jun 13, 2024
Priority
Jun 22, 2023 — IN 202321041665
Examiner
NIGATU, BEZA DIRESSA
Art Unit
4100
Tech Center
4100
Assignee
Tata Group
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 0 resolved
-60.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
Avg Prosecution
12 currently pending
Career history
14
Total Applications
across all art units
This examiner has no resolved cases yet (career too new); statute-level performance unavailable. The Grant Probability card shows Tech Center averages instead.

Office Action

§103 §112
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 action is in response to the application filed on 06/13/2024. Priority Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55. Information Disclosure Statement The information disclosure statement (IDS) submitted on 06/13/2024 is in compliance with the provisions of 37 CFR 1.97 and is being considered by the examiner. Examiner Notes Examiner cites paragraphs, figures, and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. As a disclaimer, the use of underlining in direct quotes is done by the examiner for emphasis. Direct quotes are not originally underlined in the published references cited. Claim Objections Claims 1-12 are objected to because of the following informalities: Line 34 of Claim 1, line 35 of Claim 5, and line 30 of Claim 9 recites “(a)” in a list after (i) and (ii). “(a)” should be deleted and indentation should be removed. Line 3 of Claim 1, line 8 of Claim 5, and line 4 of Claim 9 should have “wherein set” corrected as --wherein the set--. Line 4 of Claim 1, line 8 of Claim 5, and line 4 of Claim 9 should have “represents specification” corrected as --represents a specification--. Line 6 of Claim 1 should have “by one” corrected as --by the one--. Claims 2-4 inherits the issue from Claim 1; Claims 6-8 inherits the issue from Claim 5; Claims 10-12 inherits the issue from Claim 9. Line 3 of Claim 3, line 3 of Claim 7, line 3 of Claim 11 should have “to one” as --to the one--. Line 3 of Claim 4, line 3 of Claim 8, line 3 of Claim 12 should have “to one” as --to the one--. 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 1-12 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. Lines 29-30 of Claim 1, line 4 of Claim 3, and line 4 of Claim 4 recites the limitation, "the at least two different libraries". Because this limitation lacks antecedent basis, it is unclear whether the applicant is referring to line 16 of Claim 1 “at least two libraries”, or if “different” is meant to refer to two different entities. If the applicant meant to refer to the libraries, clearer language to suggest this may be, “wherein the two libraries are different libraries”. Lines 29-30 of Claim 5, lines 3-4 of Claim 7, lines 3-4 of Claim 8, lines 25-26 of Claim 9, line 4 of Claim 11, and line 4 of Claim 12 have the same issue. For the purposes of examination, the examiner will treat “the at least two different libraries” as --the at least two libraries--. The issue is inherited in Claim 2 from Claim 1, Claim 6 from Claim 5, and Claim 10 from Claim 9. Line 4 of Claim 2 recites the limitation, “the binary to source code matching module”. It is unclear whether the binary is referring to “a set of binary fragments” in lines 7-8 of Claim 1 or “a set of matched binary fragments” in lines 8-9 of Claim 1. For examination purposes, “the binary” in line 4 of Claim 2 will be treated as referring to "a set of matched binary fragments" in lines 8-9 of Claim 1. 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 1-12 are rejected under 35 U.S.C. 103 as being unpatentable over Balko (U.S. Publication No. 2013/0041925, hereinafter Balko) in view of Doi et al. (U.S. Publication No. 2011/0131554, hereinafter Doi) and Rozenberg et al. (U.S. Publication No. 2019/0050555, hereinafter Rozenberg). Regarding Claim 1: Balko discloses, “A processor implemented method, comprising: receiving, via a first module executed by one or more hardware processors” (In paragraph [0025], “It will be understood that while portions of the software illustrated in FIG. 1 are shown as individual modules that implement the various features and functionality through various objects, methods, or other processes, the software may instead include a number of sub-modules”. In paragraph [0024], “As illustrated in FIG. 1, the application server 103 includes a processor 109”. In paragraph [0053], “The software developer server 157 includes … a processor 163”. In paragraph [0054], “each client 181 includes a processor 187”.); “an enterprise application and a set of detection rules as an input” (In paragraph [0014], “Transformation scripts and rule sets can be provided as part of standard lifecycle management procedures such as updates, upgrades, and/or fixes … Once received, the rule sets can be interpreted”. In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); (Examiner’s Note: The claimed “set of detection rules” is mapped to Balko’s “transformation scripts”.); “wherein set of detection rules represents specification of one or more method signatures of an existing library used by the enterprise application” (In paragraph [0030], “The transformation scripts 118 can include a set of matching rules (or clauses) and a set of transformation functions that combine to define one or more transformation rules associated with the associated process binary 151”. In paragraph [0013], “transformation functions can access a library of functions that can be used to construct a variety of process binary entities, such as operators, script statements, types, and others”. In paragraph [0031], “In order to provide consistent modifications and textual matching, the transformation scripts 118 may be associated with a scripting language that can be used by the silent migration controller 127 to perform the defined modifications and identify the correct matches”. Further in paragraph [0031], “The following illustrates an example implementation of a defined syntax used for the scripting language for some transformation scripts 118. The defined syntax of the example scripting language (written in Backus-Naur-Form) states: … METHODS ATTRIBUTES … METHOD ::= [IDENTIFIER "=" "("]”. In paragraph [0012], “Entities may further be represented as JavaScript (or other suitable) objects, giving access to the referenced entities through the properties of the corresponding objects. For example, a type gives access to an object's attributes which, in turn, give access to their name and type”.); “performing, via the first module executed by one or more hardware processors, a match between the set of detection rules and a set of binary fragments identified in the enterprise application to obtain a set of matched binary fragments” (In paragraph [0014], “Transformation scripts and rule sets can be provided as part of standard lifecycle management procedures such as updates, upgrades, and/or fixes … Once received, the rule sets can be interpreted … the transformation scripts succeed … through a number of advantages, including (1) being able to match and transform underspecified patterns of process binary entities and any properties thereof … to match process binary entities and fragments thereof”. In paragraph [0030], “The transformation scripts 118 can include a set of matching rules (or clauses) and a set of transformation functions that combine to define one or more transformation rules associated with the associated process binary 151”. In paragraph [0012], “matching clauses can be constructed to bind any suitable process binary fragment … to a variable that can be referenced from within a transformation function within the migration instructions”. Further in paragraph [0012], “Transformation functions can apply to or be associated with an arbitrary combination of matching clauses, and can have access to both the global entities that are matched by one of the matching clauses … and/or the additional variables that are optionally bound to fragments or properties of those entities”.); “obtaining, via a second module executed by the one or more hardware processors, a plurality of source code fragments by mapping the set of matched binary fragments to a corresponding application source code of the enterprise application” (In paragraph [0013], “Transformation functions can further alter process binary entities … To do so, transformation functions can access a library of functions that can be used to construct a variety of process binary entities, such as operators, script statements”. In paragraph [0014], “the transformation scripts … including … (3) relying on industry standards (i.e., regular expressions, XPath, etc.) to match process binary entities and fragments thereof, (4) using a non-typed and dynamically interpreted standard scripting language (i.e., ECMAScript) to manipulate process binary entities, and (5) representing process binary entities as JavaScript objects for each access and manipulation. That is, the process binary entities become directly accessible by means of the scripting language's programming model (i.e., no further transformation is required)”. In paragraph [0028], “The business process binaries 115 represent compiled versions of one or more BPMN models 169 … process binaries 115 (and 172) that are created after compiling the underlying, corresponding BPMN model 169”. In paragraph [0015], “working with one or more of the deployed process binaries 151 to execute and perform tasks associated with the underlying business process and business process application 121”. In paragraph [0061], “process binaries may be stored in an executable format, and may include one or more constructs interpreted by a runtime engine or environment to perform the corresponding business processes associated with the process binary. By parsing the process binary into a text-based version, such as a text file, XML file, or other suitable file type, the changes to the process binary can be applied using matching and transformation rules within a rule set”. In paragraph [0065], “process 300 for matching portions of a business process binary to a matching rule included in a rule set and applying a corresponding transformation rule to a portion of the process binary identified by the matching rule”. In paragraph [0062], “the transformation rule set may be defined in a particular scripting language (or combination of languages), such that the rule set is provided in the appropriate scripting language so that the matching and transformation rules can be read, interpreted, and executed by an appropriate engine, program, or component.”. In paragraph [0025], “It will be understood that while portions of the software illustrated in FIG. 1 are shown as individual modules that implement the various features and functionality through various objects, methods, or other processes, the software may instead include a number of sub-modules”.). Balko does not disclose however Doi discloses, “enabling, via a third module executed by the one or more hardware processors,” (In paragraph [0090], “an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system."”. In paragraph [0095], “Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) … such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus”.); “a hybrid application architecture using the plurality of source code fragments to generate a modified [] application that supports at least two libraries” (In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … generating at least one execution pattern for the first user defined operator based on the available hardware resource … the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0052], “the optimization table generation module 204 initializes a set of the combination of architectures to be used and the number of resources to be used”. In paragraph [0057], “the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed”. In paragraph [0068], “FIG. 7 shows a general flowchart illustrating the entire processing of generating the executable program according to an embodiment of the present invention”. In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.); (Examiner’s Note: The claimed “modified … application” is mapped to Doi’s application after optimization.); (Examiner’s Note: The claimed “enterprise” and the origins of how the “source code fragments” was obtained, is disclosed above in Balko’s reference.); “wherein the modified [] application is generated by changing a code base of the [] application” (In paragraph [0037], “it is possible to generate an executable code optimized as much as possible with respect to the use of resources and execution speed on a hybrid system by referencing an optimization table generated based on library components”. In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … the method includes the steps … compiling the execution pattern … where at least one of the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0051], “the kernel definition is a concrete code dependent on a hardware architecture”. In paragraph [0057], “the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed”. In paragraph [0059], “In step 320, the number of resources to be used or the combination of architectures to be used is changed”. In paragraph [0060], “Next, returning to step 310 … Otherwise, in step 312, the optimization table generation module 204 selects a kernel executable for the resource selected in step 320”.); “and wherein the at least two libraries include at least (i) one or more existing libraries” (In paragraph [0045], “The library component 202 is preferably generated in advance by an expert programmer and preferably stored in a hard disk drive of another computer system other”. In paragraph [0037], “an optimization table generated based on library components”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “and (ii) one or more incoming libraries;” (In paragraph [0005], “On every attempt to access the shared library API, the admin server ensures that the customer application is authorized to access the shared library. The attempt may be detected during an on-load event or on any other use of the shared library API by the customer application”. In paragraph [0006], “the admin server verifies that the customer application is authorized to access the shared library and if so, allows the customer application to access the shared library”.); “configuring, via a fourth module executed by the one or more hardware processors, the [] in the modified [] application such that compatibility between the [] is maintained” (In paragraph [0051], “a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described”. In paragraph [0029], “the configuration module 222 allows … updating or retrieving a trusted application from the profile database 240”. In paragraph [0027], “Each property of the customer application 106 profile is analyzed to determine if it complies with the properties and constraints defined by a trusted application configuration to determine if the customer application can access to the shared library 224 API. For example, if the “configuration name” of a trusted application profile is a required property, the configuration module 222 ensures that the customer application profile includes the “configuration name” property before providing authorizing the customer application”. In paragraph [0030], “A shared library 224 includes a set of libraries that can be accessed by an executing customer application 106. Each set of libraries may include one or more instances of pre-compiled code to be shared between several customer applications 106”.); (Examiner’s Note: The claimed “enterprise” and the origins of how the “source code fragments” was obtained, is disclosed above in Balko’s reference.); “wherein the [] in the modified [] application are configured by performing at least one of: (i) detecting one or more first type of program variables and one or more second type of program variables in the plurality of source code fragments based on a status indicative of an impact on the modified [] application due to one or more incoming libraries from the []; application profile (or simply “profile”, hereinafter) is received from the customer application 106. In some embodiments, the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0019], “A customer application profile can include the following fields:”; Listed in paragraphs [0020] – [0024], “1. Configuration name: a name used to identify the customer application 106, for example, shopping cart, order entry, etc. 2. Description: a description of the usage of the configuration of the customer application 106, for example, “data protection”, “media generation”, etc. 3. Application name: a name of the customer application (e.g., the name of a process or class of the customer application) accessing the shared library API. 4. Application user: the user name of the user of the customer application. 5. Audit Success: a flag that can be set to true to generate an audit trail when an authorized customer application accesses the shared library API”. In paragraph [0029], “The access to the configuration module 222 and the profile database 240 is subject to authentication. The authentication may be role-based, to ensure that an authenticated user performs the operations of … updating or retrieving trusted applications … To update a profile of a trusted application stored in the profile database 240, a user can retrieve a specific profile of a trusted application from the profile database 240 by conducting a search via the user interface tool 140 … for example, a user can search based on an application name or a configuration name or any other such property”. In paragraph [0026], “the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0042], “FIG. 3B illustrates an example of a customer application profile that attempts to access a shared library … an audit module 225 may send an exception or an error message to extract a customer application profile of an unauthorized customer application. The exception or error message may include code to extract the profile of the customer application 106. The extracted customer application profile may include a “friendly name” field, an “application name” field, and an “application user” field”.); (Examiner’s Note: The claimed “at least two libraries” is disclosed above in Doi’s reference. Additionally, note that each type of program variable is mapped to Rozenberg’s each type of customer application profile field.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 2: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); “obtained by the binary to source code matching module” (In paragraph [0014], “the transformation scripts … including … (3) relying on industry standards (i.e., regular expressions, XPath, etc.) to match process binary entities and fragments thereof, (4) using a non-typed and dynamically interpreted standard scripting language (i.e., ECMAScript) to manipulate process binary entities, and (5) representing process binary entities as JavaScript objects for each access and manipulation. That is, the process binary entities become directly accessible by means of the scripting language's programming model (i.e., no further transformation is required)”.); Balko does not disclose however Doi discloses, “wherein the code base of the [] application is changed by” (In paragraph [0037], “it is possible to generate an executable code optimized as much as possible with respect to the use of resources and execution speed on a hybrid system by referencing an optimization table generated based on library components”. In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … the method includes the steps … compiling the execution pattern … where at least one of the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0049], “The following describes the optimization table generation processing performed by the optimization table generation module 204 with reference to the flowchart of FIG. 3”. In paragraph [0050], “In FIG. 3, in step 302, the optimization table generation module 204 selects UDOP in the library component 202 … The library component 202 is a set of programs for performing a certain collective function”.); “(i) annotating a plurality of functions invoking the plurality of source code fragments []” (In paragraph [0050], “In FIG. 3, in step 302, the optimization table generation module 204 selects UDOP in the library component 202 … The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0051], “In step 304, a kernel definition for performing the selected UDOP is acquired. Here, the kernel definition is a concrete code dependent on a hardware architecture corresponding to UDOP”. In paragraph [0052], “In step 308, the optimization table generation module 204 initializes a set of the combination of architectures to be used and the number of resources to be used”.); “(ii) creating one or more new paths around each of the annotated plurality of functions in the plurality of source code of the [] application to support execution of ]” (In paragraph [0068], “The following describes a method for generating a program executable on a hybrid system as shown in FIG. 1 by referencing the generated optimization table 210 with reference to FIG. 7 and subsequent figures … it should be noted that the compiler 206 can reference the library component 202”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0069], “In step 706, the compiler 206 allocates logical nodes to the network of physical nodes and determines the communication method between the nodes”. In paragraph [0053], “In step 314, the optimization table generation module 204 generates an execution pattern”. In paragraph [0057], “In step 316, the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed by a selected resource in the execution environment 208”. In paragraph [0048], “The compiler 206 has a function of clustering computational resources according to a node configuration and … as well as the function of compiling codes to generate executable codes”.); “and (iii) injecting a plurality of new source code fragments in the created one or more new paths around each of the annotated plurality of functions in the plurality of source code of the [] application” (In paragraph [0059], “In step 320, the number of resources to be used or the combination of architectures to be used is changed”. In paragraph [0060], “Next, returning to step 310, … Otherwise, in step 312, the optimization table generation module 204 selects a kernel executable for the resource selected in step 320”. In paragraph [0051], “the kernel definition is a concrete code”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “the one or more incoming libraries” (In paragraph [0005], “On every attempt to access the shared library API, the admin server ensures that the customer application is authorized to access the shared library. The attempt may be detected during an on-load event or on any other use of the shared library API by the customer application”. In paragraph [0006], “the admin server verifies that the customer application is authorized to access the shared library and if so, allows the customer application to access the shared library”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 3: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); Balko does not disclose however Doi discloses, “at least two different libraries” (In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “wherein the one or more first type of program variables in the plurality of source code fragments exhibit no relation on the modified [] application due to one or more incoming libraries from the []” (In paragraph [0026], “the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0042], “FIG. 3B illustrates an example of a customer application profile that attempts to access a shared library … an audit module 225 may send an exception or an error message to extract a customer application profile of an unauthorized customer application … The extracted customer application profile may include a “friendly name” field, an “application name” field, and an “application user” field”. In paragraph [0039], “Each trusted application profile 320 is stored as a database entry in the profile database 240. The datastore ID and database name fields indicate a database identifier for the database entry to enable subsequent access to and retrieval of one or more trusted application profiles”. In paragraph [0029], “the configuration module 222 allows adding a trusted application to the profile database 240, removing/deleting a trusted application from the profile database 240, and updating or retrieving a trusted application from the profile database 240”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 4: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); Balko does not disclose however Doi discloses, “at least two different libraries” (In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “wherein the one or more second type of program variables in the plurality of source code fragments exhibit an impact on the modified [] application due to one or more incoming libraries from the []” (In paragraph [0026], “a value for each property of the application profile (or simply “profile”, hereinafter) is received from the customer application 106. In some embodiments, the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0029], “The access to the configuration module 222 and the profile database 240 is subject to authentication. … To update a profile of a trusted application stored in the profile database 240, a user can retrieve a specific profile of a trusted application … for example, a user can search based on an application name or a configuration name or any other such property”. In paragraph [0035], “If the customer application is authorized to access the shared library API, the verification module 223 sets the success status flag to true”. In paragraph [0044], “FIG. 4 illustrates a method of enforcing access to the shared library … a web security officer may receive a list of customer applications (for instance, compiled in response to requests from the customer applications) for verification as trusted applications”. In paragraph [0045], “To configure 404 a customer application as a trusted application, the admin server 120 compares each property of a customer application profile to a corresponding property of a trusted application configuration to ensure that each compared property of the customer application complies with the constraints associated with the property of the trusted application configuration”. In paragraph [0040], “An “audit success” field may reflect the last known status of an authorization of a customer application on an attempt to access the shared library API”.). (Examiner’s Note: Rozenberg’s application, which may be modified in an update [0029], exhibits an impact of compilation [0044, 0045], if authorization is verified [0040].). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 5: Balko discloses, “A system, comprising: a memory storing instructions; one or more communication interfaces; and one or more hardware processors coupled to the memory via the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to” (In paragraph [0006], “The present disclosure describes methods, systems, and computer program products for migrating business process content”. In paragraph [0022], “the application server 103 may be communicably coupled with a network 154 that facilitates wireless or wireline communications between the components of the environment 100 … as well as with any other local or remote computer, such as additional clients, servers, or other devices communicably coupled to network 154, including those not illustrated in FIG. 1”. In paragraph [0019], “In the illustrated implementation of FIG. 1, the application server 103 includes an interface 106, a processor 109, a memory 112”. In paragraph [0024], “Generally, the processor 109 executes instructions and manipulates data to perform the operations”.); “receive an enterprise application and a set of detection rules as an input” (In paragraph [0014], “Transformation scripts and rule sets can be provided as part of standard lifecycle management procedures such as updates, upgrades, and/or fixes … Once received, the rule sets can be interpreted”. In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); “wherein set of detection rules represents specification of one or more method signatures of an existing library used by the enterprise application” (In paragraph [0030], “The transformation scripts 118 can include a set of matching rules (or clauses) and a set of transformation functions that combine to define one or more transformation rules associated with the associated process binary 151”. In paragraph [0013], “transformation functions can access a library of functions that can be used to construct a variety of process binary entities, such as operators, script statements, types, and others”. In paragraph [0031], “In order to provide consistent modifications and textual matching, the transformation scripts 118 may be associated with a scripting language that can be used by the silent migration controller 127 to perform the defined modifications and identify the correct matches”. Further in paragraph [0031], “The following illustrates an example implementation of a defined syntax used for the scripting language for some transformation scripts 118. The defined syntax of the example scripting language (written in Backus-Naur-Form) states: … METHOD ::= [IDENTIFIER "=" "("]”. In paragraph [0012], “Entities may further be represented as JavaScript (or other suitable) objects, giving access to the referenced entities through the properties of the corresponding objects. For example, a type gives access to an object's attributes which, in turn, give access to their name and type”.); “perform a match between the set of detection rules and a set of binary fragments identified in the enterprise application to obtain a set of matched binary fragments” (In paragraph [0014], “Transformation scripts and rule sets can be provided as part of standard lifecycle management procedures such as updates, upgrades, and/or fixes … Once received, the rule sets can be interpreted … the transformation scripts succeed … through a number of advantages, including (1) being able to match and transform underspecified patterns of process binary entities and any properties thereof … to match process binary entities and fragments thereof”. In paragraph [0030], “The transformation scripts 118 can include a set of matching rules (or clauses) and a set of transformation functions that combine to define one or more transformation rules associated with the associated process binary 151”. In paragraph [0012], “matching clauses can be constructed to bind any suitable process binary fragment … to a variable that can be referenced from within a transformation function within the migration instructions”. Further in paragraph [0012], “Transformation functions can apply to or be associated with an arbitrary combination of matching clauses, and can have access to both the global entities that are matched by one of the matching clauses … and/or the additional variables that are optionally bound to fragments or properties of those entities”.); “obtain a plurality of source code fragments by mapping the set of matched binary fragments to a corresponding application source code of the enterprise application” (In paragraph [0013], “Transformation functions can further alter process binary entities … transformation functions can access a library of functions that can be used to construct a variety of process binary entities, such as operators, script statements”. In paragraph [0014], “the transformation scripts … including … (3) relying on industry standards (i.e., regular expressions, XPath, etc.) to match process binary entities and fragments thereof, (4) using a non-typed and dynamically interpreted standard scripting language (i.e., ECMAScript) to manipulate process binary entities, and (5) representing process binary entities as JavaScript objects for each access and manipulation. That is, the process binary entities become directly accessible by means of the scripting language's programming model (i.e., no further transformation is required)”. In paragraph [0028], “The business process binaries 115 represent compiled versions of one or more BPMN models 169 … process binaries 115 (and 172) that are created after compiling the underlying, corresponding BPMN model 169”. In paragraph [0015], “working with one or more of the deployed process binaries 151 to execute and perform tasks associated with the underlying business process and business process application 121”. In paragraph [0061], “process binaries may be stored in an executable format, and may include one or more constructs interpreted by a runtime engine or environment to perform the corresponding business processes associated with the process binary. By parsing the process binary into a text-based version, such as a text file, XML file, or other suitable file type, the changes to the process binary can be applied using matching and transformation rules within a rule set”. In paragraph [0065], “process 300 for matching portions of a business process binary to a matching rule included in a rule set and applying a corresponding transformation rule to a portion of the process binary identified by the matching rule”. In paragraph [0062], “the transformation rule set may be defined in a particular scripting language (or combination of languages), such that the rule set is provided in the appropriate scripting language so that the matching and transformation rules can be read, interpreted, and executed by an appropriate engine, program, or component”.). Balko does not disclose however Doi discloses, “enable a hybrid application architecture using the plurality of source code fragments to generate a modified [] application that supports at least two libraries” (In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … generating at least one execution pattern for the first user defined operator based on the available hardware resource … the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0052], “the optimization table generation module 204 initializes a set of the combination of architectures to be used and the number of resources to be used”. In paragraph [0057], “the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed”. In paragraph [0068], “FIG. 7 shows a general flowchart illustrating the entire processing of generating the executable program according to an embodiment of the present invention”. In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.); “wherein the modified [] application is generated by changing a code base of the [] application” (In paragraph [0037], “it is possible to generate an executable code optimized as much as possible with respect to the use of resources and execution speed on a hybrid system by referencing an optimization table generated based on library components”. In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … the method includes the steps … compiling the execution pattern … where at least one of the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0051], “the kernel definition is a concrete code dependent on a hardware architecture”. In paragraph [0057], “the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed”. In paragraph [0059], “In step 320, the number of resources to be used or the combination of architectures to be used is changed”. In paragraph [0060], “Next, returning to step 310 … Otherwise, in step 312, the optimization table generation module 204 selects a kernel executable for the resource selected in step 320”.); “and wherein the at least two libraries include at least (i) one or more existing libraries” (In paragraph [0045], “The library component 202 is preferably generated in advance by an expert programmer and preferably stored in a hard disk drive of another computer system other”. In paragraph [0037], “an optimization table generated based on library components”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “and (ii) one or more incoming libraries” (In paragraph [0005], “On every attempt to access the shared library API, the admin server ensures that the customer application is authorized to access the shared library. The attempt may be detected during an on-load event or on any other use of the shared library API by the customer application”. In paragraph [0006], “the admin server verifies that the customer application is authorized to access the shared library and if so, allows the customer application to access the shared library”.); “configure the [] in the modified [] application such that compatibility between the [] is maintained” (In paragraph [0029], “the configuration module 222 allows … updating or retrieving a trusted application from the profile database 240”. In paragraph [0027], “Each property of the customer application 106 profile is analyzed to determine if it complies with the properties and constraints defined by a trusted application configuration to determine if the customer application can access to the shared library 224 API. For example, if the “configuration name” of a trusted application profile is a required property, the configuration module 222 ensures that the customer application profile includes the “configuration name” property before providing authorizing the customer application”.); “wherein the [] in the modified [] application are configured by performing at least one of: (i) detecting one or more first type of program variables and one or more second type of program variables in the plurality of source code fragments based on a status indicative of an impact on the modified [] application due to one or more incoming libraries from the []; application profile (or simply “profile”, hereinafter) is received from the customer application 106. In some embodiments, the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0019], “A customer application profile can include the following fields:”; Listed in paragraphs [0020] – [0024], “1. Configuration name: ... 2. Description: ... 3. Application name: ... 4. Application user: ... 5. Audit Success:”. In paragraph [0029], “The access to the configuration module 222 and the profile database 240 is subject to authentication. The authentication may be role-based, to ensure that an authenticated user performs the operations of … updating or retrieving trusted applications … To update a profile of a trusted application stored in the profile database 240, a user can retrieve a specific profile of a trusted application from the profile database 240 by conducting a search via the user interface tool 140 … for example, a user can search based on an application name or a configuration name or any other such property”. In paragraph [0026], “the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0042], “FIG. 3B illustrates an example of a customer application profile that attempts to access a shared library … an audit module 225 may send an exception or an error message to extract a customer application profile of an unauthorized customer application. The exception or error message may include code to extract the profile of the customer application 106. The extracted customer application profile may include a “friendly name” field, an “application name” field, and an “application user” field”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 6: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); “obtained by the binary to source code matching module” (In paragraph [0014], “the transformation scripts … including … (3) relying on industry standards (i.e., regular expressions, XPath, etc.) to match process binary entities and fragments thereof, (4) using a non-typed and dynamically interpreted standard scripting language (i.e., ECMAScript) to manipulate process binary entities, and (5) representing process binary entities as JavaScript objects for each access and manipulation. That is, the process binary entities become directly accessible by means of the scripting language's programming model (i.e., no further transformation is required)”.); Balko does not disclose however Doi discloses, “wherein the code base of the [] application is changed by” (In paragraph [0037], “it is possible to generate an executable code optimized as much as possible with respect to the use of resources and execution speed on a hybrid system by referencing an optimization table generated based on library components”. In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … the method includes the steps … compiling the execution pattern … where at least one of the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0049], “The following describes the optimization table generation processing performed by the optimization table generation module 204 with reference to the flowchart of FIG. 3”. In paragraph [0050], “In FIG. 3, in step 302, the optimization table generation module 204 selects UDOP in the library component 202 … The library component 202 is a set of programs for performing a certain collective function”.); “(i) annotating a plurality of functions invoking the plurality of source code fragments []” (In paragraph [0050], “In FIG. 3, in step 302, the optimization table generation module 204 selects UDOP in the library component 202 … The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0051], “In step 304, a kernel definition for performing the selected UDOP is acquired. Here, the kernel definition is a concrete code dependent on a hardware architecture corresponding to UDOP”. In paragraph [0052], “In step 308, the optimization table generation module 204 initializes a set of the combination of architectures to be used and the number of resources to be used”.); “(ii) creating one or more new paths around each of the annotated plurality of functions in the plurality of source code of the [] application to support execution of []” (In paragraph [0068], “The following describes a method for generating a program executable on a hybrid system as shown in FIG. 1 by referencing the generated optimization table 210 with reference to FIG. 7 and subsequent figures … it should be noted that the compiler 206 can reference the library component 202”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0069], “In step 706, the compiler 206 allocates logical nodes to the network of physical nodes and determines the communication method between the nodes”. In paragraph [0053], “In step 314, the optimization table generation module 204 generates an execution pattern”. In paragraph [0057], “In step 316, the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed by a selected resource in the execution environment 208”. In paragraph [0048], “The compiler 206 has a function of clustering computational resources according to a node configuration and … as well as the function of compiling codes to generate executable codes”.); “and (iii) injecting a plurality of new source code fragments in the created one or more new paths around each of the annotated plurality of functions in the plurality of source code of the [] application” (In paragraph [0059], “In step 320, the number of resources to be used or the combination of architectures to be used is changed”. In paragraph [0060], “Next, returning to step 310, … Otherwise, in step 312, the optimization table generation module 204 selects a kernel executable for the resource selected in step 320”. In paragraph [0051], “the kernel definition is a concrete code”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “the one or more incoming libraries” (In paragraph [0005], “On every attempt to access the shared library API, the admin server ensures that the customer application is authorized to access the shared library. The attempt may be detected during an on-load event or on any other use of the shared library API by the customer application”. In paragraph [0006], “the admin server verifies that the customer application is authorized to access the shared library and if so, allows the customer application to access the shared library”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 7: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); Balko does not disclose however Doi discloses, “at least two different libraries” (In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “wherein the one or more first type of program variables in the plurality of source code fragments exhibit no relation on the modified [] application due to one or more incoming libraries from the []” (In paragraph [0026], “the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0042], “FIG. 3B illustrates an example of a customer application profile that attempts to access a shared library … an audit module 225 may send an exception or an error message to extract a customer application profile of an unauthorized customer application … The extracted customer application profile may include a “friendly name” field, an “application name” field, and an “application user” field”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 8: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); Balko does not disclose however Doi discloses, “at least two different libraries” (In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “wherein the one or more second type of program variables in the plurality of source code fragments exhibit an impact on the modified [] application due to one or more incoming libraries from the []” (In paragraph [0026], “a value for each property of the application profile (or simply “profile”, hereinafter) is received from the customer application 106. In some embodiments, the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0029], “The access to the configuration module 222 and the profile database 240 is subject to authentication. … To update a profile of a trusted application stored in the profile database 240, a user can retrieve a specific profile of a trusted application … for example, a user can search based on an application name or a configuration name or any other such property”. In paragraph [0035], “If the customer application is authorized to access the shared library API, the verification module 223 sets the success status flag to true”. In paragraph [0044], “FIG. 4 illustrates a method of enforcing access to the shared library … a web security officer may receive a list of customer applications (for instance, compiled in response to requests from the customer applications) for verification as trusted applications”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 9: Balko discloses, “One or more non-transitory computer readable mediums comprising one or more instructions which when executed by one or more hardware processors cause” (In paragraph [0025], “Regardless of the particular implementation, "software" may include computer-readable instructions, firmware, wired or programmed hardware, or any combination thereof on a tangible and non-transitory medium operable when executed to perform at least the processes and operations described herein … In the illustrated environment 100, each processor 109 executes”.) “receiving, an enterprise application and a set of detection rules as an input” (In paragraph [0014], “Transformation scripts and rule sets can be provided as part of standard lifecycle management procedures such as updates, upgrades, and/or fixes … Once received, the rule sets can be interpreted”. In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); “wherein set of detection rules represents specification of one or more method signatures of an existing library used by the enterprise application” (In paragraph [0030], “The transformation scripts 118 can include a set of matching rules (or clauses) and a set of transformation functions that combine to define one or more transformation rules associated with the associated process binary 151”. In paragraph [0013], “transformation functions can access a library of functions that can be used to construct a variety of process binary entities, such as operators, script statements, types, and others”. In paragraph [0031], “In order to provide consistent modifications and textual matching, the transformation scripts 118 may be associated with a scripting language that can be used by the silent migration controller 127 to perform the defined modifications and identify the correct matches”. Further in paragraph [0031], “The following illustrates an example implementation of a defined syntax used for the scripting language for some transformation scripts 118. The defined syntax of the example scripting language (written in Backus-Naur-Form) states: … METHOD ::= [IDENTIFIER "=" "("]”. In paragraph [0012], “Entities may further be represented as JavaScript (or other suitable) objects, giving access to the referenced entities through the properties of the corresponding objects. For example, a type gives access to an object's attributes which, in turn, give access to their name and type”.); “performing, a match between the set of detection rules and a set of binary fragments identified in the enterprise application to obtain a set of matched binary fragments” (In paragraph [0014], “Transformation scripts and rule sets can be provided as part of standard lifecycle management procedures such as updates, upgrades, and/or fixes … Once received, the rule sets can be interpreted … the transformation scripts succeed … through a number of advantages, including (1) being able to match and transform underspecified patterns of process binary entities and any properties thereof … to match process binary entities and fragments thereof”. In paragraph [0030], “The transformation scripts 118 can include a set of matching rules (or clauses) and a set of transformation functions that combine to define one or more transformation rules associated with the associated process binary 151”. In paragraph [0012], “matching clauses can be constructed to bind any suitable process binary fragment … to a variable that can be referenced from within a transformation function within the migration instructions”. Further in paragraph [0012], “Transformation functions can apply to or be associated with an arbitrary combination of matching clauses, and can have access to both the global entities that are matched by one of the matching clauses … and/or the additional variables that are optionally bound to fragments or properties of those entities”.); “obtaining, a plurality of source code fragments by mapping the set of matched binary fragments to a corresponding application source code of the enterprise application” (In paragraph [0013], “Transformation functions can further alter process binary entities … To do so, transformation functions can access a library of functions that can be used to construct a variety of process binary entities, such as operators, script statements”. In paragraph [0014], “the transformation scripts … including … (3) relying on industry standards (i.e., regular expressions, XPath, etc.) to match process binary entities and fragments thereof, (4) using a non-typed and dynamically interpreted standard scripting language (i.e., ECMAScript) to manipulate process binary entities, and (5) representing process binary entities as JavaScript objects for each access and manipulation. That is, the process binary entities become directly accessible by means of the scripting language's programming model (i.e., no further transformation is required)”. In paragraph [0028], “The business process binaries 115 represent compiled versions of one or more BPMN models 169 … process binaries 115 (and 172) that are created after compiling the underlying, corresponding BPMN model 169”. In paragraph [0015], “working with one or more of the deployed process binaries 151 to execute and perform tasks associated with the underlying business process and business process application 121”. In paragraph [0061], “process binaries may be stored in an executable format, and may include one or more constructs interpreted by a runtime engine or environment to perform the corresponding business processes associated with the process binary. By parsing the process binary into a text-based version, such as a text file, XML file, or other suitable file type, the changes to the process binary can be applied using matching and transformation rules within a rule set”. In paragraph [0065], “process 300 for matching portions of a business process binary to a matching rule included in a rule set and applying a corresponding transformation rule to a portion of the process binary identified by the matching rule”. In paragraph [0062], “the transformation rule set may be defined in a particular scripting language (or combination of languages), such that the rule set is provided in the appropriate scripting language so that the matching and transformation rules can be read, interpreted, and executed by an appropriate engine, program, or component”.). Balko does not disclose however Doi discloses, “enabling, a hybrid application architecture using the plurality of source code fragments to generate a modified [] application that supports at least two libraries” (In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … generating at least one execution pattern for the first user defined operator based on the available hardware resource … the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0052], “the optimization table generation module 204 initializes a set of the combination of architectures to be used and the number of resources to be used”. In paragraph [0057], “the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed”. In paragraph [0068], “FIG. 7 shows a general flowchart illustrating the entire processing of generating the executable program according to an embodiment of the present invention”. In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.); “wherein the modified enterprise application is generated by changing a code base of the enterprise application” (In paragraph [0037], “it is possible to generate an executable code optimized as much as possible with respect to the use of resources and execution speed on a hybrid system by referencing an optimization table generated based on library components”. In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … the method includes the steps … compiling the execution pattern … where at least one of the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0051], “the kernel definition is a concrete code dependent on a hardware architecture”. In paragraph [0057], “the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed”. In paragraph [0059], “In step 320, the number of resources to be used or the combination of architectures to be used is changed”. In paragraph [0060], “Next, returning to step 310 … Otherwise, in step 312, the optimization table generation module 204 selects a kernel executable for the resource selected in step 320”.); “and wherein the at least two libraries include at least (i) one or more existing libraries” (In paragraph [0045], “The library component 202 is preferably generated in advance by an expert programmer and preferably stored in a hard disk drive of another computer system other”. In paragraph [0037], “an optimization table generated based on library components”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “and (ii) one or more incoming libraries” (In paragraph [0005], “On every attempt to access the shared library API, the admin server ensures that the customer application is authorized to access the shared library. The attempt may be detected during an on-load event or on any other use of the shared library API by the customer application”. In paragraph [0006], “the admin server verifies that the customer application is authorized to access the shared library and if so, allows the customer application to access the shared library”.); “configuring, the [] in the modified [] application such that compatibility between the [] is maintained” (In paragraph [0029], “the configuration module 222 allows … updating or retrieving a trusted application from the profile database 240”. In paragraph [0027], “Each property of the customer application 106 profile is analyzed to determine if it complies with the properties and constraints defined by a trusted application configuration to determine if the customer application can access to the shared library 224 API. For example, if the “configuration name” of a trusted application profile is a required property, the configuration module 222 ensures that the customer application profile includes the “configuration name” property before providing authorizing the customer application”.); “wherein the [] in the modified [] application are configured by performing at least one of: (i) detecting one or more first type of program variables and one or more second type of program variables in the plurality of source code fragments based on a status indicative of an impact on the modified [] application due to one or more incoming libraries from the []; application profile (or simply “profile”, hereinafter) is received from the customer application 106. In some embodiments, the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0019], “A customer application profile can include the following fields:”; Listed in paragraphs [0020] – [0024], “1. Configuration name: ... 2. Description: ... 3. Application name: ... 4. Application user: ... 5. Audit Success:”. In paragraph [0029], “The access to the configuration module 222 and the profile database 240 is subject to authentication. The authentication may be role-based, to ensure that an authenticated user performs the operations of … updating or retrieving trusted applications … To update a profile of a trusted application stored in the profile database 240, a user can retrieve a specific profile of a trusted application from the profile database 240 by conducting a search via the user interface tool 140 … for example, a user can search based on an application name or a configuration name or any other such property”. In paragraph [0026], “the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0042], “FIG. 3B illustrates an example of a customer application profile that attempts to access a shared library … an audit module 225 may send an exception or an error message to extract a customer application profile of an unauthorized customer application. The exception or error message may include code to extract the profile of the customer application 106. The extracted customer application profile may include a “friendly name” field, an “application name” field, and an “application user” field”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 10: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); “obtained by the binary to source code matching module” (In paragraph [0014], “the transformation scripts … including … (3) relying on industry standards (i.e., regular expressions, XPath, etc.) to match process binary entities and fragments thereof, (4) using a non-typed and dynamically interpreted standard scripting language (i.e., ECMAScript) to manipulate process binary entities, and (5) representing process binary entities as JavaScript objects for each access and manipulation. That is, the process binary entities become directly accessible by means of the scripting language's programming model (i.e., no further transformation is required)”.); Balko does not disclose however Doi discloses, “wherein the code base of the [] application is changed by” (In paragraph [0037], “it is possible to generate an executable code optimized as much as possible with respect to the use of resources and execution speed on a hybrid system by referencing an optimization table generated based on library components”. In paragraph [0011], “the present invention provides a method for optimizing performance of an application running on a hybrid system … the method includes the steps … compiling the execution pattern … where at least one of the steps is carried out using a computer device so that performance of said application is optimized on the hybrid system”. In paragraph [0049], “The following describes the optimization table generation processing performed by the optimization table generation module 204 with reference to the flowchart of FIG. 3”. In paragraph [0050], “In FIG. 3, in step 302, the optimization table generation module 204 selects UDOP in the library component 202 … The library component 202 is a set of programs for performing a certain collective function”.); “(i) annotating a plurality of functions invoking the plurality of source code fragments []” (In paragraph [0050], “In FIG. 3, in step 302, the optimization table generation module 204 selects UDOP in the library component 202 … The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0051], “In step 304, a kernel definition for performing the selected UDOP is acquired. Here, the kernel definition is a concrete code dependent on a hardware architecture corresponding to UDOP”. In paragraph [0052], “In step 308, the optimization table generation module 204 initializes a set of the combination of architectures to be used and the number of resources to be used”.); “(ii) creating one or more new paths around each of the annotated plurality of functions in the plurality of source code of the [] application to support execution of []” (In paragraph [0068], “The following describes a method for generating a program executable on a hybrid system as shown in FIG. 1 by referencing the generated optimization table 210 with reference to FIG. 7 and subsequent figures … it should be noted that the compiler 206 can reference the library component 202”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0069], “In step 706, the compiler 206 allocates logical nodes to the network of physical nodes and determines the communication method between the nodes”. In paragraph [0053], “In step 314, the optimization table generation module 204 generates an execution pattern”. In paragraph [0057], “In step 316, the generated execution patterns are compiled by the compiler 206 and the resulting executable codes are executed by a selected resource in the execution environment 208”. In paragraph [0048], “The compiler 206 has a function of clustering computational resources according to a node configuration and … as well as the function of compiling codes to generate executable codes”.); “and (iii) injecting a plurality of new source code fragments in the created one or more new paths around each of the annotated plurality of functions in the plurality of source code of the [] application” (In paragraph [0059], “In step 320, the number of resources to be used or the combination of architectures to be used is changed”. In paragraph [0060], “Next, returning to step 310, … Otherwise, in step 312, the optimization table generation module 204 selects a kernel executable for the resource selected in step 320”. In paragraph [0051], “the kernel definition is a concrete code”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “the one or more incoming libraries” (In paragraph [0005], “On every attempt to access the shared library API, the admin server ensures that the customer application is authorized to access the shared library. The attempt may be detected during an on-load event or on any other use of the shared library API by the customer application”. In paragraph [0006], “the admin server verifies that the customer application is authorized to access the shared library and if so, allows the customer application to access the shared library”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 11: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); Balko does not disclose however Doi discloses, “at least two different libraries” (In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “wherein the one or more first type of program variables in the plurality of source code fragments exhibit no relation on the modified [] application due to one or more incoming libraries from the []” (In paragraph [0026], “the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0042], “FIG. 3B illustrates an example of a customer application profile that attempts to access a shared library … an audit module 225 may send an exception or an error message to extract a customer application profile of an unauthorized customer application … The extracted customer application profile may include a “friendly name” field, an “application name” field, and an “application user” field”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Regarding Claim 12: Balko discloses, “enterprise” (In paragraph [0016], “the application server 103 is any server that stores and executes one or more business process applications 121. For example, each application server 103 may be a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server that includes Java technologies such as Enterprise JavaBeans (EJB)”.); Balko does not disclose however Doi discloses, “at least two different libraries” (In paragraph [0012], “a library component within the application”. In paragraph [0050], “The library component 202 is a set of programs for performing a certain collective function”. In paragraph [0034], “there are measured resources … a case where an optimization is applied with respect to each library component”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Balko by adopting the teachings of Doi; motivated by the common goal to limit performance depletion when composing software systems or libraries, such as “optimization is applied with respect to each library component … an execution pattern which improves the pipeline pitch by increasing resources” (Doi [0034]). Balko as modified does not disclose however Rozenberg discloses, “wherein the one or more second type of program variables in the plurality of source code fragments exhibit an impact on the modified [] application due to one or more incoming libraries from the []” (In paragraph [0026], “a value for each property of the application profile (or simply “profile”, hereinafter) is received from the customer application 106. In some embodiments, the profile is extracted from the customer application when the customer application 106 attempts to access the shared library 224 API”. In paragraph [0029], “The access to the configuration module 222 and the profile database 240 is subject to authentication. … To update a profile of a trusted application stored in the profile database 240, a user can retrieve a specific profile of a trusted application … for example, a user can search based on an application name or a configuration name or any other such property”. In paragraph [0035], “If the customer application is authorized to access the shared library API, the verification module 223 sets the success status flag to true”. In paragraph [0044], “FIG. 4 illustrates a method of enforcing access to the shared library … a web security officer may receive a list of customer applications (for instance, compiled in response to requests from the customer applications) for verification as trusted applications”.). Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to further modify Balko by adopting the teachings of Rozenberg; motivated by the common goal to maintain security standards on existing applications, such as “amend the trusted application configuration based on certain conditions … To increase security further … for subsequent auditing and security protocol adherence determinations” (Rozenberg [0006]). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to Beza D Nigatu whose telephone number is (571)272-9643. The examiner can normally be reached Monday - Friday 7:30am-3:30pm. 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, Hyung Sough can be reached at (571) 272-6799. 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. /BEZA D NIGATU/Examiner, Art Unit 2192 /S. Sough/SPE, Art Unit 2192
Read full office action

Prosecution Timeline

Jun 13, 2024
Application Filed
Aug 26, 2026
Non-Final Rejection mailed — §103, §112 (current)

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
Grant Probability
Low
PTA Risk
Based on 0 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month