Prosecution Insights
Last updated: April 19, 2026
Application No. 18/578,722

REMOTE DEBUGGING METHOD AND APPARATUS

Final Rejection §101§102§103
Filed
Jan 12, 2024
Examiner
MCNAMARA, SEAN KEVIN
Art Unit
2113
Tech Center
2100 — Computer Architecture & Software
Assignee
Gd Midea Heating & Ventilating Equipment Co. Ltd.
OA Round
2 (Final)
86%
Grant Probability
Favorable
3-4
OA Rounds
2y 5m
To Grant
99%
With Interview

Examiner Intelligence

Grants 86% — above average
86%
Career Allow Rate
12 granted / 14 resolved
+30.7% vs TC avg
Strong +29% interview lift
Without
With
+28.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 5m
Avg Prosecution
15 currently pending
Career history
29
Total Applications
across all art units

Statute-Specific Performance

§101
21.1%
-18.9% vs TC avg
§103
60.8%
+20.8% vs TC avg
§102
14.7%
-25.3% vs TC avg
§112
3.4%
-36.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 14 resolved cases

Office Action

§101 §102 §103
FINAL ACTION Response to Arguments Claim Rejections - 35 USC § 101: Claim 17 has been amended to recite patent eligible subject matter and is no longer rejected under USC 101. Claim Rejections - 35 USC § 102: Applicant’s arguments with respect to claim(s) 1-11 and 13, 15-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Claim Rejections - 35 USC § 103: Applicant’s arguments with respect to the USC 103 rejections of claims 9 and 14 have been considered but are not persuasive. Parsing to generate discrete debugging data is interpreted as any specific elements or data types that are used for debugging taken from a larger set. Compiling with debug information to produce the type library is interpreted as regrouping, acquiring a type and acquiring a library. 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. Claim(s) 1-3, 6-8, 13 and 15-17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wintergerst (US 20150033078) in view of Scholl (US 20140173565). Regarding claim 1, Wintergerst teaches A method for remote debugging, for a cloud server side, comprising: Receiving at a receiving device, first operating data of a controller; acquiring by a data acquiring device, the first operating data of a controller to be debugged according to a debugging instruction (“wherein the thread data was aggregated at the debugging server after the thread data was transmitted from the cloud application to be debugged to the debugging server by using a first debugging data protocol; receiving, at the remote communication device” ¶9) a server running an application in the cloud being debugged is interpreted as equivalent to debugging a controller; wherein the debugging instruction comprises a first identification of the controller to be debugged (“wherein the debugging request includes data identifying the cloud application to be debugged; adjusting, by the debugging server and based on the data identifying the cloud application to be debugged” ¶8); generating by a data transmitting device, debugging data according to the first operating data and transmitting by the data transmitting device, the debugging data to the controller to be debugged (“receiving, at the remote communication device, a debugging command and transmitting the debugging command to the debugging server by using the second debugging data protocol;” ¶9). Wintergerst does not teach determining a project identification of the controller to be debugged and a second identification of a client side to which the controller to be debugged belongs, according to the first identification of the controller to be debugged; andgenerating the debugging link based on the first identification and the project identification of the controller to be debugged, and the second identification of a target client side to which the controller to be debugged belongs. Scholl teaches determining a project identification of the controller to be debugged and a second identification of a client side to which the controller to be debugged belongs, according to the first identification of the controller to be debugged; (“In step 706, the debugger client identifies the software instance to be debugged to the controller. In step 707, the controller then instructs the agent on the machine associated with the software instance to configure the machine for remote debugging….The agent configures the machine in step 709, for example, by adding appropriate permissions and user accounts, opening firewall ports, and starting the monitor software.” ¶54) and generating the debugging link based on the first identification and the project identification of the controller to be debugged, and the second identification of a target client side to which the controller to be debugged belongs (“The debugger client talks to the connector in step 710, which routes the connection to the appropriate monitor. In some embodiments, the debugger client may not be able to directly reach the software running on the machine. However, the connector provides and manages interfaces between the public Internet and private network connections in the cloud environment “ ¶55). Software instance is interpreted as equivalent to a project identifier, and the agent is the controller to be debugged. It would have been obvious for one of ordinary skill in the art prior to the filing of the claimed invention to combine the remote debugging methods of Wintergerst with the identification of specific instances/projects and associated controllers communicating through a connector as taught by Scholl. Wintergerst already teaches transmitting specific debugging information (¶82), and the connector between the debugger and software running on a particular machine could manage and authenticate the communications (Scholl ¶55). Regarding claim 2, Wintergerst teaches the method according to claim 1 as shown above, and wherein subsequent to transmitting the debugging data to the controller to be debugged, the method further comprises: receiving at the receiving device, second operating data generated, by the controller to be debugged, during and/or after a debugging process and generating by the data transmitting device, a debugging log of the controller to be debugged according to the second operating data. (“In case any of the above debugging operations fails, the cloud debugging service 502 triggers corresponding actions to reset the cloud application 507. Most notably, that means that the error condition is logged in the audit subsystem 503.” ¶84). Regarding claim 3, Wintergerst teaches wherein the first operating data of the controller comprises resource usage state data and/or configuration information of the controller to be debugged (“A rule could be reaching a special code location (break point), but it could also describe a specific state of the VM the application is running on (e.g. when available memory less than 5 percent put it in debug mode)” ¶95). Regarding claim 6, Wintergerst teaches the method according to claim 2 and wherein subsequent to acquiring the first operating data or the second operating data, the method further comprises: determining whether the first operating data or the second operating data carries the project identification and the second identification of the client side; and adding the project identification and/or the second identification into the first operating data or the second operating data in response to the determination that the project identification and/or the second identification of the client side are/is not carried (“Since there may be several cloud applications 507 running in the cloud environment 505, the developer may have to provide some data identifying the cloud application to be debugged in addition…” ¶82). If the identification is not present, the user needs to add this information to specify what is being debugged. The claim does not specify how this information is added. Regarding claim 7, Wintergerst teaches prior to transmitting the debugging data to the controller to be debugged, the method further comprises: acquiring a debugging type of the debugging instruction, acquiring a method base required to be called for the debugging type according to the debugging type, and generating a data architecture, for debugging correspondingly, as the debugging data (“receiving, at the remote communication device, a debugging command and transmitting the debugging command to the debugging server by using the second debugging data protocol; instructing the debugging server to transmit to the cloud application running in a debugging mode in the cloud computing environment, by using the first debugging data protocol, instructions to apply the debugging command to the cloud application to be debugged” ¶9). A command is interpreted as a way to specify the debugging instruction, and the instructions to apply it are equivalent to a data architecture for debugging. Regarding claim 8, Wintergerst teaches subsequent to acquiring the first operating data or the second operating data, the method further comprises: collating the first operating data or the second operating data to obtain key information; and adjusting the key information structurally to generate a target data architecture (“the user/debugger may want to get a list of all running threads together with some meta information about the corresponding threads (thread groups, the classes of the threads, instance fields of the threads, etc.). This information may be provided directly in one step to the debugger frontend 203 instead of having hundreds or more messages between the debugger 203 and the debuggee 202” ¶60). Regarding claim 13 Wintergerst teaches A remote debugging device, for a cloud server side, comprising: a first receiving device, configured to receive first operating data of a controller; (“ wherein the thread data was transmitted by using a first debugging data protocol; aggregating, at the debugging server, the received thread data” ¶8) a data acquiring device configured to acquire the first operating data of a controller to be debugged according to a debugging instruction, wherein the debugging instruction comprises a first identification of the controller to be debugged (“receiving, at a debugging server communicatively connected to a cloud application (e.g., a Java application), a debugging request from a remote communication device” ¶8); and a data transmitting device, configured to generate debugging data according to the first operating data, and transmit the debugging data to the controller to be debugged (“and transmitting the aggregated thread data in a data packet to the remote communication device by using a second debugging data protocol; receiving, at the debugging server, a debugging command from the remote communication device, wherein the debugging command was transmitted by using the second debugging data protocol” ¶8). Scholl teaches determining a project identification of the controller to be debugged and a second identification of a client side to which the controller to be debugged belongs, according to the first identification of the controller to be debugged; (“In step 706, the debugger client identifies the software instance to be debugged to the controller. In step 707, the controller then instructs the agent on the machine associated with the software instance to configure the machine for remote debugging….The agent configures the machine in step 709, for example, by adding appropriate permissions and user accounts, opening firewall ports, and starting the monitor software.” ¶54) and generating the debugging link based on the first identification and the project identification of the controller to be debugged, and the second identification of a target client side to which the controller to be debugged belongs (“The debugger client talks to the connector in step 710, which routes the connection to the appropriate monitor. In some embodiments, the debugger client may not be able to directly reach the software running on the machine. However, the connector provides and manages interfaces between the public Internet and private network connections in the cloud environment “ ¶55). Regarding claim 15, Wintergerst teaches An electronic device, comprising: at least one processor; and a memory, communicated to said at least one processor, wherein the memory has stored therein executable instructions (“One or more of the following aspects of this disclosure can be implemented alone or in combination in a device comprising a processor, a processor-readable medium coupled to the processor having instructions stored thereon which, when executed by the processor, cause the processor to perform operations according to the one or more of the following aspects.” ¶5), and achieve a remote debugging method according to claim 1 as shown above. Regarding claim 16, Wintergerst teaches A non-transitory computer-readable storage medium having stored therein computer executable instructions (“One or more of the following aspects of this disclosure can be implemented alone or in combination on a computer program product encoded on a non-transitory, tangible storage medium, the product comprising computer readable instructions for causing one or more computers to perform the operations according to the one or more of the following aspects” ¶5). Regarding claim 17, Wintergerst teaches A computer program product, comprising a computer program that, when executed by a processor (“or in combination on a computer program product encoded on a non-transitory, tangible storage medium, the product comprising computer readable instructions for causing one or more computers to perform…” ¶5). Claim(s) 9, 11 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Wintergerst and Scholl in view of McDermott. Regarding claim 9, Wintergerst and Scholl teaches A method for remote debugging, for a client side, comprising: transmitting first operating data of a controller; and receiving, by a receiving device, debugging data corresponding to a controller to be debugged and debugging the controller to be debugged according to the debugging data (“The system described herein for providing the remote debugging of the software application across the wide area network connection may comprise: a remote communication device 203 ("debugger frontend") configured to transmit to the local computing device 202, instructions to switch a running software application to a debugging mode or to restart a software application in a debugging mode, wherein the remote communication device 203 (e.g., client 150a-b or server 102, 120 of FIG. 1)” ¶57). McDermott teaches wherein subsequent to receiving debugging data corresponding to a controller to be debugged, the method further comprises: parsing the debugging data to generate discrete debugging data; processing and regrouping the discrete debugging data to generate regrouped debugging data; acquiring a debugging type of the regrouped debugging data; acquiring an event library required to be called for the debugging type according to the debugging type, and generating second operating data of the controller to be debugged; and transmitting the second operating data (“The script, which implements the generator, is constructed and arranged to compile with debug information to produce the type library binary image, feed the image to the debugger and parse the input command file for one of the pre-defined instructions in the set. The type library binary image includes information regarding each data type of interest…When a pre-defined instruction is identified, its corresponding function is called to retrieve a field size and a field position from the type library ¶8). It would have been obvious for one of ordinary skill in the art prior to the effective filing of the claimed invention to combine the remote debugging methods taught by Wintergerst with the data parsing and matching to a library corresponding to the data as taught by McDermott. This would allow the program to retrieve information from a kernel object and return the results in a data stream (McDermott ¶4), and Wintergerst already discloses retrieving thread data from a running application (¶9). Regarding claim 11, Wintergerst teaches wherein the operating data of the controller comprises resource usage state data and/or configuration information of the controller to be debugged. (“but it could also describe a specific state of the VM the application is running on (e.g. when available memory less than 5 percent put it in debug mode)” ¶95). Regarding claim 14, Wintergerst teaches the remote debugging device according to claim 13 and for a client side, comprising: a transmitting device configured to transmit first operating data of a controller, and a receiving device, configured to receive debugging data corresponding to a controller to be debugged, (“receiving, at the remote communication device, a debugging command and transmitting the debugging command to the debugging server by using the second debugging data protocol;” ¶9, “FIG. 3 illustrates an example process flow for providing remote debugging across a wide area network to a software or cloud application which is running on a client device or in a cloud computing environment.” ¶22). McDermott parse the debugging data to generate discrete debugging data; process and regroup the discrete debugging data to generate regrouped debugging data; acquiring a debugging type of the regrouped debugging data; acquire an event library required to be called for the debugging type according to the debugging type, and generate second operating data of the controller to be debugged; and transmit the second operating data (“The script, which implements the generator, is constructed and arranged to compile with debug information to produce the type library binary image, feed the image to the debugger and parse the input command file for one of the pre-defined instructions in the set. The type library binary image includes information regarding each data type of interest…When a pre-defined instruction is identified, its corresponding function is called to retrieve a field size and a field position from the type library ¶8). Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. /SEAN KEVIN MCNAMARA/ Examiner, Art Unit 2113 /PHILIP GUYTON/Primary Examiner, Art Unit 2113
Read full office action

Prosecution Timeline

Jan 12, 2024
Application Filed
Apr 07, 2025
Non-Final Rejection — §101, §102, §103
Jun 25, 2025
Interview Requested
Jul 02, 2025
Examiner Interview Summary
Jul 02, 2025
Applicant Interview (Telephonic)
Jul 09, 2025
Response Filed
Sep 17, 2025
Final Rejection — §101, §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12572424
INCORPORATED DEVICE, METHOD FOR CONTROLLING STARTUP OF INCORPORATED DEVICE, AND STORAGE MEDIUM
2y 5m to grant Granted Mar 10, 2026
Patent 12561143
SYSTEM AND METHOD FOR REMEDIATING MISALIGNMENT OF A DATA PIPELINE
2y 5m to grant Granted Feb 24, 2026
Patent 12536072
METHOD, DEVICE, AND COMPUTER PROGRAM PRODUCT FOR ADJUSTING DATA PLACEMENT
2y 5m to grant Granted Jan 27, 2026
Patent 12511208
HOST CONTROLLED ELECTRONIC DEVICE TESTING
2y 5m to grant Granted Dec 30, 2025
Patent 12475007
METHODS AND SYSTEMS FOR ENHANCED FAULT DETECTION OF A COMPONENT OF A COMPUTING NODE THROUGH PEER-BASED ASSESSMENTS
2y 5m to grant Granted Nov 18, 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

3-4
Expected OA Rounds
86%
Grant Probability
99%
With Interview (+28.6%)
2y 5m
Median Time to Grant
Moderate
PTA Risk
Based on 14 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