DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 are cancelled.
Claims 21-40 are new added claims.
Response to Arguments
Applicant's arguments filed 09/25/2025 have been fully considered but they are not persuasive.
The double patenting is maintained as acknowledged by applicant’s representative and argument A, B, C and D.
Applicant’s argument:
Applicant respectfully submits that Klein does not disclose applicant’s method as claimed, including operating an AVC system by receiving a description of a plurality of AVC devices in an AVC setup, wherein the description comprises operational configuration or characteristics of the plurality of AVC devices. Klein also fails to actually disclose specifying a resource allocation to a plurality of virtual machines corresponding to the plurality of AVC devices based on the description of the plurality of AVC devices, and simulating a performance of the AVC setup via compiling the virtual machines and the resource allocation. While Klein refers to discloses that service launch controller 102 can perform testing, nowhere does the reference disclose specifying a resource allocation based on a description of AVC devices, and simulating performance by compiling a virtual machine and the resource allocation. Further, Klein does not disclose evaluating, based on the performance,
Examiner response to argument E and F:
The issue in the argument is that Klein does not disclose all the element of claim 33. Klein is directed to allocating resources such as virtual machine for conference such as :media services(audio and video): the request is for services that carry real-time medias stream, The request is for setting up such virtual machine and launching it to fulfill such request:
[0015]“Referring back to the illustration of FIG. 1A, the service launch controller 102 can be adapted to receive a request from a client device 110 (e.g., a computer, a smartphone, a tablet, a server, etc.) for media services (e.g., a teleconferencing service, media streaming services, etc.). The client device 110 can provide rules, codes, instructions, and/or other informative information to the service launch controller 102 to describe the services requested. ”;
Because of performance issue, the determined/identified services(setup) virtual machines are constrained to performance issue such as Qos, that is testing/simulation/evaluating:
[0016]“When hardware resources in proximity to the requesting client device 110 are identified, the service launch controller 102 can perform testing to determine if such resources can provide the requesting client device 110 a desirable QoS to the client device 110”;
If the performance is not as expected, new resources are identified, but if the performance as expected, the services is launched and provided to the client:
[0016]“If so, a selective forwarding unit 104 is launched. Otherwise, other resources in the server cloud 100 (at perhaps a different location) can be identified by the service launch controller 102 and QoS testing can be performed to verify that these resources can provide adequate services to the requesting client device 110”;
Wu in the other hand , receive a load as a request, the request describes metrics computing resources that need to be allocated:
[0013] In the example arrangement discussed herein, in the virtual computing environment allocating instantiations of computing resources based on a computing metric of a primary application for execution on the instantiated computing resources, a method for increasing allocated computing resources includes receiving a load metric indicative of an additional load on an initial computing instantiation, such that the load metric defines a measure of additional computing resources responsive to the additional load”,
For any additional load to the initial identified resources, a request for performance evaluation is executed(testing, simulation and evaluation) to check if the resources can handle such load to determine an adequate configuration(Fig. 4).:
[0058]“ his involves, at step 308 determining, based on the impact analysis of a current state of the virtualization instance 150 and the performance shortfall, a revised configuration 150' having sufficient computing resources for handling a true computing demand including the performance shortfall, such that the current state includes an increase in computing demand beyond the initial configuration. Thus, performing the impact analysis includes determining, based on the initial configuration and the performance shortfall, an extrinsic load indicative of additional computing resources for handling a current computing load over the initial configuration 150'. The extrinsic load includes additional loads beyond the load imposed by the primary application 162 for which the initial computing instantiation was configured to handle based on the initial load, as disclosed at step 309.”
Double Patenting
The non-statutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A non-statutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on non-statutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a non-statutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based e-Terminal Disclaimer may be filled out completely online using web-screens. An e-Terminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about e-Terminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 21, 29, 33 rejected on the ground of non-statutory double patenting as being unpatentable over claims 8 and 10 of U.S. Patent No. 12,014,200 in view of Klein et al US20160241604A1.Bald limitation constitute the differences.
Application:18/731235
Patent: 12,014, 200
21. A method for operating an audio, video, control (AVC) system, the method comprising:
receiving a description of a plurality of AVC devices; Wherein the description comprises operational configuration or characteristics of the plurality of AVC devices;
specifying a first resource allocation for a remote computing environment based on the description of the plurality of AVC devices,
the remote computing environment comprising a plurality of virtual machines, wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup
compiling the plurality of AVC devices within the remote computing environment with the first resource allocation, wherein compiling the plurality of AVC devices includes simulating a first projected performance of the plurality of AVC devices in the AVC setup with the first resource allocation;
evaluating whether the first resource allocation is sufficient for the plurality of AVC devices based on the first projected performance of the plurality of AVC devices; and in response to a determination that the first resource allocation is not sufficient: allocating additional resources to the remote computing environment to specify a second resource allocation for the remote computing environment;
and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation. Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation;
8. (Currently Amended) The method of claim 1, wherein establishing at least the first virtual machine comprises assigning host OS resources to the first virtual machine by:
receiving a description of the first AVC setup group that identifies the one or more AVC devices established in the first AVC setup group, including the first remote AVC device;
specifying an initial resource allocation as a current resource allocation for the first AVC setup group;
and until an expected performance level for the current resource allocation reaches at least a threshold performance level - using a complier with the current resource allocation to organize the first AVC setup group into a configuration;
determining the expected performance level for the configuration; and when the expected performance level is less than the threshold performance level, incrementing the current resource allocation.
10. (Previously Presented) The method of claim 8, wherein incrementing the current resource allocation comprises allocating one or more additional CPU cores to the current resource allocation for the first AVC setup group.
Independent Claim 29(CRM)
Dependents claim 8 and 10(method)
Independent claim 33
Dependent claim 8 and 10
The patent does not explicitly disclose:
the remote computing environment comprising a plurality of virtual machines, wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines, wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup;
and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation. Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation;
Klein discloses:
the remote computing environment comprising a plurality of virtual machines:
[0013] “The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102”;
wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines:
[0014] “In another embodiment, the hypervisor can launch pre-configured virtual machines, which are launched with pre-installed software applications that perform desired function(s). With a server cloud 100 architecture, the service launch controller 102 can launch multiple virtual machines that can provide services to requesting client devices on an on-demand basis”;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup:
[0013]“The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102. The applications can be an operating system and/or specialized software applications executed by the operating system.”;
[0015]” The service launch controller 102 can process this information and thereby launch one or more instances of a virtual machine (depicted as a “selective forwarding unit 104”) configured to provide the client device 110 the services requested over a real-time transport protocol (RTP) for carrying media streams in conjunction with an RTP control protocol (RTCP)”;
and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation. Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation;
[0017] “Depending on the resources of the selective forwarding unit 104, additional client devices in a vicinity of the requesting client device can also be served by the selective forwarding unit 104 as depicted in FIG. 1B by reference 112. If additional resources are required to service more than one client device, the service launch controller 102 can direct a hypervisor managing the resources of the selective forwarding unit 104 to augment resources of the selective forwarding unit 104 with additional CPUs, additional memory, additional routers, switches, etc”;
[0016] “ When hardware resources in proximity to the requesting client device 110 are identified, the service launch controller 102 can perform testing to determine if such resources can provide the requesting client device 110 a desirable QoS to the client device 110. If so, a selective forwarding unit 104 is launched. Otherwise, other resources in the server cloud 100 (at perhaps a different location) can be identified by the service launch controller 102 and QoS testing can be performed to verify that these resources can provide adequate services to the requesting client device 110.”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Klein into teachings of the patent to dynamically scale the resources for achieving a pre-determined performance. an initial configuration specifies a combination of computing resources, primarily defined by a number of processors, a processor speed, and available memory (RAM). Disk space may also be specified. This initial configuration is deemed to handle the initial computing load presented by the target (primary) application in an unburdened system. The unburdened system defines a "pure" installation for handling only the target application, without any other applications or extrinsic loads that consume computing resources and thus diminish a true performance metric that defines the number of operations actually achievable as the initial configuration becomes burdened with additional tasks.[Wu 0031].
Claims 21, 29, 33 rejected on the ground of non-statutory double patenting as being unpatentable over claims 8 and 10 of U.S. Patent No. 11,561,813 in view of Klein et al US20160241604A1.Bald limitation constitute the differences.
Application:18/731235
Patent:11,561,813
21. A method for operating an audio, video, control (AVC) system, the method comprising:
receiving a description of a plurality of AVC devices; Wherein the description comprises operational configuration or characteristics of the plurality of AVC devices;
the remote computing environment comprising a plurality of virtual machines, wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup
compiling the plurality of AVC devices within the remote computing environment with the first resource allocation, wherein compiling the plurality of AVC devices includes simulating a first projected performance of the plurality of AVC devices with the first resource allocation;
evaluating whether the first resource allocation is sufficient for the plurality of AVC devices based on the projected performance of the plurality of AVC devices;
and in response to a determination that the first resource allocation is not sufficient: allocating additional resources to the remote computing environment to specify a second resource allocation for the remote computing environment;
and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation. Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation
8. The method of claim 1, wherein establishing at least the first virtual machine comprises assigning host OS resources to the first virtual machine by:
receiving a description of the first AVC setup group that identifies the one or more AVC devices established in the first AVC setup group, including the first remote AVC device; specifying an initial resource allocation as a current resource allocation for the first AVC setup group;
and until an expected performance level for the current resource allocation reaches at least a threshold performance level using a complier with the current resource allocation to organize the first AVC setup group into a configuration;
determining the expected performance level for the configuration;
and when the expected performance level is less than the threshold performance level, incrementing the current resource allocation.10. The method of claim 8, wherein incrementing the current resource allocation comprises allocating one or more additional CPU cores to the current resource allocation for the first AVC setup group.
Independent Claim 29(CRM)
Dependents claim 8 and 10 (method)
Independent Claim 33
Dependents claim 8 and 10
The patent does not explicitly disclose:
the remote computing environment comprising a plurality of virtual machines, wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup:
and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation. Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation;
Klein discloses:
the remote computing environment comprising a plurality of virtual machines:
[0013] “The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102”;
wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines:
[0014] “In another embodiment, the hypervisor can launch pre-configured virtual machines, which are launched with pre-installed software applications that perform desired function(s). With a server cloud 100 architecture, the service launch controller 102 can launch multiple virtual machines that can provide services to requesting client devices on an on-demand basis”;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup:
[0013]“The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102. The applications can be an operating system and/or specialized software applications executed by the operating system.”;
[0015]” The service launch controller 102 can process this information and thereby launch one or more instances of a virtual machine (depicted as a “selective forwarding unit 104”) configured to provide the client device 110 the services requested over a real-time transport protocol (RTP) for carrying media streams in conjunction with an RTP control protocol (RTCP)”;
and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation. Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation;
[0017] “Depending on the resources of the selective forwarding unit 104, additional client devices in a vicinity of the requesting client device can also be served by the selective forwarding unit 104 as depicted in FIG. 1B by reference 112. If additional resources are required to service more than one client device, the service launch controller 102 can direct a hypervisor managing the resources of the selective forwarding unit 104 to augment resources of the selective forwarding unit 104 with additional CPUs, additional memory, additional routers, switches, etc”;
[0016] “ When hardware resources in proximity to the requesting client device 110 are identified, the service launch controller 102 can perform testing to determine if such resources can provide the requesting client device 110 a desirable QoS to the client device 110. If so, a selective forwarding unit 104 is launched. Otherwise, other resources in the server cloud 100 (at perhaps a different location) can be identified by the service launch controller 102 and QoS testing can be performed to verify that these resources can provide adequate services to the requesting client device 110.”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Klein into teachings of the patent to dynamically scale the resources for achieving a pre-determined performance. an initial configuration specifies a combination of computing resources, primarily defined by a number of processors, a processor speed, and available memory (RAM). Disk space may also be specified. This initial configuration is deemed to handle the initial computing load presented by the target (primary) application in an unburdened system. The unburdened system defines a "pure" installation for handling only the target application, without any other applications or extrinsic loads that consume computing resources and thus diminish a true performance metric that defines the number of operations actually achievable as the initial configuration becomes burdened with additional tasks.[Wu 0031].
Claims 21, 29, 33 provisionally rejected on the ground of non-statutory double patenting as being unpatentable over claim 23, 33, 40 of co-pending Application No.17/540,157 in view of Klein et al US20160241604A1 .This is a provisional non-statutory double patenting rejection. Bald limitation constitute the differences.
Application:17/540,157
Co-pending application:17/540,157
21. (New) A method for operating an audio, video, control (AVC) system, the method comprising:
receiving a description of a plurality of AVC devices; Wherein the description comprises operational configuration or characteristics of the plurality of AVC devices;
the remote computing environment comprising a plurality of virtual machines, wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup
compiling the plurality of AVC devices within the remote computing environment with the first resource allocation, wherein compiling the plurality of AVC devices includes simulating a first projected performance of the plurality of AVC devices with the first resource allocation;
evaluating whether the first resource allocation is sufficient for the plurality of AVC devices based on the first projected performance of the plurality of AVC device;
and in response to a determination that the first resource allocation is not sufficient: allocating additional resources to the remote computing environment to specify a second resource allocation for the remote computing environment; and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation.
Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation
23. (Previously Presented) The method of claim 21 wherein allocating resources to the virtual machine comprises:
receiving the description of the AVC setup group, wherein the description of the AVC setup group is either indicated by a user or automatically generated based on the established AVC setup group;
compiling the AVC setup group and the virtual machine with an initial resource allocation, wherein compiling the AVC setup group and the virtual machine includes projecting a performance of the virtual machine with the initial resource allocation in processing the routing signals from the two or more AVC equipment devices in the AVC setup group;
and determining whether the initial resource allocation is sufficient based on the projected performance, wherein: when the initial resource allocation is sufficient, allocating resources to the virtual machine further includes saving the initial resource allocation,
and when the initial resource allocation is not sufficient, allocating resources to the virtual machine further includes incrementally increasing the initial resource allocation to a second resource allocation and recompiling the AVC setup group and the virtual machine with the second resource allocation.
Independent Claim 29
Independent Claim 33
Independent Claim 33(method).
Independent Claim 40(system)
The co-pending application does not explicitly disclose:
the remote computing environment comprising a plurality of virtual machines, wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup:
Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation;
Klein discloses:
the remote computing environment comprising a plurality of virtual machines:
[0013] “The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102”;
wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines:
[0014] “In another embodiment, the hypervisor can launch pre-configured virtual machines, which are launched with pre-installed software applications that perform desired function(s). With a server cloud 100 architecture, the service launch controller 102 can launch multiple virtual machines that can provide services to requesting client devices on an on-demand basis”;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup:
[0013]“The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102. The applications can be an operating system and/or specialized software applications executed by the operating system.”;
[0015]” The service launch controller 102 can process this information and thereby launch one or more instances of a virtual machine (depicted as a “selective forwarding unit 104”) configured to provide the client device 110 the services requested over a real-time transport protocol (RTP) for carrying media streams in conjunction with an RTP control protocol (RTCP)”;
Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation;
[0017] “Depending on the resources of the selective forwarding unit 104, additional client devices in a vicinity of the requesting client device can also be served by the selective forwarding unit 104 as depicted in FIG. 1B by reference 112. If additional resources are required to service more than one client device, the service launch controller 102 can direct a hypervisor managing the resources of the selective forwarding unit 104 to augment resources of the selective forwarding unit 104 with additional CPUs, additional memory, additional routers, switches, etc”;
[0016] “ When hardware resources in proximity to the requesting client device 110 are identified, the service launch controller 102 can perform testing to determine if such resources can provide the requesting client device 110 a desirable QoS to the client device 110. If so, a selective forwarding unit 104 is launched. Otherwise, other resources in the server cloud 100 (at perhaps a different location) can be identified by the service launch controller 102 and QoS testing can be performed to verify that these resources can provide adequate services to the requesting client device 110.”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Klein into teachings of the patent to dynamically scale the resources for achieving a pre-determined performance. an initial configuration specifies a combination of computing resources, primarily defined by a number of processors, a processor speed, and available memory (RAM). Disk space may also be specified. This initial configuration is deemed to handle the initial computing load presented by the target (primary) application in an unburdened system. The unburdened system defines a "pure" installation for handling only the target application, without any other applications or extrinsic loads that consume computing resources and thus diminish a true performance metric that defines the number of operations actually achievable as the initial configuration becomes burdened with additional tasks.[Wu 0031].
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.
Claims 21-29, 31-40 are rejected under 35 U.S.C. 103 as being unpatentable over Klein et al(from IDS) US20160241604A1 in view of Wu et al US20140047437A1.
As per claim 21, Klein discloses a method for operating an audio, video, control (AVC) system:
[0015]“Referring back to the illustration of FIG. 1A, the service launch controller 102 can be adapted to receive a request from a client device 110 (e.g., a computer, a smartphone, a tablet, a server, etc.) for media services (e.g., a teleconferencing service, media streaming services, etc.).
the method comprising: receiving a description of a plurality of AVC devices in an AVC setup:
[0015] “The client device 110 can provide rules, codes, instructions, and/or other informative information to the service launch controller 102 to describe the services requested.;
Wherein the description comprises operational configuration or characteristics of the plurality of AVC devices:
[0018]“The request sent to the service launch controller 102 can include rules, codes, instructions, and/or other informative information to describe the services requested. Suppose in this illustration that the client device 120 is requesting media services for itself (“session candidate 1”). The service launch controller 102 can determine the location of the client device 120 as described earlier and thereby identify hardware resources of the server cloud 100 to launch a virtual machine configured to provide media services (e.g., video on demand, streaming content, etc.)consistent with the demands of session candidate 1”;
specifying a first resource allocation for a remote computing environment based on the description of the plurality of AVC devices:
[0015]“The service launch controller 102 can process this information and thereby launch one or more instances of a virtual machine (depicted as a “selective forwarding unit 104”) configured to provide the client device 110 the services requested over a real-time transport protocol (RTP) for carrying media streams in conjunction with an RTP control protocol (RTCP)
the remote computing environment comprising a plurality of virtual machines:
[0013] “The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102”;
wherein each of the plurality of AVC devices corresponds to a respective one of the plurality of virtual machines:
[0014] “In another embodiment, the hypervisor can launch pre-configured virtual machines, which are launched with pre-installed software applications that perform desired function(s). With a server cloud 100 architecture, the service launch controller 102 can launch multiple virtual machines that can provide services to requesting client devices on an on-demand basis”;
Wherein each of the plurality of virtual machines includes an AVC real-time operating system (RTOS) configured to perform real-time processing for the AVC setup:
[0013]“The hardware resources of the server cloud 100 can be vast, including but not limited to, communication resources (e.g., switches, routers, etc.) and computing resources (e.g., servers, storage devices, etc.) which can be customized to generate one or more instances of a virtual machine that performs certain functions based on software applications installed on the virtual machine by the service launch controller 102. The applications can be an operating system and/or specialized software applications executed by the operating system.”;
[0015]” The service launch controller 102 can process this information and thereby launch one or more instances of a virtual machine (depicted as a “selective forwarding unit 104”) configured to provide the client device 110 the services requested over a real-time transport protocol (RTP) for carrying media streams in conjunction with an RTP control protocol (RTCP)”;
compiling the plurality of AVC devices within the remote computing environment with the first resource allocation, wherein compiling the plurality of AVC devices includes simulating a first projected performance of the plurality of AVC devices in the AVC setup with the first resource allocation:
[0016]“When hardware resources in proximity to the requesting client device 110 are identified, the service launch controller 102 can perform testing to determine if such resources can provide the requesting client device 110 a desirable QoS to the client device 110. If so, a selective forwarding unit 104 is launched.”;
evaluating whether the first resource allocation is sufficient for the plurality of AVC devices based on the first projected performance of the plurality of AVC devices:
[0016]“When hardware resources in proximity to the requesting client device 110 are identified, the service launch controller 102 can perform testing to determine if such resources can provide the requesting client device 110 a desirable QoS to the client device 110. If so, a selective forwarding unit 104 is launched. Otherwise, other resources in the server cloud 100 (at perhaps a different location) can be identified by the service launch controller 102 and QoS testing can be performed to verify that these resources can provide adequate services to the requesting client device 110.
and recompiling the plurality of AVC devices within the remote computing environment with the second resource allocation:
[0017] “Depending on the resources of the selective forwarding unit 104, additional client devices in a vicinity of the requesting client device can also be served by the selective forwarding unit 104 as depicted in FIG. 1B by reference 112. If additional resources are required to service more than one client device, the service launch controller 102 can direct a hypervisor managing the resources of the selective forwarding unit 104 to augment resources of the selective forwarding unit 104 with additional CPUs, additional memory, additional routers, switches, etc”;
[0016] “ When hardware resources in proximity to the requesting client device 110 are identified, the service launch controller 102 can perform testing to determine if such resources can provide the requesting client device 110 a desirable QoS to the client device 110. If so, a selective forwarding unit 104 is launched. Otherwise, other resources in the server cloud 100 (at perhaps a different location) can be identified by the service launch controller 102 and QoS testing can be performed to verify that these resources can provide adequate services to the requesting client device 110.”;
But not explicitly:
and in response to a determination that the first resource allocation is not sufficient: allocating additional resources to the remote computing environment to specify a second resource allocation for the remote computing environment;
Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation
Wu discloses:
and in response to a determination that the first resource allocation is not sufficient: allocating additional resources to the remote computing environment to specify a second resource allocation for the remote computing environment:
[0058] “Thus, performing the impact analysis includes determining, based on the initial configuration and the performance shortfall, an extrinsic load indicative of additional computing resources for handling a current computing load over the initial configuration 150'. The extrinsic load includes additional loads beyond the load imposed by the primary application 162 for which the initial computing instantiation was configured to handle based on the initial load, as disclosed at step 309.’;
Wherein recompiling the plurality of AVC devices includes simulating a second projected performance of the plurality of AVC devices In the AVC setup with the second resource allocation:
[0013]“The impact analysis computes a true performance metric based on the received load metric for handling the additional load and extrinsic loads added after the initial computing instantiation, and instantiates an additional computing resource configured based on the computed true performance metric. In a particular configuration, a virtualization server `translates` the business application's throughput (BATs), typically measured by business transactions/number of users, or other operations with the ideal and benchmark tested `cloud` infrastructure settings, or configuration.”;
[0058]” This involves, at step 308 determining, based on the impact analysis of a current state of the virtualization instance 150 and the performance shortfall, a revised configuration 150' having sufficient computing resources for handling a true computing demand including the performance shortfall, such that the current state includes an increase in computing demand beyond the initial configuration. Thus, performing the impact analysis includes determining, based on the initial configuration and the performance shortfall, an extrinsic load indicative of additional computing resources for handling a current computing load over the initial configuration 150'.”;
Wu also discloses: evaluating whether the first resource allocation is sufficient for the plurality of devices based on the projected performance:
[0057]“At a later point in time, the user interface 500 receives an indication of a performance shortfall of at least one virtualization instance 150-N, in which the performance shortfall is based on a computing metric indicative of a measure of computing resources for performing an operation by a primary application 162 for which the virtualization instance 150 is configured to handle, as depicted at step 304“;
and recompiling the plurality of devices within the remote computing environment with the second resource allocation:
[0060]”Upon completion of the impact analysis, the instance manager 132 computes, based on the true computing demand, the hardware resources of the revised configuration, such that the hardware resources are computed based on an association of processors and memory to a quantity of operations, as depicted at step 313. The additional computing resource is defined by a revised configuration and includes a number of processors, a speed for each of the processors and a memory allocation, such that the revised configuration is based on a number of operations of the primary application, as shown at step 314;
[0042]”based on a demand for additional performance, defined in terms of operations of the primary application 162, the instance manager 123 responds to the demand by instantiating additional instances 150 (i.e. VMs). The responsiveness of the instance manager 123 to such an elasticity request demonstrates the elastic nature of the VMs 150 to "expand" and "contract" to meet surge/spike demands for additional operations and revert back to a normal load, thus conserving VMs 150 by avoiding over-allocation”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Wu into teachings of Klein to dynamically scale the resources for achieving a pre-determined performance. an initial configuration specifies a combination of computing resources, primarily defined by a number of processors, a processor speed, and available memory (RAM). Disk space may also be specified. This initial configuration is deemed to handle the initial computing load presented by the target (primary) application in an unburdened system. The unburdened system defines a "pure" installation for handling only the target application, without any other applications or extrinsic loads that consume computing resources and thus diminish a true performance metric that defines the number of operations actually achievable as the initial configuration becomes burdened with additional tasks.[Wu 0031].
As per claim 22, the rejection of claim 21 is incorporated and furthermore Klein does not explicitly disclose:
in response to a determination that the second resource allocation is sufficient for the plurality of AVC devices, the method further comprises confirming the second resource allocation.
Wu discloses:
wherein, in response to a determination that the second resource allocation is sufficient for the plurality of AVC devices, the method further comprises confirming the second resource allocation:
[0046] “Upon approval at step 720, the virtualization manager (VM) 123 (instance manager) clones the existing instance 150' (step 731), and customizes the added instance 150'' at step 732 for the approved revision of the desired configuration to increase target operations performed by the primary application (SAP, in the example shown). The instance manager 123 then launches the instance 150 as the using the revised configuration at step 734”;
It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Wu into teachings of Klein to dynamically scale the resources for achieving a pre-determined performance. an initial configuration specifies a combination of computing resources, primarily defined by a number of processors, a processor speed, and available memory (RAM). Disk space may also be specified. This initial configuration is deemed to handle the initial computing load presented by the target (primary) application in an unburdened system. The unburdened system defines a "pure" installation for handling only the target application, without any other applications or extrinsic loads that consume computing resources and thus diminish a true performance metric that defines the number of operations actually achievable as the initial configuration becomes burdened with additional tasks.[Wu 0031].
As per claim 23, the rejection of claim 21 is incorporated and furthermore Klein discloses:
wherein the first resource allocation includes an indication of a number of CPUs, an amount of memory space, and an indication of associated hardware and software resources allocated to the remote computing environment to simulate the projected performance of the plurality of AVC devices:
[0027]“If additional resources are required to service more than one client device, the service launch controller 102 can direct a hypervisor managing the resources of the select