Prosecution Insights
Last updated: October 27, 2026
Application No. 18/701,532

INTER-PROCESS FUNCTION CALLING METHOD AND RELATED DEVICE

Final Rejection §103§112
Filed
Apr 15, 2024
Priority
Oct 28, 2021 — CN 202111266347.7 +1 more
Examiner
GHAFFARI, ABU Z
Art Unit
2195
Tech Center
2100 — Computer Architecture & Software
Assignee
Huawei Technologies Co., Ltd.
OA Round
2 (Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
7m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
558 granted / 704 resolved
+24.3% vs TC avg
Strong +48% interview lift
Without
With
+47.7%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
24 currently pending
Career history
746
Total Applications
across all art units

Statute-Specific Performance

§101
17.2%
-22.8% vs TC avg
§103
38.6%
-1.4% vs TC avg
§102
0.1%
-39.9% vs TC avg
§112
39.6%
-0.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 704 resolved cases

Office Action

§103 §112
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This final office action is responsive to the amendments filed on 08/24/2026. Claims 41-60 are pending. Response to Amendment Applicant has amended independent claims 41, 48, 54 and dependent claims 42, 44, 46, 53, 55, 59 to include new/old limitations in a form not previously presented necessitating new search and considerations. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 41-60 is/are rejected under 35 U.S.C. 103 as being unpatentable over Agarwal et al. (US 2017/0091473 A1, hereafter Agarwal) in view of Ganapathy et al. (US 2006/0230157 A1), and further in view of Sukhomlinov et al. (US 2019/0044971 A1, hereafter Sukhomlinov). Agarwal and Ganapathy were cited in the last office action. As per claim 41, Agarwal teaches the invention substantially as claimed including a method, applied to a computer device (fig. 3 computer system 301), the method comprising: triggering, by a first process operating in user mode ([0023] agent i.e. first process, retrieve a file i.e. first function [0015] agent may be another process For example, in a situation where an image editor process i.e. first function calls an image viewer process i.e. second function, the image editor process could be an agent and the image viewer process could be the subject process i.e. user mode), a first system call by executing a first function ([0023] kernel receive a request i.e. system call from an agent to retrieve a file i.e. first function [0022] open/save various types of documents; host process instances 142 e.g. file system process i.e. system call, controls read and writes to a file system), wherein the first function is stored in a user-mode public area and is readable and executable for processes in the user mode ([0022] user runtime memory 150 may host process instances 152A, 152B, and 152C (collectively, 152). For example process instance 152A may be an image editor process that a user uses to manipulate pictures, process instance 152B may be a file viewer process that a user uses to open and save various types of documents, and process instance 152C may be a web browser that a user uses to connect to the internet, process instances may be processes based on code stored in the program code 122 i.e. system storage 112- storage containing processes and accessible/executable by the user i.e. user mode), the first function calls a second function of a first system service process ([0030] request from a first process to second process; fig. 2 250 [0015] agent may be another process For example, in a situation where an image editor process i.e. first function calls an image viewer process i.e. second function), the first system call ([0023] kernel receive a request i.e. system call from an agent to retrieve a file i.e. first function [0022] open/save various types of documents; host process instances 142 e.g. file system process i.e. system call, controls read and writes to a file system ), instructs a kernel to configure a first access permission with which the first process accesses physical memory address space of the first system service process ([0003] one or more access control rules related to the agent [0012] access control mechanism, grant and deny access to computer hardware e.g. segments of random access memory, software objects, document / files / operations [0014] communication between existing programs, kernel, access control module [0015] processes, need, access, one another, controller, facilitate these accesses by applying one or more rules, implement rules controlling the ability of a subject process, executed by an agent, to access an object process; for example in a situation where an image editor process calls an image viewer process, the image editor process could be an agent and the image viewer process could be the subject process, if the image viewer process tries to access a file system process (an object process), the rules may be in part based on the privileges of and the permissions given to the image editor process [0016] implement rules for a subject process to access an object process; [0021] system storage 112, program code 122 files 124, program code 122 may be a collection of various programs), the physical memory address space stores the second function ([0022] user runtime memory 150 may host process instances 152A, 152B, and 152C (collectively, 152 [0021] system storage 112, program code 122 files 124, program code 122 may be a collection of various programs such as binaries and/or libraries, process instance 152A image editor process, process instance 152B file viewer process, process instance 152C web browser), and the second function implements a functionality of the first system service process ([0004] second process instance, second program, first process instance, attempting to access second process instance [0016] first process, access, request, read, second process, role, subject-object process [0023] kernel receive a request i.e. system call from an agent to retrieve a file i.e. first function [0022] open/save various types of documents; host process instances 142 e.g. file system process i.e. system call, controls read and writes to a file system); receiving, by the first process, indication information that is sent by the kernel and that responds to the first system call ([0016] process’s request to read a second process [0023] receive a request from agent to retrieve a file i.e. system call, kernel, grant / deny the agent access to the file i.e. giving access is an indication information; The kernel 120 may compare the entries to the request from the agent to determine whether the agent should be granted permission to access the requested file. In response to the comparison, the kernel 120 may either grant or deny the agent access to the file from the static files 124), wherein the indication information indicates whether the first access permission is enabled ([0023] kernel, grant / deny the agent access to the requested file i.e. an indication of permission being enabled or not [0024] kernel, permit, first process, to access, second process); and executing, by the first process, the second function according to the first function ([0024] kernel, permit, first process, to access second process [0003] second process instance, second program, fig. 2 grant inter-process access 280 [0016] first process, access, request, read, second process, role, subject-object process, second process, e.g. launch, execute, kill, terminate, request status, update status [0026] kernel, grant, process 142A, access, process 142B, e.g. process 142 A may terminate process 142B, rule granting termination permission [0023] kernel receive a request i.e. system call from an agent to retrieve a file i.e. first function [0022] open/save various types of documents; host process instances 142 e.g. file system process i.e. system call, controls read and writes to a file system) when it is determined that the indication information indicates that the first access permission is enabled ([0023] kernel, grant / deny the agent access to the requested file i.e. an indication of permission being enabled or not [0024] kernel, permit, first process, to access second process [0026] if an entry that contains the permission for the type of access requested is found in the entries (e.g., process 142A may terminate process 142B if the kernel 120 finds a rule granting termination permission of process 142B to process 142A), wherein executing the second function comprises ([0016] second process, e.g. launch, execute, kill, terminate, request status, update status [0026] kernel, grant, process 142A, access, process 142B, e.g. process 142 A may terminate process 142B, rule granting termination permission), after the first system call ends ([0023] in response to the comparison, the kernel 120 may either grant or deny the agent access to the file from the static files 124 i.e. end of the system calls[0024] kernel, permit, first process, to access second process [0003] second process instance, second program, fig. 2 grant inter-process access 280 [0031] If the first process instance is permitted, at 270, to access the second process instance, then the operating system may grant the inter-process access at 280), returning, by the first process, to the first function and jumping, by the first process, from the first function to the second function in the physical memory address space of the first system service process to execute the second function in the user mode ([0003] execute first process, first process attempting to access a second process instance [0016] second process, e.g. launch, execute, kill, terminate, request status, update status [0021] kernel 120, provide access to one or more resources of the system, facilitate running process instance of one or more programs, program code 122, collection of various programs [0024] kernel, permit, first process, to access a second process, [0025] pause the performance of operations of process A and may place process A wait/paused state, begin performing operations of process B [0026] kernel, grant, process 142A, access, process 142B, e.g. process 142 A may terminate process 142B, rule granting termination permission [0023] agent i.e. first process, retrieve a file i.e. first function [0015] agent may be another process For example, in a situation where an image editor process i.e. first function calls an image viewer process i.e. second function, the image editor process could be an agent and the image viewer process could be the subject process i.e. user mode [0027] process 142A, program code 122, Process 142B is a second process instance based on a second binary from program code 122. Process 142B may be stored in a first directory of the static files 124). Agarwal doesn’t specifically teach first system call instructs the kernel to configure a first access permission; physical memory address space; the physical memory address space stores the second function; jumping from the first function to the second function in the physical memory address space. Ganapathy, however, teaches first system call instructs the kernel to configure a first access permission ([0032] application, make request i.e. system call, of the kernel interface module to allow access). It would have been obvious to one of the ordinary skills in the art to combine the teachings of Agarwal with the teachings of Ganapathy of application making system call to the kernel to allow access to improve security and efficiency and allow first system call instructs the kernel to configure a first access permission to the method of Agarwal as in the instant invention. The combination would have been obvious because applying the known method of the system call to the kernel for allowing access as taught by Ganapathy to the method of Agarwal to yield expected results of system call instructing the kernel to configure access with improved security and efficiency. Agarwal and Ganapathy, in combination, do not specifically teach physical memory address space; the physical memory address space stores the second function; jumping from the first function to the second function in the physical memory address space. Sukhomlinov, however, teaches physical memory address space of the first system service ([0021] address spaces 107 range of discrete addresses, corresponds to a physical entity such as memory cell, disk sector, associated with one or more software programs); physical memory address space stores the second function ([0022] called function having a first allocated/associated address space 107-1, call, callee function having a second allocated /associated address space 107-2 ); first process accesses physical memory address space of the first system service (fig. 2 caller address space 207-1 ([0021] address spaces 107 range of discrete addresses, corresponds to a physical entity such as memory cell, disk sector, associated with one or more software programs [0055] fig. 4 user code 440 runtime environment 404 [0057] execute application having user code 440); the physical memory address space stores the second function (fig. 2 address space 207 callee address space 207-2 ); first process, to the first function and jumping, by the first process, from the first function to the second function in the physical memory address space of the first system service process to execute the second function ([0055] fig. 4 user code 440 runtime environment 404 [0057] execute application having user code 440 [0026] fig. 2 call function associated with a caller address space 207-1 invoking a CALL_DEPRIVILEGED to a callee function associated with another address space 207-2 [0027] Each of the functions may be associated with defined ranges of memory within their respective address spaces, [0021] address spaces 107 range of discrete addresses, corresponds to a physical entity such as memory cell, disk sector, associated with one or more software programs). It would have been obvious to one of the ordinary skills in the art to combine the teachings of Agarwal and Ganapathy with the teachings of Sukhomlinov of physical memory address space storing different functions, and a caller function in the physical address space invoking a callee function in the physical address space to improve efficiency and allow teach physical memory address space; the physical memory address space stores the second function; jumping from the first function to the second function in the physical memory address space to the method of Agarwal and Ganapathy as in the instant invention. The combination would have been obvious because applying the known method of physical memory address storing the different functions and a caller function invoking the callee function in the physical memory as taught by Sukhomlinov to the method of Agarwal and Ganapathy to yield expected result with improved security and efficiency. As per claim 42, Agarwal teaches wherein the first process further executes the first function further trigger a second system call ([0023] agent to retrieve a file, read a file, kernel, coordinate with the security subsystem i.e. another system call); and after executing, by the first process, the second function ([0024] kernel, permit, first process, to access second process [0003] second process instance, second program, fig. 2 grant inter-process access 280 [0016] second process, e.g. launch, execute, kill, terminate, request status, update status [0026] kernel, grant, process 142A, access, process 142B, e.g. process 142 A may terminate process 142B, rule granting termination permission), the method further comprises: triggering, by the first process, the second system call by executing the first function, wherein the second system call instructs the kernel to cancel the first access permission ([0023] agent to retrieve a file, read a file, kernel, coordinate with the security subsystem i.e. another system call [0012] create rules or permissions relating to operations that subject wish to perform upon objects i.e. can also cancel the permission [0015] controller may implement rules controlling the ability of a subject process, executed by an agent, to access an object process [0018] denied permission to access the process A). As per claim 43, Agarwal teaches wherein the first access permission comprises a read and execute permission for a code segment in the first system service process and a read and write permission for a data segment in the first system service process ([0016] access, object process, e.g. read/write, granting/denying [0021] program code, collection of various programs, file system, containing, objects e.g. files, folders, documents, images), and the first system call further triggers the kernel to configure a read and execute permission for a code segment in the first process and a read and write permission for a data segment in the first process ([0023] kernel, grant / deny the agent access to the requested file i.e. an indication of permission being enabled or not [0024] kernel, permit, first process, to access, second process [0021] program code, collection of various programs, file system, containing, objects e.g. files, folders, documents, images). Ganapathy teaches remaining claim elements of the first system call further triggers the kernel to configure a read and execute permission ([0032] application, make request i.e. system call, of the kernel interface module to allow access). As per claim 44, Agarwal teaches before triggering, by the first process operating in user mode, the first system call by executing the first function ([0023] agent, retrieve a file; fig. 2 210 [0022] system runtime memory 140 host process instances 142 e.g. file system process i.e. system call, controls read and writes to a file system), obtaining, by the first process, a first task, wherein the first task comprises executing, by the first process, the second function ([0013] task, broken into multiple smaller tasks / processes [0025] task, to perform process A and process B). As per claim 45, Agarwal teaches wherein the first process is a user process ([0020] user program) or a second system service process ([0015] agent may be another process [0021] program code 122, collection of various programs). As per claim 46, Agarwal teaches wherein the first system service process integrates at least two subsystem service processes in the user mode ([0022] user runtime, process instance 152, image editor process, file viewer process, web browser [0013] task, broken into multiple smaller tasks / processes [0025] task, to perform process A and process B ), each of the at least two subsystem service processes is respectively a driver process, a network management process, or a file system management process ([0022] example process instance 142 network card process that controls a network card, file system process, graphics card process [0016] processes, launch, execute, kill, terminate, request, status, update status), the second function is a function of one subsystem service process of the at least two subsystem service processes ([0022] example process instance 142 network card process that controls a network card, file system process, graphics card process [0016] processes, launch, execute, kill, terminate, request, status, update status), a third function is stored in the user-mode public area and is readable and executable for processes in the user mode ([0012] operations, read directory, write to network disk [0022] [0016] [0023] retrieve a file [0020] user mode), and the third function is used to call a function of another subsystem service process of the at least two subsystem service processes ([0024] kernel, permit, first process, to access second process [0003] second process instance, second program, fig. 2 grant inter-process access 280 [0016] second process, e.g. launch, execute, kill, terminate, request status, update status [0026] kernel, grant, process 142A, access, process 142B, e.g. process 142 A may terminate process 142B); and wherein executing, by the first process, the second function according to the first function further comprises ([0024] kernel, permit, first process, to access second process [0003] second process instance, second program, fig. 2 grant inter-process access 280 [0016] second process, e.g. launch, execute, kill, terminate, request status, update status [0026] kernel, grant, process 142A, access, process 142B, e.g. process 142 A may terminate process 142B): calling and executing, by the first process, the third function according to the second function, wherein after the third function is executed and before the first process returns to the first function, the first access permission remains unchanged ([0024] kernel, permit, first process, to access second process [0016] second process, e.g. launch, execute, kill, terminate, request status, update status; no change in access permission unless triggered by system call). As per claim 47, Agarwal teaches wherein the method is used in a microkernel architecture ([0014] software platform, microkernel), and the first system service process is a driver process, a network management process, or a file system management process ([0022] network card process, file system process, controls reads and writes to a file system); and wherein the physical memory address space is address space managed by memory management unit (MMU) hardware, memory protection unit (MPU) hardware, or physical memory protection (PMP) hardware ([0034] fig. 3 memory controller 322, facilitate storage and retrieval of information in the memory 320 ). Claim 48 recites a method, applied to a computer device, the method comprising elements similar to elements of claim 41. Therefore, it is rejected for the same rationales. As per claim 49, Agarwal teaches wherein configuring the first access permission with which the first process accesses the physical memory address space of the first system service process comprises ([0003] one or more access control rules related to the agent [0012] access control mechanism, grant and deny access to computer hardware e.g. segments of random access memory, software objects, document / files / operations [0014] [0015] processes, need, access, one another, controller, facilitate these accesses by applying one or more rules, implement rules controlling the ability of a subject process, executed by an agent, to access an object process [0016] implement rules for a subject process to access an object process): configuring, by the kernel, the first access permission ([0012][0016] implement rules for a subject process to access an object process [0015] [0027] doesn’t find entries related to process, determine rules related to process based on program from which they were invoked) when it is determined that the first process has a second access permission and the first access permission is not enabled ([0026] kernel, determine, based on entries whether process 142A has permission to access [0027] does not find any entries related to process), wherein the indication information indicates that the first access permission is enabled ([0015] rules, privileges / permissions, image editor process [0016] first process, selectively granting / denying firs process’s request to read a second process [0023] kernel, grant / deny the agent access to the requested file i.e. an indication of permission being enabled or not ), and the second access permission is a permission for calling the second function ( [0024] kernel, permit, first process, to access, second process). Claim 50 recites elements similar to claim 42. Therefore, it is rejected for the same rationale. Claim 51 recites elements similar to claim 43. Therefore, it is rejected for the same rationale. Claim 52 recites elements similar to claim 45. Therefore, it is rejected for the same rationale. Claim 53 recites elements similar to part of the elements of claim 41, 42 and 46. Therefore, it is rejected for the same rationale. Claim 54 recites a computer device, comprising: at least one processor; and at least one memory storing instructions that are executable by the at least one processor, (fig. 3) the instructions comprising instructions to perform elements similar to claim 41. Therefore, it is rejected for the same rationales. Claim 55 recites elements similar to claim 42. Therefore, it is rejected for the same rationales. Claim 56 recites elements similar to claim 43. Therefore, it is rejected for the same rationales. Claim 57 recites elements similar to some of the elements of claim 44. Therefore, it is rejected for the same rationales. Claim 58 recites elements similar to claim 45. Therefore, it is rejected for the same rationales. Claim 59 recites elements similar to claim 46. Therefore, it is rejected for the same rationale. Claim 60 recites elements similar to claim 47. Therefore, it is rejected for the same rationale. Examiners Note Applicant is further reminded of that the cited paragraphs and in the references as applied to the claims above for the convenience of the applicant(s) and although the specified citations are representative of the teachings of the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses, to fully consider all of the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. Response to Arguments The previous objections to the specification have been withdrawn. The previous objections under 35 USC 112 (b) have been withdrawn. Applicant's arguments filed on 08/24/2026 have been fully considered but they are moot in view of new ground of rejection. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Chisnall et al. (US 2022/0374329 A1) teaches confidential computing mechanism Tsirkin (US 2020/0073826 A1) teaches efficient user space driver isolation by CPU page table switching Tosa et al. (US 2015/0199514 A1) teaches computer security systems and methods using virtualization exception Authorization for Internet Communication Applicant is encouraged to submit an authorization to communicate with the Examiner via the internet by making the following statement (MPEP 502.03) “Recognizing that internet communications are not secure, I hereby authorize the USPTO to communicate with the undersigned and practitioners in accordance with 37 CFR 1.33 and 37 CFR 1.34 concerning any subject matter of this application by video conferencing, instant messaging, or electronic mail. I understand that a copy of these communications will be made of record in the application file.” Please note that the above statement can only by submitted via Central Fax (not Examiner’s Fax), Regular postal mail, or EFS Web using PTO/SB/439. 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. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ABU ZAR GHAFFARI whose telephone number is (571)270-3799. The examiner can normally be reached on Monday-Thursday 9:00 - 17:00 Hrs. 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, Aimee Lee can be reached on 571-272-4169. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ABU ZAR GHAFFARI/ Primary Examiner, Art Unit 2195
Read full office action

Prosecution Timeline

Apr 15, 2024
Application Filed
Jun 11, 2026
Non-Final Rejection mailed — §103, §112
Aug 24, 2026
Response Filed
Oct 09, 2026
Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12769575
RESOURCE MANAGEMENT DEVICE, METHOD, AND COMPUTER PROGRAM FOR RESOURCE MANAGEMENT
2y 12m to grant Granted Oct 20, 2026
Patent 12737227
DYNAMIC ALLOCATION OF SHARED MEMORY AMONG MULTIPLE THREADS VIA USE OF A DYNAMICALLY CHANGING MEMORY THRESHOLD
3y 2m to grant Granted Sep 15, 2026
Patent 12737282
BACKWARD COMPATIBILITY TESTING OF SOFTWARE IN A MODE THAT ATTEMPTS TO INDUCE SKEW
2y 7m to grant Granted Sep 15, 2026
Patent 12730735
DYNAMIC DAG PERFORMANCE SYSTEM
3y 9m to grant Granted Sep 08, 2026
Patent 12730679
SIGNAL PROCESSING METHOD BASED ON MANY-CORE CHIP, ELECTRONIC DEVICE AND MEDIUM
3y 1m to grant Granted Sep 08, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

3-4
Expected OA Rounds
79%
Grant Probability
99%
With Interview (+47.7%)
3y 2m (~7m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 704 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month