Prosecution Insights
Last updated: April 18, 2026
Application No. 18/213,767

STANDALONE DYNAMIC LINK EDITOR

Non-Final OA §102§103
Filed
Jun 23, 2023
Examiner
DORAIS, CRAIG C
Art Unit
2198
Tech Center
2100 — Computer Architecture & Software
Assignee
Apple Inc.
OA Round
1 (Non-Final)
83%
Grant Probability
Favorable
1-2
OA Rounds
2y 10m
To Grant
99%
With Interview

Examiner Intelligence

Grants 83% — above average
83%
Career Allow Rate
369 granted / 443 resolved
+28.3% vs TC avg
Strong +18% interview lift
Without
With
+17.8%
Interview Lift
resolved cases with interview
Typical timeline
2y 10m
Avg Prosecution
5 currently pending
Career history
448
Total Applications
across all art units

Statute-Specific Performance

§101
10.5%
-29.5% vs TC avg
§103
43.4%
+3.4% vs TC avg
§102
23.9%
-16.1% vs TC avg
§112
16.3%
-23.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 443 resolved cases

Office Action

§102 §103
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 . DETAILED ACTION Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(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, 7, 9 – 11 and 13 - 15 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Weimer (hereinafter Weimer, US 2022/0121457). Regarding claim 1, Weimer discloses: a method (see at least Fig. 2 and ph. [0036] that references the interaction of components from Fig. 1 ph. [0023] – [0035] that disclose a method), comprising: by a first process of a computer system (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose an a dynamic linker) the kernel separate from the dynamic linker in at least one embodiment / implementation), wherein the first process is separate from an operating-system kernel of the computer system (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose the kernel separate from the dynamic linker in at least one embodiment / implementation), and wherein the first process is executing a dynamic linker system (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose that the dynamic linker is used to handle runtime dependency processing, at which time the linker is executing its linking functions for the system), receiving an indication associated with a second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose the handling of the executable file that will be executed (at which time it is executed it is a process) and that the kernel determines that the executable file has at least one run-time dependency, thus the kernel used the indication to make that decision), wherein the second process is separate from the first process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose the processing of the executable file and while it is executing it is separate from the dynamic linker used by the kernel in facilitating the successful execution of the executable file), and wherein the second process is (1) to be executed by the computer system or (2) executing by the computer system (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose the processing / execution of the executable file); determining, based on the indication, one or more dynamic linking operations associated with the second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose that the kernel identifies that the executable file requires run-time dependencies and has the dynamic linker handle the runtime dependency processing, which will require at least one dynamic linking operation by the dynamic linker for the file); and performing the one or more dynamic linking operations for the second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose that the kernel identifies that the executable file requires run-time dependencies and has the dynamic linker handle the runtime dependency processing – demonstrating the performance of the dynamic linking by the dynamic linker for the file). Regarding claim 2, the rejection of claim 1 is incorporated and Weimer discloses: the first process is separate from an operating system of the computer system (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose the kernel separate from the dynamic linker in at least one embodiment / implementation and as such the linker is separate from the kernel’s respective operating system). Regarding claim 7, the rejection of claim 1 is incorporated and Weimer discloses: the first process performs the one or more dynamic linking operations before the second process executes an instruction (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose the kernel preparing the execution of the executable file and as part of that preparation it requests that the dynamic linker perform its tasks, further, as this is all in preparation for the executable file to be executed, the preparation steps, including those of the dynamic linker, will be performed before the executable file itself executes). Regarding claim 9, the rejection of claim 1 is incorporated and Weimer discloses: an operation of the one or more dynamic linking operations includes mapping a file to memory corresponding to the second process, wherein the operation is performed by the first process communicating with the operating-system kernel via a kernel call (see at least ph. [0028] for the executable file (which its executed form is a process) resolving/mapping to an actual address by the kernel or dynamic linker or a combination of the two and where the dynamic linker performs this action only upon the kernel transferring the runtime dependency processing to the dynamic linker, the kernel calls the dynamic linker in any event to perform these actions)). Regarding claim 10, the rejection of claim 1 is incorporated and Weimer discloses: an operation of the one or more dynamic linking operations includes loading one or more libraries into memory associated with the second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose that the dynamic linker performs the runtime dependency processing that maps (i.e. brings into active/runtime memory) necessary data/files to executed the executable file), modifying code at runtime to call one or more functions corresponding to one or more libraries, resolving symbols in code to be executed by the second process, or performing Address Space Layout Randomization (ASLR). Regarding claim 11, the rejection of claim 1 is incorporated and Weimer discloses: the first process has file-access permission, and wherein the second process never has file-access permission (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose that the dynamic linker performs the runtime dependency processing and therefore is allowed to access the data/files necessary (therefore is permitted/has permission as per system operation) to those runtime dependency processing, while the executed executable file (i.e. a process) does not access / permission these files itself as per system operation). Regarding claim 13, the rejection of claim 1 is incorporated and Weimer discloses: by the first process: mapping one or more dynamic libraries into an address space of the first process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that discloses the kernel invoking the linker to perform the runtime dependency processing and thereby bring the related files and programs (libraries of programs) into active memory (thereby facilitating their mapping) and they will have their own address space as they are in memory, see also at least ph. [0027] for the dynamic dependency function address, and at this point in the processing it has not yet bound them / linked them to the executable file for that file’s execution and will be, at that time in the handling of the linker, and therefore in its address space at that time); and after mapping the one or more dynamic libraries into the address space of the first process: mapping at least one of the one or more dynamic libraries into: an address space of the second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) after the linker is prepared all the relevant data and programs as part of its dependency processing, it then allows the executable file to be passed to the kernel for handling, where the kernel then allows the application to execute, and as such executes in its own memory, i.e. its own address space); and an address space of a third process different from the first process and the second process (see at least ph. [0022] for the dynamic linker providing the dynamic dependency function of the computing environment that the dependency function is executing, which is then a function necessary to allow the executing executable file access to the linked data and programming at runtime, and therefore the linker provided this information to the dependency function). Claim 14 is a non-transitory computer-readable medium version of claim 1 and is similarly rejected where Weimer discloses such a medium storing one or more programs configured to be executed by one or more processors of a computer system, the one or more programs including instructions in at least Fig. 1 and ph. [0023] – [0035] and throughout the reference through its disclosed features and steps. Claim 15 is a non-transitory computer-readable medium version of claim 1 and is similarly rejected where Weimer discloses such a computer system, one or more processors and memory in at least Fig. 1 and ph. [0023] – [0035] and throughout the reference through its disclosed features and steps. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action: A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102 of this title, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made. The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103(a) are summarized as follows: Determining the scope and contents of the prior art. Ascertaining the differences between the prior art and the claims at issue. Resolving the level of ordinary skill in the pertinent art. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 3 and 4 are rejected under 35 U.S.C. 103(a) as being unpatentable over Weimer in view of Tan et al. (hereinafter Tan, US 2015/0356294). Regarding claim 3, the rejection of claim 1 is incorporated and Weimer discloses: the first process has [a] logical space separate from address space of the second process (see at least ph. [0028] for the executable file address resolving to an actual address) and at least ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose the kernel separate from the dynamic linker in at least one embodiment / implementation). Weimer does not disclose, however, Tan discloses: processes/programs with their own address space (see at least ph. [0299] for entry value is the address of … the dynamic linker). It would have been obvious for a person of ordinary skill in the art at the time of filing to modify the teachings of Weimer, by the teachings of Tan in order to have dedicated logical execution addressing for appropriate programs to ensure proper order of execution for called programs and their respective routines. Regarding claim 4, the rejection of claim 3 is incorporated and Weimer discloses: the first process is configured to modify the address space of the second process (see at least ph. [0028] where the dynamic linker (or kernel or both) copy the execution file contents into the execution environment, which is then a different/ modified location and therefore address and address space from its previous location). Claim 5 is rejected under 35 U.S.C. 103(a) as being unpatentable over Weimer in view of Wimmer et al. (hereinafter Wimmer, US 2020/0117509). Regarding claim 5, the rejection of claim 1 is incorporated and Weimer does not expressly disclose, however Wimmer discloses: by the first process, modifying a process image to be executed by the second process (see at least ph. [0059] discloses the dynamic linker loading an image file (in non-persistent storage, thus in active memory and is a process at said point) and adjusting its code). It would have been obvious for a person of ordinary skill in the art at the time of filing to modify the teachings of Weimer, by the teachings of Wimmer in order to have safe copy and a work copy (image) thereby protecting the original from possible corruptions from processing. Claims 6 and 12 are rejected under 35 U.S.C. 103(a) as being unpatentable over Weimer in view of Ionescu et al. (hereinafter Ionescu, US 2014/0317731). Regarding claim 6, the rejection of claim 3 is incorporated and Weimer discloses: by the first process, receiving, from a kernel, a request to perform dynamic linking for the second process (see at least ph. [0023] – [0035] (emphasis on ph. [0026] for the kernel transfers handling / requests the dynamic linker to handle the run-time dependency processing and see at least ph. [0040] – [0041] that disclose the dynamic linker loading the identified dependencies), wherein the request is received before determining the one or more dynamic linking operations associated with the second process (see at least ph. [0023] – [0035] (emphasis on ph. [0026] for the kernel transfers handling / requests the dynamic linker to handle the run-time dependency processing which would logically occur before the dynamic linker loads the dependencies as per ph. [0040] as it would not have yet been directed to do so but for by the kernel directive/request). Weimer does not expressly disclose, however, Ionescu discloses: a loader making requests (see at least claim 1 for the loader requesting that the dynamic link library become executable). It would have been obvious for a person of ordinary skill in the art at the time of filing to modify the teachings of Weimer, by the teachings of Ionescu in order to allow a loading component of a computing system communicate to another component that it needs to activate to further . Regarding claim 12, the rejection of claim 1 is incorporated and Weimer discloses: by the first process, wherein the first process is executing: identifying a software program to execute on the second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026] the kernel invokes the linker and the linker then performs the runtime dependency processing, including the associated data and programs/routines/subroutines associated therewith); loading at least a portion of the software program in memory associated with the second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that disclose that the dynamic linker performs the runtime dependency processing necessary data/files to execute the executable file and as it is executing, then the necessary data and routines have been added to memory); and providing control of a processor of the computer system to the second process (see at least Fig. 2 and ph. [0023] – [0035] (emphasis on ph. [0026]) that discloses the execution of the executable file, and therefore at least one processor of the computer system is used to facilitate the processing of said executable file). Weimer does not expressly disclose, however, Ionescu discloses: a loader is executing for a dynamic linker (see at least claim 1 for the loader requesting that the dynamic link library become executable). It would have been obvious for a person of ordinary skill in the art at the time of filing to modify the teachings of Weimer, by the teachings of Ionescu in order to allow a loading component of a computing system communicate to another component that it needs to activate to further . Claim 8 is rejected under 35 U.S.C. 103(a) as being unpatentable over Weimer in view of Hughes et al. (hereinafter Hughes, US 2016/0092674). Regarding claim 8, the rejection of claim 7 is incorporated and Weimer discloses: receiving, from the kernel via an inter-process communication, a request to perform an additional dynamic linking operation (see at least ph. [0023] – [0035] (emphasis on ph. [0026] for the kernel transfers handling / requests the dynamic linker to handle the run-time dependency processing and this occurs for any number of the files that needs to be dynamically linked (see at least ph. [0040]) and therefore includes requests for any initial and subsequent / additional dynamic linking operations); and in response to receiving the request, performing the additional dynamic linking operation for the second process (see at least ph. [0023] – [0035] (emphasis on ph. [0026] for the kernel transfers handling / requests the dynamic linker to handle the run-time dependency processing and this occurs for any number of the files that needs to be dynamically linked (see at least ph. [0040]) and therefore includes requests for any initial and subsequent / additional dynamic linking operations - indicating that the actions are actually performed during the system’s execution thereof). Weimer does not expressly disclose, however, Hughes discloses: a process making requests (see at least ph. [0066] for the process requesting access to a shared library function via calls to the dynamic linker). It would have been obvious for a person of ordinary skill in the art at the time of filing to modify the teachings of Weimer, by the teachings of Hughes in order to allow a process communication options to invoke other system processes to assist in the execution of a computer system task. Other References Cited Not Relied Upon Wang et al. (US 2023/0342164) discloses a linker between a system library and a kernel layer where dependency libraries may be loaded and incorporated into an application and its respective dynamic link libraries. Kanai et al. (US 2020/0184067) discloses a dynamic linker requesting a kernel to ready a dynamic link library using dll information. Treadwell. (US 2009/0165131) a process that may exist in a kernel driver and a system process in the background not part of the kernel and a DLL loaded into every application. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to CRAIG C DORAIS whose telephone number is (571)270-3371. The examiner can normally be reached M-F 9:00 am - 6:00pm. 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, Pierre Vital can be reached at 5712724215. 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. /CRAIG C DORAIS/Primary Examiner, Art Unit 2198
Read full office action

Prosecution Timeline

Jun 23, 2023
Application Filed
Apr 03, 2026
Non-Final Rejection — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596582
5G-NR MULTI-CELL SOFTWARE FRAMEWORK
2y 5m to grant Granted Apr 07, 2026
Patent 12578993
APPLICATION PROGRAMMING INTERFACE TO SHARE MEMORY BETWEEN GROUPS OF BLOCKS OF THREADS
2y 5m to grant Granted Mar 17, 2026
Patent 12572381
APPLICATION PROGRAMMING INTERFACE TO SCHEDULE THREAD BLOCKS
2y 5m to grant Granted Mar 10, 2026
Patent 12566625
ESTABLISHMENT OF SERVICE MESHES BETWEEN VIRTUAL COMPUTING INSTANCES AND EXTERNAL DEVICES
2y 5m to grant Granted Mar 03, 2026
Patent 12554534
APPLICATION PROGRAMMING INTERFACE TO INDICATE THREAD BLOCKS
2y 5m to grant Granted Feb 17, 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
83%
Grant Probability
99%
With Interview (+17.8%)
2y 10m
Median Time to Grant
Low
PTA Risk
Based on 443 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