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
Claims 1-20 are presented for the examination.
§ 101 2. 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, 2, 3, 9-12, 13, 17 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
As to Claims 1, 13, 17 , have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, “ identifying a change to a next core allocation ”, “ determining a time that a process of a software application can be moved” and “ identifying a pinned core of the process request” recite a mental process since “determining” and “identifying” are functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion.
Under Prong 2, the additional element “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning; and updating the virtual to physical core mapping for the process of the software application at the determined time” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning”-this generally have been a mental process although the software application could be a generic computer component described in its actual computer hardware and “updating the virtual to physical core mapping for the process of the software application at the determined time”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
As to Claims 2, have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, the “ identifying a pinned core of the process request ”, recite a mental process since “identifying” is functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion.
Under Prong 2, the additional element “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning; and updating the virtual to physical core mapping for the process of the software application at the determined time, overwriting the pinned core of the process request with an allocated core indicated by the virtual to physical core mapping” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning”-this generally have been a mental process although the software application could be a generic computer component described in its actual computer hardware and “updating the virtual to physical core mapping for the process of the software application at the determined time, overwriting the pinned core of the process request with an allocated core indicated by the virtual to physical core mapping”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
As to Claim 3 have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, the “ determining the time that the process”, “ determining one or more interruption time periods having a likelihood of a minimal number of process requests”, recite a mental process since “ determining” is functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion.
Under Prong 2, the additional element “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning; and updating the virtual to physical core mapping for the process of the software application at the determined time, enabling a change from one core to a different core during an interruption time period of the one or more interruption time periods” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning”-this generally have been a mental process although the software application could be a generic computer component described in its actual computer hardware and “updating the virtual to physical core mapping for the process of the software application at the determined time, enabling a change from one core to a different core during an interruption time period of the one or more interruption time periods”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
As to Claim 5 have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, the “ determining the time that the process of the software application can be moved to the next core allocation comprises: determining that the time falls at a prescribed time of day, week, or month ”, “ determining a time that a process of a software application can be moved” recite a mental process since “determining” and “identifying” are functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion.
Under Prong 2, the additional element “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning; and updating the virtual to physical core mapping for the process of the software application at the determined time” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning”-this generally have been a mental process although the software application could be a generic computer component described in its actual computer hardware and “updating the virtual to physical core mapping for the process of the software application at the determined time”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
As to Claims 9-12 have been rejected under 35 USC 101 for abstract idea without significantly more.
Under Step 2A, Prong 1, the “ identifying the change to the next core allocation according to the allocation pattern comprises: determining that a core's usage has satisfied a target length of time for a time period ”, “ identifying the change to the next core allocation according to the allocation pattern comprises: determining that a core's usage has satisfied a target usage amount” , “ identifying the change to the next core allocation according to the allocation pattern comprises: determining that a core's usage has satisfied a target usage amount”, “tracking core utilization of the physical cores of the computing system; and maintaining information of core utilization of the physical cores, wherein identifying the change to the next core allocation according to the allocation pattern is triggered by temperature information” recite a mental process since “determining”, “identifying” are functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion.
Under Prong 2, the additional element “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning; and updating the virtual to physical core mapping for the process of the software application at the determined time” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ maintaining a virtual to physical core mapping of physical cores of a computing system, the process of the software application is configured with core pinning”-this generally have been a mental process although the software application could be a generic computer component described in its actual computer hardware and “updating the virtual to physical core mapping for the process of the software application at the determined time”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
8. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application. See MPEP 2106.05(d). Thus, the claim is not patent eligible.
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.
Claim(s) 1, 13 are rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) and further in view of Iwasa( US 20210117219 A1)
As to claim 1, Reed teaches maintaining a virtual to physical core mapping of physical cores of a computing system( the amount of resources (e.g., processor cores and/or memory) , para[0401], ln 9-14/ A “current resource map” is created and maintained by each hyper-kernel instance. This map describes the current mapping between the virtual resource map and the physical resource map from the point of view of each node., para[0061], ln 1-6)
;
and updating the virtual to physical core mapping for the process of the software application at the determined time( For each entry in the virtual resource map, a definition of the physical resources currently assigned to the virtual resources is maintained. Initially (e.g., at boot time), the current resource map is a copy of the initial virtual resource map. The hyper-kernel modifies the current resource map over time as it observes the characteristics of the resource load and dynamically changes the mapping of physical resources to virtual resources (and vice-versa). For example, the definition of the location of the Ethernet controller eth27 in the virtualized machine may at different times refer to different hardware controllers. The current resource map is used by the hyper-kernel to dynamically modify the virtual hardware resource mappings, such as the virtual memory subsystem, as required, para[0061], ln 3-17).
Kwon teaches identifying a change to a next core allocation according to an allocation pattern( identify a task group with a highest execution time estimate that is allocated to a first physical core and map part of the task group with the highest execution time to a second physical core that is allocated a task group with a lowest execution time estimate.
determining a time that a process of a software application can be moved to the next core allocation, para[0021]/ As an example, if a task group with a highest execution time estimate is initially allocated to a first physical core and a task group with a lowest execution time estimate is initially allocated to a second physical core, which is connected to the first physical core, the dynamic scheduling unit 202 may reallocate part of the task group with the highest execution time estimate to the second physical core, para[0042]/ 200 maps the virtual cores to physical cores and performs dynamic scheduling, in 902. For example, referring to FIGS. 5 and 6A through 6C, the dynamic scheduling unit 202 may allocate the task groups to the physical cores by mapping the virtual cores to the physical cores. If a MAX task group with a highest execution time estimate is allocated to a first physical core and a MIN task group with a lowest execution time estimate is allocated to a second physical core physically connected to the first physical core, the dynamic scheduling unit 202 may reallocate part of the MAX task group to the second physical core, para[0085]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed with Kwon to incorporate the above feature because this improves the use of available resources in the multicore device.
Palermo teaches determining a time that a process of a software application can be moved to the next core allocation, wherein the process of the software application is configured with core pinning(The VNF (Virtual Network Function=Virtual Application) can be moved from H to L cores depending on pre-determined indicator (also can refer to as “busy indicator”). The 2nd set of cores can operate at low frequency. CPU config could be either H or L from start (although some implementations may force initial H core setting), para[0216], ln 4-11/ while VNF2 was originally using the L cores 1906, VNF2 is moved at a later time to use a combination of both the L cores 1906 and the H cores 1908, para[0229], ln 6-12/ / In some aspects, in order to use L and/or H cores, a VNF can “pin” to a group of CPU cores (e.g., L cores, H cores, or a combination of L and H cores). As used herein, the term “pin” (or “pinning”) a VNF to processor cores indicates assigning CPU cores used for running/executing the VNF (e.g., virtual CPUs used for executing the VNF) to low or high priority processor cores of a hardware device. In some aspects, a VNF can be statically assigned specific H cores, or L cores, or a combination of both H and L cores at the time of starting the VM associated with the VNF. Additionally, a VNF can be dynamically “pinned” to H or L cores using a taskset (or similar) Linux command. Within the VNF, cores can be distributed/assigned to different functions as needed. For example, FortiGate VNF provides the following command within the VNF, listed in Table 4 below, to assign a core (core mask 0xE) to a package redistribution function, para[0235]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed and Kwon with Palermo to incorporate the above feature because this allows a group of CPU cores to run at a higher deterministic frequency without major power increases, allows for extra capacity to support bursts of mobile subscribers' services using the same Edge, MEC Server.
Iwasa teaches determining a time that a process of a software application can be moved to the next core allocation(According to this service providing system, it is possible to complete re-allocation of the new occupied cores to the second virtual machine in a short period of time even in a case in which the computer resources allocated to the second virtual machine immediately after occurrence of a failure are used in a state in which multiple other virtual machines share the resources. Thus, it is possible to recover degradation of performance of the second virtual machine, which occurs due to sharing of the same computer resources, in a short period of time, para[0031]),
wherein the process of the software application is configured with core pinning( Specifically, because each processor (CPU) in the server incorporates a plurality of core circuits, or CPU cores for each chip, it is necessary to allocate the physical CPU cores to virtual CPU cores in units of cores, para[0007], ln 5-10/ Sf31B: Content in definition files of the corresponding virtual machines are updated such that CPU resources are newly dispensed and the physical CPU cores 11 and the virtual CPU cores 12 are fixedly occupied in a one-to-one relationship through the CPU pinning, para[0200]/ The occupied cores 11-X are provided with conditions by a CPU pinging method such that the allocated physical CPU cores 11 and the virtual CPU cores 12 can be used only in a one-to-one state, para[0120]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon and Palermo with Iwasa to incorporate the above feature because this allows a group of CPU cores to run at a higher deterministic frequency without major power increases, allows for extra capacity to enables economical balancing between scalability and reliability, quick provision of services, flexible resource allocation in accordance with demands for each service, and service deployment without restriction by the lifetimes of hardware.
As to claim 13, it is rejected for the same reason as to claim 1 above.
Claim(s) 2, 14, 17 are rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) and further in view of Guttahalli(US 20160224389 A1).
As to claim 2, Iwasa teaches a process request of the software application( he resource request receiving unit 41 in the resource allocation system 40 receives a resource allocation request from the resource request unit 50 in Step S11 and provides instructions to the VM management unit 42 and the resource dispensing control unit 43, para[0110]/FIG. 2 follows a request from a resource request unit 50 and allocates physical resources 10-1 to 10-4 to be controlled to the respective virtual machines, para[0090], ln 105) ; identifying a pinned core of the process request and overwriting the pinned core of the process request with an allocated core indicated by the virtual to physical core mapping( The occupied cores 11-X are provided with conditions by a CPU pinning method such that the allocated physical CPU cores 11 and the virtual CPU cores 12 can be used only in a one-to-one state. Thus, once an occupied core 11-X is allocated to one virtual CPU core 12, and it is not possible to allocate the occupied core 11-X to another virtual CPU core , para[0102]/ The resource dispensing control unit 43 performs resource dispensing control on the basis of a dispensing request from the resource request unit 50 and an instruction for setting CPU pinning from the VM management unit 42, para[0095], ln 9-15/ the resource dispensing control unit 43 selects more appropriate resources from among the allocatable resources, para[0117], ln 1-3/ selection is made such that the occupied cores 11-X are allocated to the virtual CPU cores 12 of the working systems ACT and the shared cores 11-Y are allocated to the virtual CPU cores 12 of the standby systems SBY in the embodiment. In a case in which the occupied cores 11-X are allocated, the occupied cores 11-X and the virtual CPU cores 12 are linked in one-to-one correspondence using the CPU pinning method, for example. Note that the resource allocations of the physical CPU cores 11 are actually performed and then conditions may be changed such that the allocated resources function as the occupied cores 11-X or the shared cores 11-Y, for example, para[0118]) for the same reason as to claim 2 above.
Guttahalli teaches intercepting a process request of the software application( such hypervisors 32 generally manage execution of the operating systems 30 on the physical resources (e.g., processors 22 and memory 24) by virtualizing the physical resources into virtualized hardware resources. For instance, a hypervisor 32 may intercept requests for resources from operating systems 30 to globally share and allocate resources. The hypervisor 32 may allocate physical processing cycles of shared processor 22 resources by way of virtual processors for a logical partition, para[0019], ln 9-20/ In general, a hypervisor may access a hardware page table (HPT) of each logical partition of the data processing system. Therefore, each logical partition may access its HPT even during the reallocation/optimization process, where the access may be transparent to the operating systems of the logical partition. In addition, for memory pages that are pinned for input/output (I/O) that may have physical addresses in translation control entity (TCE) tables associated with I/O adapters, the hypervisor may mediate to resolve any contention, since the hypervisor has information about the TCE table, and also the physical addresses of the memory pages that are pinned for I/O, para[0043], ln 5-21).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon and Palermo and Iwasa with Guttahalli to incorporate the above feature because this improves logical partition resource allocation management.
As to claim 14, it is rejected for the same reason as to claim 2 above.
As to claim 17, it is rejected for the same reasons as to claims 1 and 2 above.
Claim(s) 3, 15 are rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) and further in view of HASHIMOTO( US 20070157209 A1).
As to claim 3, Hashimoto teaches determining the time that the process of the software application can be moved to the next core allocation comprises: determining one or more interruption time periods having a likelihood of a minimal number of process requests of the software application; and enabling a change from one core to a different core during an interruption time period of the one or more interruption time periods( In the case where the program which seizes the resource has a valid time, the resource contention program processing unit 2902 has a function for measuring an execution time of the program with a timer, and reallocating the resource to the program from which the resource is seized, after the valid time has passed. FIG. 34 is a flowchart showing the case of reallocating the resource to the program from which the resource is seized after the valid time of the program which seizes the resource passes. In the case where the program which seizes the resource has a valid time, the resource contention program processing unit 2902 holds that valid time. In the resource contention program processing unit 2902, a timer interrupt occurs at predetermined intervals (S3401), and the time indicated by the timer is updated (S3402). For example, when a program having a certain valid time is activated, the timer is reset and a timer interrupt occurs every 0.1 second. When the timer interrupt occurs, the time indicated at that time is updated to advance 0.1 second. In the case where the time indicated by the timer corresponds to the valid time of the program which has seized the resource (S3403), the resource contention program processing unit 2902 seizes the resource allocated for that program, and notifies the program that the resource is seized by calling the notifyRelease method (S3404), as well as reallocates, by the reserve method, a resource to the program which had been reserving that resource before the program has seized it, with reference to the processing program information held in the processing program information holding unit 2904 (S3405). In addition, the resource contention program distinguishing unit 2901 updates, based on the result, the resource management information held in the resource management information holding unit 2903 and the processing program information held in the processing program information holding unit 2904 (S3406), para[0166]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo and Iwasa with HASHIMOTO to incorporate the above feature because this is possible to execute the application program by switching the program to an appropriate one.
As to claim 15, it is rejected for the same reason as to claim 3 above.
Claim(s) 4 is rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) in view of HASHIMOTO( US 20070157209 A1) and further in view of Reddy( US 9805130 B1).
As to claim 4, Reddy teaches determining one or more interruption time periods having a likelihood of a minimal number of process requests of the software application comprises: determining behavior patterns, from historical process requests of the software application, wherein the behavior patterns include numbers of requests during different periods of time in a day, week, or month; and identifying, from the behavior patterns, the one or more interruption time periods having the likelihood of the minimal number of process requests( he selection rules indicate a threshold value for a given data source. For example, the threshold value indicates the maximum number of search requests that the location search engine 220 should allocate to the given data source, e.g., during a certain duration of time such as an hour, a day, a month, etc., col 13, ln 1-25/ a selection rule is based on the latency of a data source. The latency represents the duration of time a data source requires to provide search results in response to a search request. For instance, as a data source receives an influx of a large number of search requests during a short period of time, a computer server of the data source may be constrained by the availability of computational resources to process the influx of search requests (e.g., saturated thread pools, high CPU or memory usage, delayed messages, or port exhaustion). Consequently, the latency of the computer server increases, which may result in a poor user experience because the user would need to wait a longer duration to receive search results after inputting a search request, col 14, ln 14-27).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo, Iwasa and HASHIMOTO with Reddy to incorporate the above feature because this selects a high quality data source from the available data sources.
Claim(s) 5, 16 are rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) and further in view of Venkadasamy( US 20200174839 A1).
As to claim 5, Venkadasamy teaches determining the time that the process of the software application can be moved to the next core allocation comprises: determining that the time falls at a prescribed time of day, week, or month( For example, an application may have projected allocation increases 216 of four processor cores for existing instances and two new application instances over the next three months. If the application requires a minimum of four processor cores per application instance, the application may have a total allocation increase of 12 processor cores (i.e., four processor cores for existing application instances and eight processor cores for new application instances) over the next three months, para[0036], ln 12-23).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo and Iwasa with Venkadasamy to incorporate the above feature because this provides mechanisms for efficiently allocating, configuring, and forecasting the use of infrastructure resources for use by applications.
As to claim 16, it is rejected for the same reason as to claim 5 above.
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) and further in view of Ananthakris(US 20190041967 A1).
As to claim 6, Ananthakris teaches updating the virtual to physical core mapping for the process of the software application at the determined time comprises: updating the virtual to physical core mapping of a particular physical core associated with a specified core amity for a software application( he register is partitioned into 8 bit fields, where each field indicates the virtual machine ID associated with a core belongs to. The size of this register can be expanded based on the number of processor cores. As an example, if VIMD_Core® is set to 0, VMID_Core1 set to 1 and VMID_Core2 set to 0, this implies that core0 and core2 are part of the same virtual machine. The mapping of physical core resources to virtual machine can be changed dynamically during run time, allowing for the dynamic reconfiguration of virtual machines based on workload demand., para[0135].
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo and Iwasa with Ananthakris to incorporate the above feature because this allocates power budget to ensure fair allocation.
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) and further in view of SUMIDA( US 20110209157 A1).
As to claim 7, Sumida teaches the allocation pattern is sequential( The number of the processor core allocation patterns is determined by the number of the processor cores, and the number of the programs included in the congestion pattern. Specifically, the number of the processor core allocation patterns is N M where N is the number of the processor cores, and M is the number of the programs. Also, the process from step S0608 to a later-described step S0611 form a loop, and all the resource allocation patterns are sequentially selected in step S0608., para[0129], ln 8-20).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo and Iwasa with Sumida to incorporate the above feature because this provides an optimal resource allocation pattern among the generated resource allocation patterns as a resource allocation pattern for the programs included in the group of programs based on the calculated total amount of processing.
Claim(s) 8 is rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) and further in view of Liu( US 20180018197 A1).
As to claim 8, Liu teaches the allocation pattern is random( Manner 2: A resource is allocated in real time according to a load status of a physical processor. Further, the physical processor is dynamically allocated in real time to virtual processors of different virtual machines, according to a consumption status of each physical core (that is, a core in the physical processor, which is referred to as an independent computing unit in each physical processor) or hyperthread of the physical processor in order to achieve basically balanced consumption of all physical cores or hyperthreads of the physical processor ……… time such that load of all the physical cores of the physical processor is basically balanced. However, the vMEM and the vIO are generally allocated in a random allocation manner, para[0006]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo and Iwasa with Lui to incorporate the above feature because this allows A resource is allocated in a static random allocation manner.
Claim(s) 9, 10, 11, 12 are rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1 and further in view of Alverson( US 20230315191 A1).
As to claim 9, Alverson teaches identifying the change to the next core allocation according to the allocation pattern comprises: determining that a core's usage has satisfied a target length of time for a time period(the request 116 indicates to switch to a different number of active cores 104 from the first core configuration 208, para[0060], ln 6-10/ ore configuration further includes deactivating one or more cores of the processor without rebooting, para[0024], ln 3-6/ In one or more implementations, at least one of the controller 106, the operating system 110, or an application 112 is configured to determine (or specify) which of the cores 104 to activate based on a number of cores 104 to be activated and based on optimizing for thermal conditions. By way of example, the controller 106, the operating system 110, or the application 112 references a table that specifies which cores 104 of the processor 102 to activate based on a number of active cores 104 and a type of optimization, e.g., thermal. Alternatively or in addition, the controller 106, the operating system 110, and/or the application 112 requests to switch from using cores 104 that are activated at a given time to instead using the cores 104 that are deactivated at the given time (and are potentially cooled down relative to the activated cores), e.g., by activating one or more of those deactivated cores, par[0050]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo and Iwasa with Alverson to incorporate the above feature because this allows a switch from the first core configuration to the second core configuration occurs by adjusting a number of active cores of the processor without rebooting.
As to claim 10, Alverson teaches identifying the change to the next core allocation according to the allocation pattern comprises: determining that a core's usage has satisfied a target usage amount( para[0038], ln 1-20/ para[0050]/ para[0080]/ para[0040], ln 17-29) for the same reason as to claim 9 above.
A to claim 11, Alverson teaches identifying the change to the next core allocation according to the allocation pattern comprises: determining that temperature information satisfies a change condition( para[0038], ln 1-20/ para[0050]/ para[0080]/ para[0040], ln 17-29) for the same reason as to claim 9 above.
As to claim 12, Alverson teaches tracking core utilization of the physical cores of the computing system; and maintaining information of core utilization of the physical cores, wherein identifying the change to the next core allocation according to the allocation pattern is triggered by temperature information, a target length of time for a time period, or a target usage amount indicated by the information of core utilization( para[0038], ln 1-20/ para[0050]/ para[0080]/ para[0040], ln 17-29) for the same reason as to claim 9 above.
Claim 18 is rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) in view of Guttahalli(US 20160224389 A1) and further in view of MULLER(US 20160350117 A1).
As to claim 18, Muller teaches temperature sensors coupled to the plurality of physical cores, wherein the allocator further comprises instructions for reading temperature from the temperatures sensors while tracking usage of the plurality of physical cores for maintaining the information of core utilization of the plurality of physical cores(For instance, where the computing device includes a plurality of processor cores, the automatically controlling assigning of the one or more instructions may comprise automatically reassigning the one or more instructions for processing to another processing core of the plurality of processor cores based, at least in part, on the separately monitored temperatures of the multiple logic units within one or more of the processor cores. As noted, in one or more implementations, each processor core comprises multiple logic units, and each logic unit (or selected logic units) may have associated therewith a temperature sensor in order to closely track the available thermal resources. In one or more enhanced embodiments, the reassigning may include automatically controlling reassigning of the one or more instructions to the another processor core based, at least in part, on the separately monitoring temperatures of the multiple logic units of multiple processor cores, including the another processor core, para[0054], ln 23-27/ With the sensed temperatures regularly updated in a database, such as in the above-illustrated look-up table, the instruction control interface may control instruction assignment based on temperatures of individual logic units within particular processor cores. Thus, fine-grain thermal control of instruction execution within one or more processor cores of the chip may be achieved. Note that the sensed temperature of the core logic units may also be stored in memory to, for instance, predict thermal trends within individual logic units of a processor core, or across the processor, para[0053]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo, Iwasa and Guttahalli with Muller to incorporate the above feature because this increases in order to achieve increases in processor performance.
Claim(s) 19 is rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) in view of Guttahalli and further in view of Jain( US 20170199798 A1).
As to claim 19, Jain teaches counters coupled to the plurality of physical cores, wherein the counters track counts of certain operations, wherein the allocator further comprises instructions for reading the counts of the certain operations while tracking usage of the plurality of physical cores for maintaining the information of core utilization of the plurality of physical cores ( FIG. 17, the compute node may include four cores 1710, where each core includes four hardware threads. A unique PURR may correspond to each individual hardware thread, and be configured to monitor the processing activity and degree of usage of its corresponding hardware thread. In embodiments, the PURR may be configured to track (e.g., count) the number of jobs scheduled on a given hardware thread by the hypervisor. As an example, Logical CPU 3 of Core 2 may be determined to have a job count of 99, while Logical CPU 1 of Core 3 may have a job count of 65, as computed by each PURR respectively. Other methods of tracking the utilization of each core are also possible. In embodiments, monitoring the set of physical cores may include tracking processing time and processor utilization at block 1915. In certain embodiments, the processing time and processor utilization may be tracked using a set of processor utilization resource registers (PURRs). As described herein, a PURR may include a type of register configured to calculate and track processor time and utilization in a simultaneous multi-threading (SMT) environment. In embodiments, a single PURR may correspond to a single hardware thread, and be configured to track (e.g., count) the number of jobs scheduled on a given hardware thread by the hypervisor, para[0124], ln 2-17 to para[0128], ln 1-15).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo, Iwasa and Guttahalli with Jain to incorporate the above feature because this optimizes resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts) and Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
Claim(s) 20 is rejected under 35 U.S.C. 103 as being unpatentable over in view of Reed( US 20190149399 A1) in view of Kwon( US 20120159507 A1) in view of Palermo( US 20200125389 A1) in view of Iwasa( US 20210117219 A1) in view of Guttahalli and further in view of Ramakrishna(US 20160028647 A1).
As to claim 20, Ramakrishna teaches the allocator interfaces with an operating system stored on the system memory( Moreover, in some implementations, the memory 510 or the non-transitory computer readable storage medium of the memory 510 stores the following programs, modules and data structures, or a subset thereof including an optional operating system 511, network resource data 520, subscriber/user profile data 530, an analytics module 540, a resource reallocation module 550, and an inter-client reallocation module 560, para[0047], ln 14-27).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Reed, Kwon, Palermo, Iwasa and Guttahalli with Ramakrishna to incorporate the above feature because this enables client device participation in the allocation of the network resource.
Conclusion
US 20170315835 A1 teaches configuring of the first vm comprises pinging the first vm to run only on the subset 106 of cores.
US 20120159507 teaches A1 Referring to FIG. 8E, if one or more of the tasks having a parallel relationship therebetween are allocated to a different physical core from its preceding task, the stage adjuster 702 may match the pipeline stages of the tasks such that they can be executed at the same pipeline stage.
US 20140156901 A1 teaches The dimension is determined by the number of external pins of the input, as further described below, and the duration is determined and constrained by memory capacity of each one of the computational cores 100. The computational layer 1 and each one of the computational cores 100 are adaptively reconfigurable in time. The configuration at the computational cores 100 level is manifested by allocation of available cores for a specific sub-instruction, as described below in relation to FIG. 17B, while the other sub-instruction may be executed with different configuration of the computational cores.
US 20220058123 A1 teaches between a processing unit and a portion of the cache. As an example, if an application is running on core , and reading and writing a data from/to slice 1 is faster than from, e.g., slice 2 to slice 8, assuming a CPU socket with eight cores, an association may be determined, or created, between core 1 and slice 1.
US 20130081044 A1 teaches any processing cores remaining unallocated are allocated, one core per program at a time, among the application programs whose demand 130 for processing cores had not been met by the amounts of cores so far allocated to them by preceding iterations of this step (ii) within the given run of the algorithm 310.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LECHI TRUONG whose telephone number is (571)272-3767. The examiner can normally be reached 10-8 PM.
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 Young Kevin can be reached on (571)270-3180. 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.
/LECHI TRUONG/Primary Examiner, Art Unit 2194