Prosecution Insights
Last updated: April 19, 2026
Application No. 18/511,319

DIFFERENCE CHECKER OF SOFTWARE APPLICATION INSTANCE SCOPES

Non-Final OA §101§102§103
Filed
Nov 16, 2023
Examiner
MACASIANO, JOANNE GONZALES
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
Nuvolo Technologies Corporation
OA Round
1 (Non-Final)
67%
Grant Probability
Favorable
1-2
OA Rounds
3y 8m
To Grant
99%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allow Rate
203 granted / 305 resolved
+11.6% vs TC avg
Strong +42% interview lift
Without
With
+41.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 8m
Avg Prosecution
33 currently pending
Career history
338
Total Applications
across all art units

Statute-Specific Performance

§101
13.5%
-26.5% vs TC avg
§103
63.5%
+23.5% vs TC avg
§102
12.3%
-27.7% vs TC avg
§112
8.9%
-31.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 305 resolved cases

Office Action

§101 §102 §103
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 . Claim Objections Claims 7-10 are 19 are objected to because of the following informalities: Claims 7 and 19 recite on Lines 2 and 8, “and of on an access group” which should be “and of [[on]] an access group”. Claim 19 further recites on Line 9, “and of on the access group” which should be “and of [[on]] the access group”. Claims 8-10 are also objected to since they depend from objected Claim 7, and as such inherit the same deficiencies. Appropriate correction is required. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1, 11-15 and 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claims recite methods and systems for comparing software code and displaying a result of the comparison. The limitation in Independent Claims 1, 15 and 20 of comparing two versions of code and generating a result comprising the differences, as drafted, are processes that, under their broadest reasonable interpretation, covers steps that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations of “comparing… the first version of the cloud-based software application to the second version of the cloud-based software application” and “generating based on the comparing… a result comprising differences between the first version of the cloud-based software application and the second version of the cloud-based software application,” in Claims 1, 15 and 20, as drafted, are processes that, under their broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation judgment and/or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas. This judicial exception is not integrated into a practical application. Claims 1, 15 and 20 recite the following additional elements “receiving, by one or more processors, data of an error included in a first version of a cloud-based software application hosted by a cloud-based computing system, the first version of the cloud-based software application corresponding to a first instance of a version of the cloud- based software application,” “retrieving, by the one or more processors, a second version of the cloud-based software application hosted by the cloud-based computing system, the second version of the cloud-based software application corresponding to a second instance of the version of the cloud-based software application” and “outputting the result on a display that is communicatively coupled to the one or more processors,” these limitations do nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, see MPEP 2106.05(g). Further, with regard to the “one or more processors” and “a display” elements of Claim 1; the “at least one data processor” and “at least one memory” elements of Claim 15; and “A non-transitory computer-readable storage media” element of Claim 20; these elements are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, see MPEP 2106.05(f). Accordingly, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. With regard to the individual dependent claims: Claim 12 recites, “wherein the data of the error is included as part of a digital error log.” These limitations of Claim 12 do nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering, transmitting and outputting the results of the abstract idea, see MPEP 2106.05(g). Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Further, these limitations of Claim 12 amount to no more than mere instructions to apply the exception using well-understood, routine and conventional computer components and functions, recited at a high level of generality, i.e. receiving/transmitting data over a network and storing/retrieving information in memory. As such, these additional elements do not amount to an inventive concept and are not by themselves sufficient to transform the judicial exception into a patent eligible invention, see MPEP 2106.05(d). Claim 11 recites, “wherein the first version of the cloud-based software application comprises one or more customizations associated with the cloud-based computing system.” Claim 13 recites, “wherein the error is associated with a software identifier and a device identifier.” Claim 14 recites, “wherein the software identifier is representative of an object of the first version of the cloud-based software application that failed to deploy and the device identifier is representative of an object instance associated with the error.” These limitations of Claims 11 and 13-14 do nothing more than generally link the judicial exception to a particular technological environment, see MPEP 2106.05(h). Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Claim Rejections - 35 USC § 102 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claims 1-2, 11-16 and 20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Chawla et al. (US PGPUB 2024/0095111; hereinafter “Chawla” ). Claim 1: Chawla teaches a computer-implemented method comprising: receiving, by one or more processors, data of an error included in a first version of a cloud-based software application hosted by a cloud-based computing system, the first version of the cloud-based software application corresponding to a first instance of a version of the cloud- based software application ([0007] “the performance analytics service may pinpoint degradations in a newer version of the application on machines… With the aggregation of these two datasets, the performance analytics service may find instances of faults or errors across both versions of the application.” [0075] “a set of machines 310A-N (hereinafter generally referred to as machines 310)… the machine 310 may correspond to a virtual machine…running on… one or more nodes on the cloud (e.g., the cloud 175 or cloud computing environment 214) to execute the application 340.” [0085] “the first machine 310A and the second machine 310B may each have an instance of the application 340 of the first version 435A.”); retrieving, by the one or more processors, a second version of the cloud-based software application hosted by the cloud-based computing system, the second version of the cloud-based software application corresponding to a second instance of the version of the cloud-based software application ([0085] “The third machine 310C may have an instance of the application 340 of the second version 435B. The first version 345A may be a more recent, updated version of the application 340, whereas the second version 345B may be a previous version of the application 340.” [0087] “Under process 430, the application assessor 325 executing on the performance analytics service 305 may retrieve, aggregate, or otherwise identify performance metrics 440A-N (hereinafter generally referred to as performance metrics 440) for one or more versions 435 of the application 340.”); comparing, by the one or more processors, the first version of the cloud-based software application to the second version of the cloud-based software application ([0094] “the application assessor 325 may compare the score of one version 435 (e.g., the first version 435A) with the score of the version 435 (e.g., the second version 435B) of the application 340.”); generating based on the comparing, by the one or more processors, a result comprising differences between the first version of the cloud-based software application and the second version of the cloud-based software application ([0094] “From comparison, the application assessor 325 may calculate or determine a difference between the scores of the different versions 435 of the application 340. The difference may indicate a degree of dissimilarity in performance between the different versions 435. The application assessor 325 may compare the difference to a threshold. The threshold may identify or indicate a value for the difference at which one version 435 is determined to have undergone a degradation of performance.”); and outputting the result on a display that is communicatively coupled to the one or more processors ([0112] “the performance analytics service 305 may leverage performance metrics 440 and session data 415, among others, determine whether the cause 470 of a failure in the session 405 is attributable to upgrades to the application 340 from one version 435 (e.g., the second version 435B) to another version 435 (e.g., the first version 435A).” [0113] “The service may analyze the application usage data for fault and errors (515). The service may filter newer versions of applications with degraded performance (520). The service may alert a network administrator and show insights for any degradations (525).” [0106] “Upon receipt of the output 475, the administrative device 315 may present or display the indication of the output 475 via at least one user interface 480. The user interface 480 may be, for example, a graphical user interface (GUI) of an application for managing machines 310 running on the administrative device 315.”). Claim 2: Chawla teaches the computer-implemented method of claim 1, further comprising enabling, by the one or more processors, a correction of the error based on the result comprising the differences between the first version of the cloud-based software application and the second version of the cloud-based software application ([0011] “Based on the determination of the cause of the failure in the session, the performance analytics service may generate and provide outputs for the network. The performance analytics service may automatically provide a command to the machine to roll back the version of the application on the machine to a more stable version. The performance analytics service also may invoke an environment management service to run custom scripts (e.g., composed by the administrator or provided to the service) to fix or address issues found in the application without administrator intervention.” [0012] “the performance analytics service may use session data and application performance metrics to carry out correlation analysis to determine whether a cause for a failure of a session is attributed to a fault in an application due to an upgrade. Based on the determination, the performance analytics service may automatically correct application faults by issuing commands or providing scripts to address the issues attributed to the faults… the performance analytics service may also provide valuable information regarding the session failures and application faults to the system administrator. With this information, the administrator may be able to better troubleshoot and assess the session, machine, application, and upgrades, and take countermeasures with higher confidence at addressing the degradation in performance.”). Claim 11: Chawla teaches the computer-implemented method of claim 1, wherein the first version of the cloud-based software application comprises one or more customizations associated with the cloud-based computing system ([0086] “Each version 435 may define one or more functions or features provided by the application 340. Between version 435, the application 340 may have additional, modified, or removed features or functions. Continuing with the above example, the first version 435A may be an updated or more recent iteration of the application 340, relative to the second version 435.”). Claim 12: Chawla teaches the computer-implemented method of claim 1, wherein the data of the error is included as part of a digital error log ([0087] “The performance metrics 440 themselves may identify or include a time window or time stamp at which the performance metric 440 was measured, obtained, or identified,” wherein the “performance metrics” are the “digital error log”. [0088] “The performance metrics 440 may identify or include various measures related to the performance of instances of the application 340 of a given version 435… for example: … an success rate or an error rate for calls in the application 340; a number (or rate) of launch failures of the application 340; and a number (or rate) of crashes for the application 340; among others.” [0089] “Each machine 310 may store and maintain the performance metrics 440 for the application 340 on the machine 310.”). Claim 13: Chawla teaches the computer-implemented method of claim 11, wherein the error is associated with a software identifier and a device identifier ([0080] “The failure indication 410 may include or correspond to any breakdown, malfunction, or seizure associated with the session 405. For example, the failure indication 410 may correspond to a failure to launch the session 405, an unexpected termination of the session 405 after launch, or other breakdown in performance of the session 405, among others. The failure indication 410 may include a session identifier corresponding to the session 405.” [0088] “The performance metrics 440 may also include metadata associated with the application 430, such as an application name referencing the application 430, a process identifier for the application 430, a version identifier referencing the version 435, a device identifier for the machine 310 on which the application 430 is on, a group identifier for a group to which the client 165 (or machine 310) belongs; a device identifier for the client 165 accessing the machine 310, or a user identifier for the user of the client 165 accessing the machine 310, among others.”). Claim 14: Chawla teaches the computer-implemented method of claim 13, wherein the software identifier is representative of an object of the first version of the cloud-based software application that failed to deploy and the device identifier is representative of an object instance associated with the error ([0088] “The performance metrics 440 may also include metadata associated with the application 430, such as an application name referencing the application 430, a process identifier for the application 430, a version identifier referencing the version 435, a device identifier for the machine 310 on which the application 430 is on, a group identifier for a group to which the client 165 (or machine 310) belongs; a device identifier for the client 165 accessing the machine 310, or a user identifier for the user of the client 165 accessing the machine 310, among others.”). Claims 15-16: With regard to Claims 15-16, these claims are equivalent in scope to Claims 1-2 rejected above, merely having a different independent claim type, and as such Claims 15-16 are rejected under the same grounds and for the same reasons as discussed above with regard to Claims 1-2. With further regard to Claim 15, the claim recites additional elements not specifically addressed in the rejection of Claim 1. The Chawla reference also anticipates these additional elements of Claim 15, for example, wherein the system comprises: at least one data processor (Fig. 1A: Processor(s) 105. [0038] “Prior to discussing the specifics of embodiments of the systems and methods of an appliance and/or client, it may be helpful to discuss the computing environments in which such embodiments may be deployed.”); and at least one memory storing instructions, which when executed by the at least one data processor, cause operations (Fig. 1A: Non-volatile memory 130. [0039: “Non-volatile memory 130 stores operating system 135, one or more applications 140, and data 145 such that, for example, computer instructions of operating system 135 and/or applications 140 are executed by processor(s) 105 out of volatile memory 110.”). Claim 20: With regard to Claim 20, this claim is equivalent in scope to Claim 1 rejected above, merely having a different independent claim type, and as such Claim 20 is rejected under the same grounds and for the same reasons as discussed above with regard to Claim 1. With further regard to Claim 20, the claim recites additional elements not specifically addressed in the rejection of Claim 1. The Chawla reference also anticipates these additional elements of Claim 20, for example, Chawla teaches: A non-transitory computer-readable storage media comprising programming code, which when executed by at least one data processor, causes operations ([0118] “the systems and methods described above may be provided as one or more computer-readable programs embodied on or in one or more articles of manufacture. The term ‘article of manufacture’ as used herein is intended to encompass code or logic accessible from and embedded in one or more computer-readable devices, firmware, programmable logic, memory devices… The article of manufacture includes hardware logic as well as software or programmable code embedded in a computer readable medium that is executed by a processor.”). Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 3 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Chawla as applied to Claims 2 and 16 above, and further in view of Gurnasinghani et al. (US PGPUB 2024/0028503; hereinafter “Gurna”). Claim 3: Chawla teaches all the limitations of claim 2 as described above. Chawla does not teach the following, however, Gurna teaches further comprising: ranking a plurality of solutions to correct the error ([0040] “For example, the automated error analysis and correction platform 102 may train the machine learning engine to identify and/or otherwise compute a confidence score, which may represent a level of confidence that a particular action will correct a corresponding error. In some instances, the confidence score may be a numerical value (e.g., 0.9). In some instances, the confidence score may be a percentage (e.g., 90%).”); determining that parameters of a first solution of the plurality of solutions are below a threshold ([0040] “automated error analysis and correction platform 102 may train the machine learning engine based on the percentage of times actions successfully corrected corresponding errors with respect to a particular confidence score (e.g., 95% success rate at a confidence score of 0.9). Additionally or alternatively, the automated error analysis and correction platform 102 may train the machine learning engine based on the percentage of times actions unsuccessfully corrected corresponding errors with respect to a particular confidence score (e.g., 15% failure rate at a confidence score of 0.7),” wherein higher “confidence scores” indicate a determination that the “percentage of times actions unsuccessfully corrected corresponding errors with respect to a particular confidence score” is below a certain threshold.); and automatically implementing the first solution of the plurality of solutions to correct the error ([0059] “At step 217, the automated error analysis and correction platform 102 may compare the confidence score to the first threshold and the second threshold. For example, if the confidence score meets or exceeds the first threshold, then the automated error analysis and correction platform may proceed to step 218.” [0060] “At step 218, the automated error analysis and correction platform 102 may automatically correct the error based on comparing the confidence score to the first threshold and the second threshold performed in step 217.”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla with the ranking of solutions as taught by Gurna in order “to identify more efficient and accurate methods for analyzing and correcting errors in a given application” (Gurna [0001]). Claim 17: With regard to Claim 17, this claim is equivalent in scope to Claim 3 rejected above, merely having a different independent claim type, and as such Claim 17 is rejected under the same grounds and for the same reasons as discussed above with regard to Claim 3. Claims 4 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Chawla as applied to Claims 2 and 16 above, and further in view of Preisler et al. (US Patent 5,675,803; hereinafter “Preisler”). Claim 4: Chawla teaches all the limitations of claim 2 as described above. Chawla does not teach the following, however, Preisler teaches: wherein the correction of the error comprises a modification of an object of the cloud-based software application (Col. 9 Ln. 30-32: “The operational effect of this dynamic patching system is illustrated in FIG. 7, wherein successive versions of object code are patched to the original version of the object code.” Col. 10 Ln. 40-49: “When an error is encountered in the debugging run, the source code must be edited to correct the error… the Debugger program calls the compiler 504 wherein the modified source code files are recompiled and shared object (.so) files created 506. The new object code file which was generated from the edited source file, is dynamically linked to the running target program 508 using the run-time linker.”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla with the error correction including object modification as taught by Preisler since “It is desirable that once a debug session is started errors which are detected in a target program can be quickly corrected” (Preisler Col. 2 Ln. 21-23). Claim 18: With regard to Claim 18, this claim is equivalent in scope to Claim 4 rejected above, merely having a different independent claim type, and as such Claim 18 is rejected under the same grounds and for the same reasons as discussed above with regard to Claim 4. With further regard to Claim 18, the claim recites additional elements not specifically addressed in the rejection of Claim 4. The Chawla reference also anticipates these additional elements of Claim 18, for example, wherein Chawla teaches: the first version of the cloud-based software application comprises one or more customizations associated with the cloud-based computing system ([0086] “Each version 435 may define one or more functions or features provided by the application 340. Between version 435, the application 340 may have additional, modified, or removed features or functions. Continuing with the above example, the first version 435A may be an updated or more recent iteration of the application 340, relative to the second version 435.”); the data of the error is included as part of a digital error log ([0087] “The performance metrics 440 themselves may identify or include a time window or time stamp at which the performance metric 440 was measured, obtained, or identified,” wherein the “performance metrics” are the “digital error log”. [0088] “The performance metrics 440 may identify or include various measures related to the performance of instances of the application 340 of a given version 435… for example: … an success rate or an error rate for calls in the application 340; a number (or rate) of launch failures of the application 340; and a number (or rate) of crashes for the application 340; among others.” [0089] “Each machine 310 may store and maintain the performance metrics 440 for the application 340 on the machine 310.”); and the error is associated with a software identifier and a device identifier ([0080] “The failure indication 410 may include or correspond to any breakdown, malfunction, or seizure associated with the session 405. For example, the failure indication 410 may correspond to a failure to launch the session 405, an unexpected termination of the session 405 after launch, or other breakdown in performance of the session 405, among others. The failure indication 410 may include a session identifier corresponding to the session 405.” [0088] “The performance metrics 440 may also include metadata associated with the application 430, such as an application name referencing the application 430, a process identifier for the application 430, a version identifier referencing the version 435, a device identifier for the machine 310 on which the application 430 is on, a group identifier for a group to which the client 165 (or machine 310) belongs; a device identifier for the client 165 accessing the machine 310, or a user identifier for the user of the client 165 accessing the machine 310, among others.”), the software identifier is representative of an object of the first version of the cloud-based software application that failed to deploy and the device identifier is representative of an object instance associated with the error ([0088] “The performance metrics 440 may also include metadata associated with the application 430, such as an application name referencing the application 430, a process identifier for the application 430, a version identifier referencing the version 435, a device identifier for the machine 310 on which the application 430 is on, a group identifier for a group to which the client 165 (or machine 310) belongs; a device identifier for the client 165 accessing the machine 310, or a user identifier for the user of the client 165 accessing the machine 310, among others.”). Claims 5-7 are rejected under 35 U.S.C. 103 as being unpatentable over Chawla in view of Preisler as applied to Claim 4 above, and further in view of Thompson et al. (US PGPUB 2005/0050537; hereinafter “Thompson”). Claim 5: Chawla in view of Preisler teaches all the limitations of claim 4 as described above. Chawla in view of Preisler does not teach the following, however, Thompson teaches: wherein the object comprises an access control list dependent object comprising an access control list, the access control list being used as part of an access control check to confirm whether a tenant is allowed to execute an operation ([0393] “The security model specifies the set of principals who can be granted or denied access to perform these operations on an item through Access Control Lists (ACL's). Each ACL is an ordered collection of Access Control Entries (ACE's).” [0447] “All securable objects arrange their access rights using the access mask format.” [0448] “(2) Generic Access Rights.” [0449] “Generic rights are specified in the 4 high-order bits within the mask.” [0450] “Generic access rights can be used to specify the type of access needed when opening a handle to an object. This is typically simpler than specifying all the corresponding standard and specific rights. The following table shows the constants defined for the generic access rights… GENERIC_ALL Read, write, and execute access [and] GENERIC_EXECUTE Execute access”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla in view of Preisler with the access control list as taught by Thompson since this enables “an improved ability to organize, search, and share all types of data in a computer system” (Thompson [0010]). Claim 6: Chawla in view of Preisler and Thompson teaches all the limitations of claim 5 as described above. Chawla in view of Preisler does not teach the following, however, Thompson teaches: wherein the access control list dependent object is accessed via an access path within the object that is specified by the object ([0106] “Items are stand-alone objects.” [0114] “An item reference is a data structure that contains information to locate and identify an Item. In the data model, an abstract type is defined named ItemReference from which all item reference types derive.” [0118] “ItemPathReference is a specialization of ItemReference that defines a Locator and a Path field. The Locator field identifies an item domain. It is processed by a locator resolution method that can resolve the value of the Locator to an item domain. The Path field contains a (relative) path in the storage platform namespace rooted at the item domain provided by the Locator.” [0397] “In the present embodiment, an item in the data store containment hierarchy inherits an ACL along every path from the root of the store to the item.”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla in view of Preisler with the access path information as taught by Thompson since this enables “an improved ability to organize, search, and share all types of data in a computer system” (Thompson [0010]). Claim 7: Chawla in view of Preisler and Thompson teaches all the limitations of claim 5 as described above. Chawla in view of Preisler does not teach the following, however, Thompson teaches: wherein the access control check comprises a verification of an object type corresponding to the object specified and of on an access group ([0447] “All securable objects arrange their access rights using the access mask format.” [0447] “ All securable objects arrange their access rights using the access mask format shown in the FIG. 26… the 4 high-order bits are used to specify generic access rights that each object type can map to.” [0452] “Each type of securable object has a set of access rights that correspond to operations specific to that type of object.” [0738] “Underlying all such data organization schemes is the notion of dividing the universe of our data into named groups. As discussed above, this notion is modeled in the storage platform by the concept of a Folder. A Folder is a special type of Item; there are 2 types of Folders: Containment Folders and Virtual Folders.” [0397] “an item in the data store containment hierarchy inherits an ACL along every path from the root of the store to the item,” wherein the claimed “access control check” is based on the “containment folder(s),” i.e. “access group”, which contain the item/object.). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla in view of Preisler with the object type verifying as taught by Thompson since this enables “an improved ability to organize, search, and share all types of data in a computer system” (Thompson [0010]). Claims 8-9 are rejected under 35 U.S.C. 103 as being unpatentable over Chawla in view of Preisler and Thompson as applied to Claim 7 above, and further in view of Kim et al. (US PGPUB 2015/0296470; hereinafter “Kim”). Claim 8: Chawla in view of Preisler and Thompson teaches all the limitations of claim 7 as described above. Chawla in view of Preisler and Thompson does not teach the following, however, Kim teaches: wherein the access control list specifies which nodes of the object are subject to instance control, the access control list further specifying which access groups can perform operations on each node of an object instance ([0066] “The ACL specifies DM commands that a specific DM server can execute on a specific node.” [0072] “When a DM server generates a new node through command ‘Add’, the generated node does not have an ACL value in general and thus gets the ACL value from the parent node thereof.” [0083] “The “object” is a definition for a group of resources to be used for a specific function (functionality) or purpose, and the “object instance” is an instantiated (created) resource group for the object in a terminal.”[0088] “The ACL is assigned per resource corresponding to a specific function, that is, per object instance.” [0158] “When the M2M server accesses an object instance, that is, the M2M server transmits an operation with respect to the object instance to the M2M client, the M2M client can acquire the access right of the M2M server for the object instance according to the aforementioned access right acquisition method and check whether the access right is granted to perform the operation.”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla in view of Preisler and Thompson with the object instance control as taught by Kim since this enables “control of access rights for resources to be used in the M2M [Machine to Machine] system” (Kim [0087]). Claim 9: Chawla in view of Preisler, Thompson and Kim teaches all the limitations of claim 8 as described above. Chawla in view of Preisler and Kim does not teach the following, however, Thompson teaches: wherein the access control list further specifies operations enabled to be performed on each of the nodes of the object instance by particular access group ([0738] “Underlying all such data organization schemes is the notion of dividing the universe of our data into named groups. As discussed above, this notion is modeled in the storage platform by the concept of a Folder. A Folder is a special type of Item; there are 2 types of Folders: Containment Folders and Virtual Folders.” [0397] “an item in the data store containment hierarchy inherits an ACL along every path from the root of the store to the item,” wherein the “containment folder(s),” i.e. “access group”, specifies which access controls are associated with a specific node/object.). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla in view of Preisler and Kim with the enabled operations being based on an access group as taught by Thompson since this enables “an improved ability to organize, search, and share all types of data in a computer system” (Thompson [0010]). Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Chawla in view of Preisler and Thompson as applied to Claim 9 above, and further in view of Coven et al. (US PGPUB 2019/0108419; hereinafter “Coven”). Claim 10: Chawla in view of Preisler, Thompson and Kim teaches all the limitations of claim 9 as described above. Chawla in view of Preisler, Thompson and Kim does not teach the following, however, Coven teaches: wherein the access control list specifies temporal access limitations for one or more nodes of the object instance ([0115] “In some embodiments the access token persists for a limited period of time (e.g., 10 minutes) and automatically expires at the end of the period.” [0198] “an access control list which details permissions including for example, the access and operation rights of an object by an individual, a machine, and/or an application, and the circumstances under which the permission rights stand.”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Chawla in view of Preisler, Thompson and Kim with the temporal access as taught by Coven so that “the effectiveness of existing security and policy governance in the cloud-based collaboration platform can be improved” (Coven [0072]). Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over Chawla as applied to Claim 16 above, and further in view of Thompson, Kim and Coven. Claim 19: Chawla teaches all the limitations of claim 16 as described above. Chawla does not teach the following, however, Thompson teaches: the object of the cloud-based software application comprises an access control list dependent object comprising an access control list, the access control list being used as part of an access control check to confirm whether a tenant is allowed to execute an operation ([0393] “The security model specifies the set of principals who can be granted or denied access to perform these operations on an item through Access Control Lists (ACL's). Each ACL is an ordered collection of Access Control Entries (ACE's).” [0447] “All securable objects arrange their access rights using the access mask format.” [0448] “(2) Generic Access Rights.” [0449] “Generic rights are specified in the 4 high-order bits within the mask.” [0450] “Generic access rights can be used to specify the type of access needed when opening a handle to an object. This is typically simpler than specifying all the corresponding standard and specific rights. The following table shows the constants defined for the generic access rights… GENERIC_ALL Read, write, and execute access [and] GENERIC_EXECUTE Execute access”), the access control list dependent object is accessed via an access path within the object that is specified by the object ([0106] “Items are stand-alone objects.” [0114] “An item reference is a data structure that contains information to locate and identify an Item. In the data model, an abstract type is defined named ItemReference from which all item reference types derive.” [0118] “ItemPathReference is a specialization of ItemReference that defines a Locator and a Path field. The Locator field identifies an item domain. It is processed by a locator resolution method that can resolve the value of the Locator to an item domain. The Path field contains a (relative) path in the storage platform namespace rooted at the item domain provided by the Locator.” [0397] “In the present embodiment, an item in the data store containment hierarchy inherits an ACL along every path from the root of the store to the item.”); the access control check comprises a verification of an object type corresponding to the object specified and of on an access group ([0447] “All securable objects arrange their access rights using the access mask format.” [0447] “ All securable objects arrange their access rights using the access mask format shown in the FIG. 26… the 4 high-order bits are used to specify generic access rights that each object type can map to.” [0452] “Each type of securable object has a set of access rights that correspond to operations specific to that type of object.” [0738] “Underlying all such data organization schemes is the notion of dividing the universe of our data into named groups. As discussed above, this notion is modeled in the storage platform by the concept of a Folder. A Folder is a special type of Item; there are 2 types of Folders: Containment Folders and Virtual Folders.” [0397] “an item in the data store containment hierarchy inherits an ACL along every path from the root of the store to the item,” wherein the claimed “access control check” is based on the “containment folder(s),” i.e. “access group”, which contain the item/object.); and the access control list further specifies operations enabled to be performed on each of the nodes of the object instance by particular access groups ([0738] “Underlying all such data organization schemes is the notion of dividing the universe of our data into named groups. As discussed above, this notion is modeled in the storage platform by the concept of a Folder. A Folder is a special type of Item; there are 2 types of Folders: Containment Folders and Virtual Folders.” [0397] “an item in the data store containment hierarchy inherits an ACL along every path from the root of the store to the item,” wherein the “containment folder(s),” i.e. “access group”, specifies which access controls are associated with a specific node/object.). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Chawla with the access control list and related operations as taught by Thompson since this enables “an improved ability to organize, search, and share all types of data in a computer system” (Thompson [0010]). With further regard to Claim 19, Chawla in view of Thompson does not teach the following, however, Kim teaches wherein: the access control list specifies which nodes of the object specified and of on the access group are subject to instance control, the access control list further specifying which access groups can perform operations on each node of an object instance ([0066] “The ACL specifies DM commands that a specific DM server can execute on a specific node.” [0072] “When a DM server generates a new node through command ‘Add’, the generated node does not have an ACL value in general and thus gets the ACL value from the parent node thereof.” [0083] “The “object” is a definition for a group of resources to be used for a specific function (functionality) or purpose, and the “object instance” is an instantiated (created) resource group for the object in a terminal.”[0088] “The ACL is assigned per resource corresponding to a specific function, that is, per object instance.” [0158] “When the M2M server accesses an object instance, that is, the M2M server transmits an operation with respect to the object instance to the M2M client, the M2M client can acquire the access right of the M2M server for the object instance according to the aforementioned access right acquisition method and check whether the access right is granted to perform the operation.”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Chawla in view of Thompson with the object instance control as taught by Kim since this enables “control of access rights for resources to be used in the M2M [Machine to Machine] system” (Kim [0087]). With further regard to Claim 19, Chawla in view of Thompson and Kim does not teach the following, however, Coven teaches wherein: the access control list specifies temporal access limitations for one or more nodes of the object instance ([0115] “In some embodiments the access token persists for a limited period of time (e.g., 10 minutes) and automatically expires at the end of the period.” [0198] “an access control list which details permissions including for example, the access and operation rights of an object by an individual, a machine, and/or an application, and the circumstances under which the permission rights stand.”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Chawla in view of Thompson and Kim with the temporal access as taught by Coven so that “the effectiveness of existing security and policy governance in the cloud-based collaboration platform can be improved” (Coven [0072]). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure is as follows: Shen et al. (US Patent 9,547,579) discloses techniques for autonomously debugging software applications to automatically identify errors, including comparing different versions of the application to identify the code module that caused the error. Breckel (“Error Mining: Bug Detection through Comparison with Large Code Databases,” 2012) discusses an approach to automatically detect bugs through comparison with a large code database, wherein the source file is analyzed for similar but slightly different code fragments in the database. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Joanne G. Macasiano whose telephone number is (571)270-7749. The examiner can normally be reached Monday to Thursday, 10:30 AM to 6:00 PM Eastern Standard Time. 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, Bradley Teets can be reached at (571) 272-3338. 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. /JOANNE G MACASIANO/ Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Nov 16, 2023
Application Filed
Dec 26, 2025
Non-Final Rejection — §101, §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596547
VERSION MANAGEMENT FOR MACHINE LEARNING PIPELINE BUILDING
2y 5m to grant Granted Apr 07, 2026
Patent 12585441
Automatic Generation of Chat Applications from No-Code Application Development Platforms
2y 5m to grant Granted Mar 24, 2026
Patent 12579057
COMPUTING ENVIRONMENT SOFTWARE APPLICATION TESTING
2y 5m to grant Granted Mar 17, 2026
Patent 12561223
Method For Decentralized Accessioning For Distributed Machine Learning and Other Applications
2y 5m to grant Granted Feb 24, 2026
Patent 12468511
INTEGRATING CODE REPOSITORIES
2y 5m to grant Granted Nov 11, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
67%
Grant Probability
99%
With Interview (+41.8%)
3y 8m
Median Time to Grant
Low
PTA Risk
Based on 305 resolved cases by this examiner. Grant probability derived from career allow 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