Prosecution Insights
Last updated: April 19, 2026
Application No. 18/675,733

TENANT NETWORK FOR REWRITING OF CODE INCLUDED IN A WEB PAGE

Non-Final OA §103§DP
Filed
May 28, 2024
Examiner
ANDERSON, BRODERICK C
Art Unit
2178
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
1 (Non-Final)
74%
Grant Probability
Favorable
1-2
OA Rounds
3y 1m
To Grant
93%
With Interview

Examiner Intelligence

Grants 74% — above average
74%
Career Allow Rate
190 granted / 258 resolved
+18.6% vs TC avg
Strong +19% interview lift
Without
With
+19.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
20 currently pending
Career history
278
Total Applications
across all art units

Statute-Specific Performance

§101
9.8%
-30.2% vs TC avg
§103
60.1%
+20.1% vs TC avg
§102
18.4%
-21.6% vs TC avg
§112
7.1%
-32.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 258 resolved cases

Office Action

§103 §DP
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 . Information Disclosure Statement The information disclosure statement (IDS) was filed on 10/16/2025. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. Specification The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification. Drawings The drawings filed 5/28/2024 were accepted. 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. Examiner’s note: A 35 USC 101 rejection was considered for claims 15-20, however the specification defines the “computer-readable storage medium” as physical hardware which is distinguished from propagating signals (see paragraph 108 of the specification). Thus the rejection is not applicable. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claims 1-2, 5-9, 12-16, and 18-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 5-7 of U.S. Patent No. US 12032647. Although the claims at issue are not identical, they are not patentably distinct from each other because the instant claim is anticipated by the reference claims. See MPEP 804. Instant application Reference patent US 12032647 1. A proxy computing device, comprising: a processor; and a memory device that stores program code structured to cause the processor to: receive, from a first client, a request to access a web page hosted on a server; receive, from the server, a response comprising the web page, the web page comprising a first code component; send the first code component to a second client; receive, from the second client, a modified version of the first code component; and send, to the first client, the web page and the modified version of the first code component. 1. A proxy computing device… comprising: at least one processor circuit; and at least one memory that stores program code configured to be executed by the at least one processor circuit, the program code configured to… receive a request, originating from an open tab of a first client browser application of the plurality of client browser applications, to access a web page hosted on the server computing device… receive a response comprising the web page from the server computing device… a code component therein… send the identified code component to an open tab of a second client browser application… receive, from the open tab of the second client browser application, a modified version of the identified code component send the web page and the modified version of the identified code component to the open tab of the first client browser application. 2. The proxy computing device of claim 1, wherein, to send the first code component to the second client, the program code is structured to cause the processor to: send the first code component to a client browser application executing on the second client. 1. send the identified code component to an open tab of a second client browser application of the plurality of client browser applications 5. The proxy computing device of claim 1, wherein the program code is structured to further cause the processor to: extract code components from the web page, the extracted code components comprising the first code component; organize the code components into an abstract syntax tree (AST); and traverse the AST to identify the first code component. 5. wherein the program code, when executed by the at least one processor circuit is configured to cause the proxy computing device to analyze the web page to identify a code component therein by: extracting a plurality of code components from the web page; organizing the plurality of code components into an abstract syntax tree (AST); and traversing the AST to identify the code component. 6. The proxy computing device of claim 5, wherein, to traverse the AST to identify the first code component, the program code is structured to cause the processor to: determine that the first code component implements at least one of: a navigation action; a print action; a file download action; or a file upload action. 6. identify a code component therein by: analyzing the web page to identify a code component that implements one of: a navigation action; a print action; a file download action; or a file upload action. 7. The proxy computing device of claim 1, wherein the first code component comprises a JavaScript code component. 7. wherein the identified code component comprises a JavaScript code component Claims 8-9 recite substantially similar limitations to claims 1-2 respectively and are thus rejected along the same rationales. Claims 12-14 recite substantially similar limitations to claims 5-7 respectively and are thus rejected along the same rationales. Claims 15-16 recite substantially similar limitations to claims 1-2 respectively and are thus rejected along the same rationales. Claims 18-20 recite substantially similar limitations to claims 5-7 respectively and are thus rejected along the same rationales. Claims 3 and 10 rejected on the ground of nonstatutory double patenting as being unpatentable over claim(s) 1 of U.S. Patent No. 12032647 in view of Amacker (US20160191612A1; filed 9/23/2015). Instant application Reference patent US 12032647 3. … code rewriting; … utilized for code rewriting, 1. a modified version of the identified code component The modifying of the code is interpreted as anticipating the “code rewriting”. However, with regards to claim 3, the reference patent does not disclose wherein, to send the first code component to a second client, the program code is structured to cause the processor to: determine that the second client is registered at the proxy computing device as a worker that can be utilized…; and responsive to determining that the second client is registered at the proxy computing device as a worker that can be utilized…, send the first code component to the second client. Amacker teaches wherein, to send the first code component to a second client, the program code is structured to cause the processor to: determine that the second client is registered at the proxy computing device as a worker that can be utilized… (Amacker, paragraph 30: “At step 402, donor browsers may be registered.” Paragraph 36: “the job coordinator component 214 (FIG. 2) may select the working set from the set of donor browsers registered at step 402”); and responsive to determining that the second client is registered at the proxy computing device as a worker that can be utilized…, send the first code component to the second client (Amacker, paragraph 48: “Responsive to receiving the work unit assignment(s) of step 712, associated job code may be requested (step 714) and received (step 716), and associated job data may be requested (step 718) and received (step 720)”). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have combined the reference patent and Amacker such that some of the processing is performed on browsers on other client devices. This would have enabled a cheaper distributed processing technique (Amacker, paragraph 2: “there are many applications that would benefit from distributed computing but for which custom techniques are prohibitively expensive.”). Claim 10 recites substantially similar limitations to claim 3 and is thus rejected along the same rationale. Claims 4, 11, and 17 rejected on the ground of nonstatutory double patenting as being unpatentable over claim(s) 1 of U.S. Patent No. 12032647 in view of Jain (US20210089348A1; filed 9/19/2019). With regards to claim 4, which depends on claim 1, the reference patent does not cite the limitations of claim 4. However, Jain teaches determine that the second client is associated with a same tenant of a cloud services platform as the first client (Jain, paragraph 1: “An enterprise may utilize applications or services executing in a cloud computing environment.” Paragraph 36: “That is both the first tenant and the newly created additional tenant may exist together in the same sandbox (because they are both associated with the same tenant identifier).”); and responsive to determining that the second client is associated with the same tenant of a cloud services platform as the first client, send the first code component to the second client (Jain, paragraph 36: “a dispatcher platform 910 has created two tenant actors 940, 942 in a single web assembly sandbox 930 (using threads from a tenant thread pool 920). This is because the two actors 940, 942 are associated with the same tenant identifier as in S850 through S870”). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have combined the reference patent and Jain such that the distributed processing was implemented using a tenant cloud service. This would have improved the security of the network (Jain, paragraph 1: “With some implementations of the actor model, however, different actors may share memory, such as a shared Java heap. As a result, any flaw within a single tenant's runtime might be exploited by an attacker and compromise the security of all tenants. It would therefore be desirable to provide multi-tenant support for a cloud-based actor computing environment in a secure, automatic, and accurate manner”). Claim 11 recites substantially similar limitations to claim 4 and is thus rejected along the same rationale. Claim 17 recites substantially similar limitations to claim 4 and is thus rejected along the same rationale. 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. Claim(s) 1-3, 5-10, 12-16, and 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Durieux et al (Durieux, Thomas, et al. “Fully Automated HTML and JavaScript Rewriting for Constructing a Self‐Healing Web Proxy.” Software Testing, Verification and Reliability, vol. 30, no. 2, 14 Feb. 2020, https://doi.org/10.1002/stvr.1731. Accessed 19 Aug. 2020.‌) in view of Amacker (US20160191612A1; filed 9/23/2015). With regards to claim 1, Durieux et al discloses A proxy computing device, comprising: a processor; and a memory device that stores program code structured to cause the processor to (Durieux et al, Fig. 1: BikiniProxy device is a computing device): receive, from a first client, a request to access a web page hosted on a server (Durieux et al, Fig. 1: HTTP request sent from Client Browser); receive, from the server, a response comprising the web page, the web page comprising a first code component (Durieux et al, Fig. 1: HTTP response received from Server); … a modified version of the first code component (Durieux et al, p. 7: “The Rewriting Service (see Section 3.3.2) that contains the self-healing strategies to handle Javascript errors.” The output of the rewriting service is the modified version of the code); and send, to the first client, the web page and the modified version of the first code component (Durieux et al, p. 8: “BikiniProxy also injects its error monitoring framework before sending the rewritten response to Bob’s browser.”). However, Durieux et al does not disclose send the first code component to a second client; receive, from the second client, a modified... Amacker teaches send the first code component to a second client (Amacker, abstract: “A reusable distributed computing framework may be established in which contributors of computing resources may participate by using a web browser to visit a web page that incorporates a distributed computing participation component;” paragraph 48: “associated job code may be requested (step 714) and received (step 716), and associated job data may be requested (step 718) and received (step 720)”); receive, from the second client, a modified… (Amacker, paragraph 40: “At step 510, results corresponding to work units may be received. For example, the job coordinator component 214 (FIG. 2) may receive the results corresponding to assigned work units of job data processed with the job code made web-accessible at step 416 (FIG. 4);” the ). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have combined Durieux et al and Amacker such that some of the processing is performed on other client devices. This would have enabled a cheaper distributed processing technique (Amacker, paragraph 2: “there are many applications that would benefit from distributed computing but for which custom techniques are prohibitively expensive.”). With regards to claim 2, which depends on claim 1, Durieux et al does not disclose wherein, to send the first code component to the second client, the program code is structured to cause the processor to: send the first code component to a client browser application executing on the second client. However, Amacker teaches wherein, to send the first code component to the second client, the program code is structured to cause the processor to: send the first code component to a client browser application executing on the second client (Amacker, abstract: “A reusable distributed computing framework may be established in which contributors of computing resources may participate by using a web browser to visit a web page that incorporates a distributed computing participation component”). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have combined Durieux et al and Amacker such that some of the processing is performed on browsers on other client devices. This would have enabled a cheaper distributed processing technique (Amacker, paragraph 2: “there are many applications that would benefit from distributed computing but for which custom techniques are prohibitively expensive.”). With regards to claim 3, which depends on claim 1, Durieux et al discloses code rewriting… code rewriting (Durieux et al, abstract: “five self-healing strategies to rewrite the buggy HTML and Javascript code to handle errors in webpages”). However, Durieux et al does not disclose wherein, to send the first code component to a second client, the program code is structured to cause the processor to: determine that the second client is registered at the proxy computing device as a worker that can be utilized…; and responsive to determining that the second client is registered at the proxy computing device as a worker that can be utilized…, send the first code component to the second client. Amacker teaches wherein, to send the first code component to a second client, the program code is structured to cause the processor to: determine that the second client is registered at the proxy computing device as a worker that can be utilized… (Amacker, paragraph 30: “At step 402, donor browsers may be registered.” Paragraph 36: “the job coordinator component 214 (FIG. 2) may select the working set from the set of donor browsers registered at step 402”); and responsive to determining that the second client is registered at the proxy computing device as a worker that can be utilized…, send the first code component to the second client (Amacker, paragraph 48: “Responsive to receiving the work unit assignment(s) of step 712, associated job code may be requested (step 714) and received (step 716), and associated job data may be requested (step 718) and received (step 720)”). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have combined Durieux et al and Amacker such that some of the processing is performed on browsers on other client devices. This would have enabled a cheaper distributed processing technique (Amacker, paragraph 2: “there are many applications that would benefit from distributed computing but for which custom techniques are prohibitively expensive.”). With regards to claim 5, which depends on claim 1, Durieux et al discloses extract code components from the web page, the extracted code components comprising the first code component (Durieux et al, p. 7-8: “Javascript errors;” All of section 3.2 involves extracting and fixing Javascript); organize the code components into an abstract syntax tree (AST) (Durieux et al, p. 2: “BikiniProxy and BugBlock automatically modify the Document Object Model (DOM) of HTML pages or automatically transforms Javascript abstract syntax trees (AST)”); and traverse the AST to identify the first code component (Durieux et al, p. 7: “Then Line Skipper extracts the AST from the Javascript code and looks for the element that is not defined. Finally, the AST is transformed back to a textual form to be sent back to the client.”). With regards to claim 6, which depends on claim 5, Durieux et al discloses determine that the first code component implements at least one of: a navigation action; a print action; a file download action (Durieux et al, p. 15: “The solution that we implemented consists of blocking the request that loads the resource, and then create a new HTTP request using the Ajax API that downloads the Javascript resource as a textual file. Once the file is downloaded, it can be rewritten and injected back to the webpage in order to be executed.”); or a file upload action. With regards to claim 7, which depends on claim 1, Durieux et al discloses wherein the first code component comprises a JavaScript code component (Durieux et al, abstract: “rewrite the buggy HTML and Javascript code to handle errors in webpages”). Claims 8-10 recite substantially similar limitations to claims 1-3 respectively and are thus rejected along the same rationales. Claims 12-14 recite substantially similar limitations to claims 5-7 respectively and are thus rejected along the same rationales. Claims 15-16 recite substantially similar limitations to claims 1-2 respectively and are thus rejected along the same rationales. Claims 18-20 recite substantially similar limitations to claims 5-7 respectively and are thus rejected along the same rationales. Claim(s) 4, 11, and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Durieux et al in view of Amacker, and further in view of Jain (US20210089348A1; filed 9/19/2019). With regards to claim 4, which depends on claim 1, Durieux et al and Amacker do not disclose determine that the second client is associated with a same tenant of a cloud services platform as the first client; and responsive to determining that the second client is associated with the same tenant of a cloud services platform as the first client, send the first code component to the second client. Jain teaches determine that the second client is associated with a same tenant of a cloud services platform as the first client (Jain, paragraph 1: “An enterprise may utilize applications or services executing in a cloud computing environment.” Paragraph 36: “That is both the first tenant and the newly created additional tenant may exist together in the same sandbox (because they are both associated with the same tenant identifier).”); and responsive to determining that the second client is associated with the same tenant of a cloud services platform as the first client, send the first code component to the second client (Jain, paragraph 36: “a dispatcher platform 910 has created two tenant actors 940, 942 in a single web assembly sandbox 930 (using threads from a tenant thread pool 920). This is because the two actors 940, 942 are associated with the same tenant identifier as in S850 through S870”). It would have been obvious to a person of ordinary skill in the art before the effective filing date to have combined Durieux et al, Amacker, and Jain such that the distributed processing was implemented using a tenant cloud service. This would have improved the security of the network (Jain, paragraph 1: “With some implementations of the actor model, however, different actors may share memory, such as a shared Java heap. As a result, any flaw within a single tenant's runtime might be exploited by an attacker and compromise the security of all tenants. It would therefore be desirable to provide multi-tenant support for a cloud-based actor computing environment in a secure, automatic, and accurate manner”). Claim 11 recites substantially similar limitations to claim 4 and is thus rejected along the same rationale. Claim 17 recites substantially similar limitations to claim 4 and is thus rejected along the same rationale. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRODERICK C ANDERSON whose telephone number is (313)446-6566. The examiner can normally be reached Monday-Tuesday, Thursday-Saturday 9-5 PST. 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, Stephen Hong can be reached at 5712724124. 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. /B.C.A/Examiner, Art Unit 2178 /STEPHEN S HONG/Supervisory Patent Examiner, Art Unit 2178
Read full office action

Prosecution Timeline

May 28, 2024
Application Filed
Jan 10, 2026
Non-Final Rejection — §103, §DP
Apr 01, 2026
Interview Requested
Apr 07, 2026
Applicant Interview (Telephonic)
Apr 07, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12572199
METHOD AND APPARATUS FOR GENERATING GROUP EYE MOVEMENT TRAJECTORY, COMPUTING DEVICE, AND STORAGE MEDIUM
2y 5m to grant Granted Mar 10, 2026
Patent 12564337
RECURRENT NEURAL NETWORK FOR TUMOR MOVEMENT PREDICTION
2y 5m to grant Granted Mar 03, 2026
Patent 12566821
GENERATIVE SYSTEM FOR WRITING ENTITY RECOMMENDATIONS
2y 5m to grant Granted Mar 03, 2026
Patent 12561863
CREATING AND MODIFYING CIRCULAR ARCS WHILE MAINTAINING ARC QUALITIES WITHIN A DIGITAL DESIGN DOCUMENT
2y 5m to grant Granted Feb 24, 2026
Patent 12547888
METHOD, APPARATUS, DEVICE, AND STORAGE MEDIUM FOR TRAINING IMAGE SEMANTIC SEGMENTATION NETWORK
2y 5m to grant Granted Feb 10, 2026
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
74%
Grant Probability
93%
With Interview (+19.1%)
3y 1m
Median Time to Grant
Low
PTA Risk
Based on 258 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