Prosecution Insights
Last updated: April 19, 2026
Application No. 18/371,762

FUNCTIONS AS A SERVICE

Non-Final OA §101§103
Filed
Sep 22, 2023
Examiner
LEE, ADAM
Art Unit
2198
Tech Center
2100 — Computer Architecture & Software
Assignee
VMware, Inc.
OA Round
1 (Non-Final)
85%
Grant Probability
Favorable
1-2
OA Rounds
3y 2m
To Grant
99%
With Interview

Examiner Intelligence

Grants 85% — above average
85%
Career Allow Rate
575 granted / 680 resolved
+29.6% vs TC avg
Strong +59% interview lift
Without
With
+58.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
41 currently pending
Career history
721
Total Applications
across all art units

Statute-Specific Performance

§101
24.8%
-15.2% vs TC avg
§103
40.1%
+0.1% vs TC avg
§102
14.4%
-25.6% vs TC avg
§112
15.0%
-25.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 680 resolved cases

Office Action

§101 §103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . DETAILED ACTION Claims 1-20 are pending. Examiner Notes Examiner cites particular paragraphs and/or columns and lines in the references as applied to Applicant’s claims for the convenience of the Applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the Applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. The prompt development of a clear issue requires that the replies of the Applicant meet the objections to and rejections of the claims. Applicant should also specifically point out the support for any amendments made to the disclosure. See MPEP § 2163.06. 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. Authorization for Internet Communications in a Patent Application Applicant is encouraged to file an Authorization for Internet Communications in a Patent Application form (http://www.uspto.gov/sites/default/files/documents/sb0439.pdf) along with the response to this office action to facilitate and expedite future communication between Applicant and the examiner. If the form is submitted then Applicant is requested to provide a contact email address in the signature block at the conclusion of the official reply. Specification Objections The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed. Appropriate correction is required. Claim Objections As per claim 12, it is objected to because in ll. 2, “plurality of programming language” should be “plurality of programming languages”. Appropriate correction is required. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (an abstract idea) without significantly more. Step 1: The claim is a process, machine, manufacture, or composition of matter: Claim 1. A method of providing a functions as a service (FaaS), the method comprising. Step 2A Prong One: The claim recites an abstract idea because it includes limitations that can be considered mental processes (concepts performed in the human mind including an observation, evaluation, judgment, and/or opinion). If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind or via pen and paper, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea: selecting, from a plurality of cloud providers, a particular cloud provider for executing the particular function (abstract idea mental process). Step 2A Prong Two: The abstract idea is not integrated into a practical application because the abstract idea is recited but for generically recited additional computer elements (i.e. data storage, processor, memory, computer readable medium, etc.) which do not add meaningful limitations to the abstract idea amounting to simply implementing the abstract idea on a generic computer using generic computing hardware and/or software (e.g. generally linking the use of the judicial exception to a particular technological environment or field of use (see MPEP 2106.05(h)). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The generic computing components are recited at a high-level of generality such that they amount to no more than mere instructions to apply the exception using the recited generic computer components. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea: at a FaaS framework executing in a first cloud (generic computing components): receiving a first API (Application Programming Interface) call invoking a particular function that is stored by for the FaaS framework (generic computing components performing extra-solution activity of receiving data/information); sending executable code for the particular function in a format compatible with the selected particular cloud provider to the particular cloud provider to use to instantiate and execute the particular function (generic computing components performing extra-solution activity of sending/transmitting data/information). Step 2B: The claim includes limitations which can be considered extra-solution activity (see MPEP 2106.05(g)) insufficient to amount to significantly more than the abstract idea because the additional limitations only perform at least one of collecting, gathering, displaying, generating, modifying, updating, storing, retrieving, sending, and receiving data/information data which are well-understood, routine, conventional computer functions as recognized by the court decisions listed in MPEP § 2106.05(d)II. The claim further includes limitations that do not integrate the judicial exception into a practical application because they merely recite the words "apply it" (or an equivalent) with the judicial exception, or merely including instructions to implement an abstract idea on a computer, or merely using a computer as a tool to perform an abstract idea, as discussed in MPEP § 2106.05(f). Therefore, the claim, and its limitations when considered separately and in combination, is directed to patent ineligible subject matter: at a FaaS framework executing in a first cloud: receiving a first API (Application Programming Interface) call invoking a particular function that is stored by for the FaaS framework (extra-solution activity of receiving data/information); sending executable code for the particular function in a format compatible with the selected particular cloud provider to the particular cloud provider to use to instantiate and execute the particular function (extra-solution activity of sending/transmitting data/information). Claim 2. The method of claim 1 further comprising: receiving, from the particular cloud provider, a result of a desired operation of the particular function; and providing the result to a source of the first API call (extra-solution activity of receiving data/information). Claim 3. The method of claim 2, wherein after the particular cloud provider provides the result to the FaaS framework, the particular cloud provider discards the particular function (extra-solution activity of modifying/updating data/information). Claim 4. The method of claim 1, wherein the executable code is written in a particular programming language, wherein identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider that supports the particular programming language (abstract idea mental process). Claim 5. The method of claim 4, wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider associated with a lowest cost for executing the particular function (abstract idea mental process). Claim 6. The method of claim 4, wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider associated with a best set of performance metrics (abstract idea mental process). Claim 7. The method of claim 4, wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider having a most geographically proximate cloud with respect to the first machine (abstract idea mental process). Claim 8. The method of claim 4, wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises randomly selecting a cloud provider from the at least two different cloud providers (abstract idea mental process). Claim 9. The method of claim 4, wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises using a set of user-defined selection rules (abstract idea mental process). Claim 10. The method of claim 1, wherein the particular function is a first function in a plurality of functions stored by the FaaS framework, wherein to invoke the first function, the first API call comprises (i) a name of the first function, (ii) a particular programming language to be used at runtime of the first function, and (iii) a set of input values for the first function (extra-solution activity of receiving data/information). Claim 11. The method of claim 10, wherein sending executable code for the first function in the format compatible with the selected particular cloud provider comprises sending to the particular cloud provider a second API call comprising (i) the set of executable code in the particular programming language, (ii) the set of input values, and (iii) a set of credentials that allow the FaaS framework to access the particular cloud provider (extra-solution activity of sending/transmitting data/information). Claim 12. The method of claim 10, wherein the particular programming language is a first programming language in a plurality of programming language in which the plurality of functions stored by the FaaS framework are written (extra-solution activity of receiving data/information), the method further comprising: at the FaaS framework (generic computing components): receiving a third API call invoking a second function that is stored by the FaaS framework, the third API call comprising (i) a name of the second function, (ii) a second programming language to be used at runtime of the second function, and (iii) a set of input values for the second function (extra-solution activity of receiving data/information); selecting, from the plurality of cloud providers, a second cloud provider for executing the second function (abstract idea mental process); and sending a fourth API call in a format compatible with the selected second cloud provider to the selected second cloud provider to use to instantiate and execute the second function, wherein the fourth API call comprises (i) a set of executable code for the second function in the particular programming language, (ii) the set of input values for the second function, and (iii) a second set of credentials that allow the FaaS framework to access the second cloud provider (extra-solution activity of sending/transmitting data/information). Claim 13. The method of claim 10, wherein the plurality of functions stored by the FaaS framework comprises a plurality of user-defined functions provided to the FaaS framework as part of a configuration of the FaaS framework (extra-solution activity of receiving and storing data/information). As per claim 14, it has similar limitations as claim 1 and is therefore rejected using the same rationale. As per claim 15, it has similar limitations as claims 2 and 3 and is therefore rejected using the same rationale. As per claim 16, it has similar limitations as claim 4 and is therefore rejected using the same rationale. As per claim 17, it has similar limitations as claim 5 and is therefore rejected using the same rationale. As per claim 18, it has similar limitations as claim 6 and is therefore rejected using the same rationale. As per claim 19, it has similar limitations as claim 7 and is therefore rejected using the same rationale. As per claim 20, it has similar limitations as claim 8 and is therefore rejected using the same rationale. 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 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Doan et al. (US 2024/0414071) (hereinafter Doan) in view of Russell et al. (US 2022/0091860) (hereinafter Russell) in view of Raghunath et al. (US 2022/0166455) (hereinafter Raghunath). As per claim 1, Doan primarily teaches the invention as claimed including a method of providing a functions as a service (FaaS) ([0037] Function as a Service or FaaS), the method comprising: at a FaaS framework executing in a first cloud (FaaS) ([0037] serverless functions are often dynamically invoked and could be deployed across multiple cloud providers e.g., in the form of Function as a Service or FaaS): selecting, from a plurality of cloud providers, a particular cloud provider for executing the particular function ([0042] a decision engine or other deployment logic may leverage various algorithms selectable by the user for determining which provider, cloud region, and datacenter may be chosen to execute serverless functions); and sending executable code for the particular function to the particular cloud provider to use execute the particular function ([0066] a decision engine or type of deployment logic can be used to make a decision on which cloud-based service provider is most suitable to receive the serverless function and [0042] a decision engine or other deployment logic may leverage various algorithms selectable by the user for determining which provider, cloud region, and datacenter may be chosen to execute serverless functions). Doan does not explicitly teach: receiving a first API (Application Programming Interface) call invoking a particular function that is stored by for the FaaS framework; and executable code for the particular function in a format compatible with the selected particular cloud provider to the particular cloud provider to use to instantiate the particular function. However, Russell teaches executable code for the particular function in a format compatible with the selected particular cloud provider ([0045] generate code packages that are compatible/interoperable with different cloud computing platforms). Russell and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell because it would provide a way to eliminate the need to reformat third-party data to meet constraints of cloud computing platforms while also eliminating the need to create user interfaces to represent data from scratch on the cloud computing platforms. This would result in a less time-consuming approach which is less prone to error and save considerable time and effort that would otherwise be required. Doan in view of Russell does not explicitly teach: receiving a first API (Application Programming Interface) call invoking a particular function that is stored by for the FaaS framework; and executable code for the particular function to instantiate the particular function. However, Raghunath teaches: receiving a first API (Application Programming Interface) call invoking a particular function that is stored by for the FaaS framework ([0169] function code invokes relevant API calls to services to read or write data and FaaS is a type of cloud computing service where users can register a function written by the function owner in a supported programming language and an event trigger indicating when the function should be invoked); and executable code for the particular function to instantiate the particular function ([0178] gateway may act as an orchestrator to instantiate, schedule, or configure a function to execute at a particular server with certain configuration parameters). Raghunath and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath because it would provide for a FaaS container which may be placed at a node in a storage cluster to reduce much of the communication overhead. This would result in advantages by implementing intent-based orchestration with storage access intents. The system maintains generic function implementations, which enables scale out, but creates more efficient data transfers. The system also reduces the need to move data back and forth between storage services and FaaS functions, thereby reducing network bandwidth consumption. The system also abstracts away numerous possible computational storage implementation specific details from end user application and reduces programming burden for applications. As per claim 14, it has similar limitations as claim 1 and is therefore rejected using the same rationale. Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Johnson et al. (US 12,093,669) (hereinafter Johnson). As per claim 2, Doan in view of Russell in view of Raghunath do not explicitly teach receiving, from the particular cloud provider, a result of a desired operation of the particular function; and providing the result to a source of the first API call. However, Johnson teaches receiving, from the particular cloud provider, a result of a desired operation of the particular function (col. 7, ll. 4-8 execute code and return a result from cloud provider); and providing the result to a source of the first API call (col. 6, ll. 3-20 API call interface for sending requests and receiving responses). Johnson and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Johnson because it would provide a way for improving compilation performance, refining price-to-performance ratios, and making various provider network services more attractive to developers. Data aggregated during compilation may be used to help inform developers about useful option combinations, which allows those combinations to be used more thoroughly. This could achieve a speed-up in compilation time by compiling a computing application in parallel without being limited by a number of processing cores or other hardware constraints. Further, the compiler application may collect usage data anonymously for developers that opt-in thorough submitted source code and command-line options, which is aggregated from different customers that build the same application. Developers may use a special compiler option to query the most frequently used compiler options for a given source file, which may reveal previously unknown optimizations. As such, the workload on a computing environment is reduced to pre-processing the source files, which a relatively fast procedure. Claims 3 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Johnson in view of Zhang et al. (US 2022/0214908) (hereinafter Zhang). As per claim 3, Doan in view of Russell in view of Raghunath in view of Johnson do not explicitly teach wherein after the particular cloud provider provides the result to the FaaS framework, the particular cloud provider discards the particular function. However, Zhang teaches wherein after the particular cloud provider provides the result to the FaaS framework, the particular cloud provider discards the particular function ([0011] the function within the microVM can be deleted after the function completes execution). Zhang and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Johnson in view of Zhang because it would provide a way to reduce cold start time of a serverless function by starting a new function instance from its memory snapshot and primary code segments as well as performing, in parallel, a memory snapshot cloning operation and the primary code segments retrieving operation. Parallelizing execution of these operations can reduce the function cold start latency. A size of the memory snapshot and the primary code segments added together can be much smaller than a size of the original function code package, thereby reducing data retrieval and access times. Cloning a function language runtime environment from a memory snapshot can be faster than creating the function language runtime environment from an original function code package. As per claim 15, it has similar limitations as claims 2 and 3 and is therefore rejected using the same rationale. Claims 4 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Thum et al. (US 2021/0194971) (hereinafter Thum). As per claim 4, Doan in view of Russell in view of Raghunath do not explicitly teach wherein the executable code is written in a particular programming language, wherein identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider that supports the particular programming language. However, Thum teaches wherein the executable code is written in a particular programming language, wherein identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider that supports the particular programming language ([0110] the FaaS cloud may support various programming languages and invokes a corresponding function template which can be pre-configured in the FaaS cloud and identified by the invocation communication initiated by a trigger, and the payload can then be used in the function as executed by the FaaS cloud in function execution and in any further processing and referencing). Thum and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Thum because it would provide for serverless computing in a cloud computing execution model in which a cloud provider runs a server, while a user of the cloud provider operates without a server managed by the user e.g., the user is serverless by relying on servers of a cloud provider. This allows dynamic management of machine resources from the cloud provider for improved serverless operations for two-way communication systems by combining event management and serverless code templates in a dynamically managed FaaS platform that can be accessed to improve real-time automation and machine assistance for agents in a two-way communication session. Additionally, unlike a SaaS platform that is explicitly based on calling a uniform resource locator (URL) over a wide area network (WAN) such as the Internet, the resulting system can allow flexible invocation that can correspond to an event in a two-way communication session, improving the operation of devices and networks in a two-way communication system. As per claim 16, it has similar limitations as claim 4 and is therefore rejected using the same rationale. Claims 5 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Thum in view of Naveh et al. (US 2023/0032530) (hereinafter Naveh). As per claim 5, Doan in view of Russell in view of Raghunath in view of Thum do not explicitly teach wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider associated with a lowest cost for executing the particular function. However, Naveh teaches wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider associated with a lowest cost for executing the particular function ([0059] select a cloud computer for performing an execution task that optimizes a cost function and minimizes an incurred cost and [0135] a cloud computer that scores a best score e.g., a lowest cost may be selected for executing a program). Naveh and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Thum in view of Naveh because it would provide a software tool to receive indications of available cloud computers, and an objective function defining weights, costs, or user preferences that are defined with respect to one or more performance parameters e.g., weights of a cost, an execution time, an error rate, or the like. The tool may be configured to decide, according to the disclosed solution, where to execute an execution task in a manner that optimizes the objective function. In some cases, the decision, or a list of cloud computers with their respective scores from the objective function, may be indicated to the users, enabling the user to decide how to handle the execution task in an informed manner and in a user friendly manner. In other cases, the tool may automatically execute the execution task on the best scoring cloud computer. As per claim 17, it has similar limitations as claim 5 and is therefore rejected using the same rationale. Claims 6 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Thum in view of Diwakar (US 2013/0132457). As per claim 6, Doan in view of Russell in view of Raghunath in view of Thum do not explicitly teach wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider associated with a best set of performance metrics. However, Dwakar teaches wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider associated with a best set of performance metrics (claim 10 the second cloud computing service provider is determined by the cloud governance module to be selected based upon satisfying optimum performance metric conditions required for the execution of the at least one identified application). Dwakar and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Thum in view of Dwakar because it would provide for a cloud governance module that can select cloud vendors that offer storage space at a lower cost while under the same compliance with policies as the prior cloud vendors or upon satisfying optimum performance metrics related to compliance with policies. The new selected cloud vendor may meet threshold performance metrics of being the most optimum cost effective cloud vendor with respect to the identified executing application. The cloud governance module can search for cloud vendors having resources that are acceptable according to the policies associated with applications/services. Such resources may be continuously searched, they may be searched at periodic time intervals, or at random instances of time on an "as-needed" basis. The cloud governance module may utilize policy module for searching for such resources. For example, cloud governance module may search for better resources in terms of cost of operation, security strength, support platform type, resource utilization, and/or other parameters useful for executing product in the best or optimum manner. As per claim 18, it has similar limitations as claim 6 and is therefore rejected using the same rationale. Claims 7 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Thum in view of Spiers et al. (US 2013/0339949) (hereinafter Spiers). As per claim 7, Doan in view of Russell in view of Raghunath in view of Thum do not explicitly teach wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider having a most geographically proximate cloud with respect to the first machine. However, Spiers teaches wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises identifying a cloud provider having a most geographically proximate cloud with respect to the first machine ([0039] provisioning system may select a geographically closest cloud provider data center to provision a VM to reduce the amount of time required to communicate data between the tenant data center and cloud provider data center). Spiers and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Thum in view of Spiers because it would provide a way for cloud provider data centers to be placed in different geographic locations and include hardware optimized for performing certain computational tasks. For instance, cloud provider data center may be located in a first location and may include hardware optimized for performing software development tasks, and another cloud provider data center may be located in a different location and may include hardware optimized for performing product development tasks. Performance of some tasks may be time sensitive, and hence provisioning system may select a geographically closest cloud provider data center to provision a VM to reduce the amount of time required to communicate data between the tenant data center and cloud provider data center. The provisioning system may also balance network delay and hardware optimization when determining which cloud provider data center to select. As per claim 19, it has similar limitations as claim 7 and is therefore rejected using the same rationale. Claims 8-9 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Thum in view of Seago et al. (US 2014/0173112) (hereinafter Seago). As per claim 8, Doan in view of Russell in view of Raghunath in view of Thum do not explicitly teach wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises randomly selecting a cloud provider from the at least two different cloud providers. However, Seago teaches wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises randomly selecting a cloud provider from the at least two different cloud providers ([0052] the selection server randomly selects a cloud provider based on the selection policy). Seago and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Thum in view of Seago because it would provide a server computer system which receives a request to launch a deployment and determines a set of matches from a pool of cloud providers that meets minimum requirements for the deployment. The server computer identifies a selection criteria comprising priority ranking criteria and probability ranking criteria for the deployment. The server computer then determines one of the cloud providers for the deployment from the set of matches based on the priority ranking criteria and the probability ranking criteria. As per claim 9, Doan in view of Russell in view of Raghunath in view of Thum do not explicitly teach wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises using a set of user-defined selection rules. However, Seago teaches wherein when at least two different cloud providers support the particular programming language, identifying the particular cloud provider for executing the particular function comprises using a set of user-defined selection rules ([0027] the selection server uses a selection policy defined by an administrator or user to use for selecting a cloud provider for launch of a deployment and [0052] the selection server randomly selects a cloud provider based on the selection policy). Seago and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Thum in view of Seago because it would provide a way of selecting the cloud provider with the highest priority ranking or the best match via a pluggable infrastructure which supports a user selection of one or more selection policy modules that may be combined to create a custom selection policy for implementation by the selection server. For example, the user may select one or more particular selection policy modules for the priority ranking criteria and one or more particular selection policy modules for the probability ranking criteria. The selection policy modules allow the user to specify parameters such as cost, performance, reliability, internal versus external cloud provider, provider type, provider capacity, and/or date/time of deployment. As per claim 20, it has similar limitations as claim 8 and is therefore rejected using the same rationale. Claims 10-12 are rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Brandwine et al. (US 11,341,179) (hereinafter Brandwine). As per claim 10, Doan in view of Russell in view of Raghunath do not explicitly teach wherein the particular function is a first function in a plurality of functions stored by the FaaS framework, wherein to invoke the first function, the first API call comprises (i) a name of the first function, (ii) a particular programming language to be used at runtime of the first function, and (iii) a set of input values for the first function. However, Brandwine teaches wherein the particular function is a first function in a plurality of functions stored by the FaaS framework, wherein to invoke the first function, the first API call comprises (i) a name of the first function (col. 12, ll. 14-38 API calls include the name of the function), (ii) a particular programming language to be used at runtime of the first function (col. 11, ll. 37-60 API call invocation and triggered if the function being triggered is written in the Java programming language, the serverless compute service may allocate a Java Virtual Machine as the resource to run the coded function), and (iii) a set of input values for the first function (col. 12, ll. 14-38 API calls include additional parameters related to the function or metadata and results from one function are sent to another function as input). Brandwine and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Brandwine because it would provide a way for dependent functions to be performed in parallel by different compute units, or depending on complexity of the function, to be performed by one compute unit to reduce delay and resources used in communicating results of one or more functions between different compute units. As per claim 11, Doan in view of Russell in view of Raghunath do not explicitly teach wherein sending executable code for the first function in the format compatible with the selected particular cloud provider comprises sending to the particular cloud provider a second API call comprising (i) the set of executable code in the particular programming language, (ii) the set of input values, and (iii) a set of credentials that allow the FaaS framework to access the particular cloud provider However, Brandwine teaches wherein sending executable code for the first function in the format compatible with the selected particular cloud provider comprises sending to the particular cloud provider a second API call comprising (i) the set of executable code in the particular programming language (col. 11, ll. 37-60 API call invocation and triggered if the function being triggered is written in the Java programming language, the serverless compute service may allocate a Java Virtual Machine as the resource to run the coded function), (ii) the set of input values (col. 12, ll. 14-38 API calls include additional parameters related to the function or metadata and results from one function are sent to another function as input), and (iii) a set of credentials that allow the FaaS framework to access the particular cloud provider (col. 26, ll. 25-26 access rights information e.g., access control policies or other encodings of permissions are stored in the data store). Brandwine and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Brandwine because it would provide a service that analyzes media and outputs an evaluation of the media based on inconsistencies within media and differences between source media and the media. A media file may be obtained at a computing resource service provider. The media may be analyzed to generate media results that indicate inconsistencies within the media file and/or differences between the media file and corresponding source media registered with the computing resource service provider. An indication of a significance of the inconsistencies within the media file and/or differences between the registered source media and the media may be generated based on the media results. Source media may be registered and one or more artifacts inserted into the media to enable more efficient comparisons of whether other media is consistent with the registered source media.. As per claim 12, it has similar limitations as claims 1, 10, and 11 and is therefore rejected using the same rationale. Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Doan in view of Russell in view of Raghunath in view of Brandwine in view of Govindaraju et al. (US 2020/0186445) (hereinafter Govindaraju). As per claim 13, Doan in view of Russell in view of Raghunath in view of Brandwine do not explicitly teach wherein the plurality of functions stored by the FaaS framework comprises a plurality of user-defined functions provided to the FaaS framework as part of a configuration of the FaaS framework. However, Govindaraju teaches wherein the plurality of functions stored by the FaaS framework comprises a plurality of user-defined functions provided to the FaaS framework as part of a configuration of the FaaS framework ([0114] infrastructure configuration engine configures the FaaS execution engine to use bootstrapped virtual machines for instantiating containers for execution of user-defined functions). Govindaraju and Doan are both concerned with cloud environments and are therefore combinable/modifiable. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Doan in view of Russell in view of Raghunath in view of Brandwine in view of Govindaraju because it would provide for an automated-application-installation subsystem that provisions, installs, and configures applications across cloud-computing providers, including applications that invoke functions provisioned and executed through a distributed-function-as-a-service feature of the automated-application-installation subsystem. The automated-application-installation subsystem employs application blueprints to identify components to provision. An application blueprint generally includes component specifications, constraints, and interdependencies. The automated-application-installation subsystem then determines a cost-effective provisioning of the identified components across available cloud-computing providers and installs the application according to the cost-effective provisioning. Citation of Relevant Prior Art The prior art made of record and not relied upon is considered pertinent to Applicant's disclosure: Haghighat et al. (US 2021/0263779) disclose FaaS system enhancements. Smith et al. (US 2019/0042315) disclose secure edge-cloud function as a service. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to Adam Lee whose telephone number is (571) 270-3369. The examiner can normally be reached on M-TH 8AM-5PM. If attempts to reach the above noted Examiner by telephone are unsuccessful, the Examiner’s supervisor, Pierre Vital, can be reached at the following telephone number: (571) 272-4215. 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 Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). 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) Form at https://www.uspto.gov/patents/uspto-automated-interview-request-air-form. /Adam Lee/Primary Examiner, Art Unit 2198 March 12, 2026
Read full office action

Prosecution Timeline

Sep 22, 2023
Application Filed
Mar 09, 2026
Non-Final Rejection — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12585502
VIRTUAL MACHINE MANAGEMENT IN DATA CENTERS
2y 5m to grant Granted Mar 24, 2026
Patent 12579007
CLUSTER COMPUTING SYSTEM AND OPERATING METHOD THEREOF
2y 5m to grant Granted Mar 17, 2026
Patent 12579002
PROACTIVE ADAPTATION IN HANDLING SERVICE REQUESTS IN CLOUD COMPUTING SYSTEMS
2y 5m to grant Granted Mar 17, 2026
Patent 12572826
ASYNCHRONOUS RULE COMPILATION IN A MULTI-TENANT ENVIRONMENT
2y 5m to grant Granted Mar 10, 2026
Patent 12566636
USING DEPLOYMENT PRIORITIES TO IMPLEMENT QOS FOR SERVICE CAPACITY REQUESTS IN MULTI-TENANT CLUSTERS
2y 5m to grant Granted Mar 03, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
85%
Grant Probability
99%
With Interview (+58.9%)
3y 2m
Median Time to Grant
Low
PTA Risk
Based on 680 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month