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
Notice to Applicant
In response to the communication received on 07/23/2025, the following is a Final Office Action for Application No. 18458857.
Status of Claims
Claims 1-19 are pending.
Response to Amendments
Applicant’s amendments have been fully considered. Applicant’s amendments to the claims overcome the 35 U.S.C 112 rejection, and hence the 35 U.S.C. 112 rejection has been withdrawn. Applicant’s amendments to the claims overcome the 35 U.S.C 101 rejection and hence the 35 U.S.C. 101 rejection has been withdrawn.
Response to Arguments
Applicant’s arguments with respect to the claims have been considered but are moot in light of the new grounds of rejection, as necessitated by amendment.
Claim Objections
Claim 19 is objected to because of the following informalities: “19. (Currently Amended)” is stated in claim 19, however, the claim limitations are not currently amended. Appropriate correction is required.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, 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-19 are rejected under 35 U.S.C. 103 as being unpatentable over Said et al. (US 20200322453 A1) hereinafter referred to as Said in view of Thomas et al. (US 20160094622 A1) hereinafter referred to as Thomas.
Said teaches:
Claim 1. A cloud desktop system comprising:
a plurality of available host servers for executing cloud desktops accessible to client devices operated by a plurality of users via a network (Figs. 1-3 and ¶0081 the computing environment in which the method 400 is carried out can be a computer network that is built from a subset of machines available in a data center, where the data center may include other computing environments that may be used for other purposes, such as providing other applications or acting as web servers. In the event that a machine or cluster hosts multiple instances, or has uncommitted resources, to the extent resources can be allocated from one instance to another on the same machine or cluster, or can be set to a committed status for the instance or tenant being added, such resources can be considered available resources of the computing environment.);
a monitoring service coupled to the plurality of available host servers via the network, the monitoring service operable to collect usage data from the host servers or the client devices related to the plurality of users that are provided access to the cloud desktops (¶0066 The system map 340 can include information about computing resources available on various machines, infrastructures, or instances, or used by particular tenants 324 or applications 328. The system map 340 can be updated by the resource monitor 332 to include current resource use levels, which can be used to determine an amount of available resources on a particular infrastructure or instance. The system map 340 can be maintained in a data structure, such as a table, list, graph, heap, tree, array, or other data structure. The system map 340 can be kept in memory, and can also be persisted. The system map 340 and the resource monitor 332 can be accessed by the executor 336. The executor 336 can determine how tenants or applications should be added to the environment 300, such as on which instance a particular tenant or application should be deployed. The executor 336 can also determine if/how a configuration of the environment 300 should be changed based on resource use);
a host allocation engine coupled to the monitoring service and plurality of available host servers, the host allocation engine operable to (¶0067 The system map 340 and the resource monitor 332 can be accessed by the executor 336. The executor 336 can determine how tenants or applications should be added to the environment 300, such as on which instance a particular tenant or application should be deployed. The executor 336 can also determine if/how a configuration of the environment 300 should be changed based on resource use, such as if tenants or applications should be moved within the environment 300, or if resources should be added to, or removed from, particular computing infrastructure. The executor 336 can also be responsible for installing or uninstalling application instances, or for creating or removing database instances. ¶0052 The instances 306, 308 may each be installed on computing infrastructure having one or more machines, and may be the sole instance installed on the infrastructure, or may be one of multiple instances installed on the infrastructure. The CPU resources 316 and memory resources 320 can represent all of such resources available on a particular computing infrastructure, or can represent a portion of such resources that have been allocated to, or made available for use by, a respective instance 306, 308.):
receive a request for a cloud desktop from a client device operated by a new user via the network while a first subset of the plurality of available host servers are executing cloud desktops accessed to the client devices of the plurality of users, wherein at least one of the first subset of the plurality of available host servers has a capability to execute the requested cloud desktop (¶0061 Determining whether any configuration changes should be made based on operational parameters, such as memory use or resource use; Determining how new tenants or tenant data for a new application data should be deployed; Determine when to create or remove database instances or application instances, and in some cases to add computing resources to or remove computing resources from a computing infrastructure; Determining any configuration changes that should be made if tenants or application data is removed from a computing environment ¶0081 the computing environment in which the method 400 is carried out can be a computer network that is built from a subset of machines available in a data center, where the data center may include other computing environments that may be used for other purposes, such as providing other applications or acting as web servers);
determine previous usage data for the new user requesting the cloud desktop from a storage device storing the previous usage data, the previous usage data collected by the monitoring service (¶0066 The system map 340 can include information about computing resources available on various machines, infrastructures, or instances, or used by particular tenants 324 or applications 328. The system map 340 can be updated by the resource monitor 332 to include current resource use levels, which can be used to determine an amount of available resources on a particular infrastructure or instance. The system map 340 can be maintained in a data structure, such as a table, list, graph, heap, tree, array, or other data structure. The system map 340 can be kept in memory, and can also be persisted. The system map 340 and the resource monitor 332 can be accessed by the executor 336. The executor 336 can determine how tenants or applications should be added to the environment 300, such as on which instance a particular tenant or application should be deployed. The executor 336 can also determine if/how a configuration of the environment 300 should be changed based on resource use ¶0029 Deploy all tenants with only cloud-hosted data on infrastructure A, and deploy tenants with local data and cloud-hosted data on infrastructure B. This configuration helps maintain tenants with consistent use patterns on the same infrastructure, which can help optimize scalability, performance, and cost. Mix all tenants on the same infrastructure, which helps optimize cost and simplicity, such as by reducing the number of systems in small data centers. Keep all tenants of one application on the same infrastructure as long as possible);
allocate a new host server from a second subset of the plurality of available host servers to execute a new cloud desktop accessible to the client device, from the plurality of available host servers not in the first subset of the plurality of servers, based on the usage data of the new user and the usage data collected from the plurality of users and deallocate the first subset of host servers from executing the cloud desktops for the plurality of users at a subsequent time period (¶0084 If it was determined at 508 that resources are not available for the new tenant or application, it can be determined at 528 whether existing tenants or applications can be rearranged in the computing environment to create an instance with sufficient resources (e.g., by consulting a system map or computing environment directory). For example, assume a computing environment has first and second machines with identical resources, and each machine has a single tenant using half of the available resources. Assume that a new tenant is to be added that needs 60% of the resources of a machine. At 508, it would be determined that the computing environment does not have sufficient resources to accommodate the tenant. However, at 528 it would be determined that the tenant of the first machine could be relocated to the second machine, which would create sufficient resources for the new tenant on the first machine.).
Although not explicitly taught by Said, Thomas teaches in the analogous art of system for scheduled virtual desktops:
deallocate the first subset of host servers (¶0034 At 220, user data for a first cloud desktop instance for the cloud desktop is automatically saved at the shutdown time, and, at 230, the first cloud desktop instance for the cloud desktop is automatically shut down at the shutdown time. At this time, less computing resources, or no more computing resources, are consumed for the cloud desktop instance. When the cloud desktop instance is shut down, some or all of the computing resources for the cloud desktop instance may be reallocated to other cloud desktop instances or other programs running on the cloud.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the system for scheduled virtual desktops of Thomas with the system for automated cloud computing tenant deployment service of Said for the following reasons:
(1) a finding that there was some teaching, suggestion, or motivation, either in the references themselves or in the knowledge generally available to one of ordinary skill in the art, to modify the reference or to combine reference teachings, e.g. Said ¶0004 teaches that there is room for improvement that exists in managing multitenant database systems;
(2) a finding that there was reasonable expectation of success since the only difference between the claimed invention and the prior art being the lack of actual combination of the elements in a single prior art reference, e.g. Said Abstract teaches techniques and solutions are described for facilitating deploying tenants to, and managing tenants in, a cloud computing environment, and Thomas Abstract teaches shutdown and startup of a virtual desktop instance may be based on rules or logic for an individual or an organization; and
(3) whatever additional findings based on the Graham factual inquiries may be necessary, in view of the facts of the case under consideration, to explain a conclusion of obviousness, e.g. Said at least the above cited paragraphs, and Thomas at least the inclusively cited paragraphs.
Therefore, it would be obvious to one skilled in the art at the time of the invention to combine the system for scheduled virtual desktops of Thomas with the system for automated cloud computing tenant deployment service of Said. The rationale to support a conclusion that the claim would have been obvious is that "a person of ordinary skill in the art would have been motivated to combine the prior art to achieve the claimed invention and whether there would have been a reasonable expectation of success in doing so." DyStar Textilfarben GmbH & Co. Deutschland KG v. C.H. Patrick Co., 464 F.3d 1356, 1360, 80 USPQ2d 1641, 1645 (Fed. Cir. 2006). See MPEP 2143(G).
Said teaches:
Claim 2. The system of claim 1, wherein the usage data for the user is a usage profile belonging to a plurality of usage profiles, wherein at least one of the plurality of usage profiles is associated with each of the plurality of users (¶0069 rule 346c, to deploy tenants based on the application with which the data is associated…or a rule 346e to deploy tenants based on their data use pattern (such as having only cloud-hosted data or a mix of cloud-hosted data and local data) ¶0074 At 416, the amount of resources required to add the tenant or application are estimated or determined. In the event of a tenant to be added, determining the resources for the tenant can include determining an overall amount of memory or processor use required by the tenant, a number and type of applications used by the tenant (including an amount for processor use or memory use for each application), a service level or priority associated with the tenant, and combinations of these factors. In a request to add a tenant, applications to be used by the tenant, resources needed by the tenant, and other deployment criterion can, in some cases, be included as arguments in an API call, such as to the deployment manager 312 of FIG. 3. Determining the resources for a tenant can also include determining characteristics for the tenant, such as whether the tenant has only cloud-hosted data or whether the tenant also uses local data.).
Said teaches:
Claim 3. The system of claim 1, wherein the usage data is a shift defining a work period that the user uses the cloud desktop (¶0074 At 416, the amount of resources required to add the tenant or application are estimated or determined. In the event of a tenant to be added, determining the resources for the tenant can include determining an overall amount of memory or processor use required by the tenant, a number and type of applications used by the tenant (including an amount for processor use or memory use for each application), a service level or priority associated with the tenant, and combinations of these factors. In a request to add a tenant, applications to be used by the tenant, resources needed by the tenant, and other deployment criterion can, in some cases, be included as arguments in an API call, such as to the deployment manager 312 of FIG. 3. Determining the resources for a tenant can also include determining characteristics for the tenant, such as whether the tenant has only cloud-hosted data or whether the tenant also uses local data.).
Although not explicitly taught by Said, Thomas teaches in the analogous art of system for scheduled virtual desktops:
usage data is a shift defining a work period that the user uses the cloud desktop (¶0028 For example, a user may specify the shutdown and startup times as their regular working hours (e.g., a cloud desktop instance is shut down at the end of the work day and a cloud desktop instance is started up at the beginning of the work day). In addition, an administrator associated with the cloud desktop may also specify the shutdown and startup times. Alternatively, times at which to set the shutdown and startup times may be determined. For example, if it is determined that the user doesn't use the cloud desktop in the middle of the night, e.g., from 2:00 AM to 6:00 AM, the shutdown and startup times may be set based on the determination. ¶0029 Further, the determination may be based on rules for the user (e.g., based on geography), or may be based on usage patterns of the user (or a group of users). For example, a usage pattern may be the times at which the user is likely to use their cloud desktop).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the system for scheduled virtual desktops of Thomas with the system for automated cloud computing tenant deployment service of Said for the following reasons:
(1) a finding that there was some teaching, suggestion, or motivation, either in the references themselves or in the knowledge generally available to one of ordinary skill in the art, to modify the reference or to combine reference teachings, e.g. Said ¶0004 teaches that there is room for improvement that exists in managing multitenant database systems;
(2) a finding that there was reasonable expectation of success since the only difference between the claimed invention and the prior art being the lack of actual combination of the elements in a single prior art reference, e.g. Said Abstract teaches techniques and solutions are described for facilitating deploying tenants to, and managing tenants in, a cloud computing environment, and Thomas Abstract teaches shutdown and startup of a virtual desktop instance may be based on rules or logic for an individual or an organization; and
(3) whatever additional findings based on the Graham factual inquiries may be necessary, in view of the facts of the case under consideration, to explain a conclusion of obviousness, e.g. Said at least the above cited paragraphs, and Thomas at least the inclusively cited paragraphs.
Therefore, it would be obvious to one skilled in the art at the time of the invention to combine the system for scheduled virtual desktops of Thomas with the system for automated cloud computing tenant deployment service of Said. The rationale to support a conclusion that the claim would have been obvious is that "a person of ordinary skill in the art would have been motivated to combine the prior art to achieve the claimed invention and whether there would have been a reasonable expectation of success in doing so." DyStar Textilfarben GmbH & Co. Deutschland KG v. C.H. Patrick Co., 464 F.3d 1356, 1360, 80 USPQ2d 1641, 1645 (Fed. Cir. 2006). See MPEP 2143(G).
Said teaches:
Claim 4. The system of claim 1, wherein one of the second subset of host servers of the plurality of host servers is dedicated to the user (¶0081 the computing environment in which the method 400 is carried out can be a computer network that is built from a subset of machines available in a data center, where the data center may include other computing environments that may be used for other purposes, such as providing other applications or acting as web servers. In the event that a machine or cluster hosts multiple instances, or has uncommitted resources, to the extent resources can be allocated from one instance to another on the same machine or cluster, or can be set to a committed status for the instance or tenant being added, such resources can be considered available resources of the computing environment.).
Although not explicitly taught by Said, Thomas teaches in the analogous art of system for scheduled virtual desktops:
Claim 5. The system of claim 1, wherein the usage data include seasonal usage (¶0028 For example, a user may specify the shutdown and startup times as their regular working hours (e.g., a cloud desktop instance is shut down at the end of the work day and a cloud desktop instance is started up at the beginning of the work day). In addition, an administrator associated with the cloud desktop may also specify the shutdown and startup times. Alternatively, times at which to set the shutdown and startup times may be determined. For example, if it is determined that the user doesn't use the cloud desktop in the middle of the night, e.g., from 2:00 AM to 6:00 AM, the shutdown and startup times may be set based on the determination. ¶0033 The shutdown and startup times may be determined by the location of the user. For example, the shutdown and startup times may be determined according to a user's location as indicated by a satellite positioning system (e.g., Global Positioning System (GPS)) or other positioning system. As the user approaches a user device running a cloud desktop client application (e.g., as part of a commute or other type of travel), the startup time may be set so that a cloud desktop instance is running when the user reaches the user device. In addition, any other means of determining shut down and start up time for a desktop instance may be used to set the shutdown and startup times.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the system for scheduled virtual desktops of Thomas with the system for automated cloud computing tenant deployment service of Said for the following reasons:
(1) a finding that there was some teaching, suggestion, or motivation, either in the references themselves or in the knowledge generally available to one of ordinary skill in the art, to modify the reference or to combine reference teachings, e.g. Said ¶0004 teaches that there is room for improvement that exists in managing multitenant database systems;
(2) a finding that there was reasonable expectation of success since the only difference between the claimed invention and the prior art being the lack of actual combination of the elements in a single prior art reference, e.g. Said Abstract teaches techniques and solutions are described for facilitating deploying tenants to, and managing tenants in, a cloud computing environment, and Thomas Abstract teaches shutdown and startup of a virtual desktop instance may be based on rules or logic for an individual or an organization; and
(3) whatever additional findings based on the Graham factual inquiries may be necessary, in view of the facts of the case under consideration, to explain a conclusion of obviousness, e.g. Said at least the above cited paragraphs, and Thomas at least the inclusively cited paragraphs.
Therefore, it would be obvious to one skilled in the art at the time of the invention to combine the system for scheduled virtual desktops of Thomas with the system for automated cloud computing tenant deployment service of Said. The rationale to support a conclusion that the claim would have been obvious is that "a person of ordinary skill in the art would have been motivated to combine the prior art to achieve the claimed invention and whether there would have been a reasonable expectation of success in doing so." DyStar Textilfarben GmbH & Co. Deutschland KG v. C.H. Patrick Co., 464 F.3d 1356, 1360, 80 USPQ2d 1641, 1645 (Fed. Cir. 2006). See MPEP 2143(G).
Said teaches:
Claim 6. The system of claim 1, wherein the usage data include the role of the user (¶0069 rule 346c, to deploy tenants based on the application with which the data is associated…or a rule 346e to deploy tenants based on their data use pattern (such as having only cloud-hosted data or a mix of cloud-hosted data and local data) ¶0074 At 416, the amount of resources required to add the tenant or application are estimated or determined. In the event of a tenant to be added, determining the resources for the tenant can include determining an overall amount of memory or processor use required by the tenant, a number and type of applications used by the tenant (including an amount for processor use or memory use for each application), a service level or priority associated with the tenant, and combinations of these factors. In a request to add a tenant, applications to be used by the tenant, resources needed by the tenant, and other deployment criterion can, in some cases, be included as arguments in an API call, such as to the deployment manager 312 of FIG. 3. Determining the resources for a tenant can also include determining characteristics for the tenant, such as whether the tenant has only cloud-hosted data or whether the tenant also uses local data.).
Said teaches:
Claim 7. The system of claim 1, wherein the plurality of users is classified as part of a shift with other users and the new user is part of another shift (¶0035 The deployment service can also determine how additional tenants should be deployed into a cloud computing environment, or how the cloud computing environment should be adapted to account for new applications accessed by an existing tenant. Similarly, the deployment service can determine if the configuration of the cloud computing environment should be changed based on changes in use over time, such as a particular tenant requiring a larger amount of data, which may exceed the resources of a particular database instance, or a particular tenant reducing an amount of data for a particular application. When a configuration is changed, the change can be based at least in part on attempting to keep data for all applications used by a tenant on a common database instance. ¶0009 In another aspect, in another disclosed method for deploying a tenant to an infrastructure of a cloud computing environment, a request is received to add a first tenant to the cloud computing environment. The request specifies a first plurality of cloud-based software applications to be used by the first tenant. A request is sent to a tenant deployment service to determine a computing infrastructure on which the first tenant should be deployed. At least a first cloud-based software application and at least a second cloud-based software application are identified whose data for the first tenant is designated to be maintained on a common computing infrastructure of the plurality of computing infrastructures.).
Said teaches:
Claim 8. The system of claim 7, wherein a user classified as part of a shift may be dynamically associated with another shift (¶0009 In another aspect, in another disclosed method for deploying a tenant to an infrastructure of a cloud computing environment, a request is received to add a first tenant to the cloud computing environment. The request specifies a first plurality of cloud-based software applications to be used by the first tenant. A request is sent to a tenant deployment service to determine a computing infrastructure on which the first tenant should be deployed. At least a first cloud-based software application and at least a second cloud-based software application are identified whose data for the first tenant is designated to be maintained on a common computing infrastructure of the plurality of computing infrastructures. ¶0035 The deployment service can also determine how additional tenants should be deployed into a cloud computing environment, or how the cloud computing environment should be adapted to account for new applications accessed by an existing tenant. Similarly, the deployment service can determine if the configuration of the cloud computing environment should be changed based on changes in use over time, such as a particular tenant requiring a larger amount of data, which may exceed the resources of a particular database instance, or a particular tenant reducing an amount of data for a particular application. When a configuration is changed, the change can be based at least in part on attempting to keep data for all applications used by a tenant on a common database instance.).
Said teaches:
Claim 9. The system of claim 1, wherein the plurality of available servers include at least one idle server and at least one active server providing cloud desktops, wherein the allocation of servers is based on minimizing the number of active servers of the plurality of servers (¶0094 Moving tenants may also be used to consolidate tenants, which can be used to reduce the number of active instances or instances of a particular application, which can reduce, for example, maintenance and update efforts. The identified tenant (or application) is moved at 660. At 664, it is determined whether the instance is empty (e.g., no tenants are deployed to the instance). If the instance is empty, it can be removed at 668. At 672, if the machine on which the instance was hosted is empty, it can be released for other uses at 676, and then the method 400 can return to 408 of FIG. 4 at 680. If the instance is determined at 664 not to be empty, or the machine (or cluster) is determined not to be empty at 672, the method 400 can return to 408 of FIG. 4 at 680. ¶0069 rule 346d, to deploy tenants and applications so as to minimize the number of machines or instances that are instantiated).
As per claims 10-18 and 19, the method and non-transitory computer-readable medium tracks the system of claims 1-9 and 1, respectively, resulting in substantially similar limitations. The same cited prior art and rationale of claims 1-9 and 1 are applied to claims 10-18 and 19, respectively. Thomas discloses that the embodiment may be found as a non-transitory computer-readable medium (Fig. 1 and ¶0113).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KURTIS GILLS whose telephone number is (571)270-3315. The examiner can normally be reached on M-F 8-5 PM.
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, Jerry O’Connor can be reached on 5712726787. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/KURTIS GILLS/Primary Examiner, Art Unit 3624