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 .
Response to Amendment
With respect to Applicant’s amendment of claims 1-2 and 5-6 with regards to the rejection under 35 U.S.C. 101, rejections with respect to the same have been withdrawn.
Claim Objections
Claims 9 and 12 are objected to because of the following informalities:
a. Claim 9 recites “the parsed service definition output” which lacks proper antecedent basis. The Office has interpreted this as “the parsed service definition file output.”
b. Claim 12 recites the limitation " the one or more tool components" in Lines 5, 6 and 7, which lacks proper antecedent basis. The Office notes that Claim 7, Line 13 recites "one or more parent tool components" and "one or more child tool components.” For purposes of examination "the one or more tool components" in Lines 5, 6 and 7 have been interpreted these as "the one or more parent and child tool components.”
Appropriate correction is required.
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 1 and 4-6 are rejected under 35 U.S.C. 103 as being unpatentable over Senda (US PGPUB 2023/0176852; hereinafter “Senda”) in view of Nolterieke et al. (US PGPUB 2011/0154313; hereinafter “Nolterieke”), Feazle et al. (US PGPUB 2025/0291573; hereinafter “Feazle”) and Mazur et al. (US PGPUB 2021/0216061; hereinafter “Mazur”).
Claim 1: (Currently Amended)
Senda teaches a method, comprising:
receiving an indication of an electromechanical tool system comprising two or more tool components, wherein each tool component is configured to perform a respective service ([0002] “a control device such as a programmable logic controller (hereinafter, referred to as PLC).” [0064] “A unit configuration diagram showing the components of the control device 300 is displayed on the update screen. Here, a PLC is exemplified as the control device 300. The denotations are as follow: ‘PLC1’ for the PLC; ‘POW’ for the power supply unit; ‘CPU’ for the CPU unit; and Numbers ‘1’ to ‘7’ for Slots 1 to 7 to mount the functional units. As illustrated, the functional units are mounted on Slots 1, 2, and 4. It is also shown that a servo controller ‘SV1’ is connected to the functional unit mounted on Slot 1,” wherein the “functional units” are the “tool components”.);
retrieving electronic information for the two or more tool components based on the indication ([0005] “The engineering tool has various functions such as creating and editing a control program for the control device, setting control parameters, and monitoring processes performed, in which the engineering tool and the control device work together.” [0035] “The updated version acquisition unit 111 acquires the updated version information from the server 200.” [0064] “FIG. 8 is a diagram showing an example of an update screen.” [0066] “When a component is specified, the information related to the update of firmware, such as available updated versions of the functional unit, is displayed,” wherein the “the information … such as available updated versions of the functional unit” is the “electronic information”.); and
retrieving firmware information for the two or more tool components based on the indication ([0036] “The firmware information acquisition unit 121 acquires the firmware versions of the firmware installed in the control device 300 from the control device 300. In a case where the control device 300 includes a plurality of functional units, the firmware versions of the respective functional units are acquired.”).
With further regard to Claim 1, Senda does not teach the following, however, Nolterieke teaches:
generating a service definition file based on the electronic information and the firmware information, wherein the service definition file indicates a plurality of services capable of being performed by the two or more tool components ([0029] “comparing (206), by the firmware updating module, the information (126) describing the state of the currently installed components (212) to information (108) describing a state of the corresponding update components (214)… by determining, for each update component, whether the update component's state is more recent than the corresponding currently installed component's state.” [0030] “constructing (208), by the firmware updating module, a revised update package (106) that includes only update components (214) having a state more recent than the state of the corresponding currently installed components (212).”); and
outputting the service definition file to control operation of the electromechanical tool system ([0030] “Constructing (208) a revised update package (106)… may be carried out by copying, to a new storage location, only those update components having a more recent state as well as any portion of the update package necessary to effect installation of the update components.” [0031] “The method of FIG. 2 also includes updating (210), by the firmware updating module, the currently installed components (212) with corresponding update components (216) of the revised update package (106).”).
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 Senda with the generation of an update file based on a plurality of retrieved information as taught by Nolterieke as this results in a “reduced amount of time updating firmware by removing unnecessary updates of firmware components” (Nolterieke [0047]).
With further regard to Claim 1, Senda in view of Nolterieke does not teach the following, however, Feazle teaches:
wherein each tool component is configured to perform a respective service downhole in a wellbore within a geological formation ([012] “In operation, top drive 110 supports and rotates drill string 108 as it is lowered through well head 112. In this manner, drill string 108 (and/or a downhole motor) rotate a drill bit 114 coupled with a lower end of drill string 108 to create a borehole 116 through various formations… the drill bit 114 forms part of a bottom hole assembly 150.”);
wherein the service definition file indicates a plurality of services capable of being performed by the two or more tool components downhole in the wellbore within the geological formation; and controlling operation of the electromechanical tool system downhole in the wellbore within the geological formation based on the service definition file ([0010] “a computing system running in settings such as an oil and gas environment, in which the computing system has a surface software application providing an architecture that decouples applications and functions typically performed by surface software in the oil and gas environment (e.g., well planning, modeling, analysis, drilling, etc., also collectively referred to herein as ‘features’) from respective firmware and hardware components… the software architecture may maintain dependency data that maps software plugin features with capabilities of the hardware based on dependencies between the software plugins, firmware components, and hardware.” [0022] “surface software applications 214, which may be embodied as software and/or firmware for the aforementioned operations, such as communicating with drilling tools and downhole sensors.”).
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 Senda in view of Nolterieke with the wellbore environment usage as taught by Feazle as this results in “an improved and streamlined installation and update process, thereby reducing any potential system (and rig) downtime as a result” (Feazle [0010]).
With further regard to Claim 1, Senda in view of Nolterieke and Feazle does not teach the following, however, Mazur teaches:
wherein the service definition file comprises mappings indicating relationships or connections between the two or more tool components and a plurality of devices, wherein the plurality of devices comprise one or more circuit boards, one or more sensors, and one or more actuators ([0028] “the industrial device assembly 112 may include machinery used to perform various operations in a compression station, an oil refinery, a batch operation for making food items, a mechanical assembly line, and the like. Accordingly, the industrial device assembly 112 may include a variety of operational components, such as electric motors, valves, actuators, temperature elements, pressure sensors, networking sensors, or a myriad of machinery or devices used for manufacturing, processing, material handling, and other applications.” [0054] “the object model generated by the automatic commissioning system 110 may include a network model of the industrial device assembly 112. The network model of the industrial device assembly 112 may provide the network status of each industrial automation device… the automatic commissioning system 110 may generate the network model of the industrial device assembly 112, such as a network topology map. Upon display on an HMI interface, the network topology map of the industrial device assembly 112 may provide an indication of how each industrial automation device in the industrial device assembly 112 is communicatively connected to a respective switch or port in the industrial device assembly 112.” [0051] “the automatic commissioning system 110 may link the object model with the control system 104.” [0007] “The control system is automatically programmed based on the second data file to control one or more operations of each industrial automation device in the industrial device assembly”), and
wherein the service definition file comprises controller mappings relating command functions between one or more parent tool components and one or more child tool components of the two or more tool components ([0020] “The first data file may contain a hierarchical map of each industrial automation device within the industrial device assembly 112 and one or more key attributes associated with each industrial automation device,” wherein the “hierarchical map” comprises information regarding the parent/child “industrial automation devices,” i.e. “tool components”. [0035] “FIG. 4 illustrates a flow chart of a method 400 for programming a control system 104 of the industrial device assembly 112… the method 400 may include generating a first data file that includes specification data of an industrial device assembly 112… generating a second data file that contains one or more control blocks of code associated with each industrial automation device of the industrial device assembly 112 based on the first data file, mapping the control blocks of code in the second data file to one or more HMI visualizations associated with each industrial automation device, generating various models of the industrial device assembly 112 based on the first data file and the second data file, and programming a control system 104 of the industrial device assembly 112 to automatically control an operation each industrial automation device of the industrial device assembly 112,” wherein the “second data file” and “control blocks” are the claimed “service definition file comprises controller mappings” and “command functions” respectively. ).
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 Senda in view of Nolterieke and Feazle with the further service definition file elements as taught by Mazur as this “facilitates a reduction in the amount of time required to commission an industrial device assembly, a minimization in the amount of programming and upstart tasks a customer manually performs with regard to commissioning the industrial device assembly, and a reduction in the amount of possible programming errors that may occur due manual programming and configuration of the industrial device assembly” (Mazur [0018]).
Claim 4:
Senda in view of Nolterieke, Feazle and Mazur teaches all the limitations of claim 1 as described above. Senda in view of Nolterieke and Mazur does not teach the following, however, Feazle teaches wherein the service definition file that indicates the plurality of services capable of being performed by the two or more tool components comprises:
a first service hierarchical organization indicating a first subset of electronic information and firmware information ([0028] “the server 312 may also provide additional predefined dependency data, such as distinct dependency matrices that may be well-suited when deployed in a given use-case scenario (e.g., a dependency matrix specifically for drilling operation use cases, a dependency matrix specifically for facility and asset management use cases, a dependency matrix for remote monitoring and control).” [0036] “evaluate, based on a dependency matrix mapping compatibilities with the plurality of plugin components, hardware components, and firmware components, whether the update is compatible with the respective hardware component; and install, upon a determination that the update is compatible, the update on the system.”); and
a second service hierarchical organization indicating a second subset of electronic information and firmware information ([0041] “ the system to retrieve, from a server, a second dependency matrix; and update the dependency matrix with information from the second dependency matrix.” [0042] “wherein to evaluate whether the update is compatible with the respective hardware component comprises to query the dependency matrix to determine whether the update to the software plugin component is compatible with the respective firmware component and respective hardware component.”).
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 Senda in view of Nolterieke and Mazur with the subsets of information as taught by Feazle in order to “allow the operator to optimize the system and surface software for a given use case” (Feazle [0028]).
Claim 5: (Currently Amended)
Senda in view of Nolterieke, Feazle and Mazur teaches all the limitations of claim 1 as described above. Senda in view of Nolterieke and Mazur does not teach the following, however, Feazle teaches:
wherein the mappings of the service definition file includes firmware mappings and electronic mappings indicating relationships or connections between the two or more tool components and the plurality of devices for the electromechanical tool system, wherein the firmware mappings enable control of the electromechanical tool system via firmware ([0010] “the software architecture may maintain dependency data that maps software plugin features with capabilities of the hardware based on dependencies between the software plugins, firmware components, and hardware.” [0022] “dependency data 218, which may be embodied as any data that maps compatibilities between the surface software to hardware and firmware components.” [0036] “evaluate, based on a dependency matrix mapping compatibilities with the plurality of plugin components, hardware components, and firmware components, whether the update is compatible with the respective hardware component; and install, upon a determination that the update is compatible, the update on the system.”).
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 Senda in view of Nolterieke and Mazur with the information and firmware mappings as taught by Feazle as this “allows the software to rapidly install and/or update software plugins or firmware in the field, such as in instances where a new version of software or firmware is released, a new feature is added, or new hardware is installed” (Feazle [0010]).
With further regard to Claim 5, Senda in view of Nolterieke and Feazle does not teach the following, however, Mazur teaches:
wherein the electronic mappings enable control of the electromechanical tool system via software and/or measurements from the plurality of devices ([0028] “the industrial device assembly 112 may include a variety of operational components, such as electric motors, valves, actuators, temperature elements, pressure sensors, networking sensors, or a myriad of machinery or devices.” [0035] “generating a second data file that contains one or more control blocks of code associated with each industrial automation device of the industrial device assembly 112 based on the first data file, mapping the control blocks of code in the second data file to one or more HMI visualizations associated with each industrial automation device, generating various models of the industrial device assembly 112 based on the first data file and the second data file, and programming a control system 104 of the industrial device assembly 112 to automatically control an operation each industrial automation device of the industrial device assembly 112.”).
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 Senda in view of Nolterieke and Feazle with the electronic mappings as taught by Mazur as this “facilitates a reduction in the amount of time required to commission an industrial device assembly, a minimization in the amount of programming and upstart tasks a customer manually performs with regard to commissioning the industrial device assembly, and a reduction in the amount of possible programming errors that may occur due manual programming and configuration of the industrial device assembly” (Mazur [0018]).
Claim 6: (Currently Amended)
Senda in view of Nolterieke, Feazle and Mazur teaches all the limitations of claim 1 as described above. Senda in view of Nolterieke and Mazur does not teach the following, however, Feazle teaches:
wherein the two or more tool components comprise a downhole shifting component, a downhole milling component, a downhole cutting component, a downhole tractor component, a downhole collecting component, a downhole power component, a downhole drive component, a downhole telemetry component, or a combination thereof, configured to perform the respective service downhole in the wellbore within the geological formation ([0014] “Telemetry sub 128 communicates with detection tools 126 and transmits telemetry data to surface equipment (e.g., via mud pulse telemetry),” wherein “telemetry sub” is a type of “downhole telemetry component”. [0017] “Controller 152 includes processors, sensors, and other hardware/software such as a rotary steerable system (RSS)... While the controller 152 is shown and described as a single component that operates for a particular type of directional drilling, it is appreciated the controller 152 may include any number of sub-components that collectively communicate and operate to perform the above discussed functions,” wherein the “RSS” is a type of “downhole drive component”. [0026] “the management component 310 is configured to identify whether a given plugin is compatible with a firmware component 306 and/or sensor 304 (or other hardware component).” [0034] “the computing system 137 retrieves and installs the firmware update. During this period, the computing system 137 may cause the underlying hardware component to go offline”).
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 Senda in view of Nolterieke and Mazur with the information and firmware mappings as taught by Feazle as this “allows the software to rapidly install and/or update software plugins or firmware in the field, such as in instances where a new version of software or firmware is released, a new feature is added, or new hardware is installed” (Feazle [0010]).
Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Senda in view of Nolterieke, Feazle and Mazur as applied to Claim 1 above, and further in view of Davis (US PGPUB 2007/0043457; hereinafter “Davis”).
Claim 2: (Currently Amended)
Senda in view of Nolterieke, Feazle and Mazur teaches the method of claim 1. Senda in view of Nolterieke, Feazle and Mazur does not teach the following, however, Davis teaches wherein generating the service definition file comprises:
identifying a combined service to be performed by a subset of the two or more tool components operating in a concerted manner; and generating the service definition file that includes the combined service ([0086] “In a ‘test bay’ circumstance, a `payload` (e.g., firmware, language module, Drive Identity Module (DIM) data, XIOLogix program) for a particular job can be sent to a drive system such as the drive system 2 from a central server. The contents of the payload, which would typically be configured by technical personnel, allow each job to be customized without a need for manual loading in the test bay. For example, a particular job may require a different version of firmware from the standard version being shipped with other drives, due to functionality or compatibility with other systems. Only certain jobs receive a language module, which also differ depending on the country of destination… Each of these operations relating to configuring the drive system with a payload… can be automated using a single step. Different payloads can be automatically communicated to different drive systems simply by selecting a job number/item and downloading the respective payload to the respective drive,” wherein the “payload” is equivalent to the “revised update package”, i.e. “service definition file”, as discussed above.).
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 Senda in view of Nolterieke, Feazle and Mazur with the generating of a combined software and firmware package based on an identified combined service to be performed as taught by Davis in order “to configure or upgrade both a drive and associated web server in a coordinated, efficient manner” (Davis [0012]).
With further regard to Claim 2, Senda in view of Nolterieke, Mazur and Davis does not teach the following, however, Feazle teaches:
the two or more tool components operating in a concerted manner downhole in the wellbore within the geological formation ([0011] “FIG. 1 depicts a directional drilling environment showing a measurement-while-drilling (MWD) system 100.” [0012] “In operation, top drive 110 supports and rotates drill string 108 as it is lowered through well head 112. In this manner, drill string 108 (and/or a downhole motor) rotate a drill bit 114 coupled with a lower end of drill string 108 to create a borehole 116 through various formations… Detection tools 126 and a telemetry sub 128 are coupled to or integrated with one or more drilling collars..”).
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 Senda in view of Nolterieke, Mazur and Davis with the wellbore environment usage as taught by Feazle as this results in “an improved and streamlined installation and update process, thereby reducing any potential system (and rig) downtime as a result” (Feazle [0010]).
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Senda in view of Nolterieke, Feazle and Mazur as applied to Claim 1 above, and further in view of Chen (US PGPUB 2013/0227543; hereinafter “Chen”).
Claim 3:
Senda in view of Nolterieke, Feazle and Mazur teaches all the limitations of claim 1 as described above. Senda in view of Nolterieke and Mazur does not teach the following, however, Feazle teaches:
wherein outputting the service definition file comprises providing the service definition file to a software system and a downhole firmware system ([0023] “the surface software applications 214 executing on the computing system 137 are discretized into separate plugins 302A-C, each plugin 302A-c associated with a respective firmware 306D-F, each firmware 306D-F being associated with a respective sensor 304x-z.” [0027] “the management component 310 may automatically retrieve and install the updates to the plugins 302A-c and/or firmware 306D-F.” [0032] “FIG. 5, a flow diagram is shown for updating firmware and plugin components… in block 502, the computing system 137 (e.g., via the management component 310) detects a connection to the computing system 137 by a downhole sensor.”).
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 Senda in view of Nolterieke and Mazur with the providing of an update to a software system and a downhole firmware system as taught by Feazle as this results in “an improved and streamlined installation and update process, thereby reducing any potential system (and rig) downtime as a result” (Feazle [0010]).
With further regard to Claim 3, Senda in view of Nolterieke, Feazle and Mazur does not teach the following, however, Chen teaches:
providing the service definition file to a software system and a firmware system in parallel ([0007] “the invention is directed to a server deployment system and a method for updating data, in which server software and controller firmware are updated at the same time,” wherein the “software” and “firmware” are the “software system” and “downhole firmware system” as taught above by Senda in view of Nolterieke and Feazle.).
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 Senda in view of Nolterieke, Feazle and Mazur with the providing of an update to a software system and a firmware system in parallel as taught by Chen in order “to ensure the synchronism between the software and the firmware” (Chen [0040]).
Claims 7-9, 13-16, 18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Senda in view of Nolterieke, Feazle, Mazur and Chen.
Claim 7: (Currently Amended)
Senda teaches a method, comprising:
receiving an indication of an electromechanical tool system comprising two or more tool components, wherein each tool component is configured to perform a respective function ([0002] “a control device such as a programmable logic controller (hereinafter, referred to as PLC).” [0064] “A unit configuration diagram showing the components of the control device 300 is displayed on the update screen. Here, a PLC is exemplified as the control device 300. The denotations are as follow: ‘PLC1’ for the PLC; ‘POW’ for the power supply unit; ‘CPU’ for the CPU unit; and Numbers ‘1’ to ‘7’ for Slots 1 to 7 to mount the functional units. As illustrated, the functional units are mounted on Slots 1, 2, and 4. It is also shown that a servo controller ‘SV1’ is connected to the functional unit mounted on Slot 1,” wherein the “functional units” are the “tool components”.);
retrieving reference tool component information corresponding to the two or more tool components based on the indication ([0005] “The engineering tool has various functions such as creating and editing a control program for the control device, setting control parameters, and monitoring processes performed, in which the engineering tool and the control device work together.” [0035] “The updated version acquisition unit 111 acquires the updated version information from the server 200.” [0064] “FIG. 8 is a diagram showing an example of an update screen.” [0066] “When a component is specified, the information related to the update of firmware, such as available updated versions of the functional unit, is displayed,” wherein the “the information … such as available updated versions of the functional unit” is the “component information”.).
With further regard to Claim 7, Senda does not teach the following, however, Nolterieke teaches:
generating a service definition file based on the reference tool component information ([0029] “comparing (206), by the firmware updating module, the information (126) describing the state of the currently installed components (212) to information (108) describing a state of the corresponding update components (214)… by determining, for each update component, whether the update component's state is more recent than the corresponding currently installed component's state.” [0030] “constructing (208), by the firmware updating module, a revised update package (106) that includes only update components (214) having a state more recent than the state of the corresponding currently installed components (212).”); and
providing the service definition file ([0030] “Constructing (208) a revised update package (106)… may be carried out by copying, to a new storage location, only those update components having a more recent state as well as any portion of the update package necessary to effect installation of the update components.” [0031] “The method of FIG. 2 also includes updating (210), by the firmware updating module, the currently installed components (212) with corresponding update components (216) of the revised update package (106).”).
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 Senda with the generation of an update file based on a plurality of retrieved information as taught by Nolterieke as this results in a “reduced amount of time updating firmware by removing unnecessary updates of firmware components” (Nolterieke [0047]).
With further regard to Claim 7, Senda in view of Nolterieke does not teach the following, however, Feazle teaches:
wherein each tool component is configured to perform a respective service downhole in a wellbore within a geological formation ([012] “In operation, top drive 110 supports and rotates drill string 108 as it is lowered through well head 112. In this manner, drill string 108 (and/or a downhole motor) rotate a drill bit 114 coupled with a lower end of drill string 108 to create a borehole 116 through various formations… the drill bit 114 forms part of a bottom hole assembly 150.”);
wherein the service definition file indicates a plurality of services capable of being performed by the two or more tool components downhole in the wellbore within the geological formation ([0010] “a computing system running in settings such as an oil and gas environment, in which the computing system has a surface software application providing an architecture that decouples applications and functions typically performed by surface software in the oil and gas environment (e.g., well planning, modeling, analysis, drilling, etc., also collectively referred to herein as ‘features’) from respective firmware and hardware components… the software architecture may maintain dependency data that maps software plugin features with capabilities of the hardware based on dependencies between the software plugins, firmware components, and hardware.” [0022] “surface software applications 214, which may be embodied as software and/or firmware for the aforementioned operations, such as communicating with drilling tools and downhole sensors.”); and
providing the service definition file to a software system and a downhole firmware system ([0023] “the surface software applications 214 executing on the computing system 137 are discretized into separate plugins 302A-C, each plugin 302A-c associated with a respective firmware 306D-F, each firmware 306D-F being associated with a respective sensor 304x-z.” [0027] “the management component 310 may automatically retrieve and install the updates to the plugins 302A-c and/or firmware 306D-F.” [0032] “FIG. 5, a flow diagram is shown for updating firmware and plugin components… in block 502, the computing system 137 (e.g., via the management component 310) detects a connection to the computing system 137 by a downhole sensor,” wherein Figs. 1 and 3 show Computing System 137 comprising Management Component 310.);
receiving an electromechanical interface output as an output from the software system; and controlling operation of the electromechanical tool system downhole in the wellbore within the geological formation based on the electromechanical interface output ([0015] “These input/output devices provide a user interface that enables an operator to interact and communicate with the borehole assembly 150, surface/downhole directional drilling components, and/or software executed by computer system 137.” [0022] “the memory 208 may include one or more surface software applications 214, which may be embodied as software and/or firmware for the aforementioned operations, such as communicating with drilling tools and downhole sensors.” [0034] “in block 512, the computing system 137 retrieves and installs the firmware update. During this period, the computing system 137 may cause the underlying hardware component to go offline (e.g., by transmitting a control signal thereto) while the firmware is updating. Once installed, the computing system 137 may restart the hardware component and ensure that the plugin is able to communicate with the firmware and hardware component.”).
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 Senda in view of Nolterieke with the providing of an update to a software system and a downhole firmware system and controlling of operations as taught by Feazle as this results in “an improved and streamlined installation and update process, thereby reducing any potential system (and rig) downtime as a result” (Feazle [0010]).
With further regard to Claim 7, Senda in view of Nolterieke and Feazle does not teach the following, however, Mazur teaches:
wherein the service definition file comprises mappings indicating relationships or connections between the two or more tool components and a plurality of devices, wherein the plurality of devices comprise one or more circuit boards, one or more sensors, and one or more actuators ([0028] “the industrial device assembly 112 may include machinery used to perform various operations in a compression station, an oil refinery, a batch operation for making food items, a mechanical assembly line, and the like. Accordingly, the industrial device assembly 112 may include a variety of operational components, such as electric motors, valves, actuators, temperature elements, pressure sensors, networking sensors, or a myriad of machinery or devices used for manufacturing, processing, material handling, and other applications.” [0054] “the object model generated by the automatic commissioning system 110 may include a network model of the industrial device assembly 112. The network model of the industrial device assembly 112 may provide the network status of each industrial automation device… the automatic commissioning system 110 may generate the network model of the industrial device assembly 112, such as a network topology map. Upon display on an HMI interface, the network topology map of the industrial device assembly 112 may provide an indication of how each industrial automation device in the industrial device assembly 112 is communicatively connected to a respective switch or port in the industrial device assembly 112.” [0051] “the automatic commissioning system 110 may link the object model with the control system 104.” [0007] “The control system is automatically programmed based on the second data file to control one or more operations of each industrial automation device in the industrial device assembly”), and
wherein the service definition file comprises controller mappings relating command functions between one or more parent tool components and one or more child tool components of the two or more tool components ([0020] “The first data file may contain a hierarchical map of each industrial automation device within the industrial device assembly 112 and one or more key attributes associated with each industrial automation device,” wherein the “hierarchical map” comprises information regarding the parent/child “industrial automation devices,” i.e. “tool components”. [0035] “FIG. 4 illustrates a flow chart of a method 400 for programming a control system 104 of the industrial device assembly 112… the method 400 may include generating a first data file that includes specification data of an industrial device assembly 112… generating a second data file that contains one or more control blocks of code associated with each industrial automation device of the industrial device assembly 112 based on the first data file, mapping the control blocks of code in the second data file to one or more HMI visualizations associated with each industrial automation device, generating various models of the industrial device assembly 112 based on the first data file and the second data file, and programming a control system 104 of the industrial device assembly 112 to automatically control an operation each industrial automation device of the industrial device assembly 112,” wherein the “second data file” and “control blocks” are the claimed “service definition file comprises controller mappings” and “command functions” respectively. ).
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 Senda in view of Nolterieke and Feazle with the further service definition file elements as taught by Mazur as this “facilitates a reduction in the amount of time required to commission an industrial device assembly, a minimization in the amount of programming and upstart tasks a customer manually performs with regard to commissioning the industrial device assembly, and a reduction in the amount of possible programming errors that may occur due manual programming and configuration of the industrial device assembly” (Mazur [0018]).
With further regard to Claim 7, Senda in view of Nolterieke, Feazle and Mazur does not teach the following, however, Chen teaches:
providing the service definition file to a software system and a firmware system in parallel ([0007] “the invention is directed to a server deployment system and a method for updating data, in which server software and controller firmware are updated at the same time,” wherein the “software” and “firmware” are the “software system” and “downhole firmware system” as taught above by Senda in view of Nolterieke, Davis and Feazle.).
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 Senda in view of Nolterieke, Feazle and Mazur with the providing of an update to a software system and a firmware system in parallel as taught by Chen in order “to ensure the synchronism between the software and the firmware” (Chen [0040]).
Claim 8:
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the method of claim 7. However, Senda in view of Feazle, Mazur and Chen does not teach the following, but Nolterieke teaches wherein providing the service definition file to the software system comprises:
providing the service definition file to a surface software parser to obtain a parsed service definition file output, wherein the parsed service definition file output comprises a data format configured to be utilizable by the software system ([0026] “The method of FIG. 2 includes receiving (202), by the firmware updating module, an update package (104) for the firmware package,” wherein the “firmware updating module” is the “surface software parser”. (102).” [0029] “comparing (206), by the firmware updating module, the information (126) describing the state of the currently installed components (212) to information (108) describing a state of the corresponding update components (214)… by determining, for each update component, whether the update component's state is more recent than the corresponding currently installed component's state.” [0030] “constructing (208), by the firmware updating module, a revised update package (106) that includes only update components (214) having a state more recent than the state of the corresponding currently installed components (212),” wherein the “update package” and “revised update package” are the “service definition file” and “parsed service definition file” respectively.); and
providing the parsed service definition file output to the software system ([0030] “Constructing (208) a revised update package (106)… may be carried out by copying, to a new storage location, only those update components having a more recent state as well as any portion of the update package necessary to effect installation of the update components.” [0031] “The method of FIG. 2 also includes updating (210), by the firmware updating module, the currently installed components (212) with corresponding update components (216) of the revised update package (106).”).
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 Senda in view of Feazle, Mazur and Chen with the software parser as taught by Nolterieke as this results in a “reduced amount of time updating firmware by removing unnecessary updates of firmware components” (Nolterieke [0047]).
Claim 9:
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the method of claim 7. However, Senda in view of Feazle, Mazur and Chen does not teach the following, but Nolterieke teaches wherein providing the service definition file to the downhole firmware system comprises:
providing the service definition file to a downhole software parser to obtain a parsed service definition file output, wherein the parsed service definition output comprises a data format configured to be utilizable by the downhole firmware system ([0026] “The method of FIG. 2 includes receiving (202), by the firmware updating module, an update package (104) for the firmware package,” wherein the “firmware updating module” is the “downhole software parser”. (102).” [0029] “comparing (206), by the firmware updating module, the information (126) describing the state of the currently installed components (212) to information (108) describing a state of the corresponding update components (214)… by determining, for each update component, whether the update component's state is more recent than the corresponding currently installed component's state.” [0030] “constructing (208), by the firmware updating module, a revised update package (106) that includes only update components (214) having a state more recent than the state of the corresponding currently installed components (212),” wherein the “update package” and “revised update package” are the “service definition file” and “parsed service definition file” respectively.); and
providing the parsed service definition file output to the downhole firmware system ([0030] “Constructing (208) a revised update package (106)… may be carried out by copying, to a new storage location, only those update components having a more recent state as well as any portion of the update package necessary to effect installation of the update components.” [0031] “The method of FIG. 2 also includes updating (210), by the firmware updating module, the currently installed components (212) with corresponding update components (216) of the revised update package (106),” wherein the ”downhole firmware system” was taught above by Feazle in the rejection of Claim 7.).
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 Senda in view of Feazle, Mazur and Chen with the software parser as taught by Nolterieke as this results in a “reduced amount of time updating firmware by removing unnecessary updates of firmware components” (Nolterieke [0047]).
Claim 13:
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the method of claim 7. However, Senda in view of Nolterieke, Mazur and Chen does not teach the following, but Feazle teaches:
wherein the service definition file at least partially comprises data associated with an uplink telemetry between the software systems and the downhole firmware system ([0014] “Telemetry sub 128 communicates with detection tools 126 and transmits telemetry data to surface equipment (e.g., via mud pulse telemetry)… other forms of telemetry such as acoustic, electromagnetic, telemetry via wired drill pipe, and the like may also be used to communicate signals between downhole drilling tools and signal digitizer 134.” [0022] “the memory 208 may include one or more surface software applications 214, which may be embodied as software and/or firmware for the aforementioned operations, such as communicating with drilling tools and downhole sensors.” [0027] “the management component 310 may automatically retrieve and install the updates to the plugins 302A-c and/or firmware 306D-F,” wherein the firmware update for the “Telemetry sub 128” is “data associated with an uplink” since “Telemetry sub 128”, i.e. downhole firmware system, transmits/receives information to/from the “Computer System 137”, i.e. “software system”. [0017] “The controller 152 can communicate real-time data with one or more components of borehole assembly 150 and/or surface equipment. In this manner, the controller 152 can analyze real-time data.”).
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 Senda in view of Nolterieke, Mazur and Chen with the downhole communication configuration as taught by Feazle as this “allows the software to rapidly install and/or update software plugins or firmware in the field” (Feazle [0010]).
Claim 14:
With regard to Claim 14, this claim is equivalent in scope to Claim 7 rejected above, merely having a different independent claim type, and as such Claim 14 is rejected under the same grounds and for the same reasons as discussed above with regard to Claim 7.
With further regard to Claim 14, the claim recites additional elements not specifically addressed in the rejection of Claim 7. The Senda reference also anticipates these additional elements of Claim 14, for example, Senda teaches:
A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, are configured to cause a processor to [perform operations] ([0003] “In yet another embodiment, a computer-readable storage medium having encoded therein computer-executable instructions for programming a computing device is provided.” [0016] “The processor 128 may perform functions of the storage controller 106 including functions disclosed herein as performed by module 110. The processor 128 may execute instructions stored on non-transitory computer readable media to perform the functions of the storage controller 106.”).
Claim 15:
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the computer-readable medium of claim 14. However, Senda in view of Nolterieke, Mazur and Chen does not teach the following, but Feazle teaches:
wherein the electromechanical interface output comprises a communications mapping for the two or more tool components of the electromechanical tool system ([0017] “The controller 152 can communicate real-time data with one or more components of borehole assembly 150 and/or surface equipment. In this manner, the controller 152 can analyze real-time data.” [0024] “each plugin 302A-c corresponds to a collection of predefined functions (e.g., application programming interface (API) functions) that, when invoked, cause the plugin 302 to perform a given action (e.g., send control signals to the respective sensor, obtain sensor data, generate analytics, etc.). Advantageously, discretizing the plugins 302A-c into separate collections reduces the complexity of updating the surface software when compared to traditional surface software, which typically adapts a closed software architecture.”).
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 computer-readable medium as disclosed by Senda in view of Nolterieke, Mazur and Chen with the communications mapping as taught by Feazle in order “to programmatically track and manage compatibilities between different versions of plugins, firmware, and hardware, particularly as each scale in number” (Feazle [0022]).
Claim 16: (Currently Amended)
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the computer-readable medium of claim 14. However, Senda in view of Nolterieke, Mazur and Chen does not teach the following, but Feazle teaches:
wherein each service of the plurality of services comprises a plurality of modules, wherein each the plurality of modules comprises at least one of communication protocols data, command data, and tool component definitions ([0022] “As shown, the memory 208 may include one or more surface software applications 214, which may be embodied as software and/or firmware for the aforementioned operations, such as communicating with drilling tools and downhole sensors… the illustrative storage 210 includes a feature configuration 216, which may be embodied as any data representing a current configuration of features and plugins enabled for the applications 214. The configuration may also specify associated firmware components and hardware components for a given feature or plugin. The storage 210 also includes dependency data 218, which may be embodied as any data that maps compatibilities between the surface software to hardware and firmware components. For example, the dependency data 218 may be embodied as a multidimensional matrix, providing information about available software plugin components and respective features… Other examples that might be included within the matrix are software library dependencies, programming language-based package dependencies, system dependencies (e.g., system-level resources or configurations such as operating system versions, capabilities of hardware, network configurations, etc.), downhole hardware dependencies, device driver requirements, application programming interface (API) dependencies, and runtime dependencies. Advantageously, the dependency data 218 allows the computing system 137 to programmatically track and manage compatibilities between different versions of plugins, firmware, and hardware, particularly as each scale in number.”),
wherein each service of the plurality of services includes a hierarchical structure based on the plurality of modules ([0028] “the server 312 may also provide additional predefined dependency data, such as distinct dependency matrices that may be well-suited when deployed in a given use-case scenario (e.g., a dependency matrix specifically for drilling operation use cases, a dependency matrix specifically for facility and asset management use cases, a dependency matrix for remote monitoring and control).” [0036] “evaluate, based on a dependency matrix mapping compatibilities with the plurality of plugin components, hardware components, and firmware components, whether the update is compatible with the respective hardware component; and install, upon a determination that the update is compatible, the update on the system.”).
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 computer-readable medium as disclosed by Senda in view of Nolterieke, Mazur and Chen with the service module configurations as taught by Feazle in order “to programmatically track and manage compatibilities between different versions of plugins, firmware, and hardware, particularly as each scale in number” (Feazle [0022]).
Claim 18: (Currently Amended)
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the computer-readable medium of claim 14. However, Senda in view of Nolterieke, Mazur and Chen does not teach the following, but Feazle teaches:
wherein the one or more parent tool components comprise a power cartridge, an energy generating tool, an energy distributing tool, a controlling tool, or any combination thereof, wherein the one or more child tool components comprise a hydraulic module, a compensator, a section, a motor, a drill bit, or any combination thereof ([0017] “MWD system 100 also includes a controller 152 that instructs or steers bottom hole assembly 150 as drill bit 114 extends wellbore 116 along a desired path 119 (e.g., within one or more boundaries 140). Controller 152 includes processors, sensors, and other hardware/software such as a rotary steerable system (RSS),” wherein the “controller 152” is the “controlling tool.”).
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 computer-readable medium as disclosed by Senda in view of Nolterieke, Mazur and Chen with the user interface as taught by Feazle in order “to programmatically track and manage compatibilities between different versions of plugins, firmware, and hardware, particularly as each scale in number” (Feazle [0022]).
Claim 20:
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the computer-readable medium of claim 14. However, Senda in view of Nolterieke, Mazur and Chen does not teach the following, but Feazle teaches
wherein the software system is cloud-based ([0027] “the management component 310 may also establish communications with a server 312 over a network (e.g., the Internet). The server 312 may be embodied as a physical computing system or virtual computing instance (e.g., executing on a cloud provider network) that serves as a plugin and firmware repository for the decoupled software architecture. In addition, the server 312 may transmit notifications to the management component 310 regarding updates to plugins 302A-c and firmware 302D-F. In some embodiments, the management component 310 may, in turn, present the notifications on a display of the computing system 137 via the user interface 308 to confirm whether to retrieve and install the updates.”).
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 computer-readable medium as disclosed by Senda in view of Nolterieke, Mazur and Chen with the cloud-based software system as taught by Feazle as this “allows the software to rapidly install and/or update software plugins or firmware in the field, such as in instances where a new version of software or firmware is released, a new feature is added, or new hardware is installed” (Feazle [0010]).
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Senda in view of Nolterieke, Feazle, Mazur and Chen as applied to Claim 7 above, and further in view of Sun et al. (US PGPUB 2024/0141772; hereinafter “Sun”.).
Claim 10:
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches all the limitations of claim 7 as described above. Senda in view of Nolterieke, Feazle, Mazur and Chen does not teach the following, however, Sun teaches:
comprising providing an application programming interface (API) to the downhole firmware system, and wherein the electromechanical interface output is generated based on the API ([0025] “In a block 315, the geosteering application transmits, via an application programming interface (API), the initial well path to a drilling application (e.g. drilling application 210) which is communicatively coupled with drilling equipment positioned downhole. The drilling equipment, in some embodiments, may include a rotary steerable system (RSS) drilling tool and at least one drill bit.” [0017] “The tool string 126 may also include a telemetry module 134… Data sent from the geosteering application to the drilling application may then be transmitted to the tools (e.g., a downhole measuring tools such as LWD/MWD tool 132, a rotary steering system (RSS) drilling tool 128, etc.) of the tool string 126. In some implementations, an application programming interface (API)… may be used to provide communication between the surface control unit 138 and the telemetry module 134. In some implementations, the geosteering application may communicate directly with the drilling application via an API for communication with and control of the LWD/MWD tool 132 and/or the RSS 128.”).
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 Senda in view of Nolterieke, Feazle, Mazur and Chen with the API communication as taught by Sun as this “may help reduce the time between decision making regarding an updated well path and execution within the wellbore from at least 20-30 minutes down to as low as about 2-5 minutes” (Sun [0020]).
Claims 11 and 17 is rejected under 35 U.S.C. 103 as being unpatentable over Senda in view of Nolterieke, Feazle, Mazur and Chen as applied to Claims 7 and 14 above, and further in view of Kore et al. (US PGPUB 2010/0177684; hereinafter “Kore”).
Claim 11: (Currently Amended)
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the method of claim 7. However, Senda in view of Nolterieke, Feazle, Mazur and Chen does not teach the following, but Kore teaches:
wherein the service definition file defines functions between the one or more parent tool components and the one or more child tool components comprising ([0034] “Each module or device (a node), can have a parent-child relationship with two neighboring nodes which are in wireless range of the child node.”):
the one or more parent tool components comprising being configured to aggregate data received from the one or more child tool components ([0037] “parent can aggregate its own data with that received from its child node and transmit the data together in single packet.” [0054] “each Parent node will receive data from its child nodes in the respective child nodes' Slots and then aggregate the child nodes' data with its own data and transmit to its Parent node… The Parent device having Slot 94 receives data from 93 and 91 and sends to its Parents 95 and 96 and so on,” see for example Kore Fig. 2.); and
the one or more parent tool components being configured to distribute commands to the one or more child tool components ([0092] “The panel sends a packet with aggregated messages containing commands for all the nodes in the network to the first level nodes… The aggregated packet is forwarded by all nodes to their child nodes,” wherein the “Panel” is the top-most parent device in the connected network of devices. [0093] “Each parent node multicasts the packet to all child nodes.”).
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 Senda in view of Nolterieke, Feazle, Mazur and Chen with the parent-child communications as taught by Kore in order “To enable efficient data aggregation without increasing message latency” (Kore [0037]).
Claim 17: (Currently Amended)
With regard to Claim 17, this claim is equivalent in scope to Claim 11 rejected above, merely having a different independent claim type, and as such Claim 17 is rejected under the same grounds and for the same reasons as discussed above with regard to Claim 11.
Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Senda in view of Nolterieke, Feazle, Mazur and Chen as applied to Claim 7 above, and further in view of Prammer (US PGPUB 2009/0289808; hereinafter “Prammer”.).
Claim 12: (Currently Amended)
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the method of claim 7. However, Senda in view of Nolterieke, Mazur and Chen does not teach the following, but Feazle teaches:
wherein the service definition file at least partially comprises data associated with a downlink between the software system and the downhole firmware system ([0014] “Telemetry sub 128 communicates with detection tools 126 and transmits telemetry data to surface equipment (e.g., via mud pulse telemetry)… other forms of telemetry such as acoustic, electromagnetic, telemetry via wired drill pipe, and the like may also be used to communicate signals between downhole drilling tools and signal digitizer 134.” [0022] “the memory 208 may include one or more surface software applications 214, which may be embodied as software and/or firmware for the aforementioned operations, such as communicating with drilling tools and downhole sensors.” [0027] “the management component 310 may automatically retrieve and install the updates to the plugins 302A-c and/or firmware 306D-F,” wherein the firmware update for the “Telemetry sub 128” is “data associated with a downlink” since “Telemetry sub 128”, i.e. downhole firmware system, transmits/receives information to/from the “Computer System 137”, i.e. “software system”.),
wherein the downlink comprises a plurality of commands and command mappings ([0017] “The controller 152 can communicate real-time data with one or more components of borehole assembly 150 and/or surface equipment. In this manner, the controller 152 can analyze real-time data.” [0024] “each plugin 302A-c corresponds to a collection of predefined functions (e.g., application programming interface (API) functions) that, when invoked, cause the plugin 302 to perform a given action (e.g., send control signals to the respective sensor, obtain sensor data, generate analytics, etc.). Advantageously, discretizing the plugins 302A-c into separate collections reduces the complexity of updating the surface software when compared to traditional surface software, which typically adapts a closed software architecture.”).
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 Senda in view of Nolterieke, Mazur and Chen with the downhole communication configuration as taught by Feazle as this “allows the software to rapidly install and/or update software plugins or firmware in the field” (Feazle [0010]).
With further regard to Claim 12, Senda in view of Nolterieke, Feazle, Mazur and Chen does not teach the following, however, Prammer teaches wherein the plurality of commands comprises:
low-level commands, wherein the low-level commands comprise conditions for the one or more tool components, events for the one or more tool components, actions for one or more tool components; or a combination thereof ([0172] “FIG. 34 is a schematic circuit block diagram of the electronics inside a downhole interface sub 560. A core circuit 800 similar to the repeater circuit is employed to handle the radio packet functions and low-level communication functions.”); and
high-level commands, wherein the high-level commands comprise a combination of low-level command configured to perform a high-level function ([0169] “The communications sub 700 is further augmented by additional processing and communication functions in communications block 750, including a serial interface 751, message packetization and message queuing block 752, channel acquisition and channel release block 753, session initiation and session control block 754 for communicating with the communications sub 700 via the MPU 510, as well as a two-way radio 755, message dequeuing and message packetization block 756, network supervision block 757, and network recover block 758 that together enable communications with the outside world. These additional functions handle the high-level end-to-end protocols including network supervision functions and connectivity to the outside world such as a rig data network via wireless links (as shown) or wired connections.” [0172] “A core circuit 800… augmented by additional circuitry 750 responsible for high-level end-to-end communications, network supervision functions and communication with the BHA instrumentation bus.”).
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 Senda in view of Nolterieke, Feazle, Mazur and Chen with the low and high level communications as taught by Prammer in order “to enable reliable high-speed data transmission on existing pipe string hardware” (Prammer [0020]).
Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over Senda in view of Nolterieke, Feazle, Mazur and Chen as applied to Claim 14 above, and further in view of Friday, Jr. et al. (US Patent 5,491,649; hereinafter “Friday”.).
Claim 19: (Currently Amended)
Senda in view of Nolterieke, Feazle, Mazur and Chen teaches the computer-readable medium of claim 14. However, Senda in view of Nolterieke, Feazle and Chen does not teach the following, but Mazur teaches wherein:
the mappings comprise actuator and sensor mappings to a hardware input-output ([0028] “the industrial device assembly 112 may include a variety of operational components, such as electric motors, valves, actuators, temperature elements, pressure sensors, networking sensors, or a myriad of machinery or devices used for manufacturing, processing, material handling, and other applications.” [0054] “Upon display on an HMI interface, the network topology map of the industrial device assembly 112 may provide an indication of how each industrial automation device in the industrial device assembly 112 is communicatively connected to a respective switch or port in the industrial device assembly 112.”); and
the service definition file further comprises a processor controller mapping from a process controller to the one or more circuit boards, and a circuit board mapping from the one or more circuit boards to the two or more tool components ([0033] “FIG. 3 illustrates an exemplary embodiment of an industrial device assembly 300, such as a motor control center, a switchgear assembly, or the like, having a plurality of industrial automation devices located within the industrial device assembly 300.” [0034] “by generating a data file that may be used to automatically program the control system to control the operation of each industrial automation device of the industrial device assembly 300, the automatic commissioning system 110 may facilitate a more efficient commissioning and startup process of the industrial device assembly 300 by automatically programming and configuring the control system of the industrial device assembly 300,” wherein the “data file” is the “service definition file” and further wherein the “industrial device assembly” necessarily comprises “the one or more circuit boards”. [0035] “FIG. 4 illustrates a flow chart of a method 400 for programming a control system 104 of the industrial device assembly 112 to automatically control an operation of each industrial automation device of the industrial device assembly 112,” and [0018] “automatically programming and configuring the controller of the industrial device assembly,” wherein the “control system 104” is the “process controller.”).
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 computer-readable medium as disclosed by Senda in view of Nolterieke, Feazle and Chen with the further mapping configurations as taught by Mazur in order to “facilitate a more efficient (e.g., time) commissioning and startup process of an industrial device assembly” (Mazur [0018]).
With further regard to Claim 19, Senda in view of Nolterieke, Feazle, Mazur and Chen does not teach the following, however Friday teaches wherein:
a hardware input-output mapping from the hardware input-output to software variables including data channels and commands (Col. 1 ln. 61 - Col. 2 ln. 11: “The actual assignment of the software variables to hardware elements is done separately by system configuration software which maps the software channel assignments to identified hardware I/O channels… the configuration software proceeds to receive communications on I/O channels from the hardware elements and matches these communications with software variables having software channels that have been mapped to the hardware I/O channels. The configuration software may alternatively transmit communications over I/O channels to various hardware elements by noting which hardware I/O channels correspond with a software channel associated with a given software variable.” Col. 4 ll. 2-5: “The control program will have a complete set of software variables that govern the control of the maximum number of temperature sensors, fans and compressors,” wherein the “control program” comprises the “commands”.).
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 computer-readable medium as disclosed by Senda in view of Nolterieke, Feazle, Mazur and Chen with the hardware input-output mapping as taught by Friday in order “to provide a programmable control for a general configuration of hardware elements… that may be easily adapted to a number of different versions of the system” (Friday Col. 1 ll. 47-50).
Response to Arguments
Applicant’s arguments, see Pages 10-14 of the Remarks filed April 13, 2026, with respect to the rejections under 35 U.S.C. 101 have been fully considered and are persuasive. The 35 U.S.C. 101 rejections of Claims 1-6 have been withdrawn.
Applicant's arguments, see Pages 14-25 of the Remarks, with respect to the rejections under 35 U.S.C. 103 of Claims 1-20 have been fully considered but they are not persuasive. With respect to the Applicant’s argument that the newly amended language of Claims 1, 2, 5-7, 11, 12, 14 and 16-19 is not taught by the previously cited prior art, this argument has been fully considered but is moot in view of the newly cited Mazur et al. (US PGPUB 2021/0216061), Kore et al. (US PGPUB 2010/0177684) and Friday, Jr. et al. (US Patent 5,491,649) references as discussed above in the respective rejections.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure is as follows:
Beck et al. (US PGPUB 2007/0038376) discloses a method for downhole tool system development comprising receiving specifications of a downhole tool system that comprises multiple strings having multiple components and checking for interference between the multiple strings in an initial position.
Downton (“Challenges of Modeling Drilling Systems For the Purposes of Automation and Control,” 2012) discusses the challenges of a unified control system to automate well-construction and downhole drilling device control.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
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