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 .
This office action is in response to Applicant’s preliminary amendment filed May 28, 2024. Claims 4-16 have been amended. Claims 1-16 are pending.
Information Disclosure Statement
The IDS filed 5/23/2024, 11/19/2024, 12/18/2024 and 1/27/2025 have been considered.
Claim Interpretation
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 following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
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) or pre-AIA 35 U.S.C. 112, sixth paragraph, 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) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(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) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, 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) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, 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) or pre-AIA 35 U.S.C. 112, sixth paragraph, 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) or pre-AIA 35 U.S.C. 112, sixth paragraph, 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) or pre-AIA 35 U.S.C. 112, sixth paragraph, 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 limitation(s) is/are: processing units in claim 16.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (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) or pre-AIA 35 U.S.C. 112, sixth paragraph.
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.
Claim 11 is 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.
Claim 11 recites the limitation "the value of the production parameter." There is insufficient antecedent basis for this limitation in the claim.
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.
Claim(s) 1-4, 6, and 11-16 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Carpman et al., (US 7894460, hereinafter referred to as “Carpman”).
Regarding claim 1, Carpman teaches in an electronic computing system, a method of processing device data available in a supervised production environment comprising production devices (abstract - SCADA system), the method comprising:
receiving a data request for providing production data related to a production parameter of a production device (col. 3, lines 27-32: a SCADA system may be configured to send a request to a PLC controller for the values recorded at addresses in memory representing the then current value of a sensor within an industrial plant, or a discrete state of a component in the industrial plant);
obtaining device connectivity data related to the production device (col. 7, lines 16-22: a SCADA system may be configured to send a request to a PLC controller for the values recorded at addresses in memory representing the then current value of a sensor within an industrial plant, or a discrete state of a component in the industrial plant);
setting up a data request message for requesting the production data in accordance with the device connectivity data (col. 7, lines 30-43: At startup, the PLC protocol converter application 235 reads the configuration file 225 describing which PLC addresses are desired and which MODBUS addresses to map them to. In one embodiment, the information read from the configuration file 225 is evaluated in order to construct a set of messages used by the first thread 240 to gather the data values from the PLC device 115. For example, NITP is limited in how many elements of data that can be communicated in one message, thus the messages are generally constructed to ensure that the PLC device 115 is not overburdened with data requests. Once the messages are constructed, the first thread 240 begins sending them one at a time to the PLC device 115, each time awaiting a response before sending the next one.);
addressing a production device communication module of the production device in accordance with the device connectivity data (col. 7, line 40-49: Once the messages are constructed, the first thread 240 begins sending them one at a time to the PLC device 115, each time awaiting a response before sending the next one. Data from each successive response is stored in the shared memory array 250, for use by the second thread 245 of the PLC protocol converter application 235. In one embodiment, the first thread 240 sends the messages repeatedly at regular intervals in an infinite loop, until an interrupt is received directing the PLC protocol converter application 235 to shut down.);
if the addressing is successful, sending the data request message to the production device communication module in accordance with the device connectivity data (col. 7, line 40-49: Once the messages are constructed, the first thread 240 begins sending them one at a time to the PLC device 115, each time awaiting a response before sending the next one.);
receiving the requested data related to a production parameter of the production device from the production device communication module (col. 8, lines 36-39: the SCADA system 130 may request any of the numeric data values 335 by sending a message to second thread 245 over the Ethernet connection 210.); and
presenting the received data (col. 8, lines 39-42: In response, the second 245 thread retrieves the requested values from the shared memory array 250 and transmits them to SCADA system 130 over the Ethernet connection 210).
Regarding claim 2, Carpman teaches the method according to claim 1, wherein the addressing comprises verifying whether the communication module can provide the data related to the production parameter (abstract - A programmable logic controller (PLC) protocol converter is disclosed that allows a supervisory control and data acquisition (SCADA) system to effectively communicate with a PLC device using a desired communications protocol, particularly in cases where the PLC device does not "speak" the desired communications protocol. A first thread may be configured to continually read PLC addresses, one at a time, using a communications protocol understood by the PLC device. The first thread may store the data values in the shared data array within program memory. Thus, the first thread exposes data from the PLC device, as specified in the configuration file.).
Regarding claim 3, Carpman teaches the method according to claim 2, wherein: the device connectivity data comprises an address of the production device communication module (abstract – PLC addresses); and verifying whether the communication module can provide the data related to the production parameter comprises verifying whether the communication module can be addressed using the address of the production device communication module comprised by the device connectivity data (abstract - A first thread may be configured to continually read PLC addresses, one at a time, using a communications protocol understood by the PLC device. The first thread may store the data values in the shared data array within program memory. Thus, the first thread exposes data from the PLC device, as specified in the configuration file.).
Regarding claims 4, Carpman teaches the method according to claim 2, wherein verifying whether the communication module can provide the data related to the production parameter comprises verifying whether the communication module has data available related to the production parameter (col. 8, lines 24-42: Illustratively, FIG. 3 shows an "LPV1," address a "V101" address and an "LSP3" address being pulled from the PLC device 115, and stored in the first three array slots of the numeric data values 335 in shared memory array 250. As is known, the "LPV1," "V101," and "LSP3" addresses correspond to process variable for control loop 1, general memory variable 101, and setpoint for control loop 3, respectively, for the Siemens Series 505 PLC device. Further, in this example, the array slots map to the first three values for a "40,000" series of MODBUS addresses. As is also known, MODBUS addresses are subdivided into blocks, the "40,000" series being universally understood to be "holding registers", containing numeric data. In one embodiment, the SCADA system 130 may request any of the numeric data values 335 by sending a message to second thread 245 over the Ethernet connection 210. In response, the second 245 thread retrieves the requested values from the shared memory array 250 and transmits them to SCADA system 130 over the Ethernet connection 210, as indicated by an arrow 320).
Regarding claim 6, Carpman teaches the method according to claim 1, wherein: the device connectivity data comprises data related to a first data communication protocol arranged for communication with the production device communication module ((col. 7, lines 30-43: At startup, the PLC protocol converter application 235 reads the configuration file 225 describing which PLC addresses are desired and which MODBUS addresses to map them to. In one embodiment, the information read from the configuration file 225 is evaluated in order to construct a set of messages used by the first thread 240 to gather the data values from the PLC device 115.); and
setting up a data request message in accordance with the device connectivity data comprises formatting the data request message in accordance with the first data communication protocol (col. 10, lines 1-7: In one embodiment, the request may be formatted as a MODBUS request for a range of MODBUS addresses. At step 445, the second thread 245 retrieves the requested values from the shared memory array 250, and at step 450, transmits the requested data to the SCADA system 130 in the appropriate format (e.g., a MODBUS format).).
Regarding claim 11, Carpman teaches the method according to claim 1, wherein the data request message comprises a request for the value of the production parameter (abstract - The first thread may store the data values in the shared data array within program memory.).
Regarding claim 12, Carpman teaches the method according to claim 11, wherein the data request message comprises a request for meta data related to the production parameter (col. 1, lines 37-41: Additionally, a PLC may be configured to respond to requests for information on what value was recorded for a given sensor at any given point in time. Such requests typically take the form of a request for a specific memory location or database value.).
Regarding claim 13, Carpman teaches the method according to claim 1, wherein the electronic computing system comprises a data server (figure 1: SCADA system 135) and a connectivity server (figure 1: HTTP server 148), the method further comprising: sending, by the data server, the connectivity data and a parameter identifier identifying the production parameter to the connectivity server (col. 3, lines 27-32: a SCADA system may be configured to send a request to a PLC controller for the values recorded at addresses in memory representing the then current value of a sensor within an industrial plant, or a discrete state of a component in the industrial plant); receiving, by the connectivity server, the connectivity data and the parameter identifier (col. 7, lines 16-22: a SCADA system may be configured to send a request to a PLC controller for the values recorded at addresses in memory representing the then current value of a sensor within an industrial plant, or a discrete state of a component in the industrial plant); wherein the connectivity server executes the setting up of the data request message, the addressing of the production device and the sending of the data request; receiving, by the connectivity server, the requested data related to the production parameter of the production device from the production device communication module (col. 8, lines 36-39: the SCADA system 130 may request any of the numeric data values 335 by sending a message to second thread 245 over the Ethernet connection 210.); and sending, by the connectivity server, the requested data related to the production parameter of the production device (col. 8, lines 39-42: In response, the second 245 thread retrieves the requested values from the shared memory array 250 and transmits them to SCADA system 130 over the Ethernet connection 210).
Regarding claim 14, Carpaman teaches the method according to claim 13 wherein: the device connectivity data comprises data related to a first data communication protocol arranged for communication with the production device communication module (col. 7, lines 30-43: At startup, the PLC protocol converter application 235 reads the configuration file 225 describing which PLC addresses are desired and which MODBUS addresses to map them to. In one embodiment, the information read from the configuration file 225 is evaluated in order to construct a set of messages used by the first thread 240 to gather the data values from the PLC device 115. For example, NITP is limited in how many elements of data that can be communicated in one message, thus the messages are generally constructed to ensure that the PLC device 115 is not overburdened with data requests. Once the messages are constructed, the first thread 240 begins sending them one at a time to the PLC device 115, each time awaiting a response before sending the next one.); and setting up a data request message in accordance with the device connectivity data comprises formatting the data request message in accordance with the first data communication protocol, wherein the requested data related to the production parameter received by the connectivity server is received in accordance with the first protocol, the method further comprising: setting up, by the connectivity server, a data presentation message comprising the requested data, in accordance with a second data communication protocol different from the first data communication protocol (col. 7, lines 30-43: At startup, the PLC protocol converter application 235 reads the configuration file 225 describing which PLC addresses are desired and which MODBUS addresses to map them to. In one embodiment, the information read from the configuration file 225 is evaluated in order to construct a set of messages used by the first thread 240 to gather the data values from the PLC device 115. For example, NITP is limited in how many elements of data that can be communicated in one message, thus the messages are generally constructed to ensure that the PLC device 115 is not overburdened with data requests. Once the messages are constructed, the first thread 240 begins sending them one at a time to the PLC device 115, each time awaiting a response before sending the next one.); and sending, by the connectivity server, the requested data related to the production parameter of the production device to the data server in accordance with the second data communication protocol (col. 7, line 40-49: Once the messages are constructed, the first thread 240 begins sending them one at a time to the PLC device 115, each time awaiting a response before sending the next one. Data from each successive response is stored in the shared memory array 250, for use by the second thread 245 of the PLC protocol converter application 235. In one embodiment, the first thread 240 sends the messages repeatedly at regular intervals in an infinite loop, until an interrupt is received directing the PLC protocol converter application 235 to shut down.).
Regarding claim 15, Carpman teaches the method according to claim 1, the method further comprising: sending, by the connectivity server, to the data server, a request for connectivity data and a parameter identifier; wherein the sending of the connectivity data is executed in response to the request for connectivity data and a parameter identifier (col. 1, line 55 to col. 2, line 7: One embodiment of the invention provides a method for exposing data from a programmable logic controller (PLC) device. The method generally includes accessing a configuration file identifying a plurality of PLC addresses to expose and initializing a shared memory array. The shared memory array includes a plurality of elements each used to store data obtained from the PLC device. The method also includes invoking a first thread. The first thread is may generally be configured to, repeatedly, transmit a request for one of the identified PLC addresses and store a data value returned by the PLC device in response to the request in one of the elements of the shared memory array. Each request is configured according to a first communication protocol. The method may also include invoking a second thread. The second thread may generally be configured to receive a request, communicated according to a second communication protocol, for one or more of the data values stored in the shared memory array, to retrieve the requested one or more data values, and to return the requested data values in a format consistent with the second communication protocol.).
Claim 16 is similar to claim 1, therefore is rejected under the same rationale as claim 1. It differs in that it further recites computing system comprising an input, and processing units. Nevertheless, Carpman teaches an input (figure 2: 205), and processing units (figure 2: 215).
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.
Claim(s) 5, and 7-10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Carpman in view of MAHNKE (US 20100306313).
Regarding claim 5, Carpman does not teach the method according to claim 2, further comprising, if the verifying fails, setting a status of the production parameter to a first classification. Mahnke teaches if the verifying fails, setting a status of the production parameter to a first classification ([0025] Depending on locking mechanisms implemented in the OPC UA server 5, the OPC UA client 7 can receive notification of special status codes for OPC UA service requests if actions fail on account of locking restrictions or timeouts. OPC UA clients which do not use transactions can also receive such status codes because particular values may be blocked.). Before the effective filing date, one of ordinary skill in the art would have been motivated to set a status of the production parameters in order to clearly communicate with administrator thus facilitating in data management.
Regarding claim 7, Carpman does not teach the method according to claim 1, wherein the received data related to the production parameter comprises a received data value for the production parameter, the method further comprising: verifying that the received data value is a value valid for the production parameter; if the received data value is verified to be valid, setting a status of the production parameter to a second classification.
Mahnke teaches wherein the received data related to the production parameter comprises a received data value for the production parameter, the method further comprising: verifying that the received data value is a value valid for the production parameter; if the received data value is verified to be valid, setting a status of the production parameter to a second classification ([0028] In order to confirm a transaction if necessary, an OPC UA client 7 can call a method for confirming a transaction. In this case, the OPC UA server 5 attempts to make all changes persistent. If the changes cannot be permanently accepted, the OPC UA server 5 can abort the transaction and return the confirmation method together with a corresponding status code. If all desired changes can become persistent, the OPC UA server 5 reports back a corresponding result.). The motivation to combine is the same as claim 5.
Regarding claim 8, Carpman does not teach the method according to claim 1, wherein the received data related to the production parameter comprises a received data value for the production parameter, the method further comprising: comparing the received data value to an earlier data value for the production parameter; and if the received data value is different from the earlier data value, setting a status of the production parameter to a second classification.
Mahnke teaches wherein the received data related to the production parameter comprises a received data value for the production parameter, the method further comprising: comparing the received data value to an earlier data value for the production parameter ([0026] An OPC UA client 7 can also receive notification of status codes which identify those parts of an OPC UA service request which resulted in the error message. If, for example, five values were intended to be written, it can be reported that the operation of writing the second and fourth values failed.); and if the received data value is different from the earlier data value, setting a status of the production parameter to a second classification ([0027] If an OPC UA client 7 would like to abort a transaction, it calls a method for aborting the transaction. In this case, all changes which have already been made to the system are withdrawn. For example, the OPC UA server 5 can be reset to the status before the changes. However, depending on the locking mechanism selected, OPC UA clients can be affected if they accessed data during the change.). The motivation to combine is the same as claim 5.
Regarding claim 9, Carpman does not teach the method according to claim 1, wherein the received data related to the production parameter comprises a received data value for the production parameter, the method further comprising: comparing the received data value to an earlier data value for the production parameter; and if the received data value is the same as the earlier data value, setting a status of the production parameter to a third classification.
Mahnke teaches wherein the received data related to the production parameter comprises a received data value for the production parameter, the method further comprising: comparing the received data value to an earlier data value for the production parameter ([0026] An OPC UA client 7 can also receive notification of status codes which identify those parts of an OPC UA service request which resulted in the error message. If, for example, five values were intended to be written, it can be reported that the operation of writing the second and fourth values failed.); and if the received data value is the same as the earlier data value, setting a status of the production parameter to a third classification ([0027] If an OPC UA client 7 would like to abort a transaction, it calls a method for aborting the transaction. In this case, all changes which have already been made to the system are withdrawn. For example, the OPC UA server 5 can be reset to the status before the changes. However, depending on the locking mechanism selected, OPC UA clients can be affected if they accessed data during the change.). The motivation to combine is the same as claim 5.
Regarding claim 10, Carpman does not teach the method according to claim 1, wherein the received data related to the production parameter does not comprise a received data value for the production parameter, the method further comprising: determining whether an earlier data value for the production parameter is available; and if no earlier data value for the production parameter is available, setting a status of the production parameter to a third classification.
Mahnke teaches wherein the received data related to the production parameter does not comprise a received data value for the production parameter, the method further comprising: determining whether an earlier data value for the production parameter is available; and if no earlier data value for the production parameter is available, setting a status of the production parameter to a third classification ([0027] If an OPC UA client 7 would like to abort a transaction, it calls a method for aborting the transaction. In this case, all changes which have already been made to the system are withdrawn. For example, the OPC UA server 5 can be reset to the status before the changes. However, depending on the locking mechanism selected, OPC UA clients can be affected if they accessed data during the change.). The motivation to combine is the same as claim 5.).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Mahnke, US 8423608 - communicating between clients and servers of a client/server system using an OPC UA protocol.
Todorov et al., US 7644120 - data access server systems providing access by supervisory level client applications to process control information.
Zhang et al., US 20150066979 - managing addresses of devices within an automation control system.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALINA N BOUTAH whose telephone number is (571)272-3908. The examiner can normally be reached M-F 7:00 AM - 3:00 PM.
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, Umar Cheema can be reached at (571) 270-3037. 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.
ALINA BOUTAH
Primary Examiner
Art Unit 2458
/ALINA A BOUTAH/Primary Examiner, Art Unit 2458