Local File Access in a Distributed Materials Testing System

The distributed materials testing system with local data repositories addresses access disruptions by storing redundant files locally, enabling continuous testing and maintaining data synchronization, thus ensuring uninterrupted operations and compliance.

JP2026042756APending Publication Date: 2026-03-11ILLINOIS TOOL WORKS INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-08-26
Publication Date
2026-03-11

AI Technical Summary

Technical Problem

Existing materials testing systems face disruptions when access to a central data repository is interrupted, leading to unavailability of essential files and data, which hampers continuous testing operations.

Method used

Implementing a distributed materials testing system with local data repositories that store redundant copies of critical files, allowing continuous testing even when the central repository becomes inaccessible, and synchronizing these local copies with the central data upon reconnection.

Benefits of technology

Ensures uninterrupted materials testing by maintaining local file access, reducing storage redundancy, and ensuring compliance through synchronized data replication across central and local repositories.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026042756000001_ABST
    Figure 2026042756000001_ABST
Patent Text Reader

Abstract

Described herein is an example of a distributed materials testing system that stores local copies of selected files / data used in materials testing so that at least some materials testing can continue in at least some capacity if a central data repository becomes inaccessible. In some examples, files / data used for materials testing are stored in a central data repository so that several materials testing systems connected to the central data repository can each use the same files / data during normal operation, while if access to the central data repository is temporarily interrupted, local file / data copies may be used by local materials testing systems to perform materials testing.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 687,495, filed August 27, 2024, entitled "LOCAL FILE ACCESS IN DISTRIBUTED MATERIAL TESTING SYSTEMS," the entire contents of which are incorporated herein by reference.

[0002] This disclosure relates generally to distributed materials testing systems, and more particularly to local file access in distributed materials testing systems. [Background technology]

[0003] Materials testing machines are used to test various material specimens for attributes (e.g., tensile strength / compressive strength). The specific test method (also called test method) can vary from material specimen to material specimen.

[0004] By comparing such a system with the present disclosure set forth in the remainder of this application with reference to the drawings, the limitations and disadvantages of the conventional and traditional approaches will become apparent to one skilled in the art. Summary of the Invention

[0005] The present disclosure relates to local file access in a distributed materials testing system substantially as illustrated by and / or described with respect to at least one of the figures and more fully set forth in the claims.

[0006] These and other advantages, aspects, and novel features of the present disclosure, as well as details of illustrated examples of the present disclosure, will be more fully understood from the following description and drawings. [Brief explanation of the drawings]

[0007] [Figure 1]FIG. 1 illustrates an exemplary materials testing system according to aspects of the present disclosure.

[0008] [Figure 2] FIG. 2 is a block diagram of the example materials testing system of FIG. 1 according to an embodiment of the present disclosure.

[0009] [Figure 3] FIG. 1 is a block diagram of an exemplary distributed materials testing system according to aspects of the present disclosure.

[0010] [Figure 4] FIG. 4 illustrates an example of a central data repository of the example distributed materials testing system of FIG. 3 according to aspects of the present disclosure.

[0011] [Figure 5] FIG. 4 illustrates an example of a local data repository of the example distributed materials testing system of FIG. 3 according to aspects of the present disclosure.

[0012] [Figure 6] 4 is a flowchart illustrating an exemplary local file / data access process for the distributed materials testing system of FIG. 3 in accordance with an embodiment of the present disclosure.

[0013] [Figure 7a] 7A-7C illustrate examples of graphical user interfaces (GUIs) that may be presented during the example local file / data access process of FIG. 6, according to aspects of the present disclosure. [Figure 7b] 7A-7C illustrate example GUIs that may be presented during the example local file / data access process of FIG. 6, according to aspects of the present disclosure. [Figure 7c] 7A-7C illustrate example GUIs that may be presented during the example local file / data access process of FIG. 6, according to aspects of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0014] The figures are not necessarily to scale. Where appropriate, the same or similar reference numbers are used in the figures to refer to similar or identical elements. For example, a reference number utilizing a letter (e.g., gripper 124a, gripper 124b) refers to the same reference number without the letter (e.g., gripper 124).

[0015] Disclosed herein are examples of distributed materials testing systems that store local copies of selected test files (and / or other files / data) used in materials testing in the event that a central data repository that stores all test files (and / or other files / data) becomes inaccessible. In some examples, all test files (and / or other files / data) are stored in the central data repository so that several materials testing systems connected to the central data repository can each use the same test files. Storing test files (and / or other files / data) in a central data repository can help ensure that all materials testing systems use the same files and conserve storage space (because each materials testing system can store a single copy of the test files rather than having its own copy).

[0016] However, there will inevitably be times when access to the central data repository is interrupted, for example, due to a loss of some connection to the communications network connecting each materials testing system to the central data repository. In such situations, access to files / data used in the operation of the materials testing systems may also be interrupted and / or may become unavailable. Therefore, the present disclosure contemplates storing (e.g., redundant) local copies of selected files / data used in materials testing in local data repositories so that at least some materials testing can continue, at least in some capacity, even if the central data repository (and / or communications network) becomes inaccessible.

[0017] Some examples of the present disclosure relate to a non-transitory computer-readable medium including machine-readable instructions that, when executed by processing circuitry, cause processing circuitry to: determine based on file accessibility data whether a remote file stored in a remote data repository should remain accessible when the remote data repository or a communications network connecting the test workstation to the remote data repository becomes inaccessible to the test workstation; create a local file copy of the remote file and store the local file copy in response to determining that the remote file should remain accessible; periodically update the local file copy based on the remote file while the remote data repository remains accessible to the test workstation through the communications network; and make the local file copy available to the test workstation in response to the remote data repository or the communications network being inaccessible to the test workstation.

[0018] In some examples, the remote file includes a remote test file that defines how to test a material specimen on a materials testing machine or how to analyze test results of the test; a test result file that represents test results; a remote event record that indicates when one or more events occurred during use of a materials testing system, the materials testing system comprising a materials testing machine and a test workstation configured to control the materials testing machine to test material specimens; or a remote setting that represents security settings, traceability settings, user settings, or team settings. In some examples, security settings indicate which users have permission to access, edit, or run a test file, or traceability settings indicate how many reviews are required before a test file can become active. In some examples, user settings indicate a user's identifier or credentials, or team settings indicate a particular team to which a particular user belongs.

[0019] In some examples, the machine-readable instructions, when executed by the processing circuitry, further cause the processing circuitry to: periodically determine whether changes have been made to the remote file while the remote data repository remains accessible to the test workstation over the communications network, and, in response to determining that changes have been made to the test file, update the local file copy based on the changes to the remote file. In some examples, the machine-readable instructions, when executed by the processing circuitry, further cause the processing circuitry to transmit the local test file copy to the remote data repository after the remote data repository or the communications network becomes accessible to the test workstation again. In some examples, the machine-readable instructions, when executed by the processing circuitry, further cause the processing circuitry to update file accessibility data based on one or more file accessibility signals received from the user interface, the one or more file accessibility signals indicating whether the remote file should remain accessible when the remote data repository is inaccessible to the test workstation.

[0020] Some examples of the present disclosure include a materials testing machine including a testing machine sensor, a testing machine actuator, and a testing machine controller configured to control the testing machine actuator; a testing workstation configured in communication with the testing machine controller to perform tests on the materials testing machine according to a test method defined in a test file or analyze test results of the tests; a remote data repository that stores the remote test file, the remote data repository communicatively connected to the testing workstation through a communications network; a local data repository; and a local server that includes the local data repository or that communicates with the local data repository, the local server communicating with the remote data repository through the communications network, the local server being configured to disconnect the remote data repository when the testing workstation is disconnected from the communications network or the remote data repository. The present invention relates to a materials testing system comprising: a server processing circuitry configured to: determine whether a remote test file should remain accessible based on file accessibility data; store a local test file copy of the remote test file in a local data repository in response to determining that the remote test file should remain accessible; periodically update the local test file copy or create a new version of the local test file copy based on the remote test file while the local server remains in communication with the remote data repository over a communications network; and make the local test file copy available to a testing workstation to perform tests using a materials testing machine or analyze test results in response to the testing workstation being disconnected from the communications network or the remote data repository.

[0021] In some examples, the test workstation communicates directly with the local server or local data repository rather than over a communications network, or the test workstation includes the local server or local data repository. In some examples, the server processing circuitry is configured to periodically determine whether changes have been made to the remote test files while the local server remains in communication with the remote data repository over the communications network, and, in response to determining that changes have been made to the remote test files, update the local test file copies based on the changes to the remote test files or create new versions of the local test file copies based on the remote test files. In some examples, after the test workstation is reconnected to the communications network or the remote data repository, the local server is configured to send the local test file copies to the remote data repository.

[0022] In some examples, the remote data repository is configured to update the remote test files based on differences between the remote test files and the local test file copies. In some examples, the system further includes a user interface in communication with the test workstation, the user interface configured to receive input from a user indicating whether the remote test files should remain accessible when the remote data repository is inaccessible. In some examples, the test workstation is configured to send one or more file accessibility signals to the local server based on the input, and the local server is configured to update the file accessibility data based on the one or more file accessibility signals.

[0023] Some examples of the present disclosure relate to a method including: determining, by server processing circuitry based on file accessibility data stored in the remote data repository or a local data repository, whether a remote test file should remain accessible to the test workstation when the remote data repository or a communications network connecting the test workstation to the remote data repository becomes inaccessible to the test workstation; storing, by the server processing circuitry, a local test file copy of the remote test file in the local data repository in response to determining that the remote test file should remain accessible; periodically updating, by the server processing circuitry, the local test file copy based on the remote test file while the remote data repository remains accessible to the test workstation through the communications network; and making, by the server processing circuitry, the local test file copy available to the test workstation in response to the remote data repository or the communications network becoming inaccessible to the test workstation.

[0024] In some examples, the local data repository is directly accessible to the test workstation rather than being accessible over a communications network, or the test workstation includes the local data repository. In some examples, the method further includes periodically determining, by the server processing circuitry, whether changes have been made to the remote test files while the local server remains in communication with the remote data repository over the communications network, and, in response to determining that changes have been made to the remote test files, updating, by the server processing circuitry, the local test file copies based on the changes to the remote test files.

[0025] In some examples, the method further includes transmitting, by the server processing circuitry, the local test file copy to the remote data repository after the remote data repository and the communication network become accessible to the test workstation again. In some examples, the method further includes determining, by the server processing circuitry, whether to update the remote test file based on differences between the remote test file and the local test file copy, and updating the remote test file based on differences between the remote test file and the local test file copy in response to determining to update the remote test file. In some examples, the method further includes updating the file accessibility data based on user input received via a user interface in communication with the test workstation, the user input indicating whether the remote test file should remain accessible to the test workstation when the remote data repository is inaccessible to the test workstation.

[0026] 1 illustrates an example materials testing system 100. As shown, the materials testing system 100 includes a materials testing machine 102 (also known as a general-purpose testing machine) and a computing system 200 connected to the materials testing machine 102 through a cable 106. While the connection is illustrated as being physically connected, in some instances the connection may be wireless rather than wired.

[0027] 1, the materials testing machine 102 includes a frame 112. In some examples, the frame 112 provides rigid structural support to other components of the materials testing machine 102. As shown, the frame 112 includes a top plate 114 and a bottom base 116 connected by two supports 118. In some examples, the supports 118 of the frame 112 may house guide rails and / or a drive shaft 212 of the materials testing machine 102 (see, for example, FIG. 2).

[0028] 1, a movable crosshead 120 extends between the columns 118. In some examples, the movable crosshead 120 may be connected to guide rails and / or drive shafts 212 housed in the columns 118 and / or may be configured to move toward and / or away from the base 116 through actuation (e.g., motorized) of the drive shaft(s) 212. While one movable crosshead 120 is shown in the example of FIG. 1, in some examples, the materials testing machine 102 may have multiple movable crossheads 120 and / or other moving members.

[0029] 1, fixtures 122 are attached to the bottom base 116 of the frame 112 and to the movable crosshead 120. As shown, the lower fixture 122a includes a gripper 124a, and the upper fixture 122b includes both a test sensor 126 and a gripper 124b. While one test sensor 126 and two grippers 124 are shown in the example of FIG. 1, in some examples, the test machine 102 may include more or fewer test sensors 126 and / or grippers 124.

[0030] In the example of FIG. 1 , grippers 124 hold test specimen 128. Test specimen 128 is shown as a (e.g., steel) rope / wire, but in some examples may be some other type of material and / or component. While grippers 124a and / or 124b are illustrated as rope holders, in some examples they may alternatively or additionally be configured as bolt holders, wedge-type grippers, side-acting grippers, manual grippers, roller grippers, capstan grippers, and / or syringe holders. In some examples, one or both of grippers 124 may be replaced by a compression platen configured to compress test specimen 128.

[0031] 1, the test sensor 126 is connected to the gripper 124 so as to measure the force acting on the gripper 124 (and / or the specimen 128, the crosshead 120, etc.). In some examples, the test sensor 126 may be a load cell. In some examples, the test sensor 126 may be some other type of sensor.

[0032] In some examples, the materials testing machine 102 may be configured for static mechanical testing. For example, the materials testing machine 102 may be configured for compressive strength testing, tensile strength testing, shear strength testing, flexural strength testing, flexural strength testing, tear strength testing, peel strength testing (e.g., adhesive bond strength), torsional strength testing, and / or any other compressive and / or tensile testing. Additionally or alternatively, the materials testing machine 102 may be configured to perform dynamic testing.

[0033] In some examples, the materials testing machine 102 is configured to interface with a computing system 200 to implement the testing method. For example, the computing system 200 may communicate with a controller 214 (see, e.g., FIG. 2) of the materials testing machine 102 to implement the testing method.

[0034] 2 is a block diagram illustrating details of the computing system 200 and additional details of the materials testing machine 102. In the example of FIG. 2, the exemplary materials testing machine 102 includes one or more actuators 210 connected to one or more drive shafts 212. In some examples, the actuators 210 may be used to provide force to and / or induce movement of the drive shafts 212. In some examples, the actuators 210 may include electric motors, pneumatic actuators, hydraulic actuators, piezoelectric actuators, relays, and / or switches.

[0035] The drive shaft 212 is further shown connected to the movable crosshead 120 such that movement of the drive shaft(s) 212 via the actuator(s) 210 results in movement of the movable crosshead 120. Although the term drive shaft 212 is used in the example of Figure 2, in some examples the drive shaft 212 may be some other mechanical means for moving the movable crosshead 120 despite guidance from the actuator(s) 210.

[0036] The example materials testing machine 102 further includes a controller 214 in electrical communication with the actuator(s) 210. In some examples, the controller 214 may include processing circuitry and / or memory circuitry. In some examples, the controller 214 may be configured to control the materials testing machine 102 based on one or more commands, control inputs, and / or test parameters. In some examples, the controller 214 may be configured to convert commands, control inputs, and / or test parameters (e.g., received from the computing system 200) into appropriate (e.g., electrical) signals that can be delivered to the actuator(s) 210, thereby controlling the operation of the materials testing machine 102 (e.g., via the actuator(s) 210). For example, the controller 214 may provide one or more signals instructing the actuator(s) 210 to provide more or less power, thereby increasing or decreasing the applied force.

[0037] In the example of FIG. 2 , controller 214 is also in electrical communication with fixture 122 (e.g., gripper 124 and test sensor(s) 126). In some examples, controller 214 may be configured to convert commands, control inputs, and / or test parameters (e.g., received from computing system 200) into appropriate (e.g., electrical) signals that can be delivered to gripper 124 to thereby control the operation of gripper 124 (e.g., gripping or releasing). In some examples, controller 214 may be configured to convert commands, control inputs, and / or parameters (e.g., received from computing system 200) into appropriate (e.g., electrical) signals that can be delivered to sensor(s) 126 to thereby control the operation of sensor(s) 126. In some examples, controller 214 may be configured to convert measurement data received from sensor(s) 126 and / or transmit measurement data to computing system 200.

[0038] The example controller 214 is also in electronic communication with a control panel 216 of the materials testing machine 102. In some examples, the control panel 216 may include one or more input devices (e.g., buttons, switches, slides, knobs, microphones, dials, and / or other electromechanical input devices). In some examples, the control panel 216 may be used by an operator to directly control the materials testing machine 102. In some examples, the controller 214 may be configured to convert commands, control inputs, and / or test parameters received via the control panel 216 into appropriate (e.g., electrical) signals that can be delivered to the actuator(s) 210 and / or gripper(s) 124 to control the materials testing machine 102.

[0039] The controller 214 is also shown in electrical communication with a communication interface 218b of the materials testing machine 102. In some examples, the communication interface 218b includes a network interface. In some examples, the communication interface 218b includes hardware, firmware, and / or software for connecting the materials testing machine 102 to a complementary workstation communication interface 218a of the computing system 200. In some examples, the controller 214 may receive information (e.g., commands) from the computing system 200 through the communication interface 218 and / or send information (e.g., measurement data from the sensor(s) 126) to the computing system 200 through the workstation communication interface 218.

[0040] 2, computing system 200 includes a test workstation 202 and a user interface (UI) 204 interconnected with each other. As shown, UI 204 may include one or more input devices 206 configured to receive input from a user and one or more output devices 208 configured to provide output to the user.

[0041] In some examples, the one or more input devices 206 may include one or more touchscreens, mice, keyboards, buttons, switches, slides, knobs, microphones, dials, and / or other input devices 206. In some examples, the one or more output devices 208 may include one or more displays / touchscreens, speakers, lights, tactile devices, and / or other output devices 208. In some examples, the output device(s) 208 (e.g., display screen) of the UI 204 may output one or more representations of a materials testing process 250 configured to enable a user to set up and / or execute a test method and / or analyze test results of the test method. In some examples, the input device(s) 206 of the UI 204 may receive input from a user and may send input data representing the user input to the testing workstation 202.

[0042] 2, the example test workstation 202 includes workstation communication interfaces 218a. In some examples, one or more of the workstation communication interfaces 218a is a network interface. In some examples, one or more of the workstation communication interfaces 218a comprises hardware, firmware, and / or software configured to facilitate communication between the workstation 202 and one or more external networks, systems, and / or devices.

[0043] As shown, one workstation communication interface 218a communicates with a communication interface 218b of the materials testing machine 102 through cable 106. As shown, the test workstation 202 further includes a workstation communication interface 218a that communicates with a network 220 (e.g., the Internet). In the example of FIG. 2, the test workstation 202 communicates with a remote interface 230 through the network 220 and the workstation communication interface 218a. In some examples, the test workstation 202 may communicate with one or more other test systems, servers, and / or other devices through the network and / or the workstation communication interface(s) 218a. As shown, the workstation communication interface 218a is electrically connected to a common electrical bus 219 of the test workstation 202.

[0044] In some examples, the test workstation 202 may be a computing device. In the example of FIG. 2, the test workstation 202 includes workstation processing circuitry 224 connected to the common electrical bus 219. In some examples, the workstation processing circuitry 224 may include one or more processors. In some examples, the workstation processing circuitry 224 is configured to process information received from the UI 204, the data import device(s) 108, and / or the materials testing machine 102.

[0045] In some examples, the workstation processing circuitry 224 is configured to send commands and / or test parameters to the materials testing machine 102 (e.g., via the communication interface(s) 218a). In some examples, the workstation processing circuitry 224 is configured to output information to an operator through the UI 204. In some examples, the workstation processing circuitry 224 is configured to execute machine-readable instructions stored in the workstation memory circuitry 226.

[0046] 2, the testing workstation 202 further includes a workstation memory circuitry 226 connected to the common electrical bus 219. As shown, the workstation memory circuitry 226 includes a materials testing process 250. In some examples, the materials testing process 250 includes machine-readable instructions. In some examples, the workstation processing circuitry 224 is configured to execute the machine-readable instructions of the materials testing process 250 to communicate with the materials testing machine 102 (e.g., the controller 214 of the materials testing machine 102) and perform tests on the materials specimens 128 (e.g., via execution of the test file 402).

[0047] In some examples, testing of material specimens 128 is performed (and / or the test results analyzed) according to a particular test method. In some examples, the test method is defined by parameters in a test file 402 (see, e.g., FIGS. 4 and 5). Test file 402, as used herein, refers to a collection of data (e.g., stored data) representing one or more parameters (e.g., test, sample / specimen, analysis, etc.) that define (at least in part) a test method.

[0048] For example, the test parameters in the test file 402 may include the date the test is to be performed, the test's identification (e.g., number, name, type, description, etc.), the target start / end positions of the gripper(s) 124, the target start / end positions of the crosshead 120, the target distance / direction traveled by the crosshead 120, the target speed of travel of the crosshead 120, the expected result(s) of the test (e.g., location / type of failure, distance traveled before failure, force applied before failure, post-test properties of the specimen, etc.), the time(s) at which the sensor(s) 126 should take the measurement(s), and / or other matters relevant to the particular test method.

[0049] As another example, the test subject parameters may include the date the test subject 128 was manufactured / shipped / packaged, the identification of the test subject 128 (e.g., number, name, description, etc.), the pre-test characteristics of the test subject 128 (e.g., actual size / dimensions, material type, weight, color, shape, modulus, ultimate tensile strength, etc.), and / or other information related to the particular test subject 128. As another example, the analysis parameters may include one or more algorithms that may be used to evaluate the results of the test method (and / or generate additional test results), one or more test result report formats, and / or one or more thresholds and / or threshold ranges (e.g., that may adjudicate the test results to determine whether the test subject 128 passed or failed the test). In some examples, the parameters represented by the test file 402 may be used to set up and / or run a test method and / or analyze subsequent test results of the test method.

[0050] 3 shows an example of a distributed materials testing system 300 having a central data repository 400 that stores multiple test files 402 (see FIG. 4 ) that may be used by multiple materials testing systems 100. In some examples, storing the test files 402 in the central data repository 400 may be useful when there are several materials testing systems 100 that need to use the same test file 402, as the test file 402 can be used by any materials testing system 100 connected and / or in communication with the central data repository 400. Additionally, a single copy of the test file 402 may be stored, rather than each materials testing system 100 having its own copy. Storing a single central copy of the test file 402 in the central data repository 400 not only conserves memory space, but also helps ensure that each materials testing system 100 is using the same test file 402 (and thereby running the same test methodology), which may be important for documentation and / or compliance with certain regulations.

[0051] In the example of Figure 3, the central data repository 400 is illustrated as part of the server memory circuitry 304 of the central server 302. Several materials testing systems 100 are illustrated as connected to (and / or communicating with) the central server 302 through the central server communication interface 308 of the central server 302 and the network 220 (and / or the communication interface(s) 218 ​​of the test workstations 202). Although a certain number of communication interfaces 218 / 308 / 352 are illustrated in the examples of Figures 2 and 3, this number is merely exemplary. In some examples, there may be more or fewer communication interfaces 218 / 308 / 352. Through a connection with the central server 302 (e.g., facilitated by the communication interfaces 218 / 308), the materials testing systems 100 are connected to (and / or communicate with) the central data repository 400.

[0052] 3, central server 302 further includes server processing circuitry 306. In some examples, server processing circuitry 306 may comprise one or more processors. In some examples, server processing circuitry 224 is configured to execute machine-readable instructions stored on server memory circuitry 304 and / or query central data repository 400.

[0053] 3, the distributed materials testing system 300 also includes multiple local servers 350. As shown, each local server 350 is directly connected to (and / or communicates directly with) a materials testing system 100 (e.g., a test workstation 202) rather than being connected through the communications network 220. In this arrangement, the local servers 350 remain available and / or accessible to the materials testing system 100 even if the communications network 220 and / or the central server 302 become inaccessible.

[0054] 3 as being separate from the materials testing system 100, in some examples, one or more of the local servers 350 may be implemented by one or more test workstations 202 of the connected materials testing system 100. For example, components of a test workstation 202 may operate (at least some times and / or in some capacity) as components of a local server 350. As another example, machine-readable instructions of the testing process 250 and / or machine-readable instructions stored in the workstation memory circuitry 226 may enable a test workstation 202 to operate (at least some times) as a local server 350.

[0055] While a certain number of materials testing systems 100 and / or local servers 350 are shown in the example of Figure 3, in some examples, more or fewer materials testing systems 100 and / or local servers 350 may be connected to the central server 302 and / or central data repository 400. The central data repository 400 is shown in the example of Figure 3 as part of the server memory circuitry 304 of the central server 302, but in some examples, it may alternatively or additionally be separate from the central server 302. In such examples, the central server communication interface(s) 308 may further communicate with the central data repository 400.

[0056] 3, each local server 350 is also communicatively connected to communications network 220 and is connected through communications network 220 to central data repository 400 (e.g., via central server 302). Through this communications link, local servers 350 can create and / or maintain local copies of selected files / data stored in central data repository 400 in local data repository 500. In some examples, when access to central data repository 400 and / or communications network 220 is restored after an interruption, local servers 350 can also synchronize the centralized files / data stored in central data repository 400 with the local files stored in local data repository 500.

[0057] Figure 3 further illustrates components of a local server 350. Due to space constraints, the example of Figure 3 shows the components of only one local server 350 in detail, but it should be understood that other local servers 350 may include similar (or identical) components.

[0058] 3, each local server 350 includes several local server communication interfaces 352. In some examples, one or more of the local server communication interfaces 352 is a network interface. In some examples, one or more of the workstation communication interfaces 218a comprises hardware, firmware, and / or software configured to facilitate communication between the local server 350 and one or more external networks, systems, and / or devices.

[0059] As shown, a local server communication interface 352 connects the local server 350 to the materials testing system 100. The local server communication interface 352 further connects the local server 350 to the communication network 220 and (e.g., via the communication network 220) to the central data repository 400 and / or the central server 302. Figure 3 also shows the local server communication interface 352 connecting the local server 350 to the local data repository 500 in instances where the local data repository 500 is not part of the local server 350.

[0060] In the example of FIG. 3 , the local server 350 includes a local data repository 500 as part of the local server memory circuitry 354 of the local server 350. The local server 350 is also shown as including local server processing circuitry 356. The local server processing circuitry 356, the local server memory circuitry 354, and the local server communication interface 352 are all interconnected via a local server bus. In some examples, a materials testing system 100 connected to the local server 350 may access the local data repository 500 via one or more signals communicated across the local server bus between the local server memory circuitry 354 and / or the local server communication interface 352. In some examples, the local data repository 500 may be external to the local server 350 rather than internal to it, and / or may be in communication with the local server 350, as indicated by the dotted lines in FIG. 3 .

[0061] 4 and 5 show examples of central data repository 400 and local data repository 500 and the data each may store. In some examples, central data repository 400 and / or local data repository 500 may include one or more different data structures (e.g., databases, file systems, lookup tables, etc.).

[0062] The example of Figure 4 shows a central data repository 400 that stores several different test files 402. In some examples, these different test files 402 may define different test methods. In some examples, the different test files 402 may be used to test different types of material specimens 128. In some examples, the different test files 402 may be designed to perform test methods on different types of material testing machines 102.

[0063] 4 further illustrates the central data repository 400 as storing several different types of settings 404. In some examples, the settings 404 may include files and / or other data related to the properties, characteristics, and / or configuration of the distributed materials testing system 300. For example, the security settings 404a may represent the permissions and / or authorizations of one or more users and / or one or more teams. As another example, the security settings 404a may indicate which data, test files 402, and / or test system 100 each user and / or team is authorized to use and / or access.

[0064] As another example, traceability settings 404b may indicate requirements for a test file 402 to be approved for use as the primary ("active") test file 402 from among other versions and / or drafts of the test file 402. As another example, team settings 404c may indicate which users belong to which teams and / or which team members are team leaders. As another example, user settings 404d may indicate user login information (e.g., username, password, biometrics, etc.) and / or account information (e.g., name, identification number, certificate, etc.).

[0065] 4 further illustrates the central data repository 400 as storing event records 406 relating to one or more events that occur during use of one or more different materials testing systems 100. For example, the event records 406 may indicate the dates / times when users logged in / out and / or which users logged in / out. As another example, the event records 406 may indicate the dates / times when users created, modified, and / or deleted test files 402 and / or settings 404 and / or which users created, modified, and / or deleted which test files 402 and / or settings 404. As another example, the event records 406 may indicate the dates / times of failed login attempts, errors, malfunctions, system crashes, failures, or some other unexpected and / or undesirable event, as well as a description and / or type of the failure, error, malfunction, failure, etc.

[0066] 4 further illustrates the central data repository 400 as storing test results 410. In some examples, the test results 410 may include data representing the results of one or more tests performed using the materials testing machine 102 of the materials testing system 100. While the test results 410 of a test are shown separately in the example of FIG. 4, in some examples they may be stored as part of the test file 402.

[0067] 5 illustrates a local data repository 500a that stores copies of some of the test files 402, settings 404, and / or event records 406 stored by the central data repository 400. In some examples, local copies of the test files 402, settings 404, event records 406, test results 410, and / or other files / data stored by the central data repository 400 may be stored in the local data repository 500 so that the materials testing system(s) 100 can continue testing even if access to the central data repository 400 and / or the communication network 220 is temporarily interrupted. In some examples, without such local copies, it may be difficult (or impossible) for the materials testing system(s) 100 to continue testing when access to the central data repository 400 and / or the communication network 220 is interrupted.

[0068] However, not all of the data stored by the central data repository 400 is shown as being copied and / or stored in the local data repositories 500a in the example of Figure 5. This is to illustrate that in some examples, the distributed materials testing system 300 may be customized such that only certain test files 402, settings 404, event records 406, test results 410, and / or other files / data are replicated and stored in particular local data repositories 500. Additionally, in some examples, the distributed materials testing system 300 may prohibit some test files 402, settings 404, event records 406, test results 410, and / or other files / data from being replicated and / or stored in certain local data repositories 500 (and / or particular local data repositories 500).

[0069] 4, the central data repository 400 is further shown as storing accessibility data 408. In some examples, the accessibility data 408 indicates which files / data should (and / or should not) be copied and stored in which local data repositories 500. For example, the accessibility data 408 may indicate that local copies of vault test files 402a, security settings 404a, user settings 404d, and event records 406a should be stored in the local data repository 500a, while other files / data stored by the central data repository 400 should not be stored in the local data repository 500a.

[0070] 5, the local data repository 500a is also shown as storing the accessibility data 408a. In some examples, the accessibility data 408 is automatically copied and stored in each local data repository 500 of the distributed materials testing system 300. However, in some examples, the accessibility data 408 stored by each local data repository 500 is a subset of the accessibility data 408 stored by the central data repository 400.

[0071] For example, the local data repository 500a may store only the accessibility data 408a related to the materials testing system 100a. In such an example, the accessibility data 408a may indicate that because only the event record 406a relates to the materials testing system 100a, a local copy of the event record 406a should be stored in the local data repository 500a, and that reference to any other event records 406 should be omitted. Additionally, in such an example, the accessibility data 408a may indicate whether local copies of particular test files 402 should be stored in the local data repository 500a, and whether others should not be stored in the local data repository 500a. This may occur, for example, when the materials testing system 100a is authorized and / or capable of using only particular test files 402 and / or when those particular test files 402 are the only test files 402 used by the team authorized to use the materials testing system 100a.

[0072] In some examples, the local copies of files / data stored in the local data repository 500 are periodically synchronized with the original files / data stored in the central data repository 400. In some examples, this synchronization may alternatively or additionally occur in response to user input and / or one or more events, or at other (e.g., user-specified) intervals and / or times. This synchronization may ensure that any changes to the original files / data stored in the central data repository 400 are replicated to the local copies of the files / data stored in the local data repository 500. This synchronization reduces the likelihood that the local copies of the files / data stored in the local data repository 500 are significantly out of date when they are needed.

[0073] If a materials testing system 100 loses access to the central data repository 400 and / or communication network 220, the local file / data copies may be used instead by the testing system 100 connected to the local data repository 500. When access to the central data repository 400 and / or communication network 220 is restored, a back-synchronization may be performed on the local copies of the files / data stored in the local data repository 500 so that any changes made while access to the central data repository 400 was interrupted can be replicated to the corresponding original files / data stored in the central data repository 400.

[0074] In the example of Figure 3, local server memory circuitry 354 is shown as storing both local data repository 500 and local file / data access process 600. Although local file / data access process 600 is shown as part of local server 350, in some examples, a portion(s) of local file / data access process 600 may also be stored on and / or executed by central server 302. Although local file / data access process 600 is shown in the example of Figure 3 as part of local server memory circuitry 354, in some examples, local file / data access process 600 may be implemented using discrete circuitry (e.g., in local server processing circuitry 356). In some examples, local file / data access process 600 is implemented using non-transitory machine-readable instructions stored on local server memory circuitry 354 and / or executed by local server processing circuitry 356.

[0075] In some examples, the local file / data access process 600 is configured to store local copies of some specific data and / or files (e.g., used in and / or required for materials testing) in the local data repository 500 so that at least some materials testing can continue, at least to some extent, if the central data repository 400 (and / or the files / data it stores) becomes unavailable. In some examples, while the central data repository 400 and / or the communication network 220 remain accessible, the local file / data access process 600 periodically synchronizes the data and / or files stored in the local data repository 500 with their corresponding ones stored in the central data repository 400. If access to the central data repository 400 and / or the communication network 220 is temporarily interrupted, the data and / or files stored in the local data repository 500 may be used by the testing system 100 to conduct materials testing in place of the corresponding data and / or files stored in the central data repository. When access to the central data repository 400 and / or communication network 220 is restored, a back-synchronization may be performed on the local copies of the data and / or files stored in the local data repositories 500 so that any changes made while access to the central data repository 400 was interrupted can be replicated to the corresponding original data and / or files stored in the central data repository 400.

[0076] 6 is a flow diagram illustrating an example operation of local file / data access process 600. In some examples, a user may be required to log in and / or be authenticated (e.g., using a user certificate, biometrics, RFID / NFC / Bluetooth / barcode device, etc.) before using and / or navigating local file / data access process 600. While local file / data access process 600 may be described below as performing certain specific operations for purposes of understanding and convenience, one or more of the above-described components of distributed materials testing system 300 (e.g., central server processing circuitry 306, local server processing circuitry 356, remote interface(s) 230, materials testing system(s) 100, etc.) may undertake these operations on behalf of (and / or in accordance with) instructions from local file / data access process 600.

[0077] In some examples, different instances of the local file / data access process 600 may be executed for different users, different materials testing systems 100, and / or different local servers 350. In some examples, each local server 350 executes its own instance of the local file / data access process 600 for that materials testing system 100 for at least blocks 604-612 (and possibly at least a portion of block 602). In some examples, the central server 302 executes an instance of the local file / data access process 600 for at least a portion of blocks 602 and 614.

[0078] 6 , the local file / data access process 600 begins at block 602, where the local file / data access process 600 identifies a subset of files / data stored by the central data repository 400 that should remain accessible to the local file / data access process 600 if the central data repository 400 becomes inaccessible (e.g., to the associated materials testing system 100). In some examples, this local file / data subset includes one or more test files 402, settings 404, and / or event records 406 stored by the central data repository 400. In some examples, the identification of this local file / data subset is based on accessibility data 408 stored in the central data repository 400 and / or the local data repository 500.

[0079] In some examples, the local file / data access process 600 prompts the user (e.g., via the UI 204 and / or the remote interface 230) to identify some or all of the local file / data subset. In some examples, the local file / data access process 600 updates the accessibility data 408 stored in the central data repository 400 and / or the local data repository 500 based on the user input. In some examples, the identification of the local file / data subset is based on and / or in response to input from the user (e.g., received via the UI 204 and / or the remote interface 230) identifying some or all of the data subset.

[0080] 7a illustrates an example of a graphical user interface (GUI) 700a that may be presented to a user (e.g., via UI 204 and / or remote interface 230) at block 602 of local file / data access process 600. As illustrated, GUI 700a includes a file folder explorer window that allows a user to navigate the file system of central data repository 400 to locate particular files / data (e.g., test files 402, settings 404, and / or event records 406) stored by central data repository 400.

[0081] In some examples, a file folder explorer window of GUI 700a allows a user to select a particular file folder. In the example of FIG. 7a, a list of files within the particular file folder that has been selected is shown via a file list window of GUI 700a. A file attributes window corresponding to the wire test file 402 selected via the file list window is also shown.

[0082] In the example of Figure 7a, the file attributes window of GUI 700a shows the attributes of a file selected via the file list window. As shown, the file attributes window allows the user to select different versions of the file (e.g., via a clock icon) and also prompts the user to select whether the local file / data access process 600 should keep the file accessible if the central data repository 400 becomes inaccessible (e.g., via a Keep Available Offline checkbox). In some examples, the local file / data access process 600 identifies files / data for inclusion in the local file / data subset (and / or updates the accessibility data 408) in block 602 based on whether the user checks the Keep Available Offline checkbox in the file attributes window.

[0083] In some examples, the local file / data access process 600 automatically identifies certain files / data for inclusion in the local file / data subset identified in block 602. For example, a user may identify certain test files 402 for inclusion in the local file / data subset, and the local file / data access process 600 may determine that the user-identified test files 402 are to be used only by certain users / teams on a certain subset of materials testing machines 102 and / or materials testing systems 100. Based on determining which materials testing machines 102 and / or materials testing systems 100 correspond to the user-selected test files 402, the local file / data access process 600 may automatically identify the event records 406 for the determined materials testing machines 102 and / or materials testing systems 100 for inclusion in the local data subset (and / or update the accessibility data 408 accordingly).

[0084] In some examples, the local file / data access process 600 may prohibit the selection of some specific files / data for inclusion in the local file / data subset identified in block 602. For example, the local file / data access process 600 may allow an administrator (e.g., as identified by security settings 404a) to select some specific test files 402 that should not be stored in one or more specific local data repositories 500 and / or any local data repositories 500. In such examples, the accessibility data 408 may be updated to reflect the administrator's selection. In such examples, the local file / data access process 600 may further prohibit the user from selecting / identifying the test files 402 identified / selected by the administrator, such as by graying out or otherwise preventing the user from interacting with the "Keep Available Offline" box in the file attributes window of GUI 700a of FIG. 7a.

[0085] As another example, the local file / data access process 600 may allow an administrator to select / specify whether settings 404 can and / or should be saved to the local data repository 500. In some examples, if all or part of the settings 404 are unavailable and / or inaccessible, the materials testing system 100 may be unable to set up a test (or test setup may be severely hindered). Thus, by selecting that settings 404 cannot be saved to the local data repository 500 corresponding to a particular materials testing system 100, the administrator may be able to effectively disable the particular materials testing system 100 from performing test operations when it is disconnected from the central data repository 400. In some examples, the accessibility data 408 may be updated to reflect the administrator's selection.

[0086] 6, after block 602, the local file / data access process 600 proceeds to block 604, where the local file / data access process 600 makes one or more copies of the centrally stored files / data identified in block 602. These copied files / data are then stored locally in one or more local data repositories 500.

[0087] In some examples, local copies of all of the local files / data subsets identified in block 602 are stored in each local data repository 500 of the distributed materials testing system 300 in block 604. In some examples, local copies of all of the local files / data subsets identified in block 602 are stored in only a particular subset of the local data repositories 500 of the distributed materials testing system 300 in block 604. In some examples, some local copies of some of the local files / data subsets identified in block 602 are stored in some of the local data repositories 500 of the distributed materials testing system 300, while other local copies of some other portions of the local files / data subsets are stored in other local data repositories 500 in block 604. In some examples, which particular copies of the local files / data subsets identified in block 602 are stored in which particular local data repositories 500 in block 604 is based (e.g., at least in part) on file accessibility data 408.

[0088] For example, the local file / data access process 600 may store files / data identified / selected by a particular user for offline storage in the local data repository 500 of the materials testing systems 100 that the user is authorized to use. In such an example, the local file / data access process 600 may identify the user based on the credentials provided by the user when the user logs in and may identify the user as part of a particular team based on the team settings 404c. The team settings 404c may further identify the user's particular team as authorized to perform tests on the materials testing systems 100 of the distributed materials testing system 300 / as using only a subset of the materials testing systems 100 of the distributed materials testing system 300. In such an example, the accessibility data 408 may indicate (and / or be updated to indicate) that the local file / data access process 600 need only store local copies of the files / data selected by the user to be available in the local data repository 500 of the materials testing systems 100 that the user's team is authorized to perform tests on.

[0089] Additionally or alternatively, in such examples, the local file / data access process 600 may store a local copy of the event record 406 for each materials testing system 100 on which the user's team is authorized to perform tests (and / or that matches the test file(s) 402 identified in block 602). Additionally or alternatively, in such examples, the local file / data access process 600 may store a local copy of some or all of the settings 404 (and / or that matches the test file(s) 402 identified in block 602) that the user's team needs to perform tests using the materials testing systems 100 on which they are authorized to perform tests.

[0090] In the example of FIG. 6 , after block 604, the local file / data access process 600 proceeds to block 606, where the local file / data access process 600 periodically synchronizes the local file / data copies stored in the local data repository 500 in block 604 with their file / data counterparts stored in the central data repository 400. In some examples, this synchronization ensures that any changes to the original files / data stored in the central data repository 400 are replicated to the local file / data copies stored in the local data repository 500. In some examples, the synchronization in block 606 involves comparing each local file / data copy in the local data repository 500 with the corresponding original file / data in the central data repository 400 and updating the local file / data copy based on any differences. In some examples, updating the local file / data copy may involve replacing the local file / data copy with a new copy if a difference is detected. In some examples, the comparison may be omitted and the local file / data access process 600 may simply periodically replace each local file / data copy with a new copy while the central data repository 400 remains accessible.

[0091] After block 606, the local file / data access process 600 proceeds to block 608, where the local file / data access process 600 determines whether the central data repository 400 and / or the communication network 220 remain connected and / or accessible to each materials testing system 100 (e.g., each of its test workstations 202). In some examples, this determination may involve sending one or more test signals across the communication network 220 and / or to / from the central data repository 400, the central server 302, the local server 350, and / or the test workstations 202. In some examples, this determination is made by the local file / data access process 600 only for certain materials testing systems 100 (e.g., where multiple instances of the local file / data access process 600 are running simultaneously). If the central data repository 400 and / or the communication network 220 remain connected and / or accessible, the local file / data access process 600 returns to block 602.

[0092] If the local file / data access process 600 determines that the central data repository 400 and / or communication network 220 have become disconnected and / or inaccessible from a particular materials testing system 100 (and / or corresponding test workstation 202), the local file / data access process 600 proceeds to block 610. In block 610, the local file / data access process 600 makes the local file / data copies stored in the local data repository 500 of each disconnected materials testing system 100 available to the corresponding materials testing workstation 202. For example, a test workstation 202 may typically be configured to reference the central data repository 400 for files / data used in testing (e.g., if the centralized files / data are more up-to-date than the local copies). In such an example, in block 610, the local file / data access process 600 may reconfigure the test workstation 202 to instead obtain files / data needed for testing from the local data repository 500. In some examples, the materials testing system(s) 100 may perform one or more tests using local file / data copies while disconnected from the central data repository 400 .

[0093] 7b illustrates an example of a GUI 700b that may be presented to a user (e.g., via UI 204) when access to and / or connection with central data repository 400 and / or communication network 220 is interrupted. As illustrated, GUI 700b includes a notification to the user that access to and / or connection with central data repository 400 and / or communication network 220 has been interrupted. In addition, the file list window of GUI 700b indicates that most of the files previously shown in GUI 700a of FIG. 7a are no longer available and / or accessible. Because wire test file 402 was the only file identified / selected (e.g., in GUI 700a of FIG. 7a) as available when central data repository 400 and / or communication network 220 was interrupted, the file list window of GUI 700b only shows wire test file 402 in the selected files folder as accessible.

[0094] 6, after block 610, the local file / data access process 600 proceeds to block 612, where the local file / data access process 600 checks whether the materials testing system(s) 100 that were found to be disconnected from the central data repository 400 and / or communication network 220 in block 608 are still disconnected. In some examples, this check may be similar (and / or the same) as the check made in block 608. In some examples, if a particular materials testing system 100 is still disconnected, the local file / data access process 600 returns to block 610 for that materials testing system 100. In some examples, if a particular materials testing system 100 has been reconnected, the local file / data access process 600 proceeds to block 614 for that particular materials testing system 100 (and / or local data repository 500).

[0095] 6 , in block 614, the local file / data access process 600 synchronizes the original files / data stored in the central data repository 400 with the local files / data stored in the local data repository 500. In some examples, this synchronization may be substantially the reverse of the synchronization described with respect to block 606. In some examples, this reverse synchronization ensures that any changes made to the local files / data stored in the local data repository 500 while access to the central data repository 400 and / or the communication network was interrupted can be replicated to the files / data stored in the central data repository 400 once access is restored. In some examples, the reverse synchronization in block 614 occurs only in response to user input (e.g., received via the UI 204 and / or remote interface(s) 230) requesting a synchronization.

[0096] In some instances, conflicts may arise during the resynchronization of block 614. For example, a test file 402 stored in the central data repository 400 may be updated (e.g., via the UI 204 and / or the remote interface 230) while the materials testing system 100 was disconnected from the central data repository 400. If a local copy of the same test file 402 was also updated (e.g., differently) in the corresponding local data repository 500 while the materials testing system 100 was disconnected, a conflict will arise regarding which test file 402 should remain in the central data repository 400 when the materials testing system 100 reconnects with the central data repository 400.

[0097] In some examples, the local file / data access process 600 may perform some conflict resolution in block 614. For example, the local file / data access process 600 may resolve conflicts by overwriting centrally stored files / data with locally stored files / data, renaming locally (and / or centrally) stored files / data, and / or moving locally (and / or centrally) stored files / data prior to resynchronization. In some examples, settings 404 may be prevented from being moved and / or renamed to resolve conflicts (e.g., if the names and / or storage locations of the settings are hard-coded within the distributed materials testing system 300). In some examples, the local file / data access process 600 may determine the conflict resolution path based on input from a user and / or administrator.

[0098] 7c illustrates an example of a GUI 700c that includes a conflict resolution window that may be presented to the user at block 614 if there is a conflict. As shown, the conflict resolution window notifies the user that a conflict exists regarding wire test files 402 that are stored in the local data repository 500 and also exist in the central data repository 400. The conflict resolution window further provides the user with the option to cancel the resynchronization, overwrite the central copy of the test file 402 with the local copy, rename the central and / or local copies of the test file 402, or relocate the central and / or local copies of the test file 402. After the file resynchronization at block 614, the local file / data access process 600 is shown returning to block 602 in the example of FIG. 6 (although in some examples, the local file / data access process 600 may instead terminate).

[0099] The disclosed distributed materials testing system 300 and local file / data access process 600 stores local copies of selected files / data (e.g., used for materials testing) in the local data repository 500 so that at least some materials testing can continue, at least in some capacity, if the central data repository 400 and / or communication network 220 become inaccessible. If access to the central data repository 400 and / or communication network 220 is temporarily interrupted, the data and / or files stored in the local data repository 500 may be used by the testing system 100 to conduct materials testing. When access to the central data repository 400 and / or communication network 220 is restored, the central data repository 400 and the local data repositories 500 may be resynchronized so that any changes to the data and / or files stored in the local data repository 500 made while access to the central data repository 400 was interrupted can be replicated to the corresponding data and / or files stored in the central data repository 400.

[0100] The methods and / or systems can be implemented in hardware, software, and / or a combination of hardware and software. The methods and / or systems can be implemented centrally in at least one computing system, or in a distributed manner where different elements are distributed across several interconnected computing or cloud systems. Any kind of computing system or other device adapted to perform the methods described herein is suitable. A typical combination of hardware and software can be a general-purpose computing system with programs or other code that, when loaded and executed, controls the computing system to perform the methods described herein. Another typical embodiment can include an application-specific integrated circuit or chip. Some embodiments can include a non-transitory machine-readable (e.g., computer-readable) medium (e.g., a flash drive, optical disk, magnetic storage disk, etc.) that stores one or more lines of machine-executable code, thereby causing the machine to perform a process as described herein.

[0101] While the present method and / or system has been described with reference to several specific embodiments, those skilled in the art will recognize that various modifications can be made and equivalents can be substituted without departing from the scope of the present method and / or system. In addition, many modifications can be made to adapt a particular situation or material to the teachings of the present disclosure without departing from the scope of the present disclosure. Therefore, the present method and / or system is not limited to the particular embodiments disclosed, but it is intended that the present method and / or system include all embodiments falling within the scope of the appended claims.

[0102] As used herein, "and / or" means any one or more of the items in the list connected by "and / or." As an example, "x and / or y" means any element of the three-element set {(x), (y), (x,y)}. In other words, "x and / or y" means "one or both of x and y." As another example, "x, y and / or z" means any element of the seven-element set {(x), (y), (z), (x,y), (x,z), (y,z), (x,y,z)}. In other words, "x, y and / or z" means "one or more of x, y and z."

[0103] As used herein, the term "for example" begins a list of one or more non-limiting examples, instances, or illustrations.

[0104] As used herein, the terms "coupled," "coupled to," and "coupled with" mean a structural and / or electrical connection, whether attached, adhered, connected, joined, fastened, coupled, and / or otherwise secured. As used herein, the term "attach" means attached, adhered, connected, joined, fastened, coupled, and / or otherwise secured. As used herein, the term "connect" means attached, adhered, connected, joined, fastened, coupled, and / or otherwise secured.

[0105] As used herein, the terms “circuitry” and “circuitry” refer to physical electronic components (i.e., hardware) and any software and / or firmware (“code”) that can comprise, be executed by, and / or be otherwise associated with hardware. As used herein, for example, a particular processor and memory can comprise a first “circuit” when executing a first one or more lines of code, and can comprise a second “circuit” when executing a second one or more lines of code. As used herein, whenever circuitry includes the hardware and / or code (if either is necessary) necessary to perform a function, the circuitry is “operable” and / or “configured” to perform that function, regardless of whether performance of that function is disabled or enabled (e.g., by a user-configurable setting, factory trim, etc.).

[0106] As used herein, control circuitry can include digital and / or analog circuitry, discrete and / or integrated circuitry, microprocessors, DSPs, etc., software, hardware, and / or firmware located on one or more boards that form part or all of a controller and / or are used to control the welding process and / or equipment such as a power supply or wire feeder.

[0107] As used herein, the term "processor" refers to processing units, devices, programs, circuits, components, systems, and subsystems, whether implemented in hardware, tangibly embodied software, or both, and whether programmable or not. As used herein, the term "processor" includes, but is not limited to, one or more computing devices, hardwired circuits, devices and systems that modify signals, devices and machines for controlling systems, central processing units, programmable devices and systems, field programmable gate arrays, application specific integrated circuits, systems-on-chips, systems comprising discrete elements and / or circuits, state machines, virtual machines, data processors, processing facilities, and any combination of the above. A processor may be, for example, any type of general-purpose microprocessor or general-purpose microcontroller, a digital signal processing (DSP) processor, an application specific integrated circuit (ASIC), a graphics processing unit (GPU), a reduced instruction set computer (RISC) processor with an advanced RISC machine (ARM) core, etc. A processor may be coupled to and / or integrated into a memory device.

[0108] As used herein, the terms "memory" and / or "memory device" refer to computer hardware or circuitry that stores information for use by a processor and / or other digital device. The memory and / or memory device can be any suitable type of computer memory or any other type of electronic storage medium, such as read-only memory (ROM), random access memory (RAM), cache memory, compact disc read-only memory (CDROM), electro-optical memory, magneto-optical memory, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), computer-readable medium, etc. Memory may include, for example, non-transitory memory, non-transitory processor-readable medium, non-transitory computer-readable medium, non-volatile memory, dynamic RAM (DRAM), volatile memory, ferroelectric RAM (FRAM®), first-in-first-out (FIFO) memory, last-in-first-out (LIFO) memory, stacked memory, non-volatile RAM (NVRAM), static RAM (SRAM), cache, buffer, semiconductor memory, magnetic memory, optical memory, flash memory, flash card, CompactFlash® card, memory card, secure digital memory card, micro card, mini card, expansion card, smart card, memory stick, multimedia card, picture card, flash storage, subscriber identity module (SIM) card, hard drive (HDD), solid state drive (SSD), etc. Memory may be configured to store code, instructions, applications, software, firmware, and / or data and may be external, internal, or both to the processor.

Claims

1. When executed by the processing circuitry: determining, based on file accessibility data, whether remote files stored in the remote data repository should remain accessible when the remote data repository or a communications network connecting a test workstation to the remote data repository becomes inaccessible to the test workstation; In response to determining that the remote file should remain accessible, creating a local file copy of the remote file and storing the local file copy; periodically updating the local file copy based on the remote file while the remote data repository remains accessible to the test workstation over the communications network; making the local file copy available to the test workstation in response to the remote data repository or the communications network being inaccessible to the test workstation; a non-transitory computer-readable medium comprising machine-readable instructions that cause the processing circuitry to perform the steps of:

2. The remote file is a remote test file defining how to perform a test on a material specimen in a materials testing machine or how to analyze the test results of said test; a test result file representing the test results; a remote event record indicating when one or more events occurred during use of a materials testing system, the materials testing system comprising the materials testing machine and a testing workstation configured to control the materials testing machine to perform the tests on the materials specimens; or Remote settings, which represent security settings, traceability settings, user settings, or team settings; 10. The non-transitory computer-readable medium of claim 1, comprising:

3. 3. The non-transitory computer-readable medium of claim 2, wherein the security settings indicate which users have permission to access, edit, or execute a test file, or the traceability settings indicate how many reviews are required before a test file can become active.

4. The non-transitory computer-readable medium of claim 2 , wherein the user settings indicate a user's identifier or credentials, or the team settings indicate a particular team to which a particular user belongs.

5. The machine-readable instructions, when executed by processing circuitry, periodically determining whether changes have been made to the remote files while the remote data repository remains accessible to the test workstations over the communications network; updating the local file copy based on the changes to the remote file in response to determining that the changes have been made to the test file; The non-transitory computer-readable medium of claim 1 , further causing the processing circuitry to perform:

6. 2. The non-transitory computer-readable medium of claim 1, wherein the machine-readable instructions, when executed by processing circuitry, further cause the processing circuitry to transmit the local test file copy to the remote data repository after the remote data repository or the communication network becomes accessible to the test workstation again.

7. 2. The non-transitory computer-readable medium of claim 1, wherein the machine-readable instructions, when executed by processing circuitry, further cause the processing circuitry to update the file accessibility data based on the one or more file accessibility signals received from a user interface, the one or more file accessibility signals indicating whether the remote file should remain accessible when the remote data repository is inaccessible to the test workstation.

8. a materials testing machine comprising a testing machine sensor, a testing machine actuator, and a testing machine controller configured to control the testing machine actuator; a test workstation configured in communication with the testing machine controller to perform tests on the materials testing machine according to a test method defined in a test file or to analyze test results of the tests; a remote data repository for storing remote test files, the remote data repository communicatively coupled to the test workstations over a communications network; a local data repository; a local server comprising or in communication with the local data repository; Equipped with The local server communicates with the remote data repository over the communication network, the local server: determining whether the remote test files should remain accessible when the test workstation is disconnected from the communications network or the remote data repository based on file accessibility data; responsive to determining that the remote test file should remain accessible, storing a local test file copy of the remote test file in the local data repository; periodically updating or creating new versions of the local test file copies based on the remote test files while the local server remains in communication with the remote data repository over the communications network; making the local test file copy available to the testing workstation to perform the test using the materials testing machine or analyze the test results in response to the testing workstation being disconnected from the communications network or the remote data repository; 1. A materials testing system comprising: a server processing circuitry configured to:

9. 9. The materials testing system of claim 8, wherein the test workstation communicates directly with the local server or the local data repository rather than communicating with the local server or the local data repository through the communications network, or the test workstation comprises the local server or the local data repository.

10. The server processing circuit unit periodically determining whether changes have been made to the remote test files while the local server is in communication with the remote data repository over the communications network; responsive to determining that the changes have been made to the remote test file, updating the local test file copy based on the changes to the remote test file or creating the new version of the local test file copy based on the remote test file; 10. The materials testing system of claim 8 configured to:

11. 9. The materials testing system of claim 8, wherein the local server is configured to transmit the local test file copy to the remote data repository after the test workstation is reconnected with the communications network or the remote data repository.

12. The materials testing system of claim 11 , wherein the remote data repository is configured to update the remote test file based on differences between the remote test file and the local test file copy.

13. a user interface in communication with the test workstation; 9. The materials testing system of claim 8, wherein the user interface is configured to receive input from a user indicating whether the remote test files should remain accessible when the remote data repository is inaccessible.

14. 14. The materials testing system of claim 13, wherein the testing workstation is configured to send one or more file accessibility signals to the local server based on the input, and the local server is configured to update the file accessibility data based on the one or more file accessibility signals.

15. determining, by server processing circuitry, whether remote test files should remain accessible to the test workstation when the remote data repository or a communications network connecting the test workstation to the remote data repository becomes inaccessible to the test workstation based on file accessibility data stored in the remote data repository or a local data repository; storing, by the server processing circuitry, a local test file copy of the remote test file in the local data repository in response to determining that the remote test file should remain accessible; periodically updating, by the server processing circuitry, the local test file copies based on the remote test files while the remote data repository remains accessible to the test workstations over the communications network; making the local test file copy available to the test workstation by the server processing circuitry in response to the remote data repository or the communication network becoming inaccessible to the test workstation; A method comprising:

16. 16. The method of claim 15, wherein the local data repository is directly accessible to the test workstation rather than being accessible through the communications network, or the test workstation comprises the local data repository.

17. periodically determining, by the server processing circuitry, whether changes have been made to remote test files while the local server remains in communication with the remote data repository over the communications network; updating, by the server processing circuitry, the local test file copy based on the changes to the remote test file in response to determining that the changes have been made to the remote test file; 16. The method of claim 15, further comprising:

18. 16. The method of claim 15, further comprising transmitting, by the server processing circuitry, the local test file copy to the remote data repository after the remote data repository and the communications network become accessible again to the test workstation.

19. determining, by the server processing circuitry, whether to update the remote test file based on differences between the remote test file and the local test file copy; In response to determining to update the remote test file, updating the remote test file based on differences between the remote test file and the local test file copy; 20. The method of claim 18, further comprising:

20. updating the file accessibility data based on user input received via a user interface in communication with the test workstation; 16. The method of claim 15, wherein the user input indicates whether the remote test files should remain accessible to the test workstation when the remote data repository is inaccessible to the test workstation.