DETAILED ACTION
Claims 1-20 are examined and pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 2, 4-9, 11-15, 18-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Flaherty et al. (U.S. 10,154,091 B1, hereinafter “Flaherty”).
As to claims 1, 8, 15, Flaherty discloses a method, comprising:
obtaining, by a software deployment server system, application data (col. 14, lines 25-40, wherein infrastructure units needed for deployment are detected, );
determining, by the software deployment server system, at least one feature in the application data (col. 14, lines 25-45, wherein infrastructure units are detected that include identifying the type of infrastructure unit and the characteristic of the unit (e.g. capacity, performance, or other characteristics indicative of computing resource hosting );
calculating, by the software deployment server system, at least one deployment score based on the at least one feature (col. 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options);
determining, by the software deployment server system, a deployment strategy based on the at least one deployment score, wherein the deployment strategy comprises rearchitechting when the at least deployment score is below the scoring threshold for the application data (col. 14, lines 62—col. 15, lines 20, wherein possible deployments scoring highest are selected for optimizing functionality to be deployed, including a deployment strategy selected based on deployment priorities); and
deploying, by the software deployment server system, to a distributed computing system, and based on the deployment strategy, the application data (col. 15, lines 15-25; discloses deployment of the infrastructure units based on the optimizing function that is specified), wherein the distributed computing system provides a computing environment capable of executing a software application generated based on the application data (column 15, lines 20-67; discloses deployments are directed to particular infrastructure unit and location for deployment and based on the resource hosting constraints ).
As to claim 2, Flaherty discloses the method of claim 1, further comprising: selecting, by the software deployment server system, a feature in the at least one feature based on the deployment score associated with the feature; and modifying, by the software deployment server system, the feature (column 14, lines 62-column 15, line 5; discloses possible deployments that optimize or increase capacity for hosting computing resources within the resource hosting constraints, may be determined. For example, those possible deployments with the highest scores or other metrics of resource hosting capacity may be selected in order to optimize or increase the capacity for hosting resources. Different optimizing functions may be implemented to identify desirable capacity scenarios. ).
As to claim 4, Flaherty discloses the method of claim 2, further comprising: generating, by the software deployment server system and based on the modified feature, a software application; and including, by the software deployment server system, the software application in the application data deployed to the distributed computing system (column 14, lines 52-61; discloses an analysis may be performed on prospective deployments with respect to different performance metrics of the infrastructure unit's capacity to host computing resources in order to be able to optimize or increase the resource hosting capacity. For example, storage capacity, workload, IOPs, number of resources that may be hosted, location diversity, and software may be evaluated for the infrastructure units with respect to different deployment locations.).
As to claim 5, Flaherty discloses the method of claim 1, wherein the distributed computing system comprises a set of geographically distributed processing nodes (column 14, lines 52-61; discloses infrastructure units that comprises number of resources that they may be hosted and location diversity with respect to different deployment locations) .
As to claim 6, Flaherty discloses the method of claim 5, wherein the computing environment is created on at least two processing nodes in distinct geographic regions (column 14, lines 33-36; discloses once the infrastructure unit(s) for deployment are detected , possible deployments for the infrastructure units with respect to current infrastructure units deployed in different infrastructure localities may be evaluated with respect to resource hosting constraints. ).
As to claim 7, Flaherty discloses the method of claim 1, further comprising: determining, by the software deployment server system, strategy data by analyzing the application data (column 14, lines 62—column 15, line 20; discloses possible deployments scoring highest are selected for optimizing functionality to be deployed, including a deployment strategy selected based on deployment priorities), wherein the strategy data indicates at least one function present in the at least one feature (column 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options);
obtaining, by the software deployment server system, deployment strategy factors, wherein the deployment strategy factors comprise at least one requirement for the at least one function present in the at least one feature (column 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options); and
calculating, by the software deployment server system, the deployment score based on the strategy data and the deployment strategy factors (column 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options).
As to claim 9, Flaherty discloses the computing device of claim 8, wherein the instructions that, when executed by the one or more processors, further cause the computing device to: select a feature in the at least one feature based on the deployment score associated with the feature; and modify the feature (column 14, lines 62-column 15, line 5; discloses possible deployments that optimize or increase capacity for hosting computing resources within the resource hosting constraints, may be determined. For example, those possible deployments with the highest scores or other metrics of resource hosting capacity may be selected in order to optimize or increase the capacity for hosting resources. Different optimizing functions may be implemented to identify desirable capacity scenarios. ).
As to claim 11, Flaherty discloses the computing device of claim 9, wherein the instructions that, when executed by the one or more processors, further cause the computing device to: generate, based on the modified feature, a software application; and include the software application in the application data deployed to the distributed computing system (column 14, lines 52-61; discloses an analysis may be performed on prospective deployments with respect to different performance metrics of the infrastructure unit's capacity to host computing resources in order to be able to optimize or increase the resource hosting capacity. For example, storage capacity, workload, IOPs, number of resources that may be hosted, location diversity, and software may be evaluated for the infrastructure units with respect to different deployment locations.).
As to claim 12, Flaherty discloses the computing device of claim 8, wherein the distributed computing system comprises a set of geographically distributed processing nodes (column 14, lines 52-61; discloses infrastructure units that comprises number of resources that they may be hosted and location diversity with respect to different deployment locations) .
As to claim 13, Flaherty discloses the computing device of claim 12, wherein the computing environment is created on at least two processing nodes in distinct geographic regions(column 14, lines 33-36; discloses once the infrastructure unit(s) for deployment are detected , possible deployments for the infrastructure units with respect to current infrastructure units deployed in different infrastructure localities may be evaluated with respect to resource hosting constraints. ).
As to claim 14, Flaherty discloses the computing device of claim 8, wherein the instructions that, when executed by the one or more processors, further cause the computing device to: determine strategy data by analyzing the application data (column 14, lines 62—column 15, line 20; discloses possible deployments scoring highest are selected for optimizing functionality to be deployed, including a deployment strategy selected based on deployment priorities), wherein the strategy data indicates at least one function present in the at least one feature (column 14, lines 62—column 15, line 20; discloses possible deployments scoring highest are selected for optimizing functionality to be deployed, including a deployment strategy selected based on deployment priorities); obtain deployment strategy factors, wherein the deployment strategy factors comprise at least one requirement for the at least one function present in the at least one feature (column 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options); and calculate the deployment score based on the strategy data and the deployment strategy factors (column 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options).
As to claim 18, Flaherty discloses the non-transitory machine-readable medium of claim 16, wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform steps comprising: generating, based on the modified feature, a software application; and including the software application in the application data deployed to the distributed computing system (column 14, lines 52-61; discloses an analysis may be performed on prospective deployments with respect to different performance metrics of the infrastructure unit's capacity to host computing resources in order to be able to optimize or increase the resource hosting capacity. For example, storage capacity, workload, IOPs, number of resources that may be hosted, location diversity, and software may be evaluated for the infrastructure units with respect to different deployment locations.).
As to claim 19, Flaherty discloses the non-transitory machine-readable medium of claim 15, wherein: the distributed computing system comprises a set of geographically distributed processing nodes; and the computing environment is provided by at least one processing node in the set of geographically distributed processing nodes (column 14, lines 52-61; discloses infrastructure units that comprises number of resources that they may be hosted and location diversity with respect to different deployment locations) .
As to claim 20, Flaherty discloses the non-transitory machine-readable medium of claim 15, wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform steps comprising: determine strategy data by analyzing the application data (column 14, lines 62—column 15, line 20; discloses possible deployments scoring highest are selected for optimizing functionality to be deployed, including a deployment strategy selected based on deployment priorities), wherein the strategy data indicates at least one function present in the at least one feature (column 14, lines 62—column 15, line 20; discloses possible deployments scoring highest are selected for optimizing functionality to be deployed, including a deployment strategy selected based on deployment priorities); obtain deployment strategy factors, wherein the deployment strategy factors comprise at least one requirement for the at least one function present in the at least one feature (column 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options); and calculate the deployment score based on the strategy data and the deployment strategy factors (column 14, lines 32-61; discloses infrastructure units detected as needed for deployment are analyzed to determine appropriate resources necessary for the functionality to be deployed, in calculating deployment scores for different possible deployment options).
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 3, 10 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Flaherty in view of Mukherjee et al. (U.S. 2019/0235850 A1, hereinafter “Mukherjee”).
As to claims 3, 10 and 17, Flaherty discloses the method of claim 2, however Flaherty does not disclose the method wherein: the application data comprises source code; and modifying the feature comprises transmitting, by the software deployment server system and to a client device, a set of recommended modifications to facilitate the modification of the source code by the client device.
In an analogous art, Mukherjee discloses the method wherein: the application data comprises source code; and modifying the feature comprises transmitting, by the software deployment server system and to a client device (para.[0041]; discloses source code deliverables are packaged and provided to client devices to install software modifications, including distinguishing between what is for a bug fix and what is a feature upgrade), a set of recommended modifications to facilitate the modification of the source code by the client device (para.[0039], discloses the source code that is packaged into a software package to deploy to client devices is not compiled as part of the software packaging process, but rather the software package includes source code deliverables in uncompiled state, whereby client devices then locally compile the source code deliverables once received).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Flaherty by incorporating source code into a software package compiled as taught by Burkhardt in order to enable client devices to obtain and install software modifications dynamically on an individual basis (Mukherjee, para.[0039],[0041]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Mowatt et al. (U.S. 11074058 B1) discloses the deployment system includes a deployment system engine (server-side and client-side) that processes deployment profiles of deployment computing objects (e.g., user, client, organization, cloud-provider, and scoring models) to implement and revise the integrated deployment strategy that includes selectively deploying and removing deployment packages to clients. The deployment profiles specifically includes scores (e.g., early adopter score, fit score, relationship score, usage propensity score, deployment-specific usage propensity score, diversity score) based on a scoring models that analyze application usage data and deployment data.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOE CHACKO whose telephone number is (571)270-3318. The examiner can normally be reached Monday-Friday 7am-5pm.
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, Ario Etienne can be reached at 5712724001. 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.
/JOE CHACKO/Primary Examiner, Art Unit 2457