DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
Claims 7 and 17-19 are objected to because of the following informalities:
Claims 7 and 17 recite on Lines 5 and 6, respectively, “the address-port list” which should be “[[the]] an address-port list”.
Claims 18 and 19 recite on Line 1, “The service system according to claim 16” which should be, “The service system execution method according to claim 16”.
Appropriate correction is required.
Claim Interpretation
The Office notes that method Claims 15-16 and 18-20 have been found to recite the following contingent limitations:
Claims 15-16: “(c) receiving a call parameter of a current method called from the methods and executing: recording a request of the current method and the call parameter of the current method in response to a number of instances corresponding to the current method being zero; and selecting a service instance from at least one running instance corresponding to the current method based on a selection procedure in response to the number of instances corresponding to the current method being non-zero by the routing unit.”
Claim 18: “(d1) adding, in response to a number of instances corresponding to the current processing method being zero and a number of requests corresponding to the current processing method recorded in the routing unit being non-zero, a first new instance corresponding to the current processing method; and
(d2) adding, in response to the number of instances corresponding to the current processing method being non-zero, and an average running metric of all current processing method instances corresponding to the current processing method being greater than a first metric preset value and a duration being greater than a first predetermined time, a second new instance corresponding to the current processing method.”
Claim 19: “(d1) closing, in response to a number of instances corresponding to the current processing method being 1, a number of requests corresponding to the current processing method recorded in the routing unit being zero, and an average running metric of all current processing method instances corresponding to the current processing method being less than a second metric preset value and a duration being greater than a second predetermined time, a first to-be-closed instance corresponding to the current processing method such that the number of instances corresponding to the current processing method is zero; and
(d2) selecting and closing, in response to the number of instances corresponding to the current processing method being greater than 1, and the average running metric of all current processing method instances corresponding to the current processing method being less than the second metric preset value and the duration being greater than the second predetermined time, a second to-be-closed instance corresponding to the current processing method.”
Claim 20: “(d4) periodically determining whether the instance needs to be cleared to control a survival status of the instance based on a current time and the survival time and, in response to the instance needing to be cleared, clearing the instance and notifying the routing unit and the horizontal extension element by using the storage coordination element by the storage coordination element.”
As such, the Office has interpreted this claim language in accordance with MPEP 2111.04 (II), which recites, “The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met.”
The Office notes that the broadest reasonable interpretation of Claims 15-16 and 18-20 does not include performing the contingent “in response to” steps indicated above, since the claim does not recite the precedent conditions, i.e. “a number of instances corresponding to the current method being zero” and “the number of instances corresponding to the current method being non-zero” in the case of Claims 15-16.
The Office has examined Claims 15-16 and 18-20 in light of these contingent limitations.
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f):
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) except as otherwise indicated in an Office action.
This application includes one or more claim limitations in Claims 3-4, 10 and 20 that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitations are:
Claims 3 and 4: “a control unit, configured to receive an external request,” “a service unit, configured to generate and run an instance,” “a routing unit, configured to receive a call parameter… and execute,” and “an extension control unit, configured to control a survival status.”
Claims 10 and 20: “the horizontal extension element is configured to execute the extension procedure.”
Because these claim limitations are being interpreted under 35 U.S.C. 112(f) Claims 3-4, 10 and 20 are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
The following paragraphs disclose the corresponding structure associated with the identified limitations:
Paragraph [0064] and [0069] discloses “a control unit,” “a service unit,” “a routing unit,” and “an extension control unit”, i.e. each of the units [0064] “may each a single computer, a single workstation or a micro device in the Internet of Things.”
Paragraph [0059] describes “the horizontal extension element”.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f).
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 parsing and formatting information, as in Claims 1-3 and 11-15, and recording information and selecting software based on system information, as in Claims 4-10 and 16-20 without significantly more.
The limitation in Independent Claims 1 and 11 of parsing information, and Claims 4 and 16 of recording information and selecting software, as drafted, are processes that, under their broadest reasonable interpretation, covers steps that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations of “parsing and reading the at least one submethod of the request category in the main program, and embedding each of the parsed and read at least one submethod into a corresponding first communication interface function code to generate at least one generated submethod” and “parsing and reading the main method in the main program, and embedding the parsed and read main method and each of the parsed and read at least one submethod into a corresponding second communication interface function code to generate a generated main method,” in Claims 1 and 11; and “recording a request of the current method and the call parameter of the current method in response to a number of instances corresponding to the current method being zero” and “selecting a service instance from at least one running instance corresponding to the current method based on a selection procedure in response to the number of instances corresponding to the current method being non-zero” in Claims 4 and 16; as drafted, are processes that, under their broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation judgment and/or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. Claims 1 and 11 recite the following additional element “receiving a main program comprising a main method and at least one submethod of a request category,” and Claims 4 and 16 recite, “receive an external request”, these limitations do nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, see MPEP 2106.05(g).
Further, with regard to the “at least one processing unit” element of Claims 1 and 11; and the “control unit, configured to receive an external request and call a plurality of methods sequentially based on the external request,” “service unit, configured to generate and run an instance based on a first indication and close the instance based on a second indication, the instance corresponding to one of the methods,” “routing unit, configured to receive a call parameter of a current method called from the methods,” and “extension control unit, configured to control a survival status of all the instances generated by the service unit and execute an extension procedure to adjust the number of instances corresponding to each of the methods of the service unit at predetermined intervals” elements of Claims 4 and 16; these elements are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, see MPEP 2106.05(f).
As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing components and mere instructions to apply an exception which do not amount to significantly more than the abstract idea. Moreover, the recitations of insignificant data gathering activity are also Well-Understood, Routine and Conventional. See at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, e.g., using the Internet to gather data”. That is, in the instant claims these limitations merely receive or transmit/provide data which is Well-Understood, Routine and Conventional. Accordingly, the claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception.
With regard to the individual dependent claims:
Claims 2 and 12 recite, “generating a network configuration file based on the parsed and read main method and the parsed and read at least one submethod of the request category.”
These limitations of Claims 2 and 20 do nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering, transmitting and outputting the results of the abstract idea, see MPEP 2106.05(g). Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
Further, these limitations of Claims 2 and 20 amount to no more than mere instructions to apply the exception using well-understood, routine and conventional computer components and functions, recited at a high level of generality, i.e. receiving/transmitting data over a network and storing/retrieving information in memory. As such, these additional elements do not amount to an inventive concept and are not by themselves sufficient to transform the judicial exception into a patent eligible invention, see MPEP 2106.05(d).
Claims 8 and 18 recite, “adding… a first new instance corresponding to the current processing method; and… adding… a second new instance corresponding to the current processing method.”
Claims 9 and 19 recite, “closing… a first to-be-closed instance corresponding to the current processing method such that the number of instances corresponding to the current processing method is zero; and… selecting and closing…a second to-be-closed instance corresponding to the current processing method.”
Claims 10 and 20 recite, “wherein the extension control unit comprises a storage coordination element and a horizontal extension element, the horizontal extension element is configured to execute the extension procedure, the storage coordination element comprises a key-value storage space, and the service system is configured to execute a control procedure comprising: (a) registering a key data and a value data of the instance to the storage coordination element by using the instance after the instance is generated.”
Claim 13 recites, “A computer-readable recording medium storing a program, wherein when a processing unit loads the program and executes the program, the method according to claim 11 is performed.”
Claim 14 recites, “A non-transitory computer program product storing at least one instruction, when the at least one instruction is executed by a processing unit, the processing unit performs the method according to claim 11.”
These limitations of Claims 8-10, 13-14 and 18-20 are recited at a high-level of generality such that they amount to no more than mere instructions to apply the exception using generic computer components, see MPEP 2106.05(f). 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.
Further, these limitations of Claims 8-10, 13-14 and 18-20 amount to no more than mere instructions to apply the exception using well-understood, routine and conventional computer components and functions, recited at a high level of generality, i.e. receiving/transmitting data over a network and storing/retrieving information in memory. As such, these additional elements do not amount to an inventive concept and are not by themselves sufficient to transform the judicial exception into a patent eligible invention, see MPEP 2106.05(d).
Claim 5 recites, “selecting a first address running instance at a first address from the at least one running instance corresponding to the current method on an address-port list as the service instance.”
Claim 6 recites, “selecting a next address running instance corresponding to the current method after an indication address on an address-port list in a cyclic manner as the service instance.”
Claims 7 and 17 recite, “obtaining, for all the at least one running instance corresponding to the current method, the running metric of each of the at least one running instance corresponding to the current method according to a metric path of each of the at least one running instance corresponding to the current method recorded in the address-port list and selecting a smallest running metric instance with the smallest running metric from the at least one running instance corresponding to the current method as the service instance.”
Claims 8 and 18 further recite, “in response to a number of instances corresponding to the current processing method being zero and a number of requests corresponding to the current processing method recorded in the routing unit being non-zero… in response to the number of instances corresponding to the current processing method being non-zero, and an average running metric of all current processing method instances corresponding to the current processing method being greater than a first metric preset value and a duration being greater than a first predetermined time”
Claims 9 and 19 further recite, “in response to a number of instances corresponding to the current processing method being 1, a number of requests corresponding to the current processing method recorded in the routing unit being zero, and an average running metric of all current processing method instances corresponding to the current processing method being less than a second metric preset value and a duration being greater than a second predetermined time… in response to the number of instances corresponding to the current processing method being greater than 1, and the average running metric of all current processing method instances corresponding to the current processing method being less than the second metric preset value and the duration being greater than the second predetermined time.”
Claims 10 and 20 further recite, “taking a registration time as a survival time of the instance and storing the key data, the value data, and the survival time of the instance into the key-value storage space by using the storage coordination element;… periodically updating the survival time by the instance; and… periodically determining whether the instance needs to be cleared to control a survival status of the instance based on a current time and the survival time by using the storage coordination element and, in response to the instance needing to be cleared, clearing the instance and notifying the routing unit and the horizontal extension element by using the storage coordination element.”
These limitations of Claims 5-10 and 17-20, as drafted, are processes that, under their broadest reasonable interpretation, recite the abstract idea of a mental process. These limitations encompass a human mind carrying out this function through observation, evaluation judgment and/or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas. 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.
With regard to Claims 3 and 15, not specifically addressed above, these dependent claims recite substantially the same claim limitations as Independent Claim 4, and as such Claims 3 and 15 are not patent eligible for the same reasons as discussed above in regard to Claim 4.
Claim 13 is also rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claim 13 is rejected under 35 U.S.C. 101 because Claim 13 is directed to a ‘computer-readable recording medium’. The term ‘computer-readable recording medium’ has not been defined in the Specification as originally filed, and as such does not limit the claim to only encompassing non-transitory storage. The United States Patent and Trademark Office (USPTO) is obliged to give claims their broadest reasonable interpretation consistent with the specification during proceedings before the USPTO. See In re Zletz, 893 F.2d 319 (Fed. Cir. 1989) (during patent examination the pending claims must be interpreted as broadly as their terms reasonably allow). The broadest reasonable interpretation of a claim drawn to a computer readable medium (also called machine readable medium and other such variations) typically covers forms of non-transitory tangible media and transitory propagating signals per se in view of the ordinary and customary meaning of computer readable media, particularly when the specification is silent. See MPEP 2111.01. When the broadest reasonable interpretation of a claim covers a signal per se, the claim must be rejected under 35 U.S.C. § 101 as covering non-statutory subject matter. See In re Nuijten, 500 F.3d 1346, 1356-57 (Fed. Cir. 2007) (transitory embodiments are not directed to statutory subject matter) and Interim Examination Instructions for Evaluating Subject Matter Eligibility Under 35 U.S.C. § 101, Aug. 24, 2009; p. 2.
The USPTO recognizes that applicants may have claims directed to computer readable media that cover signals per se, which the USPTO must reject under 35 U.S.C. § 101 as covering both non-statutory subject matter and statutory subject matter. In an effort to assist the patent community in overcoming a rejection or potential rejection under 35 U.S.C. § 101 in this situation, the USPTO suggests the following approach. A claim drawn to such a computer readable medium that covers both transitory and non-transitory embodiments may be amended to narrow the claim to cover only statutory embodiments to avoid a rejection under 35 U.S.C. § 101 by adding the limitation "non-transitory" to the claim. Cf. Animals- Patentability, 1077 Off. Gaz. Pat. Office 24 (April 21, 1987) (suggesting that applicants add the limitation "non-human" to a claim covering a multi-cellular organism to avoid a rejection under 35 U.S.C. § 101). Such an amendment would typically not raise the issue of new matter, even when the specification is silent because the broadest reasonable interpretation relies on the ordinary and customary meaning that includes signals per se. The limited situations in which such an amendment could raise issues of new matter occur, for example, when the specification does not support a non-transitory embodiment because a signal per se is the only viable embodiment such that the amended claim is impermissibly broadened beyond the supporting disclosure. See, e.g., Gentry Gallery, Inc. v. Berkline Corp., 134 F.3d 1473 (Fed. Cir. 1998).
Therefore, the applicant is advised to clarify a definition of the term ‘computer-readable recording medium’.
Claim Rejections - 35 USC § 102
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 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, 11 and 13-14 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Punathil et al. (US PGPUB 2020/0401386; hereinafter “Punathil”).
Claim 1:
Punathil teaches a program generation system, comprising at least one processing unit (Fig. 1: Processor Set 204),
the at least one processing unit being configured to receive a main program comprising a main method and at least one submethod of a request category ([0043] “application restructuring application restructuring program 300 receives a monolithic software application (the application) to be automatically re-structured into a set of microservices. In some embodiments, the application is written in one or more object-oriented programming languages, such as Java™, and comprises a collection of various classes.” [0067] “Main 50 (‘Class A’), of abstract topology diagram 500, is at the top of the class hierarchy of the example application. Main 50 can make calls to: subroutine 51,” wherein a “subroutine” is a “submethod”.), and
execute the following steps:
(a) parsing and reading the at least one submethod of the request category in the main program, and embedding each of the parsed and read at least one submethod into a corresponding first communication interface function code to generate at least one generated submethod ([0044] “static analysis sub-module 304, of application analysis module 302, of application restructuring application restructuring program 300, performs static analysis and semantic parsing of the application.” [0045] “dependency sub-module 306 of application analysis module 302 performs a dependency analysis of the application. The dependency analysis determines dependency relationships among and between blocks of code (functions, classes and modules, routines, sub-routines, etc. to name a few examples).” [0053] “microservices deployment sub-module 318 configures the set of microservices into a set of containers.” [0055] “Each code module (microservice) exposes a single functional interface.”); and
(b) parsing and reading the main method in the main program, and embedding the parsed and read main method and each of the parsed and read at least one submethod into a corresponding second communication interface function code to generate a generated main method ([0044] “static analysis sub-module 304, of application analysis module 302, of application restructuring application restructuring program 300, performs static analysis and semantic parsing of the application.” [0052] “operation S290 where… application restructuring sub-module 316 restructures the application into a set of microservices.” [0053] “The original monolithic application has been reconfigured as a containerized application comprising a set of microservices. In some embodiments, microservices deployment sub-module 318 deploys and orchestrates the set of containers in a production test environment. ”[0119] “microservices deployment sub-module 318… (i) configures a test environment; (ii) deploys the microservice-based application in the test environment; (iii) receives user input indicating the microservice-based application is approved for deployment; (iv) deploys the microservice-based application in a production environment; and (v) deactivates the monolithic application,” wherein the above-cited functionality of the “microservice-based application,” i.e. the “containerized application”/“generated main method,” necessarily includes some form of “second communication interface” since it necessarily performs communications, i.e. I/O, during testing.).
Claim 11:
With regard to Claim 11, this claim is equivalent in scope to Claim 1 rejected above, merely having a different independent claim type, and as such Claim 11 is rejected under the same grounds and for the same reasons as discussed above with regard to Claim 1.
Claim 13:
Punathil teaches a computer-readable recording medium storing a program, wherein when a processing unit loads the program and executes the program, the method according to claim 11 is performed ([0033] “Memory device 208 and persistent storage device 210 are computer-readable storage media. In general, memory device 208 can include any suitable volatile or non-volatile computer-readable storage media.” [0034] “Application restructuring program 300 is stored in persistent storage device 210 for access and/or execution by one or more of the respective computer processor set 204, usually through one or more memories of memory device 208.”).
Claim 14:
Punathil teaches a non-transitory computer program product storing at least one instruction, when the at least one instruction is executed by a processing unit, the processing unit performs the method according to claim 11 ([0033] “Memory device 208 and persistent storage device 210 are computer-readable storage media. In general, memory device 208 can include any suitable volatile or non-volatile computer-readable storage media.” [0034] “Application restructuring program 300 is stored in persistent storage device 210 for access and/or execution by one or more of the respective computer processor set 204, usually through one or more memories of memory device 208.”).
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 2 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Punathil as applied to Claims 1 and 11 above, and further in view of Roper, Jr. et al. (US Patent 12,333,228; hereinafter “Roper”).
Claim 2:
Punathil teaches all the limitations of claim 1 as described above. Punathil does not teach the following, however, Roper teaches wherein the at least one processing unit is configured to execute:
(c) generating a network configuration file based on the parsed and read main method and the parsed and read at least one submethod of the request category (Col. 13 ll. 11-15: “An API script may be an API function script encapsulated in a model splice, or an ’orchestration script’ or ‘platform script’ that orchestrates a workflow through a digital thread,” wherein the “orchestration script” is the “network configuration file”. Col. 42 ll. 20-24: “Such API endpoints may be formatted according to an input/output scheme tailored to the DE model file and/or DE tool being used, and may be accessed by orchestration scripts or platform applications that act on multiple DE models.” Col. 43 ll. 67-39: “in FIG. 8, an orchestration script 894 is written in Python code and designed to interact via API endpoints”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system as disclosed by Punathil with the generating of a network configuration file as taught by Roper for purposes of “enabling engineers from different disciplines to interact with unfamiliar DE tools, and previously non-interoperable DE tools to interoperate freely” (Roper Col. 41 ll. 65-67).
Claim 12:
With regard to Claim 12, this claim is equivalent in scope to Claim 2 rejected above, merely having a different independent claim type, and as such Claim 12 is rejected under the same grounds and for the same reasons as discussed above with regard to Claim 2.
Claims 16 and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Roper in view of Ramachandran et al. (US PGPUB 2021/0240544; hereinafter “Rama”) and Donahue (US PGPUB 2014/0040885; hereinafter “Donahue”).
Claim 16:
Roper teaches a service system execution method, applicable to a service system comprising a control unit, a service unit, a routing unit and an extension control unit, the service system execution method comprising the following steps:
(a) receiving an external request and calling a plurality of methods sequentially based on the external request by the control unit (Col. 33 ll. 21-25: “An ‘API Gateway Service Cell’ provides ‘API Gateway Service,’ and may provide DE platform API(s) (e.g., APIs 214, 216) and act as a mediator for requests between the client applications (e.g., DE tools 202, the repository of common V&V products 210, etc.) and the platform services.”).
With further regard to Claim 16, Roper does not teach the following, however, Rama teaches comprising the following steps:
(b) generating and running an instance based on a first indication and closing the instance based on a second indication by the service unit, the instance corresponding to one of the methods ([0003] “Microservices are commonly designed to enable the microservices to be ‘scaled up’ by increasing the number of instances of the microservices as needed.” [0022] “the microservice instances have dynamically assigned network locations because the available set of microservice instances changes dynamically as a result of auto scaling,” wherein “auto scaling” indicates that the number of instances are closed based on a condition. [0025] “the collaboration service 190 is itself a microservice, which can be dynamically scaled by instantiating multiple active instances of the collaboration service 190, depending on the number core microservices 162 and amount of workload being handled by the collaboration of service 190 at a given point in time.”);
(c) receiving a call parameter of a current method called from the methods and executing: recording a request of the current method and the call parameter of the current method in response to a number of instances corresponding to the current method being zero (Examiner’s Note: This step is not required given the broadest reasonable interpretation of the claim language, as discussed above in the Claim Interpretation section. It is further noted that prior art was not found which teaches or makes obvious this limitation.); and
selecting a service instance from at least one running instance corresponding to the current method based on a selection procedure in response to the number of instances corresponding to the current method being non-zero by the routing unit ([0035] “direct the collaboration service 190 to select a given active instance out of the set of currently active instances of the given microservice to perform the given process or function.”).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Roper with the instance generating and selecting as taught by Rama in order “to support increased workloads and/or to provide high availability in the case of failures” (Rama [0003]).
With further regard to Claim 16, Roper in view of Rama does not teach the following, however, Donahue teaches comprising the following steps:
(d) controlling a survival status of all the instances generated by the service unit and executing an extension procedure to adjust the number of instances corresponding to each of the methods of the service unit at predetermined intervals by the extension control unit ([0020] “if the scaling module 122 determines, based on the examination of information stored in the database 150, that another scaling module 122 has performed a scaling action with respect to instances executing the subject computing application during the courtesy interval, the current scaling action is discarded… If, on the other hand, no other scaling module 122 has performed a scaling action within the courtesy interval, the scaling module 122 attempts to perform the scaling action,” wherein the “courtesy interval” is the “predetermined interval”.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method as disclosed by Roper in view of Rama with the instance adjustment as taught by Donahue in order “to help avoid the so-called ‘lemmings off a cliff’ behavior, where all the scaling modules 122 may simultaneously decide to terminate their associated instance or to clone their associated instance” (Donahue [0020]).
Claim 18:
Roper in view of Rama and Donahue teaches the service system execution method of claim 16, and Roper further teaches wherein the extension procedure comprises:
executing the following steps for a current processing method among the methods:
(d1) adding, in response to a number of instances corresponding to the current processing method being zero and a number of requests corresponding to the current processing method recorded in the routing unit being non-zero, a first new instance corresponding to the current processing method (Examiner’s Note: This step is not required given the broadest reasonable interpretation of the claim language, as discussed above in the Claim Interpretation section. It is further noted that prior art was not found which teaches or makes obvious this limitation.); and
(d2) adding, in response to the number of instances corresponding to the current processing method being non-zero, and an average running metric of all current processing method instances corresponding to the current processing method being greater than a first metric preset value and a duration being greater than a first predetermined time, a second new instance corresponding to the current processing method (Examiner’s Note: This step is not required given the broadest reasonable interpretation of the claim language, as discussed above in the Claim Interpretation section. It is further noted that prior art was not found which teaches or makes obvious this limitation.).
Claim 19:
Roper in view of Rama and Donahue teaches the service system execution method of claim 16, and Roper further teaches wherein the extension procedure comprises:
executing the following steps for a current processing method among the methods:
(d1) closing, in response to a number of instances corresponding to the current processing method being 1, a number of requests corresponding to the current processing method recorded in the routing unit being zero, and an average running metric of all current processing method instances corresponding to the current processing method being less than a second metric preset value and a duration being greater than a second predetermined time, a first to-be-closed instance corresponding to the current processing method such that the number of instances corresponding to the current processing method is zero (Examiner’s Note: This step is not required given the broadest reasonable interpretation of the claim language, as discussed above in the Claim Interpretation section. It is further noted that prior art was not found which teaches or makes obvious this limitation.); and
(d2) selecting and closing, in response to the number of instances corresponding to the current processing method being greater than 1, and the average running metric of all current processing method instances corresponding to the current processing method being less than the second metric preset value and the duration being greater than the second predetermined time, a second to-be-closed instance corresponding to the current processing method (Examiner’s Note: This step is not required given the broadest reasonable interpretation of the claim language, as discussed above in the Claim Interpretation section. It is further noted that prior art was not found which teaches or makes obvious this limitation.).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure is as follows:
Jones et al. (US PGPUB 2022/0253347) a method and system for implementing a microservice activation method for reducing start latency of serverless microservices, including disclosure regarding the routing of microservice requests.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Joanne G. Macasiano whose telephone number is (571)270-7749. The examiner can normally be reached Monday to Thursday, 10:30 AM to 6:00 PM Eastern Standard Time.
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, Bradley Teets can be reached at (571) 272-3338. 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.
/JOANNE G MACASIANO/Examiner, Art Unit 2197