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 Objections
Claims 17-20 objected to because of the following informalities: they should include “further comprising.” Appropriate correction is required.
Drawings
The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they do not include the following reference sign(s) mentioned in the description: “block 560” (spec at ¶ 42). Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claim 1, it refers to “the dynamic portion;” however, only “a dynamic proportion” has been defined. Therefore, reference to “the dynamic portion” lacks antecedent basis. Claims 2-20 require commensurate subject matter; therefore, they are indefinite for the same reason.
Regarding claim 1, it refers to “the primary memory;” however, “a primary memory” has been defined twice. Therefore, reference to “the primary memory” is ambiguous. Claims 2-20 require commensurate subject matter; therefore, they are indefinite for the same reason.
Claim 4 recites the limitation “the longest common patter” in line 2. There is insufficient antecedent basis for this limitation in the claim. For the purpose of examination, claim 4 is interpreted as depending on claim 3. Claim 14 corresponds to claim 4; therefore, it is indefinite for the same reason.
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 (i.e., changing from AIA to pre-AIA ) 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, 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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1, 2, 7, 9, 11, 12, 17, and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (US 2019/0075154) and further in view of Bacon (US 7,263,700).
Regarding claim 1, Zhang teaches: A computer system comprising:
a processor (¶ 104, “a system 1100 is provided including at least one processor 1101”);
a computer readable medium comprising instructions executable by the processor (¶ 108, “The memory 1104, the storage 1110, and/or any other storage are possible examples of computer-readable media”);
a primary memory (¶ 104, “The system 1100 also includes a memory 1104”);
a network interface (¶ 111, “the system 1100 may be coupled to a network”);
wherein the instructions, when executed, cause the processor to:
receive, via the network interface, a first command to load a software image of a first function into the primary memory (¶ 73, “the function execution engine 410 loads a function image from the function repository 630 into the container. The function image includes the code, libraries and language specific runtime needed to execute a particular function”), the first function being associated with a second function according to a function chain (¶ 42, “Function graphs permit a user to arrange cloud-hosted functions to execute in sequence or concurrently, manage error conditions by invoking function calls, handle scaling to accommodate varying event loads, and the like”),;
receive a first stickiness information associated with the first function (¶ 79, “the function execution engine 410 is configured with a maximum hold time associated with the warm start mode” and “the maximum hold time may determine when the function execution engine 410 frees the resources with a previously instantiated container for the cloud function”);
check a presence in a primary memory for a sticky instance of the first function (¶ 87, “if a cloud function has already been instantiated, then the function execution engine 410 will simply execute the cloud function within the already allocated container”);
load the first function into the primary memory based on a lack of the presence (¶ 79, “If a request to invoke that cloud function is received after the resources for the container are freed, then a new container is allocated to the cloud function and the function image will be loaded into the container in response to receiving the request to invoke the cloud function”);
execute the first function using at least the primary memory (¶ 72, “The container will be allocated the necessary resources for execution, such as memory and non-volatile storage”);
Zhang does not teach; however, Bacon teaches: the first function comprising a dynamic proportion (col. 11:60-65, “The transient heap 520 is used for storing objects having no expected currency beyond the end of the application or transaction, including application object instances, and primordial object instances and arrays created by application methods (arrays can be regarded as a specialised form of object)”) and a static portion (col. 13:20-22, “the reusable application classes are treated essentially in the same manner as the reusable middleware classes”);
release the dynamic portion of the first function from the primary memory (col. 12:57-58, “At the end of each application, the transient region of the heap is reset”); and
keep the static portion of the first function in the primary memory (col. 13:12-18, “when the next transaction is to run, it will in fact require many of the same application classes as the previous transaction. Therefore it is desirable to retain some application system classes rather than having to reload them, although certain additional processing is required to make them look newly loaded to the next transactio”).
It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of the first function comprising a dynamic proportion; release the dynamic portion of the first function from the primary memory; and keep the static portion of the first function in the primary memory, as taught by Bacon, in the same way to the function, as taught by Zhang. Both inventions are in the field of loading an execution environment in memory for reuse across executions, and combining them would have predictably resulted in “avoiding the need to reload system classes,” as indicated by Bacon (col. 8:23).
Regarding claim 2, Zhang teaches: The computer system of claim 1, wherein the primary memory comprises a volatile memory (¶ 104, “Control logic (software) and data are stored in the memory 1104 which may take the form of random access memory (RAM)”).
Regarding claim 7, Zhang teaches: The computer system of claim 1, wherein the instructions further cause the processor to process an indicator associated with the first function, the indicator comprises the stickiness information (¶ 77, “The function execution engine 410 may compare the metric value to a threshold value in order to determine whether to perform a warm start for the cloud function,” the metric value corresponds to the recited indicator).
Regarding claim 9, Zhang teaches: The computer system of claim 1, wherein the instructions further cause the processor to update a function stickiness database after loading the first function to the primary memory (¶ 80, “If specific cloud functions are instantiated, but the delay between instantiation and invocation exceeds the maximum hold time, then the metric value is reduced such that warm start mode will not be used for that cloud function in the future”).
Claims 11, 12, 17, and 19 recite commensurate subject matter as claims 1, 2, and 9. Therefore, they are rejected for the same reasons.
Claim(s) 3, 4, 6, 13, 14, and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang and Bacon, as applied above, and further in view of KM (US 2014/0337820).
Regarding claim 3, Zhang and Bacon do not teach; however, KM discloses: determine a function chain based on a longest common pattern (¶ 64, “identify the longest common order of method calls across flows” and ¶ 18, “a flow or a sequence of calls may facilitate identification of a potential cause of a defect”).
It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of determine a function chain based on a longest common pattern, as taught by KM, in the same way to the method, as taught by Zhang and Bacon. Both inventions are in the field of calling software functions, and combining them would have predictably resulted in a method configured to “inspect an application to fix a defect or to carry out a maintenance activity,” as indicated by KM (¶ 19).
Regarding claim 4, KM teaches: The computer system of claim 3, wherein the instructions further cause the processor to identify the longest common pattern based on function invocation sequences (¶ 64, “run the longest common subsequence process, to identify the longest common order of method calls across flows”), the function invocation sequences comprising a first function invocation sequence associated with the first function (¶ 73, “the method interaction graph 110 includes five flows (i.e., a first flow that begins at C1.f1A and ends at C4.f4C”).
Regarding claim 6, KM teaches: The computer system of claim 4, wherein the instructions further cause the processor to construct a function chain based on the longest common pattern (¶ 64, “For each of the various substrings (e.g., of length at least two) of the longest common method call order, the flow prioritization module 116 may populate the number of flows, for which each are part of”).
Claims 13, 14, and 16 recite commensurate subject matter as claims 3, 4, and 6. Therefore, they are rejected for the same reasons.
Claim(s) 5 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang, Bacon, and KM, as applied above, and further in view of Stein (US 2019/0014171).
Regarding claim 5, Zhang and Bacon do not teach; however, Stein discloses: identify a second computer system for executing the second function (¶ 30, “The set of candidate subscriber hosts may be determined” and ¶ 32, “At block 230, select, from the set of candidate subscriber hosts, a selected candidate subscriber host”).
It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of identify a second computer system for executing the second function, as taught by Stein, in the same way to the method, as taught by Zhang and Bacon. Both inventions are in the field of serverless FaaS computing, and combining them would have predictably resulted in “increasing event processing capacity for the event type by configuring one or more hosts 120 to support processing of events of that event type,” as indicated by Stein (¶ 21).
Claim 15 recites commensurate subject matter as claim 5. Therefore, it is rejected for the same reason.
Claim(s) 8 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang and Bacon, as applied above, and further in view of Stein (US 2019/0014171).
Regarding claim 8, Zhang and Bacon do not teach; however, Stein discloses: send instruction to a second computer system to load the second function into a primary memory of the second computer system (¶ 39, “The configuration of the selected candidate subscriber host to begin handling events of the event type may include sending, toward the selected candidate subscriber host, a request for the selected candidate consumer host to obtain the event processing function for the event type and to subscribe to receive events of the event type”).
It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of send instruction to a second computer system to load the second function into a primary memory of the second computer system, as taught by Stein, in the same way to the method, as taught by Zhang and Bacon. Both inventions are in the field of serverless FaaS computing, and combining them would have predictably resulted in “increasing event processing capacity for the event type by configuring one or more hosts 120 to support processing of events of that event type,” as indicated by Stein (¶ 21).
Claim 18 recites commensurate subject matter as claim 8. Therefore, it is rejected for the same reason.
Claim(s) 10 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhang and Bacon, as applied above, and further in view of Wagner (US 10,013,267).
Regarding claim 10, Zhang and Bacon do not teach; however, Wagner discloses: cause the processor to increase a total number of concurrent sticky instances (col. 13:46-49, “the warming pool manager 130 may cause additional instances to be added to the warming pool 130A based on the available capacity in the warming pool 130A to service incoming calls”).
It would have been obvious to a person having ordinary skill in the art, before the effective filing date of the invention, to have applied the known technique of cause the processor to increase a total number of concurrent sticky instances, as taught by Wagner, in the same way to the method, as taught by Zhang and Bacon. Both inventions are in the field of pre-initializing execution environments, and combining them would have predictably resulted in “reducing delay that would be required to initialize the instances after obtaining to the requests,” as indicated by Wagner (abstract).
Claim 20 recites commensurate subject matter as claim 10. Therefore, it is rejected for the same reason.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-18 of U.S. Patent No. US 12,032,970. Although the claims at issue are not identical, they are not patentably distinct from each other because U.S. Patent No. US 12,032,970 teaches or at least suggests each and every limitation of the instant application. See claim correspondence below.
Instant Application
U.S. Patent No. US 12,032,970
1. A computer system comprising: a processor; a computer readable medium comprising instructions executable by the processor; a primary memory; a network interface; wherein the instructions, when executed, cause the processor to:
Claim 1. A method for reducing the startup latency of functions in a Functions-as-a-Service (FaaS) infrastructure, the method comprising:
receive, via the network interface, a first command to load a software image of a first function into the primary memory, the first function being associated with a second function according to a function chain,
Claim 1 … receiving, by a computer system, a request to invoke a first function uploaded to the FaaS infrastructure, the request originating from a calling entity;
receive a first stickiness information associated with the first function;
Claim 5. The method of claim 1 wherein prior to selecting the second host system, the computer system determines whether instances of the second function may be sticky and whether a third host system in the FaaS infrastructure exists that has an unused sticky instance of the second function in its primary memory.
the first function comprising a dynamic proportion and a static portion;
Claim 13 … select the first function, by a logic component, to be retained at the primary memory after execution
check a presence in a primary memory for a sticky instance of the first function;
Claim 17 … the processor determines whether instances of the second function may be sticky
load the first function into the primary memory based on a lack of the presence;
Claim 1 … a first command to load a software image of the first function into a primary memory of the first host system
execute the first function using at least the primary memory;
Claim 1 … selecting, by the computer system, a first host system in the FaaS infrastructure for executing the first function
release the dynamic portion of the first function from the primary memory;
Claim 1 … selecting the first function, by a logic component, to be retained at the primary memory after execution
and keep the static portion of the first function in the primary memory.
Claim 1 … selecting the first function, by a logic component, to be retained at the primary memory after execution
Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-21 of U.S. Patent No. US 10,901,783. Although the claims at issue are not identical, they are not patentably distinct from each other because U.S. Patent No. US 10,901,783 teaches or at least suggests each and every limitation of the instant application. See claim correspondence below.
Instant Application
U.S. Patent No. US 10,901,783
1. A computer system comprising: a processor; a computer readable medium comprising instructions executable by the processor; a primary memory; a network interface; wherein the instructions, when executed, cause the processor to:
Claim 1. A method for reducing the startup latency of functions in a Functions-as-a-Service (FaaS) infrastructure, the method comprising:
receive, via the network interface, a first command to load a software image of a first function into the primary memory, the first function being associated with a second function according to a function chain,
Claim 1 … receiving by a function manager of the FaaS infrastructure, a request to invoke a function uploaded to the FaaS infrastructure
receive a first stickiness information associated with the first function;
Claim 1 ... an indicator of whether instances of the function may be sticky, wherein sticky function instances are kept in host system primary memory after function execution is complete
the first function comprising a dynamic proportion and a static portion;
Claim 1 … wherein sticky function instances are kept in host system primary memory after function execution is complete
check a presence in a primary memory for a sticky instance of the first function;
Claim 1 … a list of zero or more host systems in the FaaS infrastructure that currently have an unused sticky instance of the function in their respective primary memories
load the first function into the primary memory based on a lack of the presence;
Claim 1 … selecting, by the function manager, the at least one host system for executing the function
execute the first function using at least the primary memory;
Claim 1 … selecting, by the function manager, the at least one host system for executing the function
release the dynamic portion of the first function from the primary memory;
Claim 1 … sticky function instances are kept in host system primary memory after function execution is complete
and keep the static portion of the first function in the primary memory.
Claim 1 … sticky function instances are kept in host system primary memory after function execution is complete
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Cybulski (US 2019/0377604) discloses “At S420, it is checked if an instance of the pod containing code for executing the requested function is available and, if so, execution continues with S440” (¶ 66), which relates to the disclosed reusing function instances.
Bak (US 2017/0286153) discloses “Resuming of containers can further be managed to reduce the startup time for containers” (abstract), which relates to the disclosed keeping a container state so the next use doesn’t require full startup.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JACOB D DASCOMB whose telephone number is (571)272-9993. The examiner can normally be reached M-F 9:00-5:00.
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, Pierre Vital can be reached at (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 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.
/JACOB D DASCOMB/Primary Examiner, Art Unit 2198