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
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, 8, 12, 14, 15, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kaplan (US 2018/0052701) and further in view of Chang (US 2020/0150997).
Regarding claim 1, Kaplan teaches: An apparatus, the apparatus comprising interface circuitry, machine-readable instructions, and processing circuitry to execute the machine-readable instructions to:
receive a request of a virtual machine to access a resource of a network node (¶ 30, “the virtualization manager 115 can receive a request to create a virtual machine with SR-IOV virtual function capabilities of a device”);
determine whether a number of available virtual functions associated to the resource falls below a predefined threshold (¶ 39, “the management computing system 200 determines if the number of VFs currently configured for the logical network device is over a determined threshold”);
if it is determined that the number of available virtual functions falls below the predefined threshold (¶ 41, “If the total the number of VFs configured for the logical network device does not meet the VF threshold 214 for that device in view of the comparison”).
Kaplan does not teach; however, Chang discloses: emulate and/or para virtualize a physical function associated to the resource (¶ 32, “depending on the availability of the VF device . . . switch between using the emulated datapath for the NetKVM device and VF datapath for the VF device”); and provide access to the resource via the emulated and/or para virtualized physical function for the virtual machine (¶ 37, “the emulated datapath is from Miniport interface 310 in NetKVM/MUX IM driver 308 to VirtIO-Net 110, to SW switch 112 to PF driver 114 to physical function 140”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of emulate and/or para virtualize a physical function associated to the resource; and provide access to the resource via the emulated and/or para virtualized physical function for the virtual machine, as taught by Chang, in the same way to the determining the number of available VFs falls below a threshold, as taught by Kaplan. Both inventions are in the field of virtualization of SR-IOV functions, and combining them would have predictably resulted in “fail[ing] over to the emulated data path when the SR-IOV VF is not available,” as indicated by Chang (abstract).
Regarding claim 8, Kaplan teaches: The apparatus of claim 1, wherein the machine-readable instructions comprise instructions to: determine a hot-plug or a hot-unplug of the resource or a further resource (¶ 31, “the VF management component 160 implements techniques of the disclosure to hot-plug VF capabilities into the networked system architecture 100 for use by the VM”); and determine the number of available virtual functions based on the determined hot-plug or hot- unplug (¶ 41, “the VF creator module 206 may increase the number of VFs 215 associated with SR-IOV NIC 210. In order to increase the number of VFs 215, the module 206 executes a VF hot-plugging component 208 to un-plug all of the VFs 215 from the vNICs using them”).
Regarding claim 12, Kaplan teaches: The apparatus of claim 1, wherein the physical function associated to the resource is a physical function provided by a single root input/output virtualization device (¶ 13, “A physical NIC on a host machine that is configured based on SR-IOV specifications (also referred to herein as a logical network device) can enable network traffic to flow directly between the VMs that share the same host and VFs of the SR-IOV-enabled NIC”).
Regarding claim 14, Kaplan teaches: The apparatus of claim 1, wherein the machine-readable instructions comprise instructions to, in response to receiving the request of the virtual machine, send a driver for usage of the emulated and/or para virtualized physical function to the virtual machine (¶ 28, “Under a first datapath referred to as the “emulated” datapath, the datapath is from Miniport interface 128 to protocol driver 130, NetKVM driver 120, VirtIO-Net 110, SW switch 112, and PF driver 114 to physical function 140”).
Claims 15 and 20 recite commensurate subject matter as claim 1. Therefore, they are rejected for the same reasons.
Claim(s) 2-5, 10, and 16-18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kaplan and Chang, as applied above, and further in view of Beveridge (US 2016/0139948).
Regarding claim 2, Chang teaches: determine whether a virtual function associated to the resource or the physical function is to be provided to the virtual machine based on the at least one of the resource tolerance and the priority (¶ 32, “MUX IM driver 118 can proxy all traffic, and depending on the availability of the VF device (e.g., MC 108 in FIG. 1), the MUX IM driver can automatically switch its internal datapaths 131 and 133 between the NetKVM driver and the VF Miniport driver to switch between using the emulated datapath for the NetKVM device and VF datapath for the VF device”); and
if it is determined that the physical function is to be provided to the virtual machine, emulate and/or para virtualize the physical function (¶ 37, “the emulated datapath is from Miniport interface 310 in NetKVM/MUX IM driver 308 to VirtIO-Net 110”).
Kaplan and Chang do not teach; however, Beveridge discloses: receive a service level agreement, SLA, of the virtual machine (¶ 43, “Policies are also established, in some examples, based on a terms of service agreement, a service level agreement (SLA), a quality of service (QoS) agreement, or a contract” and ¶ 3, “service level agreements (SLAB), terms of service (TOS), quality of service (QoS), or other policies allocate different levels of resources between VMs”);
determine at least one of a resource tolerance and a priority of the virtual machine based on the SLA (¶ 23, “policies are created to identify priority applications, or those which are more important to a user, under a service level agreement (SLA)”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of receive a service level agreement, SLA, of the virtual machine; determine at least one of a resource tolerance and a priority of the virtual machine based on the SLA, as taught by Beveridge, in the same way to the determining whether a virtual function is to be provided, as taught by Kaplan and Chang. Both inventions are in the field of adaptive resource allocation in virtualized environments, and combining them would have predictably resulted in “a better user experience, faster processing time, etc,” as indicated by Beveridge (¶ 24).
Regarding claim 3, Kaplan and Chang do not teach; however, Beveridge teaches: receive a service level agreement, SLA, of the virtual machine (¶ 3, “Even in systems where service level agreements (SLAB), terms of service (TOS), quality of service (QoS), or other policies allocate different levels of resources between VMs”);
determine at least one of a resource tolerance and a priority of the virtual machine based on the SLA (¶ 23, “policies are created to identify priority applications, or those which are more important to a user, under a service level agreement (SLA)”);
schedule usage of the resource by the virtual machine based on the at least one of the resource tolerance and the priority (¶ 30, “FIG. 1 is a block diagram of exemplary architecture for implementing value based resource scheduling”); and
provide access to the resource for the virtual machine based on the scheduled usage of the resource (¶ 30, “The resource allocation manager 100 allocates physical computing resources of one or more physical host computing devices 102 to VMs 106 operating on the host computing devices 102 based on the activities of the VMs”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of receive a service level agreement, SLA, of the virtual machine; determine at least one of a resource tolerance and a priority of the virtual machine based on the SLA; schedule usage of the resource by the virtual machine based on the at least one of the resource tolerance and the priority; and provide access to the resource for the virtual machine based on the scheduled usage of the resource, as taught by Beveridge, in the same way to the determining whether a virtual function is to be provided, as taught by Kaplan and Chang. Both inventions are in the field of adaptive resource allocation in virtualized environments, and combining them would have predictably resulted in “a better user experience, faster processing time, etc,” as indicated by Beveridge (¶ 24).
Regarding claim 4, Beveridge teaches: The apparatus of claim 3, wherein the machine-readable instructions comprise instructions to determine the resource tolerance by determining at least one of a rate control, a packet prioritization (¶ 61, “FIG. 9 is a flowchart of an example method of prioritizing storage and I/O activity based on application activity 224 of a VM 106”), a bonding option, a fault tolerance (¶ 58, “FIG. 8 is a flowchart of an example method of optimizing utilization of fault tolerance for VMs 106 based on user activity 220 and application activity 224”) and a migration tolerance of the virtual machine.
Regarding claim 5, Kaplan and Chang do not teach; however, Beveridge teaches: schedule usage of the resource by determining at least one of a number of emulations and/or para virtualizations of the physical function, a respective capability of the emulations and/or para virtualizations, an expected quality of service of the usage of the resource and a risk of the usage of the resource (¶ 43, “FIG. 2 is a flowchart of an exemplary method of value based resource scheduling performed by an activity agent, an activity appliance, and a resource allocation manager operating on a management server” and “Policies are also established, in some examples, based on a terms of service agreement, a service level agreement (SLA), a quality of service (QoS) agreement, or a contract”); and provide access to the resource for the virtual machine based on the scheduled usage of the resource (¶ 31, “The resource allocation manager 100 allocates physical resources amongst the VMs 106. The physical resources allocated include elements of the hardware platform 1605, illustrated in more detail in FIGS. 15 and 16”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of schedule usage of the resource by determining at least one of a number of emulations and/or para virtualizations of the physical function, a respective capability of the emulations and/or para virtualizations, an expected quality of service of the usage of the resource and a risk of the usage of the resource; and provide access to the resource for the virtual machine based on the scheduled usage of the resource, as taught by Beveridge, in the same way to the determining whether a virtual function is to be provided, as taught by Kaplan and Chang. Both inventions are in the field of adaptive resource allocation in virtualized environments, and combining them would have predictably resulted in “a better user experience, faster processing time, etc,” as indicated by Beveridge (¶ 24).
Regarding claim 10, Kaplan and Chang do not teach; however, Beveridge teaches: monitor a metric of the emulated and/or para virtualized physical function (¶ 43, “At 202, the activity agent 108 monitors the user activity 220, VM activity 222, and application activity 224”) and store the monitored metric (claim 12, “collecting performance metrics of applications executing on the plurality of VMs”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of monitor a metric of the emulated and/or para virtualized physical function and store the monitored metric, as taught by Beveridge, in the same way to the determining whether a virtual function is to be provided, as taught by Kaplan and Chang. Both inventions are in the field of adaptive resource allocation in virtualized environments, and combining them would have predictably resulted in “a better user experience, faster processing time, etc,” as indicated by Beveridge (¶ 24).
Claims 16-18 recite commensurate subject matter as claims 2, 3, and 5. Therefore, they are rejected for the same reasons.
Claim(s) 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kaplan and Chang, as applied above, and further in view of Suthar (US 2020/0221299).
Regarding claim 6, Kaplan and Chang do not teach; however, Suthar discloses: access a list of trustworthy virtual machines stored in a blockchain (¶ 20, “vRAN virtual network functions (VNFs) (e.g. vDU and vCU) of each vendor register to a distributed ledger (via enterprise blockchain network 120 and DLT service providers”); determine whether the virtual machine is in the list (¶ 52, “At 330, the blockchain network 120 and/or the DLT service provider validates with the distributed ledger whether the first RAN entity of the first vendor and the second RAN entity of the second vendor have been registered with the distributed ledger”); and if it is determined that the virtual machine is not in the list, deny access to the resource (¶ 55, “the information may include information for a whitelist of other RAN entities that are exclusively allowed for sharing resources and/or for a blacklist of other RAN entities that are denied permission for sharing resources”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of access a list of trustworthy virtual machines stored in a blockchain; determine whether the virtual machine is in the list; and if it is determined that the virtual machine is not in the list, deny access to the resource, as taught by Suthar, in the same way to controlling access to the resource, as taught by Kaplan and Chang. Both inventions are in the field of controlling access to resources, and combining them would have predictably resulted in a system configured to “provide distributed authentication, entitlements and trust among different virtual Radio Access Network (vRAN) elements,” as indicated by Suthar (abstract).
Claim(s) 7, 9, and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kaplan and Chang, as applied above, and further in view of Robinson (US 2009/0238078).
Regarding claim 7, Kaplan and Chang do not teach; however, Robinson discloses: receive a plurality of requests of a plurality of virtual machines to access the resource (¶ 52, “At block 505 a customer request is received at data center 100 for hosting applications and data”);
negotiate respective service level agreements, SLAs, with the plurality of virtual machines for the access to the resource (¶ 23, “The customer and the data center 100 negotiate the appropriate level of isolation and the corresponding costs. The negotiation of an SLA is a multi-step process in which the customer determines the best trade-off between the avoidance of perceived risk by choosing an appropriate LOI and the related costs caused by this LOI”); and
provide access to the resource via the emulated and/or para virtualized physical function for the plurality of virtual machines based on the negotiated SLAs (¶ 52, “At block 515, the data center 100 provides a set of infrastructure resources”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of receive a plurality of requests of a plurality of virtual machines to access the resource; negotiate respective service level agreements, SLAs, with the plurality of virtual machines for the access to the resource; and provide access to the resource via the emulated and/or para virtualized physical function for the plurality of virtual machines based on the negotiated SLAs, as taught by Robinson, in the same way to controlling access to the emulated and/or para virtualized physical function for the plurality of virtual machines, as taught by Kaplan and Chang. Both inventions are in the field of controlling access to resources, and combining them would have predictably resulted in a system that “provides secure protection on the customer's application and data in exchange for agreed costs,” as indicated by Robinson (¶ 52).
Regarding claim 9, Kaplan and Chang do not teach; however, Robinson discloses: negotiate SLAs based on the determined number of available virtual functions (¶ 53, “If the resources are not available in the infrastructure registry 415, the process continues at block 565 or at block 510. The process continues at block 565 if the data center 100 can obtain new resources via archiving old data or purchasing new resources. The process continues at block 510, if the data center and the customer decide to negotiate a new SLA”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of negotiate SLAs based on the determined number of available virtual functions, as taught by Robinson, in the same way to controlling access to the emulated and/or para virtualized physical function for the plurality of virtual machines, as taught by Kaplan and Chang. Both inventions are in the field of controlling access to resources, and combining them would have predictably resulted in a system that “provides secure protection on the customer's application and data in exchange for agreed costs,” as indicated by Robinson (¶ 52).
Claim 19 recites commensurate subject matter as claim 7. Therefore, it is rejected for the same reason.
Claim(s) 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kaplan and Chang, as applied above, and further in view of Sethi (US 2020/0359359).
Regarding claim 11, Kaplan and Chang do not teach; however, Sethi discloses: determine a quality of service of the usage of the resource via the emulated and/or para virtualized physical function (¶ 18, “The QoS monitor 118 can comprise at least one, or both, of software and hardware configured to monitor the quality of service provided by the one or more than one VNF 102-1 to 102-5”) and to store the determined quality of service (¶ 20, “Quality of Service data 120 can be forwarded from the one or more than one VNFs 102-1 to 102-5 to the QoS monitor 118”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of determine a quality of service of the usage of the resource via the emulated and/or para virtualized physical function and to store the determined quality of service, as taught by Sethi, in the same way to controlling access to the emulated and/or para virtualized physical function for the plurality of virtual machines, as taught by Kaplan and Chang. Both inventions are in the field of implementing network function virtualization, and combining them would have predictably resulted in “greater flexibility to scale virtual network function performance with selected levels of granularity,” as indicated by Sethi (¶ 2).
Claim(s) 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kaplan and Chang, as applied above, and further in view of McAfee (US 2005/0102454).
Regarding claim 13, Kaplan and Chang do not teach; however, McAfee discloses: the resource is a bandwidth of a PCIe bus (¶ 15, “PCI Express bus 17 is used in the conventional manner for connecting peripheral components, but is enhanced so that the status of an endpoint 17c may be detected and the bandwidth for that endpoint rerouted if not needed for that endpoint”).
It would have been obvious to a person having ordinary skill in the art, at the effective filing date of the invention, to have applied the known technique of the resource is a bandwidth of a PCIe bus, as taught by McAfee, in the same way to controlling access to the resource, as taught by Kaplan and Chang. Both inventions are in the field of using PCI resources, and combining them would have predictably resulted in a system that “permits unused bandwidth to be switched to other devices on the bus,” as indicated by McAfee (¶ 9).
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