DETAILED ACTION
Notice of 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 .
Priority
Receipt is acknowledged of applicant’s claim for foreign priority under 35 U.S.C. 119 (a)-(d) and of certified copies of papers required by 37 CFR 1.55.
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 2023-11-21, 2023-12-12, and 2024-08-20 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
35 USC § 112(f)
The following is a quotation of 35 U.S.C. 112(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 that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f), because the claim limitations use 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: the “at least one program flow control device” and “an inspection device” that are configured to perform various functions in claim 26.
Because these claim limitations are being interpreted under 35 U.S.C. 112(f), they are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
A review of the specification is unclear as to the corresponding structure or acts described in the specification for the 35 U.S.C. 112(f) limitations.
If applicant does not intend to have these limitations interpreted under 35 U.S.C. 112(f), applicant may: (1) amend the claim limitations to avoid 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 limitations recite sufficient structure to perform the claimed function so as to avoid them being interpreted under 35 U.S.C. 112(f).
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.
Claim 26 is rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which applicant regards as the invention. Specifically, with regard to claim 26, claim elements “at least one program flow control device ... configured to” and “an inspection device ... configured to” perform various functions are limitations that invoke 35 U.S.C. 112(f). However, the written description fails to disclose the corresponding structure, material, or acts for performing the entire claimed function(s) and to clearly link the structure, material, or acts to the function(s). In particular, the Specification does not explicitly disclose what structure performs the claimed function(s).
Applicant may:
(a) Amend the claim so that the claim limitations will no longer be interpreted as a limitation under 35 U.S.C. 112(f);
(b) Amend the written description of the specification such that it expressly recites what structure, material, or acts perform the entire claimed functions, without introducing any new matter (35 U.S.C. 132(a)); or
(c) Amend the written description of the specification such that it clearly links the structure, material, or acts disclosed therein to the functions recited in the claim, without introducing any new matter (35 U.S.C. 132(a)).
If applicant is of the opinion that the written description of the specification already implicitly or inherently discloses the corresponding structure, material, or acts and clearly links them to the functions so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed functions, applicant should clarify the record by either:
(a) Amending the written description of the specification such that it expressly recites the corresponding structure, material, or acts for performing the claimed functions and clearly links or associates the structure, material, or acts to the claimed functions, without introducing any new matter (35 U.S.C. 132(a)); or
(b) Stating on the record what the corresponding structure, material, or acts, which are implicitly or inherently set forth in the written description of the specification, perform the claimed functions. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 14-27 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Weiss (US Pre-Grant Publication No. 20220198000-A1, hereinafter “Weiss”).
With respect to independent claim 14, Weiss discloses a method for securely executing control applications, in which for at least one control application, at least one event being defined which is triggered in an event of potential manipulation of program code assigned to at least one of the control application and at least one peripheral device which is connected to a program flow controller processing the program code {Preamble carries no patentable weight as it does not result in a structural or functional difference; See MPEP § 2111.02(II)}, the method comprising:
monitoring, by the program flow control device, a flow of the control application for deviations from an expected flow behavior and triggering the defined at least one event upon occurrence of a deviation {paras. 0076-0078: “execution-monitoring unit 128 is configured to … detect, using a predetermined execution-anomaly criterion defining at least one undesired deviation of the retrieved execution information 127”; there is indirect monitoring “via an observation-output interface 108”}.
continually processing, subsequent to triggering of the defined at least one event, the program code by the program flow control device {paras. 0024 and 0078-0079: “the cybersecurity-monitoring engine, which continuously receives execution information from the PUO”} and signaling the defined at least one event to an inspection device separate from the program flow control device {paras. 0078 and 0082: “execution-monitoring unit 128 is configured to provide a monitoring-output signal 130 indicative of the detected execution anomaly”, wherein “the cybersecurity-protection unit 190 is a plug-in device, which is added to an information and communications technology (ICT) system and removably connected to the PUO 102”}.
analyzing, by the inspection device, a flow behavior of the control application and control components in a dependency relationship thereto using updatable inspection rules upon the signaling of the at least one event {para. 0116: “execution-monitoring processor 428.2 is configured to compare the observed and the expected jump-out instruction address and jump-in instruction address”; functions or code at the destination address are dependent upon jumps from source}, the updatable inspection rules being updated independently of the flow of the control application {para. 0116: “the pre-generated execution pattern information 125 received from the memory unit 124 comprises at least one association of an expected jump-out instruction address to an expected jump-in instruction address”}.
transferring, by the inspection device, the control application and the control components in a dependency relationship thereto to a predefined safe operating state upon detection of a flow behavior of the control application contravening the inspection rules {para. 0126: “If conditions associated to one of the two steps are not fulfilled, the monitoring output signal 130 is output, indicated by a step labeled ‘Anomaly detected’. As a result, the release of temporarily stored output data from the PUO 102 by the latency-output-buffer unit 140 is blocked”}.
With respect to dependent claim 15, Weiss discloses wherein the at least one event comprises at least one of a designation of a code location within the program code, a time of occurrence of the defined event, an event type and an error type {para. 0116: “execution-monitoring processor 428.2 is configured to perform, in a first step, a strict analysis of the jump-in instruction address and the jump-out instruction address of each branch instruction executed by the PUO 102”}.
With respect to dependent claim 16, Weiss discloses wherein the predefined safe operating state comprises at least one of stopping the control application, stopping the control components in a dependency relationship to the control application, activating a fault operating mode of an industrial automation device implemented via the control application and signaling an alarm to an operator of an industrial automation system comprising the automation device {para. 0126: “If conditions associated to one of the two steps are not fulfilled, the monitoring output signal 130 is output, indicated by a step labeled ‘Anomaly detected’. As a result, the release of temporarily stored output data from the PUO 102 by the latency-output-buffer unit 140 is blocked”}.
With respect to claim 17, a corresponding reasoning as given earlier in this section with respect to claim 16 applies, mutatis mutandis, to the subject matter of claim 17; therefore, claim 17 is rejected, for similar reasons, under the grounds as set forth for claim 16.
With respect to dependent claim 18, Weiss discloses wherein the control application and the control components in a dependency relationship thereto are stopped by a transfer into the predefined safe operating state within a specified time period after the at least one event has been signaled {para. 0126: “If conditions associated to one of the two steps are not fulfilled, the monitoring output signal 130 is output, indicated by a step labeled “Anomaly detected”. As a result, the release of temporarily stored output data from the PUO 102 by the latency-output-buffer unit 140 is blocked”; predefined time is the buffer analysis processing time}.
With respect to dependent claim 19, Weiss discloses wherein the inspection device analyzes manipulations of the program code assigned to the control application and manipulations of the control components in a dependency relationship thereto in combination {paras. 0116-0118: “execution-monitoring processor 428.2 is configured to perform, in a first step, a strict analysis of the jump-in instruction address and the jump-out instruction address of each branch instruction executed by the PUO 102”, note “execution-anomaly criterion defines an executed branch instruction to be the undesired deviation, if the observed jump-in instruction address is not one of the permitted jump-in instruction addresses indicated by the pre-generated execution pattern information” – the jump address shows dependency relationship}.
With respect to dependent claim 20, Weiss discloses wherein the inspection device analyzes the flow behavior of the control application and the control components in a dependency relationship thereto depending on at least one of an operational state of the program flow control device and at least one selected state {paras. 0116-0118: “the pre-generated execution pattern information 125 received from the memory unit 124 comprises at least one association of an expected jump-out instruction address to an expected jump-in instruction address. The execution-monitoring processor 428.2 is configured to compare the observed and the expected jump-out instruction address and jump-in instruction address”}.
With respect to dependent claim 21, Weiss discloses wherein the program code of the control application is created via a first compile flag; wherein the first compile flag activates at least one code sequence in the program code to implement inspections for indirect function jumps; and wherein the inspections are performed on each run of the control application {para. 0127: “For direct branch instructions whose branch instructions are known at compile time, this can be achieved by analyzing the application program code itself. For indirect branch instructions whose branch instructions are only known at runtime, so called ‘golden’ system runs have to be performed with the uncompromised application program, wherein the jump-in instruction addresses of indirect branch instructions are recorded for a plurality of executions under varying conditions”}.
With respect to dependent claim 22, Weiss discloses wherein the inspections are utilized to inspect a function prototype of a called function during function calls {paras. 0123-0127: “‘golden’ system runs have to be performed with the uncompromised application program, wherein the jump-in instruction addresses of indirect branch instructions are recorded for a plurality of executions under varying conditions” and “‘(optional) parameter for specific policies’, the table ‘Buckets’ can also be used to verify the context in which a branch instruction is executed”; the Examiner notes that the use of function prototypes in code development is a well-known context and its analysis in the context would be at once envisaged; See MPEP § 2131.02(III)}.
With respect to dependent claim 23, Weiss discloses wherein the program code of the control application is created via a second compile flag; and wherein the second compile flag activates at least one code sequence in the program code, via which the program flow control device is caused to continue processing the program code of the control application pending further notice in the event of the deviation in the flow of the control application from the expected flow behavior {para. 0143: “removal of the branch instruction enables the execution of previously not executable instructions with instruction addresses in the range from ‘110’ to ‘120’” at least until “such a modification is detected by the cybersecurity-monitoring engine”}.
With respect to dependent claim 24, Weiss discloses wherein events triggered by the program flow control device during operation of the control application in a secured environment are learned by the inspection device as false positives, which should be ignored by the inspection device when a corresponding event is signaled after completion of operation in the secured environment; and wherein the inspection rules are at least one of created and updated according to the learned false positives {para. 0141: “the jump-in instruction address of the two indirect branch instructions could be identified. Moreover, the end of range for the branch instructions is given by the instruction address ‘109’ and instruction address ‘53’, respectively. A third entry of the table ‘Buckets’ corresponds to the indirect branch instruction associated with instruction address ‘53’. Labels ‘??’ indicate that conducted ‘golden’ system runs did not suffice to determine the jump-in instruction address and the end of range”; all golden system values are known-good (any hit of them is a false positive)}.
With respect to dependent claim 25, Weiss discloses wherein events signaled to the inspection device in a learning phase are classified selectively as critical or non-critical according to user interaction; and wherein the inspection rules are at least one of created and updated according to a classification of the events as critical or non-critical {paras. 0126-0127: “If the respective pair of instruction addresses is comprised within the hash table, the execution-monitoring processor 428.2 checks if the associated policies, if any, are fulfilled, which is indicated by a step labeled ‘Specific policies ok?’”; presence of specific policies show criticality}.
With respect to claims 26-27, a corresponding reasoning as given earlier in this section with respect to claim 14 applies, mutatis mutandis, to the subject matter of claims 26-27; therefore, claims 26-27 are rejected, for similar reasons, under the grounds as set forth for claim 14.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Kevin Bechtel whose telephone number is 571-270-5436. The examiner can normally be reached Monday - Friday, 09:00 - 17:00 ET.
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, William (“Bill”) Korzuch can be reached at 571-272-7589. 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.
/Kevin Bechtel/
Primary Examiner, Art Unit 2491