DETAILED ACTION
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 .
This office action is in response to applicant’s amendment filed on 03/18/2026.
Claims 1, 3-11, and 13-22 are pending and examined.
Claims 2 and 12 are cancelled.
Response to Arguments
Applicant's arguments filed 03/18/2026 with respect to 35 U.S.C. 103 have been fully considered but they are not persuasive. Applicant argued that “Jacob and Eppstein have not been shown to teach or suggest allocating a resource that specifically "belongs to" a particular user,” that “Jacob does not disclose or suggest creating a resource monitoring system that "belongs to the first user" and is configured to monitor "the first resource" allocated to that user” and “The claimed scheduler manages resources within the user's allocated resource to implement load balancing and fault prediction, which is fundamentally different from Eppstein's scheduler that merely specifies when resource requirements should be suspended,” and that “Bowen does not teach or suggest adding instances based on a resource that specifically "based on the first resource" that belongs to the first user, as recited in amended Claim 1.” Examiner respectfully disagrees, see 35 U.S.C. 103 rejections below for a detailed analysis. With respect to the resource specifically belonging to a particular user, Eppstein is interpreted to disclose the feature as amended in claim 1. For example, the resource being determined to be available and allocated to an IDC with an allocated state, where the resource status indicator can be updated to a unique identifier of IDC related to the user request so that the resource is not available for use in another IDC, correlates to allocating, to the first user, a first resource belonging to the first user according to the quantity of resources to be allocated to the first user.
With regards to Jacob’s resource monitoring system that "belongs to the first user," while Jacob’s order management and monitoring module may not explicitly disclose that it belongs to the first user, the additional reference of Singh is interpreted to remedy any deficiencies. For example, Singh’s container agent monitoring the health of its respective container instance, where the container agent is a software application running in an instance owned by the client, correlates to a resource monitoring system belonging to the first user.
With regards to Eppstein’s scheduler, Eppstein is interpreted to disclose the limitations described in amended claim 1. For example, Eppstein’s service provider using a resource allocator to identify a particular resource to change its allocation state based on user input to a scheduler correlate to a scheduler for the first user. The resource allocator changing particular resource allocation states in the apparatus of a particular user correlates to the scheduler being configured to schedule resources within the first resource.
With regards to the new claims 21 and 22 further describing the scheduler, Singh’s scheduler configured to allocate tasks based on the expected or current resource consumption for the most efficient use of available resources correlates to wherein the scheduler is configured to implement load balancing of an instance in the first resource. The container agent monitoring the health of the container to report the occurrence of the container state and errors, where the client can specify particular conditions, events, or actions to take based on the event, such as the scheduler replacing a faulty container in response to a reported event or condition, correlates to wherein the scheduler is configured to implement fault prediction of an instance in the first resource.
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with Singh because container agents may act as an interface between their respective container instance owned by a client and other services so that all communications to or from the container go through the container agent. The container agent interpreting and translating commands between the container and a particular container encapsulation system operating with the container service allows changes to be made to a particular container packaging system without the need to update tasks or task definitions. Container agents may also be configured to report the occurrence of the container state and errors, which allow schedulers to take action in response to the reported event. Client owners may also specify the conditions, events, and actions of the scheduler and container agents.
Additionally, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with Eppstein because specifying a specific amount of a resource in the request allows a service provider to determine the manner in which to satisfy the request. In the example of a storage device capacity request, a service provider may provide a storage device with larger than the specified capacity under a specified rule considering a percentage of the requested value to be acceptable, which allows greater flexibility. Schedulers can also be used by users to specify times during which a resource requirement is suspended, which allow the system to remove resources to perform maintenance or upgrades that would not have been performed if the resources were still in use by the user’s apparatus. Additionally, retiring resources from service or allocating one or more suspended resources to satisfy resource requirements of another apparatus can also be enabled through resource scheduling.
With regards to Bowen, the amended claim 1 further describes the first resource belonging to the first user. However, this limitation is not interpreted to be disclosed by Bowen, and a combination of Jacob, Eppstein, Singh and Bowen together are interpreted to disclose the limitations of claim 1. Bowen is interpreted to disclose the limitations that were previously presented in claim 2, such that the client requesting to dynamically add more instances from the cloud computing service using the client’s pool of allocated resources correlates to receiving a first instance adding request comprising a quantity of instances to be added by the cloud platform, and the cloud computing service using the client’s pool of allocated resources to dynamically add an instance correlate to the cloud platform adding an instance based on the first resource according to the quantity of instances to be added. Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with Bowen because collections of networked resources allocated to a given client are logically isolated from resources allocated to other clients, which gives substantial flexibility regarding network configuration for additional compute instances. Dynamically adding or removing compute instances may also be executed though third-party proprietary or open-source software environments which further increases flexibility.
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.
Claims 1, 3-11, and 13-22 are rejected under 35 U.S.C. 103 as being unpatentable over Jacob et al. (U.S. Patent No. US 9912609 B2), hereinafter “Jacob” in view of Eppstein et al. (U.S. Patent No. US 7703102 B1), hereinafter “Eppstein,” Singh et al. (CN Patent No. CN 119003167 A), hereinafter “Singh” and Bowen et al. (U.S. Patent No. US 11113046 B1), hereinafter “Bowen.”
With regards to Claim 1, Jacob teaches:
An instance creation method, comprising:
receiving, by the cloud platform, a first instance creation request from the first user, wherein the first instance creation request comprises a quantity of instances to be created for the first user (Fig. 2, Col. 7, lines 61-67, Col. 8. lines 1-2, and Col. 11, lines 5-21, “Resource management system 140 may provide services as via a cloud or networked environment. For example, resource management system 140 may provide services as part of cloud computing environment 10. In some embodiments, for management and provisioning of computing resources, cloud computing environment 10 may request resource management system 140 to allocate resources based on a request for services. The resources may be allocated based on preferences indicated by a user… As shown in FIG. 2, a user 202 can submit a resource request 204 to resource management system 140. Resource request 204 may include a definition 206 that defines a topology of computing resources that are requested. For example, definition 206 may indicate one or more types of computing resources and a quantity of each of the types of computing resource. A definition may include a processor definition, a memory definition, a virtual machine definition, or a combination thereof. A virtual machine definition may identify a set of virtual machines. Definition 206 may define individual compute nodes, such as memory, number of CPUs, storage requirements, and other specifications as required by the user. For example, as shown in definition 206, resource request 204 includes nine virtual machines, each with its own specification (e.g., memory, number of CPUs, and storage).” The resource request indicating a virtual machine definition identifying a set of virtual machines being sent to the resource management system correlates to receiving a first instance creation request from the first user comprising a quantity of instances to be created. The resource management system providing services via a cloud environment based on user requests correlates to the cloud platform receiving an instance creation request from a user); and
creating, by the cloud platform, a first instance based on the first resource according to the quantity of instances to be created for the first user (Fig. 2, Col. 11, lines 33-36, “Based on the definition, the requested resources can be allocated by a resource infrastructure system, e.g., resource pool 208. Resource pool 208 may include or may be implemented using one or more data centers.” The requested resources being allocated based on the definition by the resource infrastructure system, which include a number of virtual machines that may be implemented by a data center, correlates to the cloud platform creating a first instance based on the first resource according to the quantity of instances needed to be created);
creating, by the cloud platform, a resource monitoring system (Fig. 8, Col. 29, lines 22-30, “At step 846, a customer's subscription order may be managed and tracked by an order management and monitoring module 826. In some instances, order management and monitoring module 826 may be configured to collect usage statistics regarding a customer use of subscribed services. For example, statistics may be collected for the amount of storage used, the amount data transferred, the number of users, and the amount of system up time and system down time, and the like.” The monitoring module being configured to collect usage statistics regarding a specific customer’s use of subscribed services correlates to a cloud platform creating a resource monitoring system), wherein the resource monitoring system is configured to monitor a usage status of the first resource (Fig. 8, Col. 29, lines 16-30, “At step 844, once the services and resources are provisioned, a notification may be sent to the subscribing customers indicating that the requested service is now ready for use. In some instance, information (e.g. a link) may be sent to the customer that enables the customer to start using the requested services. At step 846, a customer's subscription order may be managed and tracked by an order management and monitoring module 826. In some instances, order management and monitoring module 826 may be configured to collect usage statistics regarding a customer use of subscribed services. For example, statistics may be collected for the amount of storage used, the amount data transferred, the number of users, and the amount of system up time and system down time, and the like.” The monitoring module being configured to collect usage statistics regarding customer use of subscribed services correlates to the resource monitoring system configured to monitor a usage status of the first resource).
Jacob does not explicitly teach that the resource monitoring system belongs to the first user. However, resource monitoring systems belonging to the first user are a popular configuration of resource monitoring systems as evidenced by Singh (Paragraphs 50-51, “The container agent 222 may be a software application configured to run in an instance owned by the client 202, and may act as an interface between their respective container instance 218 and other services and entities, such as the container manager backend service 214… The container agent itself may be a container configured to monitor its respective container instance and may provide information to a system that may be used to initiate the container, track the container, and monitor the cluster state… The container agent 222 may be configured to monitor the health of the container within the respective container instance 218 (e.g., to report the heartbeat signal that the container instance is operating, to report the life of the container. and reporting the occurrence of the container state and the container error) …” The container agent monitoring the health of its respective container instance, where the container agent is a software application running in an instance owned by the client, correlates to a resource monitoring system belonging to the first user).
Jacob does not explicitly teach:
receiving, by a cloud platform, a first resource allocation request from a first user, wherein the first resource allocation request comprises a request for a quantity of resources to be allocated to the first user;
allocating, by the cloud platform, a first resource to the first user according to the quantity of resources to be allocated to the first user;
and creating, by the cloud platform, a scheduler that belongs to the first user, wherein the scheduler is configured to schedule resources within the first resource,
receiving, by the cloud platform, a first instance adding request from the first user, wherein the first instance adding request comprises a request for a quantity of instances to be added for the first user; and
adding, by the cloud platform, an instance based on the first resource according to the quantity of instances to be added for the first user
However, Eppstein teaches:
receiving a first resource allocation request from a first user, wherein the first resource allocation request comprises a request for a quantity of resources to be allocated to the first user (Col. 50, lines 8-11 and Col. 53, lines 48-55, “For example, the user request can specify the attributes that the user wishes the IDC to include, such as the number and capacity of a set of servers, the available storage to include in the IDC, etc… In general, a resource requirement can include one or more criteria of any kind, including but not limited to, the following: a particular value of an attribute; a type of device; a range of attribute values such as from X to Y, that a value satisfy a minimum value, a maximum value, an average value, or a summation of values; or a negative attribute such as that a device type can be any type except one or more particular types.” The user request specifying attributes such as the available storage to satisfy a minimum value correlates to receiving a first resource allocation request from a first user which comprises a quantity of resources to be allocated);
allocating, to the first user, a first resource belonging to the first user according to the quantity of resources to be allocated to the first user (Fig. 11, Col. 51, lines 28-33 and 49-56, Col. 54, lines 24-26, “Once a resource is determined to be available, the resource can be allocated to an IDC. As used herein, the term "allocate" means that a resource is assigned for use in an IDC such that the resource is not available for use in another IDC that is independent of the IDC to which the resource is assigned… a physical inventory table of devices can include an indicator for one or more of the devices as to the status of the device with respect to being allocated to an IDC. For example, the status indicator can be "IDLE" if the device is in an idle pool and therefore available to be allocated to an IDC, or the status indicator can be a unique identifier of the IDC to which the device has been allocated, thereby signifying that the device is not available… Allocated state 1130 indicates that one or more resources have been allocated that satisfy the resource requirement, thereby fulfilling the resource requirement.” The resource being determined to be available and allocated to an IDC with an allocated state, where the resource status indicator can be updated to a unique identifier of IDC related to the user request so that the resource is not available for use in another IDC, correlates to allocating, to the first user, a first resource belonging to the first user according to the quantity of resources to be allocated to the first user);
and a scheduler for the first user, wherein the scheduler is configured to schedule resources within the first resource (Col. 79, lines 47-56, Col. 80, lines 54-67, and Col. 81, lines 1-8, “For example, if a particular apparatus includes a set of servers, the user can specify that some of the resource requirements for the servers are to be suspended according to a specified schedule, but that not all of the resource requirements for the servers can be suspended. As a specific example, the user's request for the apparatus can include a separate resource requirement for each server in the set of servers, with some of the resource requirements specified to be suspendable resource requirements and the others specified to not be suspendable resource requirements... In block 1910, the resource allocator identifies a particular resource requirement for which the allocation state is to be changed from "ALLOCATED" to "SUSPENDED." For example, data can be received by the resource allocator in response to manual input from a user to suspend the particular resource requirement, the data can be from a proxy for the user, such as a scheduler that the user has used to specify the times during which a resource requirement is to be suspended, the data can originate from the user's request to the service provider to implement the apparatus in which the particular resource requirement is specified by the user to be a suspendable resource requirement, or the data can originate from the resource allocator itself. However, in general, the approach of FIG. 19 can be applied to any resource requirements that are determined to be no longer satisfied, whether such a determination is based on data from the user, the service provider, or any other entity. The specification or determination that a resource requirement can be suspended can be based one or more conditions being satisfied, such as conditions specified by the user for the suspendable resource requirement or default conditions specified by the service provider for the particular type of device.” The service provider using a resource allocator to identify a particular resource to change its allocation state based on user input to a scheduler correlate to a scheduler for the first user. The resource allocator changing particular resource allocation states in the apparatus of a particular user correlates to the scheduler being configured to schedule resources within the first resource).
Eppstein does not explicitly teach that the resource allocation request is received by a cloud platform and that the scheduler is created by a cloud platform and belongs to the first user. However, cloud platforms are a popular method of providing resource management services in response to user requests as evidenced by Jacob above (Fig. 2, Col. 7, lines 61-67, “Resource management system 140 may provide services as via a cloud or networked environment. For example, resource management system 140 may provide services as part of cloud computing environment 10. In some embodiments, for management and provisioning of computing resources, cloud computing environment 10 may request resource management system 140 to allocate resources based on a request for services. The resources may be allocated based on preferences indicated by a user”). Additionally, creating agents specific for a client’s owned resources is a popular method of resource management as evidenced by Singh above (Paragraphs 50-51).
Additionally, Bowen teaches:
receiving, by the cloud platform, a first instance adding request from the first user, wherein the first instance adding request comprises a request for a quantity of instances to be added for the first user (Col. 10, lines 27-31, “For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The client requesting to dynamically add more instances from the cloud computing service using the client’s pool of allocated resources correlates to receiving a first instance adding request comprising a quantity of instances to be added by the cloud platform); and
adding, by the cloud platform, an instance based on the first resource according to the quantity of instances to be added for the first user (Col. 10, lines 27-31, “For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The cloud computing service using the client’s pool of allocated resources to dynamically add an instance correlate to the cloud platform adding an instance based on the first resource according to the quantity of instances to be added).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving, a first resource allocation request from a first user, wherein the first resource allocation request comprises a request for a quantity of resources to be allocated to the first user; allocating a first resource to the first user according to the quantity of resources to be allocated to the first user, and a scheduler for the first user, wherein the scheduler is configured to schedule resources within the first resource as taught by Eppstein because specifying a specific amount of a resource in the request allows a service provider to determine the manner in which to satisfy the request. In the example of a storage device capacity request, a service provider may provide a storage device with larger than the specified capacity under a specified rule considering a percentage of the requested value to be acceptable, which allows greater flexibility. Schedulers can also be used by users to specify times during which a resource requirement is suspended, which allow the system to remove resources to perform maintenance or upgrades that would not have been performed if the resources were still in use by the user’s apparatus. Additionally, retiring resources from service or allocating one or more suspended resources to satisfy resource requirements of another apparatus can also be enabled through resource scheduling (Eppstein: Col. 50, lines 40-49 and Col. 80, lines 1-15).
Additionally, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving, by the cloud platform, a first instance adding request from the first user, wherein the first instance adding request comprises a request for a quantity of instances to be added for the first user; and adding, by the cloud platform, an instance based on the first resource according to the quantity of instances to be added for the first user as taught by Bowen because collections of networked resources allocated to a given client are logically isolated from resources allocated to other clients, which gives substantial flexibility regarding network configuration for additional compute instances. Dynamically adding or removing compute instances may also be executed though third-party proprietary or open-source software environments which further increases flexibility (Bowen: Col. 7, lines 27-44 and col. 10, lines 22-27).
Additionally, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with a resource monitoring system that belong to the first user as taught by Singh because container agents may act as an interface between their respective container instance owned by a client and other services so that all communications to or from the container go through the container agent. The container agent interpreting and translating commands between the container and a particular container encapsulation system operating with the container service allows changes to be made to a particular container packaging system without the need to update tasks or task definitions (Singh: Paragraph 50).
With regards to Claim 3, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 1 above. Bowen further teaches:
receiving, by the cloud platform, a first instance deletion request from the first user, wherein the first instance deletion request comprises a request for a quantity of instances to be deleted for the first user (Col. 10, lines 27-31, “For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The client requesting to dynamically delete instances from the cloud computing service using the client’s pool of allocated resources correlates to receiving a first instance deletion request comprising a quantity of instances to be deleted by the cloud platform); and
deleting, by the cloud platform, an instance based on the first resource according to the quantity of instances to be deleted for the first user (Col. 10, lines 27-31, “For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The cloud computing service using the client’s pool of allocated resources to dynamically delete an instance correlate to the cloud platform deleting an instance based on the first resource according to the quantity of instances to be deleted).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving, by the cloud platform, a first instance deletion request from the first user, wherein the first instance deletion request comprises a request for a quantity of instances to be deleted for the first user and deleting, by the cloud platform, an instance based on the first resource according to the quantity of instances to be deleted for the first user as taught by Bowen because collections of networked resources allocated to a given client are logically isolated from resources allocated to other clients, which gives substantial flexibility regarding network configuration for additional compute instances. Dynamically adding or removing compute instances may also be executed through third-party proprietary or open-source software environments which further increases flexibility (Bowen: Col. 7, lines 27-44 and col. 10, lines 22-27).
With regards to Claim 13, the method of Claim 3 performs the same steps as the machine of Claim 13, and Claim 13 is therefore rejected using the same rationale set forth above in the rejection of Claim 3.
With regards to Claim 4, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 1 above.
Jacob further teaches:
The instance creation method according to claim 1, wherein the quantity of instances to be created for the first user is greater than or equal to 2 (Fig. 2, Col. 11, lines 5-21, “As shown in FIG. 2, a user 202 can submit a resource request 204 to resource management system 140. Resource request 204 may include a definition 206 that defines a topology of computing resources that are requested. For example, definition 206 may indicate one or more types of computing resources and a quantity of each of the types of computing resource. A definition may include a processor definition, a memory definition, a virtual machine definition, or a combination thereof. A virtual machine definition may identify a set of virtual machines. Definition 206 may define individual compute nodes, such as memory, number of CPUs, storage requirements, and other specifications as required by the user. For example, as shown in definition 206, resource request 204 includes nine virtual machines, each with its own specification (e.g., memory, number of CPUs, and storage).” The resource request including nine virtual machines to be created as an example correlates the quantity of instances to be created being greater than or equal to 2).
With regards to Claim 14, the method of Claim 4 performs the same steps as the machine of Claim 14, and Claim 14 is therefore rejected using the same rationale set forth above in the rejection of Claim 4.
With regards to Claim 5, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 1 above.
Eppstein further teaches:
receiving a first query instruction from the first user (Col. 13, lines 18-21 and 31-40, “A related sub-function may provide customer configuration of alerts and notifications that they want to receive when monitored item reaches predefined thresholds or fails, and how they want to receive them (e.g., email, pager, telephone) … In one embodiment, there is a customer report request interface that enables a user to view reports using a browser, send reports via email, export of report data for external processing, and access a menu of reports. The reporting function may also enable customers to select the reports they want to access and may provide the ability to specify dates or ranges of dates for reports to cover. The reporting functionality may also enable a user to schedule automated generation of reports, e.g. weekly/monthly traffic reports and weekly/monthly billing reports.” The customer selecting reports they want to access through the report request interface correlates to receiving a first query instruction from the first user); querying a usage status of the first resource according to the first query instruction (Col. 13, lines 22-40, “Another function may provide reports on the status and performance of IDCs. Reports are defined as statistical information that is collected over a specified period of time, or the ability to view such information for a specified time period. Whereas monitoring is provided in real time, reports are focused on creating logs and archives of data that interests a customer. For example, the system may generate the following reports: reports on any of the monitors described herein; traffic patterns; bandwidth usage; active IDCs; customer support history. In one embodiment, there is a customer report request interface that enables a user to view reports using a browser, send reports via email, export of report data for external processing, and access a menu of reports.” The reports covering traffic patterns, bandwidth usage, active IDCs, and customer support history based on a customer report request correlate to querying a usage status of the first resource according to the first query instruction); and sending the usage status of the first resource to the first user (Col. 13, lines 31-40, “In one embodiment, there is a customer report request interface that enables a user to view reports using a browser, send reports via email, export of report data for external processing, and access a menu of reports.” The report interface sending reports to a user via email correlates to sending the usage status of the first resource to the first user).
Eppstein does not explicitly teach that the resource allocation request is received by a cloud platform. However, cloud platforms are a popular method of providing resource management services in response to user requests as evidenced by Jacob above (Fig. 2, Col. 7, lines 61-67, “Resource management system 140 may provide services as via a cloud or networked environment. For example, resource management system 140 may provide services as part of cloud computing environment 10. In some embodiments, for management and provisioning of computing resources, cloud computing environment 10 may request resource management system 140 to allocate resources based on a request for services. The resources may be allocated based on preferences indicated by a user”).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving a first query instruction from the first user; querying a usage status of the first resource according to the first query instruction; and sending the usage status of the first resource to the first user as taught by Eppstein because the reporting function enables customers to view statistical information collected over a period of time as archives of data relevant to a customer. Alerts and notifications also provide customers additional information when specified monitored items reach predefined thresholds or failures, allowing real-time observation of active instances (Eppstein: Col. 13, lines 1-3, 18-40).
With regards to Claim 15, the method of Claim 5 performs the same steps as the machine of Claim 15, and Claim 15 is therefore rejected using the same rationale set forth above in the rejection of Claim 5.
With regards to Claim 6, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 1 above.
Jacob further teaches:
receiving, by the cloud platform, a second instance creation request from a second user, wherein the second instance creation request comprises a request for a quantity of instances to be created for the second user (Fig. 2, Col. 7, lines 32-35 and 61-67, Col. 8. lines 1-2, and Col. 11, lines 5-21, “In certain embodiments, the cloud computing environment 10 includes infrastructure resources 30 for providing the resources used to provide various services to users of the cloud computing environment 10… Resource management system 140 may provide services as via a cloud or networked environment. For example, resource management system 140 may provide services as part of cloud computing environment 10. In some embodiments, for management and provisioning of computing resources, cloud computing environment 10 may request resource management system 140 to allocate resources based on a request for services. The resources may be allocated based on preferences indicated by a user… As shown in FIG. 2, a user 202 can submit a resource request 204 to resource management system 140. Resource request 204 may include a definition 206 that defines a topology of computing resources that are requested. For example, definition 206 may indicate one or more types of computing resources and a quantity of each of the types of computing resource. A definition may include a processor definition, a memory definition, a virtual machine definition, or a combination thereof. A virtual machine definition may identify a set of virtual machines. Definition 206 may define individual compute nodes, such as memory, number of CPUs, storage requirements, and other specifications as required by the user. For example, as shown in definition 206, resource request 204 includes nine virtual machines, each with its own specification (e.g., memory, number of CPUs, and storage).” The resource request indicating a virtual machine definition identifying a set of virtual machines being sent to the resource management system correlates to receiving a second instance creation request from the second user comprising a quantity of instances to be created. The resource management system providing services via a cloud environment based on user requests correlates to the cloud platform receiving an instance creation request from a user. The cloud computing environment providing resources to provide various services to a plurality of users correlates to a second user); and
creating, by the cloud platform, an instance based on the second resource according to the quantity of instances to be created for the second user (Fig. 2, Col. 7, lines 32-35 and Col. 11, lines 33-36, “In certain embodiments, the cloud computing environment 10 includes infrastructure resources 30 for providing the resources used to provide various services to users of the cloud computing environment 10… Based on the definition, the requested resources can be allocated by a resource infrastructure system, e.g., resource pool 208. Resource pool 208 may include or may be implemented using one or more data centers.” The requested resources being allocated based on the definition by the resource infrastructure system, which include a number of virtual machines that may be implemented by a data center, correlates to the cloud platform creating an instance based on the second resource according to the quantity of instances needed to be created. The cloud computing environment providing resources to provide various services to a plurality of users correlates to a second user).
Eppstein further teaches:
receiving a second resource allocation request from a third party, wherein the second resource allocation request comprises a request for a quantity of resources to be allocated to the third party (Col. 50, lines 8-11, Col. 53, lines 48-55 and Col. 110, lines 3-9, “For example, the user request can specify the attributes that the user wishes the IDC to include, such as the number and capacity of a set of servers, the available storage to include in the IDC, etc… In general, a resource requirement can include one or more criteria of any kind, including but not limited to, the following: a particular value of an attribute; a type of device; a range of attribute values such as from X to Y, that a value satisfy a minimum value, a maximum value, an average value, or a summation of values; or a negative attribute such as that a device type can be any type except one or more particular types.. Embodiments, implementation, and examples herein are described in terms of a user making a request for an apparatus, and the request includes one or more resource requirements as specified by the user. However, in general, a resource requirement can be specified by any entity, not just a user that requests an apparatus, including but not limited to, the service provider, a third party, or a software application.” The third-party request specifying attributes such as the available storage to satisfy a minimum value correlates to receiving a second resource allocation request from a third party which comprises a quantity of resources to be allocated);
allocating a second resource to the third party according to the quantity of resources to be allocated to the third party (Fig. 11, Col. 54, lines 24-26, “Allocated state 1130 indicates that one or more resources have been allocated that satisfy the resource requirement, thereby fulfilling the resource requirement.” The resource requirement associated with an allocated state indicating that the one or more resources have been allocated to satisfy the resource requirement correlates to allocating a second resource to the third party according to the quantity of resources to be allocated);
Eppstein does not explicitly teach that the resource allocation request is received by a cloud platform. However, cloud platforms are a popular method of providing resource management services in response to user requests as evidenced by Jacob above (Fig. 2, Col. 7, lines 61-67, “Resource management system 140 may provide services as via a cloud or networked environment. For example, resource management system 140 may provide services as part of cloud computing environment 10. In some embodiments, for management and provisioning of computing resources, cloud computing environment 10 may request resource management system 140 to allocate resources based on a request for services. The resources may be allocated based on preferences indicated by a user”).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving a second resource allocation request from a third party, wherein the second resource allocation request comprises a request for a quantity of resources to be allocated to the third party; allocating a second resource to the third party according to the quantity of resources to be allocated to the third party as taught by Eppstein because specifying a specific amount of a resource in the request allows a service provider to determine the manner in which to satisfy the request. In the example of a storage device capacity request, a service provider may provide a storage device with larger than the specified capacity under a specified rule considering a percentage of the requested value to be acceptable, which allows greater flexibility. Third parties specifying resource requirements adds flexibility to the system and can be useful for satisfying needs of the service provider (Eppstein: Col. 50, lines 40-49 and Col. 110, lines 3-15).
With regards to Claim 16, the method of Claim 6 performs the same steps as the machine of Claim 16, and Claim 16 is therefore rejected using the same rationale set forth above in the rejection of Claim 6.
With regards to Claim 7, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 6 above. Bowen further teaches:
receiving, by the cloud platform, a second instance adding request from the second user, wherein the second instance adding request comprises a request for a quantity of instances to be added for the second user (Col 8, lines 39-49 and Col. 10, lines 27-31, “In at least some embodiments, the virtualized computing service or cloud computing service may offer its clients the ability to set up compute instances on third-party computer systems executing proprietary (or open source) software, such as a proprietary OS, in either multi-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of several different clients) or in single-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of no more than one client)… For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The virtualized computing service allowing multiple different clients to set up compute instances correlates to a second user. The client requesting to dynamically add more instances from the cloud computing service using the client’s pool of allocated resources correlates to receiving a second instance adding request comprising a quantity of instances to be added by the cloud platform); and
adding, by the cloud platform, an instance based on the second resource according to the quantity of instances to be added for the second user (Col 8, lines 39-49 and Col. 10, lines 27-31, “In at least some embodiments, the virtualized computing service or cloud computing service may offer its clients the ability to set up compute instances on third-party computer systems executing proprietary (or open source) software, such as a proprietary OS, in either multi-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of several different clients) or in single-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of no more than one client)… For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The virtualized computing service allowing multiple different clients to set up compute instances correlates to a second user. The cloud computing service using the client’s pool of allocated resources to dynamically add an instance correlate to the cloud platform adding an instance based on the second resource according to the quantity of instances to be added).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving, by the cloud platform, a second instance adding request from the second user, wherein the second instance adding request comprises a request for a quantity of instances to be added for the second user; and adding, by the cloud platform, an instance based on the second resource according to the quantity of instances to be added for the second user as taught by Bowen because collections of networked resources allocated to a given client are logically isolated from resources allocated to other clients, which gives substantial flexibility regarding network configuration for additional compute instances. Dynamically adding or removing compute instances may also be executed though third-party proprietary or open-source software environments which further increases flexibility (Bowen: Col. 7, lines 27-44 and col. 10, lines 22-27).
With regards to Claim 17, the method of Claim 7 performs the same steps as the machine of Claim 17, and Claim 17 is therefore rejected using the same rationale set forth above in the rejection of Claim 7.
With regards to Claim 8, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 6 above. Bowen further teaches:
receiving, by the cloud platform, a second instance deletion request from the second user, wherein the second instance deletion request comprises a request for a quantity of instances to be deleted for the second user (Col 8, lines 39-49 and Col. 10, lines 27-31, “In at least some embodiments, the virtualized computing service or cloud computing service may offer its clients the ability to set up compute instances on third-party computer systems executing proprietary (or open source) software, such as a proprietary OS, in either multi-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of several different clients) or in single-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of no more than one client)… For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The virtualized computing service allowing multiple different clients to set up compute instances correlates to a second user. The client requesting to dynamically delete instances from the cloud computing service using the client’s pool of allocated resources correlates to receiving a second instance deletion request comprising a quantity of instances to be deleted by the cloud platform); and
deleting, by the cloud platform, an instance based on the second resource according to the quantity of instances to be deleted for the second user (Col 8, lines 39-49 and Col. 10, lines 27-31, “In at least some embodiments, the virtualized computing service or cloud computing service may offer its clients the ability to set up compute instances on third-party computer systems executing proprietary (or open source) software, such as a proprietary OS, in either multi-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of several different clients) or in single-tenant mode (in which a given third-party pre-assembled computer system may be used to launch and run compute instances of no more than one client)… For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The virtualized computing service allowing multiple different clients to set up compute instances correlates to a second user. The cloud computing service using the client’s pool of allocated resources to dynamically delete an instance correlate to the cloud platform deleting an instance based on the second resource according to the quantity of instances to be deleted).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving, by the cloud platform, a second instance deletion request from the second user, wherein the second instance deletion request comprises a request for a quantity of instances to be deleted for the second user; and deleting, by the cloud platform, an instance based on the second resource according to the quantity of instances to be deleted for the second user as taught by Bowen because collections of networked resources allocated to a given client are logically isolated from resources allocated to other clients, which gives substantial flexibility regarding network configuration for additional compute instances. Dynamically adding or removing compute instances may also be executed through third-party proprietary or open-source software environments which further increases flexibility (Bowen: Col. 7, lines 27-44 and col. 10, lines 22-27).
With regards to Claim 18, the method of Claim 8 performs the same steps as the machine of Claim 18, and Claim 18 is therefore rejected using the same rationale set forth above in the rejection of Claim 8.
With regards to Claim 9, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 6 above.
Jacob further teaches:
wherein the quantity of instances to be created for the second user is greater than or equal to 2 (Fig. 2, Col. 7, lines 32-35 and Col. 11, lines 5-21, “In certain embodiments, the cloud computing environment 10 includes infrastructure resources 30 for providing the resources used to provide various services to users of the cloud computing environment 10… As shown in FIG. 2, a user 202 can submit a resource request 204 to resource management system 140. Resource request 204 may include a definition 206 that defines a topology of computing resources that are requested. For example, definition 206 may indicate one or more types of computing resources and a quantity of each of the types of computing resource. A definition may include a processor definition, a memory definition, a virtual machine definition, or a combination thereof. A virtual machine definition may identify a set of virtual machines. Definition 206 may define individual compute nodes, such as memory, number of CPUs, storage requirements, and other specifications as required by the user. For example, as shown in definition 206, resource request 204 includes nine virtual machines, each with its own specification (e.g., memory, number of CPUs, and storage).” The cloud computing environment providing resources to provide various services to a plurality of users correlates to a second user. The resource request including nine virtual machines to be created as an example correlates the quantity of instances to be created being greater than or equal to 2).
With regards to Claim 19, the method of Claim 9 performs the same steps as the machine of Claim 19, and Claim 19 is therefore rejected using the same rationale set forth above in the rejection of Claim 9.
With regards to Claim 10, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 6 above.
Eppstein further teaches:
receiving a second query instruction from the third party (Col. 13, lines 18-21 and 31-40 and Col. 110, lines 3-9, “A related sub-function may provide customer configuration of alerts and notifications that they want to receive when monitored item reaches predefined thresholds or fails, and how they want to receive them (e.g., email, pager, telephone) … In one embodiment, there is a customer report request interface that enables a user to view reports using a browser, send reports via email, export of report data for external processing, and access a menu of reports. The reporting function may also enable customers to select the reports they want to access and may provide the ability to specify dates or ranges of dates for reports to cover. The reporting functionality may also enable a user to schedule automated generation of reports, e.g. weekly/monthly traffic reports and weekly/monthly billing reports... Embodiments, implementation, and examples herein are described in terms of a user making a request for an apparatus, and the request includes one or more resource requirements as specified by the user. However, in general, a resource requirement can be specified by any entity, not just a user that requests an apparatus, including but not limited to, the service provider, a third party, or a software application” The third party selecting reports they want to access through the report request interface correlates to receiving a second query instruction from the third party); querying a usage status of the second resource according to the second query instruction (Col. 13, lines 22-40 and Col. 110, lines 3-9, “Another function may provide reports on the status and performance of IDCs. Reports are defined as statistical information that is collected over a specified period of time, or the ability to view such information for a specified time period. Whereas monitoring is provided in real time, reports are focused on creating logs and archives of data that interests a customer. For example, the system may generate the following reports: reports on any of the monitors described herein; traffic patterns; bandwidth usage; active IDCs; customer support history. In one embodiment, there is a customer report request interface that enables a user to view reports using a browser, send reports via email, export of report data for external processing, and access a menu of reports… Embodiments, implementation, and examples herein are described in terms of a user making a request for an apparatus, and the request includes one or more resource requirements as specified by the user. However, in general, a resource requirement can be specified by any entity, not just a user that requests an apparatus, including but not limited to, the service provider, a third party, or a software application.” The reports covering traffic patterns, bandwidth usage, active IDCs, and customer support history based on a report request correlate to querying a usage status of the second resource according to the second query instruction); and
sending the usage status of the second resource to the third party (Col. 13, lines 31-40 and Col. 110, lines 3-9, “In one embodiment, there is a customer report request interface that enables a user to view reports using a browser, send reports via email, export of report data for external processing, and access a menu of reports… Embodiments, implementation, and examples herein are described in terms of a user making a request for an apparatus, and the request includes one or more resource requirements as specified by the user. However, in general, a resource requirement can be specified by any entity, not just a user that requests an apparatus, including but not limited to, the service provider, a third party, or a software application.” The report interface sending reports to a third party via email correlates to sending the usage status of the second resource to the third party).
Eppstein does not explicitly teach that the resource allocation request is received by a cloud platform. However, cloud platforms are a popular method of providing resource management services in response to user requests as evidenced by Jacob above (Fig. 2, Col. 7, lines 61-67, “Resource management system 140 may provide services as via a cloud or networked environment. For example, resource management system 140 may provide services as part of cloud computing environment 10. In some embodiments, for management and provisioning of computing resources, cloud computing environment 10 may request resource management system 140 to allocate resources based on a request for services. The resources may be allocated based on preferences indicated by a user”).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receiving a second query instruction from the third party; querying a usage status of the second resource according to the second query instruction; and sending the usage status of the second resource to the third party as taught by Eppstein because the reporting function enables customers to view statistical information collected over a period of time as archives of data relevant to a customer. Alerts and notifications also provide customers additional information when specified monitored items reach predefined thresholds or failures, allowing real-time observation of active instances (Eppstein: Col. 13, lines 1-3, 18-40).
With regards to Claim 20, the method of Claim 10 performs the same steps as the machine of Claim 20, and Claim 20 is therefore rejected using the same rationale set forth above in the rejection of Claim 10.
With regards to Claim 11, Jacob teaches:
A management node, comprising:
at least one processor; and
one or more memories coupled to the at least one processor and storing programming instructions for execution by the at least one processor to:
receive a first instance creation request from the first user, wherein the first instance creation request comprises a request for a quantity of instances to be created for the first user (Fig. 2, Col. 8. lines 1-2, and Col. 11, lines 5-21, “As shown in FIG. 2, a user 202 can submit a resource request 204 to resource management system 140. Resource request 204 may include a definition 206 that defines a topology of computing resources that are requested. For example, definition 206 may indicate one or more types of computing resources and a quantity of each of the types of computing resource. A definition may include a processor definition, a memory definition, a virtual machine definition, or a combination thereof. A virtual machine definition may identify a set of virtual machines. Definition 206 may define individual compute nodes, such as memory, number of CPUs, storage requirements, and other specifications as required by the user. For example, as shown in definition 206, resource request 204 includes nine virtual machines, each with its own specification (e.g., memory, number of CPUs, and storage).” The resource request indicating a virtual machine definition identifying a set of virtual machines being sent to the resource management system correlates to receiving a first instance creation request from the first user comprising a quantity of instances to be created); and
create a first instance based on the first resource according to the quantity of instances to be created for the first user (Fig. 2, Col. 11, lines 33-36, “Based on the definition, the requested resources can be allocated by a resource infrastructure system, e.g., resource pool 208. Resource pool 208 may include or may be implemented using one or more data centers.” The requested resources being allocated based on the definition by the resource infrastructure system, which include a number of virtual machines that may be implemented by a data center, correlates to creating a first instance based on the first resource according to the quantity of instances needed to be created);
create a resource monitoring system (Fig. 8, Col. 29, lines 22-30, “At step 846, a customer's subscription order may be managed and tracked by an order management and monitoring module 826. In some instances, order management and monitoring module 826 may be configured to collect usage statistics regarding a customer use of subscribed services. For example, statistics may be collected for the amount of storage used, the amount data transferred, the number of users, and the amount of system up time and system down time, and the like.” The monitoring module being configured to collect usage statistics regarding a specific customer’s use of subscribed services correlates to creating a resource monitoring system), wherein the resource monitoring system is configured to monitor a usage status of the first resource (Fig. 8, Col. 29, lines 16-30, “At step 844, once the services and resources are provisioned, a notification may be sent to the subscribing customers indicating that the requested service is now ready for use. In some instance, information (e.g. a link) may be sent to the customer that enables the customer to start using the requested services. At step 846, a customer's subscription order may be managed and tracked by an order management and monitoring module 826. In some instances, order management and monitoring module 826 may be configured to collect usage statistics regarding a customer use of subscribed services. For example, statistics may be collected for the amount of storage used, the amount data transferred, the number of users, and the amount of system up time and system down time, and the like.” The monitoring module being configured to collect usage statistics regarding customer use of subscribed services correlates to the resource monitoring system configured to monitor a usage status of the first resource).
Jacob does not explicitly teach that the resource monitoring system belongs to the first user. However, resource monitoring systems belonging to the first user are a popular configuration of resource monitoring systems as evidenced by Singh above (Paragraphs 50-51).
Jacob does not explicitly teach:
receive a first resource allocation request from a first user, wherein the first resource allocation request comprises a request for a quantity of resources to be allocated to the first user;
allocate, to the first user, a first resource belonging to the first user according to the quantity of resources to be allocated to the first user;
create a scheduler that belongs to the first user, wherein the scheduler is configured to schedule resources within the first resource, and
add a second instance based on the first resource according to the quantity of instances to be added for the first user.
However, Eppstein teaches:
receive a first resource allocation request from a first user, wherein the first resource allocation request comprises a request for a quantity of resources to be allocated to the first user (Col. 50, lines 8-11 and Col. 53, lines 48-55, “For example, the user request can specify the attributes that the user wishes the IDC to include, such as the number and capacity of a set of servers, the available storage to include in the IDC, etc… In general, a resource requirement can include one or more criteria of any kind, including but not limited to, the following: a particular value of an attribute; a type of device; a range of attribute values such as from X to Y, that a value satisfy a minimum value, a maximum value, an average value, or a summation of values; or a negative attribute such as that a device type can be any type except one or more particular types.” The user request specifying attributes such as the available storage to satisfy a minimum value correlates to receiving a first resource allocation request from a first user which comprises a quantity of resources to be allocated);
allocate, to the first user, a first resource belonging to the first user according to the quantity of resources to be allocated to the first user (Fig. 11, Col. 51, lines 28-33 and 49-56, Col. 54, lines 24-26, “Once a resource is determined to be available, the resource can be allocated to an IDC. As used herein, the term "allocate" means that a resource is assigned for use in an IDC such that the resource is not available for use in another IDC that is independent of the IDC to which the resource is assigned… a physical inventory table of devices can include an indicator for one or more of the devices as to the status of the device with respect to being allocated to an IDC. For example, the status indicator can be "IDLE" if the device is in an idle pool and therefore available to be allocated to an IDC, or the status indicator can be a unique identifier of the IDC to which the device has been allocated, thereby signifying that the device is not available… Allocated state 1130 indicates that one or more resources have been allocated that satisfy the resource requirement, thereby fulfilling the resource requirement.” The resource being determined to be available and allocated to an IDC with an allocated state, where the resource status indicator can be updated to a unique identifier of IDC related to the user request so that the resource is not available for use in another IDC, correlates to allocating, to the first user, a first resource belonging to the first user according to the quantity of resources to be allocated to the first user);
create a scheduler for the first user, wherein the scheduler is configured to schedule resources within the first resource (Col. 79, lines 47-56, Col. 80, lines 54-67, and Col. 81, lines 1-8, “For example, if a particular apparatus includes a set of servers, the user can specify that some of the resource requirements for the servers are to be suspended according to a specified schedule, but that not all of the resource requirements for the servers can be suspended. As a specific example, the user's request for the apparatus can include a separate resource requirement for each server in the set of servers, with some of the resource requirements specified to be suspendable resource requirements and the others specified to not be suspendable resource requirements... In block 1910, the resource allocator identifies a particular resource requirement for which the allocation state is to be changed from "ALLOCATED" to "SUSPENDED." For example, data can be received by the resource allocator in response to manual input from a user to suspend the particular resource requirement, the data can be from a proxy for the user, such as a scheduler that the user has used to specify the times during which a resource requirement is to be suspended, the data can originate from the user's request to the service provider to implement the apparatus in which the particular resource requirement is specified by the user to be a suspendable resource requirement, or the data can originate from the resource allocator itself. However, in general, the approach of FIG. 19 can be applied to any resource requirements that are determined to be no longer satisfied, whether such a determination is based on data from the user, the service provider, or any other entity. The specification or determination that a resource requirement can be suspended can be based one or more conditions being satisfied, such as conditions specified by the user for the suspendable resource requirement or default conditions specified by the service provider for the particular type of device.” The service provider using a resource allocator to identify a particular resource to change its allocation state based on user input to a scheduler correlate to a scheduler for the first user. The resource allocator changing particular resource allocation states in the apparatus of a particular user correlates to the scheduler being configured to schedule resources within the first resource).
Eppstein does not explicitly teach that the scheduler belongs to the first user. However, creating agents specific for a client’s owned resources is a popular method of resource management as evidenced by Singh above (Paragraphs 50-51).
Additionally, Bowen teaches:
and add a second instance based on the first resource according to the quantity of instances to be added for the first user (Col. 10, lines 27-31, “For example, a client may request more or few instances via a command-line tool or graphical user interface and the cloud computing service may dynamically add or remove compute instances from the client's pool of allocated resources.” The cloud computing service using the client’s pool of allocated resources to dynamically add an instance correlate to adding an instance based on the first resource according to the quantity of instances to be added).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with receive a first resource allocation request from a first user, wherein the first resource allocation request comprises a request for a quantity of resources to be allocated to the first user; allocate, to the first user, a first resource belonging to the first user according to the quantity of resources to be allocated to the first user; create a scheduler that belongs to the first user, wherein the scheduler is configured to schedule resources within the first resource as taught by Eppstein because specifying a specific amount of a resource in the request allows a service provider to determine the manner in which to satisfy the request. In the example of a storage device capacity request, a service provider may provide a storage device with larger than the specified capacity under a specified rule considering a percentage of the requested value to be acceptable, which allows greater flexibility. Schedulers can also be used by users to specify times during which a resource requirement is suspended, which allow the system to remove resources to perform maintenance or upgrades that would not have been performed if the resources were still in use by the user’s apparatus. Additionally, retiring resources from service or allocating one or more suspended resources to satisfy resource requirements of another apparatus can also be enabled through resource scheduling (Eppstein: Col. 50, lines 40-49 and Col. 80, lines 1-15).
Additionally, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with add a second instance based on the first resource according to the quantity of instances to be added for the first user as taught by Bowen because collections of networked resources allocated to a given client are logically isolated from resources allocated to other clients, which gives substantial flexibility regarding network configuration for additional compute instances. Dynamically adding or removing compute instances may also be executed though third-party proprietary or open-source software environments which further increases flexibility (Bowen: Col. 7, lines 27-44 and col. 10, lines 22-27).
Additionally, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with a resource monitoring system that belong to the first user as taught by Singh because container agents may act as an interface between their respective container instance owned by a client and other services so that all communications to or from the container go through the container agent. The container agent interpreting and translating commands between the container and a particular container encapsulation system operating with the container service allows changes to be made to a particular container packaging system without the need to update tasks or task definitions (Singh: Paragraph 50).
With regards to Claim 21, Jacob in view of Eppstein, Singh and Bowen teach the method of Claim 1 above. Singh further teaches:
wherein the scheduler is configured to implement load balancing (Paragraph 25, “The layout scheme of the scheduler 208 may be configured to uniformly allocate tasks on the cluster (e.g., a cyclic manner, a random allocation scheme, etc.), and may be configured to allocate tasks based on the current or expected resource consumption of the cluster for most efficient use of available resources.” The scheduler configured to allocate tasks based on the expected or current resource consumption for the most efficient use of available resources correlates to wherein the scheduler is configured to implement load balancing of an instance in the first resource) and fault prediction of an instance in the first resource (Paragraph 51, “The container agent 222 may be configured to monitor the health of the container within the respective container instance 218 (e.g., to report the heartbeat signal that the container instance is operating, to report the life of the container. and reporting the occurrence of the container state and the container error), and may be further configured to perform an action based on the occurrence of certain events. For example, if the container agent detects that the container has encountered an error and stops operation, the container agent may automatically generate a new container to replace the faulty container. In other embodiments, the scheduler 208 may take some action in response to an event reported to it by the container agent 222. In the above example, it may be the scheduler 208 that causes the generation of a new container to replace the faulty container. The client owner of the container may specify the conditions, events, and actions of the scheduler 208 and/or the container agent.” The container agent monitoring the health of the container to report the occurrence of the container state and errors, where the client can specify particular conditions, events, or actions to take based on the event, such as the scheduler replacing a faulty container in response to a reported event or condition, correlates to wherein the scheduler is configured to implement fault prediction of an instance in the first resource).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Jacob with wherein the scheduler is configured to implement load balancing and fault prediction of an instance in the first resource as taught by Singh because container agents may act as an interface between their respective container instance owned by a client and other services so that all communications to or from the container go through the container agent. The container agent interpreting and translating commands between the container and a particular container encapsulation system operating with the container service allows changes to be made to a particular container packaging system without the need to update tasks or task definitions. Container agents may also be configured to report the occurrence of the container state and errors, which allow schedulers to take action in response to the reported event. Client owners may also specify the conditions, events, and actions of the scheduler and container agents (Singh: Paragraphs 50-51).
With regards to Claim 22, the method of Claim 21 performs the same steps as the machine of Claim 22, and Claim 22 is therefore rejected using the same rationale set forth above in the rejection of Claim 21.
Prior Art Made of Record
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Relan et al. (U.S. Patent No. US 10958654 B1); teaching a method of resource protection by fetching current usage data for a resource and determining whether it is safe to delete the resource based on a threshold. A plurality of compute instances can be created by request from a user in a provider network. Users may also request to terminate a compute instance, where the comparison of the current usage and a usage threshold can partially determine if a compute instance should be deleted. If the deletion request is approved, the service may be deleted. The user may also request to create additional compute instances.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SELINA HU whose telephone number is (571)272-5428. The examiner can normally be reached Monday-Friday 8:30-5:30.
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, Chat Do can be reached at (571) 272-3721. 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.
/SELINA ELISA HU/Examiner, Art Unit 2193
/Chat C Do/Supervisory Patent Examiner, Art Unit 2193