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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on March 24, 2026 has been entered.
Response to Amendment
The amendments filed on March 8, 2026 have been entered. Claims 1, 5, 6, 8, 12, 13, 15, 19, and 20 are amended. Claims 3, 10, and 17 are cancelled. New claims 21-23 are added. Claims 1, 2, 4-9. 11-16, and 18-23 remain pending in the application.
Response to Arguments
Applicant’s arguments filed on March 8, 2026 in response to the Final Office Action dated January 8, 2026 have been fully considered.
Applicant argues, in page 9 of the Remark, “Kesarwani discloses, in general, generating log messages: "As illustrated, a computer 102 may execute a log template extraction tool 104 configured to parse application source code 106 for log statements that when executed, output log messages. The log template extraction tool 104 may be configured to identify a log statement and extract a log template comprising a regular expression (e.g., "Could not open file % because the % service timed out in % seconds") that includes one or more template value placeholders (e.g., "%")." Kesarwaniat col. 3, II. 24-33. However, Kesarwani fails to disclose independent microservices that generate the log messages, and instead utilizes a centralized storage at log templates 110.”.
In response, Figs. 1A and 5A of Kesarwani show log template is application-specific and application program with the log template are packaged together for deployment as further explained in Col. 11, line 67, and Col. 12, lines 1-7, “As in block 508, the log template and the template identifier may be packaged into an application executable for use by a logging utility, associated with the application executable, which identifies the log template in a log message output by the application and substitutes the log template with the template identifier and stores the template identifier with log data values included in the original log message.”. Also see Col. 7, lines 52-61. Regarding Applicant’s argument about independent microservice, a secondary art Rajagopalan et al. (US PGPUB No. US 20180039567 A1) is used. Paragraph 0027 of Rajagopalan discloses each of the microservices are deployed independently.
Applicant argues, in page 10 of the Remarks, “Newly cited reference Rajagopalan discloses microservices, including "a separate logging agent 508 a, 508 b, 508 c, and 508 d for each microservices 504 a, 504 b, 504 c, and 504 d." However, Rajagopalan fails to disclose functionality for the microservices for handling logs, including handling both static and dynamic template IDs by the microservices.”.
In response, Rajagopalan is applied in teaching plurality of independent microservices with separate logging agent for each microservice. Primary art Kesarwani teaches handling both static and dynamic template ID as shown in Fig. 5C. Step 528 shows branching actions based on whether the templated identifier is found in the lookup table. If the template identifier is not found, the template identifier is added to the lookup table along with dynamic mapping of the template identifier.
Examiner’s Note about the Format of 35 U.S.C. 102/103 Rejections
Generally, limitations of a claim are reproduced identically and followed by examiner’s explanation with citation from prior art in Italic enclosed by a parenthesis, (), for each limitation. In examiner’s explanation, the mapping of the key elements of a limitation to the disclosed elements of prior art is shown by stating the disclosed element immediately followed by the claimed element inside a parenthesis. Specific quotation from prior art is delineated with quotation mark, ““. If primary art fails to teach a limitation or part of the limitation, the limitation or the part of the limitation is placed inside double square brackets, [[ ]], for better understandability, and appropriate secondary art(s) is/are applied later addressing the deficiency of the primary art.
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.
Claims 1, 2, 4-9, 11-16, and 18-21 are rejected under 35 U.S.C. 103 as being unpatentable over Kesarwani (US Patent No. 10235372), hereinafter, Kesarwani, in view of Rajagopalan et al. (US PGPUB No. US 20180039567 A1), hereinafter, Rajagopalan.
Regarding claim 1:
Kesarwani teaches:
A method of generating log messages from [[a plurality of microservices, each of the microservices having a corresponding different log agent and deployed on a cloud infrastructure]], the method comprising:
receiving a first log event at a first log agent corresponding to a first microservice of the plurality of microservices, wherein the first microservice stores a plurality of template identifiers, each corresponding only to log events that are generated by the first microservice (Col. 12, lines 33-36, discloses receiving a log message as stated “Illustratively, the log message may be received from a computer program or computer system, or may be processed from a log message archive.”. Col. Lines 59-66, discloses log message corresponds event as stated “In another example, a log message output by an application 124 may be formatted as a non-delimited string. For example, the log message may comprise a statement with integrated log data values. As an illustration, the log message may comprise “Could not open file foo.txt because the data_production service timed out in 5 seconds”. The log message may be parsed into logical syntactic components to separate the log template from the log data values”. Fig. 1A shows each application is deployed as a package with log template corresponding to the application only as further explained Col. 7, lines 52-61, “ In one example, the log template data store 306 may be utilized by a logging system associated with a particular computer program. For example, archived log messages associated with a particular computer program may be processed using the log archival service 302 to extract log templates from the log messages, and a log template data store 306 may be constructed using the log templates extracted from the log messages. As a result, the log templates contained in the log template data store 306 may be specific log messages output by the computer program.”. Fig. 5A shows a process plurality of template identifiers for various events of a particular application);
at the first microservice, the first log agent retrieving a first template identifier corresponding to the first log event; at the first microservice, when the first template identifier is previously registered, the first log agent, identifying a log message template that corresponds to the first template identifier, the log message template comprising zero or more required parameters (Col. 12, lines 36-38, discloses identifying log template (log message template) and log data value (zero or more required parameters) as stated “Starting in block 522, the text of a log message may be parsed to identify a log template and log data values included in the log message.”. Col. 12, lines 53-57, discloses log template identifier as stated “As in block 528, the template identifier may be used to determine whether the log template associated with the template identifier exists in a lookup table containing template identifiers for log templates that are stored in a template data store.”. Also see Col. 2, lines 5-14, stating “A log statement may include a log template that includes template value placeholders for log data values. The log statement may generate a log message that includes the log data values. For example, a log template may include a statement (e.g., “Error in opening the file [filename]”) that provides context for a log data value (e.g., a file name) included with the statement. For example, the log message “Error in opening the file foo.txt” output by a logging system may contain both the log template “Error in opening the file” and the log data value “foo.txt”.”);
generating a first log message comprising the first template identifier and the zero or more parameters (Col. 12, lines 44-52, discloses generating hash value (log message) as stated “For example, the log template may be input to the hash function and the resulting hash value may be used to uniquely identify the log template. As an illustration, the example log template “Error occurred launching the % service” may be input into a hash function (e.g., a Cyclic Redundancy Code hash function) that generates the hash value “47a32736”, and the hash value may be used as a template identifier for the log template.”); and
transmitting the first log message to a logging server (Fig. 1B shows log data store 128 (logging server). Fig. 7 shows implementing the computing instance 704 and logging system 714 in the cloud. Therefore, the hash value comprising log data value and template identifier is transmitted to the data store);
at the first microservice, when the first template identifier is not previously registered, dynamically creating the first template identifier and mapping the first template identifier to the log message template, wherein the log message template was previously defined in a code of the first microservice (see Fig. 5C, steps 528, 530, 534, showing when log template identifier is not present in the lookup table, adding the template identifier to the lookup table and mapping the template identifier to log template and storing the mapping in a data store. Figs. 1A and 1B show log template is associated with the application source code as further explained in Col. 11, line 67, and Col. 12, lines 1-7, “As in block 508, the log template and the template identifier may be packaged into an application executable for use by a logging utility, associated with the application executable, which identifies the log template in a log message output by the application and substitutes the log template with the template identifier and stores the template identifier with log data values included in the original log message);
[[wherein each of the microservices can be deployed independently]].
Kesarwani does not explicitly teach a plurality of microservices, each of the microservices having a corresponding different log agent and deployed on a cloud infrastructure; wherein each of the microservices can be deployed independently.
Rajagopalan teaches:
a plurality of microservices, each of the microservices having a corresponding different log agent and deployed on a cloud infrastructure (paragraph 0049 discloses plurality of microservices each with a logging agent as shown in Fig. 5);
wherein each of the microservices can be deployed independently (paragraph 0027 discloses each of the microservices are deployed independently as stated “Each microservice of a microservice-based application is developed, deployed and managed independent of other constituent microservices of the microservice-based application.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Kesarwani to incorporate the teaching of Rajagopalan about plurality of independently deployable microservices with respective logging agents. One would be motivated to do that to enhance agility of the system by using microservice architecture and improve the performance of the system by independently updating each of microservices without affecting other microservices as it is required in a rapidly evolving heterogenous system (see paragraph 0027 of Rajagopalan).
As to claim 2, the rejection of claim 1 is incorporated. Kesarwani in view of Rajagopalan all the limitations of claim 1.
Kesarwani further teaches the transmitted first log message consisting of the identifier and the zero or more required parameters (also see Col. 17, lines 62-67, discloses template identifier and log data value as stated “As in block 534, the log data values and the template identifier may be stored to a log data store where the template identifier may be used to identify and retrieve the log template from the template data store in the event that the log message is reconstructed using the log template and the log data values.”).
As to claim 4, the rejection of claim 1 is incorporated. Kesarwani in view of Rajagopalan teach all the limitations of claim 1.
Kesarwani further teaches further comprising: in response to a request to retrieve log messages, regenerating each log message by retrieving stored log templates and fitting parameters within each retrieved log templates (Col. 12, lines 62-67, discloses reconstruing the log message bases on the log template identifier and log data value as stated “As in block 534, the log data values and the template identifier may be stored to a log data store where the template identifier may be used to identify and retrieve the log template from the template data store in the event that the log message is reconstructed using the log template and the log data values.” ).
As to claim 5, the rejection of claim 1 is incorporated. Kesarwani in view of Rajagopalan teach all the limitations of claim 1.
Kesarwani further teaches wherein the first log agent is implicit within the first microservice (Figs. 1A and 1B shows logging utility is associated with the application as further explained in Col. 11, line 67, and Col. 12, lines 1-7, “As in block 508, the log template and the template identifier may be packaged into an application executable for use by a logging utility, associated with the application executable, which identifies the log template in a log message output by the application and substitutes the log template with the template identifier and stores the template identifier with log data values included in the original log message. Fig. 5C , step 530, shows dynamically adding new template identifier for new log message).
As to claim 6, the rejection of claim 1 is incorporated. Kesarwani in view of Rajagopalan teach all the limitations of claim 1.
Kesarwani further teaches wherein the first log agent is a sidecar of the first microservice ( Col. 7, lines 62-67, and Col. 8, lines 1-3, disclose centralized logging framework as stated “In another example, the log template data store 306 may provide a centralized repository of log templates available to logging systems throughout a computing network or computing service”. Also see Fig. 4).
As to claim 7, the rejection of claim 1 is incorporated. Kesarwani in view of Rajagopalan teach all the limitations of claim 1.
Kesarwani further teaches wherein the log event comprises one of an audit log or a service log (Col. 4, lines 31-32, discloses log of an application as stated “The logging utility 122 may receive log output from the application 124.”).
Regarding claim 8:
Claim 8 is directed towards a computer readable medium having instructions stored thereon that, when executed by one or more processors, cause the processors to perform the method of claim 1 (Fig. 9 shows the detail of computing device 910). Accordingly, it is rejected under similar rationale.
Claim 9 is directed towards a computer readable medium performing the method of claim 2. Accordingly, it is rejected under similar rationale.
Claim 11 is directed towards a computer readable medium performing the method of claim 4. Accordingly, it is rejected under similar rationale.
Claim 12 is directed towards a computer readable medium performing the method of claim 5. Accordingly, it is rejected under similar rationale.
Claim 13 is directed towards a computer readable medium performing the method of claim 6. Accordingly, it is rejected under similar rationale.
Claim 14 is directed towards a computer readable medium performing the method of claim 7. Accordingly, it is rejected under similar rationale.
Regarding claim 15:
Claim 15 is directed towards a cloud based logging framework comprising: one or more processors configured to perform the method of claim 1 (Fig. 9 shows the detail of computing device 910). Accordingly, it is rejected under similar rationale.
Claim 16 is directed towards a cloud based logging framework performing the method of claim 2. Accordingly, it is rejected under similar rationale.
Claim 18 is directed towards a cloud based logging framework performing the method of claim 4. Accordingly, it is rejected under similar rationale.
Claim 19 is directed towards a cloud based logging framework performing the method of claim 5. Accordingly, it is rejected under similar rationale.
Claim 20 is directed towards a cloud based logging framework performing the method of claim 6. Accordingly, it is rejected under similar rationale.
Claim 21 is directed towards a cloud based logging framework performing the method of claim 7. Accordingly, it is rejected under similar rationale.
Claims 22 and 23 are rejected under 35 U.S.C. 103 as being unpatentable over Kesarwani in view of Rajagopalan and further in view of Wilson et al. (US PGPUB No. US 20230132934 A1), hereinafter, Wilson.
As to claim 22, the rejection of claim 15 is incorporated. Kesarwani in view of Rajagopalan teach all the limitations of claim 15.
Kesarwani does further comprising a cloud infrastructure that hosts a plurality of microservices, the cloud infrastructure comprising: a first virtual cloud network (VCN) comprising a local peering gateway (LPG) communicatively coupled to a secure shell (SSH) VCN via the LPG; wherein the LPG is contained in a control plane VCN and the SSH VCN is communicatively coupled to a data plane VCN.
Wilson teaches further comprising a cloud infrastructure that hosts a plurality of microservices, the cloud infrastructure comprising: a first virtual cloud network (VCN) comprising a local peering gateway (LPG) communicatively coupled to a secure shell (SSH) VCN via the LPG; wherein the LPG is contained in a control plane VCN and the SSH VCN is communicatively coupled to a data plane VCN (see paragraph 0184 stating “The VCN 1206 can include a local peering gateway (LPG) 1210 that can be communicatively coupled to a secure shell (SSH) VCN 1212 via an LPG 1210 contained in the SSH VCN 1212. The SSH VCN 1212 can include an SSH subnet 1214, and the SSH VCN 1212 can be communicatively coupled to a control plane VCN 1216 via the LPG 1210 contained in the control plane VCN 1216. Also, the SSH VCN 1212 can be communicatively coupled to a data plane VCN 1218 via an LPG 1210. The control plane VCN 1216 and the data plane VCN 1218 can be contained in a service tenancy 1219 that can be owned and/or operated by the IaaS provider.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Kesarwani and Rajagopalan to incorporate the teaching of Wilson. One would be motivated to do that to allow users or customers of the system to store databases privately without needing to rely on public Internet 1254, which may not have a desired level of threat prevention, for storage (see paragraph 0194 of Wilson).
Claim 23 is directed towards method performed by the cloud based logging framework of claim 22. Accordingly, it is rejected under similar rationale.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAMAL M HOSSAIN whose telephone number is (571)270-3070. The examiner can normally be reached 9:30-5:30 M-F.
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, John Follansbee can be reached at (571)272-3964. 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.
April 15, 2026
/KAMAL M HOSSAIN/ Primary Examiner, Art Unit 2444