Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Regarding independent claims the limitations pinning (i.e. assigning) a VM to perform a task and configuring security groups (i.e. determining), as drafted, recites functions that, under its broadest reasonable interpretation, covers a function that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations as cited above as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process.
Thus, these limitation falls within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The claim recites the following additional limitations: processor, network, API server, VMs. The additional elements are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using generic computer, and/or mere computer components, MPEP 2106.05(f), and steps of receiving and transmitting do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering data. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception.
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of processor, network, API server, VMs, amount to no more than mere instructions, or generic computer/computer components to carry out the exception. Furthermore, the limitations directed to receiving and transmitting the courts have identified mere data gathering is well-understood, routine and conventional activity. See MPEP 2106.05(d) (Ex. iv. Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;).
The recitation of generic computer instruction and computer components to apply the judicial exception, and mere data gathering do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101.
Regarding claim 2, 3, 4, 6, 9, 10, 11, 13, 16, 17, 18, 20 the limitations of VM performing a task, receiving and transmitting are nothing more than insignificant extra solution activity which is not a practical application under prong 2. Under step 2B, the courts of identified the generic function of gathering/storing data, the results of the judicial exception, is well-understood, routine and conventional activity. See MPEP 2106.05(d) - i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network);
Regarding claim 5, 12, 19 the limitations of determining are functions that can be reasonably performed in the human mind, thus, additional mental process defined in the claims. The claim does not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more. The limitations of receiving and transmitting are nothing more than insignificant extra solution activity which is not a practical application under prong 2.
Regarding claim 7, 14 the limitation of a group includes a firewall is considered mere instructions, or generic computer/computer components to carry out the exception Accordingly, the additional element recited in claim 3 fails to provide a practical application under prong 2, or amount to significantly more under step 2B.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):(b) CONCLUSION. The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 6, 8 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Claim 6 recites “the information” without prior introduction and therefore is unclear. Appropriate correction required.
Claim 8 recites “the instructions” in line 2 without prior introduction and therefore is unclear. For the purposes of examination, the limitation will be interpreted as instructions stored on the non-transitory medium. Appropriate correction required.
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, 2, 3, 8, 9, 10, 15, 16, 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Datta (Pat. No. US 12,229,600) in view of Ferreira (Pub. No. US 2022/0327001) in view of Dimitrov (Pub. No. US 2019/0377591).
Claim 1, 8, 15 Datta teaches “a method comprising: receiving, by a processor running on a trusted network, an application programing interface (API) request from an API server, the API request specifying task information from a plurality of tenants ([Col. 27, Lines 40-44] processors and memory [Col. 11, Lines 41-63] (47) The MLS 102 may implement a set of programmatic interfaces 177, which can be utilized by several classes of entities or users to submit requests pertaining to machine learning tasks from client devices 180A or 180B (such as laptops, desktops, mobile computing devices etc.) and to receive corresponding responses in the depicted embodiment. Programmatic interfaces 177 may, for example, include one or more web-based consoles, a set of application programming interfaces (APIs) (Fig. 1, 177), command-line tools, graphical user interfaces and the like. The requests and messages submitted via programmatic interfaces 177 may initially be received at a set of interaction managers 120 in the depicted embodiment. The interaction managers 120 may perform initial processing of the received request (e.g., including parsing the request contents), and then pass on internal versions of the requests to the appropriate other subcomponents of the MLS 102, such as pool managers 111 or machine learning task execution coordinators (MLTECs) 110. The MLTECs, pool managers and interaction managers, as well as other MLS subcomponents shown in FIG. 1, may each be implemented using some combination of hardware and software of one or more computing devices in various embodiments. [Col. 12, Lines 15-21] A PRP applicable to a given CI or a given category of CIs included in the pool may indicate the time period, after a completion of a requested machine learning task at the CI, the CI is to be kept running or operational, without deleting the data sets used by the completed task, and without making changes to various configuration settings including networking-related, security-related and storage-related settings. [Col. 3, Line 60 – Col 4, Line 6] The MLS may provide programmatic interfaces enabling a client (such as an administrator associated with a client account of the MLS) to specify a set of parameters of a “warm pool” of compute instances that can be used and potentially re-used for tasks requested by a specified set of authorized users. Such parameters of a given pool may include, for example, the post-task-completion retention period (PRP), an upper limit on the number of concurrently-in-use compute instances of a particular instance category to which the PRP applies, and an indication of the set of authorized users or entities (all of which may be affiliated with the same client account) for whose task requests the compute instances of the pool can be used in some embodiments. [Col. 11, Lines 41-47] The MLS 102 may implement a set of programmatic interfaces 177, which can be utilized by several classes of entities or users to submit requests pertaining to machine learning tasks from client devices 180A or 180B (such as laptops, desktops, mobile computing devices etc.) and to receive corresponding responses in the depicted embodiment. [Col. 12, Lines 41-45] The task requesters may use programmatic interfaces 177 to submit descriptors of their tasks, such as the quantity and categories of CIs needed for a given task, the algorithms to be executed, the data sets to be processed etc. The task properties may be stored within task metadata store 105. ); wherein tasks assigned to a VM of the one or more VMs are for one tenant of the plurality of tenants; and pinning each assigned VM of the one or more VMs to perform a task based on the task information of a corresponding tenant of the plurality of tenants ([Col. 3, Line 59-Col. 4, Line 26] he MLS may provide programmatic interfaces enabling a client (such as an administrator associated with a client account of the MLS) to specify a set of parameters of a “warm pool” of compute instances that can be used and potentially re-used for tasks requested by a specified set of authorized users. Such parameters of a given pool may include, for example, the post-task-completion retention period (PRP), an upper limit on the number of concurrently-in-use compute instances of a particular instance category to which the PRP applies, and an indication of the set of authorized users or entities (all of which may be affiliated with the same client account) for whose task requests the compute instances of the pool can be used in some embodiments. Pool parameter values may be stored at a metadata repository of the MLS. The PRP may indicate a client-selected time interval (expressed in, for example, seconds, minutes or hours, or expressed as a fraction of the time taken for the completed task after which the PRP occurs) for which a given compute instance is not to terminated after the completion of a machine learning task. Instead, the given compute instance is to be kept alive or active for the PRP, in the event that a request for another task whose requirements can be satisfied using the instance is received from a user of the authorized set. If a request for such a task is received during a PRP of a particular compute instance of the pool, that task may be performed using that compute instance (i.e. pinned during the retention period). Tasks requested by users that are not members of the authorized set of users of the warm pool may not be scheduled on instances of the pool in at least some embodiments, even if there is a compatible compute instance waiting for potential re-use (i.e., a compute instance whose PRP has begun but has not yet expired, and which belongs to the category needed for a task requested by a user who is not in the authorized set) in the pool.)”.
However, Datta may not explicitly teach obtaining status information from the available resources.
Ferrera teaches “transmitting status information of a plurality of virtual machines (VMs) to the API server to assign tasks to one or more VMs of the plurality of VMs based on the task information and the status information ([0028] The management application 170 may be configured to provide an interface (i.e. interface as taught by Datta) to users (e.g., via a web application, portal, API server or command line interface) [0031] The selected cloud provider may be queried for the availability of one or more instance types that meet the current job's requirements (step 212) and associated data may be collected (step 216). For example, the configuration, price and number of instances available of a particular instance type may be collected. Based on the job requirements and or instance types offered by the selected cloud provider, a range may be used for each cloud provider. For example, if a job requirement is at least 2 CPUs and at least 2 GPUs, and a particular cloud provider offers various combinations of CPUs and GPUs from 1:1 up to 8:16, then the search range may be from 2:2 to 8:16. If collecting data for the search range has not been completed, the query may be stepped up or down (step 224) for additional matching instance types, and the cloud may again be queried for the availability of one or more instance types that meet the current job's requirements (step 212), associated data may be collected (216), and the process may be repeated until the search range has been completed (step 220). Another cloud provider may be selected (step 228), and the process may be repeated. While the flowchart in the figure may be interpreted to depict a serial process, queries to multiple cloud provides may be submitted in parallel to speed up the process. [0027] In one embodiment, the jobs may be configured to run within containers (e.g., Kubernetes with Docker containers, or Singularity) or virtualized machines. [0025] These cloud computing providers may provide access to large numbers of computing devices (often virtualized) with different configurations called instance types. For example, instance types with one or more virtual CPUs may be offered in different configurations with different amounts of accompanying memory, storage, accelerators, etc)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Ferrera with the teachings of Datta in order to provide a system that teaches determining status information. The motivation for applying Ferrera teaching with Datta teaching is to provide a system that allows for improved resource selection. Datta, Ferrera are analogous art directed towards resource allocation. Together Datta, Ferrera teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Ferrera with the teachings of Datta by known methods before the effective filing date of the claimed invention and gained expected results.
However, the combination may be silent regarding the network isolation features of Datta.
Dimitrov teaches as evidence Datta’s resources belong to a client group (Fig. 7) may be protected such that teaches “configuring on an untrusted network, network security groups for managing communications of the plurality of tenants such that a network security group configured for a tenant of the plurality of tenants permits communications between VMs assigned to a same tenant of the plurality of tenants but prevents communications between VMs assigned to different tenants of the plurality of tenants ([0038] FIG. 8 illustrates a deployment where an isolated network 502 is implemented with a new security group 281 on an existing subnetwork 1 in some examples of the present disclosure. Security group 281 is created during deployment. Other VMs 802 and 804 may also be connected to subnetwork 1 but security group 281's rules prevent traffic external to members of security group 281 from directly reaching VMs 408, 410, 412.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Dimitrov with the teachings of Datta, Ferrera in order to provide a system that teaches security groups. The motivation for applying Dimitrov teaching with Datta, Ferrera teaching is to provide a system that allows for improved secure communications of resources belonging to the same client base. Datta, Ferrera, Dimitrov are analogous art directed distributed computing. Together Datta, Ferrera, Dimitrov teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Dimitrov with the teachings of Datta, Ferrera by known methods before the effective filing date of the claimed invention and gained expected results.
Claim 2, 9, 16 the combination teaches the claim, wherein Datta teaches “the method of claim 1, wherein each VM performs tasks associated with the same tenant ([Col. 3, Line 65 – Col 4, Line 5] Such parameters of a given pool may include, for example, the post-task-completion retention period (PRP), an upper limit on the number of concurrently-in-use compute instances of a particular instance category to which the PRP applies, and an indication of the set of authorized users or entities (all of which may be affiliated with the same client account) for whose task requests the compute instances of the pool can be used in some embodiments.).
Claim 3, 10, 17 the combination teaches the claim, wherein Ferrera teaches “the method of claim 1, further comprising: receiving status information of each assigned VM from the one or more VMs; and transmitting the received status information to the API server ([0046] The selected cloud is queried for instances available at that price (step 506). If the search range (e.g., +10% of last price to −10% of last price) has not been completed (step 508), the price is adjusted (step 512) by increasing or decreasing a fixed amount, and the process is repeated until the search range has been completed. The search process may be repeated for other clouds (step 516) until data for all clouds of interest has been collected. The available instance types and associated pricing are compared, e.g., within clouds, across different clouds, (step 520), and selected options are provided to the user (step 524) and may be filtered and or sorted as described above. [0028] The management application 170 may be configured to provide an interface to users (e.g., via a web application, portal, API server or command line interface) that permits users and administrators to submit applications (also called jobs) via their network-connected PCs, servers, or workstations (140A), or laptop or mobile devices (140B).)”.
Rationale to claim 1 is applied here.
Claim 7, 14 the combination teaches the claim, wherein Dimitrov teaches “the method of claim 1, wherein the network security group includes a firewall ([0038] FIG. 8 illustrates a deployment where an isolated network 502 is implemented with a new security group 281 on an existing subnetwork 1 in some examples of the present disclosure. Security group 281 is created during deployment. Other VMs 802 and 804 may also be connected to subnetwork 1 but security group 281's rules prevent traffic external to members of security group 281 from directly reaching VMs 408, 410, 412.)”.
Rationale to claim 1 is applied here.
Claim/s 4, 11, 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Data, Ferrera, Dimitrov in further view of Ketkar (Pub. No. US 2020/0150972).
Claim 4, 11, 18 the combination teaches the claim, wherein Ferrera teaches “the method of claim 1, further comprising: receiving status information from a first VM of the plurality of VMs, the status information indicating that the first VM has completed an assigned task; transmitting the received status information to the API server ([0028] The management application 170 may then deploy the application to the selected cloud instance type, provide progress monitoring for the application, and once the job has completed provide the results to the user, and decommission/destroy the instance.)”.
However, the combination may not explicitly teach the remaining limitation.
Ketkar teaches “receiving an instruction via API server to reset the first VM; and transmitting the received instruction to the first VM to cause the first VM to reset ([0029] As another example, a user may initiate a reboot of the virtual machine 108a. The user may initiate the reboot in at least two different ways. For example, the user may initiate the reboot via the system controls 138 of the user interface 134. In this scenario, the system controller 110 may be aware of the reboot event and may send a command to the node service component 112 instructing the node service component 112 to reboot the virtual machine 108a. Alternatively, the user may initiate the reboot via a VM-specific user interface 140 corresponding to the virtual machine 108a.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Ketkar with the teachings of Datta, Ferrera, Dimitrov in order to provide a system that teaches resetting VMs. The motivation for applying Ketkar teaching with Datta, Ferrera, Dimitrov teaching is to provide a system that allows for improved resource control. Datta, Ferrera, Dimitrov, Ketkar are analogous art directed distributed computing. Together Datta, Ferrera, Dimitrov, Ketkar teaches every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Ketkar with the teachings of Datta, Ferrera, Dimitrov by known methods before the effective filing date of the claimed invention and gained expected results.
Claim 5, 12, 19 the combination teaches the claim, wherein Ferrera teaches ”the method of claim 1, further comprising: receiving a first API request from the API server, the first API request specifying first task information from a first tenant of the plurality of tenants; receiving status information for each assigned VM from the one or more VMs ([0028] The management application 170 may be configured to provide an interface (i.e. interface as taught by Datta) to users (e.g., via a web application, portal, API server or command line interface) [0031] The selected cloud provider may be queried for the availability of one or more instance types that meet the current job's requirements (step 212) and associated data may be collected (step 216). For example, the configuration, price and number of instances available of a particular instance type may be collected. Based on the job requirements and or instance types offered by the selected cloud provider, a range may be used for each cloud provider. For example, if a job requirement is at least 2 CPUs and at least 2 GPUs, and a particular cloud provider offers various combinations of CPUs and GPUs from 1:1 up to 8:16, then the search range may be from 2:2 to 8:16. If collecting data for the search range has not been completed, the query may be stepped up or down (step 224) for additional matching instance types, and the cloud may again be queried for the availability of one or more instance types that meet the current job's requirements (step 212), associated data may be collected (216), and the process may be repeated until the search range has been completed (step 220). Another cloud provider may be selected (step 228), and the process may be repeated. While the flowchart in the figure may be interpreted to depict a serial process, queries to multiple cloud provides may be submitted in parallel to speed up the process.); determining that a first VM is an assigned VM that is performing a current task associated with the first tenant; and transmitting status information of the first VM to the API server, causing the API server to assign the first task to the first VM based on the first task information and the determination (Datta [Col. 13, Lines 4-14] At a given point in time, a warm pool may comprise zero or more CIs that are in use (currently running tasks), and zero or more CIs that are in their respective retention periods (i.e., being retained for possible re-use for the specified post-task-completion retention period after a previous task has completed). For example, warm pool P1-C1 set up for client account C1 comprises in-use CI 144A and in-retention-period CI 144B, while warm-pool P1-C2 set for client account C2 comprises in-use CIs 144K and 144L and in-retention-period CI 144M.)”.
Rationale to claim 1 is applied here.
Claim/s 6, 13, 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Data, Ferrera, Dimitrov in further view of Sood (Pub. No. US 2019/0042319).
Claim 6, 13, 20 the combination may not explicitly teach the remaining limitation.
Sood teaches “the method of claim 1, further comprising: receiving a first task information related to an assigned VM of the one or more VMs from the API server (i.e. tasks of Datta); and transmitting the information to the assigned VM so that the first task information related to the assigned VM is not accessed by a different VM of the plurality of VMs ([0066] Example 10 is a method for mobile edge-cloud security, the method comprising: receiving a workload request from a user device via a network; instantiating the workload in an isolated environment on an edge computing platform, the isolated environment being a container or a virtual machine, the instantiating including using a hardware security component (SEC) of the mobile edge computing platform to prevent access to data or code of the workload from other environments hosted by the mobile edge computing platform; executing the workload in the isolated environment; and returning a result of the workload to the user device.)”.
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to apply the teachings of Sood with the teachings of Datta, Ferrera, Dimitrov in order to provide a system that teaches insolated VMs. The motivation for applying Sood teaching with Datta, Ferrera, Dimitrov teaching is to provide a system that allows for improved resource control. Datta, Ferrera, Dimitrov, Sood are analogous art directed distributed computing. Together Datta, Ferrera, Dimitrov, Sood teaches every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied the teachings of Sood with the teachings of Datta, Ferrera, Dimitrov by known methods before the effective filing date of the claimed invention and gained expected results.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WYNUEL S AQUINO whose telephone number is (571)272-7478. The examiner can normally be reached 9AM-5PM EST M-F.
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, Lewis Bullock can be reached at 571-272-3759. 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.
/WYNUEL S AQUINO/Primary Examiner, Art Unit 2199