Prosecution Insights
Last updated: October 02, 2026
Application No. 18/467,427

METHOD AND SYSTEM FOR DETECTING CPU SMT TOPOLOGY BY EXPLOITING SHARED RESOURCE UTILIZATION

Non-Final OA §103§112
Filed
Sep 14, 2023
Priority
Aug 31, 2023 — continuation of PCTGR2300045 +1 more
Examiner
DASCOMB, JACOB D
Art Unit
Tech Center
Assignee
Citrix Systems Inc.
OA Round
1 (Non-Final)
85%
Grant Probability
Favorable
1-2
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 85% — above average
85%
Career Allowance Rate
395 granted / 464 resolved
+25.1% vs TC avg
Strong +21% interview lift
Without
With
+21.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
31 currently pending
Career history
496
Total Applications
across all art units

Statute-Specific Performance

§101
11.3%
-28.7% vs TC avg
§103
57.0%
+17.0% vs TC avg
§102
2.1%
-37.9% vs TC avg
§112
18.4%
-21.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 464 resolved cases

Office Action

§103 §112
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Objections Claim 18 objected to because of the following informalities: there is a grammatical problem in “to iteratively executing the machine-readable process.” Appropriate correction is required. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 6, 9, 16, and 19 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Regarding claim 6, it recites “one or more special caches;” however, this is not a term of art and the specification merely refers to the term and never defines or characterizes it (see Spec at ¶¶ 13, 16, 102, 107, 113, 124, and 134). Therefore, the metes and bounds of the “one or more special caches” cannot be determined. Claim 16 corresponds to claim 6; therefore, it is indefinite for the same reason. Regarding claim 9, it refers to “benchmark metrics;” however, only “a benchmark metric” has been defined. Therefore, reference to “the benchmark metrics” lacks antecedent basis. Claim 19 corresponds to claim 9; therefore, it is indefinite for the same reason. 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 1-3, 5, 11-13, 15, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wong (US 2009/0241122) and further in view of Tsirkin (US 2018/0239626). Regarding claim 1, Wong teaches: A method comprising: executing, by a virtual (¶ 58, “heavily used parallel code segments 406 are passed to operating system 408 to be executed using two or more of processing resource combinations 410” and ¶ 48, “The various combinations of resources that are analyzed by the illustrative embodiments may comprise physical processors, virtual processors, or even one or more cores within a physical processor chip”); determining, by the virtual (¶ 59, “The score given to each parallel code segment may be based on a metric associated with each individual parallel code segment, such as floating-point operations per second (FLOPS), elapsed time for processing the code segment, or any other benchmark measurement for rating the speed of the processing resource combination”); iteratively executing, by the virtual (¶ 62, “Once the sampling engine collects the heavily used parallel code segments from the application, the operating system executes each of the heavily used parallel code segments using two or more of the processing resource combinations (step 604)” and “As the operating system runs each of the heavily used parallel code segments using each of the two or more processing resource combinations, the operating system gives a score to each parallel code segment (step 606), which are recorded in a performance data structure”); and determining, by the virtual (¶ 63, “Based on the accepted performance level, the performance analyzer selects the identified combination of processing resources that uses the fewest processing resources to run the application (step 610)”). Wong does not teach; however, Tsirkin teaches: executing, by a virtual machine, a benchmark test to evaluate performance of hyperthreading (¶ 29, “a hypervisor 160 may execute a VCPU 174A of a virtual machine 170A in a first hyper-thread 122A of a physical processor 120A (blocks 302 & 304). Then, the hypervisor 160 may execute a monitoring task in a second hyper-thread 122B of the physical processor 120B (blocks 306 & 308)”). It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of executing, by a virtual machine, a benchmark test to evaluate performance of hyperthreading, as taught by Tsirkin, in the same way to the determining a hyperthreading arrangement, as taught by Wong. Both inventions are in the field of hyperthreading scheduling, and combining them would have predictably resulted in “efficient virtual machine memory monitoring with hyper-threading,” as indicated by Tsirkin (¶ 3). Regarding claim 2, Wong teaches: The method of claim 1, wherein the benchmark metric is an execution duration for the machine-readable process on a single core (¶ 59, “The score given to each parallel code segment may be based on a metric associated with each individual parallel code segment, such as floating-point operations per second (FLOPS), elapsed time for processing the code segment”), and wherein the execution metrics are execution durations for the machine-readable process concurrently across two threads (¶ 58, “the user may have processing resource combinations 410 that include four physical processors, three physical processors, two physical processors, or even one physical processor”). Regarding claim 3, Wong teaches: The method of claim 1, wherein executing the machine-readable process on the core of the host device comprises selecting, by the virtual machine, one of the cores of the virtual machine in which to execute the machine-readable process (¶ 63, “Based on the accepted performance level, the performance analyzer selects the identified combination of processing resources that uses the fewest processing resources to run the application (step 610)”). Regarding claim 5, Tsirkin teaches: The method of claim 1, wherein the machine-readable process is configured for the host device, to increase shared resources and partition resources used by a respective core, to increase an execution duration for instances in which the machine-readable process is executed by two threads of a single core of the host device (¶ 9, “Because the processor resources are shared and the architectural state is duplicated for the two hyper-threads, communication through shared memory between the two hyper-threads within the same processor is relatively cheap and efficient. However, because the central processing unit (CPU) execution engine is shared between multiple hyper-threads, unless one of the hyper-threads is halted, the other hyper-thread typically executes at best at half the maximum speed due to the execution engine conflict”). Claims 11-13, 15, and 20 recite commensurate subject matter as claims 1-3 and 5. Therefore, they are rejected for the same reasons. Claim(s) 4, 7, 10, 14, and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wong and Tsirkin, as applied above, and further in view of Cropper (US 2015/0355931). Regarding claim 4, Wong and Tsirkin do not teach; however, Cropper teaches: wherein each core of the virtual machine is executed on a respective core, or a respective thread of the core, of the multi-core processing system of the host device (¶ 114, “When the SMT parameter is off (step 2620=YES), each vCPU is placed on a different physical core (step 2630)”). It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of wherein each core of the virtual machine is executed on a respective core, or a respective thread of the core, of the multi-core processing system of the host device, as taught by Cropper, in the same way to the shared resources, as taught by Wong and Tsirkin. Both inventions are in the field of running virtual processors on a host CPU, and combining them would have predictably resulted in “a more efficient usage of CPU cores and threads,” as indicated by Cropper (¶ 126). Regarding claim 7, Wong and Tsirkin do not teach; however, Cropper teaches: selecting, by the virtual machine, according to the hyperthreading arrangement, cores of the virtual machine to execute on respective threads of the multi-core processing system of the host device (¶ 114, “When the SMT parameter is off (step 2620=YES), each vCPU is placed on a different physical core (step 2630). When the SMT parameter is on (step 2620=NO), vCPUs can be placed on different hardware threads on the same physical core (step 2640). Method 2600 is then done”). It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of selecting, by the virtual machine, according to the hyperthreading arrangement, cores of the virtual machine to execute on respective threads of the multi-core processing system of the host device, as taught by Cropper, in the same way to the virtual machine on the host device, as taught by Wong and Tsirkin. Both inventions are in the field of running virtual processors on a host CPU, and combining them would have predictably resulted in “a more efficient usage of CPU cores and threads,” as indicated by Cropper (¶ 126). Regarding claim 10, Wong and Tsirkin do not teach; however, Cropper teaches: provisioning, by an intermediary device, the virtual machine to the host device for execution (¶ 99, “A host is then selected that has resources that satisfy the resource requirements in the cloud VM request (step 730). The VM is then deployed on the selected host computer system (step 740)”). It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of provisioning, by an intermediary device, the virtual machine to the host device for execution, as taught by Cropper, in the same way to the virtual machine on a host device, as taught by Wong and Tsirkin. Both inventions are in the field of running virtual processors on a host CPU, and combining them would have predictably resulted in “a more efficient usage of CPU cores and threads,” as indicated by Cropper (¶ 126). Claims 14 and 17 recite commensurate subject matter as claims 4 and 7. Therefore, they are rejected for the same reasons. Claim(s) 6 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wong and Tsirkin, as applied above, and further in view of Hrusecky (US 2006/0184741). Regarding claim 6, Wong and Tsirkin do not teach; however, Hrusecky teaches: one or more execution ports or a layer 1 cache (¶ 8, “A multithreaded (SMT) processor fetches data from memory and stores it into a single L1 data cache array”), and wherein the partition resources comprise one or more special caches (¶ 32, “At any one time the data cache can be divided into a first portion that is designated for the exclusive use of a one thread, a portion that is designated for the exclusive use of the other thread, and a portion that is designated as shared between the two threads”). It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of one or more execution ports or a layer 1 cache, and wherein the partition resources comprise one or more special caches, as taught by Hrusecky, in the same way to the shared resources, as taught by Wong and Tsirkin. Both inventions are in the field of running software on a multithreaded processor, and combining them would have predictably resulted in “sharing data in a cache among threads in a simultaneous multi-threaded processor,” as indicated by Hrusecky (¶ 2). Claim 16 recites commensurate subject matter as claim 6. Therefore, it is rejected for the same reason. Claim(s) 8, 9, 18, and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wong and Tsirkin, as applied above, and further in view of Harris (US 2018/0113965). Regarding claim 8, Wong and Tsirkin do not teach; however, Harris teaches: selecting, by the virtual machine, a first core and a second core of the virtual machine (¶ 62, “two threads may be executed on the core, such as to assess if the core suffers a loss in peak performance when co-scheduling multiple software threads on different hardware thread contexts provided by the core”); executing, by the virtual machine, the machine-readable process concurrently on the first core and the second core, the first core executed on a first thread of the multi-core processing system and the second core executed on a second thread of the multi-core processing system (¶ 145, “the experiments where repeated on a two socket Intel Sandy Bridge machine with 8 cores per socket, providing 32 hardware threads in total, according to one example evaluation embodiment”); and determining, by the virtual machine, first execution metrics for the first thread and the second thread, responsive to executing the machine-readable process concurrently on the first core and the second core (¶ 62, “two threads may be executed on the core, such as to assess if the core suffers a loss in peak performance when co-scheduling multiple software threads on different hardware thread contexts provided by the core. Performance may be measured in instructions executed per unit time”). It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of selecting, by the virtual machine, a first core and a second core of the virtual machine; executing, by the virtual machine, the machine-readable process concurrently on the first core and the second core, the first core executed on a first thread of the multi-core processing system and the second core executed on a second thread of the multi-core processing system; and determining, by the virtual machine, first execution metrics for the first thread and the second thread, responsive to executing the machine-readable process concurrently on the first core and the second core, as taught by Harris, in the same way to the iteratively executing the machine-readable process, as taught by Wong and Tsirkin. Both inventions are in the field of scoring different multithreading configurations, and combining them would have predictably resulted in “modeling the performance of parallel workloads with differing thread counts and placements,” as indicated by Harris (¶ 2). Regarding claim 9, Harris teaches: The method of claim 8, wherein the benchmark metrics comprise a benchmark execution duration and wherein the first execution metrics comprise a first execution duration (¶ 76, “the workload may be run with a single thread to get the time t1”), the method further comprising: comparing, by the virtual machine, the first execution duration to the benchmark execution duration (¶ 77, “the execution time recorded at step x (t.sub.x) may be normalized relative to this sequential execution time r.sub.x=t.sub.x/t.sub.1”); and associating, by the virtual machine, the first thread and the second thread as being of the same core of the multi-core processing system (¶ 62, “in some embodiments, two threads may be executed on the core, such as to assess if the core suffers a loss in peak performance when co-scheduling multiple software threads on different hardware thread contexts provided by the core”), responsive to the first execution duration exceeding the benchmark execution duration (¶ 87, “Taking the unknown factors remaining in these two runs burstiness may be defined as the percentage extra time required due to collocation”). Claims 18 and 19 recite commensurate subject matter as claims 8 and 9. Therefore, they are rejected for the same reasons. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to JACOB D DASCOMB whose telephone number is (571)272-9993. The examiner can normally be reached M-F 9:00-5:00. 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 (571) 272-4215. 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. /JACOB D DASCOMB/ Primary Examiner, Art Unit 2198
Read full office action

Prosecution Timeline

Sep 14, 2023
Application Filed
Nov 14, 2023
Response after Non-Final Action
Sep 24, 2026
Non-Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12748623
DATA PROCESSING APPARATUS AND METHOD FOR PROVIDING COMPILER WITH POLYHEDRAL SCHEDULER
3y 0m to grant Granted Sep 29, 2026
Patent 12728530
CONTROL DEVICE, CONTROL METHOD AND STORAGE MEDIUM
4y 0m to grant Granted Sep 08, 2026
Patent 12724631
BILL-OF-MATERIALS-DRIVEN VIRTUAL INFRASTRUCTURE DEPLOYMENT
3y 3m to grant Granted Sep 01, 2026
Patent 12717912
METHOD, APPARATUS, DEVICE AND STORAGE MEDIUM FOR SEARCHING AND KILLING A FRONT-END PROCESS
2y 6m to grant Granted Aug 25, 2026
Patent 12706801
INITIALIZING A CONTAINER ENVIRONMENT
3y 9m to grant Granted Aug 11, 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

1-2
Expected OA Rounds
85%
Grant Probability
99%
With Interview (+21.1%)
2y 9m (~0m remaining)
Median Time to Grant
Low
PTA Risk
Based on 464 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