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 .
Claim Rejections - 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.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Specifically, representative Claim 1 recites:
An apparatus comprising: a plurality of performance monitoring hardware resources; and an instruction decoder to decode a first instruction to access a first performance monitoring hardware resource of the plurality of performance monitoring hardware resources, wherein, in response to the first instruction being received by a virtual machine, the apparatus is to: determine whether the first performance monitoring hardware resource is allocated to the virtual machine based on an allocation model to allow any set of the performance monitoring hardware resources to be allocated to the virtual machine, execute the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine, and raise an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine.
The claim limitations in the abstract idea have been highlighted in bold above; the remaining limitations are “additional elements”.
Under the Step 1 of the eligibility analysis, we determine whether the claims are to a statutory category by considering whether the claimed subject matter falls within the four statutory categories of patentable subject matter identified by 35 U.S.C. 101: Process, machine, manufacture, or composition of matter. The above claim is considered to be in a statutory category (process).
Under the Step 2A, Prong One, we consider whether the claim recites a judicial exception (abstract idea). In the above claim, the highlighted portion constitutes an abstract idea because, under a broadest reasonable interpretation, it recites limitations that fall into/recite an abstract idea exceptions. Specifically, under the 2019 Revised Patent Subject matter Eligibility Guidance, it falls into the grouping of subject matter when recited as such in a claim limitation, that covers mathematical concepts (mathematical relationships, mathematical formulas or equations, mathematical calculations) and mental processes – concepts performed in the human mind including an observation, evaluation, judgement, and/or opinion.
For example, steps of “decode a first instruction to access a first performance monitoring hardware resource of the plurality of performance monitoring hardware resources; determine whether the first performance monitoring hardware resource is allocated to the virtual machine based on an allocation model to allow any set of the performance monitoring hardware resources to be allocated to the virtual machine” are treated by the Examiner as belonging to mental process grouping.
Similar limitations comprise the abstract ideas of Claims 13 and 19.
Next, under the Step 2A, Prong Two, we consider whether the claim that recites a judicial exception is integrated into a practical application.
In this step, we evaluate whether the claim recites additional elements that integrate the exception into a practical application of that exception.
The above claims comprise the following additional elements:
In Claim 1: an apparatus, instruction decoder, performance monitoring hardware, virtual machine,
In Claim 13: virtual machine, processor, performance monitoring hardware resource;
In Claim 19: system, memory, virtual machine, processor, performance monitoring hardware resource, instruction decoder
The additional element in the preamble of “an apparatus, instruction decoder, performance monitoring hardware, virtual machine, system, processor (generic processor, and instruction decoder” are generally recited and are not qualified as particular machines.
Further, the limitations “execute the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine, and raise an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine,” are mere instruction s to apply the exception (MPEP 2106.05(f) and insignificant extra solution activity (MPEP 2106.05(g).
In conclusion, the above additional elements, considered individually and in combination with the other claim elements do not reflect an improvement to other technology or technical field, and, therefore, do not integrate the judicial exception into a practical application. Therefore, the claims are directed to a judicial exception and require further analysis under the Step 2B.
However, the above claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception (Step 2B analysis).
The claims, therefore, are not patent eligible.
With regards to the dependent claims, claims 2-12, 14-18 and 20 provide additional features/steps which are part of an expanded algorithm, so these limitations should be considered part of an expanded abstract idea of the independent claims.
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)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 10-13 and 19-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Neiger et al. (US20150121366A1, 2015-04-30) herein referred to as Neiger.
Regarding Claim 1, Neiger teaches an apparatus (abstract) comprising: a plurality of performance monitoring hardware resources [0028]; and an instruction decoder to decode a first instruction to access a first performance monitoring hardware resource of the plurality of performance monitoring hardware resources [0019], wherein, in response to the first instruction being received by a virtual machine [0026], the apparatus is to: determine whether the first performance monitoring hardware resource is allocated to the virtual machine based on an allocation model to allow any set of the performance monitoring hardware resources to be allocated to the virtual machine [0030; 0033-0034], execute the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine [0045], and raise an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine [0033-0034].
Regarding Claim 10, Neiger teaches the apparatus of claim 1, wherein the apparatus is to determine whether the first performance monitoring hardware resource is allocated to the virtual machine further based on a data structure having a plurality of fields, each of the plurality of fields corresponding to one of the performance monitoring hardware resources and to indicate whether the one of the performance hardware resources is to be allocated to the virtual machine [0040] (Examiner’s Note: If the processor doesn’t implement a “VM exit,” the virtual environment is maintained [0005], resources are shared [0004], and information is stored in a designated area of memory [0040].
Regarding Claim 11, Neiger teaches the apparatus of claim 10, wherein the data structure is to be included in a virtual machine control structure for the virtual machine [0005; 0027].
Regarding Claim 12, Neiger teaches the apparatus of claim 10, wherein the data structure is a bitmap having one bit per performance monitoring hardware resource [0034].
Regarding Claim 13, Neiger teaches a method comprising: allocating, according to an allocation model to allow any subset of a set of performance monitoring hardware resources to be allocated to a virtual machine, a subset of a set of performance monitoring hardware resources to a virtual machine [0030; 0035]; receiving, by the virtual machine on the processor, a first instruction to access a first performance monitoring hardware resource of the set of performance monitoring hardware resources [0045]; in response to the first instruction being received by the virtual machine, determining whether the first performance monitoring hardware resource is allocated to the virtual machine [0045-0046]; executing the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine[0045-0048]; and raising an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine [0045-0048; 0025; 0034-0035].
Regarding Claim 19, Neiger teaches a system [0009]comprising: a system memory to store a control structure for a virtual machine [0014-0017]; and a processor [0017] including: a plurality of performance monitoring hardware resources [0028]; and an instruction decoder to decode a first instruction to access a first performance monitoring hardware resource of the plurality of performance monitoring hardware resources [0019], wherein, in response to the first instruction being received by a virtual machine [0026], the apparatus is to: determine whether the first performance monitoring hardware resource is allocated to the virtual machine based on an allocation model to allow any set of the performance monitoring hardware resources to be allocated to the virtual machine [0030; 0033-0034], execute the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine [0045], and raise an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine [0033-0034].
Regarding Claim 20, Neiger teaches the system of claim 19, wherein the processors is to determine whether the first performance monitoring hardware resource is allocated to the virtual machine further based on a data structure having a plurality of fields, each of the plurality of fields corresponding to one of the performance monitoring hardware resources and to indicate whether the one of the performance hardware resources is to be allocated to the virtual machine [0040] (Examiner’s Note: If the processor doesn’t implement a “VM exit,” the virtual environment is maintained [0005], resources are shared [0004], and information is stored in a designated area of memory [0040]).
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.
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.
Claims 2-4 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Neiger as applied to claims 1, 10-13 and 19-20 above, and further in view of Herdrich et al. (WO2022066179A1, 2022-03-31).
Regarding Claim 2, Neiger teaches the apparatus of Claim 1. Neiger fails to specifically teach wherein the first performance monitoring hardware resource includes a first counter. However, in a related field, Herdrich teaches wherein the first performance monitoring hardware resource includes a first counter [Abstract; 0063; 0224] (Examiner’s Note: MBM is considered the first performance monitoring hardware resource and MBMcounter as first counter). Therefore, it would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Neiger to incorporate the teachings of Herdrich by including: the limitation above in order to monitor and/or log performance information such as the occurrence of roller/overflow.
Regarding Claim 3, the combination teaches the apparatus of claim 2, wherein the first instruction is to read the first counter (Herdrich: [0098] (Explains the process of reading counter which makes this limitation implicit)).
Regarding Claim 4, Neiger teaches the apparatus of claim 1. Neiger fails to specifically teach further comprising a storage location, wherein the instruction decoder is also to decode a second instruction to access the storage location, the storage location associated with the first performance monitoring hardware resource and a second performance monitoring hardware resource of the plurality of performance monitoring hardware resources. However, in a related field, Herdrich teaches further comprising a storage location, wherein the instruction decoder is also to decode a second instruction to access the storage location, the storage location associated with the first performance monitoring hardware resource and a second performance monitoring hardware resource of the plurality of performance monitoring hardware resources (Herdrich: Fig. 10; [0097-0103]. Therefore, it would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Neiger to incorporate the teachings of Herdrich by including: the limitations above in order to [Motivation]
Regarding Claim 14, Neiger teaches the method of claim 13. Neiger fails to specifically teach wherein the first performance monitoring hardware resource includes a first counter and the first instruction is to read the first counter. However, in a related field, Herdrich teaches wherein the first performance monitoring hardware resource includes a first counter [Abstract; 0063; 0224] (Examiner’s Note: MBM is considered the first performance monitoring hardware resource and MBM counter as first counter) and the first instruction is to read the first counter (Herdrich: [0098] (Explains the process of reading counter which makes this limitation implicit)). Therefore, it would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Neiger to incorporate the teachings of Herdrich by including: the limitation above in order to monitor and/or log performance information such as the occurrence of roller/overflow.
Allowable Subject Matter
Regarding Claim 5, the combination, along with all other references fail to teach the apparatus of claim 4, wherein, in response to the second instruction being received by the virtual machine, the apparatus is to: determine whether the second performance monitoring hardware resource is allocated to the virtual machine based on the allocation model, execute second instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource and the second performance monitoring are allocated to the virtual machine, and raise an exception within the virtual machine in response to a determination that either the first performance monitoring hardware resource or the second performance monitoring hardware resource is not allocated to the virtual machine. It is for this reason, Claim 5 and all of its dependencies would be allowed.
Regarding Claim 15, the combination, along with all other references fail to teach he method of claim 13, further comprising: receiving, by the virtual machine on the processor, a second instruction to access a storage location, the storage location associated with the first performance monitoring hardware resource and a second performance monitoring hardware resource of the set of performance monitoring hardware resources the set of performance monitoring hardware resources; in response to the second instruction being received by the virtual machine, determining whether the second performance monitoring hardware resource is allocated to the virtual machine based on the allocation model; executing the second instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource and the second performance monitoring are allocated to the virtual machine; and raising an exception within the virtual machine in response to a determination that either the first performance monitoring hardware resource or the second performance monitoring hardware resource is not allocated to the virtual machine.
Conclusion
The prior art made record and not relied upon is considered pertinent to applicant’s disclosure.
Yasin et al. (PERFORMANCE MONITORING IN HETEROGENEOUS SYSTEMS, 2021-07-01) teaches embodiments of apparatuses, methods, and systems for performance monitoring in heterogenous systems are described. In an embodiment, an apparatus includes a plurality of performance counters to generate a plurality of unweighted event counts; a weights storage to store a plurality of weight values, each weight value corresponding to an unweighted event count; a plurality of weighting units, each weighting unit to weight a corresponding unweighted event count based on a corresponding weight value to generate one of a plurality of weighted event counts; and a work counter to receive the weighted event counts and generate a measured work amount;
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL J SINGLETARY whose telephone number is (571)272-4593. The examiner can normally be reached Monday-Friday 8:00am-5: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, Catherine Rastovski can be reached at 571-270-0349. 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.
/MICHAEL J SINGLETARY/Examiner, Art Unit 2857