DETAILED ACTION
This office action is in response to application filed on 5/7/2024.
Claims 1 – 20 are pending.
Priority is claimed to provisional application 63/557372 (filed pm 2/23/2024).
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 § 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 – 3, 5, 7 – 9 and 11 – 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foukas et al (US 20220035665, prior art part of IDS dated 5/9/2024, hereinafter Foukas), in view of Ogawa (US 20210149705).
As per claim 1, Foukas discloses: In a telecommunications network including virtualized radio access network (vRAN) components running on servers of the telecommunications network, a method comprising:
receiving, from a vRAN virtual machine hosted by a server device, telemetry data associated with a vRAN virtual machine; (Foukas [0047]: vRAN workloads run on containers or VMs; [0081]: “At 402, method 400 may include running performance profiling tests for a plurality of signal processing tasks. Machine learning system 112 may run one or more performance profiling tests 46 for a plurality of signal processing tasks 14 performed by the vRAN 10 in communication with a base station 110. Examples of signal processing tasks 14, may include, but are not limited to, encoding tasks, decoding tasks, layer mapping tasks, layer de-mapping tasks, modulation tasks, and/or demodulation tasks.”.)
determining, based at least in part on the telemetry data received from the vRAN virtual machine, one or more runtime durations associated with performing tasks of a workload on the vRAN virtual machine; (Foukas [0138]: “At 804, method 800 may include determining a deadline for the plurality of workloads. Scheduler 20 may determine a deadline 32 for the vRAN workloads 12. For example, the deadline 32 may be a transmission deadline 16 associated with the vRAN workloads 12”; [0139]: “At 806, method 800 may include generating a performance prediction for the workloads. Scheduler 20 may predict the worst case execution time 36 of individual signal processing tasks 14 by observing the vRAN traffic characteristics in real-time during transmission slot 18.”)
generating scheduling instructions for the vRAN virtual machine to perform the tasks of the workload within the determined one or more runtime durations; (Foukas [0142]: “scheduler 20 may use method 700 described in FIG. 7 to calculate the number of compute resources required for the plurality of vRAN workloads 12.”; [0144]: “At 810, method 800 may include scheduling the plurality of workloads across the number of compute resources.”)
Foukas did not explicitly disclose:
wherein the tasks are executed on vCPU;
and causing an operating system (OS) scheduler of an OS of the server device to schedule the tasks of the workload of the vCPU in accordance with the scheduling instructions.
However, Ogawa teaches:
wherein the tasks are executed on vCPU; (Ogawa figure 3 and [0031])
and causing an operating system (OS) scheduler of an OS of the server device to schedule the tasks of the workload of the vCPU in accordance with the scheduling instructions. (Ogawa [0034])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Ogawa into that of Foukas in order to the tasks are executed on vCPU; and causing an operating system (OS) scheduler of an OS of the server device to schedule the tasks of the workload of the vCPU in accordance with the scheduling instructions. Ogawa has shown that the claimed limitations are merely commonly known properties of virtualization based task scheduling, and applicants have therefore merely claimed the combination of known parts in the field to achieve the predictable results of using vCPU in a virtualized data processing system and is therefore rejected under 35 USC 103.
As per claim 2, the combination of Foukas and Ogawa further teach:
The method of claim 1, further comprising determining one or more configuration parameters associated with the vRAN virtual machine, the one or more configuration parameters including: a period parameter indicating a first duration of time within which any given task can run using the vCPU; and a deadline parameter indicating a second duration of time less than or equal to the first duration of time indicating a maximum time within which a given task of a corresponding workload must be completed using the vCPU. (Foukas [0044])
As per claim 3, the combination of Foukas and Ogawa further teach:
The method of claim 1, wherein the telemetry data includes utilization data of multiple processing layers associated with the vRAN virtual machine. (Foukas [0116].)
As per claim 5, the combination of Foukas and Ogawa further teach:
The method of claim 3, wherein the multiple processing layers includes two or more of a physical layer (PHY) (Foukas [0047]: physical layer), a radio resource allocation/reliability layer (MAC/RLC) (Foukas [0050]), a convergence/security layer (PDCP), a quality of service layer (SDAP), and a mobile core communication (NAS) layer.
As per claim 7, the combination of Foukas and Ogawa further teach:
The method of claim 1, further comprising: generating a lookup table indicating runtimes for associated tasks based on historical telemetry data received from one or more vRAN virtual machines, wherein determining the one or more runtime durations is based on information contained within the lookup table. (Foukas [0044])
As per claim 8, the combination of Foukas and Ogawa further teach:
The method of claim 1, further comprising: receiving, from a second virtual machine hosted by the server device, additional telemetry data associated with a second vCPU on the second virtual machine; determining, based at least in part on the additional telemetry data received from the second virtual machine, one or more runtime durations associated with performing tasks of a second workload of the second vCPU on the second virtual machine; generating additional scheduling instructions for the second virtual machine to perform tasks of the second workload; and causing the OS scheduler of the OS of the server device to schedule the tasks of the second workload of the second vCPU in accordance with the additional scheduling instructions. (Foukas figures 4 and 8.)
As per claim 9, the combination of Foukas and Ogawa further teach:
The method of claim 8, wherein the tasks of the second workload are scheduled to be performed by a same physical CPU as a CPU selected to execute the tasks of the workload of the vCPU. (Foukas [0051])
As per claim 11, the combination of Foukas and Ogawa further teach:
The method of claim 1, wherein the telecommunications network is a 5G mobile network. (Foukas [0037])
As per claim 12, the combination of Foukas and Ogawa further teach:
The method of claim 1, wherein the operating system is an operating system of a distributed unit, and wherein the server device is implemented on an edge zone of the telecommunications network. (Foukas [0044]: distributed OS; [0049]: edge.)
As per claim 13, Foukas discloses: In a telecommunications network including virtualized radio access network (vRAN) components running on servers of the telecommunications network, a method comprising:
receiving, from a vRAN virtual machine hosted by a server device, telemetry data associated with the vRAN virtual machine; (Foukas [0047]: vRAN workloads run on containers or VMs; [0081]: “At 402, method 400 may include running performance profiling tests for a plurality of signal processing tasks. Machine learning system 112 may run one or more performance profiling tests 46 for a plurality of signal processing tasks 14 performed by the vRAN 10 in communication with a base station 110. Examples of signal processing tasks 14, may include, but are not limited to, encoding tasks, decoding tasks, layer mapping tasks, layer de-mapping tasks, modulation tasks, and/or demodulation tasks.”.)
determining, based at least in part on the telemetry data received from the vRAN virtual machine, a plurality of runtime durations associated with performing tasks of a workload on the vRAN virtual machine; (Foukas [0138]: “At 804, method 800 may include determining a deadline for the plurality of workloads. Scheduler 20 may determine a deadline 32 for the vRAN workloads 12. For example, the deadline 32 may be a transmission deadline 16 associated with the vRAN workloads 12”; [0139]: “At 806, method 800 may include generating a performance prediction for the workloads. Scheduler 20 may predict the worst case execution time 36 of individual signal processing tasks 14 by observing the vRAN traffic characteristics in real-time during transmission slot 18.”)
generating scheduling instructions for the vRAN virtual machine to perform the tasks of the workload within the determined plurality of runtime durations; (Foukas [0142]: “scheduler 20 may use method 700 described in FIG. 7 to calculate the number of compute resources required for the plurality of vRAN workloads 12.”; [0144]: “At 810, method 800 may include scheduling the plurality of workloads across the number of compute resources.”)
Foukas did not explicitly disclose:
Wherein the tasks are executed on a plurality of vCPU;
and causing an operating system (OS) scheduler of an OS of the server device to schedule the tasks of the workload across the plurality of vCPUs in accordance with the scheduling instructions.
However, Ogawa teaches:
Wherein the tasks are executed on a plurality of vCPU; (Ogawa figure 3 and [0031])
and causing an operating system (OS) scheduler of an OS of the server device to schedule the tasks of the workload across the plurality of vCPUs in accordance with the scheduling instructions. (Ogawa [0034])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Ogawa into that of Foukas in order to the tasks are executed on vCPU; and causing an operating system (OS) scheduler of an OS of the server device to schedule the tasks of the workload of the vCPU in accordance with the scheduling instructions. Ogawa has shown that the claimed limitations are merely commonly known properties of virtualization based task scheduling, and applicants have therefore merely claimed the combination of known parts in the field to achieve the predictable results of using vCPU in a virtualized data processing system and is therefore rejected under 35 USC 103.
As per claim 14, the combination of Foukas and Ogawa further teach:
The method of claim 13, further comprising determining one or more configuration parameters associated with the vRAN virtual machine, the one or more configuration parameters including: a period parameter indicating a first duration of time within which any task can run using a given vCPU; and a deadline parameter indicating a second duration of time less than or equal to the first duration of time indicating a maximum time within which a given task of a corresponding workload must be completed using the given vCPU. (Foukas [0044])
As per claim 15, the combination of Foukas and Ogawa further teach:
The method of claim 13, wherein the multiple processing layers includes two or more of a physical layer (PHY) (Foukas [0047]: physical layer), a radio resource allocation/reliability layer (MAC/RLC) (Foukas [0050]), a convergence/security layer (PDCP), a quality of service layer (SDAP), and a mobile core communication (NAS) layer.
As per claim 16, the combination of Foukas and Ogawa further teach:
The method of claim 13, further comprising: generating a lookup table indicating runtimes for associated tasks based on historical telemetry data received from one or more vRAN virtual machines, wherein determining the plurality of runtime durations is based on information contained within the lookup table. (Foukas [0044])
As per claim 17, the combination of Foukas and Ogawa further teach:
The method of claim 13, wherein the operating system is an operating system of a distributed unit, and wherein the server device is implemented on an edge zone of a 5G mobile network. (Foukas [0044]: distributed OS; [0049]: edge.)
As per claim 18, it is the system variant of claim 1 and is therefore rejected under the same rationale.
As per claim 19, it is the system variant of claim 2 and is therefore rejected under the same rationale.
As per claim 20, it is the system variant of claim 5 and is therefore rejected under the same rationale.
Claim(s) 4 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foukas and Ogawa, and further in view of Kempf et al (US 20120303835, hereinafter Kempf).
As per claim 4, the combination of Foukas and Ogawa further teach:
The method of claim 3, wherein the telemetry data includes one or more key performance indicators (KPIs) associated with utilization of the vRAN virtual machine. (Foukas [0081] – [0082])
The combination of Foukas and Ogawa did not explicitly teach:
and wherein the telemetry data includes 3GPP telemetry data;
However, Kempf teaches:
and wherein the telemetry data includes 3GPP telemetry data; (Kempf [0005])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Kempf into that of Foukas and Ogawa in order the telemetry data includes 3GPP telemetry data. Foukas [0081] – [0082] teaches monitoring performances of workloads, including transmission data, one of ordinary skill in the art can easily see that it would be obvious for the applicant to try and apply that in specific setup, such as the claimed 3GPP, without deviating from the inventive concept taught by Foukas and Ogawa, and is therefore rejected under 35 USC 103.
Claim(s) 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foukas and Ogawa, and further in view of Gentry et al (US 20200356408, hereinafter Gentry).
As per claim 6, The combination of Foukas and Ogawa did not explicitly teach:
and wherein the telemetry data includes 3GPP telemetry data;
However, Gentry teaches:
wherein the one or more runtime durations are determined based on a robustness of an associated task of the workload. (Gentry [0062] – [0065])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Gentry into that of Foukas and Ogawa in order the have the one or more runtime durations are determined based on a robustness of an associated task of the workload. Gentry [0062] – [0065] teaches the claimed limitation are merely commonly known and used concept in the field to determine task schedules, and therefore applicants have merely claimed the combination of known parts in the field to create an obvious result of scheduling task and is therefore rejected under 35 USC 103.
Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foukas and Ogawa, and further in view of Cota-Robles et al (US 20030037089, hereinafter Cota-Robles).
As per claim 10, The combination of Foukas and Ogawa did not explicitly teach:
The method of claim 8, wherein the second virtual machine is a non real-time virtual machine.
However, Cota-Robles teaches:
The method of claim 8, wherein the second virtual machine is a non real-time virtual machine. (Cota-Robles [0029] – [0030])
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Gentry into that of Foukas and Ogawa in order the have the one or more runtime durations are determined based on a robustness of an associated task of the workload. Cota-Robles [0029] – [0030] teaches the claimed limitation are merely commonly known and used concept in the field to determine task schedules, and therefore applicants have merely claimed the combination of known parts in the field to create an obvious result of scheduling task and is therefore rejected under 35 USC 103.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Fruechtenicht et al (US 20180173622) teaches “A method and system to perform deterministic timing analysis of a plurality of software tasks involves cache memory that is shared by the plurality of software tasks. Real memory is accessible by the plurality of software tasks. A task scheduler establishes a cache flush between executions of consecutive tasks among the plurality of software tasks. The cache flush includes movement of data in the cache memory to the real memory. A processor executes the plurality of software tasks to obtain a worst case execution time (WCET) associated with each of the plurality of software tasks.”;
Cheng et al (US 20150278079) teaches “creating a software performance testing environment based on a virtual machine, wherein the method comprises: in response to obtaining a hard disk read/write request triggered by a virtual CPU of the virtual machine, notifying a virtual CPU scheduler to record a CPU time quota t1 already consumed by the virtual CPU in a current CPU schedule period; in response to detecting completion of hard disk read/write processing corresponding to the hard disk read/write request, predicting a hard disk read/write latency t corresponding to the hard disk read/write request in a target environment; notifying the virtual CPU scheduler to determine a CPU time quota already consumed by the virtual CPU in the current CPU schedule period based on the recorded CPU time quota t1 and the hard disk read/write latency t; and adjusting a system clock of the virtual machine based on the determined CPU time quota already consumed by the virtual CPU in the current CPU schedule period. The method according to the embodiments of the present invention may obtain, in the created software performance testing environment, a software performance testing result consistent with the result obtained under a highly configured server in the target environment.”;
Park et al (US 20130055276) teaches “A task scheduling method and apparatus are provided to execute periodic tasks together with an aperiodic real-time task in a single system, to perform scheduling while satisfying a precedence relation between periodic tasks, and to perform scheduling so that an aperiodic real-time task may be efficiently executed for a residual time left after scheduling of the periodic tasks. Additionally, a component scheduling method and apparatus in robot software are provided.”.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES M SWIFT whose telephone number is (571)270-7756. The examiner can normally be reached Monday - Friday: 9:30 AM - 7PM.
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, April Blair can be reached at 5712701014. 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.
/CHARLES M SWIFT/Primary Examiner, Art Unit 2196